Essays

Heuristic vs. Hierarchy: Domain Knowledge for Planners

Most situations in commercial games have very large problem spaces, so it would take a long time to list all the possible AI behaviors… In order for planners to solve such problems in real-time, they must effectively discard as many useless options as possible.
Generally speaking, you can approach the implementation of such planners using a […]

Problem Representation for Planning Algorithms 101

This article was contributed by Gabriel Ware, who works at Pam Development (2K Paris) as a PS3 programmer.

Planners are among the most popular algorithms used in the video game industry, as they solve a broad range of problems ranging from path-finding to action planning. Even though they have their pitfalls, developers regularly use a […]

Understanding Behavioral Exceptions and How to Deal with Them

A few months ago, in the early days of this blog, I noted the importance of understanding the different possible types of failures of actions, and all other tasks for that matter. This article looks into ways for your AI logic, in particular your scripts or behavior trees, to deal with these problems more […]

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.

Event-Handling Strategies for Juggling Purposeful Behaviors

Assume you have a long-term AI behavior controlling a character in a game. It could be implemented as a script, a behavior tree, or any other sequence of actions to follow. How do you deal with events happening in the world in a way that’s coherent with this active behavior?
The AI logic needs […]

Game AI Character