QRR is yet another series, and it stands for “Quick, Random Rant”. Please don’t make me catch you translating QRR without adding that comma. Thanks.
The premise is to just push myself to blog more, so I open the editor without a topic in mind, and start typing.
What comes to mind is something I’ve been recently working on, and that is of course, Cocos2d-x. Cocos is an excellent library, but I have learned the hard way that it was the worst possible choice for me. Let me enlighten you why.
C++ is a grownups language. It’s arguably the most powerful language, but it requires you to be mindful about every freakin detail that you write. Writing my game in such a language, over the span of two years, is a nightmare. I learned so many things, and realized how many mistakes I made in the past, as I desperately attempt to fix them.
That characteristic of C++ also implies that you have to write everything yourself. You need an observer pattern? Write it! You need a string formatter? Write it! Seasoned C++ programmers might argue that boost C++ is the way to go, since it implements most of these missing features from the language, but I only realized that after I decided never to write a personal game in C++ again.
Almost every new version of the library comes with changes that break your sufficiently-complex project. Whether it is as simple as deprecations, all the way to core engine behaviors. These changes make a long lived project mostly about maintenance rather than focusing on making the game.
No matter what you hear, Cocos2d-X is supported by the community, and is bound to be buggy. It’s not horribly buggy, but you’ll find yourself looking for solutions to the engine every now and then, and you can’t afford that when running a one man show, now can you.