I am having the most difficult time understanding how to interpret the speed of my troops. I am trying to write a simple program that will allow me to imput begining coordinates and ending corrdinates, what type of troops are sent, what level magical mapping and alloy horseshoes are at, in order to accurately calculate marching times for my troops. With this program, I would be able to coordinate massive multi-player, multi-wave, attacks with precision. Where I have run into problems is figuring out the base marching speed for all of the different types of troops.
Base Speed of Troops
This data can be found on the Troops page, but has been copied here for clarity. When an army of mixed troops is sent out, that army will move at the same speed as the slowest type of troops in the army. (e.g. an army of Cavalry + Archers will move at the speed of the Archers)
Troop | Speed |
---|---|
Supply Troop | 150 |
Militiamen | 200 |
Scout | 3000 |
Pikeman | 300 |
Swordsman | 275 |
Archer | 250 |
Cavalry | 1000 |
Heavy Cavalry | 750 |
Supply Wagon | 150 |
Ballista | 100 |
Battering Ram | 120 |
Catapult | 80 |
Speed Modifiers
- Magical Mapping - Each upgrade increases your infantry troops' marching speed by 10%
- Alloy Horseshoes - Each upgrade increases your horseback and siege weapon troops marching speed by 5%
- Relief Station - Causes troops to move 0.5x speed per level faster when moving between your own and allied Cities.
- Base = Base Movement Speed for Troop Type, from table above
- MM = Level of Magical Mapping Research
- AH = Level of Alloy Horseshoes Research
- RS = Level of Relief Station in sending city
Speed, when Attacking or Scouting an unfriendly tile:
Speed = Base * (1 + MM/10) | , for Militia, Scout, Pikeman, Swordsmen, and Archers | |
Speed = Base * (1 + MM/10) * 1.2 | , for Supply Troops | |
Speed = Base * (1 + MM/10) * (1 + AH/20) | , for Cavalry, Heavy Cavalry, Supply Wagons, Ballista, Battering Rams, and Catapults |
Friendly Speed, when Transporting, Reinforcing, or Reassigning to a friendly tile:
Friendly Speed = Speed * (1 + RS/2) | , where Speed is calculated above for the troop types |
Notes
- Time estimates are calculated wrong for all mounted troops. The game uses 10% per level of Alloy Horseshoes in the estimate, rather than the actual 5%.
- Time estimates are calculated wrong for movements between friendly tiles. The game does not consider the Relief Station speed-up at all.
- The reason for the extra 20% speed-up for Supply Troops is not yet known.
- The text in the two research types suggests that MM should only apply to infantry, and AH should only apply to mounted units. Yet, both MM and AH are observed to apply to mounted units.
Actual Movement Speed
The actual speed that a unit moves across the map grid is more useful than the speed given in the table. The numbers found in the table appear to be in units of (hundredths of a tile per minute). This gives a conversion factor of:
- Grid Speed (tiles/second) = Table Speed (100ths/min) / 6000
The derivation of this constant can be found on the talk page.
The travel time is then easily found by dividing the distance to be traveled in tiles by the speed in tiles/sec.
For example:
- A supply wagon is going to carry supplies to a city 3 tiles west and 4 tiles north of the current city.
- The distance to travel is 5 tiles, because the quadratic rule tells us that sqrt(3*3 +4*4) = 5
- The base speed of a supply wagon is 150.
- The tile speed of that wagon is 150/6000 = 0.025 tiles/sec
- The time to deliver the supplies is: 5 tiles / 0.025 (tiles/sec) = 200 sec = 3m 20s