Creación de un juego en Arduboy
En esta sección, vamos a crear un juego sencillo en Arduboy, utilizando las funciones y librerías que hemos aprendido en las secciones anteriores. El objetivo es crear un juego de jugabilidad donde el jugador mueve un objeto en pantalla que debe recoger objetos (caramelos) y evitar obstáculos (pescados). El juego tendrá un sistema de puntuación y acabará cuando el jugador pierda todas sus vidas.
Puedes encontrar el juego completo en nuestro repositorio de Codeberg: https://codeberg.org/MakeClassicGames/ardugame. En este repositorio, encontrarás el código fuente del juego, así como los recursos necesarios (imágenes y sonidos) para que puedas compilarlo y jugarlo en tu Arduboy.
En los siguientes apartados, vamos a ver cómo crear el juego paso a paso, desde la configuración inicial hasta la implementación de la jugabilidad y el sistema de puntuación. Al final de esta sección, tendrás un juego completo que podrás cargar en tu Arduboy y jugar.
Info
Este juego requiere una serie de imágenes y sonidos que puedes descargar desde el siguiente enlace: Recursos del juego. Asegúrate de descomprimir el archivo y colocar las imágenes y sonidos en la carpeta correspondiente de tu proyecto de Arduino.
Vamos a comenzar, creando un nuevo proyecto en Arduino IDE y configurando las librerías necesarias para nuestro juego. Asegúrate de tener instaladas las librerías Arduboy2 y ArduboyPlayTune, ya que las utilizaremos para controlar la consola y reproducir sonidos y música en nuestro juego.
Vamos a partir a partir del siguiente código base, que nos permitirá inicializar la consola y establecer la configuración inicial de nuestro juego:
#include <Arduboy2.h>
#define FRAMES 25
Arduboy2 arduboy;
void setup() {
arduboy.begin();
arduboy.setFrameRate(FRAMES);
}
void loop() {
if (!(arduboy.nextFrame())) return;
arduboy.clear();
// Aquí irá el código del juego
arduboy.display();
}
Con este código base, es el que utilizaremos para crear nuestro juego. En la función setup(), inicializamos la consola y establecemos la tasa de fotogramas por segundo (FPS) a 25, lo que nos permitirá tener un juego fluido y con una jugabilidad adecuada. En la función loop(), comprobamos si es el momento de actualizar la pantalla y, en caso afirmativo, limpiamos la pantalla y mostramos el contenido del juego.