Dice mechanics come in many different variations and
flavours: single die rolls, buckets of dice, rolls to beat a target number, the
resulting die roll as an index in a chart, the use of polyhedral dice, etc. One
of my favourite mechanics is the opposed die roll. This article will delve a
bit deeper into the mathematics of opposed die rolls, as well as some good
practices on how to use it as a mechanic in your rules of play.
D4 versus D12
Opposed die rolls are in essence very simple. Whenever an
action between two figures or two units needs to be resolved, both players roll
a die. The numerical results are compared and the highest roll is declared the
“winner”, with an appropriate result defined within the framework of the rules.
Such a mechanism can be used on shooting, melee, morale, …: the usual actions
one wants to resolve on the battlefield. Opposed die rolling is obviously not
new and has been applied in many different rule sets over the years, if not
decades.
The system is most flexible when we allow different types of
dice (D4, D6, D8, D10, D12) to be rolled against each other. I realize that there
is a cult of wargamers that consider a D6 to be the only proper die type permitted
on the gaming table, but the generation of gamers that grew up with Dungeons
& Dragons and other roleplaying systems think nothing of using the full
array of polyhedral dice. Once you accept that idea, the die type itself can be
used to represent a quality metric for a specific characteristic of the unit or
figure. E.g. a figure can have a D8 for shooting, a D6 for melee, and a D12 for
morale, with the higher die type representing a better ability in that specific
characteristic.
Mathematics
Let us first look at some of the mathematics of opposed die
rolling. Obviously, you have a higher chance of beating your opponent’s D8 when
you roll a D10 instead of a D6, but what exactly are the probabilities?
For anyone who is a bit versed in probability theory, the probabilities
are fairly easy to compute with a closed mathematical formula. For those who
are not familiar with it, the best thing to do is to count all possible winning
outcomes and compare them to the total number of outcomes. Let’s work through
an example to show how it can be done. Suppose I roll a D8 versus your D6. I
can roll 8 different numbers (each with equal probability), and you can roll 6
different numbers (also with equal probability), for a total of 48 possible
outcomes. The table below summarizes all possible combinations that can be
rolled. A “W” indicates a win for me, a “L” indicates a loss (or a win for you),
and a “D” indicates a draw:
D8 vs D6

1

2

3

4

5

6

1

D

L

L

L

L

L

2

W

D

L

L

L

L

3

W

W

D

L

L

L

4

W

W

W

D

L

L

5

W

W

W

W

D

L

6

W

W

W

W

W

D

7

W

W

W

W

W

W

8

W

W

W

W

W

W

To compute the probability that a D8 wins vs a D6, we count the number of 'W's, giving us 27. Dividing by 48, this gives a 56% for a win. Similarly, we have 15/48 = 31% chance for a loss, and a 6/48 = 13% chance for a draw.
The same exercise can be repeated for other combinations of dice, of which the rounded results are tabulated below. Each entry gives the rounded percentages for a win, a draw and a loss result. E.g. when rolling a D8 vs. a D10, there is a 35% chance of a win, 10% chance of rolling an equal number, and 55% chance of losing. Of course, these numbers are reversed when rolling a D10 vs. a D8 (55% win, 10% draw, 35% loss), as you can see in the table.
The same exercise can be repeated for other combinations of dice, of which the rounded results are tabulated below. Each entry gives the rounded percentages for a win, a draw and a loss result. E.g. when rolling a D8 vs. a D10, there is a 35% chance of a win, 10% chance of rolling an equal number, and 55% chance of losing. Of course, these numbers are reversed when rolling a D10 vs. a D8 (55% win, 10% draw, 35% loss), as you can see in the table.
(down) vs (across)

D4

D6

D8

D10

D12

D4

38 / 25 /
38

25 / 17 /
58

19 / 17 /
69

15 / 10 /
75

13 / 8 / 79

D6

58 / 17 /
25

42 / 17 /
42

31 / 17 /
56

25 / 10 /
65

21 / 8 / 71

D8

69 / 13 /
19

56 / 13 /
31

44 / 13 /
44

35 / 10 /
55

30 / 8 / 63

D10

75 / 10 /
15

65 / 10 /
25

55 / 10 /
35

45 / 10 /
45

38 / 8 / 54

D12

79 / 8 / 13

71 / 8 / 21

63 / 8 / 30

54 / 8 / 38

46 / 8 / 46

There are some interesting observations to be made:
 First of all, as can be expected, the win percentage increases if the attacker’s die is of a better type. However, the exact increments can vary depending on the situation and what dice are involved.
 Even when rolling a D4 against a D12, there is still a 13% (1 in 8) chance of winning the die roll. If the draws were counted as favourable for the player rolling the D4, chances of winning would be 21% (1 in 5). Even in this extreme situation, these are fair probabilities that cannot be simply ignored or dismissed as “impossible”.
 When rolling dice of equal types versus one another, the win/loss percentages are of course identical, although the chance of rolling a tie is higher with the lower dice types. Hence, the count of a tie towards a win or loss affects low dice types more than it affects higher dice types.
Good practices
The above analysis provides us with the raw numbers. It
depends on the nature of a specific rules framework how you want to implement
opposed die rolling, but a few good practices make this system even more
elegant than it already is.
A first recommendation is to use samecoloured dice for each
type. All my D8 are yellow, all my D10 are red, etc. This allows for a quick grab
of the right die from a pool of dice at hand. Although many gamers can blindly
pick a D10 from a heap of dice, there are still many who have trouble doing so
and will pick a D8 or D12 instead. However, colours are immediately
recognizable and provide an additional visual cue. Many online shops selling
dice allow you to specify the colours for individual dice and, in my
experience, it’s worth the investment. Five or six dice of each type are enough
to have a game running smoothly, without having to waste time looking for that
single D8 you happen to own.
A second recommendation is that all bonuses and penalties
that depend on the status of your own figure or unit, are applied to your own
die roll. Suppose you take a shot at an enemy in cover. As cover affects the
status of the defending figure, the defending die roll of the target is
promoted by one die type. Technically, we could also apply a penalty on the die
type of the shooter. But then, the player controlling the shooter has to ask
the player controlling the target whether cover applies or not, whether he has
moved or not, and so on. By designing the rules in such a way that each player
needs to know just the status of his own figures without having to make
detailed inquiries about others’ figures, the game speeds up significantly.
Each player rolls his own die and can immediately shout out his result. The
winner of the action can be determined quite quickly. Of course, it requires a
gentleman’s attitude towards the game to trust one’s opponent in determining and
rolling the right die type for his own figure (rather than the need to doublecheck
everything).
But what about the resulting percentages? Looking at the table, we see that either increasing the defender’s die or reducing the attacker’s die does not make much of a difference. As an example, consider a base situation D8 versus D8 and let’s assume the defender is in an advantageous position. Either we increase the defender’s die to a D10, or we decrease the attacker’s die to a D6. The first situation would yield a 35% win for the attacker, while the second situation yields a 31% win. The difference between these percentages is too low to be meaningful in an actual game.
But what about the resulting percentages? Looking at the table, we see that either increasing the defender’s die or reducing the attacker’s die does not make much of a difference. As an example, consider a base situation D8 versus D8 and let’s assume the defender is in an advantageous position. Either we increase the defender’s die to a D10, or we decrease the attacker’s die to a D6. The first situation would yield a 35% win for the attacker, while the second situation yields a 31% win. The difference between these percentages is too low to be meaningful in an actual game.
D6

D8

D10


…

…

…


D6

…

42 / 17 /
42

31 / 17 / 56

25 / 10 /
65

…

D8

…

56 / 13 /
31

44 / 13 / 44

35 / 10 / 55

…

D10

…

65 / 10 /
25

55 / 10 /
35

45 / 10 /
45

…

…

…

D6

D8

D10


…

…

…


D6

…

42 / 17 /
42

31 / 17 / 56

25 / 10 /
65

…

D8

…

56 / 13 / 31

44 / 13 / 44

35 / 10 / 55

…

D10

…

65 / 10 /
25

55 / 10 / 35

45 / 10 /
45

…

…

…

Variations
You can build and expand upon this basic system rather
easily:
 You could expand the dice range even further and include really exotic dice such as a D14, D16, … up to the familiar icosahedral D20. Some specialized dice shops sell these types, although there are not easy to find. On the other hand, such dice are far from familiar and they tend to get confused with each other as they do not have standardized shapes. Moreover, the differences in probabilities between the higher die types tend to get smaller in such a way that the practical influence of these different die types is less outspoken.
 One could also vary the number of dice. E.g. a positive modifier could imply rolling two dice and take the highest result, or even rolling different types together. However, this would add an additional step when the result of the roll needs to be read out and makes the entire system less elegant, in my opinion.
 The same argument can be made for adding numerical modifiers after the dice have been rolled. Although it is a common mechanic in many wargames, I would not combine it with varying die types. Otherwise, you could create confusion in that one type of bonus implies a change of die type, while another type of bonus indicates a change to the rolled number. A good rule set must use elegant game mechanics without adding too many different procedures.
Conclusion
I fully realize that a mechanic such as an opposed dice roll does not in itself define a set of wargaming rules. You still need to give meaning to the actions that are resolved by rolling the dice. However, I do think it is important that you refine your mechanics in such a way that they become intuitive and easy to use. Moreover, there has to be a full understanding of the underlying mathematical probabilities to prevent the risk that your rules and the plausibility of events happening on your gaming table are not fully comprehended by all players.
Game mechanics also are a matter of taste. If after reading
this article you still prefer the buckets
of dice method, or swear by using D6s only, please do so by all means. But
it can only enrich your understanding of game design when you have at least
this knowledge of other methods, along with their good practices. After all, if
you only know how to use a hammer, every problem looks like a nail.
Addendum (January 2021)
I sometimes have received questions about the exact formula for computing the odds of Dx vs Dy. I always answered these in private, also because they seem a bit trivial to me given the method (tabulating all results) described above. But let's give the formula here as well.
Suppose x >= y. From the table shown above (D8 vs D6), it's obvious that we have a total of x*y outcomes. These can be divided in 3 groups: a win for Dx, a win for Dy, or a draw.
 The draw is the easiest: it's the diagonal of the table, and equals y (the size of the smallest die) possible outcomes. Hence the probability is y/x*y = 1/x
 A win for y (the smallest number) is computed next. Again, when looking at the table, you can see the number of outcomes equals 1 + 2 + 3 + ... + (y1). That can be written in a closed formula as y*(y1)/2. Thus, the probability of this happening equals y*(y1) / 2*x*y = (y1) / 2*x
 A win for x can be computed in a similar way: 1 + 2 + ... + (y1), but we also have to add the block of outcomes for which Dx rolls guaranteed higher than Dy. That's a number of outcomes equal to (xy)*y. The total number of outcomes for a win for Dx is thus: y*(y1)/2 + (xy)*y = (2*x*y  y  y*y)/2; end hence the probability equals 1  (y+1) / 2*x
Sanity check: adding all probabilities should result in 1:
1/x + (y1) / 2*x + 1  (y+1) / 2*x = 1.
Phil this is interesting stuff. Mechanisms can often be my personal bete noir but I have never had an aversion to dice with more or inedd less than 6 sides. More sides can give your more flexibility.
ReplyDeleteNice post Phil :)
ReplyDeleteI too have been pretty underwhelmed with the modifier type mechanic. I started looking around for alternative systems a little while back and stumbled across Stargrunt II. I've been reading through the rules and acquiring the coloured dice to play the game with. It looks really promising.
Thanks :)
Stargrunt was indeed one of the rulesets that introduced me to oposed die rolling using different types of dice.
DeleteVery interesting, the use of differing dice strengths in games has been around for some time, I am pretty sure than my old 'rules in a box' by Irregular miniatures was using them for troop quality differences, anyway where ever they were, they were very enjoyable. The surprising thing is that although these wonderful dice are widely available, the throne of the humble D6 has never really been at risk.
ReplyDeleteEnjoyed your reasonings  norm.
About that humble D6: it might depend on how you grew up in gaming. For me, this was during the 80s, the golden age of roleplaying games. Polyhedral dice therefore feel very natural, although I do admit throwing a number of D6 across the table still is a great feeling.
DeleteGood post.
ReplyDeleteThanks.
DeleteGreat post. I'm working on some rules right now and single roll vs buckets of dice is something I've been wrestling with.
ReplyDeleteYou might mention that single rolls work well where the outcome is a single yea or nay (did you hit or not?). Buckets of dice work well when there's a possibility of multiple successes, where you want multiple figures to be able to combine their attacks into a single pool, or where you want to easily simulate losses from attrition.
Good point. In the end, a dice rolling procedure needs to be given meaning within the wider context of the game engine.
DeleteNice article, good info, but.... where do you get D16,18,22,24,30 dice? I've [searched] the web and could not find any sellers of those sided dice.
ReplyDeleteStephen
https://www.thediceshoponline.com/ is one possible supplier.
DeleteVery good article. Opposed die rolls have been around, as you said, a long time. The idea of using polyhedral dice has been a part of the Piquet set for a long time as well. As a unit goes up or down in quality, then the dice for shooting, Melee, morale etc go up or down. Situation modifiers also make the dice go up or down. Typically the limits on dice size are from d4 to d12. Sometimes modifiers above twelve can manifest as +1 (or more) to the dice. It is a nice system. Thanks for your thoughts, and also the other articles on the blog, great reading.
ReplyDeleteThanks for your positive feedback! I am definitely claiming all the mechanics I discuss are original, but I think sometimes we should look a bit deeper at the pros and cons of mechanics that have been around for a long time.
DeleteWounderful find..many thanks Phil, maths is not my thing and I`m designing a game using opposed dice in combat, and when working out damage vs armour types your work is helping with the "headaches" of getting the feeling of flow and making sure it all works well...shame its taken me years to find your work !
ReplyDeleteHola Profesor.
ReplyDeleteConfío en que mediante el traductor pueda entenderme, mi inglés es muy malo.
No sé si el blog está activo aún, no pierdo la esperanza.
Me gusta la mecánica de tiradas enfrentadas, quiero usarla en un juego casero, pero no sé cómo solucionar un inconveniente.
Supongamos que una unidad tiene un grado igual a D6 (tendrá un número de éxitos entre 1 y 6), mejorarla supone subir un dado, a D8 (aumentando a una probabilidad entre 1 y 8).
¿Cómo sería posible que mejorase la probabilidad de que tuviese más éxitos sin aumentar el número máximo de éxitos posibles?
Este es el principal problema que veo a las tiradas enfrentadas, en una piscina de dados puede ser tan sencillo como sumar un modificador al resultado de las tiradas.
Muchas gracias de antemano. Un saludo.
MM
Hola Profesor.
ReplyDeleteConfío en que mediante el traductor pueda entenderme, mi inglés es muy malo.
No sé si el blog está activo aún, no pierdo la esperanza.
Me gusta la mecánica de tiradas enfrentadas, quiero usarla en un juego casero, pero no sé cómo solucionar un inconveniente.
Supongamos que una unidad tiene un grado igual a D6 (tendrá un número de éxitos entre 1 y 6), mejorarla supone subir un dado, a D8 (aumentando a una probabilidad entre 1 y 8).
¿Cómo sería posible que mejorase la probabilidad de que tuviese más éxitos sin aumentar el número máximo de éxitos posibles?
Este es el principal problema que veo a las tiradas enfrentadas, en una piscina de dados puede ser tan sencillo como sumar un modificador al resultado de las tiradas.
Muchas gracias de antemano. Un saludo.
MM
YEs, the blog is still active, but I have to admit it's been a long time since I posted anything.
DeleteIf you want to reach more successes, you can always allow one party to roll multiple dice, and each dice is a seperate "opposed" attempt. Thus, one side rolls let's say 2D6, the other side rolls 1 D8. Each of the D6's is paired against the D8. But you can only score a maximum of successes eual to your die roll. Thus, the D6 roller can score 0, 1 or 2 successes, the D8 roller can only score 0 or 1 successes.
Hola.
DeleteAnte todo, muchas gracias por su respuesta. Este blog me ha enseñado mucho sobre mecánicas de juegos de guerra y matemáticas, me alegro mucho de que el blog siga activo.
Haré pruebas sobre su solución, a primera vista parece sencillo y eficaz, muchísimas gracias.
Estoy creando un juego de guerra con un grupo de amigos para pasar el rato, y su blog es como la luz de un faro en una noche de tormenta. Si usted desea, puedo enviarle una copia del reglamento (en Español, mi inglés deja mucho que desear) ya que sin su blog (literalmente) no podría haberlo logrado.
Gracias de nuevo. El mejor de mis saludos.
MM
Hola Profesor Dutré.
ReplyDeleteEstoy creando un wargame de ambientación fantástica para jugar en un club local con amigos.
Para calcular el grado de ataque de una unidad, se multiplica el grado a usar (Combate, Proyectiles , Defensa, Moral o Iniciativa) por el número de fichas que forman esa unidad más posibles modificadores.
El total se convierte a un dado en una tabla: de 0119: D2, 2029: D4, 3039: D6, 4049: D8, 5059: D10, 6069: D12, 7089: D16 y 90+: D20.
El doble del primer dígito es el número de caras del dado a lanzar y eso hace intuitivo el uso de la tabla, siempre se lanza un dado y el resultados de este no se modifica.
Las unidades básicas se componen de: Infantería (1520 figuras) y Caballería (10 figuras). Para unidades de una sola figura (como un cañón o un gigante) el grado indica directamente el dado a usar.
Me gusta la mecánica de tirar un solo dado y leer su resultado directamente. Manías mias.
Mi problema, y de ahí mi pregunta, es: ¿Cómo podría asignar un grado para una unidad compuesta por pocas figuras, pero fuertes (como Trolls u Ogros por ejemplo) sin tener que asignar valores altos a esa unidad?
En mi grupo de testeo (tres amigos) les parece chocante grados de 12 o 15 junto a unidades con valor 2 o 3 de diferentes tipos.
Asimismo le agradezco cualquier opinión o comentario sobre el proyecto. Le invito a ser sincero sin pensar en cómo me pueda sentar esa opinión.
Puse aquí el comentario porque no supe dónde ponerlo. Muchísimas gracias de antemano.
Un saludo desde España.
MM
I think you can always assign multiple dice to a single figure?
DeleteBut your system reminds me somewhat of an old ruleset called Fantasy Warlord. In this system, you compute the % of a hot for a single figure (e.g. an elf attacking an orc would be 25%), then multiply by the number of Elves attacking. E.g. 9 Elves = 9*25 = 225%. THis means 2 Orcs killed, and then 25% for a third Orc killed.
This could solve your problem. E.g. a unit of ogres could have 80% for a kill per Ogre. 3 Ogres attacking ==> 3*80 = 240%, meaning 3 kills and 40% for a third kill.
Hola Profesor Dutré.
DeleteMuchas gracias por su respuesta, consultaré en internet el juego Fantasy Warlord para informarme.
Me surge una duda, si una unidad obtiene, digamos 250% en total ¿Eso significa dos éxitos automáticos y realizar una tirada para el 50% restante? Disculpe si no lo entendí bien.
Muchísimas gracias por todo. Un saludo desde España.
MM
Yes, 250% means 2 kills, and roll a D100 with 50% probability for a third hit.
DeleteMuchas gracias. Si lo desea, puedo mandarle una copia del manual (en Español, mi inglés no es suficiente).
DeleteGracias de nuevo Profesor.
Un saludo desde España.
MM