1998Q4/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: Recursive look -->
<!--X-From-R13: [vpunry.IvyyrlNnoanzeb.pbz -->
<!--X-Date: Thu, 22 Oct 1998 07:40:58 &#45;0700 -->
<!--X-Message-Id: 862566A5.004FDC30.00#usmta03,itsc.na.abnamro.com -->
<!--X-Content-Type: text/plain -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Re: Recursive look</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:Michael.Willey#abnamro,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="msg00351.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00353.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00337.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00306.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00352">Author</A>
&nbsp;|&nbsp;<A HREF="#00352">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00352">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: Recursive look</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: Recursive look </LI>
<LI><em>From</em>: <A HREF="mailto:Michael.Willey#abnamro,com">Michael.Willey#abnamro,com</A></LI>
<LI><em>Date</em>: Thu, 22 Oct 1998 10:42:26 -0500</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>
J C Lawrence wrote:
&gt;The problem is not the customised enter/exit messages,
&gt;the problem is that the character entering or exiting
&gt;is generating his own enter/exit messages.  This
&gt;is backwards.  IRL you don't tell people what they
&gt;are going to see/hear when you enter/leave, they
&gt;do their own interpretation.
&gt;
&gt;What should happen is that the translating character
&gt;object should send a message to all the objects
&gt;that will detect or react to his translation and
&gt;*THEY* should then determine how they are going
&gt;to represent this state change to their players.
&gt;Thus, all the processing occurs at the point where
&gt;it is both perceived and acted upon: at the receiving
&gt;party.
&gt;
&gt;Of course this is minially N times more computationally
&gt;expensive than having the state changing object
&gt;do all the work, but them's the apples.

And that's how I've recently decided to handle a
large chunk of communication between objects, including
results of generic player commands.  Not only does
it allow each object to interpret the action differently
as JCL pointed out, it also makes interpretation
by non-player controlled objects much easier.

One of my fellow DS'ers (and a listmember too, I
believe) has a set of NPC objects that, among other
things, parse text generated around them and react
to it in a very bot-like fashion.  As the conventional
system stands, each action that another object takes
creates a result, which was interpreted into a text
output by the person who coded that action.  Each
object that wants to react to that output must reinterpret
the text to divine the original result, then act
on that result.  We're translating action into text,
then that text back into action.  Sounds terribly
wasteful and prone to error.

I think it would be much easier to have objects
simply transmit notification of their actions &amp;
results to each other via some global format and
only interpret that into text for players.  What
I was thinking of was some sort of call to objects
in the area along the lines of

 action_notify(verb, noun, direct_obj, indirect_obj)

So when Bubba gives a sword to Buffy, each object
gets a simple notification of the action and reacts
to it in turn.

Bubba sees: You give a sword to Buffy.
Buffy sees: Bubba gives a sword to you.
Bubba's arch rival sees:
  Your hated enemy Bubba gives a sword to Buffy.
  They must be plotting against you!
A stranger may see: A man gives a sword to a woman.
Ug the Caveman sees: Bubba give shiny stick to Buffy.
And poor Joe, who's just finished off a bottle of
hallucinogenic chemicals (mistakenly thinking it
was a magic potion) sees:
  God gives your foot to a small green fish.
  You smell purple.

NPCs don't have to waste time translating the actions
into text, but can react on them quickly and more
directly, so when Officer Bob sees that the sword
being traded is on a list of stolen goods, he tries
to arrest Bubba and Buffy.




</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00351.html">[MUD-Dev] Re: PDMud thread summary</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00353.html">[MUD-Dev] Re: PDMud thread summary</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00337.html">[MUD-Dev] Re: Recursive look</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00306.html">[MUD-Dev] evil - good realism</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00352"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00352"><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: Recursive look</STRONG>, <EM>(continued)</EM>
<ul compact>
<LI><strong><A NAME="00312" HREF="msg00312.html">[MUD-Dev] Re: Recursive look</A></strong>, 
Koster, Raph <a href="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</a>, Wed 21 Oct 1998, 18:16 GMT
</LI>
<LI><strong><A NAME="00333" HREF="msg00333.html">[MUD-Dev] Re: Recursive look</A></strong>, 
Bruce Mitchener, Jr. <a href="mailto:bruce#puremagic,com">bruce#puremagic,com</a>, Thu 22 Oct 1998, 02:01 GMT
</LI>
<LI><strong><A NAME="00336" HREF="msg00336.html">[MUD-Dev] Re: Recursive look</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Thu 22 Oct 1998, 04:17 GMT
</LI>
<LI><strong><A NAME="00337" HREF="msg00337.html">[MUD-Dev] Re: Recursive look</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Thu 22 Oct 1998, 04:25 GMT
</LI>
<LI><strong><A NAME="00352" HREF="msg00352.html">[MUD-Dev] Re: Recursive look</A></strong>, 
Michael.Willey <a href="mailto:Michael.Willey#abnamro,com">Michael.Willey#abnamro,com</a>, Thu 22 Oct 1998, 14:40 GMT
</LI>
</ul>
</LI>
<LI><strong><A NAME="00306" HREF="msg00306.html">[MUD-Dev] evil - good realism</A></strong>, 
Vladimir Prelovac <a href="mailto:tomcat#galeb,etf.bg.ac.yu">tomcat#galeb,etf.bg.ac.yu</a>, Wed 21 Oct 1998, 17:38 GMT
<UL>
<LI><strong><A NAME="00314" HREF="msg00314.html">[MUD-Dev] Re: evil - good realism</A></strong>, 
Adam Wiggins <a href="mailto:adam#angel,com">adam#angel,com</a>, Wed 21 Oct 1998, 18:24 GMT
</LI>
<LI><strong><A NAME="00326" HREF="msg00326.html">[MUD-Dev] Re: evil - good realism</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Thu 22 Oct 1998, 01:12 GMT
</LI>
<LI><strong><A NAME="00343" HREF="msg00343.html">[MUD-Dev] Re: evil - good realism</A></strong>, 
Brandon A Downey <a href="mailto:badowney#sprynet,com">badowney#sprynet,com</a>, Thu 22 Oct 1998, 08:28 GMT
</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>