<?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; Game Development</title>
	<atom:link href="http://gbgames.com/blog/category/game-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>Is Asking Customers to Pre-order a Bad Thing?</title>
		<link>http://gbgames.com/blog/2012/02/is-asking-customers-to-pre-order-a-bad-thing/</link>
		<comments>http://gbgames.com/blog/2012/02/is-asking-customers-to-pre-order-a-bad-thing/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 10:30:09 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Marketing/Business]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=1837</guid>
		<description><![CDATA[<p>A month ago, there was a post on Reddit asking what people thought about indie developers asking for money up front. </p> <p>Some people are fine if they get a good quality playable build for pre-ordering, but no one seemed to be happy with the idea of funding basic engine development. It seems the general <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2012/02/is-asking-customers-to-pre-order-a-bad-thing/">Is Asking Customers to Pre-order a Bad Thing?</a></span><p><a href="http://gbgames.com/blog/2012/02/is-asking-customers-to-pre-order-a-bad-thing/">Is Asking Customers to Pre-order a Bad Thing?</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 month ago, there was a post on Reddit <a href="http://www.reddit.com/r/IndieGaming/comments/nnuyl/what_do_you_think_of_indie_developers_asking_for/">asking what people thought about indie developers asking for money up front</a>. </p>
<p>Some people are fine if they get a good quality playable build for pre-ordering, but no one seemed to be happy with the idea of funding basic engine development. It seems the general consensus is that people are getting tired of the so-called &#8220;fad&#8221; of funding a game before it is finished with no guarantee that they will see a payoff. </p>
<p><i>Minecraft</i>&#8216;s wild success through pre-orders aside, it&#8217;s not really a new funding tactic at all. Lots of indie developers have tried to ask for money before their games are finished, and some have seen more success than others. </p>
<p>The <a href="http://www.amazon.com/gp/product/1584502142/ref=as_li_qf_sp_asin_tl?ie=UTF8&#038;tag=gb0f-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1584502142">Indie Game Development Survival Guide</a><img src="http://www.assoc-amazon.com/e/ir?t=gb0f-20&#038;l=as2&#038;o=1&#038;a=1584502142" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> by David Michael mentions how Samu Games started selling <i>Artifact</i> when it was in the beta testing stage, complete with perks for early customers. And this was in 1999.</p>
<p>Today, sites such as <a href="http://www.kickstarter.com/">KickStarter</a> and <a href="http://8bitfunding.com/">8-bit Funding</a> have enabled a number of high-profile projects to get funding from fans. Of course, a lot of projects don&#8217;t get funded and therefore don&#8217;t become high-profile. </p>
<p>So if you don&#8217;t have a big name to leverage like Notch or Andy Schatz or Derek Yu, are you doomed to obscurity? </p>
<p>No, but obviously an existing name brand helps. Otherwise, success at crowdfunding requires hard work to get your name out there. In other words, marketing. And you have to be able to demonstrate you can deliver the goods.</p>
<p>I started taking pre-orders for <a href="http://StopThatHero.com/">Stop That Hero!</a> late last year, and I&#8217;ll admit feeling a bit anxious about it at the time. I didn&#8217;t have the game in a playable state yet, and here I was asking people for money in anticipation of the initial release.</p>
<p>While I didn&#8217;t get many pre-orders, it was definitely a nice feeling to see people actually spending some money on my game. It showed some interest, and it gave me a productivity boost to know I had existing customers to satisfy. </p>
<p>Now, when it comes to how I marketed the <a href="http://www.StopThatHero.com/">Stop That Hero!</a> pre-order, I&#8217;m sure I did a lot of things wrong. Perhaps I should have had more videos of game play as I continued work. Maybe I should have been posting more screenshots. I could have chosen to prioritize work on certain features in the hopes that they would excite players more than the features I did work on. And maybe I wasn&#8217;t very assertive with asking for pre-orders in the first place.</p>
<p>At the time, I was struggling to get the alpha build across the finish line, but I kept getting good feedback from playtesters. Since the game was good enough to provide some enjoyment to players, it meant it was good enough to ask for players to pay for that enjoyment.</p>
<p>Now, of course some people weren&#8217;t happy with the idea of paying up front for a game they couldn&#8217;t see. And it&#8217;s hard to blame them. Since many game projects don&#8217;t get finished, it&#8217;s asking a lot to essentially gamble the cost of a pre-order on an unknown. Especially when indie developers don&#8217;t necessarily have the <a href="http://gbgames.com/blog/2012/01/my-offsite-backup-solutions/">offsite backup solutions</a> of larger studios when disaster strikes. See the <a href="http://projectzomboid.com/blog/index.php/2011/10/project-zomboid-burglary-statement/">Project Zomboid burglary</a> for an example. All of their code was gone when someone stole two laptops, so it was a huge setback for the developers who had to rely on outdated backups to continue.</p>
<p>And it didn&#8217;t sit well with some of their customers, judging by the Reddit thread. It seems this experience turned some people off of pre-orders and paying for early builds in general. </p>
<p>All that said, it seems that making pre-orders work requires regular, quality content. Basically, if you stop talking to your customers and prospects, they&#8217;ll stop caring. </p>
<p>But if all you do is talk and never produce anything, no one is going to stick around. Whether you&#8217;re taking pre-orders or pledges, you have to be able to show that you can deliver results.</p>
<p>If you can do both, then pre-orders are worthwhile. Otherwise, you&#8217;re wasting your customers&#8217; time as well as your own. </p>
<p><a href="http://gbgames.com/blog/2012/02/is-asking-customers-to-pre-order-a-bad-thing/">Is Asking Customers to Pre-order a Bad Thing?</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/is-asking-customers-to-pre-order-a-bad-thing/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Indie Maintenance and Disaster Plans</title>
		<link>http://gbgames.com/blog/2012/01/indie-maintenance-and-disaster-plans/</link>
		<comments>http://gbgames.com/blog/2012/01/indie-maintenance-and-disaster-plans/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 20:29:08 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Geek / Technical]]></category>
		<category><![CDATA[Marketing/Business]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=1825</guid>
		<description><![CDATA[<p>My Dell Precision M90, which has been running like a champ for more than half a decade despite my cats&#8217; attempts to get their fur clogged in its fans, is finally dying. I&#8217;ve been seeing graphical glitches for some time, but I&#8217;ve been able to continue working, and the glitches eventually go away. Except when <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2012/01/indie-maintenance-and-disaster-plans/">Indie Maintenance and Disaster Plans</a></span><p><a href="http://gbgames.com/blog/2012/01/indie-maintenance-and-disaster-plans/">Indie Maintenance and Disaster Plans</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>My Dell Precision M90, which has been running like a champ for more than half a decade despite my cats&#8217; attempts to get their fur clogged in its fans, is finally dying. I&#8217;ve been seeing graphical glitches for some time, but I&#8217;ve been able to continue working, and the glitches eventually go away. Except when they don&#8217;t. And recently, the machine won&#8217;t boot correctly.</p>
<p><a href="http://twitpic.com/8a1y6j" title="Well this isn&#039;t a good sign. on Twitpic"><img src="http://twitpic.com/show/thumb/8a1y6j.jpg" width="150" height="150" alt="Well this isn&#039;t a good sign. on Twitpic"/></a></p>
<p>The culprit seems to be a failing video card, which is way too expensive to replace. It&#8217;s frustrating since doing so would probably give this machine another few years of life.</p>
<p>I&#8217;ve been very happy with this machine, but it&#8217;s been slowly getting worse, and I realized that I had no plans for replacing it. So I&#8217;ve been either putting off the research so I can do the work I need to do, or I&#8217;ve been desperately trying to get the machine back up and running so I can continue to do that work, all the while knowing that I am going to need to spend some time (and money) on finding a replacement.</p>
<p>A large company probably has plans for this sort of thing, with IT departments bringing in spare equipment or ordering replacements. In fact, some companies have entire disaster preparedness plans in place. Replacing equipment quickly to ensure business continuity is just a part of such plans. </p>
<p>Since I purchased this laptop through Dell Small Business, I was able to get next-day on-site tech support that I only needed to take advantage of once towards the end of the extended warranty last year, and I was also able to replace the A/C adapter quickly after the cats chewed through the old cord a few years ago. Even knowing that the warranty was expiring, I didn&#8217;t really think through how I would continue to work without the laptop, which I should have realized was as inevitable as a hard drive dying.</p>
<p>And now that I think about it, perhaps the cats should worry about a replacement plan as well&#8230;</p>
<p>As an indie or solo entrepreneur, what do you do it? How prepared are you for equipment failure? Do you only start to worry about it the day your computer fails to boot, or do you anticipate the day your development equipment needs maintenance and replacement? Or do you constantly replace your machines with the latest and greatest and so don&#8217;t need to worry about longevity?</p>
<p><a href="http://gbgames.com/blog/2012/01/indie-maintenance-and-disaster-plans/">Indie Maintenance and Disaster Plans</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/indie-maintenance-and-disaster-plans/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Integrating LodePNG with an SDL Project</title>
		<link>http://gbgames.com/blog/2012/01/integrating-lodepng-with-an-sdl-project/</link>
		<comments>http://gbgames.com/blog/2012/01/integrating-lodepng-with-an-sdl-project/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 10:30:34 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Geek / Technical]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=1793</guid>
		<description><![CDATA[<p>In efforts to port Stop That Hero! to the Mac, I ran into a strange issue involving PNG image data. </p> <p>See, the level layout in &#8220;Stop That Hero!&#8221; is defined by a 50&#215;33 PNG. The colors of pixels in the PNG correspond to tiles and structures in the game. Grass tiles are represented in <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2012/01/integrating-lodepng-with-an-sdl-project/">Integrating LodePNG with an SDL Project</a></span><p><a href="http://gbgames.com/blog/2012/01/integrating-lodepng-with-an-sdl-project/">Integrating LodePNG with an SDL 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>In efforts to port <a href="http://StopThatHero.com/">Stop That Hero!</a> to the Mac, I ran into a strange issue involving PNG image data. </p>
<p>See, the level layout in &#8220;Stop That Hero!&#8221; is defined by a 50&#215;33 PNG. The colors of pixels in the PNG correspond to tiles and structures in the game. Grass tiles are represented in the PNG as green pixels, water is blue-green, mountains are gray, and so on. </p>
<p>This PNG (blown up since 50&#215;33 is so tiny):</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/6664440291/" title="Level 4 PNG by gbgames, on Flickr"><img src="http://farm8.staticflickr.com/7029/6664440291_dbcb24f43a.jpg" width="300" height="192" alt="Level 4 PNG"/></a></p>
<p>results in this level layout:</p>
<p><a href="http://www.gbgames.com/blog/images/STH_Level4GamePlay.png"><img alt="Stop That Hero! Bringing evil back..." src="http://www.gbgames.com/blog/images/STH_Level4GamePlay.png" title="Stop That Hero! Bringing evil back..." class="alignnone" width="400" height="301" /></a></p>
<p>I use libSDL_image in order to load image formats other than BMP, and on Windows and GNU/Linux, everything works as expected.</p>
<p>On the Mac, however, I was seeing a problem. It was as if most of the tile data was not getting loaded correctly. Instead of seeing grass, fields, forests, and mountains, I was only seeing mountains. And structure data was also not loading correctly. The player&#8217;s castle wasn&#8217;t appearing either, so the game always ends in defeat. </p>
<p>After ruling out endian issues (Intel-based Macs aren&#8217;t going to require any data-parsing changes from Intel-based Windows or GNU/Linux), I found that the pixel colors being returned from a loaded PNG weren&#8217;t what I expected.</p>
<p>I expect red-green-blue(RGB) data to be (0, 255, 0) for grass tiles, but the color that I was seeing was slightly different. </p>
<p>And it turned out that I wasn&#8217;t alone. A thread on the libSDL mailing list discussed a <a href="http://forums.libsdl.org/viewtopic.php?p=30317">similar pixel bug on Mac OS X</a>, and it turned out to be related to libSDL_image&#8217;s use of Apple&#8217;s ImageIO for the backend. I&#8217;m still not quite 100% clear on what the actual problem is, but the best I can figure out is that ImageIO tries to helpfully convert the image you&#8217;re loading so that it is more optimized for rendering on the specific Mac running the code. It&#8217;s not a problem if all you want to do is render images to the screen, but is a problem if you&#8217;re depending on the pixel data to be accurately decoded. </p>
<p>Last week <a href="http://forums.libsdl.org/viewtopic.php?p=31258">a fix was introduced</a> to solve this issue, but as it isn&#8217;t in the release version yet, and I didn&#8217;t want to convert my data or change how I was doing things, I decided a better way would be to replace libSDL_image in my own code. Thanks to a <a href="https://plus.google.com/108534848495359079135/posts/GXffGBymzau">conversation on Google+</a>, I was introduced to <a href="http://www.nothings.org/">stb_image</a> and <a href="http://lodev.org/lodepng/">LodePNG</a>, both of which are liberally licensed, comprehensive, PNG-handling modules of code. By comprehensive, I mean that unlike libSDL_image, I don&#8217;t also have to require zlib. You just drop in a couple of files into your project, and you&#8217;re done. </p>
<p>I opted for LodePNG because unlike stb_image, it not only loads PNGs but also saves them, and I want to make sure I don&#8217;t have to switch libraries again when I get around to creating a level editor. Also, quite frankly, it was less intimidating than stb_image being a .c file that leaves the production of the associated .h as an exercise for the programmer. </p>
<p>LodePNG had some examples associated with it, and while one example uses libSDL, it wasn&#8217;t clear how to load a PNG into an SDL_Surface. The example simply rendered the PNG to the screen. It was not what I wanted, and I could not find any code out on the Internet that used LodePNG and libSDL together. </p>
<p>So, in the interest of filling this gap, here&#8217;s how to load a PNG with LodePNG and store it into an SDL_Surface:</p>
<blockquote>
<pre>
SDL_Surface * loadImage(const char * filename)
{
    //Using LodePNG instead of SDL_image because of bug with Mac OS X
    //that prevents PNGs from being loaded without corruption.

    std::vector&lt;unsigned char&gt; image;
    unsigned width, height;
    unsigned error = LodePNG::decode(image, width, height, filename); //load the image file with given filename

    SDL_Surface * surface = 0;
    if (error == 0)
    {
        Uint32 rmask, gmask, bmask, amask;

#if SDL_BYTEORDER == SDL_BIG_ENDIAN
        rmask = 0xff000000;
        gmask = 0x00ff0000;
        bmask = 0x0000ff00;
        amask = 0x000000ff;
#else
        rmask = 0x000000ff;
        gmask = 0x0000ff00;
        bmask = 0x00ff0000;
        amask = 0xff000000;
#endif
        int depth = 32;
        surface = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, depth, rmask, gmask, bmask, amask);

        // Lock the surface, then store the pixel data.
        SDL_LockSurface(surface);

        unsigned char * pixelPointer = static_cast&lt;unsigned char *&gt;(surface->pixels);
        for (std::vector&lt;unsigned char&gt;::iterator iter = image.begin();
                    iter != image.end();
                    ++iter)
        {
            *pixelPointer = *iter;
            ++pixelPointer;
        }

        SDL_UnlockSurface(surface);

        SDL_Surface * convertedSurface = SDL_DisplayFormatAlpha(surface);
        if (convertedSurface != NULL)
        {
            SDL_FreeSurface(surface);
            surface = convertedSurface;
        }
    }

    return surface;
}
</pre>
</blockquote>
<p>Technically, the piece of code related to convertedSurface isn&#8217;t necessary, but SDL_DisplayFormat and SDL_DisplayFormatAlpha convert the surface to one that is optimized for rendering. And it doesn&#8217;t modify the pixel data, which means that if you depend on it for map layout or for doing interesting effects at run-time, it just works, like you expected. </p>
<p><a href="http://gbgames.com/blog/2012/01/integrating-lodepng-with-an-sdl-project/">Integrating LodePNG with an SDL 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/2012/01/integrating-lodepng-with-an-sdl-project/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>Stop That Hero! Development Summary</title>
		<link>http://gbgames.com/blog/2011/09/stop-that-hero-development-summary/</link>
		<comments>http://gbgames.com/blog/2011/09/stop-that-hero-development-summary/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 10:30:56 +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>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=1737</guid>
		<description><![CDATA[<p>The last time I wrote about Stop That Hero! development was in July. Here&#8217;s a quick summary of the work I&#8217;ve done since then:</p> <p>Fixed memory bugs</p> <p>I fixed a number of issues in July, specifically with weird corruption issues that seemed to result from the use of std::vector&#60;bool&#62; which is apparently not a real <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2011/09/stop-that-hero-development-summary/">Stop That Hero! Development Summary</a></span><p><a href="http://gbgames.com/blog/2011/09/stop-that-hero-development-summary/">Stop That Hero! Development Summary</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>The last time I wrote about <a href="http://www.StopThatHero.com/">Stop That Hero!</a> development was in July. Here&#8217;s a quick summary of the work I&#8217;ve done since then:</p>
<p><strong>Fixed memory bugs</strong></p>
<p>I fixed a number of issues in July, specifically with weird corruption issues that seemed to result from the use of std::vector&lt;bool&gt; which is apparently not a real vector of boolean values. I was easily able to discover where memory leaks were occurring with Valgrind.</p>
<p>Recently, I ran into a bizarre unit test failure when adding code to a module that had nothing to do with the unit test, and I discovered that I had introduced a bunch of memory leaks that were finally manifesting in such issues. It wasn&#8217;t hard to fix since I once again was able to use Valgrind, but it was tedious work. A lot of it was fixing dumb mistakes, too. I have no idea why I thought I could get away with the code I wrote when I wrote it.</p>
<p>Unless there are corruption problems, memory bugs are not usually a big deal during development. Still, it would be nice if I used tools that made it easier to avoid the problems in the first place. I use UnitTest++, but these memory leak issues would have been caught had I used a tool such as CPPUTest which fails tests if memory leaks.</p>
<p><strong>Added more minions, entities, and projectiles</strong></p>
<p>Once I made combat revolve around projectiles, I added fireball-launching dragons and warlocks. Warlocks will eventually have a magic spell they cast, but they launch fireballs because that was the only projectile I had at the time. </p>
<p>Recently, I added new heroes. Archers shoot arrows, and wizards cast lightning bolts. I eventually want to add villagers and knights and get rid of the generic Hero character.</p>
<p><a href="http://www.flickr.com/photos/29086141@N03/6186306849/" title="More Heroes Added by gbgames, on Flickr"><img src="http://farm7.static.flickr.com/6180/6186306849_1be60e5a25_m.jpg" width="240" height="180" alt="More Heroes Added"/></a></p>
<p><strong>Optimized rendering</strong></p>
<p>I&#8217;ve had the same update/rendering code for a long time, and on a whim, I added some logging to my game to find out why I wasn&#8217;t able to get 60 FPS even though I didn&#8217;t think I was doing much. </p>
<p>It turned out, I wasn&#8217;t doing much. All of my code ran within a millisecond, but the actual SDL call that blits to the window took between 30-50 ms to run!  The good news is that my own code isn&#8217;t slowing me down, but mathematically it&#8217;s impossible that SDL MUST render this slow since so many other SDL games run much faster. So I looked to find out what other people did to make it work.</p>
<p>Here&#8217;s the code I was using to set the video mode:<br />
<code>m_screen = sdlInstance->SDL_SetVideoMode(m_x, m_y, m_bitDepth, SDL_DOUBLEBUF);</code></p>
<p>And here&#8217;s a much faster version based on a thead at <a href="http://www.ubuntuforums.org/">Ubuntu Forums</a> that I apparently did not bookmark:<br />
<code>m_screen = sdlInstance->SDL_SetVideoMode(m_x, m_y, m_bitDepth, SDL_SWSURFACE | SDL_ASYNCBLIT | SDL_DOUBLEBUF | SDL_ANYFORMAT | SDL_SRCALPHA);</code></p>
<p>So I went from 30-50 ms to 8 ms. The game runs so much more smoothly now, and it didn&#8217;t take a lot of work at all.</p>
<p><strong>Switched away from pie menu</strong></p>
<p>Pie menus are great for usability, but only if you can guarantee that the menu can be displayed in its entirety around the mouse cursor. Since one goal with &#8220;Stop That Hero!&#8221; was to make the interface as simple as possible, I didn&#8217;t want a scrolling world. The entire world fits on the screen at once. To use pie menus, I&#8217;d have to reduce the world size to provide a border all so that buttons could fit on the screen if a tower was selected near the edges. </p>
<p>So I removed the pie menu and went back to a traditional UI at the top of the screen. </p>
<p><strong>Added resources and minion costs</strong></p>
<p>Before, I was adding minions to the game whenever I wanted. Now there are resource costs, and it takes time to summon a minion from a tower. The player starts with a base set of resources, and the current system adds 1 resource every second. It&#8217;s simple, and it works. I can experiment with resource mechanics, such as adding rewards for killing heroes or if certain minions collect items and bring them back to the player&#8217;s castle, but the basic system is in place. </p>
<p><strong>Made object creation more generic/data driven</strong></p>
<p>I initially tried to make the game as quickly as possible, so instead of trying to genericize object creation, I created a bunch of separate commands: CreateHeroCommand, CreateDragonCommand, CreateOrcCommand, etc.</p>
<p>While it worked, it was also very limiting. Each time I added a new type of entity or in-game object, I had to create a new command. Maybe that&#8217;s fine if I know what entities and objects I want to create up front, but it limits the design. Maybe I want to make weak squires, regular soldiers, and strong knights as variations on each other. The effort to write the code for the separate creation commands would be tedious and slow. </p>
<p>So I replaced all of those CreateXYZCommands with CreateObjectFromTemplate. Instead of having coded commands to create an orc, I create a template called Orc, which defines components and data that an orc would have. CreateObjectFromTemplate(&#8220;Orc&#8221;) then creates the components with the correct data, and an orc appears in the game world. </p>
<p>Templates can be created and changed much more easily than hardcoded commands, which means adding and tweaking minions, heroes, and other in-game objects is easier, which means game design and balancing is easier. It also allows me to data-drive the game a lot more, which means more interesting entities and game situations. </p>
<p><strong>Added timer-based summoning queues</strong></p>
<p>Both heroes and minions take time to appear. Minions are summoned and there is a summoning bar that lets you know how finished the current summon is. By using the same summoning queue code, I now have a Village which pops out heroes over time. </p>
<p>Timers seemed like a special case of general triggers. It would be nice to have dwarves pop out of caves if any entities come near or have other similar scripting in the game, but my initial attempt at general triggers might have been trying to do too much. Maybe for another game. </p>
<p><strong>What&#8217;s Next?</strong></p>
<p>The game is still silent, so eventually I would like to add some sound effects and music. Animations and special effects would really punch up the visuals, which need a consistent art direction. It&#8217;s all functional programmer art and will get replaced. </p>
<p>But the biggest thing left to do is improve the AI. Dragons can attack from distance, yet they still try to run up to the heroes the way melee fighters do. Also, entities tend to bunch up. 10 orcs attacking a hero tend to look like a single orc attacking the hero, and it is hard to see what&#8217;s happening. </p>
<p>My initial attempt at solving these problems resulted in unacceptable slowness last week, but I&#8217;ve identified what&#8217;s going on and think I have a fix for it. </p>
<p>But hey, this is AI work. I already know I can&#8217;t expect that I&#8217;ll figure it out in a matter of hours or days. There&#8217;s going to be a lot of changes, tweaks, and fixes until it looks right. </p>
<p>And besides game development work, there&#8217;s the work of marketing and selling the game. There&#8217;s a <a href="http://www.facebook.com/StopThatHero">&#8220;Stop That Hero!&#8221; Facebook page</a>, and I just sent out a newsletter to my list announcing the upcoming release. I&#8217;m hoping to get a pre-alpha release out soon.</p>
<p><a href="http://gbgames.com/blog/2011/09/stop-that-hero-development-summary/">Stop That Hero! Development Summary</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/stop-that-hero-development-summary/feed/</wfw:commentRss>
		<slash:comments>4</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>Meaningful Game Play Game Jam</title>
		<link>http://gbgames.com/blog/2011/08/meaningful-game-play-game-jam/</link>
		<comments>http://gbgames.com/blog/2011/08/meaningful-game-play-game-jam/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 16:00:27 +0000</pubDate>
		<dc:creator>GBGames</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Geek / Technical]]></category>

		<guid isPermaLink="false">http://gbgames.com/blog/?p=1722</guid>
		<description><![CDATA[<p>Josh Larson of God At Play wrote about meaningful game play. Josh&#8217;s definition:</p> <p>Meaningful game: a game that has significance or provides purpose for how one lives life.</p> <p>He specifically argues that there seems to be a lack of games with deeper meaning, and that there are not enough of them to satisfy the people <span style="color:#777"> . . . &#8594; Read More: <a href="http://gbgames.com/blog/2011/08/meaningful-game-play-game-jam/">Meaningful Game Play Game Jam</a></span><p><a href="http://gbgames.com/blog/2011/08/meaningful-game-play-game-jam/">Meaningful Game Play Game Jam</a> is a post from: <a href="http://gbgames.com/blog">GBGames - Thoughts on Indie Game Development</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Josh Larson of God At Play wrote about <a href="http://www.godatplay.com/2011/07/a-meaningful-gameplay-game-jam/">meaningful game play</a>. Josh&#8217;s definition:</p>
<blockquote><p>Meaningful game: a game that has significance or provides purpose for how one lives life.</p></blockquote>
<p>He specifically argues that there seems to be a lack of games with deeper meaning, and that there are not enough of them to satisfy the people who want to play deeper, more meaningful games. He identified the difficulty a game designer has when setting out to make a meaningful game. Where does one begin? Have there been attempts before? It&#8217;s hard to know what works and what doesn&#8217;t without actually doing it yourself because body of work available to build on is scarce.</p>
<p>His suggestion is that there should be game jams dedicated to Meaningful Game Play, where such experiments can be prototyped and critically analyzed. The goal would be to create a resource for game designers who wish to develop deeper, more meaningful games. </p>
<p>The first Meaningful Game Play Game Jam starts today at the BitMethod offices in Des Moines, IA. Details can be found at the newly launched <a href="http://www.meaningfulgameplay.com/2011/08/meaningful-gameplay-game-jam-1/">Meaningful Gameplay website</a>. </p>
<p>I&#8217;ll be there. Do you plan on attending? Do you want to participate in a Meaningful Game Play Game Jam? </p>
<p><a href="http://gbgames.com/blog/2011/08/meaningful-game-play-game-jam/">Meaningful Game Play Game Jam</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/meaningful-game-play-game-jam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

