When comparing Blender vs ct.js, the Slant community recommends Blender for most people. In the question“What are the best game engines for beginners and non-programmers?” Blender is ranked 10th while ct.js is ranked 23rd. The most important reason people chose Blender is:
Blender is licensed under the GPL. Some Blender modules such as the Cycles rendering engine are licensed under the Apache 2.0 license.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Free and open source
Blender is licensed under the GPL. Some Blender modules such as the Cycles rendering engine are licensed under the Apache 2.0 license.
Pro Wide import and export format support
Support lots of modern 3D formats including DAE and FBX - ideal for game developers.
Pro Has a powerful rendering engine
Blender runs the Cycles path tracing engine under the hood. Cycles is a very powerful rendering engine capable of full path tracing (light fall off, caustics, volumetrics). It is mostly compatible with OpenCL and CUDA rendering, and is implementing mycropolygon displacement features. The upcoming release has a viewport engine called EEVEE whereby you can see and interact with your work in render mode in real time!
Pro Python extensibility
Blender embeds Python 3, which can be used to write add-ons, tools, extend the interface, rig characters and automate tasks.
Pro Powerful animation suite
Blender provides a full rigging system, and automates animation by interpolating between keyframe positions.
Pro Supports both low-poly and hi-poly modeling
Pro Regular release schedule
Releases are made every ~3 months.
Pro Sculpting and 3D painting features
Although Blender's 3d painting and sculpting tools (mostly painting) are not at par with specialized software like Substance Painter, ZBrush, or Mari, it is more than capable of getting most jobs done if the user takes the time to learn and understand it.
Pro Includes video editing & compositing tools
Blender's node-based compositor has comprehensive video sequencing and post-processing features.
Pro Node based modeling support
Pro Keyboard shortcuts
Good keyboard shortcuts for everything. Keep your left hand on the keyboard and your right hand on the mouse.
Pro Very useful for a freelancer
It offers a round solution (it covers many areas and professional fields) for a freelancer, for free, constantly updated, very polished, and allowing high quality results that clients do require. After some learning, it becomes very useful for professional work.
Pro Has a large community
There's a huge community to help you get started immediately.
Pro Coherent and streamlined workflow / internal use logic
The trick with Blender is to get used to its usage philosophy, as it keeps consistent through all the application. Once you get it, every feature or addition is learnt naturally, almost effortlessly.
Pro Very versatile
You don't have to switch between software when you want to do different things. Because modeling, sculpting, composting, video editing etc can all be done in blender.
Pro Generative geometry using nodes
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 Too many possibilities, no unified workflow
The operations are not optimized enough for specific tasks.
Con The physics engine is a bit lagging behind, especially the destruction physics
Con Difficult learning curve
Blender has a history of being unintuitive, but the 2.8 overhaul made the program far easier for beginners to pick up, and changes continue to be made to further improve the experience. However, there is still a learning curve.
Con Not good for Industrial Design because it uses average vertex normals
You can not create a hard surface with a radius continuity degree along a surface using a specific radius value.
Con Vertex normal issues on edges after boolean operations.
After creating a simple boolean operation the vertex normals are broken. A lot of work to fix the issue and you loos surface continuity.
Con Bad vertex normal after boolean operations
Does not handle well polygon intersections. And need tweaking by hand points or adding average vertex normals via modifiers.
Con Does not handle NURBs
Is not capable of real hard surface for industrial design because is not able to reproduce surface continuity degree as a NURBs does and average vertex normal destroy surface radius.
Con Poor particle system
The Blender particle system can at times be a little limiting and finicky (and buggy) to get working. Even if it can get most straight forward jobs done, it is far from the most advanced system, and could benefit largely from advancements.
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.