When comparing Cocos2d-x and Cocos Creator vs Monkey X, the Slant community recommends Cocos2d-x and Cocos Creator for most people. In the question“What are the best 2D game engines?” Cocos2d-x and Cocos Creator is ranked 10th while Monkey X is ranked 27th. The most important reason people chose Cocos2d-x and Cocos Creator is:
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.
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 Native code support
Developers can make native calls directly from Monkey code. This allows access to any native functionality and platform-specific features.
Pro Native module support
You are not restricted only to the modules you get from the official release. You can build your own stuff. Even build your own "app" module. It feels limitless. In comparison with other cross platform solutions, you actually get the translated source code and you can play with it if you want.
Pro Built-in modules for quickly building games
Monkey X has a selection of great built-in modules.
- Graphics
- Audio
- Input
- Data and Filesystems
- Networking
- Math
- Text and Strings
- Collections
- Online Services
Pro You can create custom targets
The language gives you the possibility to build your own targets. You are not limited to the targets officially supported.
Pro Low cost license fee
All target platforms for a fair one off license fee.
Pro Easy to learn
With it's Object orientation and clean syntax its a brilliant language to learn if you have never done any programming before and yet still has all the power it needs to make full games and apps.
Pro Uses a great, easy to learn language
Monkey X uses a custom programming language (called Monkey) for all its scripting needs. Monkey is rather easy to learn, it's object-oriented which will help most programmers with understanding it. It's also statically typed and uses a garbage collector, helping to avoid manual memory management.
Pro Partly open-source
The entirety of the base-language itself is open source. Commercial modules such as Mojo for non-free platforms cost a one-time fee. Though Mojo is not free for all targets, the targets for these platforms are, meaning it is possible to implement other frameworks for these targets.
The Desktop (GLFW and C++ based) and HTML5 implementations of Mojo are currently free and open source.
The language's development is completely public, and is managed via GitHub.
Pro Free HTML5 and Desktop (GLFW) target platform
The free version of Monkey X lets you compile to HTML5 or Desktop (GLFW). Other platforms such as iOS, Android (and OUYA), XNA, Flash and Windows 8 (Phone) require the paid version of Monkey X Pro.
Pro Cross-platform
Monkey X is a cross-platform game engine. It allows developers to run the same code on multiple platforms, including iOS, Android, Windows Mobile, Flash, Windows, Mac OS and Linux.
The development environment supports Windows, OS X, and Linux.
Pro Not running in its own VM
Unlike other multi-platform engines (Unity3D, Corona, etc), Monkey-X games do not run explicitly in their own virtual machines. Your code is translated into the native languages of each target platform, and then compiled as a native executable. However, just as native games, on platforms such as Android (Currently), and HTML5, games will be ran through the targeted platform's usual VM(s). That being said, you won't be dealing with a proprietary virtual machine, so you won't experience any real overhead when compared to a native game.
Pro Made by the Mark Sibly Factor
The Mark Sibly Factor denotes that a programming language will be easy to learn, fun to learn and allow any age group ( within Cognitive Reason ) to program games and great games. The Mark Sibly Factor denotes also that the games programming language you purchase will be backed by decades of compiler programming experience, game making tool programming and finally a Game Programming Language that kicks Ass.
Pro Free for commercial releases
With the free version of Monkey you are still able to create commercial HTML5 and Desktop games.
Pro Many community modules available
The community has created essential modules:
- Spine for animations
- Box2D and Chipmunk for physics
- Game frameworks such as Ignition, fantomEngine, and Flixel
- Diddy for lots of extra functionality
- FontMachine for custom bitmap fonts
- MiniB3D for 3D gaming
- And several others...
Pro Drawing Commands
Drawing commands are easier to read and edit than is manipulating scene graphs. You can immediately see in your code what's going to be drawn and in what order. Transformations are a no-brainer too.
Pro Lots of great examples
Monkey X includes over 50 examples ranging from complete sample games to demos of single features.
Pro Object oriented programming
MonkeyX is an object-oriented dialect of BASIC that's easy, clean and powerful.
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 You'll have to learn a new programming language
Even though Monkey is rather easy to learn and borrows a lot of concepts from more popular languages, having to learn a new language develop games is a lot of friction for people that already know how to program in other languages..
Con The documentation is not very thorough
The documentation contains a reasonably detailed language overview, and a somewhat-generated list of the included modules, classes, and methods. Module descriptions are rather lax, but usually present. Method descriptions tend to be short, and a majority of them contain no usage snippets; most parameters have very minimal descriptions. And there are no community collaboration features to help improve it, besides GitHub.
Con The included IDE is poor
Although better IDE'S are availabe for a price, the default one is bare bones and lacks functionality
Con No real asset store
Untangling how to keep assets in the ".data" requires attention and a filenaming convention.
Con limited OS export targets with free version
Free version only targets Desktop (macOS, Windows, Linux) and HTML5, not mobile.