ink-playground
a no-setup browser sandbox for Ink — inkle's narrative scripting language — with a Monaco editor, a live story graph, and the same inkjs runtime inkle ships in production games.
Ink is a tiny, beautiful language for branching, stateful interactive fiction. The official path to trying it is “set up Unity, or wire a C# project against Ink.Engine.” Both are reasonable. Neither is what I want when I have an idea at 1am and want to type === story === and see what happens.
So this is the blank page + Run button version. Open the tab, write Ink, hit Cmd+Enter, click choices, watch state update. That’s the whole product.
a real engine, not a transpiler
The runtime is inkjs — Yannick Lohse’s port of inkle’s own engine, which is the same engine inkle ships in their production games. Everything I do in the UI is a thin wrapper around it. Knot transitions, variables, weaves, glue, lists, threads — all behave the way the official docs say they will, because the engine doing the work is the engine the docs were written for.
the live graph
The piece I underestimated when I started: drawing the story as a graph while you type makes structural mistakes obvious that would otherwise hide in line numbers. Every knot becomes a node, edges follow -> diverts, and the current knot lights up while you’re playing. Refactoring a tangled flow goes from squinting at code to dragging boxes.
what’s bundled
- Monaco editor with Ink syntax highlighting.
- Light + dark themes, with a small picker.
- Six bundled examples that ramp from
Hello World→ knots → variables → advanced flow control, so you can learn the language without leaving the page.
A weekend hack that I keep poking at. Live at ink.wickend.dev — paired with the Yarn Spinner version for when you want a different flavor of branching prose.
// shipped on a Wickend, Nov 14, 2025