Physical Power and Physical Save

All new ideas for the upcoming releases of ToME 4.x.x should be discussed here

Moderator: Moderator

Message
Author
donkatsu
Uruivellas
Posts: 819
Joined: Mon Dec 12, 2011 4:33 pm

Re: Physical Power and Physical Save

#16 Post by donkatsu »

HousePet wrote:Current formula for attack versus defense is 50 + 2.5 * (atk - def). This doesn't seem too bad. Though it does mean your def needs to be more than 20 less than their accuracy to have an effect.
And the site is offline, so I can't do a quick check of late game stats to compare. It could be that there is a disparity between achievable defense and accuracy.
In practice, it is pretty bad. Yes, there is disparity between achievable defense and accuracy due to what Edge pointed out in the OP, but formulas should hold up even in the presence of disparity. You're never going to be able to ensure that npc acc/def is within +/-10 of player acc/def, and further than that the formula starts to fall apart because of increasing returns to whoever's ahead in the race. That's why resistance is capped at 70%, and resistance penetration interacts with it multiplicatively instead of additively.

HousePet
Perspiring Physicist
Posts: 6215
Joined: Sun Sep 09, 2012 7:43 am

Re: Physical Power and Physical Save

#17 Post by HousePet »

It does however get require a lot more point to be 20 above the player, due to the diminishing returns.
I can think of much worse formula, but this one could be better.

But anyway, we should really start by listing all sources of power/accuracy and all sources of saves/defence.
These need to be compared to see where the balance is going wrong.
Once the numbers balance, then it is a good time to examine the formula.
Changing the formula before correcting the balances, will make things worse in the long run.
My feedback meter decays into coding. Give me feedback and I make mods.

notacorporal
Cornac
Posts: 38
Joined: Wed Mar 26, 2014 11:48 pm

Re: Physical Power and Physical Save

#18 Post by notacorporal »

The old formula combines two different functions, one narrowly focussed on the +/-20 difference, the other using the approach I mentioned above. It looks as though the current formula is designed to match the first function only. Here is a comparison..

Code: Select all

 Attack |  Old     |
   -    | function | Current
Defence |   One    | Formula
  -20       5.4%     05%
  -16       9.2%     10%
  -12      15.3%     20%
  - 8      24.2%     30%
  - 4      36.1%     40%
    0      50.0%     50%
    4      63.9%     60%
    8      75.8%     70%
   12      84.7%     80%
   16      90.8%     90%
   20      94.6%     95%

Old function: one = 1 / (1 + math.exp(-(atk - def) / 7))
Current formula: toHit = 0.5 + 0.025(atk - def)
The two match up pretty well. It seems reasonable to try patching in the current funtion in place of [local one] in the original function. Or else just try using the original function to see what difference it makes.
edge2054 wrote: Here's the old hit calculation for anyone that's curious. It's still in the code because it's still currently used for stealth and invisibility.

Code: Select all

function _M:checkHitOld(atk, def, min, max, factor)
	if atk < 0 then atk = 0 end
	if def < 0 then def = 0 end
	print("checkHit", atk, def)
	if atk == 0 then atk = 1 end
	local hit = nil
	factor = factor or 5

	local one = 1 / (1 + math.exp(-(atk - def) / 7))
	local two = 0
	if atk + def ~= 0 then two = atk / (atk + def) end
	hit = 50 * (one + two)

	hit = util.bound(hit, min or 5, max or 95)
	print("=> chance to hit", hit)
	return rng.percent(hit), hit
end
HousePet wrote:It does however get require a lot more point to be 20 above the player, due to the diminishing returns.
I can think of much worse formula, but this one could be better.

But anyway, we should really start by listing all sources of power/accuracy and all sources of saves/defence.
These need to be compared to see where the balance is going wrong.
Once the numbers balance, then it is a good time to examine the formula.
Changing the formula before correcting the balances, will make things worse in the long run.
Given how sensitive the current function is, and how broad the range of values are, I don't think it will be possible to correct any balances. The main complaint isn't that defence is underpowered, it is that it completely irrelevant in most cases. This is not really about balance, and if there is a revert that can address this, it sounds like it's worth trying.

HousePet
Perspiring Physicist
Posts: 6215
Joined: Sun Sep 09, 2012 7:43 am

Re: Physical Power and Physical Save

#19 Post by HousePet »

If you can't get defence to a similar value to accuracy, any revised formula are going to be weird to compensate for that.
My feedback meter decays into coding. Give me feedback and I make mods.

donkatsu
Uruivellas
Posts: 819
Joined: Mon Dec 12, 2011 4:33 pm

Re: Physical Power and Physical Save

#20 Post by donkatsu »

HousePet wrote:If you can't get defence to a similar value to accuracy, any revised formula are going to be weird to compensate for that.
There have been two revised formulas listed in this very thread, neither of which are weird, both of which work with defence values that don't need to be similar to accuracy.

HousePet
Perspiring Physicist
Posts: 6215
Joined: Sun Sep 09, 2012 7:43 am

Re: Physical Power and Physical Save

#21 Post by HousePet »

Actually, both formulas have the mid point of 50% hit chance, at equal accuracy and defense.
They have not been designed to account for any imbalance in availability.
My feedback meter decays into coding. Give me feedback and I make mods.

donkatsu
Uruivellas
Posts: 819
Joined: Mon Dec 12, 2011 4:33 pm

Re: Physical Power and Physical Save

#22 Post by donkatsu »

donkatsu wrote:What if defense/accuracy followed the resist/resist penetration model? 50 defense means you avoid 50% of attacks. 50 accuracy means your target's defense is cut by 50%, so instead they avoid only 25% of attacks.
notacorporal wrote:If you were going to change the opposed roll mechanics I favour:

Code: Select all

                     Attack  
  p[Hit] =     -------------------
                 Attack + Defence 
Where Attack and Defence are some function of the relevant stats. This is guaranteed to give a smooth curve. With a little algebra, it can be made to produce any kind of behaviour you want.
Maths.

Doctornull
Sher'Tul Godslayer
Posts: 2402
Joined: Tue Jun 18, 2013 10:46 pm
Location: Ambush!

Re: Physical Power and Physical Save

#23 Post by Doctornull »

Hmm. What about moving crit reduction over to Defense?

Then Dex -> Defense, and Defense -> Crit Reduction, but other things factor into Defense as well.
Check out my addons: Nullpack (classes), Null Tweaks (items & talents), and New Gems fork.

Nori
Thalore
Posts: 124
Joined: Thu May 26, 2011 6:55 pm

Re: Physical Power and Physical Save

#24 Post by Nori »

Maybe defense shouldn't be a all or nothing.
What if defense could have you dodge, but could also just cause you to take a "glancing" blow?
That way even lower defense values could still be of use without overpowering higher values.

Coming from my perspective as a player defense is pretty frustrating. As has been said in this thread it is a all or nothing sort of thing.
I think it is a important stat (not a good one though) and would hate to see it go away. Replacing it with damage reduction would be boring and reduce strategic options (though defense as a option isn't too stellar right now).

grayswandir
Uruivellas
Posts: 708
Joined: Wed Apr 30, 2008 5:55 pm

Re: Physical Power and Physical Save

#25 Post by grayswandir »

notacorporal wrote:

Code: Select all

                     Attack  
  p[Hit] =     -------------------
                 Attack + Defence 
This looks really neat. If we changed Attack/Defense to be 4^(power/20), we'd get a nice curve:
10 Higher: 67%
20 Higher: 80%
30 Higher: 90%
40 Higher: 94%

Nori wrote:Maybe defense shouldn't be a all or nothing.
What if defense could have you dodge, but could also just cause you to take a "glancing" blow?
That way even lower defense values could still be of use without overpowering higher values.
I was considering something like this. Maybe if they wouldn't have hit you if your defense was 20 higher, you only take 1/2 damage, or something?
Addons: Arcane Blade Tweaks, Fallen Race, Monk Class, Weapons Pack
Currently working on Elementals. It's a big project, so any help would be appreciated. :)

donkatsu
Uruivellas
Posts: 819
Joined: Mon Dec 12, 2011 4:33 pm

Re: Physical Power and Physical Save

#26 Post by donkatsu »

Extending the effective range from 20 to 40 mitigates the problem somewhat, but it's still there. Defensive stats just shouldn't be doing nothing, no matter how high the enemy's stats are. Enemies with 100 scaled accuracy, not uncommon on Insane, would still negate the first 120 points of raw defense you get (as opposed to negating the first 200 points of raw defense like it does now). To put this into perspective, Dual Weapons Defense, the best flat defense bonus I can think of, is 52 defense at 100 Dexterity and effective TL 6.5.

Even if these 100 accuracy enemies lost, say, 50 raw accuracy from Combat Accuracy being nerfed, they'd still have an effective 90 accuracy, negating the first 160 points of raw defense. But then from there, all it takes is an additional 90 points of raw defense to go from getting hit all the time to dodging half the time. A mere 56% increase in a defensive stat makes it jump from worthless to amazing? This is why trying to fix the current system by fiddling with accuracy and defense values is a waste of time.

grayswandir
Uruivellas
Posts: 708
Joined: Wed Apr 30, 2008 5:55 pm

Re: Physical Power and Physical Save

#27 Post by grayswandir »

notacorporal wrote:

Code: Select all

                     Attack  
  p[Hit] =     -------------------
                 Attack + Defence 
Hm, what if we use this formula directly to scale damage by? So at equal points, attacks would deal half damage. An attack of 80 vs. a defense of 20 would deal 80% damage, and an attack of 80 vs. a defense of 40 would deal 67% damage.
Or instead of damage, crit rate or something.
Last edited by grayswandir on Fri Jun 20, 2014 9:30 pm, edited 1 time in total.
Addons: Arcane Blade Tweaks, Fallen Race, Monk Class, Weapons Pack
Currently working on Elementals. It's a big project, so any help would be appreciated. :)

Salo
Higher
Posts: 52
Joined: Sun Dec 09, 2012 9:54 am

Re: Physical Power and Physical Save

#28 Post by Salo »

Uhm, do you guys realize that any changes to physical power, physical save, defense and/or accuracy would have a huge influence on balancing? Some suggestions here would make playing melee classes yourself extremely annoying/stupid while making classes that don't need to bump attack too strong.

edge2054
Retired Ninja
Posts: 3756
Joined: Fri May 28, 2010 4:38 pm

Re: Physical Power and Physical Save

#29 Post by edge2054 »

Salo wrote:Uhm, do you guys realize that any changes to physical power, physical save, defense and/or accuracy would have a huge influence on balancing? Some suggestions here would make playing melee classes yourself extremely annoying/stupid while making classes that don't need to bump attack too strong.
These changes would affect melee monsters too. Making melee range a less dangerous place to be.

Suslik
Spiderkin
Posts: 481
Joined: Wed Aug 22, 2012 4:41 pm

Re: Physical Power and Physical Save

#30 Post by Suslik »

Whoa I'm not that proficient in melee mechanics calculation, I just want to add one thing that has always bothered me. Since there are both physical and magical threats, defense/armor/hardiness/whatever is protecting you ONLY against physical ones, but physical threats are just one type of damage spikes that can kill you. So why bother protecting against only one type when there are mechanics that protect you against multiple/every? And defense is hands down terrible for PC to protect reliably even against melee spike damage.

What if armor worked the same way it does in most other games? Give you % damage reduction with deminishing returns? Like 10 armor will give you 10% resist all, 20 armor give you 18%, 30 armor give you 25%, etc?

Defense may indeed grant evasion for every kind of outside damage(not agains poinsons, burning, etc).

I think that's the only direction melee can be properly buffed to be reasonable comparable to other classes. Tweaking numbers back and forth is not going to help here, something deeper in mechanics needs to be changed to make them more interesting.

Post Reply