When comparing Cocos2d-x and Cocos Creator vs jMonkey3, the Slant community recommends jMonkey3 for most people. In the question“What are the best 3D game engines?” jMonkey3 is ranked 12th while Cocos2d-x and Cocos Creator is ranked 21st. The most important reason people chose jMonkey3 is:
Java is a well-optimized just-in-time compiled language. It's faster than languages without an effective native-code compiler such as Python or Ruby, similar in speed to other just-in-time compiled languages such as C#, while slightly slower than compiled languages such as C or C++ (with some low-level and numeric [benchmarks](http://benchmarksgame.alioth.debian.org/u64q/java.html) being similar to C++). Java also has a wide variety of high-class IDEs available.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro A proven engine for mobile development
25% of iPhone games are made using Cocos2d-x.
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 Good documentation
Documentation includes a programming guide, API reference, video tutorials and massive reference test code project showing all functions and giving working code to the user.
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
It supports Lua and Javascript with full feature 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 Highly active community for questions and support
Cocos2d-x forums are active.
Pro OpenGL hardware acceleration
Pro Future-proof
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 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).
Pro No external dependencies
Because it is based on Pyglet.
Pro One code for all platforms
On top of supporting pretty much all existing platforms (except consoles), Cocos Creator (Cocos's IDE) allows you to write 1 code that runs on Android, iOS, Windows, MacOS and HTML5 (not Linux though).
Pro Easy integration of 3rd party plugins
Through the use of SDKBox you can easily integrate 3rd party SDKs and plugins for each version of Cocos2D (Lua, C++ or JavaScript), you just choose the SDKs to integrate and SDKBox will do the rest.
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 SDKBOX sdkbox::PluginVungle::init();
.
Pro Allows for easy debugging
It has a built-in Python interpreter that allows for easy debugging.
Pro Very good IDE
Cocos Creator (Cocos' IDE) comes with scene editing, UI editor, animations & particle editors and whatnot. It's also easy to use and pretty intuitive if you read the official documentation & tutorials. Way way better than the old CocoStudio.
Pro Great video tutorials
Hundreds of video tutorials available.
Pro Java is a great development platform
Java is a well-optimized just-in-time compiled language. It's faster than languages without an effective native-code compiler such as Python or Ruby, similar in speed to other just-in-time compiled languages such as C#, while slightly slower than compiled languages such as C or C++ (with some low-level and numeric benchmarks being similar to C++).
Java also has a wide variety of high-class IDEs available.
Pro Multiplatform support
Code can be ported to mobile (iOS is in the works) and other Android supported devices with minor changes to the code (just change some implementations that vary on the platform such as inputs and user interface). It can even run on certain Raspberry Pi devices.
Pro Free and open-source
jMonkey is completely free, meaning it's possible to develop and release a game with no fees or royalties. Because it is open-source, jMonkey has plenty of people fixing bugs and, adding to the engine as well as creating a variety of plugins that can be used in the engine.
Pro Not limited to using its own IDE
Unlike some engines, jMonkey doesn't force its own IDE. You can use its Netbeans-based IDE, but you can also set up a project to work in another IDE such as Eclipse. You can still use the special tools from jMonkey's IDE in such projects.
Pro Engine modifications can be made using Java
Because jMonkey is implemented in Java, the same language its apps are typically developed in, developers will have an easier time modifying the engine to their needs.
Pro Has everything
jMonkey3 handles input from computers and mobile devices. It handles networking, physics, rendering, terrain, and cinematics.
Pro Ease of extensibility
Engine is modifiable.
Pro Freedom of choice for architecture
The user is not compelled to use any programming architecture nor standard in order to make a project working. JME allows the freedom to use what is best for a game.
Pro Offers both low-level and high-level ways of editing shaders
Modifying shaders can be done either via a visual tool called Shader Nodes or via GLSL that allow you to make your own shaders without the engine getting in the way or having to hack around to do so.
Cons
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 No Graphics user interface
Con Modest functionality
Almost all free alternatives are more convenient, faster, and more functional.
Con Terrible API reference
The methods are not defined.
Con Not an engine for total beginners
While it's clear that you need to know Java first before using this engine, it is recommended that you have some programming experience as well. Most performance issues and memory leaks are more due to bad programming practices than the engine itself.
Con Slow release cycle
jMonkey3 lacks manpower to have a fast and decent release cycle.
Con Relies on archaic tool chain
jMonkey Engine uses Apache Ant for build automation, which is archaic and backwards, even by Java standards.