Descripció general #
Tankerfield és un joc de supervivència cooperatiu per a 4 jugadors on els jugadors controlen tancs i lluiten contra onades d’enemics. El projecte va ser desenvolupat per Gamificalo Studio, un equip de 8 estudiants de la Universitat CITM-UPC de Terrassa, Espanya.
Com a part de l’equip de programació, vaig implementar diversos sistemes centrals de gameplay i motor.
Repositori de GitHubLes meves contribucions individuals #
- Integració del Quadtree en el pipeline de renderització
- Sistema de controladors (detecció, vibració, remapejat + desat persistent)
- Lògica d’IA enemiga i sistema de comportament basat en estats
- Sistema d’Object Pooling
- Extracció de sprites dels arxius originals del joc i models 3D
- Millores al mòdul de mapa (ordenació de tiles, càrrega de col·lisions)
Extracció de sprites #
Vaig investigar i implementar el flux de treball per extreure sprites tant de:
- arxius originals del joc
- models 3D (capturant i aïllant fotogrames d’animació)
Això va permetre a l’equip crear assets de més qualitat i mantenir la coherència amb l’estil artístic original.

Millores al mòdul de mapa #
Vaig refactoritzar i ampliar el sistema de mapa:
Quadtree en el pipeline de renderització #
Va millorar enormement el rendiment de la renderització garantint que els tiles i elements del món es descardessin i renderitzessin eficientment.
Ordenació de tiles #
Ordre correcte dels elements segons profunditat i tipus.
Càrrega automàtica de col·lisions des de Tiled #
Va fer la creació de nivells més ràpida, menys propensa a errors i més amigable per als dissenyadors.
Sistema de controladors #
Vaig implementar tot el pipeline de controladors:
- Detecció de controladors connectats/desconnectats
- Vibració del controlador
- Mapejat i remapejat d’entrades
- Integració a la UI per a indicacions de botons
- Desat de la configuració d’entrada entre sessions
Aquest sistema va garantir una jugabilitat fluïda per als quatre jugadors i adaptabilitat a diferents controladors.

Sistema d’IA enemiga #
Vaig dissenyar un sistema d’IA basat en estats, facilitant l’extensió, la depuració i l’equilibri dels enemics. Alguns estats implementats:
- GET_PATH – Cerca de camí cap al jugador més proper
- MOVE – Seguir el camí generat
- BURN – En ser alcançat per foc + oli, els enemics entren en pànic i reben dany amb el temps
- TELEPORT – Els enemics lluny dels jugadors reapareixen més a prop
- UNSTUCK – Lògica per recuperar-se quan els enemics apareixen o es mouen sobre un tile no transitable
Aquest disseny modular va permetre als dissenyadors afegir nous tipus d’enemics i habilitats ràpidament.
Sistema d’Object Pooling #
A causa de l’elevat nombre d’enemics i projectils en pantalla, vaig implementar un object pool per evitar assignacions de memòria innecessàries. Això va millorar significativament el rendiment i l’estabilitat de memòria, especialment durant les onades avançades.
Tasques addicionals #
- Implementació de la lògica del llançacoets (comportament de tret basat en distància)
- Múltiples correccions d’errors i millores d’estabilitat al llarg del projecte