This is related to many recent threads like The Death squad dilemma but I'm thinking of a different approach.
Currently, attack power of a unit goes up in a linear progression with it's member count. That implies that every member of a unit can simultaneously attack the enemy.
Right now the effective ATTACK of a unit is
Single.Unit.Attack * Member.Count
20 guys with warhammers simultaneously swinging at one goblin. That's... not working. (whether the attack is rolled once or Member.Count times doesn't really matter for that)
They wouldn't all fit close enough to the target. It's silly.
So I suggest that the offensive ability of a unit should be
Single.Unit.Attack * ( SQR( Max.Member.Count ) +1 ) [rounded up, obviously capped at Current.Member.Count]
The unit size would no longer be a linear modifier for offense but rather 1->1, 4->3, 8->4, 20->6.
Larger units would still have the benefit of staying power. If 2 of the front rank soldiers fall, those from the back, who could previously not attack, would step up. Even if the unit takes a counterattack, it would still be able to remain fully combat effective until the losses got really high.
Then great military minds invented the Really Long Pointy Stick(tm). (their less sohpisticated infantrymen just called it a pike)
That was pretty cool stuff because now (at least) the 2nd row in a formation could do something beyond waiting their turn.
I suggest that weapons should have a range, which at unit design time is saved with the unit as something like Weapon.Range.
This would be 1 for swords/clubs, 2 for pikes.
This is related to many recent threads like The Death squad dilemma but I'm thinking of a different approach.
Currently, attack power of a unit goes up in a linear progression with it's member count. That implies that every member of a unit can simultaneously attack the enemy.
Right now, the effective ATTACK of a unit is
Single.Unit.Attack * Member.Count
20 guys with warhammers simultaneously swinging at one goblin. That's... not working. Whether the attack is rolled once or Member.Count times doesn't really matter for that.
They wouldn't all fit close enough to the target.
So I suggest that the offensive ability of a unit should be
Single.Unit.Attack * ( SQR( Max.Member.Count ) +1 ) [rounded up, obviously capped at Current.Member.Count]
The unit size would no longer be a linear modifier for offense but rather 1->1, 4->3, 8->4, 20->6.
Larger units would still always have the benefit of staying power. If 2 of the front rank soldiers fall, those from the back, who could previously not attack, would step up. Even if the unit takes a counterattack, it would still be able to remain fully combat effective until the losses got really high.
Then great military minds invented the Really Long Pointy Stick(tm). (their less sohpisticated infantrymen just called it a pike)
That was pretty cool stuff because now (at least) the 2nd row in a formation could do something beyond waiting their turn.
I suggest that weapons should have a range, which at unit design time is saved with the unit as something like Weapon.Range.
This would be 1 for swords/clubs, 2 for pikes.
(maybe 1.5 or so for medium spears and 1.15 for 2H swords but those are details to flesh out at a later time)
To reflect that only a limited number of soldiers can attack, the effective ATTACK of a unit would be
Single.Unit.Attack * ( SQR( Max.Member.Count ) +1 ) * Weapon.Range [rounded up, obviously capped at Current.Member.Count]
So for pikemen, the unit size modifers would be 1->1, 4->4, 8->8, 20->11.
Pikes obviously prevent the use of a shield and should do damage around the 40 % mark between swords and hammers.
This would somewhat even out silly spikes like the "20 warhammer company" because only 6 of them would be attacking. It wouldn't make them harmless, though.
Pikes, while doing less damage than the clumsy hammers, would be far cheaper to produce and use far less metal (it's little more than a long stick, ya know), making them a more economic weapon for larger stacks.
Also, the Weapon.Range would affect who gets to attack first. I'll call this the preemptive strike.
Preemptive.Strike.Chance = ( Defender.Combat.Speed + Def.Weapon.Range * 2 ) / ( Attacker.Combat.Speed + At.Weapon.Range * 2 ) / 3 - 0,1
So for speed 2 hammerers attacking speed 2 pikemen, the chance is 40 % while for pikemen attacking the hammerers it's 12 % and for longswords on pikemen 28 %.
(It stands to reason to give 2-handed long swords a bit of a range advantage so they might fare better than that. Besides, 2H swords were a classic counter versus pikes... by chopping off the lance points)
When a preemptive strike is rolled, the counterattack is computed first. There is a serious advantage in range... but that also goes for very speedy flankers who can - in an abstract way - outmaneuver the attackers.
That's a very simplistic implementation of initiative and helps to counter the "glass cannon" issue a bit.