Wednesday, February 08, 2017

Opposed Die Rolls

Wargaming rulesets and rule mechanics come in many different variations, but one of the mechanics that is almost universally accepted is the rolling of dice to resolve actions. Throwing a handful of dice across the table can provide a nice tactile component to the game. Moreover, rolling dice could create tension and help shape the narrative of a game. I guess most wargamers can recollect games in which the fate of the entire battle - at least in their perception - depended on the outcome of a single die roll.

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.

The beauty in using a range of different die types is that die modifiers can be implemented not as numbers to be subtracted or added to the rolled result, but as changes of die type. E.g. an action that requires rolling a D8, but has a positive modifier, is upgraded to rolling a D10. As such, you apply the modifier before the die roll, rather than applying a bonus or penalty to the outcome of the roll. That might seem like a gimmick, but is actually very useful and creates a better flow of the game. Indeed, once die types are determined, both players roll their die, compare each other’s results, and can see in the blink of an eye who “wins” the action. There is no need to modify the results after the dice has been rolled. The naked die roll is what you get, with a certain level of excitement and an adrenaline rush when you see the rolled numbers pop up and you immediately know what the outcome of the action is.

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.

(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 same-coloured 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 double-check 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.


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





Similarly, if we were to apply a bonus to the attacker or a penalty to the defender, we would end up with either a D10 vs. a D8 (55% win for the attacker), or a D8 vs. a D6 (56% win for the attacker). Again, the differences are negligible.



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 + ... + (y-1). That can be written in a closed formula as y*(y-1)/2. Thus, the probability of this happening equals y*(y-1) / 2*x*y = (y-1) / 2*x
  • A win for x can be computed in a similar way: 1 + 2 + ... + (y-1), 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 (x-y)*y. The total number of outcomes for a win for Dx is thus: y*(y-1)/2 + (x-y)*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 + (y-1) / 2*x +  1  - (y+1) / 2*x  = 1.

23 comments:

  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.

    ReplyDelete
  2. Nice post Phil :)

    I 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 :)

    ReplyDelete
    Replies
    1. Stargrunt was indeed one of the rulesets that introduced me to oposed die rolling using different types of dice.

      Delete
  3. Very 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.

    Enjoyed your reasonings - norm.

    ReplyDelete
    Replies
    1. 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.

      Delete
  4. Great post. I'm working on some rules right now and single roll vs buckets of dice is something I've been wrestling with.

    You 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.

    ReplyDelete
    Replies
    1. Good point. In the end, a dice rolling procedure needs to be given meaning within the wider context of the game engine.

      Delete
  5. Nice 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.

    Stephen

    ReplyDelete
    Replies
    1. https://www.thediceshoponline.com/ is one possible supplier.

      Delete
  6. Very 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.

    ReplyDelete
    Replies
    1. Thanks 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.

      Delete
  7. Wounderful 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 !

    ReplyDelete
  8. Hola Profesor.
    Confí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


    ReplyDelete
  9. Hola Profesor.
    Confí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


    ReplyDelete
    Replies
    1. YEs, the blog is still active, but I have to admit it's been a long time since I posted anything.

      If 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.

      Delete
    2. Hola.
      Ante 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

      Delete
  10. Hola Profesor Dutré.

    Estoy 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 01-19: D2, 20-29: D4, 30-39: D6, 40-49: D8, 50-59: D10, 60-69: D12, 70-89: 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 (15-20 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

    ReplyDelete
    Replies
    1. I think you can always assign multiple dice to a single figure?

      But 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.

      Delete
    2. Hola Profesor Dutré.

      Muchas 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



      Delete
    3. Yes, 250% means 2 kills, and roll a D100 with 50% probability for a third hit.

      Delete
    4. Muchas gracias. Si lo desea, puedo mandarle una copia del manual (en Español, mi inglés no es suficiente).

      Gracias de nuevo Profesor.
      Un saludo desde España.
      MM

      Delete