Finding Time for High-Level AI during Game Development

Alex J. Champandard on April 22, 2008

A few months ago on, in the interview with Dmitriy Iassenev about S.T.A.L.K.E.R.’s AI, the subject of time allocation for game developers came up. With all this talk of next-gen AI, you’d expect that developers are spending more and more of their time working on features that would help improve the high-level intelligence of their game AI, right? Well, not necessarily…

In particular, here’s what Dmitriy had to say:

“I would also like to ask the AI developers in FPS games, how much time they devote to low level and how much to the high. I’d say that it would be great if the ratio is 10 to 1.”

Indeed, very often the devil is in the details. No matter what stage of the project you’re in, there’s always a lot of work to be done at the animation level or even the individual AI level. Call this the low-level aspect of game AI. On the other hard, the high-level AI that you find in RTS games, such as squad behaviors and general strategies, get neglected in comparison.

This week’s developers discussion seems like a great opportunity for a quick poll. If you’re working on a game, how much time do you spend on AI for the individuals vs. group AI?

Time Spent Working on Low-Level vs. High-Level AI

View Results

Loading ...

Discussion 5 Comments

Dave Mark on April 23rd, 2008

I suppose I would counter that with the question... "Is scripting really AI?"

BrianL on April 23rd, 2008

Game AI is just a tool to provide a cool player experience. Scripting is a similar (and somewhat overlapping) tool. Why are we placing these tools against each other? Why the implication that low level work isn't as productive or important as high level/team work? The low level is the presentation - the theatre - the high level depends on. Honestly, I would suggest that the high level gets less focus because the low level presentation is more visible and easily communicated to players. If we don't nail this, it WILL show up in reviews (ie The 'NPCs are dumb and walk into walls', 'I get the feeling the NPCs are really smart, but I don't know what they are doing'). In addition, the high level is easier to fake and get quite a bit of the benefit given the current quality of games. That isn't saying we should ignore the high level, but I few the work done on Alex as a package (AI systems, pathing, animation, level design use, etc) to be extremely valuable even though most of that work is arguably low level.

alexjc on April 23rd, 2008

As far as I'm concerned, anything that's either completely linear (scripts) or completely reactive (FSMs) are the worst forms of AI (if you can call them that). They don't deal with dynamic situations very well, so if your player goes "off script" then the whole system breaks down. The motivation for using more robust AI techniques is to prevent these problems. But putting scripting aside, back to the original point, even on games like F.E.A.R. almost no time was spent on anything above the individual level. All the squad behaviors are implicit. Maybe emergence implies you don't need to work on higher-level AI? Alex P.S. I'm curious about those who voted for "Mostly High-Level AI." Does that mean you're working on a RTS?

Dave Mark on April 23rd, 2008

Well, I was one of the ones for "mostly high-level". I'm having to deal with a lot of strategic stuff and sweeping simulation modeling. In a way, it would map over to an RTS, I suppose. My low-level stuff is rather simply handled by FSMs since I don't have to worry about showing the behaviors. With F.E.A.R., I would like to make the point that, if done properly, low-level behaviors can be "stacked up" to make high level ones. The difference with F.E.A.R. was that they didn't just stop at the individual action/animation level. Each of those units is a low-level behavior. They glued them together with the planner architecture which, in its design and implementation, is a high-level algorithm in that it creates larger behaviors than the granular level. The squad logic in F.E.A.R. is not entirely accidental in that the agents do keep track of their squad mates' situations and change their behaviors accordingly. The strategic "group layer" is still there - but the rules are embeded in the code of the individual agents.

Jare on April 25th, 2008

Scripting in the sense of "tightly controlled and usually linear series of events and checks" is not AI. Just like rand() is not AI. Both can be used in place of AI, and both can be good enough for the game's design, but there is nothing intelligent, dynamic or adaptive about them. Anyway, every time I hear the word "animation" in an AI forum I die a little inside, so don't mind me too much. :(

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!