ProcJam Entries, NaNoGenMo, and my Generated Generation Guidebook

ProcJam happened last month, pulling together lots of different awesome things:


Screen Shot 2015-11-26 at 3.47.25 PM

A procedural château generator (or perhaps you’d prefer a procedural Palladian façade generator). A Twitter bot that tweets about odd clothing combos.

Ordovician generates strange sea-creatures that swim across your screen:

Screen Shot 2015-11-26 at 4.37.57 PM

But I was most fascinated by the pieces that do procedural work with words. K Chapelier’s Stochastèmes generates new words based on the poetic corpora (such as thurweedlesoe when I picked Wordsworth, and woulders).


Balade is Windows-only, so I wasn’t able to play it, but the screenshots give a sense of the French cityscapes it generates through words: you can choose streets to travel and receive small descriptions of these places.

Paradise Generator uses random text combinations to suggest a variety of possible paradises: a fairly light level of procedural generation, but using some well-selected components. At least, my first couple of paradises were quite interesting.

Servitude plays a bit more like a traditional game, though it claims there are various randomized elements.

Or there’s Mainframe, a procedurally generated horror game by Liz England and Jurie Horneman. I didn’t manage to win it (maybe I just didn’t persist long enough; I’m not quite sure), but it combines the body horror and malevolent AI themes I associate with a lot of Liz’s stuff. (Maybe unfairly? Yes, maybe unfairly.)


Meanwhile, ProcJam was not the only place for a bit of procedural generation this month. NaNoGenMo was the full-month press to procedurally create 50,000 words – 50,000 words of anything, not necessarily guaranteed to make sense.

Carolyn VanEseltine used Markov techniques and a ChoiceScript grammar to make an interactive generated novel, complete with choices, chapters, and stats.

Nick Montfort created a generated poem about consumerist impulses, one that offers us 126 pages of possible purchases such as “a subtle indigo topcoat that is exclusively available here” or “an understated navy thong that is significantly reduced in price”. created a work based on Around the World in 80 Days mashed up with information from Wikipedia, which produces many many paragraphs like this:

Moving on, we arrived at London South Bank University. If I remembered correctly, this was founded in 1892 as the Borough Polytechnic Institute. Passepartout asked me if it was chosen to be clerk to the Governing Body, but I did not know. Passepartout examined the training and demonstrating Centre for Efficient and Renewable Energy in Buildings (CEREB). Passepartout explained how it had been designed to include two Thames barges set above a pentagon surrounded by five other pentagons. We moved on, disappointed by stricter student visa requirements in the United Kingdom.

The full repository of other creations can be found at the NaNoGenMo 2015 site, coordinated by Darius Kazemi.


Exploring the resources associated with NaNoGenMo and ProcJam brought me to this forum on generative text, and from there this video by Kenneth Goldsmith on conceptual writing, which gives an above-average explanation of what’s interesting about procedural writing in its own right.


Not really part of either of those things, Caelyn Sandel and Carolyn VanEseltine have a game idea generator that randomly combines concepts they’ve had for their works into new concepts. And of course Juhana Leinonen’s IF Name Generator is a classic, but it has been newly updated with name lists from IF Comp 2015 to remix those titles.


So. I thought about doing NaNoGenMo or ProcJam or somehow sort of doing both. ProcJam is so open-ended with its “make a thing that makes things” concept that almost anything could probably be construed to be a part of that project. And I’ve also got several procedural text game projects that have been knocking around unfinished for ages. What I ultimately wound up doing was sort of related but in fact none of the above.

Parrigues1The Annals of the Parrigues (warning! PDF!) is a (mostly) procedurally generated guidebook to a fictional pseudo-English kingdom, along with a making-of commentary on the process of generation. There are also some portions of the code (though I’m not releasing the whole source at this point, and indeed it wouldn’t really be meaningful to do so, as you’ll see if you look at the thing). It’s not an interactive piece of fiction at all, though it was built with various tools including Inform. Rather, it’s a story I wrote with the machine. If you want to know where to find the biggest library in the kingdom, what type of meal to avoid at the Fenugreek and Sponge, or why people keep trying to assassinate the Duchess of Inglefunt, this one’s for you.






Wunderverse is not a game but an iPad adventure editor that lets you build your own stories. It comes with a few starter adventure chapters already written, though as far as I saw it didn’t look like any of them were finished stories. Of these, I completed the sample set in the paranormal world: a vaguely Sixth-Sense-y story that could have been more strongly written and that still had a couple of typos. But I have the feeling that the actual content is not what the app’s creators most care about; they’re looking at this primarily as a tool.

IMG_0208The good: the app looks pretty slick, and it features the ability to theme your stories and include sound effects and other elements.

Though it has a tap-only interface, the underlying world model feels more like parser IF than the models in most competing systems. You can create nodes and objects, and certain verbs remain available to the player at all times. The system also provides for player character stats and abilities, and for conversation. Nodes function sort of like rooms and sort of like narrative nodes, so you could take this either in a very map-based direction or in the direction of a more CYOA-style narrative. (Personally I feel a little bit itchy about conflating space and narrative state into the same thing, but I accept that it’s sometimes useful to do so.)

Continue reading

IF Comp 2015: Paradise (Devine Lu Linvega)

The 21st annual Interactive Fiction Competition is currently on, through mid-November. Voting is open to the general public; the only prerequisite is that you not be an author, not vote on games that you tested, and submit votes on at least five games. (You emphatically do not have to have played them all! In a year with 55 entrants, it is very unlikely that most judges will get through anywhere near all of them.)

100Paradise describes itself in its comp blurb as a procedural interactive fiction and multiplayer novel. Neither of those are terms I would use to describe it: there’s not much you’d call plot progression. And when I hear “procedural interactive fiction” I usually assume that there’s going to be some text generation or some procedural narrative structuring or some AI-driven characters or something along those lines. What’s here, I’d be inclined more to call something like “a platform for collaborative textual landscapes”.

Continue reading

[Top Secret] (James Long) and a play-by-email IF tool

Screen Shot 2015-09-28 at 10.17.33 PM

James Long is Kickstarting an interactive story game called [Top Secret], played via email, which explores the Snowden story:

A fresh recruit to the National Security Agency (NSA), you have a new mission: find out who’s leaking TOP SECRET documents to the press. Stop them by whatever means necessary.

A single selector (phone number, email address, name) is all it takes for your team to surveil a target. It’s your job to decipher the intel, and follow the trail to its source.

But surveillance has a price…

In the paranoid world of the NSA, anyone can become a target, and soon your friends are in the firing line.

Part of his project is also to finish and release the play-by-email storytelling tool for general use, so I invited him to talk a little more about what that is and how it will work.

ES: Aside from (obviously) the Snowden concept, what sorts of stories do you think would lend themselves to this presentation?

JL: One of the great things is that it is truly “real time”. So with the Snowden story, I want to roughly match the 2 weeks in the run up to the leaks as they happened. It allows the author to pace the story and give time to the player to make choices and reflect on what’s happening. You can also inject meaning into the time between messages as well as content. e.g. if someone is excited, or angry about a conversation they may reply quickly, whereas disinterest, low spirits, or just being busy may result in delayed responses.

So I think there are rich mechanical opportunities to explore, but to be honest, I’m not sure what’s best for it – I’m discovering as I go!

I know there is a game called Lifeline on iOS which was app-based but also real-time. I haven’t played it (don’t own an iPhone), but I know that used time to give a sense of progression. e.g. the player would decide where the character should go, and several hours later, the character would ping to say they’ve arrived. (I’m sure they did more interesting stuff than this).

ES: How is your system deciding what to send back to players? Is it doing a simple keyword search on their email response, or is something more going on here?

JL: Yes, I can specifiy multiple keywords (or keyphrases) and trigger events when the keyword/keyphrase is detected. Such events include:

– sending a new message in the current email thread
– sending a new message in a new thread
– spawning concurrent email threads
– emails which are sent if none of the keywords are matched
– emails which match against any response

All the data is generated by a client-side web application I have created.

Continue reading

Prospero (Bruno Dias); Writing with Raconteur

Screen Shot 2015-09-15 at 3.02.45 PM

Prospero is Bruno Dias’ retelling of “The Masque of the Red Death”, implemented in Undum/Raconteur and published for Sub-Q Magazine.

As one might expect of both the author and the venue, Prospero is a typographically attractive piece of work, rendered in white text with red progression links. Links that merely expand the existing text appear in bold white, instead. The distinction between stretchtext links and movement links might be old in literary hypertext terms — I’m not certain — but it’s not consistent in the Twine and Undum world. I find it very useful to know whether the link I’m clicking is going to tell me a little more information or whether it’s going to move the whole story forward.

Prospero is also a beautifully textured piece at the level of prose. Dias has a gift for the specific detail — seen in Mere Anarchy in the variety of magical tools available to the protagonist, or here in Prospero in the scenery and the protagonist’s possessions.

The original Poe story goes like this: there’s a plague in the land, but the prince Prospero has a lot of money, so he walls himself up with his favorite courtiers and various resources, and they try to keep the plague at bay. (In contrast with the religious community in Vespers, he seems untroubled by the implications of shutting out the rest of the world.) During an elaborate party Prospero throws, a creepy masked figure attends, who turns out to be the embodiment of the plague. Despite their decadence and indifference to the world outside, the whole party dies. It is possibly a story about the inevitability of death, or possibly about the comeuppance of the wealthy classes.

Dias’ version keeps a great deal of that structure, but moves the action to something closer to the modern day, with cars and modern architecture and electric lighting. He casts the player as the Red Death, with the ability to choose the final outcome. This feels like a surprising choice, given that Poe’s version is so much about inevitability. And I think it would have been fatal to the concept of the original story to give Prospero any choice about whether he lived or died. As the Red Death, we can move among different parts of Prospero’s party, meet different party-goers, and decide whether to spare them all, or one or two favored exceptions, or no one.

Two of Dias’ previous projects, Mere Anarchy and Terminator Chaser, deal with resistance against wealth and power. Prospero raises some of the same issues, particularly the idea of the rich who imagine that they can remove themselves from the rules that apply to everyone else. In contrast with Mere Anarchy, it is comparatively merciful; it allows you to grant forgiveness, if you’re so moved. But I found that I didn’t entirely want to. Perhaps my own favorite ending was to spare one woman who seemed not to belong to the wealthy decadence around her: this suggested a universe with some moral discrimination.

If you like Prospero, you might also enjoy Peter Nepstad’s adaptation of stories by Lord Dunsany, or Caleb Wilson’s anachronistic gothic Six Gray Rats Crawl Up the Pillow.


Prospero was built with Raconteur, Dias’ system for creating Undum content. Undum builds beautiful hypertext with elegant typography and link transitions. However, it’s not particularly easy to use out of the box, so Raconteur provides a way to build for it without having to go direct to the javascript; and Dias has released the full source for Prospero as an example case. So in addition to reviewing Prospero, I’d like to take a moment to look at the experience of writing with Raconteur here.

Continue reading

Writing for Seltani, in general

Screen Shot 2015-05-21 at 7.16.49 PM

I’ve written a couple of blog posts (1, 2) about particular design decisions for Aspel, a multiplayer game I wrote for Andrew Plotkin’s Seltani platform. Those posts were mostly about how I structured puzzles and information around having multiple characters, touching occasionally on how Seltani’s possibilities and restrictions changed design decisions.

I have a few other thoughts about the platform more generally, about what it’s like to write for.

The overall gist: Seltani offers several obvious and several non-obvious features that made me feel like I was enjoying some of the advantages of Twine (hyperlinked text, the ability to dig deeper into system descriptions, relatively low time/effort cost for embellishing with new details) but had more systemic control. On the other hand, there are definitely some things that it can’t do, and some formatting choices that I understand but am still not crazy about.

Continue reading