This post was originally posted here.
As you’re carving your way through the latest console blockbuster, you’ve no doubt wondered about putting the controller down and building a game yourself. Putting your ideas into practice, however, is a daunting task, which is why we’ve put together this article on the best game development tools.
Game development is seen as a challenging discipline to get into, requiring mastery of arcane programming languages and years of study. Increasingly though, user-friendly game development tools are making it easier to do. Someone with a gameplay idea now has more ways than ever to get their vision onto the screen, regardless of technical background, thanks to easy-to-use game engines.
Below we’ll give you an overview of the best game development software available today. Some tools are widely used by professional developers, others are pitched at beginners. Today’s development scene is highly diverse and even the simplest game engine can be used to build successful games with a bit of effort and creativity. First, though, let’s do some theory.
What Makes a Good Game?
Gaming is a vast field. Exactly what makes a good game is a matter of taste. If you want to eventually sell your game you’ll need to make sure enough people want to play it. Starting small isn’t a problem provided you have an idea that nobody has tried, or a way to make an existing genre better, or distinct from the competition.
The best starting point might be to put your idea down on paper (or a text editor). This will help you clarify your ideas and figure out what needs to be done and is especially important if you’re working as part of a team. You may find as details are fleshed out that you run into inconsistencies and find things that need clarification.
Putting your idea to paper can help you build a picture of the challenges that need to be solved and give you a sense of the required work. An RPG 10 times the size of Final Fantasy VII might sound like a great idea, but get started on the design and you will realize the sheer scale of the task you are setting yourself.
Asset Creation and Libraries
Asset creation is a big task, probably bigger than you think. Graphics have to be drawn, then animated. This isn’t just the game characters and backgrounds, you’ll also need menus, icons, buttons, help screens, screenshots for online stores and more besides. You’ll need sound effects and music, too.
Most of the tools here offer a library of free and paid assets. If you use these though it may be hard to get your game looking exactly how you envision it.
Free tools like Paint.net and Audacity can help you out here if you want to move beyond using libraries and get things looking and sounding how you want them. Paint.net is a great free graphics tool, not as powerful as something like photoshop but adequate for creating your visuals.
Sounds will also have to be formatted. Those you find online might be in different formats (as will those you create yourself unless you are very disciplined and develop a system). Audacity can prove useful here, allowing you to convert between formats and bitrates easily, as well as cut and paste sound effects according to your needs.
Improving Your Game
When you first bring your idea to life you might find things don’t work exactly as you imagined. Iteration and improvement are the keys to getting things right, preferably with as much feedback from testers as possible. Making small changes and learning what does and doesn’t work will help you mold your game into something people will enjoy.
Getting the core game mechanics in place is often relatively straightforward. Wiring up the menus, high score tables, social media features, requirements for various platforms, in-game payment systems and all the rest of it are significant tasks that can eat a lot of time. What will help is to have a platform that does much of the heavy lifting for you or (as Twine does, for example) keeps things light and simple.
Distributing your game to testers is also useful, so make sure you have something that you can build and share easily (and securely) or work with a platform that lets you publish your game for free. Desktop and Android apps can be handed around easily. There are several ways to do this but a cloud storage service is a great option.
iOS has a fiddly certification system which can cause headaches for experienced developers and Testflight, its similarly troublesome distribution system, requires a paid account to setup, though works well once configured.
Smaller Is Better
For your first project starting smaller will give you more chance of crossing the finish line than a multi-million dollar epic. A simple arcade game might not seem earth shattering, but will allow you to get to grips with your platform of choice, and get an idea of what is involved in building, and finishing, a complete project. Getting something finished is a huge milestone and you shouldn’t start out expecting your first game to be your magnum opus.
From a code standpoint, 2D work is generally more intuitive than 3D work and has less that can go wrong. Modern frameworks and tools can mitigate this to an extent, but starting smaller might be the best way to find your feet.
The Best Game Engines and Development Tools
Now let’s take a look at the tools themselves, which we selected after playing around with them for quite some time. They were all enjoyable to use and each offer different things to prospective developers. We’ve ordered them from the simplest to the most advanced so please bear that in mind when deciding what to go for.
Twine is a free online tool that allows you to create games in your browser window. The games are simple interactive stories, much like a choose your own adventure book (if you remember those). You add text and images and create links that send you to other parts of the story. The pieces of the story are viewed as “passages” — boxes with connecting arrows between them, showing overall flow. You can also add audio and video to give your work some atmosphere.
How Twine Works
The main design screen looks like a piece of graph paper with all your passages connected via arrows that represent the direction of the links. You can drag them around and position them to get an idea of how your story fits together. This will get more and more useful as the story gets more complex, particularly if you take a non-linear approach where players are free to wander back and forth between the passages.
You can create something linear which flows generally forward, or create interlinked areas that players can explore at leisure.
Creating a passage is as simple as typing text into an editor. You type directly into the browser and the words magically become part of your game without any need for coding whatsoever.
At its most basic, a Twine passage consists of text and links to other passages. This is already enough to build yourself a full fledged choose-your-own-adventure story. However, you can go further if you like.
Handily, if you create a link to a passage you haven’t yet created, it will be made automatically and appear on the graph. You can thus move from location to location adding content as you go. Once you get into the swing of it, it feels as intuitive to build your adventure as it does to play it.
The core functionality at the heart of Twine is so simple that you can pick it up in literally minutes and be creating content straight away. Of all the tools we looked at it was certainly the quickest to get going with.
It gives you a choice of three “story formats,” which allow you to make things more or less complex depending on how much control over the story you want. You can use standard CSS to change the look, although it is easy on the eye without having to do so.
Publishing with Twine
When you’ve finished your masterwork you’ll have an HTML page, which you can host on your own website, or potentially package as a webapp for mobile. Since you can add custom code anything that can be done on a standard web page can be done here, although the joy of this tool is its simplicity so perhaps that’s best avoided.
You can also publish your game for free on Philome.la, provided you have a Twitter account so you can get it in front of people without having to pay a thing.
Essentially then, Twine is a drag-and-drop way to build HTML pages and link them together easily with a few simple code hooks to add further functions if you want them. This is an incredibly simple tool to learn and use. All you really have to do is type and add passages and connect them. Despite being simple, there is a lot of scope for creativity here.
- Very easy to use
- Easily exportable
- Free hosting for games
- Limited in scope
Pitched at younger users, gamefroot offers to help prepare kids for a career in the video game industry. It includes a clear, tile based interface and a number of tutorials that take you step by step through various tasks. Lots of free graphics are provided so you’ll be able to easily produce something that looks good and kids will certainly love showing off their creations to their friends.
The tutorials contain an abundance of graphics and animation. Kids will no doubt enjoy customizing them all from the start. As well as the tutorials, there are templates allowing you to start with things setup for your genre of choice. You’re free of course to use a blank slate if you wish, but the templates give you an easy way to get started.
How Gamefroot Works
There’s a powerful level editor allowing you to draw tile based terrain quickly. Whipping up a platform game is a breeze here. Adding and switching between levels is also made easy, you just click on a plus icon every time you want to add a new one. There is a generous supply of free assets available and more are available should you choose to pay for them.
Game logic is presented as colorful interlocking jigsaw pieces which can be manipulated to adjust the game. This seems quite a powerful system, allowing you to make changes to the math that drives the game while making it much harder to break things than with code.
While this is an interesting attempt to make game logic seem fun, it did look a bit visually confused to us. Kids might get on better with it as even we are starting to realize we’re getting older, and easily confused by new things.
Overall, however, the presentation is nice and friendly, and when it works the tool is a joy to use. However, its interface can be frustrating and does have rough edges once you start getting into it.
We found a few bugs and quirks that made it a bit less intuitive than it could have been. Trying to add an animation gave us a message: “this asset belongs to another user and needs to be duplicated” and then brought up a window saying “duplicating” which never closed. We had to reload the browser, losing all our work up until that point. These kind of problems are precisely what you don’t want to see in a teaching tool, though it will bring home to children exactly how annoying tech can be.
We also found that several common actions you might expect to find in a design tool were absent. Ctrl+C and Ctrl+V did not allow us to duplicate assets. Dragging assets to different layers did not move them there. The tab button did not move the cursor between pop-up fields.
One of the tutorials (Squid Adventure) simply failed to work when we followed the instructions, and included screenshots that didn’t seem to match the content that loaded in the tutorial. In another tutorial we were asked to type text into a button properties dialogue.
Pressing “e” while typing the text meant that when we closed the dialogue, we had gone into delete mode, meaning we were surprised to find ourselves deleting instead of selecting when we clicked things. We could restore our button by using the undo feature, but the typed text was lost.
Another tutorial asked us to click a button in a sidebar, but the sidebar contained three versions of the button, none of which are a precise match for the tutorial image. For an easy to use teaching tool this kind of thing felt sloppy.
Testing the game during development also required that we sat through the splash screen every time which added several frustrating seconds to the cycle of build-test-repeat that anyone who’s tried building a game will be familiar with.
Publishing with Gamefroot
Games can be published on the Gamefroot site and shared with friends and family. You can’t yet publish to mobile platforms, but the FAQ says that this will be offered in the future. If you want to sell your game commercially however, this isn’t the tool for you. It is, however, a great way to learn and practice making games despite its interface.
- Good learning tool
- Nice simple level design tools
- Can publish and share with friends
- A surprising number of rough edges
- Some confusing ambiguities in the tutorials
Construct is an online tool built to make things simple, currently in its third incarnation. Games are designed using straightforward drag-and-drop tools. Instead of programming you use event sheets to define the behavior of things in the world.
How Construct Works
Creating objects is a case of right clicking on the game world, picking an image to use and then adding “behaviors” from a pre-existing list. “Events” are added to define what happens when objects interact, or when control input is received. This makes it very fast to get things working without having to touch code. Getting more specifically tuned behavior though might be trickier and it is here you’ll run into the limitations of the system.
Construct does seem fiddly in places. Having to place mouse and keyboard objects into the world directly felt a bit idiosyncratic, and might have been better hidden in an options screen.
Features wise though it fares well compared to some of the simpler tools we looked at. You can use things like the camera and microphone and also implement multiplayer features. There are a range of visual effects that can be applied and these worked really well in testing.
The editor did have a slight lack of snappiness in the menus, just a tiny bit of delay that made it feel a bit slower to navigate than it could have been. It did crash at one point too and we hadn’t saved our work at the time, which was rather annoying.
The free edition does have some restrictions — on testing the sample projects we were informed that we had exceeded the free version limits, so it isn’t not shy about pushing the paid options on you right from the get go. It was a little disconcerting to see warning pop-ups in demos and tutorials.
Publishing with Construct 3
Surprisingly, Construct doesn’t seem to have produced any big hitters. Plenty of its games are listed on Steam but nothing we’d heard of. Still, it certainly has potential judging by some of its demo material so maybe it’s just a matter of time before someone strikes gold.
It does seem to have something of a reputation for buggy output. Construct publishes to HTML5 which in theory should be able to run anywhere, but there do seem to be a lot of people seeing bugs and performance issues. This contrasts to what we’ve experienced — performance for us was outstanding — although our testing was done on a fairly new PC. We found it coped perfectly even when lots of objects were on screen.
Framerate seemed rock solid, looked like it was hitting 60FPS and was smoother than butter most of the time. Its included CPU tests showed that it could push over 80000 objects on screen while staying over 30FPS on our i5-7600 test system. The GPU targeted filled sprite tests gave us a count of over 7000 at 30FPS. Its particle tech demo pushed 800 particles at 60FPS, and more importantly looked rather wonderful, more so in motion than in the screenshot below.
The output and sample games also felt really solid in terms of responsiveness and have a high quality feel to them. We sometimes felt more like we were playing with a console emulator than a bespoke game construction system.
Construct’s demo games, particularly the platform effort, Kiwi Story, feels like things you might have paid money for (in the 90s anyway). The included content in some of the other platforms feels like it is built for kids or educational purposes, which isn’t a deal breaker necessarily, but this really felt like something made by people who know games inside out.
Construct is free to try, though the free edition does limit the amount of certain types of content in your game. It costs $99 per year for the full personal edition. We really enjoyed using Construct: it was simple to use and capable of producing quality results, and a good compromise between the limitations of simpler tools and the power of more code-focused software.
- Very high quality feel to the output
- Good range of features for an easy to use tool
- Occasional crashes and bugs
- Doesn’t seem to have produced any big hits
RPG Maker has been around for a long time: it initially launched back in 1992. It’s a full-on JRPG game engine and has been used to make some pretty big hits including Always, Sometimes Monsters and To The Moon.
Getting started with it isn’t tricky exactly, but the download page presents several options without making it clear what to pick. After installation, the tutorial feels like a checklist of features rather than the smooth path to creating we got elsewhere.
Things feel like they could be streamlined – adding exits requires you to select the first place to mark an entry point, then an exit point, but rather than automatically making it a two way thing, you have to go back and repeat the process in the other direction. The tutorial ends with an off-center pop-up window saying “tutorial ends” which, whilst technically accurate, sums up the perfunctory feel.
However, once we got into the editor proper our experience began to improve. After getting the hang of it we really started to appreciate the power at our disposal. There is a huge amount that can be done just by picking an option in a menu. Adjusting the levels, adding enemies and changing character appearance is all really easy to do.
In terms of the interface it does look a bit dated. Things are on the small and fiddly side. However this is offset somewhat by how easy it is to do things. It is very much a tool that lets you get things done.
RPG Maker games do have a bit of a reputation for looking samey and that is quite understandable when you see how many heavily fleshed out bespoke maps and environments there are. RPGs tend to be on the large side, so the cookie cutter locations available in RPG maker must be tempting for developers to paste into their games. They can all be customized though if you put the time into it.
How RPG Maker Works
There is an accessible character creator which enables you to populate your game by picking a portrait as a starting point, and then customizing various characteristics. Of course these characters will all be posed the same way so while they might be unique, they will look very familiar to players of other RPG Maker games.
The ready made environments include a good variety of tiles and you also have a good selection of bombastic sound effects available to use. Again, you are presented with things that look and sound a certain way, but you do have the option to change whatever you want.
Offsetting the potential for sameyness, there are a huge amount of assets available if you look for them. There is a ton of DLC available on Steam. The community also generate plenty of free content. The software is also highly expandable with a whole host of plugins available.
The default battles include all the options you’d expect to see in a JRPG. The supplied art is OK, though animation is basic. Still, it is a thrill to see your game come to life so readily.
Publishing with RPG Maker
You can publish to major platforms, including Android and IOS, so you can share your creation with everyone (except console owners). There’s a handy option to encrypt your executable so hackers can’t get their hands on your assets too easily. Building for platforms other than Windows seemed somewhat awkward, so do investigate the requirements for your build target if you have something specific in mind.
At $80 for the full version, RPG Maker isn’t cheap, but is extremely good at what it does. If you want to whip up a certain type of game quickly you can’t really go wrong. While it is potentially very customizable, it does funnel you in a certain direction which accounts for the cookie-cutter feel of much of its output. With enough effort though you can certainly produce something good and original.
Overall then, RPG Maker pleasantly surprised us. It had a few rough edges, but was generally simple to use and is a great tool for anyone wanting to create an RPG.
- Great at what it does
- Tons of free content available
- Rapidly develop large areas
- Only does RPGs
- Samey feel to the output
- Not the cheapest option when starting out
Game Maker Studio by YoYo games is a versatile tool allowing you to create 2D games in a range of genres. You can publish your games on most platforms, including the consoles.
It comes with a smattering of tutorials which include both Youtube videos and written instructions so whichever you prefer, you’re catered for here. We did notice the odd inconsistency between the tutorial content and the latest version of the software, but nothing that stopped us in our tracks.
How Game Maker Works
As with similar packages, game maker studio allows you to create using its drag-and-drop tools and has a proprietary scripting language, GameMaker Language, when you need to add more complex functionality. There does seem to be a good balance between the simplicity of the interface and the code tools. You have plenty of scope to work with the more straightforward parts of the software and then get into code as needed.
When you run into the limitations of the drag-and-drop side of things you will be pushed naturally into learning the harder things so in a sense those limitations can drive you to learn more about the software and gain new skills.
The IDE, or Integrated Development Environment, contains editors for various aspects of the game. There is a room editor, sprite editor, tileset editor, an image editor and an object editor.
The image editor is a joy to use, simple enough to get started with without knowing a thing, and with a good range of tools that do what’s needed without fuss. It also has a handy “onion skin” feature, enabling you to draw animation frames on top of a partially visible image of the previous one.
The sprite editor allows you to manipulate object handles, as well as add filter effects to individual images. Handy for refining the look of your game.
Game Maker has a resource manager which keeps all the elements of your game categorized and makes it easy to find what you need which will of course get harder as your project grows.
Should you delve into GameMaker, language the clear visual link between code objects and the events or objects they attach to lends a natural sense of organization to projects. That kind of connection is something coders might have to work to figure out in other tools, but here you just have to glance at it to understand the flow.
As well as a tile-based platform game, samples include a perspective based dungeon game, an arena shooter and a bat and ball game, so there is plenty to explore right out of the box.
Performance can be an issue, certainly on one of the tested demos the frame rate didn’t seem perfect. If you want to cram the screen with sprites you might have to do a lot of optimizing to get the performance level you need.
There do seem to be people citing instability on Steam, but it didn’t crash during our testing. One slight hitch is that individual components have to be downloaded separately and this was strangely slow a couple of times.
Publishing with Game Maker
As well as having a free version to play around with there are versions targeting every platform you can think of including a fairly astonishing $1500 version that allows you to publish directly to PS4 and Xbox one. Not exactly small change then, unless you happen to be Elon Musk.
In terms of complexity Game Maker occupies a nice middle ground between the simplicity of Gamefroot, while being easier to work with than more advanced tools like Unreal and Unity.
There is certainly no doubting Game Maker Studio’s credentials when it comes to creating quality games. The software has produced several indie classics, including such gems asHyperlight Drifter, Hotline Miami and Nuclear Throne, so if you don’t produce a hit with this you’ve only yourself to blame.
We really enjoyed using it and would recommend it to anyone wanting to make a high quality game that doesn’t need the advanced features, or complexity, of Unity and Unreal.
- Great blend of simplicity and power
- Strong track record
- Publishes to most platforms
- Possible issues with performance if you want to cram a lot on screen
Unity has a huge reputation in game development and, along with Unreal, is one of the tools you’ll find most widely used among professionals. It combines an accessible design interface with powerful scripting capabilities, enabling you to manage the design and organization using drag-and-drop tools, and then go into code when you need more control.
How Unity Works
Unity projects can be started in either 2D or 3D mode which affects various settings, such as the lighting, the camera options and whether or not some tools such as the sprite packer are available. There is a lot going on in the interface and much of it needs to be understood before playing with it. It can be overwhelming, but that’s the trade off you make between power and simplicity.
As well as pure 2D and 3D projects you can create a 2D project using 3D graphics, if you prefer to keep the design simple while having it look more modern. Adding 3D objects is as easy as can be expected. You can create primitives such as spheres, cubes and planes, then texture them and stitch them together to build larger objects.
Objects need various things attached to them to control their appearance and behavior such as renderers, colliders and scripts. Unity certainly gives you a lot to play with, though if you’re doing a purely 2D game the interface can feel like overkill.
Asset positioning and sprite animation are handled using the editor. It is also possible to add a range of custom physics and collision behaviors to in-game objects. Those looking for purely drag-and-drop game creation might want to look elsewhere though, Unity does need you to do a fair bit of coding to get the most out of it. Many kinds of behavior are implemented through attaching a code script to an object.
Once you start coding Unity sends you into Microsoft Visual Studio which in typical Microsoft fashion usually works well but can throw up infuriating issues from time to time. In our testing it decided our account details needed refreshing and demanded a phone number to verify our email address. Not what you want when you’re focused on development.
Publishing with Unity
Unity deploys to all major platforms and can be used to build full desktop games as well as mobile titles that can be sold in their respective app stores. It is a great choice for cross-platform development as you can port games to different platforms, though this can require a lot of tuning.
Unity’s pedigree is evidenced by the wealth of smash hits that have been created with it. Cuphead, Ori and the Blind Forest, Cities: Skylines and Inside are just some of the successful titles to its credit. Clearly it can be used to make hit games.
Experienced developers working on the cutting edge of graphics technology will find Unity limiting. Memory management and garbage collection are handled automatically for example. Those just starting out though will find they can get a very long way with it and we highly recommend it for anyone with the ambition to make a commercial quality game.
Unity is free to use, with paid versions offering extra features, such as removing the Unity logo on startup and increased multiplayer capacity, though multiplayer is available from the start. You’ll also need to pay if you make over $100,000 in revenue. All the best achieving that; it may be hard but is certainly not impossible.
- Professional quality tool
- Many hit games built with it
- Flexible enough to make pretty much anything
- Complex, not always intuitive
- You’ll need to code
Brought to you by the creators of Gears of War and, (you guessed it), Unreal, Unreal Engine is a powerful tool that makes building high calibre titles as simple as possible. It’s as cutting edge as you’re likely to find in a publicly available tool and is widely used by professional studios.
How the Unreal Engine Works
Unreal feels very well-crafted. Doing things is generally pleasant, more so than Unity, we felt. Moving around inside the in-game previews is smooth and intuitive. Using the tools and menus feels powerful but safe, you don’t feel like the whole thing is going to crash if you make a mistake.
The interface presents you with a lot of data and menus are stuffed full of intimidating looking options, but Unreal manages to work and you can usually find what you’re looking for somewhere among the noise.
You can create new projects using templates geared towards a range of game types. Projects can be created in both Blueprint and Code driven versions. The FPS template starts you off with a working gun, controllable character and a whole bunch of cubes to shoot. There are similar templates for driving games, exploration based games and several others.
3D assets can be taken straight from the comprehensive library and placed into your game. Positioning assets is just a question of dragging them along their axes. Rotating and scaling are also straightforward.
The library contains both free and paid content. It recently added a ton of free assets from “Paragon,” which apparently cost $12 million to create, so you can play around with top quality content made by professional developers and add it to your own creations. That’s an exciting prospect.
Surprisingly for such a powerful tool, Unreal doesn’t force you to code that much if you don’t want to. The powerful “blueprints” enable you to add bespoke functionality to in-game objects. The project templates also have the base physics for many game genres built-in from the start.
If you do decide to code though (and you really should if you want to get the most out of Unreal) you’ll be using C++. This is probably the most popular coding language used by game studios, so learning this will be very useful if you’re a hobbyist wanting to enter the game industry. It is considered a challenging language: powerful, but with lots of scope to get things horribly wrong.
Whether you relish that kind of challenge or not will perhaps tell you if Unreal is the tool for you. As with Unity, Unreal is typically used with Visual Studio on Windows or Xcode on Mac. Again, like Unity you can use a different editor if you prefer but documentation will often focus on Visual Studio.
Publishing with Unreal Engine
Unreal has a great attitude to helping out smaller developers and the payment system reflects that, being free until you make $3000 per quarter after which you pay 5 percent of anything over that. This makes it a great choice for anyone starting out as you won’t have to pay a penny unless you have a decently sized hit on your hands.
As a professional tool you can publish to all major platforms, including consoles. It is worth pointing out that you do need to register with either Microsoft, Sony or Nintendo to launch games on their platforms and that might involve fees over and above what you pay to use Unreal, or any of the tools in our roundup for that matter.
- Slick and pleasant to use
- Very powerful, cutting edge tool
- Free until you hit the big time
- Open source
- C++ is not for the faint of heart
- Could be expensive if your game is a hit
There are some great options here and all these options are a lot of fun to use and will let you get results quickly. Most of them are capable of producing hit games and a couple of them are full-on, professional-grade tools used to build triple-A titles on a regular basis.
If coding isn’t something you’re interested in or if you’ve tried it and not got on with it then Twine is a great choice for producing a visual novel. Gamefroot, Game Maker and Construct are great tools if you want something mostly drag-and-drop with the chance to dabble in code when you feel like it. RPG Maker is its own thing, if you want to make that style of game it is pretty much everything you’d wish for.