What the FAQ is going to happen with Kobold2D?

On November 23, 2012, in Kobold2D, by Steffen Itterheim

Since I’ve started to offer KoboldTouch developers have been wondering what will happen to Kobold2D? I’ll answer these questions here.

Kobold2D Updates

When cocos2d 2.1 (stable) is released, I’ll update Kobold2D to include this latest cocos2d version. Same with any other cocos2d version that will be released in 2013. I won’t update to beta versions – sometimes they’re riddled with bugs, other times the next beta comes only a week or two later.

I’ll continue to support and update Kobold2D for as long as there’s interest in it but I’ll definitely focus my efforts on KoboldTouch now.

KoboldTouch “Lite”

Sometime in 2013 (probably not before Q2) I’ll release KoboldTouch “Lite” for free, with limited features and support. This Lite version will then take over as the successor of Kobold2D, while Kobold2D will remain available for some time.

KoboldTouch “Lite” will have the MVC framework but not much else. It will not include any additional features such as OS integration, better tilemap rendering, Box2D Objective-C wrappers and what not.

This ought to help developers get accustomed with the MVC framework.

Relaunch of www.kobold2d.com

Sooner or later I’ll relaunch the www.kobold2d.com website as www.koboldtouch.com. I’ll go for a simple look & feel (KISS), it will include the Kobold2D articles and I’m going to write all KoboldTouch documentation publicly.

For one this will make it easier for me to write and publish documentation. It should also help KoboldTouch’s popularity to reveal its documentation to both developers and search engines.

KoboldTouch compatibility with Kobold2D

KoboldTouch is not 100% compatible with Kobold2D, since I’ve already trimmed the less popular libraries from KoboldTouch: Chipmunk, Chipmunk Spacemanager, Cocos3D, ObjectAL, SneakyInput, iSimulate, AdMob. The remaining libraries are: cocos2d-iphone, cocos2d-iphone-extensions, CocosDenshion, Kobold2D, Box2, Lua and a few smaller additions (BitArray, LOG_EXPR, etc).

You should be able to port code that does not use one of these libraries with ease. Though without adapting to the MVC framework you lose a lot of the benefits of using KoboldTouch.

Custom Folders and Source Control

Issues regarding custom folders and source control usage come up frequently. I will alleviate those with KoboldTouch.

The project starter tool will be improved to support creating new projects in a custom folder, with or without copying the offline documentation to the new folder. The project upgrader tool will also work with custom folder locations.

The documentation accounts for most of the disk space usage of a Kobold2D/KoboldTouch project and should therefore not be included when you intend to manage this project with source control. Specifically if it’s an online repository with limited disk space. With the additional libraries stripped and documentation not included, a new KoboldTouch project weighs in at around 15 MB of disk space.

What will remain is that the installer will install to a fixed folder, since you will then be able to create new projects in any custom folder so there’s no real need for a custom folder location during installation.

There are plenty of issues with PackageMaker to overcome to support custom folder locations and I’d rather spend that time on other things. As was always the case, you can of course move the Kobold2D folder anywhere else after the installation completed – it’s just one click & drag operation in Finder.

Your question not answered here?

Let me know by writing a comment.

Tagged with:  

The Development Plan for KoboldTouch

On October 25, 2012, in KoboldTouch, by Steffen Itterheim

I like to take a moment and explain what the development process of KoboldTouch will be, and how you will influence the direction of KoboldTouch. But first, let’s have a look what I have planned for the initial version:

UPDATE: KoboldTouch is now available!

First Goal: KoboldTouch equals Cocos2D

To be completed in November, the main goal is to allow users to use the MVC framework of KoboldTouch with all features of Cocos2D, minus a few exceptions (odd features like CCMotionStreak).

You should be able to write Cocos2D apps with Cocos2D features entirely within the KoboldTouch framework. You’ll experience the KoboldTouch API design goal “feels like Cocoa”.

The first version’s features will be:

  • Controller/Model Framework wrapping Cocos2D views
  • View Controllers for “view” nodes, minus exceptions (see below)
  • Scene Transitions
  • Scheduled updates (Step methods in KT)
  • Touch & Accelerometer input controllers
  • Mouse & Keyboard input controllers
  • Simple Audio Controller
  • Simple Model Classes
  • Archiving & Unarchiving Model Classes
  • Basic “Hello World++” Example Project

This first version will be KoboldTouch v6.0.

Continue reading »

Kobold2D Compatibility Update for iOS 6

On September 22, 2012, in Announcements, Kobold2D, by Steffen Itterheim

Kobold2D v2.0.4 is now available for download, as is v1.0.3.

Both versions contain compatibility fixes for iOS 6, Xcode 4.5, Mountain Lion and a few extra features like (finally) Kobold2D Class Templates for Xcode.

The Most Important Changes & Additions
  • fixed: iOS 6 initial rotation issue
  • iPhone 5 widescreen enabled in all template projects
    •  Existing projects must add a Default-568h@2x.png image with size of 640×1136 pixels to their project to enable iPhone 5 widescreen support.
  • Mountain Lion: no need to lower security level to run Installer. Package is now signed by “identified developer”. 
  • NEW: Kobold2D Class Templates available in Xcode.
    • Use as basis for new CCNode class files. Includes stubs of frequently used methods: init, onEnter, cleanup, dealloc, update.

      Continue reading »

Tagged with:  

Kobold2D Xcode 4.4 Compatibility Update

On July 27, 2012, in Kobold2D, by Steffen Itterheim

I just released a compatibility update for Kobold2D since there were numerous compiler warnings and errors introduced in Xcode 4.4.

Almost all of the issues were simply the compiler being more adamant about using the correct type specifiers in format strings. For example using %i for an unsigned integer or %u for an unsigned long type would bring up warnings. The solution is to use either the correct format specifier or casting the value. The latter is preferable if the underlying type changes depending on the platform. For example NSUInteger is unsigned int for iOS but on Mac 64-Bit it’s actually unsigned long.

You can get the updated Kobold2D v1.1.2 and v2.0.3 versions from the Kobold2D Downloads page.

Continue reading »

Tagged with:  

Busted! Eight Reasons not to use ARC

On June 28, 2012, in idevblogaday, by Steffen Itterheim

So, you’ve heard about Objective-C automatic reference counting (ARC). And you’ve read about it here and there and every where. But you’re not using it.

Guess what? You’re not alone. There are developers out there who refuse to use ARC, who delay using it, who believe they just can’t use it or expressly decided against using ARC for the time being. They all have their reasons.

Most of them are wrong.

Here’s a summary of reasons I’ve heard (repeatedly) in the past months from developers who aren’t using ARC, or have tried it but gave up using it. And I’ll tell you why these rationalizations are wrong, or at least over-inflated.

Continue reading »

Kobold2D v1.0.4 now available!

On February 22, 2012, in Kobold2D, by Steffen Itterheim

Kobold2D v1.0.4 is available from the Kobold2D Download page!

I’m terribly sorry for the hiccup with v1.0.3. There was an absolute path causing build failures for others, which of course worked on my systems so I didn’t catch it. I retracted v1.0.3 shortly after publishing it. The fixed version is now v1.0.4. If you happen to have downloaded v1.0.3 I recommend to upgrade to v1.0.4 right away.

The most important improvements in this version are Xcode 4.3 compatibility and working around a “file not found ../libkobold2d-ios.a” issue caused by the Xcode 4 Build Location setting “Locations Specified by Targets” (in Xcode 4.3 this setting is now appropriately named “Legacy”).

The Release Notes lists all the changes.

Continue reading »

Tagged with:  

This quick comparison sheet gives you all the info to decide whether to use Cocos2D 1.x or Cocos2D 2.x. Contrary to most programs, a higher version number doesn’t infer “better” or “more”. There are pros and cons for both versions.

At the time of this writing the decision really only boils down to whether you want to use shaders and whether you must be able to deploy your app to 1st & 2nd generation devices. See for yourself, it’s that simple:

Cocos2D v1.x

(+) compatible with all iOS devices
(+) compatible with all libraries
(-) no OpenGL ES 2.0 shader programs

Cocos2D v2.x

(+) OpenGL ES 2.0 shader programs
(-) incompatible with armv6 CPU devices:
iPhone, iPhone 3G, iPod Touch 1G & 2G
(-) incompatible with these libraries:
Cocos3D 0.x.x, Chipmunk SpaceManager 0.1.2

All other differences to this day are minor, and most new features and bugfixes have been migrated back and forth between versions. For beginners I strongly recommend using v1.x as there’s a lot more documentation available for this version. Those who have no interest in writing shader programs can also safely use the v1.x branch without missing out.

Continue reading »