There’s a lot that goes into making a video game. Each video game combines multiple artistic mediums, from music to art to animation — programming is even an art form in its own way. All of these art forms join in a game engine, and in this guide, we’re going to show you our favorite ones.
Whether you’re an art student with some interesting character concepts or a seasoned programmer with dense systems knowledge, there’s a tool for you. Below, we have seven of the best tools for making a video game, as well as few tips for getting started on your first one.
The best software for making a video game
If you have hundreds of thousands of dollars to play with and a background in professional programming, you can always license something like CryEngine, but for most people, that just isn’t realistic. Assuming you don’t want to start completely from scratch, you need to choose the proper game-making software that suits your skill level. There are plenty of free and premium options to choose from, and each features its own set of merits and tools for creating a video game of your own design. Below are some of the best options available at your fingertips, whether you’re looking to construct a bare-bones Pong-esque knockoff, an enthralling action game, or a role-playing game (RPG) in the vein of The Legend of Zelda or EarthBound.
As an inspirational note to aspiring game developers, the tool doesn’t make the game. Choose the engine that you’re most comfortable with and that best suits the story you want to tell. It’s tempting to use something like Unity or Unreal Engine given how much clout they have. However, if you find something like RPG Maker or Godot more suitable for the game you’re making, there’s no problem in using it.
Available for Windows, MacOS, and Linux
If you’re serious about game development, Unity is where you should start. Countless indie hits have been created using the engine, from Hollow Knight to Cuphead to Escape from Tarkov. What’s so impressive about Unity is that it’s powerful enough to release a title of AAA quality while being accessible to newcomers. Oh, and you can use it for free as long as your growing game studio has made less than $100,000 in the previous 12 months.
For solo devs or small teams, Unity is the go-to game creation tool thanks to its massive marketplace. The Unity Asset Store has everything from character models to full environments, most of which are cheap or, in some cases, free. Even if you have no experience with programming and can’t model a character to save your life, you can build a game with Unity. It may not be ready for release, but with how high-quality most packs are in the Asset Store, it can still show a proof of concept.
Unity sets you up for success, too. The core platform is for building games. However, Unity includes a wide range of additional tools so you can achieve the goals of your game beyond the development process. There’s a game simulation tool, where you can harness the power of the cloud to playtest your game over countless trials, as well as a monetization engine if you want to score some extra cash on a mobile game.
As if that wasn’t enough, Unity also features a dense library of learning resources. Unity isn’t just a game engine. It’s an entire ecosystem dedicated to ensuring that developers new and seasoned can create the games they want to.
Available for Windows, MacOS, and Linux
Unity is an engine that can be used to make AAA games, but Unreal Engine is a tool that is used to make AAA games. And it’s used a lot. If you’ve played Final Fantasy VII Remake, Star Wars Jedi: Fallen Order, Fortnite, Octopath Traveler, Borderlands 3, or Kingdom Hearts III, you’ve seen Unreal Engine 4 in action. That’s only a small sample of recent games that use the engine. If a developer isn’t using their own game engine, they’re probably using UE4.
Unreal is the tool you should use if you have serious aspirations about working in a AAA game studio. Thankfully, Epic Games has gone a long way in recent years to make the engine more accessible. You no longer need dense C++ knowledge or even assets to start building your game. Like Unity, Unreal has a bustling marketplace with 3D models, environments, scripting, and more. Epic gives away content packs every month, too. At the time of writing, there’s a pack of highly detailed skyscraper models for free, which normally costs $149.99.
For some, Unreal may actually be a better choice than Unity thanks to its Blueprint Visual Scripting system. Unreal uses C++, but you don’t need to write lines of code to add scripting to your game. Blueprints provide a visual representation of what your code is doing, allowing you to connect various nodes to create a script. There’s still a learning curve to Blueprints — it offers the full power of C++, after all — but it’s much easier and certainly more enjoyable than spending hours learning a programming language.
Cost is where things get messy for Unreal. The tool itself is free to use, no questions asked. If you’re distributing a game for free or just messing around, you can use Unreal Engine 4 in its full capacity free of charge. If you’re monetizing, you owe Epic 5% of your revenue each quarter above $3,000, no matter if you’re self-publishing or working with a publisher. Thankfully, Epic has some options to ease the financial burden. If you create a concept that interests Epic, you may be able to receive a MegaGrant. Epic has dedicated $100,000,000 to new creators, with grants ranging from $5,000 up to $500,000. If you receive a grant, you don’t owe anything else to Epic outside of the 5% it normally takes when you monetize a project. That alone may be incentive enough to get started with Unreal over another tool.
Available for Windows and MacOS
If you’re a fan of indie games, you’ve likely run into GameMaker more than once. It’s the tool behind Hotline Miami, Downwell, Minit, Blazing Chrome, Sperlunky, and the recently released Levelhead, which even got a deal with Xbox Game Pass. It occupies the opposite end of the spectrum as Unreal Engine, with Unity striking a balance between the two. That said, if you’re making a 2D game and don’t need all of the features of Unity, GameMaker is an excellent choice. By restricting its platform, GameMaker is able to make normally complex systems easy to manage.
Furthermore, GameMaker puts the many tools you’ll need to develop a game under a single roof. If you want to create everything on your own with Unity or Unreal, you’ll need access to image editing tools, 3D modeling software, and audio software, among other things. Everything is built-in to GameMaker, from a Photoshop-esque image editor to a full animation editor. You can, quite easily, build a full game using nothing more than GameMaker.
You don’t need any programming knowledge, either. GameMaker is based around its own programming language, GML. GML is more streamlined than, say, C++ while providing most of the power. Because it was created specifically for GameMaker, it’s much more intuitive than a traditional programming language. GameMaker includes a visual script editor with drag-and-drop nodes, too, meaning you can easily build code without knowing a thing about the language.
Pricing is where things get strange for GameMaker. Although you’ll end up spending a lot more with Unity or Unreal if you create a hit, GameMaker has a higher upfront cost. You have to buy the engine and a license, meaning if you want to develop for multiple platforms, you’ll need to buy a license for those platforms. Desktop and mobile are cheap, with a permanent license running $99 or $199 for each platform, respectively. Consoles are expensive, though. Exporting to PS4, Xbox One, or Nintendo Switch will cost you $799 for each console, and that license only lasts for a year. Still, GameMaker ends up being cheaper in the long run, and with the amount of learning resources and assets available, it’s a small price to pay.
Available for Windows
The RPG Maker series has a long history, dating all the way back to 1988. It’s a 2D game creation tool that exclusively makes RPGs, or, more accurately, JRPGs (no building Skyrim here). RPG Maker trades flexibility for accessibility. You can create a full game out of the box, with all of the logic and assets ready for you. If you want, you can just play the role of a level designer, throwing characters, battles, and items in your map as you see fit.
That said, RPG Maker doesn’t carry the same clout as Unity or Unreal (or even GameMaker, for that matter). A title created using RPG Maker is almost instantly identifiable, and although some creators have used the tool to great success — To the Moon is a standout title created with RPG Maker — most releases with it haven’t been great. RPG Maker is perfect for creating your own classic Final Fantasy or Dragon Quest game. However, the knowledge you’ll gain while using it, on a technical level, isn’t very transferable to other platforms.
Avilable for Windows
Construct isn’t as well known as the entries above, but it’s still a competent game design tool. It’s mostly used for mobile games, with developers like EA, Sega, and Zynga heading Construct’s clientele. For us, the most important game to come out using the engine is Iconoclasts, which was developed by a single person using a modified version of the original Construct.
Construct 3 brings some changes, though, the most important of which is block-based programming. It’s even easier to use than GameMaker and Unreal Engine. Every node has very clear instructions, allowing you to build scrips intuitively. Construct uses blocks in a sheet instead of a flow chart, too. That makes sorting through long, complex scrips much easier.
The problem is that Construct requires you to constantly renew your license. Unlike Unity and Unreal, which allow you to actually develop your games for free, you have to pay for Construct for as long as you use it. There’s a very limited free version, but it won’t get you very far (for example, you can’t even create custom loading screens). The full version runs $99 every year. That said, it comes with all of the bells and whistles from the get-go, including export support for iOS, Android, Windows, MacOS, Linux, and Xbox One. There’s no support for PS4 or Switch, though, and after sifting through the forums, it seems that’ll be the case for the foreseeable future.
Armory3D is a totally free, open-source 3D game engine. The main shtick with Armory3D is that it fully integrates with Blender, allowing you to create and animate 3D models in a unified workflow. Since Blender is already heavily used in game development, having it integrate directly with a game engine is huge. No longer will you have to worry about broken models or animations, much less rendering times.
As for programming logic, Armory3D includes a node-based editor, though it’s not as robust as Unreal’s or GameMaker’s. Armory3D is a powerful tool, and one to keep an eye on as development progresses. That said, it’s still a work in progress, and many of the features seen with the more established engines aren’t present. Thankfully, the core features are present, including support for Windows, Linux, MacOS, HTML5, Android, iOS, PS4, Xbox One, and Switch.
Godot is another free, open-source game engine that’s available just about everywhere (there’s even a Steam version). In many ways, Godot feels like Unity did years back. You can use it to develop a 2D or 3D game, the community is bustling, and there’s no cost in getting started. It doesn’t support Switch or PS4, but you can still export your game to every other platform, all without any fees or royalties.
The only downside is that Godot is missing much of the framework that a tool like Unity has. There’s not an asset marketplace, and the learning resources, while thorough, aren’t as accessible. It’s a relatively new tool, though, and given how many features it has, we’re optimistic for its future. If you’re just getting started, give Godot a shot. It’s free to download, after all.
Tips for making a video game
If you’re an aspiring game developer, you’ve probably heard the same thing time and again: Start small. We’re here to reiterate that. Since video games combine so many different art forms, it’s unlikely, if not impossible, to develop a massive game by yourself. There’s a reason most indie titles are simple 2D games.
Create a hook
Before starting on your game, it’s useful to create a hook. The most apparent hook is a narrative one, a unique concept that hooks the player in. But if you take a look at successful games for small studios, the hook is often the gameplay itself. For instance, in Minit, you explore for no more than a minute, while Downwell is a 2D platformer that goes from top to bottom instead of left to right. Defining an interesting mechanic you want to explore will create more direction for your game and better define its scope. There are a lot of games available, so making yours stick out never hurts.
You don’t want to create your magnum opus with a tool you’re still learning to use. Once you settle on an engine, spend some time developing elemental games and prototyping others while you learn the software. By the time you’re ready to create your first full game, you should be comfortable with the tool you’re using, zipping around the interface with hotkeys with no questions about where something is. Focusing on lower-stakes experimental projects is an excellent way to learn the software without stressing yourself out.
Become a part of the community
Trying to develop your game alone is one of the biggest mistakes you can make. Game development is an incredibly complicated, challenging process that can easily lead to burnout. Joining a community, or building your own, will provide the support to keep you going. It’s such an essential part of the process that all the tools we mentioned foster strong support communities. These tools and the communities attached to them will help you take your game development skills to the next level.