Impressions of Stencyl and Construct 2

Over the past 6 months I’ve started building a handful of games in my spare time and I recently decided to replace Multimedia Fusion 2 with a different game creation tool.

Back when I was looking at Multimedia Fusion 2, I had also played around with Game Maker Studio. And while GM is probably the most powerful, it also requires the most work because you have write all the script logic for your game.

So with MMF2 and GM off the table, it really came down to Stencyl and Construct 2. I’m still debating which one I want to go with (leaning towards C2) but here’s my impressions of the two so far.

Stencyl

One of my gripes with MMF2 was that I wasn’t able to fully utilize the product until I paid for it. This was a definite roadblock for me as I wanted to be able to really dig into development but give myself sometime to save up some money for it. This is one of the features that drew me to Stencyl. You basically get access to all the features and when you’re ready to publish your game (or want to use Stencyl 3.0) you just pay an annual subscription fee (which will allow you to publish your games for the year).

This pricing model is also a con if you’re publishing every year (options range from $79/yr – $199/yr). But at least you can stay up-to-date on Stencyl without having to pay for upgrades or expensive export modules (GM and MMF2 do this).

Although I’m not a Mac user, one of the prominent features among some of the game creation tools is multi-platform support. Stencyl does a great job on this forefront as they support Windows, Mac, and Linux. It’s nice to know that you have an option to create on whatever platform you feel comfortable working with.

The publishing options for Stencyl are pretty good. By default Stencyl generates Flash-based games, so you’ll tend to see a lot of their games show up in places like Newgrounds and Kongregate. With Stencyl 2.x, games can also be published to iOS and Desktop. However, now with the inevitable demise of Flash in the near future you’re probably wondering about the viability of Stencyl. Good news though, they’ve already got that covered. In Stencyl 3.0 they’ve actually redesigned the game engine so that it’s not specific to certain technologies and also now support Android and HTML5 publishing. The developers of Stencyl recognize that technology is constantly shifting and they seem to do an excellent job of keeping up and giving users a roadmap of future functionality.

So now let’s finally get down to using Stencyl. I’ll admit the first few times I dove into Stencyl it was confusing to me. I think this mainly stemmed from the fact that I’m used to working with other tools that utilize some sort of event sheet/grid. The interface is organized and clean and presents you with a good number of examples. A surprising drawback I discovered with Stencyl later on is that due to its Flash-based nature there is no gamepad support. For Desktop games you could potentially package a program like Joy2Key to facilitate that but it’s just not the same as having built-in support. At the time of writing this feature was still not present in Stencyl 3.0.

Stencyl is a little interesting in how it sets up its game objects. Simply put you have a Scene (level) and Actors (sprites). But as I said, rather than using an event sheet/grid for defining the interactions between the objects, Stencyl utilizes something called Behaviors. Behaviors are basically blocks of logic that usually define a function or some sort of interaction that you assign to an Actor. So if you have an Actor that you wanted to be able to jump, then you would assign a Jump behavior to it. This gives a good sense of modularity so that you can assign certain behaviors to Actors but leave others out in some situations (i.e. not all enemies can jump).

Stencyl comes with a bunch of already defined Behaviors for common game types (platform, shooter, puzzle). Of course, the real power is that you can customize these Behaviors or create your own. This is made possible by an interface where you merely drag-and-drop different elements to build the logic. If you’re a little more adventurous you can write the code for the logic yourself as the former is merely a visualization of underlying ActionScript that is auto-generated. It can definitely take while to get a hang of this interface but it’s definitely not a deterent for me.

Behaviors aside, construction of the Scene and Actors is pretty straightforward. The Scene can utilize multiple layers and tilesets. Tilesets is a feature that Stencyl beats C2 hands down in. They make tile selection and placement very easy and you can easily define custom collision shapes for the different tiles. Stencyl by default implements basic physics and so you have options for adjusting the weight, friction, and gravity of Actors. Animations for Actors are simple to setup and give you handy options for flipping horizontally/vertically so you’ll only need to render images for one direction.

All in all even if I don’t go with it, Stencyl is a great product. Here’s my breakdown of pros and cons.

Pros

  • Don’t need to pay until you’re ready to start publishing
  • Powerful system for building custom Behaviors
  • Runs on Mac, Linux, and Windows
  • Exports to Flash, Desktop, iOS, Android, and HTML5
  • Easy usage of Tilesets in Scenes
  • Project files are stored in XML (helps you see changes if using Version Control Software)

Cons

  • Publishing games on a regular basis means you’ll need to pay the subscription every year
  • Sometimes Tilesets collisions seem a little jagged when on an angle
  • Stencyl 2.x is tied to Flash (3.0 breaks away from this though)
  • Doesn’t have gamepad support (a limitation of Flash, hasn’t been addressed in 3.0 as far as I know)

Construct 2

Right off the bat, I have to say from most of the reviews that I’ve seen people do tend to prefer C2 over Stencyl because it’s simpler to use (that’s debatable though) and seems more friendly. I do tend to agree with that though as the interface tries to stay modern by using a ribbon design (although most of the game editing is done outside of that). With that said C2 is currently a Windows-only product, there has been some demand for a Linux version but it’s not currently viable for the company to pursue it.

One of the primary things you should know about C2 is that it’s built by a team of just 2 developers. Development of C2 doesn’t appear to have a roadmap for future development, the focus seems to be on whatever features the developers/community deem as being important or useful. This model definitely works for them though as they don’t allow themselves to fall behind in technology.

As with Stencyl, C2 offers a free version that users can utilize without needing to buy a license. However, C2 does limit what you can do. This free version only allows you so many events, effects, and layers. It also doesn’t give you some of the more organized features like Project Subfolders, Event Search, Object Families, and Instant Preview over WiFi. Nevertheless, it gives enough of the package to get the base things setup and running before you’re ready to pay for it. When you’re to ready to shell out, C2 offers two licenses to choose from. Personal gives you all the capabilities of C2 (publishing to iOS, Android, Linux, Windows, and Mac) and costs $119. The only limitation is that if you make over $5000 with your creations then you’ll need to purchase the Business license, which costs $399. Obviously the Business license isn’t cheap but if you’re already banking over $5000 then it’s a solid investment. I like that C2 (along with Stencyl) is one of those companies that doesn’t charge you extra for the ability to export to specific platforms.

Jumping into the C2 interface if fairly intuitive. As I’ve said they designed it to match the ribbon aesthetic that is used in modern Windows applications. The building blocks here are similar to Stencyl. Instead of Scenes and Actors, we have Layouts and Objects. Now Objects is somewhat generic in that anything which trigger events falls in this area (Gamepad, Sprites, Text, Tiled Backgrounds). Like Stencyl, C2 allows you to add Behaviors to an object. These aren’t as granular as the ones in Stencyl, so you get stuff like a Behavior for Platform, 8-Way Movement, Fade-In, and things of that nature. Most of the interaction between different objects takes place in an Event Sheet. You just define what conditions you need to met for the event and then what action should take place upon triggering the event. Custom Behaviors can be written using a Javascript SDK but it’s definitely a little more involved than it is with Stencyl. A plus for Construct 2 is that it does have gamepad support. However, as far I know gamepad support only works in Google Chrome at the moment but it’s still better nothing and gives people the option.

Setting up sprites and animations is very easy to do. You only need to render images for one direction and then using events, C2 can mirror the sprite for you. Sadly, C2 doesn’t have the Tilesets feature that Stencyl does. There is a workaround to do this sort of thing but it’s certainly more time-consuming. I forgot to mention, games made with C2 are HTML5-based. So when you run your game you have the option of opening it up in different browsers (Chrome is the best choice because it can use the gamepad).

C2 is a great product with a few shortcomings but it definitely stands on level ground with Stencyl.

Pros

  • Cheaper in the long run than Stencyl
  • Clean, organized, easy-to-use interface
  • Exports to Windows, Mac, Linux, iOS, HTML5, and Android
  • Has Javascript SDK for writing custom plugins
  • Use of HTML5 helps future proof games from becoming victims of dying technologies
  • Event Sheet is handier than having to write Behaviors for everything (Stencyl)
  • Gamepad support (limited to Google Chrome though)

Cons

  • Free version removes some of the features that help with organization
  • Only runs on Windows-based systems
  • Doesn’t have a good way of dealing with Tilesets
  • Project files are binary (not ideal for use with a Version Control System)

Conclusion

So there you have it. I can’t really tout one as being better than the other at this point because they both address a lot of the same concerns and the development teams are constantly moving these products forward. If you’re trying to pick between these two my best advice would be to create a demo and replicate it using both of these tools. From there determine which one you thought did the job better and go with that.

Update: September 9, 2013

Added information on gampad support.

  • Programaths

    Construct2 now has tileset support in his last version.

  • Jack

    I would add in conclusion: Construct 2 is much easier than Stencyl.

  • Jim

    Actually Stencyl charges extra for Android and iOS publishing…

    • Thomas Pumphrey

      Could you link or quote that? Their site has iOS including in the Studio version.

    • Jonnyanne

      They don’t charge “extra” for Android and iOS. These are included as a part of the paid software. There is a free version available that only allows for the creation of Flash games (No Android, iOS, Windows, Mac, or Linux).

  • rx

    yeah, but stencyl also makes flash games – a big plus to it ower construct.

  • Void

    Could you tell me the reason why you dropped mmf2? Because I am planning to learn it.

    • I’m a programmer and with MMF2 it’s more painful to write custom extensions. I chose Stencyl because I believe it gives a much better visual stucture of logic that’s going and you can easily peel back the covers and edit the actual code directly if you want (or need to for optimization purposes).

      • Void

        Ah, Thanks for sharing your opinion. Since I’m an Artist, I will try MMF2 and see what it is.

  • Torozu

    I used Construct 2 before and able to create few games but problem exist when you try to publish to Android. They rely heavily on 3rd party tools like Intel SDK and CocoonJS which caused me lots of problem. Some of the errors are no icon after installation and game isn’t playable after signed and zipaligned.

  • DUFFMAN!!

    Can Construct 2 run on a Rasberry Pi? ANd have a game controller attached? So it’d be a game console. Or an arcade. With a coin door. Yeah?

  • Patrick Beart

    Ahem, did someone say tilesets? https://www.scirra.com/manual/172/tilemap