Ú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.
- 5 de Octubre de 2007 a las 4:28 pm
WaaghMan dice:
Los tiempos de carga pueden reducirse si se hacen durante el juego, pero en este momento hay cosas que son impepinables, por ejemplo lo de cargar las texturas en la memoria de video. Ni siquiera se puede hacer mientras jugamos, porque al ser la propia gráfica la que las carga, sufriríamos unos parones impresionantes durante un buen rato.
Hasta que la velocidad de lectura de discos duros aumente, creo que la mejor opción es la que dices que usó el Lair, utilizar algo que distraiga al usuario mientras carga. Por ejemplo, en el TF2 se te muestran estadísticas de tus actuaciones durante la carga de los mapas. Desgraciadamente no cambian tanto como para que te mantengan todo el rato entretenido, pero es mejor que un “por favor espere”
. KnudoW dice:
Ah, cuantas veces nos encontramos con ese pasillo que al ver pensamos: “loading” y en cuanto damos 2 pasos… bingo!
En el Metroid Prime de GC al acercarte a una puerta que lleve a otra zona, notas como la GC se pone a leer el disco a toda leche, y hasta que no termine de cargar no se abre la puerta por mucho que le dispares, xDD Es un buen sistema, pero cuando te persiguen enemigos y quieres escapar por una puerta… xD
Miguel Herrero dice:
Me acabo de acordar de otro truco:
En los Resident Evil de la PSX, cuando abrías una puerta te tenías que tragar una animación de la puerta abriéndose que ¡cómo no! servía para disimular la carga de la siguiente zona.
Miguel Herrero dice:
Por cierto, no he jugado al Sonic Shuffle o Next ¿qué tipo de “engaños” utilizaban? He buscado información y no he encontrado gran cosa.

