Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Some games, including Dungeon Crawl (example), use a balancing technique that attempts to prevent certain values (stats, damage, etc.) from being excessively high. The algorithm looks like this:

if value > 20:
  value = 20 + (value - 20)/2
#70 → 45

...and can be applied multiple times:

if value > 20:
  value = 20 + (value - 20)/2
if value > 40:
  value = 40 + (value - 40)/2
# 70 → 45 → 37.5
share|improve this question
The purpose isn't just to prevent values from getting too high, sometimes it's because beyond a certain point, additional gains are actually more valuable to the player (increasing returns), so decreasing stat returns is used to balance it so that the overall power gain for the player stays the same. – Ian Schreiber Oct 18 '10 at 2:42
up vote 8 down vote accepted

They usually use diminishing returns for stat values so as you add more of the same stat it actually makes less of a difference.

share|improve this answer

I think you'll be lucky to find specific names for balancing techniques. ;) There isn't exactly a large body of standardised science here...

share|improve this answer

I'd call it "lazy design" or alternatively "mindlessly applying design principles from brain-driven pen & paper games to CPU-driven computer games without stopping to think if it makes any sense". If you want to use a logarithmic scale for a value (and the algorithm cited is a rough approximation of that), use a logarithm.

share|improve this answer
I didn't ask if it made sense, I didn't ask if it can be approximated by any mathematical function. Feel free to comment about it with comments. :) – badp Oct 19 '10 at 11:33
Also, you can't decouple fitness from purpose. Say, eg, you wanted to scale down the value of each successive upvote on StackOverflow so that hugely popular questions generate less reputation. Using logarithm would lead to decimal scores, it would change the amount of upvotes required for score-related badges, it would make voting generally confusing to people, it would make negative scores impossible... – badp Oct 19 '10 at 11:44
You asked for a name, I gave you one: It's a rough approximation of a logarithmic scale, more suited for pen & paper games than for computer games. And the original question was about values, not votes, those are a totally different beast. – Martin Sojka Oct 19 '10 at 12:21
-1: For the generally confrontational and opinionated tone of the post. Also, there are many functions that give diminishing returns. A simple square-root, for example, is not logarithmic in any way, but gives a similar curve. An inverse function can do the same thing, and it's asymptotic. There are many diminishing functions, so your term is wrong. Also, plotting a logarithm is not something that players should have to do to predict how much damage a hit will do. Keeping math simple is not just about the game; it's about the player. – Nicol Bolas Feb 24 '12 at 0:26

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.