text adventure engine
May 12, 2021
typescript cli ink react text-adventure

textual-engine is an engine for text adventures, both interactive fiction and procedural dungeon crawlers.

It uses an event and service architecture, with support for local scripted and remote server events. The interface is powered by React, using the DOM in browsers and Ink on the CLI.


textual-engine should be considered a beta release. There are a bunch more features that I would like to add, but the core functionality is in place, and the service-oriented architecture is not likely to change any time soon.


There are a few example worlds available in the demo on Github Pages.

Worlds are written as a series of rooms, with portals connecting them. Rooms and their contents can be randomized or fixed ahead of time, allowing for both ever-expanding procedural maps and carefully designed narratives. Data for the example worlds can be found in data/samples.

Related Posts


YAML validation tool using JSON schemas
June 15, 2019
typescript yaml ajv cli json-schema


property based testing for mocha using fast-check
July 20, 2021
typescript library mocha testing


state machine for Github/Gitlab issue labels
August 11, 2020
typescript github gitlab state-machine