Project to re-create the classic arcade game Space Invaders with a focus on optimizing performance and using design patterns to have a maintainable codebase. Run the solution file in Visual Studio IDE to emulate the game. You may need to install C++/ C# dependencies in the IDE.
- Press 1 to start playing
- Move left and Right with the arrow keys
- Shoot with spacebar
A detailed account of the important systems in the project along with their UML diagrams are in the DesignDocumentation.pdf
-
Standardizing Object Creation
- Factor Pattern
-
Organizing Common Resources
- Singleton Pattern (Manager classes)
-
Separating Ownership From Use
- Object Pool Pattern
- Iterator Pattern
- Observer Pattern
- Visitor Pattern
-
Knowing When Object Collide
- Command Pattern
-
Processing Game Events
- State Pattern
-
Reacting to User Input
- Null Object