The numerical rounding in AoE4 needs to be more clear and consistent…Sometimes we round up, other times we round…sometimes we don’t round at all and just go to the lowest number, regardless of how high the decimal is…or go to the new highest number, regardless of how high the decimal is.
Lets look at an example. Something simple, like Health, so we don’t have to deal with all the hidden variables of something like attack speed or training times.
The Chinese have their Ming Dynasty buff that gives +15% Health. They also get access to Biology, which gives an extra 25% Health.
Lancers have a base Health of 230. So, we have the equation: 230*(1+15/100) = 264.5. In game, it shows that the Base Lancer has 264 in Ming Dynasty. Great! That must mean that we round down on Health!
But, hold on there partner, once we add Biology, we get 230*(1+15/100)*(1+25/100) = 330.62. In game, this shows as 331. So, here we see the first crack in the system. It is standard mathematical convention to round up on .5 or higher and down on anything below .5. Here, we’re using unconventional rules on how to handle .5.
Okay. So, they’re rounding down on .5, instead of up. Big deal. Right? Well…Lets take a look at the humble Scout. A Scout has a base Health of 110. With Biology, the equation would be 110*(1+25/100) = 137.5. Okay. So, we just round down for .5, right? That’s what we do with math in AoE4. Nope! In game, this now rounds UP to 138. Remember our Lancer from earlier? 230*(1+25/100) = 287.5. You guessed it, this also rounds UP to 288 in game.
But, it gets even better! Lets now look at the hardy Spearman. A Hardened Spearman has a base health of 90. Elite Army Tactics increase Health by 15%. Here we go: 90*(1+15/100) = 103.5. This is rounded up to 104 in game. Now, lets upgrade our little guy to a Veteran Spearman, with a base Health of 110. 110*(1+15/100) = 126.5. This also gets rounded up, right? Nope! Even when we have the same unit, getting a bonus from the same source, the game changes the rules on how it handles .5. NOW, we’re rounding DOWN to 126 in game! But, don’t worry, as soon as we upgrade him to Elite, we go right back to rounding UP from 149.5 to 150 in game.
Anyway. This may seem like a small, petty thing. But, I have been trying and banging my head against a project that I’ve been working on as a resource for AoE4 and all this crap tier math makes it an absolute nightmare, because there is no consistency. I can’t just plug numbers into an equation or formula and trust that it will work universally to display accurate stats, because there is always this thing of “Oh, this thing works this way when applied to Unit A, but will work a completely different way when applied to Unit B, with no other factoring variables”. It is quite frustrating and I don’t know if I will ever finish this project because of it.
