Best of Game AI for Developers in 2007

Alex J. Champandard on December 30, 2007

This blog, Game AI for Developers (RSS), is only 7 months old so this isn’t quite a normal yearly review. However, there have been lots of great articles nevertheless — almost enough to fill a book! It was difficult picking the posts to feature, but here’s a selection based on raw traffic, number of comments, and personal preferences.

Here’s hoping for an equally prosperous 2008… If there are any particular game AI topics you’d like to hear more of, be sure to post a comment!


Pushing the Limits of Game AI Technology

This article features coverage from the Artificial Intelligence and Interactive Digital Entertainment (AIIDE ‘07) conference, featuring the most cutting edge research in game AI. The proceedings read like a “who’s who” in the field, and there’s lot to learn from! Here’s a collection of highlights from the conference, and references that can be found online.

AIIDE ‘07 Conference Coverage

This article covers this year’s Artificial Intelligence in Interactive Digital Entertainment (AIIDE ‘07). The proceedings are packed with useful information for game AI developers who want to stay up-to-date with the cutting edge. Below is a list of papers that can be found online for the posters track.

Embodied Agents in Games

An agent is embodied if it is subject to biological constraints in its environment. For most games, this means actors are placed inside a body, and can only access information from the world via senses in a realistic way (e.g. using line of sight, in field of view, with potential hearing models). Game developers are always very pragmatic about implementing this.

Memory Pooling for AI Tasks

With many task hierarchies running in parallel, it can be impossible or undesirable to store everything in memory. It may be faster to allocate all the memory upfront for small trees, but in practice a lazy approach is better. However, because many tasks need their own custom memory (of different type and size), this policy causes lots of small memory allocations.

Game AI Innovation in Fable 2

During his keynote speech at Apply AI Innovations 2007 conference this week, Peter Molyneux delivered an interactive demo of Fable 2’s dog to an audience of game developers and AI enthusiasts. The dog was introduced at GDC in March this year, but more exclusive details about the dog itself emerged in London — including how the dog’s artificial intelligence works.


Apply AI 2007 Roundtable Report

The Apply AI Innovations 2007 conference drew together programmers from the games industry, students and professors from academia. Topics discussed include intelligent replanning, using learning AI, debugging tricks, AI during development, and existing tools.

Multi-Threading Strategies for Game AI

There are a few things you can do to support multiple threads, whether its the XBox360 or Intel’s multi-core architectures. Luckily, it’s not too difficult to achieve, it just requires good discipline for multi-threaded programming (to avoid deadlocks). Here’s how it’s done most often these days in the games industry.

A Technical Overview of Game::AI++

Game::AI++ is an extensible decision making and control system, specifically designed for actor behaviors in virtual simulations. The library uses a unique combination of existing techniques to overcome three specific challenges: integration of designer control and autonomous behaviors, unification of planning and execution, and ubiquitous support for concurrency.

Using a Static Blackboard to Store World Knowledge

Knowledge is the foundation of intelligence. Game actors need to remember long term facts, or just keep cached copies of sensory information that’s expensive to acquire. How do you manage this information in a way that’s simple to develop, but yet allows for interesting behaviors?

Alternatives to Online Learning for Actor Behaviors

Games require behaviors that adapt to the player — otherwise they’d just be simulations. Typically, at the mention of the word “adaptation,” most developers think of machine learning (ML). However, even the more advanced AI designs can be implemented without runtime learning.

How to Optimize Virtual Function Calls in C++

High-level logic is typically full of indirection, so performance suffers when it’s used heavily. This is the case in game AI when you start adding more behaviors; a constant overhead for virtual calls quickly takes its toll. After optimizing the typical bottlenecks (i.e. collision queries, animation, path-finding), the best thing you can do is optimize the virtual calls in your logic framework.


3 Ways to Avoid Scripting Nightmares in Your Game

Scripting support in a game (for AI, gameplay, or level scripting) always starts off as a good idea; everyone wants a data-driven engine that empowers the designers. Yet somehow it almost always turns out to be a big mess — sometimes worse than something implemented in plain C++.

Game AI: Beauty and the Beast

Game AI has come a long way, but yet it’s still far off from meeting our expectations — despite the fact that developers “cheat.” It turns out the process of building AI for games is no easier than building traditional AI decision-making and control systems. What’s the problem and what’s next for game AI?

Construction and Optimal Search of Interpolated Motion Graphs

This paper from CMU Graphics Lab presents techniques for constructing and searching interpolated motion graphs, notably by representing the desired motion as an interpolation of different paths through a motion graph, and applying an anytime A* algorithm to search through the graph of possible motion clips. This approach combines the benefits of the motion graphs for creating natural looking transitions, yet it allows the animation to be constrained physically also.


Strategies for Implementing Cover Behaviors

Implementing good combat behaviors using cover isn’t always straightforward, but game developers often use the same tricks to solve this problem. This article looks into the process of placing the cover points manually or using automated analysis, as well as the behaviors for selecting and using cover.

The Secret to Building Game AI that Learns Realistically

Adaptation is a big challenge for game AI, since it either requires a lot of work to implement the different options manually, or it involves using technology that’s hard to predict and control the outcome of the learning. The games industry has been struggling with this for a while now, with varying degrees of success. But one solution shows more promise than any other…

Top 10 Most Influential AI Games

This is’s list of the most influential AI games of all time! You’ll find video and computer games that have used artificial intelligence in innovative ways to critical acclaim or respect from industry insiders, and some of them that have managed to integrate cutting-edge AI technology too.

Sneaking Behind Thief’s AI: 14 Tricks to Steal for Your Game

Thief pioneered the first-person sneaker genre, and is a cornerstone of single player action games in general. The game is an interesting blend of suspense and strategy, which requires some interesting artificial intelligence technology. In particular, this article looks into the sensory system and the design of the behaviors to support that kind of gameplay.

Parametric Motion Graphs

This review of a paper from the University of Wisconsin-Madison shows how parametric motions can be combined with a motion graph, and how transitions can be crated automatically between these motions. The resulting technology is capable of generating continuous motion that looks realistic, yet is responsive to interactive control of the parameters and type of motion.

How to Calculate Paths to Multiple Destinations

Let’s say your FPS bot needs to go to multiple places to pickup ammo, a weapon, and a health pack. How do you make sure the pathfinding takes into account the location of each object to provide the best overall path, rather than wander around picking up each object individually?

Flanking Total War’s AI: 11 Tricks to Conquer for Your Game

The Total War series revolutionized strategy games by letting the player control thousands of foot soldiers, archers, and cavalry. The engine uses innovative ideas to build an AI scalable enough to support this kind of gameplay, and offer such depth and replayability. This article looks into the technology behind the game.


Evolving with Creatures’ AI: 15 Tricks to Mutate into Your Own Game

The Creatures game has played a very unique role in the history of games, selling over half a million units by incorporating many ideas from academic AI. It is touted as a breakthrough in artificial life, and incorporates both neural network algorithms and a form of artificial evolution to implement the Norns. This article reveals how this was done in practice.

Quick Transitions With Cached Multi-way Blends

This paper from Berkeley introduces techniques for generating fast high-quality blends between animations, so it’s possible to create responsive animations for the AI. This is done by an algorithm for finding transitions automatically, and a learning classifier to measure the realism of motion transitions to help select the best candidate.

RTS to FPS: Using Strategy AI in Action Games

First-person shooters as a genre are making slow progress in terms of tactics, and indeed AI techniques from real-time strategy games would help tremendously. This article looks at games that are bridging the gap, and how you can use different techniques to improve your AI.

What SimGolf Can Teach You about Designing the Perfect Level

SimGolf is a simulation game where you play the role of a golf course designer and part-time professional golfer. The experience is not only fun, but it also answers some interesting questions about the role artificial intelligence plays in the process of designing levels…

Near-Optimal Hierarchical Pathfinding (HPA*)

This review explains one of the more recent innovations in path-finding to deal with greater numbers of actors and larger dynamic worlds. In particular, HP-A* (pronounced “A Star”) is capable of reducing memory usage and the cost of searching for an optimal path by automatically generating a hierarchical representation of the navigation grid.

Living with The Sims’ AI: 21 Tricks to Adopt for Your Game

As the archetypal sim-game, The Sims revolutionized the industry by creating an interactive doll house, becoming the best selling PC game of all time in the process. This article looks into the smart-object technology (among other features) behind this prolific franchise, and how they are used to create an emergent simulation and emotionally rewarding gameplay.

Applying Rapidly-exploring Random Trees to Games

What are rapidly-exploring random trees and how can they be a applied to games? This article looks at the theory behind this algorithm, and shows how it can be applied in practice — including to animation, navigation graph generation, and motion planning.

Assaulting F.E.A.R.’s AI: 29 Tricks to Arm Your Game

F.E.A.R. advances the state-of-the-art of first-person shooters (FPS); not only is it highly entertaining, but it has been praised for its innovations in artificial intelligence. This article looks at the planning technology in detail, the design behind it, and how the behaviors are pieced together at runtime.

A Procedural Knowledge Approach to Task-Level Control

When it comes to building powerful decision-making and control systems, robotics research is the best place to turn to for decades of experience. Many of the popular ideas in game AI today can be traced back to robotics controllers. In particular, PRS provides design methodologies and tricks for building behaviors that are responsive and purposeful.

Screw Up Your Career Change to Game AI Programming in 7 Easy Steps

As an experienced software developer, do you wonder what it’s like to work with artificial intelligence for games, but can’t be bothered changing careers? Well, here’s how to make sure you never make it in the field of game AI!


A Developer’s Survival Guide to Research in the Information Jungle

Forget research that has no sense of purpose or grounding in the real world. That will get you killed in the information jungle! As a software developer, you have to be more pragmatic. Here are some tips for finding what you need effectively.

9 Tips for Creating Rich Behaviors on a Low Animation Budget

When creating character AI, your bottleneck is the presentation; there are never enough animations. Whether you’re making a big-budget production or a small independent game, you can always use more types of movement to bring your characters to life.

Chatting Up Façade’s AI: 23 Ideas to Talk Your Game Into

Façade is not only a successful attempt at moving beyond traditional branching narrative, but it also makes significant progress towards emotionally interactive characters. It offers critical insights into the development of behavior trees that operate concurrently to generate rich behaviors, as well as the application of natural language technology to games.

The Dark Art of Networking in the Games Industry

In most industries, getting your foot in the door is the biggest challenge. In games it can be particularly difficult to get attention from the right people because there’s so much interest from ambitious gamers! Luckily, there are a few recipes for success. This article gives you two approaches and three tips to get started.

Do You Think Neural Networks Are Useful for Game AI?

The applicability of computational intelligence and neural networks (NN) in games is a touchy subject here at, and in game developer forums generally. This is particularly interesting because everyone seems to be approaching the issue from a different direction.

Are Evolutionary Algorithms Suitable for Building AI in Games?

Evolutionary algorithms (EA) fall into the category of general optimization strategies, which can be used to find approximate solutions to problems given a measure of fitness. Modern game developers certainly uses specific optimization techniques heavily, but evolutionary algorithms still haven’t found a regular place in the development process.

Chat Bots and Natural Language Technology in Games

Every year, chatbot enthusiasts get together and compete in a simplified Turing test. These contests aren’t at the cutting edge of natural language (NL) technology, but this kind of technology is perfectly suitable for mainstream games — both in terms of simplicity to implement and runtime efficiency.


Memento, Temporal Coherence and Debugging Planners

Planners have a reputation for being hard to debug. Even once you have your core algorithm fully tested, it’s often time-consuming to figure out exactly how new situations cause the planner to generate a particular solution. It’s often like the protagonist in Memento, never being able to make new memories and having to replan from scratch every few seconds.

The Crysis of Integrating Next-Gen Animation and AI

Next-gen animation is proving to be quite a challenge to integrate with AI! This article takes a detailed look at the kind of technology that’s used in CryEngine 2 for AI and animation. It also analyze exactly why it’s so difficult to get it working in game generally — not just for Crytek.

Will Reusable AI Bring the End of Original Game Behaviors?

This developer discussion is about reusable AI, including the underlying engine and the logic itself. Does using middleware, or even sharing AI scripts and data across different games mean that they become mass-produced simulations without a soul?

Teleo-Reactive Programs for Agent Control

This article discusses a paper which introduces the concept of a dynamically adaptable goal-directed behavior known as a teleo-reactive sequence, which are built as an ordered set of production rules expressed as condition/action pairs and evaluated continuously. This approach is very useful for behavior tree implementations.

Discussion 1 Comments

Aszarsha on January 1st, 2008

All the same for me as above. This blog is a very great compendium of article, reviews, personal views, etc... on the subject. Keep it up that way, thanks !

If you'd like to add a comment or question on this page, simply log-in to the site. You can create an account from the sign-up page if necessary... It takes less than a minute!