New features are a iOS Storyboard template project and support for Arcade controllers like iCade (all variants), GameDock (2 Players) and compatible controllers.
There are plenty of Storyboard + Cocos2D tutorials but none seem to get it quite right. After I wrote my Cocos2D Storyboard tutorial I went in for the kill, made it work with KoboldTouch and a couple improvements along the way, too.
One of the advantages of this Storyboard implementation is that you can return to a previous scene, continuing where you left off. You can of course also change scenes whenever you segue into a KoboldTouch scene. And you can have several KoboldTouch scenes side-by-side and differentiate easily which one was segue’ed into.
Here’s the KoboldTouch Storyboard Documentation which explains how to start a Storyboard project, which classes to use and the things that are different compared to a regular fullscreen KoboldTouch app.
Arcade Controller and Joypad Input
You may have heard of the iCade cabinet (pictured) to play arcade games like in the Arcade with joystick and 8 buttons. Maybe you already own one. And then there’s Kickstarter-backed GameDock, which features two gamepads for 2-Player action and HDMI output to your TV.
Here’s a quick demo of the iCade Core working with the (admittedly barebones) KoboldTouch arcade input controller demo:
iCade and GameDock are fun and exciting devices which already have hundreds of games supporting them! And those aren’t the only ones, there are several other Bluetooth joypad controllers compatible with iCade, like the Snakebyte idroid:con.
Since I started working on KoboldTouch a couple things fell into place. Mainly that it would:
Provide what Cocos2D leaves up to its users. Fixes what Cocos2D does badly. Adds what Cocos2D doesn’t do at all. Eases development with Cocos2D and accommodates actual developer needs.
I have a hunch most Cocos2D developers have better iOS/Mac integration and game-specific features higher up on their wish list than cross-platform. Most of you are indies, hobbyists, pragmatists and Apple enthusiasts without the need or resources to do cross-platform development.
KoboldTouch: Spiritual Successor
I first started working on KoboldTouch a few weeks back. I initially undersold it as a “MVC wrapper for Cocos2D”. With what I have in mind spiritual successor of Cocos2D is more like it.
It’s going to be a framework to program iOS & Mac games in, where best practices evolve naturally, where Cocoa programmers feel right at home, where beginners are not left in a void * EXC_BAD_ACCESS … and where Cocos2D is still at the heart of it.
KoboldTouch takes control over Cocos2D, to allows users to implement best practices naturally. Cocos2D provides the view, KoboldTouch provides the controllers, models and the framework to write your code in.
Here’s what I’m working on. Hopefully this answers the questions I’ve been getting, in particular those about KoboldScript. And what’s happening with it, when is it coming, when can we stop using Corona SDK, etc.
Well then, let’s start with …
Well, the short answer is: KoboldTouch is an MVC wrapper around Cocos2D.
The long answer … let me start by saying that Cocos2D is suboptimal. From a code architecture point of view. Cocos2D has no concept of structure besides views (nodes), and doesn’t encourage structure in your own code. It happily lets users subclass views in order to add data and game logic.
I can’t stop but feel helpless to see beginners learning the things we’ve abandoned 20 years ago as bad practice. Yet Cocos2D code is written by subclassing views as if it were the most natural thing to do. It’s also the very thing Apple tells you not to do.
The result are projects lacking in what is called separation of concerns. It’s not just about experience. Without a clear architectural model frequently reminding you to consider separation of concerns, anyone is more likely to end up creating a blend of design patterns at best, or worse:
KoboldTouch brings you the best 2D game development experience for Apple’s platforms!
KoboldTouch is the only Objective-C, ARC-enabled 2D game engine built on the Model-View-Controller (MVC) design pattern. Write ambitious games with greater ease!
KoboldTouch is also a continuously evolving, customer driven game development framework for iOS & Mac OS X, designed by game industry veterans to incorporate game development best practices and decades of experience.
Open the “About KoboldTouch” Page for Details
Fill out the KoboldTouch Survey. Let us know what you think of KT and how to make it better.
KoboldTouch is available as a subscription program that entitles you to updates and support.
Choose Your Support & Updates Plan
Recurring billing may be cancelled at any time. The yearly plan is non-recurring.
You will be charged $14.95 every month.
You will be charged $39.95 every 3 months.
You will be charged $119.95 once. No automatic rebills.
60-Day Money Back Guarantee
If you’re not satisfied you can request a refund within 60-days from the date of purchase, directly via Clickbank.
Learn Cocos2D 2 – Game Development for iOS will finally be available on September 19th 2012. Completely updated for cocos2d-iphone 2.0, Kobold2D 2.0 and ARC.
But that isn’t all!
Essential Cocos2D – The Definitive Reference is an online documentation for cocos2d-iphone 2.0 and Kobold2D. More details soon. In the meantime, here’s a sample chapter about How Draw Order Works in Cocos2D.
What’s the difference?
You heard right: if you want to forget about using retain, release and autorelease in your code, then the newly introduced automatic reference counting (ARC) mechanism (aka “automatic memory management”) is the way to go. And guess what?
Kobold2D Preview 6 fully supports ARC out of the box!
You may have heard that Cocos2D is incompatible with ARC at this time, and you’re right. However, the Cocos2D version in Kobold2D Preview 6 released just now has been improved to work with ARC. This post explains the most important changes to make Cocos2D compatible with ARC. All 15 Kobold2D example projects compile with and without ARC, just like the other libraries Kobold2D makes use of!