1997Q2/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev] (fwd) Re: Issues from the digests and Wout's list -->
<!--X-From-R13: pynjerapNphc.uc.pbz -->
<!--X-Date: from fabius.globecomm.net [207.51.48.6] by mx01.ny.us.ibm.net id 863546987.64153&#45;1 Tue May 13 18:09:47 1997 -->
<!--X-Message-Id: 199705131726.KAA29071#xsvr3,cup.hp.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 9705101606.7zjg@ami&#45;cg.GraySage.Edmonton.AB.CA -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev] (fwd) Re: Issues from the digests and Wout's lis</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:clawrenc#cup,hp.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="msg00431.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00435.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00361.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00362.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00434">Author</A>
&nbsp;|&nbsp;<A HREF="#00434">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00434">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev] (fwd) Re: Issues from the digests and Wout's list</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] (fwd) Re: Issues from the digests and Wout's list</LI>
<LI><em>From</em>: <A HREF="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</A></LI>
<LI><em>Date</em>: Mon, 12 May 97 10:17:16 -0700</LI>
<LI><em>Reply-to</em>: <A HREF="mailto:claw#null,net">claw#null,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>
In &lt;<A HREF="msg00361.html">9705101606.7zjg#ami-cg,GraySage.Edmonton.AB.CA</A>&gt;, on 05/10/97 
   at 12:39 PM, cg#ami-cg,GraySage.Edmonton.AB.CA (Chris Gray) said:

&gt;[Chris L:]
&gt;:A lot of this I think can be provided by having the parser generically
&gt;:detect when it enters a state dependant condition, and when such
&gt;:occurs, to isntall watchers on all the objects on which that state
&gt;:depends.
&gt;:
&gt;:That way you don't actually have to get into the semantic parsing of
&gt;:potential the state changes -- it can be handled by direct maintenance
&gt;:and checking of the state machine itself.

&gt;Hmm. That means that parsing of user input has to be involved in your
&gt;database consistency stuff, since in a multithreaded environment, the
&gt;events triggered by the watchers could be run at any time, including
&gt;at the same time as a thread trying to parse some later input from
&gt;the same user.

Yup, tho this happens for free.  User commands come in thru a
connection object and are handled by just popping an event on the
queue to parse them.  That parsed event then goes and gets executed. 
The change for an incompleat state (eg Which bag?) is that rather than
the user command being default sent to the parsing object to generate
an event to execute it, it is instead sent to a filter object which
picks the back from the menu choice and then sends a compleated
command to the parser object.

In the case of world state-changes affecting this (eg someone takes
one of the bags), at the time the command filter was instantiated (eg
Bugga does "get bag" and gets a pick lists in response) it would also
install watchers on all the objects on whose state it depended (eg all
the bags).  Now, before Bubba selects a bag, Boffo takes one of the
bags.  The state-change on the bag triggers the watcher, the watcher
informs the filter and the filter responds appropriately.  If Bubba's
selection of the bag he wanted was executing while the SAME bag was
being taken by Boffo, then one or the other of the events would fail
at C&amp;C and be rescheduled, and everything would continue as per
normal.

&gt;Doing this also requires that the parser be able to have a pretty
&gt;comprehensive semantic understanding of what all is going on, in
&gt;order that the watchers it plants be able to know when to affect the
&gt;parse. 

True.  I'd expect to bind this into the verbs directly however.  Thus
"get", "put" etc are dependant on physical availability, while "hit"
and the like are dependant on location (close, near, far, gone).

&gt;Presumeably you don't want to just cancel the parse state if
&gt;anything at all happens to any of the objects involved, since many of
&gt;those changes will be irrelevant, and some will not even be visible
&gt;to the player.

Correct.  There has to be some intelligence here.

&gt;Do you actually do anything like this now, and have you thought
&gt;through any actual situations in detail? Anyone?

I have the command filters (ie menu selections) implemented as above,
but I don't yet have any of the state-change monitoring.  Thus the
discussion.

-- 
J C Lawrence                           Internet: claw#null,net
(Contractor)                           Internet: coder#ibm,net
---------------(*)               Internet: clawrenc#cup,hp.com
...Honorary Member 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="00361" HREF="msg00361.html">Re: [MUD-Dev] (fwd) Re: Issues from the digests and Wout's list</A></STRONG>
<UL><LI><EM>From:</EM> cg#ami-cg,GraySage.Edmonton.AB.CA (Chris Gray)</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00431.html">Re: [MUD-Dev] Re: Administrative notes</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00435.html">Re: [MUD-Dev]  Disk v. Mem</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00361.html">Re: [MUD-Dev] (fwd) Re: Issues from the digests and Wout's list</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00362.html">Re: [MUD-Dev]	Re: Prepositions and parsing</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00434"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00434"><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]  Re: Role-playing [was Re: several messages]</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<LI><strong><A NAME="00609" HREF="msg00609.html">Re: [MUD-Dev]  Re: Role-playing [was Re: several messages]</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Tue 20 May 1997, 03:40 GMT
</LI>
</ul>
<LI><strong><A NAME="00554" HREF="msg00554.html">Re: [MUD-Dev]  Re: Role-playing [was Re: several messages]</A></strong>, 
coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Sun 18 May 1997, 07:51 GMT
</LI>
</ul>
</ul>
</ul>
</ul>
</ul>
</ul>
</LI>
<LI><strong><A NAME="00365" HREF="msg00365.html">Test</A></strong>, 
thetan <a href="mailto:thetan#ibm,net">thetan#ibm,net</a>, Sun 11 May 1997, 03:25 GMT
<LI><strong><A NAME="00361" HREF="msg00361.html">Re: [MUD-Dev] (fwd) Re: Issues from the digests and Wout's list</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sat 10 May 1997, 23:26 GMT
<UL>
<LI><strong><A NAME="00434" HREF="msg00434.html">Re: [MUD-Dev] (fwd) Re: Issues from the digests and Wout's list</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Wed 14 May 1997, 01:09 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00362" HREF="msg00362.html">Re: [MUD-Dev]	Re: Prepositions and parsing</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sat 10 May 1997, 23:26 GMT
<UL>
<LI><strong><A NAME="00428" HREF="msg00428.html">Re: [MUD-Dev] Re: Prepositions and parsing</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Tue 13 May 1997, 23:45 GMT
<UL>
<LI><strong><A NAME="00465" HREF="msg00465.html">Re: [MUD-Dev] Re: Prepositions and parsing</A></strong>, 
Miroslav Silovic <a href="mailto:silovic#srce,hr">silovic#srce,hr</a>, Wed 14 May 1997, 22:36 GMT
<UL>
<LI><strong><A NAME="00505" HREF="msg00505.html">Re: [MUD-Dev] Re: Prepositions and parsing</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Sat 17 May 1997, 00:22 GMT
</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>