top of page

Unguilded

A murder mystery where your words are your weapon

​

By: Vera Limani, Rachel Geng, Allison Weiss, Beckett Melville

ch1wAR.png

Unguilded is a mystery game that combines elements of visual novels and turn based combat as the player controls P.I. Suzanne as she investigates the murder of a wealthy, naive socialite.

​

The goal is to discover the backstories and relationships of the characters and the victim through interactions with environment objects and dialogue with characters, along with an interrogation mechanic. Players gain information in doing so, and use that information to justify their accusation of one of the characters as the culprit of the crime at hand. They’ll have to choose what they say wisely, and be careful to make the right accusation.

I played the role of lead programmer, systems designer, and character artist. I designed a branching Dialogue and Cutscene system that could be entirely edited within Unity's Inspector and requires no knowledge of programming or additional plugins to use.

​

A full Tech Design Overview of these systems can be found towards the bottom of the page.

COLT.png

Character Designs; From left to right: Theodore Hampshire, Eleanor Hampshire, Lilian Flores, Marino "The Vine" Montemarano, Gerald Hauser, and Moonchild.

Screen Shot 2019-01-22 at 2.06.56 PM.png
Screen Shot 2019-01-22 at 2.06.31 PM.png
dqN0NX.png
nUuVl2.png

Tech Design Overview

Dialogue Manager:

The dialogue system works based off a series of Scriptable Objects, each with their own specific functionality, that get passed through a Dialogue Manager class. The Dialogue Manager then parses the Scriptable Object for different information fields and distributes it across to other scripts that rely on that information. Essentially, once the player goes through a line or node of dialogue that contains valuable information, the system can store that valuable information and distribute unlocked info, dropdown options, or update State Machines as it sees fit.

​

​

 

Dialogue Trees, Dialogue Nodes, and Cutscenes:

NPC characters have a reference to all of their possible Dialogue Trees, an object that acts as a container for Dialogue Nodes. Strings that get displayed as dialogue or description are a struct within the Dialogue Node class. Dialogue Nodes also contain a list of the Scriptable Object Clue, which retains the pieces of information that get relayed to NPC dossiers, Variable Storage, and the Accusation Menu. Lines of dialogue deemed to be of a higher importance or are Interrogation Triggers are read for, and the UI updates accordingly.  Cutscenes display text similar to Dialogue Trees and Nodes, however, they contain a List of the struct Scene, which contains an array of the characters in the Scene, whoever is currently speaking, and the lines of dialogue to be displayed. This allows for an easily manipulable, more expressive way of relaying narrative than just telling the player what’s happening at start.

   

​

​

Clues:

The way information that the player discovers is kept track of is through the use of the Clue Scriptable Object. Clues contain arrays of the structs Dossier Entry, Hidden Relationship, and a string that gets passed to the Accusation Menu’s Dropdown field. When a node containing a Clue is passed through Dialogue Manager, the Clue is added to a List in Variable Storage if it does not exist in the List already. When a new Clue is added, its Dossier Entries and Hidden Relationships are unlocked as well, and the Dossiers in question are updated with the new information.

​

​

 

Accusation:

The Accusation Menu on the surface contains everything the player needs to interact with in order to complete the game: a button gets assigned to a corresponding NPC, and as the player discovers more and more Clues via the Dialogue Manager, a summary string gets added to the Accusation Menu’s Clue Dropdown. The player must select the murderer via the buttons, and their motive via the Dropdown. Behind the scenes, the Accuse Menu Manager script maintains a reference to the correct answer choices, as well as a reference to a master Clue Database contained in Variable Storage – this allows the system to cross-reference a summary string from the Dropdown with a Clue as an extra check to see if this is the correct motive. The Accusation Menu also contains a list of Clues needed in order to unlock access to it in the first place, as the menu is disabled until the player reaches a certain point.

DialogueManager

In development from : 10/05/18 - 12/10/18

Made with Unity, Adobe Illustrator

bottom of page