• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Problems of balancing Evasion

This Tutorial is about balancing Critical strike/Bash and Evasion and their big differences.
Sounds easy but Evasion is really tricky and im sure its interesting for everybody




Examples of Bash / Critical Strike


Critical Strice or Bash is easy to balance because with their percentage value you can calculate a representative damage value within seconds.

e.g Critical Strike :

20% to deal 2x damage (100% more dmg)
=> 0.2*1.0 = 0.2
=> equivalent with 20% damage bonus


or Bash :

15% to deal 50 damage
=> 0.15*50 = 7,5
=> equivalent with an 7,5 dmg bonus


Of course these are just representative values because the randomness cannot be calculated. But these values can already help alot to balance it

What makes these two Skills easy to balance is that a linear increasing change leads in linear increasing "Strength" or "Value" of it
e.g. Doubling the Chance OR Bonus damage of Bash leads in doubling its Strentgh (if we waive the stun because this is impossible to calculate and depends on ingame situations)

The only thing which should be beared in mind is that an increasing damage will make Critical Strike stronger and a faster attackspeed leads into a stronger Bash but i think thats obvious.





Balancing Evasion


Evasion is way more difficult.
Because doubling an Evasions change does not lead in doubling its "Use" in a fight.
Simple example 50% -> 100% (would mean the unit is invuleable if we waive any spellsdamage)

But most times Evasion Abilities in Spells are build up linear increasing per level which will make the higher levels stronger

e.g. Demonhunters Evasion :

Level 1 : 10%
Level 2 : 20%
Level 3 : 30%


I thought of expressing the "strength"/"Use" of Evasion with an equivalent percentage of its Health because if the unit gets attacked it can stand more attackts because of dodging some

After thinking a bit i came to this function :

HP(x) = 1/(1-x)


attachment.php


In the Demon hunters example it would be arround this

HP(0.10) = 1.11
HP(0.20) = 1.25
HP(0.30) = 1.43


So on level 3 the demonhunter has a representative Health of 143% (against attacks)
If we assume the case that the demonhunter is on level 5 with 800 Hp when he skilled Evasion of level 3 he would have a representative health of arround 1144 hp.

Or even at level 10 in Metamorphosis he has 1600 Hp which would give him a representative health of arround 2244 hp in a fight. impressive :p even more health than a Tier 2 main building.


If you want to balance Evasion it would always be useful to calculate this value. I know the difference is really minor due the function is nearly linear at its start. (Hp(0.2) = 1.25 ; a simplification would be the chance of evasion as a healh bonus - in the case of 20% evasion 120% health. would have only 5% difference to the function)

But using higher values of Evasion would lead in really imbalanced Abilities. (e.g. the step from 90% evasion to 95% would double the representative health !!! from 1000% to 2000% !! ... and ive seen enought maps with up to 90% evasion !)


an easy way would be taking steps for a healhbonus and then calculating the evasion the unit must have

e.g. 125% health , 150% health , 175% health
would be :

1.25 = 1/(1-x)
<=> 1.25(1-x) = 1
<=> -1.25x = -0.25
<=> x = 0.2 ; means 20% Evasion

fortunately its the same exampe as above just inverted :p so the calculation should be right

To make it easier and faster to calculate, this is the inverse function of the HP(x) one above :

Evasion(Hp(x)) = -(1/x) + 1


attachment.php


It makes the calculation quite easy

Evasion(1.25) = 0.200 , Evasion(1.5) = 0.333 , Evasion(1.75) = 0.429


this would result in a Spell giving arround : 20% / 33% / 42% Evasion
This Spell would have a linear increasing "Worth" :)

I hope this little tutorial was helpfull. i though it could be interesting

Thanks for reading :)
 

Attachments

  • evasion.png
    evasion.png
    4.7 KB · Views: 4,006
  • inverse.jpg
    inverse.jpg
    23.5 KB · Views: 4,011
Last edited:
WOW that is impressive. Nice work.

Cool idea to display the evasion with a function XD

One small spelling mistake. (even more heatl than a lvl 2 tier)

But really nice

Thanks :p

Functions are always useful ;> to be honest... i got the whole idea while lying in my bed trying and being unable to sleep

k, i already corrected that typo
 
Level 12
Joined
Feb 23, 2007
Messages
1,030
This is a formula to help you find the desired effect of Evasion.

a = Max health
b = % increase in health desired
c = Evasion chance

-------------------------
***Here's the formula***

c = 1 - a / (a * (1 + b))

or without max health

c = 1 - 1 / (1 + b)
-------------------------

If you want to increase health by a certain amount,
 
Level 12
Joined
Feb 23, 2007
Messages
1,030
Nope, you just need to know the OOO (order of operations)

It's really simple, just plug in the numbers you want.

The one that utilizes max health is just to show how it works. If you want to know what evasion chance you need to increase your maximum health by a certain percentage than just plug in the numbers.
 
Level 38
Joined
Jan 10, 2009
Messages
854
Pretty cool, though their is another cool function of the critical/bash/evasion spell that is not mentioned above. As you did bring up spells as effecting 100% evasion this is really more of a fun fact, and only really usefull if every unit is modifyed in the map to have a variation of it but here goes: if you modify the field "never miss" on critical hit/bash/evasion then when a unit's attack procs for a critical hit it will bypass the effects of evasion (and the semi-evasion of units that are moving or on high ground). I have found that a unit with a critical hit thats only effects are that it will make an attack always hit with a % chance actually works seperatly from critical hit for bonus damage, in that the spell can stack at least two times, my guess is it could possibly stack as many times as it is put on a unit. Pretty epic considering most attack enhancing abilities stop working if more than one of them is on a unit :) also, area-of-effect attacks can still deal damage to a unit with 100% evasion, though it still will not if they are standing still and the primary target of the aoe attack XD
 
Yes, i knew that Scritical Strike is stackable due its not an orb
but i thought a function of Critical strike in combination with evasion wouldnt that helpfull because i think the case is kinda rare and not really calculateable in a map with many units

But the chance of such % abilities does not stack linear
(e.g. 10% chance + 20% chance != 30% change)
may ill add such a formular too.. hm.. what should that be ..
Chance(x1,x2,...) = 1 - ( (1-x1)*(1-x2)*(1-.....) )
=> Chance(0.1,0.3) = 1 - (0.9)*(0.7)
<=> Chance(0.1,0.3) = 0.37
means : 10% chance + 30% chance is equivalent with a 37% chance
this also obtains Magical Resistance ect... (but if i remember right Evasion does not stack.. but im not sure)
needs some tests and then ill may add this here

lul, right - i didnt thought about splash damage
 
Top