[MUD-Dev] Virtual Chemistry

Marian Griffith gryphon at iaehv.nl
Sat Aug 2 13:04:24 CEST 1997


On Wed 30 Jul, clawrenc at cup.hp.com wrote:
> In <Pine.LNX.3.96.970712223323.692F-100000 at mpc.dyn.ml.org>, on
> 07/12/97 
>    at 07:10 PM, Matt Chatterley <root at mpc.dyn.ml.org> said:
 
> >At a proposal from one of my wizards, I took into consideration a
> >global 'alchemy' setup, which would allow the mixing of potions from
> >ingredients, for various uses (magical effects, and spell components
> >notably).
> ...deletia...
> >What if we just simulated our own chemistry? Certain objects could as
> >'ingredients' (not really elements, more compounds), and combining
> >these ingredients would have predetermined reactions and results.
> >Further compounds could be obtained by appropriate mixes, which would
> >all have varying effects on the body (infusion of magic could somehow
> >guide these effects). This would obviously extend the alchemy idea -
> >the creation of poisons, herbal compounds and literally anything in
> >any state (which the PC was able to store).

> First thoughts on a representational model:
> Thus the leaves of the herb WaggaWagga might have a coordinate weight
> of (-5, 8, 3) presuming the simplistic case of only 3 principles.  The
> root of the UmbaUmba plant might have a value of (2, 9, -10).  Mix
> then together with GooGoo mud (0, 0, 2), and you get a substance (-3,
> 17, -5).  That location can be plotted in the coordinate system and a
> result computed:

Admitting immediately that the finer points of all the above are proba-
bly missed by me, this seems to me to be rather predictable. If you put
two sleeping potions together you get a stronger sleeping potions?
You would at least need a way to make sure that you cannot just mix two
or three ingredients together and  get potion or poultice.  And equally
important:  even if both the herb WaggaWagga and the UmbaUmba plant are
known for their sleep inducing qualities  that should not mean that you
can just replace the one with the other and get a similar result.  That
is what makes alchemy an art and a lore.

>   A minor weakening agent (-3) that also a *really* effective sleeping
> draught (17), and reduces physical dexterity (-5).

First off. You could start with having the numbers represent general ef-
fects rather than specifics. That way to create a sleeping potion you'll
have to create a high value for several of those numbers.
Secondly I think it would be better if  unless only specific numbers are
high and all others are low but not too low the potion just does not  do
much useful.  I.e. a potion in which all numbers are high is just a kind
of muddy water.  Nourishing perhaps  but not magical/mystical in nature.
And potions that have very high negative values act the same as high po-
sitive values.

> The reason for doing a coordinate system rather than a flat expression
> for each axis is that it allows you to put in break values.  Simple
> things like values on this axis smaller than X have this effect, and
> larger than Y have this totally other effect.  Compound that across
> multiple axis, and you can get a result which is far removed from the
> initial components.

I don't think I know what this means but no doubt it makes sense :)

> Next up would be to then special case certain combinations (reflective
> alchemy), such that components A (which normally has a very simple
> effect), and B (similarly simple), in combination do something else
> entirely (ie mutate into a totally different coordinate.

Which is quite the point of alchemy. You combine ingredients and rituals
that in and of themselves do nothing special  and get a result that does
something useful.

> This special casing can be handled without undue difficulty by
> building it into the base system.  Again, going back to the simplistic
> 3 principles above, just add various other "fake" principles after
> that.  Thus WuggaWugga could be (-5, 8, 3, 0, 12, 2) and UmbaUmba (2,
> 9, -10, -5, 9, -10).  Then when they're mixed the result is (-3, 17,
> -2, -5, 21, -8).  Now you can do your special casing on the fake
> values (-5, 21, -8).  Say things like if the first fake value is less
> than -5 it was apply (X,Y,Z) to the base matrix, it its over +5 apply
> (Q,R,S) etc.  This results in a really simple way to codify the
> exceptions and and special cases while allowing new components to be
> added which have their own unique behaviour.

This sounds rather complicated to me. Isn't there a way to do this
without math?

marian
--
Yes - at last - You. I Choose you. Out of all the world,
out of all the seeking, I have found you, young sister of
my heart! You are mine and I am yours - and never again
will there be loneliness ...

Rolan Choosing Talia,
Arrows of the Queen, by Mercedes Lackey




More information about the mud-dev-archive mailing list