Thursday, February 14, 2008

Phalanx Breaks ground, Goes XMPP

Hey, it has been a while since my last blog post on Phalanx and it was partially because we have been busy deciding how to go about implementing the game. We have a codesite up on Google Code for those who are interested in seeing our progress and possibly wanting to help. So I will spend some time talking about many of the things we have decided to do in moving forward with our game.

We have decided, instead of doing a walled garden approach with the server, like I had done with the GTADS server, where you have one account per server, we are going to piggyback the XMPP framework so that a user with one account will be able to connect and play on any number of server nodes. This also changed the client/server model and turns the Phalanx server into a IM bot on steroids. Of course this will all be transparent when you fire up the soon-to-be clients, log in using your gtalk accounts etc and connect to a server node. All players will need to be concerned about is playing the game and bouncing from server node to server node will be a breeze.

There are several reasons we did this including the universal account concept. In utilizing an xmpp client as a server model, anyone will be able to run a phalanx server, even regardless of being behind a NAT, having blocked ports, etc. Server recognition will also be easy since running a server doesn't require going out and buying a DNS name, configuring DNS settings, or anything of that messy nature. If you run a server on "MyPhalanxServer@gmail.com", your clients will all be able to connect to your server, even if your IP address changes, you change computers, or physically change the location of your server. So you see we have a complete protocol that many people use for IM and we will extend it to even more fun possibilities of playing a turn based strategy game with little to no headaches in setting up.

If you want to know more about what we're working on you can check out our development roadmap at the google code project site or look at what issues we're working on here.