Thriller Theater
Thriller Theater is a technical demo of a modular narrative game utilizing the Unity engine and Inkle's Ink framework. It was made over the course of just over a month during my Summer Studio class in the summer of 2021. It was made with a team of three, myself and two writers, and was in development at the same time as EDEN and Bears with Guns.
Features/Things I built:
- Ink Integration
- Visual Novel framework
- Detailed designer and writer friendly tools and documentation
- Designer friendly implementation tools
- Mystery investigation and clue systems
- UI implementation
Ink advancements and documentation
To start production, I imported my work on the canceled Visual Novel project Prince of Cooking. That work included a revised version of my textbox and node systems from Captain Hookfoot, as well as some basic Ink functionality. I cleaned up that work and improved upon it, with most changes being to the Node system. I made it easier for designers to know what each node plays, by relying less on enums, and more on strings or object references. While that comes at the slight cost of memory allocation, the priority in this project was accessibility and ease of use for writers to implement thier work. I also greatly expanded opun how customizable the nodes are, allowing them to change as they are read, similar to the Interactable Node in Hookfoot.

Clue system
AS the player listens to dialouge and examines the environment, they can at points collect clues. Clues show up in their own menu, which can be opened and give descriptions of each clue. The clues themselves are activated by variables in Ink; at the start of the game each vaiable in the Ink file is binded to an external function, which is activted when the vriable is set to 'true'. The function then builds out the button in the clue menu and sets up different interactions, including clicking and dragging. Each clue can be dragged around, and clues marked as combinable can be dragged into each other to form a new clue. To handle the combinable tag, as well as the clue description, I made a seperate knot in the story, with stitches for each clue, that I have an alternate Ink stream read through when clicked. Using an alternate stream lets me look up clue information in the middle of a piece of dialog in the same file without interuppting the game's flow.

Accusation Phase
Once the player collects all of the clues, the game transitions into its accusation phase, or 'Act III' (Act I being the leadup to the murder and II being the clue collecting portion). In this phase, each possible suspect is shown and the player is instructed to select the killer, then choose any evidence that incriminates them. From a design perspective, this is handled entirely within the Ink script, with no work being done in Unity. I wrote code that builds the Scene from the choices presented in the script, with a knot dedicated to the accusation, and creatin gthe lineup out of each written choice. The correct suspect is signified by the choice that leads in to the Verdict stitch, which displays the epilogue. The stitch also contains tags that are used to determine the incriminating evidence. The reason I built it this way is to make it as easy as possible for writers to customize the phase, while doing as little as possible in Unity. It can handle varying amounts of suspects, evidence, or even have multiple killers.
