FR

Réalités Parallèles

Ergonomie et conception de jeu vidéo

Shadowrun level editor basic interactions - branching discussions and questionning

  1. Adding multiple choices to a shadowrun conversation tree
    1. Add multiple red nodes to the conversation tree
    2. Type the different answers the player can chose from
    3. Troubleshooting : the conversation ends instead of showing choices ?
    4. Adding custom answers based on the player’s choices
  2. Test and improve the interactions
  3. How to keep conversations easy to manage even when they get more complex ?
    1. Copying, cutting and pasting conversation nodes
    2. Pasting a link to a conversation node to re-use answers you already typed once
    3. If you have one information to give them, you should write it down only once
    4. Multiple choices leading to a single answer is great to give personality to the player character, reduce workload and keep information consistent
  4. Improving the password guessing prototype
    1. How to re-use non player character speech to optimize the discussion tree
    2. If you give the player one question to ask, you should write it down only once
    3. Giving the player the same choices multiple times : the tedious manual approach
    4. Giving the player the same choices multiple times : pasting a link back to the previous node (blue)
    5. Giving the player the same choices multiple times : linking back to an empty line (blue)
  5. Making dialog options easier for players to chose from
    1. Player’s shouldn’t have to remember what they already asked
    2. Make the option available only once
    3. Hiding or showing options that are not available to the players ?
    4. Testing the level with many password options that disappear once used

In this tutorial, I’ll explain how to write an interactive discussion between two characters. We’ll have a look at how to let players chose dialog options from multiple possible answers while avoiding duplicating content.

Adding multiple choices to a shadowrun conversation tree

In the previous tutorial, we’ve seen how to create a dialog, write a simple linear discussion and add the interaction to the game. We’re now going to edit this conversation and add more options for the player to chose from.

Screenshot of dialogue editing interface showing three possible "red" branchies

Add multiple red nodes to the conversation tree

To offer the player multiple choices to answer, select the speech from the non player character you want the player to answer. It should be one of the blue lines Like the one saying “then you can not enter…” in the screenshot. Then when it’s selected (blue highlight background on the screenshot), hit the speech bubble with the green plus icon to add new conversation nodes.

You should see multiple new RED nodes appear saying “End dialogue”.

Screenshot of dialogue editing interface showing three possible "red" branchies and customised text

Type the different answers the player can chose from

In each of them, type one of the possible answers for the player to give. Make sure to add content to all of them.

Troubleshooting : the conversation ends instead of showing choices ?

If any of the RED nodes contains only [end dialogue], it will end the conversation without giving the player the option to give any answer at all. In the screenshot above, all red options have text, but no answer.

Adding custom answers based on the player’s choices

If you left the dialogue like that, the player would select an answer and the dialogue would be finished after the choice.

Screenshot of dialogue editing interface showing three possible "red" branches with customized replies

To give a feedback based on the player’s choice, select each of the red nodes and add a new blue node below again using the speech icon with the plus.

Type the answer you want the non player character to give to the player. Notice the [end dialogue] tag now marks the end of the blue line, which means the dialog will be finished after the player got an answer and clicks on the default “next” button.

Test and improve the interactions

If you test this, now, you’ll see the player is able to pick from three different answers.

Screenshot of the above dialogue seen in game

He gets a different reaction in return based on his choice. For example, here I picked “It’s “the sinless are free”.

Screenshot of an answer based on the player's choice

With just this, the player won’t actually be allowed to go in or prevented from going inside. We’ll cover how conversations can influence the rest of the game world in an upcoming tutorial.

How to keep conversations easy to manage even when they get more complex ?

Copying, cutting and pasting conversation nodes

You’ll find you soon want to have more than just three options and you don’t want to write a new sentence everytime to basically tell the player he hasn’t got the right password.

At the top of the conversation editor, the four most right icons allow you, in that order, to copy and cut a dialog node, and paste or paste a link to a previously copied dialog node. Sadly, keyboard shortcuts won’t work for this, you’ll have to click those buttons.

Copy pasting seems straight forward. Cutting is useful when you need to move a dialog node to a different location, mostly. Pasting a link to a node is by far the most interesting ption here.

Screenshot of dialog editing screen linking to an existing answer instead of duplicating it

In the screenshot above, I have selected and copied the blue node “You can’t go in without the password, sorry”. Then I have pasted a link to that node by selecting “It’s ‘Copycat’ “. The link appears in grey with an arrow icon in front of it. When this conversation option is clicked by the player, the dialog will follow this link to the node and carry on with whatever follows from there.

If you have one information to give them, you should write it down only once

In this case, it will just tell the player he can’t go in and give him the following option to say “Don’t worry, I’ll find another way in.” If you want to change the text, you will only have to do it once, and the same new text will be displayed when the player clicks either the first or second dialog option.

Screenshot of the dialog in game

Multiple choices leading to a single answer is great to give personality to the player character, reduce workload and keep information consistent

This is used a lot in Shadowrun to let the player chose the voice in which he asks a question or accepts a quest. It gives personality and depth to the player character where he doesn’t have any control over the storyline.

Improving the password guessing prototype

How to re-use non player character speech to optimize the discussion tree

In my “guess the password” context, this means you can let the player try a long list of different passwords that are all wrong without adding any extra writing work on your side, unless you really want to for some reason.

Screenshot of the dialog editing using links generously

If you give the player one question to ask, you should write it down only once

A similar functionality can be used to let players ask the same questions multiple times without having to re-write the questions.

If you wonder what the blue empty line is about in the screenshot above, here’s the story behind it.

Giving the player the same choices multiple times : the tedious manual approach

In my first few dialogs, I wanted the player to be able to ask about a mission’s location, danger to be expected and reward, in any order. My first attempts were tedious because I tried to branch conversations and take in account all possible combinations. This meant I needed to write 9 dialogs, with 3 different descriptions of the same information for each answer. This definitely was a waste of time and might generate inconsistencies in the story during iterations.

My first solution was to link back to the original post where the three questions were asked, but then the previous answer would disappear and in the games, players can ask multiple questions in a row while the previous answer is still visible. So I knew there had to be a better way.

Giving the player the same choices multiple times : linking back to an empty line (blue)

To display the same set of options to the player without repeating them, you create an empty line that you attach all the questions to. Each red question gets a blue child node with an answer. In our password guessing example, it’s a link to a blue node, because the answers are the same.

Screenshot of the dialog in game using empty lines to avoid losing dialog context

After the blue answer, you need to add an empty child node (red) and then paste a link to the empty blue line that all questions are linked to. The blue [empty line] will leave the description above the player choices unchanged, which allows to display new dialog options to the player without changing the NPC’s speech content.

Making dialog options easier for players to chose from

Player’s shouldn’t have to remember what they already asked

Usually after a question has been asked, you don’t want the player to be able to ask it again. In our example, it doesn’t make sense to make the same guess twice, I don’t want the player to have to remember which options he tried and failed versus which options he never tried before.

Make the option available only once

To allow players to chose an option only once, there’s two small checkboxes below the typing area that you can use.

Screenshot of dialog options to enable selecting a choice once only

Available only once means that once the player has used a choice in a dialog, it will not be usable again.

Hiding or showing options that are not available to the players ?

By default, it will still be there in the choices, but be greyed out. If you want the unavailable option not to be displayed in the dialog anymore, you also have to check the “hide if unavailable” checkbox.

This reduces visual noise, the player will only see the options that are available to them. The only time where it makes sense to show an unavailable option is if you want the player to be aware that he might have new options if he had… a skill, an item or some knowledge. In that specific context, showing unavailable options can highlight the game’s replay value or give hints to the player about how to progress through a puzzle.

Testing the level with many password options that disappear once used

As a result, the dialog would look something like this.

Screenshot of the final dialog in game

At first, the player sees all the options. As he clicks the different potential password guessesm, they disappear from the list.

Screenshot of the final dialog in game with fewer options after picking some

This goes on until you pick the right password and the dialog ends.

Screenshot of the final dialog in game with the minimum "non disappearing" choices

In our next tutorial, we’re going to have a look at how to let players guess a password by typing it themselves using a keypad or keyboard, for example, to open a door or safe lock !

Posted by Cornelia on 2016-12-21. Last updated on 2020-08-20

Articles on similar topics

Shadowrun level editor - creating a new project

Game development tutorial, Shadowrun Dragonfall level editing, Shadowrun Hong Kong Level editor tutorials,

Shadowrun level editor - editing the path to the content packs

Game development tutorial, Shadowrun Dragonfall level editing, Shadowrun Hong Kong Level editor tutorials,

Shadowrun level editor - troubleshooting (mac)

Game development tutorial, Shadowrun Dragonfall level editing, Shadowrun Hong Kong Level editor tutorials,

Shadowrun level editor - creating a map

Game development tutorial, Shadowrun Dragonfall level editing, Shadowrun Hong Kong Level editor tutorials,

Shadowrun level editor - efficient wall placement and using height

Game development tutorial, Shadowrun Dragonfall level editing, Shadowrun Hong Kong Level editor tutorials,

Shadowrun level editor - picking up an item

Game development tutorial, Shadowrun Dragonfall level editing, Shadowrun Hong Kong Level editor tutorials,