Ink is an open source "narrative scripting language for games" created by Inkle Studios.


Inkle Studios is a development team dedicated to creating rich storytelling experiences - and helping others do the same. This initially took the form of the user-friendly online tool Inklewriter, which let authors simultaneously create and test their interactive content.

Where Inklewriter makes it easy to create and share stories online, Ink was designed to be embedded into a game engine. More powerful and robust than Inklewriter, Ink (and its accompanying editor Inky) is designed for professional game development teams to create rich, interactive stories. It is designed with the writer-as-audience in mind: wherever possible, the language favors making it easy to read and understand the script, while giving authors the ability to easily embed logic (ie. branches, variables, etc.) directly.

Ink is in many ways an interactive script - in the literary sense. Stories are designed to be read from top to bottom, and the language is designed to directly support common branching patterns (such as diverging briefly before returning together), making Ink stories more readable than they might be in other branching narrative systems. For these (and other reasons), I've switched my current project from using Yarn Spinner (with my custom-built Salience Engine) to using Ink (which is robust enough to replace the Salience Engine altogether.)

Further Reading:

Ink has plenty of official resources for getting started and using the tools:

If you're interested in reading what I have personally written on the topic: