En este artículo voy a hablaros de algunas curiosidades, que si no sois ligeramente entendidos en el tema, poco podréis apreciar. Voy a hablaros de los secretos de optimización en los juegos y algunas técnicas usadas por los programadores para conseguir fluidez y estabilidad en sistemas modestos.
Uno puede pensar que los gráficos no son importantes. Y que lo que realmente prima por encima de todo es que sea muy jugable. En esencia es razonable, pero no es así. En multitud de ocaciones las ralentizaciones, el frame-skipping, el popping, etc.. son defectos gráficos que pueden afectar a la jugabilidad.
La meta de los programadores, ( o al menos la que deben serguir) en cuestiones gráficas y jugables, es un equilibrio de las mismas, para conseguir el mayor nivel de satisfacción al usuario.
Para conseguirlo hay que hacer un estudio durante un tiempo del hardware en cuestión y analizar los recursos de los que se dispone. Ahora vamos a ver algunos ejemplos de buen hacer en el mundo de los videojuegos. He aquí algunas ténicas que se han empleado a lo largo de los años, para crear efectos adelantados a su tiempo.
SCALING
Esta técnica, empezó a emplearla SEGA, mas concretamente los juegos de Yu Suzuki. Space Harrier, Out Run o el mítico After Burner, hacían gala de este efecto. El Scaling ofrece una sensación falsa de zoom, y que permitía dotar los escenarios de cierta profundidad.
Cuando hablo de "falso zoom", me refiero a eso. Que no era auténtico zoom. Ya que en aquella época algo así era impensable. Entonces como se conseguía este efecto ? Pues elaborando una cantidad de sprites por objeto de mas pequeño a mas grande o viceversa. De tal forma que si se avanza hacia delante y conforme se acercaban los sprites mas lejanos, estos se iban sustituyendo por sprites de apariéncia cercana, dando una sensación de pseudo-3D.
MODO 7
En la época de las 16 bits, en SNES, apareció el zoom, rotación y modo 7. Que es esto ?. Basicamente, los primeros efectos de zoom auténticos, al contrario que el scaling. Rotación, es una pequeña virguería que tenia la consola para rotar sprites a tiempo real, y el modo 7, abrió un mundo de posibilidades en la 16-bit de SNES, con una perpectiva similar a 3D. Y digo similar, porque no era realmente 3D. El modo 7 permitía convertir un escenario plano, en un escenario en perspectiva, con un conseguido efecto de profundidad.
Esta técnica fue utilizada mayoritariamente, para representar mapeados en numerosos RPG, Terranigma, Zelda, Secret of Evermore, etc... . También se utilizó para juegos de carreras, como el mítico Super Mario Kart o F-Zero.
FONDOS PRERRENDERIZADOS
Con la aparición de sistemas de 32-bit, y con el consiguiente crecimiento en cuanto a resolución se refiere, naciéron los escenarios prerrenderizados. Una técnica empleada en los mejores juegos de PSX
Quien no conoce los fondos prerrenderizados ? Son fondos totalmente planos, y como dice la palabra, "prerrenderizados". Que es eso? Pues básicamente son escenarios 3D que han sido renderizados durante el proceso de programación, evitando que la consola renderize estos a tiempo real.
Esta técnica ofrecía grandes resultados para las consolas de 32-bit. Dado que los juegos 3D representaban aspectos muy desfasados, con el paso del tiempo (hay excepciones, vease Gran Turismo, Vagrant Story, Metal Gear... ^^). Sin embargo con este recurso, se permitia mostrar por pantalla escenarios con todo lujo de detalles, sin que el rendimiento de la consola se viera mermado en ningun momento. Y a su vez, al ser escenarios que la consola no renderiza a tiempo real. Toda la poténcia de la consola podía destinarse 100% a los modelos 3D que poblaran esos escenarios y que sin duda, son los que realmente hacían patente la profundidad de los mismos.
Resident evil, Parasite Eve, Final Fantasy VII, Final Fantasy VIII, Final Fantasy IX, son algunos de los ejemplos.
Los problemas que representa este recurso, es el hecho, de que a veces no se conseguia igualar la calidad de los escenarios prerrenderizados, con los elementos 3D, siendo estos ultimos muy inferiores, y discordantes con los fondos. Estos fondos, a pesar de la calidad, solían ser muy estáticos.
Sin embargo Resident evil Remake o Resident evil 0, por ejemplo, solventaron los anteriores problemas citado. Con lo cual demuestra que los escenarios prerrenderizados, a dia de hoy todavia puede dar buenos resultados.
LOADING...
En cuantos juegos habremos visto este rótulo maldito, siginificando que debemos esperar para poder jugar ? Las míticas pantallas de Loading... o zonas de carga. Fue a partir de la era de la consolas de los CD, cuando empezaron a aparecer.
En un principio. Las consolas, gracias a la tenología CD, a pesar de haber aumentado la capacidad de memoria del soporte de forma abismal, la velocidad de los lectores estaba cuanto menos desfasada. Si a esto lo unimos el hecho de que las consolas, no disponian de disco duro, ni forma de instalarlo como en PC.
La única solución era que la consola leyese los datos directamente desde el CD, y que estos se fueran ejecutando. Sin embargo, cabe matizar algunos detalles sobre esto. Cabe distinguir dos tipos de carga, por secciones y de forma subliminal. Esta última la que más me interesa.
Por secciones, me estoy refiriendo a los juegos que cargan el nivel previamente, antes de ejecutarlo. Y porqué por secciones ?
Podría hablar de otros medios que se han utilizado en el mundo de los videojuegos, en base a su optimización en cada uno de sus sistemas. Pero no quiero excederme, dado que existen una cantidad importante, de las técnicas utilizadas. Entre algunas de las que no he citado, como La Niebla, el Mipmapping, el bitmapping, etc.
En posteriores ocasiones, completaré este post.
Venga, Un Saludo. Nos vemos !!