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

Short, Friendly Parser Puzzle Games

From time to time I post lists of games that do particular things. This time the criteria are: the game is a relatively short, not overwhelmingly difficult parser piece, which should be playable in a couple of hours (and often less); it has definite puzzles, a game-like arc, and a win state; and it’s old enough, new enough, or under-discussed enough that you might not have already heard of it.

I almost put Oppositely Opal in here, as that is just the kind of game I’m talking about, but its healthy batch of XYZZY nominations mean you probably know about it already.

RaRLargeReference and Representation: An Approach to First-Order Semantics. This is a fairly new Ryan Veeder game, and it reveals its Veederishness first by using a title that fakes you out into thinking you are about to download someone’s thesis. It is, in fact, an entertaining short puzzle game about being an early human, someone who doesn’t yet understand the concepts of language and symbol. It is not just a game with a protagonist who knows less than the player; it is actually exploring how we understand what see when we see it, and models the transformation of the protagonist’s understanding. If you like the idea of cave man communication as game, you might also want to check out The Edifice.

seeksorrowStarry Seeksorrow (Caleb Wilson). From last year’s ShuffleComp. The protagonist is a magical doll that comes to life when necessary to protect the main character: this is gentle fantasy with a few hints of something darker behind the scenes.

Ka (Dan Efran). An escape game themed around the Egyptian afterlife, in which you have to perform rituals in order to make progress as a soul. It’s solemn and dreamy, and sometimes a bit reminiscent of Zarf’s work: a landscape full of partially metaphorical objects, an absence of other people or the pressure of time.

fragileshells.pngFragile Shells (Stephen Granade). Escape from a damaged orbiting space station. Granade is a physicist who has worked extensively with NASA and on communicating scientific concepts to a general audience; Fragile Shells presents a realistic, near-future setting, in contrast with a lot of space games. Speaking of which:

Piracy 2.0 (Sean Huxter). Your spaceship is attacked by pirates; can you get out and save yourself? This one is particularly rich in alternate solutions and story outcomes, and is longer than most of the others on this page, while still being roughly the length for IF Comp. I really enjoyed it at the time, but it hasn’t been discussed as much afterwards as I might have expected, especially given the rich array of possible outcomes the story provides.

Tex Bonaventure and the Temple of the Water of Life (Truthcraze). As the name implies, this is an Indiana Jones-style adventure with a couple of unexpected puzzles. The comp version had a few tricky moments, but I generally enjoyed it.

beetmongerIf you like the archaeology angle but don’t want to spend the whole game on that, The Beetmonger’s Journal (Scott Starkey) has an archaeological frame story and some fun experimentation with narrative and viewpoint.

Sparkle (Juhana Leinonen) offers mystical, transformative magic puzzles, from the original ShuffleComp. The internal logic of those puzzles is a bit silly, but the game clues them well enough to make it all work.


Looking for something longer? Here’s a list of substantial, high-quality, but underplayed large parser games.

Mid-September Link Assortment

Events (some of which I mentioned last time, but are still in the future):

September 28, Boston area, PR-IF is holding its next meetup.

September 28 is also the deadline to submit games to be shown at WordPlay London, a November event centered on interactive text and held at the British Library. You may submit your own works or nominate works by other people.

IF Comp launches at the beginning of October. If you’d like to donate prizes, that option is still open to you.

Sept 30-Oct 2 in Santa Clara, CA is GaymerX, where Carolyn VanEseltine will be running a workshop on modern interactive fiction.

The Los Angeles IF Meetup has been making twitching, not-quite-actually-dead-yet movements, so might be worth joining if you belong to that area and would like to be notified of LA area events.

AdventureX is running a Kickstarter to support its London event November 19-20. With luck, this money will help do things like fund travel for additional speakers and cover venue costs. Wordplay London is also happening November 19, which is a little unfortunate, but the two events are working together to try to minimize overlap, so you could go to Wordplay on the 19th and AdventureX on the 20th for a full weekend of texty, adventureful goodness.

Meanwhile, October 16 is Comp Game Party Day in London, when we will get together on a Sunday afternoon to play a bunch of newly released IF Comp games. I have a couple of volunteer readers, but could use more, and/or snack-bringers, so if you would like to come and do one of those things, please let me know. And of course if you do not want to bring anything except yourself, that is also welcome.

Continue reading

Visualizing Procgen Text, Part Two

In a previous post (now several months ago — sorry!) I wrote about visualization strategies for looking at procedurally generated text from The Mary Jane of Tomorrow and determining whether the procedural generation was being used to best effect.

There, I proposed looking at salience (how many aspects of the world model are reflected by this text?), variety (how many options are there to fill this particular slot?) and distribution of varying sections (which parts of a sentence are being looked up elsewhere?)

It’s probably worth having a look back at that post for context if you’re interested in this one, because there’s quite a lot of explanation there which I won’t try to duplicate here. But I’ve taken many of the examples from that post and run them through a Processing script that does the following things:

Underline text that has been expanded from a grammar token.

Underlining is not the prettiest thing, but the intent here is to expose the template-screen-shot-2016-09-11-at-4-45-52-pmstructure of the text. The phrase “diced spam pie” is the result of expanding four layers of grammar tokens; in the last iteration, the Diced Spam is generated by one token that generates meat types, and the Pie by another token that generates types of dish.

This method also draws attention to cases where the chunks of composition are too large or are inconsistent in size, as in the case of the generated limericks for this game:


Though various factors (limerick topic, chosen rhyme scheme) have to be considered in selecting each line, the lines themselves don’t have room for a great deal of variation, and are likely to seem conspicuously same-y after a fairly short period of time. The first line of text locks in the choice of surrounding rhyme, which is part of why the later lines have to operate within a much smaller possibility space.

screen-shot-2016-09-11-at-4-45-36-pmIncrease the font size of text if it is more salient. Here the words “canard” and “braised” appear only because we’re matching a number of different tags in the world model: the character is able to cook, and she’s acquainted with French. By contrast, the phrase “this week” is randomized and does not depend on any world model features in order to appear, so even though there are some variants that could have been slotted in, the particular choice of text is not especially a better fit than another other piece of text.

This particular example came out pretty ugly and looks like bad web-ad text even if you don’t read the actual content. I think that’s not coincidental.

screen-shot-2016-09-11-at-4-45-59-pmColor the font to reflect how much variation was possible. Specifically, what this does is increase the red component of a piece of text to maximum; then the green component; and then the blue component. The input is the log of the number of possible variant texts that were available to be slotted into that position.

This was the trickiest rule to get to where I wanted it. I wanted to suggest that both very high-variance and very low-variance phrases were less juicy than phrases with a moderate number of plausible substitutions. That meant picking a scheme in which low-variance phrases would be very dark red or black; the desirable medium-variance phrases are brighter red or orange; and high-variance phrases turn grey or white.

Here “wordless” and “lusty” are adjectives chosen randomly from a huge adjective list, with no tags connecting them to the model world. As a result, even though there are a lot of possibilities, they’re likely not to resonate much with the reader; they’ll feel obviously just random after a little while. (In the same way, in the Braised Butterflied Canard example above, the word “seraphic” is highly randomized.)

Finally, here’s the visualization result I got for the piece of generated text I liked best in that initial analysis:


We see that this text is more uniform in size and color than most of the others, that the whole thing has a fair degree of salience, and that special substitution words occur about as often as stressed words might in a poem.


There’s another evaluative criterion we don’t get from this strategy, namely the ability to visualize the whole expansion space implicit in a single grammar token.

Continue reading

Aviary Attorney (Sketchy Logic)

Screen Shot 2016-09-07 at 10.22.24 PM.png

Aviary Attorney is a game in which you guide some French lawyers, who happen to be birds, through evidence collection and trial scenes in which they pick holes in the opposing testimony. It owes a great deal to Phoenix Wright: Ace Attorney, emulating its gameplay and in-court responses. People also compare with Hatoful Boyfriend, because both are visual novels with birds who act like humans, but Aviary Attorney owes less of a debt there: the gameplay and style are really rather different.

The art, meanwhile, is lifted from the public domain work of French caricaturist J.J. Grandville, and the game’s narrative takes place against the rising action of the revolutionary year 1848. There are also many current jokes and references: the evidence binder where you store pictures of people you’ve met is your “Face Book,” for instance.

The joke could have been too weak to sustain play through the whole game. But I wound up liking it a lot, and not just because the game only needed a few hours to play through. Sketchy Logic do a good job with the light animation, the soundtrack, the dialogue writing: moment to moment, production values are consistently solid.

More to the point, though, this is not just a grab-bag of goofy cases. The whole piece is addressing themes of justice, rationality, the use of force, and the relationship between the poor and the wealthy. 1848 Paris, as portrayed here, is a place with huge disparities in wealth and class; a place where judges preferentially protect the well-to-do, and where police may arbitrarily shoot the poor. In one of the endings, you are literally assembling evidence to work out whether the victim of a (supposed) police shooting was hit in the front or the back, and under what circumstances.

Continue reading

Lethophobia (Olivia Wood and Jess Mersky)

Screen Shot 2016-09-05 at 5.32.35 PM.png

StoryNexus was meant to be revenue stream for Failbetter Games: the tool available for anyone to use, with an option to publish, monetize and split the profits between author and studio. The existence of Fallen London was one of the selling points — players had been asking for years to be allowed to make their own Fallen-London-alike. The system was also one of the few IF tools to offer a quality-based narrative out of the box, where new pieces of story become available as the player’s stats change.

But quality-based narrative is not the easiest kind of interactive narrative to bootstrap. You tend to need a lot of content before the results start feeling like a game. Moreover, a StoryNexus game specifically needs a stock of images as well as a stock of words. SN came with a range of generic icons, but that could just mean that many SN worlds felt rather samey unless the author had put in the extra customization to draw (or have someone else draw) customized card images.

StoryNexus never really took off in the way Failbetter hoped, and the monetization option wasn’t available for long. Officially, StoryNexus is no longer supported. But a small library of sizable or complete SN worlds were written, including Winterstrike, Samsara, Below, Zero Summer, Final Girl, and now Lethophobia. A lot of SN games are loosely structured and have a lot of small anecdotal interactions — sticking with the idea that they’re story worlds, or settings. Lethophobia (like Final Girl) is in a minority: it’s telling one story, and there’s a clear trajectory through that tale. There is also, mercifully, no action limit worth worrying about, so you can play as continuously as you wish without any enforced delays.

Lethophobia is the story of a haunting. The house in question is a very particular one, lovingly described and appealing to every sense. The discoveries you’re assembling about the past are rather looser and less determined: you meet a character, but is he an old friend or your ex-lover? Is this female character your sister, or is she a former piano teacher?

From early on the game communicates that it’s not so much about exactly what happened, but rather about how you orient yourself to those memories, about the process of discovery and reconciliation to trauma.

Lethophobia is also the closest thing to a classic IF puzzle game I’ve seen in StoryNexus form.

Continue reading