<?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/"
	>

<channel>
	<title>Deadrock</title>
	<atom:link href="http://www.deadrock-game.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.deadrock-game.com/blog</link>
	<description>Development news for Deadrock and games industry commentary</description>
	<pubDate>Sat, 25 Oct 2008 11:28:17 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Destructoided</title>
		<link>http://www.deadrock-game.com/blog/?p=30</link>
		<comments>http://www.deadrock-game.com/blog/?p=30#comments</comments>
		<pubDate>Sat, 25 Oct 2008 11:28:17 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Cottage of Doom]]></category>

		<category><![CDATA[Game reviews]]></category>

		<category><![CDATA[Destructoid]]></category>

		<guid isPermaLink="false">http://www.deadrock-game.com/blog/?p=30</guid>
		<description><![CDATA[Cottage of Doom reviewed on Destructoid:
Cottage of Doom, winner of TIGSource&#8217;s B-Game Competition, is one part shooter, one part tower defense, and one part survival horror. It is, in other words, totally addictive and awesome.
&#8230;
Cottage of Doom&#8217;s most interesting mechanic, by far, is the player&#8217;s ability to block windows, doors, and entire areas off by [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.deadrock-game.com/files/cottageofdoomsetup1.0.exe">Cottage of Doom</a> reviewed on <a href=" http://www.destructoid.com/indie-nation-37-cottage-of-doom-109057.phtml">Destructoid</a>:</p>
<blockquote><p>Cottage of Doom, winner of TIGSource&#8217;s B-Game Competition, is one part shooter, one part tower defense, and one part survival horror. It is, in other words, totally addictive and awesome.</p>
<p>&#8230;</p>
<p>Cottage of Doom&#8217;s most interesting mechanic, by far, is the player&#8217;s ability to block windows, doors, and entire areas off by moving furniture. Though it sounds like a small thing, there&#8217;s literally no other zombie game I can think of (heck, maybe no other game, period) which allows you to dynamically barricade certain parts of a house. </p>
<p>In most zombie games, barricading is a binary thing: you either do it, or you don&#8217;t. In Cottage of Doom, barricading is an integral, strategic part of the game. If you don&#8217;t keep the right parts of the cottage defended, you&#8217;ll get overwhelmed quickly. If you don&#8217;t destroy certain barricades ot get ammo from them, you won&#8217;t be able to take out the encroaching zombies. If you can&#8217;t strategize and find a good balance between blasting the undead and maintaining your barricades and doors, you&#8217;ll be screwed.</p>
<p>The barricading system almost makes Cottage of Doom more of a strategy game than an action title. Blasting zombies is fun, of course, but the gunplay never gets any more complicated than &#8220;click on this zombie a few times to kill it,&#8221; while the barricading gameplay has an incredible amount of depth and nuance. I&#8217;m not typically one to enjoy thinking in my zombie games, but Cottage of Doom tricked me into loving every minute of strategic, furniture-moving glory.</p></blockquote>
<p>Thanks Anthony! Glad you liked it :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deadrock-game.com/blog/?feed=rss2&amp;p=30</wfw:commentRss>
		</item>
		<item>
		<title>Efficient game development in C#</title>
		<link>http://www.deadrock-game.com/blog/?p=28</link>
		<comments>http://www.deadrock-game.com/blog/?p=28#comments</comments>
		<pubDate>Thu, 31 Jul 2008 15:49:12 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Independent development]]></category>

		<category><![CDATA[bitterman]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[engine]]></category>

		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.deadrock-game.com/blog/?p=28</guid>
		<description><![CDATA[Some good articles plus a free library were posted up at Bitterman&#8217;s blog. The articles cover making your game development more efficient by using various tecniques allowing you to modify stuff while the game is running, helping out with your debugging, profiling etc. Great articles that may teach you a thing or two about some [...]]]></description>
			<content:encoded><![CDATA[<p>Some good articles plus a free library were posted up at <a href="http://bittermanandy.wordpress.com/">Bitterman&#8217;s blog</a>. The articles cover making your game development more efficient by using various tecniques allowing you to modify stuff while the game is running, helping out with your debugging, profiling etc. Great articles that may teach you a thing or two about some nice features of C# too.</p>
<p><a href="http://bittermanandy.wordpress.com/2008/07/26/efficient-development-part-one/">Efficient Development - part one</a><br />
<a href="http://bittermanandy.wordpress.com/2008/07/28/efficient-development-part-two/">Efficient Development - part two</a><br />
<a href="http://bittermanandy.wordpress.com/2008/07/28/efficient-development-part-three/">Efficient Development - part three</a><br />
<a href="http://bittermanandy.wordpress.com/2008/07/30/efficient-development-part-four/">Efficient Development - part four</a></p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deadrock-game.com/blog/?feed=rss2&amp;p=28</wfw:commentRss>
		</item>
		<item>
		<title>Survival Crisis Z</title>
		<link>http://www.deadrock-game.com/blog/?p=27</link>
		<comments>http://www.deadrock-game.com/blog/?p=27#comments</comments>
		<pubDate>Thu, 10 Jul 2008 07:11:22 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Deadrock]]></category>

		<category><![CDATA[fuck this]]></category>

		<guid isPermaLink="false">http://www.deadrock-game.com/blog/?p=27</guid>
		<description><![CDATA[Ska Software, whose games I love, have a really, really awesome free game called Survival Crisis Z that makes me want to just give up and abandon Deadrock forever. Why should I bother now? What is the point? SCZ is the game Deadrock is supposed to be, pretty much.

]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.skasoftware.com/">Ska Software</a>, whose games I love, have a really, really awesome free game called <a href="http://skasoftware.com/files/scz.exe">Survival Crisis Z</a> that makes me want to just give up and abandon Deadrock forever. Why should I bother now? What is the point? SCZ is the game Deadrock is supposed to be, pretty much.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/jSGD6QFqnow&#038;rel=0&#038;color1=0x3a3a3a&#038;color2=0x999999&#038;hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/jSGD6QFqnow&#038;rel=0&#038;color1=0x3a3a3a&#038;color2=0x999999&#038;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.deadrock-game.com/blog/?feed=rss2&amp;p=27</wfw:commentRss>
		</item>
		<item>
		<title>Dyson plans</title>
		<link>http://www.deadrock-game.com/blog/?p=26</link>
		<comments>http://www.deadrock-game.com/blog/?p=26#comments</comments>
		<pubDate>Wed, 18 Jun 2008 17:00:54 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Devlog]]></category>

		<category><![CDATA[Dyson]]></category>

		<category><![CDATA[News]]></category>

		<category><![CDATA[Omni]]></category>

		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">http://www.deadrock-game.com/blog/?p=26</guid>
		<description><![CDATA[Thanks to everyone who left feedback on Dyson.
I&#8217;ve been discussing Dyson with Rudolf, who is the chief designer on this project. The plans we have laid out for the game design actually incorporate many of the ideas that people have fed back after playing the game. Partly it&#8217;s because they&#8217;re great ideas and we want [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to everyone who left feedback on Dyson.</p>
<p>I&#8217;ve been discussing Dyson with <a href="http://www.omni-labs.com">Rudolf</a>, who is the chief designer on this project. The plans we have laid out for the game design actually incorporate many of the ideas that people have fed back after playing the game. Partly it&#8217;s because they&#8217;re great ideas and we want to give people what they want, and partly it&#8217;s because we had already planned to put these elements of the design in.</p>
<p>Among these additions will be a limitation of how far you can expand; more emphasised attribute effects; interface improvements; defensive structures; improved enemy AI; more visual feedback. Hopefully when we&#8217;re done, we will have a more rounded and complete game. If you&#8217;d like to know more, do feel free to write to Rudolf or me. We really love getting feedback.</p>
<p>I&#8217;ve been on a break after the competition deadline, but I couldn&#8217;t help messing around with a few bits of code to make the trees look nicer. This is an early prototype of the code:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/BdfovaTLKuY&#038;hl=en"></param><embed src="http://www.youtube.com/v/BdfovaTLKuY&#038;hl=en" type="application/x-shockwave-flash" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.deadrock-game.com/blog/?feed=rss2&amp;p=26</wfw:commentRss>
		</item>
		<item>
		<title>Dyson</title>
		<link>http://www.deadrock-game.com/blog/?p=25</link>
		<comments>http://www.deadrock-game.com/blog/?p=25#comments</comments>
		<pubDate>Tue, 03 Jun 2008 13:10:02 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[News]]></category>

		<category><![CDATA[Screenshots]]></category>

		<category><![CDATA[competitions]]></category>

		<category><![CDATA[Dyson]]></category>

		<guid isPermaLink="false">http://www.deadrock-game.com/blog/?p=25</guid>
		<description><![CDATA[I took a month out from Deadrock to participate in TIGSource&#8217;s procedurally generated content competition.
I teamed up with a good friend of mine and we are quite proud of what we ended up with.
Dyson is a kind of RTS about taking over an asteroid belt. There&#8217;s even some procedural content in there that may be [...]]]></description>
			<content:encoded><![CDATA[<p>I took a month out from Deadrock to participate in TIGSource&#8217;s <a href="http://forums.tigsource.com/index.php?topic=1646.0">procedurally generated content competition</a>.</p>
<p>I teamed up with a good friend of mine and we are quite proud of what we ended up with.</p>
<p>Dyson is a kind of RTS about taking over an asteroid belt. There&#8217;s even some procedural content in there that may be useful for Deadrock, so the time taken to write the game was definitely not wasted in Deadrock terms.</p>
<p>Here are a few screenshots:</p>
<p><a href="http://www.deadrock-game.com/img/shots/procgen/2008-06-03-screenshot-1.jpg"><img src="http://www.deadrock-game.com/img/shots/procgen/2008-06-03-screenshot-1-thumb.JPG" alt="screenshot" /></a><a href="http://www.deadrock-game.com/img/shots/procgen/2008-06-03-screenshot-2.jpg"><img src="http://www.deadrock-game.com/img/shots/procgen/2008-06-03-screenshot-2-thumb.JPG" alt="screenshot" /></a><br />
<a href="http://www.deadrock-game.com/img/shots/procgen/2008-06-03-screenshot-3.jpg"><img src="http://www.deadrock-game.com/img/shots/procgen/2008-06-03-screenshot-3-thumb.JPG" alt="screenshot" /></a><a href="http://www.deadrock-game.com/img/shots/procgen/2008-06-03-screenshot-4.jpg"><img src="http://www.deadrock-game.com/img/shots/procgen/2008-06-03-screenshot-4-thumb.JPG" alt="screenshot" /></a></p>
<p>You can <a href="http://www.deadrock-game.com/files/Dyson.rar">download the game here</a>.</p>
<p>All feedback gratefully received!</p>
<p>The official competition thread is <a href="http://forums.tigsource.com/index.php?topic=1750.0">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deadrock-game.com/blog/?feed=rss2&amp;p=25</wfw:commentRss>
		</item>
		<item>
		<title>Town generation baby steps</title>
		<link>http://www.deadrock-game.com/blog/?p=24</link>
		<comments>http://www.deadrock-game.com/blog/?p=24#comments</comments>
		<pubDate>Sat, 03 May 2008 11:39:23 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Deadrock]]></category>

		<category><![CDATA[Devlog]]></category>

		<category><![CDATA[cities]]></category>

		<category><![CDATA[density]]></category>

		<category><![CDATA[population]]></category>

		<category><![CDATA[procedural]]></category>

		<category><![CDATA[roads]]></category>

		<category><![CDATA[towns]]></category>

		<guid isPermaLink="false">http://www.deadrock-game.com/blog/?p=24</guid>
		<description><![CDATA[I&#8217;ve been working on town generation for a while now, since the last update. I did a bunch of internet research and I have a bunch of links to throw up on the blog here but I haven&#8217;t written it up yet. So here&#8217;s an update of what&#8217;s been going on.
A week ago:




And today:


What you [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on town generation for a while now, since the last update. I did a bunch of internet research and I have a bunch of links to throw up on the blog here but I haven&#8217;t written it up yet. So here&#8217;s an update of what&#8217;s been going on.</p>
<p>A week ago:<br />
<a href="http://www.deadrock-game.com/img/shots/mapgen/2008-04-26-mapgen-1.png"><img src="http://www.deadrock-game.com/img/shots/mapgen/2008-04-26-mapgen-1Thumb.png" alt="" /></a><a href="http://www.deadrock-game.com/img/shots/mapgen/2008-04-26-mapgen-2.png"><img src="http://www.deadrock-game.com/img/shots/mapgen/2008-04-26-mapgen-2Thumb.png" alt="" /></a><br />
<a href="http://www.deadrock-game.com/img/shots/mapgen/2008-04-26-mapgen-3.png"><img src="http://www.deadrock-game.com/img/shots/mapgen/2008-04-26-mapgen-3Thumb.png" alt="" /></a><a href="http://www.deadrock-game.com/img/shots/mapgen/2008-04-26-mapgen-4.png"><img src="http://www.deadrock-game.com/img/shots/mapgen/2008-04-26-mapgen-4Thumb.png" alt="" /></a></p>
<p><a href="http://www.deadrock-game.com/img/shots/mapgen/2008-04-28-mapgen-1.png"><img src="http://www.deadrock-game.com/img/shots/mapgen/2008-04-28-mapgen-1Thumb.png" alt="" /></a><a href="http://www.deadrock-game.com/img/shots/mapgen/2008-04-28-mapgen-2.png"><img src="http://www.deadrock-game.com/img/shots/mapgen/2008-04-28-mapgen-2Thumb.png" alt="" /></a><br />
<a href="http://www.deadrock-game.com/img/shots/mapgen/2008-04-28-mapgen-3.png"><img src="http://www.deadrock-game.com/img/shots/mapgen/2008-04-28-mapgen-3Thumb.png" alt="" /></a><a href="http://www.deadrock-game.com/img/shots/mapgen/2008-04-28-mapgen-4.png"><img src="http://www.deadrock-game.com/img/shots/mapgen/2008-04-28-mapgen-4Thumb.png" alt="" /></a></p>
<p>And today:<br />
<a href="http://www.deadrock-game.com/img/shots/mapgen/2008-05-03/2008-05-03-mapgen-1.png"><img src="http://www.deadrock-game.com/img/shots/mapgen/2008-05-03/2008-05-03-mapgen-1Thumb.png" alt="" /></a><a href="http://www.deadrock-game.com/img/shots/mapgen/2008-05-03/2008-05-03-mapgen-2.png"><img src="http://www.deadrock-game.com/img/shots/mapgen/2008-05-03/2008-05-03-mapgen-2Thumb.png" alt="" /></a><br />
<a href="http://www.deadrock-game.com/img/shots/mapgen/2008-05-03/2008-05-03-mapgen-3.png"><img src="http://www.deadrock-game.com/img/shots/mapgen/2008-05-03/2008-05-03-mapgen-3Thumb.png" alt="" /></a><a href="http://www.deadrock-game.com/img/shots/mapgen/2008-05-03/2008-05-03-mapgen-4.png"><img src="http://www.deadrock-game.com/img/shots/mapgen/2008-05-03/2008-05-03-mapgen-4Thumb.png" alt="" /></a></p>
<p>What you are looking at is a broad plan of the town - these are large lots into which smaller building lots will be placed. The generation process is fairly simple and goes like this: first I generate a population density map, which is a combination of a cloud of points with an area effect and Perlin noise. Next I distribute some road seeds across the map. These grow outward and branch into smaller roads if they don&#8217;t collide with another road. I then distribute building lot seeds over that and grow those at different rates until they can&#8217;t grow any more.</p>
<p>Next stage is to put some lots inside the lots I have already made, and then move on to building generation, which I reckon is going to be much harder :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deadrock-game.com/blog/?feed=rss2&amp;p=24</wfw:commentRss>
		</item>
		<item>
		<title>Some progress on the video game</title>
		<link>http://www.deadrock-game.com/blog/?p=23</link>
		<comments>http://www.deadrock-game.com/blog/?p=23#comments</comments>
		<pubDate>Mon, 14 Apr 2008 06:41:29 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.deadrock-game.com/blog/?p=23</guid>
		<description><![CDATA[I&#8217;ve made a little progress on the video game. A lot of it has been structural changes to include some features now viewed as important. I&#8217;ve recorded a video that exhibits these features.
 

Things I&#8217;ve added:
Two-sided walls
All walls may now be two-sided. It&#8217;s so that a wall can have a different pattern on each side [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve made a little progress on the video game. A lot of it has been structural changes to include some features now viewed as important. I&#8217;ve recorded a video that exhibits these features.</p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/JkArihNyyfE"></param> <embed src="http://www.youtube.com/v/JkArihNyyfE" type="application/x-shockwave-flash" width="425" height="350"></embed></object></p>
<p><span id="more-23"></span></p>
<p>Things I&#8217;ve added:<br />
<strong>Two-sided walls</strong><br />
All walls may now be two-sided. It&#8217;s so that a wall can have a different pattern on each side - since my engine works on a tile system, having one sided walls would mean that any walls that needed a different pattern on each side would need to be one square thick, which would look ridiculous in a realistic context (although it would be fine for a dungeon crawler).</p>
<p><strong>Fully 3D rendering</strong><br />
As you can see, the game is now rendering in full 3D. The player can rotate the camera.</p>
<p><strong>Camera frustum culling</strong><br />
This was a lot easier than I originally thought. I used theory from <a href="http://www2.ravensoft.com/users/ggribb/plane%20extraction.pdf">this paper</a> to write the code. </p>
<p><strong>Camera-relative movement</strong><br />
All controller movement is now relative to the camera, so moving the stick left makes the player go left. The game currently supports only Xbox 360 controllers.</p>
<p><strong>Mouse control</strong><br />
I used to have mouse control but with the 3D mode it stopped working, as I was using my own maths to calculate the world-position of the mouse pointer. I now use the projection matrix to do that, which is pretty easy to do in OpenGL using a function called gluUnProject.</p>
<p><strong>Multi-storey buildings</strong><br />
Much of the recent work has been improving the game engine to run several layers of map at once. It&#8217;s more-or-less working now, and even the collision routine is working between layers now.</p>
<p>Next up:</p>
<p>I think next I will go back to some scenery generation. Part of the earlier work was removing the scenery generation from the individual map segments (which are 16&#215;16 tiles), and into their own system of world-building classes, and it&#8217;s pretty much ready to go now. So I can start making roads, houses etc. And now that the game actually supports multiple-storey buildings it&#8217;ll be possible to make some really interesting stuff like car parks, malls etc.</p>
<p>I also need to implement some kind of bloodstain system, and I&#8217;d like to look into doing some lighting so that the game can simulate day and night.</p>
<p>And yeah&#8230; also some gameplay I SUPPOSE</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deadrock-game.com/blog/?feed=rss2&amp;p=23</wfw:commentRss>
		</item>
		<item>
		<title>Fluid dynamics</title>
		<link>http://www.deadrock-game.com/blog/?p=22</link>
		<comments>http://www.deadrock-game.com/blog/?p=22#comments</comments>
		<pubDate>Tue, 01 Apr 2008 19:50:03 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.deadrock-game.com/blog/?p=22</guid>
		<description><![CDATA[I&#8217;ve collected a bunch of stuff relating to the fluid dynamics work I did with Hardcore Computer Simulator, and from previously when I was working on a water game prototype. The end of the story was that I didn&#8217;t implement a new version of any of this, but the links are cool and I reckon [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve collected a bunch of stuff relating to the fluid dynamics work I did with Hardcore Computer Simulator, and from previously when I was working on a water game prototype. The end of the story was that I didn&#8217;t implement a new version of any of this, but the links are cool and I reckon that it&#8217;s only a matter of time until there are games with proper fluid dynamics that aren&#8217;t just a bunch of particles or the sand algorithm. I&#8217;ve collected them all here both for future reference and for anyone else who&#8217;s interested in this topic.<br />
<span id="more-22"></span></p>
<p><strong>Baby steps</strong></p>
<p>The starting point for all this is Jos Stam&#8217;s work. A good paper to read is his 2003 paper, <a href="http://www.dgp.toronto.edu/people/stam/reality/Research/pdf/GDC03.pdf">Real-Time Fluid Dynamics For Games</a>, which will show you how to create an incompressible single fluid volume, which is useful if you want to show smoke, for instance. This is basically what I used in HCS to simulate the heat flow. A collection of Stam&#8217;s published work is held at his page at the <a href="http://www.dgp.toronto.edu/~stam/reality/Research/pub.html">University Of Toronto</a>. This is the same stuff that I believe was used in the now-defunct <a href="http://www.plasmapong.com/">Plasma Pong</a>. </p>
<p>How it works is that you have a field of velocity and a field of density. You then make the density follow the velocity field, and do the same for the velocity. You then conserve mass over the entire system. <a href="http://techhouse.brown.edu/~dmorris/projects/summaries/dmorris.stable_fluids.notes.pdf">This paper</a> will give you a few further insights into the method. It was extremely helpful for me to read this paper.</p>
<p>The major setback with this method for the Coder About Town is conserving the mass of the system. This is done, apparently, by using a <a href="http://en.wikipedia.org/wiki/De_Rham_cohomology#Hodge_decomposition">Hodge decomposition</a>, which apparently states that a velocity field is the sum of a mass-conserving field and a gradient field. Finding the gradient field involves solving a <a href="http://en.wikipedia.org/wiki/Poisson_equation">Poisson equation</a>, which is a linear system, which Stam achieves by using something called a <a href="http://www.cs.mu.oz.au/498/notes/node56.html">Gauss-Siedel relaxation</a>. You may have guessed that I didn&#8217;t understand a single concept or process in that last paragraph.</p>
<p>Here is a <a href="http://www.multires.caltech.edu/teaching/demos/java/FluidSolver.java">java implementation</a> of the Stam work with some additional work added for vorticity confinement. This is the version I used for HCS; Java is very close to C# as a language so it was easy to port this. The code in the Stam paper was heavily optimised and hard to get to grips with.</p>
<p><a href="http://ianbushong.com/Fluid_Simulation.doc">Here is</a> another implementation. Not that much info.</p>
<p>There is an <a href="http://www.upl.cs.wisc.edu/%7Easelle/fluid/fluid.exe">interactive 2D version</a> of a <a href="http://www.upl.cs.wisc.edu/%7Easelle/fluid/">similar solver</a> by Andrew Selle, who has gone on to do some really excellent work at <a href="http://physbam.stanford.edu/~aselle/">Stanford</a>.</p>
<p><strong>Moving forward</strong></p>
<p>The main problem with the above work is that it deals with a volume containing a single fluid. What you really want for a fluid simulation is at least two fluids, let&#8217;s say water and air. There are plenty of solutions for this problem but most of them are not suitable for real-time interaction. <a href="http://www.cs.rpi.edu/~cutler/classes/advancedgraphics/F05/assignments/assignment3/">One that I did find</a> was a deliberately-compromised version intended for educational purposes. The idea is that you run particles over the fluid simulation and ensure that boundary conditions are correct between cells containing fluids, solid cells and empty cells. Correcting the boundary conditions is left as an exercise for the student. It is not trivial.</p>
<p><a href="http://www-viz.tamu.edu/students/xiao/finalreport.htm">This guy</a> used similar methods to get his fluid interacting with a soft body. He correctly identifies the major pain in solving the boundary condition calculations.</p>
<p>I was talking to a friend at Sony about this and he told me I should take a look at <a href="http://www.plunk.org/~trina/thesis/html/thesis_toc.html">smoothed particle hydrodynamics</a>. I haven&#8217;t gone through the paper, so I don&#8217;t know what it&#8217;s all about yet.</p>
<p>The current state-of-the-art work at nVidia was presented recently at GDC 2008. <a href="http://developer.download.nvidia.com/presentations/2008/GDC/GDC08_ParticleFluids.pdf">Here&#8217;s the PDF</a>, there&#8217;s some nice stuff int here even if it is just presentation slides.</p>
<p><strong>UPDATE:</strong> Mick West has been <a href="http://cowboyprogramming.com/2008/04/01/practical-fluid-mechanics/">kind enough to upload</a> some code and accompanying Game Developer articles for a Stam solver he wrote. Very nice!</p>
<p><strong>UPDATE:</strong> Found a pretty hot <a href="http://www.ss.iij4u.or.jp/~amada/fluid/">SPH demonstration with source</a> by Takashi Amada. This runs 2000 particles and does surface calculation for the lot. Super!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deadrock-game.com/blog/?feed=rss2&amp;p=22</wfw:commentRss>
		</item>
		<item>
		<title>Programming games, games where you program to win</title>
		<link>http://www.deadrock-game.com/blog/?p=21</link>
		<comments>http://www.deadrock-game.com/blog/?p=21#comments</comments>
		<pubDate>Tue, 01 Apr 2008 13:01:09 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.deadrock-game.com/blog/?p=21</guid>
		<description><![CDATA[In the aftermath of Hardcore Computer Simulator&#8217;s canning, I&#8217;ve been working on some fine code for Deadrock - proper camera frustum culling, for a start. But I thought I&#8217;d post a few things I&#8217;ve been looking at that are related to HCS. In this post you can see some games where the main gameplay interface [...]]]></description>
			<content:encoded><![CDATA[<p>In the aftermath of Hardcore Computer Simulator&#8217;s canning, I&#8217;ve been working on some fine code for Deadrock - proper camera frustum culling, for a start. But I thought I&#8217;d post a few things I&#8217;ve been looking at that are related to HCS. In this post you can see some games where the main gameplay interface is a programming language. I haven&#8217;t tried any of these games, but some of them look terrific.</p>
<p><span id="more-21"></span></p>
<p>I guess the best-known game of this type is <a href="http://corewar.co.uk/">Corewar</a>, and if it isn&#8217;t then it&#8217;s the biggest one I&#8217;d heard of when I heard about it. </p>
<blockquote><p>Corewar is a game played between two or more computer programs on behalf of the players who create them. Known as warriors, these programs are written in Redcode, a low-level language similar to assembly. Warriors battle to eliminate all opponents in the core memory of the MARS virtual computer.</p></blockquote>
<p>Here&#8217;s a <a href="http://www.koth.org/info/akdewdney/First.htm">lengthy review</a> of the game.</p>
<blockquote><p>Two computer programs in their native habitat &#8212; the memory chips of a digital computer &#8212; stalk each other from address to address. Sometimes they go scouting for the enemy; sometimes they lay down a barrage of numeric bombs; sometimes they copy themselves out of danger or stop to repair damage. This is the game I call Core War. It is unlike almost all other computer games in that people do not play at all! The contending programs are written by people, of course, but once a battle is under way the creator of a program can do nothing but watch helplessly as the product of hours spent in design and implementation either lives or dies on the screen. The outcome depends entirely on which program is hit first in a vulnerable area.</p></blockquote>
<p>I also found a link to <a href="http://sumost.ca/steve/games/">one million other games</a> involving robots or other programming activities as their gameplay. The rest of these I got from there. Kudos to Steve Robbins for compiling and maintaining that list! It&#8217;s awesome! The rest of this post is made up of quotes from the game websites or from Steve&#8217;s page.</p>
<p><a href="http://grobots.sourceforge.net/">Grobots</a> is game in which robots eat, fight, and reproduce under the control of programs written by the players. It runs on Mac OS, Windows, and (without graphics) Linux. Screenshots:<br />
<img src="http://www.deadrock-game.com/img/blog/caption.gif" alt="A caption explains what's going on." /><br />
<img src="http://www.deadrock-game.com/img/blog/tide.gif" alt="A few World Toads trying to stem the tide of Algae." /></p>
<p><a href="http://jrobots.sourceforge.net/">JROBOTS</a> is a clone of an old game called <a href="http://www.nyx.net/~tpoindex/crob.html">CROBOTS</a>. Some bots fight in an arena, firing missiles and avoiding enemies&#8217; projectiles. At the end only one will survive! This game is involving, but it is not interactive: you must develop the AI algorithms of your own bot using the Java language, then you upload it in the arena and follow online its fights against other bots.</p>
<p>The bots in <a href="http://www.tacticalneuronics.com/content/aiw3dnew.asp">AIWars</a> are insect-like mechanized units, programmed in their own command language. They come fully loaded with scanners, shields, sensors, energy cells, friend or foe beacons, mines, fuel, ammo, missiles, and even a self-destruct mechanism for those really sticky situations. This game has many web sites hosting regular tournaments.</p>
<p><a href="http://www.roboforge.net/index.htm">Roboforge</a> lets you construct gigantic robotic gladiators, train  them to think and fight, and then unleash them in massive international tournaments for money and prizes. Videos <a href="http://www.roboforge.net/visuals/movies.htm">here</a>. Screenshot:<br />
<img src="http://www.deadrock-game.com/img/blog/2.jpg"/></p>
<p>I think it&#8217;s great that there are so many of these games. Keep it up guys!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deadrock-game.com/blog/?feed=rss2&amp;p=21</wfw:commentRss>
		</item>
		<item>
		<title>Hardcore Computer Simulator canned</title>
		<link>http://www.deadrock-game.com/blog/?p=20</link>
		<comments>http://www.deadrock-game.com/blog/?p=20#comments</comments>
		<pubDate>Thu, 27 Mar 2008 19:53:39 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.deadrock-game.com/blog/?p=20</guid>
		<description><![CDATA[I didn&#8217;t finish Hardcore Computer Simulator in time for the deadline of the competition. I ran a small post-mortem on the game and posted it at TIGSource, and I&#8217;ve reproduced it &#8220;after the jump&#8221;.

Things that went wrong:
No clear design
The game started out, conceptually, as an RTS where you placed computer components on a grid in [...]]]></description>
			<content:encoded><![CDATA[<p>I didn&#8217;t finish Hardcore Computer Simulator in time for the deadline of the competition. I <a href="http://forums.tigsource.com/index.php?topic=1292.msg31584#msg31584">ran a small post-mortem</a> on the game and posted it at TIGSource, and I&#8217;ve reproduced it &#8220;after the jump&#8221;.</p>
<p><span id="more-20"></span></p>
<p>Things that went wrong:<br />
<strong>No clear design</strong><br />
The game started out, conceptually, as an RTS where you placed computer components on a grid in order to generate &#8220;bits&#8221; which would travel along the copper tracking (i don&#8217;t know what it&#8217;s called) of the circuitboard, which you would lay down. Then it turned into a clone of Outpost Kaloki, and then a kind of cross between that and Sim City. The simulated heat flow led to a lot of confusion over how the game worked (and whetehr the fluids could be made fun).<br />
<strong>Mixed goals</strong><br />
Not having a clear design led to different aims throughout the project, which led to development of a few systems that didn&#8217;t need to be developed. I was also keen to capitalise on the &#8220;hardcore&#8221; of the name, if not in the game design, then both in the visual feel of the game and in as much of the code as possible. It wasn&#8217;t possible to add much actual depth in the design in time, as it would have required too much balance. There&#8217;s probably too much in there as it is.<br />
Anyway this led to the fluids thing, which took days to get in because it&#8217;s really annoyingly complicated code. I had fun trying to crack the problem yet again (I&#8217;ve tried several times before) and it turned out that the only way I could get it done was basically copy-pasting the code from someone&#8217;s java implementation.<br />
<strong>Time</strong><br />
A combination of lack of management and a three day holiday in Paris led to my interest waning in the face of a tough deadline, and then I started reasoning that if I wasn&#8217;t interested in the project then I&#8217;d never make it good anyway and it was too much like hard work and we do these things for the love of it right? So I basically stopped working on it on the 17th or thereabouts.</p>
<p>That&#8217;s about it. I wouldn&#8217;t have had time to do any decent art either, which sucks, and had decided early on that the game would basically not have sound. Overall it was a bit of a washout. Sorry to disappoint anyone who was looking forward to the game.</p>
<p>I&#8217;ve uploaded the build, with source and research papers, <a href="http://www.deadrock-game.com/files/HCS.rar">over here</a>. Instructions for use below (and included in the archive). You&#8217;ll need to install Microsoft .NET Framework 2.0 if you haven&#8217;t already.</p>
<p>Hardcore Computer Simulator</p>
<p>&#8211;Explanation&#8211;<br />
The game is a cross between simple tycoon games like Outpost Kaloki and complex grid-based simulations like Sim City. The idea was that you place components on the circtuitboard, they work together to provide computing power to Users, and when in use, they generate heat which needs to be removed from the case or the parts overheat.</p>
<p>&#8211;Playing the game&#8211;<br />
There is no way to get money back currently, so you&#8217;ll have to place what you want and then watch the simulation run. Place parts by clicking the symbols at the bottom of the screen (a popup will tell you what you are buying). You need to click twice as the first click brings up a new menu. Place them wherever you like. The striped areas are vents. You&#8217;ll need to buy at least one of each process to see Users&#8217; processes running, but it doesn&#8217;t matter anyway as there&#8217;s no result from doing this yet.</p>
<p>Click the icons on the right to show various windows (the comp window is for editing components, so if you change this and save them, you&#8217;ll fix your changes forever). The console window does nothing. The status window show what&#8217;s up with your money and how many resources are left. The users window shows who&#8217;s connected and what processes they&#8217;re running (they&#8217;re all trying to run games at the moment). The component window appears when you click a component you placed on the grid. </p>
<p>Click the heat button a few times to increase the opacity of an overlay showing the simulated heat flow in the computer case. This is the best bit really. Place fans (change the fan direction by clicking on th efan and adjusting the slider in the component window) to direct air flow around the case. If air is coming into the case, the area near the vent is cleared of heat, so you need to set fans so that air comes in through one of the vents and out through the other. Experiment with what works best.</p>
<p>That&#8217;s it, enjoy!</p>
<p>&#8211;To do&#8211;<br />
If I were to finish this game, I&#8217;d need to put in Users using different processes; time limits on levels; getting money back from users who were successfully running processes; possibly component destruction from overheating (they already stop functioning); some better graphics; some level design (possibly with obstructions in the circuitboard when you start); a use for the logs I downloaded; more component types; possibly a more coherent way for components to interact (at the moment the only thing resulting from actually placing the components is their heat flow which isn&#8217;t supposed to matter in the early game); a ton of other stuff I thought of.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deadrock-game.com/blog/?feed=rss2&amp;p=20</wfw:commentRss>
		</item>
	</channel>
</rss>
