A Walk in the Dark A look in to the mind of an RPG designer


12Mar/11Off

Utility: Truly Random Die Rolls

Image provided by XKCD - http://xkcd.com/221/

I've been a programmer for close to thirty years, and during all that time I've had a nasty habit that I show no sign of getting rid of: if I need a program, I don't spend much time actively looking for it... I just write one!

In the online D&D games I was a part of before I entered the world of the Wizards of the Coast forums, there was a certain degree of trust: the DM made all the rolls. The players simply said what actions they wanted to take and trusted the DM to not screw them. As a DM it also allows me to, every now and then, to "fudge" the rolls of the players so that things don't go from bad to worse for them (DISCLAIMER: If I ever fudge player rolls, it's always in the player's favor. I never do anything malicious to the players because I don't like how the dice fall). So far, this has worked out pretty well.

In the Wizards of the Coast forums I noticed an interesting phenomenon: players like to be in control of their own fate. They want to make all their own die rolls, even death saves (I've seen players do several death save rolls all at once, just so they know how long they have before they're truly dead). With that in mind, a lot of DMs go as far as to post the monster defenses right from the start so the players themselves know when they hit or miss before the DM does; with that knowledge, they can write the hits and misses in to their own roleplay text.

But there is little trust in this... Players can't say "I rolled a hit"; they have to prove it. So they use a variety of online die rolling sites: Invisible Castle and CoCo's die roller, and post direct links to the rolls on the site.

I've tried to use these sites, but they just feel... awkward. So I wrote my own: dice.brainclouds.net.

Now one would think that creating a die roller is an easy thing: just generate a random number every time. But I'm a computer science/mathematics person, and I realize something: computers can't generate "random" numbers.

A computer's random number generator is actually a complex equation based on a variety of internal factors. Since it is a mathematical process, it might not seem obvious but over time some patterns do occur. One could argue that similar patterns exist in physical dice; as the edges of the die wear, dice begin to roll a certain way. But I wanted something truly, genuinely random... So I turned to the place that provides just that: RANDOM.ORG.

RANDOM.ORG "guarantees" randomness because they technically do not use a mathematical equation. I'll let their website explain:

Perhaps you have wondered how predictable machines like computers can generate randomness. In reality, most random numbers used in computer programs are pseudo-random, which means they are a generated in a predictable fashion using a mathematical formula. This is fine for many purposes, but it may not be random in the way you expect if you're used to dice rolls and lottery drawings.

RANDOM.ORG offers true random numbers to anyone on the Internet. The randomness comes from atmospheric noise, which for many purposes is better than the pseudo-random number algorithms typically used in computer programs. People use RANDOM.ORG for holding drawings, lotteries and sweepstakes, to drive games and gambling sites, for scientific applications and for art and music. The service has existed since 1998 and was built and is being operated by Mads Haahr of the School of Computer Science and Statistics at Trinity College, Dublin in Ireland.

But then I thought of something else... "Law of Averages". If many people were using the system, if one person got lucky and got all the good rolls another person would get the bad ones. So I decided to make all the die pools unique to each person. In other words, imagine you own your set of dice that nobody else could use. Nobody will "steal" die rolls from you!

So there you have it... an over-engineered die rolling program. What did you expect from a software engineer, anyway?

Anyone and everyone is welcome to use it. It's currently in what I like to call a "beta" form, and is being actively used by several people on the Wizards of the Coast "play by post" forums, even though it technically isn't an officially sanctioned utility for such a thing. Maybe some day it will be.

Here you go: http://dice.brainclouds.net/

Finally, I also have the functionality on the website as a standalone application (that goes to RANDOM.ORG and retrieves the rolls). One of these days I'll package it up and distribute it. I'm also considering making something similar for smartphones, but that will take some doing.

Comments () Trackbacks (0)
  1. “Law of Averages” sounds remarkably like “Gambler’s Fallacy.”


Trackbacks are disabled.