Background:
Each battle phase has its own formula and they need to be revisited, as similar to The Morale Formula, they aren’t well documented and their intended design isn’t clear.
Starting with Air v Air attacker’s losses. There’s other stuff going on, but the meat of it is this:
Attacker’s losses:
DEF_FIG_QTY = number of defending figs
DEF_BONUS = bonus percentage; military science + no fear + fleet admiral (race doesn’t affect def)
DEF_PWR = 10 * (1 + DEF_BONUS / 100)
ATK_FIG_QTY = number of attacking figs
ATK_BONUS = bonus percentage; military science + no fear + fleet admiral + race bonus
ATK_PWR = 10 * (1 + ATK_BONUS / 100)
VAR_A = 4 (unsure of purpose)
VAR_B = 2 (unsure of purpose)
VAR_X = ( (FIG_DEF_PWR * DEF_FIG_QTY) / ( FIG_ATK_PWR * ATK_FIG_QTY ) / VAR_A)
ATK_LOSSES = min( ( ATK_FIG_QTY * VAR_X), ATK_FIG_QTY) / VAR_B
Example + explanation:
Attacker Pax with 1,500
vs
Defender Ward with 1,000 + no fear, 45% military, fleet admiral (60% total def bonus)
- VAR_X = ( (16 * 1,000) / ( 10 * 1,500 ) / 4)
- = 16,000 / 15,000 / 4
- = 0.26666666666667
- ATK_LOSSES = min( ( 1,500 * 0.26666666666667 ), 1,500) / 2
- = 400 / 2
- = 200
The “min” function above chooses the lesser of 2 values. Strangely, this part of the formula seems to be kind of useless. Compare to sending 100,000 figs into the same battle:
- VAR_X = ( (16 * 1,000) / ( 10 * 100,000 ) / 4)
- = 16,000 / 1,000,000 / 4
- = 0.004
- ATK_LOSSES = min( ( 100,000 * 0.004 ), 100,000) / 2
- = 400 / 2
- = 200
We seem to be suffering again from arbitrary, or at least undocumented, formula design. I can’t begin to understand if the above is working correctly because I don’t know what it’s supposed to be doing.
As a fun side note, there’s a separate part of the formula not shown here that changes your fighters’ performance depending on the presence of other air units, which makes no sense to me. Having more transports for example, will shift this formula slightly independent of the actual transport loss formula.
Anyway, thoughts/insights are welcome, but atm I’m guessing we’re going to need to redesign this formula as well.