Raconteur is Undum with batteries included.

Undum is perhaps the most versatile system for writing hypertext interactive fiction. Unfortunately, it's also the hardest to use. Raconteur aims to change that. It's designed so that you only need to care about the complexity that you're going to use, when you're going to use it.

a storyteller


The Raconteur scaffold comes with (most) everything you need to get started, configured out of the box to use a build system, CSS preprocessor, and bundler. Armed with a text editor (We like Sublime), you can start writing your story and prose, rather than support code.

The scaffold is set up to automate as much work as possible. You can make stylesheet changes and watch them load immediately on a browser. You change your game and it bundles it again, refreshing the page. It even automates packaging your game and its assets into a .zip file you can upload to Itch.io.


Raconteur is built with adaptive text generation in mind. Defining snippets of text that vary whenever the player sees them is easy. Raconteur takes inspiration from Inform 7, commonly used Twine macros, and other popular IF development systems. Text that varies across printings, hyperlinks that modify or insert text, and other common functionality is already there to use.

As much as possible, it treats code that produces text and text interchangeably. Raconteur lets you rewrite passages to include dynamic text very easily, so that you can spend more time rewriting your prose and less time refactoring your code.

situation 'west_of_house',
  content: """
    You are standing in an open field west of a
    white house, with a boarded up front door.
  choices: ['forest', 'inside_house']

situation 'reflecting_pool',
  content: (character, system) -> """
    Looking into the pool, you find yourself feeling
    #{character.sandbox.mood}. It glows with a
    strange #{this.color} light.
  color: oneOf('blue', 'red', 'green').randomly()


Raconteur is made out of modules, each implementing its own set of functionality. You only need to use the ones you want.


Raconteur, Undum, its dependencies (JQuery and markdown-it) are all open source software. Raconteur games are static web pages that can be hosted anywhere or even run locally. You can build your game and share it (or not share it) however you like, wherever you like, rather than being tied to a particular engine, service, or server.


Raconteur is built using standard web development tools, instead of a specialist toolchain. It's familiar for people who know front-end web development; and those who don't will still benefit from working with a robust, proven toolchain.


The Node package manager makes it easy to install Raconteur and its dependencies.


Raconteur is designed to be used with a powerful build system that automates bundling your game and lets you see changes as you make them right on the browser.


Raconteur is made up of independent modules – Browserify bundles all of those modules, along with your game, into a single file, while keeping the code separate and modular. You can treat Raconteur as a true library, the guts of which you never have to look into.