I’ve gotten myself in a bit of a pickle writing dialogue trees in games at times, usually after getting carried away in a moment of creativity and enthusiasm. Before I know it, I’ve all these ideas spinning in my mind but completely lost my direction. But I find a bit of pragmatism is all it takes to avoid those nasty dialogue tree pickles. I was interested to take a more formulaic look at how I map out branching dialogue, so here’s a basic guide to break it down.
What exactly is branching dialogue?
Essentially, branching dialogue is different ‘menus’ of choices where each choice that the player makes triggers a response from the NPC, followed by a new menu of choices. But how do we give an immersive, truly open-ended feeling to the player’s decisions, whilst trying not to overwhelm ourselves with writing countless different paths?
I’ve felt enthusiastic about a branching dialogue idea at times and run at it, guns blazing, hacking away at it until I end up lost in my very own tangled mess of endless branches. As much as it’s tempting when you find yourself in your writing zone, it’s crucial that we invest time into planning these kind of dialogues beforehand. So what would be a methodical approach to structuring an unrestrictive dialogue tree?
Let’s begin at the end of the dialogue and work backwards…
Step 1 – Outcomes
Some dialogue trees have no outcome. They might strictly be informational, with a little sass sprinkled into the player’s options for sheer flavour and role-playing value. But, more complicated dialogue trees will have two or more different outcomes that will happen based on the player’s choices.
- Outcome A: Positive reaction from NPC
- Outcome B: Negative reaction from NPC
- Outcome C: Conversation ended early
Once I’ve established these, I like to make a kind of skeleton of the dialogue tree that leads to these outcomes by using only the main choices and minimal writing. I’ll just add in temporary place holder dialogue at this point, solely so I can see how it takes shape and where all the branches split off and rejoin again, otherwise I just get stressed out and lost in my own mess. Later on I can go back and add extra responses to cater for different player personas…
Step 2 – First stage responses
At the start of the dialogue, the player’s choices will be at their most varied in order to offer all paths to the outcomes (A, B and C). I like to think of these available options sitting along a meter gauging from psychotic evil to supreme, selfless heroism. If you can cover lots of the in-between bases, you’re going to have a fulfilling experience for the player where they can truly stick with their own chosen personality.
Image from Quandros Beyond
Gradually, throughout each new wave of choices, dialogue options will become less diverse based on the direction of previous choices. For example, if, at the beginning, you decide to straight-up punch a guy in the face, he’s not gonna be as amicable as before, is he? You’ve pretty much narrowed your next options down to asshole outcome B and there’s likely no going back.
The player’s made their bed and they can lie in it now.
You can eventually add as little or as many variations of the below actions as you want, taking from our psycho gauge mentioned above:
- Positive action – Hero response. This will progress you to the next menu of neutral-positive options.
- Neutral action – Informative or non-committal response. This will loop back to the same options again.
- Exit action – A chance to leave the dialogue completely.
- Negative action – Jerk response. This will progress you to the next menu of neutral-negative options.
Try to be clear on where the player’s choice will lead them before that point of no return. I was recently playing Divinity Original Sin 2 (which I found very inspiring for this article by the way) where I chose to bitch-scratch a lizard’s face to interrogate him for more info. After choosing the bitch-scratch, I then found myself with only three choices of different kinds of horrific torture methods (with no return), and I was immediately crying at the screen to go back. Because I’m a goody two shoes and I wasn’t up for horribly gutting a lizard man to death (totally reloaded that mutha). I’m all bark and no bite.
So! We want to find a balance of realistic flow while also making sure that we aren’t inadvertently tricking the player. Try and keep choices clear to prevent the next, more limited options, from becoming dooming and frustrating.
Step 3 – Funneled responses
So now it gets a little more linear. The player’s already kickstarted the noble or violent or whatever path and there’s not really any going back. At this point the options will likely be all but flavoured variations that lead down the same path. Perhaps you can add a cowardly escape option, but there’s certainly going to be less clout now that we’re deeper into the conversation. So how can we allow the player to continue feeling that sweet sweet freedom of choice they had before, even though they’re stuck on a single track to one outcome now?
- Passioned response – Fanatically positive or negative
- Rational response – Neutral but still leading down the same path it’s already on
- (Optional) Flavoured alternative – Somewhere between the two above. Perhaps cheeky, humorous or another vibe you want in your game.
- (Optional) Exit – A chance to possibly end the dialogue or change this path.
Step 4 – Add Some Flavour
If you have two responses (as in step 3) that lead to the same result, a fight for example, will you write completely different paths for each response? Realistically, unless you have the determination and patience of a saint (and all the time in the world), probably not. But there’s a way to keep it unique and tailored for each choice. We add one unique response line from the NPC and then rejoin the NPCs dialogue back to the leading branch progressing to the same result. So we’re using a little hack to kind of double up on their response for a more tailored result, kind of like an add-on.
If you look at the chart below and check out step 4, you’ll see that there are 3 dialogues added in right before the resultant dialogue ‘guess I’m screwed then’ for extra flavour. This just adds some form of acknowledgement of the player’s choice and hence a much more fulfilling roleplay for the player. It’s a nice compromise, and if we want take it deeper, we can combine it with different relation bonuses too.
Just remember that this is a very basic structure with minimal options, layers and branches, plus I’ve used quite a clear-cut ‘good vs evil’ example with only two outcomes. Creative writing should have no boundaries, so work from this as a stepping stone and let your ideas take it wherever it goes!