<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Rotates.org V11</title>
	
	<link>http://www.rotates.org</link>
	<description>I HAEV A BLOG AND I AM WEB 3.5</description>
	<lastBuildDate>Tue, 23 Feb 2010 16:58:34 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/rotates" /><feedburner:info uri="rotates" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Still alive</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/OZ6jfLPc-2k/</link>
		<comments>http://www.rotates.org/2010/02/23/still-alive/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 16:58:34 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=224</guid>
		<description><![CDATA[I&#8217;ve been exceptionally busy with work, and only had the energy left to play Global Agenda on an evening &#8211; I&#8217;ve not made any progress with Archaos since the last update but once I&#8217;ve gotten this swathe of hard labour out of the way, I&#8217;ll be finishing the server, building a basic client and inviting [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been exceptionally busy with work, and only had the energy left to play Global Agenda on an evening &#8211; I&#8217;ve not made any progress with Archaos since the last update but once I&#8217;ve gotten this swathe of hard labour out of the way, I&#8217;ll be finishing the server, building a basic client and inviting people to begin beta testing. Sorry to those few of you who are still checking the site every day (I love you all!), I will have goodies for you soon &#8211; promise!</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/OZ6jfLPc-2k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2010/02/23/still-alive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2010/02/23/still-alive/</feedburner:origLink></item>
		<item>
		<title>Chaos Enhanced Enhanced</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/O_e_FTAQsgo/</link>
		<comments>http://www.rotates.org/2010/01/17/chaos-enhanced-enhanced/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 02:07:14 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Past]]></category>
		<category><![CDATA[Releases]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=201</guid>
		<description><![CDATA[As another little aside, I&#8217;ve hacked in some configuration for Chaos Enhanced. Use the form below to launch a game with your desired settings &#8211; though please note that this is an abandoned demo with missing features and bugs!




Number of players:

2
34
56
78


Board width:

Board height:

Starting spell count per player:



Player 1 name:

Player 2 name:

Player 3 name:

Player 4 name:

Player [...]]]></description>
			<content:encoded><![CDATA[<p>As another little aside, I&#8217;ve hacked in some configuration for Chaos Enhanced. Use the form below to launch a game with your desired settings &#8211; though please note that this is an abandoned demo with missing features and bugs!</p>
<form method="get" action="http://homepage.ntlworld.com/stephen.gee50/chaosenhanced.swf">
<table style="width: 100%">
<tr>
<td style="vertical-align: top">
<label>Number of players:<br />
<select id="numplayers">
<option value="2" selected="selected">2</option><br />
<option value="3">3</option><option value="4">4</option><br />
<option value="5">5</option><option value="6">6</option><br />
<option value="7">7</option><option value="8">8</option><br />
</select>
<p></label><br />
<label>Board width:<br />
<input name="w" id="w" size="3" value="15" /></label><br />
<label>Board height:<br />
<input name="h" id="h" size="3" value="12" /></label><br />
<label>Starting spell count per player:<br />
<input name="numspells" id="numspells" size="3" value="14" /></label>
</td>
<td style="vertical-align: top">
<label>Player 1 name:<br />
<input name="player1" id="player1" size="15" value="Gandalf"></label><br />
<label>Player 2 name:<br />
<input name="player2" id="player2" size="15" value="Saruman"></label><br />
<label>Player 3 name:<br />
<input name="player3" id="player3" size="15" value="" disabled="disabled"></label><br />
<label>Player 4 name:<br />
<input name="player4" id="player4" size="15" value="" disabled="disabled"></label><br />
<label>Player 5 name:<br />
<input name="player5" id="player5" size="15" value="" disabled="disabled"></label><br />
<label>Player 6 name:<br />
<input name="player6" id="player6" size="15" value="" disabled="disabled"></label><br />
<label>Player 7 name:<br />
<input name="player7" id="player7" size="15" value="" disabled="disabled"></label><br />
<label>Player 8 name:<br />
<input name="player8" id="player8" size="15" value="" disabled="disabled"></label></p>
<input type="submit" value="Go!" />
</td>
</tr>
</table>
</form>
<p><script type="text/javascript">
$(function() {
	for (var i = 3; i <= 8; i++) {
		$("#player"+i).attr("disabled", "disabled").parent().hide();
	}
	$("#numplayers").change(function() {
		for (var i = 3; i <= 8; i++) {
			if (i <= $(this).val()) {
				$("#player"+i).removeAttr("disabled").parent().show();
			}
			else {
				$("#player"+i).attr("disabled", "disabled").parent().hide();
			}
		}
	});
});
</script><br />
Forgive the awful form and jQuery... it was quick!</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/O_e_FTAQsgo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2010/01/17/chaos-enhanced-enhanced/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2010/01/17/chaos-enhanced-enhanced/</feedburner:origLink></item>
		<item>
		<title>Full cycle</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/FpArLOV7k-E/</link>
		<comments>http://www.rotates.org/2010/01/16/full-cycle/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 23:26:20 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Plugs]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=197</guid>
		<description><![CDATA[The Archaos server now validates, processes and outputs a full turn of human interactions. This is a pretty major milestone in the development process, and I&#8217;m very happy with the results so far:
{
  "turn" : 1,
  "phase" : "move",
  "interaction" : "sequence",
  "finished" : true,
  "actions" : [
   [...]]]></description>
			<content:encoded><![CDATA[<p>The Archaos server now validates, processes and outputs a full turn of human interactions. This is a pretty major milestone in the development process, and I&#8217;m very happy with the results so far:</p>
<pre name="code" class="javascript">{
  "turn" : 1,
  "phase" : "move",
  "interaction" : "sequence",
  "finished" : true,
  "actions" : [
    {
      "type" : "move",
      "player" : "lewster32",
      "time" : 1263682234,
      "data" : {
        "piece" : "p0",
        "path" : [
          {
            "x" : 1,
            "y" : 7
          }
        ]
      }
    },
    {
      "type" : "end_turn",
      "player" : "lewster32",
      "time" : 1263682234
    },
    {
      "type" : "move",
      "player" : "bobster16",
      "time" : 1263682234,
      "data" : {
        "piece" : "p1",
        "path" : [
          {
            "x" : 13,
            "y" : 5
          }
        ]
      }
    },
    {
      "type" : "move",
      "player" : "bobster16",
      "time" : 1263682234,
      "data" : {
        "piece" : "p3",
        "path" : {
          "x" : 11,
          "y" : 4
        },
        "flying" : true
      }
    },
    {
      "type" : "end_turn",
      "player" : "bobster16",
      "time" : 1263682234
    }
  ]
}
</pre>
<p>I&#8217;d like to mention the huge amount of support, encouragement and fantastic resources provided by certain people of late. <a href="http://twitter.com/andy_herbert">@andy_herbert</a> has been a fantastic vocal advocate and provider of much inspiration and technical knowhow (he&#8217;s an utterly brilliant multi-talented programmer in his own right) and I owe an awful lot to his &#8216;cheery&#8217; tone on Twitter! <img src='http://www.rotates.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Secondly, I&#8217;d like to shout out a big hello to the <a href="http://slashdot.org">Slashdot</a> horde, who accosted the site a few days back. I got a hell of a lot of visits from these guys and I&#8217;m sure it&#8217;s helped spread the word about Archaos (even if that wasn&#8217;t actually my intention) and more importantly the Chaos scene in general!</p>
<p><img class="aligncenter size-full wp-image-198" title="slashdotted" src="http://www.rotates.org/wp-content/uploads/2010/01/slashdotted.png" alt="" width="555" height="232" /></p>
<p>Finally, a big thanks to <a href="http://twitter.com/Zolyx">@Zolyx</a> for mentioning the project on his <a href="http://www.zolyx.co.uk/">blog</a> along with the other fantastic Chaos projects out there &#8211; muchos appreciated!</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/FpArLOV7k-E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2010/01/16/full-cycle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2010/01/16/full-cycle/</feedburner:origLink></item>
		<item>
		<title>nodelog IRC bot</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/9RBPDJPgXMc/</link>
		<comments>http://www.rotates.org/2010/01/10/nodelog-irc-bot/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 02:43:58 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[NodeJS]]></category>
		<category><![CDATA[NodeLog]]></category>
		<category><![CDATA[bot]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[mirc]]></category>
		<category><![CDATA[node]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=194</guid>
		<description><![CDATA[As a little bit of an aside to &#8216;the main project&#8217; , I&#8217;ve been getting more familiar with node.js by forking a nice simple IRC bot project on github. At the moment I&#8217;ve just got it logging in an mIRC compatible format, and added some missing features to the logging, but in the future I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>As a little bit of an aside to &#8216;the main project&#8217; , I&#8217;ve been getting more familiar with <a href="http://nodejs.org">node.js</a> by <a href="http://github.com/lewster32/nodelog">forking</a> a nice simple <a href="http://github.com/felixge/nodelog">IRC bot project</a> on github. At the moment I&#8217;ve just got it logging in an mIRC compatible format, and added some missing features to the logging, but in the future I&#8217;m going to extend it into a proper modular IRC bot.</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/9RBPDJPgXMc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2010/01/10/nodelog-irc-bot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2010/01/10/nodelog-irc-bot/</feedburner:origLink></item>
		<item>
		<title>Non techies avert your eyes</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/ohCqCZS1KsA/</link>
		<comments>http://www.rotates.org/2010/01/04/non-techies-avert-your-eyes/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 00:34:39 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[actions]]></category>
		<category><![CDATA[board]]></category>
		<category><![CDATA[chaos]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[mechanics]]></category>
		<category><![CDATA[piece]]></category>
		<category><![CDATA[schema]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[spell]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=190</guid>
		<description><![CDATA[The server is really starting to take shape now. Turns and phases flow along nicely, and I&#8217;ve spent the last few days working on the spellcasting system. If you&#8217;ve read the Google Code page on Spells you&#8217;ll know that the spells themselves are simply sandboxed Javascript functions. I had thoughts before about writing some kind [...]]]></description>
			<content:encoded><![CDATA[<p>The server is really starting to take shape now. Turns and phases flow along nicely, and I&#8217;ve spent the last few days working on the spellcasting system. If you&#8217;ve read the Google Code page on <a href="http://code.google.com/p/archaos/wiki/Spells">Spells</a> you&#8217;ll know that the spells themselves are simply sandboxed Javascript functions. I had thoughts before about writing some kind of scripting language for the spells because I wanted maximum flexibility, but it dawned on me that simply giving the spells access to the game and board data themselves in the native language would be the best way to do it. I also not long after that thought about making the validation step the spell goes through beforehand (i.e. where it tells you you can&#8217;t cast the spell here, or you can&#8217;t cast it on this piece or whatever) in a similar manner, but subsequently rejected it for one very good reason: the clients also need to validate at their end, and they may not be written in Javascript!</p>
<p>For those interested in creating a client (and because the code isn&#8217;t yet ready for viewing!) here&#8217;s the current output of a test run on the server. Note that games, pieces and spells have a unique game ID, which is a letter followed by an incrementing numeric value. One of the current things I&#8217;m working on is cleaning up the code so all possible references are made to these UIDs, and not directly to the objects, as this will make things safer and more manageable within the engine at the expense of a little bit of performance (no doubt I&#8217;ll rewrite much of this at a later date so there are two &#8216;levels&#8217; of code; the UID data-driven level that the users interact with, and the deeper object-driven stuff that processes things.</p>
<pre class="javascript" name="code">{
  "turn" : 1,
  "phase" : "select_spell",
  "interaction" : "all",
  "finished" : true,
  "actions" : [
    {
      "type" : "select_spell",
      "player" : "lewster32",
      "time" : 1262563476,
      "data" : {
        "spell" : "s0"
      }
    },
    {
      "type" : "select_spell",
      "player" : "bobster16",
      "time" : 1262563476,
      "data" : {
        "spell" : "s6"
      }
    }
  ]
}
</pre>
<pre class="javascript" name="code">{
  "turn" : 1,
  "phase" : "cast",
  "interaction" : "sequence",
  "finished" : true,
  "actions" : [
    {
      "type" : "cast",
      "player" : "lewster32",
      "time" : 1262563476,
      "data" : {
        "spell" : "s0",
        "target" : {
          "x" : 0,
          "y" : 1
        }
      }
    },
    {
      "type" : "spawn",
      "player" : "lewster32",
      "time" : 1262563476,
      "data" : {
        "x" : 0,
        "y" : 1,
        "occupant" : {
          "uid" : "p2",
          "owner" : "lewster32",
          "properties" : {
            "movement" : 1,
            "combat" : 7,
            "defense" : 8,
            "maneuver" : 6,
            "resistance" : 4
          }
        }
      }
    },
    {
      "type" : "succeeded",
      "player" : "lewster32",
      "time" : 1262563476,
      "data" : {
        "spell" : "s0",
        "target" : {
          "x" : 0,
          "y" : 1
        }
      }
    },
    {
      "type" : "end_turn",
      "player" : "lewster32",
      "time" : 1262563476
    },
    {
      "type" : "cast",
      "player" : "bobster16",
      "time" : 1262563476,
      "data" : {
        "spell" : "s6",
        "target" : {
          "x" : 11,
          "y" : 1
        }
      }
    },
    {
      "type" : "spawn",
      "player" : "bobster16",
      "time" : 1262563476,
      "data" : {
        "x" : 11,
        "y" : 1,
        "occupant" : {
          "uid" : "p3",
          "owner" : "bobster16",
          "properties" : {
            "movement" : 1,
            "combat" : 6,
            "defense" : 5,
            "maneuver" : 2,
            "resistance" : 4
          }
        }
      }
    },
    {
      "type" : "succeeded",
      "player" : "bobster16",
      "time" : 1262563476,
      "data" : {
        "spell" : "s6",
        "target" : {
          "x" : 11,
          "y" : 1
        }
      }
    },
    {
      "type" : "end_turn",
      "player" : "bobster16",
      "time" : 1262563476
    }
  ]
}
</pre>
<p>These are what every player will receive at the end of each phase. They contain each action performed by the players in the order that they performed them, and timestamped for reference and backup purposes. Players have relatively limited access to the game in terms of actions, just like in the original game. A player may select spells, cast spells, move and attack pieces and end their turn. From these actions however, more actions may occur, so a player casting a spell on tile x will set off a chain of actions, where the server rolls against the spell&#8217;s chance, then (if successful) performs the spell&#8217;s effect, which may be to spawn a new piece or whatever.</p>
<p>Soon I&#8217;ll be locking down the format of these outputs, and documenting the errors and notices a user receives directly. This will allow for anyone wishing to do so to begin planning or working on a client &#8211; and I sincerely hope people do!</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/ohCqCZS1KsA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2010/01/04/non-techies-avert-your-eyes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2010/01/04/non-techies-avert-your-eyes/</feedburner:origLink></item>
		<item>
		<title>Progress</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/icX-X-xO_YU/</link>
		<comments>http://www.rotates.org/2009/12/31/progress-2/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 17:40:34 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[progress]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=187</guid>
		<description><![CDATA[Just a small update to let everyone know I&#8217;m still working feverishly on Archaos&#8217;s server. It&#8217;s looking pretty good at the moment, and the server currently features:

Creating games
Joining and leaving games
Creating and moving pieces on the board
Extensive move validation (bounds checking, path checking, engagement checking etc)
A customisable turn/phase system (this has been an absolute pain [...]]]></description>
			<content:encoded><![CDATA[<p>Just a small update to let everyone know I&#8217;m still working feverishly on Archaos&#8217;s server. It&#8217;s looking pretty good at the moment, and the server currently features:</p>
<ul>
<li>Creating games</li>
<li>Joining and leaving games</li>
<li>Creating and moving pieces on the board</li>
<li>Extensive move validation (bounds checking, path checking, engagement checking etc)</li>
<li>A customisable turn/phase system (this has been an absolute pain in the arse to implement &#8211; but it appears to be working as intended now)</li>
<li>Full JSON messaging system (you talk to the server in JSON and it talks back to you in JSON, there&#8217;re no sockets, special protocols or proprietary formats)</li>
</ul>
<p>The Google Code wiki is somewhat out of date (already!) as things slot into place during development, and I&#8217;ll update it as things become more solid. I&#8217;m currently using a private SVN, though as the project nears a working first version (and if there&#8217;s any interest) I&#8217;ll be happy to give access to the SVN &#8211; there&#8217;s a lot of experience and expertise out there, and I&#8217;d greatly appreciate a second opinion on aspects of the code!</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/icX-X-xO_YU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2009/12/31/progress-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2009/12/31/progress-2/</feedburner:origLink></item>
		<item>
		<title>What have I created?</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/9a1PJcrL8x4/</link>
		<comments>http://www.rotates.org/2009/12/29/what-have-i-created/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 00:47:07 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[local]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[screenshot]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=184</guid>
		<description><![CDATA[SCENE: DANK LABORATORY FULL OF OLD RUSTING BULBOUS MACHINERY, GLOWING FILAMENTS AND RAIN DRIPPING THROUGH THE OPEN ROOF ONTO THE STONE FLOOR
Lew: (Screaming) &#8220;MUHAHAHAHA!! IT&#8217;S ALIVE&#8221;
Ahem. Yes, I&#8217;ve been beavering away over the last few days and I can finally reveal a proper screenshot of some proper code doing something. Unfortunately, I&#8217;ve not started on [...]]]></description>
			<content:encoded><![CDATA[<p><strong>SCENE: DANK LABORATORY FULL OF OLD RUSTING BULBOUS MACHINERY, GLOWING FILAMENTS AND RAIN DRIPPING THROUGH THE OPEN ROOF ONTO THE STONE FLOOR</strong></p>
<p>Lew: (Screaming) &#8220;MUHAHAHAHA!! IT&#8217;S ALIVE&#8221;</p>
<p>Ahem. Yes, I&#8217;ve been beavering away over the last few days and I can finally reveal a proper screenshot of some proper code doing something. Unfortunately, I&#8217;ve not started on a client yet, and I&#8217;m using a quickly thrown together browser-based console to work with it. However, it <em>is</em> a screenshot, and so I&#8217;ll upload it!</p>
<p><img class="aligncenter size-full wp-image-185" title="archaos-local" src="http://www.rotates.org/wp-content/uploads/2009/12/archaos-local.png" alt="" width="529" height="671" /></p>
<p>One of the fantastic bonuses of writing in Javascript is I have an interpreter with a great debugging suite at my disposal right from the outset with no messing on &#8211; Archaos&#8217;s core code is designed to run locally in a browser as well as server-side, and an adaptive messaging system will smooth the whole experience out so that what goes in and what comes out is the same wherever the clients or the servers are located.</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/9a1PJcrL8x4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2009/12/29/what-have-i-created/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2009/12/29/what-have-i-created/</feedburner:origLink></item>
		<item>
		<title>For people with Javascript-shaped eyeballs</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/D32jJduUcM8/</link>
		<comments>http://www.rotates.org/2009/12/26/for-people-with-javascript-shaped-eyeballs/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 22:51:17 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Google Code]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[schema]]></category>
		<category><![CDATA[Wiki]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=182</guid>
		<description><![CDATA[I&#8217;ve started fleshing out the wiki on Archaos&#8217;s Google Code page &#8211; certainly worth a look if you&#8217;ve any technical interest in the project. Take a look and let me know your thoughts &#8211; I&#8217;ll be adding more content to the wiki as I sort out through my stacks of notes.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve started fleshing out the <a href="http://code.google.com/p/archaos/w/list">wiki</a> on Archaos&#8217;s <a href="http://code.google.com/p/archaos/">Google Code</a> page &#8211; certainly worth a look if you&#8217;ve any technical interest in the project. Take a look and let me know your thoughts &#8211; I&#8217;ll be adding more content to the wiki as I sort out through my stacks of notes.</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/D32jJduUcM8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2009/12/26/for-people-with-javascript-shaped-eyeballs/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2009/12/26/for-people-with-javascript-shaped-eyeballs/</feedburner:origLink></item>
		<item>
		<title>Belated excuses</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/U0-B5nIJpuY/</link>
		<comments>http://www.rotates.org/2009/12/23/belated-excuses/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 21:09:30 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Persevere]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Battle of the Wizards]]></category>
		<category><![CDATA[Comet]]></category>
		<category><![CDATA[Cross Platform]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[Gooey Blob]]></category>
		<category><![CDATA[Haxe]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Js]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Julian Gollop]]></category>
		<category><![CDATA[Launch]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Open Web]]></category>
		<category><![CDATA[RESTful]]></category>
		<category><![CDATA[Scalable Database]]></category>
		<category><![CDATA[Scalable Server]]></category>
		<category><![CDATA[Strategy]]></category>
		<category><![CDATA[Web based]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=173</guid>
		<description><![CDATA[It&#8217;s been a very busy year for me, mainly due to my commitments at work (let me assure you this won&#8217;t be a long winded entry which eventually leads to &#8217;so thanks for your support but I quit&#8217;!) and as such the big project that I&#8217;m sure 99% of visitors to this site are waiting [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a very busy year for me, mainly due to my commitments at work (let me assure you this won&#8217;t be a long winded entry which eventually leads to &#8217;so thanks for your support but I quit&#8217;!) and as such the big project that I&#8217;m sure 99% of visitors to this site are waiting for is <em>still</em> under slow methodical planning and development.</p>
<p>It&#8217;s dawned on me that I&#8217;ve been very secretive even about the name of the project, so I think at the very least I owe you guys that &#8211; so here it is!</p>
<p><img class="aligncenter size-full wp-image-174" title="Archaos 3D logo" src="http://www.rotates.org/wp-content/uploads/2009/12/archaos-logo-3d.png" alt="Archaos" width="550" height="310" /></p>
<p style="text-align: left;">I think this is slightly more pleasing than &#8216;Chaos Enhanced Enhanced&#8217;!</p>
<p>I&#8217;d also like to talk about the plans regarding its launch and features, because I&#8217;m taking quite a different approach to the norm. Early on in the planning I wanted to make sure Archaos could be playable by as many people on as many different formats as possible. The general idea I had was that I&#8217;d write the game in <a href="http://www.haxe.org/">haXe</a> and then generate the various sets of code for servers and clients from that one source, and &#8216;et voila&#8217; I&#8217;d have a cross-platform game. Since then, I&#8217;ve spent a lot of time at work playing with various web-based JSON APIs, and I&#8217;ve watched some fantastic projects appear (such as <a href="http://nodejs.org">node.js</a>, <a href="http://www.persvr.org">Persevere</a> and <a href="http://couchdb.apache.org">CouchDB</a>) and realised that, in fact, Archaos&#8217;s core could live on the web as a data-based API.</p>
<p>It makes a lot of sense when you think about it &#8211; you have a scalable server with a scalable database, written in Javascript (a language which I simply adore), using <a href="http://json.org">JSON</a> as its end-to-end data format, accessible by anything with a web connection. Being turn-based, it doesn&#8217;t need to rely on any complicated <a href="http://en.wikipedia.org/wiki/Comet_%28programming%29">comet</a> solutions, and (and here&#8217;s the really exciting part) <strong>you can make your own client in whatever language, format or platform you like!</strong></p>
<p>I&#8217;m really big on open source and open web, and so it&#8217;s really exciting for me to think that, although I will still be creating clients in Flash and (with Flash CS4&#8217;s leave) for iPhone, there&#8217;ll also be a well documented API out there that can be used by anyone. You can easily have pure HTML/Javascript clients, text-based clients to run in terminal windows and so on &#8211; and no matter which client you use, you&#8217;ll be able to play Archaos with anyone else.</p>
<p>As I said before, I&#8217;ll also be making the server and client source available (though the server source will likely need a closed development phase after launch so I can work out bugs, security issues and exploits before I make it available to all) so anyone with a Linux box can host their own server &#8211; though I&#8217;m not quite sure why anyone would want to do this at the moment, as a server will handle many hundreds, or possibly thousands of concurrent games with ease, and take care of matchmaking, login and so on. In fact this area of development will probably result in the separation of the login/matchmaking master server from the core gameplay servers.</p>
<p>So, to summarise:</p>
<ul>
<li>My current work focus has shifted away from a unified client/server architecture, and my time is now being devoted to creating a robust HTTP-based server for Archaos.</li>
<li>In tandem to the server work I&#8217;ll have to develop a client for testing purposes, and so the first client may be a simple HTML/JS or Flash visual interface.</li>
<li>Once these are at a satisfactory level, I will announce a beta period to work out bugs, and then shortly after that I will release full API documentation for the Archaos server (which will have its own snappy name, already got a few ideas) and allow interested parties to get the ball rolling on their own clients.</li>
<li>Finally, I&#8217;ll finish and release my own client for Flash, and hopefully soon after for iPhone.</li>
</ul>
<p>As you can probably tell, I&#8217;m fantastically excited by this whole project; indeed I can&#8217;t see why this hasn&#8217;t been done before &#8211; though no doubt it has, and I&#8217;ve just not looked hard enough&#8230; I&#8217;d love to hear your opinions on all of this &#8211; and I&#8217;d also love to find out if other people have attempted something similar!</p>
<p><strong>Edit: </strong>Looks like someone has thought of this &#8211; in fact pretty much verbatim! <a href="http://web.archive.org/web/20031129175919/http://www.openchaos.org/">http://web.archive.org/web/20031129175919/http://www.openchaos.org/</a></p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/U0-B5nIJpuY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2009/12/23/belated-excuses/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2009/12/23/belated-excuses/</feedburner:origLink></item>
		<item>
		<title>Timelapse</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/NZwuJHljpLA/</link>
		<comments>http://www.rotates.org/2009/12/17/timelapse/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 01:04:32 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Plugs]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[5d]]></category>
		<category><![CDATA[canon]]></category>
		<category><![CDATA[Hd]]></category>
		<category><![CDATA[landscape]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[time lapse]]></category>
		<category><![CDATA[timelapse]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=166</guid>
		<description><![CDATA[Wow&#8230;

Stick it in HD, full screen. Nuff said.
]]></description>
			<content:encoded><![CDATA[<p>Wow&#8230;</p>
<p><object width="563" height="317"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6686768&#038;server=vimeo.com&#038;show_title=1&#038;show_byline=1&#038;show_portrait=1&#038;color=00ADEF&#038;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6686768&#038;server=vimeo.com&#038;show_title=1&#038;show_byline=1&#038;show_portrait=1&#038;color=00ADEF&#038;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="563" height="317"></embed></object></p>
<p>Stick it in HD, full screen. Nuff said.</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/NZwuJHljpLA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2009/12/17/timelapse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2009/12/17/timelapse/</feedburner:origLink></item>
	</channel>
</rss>
