Over the past couple of months, I’ve started the move to another framework. In short, I have wanted to get away from Adobe Flash for a long while. I’ve sampled a lot of other frameworks in the past, including Unity, Cocoa, and HTML 5, but all of them came with overhead or a ‘gotcha’ that ultimately made it unappealing in the long run.
For Unity, it’s an issue of cost: Unity is an incredible strong platform with a wonderful IDE and tool set. BUT… to go pro means that I would have to pay over $4000 in upfront licensing costs, not including the cost of all of the community-written plugins and tools. I do not pirate software and I’m not a student, so there’s not much else I can do. I’m also set on 2D development for the moment, and that isn’t one of Unity’s strong suits without the addition of many other 3rd party plugins. I want to revisit Unity in the future, though, when I finally break into 3D.
For Cocoa, or other native Objective-C frameworks, they present a strong case if I were only looking at developing for iPhones and iPads. Yes, I know that there are some cross compatible frameworks that support Android and PC, but… no. I don’t see the practicality of investing the time to learn a language like Obj-C when it is only realistically applicable to developing applications on iOS devices.
MonoGame is a VERY exciting emerging framework that I am going to keep my eye on. I’m a huge fan of the XNA framework, and was devastated to hear of Microsoft dropping support for it about a year ago. It had everything: speed, C#, gamepad support, PC/Console/iOS/Android support, low cost… but it still needs more work. Once the opensource framework is 1:1 in feature sets with the old XNA, and someone figures out how to properly emulate the old XNA graphic and asset pipeline within a single project, I’m going to give it a lot more serious thought!
I’ve decided to move on to libgdx. It’s a fantastic framework which, surprisingly, uses Java as its primary language. That’s good news for me, because that’s the language I was formally educated in while at college at UC Irvine. Despite the negative stereotypes associated with Java in the past, libgdx ends up being quite fast, and supports all of the features that I’ve been looking for in game development for projects like Conjurer, including OpenGL ES, Gamepad input, Box2D, etc.
I’m looking forward to getting back into the thick of it. Putting my project on hold like this feels more like a frustrating waste of time, but I know that it’s for the best. In the mean time, I’ve also begun learning how to compose music! Let me know what you think.