Free Game Creation Tools for Students and Non-Programmers

Thanks to tools like Construct 2, making games has never been easier.

Thanks to tools like Construct 2, making games has never been easier.

One of my favorite former students (who is now enjoying a professor’s job of his own) emailed to ask for my advice on a videogame design course he’s teaching. It seems that it’s becoming more common for professors of humanities to teach this kind of course, even though few of us have the programming chops to teach C++ or Java. Fortunately, there are plenty of options out there for teachers who want to teach the basics of game development without having to learn (or explain to wide-eyed students) pointers, classes, and syntax. Better yet, these tools are powerful enough to create great games, even commercial quality games. Even better–they’re all free for teachers and students.

When I’m considering a tool for helping students make games, I have a few criteria in mind:

  1. Ease of Use. How much prior knowledge is required before your students can get in there and start making games? In most non-programming classes, there just isn’t time to dedicate to technical instruction. Ideally, students will only need a brief introduction to the tool before they start using it.
  2. Versatility. How versatile is the tool? It’s also important to consider what kind of assignment or project you have in mind. If, for instance, you want students to create a text adventure, you’d want something like Inform 7, a very powerful, but intuitive, engine for this kind of game. If, on the other hand, you want students to have the option of creating shoot’em up games, point-and-click adventures, or even first-person shooters, you’ll need something more versatile.
  3. Compatibility. What platforms do you want the resulting games to run on? For maximum compatibility, I prefer a tool that can make games that will play right in your web browser. If you want students to make games for iOS or Android, you’ll need to make sure the tool supports it.
  4. Assets. How many assets are freely or cheaply available? By “assets,” I mean stuff like graphics, sprites, sounds, and music, but also scripts or packages students can install to add functionality to their games. For example, game creation tools have scripts you can implement to add high score tables, fancy explosions, or even realistic physics. In many cases, developing these things on their own will be much too involved, so it’s nice to know that they can add this functionality with only a few clicks.
  5. Transferability. How transferable is the knowledge they’ll gain by working with the tool? Ideally, they will have learned concepts, principles, and techniques that will apply equally well to other tools. There’s less advantage in mastering a complex scripting language, for instance, if it only works for one tool.

Below, I’ve taken three different tools that I and others have used in the classroom, ranking them from 1 (poor) to 5 (excellent) in each of these criteria.

Construct 2

Construct 2 is a great choice for the classroom.

Construct 2 is a great choice for the classroom.

Construct 2  is a tool that allegedly makes game creation “effortless.” It is easy to use, and the games you create with it can easily be posted on a website for sharing online. It’s very well supported with tutorials, manuals, and materials specifically created for students. The website has a store where you can purchase sounds, music, and more. It’s being very actively developed, and the support community is growing fast. In short, even if you don’t intend to use it, it’s one you want to keep your eye on.

  • Ease of Use: 3/5. Construct 2 is easy enough if you’ve taken the time to work through the tutorials first (plan to spend at least a few hours doing this before presenting it to your class).
  • Versatility: 3/5. A look at the arcade page should give you a good idea of the variety of games and applications you can build with this tool. the engine is based on HTML5, which makes it ideal for browser-based games. Obviously, you’re not going to be making the next COD with this tool, but it does have a physics engine for making games like Angry Birds or Catapult.
  • Compatibility: 3/5. Just about everything you can think of is supported, but only if you pay for the personal ($118.99) or business ($398.99) versions. The free version is limited to HTML5, but since that can run in a browser, it’s actually quite versatile, and seems to be steadily replacing Flash.
  • Assets: 3/5. Construct 2 ships with a few sprite packs, but there are none available on the online store. One of the forum members on the site also posted a big list of free assets you might find useful.
  • Transferability: 3/5. The plug-n-play interface is based on Microsoft Office. While it may be more familiar, it’s not going to be an easy leap from this to Unity or UDK. Scripting options are limited to Javascript. Some claim that Javascript is a great way to start learning to code, and it’s definitely useful for web developers.

Gamemaker Studio

Gamemaker used to be a great value, but not anymore.

Gamemaker used to be a great value, but not anymore.

Gamemaker is the tool I learned to make games with, so I’m naturally a bit partial to it. However, the free version of the product (called “Studio”) is now limited in painful ways, including a cap on the resources you can use. Serious users will have to spend an appalling $800 for the “Master” package before they can export to Android, iOS, and HTML 5. However, if you just want to make games for Mac and PC, the $50 package will suffice. All in all, I love this product, but $800 for the real package just makes it a non-starter.

  • Ease of Use: 3/5. I consider Gamemaker easy to learn; it’s pretty much drag’n drop. The scripting language will take more time to master, but it’s about as easy as it’s going to get.
  • Versatility:  5/5. I wouldn’t try to make a first-person shooter with, but there are really lots of possibilities here. In my opinion, it excels at making platform, shoot’em up, and 2D RPG games, but it’s powerful enough to do just about anything, including 3D games.
  • Compatibility: 1/5. Unless you’re willing to shell out $800, you’re stuck with an executable that will only run on Windows.
  • Assets:  3/5. Gamemaker ships with plenty of art, sounds, and so on to get started with, and several other packs you can download.
  • Transferability: 3/5. Beyond general concepts of game design, you’re not going to learn much here that will be useful when you graduate to the next level. However, the scripting language is well-integrated and fairly powerful. Moving from that to C# or Java won’t be simple, though.

 Stencyl

Stencyl is simple, but also quite powerful.

Stencyl is simple, but also quite powerful.

Stencyl has a lot going for it, especially for anyone interested in making games for a variety of platforms. The drag’n drop gameplay designer is so easy that (literally) a child can do it, but there’s support for scripting with StencylWorks. The language Stencyl uses is called “Haxe,” a hodgepodge of ActionScript and Javascript noted for its easy translation into C#, C++, and others.

  • Ease of Use: 5/5. It just doesn’t get easier than this. If you struggle making a simple game with Stencyl, you just aren’t trying.
  • Versatility:  4/5. A look at the Stencyl showcase suggests that users are most comfortable building platform games with it, though the built-in physics engine (the same one the $800 Gamemaker uses!) should enable physics-based games like Angry Birds as well.
  • Compatibility: 2/5. The problem here is that you are limited to Flash (.swf) games. Almost everything but iPhones and iPads have Flash, so it’s not a huge deal, but you won’t be able to make standalone games (like .exe for Windows) for free. Instead of just paying a one-time fee to do more, you have to take out a yearly subscription: $79 for Flash and Desktop, $149 for iOS and Android ($99 for students), and $199 ($149 for students) for everything.
  • Assets:  5/5. The built-in StencylForge tool makes it easy to plugin everything from graphics and sounds to “behaviors” and “kits.” Behaviors are common things you might want your characters to do, such as moving around, following a path, or bouncing. The “kits” are pretty much rough drafts of game types that can be modified and customized into a complete game.
  • Transferability: 4/5. If you stick to the drag’n drop interface, you’ll only be getting basic concepts, but Haxe looks (to me, at least!) to be a big step towards learning the professional stuff.

Each of these options has its diehard fans, but, really, each one has its drawbacks. Gamemaker is probably the most powerful of the three, but $800 is far too much to spend on a hobby development kit, period. However, it is the only free option or making executable files (which will likely run much faster than HTML5 or Flash games). However, in my experience, being able to share games in a browser is absolutely key, since few folks will care to download and install an executable file on their computer.

So, the real choice comes down to Stencyl vs. Construct 2. Both offer a lot of functionality with their free versions, but there are advantages to upgrading to a “professional package.” The free version of Stencyl limits you to Flash (.swf) files; you’ll have to pay a yearly subscription to make standalone games or export to other platforms. Construct 2’s free version limits you to HTML5 games. Many people nowadays favor HTML5; it’s not controlled by a single company (Flash games require Adobe’s Flash Player to run), and almost all web browsers support it. HTML5 is controlled by a committee made up of Opera, Mozilla, and Apple, so it’s not going anywhere anytime soon.

In short, if I were limited to the free versions of either Stencyl or Construct 2, I’d go with Construct 2. That said, either would be fine for most classrooms, and the only real downside to Construct 2 is the lack of a built-in store for buying or downloading assets. If it had something like Stencyl’s StencylForge, it’d be a clear winner.

If all three of these options look overwhelming, there’s always Scratch. It’s specifically designed for kids–so, yeah, you’ll probably feel like an idiot if you can’t figure it out. It’s very simplified, so don’t expect to make anything commercial quality games with it. However, if your goal is just to learn the basics and basic exposure to development concepts, I think this is a great choice. 

If you’re teaching in a Macintosh lab, you should also consider GameSalad. I’d especially recommend this if you’re an Apple fan who wants to make games for iPhones and iPads. Last year, they released a Beta version for Windows, so hopefully an official release will be arriving soon.

Finally, there are some freely available resources that everyone should know about. One is the Open Game Art Bundle. It includes lots of professional quality soundtracks, artwork, and spritesheets. Another great resource is SpriteLib, another large collection of sprites. OpenGameArt.Org is a great source for free game art–and if you’re teaching graphics or art yourself, it’d be great to have your students contribute their work to it.

If you’ve used any of these tools before, let me know your thoughts on them. Also, if there’s another tool you think should be mentioned here, feel free to mention it in the comments section.

3 thoughts on “Free Game Creation Tools for Students and Non-Programmers

  1. Rowdy Rob

    Hi, Matt. I’ve been a Linux-only guy for over a year now, and Stencyl was (until recently) the only game development platform available to Linux systems (to my knowledge) that allowed for cross-platform game development. Construct 2 is Windows-only, Unity is Windows-only, and only recently has GameMaker Studio been available for Linux.

    While many exceptional games have been produced with GameMaker (including your games), I’ve never felt comfortable with the system. It seems that to do anything “real,” one must learn the scripting language of Gamemaker, GML. GML is not point-and-click, and its dissimilarity to Basic made it too intimidating to me. It’s just my bias, I guess, because I’ve played many Gamemaker games that I consider among my favorites.

    I love the Stencyl interface/programming system. With “HaxE,” it has great potential. Stencyl itself is great, but FLASH on Linux is quite clunky. Since the free version of Stencyl is Flash-only, this makes development a bit harder on the Linux platform, mostly because it seems slower. I’m considering buying the full version of Stencyl, but I want to see more non-Flash (HaxE) speed examples before plunking down the dough.

    Also, no matter how “easy” the programming interface is (on any one of these game dev systems), one must still think like a programmer to do many things. For example, how does one go about shuffling a virtual deck of cards using a point-and-click interface? It’s (of course) possible, but not without getting into programming concepts like “arrays” and “sorting,” which are beyond the comprehension of most non-programmers.

    Anyhow, thought I’d chip in!

    Reply
    1. Matt Barton Post author

      Good to hear from ya, Rob!

      I haven’t ever been a “Linux guy” in practice, though ideologically speaking, I’m a big supporter. I’m guessing that the folks making these tools assume that anyone using Linux is probably savvy enough not to need a simple game dev kit like these. 🙂 I know I would!

      Today is the first time I’d heard of HaxE. I need to learn more about it.

      Reply
  2. Rowdy Rob

    Haxe is apparently an “interim” language that cross-compiles to C++, Java, Flash, HTML5, and so forth, theoretically allowing Haxe programs to run on a variety of platforms (mobile, desktop, Web/Flash, etc.). The “easy” Stencyl interface would be the “front-end” to this language; the game developer would never have to see the “Haxe” code underneath. And from there, Stencyl could compile games for Flash, iOS, Android, PC, and so forth.

    It sounds nice, but Stencyl has forever been in “beta” over the Haxe framework, and it still sounds like it has issues, so for now, you’re pretty much stuck with Flash using Stencyl.

    I was wrong about Gamemaker; it’s still Windows-only, but allows for “Ubuntu export,” meaning you can play Gamemaker games on Linux (Ubuntu only?). So that means that Stencyl is still the only “mainstream” game creation package for Linux that I know of.

    Speaking of Linux, it really isn’t as “hardcore” of a user experience as I was expecting, especially with Ubuntu. I’ve rarely had to use the command-line “terminal,” and even then, tutorial web pages tell you exactly what to type, so I’ve never really had to learn Linux command-line syntax. I would say that anyone with mid-level Windows experience should easily be able to handle Ubuntu on a usable level.

    This is not to say that I recommend Linux to gamers. Gripe about Windows/Microsoft/corporate-greed all you want, but the truth is that Windows is the bee’s knees when it comes to PC gaming, or software in general. Triple-A titles are extremely rare on Linux, so you’re largely going to be playing “indie” games or whatever Windows games that “PlayonLinux” supports.

    But, Linux has grown in leaps and bounds since I switched over! Steam was intruduced, and has become my primary game portal. My current Steam “Linux” library is at 57 games, including games like “Legend of Grimrock,” “Half Life 2,” the “X3” series, “Left 4 Dead 2,” “FTL: Faster Than Light,” “Trine 2,” “Avalon: The Black Fortress,” and so on. Pretty much all of my Linux game library is thanks to the “Humble Bundle” releases, which have been awesome in their Linux support.

    “PlayonLinux” is my other chief game “portal.” PlayonLinux is basically a “front-end” to WINE that allows for easy installation (i.e. no hardcore geeky stuff) of many games, particularly games from GoG.com. Not every GoG game is supported, but I’ve played “Far Cry,” “Space Rangers 2,” “Wallace and Grommit,” “Back to the Future,” “Splinter Cell,” “Baldur’s Gate,” “Guilty Gear,” “Fallout,” and so forth from my Gog Game library. There have been some problems with some games, but the ones I’ve listed here ran amazingly well.

    I’m not really satisfied with the emulation scene on Linux, mostly because they ARE generally command-line driven, with relatively poor (if any) GUI front-ends in general. There’s nothing like “Amiga Forever,” just straight WinUAE to install (which I’ve never bothered with).

    Non-game software: you’re largely screwed there. Yes, you can “Wine” MS Office and Photoshop (via PlayonLinux), but for the most part you’re stuck with whatever Linux equivalents exist (Libreoffice, Gimp, OpenShot, etc.). It’s pretty much all underground from there on out, which means more “egghead” Linux stuff. You do get “Firefox” and “Chrome” for browsers, which is a plus, but as I’ve said before, Flash on Linux is a bit clunky.

    Anyhow, (Ubuntu) Linux is not that intimidating, and if you concentrate on indie games, is quite a decent system. I love indie games; I’d rather play “FTL,” “Avalon,” or “Grimrock” than “Skyrim.” But no, I can’t play GTA5 (or even 4) on my system.

    Anyhow, with Ubuntu, your primary sources of gaming pleasure are “Humble Bundle,” “Steam,” and “PlayonLinux.”

    I hope this wasn’t too long of a response!

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *