Rotates.org

August 18, 2010 - Raise dead

Well well well, I guess I haven’t posted here in… ohhh, ages? I owe you all an apology to be perfectly honest, as I’ve neglected to work on Archaos (or indeed any personal projects) in the time since my last update.

Life has panned out for me – work became extremely busy in the last few months, and my ever expanding role has ever expanded – and indeed shifted towards a more theoretical and management-style thang. I’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!

Another significant development is that I’m no longer a lonely geek sat in his room listening to chip music and writing Javascript – I’m a very much not lonely geek sat in his room listening to chip music and writing Javascript. I have indeed found a (dare I say it) lady geek – though to her credit, not even close to the caliber of my pure unadulterated nerdiness – whom I spend as much time with as my work and her sanity allows. I won’t allow myself to become soppy and embarrass her (and myself) but… well, I absolutely love you, and you make me a very, very happy boy. Oh bugger, I don’t think I succeeded there. Never mind!

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 ‘have been placed in tupperware tubs and frozen’. I must say now that my passion for Archaos in particular has not waned one bit – however after such a hiatus, I’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 – so stuff I started last year is gonna be pretty goddamn terrible now.

I will return to Archaos. I absolutely promise I will, and I have been reading Gooey Blob 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.

To those of you who still read this, still follow me on my similarly neglected Twitter account, I salute you – and I’ll be around more often!

P.S. Check this out. WOW!

January 16, 2010 - Full cycle

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’m very happy with the results so far:

{
  "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
    }
  ]
}

I’d like to mention the huge amount of support, encouragement and fantastic resources provided by certain people of late. @andy_herbert has been a fantastic vocal advocate and provider of much inspiration and technical knowhow (he’s an utterly brilliant multi-talented programmer in his own right) and I owe an awful lot to his ‘cheery’ tone on Twitter! ;)

Secondly, I’d like to shout out a big hello to the Slashdot horde, who accosted the site a few days back. I got a hell of a lot of visits from these guys and I’m sure it’s helped spread the word about Archaos (even if that wasn’t actually my intention) and more importantly the Chaos scene in general!

Finally, a big thanks to @Zolyx for mentioning the project on his blog along with the other fantastic Chaos projects out there – muchos appreciated!

December 17, 2009 - Timelapse

Wow…

Stick it in HD, full screen. Nuff said.

November 17, 2009 - Perseverance pays off

Imagine having a web server that stores your objects and data just like a live app. Imagine being able to write in the same language on the server and on the client. Something this awesome has been a long time coming, but it’s finally here!

I’ve of course been playing with Persevere and absolutely loving it. Part of the big delay with ‘the Chaos remake’ has been the complexity of creating a robust way to get data from the clients to the server, and for the server to remember that data and be able to process it in the same way. Well now, thanks to this fantastic piece of kit, I can do all of that. Each server instance is a live JavaScript interpreter, with its own persistent object storage database – i.e. objects created are both accessible at any time, and saved.

What does this mean? Well, with the help of haXe (another brilliant tool) I can now write the code for the remake in one language, and ‘compile’ various parts of it to different platforms. I can write most of the game logic and other critical stuff and then have it work the same on the server as it does if it was just running on your own machine – and Persevere will make sure that it acts in that same ‘in-memory’ persistent way.

There are other projects on the go which I’m going to use as testbeds for Persevere – it’s not without possible issues, scalability being the big one at the moment, as one of my projects may end up being quite heavily used (one hopes anyway) and Java (the underlying tech behind Persevere) may not be up to that kind of task.

I can see Persevere being just the beginning of a whole paradigm shift for many parts of the internet into persistent object-based servers – it certainly doesn’t make sense with rich web apps to have to jump through all the current hoops and endure the inefficiences that go with the current ‘single shot’ model of web languages. Bring it on!