>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

Reply via email to