Space Invaders

Published:

A robust recreation of the game Space Invaders developed with a barebones game engine, TEAL, based on the SFML framework. This application implements numerous design patterns to enable testing, maintainability, and expansion of the game with ease.

Walk-through


The Experience

This project was the result of 20+ hours per week of work in a 10 week architecture of real-time sytstems course at DePaul University.

Object-Oriented

  • The goal of this project (besides recreating the arcade game) was to use as many design patterns as possible. In total, over 10 different design patterns were used, including: Singleton, Flyweight, Iteratoor, Strategy, Null Object, Factory, Proxy, State, Visitor, Adaptor, Observer, Command, Composite, Object Pools, and Template.

Optimized Collision System

  • There are numerous different systems throughout the project, all of which are described in the pdf below. One of these is the collision system, which makes use of the composite pattern to create group axis-aligned bounding boxes (AABBs) that are checked before iterating any child objects. This reduces the number of collision checks required per frame, with an “early-out” strategy.
My CV is available for download here. Last updated April. 2021.