Cheaters Sometimes Prosper
The Red Herring has a story discussing the cheating epidemic in online gaming. Discusses the problem from the point of view of the game companies, especially the ones producing console games who have to get it right the first time or face reissuing a huge number of CDs.
Case in point: Microsoft.
-- Guges --
Anything that has rules someone will try to cheat at. Everyone dies, right? Well, that doesn't stop people from trying to cheat death. Why? Rules inherently suck. They were made to be broken. A Christian man and woman get in a relationship. God says don't cheat. What do they do? You guessed it. They cheat.
So how do real-life games take care of this scenario? Well, let's take basketball as an example. You have two basic ways of handling cheating in basketball. At the organized level (ie. NBA), you have referees. They have the rulebook, and when someone cheats, they call a foul. In an online game, this would be akin to a server admin maintaining the rules. It would be even better if it was automated (ie. the game could identify cheaters). Hell, human players can detect cheaters, so why not computers? At the unorganized level (ie. street ball), you have mob rule. Jim travels, so Bob calls a foul. Jim says, "No way, dood." Bob's buddies nod their heads. What happens if Jim refuses to agree? He's either out of the game or beat up (or both). What happens if Bob keeps calling wussy fouls? Bob's either out of the game or beat up. In an online server, this would be akin to sort of moderation system. Players could identify another player as a cheater. If this person gets identified enough, he's kicked off. If some jackass starts going around fingering everyone as a cheater (or the cheater himself starts fingering everyone), he gets knocked off. Mob rule is very effective.
The thing is that game developers are never going to be able to stop people from creating cheats. The effective way to handle cheating is the same way any other real-life game handles cheating. You out the cheater. Unfortunately, game developers haven't developed effective ways to out cheaters, and so, you have a Wild West scenario in online gaming communities. If developers would stop fighting the phenomenon and start understanding it, they might be able to work in more effective coutermeasures.
First off, as others have stated before, the primary technical solution is to never trust the client. The following assumes that all appropriate technical measures have been taken to minimize the change of cheating.
That said, people will still find a way to cheat. The fundamental reason is that none of the "real-life" barriers to cheating currently exist in the on-line community. This is primarily due to these factors:
We can only defeat cheating through a change in the social system. The problem is primarily sociological, not technical. Here's how I'd go about it:
We can lick the problem, but it's not all in the game-designers' court. Some of the responsibility lies in the gaming community itself.
-Erik
There are always four sides to every story: your side, their side, the truth, and what really happened.
Cheaters sometimes win?
Yeah, right, next you'll tell me that winners sometimes use drugs.
Sorry, michael, but we had a lot of school assemblies about this and you're just wrong.
---------------------------------------------
Recursive: Adj. See Recursive.
see, the thing to do is enable cheats for everyone, and see who's the best cheater.
... i give it 5 minutes.
i wonder how long they will get sick of having god mode on for everyone...
i can see it now... 'look, i can make you jump with my rocket launcher, hahahahaah'
Runnin' On Empty
sometimes win. Smart cheaters always win.
--------------------------------------
No sig for you.
Available at http://www.PunkBuster.com (to lazy for html) stops many cheats for FPS games. I don't have the full list, but I use it for Counter-Strike. It's free, downloads quickly, and is very effective. (ie: any cheat that's in the program is totally blocked). It does require both the server and client to be running it for it to work :( If it ain't on the server if I have it running it doesn't matter at all.
--------------------------------------
No sig for you.
I have a separate rant about letting clients know information that they shouldn't, and about letting clients decide what the state of the game is; I will spare you.