The latest episode of the Cocos2D Podcast is out!
This time Azam and I talk about the options you have to earn additional revenue from or with your apps, using iAd ads, In-App Purchases, selling your source code and other ideas.
You might also want to read my blog post How to make over $18,000 in six months selling source code about the financial success of my Line-Drawing Starterkit. By the way, I’ll be releasing a new game kit in autumn. More details in the coming weeks.
Kobold2D is well and alive. Actually so much so that I thought: “Hey, it’s crazy, but maybe not … I’ll give it a shot and see how far I get.”
The thought was to try and add the cocos2d-x engine (cocos2d in C++) together with the Hello World example project to the Kobold2D workspace. The result: it took about 90 minutes, most of that figuring out the correct build settings and header search paths. And it just worked.
Right now this is just the iOS version. A cocos2d-x Mac project will be added as soon as the Mac platform is officially supported by cocos2d-x (or does it already and I missed that?). Then developers would have the choice between using either Objective-C or C++ as the primary language for developing their iOS & Mac OS X games.
It also made me think: “Hey, there’s this other open source 2d game engine … hmmm….”
I just completed this project for the new book chapter about embedding UIKit views/Cocoa Touch in a Cocos2D application. In that case I embedded the Cocos2D view in the View-based Application template and added some controls to start/stop the cocos2d view and change scenes. Here’s the result:
It also correctly auto-rotates. But I noticed an odd bug with auto-rotation enabled for all orientations: the view is designed in portrait mode. If I start the App on my iPod Touch 4 while holding the device in landscape mode, then rotate back to portrait mode once the app has started and enable the cocos2d view, for some reason this causes my device to reboot! I see a transparent white color drawn over the entire screen before the screen goes black and the Apple logo appears.
If anyone has any idea what might be causing this behavior, please let me know. As far as I debugged it is not the initialization of the EAGLView class itself, a scene is already running or about to be run.
I’m guessing it might have to do with the EAGLView initialization, since I rely on Interface Builder to initialize the view. I simply dragged a View object onto IB and changed the class from UIView to EAGLView. Maybe the EAGLView default settings are not supposed to be used and I do need to create the EAGLView manually?
The latest Cocos2D Podcast has been out for a few days and I totally forgot to post it!
Mohammad Azam and I talked with Michael Daley, author of the Learning iOS Game Programming book and one half of the 71Squared development team. You know, the guys who made Particle Designer and Glyph Designer.
Since you’re looking to install Cocos2D, you may be interested to hear about the Kobold2D game engine. Kobold2D is designed to make Cocos2D developers more productive. Of course it comes with an installer, and includes Cocos2D.
With the release of the unstable cocos2d-iphone v1.0.0 rc3 version today I’ve updated the Cocos2D Installer to include this new version, as well as an updated version of Cocos3D (v0.5.4). The installer will install the Xcode templates for you for both cocos2d and cocos3d in both Xcode 3 and Xcode 4 versions.
The Cocos2D installer includes cocos2d-iphone v0.99.5 (stable) & v1.0.0 rc3 (unstable) and cocos3d v0.5.4.
Cocos2D/Cocos3D will be installed to the user’s Documents folder in appropriately named subfolders. You can move these folders after installation to another folder without breaking anything.
It’s coming along great!
I completed the revisions on Chapter 1 through 5. The entire source code is now updated to use cocos2d-iphone v1.0.0 rc2. To make future code updates easier I also wrote a script that allows me to copy a newer cocos2d version to all projects, which essentially does Steps 1 & 2 described in the Updating Cocos2D in an Existing Project tutorial.
Most Notable Changes
Chapter 4 now includes a description of Glyph Designer for making Bitmap Fonts, and only mentions Hiero on the side. Glyph Designer is the better tool hands down.
Chapter 5 has seen a revision of the paragraph that explains subclassing from NSObject. I think I went too far off course here and subclassing from CCNode will make a lot of things easier while still giving the same benefits regarding class composition.
For a while it looked like Zwoptex and TexturePacker would be competing on the same level. But recently Andreas Löw (TexturePacker & PhysicsEditor) made the move to work full-time on his tools, whereas Robert Payne is busy with a full-time job. I think the prospects are looking much better for TexturePacker now, and it is already leading in terms of features and update frequency.
That’s it for now.
As @GeekAndDad pointed out on Twitter the majority of the cocos2d source code has been updated with a Zynga Copyright. This is in reference to two commits (1) (2) on github in the develop branch of cocos2d-iphone.
The MIT License header now begins with:
* cocos2d for iPhone: http://www.cocos2d-iphone.org
* Copyright (c) 2008-2010 Ricardo Quesada
* Copyright (c) 2011 Zynga Inc.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the “Software”), to deal
This just means that changes made in 2011 to the cocos2d source code are copyright by Zynga. Which is to be expected, now that Ricardo is an employee of Zynga.
It doesn’t change anything regarding the MIT license. And it doesn’t imply a transfer of copyright. In fact, since Ricardo is still listed as copyright owner for the years 2008-2010 it is suggesting that there was no transfer of copyright.
Also note that some of the source code in the cocos2d-iphone project is copyright by other developers or companies, whose copyright has not been changed. This includes classes like CCActionEase, CCActionGrid, CCActionPageTurn3D, CCBlockSupport, CCGrabber, CCMotionStreak, CCTexture2D – just to name a few.