Skip to main content

Overview

Github

Topiary is a dialogue scripting tool which uses the Topi language to write interactive stories. It is designed to be integrated into video games which require a large amount of state and control flow in their narrative.

Think of Topiary as programming a screenplay for your video game.

It is written in Zig.

Installation

Topiary comes in a few ways depending on your use case.

TypeUse Case
CLIRunning in terminal, Obsidian.md Plugin, Testing Dialogues
DLLEngine Integration, Language Bindings
ModuleZig Dependency

CLI and DLL

You can download the CLI or DLLs from the release page.

Or build from source by installing Zig, then running the following

git clone https://github.com/peartreegames/topiary.git
cd topiary
zig build

Module

Add topiary as a dependency in your build.zig.zon file and then run zig fetch https://github.com/peartreegames/topiary/archive/refs/main.tar.gz to get the hash

# build.zig.zon

.dependencies = .{
.topiary = .{
.url = "https://github.com/peartreegames/topiary/archive/refs/main.tar.gz",
.hash = "",
},
}