Rant about SDK’s and Slug Chronicles Update 3
I haven’t been able to devote as much time to slug chronicles over the past few months as I would have liked, given that I have some updates as to the progress of the game. First, I would like to announce that all future slug chronicle specific update will be posted at http://www.slugchronicles.com , I’ll be sure to post here as well whenever there is some new information. In addition I am no longer using Unity3D for this project. Although Unity did help to get me up and running rather quickly I feel it is to cost prohibitive for me when it comes to deploying on additional platforms I would like to target. Let me explain.
I recently got Rebel Box registered with Sony as Unity about possible licensing options for the PS4…. STICKER SHOCK, for the price of a luxury car I would be able to put my games on PS4…. no thanks. Although I do appreciate their technology on PC and Mobile, and the fact that you can use a lot of the features for free, I feel that in order for a game to succeed on Unity you really do need to upgrade to the Pro version features and having to pay for these annually is just not something I can do at this point. Perhaps in the future when the profits can sustain the cost I will give Unity another try.
What alternatives do I have? Well I have a lot of C# code I would like to salvage without having to do a translation, so I first looked at MonoGame. I think MonoGame is pretty cool, but their marriage to Xamarin is kind of a turn off. While it’s cool that you can deploy on PC/Mac without having to a pay a dime the ability to deploy on Mobile needs to be bought. In end, if there is a free mono implementation for the platform you want to target then you can use MonoGame for free. If there is not, then you need to purchase the Mono implementation. In the case of the mobile platforms Xamarin provides the mono implementation for iOS and Android, in order to get access to this you need to purchase a yearly subscription from them. Granted the subscription is fairly cheap but I think you will lose the ability to build if you no longer are paying. I have read that MonoGame will be free on PS4, which is really cool but keep in mind that if you want to deploy your MonoGame powered game to PS4 you will need to pay Xamarin for their Mono implementation. Why is this important?
Recently I came across a bug in Supermarket Scramble on iOS. I built that game using marmalade and I no longer have a subscription for it. What does this mean to me? It means that in order to fix the bug and provide an update for my users I need to either pay marmalade a yearly subscription free or rewrite it using something else and patch the bug in the process. This scenario is what has made me weary of using subscription based sdk’s. In this scenario I’m porting Supermarket Scramble to cocos2d-x. Luckily I isolated all of my marmalade code into an abstraction layer and all of the game code is C++ so it should be fairly easy to salvage this project.
I think for someone in my position it doesn’t benefit me to marry myself to any particular technology that is not open source. I am currently still making a nice profit from the games I have released and although I could pay the licensing fees for say Marmalade and Unity I don’t think I can justify paying for something I am not actively using for development. I think Unity has the upper hand in this scenario. They charge per-version so if I ever run into a similar scenario with Galactic Run I should in theory be able to use the 3.x version of Unity to update the code and provide an update provided that nothing in deployment side of things has broken.
So what is going on with Slug Chronicles? Well, I’m currently porting a lot of the code to C/C++. That will give me the most portability when/if I decide to use any framework. I plan to initially use something like cocos2d-x or monogame and take it from there. Given the right level of abstraction I should be able to swap out cocos2d-x/monogame for whatever technology allows me to deploy to the platform in question. My main concern with using cocos2d-x is lack of PS4 support (this is a big + for monogame right now). It is open source so I can always just port the parts I need myself, or just implement my abstraction layer using the PS4 SDK.
I think the most important thing to take away from all of this is to make sure that your game code is portable if you want to target multiple platforms, and only marry yourself to a technology if you are certain that you will want to continue to pay if any updates to the game are required.
EDIT: I heard back from Xamarin, they give you a perpetual license that includes updates and support for 1 year. If you renew you continue to receive updates and support. If you choose to stop renewing you are still entitled to what you paid for. This is good news for developers.