[MUD-Dev] A Small Conceptual Object System For MUDs

Ola Fosheim Grøstad <olag@ifi.uio.no> Ola Fosheim Grøstad <olag@ifi.uio.no>
Fri Nov 6 17:44:38 New Zealand Daylight Time 1998


This is an attempt to describe a small conceptual system which can be used
for describing the most common MUDs. It is not meant as a design for
implementation. Just as an extremely simple conceptual model, not even with
attributes specified.

I'm striving for a model with few, but meaningful, classes and single
inheritance.

It seems to be kind of obvious, but then again, I've messed up the obvious
before... Comments appreciated!

-- LEVEL 0 --
-- A minimal set of classes which is useful for describing typical systems.

CLASS Connection
Desc:   Represents all technical aspects in the server - client
relationship.  Holds information about information present on the client
side.
Birth:  When a client connects.
Oper:   Operative when being connected to both a client as well as a user
object.
Death:  Lost client. Lost relation to user object.


CLASS Entity (abstract)
Desc:   Represents something which the user perceive as an entity. Entities
generally indicate a need for an identifier.


CLASS User : Entity
Desc:   Represents the user, his name, password, statistics.  An online user
has a connection.
Birth:  Registration, perhaps by connection.
Oper:   Holds mostly static data.
Death:  Manual or rule based deletion.


CLASS Object : Entity (abstract)
Desc:   Represent something which the user perceives as a concrete object.
Has an extension in a location.


CLASS Avatar : Object
Desc:   The mediator between the user and the world. (perhaps one should
make a distinction between online and offline avatar)
Birth:  ?
Oper:   Mostly interactive and user controlled when linked to an online
User.
Death:  ?


CLASS CommGroup : Entity (abstract)
Desc:   A set of objects which can interact and communicate.


-- LEVEL 1 --
-- An extended set of classes, which still covers the most popular systems.
Some are purely conceptual, for instance: both a room based and a spatial
MUD still provides some kind of location, but their boundaries are typically
quite different.

CLASS Location : CommGroup (conceptual)
CLASS Item : Object


-- LEVEL 2 --
-- A set of classes which represents a type of muds.

CLASS Room : Location
CLASS Character : Avatar
CLASS CommChannel : Commgroup
CLASS Tool : Item

--
Ola





More information about the MUD-Dev mailing list