2009 has been a very important year for game AI as a discipline, possibly one of the most significant yet. I feel a bit less guilty about struggling to keep up with everything just looking at how fast our field is moving!
In this editorial, I'll break down some of the things I expected to happen and what actually did happen. There were also quite a few significant moments this year, as well as a few controversies, which I'll describe in their juicy details as well.
I'd love to hear from you what you thought was significant about 2009, and which moments you think we'll remember in the distant future! Please post a comment below. Also, while you're in the forums, don't hesitate to share some of your predictions for 2010...
Look Back at 2009 Predictions
I posted my predictions for 2009 in this forum thread. They were...
More Experience Management
The first thing on my list of predictions was based on LEFT 4 DEAD 1's momentum in last year's Awards and critical acclaim:
“Use of high-level AI as experience management (the big gain, better gameplay), and slowly moving towards better procedural narrative.”
The key word in there was slowly. Certainly, there has been some progress in this area. For example:
UNCHARTED 2: AMONG THIEVES — This game had a very complete in-game context-sensitive hints system which made sure you'd never get stuck. However, some players felt it was a little too aggressive in helping you out while you were still thinking about a solution!
LEFT 4 DEAD 2 — The concept wasn't broken, so Valve didn't make too many changes to the core mechanics. If anything, the zombies were made a bit more aggressive and the hordes seem to be more frequent. The new features of the AI Director 2.0 seem to be either scripted (e.g. weather in Hard Rain) or random (e.g. the procedural geometry).
HALO 3: ODST — Bungie's latest game introduced an open-world hub which required a mechanism to guide the player towards interesting areas. You can see this in action in the CO-OP review of the game. See the screenshow below with the yellow highlight.
Even though it's a variation on a concept that you can find in the user interfaces of many games before, HALO 3: ODST's design is interesting as it's more subtle and blends with the world better. It feels more like "experience management" rather than a gameplay mechanic displayed on a UI. Matt Chandronait from Area5.tv mentions this in his review:
“I thought the environmental cues did a really good job. The AI that controls the city is guiding you around subtly to different areas.”
The big open questions for 2010 are how to take this experience management beyond layered randomness for scenario alterations, beyond an in-game hints system that helps you complete a linear story, and beyond a user-interface displays that help you orient yourself in the world. Can these things be combined? What other opportunities are there to adapt the game to the player and make it more fun to play?
Thriving Indie Game AI Scene
There's always been a trickle of talented developers from big publishers going independent, but I predicted an increase at the start of 2009:
“The rise of independent game developers, using less conventional AI.”
It's been a prolific year for independent games and with more layoffs from big publishers more talented developers are becoming independent developers. What's particularly interesting is the different techniques that independent developers are using, in particular:
AI WAR: FLEET COMMAND — This indie game is the brainchild of Chris Park, who comes from a database background. He used those ideas to manage the simulation of tens of thousands of ships.
GALACTIC ARMS RACE — Implemented by Ken Stanley's team, this game's purpose is to demonstrate content generation research technology. It certainly poses more questions than it answers!
This diversity is very healthy for the industry as a whole, and I think it's arguably the best way for new ideas to make their way into the mainstream. That said, it will take a bit more time to see the indie scene really shine, for example with character AI. But there are many things to look forward to in 2010... In particular, look forward to contributions from Damian Isla and Borut Pfeifer.
Progress in Character Animation
In early 2009, I rather ambitiously predicted the following:
“Developers place much focus on character animation / locomotion, and reach a near-consensus how to "solve" it.”
Games such as ASSASSIN'S CREED 2 and UNCHARTED 2: AMONG THIEVES (among others) are leading by example. It's now more obvious what kind of technology makes up a cutting-edge game animation system:
State-based blend tree,
Motion capture driven,
Inverse kinematics solvers,
...and occasional ragdolls.
In the future, there are going to be variations on this theme and improvements in each of the components. But the overall approach has established itself over the past few years, and it's solid enough to move forwards.
As for locomotion, there are still some sliding artefacts for things like walking and running. I'd argue we can still make good progress in this department, as I hinted in my presentation at the Game Developer's Conference where I talked about the holy grail of locomotion. However, we're not quite there yet; it'll take a few years more — though it's refreshing to hear about studios attempting this now!
At the start of the year, based on the economic downturn, I predicted the following:
“Industry consolidation in the middleware business in general, possibly with big publishers buying startups.”
Buy outs or mergers didn't happen as I expected. Big publishers have been spending less money, cutting staff, and investing in social media rather than technology companies. All the middleware companies working in artificial intelligence are still officially in business though!
That said, middleware companies have been collaborating increasingly together — which is arguably a form of consolidation. Many AI vendors have worked on the integration of their solutions within third-party engines, in an attempt to reach more customers. There's also been a "Race to the Bottom" and a competition based on low price or free services, for instance providing free integration or cheap licenses for independent developers.
Parallelism and multi-threading isn't new to 2009, but I predicted last year to be a turning point:
“More talk about useful multi-threading beyond "cosmetic improvements" (from all sides) and good prototypes emerge showing this.”
While more and more games leverage multi-threading, both on console platforms like UNCHARTED 2: AMONG THIEVES, or on the PC like OPERATION FLASHPOINT: DRAGON RISING to great effect, games that leverage these resources for AI are few and far between. KILLZONE 2 is another great example of leveraging current-generation "fixed" console hardware (in this case PS3) for the purposes of artificial intelligence.
In terms of massive parallelism and large scale multi-core applications on more flexible hardware (like on the PC), the responses beyond cosmetic improvements are mixed:
CUDA applied to a simulation of flocking planes (see this YouTube video). It's a promising approach, although the question is how this will work as a game.
Intel's TBB used for scaling up ambient animation and AI. This works in practice easily, though the improvements are not as impressive.
The big question is whether better hardware can be leveraged for AI at all, without it becoming a very different game. I mean, if you're using 1 TFlops extra computation for your AI, that's going to affect the gameplay — so you'll have to treat it as a separate game. A second big topic is how we can push the limits of console hardware with multi-threading, while still preserving the determinism of the simulation required by many networked games these days.
Along these lines, 2009 did bring the advent of promising technologies such as OpenCL, CUDA, and Intel's TBB. OpenCL in particular seems to be the most promising, as I discuss below.
In retrospect, this last bonus prediction of mine was a little overly ambitious! I claimed:
“More academic AI concepts/ideas/techniques make it into industry thanks to a better flow of research knowledge.”
There's certainly been some transfer of knowledge in the area, as the awards for Most Influential Research in our 2009 Awards indicated. That said, objectively it's hard to claim the situation is improving. In fact, subjectively it feels like the divide is getting bigger — as I mention in more details below.
I remain optimistic about this, but it will take a long time. From reviewing recent conferences, I get the sense part of the new generation of research associates and Ph.D. students are better in touch with industry, and of course this will help educate professors and supervisors that don't have a gaming background. But I also hope that the tight budgets this year help increasingly raise the bar, and make institutions a bit more competitive at providing useful research for industry.
Trends for 2009 in Retrospect
Parallelism and Data-Oriented Design
Because of particularly long console hardware cycles, game developers have been able to spend more time optimizing their software. What the programmers have increasingly found is that memory is the biggest concern as well as the most precious resource.
Tony Albrecht's Latency Elephant Article
Mike Acton's Sketches on Concurrency, Data Design and Performance
Data-Oriented Design on Game Developer Magazine
How does this affect AI? As we apply multi-threading to various aspects of the collision raytests or pathfinding searches, understanding the layout of the data is becoming particularly important. Beyond that, as these low-level parts of the AI are optimized, the high-level AI — in particular behavior trees — impose a huge toll on the cache.
The Challenges of Sandbox AI
It's always tough to find enough time to polish the AI in any game, if you want to keep your deadlines! However, sandbox games have it particularly tough... When I interviewed Mikko Mononen 18 months ago, we also discussed his work as Lead AI Programmer on Crysis, a game which certainly had its fair share of YouTube fan clips made about the AI's bugs after launch. However, a few patches later and the game's AI on Hard mode is still cited in gaming forums as a reference for combat AI.
I attribute such bugs to the complexity of making AI for sandbox games. Because there's just so much more that can happen in open worlds, there are more edges to smoothen out. If anything, this year has seen more sandbox games than any other year, so there are quite a few examples to draw upon, ranging from super-hero style city combat games to highly realistic military simulations. With few exceptions, the AI that shipped in those sandbox games this year originally received criticism in their reviews — only for the bugs to be addressed later via multiple patches.
Is there hope for solid AI in a Sandbox game at launch?
Better Characters: Money Talks
This year, the bar has been raised for non-player characters thanks to games such as DRAGON AGE: ORIGINS, GRAND THEFT AUTO: GAY TONY and of course UNCHARTED 2: AMONG THIEVES. As resident expert Phil Carlisle pointed out however, there's a direct correlation between the quality of the results and the amount of money spent. In particular, things like:
- Voice acting
- Motion capture
- Hand animation
- Facial expressions
- Texturing and modeling
The AI & behavior comes into play afterwards, but it's main responsibility seems to not break the illusion once the character has been established with all these other expensive and time consuming processes!
In particular, the whole process of hiring actors, rehearsing and shooting the scenes has had more impact on the critical reception of UNCHARTED 2: AMONG THIEVES than any other game. Watch the Behind The Scenes video Our Process Was Different and see how important this was for establishing the characters, compared to anything the AI could do.
Utility-based architectures describe a whole decision making system that chooses actions based on individual floating-point numbers that indicate value. (At least that's as close to an official definition I can come up with.) Utility in itself isn't new, and you'll no doubt remember using it as a voting or scoring system for specific problems like threat selection, target selection, etc. What's new in 2009 for is:
There's now an agreed-upon name for this architecture: utility-based, which is much more reflective of how it works. Previous names, such as "Goal-Based Architectures" that Kevin Dill used were particularly overloaded already.
A group of developers advocate building entire architectures around utility, and not only sprinkling these old-school scoring-systems around your AI as you need them.
The second point is probably the most controversial. That said, there are entire middleware engines, such as motivational graphs which have been effective in military training programs, and Spir.Ops' drive-based engine applied in other virtual simulations. The discussion about applicability to games is worth another article in itself, and the debate will certainly continue into 2010!
Would You Like to... Parkour With Me?
A general trend for the last few years has been the rise of Parkour-based movement. What's special about 2009, is that the AI seems to be following in the player avatar's footsteps, notably in traversing the world in a more complex manner than before... Notable examples are:
- UNCHARTED 2: AMONG THIEVES — As Christian Gyrling mentioned in his interview with me last year, making the AI NPCs traverse as well as the player was a major goal for this sequel.
- ASSASSIN'S CREED 2 — When you cause trouble in the game, soldiers will somehow find their way on to the rooftops to challenge you, though they don't seem to be quite as agile as the player (by design).
It's great to see that NPCs with better abilities that are symetrical with the player's has indeed improve the diversity of the gameplay!
The main academic conferences in game AI this year, AIIDE and CIG, brought together academics (mostly) with a handful of developers from industry — in a similar format to previous years. What was new this year is that tensions at AIIDE erupted onto Twitter. It's a bit difficult to piece together 140 charater messages to figure out what caused these underlying tensions to bubble to the surface, but what seemed to be missing was someone neutral to arbitrate and reprimand the cheeky or out-of-line comments from both sides!
Reading back about the 2007 and 2005 editions of AIIDE from Tara Teich's notes, it seems this "disconnect" between academia and industry has been there since the start — most likely due to the format of the event. For CIG, the problem is less obvious as the conference attracts fewer people from industry. Luckily, research keeps going and now there's more information flowing from industry conferences & publications the relevance of research projects can only improve...
The Rise of the GPU
This year started out with a marketing drive from NVIDIA and AMD to establish the benefits of GPGPU computations for game AI. The idea is that general purpose processing units on graphics cards (GPGPU) would be ideal for certain pathfinding operations in dynamic worlds. The article cited Relic's Chris Jurney, who used such techniques on Dawn of War 2.
Interestingly enough, Chris Jurney wasn't even aware of this marketing drive, and only found out about it when I mentioned it to him! (This was during the HPAA* masterclass with Daniel Harabor, if you have a Premium AiGameDev.com account.) Chris Jurney then went on to elaborate how there were significant issues with using a GPU for AI, in particular Dawn of War 2, since the entire engine must be deterministic for networking reasons, and no graphics driver could guarantee that.
Since then, however, OpenCL hit the scene and its standard apparently guarantees a deterministic implementation... At this stage, we can still only speculate about applications though.
Behavior Trees Everywhere
If there was a battle over the past few years for an AI technique that could provide scalable, designer-controllable, programmer-extensible behaviors — then behavior trees would have won it in 2009. Games this year including [PROTOTYPE], DARK SECTOR, UNCHARTED 2: AMONG THIEVES, HALO 3: ODST (and many indie games) are all using a variation of behavior trees under the hood.
This trend is in my opinion due to the strength of the technique, plus the fact it describes the many patterns that actually work and that game developers use in practice. I like to think of behavior trees as the first thing you should establish, as it gives you a framework to insert any other decision-making technique into your AI in a modular way. Of course, our evangelism of behavior trees here on AiGameDev.com may also have helped a bit!
Notable Moments in 2009
Industry Conferences & Events
Artificial intelligence in games has always had its fair share of academic conferences. However, 2009 marked the year of industry events on the subject. In March, the inaugural AI Summit took place at the GDC. This event was a highlight of the first two days at GDC, otherwise normally made up of a "series of press releases" in sponsored events — as one attendee told me! The down side is that this Summit sucked the AI out of the rest of the GDC, which seemed rather bland in comparison.
In June, AiGameDev.com ran its second annual Paris Game AI Conference. This standalone event brought together around 200 people from around the world, in contrast mostly programmers from industry, middleware developers and students. This conference was unique in its friendly atmosphere, and everyone in the audience attended specifically because of their passion in game AI. In case you missed it, the event will return by popular demand in 2010!
What's the IGDA AI SIG?
The Game Developer's Conference 2009 featured a roundtable about the IGDA's AI SIG. It's a officially a "Special Interest Group" like many other SIGs in the IGDA. The AI SIG is infamous for its AI Standards Committee, which unofficially went into cardiac arrest silently a few years ago without a defibrillator nearby.
The roundtable was the most uncomfortable GDC session I've ever been to, firstly because the topic of the AIISC was not officially on the agenda, and discussion was rushed along awkwardly when the topic came up. Secondly, there was almost no acknowledgement that the AI SIG is only an annual newsletter, and that nobody will actually implement the ideas discussed. Andrew Armstrong, a very active IGDA contributor, asked about this and there was no answer. Here's Andrew's report of the roundtable:
“Something that annoyed me was, despite this being a sometimes good set of ideas being put forwards, without anyone actually wanting to do the work, nothing will get done and the SIG will continue to stagnate. None of the ideas raised are easy to do.”
I had lengthy discussions with IGDA members from other SIGs about this subsequently... We came to the conclusion and a big problem seems to be the process these special interest groups go through. The chairperson can be self-proclaimed and there's nothing that can be done about it. In fact, people with the drive and initiative about their respective "special interests" tend to be driven away from under the IGDA's wing for these reasons — although it varies depending on the SIG and the chairperson. It's certainly the case with the IGDA AI SIG.
For reference, the rest of the year since the roundtable has been entirely quiet on the IGDA AI SIG front, as Andrew suspected would be the case.
R.I.P. AI Game Programming Wisdom
The bad news of the year came as an announcement just before the Paris Game AI Conference 2009; the AI Game Programming Wisdom series was terminated by the publisher. Steve Rabin (series editor) and I were discussing the book publishing business generally after the AI Summit; we were joking that websites like AiGameDev.com and our Premium area are one of the reasons why books are having a hard time...
Little did we know that a few months later, the series would be permanently shelved. The four books in the series will remain on the desks of serious programmers in industry, and hopefully future papers will be published via more academic channels such as AIIDE, TCIAIG or CIG.
Mikko Mononen's Recast
In April this year, Mikko Mononen (Lead AI on Crysis and ex-Programmer at Crytek) released his navigation mesh and pathfinding library called Recast and Detour, which have since become open source. The libraries have since been stimulating a burgeoning indie game development scene, which was severely lacking an open-source pathfinding library.
For me, it was most incredible to see the professional respect and encouragement towards Mikko from established middleware companies — excluding of course the vendor that threatened to sue! Of course in the long run, such a library can only improve AI in the open-source community as well as industry as a whole.
Infinite Mario Goes Mainstream
At CIG this year there was a Mario AI Competition, held alongside the usual Bot Prize in Unreal. The competition hit the mainstream press thanks to Robin Baumgarten's A*-based implementation that showed Mario solving an infinite level.
Such a widespread coverage of this as news was quite incredible to watch, including Robin's interviews with reputable print newspapers. This in itself was more of an achievement than the competition itself, showing off the power of AI in computer games to the masses. I certainly hope this inspired some people to get into game AI!
Now you can see why 2009 was such an important year for game AI as a field and an industry. It's hard to believe how things changed over the past few years let alone this decade!
Stay tuned for the follow-up with predictions for (the rest of) 2010. Be sure to post your own predictions for the coming year in the forums in the meantime.
NOTE: Make sure you don't miss out on all the action in 2010, and sign-up now for our Paris Game AI Conference this year. Tickets are already available!