When comparing Oxygine vs ct.js, the Slant community recommends Oxygine for most people. In the question“What are the best 2D game engines?” Oxygine is ranked 18th while ct.js is ranked 55th. The most important reason people chose Oxygine is:
Most interesting is ability to build C++ Oxygine application for Web via Emscripten. So you write C++ code and it will compile it to HTML5/JS.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Games can be built as HTML5 applications
Most interesting is ability to build C++ Oxygine application for Web via Emscripten. So you write C++ code and it will compile it to HTML5/JS.
Pro Functionality can be extended with a bunch of available extenions
All of them available publicly at github.
- oxygine-movie for playing Theora movies with alpha channel
- oxygine-sound player for ogg sound/music with streaming
- oxygine-freetype library
- oxygine-billing for in-app-purchases on Android/iOS
- oxygine-spine for playing Spine animations
- oxygine-magicparticles for playing particles made with MagicParticles
Pro Will be familiar to users of ActionScript3/Flash API
If you are familiar with ActionScript3/Flash API, then you will find it easy to begin working in Oxygine. Oxygine is much like Flash in C++, as its Event Handling model is very close to that of ActionScript 3 and SceneGraph.
Pro Easy to use C++ API with optional C++11 features
Oxygine is written in C++. It provides easy to use API, which is designed with "do more with less code" philosophy. It uses a managed scenegraph system that takes care of rendering and updates, and provides ability to extend with custom rendering and updates.
Pro Free, open source and cross-platform
Oxygine is a free framework that works on OS X, Windows, Linux, iOS, Android, HTML5. It's licensed under MIT with source code available on GitHub.
Pro Robust
It's very rare to experience bugs with Oxygine.
Pro Allows playing movies with alpha channel
Using oxygine-movie extension for Oxygine you could play in your game any videos encoded with Theora codec.
You movie could have alpha channel and used as simple sprite instead of classic spreadsheet animations.
Pro Allows for flexible contol over draw processes
Pro Fast
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 Inactive
The project does not seem to be active: there has been no new commit since mid-2019, the Twitter feed for the engine stopped posting news in 2018, and the forum is offline as of May 2021.
Con Little community support
Oxygine is a young framework. It was first released in 2013 and has yet to gather a large community. As of February 2016, the forum had just 123 members.
Con Not many tutorials available
There are not many tutorials available that teach developers on how to make a game with Oxygine from scratch. Because of this, it may be harder to pick it up or to start learning game development by using this engine.
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.
