When it comes to leveraging the best framework for mobile game development, it seems that there are plenty of options to choose from. Typically, if the realisation of a great idea needs to be accelerated to market to ensure a good return on investment, you want to minimise reinventing the wheel and spend most of the development time on the specifics that differentiate your game from the herd.
If you find yourself stuck trying to replicate something that you’ve seen in another application or game, there’s a high chance that someone else has already hit that road block, solved it and is now offering their solution freely. Don’t be afraid so sacrifice control of the architecture to achieve a quality game.
Which brings me to my brief article on the open source Android game development library: AndEngine.
When choosing a framework to accelerate development, there are many factors that need careful consideration. Some of these include:
- Ease of implementation - Is the framework east to install, maintain and extend for your own purposes?
- Ongoing Framework Support - How long are the developers going to keep maintaining and improving the framework?
- Portability - Will the code you write port onto another platform easily or will you need to re-write a large chunk or the whole code for another device?
- Performance - How efficient is the library or framework and is it trying to do too much?
- Size - How much extra code is being delivered to memory limited devices with your package?
After carefully evaluating several frameworks using the logic above, I’ve recently landed on the AndEngine game development framework. AndEngine is designed solely for Android development and extends most of the basic Android classes that most developers already find familiar. So writing Android applications that Leverage OpenGL ES 2.0 is easy thanks to the simple implementation of call backs and loopers that control typical game features like animation and actor instantiation.
The choice to use AndEngine was a tough one, given that it has its own set of drawbacks and limitations and there are so many other alternatives out there. LibGDX is another game development framework that peaked my interest due to its claim to performance and its ability to execute code both on the desktop and on the Android platform. However after a few days of testing my commercial reality set in and I wasn’t convinced that my application required the low level control of OpenGL that LibGDX provided. Furthermore, LibGDX is more of an application framework rather than a game library. So there would be a lot of work to get some of the basic game principles up and running. If LibGDX ported easily to other platforms like the iPhone then there would be no competition, but like most frameworks the platforms are just too different. So I’ll just keep my game logic outside of the device dependant libraries and if I hit a winner on the Android platform I’ll outsource a port! After all, life doesn’t afford much spare time for doing everything yourself!
Now, if I could only get the OpenGL camera to resize and recalculate the scene perspective ratio when I change the screen orientation…