Game Development Reference
In-Depth Information
Design Issues for Dialog Trees
When you create a dialog tree, you must be sure that every possible pathway
through the tree produces a credible conversation. If the tree is large, verifying this
can be a tedious and time-consuming job. If any of the arrows go back to an earlier
point in the conversation, you may find that you have to rewrite some dialog to
make sure that it works both for the first time through the tree and also for subse-
quent times through. In the sample dialog tree, one aspect definitely is not credible:
the player can ask the same question in the “Ask About Evidence” menu again and
again, and the witness will always give exactly the same response without complain-
ing. This is a weakness of scripted conversations, but it is so common that it has
almost become a gaming convention. Players are usually willing to overlook it.
CONDITIONAL BRANCHES AND EXCHANGES
Dialog trees are seldom actually as simple as the sample dialog tree makes them
look. Figure 7.5 shows a purely fixed conversation whose content is not influenced
by the core mechanics: Each player input produces exactly one response from the
witness. But sometimes you want other factors to determine what choices the
player has and how the NPCs respond. An NPC's response won't necessarily be rig-
idly connected with a player's menu choice. Some other factor, such as the level of
the avatar's charisma attribute, may influence the NPC's reply. In order to specify
this in the tree, you must include a way of indicating conditional branching: some
text that reads (for example), “If the avatar's charisma is greater than 12, give
response A, otherwise give response B.” Likewise, role-playing games that include a
diplomacy skill or a negotiation skill may give players with high skill levels extra
menu items so that they can say things that unskilled characters cannot. To specify
this in the tree, you would have to indicate the presence of conditional exchanges,
such as “If the avatar's diplomacy attribute is greater than 10, also include…” and
specify an exchange that only diplomatic avatars will get to use.
Again, a diagram with arrows may or may not be the best way to document a
scripted conversation with conditional content. Many developers use spreadsheets
to document scripted conversations because a spreadsheet program makes it easy to
add rows and columns as necessary while keeping the document looking tidy. If
you have any programming experience, you may find it easiest to write pseudo-
code. Discuss it with the programmers, because whatever approach you choose, it
is essential that they understand it in order to produce the correct results.
Search WWH ::




Custom Search