7 releases
0.1.6 | Nov 11, 2023 |
---|---|
0.1.5 | Nov 9, 2023 |
0.1.4 | Sep 3, 2023 |
0.1.2 | Aug 27, 2023 |
0.1.0 | Jan 3, 2023 |
#545 in Text processing
55 downloads per month
135KB
3.5K
SLoC
Kataru 「カタル」 The minimal dialogue system written in Rust.
Kataru 「カタル」is a system for interactive dialogue based on YAML, parsed in Rust.
Kataru is similar to Twine and Yarn Spinner except with more support for organizing passages and sharing common functionality across multiple characters.
---
# Define what namespace this file is in.
namespace: global
state:
coffee: 0
$passage.completed: 0
# Configure the scene. List your characters, commands, etc.
characters:
May:
June:
commands:
Wait:
duration: 0.3
$character.SetAnimatorTrigger:
clip: ""
onExit:
set:
$passage.completed +: 1
---
Start:
- May: Welcome to my story!
- June: Want a coffee?
- choices:
Yes: YesCoffee
No: NoCoffee
YesCoffee:
- May: Yeah, thanks!
- set:
$coffee +: 1
- May.SetAnimatorTrigger: ["drinkcoffee"]
- call: End
NoCoffee:
- May: No thanks.
- Wait: { duration: 1 }
- June: Want to end this story?
- call: End
End:
- May: The end!
Features
- Simple and lightweight
- Organize dialogue, state, characters, and commands into local namespaces
- Character-specific commands
- Syntax highlighting and Unity integration
As well as conditionals, variables, and everything else you expect in a dialogue language.
Getting Started
Read kataru-lang.github.io/#/installation.
Once downloaded, check out the examples in examples/simple.
Getting Help
For bugs or feature requests, file an issue. For other questions, contact kataru-dev@gmail.com.
License
Kataru is licensed under the MIT License. Credit is appreciated but not required.
Made by Josiah Putman with help from Angela He.
Dependencies
~7–19MB
~220K SLoC