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.
Remember Rene Magritte's famous painting. It's a picture of a pipe, with the caption "Ceci n'est pas une pipe." - "This is not a pipe." If you think about it, the caption is correct. There is no pipe. There is only a picture of a pipe. However, most people looking at the picture would say "Oh, that's a pipe." They wouldn't think to step outside the context, and properly reference the object as a picture of a pipe. This is simple mental laziness. We have come to associate representations very closely with the objects they are supposed to represent.
It's the same thing with how regular players and cheaters view games. When a regular player think of CS, or UT, or Quake, or whatever, they think of a game whereby one has to run around and shoot and hide and whatever else to win. They associate representations very closely with the objects or actions they are supposed to represent. However, cheaters think differently. They do not show the same kind of mental laziness. They see games for what they are: A client-server application with certain checks and balances in place which, if manipulated or hacked correctly, will yield some reward. This reward (represnted as kills, frags, bonus points, items, or whatever else in the game) also represents the cheater's resourcefulness in being able to manipulate the metagame, rather than the game. As such, it serves as a point of pride.
Regular gamers are playing a game which they perceive as real. Cheaters are playing a metagame whereby they manipulate the rules of the game to their advantage. Their measures of success are represented similarly, but this success is due to different sets of skills in the two cases. There is no comparison.
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.
So, instead of doing this: prepare data -> encrypt -> compress, do this instead: prepare data -> compress -> encrypt.
Any reason why that wouldn't work?
Special Relativity: The person in the other queue thinks yours is moving faster.
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
I've always wondered why it is so difficult to vote against a player in Counter-Strike. You have to open the console and type listplayers to find the cheater's number, then type vote #### whatever number he is. A lot of people are too lazy to do this or don't know how. Some don't even know how to get to the console.
Game programmers should aknowledge the fact that there are cheaters and implement an easier way for other players to vote him off the server.
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 mean, how much do you think you'd get for a fenced BFG 10K?
the liberator who destroyed my property has realigned my perception
the liberator who destroyed my property has realigned my perception
www.quantumheresy.com
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.