Últimamente los hábitos de los desarrolladores de videojuegos están cambiando. Los esquemas tradicionales no terminan de funcionar o son inadecuados a la forma de jugar hoy día. Sin embargo, todavía quedan algunos malos hábitos que conviene ir abandonando. Hoy os voy a hablar de las famosas pantallas de carga.

Algunos juegos ya han eliminado casi por completo los tiempos de carga, y me refiero a juegos grandes. Sin embargo otros, principalmente por utilizar tecnología más antigua (que no mala, como el motor Source de Valve) no tienen carga de niveles en segundo plano.

Mejor empezar por el principio ¿porqué hay tiempos de carga?. Principalmente, los tiempos de carga existen cuando se necesita un acceso rápido a un conjunto de datos, y el espacio de memoria necesario no es suficientemente amplio. Generalmente suele estar relacionado a la carga de texturas en memoria de vídeo, que suele ser lo que mas tarda (junto con, posiblemente, cargar la geometría del escenario).

La música se suele hacer en streaming, así que no hay tiempos de carga como tal, así que todo este embrollo suele ser culpa de los gráficos. ¿Cómo se consigue que no haya tiempos de carga en algunas consolas? (sí, te estoy mirando a tí, DS) pues porque en lugar de utilizar discos compactos, utilizan cartuchos. En el interior de los cartuchos hay un tipo de memoria tal cual, así que es como si nos vendieran un lápiz de memoria con el juego, en lugar de un disco. Dicha memoria suele ser suficientemente rápida, por lo que leyendo directamente de ahí no hay problema.

El problema es que la construcción de cartuchos es más cara que la de discos, sobretodo para tamaños grandes (la gran lacra de la Nintendo64 ). Es por ello que en muchas ocasiones conviene cargar los contenidos a memoria principal. Lo que se está convirtiendo en algo obligado es cargar las cosas según se van necesitando.

El problema que esto plantea es que tiene que haber una carga inicial (cuando el juego arranca) y luego hay que seguir cargando mientras el juego continúa, así que hay que evitar posibles parones que puedan entorpecer el juego. Esto se hace muchas veces por obligación, pues todos los datos necesarios para un nivel son demasiado grandes o, simplemente, solo hay un nivel gigantesco para todo el juego. Esto sucede, por ejemplo, en los últimos Grand Theft Auto (los 3D), especialmente en el San Andreas, donde el tamaño del mundo de juego es gigantesco.

Otros juegos lo implementan aún no siendo totalmente imprescindible, lo cual es una grata sorpresa. Esto ocurre en la última trilogía de Prince of Persia, y ayuda a no “partir” la experiencia de juego, aunque el desarrollo del mismo se basa en niveles independientes de los de toda la vida. En Lair de PS3, que ha salido escaldado en prácticamente todas las críticas, las secuencias no interactivas se utilizan para ir cargando el nivel y, de hecho, no se pueden saltar hasta pasado un tiempo (cuando termina de cargar).

Al final, tengo que dejar en evidencia algunos juegos que todavía utilizan tiempos de carga. Uno de ellos es la saga Half-Life, aunque lo compensa cargando trocitos muy pequeños, con lo que no interrumpe demasiado. Con el mismo motor se hizo el Vampire: Bloodlines, que tarda bastante más en cargar y ahí sí resulta molesto (porque se supone que es un juego de rol no-lineal).

Casos más extremos los podemos ver en el BioShock y otros juegos de última hornada, que tardan bastante en cargar por culpa de tener tantos tipos de textura distinta. Ahora ya no se carga solo la textura en sí, sino que se suele cargar otra con las normales, detail-mapping, y demás capas. Esto es especialmente alarmante en el último Sega Rally que, al contrario que lo que suele ser habitual en Sega, tarda una eternidad en cargar un nivel, incluso rebajando el detalle al mínimo.

Pero esperemos que con el tiempo, esta costumbre de esperar mientras leemos un texto o similar, vaya desapareciendo.