How To Apply Statistical Result Resolution To Games
Copyright © 1993 by Michael A. Montgomery, Cedar Park, Texas
What is Statistical Result Resolution (SRR)
Statistical Result Resolution uses an estimate of the expected value of a random variable rather than a randomization process to determine the value of the random variable to apply. For example, if an activity has a 25% chance of obtaining +16 and a 75% chance of obtaining -4, the expected value of this activity is (.25 × +16) + (.75 × -4) = +1. Therefore, +1 would be used as the outcome of the activity, rather than actually using a random result.
When can Statistical Result Resolution be used?
Games where specific random events are repeated frequently are the best candidates for SRR. Such games include Axis and Allies, Titan, Star Fleet Battles, Starfire, Ogre, and Risk, to name a few.
This is unsuitable for use in some games due to particular random events being infrequent or individually highly significant. In some games, SRR can be used for some events but not others. For example, SRR can be used for weapon resolution and damage allocation for large volleys in Star Fleet Battles, but it could not replace making a breakdown roll when needed, due to the individual significance of this event.
One pitfall with statistical resolution depends upon the importance of variance. Depending upon the level of the variance, SRR can significantly change the effective strategies for the game. For example, in Titan, using SRR without taking variance into account, a serpent can always kill a centaur with one blow, since it has 18 dice with 1/6 chance of hit with each dice, and a centaur is killed by 3 hits. However, when variance is considered, the centaur actually has about a 40% chance of survival, and about 30% of the time the serpent should score extra hits that could carry over.
Since variance is usually omitted from consideration for SRR system, this leads to strategies where you compute exactly how much force you need to deploy for the desired result. Just remember when playing without SRR, that variance will have to be considered so it will be necessary to modify your "perfect" strategy to over allocate resource to insure key results. So just be aware that SRR can change the strategies, sometimes significantly, but the resulting game is often even more enjoyable.
Why use Statistical Result Resolution in games?
Many games use random events to determine the outcome. Although this can sometimes enhance the excitement of the game by bringing in elements of risk and uncertainty, there are drawbacks for using random events.
First, in some games, the sheer number of random events can become tedious to resolve and tend to slow down the game. Rolling 60 internal hits for Star Fleet Battles, or 7 serpents in Titan at 18 dice each, or 25 infantry defending Russia for five rounds in Axis and Allies are classic examples of how resolving random events can become tedious.
Second, random factors can make the unbiased evaluation of strategies difficult, if not impossible. Since the difference between a good strategy and the best strategy is often a small margin, just slightly better luck can distort the evaluation and make the weaker strategy appear stronger. Since much of my enjoyment of a game is based on evaluation of strategies to see which one is best, I strongly prefer using SRR whenever possible to make this evaluation more accurate.
Finally, I find competition less satisfying since when I win, it is not clear whether I was just lucky; and when I lose, I would prefer to learn from my mistakes. This is not always easy when random factors may make strategic errors harder to discern; indeed, you may even have had a superior strategy, but lost anyway due to poor luck.
How can you apply Statistical Result Resolution?
Unfortunately, there is no blanket solution for all games. For some cases, this is very easy; others may be impossibly difficult. Application of SRR is best demonstrated by some examples of algorithms that I have devised.
OGRE is an excellent game to apply SRR. I have found that variance has little effect on OGRE straggles, so the strategies devised using SRR are generally quite applicable without SRR. OGRE has three fundamental types of attacks: attacks on conventional units, attacks on Ogre treads, and attacks on other Ogre components.
Applying SRR to Ogre treads is very easy. Just divide the attack factor by 3 (keeping fractions) and apply the damage to the tread. A tread with fractional damage is still usable. So if 20 attack factors are fired at treads, mark off 6 and 2/3 treads.
My algorithm for applying SRR to other OGRE attacks is slightly more complicated. Write rows on a page that correspond to the different defensive values encountered for Ogre and non-Ogre units. The page should look like this:
Ogre systems: D1 > 0 D2 > 0 D3 > 0 D4 > 0 Conventional units: D1 - X > 0 - D > 0 D2 - X > 0 - D > 0 D3 - X > 0 - D > 0 D4 - X > 0 - D > 0
Each time an attack is declared, add the number of entries from the combat results table to the appropriate row. When firing at a disabled unit, treat the D results as X for this purpose. For example, assume a 1-1 attack a GEV (defense 2). If the D2 row were blank before this attack, it would now have the entry:
D2 - X > 2 - D > 2
This indicates a 2/6 chance of a kill, and a 2/6 chance of disabling. Now roll one die, mapping the numbers in the X to the highest, and the D to the subsequent numbers (in this case, this just recreates the original combat results table). Assume that a 3 was rolled, indicating a D result. The GEV is now disabled, and 6 is subtracted from the D row, with the following result:
D2 - X > 2 - D > -4
Now presume another 1-1 attack is made on the disabled GEV. Since it is disabled, the combat results show 4 X. The D2 row is now:
D2 - X > 6 - D > -4
Since the X column has 6 or more, the result is automatic: the GEV is destroyed. The D2 row is now:
D2 - X > 0 - D > -4
Now another 1-1 attack is made on a different GEV. The D2 row is now:
D2 - X > 2 - D > -2
Since the D row is negative, there is no possibility of disabling this GEV. However, as luck would have it, you rolled 5. Since the X row has 2, this destroys the GEV. The D2 row is now:
D2 - X > -4 - D > -2
Now you attack another GEV at 2-1. The D2 row is now:
D2 - X > -1 - D > 0
Since neither D or X is greater than 0, there is no chance of damage with this attack. This may seem odd; just remember that you are now paying for the good results that you had earlier so that the statistics will balance.
Attacks against Ogre weapons should be kept separately just as shown above. The tracking is even easier, since Ogre weapons are not affected by D results.
This system gives excellent results with a minimum of bother, and largely eliminates the overall luck factor from the game, while still making some of the individual attacks uncertain. The main potential for abuse with this system is for the clever attacker to use stack-up to make long range weaponry more effective. For example, I could hold back my missile attack against a very strategic target and make other attacks with short range weapons against units with the same defense factor as the strategic target until I have accumulated a positive residual in the desired column to assure the destruction of the strategic target with my missile.
One solution for this is to keep a separate chart for each range of attacking weapon. I find this to be too much bookkeeping. My preferred solution is to require units to fire from short range to long range. This way, it is impossible to predict what the stack-up will be for the long range weapons: it could either help or hurt. If an attacker feels he must make an attack out of order, i.e. he must see the missile tank result before using his infantry, then he may do so, but no prior residuals are taken into account for that attack (although the results of the attack do affect the residual entries). Another modification that I use is if an attack is sufficient to normally guarantee destruction of the enemy unit, the unit is destroyed and the residual tables are not changed.
4.2 Axis and Allies
Axis and Allies' gaming system depends much more on variance, in that combat is resolved in battle scenarios, rather than on an individual attack basis. Therefore, a strategy optimized for SRR will have to be altered to increase the allocation of units to key battles when not using SRR. However, much of the SRR strategy does apply, and the game using SRR is considerably more enjoyable for me than using the standard random resolution.
My algorithm for SRR for Axis and Allies is very simple. First resolve anti-aircraft fire by keeping a residual number that reflects the number of aircraft subject to this fire. If two aircraft fly over an AA gun, the residual becomes 2. If you roll the residual number or less, one airplane is shot down and 6 is subtracted from the residual number. If the residual is 0 or less, there is no chance of hitting with AA fire. If the residual number is over 6, one aircraft is shot down automatically and 6 is subtracted, then a roll is made to determine if a second aircraft is shot down.
For battles, first resolve submarine sneak attacks. Add together the attack factor from all submarines and divide by 6. These are automatic sub hits. Roll once for any remainder under 6; if the number rolled is less than the remainder, score a hit, subtract 6 from the remainder, and bring the negative residual into the rest of the combat. Otherwise, use the remainder as the residual. For the main battle, add the numbers that each unit needs to roll for a hit plus any residual, divide by 6, and score the hits. Roll once for any remainder; if you roll less than the residual, score an additional hit, subtract 6 from the remainder and carry it into the next round. Otherwise, carry the remainder into the next round. Note that except AA fire, no residuals carry between battles.
The system described has the effect of pushing battles toward their statistical norm. However, upsets can still occur; for example, it is still possible for a transport to destroy an attacking fighter, but it is not quite as likely. It is also possible for the underdog to still win a large battle if it is very close, but not otherwise. The results of combat are much more predictable, and different strategies can be accurately compared.
Hopefully, these examples will provide ideas of how to add SRR to your favorite game. If you find an algorithm for a game that you find workable, please send it to me. I will keep track of the submissions and re-post summaries if there is sufficient interest.