<?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>Celsius Game Studios</title>
	<atom:link href="http://www.celsiusgs.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.celsiusgs.com/blog</link>
	<description>Garage Development Without The Garage</description>
	<lastBuildDate>Mon, 14 May 2012 00:17:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Some Thoughts on Kickstarter</title>
		<link>http://www.celsiusgs.com/blog/?p=446</link>
		<comments>http://www.celsiusgs.com/blog/?p=446#comments</comments>
		<pubDate>Sun, 13 May 2012 21:36:59 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Kickstarter]]></category>

		<guid isPermaLink="false">http://www.celsiusgs.com/blog/?p=446</guid>
		<description><![CDATA[So, as you may be aware, I launched a Kickstarter campaign for my upcoming space trading game Drifter a little over a week ago and it&#8217;s gone quite well indeed. As of the writing of this post, it&#8217;s nearly 70% of the way to its $50,000 goal, and while it&#8217;s not over yet, I&#8217;m cautiously [...]]]></description>
			<content:encoded><![CDATA[<p>So, as you may be aware, I launched a <a href="http://www.kickstarter.com/projects/celsiusgs/drifter-a-space-trading-game">Kickstarter campaign for my upcoming space trading game Drifter</a> a little over a week ago and it&#8217;s gone quite well indeed. As of the writing of this post, it&#8217;s nearly 70% of the way to its $50,000 goal, and while it&#8217;s not over yet, I&#8217;m cautiously optimistic that it will meet that goal by the end of the campaign. Even so, a few people have expressed some surprise about the campaign&#8217;s performance, and with only 45% of all campaigns succeeding and just 25% of video game campaigns <a href="http://www.theverge.com/gaming/2012/3/13/2860243/alternative-funding-for-game-development-panel">meeting their goals</a>, who would blame them? To be honest, I wasn&#8217;t even sure how well it was going to do! Pleasantly surprising performance aside, I must admit this is something I&#8217;ve been planning to do since late last year, and a lot of thought and preparation has gone into it which is why I&#8217;d like to share some of those thoughts here.</p>
<p><span id="more-446"></span></p>
<p><a href="http://www.kickstarter.com/"><strong></strong>Kickstarter</a> is no new thing, having been around now since 2008, and it&#8217;s been used to successfully fund thousands of different projects from movies, to iPhone tripod mounts, to video and board games. However in the video game world Kickstarter really only started to get noticed in a serious way after Tim Schafer launched <a href="http://www.kickstarter.com/projects/66710809/double-fine-adventure">Double Fine Adventure</a> in February of this year which amazed everyone by raising over 3.3 million dollars. There have been a lot of stories written about the how&#8217;s and the why&#8217;s of the project&#8217;s success, with people wondering aloud whether or not it was the end of traditional publishing, simply a passing fad, or something completely different. While I don&#8217;t think traditional methods of funding are in any danger I do think using the power of the internet to fund projects that may not have been funded before is a bit of a game changer. That said, I realized early on that in order to succeed I&#8217;d need some things that almost all successful projects have in common: giving people something they want and credibility.</p>
<p><strong>Give Them What They Want</strong></p>
<p>The part of giving people something they want is kind of nebulous, but basically I mean providing something unique or interesting that wouldn&#8217;t otherwise have happened without Kickstarter. Again some good recent examples are Double Fine Adventure making a game in an under-served niche with a lot of demand, or the <a href="http://www.kickstarter.com/projects/597507018/pebble-e-paper-watch-for-iphone-and-android">Pebble Watch</a> making something amazing that didn&#8217;t really exist up until now.</p>
<p>Also having interesting backer rewards can go a long way to building excitement. Certainly a copy of whatever it is your backers are helping you make is a no-brainer but think beyond that to physical rewards like posters, shirts, 3D printed models and other exclusive items that wouldn&#8217;t exist without Kickstarter. <em>People like cool stuff</em>. Just remember to budget for the cost of producing and shipping your rewards before setting your goal otherwise you might not end up with as much money as you had hoped for in the end.</p>
<p><strong>Credibility Goes a Long Way<br />
</strong></p>
<p><strong></strong>What do I mean by credibility? I mean, basically, anything and everything that will answer the question that <em>every</em> potential backer is going to have on their mind (or should, anyway) when they look at your project: &#8220;Why should I trust this project with my hard-earned money?&#8221; Luckily there are a number of ways to answer this question that will help convince people to pitch in and make your dream a reality. The unfortunate downside is a lot of these answers are not easy ones and getting money through Kickstarter is not as simple as just throwing something up and waiting for the money to pour in.</p>
<p>There are quite a few good ways to answer this question to the satisfaction of your backers, and while you yourself may not be able to provide all of them, as long as you can capably address enough of them it will help immensely in gathering support for your endeavor. Here are a few that I&#8217;ve been able to identify and work with:</p>
<p><strong>Have a proven track record</strong> &#8211; This is one of the big reasons Double Fine Adventure did as well as it did. Here you had a company who had a lot of experience in creating great games and two of the biggest names in graphical adventure games, Tim Schafer and Ron Gilbert, providing something that a lot of people really wanted. Obviously not everyone is Tim Schafer, but having provable previous experience and success is invaluable. In my own case I had already shown with my previous game Red Nova that I was capable of releasing a good game. Also while I would recommend against leaning too heavily on someone else&#8217;s credibility, especially if they&#8217;re not going to be responsible for the final project, I&#8217;m sure that having Danny Baranowsky attached to the project has helped a lot.</p>
<p><strong>Have something to show</strong> &#8211; A lot of projects seem to be in the concept stage, and while that&#8217;s fine if you&#8217;ve got other factors working in your favor, it can be a huge help if you have a prototype or something in progress so you can show people that they&#8217;re not just backing an idea, but something that exists and will eventually turn into the final product. It&#8217;s a common aphorism in the start-up world that ideas are all but worthless, and execution is the hard but invaluable part proving to investors your ideas have merit and it&#8217;s honestly no different with Kickstarter. I think this really helped with projects like <a href="http://www.kickstarter.com/projects/danprovost/glif-iphone-4-tripod-mount-and-stand">The Glif</a> and <a href="http://www.kickstarter.com/projects/64409699/ftl-faster-than-light">FTL</a>, where they had prototypes they could show how they worked and get people excited that way. As well, in my own case, having 8 months of work already put into Drifter I was able to give people a more definitive idea of what they were putting their money into.</p>
<p><strong>Have a good reason for why you need the money </strong>- Being able to give a good reason why you need financial assistance to complete your project can help as well. People like to feel that they&#8217;re helping make something possible that may not have been before without their help. If your campaign comes off as a blatant cash grab, people will see through it and you&#8217;ll have a tough or impossible time getting funding. Kickstarter may seem like free money, but it isn&#8217;t!</p>
<p><strong>Have a clear plan and be reasonable</strong> &#8211; Outline what you&#8217;re going to do with the money if you get fully funded. Be cautious of asking for too much or too little, because some people will question whether or not you&#8217;re being realistic about your goals. I&#8217;ve seen a few projects ask for huge amounts of money in the wake of Double Fine&#8217;s windfall not realizing that they themselves had originally asked for a &#8220;mere&#8221; $400,000, which up until a few months ago, was an <em>immense</em> amount of money for a video game project on Kickstarter.</p>
<p><strong>Get people excited before Kickstarter</strong> &#8211; Having people who are already excited about your project before you even touch or think about Kickstarter is probably a good idea. This should be happening regardless, but I figured I&#8217;d just point it out here because not having support when launching a project could doom it to failure. Having people who like what you&#8217;re doing and believe in you and your project are worth more than any financial support you could ever raise.</p>
<p><strong>Put thought into your rewards</strong> &#8211; This is somewhat keeping in line with the concept of having something to show for your work, but what I mean is you should actually take some time to think about what rewards you&#8217;re offering. Try and make them unique and desirable. For example a lot of projects offer posters, but I felt I needed to go above and beyond which is why I sought out a professional illustrator (in this case <a href="http://www.stevecourtney.com/">Steve Courtney</a>) to create something truly special. Also producing physical prototypes of the rewards, while potentially costly, can help because people like being able to see what they&#8217;re getting in return. And of course, if you can, try and have some rewards that involve your backers in the project somehow.</p>
<p><strong>Be sincere</strong> &#8211; While I&#8217;m sure there have been projects that have been launched for all the wrong reasons, and may have yet succeeded, I feel strongly that because you&#8217;re basically asking people for money before any product exists it will most certainly help to be sincere about what you&#8217;re doing. People can smell BS from a mile away so you might as well not have any around to begin with.</p>
<p>That said, I think certain aspects mean a lot more than the others, and having a really strong showing in some of them can completely make up for not having anything meaningful elsewhere, but remember, chances are you are not Tim Schafer or <a href="http://www.kickstarter.com/projects/inxile/wasteland-2">Brian Fargo</a>, and you probably aren&#8217;t making something completely groundbreaking or re-making a cherished property from years gone by, so work hard, be humble and give people a whole lot of reasons why you&#8217;re deserving of their hard-earned money.</p>
<div id="tweetbutton446" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D446&amp;via=celsiusgs&amp;text=Some%20Thoughts%20on%20Kickstarter&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D446" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.celsiusgs.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.celsiusgs.com/blog/?feed=rss2&#038;p=446</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drifter Update: The Poster</title>
		<link>http://www.celsiusgs.com/blog/?p=434</link>
		<comments>http://www.celsiusgs.com/blog/?p=434#comments</comments>
		<pubDate>Fri, 24 Feb 2012 01:32:00 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.celsiusgs.com/blog/?p=434</guid>
		<description><![CDATA[I&#8217;m really excited to unveil something that I&#8217;ve wanted to have for Drifter for a while now. An official poster, done in a retro sci-fi novel cover/movie poster style. It&#8217;s been created by the incredibly talented illustrator Steve Courtney, and I can honestly say I couldn&#8217;t be more pleased with how it turned out. I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m really excited to unveil something that I&#8217;ve wanted to have for Drifter for a while now. An official poster, done in a retro sci-fi novel cover/movie poster style. It&#8217;s been created by the incredibly talented illustrator <a href="http://www.stevecourtney.com/">Steve Courtney</a>, and I can honestly say I couldn&#8217;t be more pleased with how it turned out.</p>
<p>I&#8217;m making a very (very) limited run of 18&#8243;x24&#8243; archival-quality wide-format prints to take with me to GDC 2012 (in less than two weeks!). I&#8217;ll have to think of some clever way to distribute them, assuming anyone actually wants one <img src='http://www.celsiusgs.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Chances are you won&#8217;t be able to get one of these, <em>however,</em> I have something special in store to announce sometime after GDC which should see them get a wider distribution.</p>
<p>Edit: <a href="http://www.stevecourtney.com/blog/2012/2/23/drifter.html">Steve has blogged about the poster as well</a>.</p>
<p>Anyway, without further ado, here you go:</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/ecphotos/6924481393/in/photostream"><img class="aligncenter" title="Drifter: The Poster (by Steve Courtney)" src="http://farm8.staticflickr.com/7067/6924481393_3ae3f07d8b_z.jpg" alt="" width="483" height="640" /></a></p>
<div id="tweetbutton434" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D434&amp;via=celsiusgs&amp;text=Drifter%20Update%3A%20The%20Poster&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D434" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.celsiusgs.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.celsiusgs.com/blog/?feed=rss2&#038;p=434</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>The Best Damn Cookies&#8230; In the World</title>
		<link>http://www.celsiusgs.com/blog/?p=410</link>
		<comments>http://www.celsiusgs.com/blog/?p=410#comments</comments>
		<pubDate>Fri, 13 Jan 2012 06:05:59 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Baking]]></category>
		<category><![CDATA[baking]]></category>
		<category><![CDATA[cookies]]></category>
		<category><![CDATA[delicious]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://www.celsiusgs.com/blog/?p=410</guid>
		<description><![CDATA[The other day I rediscovered a cookie recipe my mother used to make often when I was a small child, but I distinctly remember not liking them or at least thinking I didn&#8217;t like them so I never actually really had one until a few weeks ago. When I bit into the first one I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.celsiusgs.com/blog/wp-content/uploads/2012/01/cookies.jpg"><img class="alignleft size-full wp-image-411" title="cookies" src="http://www.celsiusgs.com/blog/wp-content/uploads/2012/01/cookies.jpg" alt="Mmm... Cookies." width="192" height="257" /></a>The other day I rediscovered a cookie recipe my mother used to make often when I was a small child, but I distinctly remember not liking them or at least <em>thinking</em> I didn&#8217;t like them so I never actually really had one until a few weeks ago. When I bit into the first one I briefly toyed with the idea of building a time machine for the sole purpose of hitting my younger self upside the head for being so picky and missing out on a lifetime of enjoying what is surely the Cookie of the Gods.</p>
<p><span id="more-410"></span>Anyway, this isn&#8217;t the normal fare for this blog, but these cookies are just too good not to share. So without further ado, the recipe:</p>
<p><strong>Ingredients</strong></p>
<p>1/2 cup margarine or butter<br />
1 can of sweetened condensed milk<br />
1/2 tsp of vanilla<br />
2 tbsp of cocoa powder<br />
1 1/2 cups of shredded coconut<br />
2 cups of graham wafers<br />
1 pkg of marshmallows</p>
<p>Combine margarine, condensed milk, vanilla and cocoa powder in a medium saucepan on low to medium heat. Just heat long enough to melt the margarine/butter and then remove from the heat and combine that with the coconut and graham wafers. Take a cookie sheet and cover it with a sheet of wax paper.</p>
<p>Take a golf ball sized amount of mixture and flatten it out on the cookie sheet, placing a marshmallow in the middle. Wrap the cookie mixture evenly around the marshmallow until it resembles a smooth ball.</p>
<p>Once you&#8217;ve used up all of the mixture, place the wrapped marshmallows on the cookie sheet in the fridge and refrigerate them for ~2 hours, or until the balls have cooled all the way through.</p>
<p>Slice each ball in two and enjoy! (Keep them refrigerated or frozen for maximum awesomeness)</p>
<div id="tweetbutton410" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D410&amp;via=celsiusgs&amp;text=The%20Best%20Damn%20Cookies%26%238230%3B%20In%20the%20World&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D410" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.celsiusgs.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.celsiusgs.com/blog/?feed=rss2&#038;p=410</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pluggable AI Using Polymorphism</title>
		<link>http://www.celsiusgs.com/blog/?p=398</link>
		<comments>http://www.celsiusgs.com/blog/?p=398#comments</comments>
		<pubDate>Mon, 09 Jan 2012 23:58:54 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[Drifter]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Subclass]]></category>
		<category><![CDATA[superclass]]></category>

		<guid isPermaLink="false">http://www.celsiusgs.com/blog/?p=398</guid>
		<description><![CDATA[I was talking briefly on Twitter the other day about how I was using polymorphism in C++ to handle different types of AI in Drifter and someone suggested I should make a blog post about it. As I&#8217;ve been wanting to post something new for a while, I figured why not! I apologize in advance [...]]]></description>
			<content:encoded><![CDATA[<p>I was talking briefly on <a href="http://twitter.com/celsiusgs">Twitter</a> the other day about how I was using polymorphism in C++ to handle different types of AI in <a href="http://celsiusgs.com/drifter">Drifter</a> and someone suggested I should make a blog post about it. As I&#8217;ve been wanting to post something new for a while, I figured why not!</p>
<p>I apologize in advance if this is not the Right Way to do this, but it works, and that&#8217;s the main thing. Also I reference C++ but any object-oriented language that supports sub-classing should be able to implement something similar.<br />
<span id="more-398"></span><br />
Anyway in Drifter there will be NPC ships which are flying around doing any manner of things which could be anything from delivering goods, mining in an asteroid belt, to trying to hunt the player or even other NPCs! With so many potentially different behaviors it would be nice to make it easy to add new ones as well as make it easy to use any AI with any ship without changing vast quantities of code.</p>
<p>In <a href="http://celsiusgs.com/rednova">Red Nova</a> it was a bit of a mess with one AI class and each enemy type&#8217;s behavior described by a couple of functions in that class. It is messy and a pain in the ass to modify, and considering how much more expansive Drifter is I really wanted to do something better and easier to manage this time.</p>
<p>First of all, all small ships in Drifter are all controlled by a generic ShipObject class. This object tracks things like location, heading, weapons, shield strength, hull integrity and cargo and presents a number of &#8220;inputs&#8221; to the ship such as steering, throttle and firing control. In the case of the player ship these inputs are operated by the touch controls, whereas with NPCs we can point some code at the associated ship object and let it manipulate these inputs.</p>
<p>This is where the generic AI class comes in. Each ship object has a pointer to an AI object and during the game logic loop every ship has its &#8220;process&#8221; function called. In that function a similar &#8220;process&#8221; function in the AI object is called. This is defined as a virtual function in the super class, which means that all derived classes will implement their own &#8220;process&#8221; function which will describe the behavior of that type of AI. To that effect, the generic AI super class also has pointers to aspects of the game state that would interest a potential AI agent such as the state of the current star system, other ships, asteroid fields and space debris such as jettisoned cargo and floating ore.</p>
<p>So now whenever we add a new NPC into the current star system we merely pick one of the existing AI classes as appropriate, create a new instance of said and attach it to the ship object and leave it to its own devices (or give it some specific task). Another neat feature that emerges from this is that we can add an autopilot for the player&#8217;s ship using an AI module.</p>
<p>Finally, if for whatever reason I feel the need to replace the hard coded AI behavior with scripting this gives a very clean entry point where I can replace the AI objects with a scripting system which performs a similar task.</p>
<div id="tweetbutton398" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D398&amp;via=celsiusgs&amp;text=Pluggable%20AI%20Using%20Polymorphism&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D398" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.celsiusgs.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.celsiusgs.com/blog/?feed=rss2&#038;p=398</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Finish a Game</title>
		<link>http://www.celsiusgs.com/blog/?p=365</link>
		<comments>http://www.celsiusgs.com/blog/?p=365#comments</comments>
		<pubDate>Thu, 17 Nov 2011 16:42:18 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[completion]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[distractions]]></category>
		<category><![CDATA[finishing]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[hints]]></category>
		<category><![CDATA[reinvent the wheel]]></category>
		<category><![CDATA[suggestions]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.celsiusgs.com/blog/?p=365</guid>
		<description><![CDATA[I posted a tweet yesterday which offered some advice concerning finishing games: How to finish a game: get part way through a project, get an awesome idea for another game, ignore it and finish the one you&#8217;re working on. It ended up getting retweeted quite a few times, so I guess it kind of struck [...]]]></description>
			<content:encoded><![CDATA[<p>I posted a <a href="https://twitter.com/#!/celsiusgs/status/136941549668929536">tweet</a> yesterday which offered some advice concerning finishing games:</p>
<blockquote><p>How to finish a game: get part way through a project, get an awesome idea for another game, ignore it and finish the one you&#8217;re working on.</p></blockquote>
<p>It ended up getting retweeted quite a few times, so I guess it kind of struck a chord with people. With that in mind I got to thinking about other barriers to completing games I&#8217;ve encountered over the years and figured it would make a good blog post.</p>
<p>Having tried to start this whole game development thing once before in the late 90&#8242;s, I&#8217;ve done quite a few things that have derailed me from actually completing a game. When I started again in 2009, I knew I had to avoid all of these pitfalls in order to actually get a game out the door, so that was my biggest priority, actually finishing a game. I&#8217;ve finished 2 games since then, and I&#8217;m on my way to completing my 3rd, so hopefully this advice may prove useful to you as well.</p>
<h1><span id="more-365"></span>Limit your Scope</h1>
<blockquote><p>Quake is awesome! I know I&#8217;ll make a first person shooter!</p></blockquote>
<p>That would be me, shortly after playing Quake, getting ready to embark on one of a series of unfinished game projects. At the time, instead of trying to make a game I could finish at my then current skill level I shot for the moon and, unsurprisingly, didn&#8217;t make it very far. I learned a lot of important skills, but I failed miserably at actually making any games.</p>
<p>That said, the first thing you need to do before you even start a game is at least plan what kind of game you want to create. The most important part of this planning step, as hinted at above, is to understand your limits as a developer or a team and make sure you pick a project that you can complete in a reasonable time-frame.</p>
<p>What&#8217;s a reasonable time-frame? For some people that might be six months, for others it could be a year, and for others still it could be two years or more. The point is: <strong>don&#8217;t bite off more than you can chew</strong>. You might learn a lot doing it, but if you&#8217;re seriously trying to make games all you&#8217;re going to do is waste your or your team&#8217;s time that could be better spent actually working on a game you can complete.</p>
<p>I&#8217;m not rightfully sure that you can really understand your limit unless you run into it a few times, leaving a few unfinished games in your wake, but at least be aware of it so you can begin to get comfortable with setting goals and making games.</p>
<h1>Avoid the Creep</h1>
<p>The evil twin of our friend Scope above, is Scope Creep. What is Scope Creep? It&#8217;s when you start working on your project and that little voice in your head goes &#8220;Wouldn&#8217;t it be cool if&#8230;&#8221; and then you&#8217;ve got something else to add to your game. If this keeps happening, you may end up spending way more time working on your game than you expected.</p>
<p>Sure, it might be cool, but before you start adding things to the original plan make sure you understand the implications. If it&#8217;s not <em>absolutely necessary</em> consider adding it to a list of things you can add after the game is released. In this day and age of digital distribution and patching there&#8217;s no reason why you can&#8217;t keep adding cool stuff to your game after it&#8217;s out. It&#8217;s not like people don&#8217;t enjoy getting <a href="http://icanhascheezburger.files.wordpress.com/2009/06/funny-pictures-cat-is-excited-about-ribbons.jpg">new things to play with</a>.</p>
<h1>Resist Temptation</h1>
<p>As hinted at by the tweet that inspired this post, game designers are almost always thinking about making games. Combine this with the fact that <a href="http://i.imgur.com/gEZqJ.jpg">certain aspects of making games are just not very much fun</a> and you have a potential recipe for disaster. At some point, you&#8217;re going to get an idea for a really awesome game in your head, right in the middle of doing something else on the game you&#8217;re currently working on, and it&#8217;s going to be really tempting to start doing the interesting groundwork on the new game to distract you from the monotony of the current project.</p>
<p>It takes discipline, but the best thing you can do at this point is add the idea you just came up with to your list of future games you want to make and get right back to working on the game you set out to finish in the first place.</p>
<h1>Don&#8217;t Re-invent the Wheel</h1>
<p>It seems like the temptation to create your own middleware and tools is common among game developers. It&#8217;s a weird affliction in a way, as you don&#8217;t often see carpenters building their own table saws or, in keeping with the wheel analogy, car makers manufacturing tires. I understand the reasons one might want to do this, and sometimes they&#8217;re quite legitimate. Other times, it&#8217;s more of a case of the Not Invented Here syndrome, where people seemingly mistrust anything they didn&#8217;t create themselves in-house. Yes, creating your own rendering engine or 3D modelling software (both of which I myself am guilty of) is a great way to learn new things and be in complete control of your project, but my point is you&#8217;re trying to create a game not middleware or tools!</p>
<p>The important thing here is to keep in mind that a lot of common problems in game development have already been solved, and probably more completely and robustly than you ever could do yourself. Some of these solutions cost money, some are free, but understand that your time is valuable and it is better spent actually working on finishing your game. So always spend some time before tackling a difficult problem evaluating if adopting an available solution will end up bringing you closer to finishing your game or not.</p>
<h1>Conclusion</h1>
<p>This is by no means meant to be an exhaustive list of things to think about when trying to finish a game, but I hope it will be useful to those out there trying to get their games off the ground. As well, by all means, feel free to suggest additional things you&#8217;ve learned that help you finish your games in the comments below.</p>
<p>Update: I was just about to post this to <a href="http://reddit.com/r/gamedev/">/r/gamedev</a> on <a href="http://reddit.com">Reddit</a> when I noticed a link on the sidebar to a post called &#8220;Finishing a Game&#8221; by <a href="https://twitter.com/#!/mossmouth">Derek &#8220;mossmouth&#8221; Yu</a>. I had actually read it ages ago, and it&#8217;s a very good post and covers some of the same ground I&#8217;m covering here, except more in depth&#8230; and with better pictures and diagrams. So, when you&#8217;re done here, I&#8217;d highly recommend you <a href="http://makegames.tumblr.com/post/1136623767/finishing-a-game">check it out</a>.</p>
<div id="tweetbutton365" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D365&amp;via=celsiusgs&amp;text=How%20to%20Finish%20a%20Game&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D365" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.celsiusgs.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.celsiusgs.com/blog/?feed=rss2&#038;p=365</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mini-Rant: Videogames Are Dead, Long Live Videogames!</title>
		<link>http://www.celsiusgs.com/blog/?p=358</link>
		<comments>http://www.celsiusgs.com/blog/?p=358#comments</comments>
		<pubDate>Sun, 16 Oct 2011 00:56:09 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Mini Rant]]></category>
		<category><![CDATA[death of videogames]]></category>
		<category><![CDATA[film]]></category>
		<category><![CDATA[game industry]]></category>
		<category><![CDATA[mini rant]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[social games]]></category>
		<category><![CDATA[tldr]]></category>

		<guid isPermaLink="false">http://www.celsiusgs.com/blog/?p=358</guid>
		<description><![CDATA[Business oriented people that mostly care about money have discovered that the videogame industry generates a lot of money. They have embraced this concept with gusto, creating games that effectively amount to nothing more than psychologically engineered treadmills disguised as toys that force game players to pay money to keep playing. This is upsetting to [...]]]></description>
			<content:encoded><![CDATA[<p>Business oriented people that mostly care about money have discovered that the videogame industry generates a lot of money. They have embraced this concept with gusto, creating games that effectively amount to nothing more than psychologically engineered treadmills disguised as toys that force game players to pay money to keep playing. This is upsetting to many people, and understandably so. But instead of realizing that this is an inevitable, if unfortunate, evolution in any popular medium quite a few vocal individuals are wringing their hands and shaking their heads, proclaiming that this is surely the death of videogames as we know them.</p>
<p>Frankly, this line of thought is a festering load of dingo&#8217;s kidneys. The videogame is a medium, not entirely unlike the motion picture, and just because Michael Bay is releasing <em>Explosions 4: Revenge of Explosions</em> next summer doesn&#8217;t mean that Francis Ford Coppola will never be able to direct a movie again in his life.</p>
<p>Yes it kinda sucks, and yes people have a right and even duty to point out that it sucks, why it sucks, and how they think they can make things better, but it&#8217;s not going away and neither are the kinds of videogames that helped to define and continue to define this industry. That is unless we stop making them, but whose fault would that be?</p>
<p><strong><em>Addendum:</em></strong> Just to clarify, there&#8217;s nothing inherently wrong with making games as a business (I mean, that&#8217;s what I&#8217;m trying to do after all) and there&#8217;s nothing particularly wrong with the free-to-play business model. Just like everything else in life, this is not a black and white issue. All I&#8217;m ranting against here is this idea that videogames are all of a sudden <em>dead</em> because a certain (tiny) subset of the industry is carrying out business in a way that people find questionable.</p>
<div id="tweetbutton358" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D358&amp;via=celsiusgs&amp;text=Mini-Rant%3A%20Videogames%20Are%20Dead%2C%20Long%20Live%20Videogames%21&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D358" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.celsiusgs.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.celsiusgs.com/blog/?feed=rss2&#038;p=358</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Converting Game Sound Assets via OS X to Save Space and Memory</title>
		<link>http://www.celsiusgs.com/blog/?p=347</link>
		<comments>http://www.celsiusgs.com/blog/?p=347#comments</comments>
		<pubDate>Tue, 26 Jul 2011 16:30:06 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[afconvert]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[commandline]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[sound]]></category>
		<category><![CDATA[wav]]></category>

		<guid isPermaLink="false">http://www.celsiusgs.com/blog/?p=347</guid>
		<description><![CDATA[Another audio-related mini-post! I had mentioned on Twitter earlier how I had written a script to convert all the WAV assets in Red Nova from unnecessarily large 32-bit floating point 44 kHz format to a space and memory saving 16-bit integer 22 kHz format. This basically cut the size of the files to less than [...]]]></description>
			<content:encoded><![CDATA[<p>Another audio-related mini-post!</p>
<p>I had mentioned on <a href="http://twitter.com/celsiusgs">Twitter</a> earlier how I had written a script to convert all the WAV assets in Red Nova from unnecessarily large 32-bit floating point 44 kHz format to a space and memory saving 16-bit integer 22 kHz format. This basically cut the size of the files to less than half, which is pretty fantastic when you&#8217;re dealing with a hand-held device with memory constraints like the iPhone. Hell, it will also improve loading times!</p>
<p>Anyway someone asked me to share the script I made, which is a fairly simple Bash script. Just create a file somewhere, call it something like <tt>convertwavs.sh</tt>, and paste the following into it:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> oldwavs
<span style="color: #000000; font-weight: bold;">for</span> f <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">*</span>.wav
<span style="color: #000000; font-weight: bold;">do</span>
   <span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #007800;">$f</span> oldwavs<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$f</span>
   afconvert <span style="color: #660033;">-f</span> WAVE <span style="color: #660033;">-d</span> LEI16<span style="color: #000000; font-weight: bold;">@</span>22050 <span style="color: #007800;">$f</span> <span style="color: #007800;">$f</span>
<span style="color: #000000; font-weight: bold;">done</span></pre></div></div>

<p>Run <tt>chmod +x convertwavs.sh</tt> from the terminal to make it executable, then change to the folder containing the WAV files you want to convert and run the script like so:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>convertwavs.sh</pre></div></div>

<p>It will make a sub-folder called <tt>oldwavs</tt> and copy the originals there in case anything goes wrong and then convert the files in place. That&#8217;s it!</p>
<div id="tweetbutton347" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D347&amp;via=celsiusgs&amp;text=Converting%20Game%20Sound%20Assets%20via%20OS%20X%20to%20Save%20Space%20and%20Memory&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D347" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.celsiusgs.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.celsiusgs.com/blog/?feed=rss2&#038;p=347</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Low-Poly Modelling Screencast!</title>
		<link>http://www.celsiusgs.com/blog/?p=326</link>
		<comments>http://www.celsiusgs.com/blog/?p=326#comments</comments>
		<pubDate>Mon, 18 Jul 2011 03:58:05 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Screencast]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[art]]></category>
		<category><![CDATA[blender]]></category>
		<category><![CDATA[gimp]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[modelling]]></category>
		<category><![CDATA[render]]></category>
		<category><![CDATA[screencast]]></category>
		<category><![CDATA[tank]]></category>
		<category><![CDATA[texture]]></category>
		<category><![CDATA[tiny]]></category>
		<category><![CDATA[unwrap]]></category>
		<category><![CDATA[uv map]]></category>

		<guid isPermaLink="false">http://www.celsiusgs.com/blog/?p=326</guid>
		<description><![CDATA[It&#8217;s been a while since I last posted something to Ye Olde Blog, so time to fix that. A few days ago someone linked to the low-poly work of Kenneth Fejer on Google+ and apart from being awesome it gave me the idea to try and play around with the style. Not only was it [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since I last posted something to Ye Olde Blog, so time to fix that.</p>
<p>A few days ago someone linked to the <a href="http://kennethfejer.com/lowpoly.html">low-poly work of Kenneth Fejer</a> on Google+ and apart from being awesome it gave me the idea to try and play around with the style. Not only was it low poly work, but the textures had an almost pixel-art appeal to them which I found intriguing.</p>
<p>You see, I&#8217;m a programmer most of the time but I do enjoy doing arty things, which some may say is unusual for a programmer, but when you&#8217;re making all of this stuff on your own it certainly helps. I don&#8217;t think my models are the best by any stretch of the imagination, but they&#8217;re certainly passable, but one thing that I&#8217;ve always never been satisfied with is my ability to texture them. This is why this pixel-art style appeals to me, because it&#8217;s a lot easier (at least for me) to create pixel-art.<span id="more-326"></span></p>
<p><em>Anyway,</em> so I played around and created a few tanks in <a href="http://www.blender.org/">Blender</a> and <a href="http://www.gimp.org">The Gimp</a> and posted them as animated GIFs to Twitter and Google+:</p>
<p><img class="aligncenter" title="Tiny Blue Tank!" src="http://celsiusgs.com/images/fun/tinytank-128.gif" alt="" width="128" height="128" /><img class="aligncenter" title="Tiny Skull Tank!" src="http://celsiusgs.com/images/fun/skulltank.gif" alt="" width="128" height="128" /></p>
<p>People seemed to dig them, some even expressing a desire to see how they were created. So I figured &#8220;Hey, I&#8217;ve always wanted to do a screencast&#8230; I&#8217;ll make a tank and record it!&#8221;</p>
<p>So basically I recorded making the tank in 3 stages. Modelling, unwrapping the UV texturemap, and actually creating the texture. I wanted to do the whole thing in real-time but the whole process took a little under 3 hours so I won&#8217;t subject you to all of that. The Modelling videos are a little under 30 minutes total and the UV unwrapping is about 15 minutes so I&#8217;ve only edited those a little. The texture creation took almost 2 hours so I sped that up dramatically in a sort of time-lapse and then narrated over the sped-up video.</p>
<p>The videos are all recorded in 720p so feel free to view them directly in YouTube to get more detail.</p>
<h3>Low-Poly Modelling &#8211; Making the Model Part 1 of 2</h3>
<p>&nbsp;</p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/KWiDYV72qus?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/KWiDYV72qus?version=3" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h3>Low-Poly Modelling &#8211; Making the Model Part 2 of 2</h3>
<p>&nbsp;</p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/ZeVTukXtcME?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ZeVTukXtcME?version=3" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h3>Low-Poly Modelling &#8211; UV Unwrapping</h3>
<p>&nbsp;</p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/xtTmgZPZuFE?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/xtTmgZPZuFE?version=3" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h3>Low-Poly Modelling &#8211; Texturing</h3>
<p>&nbsp;</p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/TdvlMLe4DYw?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/TdvlMLe4DYw?version=3" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>And this is the final product:</p>
<p style="text-align: center;"><img class="aligncenter" title="Tiny Red Tank!" src="http://celsiusgs.com/images/fun/redtank.gif" alt="" width="128" height="128" /></p>
<p>Anyway I hope you enjoyed this and weren&#8217;t put off too much by my occasional mumbling and/or breathing directly into the goddamned mic!</p>
<div id="tweetbutton326" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D326&amp;via=celsiusgs&amp;text=Low-Poly%20Modelling%20Screencast%21&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D326" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.celsiusgs.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.celsiusgs.com/blog/?feed=rss2&#038;p=326</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Quickly Convert Your Game Music to AAC on OSX</title>
		<link>http://www.celsiusgs.com/blog/?p=314</link>
		<comments>http://www.celsiusgs.com/blog/?p=314#comments</comments>
		<pubDate>Fri, 27 May 2011 22:30:30 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[aac]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[patent]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[vorbis]]></category>

		<guid isPermaLink="false">http://www.celsiusgs.com/blog/?p=314</guid>
		<description><![CDATA[This is just a quick post aimed at iOS developers covering the incredibly easy command-line method to convert your music files to AAC format. The reason you might want to do this is because MP3 is encumbered with a patent which covers the distribution of MP3&#8242;s commercially, even as part of a game (see here). [...]]]></description>
			<content:encoded><![CDATA[<p>This is just a quick post aimed at iOS developers covering the incredibly easy command-line method to convert your music files to AAC format. The reason you might want to do this is because MP3 is encumbered with a patent which covers the distribution of MP3&#8242;s commercially, even as part of a game (<a href="http://mp3licensing.com/help/developers.html#59">see here</a>). It should also be noted that Apple&#8217;s license for their hardware MP3 decoder does not in any way cover your distribution of MP3&#8242;s in your game.</p>
<p>You could convert to OGG Vorbis, which is of course free and clear to distribute as you please, however many devices (including iOS devices) do not support hardware accelerated decoding of OGG Vorbis files so you are losing some of your CPU cycles for your music decoding. Luckily, there is a third option: The Advanced Audio Coding or AAC format, which of course is supported in hardware by all of Apple&#8217;s portable devices. There are patents surrounding AAC but none of them restrict the distribution or streaming of files encoded in AAC.</p>
<p>Anyway now that I&#8217;ve spent all that time leading up to a single command, here it is&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">afconvert <span style="color: #660033;">-f</span> m4af infile.mp3 outfile.m4a</pre></div></div>

<p>And that&#8217;s it! As far as I&#8217;m aware you can use any of the iOS SDK methods for music playback with this new file.</p>
<div id="tweetbutton314" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D314&amp;via=celsiusgs&amp;text=Quickly%20Convert%20Your%20Game%20Music%20to%20AAC%20on%20OSX&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D314" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.celsiusgs.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.celsiusgs.com/blog/?feed=rss2&#038;p=314</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Indie Gamedevs: You&#8217;re (Probably) Doing it Wrong</title>
		<link>http://www.celsiusgs.com/blog/?p=229</link>
		<comments>http://www.celsiusgs.com/blog/?p=229#comments</comments>
		<pubDate>Wed, 06 Apr 2011 14:12:44 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Marketing]]></category>

		<guid isPermaLink="false">http://www.celsiusgs.com/blog/?p=229</guid>
		<description><![CDATA[I&#8217;ve been meaning to do a post for a little while now about some of the more common mistakes I see a lot of indie devs make when they release on the App Store. I am more than guilty myself of making these and I didn&#8217;t want to really say anything until I had actually [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been meaning to do a post for a little while now about some of the more common mistakes I see a lot of indie devs make when they release on the App Store. I am <a href="http://www.celsiusgs.com/blog/?p=181">more than guilty myself</a> of making these and I didn&#8217;t want to really say anything until I had actually gotten a more <a href="http://www.celsiusgs.com/blog/?p=243">successful release</a> under my belt, as otherwise I&#8217;d just be all talk and no walk as they say. I&#8217;m sure I&#8217;ll keep making mistakes and I don&#8217;t claim to have all the answers, but hopefully the answers I have are somewhere in the neighborhood of the right ones.</p>
<p>This post is geared somewhat towards the App Store, which is what I have the most experience in, but I&#8217;m sure a lot of this advice could be applied to any game on any platform.</p>
<p>The biggest reason I am posting this is because I see a lot of really fantastic games coming out all the time and many of them get lost in the shuffle because of one or more reasons which I&#8217;ll hopefully address below. It hurts me to see so much blood, sweat and tears go into the development of a game only to have it thrown to the wolves and eventually fall into obscurity. That being said, not every game is going to be a success, but for the love of all that is good in the world if you care at all about your game try and give it the launch it deserves.</p>
<p>First of all, I just want to get it out of the way and say that I believe that the &#8220;gold rush&#8221; on the App Store, if it even existed, is long since over. That&#8217;s not to say that there aren&#8217;t any opportunities to be successful on the App Store, it&#8217;s just that it requires a lot more effort or a lot more luck to achieve that success. To continue the analogy, if what we had before was a gold rush where any <a href="http://static.tvtropes.org/pmwiki/pub/images/TheOldProspector.jpg">crazy old prospector</a> with a goofy hat, a straggly beard and a fart app could dip a pan in a river and come up rich now we have a gold mine where anyone with the <a href="http://lh6.ggpht.com/_N-lLFhD7bxE/S_DWkcacYaI/AAAAAAAADww/awe7hdLK1bc/World%20Biggest%20Digging%20Machine%20by%20Krupp%2000%5B14%5D.jpg?imgmax=800">right tools</a> can get even more gold out of the cold, cold earth of the App Store.</p>
<p>The primary, and perhaps unfortunate, conclusion I&#8217;ve come to when it comes to the secret to success on the App Store I can sum up in two words, but I&#8217;ll use four for emphasis, and mild swearing:</p>
<h3 style="text-align: center;">Hard God Damned Work.</h3>
<p>&nbsp;</p>
<p>Sure luck still plays a big factor, but you aren&#8217;t doing yourself any favors by not taking advantage of the fact that you yourself can (and should!) do everything in your power to give your game the best possible chance at being successful. Yes people often deride the App Store as a &#8220;lottery&#8221; of sorts, usually in a somewhat dismissive tone because you know, only fools play the lottery, however it is the only lottery I know of where you can stack the odds in your favor.</p>
<p>So without further ado, in no particular order, are some things to help improve your chances on the App Store. But remember, it&#8217;s going to be a tough slog and your first game may not be successful but if you don&#8217;t give up and learn from your mistakes you&#8217;ll be bound to succeed.</p>
<h3>If You Build It, Will They Come?</h3>
<p>There seems to be an attitude that is prevalent in a lot of people that if they make something amazing it&#8217;ll automatically sell like crazy. The fact of the matter is, this is generally not going to happen and statistically speaking your chances of getting noticed at release without any marketing work are so small you might as well put your game on a USB drive and throw it in a dumpster. I don&#8217;t know if this attitude has a name or anything, but I want to be clever and scholarly and call it <em>The Field of Dreams Fallacy</em>, it has a nice ring to it don&#8217;t you think?</p>
<p>Even if your game really is so awesome that the entire world will be clamoring to get it on release day, you should still take some time and effort to try and get the word out about it beforehand. Many indie devs take advantage of the open development process to help get people interested in their game early, sharing stories about how the game is being developed, showing work in progress screenshots and generally talking about the game. There are many forums out there geared towards showing off your stuff. Take advantage of them!</p>
<p>While there are some who are concerned that someone may steal your game idea, just remember that it&#8217;s not necessarily the idea that&#8217;s important, but how you  execute that idea. Also you may run the risk of being criticized which will hurt, or ignored which might also hurt, but if you&#8217;re not out there trying to find a potential audience for your game then it&#8217;s going to hurt even more when nobody buys it. Also if you do get feedback/criticism take all of it in and evaluate whether or not it is valid and/or worthwhile to heed. Yes it&#8217;s your baby and your creative vision, but it is for that reason very easy to ignore the flaws in something you are emotionally attached to.</p>
<p>Another important thing you can be doing at this stage is attempting to find people in the games journalism space who may be interested in giving you early coverage. These people are often very busy, so don&#8217;t become a broken record and annoy the hell out of them, but they do need content for their sites and that content includes news of up and coming games like yours! You may not find someone right away, but don&#8217;t worry and don&#8217;t give up, you may have to find a less busy site which is in need of new things or a big scoop, just remember these smaller sites and writers may and do go on to become bigger players in the industry so don&#8217;t ignore them, they need you as much as you need them.</p>
<p>Also when you do decide to pitch your game to them, just don&#8217;t parrot the usual &#8220;It&#8217;s addictive!&#8221; or &#8220;A unique twist on &lt;genre&gt;!&#8221; (Note: I am guilty of having done this in the past, I am not proud of it) These journos are <em>sick</em> of getting PR like this in their inboxes and even if they overlook your liberal use of hyperbole-filled content-free language it certainly isn&#8217;t helping your chances of them actually paying attention to your game. So here your best bet is to be succinct: Tell them why your game is awesome in plain english and make it very easy for them to see either screenshots, or even better, a video of your game in action. The key here is do not waste their time, they get dozens of new game pitches every day so you need to stand out!</p>
<p>At this time it would also be a good idea to start building a list of sites that you think might be a good fit for covering your game, both generic to the gaming platform you&#8217;re on or for indie games in general as well as genre specific sites. It would also be a good idea to use a site like <a href="http://alexa.com">Alexa</a> so you can sort these sites by how much traffic they get. Don&#8217;t use it to exclude smaller sites, because you need all the coverage you can get, but it is good to know if a site is worth spending more time, effort and resources on or not.</p>
<p>To sum this one up, let&#8217;s just say that I spent about half my time working on what I would call marketing aspects of Red Nova during it&#8217;s approximately 7 month development period.</p>
<h3>Failure to Amaze and Delight<strong><br />
</strong></h3>
<p>Another relatively common problem a lot of indies seem to encounter is they release a game that is technically good but is either visually and/or aurally dull, an uninspired genre clone, interesting but frustrating to play, or any other combination of reasons that prevent users from becoming interested in and eventually falling in love with your game. Or at least falling in like with your game, anyway.</p>
<p>Basically, the more interesting your game or some aspect of your game is, the easier time you will have getting players, and more importantly, the lovely games journos mentioned previously talking about your game. You can address this in two different ways: polish and features.</p>
<p>As emphasized in a <a href="http://gamesfromwithin.com/all-it-needs-is-love">recent blog post</a> by Noel Llopis, polish is a very important aspect of making a game. I won&#8217;t try and repeat everything he said here but the upshot is extra time spent polishing your game is always time well spent. Little things like the right sound effects, visual effects, extra animation, more explosions and so on can take a good game and make it truly great. It really is amazing how much more <em>complete</em> a very simple game can feel if you go that extra mile. It&#8217;s all about psychology, and people definitely notice these things.</p>
<p>Another way you can help differentiate your game from the competition is by concentrating on features that make it unique or better than most of your competition. These features don&#8217;t necessarily need to be complicated to implement but every novel or interesting thing your game does that the other games don&#8217;t increases your chances of getting noticed. Take some time to think about this and go that extra mile, trust me it will be worth it in the end.</p>
<p>Finally, always take time to make your game pleasant or at least not frustrating to play. If your game is annoying to play because the player is frustrated by the controls, then they are not going to enjoy the game at all. I learned this lesson well with the constantly fiddly controls for Chromodyne and hope I have managed to serve my penance with my improvement of the rather poor state of action touch controls with Red Nova. In the end, it turned out that I could promote this improvement as a feature, which ultimately helped earn the game a lot of good press.</p>
<h3>A Launch Day is a Terrible Thing to Waste</h3>
<p>This is probably the biggest and most common mistake indie iOS developers make, and that is the failure to recognize how important it is to take advantage of the control they have over the release date of their game. I realize the desire to put your game on sale immediately after you get the notification that your app is &#8220;Ready For Sale&#8221; is a strong one, I have felt it myself. <strong>DON&#8217;T DO IT!</strong> Keep that release date set to some point in the future and pick a day for your release date, change the release date in iTC to that date and stick to it. The idea here is to try and maximize the amount of buzz surrounding your game over a short period of time to generate a spike in sales, hopefully getting you into the charts.</p>
<p>If you have been doing everything right, by now you have gotten some game reviewers at least somewhat interested in your game. If not, especially if this is your first release, don&#8217;t panic too much, but you will have your work cut out for you. You see at this point you have 50 promo codes you can give out for your game even though it isn&#8217;t available for sale. The idea here is to get those codes into the hands of reviewers so they can write up a review and hopefully if things go well, have it ready for the release day. You can use the list of sites I mentioned you should make earlier to figure out who best to give promo codes to. If you have already gotten coverage earlier in the development cycle, it&#8217;s a good bet to give those sites promo codes for sure.</p>
<p>Use this time to create a press release as well. There are a number of press release services online that can get news of your game to a huge number of news services that cover different aspects of the games industry and you&#8217;d be wise to take advantage of them. You never know who might pick up the news. Also much like your pre-release pitches, keep the hyperbole and marketing-speak to a minimum. The easier you make it for someone who has to pour through dozens if not hundreds of press releases a day to see that your game is interesting and awesome the better.</p>
<p>Another thing you might want to consider, as a small and relatively unknown indie game developer, is the actual day you release your game on. For some reason it has become &#8220;common knowledge&#8221; in the iOS world that the best day to release your game is on Thursday. I&#8217;m not sure how this got started but for a number of reasons it&#8217;s actually now the <em>worst day</em> for a small and relatively unknown indie game developer to release their game. This is because practically everyone is now releasing their games on Thursday, from the crazy old prospector with his fart app to all of the big publishers and everyone in between. This means that it is going to be that much harder to get attention for your game seeing as it&#8217;s basically <a href="http://www.penny-arcade.com/comic/2011/1/10/">going toe-to-toe with the game release equivalent of the God King</a>. I don&#8217;t know if any other particular day is better, but the rest of the week is quieter and you stand a better chance of getting more coverage from more sites because they need content every day of the week, not just Thursday.</p>
<p>One last piece of advice here, that I of course <a href="http://www.celsiusgs.com/blog/?p=207">learned the hard way</a>, is it&#8217;s probably a bad idea to launch close to the Christmas holiday if you don&#8217;t have a huge name for yourself or a lot of pre-release buzz surrounding your game. There is going to be a massive amount of noise from new releases and massive amounts of sales and even though there are going to be a lot of new device owners looking for games, chances are they probably won&#8217;t be buying yours.</p>
<h3>Conclusion</h3>
<p>The upshot of all this advice is that you have more control over the path to success that your game can take than you think. Yes luck is a massive factor in how successful a game is, but you should still do everything in your power to give your game the best possible environment for that success.</p>
<p>Most important of all: don&#8217;t give up, learn from your mistakes, learn from other people&#8217;s mistakes, and eventually you will get rewarded for your patience and hard god damn work.</p>
<div id="tweetbutton229" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D229&amp;via=celsiusgs&amp;text=Indie%20Gamedevs%3A%20You%26%238217%3Bre%20%28Probably%29%20Doing%20it%20Wrong&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.celsiusgs.com%2Fblog%2F%3Fp%3D229" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://www.celsiusgs.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.celsiusgs.com/blog/?feed=rss2&#038;p=229</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.450 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-05-18 17:11:36 -->

