<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: EP 6.2: Beyond Compartmentalized Actions</title>
	<atom:link href="http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/feed/" rel="self" type="application/rss+xml" />
	<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/</link>
	<description>A group blog about computer narrative, games, poetry, and art.</description>
	<lastBuildDate>Thu, 30 Sep 2010 22:43:57 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
	<item>
		<title>By: Game AI Roundup Week #10 2008: 7 Stories, 3 Quotes, 1 Source Code, 1 Video &#8212; AiGameDev.com</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-215701</link>
		<dc:creator>Game AI Roundup Week #10 2008: 7 Stories, 3 Quotes, 1 Source Code, 1 Video &#8212; AiGameDev.com</dc:creator>
		<pubDate>Sun, 09 Mar 2008 00:56:04 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-215701</guid>
		<description>[...] 6.2: Beyond Compartmentalized Actions [...]</description>
		<content:encoded><![CDATA[<p>[...] 6.2: Beyond Compartmentalized Actions [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: noah</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-211121</link>
		<dc:creator>noah</dc:creator>
		<pubDate>Sat, 01 Mar 2008 16:51:46 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-211121</guid>
		<description>That makes sense. I should probably re-write that paragraph then. 

BTW, have you written anything about your move that I might cite here? Or, if it&#039;s not already out there, could I convince you to write something about the larger personal context of your work -- like &lt;a href=&quot;http://grandtextauto.org/2006/09/13/the-story-of-meehans-tale-spin/&quot; rel=&quot;nofollow&quot;&gt;Meehan on &lt;i&gt;Tale-Spin&lt;/i&gt;&lt;/a&gt; and &lt;a href=&quot;http://grandtextauto.org/2007/11/07/the-context-of-minstrels-creation/&quot; rel=&quot;nofollow&quot;&gt;Turner on &lt;i&gt;Minstrel&lt;/i&gt;&lt;/a&gt;?</description>
		<content:encoded><![CDATA[<p>That makes sense. I should probably re-write that paragraph then. </p>
<p>BTW, have you written anything about your move that I might cite here? Or, if it&#8217;s not already out there, could I convince you to write something about the larger personal context of your work &#8212; like <a href="http://grandtextauto.org/2006/09/13/the-story-of-meehans-tale-spin/" rel="nofollow">Meehan on <i>Tale-Spin</i></a> and <a href="http://grandtextauto.org/2007/11/07/the-context-of-minstrels-creation/" rel="nofollow">Turner on <i>Minstrel</i></a>?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Orkin</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-211105</link>
		<dc:creator>Jeff Orkin</dc:creator>
		<pubDate>Sat, 01 Mar 2008 16:20:37 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-211105</guid>
		<description>I actually like the point that you&#039;re making.  But regarding what I meant by that line -- I should have worded it &quot;robots and characters that communicate in human-like ways&quot;.  The point being that the combat chatter in FEAR was basically an effect layered on top of a centralized squad controller, rather than the result of individuals truly communicating with each other.</description>
		<content:encoded><![CDATA[<p>I actually like the point that you&#8217;re making.  But regarding what I meant by that line &#8212; I should have worded it &#8220;robots and characters that communicate in human-like ways&#8221;.  The point being that the combat chatter in FEAR was basically an effect layered on top of a centralized squad controller, rather than the result of individuals truly communicating with each other.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: noah</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-211099</link>
		<dc:creator>noah</dc:creator>
		<pubDate>Sat, 01 Mar 2008 16:11:15 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-211099</guid>
		<description>Yes, I&#039;m trying to get at this sort of thing with the phrase &quot;all games are authored microworlds.&quot; But I think it would be good to make your comment&#039;s particular angle more explicit. One of the fascinating things about Shakey was the way it used a video camera and edge detection to try to compensate for divergences between its actual location and the presumed location in its logical model. Game characters not only don&#039;t have to try to compensate in these ways (they can know exactly where they are) but also don&#039;t have to worry about many kinds of unknowability, ambiguity, and so on.</description>
		<content:encoded><![CDATA[<p>Yes, I&#8217;m trying to get at this sort of thing with the phrase &#8220;all games are authored microworlds.&#8221; But I think it would be good to make your comment&#8217;s particular angle more explicit. One of the fascinating things about Shakey was the way it used a video camera and edge detection to try to compensate for divergences between its actual location and the presumed location in its logical model. Game characters not only don&#8217;t have to try to compensate in these ways (they can know exactly where they are) but also don&#8217;t have to worry about many kinds of unknowability, ambiguity, and so on.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: noah</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-211096</link>
		<dc:creator>noah</dc:creator>
		<pubDate>Sat, 01 Mar 2008 16:06:00 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-211096</guid>
		<description>I think the solution here may be to delve further into how &lt;i&gt;F.E.A.R.&lt;/i&gt; works in this section (hopefully without too much lengthening). Particularly things like the ongoing work of sensors, the results of which are available to both planning and execution, are not what&#039;s going to be expected by people familiar with the traditional arrangement. 

Meanwhile, in a later section I&#039;m going to get into things like Oz, The Expressivator, and Facade -- so will at least approach some of the work that leads up to Alex&#039;s on behavior trees.</description>
		<content:encoded><![CDATA[<p>I think the solution here may be to delve further into how <i>F.E.A.R.</i> works in this section (hopefully without too much lengthening). Particularly things like the ongoing work of sensors, the results of which are available to both planning and execution, are not what&#8217;s going to be expected by people familiar with the traditional arrangement. </p>
<p>Meanwhile, in a later section I&#8217;m going to get into things like Oz, The Expressivator, and Facade &#8212; so will at least approach some of the work that leads up to Alex&#8217;s on behavior trees.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: noah</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-211087</link>
		<dc:creator>noah</dc:creator>
		<pubDate>Sat, 01 Mar 2008 15:59:12 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-211087</guid>
		<description>Mark, you&#039;re definitely right about routine action being the focus of structures like scripts. That&#039;s why Meehan couldn&#039;t use straight scripts, Turner couldn&#039;t just re-use cases, and so on -- because they valued novelty in stories. 

That said, while I&#039;m interested in the article you mention (and will check it out), the main point of the section of this chapter I&#039;ll post on Monday is that, when we&#039;re building media, I don&#039;t think we should be too concerned about how well our AI models match theories of human cognition. Still, since I&#039;m mentioning the scruffy argument here, it would probably make sense here to footnote the fact that there&#039;s some evidence that supports viewing &lt;i&gt;Strips&lt;/i&gt; as a model of some kinds of human thought.</description>
		<content:encoded><![CDATA[<p>Mark, you&#8217;re definitely right about routine action being the focus of structures like scripts. That&#8217;s why Meehan couldn&#8217;t use straight scripts, Turner couldn&#8217;t just re-use cases, and so on &#8212; because they valued novelty in stories. </p>
<p>That said, while I&#8217;m interested in the article you mention (and will check it out), the main point of the section of this chapter I&#8217;ll post on Monday is that, when we&#8217;re building media, I don&#8217;t think we should be too concerned about how well our AI models match theories of human cognition. Still, since I&#8217;m mentioning the scruffy argument here, it would probably make sense here to footnote the fact that there&#8217;s some evidence that supports viewing <i>Strips</i> as a model of some kinds of human thought.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: noah</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-211083</link>
		<dc:creator>noah</dc:creator>
		<pubDate>Sat, 01 Mar 2008 15:47:35 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-211083</guid>
		<description>Jeff, I completely agree with you on that point. Maybe I misread this line of your paper?</description>
		<content:encoded><![CDATA[<p>Jeff, I completely agree with you on that point. Maybe I misread this line of your paper?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Orkin</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-210057</link>
		<dc:creator>Jeff Orkin</dc:creator>
		<pubDate>Thu, 28 Feb 2008 19:31:32 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-210057</guid>
		<description>Take a look at pp.13-15 of &quot;3 States &amp; a Plan.&quot; That&#039;s a pretty good overview of how our squads worked -- and as noted in that document this approach was inspired by Richard Evan&#039;s GDC talk and Gamasutra article “Social Activities: Implementing Wittgenstein”</description>
		<content:encoded><![CDATA[<p>Take a look at pp.13-15 of &#8220;3 States &amp; a Plan.&#8221; That&#8217;s a pretty good overview of how our squads worked &#8212; and as noted in that document this approach was inspired by Richard Evan&#8217;s GDC talk and Gamasutra article “Social Activities: Implementing Wittgenstein”</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Orkin</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-210055</link>
		<dc:creator>Jeff Orkin</dc:creator>
		<pubDate>Thu, 28 Feb 2008 19:28:01 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-210055</guid>
		<description>FYI, we had a fun PC Gamer interview about our NOLF2 AI and Smart Objects, scanned and posted here:
http://web.media.mit.edu/~jorkin/pcgamer.html</description>
		<content:encoded><![CDATA[<p>FYI, we had a fun PC Gamer interview about our NOLF2 AI and Smart Objects, scanned and posted here:<br />
<a href="http://web.media.mit.edu/~jorkin/pcgamer.html" rel="nofollow">http://web.media.mit.edu/~jorkin/pcgamer.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: noah</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-210051</link>
		<dc:creator>noah</dc:creator>
		<pubDate>Thu, 28 Feb 2008 19:12:11 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-210051</guid>
		<description>Right, I should mention that the &lt;i&gt;Strips&lt;/i&gt;-style planner is only for the individuals, and not for squads. 

It&#039;s been a while since I&#039;ve read your &lt;i&gt;F.E.A.R.&lt;/i&gt; papers. Do you say anything specific about the implementation of squad behaviors? If not, would you be willing to say a little here?</description>
		<content:encoded><![CDATA[<p>Right, I should mention that the <i>Strips</i>-style planner is only for the individuals, and not for squads. </p>
<p>It&#8217;s been a while since I&#8217;ve read your <i>F.E.A.R.</i> papers. Do you say anything specific about the implementation of squad behaviors? If not, would you be willing to say a little here?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: noah</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-210050</link>
		<dc:creator>noah</dc:creator>
		<pubDate>Thu, 28 Feb 2008 19:11:30 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-210050</guid>
		<description>The simplified representation of the world in &lt;i&gt;F.E.A.R.&lt;/i&gt; is one of the things I largely left out of my description here -- but now that strikes me as a mistake. Instead, I should mention it, both as something that makes planning faster and as something that allows plan execution to have access to the same model of the world as plan formulation.

Thanks for the pointer to your GOAP list. I&#039;m guessing it will get even longer before the paper version of &lt;i&gt;Expressive Processing&lt;/i&gt; is in the hands of readers, but I think I&#039;ll still add a footnote about how the approach is finding traction with other creators.</description>
		<content:encoded><![CDATA[<p>The simplified representation of the world in <i>F.E.A.R.</i> is one of the things I largely left out of my description here &#8212; but now that strikes me as a mistake. Instead, I should mention it, both as something that makes planning faster and as something that allows plan execution to have access to the same model of the world as plan formulation.</p>
<p>Thanks for the pointer to your GOAP list. I&#8217;m guessing it will get even longer before the paper version of <i>Expressive Processing</i> is in the hands of readers, but I think I&#8217;ll still add a footnote about how the approach is finding traction with other creators.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: noah</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-210048</link>
		<dc:creator>noah</dc:creator>
		<pubDate>Thu, 28 Feb 2008 19:08:44 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-210048</guid>
		<description>Jeff, that&#039;s a helpful piece of information. I&#039;m going to make sure to work that into the manuscript.</description>
		<content:encoded><![CDATA[<p>Jeff, that&#8217;s a helpful piece of information. I&#8217;m going to make sure to work that into the manuscript.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: noah</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-210047</link>
		<dc:creator>noah</dc:creator>
		<pubDate>Thu, 28 Feb 2008 19:08:03 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-210047</guid>
		<description>Mark, that&#039;s a good point. The current section is basically saying, &quot;Look, game worlds are so much more defined than the everyday world, and modern computers are so fast, that with &lt;i&gt;F.E.A.R.&lt;/i&gt;-style cleverness we can re-plan whenever we need to.&quot; But it&#039;s also worth pointing out that a lot of work has been done on planning since &lt;i&gt;Strips&lt;/i&gt; -- including that of the sort you describe.</description>
		<content:encoded><![CDATA[<p>Mark, that&#8217;s a good point. The current section is basically saying, &#8220;Look, game worlds are so much more defined than the everyday world, and modern computers are so fast, that with <i>F.E.A.R.</i>-style cleverness we can re-plan whenever we need to.&#8221; But it&#8217;s also worth pointing out that a lot of work has been done on planning since <i>Strips</i> &#8212; including that of the sort you describe.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Riedl</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-210031</link>
		<dc:creator>Mark Riedl</dc:creator>
		<pubDate>Thu, 28 Feb 2008 17:52:06 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-210031</guid>
		<description>A distinction one could make with regard to problem solving is whether one is operating in the everyday, known, and familiar world, or whether one is operating in a novel situation.   Schank and his predecessors were acutely concerned with how people operate in the everyday.  Thus they were concerned with scripts, schemas, and case-based reasoning.  An interesting article (Ratterman et al., 2001, &quot;paritial and total-order planning: evidence from noral and prefrontally damaged populations,&quot; Cognitive Science, 25) provides evidence that strips-style reasoning is not necessarily a bad model for problem solving in novel situations.</description>
		<content:encoded><![CDATA[<p>A distinction one could make with regard to problem solving is whether one is operating in the everyday, known, and familiar world, or whether one is operating in a novel situation.   Schank and his predecessors were acutely concerned with how people operate in the everyday.  Thus they were concerned with scripts, schemas, and case-based reasoning.  An interesting article (Ratterman et al., 2001, &#8220;paritial and total-order planning: evidence from noral and prefrontally damaged populations,&#8221; Cognitive Science, 25) provides evidence that strips-style reasoning is not necessarily a bad model for problem solving in novel situations.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Orkin</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-209908</link>
		<dc:creator>Jeff Orkin</dc:creator>
		<pubDate>Thu, 28 Feb 2008 05:57:23 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-209908</guid>
		<description>I&#039;m not sure if you&#039;ve mentioned one of the biggest reasons that planning can be a success in games, as opposed to planning for robots in the real world.  Robots have terrible problems estimating the state of the world from noisy sensor data, while in games we have the luxury of perfect world state information.  Many approaches to AI that were abandoned years ago as not robust enough for robots in the physical world are great fits for characters in game worlds.  These AI approaches used to be too costly for games, but as processors improved (and multiplied) and graphics moved onto dedicated video processors, we finally had the resources we needed to apply academic techniques.</description>
		<content:encoded><![CDATA[<p>I&#8217;m not sure if you&#8217;ve mentioned one of the biggest reasons that planning can be a success in games, as opposed to planning for robots in the real world.  Robots have terrible problems estimating the state of the world from noisy sensor data, while in games we have the luxury of perfect world state information.  Many approaches to AI that were abandoned years ago as not robust enough for robots in the physical world are great fits for characters in game worlds.  These AI approaches used to be too costly for games, but as processors improved (and multiplied) and graphics moved onto dedicated video processors, we finally had the resources we needed to apply academic techniques.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Orkin</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-209904</link>
		<dc:creator>Jeff Orkin</dc:creator>
		<pubDate>Thu, 28 Feb 2008 05:48:56 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-209904</guid>
		<description>As Mark points out, there are many ways to implement a planner.  FEAR&#039;s plan executor actually does have access to the same Working Memory as the plan formulator has -- this is where sensors record information which may be vital to determining that the current plan has become invalidated (e.g. the destination cover position is no loner valid).  In addition, when a plans fail, in some cases the AI record the reason for failure in Working Memory, for use in future planning.  For example, when a door is blocked, the AI remembers this so that next time he can try diving through the window instead.  So, AI are not necessarily prone to the amnesia Richard describes.

I agree with Richard in principal that the separation between planning and executing is not a perfect solution, and is not the way real humans work, but in the case of an FPS, FEARs planner should be able to handle the cases Richard brought up.  As Noah suggested, an AI running from Zorgs could repeatedly replan running to new destinations until all options are exhausted, at which point he could cower in fear.  This is almost exactly how AI in FEAR handle grenades -- run away if you can find a route, and crouch for cover from the blast otherwise.</description>
		<content:encoded><![CDATA[<p>As Mark points out, there are many ways to implement a planner.  FEAR&#8217;s plan executor actually does have access to the same Working Memory as the plan formulator has &#8212; this is where sensors record information which may be vital to determining that the current plan has become invalidated (e.g. the destination cover position is no loner valid).  In addition, when a plans fail, in some cases the AI record the reason for failure in Working Memory, for use in future planning.  For example, when a door is blocked, the AI remembers this so that next time he can try diving through the window instead.  So, AI are not necessarily prone to the amnesia Richard describes.</p>
<p>I agree with Richard in principal that the separation between planning and executing is not a perfect solution, and is not the way real humans work, but in the case of an FPS, FEARs planner should be able to handle the cases Richard brought up.  As Noah suggested, an AI running from Zorgs could repeatedly replan running to new destinations until all options are exhausted, at which point he could cower in fear.  This is almost exactly how AI in FEAR handle grenades &#8212; run away if you can find a route, and crouch for cover from the blast otherwise.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Orkin</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-209903</link>
		<dc:creator>Jeff Orkin</dc:creator>
		<pubDate>Thu, 28 Feb 2008 05:28:36 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-209903</guid>
		<description>I absolutely agree that humans operate in far more sophisticated ways than simple logical planners.  In the world of games, we tend to be more interested in the illusion of human-like intelligence than in actually operating like humans.

But what is important to note is that the motivation to pursue a planning system for FEAR was really to make authoring complex behaviors more comprehensible by human designers.  By breaking behavior in bite-sized modular chunks, and offloading low level action sequencing to the AI characters themselves, we freed ourselves to focus on the higher level of complexity -- squad behaviors.</description>
		<content:encoded><![CDATA[<p>I absolutely agree that humans operate in far more sophisticated ways than simple logical planners.  In the world of games, we tend to be more interested in the illusion of human-like intelligence than in actually operating like humans.</p>
<p>But what is important to note is that the motivation to pursue a planning system for FEAR was really to make authoring complex behaviors more comprehensible by human designers.  By breaking behavior in bite-sized modular chunks, and offloading low level action sequencing to the AI characters themselves, we freed ourselves to focus on the higher level of complexity &#8212; squad behaviors.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Orkin</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-209898</link>
		<dc:creator>Jeff Orkin</dc:creator>
		<pubDate>Thu, 28 Feb 2008 05:20:45 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-209898</guid>
		<description>The planning for squads is actually external to the STRIPS-like planner.  The important point is that It is a two-layered system where squads send orders to individuals, and the individuals use the planner to formulate a sequence of actions to respond to some order.  Individuals can choose to disobey orders as well, if the AI feels that some other goal is more relevant (e.g. running from a grenade is more relevant than getting to a cover position).  The squad-level planner was more adhoc than the more formalized planner for individuals.

The problem is that STRIPS is not a hierarchical planner.  When we think about squads, we need a plan that can handle multiple agents acting in parallel.  More recent developments in planning include Hierarchical Task Network (HTN) planners, which may be well suited for games.  Since FEAR was my first foray into planning, I chose to focus on formalizing planning for individuals, rather than biting off more than I could chew.</description>
		<content:encoded><![CDATA[<p>The planning for squads is actually external to the STRIPS-like planner.  The important point is that It is a two-layered system where squads send orders to individuals, and the individuals use the planner to formulate a sequence of actions to respond to some order.  Individuals can choose to disobey orders as well, if the AI feels that some other goal is more relevant (e.g. running from a grenade is more relevant than getting to a cover position).  The squad-level planner was more adhoc than the more formalized planner for individuals.</p>
<p>The problem is that STRIPS is not a hierarchical planner.  When we think about squads, we need a plan that can handle multiple agents acting in parallel.  More recent developments in planning include Hierarchical Task Network (HTN) planners, which may be well suited for games.  Since FEAR was my first foray into planning, I chose to focus on formalizing planning for individuals, rather than biting off more than I could chew.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Orkin</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-209892</link>
		<dc:creator>Jeff Orkin</dc:creator>
		<pubDate>Thu, 28 Feb 2008 04:52:03 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-209892</guid>
		<description>The major difference between FEAR&#039;s planner and STRIPS is the simplification in representing the state of the world -- we limited world state to a fixed set of variables, each of which can be assigned one value.  I refer to FEARs planner as a Goal-Oriented Action Planning (GOAP) system. A GOAP system facilitates real-time planning under tight processing constraints by distributing processing to minimize the load during plan formulation.  Processing is distributed among asynchronously updated sensors and subsystems that all share centralized dynamic Working Memory, as well as a static Blackboard.  Several other developers are starting to employ GOAP systems - I&#039;m beginning to keep track of them here: http://www.jorkin.com/goap.html</description>
		<content:encoded><![CDATA[<p>The major difference between FEAR&#8217;s planner and STRIPS is the simplification in representing the state of the world &#8212; we limited world state to a fixed set of variables, each of which can be assigned one value.  I refer to FEARs planner as a Goal-Oriented Action Planning (GOAP) system. A GOAP system facilitates real-time planning under tight processing constraints by distributing processing to minimize the load during plan formulation.  Processing is distributed among asynchronously updated sensors and subsystems that all share centralized dynamic Working Memory, as well as a static Blackboard.  Several other developers are starting to employ GOAP systems &#8211; I&#8217;m beginning to keep track of them here: <a href="http://www.jorkin.com/goap.html" rel="nofollow">http://www.jorkin.com/goap.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: noah</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-209888</link>
		<dc:creator>noah</dc:creator>
		<pubDate>Thu, 28 Feb 2008 04:38:15 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-209888</guid>
		<description>Absolutely -- I have no doubt that such a gap exists any time there&#039;s a separation between planning and execution. And that&#039;s an important point for this section.

But the next idea I&#039;m trying to get at in this section (which clearly needs some reworking) is this one: In an authored microworld (like a game) can we create a situation in which that gap won&#039;t matter to the audience?

For example, take the three routes to the vehicle. If the planner says &quot;Get to the vehicle&quot; then the executor can choose the wrong route, due to lack of information. If the planner says &quot;Get to the vehicle via this route&quot; then the executor can choose the wrong method of movement (e.g., choosing skiing, when the whole reason to move is that the snow is almost completely melted). And so on. The problem can always appear at the level where the planner hands off any meaningful decision to the executor.

In the everyday world, we&#039;ll always have more in the world than the planner can handle. But in a simplified, authored microworld, shouldn&#039;t we be able to plan &quot;all the way down&quot;? That&#039;s to say, what if the planner chooses to leave and chooses which route to take -- and the world involves no choice between skiing and walking? In this case, it seems like the NPC/AI can start to execute something that made sense during planning, then perhaps find out it doesn&#039;t make sense, then re-plan, and the result is perfectly appropriate character behavior (e.g., starting to take route B, finding it too dangerous, visibly registering surprise, taking a moment to re-plan, turning around and going another way).

For this to work, of course, we need to enable it. We could try to give the executor all the information about what would invalidate the plan (e.g., &lt;i&gt;Planex&lt;/i&gt; knows what the state of the world is supposed to be before the execution of each stage of the plan) and then the executor can run until something invalidates the plan. Or, alternately, we could re-plan after anything important happens (e.g., the NPC makes the first move down the path and there&#039;s an explosion, or some Zorgs come in from an unexpected direction, or new information comes in from a teammate, or the character actually makes it to the vehicle, or...). My thought, in this section, is that &lt;i&gt;F.E.A.R.&lt;/i&gt; points to something like this second option, doing quite well for its limited characters and fictional world.

But our conversation so far has me concerned. Is there something seriously flawed about this reasoning? Or is there a wider point that this way of posing things misses? Or, perhaps, is the problem that I&#039;m not stating things clearly? I appreciate your thoughts on this.</description>
		<content:encoded><![CDATA[<p>Absolutely &#8212; I have no doubt that such a gap exists any time there&#8217;s a separation between planning and execution. And that&#8217;s an important point for this section.</p>
<p>But the next idea I&#8217;m trying to get at in this section (which clearly needs some reworking) is this one: In an authored microworld (like a game) can we create a situation in which that gap won&#8217;t matter to the audience?</p>
<p>For example, take the three routes to the vehicle. If the planner says &#8220;Get to the vehicle&#8221; then the executor can choose the wrong route, due to lack of information. If the planner says &#8220;Get to the vehicle via this route&#8221; then the executor can choose the wrong method of movement (e.g., choosing skiing, when the whole reason to move is that the snow is almost completely melted). And so on. The problem can always appear at the level where the planner hands off any meaningful decision to the executor.</p>
<p>In the everyday world, we&#8217;ll always have more in the world than the planner can handle. But in a simplified, authored microworld, shouldn&#8217;t we be able to plan &#8220;all the way down&#8221;? That&#8217;s to say, what if the planner chooses to leave and chooses which route to take &#8212; and the world involves no choice between skiing and walking? In this case, it seems like the NPC/AI can start to execute something that made sense during planning, then perhaps find out it doesn&#8217;t make sense, then re-plan, and the result is perfectly appropriate character behavior (e.g., starting to take route B, finding it too dangerous, visibly registering surprise, taking a moment to re-plan, turning around and going another way).</p>
<p>For this to work, of course, we need to enable it. We could try to give the executor all the information about what would invalidate the plan (e.g., <i>Planex</i> knows what the state of the world is supposed to be before the execution of each stage of the plan) and then the executor can run until something invalidates the plan. Or, alternately, we could re-plan after anything important happens (e.g., the NPC makes the first move down the path and there&#8217;s an explosion, or some Zorgs come in from an unexpected direction, or new information comes in from a teammate, or the character actually makes it to the vehicle, or&#8230;). My thought, in this section, is that <i>F.E.A.R.</i> points to something like this second option, doing quite well for its limited characters and fictional world.</p>
<p>But our conversation so far has me concerned. Is there something seriously flawed about this reasoning? Or is there a wider point that this way of posing things misses? Or, perhaps, is the problem that I&#8217;m not stating things clearly? I appreciate your thoughts on this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Orkin</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-209881</link>
		<dc:creator>Jeff Orkin</dc:creator>
		<pubDate>Thu, 28 Feb 2008 04:22:33 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-209881</guid>
		<description>Your comparison between NOLF2 and The Sims is very aprepos, in that NOLF2&#039;s non-combat AI was very much Sims-inspired.  Our worlds were filled with &quot;Smart Objects&quot;, which dictated animation sets in a similar manner to The Sims (e.g. writing at desks, napping in beds, dancing to boom boxes, etc). We wanted the player to feel as though the other characters truly *lived* in the world, rather than simply waiting for the player to arrive, and what better model for living domestic environments than The Sims.</description>
		<content:encoded><![CDATA[<p>Your comparison between NOLF2 and The Sims is very aprepos, in that NOLF2&#8242;s non-combat AI was very much Sims-inspired.  Our worlds were filled with &#8220;Smart Objects&#8221;, which dictated animation sets in a similar manner to The Sims (e.g. writing at desks, napping in beds, dancing to boom boxes, etc). We wanted the player to feel as though the other characters truly *lived* in the world, rather than simply waiting for the player to arrive, and what better model for living domestic environments than The Sims.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Nelson</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-209864</link>
		<dc:creator>Mark Nelson</dc:creator>
		<pubDate>Thu, 28 Feb 2008 02:53:46 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-209864</guid>
		<description>It may not fix all the problems either, but not all planning systems have such a strict separation between plan construction and execution as the classical ones do, and not all rely on replanning as the only way to deal with changes in the world or unexpected results. There&#039;s a whole body of work on conditional planning, for example (sometimes called contingency planning), which instead of building a &quot;this is what you should do&quot; plan, builds a whole set of &quot;this is what you should do, unless [x], in which case you should do this other thing&quot;, etc., etc. In the limit case you have a policy for what to do in any possible situation.</description>
		<content:encoded><![CDATA[<p>It may not fix all the problems either, but not all planning systems have such a strict separation between plan construction and execution as the classical ones do, and not all rely on replanning as the only way to deal with changes in the world or unexpected results. There&#8217;s a whole body of work on conditional planning, for example (sometimes called contingency planning), which instead of building a &#8220;this is what you should do&#8221; plan, builds a whole set of &#8220;this is what you should do, unless [x], in which case you should do this other thing&#8221;, etc., etc. In the limit case you have a policy for what to do in any possible situation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard Evans</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-209849</link>
		<dc:creator>Richard Evans</dc:creator>
		<pubDate>Thu, 28 Feb 2008 00:18:03 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-209849</guid>
		<description>No matter how frequent the replanning, I don&#039;t think it is enough to fix the deep issue that you articulated earlier (the division between mind and body hypostasised as planner versus executor. Suppose that every n seconds someone injected you with a temporary amnesia pill. This pill only lasted briefly, but while it was active, you couldn&#039;t remember anything. Then your behavior would be erratic: it would alternate between guidedness and foolishness. No matter how short the pill lasted, if you performed any sort of action while it is active, it will be the wrong action.

Suppose the planner tells you to get to your vehicle. There are three paths to your vehicle, A B and C. Both B and C are more time-efficient, but are infested with Zorg guards. A is less time-efficient, but safe. Now if your executor (the router) has no understanding that it has to avoid Zorg guards, then it will choose B or C. Once it starts executing, it will replan, perhaps it will try again and choose C this time. No matter how frequently it replans, the router (which is by hypothesis blind to the planner&#039;s reasons) will continue to choose B or C (because they are nearer to the vehicle by hypothesis). So the agent will oscillate foolishly between B and C and never get to his vehicle via A. This is so, no matter how frequently you re-plan. The problem is deeper: the router doesn&#039;t understand what the executor knows. (Of course, we can &quot;fix&quot; this problem by telling the router/executor to avoid the last n failed routes, but that is to cover up the problem, rather than to solve it. The real solution is to allow the executor to have access to all the information that the planner has access to).</description>
		<content:encoded><![CDATA[<p>No matter how frequent the replanning, I don&#8217;t think it is enough to fix the deep issue that you articulated earlier (the division between mind and body hypostasised as planner versus executor. Suppose that every n seconds someone injected you with a temporary amnesia pill. This pill only lasted briefly, but while it was active, you couldn&#8217;t remember anything. Then your behavior would be erratic: it would alternate between guidedness and foolishness. No matter how short the pill lasted, if you performed any sort of action while it is active, it will be the wrong action.</p>
<p>Suppose the planner tells you to get to your vehicle. There are three paths to your vehicle, A B and C. Both B and C are more time-efficient, but are infested with Zorg guards. A is less time-efficient, but safe. Now if your executor (the router) has no understanding that it has to avoid Zorg guards, then it will choose B or C. Once it starts executing, it will replan, perhaps it will try again and choose C this time. No matter how frequently it replans, the router (which is by hypothesis blind to the planner&#8217;s reasons) will continue to choose B or C (because they are nearer to the vehicle by hypothesis). So the agent will oscillate foolishly between B and C and never get to his vehicle via A. This is so, no matter how frequently you re-plan. The problem is deeper: the router doesn&#8217;t understand what the executor knows. (Of course, we can &#8220;fix&#8221; this problem by telling the router/executor to avoid the last n failed routes, but that is to cover up the problem, rather than to solve it. The real solution is to allow the executor to have access to all the information that the planner has access to).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: noah</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-209847</link>
		<dc:creator>noah</dc:creator>
		<pubDate>Wed, 27 Feb 2008 23:59:46 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-209847</guid>
		<description>Alex, let me start by saying that you and Richard are clearly much more expert in this area than I am. I&#039;m very glad to be getting your feedback before the book goes to press!

That said, shouldn&#039;t we make a distinction between continual replanning (as in your &lt;i&gt;Memento&lt;/i&gt; post), replanning after each compound action and/or when a plan is invalidated (as I understand &lt;i&gt;F.E.A.R.&lt;/i&gt;), and replanning after each execution step (as in Agre&#039;s quote from the &lt;i&gt;Strips&lt;/i&gt; creators)?

Obviously, it&#039;s not specified what replanning after each execution step would mean in the context of media. Following Phoebe Sengers, I&#039;d be inclined to define an &quot;execution step&quot; for an NPC/AI as something like &quot;an action we have reason to believe the audience has perceived.&quot; And I would want to imagine the current action context (what I&#039;m doing now, and why, and what I was doing before) to be part of what informs the planning process. But maybe this kind of approach has pitfalls I&#039;m not sufficiently acknowledging.

Meanwhile, I&#039;m going to go back and look again at your three video posts on &quot;Behavior Trees for Next-Gen Game AI&quot; (&lt;a href=&quot;http://aigamedev.com/videos/behavior-trees-part1&quot; rel=&quot;nofollow&quot;&gt;starting here,&lt;/a&gt; for those following the discussion).</description>
		<content:encoded><![CDATA[<p>Alex, let me start by saying that you and Richard are clearly much more expert in this area than I am. I&#8217;m very glad to be getting your feedback before the book goes to press!</p>
<p>That said, shouldn&#8217;t we make a distinction between continual replanning (as in your <i>Memento</i> post), replanning after each compound action and/or when a plan is invalidated (as I understand <i>F.E.A.R.</i>), and replanning after each execution step (as in Agre&#8217;s quote from the <i>Strips</i> creators)?</p>
<p>Obviously, it&#8217;s not specified what replanning after each execution step would mean in the context of media. Following Phoebe Sengers, I&#8217;d be inclined to define an &#8220;execution step&#8221; for an NPC/AI as something like &#8220;an action we have reason to believe the audience has perceived.&#8221; And I would want to imagine the current action context (what I&#8217;m doing now, and why, and what I was doing before) to be part of what informs the planning process. But maybe this kind of approach has pitfalls I&#8217;m not sufficiently acknowledging.</p>
<p>Meanwhile, I&#8217;m going to go back and look again at your three video posts on &#8220;Behavior Trees for Next-Gen Game AI&#8221; (<a href="http://aigamedev.com/videos/behavior-trees-part1" rel="nofollow">starting here,</a> for those following the discussion).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: alexjc</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-209831</link>
		<dc:creator>alexjc</dc:creator>
		<pubDate>Wed, 27 Feb 2008 22:51:31 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-209831</guid>
		<description>Replanning regularly is feasible, not every frame but say at 5Hz; it&#039;s being done in some other shooters.  But as Richard says it&#039;s a cosmetic fix.

It makes things harder to debug, as you get the &quot;memento&quot; effect:
http://aigamedev.com/essays/memento-debugging-planner 

I think it&#039;s also very wasteful, and potentially a source of oscillation unless you have good safeguards in place.  There have been a few projects in robotics and planning that integrate planning and execution, but I hope to experiment with these ideas myself in my Game::AI++ project... (See AiGameDev.com for details. :)</description>
		<content:encoded><![CDATA[<p>Replanning regularly is feasible, not every frame but say at 5Hz; it&#8217;s being done in some other shooters.  But as Richard says it&#8217;s a cosmetic fix.</p>
<p>It makes things harder to debug, as you get the &#8220;memento&#8221; effect:<br />
<a href="http://aigamedev.com/essays/memento-debugging-planner" rel="nofollow">http://aigamedev.com/essays/memento-debugging-planner</a> </p>
<p>I think it&#8217;s also very wasteful, and potentially a source of oscillation unless you have good safeguards in place.  There have been a few projects in robotics and planning that integrate planning and execution, but I hope to experiment with these ideas myself in my Game::AI++ project&#8230; (See AiGameDev.com for details. :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: noah</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-209829</link>
		<dc:creator>noah</dc:creator>
		<pubDate>Wed, 27 Feb 2008 22:47:35 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-209829</guid>
		<description>Yes, the solution for &lt;i&gt;F.E.A.R.&lt;/i&gt; works so well (in my experience) because the characters are called on to do limited things and live for short periods of time. (In Orkin&#039;s GDC 06 slides, the estimated enemy AI lifespan is 12.23 seconds.) 

Given these conditions, it&#039;s okay for a character to have cover invalidated, run to different cover, and then have that invalidated -- the character will probably get killed before they bounce back and forth a couple more times and look to be dithering. (As your example character might, running back and forth between guard Zorgs and the cluster of Zorgs.)

The hard question is the next step, beyond &lt;i&gt;F.E.A.R.&lt;/i&gt; (as it were). 

For Agre the next step is to approach AI a different way, based on his ideas about how people operate intelligently in our contingent world -- a matter, as I mention in this section, of improvisation.

But when we&#039;re making media, like games, I don&#039;t think we should worry too much about how real people operate in the everyday world. So our question is different, though still very challenging.

To return to your example, are you sure that re-planning after each execution step (as in Agre&#039;s quote from the &lt;i&gt;Strips&lt;/i&gt; creators) wouldn&#039;t work here? If the planner decides to run to a safe place (away from the Zorg guards), then starts to run to the identified place (only to find a cluster of Zorgs), then (because a step has taken place) re-plans to find a different Zorg-free place to run (or take a different action, if the preconditions for running away can no longer be met, since no Zorg-free location is accessible) wouldn&#039;t this potentially produce both appropriate and legible NPC/AI behavior? In fact, we could even add something to the system that causes the character to act increasingly at wit&#039;s end the more quickly plans are being invalidated. Or it could open the powerful characterization device of showing how characters respond to pressure, with each character responding in their own way to a string of necessary re-planning, in a manner maximally legible to the audience -- from exaggerated frightened dithering to cool calculation.

But back to the larger question about the effectiveness of re-planning. Does it all, perhaps, come down to the size of the execution steps after which re-planning occurs?</description>
		<content:encoded><![CDATA[<p>Yes, the solution for <i>F.E.A.R.</i> works so well (in my experience) because the characters are called on to do limited things and live for short periods of time. (In Orkin&#8217;s GDC 06 slides, the estimated enemy AI lifespan is 12.23 seconds.) </p>
<p>Given these conditions, it&#8217;s okay for a character to have cover invalidated, run to different cover, and then have that invalidated &#8212; the character will probably get killed before they bounce back and forth a couple more times and look to be dithering. (As your example character might, running back and forth between guard Zorgs and the cluster of Zorgs.)</p>
<p>The hard question is the next step, beyond <i>F.E.A.R.</i> (as it were). </p>
<p>For Agre the next step is to approach AI a different way, based on his ideas about how people operate intelligently in our contingent world &#8212; a matter, as I mention in this section, of improvisation.</p>
<p>But when we&#8217;re making media, like games, I don&#8217;t think we should worry too much about how real people operate in the everyday world. So our question is different, though still very challenging.</p>
<p>To return to your example, are you sure that re-planning after each execution step (as in Agre&#8217;s quote from the <i>Strips</i> creators) wouldn&#8217;t work here? If the planner decides to run to a safe place (away from the Zorg guards), then starts to run to the identified place (only to find a cluster of Zorgs), then (because a step has taken place) re-plans to find a different Zorg-free place to run (or take a different action, if the preconditions for running away can no longer be met, since no Zorg-free location is accessible) wouldn&#8217;t this potentially produce both appropriate and legible NPC/AI behavior? In fact, we could even add something to the system that causes the character to act increasingly at wit&#8217;s end the more quickly plans are being invalidated. Or it could open the powerful characterization device of showing how characters respond to pressure, with each character responding in their own way to a string of necessary re-planning, in a manner maximally legible to the audience &#8212; from exaggerated frightened dithering to cool calculation.</p>
<p>But back to the larger question about the effectiveness of re-planning. Does it all, perhaps, come down to the size of the execution steps after which re-planning occurs?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard Evans</title>
		<link>http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/comment-page-1/#comment-209798</link>
		<dc:creator>Richard Evans</dc:creator>
		<pubDate>Wed, 27 Feb 2008 20:40:16 +0000</pubDate>
		<guid isPermaLink="false">http://grandtextauto.org/2008/02/27/ep-62-beyond-compartmentalized-actions/#comment-209798</guid>
		<description>This is a fascinating discussion, but I don&#039;t think that continual re-planning is sufficient to fix the deep problems you identify.

The really deep problem here is, as you say, that planning and plan execution are separate. Re-planning won&#039;t make this problem go away - in bad cases, it will just make the plan executor appear to be stuttering.

The problem is that plan execution is typically a self-contained routine which has no access to the data of the planner. The planner can weigh up as many options as it likes, but then, once it has made its decision, the only piece of data that is passed to the plan executor is that decision. The reasons for the decision, and all the other ambient issues which the planner considered, are lost to the executor. But all that the player directly sees is the movement of the executor. All that information wasted!

A concrete example: the planner decides to run away from the guard because the guard is a Zorg, and Zorgs are scary. It passes its decision to the plan executor who routes in the other direction. Unfortunately, this route goes through a cluster of Zorgs! The problem here, to reiterate to the point of tedium, is that the plan executor (the router) does not have access to the information (avoid Zorgs!) which prompted the decision (to avoid the guard).</description>
		<content:encoded><![CDATA[<p>This is a fascinating discussion, but I don&#8217;t think that continual re-planning is sufficient to fix the deep problems you identify.</p>
<p>The really deep problem here is, as you say, that planning and plan execution are separate. Re-planning won&#8217;t make this problem go away &#8211; in bad cases, it will just make the plan executor appear to be stuttering.</p>
<p>The problem is that plan execution is typically a self-contained routine which has no access to the data of the planner. The planner can weigh up as many options as it likes, but then, once it has made its decision, the only piece of data that is passed to the plan executor is that decision. The reasons for the decision, and all the other ambient issues which the planner considered, are lost to the executor. But all that the player directly sees is the movement of the executor. All that information wasted!</p>
<p>A concrete example: the planner decides to run away from the guard because the guard is a Zorg, and Zorgs are scary. It passes its decision to the plan executor who routes in the other direction. Unfortunately, this route goes through a cluster of Zorgs! The problem here, to reiterate to the point of tedium, is that the plan executor (the router) does not have access to the information (avoid Zorgs!) which prompted the decision (to avoid the guard).</p>
]]></content:encoded>
	</item>
</channel>
</rss>

