What is the best game engine: is Construct right for you?
The GI.biz Academy's in-depth guide to Scirra's Construct, the perfect introduction to game development and programming, and a powerful tool in the classroom
For developers just starting in the industry, the task of choosing the best game engine can be daunting. Here, we'll try to address many of the issues concerning Scirra's Construct so you can see if it's the right game engine for your project.
You can read our other in-depth guides on all the major game engines on this page.
Construct is the perfect engine for ultra beginners, which makes it one of the preferred ecosystems to use in the classroom with students trying to grasp the basics of game development. But Construct can also be much more than that.
Created by Scirra, a company set up in London by brothers Ashley and Thomas Gullen in 2011, Construct is an HTML5 engine that targets non-programmers -- a bit like GameMaker in some ways. Before the Gullen brothers actually set up their company, Construct started as a student project, with the very first release of the engine dating back to 2007 under the name Construct Classic.
But unlike GameMaker, Construct is rooted in web games, as it was initially only available on PC. Support for iOS and Android started in 2011, while Mac and Linux were implemented in 2015.
Construct uses a visual scripting system, similar to Unreal's Blueprints or GameMaker's drag-and-drop, which makes it even more accessible to beginners. Construct's block-based system is all about layers (which work very similarly to layers on Photoshop, if that's something you're familiar with) and 'events', which you can use and chain to create logic in your game. Construct also supports JavaScript and you can even create projects that combine both blocks and JavaScript.
There are several options available for anyone wanting to use Construct, starting with its free version. The features available in the free version are quite limited though. It only lets you use a limited number of layers and events, and doesn't let you create multiplayer games or implement in-app purchases. You can see the difference between the free version and the Personal Edition on this page.
The individual licence costs $99 a year, is royalty-free, and lets users sell and monetise their games, unlike the free version.
Next up are the professional solutions, that comprise a Startup Licence at $149 a year (for studios that have revenue under $50,000 per year), a Business Licence at $399 (for companies in all industries but the gambling industry), and a Gambling Licence. You can read more about the professional licences on this page.
All the licences let developers publish their games on Kongregate, Newgrounds, itch.io, Steam, Windows Store, Xbox One and Facebook Instant Games, among others. Construct is very popular on Kongregate, where over 50% of the HTML5 games submitted on the platform are made in Construct, according to Scirra.
The latest iteration of the engine, Construct 3, launched in 2017 and is used by over 100,000 people worldwide each month. But Construct 2 is still quite popular in the community, too. That's the version indie developer Jay Tholen used to make 2019 hit Hypnospace Outlaw.
"The only major difference of note is that Construct 3 runs in-browser, which means you can work on your projects using a phone, tablet, laptop, and anything else with a fully functional browser," Tholen says. "[Construct 3] in general is more capable but the advantages and limitations listed still apply [to both versions]."
What are the advantages of Construct?
- Construct is great at making 2D PC games
Unsurprisingly, Construct excels at what it was initially meant to do: 2D games for PC, and that excellence now extends to Mac and mobile.
"Construct is basically focused on 2D games creation, but you can still create fake 3D or 2.5D games using some Z-elevation and other useful layout effects," Sleeping Panda Games founder Antoine Guédès says. "It supports multiple player inputs such as mouse, keyboard, gamepad and touch control, and gives a lot of useful features with engine-specific plugins."
John 'Fervir' Pantaleon, who developed Creature Keeper with Construct 2, points out that the engine is not limited by any genre and is great for pixel art.
"I've made a few platformers, an RTS game, a Warioware like game, and some top-down action games in a variety of game jams," he says. "It has nice options for making crisp pixel games where everything aligns nicely to the grid."
f- Construct requires no programming knowledge
Estelle Ashman is curriculum content developer at Ukie's Digital Schoolhouse, and a computer science teacher. Construct is her primary tool and there's a very good reason for that: it doesn't require users to know any programming.
"Having already had experience of using Unity, I fell in love with how quickly you can create a playable game in Construct with little to no programming," she says. "Students don't need to be able to code to create a game in Construct 3. They can create something that is playable while only using simple behaviours and then adding a single event, which makes it ideal for teaching younger students about event-driven programming. I have used the software with students from aged nine to 19, and it is the engine's ability to create something quickly and relatively simply that has always appealed to me."
"I fell in love with how quickly you can create a playable game in Construct with little to no programming"Estelle Ashman, Digital Schoolhouse
Tholen adds that Construct is a fantastic program for learning basic programming concepts and making smaller scale games with no programming knowledge.
"It's far easier than Unity or Unreal and only moderately simpler than GameMaker -- it's about on par with Clickteam Fusion," he says. "Both of us in the core development team had experience with Clickteam Fusion and we moved over to Construct because it's structurally very similar but offers various workflow advantages."
As a result, Construct should be particularly tempting for solo developers with very little experience. Which was exactly Pantaleon's case when he started,
"Not really needing to learn a coding language was pretty appealing to me," he says. "Also, a developer I had looked up to made a few prototypes in Construct, which was inspiring as they were a solo developer as well."
- Construct can be used as a pure prototyping tool
Pantaleon's experience mirrors how a lot of developers decided to join the Construct ecosystem. In addition to being an excellent tool for beginners, Construct is also a great engine for prototyping. Due to its ease of use, experienced developers will find it extremely fast to put prototypes together and start having a feel of what their game could be.
"Construct uses its own visual scripting system which makes it easy to create something quickly," Tholen says. "So it's especially useful for prototyping simple 2D games like platformers, beat-em-ups, or arcade shooters."
Ashman adds: "While Construct 3 might not produce your final product, it is a great option if you want to create a playable prototype or to build a portfolio of ideas."
- Construct is affordable -- especially for educators
Ashman cites Construct's free version as an undeniable advantage about the engine. It's also worth mentioning that its Education Licence is available for use in the classroom. With Construct 3 running in-browser, it particularly appeals to schools, as it doesn't require any installation.
Construct's Education Licence costs $39.99 per year for 25 seats. It's a reasonable rate and that fair approach to pricing applies to all Construct licences.
"Construct's price is, in my opinion, a good point," Guédès says. "I pay 89€ ($99) per year. It is a yearly fee, but it is still an affordable price for small developers and it's really worth it."
- Construct can be a bridge from no-programming to programming
If you're looking for an entry point into development, Construct is the perfect place to start. It allows users to get to grips with the basics of creating logic and can introduce them to programming, as they have the option to use a mix of blocks and/or JavaScript should they want to.
It's no wonder Ashman thought Construct 3 would be perfect for schools. It introduces students to all sorts of game development concepts and, once they're ready to make the jump, they can try some coding -- it's an ideal bridge, and that's exactly Guédès' experience with the engine.
"I started using Construct 2 back in October 2015," he says. "I was attending video game courses for a week and one of the teachers showcased the engine. I've been a self-taught designer since 2009 and know the basics [of programming]. Developing a game from scratch with a new language I didn't know was something I was afraid of.
"Construct 3 is a great option if you want to create a playable prototype or to build a portfolio of ideas"Estelle Ashman, Digital Schoolhouse
"Before knowing how to write code you need to learn what logic you need to create, and that's where visual coding helps a lot. You can also code directly [with Construct] so you can decide to use one type of programming -- visual coding or scripting -- or even use both whenever you want. That's really handy to make the switch [to coding] or to learn new things by trying them out."
And what Guédès experienced from the student's perspective, Ashman is able to explain from the teacher's point of view. Construct allows students to create something tangible in a couple of lessons, which is extremely valuable in building confidence. When they're ready, they can switch to other programming languages.
"If there's a lot of programming involved in activities with little reward, students can very quickly become disillusioned, especially when they are new to programming and are still learning what is possible," she says. "A lot of primary schools use Scratch, which is a visual programming language and it is great at what it does. However, it doesn't link well to object-oriented or event-driven programming languages and isn't very portable in terms of allowing students to play their games outside of the software.
"Construct 3 works very well as an introduction to event driven and object-oriented programming while also providing a wide range of export options."
- Construct is flexible
The option to use a mix of blocks and JavaScript is only one aspect of Construct's flexibility. The engine makes it very easy to go from one device to another, whether you're working on your game or playing it.
"Construct is based in JavaScript, which means it can run anywhere," Guédès says. "The engine can be run in your browser on any device. Your games can be exported to HTML5/JavaScript, but also as native applications that use a web view, such as for Mac, PC and Linux. You can also turn them into mobile applications, whatever the solution you decide to choose -- native or hybrid."
- Construct is stable and well looked after by Scirra
Construct is a reliable engine that is kept up to date on a regular basis by Scirra.
"It's very stable, and I'm not sure I've experienced any crashes in the software that weren't a result of me messing with weird custom extensions," Tholen says.
Guédès also appreciates Scirra's transparency about the engine and its updates: "Since Construct 3, Scirra is doing updates very frequently and keeps us to date on a weekly basis. They're very transparent with their community, and listen to us a lot. Scirra also puts a lot of efforts on improving the UI/UX of the engine, and to provide high-performance code."
Scirra is doing a good job beyond patches and updates as well, with official support from the developer being very qualitative.
"I faced a critical engine bug that got my game stuck, and unplayable," Guédès continues. "Someone reported the issue before I did and Scirra quickly got back to us. I switched back to a previous stable version (which you can always do), and an update with a few related fixes followed a few days later and solved the issue."
He points out that bugs can be reported on this page while the community can suggest ideas over here.
What are the disadvantages of Construct?
- Construct isn't suitable for 3D games
Tholen is quite clear when asked about the disadvantages of using Construct: "Don't use Construct if you want to make a 3D game."
"Don't use Construct if you plan on porting your game to consoles"Jay Tholen
If your project is in 3D, there's a wealth of tools out there that could suit your needs better. Unreal is at the top of the list for 3D projects, but it can also be too much engine for small developers. In which case, Unity may be a better fit, especially if you're working towards a mobile release.
A good compromise between the two if you have a bit of experience could also be CryEngine, especially if you're working on a first-person shooter. If you're experienced and coding is your thing, you may want to have a look at Monogame as well, which can pretty much handle anything if you know what you're doing.
- Construct doesn't facilitate console development
Construct is deeply rooted in PC development, and while it has an option to export your project so you can publish it on Xbox One, it's really not where the engine shines.
"[Don't use Construct] if you plan on porting your game to consoles," Tholen says. "Console support -- shaky Xbox exporter aside -- is very low priority for the developers, and PS4 and Switch are unsupported. We've had to bring on outside help to port [Hypnospace Outlaw] to those platforms."
It's worth noting this decision doesn't necessarily come from Scirra -- the Nintendo Switch doesn't support HTML5 and Javascript for instance.
- You can't export your Construct projects to .exe
Some features are still missing in Construct, including a way to export directly to .exe, which Ashman thinks would be a valuable addition.
"The Construct team is always updating the software so this may well be in the pipeline, but that means there is a second process that students will need to carry out if they are using Construct 3 for any courses that require an .exe file for moderation."
Typical reasons for wanting to create an .exe file are that it's more efficient from a file size point of view or just to protect your source code, as .exe files make it harder for people to reverse engineer your hard work. An .exe file is also typically faster.
- Construct is not suitable for big projects
One of the main downsides of Construct is that it's not meant for large projects. One developer said off the record that while Construct is a great engine for prototypes, it's really not made for big titles. Many users leave the ecosystem after their first game.
While that's not inherently a bad thing, it means that if you have an ambitious project, you probably should be looking at other engines. Construct may not be enough to support your game.
"There aren't a lot of big scale games released in Construct compared to other engines, and at times I have felt that maybe I wouldn't be able to make [my] game [with Construct] for that reason," Pantaleon says. "I didn't feel secure in a way."
A direct consequence of developers leaving Construct after their first game is that it's difficult to find experienced users -- something to keep in mind if you're aiming to hire staff to help you out on a Construct project.
Advice for new Construct users
- Try it out and have a look at what others are doing
The beauty of having an engine that you can use directly in your browser is that it considerably lowers the barrier to being able to try it out.
"Jump-in," says Guédès. "Go to editor.construct.net, open up an example or demo project, and have fun! The free version allows up to 25 events inside your project, which is already enough to see how it works.
"Apart from trying it, you may also want to have a look at what others are doing using Construct. There's a wealth of great examples on YouTube, Itch.io, GameJolt, and so on."
In addition, you can have a look at projects on this page of the official Construct website or scroll through its Twitter feed.
- Make the most of the Construct community and Scirra's online resources
A good place to start is to join the Construct community -- its members are likely to have the answers to your questions.
"The Construct community is one I really love. People are kind and helpful"Antoine Guédès, Sleeping Panda Games
"I've found the Construct community on Discord to be very helpful," Pantaleon says. "There are a lot of experts there who have answered basically all of the problems I wasn't able to solve myself."
Guédès adds: "You may also join the forum discussions. The Construct community is one I really love. People are kind and helpful. I remember struggling about a new feature for two days, then I decided to ask for help on the Discord server and five minutes later I had two answers from experienced engine users that gave me two different solutions that I could apply. One hour later, my new feature was done and [I was] ready for what's next."
Ashman points out that there's a lot of online resources that can be very helpful for beginners. You can find tutorials on this page and official documentation over there.
"Probably one of most useful resources that I have found are the example games," she says. "I frequently use them to help me out if I get stuck getting a particular mechanic to work, or I will give them to students as a starting point for their game. The [Scirra] team is also brilliant if you need help and email them directly."
- Make sure you aim for the right platforms
As we mention at length in all of our game engine guides, switching engine mid-development is never trivial. Before you settle for Construct, make sure it actually fits the platforms you're aiming for.
"It's a great program for beginners or people who are only interested in PC, Mac, Linux, or mobile games," Tholen says. "If you think there's a small chance you'd like to port to consoles, find something else.
- Have a learning spirit
While Construct is a beginners engine, you shouldn't go in thinking you won't learn. As we already touched upon, Construct is a great educational tool and that's how you should be looking at it: as an opportunity to learn about game development.
"Don't go into Construct expecting to not learn how code works," Pantaleon says. "You're definitely going to learn all the concepts of coding as you play with all the pieces. I think Construct is great if you want to dabble in all aspects of game development."
Our in-depth guides on all the major game engines can help you find the best technology for your game -- this page will be regularly updated to add new engines to the list. If you're eyeing the most popular game engines, you can jump to our Unity guide right away, or read more about Unreal Engine here.