1997Q3/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev]  Virtual Chemistry -->
<!--X-From-R13: [ngg Qunggreyrl <ebbgNzcp.qla.zy.bet> -->
<!--X-Date: Tue, 12 Aug 1997 06:19:46 +0000 -->
<!--X-Message-Id: Pine.LNX.3.96.970812071341.128B&#45;100000#mpc,dyn.ml.org -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199708112358.QAA05519#xsvr3,cup.hp.com -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev]  Virtual Chemistry</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:root#mpc,dyn.ml.org">
</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="msg00485.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00487.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00478.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00564.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00486">Author</A>
&nbsp;|&nbsp;<A HREF="#00486">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00486">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev]  Virtual Chemistry</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI>
<LI><em>Subject</em>: Re: [MUD-Dev]  Virtual Chemistry</LI>
<LI><em>From</em>: Matt Chatterley &lt;<A HREF="mailto:root#mpc,dyn.ml.org">root#mpc,dyn.ml.org</A>&gt;</LI>
<LI><em>Date</em>: Tue, 12 Aug 1997 07:18:28 +0000 (GMT)</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:neddy#itl,net">neddy#itl,net</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 Mon, 11 Aug 1997 clawrenc#cup,hp.com wrote:

&gt;    at 03:09 PM, Matt Chatterley &lt;root#mpc,dyn.ml.org&gt; said:
&gt; 
&gt; &gt;On Wed, 30 Jul 1997 clawrenc#cup,hp.com wrote:
&gt; 
&gt; &gt;&gt; First thoughts on a representational model:
&gt; &gt;&gt; 
&gt; &gt;&gt;   Create a coordinate system.  
&gt; &gt;&gt;   The axis of the coordinate system are the principles of your
&gt; &gt;&gt;     alchemy system (yes, lotsa dimensions).
&gt; &gt;&gt;   The purpose of the coordinate system is to define the 
&gt; &gt;&gt;     behaviour of a substance.
&gt; &gt;&gt;   Given a substance, a coordinate location can be computed from 
&gt; &gt;&gt;     its components.
&gt; &gt;&gt;   Given a coordinate location, the effect of the substabce can 
&gt; &gt;&gt;     be derived.
&gt; 
&gt; &gt;I was initially unsure about this, but the more I thought - the more
&gt; &gt;I liked it, and, for what I want to create, it makes perfect sense,
&gt; &gt;and seems to work nicely (at least theoretically).
&gt; 
&gt; FWIW I'd strongly recommend using a sparse array and interpolating the
&gt; missing chunks at runtime.

Especially if you have a lot of coordinates. I'm probably going to set it
up so you can leave anything that counts as 'normal' undefined, and will
be set as 0+/- a small variance for magical flux (or somesuch). For
instance there is no need to implicitly declare neutral Ph, or Nil magical
capacitance in a substance.

There will also be basic defines that can be copied, for instance ({
"water" }) would be treated as the stored composition of water, rather
than each person having to actually enter the appropriate coordinates.
 
&gt; &gt;&gt; Thus the leaves of the herb WaggaWagga might have a coodinate weight
&gt; &gt;&gt; of (-5, 8, 3) presuming the simplistic case of only 3 principles.  The
&gt; &gt;&gt; root of the UmbaUmba plant might have a value of (2, 9, -10).  Mix
&gt; &gt;&gt; then together with GooGoo mud (0, 0, 2), and you get a substance (-3,
&gt; &gt;&gt; 17, -5).  That location can be plotted in the coordinate system and a
&gt; &gt;&gt; result computed:
&gt; &gt;&gt; 
&gt; &gt;&gt;   A minor weakening agent (-3) that also a *really* effective sleeping
&gt; &gt;&gt; draught (17), and reduces physical dexterity (-5).
&gt; 
&gt; &gt;Yup. Of course, you'd need many more properties tracked.. but still,
&gt; &gt;we have the basic spirit captured here. First things which came to
&gt; &gt;mind were properties to track reactivity of substances, acidity, and
&gt; &gt;magical capacitance. More general things with relevant to the mixing
&gt; &gt;of chemicals. A question rose subsequently here - what about by
&gt; &gt;products? How do we tell if a by product should be produced? I have
&gt; &gt;yet to answer that one.
&gt; 
&gt; Yeah, the above example is deliberately simplistic and trivial.  

Well, you can't explain something like this if you do it in a complex
fashion. Discussion of this idea (or something vaguely resembling it) on
my mud's development list quickly descended into some quite complicated
overlays - for instance set patterns in which rituals and other effects
can be applied to anything to modulate their behaviour. For instance,
contact with enchanted gold while solid may always increase acidity
slightly.
 
&gt; By products are really a side effect of standard combinations.  Some
&gt; sort of indexed reaction is needed.  If you further extend the array
&gt; as follows, it can be done:

Yeah. This helps pave the way for easier multi-part mixes, too.
 
&gt;   Each substance has a unique ID value in its array.
&gt; 
&gt;   Each substance array also encludes a member which is a list of
&gt; arrays (maps really) which represents what quantities of what products
&gt; are produced when the current substance is mixed with the named (by
&gt; ID) substances.  

Heh, yeah. It might also be possible to use a simpler system, and say that
the byproduct is always a pre-set function of the combination (for
instance f(x)=x/2).
 
&gt; &gt;Incidentally, bringing in the concept of tracking state produces a
&gt; &gt;flaw in the design of many stock (LP) bases - you have a drink
&gt; &gt;inheritable, which all drinkable substances must include, defining
&gt; &gt;alchoholic properties etc (this is pretty standard accross LP,
&gt; &gt;excepting very different games). Of course, this is not going to
&gt; &gt;really work with liquids - in theory you can drink any liquid, but
&gt; &gt;you don't want to inherit drink into all of them!
&gt; 
&gt; The problem is a bad object model.  They should have a state base
&gt; class from which a liquid class is descended (or is a base class). 

Yes. What is rather remarkable about the model is its apparent popularity
- probably because of the heavy and widespread influence of the Nightmare
libraries.

Regards,
	-Matt Chatterley
	<A  HREF="http://user.itl.net/~neddy/index.html">http://user.itl.net/~neddy/index.html</A>
"Speak softly and carry a big stick." -Theodore Roosevelt


</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<ul compact><li><strong>Follow-Ups</strong>:
<ul>
<li><strong><A NAME="00564" HREF="msg00564.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>
<ul compact><li><em>From:</em> clawrenc#cup,hp.com</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00478" HREF="msg00478.html">Re: [MUD-Dev]  Virtual Chemistry</A></STRONG>
<UL><LI><EM>From:</EM> clawrenc#cup,hp.com</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00485.html">Re: [MUD-Dev] Graphic MUDS/Ultima Online</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00487.html">Re: [MUD-Dev] New to this mailing list</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00478.html">Re: [MUD-Dev]  Virtual Chemistry</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00564.html">Re: [MUD-Dev]  Virtual Chemistry</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00486"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00486"><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>Re: [MUD-Dev]  Virtual Chemistry</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<LI><strong><A NAME="00360" HREF="msg00360.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>, 
Matt Chatterley <a href="mailto:root#mpc,dyn.ml.org">root#mpc,dyn.ml.org</a>, Mon 04 Aug 1997, 05:06 GMT
<UL>
<LI><strong><A NAME="00383" HREF="msg00383.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>, 
Marian Griffith <a href="mailto:gryphon#iaehv,nl">gryphon#iaehv,nl</a>, Tue 05 Aug 1997, 03:36 GMT
<UL>
<LI><strong><A NAME="00388" HREF="msg00388.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>, 
Matt Chatterley <a href="mailto:root#mpc,dyn.ml.org">root#mpc,dyn.ml.org</a>, Tue 05 Aug 1997, 13:40 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</ul>
</ul>
</ul>
</ul>
<LI><strong><A NAME="00478" HREF="msg00478.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Tue 12 Aug 1997, 00:00 GMT
<UL>
<LI><strong><A NAME="00486" HREF="msg00486.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>, 
Matt Chatterley <a href="mailto:root#mpc,dyn.ml.org">root#mpc,dyn.ml.org</a>, Tue 12 Aug 1997, 06:19 GMT
<UL>
<LI><strong><A NAME="00564" HREF="msg00564.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Thu 14 Aug 1997, 20:43 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</ul>
<LI><strong><A NAME="00336" HREF="msg00336.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>, 
Marian Griffith <a href="mailto:gryphon#iaehv,nl">gryphon#iaehv,nl</a>, Sat 02 Aug 1997, 19:12 GMT
<UL>
<LI><strong><A NAME="00480" HREF="msg00480.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Tue 12 Aug 1997, 01:07 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00337" HREF="msg00337.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>, 
Marian Griffith <a href="mailto:gryphon#iaehv,nl">gryphon#iaehv,nl</a>, Sat 02 Aug 1997, 19:13 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>