<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: {MUD} Re: roleplaying &#38; combat -->
<!--X-From-R13: nyrkbNfncvraf.pbz (Oyrk Aera) -->
<!--X-Date: from 194.78.48.181 [194.78.48.181] by mx01.ca.us.ibm.net id 841133315.88860&#45;1 Tue Aug 27 08:08:35 1996 -->
<!--X-Message-Id: 32229da7.140072784#squid,sapiens.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: Pine.SOL.3.94.960823200000.20373L&#45;100000#eduserv1,rug.ac.be -->
<!--X-Reference: 9608260902.ZM3190#xsvr1,cup.hp.com -->
<!--X-Reference: 3221e17b.91900736#squid,sapiens.com -->
<!--X-Reference: 9608261450.ZM16758#xsvr1,cup.hp.com -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: {MUD} Re: roleplaying &amp; combat</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:alexo#sapiens,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="msg00029.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00031.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00029.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00002.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00030">Author</A>
&nbsp;|&nbsp;<A HREF="#00030">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00030">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: {MUD} Re: roleplaying &amp; combat</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud#megami,ibase.be">mud#megami,ibase.be</A></LI>
<LI><em>Subject</em>: Re: {MUD} Re: roleplaying &amp; combat</LI>
<LI><em>From</em>: <A HREF="mailto:alexo#sapiens,com">alexo#sapiens,com</A> (Alex Oren)</LI>
<LI><em>Date</em>: Tue, 27 Aug 1996 07:53:18 GMT</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud#megami,ibase.be">mud#megami,ibase.be</A></LI>
<LI><em>Sender</em>: <A HREF="mailto:owner-mud#megami,ibase.be">owner-mud#megami,ibase.be</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 Mon, 26 Aug 1996 14:50:29 -0700, JCL wrote:

} &gt; } [JCL:]
} &gt; } I think Alex had the right idea is saying that by default all commands
} &gt; } should be forced to compleat in entry order.  His suggestion of also not
} &gt; } starting processing on one until the prior command compleats is
} &gt; } tantalising[...]

} &gt; [Alex:]
} &gt; A direct requirement of the C&amp;C model.
} &gt; An event that didn't successfully complete does not exist.

} [JCL:]
} Not true.  What you appear to be missing is the difference between an event
} starting processing, and an event compleating.  Consider:
} 
}   &gt; Command1
}   &gt; Command2
} 
} The requirement is that the above commands must compleat in order, ie Command1
} must compleat before Command2 compleats.  What this does not mean is that
} Command1 and Command2 cannot be processing at the same instant.  Consider:
} 
}   &gt; Command1
}   &gt; Command2
}   Command2 starts processing.  // Note: the order of what command started
}   Command1 starts processing.  // first is immaterial.
}   Command2 finishes processing, but blocks, waiting for Command1 to C&amp;C.
}   Command1 finishes processing.
}   Command1 C&amp;C's.
}   Command2 C&amp;C's.

But what happens if Command1 contends with Command2?

} Now I can simplify the processing model somewhat by requiring that a command
} can only start processing when its immediate processor has compleated
} processing, and there may be some efficiency gains to be garnered from this
} rule due to fewer events failing C&amp;C and having to be rescheduled,

That is more or less what I meant.

} but there's no behavioural requirement for it.

OK.

} &gt; } [JCL:]
} &gt; } My idea is that a command resulting in an event which does
} &gt; } not call a method on the same object as the event it is sequentially dependant
} &gt; } on, may start processing prior to the event it depends on compleating first
} &gt; } compleating.

How would you know *beforehand* what objects will be involved in the execution
of the events?

} The example quoted below looks at a specific case of three commands entered in
} sequence, and allowing their out-of-order processing, while continueing to
} require their in-order compleation.
}
} &gt; }   Given the following sequence of entered commands:
} &gt; }
} &gt; }     &gt; #1
} &gt; }     &gt; #2
} &gt; }     &gt; #3
} &gt; }
} &gt; }   Where those commands result in events A, B and C respectively, and
} &gt; }     where event A calls a method on ObjectX, event B calls a method
} &gt; }     on ObjectX, and event C calls a method on ObjectY.
} &gt; }   A will start processing.
} &gt; }   B cannot start processing until A compleats.
} &gt; }   C may start processing before B compleats.
} &gt;
} &gt; Some questions:
} &gt;
} &gt; 1) Event C calls a method on objectY, which calls a method on objectZ, which
} &gt;    calls a method on objectX. How will you handle?
} 
} Event C may fail C&amp;C, and so will be rescheduled.  No special handling
} required.

I disagree. Indirectly calling a method on objX will not necessarily cause event
C to fail C&amp;C.

} &gt; 2) You mention events that are the result of commands.
} &gt;    What about events that result from mob programs, user-written scrips,
} &gt;    etc.?
} 
} They follow all the same rules, except that (one would hope) such automated
} events not originating from player characters would not need the ability to
} kill all prior uncompleated events.

I think that the serialization requirement (when needed) should be based on
events, whether they result from commands or not.
Commands are just a simple case where we have predetermined the order of event
invocation.

Consider the case of two events, A and B.
It may be the case that the order of event completion will influence the results
of those events (we had lots of "dragon examples" to that effect).

I think that we need a mechanism that will ensure that the end result of all the
invoked events will be the same as if the evens were processed in strictly
serial fashion with a predetermined order.

} I believe I have already admitted the need for guaranteed serialisation of user
} commands, which I am intending to approach thru sequence numbers.

Can this sequencing be generalized to include all events?

In the sake of "purity" I feel that the engine should not be concerned with the
origin of events (user commands or otherwise).


Have fun,
Alex.


</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="00003" HREF="msg00003.html">{MUD} Re: roleplaying &amp; combat</A></STRONG>
<UL><LI><EM>From:</EM> Wout Mertens &lt;Wout.Mertens#rug,ac.be&gt;</LI></UL></LI>
<LI><STRONG><A NAME="00019" HREF="msg00019.html">Re: {MUD} Re: roleplaying &amp; combat</A></STRONG>
<UL><LI><EM>From:</EM> "Chris Lawrence" &lt;clawrenc#xsvr1,cup.hp.com&gt;</LI></UL></LI>
<LI><STRONG><A NAME="00024" HREF="msg00024.html">Re: {MUD} Re: roleplaying &amp; combat</A></STRONG>
<UL><LI><EM>From:</EM> alexo#sapiens,com (Alex Oren)</LI></UL></LI>
<LI><STRONG><A NAME="00029" HREF="msg00029.html">Re: {MUD} Re: roleplaying &amp; combat</A></STRONG>
<UL><LI><EM>From:</EM> "Chris Lawrence" &lt;clawrenc#xsvr1,cup.hp.com&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00029.html">Re: {MUD} Re: roleplaying &amp; combat</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00031.html">Re: {MUD} Re: various (MUD)</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00029.html">Re: {MUD} Re: roleplaying &amp; combat</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00002.html">{MUD} Re: MUD: language</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00030"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00030"><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="00003" HREF="msg00003.html">{MUD} Re: roleplaying &amp; combat</A></strong>, 
Wout Mertens <a href="mailto:Wout.Mertens#rug,ac.be">Wout.Mertens#rug,ac.be</a>, Sat 24 Aug 1996, 01:24 GMT
<UL>
<LI><EM>Message not available</EM><UL>
<LI><strong><A NAME="00019" HREF="msg00019.html">Re: {MUD} Re: roleplaying &amp; combat</A></strong>, 
Chris Lawrence <a href="mailto:clawrenc#xsvr1,cup.hp.com">clawrenc#xsvr1,cup.hp.com</a>, Mon 26 Aug 1996, 23:20 GMT
<UL>
<LI><strong><A NAME="00024" HREF="msg00024.html">Re: {MUD} Re: roleplaying &amp; combat</A></strong>, 
Alex Oren <a href="mailto:alexo#sapiens,com">alexo#sapiens,com</a>, Tue 27 Aug 1996, 01:12 GMT
<UL>
<LI><strong><A NAME="00029" HREF="msg00029.html">Re: {MUD} Re: roleplaying &amp; combat</A></strong>, 
Chris Lawrence <a href="mailto:clawrenc#xsvr1,cup.hp.com">clawrenc#xsvr1,cup.hp.com</a>, Tue 27 Aug 1996, 05:05 GMT
<UL>
<LI><strong><A NAME="00030" HREF="msg00030.html">Re: {MUD} Re: roleplaying &amp; combat</A></strong>, 
Alex Oren <a href="mailto:alexo#sapiens,com">alexo#sapiens,com</a>, Tue 27 Aug 1996, 15:08 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
<LI><strong><A NAME="00002" HREF="msg00002.html">{MUD} Re: MUD: language</A></strong>, 
Wout Mertens <a href="mailto:Wout.Mertens#rug,ac.be">Wout.Mertens#rug,ac.be</a>, Sat 24 Aug 1996, 01:19 GMT
<LI><strong><A NAME="00001" HREF="msg00001.html">Re: {MUD} Re: Wout's mailing list.</A></strong>, 
Chris Lawrence <a href="mailto:clawrenc#xsvr1,cup.hp.com">clawrenc#xsvr1,cup.hp.com</a>, Sat 24 Aug 1996, 01:18 GMT
<UL>
<li>&lt;Possible follow-up(s)&gt;<br>
<LI><strong><A NAME="00005" HREF="msg00005.html">Re: {MUD} Re: Wout's mailing list.</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,graysage.edmonton.ab.ca">cg#ami-cg,graysage.edmonton.ab.ca</a>, Sat 24 Aug 1996, 13:20 GMT
</LI>
<LI><strong><A NAME="00006" HREF="msg00006.html">{MUD} Re: Wout's mailing list.</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,graysage.edmonton.ab.ca">cg#ami-cg,graysage.edmonton.ab.ca</a>, Sat 24 Aug 1996, 13:20 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>