Nuevo juego en camino
Estas navidades me puse a programar un juego de plataformas para el ZX Spectrum
, a ver si me salía algo para enviar al concurso ZX Dev 2015 (que acaba en el 2016
:P), y el resultado es Castaway
que, si no pasa nada, estará acabado a finales de este mes.

Una pantalla del juego
Me está costando mucho, porque como ya me pasó con Escape from Colony 8, el 48K
es poca cosa si usas Z88DK y la librería SP1
implementada especialmente para este compilador cruzado.
Básicamente SP1
hace todo lo posible para dar el mejor rendimiento en su motor de tiles y sprites (y funciona muy bien), pero para conseguirlo usa un buffer doble y muchas tablas pre-calculadas que... usan mucha memoria.
Al final resulta que de esos 48 KB
(que no son tales, porque eso incluye la memoria de video y la pila), tenemos para trabajar unos 26 KB
; y aún utilzando compresión y mil trucos, el código y los gráficos usan espacio.
Así que estoy dedicando mucho tiempo a reescribir código C
en ensamblador del Z80
, y poco a poco le voy cogiendo el truquillo. Las rutinas que son fáciles de convertir resulta que son las que menos beneficio aportan, pero solo por eliminar variables y mover las operaciones a usar registros, se suele ganar en espacio (¡y velocidad!).
No es que Z88DK
sea tan malo, pero no es el mejor compilador con el que he trabajado, y solo implementa optimizaciones peephole, con lo que el ensamblador escrito a mano suele ser más compacto.
Ya me queda poco código para reescribir, que es precisamente la parte más complicada (la lógica de las plataformas, por ejemplo; ya es bastante liado en C
), pero estoy acabando el juego... así que al final va a quedar bastante bien.
Estoy pensando seriamente en dejar finalmente el 48K
y empezar a hacer cosas para el 128K
, que tiene sus propios retos, como el chip de audio AY-3-8912
o usar los bancos de memoria para acceder a todos esos 128 KB
. Igual no significa dejar de lado completamente el 48K
, pero creo que merece la pena al menos para juegos como este que son ya demasiado grandes para usar la librería SP1
en tan poco espacio.
Hay 2 comentarios
Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.
por D_Skywalk, en 2016-02-10 12:10:51 ∞