>The model used up until 0.8.10 seemed mostly OK in theory and even in
>MP up until that time, but had several nasty corner cases that were
>only revealed by detailed analysis. The worst problems were excessive
>day-night swings for specific unit pairings. These problems were
>addressed by the RATE damage model introduced in 0.8.10, which Dave
>summarised nicely as "pure multiplicative, but with leadership being
>treated additively with a tod bonus if both are present". (Doesn't seem
>especially complex to me, actually.)
I disagree about that not being complex.
The current damage formula is
damage = (((base_damage || SET) + ADD_1 + ADD_2) * CMUL_1 * CMUL_2 *
(1.0 + ToD + Leadership)) * FMUL_1 * FMUL_2
SET is a special that overrides the base damage of a weapon if it is greater
than it. ADD_X values are added to the base damage. None are used currently.
CMUL_X are close, "multiplicative" multipliers that are applied just
after the
ADD_X modidiers. Examples are charge and backstab.
ToD and Leadership are additive multipliers as you described.
FMUL_X are far, "multiplicative" multipliers that are applied after the
additive
multipliers. Examples are slow and resistance.
The earlier versions of my Damage Computations dialog tried to explain these
subtleties and was not successful. Quoting Asa Swain who posted about it
recently,
> Why are some of the modifiers being listed as +25% and
> others as *0.9? Can't they all be listed as
> percentages? I understand what "times 0.9" means, but
> can't it be listed as -10% and thus keep the
> formatting consistant? The modifiers should all be
> listed in one format so the player can compare various
> modifiers more easily.
He's not the only one who said that. Virtually everyone I've asked their
opinion
about the dialog raised the same objection. Personally, I never
understood how
the damage was computed internally before I read the code. Hence I
suspect that
aside some developers and a few expert users, nobody really understand
what's
going on in these computations.
This is bad for two reasons:
1) This is confusing to the user.
2) Since the formula is complex, it is hard to predict the damage that
will be
done without raising the attack dialog that performs these computations.
Thus, the user may have a hard time determining how much damage will
be done
when his opponent counterattacks. I've been burned more than once
about an
incorrect hasty computation.
With Xan's addition of cumulative and non-cumulative ADD and MUL modifiers,
the computations are even more complex. Therefore I strongly feel that
simplifying the above formula is necessary. The three different types of
multipliers currently involved in the formula seem gratuitously complex.
The formula may produce good results in practice but I don't think it
justifies its complexity. I believe that either multiplicative *or*
additive multipliers should be used and that all multipliers should be
regrouped in one place.
Laurent Birtz
_______________________________________________
Wesnoth-dev mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-dev