1998Q2/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: Databases: was Re: skill system -->
<!--X-From-R13: X Q Znjerapr <pynjNhaqre.rate.ftv.pbz> -->
<!--X-Date: Fri, 26 Jun 1998 19:00:40 &#45;0700 -->
<!--X-Message-Id: 199806270159.SAA07663#under,engr.sgi.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199806200815.DAA06995@dfw&#45;ix12.ix.netcom.com -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Re: Databases: was Re: skill system</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:claw#under,engr.sgi.com">
</head>
<body background="/backgrounds/paperback.gif" bgcolor="#ffffff"
      text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000">

  <font size="+4" color="#804040">
    <strong><em>MUD-Dev<br>mailing list archive</em></strong>
  </font>
      
<br>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg01228.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01230.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg01282.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01211.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#01229">Author</A>
&nbsp;|&nbsp;<A HREF="#01229">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#01229">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: Databases: was Re: skill system</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Subject</em>: [MUD-Dev] Re: Databases: was Re: skill system </LI>
<LI><em>From</em>: J C Lawrence &lt;<A HREF="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</A>&gt;</LI>
<LI><em>Date</em>: Fri, 26 Jun 1998 18:59:55 -0700</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
On Sat, 20 Jun 1998 04:17:25 -5 
Jon A Lambert&lt;jlsysinc#ix,netcom.com&gt; wrote:

&gt; Part of the problem is in mapping a mud's objects to storage.

The other part of the problem is mapping the storage to the soft
language.

&gt; Mush, MOO and LP objects' attributes are runtime dynamic.

&gt; RDBs are ideal for mapping objects with static runtime attributes.
&gt; In order to succesfully map an object with dynamic runtime
&gt; attributes to an RDB, the object must be reflective.  That is it
&gt; must be at all times self-aware of it's attributes.  In addition the
&gt; RDB ideally is designed in such a way as to implement object
&gt; reflectivity instead of the object directly.  This requires an
&gt; interface or translator module.  One can certainly map an object
&gt; directly to an RDB using what static properties are known to all
&gt; objects and putting the dynamic properties into a binary blob.  This
&gt; is quite similar to the conventional use of dbm and related
&gt; implementations.  

Quite, and is so far the approach I am considering taking.  While I'm
not entirely clear on your use and definition for "reflective" and
"self-aware" above (please expound), your mention of a translator
module would seem to suggest that you are looking at the same type of
model I am: various meta tables (mostly containing the names of other
tables) which are used to define the structural relationships and
their significance between the tables.

Thus for instance as I have multiple forms of containment outside of
the basic "The brick is in the bag" (eg what area is the object in,
what realm is it in, does it belong to any super-class object sets
(cheaper than inheritance), weather patterns (in the storm), etc), I'd 
have a table which merely lists the tables which express the various
forms of containment and their human-readable significance.  A custom
translator would recognise the significance of this meta table, and
thus in browsing the DB display the appropriate relationships
accordingly.

Am I anywhere near the right camp?

Yes, there is very few benefits that I see over th opaque DBM blob.
Performance is not one of them.  The main benefit I see is that the
use of such an external (and to the soft code opaque) DB encourages a
little more structural rigour on the soft code design, which in turn
makes external browsing easier (consider the number of ways of
implementing or re0inventing containment in soft-code, as versus
adding a table entry and having the rest fall componenet-wise in your
lap (cf Usenet thread)).

BTW: an article some of you may be interested in on programming
characteristics:

  URL:<A  HREF="http://www.salonmagazine.com/21st/feature/1998/05/cov_12feature.html">http://www.salonmagazine.com/21st/feature/1998/05/cov_12feature.html</A>

&gt; If this was the implementation of the above mush experiment, then I
&gt; do not see very much beneficial in this approach, except to exceed
&gt; any hardcoded limitations of dbm vs mysql. (If there are any?).

Quite.  Using an SQL base to implement a DBM analogue seems curious if
that's what they did.

&gt; The simplest and most easily understandable form of reflectivity in
&gt; storage that I know about would be the DIF format (VisiCalc anyone).
&gt; Not that I'm recommending it for use, just for getting aquainted
&gt; with the concept.  It's quite limited.

URL:<A  HREF="http://www.ipahome.com/gff/textonly/summary/lotusdif.htm">http://www.ipahome.com/gff/textonly/summary/lotusdif.htm</A>

-- 
J C Lawrence                               Internet: claw#null,net
(Contractor)                               Internet: coder#ibm,net
---------(*)                     Internet: claw#under,engr.sgi.com
...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...


</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="01152" HREF="msg01152.html">[MUD-Dev] Re: Databases: was Re: skill system</A></STRONG>
<UL><LI><EM>From:</EM> "Jon A. Lambert" &lt;jlsysinc#ix,netcom.com&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg01228.html">[MUD-Dev] Re: WIRED: Kilers have more fun</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg01230.html">[MUD-Dev] Re: Levelless MUDs</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg01282.html">[MUD-Dev] Re: Embedded languages was Re: Databases: was Re: skill system</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg01211.html">[MUD-Dev] Re: Databases: was Re: skill system</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#01229"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#01229"><STRONG>Thread</STRONG></A></LI>
</UL>
</LI>
</UL>

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<ul><li>Thread context:
<BLOCKQUOTE><UL>
<LI><STRONG>[MUD-Dev] Re: Databases: was Re: skill system</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<LI><strong><A NAME="01188" HREF="msg01188.html">[MUD-Dev] Re: Databases: was Re: skill system</A></strong>, 
s001gmu <a href="mailto:s001gmu#nova,wright.edu">s001gmu#nova,wright.edu</a>, Wed 24 Jun 1998, 04:45 GMT
<UL>
<LI><strong><A NAME="01199" HREF="msg01199.html">[MUD-Dev] Re: Databases: was Re: skill system</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Thu 25 Jun 1998, 05:50 GMT
</LI>
<LI><strong><A NAME="01280" HREF="msg01280.html">[MUD-Dev] Re: Databases: was Re: skill system</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Wed 01 Jul 1998, 01:42 GMT
<UL>
<LI><strong><A NAME="01282" HREF="msg01282.html">[MUD-Dev] Re: Embedded languages was Re: Databases: was Re: skill system</A></strong>, 
Vadim Tkachenko <a href="mailto:vt#freehold,crocodile.org">vt#freehold,crocodile.org</a>, Wed 01 Jul 1998, 03:17 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
<LI><strong><A NAME="01229" HREF="msg01229.html">[MUD-Dev] Re: Databases: was Re: skill system</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Sat 27 Jun 1998, 02:00 GMT
</LI>
</ul>
<LI><strong><A NAME="01211" HREF="msg01211.html">[MUD-Dev] Re: Databases: was Re: skill system</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Fri 26 Jun 1998, 06:38 GMT
<UL>
<LI><strong><A NAME="01217" HREF="msg01217.html">[MUD-Dev] Re: Databases: was Re: skill system</A></strong>, 
s001gmu <a href="mailto:s001gmu#nova,wright.edu">s001gmu#nova,wright.edu</a>, Fri 26 Jun 1998, 17:01 GMT
<UL>
<LI><strong><A NAME="01281" HREF="msg01281.html">[MUD-Dev] Re: Databases: was Re: skill system</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Wed 01 Jul 1998, 02:01 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</ul>
<LI><strong><A NAME="01165" HREF="msg01165.html">[MUD-Dev] Re: Databases: was Re: skill system</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Mon 22 Jun 1998, 22:57 GMT
</LI>
</ul>
</ul>
</LI>
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>