Archive for May, 2014

The future of Unity networking, and some investigations with Cocos2D

May 17, 2014

I’m very interested and slightly excited by the recent announcement on the Unity blog that there would be potential implementation of multiplayer capability into Unity.  In particular, this seems to me to be excellent news, for a few reasons:

  • although Photon and SmartFoxServer are under active development still, I suspect that the codebase of either hasn’t been significantly altered within the last ten years.  This leads to concerns about code rot (particularly with the ongoing / various updates) and also whether or not they are suited to modern game development.
  • the cost of licenses to use most of the multiplayer server technology (beyond the basic plan) in terms of CCU (concurrent users) for the most accessible and easiest to set up and run technologies out there.  SmartFoxServer in particular will hit your wallet hard if you want to move beyond the 20 CCU (unbranded) or 100 CCU (branded) free license.  To be more specific, were one to want to have a 500 user license on 5 servers, say, one would have to pay for 5 licenses, one for each server, which would set one back 750 british pounds per license.  Which is ok for established game studios, but perhaps not suitable for the indie developer, or hobbyist programmer / developer.  And these prices seem relatively standard across the industry, currently, for this sort of out of the box capability.  UNet has the potential to change all of that.
  • the people who are working with Unity to make this happen have previously worked on some of the most recent hugely successful game titles in the industry, such as World of Warcraft, Ultima Online and Lord of the Rings Online.

So I’m certainly quite looking forward to this development – in particular the potential for uncapping the user limit on my experiments, which seems like a relatively likely outcome.

One consequence of the announcement is that I will, at least for now, cease my initial investigations into uncapping the user count through looking into coupling Unity with Multiverse, a project that was originally a commercial undertaking instigated in 2004, but which is now owned by the Multiverse Foundation.

In other news, I did some investigation recently regarding Cocos2D, a game development engine for writing 2D games suited probably most for phone or tablet.  In particular I looked at Cocos2D-x, the port to C++ of the original Objective-C based engine, and Cocos2D-js, the wrapper of Cocos2D-x that allows one to write applications in javascript.  I found that this, or rather this, helped me immeasurably with getting things set up and configured.  Like Unity, it appears that Cocos2D supports deployment to many different environments – such as Android, iOS, Windows and OSX, or even to the browser.

Anyway, I haven’t forgotten my promise to complete my series on setting up MySQL-SmartFoxServer-Unity – to be more precise, how to use stored procedures in MySQL to support data persistence etc.  I’ll probably eventually write that post.  But currently, my main goal is to figure out how to deploy what I’ve done to Amazon-EC2 via RightScale.  That will most likely be the subject of my next journal entry.