• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Balancing Evasion

Status
Not open for further replies.
Level 15
Joined
Jan 31, 2007
Messages
502
*updated*
Due lack of posts and the Warcraft Discussion seems to contain much spam i posted this in the tutorial section.


I though of balancing Evasion and came to various


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
=> 0.2*2.0 = 0.4
=> equivalent with 40% 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 "Strengt" 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 : 10% -> 20% -> 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) .

evasion.png


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 heatl 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 abve 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 .

inverse.jpg


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 :)
 
Last edited:
Status
Not open for further replies.
Top