Q&A: Which tool?

I am a student in Belgium. My friends and I have decided to create a video game to understand the process and learn to code better.  We are planning to create a RPG, kinda like the early Zelda games with the top-based view, and mix it with movie pieces […], and get a sort of crafting system integrated.  The problem we are having is that we don’t really have a idea what engine / framework has the most functionality to complete our quest to create our first game!

Do you have any tips / frameworks / engines that could be more of use for us?

This is a pretty common question – the specifics change, but it boils down to “What is the best tool in order to make the game I want, considering the skills I have?”

I am a designer, so when I look at frameworks or engines, what I am really looking for are tools that get me as close as possible to the finished game without needing to create a lot of basic behaviors or systems from scratch. A designer may accept a more rigid tool with fewer options if it’s easier and faster to use and gets them close enough to their goals. A programmer may want a tool they can highly customize so they can get exactly to their goals even if it takes more time.  There’s trade offs with both directions, and any given tool is going to give more or less of each.

One person might cut a feature like playing movie-clips (from your example) if it means they could use a much easier toolset to implement the core Zelda-style gameplay. Someone else might decide to use a more difficult tool that they can customize to play those movie-clips, at the cost of cutting some of the puzzles and levels. What choice you ACTUALLY make depends on how core the feature is to your game, how much time you’re willing to spend making it, and whether you have the technical skills to implement it.

Now I started off talking about designer vs. programmer considerations with tools because students have asked me, “What’s your favorite tool for making games?”. The answer is Twine, but I’m unlikely to recommend it to a computer science student because it would be ill-suited to their goals and the technical challenges they want to pursue when making games. Unity 3D is an amazing, versatile engine but I’m unlikely to recommend it to a game design student who has no experience programming because it’s extremely complex and relies on a lot of technical knowledge with no ramp-up that the student may not possess.

Now to answer your specific question about a Zelda-style game with a crafting system –

    • For a designer: Construct 2, for the best ease of use for 2D games, excellent visual scripting language (but no coding, so it can be inflexible), lots of features, lots of tutorials, output to several platforms with a couple clicks (iOS, web, download).
    • For a designer-programmer hybrid: Gamemaker, for a combination of an easy-to-use tool for 2D games, lots of examples and tutorials, and a scripting language (code) allows much more customization.
    • For a programmer: Python and PyGame, as a very popular scripting language for making your own games, fully customizable, with lots of information and tools out there for it. If you, or your team, are mostly programmers or computer science students, this is what I’d recommend (caveat: I am not a programmer!).
    • For an experienced programmer: Unity 3D, though I have no experience with their 2D tools, is fully customizable. If you’ve never made a game before and are just starting out, Unity 3D can be a bit overwhelming. However, it’s surprisingly close to the tools used by AAA devs and a lot of really good, professional independent games have been made in it.

As your very first game, I highly recommend either Construct 2 or Gamemaker – both have free versions with enough features to evaluate them, and both can definitely be used for the style of gameplay you want. I am not sure which is better for a team project when multiple people want to work on it simultaneously: Python might be a better choice for that, so it’s worth keeping that in mind. Again, if you guys feel comfortable with code, then head toward Python and PyGame, but remember that you’ll spend more time laying down the groundwork that a tool like Construct or Gamemaker have already created. (Like I said – lots of trade-offs!).

I’m trying out a new thing where instead of responding to emails about game development privately, I’ll be posting some of the questions – with permission – and answering them here.

5 Comments on "Q&A: Which tool?"

  • Good post. The contrast between “close enough to their goals” and “exactly to their goals even if it takes more time” is spot on.

    But I’d replace the recommendation of PyGame with a recommendation of Löve (love2d.org). I see these advantages:

    – Löve uses Lua as its programming language instead of Python, and Lua is more widely used in the game industry.
    – Löve’s API is nicer and cleaner than PyGame’s as far as I can see.
    – When I tried PyGame years ago I stumbled on things that shouldn’t be problems at all, such as trying to build stand-alone executables. A quick search seems to indicate that’s easier now. In any case, with Löve I haven’t encountered any real problems.

    Löve is for Windows/Mac/Linux at the moment. There are unofficial unfinished ports to iOS and Android. But anyone looking to develop for iOS/Android might be better off with Corona, also a nice framework using Lua.

    I’d also say that Löve and Corona are suitable for designer-programmer-hybrids or designers who want to learn programming.

    • (Sorry, your comment was caught in the spamfilter).

      This is a good recommendation.

      I’ve heard of LOVE but rarely see anyone champion it, unlike Python & PyGame (which seems ubiquitous), and since I am not a programmer I lean towards tools with less scripting and have less experience with these. I didn’t realize it used Lua – that’s definitely popular in the games industry (I’ve worked with it twice on AAA games) and a good skill to have.

  • Hi Liz, thanks for the website I particularly found the distinctions between job responsibilities on the ‘Door Problem’ post very useful.

    I’m about to graduate with a psychology degree but realised a bit late that a Game Designer is what I want to be. I plan to become a QA tester whilst broadening my skills. I’m currently playing around with GameSalad but Construct 2 looks like an equally useful tool. Anyway sorry for the rambling, I was wondering why it is that you find Twine to be your tool of choice ?

    • I like Twine for a few reasons: it’s incredibly easy to use, requires few multidisciplinary skills (no programming, art, sound, etc. requirements), and can be used by complete novices with very little literacy in games or game design. I’ve actually never used a tool in which I felt so free to just design without being bogged down with technical constraints.

      That said… it’s not right for everyone, especially those interested in traditional games. Some people will find it extremely limited because it only does one thing (hyperlink interaction) and does that extremely well.

      Regarding tools – check out this a handout that I give to high school students that summarizes and compares many of the free development tools out there in case you’ll looking for more programs to play around in.

    • @Liz
      Loving the blog so far; looking forward to more articles! :)

      Very happy to see Construct 2 on the list. I’ve been using it for a long time now and have been in love with it’s power, versatility, and ease-of-use. It largely mirrors programing language conventions, so you can do some incredibly fancy stuff with it if you get creative.

      If I may offer a suggestion, something you may want to add to your handout is asset-creation tools.
      The Ludum Dare crew have a great curated list here:
      http://www.ludumdare.com/compo/tools/
      In my own efforts to show others how to make games, I’ve found that learning that engines even exist and how to use them is the first hurdle to making games, but knowing how to get sprites, soundFX, etc in there quickly becomes the second.

      Again, great blog! Hoping for more. :)

      @Philip
      Don’t worry about the Psychology Degree, that will come in handy in game dev far more often than you think. ;)

Leave a Reply

Your email address will not be published.