As I continue to play-test my Blades in the Dark hack, I’ve done more and more fiddling with some of the “side” mechanics that are a bit off to the side of the core game-play loop. And, once again, I find myself looking at re-rolls.

My original intent in investigating this was to replace the “Devil’s Bargain” mechanic in Blades. In Blades, anyone at the table can suggest a twist or complication the active player can agree to in order to gain +1 die to the roll. It is a good, thematic mechanic for Blades, because it is inherently risky. A +1 can really help you out, especially if your dice pool is low, but it could also just as easily provide no benefit, as you could easily have rolled the result you needed without the extra die, or the extra die could not give you the result you want. It’s less a bargain, more a gamble, with fits with the roguish, things get you into trouble theming of Blades.

For my game, I want a mechanic where friendship, relationships, etc pull you out of trouble, where your friends are team-mates, there to help you when you need them. I think this is where re-rolls excel, because they are most effective as a ‘saving throw’ then an added gamble. The Devil’s Bargain asks you what your willing to risk to get a better shot at winning big, while Intimacy, like the FATE mechanics it’s roughly based on, asks you what you’re willing to spend or sacrifice to avoid failure.

Also, to define my terms a bit, I am treating a re-roll as a roll that “copies over” the original roll. If a player gets a worse result upon re-rolling, they are stuck with this second result. Otherwise, as will be clearer later down, you might as well just have the player roll double the amount of dice they regularly would.

To start, understand that there aren’t (that I found) any re-rolls in vanilla Blades. Once your dice hit the table, they’re done. You can mitigate or avoid the consequences of the roll, but the roll itself stands. I’ve long held the suspicion that there is some mathematical reason for this, that re-rolls might “break” some part of the game’s probabilities, so I decided to do some investigation.

I started off in AnyDice, running the numbers to calculate the probabilities of scoring at least one 6 in a given roll of the dice. For the uninitiated, a 6 on a die counts as an unmitigated “Success” in Blades, and is the best result. 1-3’s are Failures, and 4’s and 5’s tend to be Success-with-Consequences. I chose to run the numbers purely on 6’s because I feel it’s a consistent measure of “Success” comparable to other games. Also, with 4’s and 5’s, the GM can stack up the consequences in such a way to really put the pain (or ease off of it) to the players. Assigning consequences in Blades can be very fluid and depend on GM Fiat (at least in my opinion) but the relative merits of that approach are a discussion for another time.

Here’s the raw data AnyDice gave me:

d6s Probability of at Least One 6 1 16.67 2 30.56 3 42.13 4 51.77 5 59.81 6 66.51 7 72.09 8 76.74

And here’s a graph of those results, along with a “difference” graph:

The “difference” graph shows the slope of the difference in probability between each point, or the relative “slope” of the graph. This is useful to show how quickly or radically the graph changes.

From this data, we can see that the probability curve is rather smooth, and flattens over time. Meaning that at low dice pools, an additional die is more important than at a higher base die pool.

Also of note is the “50%” mark. In many RPGs, a 50% success ratio feels about “right” to players. See for example a DC 10 in most d20 based systems. In Blades, the 50% mark for a true success is around 3 and 4 dice. These odds run a little low in my estimation when compared to other games, but this fits into Blades’s mechanical intent of making action rolls feel more dangerous and unpredictable.

Next, I tried graphing the probability of success with a re-roll added in at each point. I did this rather simply using the logic that a re-roll of a die set is essentially the same as doubling the pool, especially when counting for particular results. Here’s what I got:

Yikes, that’s a bit spooky, and certainly points to a problem in just giving away re-rolls willy-nilly. While we can see the odds start to curve off a bit, for the most part they radically shoot up towards 80% probability of success even with relatively small die pools. Though, as we’ll see later, my assumption may have been flawed. As in, why should a player re-roll if they already got the result they wanted?

However, this got me thinking about player behavior, and how I could model it effectively. In my current draft of the rules, my re-roll mechanic is controlled by an expendable resource and a narrative constraint. The resource, called “Intimacy”, is a maximum of 3 points, available to the entire group. In order to “spend” an Intimacy, a player must invoke their relationship with another player character, stating how that relationship helps them avoid failure.

These constraints produce interesting results. Because of the constraints and the limited use of the resource, my players usually don’t bother to re-roll anything other than an utter failure, i.e. a 1-3.

So, I dug into the math of AnyDice and pulled out a function that modeled this behavior. If a player rolls at least better than a 3, they don’t re-roll and accept the result. If they roll a 1-3, they re-roll. For those interested, here’s the function, which I butchered out of a similar function:

function: reroll R:n in N:n rolls {

if [count {4..6} in R] = 0 { result:[count 6 in Nd6] } else {result: [count 6 in R]}

}

output [reroll 1d6 in 1 rolls] named “1d6”

output [reroll 2d6 in 2 rolls] named “2d6”

output [reroll 3d6 in 3 rolls] named “3d6”

output [reroll 4d6 in 4 rolls] named “4d6”

output [reroll 5d6 in 5 rolls] named “5d6”

And here’s the probabilities I got back:

d6s Rerolling 1-3 1 25 2 34.26 3 43.05 4 51.95 5 59.83 6 7 8

And the graph, placed on top of the normal diepool results:

Now this was interesting. With a die pool higher than 3 or so, the effects of the re-roll became negligible. It seemed counter-intuitive, but it checks out. After all, at a result of 5 or 6, my odds of only rolling a 3 or lower decline sharply. The re-roll becomes less necessary, and therefore overall only provides a negligible benefit when taking player behavior into account.

Another thought I had was that while the re-roll becomes less necessary as dice pools creep up, when it is necessary, it works. However, this might fall into a bit of a gambler’s fallacy, after all, a re-roll should have the same odds of failure as the initial roll, right?

d6s Re-roll 1-3, No 6’s 1 75 2 65.74 3 56.95 4 48.05 5 40.17 6 33.49 7 27.91 8 23.26

The answer is… sort of? This graph demonstrates the likelihood of rolling a 1-3, rolling again, and then having no 6’s. As we can see, the odds of this happening drop pretty considerably (except for some straight-up weirdness around 4 dice, not sure what’s up there) but they don’t really get out of control and actually start to level off a bit. So re-rolling a bad roll is by no means an inst-guaranteed success.

Now, let’s look at the odds of just abject failure, or no improvement. The odds of rolling 1-3, and then rolling 1-3 again.

d6s Reroll 1-3, No 6’s Re-roll 1-3, Get 1-3 1 75 25 2 65.74 16.67 3 56.95 11.4 4 48.05 6.18 5 40.17 3.12 6 33.49 1.56 7 27.91 0.78 8 23.26 0.39

Whew, ok, that’s a lot better. As the number of dice in the pool tick up, the risk of not doing better at all with a re-roll become negligible. So, we have a mechanic that almost always rewards the player, but doesn’t give them a “free pass” either. The most likely result with a re-roll is that the players score somewhere in the 4-5 range, the “success with a consequence” territory.

Implications and Conclusions

From this, I’ve concluded that introducing re-roll mechanics into Blades is not a mathematically bad idea, so long as they are constrained in some way. Therefore, I wouldn’t use re-rolls as a special ability or purely conditional on a narrative reason, as this sort of “free” re-roll would most likely have run-away effects.