top of page

Project Overview

Overview of the Thesis Project

Interaction System

A system that allows designers to create interactive objects from meshes and other components.

State System

The state system saves the state of every interactive object in the level.

Dialog System

The dialog system lets designers create dialogs between NPCs and the main character.

Systems Programmer/Designer

Dialog System

Video summary of the Dialog System

The dialog system allows designers to create branching dialogs with the possibility of voiceover, where players choices affect the dialog flow.

System Summary: With the dialog system, designers can create dialog interactions between NPCs and the main character. Designers can add up to 6 answer slots from which players can choose. Players choices can affect the dialog flow and trigger different responses from NPCs. All text in a dialog offers the possibility of adding an audio file for voiceover.

Interaction System
System basics

Dialog states basics

  • Dialogs are controlled by dialog states. Each dialog state contains some dialog lines from the main character, and the dialog lines representing the NPC's response. 

Status number

Simplified diagram of the contents of a dialog state

  • Each dialog is formed by several dialog states. To select which dialog states need to show up on the screen, the dialog controller uses a number known as the status number. The status number is a integer that changes throughout the dialog. Each dialog state has a status number requirement, that is, a dialog state only shows up on the screen if the status number is within a certain range, as seen in the dollowing diagram:

Example showing how the status number works

  • Players' choices change the value of the status number, hence changing the dialog options available to the player. The following diagram shows an example of a dialog flow where the status number changes based on players' choices:

Dialog flow using the status number

The system in editor

Dialog UI

  • The dialog UI contains six possible answer slots that players can choose from.

The dialog UI

The UI in-game

Selecting which dialog states to show

  • The dialog controller takes care of filling up the answer slots, by checking which dialog states are ready to be shown on screen. In order to check that, the dialog controller looks at the status number. Every dialog state has a status number range, and when the status number is within that range, the dialog state is ready to be on screen. For instance, a dialog state may require 1<=status number<=3. If the status number is between 1 and 3, the dialog state will be shown on an answer slot. 

Each dialog state has a status number requirement. The state only shows on screen when the status number is withing a certain range.

  • Hence at every step in a conversation, the dialog controller goes through all the available dialog states. If a dialog state fullfills the status number requirements, the dialog controller sends it to the UI. If the state doesn't fullfill the status number requirements, the dialog controller discards it.

The dialog controller iterates through the dialog states and sees which ones can be shown in the UI.

  • Some dialog states have other requirements in addition to a status number range. For instance, some dialog options only show up if the players have a certain item in their inventory.

Some dialog states only show on screen if the player has a certain item.

Video Tutorial - How to create a simple dialog
bottom of page