• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Why Apple Created Sprite Kit And What It Means For Games

Why Apple Created Sprite Kit And What It Means For Cocos2D
On June 13, 2013, in idevblogaday, by Steffen Itterheim

In case you missed the news: Sprite Kit is Apple’s 2D rendering engine for games, announced with iOS 7 at WWDC 2013 by merely mentioning it among other new APIs. A small step for Apple, a giant leap for gamedeveloperkind. This changes everything!

Many compare Sprite Kit with cocos2d-iphone. Don’t ask me why, they just do.

If you’re a registered Apple developer you can check out the Sprite Kit Programming Guide and the SpriteKit.framework reference yourself.

Sprite Kit is under NDA, like the rest of iOS 7, so I won’t spell out any details here. I posted my list of strengths and weaknesses of Sprite Kit on the developer forum, where we can freely discuss such details.

Here let me just try to answer the questions: why did Apple create Sprite Kit, and why now?

The Biggie: Apple acknowledges games!
Apple finally understands the significance of games for their platforms! Sprite Kit is acknowledgement of that fact. Rejoice!


Especially if you consider the rumored Apple TV set: imagine a television set that runs iOS with an App Store to download and buy YOUR games. Interestingly, iOS 7 also adds an API for 3rd party game controllers, think of joypads, like those you get with an Xbox or Playstation.

Combine it all: Apple’s television device, an App Store, and game controllers and – tadaaa – you get Apple’s competitor to Xbox One and Playstation 4!

For Apple the influx of Indies is great, they don’t care about established business models, so they don’t have to lock out the indies from a closed platform to keep the big publishers happy which simply don’t want to compete with their AAA million $ budget titles with garage games.

The great thing for Apple is that within the mass there’ll always be a few outstanding, innovative, marketable, sales-driving titles being delivered, and incidentally won’t be available on any other platform.

If the Apple TV also turns out to be technically capable enough and manages to gain acceptance by big game publishers as a competitive gaming device for AAA titles, then Microsoft, Sony and especially Nintendo will have a big problem.

Hardware & Software Compatibility
I believe this is one of the main reasons why Apple needed to make sure Sprite Kit exists, because it will work with any new Apple hardware from day one. Existing Sprite Kit games published by then will likely be very easy to port to “iTV” and whatever other devices are coming.

And you will not have any compatibility problems with new software releases either, Sprite Kit will work flawlessly with new versions of Xcode, iOS, OS X, and whatever other software Apple changes. It doesn’t happen too often either and comes with prior notice and lots of time to adapt.

For cocos2d-iphone it regularly took several months to adapt to SDK changes and to add support for new devices and for these compatibility issues finding their way into an official (stable) release.

Particularly off-putting is that cocos2d still labels released with “stable” vs “unstable”, yet the meaning is frequently lost while the stable version doesn’t work with current technology, but the unstable version does.

I’m glad we won’t be having any of these issues with Sprite Kit.

Dependable API
Despite cocos2d-iphone not having added any significant feature for years, it was constantly being changed. Practically every new version introduced some changes that forced developers to change their code.

The individual refactoring choices of the past years were mostly good ones, and appreciated, but delivering them incrementally among other things instead of doing one complete overhaul is just annoying for a publicly serviced game engine. It’s tiring and frustrating.

Now consider that Sprite Kit will largely remain as is. If you expect Sprite Kit to improve frequently, think again. What you see now is the near final API, and it will likely be 90% of what Sprite Kit will be 3 years from now.

This is a good thing! It means the half-life of knowledge, tutorials and books will increase, perhaps tremendously so. I’m thinking from perhaps 3-9 months up to 1-3 years or more! This makes it easier to pick up on Sprite Kit, and developers are even more likely to service it by writing tutorials, answering questions, building support frameworks, etc.

Stay native, dammit!
Sprite Kit is Apple telling developers to use their native APIs, and now in particular for games. Cool 2D games only available on iOS, ideally those only possible on iOS is what Apple wants to see from us.


Apple knows how loyal developers are to their platform – just as much as the users of Apple devices and systems – so Sprite Kit is an investment in a growing game developer base.

Now Cocos2d-iphone still is currently the most popular, iOS-only game engine – but in recent years Zynga pulled it towards cross-platform with a Javascript extension and shifted development focus towards cocos2d-x. This is neither in the interest of the cocos2d-iphone users, nor can I imagine Apple being happy about the most popular iOS engine being diluted with cross-platform developments.

Sprite Kit is Apple’s way of reassuring, convincing and funneling game developers to stick to iOS and OS X. It is Apple taking control over how game developers create games for Apple devices and computers. Meaning: elegantly and efficiently, but also “locked-in” with no source code.

There are still reasons for using other game engines, but this is now a desire only shared by hardcore programmers. Not the ones Apple is targeting with Sprite Kit.

If you still want to be able to port your Sprite Kit game to Android, there’s Apportable. No doubt they’ll chime in quickly to make their service compatible with Sprite Kit, especially since Sprite Kit will be a ubiquitous and stationary target.

So why now? Doesn’t make sense now, right?
Why now? Well perhaps Apple felt Zynga is pulling the rug right out from under them ever since they started directing cocos2d’s development (sometime in 2010-2011). Sprite Kit could have come earlier but I guess cocos2d’s shift towards cross-platform had to happen first.


That and acknowledging how important games are for iOS and how instrumental it was for iOS’ success – ironically that’s something Apple might not have been so quick to accept under Steve Jobs.

The other thing is Apple having this TV device in their pipeline that would greatly benefit from a native rendering engine, especially if it means many existing games can be ported easily and considering that it will compete with Xbox One, Playstation 4 and Wii U. Then consider how long it might have taken cocos2d-iphone to deliver Apple TV support, if at all.

The timing makes a lot of sense. Apple isn’t here to do us a service – that’s just a neat and desirable side effect we happen to benefit from. They aren’t evil either. Now is simply the time for Sprite Kit because Apple is preparing to innovate on a new market (TV & game consoles), for the first time since 2007, and success in that market depends on games to a large degree.

Sprite Kit and the time of its release are nothing but pragmatism. This I love about the post-Jobs Apple.

Cocos2d, not nearly as beginner-friendly as it could be
How cocos2d became known to be beginner-friendly is because originally it could only be compared with OpenGL. In that case, yes, far easier than OpenGL, undisputed.

If you’ve been working with other game engines in the past, you know the cocos2d API leaves a lot to be desired, and there are far easier, more elegant ones out there. I see cocos2d developers struggle with the exact same issues or concepts nearly every day – many are the same ones I faced back in 2009. Concise, consistent and complete documentation does not exist anywhere, and new user experience varies greatly depending on what and who they learn from. That’s just sad.

Sprite Kit is beginner-friendly. It has the typical well-designed, trimmed, sleak API you’d expect from Apple. It’s got excellent documentation that’ll stay up to date and is complete.

But the greatest benefits are in the things you don’t really need to consider anymore. Things that Sprite Kit takes care of for you. Things many beginning cocos2d developer isn’t aware or capable of, or interested in doing – those are the tasks a truly beginner-friendly framework takes over from the user. That’s what Sprite Kit does.

Apple started with a clean slate and took great care in designing the Sprite Kit API. Everything falls together as neatly as possible. I’m heavily impressed, and convinced that Sprite Kit is to cocos2d-iphone what ARC is to manual reference counting.

The Stepping Stone Theory
Don’t get your hopes up that Sprite Kit will be a stepping-stone for a coming generation of cocos2d developers “upgrading” from Sprite Kit.

Anyone who will have started with Sprite Kit and then tries out cocos2d will find it confusing, inconsistent, archaic, badly documented, unnecessarily complex and requiring a lot more dreadful handiwork. This is not an upgrade, it’s a step backwards.

As iOS 7 adoption reaches the 90% mark there will be little reason to stick with cocos2d-iphone. We’ve seen cocos2d-iphone rise slowly to ubiquity in the past 5 years, it may only take 5 months for it to become a legacy project. In a relatively short time the great majority of cocos2d-iphone will have moved on, to Sprite Kit, to cocos2d-x, or elsewhere.

The only way for cocos2d-iphone to stay relevant is to focus on the strengths it has over Sprite Kit while adapting Sprite Kit’s convenience. It would be huge time investment, and not getting paid to do this makes it highly unlikely.

What about 3D games?
Sprite Kit, as the name implies, is 2D only. So why not 3D?


Because that field is really not for beginners – and this goes both ways: Apple developers and Apple’s developers. 3D renderers will immediately compete and be compared with Unity or Unreal technologies and their excellent tool chains. It’s extremely hard to compete with them from scratch, even (or especially) for Apple who are new to the game development field and not that interested in it either.

And let’s be honest: there aren’t that many great 3D apps on either App Store – especially not from indies. The 3D games I remember the most are from id Software, Epic, Ubisoft and EA.

I wager that 80% of iOS games are 2D and even among the 3D games, few are truly 3D in that you can actually move in 3 dimensions. 3D games are a factor of three dimensions more difficult, more expensive and time consuming to create. 3D games are notoriously hard to make visually appealing, especially when compared to an alternative 2D version of the same game.

2D games have had a renaissance since the introduction of the iPhone in 2007. TV sets and newer mobile devices aren’t going to end that trend. 3D games are dominated by big game developers and publishers, it’s one way they can distinguish themselves most easily from Indie productions.

Sprite Kit Adoption
With Apple implementing a rendering engine for games, everyone is going to adopt Sprite Kit and in a short time there’ll be more Sprite Kit experts and code add-ons and tools than there ever were cocos2d experts and code add-ons and tools.

Zynga isn’t in it for making a great game engine, for them the engine is as a means to their end to efficiently develop cross-platform games with technology they own (or at least control). So they’re unlikely to chime in and support cocos2d-iphone or a Sprite Kit based engine.

Given the usual iOS adoption rate and the growth of new iOS device sales most developers will inevitably cut support for iOS 6 in 2014. So the backwards compatibility issue is (once again) not going to be an argument for long.

Programming-oriented game developers will then have these choices: use Sprite Kit and go entirely Apple-native with all the goodies (Objective-C, ARC, native APIs) or saddle an elderly cocos2d-iphone horse in “maintenance mode”. What will you choose to do a year from now?

The alternative: bite the bullet and develop cross-platform – either using overpowered 3D technologies like Unity or Unreal, using a low-level and cumbersome C/C++ game engine or one using Javascript or Lua with severe performance penalties.

I believe the choice to use Sprite Kit will be rather obvious for many, especially with Sprite Kit being an “Apple product” and inevitably surrounded by a host of contributing software and tools. Which brings me to my last point.

Kobold Kit: the Sprite Kit game engine!
I started working on Kobold Kit, a game engine built on and extending Sprite Kit! The upcoming KoboldTouch 7.0 will use Kobold Kit as its rendering engine in place of cocos2d-iphone.

Kobold Kit will be available the day iOS 7 is released. KoboldTouch 7.0 should be available the same day or very soon after that. Needless to say, KoboldTouch 6.x will continue to evolve and be supported and work with iOS 7 and will continue to use cocos2d-iphone.

I know one thing with conviction: Kobold Kit is a once-in-a-lifetime opportunity to build something great, it has to be done, and I want to do it like nothing else. If there was ever one thing I was deeply and utterly convinced of, this is it! Having built two engines on top of cocos2d-iphone, I’m so glad to get the chance to start from a clean slate and apply everything I’ve learned while avoiding all the nasty things I had to do to conform to cocos2d and being able to do the thi.

More details here and herengs I just couldn’t do with cocos2d.

http://www.learn-cocos2d.com/2013/06/apple-create-spritekit/
 

Raymo

Member
Microsoft adds tv functionality to its game console.

Apple adds game console functionality to its tv.
 

Oppo

Member
Huh. That's really interesting. I hadn't heard of Sprite Kit yet. Definitely going to look into this.
 

Frumix

Suffering From Success
Wouldn't that just mean a whole bunch of low-budget and amateur (not in a bad sense) 2D games for iOS, in other words, not really different from what we have today?
 

Dragon

Banned
Wouldn't that just mean a whole bunch of low-budget and amateur (not in a bad sense) 2D games for iOS, in other words, not really different from what we have today?

It'll be more like the Ouya (although with a controller that probably works and less powerful hardware). I think it's more of something like Playstation Mobile although not the clusterfuck that that is.
 

Fredrik

Member
Cool.
The TV hasn't been announced yet though, even though it's been rumored for years. I have higher hopes for an App Store for the tiny Apple TV media streaming box, but I can't see it competing with Xbox One, PS4 or WiU in any way other than maybe stealing some flash based indie games.
 
Basically allows Apple to fall into gaming. They have a generic content model and provide APIs to let stuff happen. They don't court accessory makers or game makers, they just let them decide if there's a market and apple gets 30% for their experiments (in the case of software).
 

jstripes

Banned
If they add this, plus the new MFi controller support, to the current gen Apple TV, all of a sudden you have an inexpensive Ouya-like game console.

I rarely play casual games, but I can see it having an impact.
 

tinfoilhatman

all of my posts are my avatar
If they add this, plus the new MFi controller support, to the current gen Apple TV, all of a sudden you have an inexpensive Ouya-like game console.

I rarely play casual games, but I can see it having an impact.


I'd do a lot more iOS casual gaming and apps that's for sure.........the girlfriend is like an iOS gaming crack addict.
 

emag

Member
It'll be more like the Ouya (although with a controller that probably works and less powerful hardware). I think it's more of something like Playstation Mobile although not the clusterfuck that that is.

Modern iOS devices are significantly more powerful than the Ouya, particularly in graphics performance. The current AppleTV is slightly worse, but even the iPhone4S/iPad2/iPadMini/iPodTouch5 all smoke the Ouya's Tegra 3 on the GPU front. I'd expect a refreshed AppleTV to do the same.

If they add this, plus the new MFi controller support, to the current gen Apple TV, all of a sudden you have an inexpensive Ouya-like game console.

I rarely play casual games, but I can see it having an impact.

The AppleTV element is convenient, but there are a lot of iPhone/iPad/iPodTouch devices out there and those can be easily hooked up to a TV as well.
 
If they add this, plus the new MFi controller support, to the current gen Apple TV, all of a sudden you have an inexpensive Ouya-like game console.

I rarely play casual games, but I can see it having an impact.

They don't need to add this to the current ATV... it can play all iOS apps as it is now... this just makes development easier.
 

Shai-Tan

Banned
It didn't seem like it did a very good job explaining what it means. Why is it better than one of the other multiplatform frameworks? I would think generally people don't want to lock themselves into a single platform because it causes extra effort later to port (need someone who is a mobile developer to explain)
 

Vic

Please help me with my bad english
*sigh*

I guess we need one of those articles every six months or so.
 

Eusis

Member
What it means is most peoples third console wont be a WiiU

It was never going to be anyways
Even if the Wii U does really really well... after the XB1 fiasco are we really going to see as many people getting all three of those platforms as this gen? I wouldn't be surprised if it was more like the Wii U was the second console: XB1 or PS4/Wii U/Apple TV if it works out. Though it'd probably be Apple TV or some Ouya-esque device.
 

IrishNinja

Member
oh uh they acknowledged gaming, did they

i guess that's the same as making an actual console, something they have 0 financial incentive to do...it's been a good run fellas, time to pack it up

this article really doesn't explain much of anything at all
 
It didn't seem like it did a very good job explaining what it means. Why is it better than one of the other multiplatform frameworks? I would think generally people don't want to lock themselves into a single platform because it causes extra effort later to port (need someone who is a mobile developer to explain)

Yeah, it seems like it may be a bit easier to use and better integrated with Apple's existing tools, but I'd imagine it would create a lot of hassle for anyone wanting to do multiplatform development.

Seems like too little too late, since there are already quite a few well-used alternatives out there.
 

jstripes

Banned
Yeah, it seems like it may be a bit easier to use and better integrated with Apple's existing tools, but I'd imagine it would create a lot of hassle for anyone wanting to do multiplatform development.

Seems like too little too late, since there are already quite a few well-used alternatives out there.

I wouldn't count it out. You're more likely to make money developing a game for iOS than for Android, so multi-platform development isn't such a huge concern. You can always port later once you make some cash...
 

chubigans

y'all should be ashamed
I wouldn't count it out. You're more likely to make money developing a game for iOS than for Android, so multi-platform development isn't such a huge concern. You can always port later once you make some cash...

In my experience that seems to be increasingly untrue.
 
I wouldn't count it out. You're more likely to make money developing a game for iOS than for Android, so multi-platform development isn't such a huge concern. You can always port later once you make some cash...
I'd like to know where you're getting this from because that's the opposite of what I've been hearing from people.
 
I'd like to know where you're getting this from because that's the opposite of what I've been hearing from people.

There's lots of studies. This is the most recent:

The Mobile App Market will be Worth $27 Billion in 2013 as Tablet Revenue Grows

Research News
London, United Kingdom - 25 Jun 2013

ABI Research projects the mobile app market will value at $27 billion in 2013, as mobile apps continue to be a critical factor in the battle between the mobile OS. BlackBerry and Windows are slowly augmenting their apps catalogue as they compete for the 3rd ecosystem, but are still far behind Apple and Android.

“iOS continues to lead the way, and the OS is projected to generate over two-thirds of the revenues for smartphone and tablet apps in 2013,” says senior analyst Josh Flood. “Although Google’s Android OS recently surpassed Apple in terms of total app numbers, iOS users continue to prove they’re more willing to depart with their cash. The revenue gap between the two leading OSes looks unlikely to close over the next 18 months.”

An interesting aspect of the mobile app market is revenues generated by smartphone versus tablets. Thus far, app revenues generated from smartphones have significantly dwarfed app revenues from tablets. However, tablet revenues are quickly catching up and it is projected tablet app revenues will overtake smartphones by 2017. The inclination for tablet users to pay more for apps than their smartphones because of the larger screen size and better user experience for gaming and reading are the primary drivers.

These findings are part of ABI Research’s Mobile OS, Browsers and Applications Research Service. The Market Data product presents ABI Research's forecasts on the amount of revenue generated by native mobile applications and device types for all the major regions and key countries. The revenue sources considered are: pay-per download (provided separately for books); subscription; in-app purchase; and in-app advertising.

ABI Research provides in-depth analysis and quantitative forecasting of trends in global connectivity and other emerging technologies. From offices in North America, Europe and Asia, ABI Research’s worldwide team of experts advises thousands of decision makers through 70+ research and advisory services. Est. 1990. For more information visit www.abiresearch.com, or call +1.516.624.2500.

http://www.abiresearch.com/press/the-mobile-app-market-will-be-worth-27-billion-in-

So basically, iOS sales on the App Store command at least $18+ Billion, and the rest of the market, with all the different stores included, splits up whatever is left over. Plus, another component of the "more likely to make money developing a game for iOS than for Android" equation is that when developing for iOS, you have far fewer hardware designs you have to test for and support in customer service, thus lowering costs.
 

JWong

Banned
There's lots of studies. This is the most recent:

http://www.abiresearch.com/press/the-mobile-app-market-will-be-worth-27-billion-in-

So basically, iOS sales on the App Store command $18+ Billion, and the rest of the market, with all the different stores included, splits up whatever is left over.

Are they even counting ad revenue?

Rovio reported they're making about the same revenue on both platforms, but all of Android's revenue comes from ads. And this was 2 years ago.

http://www.insidemobileapps.com/2011/03/13/angry-birds-android-ios/
 

Sendou

Member
For Apple the influx of Indies is great, they don’t care about established business models, so they don’t have to lock out the indies from a closed platform to keep the big publishers happy which simply don’t want to compete with their AAA million $ budget titles with garage games.

Yeah I'll have what this guy is having.
 
There's lots of studies. This is the most recent:



http://www.abiresearch.com/press/the-mobile-app-market-will-be-worth-27-billion-in-

So basically, iOS sales on the App Store command at least $18+ Billion, and the rest of the market, with all the different stores included, splits up whatever is left over.
I should have clarified. I meant the porting to android to make a few quick bucks. I've heard more often than not it wasn't worth it unless you were already a big name.
 

twofold

Member
Spending on games is increasing on the Google Play store, but it's still far behind the iOS app store (http://thenextweb.com/mobile/2013/0...dicated-gaming-handsets-in-q1-2013-app-annie/).

However, rather interestingly, some games seem to perform better on the Play Store than the App Store, and vice versa. I've read a few stories recently where developers have experienced significantly higher profits with the Play Store over the App store, which is pretty interesting. Likewise, there's other folks out there that are having little to no success with the Play Store while they're raking it in on the App Store (the f2p fps my brother works on recently ditched Facebook/Windows/Android/Mac because 90% of their revenue comes from iOS).

It's interesting to see that Apple is taking this gaming stuff semi-seriously now. I guess Tim Cook sees the value in it. It'll be interesting to see what sort of impact (if any..) Apple can make on the console market over the next few years.


$27 billion is crazy. Considering gaming seems to make up the majority of mobile app revenue (between 60-80% according to App Annie), that's a shitload of money being made through mobile games.
 
2D games are going to kill consoles? Okay.

"Kill"? What's your measurement? Money made? List of developers on respective consoles?

If your favorite devs of today find it incredibly hard to stay afloat making so-called "AAA" games, and move over to iOS...Is that a future you could get down with?

I personally feel the future of videogaming are today's indie devs. And they're most likely to sprout and flourish on platforms such as iOS/Android where it is much more democratized than what Nintendo/Sony/MS are pushing.

But ayo. Do you.
 
Sprite Kit is interesting, cause the sentiment I gather within the cocos2d community is that it's gonna be dead/unsupported real soon. cocos2d, for those who don't know, is one of the more popular frameworks for 2d games on the iOS. SpriteKit seems to be Apple's way of reigning in and standardizing 2d game development tools on iOS.
 
Top Bottom