<?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: Emergent goal seeking AI for RPGs</title>
	<atom:link href="http://www.gameproducer.net/2012/03/27/emergent-goal-seeking-ai-for-rpgs/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gameproducer.net/2012/03/27/emergent-goal-seeking-ai-for-rpgs/</link>
	<description>I bake games. Indie style.</description>
	<lastBuildDate>Wed, 12 Jun 2013 15:09:19 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Matt</title>
		<link>http://www.gameproducer.net/2012/03/27/emergent-goal-seeking-ai-for-rpgs/comment-page-1/#comment-148699</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Wed, 04 Apr 2012 12:20:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.gameproducer.net/?p=6582#comment-148699</guid>
		<description>Hi Thomas,

Nice points. I especially love the image of an army of Tamagotchi. I mean, running the supply chain for an army is really no different to Diner Dash or probably Sim City because the desires are often amalgamated into large blocs. Reality or pseudo reality isn&#039;t always like that. 

I think it&#039;s possible to have a possessed NPC learn from the possessions and provide a greater number of responses than would normally be programmed. For the decisions about villages and wolves, there would have to be some way to have the intelligence controlling the villagers (artificial or otherwise) well-informed. I still think there&#039;s a possibility in a game where players like me - who have decent free time in small bursts- can contribute to a game like WOW in an asynchronous manner. 

Maybe easier to visualise in a game like Resistance. Where your game might depend on the outcomes of my game. But your game is an FPS. And mine is a supply chain management game. That&#039;s the sweet spot.</description>
		<content:encoded><![CDATA[<p>Hi Thomas,</p>
<p>Nice points. I especially love the image of an army of Tamagotchi. I mean, running the supply chain for an army is really no different to Diner Dash or probably Sim City because the desires are often amalgamated into large blocs. Reality or pseudo reality isn&#8217;t always like that. </p>
<p>I think it&#8217;s possible to have a possessed NPC learn from the possessions and provide a greater number of responses than would normally be programmed. For the decisions about villages and wolves, there would have to be some way to have the intelligence controlling the villagers (artificial or otherwise) well-informed. I still think there&#8217;s a possibility in a game where players like me &#8211; who have decent free time in small bursts- can contribute to a game like WOW in an asynchronous manner. </p>
<p>Maybe easier to visualise in a game like Resistance. Where your game might depend on the outcomes of my game. But your game is an FPS. And mine is a supply chain management game. That&#8217;s the sweet spot.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thomas Morgner</title>
		<link>http://www.gameproducer.net/2012/03/27/emergent-goal-seeking-ai-for-rpgs/comment-page-1/#comment-148690</link>
		<dc:creator>Thomas Morgner</dc:creator>
		<pubDate>Tue, 03 Apr 2012 21:46:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.gameproducer.net/?p=6582#comment-148690</guid>
		<description>The good part about games is, that they have a rather simple world. Drinks, for example, can all basically be the same thing. Add slight variations alcohol levels or health options (each one variable for common game systems), and you are ready to go. You probably already tag objects in the game anyway, to allow your character to drink every drink with the same animation. 

The Tamagotchi is a good example, actually. It has a very limited set of variables, yet still allows you feel that it is alive. I love that idea - when we think of NPCs as a army of Tamagotchis, then the picture becomes much clearer.


However, be careful when you allow multi-player scenarios. Human player tend to game the system. In single player mode your user may happily immerse in the world, but in multi-player things get nasty fast. Cheater gaming the weakness of the system, groups of people deliberately manipulating the market (as seen in Ultima Online) - your common game AI stands no chance. To win against a band of human players you need at least human intelligence in your AI. And when you are at that point, why produce games - take over the world for real :)


Letting players decide is a interesting idea. Most MMO-RPGs have the problem that players disappear when they log out. It&#039;s hard to produce more than a hack-n-slash (WOW!) game with that. A player can&#039;t open a shop if that shop is closed most of time (and shops would be useless for customers as well). 

But borrow from Matrix (the movie) and you get NPCs that exist all the time, but sometimes they get possessed by players. The player then can play his character as he like (with penalty/reward for staying &#039;in character&#039;). When he logs off, the character continues on auto-pilot. 

When you let the character learn from its player&#039;s actions, then your character adapts over time and appears smarter and more realistic. 

That sort of learning of what is good and bad should be possible with a small neural-net - assuming that you can prepare clean high-level inputs from the player&#039;s actions and result of these actions. This is what &quot;Black and White&quot; used for their critters. Combine that with normal scripting with heavy use of manually coded rules and tagged objects, and you have something quite powerful. 

FYI: There&#039;s a paper describing the &quot;Black and White&quot; approach: 
http://192.5.53.208/u/brown/242/assts/termprojs/games.pdf

That sort of approach would not make creatures intelligent or think for themselves, but it would present players a &quot;living&quot; world where emergent behaviour can happen. 


A final word: Like with all statistical approaches - if you let good and evil learn from the same source all you get is an average mix of good and evil - a goovil so to speak. It probably would not be much fun to play such a game. Games - like movies and good books - need a distinction between good guys and bad guys to be enjoyable. So have separate AIs for good and evil (with as many sub-types as you can add - the more the better, I would say!).</description>
		<content:encoded><![CDATA[<p>The good part about games is, that they have a rather simple world. Drinks, for example, can all basically be the same thing. Add slight variations alcohol levels or health options (each one variable for common game systems), and you are ready to go. You probably already tag objects in the game anyway, to allow your character to drink every drink with the same animation. </p>
<p>The Tamagotchi is a good example, actually. It has a very limited set of variables, yet still allows you feel that it is alive. I love that idea &#8211; when we think of NPCs as a army of Tamagotchis, then the picture becomes much clearer.</p>
<p>However, be careful when you allow multi-player scenarios. Human player tend to game the system. In single player mode your user may happily immerse in the world, but in multi-player things get nasty fast. Cheater gaming the weakness of the system, groups of people deliberately manipulating the market (as seen in Ultima Online) &#8211; your common game AI stands no chance. To win against a band of human players you need at least human intelligence in your AI. And when you are at that point, why produce games &#8211; take over the world for real :)</p>
<p>Letting players decide is a interesting idea. Most MMO-RPGs have the problem that players disappear when they log out. It&#8217;s hard to produce more than a hack-n-slash (WOW!) game with that. A player can&#8217;t open a shop if that shop is closed most of time (and shops would be useless for customers as well). </p>
<p>But borrow from Matrix (the movie) and you get NPCs that exist all the time, but sometimes they get possessed by players. The player then can play his character as he like (with penalty/reward for staying &#8216;in character&#8217;). When he logs off, the character continues on auto-pilot. </p>
<p>When you let the character learn from its player&#8217;s actions, then your character adapts over time and appears smarter and more realistic. </p>
<p>That sort of learning of what is good and bad should be possible with a small neural-net &#8211; assuming that you can prepare clean high-level inputs from the player&#8217;s actions and result of these actions. This is what &#8220;Black and White&#8221; used for their critters. Combine that with normal scripting with heavy use of manually coded rules and tagged objects, and you have something quite powerful. </p>
<p>FYI: There&#8217;s a paper describing the &#8220;Black and White&#8221; approach:<br />
<a href="http://192.5.53.208/u/brown/242/assts/termprojs/games.pdf" rel="nofollow">http://192.5.53.208/u/brown/242/assts/termprojs/games.pdf</a></p>
<p>That sort of approach would not make creatures intelligent or think for themselves, but it would present players a &#8220;living&#8221; world where emergent behaviour can happen. </p>
<p>A final word: Like with all statistical approaches &#8211; if you let good and evil learn from the same source all you get is an average mix of good and evil &#8211; a goovil so to speak. It probably would not be much fun to play such a game. Games &#8211; like movies and good books &#8211; need a distinction between good guys and bad guys to be enjoyable. So have separate AIs for good and evil (with as many sub-types as you can add &#8211; the more the better, I would say!).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt</title>
		<link>http://www.gameproducer.net/2012/03/27/emergent-goal-seeking-ai-for-rpgs/comment-page-1/#comment-148679</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Tue, 03 Apr 2012 06:12:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.gameproducer.net/?p=6582#comment-148679</guid>
		<description>Nice conversation :) about stuff I love talking about!

Programming the base needs for every creation that has motivations is a lengthy task. Unless you provide some sort of internal tagging system. As in &quot;Barliman Butterburr loves gold more than being dry more than beer more than food more than sex more than conflict&quot;. In the game then, you have to label things with these standardised tags. Gold, beer, comfort, sex, food, conflict and work out your algorithm from there. I imagine there&#039;s something to be learned from Tamagotchi here. 

That said: I mentioned in the previous comment about bringing the casual gamer population to bear. 

Is there a way to have the wolves (mentioned above) played by a casual player? A way to have complex decisions handled by players (in a Quora type situation) where important decisions are pushed to other players? Flip the situation? We have these incredible devices which are permanently connected to the Internet? Why not?

Or can the system cache the &#039;success decisions&#039; from other people playing through? As in, if the antagonists n the game had a better chance of beating the player by following a certain path, why not record that path? Think of it as a leader board for NPCs. Why not score antagonists in games the same way? You&#039;ll get better decisions in the long run.</description>
		<content:encoded><![CDATA[<p>Nice conversation :) about stuff I love talking about!</p>
<p>Programming the base needs for every creation that has motivations is a lengthy task. Unless you provide some sort of internal tagging system. As in &#8220;Barliman Butterburr loves gold more than being dry more than beer more than food more than sex more than conflict&#8221;. In the game then, you have to label things with these standardised tags. Gold, beer, comfort, sex, food, conflict and work out your algorithm from there. I imagine there&#8217;s something to be learned from Tamagotchi here. </p>
<p>That said: I mentioned in the previous comment about bringing the casual gamer population to bear. </p>
<p>Is there a way to have the wolves (mentioned above) played by a casual player? A way to have complex decisions handled by players (in a Quora type situation) where important decisions are pushed to other players? Flip the situation? We have these incredible devices which are permanently connected to the Internet? Why not?</p>
<p>Or can the system cache the &#8216;success decisions&#8217; from other people playing through? As in, if the antagonists n the game had a better chance of beating the player by following a certain path, why not record that path? Think of it as a leader board for NPCs. Why not score antagonists in games the same way? You&#8217;ll get better decisions in the long run.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Juuso</title>
		<link>http://www.gameproducer.net/2012/03/27/emergent-goal-seeking-ai-for-rpgs/comment-page-1/#comment-148678</link>
		<dc:creator>Juuso</dc:creator>
		<pubDate>Tue, 03 Apr 2012 05:56:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.gameproducer.net/?p=6582#comment-148678</guid>
		<description>Excellent points, that&#039;s exactly how it needs to go. You can apply the same stuff to very many things, and there can be consequences too.

Let&#039;s say you chose to kill cows of that other town... Somebody might have seen it and is not happy for what you did. Itmight trigger hunt against you. Or if they know you are too powerful, they might refuse to trade with you or help you when you show up.</description>
		<content:encoded><![CDATA[<p>Excellent points, that&#8217;s exactly how it needs to go. You can apply the same stuff to very many things, and there can be consequences too.</p>
<p>Let&#8217;s say you chose to kill cows of that other town&#8230; Somebody might have seen it and is not happy for what you did. Itmight trigger hunt against you. Or if they know you are too powerful, they might refuse to trade with you or help you when you show up.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thomas Morgner</title>
		<link>http://www.gameproducer.net/2012/03/27/emergent-goal-seeking-ai-for-rpgs/comment-page-1/#comment-148644</link>
		<dc:creator>Thomas Morgner</dc:creator>
		<pubDate>Sat, 31 Mar 2012 14:10:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.gameproducer.net/?p=6582#comment-148644</guid>
		<description>I don&#039;t believe that you have to create a full scale AI to make a believable world. Its more about covering the basics, and working with the emergent behaviour you get from generic systems. 

Instead of thinking really big, think small. The state of a system is whatever the system reports it to be. At first glance, no one will be able to tell a scripted system from a intelligent AI. 

Start simple:  Add a schedule-system ala Ultima 6 (sleep at night, get up in the morning, work, pub in the evening, back to sleep) as basic routine. That alone makes your NPCs stand out from 90% of the games. 

Next add the basic motivations: Hunger, Fear, Attraction, Greed. Let them override the basic schedule and provide scripts to solve these motivations and you have a lightweight human behaviour. 

Implementing that is rather trivial, and scaled out over a larger number of NPCs gives a good approximation of a working village. 

If you need to decide what is good or bad - well, there is no global good or bad in the world we live in. People love you when you improve their situation, people hate you when you mess with their happiness. 

In the wolf-vs-fence example: Track what the result of what the player is doing after he announces to help you. Don&#039;t worry about the wolf or the villagers feelings. Just measure! 

Lets do that in the real world: I, smartie-bear, come into your town and promise you to make your sheeps safe (so no more lost sheeps). 

* Choice A: Now I go into the woods, and kill the wolf. I come back two days later and you have not lost a sheep.
* Choice B: Now I go into the woods and do nothing. Without me doing something, the wolf has a heart attack and dies. I come back two days later and you have not lost a sheep.
* Choice C: I chop some wood and build a fence. The wolf comes, finds no entry and leaves. I come back two days later and you have not lost a sheep.
* Choice D: I kill loads of cows from other villages and the wolf is busy eating them for the next two months. I come back two days later and *you* have not lost a sheep. 

Now, as a villager, all you care about is &quot;I come back two days later and you have not lost a sheep.&quot; Thus you love me and hopefully pay me.
  
How to program that?

Assign each sheep a value. Sum up each villager&#039;s sheeps to calculate the villager&#039;s score/equity. When the wolf kills a sheep, their score goes down and they are unhappy (delta to last week is negative). If you promise them to sort out the problem [=in-game trigger], forcast next week&#039;s sheep-loss and let them wait. If the score-loss is less than forecast, your villager will be considered happy. 

Conclusion: 

Don&#039;t think about concrete examples, thinks about general clauses. It makes your life a lot easier.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t believe that you have to create a full scale AI to make a believable world. Its more about covering the basics, and working with the emergent behaviour you get from generic systems. </p>
<p>Instead of thinking really big, think small. The state of a system is whatever the system reports it to be. At first glance, no one will be able to tell a scripted system from a intelligent AI. </p>
<p>Start simple:  Add a schedule-system ala Ultima 6 (sleep at night, get up in the morning, work, pub in the evening, back to sleep) as basic routine. That alone makes your NPCs stand out from 90% of the games. </p>
<p>Next add the basic motivations: Hunger, Fear, Attraction, Greed. Let them override the basic schedule and provide scripts to solve these motivations and you have a lightweight human behaviour. </p>
<p>Implementing that is rather trivial, and scaled out over a larger number of NPCs gives a good approximation of a working village. </p>
<p>If you need to decide what is good or bad &#8211; well, there is no global good or bad in the world we live in. People love you when you improve their situation, people hate you when you mess with their happiness. </p>
<p>In the wolf-vs-fence example: Track what the result of what the player is doing after he announces to help you. Don&#8217;t worry about the wolf or the villagers feelings. Just measure! </p>
<p>Lets do that in the real world: I, smartie-bear, come into your town and promise you to make your sheeps safe (so no more lost sheeps). </p>
<p>* Choice A: Now I go into the woods, and kill the wolf. I come back two days later and you have not lost a sheep.<br />
* Choice B: Now I go into the woods and do nothing. Without me doing something, the wolf has a heart attack and dies. I come back two days later and you have not lost a sheep.<br />
* Choice C: I chop some wood and build a fence. The wolf comes, finds no entry and leaves. I come back two days later and you have not lost a sheep.<br />
* Choice D: I kill loads of cows from other villages and the wolf is busy eating them for the next two months. I come back two days later and *you* have not lost a sheep. </p>
<p>Now, as a villager, all you care about is &#8220;I come back two days later and you have not lost a sheep.&#8221; Thus you love me and hopefully pay me.</p>
<p>How to program that?</p>
<p>Assign each sheep a value. Sum up each villager&#8217;s sheeps to calculate the villager&#8217;s score/equity. When the wolf kills a sheep, their score goes down and they are unhappy (delta to last week is negative). If you promise them to sort out the problem [=in-game trigger], forcast next week&#8217;s sheep-loss and let them wait. If the score-loss is less than forecast, your villager will be considered happy. </p>
<p>Conclusion: </p>
<p>Don&#8217;t think about concrete examples, thinks about general clauses. It makes your life a lot easier.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Juuso</title>
		<link>http://www.gameproducer.net/2012/03/27/emergent-goal-seeking-ai-for-rpgs/comment-page-1/#comment-148617</link>
		<dc:creator>Juuso</dc:creator>
		<pubDate>Thu, 29 Mar 2012 16:04:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.gameproducer.net/?p=6582#comment-148617</guid>
		<description>I dont think game would need to say which is good and which is bad - let the player decide that :)

P.s. You could build fence to keep wolves away... and then it would require heckofa AI to link &quot;wolves are away because hero built fence, therefore villagers like hero&quot;... without scripting ;)</description>
		<content:encoded><![CDATA[<p>I dont think game would need to say which is good and which is bad &#8211; let the player decide that :)</p>
<p>P.s. You could build fence to keep wolves away&#8230; and then it would require heckofa AI to link &#8220;wolves are away because hero built fence, therefore villagers like hero&#8221;&#8230; without scripting ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fili</title>
		<link>http://www.gameproducer.net/2012/03/27/emergent-goal-seeking-ai-for-rpgs/comment-page-1/#comment-148615</link>
		<dc:creator>Fili</dc:creator>
		<pubDate>Thu, 29 Mar 2012 11:33:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.gameproducer.net/?p=6582#comment-148615</guid>
		<description>Well, you can&#039;t have something like &quot;violence is bad, diplomacy is good&quot;. Let&#039;s say we have these situations:
- a village is constantly attacked by a pack of wolves. You have 2 options: kill the wolves (violent option) or bring 2 sheeps from the village each week to feed and calm down the wolves (diplomacy option). Which one would the villagers prefer? I think they want the wolves killed...
- a village is disturbed each night by some beggar. You have 2 options: kill the beggar (violent option) or give some money to the beggar and make him go away (diplomacy option). In this case, killing the beggar would make the villagers hate you.
So you would end up having to think about all possible outcomes and decide for each of them if it&#039;s good or bad. You can&#039;t say violence = bad, diplomacy = good.</description>
		<content:encoded><![CDATA[<p>Well, you can&#8217;t have something like &#8220;violence is bad, diplomacy is good&#8221;. Let&#8217;s say we have these situations:<br />
- a village is constantly attacked by a pack of wolves. You have 2 options: kill the wolves (violent option) or bring 2 sheeps from the village each week to feed and calm down the wolves (diplomacy option). Which one would the villagers prefer? I think they want the wolves killed&#8230;<br />
- a village is disturbed each night by some beggar. You have 2 options: kill the beggar (violent option) or give some money to the beggar and make him go away (diplomacy option). In this case, killing the beggar would make the villagers hate you.<br />
So you would end up having to think about all possible outcomes and decide for each of them if it&#8217;s good or bad. You can&#8217;t say violence = bad, diplomacy = good.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: hermitC</title>
		<link>http://www.gameproducer.net/2012/03/27/emergent-goal-seeking-ai-for-rpgs/comment-page-1/#comment-148605</link>
		<dc:creator>hermitC</dc:creator>
		<pubDate>Wed, 28 Mar 2012 12:49:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.gameproducer.net/?p=6582#comment-148605</guid>
		<description>Well, a little research including try&amp;error would be necessary. But that could be done with information gathering from other players or NPCs which already know enemy weaknesses. Espionage would be an interesting new dimension in this regard.</description>
		<content:encoded><![CDATA[<p>Well, a little research including try&amp;error would be necessary. But that could be done with information gathering from other players or NPCs which already know enemy weaknesses. Espionage would be an interesting new dimension in this regard.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob Basler</title>
		<link>http://www.gameproducer.net/2012/03/27/emergent-goal-seeking-ai-for-rpgs/comment-page-1/#comment-148593</link>
		<dc:creator>Rob Basler</dc:creator>
		<pubDate>Tue, 27 Mar 2012 23:25:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.gameproducer.net/?p=6582#comment-148593</guid>
		<description>It sounds neat, but I could see it easily degenerating into the problem that old adventure games had, where oftentimes you&#039;d end up using every item in your inventory on every puzzle to see what one thing the designer intended you to use in that spot in the game.

If your game features combat, would you really expect players to spend all day using their rain spell - not knowing whether or not each creature disliked rain, or would they just use their fire spell and burn &#039;em all up?</description>
		<content:encoded><![CDATA[<p>It sounds neat, but I could see it easily degenerating into the problem that old adventure games had, where oftentimes you&#8217;d end up using every item in your inventory on every puzzle to see what one thing the designer intended you to use in that spot in the game.</p>
<p>If your game features combat, would you really expect players to spend all day using their rain spell &#8211; not knowing whether or not each creature disliked rain, or would they just use their fire spell and burn &#8216;em all up?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: hermitC</title>
		<link>http://www.gameproducer.net/2012/03/27/emergent-goal-seeking-ai-for-rpgs/comment-page-1/#comment-148582</link>
		<dc:creator>hermitC</dc:creator>
		<pubDate>Tue, 27 Mar 2012 11:35:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.gameproducer.net/?p=6582#comment-148582</guid>
		<description>In this regard I think non-violent approaches have to have positive side effects while violence should have more bad side effects.

For example slaying everybody crossing your dungeon path will damage your reputation and tavern guests won&#039;t tell bad people any secrets. When goblins, orcs and other humanlike-nonetheless-seen-as-evil beings have reasonable intentions WHY they act as they do gamers won&#039;t see &#039;em just as foes any more. Maybe there&#039;s a way to make friends with orcs and prevent wars upon diplomacy. In terms of &quot;the pen is mightier than the sword&quot;.</description>
		<content:encoded><![CDATA[<p>In this regard I think non-violent approaches have to have positive side effects while violence should have more bad side effects.</p>
<p>For example slaying everybody crossing your dungeon path will damage your reputation and tavern guests won&#8217;t tell bad people any secrets. When goblins, orcs and other humanlike-nonetheless-seen-as-evil beings have reasonable intentions WHY they act as they do gamers won&#8217;t see &#8216;em just as foes any more. Maybe there&#8217;s a way to make friends with orcs and prevent wars upon diplomacy. In terms of &#8220;the pen is mightier than the sword&#8221;.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
