Wow its been more then a month since I posted anything.
Well, I *have* been busy.
In January, I helped paxUnited get started with a new website driven by CMS mojoportal. My team’s project got blogged about by the creator of mojoportal. Jay Smith also has some details of the project and pictures.
Recently, I’ve been working on a learning WCF, and as part of that creating my own multiplayer game service. The game I chose is the italian card game Briscola, an old favourite of mine.
I started by first writing a class library assembly that would contain the objects necessary to play the game according to the rules. Then I designed a WCF service which would augment the core library and expose it as an Interface. I chose the wsDualHttpBinding binding, which basically enabled bi-directional communication between client and server byway of an additional Interface which defines callback methods which the client implements. Its just really really cool stuff, as I remember the headache trying to do something like this back in the day with DCOM or (*gulp*) sockets. Anyway, I build a really simple command-line application with consumes the service. With a few clicks I had class BriscolaClient : System.ServiceModel.DuplexClientBase<IBriscola> defined, and just had to write a class to implement IBriscolaCallback. After working out a few bugs, I had two client windows connecting to the IIS hosted service and working great!
Now, I have uploaded the service to my Web Hosting Provider here, but unfortuntaly most people wouldn’t be able to connect to the service because firewalls would prevent them (in fact my own did until I told it not too). In any case, this is just a first step, and I consider the wsDualHttpBinding to more applicable to an intranet scenario. Nonetheless, I indend to proceed with this project. My next step will to be build a basic SOAP web service around the game, and I’m also currently reading an interesting book called RESTful .NET which may lead me in the direction of exposing the game byway of REST and JSON. In any case, the ultimate goal is to leaverage the service in some platforms which are unfamilier to me, such as iPhone and facebook applications, so that I can come full circle and learn some new languages (Objective-C/PHP) along the way.
Also, the shortlist of features includes
* Again, expanding the service endpoints for support for SOAP WS-* and REST
* Integration of some sort of membership (username/password) to set up a game player profile
* Persistance of game data in a database
* Looking to get this up in the cloud (via Azure or some other host), for instant scalability.