Cocos2d-x or Cocos2d-iphone?

Cocos2d-x or Cocos2d-iphone?
0.0 0


Hey guys,

So I’ve decided to take the plunge into mobile game development.

I’m currently a bit undecided between using Cocos2d-x or Cocos2d-iphone. I am experienced in C*+ game development, so I would much prefer to program in C*+ than learn Objective-C. I also prefer to use a PC than Mac. But since Cocos2d-x is much newer, I wonder if it’s as reliable and efficient as Cocos2d-iphone, for iOS games? Or can I rest assured that Cocos2d-x is as competent as Cocos2d-iPhone?

Any insight into this would be awesome. Thanks!


Cocos2d-x is not new. It’s almost 2 years old.
About 50% of TopGrossing games in AppStore Chinese region are based on cocos2d-x.


That’s great, but doesn’t really answer my question… Compared to Cocos-iphone, and considering only iOS, does Cocos-x have more/less features (besides multiplatform), is it more/less stable, have better/worse performance, etc… I have the feeling that Cocos-iphone has more users, so it would be expected to be more robust?


Well, I used to make games in C*+ to and I was scared of Obj-C to but Its like 100x easier than learning chinese XD
If you can write C*+ then its easy to learn Obj-C.

I wrote a few games using cocos2d-x and I don’t want anything else. Cocos2d-x is spreading fast and there are a lot of users that can help you here on the forum.

Its not that you make a game in c++ that you won’t write Obj-c for your game. I think about all the things like Facebook, Gamecenter and so on.
I have used Visual Studio to write my Ios game, It works but Its a pain to test it on device. I synced my classes with dropbox and compiled it on a mac when I could borrow one.
It works but not that fun.

The perfomance is really great and I think that cocos2d hasn’t that many features more than cocos2-x because they try to make it the same , only a different language.

And now you think, Mmm I never port my game to Android but trust me, you will :slight_smile: Its easy unless you need to make native calls. But still.

I would say use cocos2d-x but its up to you :slight_smile:

friendly regards.


Thanks Seppe, that was helpful! It’s starting to seem to me that using cocos2d-x for iOS would be a bigger pain than simply using cocos2d-iphone on a mac… I think I’m going to give cocos2d-iphone a try. I will probably want to make at least an android version later, but then I can port it with cocos2d-x, hopefully that won’t be too difficult.


Honestly, I don’t see the pain of using cocos2d-x, its actually more easy. You can write code in c*+ and if u need obj-c just write it as you can combine c*+ and obj-c.
About the port for android. Its is not hard to rewrite your code, but why would you rewrite it if you can write it 1 time with cocos2d-x ?
The pain of cocos2d-x is with android but has still more positive sides than writing a game twice, but for Ios there is no pain at all. Cocos2d-x has so much potential
and will grow very fast as its doing right now :slight_smile:

And if you’re going to buy a mac xcode works great to me. First I was only into visual studio but Xcode is great as well as it got a good auto complete.
But where is the pain of using cocos2d-iphone on a mac and cocos2d-x on a mac?

cheers :slight_smile:


Well, as you said, it’s harder to test on the device if I’m using Windows. On a mac I would also have the simulator and other tools. And instead of just having Objective-C, I would have to mix C++ with Objective-C, which seems confusing. I think most developers just use Objective-C for that reason.

But I do think that cocos-x is an awesome idea, I would love to program the game just once for various platforms. Maybe I could try a middle-ground, and use cocos-x but on a mac…



But you need a mac to write cocos2d-iphone, so you could use that mac to write for cocos2d-x ? And actually you dont have to combine them, only if you need things like tableviews, gamecenter and so on? And combining is easy as pie. Let us be clear, if you want to make a game for ios you need a mac? or a virtual mac to test on simulator. But if you write for cocos2d-iphone you need a mac too :stuck_out_tongue: ? So actually you always need a mac XD
But you can test your game on windows though. Just a win32 window. And if you think your ready you wil need to do some device testing which is impossible with a windows pc unless you run a virtual mac.
Going from C++ to Obj-c is easy. So i dont see a reason to do cocos2d-iphone if you would like to port it some day to android :slight_smile:



Yeah I guess you’re right, I need a mac either way, although I would prefer to program in Windows with Visual Studio, but that’s not a big deal I guess. But I wonder why most apps seem to be made with cocos2d-iphone and not cocos2d-x, since cocos2d-x seems to have more advantages?


A lot of people dont even know that cocos2d-x exists I think. And maybe they are scared of c**? If you know c** then its the best option for you.
You can work with visual studio. Just copy your class files to an xcode project for testing once in a while. Or just sync it with dropbox like I did XD ITs not the best way but it works :slight_smile:


Hi all,

I just began learning Cocos2d-x and just finished reading the wiki’s SimpleGame tutorial. From the wiki, it seems to me that Cocos2d-x is aimed more towards developers wishing to port their iOS Cocos2D games from iOS to Cross platform Android, BB etc. While this is great for coders who have previous iOS-cocos2d experience, but I have never used Cocos2D before. Do I have to learn Cocos2D before I start learning Cocos2D-x so that I am less confused? I also have never used or learned Objective C before. I am an Android developer who used to code in Java and also knows his C++ basics!