[Guest Post] - Comparison of Frameworks for Android development

Hi Friends, this is Harshit Vyas (hgvyas123) and I have started Tiger Cub Studios as an Indie developer and my latest game Feed the Animals has just been made available on the android market. I wanted to share with you all a few of my experiences using three frameworks that I have used to create games (mainly Android).

AndEngine

I first started off with the AndEngine (http://www.andengine.org) this is an open source game engine that requires the user to be a bit more clued on about Android, it offers OpenGL, Physics and the ability to extend as required. This allows you to work on your game than just write code. There are plenty of apps made with the AndEngine and can be found at (https://market.android.com/details?id=org.anddev.andengine.examples) Please note that the samples/apps are quite old but it would be easier to download them from the Android Market to your device than trying to set up the environment and trying to upload the samples yourself. The AndEngine has progressed quite a lot and the latest version can support a lot more than these samples can demonstrate. If you do want to check out the latest builds and try that yourself, then you can find a lot of documentation and videos on the site that will guide you.

Disadvantages:
None, while it might be a bit difficult to believe that there are absolutely no disadvantages, it remains a fact. You can check the forums and you will find that there are absolutely no complaints (unless the user is a beginner, which is not who the engine is aimed at).

Advantages:
1. The game will run at full 60fps, the developer of AndEngine has not provided the option of 30fps (can you imagine the confidence in the engine)
2. There are a lot of APIs to use
3. It is OpenSource, so you can modify it and add any unsupported feature that you may want to add
4. The community is helpful and willing to help
5. There are tons of samples to help understand how the engine works
6. The entire engine is written by one developer alone
7. The feature list can go on, but I guess I will stop here

CoronaSDK

Next I tried my hand at CoronaSDK (http://www.anscamobile.com) this is a cross-platform development tool and it uses lua as it’s language to code. You can use this to develop both Android and iOS apps/games. Just like the AndEngine, it offers OpenGL and Physics functionality to use in your apps/games. You can download a trial version of the SDK on their site and there are plenty of samples included in the SDK. The process of going through the samples is quite straight forward, download, install and then run.

Disadvantages:
1. No Support for ARMv6 based devices on both the iOS and the Android range of devices
2. They have Kindle Fire and Nook marked as a different platform to Android and are forcing the users to believe that the Android platform is different to these two.
3. The performance is very slow, even on the ARMv7 devices; you have to have a lot of optimisations to get the game running at full 60fps.
4. Features that are High Priority are still not implemented
5. There is no functionality for Plug-ins, nor do they allow an xcode project or android project for the user to build and compile
6. The build process is always online and they force the users to do so, this can be very annoying specially when you are trying to fix device specific issues or optimizing your app for fps.

Advantages:
1. They have their own simulator which will run on your Windows desktop or Mac for rapid testing
2. Very large community and very helpful and willing to help other members. Many of the members are quite proficient and have built tools like CPM, IndeEd, Lime Particle Candy, Text Candy, SpriteLoq, etc and also contributed lots of sample code
3. Write once and deliver on both the iOS and the Android
4. There is hope that they will add more platforms that will include the same write once and deploy methodology
5. Lots of examples, I think no other game engine has so many samples and examples
6. Easy to develop using lua in comparison to using Java or Objective-C

Gideros Mobile

Lastly, I would like to talk about GiderosMobile (http://www.giderosmobile.com). This is also a cross platform development tool like CoronaSDK is and also is a lua based framework, supporting both iOS and Android platforms. You can download the SDK framework alongwith some samples from their site.

When I started off with GiderosMobile, I had downloaded it to see what it offered, I thought that being a new framework, it would lack a lot of features and would be quite experimental at this point. I thought that I would find most of the features on a todo list or on a roadmap, but I was wrong.

I spend only 3 weeks with Gideros and I have published one game already. I am still a newbie with this framework so please check the official site for responses to the advantages and disadvantages as 3 weeks is a very small amount of time to determine these. However after publishing one Android game with this framework, I can share from my experience the advantages/disadvantages that I have found.

Disadvantages:
1. The plug-ins are currently available for the iOS only
2. There are not many games/apps published using this engine as it is relatively new.

Advantages:
1. It has a simulator that can run on the desktop or on the device and the code can deploy directly to this simulator the moment you hit run on the computer.
2. It exports to a xcode project or an Android project to compile and build
3. It runs at full 60 fps
4. Has a rich API set and has lots of samples and documentation
5. The engine can be extended via plug-ins
6. It is cross-platform and any new platform could mean easy deployment
7. Small but very active and helpful community
8. Very easy to use and develop with

Hope that this little comparison of mine has been helpful or useful for other developers wanting to foray into development with Android or even iOS development.

Contact Me / Feedback

If you would like to contact me for any feedback or would like to ask me anything else, you can contact me via the comments or follow me on twitter at @tigercubstudio

Comments

Popular Posts