<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Mindflock.com &#187; zoombapup</title>
	<atom:link href="http://mindflock.com/author/zoombapup/feed/" rel="self" type="application/rss+xml" />
	<link>http://mindflock.com</link>
	<description>Social Game Artificial Intelligence</description>
	<lastBuildDate>Sat, 31 Mar 2012 16:12:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>EverSky design doc &#8211; the concept</title>
		<link>http://mindflock.com/2012/03/eversky-design-doc-the-concept/</link>
		<comments>http://mindflock.com/2012/03/eversky-design-doc-the-concept/#comments</comments>
		<pubDate>Sat, 31 Mar 2012 16:12:38 +0000</pubDate>
		<dc:creator>zoombapup</dc:creator>
				<category><![CDATA[EverSky]]></category>

		<guid isPermaLink="false">http://mindflock.com/?p=423</guid>
		<description><![CDATA[I&#8217;ve been having real trouble describing what EverSky will be to people. This is entirely understandable as I&#8217;m not entirely sure myself what it will end up being, plus we there is a problem when using text to describe what is primarily a visual medium. But I know the intent and I have pretty clear [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmindflock.com%2F2012%2F03%2Feversky-design-doc-the-concept%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmindflock.com%2F2012%2F03%2Feversky-design-doc-the-concept%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;ve been having real trouble describing what EverSky will be to people. This is entirely understandable as I&#8217;m not entirely sure myself what it will end up being, plus we there is a problem when using text to describe what is primarily a visual medium. But I know the intent and I have pretty clear goals for things to try out. I recently started a design document for the game, as I was talking to a number of artists and this is an excerpt from that DD.</p>
<p>&nbsp;</p>
<h3>EverSky pitch paragraph</h3>
<h3><strong>&#8220;EverSky is both a research project and a first person exploration adventure game set in the skies of a junkpunk alternate reality. You play in a world that is constantly evolving, where every character reacts to your actions. Create and build a trade empire, become a master builder, artist or explorer.&#8221;</strong></h3>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;"><strong>Unique features:</strong></span></p>
<p>&nbsp;</p>
<ul>
<li><strong>Shared singleplayer</strong></li>
</ul>
<p>EverSky is a singleplayer game, but with online shared features. Players can “name” items they discover, so any new fragment of land that is discovered can be named by the player. New crafting items can be discovered and named by the players (other people see the named items as they encounter them). Large trades have effect on prices throughout the shared world.</p>
<ul>
<li><strong>Constantly changing world</strong></li>
</ul>
<p>The world is held on a central server, it changes over time (as players name items, discover new areas etc). On starting the game the player gets an updated world from wherever he was. So over time new land masses get created, old ones get destroyed etc.</p>
<ul>
<li><strong>Player created content</strong></li>
</ul>
<p>Players can create structures, sculptures, buildings and share them with the world. Working somewhat like garry’s mod, using materials traded, crafted or grown from resources within the world. Each structure can be shared with the world, by “picturing” the item, which will then submit the structure to a shared building queue.</p>
<ul>
<li><strong>Player created lore</strong></li>
</ul>
<p>Some items get pushed into the world and shared with everyone else. Similarly, players can place art pieces or personal identification items, symbols or other such marks in the world. (Imagine heiroglyphs). The idea being that some players explore the world and leave their mark on the world, thus adding to the lore.</p>
<p>&nbsp;</p>
<ul>
<li><strong>Dynamic characters</strong></li>
</ul>
<p>Each character in the game has their own reasons, their own motives and desires. As you interact with them, you influence them and grow a relationship with them. Some of them will join you in your efforts, others may help or hinder them.</p>
<p>&nbsp;</p>
<ul>
<li><strong>Living society</strong></li>
</ul>
<p>As players build up trade, create shelters, find resources, others will begin to visit. Some will want to work with the player to help with their efforts. Some may simply have learnt of the players achievements and seek to view them. Over time the player can build up loyalty in the inhabitants of the world.</p>
<ul>
<li><strong>Entropy-themed world</strong></li>
</ul>
<p>The rules of entropy are changed in the EverSky world. In some areas entropy continues as normal, elements decay and things break apart and fracture. In other areas “entropy rifts” cause the laws to reverse, where structures cluster together, minerals grow, land masses are formed.</p>
<ul>
<li><strong>Unique aesthetic</strong></li>
</ul>
<p>The “junkpunk” feel of the world is complemented by very lush regions of the world. Many areas are industrialised (mainly re-entropy areas) because they actually have access to plenty of “junk” to mine/craft/create with. Other areas are more natural and offer a cleaner way of living.</p>
<ul>
<li><strong>Oppressive society</strong></li>
</ul>
<p>One of the underlying feelings of the game, stems from the oppressive regime that forces people out of the more lush and populable areas into the more industrial or changing areas. The central force of social order attempts to control citizens of the world, so they seek to go beyond the reach of that control. (bit of a trope, quite like FireFly)</p>
<p>&nbsp;</p>
<p>Hopefully I can point people to this text the next time I try and explain the game. In truth though, it really won&#8217;t be clear until people see things like concept art and gameplay in a final form. For all the time I&#8217;ve been posting dev diaries (www.youtube.com/zoombapup) I&#8217;ve been aware that people simply won&#8217;t get a feel for what the game will be with the programmer art in those diaries. Such is the life of an indie programmer though, eventually it will become clear, either because we&#8217;ll have some representative artwork to show, or we&#8217;ll actually have the game to the point people can play it and get a feel for what it might be once the artwork is done.</p>
<p>&nbsp;</p>
<p>TTFN!</p>
]]></content:encoded>
			<wfw:commentRss>http://mindflock.com/2012/03/eversky-design-doc-the-concept/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The third form of games</title>
		<link>http://mindflock.com/2012/03/the-third-form-of-games/</link>
		<comments>http://mindflock.com/2012/03/the-third-form-of-games/#comments</comments>
		<pubDate>Sun, 04 Mar 2012 12:58:22 +0000</pubDate>
		<dc:creator>zoombapup</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mindflock.com/?p=415</guid>
		<description><![CDATA[I once went to see a film on a whim called Good Night and Good Luck. It was not something I had planned, but I suddenly got an urge one night to go to the cinema by myself and see whatever was on at the time. As it happens, one of the few films about [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmindflock.com%2F2012%2F03%2Fthe-third-form-of-games%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmindflock.com%2F2012%2F03%2Fthe-third-form-of-games%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I once went to see a film on a whim called Good Night and Good Luck. It was not something I had planned, but I suddenly got an urge one night to go to the cinema by myself and see whatever was on at the time. As it happens, one of the few films about to show when I turned up was Good Night and Good Luck. It was a black and white film directed by George Clooney. I thought it sounded interesting so I decided to take a risk and see it.</p>
<p>What I saw during that film shook me quite deeply. Not because of the film itself, but because of the thinking I had to do once I left the film. Let me explain a little here, because it is probably hard to imagine if you haven&#8217;t seen the film. On the surface, the film is about american paranoia in the McCarthy era, when the media was under attack from american politicians for &#8220;communism&#8221; at the height of the cold war. But in all honesty that isn&#8217;t what engaged me about the film, so much as a tiny segment of the film somewhere near the end when the main protagonist (a news presenter) is giving a speech to a conference of other news presenters. In this segment, the protagonist Edward R Murrow, played by Davis Stathairn, gives a monologue to the audience about the need to question the things we are told. Luckily, we can see exactly this passage via youtube.</p>
<p><a href="http://mindflock.com/2012/03/the-third-form-of-games/"><em>Click here to view the embedded video.</em></a></p>
<p style="text-align: center;">Good Night and Good Luck speech</p>
<p>The thing that really leapt out at me from this speech, that truly floored me, was that here was an entire film devoted to exactly this one concept. That we are responsible for being informed about what we watch. In a sense, I was watching the film unfold on a meta-level, where it was asking us an audience to think about the message of the film. As I was driving home from the film, I was literally breathless at the subtlety of that message and its delivery. I immediately went online and looked at reviews of the film and sure enough, nobody had actually taken that message away. I began to think I was actually reading something into the film that didn&#8217;t exist outside of my own thoughts on it. But I&#8217;m actually still convinced that the message was intentional. That the film was telling me to actually think about how I should think about the film, but in such a subtle way made me think as I was stepping into my car &#8220;no game could ever reach that kind of subtlety of message or be that deep&#8221;.</p>
<p>Which brings me onto the theme of this essay.</p>
<p>If we consider the mechanics of a game (also called ludology) as one form of game viewpoint, and we consider narrative (called narratology) as another viewpoint, is there any other viewpoint from which we can think about games?</p>
<p>I ask this, because it feels to me that most designers tend to think in reductionist terms. You might consider that mechanics are the only important aspect of a game. The logic of which produces games where for the most part we are dealing with reaction and action. Games like tetris, pattern matching games, platform games and action games are examples of this point of view. Mostly designers think in terms of both ludology and narratology by applying a narrative over the top of the mechanics in order to make the mechanics fit into an aesthetic. First person action games rely very strongly on the mechanical feel of combat being good for their popularity, if you don&#8217;t feel the weight of the weapon or the feedback of the bullet impact on the enemy then all the narrative in the world won&#8217;t fix it. Yet if we look at the qualities of modern first person shooters, we see that a great deal of effort is being spent on aspects of the narrative. I would argue that this is mostly just form marketing purposes because the narrative elements tend to come in the form of cutscenes and it is generally the cutscenes that are displayed in marketing materials.</p>
<p>I want to propose that there might be another viewpoint to look at in games that remains under-explored for many (mostly commercial) reasons. That being the ideological viewpoint. If we consider mechanics as the interaction space and the narrative as the aethetic space, then perhaps we are missing on the conceptual space which I am terming the ideological viewpoint.</p>
<p>If ideology is the basis for many other forms of human endeavour, why do we not consider it as part of game design? After all, games are often reflections of natural systems and conceptual notions work as well within games as without. If I want to explore the notion of society and it&#8217;s origins, I can write code to model and simulate the mechanics of a social system reasonably simply. I can even describe the social system in narrative terms reasonably well. But isn&#8217;t it the ideological viewpoint that is at the heart of the development effort?</p>
<p>When you think about it, surely the ideological viewpoint is present within every game? Surely by the nature of the attitude of the designers, we can argue that the designer has an ideological way of approaching the creation. If you choose to employ mechanics or narrative, you are doing so from a specific point of view and I think that may be an important thing to study and understand. The ideology of the origins of a game idea and our ability to interpret and identify those ideologies. Ultimately it may be that we can only start to express the full range of game creation when we embrace the notion of ideology and begin to form a critical analysis of its patterns.</p>
<p>Of course, one could argue that games do not require an ideology, but it must be clear that even expressing that viewpoint suggests an ideology in itself. Clearly there is an ideological expression in the recent trend for games to be made &#8220;on the fly&#8221; with user feedback. That we choose to make games that don&#8217;t require external input as indies suggests that underlying that is an indie ideology. So perhaps we can start to examine what we can gain from actually embracing ideological expressions as part of game designs. I certainly plan to explore some of my own notions of artistic expression and ideology within EverSky because I want to know more about how it can be used to inform my designs. The expression of ideology in pure game design terms might seem reasonably mundane, like the concepts of crafting, resource gathering, trading and such. But ultimately they are not the goal of the design, but are instead the mechanics employed by the design.</p>
<p>Ultimately I can&#8217;t help feeling that I&#8217;ll never quite be able to express what I want to create ideologically in the game itself, but I&#8217;m definitely going to give it a go.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://mindflock.com/2012/03/the-third-form-of-games/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Crafting database SQL conundrum</title>
		<link>http://mindflock.com/2012/02/crafting-database-sql-conundrum/</link>
		<comments>http://mindflock.com/2012/02/crafting-database-sql-conundrum/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 18:09:31 +0000</pubDate>
		<dc:creator>zoombapup</dc:creator>
				<category><![CDATA[EverSky]]></category>

		<guid isPermaLink="false">http://mindflock.com/?p=410</guid>
		<description><![CDATA[Hey all! Ok, so while working on the crafting system for EverSky, I came across this SQL issue and wanted to share it: I&#8217;m trying to create an SQL based crafting system, here are the current tables relevent to the discussion: Items table: itemid: autonumber itemname: text &#160; Recipes table: recipeid: autonumber recipename: text &#160; [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmindflock.com%2F2012%2F02%2Fcrafting-database-sql-conundrum%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmindflock.com%2F2012%2F02%2Fcrafting-database-sql-conundrum%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Hey all!</p>
<p>Ok, so while working on the crafting system for EverSky, I came across this SQL issue and wanted to share it:</p>
<p>I&#8217;m trying to create an SQL based crafting system, here are the current tables relevent to the discussion:</p>
<p><strong>Items table:</strong></p>
<p>itemid: autonumber</p>
<p>itemname: text</p>
<p>&nbsp;</p>
<p><strong>Recipes table:</strong></p>
<p>recipeid: autonumber</p>
<p>recipename: text</p>
<p>&nbsp;</p>
<p><strong>RecipeIngredients table:</strong></p>
<p>recipeid: number</p>
<p>itemid: number</p>
<p>count: number</p>
<p><strong>RecipeResults table:</strong></p>
<p>recipeid: number</p>
<p>itemid: number</p>
<p>count: number</p>
<p><strong>CraftingIngredients table:</strong></p>
<p>itemid: number</p>
<p>itemcount: number</p>
<p>So clearly, there is a one to many relationship between recipe and recipeingredients, plus there is a one to many relationship between recipe and reciperesults. The crafting ingredients are stored in the crafting ingredients table for convenience, they are basically the items (and counts) current displayed in the craft slots area of the crafting UI.</p>
<p>So the required functionality is that given the items in the craftingingredients data, find all recipe id&#8217;s that contain EXACTLY the same ingredients in the RecipeIngredients and ONLY those id&#8217;s. So basically exclude any recipes which have any fewer ingredients, any more ingredients, or any ingredients not in the craftingingredients rows.</p>
<p>What I currently have is:</p>
<p>SELECT recipeingredients.recipe, items.itemname, recipeingredients.item AS Item, recipeingredients.Count AS [Count]</p>
<p>FROM items INNER JOIN (recipeingredients INNER JOIN craftingredients ON (recipeingredients.item=craftingredients.item) AND (recipeingredients.count=craftingredients.count)) ON items.ID=recipeingredients.item</p>
<p>ORDER BY recipeingredients.recipe;</p>
<p>Which currently returns all of the rows for any recipe which has ANY matching ingredients. So if you have one of the ingredients in the craftingredients table then the row is returned, which isn&#8217;t really cutting it.</p>
<p>&nbsp;</p>
<p>Now I do have a fallback here, in that I can simply concatenate all of the itemid+count at recipe design time into a big old string blob and then insert that into a simple recipe row with id and blob, then the lookup simply becomes a text comparison, which should work reasonably quickly. But its not very SQL is it? <img src='http://mindflock.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://dl.dropbox.com/u/15474677/Database2.accdb">Here is a link</a> to the access 2007 db file for anyone who wants to have a try and play with the issue. There&#8217;s a form in there to add recipes (I plan on using access because it has pretty nice user interface stuff for forms design). Final thing uses SQLite though.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://mindflock.com/2012/02/crafting-database-sql-conundrum/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>What is player generated narrative?</title>
		<link>http://mindflock.com/2012/02/what-is-player-generated-narrative/</link>
		<comments>http://mindflock.com/2012/02/what-is-player-generated-narrative/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 14:10:42 +0000</pubDate>
		<dc:creator>zoombapup</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[EverSky]]></category>
		<category><![CDATA[narrative]]></category>
		<category><![CDATA[player]]></category>

		<guid isPermaLink="false">http://mindflock.com/?p=402</guid>
		<description><![CDATA[One of the more popular trends in AAA games right now, is the use of linear narrative to drive gameplay. This works well for AAA because with linear narrative, you can guarantee some great screenshots and movies to drive your marketing spend. The current pinnacle of that art I think is the Uncharted series, which [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmindflock.com%2F2012%2F02%2Fwhat-is-player-generated-narrative%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmindflock.com%2F2012%2F02%2Fwhat-is-player-generated-narrative%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>One of the more popular trends in AAA games right now, is the use of linear narrative to drive gameplay. This works well for AAA because with linear narrative, you can guarantee some great screenshots and movies to drive your marketing spend. The current pinnacle of that art I think is the Uncharted series, which tell the story of Nathan Drake exceptionally well.</p>
<p><a href="http://mindflock.com/wp-content/uploads/2012/02/uncharted.jpg"><img class="aligncenter size-full wp-image-401" title="uncharted" src="http://mindflock.com/wp-content/uploads/2012/02/uncharted.jpg" alt="uncharted image" width="299" height="168" /></a></p>
<p>The power of the Uncharted series is that the developers Naughty Dog pay particular attention to the characterisation of each main character in the game. Using examples from traditional media they cast the Drake character superbly as a Indiana-Jones style adventurer, which makes the game thematically interesting in the same way that the Indiana Jones movies are.</p>
<p>But of course all this lavish attention to the character is costly. Both in production cost and in design effort. So the last thing the developers want to have happen is for the player not to experience these great production efforts. For the most part, this ends up as a strange mix of camera-stealing, design directing the player and general cut-scene usage that delivers a compelling package, but one that feels incredibly restrictive.</p>
<p>The problem with the linear narrative style employed in the Uncharted games is that you are simply a passenger that occasionally gets to interact (often by pressing a single key to progress).</p>
<p>Unfortunately the linear narrative style has sold so well for multiple games that it has become the de-facto standard for &#8220;AAA&#8221; development. Lately games like the Call of Duty franchise and even traditionally multiplayer games like the battlefield series have fallen prey. It is understandable, given they have to justify huge production budgets and need to ensure that the production quality plays out in promotional materials. But this kind of narrative is not the only alternative when it comes to the player experience.</p>
<p><strong>Player generated narrative</strong></p>
<p>In creating EverSky, the intention is to employ a very light touch so that players can create their own narrative. The key to this is to never take control away from the player to highlight any particular aspect of the world. But that leaves open the question &#8220;how do we tell a story?&#8221;. The notion here is to convey an understanding of the world and its origin in a way that allows the player to figure it out themselves. In addition we accept that players like to share their knowledge of a world, so we use that to our advantage and enable this shared knowledge as a core gameplay element. This means that players not only create their own narrative, through their own experiences, but help create a group narrative via a shared knowledge space. Our role as designers then is actually to allow for interactions and to offer ways that players can learn and share this knowledge with others.</p>
<p><strong>How does a player learn something without being told?</strong></p>
<p>There are plenty of experience we can have that teach us something without someone actually having to explicitly tell us. As children we constantly experiment and explore the boundaries of our own limits and we seek to replicate this in the game. So things like trying out new artefacts to see if they have some effect on the world, sharing that with others and exploring the space of things like trade and crafting can help. Having a consistent design philosophy and set of themes that underpin the design choices is also useful, in EverSky themes such as &#8220;exploration&#8221; and &#8220;entropy&#8221; guide the choices that affect player experience and world design. Similarly the inhabitants of the world are crafted to allow them a level of autonomy that is unpopular in linear narrative games. This allows for some level of emergence, but also promotes the notion that the characters are actually self-aware and have their own purpose to be in the world. Taking this &#8220;world centric&#8221; rather than &#8220;player centric&#8221; view of design is definitely not in keeping with the linear narrative style.</p>
<p>As a boost to people who prefer linear narrative, we can also seed artefacts that may be activated by the player to impart knowledge or produce an effect. Similar to picking up a book and deciding to read it, we give the player choices that let them participate in the designed narrative, or simply ignore it and continue with their own narrative.</p>
<p>Sandbox play by it&#8217;s nature is about exploration of possibilities, so we embrace that concept with mechanics that allow players to explore the world and its nature. In essence the world itself becomes a big playpen with learning part of the core of the experience.</p>
<p><strong>Does it work?</strong></p>
<p>This is the big question and one that is as yet unanswered. As we get further along in production we might have a better feel for the outcome of this style of design. The feeling so far is that it will be a problem for a set of players very well versed in being told exactly how to experience a game, however there are players (such as those that prefer real &#8220;roleplaying&#8221;) that are more open to a more sandbox play style. The wider question of non-linear narrative still requires further experimentation within the game world before we can definitely say that it does work as intended.</p>
<p>You can follow development via youtube to learn more:</p>
<p>http://www.youtube.com/zoombapup</p>
<p>Or get in touch via twitter @zoombapup</p>
<p>Thanks for reading.</p>
<p>.Z.</p>
]]></content:encoded>
			<wfw:commentRss>http://mindflock.com/2012/02/what-is-player-generated-narrative/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>What is EverSky?</title>
		<link>http://mindflock.com/2011/12/what-is-eversky/</link>
		<comments>http://mindflock.com/2011/12/what-is-eversky/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 20:45:23 +0000</pubDate>
		<dc:creator>zoombapup</dc:creator>
				<category><![CDATA[EverSky]]></category>

		<guid isPermaLink="false">http://mindflock.com/?p=384</guid>
		<description><![CDATA[Posted a video to youtube to describe the direction for EverSky (which is what Damzel is changing into).]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmindflock.com%2F2011%2F12%2Fwhat-is-eversky%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmindflock.com%2F2011%2F12%2Fwhat-is-eversky%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Posted a video to youtube to describe the direction for EverSky (which is what Damzel is changing into).</p>
<p><a href="http://mindflock.com/2011/12/what-is-eversky/"><em>Click here to view the embedded video.</em></a></p>
]]></content:encoded>
			<wfw:commentRss>http://mindflock.com/2011/12/what-is-eversky/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is believability?</title>
		<link>http://mindflock.com/2011/09/what-is-believability/</link>
		<comments>http://mindflock.com/2011/09/what-is-believability/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 13:24:23 +0000</pubDate>
		<dc:creator>zoombapup</dc:creator>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Namaste]]></category>

		<guid isPermaLink="false">http://mindflock.com/?p=353</guid>
		<description><![CDATA[If you ask anyone with a passing interest in AI and more specifically in AI in games what is the most important aspect, you will probably be answered with something relating to logic. Logic and decision making seems like the most important aspect because it drives behaviour after all. But in this post, I want [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmindflock.com%2F2011%2F09%2Fwhat-is-believability%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmindflock.com%2F2011%2F09%2Fwhat-is-believability%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>If you ask anyone with a passing interest in AI and more specifically in AI in games what is the most important aspect, you will probably be answered with something relating to logic. Logic and decision making seems like the most important aspect because it drives behaviour after all.</p>
<p>But in this post, I want to put the case that actually logic is really not a problem for games.</p>
<p>Of course, we rely on some system of decision making to exist, but what specific flavour it is doesn’t much matter. A good number of games have been created using simple finite state machines, although these days you would expect those to be heirarchical. A lot of more action oriented games use Behaviour Trees, which is the system we have implemented for StoryBricks and you can learn more about them here. Other approaches use goal based systems such as Goal Oriented Action Planning and Heirarchical Task Networks.</p>
<p>But no matter what structural system you choose to represent the problem, it essentially boils down to a simple statement:</p>
<p><strong>if &lt;condition&gt; then &lt;action&gt;</strong></p>
<p>Of course, the number of conditions and actions available can be very high and the conditional tests and the execution of actions can be quite complex. But we have this fundamental architecture of the above statement.</p>
<p>Ultimately, the structure we choose doesn’t matter, we are simply executing a program which controls flow of control. With more or less efficiency and ease of authoring.</p>
<p>So if we accept (any not everyone reading this will, granted) that action selection is not the core problem, then what is?</p>
<p>My assertion is that what is key AI especially for “believable agents” work like StoryBricks is animation and movement.</p>
<p>Imagine, if you will, the following scenario. You are walking across a field and come across another fellow. He is looking intently at the ground. He does nothing except look at the ground. So the question is, what is he thinking? Why is he looking at the ground? Is it:</p>
<ul>
<li><strong>He  is interested in the composition of the ground</strong></li>
<li><strong>He is afraid of you and is looking at the ground to avoid your gaze</strong></li>
<li><strong>He is somehow compelled to look at the ground</strong></li>
</ul>
<p>Which of those statements is true? Unfortunately given so little context, you simply cannot know why he is looking at the ground.</p>
<p>What if I said “he is the queens geologist and has been tasked with finding gold for a new crown”, would that allow you to choose from the list?</p>
<p>What if I said “he is your sworn enemy and has no means of defending himself”?</p>
<p>The point is, that without context, it is impossible to understand the intent of the action. For all the complexity we could put into the &lt;condition&gt; part of a if &lt;condition&gt; then &lt;action&gt; statement, we have to be able to understand the &lt;action&gt; part in context in order to understand the &lt;condition&gt; part.</p>
<p><strong>Thinking about traditional media</strong></p>
<p>Now if you think about cause and effect in other media like books and film, it is pretty easy to understand the cause, because it can be explicitly expressed. Consider the following narrative:</p>
<blockquote><p><em>“The gunfighter put the empty whisky glass down on the bar and stepped out of the saloon. He walked down the creaky wooden steps and out onto the hard dirt. Dust kicked up with each step as he walked, his spurs chiming on the ground with each footfall. When he got within pistol range of his opponent he stopped. For long minutes he stood silent and still, his only movement a slow flex of his hand above the gun in its holster. A bead of sweat drifted down the side of his face, he was at a disadvantage he knew, because the sun was in his face. But the wide brim of his hat sheltered his face from the harsh blinding rays of the noon day sun. He waited and watched, coiled like a spring, a deadly serpent ready to pounce at the slightest movement”.</em></p></blockquote>
<p>(apologies for any real authors btw).</p>
<p>So, given that narrative, you can picture a scene. You understand there is a gunfighter and he has an opponent. You can start to evoke a sense of the scene and what it might be like using your own knowledge of that context, which has been learnt over time from other examples of this behaviour. What you can’t get from this narrative is exactly <strong>why</strong> he is having this gunfight.</p>
<p>If we continue:</p>
<blockquote><p><em>“He had thought of this moment for a long time. His had played the scene out many times in his mind, ever since he had heard about how his wife and children had been brutally murdered. He had spent many years tracking the band of outlaws that were involved in the killing. One by one he had silenced them, with only this last foe remaining. It wasn’t “justice” he was seeking, even though he wore a badge that legitemised his handiwork. This was pure sweet revenge, the brutal slaying of his innocents met with equally brutal punishment.”</em></p></blockquote>
<p>Adding that context to the narrative makes you understand the motives behind the actions. It is one of the most powerful aspects of books, in that it can go into great detail and really involve the reader in understanding the psychology of the actions.</p>
<p>Films have a different vocabulary, with a more visual way of telling the same tale. Consider this set of storyboards:</p>
<p>&nbsp;</p>
<div id="attachment_357" class="wp-caption aligncenter" style="width: 310px"><a href="http://mindflock.com/wp-content/uploads/2011/09/storyboard1.jpg"><img class="size-medium wp-image-357 " title="storyboard1" src="http://mindflock.com/wp-content/uploads/2011/09/storyboard1-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">protagonist puts down his drink</p></div>
<div id="attachment_358" class="wp-caption aligncenter" style="width: 310px"><a href="http://mindflock.com/wp-content/uploads/2011/09/storyboard2.jpg"><img class="size-medium wp-image-358 " title="storyboard2" src="http://mindflock.com/wp-content/uploads/2011/09/storyboard2-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">And steps from the bar into the street</p></div>
<div id="attachment_359" class="wp-caption aligncenter" style="width: 310px"><a href="http://mindflock.com/wp-content/uploads/2011/09/storyboard3.jpg"><img class="size-medium wp-image-359 " title="storyboard3" src="http://mindflock.com/wp-content/uploads/2011/09/storyboard3-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">He sees his foe waiting for him</p></div>
<div id="attachment_360" class="wp-caption aligncenter" style="width: 310px"><a href="http://mindflock.com/wp-content/uploads/2011/09/storyboard4.jpg"><img class="size-medium wp-image-360" title="storyboard4" src="http://mindflock.com/wp-content/uploads/2011/09/storyboard4-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">his spurs chime as they hit the hard packed dirt</p></div>
<div id="attachment_361" class="wp-caption aligncenter" style="width: 310px"><a href="http://mindflock.com/wp-content/uploads/2011/09/storyboard5.jpg"><img class="size-medium wp-image-361" title="storyboard5" src="http://mindflock.com/wp-content/uploads/2011/09/storyboard5-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">He stands facing his enemy</p></div>
<div id="attachment_363" class="wp-caption aligncenter" style="width: 310px"><a href="http://mindflock.com/wp-content/uploads/2011/09/storyboard6.jpg"><img class="size-medium wp-image-363" title="storyboard6" src="http://mindflock.com/wp-content/uploads/2011/09/storyboard6-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">The sun beats down hard</p></div>
<div id="attachment_364" class="wp-caption aligncenter" style="width: 310px"><a href="http://mindflock.com/wp-content/uploads/2011/09/storyboard7.jpg"><img class="size-medium wp-image-364" title="storyboard7" src="http://mindflock.com/wp-content/uploads/2011/09/storyboard7-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">A bead of sweat runs down the gunmans face</p></div>
<div id="attachment_365" class="wp-caption aligncenter" style="width: 310px"><a href="http://mindflock.com/wp-content/uploads/2011/09/storyboard8.jpg"><img class="size-medium wp-image-365" title="storyboard8" src="http://mindflock.com/wp-content/uploads/2011/09/storyboard8-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">He stands motionless, his hand ready at his gun</p></div>
<div id="attachment_366" class="wp-caption aligncenter" style="width: 310px"><a href="http://mindflock.com/wp-content/uploads/2011/09/storyboard9.jpg"><img class="size-medium wp-image-366" title="storyboard9" src="http://mindflock.com/wp-content/uploads/2011/09/storyboard9-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">his mind drifts back to the day they came</p></div>
<div id="attachment_367" class="wp-caption aligncenter" style="width: 310px"><a href="http://mindflock.com/wp-content/uploads/2011/09/storyboard10.jpg"><img class="size-medium wp-image-367" title="storyboard10" src="http://mindflock.com/wp-content/uploads/2011/09/storyboard10-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">his wife begging them for mercy</p></div>
<div id="attachment_368" class="wp-caption aligncenter" style="width: 310px"><a href="http://mindflock.com/wp-content/uploads/2011/09/storyboard11.jpg"><img class="size-medium wp-image-368" title="storyboard11" src="http://mindflock.com/wp-content/uploads/2011/09/storyboard11-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">begging for mercy in the face of their guns</p></div>
<div id="attachment_369" class="wp-caption aligncenter" style="width: 310px"><a href="http://mindflock.com/wp-content/uploads/2011/09/storyboard12.jpg"><img class="size-medium wp-image-369" title="storyboard12" src="http://mindflock.com/wp-content/uploads/2011/09/storyboard12-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">and receiving none</p></div>
<p>&nbsp;</p>
<p>The placement of camera, use of lighting to set the mood, adding music and all the many different aspects that cinematography bring to the table to express the same notional scene still allow the same story to be told.</p>
<p>Now consider this scene in a game. By this I mean in an actual interactive scene, not in a cutscene. Hard to imagine isn’t it? When the player can look anywhere, you can’t rely on them seeing anything. If you place the player as the protagonist, you will most likely have a hail of gunfire within a few seconds. If you place them as a bystander watching the scene, the player will most likely stand in front of the protagonist or just generally “get in the way” of the scene.</p>
<p>The fundamental problem, is that scenes like this are really evocative in the traditional linear narrative media like books or film, but fail entirely in games unless they are controlled as they are in cutscenes. Interactivity simply breaks down too many notions that are evoked in scenes like this.</p>
<p><strong>The language of interactivity</strong></p>
<p>So if we accept that some forms of dramatic content are simply not useful for interactive storytelling, what do we put in its place? That is where StoryBricks comes in. The conceptual issue that StoryBricks addresses is the <strong>interactivity relationships</strong> between NPC’s, players and objects.</p>
<p>In the interactive medium, you are not simply watching a narrative unfold, you <strong>are</strong> the narrative. Your actions and interactions are the fundamental control scheme for the narrative of the world as you experience it.</p>
<p>Consider this. If you were the lawman/gunfighter from the scene above and had been going around the land taking part in pistol duels with the people who killed your family, what would it look like to an observer who was casually watching your actions? What if you actually roleplayed the gunfighter? Would the observer understand the narrative of the world as it unfolded and what kind of experience would they have had?</p>
<p>Going back to the case of the man looking at the ground for a moment. What I am saying is that there is an issue with the players understanding of the intention of the actions of an agent. So my suggestion is that the important part of game AI, especially for believability, is that. The <strong>understanding</strong> of the intent is the key, not the actual formulation of the intent.</p>
<p>Let me give you an anecdotal example. <a title="Wil Wright lecture" href="http://www.youtube.com/watch?v=CdgQyq3hEPo" target="_blank">In this video</a> Wil Wright talks about one bug they had in “The Sims” where NPC’s would randomly set on fire. The players of the game made up different explainations about why it was happening. Was it spontaneous combustion? Was it something they had done?</p>
<p>We joke in the game AI community that the best initial approach is a random one. But this is actually true, in that we can often convince players that actions have considerably more behind them than is actually the case.</p>
<p>I once saw a <a title="Baylors presentation" href="http://files.aigamedev.com/coverage/GAIC10_BaylorWetzel.ppt" target="_blank">fantastic presentation by Baylor Wetzel</a> that highlighted this issue. He took a number of different algorithms for choosing patterns of attack behaviour in a wizard duelling prototype he had written and asked his students to identify them. It turned out that we are actually pretty poor at judging the cause of actions when any reasonably complex pattern is used. In this case, random is almost as good as complex pattern because if the pattern is complex enough, players will have trouble discening the pattern to the point where is essentially *is* random to them.</p>
<p>So when we are trying to make players understand the actions we give our NPC’s, we have to be doubly sure that they are capable of understanding the motivations for them.</p>
<p><strong>How do players understand characters?</strong></p>
<p>The player’s reading of any given action is coloured by many things. One of the strongest being the actual visual look of the NPC. We had a team at the University do some work a few years ago where they looked at the interactions between a group of test players with a number of differently designed NPC’s. The theory was that empathy could be induced by character design and behaviour. It turns out that a large part of the empathy players had for characters was based on their appearance.</p>
<p>In traditional animation, this is actually formalized as a concept called “appeal”. The psychology of this is quite well understood. Most appealing characters have open faces with large eyes and round heads. Often animation will use childish or “cute” proportions. But aspects such as clothing,posture and gender will also contribute to the appeal.</p>
<p>The second most obvious and important factor is movement. When I say movement, I am talking about things such as posture, gaze, gesture etc. The fact is, we communicate a vast amount of our character non verbally. We communicate with our facial expressions, with our gestures, our gaze and our posture far more than we communicate with actual words.</p>
<p>The psychologist Albert Mehrabian suggested that we communicate a huge amount of our emotional intent non verbally. He spoke of a 7%-38%-55% split between verbal, vocal and visual language respectively. The suggestion being that we use more than just words to understand the true intent of an interaction. Which is confusing, given that most games rely on textual or verbal dialogue to communicate intent.</p>
<p>Think about RPG’s and how dialogue heavy they are. Think also about how often you simply click away these dialogue items. Simply “hoovering” the options to set some flag for later progress.</p>
<p>If we accept the notion that players understand characters intention through movement, then how can we improve the players understanding of the man looking at the ground?</p>
<p>Let’s consider each case in turn:</p>
<p><strong>He  is interested in the composition of the ground</strong></p>
<p>This one is relatively easy. You could have him walk around, looking at different areas of ground. Occasionally stooping to pick up a sample of dirt. You can use a prop that he brings out to look more closely at a sample. You could have him lift up stones on the floor and look under them. You could have him holding a book and comparing the sample to a page in the book.</p>
<p><strong>He is afraid of you and is looking at the ground to avoid your gaze</strong></p>
<p>Again, this one is relatively easy. You would have him use occasional glances up at you and quickly back down again if you are looking in his direction. You could alter his posture to be more wary and frightened. Perhaps supplicating himself with gestures and hand wringing. He would seek to avoid eye contact, but would definitely look up often to make sure you weren’t about to attack.</p>
<p><strong>He is somehow compelled to look at the ground</strong></p>
<p>This is the easiest one of all. You would fix the bug that made him look at the ground.</p>
<p><strong>Conclusion</strong></p>
<p>There is a great deal we don’t know about this whole conceptual area of interactive storytelling and drama. We intuitively feel that traditional media approaches to narrative break down fairly quickly, but as yet we haven’t built up a good enough knowledge of the principles we need to apply to the new medium of interactivity. We can definitely learn a lot from psychology and the principles involved in other media, like film, books and animations. But there is still a lot to explore.</p>
<p>StoryBricks as a concept, is a step towards exploring this new space. Of course the bricks themselves are just a small part of that space. We must investigate new methods of understanding the animation, behaviour and psychology of interaction.</p>
<p>Hopefully some of you reading this will come along with us as we explore this space together. As we develop the toolset, we will learn a lot about our understanding of characters, our ability to create performances that are comprehensible to others and perhaps as importantly we will learn how to create deeper and more meaningful experiences because of what we learn.</p>
]]></content:encoded>
			<wfw:commentRss>http://mindflock.com/2011/09/what-is-believability/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Deviants, idiots and a talking toaster</title>
		<link>http://mindflock.com/2011/08/deviants-idiots-and-a-talking-toaster/</link>
		<comments>http://mindflock.com/2011/08/deviants-idiots-and-a-talking-toaster/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 09:27:32 +0000</pubDate>
		<dc:creator>zoombapup</dc:creator>
				<category><![CDATA[Namaste]]></category>

		<guid isPermaLink="false">http://mindflock.com/?p=338</guid>
		<description><![CDATA[While most of the guys at Namaste are reasonably highbrow (well, ok, I&#8217;m talking mainly about Stephane and Brian, who are both pen and paper roleplay geeks) I&#8217;m actually a bit of a low brow kind of guy. I&#8217;m not quite at the level of enjoying fart jokes, but I do enjoy a bit of [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmindflock.com%2F2011%2F08%2Fdeviants-idiots-and-a-talking-toaster%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmindflock.com%2F2011%2F08%2Fdeviants-idiots-and-a-talking-toaster%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>While most of the guys at Namaste are reasonably highbrow (well, ok, I&#8217;m talking mainly about Stephane and Brian, who are both pen and paper roleplay geeks) I&#8217;m actually a bit of a low brow kind of guy. I&#8217;m not quite at the level of enjoying fart jokes, but I do enjoy a bit of comedy and deviant behaviour.</p>
<p>So I wanted to explore with this post, some issues I&#8217;ve been wrangling with myself about. Namely, how do we use the storybricks toolset we are working on, to create characters rich enough to be funny? Or to be interestingly flawed and/or deviant?</p>
<p>I started thinking about characters that were both funny and broken. One of the characters that popped into my mind was Talkie Toaster from the brit comedy Red Dwarf. Here&#8217;s a clip.</p>
<p><a href="http://mindflock.com/2011/08/deviants-idiots-and-a-talking-toaster/"><em>Click here to view the embedded video.</em></a></p>
<p>As you can see, he&#8217;s a chirpy breakfast companion that is delightfully broken and just a little bit hot bread product obsessed.</p>
<p>There&#8217;s something inherently interesting about a character with an obsession for something, but even more so for a character obsessed with something other people wouldn&#8217;t be. But how do we go about designing a system that a) actually allows a character like that to function and b) lets the user of the storybricks easily express that type of character?</p>
<p><strong>Making obsessive characters</strong></p>
<p>The (a) part is actually reasonably simple. We employ drives to give characters a purpose. Drives can be things like &#8220;do your job&#8221; or &#8220;protect character x&#8221; or &#8220;aquire x number of resource units of y&#8221;. Drives fight with each other for importance during action selection, which means that we compute how intense the drive is for each occurence and choose the highest value as the priority to pursue. Of course these drives change over time and as events occur, so that characters can react to the world and other characters. But fundamentally we are modelling the self-interest motivation that occurs in human behaviour. Of course there are many different drives, so for instance much like in the sims we might have drives to achieve normal bodily function, like eating, sleeping and going to the bathroom. But it is the more complex drives, like the need to attain social status, or the need to protect another character from harm, that allow for richer meanings to occur.</p>
<p>Getting back to the method of making drives work for this pupose, we can simply make the drive artificially high, indicating an obsession. This would simply select something that would occur naturally, but select it more often and with greater vehemence to keep moving towards achieving the resolution to that particular drive. This brings up an important part of the answer, which is that there is a notion of &#8220;expected reward&#8221; for fulfilling a drive. All this means is that when you choose to do something, you choose to do it with some future expectation of the gratification involved in that fulfillment. So for instance, I might take on a particularly arduous and complex task, with the expectation that the end result will be gratifying.</p>
<p>One of the interesting things about humans, is that we tend to function not simply from pure logic, but from logic that is altered with emotional experience before we make decisions. This means that instead of simply selecting an action via some logical step, we apply some emotional processing to the selection such that the emotion helps us choose. This is needed, because some choices are unknown and we need a method to still make a choice, so emotion gives us a push in a particular direction. But perhaps more importantly, emotions give us some warning that choices are actually not good for us. A classic example is told by Antonio Damasio in the book &#8220;Descartes Error&#8221; where he recounts the tale of Phineas Gage. Gage was a rail worker in the US who was helping build a railroad and one day had an accident that damaged his brain. The area of brain damage did not effect his logical function, memory or reason. But it did damage his emotional processing. What happened after the accident is a sad tale, but essentially it ended up that Gage was no longer able to apply emotion to his decision making and as such made poorer and poorer choices for his actions because he had no way to &#8220;feel&#8221; about the correctness of the choice and its consequences. He couldnt tell when a deal he was entering into was a good one. He had no feeling for the mood of other people or when he was being used.</p>
<p>I point this out, because it is important to understand how emotion colours action. Just as we have drives for our basic needs, we have drives for our pschological ones too. I&#8217;m not sure about the definition of clinical obsession, but it seems reasonable that we can express obsession within the system by applying both a hightened drive for the item being obsessed about, plus a more intense emotional reward for the attainment, interaction, or ownership of that obsessive item. Basically, we model in a simplistic way, the human behaviour of obsession.</p>
<p><strong>How do you author obsession?</strong></p>
<p>So getting to point (b) earlier. How do we create storybricks that allow us that level of control?</p>
<p>My first thought, is that we have modifiers on &#8220;wants&#8221; bricks. So instead of &#8220;x wants y&#8221; we might have &#8220;x wants y *how*&#8221; with the *how* being something like &#8220;obsessively&#8221;. The same could apply to &#8220;x likes y&#8221; and similar bricks too. Obsessive relationships that are one sided tend to be quite dramatic after all.</p>
<p>But I&#8217;m not entirely sure that&#8217;s how people express notions such as obsession when they think of authoring. &#8220;Jane is obsessed with reading the Harry Potter books&#8221; is a simple statement, but how would we express this in terms of bricks? Is she obsessed with reading, or is she obsessed with Harry Potter, or books, or only reading Harry Potter books? Clearly the latter is the intent of the statement. So the brick might be something like &#8220;jane wants to&#8221; whereis an action she can perform andmodifies the drive of that action.</p>
<p>So it suggests that actions are actually compound. &#8220;Read&#8221; might be an action, but it only makes sense when applied to one or more books. So maybe the &#8220;Read&#8221; action part of the &#8220;Wants to&#8221; brick has a compound that gives the things she wants to read. But also allows for the action to be modified.</p>
<p>There are a lot of things we need to figure out in this way. Both from an execution perspective, so that we can enable the characters to perform the action, but also at an author level, to allow the authors of the story to actually direct it in a way that makes sense. I&#8217;m sure that part of our ongoing feedback loop will help us refine the latter, which should help us improve on the former.</p>
<p>So what other types of characters would you find interesting? I&#8217;d love to hear the kinds of characters you find interesting so that we can start to form the tools to help build those characters.</p>
<p>Eric Heimberg did a great post about <a href="http://www.eldergame.com/2008/01/2d-is-state-of-the-art-for-npcs/">the state of the art for NPC&#8217;s</a> that can get us started. But it would be great to hear about more characters you would find interesting. Also, how do you describe those characters and how do you think you would want to describe them in terms of bricks?</p>
<p>Comments welcome as always.</p>
]]></content:encoded>
			<wfw:commentRss>http://mindflock.com/2011/08/deviants-idiots-and-a-talking-toaster/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>What are we working on?</title>
		<link>http://mindflock.com/2011/06/what-are-we-working-on/</link>
		<comments>http://mindflock.com/2011/06/what-are-we-working-on/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 11:38:01 +0000</pubDate>
		<dc:creator>zoombapup</dc:creator>
				<category><![CDATA[Social AI]]></category>

		<guid isPermaLink="false">http://mindflock.com/?p=333</guid>
		<description><![CDATA[I was at the Paris Game AI Conference last week (www.gameaiconf.com) and had a great time yet again. Speaking to all types of AI programmers is always fun. One thing that I kept getting asked was &#8220;what are you working on at Namaste&#8221; and everytime I had to stop and think how to describe what [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmindflock.com%2F2011%2F06%2Fwhat-are-we-working-on%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmindflock.com%2F2011%2F06%2Fwhat-are-we-working-on%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I was at the Paris Game AI Conference last week (www.gameaiconf.com) and had a great time yet again. Speaking to all types of AI programmers is always fun.</p>
<p>One thing that I kept getting asked was &#8220;what are you working on at Namaste&#8221; and everytime I had to stop and think how to describe what we are making. Not that it&#8217;s hard to tell what we&#8217;re making once you see it, it&#8217;s actually pretty easy to understand. But the terms we might use to describe what it is, have been co-opted to mean something else. We are working on a game that involves social interaction with AI characters. Every time I thought &#8220;social AI based games&#8221; it would just remind me that now &#8220;social&#8221; means &#8220;facebook&#8221;. We are NOT working on a game for facebook, even though I personally see nothing wrong with that and I&#8217;m sure we&#8217;ll make the game available via facebook in some form eventually.</p>
<p>I&#8217;m actually obsessed with the notion that I can help make characters come alive. Much like an animator would do for film, I think as a programmer I can help (along with our artists) make a character that is alive in an <strong>interactive</strong> way. The focus for me, is to create an online world where I can enjoy the company of other players, but where I can also feel part of a larger world. Where the characters that inhabit the world are not just dumb pawns to be used to sell items or to collect quests. Where each and every character has a tale to tell, has a life and a background, loves, hates, goals and drives.</p>
<p>There are already plenty of games that allow people to do the typical MMORPG thing. Plenty of combat and action oriented worlds, where grinding and item collection is a key part of the world. I&#8217;m just not that interested in creating one of those. Honestly, I prefer the action mechanics of a first person shooter to the typical item quest style action of an RPG. What I&#8217;m more interested in, is the ability to actually feel like the world is allowing me to play a role.  That I&#8217;m part of a story and can explore the world while the story unfolds, where the drama of the world evolves over time and where the mechanics of play in the world are less about accruing items and more about social play. Which I guess is why I&#8217;m here working for Namaste.</p>
<p>You&#8217;re probably at this point thinking &#8220;second life&#8221;, but you shouldn&#8217;t be thinking that. Social play can mean a lot of things, we can have many interesting mechanics that work beyond just &#8220;hit X with Y&#8221; all the time. If anything, you should think of Minecraft and its simple mechanics and the amazing potential when you combine them, or the sims where you can interact with the characters in the world. The possibilities for making a deep and interesting world, full of rich characters that are capable of working towards their own motivations drives me. This is a big experiement for us, in that we really don&#8217;t know what the end result will be. We know the aesthetics we are aiming for and we know the technical aspects, but as a game design? Well, nobody has done any of the things we are working on before, so its all new and open to change. I can say that I will do my best to make sure that players in our world feel that sense of awe that many of us felt when we started playing our first MMO (mine was everquest).</p>
<p>Anyway, I&#8217;ll blog more about the guts of the AI system as the product takes shape. I&#8217;ll also maybe talk about some of the things we want to do in the longer term.</p>
<p>Phil.</p>
]]></content:encoded>
			<wfw:commentRss>http://mindflock.com/2011/06/what-are-we-working-on/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Deconstructing a city</title>
		<link>http://mindflock.com/2011/02/deconstructing-a-city/</link>
		<comments>http://mindflock.com/2011/02/deconstructing-a-city/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 09:06:57 +0000</pubDate>
		<dc:creator>zoombapup</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Damzel]]></category>

		<guid isPermaLink="false">http://mindflock.com/?p=313</guid>
		<description><![CDATA[Damzel is a game set in a city. The city itself is alive with AI-based people. But I wanted the city to have a nice aesthetic to it too. Luckily, there&#8217;s a good example in Mirrors Edge. I knew it was built with the Unreal engine, so I decided to see if there was any [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmindflock.com%2F2011%2F02%2Fdeconstructing-a-city%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmindflock.com%2F2011%2F02%2Fdeconstructing-a-city%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Damzel is a game set in a city. The city itself is alive with AI-based  people. But I wanted the city to have a nice aesthetic to it too.  Luckily, there&#8217;s a good example in Mirrors Edge. I knew it was built  with the Unreal engine, so I decided to see if there was any way to fly  around it and see how they build the levels in it.</p>
<p>And there is!</p>
<p>So I thought it might be useful to fly around  and describe some of the tricks they used in creating such a beautiful  vista, whilst keeping the game running smoothly.</p>
<p>Here we go!!</p>
<p>First,  lets take a look at the basic view you&#8217;ll see while playing the game,  notice the blue-ish tones to the shadows? Those are lightmap based  shadows, baked with a lightmap creator called &#8220;Beast&#8221; by a company  called Illuminate Labs. Lightmaps in case you didn&#8217;t know, are textures  that are multiplied with a base colour texture, they are useful for  storing complex lighting and shadowing calculations. In this case Beast  does a global illumination and ambient occlusion solve and stores that  in the lightmap textures. It looks pretty nice I think we can all agree.</p>
<p style="text-align: center;"><a href="http://mindflock.com/wp-content/uploads/2011/02/mirrorsedge-20110130-1752087-1024x768.jpg" target="_blank"><img class="aligncenter size-medium wp-image-305" title="Mirrors Edge cityscape" src="http://mindflock.com/wp-content/uploads/2011/02/mirrorsedge-20110130-1752087-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>So lets take a look at the ground level (its where Damzel will take place, so I was interested in how it works in ME).</p>
<p><a href="http://mindflock.com/wp-content/uploads/2011/02/mirrorsedge-20110130-1804494-1024x768..jpg"><img class="aligncenter size-medium wp-image-314" title="mirrorsedge-20110130-1804494" src="http://mindflock.com/wp-content/uploads/2011/02/mirrorsedge-20110130-1804494-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>Interesting!  first, the lightmaps still look pretty nice at this level. Flying  around the level you notice that many of the buildings are actually  poking through the ground rather than set on it. It doesn&#8217;t matter to ME  because its set on the tops of the buildings, but it does look a tad  weird.</p>
<p><a href="http://mindflock.com/wp-content/uploads/2011/02/mirrorsedge-20110130-1757034-1024x768.jpg"><img class="aligncenter size-medium wp-image-306" title="mirrorsedge-20110130-1757034" src="http://mindflock.com/wp-content/uploads/2011/02/mirrorsedge-20110130-17570341-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>Next up are the ambient objects. In this case pedestrians and  cars. There is a central &#8220;highway&#8221; in this level, which has cars that  run occasionally down the road. Pedestrians also walk occasionally up  and down the paths. One thing to notice, is that pedestrians and cars  run along prescribed paths. They literally follow straight lines, which  while not realistic, makes moving them a lot easier. The pedestrians  themselves are very low poly, because they only contribute a few pixels  to the screen most of the time (viewed from the rooftops). An  interesting aside is the police car flashing light, which is just a  billboarded (facing flat to the camera) flashing sprite texture.</p>
<p>Fly out a bit further and we start to see things getting interesting  render-wise. Most noticable, is that geometry starts getting culled.  The back faces of buildings for instance start getting left out. As do  the paths and roads that arent in view. I&#8217;d hazard a guess here and say  it was done by hand, but it would be reasonably easy to do a PVS  (potentially visibile set) calculation and simply pre-process the level  to remove any non visible polygons (test each polygon for views of the  play area bounding box as a first pass I would say).</p>
<p><a href="http://mindflock.com/wp-content/uploads/2011/02/mirrorsedge-20110130-1757456-1024x768.jpg"><img class="aligncenter size-medium wp-image-307" title="mirrorsedge-20110130-1757456" src="http://mindflock.com/wp-content/uploads/2011/02/mirrorsedge-20110130-1757456-300x225.jpg" alt="" width="300" height="225" /></a><br />
Above is a view of a building in the middle ground. Notice that  the building itself uses black and white textures? This is because the  distance fogging (see next shot) tends to push the colour of buildings  towards a pale blue as distance to them increases, so it has the effect  of looking like atmospheric scattering. I&#8217;m actually thinking of using a  rayleigh/mie scattering term, but maybe just pushing all colours  towards light blue based on distance from camera is enough.</p>
<p>Here&#8217;s a shot of the fog volume, its more noticable when you reach  the edge of the volume because you can see the contast between pixels in  the volume and those outside of it.</p>
<p><a href="http://mindflock.com/wp-content/uploads/2011/02/mirrorsedge-20110130-1809194-1024x768.jpg"><img class="aligncenter size-medium wp-image-315" title="mirrorsedge-20110130-1809194" src="http://mindflock.com/wp-content/uploads/2011/02/mirrorsedge-20110130-1809194-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>The interesting thing about  ME leveles is that they tend to have quite contrasting levels of detail  at different parts of the level. The inner &#8220;ring&#8221; meshes are all  reasonably high detail at the rooftop level near the play area. Then we  have medium detail meshes for the city blocks inside the inner area but  outside the play area. Then we have a sort of &#8220;no mans land&#8221; which  doesnt even draw the skybox (you can see that here, where it doesnt draw  the skybox/dome and you see overdraw of the inner mesh details). That  is then ringed by a lower poly outer mesh set, which entails a set of  randomly placed buildings and some low poly landscape heightfield  meshes.</p>
<p><a href="http://mindflock.com/wp-content/uploads/2011/02/mirrorsedge-20110130-1802303-1024x768.jpg"><img class="aligncenter size-medium wp-image-316" title="mirrorsedge-20110130-1802303" src="http://mindflock.com/wp-content/uploads/2011/02/mirrorsedge-20110130-1802303-300x225.jpg" alt="" width="300" height="225" /></a><br />
Here&#8217;s a shot of the landscape and outer meshes, where you can still  see the inner mesh set. Notice the large gap betwen them? I think thats  likely there to give a sense of parallax with the outer blocks. Whats  interesting is that those outer buildings are literally just boxes with  simple textures on. Nothing particularly fancy about that, although  there is a single landmark building that has a low res environment map  on it (a sort of blue environment map).</p>
<p><a href="http://mindflock.com/wp-content/uploads/2011/02/mirrorsedge-20110130-1759562-1024x768.jpg"><img class="aligncenter size-medium wp-image-317" title="mirrorsedge-20110130-1759562" src="http://mindflock.com/wp-content/uploads/2011/02/mirrorsedge-20110130-1759562-300x225.jpg" alt="" width="300" height="225" /></a><br />
And finally, on the outer edges, we have a set of billboard  &#8220;skyline&#8221; quads with an alpha edged texture of a bunch of buildings in  it. Those are laid out at the edges of the low res mesh area to make  sure you never see a flat edge from any viewpoint while youre running  around the rooftops. They are distant enough and fogged enough that you  hardly notice them, but they do break up the skyline quite nicely.</p>
<p><a href="http://mindflock.com/wp-content/uploads/2011/02/mirrorsedge-20110130-1800394-1024x768.jpg"><img class="aligncenter size-medium wp-image-318" title="mirrorsedge-20110130-1800394" src="http://mindflock.com/wp-content/uploads/2011/02/mirrorsedge-20110130-1800394-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>So it appears that the key to rendering a nice city scene from the  mirrors edge point of view, is the inner core meshes having reasonably  high poly buildings with nice global illumination based lightmaps, many  of them using a single environment map as reflection over a base texture  in the windows. Followed by a lower resolution set of outter buildings  for parallax. Ringed by an further set of flat quads to break up the  skyline, alongside a few heightfields to suggest mountains on one side  and reflected water near the other for added interest.</p>
<p>Damzel is going to use some of these ideas, mainly the LOD &#8220;rings&#8221;  and the global illumination lighting on the inner ring. I&#8217;m not sure the  billboards will be needed, but it will be tried anyway. The pedestrians  and ambient objects like cars will be far more important than ME, so  most of the polygon budget will go towards them rather than the  buildings. So in contrast to ME, most of the buildings will be quite  low-ish in polygons, but hopefully some useful texturing and environment  mapping will help there.</p>
<p>Hope this tour of Mirrors Edge environments has proved interesting,  it certainly was for me looking around the world. I highly recommend  buying the PC version and having a fly around it. Its a masterwork of  level design if nothing else.</p>
<p>.Z.</p>
]]></content:encoded>
			<wfw:commentRss>http://mindflock.com/2011/02/deconstructing-a-city/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Designing game user interfaces</title>
		<link>http://mindflock.com/2010/12/designing-game-user-interfaces/</link>
		<comments>http://mindflock.com/2010/12/designing-game-user-interfaces/#comments</comments>
		<pubDate>Fri, 24 Dec 2010 11:54:32 +0000</pubDate>
		<dc:creator>zoombapup</dc:creator>
				<category><![CDATA[Damzel]]></category>

		<guid isPermaLink="false">http://mindflock.com/?p=270</guid>
		<description><![CDATA[If you ask any programmer what is the thing they least like to work on, its likely the one thing they really don't like working on is user interface code. Luckily there are tools that can help.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmindflock.com%2F2010%2F12%2Fdesigning-game-user-interfaces%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmindflock.com%2F2010%2F12%2Fdesigning-game-user-interfaces%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>If you ask any programmer what is the thing they least like to work on, its likely the one thing they <strong>really</strong> don&#8217;t like working on is user interface code. Luckily there are tools that can help.</p>
<p>The problem is that when you are a programmer, you are taught to seek function as your primary concern. If you ever look at most programmer&#8217;s efforts at designing user interfaces it generally ends up as huge banks of similar looking buttons all set in regular grids, columns or lists.</p>
<p>While working on Damzel, I&#8217;m aware that with this game every single part of the experience matters. Working out the design aspects of most of the gameplay I can do (I have enough analytical approaches to attack any given problem and if I&#8217;m unsure of myself I can always turn to friends for feedback) but user interface work is still something that eludes me. Luckily, Damzel&#8217;s user interface is based on <a title="LibRocket" href="http://librocket.com/" target="_blank">LibRocket</a> which is a great user interface middleware built using the same core techniques as HTML/CSS. So as I was searching for information on those, I noticed <a title="Ryan Burrell" href="http://ryanburrell.com/" target="_blank">Ryan Burrell</a> posting on twitter that he was looking to help some indie developers out, that he had HTML/CSS experience and UI design skills.</p>
<p>Our first port of call after I&#8217;d explained the game&#8217;s design to Ryan, was to get a few mockup&#8217;s sorted out. Normally, I&#8217;d approach this thing by creating something on paper, or by trying to mock it up in photoshop. Ryan used a firefox plugin called <a title="Pencil website" href="http://pencil.evolus.vn/en-US/Home.aspx" target="_blank">Pencil</a> to design what the web-world knows as &#8220;wireframes&#8221;. That is, user interface mockups with rough positions and data in controls.</p>
<p>Here&#8217;s the wireframe for the agent setup screen as an example:</p>
<p><center><div id="attachment_273" class="wp-caption aligncenter" style="width: 591px"><a href="http://mindflock.com/wp-content/uploads/2010/12/squad_inventory.png"><img class="size-large wp-image-273   " title="Squad/Agent setup screen wireframe" src="http://mindflock.com/wp-content/uploads/2010/12/squad_inventory-1024x576.png" alt="Squad/Agent setup screen wireframe" width="581" height="327" /></a><p class="wp-caption-text">Squad/Agent setup screen wireframe</p></div></center></p>
<p>As you can probably see, the intention isn&#8217;t to create a fully working prototype, or to have any sort of detail. The idea is to quickly iterate over the rough positions, the data being displayed and to study the flow through the interface. Does it do what the player expects? Does the player know where they are in the menu and where the options take them? Does the most important part of the functionality show itself clearly, with options being clearly less important but still be obvious?</p>
<p>It is really hard for us as game developers to deliver what we think is a perfect design only to see users completely hate what we have produced. Either because they don&#8217;t understand it, or they can&#8217;t get it to function as they expect. That&#8217;s something that web UI developers seem to have a great handle on and something I&#8217;m hoping we can apply to the UI design of Damzel.</p>
<p><center><div id="attachment_272" class="wp-caption aligncenter" style="width: 591px"><a href="http://mindflock.com/wp-content/uploads/2010/12/chapter_selected.png"><img class="size-large wp-image-272   " title="Damzel chapter select wireframe" src="http://mindflock.com/wp-content/uploads/2010/12/chapter_selected-1024x576.png" alt="Damzel chapter select wireframe" width="581" height="327" /></a><p class="wp-caption-text">Damzel chapter select wireframe</p></div></center></p>
<p>I&#8217;ve been pretty impressed with this way of working. Pencil seems like a great tool to help prototype UI&#8217;s in that it can allow menu flow, give overall structure and layout hints without getting bogged down in specific details. Plus it can help with outputting data for when it comes time to code up the interface for real.</p>
<p><center><div id="attachment_274" class="wp-caption aligncenter" style="width: 591px"><a href="http://mindflock.com/wp-content/uploads/2010/12/hud.png"><img class="size-large wp-image-274   " title="Heads up display mockup" src="http://mindflock.com/wp-content/uploads/2010/12/hud-1024x576.png" alt="Heads up display mockup" width="581" height="327" /></a><p class="wp-caption-text">Heads up display mockup</p></div></center></p>
<p>The great thing about this approach, is that we can iterate really quickly. Damzel is a pretty information heavy game by modern game standards, being based on older games like Syndicate really means that we have the issue of taking the information and updating the interface to match modern UI design standards. Having the ability to experiment with different flows and layouts is a very valuable method to help us deliver on the experience. Of course the next part of this, is to get an implementation working once we are happy with the design and then do something that web developers do a lot of (yet isn&#8217;t really done a lot in game development for some reason) and that is to do a usability evaluation of the interface we&#8217;ve designed!</p>
<p>Until next time!<br />
.</p>
]]></content:encoded>
			<wfw:commentRss>http://mindflock.com/2010/12/designing-game-user-interfaces/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

