Song of Steel
Take the role of ‘The Manager’ and revitalize your father’s derelict theatre, making unlikely friends and even more unlikely enemies. Bring back the glory of the symphony, be it with freedom or under the foot of The Ministry - Sing the Song of Steel.
Timeframe: Ongoing since August 2024
Team Size: 8 people
Roles: Lead Programmer
Scope: Branching narrative game spanning 15 - 30 in-game days, featuring resource management and a fluid conducting system.
Event System Design.
To support our branching narrative, I employed an Event System centered around “dependencies”, mimicking a Job System in Game Engines. Dependencies can be an affiliation levels to people or political parties, a certain day, a certain song being performed, or a prior event. An event needs a dependency of ‘0’ to be considered possible.
I made it a point to support our narrative designers by making it easier to input Dialogue.
To achieve this, I made Dialogue a Struct to allow the use Data Tables - meaning we can input Dialogue into one place and easily search through using Unique Name IDs.
In total, there are 4 Sets driving the system - Possible Set, Locked Set, Dead Set and Archive Set.
System Logic.
With the above premises - I was able to create a system that focus around Locking, Unlocked, and Killing Events.
This allowed designers to have an easier time implementing dialogue and events, as they only need to focus on the content and times at which they occur, and the system handles the logic behind displaying it.
Conducting the Symphony.
The Conduction uses Ease-In and Ease-Out interpolation to follow the player’s movement, and submitting scores based on if they are colliding properly with notes.
The tracking of the Cursor can be tighter or looser based on the difference between the affiliation of the Ministry and the Revolutionary party, respectively. In short, as you were more Nationalistic, they demanded perfection; as you were more towards Freedom, the performance was more loose and artistic.