March 2000
- Portal Matthew Mihaly
- randomly dropped connections Matthew Mihaly
- randomly dropped connections cg@ami-cg.GraySage.Edmonton.AB.CA
- randomly dropped connections Ben Greear
- randomly dropped connections J C Lawrence
- randomly dropped connections adam@treyarch.com
- randomly dropped connections Kevin Littlejohn
- Mud Network Setup Jon A. Lambert
- Mud Network Setup adam@treyarch.com
- Mud Network Setup J C Lawrence
- Mud Network Setup David Bennett
- Mud Network Setup Todd McKimmey
- Mud Network Setup David Bennett
- Mud Network Setup J C Lawrence
- Mud Network Setup adam@treyarch.com
- Mud Network Setup Jon A. Lambert
- Mud Network Setup J C Lawrence
- Mud Network Setup Emil Eifrem
- Mud Network Setup Dominic J. Eidson
- Mud Network Setup Emil Eifrem
- Mud Network Setup Eli Stevens {Grey}
- Mud Network Setup Todd McKimmey
- Mud Network Setup adam@treyarch.com
- Mud Network Setup cg@ami-cg.GraySage.Edmonton.AB.CA
- Mud Network Setup Steve Boleware
- Mud Network Setup Joe Andrieu
- Mud Network Setup John Bertoglio
- (fwd) MU* hiasb@cc.gatech.edstory? claw@kanga.nu
- (fwd) MU* hiasb@cc.gatech.edstory? cg@ami-cg.GraySage.Edmonton.AB.CA
- (fwd) MU* hiasb@cc.gatech.edstory? Ola Fosheim Grøstad
- (fwd) MU* hiasb@cc.gatech.edstory? adam@treyarch.com
- (fwd) MU* hiasb@cc.gatech.edstory? 송재경
- Processor Usage Christopher Kohnert
- Processor Usage J C Lawrence
- Processor Usage Dominic J. Eidson
- Processor Usage Ben Greear
- MUD-Dev digest, Vol 1 #298 - 11 msgs Dr. Cat
- MUD timeline Koster, Raph
- MUD timeline cg@ami-cg.GraySage.Edmonton.AB.CA
- MUD timeline Jon Leonard
- MUD timeline Richard Woolcock
- MUD timeline J C Lawrence
- MUD timeline Kristen L. Koster
- MUD timeline Kristen L. Koster
- MUD timeline Lovecraft
- MUD timeline Koster, Raph
- MUD timeline AR Schleicher
- MUD timeline Matthew Mihaly
- MUD timeline Matthew Mihaly
- MUD timeline Koster, Raph
- MUD timeline Dundee
- MUD timeline Darrin Hyrup
- MUD timeline Koster, Raph
- MUD timeline Moreland, John
- MUD timeline Darrin Hyrup
- MUD timeline jkerr@htech.withoutthisstuff.com
- MUD timeline __Deric___@yahoo.com
- MUD timeline Darrin Hyrup
- MUD timeline Erik Jarvi
- MUD timeline Travis Casey
- MUD timeline Jon A. Lambert
- MUD timeline Travis Casey
- MUD timeline Jon A. Lambert
- MUD timeline Travis Casey
- MUD timeline Bruce
- MUD timeline Daniel A. Koepke
- MUD timeline cg@ami-cg.GraySage.Edmonton.AB.CA
- MUD timeline Dr Richard A. Bartle
- MUD timeline Koster, Raph
- MUD timeline Hans-Henrik Staerfeldt
- MUD timeline Koster, Raph
- MUD timeline Hans-Henrik Staerfeldt
- MUD timeline Sellers, Michael
- MUD timeline Jon Whitehouse
- MUD timeline Derek Snider
- MUD timeline J C Lawrence
- MUD timeline Sellers, Michael
- MUD timeline Matthew Mihaly
- MUD timeline J C Lawrence
- MUD timeline Ryan Palacio
- Mud Timeline Darrell Michaud
- Mud Timeline Klimon, Ian
- Mud Timeline Matt Mihaly
- ADMIN: Ooops, damn... J C Lawrence
- FW: MUD timeline Daniel James
- MUD timeline F. Randall Farmer
- MUD-Dev digest, Vol 1 #298 - 11 msgs Koster, Raph
- Skotos Website Up Christopher Allen
- CGDC dinner J C Lawrence
- CGDC dinner Joe Andrieu
- CGDC dinner J C Lawrence
- CGDC dinner J C Lawrence
- CGDC dinner Joe Andrieu
- CGDC dinner Koster, Raph
- CGDC dinner Bruce
- CGDC dinner J C Lawrence
- CGDC dinner Derek Snider
- CGDC dinner Ryan Palacio
- CGDC dinner Koster, Raph
- CGDC dinner Sellers, Michael
- CGDC dinner Derek Snider
- CGDC dinner Joel Dillon
- CGDC dinner J C Lawrence
- CGDC dinner Emil Eifrem
- CGDC dinner Richard Ross
- CGDC dinner J C Lawrence
- CGDC dinner Wes Connell
- CGDC dinner Suess123@aol.com
- CGDC dinner Joel Dillon
- ADMIN: Posting delays J C Lawrence
- javascript Ola Fosheim Grøstad
- javascript cg@ami-cg.GraySage.Edmonton.AB.CA
- javascript Ola Fosheim Grøstad
- javascript Laurel Fan
- javascript Ola Fosheim Grøstad
- javascript Bruce
- javascript Ola Fosheim Grøstad
- javascript Bruce
- MUD-Dev digest, Vol 1 #302 - 6 msgs Dr. Cat
- Admin: Corrections, data loss, and interruptions in service. J C Lawrence
- Raph's collection of MUD design Laws Greg Underwood
- Raph's collection of MUD design Laws Wes Connell
- Raph's collection of MUD design Laws Kristen L. Koster
- Raph's collection of MUD design Laws Greg Underwood
- Raph's collection of MUD design Laws Caliban Tiresias Darklock
- Raph's collection of MUD design Laws David Bennett
- Raph's collection of MUD design Laws J C Lawrence
- (OT) Admin: Library memberships J C Lawrence
- Open Source Online Gaming Aaron Mitchell
- Open Source Online Gaming Koster, Raph
- Open Source Online Gaming Bryce Harrington
- Open Source Online Gaming Bruce
- Open Source Online Gaming J C Lawrence
- Open Source Online Gaming Bryce Harrington
- Open Source Online Gaming Ryan
- Open Source Online Gaming Erik Jarvi
- Open Source Online Gaming Derek Snider
- Open Source Online Gaming Aaron Mitchell
- GDC Dinner Matthew Mihaly
- GDC Dinner Justin Rogers
- ADMIN: looking for work? J C Lawrence
- [OT] Sound in games Erik Jarvi
- [OT] Sound in games Koster, Raph
- politics J C Lawrence
- Have openings Gary Whitten
- HTML as a MUD client . . . was javascript John Bertoglio
- ADMIN: Kanga.Nu will be moving (again) J C Lawrence
- ADMIN: Lost mail? J C Lawrence
- better usage through mechanics [from: CGDC dinner] Lovecraft
- better usage through mechanics [from: CGDC dinner] John Bertoglio
- better usage through mechanics [from: CGDC dinner] Joel Kelso
- better usage through mechanics [from: CGDC dinner] adam@treyarch.com
- better usage through mechanics [from: CGDC dinner] Ola Fosheim Grøstad
- Dynamic Load Balancing Kevin Scott London
- Open Source Environments (was: Open Source Online Gaming) scott guzman
- Open Source Environments (was: Open Source Online Gaming) Nathan F Yospe
- Fw: [RRE]MediaMOO birthday Celebration, March 20th 2000!!! Bruce
- Open Source Environments scott guzman
- MudDev FAQ part 1 Marian Griffith
- MudDev FAQ part 1 Todd McKimmey
- MudDev FAQ part 1 Marian Griffith
- MUD Dev FAQ part 1 Marian Griffith
- MudDev FAQ part II Marian Griffith
- Questions about the MudDev FAQ Marian Griffith
- Open Gaming? J C Lawrence
- Open Source Environments / MacOS X J C Lawrence
- Open Source Environments / MacOS X Chris Jacobson
- Star Wars gmud? Nathan F Yospe
- better usage through mechanics [from: CGDC dinner] J C Lawrence
- [CODE] unique items J. Coleman
- [CODE] unique items Draymoor
- [CODE] unique items cg@ami-cg.GraySage.Edmonton.AB.CA
- [CODE] unique items Matthew Mihaly
- [CODE] unique items Quzah
- [CODE] unique items J. Coleman
- [CODE] unique items Ben Greear
- [CODE] unique items Kevin Scott London
- [CODE] unique items Lord Ashon
- [CODE] unique items Marc Bowden
- [CODE] unique items J C Lawrence
- Kanga.Nu has a new IP J C Lawrence
- Licensing and Clauses Chris Jacobson
- The Meta list is now open and active. J C Lawrence
- Object and class heirarchies -- are they really necessary? J C Lawrence
- Object and class heirarchies -- are they really necessary? Par Winzell
- Object and class heirarchies -- are they really necessary? J C Lawrence
- Object and class heirarchies -- are they really necessary? Phillip Lenhardt
- Object and class heirarchies -- are they really necessary? J C Lawrence
- Object and class heirarchies -- are they really necessary? Phillip Lenhardt
- Object and class heirarchies -- are they really necessary? Kevin Littlejohn
- Object and class heirarchies -- are they really nec essary? Koster, Raph
- Object and class heirarchies -- are they really nec essary? Nathan F Yospe
- Object and class heirarchies -- are they really necessary? Draymoor
- Object and class heirarchies -- are they really necessary? scott guzman
- Object and class heirarchies -- are they really necessary? Chris Jones
- Object and class heirarchies -- are they really necessary? Dr Richard A. Bartle
- Object and class heirarchies -- are they really necessary? Lazarus
Are they necessary? I say yes. Are the complex multiple-inheritance
models many propose necessary? I think not..
On Tue, 21 Mar 2000, J C Lawrence wrote:
>
> I recently went over to chat with the Skotos gang. One of the
> things that came up was the handling of object heirarchies.
>
> Most of the OO-ish MUD designs out there have well developed class
> hairarchies with (often) dozens of classes related in variously
> complex fashions by a rather detailed inheritance tree with
> individual objects being descendents of some highly refined (in
> inheritance terms) branch of the tree. Its a well known and
> excercised approach with a lot of prior art and well known problems
> (eg trying to fit a new class into such a tree that attempts to
> assemble features of widely seperated branches can be a bitch).
Been there, done that. Thrown it away several times for exactly that
reason. I do wish in addition to being 'well known and exercised' it were
also well documented so the rest of us did not have to learn the falicy of
the approach the hard way.
>
> The Skotos guys (mostly Christopher Allen) made the point that at
> Skotos they instead essentially have only one object type, and
> everything is then an instance of that type. Thus player
> characters, NPCs, swords, rooms, bricks, pebbles, trees, sacks, etc
> etc etc are actually all instances of the same super-class with the
> only actual variance among them being in the values of the data
> attributes of each object. Thus, yes, it is trivial to walk inside
> your sword, fly a banana, pick up a room and throw it in the bin,
> etc and so forth. The only actual differences are the internal data
> values, and thus the _reactions_ of all the available methods.
This is where I wound up. My latest design concluded with a base class of
'mud_thing' from which everything else was derived. I thought it was cute
to pick up my test character (could be used for trouble makers as well)
and put him in my pocket.
>
> This surprised me as I'd been tending in that direction myself
> without ever having noticed. My object trees have been getting
> simpler and simpler, with less and less internal structure,
> following this trend quite closely withuot ever noticing it. Its
> almost at the point now where the only reason for having a class
> heirarchy is for logical clarity (so I don't have one huge class
> definition with 3,000 methods). I then assemble my very simple
> class heirarchy from these easily omprehendable components into a
> small number of super-classes, and then descend my objects from
> there.
Welcome to the enlightened.. I thought I was one of the few who came to
the inevitable conclusion of this line of reasoning. I gotta talk to
these Skotos folk since it seems they have got it right.
> ie My inheritance tree fans out into many small banrches, and then
> the branches then collect back together again (multiple inheritance)
> to produce the super classes.
Not wanting to start a religious war, but no way to say it any other way,
it has been said that multiple inheritance is the crutch of a poorly
designed class structure.. about half way between 'goto' and 'void
casting'. I think I have tried (and rejected) over a dozen different
class heirarchies on our diku hack and slash mud and have concluded the
same thing you are realizing. Rooms, objects, characters .. all of these
are 'mud_things'. They may contain other mud_things. They may be
contained within other mud_things. They all have the same basic
properties. They all have a large number of common attributed/methods.
Things are never the same once you start to think of OLC as 'picking this
room up and carying it to somewhere else'. The use of a master
'mud_thing' class also fits the KISS rule far better than any of the other
implementations I have seen.
The FAQ of this list says that interitance trees are a topic of this list
and I find it interesting that noone has presented in detail thier design.
I am glad you brought up a point that has bothered me for several years
with regards to why everyone seems to feel it necessary to make a dogs
breakfast of trees for what intuatively seems a very simple structure.
<snip a lot of good stuff>
>
> When your entire inheritance tree (from an object's perspective) is
> that you all descend from the same super-class -- how do you handle
> multi-user security and access controls for editing the consituent
> components of that super-class?
>
What is your question? You handle security of any instantiation the same
independant of whether it is multiply derived from multiple base classes
or derived from a single super class. Or, are you proposing online
editing of the base class definition? Now that would be one heck of a can
of worms. - Object and class heirarchies -- are they really necessary? Kevin Littlejohn
- Object and class heirarchies -- are they really necessary? Phillip Lenhardt
- Object and class heirarchies -- are they really necessary? cg@ami-cg.GraySage.Edmonton.AB.CA
- Object and class heirarchies -- are they really necessary? Brandon J. Rickman
- Object and class heirarchies -- are they really necessary? Marian Griffith
- Object and class heirarchies -- are they really necessary? Kevin Littlejohn
- Object and class heirarchies -- are they really nec essary? Brian Ashburn
- Object and class heirarchies -- are they really necessary? Par Winzell
- Object and class heirarchies -- are they really necessary? J C Lawrence
- Object and class heirarchies -- are they really necessary? adam@treyarch.com
- Object and class heirarchies -- are they really necessary? Kevin Littlejohn
- Gamasutra: Online Justice Systems Koster, Raph
- Gamasutra: Online Justice Systems Sayeed
- Gamasutra: Online Justice Systems Matthew Mihaly
- Gamasutra: Online Justice Systems Draymoor
- Gamasutra: Online Justice Systems Vijay Weasel Prabhakar
- Gamasutra: Online Justice Systems J C Lawrence
- Gamasutra: Online Justice Systems Sayeed
- Gamasutra: Online Justice Systems adam@treyarch.com
- Gamasutra: Online Justice Systems Dundee
- Gamasutra: Online Justice Systems David Bennett
- Gamasutra: Online Justice Systems Wes Connell
- Gamasutra: Online Justice Systems Koster, Raph
- Gamasutra: Online Justice Systems Fred Clift
- Gamasutra: Online Justice Systems Ola Fosheim Grøstad
- Gamasutra: Online Justice Systems Draymoor
- Gamasutra: Online Justice Systems Ananda Dawnsinger
- Gamasutra: Online Justice Systems Koster, Raph
- Gamasutra: Online Justice Systems Sayeed
- Gamasutra: Online Justice Systems Todd McKimmey
- Gamasutra: Online Justice Systems AR Schleicher
- Gamasutra: Online Justice Systems Sayeed
- Gamasutra: Online Justice Systems Wes Connell
- Gamasutra: Online Justice Systems Sayeed
- Gamasutra: Online Justice Systems Koster, Raph
- Gamasutra: Online Justice Systems Ola Fosheim Grøstad
- (fwd) mud.design.ideas Nathan Fenenga Yospe
- Command interface for Coordinate based world WriterDL@aol.com
- Command interface for Coordinate based world Draymoor
- Command interface for Coordinate based world adam@treyarch.com
- Command interface for Coordinate based world Nathan F Yospe
- Command interface for Coordinate based world Vijay Weasel Prabhakar
- Command interface for Coordinate based world Jeremy Noetzelman
- Command interface for Coordinate based world Laurel Fan
- Command interface for Coordinate based world Lovecraft
- ADMIN: Moving house and posting delays J C Lawrence
- MUD-Dev digest, Vol 1 #18 - 17 msgs Dr. Cat
- Embedding C/C++ Draymoor
- Embedding C/C++ Justin Rogers
- Embedding C/C++ J C Lawrence
- multiplaying Tess Lowe
- multiplaying Lovecraft
- multiplaying Wes Connell
- Online Justice Systems scott guzman
- Online Justice Systems Matthew Mihaly
- Online Justice Systems J C Lawrence
- Trouble Makers or Regular Citizens Justin Rogers
- Trouble Makers or Regular Citizens Matthew Mihaly
- Trouble Makers or Regular Citizens Wes Connell
- Trouble Makers or Regular Citizens Matthew Mihaly
- Trouble Makers or Regular Citizens Wes Connell
- Trouble Makers or Regular Citizens Marc Bowden
- Trouble Makers or Regular Citizens adam@treyarch.com
- Trouble Makers or Regular Citizens Matthew Mihaly
- Trouble Makers or Regular Citizens Jon Lambert
- Trouble Makers or Regular Citizens Rasdan
- Trouble Makers or Regular Citizens Matthew Mihaly
- Trouble Makers or Regular Citizens Par Winzell
- Trouble Makers or Regular Citizens Todd McKimmey
- Trouble Makers or Regular Citizens Justin Rogers
- Trouble Makers or Regular Citizens Todd McKimmey
- Trouble Makers or Regular Citizens J C Lawrence
- Trouble Makers or Regular Citizens Justin Rogers
- Trouble Makers or Regular Citizens Dan Shiovitz
- Trouble Makers or Regular Citizens Justin Rogers
- Trouble Makers or Regular Citizens J C Lawrence
- Trouble Makers or Regular Citizens Chris Jones
- Trouble Makers or Regular Citizens Justin Rogers
- Trouble Makers or Regular Citizens J C Lawrence
- Trouble Makers or Regular Citizens Dundee
- Trouble Makers or Regular Citizens Justin Rogers
- Trouble Makers or Regular Citizens Zak Jarvis
- Trouble Makers or Regular Citizens Todd McKimmey
- Trouble Makers or Regular Citizens Matthew Mihaly
- Trouble Makers or Regular Citizens Fred Clift
- Trouble Makers or Regular Citizens Gunnar Kreitz
- Trouble Makers or Regular Citizens Matthew Mihaly
- Trouble Makers or Regular Citizens Justin Rogers
- Trouble Makers or Regular Citizens Ananda Dawnsinger
- Trouble Makers or Regular Citizens Matthew Mihaly
- Trouble Makers or Regular Citizens Kevin Scott London
- Trouble Makers or Regular Citizens Matthew Mihaly
- Trouble Makers or Regular Citizens Marc Bowden
- Trouble Makers or Regular Citizens Koster, Raph
- Trouble Makers or Regular Citizens Jon A. Lambert
- Trouble Makers or Regular Citizens adam@treyarch.com
- Trouble Makers or Regular Citizens J C Lawrence
- Trouble Makers or Regular Citizens Jon A. Lambert
- Trouble Makers or Regular Citizens Koster, Raph
- Trouble Makers or Regular Citizens Koster, Raph
- Trouble Makers or Regular Citizens Par Winzell
- Trouble Makers or Regular Citizens Jon Lambert
- Trouble Makers or Regular Citizens Kristen L. Koster
- Trouble Makers or Regular Citizens Tess Lowe
- Trouble Makers or Regular Citizens Jon Lambert
- Trouble Makers or Regular Citizens Tess Lowe
- Trouble Makers or Regular Citizens Ola Fosheim Grøstad
- Trouble Makers or Regular Citizens Matthew Mihaly
- Trouble Makers or Regular Citizens Joe Andrieu
- Trouble Makers or Regular Citizens Chris Lloyd
- Trouble Makers or Regular Citizens David Bennett
- Trouble Makers or Regular Citizens Matthew Mihaly
- Trouble Makers or Regular Citizens Chris Lloyd
- Trouble Makers or Regular Citizens Ola Fosheim Grøstad
- Trouble Makers or Regular Citizens Koster, Raph
- Trouble Makers or Regular Citizens Matthew Mihaly
- Trouble Makers or Regular Citizens Zak Jarvis
- Trouble Makers or Regular Citizens J C Lawrence
- Trouble Makers or Regular Citizens Zak Jarvis
- Trouble Makers or Regular Citizens Par Winzell
- Online Justice Systems (response to J C) J C Lawrence
- Online Justice Systems (response to J C) scott guzman
- Meta: Questions about the MudDev FAQ Jon A. Lambert
- RE:Troublemakers and their M.O. Aaron Leslie
- RE:Troublemakers and their M.O. Baldur Norddahl
- RE:Troublemakers and their M.O. Chris Jacobson
- RE:Troublemakers and their M.O. Lovecraft
- RE:Troublemakers and their M.O. Tess Lowe
- RE:Troublemakers and their M.O. Kevin Scott London
- RE:Troublemakers and their M.O. Sellers, Michael
- RE:Troublemakers and their M.O. Kevin Scott London
- Object and class hierarchies -- are they really necessary? Christopher Allen
- ScryMUD 2.0.11 released. Ben Greear
- ADMIN: Spam filters and being unsubscribed J C Lawrence
- World and History Creation Ling
- characters per account Matthew Mihaly
- characters per account F. Randall Farmer
- characters per account Jeff Freeman
- characters per account Sellers, Michael
- characters per account LexaH@aol.com
- characters per account Jeff Freeman
- characters per account Matthew Mihaly
- characters per account AR Schleicher
- characters per account Matthew Mihaly
- characters per account AR Schleicher
- characters per account John Bertoglio
- characters per account Sayeed
- characters per account Matthew Mihaly
- characters per account Sayeed
- characters per account Brian Green
- characters per account Timothy Dang
- characters per account F. Randall Farmer
- characters per account Paul Schwanz - Enterprise Services
- characters per account Kristen L. Koster
- characters per account Paul Schwanz - Enterprise Services
- characters per account Ola Fosheim Grøstad
- characters per account Timothy Dang
- characters per account Paul Schwanz - Enterprise Services
- characters per account Darren Henderson
- characters per account adam@treyarch.com
- characters per account Jon Lambert
- characters per account Darren Henderson
- characters per account J C Lawrence
- characters per account Zak Jarvis
- Richard Garriot's 'X' project Matthew Mihaly
- Richard Garriot's 'X' project Sellers, Michael
- Richard Garriot's 'X' project skeptack
- Richard Garriot's 'X' project skeptack
- Richard Garriot's 'X' project AR Schleicher
- Richard Garriot's 'X' project Jeff Freeman
- Richard Garriot's 'X' project Brian Green
- Debugging techniques adam@treyarch.com
- Lord British gone Geoffrey A. MacDougall