Most Significant Digit

Monday, December 15, 2003

Facade and Beats

Okay, so I'm lazy. I'll admit, one thing that contributed was that I'd written up a really long post (probably 500 words or so) and then accidentally clicked the refresh button and lost all of it and didn't feel like typing it up again because by then I felt the entire post was kind of stupid. Maybe some day I'll try to talk about the same issues again, except more intelligently.

Anyway, I (kind-of) recently went to a talk by Michael Mateas, a professor at Georgia Institute of Technology with research interests in artificial-intelligence-based art and entertainment. He has a really cool game/interactive story, Facade. (It's been displayed at conferences, but isn't ready for mass distribution... He estimates it'll be available as a free download early in 2004.) In the talk, he discussed some of the issues he had to deal with in implementing Facade. One of the points he brought up is that "designers are stuck on plot graphs." (In math and computer science, a graph is a collection of nodes and "edges", which are connections between nodes. Usually you see them drawn as circles or dots with connecting lines.) If you think about the storylines of most games, you can easily represent them as graphs. In fact, the game design book Swords and Circuitry describes different graphs you can use to structure your roleplaying and adventure games. (It doesn't actually call them graphs, but they're circles with arrows connecting to other circles.) The problem with graphs is that you end up with a fairly limited set of choices or way of interacting with the game. The reason graphs are so popular is that they're much easier to design and code.
In any case, Michael Mateas had an interesting way of addressing the problem of plot graphs in Facade - "beats". In the screenwriting sense, a "beat" is the smallest unit of dramatic action; it encompasses all the actions that lead up to a significant change to some aspect of a character. What Michael Mateas did in Facade was to create a large collection of beats, and linked them to conditions. At various points in the game (which might be due to passage of time, or player input), the computer checks what beats the current game state meets the prerequisites for, and then randomly select from them. The selection procedure for beats and the prerequisites (and a couple of other things) are set up so that the game will end up with a coherent storyline (or at least a coherent experience).

I think I was going to make a point here, but I can't remember it.

Vaguely related link: Writing flash fiction. It's kinda like brainstorming for ideas, except there's actual writing involved later. I should probably try it sometime.

Oh yeah, and I am not a NaNoWriMo winner. I finished with about 10,000 words. Ideally I'll get more done over the break, or I might get distracted from it and run off and try to do more game-design-y stuff.