1998Q4/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: Stack&#45;Based NPC AI -->
<!--X-From-R13: "Rnivq Praargg" <qqgNqvfpjbeyq.vzntvanel.pbz> -->
<!--X-Date: Mon, 7 Dec 1998 12:05:09 &#45;0800 -->
<!--X-Message-Id: 199812071204140311.42F4AD1B#discworld,imaginary.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199812070006.QAA01598#erdos,Stanford.EDU -->
<!--X-Reference: 366B2D03.82C4C231#alyx,com -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Re: Stack-Based NPC AI</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:ddt#discworld,imaginary.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="msg00925.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00927.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00925.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00912.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00926">Author</A>
&nbsp;|&nbsp;<A HREF="#00926">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00926">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: Stack-Based NPC AI</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: Stack-Based NPC AI</LI>
<LI><em>From</em>: "David Bennett" &lt;<A HREF="mailto:ddt#discworld,imaginary.com">ddt#discworld,imaginary.com</A>&gt;</LI>
<LI><em>Date</em>: Mon, 07 Dec 1998 12:04:14 -0800</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>
On 12/6/98, at 5:18 PM, Par Winzell wrote: 

&gt;I don't see the stack-based system so much as alternative to a state-based
one
&gt;as extending it. Many years ago I did write a system such as what Eli
describes,
&gt;for an LPMud. It worked quite well, and I was able to use it to allow our
&gt;"mascot" NPC to solve the simplest game quest.

Interesting...  I was working on something a little different to this.
Every npc has a set of goals to acomplish, like 'get rich' or 'stay alive'.
 The goals are fairly high level and are also priority ordered.  Each goal
has a set of strategies to acheive its goal, the strategies are on a lower
level, like heal yourself and run away.  When an event occurs on the npc,
it tells all its goals in priority order and they setup strategies to react
to the goal.  Only one strategy is active at any one time.  Each strategy
has a 'precondition', 'invarient',  'suspend', 'restart' and 'completed'
methods.  These methods control what the strategy does.  A strategy
inherits its goals priority level plus or minus a small amount...

This allows for quite complicated behaviour with quite a simple underling
structure.

I partly got this idea from some ideas someone on my mud came up with a
long time ago, although he had three sets of things, goals, strategies and
actions.  Plus some reading I did relatively recently on the net with the
'oz' project:
<A  HREF="http://www.cs.cmu.edu/afs/cs.cmu.edu/project/oz/web/papers.html">http://www.cs.cmu.edu/afs/cs.cmu.edu/project/oz/web/papers.html</A>

The Oz project is an interactive fiction project, trying to make up a world
that seems real as if you were reading a book (rather than a mud as such).
But the ideas all carry across quite well.

Fluffy all the way to the coffee mug,
David.


</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="00911" HREF="msg00911.html">[MUD-Dev] Re: Stack-Based NPC AI</A></STRONG>
<UL><LI><EM>From:</EM> Mark Gritter &lt;mark#erdos,Stanford.EDU&gt;</LI></UL></LI>
<LI><STRONG><A NAME="00914" HREF="msg00914.html">[MUD-Dev] Re: Stack-Based NPC AI</A></STRONG>
<UL><LI><EM>From:</EM> Par Winzell &lt;zell#alyx,com&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00925.html">[MUD-Dev] Re: Stack-Based NPC AI</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00927.html">[MUD-Dev] Netscape's "Gecko" Browsing Engine (fwd)</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00925.html">[MUD-Dev] Re: Stack-Based NPC AI</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00912.html">[MUD-Dev] Re: Stack-Based NPC AI</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00926"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00926"><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: Stack-Based NPC AI</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<LI><strong><A NAME="00930" HREF="msg00930.html">[MUD-Dev] Re: Stack-Based NPC AI</A></strong>, 
Mik Clarke <a href="mailto:mikclrk#ibm,net">mikclrk#ibm,net</a>, Mon 07 Dec 1998, 21:35 GMT
</LI>
</ul>
<LI><strong><A NAME="00911" HREF="msg00911.html">[MUD-Dev] Re: Stack-Based NPC AI</A></strong>, 
Mark Gritter <a href="mailto:mark#erdos,Stanford.EDU">mark#erdos,Stanford.EDU</a>, Mon 07 Dec 1998, 00:06 GMT
<UL>
<LI><strong><A NAME="00914" HREF="msg00914.html">[MUD-Dev] Re: Stack-Based NPC AI</A></strong>, 
Par Winzell <a href="mailto:zell#alyx,com">zell#alyx,com</a>, Mon 07 Dec 1998, 01:18 GMT
<UL>
<LI><strong><A NAME="00925" HREF="msg00925.html">[MUD-Dev] Re: Stack-Based NPC AI</A></strong>, 
David Bennett <a href="mailto:ddt#discworld,imaginary.com">ddt#discworld,imaginary.com</a>, Mon 07 Dec 1998, 20:03 GMT
</LI>
<LI><strong><A NAME="00926" HREF="msg00926.html">[MUD-Dev] Re: Stack-Based NPC AI</A></strong>, 
David Bennett <a href="mailto:ddt#discworld,imaginary.com">ddt#discworld,imaginary.com</a>, Mon 07 Dec 1998, 20:05 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
<LI><strong><A NAME="00912" HREF="msg00912.html">[MUD-Dev] Re: Stack-Based NPC AI</A></strong>, 
Marc Hernandez <a href="mailto:marc#ias,jb.com">marc#ias,jb.com</a>, Mon 07 Dec 1998, 00:22 GMT
</LI>
</ul>
</LI>
<LI><strong><A NAME="00907" HREF="msg00907.html">[MUD-Dev] mud client development systems</A></strong>, 
Sunny Gulati <a href="mailto:sunnywiz#radiks,net">sunnywiz#radiks,net</a>, Sun 06 Dec 1998, 21:37 GMT
<UL>
<LI><strong><A NAME="00908" HREF="msg00908.html">[MUD-Dev] Re: mud client development systems</A></strong>, 
Caliban Tiresias Darklock <a href="mailto:caliban#darklock,com">caliban#darklock,com</a>, Sun 06 Dec 1998, 22:04 GMT
</LI>
</UL>
<UL>
<li>&lt;Possible follow-up(s)&gt;<br>
<LI><strong><A NAME="00962" HREF="msg00962.html">[MUD-Dev] mud client development systems</A></strong>, 
Sunny Gulati <a href="mailto:sunnywiz#radiks,net">sunnywiz#radiks,net</a>, Mon 14 Dec 1998, 04:07 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>