<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" 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/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Post-Play'em</title>
	
	<link>http://intrinsicalgorithm.com/post-playem</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Wed, 25 Jan 2012 16:40:21 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/post-playem" /><feedburner:info uri="post-playem" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>post-playem</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Skyrim: Points of Interest</title>
		<link>http://feedproxy.google.com/~r/post-playem/~3/iTsh_hENhdg/</link>
		<comments>http://intrinsicalgorithm.com/post-playem/2012/01/skyrim-points-of-interest/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 16:40:21 +0000</pubDate>
		<dc:creator>Dave Mark</dc:creator>
				<category><![CDATA[Observations]]></category>
		<category><![CDATA[attention]]></category>
		<category><![CDATA[NPC]]></category>
		<category><![CDATA[Skyrim]]></category>

		<guid isPermaLink="false">http://intrinsicalgorithm.com/post-playem/?p=209</guid>
		<description>Another minor observation. I was hanging out in a small town and, for some reason, there was a Frostbite Spider corpse in the middle of the road. I don&amp;#8217;t know why it was there since I wasn&amp;#8217;t the one that killed it. However, what I did notice was that various villagers walked up to it [...]</description>
			<content:encoded><![CDATA[<p>Another minor observation. I was hanging out in a small town and, for some reason, there was a Frostbite Spider corpse in the middle of the road. I don&#8217;t know why it was there since I wasn&#8217;t the one that killed it. However, what I <em>did </em>notice was that various villagers walked up to it while making eye contact (head contact at least) with it, stopped to look at it for a moment, and then moved on. A guard even knelt down and touched it.</p>
<p>This is such a huge point of immersion in games. That is, people noticing things that are out of the ordinary whether those things are objects that shouldn&#8217;t be someplace or events that are unexpected. Certainly, we can&#8217;t afford the processing power for people to suggest that a chair would be better off in the <em>other </em>corner of the room, but having a large venomous spider corpse the the middle of the road (or even in town at all) is certainly worthy of note.</p>
<p>Sure, we have done this with the monsters when they are <em>alive</em>. (Although there are plenty of examples where NPCs don&#8217;t notice this as well.) However, often people ignore things after they are dead. Even the agents that kill things will often simply state change to walk away from something as if it never existed in the first place. This, on the other hand, is very different. To me knowledge, these people didn&#8217;t even <em>see </em>the spider get killed. They simply noticed the corpse as an object that was worthy of note.</p>
<p>Well done!</p>
<img src="http://feeds.feedburner.com/~r/post-playem/~4/iTsh_hENhdg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://intrinsicalgorithm.com/post-playem/2012/01/skyrim-points-of-interest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://intrinsicalgorithm.com/post-playem/2012/01/skyrim-points-of-interest/</feedburner:origLink></item>
		<item>
		<title>Skyrim AI Weapon Selection</title>
		<link>http://feedproxy.google.com/~r/post-playem/~3/32n2QfNXgFY/</link>
		<comments>http://intrinsicalgorithm.com/post-playem/2012/01/skyrim-ai-weapon-selection/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 22:22:10 +0000</pubDate>
		<dc:creator>Dave Mark</dc:creator>
				<category><![CDATA[Observations]]></category>
		<category><![CDATA[RPG]]></category>
		<category><![CDATA[selection]]></category>
		<category><![CDATA[Skyrim]]></category>
		<category><![CDATA[utility]]></category>

		<guid isPermaLink="false">http://intrinsicalgorithm.com/post-playem/?p=196</guid>
		<description>Say what you want about Lydia and her lack of pathfinding prowess, she does do some things right. The problem is (as is the case with all good AI), unless you are looking for it, you might not notice. Early on in my relationship with her, I had noticed that she would switch between her [...]</description>
			<content:encoded><![CDATA[<p><a href="http://intrinsicalgorithm.com/post-playem/2012/01/skyrim-ai-weapon-selection/tesv-2012-01-14-09-22-44-36/" rel="attachment wp-att-199"><img class="alignright size-medium wp-image-199" title="Lydia's Inventory" src="http://intrinsicalgorithm.com/post-playem/wp-content/uploads/2012/01/TESV-2012-01-14-09-22-44-36-200x122.png" alt="" width="200" /></a>Say what you want about Lydia and her lack of pathfinding prowess, she does do some things right. The problem is (as is the case with all good AI), unless you are looking for it, you might not notice.</p>
<p>Early on in my relationship with her, I had noticed that she would switch between her bow and a sword. Later on, as is part of her duty (which she will remind you of in her sarcastic, resigned drawl), I had given her a bunch of stuff to carry for me. That included a few different weapons and 3 different magical staves with varying abilities.  During a combat, I noticed that she was using a paralysis staff to disable a mage we were fighting. After knocking his ass to the ground in such fashion, she joined me in whacking him into oblivion (not to be confused with &#8220;into Oblivion&#8221;).</p>
<p><a href="http://intrinsicalgorithm.com/post-playem/2012/01/skyrim-ai-weapon-selection/tesv-2012-01-14-09-25-56-07/" rel="attachment wp-att-198"><img class="alignright size-medium wp-image-198" title="Lydia with Weapons" src="http://intrinsicalgorithm.com/post-playem/wp-content/uploads/2012/01/TESV-2012-01-14-09-25-56-07-200x122.png" alt="" width="200" /></a>I&#8217;ve seen her in other situations use the paralysis staff, switch to using <em>two </em>other more offensive damage staffs, and then pull out an axe in place of one of the staffs&#8230; all as the situation warrants and all in the same combat sequence. This is something I&#8217;ve  been looking for in games for quite some time.</p>
<p>I haven&#8217;t been able to completely discern whether she is using a specific rule-based system or if there is some sort of underlying utility model at work. I would tend to say that it would be at least a portion of the later. That is a model that is far more expandable which is necessary when you include the number of potential weapons (and other objects, I&#8217;m sure) and potential factors to consider. If I notice more, I will mention it.</p>
<img src="http://feeds.feedburner.com/~r/post-playem/~4/32n2QfNXgFY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://intrinsicalgorithm.com/post-playem/2012/01/skyrim-ai-weapon-selection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://intrinsicalgorithm.com/post-playem/2012/01/skyrim-ai-weapon-selection/</feedburner:origLink></item>
		<item>
		<title>Skyrim: It’s a Free-for-All!</title>
		<link>http://feedproxy.google.com/~r/post-playem/~3/Gha1rYsOlcI/</link>
		<comments>http://intrinsicalgorithm.com/post-playem/2012/01/skyrim-its-a-free-for-all/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 01:21:38 +0000</pubDate>
		<dc:creator>Dave Mark</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Observations]]></category>
		<category><![CDATA[NPCs]]></category>
		<category><![CDATA[RPG]]></category>
		<category><![CDATA[Skyrim]]></category>
		<category><![CDATA[target selection]]></category>
		<category><![CDATA[The Sims]]></category>
		<category><![CDATA[utility]]></category>

		<guid isPermaLink="false">http://intrinsicalgorithm.com/post-playem/?p=185</guid>
		<description>Just had a battle out on the plains west of Whiterun. It was bad enough that I got jumped by a dragon. Then, the dragon flew a ways away and started chillin&amp;#8217; a nearby mammoth. Lydia and I continued to take potshots at Mr. Dragon (Mrs. Dragon?) while the mammoth ineffectually stared down its assailant. [...]</description>
			<content:encoded><![CDATA[<p>Just had a battle out on the plains west of Whiterun. It was bad enough that I got jumped by a dragon. Then, the dragon flew a ways away and started chillin&#8217; a nearby mammoth. Lydia and I continued to take potshots at Mr. Dragon (Mrs. Dragon?) while the mammoth ineffectually stared down its assailant. Eventually, the mammoth started running (right past me and Lydia!) and the dragon seemed to give up on it.</p>
<p>Unfortunately, I soon realized that there were a couple of mages wandering around the area who, for some reason, apparently decided that Lydia and I were far more menacing than the circling beast. And <em>then</em> there was the skeleton &#8212; who may or may not have been the product of the mages who started attacking me. By the time I dispatched the skeleton, the dragon had gotten bored with whatever it was he (she?) was fighting nearby and came back to visit. This all came to a rather unfortunate end&#8230; but that&#8217;s not what I came to tell you&#8230;</p>
<table class="pullquote">
<tbody>
<tr>
<td>&#8220;There seems to be a serious lack of proper prioritization of targets.&#8221;</td>
</tr>
</tbody>
</table>
<p>The point of all of this is that there seems to be a serious lack of proper prioritization of targets. For example, despite the fact that a mammoth might look awful tasty to a dragon, said morsel is not going to be able to <em>attack you.</em> Better to dispatch the pair of annoyances that are pumping arrows into you and come back for the hairy buffet later.</p>
<p>The same can be said for the mages. If there is a dragon cruising around, it seems rather silly to attack two relatively harmless bipeds. In fact, the chances of defeating the dragon (and therefore surviving) would go up considerably if it was attacked by a group rather than by a couple of individuals. An additional bonus would be that the dragon might take such a toll on your secondary opponents that it leaves you an advantage you might not otherwise have.</p>
<p><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=davemark&amp;l=as2&amp;o=1&amp;a=1584506849" alt="" width="1" height="1" border="0" /><br />
Obviously the target selection algorithm doesn&#8217;t take a lot of this into account. It&#8217;s really a matter of mathematical modeling. Ironically, it is the same sort of modeling that goes into non-combat games such as The Sims. The good news is that it is relatively simple to put together and can adapt to pretty much any situation that your NPCs find themselves in. It can also be  tied into the entire combat selection system so that the possible actions could include not attacking <em>anyone </em>at all (even running away, if necessary).</p>
<p>For those that are curious as to how such utility-based systems can be built, it is pretty much the entire point of my book, <em><a href="http://www.amazon.com/gp/product/1584506849?ie=UTF8&amp;tag=davemark&amp;linkCode=xm2&amp;camp=1789&amp;creativeASIN=1584506849">Behavioral Mathematics for Game AI</a>.</em></p>
<p><em></em><a href="http://www.amazon.com/gp/product/1584506849/ref=as_li_ss_il?ie=UTF8&amp;tag=davemark&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1584506849"><img class="alignnone" style="border-style: initial; border-color: initial;" src="http://ws.assoc-amazon.com/widgets/q?_encoding=UTF8&amp;Format=_SL160_&amp;ASIN=1584506849&amp;MarketPlace=US&amp;ID=AsinImage&amp;WS=1&amp;tag=davemark&amp;ServiceVersion=20070822" alt="" border="0" /></a></p>
<img src="http://feeds.feedburner.com/~r/post-playem/~4/Gha1rYsOlcI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://intrinsicalgorithm.com/post-playem/2012/01/skyrim-its-a-free-for-all/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://intrinsicalgorithm.com/post-playem/2012/01/skyrim-its-a-free-for-all/</feedburner:origLink></item>
		<item>
		<title>Skyrim: Pardon the Interruption</title>
		<link>http://feedproxy.google.com/~r/post-playem/~3/QaktfyE7Ye0/</link>
		<comments>http://intrinsicalgorithm.com/post-playem/2011/12/skyrim-pardon-the-interruption/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 19:00:44 +0000</pubDate>
		<dc:creator>Dave Mark</dc:creator>
				<category><![CDATA[Observations]]></category>
		<category><![CDATA[conversation]]></category>
		<category><![CDATA[dialogue]]></category>
		<category><![CDATA[random behavior]]></category>
		<category><![CDATA[RPG]]></category>
		<category><![CDATA[Skyrim]]></category>

		<guid isPermaLink="false">http://intrinsicalgorithm.com/post-playem/?p=178</guid>
		<description>This is a quick one. I have seen this numerous times in my few hours of playing, but I haven&amp;#8217;t captured as many of them on video as I would like. &amp;#8220;They neglect to take any sort of context into account.&amp;#8221; People in Skyrim obviously have a proximity trigger with your character. If they have [...]</description>
			<content:encoded><![CDATA[<p>This is a quick one. I have seen this numerous times in my few hours of playing, but I haven&#8217;t captured as many of them on video as I would like.</p>
<table class="pullquote">
<tbody>
<tr>
<td>&#8220;They neglect to take any sort of context into account.&#8221;</td>
</tr>
</tbody>
</table>
<p>People in Skyrim obviously have a proximity trigger with your character. If they have something to say, they will say it either when you get in range of them or vice versa. While this makes for some great immersion at times, they neglect to take any sort of context into account. They don&#8217;t observe what is going on and decide whether or not they should talk to you.</p>
<div align="center"><object width="640" height="360" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/1xMgJbWBg34?version=3&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed width="640" height="360" type="application/x-shockwave-flash" src="http://www.youtube.com/v/1xMgJbWBg34?version=3&amp;hl=en_US" allowFullScreen="true" allowscriptaccess="always" allowfullscreen="true" /></object></div>
<p>I don&#8217;t recall anyone doing it while I was in an active dialog tree, but there are certainly times when I am listening to something important &#8212; and especially if I am obviously part of a group discussion (such as in the two examples in the video). People doing their random walks will pass close enough to me to trip their trigger (so to speak) and say their piece. It&#8217;s horribly distracting.</p>
<table class="pullquote">
<tbody>
<tr>
<td>&#8220;Real people have an awareness of unwritten social rules.&#8221;</td>
</tr>
</tbody>
</table>
<p>The reason that this breaks immersion is that (real) people have an awareness of unwritten social rules. This is notoriously hard to get right in games. Richard Evans has been working on it for years &#8212; most notably with his work in The Sims 3. However, we aren&#8217;t solving for behaviors such as &#8220;don&#8217;t walk in on someone where they are taking a leak.&#8221; We are simply saying, &#8220;if I&#8217;m involved in something important, don&#8217;t interrupt me.&#8221;</p>
<p>If it is, indeed, the case that there is a boolean to <em>not </em>interrupt when a dialog is active, this is a simple fix. Apply the same boolean flag to when something important is going on that the player must listen to. In the case of the street preacher in Whiterun, this isn&#8217;t as big of a deal. By definition of his role, he is going to repeat himself. However, in the cases shown in the video, this is a one-time thing with important information&#8230; don&#8217;t play your random engagements.</p>
<table class="pullquote">
<tbody>
<tr>
<td>&#8220;If I&#8217;m not<br />
looking at you,<br />
don&#8217;t speak to me.&#8221;</td>
</tr>
</tbody>
</table>
<p>Another way of solving this is through a slightly more complicated method of simulating &#8220;eye contact&#8221;. That is, if I&#8217;m not looking at you, don&#8217;t speak to me. Let&#8217;s face it&#8230; that&#8217;s a common one that we all use in public anyway. In the case of the examples in the video, the 2nd one would have fallen into this category. The guard just happened to be walking by &#8212; <em>behind me</em> &#8212; and decided based on proximity to say his line. In the first video, at least I looked at the guy.</p>
<p>In effect, many of these rules can be combined together in some form of rule-based system&#8230; even an additive one using cumulative values. By assigning values to the various considerations (including a value on the importance of the message itself) you can define a threshold above which you are allowed to say the line. That solution would be much less brittle than the simplistic one that is being used here, and yet it is still lightweight and easily customizable by designers and programmers.</p>
<img src="http://feeds.feedburner.com/~r/post-playem/~4/QaktfyE7Ye0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://intrinsicalgorithm.com/post-playem/2011/12/skyrim-pardon-the-interruption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://intrinsicalgorithm.com/post-playem/2011/12/skyrim-pardon-the-interruption/</feedburner:origLink></item>
		<item>
		<title>Skyrim: To Headlook or not to Headlook?</title>
		<link>http://feedproxy.google.com/~r/post-playem/~3/HY66NFB-wbQ/</link>
		<comments>http://intrinsicalgorithm.com/post-playem/2011/12/skyrim-to-headlook-or-not-to-headlook/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 15:01:19 +0000</pubDate>
		<dc:creator>Dave Mark</dc:creator>
				<category><![CDATA[Observations]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[headlook]]></category>
		<category><![CDATA[RPG]]></category>
		<category><![CDATA[Skyrim]]></category>
		<category><![CDATA[vision]]></category>

		<guid isPermaLink="false">http://intrinsicalgorithm.com/post-playem/?p=167</guid>
		<description>While playing my initial few hours of Skyrim this week, I&amp;#8217;ve noticed an interesting disparity in the way headlook is used by characters. While I enjoy headlook in games for the most part, there are times when it can either be overused (&amp;#8220;why is everyone in town staring at me all the time?&amp;#8221;) or used [...]</description>
			<content:encoded><![CDATA[<p>While playing my initial few hours of Skyrim this week, I&#8217;ve noticed an interesting disparity in the way headlook is used by characters. While I enjoy headlook in games for the most part, there are times when it can either be overused (&#8220;why is everyone in town staring at me all the time?&#8221;) or used in such a way that it looks unnatural to the character. Here&#8217;s a video with a few examples. Watch it first because the commentary addresses the scenes within.</p>
<p style="text-align: center;"><object width="640" height="360"><param name="movie" value="http://www.youtube.com/v/MuXJsH9U1KA?version=3&amp;hl=en_US" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed type="application/x-shockwave-flash" width="640" height="360" src="http://www.youtube.com/v/MuXJsH9U1KA?version=3&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>&nbsp;</p>
<p><span class="SubHeadingRed">Look at Me When I&#8217;m Petting You!</span></p>
<p>First, the dog in Riverwood doesn&#8217;t seem to care that I&#8217;m there. With nothing else going on in the middle of the night, you would think that he would at least be interested in me. Instead, he just sits there staring at nothing. While that is perfectly acceptable for a dog to do (ours do it rather often), the problem arose when I actually &#8220;talked&#8221; to the dog. He barked in reponse &#8212; but wasn&#8217;t looking at me at all when he did so. He looked around randomly &#8212; but not towards me.</p>
<p>If you are going to make it so that the dog responds to being addressed, at least make him stand up and face you or turn his head to see you (if possible). You do this with enough other agents in the world, it shouldn&#8217;t have been hard to include a line or two of code to do it with the dog. (I have yet to test this with other animals in the world.)</p>
<p><span class="SubHeadingRed">Look at Me When You&#8217;re Talking To Me!</span></p>
<p>When I entered some tavern or other in Whiterun, I was immediately spoken to by the owner of the place. She was standing behind the counter. However, I noticed that she was not looking at me &#8212; just staring straight ahead. Ironically, she only looked at me when the server lady spoke to me (and mentioned her name). Then, she wouldn&#8217;t stop looking at me at all. One thing I forgot to test was to see if it was proximity based. That is, if I went father across the room, would she have stopped looking at me. All in all, with that sort of incessant tracking, I feel like I&#8217;m being targeted by and anti-aircraft gun. At least with the bar there, she had a reason to continue facing that one directly.</p>
<p><span class="SubHeadingRed">Move More than Your Head</span></p>
<p>Now to this clown Heimskr in Whiterun. As seems to be his job, he runs his mouth out in the town square. When I walked up to him, he started tracking me. (Grateful to have an audience, I suppose.) While it looked OK at first, at one point he raised his hands up&#8230; right between my face and his. He was still trying to look at me, but his hands were in the way. As I moved back and forth (after stopping to grab some lavender), he kept his body facing forwards and his hands raised &#8212; but his head kept tracking me.</p>
<p>It looked horribly unnatural to have his body pinned to one orientation &#8212; especially in a gesture that is meant to be for the audience&#8217;s benefit &#8212; and yet still move his head so much. Unlike the bartender above, he has nothing holding him to that orientation. I would like to see some pivot to the body as he addresses me that way.</p>
<p><span class="SubHeadingRed">Face Me Once in a While</span></p>
<p>This one is a little rough. While I commend games for not always having the agent face directly at you, my qualifier is <em>constantly</em>. Sure, orient your body differently <em>as you move around!</em> However, you aren&#8217;t being clever (or realistic) if you position your body so that it is facing away for some reason, point your head toward the player, <em>and then leave it that way!</em> In the video you will see 3 clips of people who happened to not be facing me directly when I started speaking to them. They didn&#8217;t orient towards me at all when they started speaking to me and didn&#8217;t fidget at all during the conversation. The result looked rather uncomfortable.</p>
<p>Not shown in the 3rd clip is that the speaker <em>did </em>reorient himself after we were jostled by someone walking rudely between us (more on that subject later). I thought that was interesting in that it triggered some sort of alignment code in the agent. Therefore, it seems that some such code exists, but just wasn&#8217;t being used.</p>
<p><span class="SubHeadingRed">How to Fix it</span></p>
<p>This really isn&#8217;t that difficult to fix. Not only would it look less uncomfortable, but it can be leveraged to make for far more engaging characters. All that needs be done is the following:</p>
<ol>
<li>If the player moves outside of a particular front-facing zone, pivot the body as well as the head. You don&#8217;t need to pivot to face him completely, only enough to get the head into a more natural range. For example, if the zone is 60° on either side of center and the player moves out of it, pivot so that the player is now 30° off-center instead. Try it on yourself and see how natural that feels.</li>
<li>As you are talking to the player, reorient yourself once in a while through various shuffling animations. Again, make it so that your body is always somewhere between +/- 30° off of the centerline to the player.</li>
<li>Don&#8217;t <em>always</em> stare at the player. People don&#8217;t do this in conversation. Randomize headlook more. Look around occasionally &#8212; even while you are talking but then glance back at the player directly. The points where you glance back at the player can actually be marked up with the facial animation so that you glance at the same time as important points you are trying to make. Otherwise, look around either randomly (and not all in the horizontal plane, either&#8230; up and down are OK, too!) or at other points of interest in the room. For example, people walking by, the performer in the tavern, windows and doors in the room, etc.</li>
</ol>
<p>Anyway, these are just minor things that have jumped out at me in my initial few hours with the game. While not really bugs, certainly, the headlook issue breaks immersion for many people if it is not done naturally.</p>
<p>There are far more annoying things I have seen that will be addressed later.</p>
<img src="http://feeds.feedburner.com/~r/post-playem/~4/HY66NFB-wbQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://intrinsicalgorithm.com/post-playem/2011/12/skyrim-to-headlook-or-not-to-headlook/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://intrinsicalgorithm.com/post-playem/2011/12/skyrim-to-headlook-or-not-to-headlook/</feedburner:origLink></item>
		<item>
		<title>Dragon Age: Origins — Final Thoughts</title>
		<link>http://feedproxy.google.com/~r/post-playem/~3/fZ6nrIDbTEU/</link>
		<comments>http://intrinsicalgorithm.com/post-playem/2011/11/dragon-age-origins-final-thoughts/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 17:50:20 +0000</pubDate>
		<dc:creator>Dave Mark</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Observations]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[BioWare]]></category>
		<category><![CDATA[Dragon Age Origins]]></category>
		<category><![CDATA[NPC]]></category>
		<category><![CDATA[pathfinding]]></category>
		<category><![CDATA[RPG]]></category>
		<category><![CDATA[tactics]]></category>
		<category><![CDATA[target selection]]></category>

		<guid isPermaLink="false">http://intrinsicalgorithm.com/post-playem/?p=154</guid>
		<description>Well, after messing around with it for over a year, I finally got around to finishing Dragon Age: Origins. I have to admit that the game grew on me after a while. Here are some final thoughts on it. (Note that you can read my earlier posts on the game.) Custom AI Tactics &amp;#8220;I kind [...]</description>
			<content:encoded><![CDATA[<p>Well, after messing around with it for over a year, I finally got around to finishing Dragon Age: Origins. I have to admit that the game grew on me after a while. Here are some final thoughts on it. (Note that you can read my <a href="http://intrinsicalgorithm.com/post-playem/tag/dragon-age-origins/">earlier posts</a> on the game.)</p>
<p><span class="SubHeadingRed">Custom AI Tactics</span></p>
<table class="pullquote">
<tbody>
<tr>
<td>&#8220;I kind of liked dealing with the <em>AI tactics</em>.&#8221;</td>
</tr>
</tbody>
</table>
<p>Once I finally dedicated a little bit of time to looking into it, I kind of liked dealing with the AI tactics. It&#8217;s a simple rule-based system, of course, but one that gives you a <em>feeling</em> of control. The reason that I specify &#8220;feeling&#8221; in this case, is that most of the rules are pretty obvious. For example, a rule for Morrigan might read &#8220;When there are 3 or more enemies clustered together, use <em>Fireball</em>.&#8221; I&#8217;m sorry, but that goes in the &#8220;duh&#8221; column. Really, that should be a part of the<em> logic</em> for the <em>Fireball </em>spell in the first place. The same goes for the &#8220;<em>dual weapons sweep&#8221;</em> logic that I used on my main character (for when I wasn&#8217;t controlling him). &#8220;If there are 2 or more enemies surrounding you, use <em>dual weapon sweep</em>.&#8221; (I also found that I used it with one enemy just because it looked cool and did great damage.) Regardless, many of the usage rules just simply made logical sense.</p>
<table class="pullquote">
<tbody>
<tr>
<td>&#8220;The solution to this is to <em>build the logic</em> into the abilities themselves.&#8221;</td>
</tr>
</tbody>
</table>
<p>The solution to this is to build the logic into the abilities themselves. If you are wounded, use a healing poultice (if you have one). If you are low on lyrium energy and have a potion, use it. If you are strong and have a shield, do a shield bash against your enemy. There really should be no need for the player to construct these manually. Of course, I don&#8217;t know what the chicken/egg order was on this mechanism and the &#8220;tactics&#8221; abilities that were built into the character customization. That is, did they create the AI tweaking mechanism and then decide to add the character abilities that allowed you to unlock more tactics slots or did they create the notion of &#8220;has better tactics&#8221; and have to come up with a way of expressing that?</p>
<table class="pullquote">
<tbody>
<tr>
<td>&#8220;That character has that cool new ability but <em>never uses it!</em>&#8220;</td>
</tr>
</tbody>
</table>
<p>The unfortunate by-product of this is that I can see how it would be very frustrating for people who didn&#8217;t know that the tactics screen was there or didn&#8217;t understand how to use it. I&#8217;m sure there were more than a few people who would cry, &#8220;<em>that character has that cool new ability but never uses it! This AI is stupid!</em>&#8221; Of course, there is always the possibility that the reason this mechanism was in place was <em>because</em> they were struggling with how to have the NPCs use their skills intelligently. By putting the onus on the player, they absolve themselves of a little of the responsibility. I don&#8217;t buy this line of thinking because, by creating a customizable rule-based system in the first place, the battle is almost won.</p>
<p><span class="SubHeadingRed">Companion Pathfinding</span></p>
<table class="pullquote">
<tbody>
<tr>
<td>&#8220;I usually was <em>pretty pleased with their positioning</em>.&#8221;</td>
</tr>
</tbody>
</table>
<p>With Skyrim being out, one of the comments you hear about the companions is that they can do silly things like block doors or passages and be completely clueless about the fact that you want them to move. This is <em>not </em>something that I ever found to be a problem in DA:O. In fact, despite the fact that I usually had 3 other companions along with me, I usually was pretty pleased with their positioning. They followed at respectful distances, they didn&#8217;t get trapped behind geometry, they handled it fairly well when I would reverse direction on them, etc. Most of the time their &#8220;group&#8221; behavior was very believable.</p>
<p>There was only one time that I noticed anything really odd. I was in <a href="http://dragonage.wikia.com/wiki/Dust_Town">Dust Town</a> in <a title="Orzammar" href="http://dragonage.wikia.com/wiki/Orzammar">Orzammar</a> and Zevran (easily my favorite NPC, by the way) managed to get up on a pedestal of some sort and was unable to get down. After some examination, I realized that it was an extension on either side of some stairs. He had somehow managed to enter it from the top of the stairs but couldn&#8217;t exit that way. Likely there was navmesh geometry on the pedestal (why, I don&#8217;t know) but no link to the rest of the mesh. For some reason, when my back was turned, he skipped a mesh boundary by being nudged off the main mesh. I&#8217;m just speculating here. Anyway, I had to actually exit the zone without him and come back.</p>
<p><span class="SubHeadingRed">Enemy Targeting</span></p>
<p>In an <a title="Dragon Age: Origins: Why pick on me?" href="http://intrinsicalgorithm.com/post-playem/2010/05/dragon-age-origins-why-pick-on-me/">earlier missive</a> on DA:O, I had complained about how the target selection seemed to be a bit nonsensical at times. Perhaps I got used to it or perhaps it wasn&#8217;t as bad as I initially thought&#8230; but this issue didn&#8217;t seem as bad as I had commented on earlier. There were times when I thought it was a bit odd, but it wasn&#8217;t altogether unreasonable. That, of course, has been one of my mantras for some time and, in fact, is something that I stress in my book: &#8220;Not always perfectly rational, but at least reasonable.&#8221; I don&#8217;t know if that was the goal here or if their targeting was simply sub-optimal.</p>
<p>Of course, with regard to my companions, some of it had to do with the tactics selection and aggressiveness settings. If I had them set wonky, they would act wonky. However, I can&#8217;t use that excuse with the enemies. On the fly, it is hard to determine what sort of logic they are using&#8230; e.g. &#8220;nearest visible&#8221; vs. &#8220;strongest&#8221;. This would be something I would have to record and slow down to decipher. However, since it doesn&#8217;t seem to be that weighty of an issue, simply &#8220;knowing&#8221; wouldn&#8217;t really change much.</p>
<p>Again, though, some of this is mitigated by the fact that you can control each character in turn. Is this a bandage, though? Are we at another chicken/egg moment? Did they allow you to control the character targeting because they felt people would be frustrated by the target selection? Probably not&#8230; it&#8217;s not <em>that </em>bad to force them to build a whole <em>huge</em> mechanism (character control) around it.</p>
<p><span class="SubHeadingRed">Scripted &#8220;Random&#8221; Conversations</span></p>
<p>I found the seemingly random chit-chat between companions as one of the most amusing parts of the game. I have to admit that it was so endearing, that it made me want to replay the entire game with different companion combinations just to see what all these conversations were. (The combination of Zevran and Morrigan was a riot!)</p>
<table class="pullquote">
<tbody>
<tr>
<td>&#8220;You begin to get used to the fact that riiiighhhtt <em>here </em>someone is going to start talking.&#8221;</td>
</tr>
</tbody>
</table>
<p>The initial impression is that these asides simply take place &#8220;whenever&#8221;. Conveniently, they would also take place when you really weren&#8217;t doing much else. It didn&#8217;t take long, however, to realize that there were &#8220;hot spots&#8221; in the terrain that triggered these conversations. Not to the extent that Place A triggered Exchange A; they were randomly selected from the available list. They were obviously placed in areas where you needed to do a bit of walking and, therefore, wouldn&#8217;t be interrupted with much else. The long bridge to the Proving Ground in Orzammar has one, for example.</p>
<p>The problem is when you have to walk the stretch more than once &#8212; especially in succession. You begin to get used to the fact that riiiighhhtt <em>here </em>someone is going to start talking. It&#8217;s even worse when you have to reload because it doesn&#8217;t remove the conversation from the potential list&#8230; and you may get stuck with the same one over and over. While I like the conversation as a way of both fleshing out the characters and making the scenic walks a little less boring, I have to wonder if there is another way of doing it.</p>
<p><span class="SubHeadingRed">Facial vs. Body Animation</span></p>
<table class="pullquote">
<tbody>
<tr>
<td>&#8220;The <em>lip-syncing</em> is worthy of being looked into by the pop-music industry.&#8221;</td>
</tr>
</tbody>
</table>
<p>While this doesn&#8217;t necessarily <em>seem </em>to be AI-related, I figure that it probably is. The facial animation in DA:O is great. The lip-syncing is worthy of being looked into by the pop-music industry. With how good the lip-sync is, I found myself staring obsessively at the mouth <em>only</em> while people were talking. Maybe because I was drawn to the only realistic part in the whole face.</p>
<p>The rest of the facial animation is spotty, however. I would love to see more expression in the <em>rest </em>of the face, too. The eyes, eyebrows, and, in fact, the entire head, needed to be more animated. While the head wasn&#8217;t &#8220;Fallout&#8221; creepy, it needs to move more&#8230; look around a bit. Same with the eyes. Little tiny twitches are nice, but people do things like glancing at the floor, etc. You&#8217;re on the right track, but need to do more.</p>
<table class="pullquote">
<tbody>
<tr>
<td>&#8220;People don&#8217;t just wave their hands randomly.&#8221;</td>
</tr>
</tbody>
</table>
<p>The body animation during conversations was simply horrible, though. I like the whole &#8220;hand-wavey&#8221; thing that they tried to do. It&#8217;s better than standing perfectly still. On the other hand, people don&#8217;t just wave their hands randomly &#8212; they use them to augment what is being said <em>while </em>it is being said. They use it to <em>punctuate </em>words much the way I used italics in the this paragraph. If I had italicized <em>different</em> words that were obviously <em>not </em>meant to be stressed, I wouldn&#8217;t have communicated the same thing or, worse, it would have distracted or even confused the reader. That&#8217;s what I felt about the hand motions in DA:O. They seemed vaguely relevant but so imprecise and ill-timed that it made things worse rather than better.</p>
<p>The solution likely lies in a markup of the dialog to map to the animation selection. By tagging the<em> stressed</em> words with the appropriate gestures, you can match them dynamically. The trick, of course, is that you have to back-time the start of animation so that you can finish on-time. The shorter the target animation, the easier this is to pull off.  That would actually require two markers&#8230; e.g. &#8220;move to position&#8221; and &#8220;execute&#8221;.</p>
<p>For example, if I want to slap the table as I&#8217;m saying &#8220;now&#8221;, I would tag a point 2-3 words ahead of time with the &#8220;raise hand&#8221; animation and then the word &#8220;now&#8221; with the &#8220;slap table&#8221; animation. Imagine the impact (so to speak) of having a character be able to slap that table, point the figure, shrug the shoulders, incline a head, wave something off dismissively, etc. and have it happen right at the precise moment it needs to. Now <em>that </em>would be immersive! (Note that the word &#8220;that&#8221; would have been a great place for a couple of key animations, <em>eh</em>?) (Note that the word &#8220;eh?&#8221; in the prior sentence would have been a <em>great</em> place for a&#8230; OK&#8230; never mind.)</p>
<p>That said, the rest of the animation was spot-on.</p>
<p><span class="SubHeadingRed">Summary</span></p>
<table class="pullquote">
<tbody>
<tr>
<td>&#8220;The companions didn&#8217;t cause me undue stress&#8230; which is a <em>spectacular accomplishment</em>.&#8221;</td>
</tr>
</tbody>
</table>
<p>All in all, Dragon Age: Origins was a really well done game. I enjoyed a lot of it and never felt really &#8220;constrained&#8221; by a specific narrative. I know I left a lot of side-quests on the table, but that&#8217;s almost a requirement for a Bioware game these days. You aren&#8217;t going to do them all and still manage to be a productive adult.</p>
<p>The companions were, indeed, companionable and didn&#8217;t cause me undue stress&#8230; which, as far as companion AI goes, is a spectacular accomplishment. The enemies were reasonably intelligent and only some of the more obvious boss monsters were pattern-style scripted (which is a disappointment because pattern-style scripted AI looks <em>less </em>intelligent).</p>
<p>All things considered, I enjoyed the hell out of the game. People have told me that DA2 is well worth the time. I just wish I had more of it to dedicate! I have a feeling that it isn&#8217;t a game I can finish in a weekend!</p>
<p>&nbsp;</p>
<img src="http://feeds.feedburner.com/~r/post-playem/~4/fZ6nrIDbTEU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://intrinsicalgorithm.com/post-playem/2011/11/dragon-age-origins-final-thoughts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://intrinsicalgorithm.com/post-playem/2011/11/dragon-age-origins-final-thoughts/</feedburner:origLink></item>
		<item>
		<title>Splinter Cell: Conviction — Last Known Position</title>
		<link>http://feedproxy.google.com/~r/post-playem/~3/cX4wM1imB78/</link>
		<comments>http://intrinsicalgorithm.com/post-playem/2011/07/splinter-cell-conviction-last-known-position/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 16:23:12 +0000</pubDate>
		<dc:creator>Dave Mark</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Observations]]></category>
		<category><![CDATA[FPS]]></category>
		<category><![CDATA[searching]]></category>
		<category><![CDATA[Splinter Cell]]></category>
		<category><![CDATA[using cover]]></category>
		<category><![CDATA[vision]]></category>

		<guid isPermaLink="false">http://intrinsicalgorithm.com/post-playem/?p=142</guid>
		<description>I&amp;#8217;ve been playing quite a bit more of Splinter Cell: Conviction. Thankfully, I&amp;#8217;ve been finding the game a lot easier than I did early on. Part of it has to do with getting used to the flow of things in a more stealth-based game. I had noted in my &amp;#8220;First Look&amp;#8221; post that the enemies [...]</description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing quite a bit more of Splinter Cell: Conviction. Thankfully, I&#8217;ve been finding the game a lot easier than I did early on. Part of it has to do with getting used to the flow of things in a more stealth-based game.</p>
<p><img class="FloatRight" src="http://www.xbox360digest.com/wp-content/uploads/2010/04/SCC_Last_Known_Position.jpg" alt="" width="250" />I had noted in my <a href="http://intrinsicalgorithm.com/post-playem/2011/07/splinter-cell-conviction-%E2%80%93-first-look/">&#8220;First Look&#8221; post</a> that the enemies do a decent job focusing on the &#8220;last known position&#8221; mechanic that the game is proud of. To explain, when you are sighted and then go back into cover, the game draws a black and white line art model of your position when you were last seen. This is meant to be a marker of where the enemy thinks you are. The encouraged play is to separate yourself from that point so that you can either hide elsewhere or flank and surprise them. This is a helpful reminder and is only made possible by the fact that the AI has a mental model of your position <em>other than </em>the old fashioned &#8220;omniscient&#8221; method that games used to use.</p>
<p>Again, they do a good job of searching for you—whether at your actual location or your believed one. They will use cover, approach cautiously, and when the discover you aren&#8217;t really there, start to search in what <em>looks like</em> a meaningful way. This is where the problem occurs, however.</p>
<table class="pullquote">
<tbody>
<tr>
<td>The enemies will begin to search the entire area even when they <em>should </em>know<br />that you are not in those places.</td>
</tr>
</tbody>
</table>
<p>In some instances, when they find that you aren&#8217;t where they thought you were, there could be many directions or places to which you could have escaped. At other times, however, there are very few options—or even only <em>one </em>option—that you could have selected. However, the enemies will begin to search the entire area even when they should know that you are not in those places.</p>
<p>One example I saw that was glaring was when I had engaged enemies from a door to their room. I never actually entered the room but rather was firing from the doorway. Eventually, outgunned as I was, it was in my best interests to retreat into the room that I had come from. As I moved away, the line art silhouette marked me as still being crouched next to the door. I watched as they came up to the door to attack where they thought I was. Upon discovering me, however, they exclaimed something or other about losing me&#8230; <em>and began searching their own room!</em> They had been watching the doorway the whole time and should have known that I had never crossed to their side of it. The logical conclusion should have been that I was on <em>my side</em> of the door. The result was that I was able to slowly re-assault their position because they were no longer wary of me in the direction of my approach. Good for my survival; bad for my suspension of disbelief.</p>
<table class="pullquote">
<tbody>
<tr>
<td>Good for my survival; bad for my<br />suspension of disbelief.</td>
</tr>
</tbody>
</table>
<p>The solution to this problem is to leverage &#8220;occupancy maps&#8221;. The concept has been around for a while but very much came to the game dev forefront when Damián Isla gave an excellent presentation on it at the GDC AI Summit in 2009. The idea is based on the concept of influence maps where the grid space values represent the probability that a target is there. Obviously, if you can see a location, then the target is not there. You then simply spread the probabilities over the areas that he <em>could </em>have gone. By selecting the highest grid value at any one time, you are, by definition, going to the most likely place that the target could be. The result is a spectacular mimicry of how people (and animals for that matter) search for something that disappeared from site.</p>
<p>This method is slightly more memory and processor intensive than simply having a shared (x,y,z) location for the last known position of the player. I honestly don&#8217;t know if they had resources to burn in the game. However, I have to wonder if they even thought of trying the approach. I wish they had, though. An otherwise well-done stealth based game would have been that much better for their efforts.</p>
<img src="http://feeds.feedburner.com/~r/post-playem/~4/cX4wM1imB78" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://intrinsicalgorithm.com/post-playem/2011/07/splinter-cell-conviction-last-known-position/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://intrinsicalgorithm.com/post-playem/2011/07/splinter-cell-conviction-last-known-position/</feedburner:origLink></item>
		<item>
		<title>Splinter Cell: Conviction – First Look</title>
		<link>http://feedproxy.google.com/~r/post-playem/~3/7d-e5Psf--Q/</link>
		<comments>http://intrinsicalgorithm.com/post-playem/2011/07/splinter-cell-conviction-%e2%80%93-first-look/#comments</comments>
		<pubDate>Mon, 11 Jul 2011 00:46:38 +0000</pubDate>
		<dc:creator>Dave Mark</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Observations]]></category>
		<category><![CDATA[Assassin's Creed]]></category>
		<category><![CDATA[FPS]]></category>
		<category><![CDATA[pathfinding]]></category>
		<category><![CDATA[Splinter Cell]]></category>
		<category><![CDATA[steering]]></category>
		<category><![CDATA[using cover]]></category>

		<guid isPermaLink="false">http://intrinsicalgorithm.com/post-playem/?p=133</guid>
		<description>I&amp;#8217;ve been putzing with Splinter Cell: Conviction on and off in recent weeks. As a side note, my use of it has mostly been &amp;#8220;off&amp;#8221; because I find it frustratingly difficult, even on &amp;#8220;normal&amp;#8221;. That being said, I&amp;#8217;m impressed with the game as a whole. Too often in games can we do stuff that is [...]</description>
			<content:encoded><![CDATA[<p>I&#8217;ve been putzing with Splinter Cell: Conviction on and off in recent weeks. As a side note, my use of it has mostly been &#8220;off&#8221; because I find it frustratingly difficult, even on &#8220;normal&#8221;. That being said, I&#8217;m impressed with the game as a whole.</p>
<table class="pullquote">
<tbody>
<tr>
<td>Too often in games can we do stuff that is <em>completely ridiculous</em> and people don&#8217;t even react at all.</td>
</tr>
</tbody>
</table>
<p>One of the first thing I noticed was how &#8220;by-standers&#8221; react to me. If I&#8217;m crawling around on a wall or doing something else &#8220;odd&#8221;, they will turn and look or making some snarky comment. I like that in a game. Too often in games can we do stuff that is completely ridiculous and people don&#8217;t even react at all. In order to facilitate this, I assume that actions and/or locations were simply flagged as &#8220;odd&#8221; and broadcast to the people in the area.</p>
<p>Similarly, I like how the &#8220;Thief-like&#8221; environmental triggers can arouse the attention of the bad guys. The voice acting in this case really sells it. They are often very subtle about it, saying things like, &#8220;hey&#8230; I&#8217;m gonna go check something over there.&#8221; It could have been done in a more heavy-handed way (e.g. &#8220;I heard something over there.&#8221;)&#8230; but the way they did it almost projects how the AI is actually questioning itself. The minor difference makes you (the player) think more &#8220;I need to be more careful&#8221; rather than jumping straight to &#8220;Oh shit!&#8221;</p>
<p>Anyway, that isn&#8217;t what I was wanting to write about&#8230;</p>
<p><span class="SubHeadingRed">No Rails Here!</span></p>
<p>Obviously, being the type of game that it is, there are more than a few opportunities to lie in way for people. Early on, there was a point where I was waiting for a guy who was unaware of me. I found myself falling back on old gaming mentalities and trying to detect his &#8220;patrol route&#8221;. That has long been a staple of games—to the point where it has been ingrained in me.</p>
<table class="pullquote">
<tbody>
<tr>
<td>I kinda just had to mentally <em>will</em> him in my direction.</td>
</tr>
</tbody>
</table>
<p>Needless to say, the baddie didn&#8217;t follow a pattern of any sort. I kinda just had to wait him out and mentally <em>will</em> him in my direction. Plenty of that time was spent watching him not move at all. I actually wondered for a while if he was a static set-piece rather than an ambulatory one. He wasn&#8217;t&#8230; he was just alternating between hanging out and wandering around. It really did a good job of selling the idea that this guard was that reasonable mixture of responsible and bored to tears.</p>
<p>On the other side of the coin, when the guys are actually searching for me, the game does a good job of making them look reasonable in their search for me, but also looking somewhat unpredictable. They don&#8217;t do the standard &#8220;run right toward where the player should be&#8221; gameplan once they lose track of me. That would be too silly. Once they have &#8220;lost me&#8221;, however, they don&#8217;t just go searching around willy-nilly; they keep to a reasonable area. That makes for a lot of tense moments when you are holed up in a corner!</p>
<p>While they are searching, the agents do a good job of looking around with that slightly spooked feeling. They will swing their flashlights around—sometimes in radical changes of direction like they are either surprised by a noise or trying to catch <em>me</em> by surprise. I actually found myself just watching the AI search for me to see what all they would do. (Well&#8230; the fact that I was on the outside of a windowsill with nowhere to go was a factor.)</p>
<p><span class="SubHeadingRed">Down in Front!</span></p>
<p>The combat AI seems solid. Their reactions are decent and they usually take cover fairly well. I don&#8217;t believe they <a href="http://intrinsicalgorithm.com/post-playem/tag/using-cover/">use cover</a> quite as well as <a href="http://intrinsicalgorithm.com/post-playem/2011/06/gears-of-war-2-cover-vs-running-around/">what I have been seeing</a> in <a href="http://intrinsicalgorithm.com/post-playem/tag/gears-of-war-2/">Gears of War 2</a> (which I am finally almost done with). Sometimes they seem to be on the wrong side of it. Not on <em>my </em>side, mind you&#8230; just on perhaps the 90° side of things rather than opposite me.</p>
<table class="pullquote">
<tbody>
<tr>
<td>A guy ran up and hid along the side of the couch that I was crouching behind.</td>
</tr>
</tbody>
</table>
<p>On the other hand, the enemies don&#8217;t seem to do as much pointless running around as they did in Gears. They might want to consider more than simply cover points, though. There was one moment where a guy ran up and hid along the side of the couch that I was crouching behind. I was so startled that he would run up to get within point-blank range of me that I was very taken aback.</p>
<p>They don&#8217;t seem to use their environment in as dynamic a way as <a href="http://intrinsicalgorithm.com/post-playem/2008/01/first-encounter-with-f-e-a-r/">F.E.A.R.</a> did, but it doesn&#8217;t set them back. In fact, if they were flipping couches and knocking over bookshelves, it might have looked a little contrived.</p>
<p><span class="SubHeadingRed">You Really Get Around!</span></p>
<p>The pathfinding is decent (thanks, I&#8217;m sure, to the excellent navmesh work of my buddy Martin Walsh). I believe there was one moment early on where I saw someone backtrack 2 steps before doing a turn the other way as if he was on a grid. That may have been something else, however. I just remember noticing it because I knew ahead of time that the game was on a navmesh.</p>
<p>While the local avoidance on the streets seems OK, I think that the &#8220;personal space&#8221; buffer could have been increased slightly. People coming the other direction weren&#8217;t steering to go around me soon enough. That&#8217;s minor, though.</p>
<p>When I make Sam stop and reverse direction quickly while running, the animation reminds me a lot of the same action in <a href="http://intrinsicalgorithm.com/post-playem/2009/04/assassins-creed-first-look/">Assassin&#8217;s Creed</a>. I have to wonder if that is a coincidence or not.</p>
<p>All in all, I&#8217;m quite pleased with it so far. I <em>do</em> need to pay a bit more attention to the AI in the combat situations. On the other hand, the fact that I&#8217;m so distracted with staying alive means that the enemies are certainly doing their job well!</p>
<img src="http://feeds.feedburner.com/~r/post-playem/~4/7d-e5Psf--Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://intrinsicalgorithm.com/post-playem/2011/07/splinter-cell-conviction-%e2%80%93-first-look/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://intrinsicalgorithm.com/post-playem/2011/07/splinter-cell-conviction-%e2%80%93-first-look/</feedburner:origLink></item>
		<item>
		<title>Gears of War 2: Cover vs. Running Around</title>
		<link>http://feedproxy.google.com/~r/post-playem/~3/O-jCGv3J2do/</link>
		<comments>http://intrinsicalgorithm.com/post-playem/2011/06/gears-of-war-2-cover-vs-running-around/#comments</comments>
		<pubDate>Sun, 12 Jun 2011 23:51:42 +0000</pubDate>
		<dc:creator>Dave Mark</dc:creator>
				<category><![CDATA[Observations]]></category>
		<category><![CDATA[Companion AI]]></category>
		<category><![CDATA[FPS]]></category>
		<category><![CDATA[Gears of War 2]]></category>
		<category><![CDATA[steering]]></category>
		<category><![CDATA[using cover]]></category>

		<guid isPermaLink="false">http://intrinsicalgorithm.com/post-playem/?p=124</guid>
		<description>The recent E3 (2011) reminded me that it was time to catch up on some games. Additionally, it reminded me that I really want to comment on the AI of the games that I play—something that I haven&amp;#8217;t been doing as much of lately&amp;#8230; at least not on here. So, after having not touched it [...]</description>
			<content:encoded><![CDATA[<p>The recent E3 (2011) reminded me that it was time to catch up on some games. Additionally, it reminded me that I really want to comment on the AI of the games that I play—something that I haven&#8217;t been doing as much of lately&#8230; at least not on here. So, after having not touched it for a while (2 years!), I picked up my copy of Gears of War 2. (Thanks again to Epic AI Programmer, Matt Tonks, for providing me with a copy of the game.)</p>
<p><span class="SubHeadingRed">Peek-a-boo</span></p>
<table class="pullquote">
<tbody>
<tr>
<td>The AI in Gears 2 actually <em>uses</em> cover in a reasonably intelligent manner.</td>
</tr>
</tbody>
</table>
<p>It took me a while to get back into the groove of the control system—most notably how to use their cover system. At the time, using cover that way was a fairly fresh idea. It has been utilized in plenty more games since then, of course. Even better was how the AI was using cover. Unlike other games that I have played where the AI either subscribes to the &#8220;Doom model&#8221; of standing out in the open, or half-heartedly <em>takes</em> cover, the AI in Gears 2 actually <em>uses</em> cover in a reasonably intelligent manner.</p>
<p>For example, compared to how the AI in <a href="http://intrinsicalgorithm.com/post-playem/2010/01/mass-effect-first-look/">Mass Effect used cover</a> as two ends of a shooting gallery path, the AI in Gears 2 seems to take advantageous cover and <em>keep</em> it. This really adds some nice depth to the game in that, often, the only way to solve the resulting stalemate is to flank them so that their cover is less useful.</p>
<table class="pullquote">
<tbody>
<tr>
<td>I can&#8217;t just sit there and play <em>Whack-a-Mole</em>.</td>
</tr>
</tbody>
</table>
<p>Their &#8220;pop-outs&#8221; to fire on me are quite unpredictable which is frustrating (in a good way). Additionally, if the cover is long enough for them to move behind it, they seem to do so. Again, this is one of those things that, unless I was running a video recording, it would really be hard to discern in the middle of a firefight. What I <em>do know</em>, is that I can&#8217;t just sit there and play Whack-a-Mole with someone who is in cover—waiting with my cursor positioned perfectly so that when they pop up, I can pop them. That has always been a tactic that my slow thumbs relished because it was so simple to defeat. If the enemies are moving and popping up at unpredictable intervals, I either <em>can&#8217;t</em> anticipate where or when they will do so, or I simply get anxious and move on to another target that <em>is</em> visible.</p>
<p>As a follow -up to that last point, it is often hard to switch from one target to another <em>in time</em> because their exposure is so limited. They truly do only &#8220;pop out&#8221; rather than &#8220;come out and remain a really obvious, easy-to-hit target.&#8221; All of this serves to create a very frenetic atmosphere in the combat&#8230; even the &#8220;trench warfare&#8221; combat that could normally get pretty stale.</p>
<p><span class="SubHeadingRed">Round-and-Round</span></p>
<p>Unfortunately, there is <em>some</em> issue I take with the combat AI. Sometimes, both friend and foe seem to get into a mode where they are dashing around in odd ways. This seems related both to target selection (and by this I mean not just who to shoot but where to go) and idle situation positioning. In the former, it seems similar to <a href="http://intrinsicalgorithm.com/post-playem/2010/05/dragon-age-origins-why-pick-on-me/">what I experienced with Dragon Age: Origins</a>. In that case, enemies would run past one of my allies—completely ignoring them—in order to get to me.</p>
<table class="pullquote">
<tbody>
<tr>
<td>It simply doesn&#8217;t make <em>tactical sense</em> to leave your group like that.</td>
</tr>
</tbody>
</table>
<p>In this situation, it isn&#8217;t necessarily limited to the enemy having an unhealthy preoccupation with me. My allies will run off into combat way out in front of what are obviously established lines. This surprises me quite a bit when I&#8217;m looking way downrange from our location (even sniping) and suddenly see one of my allies appear in my scope. It&#8217;s not as if I am holding back—often there is combat happening directly in front of us. In a game where one of the mechanics is being &#8220;revived&#8221; by one of your allies, it is disturbing when one of them runs so far afield. Even without that mechanic, the nature of this game is one of squad tactics. It simply doesn&#8217;t make tactical sense to leave your group and go deep into a group of enemies like that.</p>
<p>The issue (both friend and foe) could be solved by a better decision selection algorithm that takes into account proximity better. This could be achieved in two ways &#8212; first by scoring individual choices better (e.g. including better opportunity cost for cover points), or on the whole by including influence mapping. Certainly, influence mapping would then be rolled up into the decision-making process, but you could manage better mathematical decisions without necessarily inducing the overhead of an influence map.</p>
<table class="pullquote">
<tbody>
<tr>
<td>There is no concept of &#8220;<em>personal space</em>&#8220;.</td>
</tr>
</tbody>
</table>
<p>When the characters are supposed to be idle, I&#8217;ve had a number of situations occur where my allies were simply not paying attention to me or other allies. They will bump into me in an open area obviously trying to get to a spot on which I&#8217;m already standing or at least near to it. There is no concept of &#8220;personal space&#8221; even to the point of them trying to be <em>in</em> my space.</p>
<p>Sure, much of this could be solved by the inclusion of simple steering and separation algos, but I have to wonder if the decision of <em>where to go</em> isn&#8217;t being locked in too early and therefore overriding the sensibility of <em>how to get there</em>. What was a legitimate destination when you started there became a poor choice by the time you were half-way. Therefore, you either look like an idiot going there in the first place or, once you get there, you immediately change your mind and go someplace else. This would certainly lead to some of the &#8220;running around&#8221; behaviors as well. The solution partially lays in updating your target location often. Sometimes, changing your target location is really not that big of a deal anyway. If your goal is simply a random walk, your destination is unknown to the observer and largely irrelevant anyway.</p>
<p><span class="SubHeadingRed">Working Together</span></p>
<p>One thing that I haven&#8217;t seen (yet?) is a good sense that the enemy is working together. I mentioned this in my <a href="http://intrinsicalgorithm.com/post-playem/2009/03/gears-of-war-2-first-look/">First Look</a> post on the game over 2 years ago. Having played plenty of Halo 3 and Halo: Reach, I&#8217;m used to seeing the &#8220;organized fall-back&#8221; behavior that was built into their enemy AI. Not seeing it here in Gears 2 is actually kind of startling by its absence. Certainly building in that kind of behavior goes beyond the AI brain of the characters. It needs to be designed into the levels, etc. That may not have even been an option for the Gears team much less a consideration. I just wanted to point out that I &#8220;felt&#8221; it not being there.</p>
<p>Anyway, I&#8217;m not done with Gears of War 2, so if anything else comes up, you will see it here.</p>
<img src="http://feeds.feedburner.com/~r/post-playem/~4/O-jCGv3J2do" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://intrinsicalgorithm.com/post-playem/2011/06/gears-of-war-2-cover-vs-running-around/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://intrinsicalgorithm.com/post-playem/2011/06/gears-of-war-2-cover-vs-running-around/</feedburner:origLink></item>
		<item>
		<title>Dragon Age: Origins: Why pick on me?</title>
		<link>http://feedproxy.google.com/~r/post-playem/~3/o5aOt-90F2g/</link>
		<comments>http://intrinsicalgorithm.com/post-playem/2010/05/dragon-age-origins-why-pick-on-me/#comments</comments>
		<pubDate>Thu, 27 May 2010 00:02:24 +0000</pubDate>
		<dc:creator>Dave Mark</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Observations]]></category>
		<category><![CDATA[BioWare]]></category>
		<category><![CDATA[Dragon Age Origins]]></category>
		<category><![CDATA[logical error]]></category>
		<category><![CDATA[RPG]]></category>
		<category><![CDATA[targeting]]></category>

		<guid isPermaLink="false">http://intrinsicalgorithm.com/post-playem/?p=116</guid>
		<description>Another moderate gripe about the AI in Dragon Age: Origins. In the encounters I have had so far, I&amp;#8217;ve noticed a peculiar behavior with aggro and targeting. &amp;#8230;the enemy would rush right past my guys and straight toward me. When I would approach to within aggro range of a target, I was generally in the [...]</description>
			<content:encoded><![CDATA[<p>Another moderate gripe about the AI in <a href="http://intrinsicalgorithm.com/post-playem/tag/dragon-age-origins/">Dragon Age: Origins</a>. In the encounters I have had so far, I&#8217;ve noticed a peculiar behavior with aggro and targeting.</p>
<table class="pullquote">
<tbody>
<tr>
<td>&#8230;the enemy would <em>rush right past my guys</em> and straight toward me.</td>
</tr>
</tbody>
</table>
<p>When I would approach to within aggro range of a target, I was generally in the front of my party (since everyone follows the player). The enemy would aggro, target me, and then rush forward toward us. The problem was, as I stood still—say with a bow, a spell, or because I&#8217;m lazy—the initial enemy would <em>continue </em>to rush right at me&#8230; in the process running right past my party-members who had moved forward to engage them. That is, the enemy would rush right past my guys and straight toward me. Often this was furthered by the fact that my guys may have selected other targets in the group&#8230; meaning that my party-members <em>and</em> the enemy were running right past each other as if they weren&#8217;t there. Put another way, it looked like a joust. It even put my pals in the odd-looking situation of having to back-track to get to the fight.</p>
<p>While this wasn&#8217;t horribly tragic, it did look silly. It would have been worse had I been a &#8220;squishy&#8221; like a spell-caster. The expectation that my brutes would rush forward to protect me would have clashed with the idea that they weren&#8217;t doing any such thing—really, because they weren&#8217;t allowed to do so in time.</p>
<p>While I haven&#8217;t played too much with the customizable party AI settings, it really makes me wary of the &#8220;charge into battle&#8221; selection in that the battle might run right past them.</p>
<p><span class="SubHeadingRed">Suggested Solution?</span></p>
<table class="pullquote">
<tbody>
<tr>
<td>&#8230;the idea should be &#8220;I&#8217;m attacking <em>those guys over there</em>.&#8221;</td>
</tr>
</tbody>
</table>
<p>To me, it would seem that an extra calculation is in order after the initial positioning of the participants. For example, after my guys start to move forward (and likewise for the enemy), re-process who each person is targeting. After all, it is unreasonable for them to initially say &#8220;I&#8217;m attacking enemy XYZ&#8221; when the idea should be more along the lines of &#8220;I&#8217;m attacking <em>those guys over there</em>.&#8221;</p>
<p>This calculation can be repeated at intervals so that targets of opportunity are selected. Instead, it seems that a target is selected and fought &#8220;to the death&#8221; regardless of whatever else is happening nearby. This doesn&#8217;t need to be run terribly often. Perhaps every second or two and then event-based as well (e.g. &#8220;<em>my opponent is dead</em>&#8220;).</p>
<p>Again, this is a minor issue, but it does break that suspension of disbelief because it just looks wrong. As I mentioned, given the expectations of behavior, in some circumstances it can be frustrating as well. Thankfully, this is something that is fairly easy to fix.</p>
<img src="http://feeds.feedburner.com/~r/post-playem/~4/o5aOt-90F2g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://intrinsicalgorithm.com/post-playem/2010/05/dragon-age-origins-why-pick-on-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://intrinsicalgorithm.com/post-playem/2010/05/dragon-age-origins-why-pick-on-me/</feedburner:origLink></item>
	</channel>
</rss>
