When comparing Construct 2 vs Three.js, the Slant community recommends Three.js for most people. In the question“What are the best JavaScript game engines?” Three.js is ranked 5th while Construct 2 is ranked 13th. The most important reason people chose Three.js is:
**Effects**: Anaglyph, cross-eyed and parallax barrier. **Scenes**: add and remove objects at run-time; fog **Cameras**: perspective and orthographic; controllers: trackball, FPS, path and more **Animation**: armatures, forward kinematics, inverse kinematics, morph and keyframe **Lights**: ambient, direction, point and spot lights; shadows: cast and receive **Materials**: Lambert, Phong, Standard, smooth shading, textures, PBR and more **Shaders**: access to full OpenGL Shading Language (GLSL) capabilities: lens flare, depth pass and extensive post-processing library **Objects**: meshes, particles, sprites, lines, ribbons, bones and more - all with Level of detail **Geometry**: plane, cube, sphere, torus, 3D text and more; modifiers: lathe, extrude and tube **Data loaders**: binary, image, JSON and scene **Utilities**: full set of time and 3D math functions including frustum, matrix, quaternion, UVs and more **Export and import**: utilities to create Three.js-compatible JSON files from within: Blender, openCTM, FBX, Max, and OBJ **Support**: API documentation, public forum **Examples**: Over 150 files of coding examples plus fonts, models, textures, sounds and other support files
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Quick to pick up
Construct 2 is fast to pick up, get into, and belt out some pretty impressive games in a relatively small amount of time. Seems to be built for people who don't have a lot of programming skills, but want to make great games.
Pro Simplicity - it is made for everybody to use and love
Construct 2 is a tool for not just programmers, but artists as well. You can create a game with only visual coding, which is easy to learn and doesn't require any previous programming knowledge. You can focus on making your game better instead of just coding. It has some limitations of course, but it's definitely worth it.
Pro Little programming knowledge needed
Using Construct 2 requires very little programming knowledge because it's all drag'n'drop, intuitive, visual and event-driven instead of code-only.
Pro Built-in physics system
Thanks to the great power of Erin Catto's Box2D, Construct 2 is able to make physics games which are similar to Cut the Rope and Angry Birds.
Pro Cordova support
You can use Cordova plugins from the community
Pro In-depth event system
Construct 2's event system allows for deep, detailed control over all aspects of your game. You aren't limited to just a few options. Rather, Scirra has thought of nearly everything in advance with access to any desired parameter of any object all paired with simple and intuitive ways to interact with them.
Your events can be organized with event sheets (that can be included in other sheets), event groups, sub-events, loops, and functions that make the coding portion of your game as efficient as possible. You don't need any programming knowledge, but if you do have some, you'll feel right at home with the freedom C2 offers.
Pro Supportive community
Construct 2 has a supportive community. Their forums have tens of thousands of topics with ten times more posts. The core maintainers are very helpful and friendly and often reply to questions or issues that may be discussed in the forums.
Pro Easy to create particles and animations
With spriter file implementation and internal animation editor Construct 2 provides an easy way of creating particles and animations.
Pro Free (feature limited) version available
A free version of Construct 2 is available. It's not time restricted in any way, but is feature limited.
Pro Active plugin ecosystem
Construct 2 has an active plugin ecosystem providing behaviors and features that smooth the workflow for certain game types.
Pro Export control for all major platforms
All platform exporters are part of the subscription. There are no additional fees and new exporters are added quickly and maintained well. Currently, 15 platforms are supported, including HMTL 5, iOS, Android, Windows, Chrome Store, PhoneGap and Scirra.
Pro Built in behaviors make development workflows very efficient
Behaviors add pre-packaged functionality to object types.
Pro Very fast preview
In Construct 2 you can preview your games instantly at any time. There’s no need to wait for compiling or other time consuming processes.
Pro Available on Steam
You can also download Construct 2 on Steam.
Pro One-off cost
It's a one off cost for Construct 2 and all updates to the Construct 2 editor are free for life.
Pro Supports camera, microphone, speech recognition and synthesis
Can use cameras in PCs and on mobiles. You can use the synthesis that can recognize your speech or you can write something and it can talk for you.
Pro Interface similar to that of MS office
This engine provides an intuitive workflow for people that are used to the Windows environment.
Pro Runs great on mobile
Performs well on most devices and browsers.
Pro Rapid development
After using a few quick tutorials you can quickly catch on to the event system this program uses and quickly be able to build any type of 2D game you want. You can download a few sprites from google and put together a working level of Mega Man with character movement / animation / enemies / collision detection / scoring / Tile map and AI within about 2 hours.
The built in behaviors are incredible. It's amazing how Construct can simplify the most redundant tasks in game development.
Pro Allow server-less multiplayer game creation
Construct 2 uses WebRTC technology to support it's multiplayer functionality. The nature of the technology allows peer-to-peer connection which does not require game developer to create server side architecture to allow communication between games.
Pro Supportive devs
The developers are always available to help.
Pro Built-in animation/image editor
Basic sprites and tiles of 2D games can be made with engine's built-in tools.
Pro Built-in pathfinding
Has built-in solutions for pathfinding.
Pro Built-in tilemap object
The tilemap object allows tile-based games to be designed more easily. The object's tilemap can also be edited in the layout view using the tilemap bar.
Pro Feature rich
Effects: Anaglyph, cross-eyed and parallax barrier.
Scenes: add and remove objects at run-time; fog
Cameras: perspective and orthographic; controllers: trackball, FPS, path and more
Animation: armatures, forward kinematics, inverse kinematics, morph and keyframe
Lights: ambient, direction, point and spot lights; shadows: cast and receive
Materials: Lambert, Phong, Standard, smooth shading, textures, PBR and more
Shaders: access to full OpenGL Shading Language (GLSL) capabilities: lens flare, depth pass and extensive post-processing library
Objects: meshes, particles, sprites, lines, ribbons, bones and more - all with Level of detail
Geometry: plane, cube, sphere, torus, 3D text and more; modifiers: lathe, extrude and tube
Data loaders: binary, image, JSON and scene
Utilities: full set of time and 3D math functions including frustum, matrix, quaternion, UVs and more
Export and import: utilities to create Three.js-compatible JSON files from within: Blender, openCTM, FBX, Max, and OBJ
Support: API documentation, public forum
Examples: Over 150 files of coding examples plus fonts, models, textures, sounds and other support files
Pro Well documented
The documentation is detailed, providing clear explanations and code samples of the various features. There are also hundreds of examples available.
Pro Helpful and friendly community
Thanks to the recently introduced forum, it is easy to find a community of helpful developers.
Pro Support for physically based rendering
With the introduction of the new MeshStandardMaterial, three.js support physically based rendering (PBR) out of the box allowing for real life quality material and lighting.
Pro Support for most industry standard file formats
Three.js has importers for most of the industry standard files format (obj, mtl, fbx, 3ds, gltf, collada, babylon, playcanvas, stl, vrml, draco and many more), making it easy to author assets in your favourite modelling software and import them for use them in three.js.
Pro Actively developed
Three.js has great project health, with activity on Github daily for bug fixes and new features.
Pro Fallback canvas rendering
Three.js offers a canvas renderer as a fallback when WebGL is not available.
Pro Support for special effects and postprocessing
Three.js support many special effects and post-processing filters including particles, lensflare, sprites, real time reflection and refraction and even area based lighting.
Pro Hundreds of officially maintained plugins, extensions, control systems, importers, exporters and special effects
The core of the three.js system is kept to a minimum to reduce file size, however there are also hundreds of extensions maintained in the offical repo on github, along with many free textures, fonts and models. You can find them all here.
Pro Plenty of tutorials and examples
Three.js official documentation provides plenty of well-written examples with a wide variety of tutorials written by the community available that you can find by doing a google search.
Cons
Con Poor mobile performance
Construct 2 is focused on Javascript. Javascript isn't as fast as native code, which results in poor performance on mobile.
Con Free version is severely limited
Although a free version of the engine is available, it lacks features that are essential to creating a high quality product.
Con The editor is Windows only
Although Construct 2 is able to export projects to Windows, OS X and Linux, the program itself currently only runs on Windows.
Con HTML5 is very dependent on browser performance
Theoretically all browsers should run HTML5 pretty much the same way, but thats not always the case.
Something that worked fine on Chrome, for instance, might malfunction on Firefox (or vice versa). And there's nothing the devs of Construct 2 can really do about it, but to hope next Firefox update might fix it. Internet Explorer is not even recommended.
Add to that the fact that exporting to mobile or desktops rely on these sort of stripped down versions of web browsers (Node webkit, Crosswalk, Ejecta) that you pack with your game, and you can have a real headache if you're trying to make your game work properly through multiple platforms.
Con Does not export to native mobile code
Construct 2 builds to HTML 5 only, which can cause performance issues on mobile devices depending on the HTML5 engine that the OS is using since that will be the biggest bottleneck. Even though it's not really the engine's fault, it still is at a disadvantage compared to native game engines.
Con Discontinued as of July 2021, in favor of Construct 3
Construct 2 licenses cannot be bought anymore since July 2020, and support has ended on July 1st 2021 with the release of the final r280 version (see here). Existing customers can still use the game engine, but it will no longer be updated.
Con Clickteam Fusion Clone
This is a copy of the Clickteam softwares
Con Dependency on 3rd parties for all exports
Unless you are creating a game strictly for browser/HTML5 usage, exporting to desktop or mobile is risky, as Scirra have no control over your final export quality. Since desktop uses NodeWebkit and mobile is Crosswalk, Phonegap or CocoonJS there is no guarantee that your final export performance and quality will be up to scratch for pro level 2d games. These 3rd party "browser wrappers" are very prone to breaking and introducing lag and bugs that can't be controlled from Scirra's side.
Con HTML5 Only is extremely limiting
If the software could export natively to mobile devices and PC/Mac/Linux it would be extremely powerful. The developer's choice of sticking to only HTML5 has created a bottleneck for anyone wanting to develop with this software.
Con Tilemap object could be better
C2 requires that there's a tilemap objects for each tilemap layer meaning each tilemap object has to be updated when modifying any layer. This could be simplified by adding layer support for tilemap objects.
Con Buggy
Experience regular crashes and inexplicable project file corruption.
Con Unreliable access to online resources
Unreliable access to online resources such as online tutorials and forums, plus extremely outdated offline manual.
Con Lack of versioning system means that the API changes frequently
Three.js releases a new revision about once a month, and the API can change at any time. This means that a lot of third party help found online is out of date.
Con Weak visual tools
Three.js has its own editor but it has been weakly developed. It does not support a lot of engine features.