Tuesday, October 16, 2007

A plug is a kind of item...

So in my perusing of the 2007 Interactive Fiction competition, I came across Inform 7. Inform is the language that Infocom used on all those awesome text adventures of our collective youth - Zork and whatnot. The 7th iteration is heavy mojo, because it's meant to be a natural language, object oriented narrative device. You use Inform 7 to tell a story about the story you want to tell. For example, if I wanted to make sure that the player in my text adventure could accuse people of crimes, I would tell Inform something like this:

Accusing is an action applying to one visible thing and one value. Understand "accuse [something] of [crime]" as accusing. A crime is a kind of value. Crimes are sabotage, murder, theft, blackmail, and arson.

Check accusing:
if the noun is not a person, say "Reifying stuff isn't going to get you anywhere - try accusing a person." instead;

and so on. I'm actually trying to figure out how to ensure that the [crime] is limited to the "approved list" enumerated in the code. But that's not the point.

The point is that the wonderful world of IF authoring has taken a leap into the darkness that is natural language programming. I'm slightly surprised that this didn't generate more of a stir when it was released (although I may have just missed the buzz, and anyway, in the world of teeny communities the group of people who write and play interactive fiction is one of the teeniest). For someone who is used to thinking of IF as a series of stage notes, the freedom of the system is amazing.

It's also just enough rope to hang myself, of course. It's already quite apparent from my perusal of Usenet posts on the subject of Inform 7 that I need to be brave and work on learning Inform 6, which represents the heart and guts to Inform 7's brain. However, if one was mechanically unambitious and just wanted to write a good story, they could do it in Inform pretty dang easily.

Which makes one wonder why we can't create all sorts of relational databases this way...probably we can.

Compare Adrift and TADS, which appear to be the two other "easy" authoring systems. I have some experience with Adrift, which I was using to author a "print your LRW paper" law school adventure before my laptop, in a fit of irony, imploded. TADS I know nothing about, except that it's got more multimedia-style capacity (little embedded sound files, images, etc.).

No comments: