So I just got a pretty good score on Tiny Wings, 212,748. And no, I didn’t cheat. But the scores on OpenFeint are ridiculous, and on Game Center not quite as bad, but even there we have some ovbious cheating going on.
Cheating on high scores goes way back to the early arcade days when people just lied to the operator and sent in the score to Twin Galaxies. So the question for today is this: How can developers prevent cheating?
The best way is trusted human witnesses with a video or film record. This method has been used in sporting events for decades. It’s still not foolproof, but it’s as close as we’re going to get. At least no one is claiming to run the 100 meters in 0 seconds, which is the kind of thing that goes on in video game high scores tables.
Another pretty good anti-cheating method is to require a submission of not just the score (or the achievements) but a complete record of all user inputs (i.e. button presses and time stamps). If the game is deterministic this record can even be used to reconstruct the entire game, allowing everyone to watch the record setting performance. A number of games use this method, and depending on the game this can work very well.
So could we do something simpler, like hashing or encrypting the scores? Well, yes, but it wont stop determined hackers. But there is a method that could work to at least mitigate the problem: Game signatures.
A game signature would be a set of about 50 or so numbers that describe what happened during the game, things like the total time, the final score and 10 other scores taken after 1 minute, 2 minutes, 5 minutes, etc. And a bunch of statistics like number of deaths, number of shots, number of jumps, etc. etc. The entire signature should be hashed and sent to the high score table website, but only a few of the items in the signature would be revealed to the public.
Upon submission the signatures would undergo an automatic checking process. The top scores would still have to be periodically reviewed by humans, and removed if the stats are provably impossible.
So in conclusion, at the very least we designers need to be aware of this problem, and yes it is a problem. Our players care about high scores, and get very discouraged and upset when they see that the high score tables have been hacked.