As part of the release of iOS 7, Apple has announced a new game building library called SpriteKit, a 2D graphics library with a physics engine geared toward helping make games on iOS easier.
It sounds a lot like Cocos2d-iphone. And, based upon what I’ve seen reading through some of the pre-release documentation, it looks a lot like it too.
So… if there’s an existing library out there that does much of what SpriteKit does, why would Apple put out SpriteKit?
In a word: Android. That’s the only thing I can think of. Apple wants to lock developers into the iOS platform.
For many developers, this isn’t a problem. The iOS market is rich and more than enough for many hobby and indie game developers. More than a few have met with success and become full time game developers while only developing for iOS.
But if you want to expand past iOS and into other markets, this is going to be a real problem.
The major reason why we’re using Cocos2d-X is that it’s specifically cross-platform. Yes, some things will have to be written for each platform (scoreboards, in-app purchases, etc) but the core game engine is totally portable. This is what will allow us to launch on Google Play shortly after launching on the App Store. It also allows us to port to other markets. Amazon? Maybe. Samsung? Maybe. Ouya? Possibly. Maybe even the Roku.
If the platform uses the same compatible underlying hardware technology, we can bring our game to it. And we wouldn’t be able to do that using SpriteKit.
That said, SpriteKit has a lot of things going for it. Being supported by Apple is certainly a big one. And, by reading over the documentation, it’s clear Apple has some big plans for the future and intends for gaming to be a core part of it. That’s great, because it means even Apple realizes how important the gaming market is for its own success at this point but it’s also a move to lock in developers in a way that makes us uncomfortable.
It’ll be interesting to see where things go for SpriteKit (and Cocos2d-iPhone) from here but, right now, we’re going to keep a safe distance until a very compelling reason is shown why we should use it instead of the tools we’re already using.