Dead-Simple Dialogue
Dossamer
$0.0
$12.00
100%OFF
Date |
Price |
---|---|
Date |
Price($) |
06/02(2022) |
12.0 |
08/02(2022) |
0.0 |
11/24(2024) |
0.0 |
Jump AssetStore
Designed explicitly for narrative designers. Flexible, decoupled, extensible, event-driven dialogue system; extract cutscenes automatically from minimally-marked-up text files.Package Manager Dependencies: New Input SystemTextMesh ProDemo on itch!FYI: This is a non-branching, minimalist dialogue system, intended for linear, narrative, shorter-form games. Binary conditional triggers are supported; but if you need branching or fully stateful dialogue, I highly recommend ink! It's free and has out-of-the-box Unity integration.Because it's event-driven and decoupled, you can use DSD to trigger or respond to behavior in other systems like FMOD or camera controllers. For a real-world example, see Claymore Ham: Road 2 Reboot.Demo comes with some general-purpose utilities you're more than free to repurpose, and demo visuals are public domain (see LICENSE.txt in demo folder for sources).How does Dead-Simple Dialogue work?DSD came out of a distributed, multi-person project where non-technical narrative designers needed to be able to hand off a single manuscript to a Unity-facing programmer, from which "cutscenes" could be programmatically extracted and then linked to in-game situations.The resulting solution is a one-way translation system that converts marked-up text files to Unity-usable scriptable objects (a series of cutscenes and a character bank).A runtime dialogue manager singleton responds to cutscene triggers, and passes corresponding manuscript text to canvas elements as needed. (Serialized GUIDs are used for coordinating cross-scene / scene-to-asset event references.)Markup language overview:Getting started with DSD is simple. All manuscript files (usually of type .txt) on their first line need the word "BEGIN" and on the last line the word "END".Cutscenes begin with the word "TITLE: " followed by a title of your choosing.Speakers within cutscenes are indicated by the word "NAME: " followed by who is speaking.Speaker text is line-break sensitive; speech is fed to the dialogue canvas line-by-line.When a speaker is done speaking, on a new line, type "/".When a cutscene is finished, on a new line, type "/".If you make mistakes, it's okay! The built-in parser will tell you via an error message in the editor where your manuscript is marked up improperly. Additionally, a demo manuscript is included in the "Demo" folder of the package for your reference.Turning manuscripts into cutscenes:Right-click on your desired manuscript. Navigate to "Dossamer/Dead-Simple Dialogue" and click "Cutscenes from script".This will create a folder containing cutscene files locally; you'll be asked if it's alright to overwrite a folder of the same name if it already exists in the local directory. (Be careful! Overwriting deletes the old folder contents for good, so there's no going back. Overwriting cutscenes will also break existing cutscene references, so make backups!)SupportBecause this isn't my full-time job, I unfortunately can't make an outright guarantee of technical support; understanding this, I've priced this asset comparatively lower than others on the store. Use this asset at your own risk, under no implication or guarantee of warranty.I do, however, try to respond as best I can to questions sent to email (contact@dossamer.io) and on the Dossamer discord. Thank you for understanding!Roadmap (not guaranteed):Explicit support for localizationSmarter scene regeneration via manuscript diffing, ideally that doesn't break referencesBetter GUID UXMinimum Unity version is 2020 LTS. Dependencies: TextMesh Pro Unity Input System Package (old input system will throw compiler error)