Hice este proyecto durante mis estudios universitarios. Era una asignatura en la cual dábamos conceptos básicos de programación en Android y el patrón de arquitectura model-view-controller. El estilo de juego que quería lograr era un dungeon crawler similar a los que había disfrutado en mi infancia en consolas portátiles como la Game Boy Color o la NDS.

Imagen del juego corriendo en un emulador de Android.
Sistema de teselas
El juego usa un sistema de teselas por varios motivos. Primero, por la facilidad que supone poder construir todo el mapa usando una sencilla matriz bidimensional en el propio código. Segundo, por lo óptimo que resulta la reutilización de texturas en sistemas con memoria muy limitada, ya que se tiene la capacidad de poder modificar las propias teselas con transformaciones de la misma textura.
Además del apartado visual, distribuir el juego en casillas tiene otras ventajas en el campo de la lógica del juego, como es la facilidad de implementar el comportamiento de las entidades no jugables, las colisiones, la lógica del movimiento, etc. Esto hizo que fuese un sistema muy usado en los primeros juegos de la Historia, cuando el desarrollo estaba aún más constreñido por las limitaciones técnicas tanto de hardware como de software.

Sistema de teselas
Fue uno de los primeros juegos en el que toqué todos sus aspectos técnicos: desde menús hasta música, IA, controles, etc. Fue en este proyecto donde empecé a comprender la complejidad que entraña un proyecto como es el desarrollo de un videojuego. Al usar el modelo MVC (model-view-controller) comencé a entender los principios de abstracción necesarios para el correcto desarrollo de todo tipo de software complejo, tanto aplicaciones como videojuegos.

Fragmento del código Java en el cual fue programado el juego.
Gameplay del juego corriendo en un emulador de Android.