How to create branching dialogue
|"Creating branching dialogue"|
"Dialogue" - What's this?
articy:draft has a special type of flow fragment for conversations, called dialogue. Dialogue object are containers that can store and arrange individual lines of dialogue and their interconnections (see below). In contrast to generic flow fragments, their inner structure can be fleshed out with a dialogue-specific set of objects, including individual lines of dialogue (dialogue fragments), hubs and jumps.
This image shows the inner content of a dialogue object (the background canvas ( 1 ) on which child elements are placed). The branching structure in this example consists of dialogue fragments ( 2 ) and hubs ( 3 ).
Anatomy of a "dialogue" object
Please note: The image above shows a "dialogue" object, which is a container for dialogue lines, not an individual dialogue line itself. It wraps the entire conversation.
The template icon is in the upper left corner of a dialogue ( 1 ) and shows at a glance the type of the dialogue.
|In short, you can create custom types of dialogues, e.g. "Trade" or "Interrogation", by defining a template and assigning it. Each template can have an icon for easy differentiation. That's the template icon mentioned above.|
The name of the dialogue ( 2 ) is also displayed in the title bar, as well as a "container" symbol ( 3 ) saying "Yes, there is inner content!" and the claiming state icon ( 4 ) (only in MULTI-USER). The latter indicates whether the object can be edited or is claimed by another user.
A description text ("synopsis") ( 5 ) can be used to state the topic of the conversation, for example. The reference strip ( 6 ) above the description text can be used to attach other objects or assets to the flow fragment. In the image above, an entity has been dropped onto the reference strip. You can freely set the height of the reference strip using the splitter ( 8 ).
There are two pin bays on both sides of the flow fragment for input and output pins ( 9 ). These are sockets for connections between the dialogue and other flow objects.
As described in greater detail on the pins and connections page, input pins can carry conditions for the dialogue to be triggered and output pins can be used to describe outcomes of the dialogue.
Simply double-click a pin to enter plain text:
Besides the branching conversation approach, articy:draft supports hub-based dialogues. Click here for details.
Creating "dialogue" objects
|The following applies in the exact same manner to a dialogue's inner elements ("dialogue fragments", "hubs", and "jumps").|
In "flow view"
To create dialogues in flow view, you can ...
- ... use the drag factory in the toolbar. (Simply drag objects onto the canvas)
- ... use the context menu. Right-click on empty space and select "New -> Dialogue".
- ... CTRL + SHIFT + click on empty space. The default node is created at the mouse cursor position.
To change the default node, use the radiobutton in the "New" context menu.
- ... Drag a connection out of a pin. When "dropping" the connection on empty space, an object creation menu will pop up.
In other viewsIn list and tiles views, dialogue creation is relatively similar.
The image shows the list view on a flow fragment, with toolbar icons for creating flow fragments ( 1 ) and dialogues ( 2 ).
"Dialogue" property sheet
|All about the property sheet view in general can be found here.|
Click the "property sheet" icon in the view selector to access the property sheet.
The sheet begins with the dialogue title as it is displayed in the navigator and other occurrences. In most cases, this is the subject of the conversation. The omnipresent reference strip invites you to drop artwork, documents, web links or other objects and thus attach them to the dialogue.
Just like any other property sheet, the one for a dialogue divides its remaining properties into several tabs, the "General" tab, the "Template" tab and finally the "References" tab.
"General" tabFor dialogues, the description field should contain a summary of the conversation, but there's no restriction on how you use the description field.
|You can even paste script code here if that benefits your use case, or define your own markup language. It'll all end up being exported with your project data and ready for use in your tool-chain.|
A technical name can be given to ease the handling of this dialogue when parsing the XML export or using the articy:draft API
The External ID is normally empty but can be filled with an ID this dialogue carries inside another application. Using this external ID provides an convenient way of opening the currently viewed dialogue within another application. Read here to learn more.
The Object ID is the primary ID to identify any object within articy:draft. Normally you do not need to bother about this ID and you can't change it anyway.
|In previous versions this was a GUID but now we changed it into a 64-bit Integer. This is important to know if you use the articy:draft API because instead if handling GUIDs you now need to handle this new ID type.|
The last ID is the [articy:access ID]. This is only needed if you work with the middleware plugin articy:access. If you want to learn more, please read here.
"Template" tabIf you have defined a template for dialogues (i.e. "Trade", or "Interrogation"), you can assign the template to this dialogue using the template selector. The "apply color"-button copies the default color specified in the template onto the currently viewed dialogue.
|For example, if all your "trade" dialogues shall appear yellow, you can specify this as the template's color. Dialogues that were created without a template assigned have the dialogue's default color. After having assigned the trade template, you can choose to overwrite the dialogue color with the "trade yellow".|
The references section contains a set of automated reference strips:
- Speaking entities ( 1 ): Lists all entities that have dialogue lines (=are assigned to "dialogue fragments") within the dialogue.
- Following / previous elements ( 2 ): Lists all succeeding / preceeding objects connected to this fragment's output / input pins.
- Involved entities ( 3 ): Lists all entities attached to this object's reference strip (top of property sheet).
- Takes place at ( 4 ): Lists all locations where this object has been linked on the map.
|Discuss this topic in our forum:|
Click here to join the discussion