15 August 2018

Natural Diminishing Returns on Critical Hit Chance

A few days ago I explained that linear functions have a diminishing returns if we look at the damage increase we get at higher values. I also explained that it's even worse if you look at how difficult it is to get stats generally in games. Next up I want to talk about the natural diminishing returns on the critical hit chance.

Natural Diminishing Returns

Before I start, a quick reminder of what natural diminishing returns are. Diminishing returns can be broken down into the words diminishing which means a decrease of something and returns stands for the output or the amount we get from something. An example in video games let's say there's an attribute called strength. Each point of strength gives you about 1 damage. Now we put in 50 points into strength and our damage increases by about 47. If we put in 100 points we get 86 damage. Notice that the value you get out keeps decreasing.

The difference between diminishing returns and natural diminishing returns is that normal diminishing returns are programmed into formulas and such. Natural diminishing returns, however, appear due to the way the math works and is often not visible on it yourself. The example we used last time was that you increase your strength by 50 and you get 50 damage. If you double your strength you add 50 more strength onto it and you get double the damage, so plus 50 here too, the damage is increased by 200% or 100% of the damage is added upon it. If you add another 50 strength on the 100 you get 150 strength and 150 damage. The damage increase is only 150% or 50% of the damage is added upon it.

Mathematically: 100 / 50 =  2.0; 150 / 100 = 1.5
For more details on this check out the older post.

Critical Hit Chance is Linear

Just like the older post, critical hit chance is linear as well. For each 1% of critical hit chance, you get a 1% critical hit chance. Using Guild Wars 2 as an example getting 21 precision increases your critical hit chance by 1%. It doesn't matter how much precision you have, this is always the case. To illustrate the linearity here's a graph showing the conversion. The formula used in Guild Wars 2 for critical hit chance is 
criticalHitChance = (precision - 895) / 21;
{precision | precision ∈ R and precision >= 1000}
This means the function of our graph is:
f(x): y = (x - 895) / 21; {x | x ∈ R and x >= 1000}
Keep in mind that: {y | y ∈ R and 0% <= y <= 100%}
I don't know about you, but this definitely looks linear to me.

How Critical Hit Chance Behaves

Critical hit chance is a percentage that tells us how likely it is for an attack to be a critical hit. This that when the amount of your attacks goes against infinity we get an average of how many attacks critically hit. For example, if we say we have 0% critical hit chance, without much explanation this means you'll never critically hit. If we have a 100% critical hit chance, every attack will hit critically (1 / 1).
If we have a 50% critical hit chance this means that if you do infinite attacks against an enemy you will critically hit it 50% of the time. This is about every second hit (1 / 2).

Now you might notice something.
  • 0% means no critical hits
  • 50% means about every second hit
  • 100% means every hit
If you didn't notice it yet, no problem let's just continue then. As the next example value, we're gonna take 25%. When we attack the enemy infinite amount of times you will see, simply, 25% of our attacks will hit. On average that's every 4th attack (1 / 4).

Now about the 0% thing... let's assume we don't have 0% but nearly 0% critical hit chance. That means we could potentially hit critically but it's as impossible as it can be. To remind you of it I'm gonna write 0.0000...%. This is important that it's not 0%.

What we have now is 0.0000...% which means nearly 1 out of infinite attacks hit critically.
  • 0% means nearly one out of infinite attacks hits critically (lim x->∞ (1 / x) = 0.0000...%)
  • 10% means every 10th attack hits critically (1 / 10)
  • 20% means every 5th attack hits critically (1 / 5)
  • 25% means every 4th attack hits critically (1 / 4)
  • 50% means every 2nd attack hits critically (1 / 2)
  • 100% means every attack hits critically (1 / 1)
I only wrote down the rounded numbers. Such a great idea, this illustrates it even better. Just look at how the numbers behave. From 0.0000...% to 50% we went from one out of infinite to every second. Surprisingly from 50% to 100%, we went from every second attack to every attack.

This is definitely a diminishing returns. Let's plot it so everyone sees in black on white. Actually, I use the standard blue line.. so it's blue on white... though the axis is black.
Not so linear anymore. Here you can see it the more critical hit chance you have the less effective it becomes. Using analysis we can determine the exact point where critical hit chance stops to be as effective as it has been up until then. 

Liked the post? Noticed an error? Wanna discuss the content or leave a comment*? You can join or check into the discord to do so! (*Note: Comments are disabled to avoid saving user data on this website.)
>> Join Discord

About Me

My photo
I'm a junior game developer and software developer and I created this blog to share my ideas, thoughts and whatever I'm working on or doing.