While this appears to be a very valuable tutorial, I'm a bit worried about what "like Cut the Rope" implies. You can't get that level of polish without putting thousands of man-hours into it, so I'm afraid it's a bit like those "learn to draw an owl" memes:
A lot of that polish overhead time would be avoided through the use of the Cocos2D engine, it seems. Of course it won't be as perfect as cut the rope. It will be like cut the rope.
Kudos to this guy for giving a head start to plenty of indie and starting game devs. I can attest to this as I used Cocos2D to produce my iOS game (since pulled because I have been too occupied this year to hack on iOS: last year of high school = major pressure to do well; very competitive environment). But this is beside the point: Wenderlich's tutorials are awesome, well-written and comprehensive. They won't get you production ready games in a flash, but they sure do help.
From an Indie point of view, iOS game development is considerably more accessible than Android game development by virtue of the following facts:
* Cocos2D is a robust, free and easy-to-use environment; a fully-functional, stable, Android analogue does not exist.
* iOS code is 99% universal (just works on all devices) whereas Android code really isn't. For instance: OpenGL sample code from the Android development guides (http://developer.android.com/training/graphics/opengl/index....) does not work on 2 of 4 android devices I've tried it on because it targets deprecated API's and methods which are unusable using the newest SDK versions (it was version 14 or 15 at the time; largely unimportant). Imagine how disheartening, demotivating and demoralising it is to see that "official Google endorsed code" just doesn't work.
* I have personally tried AndEngine and Cocos2D for Android. Neither is up to scratch with iOS Cocos2D.
tl;dr Ray Wenderlich is indirectly responsible for a ton of Indie games on the App Store, should be thanked, and no, an equal (easy-to-use portable, robust, _decent_ framework) doesn't exist for android (though there may be analogues).
> Cocos2D is a robust, free and easy-to-use environment; a fully-functional, stable, Android analogue does not exist
Cocos2d-x is a very functional and robust C++ port / analogue of cocos2d, and it works on iOS, Android and Win32 (not sure about OSX and Linux?). Is that what you call "Cocos2D for Android"? What do you mean exactly by "up to scratch"? Android's fragmentation is a well known problem that can't be abstracted away, but that's no reason to underestimate the value of such frameworks (it sure is a reason to avoid developing for Android though). I for one love being able to develop abd debug in MSVC on Windows, and only touch Xcode / Eclipse for platform-specific stuff.
As an aside, the HTML5 version of Cocos2d-x is also functional but I can't vouch for its robustness
Not to take away from Ray Wenderlich's site. I've found it useful and informative.
It is worth noting that "This is a blog post by iOS Tutorial Team member Gustavo Ambrozio, a software engineer with over 20 years experience, including over three years of iOS experience. He is the founder of CodeCrop Software."
I've wanted to do a project with Box2D for a while and have a few ideas for physics heavy games. However all the ideas I have involve pretty large game worlds with many objects so I am worried about the performance of this.
I read somewhere that collision detection in Box2D is O(N^2), is the answer to write custom collision detection and simply use box2d to process the effects of these?
I'm reasonably sure that this used to be the case but hasn't for a good while. I know at some point Box2D used a sort-and-prune algorithm but they may have moved on to quadtrees or space-filling curves by now. You could also try Chipmunk which provides several collision recipes too, and may be faster for lots of similarly-sized objects. And you can always ignore either of them for collisions and take it as a learning experience to implement different algorithms yourself.
But you really need to just make it and see. Even a naive n^2 algorithm will be fine, for small values of n. If you have a lot of objects though you might even be forced into using a 3D engine and making the GPU do some work. Once you're in the process of making your game you'll be more aware of what specific optimizations you can make (such as sprite groups).
Me just starting a project on a strategic board game, I was wondering if there is any active development for Android regarding the cocos2d sdk? I only found two seemingly discontinued projects on Google Code. Is a dedicated game framework helpful in this case with no background in game programming but some expertise in the Java portions of Android?
I'm working on a project using cocos2d-x, which is multiplatform, althouugh we still need to make it work on android.
If you are doing android only, you can try using the Andengine, at a previous working location we remade our ios cocos2d game for android using it.
If you already have a cocos2d game maybe you should look at
the stellaSDK(www.yeecco.com/stella)
This looks fantastic. Excited to see where it leads. I would have loved something like this when I first set out to learn Cocos2D and Box2D. I went through weeks of trial and error before really figuring things out, and this would have been a great primer.
1. Draw a circle.
2. Draw the rest of the fucking owl.