<?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>BlackHC's Adventures in the Dev World &#187; GameInADay</title>
	<atom:link href="http://blog.blackhc.net/category/coding/game-projects/gameinaday/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.blackhc.net</link>
	<description>Just another weblog</description>
	<lastBuildDate>Wed, 16 Nov 2011 23:12:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Game in a Day Event September &#039;07</title>
		<link>http://blog.blackhc.net/2007/09/game-in-a-day-event-september-07/</link>
		<comments>http://blog.blackhc.net/2007/09/game-in-a-day-event-september-07/#comments</comments>
		<pubDate>Mon, 17 Sep 2007 23:15:57 +0000</pubDate>
		<dc:creator>BlackHC</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Game Projects]]></category>
		<category><![CDATA[GameInADay]]></category>

		<guid isPermaLink="false">http://blackhc.wordpress.com/2007/09/18/game-in-a-day-event-september-07/</guid>
		<description><![CDATA[<a href="http://blog.blackhc.net/2007/09/game-in-a-day-event-september-07/" title="Game in a Day Event September &#039;07"></a>The Game Oh dear, it's really been a while since I've found time and will to write anything for this blog. But things change and I'd like to write down a few things about this month's GID event. First, here's &#8230;<p class="read-more"><a href="http://blog.blackhc.net/2007/09/game-in-a-day-event-september-07/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://blog.blackhc.net/2007/09/game-in-a-day-event-september-07/" title="Game in a Day Event September &#039;07"></a><h3>The Game</h3>
<p>Oh dear, it's really been a while since I've found time and will to write anything for this blog. But things change and I'd like to write down a few things about this month's GID event.</p>
<p>First, here's a cross-link to the GID's board:  <a href="http://www.gameinaday.net/viewtopic.php?t=122" target="_blank" title="GID thread for the game">http://www.gameinaday.net/viewtopic.php?t=122</a></p>
<p>Now the game is called<strong> Fireworks!</strong> and it's about, well you might have guessed it, fireworks, but not really.<br />
I've rather taken a more unrealistic approach and thought about what fireworks look like in cartoons, etc. There they often explode to some drawing or shape, which of course is pretty much impossible. But the idea is nice, and since I've wanted to do some mouse-based/movement-based game, I thought that doing a firework-themed drawing game would be fun.</p>
<p><img src="http://icculus.org/~black/gid/0709/screenshot4.jpg" alt="Firework-themed game" align="right" height="150" hspace="10" vspace="10" width="200" /> See the screenshot on the right for what the firewor-theme looks like. You first draw over a shape that is shown and when you are finished the firework starts. You do this to collect as many points as possible to get into the highscore list (doesnt sound like duh?).</p>
<p>The actual idea consisted of actually drawing stuff freely and mistakes would appear in the final firework, too, but I had to give up that idea because I couldn't get T2D to render particles at a certain quantity at low FPS, too, and I didn't want to use separate objects for it.  Maybe the invalid strokes will come back , because I kind of like the idea of making invalid strokes more visible.</p>
<p>The score system is pretty ok but the UI suffered because of the time constraint and isn't as dynamic as it should be, but you can get boni and multipliers for lots of things.</p>
<p><img src="http://icculus.org/~black/gid/0709/screenshot1.jpg" alt="Original brush-based approach" align="right" height="150" hspace="10" vspace="10" width="200" /></p>
<p>Enough said, here's the link to the current final build (there might follow one with sounds later): <a href="http://icculus.org/~black/gid/0709/Fireworks!0.99.zip" title="Link to the final build" target="_blank">http://icculus.org/~black/gid/0709/Fireworks!0.99.zip</a></p>
<p>And here's an excerpt from the readme:</p>
<p><u>Preliminary Stuff</u></p>
<p>This is the almost or probably final version of Fireworks!, a GID game (15/16.9.2007).</p>
<p>Pure dev time: 19 hours atm spanning from Saturday till Monday.</p>
<p>The game is released as is, etc.</p>
<p>Most of the source scripts are included, so you can take a look at a few bits pretty clean code midst very hackish stuff.</p>
<p><u> About the Game</u></p>
<p>It's pretty simple:<br />
You have to draw over the contours visible in each level to earn points and start/arrange the fireworks (that's pretty much the story).</p>
<p>The score system is pretty simple:<br />
The longer you stay on a contour (the cursor trail is cyan), the more points you get, and after many points in a row, you receive a power multiplier as reward.<br />
Likewise, if you draw fast enough over a part of a contour that hasnt been painted yet (purple at the beginning, green if you've already drawn over it), you'll receive a speed multipier. Also if you manage to finish multiple contours with one, you'll get a combo multiplier.</p>
<p>Each multiplier starts with x2 and increases if you draw accordingly.</p>
<p>But be careful! The multipliers are only applied to the score of your stroke, when you release the mouse button! They add up and multiply your score: e.g. +1000 x + 2 + 2 means 1000 * (2+2). And if you miss a line or your mouse slips a bit and the cursor trail turns red, you'll lose the combo and the power multiplier (not the speed one, though)!<br />
So be careful and don't try to make too big a combo or draw too difficult a contour at once because you could lose lots of points...</p>
<p>If you manage to paint a whole contour line with one stroke, it'll double your current score and also increment your combo multiplier. Same if you manage to paint all contour lines with only one stroke per line. Last but not least, one last word: there's a highscore and there are 5 levels at the moment. There is no game-over condition yet, so you can simply play through all levels and try to get a good highscore.</p>
<h3> Post-mortem</h3>
<p><span id="more-67"></span></p>
<ul>
<li>Don't always get lost searching for some stupid tools that aren't really that necessary for the project</li>
</ul>
<p>Ok, this time I can't say that I did a lot of bad things, although I think I've spent way too much time trying to find a good GIF animator to build the gif movies with (quite possibly 4-5 hours over the course of the last three days).</p>
<ul>
<li>Beware possible feature creep and rather try to cut and stay focused on the game vision</li>
</ul>
<p>Development itself went fairly smoothly although I almost got lost with the particle brush feature: I probably spent 3 hours on it, until I realized that it wouldn't work under the setting I've been planning for it, and I had to refocus on the actual game instead of toying around with it some more.</p>
<ul>
<li>Limit yourself on the engine and try to stay inside the game script side of things</li>
</ul>
<p>I think it was a good decision to use vanilla TGB 1.1.3 (although I maybe should have tried working with 1.1.5 for this game) and not doing any engine changes, because it helped me concentrate on the important gameplay ideas instead of implementing everything cleanly and properly. Plus it kept me from debugging the engine at all. On the downside it again took me half an hour to remember the parameter passing bug in eval statements in vanilla TorqueScript and use the work-around in my code. Also the t2dPath implementation is horrible <strong>and buggy!</strong> And I thank god, that it didn't blow up all the time and I was able to correct the mess ups with a text editor or simply recreate the level.</p>
<ul>
<li>Be flexible about the game design and simply <em>keep it simple, stupid</em> (again!)</li>
</ul>
<p>The original game I envisioned isn't all that different from the outcome but it still is different enough that I wouldn't have imagined it to be this way. The design changed a fair bit with me making up my mind on it only Sunday morning (while showering). I spent most of Saturday night with feature proof-of-contest coding and setting up everything for the actual gameplay code. Being open to changes helped me a great bit, because I would simply adapt the game look and design to limitations (both time and feature), and keep on creating a playable game.</p>
<ul>
<li>Try to reward the player with nice graphics and sounds</li>
</ul>
<p>I think the visuals help the game a lot because you really rather play something that looks nice. At the same time it's a pity and a real problem that the game doesn't make use of any sounds or background music and this hurts it quite a lot.</p>
<ul>
<li>Good/intelligent level design is even more important for small prototypes</li>
</ul>
<p>Another thing I only learnt a short while ago about is that the order of the levels (something I spent less than a minute on) had a huge implication on how the gameplay was perceived by players. Because the the first levels can be solved by making one continuous stroke, many players thought that this was the main task of the game and were confused when they played on.<br />
For me the level design simply was something to  do half an hour before the planned release because I was only concerned with the code and  showing that it works well, whereas actually the level design is more important than the code because only it determines how the game is viewed (fun or boring). I certainly have to spend more time and consideration on level design at the next GID.</p>
<p>All in all though it went fairly well and even if the game might not be as much fun as it could have been, I still am of the opinion that it looks and play fairly professional for a game that has been produced in less than 20 manhours.</p>
<p>That's it for today.<br />
Over and out,<br />
BlackHC</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blackhc.net/2007/09/game-in-a-day-event-september-07/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Game in a Day Event (June &#039;07)</title>
		<link>http://blog.blackhc.net/2007/06/game-in-a-day-event-june-07/</link>
		<comments>http://blog.blackhc.net/2007/06/game-in-a-day-event-june-07/#comments</comments>
		<pubDate>Mon, 18 Jun 2007 22:02:33 +0000</pubDate>
		<dc:creator>BlackHC</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Game Projects]]></category>
		<category><![CDATA[GameInADay]]></category>

		<guid isPermaLink="false">http://blackhc.wordpress.com/2007/06/19/game-in-a-day-event-june-07/</guid>
		<description><![CDATA[<a href="http://blog.blackhc.net/2007/06/game-in-a-day-event-june-07/" title="Game in a Day Event (June &#039;07)"></a>This weekend I've participated for the first time in the GID event. The common task is to create a running game prototype in 24 hours (24 hours pure developement time + naps is allowed, too). I think it went well &#8230;<p class="read-more"><a href="http://blog.blackhc.net/2007/06/game-in-a-day-event-june-07/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://blog.blackhc.net/2007/06/game-in-a-day-event-june-07/" title="Game in a Day Event (June &#039;07)"></a><p><img src="http://www.gameinaday.net/testlogo.jpg" alt="Official GID Logo" align="right" height="105" hspace="5" vspace="5" width="385" />This weekend I've participated for the first time in the GID event. The common task is to create a running game prototype in 24 hours (24 hours pure developement time + naps is allowed, too).</p>
<p>I think it went well considering that this was my first participation but essentially I've failed because my game prototype is nowhere near finished. It's rather at an early proof-of-concept stage instead...</p>
<p>Let me introduce the prototype/game quickly - it has no name yet, so let us look at some screenshots instead:</p>
<p><img src="http://icculus.org/~black/gid/0706/teaser.gif" alt="Teaser" height="300" hspace="10" vspace="10" width="400" /></p>
<p><img src="http://icculus.org/~black/gid/0706/finallyWalking.gif" alt="A running stickman" height="300" hspace="10" vspace="10" width="400" /></p>
<p>You see, it's about a stickman that can move. I'm not going to go into more details yet because the game doesn't consist of much more right now.<br />
If you want to see a more interesting animation though, <a href="http://icculus.org/~black/gid/0706/Supercompressed_walkRunFrontDone_small.GIF" title="Wall Run Teaser" target="_blank">click here</a>.</p>
<p>For those interested here's a postmortem.</p>
<p><span id="more-65"></span></p>
<h3 align="center">Postmortem</h3>
<p>The first problem arose right when I wanted to start: what should I code?</p>
<p>I've come up with a few different ideas the days before the GID started:<br />
a Zone66/Baryon remake (space-shooter like),  a Prince of Persia remake and/or a platform game in general or a game which was consisted of drawing shapes with the mouse - <em>I've played a few very neat games of this kind lately: <a href="http://www.konjak.org/chalk.htm" title="Chalk" target="_blank">Chalk</a> and <a href="http://www.kloonigames.com/blog/games/crayon/" title="Crayon Physics" target="_blank">Crayon Physics</a></em> - and I felt that this was an idea that I'd really love to explore but on the other hand I couldn't come up with an interesting and original gameplay idea.</p>
<p>Beforehand I've prepared a few things for a possible platform game. I really love stickman flash animations (for example the one <a href="http://www.killsometime.com/animations/animation.asp?ID=135" title="Stickman Flash Animation" target="_blank">here</a>) and thus I've decided that a stickman would be the perfect protagonist, especially since it certainly is easy to create good-looking animations for him.</p>
<p>Searching around with Google, I've also found a very neat tool called <a href="http://www.geocities.com/peter_bone_uk/pivot.html" title="Pivot Stickfigure Animator" target="_blank">Pivot Stickfigure Animator</a>, which allows one to easily create animations for stickfigures and other similar shapes and export them to animated GIFs.</p>
<p>An idea I had Saturday morning was a game in which the stickman is running all the time and you have to do cool moves to avoid obstacles and maybe fight enemies. This should create tension and force the player to always pay attention while rewarding him with neat animations and fun gameplay.<br />
The feelings created in the players should be similar to those I felt when playing <strong>Prince of Persia: Warrior Within </strong>when you're trying to escape from the time guardian - <em>I really love these parts of the game! </em>- but at first I thought that the idea was not worth pursuing. Later though, Juz from #q3mods proposed the same gameplay idea and I told myself that this can't be a coincidence and decided to create my prototype based on it.</p>
<p>So I've only been able to come up with a good game idea late into Saturday afternoon while the others were already working on their games which is the first thing that went wrong: <strong>unsufficient preparation</strong>.</p>
<p>The next one was that I concentrated too much on creating art and sadly the results aren't stunning despite the time I've spent on creating the animations. A reason for this could have been my horrible and most terrible art pipeline which looks like this:<br />
Pivot Animator -&gt; GIF Constructor -&gt; GIMP -&gt; GIF Constructor -&gt; GIMP -&gt; TGB<br />
This couldn't be automated and every step had to be done by hand.</p>
<p>After about 10 hours of work the game was <a href="http://icculus.org/~black/gid/0706/Supercompressed_newFeature.gif" target="_blank">this</a> far. I've also lost quite some time (~2.5h) developing a movement cache system that wasn't used at all because the game never got far enough to support more complex moves and combos which is another thing that went wrong: <strong>wasting time on useless stuff</strong>.</p>
<p>It also turned out that although I have already developed a few games in TGB I still didn't know some systems well enough (mainly collisions and physics) because I've never coded a platform game before and I had to use trial&amp;error quite frequently while implementing new features.<br />
Which leads to another thing that I could have done better: <strong>know your tools beforehand!</strong></p>
<p>And last but not least, now that I'm looking at my end-product, I realize that I haven't stayed with the simplistic gameplay idea I've had in the beginning but instead diverged to a too complex game ; thus last two items on my list of stuff that went wrong are: <strong>violation of the KISS <em>(keep it simple, stupid!)</em> principle and feature-creep.</strong></p>
<p>On the other hand there are a few things that went right, too:<br />
This is the first time I've developed a game using rapid iterative development and it worked surprisingly well: hack a few features into the game first as fast as possible, then clean-up and refactor the code afterwards and repeat. (Normally I'm attempting to write the clean version directly but this takes more planning.)</p>
<p>Moreover I've learnt many things about TGB I haven't known before and I've grown even more fond of it as a game development system.<br />
And ultimately I'm going to continue development of this game even after the GID's deadline because I really like my stickfigures.</p>
<p><!--more--></p>
<p>On other news I've finally finished my A-Level exams and it seems that I've really rocked them. Tomorrow I'll be allowed to take a look at the marking and hopefully that will explain why I got such good marks..</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blackhc.net/2007/06/game-in-a-day-event-june-07/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

