I recently made a game called “Kuatia”, which was then reviewed here. I also wrote about it all on a feature I wrote about the software I used, called “Construct 2” and made by Scirra. I loved the engine so much that I got in touch with the makers to show them what I’d done. They have a new version of the game engine out now, and they agreed to answer some of the questions I had regarding Construct 3, the future of JS as a game engine language, and pricing.
Infinite Frontiers: For those unfamiliar with Scirra, what do you do, and how did you start doing it? Who is “Scirra” and what do they do?
Scirra: We make Construct, game development software that allows anyone to make a game! Scirra has been going in one form or another since around 2007. We started informally as an open-source project with Construct Classic working in our spare time, and in around 2011 we registered as an official company and started Construct 2. This year we’ve just released Construct 3!
IF: You’ve been making different game engines for a few years now. What is the Construct line of engines?
S: The aim of Construct, ever since Construct Classic, has been to allow anyone to make games, even if you have no technical experience. It uses a simple drag-and-drop system of “events” so you don’t have to learn a programming language. Personally I’m keen to see more people creating with technology, rather than just consuming. We’re also keen to make amazing technology more accessible – for example using beautiful WebGL shader effects just by clicking “Add effect”. The technical details of that are formidable, but as a user you just get the cool results!
IF: What is Construct 3 and how is it different from its predecessors?
Construct 3 is the next major release in the Construct line. The big change is it runs in the browser. (Currently we only support Chrome, but we’re keen to expand that in future.) So you can simply visit editor.construct.net and start using Construct 3. There’s nothing to download, no installers, no configuration, you just visit and go. It also works on Windows, Mac, Linux, Chrome OS and even Android. There’s still a ton of new stuff over Construct 2 – a full list is at https://www.construct.net/gb/make-games/new-features – but some of the headline features are the new mobile app build service, new data editors, Remote Preview, Find All References, live in-editor previews of things like particle effects, improved web fonts support, and onion skinning. It’s also backwards-compatible with Construct 2 projects.
IF: According to the feedback you’ve received, why do people choose Construct as opposed to other engines, like GameMaker and Unity?
S: The main appeal of Construct has always been that you don’t need to program. For example if you’re an artist, you don’t need to find a coder to build the game, you can do it yourself! Construct is by far the most sophisticated non-programming tool available today. Some tools provide both programming and a drag-and-drop system, but it usually means the drag-and-drop is neglected and you basically have to code to get anything serious done. Construct lets you go all the way without coding. People also often cite the simplicity of Construct’s interface as a strength. We have put a lot of thought in to reducing it to the simplest, most minimal UI, while still making it easy to access a wide range of features. While tools like Unity can do a great deal, the complexity of the software can make it a very steep learning curve for beginners. We want to make building a game as easy as designing a presentation.
IF: One of the biggest changes you’ve made with Construct 3 is that there is now a browser-based editor. What made you go with a cloud-based solution? How difficult was it to implement?
It’s interesting how our migration to web technology has happened. Construct Classic had a native C++ editor and runtime. Construct 2 kept a native editor but made the runtime HTML5. And in Construct 3 we’ve made the editor HTML5 too, so we use web technology for the entire product now. In my view, the strengths of browser-based software are too good to ignore. You can use it anywhere, even if you don’t have permission to install anything. We run across five platforms with one codebase. It works on mobile and can be added to the desktop or home screen where it works just like a native app, including working offline.
IF: Another big change, the biggie for many, is that you’ve gone from a single-payment plan to a subscription-based revenue plan. What prompted the change? How has the general audience received this change?
S: We knew this would be controversial, and it was. The main reason we did it was to ensure the business was sustainable. Once you move software to the browser and host additional on-going services like the mobile app build service, it means there’s more of an on-going cost to maintaining the product. If people paid once for that, we potentially stand to make a loss in the long-term. Additionally the product has had such a long development cycle that it makes it difficult to grow the company and keep improving the product. For example we have many Construct 2 users who paid once around 2012, and are still getting new features and maintenance five years later at no extra cost. It’s hard to hire developers to build the exciting new features everyone wants with that approach. Given for much of this time we specifically advertised that you only had to pay once, this was always going to be a tough pill to swallow. However I’m sure it’s the right thing for the business, and ultimately for our customers too (since we’re not much help to them if we go out of business!). Despite a lot of nay-saying, we’ve had a healthy rate of subscriptions since we launched, so it’s looking positive.
IF: Construct 3’s engine is still HTML5 based, correct? Could you give us a little information about the pros and cons of using this structure versus creating an engine like Unity, GameMaker or UE?
IF: During my time with Construct 2, I found the community to be a key aspect of why I liked it so much, and an asset without which I could not have finished my game. How do you encourage the community to be friendly, supportive? Do you have showcases for Construct games?
We provide plenty of space for user participation, on the forums, social media, with user-submitted tutorials, our own Arcade, and so on. We want to make our website a fun as well as useful place to hang out. On top of that though you need good moderation to ensure spammers, trolls and toxic users are removed. If that’s left unattended, it can quickly sour the mood. Moderation is tricky and you have to strike a very fine balance. Luckily we have a great team of moderators to help.
IF: What do think the future holds for HTML5/JS game engines? Currently, only the Xbox One has support for games based on this language and there has been some talk about lack of support even from Microsoft for devs using JS. What are the advantages and disadvantages of the engine from a commercial perspective?
S: We’re currently planning our next-generation engine for Construct 3, which you can read more about here: https://www.scirra.com/blog/204/the-future-of-the-construct-3-runtime
The web platform is always advancing, and even recently gained some great new capabilities, like WebGL 2 (which is equivalent to OpenGL ES 3.0). There’s some really interesting technology coming up too, such as the capability to host the entire runtime in a web worker. This and other new technologies should help boost performance even further, and enable some great new features for users too. The future looks very bright! I think the web platform is so compelling eventually everyone will come round to it. Microsoft are already doing a lot to support HTML5 games on Xbox One, even being able to integrate Xbox Live services, which is something we’re currently working on. I’m hopeful Sony will recognise the benefits too, and that we might see an improved NWF (Nintendo Web Framework) for the Switch.
IF: On the same note, a lot of the issues people seem to have when using Construct seem to come when implementing third party services like Google Play Games and AdMob. How are you addressing these concerns in Construct 3?
We’re building a new set of plugins to use services like ads and IAP, and we’ll be integrating them with Construct 3’s mobile app build service too. So this should become a lot easier. One of the reasons it can be tough is you often end up having to configure the service using a dashboard designed for developers – it’s a bit of an awkward match for a tool aimed at non-programmers.
IF: On the other hand, Construct 2 was unique for me in that it had templates which were excellent showcases for the engine and what it could do, and more importantly, how it worked. Will Construct 3 implement new templates? How important do you think templates are for new developers?
S: Construct 3 has all the same templates Construct 2 has, and we’ve thrown in some new ones along the way too. I think we have just over 100 examples that ship with Construct 3 now – hopefully that’s enough to browse through and learn about the product! We’ve still added a couple of extra ones in C3, like the new instant hit bullet and instant hit laser examples.
IF: Finally, what other awesome new features can we expect from Construct 3? I’ve grilled you enough, so please feel free to give your elevator pitch and sell people on the engine!
S: We have a lot to do! We have a new site to track user suggestions and the most popular ones are probably the ones we’ll focus on. You can find them here: https://construct3.ideas.aha.io/?sort=popular
As I mentioned before there’s a whole new runtime in the works, which should be significantly faster, use less memory, and enable a whole new set of features too. We’re also keen to get support for the Construct 3 editor in other browsers like Firefox, Edge and Safari working, which is something we regularly review.
Finally, Construct 3 is out today, and it’s a great product! It’s not vaporware, you use it right now, and we have big plans. I think Construct has a bright future.