Advantages of cocos2d-x over SpriteKit for iOS development

If cross-platform is not a concern – meaning if the game in question is never going to be implemented on any platform besides iOS – are there reasons to choose cocos2d-x rather than Apple’s SpriteKit?

Please list reasons in this thread.

To start a discussion:

  1. If you (and your team) just prefer C++ over Objective-C or Swift.

your #1 is a good one

For me, I only planned to target iOS when I started working with Cocos2d-x.

However:

  1. what if I originally said just iOS and my game became popular and maybe it would do well on other platforms? if I am using SpriteKit, I am hosed.

  2. Cocos2d-x is open sourced. I can clearly learn from it and try other things that might interest me. What if I wanted to learn a bit more OpenGL? I have a good stepping stone with actual code that I am using anyway. I can easily have a playground to learn with.

  3. What if I really wanted to change functionality of the engine? Say I have a great idea and @ricardo says “hogwash”. I can implement it anyway, submit a pull request and perhaps my change is accepted and benefits the whole community.

Just a few thoughts!

On 2. I get the feeling that people actually do this quite a bit. I have been tempted to do a version of everything that uses std smart pointers instead of auto reference counting (as v3 almost did).

I’m not sure how frequently people change the engine itself. I mean the engineers do a pretty good job of making sure the users have what they need :slight_smile: