Unreal // C++ & Blueprint // Mechanics Design // Prototyping // Scripting

Sustain is an isometric tower defence game, where you must extract resources from an alien planet, while defending yourself from the local wildlife, all in service to the enigmatic, obviously very ethical, "Sustainable Mining Company".

Sustain is a university project, developed by me and my team, Jaggy Beams Studios. It was created for Abertay's professional project course.

As a technical designer for the team, I had a wide variety of tasks helping with various aspects of development, including:

Collaborative Design

During development of Sustain, myself and the team's games designer would collaborate on the design. I would design the mechanics and the designer would test and change values to balance the game. An example of this was with the enemy system:


Enemy Types

The values for each enemy are contained in a EnemyType struct, and organised together in a map that altogether stores a small, medium and large EnemyType.

Enemy Schools

Schools are the number of each enemy that spawn per wave, using their key in the EnemyTypes map to spawn that particular variant x amount of times.


By exposing the different EnemyType structs and the EnemySchool arrays in Unreal, the game designer can test different values and tune the game's balance without having any Blueprint or C++ experience.

Post-Mortem

Sustain has been a blast to work on, allowing me the opportunity to learn C++, Blueprint and Unreal Engine and further develop my mechanics design skills.

Additionally, working with multiple programmers on very interconnected systems, and especially with Blueprint, also exposed me to best practices with Git version control, which previously I had struggled with.

However, my initial lack of experience with Blueprint and C++ led to some architectural problems. The greatest of these was putting multiple interconnected but different systems inside one "controller" Blueprint, which grew and grew as development continued, becoming cumbersome and especially difficult when it came to merging changes between branches.

The fast paced and short timespan nature of the project means mistakes like these are hard to address, as more pressing gameplay features required development time. If development of Sustain continues past the scope of the University project however, I would like to refactor the structure of the project to be more scalable for future development.

LinkedInTwitterLink