By Steffen Itterheim
About this podcast
News, updates, demos, presentations directly from the author of the Learn Cocos2D book, the Kobold2D game engine and KoboldScript. Each podcast highlights Steffens work from the past two weeks, contains tips and tricks, and other noteworthy things about iOS and Mac OS X game development in general.
Latest episodes
April 18, 2012
Enabling ARC in a Cocos2D project isn't as straightforward as it should be. I already explained all the necessary steps and precautions in the Enable ARC in a Cocos2D Project guide. For this post I wanted to actually show you what's needed to enable ARC in a cocos2d project as a video. Because it may not be as complex as you think. And because I wanted to experiment making tutorial videos. If you like the video (please let me know in the comments), there will be more video tutorials in the future! I understand the introduction is a bit lengthy, I should have gotten to the point quicker. Feel free to skip forward to 02:20 where I begin with the instructions.
April 9, 2012
Easter surprise: Learn Cocos2D (the Book) is going to have a 3rd edition! To be released around August 2012 it will be updated to cocos2d 2.0, compatible with Kobold2D and the source code uses ARC throughout. I apologize for this episode being 50% shorter due to Easter holidays. • Learn Cocos2D (the Book) v3 o cocos2d v2.0 o Kobold2D compatible o 100% ARC and Blocks explained • iDevBlogADay: Enable ARC in a Cocos2D Project o Coming Soon: Cocos2D with ARC Video Tutorial • NameChanger, free renaming tool
March 26, 2012
I bought a Korg Kaossilator (more info on Wikipedia) and show what the device can do for you, music- and/or noise-wise. I also explain the Q1 2012 iOS Device Sales statistics, the newly released Kobold2D v1.1 and v2.0 progress, and finally I got a surprise present: Mountain Lion. Not what you think, though. • Korg Kaossilator o Examples • Kobold2D 1.1 released o Kobold2D 2.0: orientation issues delaying release • iDevBlogADay: iOS Device Sales Statistics Q1 2012 • 10 Golden Rules for Donate Buttons o Mountain Lion gift
March 12, 2012
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 o Presentation • iDevBlogADay: Donations • Angry […]
Feb. 27, 2012
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
Feb. 12, 2012
KoboldScript is coming! KoboldScript brings Lua scripting to Cocos2D and Kobold2D, with Objective-C performance for the StateMachine part and faster-than-Wax performance for the runtime Lua functions. More details and first looks at some early development scripts in this LearnCocosTV episode. I'll have something more visual to show in 2-4 weeks. Episode #5 - Pretty State Machine • KoboldScript: Lua Scripting for Cocos2D & Kobold2D o Poll: Which scripting language for Cocos2D? o iDevBlogADay: Text Editors for Lua • KoboldScript combines: o Lua StateMachine generator (full ObjC performance) o Runtime Lua functions (faster than Wax) Very early KoboldScript sample script testLuaFunctionParams = { [1] = "one", one = 1, ones = 111, wahr = true, falsch = false, counter = 0, } function conditionTestFunction(params) params.counter = params.counter + 1 if (params.counter >= 166) then params.counter = 0 return true end return false end function actionTestFunction(params) print("AAAAACTION!!!!!!!!!!!!!!!!!!!!") end StateMachine { Name = "my Machine", State { Name = "first State", OneTimeEvent { Conditions { }; Actions { -- Objective-C style with named parameters ... VariableAssign{Name = "my good var", Value = -123}, -- ... and shorter C-style can be used interchangeably! VariableAssign("my evil var", 678), TimerStart("ding-dong"), DebugLogMessage("VERY FIRST STEP"), StateMachineSetActiveState{Name = "2nd state"}, }; }; NonStopEvent { Conditions { LuaFunctionReturnsTrue{Function = "conditionTestFunction", Table = "testLuaFunctionParams"}, }; Actions { DebugLogMessage{Message = "testLuaFunction SUCCESS"}, LuaFunctionExecute{Function = "actionTestFunction", Table = "testLuaFunctionParams"}, }; }; NonStopEvent { Conditions { TimerIsElapsed{Name = "ding-dong", Steps = secondsToSteps(10)}, }; Actions { DebugLogMessage{Message = "DING DONG DING DONG DING DONG"}, TimerStart("ding-dong"), }; }; PeriodicEvent { IntervalSteps = secondsToSteps(0.5), -- check twice per second Conditions { OR { TimerIsElapsed{Name = "ding-dong", Steps = secondsToSteps(2)}, TimerIsElapsed{Name = "ding-dong", Steps = secondsToSteps(5)}, }; }; Actions { DebugLogMessage("time passed ..."), }; }; }; -- alternative style (if you prefer K&R style ... me? ) State { Name = "2nd state", NonStopEvent { Conditions { TimerIsElapsed{Name = "ding-dong", Steps = secondsToSteps(3)}, }; Actions { StateMachineSetActiveState{Name = "first State"}, DebugLogMessage{Message = "... and back!"}, }; }; }; };
Jan. 30, 2012
In this episode you can see the Cocos2D Webcam Viewer in action. I also show you how to update a sprite's texture while your app is running just by saving an updated version of the image, and how cool that actually is! The second half of the video is devoted to explaining my work schedule. I'd like to believe that I have a unique and interesting solution to planning but I'm sure in some way or another it's already been implemented. I'm certainly influenced by Agile Development as much as I am by books like Getting Things Done and The 4-Hour Workweek. My revelation was simply this: stop wasting time planning tasks! Instead, plan your time and how you spend it. Episode #4 - I see Road Nuts • iDevBlogADay: Cocos2D Webcam Viewer o Mac OS X Webserver File Download • Kobold2D v1.0.2 released • Poll: Which scripting language for Cocos2D? • My work schedule explained
Jan. 13, 2012
After a holiday-season hiatus (Happy New Year btw!) LearnCocosTV is back. This episode is somewhat shorter because I had a lot of catching up to do and a lot of chores which aren’t exactly show-worthy. But I did manage to port most of the Kobold2D projects to Cocos2D 2.0 beta. Too bad they look just […]
Dec. 16, 2011
Another live report from the front… LearnCocosTV – Episode 2: Fixing Bad • Simple Multiplayer Data Sharing Project • iDevBlogADay: Fast Pixel-Perfect Collision Detection • Kobold2D 1.0.1 Released:    o KKPixelMaskSprite, KKScreenshot, Ad Banner rotation    o Solutions for “failed with exit code 1” linker errors • Xcode Trips & Ticks
Dec. 2, 2011
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. :D PS: in case you're wondering, the video was created with ScreenFlow 3.0.