Construct 2 is an HTML5 game making tool that doesn't require any programming knowledge. You just drag and drop items around, add behaviors to them, and make them come alive with "events".
In this review I will see what Construct 2 is capable of, from my perspective as a Flash game developer. Read the review to see whether or not this tool will serve the purpose of getting my games on more platforms!
When you first open the app, it shows you a nice "Hello!" popup asking if you want to read the tutorials, browse examples or buy a license. I chose not to do any of the above, because I wanted to see how intuitive Construct 2 would be for me.
Construct 2 has an interface very similar to Microsoft's Office products. This makes it easy for people who are used to the Office products - but not for me, a fan of the old drop-down menus.
I started a new project by clicking the "Create new project" text in the start page, and after choosing whether I wanted to keep the project in a single file or in a folder, I was led straight to a blank screen, ready to work.
At that stage I didn't know much about the tool, so I started by changing the Project Settings on the "Properties" tab on the left of the screen. After doing that, I started dragging a few images from my Windows folders to Construct 2, and it automatically recognized them and imported them into the project. Within minutes I managed to set up a very simple level for a platformer game, but at that moment the objects were only images in the screen.
Whenever I clicked an image in the screen (which is called an Object inside Construct 2), the "Properties" tab changed with the options I could change for that object. That's how I found the "Behaviors" option and clicked it. After that a popup appeared so I could see the current behaviors on my object: none. I clicked the green plus image and it gave me a big popup to choose which behavior I wanted to add:
I could see the "Platform", "Jump-thru" and "Solid" behaviors, so that was enough for me to start adding behaviors to my objects. Once I finished adding them, I clicked the green arrow in the top of the screen, "Run layout". Within minutes I already had a game with simple platformer mechanics in it! Impressive.
Now I wanted to add an enemy to my platformer game, so I dragged in its image and tried to add a proper behavior to it. There wasn't any behavior that would be obvious for an enemy, so I was a bit lost. I right-clicked the object and found the "Edit Event Sheet" option. So I clicked it and tried adding an event, but nothing I tried would make the enemy work. The events don't have a good description, which makes them hard to use. I could do nothing but try to get help online (even the manual is online).
After a couple hours of reading, I wanted to start a new project. Turns out that everything I did with the enemy image was "wrong". There were much simpler solutions to what I wanted to do and I learned so many other things that I just wanted to start a new project and apply everything I learned. And so I did.
My first experience with Construct 2 taught me that the tool is really great - it really helps you to make games easily - but some things are very complex at the moment, if you try to dive right in like I did. There isn't something that will walk you through the application once you start your first project and many things aren't descriptive enough. I wish that the initial screen either forced me to go read the tutorials online or provided me with a built-in walkthrough tutorial.
The First Game
Turns out that once you read some of their guides and tutorials, everything is very easy (and if you're wondering which tutorials I read, they're linked at the bottom of this review). I found myself creating many layouts and event sheets, and quickly adding objects to the screen as if I was using the good old Flash IDE. However, I realized that Construct 2 doesn't have quick-align shortcuts as Flash does, and that makes it extremely hard and boring to align objects in the screen the way I want. Even using their built-in "Snap to grid" option didn't help me much, as my objects often had different sizes and proportions from each other.
Animations are really easy to do. The tool allows me to import either many images which will be transformed into frames, or import a spritesheet that will be cropped to make frames. The only things I missed in it were the ability to add more than one image to the same frame, and an easy to use alignment system.
Within an hour, I already had a very simple memory game in my screen. I only had to add the events that would control the game mechanics. And that was initially a big problem. Coming from a programming background, having to visually create the mechanics with events and a limited set of conditions was very hard. I felt I wasn't free to just go on and "code" anything I wanted in the game, and soon became upset with the event system. It was only after reading (yet another) tutorial on their site that I changed my mind.
I found myself playing for two hours adding and removing events, changing conditions and actions. As soon as I understood how Construct 2's event system worked, it was a really fun challenge to "program" the events to do what I wanted, since I had only a set of limited conditions and actions to use. It was both challenging and relaxing to be able to visually organize your game and see it evolving without writing a single line of code!
The events for my memory game
After 3 hours of learning and applying this new knowledge in the tool, I had finished my very first game with Construct 2. My conclusion? Construct 2 is a very powerful tool once you learn how to use it, otherwise you'll feel like a complete fool in front of it. I wish it was easier to use with more descriptive options, but after three hours I felt as if I was already a pro with the tool, because it was so easy to add, change and remove things!
Construct 2 is a very interesting tool. For people who are already game developers, I found it can be a fun experience and it can teach you a few things about making things simpler, but it isn't a tool that I would use in my routine. Due to HTML5's still experimental nature, you'll find that some features that your game may require won't work properly across all devices. One example is audio: this simple memory game that I created uses only two sounds - a background music and a card flip effect - and yet I noticed differences between Firefox, Chrome and Android's browser (which just doesn't play audio).
When it comes to using Construct 2 to help me expand my game to another platform, that's something you may want to think about first. It's very easy to just import all the images in there and set up everything, but the problem comes with events: you'll spend a lot of time organizing events to make them work the same way as your game in Flash (if that's the platform you first built your game in).
However, Construct 2 can have a very interesting use for game developers: rapid prototyping and testing whether an idea is fun or not. Within minutes or hours you can just create a level or a small shooter game using behaviors and let people play it, giving feedback as to whether the prototype is fun or not.
For people who want to get into making games but don't know or have trouble with programming, Construct 2 is the perfect tool. You can quickly learn the event system and start making a game. Construct 2 can export your game to work within Kongregate and on mobile devices. It's the perfect opportunity to make games and share with friends!
Here is a quick list of pros and cons, based on my experience:
- You can make certain types of games, like platformers and shooters, within minutes
- The behavior system is very intuitive and easy to use
- You can make custom plugins for the tool, extending its abilities
- Once you learn how to use the event system, you feel like a pro using the tool
- Allows rapid prototyping
- Isn't descriptive enough
- You WILL have to read many tutorials and guides to properly use the tool
- Lacks many features for visually positioning and changing elements in the screen, such as quick aligning
- Exports only as an HTML5 game
For people who are wondering whether or not the "Standard" version of the product is worth it: looking at the comparison table, the only drawbacks of the free version are the limited number of events (you will need many of them for a "proper" game) and the inability to offer your games as commercial products.
The free version's limit on the number of layers you can have is arguably not a problem: I would easily manage to do everything in three layers; a fourth one would just make things easier. I don't think you would need more than that, unless you are creating something really big. My opinion: if you're just looking to make games for fun, the free version is more than enough. If you want to sell your games or get some money with them, the standard version is the way to go.
Below is a quick list of the tutorials and guides that helped me a lot when learning the tool:
- Beginner's guide to Construct 2 - You won't do a thing within Construct 2 without this
- Adding sound - a beginner's guide - For people who want to use sounds in the game
- Animation Control - Event Based - Really helpful guide for animations and controlling them from a single place in the event sheet
- Building a platform game - a beginner's guide - Useful for learning the basics of a platformer game within Construct 2
- How to series - 'In Game Shop' - Perfect for learning how to organize your variables and event sheets
- About Picking - For understanding how the events pick objects
- Randomized an array for a deck of cards - For learning to use arrays within Construct 2
And you can see the game I created within three hours here:
The source files are available here.