Shooter Game Simulation

A codig project that showcases some classic OOP design in game development.


The code in this project doesn't do anything complicated but I just like how most of it turned out. A challenged myself to program a simple game using OOP design patterns and 'clean code'. The use of pure OOP design in game development can be a controversial topic, but it was fun to really dive into it for this project. I implemented a basic state machine that controls the player. It only has a hand full of states, but is probably the purest piece of OOP design you will find in this project.


The simulation consists of 2 parts: A puzzle part that the player can solve by pushing some obstacles, and a shooter game part where the player aquires a pistol and has to take down enemies. If the enemies see the player, they will start shooting at them. If the player hides or runs away, the enemies will come looking for them. If the player kills an enemy, they will drop their weapon. The player can kill an enemy by shooting them or punching them.


The project (with build included) is available on GitHub so feel free to look at the code and try it out.