Ir al contenido
Tankerfield

Tankerfield

·468 palabras·3 mins

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 GitHub



Mis 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.

Sprites de Tankerfield

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.

Sprites de Tankerfield

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