Bowls of Oatmeal and Text Generation

In a comment on my recent post on text generation, Dryman wrote

I was wondering if you’d been following some of the recent games criticism discussing where procedural content has ultimately failed to be very interesting or engaging (in games such as Spore or No Man’s Sky), and might have some general thoughts about how procedurally generated text content can potentially be made to resonate more strongly than was the case for the largely graphical reskins in those games. Much of the discussion has focused on what Kate Compton has called the problem of “procedural oatmeal” – i.e. it is very easy to pour 10,000 bowls of plain oatmeal, with each oat being in a different position and each bowl essentially unique, but it is very hard to make these differences *matter* to an audience, and be perceived as truly different in any memorable or thought-provoking way.

(“Some of the recent games criticism” also includes this article from Mike Cook on changing how we talk about procedural generation.)

In response to which, I partly want to point to Bruno Dias’ recent Roguelike Celebration talk, which addresses exactly this point: that procedural generation is not a way to get large amounts of content from small amounts of input, and that procedural generation requires an appropriate design approach.

But to speak for myself: I think the key question in oatmeal-avoidance is whether the generation is connected to anything mechanical. I might be able to generate haiku, or funny food names, or imaginary constellations, or names of funny English-sounding towns, but all that generation is purely decorative unless it is tightly correlated with gameplay — and the player will soon realize that it is decorative and start looking past it.

But what kind of mechanical connection is required? It would be a lot to ask that every procedurally generated variant needed to correspond to different gameplay affordances — that procgen is only interesting if having 10K output states means 10K different verbs or verb clusters or play strategies that could be unlocked.

That’s a very demanding design problem. It’s not completely inconceivable to have elements that work together to generate fresh mechanics: Dominion‘s longevity comes from the fact that the cards play off one another in really interesting ways and make each other useful (or not useful) quite quickly: Peddler might be pointless in a game without +Action and +Buy cards, but in a game with a good action/buy engine and, say, Bishop, it might become a massive source of victory points. There are entire blogs devoted to pointing out productive Dominion card combos and strategies. But that’s a challenge in mechanics design, and if every application of procgen text had to be that mechanically rich, we wouldn’t need it very often.

But there are other applications as well, happily. In The Mary Jane of Tomorrow I wanted pretty much everything the robot said to serve as a reminder of her current training state: it acts as both status information and as a perceivable consequence of what the player has done with her. Show her a book about cowgirls, and she’ll start speaking in a funny accent. Teach her about botany, and suddenly she’ll get really specific about the types of apple she can bake in an apple pie.

Procgen methods are great for this kind of low-levellayered consequence: representing how the player has changed the world state persistently in a small way, rather than massively in a way that forked the narrative.

Continue reading “Bowls of Oatmeal and Text Generation”

Being Edited

Discernment_promoFrom time to time I write a commissioned story for Fallen London. Writing for Failbetter Games means submitting material for inspection by their editor Olivia, the most meticulous prose editor I know in the interactive story space. She goes well beyond identifying typos, grammatical errors, word repetitions, and continuity problems. She looks at the cadence of sentences, at the novelty of the imagery, at whether terminology is of the appropriate period or not. She finds dead spots in the prose, places where nothing is really wrong but where there’s not enough happening to justify the expenditure of precious words.

For instance, here’s a bit of draft text, designed to be shown to the player before they’ve clicked on the choice to see the result, together with Olivia’s note:

Ask about his family. // He evidently came from somewhere. <– a bit meaningless. I’m trying to think of something that feels less stating the obvious. He must have had friends, family, before? (But then that means a repetition of the title. Hmm.)

Writing for interactivity, one often finds oneself building an interactive structure first — where do the branches go? How does the world state change? What happens to the stats? And it’s easy to write text that does the functional job of explaining those mechanics, but doesn’t accomplish much else. It helps having an editor who will go through and find those and send you back to rewrite them into something more interesting.

The flip side — prose that sounds lovely but doesn’t make things clear enough — is also an issue, in both choice-based and parser-based contexts. This is an old article I wrote mostly about parser interactive fiction, but some of it still holds.

Editing is also useful on larger issues. I have an editor for the Choice of Games piece I’m currently writing as well: part of her job is to help make sure that I’m sticking to CoG brand guidelines about how to structure the work, that the stats feel balanced and clearly communicated, and that I’m presenting the progressive worldview that is part of CoG’s approach.

That phase helps make sure that I’m not inadvertently communicating something that I don’t mean or want to communicate. For instance, my Choice of Games WIP has an NPC on one optional path who behaves extremely badly, and the protagonist has the option to cover for that NPC and protect him from the consequences of his nasty actions. My editor pointed out that the first draft of this scene didn’t do enough to distinguish the protagonist’s possible motivations (protect this person because it prevents other negative consequences) from an authorial stance that actually approved of this NPC (protect this person because his misbehavior is okay). Having some external help to recognize that problem is very helpful.

Then there’s humor-tuning. Graham Nelson edits the examples I write for the Inform manual. Typically he’s helping ensure that my explanations are accurate and make sense, and that the code style is consistent with what he wants to have represented. When he suggests a change to the actual content, it’s usually to substitute a funnier word or a better punchline. (Fortunately we mostly agree. Occasionally I will veto a change as being a bit too arch, or more his style than mine.)

I know there are writers who find being edited fairly excruciating. I mostly don’t. Heaven knows I can be made sad by other kinds of feedback, but maybe I’m just unusually oblivious in this one area. Maybe I’ve been lucky in my specific editors. But very often I find that editors are telling me things I would probably have recognized myself if I’d had the luxury of distance from my work. I’d much rather identify and fix those things than not, so the editor is doing me a huge favor.

(And before you say, “couldn’t you spend more time and find those problems yourself, then?”: practically speaking, no. “Luxury of distance” sometimes means “if I came back a year or five later.” It sometimes means “if I could figure out which of my reservations about my work are justified and which are the result of personal hangups.” Writing in the real world, with deadlines and commitments, doesn’t allow for that.)

That’s not to say that it’s never gone wrong.

Continue reading “Being Edited”

Detective Grimoire (SFB Games)

Screen Shot 2014-11-19 at 1.19.03 PM

Detective Grimoire is a short (90-180 minutes, probably, depending how much you rush through the voiceover parts) point-and-click mystery adventure. It’s pretty easy — strong hints about what to do next and what you might have missed thus far, as well as a “sparkle” mode to draw attention to environmental object that you should really look at. (If you want a more classic pixel-hunting experience, you can turn the sparkles off.) The content is also reasonably kid-friendly; though you’re investigating a murder, the actual and hypothesized reasons for that murder are all kept fairly PG. Some other reviewers refer to these as “grisly” or “dark”, but I didn’t find them so; it seemed to me that the character motivations are either quite gentle or cartoonish or both. If you squint, there’s maybe a bit of an argument for preserving the wilderness, but even that is softly handled enough that it avoids any political bite.

Continue reading “Detective Grimoire (SFB Games)”

Procedural Text Generation in IF

In the Missing Tools discussion some time ago, one of the things people mentioned wanting more of in IF was procedural text generation, which here is meant specifically as the ability to have the computer describe complex world model states or story events without having to hand-author every possible variation.

This is an area where there’s a lot to learn from work going on in academic research, but as far as I’m aware there’s relatively little communication. As I mentioned in my ICIDS writeup, James Ryan at UCSC and Dr. Boyang Li at Georgia Tech’s Entertainment Intelligence Lab are doing work on a) how to better represent a richly complicated world model and b) how to procedurally alter narrative features such as the tone of narration. One of the things we particularly don’t seem to do in hobbyist IF, perhaps for lack of resources, is experiment with large word databases such as WordNet or crowd-sourced work in particular areas like that used on Scheherazade.

Speaking for myself, I’ve also tended to stumble towards solutions in this space based on trial and error and the needs of my own projects, rather than having a strong grounding in the relevant academic work. Most of what we’ve needed — and most of what we’ve done — is pretty much work in the shallowest end of this pool.

And, of course, text generation for parser IF comes with special additional challenges, in that the player usually expects to be able to refer to any generated noun or noun phrase element; therefore if we generate a description of a thing as “blue”, the system also needs to remember how we described that object and accept the input “blue” to refer to it.

Here are the things I’m currently aware of. Unfortunately, I’m inevitably more aware of the internals of my own libraries and games than I am of other people’s work, so if I left out something cool that you did, please by all means say something in the comments: I am eager to know about it. In particular, there may be a lot I don’t know about under the hood in Kerkerkruip.

Continue reading “Procedural Text Generation in IF”

Elegy for a Dead World (Dejobaan Games)


Elegy for a Dead World is a game almost entirely about aesthetics and interpretation. As the player, you traverse artistically rendered side-scrolling environments, and from time to time you find a place where you’re encouraged to make some sort of annotation. The idea is to develop a story of your own based on the images you see, and then (if you wish) to make your version of the story available to others.

I played the version that the team submitted to IGF last year. At that point, it was a little more freeform than it looks currently (judging by the screenshots); you could stop and annotate anywhere you wanted, rather than having sentence-starters that you need to fill in. I spent quite some time going back and forth over one of the worlds, developing it into a storyline and then returning to edit earlier bits to keep the whole thing consistent. That was a little bit laborious, but also cool, because I could wait until the background and foreground elements were arranged just as I wanted them and then write something that corresponded to that precise spot.

Anti-coloring Book pages provide hooks but ask you to draw based on your own ideas.
Anti-coloring Book pages provide hooks but ask you to draw based on your own ideas.
In any case, even though I haven’t tried the latest version, I feel pretty confident about saying this is a very unusual thing — a bit like a coloring book but for writing. The experience reminded me a little of working with the The Anti-Coloring Book when I was younger.

This is sort of what I was trying for with San Tilapian Studies, but that was such a one-off experience that it was difficult to collect meaningful player feedback; likewise, the (now long ago) Walkthrough Comp, which provided a bare series of commands and invited authors to write games or full stories around those commands.

I’m particularly interested — though I think there’s not yet enough evidence to come to any conclusions yet — in the question of what sorts of prompts and images prove to be most richly productive of different interpretations. Again, I’m going off my experience at the time of last year’s IGF, so things may be substantially different now, but my impression then was that most people’s stories felt somewhat similar: while there were these evocative and non-prescriptive images to work from, they nonetheless tended to suggest roughly similar events and tonalities to the players. Contrast, I suppose, the tarot, which is notoriously fluid and variable in what different cards say to different people; Mattie Brice has written several intriguing articles on this topic.

Is there a form of interpretive game design that consists of coming up with especially resonant, multivalent images? What would skill in this area look like? How much does it matter that the tarot is a system with a built-in structure of relationships between the images?

Speculation aside, Elegy is really one of the only video games I know of to be seriously exploring this area.

Shufflecomp’s Outcast: Barbetween

Barbetween is a Seltani age written for Shufflecomp but excluded from the final competition because it was impossible to archive. Seltani is an online multiplayer text space that combines Twine-like room and object descriptions with the capacity for live chat and exchanges with other players in the same area.

I’d like to talk about Barbetween, but it’s the kind of piece that benefits a lot from being played in more or less complete ignorance of what’s going to happen, so I really suggest you do that. (It doesn’t take long.)

I played with the song that inspired it on in the background, and that proved to be a good choice.

Continue reading “Shufflecomp’s Outcast: Barbetween”