Shuaiying Hou wrote:
Hi all, I’m currently doing a job: move my game project which based on cocos2d-x-1.x to 2.x, and met tons of issues with API changes.
I’m not sure which clever head had made this decision to change lots of API. But it caused me lots of trouble. My project has about 200,000 - 300,000 lines of code. I’ve suddenly realized there’s a blackhole to make this job done.
Yeah, I hate upgrading to the new version, it always takes 8+ hours minimum, the tedious pain is similar to when I do my taxes.
It’s not only simply like “find & replace”, it also has lots of issue caused by different usage of API.
For example, 2.x even changed usage of CCDictionary, CCMutableDictionary was deprecated.
Yeah, that one hurt a lot! Have to agree, there was no need to remove CCMutableDictionary. If those in power want to add a new faster class that’s fine, just don’t remove the old version please!
And on top of that CCArray caused me so many memory leak problems (I’m sure it is buggy) I ended up writing my own class.
So users have to learn their genius inventions. That makes me remind Microsoft’s API. Well, you know what I mean.
I worked with MS API’s for 15 years, I can’t remember having many problems with API changes, they were always really simple changes.
In all, you clever heads should provide a solution to these old users that they can move to your new engine easily.
That isn’t the cocos2d-x way.
The very limited documentation (test sample) and the occasional long lasting bugs, and the upgrading problems, make me often consider moving to another engine. One day….
And another problem is occasionally you HAVE to upgrade. I did from 1 to 2 to get the design resolution thing to work on Android. Then from 2 to 2.1.4 to fix a sound problem on Android. But now my iOS is still on the older 2.0.4 as the even newer design-resolution system on 2.1.4 breaks my iOS version.
I’m not looking forward to upgrading to v3 and will put it off as long as I can.
I like ranting too