Se han realizado mejoras en el motor del juego. Una de ellas consiste en el soporte de enemigos de cualquier tamaño con el objetivo de hacer aparecer enemigos grandes, como puede ser un jefe de final de fase.
En la parte gráfica se han producido avances en el diseño de artes oficiales, teniendo acabados los primeros artes de cuerpo completo de Rocket Man.
Y, por primera vez, estos artes reciben sus primeras adaptaciones con gráficos del propio juego. En este caso representando el icono del personaje y el de las vidas.
También se ha trabajado en permitir el recorrido bidireccional de mapas grandes, capaces de contener en su interior fases completas. El vídeo de la entrada muestra la longitud alcanzada con un mapeado de prueba.
Rocket Man ya cuenta con música propia. Su autor es NAP.VGM, que va a ser el encargado de la parte sonora del juego, aportando tanto música como efectos de sonido.
Para componer estas pistas se ha usado el tracker Deflemask y para la incorporación de las composiciones generadas por el mismo en el juego se ha realizado una ingeniería inversa de la rom de Game Boy que genera la herramienta con el objetivo de extraer y adaptar tanto los datos del sonido como las rutinas de reproducción.
Una implementación inicial de estas rutinas adaptadas permite la reproducción de pistas en el juego, aunque se sigue trabajando por la parte de programación para lograr la reproducción simultánea de música y efectos de sonido.
Además de esto se está invirtiendo tiemo en ampliar las capacidades del motor del juego de cara a abordar un primer nivel completo.
Y respecto al apartado visual se planea el diseño de gráficos más elaborados en base a una serie de artes oficiales. Estos gráficos tendrían como objetivo la presentación de personajes y sucesos de la historia. Una serie de nuevos artes representan el aspecto de Rocket Man, concretamente el rostro.
Se ha trabajado en implementar mecánicas típicas como muerte y reinicio del nivel así como la consiguiente reducción en el número de vidas.
También se han añadido transiciones adicionales en la pantalla de título y un iluminado progresivo al iniciar el nivel.
Ahora todos los proyectiles se desintegran al colisionar con personajes o con partes sólidas del escenario. Excepto los que sean explosivos, los cuales estallarán.
Se ha creado un nuevo enemigo que utiliza estos proyectiles. Cuenta además con un escudo con el que es capaz de defenderse de nuestros disparos.
Este enemigo es una variante del que realiza disparos. Un nuevo arte representa el aspecto de estos personajes.
Robot hostil
Es importante aclarar que los cuatro iriqmksw uyi wi irgyirxver egxyepqirxi ir ip nyiks jsvqer tevxi hip inivgmxs hi Pmklx. Vmzep hi Vsgoix Qer c erxeksrmwxe hip nyiks.
Se ha realizado una modificación en la mecánica de activación del cohete. Rocket Man necesitará que se mantenga pulsado el botón de salto en el aire para volar. De esta forma, será más fácil definir un tiempo de vuelo concreto para esquivar proyectiles enemigos o llegar a determinadas zonas del mapa.
El juego ahora soporta hasta tres enemigos simultáneos en pantalla. Y con ello llega también un nuevo enemigo volador capaz de desplazarse por el mapa.
También se ha añadido una pantalla de título y un efecto de transición al iniciar el nivel. Aquí un vídeo con las novedades en acción.
El juego cuenta con un nuevo enemigo. Su diseño gráfico está finalizado aunque su comportamiento aún se encuentra en desarrollo,
Como avance principal, los enemigos cuentan con puntos de salud y explotan cuando estos se agotan. De manera excepcional, el vídeo de la actualización se trata de una grabación sobre el hardware real. Este vídeo tiene el objetivo de aclarar que el funcionamiento que se va mostrando a lo largo del desarrollo es el mismo que se mostraría en la Game Boy.
Entre algunos cambios menores se encuentra la reducción de tamaño de los barriles.
El juego ya cuenta con un primer arte. Arte realizado por mi padre Teo Barriuso, con el que ya colaboré para realizar la pantalla de carga de The Subject para ZX Spectrum.
Rocket Man en acción
También se ha modificado ligeramente el cohete del sprite de Rocket Man en el juego, en busca de la homogeneidad con el material.
Las físicas se han simplificado respecto a la anterior versión de cara a conseguir un control más preciso. Se puede calcular más facilmente el resultado de los movimientos del personaje, sin retraso en los giros o desplazamiento en las frenadas.
Rocket Man ha perdido la habilidad de correr pero ha ganado la habilidad de disparar. Esta habilidad es uno de los puntos clave del nuevo sistema de juego. Sistema inspirado en la saga de Mega Man entre otros.
También se ha añadido una barra de estado con la salud del personaje y el combustible disponible. Influenciado por Gargoyle's Quest.
Respecto al desarrollo, creo que el punto álgido en la curva de aprendizaje de programar en ensamblador para Game Boy ya ha pasado, y debería ser más cómodo continuar a partir de ahora.
También me gustaría dejar aquí subido el prototipo de las físicas de cara a que pueda ser probado por gente. Sentíos libres de hacerme llegar ya sea por comentarios o por correo electrónico cualquier aspecto mejorable del juego.
Izquierda/Derecha - Movimiento
A - Saltar
A (en el aire) - Volar
B - Disparar
Para programar el juego usaba GBDK, un compilador de C y librerías que facilitan el desarrollo para Game Boy. La parte mala es que el compilador no es demasiado fiable a veces y que las funciones de las librerías no siempre devuelven el resultado esperado. Por eso decidí aprender ASM, en concreto el del Z80.
Además de eso había algunos puntos que no me convencían del juego, no así la idea original. Por ejemplo, tenía decidido un sistema de combatir a los enemigos sin necesidad de disparar, cosa que he decidido anular.
Para este rediseño también creo conveniente cambiar al personaje.
Ahora toca reprogramar el juego de cero en ensamblador. La mayoría de la lógica se traspasará a este nuevo proyecto, por lo que no debería llevar mucho tiempo llegar al punto en el que se encontraba el desarrollo anteriormente.
He implementado el scroll para los niveles. De momento está un poco verde y aún tiene algún que otro defecto, incluyendo transiciones gráficas muy poco limpias. Tengo pensado revisarlo aunque de cara a no bloquearme en el desarrollo se quedará así de momento.
He programado dos tipos de scroll, uno estático (parecido al que se produce en la serie Mega Man al entrar en la habitación de un Boss) y otro dinámico.
Ya tengo terminada una versión preliminar del sistema de colisiones. Los gráficos y escenario diseñados para probarlo son temporales y no aparecerán en la versión final del juego (en principio).