[MUD-Dev] MUD Design Fundamentals (Was: Looking for

Jon A. Lambert jlsysinc at ix.netcom.com
Sat Sep 6 01:02:58 CEST 1997


On  2 Sep 97 at 21:40, Ola Fosheim Grostad wrote:
> >explain what you mean by "splitting objects". As someone who isn't at
> 
> That's what changing the object-system was intended to mean.  To change,
> add and remove classes. To do major restructuring. 

I haven't heard of the term "splitting objects" either.  Nevertheless
I willingly accept ANY terminology as long as we are able to share 
conceptual understanding.  This sounds like a specific task of 
iterative design or development that I have done often.  I have no 
terminology for it though.

I might suggest that major restructuring can be avoided through 
intensive OO design work ahead of time.  And this depends on how 
much time you've invested into your mud's specifications.

I'm a big proponent of an 80/20 rule in effort in Analysis/Design as 
opposed to coding.  It takes a bit of patience to spec' a brainstorm 
rather than immediately code it.

> I wasn't talking
> about transforming instances, but in a pesistent system you would have
> to transform all instances of that class.  

Surely.  And this can be automated in a persistent system.  It may 
well be an expensive process.  But one must remember this is a 
development process.  I do not see this activity as occuring very 
often in a live and running mud.  You may well have significant  
concerns with a highly active user-base in a commercial environment.
This wouldn't be a major concern in my environment. 

> I'm not used to discuss OO
> outside my university, except for a whort while on a oo newsgroup which
> ended in some kind of flamewar between those that only viewed oo as a way
> of extending a programminglanguage, and those that viewed it as a
> way to build a conceptual model of the problem space (the part of the
> world that your program cares about).  

I wouldn't flame you over this. :)

> According to my OOA book
> "object system" is supposed to mean: The coming users perception of what
> the computersystem is used to admin, control or supervise.  This
> wouldn't make sense in a MUD system however.  When I talk OOP I take it
> to mean what concepts are present, and how they relate.  But I use it on
> a conceptual level, not on an instance level.

Hmm, it may be more productive to use OOP or OOPL when discussing 
implementation concerns and OO, OOA, or OOD when discussing 
conceptual concerns.  At least I think(?) many OOers on the list may 
concur with this.
 
> >Diku's where zone files are parsed and loaded. We mean something where
> >stuff can be written back to the disk representation when it is no longer
> >needed (e.g. the caching mechanisms have decided to punt it to make
> >space for something else).
> 
> OK. I figured quite a few LP's threw things back on disk, though not by
> caching. I'm probably wrong then.  Of course most of the stuff in LPs
> are generated and not stored, though objects get compiled and cloned
> when needed.

Sure.  I can't comment on what LPMuds are doing.  But many of us are 
doing "disk-based" systems and I think we all recognize the value of 
cheap memory.  I am using a configurable cache which can use all 
available memory if I desire.  I am also taking advantage of 
multi-threading especially in the area of network and disk I/O.  You 
mentioned in another post the ease of editting flat textual 
information.  I think the editting information in "popular" database 
formats can even be more convenient or productive.  That depends on 
your toolset to a good degree.
 
> >There is more to persistence than saving the state of the entire system?
> >Huh? Please elucidate.
> 
> You have to deal with realtime information, that changes between runs or
> which is invalid between runs, either by not saving, cleaning up before
> saving, cleaning up after saving or avoiding.  In a dedicated system, you
> may of course hide that stuff.

Transaction based recovery and restart.  Look to database theory for 
solutions here.

Jon A. Lambert



More information about the mud-dev-archive mailing list