A Top Down 2D game AI built from scratch up on C++ using SFML for rendering. Highlights:- Implemented the game loop, asset manager, state machine for Game states, system for setting up the game level through text files. Implemented MathCalculator responsible for the all the math required for the simulation, collision detection for circle-line, rectangle-circle, line-line etc Implemented A* Pathfinding algorithm, MessageBus system using Data oriented Design Implemented the state machine for a very complex AI behaviour of the enemies. The enemy has the ability to analyze and take actions according to a situation in the game. It can take cover and shoot with respect to players position, revive friend when its almost dead, dodge grenades, ability to react to a surrounding (consuming poisonous sandwich and running to toilet later), choosing not to go to pick a gun if bare handed and the gun is in danger zone etc The motive is to make the enemy think like human, this brings a lot of variation in the game depending on the situations(inspired from Hitmans AI)