Saltar al contenido principal

Creando videojuegos para Amstrad CPC con la Raspberry Pi/ODROID

Jose CerrejonAlrededor de 2 minRaspberry PIODROIDRaspberry PIODROID

Creando videojuegos para Amstrad CPC con la Raspberry Pi/ODROID

AmstradPi
AmstradPi

Creo que no existe cosa más retro que programar desde una Raspberry Pi, un juego para el Amstrad CPC escuchando a David HasselHoff.

Para el que no lo conozca, el Amstrad CPCopen in new window fue un ordenador de 8 bits que marcó tendencia entre 1984 y 1990.

Hoy vamos a ver como instalar CPCteleraopen in new window, un engine que acaba de publicar su primera versión estable y que facilita enormemente la creación de juegos para este ordenador en ensamblador y C.


Logo
Logo

[ Conociendo a CPCtelera ]

CPCtelera es un framework de desarrollo integrado para la creación de juegos en Amstrad CPC con las siguientes características:

  • Una biblioteca de bajo nivel con soporte para: gráficos, audio, teclado, firmware, strings, manipulación de hardware de vídeo y gestión de memoria.

  • Una API para el desarrollo de juegos y software en C y ensamblador.

  • Herramientas para la creación de contenido (audio, gráficos y edición de nivel)

  • Multiplataforma: Funciona en Windows XP, 7 y 8, y en Ubuntu / Debian, Arch, Manjaro, Primaria OS y las distribuciones de Linux basadas en Debian como Raspbian

Además, está programado por un español llamado Francisco Gallego (Twitteropen in new window), entre otros colaboradoresopen in new window.

Para ver más características de este framework, pasate por ésteopen in new window enlace.

[ Instalando CPCtelera ]

Ejecutando ./setup.sh tras resolver dependencias
Ejecutando ./setup.sh tras resolver dependencias

Lo primero va a ser descargar el código fuente para compilarlo en nuestra máquina. Para ello, descargamos y accedemos a la versión estable, o si eres valiente puedes usar la última versión desde GitHub (yo he usado la estable):

wget https://github.com/lronaldo/cpctelera/archive/v1.0.0.zip && unzip -nq $(basename $_) && rm $(basename $_) && cd cpctelera-1.0.0/
# Última versión:
git clone https://github.com/lronaldo/cpctelera && cd $(basename $_)

Ahora instalamos algunas dependencias: sudo apt-get install -y build-essential libboost-dev flex bison. En ODROID (Ubuntu) ya están instaladas. Ahora puedes invocar el script llamado ./setup.sh, que te avisa de los paquetes necesarios que utilizará y preparará tu sistema para poder ejecutar el engine. En mi Raspberry Pi 2 a 950Mhz y en la ODROID-C1, ha tardado unos 20 minutos en compilarse.

[ Iniciando el Engine ]

Engine
Engine

Ya tenemos todo instalado. Si paseamos por el directorio, vemos algunas carpetas interesantes como docs/, que contiene el manual de referencia, o tools/ con distintas herramientas para crear sprites, componer pistas de sonido (Trackers), conversores de formatos, etc. Algunas de estas herramientas son para Windows.

Para generar un nuevo proyecto desde Bash, teclearemos:

cpct_mkproject [carpeta_del_proyecto]

Si ahora entras en el proyecto verás dos directorios:

  • src/ con el código fuente (la primera vez tendrás un main.c). Podrás crear aquí los ficheros y directorios de tu juego.

  • cfg/ contiene la configuración para compilar el juego a través del fichero build_config.mk.

Tienes en la carpeta examples/folder ejemplos de código que puedes estudiar. Tan sólo debes acceder a ellos, ejecutar make, y te creará automáticamente los ficheros .CDT y .DSK. ¡¿No es genial?!

[ Conclusión ]

Ahora es tu turno. Te recomiendo que empieces por ver los ejemplos en examples/easy/src, lo modifiques a tu gusto y compiles.

Recuerda que como emulador, puedes instalar gracias a PiKISSopen in new window el Caprice en la Pi y probar tus creaciones (para ODROID no he encontrado ninguno aún). Al final de este post te dejo con el manual de referencia para que vayas conociendo algunas funciones disponibles. Si has programado algo en SDL, todo te resultará un poco mas fácil.

Por cierto, los desarrolladores aceptan donaciones vía Paypal aquíopen in new window.

Enlaces: CPCtelera Reference Manualopen in new window