So you want to make that killer game for a mobile device?! If you want to jump into making the game, then you don’t want to spend time writing the engine (rendering, physics, sound, etc). Here are a few top picks for mobile game engines:
Cocos2D is an open source (free) engine (LGPL MIT license) available for developing on the iPhone or Android. Several popular games have been published with Cocos2D. More information is available on their site: http://www.cocos2d-iphone.org/ or http://code.google.com/p/cocos2d-android/. I have had several students develop with Cocos2D, but none have published a game yet. Cocos2D is only available for the iPhone or Android.
Cost: free, MIT license
Dev. Platform: Mac (iPhone/Android) or Windows (only Android?)
Corona SDK by Corona Labs
If you’re interested in developing 2D games or graphic software for multiple platforms, Corona provides a smart choice. With Corona, you develop your application using lua, and Corona exports the proper code to be compiled by the proper environment. It is reasonably priced at just $199/year (educational discount available). You can easily make games or apps for both iOS and Android. Corona supports iPhone/iPad and Android development. http://www.coronalabs.com
Cost: Unlimited Free Trial. $199 for indie (single platform), $349 all platforms.
Dev. Platform: Mac, Win (Android development only)
iTorque by Garage Games
I have been a torque developer for many years (back in the days of TGE). I used Torque to develop the environment for my dissertation research, and taught the engine for several years at Missouri State University. So I was very pleased to learn that GG now offers a Torque 2D for the iPhone. Torque 2D is based upon TGB, and allows a simple port to the iPhone (assuming they don’t get caught-up in Apple’s new OS 4 language, which by the talk on their site, they don’t expect any problems). iTorque is $
750 149 for indie developers (first $100,000). It currently only supports 2D, but a 3D version is in development. http://www.garagegames.com
Dev. Platform: Linux/Mac/Windows
Marmalade by IdeaWorks3D
Marmalade is very popular with a lot of developers and has some big name apps under it’s umbrella. Coding is C++, but does support HTML 5 hybrid. For game development, it utilizes Cocos2D and Box2D. It supports a broad array of devices. Trial period is short (only 30 days).
Cost: $149 for iOS/Android; $499 for iOS/Android/Blackberry/WP8
Dev. Platform: Mac/Windows
ShiVa by Stonetrip
ShiVa is a 3D game development platform for developing for Linux, Mac, Windows or mobile devices such as the Android, iPhone, iPad, and Windows Phone. ShiVa uses a player to run the game developed on the appropriate platform. There is a Personal Learning Edition available for free to develop for Windows or Mac. It will run on Windows or a Mac with Parallels (i.e. A Mac that has Windows installed through Parallels). Scripting is done in Lua. Stonetrip is working on a solution to the whole iOS4 issue that could keep deployment happening to the new iPhone/iPads that will put everything into compliant C/C++ code and make Apple happy.
Dev. Platform: Windows (or Mac with Parallels).
Unity for iPhone by Unity
Following a popular licensing scheme for game engines, you do not have to purchase the pro version ($1500) until you have over $100,000 revenue in a year (VERY attractive to those who are getting started). If you want to port your game to the iPhone, it is currently only $400. Again, if your company makes over $100,000, you are expected to purchase the pro version of the Unity iPhone engine for $1500.
Cost: $400 for basic/per platform
Dev. Platform: Mac or Windows
UNREAL/UDK by Epic Games
Epic Games has made the UDK (Unreal Developers Kit) a lot more attractive to Indie developers. UDK is now available free of charge for developing your game. When you are ready to publish you pay $99 license fee. Like Unity3D, your first sales are yours too keep: $50,000. After $50,000, you are required to pay a 25% royalty on all profits.
Cost: $99 to publish; 25% royalty after first $50K in sales
Dev. Platform: Windows
What direction am I going?
I have given this a LOT of thought. I’m regularly asked by my students and others which engine(s) I am using. For 2D development, I have decided to go with Corona SDK. I like the platform and being able to develop for multiple mobile systems at the same time (I liked it so much, that I wrote the book).
For 3D I am leaning toward Unity3D or ShiVA. I say that with some hesitation as I have invested a lot of time in java Monkey Engine (jME) and love to develop in Java. That being said, Unity is very appealing as is ShiVa with its Lua scripting. With easy deployment to Windows, Mac, and Linux plus web browser, they look very attractive for my next research project (of course, jME has many of these features as well, even Android support in the next version.. thus my difficult decision). My final 3D decision will be made once/if the iPhone OS 4 issue is resolved.
Update: I have made the decision to go with the Unity3D engine for 3D development. Thanks to an aggressive program for educational use, knowing some of the people who work at Unity, and recent advances in the engine, the scales were firmly tipped in Unity’s direction. Tutorials that I have developed with Unity will soon be appearing on this blog.
Note: I have included current (2010) pricing on each of these engines. This is in addition to your developers license for the Apple iPhone ($99/year) or Google Android ($25/year).
Yes, there are other engines available (oolong, SIOS, Edgelib to name a few), but I have decided to focus on the engines I’m most familiar with. If you would like to provide me with information on other engines, I will be happy to include it in my review.
Update: I have added the ShiVa engine to the list as well as mentioning the development environment that you will need (for those who are strictly developing on a Mac or Windows).
Update: I have updated pricing to 2012 numbers.