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.
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. Continue reading »
Continue reading »
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.
A presentation about KoboldScript with a demonstration of a Tic Tac Toe game with Scene changes and transitions. You’ll see more KoboldScript code and learn more about its key concepts in this episode.
Episode #7 – Tic Tac To Lua
• KoboldScript Demo #2
o Tic Tac Toe
• iDevBlogADay: Donations
• Angry Ninjas Starterkit
In this episode of LearnCocosTV I demonstrate how to write and animate a Cocos2D scene with KoboldScript.
KoboldScript is more than just writing the same Cocos2D code but with a scripting language. Most other scripting language bindings for game engines simply translate the game engine’s C/C++/Objective-C API 1:1 (more or less) without introducing new concepts, adding more comfort by simplifying common tasks, or utilizing the powerful features of whatever the scripting language has to offer.
KoboldScript goes three steps further than that – one by tightly integrating the setup of scenes via defining the node properties in a tool-friendly tree structure (Lua table) that you can both write manually or create programmatically using Lua’s built-in features.
Two, by using Statemachines to drive game logic while also providing free Lua scripting via user-specified Lua callback functions. And three, by adding a (MVC-ish) component system with re-usable abilities and behaviors to all Cocos2D nodes.
Unfortunately I ran out of time at the end so I couldn’t even say goodbye. I hope you don’t mind.
Episode #6 – One Small Script for Man …
• KoboldScript Demonstration
o How to create Scenes with Sprites, etc
o How Abilities & Behaviors work
• iDevBlogADay: Asynchronous Texture Loading
o Cocos2D Webcam Viewer speedup
LearnCocosTV is sort of like a personal sprint review presentation but in video form.
I think that just writing about what I’ve done recently would be rather dull, whereas a bi-weekly Show & Tell video would not only be more interesting, it is also much more encouraging for me to create something cool to show in the first place!
Each episode will update you about what I’ve done for or with Cocos2D, Kobold2D and iOS/OSX development in general, what I’ve learned in the process and what the end results are. Here’s episode one, I hope you’ll enjoy it:
LearnCocosTV – Episode 1: How I maed your Kobold
• Kobold2D 1.0 Released
• Kobold2D source code published on github
• First Kobold2D games published on App Store
• Kobold2D Server moved
• iDevBlogADay: How to use CCRenderTexture…
And no, I’m most certainly not going to run out of TV Show titles to vilify.
PS: in case you’re wondering, the video was created with ScreenFlow 3.0.
A couple months ago I wrote a tutorial explaining how to upgrade Cocos2D in an existing project.
I was able to cut the description down to only five concrete steps, but there’s still a lot of text to follow and caveats to consider. I designed Kobold2D exactly to make it easy to solve the issue of upgrading projects to newer versions of the game engine.