1997Q3/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev]  Virtual Chemistry -->
<!--X-From-R13: [ngg Qunggreyrl <ebbgNzcp.qla.zy.bet> -->
<!--X-Date: from stimpy.globecomm.net [207.51.48.4] by in1.ibm.net id 870472983.44464&#45;1 Fri Aug  1 22:03:03 1997 CUT -->
<!--X-Message-Id: Pine.LNX.3.96.970801224918.136Q&#45;100000#mpc,dyn.ml.org -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199707310055.RAA19564#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="msg00326.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00328.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00301.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00328.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00327">Author</A>
&nbsp;|&nbsp;<A HREF="#00327">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00327">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>: Fri, 1 Aug 1997 23:02:14 +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 Wed, 30 Jul 1997 clawrenc#cup,hp.com wrote:

[Snip my original post]

&gt; First thoughts on a representational model:
&gt; 
&gt;   Create a coordinate system.  
&gt;   The axis of the coordinate system are the principles of your
&gt;     alchemy system (yes, lotsa dimensions).
&gt;   The purpose of the coordinate system is to define the 
&gt;     behaviour of a substance.
&gt;   Given a substance, a coordinate location can be computed from 
&gt;     its components.
&gt;   Given a coordinate location, the effect of the substabce can 
&gt;     be derived.

I was initially unsure about this, but the more I thought - the more I
liked it, and, for what I want to create, it makes perfect sense, and
seems to work nicely (at least theoretically).
 
&gt; Thus the leaves of the herb WaggaWagga might have a coodinate weight
&gt; of (-5, 8, 3) presuming the simplistic case of only 3 principles.  The
&gt; root of the UmbaUmba plant might have a value of (2, 9, -10).  Mix
&gt; then together with GooGoo mud (0, 0, 2), and you get a substance (-3,
&gt; 17, -5).  That location can be plotted in the coordinate system and a
&gt; result computed:
&gt; 
&gt;   A minor weakening agent (-3) that also a *really* effective sleeping
&gt; draught (17), and reduces physical dexterity (-5).

Yup. Of course, you'd need many more properties tracked.. but still, we
have the basic spirit captured here. First things which came to mind were
properties to track reactivity of substances, acidity, and magical
capacitance. More general things with relevant to the mixing of
chemicals. A question rose subsequently here - what about by products? How
do we tell if a by product should be produced? I have yet to answer that
one.
 
&gt; Or some such similar whatever.  You can then add other weightings,
&gt; such taht the WaggaWagga(-5, 8, 3) gets an added (-2, 1, -8) value
&gt; added if it is prepared by grinding in a special stone bowl while
&gt; chanting the desiderata backwards.  

It's easy to add in special cases once you have an established system,
almost trivial (some sort of basic db format seems in order, loaded at
runtime). Also, consider the states of compouds - mixing two solids
(powders) is hard. Or rather, you can mix them easily, but not chemically
combine them (unless they *really*really* react!). Of course, its not the
same with two liquids, and/or a liquid and a powder. Gases are pretty
tricky to react, too (without appropriate equipment).

Incidentally, bringing in the concept of tracking state produces a flaw in
the design of many stock (LP) bases - you have a drink inheritable, which
all drinkable substances must include, defining alchoholic properties etc
(this is pretty standard accross LP, excepting very different games). Of
course, this is not going to really work with liquids - in theory you can
drink any liquid, but you don't want to inherit drink into all of them!

Simple solution: Ditch the lame idea of a drink inheritable, and simply
make drinks chemicals with appropriate properties. This also allows the
use of common drinks (eg: water) in such reactions as formation of
solutions from powders, and dilution of solutions (and also brings in the
notion of concentration of solution). Excellent.
 
&gt; The reason for doing a coordinate system rather than a flat expression
&gt; for each axis is tht it allows you to put in break values.  Simple
&gt; things like values on this axis smaller than X have this effect, and
&gt; larger than Y have this totally other effect.  Compound that across
&gt; multiple axis, and you can get a result which is far removed from the
&gt; intial components.

Definitely. You can literally simulate the change in properties of
alchohols as you increase the length of the carbon chain (aka, add CH2 to
go up from Methanol to Ethanol, to Propanol and then Butanol, etc). The
effects are fairly subtle(ish), but mappable in this way. Woo.
 
&gt; Next up would be to then special case certain combinations (reflective
&gt; alchemy), such that components A (which normally has a very simple
&gt; effect), and B (similarly simple), in combination do something else
&gt; entirely (ie mutate into a totally different coordinate.

You could do special cases both by mutation of one or more properties, or
just by taking an effect 'out of the hat' and assigning it, so to speak
(for instance, a binary liquid, which is harmless on its own, but explodes
without explanation on contact with another similar liquid).
 
&gt; This special casing can be handled without undue difficulty by
&gt; building it into the base system.  Again, going back to the simplistic
&gt; 3 principles above, just add various other "fake" principles after
&gt; that.  Thus WuggaWugga could be (-5, 8, 3, 0, 12, 2) and UmbaUmba (2,
&gt; 9, -10, -5, 9, -10).  Then when they're mixed the result is (-3, 17,
&gt; -2, -5, 21, -8).  Now you can do your special casing on the fake
&gt; values (-5, 21, -8).  Say things like if the first fake value is less
&gt; than -5 it was apply (X,Y,Z) to the base matrix, it its over +5 apply
&gt; (Q,R,S) etc.  This results in a really simple way to codify the
&gt; exceptions and and special cases while allowing new compnents to be
&gt; added which have their own unique behaviours.

Yup.
 
&gt; &gt;Has anyone actually attempted anything of this nature, or
&gt; &gt;contemplated it?
&gt; 
&gt; Nope.

Well - that answer is changing now. The above reflect a few of my
considerations as I put pen to paper to map this out properly.

Another random one that just flew past:

We can represent loose solids in a room easily. Liquids fairly easily
(pools that can be manipulated with some difficulty, and that evaporate
over time based on their volitality), but what about gases? Should we
begin measuring the atmospheric compositions of a room/area/whatever, and
allowing for temporary changes?

Regards,
	-Matt Chatterley
	<A  HREF="http://user.itl.net/~neddy/index.html">http://user.itl.net/~neddy/index.html</A>
"Doublethink means the power of holding two contradictory beliefs in one's
	mind simultaneously, and accepting both of them." -George Orwell


</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="00478" HREF="msg00478.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>
<ul compact><li><em>From:</em> clawrenc#cup,hp.com</li></ul>
<li><strong><A NAME="00328" HREF="msg00328.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>
<ul compact><li><em>From:</em> Nathan Yospe &lt;yospe#hawaii,edu&gt;</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00301" HREF="msg00301.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="msg00326.html">Re: [MUD-Dev]  DESIGN: The purpose of MUDding?</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00328.html">Re: [MUD-Dev]  Virtual Chemistry</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00301.html">Re: [MUD-Dev]  Virtual Chemistry</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00328.html">Re: [MUD-Dev]  Virtual Chemistry</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00327"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00327"><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] not about pk anymore</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<LI><strong><A NAME="00304" HREF="msg00304.html">Re: [MUD-Dev] not about pk anymore</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Thu 31 Jul 1997, 08:18 GMT
</LI>
</ul>
</ul>
</LI>
<LI><strong><A NAME="00105" HREF="msg00105.html">Virtual Chemistry</A></strong>, 
Matt Chatterley <a href="mailto:root#mpc,dyn.ml.org">root#mpc,dyn.ml.org</a>, Sun 13 Jul 1997, 04:37 GMT
<UL>
<LI><strong><A NAME="00109" HREF="msg00109.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>, 
Adam Wiggins <a href="mailto:nightfall#user1,inficad.com">nightfall#user1,inficad.com</a>, Sun 13 Jul 1997, 12:09 GMT
</LI>
<LI><strong><A NAME="00301" HREF="msg00301.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Thu 31 Jul 1997, 07:56 GMT
<UL>
<LI><strong><A NAME="00327" HREF="msg00327.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>, 
Matt Chatterley <a href="mailto:root#mpc,dyn.ml.org">root#mpc,dyn.ml.org</a>, Sat 02 Aug 1997, 05:03 GMT
<UL>
<LI><strong><A NAME="00328" HREF="msg00328.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>, 
Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Sat 02 Aug 1997, 05:42 GMT
<UL>
<LI><strong><A NAME="00333" HREF="msg00333.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>, 
Matt Chatterley <a href="mailto:root#mpc,dyn.ml.org">root#mpc,dyn.ml.org</a>, Sat 02 Aug 1997, 15:55 GMT
<UL>
<LI><strong><A NAME="00348" HREF="msg00348.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>, 
Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Sun 03 Aug 1997, 08:06 GMT
<UL>
<LI><strong><A NAME="00350" HREF="msg00350.html">Re: [MUD-Dev]  Virtual Chemistry</A></strong>, 
Matt Chatterley <a href="mailto:root#mpc,dyn.ml.org">root#mpc,dyn.ml.org</a>, Sun 03 Aug 1997, 15:36 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</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>