kataru

Crates.iokataru
lib.rskataru
version0.1.6
sourcesrc
created_at2023-01-03 01:18:31.66746
updated_at2023-11-11 20:32:59.88135
descriptionKataru - the YAML-based dialogue engine for game development.
homepage
repository
max_upload_size
id749784
size168,551
Josiah Putman (Katsutoshii)

documentation

https://kataru-lang.github.io/#/README

README

Yarn Spinner logo

Kataru 「カタル」 The minimal dialogue system written in Rust.

rust workflow

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.

Commit count: 0

cargo fmt