Overview #
Tankerfield is a 4-player cooperative survival game where players control tanks and fight through waves of enemies. The project was developed by Gamificalo Studio, a team of 8 students from the CITM-UPC University in Terrassa, Spain.
As part of the programming team, I implemented several core gameplay and engine systems.
GitHub RepositoryMy Individual Contribution #
- Quadtree integration into the rendering pipeline
- Controller system (detection, vibration, remapping + persistent save)
- Enemy AI logic and state-based behavior system
- Object Pooling System
- Sprite extraction from original game files & 3D models
- Improvements to the map module (tile sorting, collider loading)
Sprite Extraction #
I researched and implemented the workflow to extract sprites from both:
- original game files
- 3D models (capturing and isolating animation frames)
This allowed the team to create higher-quality assets and stay consistent with the original art style.

Map Module Improvements #
I refactored and extended the map system:
Added a Quadtree to the render pipeline #
Greatly improved rendering performance by ensuring tiles and world elements were culled and rendered efficiently.
Tile sorting #
Correct ordering of elements depending on depth and type.
Automatic collider loading from Tiled #
Made level creation faster, less error-prone, and more designer-friendly.
Controller System #
Implemented the entire controller pipeline:
- Detection of connected/disconnected controllers
- Controller vibration
- Input mapping and remapping
- UI integration for button prompts
- Saving user input settings between sessions
This system ensured smooth gameplay for all four players and adaptability for different controllers.

Enemy AI System #
Designed a state-based AI system, making enemies easier to extend, debug, and balance.
Some implemented states include:
- GET_PATH – Pathfinding to the nearest player
- MOVE – Following the generated path
- BURN – When hit by fire + oil, enemies panic and take damage over time
- TELEPORT – Enemies far from players reappear closer
- UNSTUCK – Logic to recover when enemies spawn/move into an unwalkable tile
This modular design allowed designers to add new enemy types and abilities quickly.
Object Pooling System #
Due to the high number of enemies and projectiles on screen, I implemented an object pool to avoid unnecessary memory allocations.
This significantly improved performance and memory stability, especially during late waves.
Additional Tasks #
- Implemented rocket launcher logic (distance-based firing behavior)
- Multiple bug fixes and stability improvements throughout the project