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

<channel>
	<title>Radamanthus Batnag &#187; Game Development</title>
	<atom:link href="http://rad.batnag.org/category/game-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://rad.batnag.org</link>
	<description>Random thoughts on web and indie game development.</description>
	<lastBuildDate>Sun, 31 Jul 2011 09:22:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Corona SDK</title>
		<link>http://rad.batnag.org/2010/06/corona-sdk/</link>
		<comments>http://rad.batnag.org/2010/06/corona-sdk/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 12:24:59 +0000</pubDate>
		<dc:creator>rad</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[corona]]></category>
		<category><![CDATA[lua]]></category>

		<guid isPermaLink="false">http://rad.batnag.org/?p=90</guid>
		<description><![CDATA[I think Corona is a great kit for writing games in general, especially arcade games and board games.]]></description>
			<content:encoded><![CDATA[<p>It seems I can develop some games much, much faster with the <a href="http://anscamobile.com/corona/" onclick="pageTracker._trackPageview('/outgoing/anscamobile.com/corona/?referer=');">Corona SDK</a>. It will cost me $99, and it&#8217;s not as macho as mastering Objective-C, but I think I&#8217;ll end up saving hundreds of hours with this kit.</p>
<p>I think Corona is a great kit for writing games in general, especially arcade games and board games. There&#8217;s no built-in support yet for tiled maps, and it looks like <a href="http://www.cocos2d-iphone.org/" onclick="pageTracker._trackPageview('/outgoing/www.cocos2d-iphone.org/?referer=');">Cocos2D</a> will have that built-in first. But even with that disadvantage, developing on Lua is so much more productive than developing on Objective-C that I&#8217;ll still come out ahead.</p>
<p>Some apps aren&#8217;t a good fit, though:</p>
<ul>
<li>those that extensively use the CocoaTouch UI controls. In Corona, you have to create your own buttons, text fields, etc. There&#8217;s the ui library, but it only covers a few controls.</li>
<li>those that access APIs that aren&#8217;t wrapped yet by Corona. For example, access to the address book seems to be missing.</li>
</ul>
<p>There&#8217;s the worry that Corona SDK will violate section <a href="http://rad.batnag.org/2010/05/iphone-sdk-tos-3-3-1-one-month-later/">3.3.1</a>. Folks from Corona gave some reassuring <a href="http://blog.anscamobile.com/2010/04/lua-the-lingua-franca-of-iphone-games/" onclick="pageTracker._trackPageview('/outgoing/blog.anscamobile.com/2010/04/lua-the-lingua-franca-of-iphone-games/?referer=');">messages</a>, but of course, with Apple, you can&#8217;t have absolute uncertainty. My take is that even if Apple gives Corona the boot, Corona will become Android-only, and Corona SDK is worth $99 even as an Android</p>
<p>I&#8217;m taking the $99 plunge. If nothing else, I think Lua will give me a refreshing break from my day-to-day Ruby and Javascript coding.</p>
]]></content:encoded>
			<wfw:commentRss>http://rad.batnag.org/2010/06/corona-sdk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone SDK TOS 3.3.1: One Month later</title>
		<link>http://rad.batnag.org/2010/05/iphone-sdk-tos-3-3-1-one-month-later/</link>
		<comments>http://rad.batnag.org/2010/05/iphone-sdk-tos-3-3-1-one-month-later/#comments</comments>
		<pubDate>Fri, 07 May 2010 19:22:01 +0000</pubDate>
		<dc:creator>rad</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://rad.batnag.org/?p=73</guid>
		<description><![CDATA[It's been about a month since 3.3.1 came out. Here's a roundup of how the iPhone development tool providers have reacted to 3.3.1.]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve been living in a cave, &#8220;3.3.1&#8243; refers to section 3.3.1 of the iPhone Developer Program License Agreement. Section 3.3.1 for the iPhone 4.0SDK beta reads:</p>
<blockquote><p>3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).</p></blockquote>
<p>It&#8217;s been about a month since 3.3.1 came out. The most obvious impact of this is on Adobe Flash CS5. Prior to 3.3.1, Adobe has announced that Flash CS5 will include a Flash-to-iPhone compiler. Now, Adobe has cancelled that feature.</p>
<p>Here&#8217;s a roundup of how the other iPhone development tool providers have reacted to 3.3.1. Except for funkaster, writer of shinycocos, most of them seem to be optimistic that they&#8217;re in the clear.</p>
<p>AnscaMobile (Corona SDK):<br />
<a href="http://blog.anscamobile.com/2010/04/corona-and-iphone-os-4-0/ " onclick="pageTracker._trackPageview('/outgoing/blog.anscamobile.com/2010/04/corona-and-iphone-os-4-0/?referer=');">http://blog.anscamobile.com/2010/04/corona-and-iphone-os-4-0/ </a></p>
<p>Torque (iTorque):<br />
<a href="http://www.torquepowered.com/community/blogs/view/19715" onclick="pageTracker._trackPageview('/outgoing/www.torquepowered.com/community/blogs/view/19715?referer=');">http://www.torquepowered.com/community/blogs/view/19715</a></p>
<p>Unity:<br />
<a href="http://blogs.unity3d.com/2010/04/10/unity-and-the-iphone-os-4-0/" onclick="pageTracker._trackPageview('/outgoing/blogs.unity3d.com/2010/04/10/unity-and-the-iphone-os-4-0/?referer=');">http://blogs.unity3d.com/2010/04/10/unity-and-the-iphone-os-4-0/</a></p>
<p>funkaster (shinycocos):<br />
<a href="http://github.com/funkaster/shinycocos/commit/9ebda7fcfc853db266b4b49c01bdbc5fa5a9be42#comments" onclick="pageTracker._trackPageview('/outgoing/github.com/funkaster/shinycocos/commit/9ebda7fcfc853db266b4b49c01bdbc5fa5a9be42_comments?referer=');">http://github.com/funkaster/shinycocos/commit/9ebda7fcfc853db266b4b49c01bdbc5fa5a9be42#comments</a><br />
(see the comments below the git commit)</p>
<p>Rhomobile:<br />
<a href="http://rhomobile.com/2010/04/09/iphone-4-0-sdk-rules/" onclick="pageTracker._trackPageview('/outgoing/rhomobile.com/2010/04/09/iphone-4-0-sdk-rules/?referer=');">http://rhomobile.com/2010/04/09/iphone-4-0-sdk-rules/</a></p>
<p>Me? I&#8217;ll stick to learning plain XCode, Objective-C, plus the <a href="http://www.cocos2d-iphone.org/" onclick="pageTracker._trackPageview('/outgoing/www.cocos2d-iphone.org/?referer=');">Cocos2d</a> Library.</p>
]]></content:encoded>
			<wfw:commentRss>http://rad.batnag.org/2010/05/iphone-sdk-tos-3-3-1-one-month-later/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Free Cocos2D course</title>
		<link>http://rad.batnag.org/2010/02/free-cocos2d-course/</link>
		<comments>http://rad.batnag.org/2010/02/free-cocos2d-course/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 16:26:50 +0000</pubDate>
		<dc:creator>rad</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[cocos2d]]></category>

		<guid isPermaLink="false">http://rad.batnag.org/?p=55</guid>
		<description><![CDATA[The folks at web-geeks.com have organized a free class for Cocos2d and iPhone SDK 3.1.2:
<a href="http://web-geeks.com/uncategorized/cocos2d-course/" onclick="pageTracker._trackPageview('/outgoing/web-geeks.com/uncategorized/cocos2d-course/?referer=');">http://web-geeks.com/uncategorized/cocos2d-course/</a>]]></description>
			<content:encoded><![CDATA[<p>The folks at web-geeks.com have organized a free class for Cocos2d and iPhone SDK 3.1.2:<br />
<a href="http://web-geeks.com/uncategorized/cocos2d-course/" onclick="pageTracker._trackPageview('/outgoing/web-geeks.com/uncategorized/cocos2d-course/?referer=');">http://web-geeks.com/uncategorized/cocos2d-course/</a></p>
<p>It starts on Feb.15. Even if you don&#8217;t know anything about Objective-C and Cocoa, you still have some time to cram. You can actually get by with what you&#8217;ll learn from the first three chapters of this book: <a href="http://apress.com/book/view/1430216263" onclick="pageTracker._trackPageview('/outgoing/apress.com/book/view/1430216263?referer=');">Beginning iPhone Development: Exploring the iPhone SDK</a>.</p>
<p>See you in the class! </p>
<p>Er, the class is virtual, so see you in the class forum instead.</p>
]]></content:encoded>
			<wfw:commentRss>http://rad.batnag.org/2010/02/free-cocos2d-course/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learning iPhone Game Programming</title>
		<link>http://rad.batnag.org/2009/12/learning-iphone-game-programming/</link>
		<comments>http://rad.batnag.org/2009/12/learning-iphone-game-programming/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 17:29:04 +0000</pubDate>
		<dc:creator>rad</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://rad.batnag.org/2009/12/learning-iphone-game-programming/</guid>
		<description><![CDATA[If you're planning to embark on a similar journey, here's some advice.]]></description>
			<content:encoded><![CDATA[<p><!– google_ad_section_start –></p>
<p>Recently I decided to join the <em>Get Rich By Selling an iPhone Game</em> bandwagon. I had several things going against me. First, I&#8217;m starting from scratch when it comes to Objective-C and Cocoa. Second, this is completely unrelated to my current work, so I will not be able to port any know-how I gain from work into this new endeavor. Lastly, I still have to maintain my full-time job, and my family obligations, so this will at best get 5-10 hours a week of attention.</p>
<p>After several months of pursuing this inconsistently, my efforts have paid off and I finally am at point where my confidence in building an iPhone game is at about the same level as my confidence in building a web site on Ruby on Rails (my full-time job). I haven&#8217;t released a game yet, but I think I&#8217;m finally over the steep part of the learning curve.</p>
<p>If you&#8217;re planning to embark on a similar journey, here&#8217;s some advice:</p>
<p><strong>1. Enroll on an iPhone programming course</strong></p>
<p>I didn&#8217;t, but if one was available locally when I was learning, I would have seriously considered it. What I discovered during my learning process was that spending just one to two hours per session (the most I can spare in a day, given my full-time job and family obligations) for learning a completely new language and framework was very unproductive. I got stuck on most of those sessions, then I spent a considerable portion of the next session retracing my steps and figuring out where I stopped during the previous session. I made the most progress when I took a leave for several days from the my full-time job to concentrate on my studies.</p>
<p>Here are the bootcamps I recommend:</p>
<ul>
<li><a title="Big Nerd Ranch" href="http://www.bignerdranch.com/schedule.shtml" onclick="pageTracker._trackPageview('/outgoing/www.bignerdranch.com/schedule.shtml?referer=');">Big Nerd Ranch</a></li>
<li><a title="Mobile Orchard" href="http://www.mobileorchard.com/mobile-orchard-workshops-iphone-programming-training-classes" onclick="pageTracker._trackPageview('/outgoing/www.mobileorchard.com/mobile-orchard-workshops-iphone-programming-training-classes?referer=');">Mobile Orchard</a></li>
</ul>
<p>Alternatively, you can follow the <a href="http://cs193p.stanford.edu/" onclick="pageTracker._trackPageview('/outgoing/cs193p.stanford.edu/?referer=');">Stanford CS193P iPhone Application Development</a> class. Video transcripts of the lectures are freely available in iTunesU. The assignments are great, IMHO even better than the iPhone books. I&#8217;ve been looking for the Objective-C equivalent of the <a href="http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628?referer=');">K&#038;R book</a>, and the lectures and the assignments come closest to it.</p>
<p><strong>2. Go through these books, in order</strong></p>
<ul>
<li><a title="Introduction to Cocoa Application Tutorial" href="http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjCTutorial/01Introduction/01Introduction.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjCTutorial/01Introduction/01Introduction.html?referer=');">Introduction to Cocoa Application Tutorial</a></li>
<li><a title="Cocoa Fundamentals Guide" href="http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CocoaFundamentals/Introduction/Introduction.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CocoaFundamentals/Introduction/Introduction.html?referer=');">Cocoa Fundamentals Guide</a></li>
<li><a title="Beginning iPhone 3 Development, 2nd Edition" href="http://www.amazon.com/Beginning-iPhone-Development-Exploring-SDK/dp/1430224592/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1262017026&amp;sr=1-1" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Beginning-iPhone-Development-Exploring-SDK/dp/1430224592/ref=sr_1_1?ie=UTF8_amp_s=books_amp_qid=1262017026_amp_sr=1-1&amp;referer=');">Beginning iPhone 3 Development, 2nd Edition</a></li>
<li><a title="The Objective-C Programming Language" href="http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html?referer=');">The Objective-C Programming Language</a></li>
<li><a title="Coding Guidelines for Cocoa" href="http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.html?referer=');">Coding Guidelines for Cocoa</a></li>
<li><a title="iPhone Human Interface Guidelines" href="http://developer.apple.com/iphone/library/documentation/UserExperience/Conceptual/MobileHIG/index.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/developer.apple.com/iphone/library/documentation/UserExperience/Conceptual/MobileHIG/index.html?referer=');">iPhone Human Interface Guidelines</a></li>
<li><a title="iPhone Developer's Cookbook, 2nd Edition" href="http://www.amazon.com/iPhone-Developers-Cookbook-Building-Applications/dp/0321659570/ref=sr_1_2?ie=UTF8&amp;s=books&amp;qid=1262017117&amp;sr=1-2" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/iPhone-Developers-Cookbook-Building-Applications/dp/0321659570/ref=sr_1_2?ie=UTF8_amp_s=books_amp_qid=1262017117_amp_sr=1-2&amp;referer=');">iPhone Developer&#8217;s CookBook: Building Applications with the iPhone 3.0 SDK 2nd Edition</a></li>
</ul>
<p>If you follow the Stanford CS193P class, you will find these books very useful. The Apple reference docs are your, well, references. The <i>Beginning iPhone</i> book and the <i>Developer&#8217;s Cookbook</i> will be helpful if you find some concepts aren&#8217;t adequately explained in the lectures or in the reference materials.</p>
<p><strong>3. Get an actual iPhone or at least an iPod Touch</strong></p>
<p>Theoretically it&#8217;s possible to build and release an app by just using the simulator, but it&#8217;s not recommended. Here&#8217;s why:</p>
<ul>
<li>You cannot test multi-touch and the accelerometer using the simulator</li>
<li>You need to be an actual iPhone OS user to be able to understand the UI expectations of your users. You need to actually use an iPhone or an iPod to be able to appreciate much of what&#8217;s written in iPhone Human Interface Guidelines</li>
<li>Apps, especially games, will be much slower on an actual device than on the simulator. You need to verify that your app won&#8217;t be sluggish on an actual device</li>
</ul>
<p><strong>4. Start with a framework</strong></p>
<p>I recommend the <a title="cocos2d-iphone" href="http://www.cocos2d-iphone.org/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.cocos2d-iphone.org/?referer=');">cocos2d-iphone</a> framework and the <a title="chipmunk Physics Engine" href="http://code.google.com/p/chipmunk-physics/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/code.google.com/p/chipmunk-physics/?referer=');">chipmunk physics engine</a>. Both are free and are supported by a healthy community. They may not be the best, but they&#8217;re accessible and are enough to get you started.</p>
<p><strong>5. Lastly, always remember to have fun!</strong></p>
<p>That&#8217;s what this is all about, right?</p>
<p><!– google_ad_section_end –></p>
]]></content:encoded>
			<wfw:commentRss>http://rad.batnag.org/2009/12/learning-iphone-game-programming/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

