# Calculating Nice Numbers
One of the biggest issues you will run into balancing your systems, especially if you use automated and excel driven calculations, is that the numbers can be quite ugly. Would you rather your players buying something for $63,829.29, or would you rather them buying something for $65,000.
To combat this I use a very simple two-factor method of rounding the final results.
- The log10 factor, aka Significance
- The non-zero factor, aka RoundTo
One of the issues, at least that I have found, is that the bigger the numbers get, the less precision you really need in the final result, at least from a player's perspective. People have a really hard time judging the difference between numbers with 4, 5, or even 6 digits.
Which would you rather compare at a glance?
634,223 624,423 611,993
Or would you rather compare
650,000 625,000 600,000
And for most games.... there isn't a meaningful, mechanical difference between the two, but there is absolutely a difference in feeling.
So once of the things that I decide is the amount of precision that is really required from a meaningful, mechanical perspective, and everything else gets tossed away. To do this I use the log10 of the generated number.
This is the easier, more familiar of the two. This controls how I want the non-zero number number to be round. Sometimes I don't want it rounded, and other times want it rounded to the nearest power of 2; but most often it's to the nearest power of 5.
# Try It Yourself
With both of these combined, you can get very pleasing results for almost any automatically generated number in your system.
Here is a little toy that you can play with to see the results.
|Starting Values||Rounded Values|