I've been thinking a bit about game AI recently. What makes an AI good opposed to bad. The answer
isn't how smart an AI is. It's how human it seems.
Look at HL2's Combine AI. They're smart (ish), they use tactics, throw grenades, flank, assess dangers, etc. But they don't seem human. Now, in HL2, that's okay; they're not human anymore, after all. But
that shouldn't be an excuse, not for any game. AI shouldn't be designed just for combat.
Now, look at Goldeneye's (the original, of course) AI. They patrol, they scratch themselves, they sneeze. If you shoot them, they don't just flinch from the impact of the bullet (like the combine do in
HL2) they flinch from pain. Shoot a soldier in the hand, he'll bend over in pain, maybe shake his hand. Shoot them in the neck, they might slowly fall to the ground, slowly dying from asphyxiation. For all
their blockiness and comparatively stupid AI, they seem more human than the combine in HL2 do.
Games need more AI that doesn't just stand around waiting for the player and then shoot. Look at the recent STALKER games; NPCs sleep, eat, wander around. The world doesn't revolve around the player, and that illusion of humanity and life is caused by the AI's idle behaviors. In video games,
Guards and Soldiers should guard things and patrol, chatting with any friendlies nearby, whether it's a passing guy on patrol, or the person the NPC is guarding a door with. Scientists should do science. Terrorists should patrol with varying degrees of unease, with a couple guys guarding the hostages, who huddle on the ground, or sleep, or eat their bread and water. Maybe talking quietly amongst themselves until a terrorist breaks it up. Dynamic or scripted, games need more NPC interaction, more idle behaviors.
And I'm tired of trying to sneak up on soldiers, while crouching and moving slowly, I might add, only to have them swivel around as soon as I get within a few feet of them. Unless you're making noise, or they can see you directly, NPCs should not detect you. If you're in a vent, directly above them, they shouldn't be able to always snap their heads up and start shooting. AI has always been too smart, perception-wise. If I want to use stealth for a change, instead of blasting everything, I should be able to
do so successfully, as long as I'm using the basic techniques from HL's hazard course! And hearing needs to be redone for 90% of AIs as well. Running/Walking around in a large military base, for example, shouldn't attract all the NPCs in the level, but a bit of unsilenced gunfire should attract some, with the amount of different shooters and the length of the combat being a key factor on how many come, and whether they run, walk, or tiptoe. The combat tree of
Idle > Alert > Combat > Search > Alert > Idle
Is no longer good enough, the way it's implemented, there need to be different levels of alertness, different levels of search, Search and Alert should go hand in hand if the player has triggered one of
them, and NPCs should start with varying levels of alertness. Maybe the map is set at night, and most of the guards in the building are tired and not expecting anything to happen. Maybe the map is set in a warzone, and there was just an attack on the outpost, so the guards on the outside are alert and waiting for more.
If we're capable of making NPCs with simulated emotions and dynamic AI, why the hell has no one implemented this stuff in full into a game? Even the AI that's heralded for being realistic doesn't have
all of these features implemented. You know what I think? Laziness. If the big companies can keep making mainstream games using no new tech that doesn't involve graphics, why would they spend the
effort on improving anything? The very notion of doing something that doesn't have an immediate personal payoff is lost on them.
Meanwhile, the few companies that might actually be both capable and willing to improve technology,
such as Valve, are too busy to do it. I think that as soon as Valve are finished Ep3, and are working on the 2011/2012 branch of the engine, they should pull a Valve, and implement AI like I've mentioned in the above 5-6 paragraphs, before anyone else is even near considering doing it. (Skeletal animation, facial animation and full, accurate physical gameplay anyone?)
tl/dr: JeffMOD rants about AI.
EDIT: And don't even get me started on flashlights and corpses in relation to NPC alertness.