Saucers of Mud

March 23, 2009

Homer in Silicon

Filed under: Uncategorized — matt w @ 7:38 pm

I’ve been thinking about interactive fiction lately — that’s “text adventures,” and “thinking about” doesn’t mean “playing when I should be doing something else” to nearly the extent you might think, because I’m not very good at them —

— anyway, for some reason I woke up this morning thinking about Emily Short‘s review of The Battle of Walcot Keep. Apparently tBoWK is a game, except not a very gamey one, that lets you wander around inspecting the titular battle; and what the game is mostly doing is keeping track of a ton of non-player characters and what they’re doing, using something called the Reactive Agent Planner. Short writes:

When the game does continue, there’s a page of output: it appears that every archer and swordsman has his own daemon, and they’re all busily doing their own thing. Each action is described on its own line. It’s impressive, in a way; it’s also totally bewildering. So much is going on that it’s hard to get a good sense of the action in total: which side is winning? who’s going where? Much of the time I have no idea. And sometimes the actions described are very repetitive and seemingly insignificant. For instance, a page of output includes a paragraph of this:

“A sturdy rebel man-at-arms cannot reach a thin royalist man-at-arms. A sturdy rebel man-at-arms cannot reach a thin royalist man-at-arms. A ruddy-faced rebel man-at-arms cannot reach a thin royalist man-at-arms. A pale rebel archer cannot reach a thin royalist man-at-arms.”

…one reason that I’ve never released a game using [the Reactive Agent Planner] is that I ran into trouble with the exact things that are issues in “Battle”: slow processing and the generation of dull, repetitive, or unidiomatic prose. The former problem can be a little alleviated by being less ambitious about the number of NPCs, but the latter problem is hard. I think the solution probably involves representing all the actions that are going to occur in a given turn as data, then running some algorithms on that data to discard anything too ineffective to be worth reporting, cluster related actions together into compound sentences and related sentences into paragraphs, introduce variations of phrasing, etc. Which would be a massive undertaking to write, frankly, even after you have a fully functional set of RAP routines for your NPCs. I don’t want to sound discouraging because I think that, if this were done *successfully*, the results would be mindblowing, and I hope the authors of “Battle” will continue to work on this problem.

Now this sounds unsatisfying. It also reminds me of Dwarf Fortress, which I’ve never played either, but which seems to generate chunks of bizarre prose in kind of a similar way. But the prose is weirdly hypnotic. Which made me think, is there any way to give a similar hypnotic quality to the kind of prose generated by tBoWK?

Maybe we can adapt an ancient, successful answer to this:

He struck at the projecting part of his helmet and drove the spear into his brow; the point of bronze pierced the bone, and darkness veiled his eyes; headlong as a tower he fell amid the press of the fight…. but he did not live to pay his parents for his rearing, for he was cut off untimely by the spear of mighty Ajax, who struck him in the breast by the right nipple as he was coming on among the foremost fighters; the spear went right through his shoulder, and he fell as a poplar that has grown straight and tall in a meadow by some mere, and its top is thick with branches…. His dart was not sped in vain, for it struck Democoon, the bastard son of Priam, who had come to him from Abydos, where he had charge of his father’s mares. Ulysses, infuriated by the death of his comrade, hit him with his spear on one temple, and the bronze point came through on the other side of his forehead. Thereon darkness veiled his eyes, and his armour rang rattling round him as he fell heavily to the ground.

I’m not sure if there are any of these Homeric tags for one warrior being unable to reach another — but it seems to me that a nice varied vocabulary of epic tags would go some way toward reducing the monotony of an extended battle scene with lots of repeated actions, and some way toward turning the monotony into something that might still be worth reading. [Though you’d probably still need some algorithm for cutting down the kind of passage Short quotes — if it’s too hard to aggregate descriptions as she suggests, maybe keep the focus tightly on a few surrounding NPCs. Or have a larger radius for more interesting actions — only report “X can’t reach Y” if X is very near you, but look further for reporting “X’s arrow pierces Y through the chest. Darkness veils Y’s eyes, and Y falls heavily to the ground, and Y’s armor rattles around him.”

And perhaps the usual IF descriptions could be thought of as Homeric tags? ”

You see an Achaean here.
>x Achaean
The Achaean is flowing-haired and bronze-armored

The post title is taken from Emily Short’s column at GameSetWatch, besides the obvious.

Advertisements

5 Comments »

  1. Don’t go around giving away these amazing insights! The Homeric formulas allowed the poet to remember and regenerate a poem. And the process probably WAS interactive–he’d elaborate the heroism of the ancestors of the person paying the bar tab. But what’s relevant in this situation is that inserting the formula [“You see a [flowing-haired and bronze-armored] Achaean here”] would increase reading time but not generation time (I think–at least that could be managed), so would mitigate those 15-second delays.

    Comment by Matt's mom — March 24, 2009 @ 11:14 am

  2. I don’t know. I think you are taking a step backward by trying to cram a new medium into a venerable prose-style. With output like the one you quote or

    Meanwhile, attempts to interfere in the action prompt responses like this:

    > take sword Which sword do you mean, the sword, the sword, the sword, the sword, the sword, the sword, the sword, the sword, the sword, the sword, or the sword?

    I think you’ve got to look at this as a form of literary modernism – having something in common with automatic writing, Gertrude Stein, or Beckett’s novels, dissimilar as those all may be.

    Comment by Ben — March 24, 2009 @ 8:42 pm

  3. Ooh, good point. I should write “Watt: The IF.”

    >x house.
    The house is in darkness.
    >open door
    [the front door]
    You find the front door locked.

    >go to back door. knock
    You go to the back door. You cannot very well ring, or knock, for the house is in darkness.
    >open back door
    You find the back door locked.
    >go to front door.open front door
    You return to the front door. You find the front door locked.
    >go to back door. open back door
    You return to the back door.
    You find the back door open, oh not open wide, but on the latch as the saying is.

    >enter house

    This is not unlike a transcript of one of my IF sessions. I recently asked a game for my score and had it tell me, “You’re probably starting to get bored,” at which point I quit (and started it over at a lower difficulty level, though I still haven’t got back into it).

    Mom, I am happy to give away these amazing insights — you don’t want me trying to implement them myself, do you? But about inserting the tags — I don’t think it’s text generation that causes the 15-second delays, it’s that the program is simulating the actions of buckets of NPCs before starting to generate the text.

    I’m also amused that WordPress generated this post as one of the “possibly related posts” — at first because it’s philosophy, and now I see it’s actually by one of my friends, who links to my other blog (Hi Joe!). I wonder if it generally looks for philosophy posts to link to me, or if it just happened to pick up on our both using the word “action” a lot.

    Comment by matt w — March 24, 2009 @ 9:02 pm

  4. Actually now that I think of it the Beckett/Buster Keaton Film could pretty easily be adapted to IF. The challenge is to cover everything in the apartment that looks like an eye, and then to quit the game so poor old Buster is free from your gaze too.

    Comment by matt w — March 28, 2009 @ 5:50 am

  5. […] came up in the last post. I’ve read an essay the producer wrote about it, but it seems to have disappeared from the […]

    Pingback by Samuel Beckett’s Film « Saucers of Mud — March 28, 2009 @ 7:09 am


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: