Plato Lua library 0.3.0

A pure Lua library to manage dialogues in point & click adventure games and other dialogue-driven genres.

Provides facilities for managing dialogue trees, and through the included strands module can also be used as a system to manage cutscenes.

See plato_demo.lua for a demonstration of how to use it.

Features

  • dialogues can be divided in sections that can connect to each other, allowing for recursive behaviour and backtracking
  • dialogues can save their own internal state
  • utilities to show some dialogue options and/or perform some steps only once
  • an easy way to present mutually exclusive options with less conditionals using weights
  • sections of dialogue are run in a non-blocking way using the strands library and can be used to perform sequences of actions (such as characters talking, or moving around) with waits in between. This allows plato to be used as a way to manage cutscenes—after all, what's a cutscene if not a dialogue without dialogue choices?

Libraries

plato A pure Lua library to manage dialogues in point & click adventure games and other dialogue-driven genres.
strands A pure Lua library to manage co-operative multitasking in games.

Manual

Plato table format
Option weight
State table format
Tail calls
Strand environments

Examples

plato_demo.lua
strands_nested.lua
strands_sample.lua
strands_say.lua
strands_signal.lua
generated by LDoc 1.5.0