Game Engines for iPhone, iPad, & Android: Cocos2D, Corona, ShiVa, Torque, & Unity3D

Posted by Dr. Burton on June 16, 2010 in Android, Corona, Mobile, gaming, iPad, iPhone |

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).

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
Cocos2D is an open source (free) engine (LGPL) 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 by Ansca Mobile
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.  As your iPhone/iPad app is compiled in Objective-C, there are no worries about Apple’s restrictions for OS 4. Development is patterned after Flash ActionScript 2.0, so Flash developers have an easy time making the switch.
Corona is a 2D environment.  It is reasonably priced at just $99/year (educational  discount available).  A game edition expected this summer (2010).  Corona supports iPhone/iPad and Android development. http://anscamobile.com/
Cost: $99/year
Dev. Platform: Mac

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 for indie developers (first $100,000).  It currently only supports 2D, but a 3D version is in development. http://www.torquepowered.com/products/torque-2d/iphone
Cost: $750
Dev. Platform: Linux/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.
http://www.stonetrip.com/
Cost: €169
Dev. Platform: Windows (or Mac with Parallels).

Unity for iPhone by Unity
Unity is becoming an increasingly popular engine for both the desktop and now the iPhone.  Some of my students have successfully published games and iPhone apps using the Unity3D engine (before they took my classes!).  What makes Unity attractive, especially for the student is that it is free to get started (desktop version). Scripting is in JavaScript/C#.
Following a popular licensing scheme for game engines, you do not have to purchase the pro version ($1200) 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 $300.  Again, if your company makes over $100,000, you are expected to purchase the pro version of the Unity iPhone engine for $1200.  There is some concern about the OS 4. restrictions and the Unity iPhone engine. Update: It appears  that the iOS4 license issues aren’t a problem. Unity3D based games are being accepted regularly by the Apple app store.

http://unity3d.com/

Cost: $300
Dev. Platform: Mac or 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.  I like the platform and being able to develop for multiple mobile systems at the same time.
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.

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Technorati
  • Twitter
  • Add to favorites

Related posts:

  1. Casual Game Services: Which one is right for you?
  2. iPhone & iPad Tutorial: Working With Buttons
  3. Android on the iPhone?

Tags: , , , , , , , , , , , ,

10 Comments

  • Jason says:

    Hi Dr.Burton, thanks for the informative post, however these are all engines for the iPhone. The title is a little misleading.

    • Dr. Burton says:

      Jason,
      My first criteria was that the engine support iPhone/iPad (which I could have been a little more clear on). Two of the engines do support Android. Corona supports Android (for 2d applications). Unity will support Android with version 3.0 (as will jME3 which is currently in Alpha).
      You’ll notice that those are the two engines that I have selected to work with (and will be posting tutorials on developing for these platforms).
      Are you aware of any engines that I have missed that support both platforms (or all platforms.. Windows and Blackberry are out there as well!)?
      ~Dr. B

      • Dr. Burton says:

        I think I spoke too soon.. Cocos2D also supports Android (I have updated the article with the link to the code library). The only player that I reviewed that doesn’t have any Android support is Garage Games (at least right now). So 3 out of 4 support or will support Android.

  • Thank you for this review. Purchasers of the current Corona SDK will get Game Edition free (this is a limited time offer). We expect Game Edition to go into alpha this week. Please contact us for educational discount pricing.

    It’s worthy of note that Cocos2D for Android is substantially different from the iPhone version, as it is written in Java, versus Objective-C for iPhone. By contrast, Corona permits building for both Android and iOS from the same source.

    Disclaimer: I work on Corona.

  • Darrell Coultrane says:

    For iPhone, ShiVa 3D should be considered. It is fast, efficient, cross-platorm with iPad, Android, Palm and a lot of other platforms under a single license. Unity, for example, has a license per platform.

    ShiVa 3D has more than 8,000 Apps built on it, so it’s stable too.

  • Ricardo Quesada says:

    Hi, thanks for mentioning cocos2d.
    I little correction. Since v0.99.3 cocos2d is lincensed under the MIT license. Before v0.99.3 it was licensed under “cocos2d license” which was a sort of extended LGPL.
    Since you can’t ship dynamic libraries in iPhone, the LGPL license is like using a GPL license.

  • astk says:

    hi..
    thanks for the nice post.
    what about GameSalad?
    And there’s also Kanji Engine which is based on PTK framework.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam Protection by WP-SpamFree

Copyright © 2010 Burtons Media Group All rights reserved.
Desk Mess Mirrored v1.7 theme from BuyNowShop.com.