FireSpark

Genre : Serious Game
Language : C++, OpenGL

Our so far biggest project is FireSpark, a searious game about network security. We used the name not only for the game, but also for the engine we wrote for it. In the end it stuck with us as a team name.

The Game

FireSpark is a serious game created to impart an understanding of computer networks and network security to the user.

To achieve this, the user slips into the role of a hacker. As part of an underground hacking organisation he tries to bankrupt a group of evil companies. On the way to his goal he uses several basic hacking techniques like DDOS attacks, SQL injections and packet sniffing.

A database node.

The Engine

To implement our game concept we developed our own game engine. We used modern C++ and OpenGL. Our general architecture is an entity component system. This system follows the Composition over Inheritance principle and allows a greater flexibility during programming.

All our components are C++ classes that are derived from the common base class Component. To determine a component's type, we use the C++ RTTI (Runtime Type Information), this allows to easily add new types of components, by creating a class, that inherits from Component or any existing component.

We also implemented our own way of referencing objects in the engine, for this (almost) every class is derived from the base class DestroyableObject. Instead of normal pointers, we use the template reference class R. So for example R<Transform> references an object of the class Transform.

Trailer

Download

You can download the current version of the game here. Just decompress the .zip file and run FireSpark.exe. If you find any bugs, contact us with the firespark.log file. All required libraries should be part of the .zip file.

Participants

Valentin Beck

Programming
Gameplay

Theobald Beyer

Programming
Procedural Generation
Shaders / Graphics
Design

Daniel Frejek

Programming
Hardware
IoT

Steen Müller

Programming
AI
VR