<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Parade of Rain</title>
	
	<link>http://www.paradeofrain.com</link>
	<description>Indie Game Development</description>
	<lastBuildDate>Tue, 07 Sep 2010 00:46:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/paradeofrain" /><feedburner:info uri="paradeofrain" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Getting Into Prototyping Mode…</title>
		<link>http://feedproxy.google.com/~r/paradeofrain/~3/E5dMWBbzrg0/</link>
		<comments>http://www.paradeofrain.com/2010/09/getting-into-prototyping-mode/#comments</comments>
		<pubDate>Tue, 07 Sep 2010 00:01:27 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Personal Development]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[idevblogaday]]></category>
		<category><![CDATA[iphone development]]></category>
		<category><![CDATA[BlitzMax]]></category>
		<category><![CDATA[iPhone games]]></category>

		<guid isPermaLink="false">http://www.paradeofrain.com/?p=1161</guid>
		<description><![CDATA[After reading Noel&#8217;s post on prototyping I realized I was drifting away from that mind set and getting into dangerous territory of just &#8220;thinking up a game and running with it.&#8221; Tilt to Live itself spawned into a full game from being discovered in a rough prototype. Since then we&#8217;ve just had rough documents and [...]]]></description>
			<content:encoded><![CDATA[<p>After reading <a href="http://gamesfromwithin.com/prototyping-youre-probably-doing-it-wrong">Noel&#8217;s post</a> on prototyping I realized I was drifting away from that mind set and getting into dangerous territory of just &#8220;thinking up a game and running with it.&#8221; Tilt to Live itself spawned into a full game from being discovered in a rough prototype. Since then we&#8217;ve just had rough documents and ideas that we wished to pursue after TTL. The past few weeks we&#8217;ve been gearing up more heavily for our next game and I&#8217;ve been getting back into the habit of whipping out fast prototypes.  I finished one prototype for an arcade/action shooter and another one over the past weekend for  a turn-based strategy game. My methods for prototyping each were very different. Ultimately, as I experiment with different tech and methods I&#8217;m trying to optimize the time from &#8220;concept&#8221; to &#8220;on the screen and working&#8221; so that we can <a href="http://www.lostgarden.com/2007/10/lesson-about-failure.html">fail quickly or move forward with the idea</a>.</p>
<h4>Action Shooter</h4>
<p>With this one I had a series of prototypes I wanted to explore before we would deem it &#8216;good enough&#8217;. The first one was trying to see if our tilt mechanic would work. We had an idea that was a slight evolution of Tilt to Live&#8217;s controls but allowed for shooting while still avoiding annoying &#8216;floating D-Pads&#8217; issue. It took about 15 minutes to do the mechanic prototype. After getting it implemented and in the hands of some friends, they actually liked the feel of the controls, which made us pretty excited about it. My next question was whether a scrolling view worked with a tilt mechanic. It made perfect sense to me in my head, but for some reason I felt that not being able to view the whole field while tilting to move (somewhat losing that 1-to-1 feel) would ruin the experience. 40 minutes later I had a camera system and some basic map trinkets scrolling by and it still felt good.</p>
<p>The next several hours became more of an educational exercise by implementing bluetooth multiplayer in it, and admittedly it was wasted hours in the prototype sense but very useful in a general sense. So I did go off track here a bit, but corrected myself soon after indulging in that little fun <img src='http://www.paradeofrain.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . The tech used was the iPhone itself and objective-c as it&#8217;s hard to test very device-specific controls on anything other than the device. The next prototype in this series would be player/enemy interactions and seeing if simple enemies would suffice or would we need varied, sophisticated enemy behaviors to make it compelling (a difficult road to go down, as disposable content is not something I&#8217;m a fan of), so this&#8217;ll be a rather telling iteration.</p>
<h4>Turn-Based Game</h4>
<p>This was an interesting prototype to make. The game consists of a hexagonal grid where two players have bases, spawn points, and a set of different character classes. The game&#8217;s core idea was to make a very simple-to-play turn-based game but introduce interesting twists to the character classes that didn&#8217;t require some extra knowledge or rigorous &#8217;book keeping&#8217; of different types of stats for each pawn to use effectively. So while the action of &#8216;moving&#8217; a pawn was simple, the outcome would be varied and hopefully pose interesting choices to the players that are playing.</p>
<p>About Friday mid-afternoon I decided I wanted to see this turn-based game idea Adam had in an more automated form so we could give it more play time and start getting feedback from more people. The first prototype of this game was done by Adam <strong>in Adobe Illustrator</strong>. He did it in Illustrator because he was most comfortable with manipulating graphics in that program, and also (being the artist he is) had some pretty mock ups to play on top of. It was a series of duplicating object-groups to move objects, editing text boxes to adjust hit point values, deleting and adding layers and all sorts of madness. It was slow, tedious, but the game was still pretty compelling. It also goes to show that you can prototype a game with <strong>just about anything</strong>.</p>
<p>Having only about 3-4 hours before leaving to the beach for the weekend I had to decide what was the quickest way for me to get a more complete version of this game&#8217;s rules running on a screen. Ideally I wanted an iPad prototype, but I had almost zero framework to work with (barring using something like cocos2D) and the tediousness of C++/Objective-C slows things down. I opted for writing a prototype in <a href="http://blitzmax.com/">Blitzmax</a>. I ran the simple Blitzmax IDE on my mac (Blitzmax works on mac/pc/linux) and started coding away. No header files, no include dependencies, lots of high level modules to load graphics, draw graphics, draw text, load text, load data, handle mouse/key events. I feel I eliminated like about an hour of working on &#8216;boilerplate&#8217; code to get a prototype up and running on a laptop.</p>
<p>Not having done a hexagonal-grid based game before, it was time to hit the books and just quickly skim over the basics of how to manipulate objects in that space. This was more of the &#8216;technical education&#8217; part of the prototype. And this is usually the part that takes the most time in any of my prototypes. Transforming between hex and mouse coordinates, moving and calculating distances took up the rest of the time to develop.</p>
<p>Oh no, so I had no prototype before the weekend! Luckily, trusty Adam was driving so I spent about 1.5 hours just putting together a state-machine type framework trying to get the ruleset and player interaction working. This is one of those dangerous situations as well, as <a href="http://gamesfromwithin.com/prototyping-youre-probably-doing-it-wrong">Noel and others mention</a>, that many can get caught up in the &#8220;technical beauty&#8221; and try to create an all encompassing FSM framework of some sort. Putting a 3 hour constraint on this really helped mitigate that urge.</p>
<p>Then the battery died. Oh well, instead of spending some untold number of hours cooped up in a condo instead of enjoying the weekend with friends at the beach I limited myself to 30 minutes a night right before going to bed to work on it. The awesome part was knowing how little time I had to work on it allowed me to make coding decisions much more quickly. Of course the downside is the amount of &#8216;shortcuts&#8217; I took code-wise to get the prototype up and running. But the thing for me to remember is it&#8217;s a prototype, not  final code. Further practice and experience will yield better code and solutions for quicker turn-arounds in prototypes. I finished that prototype after 2 30-minute sessions, and 2 players can play it on a laptop on mac or windows.</p>
<p>Not having it on an ipad kind of sucked as it does have a certain novel feel to it, but that &#8220;feeling&#8221; is probably more like sugar on top than having a solid design that works on any screen.</p>
<h4>Faster, Faster, Faster!</h4>
<p>Indeed, getting something up and running and <strong>being able to play with it holds more answers than any time spent thinking about it in your head</strong>. Things like the <a href="http://experimentalgameplay.com/">Experimental Gameplay</a> project really shows what volume of ideas can be realized with very focused, short efforts. I had been doing these prototypes all the while working on finishing up TTL HD. With this newly rediscovered &#8220;do it as quickly as possible&#8221; mentality I may be able to incorporate a weekly prototype into my schedule to break up the week of working (happily, mind you) on whatever our current long term project is. Strangely, both prototypes show promise, but it may come down to how &#8220;well&#8221; we can make whatever fun prototype we choose in a short development period since we are aiming to release at least 1 more title in 2010.</p>
<img src="http://feeds.feedburner.com/~r/paradeofrain/~4/E5dMWBbzrg0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.paradeofrain.com/2010/09/getting-into-prototyping-mode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.paradeofrain.com/2010/09/getting-into-prototyping-mode/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=getting-into-prototyping-mode</feedburner:origLink></item>
		<item>
		<title>The More the Merrier?</title>
		<link>http://feedproxy.google.com/~r/paradeofrain/~3/Bgp31GGPuto/</link>
		<comments>http://www.paradeofrain.com/2010/08/the-more-the-merrier/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 01:02:02 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[idevblogaday]]></category>
		<category><![CDATA[iphone development]]></category>

		<guid isPermaLink="false">http://www.paradeofrain.com/?p=1104</guid>
		<description><![CDATA[I recently made a post on our official OML blog about what Adam and I are playing. Taking a look at that list you&#8217;ll find that the vast majority of games I play are multiplayer oriented. A lot of biases, inspirations, and design decisions that go into my game designs are influenced by multiplayer games. [...]]]></description>
			<content:encoded><![CDATA[<p>I <a href="http://www.onemanleft.com/2010/08/27/what-were-playing/">recently made a post</a> on our official OML blog about what Adam and I are playing. Taking a look at that list you&#8217;ll find that the vast majority of games I play are multiplayer oriented. A lot of biases, inspirations, and design decisions that go into my game designs are influenced by multiplayer games.</p>
<p>When we set out to start One Man Left, my long term goal for the company (beyond making fun games we like to play) was to be known for making fun multiplayer indie games for whatever platform we develop for. Our first game wasn&#8217;t a real-time multiplayer game, but you gotta start somewhere, right? Admittedly, I don&#8217;t seek out purely multiplayer games on the iPhone often. Searches for &#8220;multiplayer&#8221; tend to not turn up very compelling options, and it worries me. The few games that are strictly multiplayer tend to have different reactions based on how the match making works and how &#8216;easy&#8217; it is to play alone. For instance, one game was bluetooth/wifi only and had no AI opponent. It had extremely low ratings and the vast majority of them were &#8220;please add a computer opponent&#8221;. Just reading this you would think that a lot of iPhone users are isolated cases where their friends don&#8217;t have an iThing. This could very well be the case, although in my personal experience it isn&#8217;t. It may also have been a case of the app description not being detailed enough.</p>
<p>I&#8217;ve been prototyping some co-op multiplayer game ideas over bluetooth recently and we&#8217;re really excited about the possibilities. I feel multiplayer is an awesome tool in the game designer&#8217;s toolbox. It overcomes many challenges more traditional single player games are still struggling with:</p>
<ul>
<li>Want the player to have a memorable experience? Include a friend, and now it&#8217;s a shared experience that is easier to remember.</li>
<li>Want a genuinely funny game? Add some human players and watch the hilarity ensue. It becomes a breeding ground for memes, inside jokes.</li>
<li>It&#8217;s much easier for players to evoke genuine joy, exhilaration, nervousness, anger and frustration when playing with human players in close proximity.</li>
</ul>
<p>Yes, it&#8217;s definitely a different spin on things as you can&#8217;t exactly tailor an &#8216;epic&#8217; story to many multiplayer games, but it entirely depends on the goals your game is set out to achieve. In the context of mobile games, long and epic games don&#8217;t seem to be hitting the mark compared to heavier duty, more hardcore platforms.</p>
<p>So where are all the awesome multiplayer games, especially with a platform that is practically connected 24/7 regardless of location and time? We&#8217;ve certainly seen some early successes so far (Words with Friends, Eliminate, NOVA, Archetype, etc), but these seem to be barely scratching the surface on what this platform can do. Now with some ideas on multiplayer on the iPhone I figured there are plenty of challenges and possibly very good reasons why we aren&#8217;t seeing many successful indie games based around multiplayer just yet.</p>
<h5>Complexity</h5>
<p>It&#8217;s no secret that networking, and making that networked experience seamless and easy to use is no small task. In fact, if you&#8217;re doing a server hosted solution where the game is happening at a central location, the cost and infrastructure is probably cost prohibitive for most indies to be sustainable. Even if it&#8217;s a P2P game, the complexities of managing a game over a <strong>network where any number of things can hinder the quality of the connection or the progress of the game </strong>can become a headache at times. You find you are coding for a lot &#8220;exceptions&#8221; in game events when things simply don&#8217;t arrive, arrive late, or aren&#8217;t even welcome.</p>
<p>It&#8217;s not common for a game to have multiplayer as it&#8217;s front and center offering. It&#8217;s usually tucked away as a &#8220;but wait, there&#8217;s more!&#8221; item in some bullet list description of features. As such, the convention seems to be a single player option with multiplayer being &#8220;extra&#8221;. That just adds to production time as now your game isn&#8217;t just a single &#8220;mode&#8221;.</p>
<h5><span style="font-weight: normal;">Appeal</span></h5>
<p>To me it seems the number of people who wish to play a game with their friends would be close if not higher to those that wish to purchase a quick 5-minute game to kill time. But I have no data to really back this up, and as such I think my bias is getting in the way here and I could be dead wrong when it comes to the iPhone game market. Social networking sites have already shown that &#8216;social games&#8217; have a huge appeal, however dubious the game is. So maybe that&#8217;s good news?</p>
<h5><span style="font-weight: normal;">Opportunity</span></h5>
<p>The other dilemma is the chances the player will have to actually play the game. With a game like &#8220;Words with Friends&#8221; or &#8220;Archetype&#8221; there&#8217;s always a game at a moment&#8217;s notice. Of course, the catch being that you aren&#8217;t playing with real life friends (WWF has a slight exception here due to the nature of the game). It&#8217;s difficult enough to get players to play your game on their own, but now adding the constraint that 2+ people must buy it AND must be in the same general location to play becomes even more challenging. This drives the game more into niche territory. The question is if that niche is big enough.</p>
<h4>The More The Merrier</h4>
<p>Multiplayer games are sticky by nature. Players won&#8217;t drop your game after a day if they have friends playing it. There&#8217;s been a lot of &#8216;bigger budget&#8217; games that are multiplayer driven on the iPhone, and the whole &#8220;social gaming platform&#8221; vendors (AGON, Open Feint, Plus+, etc) are all betting on the same thing with their leaderboards and social features. So maybe I&#8217;m not too crazy to try to create something that requires more than 1 person/iPhone to fully enjoy the game. The iPad is always an option as well, and possibly a safer one if I wish to pursue a &#8216;multiplayer&#8217; centric game idea.</p>
<img src="http://feeds.feedburner.com/~r/paradeofrain/~4/Bgp31GGPuto" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.paradeofrain.com/2010/08/the-more-the-merrier/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.paradeofrain.com/2010/08/the-more-the-merrier/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=the-more-the-merrier</feedburner:origLink></item>
		<item>
		<title>Developing with Multiple iDevices</title>
		<link>http://feedproxy.google.com/~r/paradeofrain/~3/XlH2Vz2BNAE/</link>
		<comments>http://www.paradeofrain.com/2010/08/developing-with-multiple-idevices/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 20:53:15 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://www.paradeofrain.com/?p=1100</guid>
		<description><![CDATA[So I&#8217;m currently playing around with some multiplayer prototypes on the iphone, and when it came down to testing stuff I ran into a problem: You can&#8217;t deploy to multiple devices at the same time. Yea it&#8217;s not exactly a &#8216;problem&#8217; per say, but it&#8217;s certainly tedious doing a &#8216;build and run&#8217; on the devices [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;m currently playing around with some multiplayer prototypes on the iphone, and when it came down to testing stuff I ran into a problem: You can&#8217;t deploy to multiple devices at the same time. Yea it&#8217;s not exactly a &#8216;problem&#8217; per say, but it&#8217;s certainly tedious doing a &#8216;build and run&#8217; on the devices you want to test. So much so that I dropped 3 player support in a prototype just to save time.</p>
<p>I did run across this b<a href="http://jdg.net/post/106573590/xcode-multiple-devices">log post by Jonathon George</a> on the topic. You can plug in all your devices at once and just switch the &#8216;active executable&#8217; in the drop down to deploy to each device. Not ideal, but works for the time being. I figured there may be a way to run multiple instances of XCode projects but I expect that gets into all sorts of messy configuration issues so I haven&#8217;t spent the time trying to do it. Wonder if anyone out there developing multiplayer games has gotten a elegant solution to this?</p>
<img src="http://feeds.feedburner.com/~r/paradeofrain/~4/XlH2Vz2BNAE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.paradeofrain.com/2010/08/developing-with-multiple-idevices/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.paradeofrain.com/2010/08/developing-with-multiple-idevices/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=developing-with-multiple-idevices</feedburner:origLink></item>
		<item>
		<title>iPhone Dev Tip #4: Check your Locale</title>
		<link>http://feedproxy.google.com/~r/paradeofrain/~3/bBzcPNgACzw/</link>
		<comments>http://www.paradeofrain.com/2010/08/iphone-dev-tip-4-check-your-locale/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 16:26:06 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[idevblogaday]]></category>
		<category><![CDATA[iphone development]]></category>

		<guid isPermaLink="false">http://www.paradeofrain.com/?p=785</guid>
		<description><![CDATA[I had an issue where several international users were reporting that the game was crashing. As it turns out, using an NSNumberFormatter would return a weird character to display as the grouping separator. This would be all good and dandy, but the problem lies in the fact that I'm using bitmap fonts to render, and [...]]]></description>
			<content:encoded><![CDATA[<p>I had an issue where several international users were reporting that the game was crashing. As it turns out, using an NSNumberFormatter would return a weird character to display as the grouping separator. This would be all good and dandy, but the problem lies in the fact that I'm using bitmap fonts to render, and the look-up failed causing a hard crash.</p>
<p>In Tilt to Live's case, this was in regards to how number grouping symbols are displayed in different locales. I use the comma to separate most of the number displays. Due to my ignorance, I just assumed 'NSNumberFormatter' would work with what I thought was a universal concept. Not so in some Arabic countries apparently. The fix? If you aren't supporting localization just use the particular localization you are coding for, otherwise the formatter will use the iPhone's language settings to pick a localization for you:</p>
<div class="syntax_hiliteorig">
<div id="code-2">
<div class="code">numberFormatter = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#91;</span>NSNumberFormatter alloc<span style="color:#006600; font-weight:bold;">&#93;</span>init<span style="color:#006600; font-weight:bold;">&#93;</span>;<br />
NSLocale *locale = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#91;</span>NSLocale alloc<span style="color:#006600; font-weight:bold;">&#93;</span>initWithLocaleIdentifier:@<span style="color:#CC0000;">"en-US"</span><span style="color:#006600; font-weight:bold;">&#93;</span>;<br />
<span style="color:#006600; font-weight:bold;">&#91;</span>numberFormatter setLocale:locale<span style="color:#006600; font-weight:bold;">&#93;</span>;<br />
<span style="color:#006600; font-weight:bold;">&#91;</span>numberFormatter setNumberStyle:kCFNumberFormatterDecimalStyle<span style="color:#006600; font-weight:bold;">&#93;</span>;<br />
<span style="color:#006600; font-weight:bold;">&#91;</span>numberFormatter setGroupingSeparator:@<span style="color:#CC0000;">","</span><span style="color:#006600; font-weight:bold;">&#93;</span>;<br />
<span style="color:#006600; font-weight:bold;">&#91;</span>numberFormatter setUsesGroupingSeparator:YES<span style="color:#006600; font-weight:bold;">&#93;</span>;<br />
<span style="color:#006600; font-weight:bold;">&#91;</span>locale release<span style="color:#006600; font-weight:bold;">&#93;</span>;<br />
locale = nil;</div>
</div>
</div>
<p></p>
<img src="http://feeds.feedburner.com/~r/paradeofrain/~4/bBzcPNgACzw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.paradeofrain.com/2010/08/iphone-dev-tip-4-check-your-locale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.paradeofrain.com/2010/08/iphone-dev-tip-4-check-your-locale/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=iphone-dev-tip-4-check-your-locale</feedburner:origLink></item>
		<item>
		<title>Size Doesn’t Matter Day</title>
		<link>http://feedproxy.google.com/~r/paradeofrain/~3/B54Pf6Fqj0k/</link>
		<comments>http://www.paradeofrain.com/2010/08/size-doesnt-matter-day/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 02:14:57 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://www.paradeofrain.com/?p=1061</guid>
		<description><![CDATA[After responding to Noel's post on the size of games I soon learned it was a wide effort by developers to post their thoughts on this topic so I figured I'd throw my hat into the ring. I've had this topic in my head for a very long time and it's been frustrating hearing friends' [...]]]></description>
			<content:encoded><![CDATA[<p>After responding to <a href="http://gamesfromwithin.com/forget-length-give-me-awesome">Noel's post </a>on the size of games I soon learned it was a wide effort by developers to post their thoughts on this topic so I figured I'd throw my hat into the ring. I've had this topic in my head for a very long time and it's been frustrating hearing friends' and reviewers' opinions on games. <a href="http://positech.co.uk/cliffsblog/?p=810">Other developers</a> have covered this pretty well already so not sure what else I can contribute beyond just a rant <img src='http://www.paradeofrain.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> .</p>
<p>I'm curious where this metric came from in the first place. I would imagine it had good intentions when it was first uttered, but somehow got mutilated, deformed, and abused as it seeped into the vernacular of reviewers and gamers spreading through genres where this metric becomes utterly useless. A common argument I hear is "$X dollars is a lot to spend on a short game". I tried applying this metric to my own gaming experiences to see if I could glean any sense of rationality from it.</p>
<ul>
<li><strong>Tribes, Tribes 2, Tribes: Vengeance</strong> - All combined I spent about 80-100 dollars total for all 3 games. How long did I play those games? <strong>Years</strong>. Something on the course of 5-6 years. In an economical sense, these games were practically <strong>free</strong> based on the "Length of time" I spent with them. Those were my younger days when I probably should have been spending more time outside, but hey, I wouldn't trade those memories for anything now.</li>
<li><strong>Starcraft/Starcraft 2</strong> - Another one I spent years playing. When SC2 was announced along with the collectors edition I didn't have to think twice about paying $100 dollars. The game hasn't even been out for very long and in terms of time spent, I've probably reduced the hourly "rate" to pennies on SC2 alone.</li>
<li><strong>Battlefield 2, Battlefield 2142</strong> - Played these religiously over the course of a year combined.</li>
<li><strong>Call of Duty 1,2, 4, MW2</strong> - 4 $60 dollar games. Again, played them enough to where it was practically "free".</li>
</ul>
<p>If you haven't noticed, all the games that I spent extraordinary amounts of time playing are almost exclusively multiplayer. I'm a sucker for multiplayer games. When it comes to getting these games, price isn't a factor in deciding whether I'll play them or not. The fact that they are social/multiplayer games the biggest influence is: who out of my friends and online buddies are going to be playing it? Length never even came into the conversation. The quality of the shared experiences was what kept me playing long past the "expiration date".</p>
<p>Ok, ok, so 'length' in a multiplayer game is almost a moot point. But it's also a crutch many games hang themselves on. In order to pad out the "length" of a game, many games add a multiplayer aspect. Some are very welcomed and exhibit great design, while others seem like an after-thought for a back-of-the-box bullet point. So you could possibly make the argument that not only is length some sort of metric used by the audience, but some studios/developers are feeling the pressure as well.</p>
<p>How about single player games? Let us look at the evidence:</p>
<h4>Call of Duty 4: Modern Warfare Campaign</h4>
<p>I played through this in one sitting. I remember my first playthrough my jaw was on the floor during some of the set pieces. They set out to create a balls-to-the-walls action game and they did it. Reviewers played it and what did they say? They couldn't shut up about the "length". And despite there being no "standard" for length they kept saying an 'average' shooter's single player tends to be longer. <a href="http://www.gamespot.com/pc/action/callofduty4modernwarfare/review.html">Time</a> and <a href="http://www.gamepro.com/article/news/143448/call-of-duty-4-criticized-for-4-6-hour-campaign-mode/">time</a> again the 'negative' on CoD4 was that the campaign was short. The news of a 'short' campaign for such a large title made <a href="http://www.gamepro.com/article/news/143448/call-of-duty-4-criticized-for-4-6-hour-campaign-mode/">headlines</a> on many big sites.</p>
<p>At the end of the campaign I did have a thought about length: I was sad this awesome experience was coming to an end. But the compactness of it I think was its biggest strength! CoD4's design philoposhy was to create a 'hyper-realistic' experience that gets you as close (if not closer) to  a big budget action movie as it could. If it was longer, the player becomes fatigued from the relentless action. <strong>A longer campaign would make them walk away not remembering the "whole" experience, just bits and pieces of it out of context. </strong>The game's length was also another plus regarding the target audience. This was a mature game, namely for an adult age group. Most adults don't have 40+ hours to dive into a solo game. So I applaud them for that. <strong>Why make something that the vast majority of your demographic won't even see? </strong>The single player as an 'experience' was worth the price of admission alone. Not on length, but <strong>quality</strong>. But it seems some use those two words interchangeably.</p>
<h4>Limbo</h4>
<p>This little gem of a game from an awesome indie studio was amazing from start to finish. I'm not going to go on about it again as <a href="http://2dboy.com/2010/08/17/too-short/">2D Boy and others covered it</a> pretty thoroughly. It took me 4-5 hours to beat. For those still trying to "rationalize" length, stop it. This game is an <strong>experience</strong>, not a damn feature film (which by the way, no one criticizes unless the film is too long it seems).</p>
<h4>Mirror's Edge</h4>
<p>This game is where my frustration hit a boiling point. What's amusing is the media didn't really know how to approach a game that was genuinely pushing boundaries in game mechanics and at times it seemed they just defaulted to "it's short". Same goes for Portal. <a href="http://spyparty.com/2010/08/17/size-doesnt-matter-day/">What does it say about the medium if people's only complaint is "it's too short"</a>? I actually had a bit of an argument with a colleague who was stoked to buy the game,<strong> but once he read the positive reviews he decided against it because they said the campaign was short</strong>. OMGKDJFLA:JDWIO:JI#@R)@RJFDSFDL. Sorry. Got all angry again.</p>
<p>This time it seemed more perpetuated by the audience than the media. To the media's credit, they focused on the game's novelty and fresh gameplay mechanics, but still in passing mentioned how short it was. Just looking at <a href="http://www.wired.com/gamelife/2008/11/mirrors-edge-fi/">this comment thread</a> of all the ones who gave up the chance to try a truly unique game because it was "short" was quite saddening. I spent at least 20 hours playing that game. Not 3-4 as the single player was measured as. Why? Because it wasn't even ABOUT the single player. This game was raw mechanics, freedom of movement, and anyone that took the time to dabble in the Time trials and the DLC knew it. They made the awesome concept of <a href="http://video.google.com/videoplay?docid=363318961283601045#">Quake Trick jumping</a> accessible to a wider audience. Sadly due to the conventions of modern video games, anything not labeled 'story', 'campaign', or 'single player' is considered a side-offering and should not be put up for consideration in the 'total length' metric. It's as if these same people didn't play Geometry Wars. That game is a single damn screen, and it barely had any complaints about "length".</p>
<h4>At the End of the Day...</h4>
<p>I sometimes feel games that get judged on length are treated by a different standard. Take a game that involves a system or a pure mechanic, like The Sims. No story. No levels. Just pure play. Something you enter and leave as you please. Another example: Geometry Wars. The whole experience is contained within a few short minutes. It makes no big claims of story or progression. Did length ever come up in the conversation? No, because length is 'seemingly infinite' and as a result not part of the discussion. Give a game a finite story, or a finite set of levels and regardless of the mechanics and the depth of the gameplay it seems "length" is suddenly a talking point again. Weird huh? If length is the only thing one can discuss about the merits of a game, then is the game not deep enough or are we not engaging it enough?</p>
<p>If you got this far into my rant then length is apparently not an issue for you, so go on ahead and read other developers' take on it:</p>
<ul>
<li><a href="http://the-witness.net/news/?p=438">Jonathan Blow of Number None</a></li>
<li><a href="http://2dboy.com/2010/08/17/too-short/">Ron Carmel of 2DBoy</a></li>
<li><a href="http://www.hobbygamedev.com/spx/short-videogame-design/">Chris DeLeon</a></li>
<li><a href="http://nygamedev.blogspot.com/2010/08/coming-up-short.html">Dave Gilbert of Wadjet Eye Games</a></li>
<li><a href="http://www.firehosegames.com/2010/08/how-much-is-enough/">Eitan Glinert of Fire Hose Games</a></li>
<li><a href="http://positech.co.uk/cliffsblog/?p=810">Cliff Harris of Positech Games</a></li>
<li><a href="http://spyparty.com/2010/08/16/size-doesnt-matter-day/">Chris Hecker of Spy Party</a></li>
<li><a href="http://macguffingames.com/2010/if-size-doesnt-matter-where-do-you-get-the-virtual-goods">Scott Macmillan of Macguffin Games</a></li>
<li><a href="http://gamesfromwithin.com/forget-length-give-me-awesome">Noel Llopis</a></li>
<li><a href="http://retroaffect.com/blog/160/Size_Doesn_t_Matter_Day/">Peter Jones of Retro Affect</a></li>
<li><a href="http://www.copenhagengamecollective.org/2010/08/17/size-does-matter/">Lau Korsgaard</a></li>
<li><a href="http://www.brokenrul.es/blog/?p=314">Martin Pichlmair of Broken Rules</a></li>
<li><a href="http://mile222.com/2010/08/a-haiku-about-game-length/">Greg Wohlwend of Intution Games</a></li>
<li><a href="http://blog.wolfire.com/2010/08/Game-length-and-value">Jeffrey Rosen of Wolfire</a></li>
<li><a href="http://www.spyeart.com/misc/gamelength_MichaelTodd.html">Michael Todd</a></li>
<li><a href="http://www.tunahq.com/2010/08/size-doesnt-matter-day/">Alex Amsel of Tuna</a></li>
<li><a href="http://www.enemyairship.com/2/The_Finite__Irreplaceable_Hours_of_Your_Life/">Steve Swink from Enemy Airship</a></li>
<li><a href="http://24caretgames.com/2010/08/17/does-game-length-matter/">Matt Gilgenbach of 24 Caret Games</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/paradeofrain/~4/B54Pf6Fqj0k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.paradeofrain.com/2010/08/size-doesnt-matter-day/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.paradeofrain.com/2010/08/size-doesnt-matter-day/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=size-doesnt-matter-day</feedburner:origLink></item>
		<item>
		<title>Adventures in Retina Display Land</title>
		<link>http://feedproxy.google.com/~r/paradeofrain/~3/dLfajKkSxnE/</link>
		<comments>http://www.paradeofrain.com/2010/08/adventures-in-retina-display-land/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 22:05:54 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[idevblogaday]]></category>
		<category><![CDATA[iphone development]]></category>

		<guid isPermaLink="false">http://www.paradeofrain.com/?p=1030</guid>
		<description><![CDATA[I spent this past weekend getting retina display graphics implemented in Tilt to Live for iPhone 4. The cynic in me hates the marketing term 'retina graphics' because on the production side, it's simply just a bigger image. But I guess you do need a name for it, and since 'HD' has already been bastardized [...]]]></description>
			<content:encoded><![CDATA[<p>I spent this past weekend getting retina display graphics implemented in Tilt to Live for iPhone 4. The cynic in me hates the marketing term 'retina graphics' because on the production side, it's simply just a bigger image. But I guess you do need a name for it, and since 'HD' has already been bastardized on the iPad I guess this will do. I decided to write this post to bring a bit of awareness to some of the process of updating your OpenGL game for the retina displays if you choose to do so. I thought it'd be riddled with lots of coding work-arounds and such since our game is a 2D game with specifically sized sprites based off the resolution, but it turned out to be pretty quick and easy.</p>
<p><img src="http://www.paradeofrain.com/wp-content/uploads/2010/08/retina_example.png" alt="" title="Retina vs Normal" width="500" height="300" class="alignnone size-full wp-image-1057" /></p>
<p>Anyway, Adam had re-exported all of Tilt to Live's graphics at 2 times the size so the hard part was pretty much done. It was made <strong>much</strong> easier by the fact that he was using Illustrator and vector graphics, so there was zero need to redraw or redo any assets. On the coding side of things, I feared I'd be spending hours re-tweaking game code because a lot of constraints and boundaries were hardwired to image width's and heights (bad I know). But in the end, I luckily avoided all of that. Most of my sprite rendering code is encapsulated in a SpriteImage class with width/height properties. I made a simple modification to those properties where the returned width or height was multiplied by a 'renderScale' variable that represents the scale of the display. In effect, the width/heights would return whatever the game was designed for at the 480x320 resolution, but under the hood would be using a larger texture.</p>
<p>For non-openGL apps, they get a few things for free on the retina display such as font rendering and UI scaling, but how do you set up your graphics window to support retina graphics? A <a href="http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/SupportingResolutionIndependence/SupportingResolutionIndependence.html#//apple_ref/doc/uid/TP40007072-CH10-SW11">quick look over at the apple docs </a>shows how to setup your OGL context to scale by a factor of 2. When it came down to implementing it, just doing:</p>
<div class="syntax_hiliteorig">
<div id="code-6">
<div class="code">self.<span style="">contentScaleFactor</span> = DisplayScale<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; glGenFramebuffersOES<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;">1</span>, &amp;viewFramebuffer<span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; glGenRenderbuffersOES<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;">1</span>, &amp;viewRenderbuffer<span style="color:#006600; font-weight:bold;">&#41;</span>;;</p>
<p><span style="color:#FF9933; font-style:italic;">//..continue setting up framebuffer </span></div>
</div>
</div>
<p></p>
<p>...got me rendering 4 times as many pixels. The game still looked exactly the same since I hadn't replaced the graphics yet. What is DisplayScale()? It's simply a wrapper I wrote:</p>
<div class="syntax_hiliteorig">
<div id="code-7">
<div class="code">CGFloat DisplayScale<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><br />
<span style="color:#006600; font-weight:bold;">&#123;</span><br />
&nbsp; &nbsp; return <span style="color:#006600; font-weight:bold;">&#91;</span>UIScreen mainScreen<span style="color:#006600; font-weight:bold;">&#93;</span>.<span style="">scale</span>;<br />
<span style="color:#006600; font-weight:bold;">&#125;</span></div>
</div>
</div>
<p></p>
<p>Now if you're using UIImage to load your textures then you're in luck for updating graphics. <a href="http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/SupportingResolutionIndependence/SupportingResolutionIndependence.html#//apple_ref/doc/uid/TP40007072-CH10-SW3">Adding a file with the '@2x' suffix will automatically be loaded on an iPhone 4 instead of the normal resolution</a>. For example, myImage.png and myImage@2x.png live side-by-side in your bundle, but on the iPhone 4, it will load the @2x one. I had been using libpng directly to load textures a while ago, but opted to revert back to UIImage for performance reasons. </p>
<p>Now this is all well and good if you're using separate png's for your images. But to improve rendering speed and memory consumption a lot of times one will use spritesheets. Having a @2x sprite sheet is nice if the spritesheet generator you are using puts them in the same relative positions. As for me, there were a lot of unused sprites from previous versions so I took the time to clean up things. This was a bit time consuming as I had to verify which images were still being used and which ones weren't. The '@2x' trick only works on UIImage, so if you have any supporting files (font descriptions in particular) that are needed in conjunction with the graphics file you'll probably have to write your own '@2x' searching and loading for those particular assets, which is no biggie either:</p>
<div class="syntax_hiliteorig">
<div id="code-8">
<div class="code">NSString *path = nil;<br />
&nbsp; &nbsp; &nbsp; &nbsp; NSString *resource2x = <span style="color:#006600; font-weight:bold;">&#91;</span>fontName stringByAppendingString:@<span style="color:#CC0000;">"@2x"</span><span style="color:#006600; font-weight:bold;">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; if<span style="color:#006600; font-weight:bold;">&#40;</span>IsRetinaDisplay<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; path = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#91;</span>NSBundle mainBundle<span style="color:#006600; font-weight:bold;">&#93;</span> pathForResource:resource2x ofType:@<span style="color:#CC0000;">"fnt"</span><span style="color:#006600; font-weight:bold;">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; if<span style="color:#006600; font-weight:bold;">&#40;</span>path == nil<span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; path = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#91;</span>NSBundle mainBundle<span style="color:#006600; font-weight:bold;">&#93;</span> pathForResource:fontName ofType:@<span style="color:#CC0000;">"fnt"</span><span style="color:#006600; font-weight:bold;">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</div>
</div>
<p></p>
<p>As for other caveats? Fonts were a big one depending on how you export and render them. I've been using <a href="http://www.angelcode.com/products/bmfont/">BMFont</a> to do all my font exporting. It's a great tool but a little ambiguous when it comes to font sizes. There's a 'size' field, but it refers to character height. Does doing a doubling of character height garuantee exactly twice the width/height]? What about the option for 'line height' [unchecked character height? I ended up using line height, since that's the option I used initially when making the fonts. It worked pretty well. I tweaked my bitmap font rendering a bit and it supported retina graphics shortly after without having to change game or UI code. There was a slight issue with some lines of text being rendered 3-4 pixels <strong>lower</strong>, but I didn't spend too much time investigating it as the issue isn't noticeable in normal use.</p>
<p>Another caveat has to do with rendering GLPoints. Be sure to scale GLPoints when setting glPointSize() if you're using that functionality at all. Tilt to Live uses it extensively to render enemies faster instead of quads.</p>
<img src="http://feeds.feedburner.com/~r/paradeofrain/~4/dLfajKkSxnE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.paradeofrain.com/2010/08/adventures-in-retina-display-land/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.paradeofrain.com/2010/08/adventures-in-retina-display-land/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=adventures-in-retina-display-land</feedburner:origLink></item>
		<item>
		<title>iPhone Dev Tip #3: Sanity From Automated Builds</title>
		<link>http://feedproxy.google.com/~r/paradeofrain/~3/HXBmEkso2ww/</link>
		<comments>http://www.paradeofrain.com/2010/08/iphone-dev-tip-3-sanity-from-automated-builds/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 19:43:54 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Project Management]]></category>
		<category><![CDATA[idevblogaday]]></category>
		<category><![CDATA[iphone development]]></category>

		<guid isPermaLink="false">http://www.paradeofrain.com/?p=763</guid>
		<description><![CDATA[It's been hellishly busy as of late, as I'm knee deep in Tilt to Live HD.  Now on with my quick blurb: This tip is kind of a "duh" much in the same way version control software is for most developers. The thing is I still meet a lot of developers who don't use any [...]]]></description>
			<content:encoded><![CDATA[<p>It's been hellishly busy as of late, as I'm knee deep in Tilt to Live HD.  Now on with my quick blurb:</p>
<p>This tip is kind of a "duh" much in the same way version control software is for most developers. The thing is I still meet a lot of developers who don't use any form of version control. And automated builds simply weren't even in my own tool set initially. Mostly because my build steps for projects never scaled to the complexity required to build like an iPhone application. And it wasn't even <strong>complex</strong>. It was just a matter of remembering which command line parameters to use and which provisioning file to include and to zip it up all tidy and neat.</p>
<p>Now with XCode's build and archive command a lot of this is simplified with a GUI, but that's the crux of it. <strong>It still requires you to go through several clicks to send a build out</strong>.</p>
<p>My setup is pretty simple by using a makefile and the <a href="http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/xcodebuild.1.html">xcodebuild</a> commandline tool. xcodebuild just allows you to build projects from a commandline very easily. Mix that with a few basic unix commands, <a href="http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man8/agvtool.8.html">agvtool</a>, SVN and you have a primitive but simple build pipeline that you can execute with a single command and <strong>not thing about anything else</strong>. I've been using it throughout Tilt to Live's development and haven't had a need to really look elsewhere since it accommodates exactly what I need to do: not screw up build submissions or beta builds for testers.</p>
<p>Over the months my makefile has grown to include a few other 'targets' for faster iteration during gameplay tweaking, but the 3 essential ones were:</p>
<ul>
<li><strong>build</strong> - this just builds my app for ad-hoc distribution into a zipfile named 'appname_versionnumber.zip' and a debug symbols file next to it. It then moves these two into a builds folder where I keep all my builds. It works in conjunction with the agvtool so that it increments the build number and submits the new version to SVN.</li>
<li><strong>appstore</strong> - This target does the same as 'build' except it builds with the app store distribution settings.</li>
<li><strong>clean</strong> - just wipes all my intermediate object files and build temp folders if I want to build from scratch</li>
</ul>
<p>Below is just a snippet from my current build target. It builds the projects, moves the app files and provisioning files into the current directory. Zips those two up and copies them to a build directory with the debug symbols.</p>
<div class="syntax_hiliteorig">
<div id="code-10">
<div class="code">build:<br />
&nbsp; &nbsp; cd $<span style="color:#006600; font-weight:bold;">&#40;</span>PROJDIR<span style="color:#006600; font-weight:bold;">&#41;</span> ; agvtool -usesvn next-version -all<br />
&nbsp; &nbsp; xcodebuild -project $<span style="color:#006600; font-weight:bold;">&#40;</span>PROJ<span style="color:#006600; font-weight:bold;">&#41;</span> -target Tilt_To_Live_HD -configuration Distribution</p>
<p>&nbsp; &nbsp; #move app files into build directory<br />
&nbsp; &nbsp; cp -R $<span style="color:#006600; font-weight:bold;">&#40;</span>DISTRODIR<span style="color:#006600; font-weight:bold;">&#41;</span>/$<span style="color:#006600; font-weight:bold;">&#40;</span>APPFILENAME<span style="color:#006600; font-weight:bold;">&#41;</span> $<span style="color:#006600; font-weight:bold;">&#40;</span>APPFILENAME<span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp; cp $<span style="color:#006600; font-weight:bold;">&#40;</span>PROVISION<span style="color:#006600; font-weight:bold;">&#41;</span> $<span style="color:#006600; font-weight:bold;">&#40;</span>PROVFILENAME<span style="color:#006600; font-weight:bold;">&#41;</span></p>
<p>&nbsp; &nbsp; #zip up the app file and move debug symbols<br />
&nbsp; &nbsp; zip -r -y -q <span style="color:#CC0000;">"$(BUILDDIR)/tilttolivehd_`cd $(PROJDIR) ; agvtool vers -terse`.zip"</span> $<span style="color:#006600; font-weight:bold;">&#40;</span>APPFILENAME<span style="color:#006600; font-weight:bold;">&#41;</span> $<span style="color:#006600; font-weight:bold;">&#40;</span>PROVFILENAME<span style="color:#006600; font-weight:bold;">&#41;</span> &nbsp; &nbsp;<br />
&nbsp; &nbsp; rm -rf $<span style="color:#006600; font-weight:bold;">&#40;</span>APPFILENAME<span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp; rm -rf $<span style="color:#006600; font-weight:bold;">&#40;</span>PROVFILENAME<span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp; cp -R $<span style="color:#006600; font-weight:bold;">&#40;</span>DISTRODIR<span style="color:#006600; font-weight:bold;">&#41;</span>/$<span style="color:#006600; font-weight:bold;">&#40;</span>DEBUGSYMBOLS<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#CC0000;">"$(BUILDDIR)/tilttolivehd_`cd $(PROJDIR) ; agvtool vers -terse`.dSYM"</span></div>
</div>
</div>
<p></p>
<p>I wonder if the xcodebuild tool has some commands for automating the 'build and archive' command. That would simplify my targets even more.</p>
<img src="http://feeds.feedburner.com/~r/paradeofrain/~4/HXBmEkso2ww" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.paradeofrain.com/2010/08/iphone-dev-tip-3-sanity-from-automated-builds/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.paradeofrain.com/2010/08/iphone-dev-tip-3-sanity-from-automated-builds/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=iphone-dev-tip-3-sanity-from-automated-builds</feedburner:origLink></item>
		<item>
		<title>Links for Thought</title>
		<link>http://feedproxy.google.com/~r/paradeofrain/~3/O_5fKAfvPWU/</link>
		<comments>http://www.paradeofrain.com/2010/08/links-for-thought/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 17:50:23 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[idevblogaday]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[tilt to live]]></category>

		<guid isPermaLink="false">http://www.paradeofrain.com/?p=987</guid>
		<description><![CDATA[It's been busy, busy, busy as of late. We're in full swing trying to get Tilt to Live HD ready for the iPad. It's looking amazing thus far and plays a lot better than just the 2x mode for the original Tilt to Live. Frostbite mode just went out the door a few days ago, [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float: left; margin-right: 10px; margin-bottom: 10px;" title="TTLHD" src="http://www.paradeofrain.com/wp-content/uploads/2010/08/icon72.png" alt="" width="72" height="72" />It's been busy, busy, busy as of late. We're in full swing trying to get Tilt to Live HD ready for the iPad. It's looking amazing thus far and plays a lot better than just the 2x mode for the original Tilt to Live. Frostbite mode just went out the door a few days ago, and the response has been positive so far. We've been getting some responses from users saying the game has become too easy in the other modes. I haven't tweaked anything in the other modes for ages so my hunches to why users are believing this are:</p>
<ul>
<li>It's been a while since they've played and when they came back it was like riding a bicycle and they instantly got into the flow of the game.</li>
<li>Performance has degraded on the lower end devices (particularly when running iOS4), which slows the game down and as a result makes it 'easier'.</li>
</ul>
<p>I've tested the game on a 2nd gen ipod touch with iOS4 and it seems to run fine performance-wise. So it's something I guess I'll just keep on my mind when doing further updates to the game. Maybe revisiting Code Red mode and making it <strong>even harder</strong> could be a possibility to appease the hardcore users.</p>
<p style="text-align: center;"><a href="http://www.paradeofrain.com/wp-content/uploads/2010/08/titlescreen.png" rel="lightbox[987]"><img class="size-medium wp-image-1009 aligncenter" title="titlescreen" src="http://www.paradeofrain.com/wp-content/uploads/2010/08/titlescreen-300x225.png" alt="" width="300" height="225" /></a></p>
<h4>Some Reading Links</h4>
<p>Whenever I have time to kill I go browsing through my RSS feed to catch up on things. I decided to share a few of my usual reading links. Maybe you'll find something of interest in this pile as I tried to focus on reading links that are outside the iphone development community. A lot I'm sure are common go-to places for a lot of indie devs regardless of platform.</p>
<p><a href="http://positech.co.uk/cliffsblog/">Cliffski's Blog</a></p>
<p>I feel like just about anyone that has any semblance of what goes on in the indie world is at least aware of Cliff Harris and his musings on his blog on both his own games and the industry as a whole.</p>
<p><a href="http://fullbright.blogspot.com/">Fullbright</a></p>
<p>Steve Gaynor's [Bioshock 2] video game design blog. Always a good read and has valuable insights into not only the design of mechanics in games but about the medium of games overall.</p>
<p><a href="http://blogs.msdn.com/b/shawnhar/">Shawn Hargreaves </a></p>
<p>For a time I worked mostly in XNA and C#. While most of his recent posts are about gearing up for windows phone 7 and other XNA tech, his technical but easily readable posts were extremely helpful not just in XNA, but any platform you may be starting out on. Great learning for those that don't have true game industry experience (like me). His credits include Extreme-G (N64), Moto GP (Xbox/PC), and several other racing games.</p>
<p><a href="http://marksibly.blogspot.com/">Mark Sibly</a></p>
<p>Ok, not many updates for this blog but that's not the point. Creator of Blitz Basic and <a href="http://blitzmax.com/">Blitzmax</a>. For those that don't know anything about it, Blitzmax is a very nice cross platform language (PC/Mac/Linux) for developing 2D (and 3D) games. It's a very small and friendly community, but one I spent a lot of time in when I first started getting serious about making independent games. The tech he currently is working on seems like really exciting stuff: <strong>A language that allows you to target HTML5, flash, XNA, Android, iPhone, native GL for game development</strong>. Very ambitious, but very exciting to keep tabs on!</p>
<p><a href="http://beautifulpixels.blogspot.com/">Beautiful Pixels</a></p>
<p>Great graphics and game development blog. I believe he recently went to work for Google on Chrome OS. Great posts to browser through, and I'm sure some very useful ones in the coming future. Despite having a lot of 'game oriented' blogs on my feed, I tend to follow developers outside the game industry as well. And now that he's at Google, I'm sure lots of good will come of it <img src='http://www.paradeofrain.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p><a href="http://gamearchitect.net/">Game Architect</a></p>
<p>A great blog on finding the 'hard to find in a book' answers to questions that come up during development. Like what's a good way to <a href="http://gamearchitect.net/2008/06/01/an-anatomy-of-despair-aggregation-over-inheritance/">keep you from creating a crazy object hierarchy but still have flexibility</a>. Great thoughts on middleware as well.</p>
<p><a href="http://greyaliengames.com/blog/">Grey Alien Games</a></p>
<p>I've been following Jake Birkett for several years now as I was going through high school and college. His success as an indie was very inspiring. Great place to read for motivational and lifestyle posts as well as general independent game development. He was also a very involved community member in the Blitzmax community, writing a pretty successful game framework to allow developers to more quickly make indie casual games on the PC.</p>
<p><a href="http://www.lostgarden.com/">Lost Garden</a></p>
<p>If you haven't heard of this site and Danc by now, then...I don't know what more to say.</p>
<p><a href="http://bittermanandy.wordpress.com/">Pandemonium</a></p>
<p>Andy Patrick's blog. Great info from an experienced developer. He previously worked at Rare on Kameo and Viva Pinata. Hasn't had an update in over a year but some good content on programming things like cameras, game programming in a garbage collected environment, and tool recommendations. One article I really liked was going over <a href="http://bittermanandy.wordpress.com/2008/08/05/at-your-command/">how to implement infinite undo/redo in an game editor</a>.</p>
<p><a href="http://anawiki.com/sellmoregames/">Sell More Games</a></p>
<p>Great site has articles focusing more on the marketing and business side of indie game development. Mostly geared towards the PC market, but I feel all of it is still applicable to the iPhone market.</p>
<p><a href="http://makeitbigingames.com/">Make it BIG in games</a></p>
<p>I believe I've referenced Jeff Tunnell's <a href="http://makeitbigingames.com/2009/01/one-way-to-divide-your-company-equity-at-start-up/">blog entries</a> before, but it's worth listing again.</p>
<p><a href="http://designreboot.blogspot.com/">Gausswerks Design Reboot</a></p>
<p>Another great game design blog. Less on the technical and more on the design and art of games. I'm ashamed to admit I don't read enough of these articles.</p>
<img src="http://feeds.feedburner.com/~r/paradeofrain/~4/O_5fKAfvPWU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.paradeofrain.com/2010/08/links-for-thought/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.paradeofrain.com/2010/08/links-for-thought/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=links-for-thought</feedburner:origLink></item>
		<item>
		<title>A Follow Up On Burn Rate</title>
		<link>http://feedproxy.google.com/~r/paradeofrain/~3/aUoaZhQBdQE/</link>
		<comments>http://www.paradeofrain.com/2010/07/a-follow-up-on-burn-rate/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 00:25:32 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://www.paradeofrain.com/?p=979</guid>
		<description><![CDATA[Markus Nigrin wrote a great follow-up to my previous post on managing one's burn rate when going independent. His post touches on some really important information that I completely left out of mine, namely, being educated about investing and not ignoring it. I'm guilty of this as well, but only since "cutting the chord" have I become [...]]]></description>
			<content:encoded><![CDATA[<p>Markus Nigrin wrote a great <a href="http://pocketcyclone.com/2010/07/27/rich-dev-poor-dev-2/">follow-up</a> to my previous post on managing one's burn rate when going independent. His post touches on some <strong>really important information</strong> that I completely left out of mine, namely, being educated about investing and not ignoring it. I'm guilty of this as well, but only since "cutting the chord" have I become much more concerned about my lack of education about investing, and it's something I'm currently working to improve.</p>
<p>It's a great read, and some good book recommendations from him in that post. I would add to that "<a href="http://www.amazon.com/Black-Swan-Impact-Highly-Improbable/dp/1400063515">The Black Swan: The Impact of the Highly Improbable"</a> as another book to read for those that are in a very "unpredictable" and hit-driven industry such as games, books, etc. It echoed a lot of sentiments I had felt at the time, but didn't know how to articulate it and the book does a good job of explaining that.</p>
<img src="http://feeds.feedburner.com/~r/paradeofrain/~4/aUoaZhQBdQE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.paradeofrain.com/2010/07/a-follow-up-on-burn-rate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.paradeofrain.com/2010/07/a-follow-up-on-burn-rate/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=a-follow-up-on-burn-rate</feedburner:origLink></item>
		<item>
		<title>Managing the Burn Rate</title>
		<link>http://feedproxy.google.com/~r/paradeofrain/~3/3MfH7CYFNlc/</link>
		<comments>http://www.paradeofrain.com/2010/07/managing-the-burn-rate/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 17:18:05 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Personal Development]]></category>
		<category><![CDATA[idevblogaday]]></category>

		<guid isPermaLink="false">http://www.paradeofrain.com/?p=931</guid>
		<description><![CDATA[While I was working at a day job for the past couple of years I was gobbling up any info I could find on going fully independent and the what it takes not only from a business perspective, but what you have to change about your personal life, ideals, and expectations in order to make [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float: left; margin-right: 10px; margin-bottom: 10px;" title="Key" src="http://www.paradeofrain.com/wp-content/uploads/2010/07/moneys2.jpg" alt="" width="150" height="155" />While I was working at a day job for the past couple of years I was gobbling up any info I could find on going fully independent and the what it takes not only from a business perspective, but what you have to change about your personal life, ideals, and expectations in order to make it sustainable. One of things that stuck out a lot was managing my burn rate. Minimizing the amount of money leaving my account wasn't just a matter of not buying a Starbucks coffee (I don't even drink coffee, but you get the idea). It required some fundamental changes in the way I thought about money and how it related to my daily life. Jeff Tunnell I think articulated it very well in his article, where he talks about "<a href="http://makeitbigingames.com/2006/02/five-foundational-steps-to-surviving-as-a-game-developer/">Right Sizing Your Life</a>":</p>
<blockquote><p>The bottom line is that you cannot live downtown <strong>San Francisco</strong>, drive a <strong>Porsche</strong>, have three kids, eat out every night, have <strong>Starbucks</strong> two times per day, charge up the credit cards, and live the way most of society tells you to. If you want this stuff, start coding in <strong>Java</strong> and go to work for <strong>IBM</strong>. But if you want to enjoy your work, feel creative every day, and make games for a living, you will have to pay a price.</p></blockquote>
<h5>Adjusting Your Daily Life</h5>
<p>It sounds pretty obvious and seems straightforward. But it's definitely easier said than done. The biggest problem being that if you are working a day job, if a decent one at that, you can afford a lot of extra expenses. Having a "steady paycheck" at a day job numbs that feeling of loss when I spent money. I would always spend within my means, but when my means don't match up with what my "means" will be by the time I'm independent, I imagined I'de be in for a tough transition.</p>
<p>I tried all the obvious things: Stop eating out. Stop buying food/drinks at bars every weekend. Start cooking at home. Start watching less TV (canceling cable). Doing any of these cold turkey was a difficult feat. But like any sensible diet/exercise plan you should do it in moderation until you've achieved your goal. One of the things I noticed is when I find myself hanging around friends and socializing a lot, spending went up. It's an obvious and natural occurrence, but I would think most people believe they are in control of how they spend their money. But in fact, at least in my case, where and how I spend my money is heavily influenced by what I am doing and with whom. You go to bars, movies, play games, eat out <strong>with friends</strong>. That's not to say you should become an anti-social either. You just need to plan accordingly and figure out a way to fit your new goals in with your current social circle. For me, it became less of a spontaneous thing and more scheduled. If I knew I had plans later in the week to go out, I spent/saved accordingly to make it happen if it was possible.</p>
<h5>Technology to the...rescue?</h5>
<p>I also tried a lot of money management software with mixed success. <a href="http://www.mint.com/">Mint</a> was a popular choice and one I had used initially. It's great for tracking where you're money is going. <strong>But it's biggest strength may be the weakest link in trying to change your spending habits</strong>. It's a <strong>passive</strong> way of keeping track of your money. You have to be vigilante in looking back on what you spent after the fact to see why the numbers worked out the way they are. I decided to try a different approach by creating a habit of logging expenses as I went throughout the day spending money. Since I had my iPhone with me everywhere I went, it seemed natural that <a href="http://www.applematters.com/article/spend-a-personal-budget-app-for-the-iphone/">there'd be an app for that</a>.</p>
<p>I  used <a href="http://www.applematters.com/article/spend-a-personal-budget-app-for-the-iphone/">Spend</a> [iTunes] to keep track of my spending but also try to enforce some sort of budgeting. When I think about it, the idea here isn't so much as to just "keep a log" of what I've spent, but to encourage a habit where the act of spending money requires me to reflect on it for at least the briefest moment. Spending with a debit/credit card is easy, but when I have to pull out my phone, load up the app, type in a description and price, the entire time I'm thinking about the act of spending money. It becomes a bit more painful, similar to spending real cash. This had a much better impact on my spending habits than Mint did. I could more visibly see in real-time where my spending was heading and how much room I had left in my budget. I become much more aware of all the "small things" I would spend money on throughout the day like vending machines, snacks, sports drinks while working out, etc. The specific app I use isn't important, it's more about developing a habit to be conscious at all times of where your money is going.</p>
<h5>Keeping At It</h5>
<p>Having friends and family that support your goals goes a long way as well, not only in your spending habits but also in what you consider good ways to spend your free time. Fast forward a few years later, my day job is making indie games, my views on what I feel is important financially and personally has changed a lot and I feel a lot less stressed out about money in general. Just by <strong>trying</strong> to reduce my burn rate for several years I have a very clear picture of what I need in terms of finances in order to make this indie business sustainable. So in essence, I have a very good gauge as to whether I'm in trouble or not relative to how much I'm taking in. Also in an effort to reduce my costs even further, I moved back down to the deep south (Alabama). Living near DC is pretty expensive. It's a pretty big move leaving DC behind because I loved that city. But in the end, being closer to family and life long friends in the south was a great bonus to saving a lot of money on living costs. I consider myself pretty mobile at this point in my life being single with no kids or spouse to look out for; so up and moving may not be an option for everyone.</p>
<p>Stepping outside the "rat race" is more than just becoming independent. You have to be willing to fight the pressure from those around you to change your thinking. Managing and minimizing your burn rate is one of many aspects of making the transition from "employee" to "self-employed". Not the most detailed post, but hopefully will give those working-by-day-indie-by-night a few ideas to step a little closer to full-time.</p>
<img src="http://feeds.feedburner.com/~r/paradeofrain/~4/3MfH7CYFNlc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.paradeofrain.com/2010/07/managing-the-burn-rate/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.paradeofrain.com/2010/07/managing-the-burn-rate/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=managing-the-burn-rate</feedburner:origLink></item>
	</channel>
</rss>
