Plotkin on Rule-Based IF Programming

I’ve been meaning to write something deliberate and detailed about the May 3 Penguicon talk, “Rule-Based Programming in Interactive Fiction,” by Andrew Plotkin (a.k.a. Zarf). And I’m still waiting to do that. I didn’t want to wait any longer to mention the talk on here, though, since it is presented very well in its Web version and will be useful for many people. It’s an intriguing discussion of the other major idea behind Inform 7 – the one that isn’t “natural language” programming. The discussion of how to code interactive fiction is one I’ve been mulling over as I continue to work on Curveship. I think providing first-class representations of actions is very helpful in dealing with some of the problems Zarf addresses, although it doesn’t solve everything by itself. And I think that having representations, within actions, of atomic events (such as exerting force on something and thereby touching it) deals with another of the problems that Zarf mentioned. But I’ll have to leave the extended discussion of that for another post.

5 Replies to “Plotkin on Rule-Based IF Programming”

  1. Some of these ideas remind me of stuff the Oz Project papers mention in passing about their IF system. The GLINDA paper, for example, seems to be able to assume all sorts of first-class representations, rules that propagate event effects through the world model, etc. I can’t seem to find anything actually about that IF system, though.

  2. I’ve been groping around for something I’m not entirely able to describe in Inform lately- I’m not an advanced Inform 7 programmer, but I’ve been looking for the ability to add some rule-based automatic text generation- markov chaining stuff for instance, to inform’s abilities, in addition to the basic “room”/”object”/”actor” describing and manipulation that’s already there- in order to create something a little less static and on rails and a little more unpredictable and alive. It’s possible that if I dropped down deeper into inform 6 that there might be a way to do it, but I’m having a hard time getting linguistics ideas across to game-oriented folks.

  3. Well, I know some inform 7, I don’t know *any* inform 6. I’m willing to learn though if it lets me get down to a lower level with generating and manipulating text.

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    Markdown is turned off in code blocks:
     [This is not a link](

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see