This article was published for AiGameDev.com INSIDERS, free by registration. You can sign-up here in less than a minute... If you're already registered, log-in from the top right menu.

Insider Teaser
Killzone2_LineOfFire0.medium

Not in My Line of Fire! Sensible Combat Behaviors using SPU Jobs

Alex J. Champandard on October 1, 2009

Don't you hate it when your AI buddy runs straight into your line of fire? Doesn't it look even more stupid when enemies run through each other's line of fire while trying to approach you? These are the kinds of bugs that we've been able to solve using the current generation of console hardware, and particularly using multi-threading on the PS3.

This is the second article in the series about parallelism in KILLZONE 2's AI technology from the SPU perspective. The first article, about the use of cover maps to speed up combat calculations, can be found here. Both articles are based on a talk that Technical Director Michiel van der Leeuw gave at the Game Developers Conference '09. Here's how he framed this problem during his presentation:

“It's really annoying if everything's so scripted that people are constantly standing in your line of fire, or AIs standing in their own line of fire. It's a lot of work also to script the AI to avoid that; it makes for static situations. It doesn't work well with our realism we were after.”

In practice, Michiel points out that it can be quite a challenge to make the AI believable in dynamic situations. Such line of fire issues break all immersion. In the following article, you'll find out how Guerrilla Games fixed these problems using Jobs on the PS3's SPU.