ZX Retro8ogue

Siempre he tenido debilidad por los juegos tipo Rogue, al más puro estilo de la definición "Berlin"

En la plataforma ZX Spectrum, solo tenemos uno que se asemeje más o menos al clásico Rogue o sus derivados. 

Me he animado a desarrollar ZX Retro8ogue

Su objetivo principal es el de emular a sus hermanos "rogue - like" hasta donde mis limitaciones y las limitaciones del ZX Spectrum nos lleven. 

Para ello parto de las siguientes premisas: 
  • Tiene que ser un juego "rogue - like" lo más parecido a la definición de Berlin.
  • Debe usar los caracteres ASCII, o para hacerlo algo más vistoso, los UDG. Es decir, siempre caracteres de 8x8.
  • El control, al estilo clásico; comandos de teclado.
  • Lo voy a desarrollar completamente en BASIC y luego lo pasaremos por el HiSoft HiBasic a código máquina. 

Ya tenemos un pequeño motor del juego capaz de: 
  • Generar un mapa aleatorio conteniendo de 1 a 4 edificios.
  • Rellenar los exteriores con árboles y rocas. 
  • Generar las salidas y entradas a otros mapas. 
  • Espacio para información de nuestro héroe. 
  • Sistema de texto emergente, para la ayuda / información en juego / inventario.
  • Depurado del motor hasta el momento.
  • Revisión del código para mejor rendimiento del compilador HiBasic a código máquina. 
  • Tamaño de código. Actualmente está en 19Kb compilado a mcode. 
  • Optimizaciones varias de rendimiento (bucles y re-utilización de variables).
  • Movimiento del personaje principal por pantalla y detección de colisiones.
  • Inclusión de enemigos, movimiento y búsqueda de camino (path finding) hacia el personaje para los enemigos.

Por el momento, el motor en su estado actual está probado tanto en BASIC como en código máquina.

Podéis descargar del código fuente de este enlace (formato tap) y la cinta con su cargador y su código máquina, en este otro enlace (formato tap).

Una vez ejecutado y cargado, puedes usar "h" para ver el sistema de texto emergente. con "Q" salimos del programa. El efecto de vuelta al mapa desde la ventana de texto emergente, es muy chulo :D.

Las teclas de movimiento son:
qwe
asd
zxc

¡ Seguiré informando de los avances de este nuevo ZX Retro8ogue !.