The field of game AI is actually moving very fast these days! This is a very exciting time for developers, particularly those of us who’ve been working towards this tipping point for a long time. But it’s also a little overwhelming; are you prepared for what’s going to happen next? Luckily, here’s some advance warning…
Last Saturday, Phil Carlisle (industry veteran and resident expert here at AiGameDev.com) & I (Alex Champandard) ran a GDC debriefing session online. This was a bit of a different feel than usual; it seemed more like a breakfast chat show! Apart from the fact it was early Saturday on Easter weekend, the format worked very well and we ended up analyzing all the key trends in our field that came out of San Francisco.
Specialization of Game AI
During the panel discussion of game AI in education at the AI Summit, Brett Laming mentioned that developers who’ve been in the industry for a few years are very lucky since they’ve been able to learn all the key principles by actually implementing AI incrementally into games. These days, as a junior programmer, you’re expected to specialize and learn specific details of a part of AI — without necessarily having the big picture.
“The field of Game AI is growing quickly!”
In industry, this is also a problem as two professionals are becoming less likely to strike up an in-depth conversation about their work. Richard Evans and I ran into this issue during our discussions at the GDC Speaker’s party; he’s into social interaction and logical reasoning while my experience is in animation and individual behavior.
Take Away: Try to keep an eye on all the different sub-fields of game AI at least, and if you have time read up on them and build some prototypes.
Programmers as Academics
Another important trend that Phil pointed out is how many AI Programmer have not only Bachelor-level degrees (that has become very common), but also Masters or even Ph.D. in related fields. I have an M.Sc. by research, and Phil is working on his doctorate while teaching and building indie games!
This in itself is an important point; it highlights that developers are likely to pick specific techniques based on background research — contrary to popular belief. Most developers I know don’t hesitate to do a little research on Citeseer and Google Scholar before attempting to solve problems typical of academia. However, you’ll typically find that game AI developers become much more pragmatic once they go into industry!
Take Away: As a student, a well chosen Masters research project can set you ahead of the curve, and most likely get you hired on the spot. As companies, you should look out for these students!
Another implicit trend is the growing size of teams, which caught Phil a little by surprise. (I’ve come to find this normal from my consulting with big studios :-) Now most companies have multiple AI programmers, and the big studios can have 10+ programmers just on the artificial intelligence side of things. In contrast, about five years ago the average was around 0.5 — as Neil Kirby pointed out.
Take Away: Be prepared for working in big teams; work on your non-programming skills!
AI as the New Battleground
Phil pointed out this trend too, that AI seems to be much more at the forefront of innovation. A lot of discussion revolved around design this year, and veteran designer & developer Dan Kline emphasized that design is changing so fast these days.
Games like Left 4 Dead and Far Cry 2 are putting AI in the limelight by making it a central piece of their design. This ties in to the next theme…
Screenshot 1: Far Cry 2’s experiments with large living worlds.
The Need for Pushing AI Design
There’s a growing sense this year that not so much has changed technically speaking. What has changed is that the average developer is catching up with the cutting edge… Beyond that, many of the leading developers in the field believe that most of the big problems are solvable already — and it’s only a question of development time to successfully implement them in a game.
Based on that premise, there’s a consensus that the way forward for improving AI is to push design. Of course, better AI in itself can improve design, so it’s a positive feedback loop too. What was special about this year’s GDC was the number of talks and discussions about this among AI developers.
Take Away: Be sure to involve your most experienced AI Programmers during the design phase, and let them influence the direction of the game. L4D has shown how rewarding it is when you do it right.
Emotions for Gameplay
Phil is a strong advocate of emotions in games, and gave a talk about this during the AI Summit. What surprised me is to what extent developers are talking about this, discussing ways to make it happen, and thinking about prototypes that can use better emotional models.
The discussions at the AI Roundtables (see below for the recordings) featured a few discussions about emotions, in the context of various little games like playing hide and seek, or even a game of tag. There’s a genuine interest in building emotions, not necessarily for improving the realism, but to see how this can impact gameplay in new and exciting ways.
Take Away: Start thinking about how simple emotions can affect your decisions (without requiring extra assets) to improve gameplay, then consider plugging in more animations!
While last year’s GDC emphasized crowds and the use of AI to improve the visuals of a game, or to improve the quality of the environment (e.g. Assassin’s Creed), this year it’s been all about AI at the top level and most importantly: gameplay. In particular, the AI Director of Left 4 Dead has redefined the way many developers think about player experience and scripted missions.
Take Away: Get one of your AI programmers to develop the gameplay and scripting system for you, and give him full control for a prototype or two!
All the design in the world means nothing if the player doesn’t notice. So a lot of discussion necessarily revolved around how to portray the AI.
Animations: How do we get enough high-quality data that fits in memory to portray all the character emotions we need?
Sound & Barks: Audio is a great way to communicate what’s going on, but
Off-Screen: What are good ways to leverage player feedback while the AI is not visible to reduce asset costs.
Lighting & Scene: The AI director in L4D actually sets the mood, and camera placement can also have a huge impact on portrayal of a scene.
Obviously, there’s a lot to be done in this department — but work has started!
Screenshot 2: Atmospheric lighting in Left 4 Dead as situational feedback.
Another big topic, sparked by Damian Isla’s talk during the AI Summit, was going beyond behavior with knowledge representation. You need a better representation of the world to be able to express emotions for example; surprise is a confusion between what you thought and what actually is in the world.
In fact, similar ideas came up also in the AI Roundtables, in the context of emotions again. Since it’s so easy to go overboard, they key question to ask is what (minimal) representation do you need to be able to model an emotion.
Take Away: Don’t worry too much about building large semantic networks for your AI, but do try to find common patterns in the data you store. This may help the AI display better behaviors thanks to the additional meta-data.
Layering of AI
Phil pointed out how useful he found Christian Gyrling’s ideas about having a separate character component, which handles all the complexity of dealing with navigation, animation, resources in the world, etc. I’m a firm believer in these concepts, and apply them not only for characters but within multiple layers in as many places as possible; it’s a great way to reduce complexity generally, in our AI Summit lecture this was to build the locomotion component.
What surprised me is to what extent I think the point of having this separate character layer really hit a nerve. Scaling up of single scripts, HFSMs or even behavior trees just isn’t sustainable when you consider it as one large monolithic block. We’ll be seeing more developers split up there logic in the near future.
Dealing with AI Orders (Video)
One point I noticed is that the quality of animation is improving quickly, and the challenges of motion capture-based animation are disappearing quickly thanks to technology from the cutting edge of research. However, this opens up a few more key issues:
Based on the “Momentum vs. Animation” lecture, there’s lots of progress in finding a compromize between physics-based and traditional animation. The field is honing in on the features that make full body simulation desirable, while at the same time reusing the style from motion capture.
Another key problem, from talking to other animation developers on the subject, is memory. We can just about fit animations into memory now, but there’s no chance of scaling this approach up as we require more data. Procedural techniques need to be integrated here just for compression reasons!
The next year or so will see a fast pace of integration of all the innovative ideas available out there, and we should be seeing the result in a year or two.
Phil noticed this from the AiGameDev.com Booth Crawl we did. Navigation meshes are now officially the standard representation for pathfinding. Almost all middleware vendors use these, and the only hybrid solution is relatively close to navigation meshes.
Waypoint graphs are now mainly used by developers keen to roll their own solutions in-house without the overhead of building a robust mesh based pathfinding system. (This makes sense for certain games of course.)
The positive vibe about behavior trees is still very strong at GDC. Though BTs have been around in robotics for a while, then in Facade and Halo, Phil reckons my extensive propaganda over the past couple of years is paying off. There’s still a bit of a misunderstanding about the key differences between a BT and a HFSM, but we’ll address these over the next few months on the site.
What amazed me is that people genuinely expressed surprise when developers admitted to using state machines, asking “Are there any plans to upgrade?” after the post-mortem for example. (FSMs can of course be structured like behavior trees in a goal-driven way to get many of the benefits.)
One last technical trend to take away from the last few weeks is the return of first-order logic. This was mentioned in a few contexts:
Peter Gorniack during the AI Summit talked about using predicate logic to help build logic for squads. This approach can make it easier to find and select individuals in a context-sensitive way; the predicate logic means you can write short logical statements rather than for loops.
Richard Evans also brought this up briefly during his Sims 3 talk and in our discussions afterward. Inserting aspects of logical reasoning becomes more and more necessary the more you want your AI to resemble human characters.
A couple middleware companies are also increasingly going in this direction.
For me, these are fascinating times; there’s so much going on, so much to learn, so much to look into — and everything is changing. I sometimes find it a little frustrating even — and it’s my full time job to stay on top of things! Having been involved in the industry directly as an AI programmer, I know how much spare time you get as a professional developer to keep up-to-date with technology trends and cutting edge design principles.
Luckily, there are solutions out there to help… Things like the AI Summit and our Paris Conference this coming June, AI Wisdom and other books of course, but the one than I’m the most excited about is the idea of dragging everything online! Now obviously I’m a little biased we turned AiGameDev.com into a startup based on that premise, but these are particularly exciting times for us. We’re going to be launching the new site shortly, and re-opening the Premium Members area too…
If you’d like to follow along with the launch of our new site, find out more about the things we have in mind, or just tag along for the bonuses, then just sign-up here.