Commercial cocos2d Code

So we’re pretty big fans of cocos2d around here as you’ve no doubt noticed, but today is a special day cocos2d-wise; it’s the two-year anniversary of our very first post about it! And the library certainly has been remarkably successful by any metric you’d care to measure, but for our anniversary post, let’s talk about commercial offerings for it, that being a particularly striking metric of success of an open source project. Practically unheard of, in fact.

But before we begin, lead developer Ricardo Quesada [EDIT: Used to] support himself selling two projects –

Sapus Tongue Source Code

Complete source to the “Sapus Tongue” and “Sapus Tongue Lite” games on the App Store.

LevelSVG

A level editor for platform/labyrinth type games which parses SVG files created by Inkscape into a Box2D world. Samples of what you can do can be seen in “LevelSVG Mini Games” on the App Store.

Now, we could say some obvious stuff about how best practices for a library would come from the guy who wrote it, or we could mention how insanely responsive Messr. Quesada is to support questions, but let’s not bother with that because the important point’s rather simpler; if you’re making a buck off his work, buying these projects is the very least it’s decent to do.

Now that you’ve done that — you have, haven’t you? — let’s take a look at two commercial offerings that have sprung up, which we’ve gone and spent some C$250 on just so that we can report on them to you, Dear Reader, because we love you so much.

First off, there’s this fellow @gaminghorror who has set up a site learn-cocos2d.com and is writing a book on it; worthwhile endeavours the both of them you’d think, but in the interests of full disclosure there appears a certain chilliness in relations evidenced, seems there’s a perception that the code he’s selling and we’re about to review competes with the projects mentioned above. Well, we trust our feelings on your correct priorities are quite clear already, so if he’s offering something else useful we don’t really think there ought to be a problem here, diversity and proliferation are good, yes? Speaking out of total ignorance of whatever the actual history there is and just guessing from those links, we hasten to clarify.

Any-ways, on to that source code he’s selling; it’s called Line-Drawing Game Starterkit, it’s US$179 through, well, today, and then up to US$299. As you can guess from the name, it demonstrates a certain wildly popular genre of iDevice game,

linedrawinggame.jpg

and you can check it out for free on your iPhone or on your iPad in the App Store, or read the online documentation. As for us, we installed it, and that went smoothly, defining an Xcode source tree for the cocos2d distribution of your choice is it really, and compiling the iPad target against yesterday’s v0.99.5-beta cocos2d latest almost went smoothly except for a 4.0-only flag in CocosDenshion; we’ll assume that’s their oversight not making it 3.2 compatible for iPad, not something to hold against this project, and yes it up and ran just like the demo. Code is quite clearly written and decently documented, flipping through it and running clang only found a few things stylistically different from our preferred practices and nothing that qualifies as a serious issue.

So yeah, if you’re planning on a Flight Control knockoff, we’d say it’s definitely a fine investment. Otherwise, it’s a decent example of how to structure a project in iPhone and iPad targeting versions, but not overly compelling for the price is our initial impression.

Price, on the other hand, is definitely the selling point of our second product, The iPhone Game Kit; [EDIT: Now withdrawn] And in this case, it’s marketed as

… a complete, full-featured walkthrough to making your first video game on an iPhone, iPod Touch, or iPad. Even if you don’t have any experience at all, the Game Kit will guide you through your first lines of code and teach you everything you need to know to get your game going…

which does indeed appear to place it in direct contention with Ricardo Quesada’s offerings, and thus some skepticism of motivation is not unwarranted. But hey, you can always look at it as people who are brought into the platform by this might go on to purchase the other offerings later which are indeed somewhat intimidating to the novice no doubt; so we’re not going to rush to any judgement that there’s no redeeming value here. Besides, we dig the old school RPG thing and that’s what his demo ‘Quexlor’ is,

quexlorlite.jpg

you can download it free as a universal iPhone/iPad version from the App Store to check out.

This download comes with a pretty basic “Publishing Guide” as well as “The Book”, a 127-page walkthrough of development, the Quexlor source, and using the Tiled map editor. And quite good indeed that one is, certainly quite a bit better than any other introductory level documentation we’ve seen anywhere. Moving on to the source code, this one includes its own distribution of cocos2d 0.99.4 so we just open the project and run it on a phone, yep works fine. Although ‘Build and Analyze’ comes up with 16 errors all of which look valid, more than a little sloppy there, tsk tsk. Flipping through it, the code looks decent quality but not as self-documenting as we like, loops like for(id o in ra) are the kind of thing we give our minions some choicely sarcastic observations on the value of maintainability as the highest metric of coding quality to aspire to when we catch them at it, but at least it is commented thoroughly. To the point where maintaining the comments would take significant effort actually which we’d say is rather overdoing it as your code should be adequately readable on its own, but hey it is aimed at beginners.

Soooo … whilst we’re not impressed enough to give this kit a wholehearted recommendation, [UPDATE: Well, yes we are as of version 3.0 now] and marketing it as “including” free content from other people both cocos2d and the game’s graphics is somewhat misleading (although granted he does provide attribution, just not prominently) it definitely is a good faith effort with significant value especially in the guidebook; hey, if we ever get around to writing That Great Turn Based RPG that we idly toss the idea of around every so often, we’ll definitely take this project as our starting point. And yes, if you know nothing about writing games and you want to start with cocos2d, it probably is pretty much the best thing out there for you.

So there you go, we figure both these options are good faith efforts and are likely a net benefit to the platform; somewhat more questionably in the second case, but it’s definitely appropriate for someone who needs a more gentle introduction than jumping into LevelSVG or the like straight off, and then they might go on to buy the more advanced stuff later. So you could argue that. Or, hey, just do what we do and buy everything! Sure, sure, some people say money can’t buy happiness … they just don’t know where to shop.

Alex | July 31, 2010
  • GamingHorror August 5, 2010 at 10:43 am
    Thanks for the nice review, I appreciate it! I also agree with you on the RPG Game Kit. Especially the book rocks! I think that's setting new standards for game kits aimed at beginning developers.
  • formotion September 24, 2010 at 7:20 am
    There's another iPhone game which sells it's source code: http://negrete.me/jump-up-source-code/, I've just seen that, do yo know if it's ok?
  • Alex September 24, 2010 at 7:47 am
    Thanks formotion - Nope, hadn't heard of that one before, but looking at how simple the game is and how thin the description is, I think you'd probably be better served with any of the other options here. Unless you really really need the help with OpenFeint integration, but I gather that most people are looking at just GameCenter as the way forward.
  • formotion September 24, 2010 at 7:53 am
    Thank you very much Alex, I'll keep that in mind!
  • Craig November 8, 2010 at 12:52 pm
    I haven't compared the source code, but Jump Up looks suspiciously like an enhanced version of TweeJump, the source code for which is available free: https://github.com/haqu/tweejump TweeJump has all the gameplay of Jump Up but doesn't include sound effects (which are very limited in Jump Up anyway), a menu screen, or OpenFeint support. Still, you can't beat the price so if you're looking for the basics of a Doodle Jump game I'd definitely start with TweeJump.
  • formotion November 22, 2010 at 7:21 am
    Hey Craig, I can confirm that Jump Up is something like an "enhanced" version of TweeJump because I've downloaded TweeJump source code and also bought Jump Up source code (they lowered the price to $50 a few days ago and I thought I'll give it a try), anyway, in their defense I can tell you that the things that made me buy Jump Up was that it promised to be a commented source code (it is) which for a newbie like me is really important because I don't know anything at all about iPhone development, the OpenFeint integration, the code to make the free and paid versions and because, to be honest, I couldn't get TweeJump working on cocos2d 0.99.4, besides, they say that I'll have free code updates. Anyway, that's only my 2 cents :P

Leave a Reply