• Runtimes
  • OFFICIAL runtime for Apple Sprite Kit? PLEASE!

Related Discussions
...

Hi,

First, thanks for great software. I think about buying it.

However. I have been reading forum for some days, searching information about Apple Sprite Kit framework support and I'm dissapointed. What I have found is one unofficial unsupported project and generic C library.

First is very limited. Second - generic C library (spine-c) is too generic for typical Sprite Kit users like me. I have no experience to implement fully optimized and bugless opengl drawing routine.

I really don't quite understand why Sprite Kit - the new, fresh, key mobile and desktop toolkit driving iOS 7 and OS X is still not supported.

What is the problem? The problem is, that Sprite Kit is high level framework. If one is using this framework, then he is focusing on developing game, not a low level engine component. The same reason why Flash game devs are making games instead of writing high performance display routines.

So, lack of official runtime is automatically blocking many Sprite Kit users from using Spine.

My point is - I need (and I bet, not only me, but hundreds of others devs) Sprite Kit official runtime. That is, runtime created by man, who knows Spine. Sorry, but it seems this man is the experienced Spine creator 🙂

Now, I try to show you, why creating Sprite Kit official runtime (unfortunately the Objective-C can make things harder) is worth your time. Don't want to be rude, just share I think some reasonable thoughts 🙂

Sprite Kit:

  1. Is successor for cocos2d-iphone framework. Cocos2d-iphone has base over 4500 games created.

  2. Gets best things from cocos2d and improves them. The problems for cocos2d-iphone, like for example ARC support simply not exist.

  3. Is OFFICIAL, supported, tested product with well designed API and great, full documentation.

  4. Works on OS X and iOS with Xcode 5 and all new compiler features.

  5. Has stable inteface. That is, frequency of changes are not on insane level. Like cocos2d-x for example, where some things work today, and will not work tomorrow and bugs after bugs till 2015.

  6. Will drive thousands games for iOS 7.

  7. Is a standard, mature game toolkit.

If any game toolkit deserves official runtime, then Sprite Kit blessed by Apple is the very important one.

Please consider this.

I agree, Sprite Kit support would be great. Unfortunately Sprite Kit did not exist when we were building new Spine runtimes. As it is now, I have lots of work with FFD, skins, and IK. After those I plan to focus on runtimes more and then Sprite Kit can get some love. Sorry I can't get to it sooner! I'm the only developer working on Spine and the runtimes.

FWIW, the spine-c runtime does all the loading, you just need to do rendering. There are examples in spine-sfml, spine-cocos2d-iphone, and spine-cocos2dx on how to extend spine-c to do rendering.

Nate a écrit

I agree, Sprite Kit support would be great...

Thanks for response, Nate. I understand the pressure with new Spine features. I hope, you will finish succesfully all important tasks, Spine will get more attention and you will find some free time to improve runtimes.

About spine-c, I think, spine-cocos2d-iphone will be the easiest one to port. I will try to play with it.

Thanks!

Best of luck! I can answer questions if that helps. Hopefully SpriteKit allows for drawing quadrilaterals. If it can only draw rectangles with position, scale, and rotation then we can still make a runtime for it, but it can't support non-uniform scaling.

Nate a écrit

Best of luck! I can answer questions if that helps. Hopefully SpriteKit allows for drawing quadrilaterals. If it can only draw rectangles with position, scale, and rotation then we can still make a runtime for it, but it can't support non-uniform scaling.

Thanks!

Unfortunately, Sprite Kit is very high level. No custom opengl drawing:

https://developer.apple.com/library/ios ... rence.html

"Unlike views, you cannot create SKNode subclasses that perform custom drawing."

And SKSpriteNode (similar to cocos2d-x Sprite), has only basic transform properties: position, scaleX, scaleY and rotation. So, it seems, only core Spine features will be supported for now in this Sprite Kit version. But never mind. Non-uniform scaling is an extra feature, and if required, I think can be visually replaced with richer animation atlas.

Ah, that's too bad. As you said, Sprite Kit can still be supported, just have to keep in mind while animating to not use non-uniform scaling (and no meshes of course).

8 mois plus tard

Hey Nate! Any news on this? Could the official runtime to Sprite Kit be on your "next up" list? =)

From a brief glance some time ago, the Sprite Kit API is pretty limited. I believe you can only draw rectangles. Without meshes it doesn't really make a great runtime target. UE4 will likely be done first. Sorry, but I wanted to be honest.

Nate a écrit

From a brief glance some time ago, the Sprite Kit API is pretty limited. I believe you can only draw rectangles. Without meshes it doesn't really make a great runtime target. UE4 will likely be done first. Sorry, but I wanted to be honest.

Thanks! I appreciate your honesty! 🙂

I understand that Sprite Kit doesn't support everything Spine has to offer, but I believe we can still do great things with it. For example, we are using Spine with Sprite Kit on our app (an app for kids, with videos and mini games) and it has helped us improve a lot the quality of animations and interactions. We could do it much more efficiently if we had a more robust runtime. :happy:

Besides, I believe that an official runtime for Sprite Kit could make Spine more attractive to a broader range of developers and designers. Like the ones developing kids apps like us. These apps are very animation-oriented but don't have complex game mechanics. So using a game engine could be overshooting for most cases.

Thanks for the attention!

Certainly a lot can be done with Essential features, eg Super Spineboy.

Playing devil's advocate, why not use a more capable runtime? Is the 3rd party SpriteKit runtime not sufficient? 🙂

Using anything other than Sprite Kit now would cost us too much, since the app is already up and running.

The 3rd party runtimes were a great start, but they lacked support for some basic stuff. But the biggest problem is that there are more then one. When we started using Spine, both sprite kit runtimes weren't updated for some time. We chose to work with one of them and made some improvements (we will make pull requests soon), but now the other runtime is being updated by the community. I hope an official runtime would encourage everybody to focus on improvements for a single runtime. Besides the contribution of the Spine creator would be great for optimising the runtime. 😉