• February 15th 2016

    The Future of Raconteur

    I'm not really ready for a release of this just yet -- it'll be a while, probably at least a week -- but I wanted to give people an update of where I'm at with Raconteur. Here's the current (rough) roadmap.

  • January 27th 2016

    Improv, a javascript library for generative text

    I’m currently working on a project involving some fairly demanding procedural generation of text. While that project isn’t ready to be announced yet, one of the first core pieces of functionality I wrote for it was a text-generating library. Said library had to be powerful, flexible, and fulfil the following needs:

    • Like Tracery, it needs to randomly choose text from nested webs of corpora, recursing itself.
    • Also like Tracery, it needs some basic templating functionality.
    • Unlike Tracery, it needs to run with the backing of a world model that can guide text generation.

    Most of the ideas used to build this initial version of the tool were taken from Emily Short’s Annals of the Parrigues, which contains a long and extremely useful discussion of generative text in its epilogue.

    Since this library is a separate module, I’ve decided to open source it. Improv has been released under the MIT license and can be viewed on Github. It’s an npm module, but it’s built so that it will work in a browser environment using a module-bundling tool like webpack or browserify. Improv is currently in active development, but the latest (0.4.2) version is one I consider to be reasonably usable.

    Assuming you have node (v4 or newer), npm, and gulp installed, you can see a demo of Improv in action by doing:

    $ git clone https://github.com/sequitur/improv.git
    $ cd improv
    $ npm install
    $ gulp demo
    $ node demo_build/hms.js

    This demo produces descriptions of fictional ships, along the lines of:

    The HMS Reliable is a clipper commissioned 6 years ago.

    Using a whale oil engine, she can reach speeds upwards of 32 knots. The Reliable is one of the new generation of vessels built to fight against the Arkodian fleet in the Short War. Her crew is known to be one of the more disciplined in the Navy. She is currently serving as a colonial troop transport.

    The most obvious place to play around with Improv, at first, is Raconteur projects, since those are already friendly to including npm modules. NanoGenMo and ProcJam are some time away, but I look forward to seeing what people do with this tool in the meantime. Bug reports and pull requests are welcome.

  • September 15th 2015

    New release: Prospero

    Prospero, a loose adaptation of EA Poe’s The Masque of the Red Death, has been released by sub-Q Magazine. You can go play it right now, for free.

    sub-Q is an online magazine that publishes weekly interactive fiction, focusing on fantasy, science fiction, and horror. It’s a brilliant project that everyone in the IF community should have a stake in, and they’re a great opportunity for authors. Right now, they’re taking submissions, and they also have some interesting benefits for users who subscribe.

  • May 1st 2015

    Raconteur, and why it exists

    Taking a break for a moment from the tutorials to write about where Raconteur comes from, and where it's going; starting with a survey of the landscape of choice-based game engines.

  • April 21st 2015

    Writing IF with Raconteur, part 3: adapting some text

    This is the third part of a series walking step-by-step through developing a game with Raconteur. In this post, I'll explain Raconteur's adaptive text features.

  • April 16th 2015

    Writing IF with Raconteur, part 2: choices, choices

    Last we left off, I had explained setting up Raconteur and writing a very basic Situation: Enough to make simple stories. This tutorial is going to delve a little deeper into using Undum and Raconteur to write more complex stories.

    Background information on Raconteur.

  • April 15th 2015

    Writing IF with Raconteur, part 1: a difficult situation

    Undum is a system for writing hypertext interactive fiction, similar to Twine. It's probably one of the most powerful, versatile, better-looking systems, but it's also pretty complicated to use; Undum stories are written by editing a JavaScript file, and essentially you write an Undum game by modifying and adapting Undum itself to your needs.

    Raconteur is "Undum with batteries included," a set of tools and libraries that speed up Undum development and give it a gentle learning curve. Raconteur, like Undum, has an API documentation out; but API documentation is great as a reference, not so much for learning something new. And Raconteur, while (I hope) still substantially easier to work with than Undum, still has a learning curve.

    This is the first in a series of posts walking through the authoring of an IF game with Raconteur/Undum. This one goes from setting up a development environment to writing down your first situation.