¡Nuevo juego para ZX Spectrum: Qbox!
Estamos en el año 2525. No recuerdas cómo ni de qué manera, pero has aparecido en el universo Qbox. Convertido en una esfera, debes escapar de este particular universo evitando el contacto con los enemigos que te robarán tu stamina. Para ello habrás de recoger ordenadamente los qBITos y alcanzar la Pirámide de transporte en último lugar, procurando asimismo no salirte del camino o morirás sin remedio.
Ante la novedad de desarrollar un juego isométrico con el motor de Jonathan Cauldwell, su autor nos describe cómo lo concibió:
«Inicialmente surge como una prueba de concepto, de poder hacer “algo” en perspectiva isométrica en AGD. Partiendo del hecho de que AGD no permite la gestión de matrices ni de arrays (vectores), y por tanto es imposible definir internamente a priori un mapa de alturas.
Durante el mes de julio de 2017, se comienza el desarrollo del juego propiamente como tal, estando en fase alfa. Se trabaja básicamente sobre unos bloques tipo “Qbert”, y a partir de ahí se empieza a desarrollar la lógica de movimientos del personaje. Ya existe el cálculo de caída desde una altura “excesiva”, y también quedan definidas zonas de “no paso”.
Previo a la Euskal Encounter, se empiezo a definir ya un mapeado más complejo, al darme cuenta que podía dibujar, con los mismos bloques, medias alturas. Internamente el concepto de los bloques en pantalla, y el trazado de caminos no variaba sustancialmente. A estas alturas, tirando del debugger del emulador del spectrum, había conseguido poder sacar los eventos en modo texto plano, para poderlos imprimir y repasar en papel.
A estas alturas se definen bloques tipo “agujero”, y bloques “rotos”. Aún no está definido el concepto de nivel de doble pantalla, ya que los mapas son experimentales, y se hacen para calibrar la movilidad del protagonista.Terminado el mes de julio se dispone ya de una versión donde el nivel es de doble pantalla, hay caminos lineales, en varias alturas, elementos a recoger ordenadamente, bloques que se agrietan por la caída del jugador desde una altura determinada, y se programan los primeros enemigos que persiguen al jugador a distancia (pero sin capacidad de subir o bajar alturas). Posteriormente se implementa un sistema que permite que con un solo tipo de enemigos los haga de múltiples lógicas (más o menos veloces, capaces de subir y bajar medias alturas o alturas completas, rutas predefinidas, rutas aleatorias, perseguidores del jugador, etc.)
Se seleccionan la posibles músicas del juego, y se intenta tener contacto con sus autores para que autoricen el uso de estas melodías para este juego.
A partir de este momento comienzan los problemas de las limitaciones propias de AGD. La música AY precisa de un player por interrupciones IM2, algo que el motor de sonido AY de AGD no respeta. A partir de ahí desensamblé el motor de sonido de AGD, y arreglé el pequeño desaguisado que tiene, haciéndome un motor propio que reproduce los sonidos de AGD, en un único canal, pausando la música. Una vez el sonido de AGD termina la música continúa. Para todo ello además, implementé un sistema para poder lanzar música en bucle, o de una sola reproducción. Para evitar el uso de injertos de assembler dentro del código de AGD con el comando ASM, hice una rutina que supervisa una variable de AGD. Así modificando una sola variable se puede controlar toda la música de AY, permitiendo además lanzar efectos de sonido AY en AGD.»
Posee una muy buena curva de dificultad, en la que cada fase está concebida con unas formas y caminos concretos, cada vez más recónditos y el recorrido de los enemigos están determinados en función de sus características, tal como se describe en las instrucciones del juego (unos hacen un recorrido cíclico y otros pueden deambular a sus anchas). Conviene tener bastante cuidado con algunas superficies si nos dejamos caer sobre ellas desde una cierta altura.
El juego en sí está muy bien planteado y por sí solo posee absolutamente un nivel bastante notable. Ojalá sea la piedra de toque para futuros juegos isométricos creados con esta particular herramienta.
En su creación y desarrollo han participado Igor Errazking con la pantalla de carga y el retoque de gráficos, Branislav Bekes y Sergei Nemo en las músicas 128K y Arnau Jess en el betatesting.
Como bien define su autor, «Qbox es un juego de plataformas llevado a otra dimensión.»
Excelente post…. y excelentes explicaciones de Sergio!!!
😉