MSX Pong!

Como siempre les comento a mis alumnos de primero, hay dos ejercicios imprescindibles que debe realizar a cualquiera que aprende un nuevo lenguaje de programación y quiera aplicarlo al desarrollo de videojuegos: «Hola Mundo!» y el «Pong!».

Aunque hace años (muchos) ya había programado en ensamblador de Z80 para MSX, nunca llegue a terminar ningún juego. Con el tiempo y la falta de uso, todo se olvida, así pues, decidí a refrescar mi ASM para Z80 haciendo varios ejercicios, entre ellos, un Pong.

A parte del correspondiente trabajo de documentación previo, siempre útil para adquirir conocimientos, este proyecto también ha servido de base para la creación de un pequeño entorno de desarrollo en ASM para MSX, así como la creación de diversas herramientas de conversión de gráficos, escritas en lenguaje C/C++ y para PC, para su uso en estos proyectos.

Los controles del juego son simples: El jugador uno usa las teclas Q y A para moverse, el jugador dos las teclas del cursor ARRIBA y ABAJO. Para cambiar de pantalla o sacar, debe usarse la tecla de la BARRA ESPACIADORA. En la pantalla de selección, pulsar la tecla 1 para el modo de un jugador contra la CPU o la tecla 2 para el modo de dos jugadores. El juego también tiene soporte para joystick para ambos jugadores, detectando automáticamente si se está usando el teclado o el joystick.