Michael Mateas visit
Michael Mateas visited today, and gave a presentation about his Expressive Intelligence Studio at USC. The project is about automated game design, which is interesting, since that was one of the original goals of my MS research, before I turned it into a space generation thing. Basically, this idea is something that would support formal game studies by exposing and finding new ways to put together mechanics. It also encourages thought about design at a meta level, reasoning about types of mechanics and how they can be put together. The existing work doesn’t do much yet, but it looks like it might yield some interesting results.
The work involves four layers of work:
- Game mechanics: State and state evolution. The actual mechanisms by which state is represented and can advance are part of a larger meta-model.
- Concrete representation: Audio, visual elements that represent the mechanics to the player.
- Thematic content: Real world references, common sense associations. This makes the game meaningful outside of a purely symbolic context.
- Control mappings: User interaction and verbs.
The starting point for the EIS lab was to look at the thematic content, which is arguably the hardest part of the problem. This bit has to make meaningful associations between game mechanics and the underlying concepts. For instance, if the game is about chasing, the player can either chase or be chased, and whatever is being chased must be something that someone would have reason to chase. The associations here were defined via Open Min, ConceptNet, or WordNet. I forget exactly which combination of these was used. The goal was to enforce consistency in game mechanics with the thematic concepts. The result of this was unfortunately rather messy and somewhat absurd in a lot of cases, due to conceptual slippage.
The more interesting area of work I found was in the reasoning about the mechanics themselves. This was done via event calculus, which has been described very effectively by Eric Mueller. The event calculus can reason about events, states, and can be used under the hood to restrict the types of states that can be reached by a given set of game mechanics. Essentially, the calculus can be used to define a suite of invariants, almost like unit tests, and test these on a given set of mechanics, allowing a designer or an automated tool to modify the mechanics quickly and find out whether the invariants are met.
Food for further investigation.