I was thinking about how best to simulate black powder weapons in a RTS. Here I'm thinking Napoleonic era onwards, but hopefully the logic I'm using makes sense.
Firstly, consider small arms and bayonet fighting. Let's say you have a unit (unit X) and it's armed with muskets, and trying to repel an attack by unit Y.
Obviously the ideal would be that the weapons have the range, rate of fire and accuracy of their real counterparts... except that would mean that battles last hours. A single regiment of musketeers firing at 2 rounds per minute could end up firing for half an hour, and I'd rather not have to spend a whole day playing the Battle of Waterloo.
So - how can you change things around?
Well, the number of casualties suffered by a unit as it advances are
Distance (i.e. range) * accuracy of weapons / (running speed * refire time)
(Ignoring long range meaning lower accuracy for now).
So if you double the rate of fire without changing anything, you double the casualties taken by the attackers unless you also double running speed, halve the range or halve the accuracy.
Similarly, there's the problem that an advance takes several minutes to close through the range of the weapons... and the problem that historical accuracy is extremely low.
The way I think it's been done in games like Total War is this:
1) Greatly reduce the refire time.
2) Increase running speed.
3) Dramatically increase accuracy.
4) Increase greatly the number of casualties a unit can soak up before it panics.
This combination works reasonably well in producing fast paced battles which look dramatic - but it also has a flaw. Actually two of them, the way it's implemented.
The first problem is that it makes battles look far, far too bloody for a realistic representation of history. The average regiment charging home against an enemy firing in rank volleys is going to be fired at by about two bullets from everyone in the enemy line, in the space of about fifteen seconds, and it's going to end up losing half or more its total strength!
Which leads into the second problem. When a 600 man regiment makes a charge which it may or may not have succeeded at OTL, it would OTL take a few dozen casualties (and likely as not fall back). Here it would take over three hundred, and still has a chance to reach the enemy line with bayonets! That's bloodier than the Somme, and these infantry just kept on charging!
It's dramatic, and looks good, but it's nothing like reality.
So what would be better - how can we reduce the time taken for historical battles without them looking like everything happens in two spectacularly bloody minutes?
Well, I think one useful change would be to try and make sure that a unit which takes a few % casualties IS shaken, possibly slowed and may break - or, at least, make if they do heavily dependent on morale and experience. And that accuracy trends up dramatically as an enemy gets closer...
I think a faster unit speed and a faster firing rate are acceptable tradeoffs - double both and it's not too different from OTL. That would double the speed of an assault without otherwise changing things much.
Or maybe we just need a controllable fast-forward button on the interface.
Much the same logic applies to cannon - with an additional problem. If you've got a regiment of 120 in three-deep lines and it's 5% of your army, taking six casualties due to a single cannonball loses you 6/2400 of your force - or 1/400.
If you have the actual army of Wellington at Waterloo, a single cannonball causing six casualties loses you 1/12,000 or so of your army. So each cannonball represents 30 times the destructive capability of OTL.
This means that Napoleon's grand battery has to be represented by... four guns. Not very impressive!
The alternatives are?
I don't know - any ideas?