SaxxonKnight,

The engine works more like a logic-puzzle, where you have to learn certain rules that govern the movement and targeting of the unit types. In that sense it is a very precise and rigorous logic. Unfortunately, it doesn't behave in a way that we can intuit on the basis of real life.

Basically, you already expressed an understanding in your post of what went wrong and how to fix it. The one glarring incorrect statement was the ATs. Your archers are never in AT range until the very end, so they aren't a problem. The real issue is understanding the movement phases of the attacking and defending archers. If the archers have a target in range, they stop to shoot at it. If they have no target, they make a full movement (500 spaces). Defending archers move first. Since defenders get a boost to range, the situation you have to create as a player is one in which the defending archers have no target, and move 500 spaces. Then the attacking archers also see no target and move 500 spaces. In this way, the archers have actually closed with one another by 1000 range. This should put them in range of each other.