Bringing Kobold Kit to Android: An Interview with Steffen Itterheim

[Update 6/19/2014: Since this blog post was written, Steffen Itterheim has joined forces with Apportable and is now working with our Cocos2D development team. Many of the reasons that inspired Steffen to create Kobold Kit have been addressed in the subsequent SpriteBuilder and Cocos2D releases, so Kobold Kit and Sprite Kit are no longer supported for use with the Apportable SDK (also, Kobold Kit is currently in maintenance mode). Steffen is writing a book called Learn SpriteBuilder that will be available this coming winter; the book will provide a visual guide to basic and advanced features of SpriteBuilder as well as cover the essentials of Cocos2D.]

We’re excited to announce our new partnership with Kobold Kit!

Kobold Kit is a 2D game engine optimized for tilemap games, extending Apple’s Sprite Kit framework. And now for the first time, developers using Kobold Kit will be able to bring their iOS games to the Android market using Apportable’s SDK.

Kobold Kit is also a game developer intent on sharing their entire game code, assets, tools and experiences with users—contrary to conventional wisdom to keep these a company secret. With that in mind, we spoke to Kobold Kit co-founder Steffen Itterheim to learn his thoughts on the new partnership, what it means for the Kobold Kit community, and his secret fantasies for the future of Objective-C development.

How did you find out about Apportable?

Some time 1-2 years ago, I was curious whether I could use Objective-C in the future to make apps for other platforms. After all, both the compiler and language aren't platform-specific in any way. So I tried to understand what it would take and was also looking for existing solutions. That's when I found Apportable.

Admittedly, I initially dismissed it as a far-fetched, too good to be true kind of idea. I thought of it as a porting service where you can submit your app and they port it for you, not as an automated process. [Editor’s note: Nope, it’s automated! Download the free SDK and try it for yourself.] Having tried it in the meantime I'm still baffled that it works so well. When you're so focused on a specific platform and ecosystem (cocos2d-iphone) it's exciting to see one of the popular example apps just build & run on your Android device. It's one of those unbelievable "WTF" moments.

How will Kobold Kit users benefit from using the Apportable SDK? What kind of support can they expect to receive?

The games we're making with Kobold Kit will be ported to Android with Apportable.

We'll obviously learn a lot about the porting process ourselves, and we'll share our experiences by documenting best practices and incorporating them in Kobold Kit. If there's anything from our side that we can do to improve the porting process we'll do it. For example, Kobold Kit was built with Apportable in mind, with the lessons learned from porting a Kobold2D app which required several non-trivial changes to the Kobold2D project structure just to get it to compile. We don't want our users to have to go through this painful process.

So both the game engine and our starterkits will have been tested to work with Apportable. There shouldn't be any surprises there, and we'll document all the necessary steps (if any) to get a Kobold Kit games up and running on Android.

Every game engine needs to rely on 3rd party libraries these days. So we also select and test these libraries based on whether and how well they work with Apportable. Kind of like a certification process.

What does this partnership mean for the Objective-C development community?

It means developers can relax now. I see so many developers so intent on cross-platform development that they feel practically forced to work with C++ and what I call "lowest common denominator frameworks". It hurts even more when I consider how much less productive C++ code is—memory management is a pain and will likely be responsible for at least half of your app's bugs. More so the less experience one has with C++.

So relax! Use Apple's frameworks because they're rock solid and just excellent. Use Objective-C with ARC because that makes you a lot more productive and your code more stable. Use Kobold Kit because we have the framework and starterkits you need to make great games. Then use Apportable to simply compile your project for Android devices and be done with it. Even if you don't care about Android at all, but then made a hit app and now want to take the opportunity to ramp up your revenue, you can still do so with little effort

What features would you like to see added?

I have this idea where Kobold Kit users get to have an Android target next to the iOS and Mac OS X targets. Build and deploy to Android devices directly within Xcode. Perhaps even debug it in Xcode just like iOS apps, though that may be rather difficult to integrate, different debugger and all. But the more we can make the process of deploying to Android a common operation you can just give a try, the better.

Now for Apportable, I hope they'll branch out eventually, and apply their idea to other popular platforms.

Imagine developing a desktop game for Mac OS X in Objective-C and then just being able to deploy it to Windows. Traditionally it has always been the other way around —so why not reverse it? Even more exciting from my perspective as game developer would be the prospect of developing games for next generation gaming consoles on my Mac using Objective-C—including of course whatever iTV product Apple is currently cooking up. Disclaimer: these are just my dirty fantasies. :)