I'm from Indonesia, and I can tell you that D&D is not a thing. Hence, it will be tough for me (and my wallet) to find shops that sell d4, d12, d20 and so on. You also rarely see people selling "just" the common d6 alone. I do not have a lot of money so buying a game and taking the d6 from it, for example, is not feasible.

So, how do you play D&D, when you have no dice to play with? I know, for d6, I can use 6 sided pencil and roll it, but I never saw a 20 sided pencil.

I'm particularly looking for a method that is hard to be manipulated (cheat-proof) and is reasonably fast.

Assume you have no access to technology. That includes everything that uses electricity: smart phone, laptop, so on.


27 Answers 27


Playing Cards

You need a source of randomness, and a deck of playing cards can do it. If you need to roll a d20, shuffle the following 20 cards and draw one:

  • Ace of Hearts (1)
  • 2-10 of Hearts (2-10)
  • Ace of Spades (11)
  • 2-10 of Spades (12-20)

Essentially the hearts are the face value, and the spades are face value +10. The nice thing about this method is that the odds are identical to rolling an actual d20. If you want to save yourself having to remember what the value of the spades are, you can write their modified value on them.

You can do this with basically any die that D&D uses. For percentile, split the hearts and spades into two decks and pull one of each (just like using two d10s to roll percentile).

For 2d6, to preserve the same result distribution you need to use six cards and draw twice (putting the card you drew back in before drawing again). That will get annoying if you have to do a 10d6 fireball, but it will work identically to 10d6 dice.

Speeding up Xd6

Obviously, shuffling and drawing 10 times to do a 10d6 spell effect will be slow. There's a couple of options to speed that up:

  1. Prepare multiple d6 decks. If you have 10 of them (either using blank paper, index cards, or multiple playing card decks to create them), you can draw all ten (one from each d6 deck). Then when the next player is deciding what to do on their turn, you can shuffle them.
  2. Prepare ten d6 decks as above, except this time combine them all into one big deck. Draw 10 cards. Note: the result distribution of doing this is not identical to rolling 10d6. It won't be terribly far off, and you might find the speed to be worth it because it will be very fast. The only caveat with this is that you don't want to run out of cards (as that will greatly skew the results), so you will want a large deck (at least 60 cards) if you're going to draw 10+ cards.
  • 1
    \$\begingroup\$ One solution to faking a card draw (so people can't know the difference) is maybe to have a "fake card" ready beside of you. So when you make "a fake draw", you just draw the "fake card", no need to shuffle. But maybe the cons is that the player will be meta gaming and when the GM doesn't shuffle, it will become "Ah, our GM is just making a joke" :/ \$\endgroup\$
    – Realdeo
    Commented May 22, 2014 at 12:45
  • 6
    \$\begingroup\$ You could improve this method by having one large deck with cards representing 1-20; any time you need to roll any dice, draw from the deck -- if you get something that exceeds the die you were rolling (e.g. drawing a 12 when rolling a d10), discard it and draw the next one. A larger deck means you can do NdX rolls more quickly (don't need to shuffle for each die), but you should shuffle after each roll -- especially if you had to discard any cards! Slower than dice, sure, but I doubt you'll get much closer without them! \$\endgroup\$
    – Kromey
    Commented May 22, 2014 at 15:44

I assume you can get your hands on a small bag and a bunch of identical beads.

Take 20 beads and write the numbers from 1 to 20 on them. Put them in the bag and (optionally) write "d20" on it. To simulate a d20 roll, just shake the bag and pull out a bead without looking. Then return the bead into the bag for the next "roll".

This is basically how traditional lotteries worked. In a pinch, if you don't happen to have suitable beads available, you can substitute slips of paper, and the bag can be replaced with any container, such as a jar or even a hat, depending on what's available. But beads in a bag work very nicely.

This method generalizes in an obvious way to any die size. With enough beads, you could even simulate a d100 with a single bag, although using two bags with 10 beads in each may be more convenient (just as d100 rolls are usually simulated with two d10 rolls). You can even handle occasional weird-sized dice by temporarily removing a few beads from a larger bag (or just tossing them back if you happen to pull them out).

For games that call for rolling a large number of small dice (say, Nd6), you can make a single bag that has, say, 60 beads, 10 each numbered from 1 to 6. Drawing N beads from such a bag is not quite equivalent to rolling Nd6 (getting many beads with the same number is somewhat less likely than with dice; the more so, the bigger the number you pull out compared to the number of beads in the bag), but it's pretty close for many purposes.

A similar method can also be implemented with a deck of cards, as suggested by Tridus, which is shuffled between draws. Again, if multiple cards are drawn from the deck between shuffles, the distribution won't perfectly match that of independent die rolls, but if the deck contains many copies of each card, it may be close.

Other tricks for simulating "funny dice":

  • A d12 can be simulated with an ordinary d6 and a coin: just roll the die and flip the coin, and add 6 to the die roll if the coin comes up heads.

  • A d4 can be simulated with two different coins, one worth 1 point if it comes up heads, and the other worth 2 points. This gives you a number from 0 to 3; for a standard d4 roll, add one.

  • A d8 can be simulated just like a d4 above, but with the addition of a third coin worth 4 points.

  • To simulate a d10, you can roll a d12 (by any method) and re-roll any rolls of 11 or 12. Or, if you prefer, subtract 2 from the d12 roll, and re-roll any rolls that would go below 1.

    Alternatively, roll a d6, re-rolling any 6s. Then flip a coin, and add 5 if it comes up heads.

  • The same method can be used to simulate a d20 with a d6 and two (distinct) coins: roll the d6, re-rolling any 6s, then flip the coins and add 5 if the first comes up heads, and 10 if the second one comes up heads.

As Sardathrion suggests in their answer, a watch can also be used to simulate die rolls. Looking at the seconds hand gives you a vaguely random-ish number from 0 to 59; from this number, you can take the remainder modulo 20, 12, 10, 6 or 4 (all of which divide 60 evenly) and add one to get a simulated d20 / d12 / d10 / d6 / d4 roll.

(Taking the remainder modulo 8 almost gives you a d8 roll, but it's slightly biased. Resist the temptation to just drop the last digit for a d6 roll; while that will work, the results will be a lot less random than if you take the remainder modulo 6.)

This can be particularly handy e.g. when playing in a car or bus, where rolling dice would be difficult, and even cards or lottery bags may be inconvenient. The disadvantage is that the "random" numbers generated this way really aren't that random; in particular, this method works especially poorly for rolling multiple dice in sequence.

If you have access to a stopwatch that shows fractions of a second, though, this method becomes a lot more practical. Just start the stopwatch and let it run for a few seconds before stopping it and looking at the last digit(s). You can easily generate very good d10, d20 or even d100 rolls this way, if your stopwatch has enough precision; other die sizes may be handled by starting with a d10 or d20 roll and re-rolling any numbers that are out of range.

(In fact, this is precisely how simple "electronic dice roller" circuits work: they increment a digital counter, say, 1000 times per second, and show its current value — modulo the number of sides in the chosen die — when you press a button. Since you cannot time the button press down to a millisecond, the displayed value is effectively random.)


There are a few ways to replicate dice.

  1. Cards. You can divide cards up into groups to simulate various dice. A d4 can be 10,J,Q,K of one suite. A d6 can be Ace-6 of one suite. A d8 Ace-8. d10: Ace-10 D:12 A-Q D:20 A-10 of one suit (1-10), and A-10 of another suite (11-20). D100: A-10 of one suite for the 1's digit, and A-10 of another suite for the 10's digit.

  2. Make a roulette wheel, or a spinner. Divide a circle into 20, 12, 8, 10, 6 or 4 slices, and "flick" a spinner. The more stable you make the spinner, the better it will be, as suggested in the comments.

  3. Lottery. Write each number on a piece of paper and place it in a hat. Pick out a number with your eyes closed. To reduce cheating for a lottery, either use a solid object, like balls or cubes with numbers painted on them in a (perhaps in a similar color) to the object itself, or use laminated paper. If those are not available, try bottle caps, or other similarly hard objects.

  • 2
    \$\begingroup\$ I like the spinner idea as long at it is quick to spin and cheat-resistance is demonstrably designed into it. I would try doing this through us of a wooden block hollowed into to fit the spinning top (for stabilization and centering) Clearly mark a notch indicating the accepted result. Get a thin piece of wood to match the block and cut it down the middle, attaching it with hinges to the block. This will serve to keep the spinner stable in place and cover the results when spinning. Have a set of tops with a pair of washers sized to neatly fit the space, each with a design for a different die. \$\endgroup\$
    – Avestron
    Commented May 22, 2014 at 11:54
  • 2
    \$\begingroup\$ Renumber a cheap roulette wheel for all the dice. Leave the "0" as a "reroll", then number around the wheel for all the dice. A d4 would have "1,2,3,4" repeating 9 times, a d6 would have "1,2,3,4,5,6" repeating 6 times, and a d12 would repeat 1 through 12 three times. For the d8, d10, and d20, just evenly intersperse "X"s for the remainder. Declare which die you're rolling (to know which number track to observe) and give it a spin. Any time an "X" comes up, re-roll. \$\endgroup\$
    – Doktor J
    Commented May 23, 2014 at 14:16

In the past I've made origami dice.

There is a subfield of origami works, geometric origami, that includes the polyhedrals used for dice in D&D. There are instructions online to make a tetrahedron (d4), cube (d6), octahedron (d8), pentagonal bipyramid (d10), dodecahedron (d12) and finally an icosahedron (d20).

I hope it will works for you, Happy folding!

  • 17
    \$\begingroup\$ Access to the Internet can't be required during play, but needing online instructions for advance preparation doesn't seem any worse than needing Internet access to ask this question. \$\endgroup\$
    – Brilliand
    Commented May 22, 2014 at 20:55
  • \$\begingroup\$ How unbiased are those dice? I suspect that it would be quiet hard to make a dice those probabilities are evenly spread. Nonetheless, good answer! \$\endgroup\$ Commented Jun 6, 2016 at 7:05

No Dice

My initial experiences with D&D were diceless, in a car at night driving to Scout camp. The GM simply decided what succeeded and what didn't. That's heresy to the rules-lovers, but there it is; it is entirely feasible. See What approaches are there to lessen or eliminate reliance upon dice in an RPG? for suggestions on reducing the need for dice in the first place.

Pregenerate Random Numbers

Your best alternate bet is probably computer-assisted. Sure, you can make chits or spinners, and that's how D&D worked in the old days, but now you can just use a computer at school or wherever, generate several hundred dX rolls, print them on a piece of paper, and then as GM just use them in sequence and cross them off as they're used. You can fit more rolls than you'll use in many sessions on one sheet of typing paper. This doesn't require any computer at play time. It's also way faster than having people choose chits from a bag or whatever - if your d20 list has (14 5 3 14 20) then first person that rolls you give the 14 and cross it off, etc. Faster resolution than using the dice, even. Also, you can make "secret" rolls without players knowing.


A watch

Assuming that a watch (or stop watch) is not far advanced technology and that you can easily/cheaply get your hands on one...

This might be rather hard to do in practice but if you have a good head for algebra, it should be quick. When the player makes a roll, look at the seconds hand on your watch. Divide this number by 60. You now have a number in the range [0, 1]. Let's call this \$x\$. for a d\$Y\$, your formula to is \$x\times Y+1\$. Clearly, some rounding error will creep in but that's fine.

So, if I roll at 15 seconds then \$x = 14/60 = 0.25\$. Assuming it's an attack roll (d20), this gives me \$.25\times 20 + 1 = 6\$! Probably a failure. For \$x = 0\$, you get a roll of 1. For \$x = 59\$, you get a die roll of 20 (\$= \frac{59}{60} \times 20 + 1\$).

Of course, instead of doing all this calculation on the fly, you could write it all down on a piece of paper. The key is to make sure that the players do not see your watch!

To avoid time-attacks, you could add random number per encounter and modulo it to get it back into the range \$[0, 59]\$. If you had a stop watch, you could use the milliseconds. This would give you a much more random source that the players would be able to see as well. Plus, it's quiet hard for a human to press the "stop" button just in time to get a 9! ^_~

So, if you are lazy here's a little python script to print the results:

print("Time, d20, d12, d8 (biased), d6, d4")
for x in xrange(0, 60):
    print("{0:4d} {1:4d} {2:4d} {3:4d} {4:4d} {5:4d}".format(
          x, x%20+1, x%12+1, x%8+1, x%6+1, x%4+1))

Which gives you this:

  Time d20  d12  d8   d6   d4
   0    1    1    1    1    1
   1    2    2    2    2    2
   2    3    3    3    3    3
   3    4    4    4    4    4
   4    5    5    5    5    1
   5    6    6    6    6    2
   6    7    7    7    1    3
   7    8    8    8    2    4
   8    9    9    1    3    1
   9   10   10    2    4    2
  10   11   11    3    5    3
  11   12   12    4    6    4
  12   13    1    5    1    1
  13   14    2    6    2    2
  14   15    3    7    3    3
  15   16    4    8    4    4
  16   17    5    1    5    1
  17   18    6    2    6    2
  18   19    7    3    1    3
  19   20    8    4    2    4
  20    1    9    5    3    1
  21    2   10    6    4    2
  22    3   11    7    5    3
  23    4   12    8    6    4
  24    5    1    1    1    1
  25    6    2    2    2    2
  26    7    3    3    3    3
  27    8    4    4    4    4
  28    9    5    5    5    1
  29   10    6    6    6    2
  30   11    7    7    1    3
  31   12    8    8    2    4
  32   13    9    1    3    1
  33   14   10    2    4    2
  34   15   11    3    5    3
  35   16   12    4    6    4
  36   17    1    5    1    1
  37   18    2    6    2    2
  38   19    3    7    3    3
  39   20    4    8    4    4
  40    1    5    1    5    1
  41    2    6    2    6    2
  42    3    7    3    1    3
  43    4    8    4    2    4
  44    5    9    5    3    1
  45    6   10    6    4    2
  46    7   11    7    5    3
  47    8   12    8    6    4
  48    9    1    1    1    1
  49   10    2    2    2    2
  50   11    3    3    3    3
  51   12    4    4    4    4
  52   13    5    5    5    1
  53   14    6    6    6    2
  54   15    7    7    1    3
  55   16    8    8    2    4
  56   17    9    X    3    1
  57   18   10    X    4    2
  58   19   11    X    5    3
  59   20   12    X    6    4

Where X is roll again!

  • 5
    \$\begingroup\$ +1 In my teenager days we played sometimes during travels without dice that way. With a digital clock with stopwatch, the GM used to make all the rolls. Stopping after a pair of seconds made the decimal and centesimal of seconds fairly random numbers. You could pick it as 2d10 or 1d100. If you need other dices, it's fairly easy to calculate it from a 1d100 result \$\endgroup\$
    – Flamma
    Commented May 22, 2014 at 12:14
  • 1
    \$\begingroup\$ @Zachiel for d8, simply reroll if the result is over 55, then use modulo. \$\endgroup\$ Commented May 22, 2014 at 17:49

This takes a bit of work, but it's quick once set up

Get an old book; write along the right hand side of the page:

d4 1
d6 1
d8 1
d10 1
d12 1
d20 1

Then work your way through the book; iterating each dice as you go; to roll a dice just "flick" through the pages and stop for your dice roll. For maximum fairness do this with the book upside down and select a page with a finger before turning over.

  • 1
    \$\begingroup\$ A simple variant of this would be to generate fair dice rolls (perhaps when you do have access to some technology) and store them in the book instead. If you have enough pages (perhaps 200) it should be close to a fair roll, and you could check that roughly before you commit them to the page. You could also add more than one value per die type, and use them sequentially (so you don't get a feel for where the good numbers are). More work though . . . \$\endgroup\$ Commented May 22, 2014 at 10:48
  • 5
    \$\begingroup\$ Most books are not perfect in paper weight and sheets cut, plus the fact that paper pages are binded in groups. \$\endgroup\$
    – Envite
    Commented May 22, 2014 at 11:56

The D&D Basic set employed the "lottery" method under the name of "chits", simply a bunch of stiff bits of paper (laminated in the set) which you kept in bags and drew from. If you don't want separate bags, just do 1-60 and divide the numbers to get your distribution. To avoid player interference, just do the rolls yourself.

You might also check for the availability of a cheap toy alternative like a bingo cage.


1/ historical method

Get wood chips/coins of the same size and material write a different number on each chip, put them in a bag. put back the chip after each draw.


on a paper draw a grid about 1/2 inch or 1/4 inch. in each square put a number. arrange the numbers so that there are no clusters of similar values (a corner with mostly big numbers for instance). To draw close your eyes, wave your hand above the paper then point on its surface. Read the number under your finger.

  • 1
    \$\begingroup\$ +1 for the second solution. That or choosing a random piece of paper from a pool with random pieces of papers, each for a number value of a die \$\endgroup\$ Commented May 23, 2014 at 6:28
  • \$\begingroup\$ That and the pages-with-numbers solution is what Tolkien Quest adventure books uses. \$\endgroup\$
    – corsiKa
    Commented May 26, 2014 at 18:18

When I first started playing DND dice weren't even for sale in our area. We used to build them out of light card.

enter image description here

  • 1
    \$\begingroup\$ This is awesome, but as a DM i don't know if I would let my players bring home made dice...mainly due to weighting and possible symmetry issues. Also goes against ops request of "...(cheat-proof) and is reasonably fast." \$\endgroup\$
    – 13ruce1337
    Commented May 27, 2014 at 17:52

If you can get access to a printer, you can go to this page and print it. It's a quick-and-dirty code job, but it should just fill seven pages -one for every type of die used in standard D&D- with 1700 rolls for each die type. The lower dice (d4, d6, and d8) actually have twice that many rolls. I tested on US Letter and A4 print previews; I could fit a little more on A4, but I don't know which size (if either) you'll be able to access more easily.

When you need a roll for a given die, just cross it off the list: you can do it in any order you want, as long as you stay consistent. Even for the relatively common d6 and d20 rolls, these lists should be big enough to last a long time. Even the d6 and d20 pages (the ones you'll probably use the most) should last at least a few months.

I know this isn't exactly what you asked for, because it still needs some electricity (though there should be enough numbers on each page that you only need electricity once in a while). But I thought this might give a good balance between ease of use and speed, difficulty cheating, and low cost.


Six-Sided Pencil (or a die if you can get one)

So, you need to generate numbers that aren't D6? Here's how you can do it, though it involves a lot of dice/pencil rolling:

D4: Roll, and reroll if you get a 5-6.

D6: Roll as normal

D8: Roll:

a) 1-3 means roll again as if it were a D4 (1-4, reroll 5,6's)

b) 4-6 means roll again as if it were a D4+4

D10: Roll:

a) 1-3 means roll again as if it were a D5 - 1-5, reroll 6's

b) 4-6 means roll again as if it were a D5+5

D12: Roll:

a) 1-3 means roll again as if it were a D6 b) 4-6 means roll again as if it were a D6+6

D20: Roll:

a) 1-3 means roll again as if it were a D10

b) 4-6 means roll again as if it were a D10+10

As you can see, this means a LOT of rolling and in some cases, a lot of rerolls when you get something outside of the range.

Rules Simplifications/different game

My #1 recommendation, though, would be to do a massive rules simplification or play a different RPG altogether. You might want to modify the rules from the Dungeon! boardgame, which only uses 2D6, for example.

There's some games built entirely on using normal playing cards, such as Primetime Adventures, and several games built on just using a single D6 for dice rolls.

If you can get together several D6 dice or 5-6 pencils, you can also play games like The Pool which is free, and dead simple to simply memorize - so you don't have to worry about opening the PDF or printing out a copy.


An easy method for a d10 is to use the page numbers from a good thick paperback book (I recommend at least 1000 pages). Riffle the pages and stop. Now, you can't just use the ones digit, since you're looking at 2 pages and one is odd and the other even. To choose which page, look at whether the tens digit is odd or even, and choose the ones digit that matches. So if you stopped on pages 618 and 619, you rolled a 9.

This method has the advantages of being very quick and not requiring lots of tiny pieces, so rolling several dice isn't too bad. Alternate between riffling from front to back and back to front to reduce wearing the book into "pockets" that it stops at. As long as no one is trying to beat the system by clever riffling, and you alternate the areas of the book where you stop, it works pretty well. If the book does become worn, switch to another book.

For d20, you can use the above, but add 10 if the tens digit is a 5-9.

For d4, d6, and d8, because this is so quick and doesn't require a lot of set up, you can just ignore rolls that exceed your die size. So for a d6, if you get a 7,8,9, or 0, reroll.

I've actually used this method once at a camp without dice or electronics (along with a Rubik's cube someone brought that we rolled as a d6, assigning he colors to #'s).


You mention speed and fairness as issues, so I'll make some suggestions that address that. This takes preparation time, but is fast in play.

You could generate many random values from each of the dice possibilities using any fair method (any of the good ones mentioned already, but also including using a computer or other similar device that you must sometimes have access to or we wouldn't have your question - there are many online die rollers and so on), and print them to paper or better, cardboard or write them by hand on convenient but identical objects - blank squares or rectangles of stiff paper or card - even on a few decks of playing cards. - One result for every die used are present on a single card (if you use playing cards, you can easily write 6 values - one at the top, two down each side and one at the bottom; with consistent positioning, you won't even need to label which is which)

The aim is to either end up with a large deck* of random die rolls (you'll want several hundred at least if they're random), or a systematically created set of exactly 120 such "cards"/objects, (so you have a whole number of each set of outcomes -- 6 sets of d20-rolls, 10 sets of d12 rolls and so on down to 30 complete sets of the values 1-4).

* (if they're small you'd use a bag rather than a deck)

Something like this. (Or if you used playing cards, something like this.)

Either way, at the start of play, you shuffle all the cards and lay them out into several stacks (I'd suggest at least 5) - so that the player actions involve choosing a pile to draw from (i.e. they don't have the feeling that their die roll is 'predetermined' in the way that you might if choosing from a single deck), draw the card and look at value for the roll they need. Once a deck is below about half its original size, reshuffle it with some of the already drawn cards (from a discard pile) to make a "full size" stack.

While this involves more up-front effort than simply associating each card of a deck of cards with some outcome, there's much less "thinking"/downtime involved during play (and that can become a drag on the game) - you choose a pile to draw a card from, and read whichever result you need right off the card - it's as fast as die rolling.

I'll add another thing I've used a few times -- if you have a watch that has a 'stopwatch' timer, just start the times and stop the watch after a few seconds without looking at it. Look at the hundredths of a second. The last digit is a d10 (with 0=10), the both digits is a d100(percentile 00-99) roll. If you look at whether the first digit is even or odd you can have a d20. I've also used it for a d8 (re-rolling 9's and 10's).

You mention you can use pencils for a d6; but two pencils (or stubs of pencils are easier to roll) can also be used for d12 (label one of them 0,6,0,6,0,6 and the other just a normal d6). You may also be able to find 3-sided pencils or pens sometimes (I have a few). There's also the possibility of using a square-sided chopstick (I presume you can find one that could be used) as a d4 (and two of them can make a d8 by labelling the second one 0,4,0,4).


For financial reasons, I don't really have access to dice, and taking the time to make the kinds of dice otherwise advocated here would be fairly prohibitive to me. As a result, except when one of the other participants brings dice which we share, I use the following method when GMing:

  1. Think of a random (or pseudorandom) number between the size of your die and additive inverse of that number (this is not actually equivalent to picking a random number between 1 and your die size because humans). This is hard if you want nice, smooth probability distributions. Learn your weaknesses (e.g. as a beginner you probably don't generate long strings of the same number as often as you should) and practice, if performing randomness well is your goal. Alternatively, think about the player and what number the player is likely to pick, and then try to make them roll as badly or as well as possible by virtue of the number you pick. The adversarial rolling can be a lot of fun and has some parallels to Yomi. Whatever number you get, be sure of it and commit it to memory.

  2. Ask the rolling player to pick a number between 1 and the maximum value of the die, inclusive.

  3. Add your two numbers

  4. If you have a non-integer value, round.

  5. Take the modulus of the total with respect to the maximum value of the die.

  6. If the resulting total is negative, add the maximum value of the die.

  7. The number you now have is the result of the roll.

This method requires that the players trust the GM.

  • 1
    \$\begingroup\$ This is a really clever solution! Actually, the GM doesn't need to pick random values smaller than zero - taking the modulus of the sum of two "random" number picks from 1 to N works as well: Random die roll = 1 + { [player_random(1,N) + gm_random(1,N)] mod N } works just as well. \$\endgroup\$
    – RobertF
    Commented Jan 13, 2017 at 19:30

Taking inspiration from Neal Stephenson's Cryptonomicon and Diamond Age (I know it's one of the two),

The I Ching uses trigrams generated from random methods (yarrow tossing and coin-flipping

The I Ching trigrams give you random numbers from 0-7.

Extrapolating from this, you'll want to have 4 coins. (You can do strict d20 with 5, but)

If possible have the coins be different and have heads be equally distinguishable.

You'll want to start with a lookup table, until you start thinking in binary.

Each coin will be numbered 1-4. Either via its visual difference or read top-bottom, left-right.

For the d20, we'll cheat a little bit. In D&D, the most interesting ranges are in the first and third quartile, with the (not quite) extremes and middle being boring. This is because most rolls tend to have either a "better than average" or "worse than average" chance, which means the differentiations happen between 20-40% and 60-80% Thus, I've excluded some numbers from the middle. (It's also fairly easy to rescale d20 to be 3d6, or to be "d16". ** indicates "reroll" The rerolls are strategically placed to preserve the average, and to be somewhat intuitive.

Coin 1 2 3 4 D20 D10 D8 D6 d4
     H H H H  20  10  8  6  4
     H H H T  19   9  7  5  3
     H H T H  18   8  6  4  2
     H H T T  17   7  5  ** 1
     H T H H  16   4  4  ** 4
     H T H T  15   3  3  3  3
     H T T H  14   2  2  2  2
     H T T T  13   1  1  1  1
     T H H H  8   10  8  6  4
     T H H T  7    9  7  5  3
     T H T H  6    8  6  4  2
     T H T T  5    7  5  ** 1
     T T H H  4    4  4  ** 4
     T T H T  3    3  3  3  3
     T T T H  2    2  2  2  2
     T T T T  1    1  1  1  1

A History of non-electronic random number generators in D&D

In the late 70s, when D&D was in it's infancy and exploding in popularity, the demand for polyhedral dice meant that they became quite expensive for a while, and there were even reported dice shortages. Indeed the 5th to 7th printings of the D&D Basic Set didn't come with dice, but with dice chits.

In this context, players would often look for alternatives to dice, and in June 1977, The Dragon Magazine (issue 7, p5-6) published an article What To Do When The Dog Eats Your Dice which had an extensive list of alternatives to dice:

I've used a * to mark anything which is fundamentally flawed, i.e. it seems unlikely to produce a number with uniform randomness or there are obvious techniques to predict or influence the chosen number.

Chits in a Jar

Numbered tokens or slips of paper placed into a jar, which can be drawn out without looking to select a number.


(Included for completeness - they are electronic so don't technically fit the question - although many are solar powered and cheaper than phones/iPads). Many Scientific Calculators have a random number generator.

Cutting Cards

d4: Use card suit. d12: Ace low, use card value - if King draw again. d6: As d12, but divide by 2. d10: As d12, but redraw any face card. d20: As d10, but add 10 if a red card.

Numbered Straws

Same principle as chits in a jar.

Watch with a Second Hand *

Use the second hand to generate a number between 1 and 60, then divide by your dice size (d4, d6, d10, d12 or d20) and take the remainder.


Create a spinner with the numbers 1-n.

Coin Flipping

With a single coin you can generate a binary string and treat it as a decimal between 0 and 1. To generate a number between 1 and n, keep flipping until your decimal has enough precision that you know for certain you are in the range [(k-1)/n,k/n); your random number is k.

Phone Book and Blindfold *

Close your eyes, open a random page, and point randomly. This gives you a random digit between 0 and 9.

Lazy Susan Dartboard *

(At this point, I would speculate that the author was just trying to fill column inches!) Buy a newspaper, and attach the stocks and shares page to a Lazy Susan. Spin it, and throw darts at it to select a digit.

Classic Greco-Roman Augury method *

Look out the window and count the number of birds that fly by in a given time.

Mouse in a Maze *

Construct a wooden maze with multiple numbered exits and place a mouse inside. The exit the mouse leaves through is your number.

Maso/Macho Delight *

(This one is not recommended during a global pandemic) Players rip a clump of hairs from a man's chest and count the hairs.

Numbered Jumping Beans *

Buy some jumping beans and chill them to 47 degrees F, and mark them with a number. Drop them onto a hot pan. The first bean to jump is your number.



When I first started in 1975, we used plastic poker chips, but that's already been answered here.

  • We had five bowls: 1d4 (4 chips), 1d8 (8 chips), 1d10 (10 chips), 1d12 (12 chips), 1d20 (20 chips). The six-sided dice were from the old Monopoly(TM) game in the closet (a sixth bowl for d6 (6 chips) also works). A d100 was rolled by taking a d10 chip and a d20 chip (ignore tens digit).

Procedure: cover the bowl and shake it vigorously. DM holds the bowl up above his head, player reaches up and grabs a chip.

There's an app for that for cell phone/tablet/laptop/PC

It's been 5 years since this question was asked. Assuming that at least one person in your group has a cell phone (or other such device) you can all roll the dice on google.


I have used it to play with my brother and with my son when the in-laws were boring us and I stepped outside to do something, anything, other than put up with them.

So we had a little D&D adventure.


D&D has rules allowing rolls to be skipped in certain cases (that is, take 10 and take 20). Relying heavily on those will eliminate many of the situations where an actual roll is needed.

For combat situations, where a 10% chance of hitting needs to stay a 10% chance of hitting, you could houserule a point-buy system: allow the players (and NPCs) to choose the results of their rolls, with the caveat that the average of those rolls can't be more than the expected average of the dice in question. Different values of dice (d6, d10, d20) probably need to be tracked separately with this rule. Hiding from the players what they need to roll in order to succeed would add an element of risk back to the system.

  • \$\begingroup\$ That's certainly an option I'd never have thought of! One idea to improve it might be to say that any time a roll calls for a d20, you get 10 "roll points". You can spend as many as you want, except you can't go negative. So if you save up a few by taking bad rolls, you can use them later to roll really well. It would change the game to give players that kind of control, but it would be fast and requires no dice. \$\endgroup\$
    – Tridus
    Commented May 22, 2014 at 19:33

Templates for building Platonic Solids

You can post the question, so you can load the web page. Can you get access to a printer? Print some templates, make your own dice - the link gives you d4, d6, d8, d12 and d20. Stick the printed paper to some heavy card for better results. If you cut accurately and build carefully you'll have an almost complete set of dice - when you need a d10, use the d20 and subtract 10 if the result is over 10. You could probably find a d10 template if you looked harder (but I never liked the shape of d10 compared to the others anyway).


Six sided dice are particularly easy to make, and there are many RPGs out there that use ONLY d6s. It might be worth considering a game that doesn't require all of the polyhedrals. Apocalypse World or Dungeon World for example only need a pair of d6 which shouldn't be too hard to come by (or make!)

If you can find some relatively soft wood, and the right tools it isn't too hard to carve some wooden dice. They won't be perfectly fair, but as long as you're trying for even sides it shouldn't be too hard. Failing that papercrafting a d6 is also fairly easy. There are some good templates available online but a straight-edge, knife (or razor), thick paper and glue is really all you need.


Coins and a container.

You need 5 identifiable coins if the highest thing you want to roll is a d20, 7 if you want to do percentages with a single roll. These days that would be trivial in the US because of all the state quarters, in some countries it would be problematic. (China, for example, has only three coins in general use. Update: One of those three has gone out of use.)

Put the coins in the container, shake (everyone can hear them rattle) then invert the container on a surface. Heads = 1, tails = 0, use this as a bit pattern. Non-programmers would probably be well served by preparing a translation key in advance.


If you are handy with woodwork, you could try making dice using a knife and some wood. The downside here would be that the fairness of the dice is dependent on your woodworking skills.

Another option could be to get a board and hammer in some nails in diagonal rows. Put it upright at a slight angle and let a marble fall trough them, label the possible places it could end up at the bottom with the numbers you need.

  • 3
    \$\begingroup\$ The diagonal board method actually simulates an Nd2 roll (with N = 4 in your image). As you note, the fairness of the rolls also tends to depend heavily on the quality of the construction. \$\endgroup\$ Commented May 22, 2014 at 14:20
  • 1
    \$\begingroup\$ Your example image for a 5-sided die is called a Galton Box, or quincunx pic - and if properly built - instead of giving results according to a d5 (discrete uniform), it's binomially distributed. That is, it is actually 4d2-4 (4d2-3 if you label the bins from 1 to 5 rather than 0-4), as Ilmari points out above. Each row of the device sends it left (0) or right (1) with equal probability, and the effect of each new row is to add to that total. \$\endgroup\$
    – Glen_b
    Commented May 23, 2014 at 3:32

I'll assume that building you own six sided dice is out of the question? I used to do that for fun as a child and it's not hard to do with glue and paper. Obviously, the "quality" of the randomness isn't as good as bought dice, but they can be pretty good.

Have you considered using a ping pong ball? if you have a small ball and can reliably measure the areas you can simulate dice pretty well with that... drawing the fields accuratly can be a pain, but it can be done and they are actually "fairer" then real dice.


Deck of cards ignoring all but the color

Echoing other answers here where you're reading the number out in binary with specific coins, (possibly with the help of a lookup table) You could do the same with a deck of cards.

Say Red is 1, Black is zero. For a d20, deal out 5 cards in order.

BRBRR = (0 + 8 + 0 + 2 + 1) = 11

RBRBB = (16 + 4) = 20

you could write out on the table each position eg: 16,8,4,2,1 and deal the cards above that to more easily calculate what you've got.

For smaller dice just deal fewer cards. D4 and D6 could be done with 3.

I think players would pick up the basic concept pretty quickly (I taught my child to count in binary when they were 6) and you could use up the entire deck before you need to shuffle again. eg every 10 rolls for d20.

One problem with this however is you're using a d31, with a zero. If it's over 20, you'd need to deal again. If you roll a zero.. I don't know. double critical fail? ; )

Deck of Cards with Face Cards Removed

For a d20 only, you could do the following:

Remove (or ignore) all the face cards in the deck.

Deal a numbered card. If it's red add 10 to it, if it's black, take it at face value.


Red 7 = 17

Black 10 = 10

Red 10 = 20

Black 1 = 1

You could use similar methods for lower dice, just throwing out anything out of range.


Dicecards. These are a bog-standard deck of 52 playing cards, but the images on the card faces allow any vaguely-common die roll (and a fair few other random outcomes) to be emulated by cutting the deck. Some dice don't occur on all cards, so cutting is repeated until the sought-after die comes up; the common polydice used are chosen for colour so that it's very easy to spot if your die is on any particular card. Frequent shuffling is likely going to be required if one is emulating dice at the rate D&D requires.

I know this doesn't exactly fit the question as asked, but neither do watches or cellphones, and those are both mentioned in other answers. Plus pre-making a set of these is going to be significantly easier than some of the other craft projects mentioned (I admire the sort of craft-oriented mind that can think of woodcarving in this context, but it's beyond me), and a PDF is available for your printing convenience.

Full disclosure: I have no connection with the linked site or the original kickstarter; I do own a pack of dicecards, but I can't remember where I got them.


The MASH generator

This may take some time, but it was reasonably fair to me when I was a middle school student playing d&d on the school field trip bus. The basic version is simple, I’ve also used a few variations to avoid cheating.

If you know the fortune telling game MASH (stands for Manshion, Apartment, Shack, House; popular with preteen girls when I was younger), you may recognize this. If not, the bare minimum of context is that MASH predicts someone’s future (usually in terms of where you live, what you do, who you marry, and how many kids you have) by crossing off items from around a center box at regular intervals.

To get a regular interval for a game of MASH, I always grew up drawing a spiral in the middle of the center box and counting the rings. The person whose future is on the line closes their eyes and/or turns around. Meanwhile, another player, chosen however you want, draws a spiral on the paper (center out). When the person with eyes closed says to stop, usually after about thirty seconds, the person drawing stops spiraling and draws a line (without lifting the pen) from the outside to the center. Counting how many rings/rounds/whatever you want to call them intersect that line gives you your random number.

The easiest way to adapt this for rpgs is to start by going for more than a few seconds, probably closer to a minute, so the spiral gets big. Then take the number mod whatever-number-of-sides-you-need and use that to simulate a roll. Switch off who draws for every roll so that the drawer’s bias is mitigated, and tell each drawer to vary their speed as they draw so it’s not overly predictable.

However, the easiest adaptation takes quite a long time and is relatively impractical. Instead, I like a simpler method of adding randomness. Do the spiral thing twice, for a very short amount of time each time, then concatenate your two numbers in the order they were gotten. Take the new number, at least 2 digits, then calculate it modulo however-many-sides-you-need. This often requires more calculation time, but less drawing time. We often wrote out the large numbers on a list, followed by whatever the dice result was (and on what die), so we could shorten calculations later.

Another variation that works but requires other people around that aren’t playing the rpg is to ask a random passerby for an integer between 1 and some number larger than the maximum on the die you’re rolling; I like using “between 1 and 150” for d20s. Then add that to the result from the spiral and take the total mod the number of sides on the die. Don’t tell the passerby why you need the number, in case they try to rig the roll; even then, it’s decently random as long as you ask different passerby each time.

None of these methods are going to be as random and cheat proof as some of the others here. However, if you have nothing but paper and a writing implement, and don’t want to rip up the paper, these suffice to be random enough that you can’t reliably cheat, at least as far as seven preteens on a bumpy bus could tell.

Combining these methods will help make it more random (at the cost of more time), and you really do need to switch around who draws the spiral for every few rolls, but even just a simple spiral can serve as a decent randomizer.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .