Overview

An game engine, written in C++. The engine implements several design patterns to increase adaptability and decrease overhead. They make the engine more flexible and more scalable. This project also implements the Qbert game, made in this engine. The game, uses the engine as a library and uses custom component classes, derived from the engines base component classes.

Design patterns

The engine itself is a component based engine. It implements a basic game loop to run the application. All the events in the game are handled using the observer pattern and the input is done using the command pattern.

The game

The game consists out of 3 levels, each more difficult then the one before. There are also 3 game modes: singleplayer, that offers the standard Qbert experience; co-op, where both players play as a seperate character; versus, where one player plays as Qbert and one plays as Coily.