Isometric Story-Driven
Short Hackathon Game

For this project, I developed a dynamic dialogue system in Unity, using ScriptableObjects to structure interactions. The system is composed of several key components:

  1. Page Object: A ScriptableObject representing a dialogue page, which includes NPC Info (acting as an ID) and the dialogue text.

  2. NPC Info: A ScriptableObject serving as the NPC’s ID, containing the NPC’s name, icon, and a talking sprite for simple animations during dialogue.

  3. Sheet: A Scriptable Object that holds a collection of dialogue pages, allowing navigation between different dialogue stages.

  4. NPC Action: A script that holds a Sheet and triggers the dialogue system to begin.

  5. Typewriter Script: A script that animates the text being typed out, with events like "OnLetterTyped", "OnWordTyped", and "OnTypeFinished" for syncing sound effects and signaling when dialogue lines are complete.

This system was designed to create engaging and interactive conversations, with a focus on delivering text in a lively, engaging manner. It also supports simple NPC animations and sound integration to enhance immersion.