Note: This post was initially written in 2013, right after the release of Pacifism. For some reason I never published it. It's still relevant today, so here it is seven years later.
![]() |
x=number of enemies killed. f(x)=the bonus for x enemies killed. |
I made sure that the exponential grew slowly: even if a player managed to be twice as good as me and destroy twice as many enemies as me (200), they would only make around 55000 points, which is high but not absurdly so.
Once I was pleased with the feeling of the game, I released it and waited for the scores to come in.
As the high scores started coming in, I got to see the replays of people playing the game mode for the very first time and figuring out how to play. That was really cool.
Quickly though, you could see in the replays the players getting better and better.
And eventually, some players realized that by using the fastest ship, you could simply circle around the level dodging the bombs for a minute with the enemies never catching up with you. When they did blow a bomb, several hundreds enemies would explode resulting in bonuses of hundred of millions of points.
The lessons I learned:
- Use 64 bit integers for scores.
- Put a cap to exponential scores, or at least be very careful. You never know what the player are going to.
- Be ready to reset the scores and prevent people with old version of the game to send "bad" scores.
- Replays are so useful, it's ridiculous. Without them, I would have had no idea what the players were doing, and I probably would have assumed they were cheating and sending fake scores.
In the original pewpew asteroids game over half the topb50 scores are fake ...videos end early with low score but high score entered
ReplyDelete