<?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>RPM Collective &#187; Engineering</title>
	<atom:link href="http://rpmcollective.com/category/engineering/feed/" rel="self" type="application/rss+xml" />
	<link>http://rpmcollective.com</link>
	<description></description>
	<lastBuildDate>Sun, 04 Mar 2012 04:52:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Another Turn of the Crank</title>
		<link>http://rpmcollective.com/2009/11/22/another-turn-of-the-crank/</link>
		<comments>http://rpmcollective.com/2009/11/22/another-turn-of-the-crank/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 12:29:44 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Game Design]]></category>
		<category><![CDATA[bikes]]></category>
		<category><![CDATA[extended metaphors]]></category>

		<guid isPermaLink="false">http://rpmcollective.com/?p=112</guid>
		<description><![CDATA[ I spent part of this last weekend working on building a bike. If you weren&#8217;t aware, it&#8217;s an indie developer tradition to have your bike stolen, and mine was no exception.
I&#8217;ve never paid for a bike in my life—they have all been &#8220;gifts&#8221; (e.g. from a college roomate moving out and getting rid of [...]]]></description>
			<content:encoded><![CDATA[<p><img class="float-right" src="http://rpmcollective.com/wp-content/images/fbm_wurlitzer_sprocket_sq_sm.jpg" alt="" width="195" height="195" /> I spent part of this last weekend working on building a bike. If you weren&#8217;t aware, it&#8217;s an indie developer tradition <a href="http://2dboy.com/2007/07/24/innovation-in-transportation/">to have your bike stolen</a>, and mine was no exception.</p>
<p>I&#8217;ve never paid for a bike in my life—they have all been &#8220;gifts&#8221; (e.g. from a college roomate moving out and getting rid of the bike she paid $20 for) or from insurance claims as a result of getting hit by a car on said bike (RIP red, lady&#8217;s Univega)—and I&#8217;m not about to start now.</p>
<p>Not wanting to repeat the latter (I do not recommend it), and having run out of roomates with bikes, I decided to check out the San Francisco&#8217;s Bike Kitchen. <a href="http://www.bikekitchen.org/">The Bike Kitchen</a> is a bike workshop where, instead of working on your bike while scoffing at your taste and lack of knowlege, the mechanics teach you how to repair your own bike. They also have a program where, if you become a member, you can pick through their giant piles of spare parts and build a bike from scratch.</p>
<p>While I was fitting the front derailleur on for the third time, Rudy the mechanic offered me the following wisdom:</p>
<p><strong>&#8220;If you haven&#8217;t done something at least twice, you&#8217;re not going to get it right.&#8221;</strong></p>
<p>This applies as much to game design and programming as it does to bikes.  How many times has any programmer ever written more than 10 lines of code and had it work perfectly with no fixes needed? In my life, that&#8217;s happened to me fewer times than I&#8217;ve been hit by cars (which is to say, once or twice).</p>
<p>Obviously, this is a factor with experimental gameplay. Since it is new and unproven, the first time it <em>will</em> not be right.</p>
<p>It&#8217;s just as relevant for big-budget, &#8220;AAA&#8221; games. There will always be new things in these games, even if they&#8217;re just incremental. Unless the team is building an exact replica of a game they have already built together, they will need to do things more than once to get them right.</p>
<div class="wp-caption aligncenter" style="width: 510px"><a href="http://www.sheldonbrown.com/retroraleighs/catalogs/1977-drawings/pages/36-space-rider.html"><img title="[via sheldonbrown.com]" src="http://rpmcollective.com/wp-content/images/36-space-rider-500.jpg" alt="[ridiculously complex bike schematic]" width="500" height="372" /></a><p class="wp-caption-text">The inventory system&#39;s connected to the... combat system. <br />The combat system&#39;s connected to the... AI</p></div>
<p>A game design is a massively complex system just by itself, disregarding the technology and art needed to implement that design. Just like a bike, game designs are combinations of many unique, interacting sub-systems and parts. You cannot expect to build a game design from scrach (or even from a pile of existing spare-parts), and have it fit together and work well the first time around anymore than you could build a bike like that.</p>
<p>Parts of your design will fail at first. Sometimes you can get away with a few tweaks to fix them, but other times they will be completely incompatible with the rest of the game. In that case, you need to trash them completely and try something else. This can be painful, especially since it involves throwing out the code and art associated with the design. But it is a necessary loss if you want the final design to work, and it is all the more reason to <a href="http://www.codinghorror.com/blog/archives/000576.html">fail early and often</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://rpmcollective.com/2009/11/22/another-turn-of-the-crank/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

