When comparing Cocos2d-x and Cocos2d Family vs CryEngine, the Slant community recommends CryEngine for most people. In the question“What are the best game engines for beginners and non-programmers?” CryEngine is ranked 12th while Cocos2d-x and Cocos2d Family is ranked 17th. The most important reason people chose CryEngine is:
CryEngine 5.4 now supports DX12 and Vulkan
Ranked in these QuestionsQuestion Ranking
Pro A proven engine for mobile development
25% of iPhone games are made using Cocos2d-x (A Cocos2d mobile variant.)
This means you will not be alone in development, and will have access to a large community. You'll know you are developing for an engine that works.
Pro Supports 3D models with skeleton animation
A new feature since Cocos2d-x v3.1 is support for 3D models (in your 2D game), not only this but support for skeleton animations is included too! This awesome feature allows for impressive characters in your game along with easier, more fluid and realistic animations.
Pro Great script language support
Especially with Cocos2d-JS you can develop games cross web and native, and the native solution have great performance with JS Bindings, much better than hybrid solution.
Pro Allows for easy debugging
It has a built-in Python interpreter that allows for easy debugging.
Pro Greater performance than high level APIs
Cocos2d-x is C++ based engine and it has CPU advantages for most platforms because of that. It uses polygonal mesh methods for sprite rendering for using GPU advantages. (You also use quad methods for benefit CPU).
Cocos2d-x is not only open source but also supported by Chukong Technologies of China and USA.
Regularly updated and adding support for the latest technologies. 2014 has already seen the release of Version 3, a new Cocos Studio development toolkit (optional) and support for new technologies like skeleton animation systems Spine and Adobe DragonBone.
Pro Great video tutorials
Hundreds of video tutorials available.
Pro OpenGL hardware acceleration
Pro Easy integration of 3rd party plugins
For example, if you want to add a rating plugin, you use
sdkbox::PluginReview::init(); and if you want to add the Vundle Ad Network SDK, you use the one packaged in SDKBox
Pro Highly active community for questions and support
Cocos2d-x forums are active.
Pro No external dependencies
Because it is based on Pyglet.
Pro DX12, Vulkan support
CryEngine 5.4 now supports DX12 and Vulkan
Pro Dynamic water rendering
Cry Engine has realistic water effects that even simulate ocean physics. Features such as waves that respond to global wind, and dynamic water volume tessellation allow for some of the most realistic water effects available to a game developer. The engine also takes into account LOD (level of detail) on water geometry to allow it to stay performant for water at a distance.
Pro C# integration
CryEngine has some C#template and also C# based system to write your function/ideas in to your game.
Pro Advanced volumetric cloud system
Cryengine has an optimized volumetric cloud system for Virtual Reality to give clouds full 3D spatial rendering. This ensures a high rendering quality with a minimal performance hit.
Pro Realistic rendering of vegetation and landscapes
Where Cry Engine really shines is with rendering scenes of nature. The Crysis games feature incredibly detailed vegetation and weather effects and it's the Cry Engine that enables that. The engine has many features to create a cohesive realistic looking world. Dynamic water effects allow users to have beautiful oceans, fog and cloud effects allow for realistic weather, and a plethora of lighting effects optimized for natural looking scenes make Cry Engine one of the best engines for creating vast beautiful landscapes.
By having all these features built together from the ground up, Cry Engine is capable of doing more complex effects more efficiently, than other engines that didn't have these effects planned from their inception.
Pro Features allowing for realistic weather effects
Cry Engine has volumetric fog rendering which allows for realistic cloud shadows that actually render shadows onto the fog itself. Combined with their time of day system, it's possible to create incredibly realistic weather effects. On top of this, color grading allows user to post process pallets allowing them to change the color tone for different type weather, such as using a deep dark blue for rain.
Pro All platforms, including next-gen consoles, are supported
Supports miltiple platforms including: Xbox One, Xbox 360, PS3, PS4, Wii U, PC, iOS, and Android.
Pro Disallows bad practices in asset creation
Simply by looking at the RC log when exporting can greatly improve your work. Cryengine doesn't handhold you constantly and helps greatly with avoiding bad practices in asset creation.
Pro Online marketplace available
The Cryengine marketplace is an online marketplace which enables developers to access and use individual assets from thousands of materials, sounds and 3D objects created by the community. Even Crytek's own library assets are available there.
Pro VR support
Cryengine (starting on Cryengine V) has Virtual Reality support. Developers can create games with VR support for multiple platforms: PlayStation VR, Oculus Rift and HTC Vive.
Pro There is already a built-in AI
It can shoot, walk on patrol points, can see the player and so on.
Pro Versatile flow diagram script model
Flow graphs resemble flowcharts where each box represents a function or value, with connections between them representing program flow. This provides a better at-a-glance indication of game logic than a simple list of events, and makes complex behaviors easier to accomplish.
Pro Dedicated channel for Q&A
Crytek has launched a dedicated Q&A forum for everything Cryengine related. It's called Cryengine Answers and it's a community dedicated to sharing and answering any question related to Cryengine.
Con Poor documentation
Most existing documentation is out of date. API documentation sometimes exists, though is usually just a one-liner and more often than not is completely absent. New features and significant system rewrites often make it to a major release without a single line of documentation accompanying them. Cocos2d-x family is developed by Chinese mostly, so market outside of China is not their main priority. Some tools (like Cocos Studio) have China-specific services and markets.
Con Poor support and non-existent community
Up until 2013, this was one of the best engines around. However, since then it was bought by a Chinese company and began stagnating - it's virtually in a slow death. Most developers abandoned Cocos in favor of more modern solutions leaving the community weak and the forums with little or no traffic. Although the Cocos2d-x Forum seems to have a decent community going.
Con Cocos2d-html5 is way behind Cocos2d-x
While Cocos2d-html5 tries to mimic it's Cocos2d-x sister and has the same people working on it, it has lots of restrictions compared to Cocos2d-x: no Spine mesh support, no 3D models, bad text label quality, etc.
Con Fragmentation; hard to find useful tutorials
Cocos2d family includes different projects: cocos2d-x, cocos2d-html5, cocos2d-objc, cocos2d-XNA. Most tutorials describe techniques specific to single project of the family, and cannot be applied to other projects.
Con Can seem very complex for a novice developer
There isn't much documentation or tutorials.
Con Modest functionality
Almost all free alternatives are more convenient, faster, and more functional.
Con Steep learning curve
Except for basic FPS games getting anything done will require solid knowledge of C++, Flash, ActionScript and Lua.
Con Hard to develop games other than FPS
Cryengine is a great engine to be used for developing an FPS (and it's relatively easy to do so). But if you want to develop another type of game, it requires at least advanced knowledge of C++ and Visual Studio.
Con No Mac OS X support
Con Restrictive license
Cryengine is not restrictive anymore just more personalized. The model is Pay what you want and if you want more you get a membership with them. Or private support, help and lessons directly from the CryEngine team.