Wednesday, May 2, 2012

Almost Goodbye: Minimalist Procedural Content Generation in Interactive Storytelling

While in the past I've mostly written parser-based interactive fiction, today I'm releasing Almost Goodbye, a parserless, browser-based, short-form experiment in procedural content generation for interactive stories. (It's also science fiction, if none of the rest of that piques your interest.)

PCG has been used in interactive stories in the past, but usually in attempts to generate entire stories, plot points, or lines of dialogue from scratch. Rather than doing something so ambitious, instead I'm trying a sort of experiment: what's the minimum amount of a generated text that could be inserted into an otherwise hand-authored story to produce something that's both authorially sound and computationally interesting?

My approach with Goodbye is to generate the "satellite" sentences of a story (as opposed to the "kernel" sentences that move forward the plot) during dialogue scenes. These include all of the little bits controlling pacing between speakers (sentences like "He waited" or "There was a pause") as well as the ones re-establishing the setting ("The moonlight shone on his face" or "Traffic growled from somewhere nearby"). While these sentences seem inconsequential at first, they can have a surprisingly strong impact on a reader's perception of a scene. They are also relatively easy to procedurally generate compared to other types of prose sentences, and are amenable to variation based on the current narrative context (time of day, location, current speakers, mood, and the moment-to-moment rhythms of a conversation). The consequences of past player choices (such as changes undergone by the narrator) can also be factored in to the construction of these sentences. The result is (hopefully) a story that is personalized to the way you've been interacting with it in subtle yet constant ways, sentence by sentence... a different model than the large but infrequent consequences often seen in interactive narrative (i.e. getting one chunk of content instead of another).

You can play Goodbye at the link above; it takes about ten minutes to read through. The piece is a selection for "Avenues of Access," an exhibit of new electronic literature that will be part of the Modern Language Association's next conference, but I've received permission to post it online here early. Comments are always welcome. The curious can also read more about the technical details in a paper to be presented at the upcoming Workshop in Procedural Content Generation at the 2012 Foundations of Digital Games conference. 

3 comments:

Horace Torys said...

Very compelling.

Typo in theater: "She shifts in the seat next me to, and I feel her weight in mine

finferflu said...

Very beautifully made!

Aaron A. Reed said...

@Horace: thanks for catching that, fixed now. :)