Yes, even a simple implementation of selfpreservation would make KI so much more realistic. Meaning, if the enemy has low health, he is likely to run away. Or if they see all their allies die, etc.
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
Does having enemies run away make the game more fun for the player, or does the need to chase them become an annoyance?
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.
"Does having enemies run away make the game more fun for the player, or does the need to chase them become an annoyance?"
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.
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.
It's a fine line. There are plenty of stories of games that dumbed down their AI because it started doing inscrutable things when fully unleashed - and simulating full sense perception for something like a soldier in a shooter game is very computationally expensive, so "smart" opponents tend to feel like cheaters since they are thinking in terms of the underlying representations instead of behaving or reacting in a believable way.
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.
"and simulating full sense perception for something like a soldier in a shooter game is very computationally expensive, so "smart" opponents tend to feel like cheaters since they are thinking in terms of the underlying representations instead of behaving or reacting in a believable way."
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. )
I don't understand how you can use stealth as an example. The only way you can fairly simulate stealth mechanics is by making every enemy render the scene at low complexity and then check if it can see pixels of the player model. Maybe some games do this but from my experience what happens when you get caught is pretty boring. They sound the alarm and they all hunt you down as if they had a radar because actually doing the simulation is too expensive. There is no need for a third state. Once the alarm is on it is on but it shouldn't mean the enemy knows where you are.
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