I need an abstract way to resolve this in a quick and satisfying manner. I went with a hack of the Savage Worlds + Legend of the 5 Rings mass combat systems. Here's how it works:
1. Assign Tokens
The stronger force gets 10 tokens and the opposition a number of tokens based on their comparative strength.
[Barbarian tribe has 50 warriors and 10 veterans (each worth 2 men) = 70 men strong verse Lonely Wood's 20 warriors, 40 militia (.5 men) and 5 veterans = 50 strength. Barbarians start with 10 tokens to Lonely Woods 7].
2. Work out adjustments
+1 for each token you have greater than your opponent
-1 if your attacking a defended obstacle
+2 if you have serious magic support
+x for great plans/actions (this bonus should cap at +2)
[Barbarians get +3 for more tokens but -1 for attacking a defended point, Lonely Wood get +2 but only for the first battle round as after that their mage runs out of good spells.]
3. PC and NPC Hero's or serious monsters pick level of engagement
- Reserves: -5 on their attack roll but take -2d6 less damage. Cannot duel or be involved in a duel.
- Engaged: normal attack, normal damage from battle. 2 in 6 chance of duel.
- Thick of things: +5 on attack roll, +1d6 damage. 4 in 6 chance of duel.
Each hero rolls a standard attack (Base Attack Bonus, Strength, magic weapons etc) to represent their fighting skill/luck over the course of 1/2 an hour to an hour. Add in any bonus or penalty from their level of engagement.
- <11: overwhelming numbers and bad fortune - take 3d6 damage
- 11 - 15: +1 to your sides battle roll - take 2d6 damage in the process
- 16 - 20: +2 to your sides battle roll - take 1d6 damage
- >20: +2 to your sides battle roll - take no damage
If you want to make the +1's and +2's more interesting you can add the following flavour.
+1 Events: Grab the banner, Attack the supporting troops, Save a wounded comrade, Save a wounded enemy, Get round the flank, Hold the line.
+2 Events: Take enemy banner, Prepare to dig 2 graves (automatic vengeance inspired duel if you want), Hold strong point (notable building), Get clear shot at general, Charge! and make a stand when cut-off.
[In my test battle the barbarians earned +6 from heroic deeds with the PC's earnings +5, Lonely Wood's priest got a 'shot at the general' but missed.]
5. Resolve any Duels
This option is generally only for PC's. Depending on their level of engagement they could have the chance to initiate a duel against a random NPC hero. They could spot their rival, assess the threat to themselves and decide against calling on a duel and there is no harm. If they challenge and their foe declines then things end there but the cowards side takes a -1 to their morale for the rest of the battle. If the duel is accepted fight it out as a normal combat in which no one else interferes.
[In the test battle Jon the PC mariner hacked down a full helmed female combatant and Leif had the opportunity to duel a bear but declined].
6. Calm before the storm
Hero's can receive a single heal spell from friendly clerics or swig a potion if available before things heat up again.
7. Inflict casualties and remove tokens
Each side will have nominated a general who is allowed to fight just like any other hero. Each side rolls a d10 and adds 1/2 the generals fighter levels. Also add or subtract the generals intelligence and wisdom modifier. Finally add any bonuses earned to the battle roll by hero's as well as the starting adjustment.
- <6 your side inflicts no lost tokens
- 6 - 10 foe loses 1 token
- 11 - 15 foe loses 2 tokens (foe loses an extra token for each increase of 5).
[Tormund giant bane, barbarian general rolls 8 adding +2 for 1/2 his fighter level, +6 from his hero's actions and a further +2 for more tokens and attacking a defended point. A total of 18 means the Barbarians remove 3 of Lonely Woods 7 tokens. Leif the PC halfling has been voted general and rolls 4 adding +2 for 1/2 his fighter level, +5 from heroic actions and +2 for magic support. A total of 13 means the defenders of Lonely Wood remove 2 barbarian tokens.]
8. Morale check
The side that lost the most tokens checks morale (standard 2d6 roll under). If both sides lost the same number of tokens both make a morale check. There is a penalty to the morale check of 1 for each token lost. A general's charisma bonus improves their sides morale as can other factors. If a side fails it's morale check by more than 4 then the side routs ending combat. If they fail their morale check then they withdraw and a second battle phase occurs before the battle is completely resolved. If they pass the morale check combat grinds on. Start from the top.
[The tide of battle appears to be with the Barbarians as they inflicted more tokens worth of casualties. The defenders of Lonely Wood make a morale check. Morale for a man is 7 circumstances add +2 for defending an obstacle, +2 for defending their homes and families and -3 for losing 3 tokens. Leif the general needs to roll 8 or less. He rolls a 9 and the defenders of Lonely Wood are pushed out of the town and must commit to another round of combat as they retreat into the woods.]
9. Casualties and recovering tokens once the combat is completely over
Roll a d6 for each token. Winners recover a token on a 4+, Losers on a 5+ and routed troops on a 6. The ratio of tokens lost to starting tokens is the % of troops lost.
[The forces of Lonely Wood were smashed as they fell back. Without the protection of the palisades and Kiernan the wizard having exhausted his spells all their tokens were lost in the final round of battle. A die was rolled for each of the 7 tokens removed and 3 tokens were recovered as a result of some good rolling. The town was lost and roughly half of the defenders slain. The survivors fled to Targos where they regrouped].