Object-Oriented
Space Invaders
This project aims to explore real time system architecture using object-oriented design patterns. The goal is to reconstruct the classic video game, Space Invaders, from the ground up using the Azul game engine, which was written at DePaul University, and basic C#. While the finished product may look like what a player would expect to see, what is going on behind the scenes is what is really interesting. From using the Command pattern to schedule animation and movement, the Observer pattern to trigger reactions to arbitrary events, a combination of the Composite and Visitor patterns to organize Game Objects hierarchically and detect collisions, the Singleton and Object Pool patterns to reduce object creation once the system is running, the State pattern to alter behavior of objects on the fly, and more, this version of Space Invaders is a far cry from the original. Check out the link to the design document below for more detail and watch my YouTube presentation video for a demonstration of the application.