[MUD-Dev] Re: MUD Design doc (long)

Mik Clarke mikclrk at ibm.net
Tue Jan 12 22:12:55 CET 1999


J C Lawrence wrote:
> 
> On Sat, 09 Jan 1999 22:34:11 +0000
> Mik Clarke<mikclrk at ibm.net> wrote:
> 
> > I've implemented the detailed descriptions as chains of keywords,
> > conditions and descriptions attached to rooms and
> > objects. 
> 
> What does this last mean?  The server can't send IO directly to the
> player any more as it has to pass thru the character object first.
> Further it encourages the code model where interface and
> presentation intelligence is removed from the server to the client,
> with the result that the character object becomes increasingly
> intelligent about such things and the data items it processes
> (rooms, objects, EQ, etc) increasingly simple if not non-existent in
> those regards.
> 
>   Why should a room care how a character or player perceives it?  It
> is an artificial division and badly breaks the relevent XXX design
> pattern (the Gang of Four book is at home and I'm not).
> 
>   Why not have the room (or whatever) contain all the relevent atoms
> of its own description and then have the client/character assemble
> and present those atoms in a way intelligent to *that* character?

Yes, I had something similer on my properly OO oriented Java.  The
client plugged into the back of the player and that was all the
information it got. 
 
> This makes objects responsible for their own data public contents
> (ie their attributes and method return values), and not for what is
> done with them.

Yes, but you also need a 'tag' field of some sort to indicate the
abilities that the character needs to be able to percieve the
information, so the client can work out exactly what the player does
see.  This is a property of the object being described, not of the
player percieving it.  I put the 'what can be seen' decision on the
server to cutdown on the ammount of data being sent - sending 5K of
conditional descriptions and only presenting 1K to the average player is
not very efficient.
 
>   For me names are not global (there are a very few exceptions).  As
> such objects don't have default names.  The character you ran into
> at the castle is only "Bubba" to you because that is what you
> explicitly named him.  You have no idea what he calls you.

That must make conversation between different players somewhat
comlicated...

 >look
 You are outside the moshpit.
 Sucker is here.
 Mik shouts; Where are you?
 >shout I'm at the moshpit 
 You shout: I'm at the moshpit
 Mik shouts: Ummm. Where's that?
 >look
 You are outside the moshpit.
 Sucker is here. 
 >shout It's an eating place. Sucker lives outside it.
 You shout: It's an eating place. Sucker lives outside it.
 Mik shouts: Is it the Golden Ribs in Honbar? Who's sucker?
 ...

Mik 
--
http://www.geocities.com/SoHo/Cafe/2260




More information about the mud-dev-archive mailing list