Node-Based Dialog System for Games
Schnack is a multi-platform editor that provides node-based dialog creation for games and interactive fiction.
The pronounciation of the name is "shnuck", which is a term for "talking" or "chatting" in north Germany.

Built-In Localization Support
All dialog texts can be localized inside the editor. In order to improve collaboration with an external translation service provider, a CSV export and import allows external users to edit translations in Excel or Libre Office without the need to install Schnack.

Lua-Powered Logic
Implement your dialog logic using Lua. There are different types of nodes that allow you to express different sorts of logic in your dialogs. Additionally, each node has an optional precondition, which is checked in order to decide whether it may be executed. After the execution of a node, a script can be evaluated in order to modify the state of your game world. Preconditions and post-execution scripts are expressed in the Lua scripting language.

Schnacker Runtimes
While "Schnack" means "casual conversion" in North German dialect, "Schnacker" is someone who talks a lot without actually doing that much (basically a "blatherer").
This is not entirely true for the Schnacker family of libraries. In order to run the dialogs created with Schnack, you can use one of the existing runtime libraries, which parses the file and interprets the dialog logic. There are libraries available for different languages, such as C++, Javascript, Python and C#.

Git-Friendly JSON-Based File Format
The dialog files are based on the JSON file format. The files are automatically stored with line-breaks and indentation, which makes them easy to read for a human being, as well as easy to merge when used with a version control system, such as git. The use of universally unique identifiers (UUIDs) for node IDs instead of auto-incremented numeric IDs ensures that Schnack files can be merged after being edited concurrently.
Free and Open-Source
Schnack is released under the permissive zlib license that allows for the use within private, open-source and commercial projects free of charge.
