Dinky
IDE for writing, editing, and compiling Dialogue Ink. Includes the Dink Compiler.
Dink
Command-line tools for compiling Dialogue Ink for voice-over production pipelines.
Game Subtitles
Subtitle system with a preprocessor and runtime players for JS, Unreal Engine 5, and Unity. Handles wrapping, hyphenation, and pagination of long subtitle text.
Ink Explorer
App for visual exploration and testing for Ink projects. Track variables and flow visually.
Ink Localiser
Command-line tool to export text strings and manage localisation for Ink projects.
Ink Tester
Command-line tool for coverage testing and automated validation of Ink projects.
Ink Storylet Framework
A framework for storylets driven by Ink. Available for Node, Browser, and Unity C#.
JSON Storylet Framework
A lightweight framework for storylets driven by JSON. Available in C++, C#, Python, and JS.
Screenplay Tools
Libraries to export/import from Final Draft and Fountain script formats. C++, C#, Python, and JS.
Expression Parser
Lightweight expression parser and evaluator for complex runtime conditions in multiple languages.
Simple Version Control Lib
Agnostic wrapper around common version control systems for game dev tools. Write files without caring whether the user is on Git, Perforce, Plastic SCM, SVN, or none.
Ian Thomas
My career is a confusing pile of roles: I’m a coder who writes, a writer who codes, and a consultant who probably talks too much. I’m currently Narrative Director at The Chinese Room, but I’ve also been a games programmer, composer, puppet-maker, and writer for films, books, and interactive fiction.
I’ve worked on well over 100 titles—everything from LittleBigPlanet and Amnesia: Rebirth to musical theatre and live events. I also co-founded the Talespinners narrative agency and the legendary (mostly for the chaos) larp group Crooked House.
In short: I’m a coder, narrative designer, writer, composer, consultant, and experience designer who has done a lot of stuff. Some of it even worked.