There may be OTHER reasons that CPU requirements have gone up over time than NPCs being more complicated. If I remember correctly, most games use CPU's for their physics engines, which over time we've seen games use physics more intensely.
There are a lot of other reasons, but the basic npc program is run but the cpu and as environments and world grew larger and could hold more the needs grew too.
3 and 4 basically say the same thing, adapt to the player (very few games have an NPC actually adapt in a non-game mechanics sense).
3 and 4 sound similar but are aimed at different aspects of the game, 3 is reaction and 4 is action.
3 Memory and learning: would be more along the lines of interactions,
e.g. if a player bought engine parts from them many times, they offer a discount
if a player stole from them they would not offer quests or call the guard on sight
4 Dynamic adaptability: would be more along the lines of actions,
e.g. if their house caught fire they would run outside and try through water on it
if they were good aligned and the player continuously acted evil they would leave the players party.
In number 1, the npcs should ALWAYS be following their programming, cause they were, you know, programmed.
This one is usually not an issue BUT many players have tried and in some cases succeeded in causing bots to go so called "rogue"
e.g. standing infront of a guard and attack a citizen, when the citizen attacks back move and they hit the guard, the guard then goes around killing citizens.
Kiting bosses into cities to kill everyone
In these cases dev's / programmers did not / could not foresee players causing bots to act outside their programming and going against the world rules. Most of these get patched pretty quickly.
There are also times where designers and programmers have maybe had a misunderstanding? and you will find npc's talking to trees etc.
There are actually some funny clips on YT about game npc's "acting up" try oblivion first
That example of a game where "when you get into really large numbers with them" is where you would apply such a solution. I thought I made that kind of obvious, but whatever.
You did which is why I mentioned the examples I did,
FPS - first person shooter
arma 2 can have 150 bots as ground troops, using tanks and aircraft
arma 3 can have 120 bots as ground troops, using tanks and aircraft
Insurgency can have 30-40 bots using emplaced weapons, ground troops and use technicles (vehicles)
They can also be grouped as platoons / squads / units (arma)
I didn't add this example but in large scale RTS that don't use it, wargames red dragon etc. you can play 4Players vs 4bots and have over 4000 units on the field.
You can still optimize NPCs in a shooter game anyways, like reducing how frequently they preform checks based on how likely and how they are expected to engage the player. An NPC that won't have line of sight or won't reach the player for a long time doesn't need to check distance as often, maybe reducing their detection rate of 30 times a second to 10. Even if the prediction is wrong about engagement time, it's still a reaction time of 0.16667 seconds at worst, which can then be adjust to be fair. You could even twist that around into a mechanic of the NPC being suprised.
Again a nice idea but will only work in very select cases. Games that offer multiple insertion points, offer no line of sight fire support, plus many games are also adding tech like drones etc. Not to mention players actions, some times player set out to break / pass / glitch the bots but a lot of the time it is unintentional.
I don't know much about FIFA or soccer honestly, but having the NPC react to what is going on is true for basically any active NPC. If an NPC changes their movements because the player is moving, it is already reacting to the player using game mechanics.
I was referring to your idea for bots
just check variables like who's close or far from the ball, where the ball is predicted to be in a certain amount of time, ect, and then do actions accordingly.
In doing the action accordingly, the npc would tackle an npc who is no longer controlled by the player. In the call command example it would ignore the player and follow through on the "actions accordingly" etc.
Engine physics are a similar comparison between processing power used.
But is not in comparison to behavior,
If a bot is blown up and ragdolls into the air it must NOT continue firing at the player
If a bot car crashes and flips it must NOT activate it's NOS midair
If a bot is blown over a cliff by a player ability it must not continue fighting / swinging on the way down
When you do those things they are considered glitched or broken.
I brought up more game genres than you did.
Not sure the point? Genres and the games and types of games that fall under them are completely different. You can have one genre with hundreds of different types of games in it.
Examples: Sports, your ideas might work for a tennis game but not for a baseball game
Strategy, your ideas might work with total war but not for wargames.
etc.
There's also plenty of games where the player and NPCs operate on entirely different levels
I'm not sure what you mean here?