Total Resistance is a MIT licensed cross-platform tower defense game written in C++11 and inspired by Total Annihilation. The game formed part of my final year Computer Science project at Royal Holloway, University of London. Much of the work was focused on implementing a custom game engine library.
Computer graphics
- Orthographic camera
- Directional lighting
- GLSL shader support
User interface
- Simple 2D shapes
- Textures and solid fill colours
- Text using FreeType fonts
Audio
- Music and sound playback
- Clamped audio mixing
Resource management
- Reference counted resource management
- Multi-threaded resource loading using message-passing
Architecture
- Component-oriented design
- Typesafe publish-subscribe implementation
The game has been tested on both Mac OS X and Linux. Building requires CMake in order to generate platform-specific makefiles or IDE projects. The Clang compiler has been exclusively used during development. You will need to install the following libraries before building the project:
Building the software requires that you first cd
to the /build/
directory and then run one of the several shell scripts provided in the /scripts/
directory.
- Omar Kermad
- Portions of this software are copyright 2014 The FreeType Project. All rights reserved.
- Portions of this software have been adapted from SFML and are copyright 2014 Laurent Gomila.
- All music used in this software was created by Matthew Pablo.