Dice are a fine random number generator, used by most roleplaying games. However, there are some fun things you can add to the experience by using cards instead. First, let’s look at how you can replicate any set of dice using cards. Take a standard playing card deck. To replicate a die, use the following set of cards:
d4 = A, 2, 3, 4 (any single suit)
d6 = A, 2, 3, 4, 5, 6
d8 = A, 2, 3, 4, 5, 6, 7, 8
d10 = A, 2, 3, 4, 5, 6, 7, 8, 9, 10
d12 = A-10 in one suit, A-2 in a second suit designated “10 + face value.” (so if Spades is flat value, you might use Clubs cards for 11 and 12)
d20 = A-10 in one suit for face value, A-10 in a second suit for +10 value.
d100 = A-10 in one suit for 1s digit, A-10 in a second suit for 10s digit. Count 10 as a 0 in that place, unless both 10s are drawn, in which case it is 100.
So far this works to replicate any die you might roll for a typical RPG. You can even use cards for in between dice like d3, d5, and so on which are sometimes called for by halving the roll on actual dice, without having to do math in your head for the result. Still, messing around with cards can take longer than rolling dice for large numbers of dice, so certain things (damage on a D&D fireball, many rolls in success-based systems like World of Darkness and Shadowrun, etc.) don’t work well with this model. Also, so far there is no advantage one way or the other – why bother with the change?
The difference with cards is you can do things with the individual results. For example, you could run a D&D game where each player has a deck set up like a d20 instead of a die, and each result is set aside once drawn. That result can’t come up again that session until all the other results have come up. This means the player is guaranteed to see good and bad results for his/her character at some point during play. You could even eliminate the random factor, and let the player choose when to play each result from his deck, treating it more as a hand of cards. This would challenge you as a GM not to call for skill checks, saves, etc. in trivial situations – so the players would have to sweat bullets about using those low results, and also about wasting the high ones.
You can also modify the available results. Characters with exceptional abilities or luck might be allowed to eliminate low numbers from their decks for some tasks, or add in higher numbers than normally appear on the die type. Special effects could allow a character to have a particular result saved aside for later use, even if a random draw is being used – or to have an extra copy of that result saved up in the variant where all possible results are held and played when desired. Hindering conditions could eliminate high results from the possible pool, or add extra low results in.
Consider this variant for adding a different flavor to your next game, and see what interesting results you can have in play by changing how the numbers are generated.