Tuesday, July 12, 2011

On the Game AI versus traditional AI debate

Luke Dicken wrote a very nice blog post the other day on the differences between how AI is viewed in academia (and among students) and in the game industry. He focuses on the real-time requirements of game AI, and how little processing power most games make available for AI. He also talks about how NPC behaviour in games needs to be entertaining, not just high-performing, and reminds the reader that in striking contrast to e.g. AI for robots, game AI is allowed to cheat if it makes the game better.

Kevin dill wrote a response post where he points out that "traditional AI" is simply trying to solve very different problems than those faced by AI in games. Far from being simplistic and primitive, the techniques devised specifically within game AI are well suited to their specific purpose: reliably providing interesting NPC behaviour, while being understandable and moddable by designers. Perhaps academic AI research should take a hint or two from industrial game AI, rather than the opposite.

I am not fundamentally disagreeing with anything Luke or Kevin say. I think they both make several good points. However, I'd like to point out that I have a rather different and, I think, broader perspective on what game AI is. Both posts make implicit assumptions on what games are and what AI is, which I think are limiting.

The main game examples used by Luke and Kevin are Red Dead Redemption, Dragon Age, Battlefield Bad Company 2 and Left 4 Dead. While these are impressive games, they are all representatives of a pretty small subspace of gaming: AAA first-person story-driven games with a real-time component and graphics that require them to run on a home console or computer. They are also all targeted at a classic "hardcore gamer" audience. These are the sort of games that we typically talk about when discussing games, and these are the sort of games that everybody wants to work on. But not the games that most people play. It's like if in the automotive industry, everybody would want to work on the next Porsche, while most people drive a Toyota.

Bejeweled, FarmVille and Diner Dash don't have a first-person perspective, don't have complex graphics and don't have a story in the same sense as the games above. Yet as far as I know, they have more players than those games. Importantly, they don't have NPCs that need to be controlled by AI, but still they present a number of interesting AI problems. Even traditional hardcore strategy games like Civilization, StarCraft or Total War present hard AI problems which are only insufficiently solved by the techniques used in the game industry.

The other limiting assumption is that AI is used for controlling NPC behaviour. In fact, this is only one of many applications for the bountiful toolbox of techniques found in artificial intelligence. AI techniques can also be used to generate game content (levels, maps, rules, puzzles etc), model players, adapt various aspects of the game (such as the difficulty or the reward schedule), match players in online games, control artificial economy, debug game mechanics or implementations, and so on.

Between all the myriad types of games out there and the multitude of interesting AI problems within them, I feel there's more than enough to work on even for an academic like me. Real-time pathfinding and planning for FPS and RTS games is all great, and I look forward to playing the results, but I'm happy to see someone else doing that specific work.

If you're interested in the "other" game AI work I'm involved, you might want to read our recent survey papers on generating game content and on adapting games based on player models.

3 comments:

Kevin Dill said...

Certainly, Game AI is a lot of things - as you point out, it's a very broad market. It's interesting that you mention strategy games - I actually got my start there (working on AI for Master of Orion 3, Kohan 2, and Axis and Allies - none of which were huge commercial successes for various reasons, but all of which were innovative games with very ambitious AIs). All of those used utility-based approaches of one sort or another, as did Zoo Tycoon 2 (another series I worked on).

In any case, I don't mean to discount the importance of academia - in fact, there's fantastic work being done at numerous labs around the world on Game AI. The work of Michael Mateas, Jonathan Schaeffer, Norm Badler, and Michael Youngblood, to name a few, comes to mind. I've been involved with AIIDE for years, and the degree to which some of the academics really "get it" has increased dramatically over the last 5 years or so. But if you look at the labs that are really succeeding in the Game AI domain, I think you'll mostly find that they're not using deep cognitive models on games. They're not using learning algorithms on games. They're building new tools and new approaches, that are focused on the problems that game development actually presents, not just trying to mash games into the set of problems that they claim their uber solution can handle.

mike said...

Hi Julian,
you're right, returning to facebook games with Empires&Allies (with you) has reminded me that this is a nice field to work in (browser/social) games. And why not having NPC's in there? People are just not doing it
right now, everything is scripted (which reminds me of something :-) )... But you're right, that is the games most people play, and taking account how much fun they deliver, I wouldn't consider them a Toyota :-) (nothing against Toyota's).

Cheers, Mike

Correy Kowall said...

It seems reasonable to assert that a 'well conceived' strategy game ala Civ sh\would be set up such that multiple optimal policies are equivalent maxima in terms of an independent measure (like score) yet allow completely different policies (with different focal interests Science vs. Growth vs. Military vs. Resources. etc). Of course these games are typically POMDPs so the advantage of one maximal policy (in terms of local adjacent geography) over another isn't apparent until much of the map and player behavior has already occurred. I am curious if broad spreading search algorithms like a niche based GA or Swarms can locate all or most of the various pinnacle behaviors. Do you have a recommendation for an open source strategy game?