Conversation

From Dragon Age Toolset Wiki
Revision as of 22:25, 29 July 2009 by Allan Smith (Talk | contribs) (fixed path errors and tidied up a bit)

Jump to: navigation, search

Conversations contain lines of dialogue, usually focused on one NPC and the player's interaction with him or her. Each line of dialogue can have the following associated with it:

  • The text of the line, which can be displayed in-game
  • The voice over (for non-player characters)
  • The speaker's facial performance (lip synching and expression)
  • Stage information for positioning the actors and cameras in an area (optional, some conversations can occur anywhere and use default staging)
  • Cutscene cinematics that can potentially override any of the above with more detailed and complex events.

A conversation is usually associated with a creature, which is referred to in the conversation with the "OWNER" tag. They can also be associated with placeables, or simply used as a container for lines of dialogue used in a cutscene.

The main body of the display for this type of object is one or more tree-shaped structures containing all of the lines or actions that can be reached in the course of following this conversation. For example:

Conversation tutorial 2.png

Red lines are those spoken by NPCs, blue lines are those spoken by the player (usually chosen from a group of alternatives). Grey lines are lines that are 'linked' to other lines, allowing the flow of the conversation to jump to other branches or repeat itself if needed.

Below the main display is a tabbed pane containing options that can be set on a line-by-line basis.

Global Settings

The global settings tab is only present when the root node of the entire conversation is selected. This is where one can set defaults for who is listening and who is talking (in conversations with more than two individuals you'll need to override these defaults on a line-by-line basis as needed).

You can also set a number of flags involved in cinematic effects:

  • Lock all gestures
  • Lock all poses
  • Lock all RoboBrad
  • Lock all cameras
  • Ambient Soundset Type

Also available in the root node are a simplified plot and scripting tab (see below for details) that allows you to modify plot flags and trigger scripts when the conversation ends; this is helpful for preventing errors and saving time when crafting a conversation that is always supposed to have the same effect on the world when it's over but that has many different conversation end nodes scattered throughout it.

The cinematics tab of the root node allows default cinematics information to be set, which is inherited by the rest of the nodes in the conversation unless overridden.

Finally, the root node has a conversation synopsis text field where a summary of the content and purpose of the conversation can be placed for ease of reference.

Dialogue

Conversation dialog.png

This tab contains the string of text that is displayed to the player when this node in the tree is reached.

At the lower left corner are some statistics for this line and for the conversation it's a part of.

  • Player Response Length Maximum: 60 characters
  • NPC Response Length Maximum: 200 characters

Also in the lower left corner is the string ID for this line of dialog, which is used when recording voice over audio.

Formatting tags

Emphasis tags

To indicate that a word in spoken text is emphasized, use <emp> tags. In subtitles, text inside the tags will be bolded.

For example: "I don't <emp>think</emp> so." appears in-game as: "I don't think so."

Description tags

Description <desc> tags are used in three ways: 1) To set apart a non-spoken sound (NPC lines), 2) To describe action that is not voiced (player lines), 2) To indicate that a persuade line is a lie or charm (player lines), 3) For text that describes an object (object lines).

In subtitles, text inside <desc> tags will be italicized and put into parentheses.

1) Unspoken sounds (such as a sigh, sob, or grunt of pain) - NPC lines only.

Write out the sound, not a description of the sound.

  • Incorrect: "No! Please don't kill me! <desc>gurgling sound as she is stabbed</desc>
  • Correct: "No! Please don't kill me! <desc>Aaargh!</desc>

"If only... <desc>sigh</desc> Alas, it cannot be." appears in-game as: "If only... (sigh)' Alas, it cannot be."

2) Persuade lines that need to be marked as "lie" or "charm" - player lines only: When a line that has been flagged in the toolset as a "Persuade" line needs to me marked as a specific "lie" or "charm", write Lie or Charm at the line's beginning. Then, use <desc> tags around that word so that it will be set off from the rest of the line. For example: <desc>Lie</desc> "Of course I didn't report you to the authorities." appears in-game as: "(Lie) Of course I didn't report you to the authorities."

3) Text that describes an object - Object lines only: When a line is created to describe an inanimate object, such as a bookcase or chest, descriptive lines for that object should be marked with <desc> tags. The writer creates a "character" in the toolset ("bhm700_bookcase"), and writes a line to describe that object. For example, <desc>This bookcase is full of dusty, moldering books.</desc> or <desc>The phylactery is warm to the touch and filled with a small amount of viscous, red liquid. You see no way to open it.</desc>

  • Correct: <desc>This bookcase is full of dusty, moldering books.</desc>

All such text should be written in third-person, present tense, with the player always referred to as "you".

  • Incorrect: <desc> The phylactery is warm to the touch and filled with a small amount of viscous, red liquid. I can't see any way to open it.</desc>
  • Correct: <desc>The phylactery is warm to the touch and filled with a small amount of viscous, red liquid. You see no way to open it.</desc>

The tech designer will need to create a placeable in the appropriate area. The character for that placeable should be set as "null". (This indicates that no VO recording is needed for that line.) It should also be set to appear on the screen even if subtitles are turned off by default.

Action Tags

Action tags <act> describe player action. In subtitles, text inside <act> tags will be italicized and put into parentheses.

For example: "If that's the way you want it. <act>Kill the soldier.</act>" appears in-game as: "If that's the way you want it. (Kill the soldier.)"

  • Incorrect: {Owner}: "Here. Take this. <act> Opens chest, removes sword.</act> It was your father's."

Macros

The <FirstName/> macro will be replaced with the first name entered by the player for his character. Since the player character's name can be anywhere up to 20 characters long, player lines using the <FirstName/> macro can only have 40 characters (not including the macro itself).

Macros are used fairly rarely in Dragon Age since voiceovers accompany most lines and cannot be modified to match lines with variable text.

Other settings

Also on this tab are some additional flags and tags that can be set for this line.

  • Skill/Icon - allows an icon to be placed next to this line indicating that a skill must be used when the line is selected by the player
  • Speaker Tag and Listener Tag - defines which character is the speaker and which is the listener (can be set to default)
  • Language - defines which language the line is spoken in.
  • Fast Path - Any line with "Fast Path" set will be the first option presented to a player when they reach this conversation node. This can be useful if you want to provide an easy way to blow through the conversation tree without having to read it; if you mark the shortest path through the tree with this flag the player will only have to tap the "1" key to pass through it. You can also do this without the fast path flag by arranging your conversation nodes in the correct order, but restructuring an entire conversation tree for this purpose is a more complex task.

Plots and Scripting

See conversation plots and scripting for details on how to use plots and scripts to make certain lines of dialog "conditional" (appearing or not appearing based on conditions in the game) and how to have certain lines cause scripted actions and change plot flags.

This tab also includes an option to easily set a line so that it appears to a player only once (either once per conversation or once per game).

Cinematics and Animation

See conversation cinematics and animation for details of how to control the performance of your virtual actors. Conversations without cinematic direction set for them will use a default over-the-shoulder camera style that's serviceable for most conversations, but which might become dull when used for all of them. Adding some animation and varying the camera angles can go a long way to spicing up a conversation, and for special events you can add much more than that - even integrating full-blown cutscenes into the middle of a conversation.

Localization and Editing

These two panels are used for keeping track of the status of the localization and editing process for this line. This is useful for large-scale collaborative projects, such as Dragon Age itself, but may not be of as much use for individual adventure designers.

Slide Show

The Slide Show tab is used to produce a simple form of "cutscene" that consists of a pre-rendered still image that's shown while the line is displayed or voiced. Images used in a slide show can be in TGA, TPC or DDS format.

Toolbars

Conversation toolbar labeled.png

  • "Find links" generates a list of other places in the tree that have this line as their child. See the "looping conversations and re-using lines" section below.
  • The highlighting toolbar is handy for rapidly finding and paging through conversation nodes with particular properties. There's forward and backward buttons for jumping from highlighted node to highlighted node, and a set of togglable highlight selection buttons that turn on and off highlighting based on node characteristics.
  • "Once-per" lines include both once-per-conversation and once-per-game
  • Highlighting lines with plot involvement will prompt you to select which particular plot to highlight.

Looping conversation and re-using lines in multiple places

Although the basic structure is tree-shaped, the flow of the conversation can be structured to return back to previous nodes in the conversation. To cause a node in the tree to repeat:

  • select the node you want to return to,
  • "Copy" it (control-C, or select copy from the right-click menu),
  • select the node you want the repeated response to be a child of,
  • select "Paste as link" from the right-click menu.

The link node will appear in gray and cannot be edited. If you edit the original copy of the node all linked copies will reflect the change. You can only link nodes that have the same type (player/non-player), the paste-as-link option won't be available if the node currently saved to the clipboard can't be linked to a child of the currently selected node.

To find the original copy of a linked node, right-click on the grey node and select "Jump to Target".

Using the "once per conversation" or "once per game" visibility setting for the children of a repeating node is useful for preventing the player from cycling multiple times through the exact same dialogue.

Recording VO

To record your own voice-over, you'll need some method for recording your voice as a wav file. Windows comes with a basic sound-recording program but other more sophisticated programs are available free for download as well. The wav file must be recorded in or converted to PCM 24 khz 16 bit mono format, otherwise the process will fail and an error message will be displayed in the log.

Real vo needs to be stored in My Documents\Dragon Age\modules\[modulename]\override\toolsetexport\[lineid]_m.wav - you can dump .wav files anywhere under the toolsetexport directory and they will be picked up but for organizational purposes you should probably organize it into subfolders grouped by conversation.

The wav file's filename must be of the form "[lineid]_m.wav" with [lineid] replaced by the ID number for the conversation line's string table entry. For example, if a conversation's line ID number is 344169, you'd save the voice over for this line as "344169_m.wav".

When you select "generate VO" from the toolset, the toolset will first check the above directory for properly named files. Any wav files that are not present will have robo vo created, and any that do exist will be used as-is.

A quick way to verify that voice over generation worked after processing: go to My Documents\Dragon Age\packages\core\override\[conversationname].fsb and play it with windows media player. You will hear all of the VO lines for that conversation packaged together with whatever combination of real and robo VO all slapped together in one file.

Glossary of design terms

  • Branch: A dialogue option that adds flavor to a conversation, but doesn't change the direction of the plot or story. Branches always come back together at a choke point.
  • Clarification Hub: This allows a player to return to an NPC and clarify plot elements, get directions, or find out information about the current area. Generally, an single NPC line asks the player what he wants; a list of questions is then available to the player. Once the player has received an answer, the same list reappears (minus the question just asked). The player can loop infinitely through this NPC dialogue.
  • Path: The dialogue options players can select that change the direction of a plot or story. For example, when a player is given the option of accepting a quest, there are two different resulting paths (based on a "Yes" or "No" answer). Unlike branches, paths never come back together. Each path has a different ending condition.
  • Question Hub: A list of questions presented to a player that allows him to ask multiple questions to clarify information he's just learned. After a response is given, the player can ask the remaining questions. It's possible to loop indefinitely through a question hub, but only by asking non-critical questions. Unlike a clarification hub, at least one question drives the conversation tree forward and eliminates all remaining questions. For example, an NPC gives plot critical information; once she relates the details, the player can ask four specific questions. Three of the questions are non-critical: they give flavor and/or enhance role-playing. These questions allow for infinite looping. However, the fourth question drives the conversation forward and eliminates all other questions. This important question should always be located beneath the "lesser" questions.

Associated Links