gitmyhub

ink

C# ★ 4.8k updated 2mo ago

inkle's open source scripting language for writing interactive narrative.

A scripting language and runtime for writing interactive branching stories, used by writers in the Inky editor and by game developers embedding it in Unity or web projects. Released as open source by the studio behind 80 Days.

C#JSONsetup: moderatecomplexity 2/5

Ink is a scripting language created by inkle, a game development studio, for writing interactive stories with branching choices. In a branching story, the reader makes decisions at certain points and the narrative changes based on those choices, similar to choose-your-own-adventure books. Ink provides a concise text format for authoring those branches, choices, and variables, with the goal of being approachable for writers who are not programmers.

The language is designed to slot into existing game projects rather than be an all-in-one game engine. A writer authors the story in ink text format, the ink compiler converts it to a JSON file, and then a game built in Unity, a web browser, or another environment runs that compiled story using the ink runtime library. The runtime handles advancing the narrative line by line and presenting choices to the player.

The ecosystem has several pieces. Inky is a dedicated text editor that shows a writing panel alongside a live preview where you can play through the story as you type. Non-technical writers who want to publish a web-based interactive fiction piece can use Inky alone, exporting directly to the web without writing any game code. Developers building Unity games use a separate plugin. There is also a community-maintained JavaScript port of the runtime for web projects.

Ink was originally built for inkle own commercial games, which include 80 Days and Heaven Vault, and was later open-sourced. The README includes tutorials and documentation pointers for writers at different skill levels, from complete beginners to developers who want to embed the runtime in custom game code.

The library is released under the MIT license.

Where it fits