[MUD-Dev] Wilderness

Ling Lo ling at slimy.com
Thu Aug 2 03:32:04 CEST 2001


On Wed, 1 Aug 2001, Brian Hook wrote:

> This is true, however the general problem is that you lose artist
> and designer input.  So while you can make vast, impressive worlds
> ripe for exploration, you end up having little fine grain control
> over specific areas, e.g. wanting a river to turn left instead of
> right.  You can control coarse variables, like input seeds,
> roughness factors, tile sets, etc. but that still doesn't offer
> the level of control that many creative types want to see.

> For generating lots of huge and detailed worlds, I think
> procedural generation is the way to go.  When I have the time I
> want to get around to writing a massive space exploration game.

Indeed, I've been looking at the Perlin noise function recently.

  http://students.vassar.edu/~mazucker/code/perlin-noise-math-faq.html
  http://www.noisemachine.com/talk1/
  http://www.mrl.nyu.edu/~perlin/doc/oscar.html#noise

As said in the following article:

  http://www.gamasutra.com/features/20010302/oneil_01.htm

It's possible to use it to generate heightfields for a world by
using the modified Perlin noise function to generate a continuous
heightfield for a sphere (i.e. it wraps).  To reiterate from the
above article, marshal a latitude/longitude point on a sphere into a
vector and feed it into a 3D noise function.

Funny enough, if you get a 4D noise function, you can have a
continuously modifying heightmap by supplying time as the forth
dimension.  Extrapolate this to other applications and it's possible
to use this for partial lazy simulation.  I'd suggest dividing the
time by a really high number to stop the landscape rippling its
muscles every night.

The big drawback with this approach is that it's not possible to
apply the "butterfly in the rainforest causes a hurricane" effect.
If an external event happens at time A with far reaching aftermaths
(permanent), then this will have to be stored explicitly and applied
to the noise.  Personally, I wonder if it is possible to alter the
gradient vectors in the lattice so as to allow artistic control.  It
probably is but I do not have the time to sit down and work out the
proofs at the moment.  I know it only involves vector dot products
but it's been years since I last did mathematic analysis!

--
  |   Ling Lo
_O_O_

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



More information about the mud-dev-archive mailing list