A crossplatform Android and iOS game framework allows you to develop your game in one enviroment and deploy it to both mobile platforms. Mobile game framework offers you various opportunities to use pre-defined assets in development process and you can extend the framework by writing your own code.
Frameworks are generally used to make a coder’s life a little easier, and whilst you’re missing out on learning the hard way, you’ll find yourself getting through the coding stage a lot faster with a framework.
There are many different mobile game frameworks, and you can learn more about major ones and their cons and pros below.
Whilst the cheapest package is just $149/year, more expensive versions go up to $3,499/year and cater for businesses with more advanced functionality. Many popular games use Marmalade, and there’s plenty of support to ensure you find what you’re looking for.
Marmalade tries to be the SDK that can cater for almost any type of app through its various SDK extensions and other functionalities, and it manages to do that quite well. There are plenty of examples of games using the Marmalade SDK that are very successful, and this just shows how vast Marmalade’s framework can be.
Games that make use of Marmalade include the popular Cut the Rope, Draw Something and Call of Duty, and if you’ve played either game, you’ll immediately understand the potential that Marmalade gives you.
Marmalade seems a bit more complicated though, and unless you already have a good knowledge on coding, it may be too unfamiliar to you. Native code is written in C++, however you can also use HTML5 or Lua. Marmalade can deploy your games not only to iOs or Android, but also to Windows Phone, BlackBerry, Windows, Mac or even Smart TVs.
Unity is a great choice for those who want to rapidly prototype or test out app ideas, and is a good start for those with little to no coding knowledge. It is mainly based around 3D environments so 2D is a little limited, and using Unity fails to have those ‘eureka’ moments that come with developing natively. It is also quite expensive for mobile development.
Unity is probably the route to go for if you’re looking for developing your app as quickly as possible. It has a built-in level editor, a huge library of resources, and you’ll often spend more time developing the game elements than you will actually coding it.
Unity is incredibly easy because of this, and can make a great starting framework. One downside is that it’s mainly used for 3D games, so although 2D is possible, there are much better engines out there for this.
If you want to develop for mobile, you’ll have to spend at least a one-time fee of $400, whilst the pro packages take you close to $2,000. The packages are also restricted platforms as well, forcing you to pay extra for multiplatform functionality.
As a starting developer, Corona may be a good choice to practice some simple app designs, but with just the free version you’re limiting yourself. If you plan on bringing in revenue from your app, you’ll have to fork out cash first for the paid packages, and if you want more advanced code involved in the framework, you’ll definitely need to pay.
Corona uses scripting programming language called Lua. It’s easy to learn and offers everything you need for crossplatform development. Corona also supports industry standards as OpenGL, OpenAL, Google Maps, Box2D, Facebook, Game Center, in-app purchases and much more.
Corona has a few different packages at offer. A free package that offers a few basic features, and two more advanced packages that offer additional features that will be needed if you’re wanting to take the app development seriously. Prices start at $599/year, to upwards of $2,499/year.
With the free version, you can code your own app, but you’re restricted and will miss out on many features and functionality that many developers could argue is 100% needed. Some of these features include the ability to monetize your app, attach plugins, and use native code on top of the framework. Corona does manage to utilize your apps across iOS and Android platforms though, and even the free version offers such features.
If you are familiar with Adobe Flash programming or even have some live Flash projects, Adobe AIR is probably the best choice for you. It allows you to reuse some parts of your old code and Stage3D framework on top of that is a fine choice for fast graphics rendering.
Adobe AIR has various game development extensions that allows you to create and deploy your games easily. The most used is probably Starling which is build on top of the Stage3D API and offers you GPU acceleration features without touching Stage3D layer itself.
Adobe AIR runtime and AIR SDK itself is free, however to use full potential of coding in Adobe enviroment you will probably need to invest into their Creative Suite package.
Cocos2d-x is a free mobile game engine that is easy to learn, and as the name suggests, allows you to create 2D games without extensive coding knowledge – however knowing how to code on a mobile platforms is a plus. Cocos2d-x was born from an iPhone game framework called Cocos2d and actually is modified C++ version of this project.
For detailed overview of all availaible Android and iOS game frameworks, see this site.