Introducing Gall and Blotter

Earlier this year when Inkle released their Ink scripting language, there was a lot of excitement from the IF community around using it as a tool for building sophisticated branching stories in the vein of Choicescript. Today I’m releasing a couple of open-source tools that should help people who want to experiment with Ink without having to build a full game UI to go around the story engine.

Ink was not released alongside a turnkey way of turning Ink scripts into playable games, which set it apart from tools like Choicescript and made it hard to use the language for small-scale experimentation and writing short interactive fiction.

Inkjs made it possible to use Ink outside of Unity, which opens it up for the web, currently the main way in which IF is distributed and played. I wrote Blotter as a simple display engine for inkjs stories running on the web. It’s meant to support short fiction and small experiments, so it supports only a minimal set of features.

Gall is a build system that creates stand-alone html files which are playable Ink stories, using Blotter as their display engine and inkjs as their story engine. Those standalone files have everything inlined and thus fit in with the existing infrastructure around Twine. Gall also provides a turnkey way of turning an Ink story script into a playable, publishable html5 game.

All you will need is a current version of Node and npm installed and the compiled json for your Ink story, from either Inky or Inklecate:

$ mkdir the-intercept
$ cd the-intercept
$ npm install -g gall
$ gall new
Copying files into scaffold dir...
defines.json
script.js
template.pug
style.less
All done!
$ cp ~/my-ink-stories/the-intercept.ink.json sources/story.ink.json
$ gall build
Reading source files:
blotter.js
style.less
template.pug
defines.json
script.js
story.ink.json
Writing output file...