I'm having a really hard time deciding which way to go on this. I'm about to start developing a game and I haven't been able to find many good comparisons between these approaches. I don't have many requirements for the game yet, but here is what I do know.

  • needs to work on iPhone
  • I don't have much money ($400 for Unity for iPhone is probably too much. I can probably afford $99 for Corona.)
  • Graphics will be 2D
  • Physics support is not needed
  • Ability to use particles would be nice
  • Game Center support would be nice (Corona is planning to support it soon)
  • It would be nice to be able to support Android as well if it isn't much effort.

I have done my own research, so I know basic things about them. I know Corona uses Lua and Cocos2D uses Objective C. I know that Corona allows deployment to iPhone and Android, but how easy is it?

Cocos2D is free, but so many people talk about how easy it is to use Corona, but I don't like being restricted to features Corona supports or the price tag. I feel so torn here.


3 Answers 3


I have never used Corona, but it looks nice. Especially the easy deployment to different platforms makes it interesting if you plan to release for Android and iOS.

The problem with an engine like Corona or Unity is, that you're mostly limited to what they include in their API. Apparently corona doesn't come with a particle engine (you'll need a license for an addon).

The big plus of Cocos2D is, that it's native code and you can mix and match it with other libraries. If you find some good C++ library that would be useful for your game you can add that rather easily (as long as it compiles for iOS). On the other hand you're stuck with iOS then. Porting to Android would most likely require a rewrite of your code in Java.

Programming in Objective-C is most likely to be more difficult than using a scripting language, unless you have some previous experience with C or C++.

I'm sorry that I probably didn't solve your problem, maybe I made it even worse. My advice to you is to make a checklist of your most important features and add a weight (or preference) to each point. Then add up the weights to choose which engine to use.


I haven't used Corona.It needs a license if you need to publish.Cocos2d on the other hand is really flexible and stable 'graphics' engine right now.

I would suggest Cocos2d-x (C++ version) as objective-c version has some performance issues when your update cycle is Overloaded.This performance issues is ONLY because of the message passing System in Objective-C.

As others said,You need to depend on the support of 'third party Engine' if any thing NEW comes up!But cocos2d is flexible at that moment!

If you are targeting multiple platforms,Cocos2d-X is ready for that as well! Check this link - http://www.cocos2d-x.org/wiki/cocos2d-x/Chapter_1_-_Create_a_New_cocos2d-x_project_with_multi-platforms


I have only had a quick once over look at Corona and it does seem nice. Mobile platforms are quite restrictive in and of them selves so trying to knock out a game that will work in multiple platforms can be a daunting task especially if its your first.

I have been in the same place as you. I was torn between different engines but finally setled on Cocos2d. Here are my core reasons:

  • versatility 1: it allowed me to mix native iphone views and features this includes things like gestures
  • versatility 2: you can use natice c or c++ libraries if found any suitable onces
  • Control: i had direct access to the code base so if i wanted to change anything in the engine i could also if i fixed anything i could submit it(not that i had)
  • Support: there is a big and active community behind Cocos2D
  • Complete: i can build the game and the menu all using the Cocos2D Api
  • Extras: out of the box i got other other extras like a physic engine(not that i use it but its supposed to be pretty good)

2 Reasons i would stay with it:

  • has 3d now :)

  • if a 16 year old can make a iPad game of the week then surely i can ;)

As for your check list as far as cocos2d is concerned

  • needs to work on iPhone(check)
  • I don't have much money ($400 for Unity for iPhone is probably too much. I can probably afford $99 for Corona.)(free)
  • Graphics will be 2D(check)
  • Physics support is not needed(well it has it if you change your mind)
  • Ability to use particles would be nice(half check decent effects engine)
  • Game Center support would be nice (Corona is planning to support it soon)(either way pretty easy to implement in its own right)
  • It would be nice to be able to support Android as well if it isn't much effort. (there is a cocos2D for android but it is nothin like the iPhone one which is a good thing cause it means its tailored to the platform) hope that helped :)

Not the answer you're looking for? Browse other questions tagged .