The first two days of GDC 2010 featured the second edition of the AI Summit, which brought together a variety of game AI developers from around the world. The bar was set very high for the event, in particular from the previous edition last March, the subsequent Paris Game AI Conference in June, and the increasing focus on the Summits and Tutorials at GDC this year. Generally speaking, the AI Summit 2010 lived up to all these expectations! The room was a bit smaller than last year although with some extra chairs. The sessions were very well attended and the various topics drew in many different groups of GDC attendees.
In this article, you'll find the best photos, the slides where possible, as well as session highlights and notes. Special thanks to all the speakers, but in particular (alphabetically) Phil Carlisle, Steve Gargolinski, Chris Jurney, Dan Kline, Dave Mark, Michael Mateas, and Emily Short, Tara Teich, and John Walker for their slides. Of course, AiGameDev.com was on location to cover and participate in the event! I (Alex Champandard) was involved in three sessions of the Summit, and Radu Septimiu Cristea was in charge of the media coverage.
Table of Content
Case Studies: AI in Recent Games
People: Alex J. Champandard (AiGameDev.com), Chris Jurney (Double Fine), Tara Teich (Double Fine)
While there are many versions of post mortem analyses in the game business, sometimes a broad brush approach doesn't highlight what the truly interesting nuggets are. In this session, three AI programmers for recent games (Killzone 2, Brütal Legend, Dawn of War 2) addressed some unique challenges they faced in the development of their respective titles. They described what the challenges were, how they often arose from design decisions that pushed the boundaries of the typical AI comfort zone, and how these challenges were overcome.
Notes & Highlights
Tara Teich began the session with her talk about BRÜTAL LEGEND. There were a wide variety of challenges in the game, in particular due to the diversity of the units in the game and the radically different types of gameplay — ranging from RTS, to brawler, to driving games. Tara focused the bulk of her presentation on the AI Avatar, which both controls troups and makes decisions for the most powerful unit of each faction. This is implemented using a finite state machine, but without explitic transitions. Instead, the logic for selecting the next state/action is based on utility functions. These functions return a floating point weight which indicates the value of performing each action. Tara mentioned that she often wrote these evaluation functions expecting to come back to replace them later, but often (and in the example she used) they shipped that way!
I (Alex Champandard) took over with a presentation about KILLZONE 2's multiplayer bots, which I worked on with Guerrilla Games under the expert supervision of Remco Straatman who was the Lead AI Programmer on the project, and together with Tim Verweij whose entire thesis was the basis of the architecture. The presentation was designed to look into the challenge of providing a "complete" AI capable of covering the wide variety of options and settings that the user can pick in the game. You can find details about the solution that we used in this blog post. In the last third of the talk, I showed how combat games are a long way off being able to embrace special cases in all situations due to the fact that we're still mostly using expert systems at runtime. I argue that we need to combine these with more creative forms of AI like optimization algorithms and data mining that can run "out of the box" during development.
Chris Jurney, formerly at Relic Entertainment, started his talk with a mini post-mortem of DAWN OF WAR 2. What went right? The fast iteration times on prototypes between him and the designers. What went wrong? The fact that there was mostly no overlap on the AI programming team between COMPANY OF HEROES. In the second part, Chris talked about the implementation of melee, which leveraged the underlying A* algorithm that the released last year. He calls it search-based melee, which allows each unit to find a shortest path that tries to touch the player's bounding circle, but without overlapping the circles of any other unit. This results in emergent choreography that limits the number of units attacking in proximity based on the unit's radius. The videos he showed were impressive!
On the AI Strategy for KILLZONE 2's Multiplayer Bots Alex J. Champandard, Remco Straatman, Tim Verweij Download FILE
Behavior Trees: Three Ways of Cultivating Strong AI
People: David Hernandez Cerpa (LucasArts), Alex Champandard (AiGameDev.com), Michael Dawe (Big Huge Games)
Over the last few years, various forms of behavior trees (BTs) have become the standard in industry. Since flexibility and customization are arguably the main strengths of BTs, they can be implemented in many ways. This set of short presentations showed how other developers are using them in practice. The presenters will show what developers can do to make behavior trees more designer friendly and easier to interact with via script. The session also shows implementation techniques to help keep AI code decoupled from the game logic and improve performance.
Behavior Trees: Three Ways of Cultivating Game AI David Hernandez Cerpa, Alex J. Champandard, Michael Dawe. Download FILE
Why So Wary of Middleware?
People: John Funge (Netflix), Steve Gargolinski (Blue Fang Games), Chris Jurney (Double Fine Productions), Brett Laming (Rockstar Leeds), Borut Pfeifer (Plush Apocalypse Productions),
In recent years, there has been an increase in the number of available AI middleware products designed to streamline common development techniques. Their reception by the industry has been spotty, however. While there are some success stories and some tales of horror, many studios and individual developers still eye AI middleware with a mixture of curiosity and suspicion. This four-person panel, comprised of people whose experiences and opinions are spread across the spectrum from pro to con, shared their rationale for why existing middleware is good or bad and what changes future products could make to become more appealing to developers.
Notes & Highlights
This panel was certainly not unanimous... While some panelists emphasized their horror stories with middleware, others were very pleased to the level of advocating for the product! Nonetheless, there were agreements on important points, and they were grouped into two parts. One was advice for middleware developers to improve their products:
Use narrow interfaces as much as possible to make the integration easier to maintain, and to avoid the code inter-mingling with middleware engines.
Aim to provide modular components more than an architecture that needs to be used as a whole.
Be very careful about control flow, and ideally don't impose your approach onto the developers.
Provide good demos of your solution, not just small samples but ideally entire mini-games as a proof of concept.
Obviously, as a developer, you can use these criteria as a way to evaluate current middleware solutions. Panelists also gave more advice for developers keen to use middleware:
Use the evaluation period to its full extend, and in particular, use all forms of support available (e.g. phone conferences, email, onsite visits).
Bounce your ideas, plans and designs off the technical team at the middleware company, and ask them for feedback on feasibility.
A question that I was anxious to hear about was on the subject game AI patents, since one company is aggressively expanding in that area and I fear this will be a trend for 2010. The general concensus was that patents are rather distasteful, and of course it affect relationships with companies that pursue this strategy.
Improving AI Decision Modeling Through Utility Theory
People: Kevin Dill (Lockheed Martin) and Dave Mark (Intrinsic Algorithm)
The 'if/then' statement has been the workhorse of decision modeling longer than digital computing. Unfortunately, the harsh transition from yes to no often expresses itself through behavior in ways that are just as harsh. Utility theory has roots in areas such as psychology, economics, sociology, and classical game theory. By applying the science of utility theory with algorithmic techniques such as response curves, population distributions, and weighted randoms, we can improve the modeling of the underlying brain of our agents, broaden the potential decision space, and even manage edge cases that other decision systems stumble over.
Dave kicked off this session with a quote from my restrospective of 2009. I wrote that there had been increasing discussions about utility-based architectures last year, but I didn't see any trend changes beyond more discussion (i.e. for implementations) in commercial games. This lecture addressed common questions by focusing on what utility is good at. In terms of practical take-aways from this session, there were two in particular:
In Dave's slides, graphs of various response curves and their corresponding equations that you can use in your utility functions. (See the slides.)
In Kevin's part, he explained the simplest approach you could take to implement a utility system, in particular using weights and vetos for each factor.
There were a few good questions about the pitfalls of utility systems, but they were unfortunately dismissed humorously — which will lead to even more discussions this year presumably! Also notably absent was the part about basing your entire architecture around utility, rather than single decisions which this lecture focused on predominantly.
This topic is actually one of my biggest takeaways for GDC as a whole, so I'll cover it as part of the general round-up for the conference.
Improving AI Decision Modeling Through Utility Theory Kevin Dill, Dave Mark. Download PDF
AI and Interactive Storytelling: How We Can Help Each Other
People: Daniel Kline (Crystal Dynamics), Michael Mateas (University of California, Santa Cruz) and Emily Short (Independent)
For some time, the industry has been exploring how to effectively manage the complexity of multiple story arcs, contextually appropriate character behavior, and yet still maintain an over-arching ebb and flow of tension and drama. In their quest, writers and designers have started looking to AI for solutions to these problems. Additionally, many techniques that are already being used in interactive drama can be used to augment traditional games. Through three short lectures, this session gives examples of ways that AI can enable the design and implementation of branching narratives, dynamic adaptive dialog, interactive storytelling, and drama management.
Dan Kline kicked off this session with an inspiring overview and analysis of the opportunities for applying AI to various parts of games. He calls this “Interactive Storytelling” but you could just as easily label it “Gameplay” from the examples he used (e.g. LEFT 4 DEAD, UNCHARTED 2). He argues there are three different categories of games: rollercoaster, experimentation, and challenge — each of which can benefit from high-level AI in varying degrees. From his overview of the different opportunities, it's quite amazing how AI techniques are already shaping the way we play games today. There's certainly a lot of room for further developments of course!
Michael Mateas focused on dynamic stories that are becoming increasingly popular. He showed how we could leverage traditional techniques (like behavior trees) to create more reactive stories, but he argues we also need to plan ahead too. Michael said that emergence has its limits, and we may end up getting quickly bored of SIMS 3 style stories of "one thing happening after another." Instead, he suggests using author modeling as a tool to help craft better stories and experiences. Many of the systems he then mentions are covered in the book Expressive Processing by Noah Wardrip-Fruin.
Finally, Emily Short got a few cheers for moving away from dialog trees and their limitations. NPCs repeat themselves, the author has no control over the scene as a whole, and there's no room for great writing beyond single lines. Ironically, the solution is also a dialog tree — but interpreted differently. Instead of treating the dialog tree as a routine to follow procedurally, Emily suggests a dialog tree of dependencies where each line spoken opens up some new dialog lines. Emily then goes on to talk about two of her games GLASS and ALABASTER, which you can download from her website.
Bringing Interactive Storytelling to Industry Dan Kline Download PPT
AI Developers Rant!
People: Dave Mark (Intrinsic Algorithm), John Funge (Netflix), Borut Pfeifer (Plush Apocalypse Productions), Steve Rabin (Nintendo of America), Kevin Dill (Lockheed Martin) and Adam Russell (University of Derby)
Sometimes things just need to be said. Saying them out loud in a room filled with (hopefully) like-minded people just makes it all the more interesting and cathartic. Seven AI developers from all corners of the industry will deliver quick, to-the-point rants about what's on their mind. Topics include AI design and programming, working with other portions of the dev team, working with academia, the perception of game AI by the public, scripting languages, and even those scary floating point numbers! Whoever said AI programmers only sit with their heads down over their keyboards?
These micro-talks were very diverse, but most of them were not really worthy of the title "rant" except maybe for Steve Rabin's which certainly delivered! Adam Russel's delivery also stood out and stimulated some interesting thoughts.
Borut Pfeifer asked who's most likely to be innovating in game AI? Indies, academics, AAA? Each face their own challenges. Borut argues drama, emotional state, expressiveness, and feedback are the lowest hanging fruit.
Adam Russel advocates sideways design instead of top-down and bottom up. He describes it as "freedom within individual constraints" where there's no distinction between scripted and unscripted. Some games do this (SIMS 3, HALO 3) but maybe we can take this further?
John Funge discussed his experience working at a middleware company. He showed the various challenges there are in getting studios to adopt your solution, for legal reasons and otherwise. John recently left that business.
Kevin Dill continued his lecture earlier by telling people they should not "fear the floats." He makes a compelling argument for using more utility locally, but his defense of "scaling up" with utility (i.e. moving towards utility architectures) left some doubts in the audience despite trying to address those concerns.
Dave Mark talked about the challenges of building game AI, and no matter what we do the press will never praise it. Some pointed out it was a bit of an odd topic to pick, and I also don't agree entirely either; great AI does indeed and has already stood out in reviews.
Steve Rabin gave a passionate rant about custom scripting languages, and how they ruined his early career! It diminishes your value in the future if you don't use Lua. He also had very compelling arguments about tools and compilers, but in this case, you had to be there!
Suspending Disbelief: Bringing Your Characters to Life with Better AI
People: Phil Carlisle (MindFlock Ltd./University of Bolton), Michael Mateas (University of California, Santa Cruz) and Steve Gargolinski (Blue Fang Games)
In the past 30 years, game graphics have progressed to the point where still shots and cutscenes can often look extremely realistic. However, as soon as characters act in the world, that sense of believability is often broken. The characters no longer seem alive. Much of the impression that something is alive comes from minutia such as what they look at, how they move, and what they do when they aren't doing anything important. This session examines this phenomenon and gives concrete examples of how to improve the feeling of aliveness in game characters.
Steve Gargolinski kicked off this session with arguably the most powerful and useful lesson from the AI Summit as a whole: behavior anticipation. Steve first showed the concept of animation anticipation, which animators have been using and perfecting for decades. Apparently all cartoons do this now and it's done so well you'll probably not even notice! However, from the videos of WORLD OF ZOO that Steve showed, it's brutally obvious in games when it's not there. Steve also showed how an extra level of anticipation at the behavioral level can be even more valuable, not only to create life-like characters but also to create gameplay that's easier to understand.
Phil Carlisle emphasized the benefits of non-verbal communication because it's easier than natural language and arguably has a bigger impact! He particularly recommends things like gaze control, posture shifts, promixity changes, gestures and barks which seem well suited to games, based on the example he used. The human brain picks these things up subconciously so it makes it easier for the player to read the situation. You may have to watch a video recording multiple times before noticing this.
Michael Mateas first talked about the different dimensions along which you can develop your characters: individualization, visually concrete, and social dynamics. He rated the following games on these scales, HEAVY RAIN, MASS EFFECT 2, the SIMS 3, FACADE. Of course, these days you have to make the tradeoff; the more visually accurate the less dynamic the character is likely to be. Michael argues that “zooming in” on the individual behaviors is the most promising area, particularly for its dramatic potential, detailed dialog, and a playable social space. He suggests reading the book Games People Play, which was the inspiration for FACADE's mini-games such as the affinity game, the hot button game, and the therapy game. However, these games were not modeled explicitly; what would happen if we went beyond that implicit design?
Suspending Disbelief: Bringing Your Characters to Life with Better AI Phil Carlisle, Michael Mateas and Steve Gargolinski Download PDF
Little Big AI: Rich Behavior on a Small Budget
People: John Walker (Applied Signal Technology), Robert Zubek (Zynga) and Phil Carlisle (MindFlock Ltd./University of Bolton)
Small games have small budgets and short, iterative release cycles. But they still need great AI, only cut to size. This session presents first-hand experiences with successfully creating AI for a variety of those kinds of games. We will address the limitations faced by small budgets and present some useful tips from the trenches that will allow you to maximize the bang for your AI buck.
Rob Zubek talked about a simple needs-based AI system, inspired by the SIMS that he's applied to Flash games at Zynga as well as the LORD OF THE RINGS game. The AI has a set of drives, each action can satisfy these drives, and there's a score calculation for each action that depends on a variety of factors such as distance and quantity in non-linear scales. The execution is straightforward and based on an action queue. In practice, this worked very well and allowed a nice extensible system with environments that were easy to setup because of it. Rob mentioned the benefits of modularity here, as objects and actions are relatively easy to add.
Phil Carlisle talked about his experience working on the multi-million selling Worms franchise. His talk had multiple parts:
Procedurally generated levels based on a text string (as a key) that you can share with your friends.
Embedded AI that is controlled by trigger volumes in the world; very effective and low-hanging fruit.
If you're going to use FSM, use push-down automata to keep a history of states and an action queue.
Phil has since moved to using behavior trees and open-source libraries like Recast/Detour.
John Walker talked about the benefits of state machines, and described how his own FSM implementation evolved over the course of multiple projects. The big take-away from this talk is the benefit of using a table to represent the FSM, with the current state as the row and the target state as the column. Each cell in the table then contains the transition logic, which makes this very explicit and it's much more obvious.
Little Big AI Phil Carlisle Download PDF
Organic HFSM John Walker Download PDF
Deciding on an AI Architecture: Which Tool for the Job?
People: Alex Champandard (AiGameDev.com), Michael Dawe (Big Huge Games), Dave Mark (Intrinsic Algorithm), Steve Rabin (Nintendo of America) and Charles Rich (Worcester Polytechnic Institute).
Often one of the most important issues an AI programmer needs to address is the decision of which architecture to use. This choice lays the foundation for the rest of the project both enabling and limiting choices down the road. With myriad (and even conflicting) pro and con arguments for all the major AI architectures, it can be difficult to determine which one is right for a given project. This panel approaches this issue from a unique perspective. With one person acting as an advocate for each of the popular AI architectures, the panel will be presented with hypothetical game examples and asked to explain why their method is the right tool for the job and why others are not.
This panel used four simple examples of games and participants discussed which approach was best in each case. Perhaps unsurprisingly, there was no clear winner!
- For a medium-fast pace action combat game with lots of designer control required, behavior trees seemed like the best choice.
- In an RPG game with a wide variety of weapons and items to use, utility was a good solution to provide reactive behavior, or planners otherwise.
- For a simple sports game (e.g. baseball), a FSM or HFSM seemed to be the best choice to satisfy the requirements for an individual on the field.
- In a RTS game that includes a tech-tree, a variety of buildings, and lots of interdependencies, planners seemed like the obvious choice.
As general concensus though, utility seemed to fit better as a complement to other approaches rather than an "architecture" in its own right. (See the lecture on utility for more information.)
Massive Parallelism in AI: Throughput vs. Realtime
Presenter: Pierre Pontevia (Autodesk).
This presentation was sponsored by Autodesk and took place in parallel with the previous panel. Pierre Pontevia went through the many different approaches you can take to implement parallelism in-game, and evaluating the trade-offs. He discussed how to apply this to the pathfinding problem, and how Autodesk is approaching it for their middleware, Kynapse.
You can watch this session online on Autodesk's site, and Pierre also kindly sent in his slides for you to browse (below).
With PS3 and Xbox 360 next generation consoles, parallel architectures have become a reality for game programmers. Since then, parallel architectures and programming models have greatly evolved and we can wonder how current parallel solutions would scale these new architectures. In this session, the speaker will take the example of pathfinding and illustrate some of the required evolutions to match future parallel hardwares.
Massive Parallelism in AI: Throughput vs. Realtime Pierre Pontevia Download FILE
AI Mashups: Insights into Intertwined Architectures
People: Brian Schwab (Blizzard Entertainment), Steve Rabin (Nintendo of America) and Kevin Dill (Lockheed Martin)
AI programmers rarely use a pure architecture such as a State Machine, Planner, or Behavior Tree in isolation. Rather, several symbiotic architectures are mashed together, resulting in an overall architecture that is unique and powerful in its own way. This lecture is designed as a series of three mini-lectures where you will hear about several mashed up AI architectures along with intriguing lessons and insights.
Steve Rabin presented a simple implementation of an event-driven FSM, inspired by articles he wrote for AI Wisdom. Steve released the code for any use, and you can find right here. In particular, the code uses macros to help define the states and how they respond to external inputs.
Brian Schwab talked about a hybrid declarative behavior-tree that allowed his designers on the Sony NBA games to specify how groups should coordinate via roles and situations. The system is similar to Prolog in some ways, since it tries to "binds" roles to individuals as appropriate.
Kevin Dill showed an idea he had for an architecture based on hierarchies of hybrid reasoners. His approach seems to differ from behavior trees (with custom nodes) since each layer has a floating point "activation" and has the ability to check what would happen before actually executing.
Experimental Game AI: Live Demos of Innovation
People: Michael Mateas (University of California, Santa Cruz), Richard Evans (Maxis), Ian Holmes (University of California, Berkeley).
Typically, the 'next big thing' in AI comes from tireless research and experimentation. This session will feature many interesting and experimental working game AI prototypes from both industry and academia, all demoed live on stage. This promises to be a very inspirational and thought-provoking session with many presenters on-hand to show their creations and innovations.
Richard Evans showed two demos, one of deontic logic used in his prototype Sim Tribe. In that game, you can decide what the rules of society are, and the individuals play out those rules. What's most interesting is that the behavior emerges from these rules, almost like magic! The second demo Richard showed was a long-term planning prototype, in an environment similar to THE SIMS. He showed one individual whose goal was to get promoted, and worked relentlessly on his cooking skills by practicing in a variety of ways.
Ian Holmes demonstrated a game based on cellular automata (CA). The context of the game was a zoo, with a diversity of animals breeding, concrete walls, visitors, and some tools to help manage the game like pheromones and acid! It looked very much like you'd imagine the Game of Life, but with interesting underlying rules.
Michael Mateas showed a demo of his group's Starcraft bot, which is based around a their ABL architecture (similar to a behavior tree). The bot wins most of the time against the default AI. Michael showed a second demo, which was a social game set in a high-school building upon the concepts he presented earlier. Here you can modify the underlying social graph dynamically using a set of mini-games, e.g. flirt, compliment, etc. Imagine THE SIMS but with social actions as part of the gameplay for achieving various goals.
Answering the Designers' AI Wish List
People: Soren Johnson (EA Maxis), Richard Evans (Maxis), Adam Russell (University of Derby), Chris Jurney (Double Fine Productions) and Brett Laming (Rockstar Leeds)
We asked designers from all across the industry to answer a questionnaire of probing — and even outright crazy questions. The intent was to get their heads and assemble a sort of wish list. We then present their answers to a panel of top-notch AI designers and programmers and ask them... how would you go about granting this wish? In what promises to be the most forward-looking session of the AI Summit, this panel should give us all a look into not only what the designers would like in their games, but some ideas on how to address the difficult obstacles in AI.
Now that the AI Summit this year is over, everyone's attention is turning to Paris for the Game AI Conference 2010 in June. The 100% focus on AI in the games industry stays the same, but this is a dedicated event with a single track — and the same friendly atmosphere as last year. This time, you'll hear about the AI for modern combat environments in BATTLEFIELD: BAD COMPANY 2, personality profiling in SILENT HILL: SHATTERED MEMORIES, physics-based AI controllers in SUPERBIKE '10, the research for the next-generation of characters in EVE ONLINE, and keynotes by Andrew Stern about FACADE and TOUCH PET DOGS, as well as Ken Perlin on character animation.
The event is already bringing together the leading developers in Europe (e.g. Guerrilla Games, DICE, CCP) and many enthusiasts looking to get into the games industry too. If game AI is your business or you're passionate about the topic, we want you to attend! There are now less than 50 seats left in the amphitheatre, so be sure to visit the site and secure your tickets as soon as possible. See you there!