[MUD-Dev] Procedural content generation, randomness

Brian Hook bwh at wksoftware.com
Sat Oct 13 17:33:39 New Zealand Daylight Time 2001

At 08:32 PM 10/13/01 +0100, Adam M. wrote:

> How about if you generate the higher level content using
> less-random pseudo-random number generators? You'd get obvious
> patterns forming. Let the players invent reasons for those obvious
> patterns.

That's basically what my "keyframed random generator" does.

Let's take an actual example.  Say you have a universe where star
systems exist on an integer grid, with 10-bits in each dimension.
In other words, a universe that is 1024x1024x1024 light years on a
side.  There's a random chance that a star system exists at each
grid point -- the odds are irrelevant, so let's just say 25% for

A player arrives at 102, 992, 541.  The PRNG says "Hey, there's a
star system here".  You then shift and combine the grid coordinates
to get a nice 30-bit seed of the form (X<<20)|(Y<<10)|Z.  This seed
then is fed into your star system generator and out pops a unique
star system.

Great, it works fine -- except it is completely uninfluenced by the
outputs of the adjacent cells.  So the empire being built at
100,978,544 has no impact on this one.

What I plan on doing is having some key areas that are hand tweaked
by a designer.  Then these areas have spheres of influence (with
diminishing influence proportional to distance, etc.) that affect
the variables, including star system existence all the way down to
civilization type.  This will give better clustering (whereas the
"25% system" gives an even distribution, effectively noise with no
sense of star clusters or ribbons), and more cohesiveness.

This is somewhat analogous to point-sampling vs. applying a weighted
convolution filter to each sample (not a perfect comparison, but
close enough).

Related to this topic, a lot of the comments made about my original
post were along the lines of "Well, it seems like the problem is
with the random content generator -- if it doesn't make things feel
human, it's just not good."

Which is true, and there is truth to the notion that we don't have
the technology yet to do "real" content generation, which I guess
was my point, just poorly stated.  Right now most type of content
generation consists of chained table lookups.  I'm filling in a
universe as opposed to growing one -- a huge, huge difference.

Right now there's no way for an random content generator that would
be able to produce a story of the depth a human could.  "Omega Tau
Three is at war with Omega Tau Two because Prince Halifish slept
with his brother's wife."  An entire universe can arise based on
that premise, from major things like the two warring systems to
minor things like the value of crimson hats being very high because
the Princess likes them; or that crimson hats are illegal on Omega
Tau Two for the same reason.  Sure, I make a content generator that
will make that exact situation, but it will also make it elsewhere,
thus ruining any real sense of uniqueness.

"Oh, I just showed up in Alpha Orion Tau -- it's the Princess War
scenario, I'm bailing.  Let's see what scenario exists at the
Thracian Binaries".


MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list