# Simulating these special dice on more regular dice

I've got a game that uses special dice for its resolution. Basically when making an opposed check, each side rolls a bunch of them based on the relevant trait, and whoever rolls most points wins. The margin by which you win matters for resolution, usually.

### Objective

I'd like to simulate the resolution on regular dice. Specifically, I'd like to be able to play, and let others play, without buying more of these special dice.

### Problem to solve

I'm stumped because the dice symbols don't line up easily. Effectively, the special dice are marked [-1, 0, 0, 1, 1, 2] with a minimum score of 0 for any roll. (The actual dice have symbols on them. An X, two blank sides, two sides with a sword and one side with two swords. This game is played by my children, who count swords and remove one for each X. They don't understand negative numbers, so more X'es than swords just means you score 0. But this does matter for the feel of the game, so I want to keep that rule)

Because the margin of victory matters, I can't just replace it with "whoever rolls higher", and because of the -1 on the die there's a bigger chance of rolling nothing than normal.

Can anyone see a way to match (or at least get very close) to the resolution mechanic used here, while using easy to get dice? I'm okay with them not being 6-sided, but I would like something with a regular distribution.

Number of dice thrown is usually 2-6 per side.

• Comments are not for extended discussion; this conversation has been moved to chat. Commented Dec 9, 2019 at 23:28
• Should the result be perfectly symmetrical? Or is there some semantics on "attacking"/"acting" player and a little bit of asymmetry is accepted? Commented Dec 11, 2019 at 10:03
• Would you be interested in simulating the whole challenge (this may result in changes on the number of dice being rolled, but preserving the final result) or are you interested in simulating the specific individual dice? Because if the latter, then 80% of your question is irrelevant for answering it. And I see no answers dealing with the challenge frame itself. Should answers be perfectly accurate or are you accepting some wiggle on the result distribution? Commented Dec 11, 2019 at 10:22

# Look at the pips a certain way

Tell your kids that the pips on the dice represent where you hit. A pip in the center means that you hit on-target, a pip on the sides means that you missed.

As special rules if you miss 6 times then you get tired, so that can cancel out another hit, and if you only hit once on-target then it is a power hit and counts double. Then the dice look like:

1 2 3 4 5 6
Critical
Hit +2
Normal
Miss 0
Hit +1 Normal
Miss 0
Hit +1 Critical
Miss −1
• Thinking about a moment longer this is the most elegant answer in an extreme fashion. It doesn't require changing the die, also provides a narrative, and a concrete explanation for why you can't go below zero. "Cancellation" is much more straightforward than subtraction. Commented Dec 10, 2019 at 19:38

## Map the answers to the face of a 6-sided die

There are exactly 6 faces listed for your dice. They can thus be replaced by any fair six sided die by creating a translation table such as:

$$\begin{array}{r|r} \text{Roll}&\text{Result}\\\hline 1&-1\\ 2&0\\ 3&0\\ 4&1\\ 5&1\\ 6&2\\ \end{array}$$

This is slightly awkward in practice, but the statistics work out perfectly almost by definition.

## Simulate the whole thing in software

There are a lot of online dice rollers, but I'm not aware offhand of any that would let you select from those six possibilities. Still, if you know how to program, this would be an easy thing to program for a standard computer and only mildly difficult for a mobile device.

As a ridiculously simple example, this code in python will print a random selection from that list every time you press enter at the prompt until you quit by inputting a q or quit.

import random
userinput = 0
while not userinput in ['q', 'quit', 'exit']:
print(random.choice([-1, 0, 0, 1, 1, 2]), end = '')
userinput = input()


Depending on your goals, you can make that a lot better. It could be changed to produce several rolls at once or even do the arithmetic you were mentioning.

• I might suggest mapping 2 and 4 to zero, then mapping 3 and 5 to 1. If you do that, then the mental math becomes "subtract 2 from low rolls (1,2,3) and subtract 4 from high rolls (4,5,6)", which is easier than memorizing the table. Commented Dec 8, 2019 at 17:02
• @RyanC.Thompson: I don't feel that's likely to be any easier than "count rolls of 4 or more, with 6 counting as double, then subtract 1s." Commented Dec 8, 2019 at 19:19
• Which mapping scheme to use just comes down to preference, for example I'd map [1,2,3,4,5,6] to [1,2,0,0,-1,1] so that 1 and 2 don't change.
– Ruse
Commented Dec 8, 2019 at 21:13
• Amazing how different people have different mappings that are natural to them – to me it was "divide by 2, rounding down, and subtract 1" Commented Dec 9, 2019 at 7:56
• I would try [-1, 1, 0, 1, 0, 2] 1 and 6 are "crits" (maintaining the feel of rolling a d6), odds are 1, evens are 0 (or swap that association) Commented Dec 9, 2019 at 13:17

## Color-code some dice

If you don't mind defacing some dice, you can color code them and then rely on the colors rather than the dots when rolling. For example, you could color the 1 face red (-1), color 4 and 5 blue (+1), and color 6 green (+2), with 2 and 3 remaining uncolored (+0).

(And since the dots are still there, you can still use them as regular dice as well by ignoring the colors.)

Use Lego Dice and replace the faces.

There are replaceable faces for pips 1-6. A blank white 2x2 tile would work for 0. A red one could be the -1.

I was able to get six blank dice for 5 at a local used Lego store, and eBay has the numbered faces fairly cheap. • Lego dices? I just learned something new. Are you thinking of those? lego.fandom.com/wiki/LEGO_Games Commented Dec 9, 2019 at 12:51 • alternatively if you don't want to spend a fortune, normal blank dice are a thing and quite cheap. I love lego but it is by no means cheap. – John Commented Dec 10, 2019 at 4:30 # Let's get weird! ## Use a d3 and a d2 Rather than do something boring like roll a d6, lets buy a d3 and a d2 (or use a quarter). For notation a will be the roll on the d3, and b will be the roll on the d2 with (a,b) being the ordered pair (and we will quickly have a formula that matches the probability distribution desired). We can again do the boring thing and say a roll of (1,1) is a 0, while a roll of (3,2) is a 2... or we can get weird again and subtract the value of the d2 from the value of the d3 so that the result of the roll (a,b) is a - b. Thus the "low" roll of (1,1) is 1 - 1 = 0, while the roll of (1,2) is 1 - 2 = -1. The "high" roll of (3,2) is really a 1, while the roll of (3,1) is our 2. Each ordered pair (1,1), (1,2), (2,1), (2,2), (3,1), and (3,2) all have equal probability 1/6 but the differences -1, 0, 1, and 2 have the probabilities 1/6, 2/6, 2/6, and 1/6 respectively as desired. If you don't want to buy specialty d3s and d2s (you really should though) you can use a d6 and a d4 and then map 1:6 to 1:3 and 1:4 to 1:2 by any possibly way you can imagine (you can also use a single d12 and roll it twice, you just have to declare in advance which roll is for your d3 and which is for your d2). ### Bonus Points Since you always use the d3 value as positive and always subtract the d2 value you don't need to keep track of which d2 goes with which d3 when rolling multiple dice (unless there's a mechanic that allows you to ignore your lowest roll or eliminate the opponents highest roll, or similar). Get some 6 sided blank dice, then either draw or add stickers You can get 6 sided dice that have no faces on them. Sharpies might wear off with use, but if you let it dry properly it won't come up enough to really be a bother. Or you could get printed stickers for your dice with the values you need on them. I am not sure of the quality of these ones, but it's very cheap for a 25 piece set. Search 6 sided blank dice and it will come up with several options you can shop. Write the symbol you want on the faces of regular dice with an indelible marker. The ink weight is negligible, so the dice will be nearly as “fair” as before. For the blank, back out the entire face of that side. # Paper and Glue Buy the cheapest dice you can get, measure the size of their faces with a ruler, open Inkscape, Word or any other program capable of drawing a circle with that diameter. Then put symbols (or just the numbers) inside those circles, duplicate your set of six circles until you have enough for all dice, print that out, then sit down with scissors and glue and glue the circles onto your dice. I've done this a few times for boardgame prototypes of mine which used special dice. The method works really well, and if you've spread the glue on properly, there is basically no chance of the paper flaking off during play, even when rolling them extensively. (d6 - ½) ÷ 2 gives the same distribution as your special die. This is practically the same as dividing a d6 in half, rounding down, and then subtracting 1. • Strictly speaking, this is the same shape distribution, but offset by 1. Commented Dec 8, 2019 at 23:24 ## Use an algorithm • Roll a regular die • Divide result by 2 rounding down if necessary • Subtract 1 from the result Which gives you this.. \begin{align} \text{Roll of 1: } && \lfloor1/2\rfloor - 1 =&& \lfloor{0.5}\rfloor - 1 = && -1 \\ \text{Roll of 2: } && \lfloor2/2\rfloor - 1 =&& \lfloor{1}\rfloor - 1 = && 0 \\ \text{Roll of 3: } && \cdots &&\lfloor{1.5}\rfloor - 1 = && 0 \\ \text{Roll of 4: } && \cdots &&\lfloor{2}\rfloor - 1 = && 1 \\ \text{Roll of 5: } && \cdots &&\lfloor{2.5}\rfloor - 1 = && 1 \\ \text{Roll of 6: } && \cdots &&\lfloor{3}\rfloor - 1 = && 2 \\ \end{align} Rolling a regular d6, halving the result (rounding down), and subtracting 1 from that will result in exactly the same values as are on this specal die. This is the easiest method that doesn’t involve special or altered dice. (CR Drost has proven this last claim wildly incorrect—seriously, go upvote that amazing answer.) $$\\mathbf{d6}\$$ $$\\mathbf{\left\lfloor\frac{d6}{2}\right\rfloor}\$$ $$\\mathbf{\left\lfloor\frac{d6}{2}\right\rfloor - 1}\$$ 1 0 −1 2 1 0 3 1 0 4 2 1 5 2 1 6 3 2 ## Use Words (Success/Failure) instead of Numbers It's basically just remapping the numbers, but people will have an easier time understand it if you do it like this: • 1 - Failure • 4&5 - Success • 6 - Critical Success Crits count as two successes, and failures cancel a success each (one failure will downgrade a crit to a regular success). Simply count up your successes and compare the totals to see who won. I've actually played games that had this exact framework for rolls and it's easy to remember... while logically the same as your -1/0/0/1/1/2 dice scheme I imagine trying to translate it and then do the addition would require a bit more mental gymnastics. • Like CR Drost's answer, you could call 1 a "critical failure", as opposed to normal misses, to explain why it cancels a success. Commented Dec 11, 2019 at 5:07 # Dicemapping I've done this with when playing certain board games and it is a suggested way to replace fate dice. Assign each side of a die with the same number of faces, here a d6 with each number. It's easier to remember if its logical and lower numbers on the substitute die corresponds with a lower number or worse effect on the simulated. Suggestion: $$\begin{array}{cc} \textbf{d6} & \textbf{Special} \\ 1 & -1\\ 2 & 0 \\ 3 & 0 \\ 4 & 1 \\ 5 & 1 \\ 6 & 2 \end{array}$$ The notable downside is it increases the cognitive load, which will slow down the rolling (and counting) process with an amount depending on the type of player you have. # Get your d2s out If you absolutely want to simulate it with something else, the special roll is fairly close to 3d2-4, or 3d{0,1}-1. If you haven't got d2s lying around (and if you need to use other dice to simulate d2s, the above method is probably better), you can use coin flips counting the number of heads (or tails, your preferance) as d{0,1}s. To roll $$\N\$$ special dice, roll $$\3N\text{d}\{0,1\}\$$ and subtract $$\N\$$. You can convince yourself of the equivalence using the following Anydice program. # Use a digital diceroller If applicable, use a diceroller which permits custom dice and use that. Requires having and using software and takes away the tactileness of rolling dice, but is cheap, quick, and easy. In fact, your special roll is implemented in the above program on Anydice, so you can set the view to 'roller' and you're away. • I'm confused by the output on that Anydice link, which seems to be showing that the two distributions are not equal; in particular, the emulation gives too few rolls of zero. On the other hand, using the d6/2-1 formula suggested in other answers yields the exact distribution: anydice.com/program/18f07 Commented Dec 10, 2019 at 12:17 • @IMSoP I have not stated they are equal. My specific wording is "fairly close". If that other solution suits you better, use that instead. Commented Dec 10, 2019 at 15:18 • You should really emphasize that your d2 method isn't exact. And you should say "similarity", not "equivalence" next to your link. I doubt flipping a coin 3 times is going to be faster. Although you can use a d6 as a d2. Roll them all and then count 1 for each die showing 4 or greater. Commented Dec 11, 2019 at 5:03 Take some regular dice and pick some of the pips off Cheap dice just have paint in there and it will come out if you pick at it with a needle or similar tool, or you could paint over it with a paint pen or similar. Leave the 5 intact as it has a kind of X shape, it can be the X, keep the middle pip of the 3 and the 1 as ones keep the two intact as the two Pick all the pips off the 6 and the 4 as zeroes • As an alternative way to make it work, requiring fewer changes, use 2, 3, and 6 as "swords" (6 as "two swords"), and then pick off the 1 and 4. Commented Dec 11, 2019 at 5:30 # Count Dots Along One Edge of the Face, Subtract 1 Looking at the face of your roll pick one edge and count the number of dots "touching" it. Subtract 1 from the result. You're done. If only the relative number rather than the absolute result matters than you can skip the subtracting and just have the 0, 1, 1, 2, 2, 3 array. Naturally dice with numerals rather than dots will not work. Make sure to pick the side with an extra dot when you roll a six. ## Use mapped d6, but eliminate dice to speed up play Like several other answers, you map 1-6 to -1,0,0,1,1,2 so you can use dice that everyone already has. Applying that mental mapping and arithmetic roll after roll would probably be discouraging people from playing though if math is not their strong suit. After rolling, there are some shortcuts to reduce calculation. For any number of players participating in a roll they can reduce the number of dice to map/sum by removing dice and pairs of dice that cancel out: 1. Remove all 2s and 3s from the rolled set of dice. 2. Remove pairs of a 1 and a 4/5 if you have any (-1 and +1 cancel each other) 3. Optionally remove two 1s along with a 6 4. Calculate the remaining score. If there are only two players rolling and their relative score counts, you can do even less calculation by having both players remove equal valued dice from their rolled sets before calculating. 1. All 2s and 3s are still discarded. 2. Both players simultaneously remove a 1 and repeat until one player has none left. 3. Both players simultaneously remove a 4 or 5 and repeat until one player has none left. 4. Both players remove a 6 and repeat until one has none left. What's left over should be only a few dice, no matter how many were rolled initially. Those are much easier to map to their -1, +1 and +2 values. Example: Player A rolls 1, 1, 3, 3, 3, 4, 5, 5, 6, 6 Player B rolls 1, 2, 2, 2, 4, 5, 5, 5, 5, 6  After discarding 2s and 3s, they have left: Player A 1, 1, 4, 5, 5, 6, 6 Player B 1, 4, 5, 5, 5, 5, 6  Discarding 1s: Player A 1, 4, 5, 5, 6, 6 Player B 4, 5, 5, 5, 5, 6  Discarding 4s and 5s: Player A 1, 6, 6 Player B 5, 5, 6  Discarding 6s and calculating: Player A 1, 6 => -1, +2 = 1 Player B 5, 5 => +1, +1 = 2  Player B wins with 1 difference. If you don't have any programming language installed, just call a JavaScript console in browser (e.g. F12 in Chrome) and copy/paste: (sides=>sides[(Math.random()*sides.length)|0])([-1, 0, 0, 1, 1, 2])  Just press Up and Enter for new roll. If you're on mobile device, run same code at JSFiddle - press "Run" button at top left for new roll. Obviously you can replace dice side list with whatever you need. Depending on how much you want to spend, you can also order Custom Dice. There are multiple providers that allow you to specify your own 'picture' for each face, for example: https://www.boardgamesmaker.com/customized/custom-dice.html Here's my proposal: Each player rolls normal 6-sided dice, one fewer than the number of dice you're having them roll right now (so if in your system it's 6 custom dice vs. 2 custom dice, in this proposed system it would be 5 normal dice vs. 1 normal die). Each player adds their dice rolls together, and then adds the number of 6s they rolled to that, to get their score. (This is equivalent to pretending that the dice have faces 1, 2, 3, 4, 5, 7; but it's easy to do on the fly.) For example, if my five dice are 2, 6, 4, 1, 6, then my score is (2+6+4+1+6) + 2 (for the two 6s) = 21. Finally, subtract the lower score from the higher score, and then divide by 2, rounding down. For example, suppose I rolled the score of 21 above, and you rolled 4 dice getting 2, 3, 4, 6, for a score of (2+3+4+6) + 1 (for the singe 6) = 16; then I would win by a margin of (21-16)/2 = 2 (rounded down). This procedure gives distributions that are pretty similar to yours, particularly when the numbers of dice the players have are close together. A few qualitative differences: • In this proposed system, ties are somewhat more common than in your system. • In this proposed system, when the numbers of dice aren't the same, the average margin of victory is more favorable to the player with more dice than in your system. • In this proposed system, it's possible (though unlikely) to get slightly higher margins of victories than in your system, if the numbers of dice aren't the same. In addition to adding the number of 6s, one could also subtract the number of 1s (this is more similar to your system design, where there's one notably bad outcome and one notably good outcome); this makes the results slightly more similar to your custom system, at the cost of a tiny bit of mental effort from the players. Navigate to this code in a browser: Therein is an application I've coded that will output dice rolls, based on the amount of dice you choose. You'll get a screen like this on the right, there's a run button at the top that is green. Click that and the prompt on the right will ask you to enter in the number of dice you'd like to roll. • It doesn't even total them for you? And you have to hit y between every roll? I'd recommend exiting by entering 0 dice so for repeated use you can just enter a number. Commented Dec 11, 2019 at 5:10 • Well excuuuuuuuse me princess, I would think that people are capable of keeping a running total of numbers that don't exceed 2 in their head on their own. :P Commented Dec 11, 2019 at 18:29 Vote for CR Drost's answer! This is not a specific solution, but rather an approach and an example for 1 vs. 1 die. In 1 vs 1 the distribution X becomes (1/2) 0, (1/3) 1, (1/6) 2. The distribution X - X is (1/12) -2, (2/9) -1, (7/18) 0, (2/9) +1, (1/12) +2. Out of 36, these are 3, 8, 14, 8, 3. You can choose any selection of the 36 possible d6 x d6 values corresponding to those counts and have an exact match of probabilities. The art of this is making those selections easy to explain. One such option is the rule:  1 2 3 4 5 6 1 _ w _ w W W 2 l _ w _ w W 3 _ l _ w _ w 4 l _ l _ w _ 5 L l _ l _ w 6 L L l _ l _  While I don't claim it is optimal in any sense, it does have the relatively simple (quirky at worst) description of: • Both players roll a d6 • If one player beats another by 4 or more, they capital-Win (the difference is 2) • If the total of the two rolls is even, it is a tie • Otherwise the player with the higher number lowercase-Wins (the difference is 1) Obviously this grows more complicated for higher numbers of die, as your max(total, 0) starts to take effect (though a lot less than you might think), but there may be some nice patterns for you to discover there. For comparison, a straight red pip, no pipx2, one pipx2, two pips translation of your original die gives:  r 0 0 1 1 2 r _ _ _ w w W 0 _ _ _ w w W 0 _ _ _ w w W 1 l l l _ _ w 1 l l l _ _ w 2 L L L l l _  A few more tables for comparison: Distribution for 1 die vs 1 die -2: 8.33% (1/12) -1: 22.22% (2/9) 0: 38.89% (7/18) 1: 22.22% (2/9) 2: 8.33% (1/12) Distribution for 2 die vs 1 die -2: 6.02% (13/216) -1: 16.67% (1/6) 0: 31.02% (67/216) 1: 23.15% (25/108) 2: 15.28% (11/72) 3: 6.48% (7/108) 4: 1.39% (1/72) Distribution for 2 die vs 2 die -4: 1.00% (13/1296) -3: 4.78% (31/648) -2: 11.73% (19/162) -1: 18.98% (41/216) 0: 27.01% (175/648) 1: 18.98% (41/216) 2: 11.73% (19/162) 3: 4.78% (31/648) 4: 1.00% (13/1296) Distribution for 3 die vs 1 die -2: 4.63% (5/108) -1: 12.96% (7/54) 0: 25.00% (1/4) 1: 21.22% (275/1296) 2: 17.90% (29/162) 3: 11.34% (49/432) 4: 5.17% (67/1296) 5: 1.54% (5/324) 6: 0.23% (1/432) Distribution for 3 die vs 2 die -4: 0.77% (5/648) -3: 3.70% (1/27) -2: 9.26% (5/54) -1: 15.57% (1211/7776) 0: 23.17% (901/3888) 1: 18.80% (731/3888) 2: 14.70% (127/864) 3: 8.83% (229/2592) 4: 3.88% (151/3888) 5: 1.13% (11/972) 6: 0.17% (13/7776) Distribution for 3 die vs 3 die -6: 0.13% (5/3888) -5: 0.87% (17/1944) -4: 3.03% (59/1944) -3: 7.05% (3287/46656) -2: 12.11% (157/1296) -1: 16.31% (317/1944) 0: 20.99% (4897/23328) 1: 16.31% (317/1944) 2: 12.11% (157/1296) 3: 7.05% (3287/46656) 4: 3.03% (59/1944) 5: 0.87% (17/1944) 6: 0.13% (5/3888) $$$$ ` • What about winning by three? Commented Dec 10, 2019 at 8:57 • With 1 v 1 you can only win by 2, the minimum value for a player is 0 Commented Dec 10, 2019 at 18:40 Here's another: Roll a pair of dice for each die you would have rolled. Results are: • Doubles: 2 swords • Both even or both odd (but not doubles): 1 sword • Sum is 7: X • Anything else: Blank • Interesting but doesn't scale well to rolling more than 1 of these dice. Unless you have a bunch of different pairs of d6 so you can sort out which pairs go together after rolling a handful. Commented Dec 11, 2019 at 5:12 So there are a bunch of statistical answers before mine. And, as a player I would be fine with a bunch of them. But, as a father I understand that maybe accuracy is not as important as ease of play. You mentioned that, at least, some of your players are children and the game mechanic allows them to eliminate -1's vs. 1's pretty easily. So, if preserving the distribution is not as important to you as preserving the dice mechanic, I have two suggestions for you: 1. Use Fate dice. The mechanic is almost the same and you can buy 25 Fate dice for5.00.
2. Use d4's. 1 would be -1, 2 and 3 would be 1's and a 4 would be 2's. What about the 0's you say? I say what about them? You were ignoring them anyway.

Just another off-the-wall idea. Whatever you choose I hope you guys have a fun time gaming. After all, isn't that what it's about anyway?

• I've been thinking about Fate dice as well, but they aren't close enough to work with this system without modification. Fate/fudge dice have ++--00 which gives a range of -2 to +2 if you roll two of them in addition to the difference statistical distribution of those results compared to 1d6 that you mentioned. That's pretty different. Commented Dec 11, 2019 at 22:10
• Yeah, Fate Dice won't work because their average value is 0, so no matter how many roll, you'll never have a better chance at succeeding at anything.
– Erik
Commented Dec 12, 2019 at 9:34

Have a 3D Printer or a friend that does? Print out some large oversized dice- and let the kids watch. That'll be fun for the family.