Skip to content

Download

Everything below is read live from GitHub Releases, so it’s always the latest version.

Storyletter is the main app, the desktop editor where you design cards, set up your boxes, and play the result. It’s self-contained, so there’s nothing else to install.

Loading the latest release…

New here? Storyletter ships three worked examples, and the welcome screen offers all three. Start with The Hamlet, the small one. It’s copied somewhere you choose, so you can take it apart without worrying. Start there rather than with an empty project, because the idea is much easier to read than to describe. Getting started walks you through it.

The plugin that plays your project inside your game. Pick the engine you ship on. The four runtimes are the same version and tested to match.

Loading the latest release…

The JavaScript zip carries the runtime, the dev helpers and a browser drop-in, so there’s no package manager to set up. The JS runtime is also on npm as @storylet-studio/runtime (plus the optional @storylet-studio/play-helpers), or from a CDN:

<script src="https://unpkg.com/@storylet-studio/play-helpers/dist/storyletengine.min.js"></script>

See Playing in your game and the per-engine guides to get started.

A complete storylet project you can play in a browser, and read. Five drawn regions, thirteen places, 86 cards, and a hand dealt wherever you stand. It runs the same runtime a shipped game would, over the same public API, with no engine-side special cases, which is the point of it. It’s evidence the API is usable rather than a bespoke demo.

Loading the latest release…

The zip carries dist/ to open offline and src/ to read, under 500 lines of framework-free TypeScript. If you want to know what building on the engine actually looks like, this is the shortest honest answer.

The same idea with Patter in the room. The Storylet Engine decides which beat happens, Patter performs its dialogue, and the game owns the world and hands one resolver to both. Seventeen cards, seventeen scenes, one save that restores both engines and a conversation paused mid-choice. The scenes are stubs, deliberately. The plumbing is real and the words are placeholders.

Loading the latest release…

One release, four zips: the JavaScript client (src/ to read, dist/ to open offline) and the same game as a Godot, Unity, and Unreal project, each with Patter’s plugin included. Read src/world.js first (the shared world), then src/performance.js (the handoff). Running it with Patter explains how the two projects are joined and what the build checks.

storyletengine validates, compiles, deals, and tests projects from the terminal, which is what you want for CI and automation. One self-contained file per platform, with no Node.js required.

Loading the latest release…

The binaries are the distribution, and the packages aren’t on npm.

Terminal window
chmod +x ./storyletengine-macos-arm64
./storyletengine-macos-arm64 validate ./my-project.storylets

See the CLI reference for every command.

The full release history, including older versions and the shared test suite the runtimes are checked against, lives on GitHub Releases.

Open source under the MIT licence, made by .