
01 Overview
Hyacinth 9 was the third of four larger group projects at Futuregames, developed over 7 weeks by a team of 4 designers, 3 programmers and 3 artists. For Hyacinth 9, we were given sustainability as the main theme.
The game we created is a third-person open-world exploration platformer. The player takes control of L.E.O. (Lethal Entomological Officer), an autonomous AI agent working for the Hardy Interplanetary Cleaning Company.
L.E.O. is sent to Hyacinth 9, an abandoned human outpost that has been overrun by giant insects after an invasive flower species disrupted the planet's ecosystem. The player's job is to find and destroy these flowers, starving the insects and slowly making the planet habitable again.

Team Size
FOCUS
MY CONTRIBUTION
MY ROLE
GAME ENGINE
10
Gameplay Systems & AI
-
3Cs
-
Player Systems
-
Gameplay Systems
-
Enemy AI
-
PCG
Technical Designer
Gameplay Designer
02 Design Process
A lot of my work on Hyacinth 9 involved moving between gameplay design and implementation. Some mechanics started as ideas we worked out together as a design team, while others came from problems we discovered once we started testing the ideas in engine.
Since we only had seven weeks, things changed quickly. I used diagrams, feature documents and iteration notes to work through ideas, communicate them with the team and keep track of changes throughout development. When implementing systems myself, I tried to keep important values exposed so that they could easily be adjusted during playtesting.
Design documentation and iteration notes created during development.
03 Systems & Implementation
Modular Weapon System
We wanted the player to have several weapons that behaved very differently, but with only seven weeks of development I didn't want every new weapon to require its own implementation.
I built the weapon system around a reusable Actor Component, with the differences between weapons stored in Data Assets. This meant I could use the same underlying system for the laser, flamethrower and homing missile while changing things like fire mode, reload time, damage distance, VFX and camera feedback through data.
Since we were also planning to have large groups of enemies active at once, I tried to keep all of this as lightweight as possible by avoiding ticks and unnecessary collision checks.

Weapon Data Asset
Weapon Actor Component
Player Weapons In Use
Dialogue System
Our Narrative Designer wanted to use dialogue throughout the game for worldbuilding and to give L.E.O. and Becky some personality. With only seven weeks of development, we needed something simple that could support the narrative without becoming a large system of its own.
I built a data-driven dialogue system where dialogue could be triggered from different actors in the world through an interface. The Dialogue Manager handled playing the dialogue, while the data contained things like the speaker, portrait, subtitles and voice lines.
Keeping the content separate from the underlying logic also meant that dialogue could be added and changed without having to modify the system itself.

The feature request from our Narrative Designer
-
Data-driven dialogue
-
Voice lines & subtitles
-
Speaker portraits
-
Triggered through a Blueprint Interface
The Dialogue Manager

An early, simplified flowchart showing how the Dialogue Manager can be called to play dialogue.
The final dialogue system in-game (With sound)
Day & Night System
Nighttime played an important role in Hyacinth 9. Our enemy swarming system became active during the night, while the change in lighting also needed to communicate to the player that the world was becoming more dangerous.
I built a Day & Night Manager that controlled the transition between the two states and brought the different environment settings together in one place. Other gameplay systems could listen for changes through Event Dispatchers, allowing things like the enemy swarm to react when night started without having to be directly connected to the Day & Night Manager.
I also added editor controls for changing and skipping time, which made it easier for both myself and the rest of the team to test different times of day without having to wait for the full cycle.
-
Controls the day/night cycle and environment
-
Broadcasts state changes through Event Dispatchers
-
Used by gameplay systems such as the enemy swarm
-
Editor controls for quickly changing time
The final dialogue system in-game (With sound)
Day & Night Manager




