Hello and welcome to the articy:draft X Basics tutorial series. In this lesson, we will learn how to create a branching Flow structure.

Please accept marketing cookies to watch this video.

Create container for new scene

Let’s add another conversation to the existing structure, by dragging the node type we want down from the toolbar, I will use a Dialogue node as a container for the new content.

Dragging a Dialogue node to the canvas

Left click and hold on the output pin (1) of the previous node to create a connection to the input pin of the new node (2).

Create a connection between nodes

Double-click the text at the top of the node to edit it (1). This encounter is supposed to be the final confrontation between Mina and Dracula. To make it very clear, even at a quick glance, I drag out the Mina and Dracula entities and drop them on the Dialogue’s reference strip (2). This way we can easily see who is participating in any given scene. If we want, we can also add a little textual summary into the description field (3).

Adding content to the Dialogue node

In this way we can modify and expand our project however we like. And even if we don’t write the corresponding scenes right away, thanks to the container nodes and nesting we already have an overarching structure in place, we can discuss with the team, and fill with content later.

Submerge into the Dialogue node with “Enter” or the Submerge icon in the toolbar.

Submerge to create nested content

We could start out with the actual conversation in form of Dialogue Fragments right here on this level, like it was done in the other scenes, but for demonstration purposes I’d like to make another structural distinction with two more Dialogue nodes and have two entirely separate dialogues based on whether Mina’s identity is known or not. The selection of which dialogue is shown to the player we do with a condition. I spell out what is supposed to be checked, we dive into the technicalities in the Scripting lesson.

By the way, this is a totally valid approach, for many reasons. It could be that at the stage of creating and structuring the overall story flow the necessary variables might not even exist. Or while you are in the flow of writing you don’t want to think about the more technical side of things. Or maybe the entire scripting is handled by a dedicated team member. There is only one thing you need to remember, when spelling out a condition or an instruction: to make it a comment. Otherwise the condition node shows an error, as it does not understand plain English and expects a very specifically formatted expression. If we put a double forward slash at the beginning of our text it will be marked as a comment and not tried to be interpreted as a condition statement anymore.

We only need to connect the nodes and our structure for this layer is ready. We have seen that we can add additional layers to our nested structure and that we can use conditions, and also instructions, not only at the actual dialogue line level, but anywhere to help us control the story flow.

Structure of current flow layer with condition

Creating the conversation between Mina and Dracula

Now onto the dialogue itself. Submerge into one of the dialogue nodes, I will go for “Name unknown”.

We already know that we can drag all node types onto the content area from the toolbar (1), but there are other ways to create new elements. We can right-click anywhere on the content area (2), go to “New” and select the element we like from the list (3), which in this case is a generic Dialogue Fragment with or without a template. It will be created where we clicked.

Node creation with right-click context menu

Note that after creation the cursor is already placed in the Speaker field, so you can start writing the speaker name, without any additional clicks. If an existing entity is recognized from your input it will be suggested as the speaker. Confirm with “Enter” to fill speaker name and avatar with entity data.

Adding speaker information to Dialogue Fragment

The cursor will automatically go to the Menu Text field. You can make an entry here or jump to Stage Directions with “Tab”. One more “Tab” brings us to the text field for the dialogue line. Alternatively you can of course select any text field with a mouse click. After writing our line, we need to connect this node to the parent node’s pin on the left, otherwise the dialogue would not start as expected when arriving at the name unknown container node.

Navigating inside a Dialogue Fragment with TAB

As our dialogue lines are supposed to be connected anyway, we can use an even faster way to create new nodes: Drag out a connection from the first dialogue fragment’s output pin (1). When we let go of the mouse button the same selection menu appears as when creating the node with the “New” command (2). You will notice that there are additional options now, once we hover over the Dialogue Fragment entry in the list. Our existing speaker Mina has been added (3). In this case though we want a generic Dialog Fragment, so click on the Dialogue Fragment entry itself.

Creating a new node by dragging out a connection

Then we can assign our second desired speaker for this conversation, Dracula.

From now on, we can select both speakers directly when creating new Dialogue Fragments. The cursor is positioned inside the dialogue line text field, as the majority of times this will be where we want to continue writing.

Both speakers are in the quick-creation list now

Our little dialogue begins to take shape, but so far it is just a linear back and forth.

Linear dialogue

How about we bring in some interactivity by adding a choice point for the player? Let’s add a Hub (1), to allow the player to return to this position and try out other options if they want. We could drag out each option manually, but there is an easier way to do that. Instead of dragging from the output pin, left click once on it (2). Now we can create up to four elements of the chosen kind at once (3), easy as that.

Creating multiple new nodes at once

Keyboard shortcuts

If you prefer to keep your hands on the keyboard while writing your dialogue, let me provide you with some handy keyboard shortcuts for node creation.

What probably comes up more often than any other cases in a regular dialogue are alternating speakers. If we are at this point, where we just finished Mina’s line we can use Smart create with the shortcut “Ctrl+Shift+1” to add a Dialogue Fragment with Dracula as the speaker, using the shortcut again will add another Mina node. The cursor will be positioned in the text field of the new node, so you can stay in your writing flow.

Ctrl+Shift+1 for Smart Create

Smart Create always takes the speaker of the node previous to the current one. Keep that in mind in case you have a situation where multiple nodes have the same speaker.

We already know that we can navigate inside a Dialogue Fragment with “Tab” to jump between the different areas, but if we are in the text field for the dialogue line, we need to use “Ctrl+Tab” to move to the next area, which is the output pin.

Navigating inside a Dialogue Fragment with TAB and Ctrl+TAB

With “Alt+Arrow” you can jump between nodes, this way you can navigate between existing nodes without mouse input.

Alt+arrow to navigate between nodes

What if we want to create multiple branches or another node type? This we also can achieve by keyboard inputs. Let’s say we just finished writing our line here – “Ctrl+Tab” brings us to the output pin of the node – “Ctrl+Enter” opens the multiple node creation option. With the “Arrow keys” we can now select the number of branches and desired node type. Confirm with “Enter”. Now we can again use “Alt+Arrow” to select the node where we want to continue, and jump to the desired input field with “Tab”.

Ctrl+Enter keyboard shortcure for multiple node creation

You can find a complete list of all available keyboard shortcuts here.

Finishing the dialogue

The bottom option is supposed to lead to a fight, so I will add a Flow Fragment to symbolize this fact here in articy (1). The actual combat mechanics will be realized in the game engine. To highlight that something special is happening here, I will give this node a separate color, by using the paint bucket icon (2). Select one of the pre-defined colors or use the RGB sliders to create a custom color (3).

Coloring single flow elements

Another way to highlight something in the flow is with annotations (1). Either in form of a text annotation, or by using the node itself as a highlighter (2). For that I bring the annotation node to the desired size, assign a color (3), and send it to the background (4).

Using an Annotation to highlight something in the Flow

By the way, coloring also works for connections (1). Double clicking a connection adds an annotation directly on the connection (2), in case we want to provide additional info.

Connectios with color or added annotation

Now all that is left to do is to connect the remaining nodes to the Jump and set the Hub as our Jump target. The player can now go through all dialogue options until ending it by starting a fight.

Where to position the Hub comes down to personal preferences and project layout. If we have the Hub directly in front of the options, we go right back to the selection when jumping back after going through a selected branch.

Hub position 1

If we swap position of Hub and Dracula’s question then he repeats his question each time we jump back to the Hub.

Hub position 2

To flesh out the dialogue, we could add some more nodes here and there, like adding a reaction point checking if Mina defeated Renfield earlier, or include some scripting logic to make the experience more interactive. Check out the scripting lesson, where we will do exactly that.

Fleshed out dialogue structure

Colors

There is one thing that we could improve a little, and that is the ease of distinction between the different speakers. We have the avatar images, but currently the speaker fields are uniformly purple, which is the color that comes from the character template. I will give custom colors to the entities to make the distinction clearer. I can double click the avatar image of a dialogue fragment to jump right to the property sheet of the entity.

Double-click avatar image to open its property sheet

Here I can use the paint bucket to select a color. I will go for orange to complement the background color of the image.

Changing entity color

With the back arrow I can jump back to the Flow and do the same for Dracula.

Go back

Much easier to see who is speaking when, don’t you agree?

Finished dialogue

Assigning templates

Before we conclude this lesson, I’d like to take a moment to mention how to assign templates when creating new Flow elements. Templates allow you to assign project specific properties to articy objects. Check out the template lessons for more info on why and how to use them.

We already saw that we can select an existing template when creating a new node by dragging out a connection or using “New” from the right-click context menu.

Assigning a template from a drag-out node creation

When using Smart Create a template assigned to the current Dialogue Fragment, will be automatically assigned to the new node as well.

Template assigned to new node with Smart Create

It is also possible to assign templates when dragging in elements from the toolbar, for that click the little arrow symbol next to the element name (1) and drag the object with the desired template (2) assigned to the content area.

Assigning a template when dragging from the toolbar

In case you have one single template that is supposed to be assigned to all Dialogue Fragments throughout a dialogue you are setting up, we have a nice little time saver here, too.

There are plugins available for articy. A number of them come ready to use when you install the software. One of those is the “Auto Assign Template plugin”. Click the Plugin Manager (1) button in the master toolbar, then select “Configure Auto Assign Template plugin” (2).

Plugin Manager

Now we can choose a default template for our Dialogue Fragments, or any other node type where a template exist, and from now on each Dialogue Fragment we create, automatically comes with the chosen template assigned. Regardless if we drag the node in from the toolbar, create it with the right click context menu or by dragging out connections. To learn more about Plugins and the Plugin Manager check out the dedicated lesson.

GO TO “ASSETS” LESSON

Useful links:

Help Center: articy:draft X keyboard commands
Help Center: The Flow

Don’t have articy:draft X yet? Get the free version now!
Get articy:draft X FREE
*No Payment information required

Follow us on Twitter, Facebook and LinkedIn to keep yourself up to date and informed. To exchange ideas and interact with other articy:draft users, join our communities on reddit and discord.