<?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 V12</title>
	
	<link>http://www.rotates.org</link>
	<description>The personal blog of web developer, photographer and designer Lewis 'SEPTiMUS' Lane</description>
	<lastBuildDate>Wed, 04 Jan 2012 00:24:06 +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>Expressing my love</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/WaDK8MFkk8A/</link>
		<comments>http://www.rotates.org/2012/01/04/expressing-my-love/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 00:24:06 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[NodeJS]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=255</guid>
		<description><![CDATA[Over the last few days I&#8217;ve been planning, and then implementing the RESTful communication part of the server, and this has been built on top of Express&#8216;s fantastic routing. The next few days will see me implementing the rest of the current game logic on top of this routing, using the HTTP GET and POST ...]]></description>
			<content:encoded><![CDATA[<p>Over the last few days I&#8217;ve been planning, and then implementing the RESTful communication part of the server, and this has been built on top of <a href="http://expressjs.com/" target="_blank">Express</a>&#8216;s fantastic routing. The next few days will see me implementing the rest of the current game logic on top of this routing, using the HTTP GET and POST methods and simple URI schemes in order to provide any client with a stateless, efficient way of communicating with the server.</p>
<p>For example, a client could request &#8216;<code>/games</code>&#8216; from the server and receive a list of games, each with its vital stats (players, board size etc). A client can then request to see more on an individual game by requesting &#8216;<code>/games/game01</code>&#8216; for instance. A client can then finally choose to get the status of the game from a particular point via &#8216;<code>/games/game01/update/20</code>&#8216; which will return all the actions from action 20 and above, or alternatively the client can request &#8216;<code>/games/game01/update/1325635230240</code>&#8216; which retrieves the actions from after that timestamp. The server determines whether a request called for a timestamp or an action ID easily because of the huge numerical difference between the likely amount of actions in a game and the value of a typical timestamp.</p>
<p>I have also decided (for now at least) to focus on JSON as the primary format for data from the server &#8211; I had intended to explore other formats such as XML, <a href="http://bsonspec.org/" target="_blank">BSON</a> and <a href="http://msgpack.org/" target="_blank">MessagePack</a> but keeping things in JSON seems to be efficient enough at the moment.</p>
<p>Once the server is returning everything correctly using this new URI structure, I&#8217;ll shift my focus to the client for a while, and get some of the boring stuff such as creating/editing users and access control sorted out. I&#8217;m being purposely very careful about having something solid and playable before I go and start with the spell phase, and all of the delightful things that brings with it!</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/WaDK8MFkk8A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2012/01/04/expressing-my-love/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2012/01/04/expressing-my-love/</feedburner:origLink></item>
		<item>
		<title>Errors and actions</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/Ju3ShhQDAqE/</link>
		<comments>http://www.rotates.org/2011/12/18/errors-actions/#comments</comments>
		<pubDate>Sun, 18 Dec 2011 01:22:59 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=248</guid>
		<description><![CDATA[I&#8217;ve been getting into a routine of testing, re-writing and bolstering everything over the past week or two. This is in direct contrast to my usual routine of writing massive blocks of code without testing, then firing it up and watching it fail in multiple places, then lose the will to continue (something perhaps familiar ...]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been getting into a routine of testing, re-writing and bolstering everything over the past week or two. This is in direct contrast to my usual routine of writing massive blocks of code without testing, then firing it up and watching it fail in multiple places, then lose the will to continue (something perhaps familiar to many developers) &#8211; so this time making sure every routine is working efficiently and giving me verbose feedback in every possible situation has been high on my priority list.</p>
<p>Tonight I implemented error codes and matching error messages &#8211; boring I know, but it&#8217;s just one of many steps I&#8217;ve taken to make sure I know when things aren&#8217;t working, and to make the client/server architecture as bullet-proof as possible. All this work at the front-end is to make sure that when the server&#8217;s launched, it&#8217;ll have a really easy to use API. One of my major goals after all is to make this an &#8216;open&#8217; Chaos server, and invite front-end developers to produce their own ports for various platforms &#8211; indeed it should be very possible to write a front-end for a Spectrum using the same graphics, sounds and so on!</p>
<p>One of the other things I&#8217;ve implemented is a step-by-step list of actions for each game. The stored game data contains a current snapshot of the game, active players, unit positions etc &#8211; but it also now contains a blow-by-blow account of the entire game from when it&#8217;s created, as players join and then start playing. Clients will then be able to store a timestamp (returned from the server after each action they perform) and then put out polled or long-polled requests for updates from the server, quoting that timestamp. Once the server processes new actions, it can return those actions to the requesting client in the correct order (so for instance, if a player moves their wizard in the first turn, the server automatically advances to the next player as they no longer have any units to move &#8211; this logs two actions, a unit movement and then a &#8220;next user&#8217;s turn&#8221; action). Clients may choose to return actions from any timestamp, so as long as the client knows when it last got an update, it can always stay in sync. The client may also optionally request all the actions, in effect providing a way of replaying an entire game, or it can just request a &#8216;refresh&#8217;, which sends the client a snapshot of the game as it stands, with all the data it needs to resume the game from scratch.</p>
<p>Here&#8217;s an example of a typical update:</p>
<pre class="javascript" name="code">{

    "response": {
        "success": [
            {
                "id": 8,
                "action": {
                    "turn": 3,
                    "currentPlayer": 0
                },
                "time": 1324168638420
            },
            {
                "id": 9,
                "action": {
                    "moved": {
                        "id": "wizard_0",
                        "from": {
                            "x": 3,
                            "y": 5
                        },
                        "to": {
                            "x": 4,
                            "y": 5
                        }
                    }
                },
                "time": 1324168655828
            },
            {
                "id": 10,
                "action": {
                    "turn": 3,
                    "currentPlayer": 1
                },
                "time": 1324168655828
            }
        ]
    },
    "currentTime": 1324168722155

}</pre>
<p>So far, I have a very solid base &#8211; board sizes and player counts are limitless and the server will automatically position wizards in a &#8216;Chaos-like&#8217; arrangement around the board, regardless of size, shape or number of wizards, or at least up to 8 wizards, after that I need to write a routine to automatically space them &#8211; probably via some kind of circular distribution. Although spell casting isn&#8217;t yet implemented, units are and can be created by manually editing the game data &#8211; so I&#8217;ve had a wizard and his hydra happily moving around the board to my infinite satisfaction.</p>
<p>Next to be done is the combat routines &#8211; which will lead to the invariably sticky (though hopefully MUCH more manageable) death routine, which is always a bit of a pain with Chaos. Remember, some units die, some units disappear, some units (wizards) disappear and trigger a player defeated routine, blobs engulf, magic fire destroys outright and leaves no corpse, wizards on mounts if attacked by units lose their mount, but if overrun by magic fire disappear and trigger a player defeated routine and so on and on.</p>
<p>Plainly remaking Chaos is not as simple as it seems.</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/Ju3ShhQDAqE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2011/12/18/errors-actions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2011/12/18/errors-actions/</feedburner:origLink></item>
		<item>
		<title>Multiplayer!</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/uZfsxlg0oMg/</link>
		<comments>http://www.rotates.org/2011/11/26/multiplayer/#comments</comments>
		<pubDate>Sat, 26 Nov 2011 12:54:31 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=244</guid>
		<description />
			<content:encoded><![CDATA[<p><a href="http://www.rotates.org/wp-content/uploads/2011/11/multiplayer.jpg"><img class="aligncenter size-large wp-image-245" title="multiplayer" src="http://www.rotates.org/wp-content/uploads/2011/11/multiplayer-563x902.jpg" alt="" width="563" height="902" /></a></p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/uZfsxlg0oMg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2011/11/26/multiplayer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2011/11/26/multiplayer/</feedburner:origLink></item>
		<item>
		<title>New theme</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/IhCNXZiBPUY/</link>
		<comments>http://www.rotates.org/2011/11/05/new-theme/#comments</comments>
		<pubDate>Sat, 05 Nov 2011 20:02:00 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=241</guid>
		<description><![CDATA[Oooh look, a new theme! Same colour changing gubbins as before, but a fresh new non-Flash look, with some spooky negative-percentage background trickery going on in the header! More updates soon &#8211; exciting news this way comes!]]></description>
			<content:encoded><![CDATA[<p>Oooh look, a new theme! Same colour changing gubbins as before, but a fresh new non-Flash look, with some spooky negative-percentage background trickery going on in the header!</p>
<p>More updates soon &#8211; exciting news this way comes!</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/IhCNXZiBPUY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2011/11/05/new-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2011/11/05/new-theme/</feedburner:origLink></item>
		<item>
		<title>Merry Christmas, happy new year and so on</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/aQDO25x75zM/</link>
		<comments>http://www.rotates.org/2011/03/12/merry-christmas-happy-new-year-and-so-on/#comments</comments>
		<pubDate>Sat, 12 Mar 2011 02:01:17 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=238</guid>
		<description><![CDATA[First of all, apologies for not updating in yonks &#8211; I could give you the usual programmer excuses about real life, work and so on but you&#8217;ve heard them all before, so I&#8217;ll dive right in to what I&#8217;ve been doing: Archaos is very, very slowly moving along &#8211; we&#8217;re talking geologically slow here, but ...]]></description>
			<content:encoded><![CDATA[<p>First of all, apologies for not updating in yonks &#8211; I could give you the usual programmer excuses about real life, work and so on but you&#8217;ve heard them all before, so I&#8217;ll dive right in to what I&#8217;ve been doing:</p>
<p><a href="http://chaosremakes.wikia.com/wiki/Archaos" target="_blank">Archaos</a> is very, very slowly moving along &#8211; we&#8217;re talking geologically slow here, but nonetheless there&#8217;s still a roadmap and there&#8217;s still progress on it. My aim now is to have a release before my 30th birthday (next year) and I&#8217;ll be damned if I don&#8217;t make it!</p>
<p>I&#8217;ve been experimenting with presentation and so on, and came up with a <a href="http://www.rotates.org/archaos/isotest.htm" target="_blank">little thing</a> tonight which I thought was quite cute.  I&#8217;m really feeling the love for CSS3 and HTML5 now.</p>
<p><a href="http://www.wordpress.org/" target="_blank">WordPress</a> has become my new powerhouse tool at work, and I&#8217;ve been churning out sites left, right and centre in this wonderful blog engine turned CMS (as of 3.1 especially so) &#8211; check out some of the following:</p>
<ul>
<li><a href="http://www.redboxdesign.com/" target="_blank">www.lovegeobar.com</a></li>
<li><a href="http://www.communityfoundation.org.uk" target="_blank">www.communityfoundation.org.uk</a></li>
<li><a href="http://www.redboxdesign.com/" target="_blank">www.redboxdesign.com</a></li>
</ul>
<p>The last is our most recent project, and is very much not a site you&#8217;d expect to be WordPress powered &#8211; such is its flexibility!</p>
<p>I don&#8217;t update on <a href="http://twitter.com/lewster32">Twitter</a> much anymore, as it&#8217;s become a bit of a joke now with all of the celebrities and ridiculous trends; it pains me to say it but I think Twitter is more about Justin Bieber now than anything sensible. Alas, I spend most of my social networking time now on <a href="http://www.facebook.com/lewster32">Facebook</a>.</p>
<p>Finally, I&#8217;ve booked a flight to Arizona in September for a two week photography road trip with two of my good friends &#8211; should be awesome!</p>
<p>Anyway, hopefully that&#8217;s got everyone up to speed on what I&#8217;m doing &#8211; keep your eyes peeled in the coming months for updates on Archaos and other projects.</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/aQDO25x75zM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2011/03/12/merry-christmas-happy-new-year-and-so-on/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2011/03/12/merry-christmas-happy-new-year-and-so-on/</feedburner:origLink></item>
		<item>
		<title>Victory!!!</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/9YroFDqQ65k/</link>
		<comments>http://www.rotates.org/2010/09/10/victory/#comments</comments>
		<pubDate>Fri, 10 Sep 2010 10:10:32 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=235</guid>
		<description><![CDATA[I actually just did a \o/ in the middle of the office. http://mashable.com/2010/09/10/adobe-responds-to-apples-new-rules/ Yes. Very much yes.]]></description>
			<content:encoded><![CDATA[<p>I actually just did a \o/ in the middle of the office.</p>
<p><a href="http://mashable.com/2010/09/10/adobe-responds-to-apples-new-rules/">http://mashable.com/2010/09/10/adobe-responds-to-apples-new-rules/</a></p>
<p>Yes. Very much yes.</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/9YroFDqQ65k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2010/09/10/victory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2010/09/10/victory/</feedburner:origLink></item>
		<item>
		<title>Raise dead</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/hHoFKRA5uAI/</link>
		<comments>http://www.rotates.org/2010/08/18/raise-dead/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 16:11:27 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Plugs]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=231</guid>
		<description><![CDATA[Well well well, I guess I haven&#8217;t posted here in&#8230; ohhh, ages? I owe you all an apology to be perfectly honest, as I&#8217;ve neglected to work on Archaos (or indeed any personal projects) in the time since my last update. Life has panned out for me &#8211; work became extremely busy in the last ...]]></description>
			<content:encoded><![CDATA[<p>Well well well, I guess I haven&#8217;t posted here in&#8230; ohhh, ages? I owe you all an apology to be perfectly honest, as I&#8217;ve neglected to work on Archaos (or indeed any personal projects) in the time since my last update.</p>
<p>Life has panned out for me &#8211; work became extremely busy in the last few months, and my ever expanding role has ever expanded &#8211; and indeed shifted towards a more theoretical and management-style thang. I&#8217;ve been working directly with clients and producing a lot of exciting stuff for a lot of exciting projects which, if I get off my lazy arse and update this blog more often, you will no doubt hear about!</p>
<p>Another significant development is that I&#8217;m no longer a lonely geek sat in his room listening to chip music and writing Javascript &#8211; I&#8217;m a very much <em>not lonely</em> geek sat in his room listening to chip music and writing Javascript. I have indeed found a (dare I say it) lady geek &#8211; though to her credit, not even close to the caliber of my pure unadulterated nerdiness &#8211; whom I spend as much time with as my work and her sanity allows. I won&#8217;t allow myself to become soppy and embarrass her (and myself) but&#8230; well, I absolutely love you, and you make me a very, very happy boy. Oh bugger, I don&#8217;t think I succeeded there. Never mind!</p>
<p>This has meant of course (yes, you all knew it!) that my personal projects have taken a back burner in all of this. Well, I say a back burner, but I actually mean &#8216;have been placed in tupperware tubs and frozen&#8217;. I must say now that my passion for Archaos in particular has not waned one bit &#8211; however after such a hiatus, I&#8217;d like to start a lot of it again rather than try and work my way back into the existing code base. A problem with learning as you create is that everything you did a month previous is a bit crap &#8211; so stuff I started last year is gonna be pretty goddamn terrible now.</p>
<p>I will return to Archaos. I absolutely promise I will, and I have been reading <a href="http://groups.yahoo.com/group/gooeyblob/ " target="_blank">Gooey Blob</a> and other Chaos related stuff. The end of the year always proves to be a better time to get on with personal projects, and I hope to have something playable in December.</p>
<p>To those of you who still read this, still follow me on my similarly neglected <a href="http://twitter.com/lewster32">Twitter</a> account, I salute you &#8211; and I&#8217;ll be around more often!</p>
<p>P.S. Check <a href="http://minecraft.net/" target="_blank">this</a> out. WOW!</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/hHoFKRA5uAI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2010/08/18/raise-dead/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2010/08/18/raise-dead/</feedburner:origLink></item>
		<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 3 4 5 6 7 8 Board width: Board height: Starting spell ...]]></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>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
</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>2</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" : [ { "type" : "move", "player" : ...]]></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>
	</channel>
</rss>

