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

Ben Hawes cruise at casual-tempest.net
Tue Jan 27 11:30:47 New Zealand Daylight Time 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;

<snip>

> 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... :-)

Indeed.

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
"naturally".

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
https://www.kanga.nu/lists/listinfo/mud-dev

```