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!