[MUD-Dev] [DGN] The psychology of random numbers

Ben Hawes cruise at casual-tempest.net
Tue Jan 27 11:30:47 CET 2004

Hans-Henrik Stærfeldt wrote:

> This is an interresting and very useful piece of knowledge! 
> Usually, your standard I wonder though, if use the usual C PRNG
> are used, how many rolls do you have to make before you can
> determine this skew with any kind of statistical significance,
> using the usual C PRNG's, let alone notice this by playing the
> game?
> So i made a little program to test some of this;


> As you can see, by rolling 100 million times on a d20 (well a
> d20-1, not important), the modulus count of a given dice varies at
> most 0.067180% from the expected for the 11. I know, i should do
> this for several seeds, but i guess someone can contradict me if
> my numbers were just a fluke.
> Now, such a small skew can be extremely difficult to detect if you
> don't keep an extremely accurate track of all your rolls. I
> seriously doubt that any player will yell 'Hey why the f*** don't
> I ever roll an 11?'.
> The old 'random()' gives comparable results (at most: 10: -4539
> -0.090780%) Using 'lrand48()' is also comparable; (at most: 17: 5026
> 0.100520%)
> Anyway, though a few numbers on the table might be
> enlightening... :-)


Personally, the problems with random numbers on computers lie in two
other areas:

  1) Extreme results are just as likely as mid-range results.  Most
  naturally occuring random events follow the guassian distribution
  (the familiar bell curve), which make the outlying events
  extremely less likely. Most game random numbers are flatlines, so
  the high and lows occur more than players would expect

  2) Repetition, or streaks. While it's not actually correct,
  psychologically, people don't expect the same (or similar) thing
  to happen twice in succession. Random phrases from NPC's, critical
  hits, etc. all look suspicious when they repeat too closely.  For
  small sample sets, this can be avoided by keeping a table of
  probabilities for each event, and decreasing (or even setting to
  zero) the probability of an event, and increasing everything else
  to keep the total at 1.

Both these methods reinforce each other - in a guassian
distribution, outlying values are rarer, and so even less likely to
repeat. Players only notice extreme values for the most part, so
reducing repetition can make them seem as if they happen less often.

[ cruise / casual-tempest.net / transference.org ]
MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the mud-dev-archive mailing list