[MUD-Dev] Distributed PSW design

Eli Stevens wickedgrey at wickedgrey.com
Sat Jan 20 13:13:28 CET 2001


----- Original Message -----
From: "J C Lawrence" <claw at kanga.nu>
Sent: Friday, January 19, 2001 5:32 PM


> On Fri, 19 Jan 2001 11:48:30 -0800
> John Buehler <johnbue at msn.com> wrote:

>> I've got a little program that uses fractal subdivision on a
>> geodesic sphere to produce reasonable terrain.  The technique that
>> it uses could easily work such that the server sends a few magic
>> numbers to the client so that it can generate the terrain in a
>> given part of the world, but where the client does the majority of
>> the work.  Right now, the magic numbers are generated from the
>> pseudorandom number generator, rand() and then inferred from there.

> Most of the interesting work 3D world generation I know of is using
> some form of fractals and seeded algorithms to gen their
> environments client-side.  You then just apply deltas (which can be
> quite small) to implement post-generation changes (eg buildings,
> human artifacts, results of recent events (eg eruption, bomb crater,
> etc).  The bit that's bugged me about this approach is that
> simplicitly demands only convex hulls.  There are no complex forms,
> and in particular, there are no concave hulls (caves, arches,
> tunnels, caverns, convoluted canyons, etc).

While I agree that fractal generation is the way to go to create the
world, a caveat to making the client use the same technique is that
computationally intensive post-processing cannot be done on the
resulting terrain.  Things like erosion, continental drift, etc. are
all ruled out (from what I have heard, simulating erosion is very
slow).  It also means that as time passes and more and more players
leave footsteps, craters and foxholes, the terrain delta map will
become increasingly complex, eventually negating any benefit when it
becomes as complex as the original landscape (unless the terrain
"heals" itself over time, but that is not persistent enough for my
taste :).

If bandwidth becomes a problem, maybe something like sending an
interlaced .gif for the heightmap and then refining it over time would
work.  Not that I am suggesting .gif in particular, just something
along the same very general lines.


>> The factral program can be found at:

>>   http://communities.msn.com/JMFB/files/Terrain2.exe

>> with a somewhat less compute-intensive version at

>>   http://communities.msn.com/JMFB/files/Terrain.zip

> Any sources?

When I tried to run these, they bombed out within the first few
seconds.  "The instruction at '0x0040e5f4' referenced memory at
'0x00000000'.  The memory could not be 'read'."  Somewhere in there,
it looks like a NULL is slipping through the cracks.  Both programs
give me the same error when I run them back to back...  I am running a
well-service-pack'ed Win2k box with about 70 MB or so of physical RAM
free ATM.  Anyone else have any problems?

>> Personally, I don't see a big problem with game designers simply
>> looking around in a huge world for places that catch their fancy
>> and put interesting content in those areas.  I like the idea of
>> having a realistic terrain into which I can craft a story, versus
>> artificially-constructing terrain features in order to facilitate
>> unusual story ideas.  In any case, the 'tweaked fractal' approach
>> should permit plenty of control over the planet's structure.  To
>> save myself hassle, I left most everything random.

> Yup, there'e been quite a bit of discussion of such approaches here
> on the list.  In my limited play time my approach has been:

>   Set system to gen world data sets while I'm at work^H^H^H^Hwishing
>   I was asleep.

>   Review the half dozen or so results for any that are interesting
>   and then record the seed values that produced that data set.

>   Repeat.

Does the entire world depend on one seed, or can you seed patches of
the planet individually?  The program that I am working ATM leaves
everything as flat seabed, unless I specifically fill a patch with
height values.  If I like, I can have continents span multiple
patches, or just one, and they all (should) blend together seamlessly.
I say should because the current incarnation of the program is not
functional ATM, but I should have something presentable in a few days
(unless, of course, I decide to rewrite the durn thing for the
umpteenth time).  :) then, of course, I have to re-tool the viewer,
but I have enough directX examples and previous work that it should be
fairly painless.

As for OpenGL, I am taking a class on it this semester, so...  :) Are
projects like these considered "in-scope" for Pan?

--
> Eli Stevens <wickedgrey at wickedgrey.com> wrote:
> > What am I doing?  I'm typing to an empty computer.
> I don't understand...
'Cause there is a dead man on the other end of this email.




_______________________________________________
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