A few months ago on AiGameDev.com, 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?
My experiences from Rockstar and contracting since then confirm this. In most types of shooters, you’ll be very lucky to spend 10% of your time programming high-level AI. There are a bunch of reasons for this:
Next-gen animation is becoming more detailed and requires much more effort to interface with when building behaviors.
Scripters, in most single player games, are responsible for the high-level behaviors, so programmers stick to the low-level.
Open-ended games are using more emergent AI, but they currently don’t require much strategy.
Towards the end of a project, things certainly improve, but on average there’s still a lot of stuff that feels like rebuilding the wheel everytime!
So, post a comment below and let everyone know how much time you spend on these features. How do you feel about this situation?





7 Comments ↓
Is high-level AI really “neglected” if it’s implemented by scripters instead of programmers? What are the advantages of implementing high-level AI in C++ instead of a high-level scripting language?
I suppose I would counter that with the question... "Is scripting really AI?"
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.
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?
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.
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. :(
random can create the ilusion of npc thinking,an error introducing a little delay in their reactions can create the ilusion of npc thinking…and more important,deciding
AI,and what about HI(human inteligence)?,maybe what you think is inteligence is just a error from nature that makes one kind of animals(human) repeating with words what they are feeling
feel hungry,think you are hungry,open fridge and decide btw 2 kind of food,but are you really deciding or just translating into words what your body likes better?
Animation is neccesary to see how the AI works
I´m not programer,i´m fan of STALKER,they have create a really cool game,i would like to change a few things in npc behaiviour,but you can wacht AI working OK almost time,the problem is,thougt,npc in STALKER have their habilities cutted,100 npc working OK are RAM eaters
i like Amk mod…cause they have a primary premise to do,search for artefacts
if a npc moving with this objetive and then fighting and skiping dangers and colecting and trading is not good AI,god will tell
i´ve decide go back to school,i´m oldie but i love Human Behaviour,so i want make AI seem like human,i´t can be done,just needed power pc
thanks Dmitry
Leave a Comment
You can also reply to this thread in the forums.