Revista Tecnología

"Creo que hay cosas que no fueron bien explotadas en su día". Entrevistamos a Gasega68k, creador del alucinante Wolfenstein 3D para Megadrive

Publicado el 17 abril 2015 por Retromaniac @RetromaniacMag

A día de hoy Megadrive es una máquina que está bien documentada y que gracias a nuevas herramientas está viviendo una segunda juventud. Muchos nuevos proyectos para la máquina de Sega nos han llamado recientemente la atención como puedan ser las creaciones de 1985 Alternativo y su espectacular proyecto Antarex. Recientemente nos hemos fijado en varias creaciones que, curiosamente, vienen de la misma persona, hecho que ha provocado la inmediata puesta en marcha de la maquinaria de RetroManiac para saber más sobre estos proyectos.
Nos referimos, por supuesto, a la conversión de Wolfenstein 3D y la demo simulando el modo 7 de F-Zero para Megadrive creadas por Gabriel Goncalves, conocido en el mundillo como Gasega68k. Gabriel ha tenido la amabilidad de contestar a nuestras preguntas y explicarnos un poco más cuanto da de sí un sistema como Megadrive.

RetroManiac: Cuéntanos, ¿por qué te embarcaste en el proyecto de crear una nueva conversión de Wolfenstein 3D para Megadrive?

Gabriel Goncalves: Bueno, en realidad no tenía planeado hacerlo. Esto comenzó cuando alrededor de julio de 2012 estaba investigando sobre el raycast y me pregunté como sería hacerlo en Megadrive/Genesis; después de intentar con varios métodos, logré hacer dos versiones que funcionaron muy bien, basado en dos fuentes diferentes. Al principio no estaba seguro de si esto sería solo una demo, pero cuando lo publiqué por primera vez y vi que recibió buenos críticas, entonces decidí que debía completarlo.

RetroManiac: ¿Podrías explicar a nuestros lectores en que consiste el raycasting?

Gabriel: Este juego está basado en la versión de PC (ordenadores), la música, lógica y gráficos son de ésa versión. El proceso de convertir los gráficos (especialmente el de las texturas de paredes y enemigos) ha cambiado con el tiempo, porque he conseguido formas de hacerlo mas rápido y mejor con programas como GraphicsGale y también con herramientas que he hecho, quizás algunos no lo saben pero en este juego las texturas de paredes y enemigos tienen 16 colores, pero gracias al "dither"(cuando se mezclan dos pixeles de 2 colores diferentes para formar otro color) se simulan más de 16 colores. Actualmente el proyecto se encuentra quizás en un 80%, tengo todos los gráficos hechos (texturas de paredes y enemigos), falta la música de dos episodios (unas 10) y un poco de código.

RetroManiac: ¿Qué fue lo más complicado de implementar en un hardware limitado como Megadrive, sobre todo en el tema de la memoria?

"Este juego está basado en la versión de PC (ordenadores), la música, lógica y gráficos son de ésa versión. El proceso de convertir los gráficos (espacialmente el de las texturas de paredes y enemigos) ha cambiado con el tiempo, porque he conseguido formas de hacerlo mas rápido y mejor"

Gabriel: Lo mas complicado no ha sido la memoria. El espacio libre de RAM en este juego es de unos 8KB (quizás un poco más) y el espacio en Rom va a estar entre 2.5 y 3 MB ( de 20 a 24 Mbit); lo más complicado han sido los gráficos (las texturas de paredes, enemigos y objetos), como dije anteriormente tengo que convertirlos a 16 colores con "dither" para simular más colores.

Gabriel: Me gustó el haber sido posible incluir todo del juego original (o mejor dicho va a ser posible) y que haya podido mantener una buena tasa de cuadros por segundo al ir agregando los enemigos. Lo que me hubiera gustado era hacerlo con el engine más rápido y con un área de visión mayor, porque en el transcurso del desarrollo del juego he conseguido otras formas de mejorar el engine. De hecho hice varios demos con mayor tamaño del área de visión y aun con una tasa de cuadros por segundo mayor, por ejemplo tengo un demo con una resolución de 240x160 funcionando entre 20-26 cuadros por segundo (claro, sin enemigos ni objetos). Me hubiera gustado utilizar este método para el juego, pero el problema es que el juego ya esta muy avanzado y para cambiar esto, tendría que modificar muchas cosas y además creo que el engine actual del juego es suficientemente rápido para ser jugable. De todas formas seguramente estaré utilizando este engine que es mas rápido en otros juegos, quizás en otra versión de Wolfenstein.

Aunque aún no he descartado completamente la idea de utilizar el engine mas rápido en Wolf3D, porque en la semana santa pude avanzar bastante en el desarrollo de Wolf3D y me he dado cuenta que el juego podría "caber" en 2MB, pero para esto tendría que comprimir algunas cosas y además porque con ese nuevo método de raycast que hice puedo ahorrar más memoria en código y si por todo esto puedo hacer que el juego quede en 2MB (o 16mbit), entonces sí cambiaría el engine.

Gabriel: Es una pregunta difícil, en realidad no podría escoger una, yo me quedaría con las dos, ambas tienen muy buenos juegos. Yo creo que el aspecto más fuerte en SNES son los colores, el modo 7 y otras cosas más en el hardware, pero Megadrive tiene la ventaja de su procesador y programar para ella es mucho más fácil, además se pueden hacer muchas cosas por software.

RetroManiac: Ahora tomas como referencia F-Zero de SNES, uno de los primeros baluartes del conocido modo 7 de la consola de Nintendo. En las primeras pruebas parece que la resolución por el momento es baja, pero que a medida que vas descubriendo optimizaciones puedes mejorarlo. ¿Hasta dónde crees que podrás llegar? ¿Algo similar al original, mejor? :)

"Yo me quedaría con las dos, ambas tienen muy buenos juegos. Yo creo que el aspecto más fuerte en SNES son los colores, el modo 7 y otras cosas más en el hardware, pero Megadrive tiene la ventaja de su procesador y programar para ella es mucho más fácil"

Gabriel: La resolución es baja para poder mantener un buen framerate. Si logro optimizar más aumentaré la resolución, pero no creo que sea posible hacer algo similar al original en cuanto a resolución y cuadros por segundo, a menos que use un chip externo para ello. Quiero intentar hacer algo similar al original en cuanto a jugabilidad y mantener al menos una tasa de entre 20 a 30 FPS.

RetroManiac: ¿ConocesHuZERO? Una pequeña demo técnica para PC-Engine que también tomo como referente el cartucho de carreras espaciales de la Super (Nota: consulta nuestra entrevista a Chris Covellaquí).

Gabriel: Creo que hay cosas que no fueron bien explotadas, me imagino que debido al tiempo que tenían los desarrolladores para hacer los juegos y que quizás no tenían la oportunidad de experimentar mas, pero eso no solo pasa con Megadrive.

RetroManiac: Una vez visto de lo que es capaz la Megadrive simulando un modo 7 como has hecho con tu demo de F-Zero, ¿hasta donde piensas llegar? ¿Se queda en una simple exibición de lo que Megadrive es capaz de hacer o piensas desarrollar aún más y acabar haciendo un juego jugable? ¿Veremos algún día de tu parte un port completo de F-Zero para Megadrive?

Gabriel: Yo espero hacer quizás dos juegos con esto, uno al estilo F-Zero que he llamado G-Zero (esto no sería un port de F-Zero, sino un juego nuevo) y otro al estilo Super Mario Kart, que aun no tengo un nombre definitivo.

"Mis próximos proyectos mas cercanos serían: Spears Of Destiny [...] y también está el juego de Starwars que quiero comenzar a hacer en unos meses o a finales de año, y que tendría escenas en 3D al estilo Starfox"

Volver a la Portada de Logo Paperblog