Note: in my post, I use "attack" as the generic variable which decides damage on the attacker side, and "defense" as the same but for the defender side. Sorry about that.
tiger_eye wrote:Alright, a discussion!
Marcotte wrote:Your last suggestion definitely have a non-intuitive formula.
Some of us don't think so

. Oh, and your formula isn't non-intuitive? (sorry, sorry, but we're allowed to reply to fallacious arguments with other fallacious arguments, aren't we?)
Actually, I find my formula easier to understand (roll a die for the attack, roll one for the defense, damage is the difference, but cannot be lower than 0). Although if you want to see what the average damage is, it will be more complex than yours (there is a discontinuity at attack=defense).
tiger_eye wrote:
And isn't that what we're after? A function that behaves the way we want?
You are right that should be the nearly exclusive concern, with intuitiveness as a minor concern.
Well, going by my three preferences:
1- Doubling attack and defense leads to less than double the damage. Quadrupling attack and double defense leads to quadruple the damage. That means that attack and defense are not on the same scale. This assume that if health increases linearly (as it does in ToME), then attack must also increase linearly (it is more than linear in ToME) and defense must increase as the square root (hard to say in ToME).
2- Zero defense makes sense: damage = attack in that case.
3- It is impossible to reach zero average damage (except for zero attack or infinite defense).
So two out of three, not bad, but can we find better?
tiger_eye wrote:
Marcotte wrote:Second, there is a point (damage = alpha*armor^2) where damage will be stuck to zero.
Not quite. You missed an additive factor of +0.5. Hence, "damage = alpha*armor^2" defines the locus where the final damage dealt is
half the input damage. Which is reasonable behavior. And is also clear from the plots and equation.
My bad here. Now that I check again, you also only reach zero damage only at infinite armor.