lunes, 3 de julio de 2017

Como escribir un juego(¿cutre?) de Spectrum. (IV) Implementación y resultados.

Otras entregas de esta serie:
Como escribir un juego(¿cutre?) de Spectrum. (I) Introducción.
Como escribir un juego(¿cutre?) de Spectrum. (II) Eligiendo nuestro framework.
Como escribir un juego(¿cutre?) de Spectrum. (III) Diseñando el juego.

Bueno, una vez añadida una pantalla de presentación (sin usar LOAD SCREEN$)bastante genérica y unas explicaciones, doy el proyecto por concluido. El resultado puede verse en este video:



Hay mucho margen para la mejora:

- Solo hay un nivel de juego y un único nivel de dificultad.
- El movimiento, usando PRINT AT es un poco brusco.
- Solo hay fondo fuera de las trayectorias.
- Las explosiones son pequeñas pausas y hacerlas con gráficos de bloques no ha sido lo mas acertado.
- Las teclas para controlar el disparo no son lo mas manejable.
- Apenas tiene efectos sonoros
- Y un largo etcétera.


Algunos de estos problemas tienen fácil solución. Otros requieren un trabajo bastante serio. De todas formas en algún momento hay que parar, y yo lo he hecho aquí. Porque el resultado es sorprendentemente adictivo. No puedo mandarlo al Crap Game Contest porque no es lo bastante malo, de hecho es hasta bueno. No está ni de lejos a la altura de los Mojon Twins, pero es original, jugable y bastante mejor que muchos de los juegos a los que jugué en su día.

El resultado y el código fuente está disponible para descarga en Sourceforge. No necesita demasiadas explicaciones. Si que es recomendable que el que quiera crear un juego como este se lea la documentación que puede encontrar en la wiki del ZX Basic. Yo no lo he hecho por varios motivos:

1) El haber diseñado el juego antes hace que trasladar el mismo a código sea algo bastante directo. Ciertamente es necesario conocer el sistema y el lenguaje en el que se va a trabajar, pero...

2) El ZX Basic se parece mucho al Sinclair Basic. Cierto que hay notables diferencias (No necesita números de linea, hay que declarar variables, se puede meter ensamblador, permite funciones, subrutinas, etc...), pero la sintaxis es muy similar y...

3) Conozco el equipo al dedillo: Las dimensiones de pantalla, el sistema de color y sobre todo su Basic.

Una vez dicho esto si que es recomendable leer la documentación que acompaña al compilador, y hasta repasar el manual de Spectrum. Hay toda clase de herramientas, librerías y otras cosas que nos facilitan mucho la labor a la hora de conseguir resultados "profesionales".

Al final quedo contento con el trabajo realizado en los pocos ratos libres que he podido encontrar.