The project:
This project was made over the course of 4 months (alongside other projects).
It is a 2D Game Engine with a focus on Game Design Patterns and with an implemented game: DigDug.



Game Design patterns used:
- Observers (score system)
- Components
- Service Locator
- Commands (inputs)
- Finite State Machine (enemy behaviours)
Project specifications:
- C++
- SDL
The gAME:
The game features 3 gamemodes:
Singleplayer, Co-op and Versus.
The player spawns in a level with multiple caves and can move around by digging tunnels. To move on to the next level, the player must kill all enemies. He/She can do so by shooting their pump at the enemy and inflating the enemy until it explodes. Enemies can also be killed by falling rocks (rocks fall once a tunnel is dug underneath them).
Enemies are able to transition to ghost form to move outside of the tunnels and
directly to the player.
In the co-op mode, there are two DigDug characters.
In the versus mode, one player plays as a Fygar that can also make tunnels by breathing
fire, the Fygar must try to kill DigDug in order to make him fail.