1998Q1/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev] Magic as Metaphor -->
<!--X-From-R13: X Q Znjerapr <pynjNhaqre.rate.ftv.pbz> -->
<!--X-Date: Tue, 17 Mar 1998 01:57:04 +0000 -->
<!--X-Message-Id: 199803170156.RAA18233#under,engr.sgi.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199803140459.WAA18889@dfw&#45;ix13.ix.netcom.com -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev] Magic as Metaphor</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="msg00729.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00731.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00714.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00691.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00730">Author</A>
&nbsp;|&nbsp;<A HREF="#00730">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00730">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev] Magic as Metaphor</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] Magic as Metaphor </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>: Mon, 16 Mar 1998 17:56:58 -0800</LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>

On Fri, 13 Mar 1998 21:05:01 PST8PDT 
Jon A Lambert&lt;Jon.A.Lambert#ix,netcom.com&gt; wrote:
&gt; On 12 Mar 98 at 19:55, J C Lawrence wrote:
&gt;&gt; On Thu, 12 Mar 1998 16:07:50 PST8PDT J C Lawrence&lt;claw&gt; wrote:
&gt;&gt; 
&gt;&gt; &gt; <A  HREF="http://www.vuw.ac.nz/~jay/nephilim/metaphor.html">http://www.vuw.ac.nz/~jay/nephilim/metaphor.html</A>
&gt;&gt; 
&gt;&gt; &gt; Magic as Metaphor &gt; An Alternative Magic System 
&gt;&gt; &gt; by Jamie Norrish, 1995 

...deletia...

&gt; I'm not familiar with the Nephilim magic system.  

Nor I.  Jaime alas is no longer on the list.

&gt; I haven't posted
&gt; much about magic systems other than on the threads related to
&gt; alchemy and deity systems.

My magic design m (IP, I don't like the primitve set yet -- its too
low level and unorganised) is loosely based on Waving Hands, the
earlier discussion of a magical algebra, and my already well defined
particle resource economy model. If you haven't played Waving Hands
yet -- do.  Its fun and educational in rather surprising ways.

I have moved away from tieing the magical casting expression to the
fingers ala Waving Hands.  Instead I'm positing that the finger
motions are merely a mode of expression which is tied to the caster's
personal memnonics and not to the magical end at all (cf finger
positions in some branches of kinesiology).  Thus some mages may cast
via finger wiggles, others may dance, tap rhythms on a drum, sit
motionless, count beads on a rosary, or whatever else fits their
mental strictures/structures.  Mages who need no mechanical assitance
for their mental framings and place-tracking might cast potent spells
quite off-handedly without visibly affecting their other actions.

The underlieing reasoning for this abstraction is that I found it
awfully difficult to think of how to have either a swarm body, or an
amorphous blob play Waving Hands using the finger style.  Similar
considerations ruled against the two-handed strictures of Waving Hands 
as well.

That said, the visuals are easier to understand from a fingers
perspective.

There are a number of base primitives.  These are things like: energy,
motion, explosion, implosion, etc, modifers like direction, location,
sign-reversal, relatives which define an affinity of type, character
or location to another existant object, and finally there are also
termination primitives which are currently open, close, and release.

A spell is then an algebraic expression composed of these primitives.
Thus a typical fireball spell might be expressed in normal algebra as:

  open + energy + energy + energy + frame + particle 
  + type_affinity_to_fire + close 

Which expands to: Three energy units, in a single particle, with the
particle being like fire.  This would create a "spell object".  To do
this finger-style might be:

  Three fore-finger taps, a fore-finger thumb frame, a pinky-finger
thumb circle, a bent thumb down and fore-finger point at fire, with
flat hand to close.  

In a fight the mage would (algebraicly) then do:

  open &lt;fireball_object&gt; + direction_to_target + motion + motion 
  + close + release

With the result being a fireball flying from the caster to the target
with double speed (motion + motion).

Much more effective however would be:

  open &lt;fireball_object&gt; + location_affinity_to_target + close 
  + release

Which would cause a firey explosion at the target's location
where-ever he was without necessarily traversing the intervening
distance.  

From a player perspective this comes out as, "yeah, some energy, and
more and more, lump it all together, make it like firem aim it at
Bubba, and SHOOT!".  It also quite nicely translates to a GUI
interface where all the primitive components are buttons etc.

Two points are notable:  Spell objects, and spell releases.  They are
seperate things.  A cast spell merely creates an unrealised potential
-- essentially a probability structure.  Releasing the spell attempts
to create the probability structure IRL.

Lots of other things come into play in these regards, making for
potentially incestuously intricate play:

Casting the spell of course consumes particles of various types and
signs (mana etc, see prior discussion on particle type conversion and
zero-sum totals).  If the particles are not available, then the
algebra fails.  By default these failures release the spell -- which
could be deadly if you're in the middle of building a *really* huge
fireball when Bubba walks up and arranges for all the local mana to go
elsewhere...  Such can be prtected against, but its expensive.

A cast spell creates a spell object.  Actually its created when the
spell is started, but it only starts pretending to be stable when the
spell is closed.  Spell objects are not physical objects, tho they can
be embedded in physical objects.  Like all objects they are consumers
and producers of various particle types, and will self-destruct or
release if starved (depends on spell type, circumstance, and
environment).  The result is that a competant mage may carry many
spell objects with him for use and release at a moment's notice.  The
reason not to carry such is that said spell objects are resource
consumers and may be deadly to the carrier (Ooops!  Stepped into a mana 
poor area and all my fireball spells just went BOOM!  (And a good reason to
carry mana attractors and producers)).

Additionally there are few to no securities on spell objects.  Thus a
rival mage could abscond with your spell objects, use them against
you, or corrupt them so as to alter their effect when used.  (This is
actually the reason there are spell algebra primitives which tie into
the MUD language, especially spoof/watcher model.  This allows spells 
to be "intelligent", with such intelligence equating to "daemonic" and 
thus expensive).

Spell release is simpler from a play perspective.  The probability
structure has been established and cannonised in the form of a spell
object: the release just lets it go. The problems are that the release
requires the resources (particles) to be available to satisfy the
algebra (that energy has to come from somewhere), and the various
relevant probability fields.  

This works out as follows:

  Bubba starts casting a spell.  This is difficult and goes thru the
normal probability field checks.  It either succeeds or fails.  Either 
way it is expensive.

  Every operation (spell primitive) is evaluated against the current
probability maps.  Essentially the operation either fails, flounders,
or succeeds.  Failure has no effect.  Flounder causes the spell to
release or possibly commit the operation with a reversed sign or other 
corruption.  Success commits the operation.

  Bubba closes the spell.  This is difficult, and is a primitive.  It 
goes thru the normal checks, and if it fails, releases the spell
(spell casting is *DANGEROUS*).

  Modification of a spell object works similarly (spells can be
compounded from other spell objects).

  Release of a spell object does two checks:

    Do the resources exist to realise this spell?  (ie enough mana,
energy, and other particle types?  Note: Such resources can be "bound" 
to a spell object by putting the spell object in a physical object
containing the necessary resources).  

    Does a probability check based on the person who released the
spell (and his environment) pass (ie encouraging the model where one
character may maintain a high probability field for manufacturing
spells, and another character for their release producer/consumer
style).

The challenge is to maintain the ambiguity level of Waving Hands.  The
big challenge in Waving Hands is to realise what the current finger
wave stack of your opponent is, and thus what spells are possible from
where he is now.  That single challenge (and poker-style prediction)
keys the entire addiction of Waving Hands.  However with the less
ambiguous algebra most of that dissappears.  &lt;sob&gt;  

To attempt to do this I've added the ability for spells to be
compounded of other spells, for spells to reference other spells, and
for the caster to target his current operation to a different spell
object (eg Mage A is crafting a spell, Mage B is too.  A is building a 
fireball, and B is building a flood spell.  B adds his water
component, originally intended for his own spell, to A's fireball
spell, thus, err, "ruining" it").  Bandwidth 

-------------------------------------------

While this probably all sounds a bit complex, from an interface
standpoint it need not be.  Consider a GUI world:

  &lt;click on start spell button&gt;

  &lt;drag in energy object&gt;  (three times)

  &lt;drag in particle/ball object&gt;

  &lt;darg in fire_type object&gt;  

  &lt;Click on save spell button&gt;  (object is created)

And for the release:

  &lt;click on spell object&gt;
  
  &lt;drag motion object onto spell&gt;  (repeat)

  &lt;drag spell object onto target&gt;

-- 
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="00714" HREF="msg00714.html">Re: [MUD-Dev] Magic as Metaphor</A></STRONG>
<UL><LI><EM>From:</EM> "Jon A. Lambert" &lt;Jon.A.Lambert#ix,netcom.com&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00729.html">SfD: Clientside Caching</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00731.html">Re: [MUD-Dev] Balancing Addicts -&gt; soft vs. hard enforcement</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00714.html">Re: [MUD-Dev] Magic as Metaphor</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00691.html">THE DARKWHOLE TESTS</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00730"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00730"><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><A NAME="00693" HREF="msg00693.html">CT - A Hypothetical Session (mid 1995)</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Fri 13 Mar 1998, 01:13 GMT
<LI><strong><A NAME="00692" HREF="msg00692.html">Magic as Metaphor</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Fri 13 Mar 1998, 00:05 GMT
<UL>
<LI><strong><A NAME="00706" HREF="msg00706.html">Re: [MUD-Dev] Magic as Metaphor</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Fri 13 Mar 1998, 03:24 GMT
<UL>
<LI><strong><A NAME="00714" HREF="msg00714.html">Re: [MUD-Dev] Magic as Metaphor</A></strong>, 
Jon A. Lambert <a href="mailto:Jon.A.Lambert#ix,netcom.com">Jon.A.Lambert#ix,netcom.com</a>, Sat 14 Mar 1998, 04:59 GMT
<UL>
<LI><strong><A NAME="00730" HREF="msg00730.html">Re: [MUD-Dev] Magic as Metaphor</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Tue 17 Mar 1998, 01:57 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
<LI><strong><A NAME="00691" HREF="msg00691.html">THE DARKWHOLE TESTS</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Thu 12 Mar 1998, 23:44 GMT
<LI><strong><A NAME="00690" HREF="msg00690.html">ANNOUNCE: DB</A></strong>, 
Robin Carey <a href="mailto:r.carey#dcs,napier.ac.uk">r.carey#dcs,napier.ac.uk</a>, Tue 10 Mar 1998, 20:29 GMT
<LI><strong><A NAME="00689" HREF="msg00689.html">Random Generation Tools</A></strong>, 
Ling <a href="mailto:K.L.Lo-94#student,lboro.ac.uk">K.L.Lo-94#student,lboro.ac.uk</a>, Sun 08 Mar 1998, 21:51 GMT
<LI><strong><A NAME="00688" HREF="msg00688.html">Re: MUD Ratings</A></strong>, 
jlsysinc.ix.netcom.com <a href="mailto:jlsysinc.ix.netcom.com#ix,netcom.com">jlsysinc.ix.netcom.com#ix,netcom.com</a>, Fri 06 Mar 1998, 22:43 GMT
</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>