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, hubs 3, and a jump 4.

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 5 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 6 is also displayed in the title bar, as well as a "container" symbol 7 saying "Yes, there is inner content!" and the claiming state icon 8 (only in MULTI-USER). The latter indicates whether the object can be edited or is claimed by another user.

A description text ("synopsis") 9 can be used to state the topic of the conversation, for example. The preview image 10 can be used to show the scene the dialogue takes place in. The reference strip 11 next to the preview image can be used to attach other objects or assets to the dialogue node. In the image above, two entities have been dropped onto the reference strip. You can freely set the height between upper and lower area using the splitter 12.

There are two pin bays on both sides of the dialogue for input and output pins 13. These are sockets for connections between the dialogue and other flow objects.

Pin conditions

As described in greater detail on the conditions & instructions page, input pins can carry conditions for the dialogue to be triggered and output pins can be used to describe instructions.

Simply double-click a pin to open the "edit pin"-dialog:

Hub-based dialogue

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 views

In list and tiles views, dialogue creation is relatively similar.

The image shows the list view on dialogue elements, with toolbar icons for creating dialogues 14 and other flow objects.

"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" tab

For 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 using any technical export or 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.

"Template" tab

If 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".

"References" tab

The references section contains a set of automated reference strips:
  • Speaking entities 15: Lists all entities that have dialogue lines (=are assigned to "dialogue fragments") within the dialogue.
  • Following / previous elements 16: Lists all succeeding / preceeding objects connected to this fragment's output / input pins.
  • Involved entities 17: Lists all entities attached to this object's reference strip (top of property sheet).
  • Takes place at 18: Lists all locations where this object has been linked on the map.