First, I think I'm saying pretty much the same thing you are -- I just wanted to get these thoughts out, and this thread seems appropriate for brainstorming over this...
Here is my 2 cents: cocos2d for iPhone is a very all-encompassing solution for iPhone game/app development. I think Objective-C is a great language for game development. You get all of the object-oriented capabilities you need, without some of the complexity issues associated with C++ work (when teams are using it for game development). So my first prediction is that Objective-C, or a language like it, will become a lot more prevalent in game development going forward (and not be so closely tied with Apple/iPhone development). The second prediction I want to make is that there will be at least one platform-independent open source library (C++?) that is based upon the novel ideas of cocos2d (unless there were libs before it that work similar -- if so, I'm not aware of them). An open source library called Director or something, let's say. I envision such a library as being generalized for 2D/3D use, being largely comprised of a director, having support for instant/interval actions, etc. Basically a director that can control any of your instances after having registered/binding them (instances will either be driven by the director at any given time or some other local mechanism such as script, physics engine, etc.). Right now cocos2d is advancing at a rapid rate -- it's growing to include a lot of support for other libraries/iPhone-specific work/things it might not need if it were a more specific (rather than all-encompassing) library. Things that could be handled by other libraries (scene graph library, for ex.). I think there's a huge opportunity for a library like this. The strongest aspect of cocos2d in my opinion is that it gives a lot of the power back to people who like to do code-driven development. Even though I don't have a super-advanced pipeline, animations coming in from a package like 3D Studio/etc., I can create a title screen with a number of complex motions/animations going on with something like five lines of action code. It's easy to envision a framework with a generalized director running a large portion of the show. The *same* director code that runs code-driven actions can be used to achieve data-driven goals. In other words, a moveTo action for example could run a programmer-created action from code, or a moveTo action could be used to achieve the animation described in data coming in from an animation product (3D Studio, etc.). The director concept is awesome because instead of writing per-class updates for everything, you simply leverage what's already present in the director (and most of that per-class update code can be expressed through action code/etc.). It's easy to think of examples of how awesome a director like this would be in most games (on any platform) if you've used cocos2d for a while. So I guess I just wanted to get those thoughts out before anyone does a 1:1 clone of cocos2d-iphone in C++.