‘Shmup’ en Amstrad CPC … con scroll
Pasando a lo jugable, Relentles es un sencillo juego matamarcianos (shoot’em up) donde tendremos que vérnoslas con numerosas oleadas enemigas que se van regenerando una y otra vez sin cesar. Debemos sobrevivir a 5 zonas letales en sólo 3 oportunidades (vidas). Sólo podremos confiar en nuestra habilidad para cumplir nuestra misión; ni siquiera nuestra memoria servirá pues los niveles se generan de manera procedural en cada partida, aunque sí se repiten ciertos patrones que ayudará reconocer.
¡Y en sólo 16 KB!
El juego se gestó para participar en la 1ª edición compo 16KB ROM, que como su nombre indica se limitaba a desarrollos para formato cartucho, cuya limitación son 16KB (una cuarta parte del total de la memoria disponible). En apenas esa pequeña porción de memoria los autores han conseguido materializar un juego exigente y entretenido. Va a demandar mucho de nuestra parte, es de corta duración pero apenas tenemos momentos para relajarnos; sólo el paso entre zonas nos liberará algo de tensión al vernos en espacio profundo libre de estructuras a evitar, pero las oleadas de enemigos seguirán en su empeño de colisionar contra nosotros.
Podemos elegir entre 3 niveles de dificultad, desde fácil a difícil pasando por la normal (por defecto); y podremos manejar nuestra nave por teclado, cursores o Joystick, lo que nos sea más cómodo. El sistema de puntuación es particular, aunque no tenga más efecto que poder presumir estar en lo alto de la tabla de récords, pues no otorga vida extra ni otro beneficio.
En nuestro marcador veremos una barra de Bonus que multiplicará nuestros puntos y se irá rellenando según eliminemos la totalidad de los cuatro enemigos de la oleada. Pero conforme pasa el tiempo se irá reduciendo. Esto hará que nuestra avaricia por rellenarla entre en juego, pues lo importante no es sólo eliminar todo el grupo de enemigos (y que no se escape ninguno), sino hacerlo lo más rápido posible para que enseguida aparezcan los siguientes y podamos destruirlos antes de que decremente nuestro bonus; aun a riesgo de perder una vida en esa maniobra. Las torretas no suman bonus pero son las encargadas de dispararnos; es recomendable eliminarlas desde lejos pues a una distancia cercana nos pueden sorprender sin apenas tiempo a reaccionar.
Entrevista
Ready and Play: ¿Quiénes están involucrados en el juegos?
Who are the people involved in the game?
Paul Kooistra (Axelay): Aparte de mí, rexbeng se encargó de los gráficos y el diseño de niveles, y Tom&Jerry compuso la música.
Apart from myself, rexbeng worked on the graphics & level design, and Tom&Jerry composed the music.
R&P: ¿Cuál fue tu primera computadora y tus favoritas actualmente?
Which were your first computers/videogame machines and your favorites now?
PK: Mi primera máquina fue un Hanimex. No recuerdo el modelo pero creo que era de la serie 1292. Mis máquinas favoritas actuales es difícil de decir. Diría que los sistemas que más me gustan ahora son SNES y Dreamcast en consolas, CPC y Amiga en ordenadores.
My first game machine was a Hanimex. I don’t recall the model but I think it was one of the 1292 systems. Favourite machines now is difficult. I guess that the platforms I think of most fondly now would be SNES & Dreamcast for consoles, CPC and Amiga for computers.
R&P: ¿Cómo vino la idea de Relentless?
How became the idea of Relentless?
PK: Relentless empezó con la idea de intentar hacer un shooter con scroll horizontal con algunas técnicas en el CPC que se pueden considerar atípicas. Como scroll por pixel, 50fps, una área de juego grande, y sprites que se puedan mover libremente sobre elementos de fondo.
Relentless started just as an idea to try and make a horizontal scrolling shooter that did a number of things on CPC at the same time that were perhaps not regarded as typical. That was things like the 1 pixel scroll, 50fps, large play area, and sprites that freely moved over background elements.
R&P: ¿Cuáles fueron los principales problemas al hacer el juego?
What were the hardest problems in developing the game?
PK: Lo más complicado era repartir el ciclo de procesamiento del CPU ante las numerosas demandas que existían, y que los sprites siguiesen siendo funcionales sin modificar su tamaño.
The hardest thing was trying to balance the cpu time over the various demands, and still coming up with a useful sprite count & size.
R&P: Estoy muy interesado en el código de alto nivel programado para hacer overscan o ese modo gráfico. ¿Podrías hacer un resumen de las técnicas usadas en el juego?
I am really interested in all the ‘magic’ code developed like overscan or the graphic mode. Can you make a summary of all the techniques used in the game?
PK: El overscan (usar el borde de la pantalla) no es un overscan normal, la idea vino al final del desarrollo; los dos buffers de vídeo no están adyacentes en memoria, la pantalla de título se ha conseguido con una pantalla partida (screen split, usar diferentes modos de vídeo en una misma pantalla). Se usa también ‘screen split’ durante el juego para mostrar el marcador de arriba. El registro 3 del CRTC se usa para mover el área de juego un byte (la mitad de un carácter), al combinarse con el renderizado de doble buffer de vídeo da un efecto global que asemeja un scroll horizontal que se mueve pixel a pixel. Los gráficos del área de juego es una técnica estándar de ‘dual playfield’, que consiste usar el modo 0 en dos planos. Dos de los cuatro bits del pixel modo 0 son para definir 4 colores de fondo y los otros 2 bits sirven para definir 3 colores y transparencia a los sprites. Así pueden moverse por encima del fondo sin corromperlo, y pudiendo definir dos paletas de colores separadas.
The overscan on the title screen isn’t a ‘normal’ overscan as the idea for that came very late in the game and the two game screen buffers were not adjacent in memory, so the title screen is accomplished with a screen split. A screen spit is also used on the game screen to stabilise the score line at the top, and CRTC register 3 is used to shift the play area left and right by half a character in combination with offsetting the two screen buffers 1 pixel to give an overall effect of a 1 pixel horizontal scroll. The graphics in the play area are a standard ‘dual playfield’ technique where mode 0 is used in two ‘planes’. Two of the four bits in each mode 0 pixel make up 4 background colours and the other two bits provide 3 colours and transparency for sprites that are able to cross background elements without corrupting either, having set the palette so that these two layers appear separate.
R&P: ¿Algo más que quieras añadir en la entrevista: proyectos, agradecimientos, …?
Anything you want to include in the interview: future games, acknowledgments, …
PK: Me gustaría dar las gracias a los programadores de CPC que resolvieron mis dudas tiempo atrás: Arnoldemu, Executioner, Grim, & Longshot. También me gustaría dar las gracias a rexbeng por trabajar conmigo.
I’d just like to thank the CPC coders who answered questions I had some years ago: Arnoldemu, Executioner, Grim, & Longshot. Also, I’d like to thank rexbeng for putting up with this coder! 🙂