<?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; Personal Development</title>
	<atom:link href="http://gbgames.com/blog/category/personal-development/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>An Online Conference You Can Attend #AltDevConf</title>
		<link>http://gbgames.com/blog/2012/02/an-online-conference-you-can-attend-altdevconf/</link>
		<comments>http://gbgames.com/blog/2012/02/an-online-conference-you-can-attend-altdevconf/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 10:30:40 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Geek / Technical]]></category>
		<category><![CDATA[Marketing/Business]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=1849</guid>
		<description><![CDATA[<p>If you&#8217;re not familiar with AltDevBlogADay, you should be. Each day, a game developer posts on a variety of game development topics. There&#8217;s a huge backlog of content there now, and while the recent redesign has made it difficult to find the category you want (you have to click on a post to see only <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2012/02/an-online-conference-you-can-attend-altdevconf/">An Online Conference You Can Attend #AltDevConf</a></span><p><a href="http://gbgames.com/blog/2012/02/an-online-conference-you-can-attend-altdevconf/">An Online Conference You Can Attend #AltDevConf</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re not familiar with <a href="http://altdevblogaday.com">AltDevBlogADay</a>, you should be. Each day, a game developer posts on a variety of game development topics. There&#8217;s a huge backlog of content there now, and while the recent redesign has made it difficult to find the category you want (you have to click on a post to see only some of the tags available as of this writing), it&#8217;s great getting regular, up-to-date, state-of-the-art tips and tricks from the people in the trenches. Authors can be mainstream game programmers, indie developers, academics, or anyone who has something valuable to share.</p>
<p><a href="http://gbgames.com/blog/wp-content/uploads/2012/02/altdevconf.jpg"><img src="http://gbgames.com/blog/wp-content/uploads/2012/02/altdevconf.jpg" alt="AltDevConf" title="AltDevConf" width="303" height="163" class="alignnone size-full wp-image-1850" /></a></p>
<p>It seems to be such a successful site that they&#8217;ve decided to host an online conference. <a href="http://altdevconf.org/">AltDevConf</a> will be held on February 11th and 12th (that&#8217;s this coming weekend), featuring three tracks: education, programming, and design &#038; production. </p>
<blockquote><p>Our goal is twofold: To provide free access to a comprehensive selection of game development topics taught by leading industry experts, and to create a space where bright and innovative voices can also be heard. We are able to do this, because as an online conference we are not subject to the same logistic and economic constrains imposed by the traditional conference model.</p></blockquote>
<p>As it doesn&#8217;t look like I&#8217;ll be attending GDC this year (I&#8217;m still hoping to win an All Access Pass with my <a href="https://twitter.com/#!/GBGames/status/160509840450519040">GDC magnets</a>), AltDevConf seems like a high-quality substitute. While it won&#8217;t be the same as rubbing elbows with other indies or meeting cool celebrities in the gaming world, I&#8217;m excited about it.  </p>
<p>Do you plan to attend? Will you be speaking? </p>
<p><a href="http://gbgames.com/blog/2012/02/an-online-conference-you-can-attend-altdevconf/">An Online Conference You Can Attend #AltDevConf</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/02/an-online-conference-you-can-attend-altdevconf/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Reviewed: 2011; Previewed: Next Year</title>
		<link>http://gbgames.com/blog/2012/01/reviewed-2011-previewed-next-year/</link>
		<comments>http://gbgames.com/blog/2012/01/reviewed-2011-previewed-next-year/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 10:30:05 +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=1778</guid>
		<description><![CDATA[<p>Welcome to 2012! I hope you enjoy your stay!</p> <p>How was the last year for you? Mine was a mixed bag. </p> <p>First, the good:</p> I went to the Game Developers Conference for the first time, meeting and hobnobbing with the best and brightest of the game industry. GDC was a blast! I got engaged <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2012/01/reviewed-2011-previewed-next-year/">Reviewed: 2011; Previewed: Next Year</a></span><p><a href="http://gbgames.com/blog/2012/01/reviewed-2011-previewed-next-year/">Reviewed: 2011; Previewed: Next Year</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Welcome to 2012! I hope you enjoy your stay!</p>
<p>How was the last year for you? Mine was a mixed bag. </p>
<p><strong>First, the good:</strong></p>
<ul>
<li> I went to the Game Developers Conference for the first time, meeting and hobnobbing with the best and brightest of the game industry. GDC was a blast! </li>
<li>I got engaged on the balcony of Neuschwanstein Castle in Germany while taking a once-in-a-lifetime trip through Europe with her graduate class. </li>
<li>On the way back from that trip, I learned I had a new niece. The last time I saw her, she was already starting to walk. </li>
<li>In January, I started my term as a new board member of the <a href="http://asp-software.org/">Association of Software Professionals</a> and ended up becoming the President two months ago. </li>
<li>I finished a game for the <a href="http://gbgames.com/blog/2011/05/ld20-hot-potato-is-finished/">Ludum Dare #20 Jam</a> in May. </li>
<li>I started taking pre-orders for <a href="http://StopThatHero.com/">Stop That Hero!</a> at the end of September, and I released the alpha version of the game for sale a few weeks ago.</li>
</ul>
<p><strong>Now, the bad: </strong></p>
<ul>
<li>I&#8217;m probably in worst shape than when I started the year. </li>
<li>I missed the IGF deadline. </li>
<li>I&#8217;m out of money. </li>
</ul>
<p>While 2010 saw me make the leap into full-time indie game development, 2011 saw me struggle to stay there. My burn rate estimate said I should last through to October using only my savings. Years ago, I bought a few shares of stock, and I had to sell those recently at a loss (Thanks, economy!) to cover my expenses. While I&#8217;ve sold a few pre-orders and a couple of alpha versions since its release for Windows and GNU/Linux, <a href="http://StopThatHero.com/">Stop That Hero!</a> isn&#8217;t finished and won&#8217;t likely pay the bills anytime soon. And I still need to find a way to get the Mac port made for the Mac pre-order customers. I feel terrible about not having it made yet. B-(</p>
<p>So in terms of my business, was 2011 a failure? Yes, in the sense that my project was really late and overbudget, ruining any plans and revised plans continually throughout the year. Yes, in the sense that I no longer have my savings to allow me to focus on my business full-time. And yes in the sense that I feel I wasted my opportunity.</p>
<p>But no in the sense that I&#8217;m wiser for it all. I got an education without being saddled with student loans, at least. </p>
<p>Now, I learned a lot. Yes, I learned more about the technical details of making games. I gained some valuable, in-the-trenches experience in running a business on a scale I&#8217;ve never seen before.</p>
<p>But to be honest, that&#8217;s small comfort when I need look into contract work to make ends meet now. </p>
<p>I got a lot of advice throughout the last year. People told me that I was focusing too much on the technology and not enough on the game, that my insistence on making a downloadable game for GNU/Linux was a poor business decision when I should be targeting mobile and web-based platforms, that C++ was a poor language to use, that I should be focused on making quick games to see if one becomes a hit, that, basically, I was doing things wrong. In other words, I was being way too indie for their tastes, that I should be indie their way instead. B-)</p>
<p>It was all good advice, but I ignored most of it. It was my decision. And if I had to do it again, I&#8217;m not sure I would have done it differently. </p>
<p>My problems did not come from the technology I used or my target platforms, even though I could have done more to leverage existing libraries and to learn from open source games. My problems were not a matter of not using Flash or Unity, or of insisting on using GNU/Linux as my base development platform. If any of these were problems, they were mere symptoms.</p>
<p>My real problems stemmed from:</p>
<ul>
<li> a lack of experience. </li>
<li> a lack of collaboration. </li>
<li> being undisciplined in producing results. </li>
<li> ignoring cash flow. </li>
</ul>
<p>That last one sinks more businesses than any other issue. And I KNEW this fact, yet I kept pushing forward to get my game out as soon as I could, figuring that I would stop then to figure out what I was going to do. Every month ending without a released game had me thinking that I just needed a few more days, and a few more days, and the next thing I knew, it was a year later without a released version of the game to show for it.</p>
<p>When my business plan fell apart, I shouldn&#8217;t have put off fixing/rewriting it until after the product was finished. It seems obvious as I write this, but I guess my head was buried in my work, and I wanted to have something to show for my efforts. Instead of running a business, I was only focused on trying to make a game. There&#8217;s a lot more to running a game development business than game development.</p>
<p>Sadly, the one piece of advice I took to heart was probably the worst. I stopped writing so I could focus more of my time on game development. My writing is one of my biggest strengths and providers of value, and the less I wrote, the less chance I had of gaining an audience, getting feedback, and interacting with other game developers in general. I used to be the orange juice-drinking indie game blogging guy. Now I&#8217;m just another obscure struggling indie. </p>
<p><strong>To the future!</strong></p>
<p>So what&#8217;s 2012 going to look like? </p>
<p>Honestly, I&#8217;m not sure yet. I&#8217;m still figuring out my game plan, but here are some major themes. </p>
<p>I&#8217;ll be married in a few months. Woo!</p>
<p>Of course, it means it is even more important for me to figure out how to pay the bills. My expenses are already very low, so it is a matter of getting more income, and right now I don&#8217;t see how my business is going to provide it. I&#8217;m going to be looking for contract work, but I am keeping an eye out for creative funding opportunities. </p>
<p>As a result, I&#8217;ll once again have less time than I like for my business, which means I&#8217;ll need to make sure that I spend that time wisely. I intend to focus on creating results more rapidly than I have. Perhaps it means collaborating with other developers or using other technologies, but it will mean holding myself to deadlines and focusing on providing value consistently. </p>
<p>And you can bet that I&#8217;ll be writing about my progress. </p>
<p>I hope 2012 is prosperous and full of opportunity for you. I&#8217;m figuring out my plan to try to make the most of mine. Happy new year!</p>
<p><a href="http://gbgames.com/blog/2012/01/reviewed-2011-previewed-next-year/">Reviewed: 2011; Previewed: Next Year</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/01/reviewed-2011-previewed-next-year/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Why It Is Important to Document Even the Smallest Decisions</title>
		<link>http://gbgames.com/blog/2011/11/why-it-is-important-to-document-even-the-smallest-decisions/</link>
		<comments>http://gbgames.com/blog/2011/11/why-it-is-important-to-document-even-the-smallest-decisions/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 21:07:20 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Development]]></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=1757</guid>
		<description><![CDATA[<p>A week or so ago, I was configuring the hero summoning queue for my villages in &#8220;Stop That Hero!&#8221; (still available for pre-order!), and I couldn&#8217;t figure out why I had a special &#8220;END_QUEUE&#8221; for the last item in my queues. None of my code handled it, so it got ignored, and removing it didn&#8217;t <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2011/11/why-it-is-important-to-document-even-the-smallest-decisions/">Why It Is Important to Document Even the Smallest Decisions</a></span><p><a href="http://gbgames.com/blog/2011/11/why-it-is-important-to-document-even-the-smallest-decisions/">Why It Is Important to Document Even the Smallest Decisions</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 week or so ago, I was configuring the hero summoning queue for my villages in <a href="http://www.StopThatHero.com/">&#8220;Stop That Hero!&#8221; (still available for pre-order!)</a>, and I couldn&#8217;t figure out why I had a special &#8220;END_QUEUE&#8221; for the last item in my queues. None of my code handled it, so it got ignored, and removing it didn&#8217;t change anything adversely that I could see, so I removed it since I couldn&#8217;t remember why I put it there in the first place.</p>
<p>Today, while working on a new level layout, I created a village that summoned only one farmer. When play-testing, I found that right when the farmer appears, the game ends in victory for the player.</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/6391343759/" title="Premature Victory by gbgames, on Flickr"><img src="http://farm7.staticflickr.com/6058/6391343759_bb5a4cabd4_m.jpg" width="240" height="180" alt="Premature Victory"/></a></p>
<p>That&#8217;s odd&#8230;why would that happen?</p>
<p>My victory monitoring code checks all entities to see if there are any that are not on the player&#8217;s team. If there aren&#8217;t, then it checks all structures that summon entities owned by non-player teams to see if they are currently summoning anything. The idea is that at the beginning of the level, when no heroes have been summoned, the game doesn&#8217;t end in victory since they&#8217;re still coming, and victory only occurs when there are no more heroes being summoned AND there no more heroes left in the level. </p>
<p>The issue I was seeing is that right when a village spawns a farmer, the farmer doesn&#8217;t exist yet. It&#8217;s simply a new command to create a farmer. But the village no longer has a farmer in its queue and is empty. So the victory condition goes off and creates the end-game-in-victory-for-player command. So that&#8217;s why I see the farmer when the victory screen comes up. The farmer gets created and the game ends because both commands are run in the same update step.</p>
<p>And that&#8217;s why I had an &#8220;END_QUEUE&#8221; summon that doesn&#8217;t do anything. It&#8217;s to prevent this situation from happening. Now I remember. I ran into this issue before. The END_QUEUE summon is ignored, but the victory condition monitor sees that there is still something in the queue. By the time the END_QUEUE is &#8220;summoned&#8221; and gone, the entity creation should have happened for the previous item in the queue.</p>
<p>It was a stupid abuse of the system that I should have handled better the first time, but I didn&#8217;t think much of it. I needed to get things done, so I did the quick solution and promptly forgot about it.</p>
<p>Since I didn&#8217;t document what &#8220;END_QUEUE&#8221; was supposed to do when I came up with it, I spent part of my day trying to figure it out. </p>
<p>So there you go. Document your decisions, no matter how small. In fact, maybe the small decisions are even more important to document than the bigger ones.</p>
<p><a href="http://gbgames.com/blog/2011/11/why-it-is-important-to-document-even-the-smallest-decisions/">Why It Is Important to Document Even the Smallest Decisions</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/11/why-it-is-important-to-document-even-the-smallest-decisions/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>The End of the World</title>
		<link>http://gbgames.com/blog/2011/05/the-end-of-the-world/</link>
		<comments>http://gbgames.com/blog/2011/05/the-end-of-the-world/#comments</comments>
		<pubDate>Sat, 21 May 2011 10:30:33 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Health]]></category>
		<category><![CDATA[Personal Development]]></category>
		<category><![CDATA[Politics/Government]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=1686</guid>
		<description><![CDATA[<p>According to some people, the rapture is scheduled to occur today, with the end of the world to follow shortly. I don&#8217;t normally write about religion or politics on this blog, but I&#8217;ll relate a story I was told in high school that really impacted me. I am probably remembering parts of it wrong, but <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2011/05/the-end-of-the-world/">The End of the World</a></span><p><a href="http://gbgames.com/blog/2011/05/the-end-of-the-world/">The End of the World</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 some people, the rapture is scheduled to occur today, with the end of the world to follow shortly. I don&#8217;t normally write about religion or politics on this blog, but I&#8217;ll relate a story I was told in high school that really impacted me. I am probably remembering parts of it wrong, but I think the basic gist is still there.</p>
<blockquote><p>
There were three priests playing pool. One of the priests asked the others, &#8220;If you knew that the world was going to end in the next 10 minutes, what would you do?&#8221; </p>
<p>One priest answered, &#8220;I&#8217;d go to the church and lead the people in prayer. I&#8217;m sure there will be plenty who are afraid or lost, and I would want to be there with them to pray for forgiveness and strength.&#8221;</p>
<p>The next priest said, &#8220;I&#8217;d go home and pray alone, as Jesus suggested was best in the gospel according to Matthew. I&#8217;d shut myself in my room, and I&#8217;d pray for forgiveness and strength.&#8221;</p>
<p>The two looked at the third priest and asked him what he would do. He replied, &#8220;I&#8217;d finish this game.&#8221;</p></blockquote>
<p><a href="http://gbgames.com/blog/2011/05/the-end-of-the-world/">The End of the World</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/05/the-end-of-the-world/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>LD20: Hot Potato Windows Port Now Available!</title>
		<link>http://gbgames.com/blog/2011/05/ld20-hot-potato-windows-port-now-available/</link>
		<comments>http://gbgames.com/blog/2011/05/ld20-hot-potato-windows-port-now-available/#comments</comments>
		<pubDate>Wed, 04 May 2011 20:26:30 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Game Development]]></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=1671</guid>
		<description><![CDATA[<p>I updated my final Ludum Dare #20 Jam entry to include a link to the Windows port of Hot Potato. Whew! Now I can get back to working on Stop That Hero!. B-)</p> <p>LD20: Hot Potato Windows Port Now Available! is a post from: GBGames - Thoughts on Indie Game Development</p> <p><a href="http://gbgames.com/blog/2011/05/ld20-hot-potato-windows-port-now-available/">LD20: Hot Potato Windows Port Now Available!</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 updated my <a href="http://www.ludumdare.com/compo/ludum-dare-20/?action=preview&#038;uid=251">final Ludum Dare #20 Jam entry</a> to include a link to the Windows port of <i>Hot Potato</i>. Whew! Now I can get back to working on <i>Stop That Hero!</i>.  B-)</p>
<p><a href="http://gbgames.com/blog/2011/05/ld20-hot-potato-windows-port-now-available/">LD20: Hot Potato Windows Port Now Available!</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/05/ld20-hot-potato-windows-port-now-available/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>LD20: Hot Potato Development Time Lapse</title>
		<link>http://gbgames.com/blog/2011/05/ld20-hot-potato-development-time-lapse/</link>
		<comments>http://gbgames.com/blog/2011/05/ld20-hot-potato-development-time-lapse/#comments</comments>
		<pubDate>Tue, 03 May 2011 02:55:35 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Game Development]]></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=1669</guid>
		<description><![CDATA[<p>Here&#8217;s a video of my desktop through almost 72 hours of development of Hot Potato compressed into less than 2.5 minutes:</p> <p></p> <p>LD20: Hot Potato Development Time Lapse is a post from: GBGames - Thoughts on Indie Game Development</p> <p><a href="http://gbgames.com/blog/2011/05/ld20-hot-potato-development-time-lapse/">LD20: Hot Potato Development Time Lapse</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a video of my desktop through almost 72 hours of development of Hot Potato compressed into less than 2.5 minutes:</p>
<p><iframe width="425" height="349" src="http://www.youtube.com/embed/REEjow3U6sM" frameborder="0" allowfullscreen></iframe></p>
<p><a href="http://gbgames.com/blog/2011/05/ld20-hot-potato-development-time-lapse/">LD20: Hot Potato Development Time Lapse</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/05/ld20-hot-potato-development-time-lapse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LD20: Hot Potato is Finished</title>
		<link>http://gbgames.com/blog/2011/05/ld20-hot-potato-is-finished/</link>
		<comments>http://gbgames.com/blog/2011/05/ld20-hot-potato-is-finished/#comments</comments>
		<pubDate>Tue, 03 May 2011 02:01:36 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Game Development]]></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=1667</guid>
		<description><![CDATA[<p>It&#8217;s complete. I&#8217;m not satisfied with the balance or the feel, but Hot Potato is finished and submitted.</p> <p></p> <p>Oh. I should rebuild it on my Debian system since other people tend to have problems playing my game when I build a project on my Ubuntu system I might make a Windows port soon, but <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2011/05/ld20-hot-potato-is-finished/">LD20: Hot Potato is Finished</a></span><p><a href="http://gbgames.com/blog/2011/05/ld20-hot-potato-is-finished/">LD20: Hot Potato is Finished</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s complete. I&#8217;m not satisfied with the balance or the feel, but <i>Hot Potato</i> is finished and submitted.</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/5682406570/" title="Screenshot - Final with pedestrians by gbgames, on Flickr"><img src="http://farm6.static.flickr.com/5187/5682406570_26daf503a9.jpg" width="500" height="375" alt="Screenshot - Final with pedestrians"/></a></p>
<p><s>Oh. I should rebuild it on my Debian system since other people tend to have problems playing my game when I build a project on my Ubuntu system I might make a Windows port soon, but after 72 hours, I&#8217;m beat. I&#8217;ll update this post when I get those two things done. </s></p>
<p>Updated! I created the Windows port, and I rebuilt the game on my Debian system so that a wider variety of Linux-based systems should just work out of the box.</p>
<p>You can download it for:<br />
- <a href="http://dl.dropbox.com/u/9489022/gbgames-ld20-0.1.1-Linux.tar.gz"> GNU/Linux</a> (1.6MB tar.gz)<br />
- <a href="http://dl.dropbox.com/u/9489022/gbgames-ld20-Windows.zip">Windows </a> (3.12MB .zip)</p>
<p><a href="http://gbgames.com/blog/2011/05/ld20-hot-potato-is-finished/">LD20: Hot Potato is Finished</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/05/ld20-hot-potato-is-finished/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>LD20: Passing Through Chains of Entities Works Now</title>
		<link>http://gbgames.com/blog/2011/05/ld20-passing-through-chains-of-entities-works-now/</link>
		<comments>http://gbgames.com/blog/2011/05/ld20-passing-through-chains-of-entities-works-now/#comments</comments>
		<pubDate>Mon, 02 May 2011 21:07:38 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Game Development]]></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=1665</guid>
		<description><![CDATA[<p>Even without Pedestrians, I might have implemented one of the items on the list since I wanted to change the behavior of package passing.</p> <p>Now when a package is being shoved down a chain, the last courier in the chain receives the package. Technically, the only entities that would break the chain are the VIP <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2011/05/ld20-passing-through-chains-of-entities-works-now/">LD20: Passing Through Chains of Entities Works Now</a></span><p><a href="http://gbgames.com/blog/2011/05/ld20-passing-through-chains-of-entities-works-now/">LD20: Passing Through Chains of Entities Works Now</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Even without Pedestrians, I might have implemented one of the items on the list since I wanted to change the behavior of package passing.</p>
<p>Now when a package is being shoved down a chain, the last courier in the chain receives the package.  Technically, the only entities that would break the chain are the VIP and the Enemy Agents, so it should work once Pedestrians are in. I won&#8217;t scratch it off my list, however, until I code up some Pedestrian entities and test it out. </p>
<p>I&#8217;m getting concerned that my game world is too big. As I playtest, I realize that I&#8217;ve never made it all the way across to the VIP before the agents intercept my couriers, and it&#8217;s kind of tedious to click click click to get there. If Pedestrians make it take even longer to get to the VIP, I might need to shrink the plaza to avoid player tedium and RSI.</p>
<p>What’s left:<br />
<s>- moving the agents towards the package holder</s><br />
<s>- win condition check</s><br />
<s>- lose condition check</s><br />
<s>- allow multiple couriers to move during move phase</s><br />
<s>- shove passes through chain of couriers to last courier instead of next one </s><br />
- shoving package through pedestrians<br />
- adding pedestrians<br />
- moving pedestrians</p>
<p>5 hours left to go. Who wants to go for a stroll through the plaza?</p>
<p><a href="http://gbgames.com/blog/2011/05/ld20-passing-through-chains-of-entities-works-now/">LD20: Passing Through Chains of Entities Works Now</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/05/ld20-passing-through-chains-of-entities-works-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LD20: Multiple Couriers Can Move In One Phase</title>
		<link>http://gbgames.com/blog/2011/05/ld20-multiple-couriers-can-move-in-one-phase/</link>
		<comments>http://gbgames.com/blog/2011/05/ld20-multiple-couriers-can-move-in-one-phase/#comments</comments>
		<pubDate>Mon, 02 May 2011 18:30:36 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Game Development]]></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=1663</guid>
		<description><![CDATA[<p>Moving multiple couriers was a little tricky, but it was mainly because I didn&#8217;t realize what exactly I was supposed to be checking in my code.</p> <p>I originally created a mapping of Courier pointers to bool values to represent whether a courier has been moved already. </p> <p>std::map&#60;Courier *, bool&#62; m_couriersHaveMoved;</p> <p>At the beginning of <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2011/05/ld20-multiple-couriers-can-move-in-one-phase/">LD20: Multiple Couriers Can Move In One Phase</a></span><p><a href="http://gbgames.com/blog/2011/05/ld20-multiple-couriers-can-move-in-one-phase/">LD20: Multiple Couriers Can Move In One Phase</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Moving multiple couriers was a little tricky, but it was mainly because I didn&#8217;t realize what exactly I was supposed to be checking in my code.</p>
<p>I originally created a mapping of Courier pointers to bool values to represent whether a courier has been moved already. </p>
<p><code>std::map&lt;Courier *, bool&gt; m_couriersHaveMoved;</code></p>
<p>At the beginning of the Move phase, all of the values are set to false. When you select and move a Courier, its value is changed to true to indicate that it has already been moved. This way, during the Move phase, I can highlight only the active Couriers and prevent inactive Couriers from being clickable. As Couriers are moved, they become inactive and ineligible for later selection during this Move phase, and when it is time to move the Couriers again, they are reset to being active. Great!</p>
<p>The problem came when I tried to abuse those values to check if the move phase was completed.</p>
<p>It made sense at first. The Move phase is over when you have moved all of your Couriers. Checking if the Move phase is over was as simple as checking if any of the existing couriers had an associated false value in m_couriersHaveMoved.</p>
<p>Except there was a problem. If a courier COULD be moved but can&#8217;t due to the fact that all adjacent tiles are occupied, the Move phase would wait for you to click on a Courier, but none are selectable, so you wait forever, or at least until you pause the game and click &#8220;Return to Menu&#8221; to start over or quit in frustration.</p>
<p>So I tried to make sure that blocked couriers were considered finished with their move. Unfortunately, this had the side effect that if a courier is blocked at some point during the Move phase, it can&#8217;t be selected and moved later even if an adjacent tile opens up. Well, that&#8217;s unintuitive for the player! </p>
<p>Eventually I realized that I was trying to use the wrong solution to the problem.  The actual problem I&#8217;m trying to solve is knowing when the Move phase is completed. The solution has nothing to do with whether or not all of the couriers have made their moves. The solution is to check whether or not there are any tiles adjacent to ACTIVE couriers that are empty. </p>
<p>So now I have the ability to move multiple Couriers in the same Move phase, and I solved the new application-hanging problems that cropped up involving the difference between an inactive Courier and an active Courier that just happens to be unable to move at this time. </p>
<p>What’s left:<br />
<s>- moving the agents towards the package holder</s><br />
<s>- win condition check</s><br />
<s>- lose condition check</s><br />
<s>- allow multiple couriers to move during move phase</s><br />
- adding pedestrians<br />
- moving pedestrians<br />
- shoving package through pedestrians</p>
<p>Shoving is broken. It has been broken, but it wasn&#8217;t until I was able to use it more often that I can see what&#8217;s wrong. </p>
<p>Basically, shoving works fine if you shove a single Entity into the next empty square. There&#8217;s a potential bug when you shove entities into other entities. If an entity later down the chain can&#8217;t be shoved, it won&#8217;t be. But the entities earlier in the chain are still shoved, so it looks like one of the entities eats the other. </p>
<p>I need to do a complete chain check first before a shove is allowed. If the check says it is not possible, whether due to the existence of an unshoveable entity or the border of the game world, then no shove happens. If the check says it is possible, then the recursive shoving algorithm can go forward without a hitch. </p>
<p>Also, since shoving is how the package is passed off, I&#8217;d like the package to also shove through to the end of the chain if it is possible. Right now, it only passes to the first entity being shoved. </p>
<p>So with 7.5 hours left to go, I&#8217;m fixing shove mechanics before adding Pedestrians to make the game more interesting. After that, I suppose I would have time for sound effects and polish, but I hope to submit this game to the Jam long before the deadline so I can get back to actual work. Besides, it is Monday, and &#8220;Chuck&#8221; is on tonight.</p>
<p><a href="http://gbgames.com/blog/2011/05/ld20-multiple-couriers-can-move-in-one-phase/">LD20: Multiple Couriers Can Move In One Phase</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/05/ld20-multiple-couriers-can-move-in-one-phase/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

