<?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>GBGames - Thoughts on Indie Game Development &#187; Games</title>
	<atom:link href="http://gbgames.com/blog/category/games/feed/" rel="self" type="application/rss+xml" />
	<link>http://gbgames.com/blog</link>
	<description>An Indie Game Developer's somewhat interesting thoughts</description>
	<lastBuildDate>Wed, 08 Feb 2012 10:30:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Do You Have $9 to Kickstart Bhaloidam?</title>
		<link>http://gbgames.com/blog/2011/10/do-you-have-9-to-kickstart-bhaloidam/</link>
		<comments>http://gbgames.com/blog/2011/10/do-you-have-9-to-kickstart-bhaloidam/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 10:30:49 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Geek / Technical]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=1750</guid>
		<description><![CDATA[<p>Corvus Elrod of Semionaut&#8217;s Notebook fame is doing something big: he&#8217;s pursuing his dream. </p> <p>Corvus has done more involving story and play than anyone else I know. He has a wealth of knowledge about games, story, play, and community. He&#8217;s worked for decades exploring various aspects of &#8220;participatory storytelling,&#8221; and he talks about the <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2011/10/do-you-have-9-to-kickstart-bhaloidam/">Do You Have $9 to Kickstart Bhaloidam?</a></span><p><a href="http://gbgames.com/blog/2011/10/do-you-have-9-to-kickstart-bhaloidam/">Do You Have $9 to Kickstart Bhaloidam?</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Corvus Elrod of <a href="http://corvus.zakelro.com/">Semionaut&#8217;s Notebook</a> fame is doing something big: he&#8217;s pursuing his dream. </p>
<p>Corvus has done more involving story and play than anyone else I know. He has a wealth of knowledge about games, story, play, and community. He&#8217;s worked for decades exploring various aspects of &#8220;participatory storytelling,&#8221; and he talks about the meaning of game mechanics in his Notebook, among other topics. On his old blog, he hosted the Bloggers of the Round Table, which always had fascinating, thoughtful posts on all sorts of topics related to games. Every time I interact with him, I feel privileged because I always come away with a new idea or thought. </p>
<p>So it is with pleasure that I ask you to <a href="http://www.kickstarter.com/projects/corvuse/bhaloidam-an-indie-tabletop-storytelling-game">pledge to fund his current project, Bhaloidam</a>. </p>
<p>What is Bhaloidam? It&#8217;s an open and accessible storytelling platform, but Corvus can explain it better than I can in this short video:</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/tNQ_fdQakEo" frameborder="0" allowfullscreen></iframe></p>
<p>I could say it is like a powerful yet intuitive Dungeons and Dragons, but it is much more than a role-playing game system, and I would be doing Corvus a disservice. </p>
<blockquote><p>Bhaloidam is the expression of my belief in the power of story and play and my belief in the importance of our communities.</p></blockquote>
<p>If you want to see Bhaloidam in action and get a feel for it yourself, you can <a href="http://bhaloidam.com/2011/10/17/online-gameplay-demos/">schedule an online game play demo</a>. </p>
<p>The <a href="http://www.kickstarter.com/projects/corvuse/bhaloidam-an-indie-tabletop-storytelling-game">Kickstarter project</a> is, at the time of this writing, 60% funded, but there&#8217;s only a week left to get the remaining 40%. Do you have $9 to pledge? </p>
<blockquote><p>
Bhaloidam is the culmination of all my creative, philosophical, spiritual, and intellectual, personal, and professional pursuits. It allows me to be an actor, a cartoonist, a computer animator, a writer, a director, a web designer, a storyteller, and while it doesn’t allow me to be an architect, the application of mathematics to creative expression scratches what I imagine is much the same itch.</p>
<p>&#8230;</p>
<p>So, Bhaloidam (both as a storytelling platform and a philosophy) is it for me. I am Bhaloidam. Along the way I’m sure to design more games (In fact, I’ve three in the works), but it’s Bhaloidam that lies at the heart of my career. It’s Bhaloidam that reflects not only who I am, but who I have been and who I want to be.</p></blockquote>
<p>You can read more at the <a href="http://bhaloidam.com/news/">official Bhaloidam site</a>. With a <a href="http://www.kickstarter.com/projects/corvuse/bhaloidam-an-indie-tabletop-storytelling-game">$9 pledge</a>, you can help make Bhaloidam happen, and you&#8217;ll get an electronic copy of the 72-page, full-color, comic-format Bhaloidam handbook. For $9 more, you&#8217;ll get a printed copy.</p>
<p>There are also many other options available at different perk levels. For $45, for example, you&#8217;ll get the &#8220;skein pack&#8221;, which includes 1 printed copy of the Bhaloidam handbook, 4 Lifewheels, set of 360 tokens, 4 timing track pawns, and a set of 3 custom dice. You can also choose to give it to a friend as a gift.</p>
<p>So I&#8217;d like to ask you to do two things:</p>
<ol>
<li> <a href="http://www.kickstarter.com/projects/corvuse/bhaloidam-an-indie-tabletop-storytelling-game">Pledge at least $9 to fund Bhaloidam</a>. There are 12 different perk levels, from the basic ebook to the $900 &#8220;Storyteller Special.&#8221; </li>
<li> Tell at least one other person about Bhaloidam. Send them to the <a href="http://bhaloidam.com/news/">Bhaloidam site</a>, tell them about the <a href="http://www.kickstarter.com/projects/corvuse/bhaloidam-an-indie-tabletop-storytelling-game">Bhaloidam Kickstarter project</a>, and invite them to the <a href="http://bhaloidam.com/2011/10/17/online-gameplay-demos/">online game play demos</a> Corvus is hosting. </li>
</ol>
<p>Let&#8217;s get Bhaloidam completely funded!</p>
<p><a href="http://gbgames.com/blog/2011/10/do-you-have-9-to-kickstart-bhaloidam/">Do You Have $9 to Kickstart Bhaloidam?</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gbgames.com/blog/2011/10/do-you-have-9-to-kickstart-bhaloidam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Used to Accepting Payments</title>
		<link>http://gbgames.com/blog/2011/09/getting-used-to-accepting-payments/</link>
		<comments>http://gbgames.com/blog/2011/09/getting-used-to-accepting-payments/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 13:30:27 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Marketing/Business]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=1745</guid>
		<description><![CDATA[<p>According to my git repository, yesterday was the one-year anniversary of the start of my first major commerical game project, Stop That Hero!. </p> <p>I&#8217;m not celebrating because it&#8217;s not a good milestone to hit. I didn&#8217;t know how long it would be to take the Ludum Dare #18 prototype and make it into a <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2011/09/getting-used-to-accepting-payments/">Getting Used to Accepting Payments</a></span><p><a href="http://gbgames.com/blog/2011/09/getting-used-to-accepting-payments/">Getting Used to Accepting Payments</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>According to my git repository, yesterday was the one-year anniversary of the start of my first major commerical game project, <a href="http://StopThatHero.com/">Stop That Hero!</a>. </p>
<p>I&#8217;m not celebrating because it&#8217;s not a good milestone to hit. I didn&#8217;t know how long it would be to take the Ludum Dare #18 prototype and make it into a full commercial-quality game, but I did not expect it to take a year. In fact, when the 2010 Ludum Dare October Challenge was announced, I thought a month sounded like a good time period. If it took three days to prototype the game, surely four weeks would be plenty of time to polish it up and release it.</p>
<p>Tomorrow is October 1st and the 2011 Ludum Dare October Challenge (even though an announcement went out saying that it started already), and I was hoping to have the game released before then.  In fact, I thought I would have something released by today, but there were some AI issues I tackled last week that I&#8217;m still working on. </p>
<p>But eventually I am going to release my game, and I realized that I have never accepted payments for a video game before. Until last month, I wasn&#8217;t even registered with a payment processor. </p>
<p>So last night, I posted a few pre-order forms on the <a href="http://StopThatHero.com/">Stop That Hero!</a> website. If you want to get the game when it is released for Windows, Linux, or Mac, you can reserve your copy of the game now.</p>
<p>In posting the pre-order, I realized I made a big step. I had some nervousness, partly because I&#8217;m selling a game that isn&#8217;t released yet, and partly because I&#8217;m asking for payment. I&#8217;ve never done it before.</p>
<p>It&#8217;s possible that no one will care, that no one will even click on the links to buy, but that&#8217;s not the point. The point was that I decided to ask people to do so in the first place.</p>
<p>You can&#8217;t make money without asking for it, and I decided that until the game is released, the worst-case is that no one bothers to pay me for it. But if I don&#8217;t ask for pre-orders, then there is a 100% chance that I won&#8217;t get paid anyway. </p>
<p>I&#8217;ve taken a step to change that certainty into a possibility, and it&#8217;s one of those moments that makes you feel good to run your own business. I don&#8217;t have to accept circumstances. I can take action to change them. </p>
<p>In this case, my game is taking longer than expected to make, and I could decide that it means delaying the possibility of sales until the game is released, but I could also try something to see how it goes. The worst case is that it has no effect, that no one will reserve their copy of the game, but there&#8217;s a potential now for a lot of upside. </p>
<p>And now I&#8217;ll get back to work. Eventually any pre-orders have to get fulfilled with a real game, and I&#8217;d like that to be before the end of another month. </p>
<p><a href="http://gbgames.com/blog/2011/09/getting-used-to-accepting-payments/">Getting Used to Accepting Payments</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gbgames.com/blog/2011/09/getting-used-to-accepting-payments/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>See Stop That Hero! in Chicago</title>
		<link>http://gbgames.com/blog/2011/08/see-stop-that-hero-in-chicago/</link>
		<comments>http://gbgames.com/blog/2011/08/see-stop-that-hero-in-chicago/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 18:00:20 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Geek / Technical]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=1726</guid>
		<description><![CDATA[<p>Indie City Games is hosting the Open House Indie Games Expo in Chicago this Saturday.</p> <p>Members of the general games-playing public are invited to show up, meet local indie developers, and play the games they’ve been hard at work creating. It’s fun, it’s free, and absolutely everyone is invited!</p> <p>I&#8217;ll be demoing Stop That Hero! <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2011/08/see-stop-that-hero-in-chicago/">See Stop That Hero! in Chicago</a></span><p><a href="http://gbgames.com/blog/2011/08/see-stop-that-hero-in-chicago/">See Stop That Hero! in Chicago</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Indie City Games is hosting the <a href="http://indiecitygames.com/2011/08/open-house-games-expo-august-20th/">Open House Indie Games Expo</a> in Chicago this Saturday.</p>
<blockquote><p>Members of the general games-playing public are invited to show up, meet local indie developers, and play the games they’ve been hard at work creating. It’s fun, it’s free, and absolutely everyone is invited!</p></blockquote>
<p>I&#8217;ll be demoing <a href="http://www.stopthathero.com/">Stop That Hero!</a> for the first time in public. </p>
<p><strong>When? </strong> 1PM – 4PM, Saturday August 20th, 2011<br />
<strong>Where?</strong> 243 S. Wabash Ave Room 924</p>
<p><iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=243+S.+Wabash+Ave+chicago+il&amp;aq=&amp;sll=37.0625,-95.677068&amp;sspn=59.769082,135.263672&amp;vpsrc=0&amp;ie=UTF8&amp;hq=&amp;hnear=243+S+Wabash+Ave,+Chicago,+Illinois+60604&amp;z=14&amp;ll=41.878349,-87.625644&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=243+S.+Wabash+Ave+chicago+il&amp;aq=&amp;sll=37.0625,-95.677068&amp;sspn=59.769082,135.263672&amp;vpsrc=0&amp;ie=UTF8&amp;hq=&amp;hnear=243+S+Wabash+Ave,+Chicago,+Illinois+60604&amp;z=14&amp;ll=41.878349,-87.625644" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<p>Do you plan on attending? </p>
<p><a href="http://gbgames.com/blog/2011/08/see-stop-that-hero-in-chicago/">See Stop That Hero! in Chicago</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gbgames.com/blog/2011/08/see-stop-that-hero-in-chicago/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Last Day to Vote!</title>
		<link>http://gbgames.com/blog/2011/03/last-day-to-vote/</link>
		<comments>http://gbgames.com/blog/2011/03/last-day-to-vote/#comments</comments>
		<pubDate>Fri, 18 Mar 2011 10:30:07 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Politics/Government]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=1593</guid>
		<description><![CDATA[<p>Today is the last day to vote for the 2011 IGDA board! Did you vote yet?</p> <p></p> <p>Check out the 2011 candidates to get your last minute votes in!</p> <p>This post was scheduled to be published at a time when I will not be able to access the computer. I&#8217;ll respond to comments when I <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2011/03/last-day-to-vote/">Last Day to Vote!</a></span><p><a href="http://gbgames.com/blog/2011/03/last-day-to-vote/">Last Day to Vote!</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Today is the last day to vote for the 2011 IGDA board! Did you vote yet?</p>
<p><a href="http://www.igda.org/elections/"><img alt="I voted" src="http://www.igda.org/newsletter/wp-content/uploads/2011/02/I-Voted-Final.jpg" title="I voted" class="alignnone" width="500" height="195" /></a></p>
<p>Check out the <a href="https://www.igda.org/elections/2011-candidates">2011 candidates</a> to get your last minute votes in!</p>
<p><i>This post was scheduled to be published at a time when I will not be able to access the computer. I&#8217;ll respond to comments when I return at the end of the month.</i></p>
<p><a href="http://gbgames.com/blog/2011/03/last-day-to-vote/">Last Day to Vote!</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gbgames.com/blog/2011/03/last-day-to-vote/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Is This Ninja Game?</title>
		<link>http://gbgames.com/blog/2011/03/what-is-this-ninja-game/</link>
		<comments>http://gbgames.com/blog/2011/03/what-is-this-ninja-game/#comments</comments>
		<pubDate>Fri, 11 Mar 2011 10:30:41 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Geek / Technical]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=1595</guid>
		<description><![CDATA[<p>And why does it look so fun? B-)</p> <p></p> <p>I saw some people playing this game earlier during GDC outside of the IGDA booth, and I wish I hadn&#8217;t pulled a back muscle recently so I could participate. </p> <p>I recorded this second session, which was much bigger. I had to stop recording since the <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2011/03/what-is-this-ninja-game/">What Is This Ninja Game?</a></span><p><a href="http://gbgames.com/blog/2011/03/what-is-this-ninja-game/">What Is This Ninja Game?</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>And why does it look so fun? B-)</p>
<p><iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/3rcgJ5Bj370" frameborder="0" allowfullscreen></iframe></p>
<p>I saw some people playing this game earlier during GDC outside of the IGDA booth, and I wish I hadn&#8217;t pulled a back muscle recently so I could participate.  </p>
<p>I recorded this second session, which was much bigger. I had to stop recording since the Moscone Center was closing for the day and I was not a volunteer, but I tried to capture the thrilling conclusion to this session:</p>
<p><iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/nKsG-gKV-h8" frameborder="0" allowfullscreen></iframe></p>
<p>I need to hang out with playful people more often! B-)</p>
<p>EDIT: Ah, it&#8217;s an Indiecade thing! <a href="http://www.indiecade.com/index.php/2010/free_ninja/">Free Ninja</a></p>
<p><i>This post was scheduled to be published at a time when I will not be able to access the computer. I&#8217;ll respond to comments when I return at the end of the month.</i></p>
<p><a href="http://gbgames.com/blog/2011/03/what-is-this-ninja-game/">What Is This Ninja Game?</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gbgames.com/blog/2011/03/what-is-this-ninja-game/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The After GDC Glow</title>
		<link>http://gbgames.com/blog/2011/03/the-after-gdc-glow/</link>
		<comments>http://gbgames.com/blog/2011/03/the-after-gdc-glow/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 10:30:49 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Geek / Technical]]></category>
		<category><![CDATA[Marketing/Business]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=1587</guid>
		<description><![CDATA[<p>Last week I attended my first Game Developers Conference, and I guess the best way to start the recap is to say that I had a blast!</p> <p>The Independent Games Summit was full of different groups of indies. Some knew each other from TIGSource. Others have been around forever. And since we&#8217;re all indies, we <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2011/03/the-after-gdc-glow/">The After GDC Glow</a></span><p><a href="http://gbgames.com/blog/2011/03/the-after-gdc-glow/">The After GDC Glow</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Last week I attended <a href="http://gbgames.com/blog/2011/02/off-to-my-first-gdc/">my first Game Developers Conference</a>, and I guess the best way to start the recap is to say that I had a blast!</p>
<p>The Independent Games Summit was full of different groups of indies. Some knew each other from TIGSource. Others have been around forever. And since we&#8217;re all indies, we each had our own unique story and reason for being there. Even so, it felt as if everyone knew each other and were fairly supportive. It was like a very odd yet loving family.</p>
<p>I only had a Summit &#038; Tutorials pass since it seemed to be in the sweet spot between the too-expensive All Access Pass and the &#8220;let&#8217;s hang out with people who want to find a job at the Career Pavilion&#8221; Expo pass. While I couldn&#8217;t attend a lot of the cool talks and panels in the later half of the week, I was still able to attend any of the summits. </p>
<p>At one point, I skipped out on the IGS summit for an AI summit talk on pathfinding. James Anhalt of Blizzard talked about the pathfinding problems of <i>StarCraft 2</i>, Alexander Kring of Nihilistic focused on <i>Heroes on the Move</i>, and Nathan Sturtevant from the University of Denver worked on <i>Dragon&#8217;s Age: Origins</i>. They each gave a glimpse into the tech behind the games, and the Q&#038;A session at the end made me laugh because it was almost all complaints about <i>StarCraft</i>. </p>
<p>If I would have attended the Google Android Day tutorials, I apparently could have received a free Google device. I didn&#8217;t, but I got to see the long line for the tutorials that morning. It&#8217;s kind of the same, right? </p>
<p>On the other hand, I did sign up for an Intel AppUp event with <a href="http://www.sykhronics.com/">Mike &#8220;PoV&#8221; Kasprzak</a> and <a href="http://www.philhassey.com/blog/">Phil &#8220;philhassey&#8221; Hassey</a> and received this baby:</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/5513056193/" title="My New Intel-provided, Meebo-based Tablet by gbgames, on Flickr"><img src="http://farm6.static.flickr.com/5095/5513056193_baab339971.jpg" width="499" height="500" alt="My New Intel-provided, Meebo-based Tablet" /></a></p>
<p>It&#8217;s a Meebo-based EXOPC Slate! I finally got a cool consumer electronics device!</p>
<p>The best part of GDC was meeting everyone I&#8217;ve only ever spoken to on IRC or on web forums. Whether I was having lunch, standing in line, or walking to a session, there was always someone&#8217;s name to call out to and say &#8220;Hey! I recognize you from your online avatar!&#8221; </p>
<p>I briefly met <a href="http://sexyvideogameland.blogspot.com/">Leigh Alexander</a>, <a href="http://www.blade-edge.com/index.php?page_id=2">Drew Sikora</a>, <a href="http://teachingdesign.blogspot.com/">Ian Schreiber</a>, <a href="http://www.theinspiracy.com/">Noah Falstein</a>, and <a href="http://makegames.tumblr.com/">Derek Yu</a>. I met game developers I&#8217;ve talked to on the <a href=http://indiegamer.com/">Indie Gamer forums</a> and in the #ludumdare IRC channel. I met game developers I&#8217;ve only heard about in passing. </p>
<p><a href="http://www.flickr.com/photos/29086141@N03/5513929316/" title="The IGDA booth with Corvus Elrod and company! by gbgames, on Flickr"><img src="http://farm6.static.flickr.com/5054/5513929316_bd625c2cc8_m.jpg" width="240" height="180" alt="The IGDA booth with Corvus Elrod and company!" /></a></p>
<p>And I got to hug Corvus Elrod of <a href="http://corvus.zakelro.com/">Zakelro</a>! Don&#8217;t forget to vote for the <a href="https://www.igda.org/elections/2011-candidates">2011 IGDA board</a>!</p>
<p>The Ludum Dare meetup was fun and had a good turnout:</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/5513656856/" title="Ludum Dare meetup by gbgames, on Flickr"><img src="http://farm6.static.flickr.com/5216/5513656856_68cd8cb821.jpg" width="500" height="375" alt="Ludum Dare meetup" /></a></p>
<p><a href="http://www.flickr.com/photos/29086141@N03/5513070509/" title="Ludum Dare meetup by gbgames, on Flickr"><img src="http://farm6.static.flickr.com/5138/5513070509_2d2bf29487_m.jpg" width="240" height="180" alt="Ludum Dare meetup" /></a><a href="http://www.flickr.com/photos/29086141@N03/5513069619/" title="Ludum Dare meetup by gbgames, on Flickr"><img src="http://farm6.static.flickr.com/5014/5513069619_e2c18577dd_m.jpg" width="240" height="180" alt="Ludum Dare meetup" /></a><a href="http://www.flickr.com/photos/29086141@N03/5513660128/" title="Ludum Dare meetup by gbgames, on Flickr"><img src="http://farm6.static.flickr.com/5095/5513660128_0b40aa791c_m.jpg" width="240" height="180" alt="Ludum Dare meetup" /></a></p>
<p>There were so many of us, we needed multiple tables!</p>
<p>And here&#8217;s a link to a bunch of us <a href="http://imgur.com/2lnHF">wearing LD48 shirts</a>.</p>
<p>And one action shot of PoV eating:</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/5513073035/" title="PoV eats! by gbgames, on Flickr"><img src="http://farm6.static.flickr.com/5214/5513073035_d6308ab45a_m.jpg" width="240" height="180" alt="PoV eats!" /></a></p>
<p>I was finally able to attend the Independent Games Festival and the Game Developers Choice Awards.</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/5513346841/" title="The IGF/GDCA at GDC by gbgames, on Flickr"><img src="http://farm6.static.flickr.com/5132/5513346841_ec4026151b_m.jpg" width="240" height="180" alt="The IGF/GDCA at GDC" /></a></p>
<p>Congratulations to Mojang for winning five awards between the two events, including the Seamus McNally Grand Prize in the IGF! </p>
<p>At the end of the week, we had the Ludum Dare Jam at Noisebridge, a really cool hacker space. </p>
<p><a href="http://www.flickr.com/photos/29086141@N03/5513352279/" title="Ludum Dare Jam at Noisebridge by gbgames, on Flickr"><img src="http://farm6.static.flickr.com/5094/5513352279_f1855f4955_m.jpg" width="240" height="180" alt="Ludum Dare Jam at Noisebridge" /></a><a href="http://www.flickr.com/photos/29086141@N03/5513344223/" title="Ludum Dare Jam at Noisebridge by gbgames, on Flickr"><img src="http://farm6.static.flickr.com/5179/5513344223_61fb4eca07_m.jpg" width="240" height="180" alt="Ludum Dare Jam at Noisebridge" /></a></p>
<p>And an action video of Phil Hassey sleeping:</p>
<p><iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/LWlkJuPzU1k" frameborder="0" allowfullscreen></iframe></p>
<p>I had to leave the jam early and get on a plane the next morning, but I definitely want to do GDC next year! Heck, two days into it, I half wanted GDC to be over so I could get back home and make games sooner!</p>
<p>In the meantime, what was your favorite part of GDC? </p>
<p><i>This post was scheduled to be published at a time when I will not be able to access the computer. I&#8217;ll respond to comments when I return at the end of the month.</i></p>
<p><a href="http://gbgames.com/blog/2011/03/the-after-gdc-glow/">The After GDC Glow</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gbgames.com/blog/2011/03/the-after-gdc-glow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Off to My First GDC!</title>
		<link>http://gbgames.com/blog/2011/02/off-to-my-first-gdc/</link>
		<comments>http://gbgames.com/blog/2011/02/off-to-my-first-gdc/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 14:30:33 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Geek / Technical]]></category>
		<category><![CDATA[Marketing/Business]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=1584</guid>
		<description><![CDATA[<p>Wooooooooooooooooo!</p> <p>WOOOOOOOOOOOOOOOOO!</p> <p>After years of being one of those people who was a bit jealous of everyone who was going to the Game Developers Conference, I realized that I&#8217;m now one of those people to be jealous of. Today I will be setting foot in San Francisco, and tomorrow I will pick up my badge <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2011/02/off-to-my-first-gdc/">Off to My First GDC!</a></span><p><a href="http://gbgames.com/blog/2011/02/off-to-my-first-gdc/">Off to My First GDC!</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Wooooooooooooooooo!</p>
<p>WOOOOOOOOOOOOOOOOO!</p>
<p>After years of being one of those people who was a bit jealous of everyone who was going to the Game Developers Conference, I realized that I&#8217;m now one of those people to be jealous of. Today I will be setting foot in San Francisco, and tomorrow I will pick up my badge for the GDC!</p>
<p>And then I&#8217;ll be wide-eyed and star-struck and generally feel like the humble newbie I am. B-)</p>
<p>I&#8217;ll be attending the <a href="http://www.igf.com/">Indie Games Festival</a> for the first time, meeting Ludum Dare regulars at the <a href="http://www.ludumdare.com/compo/2011/02/17/ludum-dare-meetup-in-sf-on-march-1st/">Ludum Dare meetup</a> for the first time, and otherwise taking in the sights and sounds of GDC&#8230;for the first time!</p>
<p>I&#8217;ll be there through Saturday, so feel free to contact me through Twitter: <a href="http://www.twitter.com/GBGames">@GBGames</a></p>
<p>WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO! GDC!</p>
<p><a href="http://gbgames.com/blog/2011/02/off-to-my-first-gdc/">Off to My First GDC!</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gbgames.com/blog/2011/02/off-to-my-first-gdc/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Stop That Hero! Is Apparently an RTS</title>
		<link>http://gbgames.com/blog/2011/02/stop-that-hero-is-apparently-an-rts/</link>
		<comments>http://gbgames.com/blog/2011/02/stop-that-hero-is-apparently-an-rts/#comments</comments>
		<pubDate>Fri, 11 Feb 2011 10:30:05 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Geek / Technical]]></category>
		<category><![CDATA[Linux Game Development]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=1553</guid>
		<description><![CDATA[<p>At the end of the last progress update, I mentioned the realization that there could be a lot of code and logic in the player-facing parts of the game that aren&#8217;t part of the game. That is, when people talk about how complex the interface can be, they aren&#8217;t talking about particle physics, 3D culling, <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2011/02/stop-that-hero-is-apparently-an-rts/">Stop That Hero! Is Apparently an RTS</a></span><p><a href="http://gbgames.com/blog/2011/02/stop-that-hero-is-apparently-an-rts/">Stop That Hero! Is Apparently an RTS</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>At the end of the <a href="http://gbgames.com/blog/2011/02/stop-that-heros-end-of-january-progress-update/">last progress update</a>, I mentioned the realization that there could be a lot of code and logic in the player-facing parts of the game that aren&#8217;t part of the game. That is, when people talk about how complex the interface can be, they aren&#8217;t talking about particle physics, 3D culling, or fancy special effects. They&#8217;re talking about how the front end&#8217;s complexity can rival the back end&#8217;s. </p>
<p>And somehow I hadn&#8217;t realized it before. I knew that the interface should be separate from the game, but I didn&#8217;t know that the interface was responsible for more than merely displaying the game world and its objects. It&#8217;s a heavy-weight in its own right, handling menus, HUDs, and inputs that the simulation ultimately doesn&#8217;t even know is happening. </p>
<p>I used <i>StarCraft</i>&#8216;s interface to illustrate the idea that the player interface is more than a mere window into the simulation. It can have complex logic that the game simulation doesn&#8217;t actually care about. As far as the simulation is concerned, it receives commands. Most of the actions you take in <i>StarCraft</i> do not result in commands to the simulation. </p>
<p>If you click on an SCV, and then click the Repair button, and then click a burning Bunker, the interface is responsible for figuring out what you&#8217;re trying to do. It isn&#8217;t until you click on that Bunker that the simulation receives a command along the lines of &#8220;SCV 1 REPAIR BUNKER 5&#8243;. Up until then, only the interface has to know you&#8217;re working with a particular SCV, what commands are available to an SCV in general, what buttons to display in the SCV menu, which SCV menu you&#8217;re looking at, etc. </p>
<p><strong> Stop That Hero!&#8217;s interface </strong></p>
<p>Now that I know that I can expect the interface to my game to be incredibly complex as opposed to a dumb and simple view, it actually made it much easier to realize how to proceed with my project.  I don&#8217;t have to do everything within the simulation, and in fact, I can expect a huge part of the work to involve the player&#8217;s interface.</p>
<p><i>Stop That Hero!</i>&#8216;s interface isn&#8217;t like most games in that there is no avatar to control. You&#8217;re not directly moving an entity with the arrow keys or commanding it to jump with the spacebar. You simply create them at the appropriate towers in the world, and they&#8217;ll figure out where to go and what to do on their own. </p>
<p>But how do you create them at towers? The original prototype had a menu hardcoded at the top right of the screen. If you wanted to create a monster at a tower, you had to click the monster icon at the top right, then click on the tower. If you had enough resources, you summoned the monster you selected.</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/4922220400/" title="Stop That Hero! is finished by gbgames, on Flickr"><img src="http://farm5.static.flickr.com/4134/4922220400_79f832b332.jpg" width="500" height="375" alt="Stop That Hero! is finished" /></a></p>
<p>It was functional, but I didn&#8217;t like how it felt. Why is the selection of the monster to summon separate from the act of summoning? While it makes it easy to create a bunch of the same type of monster at once, it&#8217;s also easy to accidentally create a monster if you click on a tower without wanting to. </p>
<p>I wanted something more intuitive, and it turned out that pie menus are exactly what I want. </p>
<p>Except my GUI code is incredibly basic. I have menu screens and buttons, and everything assumes it is starting at the top left corner of the screen. In order to even simulate a pie menu, I needed a way to display menus at arbitrary locations, and it would help to be able to offset a menu from its center instead of the top left corner. </p>
<p>Which meant giving menus dimensions (how else can you know what the center is?) and having my IMGUI-ish system understand how to display and detect updates at arbitrary offsets. </p>
<p>In the end, after some research, questions, and determination, I do have this sequence working:</p>
<p>First, click on the tower you want to summon a monster at:<br />
<a href="http://www.flickr.com/photos/29086141@N03/5434915574/" title="Summon Monster Menu: Step 1 by gbgames, on Flickr"><img src="http://farm5.static.flickr.com/4118/5434915574_4a113effa8.jpg" width="307" height="311" alt="Summon Monster Menu: Step 1" /></a></p>
<p>The Monster Summoning Menu appears over that tower, which means it is right under your mouse cursor:<br />
<a href="http://www.flickr.com/photos/29086141@N03/5434915650/" title="Summon Monster Menu: Step 2 by gbgames, on Flickr"><img src="http://farm5.static.flickr.com/4122/5434915650_68c2932564.jpg" width="307" height="311" alt="Summon Monster Menu: Step 2" /></a></p>
<p>Select the monster you want to summon by moving your mouse cursor to the appropriate icon. Right now, I only have a Slime, but others will be added later:<br />
<a href="http://www.flickr.com/photos/29086141@N03/5434303957/" title="Summon Monster Menu: Step 3 by gbgames, on Flickr"><img src="http://farm6.static.flickr.com/5172/5434303957_71d6588dc6.jpg" width="307" height="311" alt="Summon Monster Menu: Step 3" /></a></p>
<p>Congratulations! You&#8217;ve summoned a Slime monster!<br />
<a href="http://www.flickr.com/photos/29086141@N03/5434303981/" title="Summon Monster Menu: Step 4 by gbgames, on Flickr"><img src="http://farm6.static.flickr.com/5094/5434303981_13b874f80c.jpg" width="307" height="311" alt="Summon Monster Menu: Step 4" /></a></p>
<p>Besides the infrastructure changes to support arbitrary menu placement, configuring the menu is easy, and each button fires off whatever event I want when it is clicked. </p>
<p><strong> Tricky Aspects </strong></p>
<p>One of the things I still need to figure out is what to do with a tower near the edges of the screen. Right now, the menu is always centered on a tower, which means clicking on a tower near the side of the map results in a menu with icons you can&#8217;t see. They&#8217;re being displayed off screen.</p>
<p>It&#8217;s not such a problem if I can display the menu outside of the screen the way a game like <i>SimCity/Micropolis</i> does, but since I&#8217;m not using Gtk to render the menus, they have to be rendered within the screen. I could add more screen real estate around the play area, but I&#8217;m trying to keep the game at a low resolution like 800&#215;600 to accommodate players with older computers and netbooks. I could make the play area scroll, so even if you were at a corner of the map, it would be displayed in the center of the screen, but I want the players to see everything at once. I could reduce the play area so that I have a border to work with, but I&#8217;m not sure I like losing so much level data just because of the UI.</p>
<p>My best option if I want to keep the pie menu is to detect if the menu is being displayed offscreen and have it adjust automatically, but I&#8217;m not sure if the menu appearing away from where you expected it becomes too unintuitive, defeating the purpose. Otherwise, I might have to get rid of the pie menu altogether. </p>
<p><strong> RTS development in a vacuum </strong></p>
<p>In any case, I now have a player interface that I can easily change, but one thing I didn&#8217;t anticipate was how similar it is to a real-time strategy game&#8217;s interface. I didn&#8217;t really think of <i>Stop That Hero!</i> as an RTS, and yet I suppose <i>Dungeon Keeper</i> and <i>Populous</i> had RTS-like interfaces, too. Or, rather, the interface is composed of icons that let you influence the world. </p>
<p>I discovered that while FPS or platformer development articles and tips are a dime a dozen, RTS development seems to be something that everyone must reinvent themselves since there is a lack of information out there. I know of a couple of strategy game programming books that focus on DirectX, and either people found them lacking, or they focused heavily on DirectX as opposed to the game. </p>
<p>Even if there was a basic breakdown of every aspect of an RTS project, leaving the research of each item as an exercise for the reader, I&#8217;d find it more helpful than figuring out what those aspects might be as I stumble across them myself. </p>
<p>While most games probably have a hard-coded GUI baked into a game, some games are more expandable upon release. I remembered that <i>Total Annihilation</i> allows player-created units, and I figured that there had to be a way to provide access to the GUI so that new units can be created by the player in game. I checked out the game&#8217;s modding tools and discovered how it handled its GUI elements. I spent an entire day perusing technical references and modding tutorials, peaking at the game&#8217;s default data files, and generally immersing myself in the internals of the game.  It is fascinating how GUI images are tied loosely with the name of the unit or command. </p>
<p><i>World of Warcraft</i> isn&#8217;t an RTS, but its GUI is supposed to be highly configurable by players, and there are interesting references explaining how the XML ties in with Lua commands and functions within the game.</p>
<p>Looking at how other games do it with the limited access they provide is like trying to study a map by staring at the back side.  It&#8217;s hard work, and I&#8217;m sometimes limited by the games I have access to for the most part, but it is sometimes the best guidance I can get when it comes to figuring out how to implement my own game.</p>
<p><a href="http://gbgames.com/blog/2011/02/stop-that-hero-is-apparently-an-rts/">Stop That Hero! Is Apparently an RTS</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gbgames.com/blog/2011/02/stop-that-hero-is-apparently-an-rts/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>I&#8217;m Going to the GDC (FINALLY)!</title>
		<link>http://gbgames.com/blog/2011/01/im-going-to-the-gdc-finally/</link>
		<comments>http://gbgames.com/blog/2011/01/im-going-to-the-gdc-finally/#comments</comments>
		<pubDate>Fri, 14 Jan 2011 10:30:24 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Geek / Technical]]></category>
		<category><![CDATA[Marketing/Business]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=1494</guid>
		<description><![CDATA[<p>I finally purchased a Game Developers Conference pass for the first time!</p> <p>After years of having to hear about the conference and the summits and the talks and the panels and the awards and the parties after the fact, I am actually going to be a participant! </p> <p>Now I&#8217;ll get to attend the Indie <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2011/01/im-going-to-the-gdc-finally/">I&#8217;m Going to the GDC (FINALLY)!</a></span><p><a href="http://gbgames.com/blog/2011/01/im-going-to-the-gdc-finally/">I&#8217;m Going to the GDC (FINALLY)!</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I finally purchased a Game Developers Conference pass for the first time!</p>
<p>After years of having to hear about the conference and the summits and the talks and the panels and the awards and the parties after the fact, I am actually going to be a participant! </p>
<p>Now I&#8217;ll get to attend the Indie Games Festival!<br />
Now I&#8217;ll be able to meet game developers and journalists in-person instead of merely through IRC, Twitter, or blogs!<br />
Now I get to be snubbed by major game developers when they hear I&#8217;m an independent game developer!</p>
<p>There were always excuses not to go in the past, such as not being able to request enough time off from a day job or not having the money. And the cost for registering for the pass, booking a plane, and staying at a hotel for a week was a big obstacle.</p>
<p>And cost was still a major stumbling block for me. Until I can make some income on a regular basis, I&#8217;m trying to be very careful with how I spend my money. </p>
<p>So how did I justify the massive expense this time? </p>
<p>For one thing, I have a friend currently residing in San Francisco who said I can crash at his place. No need for a hotel now! </p>
<p>Now, the GDC pass was tricky. I could have saved a lot of money by getting an Expo pass, but I wouldn&#8217;t be able to participate the entire week. Getting an All Access pass was prohibitively expensive. I opted for the Summits &#038; Tutorials Pass since it seemed to offer the right balance of access and cost. While I won&#8217;t be able to attend a number of events, I will be able to go to tutorials and the Independent Games Summit. </p>
<p>Still, it wasn&#8217;t chump change, and I still had to book a flight. </p>
<p>My decision to pay so much at this time was based on a few thoughts:</p>
<ul>
<li> I can technically afford to go, and I might be too poor to go next year if my income level doesn&#8217;t change from $0. </li>
<li> I can finally meet people who are involved in the industry, whether peers or mentors. My involvement has almost always been virtual. At least in Chicago there was the IGDA chapter, but the local game developers tended to be inactive, and they seem to drop like flies. </li>
<li> I hear it is an experience. </li>
</ul>
<p>So, bottom line, I&#8217;m going because it is a huge opportunity for me to be more involved in my industry and get to meet other participants. </p>
<p>I&#8217;m really excited. I&#8217;m actually going to be at GDC, and I&#8217;d love to meet you! </p>
<p>Who else is going to GDC?</p>
<p><a href="http://gbgames.com/blog/2011/01/im-going-to-the-gdc-finally/">I&#8217;m Going to the GDC (FINALLY)!</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gbgames.com/blog/2011/01/im-going-to-the-gdc-finally/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Stop That Hero! October Challenge Post-Mortem</title>
		<link>http://gbgames.com/blog/2010/11/stop-that-hero-october-challenge-post-mortem/</link>
		<comments>http://gbgames.com/blog/2010/11/stop-that-hero-october-challenge-post-mortem/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 10:30:44 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Marketing/Business]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=1389</guid>
		<description><![CDATA[<p>October 31st came and went, and Stop That Hero! was not in a position to be sold, even as a beta or alpha project. Partway through the month I realized that even if I was able to finish the project, the work of setting up the payment systems, customer support, and even the website was <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2010/11/stop-that-hero-october-challenge-post-mortem/">Stop That Hero! October Challenge Post-Mortem</a></span><p><a href="http://gbgames.com/blog/2010/11/stop-that-hero-october-challenge-post-mortem/">Stop That Hero! October Challenge Post-Mortem</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>October 31st came and went, and <i>Stop That Hero!</i> was not in a position to be sold, even as a beta or alpha project. Partway through the month I realized that even if I was able to finish the project, the work of setting up the payment systems, customer support, and even the website was going to take some time as well. According to my estimates, I&#8217;d finish the game sometime between the end of October and the beginning of December.  As disappointing as it would be not to finish in time for the October Challenge deadline, I also knew that it was a &#8220;fun&#8221; deadline as opposed to a hard &#8220;must-hit-this date&#8221; for my business. </p>
<p>I will continue to work on <i>Stop That Hero!</i> because I believe in the project, but I&#8217;d also like to get better at project management. Now that the deadline has passed, I can look back on the month and think critically about how I did. Even though there was no business-related urgency in getting the game finished for the Ludum Dare challenge, I still wanted to do so, and it was demoralizing to realize that the game wasn&#8217;t going to be finished in time. </p>
<p>For the unfamiliar reader, <i>Stop That Hero!</i> was originally created for the Ludum Dare 18 Jam. The player was an evil villain in charge of a castle and a number of towers, and a hero character was trying to conquer the castle, liberating towers and collecting treasure chests along the way. The player would create minions at any of the towers, and those minions would try to kill the hero. Kill the hero three times, and you win. Lose the castle, and you lose the game.</p>
<p>For this project, I wanted to make <i>Stop That Hero!</i> a commercial-quality game that required no proprietary dependencies and ran on at least GNU/Linux (my preferred platform) and Windows, with plans for a Mac OS X port and an eye toward mobile devices. I wanted the game to be data-driven instead of hard-coded. I wanted the game to have multiple game modes and levels, and I wanted me and the players to have the ability to create our own custom levels with custom rules. I realized that it was a lot to do for a first release, so my intention was to make the game hard-coded yet easy to change so that it was using external data and scripts. Future updates would involve replacing the hard-coded bits with loadable data.</p>
<p><strong>What Went Right</strong></p>
<p>While it might seem strange to think that anything went right for a project that wasn&#8217;t finished, I do believe there were some good things that positively impacted the project. </p>
<ol>
<li> <i> Planning and Preproduction Time. </i> Even before the October Challenge was announced, I knew I wanted to take <i>Stop That Hero!</i> and make a full game out of it. I spent a few weeks at the end of September looking at every aspect of the game, from <a href="http://gbgames.com/blog/2010/10/designing-resource-usage-in-stop-that-hero/">resource handling</a> to monster variety to game modes.
<p>While I think the original LD18 game&#8217;s mechanics were marred by a lack of game balance and probably could stand on their own, I wanted to investigate every possibility for making this game the best it could be. I identified major <a href="http://gbgames.com/blog/2010/10/stop-that-hero-development-challenges-and-concerns/">design challenges</a> that I wanted to focus on early on. I also speculated on how much of the game could be data-driven or scriptable. This early planning helped me visualize how I wanted the finished game to look and feel. </li>
<li> <i> A Regular Work Schedule. </i> As an indie game developer, I have no boss imposing a schedule on me. Keeping my job doesn&#8217;t require my presence during official office hours anymore. Since I determine my own schedule, I can do whatever I want, whenever I want. It&#8217;s not a license to slack off and take vacations every week, of course. My income depends on the output of my efforts.
<p>The thing is, my time usage wasn&#8217;t very productive or balanced, and it hasn&#8217;t been for months. If I spent time on game development, I&#8217;d find that my writing would slip. If I wrote, I&#8217;d find that magazines and books would pile up in my inbox. If I read, I&#8217;d realize that I almost missed paying an important bill. Coinciding with the time I started preproduction for this project, I realized that I needed to do something to change my situation. To make my productivity a bit more predictable, I created a regular set of hours for myself. Until I had a game to sell, I wasn&#8217;t going to make any money, so production took up the lion&#8217;s share of the time I spent in a day. To ensure that there was balance between game development and everything else I wanted to get done, I gave myself regular hours for writing, reading, and organization. I use Google Calendar to setup recurring events. You can see an example of my day below: </p>
<p><a href="http://www.flickr.com/photos/29086141@N03/5132279860/" title="Regular Hours by gbgames, on Flickr"><img src="http://farm2.static.flickr.com/1417/5132279860_eea71ac09d.jpg" width="180" height="500" alt="Regular Hours" /></a> I discovered I wasn&#8217;t very good about waking up early enough for the morning stretches part, which is something I want to work on next month, but I tried to stick to the schedule. If I missed stretches, I wasn&#8217;t making it up at the expense of being late for game development. If I was late for game development, I wasn&#8217;t going to encroach on writing time. If I did make such allowances, it would destroy the whole point. For the most part I stuck to the schedule, which meant I was doing about 4-5 hours of game development per day, an hour of writing per day, an hour of business or game development reading per day, and an hour of organization per day. While part of me wondered if I needed more time dedicated to game development, the balance allowed me the time I wanted to learn, share, and prevent things from slipping through the cracks. While I might tweak the hours going forward, I definitely prefer this self-imposed, organized, and regular schedule over letting each day&#8217;s activities be determined by whim. </li>
<li> <i>Agile Scheduling As Early Warning System. </i> Once again, I&#8217;m pleased with the knowledge I learned from using nothing more than a couple of cork boards, some index cards, and pins. Before the project started in earnest, I created an estimate of the work I needed to do as well as an estimate of how much I thought I could do per week. As the weeks passed, I realized how poorly I was doing in terms of keeping with the schedule.
<p>I wrote about it in <a href="http://gbgames.com/blog/2010/10/agile-alert-slow-project-progress/">Agile Alert: Slow Project Progress</a> as well as <a href="http://gbgames.com/blog/2010/10/balancing-current-and-future-needs/">Balancing Current and Future Needs</a>, but the point was that without using story cards and a burndown chart, I wouldn&#8217;t have any idea when this project would be finished or what I could do to improve my situation. It allowed me to make project decisions earlier rather than later as well as weighing the advantages and disadvantages of delivering the finished project later. </li>
</ol>
<p><strong>What Went Wrong</strong></p>
<ol>
<li> <i>Not Planning Time For Art and Sound Work.</i> The Jam version of the game features all art and sound created by me. I&#8217;m not that great of an artist, and I&#8217;m no sound designer. If this game is going to be polished, I was going to need to hire someone else to do the work. Of course, until I needed the higher quality assets, I could use my current art/sound assets as placeholders.
<p>The thing is, I never really had a plan for how I was going to go about finding contractors to provide the replacements. For a project that was originally expected to be sold by the end of the month, I should have had a plan in place for getting all of the final polish in. It would have been hard to ask for finished art when the game itself was nowhere near playable, so it isn&#8217;t a total negative, but I could have started a search for artists and composers. At the very least, I could have looked into pre-made art and sound packages. Otherwise, I would be spending a lot of time learning how to create half-way decent art and settling for lame sound effects and no music. </li>
<li> <i> Underestimating the Complexity of the Software Architecture </i> Hacking a game together in a weekend is relatively easy because the code is prototype-quality. It&#8217;s meant to be used for a few days, and you don&#8217;t need to worry about maintenance or future updates. The future is mere minutes later, and then it is over. For the October Challenge, I wasn&#8217;t interested in a single sale. I was interested in the health of my business. When there is one sale, I expect more to come later, and so I wanted to make high-quality software that is easy to provide support for.
<p>Unfortunately, I didn&#8217;t realize until late in the month how little experience I have with creating a full-fledged project from scratch. When all of the code is in a single, monolithic file with almost no external data driving it, it takes no work to determine what data structures should live where.  When you&#8217;re working on software with flexibility and maintenance in mind, it&#8217;s a completely different mindset. Since I didn&#8217;t have much in the way of reusable code that was of the quality I desired, I was spending a lot more time working on infrastructure and scaffolding than I expected. I could write an individual piece of code well enough, but I had very little experience with knowing what individual pieces of code I needed to write in the first place.  </p>
<p>Also, with unit testing, the code that &#8220;works&#8221; would only work in tests, whereas the actual game still needed a number of other parts of the project finished before I could see anything that looked like progress on the screen. It&#8217;s good to see the green bar as often as I do, but it&#8217;s frustrating that the actual game doesn&#8217;t do anything more than it did the week before. I now understand what the stakeholders felt like at my last day job whenever I would say &#8220;Yes, I&#8217;m making great progress. No, there&#8217;s nothing new for you to see yet.&#8221;  Sometimes you just need to throw something, anything, up on the screen every once in awhile. </li>
<li> <i> Not Being Decisive About What Game I Was Making.</i> Since I wanted the game to be data-driven and scriptable, I thought that the major design work would take place with malleable data rather than rigid code. I wanted multiple game modes, and I had an idea of what each one might include. I thought that there could be single level instances as well as campaigns of levels that tie together somehow. I wanted victory and defeat conditions to be scriptable, but I also wanted some core mechanics to be as well. For instance, while the basic game might provide all of the towers up front for the player with no way to retake a tower that the hero has liberated, a different level configuration could require the player to conquer independent towers first and provide the ability to retake them if they are liberated.
<p>The problem with the game designer&#8217;s &#8220;I want it all&#8221; approach is that it put a lot of pressure on the programmer to make the software incredibly flexible. Since the designer and the programmer positions are both filled by me, it meant that I was asking a lot of myself. I knew better than to make a game engine that could be any genre, any game, but I didn&#8217;t realize that making a <i>Stop That Hero!</i> engine that essentially allowed for endless variety of game modes and mechanics wasn&#8217;t any less difficult. While the previous sentence sounds like it should have been self-evident, I didn&#8217;t have 20/20 hindsight to help me write it back when this project started. It seemed to be so simple. So long as the game was driven by data and scripts, I could make any mode I wanted. </p>
<p>At the beginning of the project, I had supposedly made a decision to implement a particular game mode as part of the version 1.0 of the game, but I didn&#8217;t want to give up on the flexibility to do any of the others I had thought of. If I really wanted to hit the end of the month deadline, I probably could have pared down the feature requirements list. Flexibility can be retroactively coded in after 1.0 was released.  Instead, I gave myself the impossible task of getting everything done and hoping it could be done in time without regard to how long it would take. It&#8217;s no wonder the schedule slipped. </li>
<li> <i> Getting Into a Developer Funk. </i> Towards the end of the month, I hit a point where I could not make forward progress no matter how much I wanted to do so. I was second-guessing myself, partly because I probably felt overwhelmed with the architecture work, and partly because I made the mistake of doing research and development on <a href="http://gbgames.com/blog/2010/10/state-of-the-art-game-objects/">the state of the art for component-based game objects</a>. Basically, I wanted a component-based game object system since it would help me in my quest for a flexible and data-driven game, but I learned a number of competing ideas, and I found that any new code I wanted to write had all of these new mental filters in the way.  Data-driven Programming vs Object-oriented Programming, game objects vs game entities, encapsulation vs getting things done, etc. It was a lot to take in, and I had difficulty getting all of the new information to settle down in my head.
<p>When I finally abandoned my attempt at the component-based system, I still couldn&#8217;t make progress on a less flexible entity system. How hard can this be? I did a working version in the original Jam version of the game, right? Well, once again, I wasn&#8217;t throwing all variables and data structures in the same class anymore. I couldn&#8217;t make decisions because I was paralyzed with the fear that I would make a poor one.</p>
<p>I experienced a smaller version of this when I was getting into unit testing for the first time. For instance, I&#8217;m not used to the need for as much Dependency Injection as I did on test-driven work, and I was losing confidence that I was doing software development &#8220;right&#8221;. Early in a project, you might think of one reference to an interface that an object needs, so you provide that reference in the constructor of the object. Weeks later, and you might have 4, 5, or 6 such references as parameters, and suddenly you&#8217;re faced with the need for another one.  At this point, it starts to feel wrong, especially since it can hard to keep it all straight in my head. Since I was working alone, I didn&#8217;t feel I had anyone to discuss it with, so I would have to move forward reluctantly. Eventually, the fear that I was doing something wrong paralyzed me.</p>
<p>I did eventually get out of my funk and started making forward progress again, but it was only after a long phone conversation with a more software architecture-knowledgeable friend. Thanks, Larry! When you think you&#8217;re lost, sometimes all you need is some guidance and advice. </li>
</ol>
<p><strong>What I Learned</strong></p>
<ol>
<li> <i>How Much Technology I Needed and Didn&#8217;t Have.</i> If I didn&#8217;t care about making my game available for GNU/Linux or avoiding proprietary solutions, I could probably have used technology such as GameMaker, Unity, or Flash to make a game. They offer plenty of game development-specific support, either directly or through libraries. Instead, I had to do a lot of work myself. While libSDL provided a number of basic hardware abstraction services, I still needed to write a lot more game-specific code.
<p>Again, I understood I wasn&#8217;t writing an end-all, be-all game engine, but I still lacked a repertoire of code to help me make the game. A lot of my time was spent laying down the basic infrastructure to allow me to work on the game.  It&#8217;s odd since I can easily hack together a working game in a weekend, but when the project&#8217;s seriousness demands more, I found that I lacked the basics. While I knew what tools I would use at a fundamental level, such as which compilers and libraries I would use, I didn&#8217;t realize I needed to figure out what technology I needed to create. If I did, I probably would have planned for it in the schedule or I would have pursued a simpler project in the first place. For instance, while I knew I needed AI pathfinding, it didn&#8217;t occur to me that I&#8217;d need something more sophisticated to track all of the objects in my game than a bunch of independent collections of data.  </li>
<li> <i>How Much I Still Need to Learn</i> Between software architecture and the basics of game engine requirements, I hit a number of stumbling blocks that forced me to pull books off of shelves and search online for answers. I would have thought I knew enough about game development to make a game, but I had underestimated how much more work there was to take an otherwise working game that was hacked together and writing the code in a way that made it easier to debug, fix, and change.
<p>Working with others would help us all glean knowledge from each other, but as an indie, I&#8217;m going to need to interact with game developers in more than a social way. Also, I need to get better at project estimations. I was too optimistic this time around. </li>
<li> <i>How Difficult It Is To Talk About Game Development When It Is Not a Hack Fest. </i> Most of the people I talked to on IRC were helpful when it came to particular aspects of what I was doing, but they almost all seemed to perceive that I was hampering my efforts with the use of unit tests and the desire for high code quality. &#8220;Just finish the game&#8221; is easy to say when you&#8217;re working on an LD48 competition entry for fun, but when your business depends partly on the ability to provide customer support without introducing bugs and problems, it&#8217;s not just fun and games anymore.
<p>Selling a copy would have been nice at the end of the month, but I also want the ability to sell more copies later. Selling a hard-to-support game isn&#8217;t a good way to improve my ability to stay an indie long term. The October Challenge wasn&#8217;t an end in itself for me. I saw it as a kick in the pants to get me focused on moving my business forward. By and large, it worked. I have a project that is still moving forward even if it is at a slower rate than I would like. Still, it was difficult at times to talk about game development as a business-related endeavor since not everyone had the same long-term goals. </li>
</ol>
<p>As I said, I am continuing this project even though the October Challenge is over. Using the project data so far and assuming I continue to work at the same rate, I can expect to finish the game by December. It&#8217;s still just an estimate, but it is a much better informed one than the one I made at the beginning of the project. While it is disappointing that I couldn&#8217;t finish this project in the month, I am pleased with some things. My schedule helped me make consistent progress, and I have a much better understanding of the game&#8217;s design questions since I spent so much time thinking about them before the month started. Still, while I had done a simple technical feasibility assessment, I needed to do a deeper study to realize all of the things I needed for this project. Basically, as much as I tried to plan ahead, there were some things that just weren&#8217;t on my radar. I know better now. Besides having done a lot of work for this project that can be reused, future projects should benefit from pursuing a better understanding of their technology requirements.</p>
<p><a href="http://gbgames.com/blog/2010/11/stop-that-hero-october-challenge-post-mortem/">Stop That Hero! October Challenge Post-Mortem</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gbgames.com/blog/2010/11/stop-that-hero-october-challenge-post-mortem/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

