<?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</title>
	<atom:link href="http://gbgames.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://gbgames.com/blog</link>
	<description>An Indie Game Developer's somewhat interesting thoughts</description>
	<lastBuildDate>Thu, 23 May 2013 12:09:50 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>My May #1GAM&#8217;s Progress</title>
		<link>http://gbgames.com/blog/2013/05/my-may-1gams-progress/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=my-may-1gams-progress</link>
		<comments>http://gbgames.com/blog/2013/05/my-may-1gams-progress/#comments</comments>
		<pubDate>Thu, 23 May 2013 12:09:50 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Linux Game Development]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=2226</guid>
		<description><![CDATA[<p>I&#8217;ve been trying to use my participation in One Game a Month to take each game project and try to learn one new aspect of game development in its development. </p> <p>One thing I&#8217;ve never done is make a platformer. I figured that it would take some time to figure out the jumping physics and <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2013/05/my-may-1gams-progress/">My May #1GAM&#8217;s Progress</a></span><p><a href="http://gbgames.com/blog/2013/05/my-may-1gams-progress/">My May #1GAM&#8217;s Progress</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&#8217;ve been trying to use my participation in <a href="http://onegameamonth.com/">One Game a Month</a> to take each game project and try to learn one new aspect of game development in its development. </p>
<p>One thing I&#8217;ve never done is make a platformer. I figured that it would take some time to figure out the jumping physics and timings and collision detection with the ground versus a wall versus a floating platform, and I had no interest in pursuing it during a Ludum Dare compo. </p>
<p>That said, my project for May was meant to be an attempt at capturing the feel of a game I used to play a lot as a child.  <i>Frogs and Flies</i> for the Atari 2600 used to keep my sister and me occupied for many an afternoon. Looking at Google Image Search, I can see that I&#8217;m not the only one who has ever wanted to make a game like it. </p>
<p>Oh, well. The important thing is that this is an opportunity to limit the scope of the game while I try to code up some jumping physics. The ground is static. There are no platforms to leap onto. </p>
<p>Unfortunately, due to day job crunch and various other responsibilities, I&#8217;ve only been able to dedicate a few hours to this project all month. </p>
<p>You can see the current status in this <a href="http://youtu.be/OJWiltSKsLU">May #1GAM demo video</a>, as it would be more interesting to see a box jumping around than a still screen:</p>
<p><iframe width="420" height="315" src="http://www.youtube.com/embed/OJWiltSKsLU" frameborder="0" allowfullscreen></iframe></p>
<p>I had some trouble with the jumping being inconsistent. Since I was using fixed-time steps, it made no sense to me why one jump would reach a different height than another.</p>
<p>Then I found that I wasn&#8217;t handling the jump states very well. </p>
<p>Jumping has three states: NOT_JUMPING, JUMPING, and FALLING.</p>
<p>In my code, if you hit and hold the spacebar, the state would be JUMPING and you could control how high you jump by how long you hold the key down.I f you let go of the spacebar, the state would change to FALLING. Once you hit the ground, the state changed to NOT_JUMPING.</p>
<p>For some reason, holding the spacebar down for the entire jump resulted in inconsistent heights reached. Imagine playing <i>Super Mario Bros</i> and getting frustrated that taking the same action results in randomly not being able to jump high enough to get to the next platform. What gives?</p>
<p>The video shows a white and gray box on the left side to indicate the max jump height and the last jump height respectively as I tried to figure out if it was a real or merely perceived problem.</p>
<p>I realized what the problem was eventually. Gravity was always being applied to the vertical velocity of the frog, even when it was on the ground. So in one update, the frog&#8217;s position hasn&#8217;t changed, but it&#8217;s velocity has. The next update, the position would change due to the velocity, and so when it fell below the ground, I&#8217;d reset the velocity and the position. </p>
<p>So while the player wouldn&#8217;t see any change in position, as it is a static box, there&#8217;s a 50% chance that the spacebar would be pressed while the player&#8217;s velocity is lower than 0, and the velocity of a jump was added to the player&#8217;s velocity instead of being assigned to it, which would have masked the issue (or solved it in the first place, if you prefer).</p>
<p>I changed the code so that gravity is only applied if the player is not in the NOT_JUMPING state, and everything worked much more consistently.</p>
<p>Then I added a direction and provided horizontal impulse as well, so each jump not only moves the frog up but also left or right. I want the player to use small jumps to move about, and bigger jumps to try to catch flies, similar to the advanced mode on the Atari 2600 game. </p>
<p>I&#8217;m pleased with how the jumping feels, although I find it awkward to figure out how to manipulate the relevant variables to get the jump how I want it. Gravity, initial jump impulse, additional jump impulse if you continue holding the spacebar during a jump, and time all conspire to say how fast and how high you jump, and I&#8217;ve been under time constraints to do the probably simple parabolic math that I&#8217;m sure it involves. </p>
<p>Like my past few months, I&#8217;ll probably have to limit the scope of this project significantly if I want to get it completed before the end of the month. I still need to add flies and way to catch them. I probably won&#8217;t have time to implement falling off the lily pad or day/night cycles. Even though I have a week left, it&#8217;s a rough week. </p>
<p>How&#8217;s your #1GAM project going?</p>
<p><a href="http://gbgames.com/blog/2013/05/my-may-1gams-progress/">My May #1GAM&#8217;s Progress</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/2013/05/my-may-1gams-progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>April #1GAM Entry: Toytles Colors</title>
		<link>http://gbgames.com/blog/2013/04/april-1gam-entry-toytles-colors/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=april-1gam-entry-toytles-colors</link>
		<comments>http://gbgames.com/blog/2013/04/april-1gam-entry-toytles-colors/#comments</comments>
		<pubDate>Wed, 24 Apr 2013 12:28:33 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Linux Game Development]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=2208</guid>
		<description><![CDATA[<p>For my April project for One Game a Month, I liked the idea of making a game for my nieces to play to learn colors and shapes. I thought of having animals to click on, and initially it was frogs, but when I settled on turtles, it all clicked together. </p> <p>Download Toytles Colors for <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2013/04/april-1gam-entry-toytles-colors/">April #1GAM Entry: Toytles Colors</a></span><p><a href="http://gbgames.com/blog/2013/04/april-1gam-entry-toytles-colors/">April #1GAM Entry: Toytles Colors</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
				<content:encoded><![CDATA[<p>For my April project for <a href="http://www.onegameamonth.com/">One Game a Month</a>, I liked the idea of making a game for my nieces to play to learn colors and shapes. I thought of having animals to click on, and initially it was frogs, but when I settled on turtles, it all clicked together. </p>
<p><a href="http://www.gbgames.com/downloads/ogpm/April/1GAM-April2013-GBGames-64bit-Linux.tar.gz">Download Toytles Colors for Linux 64-bit (395 kb tar.gz file)</a></p>
<p>I figured such a game would need to have more pizazz than my typical projects have, so I wrote up an animation class quickly, and then I used the Gimp to create some animated legs for the turtles. It&#8217;s not too bad.</p>
<p>I wasn&#8217;t able to dedicate as much time to it as I would like to this project. I was going to have the player try to click on matching colors as well as shapes, but I ended up scrapping the shapes. </p>
<p>I was pleased with the cartoony turtles I threw together, although the scale left something to be desired.</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/8678153402/" title="April #1GAM by gbgames, on Flickr"><img src="http://farm9.staticflickr.com/8387/8678153402_9f4f5428c1_n.jpg" width="320" height="251" alt="April #1GAM"/></a></p>
<p>I added some color picking criteria and made sure the player could click on a turtle with the right color.</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/8677047729/" title="April #1GAM by gbgames, on Flickr"><img src="http://farm9.staticflickr.com/8398/8677047729_f3da0717ec_n.jpg" width="320" height="251" alt="April #1GAM"/></a></p>
<p>The final game awards you a point for each turtle you click correctly, and even helpfully lets you know which color you&#8217;re looking for.  </p>
<p><a href="http://www.flickr.com/photos/29086141@N03/8677047687/" title="April #1GAM by gbgames, on Flickr"><img src="http://farm9.staticflickr.com/8536/8677047687_c0b62c81a0_n.jpg" width="320" height="251" alt="April #1GAM"/></a></p>
<p>I had plans for particle effects and audio to celebrate and inform you when you clicked on the wrong turtle (&#8220;That&#8217;s not blue! That&#8217;s red!&#8221;), but I&#8217;ll have to address those next time I pick this project up.</p>
<p><a href="http://gbgames.com/blog/2013/04/april-1gam-entry-toytles-colors/">April #1GAM Entry: Toytles Colors</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/2013/04/april-1gam-entry-toytles-colors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Linux Game Tome Is Shutting Down</title>
		<link>http://gbgames.com/blog/2013/04/the-linux-game-tome-is-shutting-down/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-linux-game-tome-is-shutting-down</link>
		<comments>http://gbgames.com/blog/2013/04/the-linux-game-tome-is-shutting-down/#comments</comments>
		<pubDate>Mon, 15 Apr 2013 12:22:38 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Geek / Technical]]></category>
		<category><![CDATA[Linux Game Development]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=2200</guid>
		<description><![CDATA[<p>A few months ago I wrote about how it is so difficult to submit games to Linux gaming sites, based on my experience with trying to spread the word about the latest update of Stop That Hero!</p> <p>One of those sites is The Linux Game Tome. It was one of my favorite Linux gaming sites, <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2013/04/the-linux-game-tome-is-shutting-down/">The Linux Game Tome Is Shutting Down</a></span><p><a href="http://gbgames.com/blog/2013/04/the-linux-game-tome-is-shutting-down/">The Linux Game Tome Is Shutting Down</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
				<content:encoded><![CDATA[<p>A few months ago I wrote about how <a href="http://gbgames.com/blog/2012/09/why-is-it-so-difficult-to-submit-games-to-linux-gaming-sites/">it is so difficult to submit games to Linux gaming sites</a>, based on my experience with trying to spread the word about the latest update of <a href="http://StopThatHero.com/">Stop That Hero!</a></p>
<p>One of those sites is <a href="http://happypenguin.org">The Linux Game Tome</a>. It was one of my favorite Linux gaming sites, and had an active forum for developers and players, as well as an IRC channel.</p>
<p>In recent times, it has been plagued with spam and hardware issues. Twice it had been down for months due to a faulty hard drive, for instance. These problems resulted in a lack of activity when it was finally back up. When they updated their forums last summer, it broke the ability to submit games to their database. To this day, Summoning Wars was the last game with an update in June of 2012.</p>
<p>Last month, there was a new post, however, and it wasn&#8217;t good news for fans. </p>
<blockquote><p>The Linux Game Tome will shut down on April 13. Those of us who have maintained happypenguin.org over the years now lack both the time and the ambition to do what is necessary to keep the site afloat.</p></blockquote>
<p>A later update provided a <a href="http://www.happypenguin.org/newsitem?id=11237" class="broken_link">link to a dump of the game database</a>, all 300+ MB of it, with the idea that someone might be able to recreate the site if they so choose to do so.</p>
<p>Since then, two forums have popped up about how to carry on without the original site operators. One is <a href="http://happypenguin.onkoistudios.com/">Resurrecting the Tome</a>, and the other is <a href="http://linuxtimes.net/forum/">The Linux Game Tome Ideas and Discussion</a>. I&#8217;ll be interested in seeing what comes out of these discussions. </p>
<p>While my new favorite site is the active <a href="http://www.gamingonlinux.com/">Gaming on Linux</a>, The Linux Game Tome holds a special place in my heart. I thank Bob Zimbinski, aka bobz, for all he had done, and I wish him luck in whatever his future ambitions are. </p>
<p><a href="http://gbgames.com/blog/2013/04/the-linux-game-tome-is-shutting-down/">The Linux Game Tome Is Shutting Down</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/2013/04/the-linux-game-tome-is-shutting-down/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Taking Responsibility For Your Code</title>
		<link>http://gbgames.com/blog/2013/04/taking-responsibility-for-your-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=taking-responsibility-for-your-code</link>
		<comments>http://gbgames.com/blog/2013/04/taking-responsibility-for-your-code/#comments</comments>
		<pubDate>Tue, 09 Apr 2013 11:00:37 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=2194</guid>
		<description><![CDATA[<p>When you start a new project from scratch, you have a lot of freedom. Adding lines is almost as simple as typing it out and compiling. </p> <p>As you add more code, however, it starts to constrain itself. You can&#8217;t easily add a few lines here because the code over there interacts with it poorly. <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2013/04/taking-responsibility-for-your-code/">Taking Responsibility For Your Code</a></span><p><a href="http://gbgames.com/blog/2013/04/taking-responsibility-for-your-code/">Taking Responsibility For Your Code</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
				<content:encoded><![CDATA[<p>When you start a new project from scratch, you have a lot of freedom. Adding lines is almost as simple as typing it out and compiling. </p>
<p>As you add more code, however, it starts to constrain itself. You can&#8217;t easily add a few lines here because the code over there interacts with it poorly. Eventually, your code starts to rot and smells awful, but you have to work in it. It&#8217;s just not as fun nor easy anymore.</p>
<p>The state of your code base is the result of decisions made in the past. Sometimes developers have taken shortcuts to “get things done”, and then they have to suffer by working in stinky, smelly code that makes it difficult to do <strong>The Right Thing</strong>(tm). Unfortunately, these developers don&#8217;t take responsibility for their situation, and they keep doing what got them there in the first place. <a href="https://twitter.com/tottinge">A colleague of mine</a> says that they get into a state of learned helplessness. </p>
<p>As a result, it becomes easier to accept the state of the code base, to go with the flow, and to forget to be proud of your craft. </p>
<p>Soon, you are taking shortcuts as the normal course of events in large part because the shortcut looks like the main path. The path to creating legacy code (definition: code that doesn’t have tests) looks a lot less tangled than the path of TDD and SOLID principles. The real deception is that doing so creates the barriers, the gnarled weeds and growth, and you need more discipline and more patience to cut through it in order to get back to the right path, if you even bother at all.</p>
<p>Today’s shortcut results in problems with delivering results in a timely manner tomorrow. </p>
<p>The good news is that code is malleable. Even if the current state is bad, it&#8217;s possible to improve it, even if just a little.</p>
<p>Each day, you have an opportunity to improve the code for the people following behind you as well as for yourself as you traverse the path through the code again. And each day, despite the cause of the stench, you have the opportunity to use your skills as a software engineer, skills such as refactoring and TDD, to change the code from the stinky state it is in to a better, lemony-fresh state. </p>
<p>The alternative is to wallow in poor quality code, slowing your ability to deliver, and oftentimes adding to the problems that got you here in the first place.</p>
<p>Take responsibility for the quality of your code. It&#8217;s possible to have a better code base. Make it happen. </p>
<p><a href="http://gbgames.com/blog/2013/04/taking-responsibility-for-your-code/">Taking Responsibility For Your Code</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/2013/04/taking-responsibility-for-your-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>March #1GAM Entry: The New Worlds</title>
		<link>http://gbgames.com/blog/2013/03/march-1gam-entry-the-new-worlds/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=march-1gam-entry-the-new-worlds</link>
		<comments>http://gbgames.com/blog/2013/03/march-1gam-entry-the-new-worlds/#comments</comments>
		<pubDate>Fri, 29 Mar 2013 13:00:32 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Linux Game Development]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=2186</guid>
		<description><![CDATA[<p>I did it.</p> <p>I thought I had a design that was a bit too ambitious, but I somehow managed to finish my March entry for One Game a Month. </p> <p>&#8220;The New Worlds&#8221; is a space exploration game. Your homeworld&#8217;s star is known to go nova eventually. Evacuating everyone is the only option, and evacuation <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2013/03/march-1gam-entry-the-new-worlds/">March #1GAM Entry: The New Worlds</a></span><p><a href="http://gbgames.com/blog/2013/03/march-1gam-entry-the-new-worlds/">March #1GAM Entry: The New Worlds</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 did it.</p>
<p>I thought I had a design that was a bit too ambitious, but I somehow managed to finish my March entry for <a href="http://www.onegameamonth.com/">One Game a Month</a>. </p>
<p>&#8220;The New Worlds&#8221; is a space exploration game. Your homeworld&#8217;s star is known to go nova eventually. Evacuating everyone is the only option, and evacuation is expensive. Explore the universe, set up bases on suitable planets, and increase the wealth of your homeworld before time runs out. </p>
<p><a href="http://www.gbgames.com/downloads/ogpm/March/1GAM-March2013-GBGames-64bit-Linux.tar.gz"> Download The New Worlds for Linux 64-bit (547 KB tar.gz file)</a><br />
UPDATE: A 32-bit Linux version is available now. <a href="http://www.gbgames.com/downloads/ogpm/March/1GAM-March2013-GBGames-Linux.tar.gz"> Download The New Worlds for Linux (543 KB tar.gz file)</a></p>
<p>I&#8217;ll have to write up how it all happened later, as I&#8217;m rushing off to see family this weekend. I had to cut back on features, such as setting up trade with alien civilizations. </p>
<p>There&#8217;s still at least one major issue with the game play. It&#8217;s entirely possible to run out of fuel and supplies and have the game continue to run even though you can&#8217;t do anything. You can&#8217;t go anywhere. You can&#8217;t wait to die. You can&#8217;t scrounge for supplies as it was a feature I didn&#8217;t have time to add even though I really wanted it. </p>
<p>I want to come back and address this issue, although the next time I touch this code I&#8217;m sure I&#8217;m in for a shock. It&#8217;s horrible and ugly and I hate myself for writing it. B-)</p>
<p>Still, it&#8217;s playable, and it&#8217;s possible to lose and win. And it is fun exploring and trying to survive in the universe.</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/8600563796/" title="March1GAM-14 by gbgames, on Flickr"><img src="http://farm9.staticflickr.com/8526/8600563796_43254a6ea8_n.jpg" width="320" height="251" alt="March1GAM-14"/></a></p>
<p><a href="http://www.flickr.com/photos/29086141@N03/8600563764/" title="March1GAM-15 by gbgames, on Flickr"><img src="http://farm9.staticflickr.com/8513/8600563764_8ecc016c31_n.jpg" width="320" height="251" alt="March1GAM-15"/></a></p>
<p><a href="http://gbgames.com/blog/2013/03/march-1gam-entry-the-new-worlds/">March #1GAM Entry: The New Worlds</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/2013/03/march-1gam-entry-the-new-worlds/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Jumping Into The March #1GAM Project</title>
		<link>http://gbgames.com/blog/2013/03/jumping-into-the-march-1gam-project/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=jumping-into-the-march-1gam-project</link>
		<comments>http://gbgames.com/blog/2013/03/jumping-into-the-march-1gam-project/#comments</comments>
		<pubDate>Thu, 07 Mar 2013 13:15:51 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Linux Game Development]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=2177</guid>
		<description><![CDATA[<p>Last month, I finished my One Game a Month February project on the last day, just in time to submit it and get credit for it. Whew!</p> <p>February&#8217;s project was made in almost 12 hours of actual work throughout the month. That is, for about 3 hours per week, I was able to hack a <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2013/03/jumping-into-the-march-1gam-project/">Jumping Into The March #1GAM Project</a></span><p><a href="http://gbgames.com/blog/2013/03/jumping-into-the-march-1gam-project/">Jumping Into The March #1GAM Project</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 month, I finished my One Game a Month <a href="http://gbgames.com/blog/2013/02/february-1gam-entry-electomagnetic-play/">February project</a> on the last day, just in time to submit it and get credit for it. Whew!</p>
<p>February&#8217;s project was made in almost 12 hours of actual work throughout the month. That is, for about 3 hours per week, I was able to hack a game together. What surprised me was that I didn&#8217;t need a huge block of time to get something substantial accomplished. I thought that 45 minutes was the minimum amount of time I needed to concentrate and get my bearings before writing or changing code, but some of my more productive game development sessions weren&#8217;t more than 15 minutes in length.</p>
<p>For March, I know I am capable of throwing something together quite quickly. I&#8217;ve spent a little over four hours so far on game development this month, and while I&#8217;m worried that my game design might be a bit too ambitious, I&#8217;m pleased with the results so far.</p>
<p>March&#8217;s game is &#8220;The New Worlds&#8221;, a space exploration game. You&#8217;re tasked with discovering interstellar resources to bring back to your homeworld to get everyone off of the planet before the sun goes nova. Hopefully you can find a new home for everyone as well. </p>
<p>Along the way you might discover planets that are already inhabited, and you can setup trade. As you increase the wealth of your homeworld, your ship can be upgraded to allow you to travel farther and faster with more passengers.  </p>
<p>Here&#8217;s some in-progress screenshots over the last ~4 hours of development:</p>
<p>A random star field.</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/8535791305/" title="March #1GAM by gbgames, on Flickr"><img src="http://farm9.staticflickr.com/8367/8535791305_62bfaa021d_n.jpg" width="320" height="251" alt="March #1GAM"/></a></p>
<p>Some random solar system. I changed the background from black to a purple-ish hue as I found it was a bit easier on the eyes. </p>
<p><a href="http://www.flickr.com/photos/29086141@N03/8535791345/" title="March #1GAM by gbgames, on Flickr"><img src="http://farm9.staticflickr.com/8108/8535791345_69642dd990_n.jpg" width="320" height="251" alt="March #1GAM"/></a></p>
<p>More planet variety, and clicking on a planet sends your ship there.</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/8535791381/" title="March #1GAM by gbgames, on Flickr"><img src="http://farm9.staticflickr.com/8367/8535791381_099258149f_n.jpg" width="320" height="251" alt="March #1GAM"/></a></p>
<p><a href="http://gbgames.com/blog/2013/03/jumping-into-the-march-1gam-project/">Jumping Into The March #1GAM Project</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/2013/03/jumping-into-the-march-1gam-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>February #1GAM Entry: Electomagnetic Play</title>
		<link>http://gbgames.com/blog/2013/02/february-1gam-entry-electomagnetic-play/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=february-1gam-entry-electomagnetic-play</link>
		<comments>http://gbgames.com/blog/2013/02/february-1gam-entry-electomagnetic-play/#comments</comments>
		<pubDate>Thu, 28 Feb 2013 13:08:43 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Geek / Technical]]></category>
		<category><![CDATA[Linux Game Development]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=2175</guid>
		<description><![CDATA[<p>I managed to put my February entry for One Game a Month together mostly in the last couple of weeks, sometimes with only 15 minutes at a time to dedicate to working on it. It&#8217;s amazing how much comes together in 15 minutes. </p> <p>Electromagnetic Play is currently only available for 64-bit Linux as I <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2013/02/february-1gam-entry-electomagnetic-play/">February #1GAM Entry: Electomagnetic Play</a></span><p><a href="http://gbgames.com/blog/2013/02/february-1gam-entry-electomagnetic-play/">February #1GAM Entry: Electomagnetic Play</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 managed to put my February entry for <a href="http://www.onegameamonth.com/">One Game a Month</a> together mostly in the last couple of weeks, sometimes with only 15 minutes at a time to dedicate to working on it. It&#8217;s amazing how much comes together in 15 minutes. </p>
<p>Electromagnetic Play is currently only available for 64-bit Linux as I wanted to get it in under the deadline. I&#8217;ll work on ports later when I have some time.</p>
<p><a href="http://www.gbgames.com/downloads/ogpm/February/1GAM-February2013-GBGames-64bit-Linux.tar.gz"> Download Electromagnetic Play for Linux 64-bit (1.5MB tar.gz file)</a></p>
<p><strong>A quick description of the evolution of the game.</strong></p>
<p>I thought of having magnets that you use to move metal balls around an arena. </p>
<p><a href="http://www.flickr.com/photos/29086141@N03/8514871709/" title="February 1GAM by gbgames, on Flickr"><img src="http://farm9.staticflickr.com/8384/8514871709_b44c4fc598_m.jpg" width="240" height="189" alt="February 1GAM"/></a></p>
<p>Eventually I decided on a simple game in which you have to catch the balls in a metal bucket, and you can only move the bucket by charging magnets on either end.</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/8515987132/" title="February 1GAM by gbgames, on Flickr"><img src="http://farm9.staticflickr.com/8505/8515987132_2927b1b82d_m.jpg" width="240" height="189" alt="February 1GAM"/></a></p>
<p>Once I had balls dropping and magnets charging when you clicked on the green buttons, I had something that was basically finished.</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/8515987108/" title="February 1GAM by gbgames, on Flickr"><img src="http://farm9.staticflickr.com/8521/8515987108_379f338316_m.jpg" width="240" height="189" alt="February 1GAM"/></a></p>
<p>Add some scoring and lose conditions&#8230;</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/8514871639/" title="February 1GAM by gbgames, on Flickr"><img src="http://farm9.staticflickr.com/8380/8514871639_fe63462b5d_m.jpg" width="240" height="189" alt="February 1GAM"/></a></p>
<p>&#8230;and tweak the challenge a bit by level, and we have a game.</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/8515987054/" title="February 1GAM by gbgames, on Flickr"><img src="http://farm9.staticflickr.com/8509/8515987054_17b3ef0a6d_m.jpg" width="240" height="189" alt="February 1GAM"/></a></p>
<p><a href="http://gbgames.com/blog/2013/02/february-1gam-entry-electomagnetic-play/">February #1GAM Entry: Electomagnetic Play</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/2013/02/february-1gam-entry-electomagnetic-play/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I Have a Day Job Again</title>
		<link>http://gbgames.com/blog/2013/02/i-have-a-day-job-again/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=i-have-a-day-job-again</link>
		<comments>http://gbgames.com/blog/2013/02/i-have-a-day-job-again/#comments</comments>
		<pubDate>Mon, 18 Feb 2013 10:30:26 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Marketing/Business]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=2164</guid>
		<description><![CDATA[<p>&#8220;You don’t know what it’s like out there! I’ve worked in the private sector. They expect results!&#8221; &#8211; Dr. Ray Stanz</p> <p>I&#8217;ve been meaning to write about this topic for some time. Back in May of 2010, I put in my two weeks&#8217; notice at my day job. </p> <p>At the time, I wrote:</p> <p>So <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2013/02/i-have-a-day-job-again/">I Have a Day Job Again</a></span><p><a href="http://gbgames.com/blog/2013/02/i-have-a-day-job-again/">I Have a Day Job Again</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
				<content:encoded><![CDATA[<p><em>&#8220;You don’t know what it’s like out there! I’ve worked in the private sector. They expect results!&#8221; &#8211; Dr. Ray Stanz</em></p>
<p>I&#8217;ve been meaning to write about this topic for some time. Back in May of 2010, I <a href="http://gbgames.com/blog/2010/05/going-full-time-indie/">put in my two weeks&#8217; notice</a> at my day job. </p>
<p>At the time, I wrote:</p>
<blockquote><p>So why walk away from that? Because I’m also cutting myself off from an obligation to be anywhere for 40-60 hours a week. Those hours are mine now. I have the freedom to use them however I want. Instead of being a cog in an otherwise pretty great wheel, I’m making my own wheel.</p>
<p>Of course, with that freedom comes great responsibility. I’m solely responsible for the success or failure of my business. My future income depends more on my marketing, sales, creativity, and productive output than the time I spend sitting at a desk. It’s going to be hard work, and I’ll encounter challenges the likes of which I’ve never seen. </p></blockquote>
<p>My burn rate said that I&#8217;d have enough savings for one year. Thanks to living in a city with a lower cost of living, the stipend I get as President of the <a href="http://asp-software.org/">Association of Software Professionals</a>, and the support of my girlfriend-now-wife, I was able to last until 2012 before I needed to seriously look to supplement my income. </p>
<p>My income was near non-existent, though, and I should have been focused on supplementing it way earlier. You can do a lot of things wrong, but so long as you have sales/cash flow, you can live to tell the tale. If you don&#8217;t have cash flow, you can&#8217;t survive. I waited too long, unfortunately, so after having some contract PHP work disappear out from under me and realizing that I didn&#8217;t really have the network of support to find game development work easily, I once again took a full-time job. </p>
<p>I should do a full post mortem on my full-time indie attempt, but for now, here&#8217;s the highlights. </p>
<p>When I started out full-time indie, I probably spent too long figuring out what to do with my time. Eventually, I got into a structured daily routine of work. Things were going to be fine so long as I spent my days being productive. Get up, exercise, get some game development done, write a little, repeat the next day. </p>
<p>Unfortunately, I didn&#8217;t ship fast enough. My flagship game, <a href="http://StopThatHero.com/">Stop That Hero!</a>, wasn&#8217;t officially released until a year after development, even though I thought it would be a one-month project at first. Even though I knew not to focus on technology and to focus on the game, even though I knew I should focus on getting to a positive cash flow as quickly as possible, even though I knew better, I still did the exact wrong things. While I had a good flurry of support from the pre-order, the sales are very low and aren&#8217;t going to be covering a regular meal, let alone mortgage payments. </p>
<p>Clearly what I&#8217;ve been doing isn&#8217;t working, but what was I supposed to do next? How was I supposed to turn things around? </p>
<p>Anything I spent my time on that didn&#8217;t bring in money felt like the wrong thing. I was feeling a lot of stress. Towards the end, I found myself somewhat paralyzed. Planning was important, but planning wasn&#8217;t action, but action for action&#8217;s sake wasn&#8217;t working. I could spend time learning a new development platform, but that would still mean no published games right away, but if I took time to plan I could figure out a way forward but who has time to plan? I know one hour of planning saves three hours of work, but if you only have mere hours left, you want to make them count. But that brings me back to trying to move forward while also trying to figure out which direction forward is. Gah! </p>
<p>I was disappointed, but I also felt like I was letting a lot of other people down. I&#8217;ve had a number of aspiring game developers tell me that I was an inspiration to them. My wife reminds me that I had a good couple of years worth of trying which is more than most people give themselves since they never make the attempt. She&#8217;s right, but it&#8217;s still hard to think I had an opportunity and lost it. </p>
<p>These days, it&#8217;s a lot less stressful not to worry about how to spend my day, wondering and second-guessing if I&#8217;m making the right choices in order to make a living. I&#8217;ve reintroduced that 40-60 hour week obligation, which means everything else in my life takes a backseat, but for the last few months, I&#8217;ve been able to breathe a bit more. I could take some time to reassess. </p>
<p>When I was hired, I made it clear that I fully intend to continue work on my business. It would have been a deal-breaker for me if I they were going to insist that I couldn&#8217;t as a condition of employment. </p>
<p>Now the trick is making time for my business outside of the day job hours while balancing the rest of my life. But I&#8217;ve been here before, and being on the other side of having a full-time business, I have new insights. I understand more fully the lessons I thought I pre-learned. I understand the game development industry just a little more. </p>
<p>So I&#8217;m not done. I&#8217;m going to live on. I&#8217;m going to survive. </p>
<p>And while there&#8217;s plenty of advice on how I should go about doing it, while there&#8217;s no shortage of people who can say that I should have focused on Facebook or mobile or free-to-play or Flash or HTML5 or Unity or Windows or any number of business models, platforms, and tools, I know I&#8217;ll find my own way. I&#8217;ll make my own rules.</p>
<p>In some cases, the consequences are heartache and failure that could have been avoided had I listened to someone else. </p>
<p>But I didn&#8217;t go into this to follow someone else&#8217;s lead. I&#8217;m not doing this to be like everyone else or make games like them. </p>
<p>I&#8217;m an independent game developer. I define my own success. </p>
<p><a href="http://gbgames.com/blog/2013/02/i-have-a-day-job-again/">I Have a Day Job Again</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/2013/02/i-have-a-day-job-again/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>January #1GAM Entry: Walls and Armies</title>
		<link>http://gbgames.com/blog/2013/01/january-1gam-entry-walls-and-armies/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=january-1gam-entry-walls-and-armies</link>
		<comments>http://gbgames.com/blog/2013/01/january-1gam-entry-walls-and-armies/#comments</comments>
		<pubDate>Thu, 31 Jan 2013 12:45:52 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Geek / Technical]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=2155</guid>
		<description><![CDATA[<p>I&#8217;m in crunch at the day job, and so I didn&#8217;t have weekends like I had hoped to work on a game project. Luckily, I had finished the design of this two-player card game, and it counts. I call it &#8220;Walls and Armies&#8221;, and the rules are below. </p> <p></p> <p>Setup: Take a standard 52 <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2013/01/january-1gam-entry-walls-and-armies/">January #1GAM Entry: Walls and Armies</a></span><p><a href="http://gbgames.com/blog/2013/01/january-1gam-entry-walls-and-armies/">January #1GAM Entry: Walls and Armies</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&#8217;m in crunch at the day job, and so I didn&#8217;t have weekends like I had hoped to work on a game project. Luckily, I had finished the design of this two-player card game, and it counts. I call it &#8220;Walls and Armies&#8221;, and the rules are below. </p>
<p><a href="http://www.flickr.com/photos/29086141@N03/8431806249/" title="CardGameDemonstration by gbgames, on Flickr"><img src="http://farm9.staticflickr.com/8085/8431806249_8ec2c0fe4b_n.jpg" width="320" height="319" alt="CardGameDemonstration"/></a></p>
<p><strong>Setup</strong>:<br />
Take a standard 52 card deck of cards. Remove the jokers from the deck and leave them out of the game.<br />
Shuffle all cards into a main deck.</p>
<p>For each player:</p>
<ul>
<li>Determine how many “walls” and “army” cards you get. For each type,</li>
<li>Flip the top card from the main deck to determine the number of cards to deal</li>
<li>If it is a face card (Jack, Queen, King, Ace), then place that card down in front of the player face-up and sideways to indicate that it is a “shield”. </li>
<li>If it is a number card, discard the card and deal the indicated number of cards face-down in front of the player. For example, if the top card was a 3, then discard the 3 and deal three cards.</li>
<li>The wall cards and shield cards are laid out individually in front of the player. The army cards are placed in a deck, and the player should not look at them. </li>
</ul>
<p><strong>Play</strong>:<br />
The first player is the one who has the fewest wall cards, or if tied, the one with fewest shields, or if tied again, the one with the fewest army cards. In case of a tie across all three sets of cards, flip a coin.</p>
<p>For each player:</p>
<ul>
<li>Pick one of the opponent&#8217;s wall or shield cards to attack, then flip the top card from your army deck. If the target card is face-down, flip it over to reveal it. You cannot attack wall cards until your opponent&#8217;s shield cards are eliminated.</li>
<li>If your card is higher, then discard both the target card and the army card.</li>
<li>Otherwise, your opponent can choose to leave it alone or counter-attack:</li>
<li>If left alone, you may stack your next army card on top of any of your in-play army cards, adding the number of the armies together to attempt to eliminate the target card.</li>
<li>Your opponent may choose to counter-attack by playing one of his/her own army cards. </li>
<li>If the counter-attack is higher than your army card, then the counter-attack is discarded, and each of the stacked armies are added to the opponent&#8217;s wall cards.</li>
<li>Otherwise, both the counter-attack and the stacked armies are discarded.  </li>
<li>Repeat until you run out of army cards.</li>
<li>Replace all face-up shield and wall cards with face-down cards.</li>
<li>Replenish your army deck by flipping the top card from the main deck. If it is a face card, add it to your shields. Otherwise, deal yourself the number of cards indicated into your army deck.</li>
<p>Play continues until either player has run out of wall cards. The other player is declared the winner.</p>
</ul>
<p><a href="http://gbgames.com/blog/2013/01/january-1gam-entry-walls-and-armies/">January #1GAM Entry: Walls and Armies</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/2013/01/january-1gam-entry-walls-and-armies/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I Received My #LD48 Gift Exchange Gift!</title>
		<link>http://gbgames.com/blog/2012/12/i-received-my-ld48-gift-exchange-gift/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=i-received-my-ld48-gift-exchange-gift</link>
		<comments>http://gbgames.com/blog/2012/12/i-received-my-ld48-gift-exchange-gift/#comments</comments>
		<pubDate>Mon, 31 Dec 2012 18:31:07 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=2150</guid>
		<description><![CDATA[<p>This is the first year I&#8217;ve participated in the Ludum Dare Gift Exchange. Yesterday I received an invoice in the mail in French, but no package. I was confused, thinking, &#8220;An invoice? This isn&#8217;t how this works.&#8221;</p> <p>Today, there was a knock on my door. The jolly postal worker had me sign my name on <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2012/12/i-received-my-ld48-gift-exchange-gift/">I Received My #LD48 Gift Exchange Gift!</a></span><p><a href="http://gbgames.com/blog/2012/12/i-received-my-ld48-gift-exchange-gift/">I Received My #LD48 Gift Exchange Gift!</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
				<content:encoded><![CDATA[<p>This is the first year I&#8217;ve participated in the Ludum Dare Gift Exchange. Yesterday I received an invoice in the mail in French, but no package. I was confused, thinking, &#8220;An invoice? This isn&#8217;t how this works.&#8221;</p>
<p>Today, there was a knock on my door. The jolly postal worker had me sign my name on a small piece of paper and handed me a rectangular box:</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/8330963844/" title="A mangled up box marked FRAGILE by gbgames, on Flickr"><img src="http://farm9.staticflickr.com/8497/8330963844_00e8660cc3_n.jpg" width="320" height="240" alt="A mangled up box marked FRAGILE"/></a></p>
<p>It says &#8220;FRAGILE&#8221; and yet you can tell it was still shipped in the same cargo ship that transported exotic circus animals. Still, I opened it, and it seemed that even if the box looked worse for wear, the contents were packaged in some heavy-duty materials to make transportation safe. So the laugh is on you, circus animals!</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/8330962830/" title="Mead! by gbgames, on Flickr"><img src="http://farm9.staticflickr.com/8212/8330962830_938f5f29b0_n.jpg" width="240" height="320" alt="Mead!"/></a></p>
<p>Chouchen Lancelot is mead, according to La Boutique Du Comptoir. Sweet nectar of the gods, I have a bottle of French mead! And the cork is covered in real wax, and it smells like fantastic French cork and wax!</p>
<p>Merry Christmas, Ludum Dare! And thanks, Adrien Giboire! I look forward to enjoying my gift!</p>
<p><a href="http://gbgames.com/blog/2012/12/i-received-my-ld48-gift-exchange-gift/">I Received My #LD48 Gift Exchange Gift!</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/2012/12/i-received-my-ld48-gift-exchange-gift/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
