Skip to main content
Tankerfield

Tankerfield

·381 words·2 mins

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 Repository



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

Tankerfield Sprites

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.

Tankerfield Sprites

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