Planning

Chasing Strawmen Out of Game AI Research

The call for papers for the AIIDE ‘08 conference has just expired. This year I’m on the Program Committee, so today I got my hands on four papers to review based on my selected topics. There are some pretty great research projects this year…
However, I find the opening paragraphs that describe the motivation […]

STRIPS: A New Approach to the Application of Theorem Proving to Problem Solving

This week’s Thursday Theory article on AiGameDev.com covers a landmark paper in AI planning from the early 1970s. So the “New Approach” mentioned in the title is basically… *gasp* 37 years old! However, don’t be fooled by this seemingly type-written paper. The ideas and techniques described here not only have inspired most […]

A-Life, Emergent AI and S.T.A.L.K.E.R.: An Interview with Dmitriy Iassenev

Ever since it was first announced, the game S.T.A.L.K.E.R. has captured the imagination of avid gamers fascinated by the idea of a massive world populated by an A-Life system. The game also piqued the interest of AI developers here at AiGameDev.com, making it into the finalists for best AI and runner up for technical […]

The Challenge for Planning Techniques: Responsive Behaviors in Dynamic Worlds

Planners are certainly getting more popular in game studios these days, but there’s still a very long way to go before developers reach the same level of understanding as for traditional scripted systems. One area in particular that causes problems is dealing with dynamic situations.
Tobe Mayr, a former colleague and designer at Rockstar, wrote […]

SHOP: Simple Hierarchical Ordered Planner

Since F.E.A.R., the use of planners in commercial game has been growing steadily — particularly those based on heuristic A* search. However, a primary concern is performance, as it can take a lot of resources to compute even the smallest plans within a typical level of a FPS.
A solution to such problems involves using […]

My Plans for the Next 11 Months: Killzone 2, AiGameDev.com and Game::AI++

Over the past month, I’ve received quite a few questions about the stuff I’m working on — and some of you even seem genuinely interested! So I figured I’d take the opportunity to write a post about my master plan for 2008. It’s taken me until now to write this since there was […]

Reinforcement Learning in Real-Time Strategy Games Using Case-based Reasoning

Machine learning conceptually has many benefits for games, notably for reducing development times and creating AI that can adapt to the player. However, it is difficult to apply in the real-world! Transfer learning can help by improving the speed and quality of the learning. The idea is to use knowledge from previous experiences to […]

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 […]

Hierarchical Planning and Coordinated Plan Execution for Squads of Characters

Traditional game AI techniques like scripts and finite state machines are turning out to be a poor way for designers to build complex character behaviors, in particular group behaviors. Instead, a growing trend is for developers to turn to planners, and hierarchical ones in particular, to help automate the process of assembling behaviors using […]

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 […]

A* Path-Finding Interactive Demo in Jython

This demo was contributed by Justin Gilbert, game programming guru at Multimedia Games and Vanguard Games.

This applet was written in Python and compiled with Jython 2.2.1 for using Java 1.5.0.13. Make sure you have a recent version of the JVM installed. The file is 935 KB big, mostly code but including a few […]

An Overview of the AI Architecture Inside the F.E.A.R. SDK

This article looks into the latest SDK behind F.E.A.R., the hit first-person shooter acclaimed for its artificial intelligence. A majority of the AI code is available as part of the game source, and notably its famous STRIPS planner written by Jeff Orkin.

Watching Level Designers Use Scripts to Disable Your Autonomous AI: Priceless

You’ve been building an autonomous AI to improve the gameplay on your next-gen title and everything is finally falling into place:

Bachelor’s degree and master’s research in AI, 4 years.
Two AAA titles of experience (plus prototypes), 5 years.
Revamping of the AI architecture with new features, 2 years.
Watching designers disable the AI with scripts, timeless!

“There are […]

10 Reasons the Age of Finite State Machines is Over

Over the last few months, AiGameDev.com has grown into a wonderful little community thanks to you guys! On Fridays, I take the time to answer your questions, either from the blog or the increasingly busy forums.
Finite state machines have become extremely popular over the last decade, and helped game developers build some pretty […]

Behavior Trees for Next-Gen Game AI (Video, Part 3)

Here’s the 3rd and final of my lecture at the GDC in Lyon a few weeks ago. Be sure to view the overview of behavior trees in part 1, as well as the following discussion of goal architectures and planning in part 2. This video is exactly 15:03 minutes long, and is […]

Behavior Trees for Next-Gen Game AI (Video, Part 2)

Here is part 2 of my lecture at the GDC in Lyon two weeks ago. Be sure to view the overview of behavior trees in part 1 first if you haven’t already. This video is exactly 21:48 minutes long, and is worth roughly 7.9 Mb of bandwidth!

In the video, I go over […]

Behavior Trees for Next-Gen Game AI (Video, Part 1)

Quite a few people asked for a PDF of my slides from my lecture at the GDC in Lyon, but I promised to do better and release a video with the animations an the whole audio. Here is the first part of the talk; it’s exactly 22:37 minutes long.

In the video, I go […]

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.

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.

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.

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.

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.

Interactive Motion Correction and Object Manipulation

The Thursday Theory post this week takes another whitepaper from from the Symposium on Interactive 3D Games and Graphics 2007 that’s helpful for game AI, and breaks it down into the basic ideas. See the previous post in this series for more about character animation.
This second entry is from the University of California and […]

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?

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…

The Motivation Behind Game::AI++

The last post about Game::AI++ was very popular, so here are more details since I’m busy writing some documentation anyway! It’s more of an executive summary this time, so feel free to comment or ask further questions…

Note: You can still sign-up to the newsletter in time for the first release on August 1st.

What […]

Game AI Character