Cocos2d-x and my short termed affair
Well I am going to bash Cocos2d-x , but before i start. I must say that it seems to be doing really good(Seems , I am actually not quite sure!). Though I am know for certain Cocos2d Objective C version is the one who is doing many rounds. So let us start.
Well for starters I am programmer who loves coding including the whole process. But I am no way near to pro level coders , who simply stare at screens sometimes trying to find what is hidden ,or at other times will go through 5–6 pages of code in breeze as if Rain Man is helping them. But I am not that good , I know how to code well. I can code as long as I have good documentation and good Manual. Well there you go Cocos2d-x dev, you guys messed up there.
For starters there way of documentation is just simply weird , Their documentation is very less minimalistic. Just tell what are parameters and what will be return type. Have a look at this method
Int SetTypeDummyFrom(int dummyPara1, int dummyParat2)
Return int dummy type using dummyPart1 and dummyPart2.
Now the information(sarcasm) which I am getting from second line , is almost useless. It is because I can make that much sense when I read that first sentence. Now to honest sometimes that’s all the information is required and also some documentation actually makes sense. But then again some of methods have no documentation of all. Even if method is simple as setSize or something like that , because developer needs to know what code is he writing? So even if he gets confused over simple method it is just irritating. Then there is no manual at all. I repeat no manual at all. How a developer is supposed to know how are things ? You just threw a bunch of self generated documentation and expected things to work. Now I follow Jeff Atwood ‘s blog and according to him best way to learn a software is to read the code.And he is definitely correct. When you read a code you understand the real thing. Because code doesn’t lie. But honestly do you really expect normal programmer to learn like this. Honestly?
Developing games is on general harder than mostly other programming challenges. And well Cocos2d-x just made sure that it is the most hardest thing possible. It goes without saying that without good documentation Good software is dead software. And inversely is true as well , if I have developed some software which is not quite capable but it has some good documentation , then at least getting people on wagon should not be difficult, why because you have given them how to make it work , once they have learnt on how to make it work , half the battle is already won. They have invested some time in your software. And even if you fix those issues later on , they will not leave the wagon , or they could go facebook style. Just like facebook fixed some Php issues(speed) with their own customized tools and software. Even if above scenarios didn't happen even then you would be much in position than some dev who even though created better software than you , will not have good community around it.
Even if Cocos2d-x is free and open source and unity is closed and paid(if you cross some annual revenue) , i have realized that i would better side with Unity.