<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Streaming Colour Studios &#187; Art</title>
	<atom:link href="http://www.streamingcolour.com/blog/category/art/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.streamingcolour.com/blog</link>
	<description>The trials and joys of indie games development</description>
	<lastBuildDate>Sat, 28 Jan 2012 03:48:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Design Trek III: The Search for Inspiration</title>
		<link>http://www.streamingcolour.com/blog/2011/05/03/design-trek-iii-the-search-for-inspiration/</link>
		<comments>http://www.streamingcolour.com/blog/2011/05/03/design-trek-iii-the-search-for-inspiration/#comments</comments>
		<pubDate>Tue, 03 May 2011 15:38:18 +0000</pubDate>
		<dc:creator>OG</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[iDevBlogADay]]></category>
		<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Ideas]]></category>
		<category><![CDATA[inspiration]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.streamingcolour.com/blog/?p=1520</guid>
		<description><![CDATA[(No, this isn&#8217;t the 3rd in a series, that was a bad reference to Star Trek) At the end of last week I wrapped up my work on a contract I&#8217;d been working on since last fall. My part of the project has been passed on to the next team of developers who will wrap [...]]]></description>
			<content:encoded><![CDATA[<p>(No, this isn&#8217;t the 3rd in a series, that was a bad reference to <a href="http://www.imdb.com/title/tt0088170/" target="_blank">Star Trek</a>)</p>
<p>At the end of last week I wrapped up my work on a <a href="http://www.troublebrothers.com/games/cargo-runners/" target="_blank">contract</a> I&#8217;d been working on since last fall. My part of the project has been passed on to the next team of developers who will wrap up the final features. It feels great to be able to get back to work on my own projects, and I look forward to seeing the game launch when it&#8217;s done.</p>
<p>As I am returning to working on my own games, I thought a post about the time between projects would be in order. I often get asked by players where I find the inspiration for my games. I&#8217;m sure we all have different answers for this, but I thought I&#8217;d try to explain mine.</p>
<p>Where an idea comes from is difficult to answer. Inspiration comes in many forms for me, and I&#8217;m never quite sure where I&#8217;m going to find it. Sometimes it comes from playing another video game, sometimes a movie, sometimes discussing politics with friends.</p>
<p>One of the things that I think is most misunderstood about inspiration is the idea that you don&#8217;t need to work at it, that it will just come to you in a flash. I don&#8217;t believe this ever to be the case. Inspiration takes work, it takes dedication, and it takes patience. You need to work at being inspired. You need to work at your ideas. An artist might do dozens of sketches, then several small paintings working on an idea before finding the direction they want to take the final work. We too must actively look for ideas, experiment and refine them. That flash of inspiration only comes after you&#8217;ve done the research, the work, and given it all time to let your brain process the ideas.</p>
<p>Well that&#8217;s great, you say, but where do I begin? If it takes all this work, where does the work start? These are some of the activities I&#8217;ll do when I&#8217;m actively looking for inspiration:</p>
<ul>
<li>read a book about a new subject</li>
<li>watch a film</li>
<li>go for a walk in nature</li>
<li>go for a walk in the city</li>
<li>play a video game</li>
<li>play a board game</li>
<li>go to a museum</li>
<li>go to an art gallery</li>
<li>write something</li>
<li>draw</li>
<li>build something with my hands</li>
<li>go out for a good meal</li>
<li>cook something new</li>
<li>go out with friends and/or family</li>
<li>walk to the river and listen the sounds of the water</li>
<li>start writing ideas down</li>
</ul>
<p>You might have your own list that&#8217;s totally different. However, I believe that one of the most important items on that list is the last one: write down your ideas. The act of forcing yourself to think about a problem will lead to inspiration. It is not easy, it may even be actively difficult, but working through it will lead you in new directions and to new solutions. The more ideas you write down, the more ideas you will have. The less you work at actively thinking of new ideas, the fewer ideas you will have. This is why inspiration takes work.</p>
<p>But perhaps most importantly, you need to be constantly open to new ideas. You need to be aware of when an good idea is speaking to you, and know to follow it. That means resisting the urge to make assumptions and snap judgements about an idea. It means talking with people who disagree with you. It means debating without shutting out. It means empathy. Because finding a new idea often means looking at a problem from another point of view; understanding someone else&#8217;s feelings; putting yourself in someone else&#8217;s shoes.</p>
<p>As game designers, we need to be engaged in the world around us. Games are about interactivity, emotion, and narrative. The world is full of all these things, we just have look for it, and work at it seeing it.</p>
<p>Owen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.streamingcolour.com/blog/2011/05/03/design-trek-iii-the-search-for-inspiration/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Universal OpenGL Apps</title>
		<link>http://www.streamingcolour.com/blog/2010/11/28/universal-opengl-apps/</link>
		<comments>http://www.streamingcolour.com/blog/2010/11/28/universal-opengl-apps/#comments</comments>
		<pubDate>Sun, 28 Nov 2010 18:31:27 +0000</pubDate>
		<dc:creator>OG</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[iDevBlogADay]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[app store]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[UIUserInterfaceIdiomPad]]></category>
		<category><![CDATA[UI_USER_INTERFACE_IDIOM]]></category>
		<category><![CDATA[universal]]></category>

		<guid isPermaLink="false">http://www.streamingcolour.com/blog/?p=1398</guid>
		<description><![CDATA[I recently took part in the 360iDev Game Jam remotely from home. The game jam is always a lot of fun, even if you can&#8217;t get yourself to the 360iDev conference itself (which you should totally do, by the way, if you can. It&#8217;s an amazing conference). I created a game in 8 hours which [...]]]></description>
			<content:encoded><![CDATA[<p>I recently took part in the <a href="http://gamejam.360idev.com" target="_blank">360iDev Game Jam</a> remotely from home. The game jam is always a lot of fun, even if you can&#8217;t get yourself to the <a href="http://360idev.com" target="_blank">360iDev</a> conference itself (which you should totally do, by the way, if you can. It&#8217;s an amazing conference). I created a game in 8 hours which I&#8217;m calling &#8220;Dirty Diapers&#8221;, you can see the details of its creation on the <a href="http://gamejam.360idev.com/changing-the-world-one-diaper-at-a-time/" target="_blank">Game Jam site</a>. There&#8217;s a video of the game in action at the end of that page.</p>
<p>The game is about keeping a room full of babies happy. Over time, babies become unhappy because they either want to be fed, changed, or rocked. It&#8217;s your job to drag an action up from the bottom of the screen to make the baby happy again. As time goes on, they get more unhappy more frequently.</p>
<p>I think it turned out quite well, so I&#8217;ve decided to try to get it into the store at some point. Right now I&#8217;m extremely busy with some contract work, but I&#8217;m trying to find a few hours here and there to finish it up and submit it.</p>
<p>One of things I decided to try with this game was to build it as a universal app (that is, one app that runs on iPhone/iPod touch, and iPad, instead of separate apps for iPhone and iPad). The game is 100% OpenGL on the rendering side, so I needed to figure out how to set up my frame buffers for a universal app. I thought I&#8217;d go through that today. (Holy moly, a technical post instead of an indie lifestyle post! Hold on to your hats!)</p>
<h4>Project Setup</h4>
<p>The first thing you need to do for a universal app is set up your Xcode project so that it knows to build the app as universal. I went to Jeff LaMarche&#8217;s excellent blog and <a href="http://iphonedevelopment.blogspot.com/2010/04/converting-iphone-apps-to-universal.html" target="_blank">followed his instructions</a> to do this part (and read <a href="http://iphonedevelopment.blogspot.com/2010/04/few-more-notes-on-creating-universal.html" target="_blank">the follow-up post</a> for a few more details).</p>
<p>Once you&#8217;ve done that, you should have a project that can at least compile for iPad or iPhone. Good.</p>
<h4>Frame Buffer Setup</h4>
<p>Now that you&#8217;ve got your app building for multiple devices, you&#8217;re going to need to do some work to support multiple screen resolutions. As of this writing, there are three different resolutions to worry about:</p>
<ul>
<li>iPad: 1024 x 768</li>
<li>iPhone/iPod touch (non-retina display): 320 x 480</li>
<li>iPhone/iPod touch (retina display): 640 x 960</li>
</ul>
<p>However, Apple does some clever stuff to help you with the retina displays. If you query the size of the screen:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;">CGRect screenFrame <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIScreen mainScreen<span style="color: #002200;">&#93;</span> applicationFrame<span style="color: #002200;">&#93;</span>;</pre></div></div>

<p>You&#8217;ll get 320 x 480 on <em>both </em>retina and non-retina displays. This is because they measure the screen in &#8220;points&#8221; instead of pixels now. On a retina display, there are 2 pixels for every point. The nice thing is that it lets you treat all iPhone/iPod touch screens the same way, with the same positioning code.</p>
<p>Ok, so we&#8217;ve got these different screen sizes, we need to tell OpenGL to create different sized frame buffers. Somewhere in your code you&#8217;ve probably got something <em>like</em> this, which creates a render buffer from an EAGLDrawable CAEAGLLayer:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">glBindRenderbufferOES<span style="color: #008000;">&#40;</span>GL_RENDERBUFFER_OES, buffer.<span style="color: #007788;">m_colorBufferHandle</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#91;</span>oglContext renderbufferStorage<span style="color: #008080;">:</span>GL_RENDERBUFFER_OES fromDrawable<span style="color: #008080;">:</span>drawable<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
glGetRenderbufferParameterivOES<span style="color: #008000;">&#40;</span>GL_RENDERBUFFER_OES, GL_RENDERBUFFER_WIDTH_OES, <span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span>buffer.<span style="color: #007788;">m_width</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
glGetRenderbufferParameterivOES<span style="color: #008000;">&#40;</span>GL_RENDERBUFFER_OES, GL_RENDERBUFFER_HEIGHT_OES, <span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span>buffer.<span style="color: #007788;">m_height</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></div></div>

<p>If you build and run, what you&#8217;ll find is that your render buffer will be created with the proper size for iPad and non-retina displays, but you&#8217;ll end up with a 320 x 480 render buffer for retina displays (which need 640 x 960), and your retina display game will look awful. This is because the CAEAGLLayer is telling OpenGL that it&#8217;s dimensions are 320 x 480 on the retina display.</p>
<p>In order to remedy this, we need to make use of two new UIView properties found in iOS 4.0 and up called: <strong>scale</strong> and <strong>contentScaleFactor</strong>.</p>
<h5>scale</h5>
<p>The new scale property will tell you the amount the point values of the UIView are being scaled. If you&#8217;re running on a non-retina display and query a view&#8217;s scale, it will be 1.0. If you&#8217;re running on an retina display, you&#8217;ll find that it&#8217;s 2.0. This gives you a way to test which kind of display we&#8217;re working with, and we&#8217;ll use this later.</p>
<h5>contentScaleFactor</h5>
<p>The contentScaleFactor is a different beast. This will always be 1.0. However, if you&#8217;re running OpenGL in a view on a retina display, <em>you</em> need to set this value to match the scale value of the view. This will tell the CAEAGLLayer to update its dimensions to match the actual pixel size of the screen, allowing you to create an appropriately sized render buffer.</p>
<p>Now, if you&#8217;re planning to support iOS versions prior to 4.0, these properties won&#8217;t be available, so you need to do runtime checks for them.</p>
<p>This is what I do inside my EAGLView&#8217;s -layoutSubviews method to set the contentScaleFactor on the view:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #11740a; font-style: italic;">// Set the scale factor to be the same as the main screen</span>
<span style="color: #a61390;">if</span> <span style="color: #002200;">&#40;</span><span style="color: #002200;">&#91;</span>self respondsToSelector<span style="color: #002200;">:</span> NSSelectorFromString<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;contentScaleFactor&quot;</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#123;</span>
    <span style="color: #002200;">&#91;</span>self setContentScaleFactor<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIScreen mainScreen<span style="color: #002200;">&#93;</span> scale<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#125;</span></pre></div></div>

<p>Now, when I tell the render buffer to create itself based on the size of the layer, it will create a 640 x 960 render buffer on a retina display, but a 320 x 480 buffer on a non-retina display. Hooray! But, we&#8217;re not quite there yet&#8230;</p>
<h4>Viewport Setup</h4>
<p>We&#8217;ve got our render buffer set up to create itself at the proper resolution now. It will match the screen dimension and contentScaleFactor of the EAGLView, which is what we want. Now we need to tell OpenGL to create an appropriately sized viewport. This code is for a 2D game, so adjust as necessary for a 3D game.</p>
<p>You&#8217;ll need to create a viewport that matches the frame buffer size for the given screen. Something like this:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">glViewport<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span>, buffer.<span style="color: #007788;">m_width</span>, buffer.<span style="color: #007788;">m_height</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></div></div>

<p>For a 2D game, you then need to set up an orthogonal projection. There&#8217;s a good chance that you have a line in your code somewhere that looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">glOrthof<span style="color: #008000;">&#40;</span><span style="color:#800080;">0.0f</span>, <span style="color: #0000dd;">480</span>.<span style="color: #007788;">f</span>, <span style="color: #0000dd;">320</span>.<span style="color: #007788;">f</span>, <span style="color:#800080;">0.0f</span>, <span style="color: #000040;">-</span><span style="color:#800080;">1.0f</span>, <span style="color:#800080;">1.0f</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></div></div>

<p>Clearly this isn&#8217;t going to work. Now, there are two options here for creating the transform:</p>
<h5>1) Create the transform based on the UIScreen size</h5>
<p>The code for this is simple:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;">CGRect appFrame <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIScreen mainScreen<span style="color: #002200;">&#93;</span> applicationFrame<span style="color: #002200;">&#93;</span>;
glOrthof<span style="color: #002200;">&#40;</span>0.0f, appFrame.size.width, appFrame.size.height, 0.0f, <span style="color: #002200;">-</span>1.0f, 1.0f<span style="color: #002200;">&#41;</span>;</pre></div></div>

<p>However, let&#8217;s look at what this does. On iPad, it creates a 1024 x 768 sized viewport. Great, that&#8217;s what we want. On a non-retina display, it creates a 320 x 480 viewport. Also good. But, on a retina display, it <em>also</em> creates a 320 x 480 display. Now, this is OK. The framebuffer is 640 x 960, so the pixels are there. So what does this mean?</p>
<p><strong>The Good</strong></p>
<p>You only need to write two code paths for positioning sprites on the screen: one for iPad, and one for iPhone, and let OpenGL handle matching the render buffer to the viewport appropriately for you. The only caveat here is that you&#8217;ll need to manually scale all your sprites&#8217; sizes by 50%. If you do this, you&#8217;ll scale them down to the correct point size, and then OpenGL will render them at 100% resolution when it pushes the textures through the render pipeline.</p>
<p>Confused? Think about it this way: you&#8217;ve got a view port of 320 x 480 but a render buffer of 640 x 960. Take a sprite that&#8217;s 100 pixels x 100 pixels and render it as a 100 x 100 <strong>point</strong> sprite in the viewport. This is <em>actually</em> 200 x 200 <strong>pixels</strong> in the render buffer. So in order to render it as 100 x 100 <strong>pixels</strong>, you need to scale your vertices down by 50% to a 50 x 50 <strong>point</strong> sprite.</p>
<p><strong>The Bad</strong></p>
<p>You&#8217;ll need to write some code into your sprite system (and bitmap font system) to scale things to 50% if you&#8217;re on a retina display.</p>
<p>This is the approach I use. At app startup, I get the screen scaling factor, and then use it to scale all my sprites:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #a61390;">if</span> <span style="color: #002200;">&#40;</span><span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIScreen mainScreen<span style="color: #002200;">&#93;</span> respondsToSelector<span style="color: #002200;">:</span> NSSelectorFromString<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;scale&quot;</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#123;</span>
    ScreenScaleFactor <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIScreen mainScreen<span style="color: #002200;">&#93;</span> scale<span style="color: #002200;">&#93;</span>;
    InverseScaleFactor <span style="color: #002200;">=</span> <span style="color: #2400d9;">1</span>.f <span style="color: #002200;">/</span> ScreenScaleFactor;
<span style="color: #002200;">&#125;</span></pre></div></div>

<h5>2) Create the transform based on the layer size</h5>
<p>The alternative is to create a different viewport size based on the actual pixel size of the screen. You can do this by getting the size of your created render buffer. Something like this:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">glOrthof<span style="color: #008000;">&#40;</span><span style="color:#800080;">0.0f</span>, frameBuffer.<span style="color: #007788;">m_width</span>, frameBuffer.<span style="color: #007788;">m_height</span>, <span style="color:#800080;">0.0f</span>, <span style="color: #000040;">-</span><span style="color:#800080;">1.0f</span>, <span style="color:#800080;">1.0f</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></div></div>

<p>This will give you a viewport that matches the screen size in pixels, not points.</p>
<p><strong>The Good</strong></p>
<p>The advantage here is that you don&#8217;t need to do any sprite scaling. You just render everything at 100%.</p>
<p><strong>The Bad</strong></p>
<p>You&#8217;ll need to have three different code paths for sprite positioning, based on the size of the screen, as you&#8217;ll now have three different sized viewports to worry about.</p>
<h4>Art Work</h4>
<p>You&#8217;ll probably want to have different sized artwork for non-retina  displays than for iPad and retina displays. For Dirty Diapers I&#8217;ve got  two game texture atlases: one for iPad and retina displays, and one for  non-retina displays. The non-retina atlas is identical to the larger  one, it&#8217;s just scaled down 50% in Photoshop. You <em>could</em> scale your graphics in OpenGL, but it will never look as good. If you&#8217;re like me, the imperfections will just drive you nuts.</p>
<p>So I have two texture atlases, but there are 3 possible screen sizes  to worry about (see the next section). I do a check like this to  determine which texture atlas to load:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>UI_USER_INTERFACE_IDIOM<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> UIUserInterfaceIdiomPad <span style="color: #000040;">||</span>
    ScreenSizeConsts<span style="color: #008080;">::</span><span style="color: #007788;">ScreenScaleFactor</span> <span style="color: #000040;">&amp;</span>gt<span style="color: #008080;">;</span> <span style="color:#800080;">1.01f</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">// Load texture atlas for iPad/Retina display</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">else</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">// Load texture atlas for Original iPhone display</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>If you want to load 3 different textures (iPad, non-retina, retina),  you can use the @2x.png file naming convention (depending on how you&#8217;re loading your textures) and just check for iPad  or not, but now you&#8217;re dealing with 3 sets of textures. The choice is yours. If you&#8217;re loading textures manually and the @2x trick doesn&#8217;t work, you can split things out like this:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>UI_USER_INTERFACE_IDIOM<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> UIUserInterfaceIdiomPad<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">// Load texture atlas for iPad display</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ScreenSizeConsts<span style="color: #008080;">::</span><span style="color: #007788;">ScreenScaleFactor</span> <span style="color: #000040;">&amp;</span>gt<span style="color: #008080;">;</span> <span style="color:#800080;">1.01f</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">// Load texture atlas for Retina display</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">else</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">// Load texture atlas for Original iPhone display</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<h4>Finally, Positioning</h4>
<p>Now you&#8217;ve got your different artwork loading, you&#8217;ve got your render buffer set up, and your viewport set up. Now you just need to tell your objects to render in different positions, based on the screen. To do this, I set up a bunch of member variables for positioning code (for static items), and then on init, check the device and screen scale factors and adjust them accordingly. This is necessary for 2D art layout, but if you&#8217;re working with a viewport into a 3D world, you may not need to do nearly as much work here.</p>
<h4>That&#8217;s it&#8230;</h4>
<p>There you go. I hope you were able to follow along and I wasn&#8217;t too confusing. If you&#8217;ve got better ways of doing any of this, feel free to post suggestions in the comments.</p>
<p>Owen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.streamingcolour.com/blog/2010/11/28/universal-opengl-apps/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>LandFormer Postmortem</title>
		<link>http://www.streamingcolour.com/blog/2010/08/27/landformer-postmortem/</link>
		<comments>http://www.streamingcolour.com/blog/2010/08/27/landformer-postmortem/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 17:45:38 +0000</pubDate>
		<dc:creator>OG</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[in app purchase]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[LandFormer]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[postmortem]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[ad network]]></category>
		<category><![CDATA[ads]]></category>
		<category><![CDATA[artwork]]></category>
		<category><![CDATA[everything]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[gameplay]]></category>
		<category><![CDATA[iap]]></category>
		<category><![CDATA[ios 4]]></category>
		<category><![CDATA[launch]]></category>
		<category><![CDATA[level editor]]></category>
		<category><![CDATA[multitasking]]></category>
		<category><![CDATA[right]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[wrong]]></category>

		<guid isPermaLink="false">http://www.streamingcolour.com/blog/?p=1216</guid>
		<description><![CDATA[A couple of months after I launch a game, I like to sit down and take a hard and honest look at the things that went right and the things that went wrong: a postmortem. It&#8217;s a great exercise to go through after a game is launched to learn from your successes and, more importantly, [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of months after I launch a game, I like to sit down and take a hard and honest look at the things that went right and the things that went wrong: a postmortem. It&#8217;s a great exercise to go through after a game is launched to learn from your successes and, more importantly, your mistakes. I wrote up a <a href="http://www.streamingcolour.com/blog/2010/01/06/postmortem-monkeys-in-space/" target="_blank">postmortem after launching Monkeys in Space</a> that was based on the structure that <a href="http://www.gdmag.com/" target="_blank">Game Developer Magazine</a> uses. I&#8217;m going to use that same format for this LandFormer postmortem.</p>
<h4>Introduction</h4>
<p>If you haven&#8217;t played the game, <a href="http://www.landformer.net" target="_blank">LandFormer</a> is a puzzle game for iPhone/iPod touch. Each level is made up of a 5&#215;5 grid of terrain at different heights (oceans, up to mountains). The goal on each level is to use land forming tools to modify the heights of the terrain tiles to flatten things out. It&#8217;s a challenging game that starts off very easy, but get quite difficult in the harder levels. It&#8217;s a game that requires skill, patience, but most of all, intuition.</p>
<p>The game is free to download and try (there are 12 levels currently in the free version of the game), with In-App Purchase (IAP) available to upgrade to the &#8220;full&#8221; version of the game, as well as IAP for additional visual themes and additional levels. I think of it like a demo, where the user gets to try it and then decide if they want to spend money on more levels. The free version also contains ads, which are disabled if the player buys any content from the in-game shop.</p>
<p>The game launched on June 29, 2010 and has had 147,000 downloads of the free version of the game so far.</p>
<h4>What Went Right?</h4>
<h5>1) Gameplay</h5>
<p>I&#8217;m really happy with how the game itself turned out. LandFormer started as a <a href="http://toucharcade.com/2009/10/02/360idev-game-jam-10-hours-of-game-development-insanity/" target="_blank">prototype called &#8220;UpDown&#8221;</a> that I did in 6 hours at the all-night GameJam for 360iDev Denver in September, 2009 (I participated via Skype). After I launched Monkeys in Space, I returned to the prototype in early 2010 and started playing around with ways to make it more fun, and settled on the terraforming theme, which helps players understand what they&#8217;re supposed to do, and why.</p>
<p>What I like most about the game is that I haven&#8217;t really seen other puzzle games like it. It&#8217;s similar in play-style to sliding block puzzle games (it requires a similar combination of spatial reasoning and intuition), but the up/down movement of the pieces makes it feel very new and requires new ways of thinking. It&#8217;s also very easy to learn how to play, but takes time to really master it and get good at the more difficult puzzles. In the end, I think the gameplay stands as being strong, and I&#8217;m very pleased with how the game turned out.</p>
<h5>2) Strong Launch</h5>
<p>This is my 3rd game, and thus my 3rd game launch. However, with LandFormer I decided it was time to try a new launch strategy. With my previous games, I launched the games as soon as Apple approved them. This caused all sorts of problems in terms of getting press materials out, and reviews trickling out gradually. With LandFormer, I decided to set a proper release date. When Apple approved the game, I set the release date for a week and a half into the future. I immediately sent out press releases to sites along with promo codes (yes, they work once the game has been approved, but before it&#8217;s available in the store) for press to try the game. Because my content is all IAP on my server, I could also make it available to the press for free during the pre-launch review period. Very handy.</p>
<p>The result of this new launch strategy was that several large review sites had reviews out within one or two days of launch. This helped pick up momentum for the game, then the first Thursday after launch Apple featured it as a Hot New Game. The Friday immediately after the feature, <a href="http://gizmodo.com/5578615/this-weeks-best-apps/gallery/" target="_blank">Gizmodo ran a review</a> of the game, which boosted downloads tremendously for the following weekend.</p>
<p>I really couldn&#8217;t have asked for much better a launch. The only way it could have been better was by getting a front-page feature, or App of the Week feature from Apple. They&#8217;re probably just saving that for my next game (har har).</p>
<h5>3) Free + IAP</h5>
<p>As all developers do, I struggled a lot with the pricing model for the game. My other games are both paid games, but Dapple has a separate Lite version for players to &#8220;try before they buy&#8221;. The thing I don&#8217;t like about the Lite model is that it requires players to download two separate apps if they then want to buy the game. It always felt kludgy to me. Ultimately I decided to set things up like a PC or XBLA demo: free to download it, but if you like it, buy the full upgrade from within the game. This is the really exciting monetization path that IAP opened up when Apple introduced it.</p>
<p>Because I was implementing the in-game store for this anyway, it also allowed me to developing a theming system for the game and sell themes. It also means I can continue to release new level packs for users without having to update the game itself.</p>
<p>I think the model has a lot of potential on the app store. The free download gets you maximum visibility on the store (people are willing to download something just because it&#8217;s free), but then you have a way to earn some money within the app. However, it&#8217;s not all <a href="http://games.adultswim.com/robot-unicorn-attack-twitchy-online-game.html" target="_blank">rainbows and unicorns</a>: see the corresponding section in What Went Wrong.</p>
<h5>4) Level Editor</h5>
<p>When I started building the game, I was building levels as string of data then loading them into the game and testing them. This was ridiculous. I realized early on that building a level could be seen as solving a level in reverse. I was able to very quickly build a first pass at a level editor just by reversing the rules: start with a flat plane, and use the tools to deform it. This had two advantages: 1) it made building levels much easier, and 2) it meant that any level created in the level editor was guaranteed to have a solution.</p>
<p>Once I had it working for my own purposes I decided that it needed to be available to players in the game. The level editor is so easy and intuitive to use, I need people to be able to play with it. I&#8217;m happy I took the time to do the UI work required to build the level editor out into something that everyone could use.</p>
<p>The editor allows players to create their own levels, but beyond that, I implemented a sharing system based on URLs, where players could email a level to a friend. The friend clicks a link in the email and the level opens inside their copy of the game for them to play. It&#8217;s a simple system, that I think works quite nicely.</p>
<h5>5) Doing Everything (Almost)</h5>
<p>Since Monkeys in Space, I&#8217;ve been doing everything except the music in my games by myself. For both Monkeys and LandFormer I did all of the game design, programmer, artwork, UI design, sound design, PR, and marketing. I don&#8217;t do music, because that&#8217;s just something I&#8217;m not capable of doing myself. However, doing everything myself has given me a lot of freedom to make the game exactly how I want to make it. It also allows me to think about how a change will impact all the various aspects of the game. And, perhaps most importantly, it allows me to save a huge amount of out-of-pocket expense. I would love to have the funds to pay a full-time artist to work on the game, but that&#8217;s just not in the cards for me yet. I do have some art background, but doing all my own art for these games has helped me get a lot better than I was. I hope I&#8217;ll continue to improve. However, this is also another one of those things that also appears on the What Went Wrong section. So let&#8217;s get to that now.</p>
<h4>What Went Wrong?</h4>
<h5>1) Free + IAP</h5>
<p>I listed the reasons why I thought Free + IAP was great for LandFormer, but it&#8217;s also something that didn&#8217;t work great. One thing I was not at all prepared for was a backlash from users over the pricing model. I thought that players would be happy that they were given an opportunity to try the game before spending any money on it. However, the reaction from a lot of players instead was &#8220;The game says it&#8217;s free, but you have to buy stuff!&#8221; I got called a cheat, a liar, and a con artist.</p>
<p>My immediate reaction was that my app description clearly states that you only get the Beginner levels for free and have to buy the others. The app page in the store also lists the top IAP. But what I learned is that no one reads that stuff. I think I got a lot of downloads (especially after some of the big press stories ran) from people who saw the name, the icon, and &#8220;free&#8221; and downloaded it.</p>
<p>The problem is that there&#8217;s a disconnect between my view of the pricing model, and that of the minority of angry, vocal, app store consumers. I saw: &#8220;LandFormer offers you a way to try the game for free, and if you like it, buy it.&#8221; That customer sees: &#8220;Hey, a free game!&#8221; And then is angry when they discover they can&#8217;t play all the levels for free.</p>
<p>In the end, I&#8217;m not sure if the pricing model I chose for LandFormer was the right call or not. I&#8217;m not convinced that I wouldn&#8217;t have made more money by distributing a Lite version and a separate paid version (or only a paid version). App Store customers have gotten used to that model. I think it&#8217;s a problem with the fact that IAP didn&#8217;t exist from the start. Users had a year to get used to a certain business model, now we&#8217;re trying to change that. It&#8217;s going to be a difficult transition.</p>
<p>Not to go on about this for too long, but I think the Free + IAP model works best for games where you&#8217;re giving away a complete game for free, and then selling IAP for additional content that&#8217;s not required. If I ever do another free game, I&#8217;ll be looking toward that model.</p>
<h5>2) iOS 4 + Multitasking</h5>
<p>Apple launched iOS 4 on June 21, 2010, 8 days before I launched LandFormer, but 2 days after Apple had approved it. I had time with the beta SDK to make sure the game didn&#8217;t crash and that the game could be put into the background and restored properly before shipping it. However, I spent a great deal of time over the next 3 updates fixing weird little issues that cropped up because of iOS 4 multitasking. Multitasking caused all kinds of problems with my level sharing system, as well as my save system. I believe there was also one crash that only showed up in iOS 4 because of a change in the way some touch events fired. I&#8217;m not blaming Apple, it was just bad luck on my part that I launched so close to iOS 4, and I couldn&#8217;t afford to delay the launch of the game any more to deal with all the little issues that cropped up.</p>
<h5>3) Ad Network</h5>
<p>I mentioned in the introduction that I decided to include ads in the free version of the game. This is in this section for several reasons. At the peak of LandFormer&#8217;s popularity, it was being downloaded about 12,000 times per day. This translated into about 50,000 ad impressions a day. However, my click-through rate (CTR) was abysmal. It turned out that the way I was loading ads meant that a lot of people never saw the ads I requested. On my best day, I made about $5 off of ads. In the first update to the game (v1.1) I released a fix that made sure that ads were displayed properly to users. However, by the time it was approved I was down to a few hundred downloads a day of the free game. Even though my CTR increased dramatically with the change, my earnings averaged out around $0.30-0.40/day.</p>
<p>On top of that, the ad network I used had a crash bug in its code. After a couple of weeks trying to help them track the problem down, they told me they weren&#8217;t going to look into it any further. I was getting several support requests a week from players about this crash, so ultimately I pulled their ad network out of my game and I wrote my own custom system.</p>
<p>The game now (in v1.1.2) pulls ads of my own server. This is cool for several reasons. Now I get to decide what ads get shown in the game, it means I can cross promote my other games, and it means that I can promote games that I actually buy and play. I use LinkShare to get a small royalty any time someone actually buys through this system, but that&#8217;s been next to nothing so far. Still, I&#8217;d rather help support developers whose work I respect and have no crashes, than get the $0.30/day but with 10% of users experiencing a crash every time they launch the game.</p>
<h5>4) Themes</h5>
<p>When I built the IAP system I was very excited to be able to sell themes (skins) for the game. The way I had set up the graphics engine meant that it would be easy for me to load different textures to change the look of the game. I thought players would like the chance to be able to customize their experience a bit more too, but I was wrong. I&#8217;m seeing about a 0.1% conversion rate on themes (i.e. about 1 in 1000 people download a theme).</p>
<p>At this point, I only have one theme for sale. So it could be that people just don&#8217;t like that theme. It could also be that people just like the default art more. Or it could just be that people really don&#8217;t care about theming this kind of game. Though, if you think about it another way, if 1 in 100 people buy the premium content, the users who would buy a theme are probably a subset of that 1 in 100. So that means about 1 in 10 of those people have bought the theme, so maybe that&#8217;s ok. Still, when you do the math, that&#8217;s about $100 made off the theme so far, and it took almost a week of art work to build it (not even counting the time it took to put the theming system in place). When you look at it like that, it&#8217;s not as worth it.</p>
<p>I&#8217;m currently working on another theme. If it doesn&#8217;t sell, I probably won&#8217;t be releasing more themes. I think themes would sell better in a game where you could play the whole game for free. I think people might be willing to buy a theme in that case.</p>
<h5>5) Doing Everything (Almost)</h5>
<p>I&#8217;ve already outlined why I thought this worked for the project, but doing everything by oneself also comes with some big downsides. The biggest is time. LandFormer took 5 months from start to launch (then another month of work after launch). I&#8217;d guess that at least 2 months of that was doing the artwork and UI design for the game. If I could have afforded to pay a professional artist to do that for me, they probably would have taken half the time, and they could have been doing it while I programmed.</p>
<p>The other big downside is not having someone to bounce ideas off of. Working with an artist allows you to brainstorm, to try new things, and play with the concepts in the artistic direction of the game. When you&#8217;re doing it all yourself, it&#8217;s easy to get caught in the trap of just doing the first thing that comes to mind. It&#8217;s hard to force yourself to try multiple things and to find the best artistic solution to a problem.</p>
<h4>Conclusion</h4>
<p>In the end, I&#8217;m extremely pleased with the way that LandFormer turned out. I think it&#8217;s my strongest game to date. The game was also an opportunity for me to experiment with several new things I&#8217;d never tried before: IAP, free games, ad-supported games, and user-created content and sharing. I&#8217;m very happy with the number of free downloads the game has had. I find it absolutely amazing to think that almost 150,000 people have downloaded my game! At the same time, I&#8217;d be lying if I said I was happy with the conversion rate I&#8217;ve seen from free to paid.</p>
<p>The game continues to get a couple hundred downloads a day, and it seems to have stabilized there. I hope that it will maintain this level (or higher) for quite some time. The fact that it&#8217;s free seems to help keep the downloads alive.</p>
<p>Every game is an incredible learning experience, and I&#8217;ve learned a lot in making and launching LandFormer. I&#8217;ll be continuing to support it and add new content, but I&#8217;m also looking ahead to what&#8217;s next. Onward!</p>
<p>Owen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.streamingcolour.com/blog/2010/08/27/landformer-postmortem/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Sneak Peek: City Theme Sketch</title>
		<link>http://www.streamingcolour.com/blog/2010/07/08/sneak-peek-city-theme-sketch/</link>
		<comments>http://www.streamingcolour.com/blog/2010/07/08/sneak-peek-city-theme-sketch/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 19:37:52 +0000</pubDate>
		<dc:creator>OG</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[LandFormer]]></category>
		<category><![CDATA[city]]></category>
		<category><![CDATA[drawing]]></category>
		<category><![CDATA[sketch]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[tiles]]></category>

		<guid isPermaLink="false">http://www.streamingcolour.com/blog/?p=1131</guid>
		<description><![CDATA[I thought a few people might like to see how the design of a new theme for LandFormer starts. I&#8217;ve started working on the concepts for a city theme for the game. I did some sketching the other night and these are the drawings I&#8217;ll be basing the theme on: You can see there are [...]]]></description>
			<content:encoded><![CDATA[<p>I thought a few people might like to see how the design of a new theme for LandFormer starts. I&#8217;ve started working on the concepts for a city theme for the game. I did some sketching the other night and these are the drawings I&#8217;ll be basing the theme on:</p>
<p><a href="http://www.streamingcolour.com/blog/wp-content/uploads/2010/07/city_sketch1.gif"><img class="alignnone size-full wp-image-1133" title="City Theme Sketch" src="http://www.streamingcolour.com/blog/wp-content/uploads/2010/07/city_sketch1.gif" alt="City Theme Sketch" width="500" height="282" /></a></p>
<p>You can see there are the 5 tile heights from the game. I&#8217;ll be working from these drawing to start creating the main tiles for the theme. There&#8217;s a lot of other art that goes into a theme, but the tiles are what I start with.</p>
<p>Owen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.streamingcolour.com/blog/2010/07/08/sneak-peek-city-theme-sketch/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Theme Sneak Peek</title>
		<link>http://www.streamingcolour.com/blog/2010/06/08/theme-sneak-peek/</link>
		<comments>http://www.streamingcolour.com/blog/2010/06/08/theme-sneak-peek/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 17:32:05 +0000</pubDate>
		<dc:creator>OG</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[LandFormer]]></category>
		<category><![CDATA[blocks]]></category>
		<category><![CDATA[colorful]]></category>
		<category><![CDATA[earth]]></category>
		<category><![CDATA[iap]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[themes]]></category>

		<guid isPermaLink="false">http://www.streamingcolour.com/blog/?p=1061</guid>
		<description><![CDATA[LandFormer is coming along nicely. I&#8217;m getting really close to submitting; hopefully within the next week, if all goes according to plan. One of the things I&#8217;ve been working on the for the last couple of days is a new theme for the game. You&#8217;ve seen the Earth theme already: This is the new Colorful [...]]]></description>
			<content:encoded><![CDATA[<p>LandFormer is coming along nicely. I&#8217;m getting really close to submitting; hopefully within the next week, if all goes according to plan.</p>
<p>One of the things I&#8217;ve been working on the for the last couple of days is a new theme for the game. You&#8217;ve seen the Earth theme already:</p>
<div class="wp-caption alignnone" style="width: 490px"><img title="Earth Theme" src="/games/landformer/images/LandFormer_2010-04-26.jpg" alt="LandFormer Earth Theme" width="480" height="320" /><p class="wp-caption-text">LandFormer Earth Theme</p></div>
<p>This is the new Colorful Blocks theme I&#8217;ve been working on:</p>
<div class="wp-caption alignnone" style="width: 490px"><img title="Blocks Theme" src="/games/landformer/images/blocks_theme_2010-06-08.jpg" alt="Colorful Blocks Theme" width="480" height="320" /><p class="wp-caption-text">Colorful Blocks Theme</p></div>
<p>This new theme will be available for purchase inside the game when it launches.</p>
<p>Now, I must get back to work!</p>
<p>Owen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.streamingcolour.com/blog/2010/06/08/theme-sneak-peek/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LandFormer Status Update</title>
		<link>http://www.streamingcolour.com/blog/2010/04/26/landformer-status-update/</link>
		<comments>http://www.streamingcolour.com/blog/2010/04/26/landformer-status-update/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 15:50:01 +0000</pubDate>
		<dc:creator>OG</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[LandFormer]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[april]]></category>
		<category><![CDATA[delay]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[friends]]></category>
		<category><![CDATA[level]]></category>
		<category><![CDATA[levels]]></category>
		<category><![CDATA[may]]></category>
		<category><![CDATA[share]]></category>
		<category><![CDATA[sharing]]></category>
		<category><![CDATA[status]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.streamingcolour.com/blog/?p=1038</guid>
		<description><![CDATA[If you read the LandFormer preview on Touch Arcade back in March, the article mentioned that I was hoping to release the game in late April. At the time I did the interview that really seemed like a realistic goal. That&#8217;s not looking likely anymore. I thought I should post an update since I&#8217;d received [...]]]></description>
			<content:encoded><![CDATA[<p>If you read the <a href="http://toucharcade.com/2010/03/16/gdc-2010-a-look-at-upcoming-landformer-puzzler/" target="_blank">LandFormer preview</a> on <a href="http://www.toucharcade.com" target="_blank">Touch Arcade</a> back in March, the article mentioned that I was hoping to release the game in late April. At the time I did the interview that really seemed like a realistic goal. That&#8217;s not looking likely anymore.</p>
<p>I thought I should post an update since I&#8217;d received a lot of questions recently about how the game is coming along and was I still planning to release in April. As often happens, life and some technical challenges got in the way of me finishing the game on time. My gut tells me that I&#8217;ve got about 3 weeks of work left on the game at this point. I want to make sure the game is as awesome as possible for when it launches, so I hope you&#8217;ll understand that I&#8217;m taking this time to make sure the game is the best it can be.</p>
<p>Since my last post about the game, I&#8217;ve implemented some pretty major changes to the game. One of which was a complete overhaul of the artwork in the game. I liked the theme of the game, but the artwork seemed a bit dark and drab, so I&#8217;ve worked to brighten things up and make the game more appealing and enjoyable to play.</p>
<p>For comparison, this is the last screenshot I posted of the game back at the end of February:</p>
<p><img class="alignnone" title="LandFormer Feb 2010" src="/games/landformer/images/LandFormer_2010-02-23.jpg" alt="" width="480" height="320" /></p>
<p>Here&#8217;s a screenshot of the current state of the game:</p>
<p><img class="alignnone" title="LandFormer April 2010" src="/games/landformer/images/LandFormer_2010-04-26.jpg" alt="" width="480" height="320" /></p>
<p>As you can see, the game is basically the same as it was, but I think it looks a lot better. I hope you agree.</p>
<p>One of the other big things I managed to get working was the level editor and level sharing code. When the game ships, it will ship with a bunch of built-in levels. However, it will also contain a level editor so that you create your own levels. Not only that, but you can email levels to your friends so that you can play each others&#8217; levels! This feature was a little more work than I had originally planned for, but I think it adds a lot of fun to the game, so it was worth it. It should allow you to keep playing LandFormer long after you&#8217;ve solved all the built-in levels.</p>
<p>Several people have asked for more details about how the game is played. I think it&#8217;s easiest if I create a short video showing the game in action, but that will have to wait for a few days. Hopefully I can find some time to do that soon.</p>
<p>Until then, please know that I&#8217;m working as fast as I can to get the game done and into your hands. I&#8217;m working hard to make sure it&#8217;s the best game it can be.</p>
<p>Owen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.streamingcolour.com/blog/2010/04/26/landformer-status-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Announcing: LandFormer!</title>
		<link>http://www.streamingcolour.com/blog/2010/02/23/announcing-landformer/</link>
		<comments>http://www.streamingcolour.com/blog/2010/02/23/announcing-landformer/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 21:03:48 +0000</pubDate>
		<dc:creator>OG</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[LandFormer]]></category>
		<category><![CDATA[360|idev]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[Jam]]></category>
		<category><![CDATA[Touch Arcade]]></category>
		<category><![CDATA[UpDown]]></category>

		<guid isPermaLink="false">http://www.streamingcolour.com/blog/?p=1016</guid>
		<description><![CDATA[Yes, it&#8217;s time to announce my next game: LandFormer! LandFormer is a puzzle game based off the prototype I created at the 360iDev Game Jam in September. The original prototype was called UpDown, but there&#8217;s already an app in the store called that. Plus, if you look at the new theme of the game, I [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, it&#8217;s time to announce my next game: <em><strong>LandFormer</strong></em>! LandFormer is a puzzle game based off the prototype I created at the 360iDev Game Jam in September. The original prototype was called <em>UpDown</em>, but there&#8217;s already an app in the store called that. Plus, if you look at the new theme of the game, I think <em>LandFormer</em> makes a lot more sense.</p>
<p>Here&#8217;s a first peek at the game. Just note that this is all still work in progress and that the look of the game may still change significantly before it ships:</p>
<p><img class="alignnone" title="LandFormer" src="http://www.streamingcolour.com/games/landformer/images/LandFormer_2010-02-23.jpg" alt="LandFormer" width="480" height="320" /></p>
<p>Here is the write up on the game that I gave to Touch Arcade (with some modifications) when they originally covered the Game Jam:</p>
<p style="padding-left: 30px;">LandFormer is a puzzle game. To complete a level, all pieces must be raised  or lowered to a flat plane. However, you can only raise or lower pieces in  the patterns dictated by the brushes. Strategy and intuition are  required to master this simple yet challenging game.</p>
<p>Stay tuned for updates on the game&#8217;s progress as I continue working on it.</p>
<p>Owen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.streamingcolour.com/blog/2010/02/23/announcing-landformer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Use Your Words: Art Game Critcism</title>
		<link>http://www.streamingcolour.com/blog/2010/01/14/use-your-words-art-game-critcism/</link>
		<comments>http://www.streamingcolour.com/blog/2010/01/14/use-your-words-art-game-critcism/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 21:06:13 +0000</pubDate>
		<dc:creator>OG</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[art games]]></category>
		<category><![CDATA[criticism]]></category>
		<category><![CDATA[critique]]></category>
		<category><![CDATA[emily short]]></category>
		<category><![CDATA[Gamasutra]]></category>
		<category><![CDATA[leight alexander]]></category>
		<category><![CDATA[prententious]]></category>
		<category><![CDATA[rothko]]></category>

		<guid isPermaLink="false">http://www.streamingcolour.com/blog/?p=978</guid>
		<description><![CDATA[I read two great articles on art games last night, one by Emily Short, and one by Leigh Alexander, both at Gamasutra.com. Both articles were critiques of art games that have come out recently. Both articles were very well written and examined many aspects of what worked and didn&#8217;t work in the games. The games [...]]]></description>
			<content:encoded><![CDATA[<p>I read two great articles on art games last night, <a href="http://www.gamasutra.com/view/news/26721/Analysis_On_Aging_Death_And_Games.php" target="_blank">one by Emily Short</a>, and <a href="http://www.gamasutra.com/view/news/26714/Analysis_Every_Days_Not_The_Same_Art_Game.php" target="_blank">one by Leigh Alexander</a>, both at <a href="http://www.gamasutra.com/" target="_blank">Gamasutra.com</a>. Both articles were critiques of art games that have come out recently. Both articles were very well written and examined many aspects of what worked and didn&#8217;t work in the games. The games they discuss are also worth playing. However, I was shocked to find a few angry, bordering on vicious, comments posted to the articles. There were some people who were extremely angry about these art games being treated seriously. I was taken aback by the comments I read. At first I couldn&#8217;t understand why people were so upset by the idea of art games. The more I thought about it, the more I decided I needed to write it all down.</p>
<p>A lot of the anger seemed to stem from accusations of pretentiousness. In Ms. Short&#8217;s article on aging and death in games, she starts by talking about hating when the word &#8220;pretentious&#8221; is used in art criticism. I love that she talks about this. She starts her article with:</p>
<p style="padding-left: 30px;">I hate the word &#8220;pretentious&#8221; in art criticism.</p>
<p style="padding-left: 30px;">I understand why people use it. Often we call something pretentious when we think the artist might be concealing a lack of meaning or vision behind obscurity, jargon, or a set of conventions currently hallowed by the art establishment. It&#8217;s a way of saying &#8220;I don&#8217;t get this, and I don&#8217;t know that there&#8217;s anything to get&#8221; that shifts the blame (if blame even applies in so subjective an area as one&#8217;s response to artwork) onto the artist rather than ourselves.</p>
<p>The on-going debate over whether or not a video game can be considered art and art gaming is an area of great interest to me. I grew up in a family of artists, and so for a long time I assumed that everyone enjoyed art as much as I did. As I got older, and understood more about politics and people&#8217;s differing views on the world, I started to see that not everyone had the same love of art that my family did. In the age of the Web 2.0 (oh, how I hate that term) where everyone has a voice on the internet (yes, I&#8217;m aware of the irony of writing that on my blog), a wider contempt for art is becoming more and more apparent to me, especially in gaming circles.</p>
<p>Ms. Short&#8217;s article brings up the issue when she mentions the use of the word &#8220;pretentious&#8221;. Reading the comments on her article and on Ms. Alexander&#8217;s article, you can see the anger that erupts from some people when the concept of art is discussed. This is an attitude that greatly saddens me.</p>
<p>Let me take a little aside here to talk about a professor I had for one of my art courses in school. Every Monday in class we would all hang our work from the previous week on the walls and everyone would critique each others&#8217; work. It was an important exercise for two reasons: it taught you how to think critically about someone else&#8217;s work, and it taught you how to accept criticism of your own work. However, there were also two rules: any criticism had to be constructive, and you weren&#8217;t ever allowed to use the word &#8220;interesting&#8221; when describing someone&#8217;s work.</p>
<p>Our prof&#8217;s reasoning for the &#8220;interesting&#8221; rule is that people use the word interesting when they don&#8217;t want to commit to a response. It shows that they haven&#8217;t thought about the work, that they haven&#8217;t even tried to understand how the works makes them feel. I think this is why Ms. Short&#8217;s article affected me so much: the word pretentious works the same way. Except that Ms. Short is right, the use of the word pretentious isn&#8217;t just about not understanding the art, it&#8217;s a statement that the viewer feels the artist is laughing at them for not understanding.</p>
<p>It&#8217;s here that I think a lot of the anger towards art stems from. People are intimidated by art for some reason. When they don&#8217;t understand a work, they assume that the artist is laughing at them. They are afraid of being embarrassed by art.</p>
<p>Complicating all of this, of course, is the fact that there are some artists out there who create work with the expressed purpose of making people angry that they called it art. I think this is also why a lot of people are afraid to express an opinion about a particular piece of art: they&#8217;re afraid that if they do form an opinion and comment on it, the artist will say, &#8220;Ha ha! It was all a joke, don&#8217;t you feel stupid.&#8221; Well I say: enough. It&#8217;s better to have an opinion on a piece than to be afraid that it&#8217;s the wrong opinion.</p>
<p>Other people would tell us that art can only be enjoyed by those who are educated enough to understand it. Statements like that upset me deeply. Anyone who tells you art can&#8217;t be appreciated unless you understand it is probably afraid that they themselves will end up looking stupid.</p>
<p>I&#8217;ve taken enough art history classes to know that you can learn to understand historical contexts that help you appreciate why a particular art movement appeared when it did. And knowing about an artist&#8217;s life and past work can help put their work into a context that can let you enjoy aspects of their work that you wouldn&#8217;t otherwise. But that&#8217;s not the point. My point is that even if you&#8217;ve never taken an art history course, even if you&#8217;ve never looked at a painting before, that should <em>never</em> stop you from going into a gallery and making up your own mind about the artwork in it.</p>
<p>This isn&#8217;t to say that we shouldn&#8217;t try to learn more about art. We <em>should</em> read about the artist, learn about the movements that lead to their work. This will help you enjoy the art at different levels. But we need to get over this feeling that art can&#8217;t be enjoyed without being understood. Art is for everyone! Ultimately it doesn&#8217;t matter what the artist intended for you to feel when he/she painted/sculpted/film/programmed the piece. What matters is what <em>you</em> feel when you experience it. We have to get rid of this idea that there&#8217;s a right way and a wrong way to feel about art. Focus instead on how it makes you feel.</p>
<p>Take a look at one of Mark Rothko&#8217;s paintings. This is called &#8220;Orange and Yellow&#8221; and was painted in 1956. The original piece is 71&#8243; x 91&#8243;. That&#8217;s big! Imagine yourself standing in front of this painting that is over seven feet tall!</p>
<p><img class="alignnone" src="http://corioblog.com/rothko_orange_and_yellow.jpg" alt="Orange and Yellow" width="389" height="500" /></p>
<p>If you know about Rothko&#8217;s evolution from his early paintings that were much less abstract into abstract expressionism, then great. If not, I would argue that it doesn&#8217;t really matter. Look at the painting. If your first reaction is &#8220;it&#8217;s just two blocks of colour. I could have painted that&#8221; then fine. But now <em>move on</em> and really look at the painting. Take your time. How does it make you feel? Do you like it? What do you like about it? Do you hate it? Why do you hate it? Look at the way the colours interact. Consider the proportions of the blocks of colour. Really look. Take the time to let it affect you. Reflect on it. Don&#8217;t just make a snap judgement based on the first two seconds of looking at it. Now describe it without using the words &#8220;interesting&#8221; or &#8220;pretentious&#8221;. And remember, there&#8217;s <em>no wrong way</em> to look at this painting. Whatever you feel about it is valid, as long as you&#8217;ve actually taken the time to give it a chance.</p>
<p>So let&#8217;s please leave the ignorant yelling about how art is pretentious behind. Let&#8217;s look at art and art games with an open mind. Not every painting or art game is going to be considered good or appeal to you, just as not every book or movie will appeal to you. I&#8217;m just asking that when you criticize an art game because you don&#8217;t like it, tell us why.</p>
<p>As mothers everywhere have been saying to their children for generations: use your words.</p>
<p>Owen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.streamingcolour.com/blog/2010/01/14/use-your-words-art-game-critcism/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Postmortem: Monkeys in Space</title>
		<link>http://www.streamingcolour.com/blog/2010/01/06/postmortem-monkeys-in-space/</link>
		<comments>http://www.streamingcolour.com/blog/2010/01/06/postmortem-monkeys-in-space/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 21:00:13 +0000</pubDate>
		<dc:creator>OG</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[monkeys in space]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[artwork]]></category>
		<category><![CDATA[conclusion]]></category>
		<category><![CDATA[delays]]></category>
		<category><![CDATA[escape to banana base alpha]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[flight control]]></category>
		<category><![CDATA[gameplay]]></category>
		<category><![CDATA[harbor master]]></category>
		<category><![CDATA[iteration]]></category>
		<category><![CDATA[levels]]></category>
		<category><![CDATA[name]]></category>
		<category><![CDATA[play testing]]></category>
		<category><![CDATA[postmortem]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[Prototyping]]></category>
		<category><![CDATA[release date]]></category>
		<category><![CDATA[testers]]></category>
		<category><![CDATA[thanksgiving]]></category>
		<category><![CDATA[Touch Arcade]]></category>
		<category><![CDATA[toucharcade]]></category>
		<category><![CDATA[what went right]]></category>
		<category><![CDATA[what went wrong]]></category>

		<guid isPermaLink="false">http://www.streamingcolour.com/blog/?p=930</guid>
		<description><![CDATA[I never wrote up a formal postmortem for Dapple and I wish I had. Now that Monkeys in Space has been out for over a month and I&#8217;ve released one major update, I thought it was about time to sumarize what went right and what went wrong on my second game. Because I really enjoy [...]]]></description>
			<content:encoded><![CDATA[<p>I never wrote up a formal postmortem for Dapple and I wish I had. Now that Monkeys in Space has been out for over a month and I&#8217;ve released one major update, I thought it was about time to sumarize what went right and what went wrong on my second game.</p>
<p>Because I really enjoy reading <a href="http://www.gdmag.com/" target="_blank">Game Developer Magazine</a>, I thought I&#8217;d follow their template for a postmortem and list 5 things that went right followed by 5 things that went wrong on the project.</p>
<p><em><strong><a href="http://bit.ly/MiSBlog" target="_blank"><img class="alignnone" src="/games/monkeys/images/MiS_header.jpg" alt="Buy Monkeys in Space - $0.99" width="416" height="136" /></a><br />
</strong></em></p>
<p><span style="text-decoration: underline;"><strong>What Went Right</strong></span></p>
<p><strong>1. Prototyping, Iteration, and Early Feedback. </strong>One of the processes I put into place when I started Streaming Colour Studios is the extensive use of prototyping and rapid iteration. When you build a large console game, you need to plan out everything a lot more because there are 100 people working on the game. When it&#8217;s just you, you can afford to play around with ideas a lot more.</p>
<p>Monkeys in Space actually started out as a completely different game. The first prototype I built involved controlling space ships with black holes. One of the things I learned with Dapple is that the sooner you get feedback the better. So this time I sent that first prototype out to a few trusted friends to get their opinions on it. The feedback that I got was that the controls weren&#8217;t intuitive enough and the game wasn&#8217;t really fun to play, just frustrating. This was fantastic feedback to get so early in the process and I was able to start trying new ideas and iterating on the design.</p>
<p>Eventually I got to the point where the game was fun, but the space ship theme wasn&#8217;t working for me anymore. I had had an idea for a bonus level that involved picking up monkeys floating in space with your ship, but after discussing this with a few friends over coffee (one of them ended up writing the music for the game) I decided that the game might be more fun to play if the monkeys were the focus of the game. Once this decision was made, it opened up new avenues for art direction, marketing, names, and even merchandise.</p>
<p>Once I had the monkeys in the game, I opened the game up to much more public play testing. People were playing the game and providing regular feedback at a much earlier stage of the development than with Dapple. This proved to be invaluable for fine tuning the design and polishing the game.</p>
<p><strong>2. Gameplay. </strong>Monkeys in Space fits into the &#8220;line drawing&#8221;/&#8221;chaos management&#8221; genre of games, but it needed something to set it apart and help it to stand out. I had also learned, through my experiences with Dapple, that I needed a gameplay mechanic that was easy to understand, but offered depth to the experienced player. Monkeys in Space offers familiar gameplay goals to players familiar with the genre (get the monkeys to the bases), but adds a twist that adds depth to the game (linking monkeys together). The chaining mechanic was added about mid way through the prototyping process, but the feedback from play testers was unanimously positive. I&#8217;m very happy with how the game ended up playing out. The chaining adds a risk/reward factor to the game that has been mentioned in a lot of reviews.</p>
<p><strong>3. The Name.</strong> I mentioned above that the game was originally about space ships. Well, it was a search for a name for the game that ultimately led to the game being about monkeys instead. I was brainstorming game names with some friends when I mentioned I had been thinking about adding a space monkey level to the game. Immediately we all started thinking about fun names for a game involving space monkeys. My favourite at the time was &#8220;Space Monkey Rescue&#8221;, but I ultimately abandoned it because of trademark concerns. I contacted my friend <a href="http://portfolio.perplexity.org/" target="_blank">Stacy</a>, who is a writer, and asked her for help. I sent her some of my favourites, including just &#8220;Monkeys in Space&#8221;. I told her I was looking for a 50&#8242;s or 60&#8242;s sci-fi b-movie feel for the title and she came up with &#8220;Monkeys in Space: Escape to Banana Base Alpha&#8221;, which I absolutely loved. I think the name is perfect for the game in that it captures that silly retro feel I wanted, and it says &#8220;yes this is a game set in space, but it&#8217;s not a serious sci-fi game; it&#8217;s fun and it has monkeys!&#8221;</p>
<p><strong>4. Artwork. </strong>With Dapple I had decided to hire a professional artist to do the game&#8217;s artwork. While the artist did an amazing job and I was extremely happy with her work, hiring an artist is also expensive. With Monkeys in Space I decided to take a different risk and do the artwork myself. Now, I took some art classes in university, I&#8217;ve done a little life drawing since then, and I once had a job where I was using Photoshop for eight hours a day, but I&#8217;m not a professional artist, so this was kind of a risky move. However, in the end, I was quite pleased with the art in the game. I think the monkeys especially turned out quite well. No doubt a professional artist could probably have bumped the artwork up a notch (or two), but I&#8217;m happy with the results. On top of that, it was also really fun. It was great to get back into drawing regularly again and I think it&#8217;s something I&#8217;ll be considering for future games, if it&#8217;s a possibility.</p>
<p><strong>5. Reviews and Apple Feature. </strong>Monkeys in Space has received some great reviews from the iPhone gaming press/critics (you can read them on the <a href="http://www.streamingcolour.com/press.html" target="_blank">Press page</a>). Every good review helps to build buzz around a game, but one of the biggest reviews the game got was from TouchArcade.com. Their Monkeys in Space review was on their front page for two days and during that time I saw a sales spike close to what I was to see being featured by Apple. Then a week after the Touch Arcade review ran, the game was featured on the App Store in the Games -&gt; What&#8217;s Hot section. This happened just before Christmas, which couldn&#8217;t have been better timing. It wasn&#8217;t a front page of the App Store feature, but it was enough to push me into the Top 100 Kids Games in the U.S. store. This gave the game some momentum through the holiday boost.</p>
<p>I&#8217;ve decided that while I don&#8217;t want to share sales specifics about the game (like the infamous Dapple &#8220;Numbers&#8221; post), I will share the shape of the graph of sales since the game&#8217;s launch:</p>
<p><img class="alignnone" src="/blog/wp-content/uploads/MiS_DownloadGraph_2010-01-05.jpg" alt="Monkeys in Space Sales" width="540" height="235" /></p>
<p><span style="text-decoration: underline;"><strong>What Went Wrong</strong></span></p>
<p><strong>1. Release Date. </strong>I mentioned this <a href="http://www.streamingcolour.com/blog/2010/01/04/we-live-in-the-future/" target="_blank">earlier this week</a>, but my release date turned out to be a big mistake. I submitted the game to apple in mid-November and wasn&#8217;t sure when to expect it to be approved. I got the email from Apple saying the app was ready for sale at about 7:30pm on Wed, Nov 25th. I was so excited that I switched the app into the &#8220;for sale&#8221; state (by setting the release date to the 25th) and started preparing the email I&#8217;d send out to the press in the morning. On Thursday morning I sent out my press release along with screenshots and video, etc, to iPhone sites. At that point I started getting back &#8220;out of office&#8221; replies and suddenly released it was Thanksgiving in the U.S. See, we Canadians celebrate Thanksgiving in October, so the date completely slipped my mind.</p>
<p>At first I didn&#8217;t think it would be a big problem. But then I started reading the review sites that were staffed for the holidays and most of them were just running stories about the hundreds of games that were going on sale for Black Friday in the U.S. Not only that, but it turns out a lot of people apparently take a long weekend from Thursday-Sunday, so it meant I didn&#8217;t hear from anyone until well into the next week.</p>
<p>However, I can&#8217;t really complain as the game eventually did get picked up by review sites, but the roll out was more gradual than I had hoped. The delay meant that my marketing lost some momentum right at the start, which isn&#8217;t ideal. In the future I will be paying closer attention to U.S. holidays when I set my release dates.</p>
<p><strong>2. Delays.</strong> When I did the first concept sketches for the game that was to become Monkeys in Space, the original plan was to build the game in 2 months or less. From start to finish, the game ended up taking almost exactly 3 months. One extra month isn&#8217;t terrible, but that&#8217;s a 50% overshoot of the original plan. Now I have excuses: my wife and I moved cities, which ate up a few weeks with packing, moving, and unpacking, etc. But I think the biggest reason the game took longer than I thought it would was because I decided to do the artwork. Because I was doing the art and the programming, it meant that the two couldn&#8217;t happen concurrently. When you work with an external artist, they can be drawing while you&#8217;re coding, but I didn&#8217;t have that ability this time. The artwork took longer than I thought it would, which pushed my timeline out. Ultimately, it was worth the extra time to make sure the art was good enough to meet my expectations for the quality of the game, but it did delay its release.</p>
<p><strong>3. Marketing Push. </strong>I learned some important lessons with the launch of Dapple. One of the most important was the need to have your marketing push happen all at once. You want everyone to be talking about your game at the same time. I&#8217;ve already mentioned the problems the release date caused with this, but I suspect there were some other missed marketing opportunities around advertising that I didn&#8217;t explore. I haven&#8217;t had a lot of luck with advertising driving sales. However, I think if done properly, there may be ways to leverage advertising effectively, even for $0.99 games&#8230;I just haven&#8217;t figured it out yet.</p>
<p><strong>4. Not Enough Levels in v1.0. </strong>During development I had to make a call about how many levels to include in the initial version of the game. I looked at the great games in the genre (e.g. Harbor Master, Flight Control, etc) and looked at how many levels each had shipped with, and decided to ship three levels. I also chose to limit myself to three levels at first because the game was already taking longer than I had expected. However, what I discovered is that people expect new games to contain as many levels as the other games do <em>now</em>, not how many they contained when they shipped. Some of the reviews of Monkeys in Space have mentioned that they would have liked to have seen more levels in the game. Since then I have released a fourth level as part of a free update and I hope to release more. Regardless, what I failed to realise is that the free update system for iPhone apps creates a different set of expectations in people&#8217;s minds. They don&#8217;t care that game X shipped with one level; what matters is that it has five now. This was an important lesson in competitive analysis for me.</p>
<p><strong>5. Public Recruiting of Testers. </strong>I almost listed this in the &#8220;What Went Right&#8221; section as well, and it just <em>barely</em> squeaks into the &#8220;What Went Wrong&#8221; list. Very early in the process (much earlier than I&#8217;d ever considered before) I started asking people to play test the game and provide feedback. I put out a call on Twitter, on this blog, and in iPhone gaming forums, looking for people who wanted to play the game and provide some honest feedback about what did and didn&#8217;t work. The reason this should also be in the &#8220;What Went Right&#8221; is that I got some terrific people playing the game and providing me with insightful and helpful feedback. However, I also had a lot of people sign up, get the builds, and I&#8217;d never hear from them again. I think there is a small group of people who say they&#8217;ll beta test a game just to get a free game. The good news is that I&#8217;ve met enough great people that I now have a decent list of preferred testers I&#8217;ll ask first next time.</p>
<p><span style="text-decoration: underline;"><strong>Conclusion</strong></span></p>
<p>All in all, I&#8217;m extremely proud of Monkeys in Space. I think that I learned a lot from some of the mistakes I made with my first game, but I still made a few new mistakes. I suppose that&#8217;s all part of the process of becoming a better game designer, developer, and business person. What I like most about Monkeys in Space is seeing new players pick it up and to watch how easily they get involved with the game. I also love watching people laugh when the monkeys scream and wave their arms frantically. People seem to have fun with the game, and that makes me happy. To me, that alone makes the game successful.</p>
<p>Owen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.streamingcolour.com/blog/2010/01/06/postmortem-monkeys-in-space/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Video Blog &#8211; Episode 7</title>
		<link>http://www.streamingcolour.com/blog/2009/09/11/video-blog-episode-7/</link>
		<comments>http://www.streamingcolour.com/blog/2009/09/11/video-blog-episode-7/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 17:08:55 +0000</pubDate>
		<dc:creator>OG</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Video Blog]]></category>
		<category><![CDATA[art direction]]></category>
		<category><![CDATA[episode 7]]></category>
		<category><![CDATA[spawn manager]]></category>
		<category><![CDATA[vlog]]></category>

		<guid isPermaLink="false">http://www.streamingcolour.com/blog/?p=817</guid>
		<description><![CDATA[It&#8217;s time for another fascinating look into the development processes in making an iPhone game! Yes, it&#8217;s episode 7 of the Streaming Colour Video Blog! In today&#8217;s episode I talk about the new Spawn Manager that&#8217;s making the game more fun, and about a whole new artistic direction in which I&#8217;m taking the game. Owen]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s time for another fascinating look into the development processes in making an iPhone game! Yes, it&#8217;s episode 7 of the Streaming Colour Video Blog! In today&#8217;s episode I talk about the new Spawn Manager that&#8217;s making the game more fun, and about a whole new artistic direction in which I&#8217;m taking the game.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="540" height="328" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/ArqukgpugZA&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="540" height="328" src="http://www.youtube.com/v/ArqukgpugZA&amp;hl=en&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Owen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.streamingcolour.com/blog/2009/09/11/video-blog-episode-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

