Wc3C.net

Wc3C.net (http://www.wc3c.net/forums.php)
-   General Mapping Tutorials (http://www.wc3c.net/forumdisplay.php?f=427)
-   -   Problems of balancing Evasion (http://www.wc3c.net/showthread.php?t=106079)

JonNny 05-24-2009 10:27 AM

Problems of balancing Evasion
 
2 Attachment(s)
This Tutorial is about balancing Critical strike/Bash and Evasion and their big differences.
Sounds easy but Evasion is tricky and im sure many didnt know




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)

Looks like this :

Zoom (requires log in)



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

looks like this:

Zoom (requires log in)



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 :)

Captain Griffen 05-24-2009 12:24 PM

a) It's obvious to anyone with half a brain (having said that, most people don't have basic maths capabilities it seems).
b) Is Evasion one of the abilities that suffer from 5% intervals in the chance of going off? If so this is totally useless.

JonNny 05-24-2009 01:21 PM

1 Attachment(s)
Quote:

Originally Posted by Captain Griffen
a) It's obvious to anyone with half a brain (having said that, most people don't have basic maths capabilities it seems).
b) Is Evasion one of the abilities that suffer from 5% intervals in the chance of going off? If so this is totally useless.


a) Sure its not that hard if you think about it and if you have math skills
but still i think this precise formular could be usefull because its may not obvious for everyone
also if you argue that way many other tutorials would be useless too imo

b) I was sure it was not one of those
but after you mentioned it i made various tests and it seems to be in 1% steps

Edit : if you want to prove that on your own i attached the testmap i used to proove that
after 3000 attacks at 95% / 97% / 99% Evasion i got this experimental values of 94,5% / 96,8% / 98,9%

Edit : Btw , why cant i look at any attachments?
"NOTE: You have been redirected in order for our attachments to be made available to you. This will only last two minutes; these measures where taken to avoid hotlinking and bandwidth theft.
To avoid these restrictions Log in or Register"

i am logged in
this also does not disappear after 2 min.

JonNny 06-01-2009 01:52 AM

*bump*
What should i add/change/remove in this tutorial?
or does ignoring it mean it sucks?

Captain Griffen 06-01-2009 10:28 AM

No, it just means I'm not sure.

Kueken 06-03-2009 07:00 PM

20% chance to do 2 times damage is 0.2*2+0.8*1=1.2 = 20% damage amplification and not 40% like you stated.

JonNny 06-04-2009 04:45 PM

Whops, thanks
i accidentaly used the whole damage and not the damage bonus in my calculation
fixed

Tide-Arc Ephemera 06-10-2009 10:14 AM

Although this is basic, I actually liked this tutorial. It had some good reminders.
+Rep

Captain Griffen 07-14-2009 12:51 PM

As much as I'd like this to be a world where our schools teach maths, and hence that this is totally useless, I can't, because it isn't such a world. Hence useful and approved.

Pyrogasm 07-24-2009 04:20 AM

You used a couple commas where there should be periods (7,5 instead of 7.5), and I would suggest fixing them for the sake of standards.

Alevice 07-25-2009 05:06 PM

He's probably europeans. Damn those europeans.

Pyrogasm 07-25-2009 08:35 PM

Bollocks to them.

TotallyAwesome 08-07-2009 02:19 PM

I am European and I use points. However, as much as this is obvious, it's also useful to people who fail at math.

FlowerofSpeech 08-23-2009 09:11 PM

A good guide, however, I don't agree with your assessment about Evasion.

Yes, toward 90-100% evasion, it gives more than 90-100% health, but it's very difficult to try and put a constant to the value given by evasion. It's dependent on the mechanics of your map.

If you give a unit 10% evasion, over a short period of time, I would say, it's worth 10% extra health, just like 2 armor (at non-melee 5% reduction per armor) gives 10% more health.

But we're working with percentages, averages, and rounding here. In the case of armor, the game rounds when you take damage. Sometimes you won't absorb an extra point of damage, and sometimes you will, depending on the damage a target takes and what it's being divided by.

If a footman attacks a grunt who has 1 armor with 20 damage, at 5% reduction, he'll take 19 damage. If that attack were 21 damage, he'd still take 1 damage less, instead of 1.05 the 0.05 is discarded, if my understanding of the game is correct (if it's not please correct me). In this case, armor only gives some vague, average, amount of bonus health to the target unit. Armor also has no bearing on spells and a unit that has low damage but high attack speed (as armor won't mitigate below 0 w/o hardened skin), which further complicates its worth.

Knowing this, you can apply the same idea to evasion, except, evasion is further difficult to balance because it IGNORES damage. A unit with 1 hp and 50% evasion will not get 50% more health, and it won't get 10% more health if it has 10% evasion ESPECIALLY if the unit attacking it has 1000000 damage. With evasion, a unit can have 1000000 times more health than it usually has.

Your chart is useful if we're working under normal melee circumstances, the DH probably has 43% more health with level 3 evasion, but if we're working under different circumstances (like DOTA or any map where hero stats or unit damage/attack speed can get very high) we should expect the DH to have any greater amount of health than 1.43 times.

People in this thread say it's a "lol duh" thing but balance is important in map making and shouldn't be taken lightly. All your hard work can be ruined if you don't realize how you've unbalanced your units/heroes.

JonNny 08-24-2009 10:47 AM

Quote:

Originally Posted by FlowerofSpeech
A good guide, however, I don't agree with your assessment about Evasion.

Yes, toward 90-100% evasion, it gives more than 90-100% health, but it's very difficult to try and put a constant to the value given by evasion. It's dependent on the mechanics of your map.

If you give a unit 10% evasion, over a short period of time, I would say, it's worth 10% extra health, just like 2 armor (at non-melee 5% reduction per armor) gives 10% more health.

But we're working with percentages, averages, and rounding here. In the case of armor, the game rounds when you take damage. Sometimes you won't absorb an extra point of damage, and sometimes you will, depending on the damage a target takes and what it's being divided by.

If a footman attacks a grunt who has 1 armor with 20 damage, at 5% reduction, he'll take 19 damage. If that attack were 21 damage, he'd still take 1 damage less, instead of 1.05 – the 0.05 is discarded, if my understanding of the game is correct (if it's not please correct me). In this case, armor only gives some vague, average, amount of bonus health to the target unit. Armor also has no bearing on spells and a unit that has low damage but high attack speed (as armor won't mitigate below 0 w/o hardened skin), which further complicates its worth.

Knowing this, you can apply the same idea to evasion, except, evasion is further difficult to balance because it IGNORES damage. A unit with 1 hp and 50% evasion will not get 50% more health, and it won't get 10% more health if it has 10% evasion – ESPECIALLY if the unit attacking it has 1000000 damage. With evasion, a unit can have 1000000 times more health than it usually has.

Your chart is useful if we're working under normal melee circumstances, the DH probably has 43% more health with level 3 evasion, but if we're working under different circumstances (like DOTA or any map where hero stats or unit damage/attack speed can get very high) we should expect the DH to have any greater amount of health than 1.43 times.

People in this thread say it's a "lol duh" thing but balance is important in map making and shouldn't be taken lightly. All your hard work can be ruined if you don't realize how you've unbalanced your units/heroes.


Your comparisons are really strange

imo 10% evasion != 2 Armor != 10% more health
Armor kinda works in another way due its bonus damage reduction use is not proportional to the armor value. just take a look at cohadars calculator or whatever.
Example

Zoom (requires log in)



sure theres alsways variance ingame that evasion can proc multiple times in a row or seemingly never
but in a normal game (and i would include most DotA games there) it is a good value to take a look at.

in my opinion a game where its important if a unit with 1 hp and 50% evasion can live long or not is not a well made game.
and btw , a higher attackspeed (with lower damage in comparision) does lead into a more average outcome due there are more attacks. (reverse case mentioned above)

And yes you are wrong. Ingame the units live is shown as an integer , you may see it looses "1" health, but may it even was 1.4 health or 0.5 or whatever
the unit does not have the exact value of life which is displayed under your units portait - just think about a small life regeneration or something, how could that ever work if everything would ba rounded ? x/


All times are GMT. The time now is 01:56 PM.

Powered by vBulletin (Copyright ©2000 - 2020, Jelsoft Enterprises Ltd).
Hosted by www.OICcam.com
IT Support and Services provided by Executive IT Services