<?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/" version="2.0">

<channel>
	<title>Games from Within</title>
	
	<link>http://gamesfromwithin.com</link>
	<description>Indie iPhone game development</description>
	<lastBuildDate>Sun, 18 Oct 2009 19:25:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/gamesfromwithin/full" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Two Day iPhone OpenGL Class Coming to The Bay Area</title>
		<link>http://gamesfromwithin.com/two-day-iphone-opengl-class-coming-to-the-bay-area</link>
		<comments>http://gamesfromwithin.com/two-day-iphone-opengl-class-coming-to-the-bay-area#comments</comments>
		<pubDate>Sun, 18 Oct 2009 19:22:40 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=705</guid>
		<description><![CDATA[After the success of the OpenGL class in Denver, we&#8217;re bringing the iPhone OpenGL class to the Bay Area. It will be held November 19th and 20th in Cupertino, right next to Apple&#8217;s headquarters at Infinite Loop.
The class is aimed at iPhone developers without previous OpenGL or 3D graphics experience. As part of the class, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-710" title="cars" src="http://gamesfromwithin.com/wp-content/uploads/2009/10/cars.png" alt="cars" width="120" height="227" />After the success of the OpenGL class in Denver, we&#8217;re bringing the <a href="http://www.mobileorchard.com/iphone-opengl-programming-training-class/">iPhone OpenGL class</a> to the Bay Area. It will be held November 19th and 20th in <a href="http://maps.google.com/maps?q=10950+North+Blaney+Avenue+Cupertino,+CA+95014&amp;oe=utf-8&amp;client=firefox-a&amp;ie=UTF8&amp;gl=us&amp;ei=imnbSoj4OYakMfvskN8H&amp;ved=0CA0Q8gEwAA&amp;hq=&amp;hnear=10950+N+Blaney+Ave,+Cupertino,+Santa+Clara,+California+95014&amp;ll=37.334072,-122.02362&amp;spn=0.026377,0.043731&amp;z=15">Cupertino</a>, right next to Apple&#8217;s headquarters at Infinite Loop.</p>
<p>The class is aimed at iPhone developers without previous OpenGL or 3D graphics experience. As part of the class, we&#8217;ll create both 2D and 3D OpenGL applications, and we&#8217;ll cover a broad range of topics, start with the basics of setting up OpenGL and rendering triangles on screen, to multitexturing and point sprites in the last day. This is definitely a hands-on class, so you&#8217;ll need to bring your laptop and be ready to do some coding.</p>
<p>Check out the <a href="http://www.mobileorchard.com/iphone-opengl-programming-training-class/">Mobile Orchard page for discounts and registration details</a>. Feel free to <a href="http://gamesfromwithin.com/contact">contact me</a> if you have any questions.</p>
<p>Hope to see you there!</p>




	<a rel="nofollow" id="digg" href="javascript:window.location='http%3A%2F%2Fdigg.com%2Fsubmit%3Fphase%3D2%26amp%3Burl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Ftwo-day-iphone-opengl-class-coming-to-the-bay-area%26amp%3Btitle%3DTwo%2520Day%2520iPhone%2520OpenGL%2520Class%2520Coming%2520to%2520The%2520Bay%2520Area%26amp%3Bbodytext%3DAfter%2520the%2520success%2520of%2520the%2520OpenGL%2520class%2520in%2520Denver%252C%2520we%2527re%2520bringing%2520the%2520iPhone%2520OpenGL%2520class%2520to%2520the%2520Bay%2520Area.%2520It%2520will%2520be%2520held%2520November%252019th%2520and%252020th%2520in%2520Cupertino%252C%2520right%2520next%2520to%2520Apple%2527s%2520headquarters%2520at%2520Infinite%2520Loop.%250D%250A%250D%250AThe%2520class%2520is%2520aimed%2520at%2520iPhone%2520develop';" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" id="del.icio.us" href="javascript:window.location='http%3A%2F%2Fdelicious.com%2Fpost%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Ftwo-day-iphone-opengl-class-coming-to-the-bay-area%26amp%3Btitle%3DTwo%2520Day%2520iPhone%2520OpenGL%2520Class%2520Coming%2520to%2520The%2520Bay%2520Area%26amp%3Bnotes%3DAfter%2520the%2520success%2520of%2520the%2520OpenGL%2520class%2520in%2520Denver%252C%2520we%2527re%2520bringing%2520the%2520iPhone%2520OpenGL%2520class%2520to%2520the%2520Bay%2520Area.%2520It%2520will%2520be%2520held%2520November%252019th%2520and%252020th%2520in%2520Cupertino%252C%2520right%2520next%2520to%2520Apple%2527s%2520headquarters%2520at%2520Infinite%2520Loop.%250D%250A%250D%250AThe%2520class%2520is%2520aimed%2520at%2520iPhone%2520develop';" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" id="facebook" href="javascript:window.location='http%3A%2F%2Fwww.facebook.com%2Fshare.php%3Fu%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Ftwo-day-iphone-opengl-class-coming-to-the-bay-area%26amp%3Bt%3DTwo%2520Day%2520iPhone%2520OpenGL%2520Class%2520Coming%2520to%2520The%2520Bay%2520Area';" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" id="reddit" href="javascript:window.location='http%3A%2F%2Freddit.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Ftwo-day-iphone-opengl-class-coming-to-the-bay-area%26amp%3Btitle%3DTwo%2520Day%2520iPhone%2520OpenGL%2520Class%2520Coming%2520to%2520The%2520Bay%2520Area';" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" id="stumbleupon" href="javascript:window.location='http%3A%2F%2Fwww.stumbleupon.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Ftwo-day-iphone-opengl-class-coming-to-the-bay-area%26amp%3Btitle%3DTwo%2520Day%2520iPhone%2520OpenGL%2520Class%2520Coming%2520to%2520The%2520Bay%2520Area';" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" id="twitthis" href="javascript:window.location='';" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/two-day-iphone-opengl-class-coming-to-the-bay-area/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Space in Stereo iPhone Game Jam Postmortem</title>
		<link>http://gamesfromwithin.com/space-in-stereo-iphone-game-jam-postmortem</link>
		<comments>http://gamesfromwithin.com/space-in-stereo-iphone-game-jam-postmortem#comments</comments>
		<pubDate>Mon, 05 Oct 2009 19:01:19 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Conferences and events]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=690</guid>
		<description><![CDATA[A week ago, I sent out a quick tweet asking if anyone would be interested in doing an iPhone Game Jam at the 360iDev conference. The response was immediate and hugely positive, so, with the help of the organizers of 360iDev, we put together an informal iPhone Game Jam.
The idea was to get together Tuesday [...]]]></description>
			<content:encoded><![CDATA[<p>A week ago, I sent out a <a href="http://twitter.com/SnappyTouch/status/4409865477">quick tweet</a> asking if anyone would be interested in doing an iPhone Game Jam at the <a href="http://www.360idev.com/">360iDev conference</a>. The response was <a href="http://twitter.com/%23search?q=jam%2520360idev">immediate and hugely positive</a>, so, with the help of the organizers of 360iDev, we put together an informal <a href="http://iphonegamejam.com/">iPhone Game Jam</a>.</p>
<p>The idea was to get together Tuesday evening, starting at around 7PM, and to code all night and have an iPhone game (or at least a prototype) done by morning. About 25 showed up, working on about <a href="http://iphonegamejam.com/index.php?title=Projects">a dozen projects</a>. Participants were welcome to group into teams or work solo. There were no restrictions as far as themes or technology. The only rules were that you had to finish something by morning (no leaving something that was 5% of a game) and you had to start the game from scratch (no finishing a game you had started a while ago).</p>
<p><span id="more-690"></span></p>
<p><img class="aligncenter" title="space" src="../wp-content/uploads/2009/10/space.jpg" alt="space" width="480" height="320" /></p>
<p>The reason behind doing a game jam is to be able to quickly create game prototypes and decide if they’re worth pursuing further or not. Much better to spend a few hours one night and then throwing it away, than spending several months with multiple people involved. Also, the heavy time constraints often help participants by focusing them in the ultimate goal and forcing them to adopt creative solutions. Being all together in one large room added a lot of energy and made it possible to work really focused for many hours without a huge amount of caffeine (although the large amounts of coffee provided by <a href="http://twitter.com/javahead">Jay</a> really helped!). In the end, we even ended up getting <a href="http://www.youtube.com/watch?v=KCYsZqp573o">a late-night fiddle serenade</a> by <a href="http://www.philhassey.com/blog/">Phil Hassey</a>. Try that at home by yourself! <a href="http://www.streamingcolour.com/blog/">Owen Goss</a> liked the idea so much, he decided to jam with use remotely through video conferencing!</p>
<p>One specific thing that I wanted to avoid with the game jam was the idea of giving any sort of prices at the end. I really wanted to keep the jam as an environment where people would be free to experiment and fail. If people were thinking of potential prices at the end, they would be a lot less willing to go out on a limb and try different things.</p>
<p>My goal going into the jam was to experiment with game mechanics that relied heavily on multi touch. I felt that very few games made good use of multi touch (aside from pinching) and that it had the potential to create something very different from the single-touch based game that we’re used to from mice for the last 20 years. The flip side of it is that a multi-touch game was much riskier and unknown. Could something that multiple simultaneous touches be fun, or would it be frustrating? Would your fingers get in the way and clutter the screen, or would it be a new experience? In the back of my mind, I was definitely drawing inspiration from the fantastic game <a href="http://click.linksynergy.com/fs-bin/stat?id=aDkhM0mDflg&amp;offerid=146261&amp;type=3&amp;subid=0&amp;tmpid=1826&amp;RD_PARM1=http%25253A%25252F%25252Fitunes.apple.com%25252FWebObjects%25252FMZStore.woa%25252Fwa%25252FviewSoftware%25253Fid%25253D315613006%252526mt%25253D8%252526uo%25253D6%252526partnerId%25253D30">Bug Bugs</a>, by <a href="http://igloo-games.com/">Igloo Games</a>.</p>
<p>I did all the coding myself, but I teamed up with <a href="http://twitter.com/veiledgames">Evan McMahon</a> from <a href="http://veiledgames.com/">Veiled Games</a> and he did all the awesome art in the prototype.</p>
<div id="attachment_693" class="wp-caption aligncenter" style="width: 437px"><img class="size-full wp-image-693" title="owen" src="http://gamesfromwithin.com/wp-content/uploads/2009/10/owen.jpg" alt="Owen Goss joining the iPhone Game Jam remotely" width="427" height="320" /><p class="wp-caption-text">Owen Goss joining the iPhone Game Jam remotely</p></div>
<h2>What Went Right</h2>
<h3><strong>Started with an idea</strong></h3>
<p>I went into the jam with the idea of experimenting with multi-touch game mechanics. I also had in mind a setting that would be a good backdrop to those mechanics: You control a large, round spaceship in interstellar travel. As you travel between the stars, you need to collect different resources to power your ship and provide all necessary materials. Each type of resource goes in a different bay (which are located along the outer rim), so with two fingers you rotate the ship to move the collecting bay forward, and with the other hand you drag the different resources you encounter. Some resources aren’t useful, so you need to flick them away so they don’t hit the ship. Finally, other resources need to be combined before they can be processed, so you first need to bring them together, and then drag them to the ship.</p>
<p>You only have 10-12 hours to build a game, so if I didn’t have an idea going into the jam, I would have wasted precious time trying to figure out what to do while I could have been working on the game.</p>
<p>At the same time, I didn’t have the idea fully fleshed out and set in stone. I definitely let things change based on what I saw as I was implementing it. So it’s good to strike a flexible medium between having an idea and letting it evolve during the jam.</p>
<h3><strong>Used familiar tools</strong></h3>
<p>Just the day before, <a href="http://criticalthoughtgames.com/">David Whatley</a> raved about how great <a href="http://cocos2d.org/">Cocos2d</a> was for prototyping, and that same day, my friend <a href="http://hiddenelephant.com/blog/">Serban</a> gave <a href="http://hiddenelephant.com/blog/2009/10/01/360idev-introduction-to-2d-game-programming-using-cocos2d/">a presentation on using Cocos2d</a>. I’m <a href="http://twitter.com/SnappyTouch/status/4480633461">on record</a> saying that I can’t stand to work with Cocos2d because it imposes a particular (totally backwards) architecture on you, and I can’t ever see myself shipping a game with it, but I can see the value in using it for prototyping.</p>
<p>The point of this jam (for me anyway) wasn’t to learn some new tech, but to experiment with gameplay. So I really considered it, but in the end, I decided to work with something I was familiar with, and used my (very small) codebase using straight OpenGL. I’m very glad that I did because I never felt that working at that level got in the way (other than one frustrating moment related to the first point in “what went wrong”),</p>
<h3><strong>Didn’t worry about performance</strong></h3>
<p>This is a hard one for me! The last <a href="../../../../../gdc-austin-2009-squeezing-every-drop-of-performance-out-of-the-iphone">two</a> <a href="../../../../../360idev-cranking-up-floating-point-performance-to-11">talks</a> I’ve given are all about performance on the iPhone, but even thinking about performance here would have been a waste of time and resources. Sure, the game had to be fast enough to run on the actual device because playing a game on the phone is a very different experience than playing it on the simulator. Besides, a game like this requiring lots of multi-touch was impossible to play on the simulator.</p>
<p>But at the same time, I didn’t have to submit it to the App Store come morning, so I decided that as long as it ran on my 3GS, I didn’t care about anything else. That meant it could be very suboptimal and be a total memory hog. I didn’t care! I wasn’t even releasing resources!</p>
<p>The result, it played perfectly fine on my phone, and I spent zero time trying to optimize it or taking a longer route because of performance or memory reasons. On the other hand, just the tiny, single level I created is about 12MB, so it’s clearly very bloated.</p>
<h3><strong>Teaming up</strong></h3>
<p>As I mentioned earlier, I teamed up with Evan McMahon to create the art for the game. He wasn’t at the conference, so we organized everything through IM and <a href="http://www.getdropbox.com/">Dropbox</a>. The experience was great because not only did he create some awesome-looking art, but he really motivated me along the way. We played off each other’s energy and came up with new ideas because of the collaboration.</p>
<p>Going solo would have been OK because I was surrounded by a room full of like-minded developers hacking away at their games, so that would have helped keep up the energy levels, but it wouldn’t have had nearly as much of an effect as working directly with someone else. My only regret is that Evan wasn’t there with me.</p>
<p style="margin-bottom: 0in; font-weight: normal; text-decoration: none; text-align: center;"><img class="size-full wp-image-695 aligncenter" title="ScreenWithButton" src="http://gamesfromwithin.com/wp-content/uploads/2009/10/ScreenWithButton.jpg" alt="ScreenWithButton" width="480" height="320" /></p>
<p>What about the art itself? Was it a waste of time to add it to the game? After all, it didn’t help me make a better decision about the multi-touch game mechanics, did it? It wasn’t a waste of time at all for me. First of all, it took just as long adding some nice art than it took to add stand-in art because there wasn’t anything special about it. But most importantly, there is a feedback loop between the look of the game and the gameplay and feel of the game. So seeing the art in the game definitely changed how I felt about it and the decisions I made about it during the night.</p>
<h2 style="margin-bottom: 0in; font-weight: normal; text-decoration: none;"><strong>What Went Wrong</strong></h2>
<h3><strong>Didn’t have a project ready</strong></h3>
<p>This just goes to show my lack of experience with super-rapid prototyping. I didn’t have a project ready to get started with the prototyping. I originally created a blank OpenGL project from XCode, and quickly realized I would be missing all the set up for sound, the view controller structure, and even some of the default touch-handling. So I grabbed one of my current projects in development, stripped it of everything game specific, and turned it into the project for the game jam. Not a big deal, except that it took me a good 20-30 minutes to go through this, and in the process I deleted a couple crucial lines that gave me lots of problems with OpenGL for the next 30 minutes. Doh!</p>
<p>Next time: Come prepared with a blank project, ready to go.</p>
<h3><strong>Running up against technical stuff</strong></h3>
<p>I went with OpenGL instead of Cocos2d on purpose to avoid having to deal with learning technical stuff sleep deprived in the middle of the jam. Unfortunately, it turns out my understanding of the multi touch event API wasn’t up to snuff to handle 5 simultaneous touches, starting, moving, and ending, each of them affecting a different object (or different parts of the same object). During the jam I wasn’t writing unit tests either, so that made for a pretty confusing time until I stepped back for a second, hit the documentation and Apple’s touch sample program, and tried to gain a better understanding of what was going on. Hint: Apparently looking at the touches in the UIEvent* parameter passed to touchesBegan is not a good idea, and you need to look at the ones passed in NSSet*.</p>
<h3><strong>Not enough time!</strong></h3>
<p>I certainly didn’t get as far in the prototype as I had hoped I would. There’s only one type of resource (ice chunks) and the control mechanics need to be improved quite a bit.</p>
<p>Is it possible that if I had used Cocos2d I would have gotten more done of the prototype? Yes, it’s possible, although I won’t know until I try it. Is it possible that half way through the prototype I would have encountered something that Cocos2d couldn’t do and I was left stranded? Yes, that’s also possible. And that’s a big reason why I don’t like framework-y type of APIs, and instead I would rather have a toolkit type of API so I can call into it and do the work myself whenever I want instead.</p>
<p>In any case, this is the flip side of “using familiar tools”. I will definitely experiment with Cocos2d in the future and consider it for another game jam if I’m familiar enough with it and I feel it speeds up development.</p>
<div id="attachment_696" class="wp-caption aligncenter" style="width: 437px"><img class="size-full wp-image-696" title="gamejam" src="http://gamesfromwithin.com/wp-content/uploads/2009/10/gamejam.jpg" alt="Everybody still going strong late at night (but not quite so perky anymore)" width="427" height="320" /><p class="wp-caption-text">Everybody still going strong late at night (but not quite so perky anymore)</p></div>
<h2><strong>Conclusions</strong></h2>
<p>I think Space in Stereo has potential, but right now it’s too early to tell if it’s any good. The basic mechanic is there, but it’s not fun by any stretch of the imagination. I already learned a bunch about it though, including that some things weren’t nearly as much fun as I was hoping would be. For example, rotating the space station with two fingers&#8230; well, sucks. The better control scheme is to move the space station by dragging around the middle, and rotating it by dragging a finger around the edge in a circular motion. That was also what everybody was instinctively doing when they were trying out the game.</p>
<p>The game is just at the point that spending another 4-5 hours on it would answer a lot of questions about how fun it can be. I’m definitely planning on spending that time and then making a decision. If I decide not to go ahead with it, it’s not a big deal. Great games come out of making a lot of different prototypes and throwing away all the so-so ones along the way.</p>
<p>As far as the Game Jam itself, it can only be described in one word: Awesome. It was everything I was hoping for and more. I can’t stress enough how much it helped to have everybody else around you and being so focused for that period of time. I had heard much about game jams, but I had never actually participated in one. After this one I’m sold. I can’t wait until the next one!</p>
<div id="video" class="wp-caption aligncenter" style="width: 650px"><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/FERdqsqLHos&amp;hl=en&amp;fs=1&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/FERdqsqLHos&amp;hl=en&amp;fs=1&amp;hd=1" allowscriptaccess="always" allowfullscreen="true"></embed></object><p class="wp-caption-text">Gameplay footage of Space in Stereo</p></div>




	<a rel="nofollow" id="digg" href="javascript:window.location='http%3A%2F%2Fdigg.com%2Fsubmit%3Fphase%3D2%26amp%3Burl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fspace-in-stereo-iphone-game-jam-postmortem%26amp%3Btitle%3DSpace%2520in%2520Stereo%2520iPhone%2520Game%2520Jam%2520Postmortem%26amp%3Bbodytext%3DA%2520week%2520ago%252C%2520I%2520sent%2520out%2520a%2520quick%2520tweet%2520asking%2520if%2520anyone%2520would%2520be%2520interested%2520in%2520doing%2520an%2520iPhone%2520Game%2520Jam%2520at%2520the%2520360iDev%2520conference.%2520The%2520response%2520was%2520immediate%2520and%2520hugely%2520positive%252C%2520so%252C%2520with%2520the%2520help%2520of%2520the%2520organizers%2520of%2520360iDev%252C%2520we%2520put%2520together%2520an%2520inform';" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" id="del.icio.us" href="javascript:window.location='http%3A%2F%2Fdelicious.com%2Fpost%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fspace-in-stereo-iphone-game-jam-postmortem%26amp%3Btitle%3DSpace%2520in%2520Stereo%2520iPhone%2520Game%2520Jam%2520Postmortem%26amp%3Bnotes%3DA%2520week%2520ago%252C%2520I%2520sent%2520out%2520a%2520quick%2520tweet%2520asking%2520if%2520anyone%2520would%2520be%2520interested%2520in%2520doing%2520an%2520iPhone%2520Game%2520Jam%2520at%2520the%2520360iDev%2520conference.%2520The%2520response%2520was%2520immediate%2520and%2520hugely%2520positive%252C%2520so%252C%2520with%2520the%2520help%2520of%2520the%2520organizers%2520of%2520360iDev%252C%2520we%2520put%2520together%2520an%2520inform';" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" id="facebook" href="javascript:window.location='http%3A%2F%2Fwww.facebook.com%2Fshare.php%3Fu%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fspace-in-stereo-iphone-game-jam-postmortem%26amp%3Bt%3DSpace%2520in%2520Stereo%2520iPhone%2520Game%2520Jam%2520Postmortem';" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" id="reddit" href="javascript:window.location='http%3A%2F%2Freddit.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fspace-in-stereo-iphone-game-jam-postmortem%26amp%3Btitle%3DSpace%2520in%2520Stereo%2520iPhone%2520Game%2520Jam%2520Postmortem';" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" id="stumbleupon" href="javascript:window.location='http%3A%2F%2Fwww.stumbleupon.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fspace-in-stereo-iphone-game-jam-postmortem%26amp%3Btitle%3DSpace%2520in%2520Stereo%2520iPhone%2520Game%2520Jam%2520Postmortem';" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" id="twitthis" href="javascript:window.location='';" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/space-in-stereo-iphone-game-jam-postmortem/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>360iDev: Cranking Up Floating Point Performance To 11</title>
		<link>http://gamesfromwithin.com/360idev-cranking-up-floating-point-performance-to-11</link>
		<comments>http://gamesfromwithin.com/360idev-cranking-up-floating-point-performance-to-11#comments</comments>
		<pubDate>Tue, 29 Sep 2009 15:44:59 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=677</guid>
		<description><![CDATA[Here are the slides and the source code for my talk this afternoon at 360iDev in Denver. Thanks to everyone who came to the talk. I was surprised to see so much interest on this topic, so that was great.
Session description: 
The iPhone has a very powerful engine under that shiny hood when it comes [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-680" title="360iDev_speaker" src="http://gamesfromwithin.com/wp-content/uploads/2009/09/360iDev_speaker.png" alt="360iDev_speaker" width="239" height="135" />Here are the slides and the source code for my talk this afternoon at 360iDev in Denver. Thanks to everyone who came to the talk. I was surprised to see so much interest on this topic, so that was great.</p>
<p><strong>Session description: </strong></p>
<p>The iPhone has a very powerful engine under that shiny hood when it comes to floating-point computations. This is something that surprises a lot of programmers because by default, things can slow down a lot whenever any floating point numbers are involved. This session will explain the secrets to unlocking maximum performance for floating point calculations, from the mysteries of Thumb mode, to harnessing the full power of the forgotten vector floating point unit. Stay away from this session if he thought of reading or even (gasp!) writing assembly code scares you.</p>
<ul>
<li><a href="http://www.slideshare.net/llopis/cranking-floating-point-performance-to-11-on-the-iphone-2111775">Presentation slides</a> (<a href="http://gamesfromwithin.com/wp-content/uploads/2009/09/iPhoneFP.pdf.zip">pdf format</a>)</li>
<li><a href="http://gamesfromwithin.com/wp-content/uploads/2009/09/vfpperf.zip">Sample project</a></li>
</ul>




	<a rel="nofollow" id="digg" href="javascript:window.location='http%3A%2F%2Fdigg.com%2Fsubmit%3Fphase%3D2%26amp%3Burl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252F360idev-cranking-up-floating-point-performance-to-11%26amp%3Btitle%3D360iDev%253A%2520Cranking%2520Up%2520Floating%2520Point%2520Performance%2520To%252011%2520%26amp%3Bbodytext%3DHere%2520are%2520the%2520slides%2520and%2520the%2520source%2520code%2520for%2520my%2520talk%2520this%2520afternoon%2520at%2520360iDev%2520in%2520Denver.%2520Thanks%2520to%2520everyone%2520who%2520came%2520to%2520the%2520talk.%2520I%2520was%2520surprised%2520to%2520see%2520so%2520much%2520interest%2520on%2520this%2520topic%252C%2520so%2520that%2520was%2520great.%250D%250A%250D%250ASession%2520description%253A%2520%250D%250A%250D%250AThe%2520iPhone%2520has%2520a%2520v';" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" id="del.icio.us" href="javascript:window.location='http%3A%2F%2Fdelicious.com%2Fpost%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252F360idev-cranking-up-floating-point-performance-to-11%26amp%3Btitle%3D360iDev%253A%2520Cranking%2520Up%2520Floating%2520Point%2520Performance%2520To%252011%2520%26amp%3Bnotes%3DHere%2520are%2520the%2520slides%2520and%2520the%2520source%2520code%2520for%2520my%2520talk%2520this%2520afternoon%2520at%2520360iDev%2520in%2520Denver.%2520Thanks%2520to%2520everyone%2520who%2520came%2520to%2520the%2520talk.%2520I%2520was%2520surprised%2520to%2520see%2520so%2520much%2520interest%2520on%2520this%2520topic%252C%2520so%2520that%2520was%2520great.%250D%250A%250D%250ASession%2520description%253A%2520%250D%250A%250D%250AThe%2520iPhone%2520has%2520a%2520v';" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" id="facebook" href="javascript:window.location='http%3A%2F%2Fwww.facebook.com%2Fshare.php%3Fu%3Dhttp%253A%252F%252Fgamesfromwithin.com%252F360idev-cranking-up-floating-point-performance-to-11%26amp%3Bt%3D360iDev%253A%2520Cranking%2520Up%2520Floating%2520Point%2520Performance%2520To%252011%2520';" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" id="reddit" href="javascript:window.location='http%3A%2F%2Freddit.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252F360idev-cranking-up-floating-point-performance-to-11%26amp%3Btitle%3D360iDev%253A%2520Cranking%2520Up%2520Floating%2520Point%2520Performance%2520To%252011%2520';" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" id="stumbleupon" href="javascript:window.location='http%3A%2F%2Fwww.stumbleupon.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252F360idev-cranking-up-floating-point-performance-to-11%26amp%3Btitle%3D360iDev%253A%2520Cranking%2520Up%2520Floating%2520Point%2520Performance%2520To%252011%2520';" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" id="twitthis" href="javascript:window.location='';" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/360idev-cranking-up-floating-point-performance-to-11/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>GDC Austin 2009: Squeezing Every Drop Of Performance Out Of The iPhone</title>
		<link>http://gamesfromwithin.com/gdc-austin-2009-squeezing-every-drop-of-performance-out-of-the-iphone</link>
		<comments>http://gamesfromwithin.com/gdc-austin-2009-squeezing-every-drop-of-performance-out-of-the-iphone#comments</comments>
		<pubDate>Wed, 16 Sep 2009 20:48:32 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Conferences and events]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=671</guid>
		<description><![CDATA[I just put up the slides for my talk this morning at GDC Austin: Squeezing Every Drop Of Performance Out Of The iPhone.
Thanks for everyone who attended the session and for the great feedback so far. If you&#8217;re going to be in China next month, I&#8217;ll be giving a very similar talk at GDC China.
Session [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-673" title="austin" src="http://gamesfromwithin.com/wp-content/uploads/2009/09/austin.jpg" alt="austin" width="165" height="111" />I just put up <a href="http://www.slideshare.net/llopis/squeezing-every-drop-of-performance-out-of-the-iphone">the slides for my talk</a> this morning at GDC Austin: <a href="https://www.cmpevents.com/GDAU09/a.asp?option=C&amp;V=11&amp;SessID=9869">Squeezing Every Drop Of Performance Out Of The iPhone.</a></p>
<p>Thanks for everyone who attended the session and for the great feedback so far. If you&#8217;re going to be in China next month, I&#8217;ll be giving a very similar talk at <a href="http://www.gdcchina.com/">GDC China</a>.</p>
<p><strong>Session description:</strong></p>
<p>This session will describe the iPhone performance optimization lessons learned through many hours of tuning. We&#8217;ll start with an overview of the performance analysis tools available on the iPhone SDK to help you narrow down your performance bottlenecks. Then we&#8217;ll cover the best way to set up your render loops, rendering best practices, how to deal with the limited memory, or even how to drop down to assembly to use the forgotten vector floating point unit.</p>




	<a rel="nofollow" id="digg" href="javascript:window.location='http%3A%2F%2Fdigg.com%2Fsubmit%3Fphase%3D2%26amp%3Burl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fgdc-austin-2009-squeezing-every-drop-of-performance-out-of-the-iphone%26amp%3Btitle%3DGDC%2520Austin%25202009%253A%2520Squeezing%2520Every%2520Drop%2520Of%2520Performance%2520Out%2520Of%2520The%2520iPhone%26amp%3Bbodytext%3DI%2520just%2520put%2520up%2520the%2520slides%2520for%2520my%2520talk%2520this%2520morning%2520at%2520GDC%2520Austin%253A%2520Squeezing%2520Every%2520Drop%2520Of%2520Performance%2520Out%2520Of%2520The%2520iPhone.%250D%250A%250D%250AThanks%2520for%2520everyone%2520who%2520attended%2520the%2520session%2520and%2520for%2520the%2520great%2520feedback%2520so%2520far.%2520If%2520you%2527re%2520going%2520to%2520be%2520in%2520China%2520next%2520month%252C%2520I%2527ll';" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" id="del.icio.us" href="javascript:window.location='http%3A%2F%2Fdelicious.com%2Fpost%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fgdc-austin-2009-squeezing-every-drop-of-performance-out-of-the-iphone%26amp%3Btitle%3DGDC%2520Austin%25202009%253A%2520Squeezing%2520Every%2520Drop%2520Of%2520Performance%2520Out%2520Of%2520The%2520iPhone%26amp%3Bnotes%3DI%2520just%2520put%2520up%2520the%2520slides%2520for%2520my%2520talk%2520this%2520morning%2520at%2520GDC%2520Austin%253A%2520Squeezing%2520Every%2520Drop%2520Of%2520Performance%2520Out%2520Of%2520The%2520iPhone.%250D%250A%250D%250AThanks%2520for%2520everyone%2520who%2520attended%2520the%2520session%2520and%2520for%2520the%2520great%2520feedback%2520so%2520far.%2520If%2520you%2527re%2520going%2520to%2520be%2520in%2520China%2520next%2520month%252C%2520I%2527ll';" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" id="facebook" href="javascript:window.location='http%3A%2F%2Fwww.facebook.com%2Fshare.php%3Fu%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fgdc-austin-2009-squeezing-every-drop-of-performance-out-of-the-iphone%26amp%3Bt%3DGDC%2520Austin%25202009%253A%2520Squeezing%2520Every%2520Drop%2520Of%2520Performance%2520Out%2520Of%2520The%2520iPhone';" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" id="reddit" href="javascript:window.location='http%3A%2F%2Freddit.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fgdc-austin-2009-squeezing-every-drop-of-performance-out-of-the-iphone%26amp%3Btitle%3DGDC%2520Austin%25202009%253A%2520Squeezing%2520Every%2520Drop%2520Of%2520Performance%2520Out%2520Of%2520The%2520iPhone';" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" id="stumbleupon" href="javascript:window.location='http%3A%2F%2Fwww.stumbleupon.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fgdc-austin-2009-squeezing-every-drop-of-performance-out-of-the-iphone%26amp%3Btitle%3DGDC%2520Austin%25202009%253A%2520Squeezing%2520Every%2520Drop%2520Of%2520Performance%2520Out%2520Of%2520The%2520iPhone';" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" id="twitthis" href="javascript:window.location='';" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/gdc-austin-2009-squeezing-every-drop-of-performance-out-of-the-iphone/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>From Full to Lite in Under An Hour</title>
		<link>http://gamesfromwithin.com/from-full-to-lite-in-under-an-hour</link>
		<comments>http://gamesfromwithin.com/from-full-to-lite-in-under-an-hour#comments</comments>
		<pubDate>Mon, 14 Sep 2009 16:11:29 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=498</guid>
		<description><![CDATA[A bit over a month ago [1], I decided it was time to create a &#8220;lite&#8221; version of Flower Garden [2]. I really thought it was going to be a pretty easy task: Disable a few pots, remove some seeds, and repackage it. Sounds simple enough. But before that, I had to decide how to [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-662" title="Icon_lite_rounded" src="http://gamesfromwithin.com/wp-content/uploads/2009/09/Icon_lite_rounded.png" alt="Icon_lite_rounded" width="128" height="128" />A bit over a month ago <a href="#1">[1]</a>, I decided it was time to create a <a href="http://itunes.com/apps/flowergardenlite">&#8220;lite&#8221; version of Flower Garden</a> <a href="#2">[2]</a>. I really thought it was going to be a pretty easy task: Disable a few pots, remove some seeds, and repackage it. Sounds simple enough. But before that, I had to decide how to structure the project for the lite version.</p>
<h3><span id="more-498"></span>#defining The Problem</h3>
<p>The first approach that came to mind was to use #ifdefs. Hopefully, if I did things well, it wouldn&#8217;t require too many of them. As soon as I gave it some more thinking, it was clear this was a pretty flawed approach.</p>
<p>I like to be able to create a build with zero human interaction: Press a button, wait, and the build is ready. I don&#8217;t want to have to do any manual (read, error-prone) steps. So I couldn&#8217;t just have an #ifdef that I turned on and off depending on whether I was building the lite version or the full one. I can get around that by creating a new configuration in XCode, except that it wouldn&#8217;t be one, it would be one for every existing configuration I already have: Debug, Release, Distribution Ad Hoc, and Distribution App Store. So this would make a total of 8 configurations. That&#8217;s rather ugly!</p>
<p>In case the explosion of configurations wasn&#8217;t ugly enough, there was one other, even bigger problem: An #ifdef wouldn&#8217;t allow me to change the assets included in each version of Flower Garden, and, most importantly, I couldn&#8217;t change the Info.plist file to have a different bundle id (although maybe I could change the Info.plist for each of the new configurations and point it to the new one).</p>
<p>Not an attractive option. So how else can we do it?</p>
<h3>New XCode Project</h3>
<p>The idea is straightforward: Make a copy of the existing project for the full version of the game, and change it in any way you want: Remove resources, add new ones, change Info.plist, etc. You can still share common source files and define a preprocessor macro LITE in the new project to #ifdef parts of the code.</p>
<p>This approach sounds more promising, until you realize that changes made to one project don&#8217;t carry over to the other one. So if you&#8217;re done developing the full version, and you create the lite version at the very end, maybe that won&#8217;t be a problem (although, how can you be sure you&#8217;re done?) And making changes to two separate projects is never fun.</p>
<p>You could improve things a bit by starting out the lite version as a branch in source control. That way, changes made to one of the branches can (hopefully) be merged back into the main line or another branch (have fun merging xcodeproj files). I think it&#8217;s because I&#8217;ve had the displeasure of working in projects that went totally overboard branching, that just the word branch makes me recoil in disgust. Yes, this method might work, but it seemed cumbersome and error prone.</p>
<p>Any other solutions?</p>
<h3>Stay On Target</h3>
<p>It turns out I kept thinking in terms of a solution I could have implemented in Visual Studio (that&#8217;s what I get for spending so many years working with it). But fortunately we&#8217;re not in Windows-land anymore. This is XCode, and XCode totally rocks.</p>
<p>XCode&#8217;s build system, once you wrap your head around it, is much more flexible and natural than Visual Studio&#8217;s. It&#8217;s much more like a make file (and I say that in a good way&#8211;I do like make files!). You have files, and then you have targets. And there&#8217;s nothing that says a file can&#8217;t be in multiple targets (and the file only appears in the project once). Once you have multiple target, whenever you add a new file you have the option to add it to both targets the same time if you want. Perfect!</p>
<p>My Flower Garden project contains about 15 targets: 7 &#8220;engine&#8221; libraries, 7 test executables for each of the libraries, and one main executable target for the game itself. So the (now obvious) solution, was to simply create a new target for the lite version, in that same project, with the same files. It turns out this solution had all the advantages of the previous approaches with none of the drawbacks.</p>
<h3>Lite Target Details</h3>
<p><img class="alignright size-full wp-image-664" title="targets" src="http://gamesfromwithin.com/wp-content/uploads/2009/09/targets.png" alt="targets" width="238" height="274" />Once I landed on the target idea, it really was quite straightforward to create the Lite version by following a few, simple steps:</p>
<ul>
<li>Make a duplicate of the target for the full version. Just right click on the full target, and select duplicate.</li>
<li>Rename new target to something else (Flower Garden Lite&#8211;I&#8217;m highly imaginative when it comes to naming things like this! <img src='http://gamesfromwithin.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li>Make a duplicate of your Info.plist (InfoLite.plist)</li>
<li>Change the info.plist file setting for the lite target to point to InfoLite.plist</li>
<li>Edit InfoLite.plist to have a different bundle identifier and maybe a different bundle display name (the name that&#8217;s going to show up under the icon on the iPhone).</li>
<li>Add a compiler define to the lite target called LITE or something like that. That way you can #ifdef a few parts of the code depending on the version you&#8217;re compiling.</li>
</ul>
<p>And that&#8217;s almost it. There&#8217;s one more trick that made my life a lot easier. It turns out that you will definitely want to change not just some code, but some assets depending on which version you&#8217;re using. So maybe you&#8217;ll have a Wall.png texture in the full version, but you&#8217;ll want to have a different version of that texture in the Lite version. I started out creating a new file called WallLite.png, but then it quickly cascaded into a bunch of code changes loading either Wall.png or WallLite.png depending on the version and it was ugly and time consuming.</p>
<p>A much better approach is to rely on the resource copy step of XCode. By default, XCode will grab the resources in your project and copy them all in the same folder, flattening the hierarchy completely. This can be a pain if you have resources with the same name organized in different folders because they will clash. But here we can use it to our advantage to supply different versions of the resource for the full and lite versions.</p>
<p>Just create a Lite directory and put any variations of your resources there. Then, in the Resources Copy step of the target, remove the resources you&#8217;re replacing and add the ones from the Lite directory. Whenever you build, XCode will put those new resources in the same place where the full resources were and your code won&#8217;t have to change one bit. This trick works even with xib files, which is great because I had to modify one of them to reduce the number of pots in the garden screen.</p>
<p>Once you have that set up, the rest is just a matter of deciding what functionality goes in the lite version and how it is presented. It can be as simple or as complex as you want.</p>
<p>In the case of Flower Garden, it was very straightforward. I limited the number of pots to two, and the number of different seeds to three. So I just had to change a few resources and add a couple of #ifdefs with the number of total pots and seeds. I also removed the resources that weren&#8217;t used in the lite version (the seed data for all the unavailable seeds for example).</p>
<p>Flower Garden lite was finally approved and it has been available on the App Store for a few days. So far it has been downloaded several thousand times, it has been very well received, and has definitely bumped up the sales of the full version. Definitely a few hours well spent!</p>
<p><br/></p>
<p><a name="1"></a>[1] The lite version took a couple of hours to create and a month to approve by Apple.</p>
<p><a name="2"></a>[2] It was something I wanted to have created from the beginning, but my hands were tied because email bouquets were being sent through my server and I had a maximum number of emails I was allowed to send per day because of spam limits. Fortunately, as soon as the 3.0 OS was released, apps were able to use in-app email and that restriction went away.</p>




	<a rel="nofollow" id="digg" href="javascript:window.location='http%3A%2F%2Fdigg.com%2Fsubmit%3Fphase%3D2%26amp%3Burl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Ffrom-full-to-lite-in-under-an-hour%26amp%3Btitle%3DFrom%2520Full%2520to%2520Lite%2520in%2520Under%2520An%2520Hour%26amp%3Bbodytext%3DA%2520bit%2520over%2520a%2520month%2520ago%2520%255B1%255D%252C%2520I%2520decided%2520it%2520was%2520time%2520to%2520create%2520a%2520%2522lite%2522%2520version%2520of%2520Flower%2520Garden%2520%255B2%255D.%2520I%2520really%2520thought%2520it%2520was%2520going%2520to%2520be%2520a%2520pretty%2520easy%2520task%253A%2520Disable%2520a%2520few%2520pots%252C%2520remove%2520some%2520seeds%252C%2520and%2520repackage%2520it.%2520Sounds%2520simple%2520enough.%2520But%2520before%2520that%252C';" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" id="del.icio.us" href="javascript:window.location='http%3A%2F%2Fdelicious.com%2Fpost%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Ffrom-full-to-lite-in-under-an-hour%26amp%3Btitle%3DFrom%2520Full%2520to%2520Lite%2520in%2520Under%2520An%2520Hour%26amp%3Bnotes%3DA%2520bit%2520over%2520a%2520month%2520ago%2520%255B1%255D%252C%2520I%2520decided%2520it%2520was%2520time%2520to%2520create%2520a%2520%2522lite%2522%2520version%2520of%2520Flower%2520Garden%2520%255B2%255D.%2520I%2520really%2520thought%2520it%2520was%2520going%2520to%2520be%2520a%2520pretty%2520easy%2520task%253A%2520Disable%2520a%2520few%2520pots%252C%2520remove%2520some%2520seeds%252C%2520and%2520repackage%2520it.%2520Sounds%2520simple%2520enough.%2520But%2520before%2520that%252C';" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" id="facebook" href="javascript:window.location='http%3A%2F%2Fwww.facebook.com%2Fshare.php%3Fu%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Ffrom-full-to-lite-in-under-an-hour%26amp%3Bt%3DFrom%2520Full%2520to%2520Lite%2520in%2520Under%2520An%2520Hour';" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" id="reddit" href="javascript:window.location='http%3A%2F%2Freddit.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Ffrom-full-to-lite-in-under-an-hour%26amp%3Btitle%3DFrom%2520Full%2520to%2520Lite%2520in%2520Under%2520An%2520Hour';" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" id="stumbleupon" href="javascript:window.location='http%3A%2F%2Fwww.stumbleupon.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Ffrom-full-to-lite-in-under-an-hour%26amp%3Btitle%3DFrom%2520Full%2520to%2520Lite%2520in%2520Under%2520An%2520Hour';" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" id="twitthis" href="javascript:window.location='';" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/from-full-to-lite-in-under-an-hour/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>At The Mercy of Apple’s Whim</title>
		<link>http://gamesfromwithin.com/at-the-mercy-of-apples-whim</link>
		<comments>http://gamesfromwithin.com/at-the-mercy-of-apples-whim#comments</comments>
		<pubDate>Tue, 01 Sep 2009 19:41:13 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=642</guid>
		<description><![CDATA[We&#8217;ve known for a long time that Apple are king-makers when it comes to bringing up an app through the ranks of the App Store. A nice feature on the front page, and boom, guaranteed sales for at least a week. We&#8217;ve all complained at the randomness of it all, but we&#8217;ve all wished to [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve known for a long time that Apple are king-makers when it comes to bringing up an app through the ranks of the App Store. A nice feature on the front page, and boom, guaranteed sales for at least a week. We&#8217;ve all complained at the randomness of it all, but we&#8217;ve all wished to be there. It&#8217;s random, but at least it&#8217;s something positive, so it&#8217;s a bit like winning the lottery.</p>
<p>There&#8217;s a darker side to Apple&#8217;s randomness. Something developers have been complaining for quite a while and it&#8217;s just getting worse: The approval process.</p>
<p>This is nothing new though. For a while developers have been reporting random rejections by Apple. Some of them extremely <a href="http://hiddenelephant.com/blog/2009/05/15/ridiculous-app-store-rejection/">unfair</a> and <a href="http://neverodd.wordpress.com/2009/02/23/apple-slays-the-dragon/">illogical</a>.</p>
<p>A few months ago, if you got hit with one of those random rejects, it was annoying, but it was bearable. Usually a resubmit would get approved in under a week, so it was possible to fix whatever random thing Apple flagged down (or show them that it wasn&#8217;t an issue), and resubmit without wasting too much time.</p>
<p>Now things are different. Supposedly 95% of apps are approved (or rejected) under 14 days (although my <a href="http://bit.ly/iphoneapprovaltime">informal and biased survey</a> shows <a href="http://bit.ly/iphoneapprovalresults">very different percentages</a>). A mistake from Apple rejecting an app doesn&#8217;t cost you a week anymore, but perhaps as much as an extra 3-4 weeks! That&#8217;s a big deal for a company that&#8217;s trying to time the release of a product.</p>
<p>So far, I had been one of the lucky developers and I never got a rejection from Apple with Flower Garden. Actually, updates were usually approved withing 7 days <strong>to the hour</strong> (very suspicious, isn&#8217;t it?). But my luck ran out and I joined the group of developers hit hard by random and unfair updates.</p>
<p>Two days ago, Flower Garden 1.7, which had been in review for 24 days was rejected with the following explanation from Apple:</p>
<blockquote><p>Dear Noel,</p>
<p>Thank you for submitting Flower Garden to the App Store. We&#8217;ve reviewed Flower Garden and determined that we cannot post this version of your iPhone application to the App Store because your application contains pricing information in the application, located in the &#8220;More Games&#8221; page.  Providing specific pricing information in this location may lead to user confusion because of pricing differences in countries.  It would be appropriate to remove pricing information from your application.</p>
<p>Once these modifications have been made please upload a new binary using iTunes Connect</p>
<p>Regards,</p>
<p>iPhone Developer Program</p></blockquote>
<p>I was completely floored when I read that email. So apparently displaying a web page with prices for other apps is not allowed unless you localize that based on the language settings of the iPhone. How many apps are doing that? I doubt many (any?) are doing it. I can certainly bring up piles and piles of other games that are showing non-localized prices. But precedence is clearly not an argument with Apple. Even previous versions of Flower Garden had that exact same view with prices and it wasn&#8217;t a problem! Random reviewer strikes again.</p>
<p>But wait, there&#8217;s more. The prices are shown on a web page fed through my server. I made that change in 30 seconds and emailed them back, hoping they could simply re-test that functionality and approve it on the spot. No, that would be too easy! I had to resubmit a new binary and start the approval process again! I just gave them the change to cut back their work to a fraction of the time (supposedly they had tested other things that they&#8217;ll have to re-test because they have no way of knowing I didn&#8217;t change/update anything else). Sigh! I resubmitted it and I&#8217;m hoping for a quick approval, but somehow I&#8217;m ready for another 24-day wait.</p>
<p>So this morning I was excited to receive another email from Apple, I open it and&#8230;</p>
<blockquote><p>Hello Noel,</p>
<p>Flower Garden Lite cannot be posted because it is a feature-limited version. Free or &#8220;Lite&#8221; versions are acceptable, however the application must be a fully functional app and cannot reference features that are not implemented or up-sell to the full version.</p>
<p>Users can view unlockable seeds on the &#8220;Seeds&#8221; tab but cannot access them in the Lite version of the application. Please refer to the attached screenshot for an example.</p>
<p>Please upload a new binary and correct metadata using iTunes Connect .</p>
<p>Regards,</p>
<p>iPhone Developer Program</p></blockquote>
<p>and they attached the following screenshot:</p>
<p style="text-align: center;"><a href="http://gamesfromwithin.com/wp-content/uploads/2009/09/IMG_0014.PNG"><img class="size-full wp-image-649 aligncenter" title="IMG_0014" src="http://gamesfromwithin.com/wp-content/uploads/2009/09/IMG_0014.PNG" alt="IMG_0014" width="256" height="384" /></a></p>
<p>Users can be unlockable seeds but can&#8217;t unlock them? If you follow the included tutorial (2 messages) you unlock the first one. Another message tells them that growing the second seed unlocks the last one. Did they read that, or did they see a locked seed and had a knee-jerk reaction?</p>
<p>I replied to their email right away and explained how to unlock them. I&#8217;m afraid I&#8217;ll get an email back tomorrow asking me to resubmit and throwing Flower Garden Lite at the back of the queue. I hope not, but I&#8217;m prepared for the worst.</p>
<p>It might just be slightly annoying for hobbyist developers, but all of this is making the App Store very difficult to build a reliable, sustainable business around it. The lack of visibility, random approval process, unpredictability, and lack of direct contact make it impossible to have a reliable process or combine release dates with other events such as PR or marketing campaigns. At this point, I would even consider a &#8220;professional&#8221; iPhone developer account that costs $1K per year and gives you a direct contact in Apple and better visibility and predictability with the approval process. Otherwise, if things continue this way, I&#8217;m afraid that professional developers will only put up with this for so long and are soon going to consider the iPhone as a secondary platform and they&#8217;ll move on to other pastures like the PSP Mini or new opportunities that come up.</p>




	<a rel="nofollow" id="digg" href="javascript:window.location='http%3A%2F%2Fdigg.com%2Fsubmit%3Fphase%3D2%26amp%3Burl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fat-the-mercy-of-apples-whim%26amp%3Btitle%3DAt%2520The%2520Mercy%2520of%2520Apple%2527s%2520Whim%26amp%3Bbodytext%3DWe%2527ve%2520known%2520for%2520a%2520long%2520time%2520that%2520Apple%2520are%2520king-makers%2520when%2520it%2520comes%2520to%2520bringing%2520up%2520an%2520app%2520through%2520the%2520ranks%2520of%2520the%2520App%2520Store.%2520A%2520nice%2520feature%2520on%2520the%2520front%2520page%252C%2520and%2520boom%252C%2520guaranteed%2520sales%2520for%2520at%2520least%2520a%2520week.%2520We%2527ve%2520all%2520complained%2520at%2520the%2520randomness%2520of';" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" id="del.icio.us" href="javascript:window.location='http%3A%2F%2Fdelicious.com%2Fpost%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fat-the-mercy-of-apples-whim%26amp%3Btitle%3DAt%2520The%2520Mercy%2520of%2520Apple%2527s%2520Whim%26amp%3Bnotes%3DWe%2527ve%2520known%2520for%2520a%2520long%2520time%2520that%2520Apple%2520are%2520king-makers%2520when%2520it%2520comes%2520to%2520bringing%2520up%2520an%2520app%2520through%2520the%2520ranks%2520of%2520the%2520App%2520Store.%2520A%2520nice%2520feature%2520on%2520the%2520front%2520page%252C%2520and%2520boom%252C%2520guaranteed%2520sales%2520for%2520at%2520least%2520a%2520week.%2520We%2527ve%2520all%2520complained%2520at%2520the%2520randomness%2520of';" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" id="facebook" href="javascript:window.location='http%3A%2F%2Fwww.facebook.com%2Fshare.php%3Fu%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fat-the-mercy-of-apples-whim%26amp%3Bt%3DAt%2520The%2520Mercy%2520of%2520Apple%2527s%2520Whim';" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" id="reddit" href="javascript:window.location='http%3A%2F%2Freddit.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fat-the-mercy-of-apples-whim%26amp%3Btitle%3DAt%2520The%2520Mercy%2520of%2520Apple%2527s%2520Whim';" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" id="stumbleupon" href="javascript:window.location='http%3A%2F%2Fwww.stumbleupon.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fat-the-mercy-of-apples-whim%26amp%3Btitle%3DAt%2520The%2520Mercy%2520of%2520Apple%2527s%2520Whim';" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" id="twitthis" href="javascript:window.location='';" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/at-the-mercy-of-apples-whim/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>iSimulate: A Great Add-On For The iPhone Simulator</title>
		<link>http://gamesfromwithin.com/isimulate-a-great-add-on-for-the-iphone-simulator</link>
		<comments>http://gamesfromwithin.com/isimulate-a-great-add-on-for-the-iphone-simulator#comments</comments>
		<pubDate>Fri, 28 Aug 2009 20:37:49 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=629</guid>
		<description><![CDATA[I just had a chance to check out iSimulate, a tool for iPhone developers created by Vimov. iSimulate is intended to complement the current iPhone simulator by adding most of the features a real iPhone has. In the spirit of full disclosure, Vimov sent me a promo code to try it out for free, but [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://gamesfromwithin.com/wp-content/uploads/2009/08/isimulate.png"><img class="alignleft size-full wp-image-633" title="isimulate" src="http://gamesfromwithin.com/wp-content/uploads/2009/08/isimulate.png" alt="isimulate" width="163" height="163" /></a>I just had a chance to check out <a href="http://www.vimov.com/isimulate/">iSimulate</a>, a tool for iPhone developers created by <a href="http://www.vimov.com/">Vimov</a>. iSimulate is intended to complement the current iPhone simulator by adding most of the features a real iPhone has. In the spirit of full disclosure, Vimov sent me a promo code to try it out for free, but I only accepted it with the condition I could write my unfiltered impressions. So here we go.</p>
<p>iSimulate consists of two different parts: <a href="http://click.linksynergy.com/fs-bin/stat?id=aDkhM0mDflg&amp;offerid=146261&amp;type=3&amp;subid=0&amp;tmpid=1826&amp;u1=gfw_isimulate&amp;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252FWebObjects%252FMZStore.woa%252Fwa%252FviewSoftware%253Fid%253D306908756%2526mt%253D8%2526uo%253D6%2526partnerId%253D30">The iPhone app</a>, which you need to purchase through the App Store, and a static library that you link with your program. Once your app is using the library, launching the iSimulate iPhone app lets you connect your device to your app and forward accelerometer, touch, and GPS events. In other words, most of the things the simulator doesn&#8217;t do natively.</p>
<p>iSimulate definitely passed my picky installation requirements with flying colors. I was afraid the installation would hook up with existing framework libraries, add new configurations, and in general mess up my system. Fortunately, hooking up the iSimulate library couldn&#8217;t be easier: Copy the provided .a library anywhere you want, link with it in your app (don&#8217;t forget the -ObjC linker flag), make sure you&#8217;re using the Core framework, and you&#8217;re good to go. That simple. That&#8217;s how I want external libraries to work.</p>
<p>You don&#8217;t even need to initialize anything. Just launch your app in the simulator, launch iSimulate on the iPhone and it detects your program running and lets you connect to it. The iPhone app itself even looks very pretty and polished. The overall package is definitely very professional-looking.</p>
<p>From there, any touch on the device is forwarded to the simulator. So you can finally do off-center multi touches, or two touches that happen at different times, or even 5-touch events (the max the iPhone support). The other big one is being able to tilt or shake your device and see the game react correctly on the simulator, which is would have been very handy when writing the accelerometer code to move flowers around in <a href="http://snappytouch.com/flowergarden">Flower Garden</a>, but would almost be necessary when you&#8217;re making heavy use of accelerometer input for games like <a href="http://click.linksynergy.com/fs-bin/stat?id=aDkhM0mDflg&amp;u1=gfw_skyburger&amp;offerid=146261&amp;type=3&amp;subid=0&amp;tmpid=1826&amp;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252FWebObjects%252FMZStore.woa%252Fwa%252FviewSoftware%253Fid%253D311972587%2526mt%253D8%2526uo%253D6%2526partnerId%253D30">Sky Burger</a>. Finally, it also claims to give you location information, but I didn&#8217;t have an app I could easily test it with.</p>
<div id="attachment_636" class="wp-caption alignright" style="width: 210px"><a href="http://gamesfromwithin.com/wp-content/uploads/2009/08/fg_accelerometer.jpg"><img class="size-full wp-image-636" title="fg_accelerometer" src="http://gamesfromwithin.com/wp-content/uploads/2009/08/fg_accelerometer.jpg" alt="Flowers affected by gravity on the simulator" width="200" height="300" /></a><p class="wp-caption-text">Flowers affected by gravity on the simulator</p></div>
<p>Another situation where iSimulate is a life savior is when trying to capture a video of your game. If you rely on multi touch or accelerometer features, then your only options are to either hack in something yourself, or dig out a physical video camera and record it the old-fashioned way (which is surprisingly time consuming and creates less-than-ideal results). With iSimulate you can still use a <a href="http://store.shinywhitebox.com/home/home.html">desktop video capture software</a> on the simulator and create a top-quality in a fraction of the time.</p>
<p>Not everything is perfect though. I thought the forwarding of touch events would be incredibly useful, until I realize I have no idea what I&#8217;m about to tap because the program is running on the simulator, not on the device. So I&#8217;m just making a guess about where my finger is going to land. It&#8217;s not even like a mouse cursor that you see where it&#8217;s going and then you click. You&#8217;re literally tapping blind hoping you touch what you wanted. That works with a static UI, but if you have moving elements you need to touch, you&#8217;re totally out of luck. I wonder if they could extend iSimulate to capture the image from the simulator and forward it to the iPhone. Even if they only refreshed the image a few times per second, that would be enough to make touch input a lot more friendly.</p>
<p>There&#8217;s another big problem with touch input though. From their docs page, iSimulate works great with OpenGL apps, but doesn&#8217;t work with the following UIKit controls: Keyboard, UIScrollView (including MKMapView), UIPickerView and UITableView. Wow! Apart from the keyboard one (no big deal, we have a real keyboard attached) the other ones are pretty major. I&#8217;m sure they have a good reason why, but I can&#8217;t imagine what that might be from my knowledge of how the touch even system works (anybody from Vimov care to comment on that?). Heck, I&#8217;d even be willing to add some extra code to my app to hook directly into iSimulate input events if it means it would work with those classes. Apart from that, I found one case in Flower Garden where iSimulate failed: Touching the bouquet tag to bring up the editing mode. It&#8217;s weird, it would let me touch-drag it to move it, but it wouldn&#8217;t go into editing mode.</p>
<p>The accelerometer input worked flawlessly, but here iSimulate has some competition from <a href="http://code.google.com/p/accelerometer-simulator/wiki/Home">Accelerometer Simulator</a>, an open-source app plus library to forward accelerometer data from the device to the app. It&#8217;s not nearly as slick as iSimulate, but it&#8217;s free, so that migth be a more attractive solution for some people.</p>
<p>Overall, is iSimulate worth the $32 price tag (it&#8217;s $15.99 at the moment)? I would say yes if you&#8217;re developing OpenGL iPhone games with heavy use of multi touch and accelerometer input and you&#8217;re planning on making money from them. In that case, you&#8217;re better off spending an hour of your time polishing the game (or taking a break from programming) and buying iSimulate. However, if you&#8217;re using UIKit objects or you just need accelerometer input, then you might be better off just using Accelerometer Simulator. If Vimov can fix the UIKit input and display the output of the simulator on the device, iSimulate would become an indispensable tool in every programmer&#8217;s toolbox.</p>




	<a rel="nofollow" id="digg" href="javascript:window.location='http%3A%2F%2Fdigg.com%2Fsubmit%3Fphase%3D2%26amp%3Burl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fisimulate-a-great-add-on-for-the-iphone-simulator%26amp%3Btitle%3DiSimulate%253A%2520A%2520Great%2520Add-On%2520For%2520The%2520iPhone%2520Simulator%26amp%3Bbodytext%3DI%2520just%2520had%2520a%2520chance%2520to%2520check%2520out%2520iSimulate%252C%2520a%2520tool%2520for%2520iPhone%2520developers%2520created%2520by%2520Vimov.%2520iSimulate%2520is%2520intended%2520to%2520complement%2520the%2520current%2520iPhone%2520simulator%2520by%2520adding%2520most%2520of%2520the%2520features%2520a%2520real%2520iPhone%2520has.%2520In%2520the%2520spirit%2520of%2520full%2520disclosure%252C%2520Vimov%2520sent';" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" id="del.icio.us" href="javascript:window.location='http%3A%2F%2Fdelicious.com%2Fpost%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fisimulate-a-great-add-on-for-the-iphone-simulator%26amp%3Btitle%3DiSimulate%253A%2520A%2520Great%2520Add-On%2520For%2520The%2520iPhone%2520Simulator%26amp%3Bnotes%3DI%2520just%2520had%2520a%2520chance%2520to%2520check%2520out%2520iSimulate%252C%2520a%2520tool%2520for%2520iPhone%2520developers%2520created%2520by%2520Vimov.%2520iSimulate%2520is%2520intended%2520to%2520complement%2520the%2520current%2520iPhone%2520simulator%2520by%2520adding%2520most%2520of%2520the%2520features%2520a%2520real%2520iPhone%2520has.%2520In%2520the%2520spirit%2520of%2520full%2520disclosure%252C%2520Vimov%2520sent';" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" id="facebook" href="javascript:window.location='http%3A%2F%2Fwww.facebook.com%2Fshare.php%3Fu%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fisimulate-a-great-add-on-for-the-iphone-simulator%26amp%3Bt%3DiSimulate%253A%2520A%2520Great%2520Add-On%2520For%2520The%2520iPhone%2520Simulator';" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" id="reddit" href="javascript:window.location='http%3A%2F%2Freddit.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fisimulate-a-great-add-on-for-the-iphone-simulator%26amp%3Btitle%3DiSimulate%253A%2520A%2520Great%2520Add-On%2520For%2520The%2520iPhone%2520Simulator';" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" id="stumbleupon" href="javascript:window.location='http%3A%2F%2Fwww.stumbleupon.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fisimulate-a-great-add-on-for-the-iphone-simulator%26amp%3Btitle%3DiSimulate%253A%2520A%2520Great%2520Add-On%2520For%2520The%2520iPhone%2520Simulator';" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" id="twitthis" href="javascript:window.location='';" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/isimulate-a-great-add-on-for-the-iphone-simulator/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Early Bird Registration Ending For Denver OpenGL Class And 360iDev</title>
		<link>http://gamesfromwithin.com/early-bird-registration-ending-for-denver-opengl-class-and-360idev</link>
		<comments>http://gamesfromwithin.com/early-bird-registration-ending-for-denver-opengl-class-and-360idev#comments</comments>
		<pubDate>Thu, 27 Aug 2009 16:48:07 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Conferences and events]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=619</guid>
		<description><![CDATA[For those of you still on the fence about attending my iPhone OpenGL class in Denver, you should sign up before this Sunday if you want to get the super-combo deal. Right now you get a total combined discount of over $300 if you sign up both for the OpenGL class and the 360iDev conference. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://gamesfromwithin.com/wp-content/uploads/2009/08/OpenGL_iPhone.png"><img class="alignright size-full wp-image-620" title="OpenGL_iPhone" src="http://gamesfromwithin.com/wp-content/uploads/2009/08/OpenGL_iPhone.png" alt="OpenGL_iPhone" width="110" height="200" /></a>For those of you still on the fence about attending my <a href="http://www.mobileorchard.com/opengl">iPhone OpenGL class</a> in Denver, you should sign up before this Sunday if you want to get the super-combo deal. Right now you get a total combined discount of over $300 if you sign up both for the OpenGL class and the<a href="http://www.360idev.com/"> 360iDev conference</a>. If you&#8217;re only interested in the OpenGL class, the early-bird registration ends next Friday, September 4th.</p>
<p>Obviously I&#8217;m biased when I say the class is going to be awesome (which it is), but I can also say with total honesty that 360iDev is an incredible conference. It&#8217;s very different from <a href="http://developer.apple.com/WWDC/">WWDC</a>, but that&#8217;s what makes it so great: It has top-quality <a href="http://www.360idev.com/sessionsschedules">content</a> and <a href="http://www.360idev.com/denver-2009-speakers">speakers</a>, but it&#8217;s small and intimate, so you get to meet and hang out with all the other speakers and participants. It was at the first 360iDev conference back in March that I met <a href="http://twitter.com/kshepherd">Keith</a> and <a href="http://twitter.com/owengoss">Owen</a> (among <a href="http://twitter.com/serban">many</a> <a href="http://twitter.com/byteclub">other</a> <a href="http://twitter.com/jasoncitron">cool</a> <a href="http://twitter.com/chews">developers</a>) in person for the first time and that&#8217;s how <a href="http://apptreasures.com">App Treasures</a> was born.</p>
<p>So if you&#8217;re on the fence, I hope you give it a try. See you in Denver!</p>




	<a rel="nofollow" id="digg" href="javascript:window.location='http%3A%2F%2Fdigg.com%2Fsubmit%3Fphase%3D2%26amp%3Burl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fearly-bird-registration-ending-for-denver-opengl-class-and-360idev%26amp%3Btitle%3DEarly%2520Bird%2520Registration%2520Ending%2520For%2520Denver%2520OpenGL%2520Class%2520And%2520360iDev%26amp%3Bbodytext%3DFor%2520those%2520of%2520you%2520still%2520on%2520the%2520fence%2520about%2520attending%2520my%2520iPhone%2520OpenGL%2520class%2520in%2520Denver%252C%2520you%2520should%2520sign%2520up%2520before%2520this%2520Sunday%2520if%2520you%2520want%2520to%2520get%2520the%2520super-combo%2520deal.%2520Right%2520now%2520you%2520get%2520a%2520total%2520combined%2520discount%2520of%2520over%2520%2524300%2520if%2520you%2520sign%2520up%2520both%2520for%2520the%2520';" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" id="del.icio.us" href="javascript:window.location='http%3A%2F%2Fdelicious.com%2Fpost%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fearly-bird-registration-ending-for-denver-opengl-class-and-360idev%26amp%3Btitle%3DEarly%2520Bird%2520Registration%2520Ending%2520For%2520Denver%2520OpenGL%2520Class%2520And%2520360iDev%26amp%3Bnotes%3DFor%2520those%2520of%2520you%2520still%2520on%2520the%2520fence%2520about%2520attending%2520my%2520iPhone%2520OpenGL%2520class%2520in%2520Denver%252C%2520you%2520should%2520sign%2520up%2520before%2520this%2520Sunday%2520if%2520you%2520want%2520to%2520get%2520the%2520super-combo%2520deal.%2520Right%2520now%2520you%2520get%2520a%2520total%2520combined%2520discount%2520of%2520over%2520%2524300%2520if%2520you%2520sign%2520up%2520both%2520for%2520the%2520';" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" id="facebook" href="javascript:window.location='http%3A%2F%2Fwww.facebook.com%2Fshare.php%3Fu%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fearly-bird-registration-ending-for-denver-opengl-class-and-360idev%26amp%3Bt%3DEarly%2520Bird%2520Registration%2520Ending%2520For%2520Denver%2520OpenGL%2520Class%2520And%2520360iDev';" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" id="reddit" href="javascript:window.location='http%3A%2F%2Freddit.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fearly-bird-registration-ending-for-denver-opengl-class-and-360idev%26amp%3Btitle%3DEarly%2520Bird%2520Registration%2520Ending%2520For%2520Denver%2520OpenGL%2520Class%2520And%2520360iDev';" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" id="stumbleupon" href="javascript:window.location='http%3A%2F%2Fwww.stumbleupon.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fearly-bird-registration-ending-for-denver-opengl-class-and-360idev%26amp%3Btitle%3DEarly%2520Bird%2520Registration%2520Ending%2520For%2520Denver%2520OpenGL%2520Class%2520And%2520360iDev';" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" id="twitthis" href="javascript:window.location='';" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/early-bird-registration-ending-for-denver-opengl-class-and-360idev/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Getting Started With Shaders On The iPhone 3GS</title>
		<link>http://gamesfromwithin.com/getting-started-writing-shaders-on-the-iphone-3gs</link>
		<comments>http://gamesfromwithin.com/getting-started-writing-shaders-on-the-iphone-3gs#comments</comments>
		<pubDate>Mon, 24 Aug 2009 23:25:41 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=611</guid>
		<description><![CDATA[I just wrote an article for Mobile Orchard on how to get started with OpenGL ES 2.0 on the iPhone 3GS. It goes over all the steps necessary to set up a barebones project that renders a quad on screen using a vertex and a fragment shader. It&#8217;s not the most stunning thing ever visually, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://gamesfromwithin.com/wp-content/uploads/2009/08/shader.jpg"><img class="alignright size-full wp-image-616" title="shader" src="http://gamesfromwithin.com/wp-content/uploads/2009/08/shader.jpg" alt="shader" width="140" height="140" /></a>I just wrote <a href="http://www.mobileorchard.com/getting-started-with-opengl-es-20-on-the-iphone-3gs">an article for Mobile Orchard</a> on how to get started with OpenGL ES 2.0 on the iPhone 3GS. It goes over all the steps necessary to set up a barebones project that renders a quad on screen using a vertex and a fragment shader. It&#8217;s not the most stunning thing ever visually, but I think it makes for a good starting point for OpenGL ES 2.0 projects.</p>




	<a rel="nofollow" id="digg" href="javascript:window.location='http%3A%2F%2Fdigg.com%2Fsubmit%3Fphase%3D2%26amp%3Burl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fgetting-started-writing-shaders-on-the-iphone-3gs%26amp%3Btitle%3DGetting%2520Started%2520With%2520Shaders%2520On%2520The%2520iPhone%25203GS%26amp%3Bbodytext%3DI%2520just%2520wrote%2520an%2520article%2520for%2520Mobile%2520Orchard%2520on%2520how%2520to%2520get%2520started%2520with%2520OpenGL%2520ES%25202.0%2520on%2520the%2520iPhone%25203GS.%2520It%2520goes%2520over%2520all%2520the%2520steps%2520necessary%2520to%2520set%2520up%2520a%2520barebones%2520project%2520that%2520renders%2520a%2520quad%2520on%2520screen%2520using%2520a%2520vertex%2520and%2520a%2520fragment%2520shader.%2520It%2527s%2520not%2520the';" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" id="del.icio.us" href="javascript:window.location='http%3A%2F%2Fdelicious.com%2Fpost%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fgetting-started-writing-shaders-on-the-iphone-3gs%26amp%3Btitle%3DGetting%2520Started%2520With%2520Shaders%2520On%2520The%2520iPhone%25203GS%26amp%3Bnotes%3DI%2520just%2520wrote%2520an%2520article%2520for%2520Mobile%2520Orchard%2520on%2520how%2520to%2520get%2520started%2520with%2520OpenGL%2520ES%25202.0%2520on%2520the%2520iPhone%25203GS.%2520It%2520goes%2520over%2520all%2520the%2520steps%2520necessary%2520to%2520set%2520up%2520a%2520barebones%2520project%2520that%2520renders%2520a%2520quad%2520on%2520screen%2520using%2520a%2520vertex%2520and%2520a%2520fragment%2520shader.%2520It%2527s%2520not%2520the';" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" id="facebook" href="javascript:window.location='http%3A%2F%2Fwww.facebook.com%2Fshare.php%3Fu%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fgetting-started-writing-shaders-on-the-iphone-3gs%26amp%3Bt%3DGetting%2520Started%2520With%2520Shaders%2520On%2520The%2520iPhone%25203GS';" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" id="reddit" href="javascript:window.location='http%3A%2F%2Freddit.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fgetting-started-writing-shaders-on-the-iphone-3gs%26amp%3Btitle%3DGetting%2520Started%2520With%2520Shaders%2520On%2520The%2520iPhone%25203GS';" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" id="stumbleupon" href="javascript:window.location='http%3A%2F%2Fwww.stumbleupon.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fgetting-started-writing-shaders-on-the-iphone-3gs%26amp%3Btitle%3DGetting%2520Started%2520With%2520Shaders%2520On%2520The%2520iPhone%25203GS';" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" id="twitthis" href="javascript:window.location='';" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/getting-started-writing-shaders-on-the-iphone-3gs/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dirty Coding Tricks</title>
		<link>http://gamesfromwithin.com/dirty-coding-tricks</link>
		<comments>http://gamesfromwithin.com/dirty-coding-tricks#comments</comments>
		<pubDate>Fri, 21 Aug 2009 02:11:45 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Game tech]]></category>
		<category><![CDATA[game developer magazine]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=604</guid>
		<description><![CDATA[If you haven&#8217;t read it already on Game Developer Magazine, don&#8217;t miss the Dirty Coding Tricks feature article on Gamasutra. I contributed two &#8220;dirty tricks&#8221; used in some of my past projects.
Identity Crisis deals with the horrors of a CRC clash on a resource right before submitting the gold master. And The Programming Antihero shows [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://www.gamasutra.com/db_area/images/feature/4111/2.jpg" alt="" width="175" height="175" />If you haven&#8217;t read it already on Game Developer Magazine, don&#8217;t miss the <a href="http://www.gamasutra.com/view/feature/4111/dirty_coding_tricks.php">Dirty Coding Tricks feature article</a> on Gamasutra. I contributed two &#8220;dirty tricks&#8221; used in some of my past projects.</p>
<p><em>Identity Crisis </em>deals with the horrors of a CRC clash on a resource right before submitting the gold master. And <em>The Programming Antihero</em> shows a fairly common trick in the games industry to get that extra memory after the artists and designers swear up and down that they can&#8217;t cut any more content.</p>
<p>Nothing like a good dose of reality to make everybody feel better about their own code <img src='http://gamesfromwithin.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>




	<a rel="nofollow" id="digg" href="javascript:window.location='http%3A%2F%2Fdigg.com%2Fsubmit%3Fphase%3D2%26amp%3Burl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fdirty-coding-tricks%26amp%3Btitle%3DDirty%2520Coding%2520Tricks%26amp%3Bbodytext%3DIf%2520you%2520haven%2527t%2520read%2520it%2520already%2520on%2520Game%2520Developer%2520Magazine%252C%2520don%2527t%2520miss%2520the%2520Dirty%2520Coding%2520Tricks%2520feature%2520article%2520on%2520Gamasutra.%2520I%2520contributed%2520two%2520%2522dirty%2520tricks%2522%2520used%2520in%2520some%2520of%2520my%2520past%2520projects.%250D%250A%250D%250AIdentity%2520Crisis%2520deals%2520with%2520the%2520horrors%2520of%2520a%2520CRC%2520clash%2520on';" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" id="del.icio.us" href="javascript:window.location='http%3A%2F%2Fdelicious.com%2Fpost%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fdirty-coding-tricks%26amp%3Btitle%3DDirty%2520Coding%2520Tricks%26amp%3Bnotes%3DIf%2520you%2520haven%2527t%2520read%2520it%2520already%2520on%2520Game%2520Developer%2520Magazine%252C%2520don%2527t%2520miss%2520the%2520Dirty%2520Coding%2520Tricks%2520feature%2520article%2520on%2520Gamasutra.%2520I%2520contributed%2520two%2520%2522dirty%2520tricks%2522%2520used%2520in%2520some%2520of%2520my%2520past%2520projects.%250D%250A%250D%250AIdentity%2520Crisis%2520deals%2520with%2520the%2520horrors%2520of%2520a%2520CRC%2520clash%2520on';" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" id="facebook" href="javascript:window.location='http%3A%2F%2Fwww.facebook.com%2Fshare.php%3Fu%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fdirty-coding-tricks%26amp%3Bt%3DDirty%2520Coding%2520Tricks';" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" id="reddit" href="javascript:window.location='http%3A%2F%2Freddit.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fdirty-coding-tricks%26amp%3Btitle%3DDirty%2520Coding%2520Tricks';" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" id="stumbleupon" href="javascript:window.location='http%3A%2F%2Fwww.stumbleupon.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fgamesfromwithin.com%252Fdirty-coding-tricks%26amp%3Btitle%3DDirty%2520Coding%2520Tricks';" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" id="twitthis" href="javascript:window.location='';" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/dirty-coding-tricks/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss><!-- Dynamic page generated in 0.640 seconds. --><!-- Cached page generated by WP-Super-Cache on 2009-11-10 07:15:53 -->
