


Solanis is a flight-based narrative and exploration game, designed to evoke the feeling of awe and wonder as you navigate an unfamiliar land, and become acquainted with its stories.
​
Solanis boasts a beautiful world that players are free to explore at their own pace, 4 fully voice acted characters with included transcripts, two different branching endings, and hundreds of pieces of dynamic dialogue that make every individual story unique.
​
Solanis was designed in Unreal Engine 5, using Inkle's Ink narrative scripting tool to aid in branching narrative development. Over the 9 months of work, I built many systems on top of Ink's core for the sake of expanding functionality to where it needed to be.
Solanis's Narrative Development
From the beginning, we knew that Solanis's narrative design would need to be something special. To fit with a game about flight, all narrative elements of the game would need to be fluid and non-interruptive. To support that, I got started right away building a system for voice-over and branching dialogue based on the actions of the player in the world, instead of choice selection.
​
At the same time, the world building and story needed to feel alive, magical, and mysterious. I built out a set of character briefs and defined two main characters: Phoibe, the silent PC that the player could identify with, and Lady Moon, a strange and esoteric mentor figure with dubious motives. The tension between these two characters would define the narrative for the rest of development. I was in charge of writing in-depth documentation for both the world and all of the characters.
​
When we reached the second half of the project, we onboarded a second narrative designer to assist with the workload. Together, we wrote over 500 lines of voice-recorded dialogue to be used in the game. We also worked with art, sound, and design departments to ensure that the narrative of the game was coming across in all of the game's aspects.

A snippet of one of the dialogue Ink files, showing our custom branching functionality

An excerpt of our lines spreadsheet, used for voice recording

A screenshot of one of our character documents

A snippet of one of the dialogue Ink files, showing our custom branching functionality
Systems & Storylets!
To make Solanis work, we needed plenty of dynamic dialogue to fill out the world, and voice over to make it smooth. To do this, I built a custom Storylet system in Unreal, in order to trigger dialogue based on prerequisites. This meant that I could call certain categories of dialogue in different areas, and the game would automatically play one of the most relevant dialogue options. I also built a custom system to play voice acting alongside lines, and despite us not getting around to using it, I built-in functionality for localization.
​
The storylets combined with our linear dialogue system, which was built on top of Ink's core functionality, but with a number of additions. First, because we never wanted to interrupt gameplay, all dialogue branching was handled with state checks of things in the world: For example, certain dialogue would trigger based on which side the player chose in an earlier game section.
We also knew players might progress through the game at different rates, so I built a queue system to line up dialogue triggers. This meant that multiple dialogue pieces could be triggered in quick succession, and unless specified, they wouldn't interrupt each other (there was, of course, also an option to force an interrupt for vital dialogue pieces).
​
To top it all off, all of the functionality was abstracted behind simple blueprints, to make it incredibly easy for onboarded narrative designers to use the system even without fully knowing its ins and outs!

Abstracted blueprints used to play the story elements of Solanis

A segment of the blueprint functionality that manages the dialogue queue

The blueprint functionality that manages the core storylets system

Abstracted blueprints used to play the story elements of Solanis
Voice Acting & Directing
One of my main jobs as narrative lead was managing our voice acting. All of the dialogue had to be written for performance in time for script lock, and built with timing, pace, and inflection in mind.
​
I managed the auditioning and casting of all of our roles, and then built VA kits for each. I attended the audio recording sessions and worked with sound designers to ensure proper pronunciation and direction for each scene, and faced the real challenge of letting my writing loose and being willing to let the actors interpret it for themselves.
​
For a special challenge, we also had one of our voice actors doing some in-game singing for her character! We had to come up with a proper production order to ensure that everything we wanted to record would go smoothly.

Doing VO directing with Matthew Paquin, sound designer, and Isaac and Brady, our voice actors for Kyria and Azura

Isaac and Brady getting into character for the warring brothers

KatieBeth, our lead voice actor for Lady Moon, warming up

Doing VO directing with Matthew Paquin, sound designer, and Isaac and Brady, our voice actors for Kyria and Azura
The Product Owner Role

The one thing I haven't talked much about yet is the experience of being Product Owner. As PO, my main job was managing the vision of the game, and ensuring priority of tasks. This was a challenge to balance with the work of being narrative lead, but it gave me a ton of experience on the production side of large projects, and left me with a new appreciation for agile rituals and structure.
​
While I was the product owner, Solanis was the combined work of everyone on the team. Nobody's ideas were left behind, and because of our collaboration, the whole project took flight.​ If you want to see the result, the game is available for free on Steam.