The Ultimate Cocos2D Project: Kobold2D

On March 19, 2011, in Kobold2D, by Steffen Itterheim

What is Kobold2D?

It’s the Ultimate Cocos2D Project, of course. Or more precisely, the official name for it. Right now, the website www.kobold2.com is only a “coming soon” page while development is under way.

What’s in a name?

Calling it “The Ultimate Cocos2D Project” all the time would have become tedious rather quickly. I wanted a name that is reminiscent of Cocos2D yet completely different. As luck would have it, I’ve recently watched a lot of Battlestar Galactica episodes. You might remember that in this show humanity’s home planet is called Kobol. I couldn’t help but think of COBOL all the time. 😉

From there it was a small step to Kobold, which in germany is widely associated with a famous cartoon Kobold called Pumuckl. As a kid, I was a big fan of Pumuckl, so picking Kobold2D as the name was a no brainer. Even more so since it has the same ring to it than Cocos2D.

Why create a new brand name?

For one, giving the project a name of its own clearly makes it more attractive. It expresses a certain dedication to the project. It should also signal that it’s no longer just about Cocos2D. With all those extra libraries and additional glue code, plus an experimental project I’m working on, I’m tempted to call it a Game Development Kit (GDK). That’s the long term vision for Kobold2D: more power, easier – for everyone!

Speaking of long term, that’s another reason to give it its own brand name. The visionary thought being that ultimately, something like Kobold2D could be implemented for other game engines as well, with the same core values: give the developers more power, greater flexibility but at the same time make it easier for them to get started.

The Kobold Team

I’m not the only developer who is aching for a more professional work environment. Kobold2D is a joint-venture with another senior software developer and a couple helping hands who help out wherever and whenever they can. We agreed to share the development burden on a voluntary basis. We all have different stakes and interests in the development of Kobold2D.

For me personally the most important aspect is my ambition to develop a project for its users, both professional and casual. I know I can build professional systems that are easy to use, well documented and thus get the job done painlessly. This basically sums up what I’ve been doing for the past 10 years.

What we’re not doing …

There’s one issue I think i going to come up, which might confuse some people, so I want to be clear about this: we are not creating a branch of Cocos2D. We have no intention to do so. We use the library as is, and we stick to the stable builds. The same goes for all other libraries of course.

At the same time, we don’t push each and every line of our additional code back or even contribute to the development of the libraries in Kobold2D. That’s not what we set out to do, and we simply don’t want to spend too much time consulting with and compromising on changes with others when our code is already there and working for us. Our code uses the MIT License, so it’s there for the taking.

In very few cases we can’t get around to modify library code. We only do this where necessary, for example if it breaks our build and the fix is rather simple. Other than that, if a library doesn’t work to our satisfaction, we try to add our fixes and improvements on top, either by subclassing or by making use of Objective-C categories. So far this has been working very well and allows us to keep updating the underlying libraries with far fewer hassles.

Next steps

One big task that I set myself out to complete before continuing with Kobold2D is figuring out the Xcode 4 template format for File Templates and Project Templates. I almost have everything together after spending practically the whole week on it. I’m also documenting all my findings and I’m going to publish the Xcode 4 Template Tutorial / Reference / Documentation / Manual (not sure about the name yet) by the end of the month.

The goal for Kobold2D is to have various project templates, which is why I’m doing extensive research on the new Xcode 4 template format. Unfortunately at the moment it seems that it will not work satisfactory with cross-referenced Xcode projects, but I remain positive that I can find a solution.

Kobold2D private beta!

There will also be a private beta test for Kobold2D starting in a couple weeks (couple == definitely more than 2 weeks). Reply to the private beta sign-up thread if you want a chance to be picked for the private beta test.

Tagged with:  

The “Great Apps Made With Cocos2D” List

On October 19, 2010, in cocos2d, Games, by Steffen Itterheim

This list is a collection of exemplary games and apps made with the Cocos2D for iPhone game engine. They should be seen as reference products in terms of what you can do with Cocos2D and simply the variety of games and apps developers have created with Cocos2D. This post is linked to from the Cocos2D book.

If you wish to add a game or app to this list, and you can provide prove or guarantee that it was made with Cocos2D, please leave a comment. From time to time I’ll move the notable mentions up to the actual blog post and delete it from the comments (to avoid duplication) but you can still grab some attention and a little traffic to your game by simply adding a comment to it here. And don’t forget that the official Cocos2D website has a games page, where you can also add yours.

Note: the order of the apps in this list is arbitrary, although I try to group similar apps together.

The “Great Apps Made With Cocos2D” List


The Elements (iPad) is a graphical representation of the periodic table of elements. The outstanding feature is the plentiful photographs and smooth 360 animations which invite you to explore the elements that make up you, me and the rest of the universe (excluding empty space, of which there’s a lot I’ve been told). It’s priced highly but worth every cent, and if you need an App to brag about your new iPad: this is it!

Note: iPad demo starts at 2:55


Bloomies is a colorful gardening game, full of bees. If that doesn’t sway you over, maybe the idea of fostering and nurturing your own garden does. The flowers need your constant attention and the gameplay is addictive just like any Tamagotchi-style game. Oh, and it happens to be made by two former colleagues of mine. It’s just a beautiful game, and so is their follow-up game Super Blast.


StickWars is a sort of Tower Defense game where you defend your castle from incoming stick figures by flicking them in the air or literally shaking them to the ground. The developer, John Hartzog, had never before worked with Objective-C or on mobile devices but he pulled it off. StickWars remains to this date within the Top 100 games and continues to be updated even a years after the initial release.


ZombieSmash is also a Castle Defense game, except that this time hordes of zombies are attacking and you get explosives, 16 ton weights, shotguns and other cool items that make a bloody mess to fend them off. Your castle is your barn and if you can defend it, you’ll be rewarded with a slow motion animation of the final zombie losings its, err, unlife. The outstanding feature of this game is certainly the ragdoll animation system that allows zombies to walk, crawl or otherwise try to move even if they lost some of their limbs.


Super Turbo Action Pig revives a simple gameplay concept of a scrolling level where your character always falls down except when you touch the screen to boost his jetpack. The extraordinary part here is that the game’s graphics are extremely well made and the overall presentation of the game, the trailer, the website and the humor are setting a great example.


Farmville, do I even have to explain what it’s about? It’s an incredibly successful Facebook game that has millions of players worldwide building their farms in an isometric landscape. It just goes to show how powerful Cocos2D is if a company like Zynga uses it to port it’s most successful game to the iPhone.


Zombie Farm came out on the iPhone even before Farmville, and it was also created with Cocos2D. It does have it’s own, unique edge and stands well on its own. If you have enjoyed Farmville, you haven’t played Zombie Farm yet! Visit the Zombie Farm forum thread.


Melvin Says There’s Monsters (iPad) is a beautifully animated cartoon kid story with professional quality voice overs. The story is cleverly constructed and has an insightful turning point. It’s a pleasure to watch even for an adult, and it also uses Cocos2D’s page flip animations very effectively. If you have an iPad and kids, it’s a must have!


Alice (iPad) is also a shining example of a kid’s book app for the iPad, made with Cocos2D and lots of Chipmunk physics mixed in for good measure. Visit the Alice forum thread.


Trainyard is an innovative puzzle game that was clearly engineered with the user in mind. It features a mode for the color blind, is optimized to use little battery power, saves and loads the game just as the user left it and even allows users to share puzzle solutions on the web, using a duplicate of the game engine written in Flash. This all besides being a really innovative puzzle game where you lay tracks and combine trains to match them with colored trainyards.


AbstractWar 2.0 is a dual-stick shooter featuring colorful and effectful geometric visuals like its role model game Geometry Wars on Xbox Live Arcade. It’s an intense space shooter with plenty of game modes. You can even play it in multiplayer via a Bluetooth connection and it allows you to use your own iPod music.


Fuji Leaves is an interesting music game, where dropping balls hit leaves and depending on speed and location of impact, a sound is played. With several balls on the screen bouncing around you can dynamically create musical scores. It’s intensely fascinating to play this game, trying to come up with interesting scores and just the right placement of leaves. Before you know it, an hour has passed.


Moonlights borrows the grid-building physics from another popular Indie game. If you wouldn’t know it, on first sight Moonlights looks and feels just like World of Goo, and that alone is no mean feat. Visit the Moonlights forum thread.


Checkmates Chess (iPad) is as gorgeous and elegant as chess can be. You can play against another human or the computer (well, against the iPad to be precise). Making use of the full size of the iPad, you can now leave your pieces at home. Visit the Checkmates Chess forum thread.


Starterkit: Line-Drawing

On May 27, 2010, in , by Steffen Itterheim

Line-Drawing Game Starterkit

Site License! Unlimited Apps!

Royalty Free! No Attribution!

60 day money-back guarantee!

Made with the popular cocos2d-iphone game engine.
Compatible with cocos2d-iphone v1.1 and v2.0, Xcode 4.6 and iOS 6.
Includes ARC enabled versions of the starterkit!


Sale – only $49 !


All Starterkit project artwork provided by Arezou Ipakchi Design. Promotional images created by Justin from CartoonSmart.

What it is:

Get a head-start for your Line-Drawing game and save days if not weeks of your time! You’ll get gameplay code modelled after the extremely popular Flight Control game. You’ll learn how to draw lines, detect touches on objects, have objects follow a path – and much, much more! Written by a professional game developer and game industry veteran (me) the source code is annotated with lots of comments explaining my rationale and written with readability in mind.

Contains separate iPhone & iPad targets!

The Starterkit includes targets for iPhone and iPad using the same code if you don’t want to create a Universal app, for example to reduce your app’s size or to be able to charge more for the iPad version. If the iPad Target is selected hi-res iPad images will be used. Image selection is done automatically by loading those images whose filenames have the “-ipad” suffix, the same suffix cocos2d uses.

What others are saying:

“Code is quite clearly written and decently documented […] definitely a fine investment.”
From: Commercial cocos2d Code review from Alex Curylo.

“It was an awesome moment when I found the source for a line draw game of this caliber.”
-Franklin Lyons, SpinFall

“Especially the path and movement system is saving me lots of headaches.”
-Martin Hoffmann

Games made with this Starterkit:

Launch Control

Ferries HD

Feature List:

  • cleanly seperated and well-structured GameScene code design with a minimum of dependencies
  • easy to add new objects and extend object parameters
  • touch object & draw a path for it (whether it’s already following a path or not)
  • path drawing ends when path is drawn over appropriate target location (eg airstrip for airplanes, respecting angle of approach)
  • path drawing ends when arbitrary point limit is exceeded (to avoid slowdowns)
  • path is drawn when dragged with thick transparent line style like Harbor Master, without glitches
  • path is split into equal length pieces no matter how quickly user moves finger
  • objects spawn outside screen, locations can be re-defined and extended
  • objects display incoming warning marker at screen border
  • objects display collision warning when any two of them are getting too close
  • objects follow path to end – then fade out and increase score or continue moving
  • objects always rotate in movement direction
  • objects bounce back at screen borders
  • motivational Labels for successful landings, precached
  • Score and HighScore Labels
  • HighScore saved to disk between play sessions
  • supports both Landscape orientations with autorotation
  • loads correct resource files depending on Target (iPhone or iPad)
  • proper Pause handling for incoming calls, SMS
  • many generally useful Math Helper functions included
  • lots of comments explaining rationale and giving tips for improvement
  • assertive coding style to help catch coding errors early on
  • offline and online documentation
  • you can choose between using cocos2d-iphone v1.1 and v2.0
  • you can choose between using ARC or classic manual reference counting
  • compatible with iOS 5.0 and newer, including iOS 6
  • compatible with Xcode 4.6 (the most recent versions also work)
  • easy setup: just unzip, open Xcode project, select build scheme, build and run

Questions? Need Help?

Just send me an email.

Legal Disclaimer

Cocos2D is a registered trademark of Ricardo Quesada. Steffen Itterheim, the Learn & Master Cocos2D website and the Line-Drawing Game Starterkit are neither affiliated with nor endorsed by Zynga or Ricardo Quesada.


Try Before Buy!

Demo App for iPhone
Demo App for iPad

Browse the API Documentation

View a Code Sample


Buy Now!

Site License! Unlimited Apps!

Royalty Free! No Attribution!

60 day money-back guarantee!

Made with the popular cocos2d-iphone game engine.
Compatible with cocos2d-iphone v1.1 and v2.0, Xcode 4.6 and iOS 6.
Includes ARC enabled versions of the starterkit!


Sale – only $49 !



License Agreement

Copyright

Purchase grants you the License to use and modify the source code and assets under the following Terms and Conditions:

You are not allowed to make the source code publicly available. You are not allowed to give or sell the source code to others, modified or not. Licenses are not transferable.

All Licenses are royalty free. You can make as many free or commercial Apps using the source code as you want. You may re-use any existing assets in your App.

If you do contract work and have or want to give the Starterkit source code to your client, your client needs to purchase a Site License as well.

Site License

Each purchase grants you a Site License. The Site license grants you the use of the Starterkit without restrictions at one site.

A site is an office, building or living space rented or owned by the company or individual making the purchase. It allows anyone working on site to use and modify the Starterkit source code.

Large companies operating at several sites need to purchase a site license for each individual location if the Starterkit is to be used at multiple locations. Contact me if you’re such a corporation and you prefer a flat fee license with your own license text to go along with it.

Support

Updates to the Starterkit are done on an as needed basis. I will also keep it up to date and running with the latest stable releases of cocos2d. Updates are distributed via a download link sent to the email address you used for your order. If your email address ever changes please contact me, ideally you should forward me your order confirmation in that case to speed up the change.

Source Code not covered by this License

The licensed Source Code project contains files which are available for free and are governed by different licenses. The Terms & Conditions outlined here do not apply to source code files which do not contain the Copyright notice “Copyright (year) Steffen Itterheim. All rights reserved.”.

Disclaimer

THIS SOFTWARE IS PROVIDED “AS IS” AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Questions? Contact me!

If you have any questions or if you require specific License texts before making a purchase, please contact me.



Xcode Project Tutorial Updates: Box2d & Template

On May 12, 2010, in Announcements, by Steffen Itterheim

If you followed my Xcode Project Tutorial or received it after signing up for my Newsletter you may have noticed that it would not compile if you added #import “box2d.h” to any of your classes. I investigated and thanks to your comments the problem was easy to fix. I wrote a Tutorial lesson detailing box2d integration issues and how to solve them.

In addition, Tim Soliday who blogs at FatFingerStudios.com went through the effort of creating a “real” Xcode Template from my Tutorial project. By “real” i mean an Xcode Template that will be added to Xcode’s “File -> New Project” list of applications so that you can choose to start with a “cocos2d Application from there. This has also been requested by readers. I added another Tutorial lesson which describes how to install Tim’s Xcode Template.

I will add Tim’s Xcode Template to the Newsletter welcome mail in a couple minutes so new Newsletter subscribers will receive it automatically! If you have already signed up for my Newsletter you’ll have it in your inbox shortly, you do not have to sign up again!

The new Projectfiles you’ll receive also contain the box2d fixes and include my free source code collection and a number of other changes. Most notably the addition of License files and folder structure that go along with it which help me and my customers to differentiate between my base source code that is only licensed to the customer vs. source code that is later fully owned by my customers. Feel free to disregard or delete these License files if you have no use for them.

Tagged with:  

Games are easier played than done

On April 30, 2010, in Speaking From Experience, by Steffen Itterheim

This one should be obvious: making games is hard.

What’s not so obvious: making simple games is still hard.

Ever heard someone proclaim “Oh, i could make that in a day!” after having glanced at yet another simple game that’s all the rave on the App Store? I bet you did. Truth is: they’re almost always wrong. Even if it’s someone who has years of experience programming games.

You know Jamie from Mythbusters is saying in their disclaimer shots: “It may not look like it, but we’re professionals”. Well, the Mythbusters are professionals. Who is to say you can’t fool around like a child and still be professional? It’s much like your regular game development team. Anyway, did you ever notice how surprised they often are about their results? Or how much work it would be to get their myths tested? Same goes for game developers.

A game programmer who is sure he can do that game in a day just by looking at it is a lot like your typical Mythbuster, or Mythbuster viewer, who thinks they know the outcome before the test – and then they’re in for a surprise. Sure sometimes they’ll be largely correct. Yes you can shoot a ball at 60 mph in the opposite direction of a car going 60 mph and the ball will just drop down straight to the ground. That is just simple physics. Even i knew that. I also know how to make games. And i can vividly imagine how many more tests and excrutiating amounts of work went into confirming that myth. The same amount of excrutiating work and detailed adjustment go into making any game as well. But they don’t show that on your screen, do they?

Game programmers who can actually make a complete game in a day are a myth. Once you’ve done a couple games you know that. And once you hear someone proclaim they can do it in a day, please take them by their word and put them to the test!

Let’s take Doodle Jump as an example. It’s been a target for ridicule from quite some game programmers who just couldn’t stand that something as simple (and stupid as they say) can be so successful. Could you do it in a day? Could you even do it in a week? Let’s put it to the test!

How?

Simple, we’ll just make a feature list and you can answer the question yourself: how long will it take to complete this? Please post in a comment how long you think it would take to complete all this, assuming you had all the graphics and sounds.

  • Menu
    • Challenge by Email
    • Highscores Screen: Local, Facebook Friends and Global (Webserver connection)
    • Options Screen, various options
    • Connect & Submit Score to Facebook (Facebook API)
    • Connect & Submit Score to Twitter (Twitter API)
    • Change your name
    • Pause Screen
  • Game
    • Player jumping
    • Accelerometer controls
    • Wrap Player when leaving either screen side
    • Player shooting on tap
    • Scrolling Game Objects as Player goes up
    • Scroll in Menu on game over
    • 7 different Platform Types, one that can be moved by touching it
    • 6 Enemies and 1 or 2 Boss Monsters
    • UFOs and Black Holes
    • 6 Powerups: Springs, Jetpack, etc.
    • Display Friend Scores on the side
    • Score display
  • Stuff that people often forget to think of
    • randomly generate platforms in a meaningful way with progressing difficulty and no unfair situations
    • cheats and easter eggs (not mandatory but Doodle Jump has a lot!)
    • several themes with all new graphics

Did i forget anything? Probably. Usually when you make feature lists like this you get 80%, maybe 90% of all features of you’re really thorough. There’s always something you’ll forget when you look at a game’s features, and there’s even more you’ll forget when you plan the game. Unless you plan for “When it’s done.” – which more often than not means: never. Or Duke Nukem Forever. Same thing really.

My Appography

On April 18, 2010, in Games, by Steffen Itterheim

I’m sure you’ll want to know which iPhone games i’ve worked on. I’ll keep updating this post. Latest releases are on top.

Undisclosed Project

More info soon …

Black Hole

Created for Fun Armada, our iPhone game company startup. Published by ClickGamer.

MIX-MAX iPad Edition

Contract work for Ravensburger Digital

MIX-MAX

Contract work for Ravensburger Digital

51 Japanese Characters

Pro Bono project for Peter Machat.

Steffens Complete Gameography

You can view my complete Gameography which includes the PC and Handheld titles i’ve worked on at my professional job application website www.gametooldeveloper.com.

About

On April 17, 2010, in , by Steffen Itterheim

Learn Cocos2D Game Development

Steffen in bullet points:

The long story, shortened a bit …

At the beginning, I was merely a Cocos2D developer just starting out with this fine game engine. I started working with Cocos2D in May 2009. Despite many years of game development experience, I struggled many times over – there was so much to learn and specifically for Cocos2D there wasn’t much documentation to go on.

Learn & Master Cocos2D Blog

A year later, I was well aware that besides growing in popularity, the basic issues of getting started with Cocos2D essentially stayed the same. Consequently, beginner’s tutorials got rampant visits from aspiring Cocos2D game developers. So I decided to start this Learn & Master Cocos2D website and blog to help you get started and answer pressing questions while trying to earn a living selling source code products like the Line-Drawing Game Starterkit.

Learn iPhone and iPad Cocos2D Game Development Book

Within hours of going live with this website in early May 2010, I was contacted by Jack Nutting, author of Learn Cocoa on the Mac. He got me in contact with Apress and a short but intense proposal period for a Cocos2D book followed. Then I blogged about the book’s progress every week. What followed were five months of writing and learning more about Cocos2D and writing books than I ever imagined. The book was finally completed and released in December 2010: Learn iPhone and iPad Cocos2D Game Development: The Leading Framework for Building 2D Graphical and Interactive Applications.

Cocos2D Central

During the time I wrote the book, this website had to take a backseat, so I did not grow the tutorials and other content as I had initially planned. With the book finished, I knew I was going to do lots of Q&A and it should be done publicly, so that everyone can benefit from it. The result is the Cocos2D Central forum and community website.

Kobold2D: Cocos2D on Steroids

Another result from my extensive work with Cocos2D is Kobold2D. It is designed to make Cocos2D developers more productive and making it easier to get started. I use it for all of my own work.

Kobold2D originated from the idea to build a consistent framework for all of my Cocos2D projects, instead of inadvertently dispersing the reusable code over multiple projects. If you’re serious with Cocos2D development or just getting started you should really check out Kobold2D.

My Leitmotif

I have always been a nutcracker and firefighter in my previous game industry jobs. I have always been sitting between chairs, as I did not fit a proper, established job description. I’m a jack of many trades, master of some. I program, I design, I write, I market, I sell, I help, I teach, I moderate, I network and I do what I think needs to be done. But most of all, I’ve always been helping other developers – that was always present in every job I did, and when I worked with the right people, those were the best times I ever had. Give me a problem and (most of the time) I’ll want to solve it. I’m happy when I can help others grow and excel. That’s my leitmotif, that’s what I’m doing now for Cocos2D developers.