January 30, 2010

StarCraft AI Competition

A StarCraft AI Competition has been announced. The competition will be held at AIIDE 2010.

Very exciting stuff! I'm seriously tempted to sign up.

Here are links to the webpage, flyer, and announcement video on YouTube.

January 24, 2010

CFP: ICAPS 2010 Workshop on Planning in Games

====================================================================

CALL FOR PAPERS

The ICAPS 2010 Workshop on Planning in Games
Toronto, Canada
May 12 or 13, 2010

http://www.cs.ualberta.ca/~mburo/icaps2010-pg

Continue reading "CFP: ICAPS 2010 Workshop on Planning in Games" »

December 18, 2009

CFP: AAMAS 2010 Workshop on Agents for Games and Simulations

I’m co-chairing a workshop on Agents for Games and Simulation at Autonomous Agents and Multi-Agent Systems (AAMAS) 2010 in Toronto this May. The Multi-Agent Systems (MAS) community has spent years thinking about decentralized communication and cooperation between agents, and has recently taken an interest in applying their research to games. However, they acknowledge that their existing approaches may not currently be practical for commercial games, and may be a hindrance for designers. This workshop will bring together Game AI and MAS researchers and developers, to work toward viable solutions.

************************************************************************
CALL FOR PAPERS
Agents for Games and Simulations
Workshop@AAMAS 2010
May 10-11, 2010, Toronto, Canada
http://people.cs.uu.nl/dignum/AGS10/
************************************************************************

Continue reading "CFP: AAMAS 2010 Workshop on Agents for Games and Simulations" »

December 07, 2009

Artists vs. Proceduralists... Fight!

Lately I’ve been contemplating the best way to approach the generation of what you might think of as “AI assets” – that is, the data that makes your AI tick (whatever that might be). It seems to me that a similar debate exists in the animation community, and that examining that discussion might shed some light on our own problems – both in terms of how we should be thinking about them, and possibly also in terms of what the “correct” solution might be.

The debate is between those who favor hand-generated content (which I’ll dub the “artists” for the purpose of this post) and those who prefer computer-generated or procedurally-generated content (which I’ll dub the “proceduralists”).

In the animation world, the proceduralists (who are generally engineers) will argue that modern games have characters who are expected to be as reactive as possible to the world around them, while at the same time those worlds become more and more complex. On top of that, we want our characters to have as much variety as possible in their actions, so that they feel “real.” For instance, we don’t want a bartender just to stand there. He should polish the bar, clean glasses, and clean up after departed patrons. He should serve drinks. He should gossip with his patrons. He should laugh when he overhears a joke. He should pinch the waitress’s butt. And so forth. The end result is a combinatorial explosion in the number of actual motions that need to be made by our characters. As a result, we’re reaching the limits of what can be done with keyframed animation (where each motion needs to be created in advance, whether by an animator or through motion capture, and then shipped with the game). Even something as simple as pointing at somebody is impossible to do with purely keyframed animation, unless the exact position of the target is known in advance.

What’s more, because we’re limited in the amount of hand-generated animation we can ship, keyframed solutions tend to look mechanical and repetitive, as a limited set of animations are played over and over. Coming back to our bartender example, it’s doubtful that we can ship all of those different behaviors that I mentioned, along with enough variations on each behavior that they aren’t repetitive, if each version needs to be completely pre-generated.

On the flip side of the debate, the artists will make very similar-sounding arguments to support the opposite point of view. Given the level photorealism expected of a modern game, they’ll say, we can’t afford to rely on the computer to create our animations for us. Procedurally generated animations such as ragdoll and IK tend to look mechanical and artificial exactly because they are created in a mechanical and artificial way. If our games are going to look and feel “real” then we need the sense of character and visual fidelity that can only be obtained either through hand-generated animation or, better still, motion-captured animation which is then touched up by an animator. What we need is *more* keyframed animation, along with simple techniques (such as blending) that can allow us to combine them without losing quality.

This debate is far from over. New research is presented at conferences like SIGGRAPH every year that suggests ways to animate. With that said, it seems like in the end the truth will lie somewhere in the middle. Currently, the most forward-looking animation technologies that are actually shipping in games seem to be Spore and Euphoria. Spore, as most people know, is a game in which the player has extensive control over the appearance of his creatures, up to and including controlling the number and position of appendages, and the game has to animate whatever it gets. Euphoria is an animation technology from Natural Motion, which has been used in games like Star Wars: The Force Unleashed and Grand Theft Auto IV. It enables characters to interact in realistic and dynamic ways with the physical world. The interesting thing is that, as best I can discern, both of these products rely heavily on a mixing keyframed animation with procedural techniques.

Lately, I’ve been coming across a similar debate in the AI community. Ironically, most software engineers working in the games industry are actually the artists in this debate, while the proceduralists are largely academics. The arguments are more or less identical. The proceduralists argue that given the incredible complexity of modern games, as well as the desire for characters who are highly dynamic and reactive, it is unrealistic to think that we can rely on techniques like Behavior Trees, utility-based AI, or hand-crafted planners to create the breadth and depth of AI that we want to see in our games. Instead, we should be looking into solutions that use machine learning, or player modeling, or more general planners, or robust reasoners with strong psychological models and large ontologies, or any of a host of other techniques to generate as much of our behavior as possible.

The artists will argue that after roughly half a century of AI research, none of those techniques has been shown to be able to create the quality of behavior that we want to see in our games. They’ll say that we’re not trying to solve any hard AI problems here – we’re just trying to create characters who look and act in believable ways, and to avoid artificial stupidity, and we can do that if we just put enough care and attention to detail into our hand-crafted solution. And in saying that they’ll ignore the fact that we haven’t yet managed to achieve that either – or at least haven’t managed to achieve it very often – despite the ever-increasing size of AI teams and CPU resources available.

So I don’t have any good answers in either debate, except to say that both animation and AI in a dynamic, photorealistic environment with a large enough behavior set to generate believable characters are really hard. But I do wonder… is the solution in terms of AI going to look something like Euphoria or Spore? That is, rather than sitting in our well-defended camps and throwing stones at one another, should we be looking for techniques that blend hand-crafted AI with some sort of procedural techniques? And what would such a solution even look like?