This is the fourth part in a multi-part series on branching conversation systems (crossposted at my personal blog). See the Introduction for context.
Last time, we went over high-level principles you should keep in mind when constructing a branching conversation scene. This time, we’re going to talk specifics–ideas to apply on a line-by-line level. Think of this as a toolbox, with specialized tools to be used in the correct circumstances.
We discussed making the Player character the star of the scene and how choices matter in part four. This is one way to act on those lessons: The Player should be choosing responses at (and ideally only at) the most dramatic moments of the conversation. (And when I say “dramatic moments” I mean dramatic for the Player character–if two NPCs are reuniting after ages apart, that may be the most important moment for them… but for me, it’s just a nice touch.)
Of course, what qualifies as a dramatic moment will entirely depend upon context. A quiet moment between friends (the Player character and an NPC) in which the NPC confesses that he doubts the Player’s quest will succeed will have far more subdued high points than a hostage negotiation.
It’s also worth looking at this guideline from the opposite direction: If you find yourself writing Player response sets in which the Player’s lines aren’t especially compelling–where the Player is just pushing the NPC to keep talking and not really being a dramatic force in the conversation–you’ve probably either chosen the wrong place to have the Player respond or need to reconceive your conversation altogether.
How long, on average, should an NPC go on before the Player is able to respond? As usual, the answer is “It depends.” Ask yourself how engaging the conversation is when the Player isn’t picking from different options, and you’re on your way to an answer.
Voiceover and cinematics tend to be more engaging than text–but text moves a lot faster, so the end result may be about the same. Two NPCs talking tends to be more interesting than one long NPC monologue (though a single NPC focused on me is more likely to hold my interest than two NPCs focused on one another and thereby stealing my spotlight). Forced Player lines (if done well–see below) can keep a scene focused on the Player character without requiring a response set, again heightening engagement.
Is the Player getting bored? Is the focus of the scene shifting away from the Player character? Is there a dramatic high point or item of interest the Player would want to respond to, but can’t? If so, you’ve gone on too long without Player interaction.
Once you know your system and you’ve seen it in action, you’ll probably develop a rule of thumb that fits your particular game. It might be “the Player should almost always have a response option after 2-5 lines of dialogue, regardless of the speaker” or it might be “NPCs shouldn’t say more than 50 words without at least a forced Player line, and never more than 100 words from all characters without a response set.” Write, playtest, and iterate to find the perfect balance.
Here’s a simple but important one: when you give the Player a set of responses, make sure the Player is responding to the last thing the NPC said. For example:
NPC: The Fed chairman is corrupt. I’m sure of it.
NPC: Now I’ve lost my home, my bank, my Manhattan penthouse. Trust me–you haven’t lived in New York until you’ve commuted by helicopter.
Player Response 1: What makes you think the chairman is corrupt?
Player Response 2: That sounds awful.
Player Response 3: I shot down a helicopter once.
Responses 2 and 3 are fine (if not especially interesting), but the first response backtracks into the NPC’s previous line. You’re already diverting the Player’s attention from the NPC’s dialogue by bringing up response options–don’t confuse matters by making the Player respond to something that’s not even on-screen (for text games or games with subtitles) anymore.
For this particular example, the solution is probably to move the “Fed chairman” comment to the front–it’s important enough that the Player should be responding to it anyway. This ties into the need to place Player responses at the dramatic high points of the conversation, as well as our next item.
The best way to get Players to internalize something is to let them interact with it. If an NPC has something to say that’s vital for the Player to fully understand, that’s a good place to give the Player a set of response options. Let the Player react to or question the revelation as appropriate. (Again, these revelations should ideally be dramatic high points of the conversation already.)
Similarly, don’t bury items I want to respond to in non-interaction portions of a scene. If an NPC mentions something in the course of a conversation that the Player wants to respond to but can’t, it’s immensely frustrating.
We’ve talked before about giving different Player character archetypes and personalities different response options, but it doesn’t hurt to reiterate: Your Player should always find at least one response appropriate to her character in any set of responses. That doesn’t mean that every response set needs to highlight every possible personality trait a Player character might have–but if you have four responses and three suit extremes of personality, the fourth should probably be more moderate to cover the rest of your Players. (Questions work well as “if all else fails” responses–a Player who doesn’t like more decisive options will often settle for a question, unless total disinterest is a natural Player character response under the circumstances.)
Try to avoid situations where the Player is forced to choose between several responses that all indicate roughly the same thing, even if the responses are delivered with different attitudes. “Of course I’ll help you” and “I hate doing this” both boil down to agreement. Sometimes these sorts of response sets are a necessary evil, but do your best to minimize them.
If your game uses text for Player response options (as opposed to symbols), make your responses visually distinctive as well. That is, avoid multiple options that all start with “Can you…” or otherwise look the same at a quick glance. Your response options aren’t just lines of dialogue–they’re also UI elements, and the rules of smart UI design hold true.
Generally speaking, avoid sets of Player responses that are all questions. (The possible exception would be explicit question hubs, if that’s a standard feature of your game.) Aside from the repetitive aspect, questions tend to put the Player in a passive position–sitting back and receiving information–rather than an active one. Even “Tell me about the victim” feels more active than “Who was the victim?”
As with determining response frequency, the answer to “How often should I branch?” depends on a hundred other factors. But if you’ve got more than a tiny handful of Player response opportunities in a given conversation and you’re writing a conversation-heavy game, it’s not unreasonable for most Player responses to lead to a few unique NPC lines, then merge back into the critical path of the conversation.
The fewer Player conversation choices you have in your game, of course, the more you want those choices to feel significant. In a game with rare conversations and only one or two choices per dialogue, you may want every choice to branch and never merge back.
Avoid delivering important information in the first line or two of a conversation. In most games, dialogue sequences use a separate gameplay mechanic from the rest of play; Players need a few moments to transition into a “dialogue” mindset and refocus. Sometimes they need a few moments to turn the volume up! (Establishing mood or recapping something the Player already knows is appropriate here, and don’t drag the transition out–just a few seconds will do.)
We discussed forced Player lines at length in part two, but let’s revisit them briefly now that we’ve talked further about writing to a range of possible Player character archetypes and personalities. When you use a forced Player line–that is, a line that the Player didn’t choose through a response option–be certain that either:
a) The line is sufficiently neutral as to fit any viable Player character.
b) The line expresses a personality trait, but is exclusive to a branch where the Player already expressed that personality trait.
In the former case, the forced Player line is rarely going to be interesting–although it’s certainly possible to require that the Player character always be, e.g., funny, but allow the Player control outside of that aspect. (So forced Player lines for such a character could be amusing, but not express ethical or personal judgments.) Basic greetings and questions are usually inoffensive and can help massage a conversation along without destroying the Player’s vision of her character.
In the latter case, it’s usually fair to assume that if the Player just yelled angrily at an NPC, you can probably use a few angry forced lines following. (This same theory applies to Player choices, as well–if the Player expresses love for an NPC, you don’t necessarily have to offer the Player an opportunity to yell angrily in the next set of responses in the branch. On the other hand, it’s not a bad thing to let the Player contradict herself–she may have accidentally chosen an option and decided to backpedal.)
Very careful use of variables can also support forced lines of this type: If the Player swore in the last conversation to seek revenge on a foe, opening the next conversation with that foe with an angry forced line isn’t necessarily inappropriate. Be careful with this, though–Players change their minds, and Player characters should be allowed to evolve and grow.
One last warning on forced Player lines: There are few worse things you can do to break a bond between Player and Player character than making the Player character say or do something the Player doesn’t want. When in doubt, make it a Player option. Never, ever force a Player character to state something on the theory that, if the Player character feels it, the Player is likely to go along. That may be true in traditional media–when a novel protagonist I love hates another character, I’m inclined to feel the same–but in a game in which the Player controls the emotional inner life of the protagonist, you must respect that control as sacred.
Make the Player heartbroken or angry, and she’ll make the Player character heartbroken or angry herself. Make the Player character heartbroken or angry without consulting the Player, and you’ve just broken your pact with the audience.
Use variables to emphasize choice and consequence in two ways:
First, let NPCs reference (by having multiple lines that play depending on which variables have been set) past Player choices whenever appropriate. Even if this doesn’t branch the conversation in a meaningful way–even if it’s just one different line before the branches merge–it helps reaffirm the Player’s agency. In part four, we talked about how Player response options that “don’t matter” act as a sort of thematic filter for the story; NPC references to past choices act the same way. If every now and then, an NPC looks at me a little more warily because I killed a man at the start of the game, my experience is different than it would be if that murder never came up again.
Second, set and reference variables within the course of a conversation to add a degree of verisimilitude. If the Player is obnoxious and sarcastic at the start of the conversation, don’t branch the whole dialogue tree–but set a variable, and have the NPC deliver an alternate line when the Player leaves at the end. Use variables to avoid scenarios where NPCs appear to have the 5-second memory of the proverbial goldfish–scenarios where the Player’s attitude and questions are forgotten the moment branches merge.
Be careful not to overuse variables, though–while the Player may appreciate them, you’ll eventually make a conversation difficult to edit and understand, difficult to playtest, and difficult to script. A conversation in which poorly tested variables trigger the wrong lines is not one the Player will appreciate.
In a game where branching dialogue sequences are only one of many types of gameplay (e.g., in a typical role-playing or adventure game), integrate non-dialogue gameplay choices into conversation through variables. Did the Player character sneak past enemies instead of killing them? Does the Player character wear the armor of an enemy faction? Has it been especially long since the Player character last talked to an NPC? Referencing such choices in dialogue helps keep the Player from feeling like she’s playing two separate games–a “story and conversation” game and a “non-dialogue gameplay” game. Each should impact the other.
One of the biggest challenges you’ll face when writing a branching conversation with voiceover (aside from getting the actors and directors to understand all the nuances) is maintaining flow from one line to the next. Every time you link from one branch to another, you undergo a tonal “reset,” and your actor must find a way to deliver the linked line that makes sense coming off multiple preceding lines.
In some cases, you’ll need to permanently branch a conversation just for tone. Imagine a branch in which the Player punches the NPC, angrily demanding answers; and a second branch in which the Player bribes the NPC. When the NPC agrees to cooperate and delivers the information the Player asks for, the lines could conceivably be the same in both cases–but the delivery should be vastly different.
At other times, you can try to return the NPC to a certain baseline attitude before merging branches–use a few lines to transition so that the NPC isn’t angry one moment and calm the next. This all assumes, of course, that you have a method of communicating your needs to actors and directors.
Avoid scenarios where one character cuts another character off in mid-sentence. During the recording process, lines will likely be recorded piecemeal and when it comes to branching, it will be difficult to figure out where lines match up. (It’s not impossible, but it’s very painful and time-consuming unless you’ve got multiple actors recording a scene together–and the end result may still not sound good. Judge the costs for yourself.)
And that’s it for our series. Special thanks to Daniel Erickson and Cameron Harris, who read and delivered feedback on my earliest draft; and thanks to the commenters at Gamasutra for building on my analysis and adding useful insights.
I may return to this subject at a later date if I can find an interesting approach or another stone to turn over. In the meantime, I can always be reached through my website at alexanderfreed.com for further discussion.
As I said when we started, I’m a great believer in branching conversations as a narrative tool. Awkward as they may be, they’re still our best way of giving Players a sense of agency in dialogue and helping to explore a Player character’s emotions and inner life. And while they’re certainly not appropriate for every game, they’re an integral part of some of the most highly regarded narrative-driven games in the industry’s history.
They're also distressingly difficult to do well, but let's at least learn from one another's mistakes. Do good work, my friends!