Ink – Programming Language for Game Narrative

Ink is a programming language and set of tools for creating in-game branching dialogs and game narrative creation. It is not only a programming/scripting language and runtime, it is an entire ecosystem of tools and game engine implementations including Godot, Unreal Engine and recently thanks to the open source of Inkpot by The Chinese Room, now Unreal Engine 5.3 as well.

Ink is described by its creator Inkle as:

  • Markup, not programming: Text comes first, code and logic are inserted within.
  • Simple, elegant syntax: Why not get a taste in the writing tutorial?
  • Proven: literally millions of words of content have been written for our own games.
  • Easy to learn, but with powerful constructs for more advanced scripting.
  • Conceived as middleware: a narrative engine designed to slot into a game engine.

Additionally they have created an editor for Ink script called Inky:

  • Play as you write: The play pane automatically refreshes and reloads the choices you made.
  • Error highlighting, as-you-type.
  • Jump to definition: alt-click on a divert (they’re like hyperlinks in ink) to jump to the target.
  • Export to JSON, ink’s intermediate compiled format.
  • Export to web: Generates a page like this one, ready to be customised.

The entire toolchain is open source under the MIT license.

Key Links

Ink Homepage

Ink GitHub

Inky GitHub

Ink Resources and Game Engines

Inkpot – New UE 5.3 Runtime by The Chinese Room

Ink Discord Server

You can learn more about the Ink game narrative programming language in the video below. If Ink isn’t right for you, consider checking out Twine.

Scroll to Top