Featured Post

The Stuff of Legends: The Wolf Pack of Angmar

Good morning gamers, AAAAAAAAAWWWWWWWWWWHHHHHHHHOOO OOOOOOOOOOOOOOOOO!!!!!!!!! Yep, today we're tackling the Wolf Pack of Angmar Legenda...

Thursday, October 28, 2021

Dueling Calculator: Dealing X Wounds

Good morning gamers,

Today we're back in the calculator and talking about wounding things. Last time, we talked about how you can calculate the "average expected" number of wounds to a target and today we're looking at the other commonly-asked question: "How likely am I to deal X wounds?" Get your spreadsheets ready (or your coffee if you're just looking for rules of thumb) and let's dig in!

Wounding Rolls: Setting Reasonable Expectations

In this post, we are going to limit our discussion to figuring out how likely a model is to deal 1-6 wounds to an enemy model - we could go as high as 10 (the Balrog and Mumaks) or 20 (Smaug), but most models are killed after suffering 6 wounds AND very few models can deal more than 6 wounds on their own. You CAN apply these principles to doing more than 6 if you want to, but I feel like that's out of scope for this article.

Finding your likelihood of getting X somethings when rolling Y dice can be solved mathematically with a "binomial distribution," which is fancy talk for "finding all the distinct values you can roll for two variables (in this case the number of dice and the probability of wounding) and counting all the things that match." Yes, there's a more technical definition, but that's what it does. :) We're going to be using Microsoft Excel for this exercise, but if you want to understand the math behind the formula we're using, check out this YouTube video (and you can also check out this YouTube video if you build Google Spreadsheets).

To find our probability of getting X successes out of Y dice, we need the following four inputs:
  • The number of dice we're rolling (we'll call these "trials");
  • The probability of wounding our opponent (we'll call this "p_wound");
  • The minimum number of successes we're looking for (we'll call this "floor"); and
  • The maximum number of successes we're looking for (we'll call this "ceiling" - though in this case, the ceiling is going to be the same as our "trials" number, since we aren't looking for "exactly 3-5 wounds" in this particular math example).
Thankfully, we already have most of these in our GUI:

Ceiling/Trials, Probability of Wounding, and Floor values

Since we have our inputs, we need to set up the following formula:

<binomial_distribution_of_ceiling> - <binomial_distribution_of_floor>

Again, for why you want to do this, view the videos linked above. Our ceiling factor involves taking our ceiling, our number of trials, and our probability of wounding, while our floor factor involves taking our floor (minus 1), our number of trials, and our probability of wounding. At first glance, we just do the following:

=BINOM.DIST(<ceiling>,<trials>,<p_wound>,TRUE)-IF(<floor>>0,BINOM.DIST(<floor>-1,<trials>,<p_wound>,TRUE)

Before you jump to just plugging in the values, we need to refine our values a little first:
  • Our trials/ceiling value needs to account for trapped enemies, so we need to multiply the value by 2 if the Trapped boolean toggle is set;
  • Our p_wound value needs to account for rerolls - which is too complicated to talk about in a bullet point, so we're going to talk about it in a minute; and
  • Our floor value . . . is actually just fine - we just need to make sure we don't lock the row in the cell so it adjusts as we copy/paste the cells).
Our formula then looks like this:

=BINOM.DIST((IF(<trapped_boolean>="Yes",2,1)*<ceiling>),IF(<trapped_boolean>="Yes",2,1)*<trials>,<p_wound>,TRUE)-IF(<floor>>0,BINOM.DIST(<floor>-1,IF(<trapped_boolean>="Yes",2,1)*<trials>,<p_wound>,TRUE)

So the last thing we need to do is look at the probability of wounding - and how we factor in rerolls. When we did the average expected wounds, we handled rerolls by computing the expected wounds from the rerolled dice and the expected wounds from the non-rerolled dice. We can't do that here, though, since getting 2+ or 3+ Wounds includes our rerolled dice (instead of independent evaluations of rerolled and non-rerolled stuff). If you look for examples of how to do these kinds of binomial distributions online, you'll notice no one does this kind of math - because when you have two different probabilities, it's no longer a "binomial" problem (you now have two probabilities and a number of successes). It's a mess - if only there was a way to combine the two probabilities . . .

Thankfully, there is - it's called a "composite" probability. In our example, we have Glorfindel charging into Shagrat and thanks to his Lord of the West special rule, he'll be rolling 8 dice to wound if he wins and can reroll 1 of them. That means that if we take (1/8)*(p_wound_with_reroll)+(7/8)*(p_wound_without_reroll), we can generate a single probability that accounts for the rerolls.

It's important to note that our probability of wounding is now very abstract - but as we learned from Milo in the Phantom Tollbooth, "averages aren't real." Composite probabilities are especially not-real and imaginary - but it still works for what we're doing. To save on computational speed, we're going to pre-compute this value on the side so we can use it easily in our formulas:


So we can set up the cell now (adding an IFERROR wrapper in case we are asking for the probability of dealing 6 wounds and we have less than 6 dice) and copy the result down - here's what we see:


We learn from this that when Glorfindel wins the fight, he has an 80% chance of dealing 1+ wounds, a 45% chance of dealing 2+ wounds, and a 17% chance of dealing 3+ wounds (things dwindle pretty hard after that). Similarly, Shagrat has an 88% chance of dealing 1+ wounds to Glorfindel, a 50% chance of dealing 2+ wounds, and a 13% chance of dealing 3 Wounds (he can't deal more than that because he only has 3 dice). From this, it would seem neither should try Combatting off of the other (at least, not if the other is fresh).

Now, with a simple copy/paste, we COULD do this for up to 20 dice, but as I said at the beginning, this would be used very infrequently (and most models are going to get a 0 by default), that we're going to limit ourselves to 6 today. Feel free to adjust your spreadsheet if you want to - I may grow mine in the future, but I don't see much need to go beyond 6. Hopefully you learned something from all this - I had to refresh on how to compute this myself, so it was a good exercise for me.

Now I mentioned in the last post that there are two common questions we ask when it comes to wounding (average expect wounds and the likelihood of getting X wounds). We have everything we need to know now between dueling and wounding rolls to answer an arsenal of questions - and when we come back to this series next year, we're going to take what we've built for dueling/wounding computations to answer some interesting scenarios - things like "How many rounds can Elrond last against a Cave Drake if they fight?" or "How likely is Glorfindel to beat Shagrat if they can both Strike?" These kinds of scenarios aren't answered well in static sheets like this - they demand a series of trials so you can simulate rounds of combat. To do this, we need to build a simulation . . . and we'll do that when we pick this series back up. Until then, happy hobbying!

5 comments:

  1. Great article as ever, and I'm excited to hear your take on Elrond v The Drake (a classic of probability testers, I've heard). Building a simulation sounds very exciting!

    ReplyDelete
    Replies
    1. For the Elrond vs. Cave Drake fight, I'm going to say maybe 7-12 rounds, for the Glorfindel vs. Shagrat fight, it's pretty evenly matched depending on the skill level of the duelists.

      Delete
    2. I've actually got a BUNCH of examples to walk through - not least of which is how bad things are when they each get help (traps on the Cave Drake or the presence of a single Bat Swarm in the fight against Elrond). Most of these will seek to quantify things we already knew - like is Strike valuable from Elrond, how good is monstrous charge (and how often can you get it), that sort of thing. It's involved, but a VERY interesting side project. :)

      Delete
    3. This does sound it's going to be really interesting. I've drifted away from spreadsheets and modelling a bit over the last six months (trying to play more games instead), but I do still find these kind of discussions so interesting.

      Is there going to be some content from your last tournament out soon in the meantime?

      Delete
    4. We recorded the pod, so we should have it released "soon". :-)

      Delete