PlayCanvas vs ct.js
When comparing PlayCanvas vs ct.js, the Slant community recommends ct.js for most people. In the question“What are the best 2D game engines?” ct.js is ranked 55th while PlayCanvas is ranked 65th. 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 Real-time collaborative online editor tool
PlayCanvas has an online editor that lets you build scenes and work with other people in your team in real-time. This is all done through the web browser without having to install any additional software.
Pro Powerful assets pipeline
Assets and content delivery is very different on a web platform comparing to native. So PlayCanvas challenges best practices to allow developers decide how their content is delivered and in what form.
Async Assets download allows developers to load content as the app goes, instead of asking to download all assets in advance risking users to simply navigate away while staring at loading screens.
Formats for 3D models and textures support covers all the popular tools. And the workflow is as simple as dragging and dropping your files right into the Assets Panel. The cloud will do the rest of the hard work optimizing and converting your files into runtime-friendly and compressed data.
Pro Rendering engine runs on the browser
Has an advanced WebGL renderer that runs in the browser.
Pro Avoids having to download lots of textures for lightmaps
Lightmaps are an efficient way to deliver lighting to your scenes for a long time. But they come with the cost of large textures. PlayCanvas offers a unique solution for a web platform, it renders lightmaps when an app is loading in runtime.
This is faster than downloading MBs of textures. And it's much more convenient: simply switch your light sources to bake, and static models to be lightmapped, and the engine will do the rest.
Pro Friendly and active community
PlayCanvas has Feed as homepage for registered users, listing Dev Logs of other developers. This allows to socialize with other developers like yourself in a twitter-like environment.
More to that, there is also an active forum, where developers help each other to solve their challenges.
Developers of PlayCanvas itself are always looking forward to chat and help the community with any problems that may arise.
Pro Integrated physics engine
PlayCanvas lets users integrate physics in their game rather easily, using the powerful Bullet Physics Engine (ammo.js). Should also be noted that the physics engine is delivered as an optional library, so by default being disabled it does not add any extra download size to your apps.
Pro Has a free tier
Engine is free for projects under 200MB and with no more than 2 people on a team. The free tier has no engine restrictions.
Tools are totally free too. There are no special limiting features behind any paywalls, and free users have all the features as paid users.
There are no royalties associated with publishing your apps and games - you've made them, you own them.
It is free to publish to playcanvas.com as well, just by one click in Editor.
Pro Cross-platform support
PlayCanvas lets you build games that run in mobile, desktop browsers, and native mobile apps. PlayCanvas can even make games that can run inside mobile social media and instant messenger clients like Twitter and WhatsApp.
Pro Small app size
The engine itself weighs just under 150Kb, and it's always challenged to stay small. There is no extra weight that has to be carried with your app, just your assets and scripts in a runtime-friendly compressed form.
This allows users to engage with your content in matter of seconds, and even just under a second on a good connection.
Pro Open source
PlayCanvas is fully open source and is under active development.
Pro Very easy to use
Pro Loads extremely fast
Pro Has hot code reloading
Real-time link between your launched app and the editor allows the developer to preview and play with their scene without needing to refresh the game after every change in the code to see the updated result.
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 Private projects are only available for premium users
The free tier does not support any private projects. Instead, all the code and assets will be hosted openly. While not a problem for open source games and for developers who intend to make an open source game, it can be a deal-breaker for teams who want to keep their code and assets private.
Con No collision offset
Con Not many tutorials
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.