03 February, 2009

CC1: Enemy AI (or lack thereof)

For this first post ,and to set the tone, I was going going to write about how pointless most toaster settings are but after punching my computer monitor in frustration for the four-millionth time it struck me what I could write about that would actually make a good point: Enemy AI

More specifically the AI in RTS and FPS games. (I'm not a big fan of acronyms but I'll be damned if I'm going to type out Real-time-strategy and First-person-shooter every time. I could copy-paste but I'm just not arsed.). I'm not a coder but is it really that difficult to program opposition with some semblance of intelligence? Just a bit, so it doesn't feel like I'm playing an opponent who's playing by bashing his head onto the keyboard.

We've all played the game that had a great story, good atmosphere and nice graphics but were completely let down because the game world was populated entirely by suicidal retards. Enemies that get stuck on steps, shoot each other, don't cover when they're shot at, or just blindly charge into your hail of bullets. Is it too hard to make an enemy recognise the fact that grenades and bullets hurt?

Unfortunately this lack of enthusiasm extends also to the guys on your side so your team-mates are equally inept if not more so. They hurriedly wander around war-zones and fire-fights like insane ewoks amped-up on caffeine and speed with not a care in the world for your life, their own or the reason why they're actually getting shot at in the fucking first place. This is even more of an annoyance in games where you've to rely on these armed, mindless twats (Army of two, Haze, Kane and lynch, Gears of war 2 are the main culprits)

Conversely we've all played a game where the enemy had us on our toes for so long that we didn't realise that the plot didn't make sense, the graphics were shit and half the characters were cliches. (For me, most of the reason Half-life was so much better than either Quake 2 or Unreal was because the enemies were smarter than anything the quake or unreal programmers could come up with.) Is it just me or are game designers spending too much time making games that look good and not enough time on making them actually good?

But this lack of AI is no more obvious than in an RTS game. In a FPS you can cover up for poor AI with a good story or a "horror" element (i.e. make the enemies zombies so you don't even have to bother with AI, just have them walk in a straight line and moan). however in an RTS the enemies' intelligence is pretty much the only thing on show. Graphics can only go so far before becoming irrelevant (who gives a crap if the civilians are all normal-mapped? you're going to butcher them all anyway) and the story needs to be advanced by completing missions so the AI is pretty much the make-or-break element.

It's a sad shame that most of the armies are commanded by Zapp Brannigan and employ the "wave after wave" method of combat. They're just idiots! You would never send three lone men to try to take down a Tesla coil so why does the computer send them in their droves to an obvious death? Does it hate them? Is the computer experiencing a bout of masochism and lashing out at it's own machine-gunners?

The answer is no. The computer does not hate itself. It's a simple case of a production team failing to give you a challenging opponent or one that at least seems to value its' life or even one that wants to win. Wouldn't that be great? An opponent who actually challenged you rather than just got in your way?

Now I'm not expecting the Red alert equivalent of Deep Blue. But an opponent which just bee-lines its' own forces into your defences until they collapse or you knock out the base is just insulting (C&C generals is the one of the single worst offenders in this area). Quite often these games would then either restrict your resources or give the opposition a huge advantage to further tilt the game and make it "challenging". But it's not challenging. It's unfair at best and fucking lazy at worst.

Now, before anyone starts of with the same "why don't you do better? :p" horseshit, let me re-iterate that I'm not a coder. These people are. You wouldn't go around trying to fix peoples' cars and charging them for it if you weren't a mechanic. These people are expecting you to pay to play their games so it's not too much to ask if they could make the games interesting or at least make it so your not playing against the RTS equivalent of the Pac-Man ghosts. The two chief methods of doing this are either good story or strong AI.

All this said progress has been made. Halo (as over-hyped as it is in terms of quality) was a leap forward in AI. The enemy didn't seem to be sexually attracted to gunfire and your own team-mates were even able to operate vehicles with you (although they were too dumb to shoot the enemy whilst doing so). Far-cry was also another step forward in that the enemy used tactics to try to surround you (although why they bothered when they could spot you from a mile away even if you were covered is beyond me). Newer games like FEAR and Left for dead (I also refuse to use numbers instead of words) have tried to raise the bar there are still games with almost hilariously poor AI.

I'm not sure who to be most angry at in this. The coders for phoning it in because they were too busy getting all the sprites looking extra nice or the game testers for not pointing out that the enemy have less concern for their own lives than a depressed lemming. I think when most of us think of jobs we'd love to have, "games tester" is up there in the "fucking sweet" category. There's clearly no performance evaluation, as most of the games released recently will attest to, so you don't have to worry about doing a shit job.

I'm aware that testers are mostly there as bug-finders but I'm sure at least some of them played a game and thought "wow, whoever programmed the enemy must be a complete idiot. Look! That guard actually saved me the trouble of shooting him by blowing himself away". I know that testing can get repetitive (especially when it comes to regression testing) but it's still no excuse. If not liking your job was good cause to do it badly you'd never get a decent coffee. or burger. or anything for that matter.

Maybe one of the reasons for the rise in on-line gaming is the prospect of an opponent that isn't brain-dead, Isn't stupid (in terms of game playing ability) and isn't the same every time you load up. I still judge games by their single player modes and unfortunately most don't hold up.

Maybe I'll just go back to playing minesweeper............


Post a Comment