Wednesday, May 24, 2006

Monday Rant (Terribly Delayed): Computer Cheating

This rant is very, very late, and for that, I apologise. No apologies for the content to follow, though.

Computer games, generally, do not suck. But many games share a common "feature", a coding-shortcut, that sucks, and sucks hard. This coding-shortcut manifests in a wide range of computer games as computer cheating. Apparently, programming the artificial intelligence of a piece of software to be relatively good, and forward-thinking, in just about any game is damn-near impossible. Fine, I know next to nothing about Computer Science and Artficial Intelligence, so I'm not going to rant about that difficulty. I am going to rant about the lazy bullshit programmers and game designers put into their games to compensate.

Computers are very good at certain things. Essentially, any task that can be reduced to lots and lots of calculations, will be something that a computer is good at, and a human not so much. The disparity between species in this realm is so great that nobody has bothered to create a game that explicitly takes advantage of this - with the possible exception of chess, invented long before the electronic compute.
This skill at calculation makes computers useful for entertainment purposes, as they can be used to simulate pretty much any experience, many of which make good games. More subtly, this makes computer players (as opposed to human players) very good at certain within-game tasks. For example, in any game simulating gunnery, the calculations involved in the simulated world for balistics and other factors important for shooting something are trivially easy for the computer - but relatively difficult for the human. So you get Idiot Savant computer players - it can't position it's units in the best ambush site, but if the human wanders within range, the human gets zapped. In games in which gunnery is of prime importance, such as First Person Shooters and many "arcade"-style games (think StarControl, or 1943), the computer player is typically a horrible moron, incapable of anything even resembling thought, but has accuracy rates up around 100%. Not good for simulating realism.

Other games require strategic (or at least tactical) thinking. God-games, like Civilization, and Real-Time-Strategy games (a misnomer; these games are universally Real-Time-Tactical) suffer the most from this. Computer players in these games typically seem to follow a basic, inflexible set of rules, to the point that most of the in-game features, like "diplomacy" and "long-term planning" are lost in a sea of automatic responses. All of the games in the Civilization series (NB: I haven't played Civ IV yet, but I'm not expecting an exception) have had this problem in a terrible way. "Construct alliances! Use diplomacy to win!" Bullshit. The computer always responds the same way: attack on sight.

So, to get around the inherent difficulty of programming a computer to think, game designers allow the computer to cheat. In shooter-type games, the cheating is obvious in the form of inhuman accuracy and a sense of timing that destroys the defintion of the word "reflex". In strategic games, the cheating must be inferred from the ridiculous achievments accomplished by the electronic idiot. Time to produce, the rate at which orders can be given, and perfect knowledge of one's opponent are all common strategy-game cheats by computers.

This brings me to the second part of my rant: games built with a sense of accomplishment.

Why do game designers make the computer cheat? Computers have no desires, no emotions. They don't cheat because they want to win, they cheat because they were told to. By game designers, many of whom apparently labour under the delusion that a game player, a human game player, plays a game for the sense of satisfaction, of accomplishment, achieved at the end of the game, or at key milestones within the game. NO. Fuck! I'm playing the game to burn some time - I'm fucking bored, not seeking a sense of self. I have work; this and my interpersonal relations will provide any needed sense of accomplishment - I play computer games to activate different regions of my brain, and to waste a few hours on a boring, boring Sunday. Repeating the same goddamn level 18 times, memorizing a particular and very specific series of button-presses, and reloading my saved game over and over and over and over does not contribute well to the "enjoyable time-wasting" aspect of computer games!

Stop fucking cheating! I just want to win; I don't care if you think it's too fucking easy! I WILL NOT look back on completing some game in a year with fond memories of triumph - I'll use other parts of my mind for that (probably the parts most affected by alcohol, actually). Why, oh why, can't I find a game that lets me accomplish my goal of something-to-do-while-dinner-cooks!?!?!?!

Arg.

OK, not my greatest rant, and delayed by 10 days. I'll try to work up a bit of froth again this week, so I'm can get back on schedule next week.

2 comments:

Carlo said...

Ah, my favorite case of this is in racing games. I love how in many of them, your opponents are on "tethers" and thus are always a minimum distance behind you no matter how well you drive. The second you make a minor mistake, they overtake you!

Unfortunately this may also be a case of "careful what you wish for". An RPG I'm playing right now has a pretty damn good enemy AI, which is completely unlike most RPGs. Anyways, it's neat, but makes the game ridiculously tedious as the player is CONSTANTLY getting his ass handed to him... I imagine that it's very difficult balancing AI and difficulty.

The last extremely successful attempt I can remember is Half-Life... Except in 2-player mode...

TheBrummell said...

Ah yes, racing games. I'd forgotten about those damn tethers. Many racing games also suffer from pre-determined computer player competence ranks, such that you only ever have to worry about the same one opponent every time, and all the other racers are essentially moving obstacles.

I agree with the "careful what you wish for" angle; a really good AI should be balanced by not allowing the usual cheats - particularly things like perfect knowledge of the human players location and condition. Anything that makes a game tedious, like the necessity of repeating levels many times, is bad.

1/2 life 2-player mode was fun, but it had that critical you-only-get-3-lives-between-you and an ammo-shortage problem. Co-operative and multiplayer modes is a subject sufficient for its own rant.