miércoles, agosto 28, 2013

Unas palabras sobre mi RPG retro con raycasting

Los que me sigáis por otras redes sociales o youtube seguramente habréis visto la evolución de este proyecto mejor que los lectores de este humilde blog, ya que hasta ahora no me he decidido escribir una entrada especifica sobre este tema. Pero ya que estamos, vamos a empezar desde el principio y poner todo este proyecto en perspectiva.

Una de las primeras capturas, aun con los tiles del Wolfenstein
Como es habitual, todo empezó con un objetivo muchas mas sencillo, y algo diferente a un motor de ray casting. En realidad estaba intentando recrear en Flash un sistema de dungeons en primera persona como el de Eye of the Beholder, Dungeon Master y tantos otros clásicos de los 80 y 90. No tenia ninguna intención de crear un juego completo, solo una pequeña demo, ya que era solo un proyecto empezado en unas horas muertas que tenia a la semana. 

Arreglando la ocultacion de sprites al principio del proyeto

El problema con este tipo de engines es que, para hacerlo como en esa época, hacen falta los gráficos de las paredes dibujados en diferentes tamaños y perspectivas, algo que seguramente me llevaría mucho tiempo. Probé a usar 3D y simular un efecto similar con texturas, pero siempre se notaba el "truco" y quedaba demasiado moderno para mi gusto. 

Buscando métodos para darle un aspecto mas retro al proyecto (transformar las paredes con algún tipo de escalado sencillo) en alguna página se mencionaba que lo que hacían juegos como EoB se podía ver como un ray casting simplificado. Siempre había tenido interés en los engines de Id (creadores de Wolfenstein, Doom y demás joyas), y al ver aparecer esta palabra clave pensé en utilizar un sistema de ray casting para mi demo.

Probando a crear una interfaz después de decidirme a hacer un RPG
Después de estudiar otros sistemas de ray casting escrito para C, Flash y otros lenguajes decidí que era un proyecto no tan complicado y me puse manos a la obra. Hay mucha documentación y demos funcionales, así que no me costo mucho crear mi propio sistema y aparecieron los primeros muros (primero de colores planos y luego con las texturas del Wolfenstein 3D). Y bueno, para animar un poco la cosa me decidí también a implementar los sprites, lo que hizo que el escenario se llenara de caras sonrientes, el primer sprite.

Ahora los muros pueden ser dobles
Y la verdad, no recuerdo en que momento decidí utilizar este sencillo motor para hacer un juego, pero sucedió que en cierto momento me plantee que tipo de juego debía ser. Acabe pensando en hacer un pequeño RPG inspirado por los clásicos que había jugado a principios de los 90, como Legend of Valour o Drakhen.



Así que fui ampliando el engine, añadiendo un sistema de scripts, diálogos, eventos, inventario etc... Tal vez el proceso a partir de aquí esta mejor documentado por los audioboos y vídeos pertinentes en youtube.

Probando la iluminación de los escenarios
La cosa es que al decidir el contenido del juego pensé en realizar una versión en 3D del RPG que cree para MSX, y así nació "Island of the Oracle 3D". No es mas que un sencillisimo RPG, ya que prácticamente todo lo que puedes hacer ya se podía hacer en 8 bits y 24Kb.

El engine ya terminado
La primera parte del proyecto ya esta prácticamente terminada, así que en breve voy a publicar una demo jugable, estad atentos!

No hay comentarios: