Traditionally, combat rounds were one minute long, and a single attack roll determined the outcome of the entire sequence of feints, parries, dodges, and strikes that occurred durring that time. This is a simple system, and it works well with melee attacks, as they don’t use up any resources. The abstraction breaks down for missile weapons though, which require ammunition. Even if you shorten the round to 10 seconds (B/X) or 6 seconds (Third Edition), that doesn’t really address the problem if you want to keep combat abstract and fast-paced.
I posted a question on Google Plus about this topic, asking people for ideas about how to bridge the abstraction divide between melee and ranged combat. To be honest, tracking ammunition is not really that difficult, so this began more as an intellectual exercise. However, Jeremy M. of Over the Misty Mountains, suggested the following solution, which I quite like:
You could maybe resolve the problem by having several stages of depletion (maybe quiver depletion) and have them roll AFTER each combat. Making it more about how many they recover than how many they have. That keeps the resource management aspect but still skirts counting arrows
Here is a variation on his idea. I also like the option of allowing ranged attackers to spend more ammunition in exchange for a bonus or additional effect. It doesn’t complicate combat much (assuming the potential effects are simple), and gives players with characters wielding missile weapons an interesting choice to make every round.
Collections of ammunition are tracked rather than individual arrows or bullets (quivers, cases, pouches, or whatever makes sense for the weapon in question). Ammunition does not run out durring combat (though see “volley” below). Instead, each weapon has an ammo die which is rolled after combat to determine if there is ammunition remaining. If the ammo check comes up 1, the current quiver is exhausted. The default ammo die is d6, though special weapons may use a different die. Rolling the ammo die also represents collecting any reusable ammunition, and the referee may assign penalties to the ammo check if recovering some ammunition would not be possible situationally (such as if firing across a chasm).
Ammo checks are not used for missile weapons that don’t have aggregate measures of ammunition, such as throwing axes or daggers. Depending on referee ruling, this ammunition rule may be used with bandoliers of throwing knives or shurikens. Referees may also opt to track ammunition more closely for special combats involving attrition, such as if characters are trapped in a foxhole. Special ammunition (where the rarity of an individual missile is important, such as an arrow of slaying) should be handled separately.
During combat, if using a weapon with ammunition, a ranged attacker may choose to expend more ammo in exchange for a bonus to attack or damage. This option requires an immediate ammo check, and if the ammo check fails the quiver is exhausted by the volley. This ammo check is in addition to the check required post-combat.
Because ammunition is still being tracked in aggregate units (quivers, clips, etc), resource management remains. An archer is potentially rewarded for thinking ahead and bringing extra quivers, though that comes at the cost of having less space for treasure or other equipment. Quivers, at least for arrows, are pretty bulky, and it’s hard to imagine carrying more than 2 or 3 and still operating efficiently.
Note that this also abstracts away reloading times. This is probably a good thing, as reload rates have far too large of an effect on combat efficacy. A two shot per round longbow just blows away a one shot every other round heavy crossbow, so consequently nobody ever uses heavy crossbows. Even if a heavy crossbow had significant bonuses against heavy armor (or something), the variance of the d20 means that you are probably better off with multiple shots and relying on lucky high numbers (though the exact probabilities will depend on other specifics).