I like iOS development. I am actually starting to see some elegance in Objective-C, even thought it has the strangest syntax ever. So far, I’ve release BlokPanic. The next game, I want it to be multiplayer, possibly even massively multiplayer. The problem is that I need some server software.
Currently, there are three big names in server software for the kind of game I want to make: SmartFox Server 2X, ElectroServer, and Photon Socket Server. There is also an up and coming open source server called Firebase. Lets compare them a bit.
|Server||Server API||Client API||Full License|
|SmartFox Server 2x||Java||Java, ActionScript, ObjC, C#||3500 Eur|
|Photon Socket Server||.Net/C#||Java, ObjC, C#||3500 USD|
|Firebase||Java||Java, Flex||Open Source|
I have worked with SmartFox before. It seems to be one of the industry standard, and it just works. However, it is somewhat aggravating to work with, as much of the implementation is hidden and not always tuned to one’s needs. Comparing these products, I don’t have several thousand dollars to invest in server software. For people wanting the learn, all three product offer small community licenses that are perfect for experimentation. As for Firebase, the client API is too limited (no Objective-C).
I decided to build my own multiplayer server software, Rouge Server. I’ve also decided to release it OpenSource under the Apache License 2.0. Why? It’s a nice way of giving back to the community. In addition, I believe that I can build this piece of software using my of the common OpenSource libraries found on the net.
I’m hoping to release the first version of the server somewhere next month. Before I release, I want to finish the clients/drivers for Java, Objective-C and .Net/C#. In addition, the current server only accepts a JSON protocol. I’ve hoping to implement BEncode support before the first release.