martes, 5 de marzo de 2019

Sky Jaguar Deep Space

¡Muy buenas a todos!


El motivo de esta entrada es comentar un poquito de que va eso del Sky Jaguar Deep Space. Un título que va corriendo por las redes y que promociona el grupo DemonVideogames, del que formo parte.
Pues bien, Sky Jaguar Deep Space o Sky Jaguar 2, pretende ser un cartucho compatible MSX con dos juegos. Un juego compatible 100% con MSX y otro juego compatible MSXVR.

Las motivaciones por crear este juego han sido varias. Por un lado, crear un MEGAROM MSX, compatible MSX, con las herramientas de desarrollo del MSXVR. Por otro, crear un juego MSXVR con VR-Script utilizando todo su potencial y por último, demostrar la capacidad de tener un cartucho con MSX/MSXVR, que funcione en ambos y que permita disfrutar también de las capacidades de este nuevo MSX.


Un poco esta es la idea que ha movido querer invertir tiempo en este desarrollo y por supuesto, el que también sirva a modo de ejemplo de las cosas que se pueden llegar a crear en un MSXVR y ya de paso, testar y mejoras las herramientas.

Por tanto, este cartucho cuando se ponga en un MSX, lanzará el MegaROM MSX que llevará dentro y cuando se conecte a un MSXVR, lanzará el otro juego, que no se cuanto ocupará ni importa mucho, ya que lo bueno de desarrollar para MSXVR es que las limitaciones no son un drama, uno se centra a crear el juego y ya está.

El juego compatible MSX, es un juego sencillo, como lo es el Sky Jaguar original. No hay ningún alarde técnico extra. El juego se está desarrollando en VR-Script Transcompilable. O sea, VR-Script pero con restricciones (especificación de tipos, posibilidad de crear lenguaje nativo Z80, etc.) vamos, como si se programase en C de toda la vida. Este código se convierte a Z80, se compila, linka y listo, finalmente tenemos un MegaROM creado de forma automática y listo para usar.

El juego compatible MSXVR, utiliza VR-Script sin restricciones, un lenguaje orientado a objetos con todas las comodidades del mundo. Hacer cosas aquí es sencillo y divertido. No hay sufrimiento :)

La herramienta que transcompila, compila y linka para generar ROMS/MEGAROMS MSX o para otras plataformas se llama AS. A esta herramienta le pasas código en ensamblador, en C (compatible SDCC) o en VR-Script y ella se encarga de empaquetar y distribuir datos y código, de manera que permite trabajar con bancos de forma transparente. Yo suelo montarme un script Make, hecho con VR-Script, que lo que hace es invocar a la linea de comandos VR-DOS para ir convirtiendo/comprimiendo imágenes, sprites, música, escenarios, etc. y crea archivos que acaban siendo compilados por AS. El propio make examina si los archivos se han modificado para evitar compilar o transcompilar cosas que no son necesarias. Al acabar todo el proceso, tengo un ROM de los Kbytes que haya indicado, junto a los .obj, .asm y archivos de texto con información sobre direcciones y tamaños de cada cosa.

Creo que no me dejo nada así demasiado importante por contar. Más o menos, esa es la idea. Espero que os haya parecido interesante y que os guste la iniciativa del juego. Gracias por vuestra atención.

¡Saludos!