Objects are the entities you manipulate in order to bring about the transformation
of your vision into a simulated reality. To link your ideas to a MUDzilla simulation, you
will organize them into the people, places and items which constitute your thoughts.
From there, you will link these objects together into some sequence of events, which,
taken as a whole, represent the underlying story you wish to tell.
Structurally speaking, objects are divided into two parts:
Properties represent individual pieces of information which reflect some chacracteristic of an object,
such as the object's size, its name, or its color. Properties are the data portion of an object.
Methods are blocks of machine-readable code which, when executed, perform actions asscociated with
managing the object to which they belong. Methods are the code portion of an object.
As a simulation designer, you need only concern yourself with the property side of any
simulation object. MUDzilla handles the method portion of the object model. Simply
by manipulating the values of
an object's properties, you can create complex simulation elements.
The properties of an object are organized into two, broad types:
- Memory Properties. Properties configured as memory properties retain their
values only during the lifetime of an instance
of the object in question. Once an object instance is destroyed, the values of its memory properties
- Persistent Properties. Properties configured as persistent properties have
their values stored within the fields of database tables, and thefore persist between
instances of an object. Persistent properties link the object model to the
database model of MUDzilla.
Where an object specifies one of your ideas, the class of that object represents the blueprints
necessary to build the structure which will contain your idea while the simulation is active. Object
classes can be
thought of as the scaffolding necessary to build a large building, or the physical cabling of a telephone
network as opposed to the actual calls crossing the wires. MUDzilla organizes object classes
into a collection of objects known as the
MUDzilla Class Library, a subset of
the object database which contains definitions for all your objects, and their properties. In all, 95
object classes, containing over 1,100 properties, are defined by MUDzilla,
and provide everything you need to create a sophisticated simulation environment.
We meet the requirements of the Nothing Unreal Exists
axiom by virtue of the object model itself, which describes not only objects, but the classes which define them.
Where we run into trouble is when we want to store the data which represents each simulation object in
the same database with the data which describes each class of object. This merging of object and class data
begins to blur the lines between the data of the simulation, and the definition of that data. How
do we tell, from object to object, which properties store data, and which store data definitions?
We turn to Gödel's Incompleteness Theorem
for the answer, one which makes use of a database entity called a key. Each object within
MUDzilla possesses an object key which uniquely identifies the object as a
distinct entity within the simulation. To satisfy Gödel's Incompleteness Theorem,
we created two distinct key systems, one for simulation objects, and one for class definition objects.
These key systems themselves are object-oriented, as class definition keys are embedded within
simulation object keys.
The two object key systems used by MUDzilla are defined as follows:
- Definition Objects. Objects that contain data which describes the structure of
other objects are called definition objects. Each of these objects
ClassName property which associates the object
with the class it defines, and forms the basis for the object keys used
by all definition objects.
- Simulation Objects. Objects which contain data associated with the delivery of the underlying
story are called simulation objects. Each of these objects is uniquely identified
The primary interface you will use to manage simulation objects is the MUDzilla
a windows-based software application. A special object, called an
allows you to change the values of other simulation objects by filling out a few
windows-based forms. Most of your ideas will be heavily based on the core
of MUDzilla, which includes over 600 event objects. As your simulation evolves,
you will base your new new creations largely on your existing works, both for increased consistency
of the underlying story, and the reduction of development time. The object model
allows you access to as much or as little of the existing
of objects as you need to implement your ideas.
The following diagram illustrates how the object and database models are linked together. The large yellow
arrows indicate how data passes through the object model. You can click on the image to receive glossary
definitions of each element within the diagram.