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
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).
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 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.
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.
Christopher commented that they do the same things (assembling their
super-class from more malleable single-purpose pieces) -- except
that they do it conciously and with intent aforethought.
Having noodled it for a few days now, several things become
alarmingly easier: All those problems of namespace conflicts and
layering in standard inheritance models largely fall out as the
developer of a base class knows from the very beginning what the
structure is that he's going to have to be able to play nicely with.
The various problems of picking how to assemble the inheritance tree
of some new special object that really isn't quite the same as
anything you have, also tends to fall out (tho not compleatly).
Logical consistency between widely diverse object types becomes
easier to maintain (but still possible to do wrong). The bigger
gain there is that feature set changes become instantly infectious
across the entire object space in that when you add a feature
everything instantly gets _and_ groks it -- which also reveals one
of the more insidious problems:
Security -- most especially in free user programming models.
With standard inheritance models (be it the normal top-down or
aquisition based models), it is easy to control and mandate what
behaviours and methods an individual client object may have. It may
be difficult to get exactly the ones you want, but what you do get
is very deterministic, easily defined and documented, and (somewhat)
easily controlled and constrained across future changes to the
inheritance tree. This is mainly due to the fact that there is only
one method and entry point for editing groups of object definitions:
edit a direct parent.
The result is that the impact of changes is more constrained as root
classes are typically stable and unchanging (and easy to lock down
as being impossible to change without extreme access
qualifications). However, in the everything-is-the-same approach,
all base classes are root classes in that all objects (at some
level) descend and inherit from everything. Thus changing one,
seemingly innocuous base class (perhaps dealing with the decay of
wood products in marine environments) has the potential to affect
every object in the entire game (eg whether or now you can leap tall
buildings in a single bound).
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?
--
J C Lawrence Internet: claw@kanga.nu
----------(*) Internet: coder@kanga.nu
...Honorary Member of Clan McFud -- Teamer's Avenging Monolith... - 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
- 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