Battle simulator
Put two armies on the field and let them fight on the game's real numbers — hit points, armour classes, bonus damage, attack speed, range and the cavalry charge. It runs in the AoE4 Analyzer app for iOS and Android.
Real stats, not a counter table
Damage goes through the same combat model as the unit duel: weapon damage, armour, armour classes and bonus damage, at the age and with the upgrades you picked. Nothing comes from a hand-written list of what counters what.
Armies, not duels
Stack as many units of as many types as you like on both sides. Every group picks its own targets, so a mixed composition behaves like a composition instead of a pile of one-on-one fights.
200 battles, not one
Target choice is weighted rather than perfect, so the fight is replayed hundreds of times. You get a win rate and a spread instead of one lucky outcome.
What the fight costs
The result reports the resources each side lost, who was left standing, and how many more units it would have taken to turn it around — the number that says whether the trade was worth making.
What a battle simulator answers
Most Age of Empires IV arguments come down to one question: if these two armies meet right now, who wins and what is left standing? A counter chart answers it in the abstract — spearmen beat knights — but it says nothing about twelve spearmen against eight knights with second-age upgrades and a line of archers behind them. The simulator answers the version of the question you actually have: this army, that army, this age.
How the simulation works
Every unit fires on its own attack-speed clock. The simulation jumps to the next moment somebody shoots, resolves everyone firing at that instant together, and applies the damage. Shots already committed still land even if the shooter dies in the same volley — without that rule two identical armies would finish a couple of units apart purely because of the order the loop happened to run in. Each attacker aims at the enemy group where its shot destroys the most resource value, so bonus damage and armour classes decide targeting on their own, with no counter table involved.
Starting distance and kiting
Fights do not start at contact. Both armies begin at a set distance, so ranged units get their free shots while the melee closes; shorten the distance and a knight charge lands before the bows matter. Kiting can be switched on or off, and the cavalry charge is modelled as its own weapon, because that is how the game itself stores it.
Reading the result
You get a win rate across the whole run, how long the fight lasted, which units survived on each side, and the resource swing — what each army spent against what it destroyed. That last number is usually the decisive one: an army that wins while losing more resources than it kills has won the battle and lost the game.
