That's one reason why a hard limit on stack size is appealing.
But before I try to
copy the Disciples system
in an Erfworld setting, I have yet another idea to float. Hear this out.
Units have 4 stats: Hits and Move are just as before in the Erfsims, TBf<> etc. Attack and Defense act as combat skills and provide a bonus to base damage: base damage receives a bonus (A/D). So for example, if an attacker unit has Attack 10 and defender has Defense 5, then the Attacker's base damage is doubled.
(Obviously, defense needs a lower cap of 1.)
Base damage is a result of weapon choice. A unit must choose one and only one weapon to use. Various weapons would have different strengths and weaknesses.
So far, this isn't too different from the old TBf<> rules actually, if you think about it, except the separation between Attack stat and base damage.
Ok, so the formula for the Combat bonus is Attacker's Attack/Defender's Defense. This will always be the case, with one exception. First, the normal cases:
Melee opponents whack each other instantaneously. Bonus is A/D.
Ranged opponents whack each other instantaneously. Bonus is A/D.
Now the exception. Melee units vs. Ranged. At the start of a battle, the Ranged units will fire on the melee units. The bonus to their damage is A/(D+3*M) where M is the move of the melee units (or rather, the move of the slowest unit in the stack).
Next, imagine that there are 10 hexes between the melee units and the ranged ones. The melee units need to cross these 10 hexes to get to the ranged units, and they do so with a speed of (M - Mr/2) where Mr/2 is the move of the slowest ranged unit. When the melee units close in on the ranged units, the battle becomes a regular melee: the stacks damage each other all at once, the bonus is A/D. But, the ranged units fight as if their attack was one half of what it was previously. Example: if an Archer has Attack 6 while shooting arrows, it will drop to 3 when he fights melee.
An example combat: one Infantry stack with move 5, and an archer stack with move 5; both stacks have Attack 6 and defense 0. Combat would go like this: first, Archers fire on the infantry with a bonus of 6/(15). Next, infantry moves 3 hexes (5 - 0.5*5); they are now 7 hexes away from the archers. The Archers fire again, the Infantry moves again, and is 4 hexes away now. Repeat, and the infantry is one hex away. Repeat, and the infantry has reached the archers, and melee ensues until one stack is wiped out.
What can infantry do to be more resilient to Archers? Two things: bump up Move, or bump up Defense. If they bump up defense, they decrease the Archers' damage bonus somewhat If they bump up move, they increase their survivability against ranged because not only do they reduce the damage bonus from the Archers, they also close in faster on them. OTOH, bumping up move will not help those melee units when they fight other melee units.
So at least three unit archetypes naturally emerge: Ranged (High Attack, Fast, Frail), Cavalry (Melee, Fast, Frail), Infantry (Melee, High Defense) with a rock-paper-scissors relationship between them.
Slow Archers are also probably viable against Fast Archers, since in Ranged vs. Ranged, move is irelevant. OTOH slow Archers would have a tough time even against infantry.
Another observation is that as units can spend more and more on Move, Archers don't get much of an advantage. In my example, I had Move 5 Inf against Move 5 Archers. Infantry needed 4 rounds to close in. If I had Move 10 Inf against Move 10 Arch, infantry would have needed 2 rounds to close in. At Move 20 for both Archers and Infantry, the Archers get only one free shot before the Infantry closes in.
This means that, if you have to fight Cavalry (fast Infantry) with Archers, you're better off doing so with units that have a very high Attack, rather than move. Fighting slower infantry though is where Fast Archers would really outshine Slow ones.
The whole point of this is lost if you keep it a secret.