Math in this game really needs to be retuned

Some of the calculations done in this game are just ridiculous…

For example Delhi ever since launch has been littered with incorrect tooltips/wrong math?? The Tower of Victory to this day, despite their several attempts to correct it STILL DOES NOT give 20% attack speed to some infantry units.

The archer standard attack speed DISPLAYED is 1.62s (which maybe different than actual attack speed). If you speed up that attack speed by 20% you get [1.2 x (1/1.62s) ]^(-1) = 1.35s??! So why does it Display 1.37s on archers with TOV buff?? EVEN IF YOU assume the actual base attack speed is 1.62999999…; 20% faster than that is 1.35833333s ? Nothing about this alleged 20% faster is legit 20% and I can’t understand why NOT??

It appears the attack buff is 18-19% something?


maybe they corrected it at the new update

Apparently a number of errors like this, as you mentioned. Scholars aren’t accurate either? On top of that when something gives a percentage attack boost it should be affecting bonus damage as well. Trebs gain almost nothing from geometry for example.

it STILL DOES NOT give 20% attack speed

That’s because ‘Attack Speed’ is a made-up fake stat that’s not actually used by the game engine anywhere.

It is instead a calculated stat derived from actual in-game values and displayed to the player purely for convenience.

Since you mentioned Archers, for example, it’s actual attack speed related stats are as follows :

  • Aim Time : 0.25 seconds
  • Weapon Wind Down : 0.5 seconds
  • Reload Time : 0.75 seconds

0.25 + 0.5 + 0.75 = 1.50 seconds + 0.125 seconds(this is now added by the in-game UI since Season 2’s attack speed rework) = 1.625 seconds → Rounded down = 1.62 seconds is displayed.

When a unit is said to “attack [x]% faster”, it’s actually supposed to be calculated as follows : [The time it takes for a unit to attack] / (1 + 0.)

So, if “Attack Speed” was a real stat, the buffed Attack Speed should be 1.50 seconds / 1.20 = 1.25 seconds, but the displayed value doesn’t match that.

Please also understand that “Unit attacks [x]% faster” DOES NOT MEAN the same thing as “Unit’s attack cooldown/reload time decreased by [x]%”. The second sentence should be calculated as : [The time it takes for a unit to attack] * (1 - 0.), which for the Archer’s case, should be 1.50 seconds * 0.80 = 1.20 seconds.

Now, the reason the buffed Archer’s attack speed is displayed as 1.37 seconds is very simple. The attack speed ‘buff’ is actually only applied to the wind_down and reload time. So the actual in-game calculation is as follows : 0.25 + 0.8(0.5 + 0.75) → 1.25(ACTUAL buffed Archer’s delay between attacks) + 0.125(added by UI) = 1.375 seconds → Rounded down = 1.37 seconds(the displayed “attack speed” in the game’s UI)

This is also why “attack speed” buff never applied properly to the Man-at-Arms unit for both England’s Network of Castle effect and Delhi’s Tower of Victory effect. The Man-at-Arms unit’s weapon DOES NOT have a ‘Cooldown’ time nor ‘Reload’ time, it instead only has ‘Wind Up’ and ‘Wind Down’ time, so the devs had to specify that ‘attack speed buff’ for MAAs should be applied as “[wind_down time] * [attack speed multiplier]”. That one specific unit required an entirely different specific modifier for it to actually attack faster.

Wind_up(the time it takes since the attack animation is played) and fire_aim time(the time it takes for a ranged unit to AIM before they begin attack animation) should not be changed currently due to the way units attack in this game engine as both are tied to the unit model’s attack animation. “Attack speed” modifiers currently usually only applies to wind_down(the time it takes since the attack damage is applied before ‘cooldown’ or ‘reload’ takes place), cooldown(the time it takes for a weapon to re-start its attack animation, usually only used by melee units in this game), and reload_time(only used by some ranged and siege weapons).

I hope this helps you understand how this game works better, I had to actually use the Essense Editor/Content Creator to take a look at weapon stats to understand why and how the game displays its ‘attack speed’ values.

1 Like

Reading this , i hallucinated austin powers saying nerd alerrrt lol

If thru either parsing or game editor you’ve gain access to the underlying equations, that’s OP! However… the tooltip for the TOV does NOT state the buff is a 20% reduction but rather a “…permanently gained +20% Attack Speed”; You claim from your findings that Attack Speed is contrived and NOT directly used in the game formula; regardless the tooltips should be phrase in such a way that they make room for these approximations; simply saying "about… % " fixes every single inaccurate surface level calculations and we wouldn’t be having these threads to begin with.

But if you tell me I should get 20%?? I want to see 20%? If you say 12.5% I expect that with small margin of error? But when 20% looks more like 18? and 12.5 over 12+ scholars looks like 11.8% per … how do I have confidence in anything the tooltip tells me???

My knowledge of how this game engine works largely comes from having worked on various mods for Company of Heroes 1 and 2, both of which use the same previous iteration of the Essence Engine developed by Relic Entertainment. If you try out the Content Editor for AoE4, you can see that the engine still contains tons of values and parts that belonged to Company of Heroes 2(stuff like ‘suppression’, modifiers for distance based scattering, units having ‘magazine’ before having to reload, etc. etc.)

Relic actually explains how these values work as demonstrated here :

You’re correct that the in-game tooltips should tell you accurate and correct explanations of what does what, but sadly this game doesn’t do that well. UI text is largely manually put in by a separate person using locale files and UI text formatters; they do not use in-game values or derive information out of them other than the Attack Speed value. If I can play the devil’s advocate for a bit here, this is still a HUGE improvement over Company of Heroes 1/2 where neither games showed you any in-game unit stats whatsoever let alone any kind of precise values for which upgrade/skill does what.

As for why the in-game UI adds 0.125 seconds to the ‘real’ attack speed value and rounds it down, that’s just due to how the text is formatted, and the fact that this game operates on 8hz tick rate(every in-game logic is calculated by an eighth of a second).

And for Delhi scholars and the research system, I’ve yet to find out what the actual precise formula they use for the reduction in research time. I cannot actually look at how it works unless we gain access to ‘state tree’ tools Relic uses in-house.

Currently the Delhi scholar DOES NOT work as follows :

  1. Total Research Time = Base Research Time / (1 + (0.125 * [Number of Scholars Garrisoned]))
  2. Total Research Time = Base Research Time / (1 - 0.125) ^ [Number of Scholars Garrisoned]

Actual in-game values DO NOT match either of these formulae so I have no idea how they calculate this stuff yet.

1 Like