A mechanic for abstracting gunfire in a tactical-level game, including concepts like cover, line-of-sight, morale, and armor.

There are many games that include ranged attacks in some flavor or another, including from complex projectile simulations that account for bullet drop, projectile speed, cover thickness, and even the angle of the armor of a target.  On the other hand, there are also methods that just perform a simple line-of-sight (LOS) check to check whether or not to apply a fixed amount of damage.  In this post, you’ll learn about a fairly simple method that might work best for your game.

The gist of this idea is that in some kind of tactical game, each unit provides a certain volume of fire, multiplied by an “effectiveness” coefficient at a certain range.  Snipers can provide highly effective fire in low volumes over a long range.  A machine gun nest (or rapid-fire laser sentry post, as required) can pour out high volumes of relatively low effectiveness over a medium range.  An assault squad armed with grenades and flamethrowers can put out a large volume of highly effective fire, but only over a very short range. 

In order to simply these concepts into a clean abstraction, the volume of fire is simply represented by bullet icons, where 1 bullet icon is perhaps just a few rounds a minute while 3 icons might be hundreds of rounds a minute.  Effectiveness of fire is represented by color of the bullet icons. Well-aimed, high-caliber shots are green; small-caliber or low-quality suppression fire is red; those shots in the middle are yellow.  Finally, the range aspect of a unit’s firepower is captured by a yardstick tool, where the number and color of bullet icons changes at different lengths.

So, going back to three archetypes described earlier, the sniper might provide a single green bullet over his entire yardstick.  Meanwhile, a machine gun has 3 green bullets for its first third of range, 3 yellow bullets for its middle third, and then 3 red bullets for its last third.  That assault squad might have 3 green bullets for its first third, but no bullets for its middle or last third; you just can’t throw grenades that far.

When a unit attacks another unit, the yardstick tool is used to see how many bullets of which color are “delivered” to that defending unit.  This starts to get even more interesting when cover and concealment are introduced.  Cover can be abstracted as simply something that reduces the volume of fire going through it.  For example, a concrete bunker may subtract 3 bullet icons from all attacks, making defenders inside invulnerable.  However, small wood shed may only subtract 1 bullet icon, providing only marginal protection from attacks.

Similarly, concealment such as dense woods or tall grass can be used to reduce the effectiveness of fire.  This could happen in two ways:

  • First, concealment could simply turn green bullets into yellow bullets and so forth.  Thematically, this is the situation where an attacking squad can only see bits and pieces of the enemy through the brush and so the attacks go from being well-aimed to simply potshots taken at possible targets.
  • Second, concealment could only allow certain colors to pass through. For example, a smokescreen may prevent all red and yellow bullets from passing through.  This might not be the most realistic scenario, but it allows for more interesting tactical decision making, and can help make low-volume, high-effectiveness units more useful.

Let’s take a minute to discuss what these colored bullet icons actually mean now. Each bullet delivered equates to a die roll while the color of the bullet icon determines what kind of die is rolled.  A high-quality green bullet could be a d8, or d6 with custom faces that represent a higher average roll.  A low quality red bullet could be a d4, or a different d6 with faces that produce a lower average roll.  The attacker has to weigh sheer numbers of dice against the average roll of those dice when determining his initial unit selection and placement.

“Do I deploy a sniper or a rifle squad?  The rifle squad is more powerful, but the enemy is close to locations that offer lots of concealment, which negates long range attacks from the rifle squad.”

To find out what effect the attack has on the defender then just becomes rolling the requisite number and type of dice, and then comparing the results to the defender’s stats.  Perhaps destroying a heavily armored unit requires that a single 6 must be rolled, while a weaker, but larger unit requires that three 4s must be rolled for destruction, thereby requiring lots of high-volume attacks.  If your game supports it, you could have different states based on the dice results, such as “shaken” if the total dice roll is greater than 4 (the shock and awe of hundreds of rounds impacting your position), or “wounded” if the dice result is half of the amount required for destruction.

A defender’s preparation for an attack could also be easily implemented by following the rules for cover and concealment.  For example, troops that have been ordered to go prone would automatically gain a “no red bullets” benefit.  Also, a defender who has been “shaken” or afflicted with some other morale effect might be penalized by giving the attacker an additional die to roll (the soldiers are too stunned to seek cover when fired upon).