Combating Cheating In Online Games
mors writes "Gamasutra has an article about how game developers can make life harder for people trying to cheat in online games. It analyzes various ways of cheating, and how they can be made harder. It does stress that cheating can never be eliminated (at some point you need to trust the client machine, so crypto is not the ultimate solution), but can be made considerably harder."
Damn, and I was just about to go to that article to cut and paste all the (5, Insightful) comments and post them under my name... You've blown my scam!
Sure, it's fun to point out when it occurs, but with the load that they deal with (almost 300 submissions last time I checked), it's surprising it doesn't happen more often.
However, I think it would be worthwhile if they coded some sort of check into the system that would see if the exact same URL (not just a domain, but a full url pointing to a specific page) has appeared previously in other articles and provide brief summarizations for the staff person to read through and see if it is dealing with the exact same issue or not so they can make an informed decision without scanning 10,000 posts manually.
---
seumas.com
I didn't realize this for a long time, but a couple weeks ago I watched a kid play deer hunter. He started out by typing all the cheat codes. Suddenlly there were 10 times as many deer in the game, and they were all atracted to him. Then he shot them all.
Most of my friends when playing that game put wouldn't use the cheat settings if we knew them. (compare to the kid who memorized them) We pick a spot, and try to call a deer in, then we decide if we want to shoot it or wait for anouther. The only difference between that and real hunting is we aren't outside in bad weather.
In other words, some people don't get the concept of cheating, while others need to. The guy who cheats has a full walk through for tomb raider. I felt stupid for needing to consult a hint book to find the "good fromtz board" in planet fall, and I'm still kicking myself for not trying that despite how unobvious it is.
In high school one of my english teachers told me that when she reads fiction she reads the first few pages, and then the last page so she know how it turns out. I read books front to back. Give me an encyclopedia set and tell me to look up sweden and I'd rather read every entry before Sweden then just turn to that entry. It just doesn't seem right to read a book out of order (though given time pressues I normally will go right to sweden)
People are different. I don't understand everyone else. It doesn't make sense to me why someone would cheat. They do though, just like they get walk throughs and read the last page first.
I mean, who has time for searching and stuff? It's get up, post, get back under the sheets....!
---
seumas.com
At WorldForge, we're doing exactly this. The client is made available in source code form so that the player can customize it to make it work better for them. And we make all of the server code available for download so players can look through it and discern new tricks for effective playing. If in doing so, they uncover a bug that can be taken advantage of to the detriment of other players, then they're welcome to make use of it - sometimes this is the best way to test out how bad the bug really is.
If I don't think the bug is worth my time fixing, then any players sufficiently bothered by it are welcome to download the source code to the server, find the area causing the problem, fix it, and submit a patch. If I disagree with their patch or otherwise refuse it, well then at the least they have the permission to establish a new server and compete with me. So I will probably work hard to make sure to include the patch!
So I guess a lot of stuff I see called cheats, I think really should be honestly called 'bugs', and responsibility placed with the programmers rather than the players. Some stuff - like denial of service or similar - that's just plain mean, and out of the server programmer's hands to prevent. But a lot of the in-game cheating is preventable via code.
Maybe I'm an idealist, but the best way to harness the creativity of cheaters, is, IMHO, to establish an environment where giving out fixes to cheats has as much glory as identifying the cheat in the first place.
We also strongly encourage (even urge) players to get involved in the game development process. Our present game server is written in Python, and we will encourage and allow extension of it by direct coding (the amount of extension is limited by the slowness of Python). Our next game server (being coded now - in C++), will allow players to design assemblies and mechanisms in-game, and automate them with scripting, among other things. :-)
And of course, since the client is open source, you're welcome (and encouraged) to automate your character as much as you want. (In my opinion, if the game is so simple that you *can* program a super-bot that wins consistently, then the game lacks adequate sophistication. AI programming is tough, and if allowing for this kind of "cheating" encourages lots of people to gain skill at it, then this makes the (game)world a more interesting place! Besides, programmers are cool and deserve an edge. *Wink*)
The problem with the entire RPG genre of on-line games is that it isn't really the fun that hooks people in, it is the basic stimulus-response instinct that keeps people up all night playing Everquest or a MUD. By making you do things to get rewards (levels, new items, etc.), and by dishing them out a little at a time (with a fair ammount of randomization), these games tap into the same psychological conditioning scheme that makes old ladies spend their retirement checks all day at slot machines and BINGO games.
Since the satisfaction one gets in these games is usually the reward of a more powerful character, the mind begins to make the association of "better character == more fun", and cheating, or power-leveling, or "twinking" becomes very attractive.
The draw of these games is that they sort of let you live life in fast-forward. In a few dozen hours of gaming, you go from being a pathetic babe in the woods to being a massive warrior or wizard. Cheating speeds this up even more. It's a logical extention of the persuit of the goals the game establishes, really.
You don't often see the kind of rampant cheating that prevailed in Diablo 1 or Ultima Online when you are playing the FPS games. It seems that the shooters have acquired a sort of sports culture. To cheat at Team Fortress would be a lot like cheating at a pick-up basketball game. Neither side has more fun as a result, because the rewards of player-vs-player gaming comes from the joys of testing your skills against other people. Cheating in such situations is boring for both the cheater and the victim, even among younger kids.
It seems to me that the challenge that lies before those who wish to write on-line RPG's is to get a little farther away from the "kill monster, get a treat" format that is so common to these games. Good storytelling is helpful; nobody cheats at games like Myst. Creating a social environment that facilitates less of a "who's got the biggest *" mindset would also reduce cheating dramatically.
Mind you, I'm not saying that the typical hack-and-slash, smash-and-grab RPG does not have its place. I wore out a mouse on the first Diablo, same as the next geek. All I am trying to say is that game designers ought to start thinking beyond it, now that the current technology allows them to explore a lot of new avenues.
Oh wow. I just got back into Dallas from Siggraph 30 minutes ago and discovered my mailbox filling up with emails from the /. side-effect. Just a couple quick comments on the discussion....
0) This article first appeared in print in the June 2000 Issue of Game Developer Magazine.
1) I didn't come up with the title. I honestly couldn't think of a catchy title, so I let my editor come up with one. As far as nit-picking over the useage of "Hacker" and "Cracker" - don't sweat it. Yes, I know the difference.
2) The most important point in my mind is that multiplayer cheating hurts other human players and is an order of magnitude different from the things we do when playing solo (single player) games. When a person realizes they are on the receiving end of a cheat - that another human being wants to do that to them - it's a hugely distructive feeling.
2a) People walk away from games and badmouth them to their friends when they think they are getting screwed. The better selling your game, the more this matters.
3) Many people have been emailing me and posting about things I didn't cover. I really appreciate it though I do already have some of it. When I wrote the article I had to keep it to about 7000 words, so I only got to cover about 1/2 of what I wanted to. Given the reception it has received, there will likely be a second article on the topic.
3a) Keep the comments and emails coming - I will try and respond to all.
That's all for now. I really appreciate everyone's input and thoughts on the matter.
-Matt Pritchard