this kind of funny old interview with Gabe Newell made me think about this topic again .
This was 10 years ago, so around the time when “Creatures” with its “Norns” made headlines in the gaming world. They were and probably still are the most advanced NPCs (AI wise) in a game to date. It seems Gabe simply extrapolated the development then 10 years into the future.
I guess all of us game programmers like the idea of creating NPCs that roam our world and do things, maybe even create their own economy, react to their surroundings in a meaningful manner etc. To me this still seems to be one of the most appealing things about creating a game. Theres many algorithms to create semi-intelligent patterns and the processing power to compute them is available nowadays.
However, since the “Norns” there has been few advances in this direction. To the contrary, most games now have relatively simple algorithms like GOAP that create seemingly intelligent behavior. For example, while GTA IV used “Euphoria”, which is quite an advanced AI system for creating realistic character movement, GTA V now uses a combination of a simple ragdoll and blended animations to create its character movement. The rationale here seems to be that the actual results for the player are almost indistinguishable and the work (and processing power) put into such systems is wasted. My question here to start a discussion would be “is it?”
While I do see that giving each character in GTA his own house and workplace is not something anyone expects I also see that people seemed quite annoyed by the fact that their SimCity citizens didn’t care about which home they go to after work but instead go to the first thats not occupied… And going back to GTA, it sometimes is a bit funny that NPCs don’t seem to remember that they have a car or that they were about to go the other way before you hit them… Personally, I do look at the NPCs and what they do and I find nothing more dumb than a guy thats standing in one spot, night and day, feeding pigs or something. When I see a NPC do some seemingly purposeful stuff and roam around going about his business in turn I find that quite interesting but I also don’t really think its necessary for the game.
Obviously it depends greatly on the game type but I think simpler NPCs (or at least simpler than they could easily be) are widespread in any game type nowadays. So, what do you people think about this? Should there be more focus on interesting NPC characters again or should they just do “their job” and give you items, attack you (halfway intelligent) and otherwise be irrelevant?
I would say for many game types the AI was overtaken by the multiplayer wave. No need for good AI if other players are there. Then you have mmostuff where the ai is kinda the dumbest in history of computer games (aka simple state machines).
I would say some rpg games have the best ai simulations, eg that the npc shave actual shedules for the day and stuff like that.
The last npc that was somehat suprising was the farcry npcs then, that actuall used squad taktics somewhat good.
This idea that AI needs to be more “global” is one of the cornerstones of Mythruna development… and I believe ultimately it’s the cornerstone of having an endless generated world be interesting. So I’m biased. I sort of hope that we’re on the edge of another resurgence of AI importance.
We’re already to the point where “doubling” the graphics quality seems to have no discernible discriminator to the average gamer. Even I have to look really hard to see why the PS4 Killzone couldn’t have been done on older hardware. (But seriously, when my face smashes into the train tracks they look like nice detailed train tracks even from 1 cm away! …and all that glass. Just great but you have to be looking for it.)
I see things like GOAP as the tools for this AI resurgence as they make some things just easier. Your state-machine level AI can be so much simpler because it can count on GOAP + Advanced steering to deal with the second to second stuff. I’m still right on the experimental edge of this, though, so my ideas are still very fluid. Giving GOAP and steering a sort of character sensor model for their input seems interesting to me right now… and avoids the “AI knows everything” problem that some games have to work around.
Money and horsepower come into play a lot, for obvious reasons. The popular FPS games (call of doody etc) don’t need much more AI than GOAP and some pre-canned scripts. The rest of the AI is multiplayer in the form of real humans. Creating a realistic human AI would take a lot of money and sap processing power from the graphics, so I don’t see the big AAA companies really pushing AI. If they do, it is more in terms of ragdoll simulation, as you mentioned; again for graphical realism.
I see the indie scene producing the more advanced AI. They have the balls to say “fuck graphics, I want to play against something smart and I will put time into making that happen.”
I agree with Paul’s thoughts on GOAP and I will expand on it. I really see different tiers of AI being more present in games. Lots of games have a single encounter with a bot, you attack it, it fights back, someone dies, you move onto the next world or screen. But if there are persistent worlds or someone (computer) commanding the bots then there is going to be some AI layered on top of it. All these AI tools can come together to produce something quite dynamic and interesting.
In Attack of the Gelatinous Blob I use several tiers of AI. The lowest level is pathing and action execution. Above that is GOAP that determines what actions to perform based on a Goal. What determines the Goal is a whole other level of AI. Right now I am combining Needs-based AI with Adaptive Tactics to determine what should happen now, and what will probably work the best. That generates the Goals for the individual units, and they solve that Goal with GOAP.
It was a lot of work to implement. In hindsight it might have been faster to just script it all. But I’m indie, I can make what I want, and I find this stuff interesting =)
What Sploreg said about AI taxing CPU power with AI.
Also, what he said about layers of AI.
Scripts work to an extent, but scripts never create emergent behaviour.
Which is both good and bad: Emergent behaviour can be interesting, but the game designer won’t be able to predict what’s going to happen so this is at odds with goals like “make the game a challenge but not an unsurmountable one”.
Scripts are generally “computer dumb”: They’re dumb in a way that a real-world person would never be. They will always produce the same answers to the same questions. Even if you write an engine that can randomly select phrase fragments and construct sentences will quickly be seen through - if you have 10 fragments, players will notice the repetition after the fourth repetition (latest), and if you have 20 fragments, they’ll notice the identical phrase structure not much later. (I happen to know. I once coded such a thing.)
AI is better because it’s just “insect dumb” (well, if it’s very well-written, the kind of multi-levelstuff Sploreg is doing). Of course it won’t take players very long to find the limits of that.
So I guess the game designers found that having a lot more AI isn’t going to buy them THAT much, so they’re far into diminishing returns land, which is where game studios go bankrupt are are bought by EA - they usually don’t want to go there.