Behavior

Game AI Roundup Week #22 2008: 9 Stories, 5 Jobs, 2 Events, 1 Video

When there are no technical glitches, weekends at AiGameDev.com are dedicated to rounding up links from the web relating to game AI. This post is a little late, but there’s been lots of activity this week; several jobs, a workshop in Paris and solid articles and blog posts for you to read. […]

Common AI Challenges for Modern First-Person Shooters (Part 1, Video)

A few weeks ago, a promotional trailer was released for Brothers in Arms 2. It’s interesting from more than a marketing perspective because it reveals many challenges that should be familiar to developers working on first-person shooters. A big thanks goes to Remco Straatman for pointing out some of these issues and the […]

29 Reusable Excuses for Game AI Programmers

If you’ve come here for a humorous collection of pseudo-quotes from a variety game development projects, then you’re probably in the right place! Also expect to find a list of excuses you can reuse and apply straight into your studio — whether you need to buy yourself some time, offload the workload to someone […]

Does This Mistake Make Your AI Look Smarter?

This week’s developer discussion is based on a topic introduced by Dave Mark, the behavioral mathematics wizard behind Intrinsic Algorithm. Let him know if you find smart mistakes in his post by commenting below!

Since I began writing this column for AiGameDev.com a month ago, Alex and I have occasionally spent an amusingly large amount […]

Examining the AI Scripts in Call of Duty 4's Developer Tools

Call of Duty 4: Modern Warfare received high praises from the community here. Admittedly, the AI in the game doesn’t necessarily shine for technical reasons, but it’s wonderfully put together within the whole story, and has arguably become one of the best examples of scripted level design. This article provides an overview of the development tools inside the SDK, explains how the AI logic is structured, and then dig deeper into the level scripts to show how it was put together.

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

The Backbone of AI Behaviors: Movement and Animation

This article continues a series building the AI for a simulation game from the ground up. Last week, you found out what assets and libraries this project uses, and you helped figure out a first design to show off some simple but useful behaviors.
The best place to start implementing game AI is with movement […]

Actor Behaviors and the Curse of Dimensionality

Last week’s sketches introduced the idea of a lookup table, where each situation in the game corresponds to a cell in the table. Each of these situations has a corresponding behavioral response.
To help illustrate these lookup tables in practice, here’s a simple example of the behavior of a lazy soldier (long story :), […]

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.

Constraint-based Motion Optimization Using a Statistical Dynamic Model

Siggraph 2007 has been running for a few days now. Make sure you catch up on the three previous posts describing control innovations for character animation.
This paper is from the Texas A&M University Graphics and Animation Lab, and involves optimizing motions based on constraints using a statistical dynamic model. The innovation in this […]

Responsive Characters from Motion Fragments

Siggraph 2007 is underway today. See the previous two articles discussing this year’s innovations character animation technology.
Today’s research project is from the Carnegie Mellon Graphics department, and involves creating responsive characters from motion fragments. There are two main innovative ideas behind this paper:

Gathering traces from the gameplay helps model player movement.
Using reinforcement learning […]

Near-optimal Character Animation with Continuous Control

Siggraph 2007 starts tomorrow. This post continues from yesterday’s review of character animation technology, discussing how this year’s innovations can be applied to game AI.
There’s another paper from University of Washington Animation Research Labs which presents a near-optimal continuous controller. There are two major innovations used:

A low-dimensional reinforcement learning algorithm to learn a […]

Active Learning for Real-Time Motion Controllers

Siggraph 2007 is around the corner, and that means new technology for game developers to play with! In terms of game AI, the most interesting part of the conference is character animation, as it promises to deliver realistic motion for lower investments.
One paper from University of Washington Animation Research Labs presents an active learning […]

What Are Concurrent Behaviors?

In game design, behaviors are concurrent if they are active within the world at the same logical time. Typically, this implies that your actors can do multiple things at once.
Note: Traditionally, in computer science, two tasks are concurrent if they are running simultaneously on the hardware. Now, you can still implement concurrent […]

Termination Status for Behaviors

A termination status is a known code that each behavior returns once it has completed. Termination status codes are typically exposed in the common interfaces, as they are used everywhere.

A Low-Level Task Class

From a design perspective, it’s useful to think about concepts like behaviors for actors. But on the programming side you’ll need something more concrete. What’s the simplest primitive you’ll need in the source code to implement all the behaviors you have in mind? Usually, it’s a piece of code that can […]

Game AI Character