It's too bad because games like F.E.A.R. have shown that even simple AI heuristics can lead to very interesting emergent behavior. TFA demonstrates that very simple AI tweaks can make the enemies feel more organic and realistic.
I suppose that some of the problem is that good IA doesn't make for nice trailers and ads (since you can just script those to do whatever you want anyway).
This is really not so hard to implement, simple games could do this for ages.
Or at least basic tactics, I think in Far Cry 1 enemies did not run away, but were smart enough to sneak and circle around you, later in Crysis or the other Far Cry titles, they were just cannon fooder. Makes everthing more hollywood kaboom
If an enemy sneaks around the player, gets in cover and concealment, and shoots them while the player does not understand where the fire is coming from, is it an enjoyable experience?
Smarter and more realistic does not necessarily mean better. We don't write enemy AI for the purpose of it being effective in fighting, it's there to provide entertainment for the player.
It's also about creating the intended emotions. Games are intentionally designed to create a particular set of experiences. There's a niche of games that relies on gratification of overcoming some frustration (e.g. Dark Souls series) but the majority of gamer market prefers a 'power fantasy' emotional experience, so many games are intentionally targeting that. If we want the player to feel powerful, then we design so that their character can defeat many enemies; if we want the player to feel smart, then we design enemies so that their behavior has exploitable weaknesses that they player can discover and feel satisfied while 'outsmarting' or 'tricking' the opponents. In most game genres we don't want the player to feel outsmarted by the computer unless they have made a substantial mistake that the average player is able to notice and correct.
A good game mode does not require finding and hunting down all enemies. It has targets, like "go there"(story continues), "blow up X", "clear area Y"
"if an enemy sneaks around the player, gets in cover and concealment, and shoots them while the player does not understand where the fire is coming from, is it an enjoyable experience?"
If the game gets the graphics and gameplay right, for sure! (I still have memories from Vietcong, where you get ambushed in the jungle and don't see anything and just die, until you learn to move in cover and watch the terrain)
And you have the muzzle flash for example. And if you do not see it ... the fun is in getting scared and rushing to cover. Where the enemy cannot see you anymore (if the KI is not cheating) and then move to a different position to find him.
Or you can have the kill cam, where you see upon death, where the enemy was, that killed you.
"If we want the player to feel powerful, then we design so that their character can defeat many enemies"
True, but there are various ways to implement this, without ZombieKI.
Like in crysis for example, where you have superior tech. Or more hitpoints, because you play a badass.
Or in general, you as a player have quicksave and load. The computer does not.
So yeah, I know that the target audience is dumb and wants fast food, so to say, but they also consume what is avaiable. And the standard is mostly ZombieKI, or ultra hardcore realism like in Arma, which is clearly not for everyone, but I really don't see, why the "AAA" games could not invest a tiny bit more in KI that does not break immersion.
Sure, but after a while, after seeing that in 100000 permutations, some people kinda move on from that and don't look back.
If it's just that essentially, but dressed up more nicely, I neither want to play it or make it. Personally I even got bored of collecting items for the sake of collecting them, or getting high scores for the sake of getting them, and exactly because every day 1000 games are made that follow all those patterns I feel perfectly free to ignore every one of them.
I still probably will never make a good game, but I learned a lot through trying, and I can feel good about what I tried, too. For me it's just something I do when I feel like coding, but have nothing "useful" to work on, after all.
A lot of making the experience of a game is in managing perception and belief - in making the player agree that the game is doing "what I expected" - and when a feeling of realism is aimed for, the amount of falsified behavior needed to get that result goes up dramatically. The games where belief is easy to achieve are mostly stuff where the ruleset is abstracted, empirically tested and legible to all - board games, physics games, puzzle games, etc. Things where the decision making itself is the intelligence. In contrast making soldiers that are satisfying opponents requires a blend of assets: carefully managing their positioning, animation states and voice callouts so that their decision making is something that players can identify, respond to and overcome.
I am not saying it is easy. But today, we got some more cpu power to throw at the problem. And even if you simplify a lot, you would still get better results, than plain cheating, which breaks immersion for me too, when they all storm my position, they could not know exactly.
"In contrast making soldiers that are satisfying opponents requires a blend of assets: carefully managing their positioning, animation states and voice callouts"
And here is the crux: there are tons of ressources thrown at the animation states and voice callouts, which is even more frustrating, when their behavior is as dumb as allways.
And not everything is expensive to simulate: in allmost every game with stealth elements for example: you can kill some enemies and the others are looking for you for some time - and then they go back to their default state with "ah, it must have been nothing", even though they might have been already wounded by you and witnessed comrades fallen.
Here you would not need more cpu power, but simply a third state: where they can still give up the search, but remain on guard. (And tend to their wounds, etc. )
Problem with AI is even if you spend a lot of time trying to get it right, it can make choices that are confusing to us humans and illicit ridicule from the player base.
To me, that's a huge part of our game -- catering to the NPCs, specifically figuring out "why are they missing X? Oh, because they're walking Z distance to the nearest bathroom!". I think the AI is fantastic but, when functioning perfectly as [we would have] expected, we still get complaints about why the 'dumb AI' will do X or Y. Part of that is defintiely a UI/UX issue on our part -- but another part is that players generally aren't used to it and they expect much more "robotic" or obvious/easy behaviors from agents/NPCs.
Emergent & opportunistic behaviors are awesome (IMO at least), but a lesson we learned is that they may not always provide players with the desired or expected gameplay experience. It'll of course always be game-specific, but it's something we will keep in mind & likely simplify further in our next game.
As an example the alien game released a few years back had both interesting yet an AI that didn't feel like cheating. In this context an AI that does intersting things is accepted since the goal is to strike fear, whereas with a modern shooter most enemies are made to bring some challenge but eventually be killed.