Unity vs Cocos2d-X: What to choose for 2D Game Development [Outdated]
[This Article is Outdated]: A newer version is available at this link:http://indivour.blogspot.com/2016/12/new-cocos2dx-vs-unity-what-to-choose.html
A lot of people starting out with 2D game development are often confronted with this Cocos vs Unity question. There are already quite a lot of discussions out there to confuse you.
I've been working with both these development platforms for more than 4 years now, so I'll put in my 2 cents as well (to confuse you a bit more ;).
Technically speaking, there are lot of differences between both these platforms. In the end though, results matter more than the effort you've put and the path you've chosen. The end result (your game) from both the paths (platforms) can be beautiful (based on your effort). They both are pretty capable platforms with active development and community support. And with the introduction of Cocos Studio, they both provide ease of visual development.
Below is a table listing out some of the features of both.
Feature | Unity | Cocos |
Cost | Free with Unity Splash and limitations on some features Or 1500 USD for Unity Pro + 500 USD for Android Pro + 500 USD for iOS Pro and So on. | Free (All platforms including Android, iOS, Windows, Linux, Mac OSX) |
Documentation | Well Documented | Documented, but with lot of fragmentation (versions, deprecation, language etc.) |
Community Support | Active | Active |
Ease of Starting | Easy | Medium |
Language Support | C#, JS, Boo | C++, JS, Lua |
Stability | Stable | Stable |
Visual Editor | Inbuilt | Cocos Studio |
Physics Engine | Inbuilt | Box 2d and Chipmunk engines pre-integrated |
In my personal opinion, both can achieve pretty good results if the required effort is put in. From the end users perspective however, there is one edge that Cocos2D-X holds over Unity and that is build size.
An Android build (APK) with just an empty scene built with Unity will have a size of around 18 MB! Compare that to a mere 2 MB for the same build, built with Cocos2dX. Also, the way Unity stores its images, it makes it easier for developers to handle images during development phase, but can result in loss of quality and increased build size in the final build. This causes the size disparity to further increase.
Build sizes may not matter in western countries (because of easy access to high speed WiFi), but in developing countries (like India) it can have a huge impact on your download count. If your build size reaches above 100 MB, both Play store and iTunes store won't allow you to download the game on mobile networks.
Plugin integration is also a point where Cocos2dX has an edge over Unity. Most of the monetization, ad-network, analytics and other plugins are readily available for native integration on Cocos2dX. Cocos2dX now also supports SDK-BOX which further eases plugin integration. On the other hand, Unity needs middle-ware (mostly paid) to interact with most of the non-game features.
Another positive factor for Cocos2DX is that its free of cost, without forcing you to show its Logo anywhere in the game, which can improve user experience by getting the players to the game faster.
Unity on the other hand is an excellent, capable and powerful tool which can be used to develop games fast and beautiful.
Unity also has a better (Shuriken) particle system compared to Cocos2dX.
You can also have granular controls over the look and feel (quality) of your project and resources on Unity.
Both the tools provide you with an option to deliver a game single handedly as an indie and as a group of team members. So as a further "confusionary" measure, I've added below table for your reference. :)
Unity2D
|
Cocos2D
| |
Company (Cash No Problemo) |
|
|
Indies (Cash strapped) |
|
|
In the end, if you ask me which platform I personally would develop games on, I have a very simple formula to choose, for 3D I'll go with Unity3D and for 2D I'll go with Cocos2dX.
Comments