Report by Robin Baumgarten
I attended the Games Developer Conference (GDC) in San Francisco. It happened from the 18th to the 22th of February 2008, with the first two days dedicated to tutorials and summits covering specific topics like independent games, serious games, casual games, physics, audio, mobile entertainment and so on. The main conference took place in the remaining three days. While there was a big career and exposition area for games companies, middle-ware developers and universities, the main aspect of the conference was the lectures and round-table talks that were scheduled throughout the days. With over 400 events available, the choice was not easy and I had to skip many interesting lectures. However, there were not very many AI-related events, so that I could attend most of them.
There were three AI roundtables spread over the conference days. Audio recordings and notes are available here: http://www.intrinsicalgorithm.com/GDC/. The first roundtable was a general AI session, where the topic revolved mainly around these topics:
The second roundtable focused on technical details in real-time strategy games and role playing games. The topics were:
The third roundtable session was supposed to be a beginner's session, but it turned out to be a general Q&A session.
(Slides are available at http://www.designer-notes.com/PlayingToLose.zip) Soren Johnson argues that cheating is can enhance the fun and reduce development efforts when done properly. He explains that AIs in modern video games are designed to lose against the player. The structure of the game must allow cheating though, in very symmetric games like chess cheating would destroy the credibility and enjoyability of the game. Very asymmetric games (for example desktop tower defense) the notion of cheating is not really applicable, as the rules of the game can be defined arbitrarily without having to worry about a loss of symmetry. Most games, however, fall somewhere in between these two extremes. In this area, cheating is an accepted technique to simplify the design process of the AI without breaking the illusion of a smart enemy. Examples include the non-adherence of hidden information (i.e., the fog of war), breaking rules the player has to follow (i.e., letting cars in a racing game catch up with faster than usually possible speed, the so called “rubber band-effect”), or reduced costs / more resources for the AI.
This Keynote was more or less a two hour advertisement for Microsofts XNA platform which is used to develop games for the XBox 360 and (soon) the Zune. XNA is arguably the best supported platform for independent and hobby developers to develop console games. The resources Microsoft provides are advertised as superiour and easier to use than the rivaling products from Sony and Nintendo.
Ray Kurzweil gave a lecture on his Law of Accelerating Returns and how it affects the future of mankind and gaming. There were no really new ideas in his talk, and his ideas are well documented in the internet (for example Wikipedia: http://en.wikipedia.org/wiki/Accelerating_returns).
Nicole Lazzaro compares a large social network (Facebook) with a large multiplayer video game (Halo) with respect to interaction, communication, social play and emotions. She introduces four concepts of fun: Hard Fun (“fiero”, personal triumph, e.g., in shooter games), Easy Fun (curiosity), Serious Fun (relaxation and exitement) and People Fun (amusement). According to Lazzaro, game best sellers contain at least 3 of these concepts, and inversely, the more of these concepts are included in a game design, the better it's reception will be.
(Slides: http://www.bungie.net/images/Inside/publications/presentations/betterbattle.zip) Damian Isla talked about the Behaviour-Tree based AI system in Halo 3. Units are put into different branches of a tree containing actions depending on a fitness function (which depends on factors like the distance to a target, group size and priority of the action). According to Isla, the use of behaviour trees worked well as a compromise between autonomous AI behaviour and direct control through designer-created scripts. More on behaviour trees can be found at http://aigamedev.com/hierarchical-logic/bt-overview.