Create small narrative experience that centers around speaking with non-player characters with dialogue created using ADialogueSystem and a spreadsheet.
The prototype requirements are:
quest state
(a “lock/key puzzle”)quest states
should have different dialogue for each character“A Dialogue System” is a character dialogue toolset for Unity that allows authors to create conditional character dialogue using google sheets. The system allows authors to dynamically create state data, and dynamically select dialogue based on that state. The state can also be accessed and modified from outside the spreadsheet as well. Go here to download A Dialogue System and see its GitHub page for setup instructions for further instructions.
In this system, dialogue is structured around a “quest state” that defines the broad chapter or level in which it applies. Each dialogue entry is associated with a character and consists of two conditions and an effect. Authors can read from and write to a shared “blackboard,” a state storage system that tracks labeled data. Conditions act as queries to the blackboard, determining whether a dialogue line is triggered, while effects allow authors to update the blackboard, modifying the game’s state dynamically.
At the approprite time for your game, you can modify the DialogueManager.scc.questState
variable to move on to the next set of character dialogue options.
Your prototype should be playable at:
http://<YOUR_GITHUB_USERNAME>.github.io/game-dev-spring2025/builds/people-1
Last week you used my custom conditional dialogue system, and this week you be making creative use of a more fully featured interactive narrative tool, Ink in order to have interactive character dialogue (note, you are not required to use Ink if you think you can achieve scalable/interesting interactive dialogue in some other way - e.g. building off of ADialogueSystem).
The requirements of this prototype are:
I have created a function called LaunchKnot
that is expected to be called as a coroutine. E.g. StartCoroutine(LaunchKnot("IntroductoryScene"));
. In order for this to work, you need to create the following UI elements and assign them to InkStoryManager.cs:
Your prototype should be playable at:
http://<YOUR_GITHUB_USERNAME>.github.io/game-dev-spring2025/builds/people-2