viernes, noviembre 15, 2013

Como simular el movimiento de un RPG clásico en primera persona con Unity 3D

Eye of the Beholder, Ishar, Dungeon Master, Wizardray... Son solo alguno de los mas famosos nombres de RPGs en primera persona que triunfaron en los '80 y principios de los '90. Debido a limitaciones técnicas, estos juegos simulaban una vista 3D usando unos cuantos trucos que hacían que funcionaran en casi cualquier maquina. Los primeros y mas sencillos RPGs en primera persona dibujaban los pasillos de las mazmorras como lineas en perspectiva, creando la sensación de profundidad. Era un efecto que dejaba todo a la imaginación, pero tenia la ventaja que prácticamente cualquier maquina que tuviera gráficos lo podía manejar.

Un poco mas adelante, cuando las capacidades gráficas de los ordenadores y las técnicas de programación mejoraron, se empezó a utilizar un nuevo método que simulaba las paredes de los pasillos esta vez con todo detalle. El truco estaba en que el diseñador creaba, para cada tipo de pared, un gráfico desde todas las perspectivas posibles. Normalmente no eran muchas, de frente y de lado a 3 o 4 tamaños máximo. Y luego, dentro del juego, los colocaba siguiendo un mapa 2D, simulando la profundidad con los diferentes tamaños (grandes cerca, pequeños lejos). La técnica era bastante "espectacular" para la época y fue muy usada con juegos que están en la memoria de todos como los anteriormente mencionados.

 Pero también esta técnica tenia grandes defectos. Primero por que estaba limitado a un mapa 2D con paredes perpendiculares y segundo porque, al no poder haber transición entre un punto a otro del mapa, el movimiento era a saltos. Este movimiento brusco era bastante confuso hasta que te acostumbrabas, y muy desconcertante si tu no controlabas el personaje.

Con el tiempo este sistema callo en el olvido al ser remplazado primero por sistemas de ray casting (Legend of Valour, Elder Scrolls Arena como ejemplos primerizos) y mas adelante por engines 3D reales. Pero creo que en el proceso se perdió una parte de la magia y sencillez de estos primeros RPGs, que conseguían recrear un mundo 3D en cualquier maquina. No en vano aun hay juegos que intentan recuperar esta sistema junto con otros detalles retro, como Legend of Grimrock o Grimoire.

Pues bien, como un engine de este tipo es muy fácil de simular con un engine 3D actual, aquí tenéis un pequeño tutorial, con proyecto incluido, que muestra como crear vuestra vista en primera persona clásica en Unity 3D. Obviamente es solo una simulación, ya que los juegos originales utilizaban técnicas muy diferentes, pero es fácil crear una ambientación parecido.

Para el tutorial he utilizado texturas de alta calidad, pero nada os impide utilizar texturas mas retro para darle ese look vintage. También comentar que es necesario conocimientos básicos de como funciona Unity para poder seguirlo.

Espero vuestros comentarios!



Update con los links

No me había dado cuenta que con el vídeo empotrado es complicado que vierais los links que había en la información de youtube. Así que aquí los teneis:

El proyecto se puede descargar aquí
https://mega.co.nz/#!OB1WkRyC!DveNGEi...

(la demo se controla con los cursores)

El articulo en la Wiki de Unity sobre el movimiento en rejilla
http://wiki.unity3d.com/index.php/Gri...

Texturas usadas en la demo
http://opengameart.org/content/pietex...
http://opengameart.org/users/yughues

Y muchas mas arte libre en http://opengameart.org/

No hay comentarios: