Adventure Game Dialogue Part 1: Analysis

Adventure games use a lot of dialogue. Characters are going to have to talk to one another and, unlike books or movies, game dialogue is non-linear and gets complicated quickly.

To see just how complicated it can get, I laid out the initial conversation between Guybrush Threepwood and Mancomb Seepgood in the Scumm Bar early on in The Secret of Monkey Island. This conversation is short enough to be manageable yet still has many of the advanced features of a complex interaction.

Players often hit dialogue options, where they can choose to respond to these characters in different ways, in turn sending them down different conversation paths.

Often, these paths are circular, sending the player back to the initial set of options. Sometimes, if that conversation branch is unimportant to the progress of the player, the option they chose will vanish from the list of options.

Other times, if it’s an important piece of quest information, that option will remain, but may be phrased differently. For example: “You need to find the Skull of Blackjack” the first time and “Have you found the Skull of Blackjack yet?” subsequent times.

As well as this the non-linear text flow, there are other features that often pop up in more advanced adventure game conversations:

Character state changes

During this conversation, Mancomb’s face moves between a smile, narrow eyes, and a neutral expression depending on what he’s saying.

 

Three side by side screenshots of a hoary old pirate in a red jacket, Mancomb Seepgood, showing the three main faces that he makes when you talk to him

In other conversations in the game, characters move their position on screen between lines of dialogue.

Repetition management

When you first approach Seepgood, he asks you if you’re new in town. In subsequent interactions, he says it’s nice to see you again.

 

Screenshot of a node editor that shows the interconnected nodes that diagram a conversation between Guybrush Threepwood and Mancomb Seepgood in The Secret of Monkey Island

Variables

As mentioned above, there are some key parts of the conversation that you always return to, however the options available to the player change depending on the route you go through the conversation.

 

Side by side screenshots of a hoary old pirate in a red jacket, Mancomb Seepgood, in The Secret of Monkey Island, showing the changing options available to the player.

These can be managed by internal variables within the dialogue system and simple if statements.

Multiple end states

There are various ways to end the conversation

 

Three side by side screenshots of a hoary old pirate in a red jacket, Mancomb Seepgood, showing the different ways the conversation ends.

Exhaustion

After going through to the end of the conversation, Mancomb needs to focus on his Grog and you can no longer talk to him for the rest of the game.

 

Two screenshots of The Secret of Monkey Island, showing Guybrush in the SCUMM Bar not being able to talk to Mancomb Seepgood.

This is a very basic game dialogue tree with a relatively unimportant character in a game that features hundreds of such interactions.

With the complicated option branching alone, trying to write this kind of game dialogue in a regular text editor would be a short road to madness. Add in the complexities of variables and triggers and it is nigh-on impossible.

Clearly, another solution is needed, one that can handle the complicated dialogue trees and advanced features that these conversations produce.

It should have a standard, platform-agnostic, and text-based format that can be consumed by many different game engines.

Finally, this solution should involve me ignoring freely available options that otherwise fulfil the other two requirements. It should instead cause me to jump down a development rabbit hole where I spend dozens of hours building my own bespoke tool tailored exactly to my needs.

Yeah, I did it again. Learn why I never learn in part two.