Coursework for the module Electronic Games of the BSc Computer Science at the Universitat Pompeu Fabra. The project was developed in pairs, my partner was Andoni Camiruaga, and it took 4 months to complete.

The purpose of this assessment was to introduce the basic methods, algorithms and techniques for games programming.

We developed a one player battle tanks game where the player had to destroy all the other tanks to win. The player could control the tank movement and its turret to aim and shoot at enemies. The game gave feedback to the player with a life-bar, smoke trails that revealed impacts and a mini-map that showed the enemy position and their line-of-sight

For this project we used a framework with an API for loading models from mesh files, collision detection (between models and ray-to-model), rendering and clipping. The framework and all models were developed by the module staff.


  • Entity hierarchy (i.e. tank, turret and cannon)
  • Physics API for collision detection and AI’s line-of-sight
  • Tank movement based on acceleration and friction with the terrain
  • Parabolic missile trajectories
  • Finite-state machine AI
  • Configurable particle systems
  • Different camera views
  • HUD with text messages, life-bar and mini-map


  • First-person modeAI’s line-of-sight could be seen in the mapParticle system used to simulate smokeThe HUD consisted in a life-bar and a mini-mapBird's eye point of view