I have been using cocos2d-iPhone and Sprite Kit for a while now. While both of them are wonderful, i like the prospect of being able to develop for multiple platforms at once. But i’m really very confused about which one to choose?
Should i go for cocos2d-x because the API is very familiar or should i go for Unity because someday, i would definitely like to develop 3D games as well. I am assuming that the 2D development will to a little extent help me with 3D development.
As for the programming language, i know only Objective C. So either way, i have learn a new language.
I personally i am feeling a little inclined towards Unity. I know cocos2d-x is free and all but Unity also has a free version. Plus Unity has tonnes of tutorials, excellent community support and documentation.
Also, many say Unity is less programming and more graphic oriented while cocos2d-x is more programming oriented and offers tighter control and more speed/performance.
by clapollo » Wed Dec 11, 2013 5:08 am
So take anyone’s opinion, including mine, with a grain of salt, as they say.
That said, I see no reason not to use Unity for any game you want to make. I agree that you do a lot of things graphically in Unity, but I disagree that you get less performance. With Unity, you could make a simple 2D game, something like an Angry Birds, but you could also make Call of Duty. Performance isn’t a problem, and you can access very low level things when you need to.
Like you said, Unity has a great community, tutorials, wonderful documentation and support. Also, Unity has the built in Asset Store, which gives you access to thousands of code extensions and art assets that can get you things that might take you days, weeks, or even months to develop for only a few dollars. It’s really an amazing source of content.
The Unity editor is also extensible, so you can create your own tools (or install tools made by others) that extend it in any number of ways.
Finally, Unity lets you easily deploy to several platforms. Desktop (Mac, Windows, Linux I think), browsers, iOS, Android, Windows phone. Plus, if your game is a big hit, you can eventually deploy to consoles, too!
But instead of listening to me, I’d recommend you download it yourself and try out some tutorials. You can find some on our site, some on Unity’s site, and plenty throughout the internet. Play around with it and see what you think. I actually find developing with it to be fun, and you might, too! You get to run things immediately and can modify settings while the game runs, which saves time and makes tweaking things much easier.
Oh, and you do need to learn another language with Unity (you have a choice of 3, actually), but it’s super easy. The Unity docs are excellent and the differences between languages are minor, so you won’t struggle.
Good luck whichever way you go!