Are there any frameworks or projects that support cross-platform mobile game development? At the moment Titanium does cross platform development, but doesn't support high end graphics APIs, so many things still have to be written specifically for a given platform.

closed as not constructive by Tetrad Jan 23 '12 at 18:46

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.

16 Answers 16

Unity is probably your best bet, it supports both iOS and Android, as well as Windows and Mac.

  • 3
    Unity does cost a fair bit though. Especially if you buy both the iPhone and Android versions. – Adam Harte May 13 '11 at 4:18

HTML5 and JavaScript are getting better every day. They may not have as developed toolchains as more existing platforms, but in six months or a year they look to be pretty strong.

The main advantage is that you can code and test by making a browser accessible webpage and navigating to it from the mobile device. Additionally the platform specific differences are very limited, though still present.

PhoneGap can also assist in creating "native" apps from cross platform web apps.

  • I like the idea of this, I just feel I would be set back, not being able to do certain things with that setup(in the same time frame). If I completely wrong, then this will work for me – Spooks Aug 12 '11 at 17:50

There are a ton of options for this, so it really depends on your budget and long term hopes. If you're planning on just making a one-off, then something like MonoTouch, Flash and Unity would be perfectly fine. If you want this code to be something you can grow and own yourself, then writing your own C++ layer that works with OpenGL on both platforms would be the best way to go.

  • Android supports full OpenGL, but the iPhone only supports OpenGL ES. So you'll have to restrict yourself to the ES API. Luckily it is nearly 100% compatible with regular OpenGL (ES uses glOrthof, but regular uses glOrtho). Both platforms support OpenAL. I'm sure there are other libraries that well supported on both platforms. – deft_code Oct 23 '10 at 1:50
  • 3
    Android supports OpenGL ES 1.x and 2.x as iPhone. OpenAL is not available on Android. – Ellis Oct 25 '10 at 14:02 theory you could also try using C++, then create bindings in Objective C and Java too import the goods.

  • 1
    I think this is the best way for now. – Mr.Gando Oct 23 '10 at 18:44

Airplay SDK uses C++ and works across different mobile platforms (Android, iPhone, Symbian, etc)

Flash has their iPhone packager out, and Flash works on Android devices... but I really can't recommend the iPhone packager at the moment, as I had terrible difficulties with it. Your mileage may vary, though.

  • can you make native apps for android with flash? – Spooks Aug 12 '11 at 17:51
  • A quick Google search reveals that you can package Adobe Air applications (basically Flash) as native Android apps. – Gregory Avery-Weir Aug 14 '11 at 16:32

As noted above Unity is a solid choice, it supports Mac and Windows machines (desktop and web), iOS and Android devices as well as all three consoles (PS3, Wii, X360, downloadable and retail titles).

Mono supports iphone (mono touch) and android (mono droid) I am not sure how well game development would be supported through either of those. You would also be able to support WP7 as well. Sure the platform interface code would be different but you should be able to use 80- 90% of your code on all three platforms.

I have bad experinace in choosing Cross platform game development SDK, I did research and evaluated many SDK, and I finalized to use Airplay SDK, seems SDK has good documents and samples, so easy to jump, I developed around 60 games which deployed on android and iphone, it works fine.

Now I would like to integrate ad on Airplay based games, and seems airplay don't have capability to render HTML,CSS & JS (like webview), Seems it allow only to draw image but don't have HTML.

So if you are thinking to develop games without ads(or if you have own image ads) then I think Airplay is fine, if you are thinking to have ad, then I suggest to not go with Airplay.

Shiva 3D does iPhone, Android, WebOS and Airplay. It also has many non-mobile options.

Corona SDK

I am surprised that no one has mentioned this one yet. It is a high performance 2d game engine that runs on LUA and is really easy to use.

I'm an indie game mobile game developer and there is not a week that goes by without me trying to find a better toolset.

You can have a look at:

  • Shiva 3D / Marmelade
  • Unity
  • Flash (current game is using Flash Mobile)
  • Corona

I don't think HTML5 is there yet for cross platform... maybe one day. I have the additional requirements that my games must work on the Blackberry as well...

If your gaming involves 3D gaming, Unity is a good option. If you are comfortable with JavaScript, I'd recommend going for Appcelerator Titanium.

On the other hand, you may also want to look at Skiller SDK, it provides multi-platform support (Android, J2ME, Symbian and iOS in the works). It's a third-party SDK which augments gaming capabilities on multiple native platforms.

If your mostly looking to create a website/web app definitely check out PhoneGap here PhoneGapit has a huge assortment of supported features on each device and that with the combination of JQueryMobile JqueryMobile you can build some serious cross platform apps.

Unity and Sio2 look really solid and impressive. Pricey yes but I understand how much it is challenging to create such products.

You can check out Adobe AIR, which lets you write-once-run-anywhere in Flash and Actionscript for platforms like desktop, iOS and Android. It requires a bit more optimisation skill to optimise for mobile platforms, but once that's done deploying to either iOS or Android shouldn't be a problem.

See for an example of reaching multiple platforms using 1 code base.

Not the answer you're looking for? Browse other questions tagged or ask your own question.