ink · native engine

First-class supportfor ink

ink is inkle studios' open-source scripting language for choice-driven narrative — the language behind 80 Days, Heaven's Vault, and Sorcery!. wilds.ai runs it natively: the same classic-recreations engine that plays Z-machine and Scott Adams adventures executes compiled .ink.jsonstories through inkjs — hosted in-app, with cross-device save. The optional AI layer hooks straight into ink's own inline tags, so a story author lights up wilds enhancements without leaving ink.

  • Native inkjs runtime
  • Tag-driven scene art + audio
  • Per-character AI voices
  • Choice-first UI
=== knotthe_library* Open the cabinet# scene: archive → art* Listen at the door# audio: tense → music* Ask the curator# CHAR: Vex → voice

Play ink stories online

ink is inkle studios' open-source language for choice-driven narrative — the engine behind 80 Days, Heaven's Vault, and Sorcery!. On wilds.ai it runs natively, hosted in-app, no download, with an optional AI layer that hooks straight into your own ink tags.

Play your ink story in three steps

  1. Import your ink

    Upload a compiled .ink.json — or paste raw ink and we compile it in-browser with inkjs. Knots, stitches, diverts, and variables run exactly as written.

  2. Add an optional AI layer

    Tag scenes, audio, and characters in your own ink. wilds generates scene art, ambient sound, and per-character voices from those tags. Skip it entirely for a pure-text run.

  3. Publish & play

    Get a shareable page that plays in the browser with cross-device save and a clean choice-first reader. Your source stays yours — export your file anytime.

Your tags do the wiring

=== foyer ===
You stand in a spacious foyer, splendidly
decorated in red and gold. # scene: opera house foyer
A cloak of black velvet hangs heavy on your shoulders.

+ [Go west, into the cloakroom] -> cloakroom
+ [Go south, into the bar]      -> bar

=== cloakroom ===
"You'll want somewhere to leave that." # CHAR: Attendant
-> END

The choices and prose play exactly as written. The inline tags are the only thing the AI layer reads:

  • # scene: paints generated scene art for the passage.
  • # audio: drives the ambient + music overlay.
  • # CHAR: binds a per-character AI voice to the line.

Turn the whole layer off for a pure-text run. The canonical story never changes.

How the optional AI layer works

Your ink tags# scene · # audio · # CHAR
Optional AI layerscene art · ambient audio · character voices
Canonical textplays untouched, word for word

Native inkjs runtime

Compiled .ink.json plays directly in the wilds engine via inkjs — the same runtime that plays the Z-machine and Scott Adams classics. No plugins, no conversion, no rewrite. Knots, stitches, diverts, and variables run as authored.

Import + host your story

Bring your ink story into wilds and we host it: a shareable page, no download, cross-device save, and a clean choice-first reader. Your story stays yours — keep your source, export your file anytime.

AI enhancements, from your own tags

ink's inline tags do the wiring. # scene: lights up generated scene art, # audio: drives the ambient + music overlay, and # CHAR: binds a per-character AI voice. Every enhancement is optional and reads straight from the story you already wrote.

Sidebar character + narration

Opt in to an AI character that reads along and reacts in the sidebar, plus full voice narration in a voice you pick. The canonical story text always plays unchanged underneath.

Studio + story map

Work your ink in the interactive-fiction studio: a graph map of knots and choices, a live playtest, and a variable inspector — so you can see the whole branch structure at a glance.

One interactive-fiction family

ink and Twine are sub-engines of the same Stories family on wilds, sharing the runtime, the reader, and the AI-enhancement layer. Author in the tool you love; play it here.

wilds.ai vs. hosting ink yourself

Featurewilds.aiinkjs, self-hosteditch.ioTwinery export
Plays in the browser, no downloadYesIf you build + deploy itYesYes
Zero-setup hosting + shareable pageYesYou host it yourselfYesExport, host elsewhere
Cross-device saveYesNoNoNo
Optional AI layer (art / audio / voices)Yes, from your tagsNoNoNo
Keep + export your source fileYesYes (it is your file)YesYes

Play an ink story now

Browse all ink stories →

References

Prefer passages and links? wilds.ai also supports Twine → · Browse all stories →