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

Brian Hook brianhook at pyrogon.com
Mon Jan 26 21:43:44 New Zealand Daylight Time 2004

```On Fri, 23 Jan 2004 11:25:04 -0000,
Daniel.Harman at barclayscapital.com wrote:

> What do you use to do the analysis? I've always wanted to do that
> on Everquest because it has always seemed to be very
> streaky. There were enough complaints at one point that the devs
> actually commented on it (only to say its fine).

I don't remember what they used, but anyone that has a clue will, at
the very least, be using Mersenne Twister instead of the C rand().
And Mersenne Twister seems to be pretty well tested in the real
world.

That said, even if EQ had used C rand(), any bias would have been
_undetectable_ to a typical player on a server.  Think about it --
in a given zone, you have a few dozen mobs and a few dozen players,
all doing stuff.  PRNs are being generated several times a second --
what are the odds that your character is going to have locked,
sequential access to the local PRNG for 9 rolls in a row?

The fact is that streaks are inevitable.  This is a pretty
fundamental part of randomness -- if streaks didn't occur, then by
definition it wouldn't be random.

What people equate with randomness isn't true randomness, it's even
distributions based on some percentage.  E.g. if you have a 75%
chance of success, people expect to see:

T T T F T T T F T T T F T T T F

Or at least something approximation that.  If they occasionally get a:

F F F F F F T T T T T T T F F F

They freak out because it's "impossible" to get 6 failures in a row
(when, in fact, it's guaranteed to happen at some point).

We ran into this with our puzzle games of all things.  We had a
fixed percentage chance that a bonus item would appear every time a
new row of items was introduced, but sometimes instead of getting it
every 7 rows, you'd have to wait 25 rows for one, then get a streak
of, say, 2 bonus items in 3 rows.

So to fix that, you have to do a biased PRNG that takes into account
the last success, assigns a sliding bias as that time grows.

Which most definitely isn't random, but it FEELS more random.

Brian
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev

```