Descripción general #
Tankerfield es un juego de supervivencia cooperativo para 4 jugadores en el que los jugadores controlan tanques y luchan contra oleadas de enemigos. El proyecto fue desarrollado por Gamificalo Studio, un equipo de 8 estudiantes de la Universidad CITM-UPC de Terrassa, España.
Como parte del equipo de programación, implementé varios sistemas centrales de gameplay y motor.
Repositorio de GitHubMis contribuciones individuales #
- Integración del Quadtree en el pipeline de renderizado
- Sistema de controladores (detección, vibración, remapeo + guardado persistente)
- Lógica de IA enemiga y sistema de comportamiento basado en estados
- Sistema de Object Pooling
- Extracción de sprites de los archivos originales del juego y modelos 3D
- Mejoras al módulo de mapa (ordenación de tiles, carga de colisiones)
Extracción de sprites #
Investigué e implementé el flujo de trabajo para extraer sprites tanto de:
- archivos originales del juego
- modelos 3D (capturando y aislando fotogramas de animación)
Esto permitió al equipo crear assets de mayor calidad y mantener la coherencia con el estilo artístico original.

Mejoras al módulo de mapa #
Refactoricé y amplié el sistema de mapa:
Quadtree en el pipeline de renderizado #
Mejoró enormemente el rendimiento del renderizado asegurando que los tiles y elementos del mundo se descartaran y renderizaran eficientemente.
Ordenación de tiles #
Orden correcto de los elementos según profundidad y tipo.
Carga automática de colisiones desde Tiled #
Hizo la creación de niveles más rápida, menos propensa a errores y más amigable para los diseñadores.
Sistema de controladores #
Implementé todo el pipeline de controladores:
- Detección de controladores conectados/desconectados
- Vibración del controlador
- Mapeo y remapeo de entradas
- Integración en la UI para indicaciones de botones
- Guardado de la configuración de entrada entre sesiones
Este sistema garantizó una jugabilidad fluida para los cuatro jugadores y adaptabilidad a diferentes controladores.

Sistema de IA enemiga #
Diseñé un sistema de IA basado en estados, facilitando la extensión, depuración y equilibrio de los enemigos. Algunos estados implementados:
- GET_PATH – Búsqueda de camino hacia el jugador más cercano
- MOVE – Seguir el camino generado
- BURN – Al ser alcanzado por fuego + aceite, los enemigos entran en pánico y reciben daño con el tiempo
- TELEPORT – Los enemigos lejos de los jugadores reaparecen más cerca
- UNSTUCK – Lógica para recuperarse cuando los enemigos aparecen o se mueven sobre un tile no transitable
Este diseño modular permitió a los diseñadores añadir nuevos tipos de enemigos y habilidades rápidamente.
Sistema de Object Pooling #
Debido al gran número de enemigos y proyectiles en pantalla, implementé un object pool para evitar asignaciones de memoria innecesarias. Esto mejoró significativamente el rendimiento y la estabilidad de memoria, especialmente durante las oleadas avanzadas.
Tareas adicionales #
- Implementación de la lógica del lanzacohetes (comportamiento de disparo basado en distancia)
- Múltiples correcciones de errores y mejoras de estabilidad a lo largo del proyecto