[MUD-Dev] Hard Sci-fi muds was Character evolution

Shawn Halpenny malachai at iname.com
Tue Sep 2 12:08:33 New Zealand Standard Time 1997

Brian Price wrote:

> Assuming that the entire (for lack of a better word) section was
> generated at the same time and the random generator was unique to
> the generating thread, yes the storage of the seed or starting
> state of the generator along with the set of player affected
> objects in the section would suffice.   However  I fear  that we
> are merely applying a constant divisor to a problem that has no
> upper bound.   Assume x is the average number of players on the mud
> over a unit of time, each of these players will explore y new areas
> in that same time.   For the unit of time under consideration we
> have x*y new areas generated.   Our number of areas is then
> expressed as the x*y*t.  Over the lifetime of a good mud, this
> figure could grow quite large.  Any divisor must indeed be very
> large to have a significant impact.  

The key is to only track what's actually there (there was a thread or
three a few months back on this sort of thing that JeffK was
referring to).   The only time you need to show someone a real room
is if it truely is a room.  Otherwise, just show them the objects
that are there.  If there are no objects there, you can have whole
stretches of space (unless you're modelling the trace particles of
interstellar dust and what not) that take storage only when players
are floating in them or leaving things behind in them.   I am
planning my (large--on the order of four quintillion possible
"rooms") world to work in this fashion.  Almost all of those rooms
are empty and always will be (and the sod who decides to leave a
trail of breadcrumbs through each one just to suck up my storage
should be several generations dead (or a few hours bored beyond
imagining) long before he gets even close to being done).

Those rooms never exist--only what's inside them.  The descriptions for the
room are generated every time someone cares to notice them (optimizations
certainly abound).

[ choice B:  use a plot mechanism which justifies a finite univerese ]

> One approach that may make Choice B practical, would be to create a
> number of building blocks composed of human designed areas together
> with a set of rules as to where they could be used and how they
> could be assembled given the set of 'facts' (design parameters) for
> the section being generated.  After the set of building blocks was
> designed, a program could generate the sections and then the
> designer could walk thru and 'tweak' the area.   The section would
> then be represented in storage by its co-ords, seed value, its
> design parameters, a set of manual changes, and the set of player
> influenced data.  

As a builder this would drive me nuts--I can only use this area
building block _here_ to do _this_--not to mention this has to be
controlled and managed somehow.  Since you're going to be generating
sections anyway, why not assemble a pile of generic descriptions and
some logic for hooking them together and leave it up to your
algorithm to show them when necessary?  Then you can devote your
energy to creating the lavishly detailed real rooms in a few select
portions of your universe with scads of emptiness in between for
people to zip across in their Heart of Gold starships (which, if done
true to form, would severely stress my server as it passed through
every point in the universe, but that is neither here nor there).

> I may be missing something simple here that would reduce the order
> of magnitude of implementation complexity.  Perhaps there is a
> logical plot device that would restrict a player from examining
> asteroid BX179 in detail (allowing BX179 to be realistically
> represented as a single room perhaps).  To me though, it seems
> rather drab to land on an asteroid and be told you see a barren
> asteroid, the only exit is back to your spacecraft.  Even worse: 
> you land on the asteroid belt(???).

Ugh...I had a nasty Diku flashback there. You could model the asteroid
as a single entity with its own coordinate system that does the same
thing as the top level one does, but only for the asteroid (or
asteroid belt).  IIRC, you might want to get a look at the somewhat
recent neighbourhood threads and JCL's lumps and domains thread.

Shawn Halpenny

"Turn slowly for maximum vend."
                        - Me

More information about the MUD-Dev mailing list