When comparing jMonkey3 vs ct.js, the Slant community recommends ct.js for most people. In the question“What are the best 100% free and easy game engines for beginners?” ct.js is ranked 17th while jMonkey3 is ranked 27th. The most important reason people chose ct.js is:
ct.js is bundled with examples, docs, and easy to follow tutorials. Documentation and tutorials are available in a side panel on every screen.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
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.
Pro Beginner-friendly
ct.js is bundled with examples, docs, and easy to follow tutorials. Documentation and tutorials are available in a side panel on every screen.
Pro Skeletal animations with DragonBones support
You can import skeletal sprites and animations from DragonBones, which is also free. Skeletal animations are added to objects through code; developers can listen to marked events in animation, and ct.js automatically associates sounds in a DragonBones project with the game's assets.
Pro Good code editor
The built-in code editor comes with error checking, type checks, code completions accompanied with docs, multiple cursors support, and other modern features.
Pro Open source (MIT)
This means that no one will ever put any features behind a paywall and that you can reliably use ct.js in any projects without worrying about licensing. And you can hack on ct.js!
The repo is at https://github.com/ct-js/ct-js
Pro Tileset support
ct.js supports tiles in rooms, including collision checks and some extra editor tools, like bulk migration to a new tile layer or shifting by an exact value.
Pro WebGL and WebGL2 support
Starting with v1.0.0-next-1, you can now write WebGL games. WebGL support is based on Pixi.js.
Pro Modular approach
ct.js has a "Core" library that provides basic drawing functions, room and asset management, and mouse interactions. Any other functions are added to projects as "catmods", or simply modules. These modules can be enabled or disabled in one click, and can inject their code in different game loop stages, e.g. after drawing all the objects, leaving a room, or when a new object is created.
Pro Applicable to most genres
ct.js aims to be a general game engine and provides tools in making games of any genre.
Pro Dialogue and visual novel system with support for Yarn
A module ct.yarn allows developers to import a YarnSpinner project to create branching, data-driven dialogues and visual novels. An example is also bundled with ct.js.
The dialogue tree is made in a separate app, though.
Pro Real-time particle system editor
v1.3 brings a particle system editor, which displays a preview sprite for proper attachment of emitter to visual elements, and allows combining more than one emitter with different particles into one effect. With these, even the creation of complex, multi-step effects becomes easy. The editor comes with dozens ready-made textures for faster prototyping.
Cons
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.
Con Tile editing is a chore
No live brushes with automatic corner drawing, no fills or rectangular/linear placement. All tiles should be placed by hand, with a "Shift" key to place multiple tiles at once. This will make you ragequit if you want to make sophisticated RPG scenes :D
Con Slower than native games
JavaScript and WebGL are fast, but they will always lose in performance if compared to native games, so it may be a bad choice for graphics-heavy games.