Introduction
Hello, and welcome to the final installment in the ‘How to Think About Games’ series. All of the articles up to this point have focused on trying to dissect the philosophy, structure, and vocabulary a game engine expects you to use, ideally without comparison up until the end. This article will be no different. Today we’re talking about Construct.
Background on Construct
Construct considers itself an entry level game engine, tailored towards non-developers, to help them make their ideas reality. Although it is not as big in the market as the others, it still has a lot of appeal amongst people trying to learn game design, and some compelling games have been made with it.
- Construct supports 2D games specifically. Although you can do some trickery to make games that are kind of 3d, support seems to still be limited.
- There have been 3 versions of the Construct engine, but the most recent version is Construct 3, receiving support still. Construct 3 was released on December 4th, 2017.
- It’s particularly popular for making web-games, but users can pay for a professional subscription to publish for PC, or an enterprise one for some consoles.
- Although the user is able to insert some JavaScript code for more fine control, the main ‘programming’ is done with their ‘eventing’ system.
Now, with some context, let’s get on to how it thinks about games.
How to Think About Construct
Layouts
Layouts are the canvas you use to place down Objects. Layouts have various settings that can be adjusted, such as resolution, and the ability to use tile sets. All Layouts have an Event Sheet related to them, which determines how the scene runs, and how objects in the scene interact. Layouts represent the different ‘scenes’ in your game, so they can be menus, or levels, or just pieces of levels.
A screenshot of different layout settings in the Construct Editor.
Event Sheets
Event sheets are the primary core of functionality in Construct. With their visual language, you select which event you want the layout to wait for, and what happens when that event occurs. Events can also have sub-events, to check for different things. Some events can be inverted, so you can check that something ISN’T happening, rather than something that is, although this only applies to certain events.There can be System events, that can wait for things like key-presses, or just that a layout has loaded in, but there’s also more game-ish events, like what to do in the case of collision.
The Anatomy of a Construct Event, sourced from the Construct Manual. The Event Block lets you set conditions that the event is waiting for. In this case, when the layout loads in. Then, you add Actions to set what to do in response. In this case, they’re displaying Text, but you could do a lot more, like change variables, and move or destroy objects.
Object Types
Object Types are what you create to populate your layouts, and create things that can interact with your events. As the name implies, you’re defining a type of object, but not the actual objects that are in the scene. Objects can be used to represent almost anything, they’re something visual that can interact with the event-sheet. When creating a new object, you can create it from a base, or from scratch. You can import in plugins to create more easy bases for you to quickly build out events.
Not that it will generally be relevant, but every Layout does have a System Object that ensures that Construct is doing what it needs to do. It’s unlikely that a user will need to create an object to handle game-logic otherwise, as that’s mostly handled by the Event Sheet.
A screenshot of a view of all the Object Instances in a layout. You can organize them into folders for easier organization. Certain instances can be next if they’re related.
Conclusion
I think this engine is interesting and has a lot of potential. Its structure is similar to some of the other higher profile game engines covered in this series, which could be something valuable to learn. It seems very good for smaller games or prototypes, but its hard to comment on its efficacy for making larger games. There are simply not that many made with them, although not 0. But even then, most of the ones I could find were made in Construct 2, not 3. Still, Iconoclasts, Small Saga, and Cyber Shadow are very ambitious games, some of them gaining a cult following. I think if you want to make a small 2D game, it seems perfect for that. The structure will not get in the way, and will transfer pretty well to other game engines.
Thanks for reading my little series! I had some fun putting it together feel like I learned a lot, I hope you got as much out of it as I have. Happy Game Development!
Sources
- A Beginner's Guide to Construct 3 (Part 2)
- Construct Wikipedia
- Construct 3 Project Structure - Very helpful article in my research, practically was my biggest breakthrough. I recommend using this article as a starting point if you want to look more into Construct.
- Construct Website
- Object Types, Construct Manual
- How Events Work, Construct Manual
- The Event Sheet View, Construct Manual
- Layouts, Construct Manual
- Create New Object Interface, Construct Manual



Top comments (0)