GDC 2001: AI Roundtables Moderator’s Report
Day 1: General Session
There were 28 people in my session on the first day. We had a number of military and academic people, so the numbers for "people working on AI" and "per cent CPU" were broken out to separate those numbers from the purely game developer numbers.
Per cent CPU:
Military/Academic: 3 responses of 90-100% CPU, 3 of 60-80%
Game Developers: 3 responses of 30%
2 responses of 5%
1 each of 10, 15, 15-20, and 35%
AI Developers:
Military/Academic: 6 developers, "all of the developers," etc.
Game Developers: 4 responses of 1 developer
3 responses of 2-3 developers
2 responses of ½- 1½ developers
1 response of 2 developers
Topics of Discussion:
Cheating started us off. The clearest point was that everything in a game should serve to make it more fun. Quasi-religious arguments about cheating never broke out, and it appears that the industry has settled on how and when to cheat. The AI should be as good as it can be before resorting to cheating, it should never spoil the user’s fun, the user should know about it, and it should be as well hidden as possible.
Learning came next. The consensus was that learning methods are coming of age. Training takes place as part of the game development cycle, never after the game ships. It’s not the Holy Grail, but can be an effective tool. The hard parts are getting good fitness functions and being able to tie the causal inputs to the outputs.
The hope of bringing research AI into games came up as well. While researchers do not have the burning need to "ship by Christmas," they have instead the need to, "make it run so that I can get my degree." Most research AI has not faced anything like the constraints of the game environment, so the gains have been incremental. The military simulations people talk about how many AI per CPU as a figure of merit. There is interest from all sides in seeing if working in or near the problem spaces of the others will yield useful results.
A number of other topics saw light as well. Co-operative AI came up as a twist on the usual. Normal AI code is to provide an opponent, but the issues change for a co-operative AI. If it’s aggressive and active and genuinely good, the player feels like they are the "wingman" to the AI and not the leader. If it is more passive, the player may begin to feel that the AI is worthless. As with all AI, if the player doesn’t see it, it might as well not happen, so part of the job is to let the player know what the AI is doing. "I’ve got the guy behind you," coming from the AI lets the player appreciate the fine job the AI is doing protecting him while at the same time appreciate the level designer’s clever ambush.
Smarter worlds came up. The Sims exploit this, and other developers are looking into it as well. The world "talks" to the AI in order to make it easier for the AI to perceive its surroundings.
Getting the AI the data it needs can make or break the effectiveness of the code. The AI developer needs to be in on the first reviews of the design so that important information for the AI is readily available from the beginning.
Day Two: Sports AI
I had a hard time getting to the session since the halls around the speaker’s lounge were clogged with people headed towards M. Abrash’s talk and I was trying to go the other way. J It was a much smaller group, 10 people, and so everyone got a chance to fully express themselves.
Sports Games get their share of AI developers. Those who choose to respond gave numbers of 1, 2, and 2-3 developers for their titles.
The most fascinating topic, one that tended not to surface in other AI RTs was, "How do you make a good player out of a bad user?" Or more simply put, making sure that people of all skill levels have a good time with the game. At one end of the spectrum are hard-core sports enthusiasts who are also hard-core gamers. This audience exposes the weaknesses of the AI. But the other end of the spectrum, take for example children just beginning to play computer games and casual adult players, are players who will be overwhelmed by any AI good enough to keep up with the hard-core crowd. They still want a challenge, and like everyone else they probably want a challenge that they can barely beat. Failing to do so removes some of the major advantages of sports games. They usually have a wide acceptance. So-called "soccer moms" may not let their kids play fighting games, but FIFA soccer is another matter. And the AI has to be able to make them look like they are just a bit better than a simulated team of professionals.
Sports AI requires probabilistic reasoning. Predictability leads to the "golden path" problem where a certain technique always gives the same result. An American football play that always gained 4 yards or more would fit this category. And human beings rarely do things exactly the same way every time. Getting the probabilistic models right is very hard to do and the subject of much refinement. Changes in the numbers should result in changes in behavior and perceived ability. And even if the individual AI is working, many sports games require team behaviors as well. Team behavior does not always emerge from good single player AI, especially in free-form games like basketball.
Camera AI came up as a way to provide added value in a sports game. If a play is reasonably good, then the player might want to see it in instant replay from the camera angles that professional TV broadcasters – precognitive ones at that – would use instead of from whatever view the player used to execute the play. Slow motion close-ups allow the rendering engine to use higher levels of detail, including recognizable faces and expressions, without harming the regular frame rate. Camera angles that would have interfered with a real game are possible as well.
One of the conclusions of the RT was, "A good simplification is hard to find." And we had a pointer to robocup.org for soccer-playing robots.
Day Three: AI For Beginners
I will defer to Steve and Eric on this topic. I gave the quick run-down of the prepared handout to get people thinking about AI and then began taking questions. I walked around the room inside the circle of tables and watched for questions from all sides and did my best to answer them or give appropriate pointers or to let my colleagues answer. Steve took notes and Eric helped spot and answer questions.