<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Four Door Lemon Ltd</title>
	
	<link>http://www.fourdoorlemon.com</link>
	<description>Multi-platform games development + services</description>
	<lastBuildDate>Sun, 22 Jan 2012 23:42:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/FourDoorLemon" /><feedburner:info uri="fourdoorlemon" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>The Lighthouse HD – out now!</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/wTEfN7C3ZfI/</link>
		<comments>http://www.fourdoorlemon.com/2012/01/22/the-lighthouse-hd-out-now/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 23:41:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Latest News]]></category>
		<category><![CDATA[Latest Releases]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=644</guid>
		<description><![CDATA[&#160; We&#8217;re pleased to announce that The Lighthouse HD is now out for the iPad 1 &#38;2 (iPad 2 support features additional graphical enhancements). The game is a blend of line drawing (with a twist), sea creatures and hazards, atmospheric audio and varying weather conditions! We&#8217;re already getting some great feedback so please check it [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>We&#8217;re pleased to announce that The Lighthouse HD is now out for the iPad 1 &amp;2 (iPad 2 support features additional graphical enhancements).</p>
<p>The game is a blend of line drawing (with a twist), sea creatures and hazards, atmospheric audio and varying weather conditions!</p>
<p>We&#8217;re already getting some great feedback so please check it out!</p>
<p>For more information please see the <strong><a href="http://bit.ly/lighthousegame">App Store page</a></strong> and the below video!</p>
<p><a href="http://www.youtube.com/watch?v=UtZw7k2O45o"><img src="http://img.youtube.com/vi/UtZw7k2O45o/2.jpg" title="The Lighthouse HD   out now!" alt="2 The Lighthouse HD   out now!" /></a></p>
<p><a href="http://www.youtube.com/watch?v=UtZw7k2O45o">Click here</a> to view the video on YouTube.</p>

<p>&nbsp;</p>
<p>&nbsp;</p>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/wTEfN7C3ZfI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2012/01/22/the-lighthouse-hd-out-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2012/01/22/the-lighthouse-hd-out-now/</feedburner:origLink></item>
		<item>
		<title>Table Football / Table Soccer</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/YeskKwqJdoM/</link>
		<comments>http://www.fourdoorlemon.com/2012/01/12/table-football-table-soccer/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 11:34:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development News]]></category>
		<category><![CDATA[Latest News]]></category>
		<category><![CDATA[Latest Releases]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=640</guid>
		<description><![CDATA[SCEA have been showing off our new game Table Football (Table Soccer for SCEA obviously!) at CES in Las Vegas. Check out the hands-on video for some glimpses of the (pre-release) game in action! Further video also up at The Verge More exciting news coming soon!]]></description>
			<content:encoded><![CDATA[<p>SCEA have been showing off our new game Table Football (Table Soccer for SCEA obviously!) at CES in Las Vegas.</p>
<p>Check out the hands-on video for some glimpses of the (pre-release) game in action!</p>
<p><a href="http://www.youtube.com/watch?v=NOHe9fhrJnU"><img src="http://img.youtube.com/vi/NOHe9fhrJnU/2.jpg" title="Table Football / Table Soccer" alt="2 Table Football / Table Soccer" /></a></p>
<p><a href="http://www.youtube.com/watch?v=NOHe9fhrJnU">Click here</a> to view the video on YouTube.</p>

<p>Further video also up at <a href="http://www.theverge.com/2012/1/12/2701266/playstation-vita-plays-augmented-reality-soccer-hands-on-video">The Verge</a></p>
<p>More exciting news coming soon!</p>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/YeskKwqJdoM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2012/01/12/table-football-table-soccer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2012/01/12/table-football-table-soccer/</feedburner:origLink></item>
		<item>
		<title>Flickball (working title)</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/o7TZOfz7O6s/</link>
		<comments>http://www.fourdoorlemon.com/2011/11/25/flickball-working-title/#comments</comments>
		<pubDate>Fri, 25 Nov 2011 12:44:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development News]]></category>
		<category><![CDATA[Latest News]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=621</guid>
		<description><![CDATA[We&#8217;re really pleased with the positive reaction to our AR Football game &#8216;Flickball&#8217; (working title) that Sony showed in their Vita launch event earlier in the week!]]></description>
			<content:encoded><![CDATA[<p data-ft="{&quot;type&quot;:1}">
<p data-ft="{&quot;type&quot;:1}">We&#8217;re really pleased with the positive reaction to our AR Football game &#8216;Flickball&#8217; (working title) that Sony showed in their Vita launch event earlier in the week!</p>
<p><a href="http://www.youtube.com/watch?v=45MY-U09KQE"><img src="http://img.youtube.com/vi/45MY-U09KQE/2.jpg" title="Flickball (working title)" alt="2 Flickball (working title)" /></a></p>
<p><a href="http://www.youtube.com/watch?v=45MY-U09KQE">Click here</a> to view the video on YouTube.</p>

<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/o7TZOfz7O6s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2011/11/25/flickball-working-title/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2011/11/25/flickball-working-title/</feedburner:origLink></item>
		<item>
		<title>Programming positions! Apply now!</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/nQWAok6cXtA/</link>
		<comments>http://www.fourdoorlemon.com/2011/10/16/programming-positions-apply-now/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 07:23:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Latest News]]></category>
		<category><![CDATA[game programmer]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=616</guid>
		<description><![CDATA[Hi everyone, sorry for the lack of updates recently we&#8217;re planning to update the site soon so watch this space! In the meantime please see below for couple of roles we are hiring for. &#160; Four Door Lemon Ltd are looking to add to their experienced coding team with opportunities available for all levels of [...]]]></description>
			<content:encoded><![CDATA[<p>Hi everyone, sorry for the lack of updates recently we&#8217;re planning to update the site soon so watch this space!<br />
In the meantime please see below for couple of roles we are hiring for.</p>
<p>&nbsp;</p>
<p><strong>Four Door Lemon Ltd are looking to add to their experienced coding team with opportunities available for all levels of experience.</strong></p>
<p>We are looking for people not afraid of getting involved in any section of the codebase, who enjoy gameplay development as much as technology and are always looking to improve both individually and as a team.</p>
<p>Successful candidates will have</p>
<p>• Strong programming skills with a C++ focus.<br />
• Proven experience or suitable education and sample work.<br />
• An interest and knowledge in more than one area of game coding.<br />
• Good organization, communication and technical skills.<br />
• Passion about quality, the team and gameplay.</p>
<p>The roles are fulltime in-house though there is some flexibility depending on exact requirements.</p>
<p>Please get in touch via</p>
<p>jobs@fourdoorlemon.com</p>
<p>Also posted up at <a href="http://www.gamesindustry.biz/jobs/four-door-lemon/uk-and-europe/senior-and-junior-programmers--vita-ps3-360-ios-android-pc-projects-id51355" target="_blank">gi.biz</a></p>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/nQWAok6cXtA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2011/10/16/programming-positions-apply-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2011/10/16/programming-positions-apply-now/</feedburner:origLink></item>
		<item>
		<title>Blogging holiday (w/ brief explanation)</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/BtRvBnBWPVg/</link>
		<comments>http://www.fourdoorlemon.com/2011/07/09/blogging-holiday-w-brief-explanation/#comments</comments>
		<pubDate>Sat, 09 Jul 2011 20:48:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iDevBlogADay]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=609</guid>
		<description><![CDATA[Apologies for the short post today, we&#8217;ve had a crazier than usual few weeks here at Four Door Lemon. Todays blog completely slipped through my Outlook task list with everything going on so I&#8217;m going to be stepping back from the iDevBlogADay schedule. We have recently being doubling up our team from 6 core staff [...]]]></description>
			<content:encoded><![CDATA[<p>Apologies for the short post today, we&#8217;ve had a crazier than usual few weeks here at Four Door Lemon. Todays blog completely slipped through my Outlook task list with everything going on so I&#8217;m going to be stepping back from the iDevBlogADay schedule. </p>
<p>We have recently being doubling up our team from 6 core staff + contractors to a team of 13 as well exploring new platforms and gameplay possibilities. This process has been very exciting and it has been great fun finding people to fit in with the team and the culture of the company. </p>
<p>We&#8217;re on the look out for further work at the moment and the Develop Conference in Brighton will be part of that process following on the back of another trip we&#8217;ve had to Paris AI Conference and Game Horizon this year &#8211; both of which were great events once again.</p>
<p>Before the end of the month we&#8217;ll be announcing two new releases on iOS/Mac as well as updates to Tic Toc Body Pop and You Are The Ref. One of the releases is going to be initially an iPad 2 only release with some very cool fancy 3D shader graphics coupled with an awesome gameplay mechanic, lots of fun challenging levels and some of the most atmospheric audio I think we&#8217;ve had on the iOS device so far.</p>
<p>Please continue to follow the blog and track us on Facebook from the links on the side of our site.</p>
<p>Thanks,<br />
Simon</p>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/BtRvBnBWPVg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2011/07/09/blogging-holiday-w-brief-explanation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2011/07/09/blogging-holiday-w-brief-explanation/</feedburner:origLink></item>
		<item>
		<title>The art of Tic Toc Body Pop</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/zh9O9piEaqs/</link>
		<comments>http://www.fourdoorlemon.com/2011/06/25/the-art-of-tic-toc-body-pop/#comments</comments>
		<pubDate>Sat, 25 Jun 2011 21:34:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iDevBlogADay]]></category>
		<category><![CDATA[Latest News]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=588</guid>
		<description><![CDATA[Today is a guest post by Simon Butler about the artwork / visual iteration of Tic Toc Body Pop. The game is getting some great reviews here and here we&#8217;re hoping things continue to build up on the promotion side of things, please check it out if you haven&#8217;t already on the App Store &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Today is a guest post by Simon Butler about the artwork / visual iteration of Tic Toc Body Pop. The game is getting some great reviews <a href="http://www.slidetoplay.com/story/tic-toc-body-pop-review" target="_blank">here </a>and <a href="http://www.pocketgamer.co.uk/r/Multiformat/Tic+Toc+Body+Pop/review.asp?c=30760" target="_blank">here</a> we&#8217;re hoping things continue to build up on the promotion side of things, please check it out if you haven&#8217;t already on the <a href="http://bit.ly/ttbpios" target="_blank">App Store</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Before I begin I guess I’d better introduce myself.  My name’s Simon Butler and I produced the artwork for Tic Toc Body Pop.  I originally conceived the project after watching ‘Hole in the Wall’.  Although I don’t particularly rate the game show, I did think the basic premise would work well as a video game, particularly one that utilizes touch screen controls.</p>
<p>&nbsp;</p>
<p><strong>The art style</strong></p>
<p>The surreal, weird style of the artwork was originally intended just to be a distraction for the player throughout the game, with lots of odd things happening in the background as well as having random objects popping in from the sides (and above) to knock you off course.  There was never any reason behind any of it, it was all just there to put you off!  I drew inspiration for all this from a point in time around 15 years ago when myself and several other ‘like minded’ friends would sit around the kitchen table on an evening and try to ‘out do’ and offend each other with some of the most bizarre drawings you can think of (for example: imagine an elderly lady wearing a gas mask, naked with the legs of a donkey, riding an armour plated marmot and you start to get the picture).  We were all into David Cronenberg (Naked Lunch, eXistenZ, Videodrome), John Carpenter, Clive Barker, Hayao Miyazaki animations, manga – all amazing work that served up weird and wonderful imagery and a limitless well of creative inspiration.  Music was also very inspirational, especially the more ‘avant garde’ stuff out there like ‘Steroid Maximus, Mike Patton, John Zorn, Peter Thomas and Herb Alpert to name a few.  I’m still influenced by all of the above today, but I think a lot of the darker elements within my style have maybe been filtered out during the Tic Toc development process.  I’ll maybe save that for the sequel!</p>
<p>It wasn’t until later in the development cycle that we decided to explain the Tic Toc imagery in each level as Tic Toc’s dreams.  I think adding this element of explanation definitely makes the player feel more comfortable in their surroundings and it certainly made me feel better knowing there was a reason for everything we were showing.</p>
<p>&nbsp;</p>
<p><strong>The art process</strong></p>
<p>The first thing I decided to do was sketch out a few rough ideas to illustrate what a typical level in Tic Toc would look like.  I produced these 3 sketches before moving on to a video mockup (see Simon’s previous blog).</p>
<p>&nbsp;</p>
<p><a href="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img1.jpg" rel="lightbox[588]"><img class="alignnone size-full wp-image-590" title="img1" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img1.jpg" alt="img1 The art of Tic Toc Body Pop" width="567" height="192" /></a></p>
<p><a href="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img3.jpg" rel="lightbox[588]"><img class="alignnone size-full wp-image-591" title="img3" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img3.jpg" alt="img3 The art of Tic Toc Body Pop" width="567" height="192" /></a></p>
<p>&nbsp;</p>
<p><strong>Level Design</strong></p>
<p>Once we were all comfortable with how the project was going to pan out, it was time to start work on the designs for the individual levels.  I really enjoyed this part of the process as I was basically just plucking random ideas and scenarios out of my head and putting them down  on paper.  As long as the level theme was weird enough, it would suit being a Tic Toc level!  My target number of designs was 50, enough to fill the first version of the game and a few updates.  I’ve attached a few comparison pieces below.</p>
<p><a href="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img5.jpg" rel="lightbox[588]"><img class="alignnone size-full wp-image-592" title="img5" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img5.jpg" alt="img5 The art of Tic Toc Body Pop" width="567" height="192" /></a></p>
<p>&nbsp;</p>
<p><a href="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img7.jpg" rel="lightbox[588]"><img class="alignnone size-full wp-image-593" title="img7" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img7.jpg" alt="img7 The art of Tic Toc Body Pop" width="567" height="192" /></a></p>
<p><a href="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img9.jpg" rel="lightbox[588]"><img class="alignnone size-full wp-image-594" title="img9" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img9.jpg" alt="img9 The art of Tic Toc Body Pop" width="567" height="192" /></a></p>
<p><a href="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img11.jpg" rel="lightbox[588]"><img class="alignnone size-full wp-image-595" title="img11" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img11.jpg" alt="img11 The art of Tic Toc Body Pop" width="570" height="441" /></a></p>
<p>The whole level design process (including roughs and final assets) took around 2 months to complete.  A typical level asset directory consists of a 1024&#215;768 static background, a separate animation directory containing the level background animation elements, and we have an ‘objects’ directory for level obstacles (circular saws, bombs, lasers etc).  Everything was illustrated digitally using a Wacom Intuos3 tablet in conjunction with Coral Painter and Adobe Photoshop.  I rarely use pen and paper (aside from the odd little doodle) and find the purely digital process to be a lot more efficient.  The conveyor belt was modelled in 3D using 3DS Max and rendered at the required angle.  The final model is actually the same one I used when I built the original video mock up, it just received a bit of a texture makeover!</p>
<p>The level HUD design was also a simple process which went through minimal changes.  We stuck with a similar colour scheme that was introduced in the original mock ups.  The size was altered and we ditched some of the original icons which were replaced by the new ‘speed up’ and ‘slow down’ buttons.  The figure Guide Monitor was scaled down slightly and given a change of colour towards the end of development to give the player a little more room for manoeuvre.  We also decided to make the monitor slightly more transparent so the player would be able to see Tic Toc more clearly if he ended up in that area of the screen.</p>
<p>&nbsp;</p>
<p><strong>Character Design</strong></p>
<p>While the tech for Tic Toc was being developed, we tested each level using a faceless ‘mannequin’.  Shortly after this process had started, I decided to start work on giving this little guy a bit of personality.  To be honest, Tic Toc’s face didn’t take too long to come up with.  I drew a lot of inspiration from Pixar, Disney and studio ghibli features, all of which use friendly, wide eyed, larger than life characters, something I wanted to include in our (yet to be named) Hero.  The decision to use multiple unlockable costumes was something we all decided would be a good idea quite early on in development and after coming up with head and facial design it was just a question of deciding which ones would work best.  Again, this was quite a straightforward process.  Sticking with the random dream theme, we were able to design a hand full of off the wall, crazy outfits (with more to come) that really suited Tic Toc’s personality!</p>
<p><a href="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img12.jpg" rel="lightbox[588]"><img class="alignnone size-full wp-image-596" title="img12" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img12.jpg" alt="img12 The art of Tic Toc Body Pop" width="570" height="441" /></a></p>
<p>A selection of costumes from Tic Toc’s wardrobe.</p>
<p><strong>Menu Design</strong></p>
<p>By November 2010, we were all very happy with the direction the game was heading.  Most of the levels had been built and figure tech was pretty much there.  So the final phase of the artwork was the frontend design.  At this point I was thankful we had come up with the whole dream theme as I thought this would be great to base the design work around.</p>
<p><a href="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img13.jpg" rel="lightbox[588]"><img class="alignnone size-full wp-image-597" title="img13" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img13.jpg" alt="img13 The art of Tic Toc Body Pop" width="567" height="192" /></a></p>
<p>&nbsp;</p>
<p>Using Tic Toc’s bedroom as the main menu seemed like quite an obvious solution and I think it was the right decision.  As it was a bedroom, using a wardrobe to link to the outfit selection screen also seemed like an obvious choice.  You’ll notice that the TTBP logo is quite similar to the original rough.  I wanted something fun and cartoony and I think this style suits the game really well.</p>
<p>As we have 30 levels in the current version of the game (with more planned in future updates) we thought it would be best to orgainise every 10 levels into level ‘sets’.  As each level is a dream, we decided it would be a cool idea for Tic Toc to drop off to sleep when you press the ‘play’ button.  When this happens the player is taken to the set selection menu.  Here are a few early roughs of this menu.</p>
<p><a href="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img15.jpg" rel="lightbox[588]"><img class="alignnone size-full wp-image-598" title="img15" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img15.jpg" alt="img15 The art of Tic Toc Body Pop" width="567" height="192" /></a></p>
<p>&nbsp;</p>
<p>After pressing a set, the player is then taken on to the actual level selection screen.  For this I wanted something pretty simple and easy to understand.  I also thought it would be useful to show a little preview of each unlocked level on the level buttons.</p>
<p><a href="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img17.jpg" rel="lightbox[588]"><img class="alignnone size-full wp-image-599" title="img17" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img17.jpg" alt="img17 The art of Tic Toc Body Pop" width="567" height="192" /></a></p>
<p>&nbsp;</p>
<p>As you can see, the original version of the level selection screen uses much larger level numbers and padlocks, both of which obscure the preview image.  The final version works a lot better.</p>
<p>So there you have it.  There are a few other bits and bobs I’d like to write about, but I think I’ll leave those for another time.  It might be quite cool to chat about some specific art techniques relating to some of the weird characters featured in the TTBP universe in a future blog so watch this space!  I’ll finish up with a montage of various character concepts which you may find interesting.  Thanks for reading and I hope you’ve enjoyed the ramblings of a first time blogger.</p>
<p><a href="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img19.jpg" rel="lightbox[588]"><img class="alignnone size-full wp-image-600" title="img19" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/img19.jpg" alt="img19 The art of Tic Toc Body Pop" width="496" height="701" /></a></p>
<p><strong> </strong></p>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/zh9O9piEaqs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2011/06/25/the-art-of-tic-toc-body-pop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2011/06/25/the-art-of-tic-toc-body-pop/</feedburner:origLink></item>
		<item>
		<title>The history of Tic Toc Body Pop</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/ry4rlEIWZOg/</link>
		<comments>http://www.fourdoorlemon.com/2011/06/11/the-history-of-tic-toc-body-pop/#comments</comments>
		<pubDate>Sat, 11 Jun 2011 22:33:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development News]]></category>
		<category><![CDATA[iDevBlogADay]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=576</guid>
		<description><![CDATA[&#160; I&#8217;m taking what may seem a bit of a lazy approach to a blog today by talking about our latest release which came out this Thursday 9th June. I&#8217;m going to try and cover the history of the game which is possibly a bit longer than people would imagine. Hopefully people trying the game [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>I&#8217;m taking what may seem a bit of a lazy approach to a blog today by talking about our latest release which came out this Thursday 9th June. I&#8217;m going to try and cover the history of the game which is possibly a bit longer than people would imagine. Hopefully people trying the game will realise that a lot of effort has gone into us trying to get everything right with it that we can.</p>
<p>&nbsp;</p>
<p>The game idea was originally conceived by Simon Butler (see his website <a href="http://www.simonbutlerart.co.uk/">here </a>and get in touch with him if you need some great artwork), a great artist and friend who we&#8217;ve worked with for many years.</p>
<p>The original text description had a few major differences to the final game</p>
<ul>
<li>Possibility of two figures to fit through holes at once</li>
<li>Pickups that come along the conveyor to provide the speed up / slow down abilities</li>
</ul>
<p>Coupled with the description Simon had also produced a mockup video which we&#8217;re showing here for the first time</p>
<p><a href="http://www.youtube.com/watch?v=E2rvm-O3-Eg"><img src="http://img.youtube.com/vi/E2rvm-O3-Eg/2.jpg" title="The history of Tic Toc Body Pop" alt="2 The history of Tic Toc Body Pop" /></a></p>
<p><a href="http://www.youtube.com/watch?v=E2rvm-O3-Eg">Click here</a> to view the video on YouTube.</p>

<p>Compared to a shot from the game as it is now</p>
<p><a href="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/iphone_ss_14.png" rel="lightbox[576]"><img class="alignnone size-medium wp-image-577" title="TTBP iPhone shot" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/iphone_ss_14-300x200.png" alt="iphone ss 14 300x200 The history of Tic Toc Body Pop" width="300" height="200" /></a></p>
<p>&nbsp;</p>
<p>You can see the UI was a bit more complicated than it is now and at this stage we didn&#8217;t have the awesome art style that Simon developed along with the Tic Toc character. It certainly had the craziness aspect and the Abraham Lincoln character popping in was great but we decided to drop (for now) from the full game.</p>
<p>This original video + text description were sent across on 14th July 2010, we discussed the ideas for a few months before having original prototypes around the inverse kinematics we were going to use to help the control system only be driven by the ends of the limbs.</p>
<p>Simon had the first 50 levels of the game put together very quickly and we had what seemed like most of the final assets by November, the implementation was still in a very early phase at this point due to other project commitments. We were however talking regularly about the plans and design for the project.</p>
<p>In January we started showing the game mockups around to people  and getting a bit of feedback we also started working out the interface elements and arranging the game structure. We wanted to be familiar and try and emulate what Cut The Rope / Angry Birds (and many other games before them on other platforms) have done well in terms of the sets of levels and the simple advancement method that still encourages replayability  by giving you a gold/silver/bronze type achievement status per level.</p>
<p>In early February the implementation was working well and we had a nice data driven system for putting all the levels together, we also integrated the music for each of the levels (each level has its own short loop to match the level theme). We also established the logo for the game and introduced the concept of the unlockable costumes.</p>
<p>At this stage we also killed off the initial idea of walls that rotate to provide an extra challenge as with the obstacles we had on later levels the game was fairly hard as it was!</p>
<p>During March / April we performed a LOT of tweaking of the levels, our main fear during this time was making it too hard a game as many of you will know when developing a game it&#8217;s easy to start mastering it and then tweaking it to challenge yourself but then anyone new to the game faces an impossible task.</p>
<p>We integrated OpenFeint (who have been great to work with) and finished off essentials like the app icon, below is only one of the many pages of icons that Simon produced before we got to the final app icon.</p>
<p><a href="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/app_icons.jpg" rel="lightbox[576]"><img class="alignnone size-medium wp-image-579" title="TTBP icons" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/app_icons-300x222.jpg" alt="app icons 300x222 The history of Tic Toc Body Pop" width="300" height="222" /></a></p>
<p>&nbsp;</p>
<p>May and the game is pretty much done, we&#8217;ve also been working on reducing the size of the game significantly and Phil performed his research into the simple but effective methods mentioned in the<a href="http://www.fourdoorlemon.com/2011/05/28/sprite-compression/"> last blog post </a>I did. We switched to zlib at the time as we wanted to keep the graphics lossless while we tested and evaluated other methods further which is why the game upon release is a fairly large 149mb.</p>
<p>I do believe that this could be a concern for us in terms of selling a lot of copies with it to start with and we do plan to reduce this down in the future (and also make some slight tradeoffs for &lt;20mb lite versions if we choose to release one) however with the effort put into the art style I felt we should show it off the best we can upon release and try not to trade off on that.</p>
<p>Speaking of the artwork I&#8217;m going to leave it for another blog post but we have a lot of in progress art images that would be great to show, some of these show the subtle tweaks we made to the menus and level graphics which I believe have left us with a very polished feeling game.</p>
<p>At this point we were ready for submission, our final hurdle was some approval problems in terms of our OpenFeint use causing some concern with the Game Center features we were advertising, we got this turned around in about a week and ready to launch 6 days later. This delay unfortunately pushed us into WWDC/E3 week but we felt that we should still get launched.</p>
<p>We&#8217;re expecting slightly slow sales to start with but our marketing push has begun and we&#8217;ll hopefully see more of this coming online the next few weeks. From that the game should pick up a bit and get up the charts, if it doesn&#8217;t we&#8217;ll be pushing out a Lite version and trying some different tactics.</p>
<p>I hope you&#8217;ve enjoyed this brief (and hopefully interesting) look at the development of Tic Toc Body Pop and please try the game &#8211; available for 59p/99c for a limited time .</p>
<p><a title="Tic Toc Body Pop iOS (US store)" href="http://bit.ly/ttbpios" target="_blank"><img class="alignnone size-full wp-image-578" title="TTBP icon" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/06/114x114_icon.png" alt="114x114 icon The history of Tic Toc Body Pop" width="114" height="114" /></a></p>
<p>Click the icon for a link to the App Store.</p>
<p>Also a big thanks to our programmer Lewis for his pretty much solo work on most of the project and Gary, Phil and the rest of the team for their contributions in either tech or feedback.</p>
<p>&nbsp;</p>
<p><strong>Things we&#8217;ve been enjoying this week</strong></p>
<ul>
<li><a href="http://blog.mjrusso.com/2010/10/17/redis-from-the-ground-up.html">http://blog.mjrusso.com/2010/10/17/redis-from-the-ground-up.html</a>
<ul>
<li>Interesting look at REDIS and how it is built</li>
</ul>
</li>
</ul>
<ul>
<li>Tic Toc Body Pop &#8211; oops mentioned it again <img src='http://www.fourdoorlemon.com/wp-includes/images/smilies/icon_wink.gif' alt="icon wink The history of Tic Toc Body Pop" class='wp-smiley' title="The history of Tic Toc Body Pop" /> </li>
</ul>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/ry4rlEIWZOg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2011/06/11/the-history-of-tic-toc-body-pop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2011/06/11/the-history-of-tic-toc-body-pop/</feedburner:origLink></item>
		<item>
		<title>Sprite compression</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/VuHiWsRj0E4/</link>
		<comments>http://www.fourdoorlemon.com/2011/05/28/sprite-compression/#comments</comments>
		<pubDate>Sat, 28 May 2011 21:41:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iDevBlogADay]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=567</guid>
		<description><![CDATA[Hello! I was hoping to discuss our new title announcement in todays blog but unfortunately we&#8217;re waiting on the app review so we&#8217;ll be announcing early next week instead. Credit for the topic of todays blog goes to our awesome long-serving coder Phil Jones (@logicstorm) who did the work on the system, some brief tests [...]]]></description>
			<content:encoded><![CDATA[<p>Hello!</p>
<p>I was hoping to discuss our new title announcement in todays blog but unfortunately we&#8217;re waiting on the app review so we&#8217;ll be announcing early next week instead.</p>
<p>Credit for the topic of todays blog goes to our awesome long-serving coder Phil Jones (<a href="http://www.twitter.com/logicstorm">@logicstorm</a>) who did the work on the system, some brief tests and produced the graphs for the team.</p>
<p>Our internal 2D framework is predictably focused around sprites. We have a sprite bank tool that imports various image files (both for single images and series of images making up animations), it then analyses, splits and packs these.</p>
<p>The build process</p>
<ul>
<li>Removes blank space from any      sprite (and stores an offset to compensate for the blank space)</li>
<li>Breaks down each sprite into      cells (varies per platform but likely 64&#215;64)</li>
<li>Each of these cells is then      stored in sprite pages (again varies but 256&#215;256 on iPhone)</li>
<li>Cells that are identical to      ones elsewhere in the spritebank are only stored once (so an image of flat      colour repeated elsewhere or a static part of an animated image won&#8217;t be      duplicated in the pages)</li>
<li>For a frame of a sprite      animation (or for a static sprite) we then store a list of cells that make      up that sprite and the offsets to render them at.</li>
<li>We then compress each of the      pages and store to file.</li>
</ul>
<p>&nbsp;</p>
<p>This system has been used by us very successfully over the years and has helped us package up lots of assets into some of our NDS games while performing real-time streaming + decoding of more complex animations.</p>
<p>The original compression method we used was <a href="http://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Storer%E2%80%93Szymanski">LZSS </a>, this decoded very fast and had pretty good results for us on NDS.</p>
<p>We still use the same sprite framework on our current 2D games pretty successfully, we&#8217;ve found however that we&#8217;ve needed to get the size of our sprite banks down a bit further and with increased CPU power available to us Phil investigated using JPG / Zlib / PNG and a combination of these (NOTE: No actual PNG tests were done but we compare to the source asset in PNG form).</p>
<p>The only change we need to make is by applying a different compression method in our sprite bank tool (we already supported uncompressed so it&#8217;s just a case of storing the type of compression used for each sprite page), on use of a sprite at runtime we lookup the sprite page needed, load it from file, decompress to RAM and then pass to GL/DirectX for use.</p>
<p>As mentioned most of the test was only across a single large image file , the graph below shows the compressed sizes of the sprite banks versus the source PNG. For the alpha in the image for JPG encoding we tried two methods PNG stored alpha and zlib alpha.</p>
<p><a href="http://www.fourdoorlemon.com/wp-content/uploads/2011/05/graph1.png" rel="lightbox[567]"><img class="alignnone size-full wp-image-568" title="graph1" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/05/graph1.png" alt="graph1 Sprite compression" width="563" height="450" /></a></p>
<p>We did produce some data across a full project to show that these results are pretty similar across a more varied data set.</p>
<p><a href="http://www.fourdoorlemon.com/wp-content/uploads/2011/05/graph2.png" rel="lightbox[567]"><img class="alignnone size-full wp-image-569" title="graph2" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/05/graph2.png" alt="graph2 Sprite compression" width="549" height="427" /></a></p>
<p>JPEG is obviously lossy unlike our other methods used, the above graphs are produced at 75% quality level. We did some testing at various quality levels to show the jpeg artefacts introduced versus the source.</p>
<p><a href="http://www.fourdoorlemon.com/wp-content/uploads/2011/05/qualitygrid.png" rel="lightbox[567]"><img class="alignnone size-full wp-image-570" title="qualitygrid" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/05/qualitygrid.png" alt="qualitygrid Sprite compression" width="400" height="300" /></a></p>
<p>Below 80% the results aren&#8217;t too great for a high quality asset and it isn&#8217;t great introducing some of these errors in our very pretty artwork.</p>
<p>Let us have a look at how the quality compares to file sizes to see how much tweaking the level could improve things.</p>
<p><a href="http://www.fourdoorlemon.com/wp-content/uploads/2011/05/graph4.png" rel="lightbox[567]"><img class="alignnone size-full wp-image-571" title="graph4" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/05/graph4.png" alt="graph4 Sprite compression" width="547" height="308" /></a></p>
<p>Decoding time is very important to us (though can be hidden by  precaching during loading screens / streaming). The impressive speed of Sean Barrett&#8217;s stb_image versus libjpeg/libpng is shown in this chart.  It also shows that perhaps we should have considered zlib previously in our sprite system (though the NDS might have a different performance profile with zlib versus lzss).</p>
<p><a href="http://www.fourdoorlemon.com/wp-content/uploads/2011/05/graph3.png" rel="lightbox[567]"><img class="alignnone size-full wp-image-572" title="graph3" src="http://www.fourdoorlemon.com/wp-content/uploads/2011/05/graph3.png" alt="graph3 Sprite compression" width="522" height="398" /></a></p>
<p>Across the size and decode speed results then jpeg rgb + zlib alpha is a massive improvement on our current LZSS. We&#8217;re looking at using 85%-90% for our jpeg compression quality level for final game assets.</p>
<p>&nbsp;</p>
<p>Further things to try</p>
<ul>
<li>We didn&#8217;t try any of the      pngcrush tools, we have used this before as a separate process and it has      gained 30-40% savings on some alpha PNG images . We could have also tried      this on a pure PNG spritebank storage method, it should beat the source      PNG assets by a fair bit.</li>
</ul>
<ul>
<li>Vector assets! We&#8217;re aiming      not to be using purely bitmap assets for much longer, especially for some      of the artwork on current projects (which would adapt well).</li>
</ul>
<p>&nbsp;</p>
<p><strong>Things we&#8217;ve been enjoying this week</strong></p>
<ul>
<li><a href="http://www.gamasutra.com/view/feature/6387/unsocial_social_games.php?print=1">http://www.gamasutra.com/view/feature/6387/unsocial_social_games.php?print=1</a>
<ul>
<li>Interesting article on       &#8216;social&#8217; games and suggestions on how the could be improved</li>
</ul>
</li>
</ul>
<ul>
<li><a href="http://www.simoncarless.com/?p=220">http://www.simoncarless.com/?p=220</a>
<ul>
<li>Simon Carless       (<a href="http://twitter.com/simoncarless">@simoncarless</a>) blogging a little about the state of things in China at       the moment</li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/VuHiWsRj0E4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2011/05/28/sprite-compression/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2011/05/28/sprite-compression/</feedburner:origLink></item>
		<item>
		<title>Remix!</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/ykYRreyGfYk/</link>
		<comments>http://www.fourdoorlemon.com/2011/05/14/remix/#comments</comments>
		<pubDate>Sat, 14 May 2011 22:29:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[iDevBlogADay]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=557</guid>
		<description><![CDATA[Hello! It&#8217;s great to be back on the iDevBlogADay cycle, it&#8217;s quite amusing that @FredericTessier and I return together as we were the Saturday pairing several months back. I&#8217;m also pleased to see that the success of iDevBlogADay (great work @mysterycoconut) has also spawned  the very successful AltDevBlogADay (credit to @mike_acton for that) I hope [...]]]></description>
			<content:encoded><![CDATA[<p>Hello!</p>
<p>It&#8217;s great to be back on the <a href="http://idevblogaday.com/">iDevBlogADay</a> cycle, it&#8217;s quite amusing that <a href="https://twitter.com/#%21/FredericTessier">@FredericTessier</a> and I return together as we were the Saturday pairing several months back.</p>
<p>I&#8217;m also pleased to see that the success of iDevBlogADay (great work <a href="https://twitter.com/#%21/mysterycoconut">@mysterycoconut</a>) has also spawned  the very successful <a href="http://altdevblogaday.org/">AltDevBlogADay</a> (credit to <a href="https://twitter.com/#%21/mike_acton">@mike_acton</a> for that)</p>
<p>I hope to provide some interesting articles in the coming months, any questions or requests would be appreciated via email or twitter as before so please get in touch.</p>
<p>Since we last posted it&#8217;s been an interesting and exciting time for Four Door Lemon but it hasn&#8217;t seen a large amount of releases from us. We have two new games to announce in the coming weeks as well as updates to some of our existing titles.</p>
<p>&nbsp;</p>
<p><strong>Todays article</strong></p>
<p>Today I&#8217;m going to write around the topic of updating and &#8216;remixing&#8217; of existing games.</p>
<p>This is a topic which I&#8217;ve been thinking about a lot with our previous work as a company as well as our released games on iOS and I was reminded about it when attending <a href="http://www.gamehorizon.net/go-go-games/">Go Go Games</a> this week.</p>
<p>Both Renate Nyborg <a href="https://twitter.com/#%21/renate">@renate</a> (Metro Apps) and Matt &#8216;Mills&#8217; Miller <a href="https://twitter.com/#%21/millsustwo">@millsustwo</a> discussed titles that they&#8217;d previously released and had remixed with either new business models (paid -&gt; freemium or just entirely free and added cross promotion) or had integrated brands into them.</p>
<p>In the case of ustwo the integration of other IP wasn&#8217;t hugely successful financially but as Mills noted these apps possibly increased their profile on the device even further and gained them some great work-for-hire projects.</p>
<p>We&#8217;ve not been quite as quick to actually act on our hunches with what to do along these lines and it&#8217;s only now that we&#8217;re close to actually putting into actions some of the changes to hopefully improve our catalogue further.</p>
<p>&nbsp;</p>
<p><strong>So what sort of remixing of our existing products can we perform?</strong></p>
<p>Let&#8217;s say we have unreleased game prototypes, released games which are in later stages of their life cycle (but perhaps still doing ok due to the Long Tail nature of digital distribution marketplaces) plus some games no longer selling due to them being on defunct platforms. What options should we consider for each of these to develop our business?</p>
<p>&nbsp;</p>
<ul>
<li>Apply a new business model</li>
</ul>
<p>&nbsp;</p>
<p>There are many different ways to charge for content nowadays (Freemium, Ad-supported, Lite + Paid, Cheaper paid price + In-App purchases to name a few) , all of which are understood by customers and looking at <a href="http://148apps.biz/40-of-games-are-free-with-in-app-purchases-says-xyologic/">certain stats</a><a href="http://148apps.biz/40-of-games-are-free-with-in-app-purchases-says-xyologic/"></a> it seems some are more popular than others.</p>
<p>It may be that your game was originally a very simple straight up purchase, perhaps due to the current consumer pricing expectations people who would potentially love your game are overlooking you. Adopting a new business model is a risk but there have been a lot of success stories especially with the freemium and ad-supported models.</p>
<p>If your current paid app isn&#8217;t making money for you making it freemium isn&#8217;t that much of a risk and at minimum will increase your userbase to help cross-sell new games to them!</p>
<p>&nbsp;</p>
<ul>
<li>Find an IP which might boost      the profile of the product further</li>
</ul>
<p>&nbsp;</p>
<p>Standing out from the crowd can be hard, brands come with an existing fanbase and possibly marketing support that can raise the games profile.</p>
<p>Hopefully your game mechanic fits perfectly with the brand otherwise there may be no connection for fans of the brand to make and other than initial hardcore fans who buy anything with a certain brand on it you&#8217;ll not see much traction.</p>
<p>If you have a great game which would benefit from a certain type of endorsement then giving away 10-30% of a larger amount of revenue could certainly be worth it and may open other doors to you in terms of revenue generation or licensing.</p>
<p>&nbsp;</p>
<ul>
<li>Re-release / Re-promote at a      more applicable time of year</li>
</ul>
<p>&nbsp;</p>
<p>Unlucky timing releasing on certain markets can mean that your app may be hidden during another companies sales promotion or big IP releases, larger console marketplaces would traditionally help advise on release dates to avoid whereas markets such as iOS can be a bit more of a free for all.</p>
<p>Seasonal events or events relating to your app may provide an opportunity for the marketplace to feature you at that time or simply for more users to be looking for apps of that type, increasing your marketing at this time is something that should be planned for.</p>
<p>&nbsp;</p>
<ul>
<li>Retarget (port to other      platforms)</li>
</ul>
<p>&nbsp;</p>
<p>Certainly very applicable with the huge amount of emerging platforms and marketplaces, with technology requirements being fairly consistent behind most of them this makes moving products to other platforms relatively easy if planned correctly.</p>
<p>It may also be that your game doesn&#8217;t fit a particular control method or gameplay session length (i.e. a short burst game on PC/Mac right now would make a perfect iPhone/iPod game for commutes?).</p>
<p>&nbsp;</p>
<ul>
<li>Retry? Apply more polish.</li>
</ul>
<p>&nbsp;</p>
<p>Perhaps the first iteration of the product wasn&#8217;t quite as good as it could have been which is why it missed the mark. Making sure to learn from feedback from gamers who did play the original adjust and re-release the game either as a sequel or as an update.</p>
<p>Expectations are very high now with &#8216;AAA&#8217; quality games such as Angry Birds, Flight Control, Cut The Rope, Infinity Blade and Plants vs Zombies. Fixing all those little niggly issues is very important to make sure your game is a polished high quality experience.</p>
<p>&nbsp;</p>
<p><strong>How do you make your decision?</strong></p>
<p>Some of these changes could be costly to implement or perhaps backtracking could be detrimental to the product or your business, how do you build up enough evidence to support the decision being made.</p>
<p>A couple of ideas..</p>
<p>&nbsp;</p>
<ul>
<li>Look at other similar products</li>
</ul>
<p>&nbsp;</p>
<p>If you&#8217;re the only game of a certain type then hopefully you don&#8217;t have any problems to solve &#8211; if you do have competitors then look at their history, their communities, the business models they use, promotion tactics they have in place. Do there decisions match with your thinking, are they missing a trick?</p>
<p>&nbsp;</p>
<ul>
<li>Look at your own product and its analytics</li>
</ul>
<p>&nbsp;</p>
<p>Analytics really help reaffirm business model decisions, knowing how many active players you have, how long they play for, where they are in the world, perhaps their demographics in terms of age/gender can drive the choice you make on your next steps.</p>
<p>Be sure to consider the design of your product though and that you&#8217;re not betraying your original vision.</p>
<p>&nbsp;</p>
<ul>
<li>Talk to your users</li>
</ul>
<p>&nbsp;</p>
<p>While analytics are great for remotely monitoring your users actual actions it can still be worth talking to users about your proposed changes, they may have suggestions you&#8217;ve not considered to help you improve the product and those requested improvements may give you a much easier way to improve the product as well as increase the earning potential for your business.</p>
<p>&nbsp;</p>
<p><strong>Conclusion</strong></p>
<p>Fire and forget is no longer a sensible approach for games development and publishing. All finished (and unfinished) games have value. Evaluating opportunities for all of your projects should be a regular exercise as with a slightly different approach each could be a commercial or critical success beyond their current realisation.</p>
<p>&nbsp;</p>
<p><strong>Things we&#8217;ve been enjoying recently</strong></p>
<ul>
<li><a href="http://altdevblogaday.org/">http://altdevblogaday.org/</a>
<ul>
<li>Most likely something people are already familiar with, another great regular resource of interesting blog posts from some very talented people.</li>
</ul>
</li>
</ul>
<ul>
<li><a href="http://directtovideo.wordpress.com/2011/05/03/numb-res/">http://directtovideo.wordpress.com/2011/05/03/numb-res/</a>
<ul>
<li>Article by Smash / Matt Swoboda on &#8216;numb res&#8217; and some of the effects including their use of realtime SPH simulation on GPU.</li>
</ul>
</li>
</ul>
<ul>
<li><a href="http://www.lostgarden.com/2011/05/blunt-critique-of-game-criticism.html">http://www.lostgarden.com/2011/05/blunt-critique-of-game-criticism.html</a>
<ul>
<li>Interesting read on game criticism.</li>
</ul>
</li>
</ul>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/ykYRreyGfYk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2011/05/14/remix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2011/05/14/remix/</feedburner:origLink></item>
		<item>
		<title>Indie studios part 3</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/i1Fh0yC-kOM/</link>
		<comments>http://www.fourdoorlemon.com/2010/12/25/indie-studios-part-3/#comments</comments>
		<pubDate>Sat, 25 Dec 2010 19:35:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iDevBlogADay]]></category>
		<category><![CDATA[idevblogaday]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=538</guid>
		<description><![CDATA[Merry Christmas everyone! Further &#8216;Indie Studios&#8217; questions A follow up to the previous posts here and here. This time the questions are from Alex Champandard, owner of AiGameDev (http://aigamedev.com/) a truly brilliant site for anything to do with AI in Games. We&#8217;re big fans of the site and were proud to be bronze sponsor for [...]]]></description>
			<content:encoded><![CDATA[<p>Merry Christmas everyone!</p>
<p><strong>Further &#8216;Indie Studios&#8217; questions</strong></p>
<p>A follow up to the previous posts <a href="http://www.fourdoorlemon.com/2010/11/27/indie-studio-considerations/">here</a> and <a href="http://www.fourdoorlemon.com/2010/12/11/indie-studios-pt-2/">here</a>.</p>
<p>This time the questions are from Alex Champandard, owner of AiGameDev (<a href="http://aigamedev.com/">http://aigamedev.com/</a>) a truly brilliant site for anything to do with AI in Games. We&#8217;re big fans of the site and were proud to be bronze sponsor for their Paris Conference earlier in the year.</p>
<p><strong><em>How many of      the skills that you need to run FDL have you built up while running      FDL?  Which came the most easily and      which was the hardest?</em></strong></p>
<p>I think the easy answer is all of them to be honest &#8211; previously I worked in a joint lead / senior programmer (with some production!) role so the running of a business and the business development side was fairly new to me. I&#8217;d done some project pitches before and had been exposed to some of the financial side of things but that was it.</p>
<p>When we started FDL we believed it was important to understand everything we were going to delegate (either externally to experts / consultants or internally to other employees).</p>
<p>This meant we quickly built up an understanding of accounts, bookkeeping, taxation, contracts, negotiation as well as things like health &amp; safety and employment law. I&#8217;ve also had to develop further in terms of business development, networking and working with clients.</p>
<p>Personally I didn&#8217;t really find anything particularly hard it was more case of how much time it took up performing particular administration processes as either I was being extra careful with things or having to triple check things myself or with other people.</p>
<p><strong><em>Have you      taken courses, read books, listened to audio programs to help develop the      skills you needed?  Which would you      recommend the most?</em></strong></p>
<p>Before we set up the company I got hold of all the books / audiobooks covering small businesses that I could (especially books on Micro-ISVs  and general software consultancies &#8211; as not many game developers spoke about running a business when we started). I also read all the forums and articles I could find covering the accounts, taxation, contracts and other areas &#8211; taking it all with a pinch of salt but storing it up for later.</p>
<p>This approach of absorbing information from a large amount of sources and then distilling the applicable information by seeing what made sense when we were working on things in practice.</p>
<p>We also had some great advice from friends in the industry and from some of our advisers in the administration aspects of things.</p>
<p>There seems to be a lot more information around now in terms of running a micro studio (which is what most people are interested in).</p>
<p><strong><em>How often,      do you have the time to take a step back and think about yourself or the      company in a very strategic fashion?</em></strong></p>
<p>Not as much time as I&#8217;d have liked sometimes in the past especially when heavily involved in the development and production process of an on-going project. This is the main reason a lot of companies our size have gotten stuck in a pure work-for-hire loop in the past I believe.</p>
<p>We have improved in this regard and this has become part of other monthly business reviews.</p>
<p><strong><em>Do you give      out bonuses?  Have you considered      profit &amp; risk sharing on certain projects with your contractors or      staff?</em></strong></p>
<p>Yes we try to do as much as we can in both regards. We&#8217;ve had a tough couple of years due to a few clients going bust and a few products not performing quite as well as we wanted but we still try to pay out bonuses when we can. As we&#8217;ve developed as a company and tried to do more of our own projects using bonuses is safer for the longer term future of the company than offering unrealistic salaries (without taking on extra risk or needing additional financing to cover between projects). I think the fact we&#8217;re coming up to 6 years in business shows that things are working well.</p>
<p>We do already have profit sharing agreements with contractors and have a few titles out in 2011 with one of our long-term artist contractors, likewise some of our internal team have a profit share in our projects. We plan to continue these sort of arrangements as it&#8217;s great for everyone and very exciting in terms of the slightly bigger risks we can take.</p>
<p>We&#8217;re not a big (or even medium!) corporate so we&#8217;re keen to look after the team as best we can and ensure that everyone is happy within the company.</p>
<p><strong><em>How do you      hire in general, not just artists?       Do you find it more difficult to convince recruits to work for FDL      over a bigger studio or publisher?</em></strong></p>
<p>We get quite a lot of job applications just through the fact we&#8217;ve been around a while and are linked on quite a few sites as a developer. We also occasionally post on games development forums when we&#8217;re looking for developers</p>
<p>We tend to grow our full-time internal staff fairly slowly so we&#8217;ve not actually encountered many problems, the main form of temporary expansion for us comes from short to medium term contractors (and normally ones we&#8217;ve worked with in the past &#8211; in 2008 we had on average 15 people working for us including contractors) where as long as the project is interesting enough and the contract terms suit them in terms of length and rate then everyone is generally happy.</p>
<p>This upcoming year we&#8217;re looking to expand further and we&#8217;ll perhaps be seeing how much things have changed!</p>
<p>Thanks for the great questions Alex!</p>
<p><strong>#iDevBlogADay &#8211; good bye for now</strong></p>
<p>This is going to be my last post on the Saturday iDevBlogADay slot, I&#8217;m going to let one of the many patient people on the waiting list take over.</p>
<p>I&#8217;ve really enjoyed writing the weekly blog posts, hats off to @mysterycoconut for some great organisation and hardwork behind the scenes on it. I have never really blogged at all before and though it&#8217;s taken a bit longer than I originally intended per post it&#8217;s been a great experience!</p>
<p>I plan to request being added to the waiting list again and I aim to do a few more regular updates here so please perform one (or all) of the following to keep up with our latest news and posts.</p>
<ul type="disc">
<li>Subscribe to our <a href="http://feeds.feedburner.com/FourDoorLemon">RSS feed</a></li>
<li>Follow us on <a href="http://www.twitter.com/fourdoorlemon">twitter</a></li>
<li>Like us on <a href="http://www.facebook.com/fourdoorlemon">Facebook</a></li>
</ul>
<p><strong>Things we&#8217;ve been enjoying this week</strong></p>
<ul type="disc">
<li><a href="http://kaikaiwang.blogspot.com/">http://kaikaiwang.blogspot.com/</a>
<ul type="circle">
<li>Some interesting blog posts       from <a href="http://twitter.com/#!/rexguo">@rexguo</a> on GPU based ray/path/photon tracing</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://mindflock.com/2010/12/designing-game-user-interfaces/">http://mindflock.com/2010/12/designing-game-user-interfaces/</a>
<ul type="circle">
<li>A blog from Phil Carlisle       (<a href="http://twitter.com/#!/zoombapup">@zoombapup</a>) on designing UI&#8217;s in games &#8211; be sure to check out Damzel</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://kesen.realtimerendering.com/i3d2011Papers.htm">http://kesen.realtimerendering.com/i3d2011Papers.htm</a></li>
</ul>
<ul type="disc">
<li><a href="http://kesen.realtimerendering.com/eg2011Papers.htm">http://kesen.realtimerendering.com/eg2011Papers.htm</a>
<ul type="circle">
<li>I3D and Eurographics papers       starting to appear</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://digital-examples.posterous.com/11-trends-for-2011">http://digital-examples.posterous.com/11-trends-for-2011</a>
<ul type="circle">
<li>Some opinions on digital       media trends for 2011</li>
</ul>
</li>
</ul>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 1501px; width: 1px; height: 1px;">http://www.facebook.com/fourdoorlemon</div>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/i1Fh0yC-kOM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2010/12/25/indie-studios-part-3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2010/12/25/indie-studios-part-3/</feedburner:origLink></item>
		<item>
		<title>Compiler flags (+ LLVM GCC)</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/Nj0n5nCoMBk/</link>
		<comments>http://www.fourdoorlemon.com/2010/12/19/compiler-flags-llvm-gcc/#comments</comments>
		<pubDate>Sun, 19 Dec 2010 00:46:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iDevBlogADay]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=534</guid>
		<description><![CDATA[We&#8217;re in crazy pre-Holiday mode at Four Door Lemon right now, we&#8217;ve got a couple of exciting things to mention before getting onto the post! QuizQuizQuiz our popular trivia app is currently FREE for the rest of the weekend &#8211; please download it now and tell your friends Also Cricket Captain which is the source [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re in crazy pre-Holiday mode at Four Door Lemon right now, we&#8217;ve got a couple of exciting things to mention before getting onto the post!</p>
<ul type="disc">
<li><a href="http://bit.ly/qqqiphone">QuizQuizQuiz </a>our popular      trivia app is currently FREE for the rest of the weekend &#8211; please download      it now and tell your friends <img src='http://www.fourdoorlemon.com/wp-includes/images/smilies/icon_smile.gif' alt="icon smile Compiler flags (+ LLVM GCC)" class='wp-smiley' title="Compiler flags (+ LLVM GCC)" /> </li>
</ul>
<ul type="disc">
<li>Also <a href="http://bit.ly/cciphone">Cricket Captain</a> which is      the source of the research for this article was approved tonight and is now available &#8211; if you like Cricket this is the management game to have &#8211; including 3d highlights and a great simulation engine.</li>
</ul>
<p><strong>Compiler flags</strong></p>
<p>I&#8217;ve worked on pretty much every game platform compiler setup in my time in the industry, for some platforms that actually covers working with 3-4 different variations while the teams found the best code generation for their device.</p>
<p>There are always discussions between developers on what *the* best set of compiler flags are to use for optimum speed of your game (which other than executable size for the more RAM limited devices) is the main goal of development work. Normally the gains from tweaking with these can be very small but I remember features like LTCG on Xbox 1 being incredibly big in terms of the speed up.</p>
<p>We recently submitted Cricket Captain to the App Store and other than -O3 and -Os I didn&#8217;t actually do any testing on the various flags for the compilation, the game isn&#8217;t quite as optimised as I&#8217;d like it to be yet although it plays fine and the 3d highlights run at around 30fps &#8211; we will be improving this through actual coding work (and talking about the techniques used for this).</p>
<p>It seemed ideal to combine my investigation into the XCode GCC compilers optimisation flags with writing a blog post so I used Cricket Captain as the test sample.</p>
<p>So a couple of notes on the tests</p>
<ul type="disc">
<li>The random number generator      has been forced to generate the same logic each run</li>
<li>The game mode / teams are      identical so the same logic will occur (I also verified the results came      out the same)</li>
<li>The phone was in the same      state for all tests</li>
<li>There will be some variance      due to background processes most likely</li>
<li>This isn&#8217;t intended to be      super accurate but to see if we&#8217;d get a noticeable difference from      changing these flags</li>
<li>Our render and matrix library      are compiled using -O3 into static libs and are not part of this test, I      wanted to test it on game code on the basis that people would possibly not      have access to middleware sourcecode.</li>
</ul>
<p>Let&#8217;s have a look at the results</p>
<div>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><strong>Compiler / Flags</strong></td>
<td><strong>5x Bowls time (ms)</strong></td>
<td><strong>3x 3d highlights FPS average</strong></td>
</tr>
<tr>
<td>GCC   -Os</td>
<td>1704</td>
<td>24.68666667</td>
</tr>
<tr>
<td>GCC   -O1</td>
<td>1750</td>
<td>24.52</td>
</tr>
<tr>
<td>GCC   -O1 Auto Vectorisation enabled</td>
<td><span style="text-decoration: underline;">1677</span></td>
<td><span style="text-decoration: underline;">24.96</span></td>
</tr>
<tr>
<td>GCC   -O2</td>
<td>1692</td>
<td>24.81</td>
</tr>
<tr>
<td>GCC   -O3</td>
<td>1718</td>
<td>24.85</td>
</tr>
<tr>
<td>GCC   -O3 Auto Vectorisation enabled</td>
<td>1710</td>
<td>24.67</td>
</tr>
<tr>
<td>GCC   -O3 FastFP</td>
<td>1713</td>
<td>24.74</td>
</tr>
<tr>
<td>GCC   -O3 Compile for Thumb</td>
<td>1706</td>
<td>24.80</td>
</tr>
<tr>
<td>GCC   (Max) -O3, Unroll Loops, Auto Vectorisation enabled, FastFP</td>
<td>1727</td>
<td>24.78</td>
</tr>
</tbody>
</table>
</div>
<p>Above we&#8217;re showing the flags that we tried, the total in milliseconds of the first 5 bowl calculations (this system actually runs through the movement and animation of all the fielders / batsman to calculate the actual output &#8211; note the first bowl is pretty slow in a game so is a fair part of this time possibly skewing results a little). The final column shows the average FPS across 3 3d highlights that last 5.5 &#8211; 8 seconds each.</p>
<p>For both tests we see that -O1 with auto vectorisation comes out on top, the values however are very close and the -O3 we shipped with was fairly good. The biggest surprise for me was that compile for thumb didn&#8217;t produce shocking results, I&#8217;m not really sure if that can be correct? As mentioned above our middleware was still in ARM so we&#8217;re not paying a penalty for it on some of the heavy lifting code.</p>
<p>In summary though there isn&#8217;t a huge difference between the flags and as I originally thought it&#8217;s probably not worth a huge amount of optimisation.</p>
<p><strong>LLVM GCC</strong></p>
<p>I have however been playing with the LLVM &#8211; GCC compiler in XCode 4 and despite a few issues getting 4.2.1 debugging to work correctly with it got the same tests done (running on the same device). LLVM &#8211; GCC uses the GCC frontend to parse source and the LLVM backend to optimise and generate the actual executable code. From what I read 33% performance increases were expected at runtime.</p>
<p>I did a couple of tests with various flags</p>
<div>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><strong>Compiler / Flags</strong></td>
<td><strong>5x Bowls time (ms)</strong></td>
<td><strong>3x 3d highlights FPS average</strong></td>
</tr>
<tr>
<td>LLVM   -O3 AutoVec, Unroll Loops, LinkTimeOpt</td>
<td><span style="text-decoration: underline;">874</span></td>
<td><span style="text-decoration: underline;">27.43</span></td>
</tr>
<tr>
<td>LLVM   -Os AutoVec, Unroll Loops, LinkTimeOpt</td>
<td>906</td>
<td>27.43667</td>
</tr>
<tr>
<td>LLVM   -Os AutoVec, Unroll Loops</td>
<td>907</td>
<td>26.66667</td>
</tr>
</tbody>
</table>
</div>
<p>Wow.. So that&#8217;s roughly twice as fast on the processing and a nice FPS / frametime boost. I imagine compiling our middleware with LLVM would result in even better speeds as that&#8217;s where the highlight time will be mainly going (which is partially hinted at by the fact that disabling link-time optimisation only changed the highlight speed).</p>
<p>After the GCC flag results I was worried about how interesting this post would be, the LLVM-GCC results are really exciting though and I think XCode 4 is something everyone will be looking forward to!</p>
<p><strong>Things we&#8217;ve been enjoying this week</strong></p>
<ul type="disc">
<li><a href="http://www.noupe.com/inspiration/35-stunning-example-of-concept-art.html">http://www.noupe.com/inspiration/35-stunning-example-of-concept-art.html</a>
<ul type="disc">
<li>Some awesome Concept Art       shots</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://instruct1.cit.cornell.edu/courses/ece576/FinalProjects/f2010/ss868/ss868/index.html">http://instruct1.cit.cornell.edu/courses/ece576/FinalProjects/f2010/ss868/ss868/index.html</a>
<ul type="disc">
<li>Falling sand game coded on       an FPGA. If you enjoyed these games when they were Flash apps be sure to       check out our friends &#8216;Sand Slides&#8217; game</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://www.gdconf.com/news/gdc/the_gdc_25_chronicles_a_number.html">http://www.gdconf.com/news/gdc/the_gdc_25_chronicles_a_number.html</a>
<ul type="disc">
<li>With GDC being 25 next year       old talks are being made available such as this one from 97, can&#8217;t wait       to listen to these (my first GDC was in 1999)</li>
</ul>
</li>
</ul>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/Nj0n5nCoMBk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2010/12/19/compiler-flags-llvm-gcc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2010/12/19/compiler-flags-llvm-gcc/</feedburner:origLink></item>
		<item>
		<title>Indie Studios pt 2</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/-gSblHYU0t4/</link>
		<comments>http://www.fourdoorlemon.com/2010/12/11/indie-studios-pt-2/#comments</comments>
		<pubDate>Sat, 11 Dec 2010 22:53:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iDevBlogADay]]></category>
		<category><![CDATA[idevblogaday]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=531</guid>
		<description><![CDATA[The previous Indie Studios post was quite popular and I certainly wanted to revisit the subject later on. While there is quite a bit information on setting up as a solo developer (producing their own games or as a freelancer) setting up a full team is certainly more involved (and risky) but it seems something [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.fourdoorlemon.com/2010/11/27/indie-studio-considerations/">previous Indie Studios post</a> was quite popular and I certainly wanted to revisit the subject later on. While there is quite a bit information on setting up as a solo developer (producing their own games or as a freelancer) setting up a full team is certainly more involved (and risky) but it seems something people are interested in.</p>
<p>This won&#8217;t be the last of these posts so please feel free to mail / tweet with further queries.</p>
<p>Following the last post I had a couple of questions from <a href="http://bjoernknafla.com/">Björn Knafla</a> &#8211; a great guy I met in Paris at the Game AI Conference we sponsored and his work (and talks) are well worth following.</p>
<p><strong>How do you decide who works on which active project?</strong></p>
<p>Where possible we try to talk to the team to work out where their particular passion lies regarding the portfolio of projects (be it work-for-hire or our own) and use that to guide how we assign out tasks. More technical tasks don&#8217;t really require the person to &#8216;get&#8217; a project quite as much and generally are project independent and so those are easier ones to assign to any of our team. We also use freelancers / short term contractors and we try to match up their previous projects and preferences with the work we have coming up.</p>
<p>This doesn&#8217;t always work out and certainly in the past on some of our football (soccer) related titles I&#8217;ve been the main football fan on the project and have to give a bit of guidance <img src='http://www.fourdoorlemon.com/wp-includes/images/smilies/icon_smile.gif' alt="icon smile Indie Studios pt 2" class='wp-smiley' title="Indie Studios pt 2" /> </p>
<p>As well as people being the best fit for projects obviously we also consider the skillsets of each person and previous experience needed for the tasks &#8211; the intention being to keep the same people on projects rather than spreading everyone thinly.</p>
<p><strong>What&#8217;s the typical preparation time till projects start?</strong></p>
<p>The majority of work-for-hire seem to be &#8216;can you start yesterday?&#8217; despite people knowing about their requirements for several months when they could have given you warning! Whenever new projects are first discussed we bring it up in our weekly chat so that we can consider possible implications on technology decisions we&#8217;re currently making (or even in terms of research the team is currently doing). This acts as preparation of identifying the major risks and critical path of a project.</p>
<p>In terms of our own projects we&#8217;re getting quite good at having a clear design / pre-production phase to make sure we can mock-up and iron out issues early on.</p>
<p><strong>How do you distribute tasks between the management team? (development versus administration)</strong></p>
<p>Originally with my co-founder this was done in a pretty clear way of splitting business development / administration and internal development management work. We both performed coding work most days so always had a good handle on projects.</p>
<p>Nowadays I&#8217;m the only owner of the company so I&#8217;ve just developed a cunning alter-ego that takes care of each <img src='http://www.fourdoorlemon.com/wp-includes/images/smilies/icon_smile.gif' alt="icon smile Indie Studios pt 2" class='wp-smiley' title="Indie Studios pt 2" /> </p>
<p><strong>How much time do you work per week?</strong></p>
<p>This isn&#8217;t the best week to ask unfortunately as we&#8217;ve been busy finishing up a project and it&#8217;s involved longer days than usual for me. We&#8217;re very good with our office hours and everyone is in the office for around 8 hours between 9am and 6:30pm which means we can all communicate in person. Only recently have the rest of the team started accessing the network via VPN, previously it was just myself who would work out of hours. I normally did this so that I could perform production / biz dev tasks during the day and perform any coding tasks I had on active projects during the evening.</p>
<p>As a company we&#8217;ve paid overtime from day one which has been a major driver for us to be sensible and although people will put in the extra time at the end of the day to finish up tasks we don&#8217;t end up with people getting burnt out on overtime.</p>
<p><strong>How do you find art contractors?</strong></p>
<p>We&#8217;re lucky in having a few great local contractors we&#8217;ve worked with several times in the past and when you have a good relationship there is no need to change things. We get a constant supply of CVs and portfolios to be honest so we&#8217;re very fortunate to have a great set of people to choose to work with.</p>
<p><strong>How do you handle the finance / tax situation of a small company?</strong></p>
<p>We hired a good accountant early on who was able to advise us in these sort of matters, my wife helps out a lot in terms of the bookkeeping which is a weight off my shoulders as I used to always perform this myself early in the company&#8217;s life (it&#8217;s actually quite cathartic!). As much as using external help is important for legal and finance matters it&#8217;s irresponsible to not understand what it all means in my opinion which is why working through all of the processes is well worth doing. The only aspect we&#8217;ve outsourced from day one is payroll which is incredibly easy for us in terms of sending off information on salaries.</p>
<p><strong>Are you able to ever not think about work?</strong></p>
<p>Not really, but I love it <img src='http://www.fourdoorlemon.com/wp-includes/images/smilies/icon_smile.gif' alt="icon smile Indie Studios pt 2" class='wp-smiley' title="Indie Studios pt 2" /> </p>
<p>It&#8217;s a busy phase for us at the moment having just finished off another pre-Christmas submission and doing the marketing work for You Are The Umpire, I&#8217;m hoping to keep things up on the weekly blogging during the holidays however!</p>
<p><strong>Things we&#8217;ve been enjoying this week<br />
</strong></p>
<ul>
<li> <a href="http://www.theydrawandcook.com/">http://www.theydrawandcook.com/</a>
<ul>
<li>I&#8217;m not a massive fan of cooking but I love some of the art here</li>
</ul>
</li>
</ul>
<ul>
<li><a href="http://www.youtube.com/watch?v=eWmVrfjDCyw">http://www.youtube.com/watch?v=eWmVrfjDCyw</a>
<ul>
<li>More exciting Kinect developments &#8211; the quadrotors are ace as they are but with full scanning of the environment it&#8217;s even cooler <img src='http://www.fourdoorlemon.com/wp-includes/images/smilies/icon_smile.gif' alt="icon smile Indie Studios pt 2" class='wp-smiley' title="Indie Studios pt 2" /> </li>
</ul>
</li>
</ul>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/-gSblHYU0t4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2010/12/11/indie-studios-pt-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2010/12/11/indie-studios-pt-2/</feedburner:origLink></item>
		<item>
		<title>Indie marketing</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/u_vRIjhOako/</link>
		<comments>http://www.fourdoorlemon.com/2010/12/05/indie-marketing/#comments</comments>
		<pubDate>Sun, 05 Dec 2010 01:53:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iDevBlogADay]]></category>
		<category><![CDATA[Latest Releases]]></category>
		<category><![CDATA[idevblogaday]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=521</guid>
		<description><![CDATA[It&#8217;s been a busy week for us at Four Door Lemon, not helped at all by the UK failing to deal with a few inches of snow! Some of our team haven&#8217;t been able to get into the office and normal train / car journeys have taken around 5 times longer. Despite that we&#8217;ve been [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a busy week for us at Four Door Lemon, not helped at all by the UK failing to deal with a few inches of snow! Some of our team haven&#8217;t been able to get into the office and normal train / car journeys have taken around 5 times longer.</p>
<p>Despite that we&#8217;ve been busy working away on our top-secret projects as well as having another great trivia game hit the market.</p>
<p><a href="http://bit.ly/yatuiphone"><img class="alignnone size-full wp-image-522" title="YATU Icon" src="http://www.fourdoorlemon.com/wp-content/uploads/2010/12/Icon-114.png" alt="Icon 114 Indie marketing" width="114" height="114" /></a></p>
<p>The new app is <a href="http://bit.ly/yatuiphone"><strong>You Are The Umpire</strong></a> another visual trivia game but this time around the wonderful international sport of Cricket, obviously it&#8217;s pretty good timing for us with the Ashes series going on in Australia right now and we&#8217;re looking forward to building on this and our <a href="http://bit.ly/yatriphone">You Are The Ref</a> football products in the coming months.</p>
<p>A new release means an initial marketing push for us as a company on top of the normal work we do, we&#8217;re still fairly new to this side of things and from speaking to PR companies no one has a golden bullet to iOS marketing success even with a large budget.</p>
<p>I&#8217;d just like to talk about two small things we do that are part of the recommendations you see elsewhere but not really spoken about as much. I&#8217;m not claiming these are majorly successful techniques (as you probably know it&#8217;s very hard to trace the route of a sale on the App Store).</p>
<p><strong>Google Alerts</strong></p>
<p><a href="http://www.google.com/alerts">Google Alerts</a> is a free service that sends you email notifications of new results based on specific search queries.</p>
<p>I&#8217;ve seen a few people in traditional marketing discuss Google Alerts for monitoring your brand, this is something we certainly do and we&#8217;re normally able to find people discussing our games on forums or on specific blogs. This also highlights us to people sharing copied versions of our games (though this looks like it may be a <a href="http://googlepublicpolicy.blogspot.com/2010/12/making-copyright-work-better-online.html">thing of the past</a> as far as &#8216;casual pirates&#8217; using Google to find copied apps ).</p>
<p>An interesting use we&#8217;ve been experimenting with though is to monitor terms for either similar games to our upcoming ones, genre specific terms or popular people relating to the game. This has allowed us to improve our targeted efforts in terms of blogs and forums as well as the sort of content that our potential users may be interested in.</p>
<p>It&#8217;s also interesting when you have alerts for things other than your games title specifically that you can spot topics of interest around your games genre or perhaps a big news item that you may not see for a few hours (or perhaps till you get home at the end of the day), this gives you an immediate opportunity to jump on it and either start discussing that particular issue on social channels like Twitter or to adjust your active adverts to take advantage of new search trends you predict.</p>
<p><strong>Twitter</strong></p>
<p>This certainly isn&#8217;t new to people thinking about marketing their games however we&#8217;ve begun trying to map out influential users (not just celebrities) for our games. Attempting to go viral by posting up a few links and then forgetting about it is what normally happens but if you have actual very active and interesting users who are interested in your game then you can build upon their power over your potential users. This is very much like the big brands who are paying for random celebrities with huge amounts of followers to tweet their product but we indie developers have no money and tend to rely on the people we&#8217;re talking to liking the product and wanting to work with us instead <img src='http://www.fourdoorlemon.com/wp-includes/images/smilies/icon_smile.gif' alt="icon smile Indie marketing" class='wp-smiley' title="Indie marketing" /> </p>
<p>Also on Twitter we&#8217;ve been trying similar techniques to those mentioned on Google Alerts, again this is something we&#8217;re just starting with but we&#8217;re hoping we can build up more knowledge about how information spreads across twitter and how we can make our news more appealing to the viral spread.</p>
<p><strong>Marketing link roundup</strong></p>
<p>I&#8217;m going to list a few marketing links, if you regularly look for marketing tips you&#8217;ve possibly seen most of these before. There is however some great advice out there which if you can adjust and make it work for your team and product can be really successful.</p>
<p><a href="http://www.gaminghorror.net/indie-game-developer-resources/">http://www.gaminghorror.net/indie-game-developer-resources/</a></p>
<ul type="disc">
<li>Various indie links including      marketing</li>
</ul>
<p><a href="http://gillen.cream.org/wordpress_html/?page_id=693">http://gillen.cream.org/wordpress_html/?page_id=693</a></p>
<ul type="disc">
<li>A really good blog / talk by      Kieron Gillen about using (and abusing!) gaming press.</li>
</ul>
<p><a href="http://www.gamasutra.com/view/feature/4117/building_buzz_for_indie_games.php?print=1">http://www.gamasutra.com/view/feature/4117/building_buzz_for_indie_games.php?print=1</a></p>
<ul type="disc">
<li>Good tips on building buzz</li>
</ul>
<p><a href="http://www.pixelprospector.com/indev/2010/08/the-big-list-of-indie-marketing-and-business-tips/">http://www.pixelprospector.com/indev/2010/08/the-big-list-of-indie-marketing-and-business-tips/</a></p>
<ul type="disc">
<li>Some repeat links from my      list but some really great links to individual articles</li>
</ul>
<p><a href="http://www.devmag.org.za/articles/78-ZERO-BUDGET-INDIE-MARKETING-GUIDE/#topall">http://www.devmag.org.za/articles/78-ZERO-BUDGET-INDIE-MARKETING-GUIDE/#topall</a></p>
<ul type="disc">
<li>I saw this one get posted      around a lot last year</li>
</ul>
<p><a href="http://offworld.com/2009/03/indie-games-summit-2d-boypolyt.html">http://offworld.com/2009/03/indie-games-summit-2d-boypolyt.html</a></p>
<ul type="disc">
<li>Notes from Kyle Gabler and      Phil Fish&#8217;s talk at the Indie Games Summit at GDC.</li>
</ul>
<p><a href="http://www.gamasutra.com/view/feature/2695/the_basic_marketing_plan_for_indie_.php?print=1">http://www.gamasutra.com/view/feature/2695/the_basic_marketing_plan_for_indie_.php?print=1</a></p>
<ul type="disc">
<li>More of a higher level      marketing plan but very relevant</li>
</ul>
<p><a href="http://blog.wolfire.com/2009/03/5-indie-pr-tips-from-wolfire/">http://blog.wolfire.com/2009/03/5-indie-pr-tips-from-wolfire/</a></p>
<ul type="disc">
<li>Wolfire are really great at      keeping their community active and they&#8217;ve shared a few tips here</li>
</ul>
<p><a href="http://www.snowferno.com/2009/10/07/indie-game-marketing-for-developers/">http://www.snowferno.com/2009/10/07/indie-game-marketing-for-developers/</a></p>
<ul type="disc">
<li>A few repeat ideas but with      more of an iPhone tint to things</li>
</ul>
<p><a href="http://www.idevblogaday.com">iDevBlogADay </a>had two great marketing related blogs this week, be sure to check them out</p>
<p><a href="http://pocketcyclone.com/2010/11/30/the-perfect-newsline/">http://pocketcyclone.com/2010/11/30/the-perfect-newsline/</a></p>
<ul type="disc">
<li>In-app marketing and      cross-promotion I believe is more important as you grow as a developer      with multiple titles and this is something we&#8217;re wanting to improve at.</li>
</ul>
<p><a href="http://runmad.com/blog/2010/11/social-game-marketing/">http://runmad.com/blog/2010/11/social-game-marketing/</a></p>
<ul type="disc">
<li>A look at a few game features      that encourage viral spreading of your game (while also offering value to      the player)</li>
</ul>
<p><strong>Things we&#8217;ve been enjoying this week</strong></p>
<ul type="disc">
<li><a href="http://www.youtube.com/user/RGBDvision">http://www.youtube.com/user/RGBDvision</a>
<ul type="circle">
<li>Not actually using the       Kinect but with the same depth camera used in Kinect, these guys are able       to walk around an area and in one pass get a fairly cool navigable point       cloud. Looking round a home you&#8217;re looking to buy is going to work like       this in the future <img src='http://www.fourdoorlemon.com/wp-includes/images/smilies/icon_smile.gif' alt="icon smile Indie marketing" class='wp-smiley' title="Indie marketing" /> </li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://www.toonormal.com/2010/12/03/five-years-as-a-full-time-indie/">http://www.toonormal.com/2010/12/03/five-years-as-a-full-time-indie/</a>
<ul type="circle">
<li>Mike Kasprak of Smiles and       Ludum Dare fame discusses his five years as a full time indie</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://www.insomniacgames.com/research_dev/articles/2010/152558668">http://www.insomniacgames.com/research_dev/articles/2010/152558668</a>
<ul type="circle">
<li>Insomniac have started       posting up 5 minute show and tell talks they&#8217;re doing in their office.       Only had a look through this one so far but they could be interesting to       look at and it&#8217;s great of them to share!</li>
</ul>
</li>
</ul>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/u_vRIjhOako" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2010/12/05/indie-marketing/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2010/12/05/indie-marketing/</feedburner:origLink></item>
		<item>
		<title>Indie studio considerations</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/tBp1iTZpzIE/</link>
		<comments>http://www.fourdoorlemon.com/2010/11/27/indie-studio-considerations/#comments</comments>
		<pubDate>Sat, 27 Nov 2010 22:18:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iDevBlogADay]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=518</guid>
		<description><![CDATA[We&#8217;ve had a couple of great iDevBlogADay articles recently from Owen and Frederic about life as a solo indie developer and as a part-time indie developer. I decided for this weeks article to give the perspective of an indie studio and a few considerations versus being a solo (or group of remote partners) based developer. [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve had a couple of great <a href="http://idevblogaday.com/">iDevBlogADay</a> articles recently from <a href="http://www.streamingcolour.com/blog/2010/10/10/im-indie-and-im-proud/">Owen</a> and <a href="http://www.quebarium.com/2010/11/part-time-indie-game-developer.html">Frederic</a> about life as a solo indie developer and as a part-time indie developer. I decided for this weeks article to give the perspective of an indie studio and a few considerations versus being a solo (or group of remote partners) based developer.</p>
<p><strong>First up a history lesson!</strong></p>
<p>FDL started in July 2005 as two of us in a small rented office in the centre of Bradford, we started up with our own funds and some work-for-hire projects we were in discussions about. The goal was to build up enough funds and our own technology platform to then grow the company and develop our own games. Bear in mind the development world was a little different then without quite the digital distribution opportunities!</p>
<p>The work-for-hire side of things went on quite a lot longer than we wanted which is a story I hear a lot from both smaller and larger versions of developers like us, once you have money coming in and a good group of guys in the office you get into a cycle based around the (traditionally safe) contract work.</p>
<p>We got to work on a lot of different platforms and technologies however which was great experience for us as a company, covering PS2, PSP, PS3, Wii, DS, Symbian, PC and more as well as working on full MMO systems (front and backend), various interesting procedural techniques and game genres from FPS and racers to puzzle games.</p>
<p><strong>Today</strong></p>
<p>Updating things to modern day we have a large office with 5 full-time programmers (we outsource all other work to mainly local contractors), lots of funky development kit (and some very comfy Aerons) just across the road from that first office we started in. Our work right now though has shifted a lot more to be based around our own projects or revenue share deals with other independent developers. We&#8217;re still working on some very cool work-for-hire projects across various platforms, our own work is generally mobile but will be moving across to other platforms very shortly.</p>
<p>So five and a half years later we&#8217;re getting to be where we wanted to be generating our own games and IP!</p>
<p><strong>Issues / Considerations</strong></p>
<p>A couple of things to discuss then, I&#8217;ll probably expand a bit further on this in a part 2 at some point but these are the things that immediately sprung to mind!</p>
<ul type="disc">
<li>Staff
<ul type="circle">
<li>We&#8217;ve got a great team in       the office which gives everyone an opportunity to work on every area of       each project, communication is quite simple in such a small team and we       don&#8217;t have to consider the difficulties of being a remote team. The big       issue with having full-time staff is of course the running cost, this is       why getting into a cycle on contract work is so easy, having gaps between       projects when profit margins on a previous contract have been eroded mean       that you&#8217;re burning into cash reserves. Of course there is a trade off       between this and being a solo producer / manager who hires contractors as       needed in terms of cost but you lose the ability to build up an actual       &#8216;team&#8217;. We&#8217;re attempting to grow our core team carefully and still work       with external programmers as needed for projects. Costs of staff aren&#8217;t       just salaries but also perks (free drinks, beers, meals, conference       trips, games etc..) plus time for management to make sure things are ok       with everyone.</li>
</ul>
</li>
</ul>
<ul type="disc">
<li>Office
<ul type="circle">
<li>Offices are expensive, yes       there are deals that you can get in some areas and if you don&#8217;t need a       huge amount of space you can be a bit more careful. With the way we       sometimes need to expand and in terms of providing plenty of room per       person our office costs are quite high. We also took on an office       immediately when we started the company, this is completely at odds with       a modern indie studio who would likely be remote / work from coffee shops       / one persons house and then when they get their first success (either in       sales or contract) get an office. Rent/Rates are one thing but insurance,       cleaning and in particular gas and electric costs that would be a shock       to people setting up in an office I imagine!</li>
</ul>
</li>
</ul>
<ul type="disc">
<li>Development kits
<ul type="circle">
<li>This is one of the       advantages of being an actual established studio with an office, things       are becoming a bit more flexible now but we do actually have a secure       location to store equipment and the more restrictive hardware       manufacturers don&#8217;t have issues giving us approval where they would have       concerns over people working from home.</li>
</ul>
</li>
</ul>
<ul type="disc">
<li>Management overhead
<ul type="circle">
<li>Paperwork.. Owen mentioned       this in his <a href="http://www.streamingcolour.com/blog/2010/11/14/indie-challenges/">&#8216;Indie Challenges&#8217;</a> post but a small company with employees is       even worse, not to mention accounts and more complex legal matters. The       best advise is of course to ensure you use professionals to help with all       of this. Personally I still get more involved with all this kind of thing       than I should but it is quite satisfying to understand the processes       before delegating them too much!</li>
</ul>
</li>
</ul>
<ul type="disc">
<li>Larger / more projects
<ul type="circle">
<li>To cover the burnrate of       staff and offices larger projects (or a larger number of projects) are       required to pay for it. This requires further management time and       introduces extra risks for the company (in terms of projects going wrong       or being cancelled due to circumstances out of your control or not). I&#8217;m       not necessarily talking about contract work here, the ambitions of all of       your products needs to be higher than it would be as a solo or remote       working developer.</li>
<li>On the flip side to this of course this does mean that you can be involved in some really interesting big projects that you and the team can get your teeth into.</li>
</ul>
</li>
</ul>
<p><strong>Things we&#8217;ve been enjoying this week</strong></p>
<ul type="disc">
<li><a href="http://code.google.com/p/emscripten/">http://code.google.com/p/emscripten/</a>
<ul type="circle">
<li>LLVM to JavaScript compiler,       this looks awesome &#8211; check out the demos even if they are unoptimised       right now.</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://whatthecommit.com/">http://whatthecommit.com/</a>
<ul type="circle">
<li>Commit message random       generator</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://developer.nvidia.com/object/cuda_3_2_downloads.html">http://developer.nvidia.com/object/cuda_3_2_downloads.html</a>
<ul type="circle">
<li>Investigating CUDA certainly       something I want to play with a bit more soon, added h.264 encode/decode       in the latest version.</li>
</ul>
</li>
</ul>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/tBp1iTZpzIE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2010/11/27/indie-studio-considerations/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2010/11/27/indie-studio-considerations/</feedburner:origLink></item>
		<item>
		<title>GL ES wrap</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/HnFZhpLTrPU/</link>
		<comments>http://www.fourdoorlemon.com/2010/11/20/gl-es-wrap/#comments</comments>
		<pubDate>Sat, 20 Nov 2010 16:52:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iDevBlogADay]]></category>
		<category><![CDATA[Latest News]]></category>
		<category><![CDATA[idevblogaday]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=510</guid>
		<description><![CDATA[I&#8217;ve been doing a fair bit of GL ES coding recently for our upcoming more graphically advanced iPhone titles. It&#8217;s been good fun (on the whole!) even though integrating GL ES with our multi-platform render backend has possibly exposed that our long established flexible render interface doesn&#8217;t allow for certain optimisations without introducing certain restrictions [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been doing a fair bit of GL ES coding recently for our upcoming more graphically advanced iPhone titles.</p>
<p>It&#8217;s been good fun (on the whole!) even though integrating GL ES with our multi-platform render backend has possibly exposed that our long established flexible render interface doesn&#8217;t allow for certain optimisations without introducing certain restrictions (we did encounter the same thing on PS2 but it&#8217;s probably a topic for another day).</p>
<p>One nice and simple method for working on optimisation of usage of an API is to use wrapper functions. In terms of graphics API programs such as PIX, gDebugger and other 3D analysis/ripping tools are (for the most part) intercepting the function calls from the application and then interpreting the data themselves in a similar way.</p>
<p>We&#8217;ve been doing a similar thing when debugging API usage in the past and it seems a popular technique as I saw John Carmack using a similar simple GL wrapper in his Wolf 3d code (and he had a nice additional idea I&#8217;ll mention below).</p>
<p>The idea works by having a private header file in your own middleware or in your game which you include in every file you would use GL or other wrapped API from (or just include it in a global header if you wish).</p>
<p>Inside the header file you&#8217;ll have a structure like :-</p>
<blockquote><p>// Wrap settings, uncomment these to enable.<br />
#define ENABLE_WRAPS_GL<br />
#define WRAPS_GL_LOG_CALLS<br />
#define WRAPS_GL_ERR_CHECK</p>
<p>// helper macros<br />
#ifdef WRAPS_GL_ERR_CHECK<br />
#  define DO_ERR_CHECK_GL(x) CheckGLError(x)<br />
#else<br />
#  define DO_ERR_CHECK_GL(x) (void)(x)<br />
#endif</p>
<p>// wrapped implementations<br />
#if defined(ENABLE_WRAPS_GL)</p>
<p>// wrapping enabled, implement each function to be wrapped<br />
static inline void  _glDepthFunc(GLenum func)<br />
{<br />
#ifdef WRAPS_GL_LOG_CALLS<br />
lLogSys(&#8220;GLES&#8221;, &#8220;glDepthFunc(func=%s)\n&#8221;, GLenumToString( func ));<br />
#endif</p>
<p>// call the actual function<br />
glDepthFunc(func);</p>
<p>DO_ERR_CHECK(&#8220;glDepthFunc&#8221;)<br />
}</p>
<p>// Use preprocessor to force any references to the unwrapped function to cause a compiler error (idea from Wolf3D code, nice way to catch!)</p>
<p>#define glDepthFunc    ERROR_USE_WRAPPED_VERSION_OF_glDepthFunc</p>
<p>#else<br />
// wrapping disabled, use pre-processor to point to actual functions</p>
<p>#define _glDepthFunc    glDepthFunc<br />
#endif</p></blockquote>
<p>This implementation is done for every function that you wish to wrap in the particular API.</p>
<p>In the above example we can perform whatever logging we want about each function call, using helper functions we can translate things like enums to human readable strings for output to HTML or other log file. Texture data can be intercepted in glTexImage2D calls and then stored out for future reference in the log (by associating it with the correct texture ref), likewise for shader programs.</p>
<p>Also above we perform a call to an error checking function if the relevant #define setting is set at the top of the file, this CheckGLError function takes the string name of the wrapped function it Is called from, performs a glGetError, checks its validity and then logs / spawns a debugger depending on other current settings.</p>
<p>The possibilities though aren&#8217;t limited to that..</p>
<p>There is the ability to add redundant call checking by storing the previous value that was passed to a particular function, in the above case we can track the current internal GL setting for glDepthFunc (this works on the assumption that no other piece of code could somehow set this and break our redundancy checks &#8211; in our case we know that all our code is wrapped). Some functions are harder to track redundant state sets for but if you focus on making the code re-useable you&#8217;ll find several functions in APIs have similar usage / internal state patterns .</p>
<p>Another feature I added to our internal wrappers was a GL call limit, at the top of each wrapper function a call (again to a function hidden by a #define MACRO meaning it could be easily disabled and compiled out of the code). The function that the macro called would return a bool of whether to continue execution of that wrapped function. This allowed me to have a &#8216;stop GL functions after xxx have been called&#8217; function, I was able to trace using a simple interface in-game where certain rendering issues where introduced and also look at draw order very easily.</p>
<p>Related to that is overriding of certain states, because you can stop any state being set you can force things like texture sets to not go through (or to keep the texture set to a 1&#215;1 dummy texture to test texture bandwidth impact on your framerate) or perhaps to override the colour of each batch passed to the renderer (I&#8217;m ignoring shaders in that example but again you could override a shader if you wished).</p>
<p>Implementing this system wasn&#8217;t something that took very long though and it can be very useful depending on what stage of development you&#8217;re at. It&#8217;s important to spend time working out how to minimise the effort needed for each wrapper function, I think the redundancy checking could be wrapped up nicely through some well thought out template usage and the whole thing could be done via more pre-processor macros to minimise typing errors (and to improve readability).</p>
<p>Hopefully this idea will come in use for your API debugging / logging / optimisation work!</p>
<p><strong>Things we&#8217;ve been enjoying this week</strong></p>
<ul type="disc">
<li><a href="http://www.rockpapershotgun.com/2010/11/17/get-the-minecraft-cpu-map">http://www.rockpapershotgun.com/2010/11/17/get-the-minecraft-cpu-map</a>
<ul>
<li>In-game Minecraft CPU      completed and save game made available, this is just crazy to look at <img src='http://www.fourdoorlemon.com/wp-includes/images/smilies/icon_smile.gif' alt="icon smile GL ES wrap" class='wp-smiley' title="GL ES wrap" /> </li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://www.readwriteweb.com/archives/weekend_project_hack_microsoft_kinect.php">http://www.readwriteweb.com/archives/weekend_project_hack_microsoft_kinect.php</a>
<ul>
<li>A great post with links to      all you need to know on the Kinect &#8216;hacking&#8217; people have been doing. I got      the code compiling on Win32 when it was first being ported to libusb-win32 but haven&#8217;t had chance to do much with it since (other than hook it up to our engine). Looking forward to seeing interesting stuff from this, markerless motion capture already starting to emerge.</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://vimeo.com/16526987">http://vimeo.com/16526987</a>
<ul>
<li>A great stop-motion video, the zombie is cute <img src='http://www.fourdoorlemon.com/wp-includes/images/smilies/icon_smile.gif' alt="icon smile GL ES wrap" class='wp-smiley' title="GL ES wrap" /> </li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="https://docs.google.com/present/view?id=df7rw7vz_338cz6ngnd6">https://docs.google.com/present/view?id=df7rw7vz_338cz6ngnd6</a>
<ul>
<li>A good look at various interesting sites / projects on the net, this is a bit of an older link (in internet terms) but had some cool stuff I&#8217;d not seen before.</li>
</ul>
</li>
</ul>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/HnFZhpLTrPU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2010/11/20/gl-es-wrap/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2010/11/20/gl-es-wrap/</feedburner:origLink></item>
		<item>
		<title>Matrix Mull…</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/RRnRt2H0kd8/</link>
		<comments>http://www.fourdoorlemon.com/2010/11/13/matrix-mull/#comments</comments>
		<pubDate>Sat, 13 Nov 2010 23:44:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iDevBlogADay]]></category>
		<category><![CDATA[idevblogaday]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=503</guid>
		<description><![CDATA[A slightly technical (but shorter) post tonight as it&#8217;s been a busy week of projects, various talks and meetings! I&#8217;ve been working on optimisations on a title we&#8217;re finishing up at the moment and matrix multiplies was one area I knew needed optimising. There have been a couple of developers (links near the bottom of [...]]]></description>
			<content:encoded><![CDATA[<p>A slightly technical (but shorter) post tonight as it&#8217;s been a busy week of projects, various talks and meetings!</p>
<p>I&#8217;ve been working on optimisations on a title we&#8217;re finishing up at the moment and matrix multiplies was one area I knew needed optimising.</p>
<p>There have been a couple of developers (links near the bottom of the post) talking about optimising for the VFP and NEON vector processing extensions over the last few years so I was aware that the savings were significant. We&#8217;d simply not had to use these optimisations within our own math library code before now.</p>
<p>I&#8217;ve also recently heard a bit about Accelerate framework from WWDC so thought I&#8217;d have a look at that but my main worry was how calling a library function would avoid function call overhead (at least without fancy linker features removing such overhead).</p>
<p>I thought it would be interesting to do a post looking at rough timings of an operation using the various options we have.</p>
<p>I decided to choose the fairly common 4&#215;4 matrix multiply. As I mentioned these timings are fairly rough, I simply set up loops to perform 100,000 matrix multiplies and (separately from the timed code) ensured results came out the same.</p>
<p>C (direct) is a call to a function that looks a lot like</p>
<pre>void lSIMD_Base::Matrix4x4Mul( float * r, const float * a, const float * b )
{
  r[0]  = (a[0]*b[0])  + (a[1]*b[4])  + (a[2]*b[8])   + (a[3]*b[12]);</pre>
<p>Etc…</p>
<p>C (indirect)is the same function via an operator* in our matrix class, I wanted to see at the same time whether the temporary matrix and function call were being optimised out on GCC.</p>
<p>VFP is a call to the vfpmathlibrary Matrix4Mul implementation. Note this is a column major matrix mul whereas the others in this rough test are row major.</p>
<p>NEON is code based off a post on Wolfgang Engels comments on his blog</p>
<p>CBLAS is BLAS Accelerate framework in iOS4.0 and above, as you&#8217;ll see we&#8217;re only going to get a result on OS4.0 and above devices.</p>
<p>The code was compiled using the current 4.2 SDK with the current GCC based Xcode with Thumb disabled and in default release mode (-Os I believe is the default optimisation level).</p>
<div>
<table style="height: 138px;" border="1" cellspacing="0" cellpadding="0" width="561">
<tbody>
<tr>
<td><strong>Device / OS version</strong></td>
<td><strong>C (direct)</strong></td>
<td><strong>C (indirect)</strong></td>
<td><strong>VFP</strong></td>
<td><strong>NEON</strong></td>
<td><strong>CBLAS</strong></td>
</tr>
<tr>
<td>iPhone 4 (4.1)</td>
<td>72ms</td>
<td>90ms</td>
<td>170ms</td>
<td>7.0ms</td>
<td>338ms</td>
</tr>
<tr>
<td>iPad (3.2.1)</td>
<td>55ms</td>
<td>69ms</td>
<td>138ms</td>
<td>5.3ms</td>
<td>n/a</td>
</tr>
<tr>
<td>iPhone 3GS (4.0.2)</td>
<td>95ms</td>
<td>123ms</td>
<td>233ms</td>
<td>9.4ms</td>
<td>473ms</td>
</tr>
<tr>
<td>iPod v3 (3.1.3)</td>
<td>134ms</td>
<td>166ms</td>
<td>47ms</td>
<td>n/a</td>
<td>n/a</td>
</tr>
<tr>
<td>iPhone 3G (3.1.2)</td>
<td>249ms</td>
<td>283ms</td>
<td>58ms</td>
<td>n/a</td>
<td>n/a</td>
</tr>
<tr>
<td>iPod v1 (3.1.2)</td>
<td>176ms</td>
<td>214ms</td>
<td>58ms</td>
<td>n/a</td>
<td>n/a</td>
</tr>
</tbody>
</table>
</div>
<p>I&#8217;ll try and remember to come back to update this table as I update OS versions and try new things!</p>
<p>The timings are roughly as you&#8217;d expect (though I&#8217;m not sure the 3G results should be quite that slow &#8211; I think the device is on its way out to be honest!). The Accelerate framework is a bit of a disappointment but this is mainly due to call overhead I believe, the WWDC presentation certainly had much better results for other operations and with larger operations such as a Fast Fourier Transform the call overhead becomes a much smaller % overhead of the operation you&#8217;re trying to perform. I need to try out some more things with Accelerate as I&#8217;m not sure it should be this slow.</p>
<p>As expected NEON is faster on the ARMv7 chips and VFP is faster on the ARMv6 chips, NEON is 10x faster than the C implementation which is quite impressive.</p>
<p>The chart also acts as quite a nice example of general chip speed, I incorrectly believed the iPhone 4 CPU to be faster than the iPads before seeing these results.</p>
<p>As promised here are some useful links relating to the above</p>
<p>Noel Llopis talking about floating point performance a few years ago<br />
<a href="http://www.slideshare.net/llopis/cranking-floating-point-performance-to-11-on-the-iphone-2111775">http://www.slideshare.net/llopis/cranking-floating-point-performance-to-11-on-the-iphone-2111775</a></p>
<p>Wolfgang Engel&#8217;s original post on the VFP Math Library<br />
<a href="http://diaryofagraphicsprogrammer.blogspot.com/2008/11/iphone-arm-vfp-code.html">http://diaryofagraphicsprogrammer.blogspot.com/2008/11/iphone-arm-vfp-code.html</a></p>
<p>The VFP math library itself<br />
<a href="http://code.google.com/p/vfpmathlibrary/">http://code.google.com/p/vfpmathlibrary/</a></p>
<p>I believe this will be the same version here in Oolong as well as NEON implementations based off the comments posts on Wolfgangs blog.<br />
<a href="http://code.google.com/p/oolongengine/source/browse/trunk/Oolong%20Engine2/Math/">http://code.google.com/p/oolongengine/source/browse/trunk/Oolong%20Engine2/Math/</a></p>
<p>NEON intrinsics guide<br />
<a href="http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html">http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html</a></p>
<p>Math neon library &#8211; extensive math library implementation for NEON (LGPL)<br />
<a href="http://code.google.com/p/math-neon/">http://code.google.com/p/math-neon/</a></p>
<p>&#8216;iPhone VFP for n00bs&#8217; &#8211; also covers some basics of using inline assembly on GCC<br />
<a href="http://aleiby.blogspot.com/2008/12/iphone-vfp-for-n00bs.html">http://aleiby.blogspot.com/2008/12/iphone-vfp-for-n00bs.html</a></p>
<p>A blog at arm.com on matrix multiplication with NEON<br />
<a href="http://forums.arm.com/index.php?/blogs/index.php?/blog/7/entry-241-coding-for-neon-part-3-matrix-multiplication/">http://forums.arm.com/index.php?/blogs/index.php?/blog/7/entry-241-coding-for-neon-part-3-matrix-multiplication/</a></p>
<p>Accelerate framework slide from WWDC 2010</p>
<ul type="disc">
<li>available via iOS developer centre</li>
</ul>
<p><strong>Things we&#8217;ve been enjoying this week</strong></p>
<p>Kinect</p>
<ul type="disc">
<li>I think on the launch titles      Move is just winning for us but Kinect is interesting and I&#8217;m looking      forward to seeing what comes out of the Kinect hacking going on now the      open source drivers are out.</li>
</ul>
<p><a href="http://www.youtube.com/watch?v=OwWSFj3TTLM">http://www.youtube.com/watch?v=OwWSFj3TTLM</a></p>
<ul type="disc">
<li>4k demoscene intro with code,      should be interesting!</li>
</ul>
<p><a href="http://www.minecraftforum.net/viewtopic.php?f=35&amp;t=69299">http://www.minecraftforum.net/viewtopic.php?f=35&amp;t=69299</a></p>
<ul type="disc">
<li>Working 8-bit CPU in      Minecraft</li>
</ul>
<p><a href="http://www.eetimes.com/General/DisplayPrintViewContent?contentItemId=4210470">http://www.eetimes.com/General/DisplayPrintViewContent?contentItemId=4210470</a></p>
<ul type="disc">
<li>Related to this blog post,      efficient C code for ARM devices</li>
</ul>
<p><a href="http://www.3drender.com/challenges/index.htm">http://www.3drender.com/challenges/index.htm</a></p>
<ul type="disc">
<li>Awesome resource of 3d models      intended for artists to texture and light, should be very nice looking      test assets for any tech tests though!</li>
</ul>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/RRnRt2H0kd8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2010/11/13/matrix-mull/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2010/11/13/matrix-mull/</feedburner:origLink></item>
		<item>
		<title>99c problems</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/8XmRKKdX6fo/</link>
		<comments>http://www.fourdoorlemon.com/2010/11/07/99c-problems/#comments</comments>
		<pubDate>Sun, 07 Nov 2010 00:05:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iDevBlogADay]]></category>
		<category><![CDATA[idevblogaday]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=498</guid>
		<description><![CDATA[I had been working on a bit more of a technical piece for this week but unfortunately encountered a few problems during testing on it and didn&#8217;t get as much time in front of the Mac as I wanted in the evening this week. Instead I&#8217;m going to throw a few of the pros / [...]]]></description>
			<content:encoded><![CDATA[<p>I had been working on a bit more of a technical piece for this week but unfortunately encountered a few problems during testing on it and didn&#8217;t get as much time in front of the Mac as I wanted in the evening this week.</p>
<p>Instead I&#8217;m going to throw a few of the pros / cons I see with the 99c / 59p price point.</p>
<p>We current have a sale active on two of our apps You Are The Ref down to $1.99 from $2.99 and QuizQuizQuiz down from $1.99 to 99c. YATR is relatively new, being featured by Apple in its football (soccer) games section and Game Center &#8216;Hot New Games&#8217; and QQQ is now 13 months old but still normally in the top 25 (if not top 10) trivia charts across Europe (and still nowhere in the US chart!!).</p>
<p><strong>Pros</strong></p>
<ul type="disc">
<li>Will generally result in a      higher chart position, top 10 is predominantly 59p apps. Being high up the      charts (or any particular category chart to a lesser extent) exposes you      to the daily new registrations of devices who will instantly look in those      places for their first apps.</li>
<li>Likewise a higher chart      position is likely to get the App Store gods to notice you and feature      your game &#8211; it could be argued however that they probably watch the      grossing charts more than the standard &#8216;sales&#8217; (I&#8217;m not sure what the      current formula is made up of ratings / sales wise) chart.</li>
</ul>
<ul type="disc">
<li>More people buying your game      will increase the viral spread of your game assuming those people have a      positive experience and it has a &#8216;show off&#8217; feature that people will be      keen to show others (an important part of the viral spread).</li>
</ul>
<p><strong>Cons</strong></p>
<ul type="disc">
<li>Once you&#8217;ve gone to 99c even      as a short-term sale people will assume that you&#8217;ll drop your price again      and perhaps wait till you do so. The only way to perhaps fight this would      be to only do it as a launch sale. If you&#8217;ve added more content which you      believe justifies NOT dropping back down to 99c that&#8217;s fine but how do you      actually communicate that to people who haven&#8217;t bought your game?</li>
<li>Lower pricing tends to equate      to lower ratings especially on apps that aren&#8217;t top sellers. As always      it&#8217;s very important to encourage people to rate the app (especially at      good times during gameplay, say just after they&#8217;ve unlocked a new level or      got a new highscore!).</li>
</ul>
<ul type="disc">
<li>The normal criticism about      apps pricing themselves at 99c is that the content producer appears to be      valuing their content incredibly low, this is based around the suggestion      that &#8216;price sends a signal&#8217; to the consumer (<a href="http://www.joelonsoftware.com/items/2005/11/18.html">http://www.joelonsoftware.com/items/2005/11/18.html</a>). Of course 99c on the Apple Store isn&#8217;t necessarily the same as 99c in the real world or on other stores though &#8211; I&#8217;ll discuss this a bit more below.</li>
<li>While talking about value      there&#8217;s also a risk that being if you&#8217;re at a partially successful 99c      game you will be compared to Angry Birds and other top selling 99c apps      and the value they offer. These apps are selling such huge quantities that      they&#8217;re also able to easily further increase their value over time through      new levels and updates further stretching the expectation for the gamers      who only buy 99c apps from the top charts.</li>
<li>Not making as much money as      you could, this is of course a big concern and you&#8217;ll never actually know      whether you could have made much more money and have had a higher league      position at $1.99.</li>
</ul>
<p>We&#8217;re entering (if we&#8217;ve not already entered) an interesting time with all these app stores opening (and other digital distribution platforms such as STEAM, PSN/PSP Minis, DSi, WiiWare etc..). Some news articles make a lot of the price differences between various platforms for the same game and of course value for money is a big issue in the current economic climate. For developers however there are differing costs on each platform (ratings cost, development kits, pure porting time via art differences or technical requirements), a different market size and type of demographic. Some platforms also have imposed pricing structures from the powers that be.</p>
<p>Looking at some of the big names across the various platforms an &#8216;exchange rate&#8217; could be worked out and may be of use to other developers looking at deciding on their price on a particular platform.</p>
<p>As we begin to move QuizQuizQuiz across to various platforms (Windows Phone 7 now at $2.99) we&#8217;ll be thinking about this issue a lot more.</p>
<p>Of course in the ideal future we&#8217;d have some sort of universal purchase system where users could buy an app / game once and it then runs on every platform, even though someone in the chain is likely to lose out on this (the hardware manufacturers relying on you being tied to your existing paid for apps probably) and of course total spend per user will likely be less. As a consumer it is a very appealing proposition though and we&#8217;re already seeing movies move towards multi-platform delivery (DVD/Bluray/Digital copy in the same box at a higher price!)</p>
<p>I&#8217;m hoping to talk more about pricing in the future with a few more stats to back things up, thanks for reading and please post any thoughts you have on the 99c price point and how you see the market going.</p>
<p><strong>Things we&#8217;ve been enjoying this week</strong></p>
<ul type="disc">
<li><a href="http://www.36peas.com/blog/2010/10/27/5-iphone-game-control-design-pattern-cheat-sheets-gestures-t.html">http://www.36peas.com/blog/2010/10/27/5-iphone-game-control-design-pattern-cheat-sheets-gestures-t.html</a>
<ul type="circle">
<li>Really enjoyed this fellow       iDevBlogADay look at game control design patterns, I think as I discussed       a little in the Aurifi blog post there are perhaps levels of interface on       top of those but it&#8217;s kind of nice to look at a list of control methods       even if you think you understand them.</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://radio.poetic.ly/">http://radio.poetic.ly/</a>
<ul type="circle">
<li>&#8216;Radio for YouTube&#8217; &#8211; finds       related videos to a keyword and plays them Pandora / last.fm style. I may       get addicted to this.</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://publications.dice.se/">http://publications.dice.se/</a>
<ul type="circle">
<li>Some new publications are       out from the DICE coders, look forward to reading these!</li>
</ul>
</li>
</ul>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/8XmRKKdX6fo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2010/11/07/99c-problems/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2010/11/07/99c-problems/</feedburner:origLink></item>
		<item>
		<title>My (solo) brainstorming process</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/FBGcgOlld0M/</link>
		<comments>http://www.fourdoorlemon.com/2010/10/30/my-solo-brainstorming-process/#comments</comments>
		<pubDate>Sat, 30 Oct 2010 22:50:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iDevBlogADay]]></category>
		<category><![CDATA[idevblogaday]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=494</guid>
		<description><![CDATA[I&#8217;ve been away on holiday this week and despite trying to switch off for at least a little bit I&#8217;ve been doing a bit of thinking about our projects new + old. It seemed appropriate to talk a little about my favourite brainstorming tips. As with most idea generation / thinking / processing techniques the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been away on holiday this week and despite trying to switch off for at least a little bit I&#8217;ve been doing a bit of thinking about our projects new + old.</p>
<p>It seemed appropriate to talk a little about my favourite brainstorming tips. As with most idea generation / thinking / processing techniques the things that work best vary between individuals but hopefully some of these may be of use or may encourage you to think about how your brain can be optimised!</p>
<p><strong>Set yourself a specific question</strong></p>
<ul type="disc">
<li>Much like when prototyping      and aiming to answer a question, state the problem that you want to think      around clearly, this gives you an easy way to assess whether you&#8217;re done      and also keeps you focused on the main purpose that you started on. Of      course the specific question could be a very broad subject with a huge      spectrum of answers but writing down the question at the top of your piece      of paper / OneNote page / middle of your mindmap is a great starting point      I find.</li>
</ul>
<p><strong>Set your targets</strong></p>
<ul type="disc">
<li>This isn&#8217;t something I do      that often to be honest but is a good tip I&#8217;ve seen recommended, my target      tends to be to come up with an idea (or 5!.. Or 10!) that I&#8217;m happy with      in a certain timeframe rather than setting constraints of certain number      of ideas generated.</li>
</ul>
<p><strong>Blitz your brain</strong></p>
<ul type="disc">
<li>You may already fully      understand the question domain when you start brainstorming about it so      this may not be needed but if it&#8217;s an area you don&#8217;t work in regularly or      if you want to be aware of all the latest facts (especially when thinking      about game ideas / marketing) I tend to Google for a while and check my      RSS feeds for every related (even slightly related) article and skim read      them before starting the brainstorming. I also cheat slightly in that I      tend to write down early ideas at this stage sometimes.</li>
</ul>
<p><strong>Focus / Flow</strong></p>
<ul type="disc">
<li>Vital for any type of serious      thinking, for getting into &#8216;flow&#8217; I tend to get some fast music with no      lyrics (or just any kind of noise to be honest) to drown out distractions      much like I do when working on code for long stints.</li>
</ul>
<p><strong>Mindmapping</strong></p>
<ul type="disc">
<li>Generally for brainstorming I      produce a mind map though I tend to not worry about how ideas are      connected that much till after I&#8217;ve finished writing (or typing) ideas      down. I used to always use Mindmapping software for idea generation on      computer but I&#8217;ve fallen out of the habit and tend to use OneNote for most      things now, I still structure my thoughts in a hierarchy but it&#8217;s less      spread out (OneNote does support putting notes anywhere on a page though)</li>
</ul>
<p><strong>Summary / Re-organise</strong></p>
<ul type="disc">
<li>After the initial pass      writing ideas down I tend to go through and review them. This involves      de-duplicating ideas, possibly an initial ranking of them, perhaps      categorising the ideas. I tend to discover new links between ideas at this      stage and this can sometimes be the really creative part of the process.</li>
</ul>
<p>That&#8217;s my basic process for brainstorming, it was actually a harder thing to describe than I thought it would be &#8211; perhaps I should have brainstormed brainstorming a bit further (hoho!).</p>
<p>There are lots of other tips and tricks like these on the web if you use your Google skills but a couple of books I&#8217;d strongly recommend are</p>
<ul type="disc">
<li><a href="http://www.amazon.co.uk/gp/product/1934356050?ie=UTF8&amp;tag=barogsblog-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=1934356050">Pragmatic Thinking &amp;      Learning </a>
<ul type="circle">
<li>An interesting look at how       we process problems and also looks at left / right brain thinking. Talks       about the idea of optimising your brain for the tasks software developers       (and other creative people) face.</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://www.amazon.co.uk/gp/product/0123694965?ie=UTF8&amp;tag=barogsblog-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0123694965">The Art of Game Design</a> by      Jesse Schell
<ul type="circle">
<li>Covers some great       brainstorming tips from Jesse, my favourite of which is playing with clay       or other toys to keep your mind playful as you think. This is also just a       brilliant book and I would recommend to anyone.</li>
</ul>
</li>
</ul>
<p>And one particular website I thought of around this kind of thing is</p>
<ul type="disc">
<li><a href="http://www.mindtools.com/">http://www.mindtools.com/</a>
<ul type="circle">
<li>Subscribe to an RSS feed on       this, not a big fan of the site look/layout but some of the content is       great.</li>
</ul>
</li>
</ul>
<p><strong>Things we&#8217;ve been enjoying this week</strong></p>
<ul type="disc">
<li><a href="http://bethblog.com/index.php/2010/10/29/john-carmack-discusses-rage-on-iphoneipadipod-touch/">http://bethblog.com/index.php/2010/10/29/john-carmack-discusses-rage-on-iphoneipadipod-touch/</a>
<ul type="circle">
<li>John Carmack talking about       RAGE on iPhone and in particular the performance of memory mapped files       on iPhone, I&#8217;m now trying to resist trying some similar stuff out!</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://lifehacker.com/5670193/how-to-build-your-workday-around-focus-tips-from-the-trenche">http://lifehacker.com/5670193/how-to-build-your-workday-around-focus-tips-from-the-trenche</a>s
<ul type="circle">
<li>Some related tips on Focus       from lifehacker.com (a great site if you&#8217;ve not looked around before)</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://vmml.ifi.uzh.ch/files/pdf/publications/InteractiveSPH.pdf">http://vmml.ifi.uzh.ch/files/pdf/publications/InteractiveSPH.pdf</a>
<ul type="circle">
<li>Smoothed Particle       Hydrodynamics on GPU, played with SPH a few times over the last few years       and I&#8217;m looking forward to reading through this paper.</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://www.youtube.com/view_play_list?p=2A56ABB3E429D3C4">http://www.youtube.com/view_play_list?p=2A56ABB3E429D3C4</a>
<ul type="circle">
<li>2 hour 38 minute playlist of       demoscene videos (put together by @<a href="http://twitter.com/Zavie">Zavie</a>)</li>
</ul>
</li>
</ul>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/FBGcgOlld0M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2010/10/30/my-solo-brainstorming-process/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2010/10/30/my-solo-brainstorming-process/</feedburner:origLink></item>
		<item>
		<title>Fresh blood (getting into game dev)</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/qmX4yu398lc/</link>
		<comments>http://www.fourdoorlemon.com/2010/10/23/fresh-blood-getting-into-game-dev/#comments</comments>
		<pubDate>Sat, 23 Oct 2010 22:55:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iDevBlogADay]]></category>
		<category><![CDATA[idevblogaday]]></category>
		<category><![CDATA[industry]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=490</guid>
		<description><![CDATA[I&#8217;ve been thinking this week about young people looking to get into the games industry, this is mainly as we&#8217;ve had a couple of really great work experience students working with us in the office and also I&#8217;ve been doing a couple of talks at schools in our area. I wanted to make games from [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been thinking this week about young people looking to get into the games industry, this is mainly as we&#8217;ve had a couple of really great work experience students working with us in the office and also I&#8217;ve been doing a couple of talks at schools in our area.</p>
<p>I wanted to make games from the moment I got my first computer at 5/6 years old and was lucky enough to be able to teach myself BASIC through to C++ as I grow up first with the CPC and then early PCs and the internet in the very early 90s (IRC, the demoscene, newsgroups).</p>
<p>It&#8217;s always interesting to think about how we&#8217;re going to educate people wanting to join the industry and also what to say to young people asking what their best path would be.</p>
<p>The current popular path (based on CVs we receive &#8211; for programmers) is a games development course at University, in some cases with a computing course in the final years of high school perhaps covering Visual Basic or perhaps Java. For the most part though these people tend to be writing their first line of code only 3/4 years before entering the industry.</p>
<p>I want to say there are still people learning and coding at a much younger age (certainly the 15 year old student we had work with us this week has been programming in Flash/AS/PHP a while and was keen to learn C++ and Lua with us).</p>
<p>I&#8217;d like to look at a current state of play for young people wanting to learn to develop games (this has a programming tint to it apologies). I&#8217;m going to try and come up with good / bad points on the various areas to balance things out against how I found things while learning.</p>
<p><strong>The Internet</strong></p>
<p>Obviously a massive resource of everything games development / programming related over the last 20 years, very cheap to access (even if that happens to be at a public facility like a school or library) and available everywhere with modern mobile devices.</p>
<p><em>Good points</em></p>
<ul type="circle">
<li>Access to free tools (GCC,      XNA, Unity, Python, Lua, everything Open Source), tutorials and Q&amp;A,      features on games development.</li>
</ul>
<ul type="circle">
<li>A huge community of other      people learning and wanting to collaborate on projects and to encourage      others.</li>
<li>The ability to publish and      make money via digital distribution.</li>
</ul>
<p><em>Bad points</em></p>
<ul type="circle">
<li>Copy + Paste culture is      encouraged, googling a particular problem is likely to come up with      working code and I&#8217;ve spoken to people currently learning programming      admit that they&#8217;ve copied code without completely understanding what it      was doing. In that particular case when they later had problems with that      code they learnt the lesson about actually understanding everything they      add to their project but I think we all know of people relying on Google      way too much.</li>
</ul>
<ul type="circle">
<li>Other distractions on the      internet! WoW and online gaming (Minecraft!) not to mention Facebook      procrastination. I used to pay for every minute of internet access so I      made sure I spent my time well when online <img src='http://www.fourdoorlemon.com/wp-includes/images/smilies/icon_smile.gif' alt="icon smile Fresh blood (getting into game dev)" class='wp-smiley' title="Fresh blood (getting into game dev)" /> </li>
</ul>
<p><strong>Programming languages</strong></p>
<p>When I was learning to program there were still lots of languages but I had to purchase compilers via shareware discs (charged per disc) so I stuck to Assembler + C. My first language was BASIC.  Nowadays there is a huge variety of languages to choose from as a new programmer (despite C++ still being the primary development platform).</p>
<p><em>Good points</em></p>
<ul type="circle">
<li>Huge amount of choice is good      in that people can find something that fits with their understanding or      that provides the easiest learning experience. Once you have mastered one      language moving to others is a lot simpler process.</li>
<li>Experiencing different      styles, concepts and patterns is good for your overall programming      knowledge and helps you apply the best tool for the job.</li>
</ul>
<p><em>Bad points</em></p>
<ul type="circle">
<li>Choosing a bad language (in      terms of your career) and sticking with it. This can make you end up with      a set of portfolio apps that bear little relevance to the industry.</li>
<li>Not mastering one particular      language and just having an ok understanding of several may not help in      terms of applying for jobs.</li>
</ul>
<p><strong> </strong></p>
<p><strong>Schools/General education</strong></p>
<p>This is an area I don&#8217;t have a huge personal experience with, I planned to go into university education as a path into the industry but was fortunate enough to be offered a great job and felt that experience was worth more than education anyway (which I still believe funnily enough!).</p>
<p>From the point of view as a recruiter though :-</p>
<p><em>Good points</em></p>
<ul type="circle">
<li>University courses are      constantly improving and in the UK at least there are moves by government      and trade associations to link industry to academia.</li>
<li>Industry experts are actually      working more closely with universities in terms of guest lectures and      we&#8217;re seeing a lot of industry veterans moving into teaching.</li>
<li>I&#8217;ve seen signs of some      programming being taught later on in high school and apparently LOGO      Turtles are still used in primary education (controllable robots via a      simple movement / pen drawing interface).</li>
</ul>
<p><em>Bad points</em></p>
<ul type="circle">
<li>At university level there      still seem to be a lot of formerly &#8216;media production&#8217; courses that are      just being renamed to &#8216;Games development&#8217; just to get the numbers on the      courses up.</li>
<li>I&#8217;d really like there to be      more focus on programming / logic development at a younger age, technology      is everywhere in young peoples lives and a better understanding of the      logic (whether it&#8217;s through simple electronic teachings or focused on      programming) would be great.</li>
</ul>
<p><strong>Modern games</strong></p>
<p>There are a huge amount of platforms and genres available now.</p>
<p><em>Good points</em></p>
<ul type="circle">
<li>There are truly games for      everyone whether you prefer social games on PC, motion controller based      party games or more traditional hardcore FPS games. This gives us a bigger      audience of young people wanting to get into games &#8211; which hopefully      includes more female developers as well as males who wouldn&#8217;t previously      have been interested in games development.</li>
<li>Successful (simpler) iPhone      titles can be seen by people as something they could feasibly make      themselves given enough time.</li>
</ul>
<p><em> Bad points</em></p>
<ul type="circle">
<li>I&#8217;m not sure how much of a      problem this is but modern AAA games are so big with such huge budgets      that perhaps getting involved with the development of them may feel out of      reach to them.</li>
</ul>
<p><strong>Modern computers / Operating systems</strong></p>
<p>This is the usual reason that gets discussed with learning programming now versus 20 or so years ago.</p>
<p>On pretty much every platform you were first presented with a command prompt of some kind and even running a game from disc / tape required you to enter a command. Most users nowadays wouldn&#8217;t even know about the command line let alone understand any of the goings on behind the applications they work with. The bad points to this are kind of obvious but at the same time without this uninviting command prompt (to the majority of the public) home computers have grown in popularity to make the industry what it is today.</p>
<p><strong>Conclusion</strong></p>
<p>This is by no means a full analysis of the state of things but just a few areas I&#8217;ve been thinking about, young people with the determination can easily develop their skills quickly and they have access to many experienced professionals and equally intelligent amateur developers via the internet. With better education the future should be bright for the new talent entering the industry both in terms of AAA studios and the independent teams.</p>
<p><strong>Things we&#8217;ve been enjoying this week</strong></p>
<ul type="disc">
<li><a href="http://capped.tv/quite_orange-cdak">http://capped.tv/quite_orange-cdak</a>
<ul type="circle">
<li>Awesome 4k &#8216;cdak&#8217; by Quite       &amp; orange</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://the-witness.net/news/?p=650&amp;preview=true">http://the-witness.net/news/?p=650&amp;preview=true</a>
<ul type="circle">
<li>A talk called &#8216;Games and the       Human Condition&#8217; by Jonathan Blow, not had chance to watch it yet but       will certainly be interesting.</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://aws.amazon.com/free/">http://aws.amazon.com/free/</a>
<ul type="circle">
<li>Amazon are offering a free       year of an EC2 Micro Instance for new users.</li>
</ul>
</li>
</ul>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/qmX4yu398lc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2010/10/23/fresh-blood-getting-into-game-dev/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2010/10/23/fresh-blood-getting-into-game-dev/</feedburner:origLink></item>
		<item>
		<title>Game Design Docs</title>
		<link>http://feedproxy.google.com/~r/FourDoorLemon/~3/JMGz6yMV76U/</link>
		<comments>http://www.fourdoorlemon.com/2010/10/16/game-design-docs/#comments</comments>
		<pubDate>Sat, 16 Oct 2010 20:12:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iDevBlogADay]]></category>
		<category><![CDATA[idevblogaday]]></category>

		<guid isPermaLink="false">http://www.fourdoorlemon.com/?p=488</guid>
		<description><![CDATA[The last few weeks we&#8217;ve been working on the initial version of a Game Design Document for a new project we&#8217;re working on. We&#8217;re pretty much required to produce one for our publisher as it&#8217;s important to communicate the project as the game was signed off a higher level concept. It&#8217;s also very useful to [...]]]></description>
			<content:encoded><![CDATA[<p>The last few weeks we&#8217;ve been working on the initial version of a Game Design Document for a new project we&#8217;re working on.</p>
<p>We&#8217;re pretty much required to produce one for our publisher as it&#8217;s important to communicate the project as the game was signed off a higher level concept. It&#8217;s also very useful to us internally though as it helps us run through the ins and outs of the mechanics and the balancing issues that we&#8217;ll be facing on the project.</p>
<p>The topic of usefulness of GDDs has come up in recent weeks on a few forums, spawned by Sean Murray of Hello Games calling them insane (for their team and possibly he meant for Joe Danger) <a href="http://www.eurogamer.net/articles/2010-10-02-hello-games-design-docs-are-insane">http://www.eurogamer.net/articles/2010-10-02-hello-games-design-docs-are-insane</a></p>
<p>My current opinion on GDDs would be</p>
<ul type="circle">
<li><strong>Positives</strong>
<ul type="disc">
<li>It&#8217;s very useful to write       down ideas, it helps identify issues before you start coding which you might have missed in your       mental map / whiteboard discussions or even prototypes (depending on       which way round you&#8217;re doing things). Also some people&#8217;s brains are wired       so that actually writing down or voicing an idea makes them analyse it in       a certain way. I certainly find this with difficult coding issues that       talking it through with someone I&#8217;ll sometimes realise I&#8217;ve got an answer       locked away.</li>
</ul>
<ul type="disc">
<li>Having a GDD makes it easy       to send out to contractors and to give to employees new to a project.       They can quickly understand the full project, the designers intention and       the planned implementation for it.</li>
</ul>
<ul type="disc">
<li>Linked to the above point       it&#8217;s vital for providing to QA teams who need to verify that things are       functioning as they&#8217;re intended, especially in terms of edge cases with       particular mechanics.</li>
<li>And as I originally stated       they&#8217;re almost required for certain projects to provide to everyone from       our external producers, external marketing and business teams (who need       to understand the game early in the development process to plan / look at       possible opportunities) and lawyers to understand what we&#8217;re aiming to       pull off with the project.</li>
</ul>
</li>
</ul>
<ul type="circle">
<li><strong>Negatives</strong>
<ul type="disc">
<li>The biggest problem with       GDDs is the amount of change that occurs especially in early development       and the GDD not being updated to replace it. This effectively gives GDDs       a use-by date after which you need to take it with a pinch of salt.       Companies tend to use wikis and other live documentation systems to       counter this but unless someone is actively maintaining it things can       still easily slip when more important production tasks come up.</li>
<li>Even worse than not updating the       GDD is people not actually reading it! The initial GDD I&#8217;ve been writing       is 50 pages in total (and will get longer as information on particular       items and NPCs is inserted) and more than a few read-throughs could be       time consuming. Highlighting changes and structuring the document well       for referencing is essential to aid with this.</li>
<li>Wasted development time &#8211;       writing / maintaining / reading the GDD could be spent just developing,       testing and iterating on the project and for smaller teams as Sean       mentioned this can be a much more efficient route.</li>
</ul>
</li>
</ul>
<p>Iteration is vital to the design process which Sean hinted towards, you can&#8217;t just write down the recipe for the game you need to actually cook it (and then experiment).</p>
<p>We&#8217;re fortunate in that we&#8217;ve organised our current pre-production to occur before we deliver what we deem to be &#8216;THE&#8217; GDD and TDD for our project, this should hopefully get us closer to the line on the documents than we normally would be at this stage in a project.</p>
<p>Personally I find the writing and structure elements of GDDs the hardest. I&#8217;ve regretted going from OneNote to Word too early in the process &#8211; a few days were spent cutting + pasting parts around the document trying to get the flow of things right.</p>
<p>It&#8217;s also important to keep a consistent writing style to allow easy reading and also getting across the fun of what you&#8217;re describing (especially when selling the idea to marketing who may not be as invested in the project at an early stage). I&#8217;m not sure how well I&#8217;ve mastered this yet but fingers crossed <img src='http://www.fourdoorlemon.com/wp-includes/images/smilies/icon_wink.gif' alt="icon wink Game Design Docs" class='wp-smiley' title="Game Design Docs" /> </p>
<p>Hopefully I&#8217;ll be able to talk a bit more about our pre-production process over the coming weeks.</p>
<p>Thanks!</p>
<p><strong>Things we&#8217;ve been enjoying this week</strong></p>
<ul type="disc">
<li><a href="http://game-linchpin.com/2010/10/where-the-money-goes.html">http://game-linchpin.com/2010/10/where-the-money-goes.html</a>
<ul type="circle">
<li>A great post by industry       veteran Simeon Pashley showing the breakdown of costs involved with       running a games studio. He has stolen one of my future blog post ideas       but I couldn&#8217;t have done as good a job as he has <img src='http://www.fourdoorlemon.com/wp-includes/images/smilies/icon_smile.gif' alt="icon smile Game Design Docs" class='wp-smiley' title="Game Design Docs" /> </li>
<li>This shows how much being a       solo dev working from home / remote team can earn you extra on a title       with decent sales. There are benefits to having and running a studio       however which is why we still do!</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://itunes.apple.com/us/app/trainyard/id348719156?mt=8">http://itunes.apple.com/us/app/trainyard/id348719156?mt=8</a>
<ul type="circle">
<li>Trainyard <a href="http://struct.ca/">http://struct.ca/</a> by Matt Rix, it&#8217;s very       likely you&#8217;ve already seen this great iPhone title as it&#8217;s in the top 5       pretty much everywhere in the world!</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://www.pcgamer.com/2010/09/30/ai-war-and-the-hidden-cost-of-indie-games/">http://www.pcgamer.com/2010/09/30/ai-war-and-the-hidden-cost-of-indie-games/</a>
<ul type="circle">
<li>Countering the Minecrafts of       the world this is a breakdown of financials on AI War and Tidalis and the       struggles they&#8217;re facing.</li>
</ul>
</li>
</ul>
<ul type="disc">
<li><a href="http://gpl.ea.com/skate3.html">http://gpl.ea.com/skate3.html</a>
<ul type="circle">
<li>EA have open sourced their       WebKit implementation which also includes some of the EA STL. I presume       they are forced to due open source a lot of this due to some of the viral       source licenses in there. Looks like they&#8217;ve packaged it nicely and       pushed it out to the public though which could be useful for some people.</li>
</ul>
</li>
</ul>
<img src="http://feeds.feedburner.com/~r/FourDoorLemon/~4/JMGz6yMV76U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fourdoorlemon.com/2010/10/16/game-design-docs/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.fourdoorlemon.com/2010/10/16/game-design-docs/</feedburner:origLink></item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced

Served from: www.fourdoorlemon.com @ 2012-01-23 00:05:48 -->

