Wow, what a mouthful of a title.
It is appropriate, perhaps, since writing multi-threaded dialogue isn’t exactly straightforward either.
“What is this multi-threaded dialogue, and what can it do for me?” you might ask.
Multi-threaded dialogue (MtD) is a construct you find in video games, most often in RPGs. Just as a storyline may be referred to as a narrative- or plot thread, individual conversations (that are a part of such storylines) can have multiple tracks, lines of questioning and resolutions. A non-player controlled agent can thereby become more than a virtual signpost with a single message barked forth at a prompt, by mimicking a dialogue based on player choices.
The player interacts with an NPC. A dialogue box appears with the worlds “Hello World!”. The player can do nothing but close the dialogue box.
Without multi-threaded dialogue, this is all the NPC will ever say to the player.
The player interacts with the same NPC A dialogue box appears with the worlds “Hello World!”. The player is given a choice to answer: (1) “Hello!”, (2) “I am not the world.” or close the dialogue box. If one of the first two choices are made, the NPC reacts with (1) “Nice to see you.” or (2) “Then we have nothing to discuss” after which the dialogue box will close automatically.
With multi-threaded dialogue, the NPC will react to the players’ input, predetermined though it may be. The example above is fairly simple, but ever-growing and branching dialogue trees (as they are sometimes called), which map out the chains of causality in individual scenes and conversations, can quickly grow monstrously large and and unwieldy for whomever is writing and crafting it.
I am currently working on a project that includes many of these multi-threaded dialogues. Over the course of developing a fairly simple scene, I would often end up with four or five separate branches at a given juncture based on conditions that include (but are not limited to) player choice, successful or failed stat checks and followers present.
When mapped out in a 2D space, these conversations expand vertically as they progress, and sprawl out horizontally, reaching further with each available choice and permutation.
With each tier of conversation choices becoming ever-more complicated I initially tried to finish and map out each horizontal grouping in a tier, before moving vertically on to the next. This practice became both time consuming and confusing in the end, as it would lead to difficulties consolidating the various threads down the line. Doing so is relevant, because text-heavy games are often translated (localized) for release in other languages than English. When every word adds to the cost of translation, the entire game quickly gets a “word budget” it has to stick to.
On a given play-through, a player is not likely to experience all of the written content in a branching narrative. Thus, writing an efficient dialogue tree, where dialogue threads are consolidated and each line of readable text is used as much as possible while maintaining a high quality of content is important.
To save yourself from too much of a headache, trying to juggle all those conversation threads, write one full chain of answers and responses first, from beginning to end. From “Hello” to “Goodbye”, this will help you constrain the scope of the dialogue. After that, grab hold of that tried and tested writers trick and write from end to beginning. If the dialogue can result in a fight rather than parting peacefully, add the outcome “Sword, meet evil!” (adjust as appropriate for the setting or don’t) and then work backwards on how you got there from “Hello”. Pad out the conversation with outcomes, choices and consequences until it suits the needs of the scene, fits the characters involved and adheres to the projects’ word budget as optimally as possible. Remember: less is more.
I hope my mistakes and experiences help you as you create staggeringly brobdingagian mazes of intensely engaging dialogue. Thanks for reading!