<?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>Acorn Heroes &#187; Reviews</title>
	<atom:link href="http://acornheroes.com/category/reviews/feed/" rel="self" type="application/rss+xml" />
	<link>http://acornheroes.com</link>
	<description>iPhone Development from the Ends of the Earth</description>
	<lastBuildDate>Sun, 21 Aug 2011 03:53:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Puzzle Planets Postmortem</title>
		<link>http://acornheroes.com/2011/03/puzzle-planets-postmortem/</link>
		<comments>http://acornheroes.com/2011/03/puzzle-planets-postmortem/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 19:41:51 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Postmortem]]></category>
		<category><![CDATA[Puzzle Planets]]></category>

		<guid isPermaLink="false">http://acornheroes.com/?p=722</guid>
		<description><![CDATA[Time for a short break from Faerie stuff this week.  For three months at the end of last year I was contracted to work on a game for Runaway in conjunction with National Geographic.  We had a fairly simple brief &#8211; build a game around based on the TV show &#8220;Clash of the Continents&#8220;.  Clash [...]]]></description>
			<content:encoded><![CDATA[<p>Time for a short break from Faerie stuff this week.  For three months at the end of last year I was contracted to work on a game for <a href="http://www.runawayplay.com/">Runaway</a> in conjunction with National Geographic.  We had a fairly simple brief &#8211; build a game around based on the TV show &#8220;<a href="http://channel.nationalgeographic.com/episode/end-of-eden-4468/Overview">Clash of the Continents</a>&#8220;.  <em>Clash</em> was about a space traveller who, traveling at the speed of light, returns to Earth to find that some 250 million years have passed.  What has changed and why?  Is there any trace of Humanity?  Are the continents even recognizable?</p>
<p>The show is a great look at the changes our planet undergoes on a time scale that we can barely imagine.  We had three months, and a small team.  What sort of iPhone / iPad / Flash game could we create in that time?</p>
<p><img style="display: block; margin-left: auto; margin-right: auto;" src="http://acornheroes.com/wp-content/uploads/2011/03/PP1.jpg" border="0" alt="PP1" width="320" height="480" /></p>
<p> </p>
<p>The resulting game is called Puzzle Planets.  It&#8217;s an action / puzzle game where you need to create planets from the core outwards in three stages &#8211; adding tectonic plates, pulling continents out of the water and finally creating a stable environment for life.  If you want to know more you can see a gameplay video <a href="http://bit.ly/fph5Np">here</a>, or get it on the iTunes store <a href="http://bit.ly/fzCXam)">here</a>.</p>
<p>But if you&#8217;re reading this article, chances are you&#8217;re mainly interested in iOS development.  Let&#8217;s have a look at how the project went.  The final team was comprised of four programmers (not all full time, and not all at the same time), three artists a UI/UX designer and a creative director / project manager, plus support from National Geographic.  The code base uses OpenGL and mostly C++ (see notes on my current coding style <a href="http://acornheroes.com/2010/06/trying-something-new/">here</a>).  3d assets were built in Cinema 4d and exported as .obj files before conversion into final game form using a custom-made level editor tool.  The game&#8217;s creatures and UI were built in Illustrator and the textures, backgrounds etc mostly came from Photoshop.</p>
<p>On the project management side of things we used Google Docs for all documentation and SVN for source control.  Hudson was used to handle CI and AdHoc builds.</p>
<h1>What went right</h1>
<h2 style="font-size: 1.5em;">Working with artists</h2>
<p>It&#8217;s been a while since I worked on a team with great artists and I&#8217;d forgotten how much of a joy it can be.  Puzzle Planets required tight co-operation between code, 3d models, Vector and Pixel based art.  Our tile sets for the game were built flat, sitting at the origin.  These were then loaded into the level editor for the game and oriented / deformed to the shape of a sphere before being saved out in a game-specific format.  Textures were created that tiled nicely on both hexagons and pentagons (necessary in this case to smoothly tile a sphere).</p>
<p>Some coders and artists struggle to work in a cross discipline environment, and to those people I say learn to communicate, learn to understand the processes used by the &#8216;other side&#8217;.  You will benefit and your team will benefit.</p>
<p><img style="display: block; margin-left: auto; margin-right: auto;" src="http://acornheroes.com/wp-content/uploads/2011/03/PP2.jpg" border="0" alt="PP2" width="320" height="480" /></p>
<h2 style="font-size: 1.5em;">Choice of tools</h2>
<p>We went straight to OpenGL for our graphics layer, rather than working with an engine such as Cocos 2d.  Although it meant writing a lot of boilerplate code it also gave us the flexibility to do odd and unusual things with meshes and textures.  This sort of freedom made it easy to iterate and refine the look of the game.  Building the user interface for the game in UIKit was a good choice too.  It became very easy to drop in new interface elements with minimal fuss.  Adding new views was also a simple process.  Limiting ourselves to OpenGL ES v1.1 (and ignoring the shader based v2.0) also kept the task manageable.</p>
<p>Later in the project we started using <a href="http://particledesigner.71squared.com/">Particle Designer</a> and <a href="http://www.texturepacker.com/">Texture Packer</a>.  I only wish we&#8217;d adopted them at the outset.  Particle Designer not only supports game engines such as Cocos2d, but also provides sample OpenGL code.  This made dropping Particle Designer effect files into the game trivial.</p>
<p>I&#8217;ve talked about Hudson <a href="http://acornheroes.com/2010/10/setting-up-an-automated-build-in-an-ios-environment-part-4/">at length before</a>.  It is so easy to set up and tinker with.  Creating AdHoc builds was simple and automatic.  We used Dropbox to distribute new builds and the system worked very reliably.  Next time I&#8217;ll look at &#8216;over the air&#8217; distribution options to make getting test builds out even simpler.</p>
<h2 style="font-size: 1.5em;">Partnership with National Geographic</h2>
<p>There&#8217;s not much to say hear except the National Geographic were a great team to work with.  They gave us the freedom to experiment and trusted us to make good choices.  We had to make a number of difficult decisions to make along the way &#8211; altering time frames, removing Flash support and so on.  All up we had a very supportive and positive environment to work in.  Communication was via email or weekly phone conferences and it worked very well.  Using Dropbox allowed us to easily share and update concepts, documentation and AdHoc builds.</p>
<h2 style="font-size: 1.5em;">Custom Level Editor</h2>
<p>Puzzle Planets made use of a custom-made level editor.  It was an iOS app that only ever ran on the simulator due to memory constraints.  It&#8217;s some of the ugliest code I&#8217;ve ever written.  But it works, and it made the process of designing and balancing levels simple.  It also meant that our creative director could design levels with minimal technical help, so iterating through level designs became a rapid process.</p>
<p>Even as mesh formats or tile models changed, the basic level editor remained able to take a level definition file and generate game-ready models.  At worst, we had to re-load and re-save each level if some aspect of the file formats changed.  This could normally be accomplished for all levels in a few minutes.</p>
<p><img style="display: block; margin-left: auto; margin-right: auto;" src="http://acornheroes.com/wp-content/uploads/2011/03/PP3.jpg" border="0" alt="PP3" width="320" height="480" /></p>
<h2>Early prototyping</h2>
<p>Our initial designs were over the top and incredibly ambitious.  We put a lot of time and effort into prototyping game ideas, UI designs and concept art.  Typically we&#8217;d turn over or iterate several times a day on new prototypes.  With each prototype a number of team members would look at the new idea and provide feedback.  This was essential, as we had no &#8216;standard&#8217; reference to follow with the design of Puzzle Planet&#8217;s mechanics.  Puzzle Planets combines a number of familiar mechanics, but the exact combination and blend on a spherical surface took a lot of careful thought.</p>
<p>Anyone who puts a game design on paper and says it&#8217;s good is either a genius or misguided.  Make prototypes, play them and iterate repeatedly &#8211; it&#8217;s the only way to get to the core of a good game.</p>
<h2><span style="font-size: 24px;">What went wrong</span></h2>
<h2 style="font-size: 1.5em;">Slow start</h2>
<p>The <em>Clash</em> show covers a period of 250 million years.  An iPhone game normally comprises periods of game play that last for just seconds.  Our brief was very loose, with plenty of room for &#8220;Wouldn&#8217;t it be cool if&#8230;&#8221; scenarios.  We lost the best part of a month thinking all sorts of ideas for games &#8211; adventure-based mystery epics with the player trying to unravel the planet&#8217;s past.  There was much talk of animating continental movement over time, movie sequences and more.</p>
<p>It was a great time, with lots of wonderful ideas.  But in hindsight we spent a great deal of time on the big ideas without first focussing on the &#8216;second to second&#8217; game play that&#8217;s critical to a good game.  It wasn&#8217;t until we focussed on the size of the team, the time frame and the unique aspects of the device in question that we started to narrow in on fun gameplay.  We eventually ended up with a tight gaming experience, but it took a lot of false starts to get there.</p>
<h2 style="font-size: 1.5em;">Those &#8220;Gosh darned&#8221; provisioning profiles</h2>
<p>Apple&#8217;s set up for code signing is a major pain at the best of times.  Adding new devices for testing was always a time of trepidation.  Working through iTunes Connect is reasonably straight forward, it&#8217;s what happens when the new profile hits XCode that gets painful.  The problem is that placing the new profile in the correct place wasn&#8217;t enough.  Neither was loading the project and pointing it at the new profile.</p>
<p>Eventually we settled on the following reliable method (after a lot of gnashing of teeth!):</p>
<ul>
<li>Download new profile, put it in the appropriate directory.</li>
<li>Quit XCode</li>
<li>Open the project file in a text editor
<ul>
<li>Search for any reference to provisioning profiles and delete that line</li>
<li>Save project file</li>
</ul>
</li>
<li>Re-open project in XCode and re-assign required profiles.</li>
</ul>
<p>It&#8217;s a simple enough fix, but far too manual.  I thought I&#8217;d left my days of hand editing project files behind with Visual Studio 2005.  Hopefully XCode 4 will be better at this.</p>
<p><img style="display: block; margin-left: auto; margin-right: auto;" src="http://acornheroes.com/wp-content/uploads/2011/03/PP4.jpg" border="0" alt="PP4" width="320" height="480" /></p>
<h2 style="font-size: 1.5em;">Reaching too far</h2>
<p>With such a short time frame, there would have been a good argument for taking a well known game play mechanic and adding a twist to it.  Or sticking to 2d.  Or use an existing engine such as <a href="http://www.cocos2d-iphone.org/">Cocos 2d</a> or <a href="http://www.anscamobile.com/corona/">Corona</a>.  Or concentrating on a single device (rather than Flash, iPhone and iPad).  It would have been a very good argument, but for better or worse, we were determined to craft something unique and beautiful.  I think that ultimately we succeeded &#8211; Puzzle Planets is fun to play, and the race against the clock or your friends adds a wonderful frenetic pace to the game.</p>
<p>It also forced us to delay shipping the game by three months.  Trying too many new things is not a bad idea as such, but you need to accept that new things take time.  If we had reduced the scope of the game in some manner we could have hit our Christmas target.  Although after EA&#8217;s <a href="http://www.tuaw.com/2010/12/18/eas-app-store-price-war/">lock out of the charts</a> over that period, perhaps it was as a good thing that we shipped late.</p>
<h2 style="font-size: 1.5em;">Gimbal lock</h2>
<p>One problematic area of the UI throughout the project was how to handle moving the &#8216;camera&#8217; around the poles.  There are two main options.  The first is to represent movement in two dimensions &#8211; side to side and up/down.  This means a swipe sideways always spins the planet around, and a swipe up / down tilts the planet.  This is nice and logical for most people.  The problem is that it gets weird at the poles and the only real option is to clamp the up/down movement so that you can&#8217;t ever go &#8216;over the top&#8217;.  This limitation can get very annoying at times, particularly in Stage 3 when the player is trying to get to a disaster on the other side of the planet, and the fastest route would be to go via the poles.</p>
<p>The other option is to use quaternions, an alternate representation which doesn&#8217;t have this issue and allows a free range of movement.  Sounds perfect, right?  The problem here is that spinning around the world in arbitrary directions means that you lose any sense of &#8216;up&#8217;.  It&#8217;s very possible to return to a point you&#8217;ve visited previously and discover that what was up is now facing down.  This can make it harder for the player to recognize features on the planet, but it&#8217;s even worse in Stage 1.  In Stage 1 a piece of the planet hovers in front of you and you must spin the planet to find the right place to drop the piece.  Using quaternions there was no easy way to ensure the piece was in the right orientation to drop in, even if it was in the right place.</p>
<p>Neither option suited us very well, but ultimately we went with the first system.  It works well 98% of the time, but it still annoys me.</p>
<h2 style="font-size: 1.5em;">Trying to support Flash</h2>
<p>Our initial brief was to provide a game on both Flash and iOS platforms.  We spent a lot of time trying to find a 3d platform that works well in Flash.  Generating scalable game objects that could look good when rendered in either hardware (iOS) or software (Flash) was a challenge.  Ultimately there&#8217;s a reason why there are no good 3d Flash games.  Six months later and we finally have WebGL entering circulation.  I&#8217;ve been waiting for a good 3d solution for the Web since 1999 &#8211; I think it&#8217;s finally here.</p>
<p>In the end we dropped Flash support and the game is substantially better as a result.</p>
<p><img style="display: block; margin-left: auto; margin-right: auto;" src="http://acornheroes.com/wp-content/uploads/2011/03/PP5.jpg" border="0" alt="PP5" width="320" height="480" /></p>
<h1>Summing up</h1>
<p>Puzzle Planets is a great little game, far removed from the original concept we had.  I had a great time working on it and the feeling of putting a polished, successful game (in the Top 100 Games overall in the UK, Australia and Canada and Top 200 in the US) on the App Store is wonderful.  Not everything went to plan, but then it never does.  Above all, this project has reminded me, yet again, that change is constant.  You can&#8217;t ignore it, rather you must embrace it and develop techniques that allow you to handle and respond to change.</p>
]]></content:encoded>
			<wfw:commentRss>http://acornheroes.com/2011/03/puzzle-planets-postmortem/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Fluffy Buns &#8211; a handy tool for developing better games</title>
		<link>http://acornheroes.com/2010/08/fluffy-buns-a-handy-tool-for-developing-better-games/</link>
		<comments>http://acornheroes.com/2010/08/fluffy-buns-a-handy-tool-for-developing-better-games/#comments</comments>
		<pubDate>Sat, 07 Aug 2010 03:08:16 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Feedback]]></category>
		<category><![CDATA[idevblogaday]]></category>

		<guid isPermaLink="false">http://acornheroes.com/?p=483</guid>
		<description><![CDATA[Got skillz? Any good software developer is always on the look out for new techniques or tools. But when was the last time you actively cultivated your social skills? Does this sound unecessary? We&#8217;re coders after all, dealing with syntax and pixels, right? Well consider this. Our games are nothing until we&#8217;ve put them into [...]]]></description>
			<content:encoded><![CDATA[<h2>Got skillz?</h2>
<p>Any good software developer is always on the look out for new techniques or tools.  But when was the last time you actively cultivated your social skills?</p>
<p>Does this sound unecessary?  We&#8217;re coders after all, dealing with syntax and pixels, right?  Well consider this.  Our games are nothing until we&#8217;ve put them into the hands of our players.  It&#8217;s a social contract we have with the players to offer them a fun and engaging experience.  And most importantly, if <em>they</em> don&#8217;t like it, you&#8217;re up the proverbial creek without a paddle.</p>
<p>If we&#8217;re going to make our game great, we need to see it&#8217;s effect on potential players.  For the best results, we need to do it early and often to avoid wasting time on ideas and implementations that just aren&#8217;t good.</p>
<p>So, assuming you&#8217;re buying into this argument so far, the next step is to get some feedback from players.  Giving and receiving feedback is very difficult to do well, and it&#8217;s a skill that continually needs to be trained and refined, alongside your other mad skillz.</p>
<h2>Giving feedback</h2>
<p><a href="http://acornheroes.com/wp-content/uploads/2010/08/HamburgerCalories.jpg"><img class="alignright size-full wp-image-486" title="Hamburger" src="http://acornheroes.com/wp-content/uploads/2010/08/HamburgerCalories.jpg" alt="" width="236" height="349" /></a>Giving feedback can be difficult &#8211; you need to let the game developer know what doesn&#8217;t work, but without leaving them whimpering in a corner when you&#8217;re done.  The trick here is to think of a <a href="http://n8tip.com/the-hamburger-method-of-constructive-criticism-works-for-vegetarians-too">hamburger&#8217;s fluffy buns</a>.  The idea is that you wrap the &#8220;meat&#8221; of your concerns in between a nice couple of &#8220;fluffy&#8221; buns to soften the blow.</p>
<p style="padding-left: 30px;"><em>Example:</em><br />
&#8220;Your game crashes all the time and is unplayable.&#8221;</p>
<p style="padding-left: 30px;"><em>Example:</em><br />
&#8221; I like what you&#8217;ve done with the art style, and I can see a lot of promise in your game Mega Zombie Ninja Defense HD.  However, I&#8217;m having trouble with the game quitting unexpectedly on me.  It happens fairly regularly at the start of each level and is making it difficult to get into the game.  I&#8217;m keen to get further into the game, please let me know if I can help in tracking down the problem.&#8221;</p>
<p>So, both of these comments say basically the same thing right?  But which would you rather receive from a beta-tester?  Here&#8217;s a few key points:</p>
<ul>
<li>The first example comes across as a personal attack on the developer, mainly through the use of the word &#8220;Your&#8221;.  It&#8217;s the written equivalent of stabbing your finger at someone to make a point.  The recipient of this comment immediately becomes defensive and unwilling to take on board your comments.</li>
<li>Also in the first example, the phrases<em> &#8220;all the time&#8221; </em>and <em>&#8220;is unplayable&#8221;</em> are absolute (rather than subjective) statements about the game that may not be true.  <em>&#8220;Crashes all the time <strong>for me</strong>&#8220;</em> may be true, but can you really speak for all the other testers playing the game?</li>
<li>In the second example, the initial compliment puts the developer in a receptive frame of mind, ready to listen to your concerns &#8211; establishing a dialogue.  Talking about <em>&#8220;the&#8221;</em> game rather than <em>&#8220;your&#8221; </em>game makes for an objective discussion, rather than an emotional one.</li>
<li>Expressing the problem in terms of <em>&#8220;my experience&#8221;</em> means you&#8217;re open to the possibility that it&#8217;s not the developer&#8217;s fault &#8211; perhaps you&#8217;ve updated to a new OS reveision that they haven&#8217;t had a chance to test yet, or perhaps you&#8217;re jailbroken phone running a Linux kernel <em>may</em> have something to do with the issues you&#8217;re having.</li>
<li>You&#8217;ve knocked the guy down and given him a kick in the guts, telling him his code crashes (even if it&#8217;s true, it&#8217;s not nice to hear), so wrap up by saying something nice to pick him up off the ground again feeling positive about what needs to be done.</li>
</ul>
<p>There&#8217;s more at stake here than just being all new age and caring.  It&#8217;s about being able to get to the heart of a problem and fixing it.  The fact that it can help build a stronger relationship with someone is just a nice side effect.</p>
<h2>It is better to give than to receive</h2>
<p>OK, so let&#8217;s say your the king of fluffy bins, and people love you as a beta tester because you give honest, helpful feedback.  Now it&#8217;s your turn to send a build out to a handful of testers.  It&#8217;s hard.  You&#8217;re feeling a bit nervous &#8211; hoping they love the game, terrified that they won&#8217;t.  And then you get this:</p>
<p style="padding-left: 30px;">&#8220;Man this sucks, couldn&#8217;t you do any better?&#8221;</p>
<p>Ouch.  What can you do?  First off, try not to take it personally.  You asked for peoples opinions, you have to be prepared to take the good with the bad.  If people only offer praise, you&#8217;re game will suffer for it.  Just watch American Idol some time if you don&#8217;t believe me.  All those poor people who can&#8217;t sing to save themselves.  I can just imagine their well meaning family telling them <em>&#8220;You&#8217;re fantastic, you can do anything you want to do&#8221;</em>.</p>
<p>OK, so we&#8217;ve gotten over the initial shock of the feedback.  Now it&#8217;s time to ask yourselves &#8220;Why did this person have such a bad experience?&#8221;  There&#8217;s obviously a problem here, and you need to develop the skill to find out what&#8217;s going on.  This is where the <a href="http://www.joelonsoftware.com/items/2008/01/22.html"><em>&#8220;Five Whys&#8221;</em></a><em> </em><a href="http://en.wikipedia.org/wiki/5_Whys">technique</a> comes into play.  Let&#8217;s imagine how the conversation could go:</p>
<p style="padding-left: 30px;"><em>&#8220;Man this sucks, couldn&#8217;t you do any better?&#8221;</em></p>
<p style="padding-left: 30px;">&#8220;Wow, I&#8217;m sorry it didn&#8217;t go so well for you, can you give me an idea of what went wrong?&#8221;</p>
<p style="padding-left: 30px;"><em>&#8220;I just couldn&#8217;t get into it.&#8221;</em></p>
<p style="padding-left: 30px;">&#8220;Why was that, was it too hard?  Did the controls make sense?&#8221;</p>
<p style="padding-left: 30px;"><em>&#8220;It was OK until I reached the first platform, I just couldn&#8217;t get up onto it.&#8221;</em></p>
<p style="padding-left: 30px;">&#8220;Why was that, were you double jumping?&#8221;</p>
<p style="padding-left: 30px;"><em>&#8220;Double jumping?  You can do that?&#8221;</em></p>
<p style="padding-left: 30px;">&#8220;Yeah, just triple tap the player again after he&#8217;s jumped.  Did you read the instructions at the beginning of the game?&#8221;</p>
<p style="padding-left: 30px;">&#8220;<em>Oh those, I kinda skipped through the last seven pages.&#8221;</em></p>
<p style="padding-left: 30px;">&#8220;Fair enough, maybe I should look at shortening them down a bit.  Triple tap may be a bit tricky too, I guess I could look at using a tap and hold or something.  That shouldn&#8217;t take too long to fix.  If I sent you a new build, would you give it another go?&#8221;</p>
<p style="padding-left: 30px;"><em>&#8220;Sure, sounds good&#8221;</em></p>
<p>Wonderful, a happy ending.  With a little effort on our part, we&#8217;ve turned a flippant, unhelpful response into some valuable information:</p>
<ul>
<li>If a player can&#8217;t master double jumping, the game is unplayable.  Is it really that important a skill for our game?</li>
<li>Triple tapping is a pain.</li>
<li>Our &#8220;how to play&#8221; instructions are too long.</li>
<li>Maybe we should put the first time the player is required to double jump further into the first level?</li>
<li>Perhaps we can shorten the instructions and break them up into smaller chunks, delivered as needed rather than all at once?</li>
</ul>
<p>All that from <em>&#8220;Man this sucks, couldn&#8217;t you do any better?&#8221;</em> .  The idea of &#8220;five whys&#8221; is to strip away the superfluous and get at the heart of a problem.</p>
<h2>Wrapping up</h2>
<p>A bullet list to wrap up:</p>
<ul>
<li>Avoid being personal (using &#8220;you&#8221;), unless you&#8217;re talking about yourself (&#8220;I think&#8221;).</li>
<li>Think of it as a puzzle to solve objectively.  The answer is there, you just need to develop the techniques to find it.</li>
<li><a href="http://en.wikipedia.org/wiki/Hanlon's_razor">&#8220;Never attribute to malice that which is adequately explained by stupidity.&#8221;</a> A person who&#8217;s gone to the effort of offering criticism may have a valid problem they don&#8217;t know how to communicate.</li>
<li>Your harshest criticism is also you&#8217;re greatest opportunity for improvement.</li>
<li>Be wary of feedback from friends and family &#8211; avoid asking what they think &#8211; rather ask them for ways to help you improve and fix the game.</li>
</ul>
<p>So, maybe there is something to being nice after all.  Mastering the art of giving and receiving feedback may seem unimportant at first, but it&#8217;s one of the most valueable tools you have.</p>
<p>What do you think?</p>
]]></content:encoded>
			<wfw:commentRss>http://acornheroes.com/2010/08/fluffy-buns-a-handy-tool-for-developing-better-games/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Game Developer&#8217;s Bookshelf</title>
		<link>http://acornheroes.com/2010/07/the-game-developers-bookshelf/</link>
		<comments>http://acornheroes.com/2010/07/the-game-developers-bookshelf/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 04:43:02 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[idevblogaday]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://acornheroes.com/?p=391</guid>
		<description><![CDATA[Me: &#8220;Hi, my name&#8217;s George&#8221; Everyone: &#8220;Hi George!&#8221; Me: &#8220;My name&#8217;s George, and I&#8217;m a book addict.  I love reading and I just can&#8217;t get enough.&#8221; Yep, I&#8217;m a book nerd, a big one.  And from discussions with my fellow iDevBlogADay-ers, I&#8217;m not the only one.  While the Internet is a great place to find [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: left; padding-left: 60px;"><em>Me:</em> &#8220;Hi, my name&#8217;s George&#8221;</div>
<div id="_mcePaste" style="text-align: left; padding-left: 60px;"><em>Everyone:</em> &#8220;Hi George!&#8221;</div>
<div id="_mcePaste" style="text-align: left; padding-left: 60px;"><em>Me:</em> &#8220;My name&#8217;s George, and I&#8217;m a book addict.  I love reading and I just can&#8217;t get enough.&#8221;</div>
<address><em><br />
</em></address>
<div id="_mcePaste">Yep, I&#8217;m a book nerd, a big one.  And from discussions with my fellow <a href="http://idevblogaday.com/">iDevBlogADay</a>-ers, I&#8217;m not the only one.  While the Internet is a great place to find a <a href="http://acornheroes.com/2010/07/the-things-i-learn-from-twitter-amaze-me/">wealth of information</a>, sometimes a book is the only place you can really cover a subject with the attention it deserves.  I have a few favourites, and after reading this week&#8217;s post from <a href="http://pocketcyclone.com/2010/07/20/book-treasures/">Markus</a>, I felt I should share.</div>
<h3>Obtaining a Fix</h3>
<div id="_mcePaste">Obviously, there&#8217;s the standard sources for good books &#8211; Amazon.com, Barnes &amp; Noble and Borders.  But here&#8217;s a couple of options I prefer that you might not know of.  O&#8217;Reilly have an online subscription service called <a href="http://safari.oreilly.com/">Safari</a>.  Depending on your subscription, you get 5 or more books that you can have complete access to at any one time.  There&#8217;s a large selection of publishers, all making their books available in an online form.  Often books are available here before publication in a &#8216;beta&#8217; form, which is great in a fast moving industry like ours.</div>
<address><em><br />
</em></address>
<div id="_mcePaste">Another one you may not have heard of is <a href="http://pragprog.com/">The Pragmatic Bookshelf</a> &#8211; who publish a range of books including a growing range of iOS related titles.  What&#8217;s really cool is that they offer books in both electronic and paper forms, and at any time you can log in and re-download a copy of any book you&#8217;ve purchased through them, in PDF, ePub or mobi formats.  Once again, &#8216;beta&#8217; versions of books are available.  The place is also run by <a href="http://pragprog.com/404">Gerbils</a>, which is unusual these days.</div>
<address><em><br />
</em></address>
<div>The Pragmatic guys frequently run special promotions, and it&#8217;s quite common to get up to 50% off many titles.  In particular if you sign up and then recommend a friend to sign up, you&#8217;ll both immediately get 40% off coupons to redeem on any purchase.  If you don&#8217;t have any friends who are sufficiently book-nerdy like you and me, drop me a line at george.sealy &#8216;at&#8217; gmail.com and I&#8217;ll send you an invite so we can both enjoy a discount <img src='http://acornheroes.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
<h3>Some Great Books</h3>
<div id="_mcePaste">OK, enough prattle.  Here&#8217;s a small selection of  great books that I own and would happily recommend to anyone.</div>
<p><a href="http://www.amazon.com/gp/product/0123694965?ie=UTF8&amp;tag=acorhero-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0123694965"><img class="alignleft size-full wp-image-434" style="margin: 20px;" title="41xdolUvXzL._SL160_" src="http://acornheroes.com/wp-content/uploads/2010/07/41xdolUvXzL._SL160_.jpg" alt="" width="123" height="160" /></a></p>
<p><strong><a href="http://www.amazon.com/gp/product/0123694965?ie=UTF8&amp;tag=acorhero-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0123694965">The Art of Game Design : A Book of Lenses</a></strong></p>
<address><em>by Jesse Schell</em></address>
<address><em><br />
</em></address>
<div id="_mcePaste">I can&#8217;t recommend this book highly enough.  If you want to learn how games are designed, and how to make great games yourself, then this is the book for you.  Throughout the book, Jesse provides a collection of <em>lenses</em>.  Each lens captures one aspect of game design and provides a series of questions you can ask yourself about a game.  Typically the answers to these question provid insight into why certain aspects of a game aren&#8217;t working, and what can be done to improve it.</div>
<div id="_mcePaste">In the spirit of try before you buy, there are <a href="http://artofgamedesign.com/book/chapters.htm">several chapters available on line</a> for you to read.  Or read <a href="http://www.next-gen.biz/features/the-best-book-game-design-ever">this review</a>.</div>
<address><em><br />
</em></address>
<p><a href="http://www.amazon.com/gp/product/1430224592?ie=UTF8&amp;tag=acorhero-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1430224592"><img class="alignright size-full wp-image-436" style="margin: 20px;" title="41BBVfpEPYL._SL160_" src="http://acornheroes.com/wp-content/uploads/2010/07/41BBVfpEPYL._SL160_1.jpg" alt="" width="121" height="160" /></a></p>
<h4><a href="http://www.amazon.com/gp/product/1430224592?ie=UTF8&amp;tag=acorhero-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1430224592">Beginning iPhone 3 Development: Exploring the iPhone SDK</a></h4>
<address>by Dave Mark and Jeff LaMarche</address>
<address></address>
<address></address>
<address><em><br />
</em></address>
<div id="_mcePaste">If you&#8217;re new to iOS programming, this book will quickly become your best friend.  The book is well written and introduces XCode, Interface Builder and the iPhone SDK in a clear and useful way.  Many books give you an exact sequence of steps to follow to achieve a particular result, leaving you unsure how to do anything else.  This book though gives you enough understanding to branch out and try things on your own.  This book is often sitting on my desk when I&#8217;m working on iOS projects.  This book is also <a href="http://my.safaribooksonline.com/9781430224594">available on Safari</a>, along with many of the other good Apress iOS books.</div>
<address><em><br />
</em></address>
<div><a href="http://www.amazon.com/gp/product/1893115941?ie=UTF8&amp;tag=acorhero-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1893115941"><img class="alignleft size-full wp-image-439" style="margin: 20px;" title="41AeNwwfk1L._SL160_" src="http://acornheroes.com/wp-content/uploads/2010/07/41AeNwwfk1L._SL160_.jpg" alt="" width="118" height="160" /></a></div>
<h4><a href="http://www.amazon.com/gp/product/1893115941?ie=UTF8&amp;tag=acorhero-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1893115941">User Interface Design for Programmers</a></h4>
<address>by Joel Spolsky</address>
<address></address>
<address><em><br />
</em></address>
<div id="_mcePaste">I found this book before I&#8217;d ever heard of <a href="http://www.joelonsoftware.com/">Joel Spolsky</a>, and<a href="http://www.joelonsoftware.com/articles/fog0000000043.html"> his test</a>, which changed the way I go about software development.  In this book he describes his no nonsense approach to UI design.  The chapter names alone convey a wealth of information, for example <em>Design for Extremes</em> and <em>People Can&#8217;t Read</em>.  If you haven&#8217;t heard of Joel yet, set aside a few hours and head on over to <a href="http://www.joelonsoftware.com/">his site</a> and start working through some of his reading lists of articles, which includes most of the <a href="http://www.joelonsoftware.com/uibook/chapters/fog0000000057.html">content from the book</a>, so there&#8217;s no excuse for not reading this.</div>
<address><em><br />
</em></address>
<div><a href="http://www.amazon.com/gp/product/1568814135?ie=UTF8&amp;tag=acorhero-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1568814135"><img class="alignright size-full wp-image-440" style="margin: 20px;" title="51hLW9JAF-L._SL160_" src="http://acornheroes.com/wp-content/uploads/2010/07/51hLW9JAF-L._SL160_.jpg" alt="" width="127" height="160" /></a></div>
<h4><a href="http://www.amazon.com/gp/product/1568814135?ie=UTF8&amp;tag=acorhero-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1568814135">Game Engine Architecture</a></h4>
<address>by Jason Gregory</address>
<address></address>
<address><em><br />
</em></address>
<div id="_mcePaste">Jason Gregory is an industry veteran, and it shows.  If you have any interest in how a game engine is put together then you&#8217;ll like this one.  You&#8217;ll get a high level view of all the parts that make up an engine and how they interact along with specific examples from well known game engines &#8211; including the open source <a href="http://www.ogre3d.org/">OGRE</a> and Naughty Dog&#8217;s Uncharted engine.  While the book is based on Jason&#8217;s experience with PC and PS3 platforms, there&#8217;s plenty of valuable insight here that can be applied anywhere.  This book is particularly good if you are new to game programming &#8211; the older hands will probably find a lot that&#8217;s familiar &#8211; along with a few ideas that are new and useful.</div>
<address><em><br />
</em></address>
<div><a href="http://www.amazon.com/gp/product/020161622X?ie=UTF8&amp;tag=acorhero-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=020161622X"><img class="alignleft size-full wp-image-441" style="margin: 20px;" title="41HXiIojloL._SL160_" src="http://acornheroes.com/wp-content/uploads/2010/07/41HXiIojloL._SL160_.jpg" alt="" width="127" height="160" /></a></div>
<h4><a href="http://www.amazon.com/gp/product/020161622X?ie=UTF8&amp;tag=acorhero-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=020161622X">The Pragmatic Programmer: From Journeyman to Master</a></h4>
<address>by Andrew Hunt</address>
<address></address>
<address><em><br />
</em></address>
<div id="_mcePaste">If there is a trend in my book choices, it is for clear, easy to read books.  The Pragmatic Programmer is one of those books that can be flicked through and read a section at a time.  It distills the experience and insight of the author into bite-sized chunks of wisdom that can help you be a better programmer.  This book isn&#8217;t so much about programming as it is about how you as a programmer approach your work, and how you can be more efficient and effective.  If I ever have enough money to employ people, this book will be required reading for all programmers.</div>
<address><em><br />
</em></address>
<h3>My Name is George</h3>
<div>I&#8217;m an addict, but it&#8217;s a reasonably harmless addiction that I&#8217;m willing to share. All of these books have a permanent place on my office bookshelf.  What are your favourites?  Let me know in the comments below, I&#8217;m always looking for my next fix!</div>
]]></content:encoded>
			<wfw:commentRss>http://acornheroes.com/2010/07/the-game-developers-bookshelf/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Is this the best we can do?</title>
		<link>http://acornheroes.com/2009/11/is-this-the-best-we-can-do/</link>
		<comments>http://acornheroes.com/2009/11/is-this-the-best-we-can-do/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 20:37:43 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://acornheroes.com/?p=269</guid>
		<description><![CDATA[Perhaps I expect too much? I was playing the demo of Torchlight the other day.  It&#8217;s a beautiful game &#8211; art and game play honed to near perfection.  So why after a couple of hours of playing did I feel hollow inside?  What was I doing?  Why?  Was this even fun?  I love this sort [...]]]></description>
			<content:encoded><![CDATA[<p>Perhaps I expect too much?</p>
<p>I was playing the demo of <a href="http://www.torchlightgame.com/">Torchlight</a> the other day.  It&#8217;s a beautiful game &#8211; art and game play honed to near perfection.  So why after a couple of hours of playing did I feel hollow inside?  What was I doing?  Why?  Was this even fun?  I love this sort of game &#8211; I lost vast quantities of time to Diablo, and enjoyed it.</p>
<p>So what&#8217;s the difference here?  Here I was, avidly collecting loot, leveling up and so on, flying through enemies with happy abandon.  I think that ultimately that&#8217;s all there was to it.  Fight / loot / fight / loot.  Where was my motivation and back story?  Where was the momentary pause to plan my attacks before diving through a door to tackle the nasty boss monster?  Half the time I didn&#8217;t even register that I was fighting a boss until I was picking over his corpse.  What level was I on?  What made this one stand out from all the others?</p>
<p>I&#8217;ve felt this way before, playing <a href="http://bunnibunni.com/">Bunni Bunni</a>, designed by Danc, who&#8217;s <a href="http://lostgarden.com/">blog</a> is an inspiration and well worth reading.  I found myself playing it to completion, but was left with nothing of value to take away from the experience.  It&#8217;s a carefully constructed task / reward structure, tuned to the point where conscious thought dissappears.  It&#8217;s akin to grind in MMO&#8217;s.  Don&#8217;t even get me started there.</p>
<p>When designing games, we talk about addiction as if it&#8217;s a good thing &#8211; the ultimate goal.  If that&#8217;s the best we can do, I need to find another hobby.  Fortunately, there&#8217;s still plenty of scope for story telling (<a href="http://dragonage.bioware.com/">Dragon Age</a>), exploration (<a href="http://jayisgames.com/cgdc6/?gameID=9">Small Worlds</a>) and deep strategy (<a href="http://www.galciv2.com/index.aspx">Galactic Civilisations II</a>) and simple beauty (<a href="http://braid-game.com/">Braid</a>, <a href="http://www.bit-blot.com/aquaria/">Aquaria</a>).</p>
<p>I guess what I&#8217;m saying is that with a family and work, my spare moments playing games are precious to me.  Playing a game &#8216;just to fill in time&#8217; is pointless.  I want to have an experience, one that I&#8217;ll reflect on later as worthwhile.  I really wanted to like Torchlight, but I just can&#8217;t.</p>
<p>Or is it just me?  Let me know what you think&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://acornheroes.com/2009/11/is-this-the-best-we-can-do/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>In Review : Symbol6 by Gogogic</title>
		<link>http://acornheroes.com/2009/04/in-review-symbol6-by-gogogic/</link>
		<comments>http://acornheroes.com/2009/04/in-review-symbol6-by-gogogic/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 10:00:59 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Gogogic]]></category>
		<category><![CDATA[Symbol6]]></category>

		<guid isPermaLink="false">http://acornheroes.com/?p=104</guid>
		<description><![CDATA[Symbol6 is a stylish puzzle game from Gogogic in Iceland. The game combines elements of Tetris and Missile Command in a novel package. The game revolves around a large hexagon that fills about half of the screen. Within this hexagon are six (later seven) smaller hexagons, each with a unique symbol on it. As the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.symbol6game.com/index.php">Symbol6</a> is a stylish puzzle game from <a href="http://www.gogogic.com/">Gogogic</a> in Iceland.  The game combines elements of <em>Tetris</em> and <em>Missile Command</em> in a novel package.</p>
<p>The game revolves around a large hexagon that fills about half of the screen.  Within this hexagon are six (later seven) smaller hexagons, each with a unique symbol on it.  As the game starts, you have to rearrange these symbols to match symbols that fly in from the edges of the screen.  Match them up and you get points (and you can build up combos as you go).  Miss a symbol, and you lose some life.  </p>
<p>The game rapidly becomes more frantic, throwing more symbols at you, as well as adding a seventh symbol for you to juggle.  In addition, you also get incoming &#8216;bombs&#8217; which can cause all sorts of trouble, such as randomly rearranging your symbols.  To fend these off, you need to rotate the iPhone to put up a shield.  Managing this while fending off waves of incoming symbols becomes a significant challenge.</p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/VEhe7pXdXnc&#038;hl=en&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/VEhe7pXdXnc&#038;hl=en&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p>One thing that stands out is that Symbol6 is a beautiful game.  The presentation and polish is top notch.  Gameplay is simple to grasp but very difficult to master.   A lot of thought has gone into the game&#8217;s design and it shows.</p>
<p>The game is quick to get into, and suits short play sessions.  Having to rotate the device to deflect incoming bombs helps to break up the gameplay and provide variation.  I found that the difficulty ramps up very quickly.  The game starts off slow, then there&#8217;s a patch where you feel nicely in control of your destiny before you finally end up fighting desperately to keep yourself alive.  It would be nice to see that middle part of the game last a little bit longer, as it is during this time that the game is most fun.  </p>
<p>One issue I had is that while playing the game, it&#8217;s hard to know how well you&#8217;re doing.  The transition from one level to another goes by largely unnoticed &#8211; I feel that giving the player a chance to take a breath, check their score and relax before throwing them back into the game would aid the pacing of the game greatly.</p>
<p>So, is Symbol6 worth the paltry sum you&#8217;d pay for it on the <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=303839677&#038;mt=8">App Store</a>?  Absolutely.  It&#8217;s an elegantly designed game that feels at home on the iPhone platform.</p>
]]></content:encoded>
			<wfw:commentRss>http://acornheroes.com/2009/04/in-review-symbol6-by-gogogic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

