So you want to make that killer game ?! 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 in game engines:
Cocos2D
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. You can easily make games or apps for both iOS and Android. Corona supports iPhone/iPad and Android development. http://www.coronalabs.com We like Corona so much, we wrote several books: burtonsmediagroup.com/books/coronasdk
Cost: Free.
Dev. Platform: Mac, Win
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
Cost: $750 99
Dev. Platform: Linux/Mac/Windows
Lumberyard by Amazon
It’s not often that we get new players that create a major game engine. Lumberyard is based upon the Cry Engine, but has been modified to streamline multiplayer. The engine is free, but if you are going to have server you must use Amazon Web Services (that’s how they are pay for the development). The installation is somewhat painful, but once you get it installed, wow! Best part is scripting is in Lua, so we can leverage our Corona experience. https://aws.amazon.com/lumberyard
Cost: Free
Dev Platform: Windows (Mac is promised for the future)
Supports VR? Yes
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).
http://www.madewithmarmalade.com
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.
http://www.stonetrip.com/
Cost: €169
Dev. Platform: Windows (or Mac with Parallels).
Unity 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 ($1500) until you have over $100,000 revenue in a year (VERY attractive to those who are getting started). Again, if your company makes over $100,000, you are expected to purchase the pro version of the Unity engine for $1500.
http://unity3d.com/
Cost: Free for basic, $1500 per pro lic., required if your organization makes over $100K (including colleges & universities).
Dev. Platform: Mac or Windows
Supports VR? Yes
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.
http://www.udk.com
Cost: Free-ish; 25% royalty after first $50K in sales
Dev. Platform: Windows
Supports VR? Yes
What direction am I going (Updated Spring 2016)?
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 & desktop systems at the same time (I liked it so much, that I wrote the book).
For 3D, I have been working in VR/AR for the last several years, so we were back to Unity even though Unity is NOT supportive of higher education in their pricing model any longer. That all changed with the release of Lumberyard. All projects going forward will be in Amazon Lumberyard. We were already using AWS for our server so Lumberyard is a significantly cost savings for our ongoing development.
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 (2011): 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.
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 2016 numbers.