<?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, 01 May 2013 17:20:21 +0000</lastBuildDate>
	<language>en-US</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>Financial hiatus</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/lBznR_6EjY0/</link>
		<comments>http://www.rotates.org/2013/05/01/financial-hiatus/#comments</comments>
		<pubDate>Wed, 01 May 2013 17:20:21 +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=346</guid>
		<description><![CDATA[I&#8217;m taking a little bit of a break from Archaos at the moment as more immediate priorities have arisen &#8211; notably my financial status! As you probably know, I quit my full time job in September of last year to work on Archaos, and indeed I&#8217;ve made a lot of progress; as much if not ...]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m taking a little bit of a break from Archaos at the moment as more immediate priorities have arisen &#8211; notably my financial status! As you probably know, I quit my full time job in September of last year to work on Archaos, and indeed I&#8217;ve made a lot of progress; as much if not more in my abilities as a programmer as on the game itself.</p>
<p>As it stands, I need to do a partial rewrite on the client, as some aspects of it (mainly legacy stuff from last year) have become unmaintainable. Sounds drastic but I assure you this is only a minor setback; lots of Archaos is done and working to my satisfaction (the server for example is in a pretty good state at the moment, and the implemented features are working very efficiently) however the rigours of dealing with stateful asynchronous stuff all over the place (via the network, player inputs, waiting for animations and so on) combined with the lack of any kind of pattern have led to a game which as it stands is becoming near impossible to debug. Action must be taken, and that will begin with the application of a proper MVC pattern to the client game code.</p>
<p>In order to continue to be able to work on Archaos, I&#8217;ve taken on some web jobs (which bizarrely appeared totally out of nowhere from friends right as my savings were about to dry up) but this is a temporary thing and as soon as they&#8217;re done, I&#8217;ll be back onto Archaos and aiming for a beta release.</p>
<p>I can only apologise for the seemingly endless false starts and broken deadlines for those of you who&#8217;re following this project &#8211; it&#8217;s embarrassing to keep having to explain myself. My focus is however still solidly on getting Archaos finished and released, and then getting to the bit I&#8217;ve been really looking forward to; extending the game through new modes, features, spells and units!</p>
<p>Stay tuned!</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/lBznR_6EjY0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2013/05/01/financial-hiatus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2013/05/01/financial-hiatus/</feedburner:origLink></item>
		<item>
		<title>Pathfinding and interaction</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/UdXkR_HTKnw/</link>
		<comments>http://www.rotates.org/2013/03/31/pathfinding-and-interaction/#comments</comments>
		<pubDate>Sun, 31 Mar 2013 14:59:08 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=341</guid>
		<description><![CDATA[I&#8217;ve spent the last few days working on the pathfinding system on Archaos. This replaces the previous and temporary &#8216;one step at a time&#8217; way that non-flying units were controlled, and makes the process of moving of your units much easier and faster. I&#8217;ve spent a fair bit of time testing the system and comparing ...]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve spent the last few days working on the pathfinding system on Archaos. This replaces the previous and temporary &#8216;one step at a time&#8217; way that non-flying units were controlled, and makes the process of moving of your units much easier and faster.</p>
<p>I&#8217;ve spent a fair bit of time testing the system and comparing movement ranges with the <a title="The ultimate Chaos creature infographic!" href="http://www.rotates.org/2012/11/27/the-ultimate-chaos-creature-infographic/">infographic</a> posted previously. Due to some discrepancies with the way the original game handled non-flying movement, calculation of a non-flying unit&#8217;s range isn&#8217;t trivial &#8211; and when you throw in obstacles and danger of your unit getting engaged, the efficiency and accuracy of the pathfinding system becomes vital. I may still need to tweak it a little further but at the moment I&#8217;m very happy with the results.</p>
<p><img class="aligncenter size-full wp-image-343" alt="archaos-pathfinding" src="http://www.rotates.org/wp-content/uploads/2013/03/archaos-pathfinding1.gif" width="451" height="292" /></p>
<p>Ease of interaction is one of the top priorities of the game; if the game&#8217;s controls aren&#8217;t implemented correctly, it could quickly get very annoying &#8211; for instance, if it was easy to accidentally move a unit to the wrong position. This is especially important when dealing with mobile devices, which offer less feedback and less accurate interaction methods.</p>
<p>With this in mind, all actions carried out in the game must be confirmed, either by tapping twice in the same spot, or by tapping the &#8216;confirm&#8217; button which will appear once you&#8217;ve tapped to express your intent. This method seamlessly works between mobile and desktop, with intent on the desktop being indicated as you hover your mouse over the board.</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/UdXkR_HTKnw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2013/03/31/pathfinding-and-interaction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2013/03/31/pathfinding-and-interaction/</feedburner:origLink></item>
		<item>
		<title>Future proofing</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/qdlFHkm2I1o/</link>
		<comments>http://www.rotates.org/2013/03/23/future-proofing/#comments</comments>
		<pubDate>Sat, 23 Mar 2013 20:26:31 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[NodeJS]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=337</guid>
		<description><![CDATA[For the last few weeks I&#8217;ve been adding in two very important systems to Archaos &#8211; namely real-time communications via TCP, and the use of a database back-end for the server. The first makes games much more responsive, and allows the server to inform connected players of actions as and when they happen. It will ...]]></description>
				<content:encoded><![CDATA[<p>For the last few weeks I&#8217;ve been adding in two very important systems to Archaos &#8211; namely real-time communications via TCP, and the use of a database back-end for the server. The first makes games much more responsive, and allows the server to inform connected players of actions as and when they happen. It will also pave the way for an exciting addition I have planned, which will (hopefully) combat the inevitable pacing problems that arise from typical turn-based games. If you want to know more about what I&#8217;m getting at, give <a href="http://www.lostgarden.com/2005/06/space-crack-fixing-turn-based-strategy.html" target="_blank">this excellent article</a> a read.</p>
<div id="attachment_339" class="wp-caption alignright" style="width: 213px"><a href="http://www.rotates.org/wp-content/uploads/2013/03/servers.png"><img class="size-medium wp-image-339" alt="The database server, client and game server respectively." src="http://www.rotates.org/wp-content/uploads/2013/03/servers-203x300.png" width="203" height="300" /></a><p class="wp-caption-text">The database server, client and game server respectively.</p></div>
<p>The second addition is a solid database-driven server. Until now, as a temporary solution I&#8217;d been storing all of the game data in a single file. When the server opened, it read all of the users and games from this file, and then stored all of the data in memory. If the data changed, the server would periodically save the entire file back to disk. The server would only write the data to disk if it had changed, and only once every so often &#8211; this kept writes to a minimum. The solution was fine for small scale testing, but it would not have scaled up well &#8211; quickly consuming all of the memory in the server machine, as well as being difficult to manage.</p>
<p>Now all of the data is stored on a <a href="http://www.mongodb.org/" target="_blank">mongoDB</a> server in essentially the same format. The game server is then only responsible for the manipulation of the data, and not the storage and management of it. The game server itself is relatively simple in its approach; when a user sends an action, it loads the game, determines if the action can be performed, and if so what the outcomes are. It then saves the changed game back to the database and sends the actions to all of the connected players (which it does via TCP). The game server never keeps games, users, units or anything else in memory for longer than it needs to check or manipulate it. There are no special objects or instances; every function works only on the raw data. I may introduce some caching to reduce database operations later but at this stage the setup is fairly efficient.</p>
<p>So, I have what I feel is a solid base now, I&#8217;ve got some of the actions in and working (such as creating, joining and leaving games, unit movement and engagement) and now it&#8217;s just a case of writing the client-side stuff for the remaining actions, adding in the spell system and then getting it out there for public beta testing!</p>
<p>Look out soon for another post on the spell system and how I intend to tweak it to provide a more balanced start to each game.</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/qdlFHkm2I1o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2013/03/23/future-proofing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2013/03/23/future-proofing/</feedburner:origLink></item>
		<item>
		<title>UI and the lobby</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/_-H_QjmaSx8/</link>
		<comments>http://www.rotates.org/2013/02/21/ui-and-the-lobby/#comments</comments>
		<pubDate>Thu, 21 Feb 2013 14:25:48 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Archaos]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=334</guid>
		<description><![CDATA[I&#8217;ve spent the last two months refactoring a lot of code, tidying up and making everything more manageable. I&#8217;ve also spent the time working on implementing a Feathers-based GUI so that the game works more like a game should (i.e. with an opening screen, the ability to select which game you want to play and ...]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve spent the last two months refactoring a lot of code, tidying up and making everything more manageable. I&#8217;ve also spent the time working on implementing a <a href="http://feathersui.com/" target="_blank">Feathers</a>-based GUI so that the game works more like a game should (i.e. with an opening screen, the ability to select which game you want to play and so on).</p>
<p>I won&#8217;t lie, Feathers has been difficult to get my head around &#8211; it seems to be an excellent library once you&#8217;ve sussed it out, but it&#8217;s not well documented (relying mainly on examples rather than proper documentation, and leaving you to even look at the library&#8217;s code itself to figure some things out) and took me a long time to get comfortable with. The upshot is I now have a very nice, fast, flexible native-feeling interface to Archaos which will work the same on all platforms.</p>
<p>You can see a short video of me demonstrating it on my desktop below &#8211; and you&#8217;ll just have to take my word for it that it works just as well on a mobile device <img src='http://www.rotates.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='563' height='347' src='http://www.youtube.com/embed/WQFsbJwqC0U?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span></p>
<p>None of what you see here is mocked up &#8211; the games you&#8217;ve joined or created are being retrieved from the server, and their details are being displayed. The isometric mini-map shows a real-time view of the game, and will update even while you view it from the lobby.</p>
<p>More features will need to be added to make the lobby fully featured, such as an interface that allows you to add friends (and so see their newly created games and join them), the ability to sort and filter the games by various criteria and of course the &#8216;create new game&#8217; screen itself, where you&#8217;ll be able to set things such as the board size, maximum number of players, round/turn lengths and so on.</p>
<p>One last thing &#8211; I had a discussion with one of my friends about Archaos and realised that the words I was using to describe various things didn&#8217;t make sense. Because of this conversation I&#8217;ve settled on the following:</p>
<ul>
<li><strong>Board</strong>: The rectangular grid upon which the game is played.</li>
<li><strong>Unit</strong>: A piece on the board, be it a wizard, wall, creature or corpse.</li>
<li><strong>Turn</strong>: An individual player&#8217;s &#8216;go&#8217; &#8211; i.e. selecting a spell, casting a spell or moving his/her units.</li>
<li><strong>Phase</strong>: The three distinct gameplay segments, consisting of spell selection, spell casting and unit movement. Technically a fourth non-playable phase happens after spell casting and before unit movement, in which gooey blobs and magic fire spread, magic wood and castles/citadels may disappear and so on. Other phases may be introduced with new game modes.</li>
<li><strong>Round</strong>: One set of phases, beginning in Classic mode with spell selection, and ending after the last player&#8217;s turn in the unit movement phase.</li>
</ul>
<p>This means that each round has several phases, and within each phase each active player has a turn. Not all phases force the players to take turns one after the other &#8211; the spell selection phase will allow all players to select their spells together, and the phase will only end when either all of the players have selected a spell (or cancelled) or the time runs out for that phase. The spell casting and movement phases that follow will work as normal, with every player taking their turn one after another in the correct order. Timers here will work on an individual&#8217;s turn, so each player will have (for instance) five minutes to cast their spell, before the game cancels their turn and moves on to the next player. The same goes for the movement phase&#8217;s turns. All of this will of course be configurable upon creation of a new game.</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/_-H_QjmaSx8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2013/02/21/ui-and-the-lobby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2013/02/21/ui-and-the-lobby/</feedburner:origLink></item>
		<item>
		<title>Merry Christmas and a happy new year!</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/y57ZsMC9yzo/</link>
		<comments>http://www.rotates.org/2013/01/11/merry-christmas-and-a-happy-new-year/#comments</comments>
		<pubDate>Fri, 11 Jan 2013 15:24:46 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=330</guid>
		<description><![CDATA[Apologies for no updates in a month &#8211; I&#8217;ve been working on other small prototype projects, sharpening my skills and learning new languages (such as C# in Unity 3D &#8211; which I cannot recommend enough!) as well as just recently attending a rather prolonged hospital stay. Needless to say I&#8217;m back on with things now ...]]></description>
				<content:encoded><![CDATA[<p>Apologies for no updates in a month &#8211; I&#8217;ve been working on other small prototype projects, sharpening my skills and learning new languages (such as C# in <a href="http://www.unity3d.com" target="_blank">Unity 3D</a> &#8211; which I cannot recommend enough!) as well as just recently attending a rather prolonged hospital stay. Needless to say I&#8217;m back on with things now so expect to see some more updates and progress in the coming days and weeks!</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/y57ZsMC9yzo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2013/01/11/merry-christmas-and-a-happy-new-year/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2013/01/11/merry-christmas-and-a-happy-new-year/</feedburner:origLink></item>
		<item>
		<title>Why am I here, and what is my purpose?</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/US-UgIllxq4/</link>
		<comments>http://www.rotates.org/2012/12/10/why-am-i-here-and-what-is-my-purpose/#comments</comments>
		<pubDate>Mon, 10 Dec 2012 10:31:03 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=327</guid>
		<description><![CDATA[In the beginning there was nothing, which exploded. Immediately the laws of physics ensured that everything would work the way it does. Without physics, the universe wouldn&#8217;t exist and we wouldn&#8217;t be able to ask the question. From the physics that cause the stars to shine and eventually die came chemistry. Every element of every ...]]></description>
				<content:encoded><![CDATA[<p>In the beginning there was nothing, which exploded. Immediately the laws of physics ensured that everything would work the way it does. Without physics, the universe wouldn&#8217;t exist and we wouldn&#8217;t be able to ask the question. From the physics that cause the stars to shine and eventually die came chemistry. Every element of every molecule in every compound in the universe came from a dying star. The abundance of elements and the laws of chemistry resulted in biology &#8211; life. For billions of years physics, chemistry and biology interacted, resulting in all of the people you have known, all the pets you&#8217;ve owned, all of the birds you&#8217;ve heard sing, and all of the insects you&#8217;ve unwittingly stood on.</p>
<p>You&#8217;re here because physics, chemistry and biology have been at work shaping energy and matter for 13.75 billion years, and will continue to do so long after you are gone. Your purpose is to enjoy your short waking moment in time, to learn and to explore, and to recognise that you are part of a magnificently ancient, complex and purposeless universe that has produced you with your own complexity and consciousness, and given you the ability to comprehend your place in it and choose your own purpose.</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/US-UgIllxq4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2012/12/10/why-am-i-here-and-what-is-my-purpose/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2012/12/10/why-am-i-here-and-what-is-my-purpose/</feedburner:origLink></item>
		<item>
		<title>Chaos font</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/hHQRlfBsEik/</link>
		<comments>http://www.rotates.org/2012/12/04/chaos-font/#comments</comments>
		<pubDate>Tue, 04 Dec 2012 12:15:50 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>
		<category><![CDATA[Releases]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=317</guid>
		<description><![CDATA[With the aid of @andy_herbert, Pentacom&#8217;s online bitmap font maker and CR8 Software&#8217;s Type Light, I&#8217;ve managed to create a crisp OpenType version of the font from the original Chaos, with a few tweaks and the addition of a (nearly) full latin and eastern European character set. I&#8217;m not sure yet whether or not this ...]]></description>
				<content:encoded><![CDATA[<p>With the aid of @<a title="Chaos font" href="http://twitter.com/andy_herbert" target="_blank">andy_herbert</a>, Pentacom&#8217;s <a href="http://www.pentacom.jp/pentacom/bitfontmaker2/" target="_blank">online bitmap font maker</a> and CR8 Software&#8217;s <a href="http://www.cr8software.net/typelight.html" target="_blank">Type Light</a>, I&#8217;ve managed to create a crisp OpenType version of the font from the original Chaos, with a few tweaks and the addition of a (nearly) full latin and eastern European character set.</p>
<div id="attachment_318" class="wp-caption aligncenter" style="width: 453px"><a href="http://www.rotates.org/wp-content/uploads/2012/12/chaos-sans-example.png"><img class="size-full wp-image-318" title="chaos-sans-example" src="http://www.rotates.org/wp-content/uploads/2012/12/chaos-sans-example.png" alt="" width="443" height="192" /></a><p class="wp-caption-text">Pardon my Polish&#8230;</p></div>
<p>I&#8217;m not sure yet whether or not this font will go into Archaos however I&#8217;m happy to provide the font free for all to use as they wish &#8211; though giving Julian Gollop credit for the design of the original font would be encouraged, naturally.</p>
<p>Anyway, you may download the font below.</p>
<h3><a href="http://www.rotates.org/wp-content/plugins/download-monitor/download.php?id=2" title="Downloaded 187 times">Chaos Sans 1.0</a></h3>OpenType font (TrueType outlines) adapted from the original font in Chaos: The Battle of the Wizards and extended with glyphs from the Latin and eastern European character sets.<h5><a href="http://www.rotates.org/wp-content/plugins/download-monitor/download.php?id=2" title="Downloaded 187 times">187 downloads</a></h5>
<img src="http://feeds.feedburner.com/~r/rotates/~4/hHQRlfBsEik" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2012/12/04/chaos-font/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2012/12/04/chaos-font/</feedburner:origLink></item>
		<item>
		<title>Spells!</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/6gDmJ_m2D_o/</link>
		<comments>http://www.rotates.org/2012/12/01/spells/#comments</comments>
		<pubDate>Sat, 01 Dec 2012 22:26:04 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=314</guid>
		<description><![CDATA[Above are 51 spell icons rendered in glorious colour, and in no particular order. The borders are colour coded to help identify their type and use, though when implemented into the game, they will also come with a name, description and stats where necessary. The alpha now has (nearly) full combat and movement, so the ...]]></description>
				<content:encoded><![CDATA[<div id="attachment_315" class="wp-caption aligncenter" style="width: 478px"><a href="http://www.rotates.org/wp-content/uploads/2012/12/spells.png"><img class="size-full wp-image-315" title="spells" src="http://www.rotates.org/wp-content/uploads/2012/12/spells.png" alt="" width="468" height="364" /></a><p class="wp-caption-text">Question is, can you name them all?</p></div>
<p>Above are 51 spell icons rendered in glorious colour, and in no particular order. The borders are colour coded to help identify their type and use, though when implemented into the game, they will also come with a name, description and stats where necessary.</p>
<p>The alpha now has (nearly) full combat and movement, so the next step will be adding the spell phase. With a bit of luck this should happen in the next day or two, after which a very nearly full game can be played.</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/6gDmJ_m2D_o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2012/12/01/spells/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2012/12/01/spells/</feedburner:origLink></item>
		<item>
		<title>The ultimate Chaos creature infographic!</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/LE1nK3kj1LI/</link>
		<comments>http://www.rotates.org/2012/11/27/the-ultimate-chaos-creature-infographic/#comments</comments>
		<pubDate>Tue, 27 Nov 2012 15:09:50 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Plugs]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=305</guid>
		<description><![CDATA[I&#8217;d love to share this little stroke of absolute genius from one of Archaos&#8217;s longest serving (and thus longest suffering) fans &#8211; and incidentally a very talented programmer in his own right and major Chaos buff: @andy_herbert has painstakingly put this &#8216;cheat sheet&#8217; of all of the original game&#8217;s units together showing graphics, stats, movement ...]]></description>
				<content:encoded><![CDATA[<p>I&#8217;d love to share this little stroke of absolute genius from one of Archaos&#8217;s longest serving (and thus longest suffering) fans &#8211; and incidentally a very talented programmer in his own right and major Chaos buff:</p>
<div id="attachment_308" class="wp-caption aligncenter" style="width: 573px"><a href="http://www.rotates.org/wp-content/uploads/2012/11/Chaos-The-Battle-of-Wizards-Creature-Stats.png" target="_blank"><img class="size-large wp-image-308 " title="Chaos--The-Battle-of-Wizards-Creature-Stats" src="http://www.rotates.org/wp-content/uploads/2012/11/Chaos-The-Battle-of-Wizards-Creature-Stats-563x211.png" alt="" width="563" height="211" /></a><p class="wp-caption-text">Click the image to view the huge (7680 px wide) original</p></div>
<p>@<a href="http://twitter.com/andy_herbert" target="_blank">andy_herbert</a> has painstakingly put this &#8216;cheat sheet&#8217; of all of the original game&#8217;s units together showing graphics, stats, movement and combat ranges for each one, and grouping them together into this attractive infographic. I think it&#8217;s wonderful, and I&#8217;m going to print a large version of it out for my wall to use during testing!</p>
<p>Alpha is now under way with a small number of testers. So far we&#8217;ve played a few furtive &#8216;games&#8217; (in the loosest sense &#8211; no casting, no ranged combat yet!) and apart from a few silly bugs, all seems to be well. I&#8217;m putting the finishing touches onto the standard movement/combat model in the next day or two (including finally adding ranged attacks) and then I&#8217;m going to implement casting.</p>
<p>Casting brings with it the somewhat-more-complex-than-it-seems matter of the user interface &#8211; which of course is critical to any game and which if not implemented correctly can really hinder this game. The interface in Archaos has to be intuitive, compact, and it has to get out of the way when you&#8217;re trying to play the game itself. As a cross platform mobile and desktop game, the way a player will interact with the game will differ slightly amongst platforms, however I want to ensure that the differences aren&#8217;t too jarring, and that each platform plays to its own strengths.</p>
<p>One of the methods to improve the experience is the use of gestures, so a player can pan and zoom the map intuitively, like they&#8217;re used to &#8211; and it may also through testing lead to methods of reducing the chance of accidentally performing an action, such as by having a user tap and hold on a unit or tile and then drag outside of a circle in order to perform the action (to ensure that the unit or tile tapped is the intended target, and that the user hasn&#8217;t just accidentally tapped the screen somewhere).</p>
<p>As I realise people like to see screenshots of progress as well as words, here&#8217;s a view of a typical alpha testing game session (with debug data above the units) showing the newly added window bezel to the mini-map, which is the basis of the UI, as well as the new &#8216;volumetric&#8217; cursors and the big &#8216;cancel&#8217; button.</p>
<div id="attachment_306" class="wp-caption aligncenter" style="width: 573px"><img class="size-full wp-image-306 " title="alpha" src="http://www.rotates.org/wp-content/uploads/2012/11/alpha.png" alt="" width="563" height="349" /><p class="wp-caption-text">My horse prepares for its gallop towards the hopelessly outnumbered cyan wizard</p></div>
<p>&nbsp;</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/LE1nK3kj1LI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2012/11/27/the-ultimate-chaos-creature-infographic/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2012/11/27/the-ultimate-chaos-creature-infographic/</feedburner:origLink></item>
		<item>
		<title>Alpha details and a matter of originality</title>
		<link>http://feedproxy.google.com/~r/rotates/~3/1BrPZDM36D4/</link>
		<comments>http://www.rotates.org/2012/11/20/alpha-details-and-a-matter-of-originality/#comments</comments>
		<pubDate>Tue, 20 Nov 2012 15:55:35 +0000</pubDate>
		<dc:creator>SEPTiMUS</dc:creator>
				<category><![CDATA[Archaos]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.rotates.org/?p=300</guid>
		<description><![CDATA[The client now connects to the server, downloads a list of games and then can connect to any individual game and begin interacting with the server, sending moves and updating the clients as the game progresses. From a technical standpoint, the &#8216;netcode&#8217; is fairly simple; when a client connects to a game, a snapshot of ...]]></description>
				<content:encoded><![CDATA[<p>The client now connects to the server, downloads a list of games and then can connect to any individual game and begin interacting with the server, sending moves and updating the clients as the game progresses.</p>
<p>From a technical standpoint, the &#8216;netcode&#8217; is fairly simple; when a client connects to a game, a snapshot of the game with all of the relevant data (position and status of units, players, whose turn it is etc etc) is delivered to the client which then sets the board up accordingly. The client then starts either polling via HTTP or listening via TCP (how this is chosen I have yet to decide) for new &#8216;actions&#8217;.</p>
<div id="attachment_301" class="wp-caption alignright" style="width: 310px"><a href="http://www.rotates.org/wp-content/uploads/2012/11/minimap.png"><img class="size-medium wp-image-301" title="minimap" src="http://www.rotates.org/wp-content/uploads/2012/11/minimap-300x176.png" alt="" width="300" height="176" /></a><p class="wp-caption-text">Not related to post: The unadorned mini-map &#8211; and yes, units now cast shadows. The shadows stay on the ground when they move too! Like proper shadows! I am so smart.</p></div>
<p>Actions represent every possible individual step which influences the game state in some way; a player joining or leaving during pregame, a unit moving, a new turn, a player being defeated or the game ending. Each action has both a timestamp and a consecutive action number. This means that all the client has to do is keep a record of which action number it&#8217;s up to, and wait for new actions. When new actions come through, the client processes these new actions in turn until it&#8217;s up to date with everyone else.</p>
<p>Because of the added complexity of creating a game which works over the Internet, some slight changes have crept into the gameplay, though these will be mitigated to keep the game as pure as possible. One such change is the way that individual units&#8217; moves are processed.</p>
<p>In original Chaos, when you move a unit, after it has moved, it may then perform an attack (if it moves adjacent to a combat-capable enemy unit) or a ranged attack (if appropriate). These potentially up to three components of each unit&#8217;s &#8216;move&#8217; are all typically linked together. With Archaos, a player may move their unit, and then lose connection, their PC may crash, the boss may come in &#8211; whatever &#8211; the point is they may be interrupted. In this case, with the traditional system there&#8217;d be two choices &#8211; either to automatically &#8216;end&#8217; that unit&#8217;s move completely (which seems a tad unfair) or invalidate the unit&#8217;s move (not really practical).</p>
<p>The solution therefore is for the client and the server to track the move/attack/ranged attack phases as just that, distinct phases of the move. That way, if a unit moves but doesn&#8217;t get to perform its attack or ranged attack, clicking on it later in the same turn would allow you to continue its remaining phases.</p>
<p>Of course, this differs from Chaos and I&#8217;m always acutely aware of things which differ from what is both in my mind and the minds of most of its fans a well balanced and perfectly fine game. With that in mind, what I can do to ensure the gameplay remains (mostly) original is to automatically call the attack/ranged attack routine in the client after each unit&#8217;s movement phase. If the player then actively cancels one or both of these phases, they are marked as &#8216;complete&#8217; and the unit&#8217;s move ends completely. Action or cancellation will be made mandatory on the client, so that the only time when the option to &#8216;revisit&#8217; a unit will be available is if the move is cut short in some way. This does mean that players could potentially quit out of the game in order to bypass cancellation, but as there are no benefits I can see to doing so, it means that this feature can do its job without interrupting gameplay.</p>
<p>The game is now quite close to the alpha stage &#8211; that is it will be in some way playable very soon. The alpha will almost certainly begin by the end of this week, or the weekend at the latest (unless I run into some catastrophic game-breaking bug) and will feature a comparatively small subset of gameplay to begin with:</p>
<ul>
<li>Users will be creatable</li>
<li>Games will be creatable (with the ability to set a width and height of the board &#8211; wizards will be spaced around the board as in the original game dependant on number of players)</li>
<li>Games can have up to 8 players and can be limited to fewer players if the player wishes</li>
<li>Players will be able to move units around the board, attack one another and cast basic creature units</li>
<li>Players will be able to defeat other wizards and win the game</li>
<li>Players <em>will not</em> be able to cast non-creature spells</li>
<li>Wizards <em>will not</em> be able to mount creatures such as horses etc</li>
<li>Animations for things such as spell casting, attacking, ranged attacking and wizard deaths <em>will not</em> be implemented at this stage</li>
<li><span style="text-decoration: underline;">There will be bugs, crashes and weirdness</span> &#8211; this is an alpha remember!</li>
</ul>
<p>I will make further announcements about the alpha during the week on Twitter. I will be looking for volunteers to help me test the game and iron out any issues with what is essentially the core gameplay mechanic. It won&#8217;t be a particularly amazing experience at this stage (not compared to the original game or the final product, or even the subsequent beta) but it will be essential to test it on a range of hardware, and in a range of conditions.</p>
<p>As Archaos is already multi-platform ready, I will be able to create iOS and Android builds for those alpha testers who would like to try it on their iPhones and iPads. If this is the case, I&#8217;ll provide further instructions on what you need to do to get Archaos running on those devices. I&#8217;ve not yet tested Archaos on Android but I will at some point this week before I start alpha.</p>
<p>If you&#8217;d like to be part of the alpha phase, and have read all of the above and realise that you&#8217;ll be testing a limited and unfinished product, leave a comment below or <a href="http://twitter.com/lewster32" target="_blank">drop me a line on Twitter</a>.</p>
<img src="http://feeds.feedburner.com/~r/rotates/~4/1BrPZDM36D4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rotates.org/2012/11/20/alpha-details-and-a-matter-of-originality/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.rotates.org/2012/11/20/alpha-details-and-a-matter-of-originality/</feedburner:origLink></item>
	</channel>
</rss>
