Ryan Jones is the Narrative Designer on Remnant, as well as the Systems Designer and secondary coder on the project.
In Part One of this post, I talked at length about both the relevant backstory of Remnant and how it tied into the plot of our short game. Of course, even the best story would be useless without a way of conveying it to the player. Opening up a Word document and spitting out a list of lines would get me exactly nowhere. I needed a plan of attack, a way of moving from the page to the recording booth to the game itself and, finally, to the player. I did a great deal of research on each link in the chain, and I’m excited to finally show the process of how Remnant’s story went from concept to reality.
The Writing Process
I created an Excel document to store all the information I would need for each line of dialogue, both when it came time to record and when I would be implementing the dialogue into the finished product.
Having a sortable list with all the information I would ever need on a line made a big difference. Some of the categories, such as Actor and Cue, are pretty self-explanatory. Describing Context and Inflection for lines of dialogue helped me when it came time to record them, weeks after they had been written. The rest of the categories came out of the need to have good organization when it came time to implement the audio into the game.
It’s important to note that this isn’t the format that was given to our talented voice actors when it came time to record. I knew that if I was going to build up a relationship of trust and creative collaboration with the actors, I would need to hold some of the information you see above a bit closer to my chest. I pulled the Actor and Cue information onto a separate worksheet and made it as readable as possible. I kept the above document on hand during recording sessions, in case actors needed coaching on the context of their lines or had questions about delivery.
Here’s what the actors saw:
I automated some of the formatting process here; the area marked “Lines: Casey” is not just for aesthetics or identifying the document. Instead, it’s a drop-down menu that allows me to select the character for which this particular set of lines is intended. The workbook them automatically greys out any lines that do not belong to that character.
The Recording Process
Recording was incredibly smooth thanks in no small part to the talented voice actors and sound engineers on the project. All told, we recorded seven actors and 429 lines of dialogue over three sessions.
We actually ended up recording one more character than originally planned. On the day of our biggest record, our programmer Elliot was planning on bringing in a few of his actor friends to fill the smaller roles on the project. A few hours before the session, Elliot came to me with a problem: we had too many people coming in for the roles available. Could I possibly write a new female character for the game?
I looked at the current density of lines and was puzzled. How could I possibly add a new character at this late stage without overstuffing the dialogue? If I was going to find an answer, I was going to have to take a wider look at the game. Literally.
The idea was simple: put radio chatter on the Tactical Map between a new character, “AU High Command”, and the fighters that were currently waging war across the system. From the problem of “too many actors” came a solution that actually enhanced the immersion of the game. The tactical map chatter has become one of my favourite stylistic touches in Remnant, and is just one small example of the kind of attention to detail that I love about the project as a whole.
Putting it All Together
I knew that by the time we received all of the finalized audio for the characters in the game, I wouldn’t have the time to fumble through an unfriendly system for implementation. I made it a goal before production even began to have a lightweight solution with usability at its core, the kind of solution that meant dragging and dropping lines of dialogue and linking them to one another, and then allowing an unseen hand move all the pieces into place. I started by looking for ready-made solutions available for the Unity3d engine, but was generally unsatisfied with what I found. I knew that if I was going to have something that worked specifically for Remnant’s needs , I was going to have to build something myself. And so, after looking at how some others had structured their dialogue systems and editor GUIs, I made my own system.
I coded everything above to be usable, readable, and to flow as smoothly as possible. Options appear only when they are needed. Dialogue items can be reordered and deleted, can trigger events, and can have comments attached to them for the level designers. Marking a line as “high priority” helps the system automatically prioritize lines; if a high priority conversation is meant to play while a non-high priority conversation is already playing, the low-priority lines will be stopped to make room for important information. Otherwise, the newly triggered conversation will enter a queue and wait until the previous conversation has finished. Every conversation is passed through and handled by a central Conversation Manager which sends subtitles to the HUD, chooses appropriate portraits for speakers, and plays the sound itself, as well as handling the logic for conversation sorting and dialogue trees.
Yes, I said dialogue trees. One of Remnant’s best-kept secrets is that it features branching dialogue that has real ramifications on the progression of the levels. The eagle-eyed among you may have noticed this section in the image above:
Here’s what that translates to in-game (note that some of the art assets below are not final):
Adding this feature took a small amount of effort but had a great payoff. One of the core goals of Remnant was to make a game that felt more like a world than a generic combat arena, one that makes players feel as though events are happening in the universe, irrespective of their own place within it. Having choices means having a meaningful engagement with the story and the world, and increases the sense that the player is a participant within the world and its story, rather than outside observers who just happen to be passing through to get to the next combat set-piece.
The Icing on the Cake
The final pieces of the puzzle were not dialogue-related at all, but rather add flavour to make the world feel more vibrant and alive. When I sat down to create the Tactical View, I knew that I wanted the information contained on this secondary game screen to show a mix of both mission-critical information and interesting flavour text. Would every player end up reading this text? Probably not. But there were two outcomes I was banking on by writing and displaying this information:
- A player decides to read the planetary information pane and/or bottom information feed, is treated to some interesting anecdotes and history, and leaves with a richer understanding of the world in which they are participating.
- A player does not read the information, but sees it at the periphery. The player leaves Tactical View with the impression that there is a lot more to this world than they anticipated, even if they have little or no interest in exploring that information.
Both are equally valid player reactions to this text and while the writing itself is geared towards the former category, their existence and placement on-screen is tailored for the latter.