Wednesday, February 9, 2011

Dialogue Trees: Rules to bend and break

There are a number of rules I follow when modding. Fortunately, none of my rules of modding prohibit me from talking about modding,* so that's what I intend to do in this post. Specifically, I want to discuss some of the rules I follow when writing dialogue trees. My last post provided an overview of dialogue trees and the different types of PC responses. This one is going to delve into greater detail, with the sort of concrete statements that might be found in a standards document for a game company.

* That's a Fight Club reference, and obviously not a very clever one since I feel the need to point it out.

Before I start, I should mention my last rule of modding, which is to break every one the rules at some point in the game. This rule is a paradox, because it requires you to break it, which means there are rules that should never be broken, which is actually true. But never mind all that. The point is that slavish adherence to rules tends to make games predictable, so once in awhile, it's good to break up the pattern.

With that, here are some rules, guidelines, pieces of advice - whatever you want to call them - to consider when creating dialogue trees.

The Rule of Three (PC responses)
When writing PC dialogue, try to present the player with three options. In many cases, you can justify more than three options. In some cases, you can justify fewer. But three is optimal, and five is a good upper limit in most cases.

The Rule of Three in Planescape: Torment (actually, the game breaks the lower and upper limits of this rule frequently).
Why three? It's the smallest number that represents a reasonable range of options. Fewer than three options seems artificially confining. More than five options can bog players down with decisions (not to mention force them to scroll down to see all the options).

That said, presenting players with a wider range of options on occasion can be a good thing. On the other hand, giving players fewer options should always be viewed with a dubious eye. Here are a few cases where it might be warranted:
  • When the player is being presented with a binary, yes-or-no decision
  • When you're dealing with Investigation Responses - there's no need to think of multiple questions if there's really only one logical one for the PC to ask (just make sure it's optional)
  • When the PC actually has no control due to a plot-related circumstance - for example, when being mind-controlled

Don't just paraphrase your way to multiple PC responses
A common error seen even in professional games is to present the player with three ways of saying the same thing. This is pointless and a waste of the player's time. If you can't think of three distinct responses, that's a sign that perhaps there should be no responses at all.

Note that "distinct" does not mean "game-altering." The choice could simply be between three different Roleplaying Responses, none of which have any effect on the game's progression. As long as the meaning of the options is different, the player will likely find the choice between them meaningful.

"Chunk" NPC dialogue into multiple nodes
To avoid walls of text, break up NPC dialogue into multiple nodes. It's much easier for the player to read three small nodes - clicking [Continue] or something similar to move from one to the other - than to slog through one large node.

When breaking up NPC dialogue, think of the nodes as paragraphs. Like paragraphs, nodes should be self-contained units with a consistent tone. They may contain multiple sentences, but they should not contain transitions between different ideas or emotions. If an NPC changes focus at a certain point in a conversation, that point should be marked with a new node.

A bit of NPC dialogue broken into two nodes. A new node marks the point where the NPC has a sudden revelation.
There are other factors that may influence how you break up NPC dialogue, such as animation requirements or hard character limits imposed by the toolset (this is the case with the Dragon Age toolset). Getting it right can be a balancing act.

Allow the player to skip non-essential dialogue
Some players appreciate well-crafted dialogue; others just want to click through it to figure out what they're supposed to do next. If you're like me, you're both of those players - lingering over the dialogue at times, and rushing through it at others (often the case when replaying). A dialogue tree can accommodate both styles by making non-essential dialogue optional.

Generally, the best way to do this is to have the NPC provide only the key information, then present the player with Investigation Responses to probe deeper. This is a good approach when the subject matter has a lot of details surrounding it that aren't directly relevant to what the PC is doing, but may nonetheless be of interest to the player.

Another approach, which works well for linear NPC dialogue such as stories, is to give the player a "cut to the chase" option. This allows the player to bypass a long stretch of dialogue and follow an alternate, shorter branch in which the NPC summarizes things for the PC. Of course, writing this separate branch is more work for you, but in some cases, it's worth the effort.

The last option cuts to a much shorter version of the story.

The Rule of Three (consecutive NPC nodes)
This is a tough one to follow, but it's really important. Oftentimes NPCs have a lot of information to get across to the player, especially when setting up a quest or providing key backstory. However, if it's just node after node of the NPC talking, the player is likely to tune out. If you want to keep players engaged, give them a chance to respond frequently.

One big exception to this rule is when the PC is talking to more than one NPC. In a group conversation, where NPCs may direct questions or comments at each other, it may be difficult or even impossible to insert a lot of PC responses. That's OK, though, because group conversations tend to be inherently better at holding the player's interest.

What makes this rule so tough is that those additional PC responses cause the dialogue to branch, potentially creating a lot more work. Presenting the player with plenty of meaningful options without having your dialogue tree sprawl out of control is difficult, which is why my next post while be wholly devoted to the subject.