Download
Everything below is read live from GitHub Releases, so it’s always the latest version.
Storyletter: the editor
Section titled “Storyletter: the editor”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…
Something to open
Section titled “Something to open”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.
Storylet Engine: the runtimes
Section titled “Storylet Engine: the runtimes”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.
The Village: see it working
Section titled “The Village: see it working”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 Hamlet: two engines in one game
Section titled “The Hamlet: two engines in one game”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.
The CLI
Section titled “The CLI”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.
chmod +x ./storyletengine-macos-arm64./storyletengine-macos-arm64 validate ./my-project.storyletsSee the CLI reference for every command.
Everything else
Section titled “Everything else”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 Ian Thomas.