When comparing Flixel vs ct.js, the Slant community recommends Flixel for most people. In the question“What are the best 2D game engines?” Flixel is ranked 17th while ct.js is ranked 46th. The most important reason people chose Flixel is:
Ports are available for Objective C, C# (XNA), HaXe and [Monkey X](https://github.com/devolonter/flixel-monkey).
Ranked in these QuestionsQuestion Ranking
Pro Many ports available
Ports are available for Objective C, C# (XNA), HaXe and Monkey X.
Pro Built-in pathfinding and following
Pathfinding just means figuring out how to (or if you can) get from A to B. FlxTilemap has a function FlxTilemap.findPath() which returns a FlxPath object, which is just a collection of "nodes", or FlxPoint objects.
Pro Camera system for split screen
Create effects like "split screen" views, or "picture in picture" style displays, or even mini-maps with FlxCamera. Each camera is an independent display object, with its own zoom, color tint, rotation, and scaling values.
Pro Record and play back replays
Replays are essentially a list of what keyboard keys were pressed, and what mouse inputs were given, during a specific time frame. Because Flixel is largely deterministic, you can use that information to recreate a gameplay session that someone else recorded, as long as you have the same SWF.
Pro Basic features provide a solid foundation
- Display thousands of moving objects
- Basic collisions between objects
- Group objects together for simplicity
- Easily generate and emit particles
- Create game levels using tilemaps
- Text display, save games, scrolling
- Mouse & keyboard input
- Math & color utilities
Pro Flixel Power Tools extend the functionality
Flixel Power Tools provide a set of classes and APIs that provide more functionality.
Pro Used to create Canabalt, game that started endless runner genre
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.
Con Development has stopped
Seems like development for Flixel has stopped. The last commit on all of the branches of it's Github repository are from 2011.
Con Poor performance on mobile
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 No built-in particle system
Con Slower than native games