<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>blueapple's Devlog</title>
	<atom:link href="http://blueappledev.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blueappledev.wordpress.com</link>
	<description>Just like flowing water.</description>
	<lastBuildDate>Sat, 09 Aug 2008 13:13:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blueappledev.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>blueapple's Devlog</title>
		<link>http://blueappledev.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blueappledev.wordpress.com/osd.xml" title="blueapple&#039;s Devlog" />
	<atom:link rel='hub' href='http://blueappledev.wordpress.com/?pushpress=hub'/>
		<item>
		<title>NumGame</title>
		<link>http://blueappledev.wordpress.com/2008/08/02/numgame/</link>
		<comments>http://blueappledev.wordpress.com/2008/08/02/numgame/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 12:40:06 +0000</pubDate>
		<dc:creator>blueapple</dc:creator>
				<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://blueappledev.wordpress.com/?p=47</guid>
		<description><![CDATA[A friend tried to explain the concept of a game he had played somewhere, but couldn&#8217;t recall where. And as it&#8217;s not that easy to come up with something to google for (&#8220;rotating squares game?&#8221;), he asked me if I could create something silmilar for him. Sure. He explained that there were supposed to be [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=47&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A friend tried to explain the concept of a game he had played somewhere, but couldn&#8217;t recall where. And as it&#8217;s not that easy to come up with something to google for (&#8220;rotating squares game?&#8221;), he asked me if I could create something silmilar for him. Sure.</p>
<p>He explained that there were supposed to be nine squares in a 3&#215;3 formation with the numbers one to nine. And you could apparently rotate four 2&#215;2 squares (Those at the corners). The goal was to return a scrambled board to its orginal state where the numbers appeared in order.</p>
<p>So this is what I threw together last night.</p>
<p><a href="http://blueappledev.files.wordpress.com/2008/08/numgame3.png"><img class="alignnone size-medium wp-image-48" src="http://blueappledev.files.wordpress.com/2008/08/numgame3.png?w=206&#038;h=266" alt="" width="206" height="266" /></a><br />
<em> I named it NumGame in lack of a better name.</em></p>
<p>It is still a prototype though, but the basic features are there. Scrambling, rotating and solving. The squares are even animated when moving.</p>
<p><a href="http://blueappledev.files.wordpress.com/2008/08/numgame1.png"><img class="alignnone size-medium wp-image-50" src="http://blueappledev.files.wordpress.com/2008/08/numgame1.png?w=206&#038;h=266" alt="" width="206" height="266" /></a><br />
<em> Looks cooler in action though.</em></p>
<p>I&#8217;m thinking of putting some cool plasma effect as backround to make it more interesting (and even more confusing).</p>
<p><a href="http://blueappledev.files.wordpress.com/2008/08/numgame2.png"><img class="alignnone size-medium wp-image-49" src="http://blueappledev.files.wordpress.com/2008/08/numgame2.png?w=206&#038;h=266" alt="" width="206" height="266" /></a><br />
<em> Harder than it looks. Heh.</em></p>
<p>The binary is pretty much ready to be released, I just have to pack it down and upload it. I&#8217;ll post a link in the next post.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/blueappledev.wordpress.com/47/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/blueappledev.wordpress.com/47/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blueappledev.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blueappledev.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blueappledev.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blueappledev.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blueappledev.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blueappledev.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blueappledev.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blueappledev.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blueappledev.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blueappledev.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blueappledev.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blueappledev.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blueappledev.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blueappledev.wordpress.com/47/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=47&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blueappledev.wordpress.com/2008/08/02/numgame/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4095ef6fa252441ca30f321bfaf9f12e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blueapple</media:title>
		</media:content>

		<media:content url="http://blueappledev.files.wordpress.com/2008/08/numgame3.png?w=206" medium="image" />

		<media:content url="http://blueappledev.files.wordpress.com/2008/08/numgame1.png?w=206" medium="image" />

		<media:content url="http://blueappledev.files.wordpress.com/2008/08/numgame2.png?w=206" medium="image" />
	</item>
		<item>
		<title>BlueBPM</title>
		<link>http://blueappledev.wordpress.com/2008/07/31/bluebpm/</link>
		<comments>http://blueappledev.wordpress.com/2008/07/31/bluebpm/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 14:34:55 +0000</pubDate>
		<dc:creator>blueapple</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blueappledev.wordpress.com/?p=38</guid>
		<description><![CDATA[Yet again I&#8217;m sorry for the recent lack of updates, but it&#8217;s summertime, so I guess it&#8217;s okey for this time. I haven&#8217;t really had any time to work on either Hydro nor Boteria lately. But that will change when the rain and snow starts falling from the skies. Even so, I have something to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=38&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Yet again I&#8217;m sorry for the recent lack of updates, but it&#8217;s summertime, so I guess it&#8217;s okey for this time. I haven&#8217;t really had any time to work on either Hydro nor Boteria lately. But that will change when the rain and snow starts falling from the skies.</p>
<p>Even so, I have <em>something</em> to give you at least. It is something I hacked together over a day when being annoyed of not knowing the BPM (beats per minute) of a song when programming my drum machine. And voila, <strong>BlueBPM</strong> was born.</p>
<p><a href="http://blueappledev.files.wordpress.com/2008/07/bluebpm_ss.png"><img src="http://blueappledev.files.wordpress.com/2008/07/bluebpm_ss.png?w=135&#038;h=137" alt="" width="135" height="137" class="alignnone size-medium wp-image-40" /></a><br />
<em>Not much of a screenshot, heh.</em></p>
<p>This thing is often found in metronomes and drum machines (not mine though), where you tap a button to the music and it gives you the BPM. Quick and without any hassle. Not that I did a very big search for any existing ones for the computer, but the ones I found required me to install big and ugly applications which is not what I want for a small task like this.</p>
<p>Here&#8217;s the download link: <a href="http://ncydr.blinkenshell.org/bluebpm/download.php">BlueBPM-1.0.zip</a></p>
<p>Small hint: <em>Click the BPM panel and you&#8217;ll get to see the about box.</em></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/blueappledev.wordpress.com/38/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/blueappledev.wordpress.com/38/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blueappledev.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blueappledev.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blueappledev.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blueappledev.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blueappledev.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blueappledev.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blueappledev.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blueappledev.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blueappledev.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blueappledev.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blueappledev.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blueappledev.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blueappledev.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blueappledev.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=38&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blueappledev.wordpress.com/2008/07/31/bluebpm/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4095ef6fa252441ca30f321bfaf9f12e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blueapple</media:title>
		</media:content>

		<media:content url="http://blueappledev.files.wordpress.com/2008/07/bluebpm_ss.png?w=135" medium="image" />
	</item>
		<item>
		<title>Update</title>
		<link>http://blueappledev.wordpress.com/2008/07/03/update/</link>
		<comments>http://blueappledev.wordpress.com/2008/07/03/update/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 00:18:36 +0000</pubDate>
		<dc:creator>blueapple</dc:creator>
				<category><![CDATA[Hydro]]></category>
		<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://blueappledev.wordpress.com/?p=37</guid>
		<description><![CDATA[Hey again! I&#8217;ve reached 20% mark on Project Euler, or at least I had before they released the 200:th problem. Now I&#8217;m back at 19% again with 39 problems solved. And I must say that I have learned a lot about Haskell, but I am now starting to run out of problems which can be [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=37&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hey again!</p>
<p>I&#8217;ve reached 20% mark on Project Euler, or at least I had before they released the 200:th problem. Now I&#8217;m back at 19% again with 39 problems solved. And I must say that I have learned a lot about Haskell, but I am now starting to run out of problems which can be solved in ten minutes. </p>
<p>Worth noting is that I have not solved them in order. The most difficult one according to the websites ranking system is 120 and the one with the highest ID being 145.</p>
<p>Also, I am preparing to release a small demo of Hydro. I just need to sort out a few bugs and maybe create a fun map or two. The ones I&#8217;ve got now aren&#8217;t that fun to play, as they were just made to test things out.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/blueappledev.wordpress.com/37/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/blueappledev.wordpress.com/37/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blueappledev.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blueappledev.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blueappledev.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blueappledev.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blueappledev.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blueappledev.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blueappledev.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blueappledev.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blueappledev.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blueappledev.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blueappledev.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blueappledev.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blueappledev.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blueappledev.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=37&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blueappledev.wordpress.com/2008/07/03/update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4095ef6fa252441ca30f321bfaf9f12e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blueapple</media:title>
		</media:content>
	</item>
		<item>
		<title>Project Euler</title>
		<link>http://blueappledev.wordpress.com/2008/06/24/project-euler/</link>
		<comments>http://blueappledev.wordpress.com/2008/06/24/project-euler/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 14:25:22 +0000</pubDate>
		<dc:creator>blueapple</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blueappledev.wordpress.com/?p=36</guid>
		<description><![CDATA[I&#8217;ll have to admit it, Project Euler has got me hooked for the last few weeks. It all started with a friend asking me for help regarding a math problem. It didn&#8217;t take long before we had figured it out, but I was interested where he got it from, as it involved writing a program [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=36&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll have to admit it, <a href="http://projecteuler.net/">Project Euler</a> has got me hooked for the last few weeks. It all started with a friend asking me for help regarding a math problem. It didn&#8217;t take long before we had figured it out, but I was interested where he got it from, as it involved writing a program to generate the solution. <em></em></p>
<p><em>Project Euler</em>, he said.</p>
<p>To summarize the whole thing: It is a website which presents various (At the time, 199) math/programming problems. Once you have submitted the correct answer, you&#8217;ll be given access to a forum thread where people post their solutions and thoughts about the problem. In some cases, there is even a pdf-file explaining the problem (and how to solve it efficiently). You&#8217;ll be amazed how some people solve the problems. Me sitting there, proud of my 100 lines of code and seeing a solution in two lines that generates the solution five times as fast. But one learns a lot.</p>
<p>I saw this as an opportunity to learn <a href="http://haskell.org/">Haskell</a> too.</p>
<blockquote><p><strong>Haskell</strong> is a standardized purely functional programming language with non-strict semantics, named after the logician Haskell Curry.</p>
<p><a href="http://en.wikipedia.org/wiki/Haskell_%28programming_language%29">Wikipedia: Haskell (programming language)</a></p></blockquote>
<p>It is quite different from C++ (or any imperative programming language). But not different in a bad way. One of the cool things with it is what is called &#8220;lazy evaluation&#8221;. It allows one to declare something which is not computed until it is needed. So you can declare a list of all primes, or a list of the whole Fibonacci sequence (which is infinite). And then, the element you want will be computed only when you need it.</p>
<p>Now, I&#8217;m still a beginner with Haskell. But I&#8217;m learning more each problem I solve. I would recommend using Project Euler either as a tool to learn a new programming language or just to give you exercise with one you know. It&#8217;s a fun challenge, can you make it to<em>100%</em>?</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/blueappledev.wordpress.com/36/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/blueappledev.wordpress.com/36/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blueappledev.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blueappledev.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blueappledev.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blueappledev.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blueappledev.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blueappledev.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blueappledev.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blueappledev.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blueappledev.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blueappledev.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blueappledev.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blueappledev.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blueappledev.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blueappledev.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=36&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blueappledev.wordpress.com/2008/06/24/project-euler/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4095ef6fa252441ca30f321bfaf9f12e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blueapple</media:title>
		</media:content>
	</item>
		<item>
		<title>Bacteria and Bots</title>
		<link>http://blueappledev.wordpress.com/2008/06/10/bacteria-and-bots/</link>
		<comments>http://blueappledev.wordpress.com/2008/06/10/bacteria-and-bots/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 23:30:09 +0000</pubDate>
		<dc:creator>blueapple</dc:creator>
				<category><![CDATA[Boteria]]></category>

		<guid isPermaLink="false">http://blueappledev.wordpress.com/?p=32</guid>
		<description><![CDATA[Ah, yet another lame attempt to make a cool name: Bot + Bacteria = Boteria. This project started to grow in my head a couple of weeks ago. I&#8217;ve always enjoyed playing various &#8220;programming games&#8221;; which are games that allow the programmer (gamer) to write an A.I. and then watch it fight other programmers&#8217; A.I.s. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=32&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ah, yet another lame attempt to make a cool name: <em>Bot + Bacteria = Boteria</em>.</p>
<p>This project started to grow in my head a couple of weeks ago. I&#8217;ve always enjoyed playing various &#8220;programming games&#8221;; which are games that allow the programmer (gamer) to write an A.I. and then watch it fight other programmers&#8217; A.I.s.</p>
<blockquote><p>A <strong>programming game</strong> is a computer game where the player has no direct influence on the course of the game. Instead, a computer program or script is written in some domain-specific programming language in order to control the actions of the characters (usually robots, tanks or bacteria), which seek to destroy each other.</p>
<p><i><a href="http://en.wikipedia.org/wiki/Programming_game">Wikipedia: Programming Game</a></i></p></blockquote>
<p>My favorite has become <a href="http://grobots.sourceforge.net/">Grobots</a> (Pronounced &#8220;grow-bots&#8221;). It is described as<br />
<blockquote>[..] a game in which robots eat, fight, and reproduce under the control of programs written by the players.&#8221;</p></blockquote>
<p>And that is basically what&#8217;s to it. The fascinating thing about it is the complexity of the A.I. that can be written. Take for example the side <em>Flower</em> by <em>Tyson Hoffman</em>. It tries to position it&#8217;s cells in the shape of a flower and quoting Hoffman:<br />
<blockquote>It [<em>Flower</em>] forms rings, which grow from the center this means the outside can be damaged, but still have a viable center.</p></blockquote>
<p>Here&#8217;s a picture of it:<br />
<a href="http://blueappledev.files.wordpress.com/2008/06/flower_grobots.png"><img src="http://blueappledev.files.wordpress.com/2008/06/flower_grobots.png?w=300&#038;h=287" alt="" width="300" height="287" class="alignnone size-medium wp-image-33" /></a></p>
<p>If you want to have a look at it&#8217;s source code, check out Hoffman&#8217;s wiki, located <a href="http://www.tiltech.net/pmwiki/Grobots/Flower">here</a>.</p>
<p>It is sad to see that the popularity of Grobots has declined a lot, though. I believe it is partly because of the scripting language used. It is an implementation of the language <a href="http://en.wikipedia.org/wiki/Forth_%28programming_language%29">Forth</a>. The more popular games use C-like languages (<a href="http://en.wikipedia.org/wiki/Robocode">Robocode</a> &#8211; Java, <a href="http://en.wikipedia.org/wiki/Robot_Battle">Robot Battle</a> &#8211; Mix of Basic, C and JavaScript).</p>
<p>Although, the concept of Grobots beats all the &#8220;robot-on-robot&#8221; type of games with horselenghts, the language makes it unattractive. So I decided to give it a shot: mixing the concept of Grobots with a more inviting scripting language.</p>
<p>What language to use then?<br />
The choice stood between <a href="http://en.wikipedia.org/wiki/Python_%28programming_language%29">Python</a>, <a href="http://en.wikipedia.org/wiki/Lua_%28programming_language%29">Lua</a>, <a href="http://en.wikipedia.org/wiki/GameMonkey">GameMonkey</a>, <a href="http://en.wikipedia.org/wiki/AngelScript">AngelScript</a> and creating my own.</p>
<p>Creating my own would take ages and would not be even close to what the other mentioned has to offer. </p>
<p>AngelScript and GameMonkey both use a C-like syntax, while Python and Lua have a more BASIC-like (atleast Lua).</p>
<p>Lua and Python are big and well-known, they have been proven to work numerous times, both by amateurs and professionals. GameMonkey and AngelScript on the other hand are relatively small, compared to Lua and Python, and are not as widely spread.</p>
<p>I went for Lua. <em>Why?</em> I did already have some experience with it and the others just didn&#8217;t work the way I wanted them to when I tried them. A big tip if you choose to use Lua in a project is to checkout the <a href="http://www.rasterbar.com/products/luabind.html">LuaBind</a> project which makes the process of binding C++ (classes etc.) to Lua a breeze in comparison to doing it without.</p>
<p>Now, after a few evenings (and nights) I&#8217;ve got bots flying around, following and bouncing of each other. </p>
<p><a href="http://blueappledev.files.wordpress.com/2008/06/boteria_2.png"><img src="http://blueappledev.files.wordpress.com/2008/06/boteria_2.png?w=300&#038;h=234" alt="" width="300" height="234" class="alignnone size-medium wp-image-34" /></a></p>
<p>The blue circles are &#8220;sensor shots&#8221; which are used by the bot to get a list of objects in range.</p>
<p>This is what an update function can look like at the moment.<br />
<pre class="brush: ruby;">last_sensor = 0
last_seen = 0
e_id = -1

function update(me)
    if e_id == -1 then
        if me:getTime() - last_sensor &gt; 30 then -- Scan for a target every 30:th update
            bots = me:useSensors(0.5)
            last_sensor = me:getTime()

            if bots:getSize() &gt; 0 then -- There was a bot in range
                e_id = bots:getAt(0):getID()
            end
        end
    else
        if math.mod(me:getTime(), 3) == 0 then -- Use the sensors every third update
            bots = me:useSensors(1) -- Full strenght (0..1)

            if bots:getSize() &gt; 0 then
                i = 0
                while (i  60 then -- It's been more than 60 updates
                e_id = -1                                   -- since we last saw the target,
                me:setEnginePower(0)                  -- let's find a new one.
            end
        end
    end
end</pre><br />
<em>Now that I see it, it looks almost more unattractive than Grobots&#8217; code.</em></p>
<p>But step through it line by line, it is quite logical after all and this is after only a few days of work (Things will change, it is by no means final).</p>
<p>As always, here is a video:</p>
<p><a href="http://youtube.com/watch?v=4qolhYWefUU&amp;fmt=18">http://youtube.com/watch?v=4qolhYWefUU</a></p>
<p>The two bigger bots use the A.I. posted above, notice how they get stationary when they lose their target (e_id = -1). And also, I disable the drawing of sensors in the middle of the video.</p>
<p>We&#8217;ll see where this leads. (Skynet anyone?)</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/blueappledev.wordpress.com/32/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/blueappledev.wordpress.com/32/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blueappledev.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blueappledev.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blueappledev.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blueappledev.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blueappledev.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blueappledev.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blueappledev.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blueappledev.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blueappledev.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blueappledev.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blueappledev.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blueappledev.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blueappledev.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blueappledev.wordpress.com/32/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=32&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blueappledev.wordpress.com/2008/06/10/bacteria-and-bots/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4095ef6fa252441ca30f321bfaf9f12e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blueapple</media:title>
		</media:content>

		<media:content url="http://blueappledev.files.wordpress.com/2008/06/flower_grobots.png?w=300" medium="image" />

		<media:content url="http://blueappledev.files.wordpress.com/2008/06/boteria_2.png?w=300" medium="image" />
	</item>
		<item>
		<title>Yellow Flowerpot</title>
		<link>http://blueappledev.wordpress.com/2008/06/01/yellow-flowerpot/</link>
		<comments>http://blueappledev.wordpress.com/2008/06/01/yellow-flowerpot/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 17:14:55 +0000</pubDate>
		<dc:creator>blueapple</dc:creator>
				<category><![CDATA[Hydro]]></category>

		<guid isPermaLink="false">http://blueappledev.wordpress.com/?p=30</guid>
		<description><![CDATA[Hey all, sorry for the recent lack of posts. But here is something to show you that I&#8217;m not dead (yet): I decided to keep the yellow rectangle (but I&#8217;ll probably change its color) as a &#8220;virtual&#8221; flowerpot. It&#8217;s much easier to guide water into it rather than into a one-pixel thin tree.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=30&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hey all, sorry for the recent lack of posts. But here is something to show you that I&#8217;m not dead (yet):</p>
<p><a href="http://blueappledev.files.wordpress.com/2008/06/tree_in_hydro.png"><img src="http://blueappledev.files.wordpress.com/2008/06/tree_in_hydro.png?w=300&#038;h=237" alt="" width="300" height="237" class="alignnone size-medium wp-image-31" /></a></p>
<p>I decided to keep the yellow rectangle (but I&#8217;ll probably change its color) as a &#8220;virtual&#8221; flowerpot. It&#8217;s much easier to guide water into it rather than into a one-pixel thin tree.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/blueappledev.wordpress.com/30/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/blueappledev.wordpress.com/30/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blueappledev.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blueappledev.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blueappledev.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blueappledev.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blueappledev.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blueappledev.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blueappledev.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blueappledev.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blueappledev.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blueappledev.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blueappledev.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blueappledev.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blueappledev.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blueappledev.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=30&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blueappledev.wordpress.com/2008/06/01/yellow-flowerpot/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4095ef6fa252441ca30f321bfaf9f12e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blueapple</media:title>
		</media:content>

		<media:content url="http://blueappledev.files.wordpress.com/2008/06/tree_in_hydro.png?w=300" medium="image" />
	</item>
		<item>
		<title>Hide! It&#8217;s a Tree!</title>
		<link>http://blueappledev.wordpress.com/2008/05/06/birth-of-a-tree/</link>
		<comments>http://blueappledev.wordpress.com/2008/05/06/birth-of-a-tree/#comments</comments>
		<pubDate>Tue, 06 May 2008 14:08:38 +0000</pubDate>
		<dc:creator>blueapple</dc:creator>
				<category><![CDATA[Hydro]]></category>

		<guid isPermaLink="false">http://blueappledev.wordpress.com/?p=24</guid>
		<description><![CDATA[Hey all. I have been thinking of new things to implement into Hydro. A few of the ideas are: new particle kinds, eye candy, a cool interface or multiplayer support. I went for the eye-candy this time. What I wanted to do was to get rid of the ugly goal (the yellow rectangle), and put [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=24&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hey all.</p>
<p>I have been thinking of new things to implement into Hydro. A few of the ideas are: new particle kinds, eye candy, a cool interface or multiplayer support. I went for the eye-candy this time.</p>
<p><img class="aligncenter size-medium wp-image-25" src="http://blueappledev.files.wordpress.com/2008/05/goal.png?w=155&#038;h=37" alt="" width="155" height="37" /><em><br />
</em></p>
<p>What I wanted to do was to get rid of the ugly goal (the yellow rectangle), and put something that actually &#8220;needs&#8221; water.</p>
<p><em>Trees.</em></p>
<p>One of the thing I wanted my trees to do was to scale and &#8220;evolve&#8221; once they got water. Sprites would mean a lot of work and wouldn&#8217;t quite blend to the &#8220;artistic style&#8221; of this projects (i.e. pixels), but a  &#8220;pixel-tree&#8221; would and that&#8217;s what I chose. I started to read about fractals and especially the type called <a href="http://en.wikipedia.org/wiki/L-system">L-Systems</a>, which basically  are objects generated by pre-defined rules. For example:</p>
<p><pre class="brush: python;">split
turn 40 degrees
move x pixels
decrease x</pre></p>
<p>As a branch of a tree in most aspects looks lite the tree itself, just scaled down, it can be modeled by a recursive function, such as the one above.</p>
<p>Now, I haven&#8217;t implemented it into Hydro just yet, but here are some screenshots and a clip of what I&#8217;ve come up with this far.</p>
<p><a href="http://blueappledev.files.wordpress.com/2008/05/tree3.png"><img class="alignnone size-medium wp-image-26" src="http://blueappledev.files.wordpress.com/2008/05/tree3.png?w=300&#038;h=237" alt="" width="300" height="237" /></a></p>
<p><a href="http://blueappledev.files.wordpress.com/2008/05/tree1.png"><img class="alignnone size-medium wp-image-27" src="http://blueappledev.files.wordpress.com/2008/05/tree1.png?w=300&#038;h=237" alt="" width="300" height="237" /></a></p>
<p><a href="http://blueappledev.files.wordpress.com/2008/05/tree2.png"><img class="alignnone size-medium wp-image-28" src="http://blueappledev.files.wordpress.com/2008/05/tree2.png?w=300&#038;h=237" alt="" width="300" height="237" /></a></p>
<p><a href="http://blueappledev.files.wordpress.com/2008/05/tree4.png"><img class="alignnone size-medium wp-image-29" src="http://blueappledev.files.wordpress.com/2008/05/tree4.png?w=300&#038;h=237" alt="" width="300" height="237" /></a></p>
<p>And a short clip of it in action:</p>
<p><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='460' height='289' src='http://www.youtube.com/embed/eNTUKq0Hwf4?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span><br />
<a href="http://www.youtube.com/watch?v=eNTUKq0Hwf4"> http://www.youtube.com/watch?v=eNTUKq0Hwf4</a></p>
<p>I believe this will look quite good when it&#8217;s &#8220;in the game&#8221;, we&#8217;ll see about that in a few days.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/blueappledev.wordpress.com/24/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/blueappledev.wordpress.com/24/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blueappledev.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blueappledev.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blueappledev.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blueappledev.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blueappledev.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blueappledev.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blueappledev.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blueappledev.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blueappledev.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blueappledev.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blueappledev.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blueappledev.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blueappledev.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blueappledev.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=24&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blueappledev.wordpress.com/2008/05/06/birth-of-a-tree/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4095ef6fa252441ca30f321bfaf9f12e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blueapple</media:title>
		</media:content>

		<media:content url="http://blueappledev.files.wordpress.com/2008/05/goal.png?w=155" medium="image" />

		<media:content url="http://blueappledev.files.wordpress.com/2008/05/tree3.png?w=300" medium="image" />

		<media:content url="http://blueappledev.files.wordpress.com/2008/05/tree1.png?w=300" medium="image" />

		<media:content url="http://blueappledev.files.wordpress.com/2008/05/tree2.png?w=300" medium="image" />

		<media:content url="http://blueappledev.files.wordpress.com/2008/05/tree4.png?w=300" medium="image" />
	</item>
		<item>
		<title>Steam Movie</title>
		<link>http://blueappledev.wordpress.com/2008/05/04/steam-movie/</link>
		<comments>http://blueappledev.wordpress.com/2008/05/04/steam-movie/#comments</comments>
		<pubDate>Sun, 04 May 2008 17:31:43 +0000</pubDate>
		<dc:creator>blueapple</dc:creator>
				<category><![CDATA[Hydro]]></category>

		<guid isPermaLink="false">http://blueappledev.wordpress.com/?p=23</guid>
		<description><![CDATA[Here&#8217;s something to eat some popcorn to. http://www.youtube.com/watch?v=02JHEVUSma0 YouTube did once again ruin the quality of the video, this time with a quite devastating effect: You can hardly see the steam particles, which is a shame, because they are what I was trying to show in the video. But check it out and try to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=23&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s something to eat some popcorn to.</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='460' height='289' src='http://www.youtube.com/embed/02JHEVUSma0?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<p><a href="http://www.youtube.com/watch?v=02JHEVUSma0">http://www.youtube.com/watch?v=02JHEVUSma0</a></p>
<p>YouTube did once again ruin the quality of the video, this time with a quite devastating effect: You can hardly see the steam particles, which is a shame, because they are what I was trying to show in the video.</p>
<p>But check it out and try to mentally mix it with the screenshots.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/blueappledev.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/blueappledev.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blueappledev.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blueappledev.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blueappledev.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blueappledev.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blueappledev.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blueappledev.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blueappledev.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blueappledev.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blueappledev.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blueappledev.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blueappledev.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blueappledev.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blueappledev.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blueappledev.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=23&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blueappledev.wordpress.com/2008/05/04/steam-movie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4095ef6fa252441ca30f321bfaf9f12e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blueapple</media:title>
		</media:content>
	</item>
		<item>
		<title>Hydro Update 1</title>
		<link>http://blueappledev.wordpress.com/2008/05/03/hydro-update-1/</link>
		<comments>http://blueappledev.wordpress.com/2008/05/03/hydro-update-1/#comments</comments>
		<pubDate>Sat, 03 May 2008 14:40:46 +0000</pubDate>
		<dc:creator>blueapple</dc:creator>
				<category><![CDATA[Hydro]]></category>

		<guid isPermaLink="false">http://blueappledev.wordpress.com/?p=18</guid>
		<description><![CDATA[I present to you&#8230;steam! The red line you can see is the &#8220;thing&#8221; that makes water boil. This feature will allow more complex and fun levels to be built. I&#8217;m quite satisfied by the visual appearance of the steam (atleast in motion, the stills doesn&#8217;t quite capture the charm of it). At this moment, I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=18&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I present to you&#8230;<em>steam</em>!</p>
<p><a href="http://blueappledev.files.wordpress.com/2008/05/1.png"><img class="alignnone size-medium wp-image-19" src="http://blueappledev.files.wordpress.com/2008/05/1.png?w=300&#038;h=237" alt="" width="300" height="237" /></a></p>
<p><a href="http://blueappledev.files.wordpress.com/2008/05/2a.png"><img class="alignnone size-medium wp-image-21" src="http://blueappledev.files.wordpress.com/2008/05/2a.png?w=300&#038;h=237" alt="" width="300" height="237" /></a></p>
<p><a href="http://blueappledev.files.wordpress.com/2008/05/5.png"><img class="alignnone size-medium wp-image-22" src="http://blueappledev.files.wordpress.com/2008/05/5.png?w=300&#038;h=239" alt="" width="300" height="239" /></a><br />
<em>The red line you can see is the &#8220;thing&#8221; that makes water boil.</em></p>
<p>This feature will allow more complex and fun levels to be built.</p>
<p>I&#8217;m quite satisfied by the visual appearance of the steam (atleast in motion, the stills doesn&#8217;t quite capture the charm of it). At this moment, I do not have any video available for you, but be sure that one will come.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/blueappledev.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/blueappledev.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blueappledev.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blueappledev.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blueappledev.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blueappledev.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blueappledev.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blueappledev.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blueappledev.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blueappledev.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blueappledev.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blueappledev.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blueappledev.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blueappledev.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blueappledev.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blueappledev.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=18&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blueappledev.wordpress.com/2008/05/03/hydro-update-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4095ef6fa252441ca30f321bfaf9f12e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blueapple</media:title>
		</media:content>

		<media:content url="http://blueappledev.files.wordpress.com/2008/05/1.png?w=300" medium="image" />

		<media:content url="http://blueappledev.files.wordpress.com/2008/05/2a.png?w=300" medium="image" />

		<media:content url="http://blueappledev.files.wordpress.com/2008/05/5.png?w=300" medium="image" />
	</item>
		<item>
		<title>Thoughts on maps</title>
		<link>http://blueappledev.wordpress.com/2008/05/03/thoughts-on-maps/</link>
		<comments>http://blueappledev.wordpress.com/2008/05/03/thoughts-on-maps/#comments</comments>
		<pubDate>Sat, 03 May 2008 12:51:26 +0000</pubDate>
		<dc:creator>blueapple</dc:creator>
				<category><![CDATA[Hydro]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blueappledev.wordpress.com/?p=15</guid>
		<description><![CDATA[When coding something like this (Hydro), early in development I&#8217;m not really interested in developing tools. I want to get the &#8220;thing&#8221; done (or atleast close too), not waste time making leveleditors and such. Therefore, I looked around for alternatives this time. I found a few (alternatives); pre-made mapeditors (Mappy, TileStudio etc.), hand-coding maps in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=15&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When coding something like this (Hydro), early in development I&#8217;m not really interested in developing tools. I want to get the &#8220;thing&#8221; done (or atleast close too), not waste time making leveleditors and such. Therefore, I looked around for alternatives this time.</p>
<p><span id="more-15"></span></p>
<p>I found a few (alternatives); pre-made mapeditors (Mappy, TileStudio etc.), hand-coding maps in notepad or using a RAD language (C#, Python) to create a mapeditor.</p>
<p>Using existing mapeditors has quite a few advantages, they work, they have a neat GUI and allows one to do some advanced stuff (animations for example). But they also requires you to learn how to use them and how to import/export the map. I guess there are ways to make them export maps &#8220;the way you want&#8221; but, again, I just didn&#8217;t feel like messing around with it.</p>
<p>And hand-coding is well..exhausting. You can&#8217;t really make anything more advanced than a few blocks, and depending on the map format, even basic stuff like that can be hard to create.</p>
<p>Speaking of map formats, I&#8217;ve used a few myself and had to choose one to use in this project. As this game is somewhat tilebased (each particle has an x and y value), the map file should contain their positions, types and perhaps some additional data (Temperature and pressure for example).</p>
<p>An easy way is to just print out a 2D array to a file, but when it needs to contain more data than just a type (tile id) things start to become big. Example:</p>
<p><pre class="brush: xml;"># Tile types
00 00 01 00 01 00 00
00 00 00 00 00 00 00
00 02 00 00 00 02 00
00 00 02 02 02 00 00
00 00 03 03 03 00 00
03 02 03 03 03 02 03
02 00 03 00 02 03 00

# Pressure
00 00 00 00 01 00 00
00 00 00 00 03 00 00
00 13 00 00 05 13 00
00 00 13 13 13 00 00
00 00 20 20 17 00 00
20 13 20 20 21 13 20
13 00 20 00 30 20 00</pre></p>
<p>The amount of matrices needed are dependent on how much data each tile will contain (one for type, one for pressure, one for temperature etc). As all the &#8220;empty&#8221; tiles are included too, this grows big very fast.</p>
<p>The format I&#8217;ve chosen to use (this far at least) is a similar one, but for maps with more &#8220;empty space&#8221; it requires less data. For example:</p>
<p><pre class="brush: xml;"># X Y TYPE TEMP PRESSURE
52 75 3 37 0
52 76 3 38 1
53 75 5 29 5
...</pre></p>
<p>The first two numbers tells the X and Y coordinate, the third the type and the other tell additional data. Of course these files will also require much space when containing a lot of tiles. (One thing that could keep the filesize down would be by defining &#8220;blocks&#8221; of tiles, (<strong>X Y W H</strong>). <em>20 20 10 15</em> would draw a 10 tiles high and 15 tiles wide block at (20, 20). This however requires a custom made mapeditor).</p>
<p>And as I said, I didn&#8217;t feel like writing one, so what I did was converting a image file into my map format (which of course is not a new idea). For this, I used (C++ and) SDL and MS Paint.</p>
<p><a href="http://blueappledev.files.wordpress.com/2008/04/mspaint_example.png"><img class="alignnone size-medium wp-image-17" src="http://blueappledev.files.wordpress.com/2008/04/mspaint_example.png?w=300&#038;h=128" alt="" width="300" height="128" /></a></p>
<p>The idea is to read in a .bmp file, loop through each pixel and check what color it is. If a colored pixel (not white), it&#8217;ll save it in a temporary array (it could just output to the file directly) and then output it using my format. Additional data, such as temperature and pressure could be coded by using one of the three color values, for example, [3, 14, x] could be water where x is the temperature.</p>
<p>I&#8217;m attaching a simple converter which you can have a look at, it&#8217;s probably not optimized nor well-written, but it should give you the basic idea. (You can of course use any API that can read a image file, you&#8217;re not restricted to SDL).</p>
<p>Download it <a href="http://ncydr.blinkenshell.org/file/mapconverter.cpp">here</a>.</p>
<p>To load the map, you&#8217;d use something like this:</p>
<p><pre class="brush: cpp;">bool loadLevel(std::string file)
{
    std::ifstream infile(file.c_str());
    if(infile.is_open())
    {
       // Load the map
       while(!infile.eof())
       {
           int x, y, type;

           infile &gt;&gt; x;
           infile &gt;&gt; y;
           infile &gt;&gt; type;

           map[x][y].type = (E_TILE)type;
       }

       infile.close();

       return true;
     }

     printf(&quot;Could not load %s!\n&quot;, file.c_str());
     return false;
}</pre></p>
<p><em>I&#8217;m not sure why it refuses to use a monospaced font for that code.</em></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/blueappledev.wordpress.com/15/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/blueappledev.wordpress.com/15/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blueappledev.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blueappledev.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blueappledev.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blueappledev.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blueappledev.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blueappledev.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blueappledev.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blueappledev.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blueappledev.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blueappledev.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blueappledev.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blueappledev.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blueappledev.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blueappledev.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blueappledev.wordpress.com&amp;blog=3586766&amp;post=15&amp;subd=blueappledev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blueappledev.wordpress.com/2008/05/03/thoughts-on-maps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4095ef6fa252441ca30f321bfaf9f12e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">blueapple</media:title>
		</media:content>

		<media:content url="http://blueappledev.files.wordpress.com/2008/04/mspaint_example.png?w=300" medium="image" />
	</item>
	</channel>
</rss>
