Do you have an interest in game design or development? Do you want to understand what development teams work with, in terms of software? Are you looking to become a developer? If so, check this list out.
The video game industry and the indie dev scene have their favored software tools. Whether you’re developing a 2D or 3D game, whether you want to make an original score or interesting environment assets, there’s a whole wealth of different tools that can help you deliver your best work.
In this list, I’m favoring open-source. For many people getting into this area, licensing and subscription fees can end up becoming prohibitively expensive. I know some people prefer the more well-rounded and professional proprietary software tools. And yet, most people I know who have an interest in programming are taken by a sudden glee when you tell them a good piece of software is free and open-source.
I picked a series of software, from modeling tools, to audio workstations, up to famous development software on the top of the list. So you can have a well-rounded sense of what to expect and what sort of tools you’ll need either as a lone wolf developer or as a part of a team.
15. Krita
Art is an essential part of most video games, and good looks can make or break a lot of titles. Good image editing software can get expensive very fast, so what can an aspiring artist with an interest in 2D games do?
Well, Krita is a beginner-friendly art application. And it’s open-source, too! But don’t look away just because of this. Krita is actually a fully-fledged piece of software capable of giving you just about everything you need to make good 2D art. Some artists go as far as to say it’s one of the best tools available.
I can’t overstate how easy Krita is to use, its design is as intuitive as it gets for a full feature illustration software. It has built-in tools that allow you to edit images and also create 2D illustrations. The program offers a great variety of brushes and ways to customize them. If you’ve ever worked with similar types of image-editing software I’m sure you’ll learn your way around this one pretty fast.
It’s not an industry standard by any means, but it’s complete, easy to use, and costs nothing. If you need a software application mainly to create 2D assets for a game you’re working on, then Krita is a very effective choice that will give you what you need without heavy subscription fees.
14. Synfig Studio
So now you’ve got some good-looking assets? What do you do with them? Static images aren’t all too interesting unless you’re doing a story-focused game without too many moving elements. For every other type of game, you need animation.
Synfig Studio is an approachable 2D animation software that uses outline vectors and a bone system to animate bitmap images. And it’s open-source, too! Again, don’t let the simplicity fool you, this tool has everything you need to create simple, working animated 2D sprites.
The focus on vectors can seem a bit restrictive, and there are definitely more advanced tools out there. But Synfig is free and open-source, and all you need for it to work with a more advanced engine like Unity is to create a PNG sprite sheet from the animation frames.
Despite lacking the power of inbuilt animation tools in more complete game engines, Synfig is definitely enough for simpler projects. I believe Synfig is a good tool for animation, but the lack of integration with game engines would make it cumbersome to work with if you’re planning larger projects. Luckily, most sprites in 2D games don’t need many frames at all, so this is a good option if you’re sticking to open-source.
13. Aseprite
Continuing on the art theme, Aseprite is a software completely dedicated to making pixel art. If you play a lot of indie titles like me, you’ll definitely be familiar with pixel art. It’s in many ways defined as the classical video game look. Many people who love the looks of titles such as the original The Legend of Zelda have taken this style and refined it much further than the limited hardware of the past allowed.
If you’re interested in making pixel art sprites, then Aseprite is a very good choice. It’s not free, but it’s offered at a very reasonable price, and it’s worth every penny. Aseprite contains both an illustration tool and an animation tool built for pixel art sprites. For people who love pixelated aesthetics, this really is one of the most complete pieces of software out there.
Aseprite offers specialized tools such as brushes for dithering, inbuilt support for building tilesets, tools for rotating sprites, color overlay tools for improving the quality of your image, and a lot more. Its whole functionality is built around improving the quality and easing the workload of pixel art projects.
If I were trying to develop a 2D game, this is absolutely a software tool that I would look into. For that, Aseprite gets my recommendation.
12. LabChirp
Another important feature of a game is sound, and if you don’t know where to begin, this is a great suggestion. LabChirp is a free sound effect generating software that works by modifying set parameters in a sound wave to generate the sort of sound you want.
LabChirp also has a very robust procedural generation feature that can either generate completely random sounds or iterate on small variations within the parameters you set. Do you want a sound effect for footsteps in your game? Easy, just use the inbuilt footstep preset and create a dozen mutations of it, and you have a usable effect you can tweak even further with more complex audio software.
It will take a bit of fiddling around to get nice sounds, and the randomizer can create some really weird sounds if you don’t configure it properly. However, once you master the format, it’s easy to create many different types of simple effects.
Given it’s free and easy to use, I can easily see indie devs using this tool a lot, and you’ll see it recommended when people ask about sound design in indie titles. With just a little bit of tweaking in more dedicated audio software, you can actually get surprisingly good effects with this little tool.
It is free, small in size, and easy to use. These are the reasons why I think this little piece of software deserves to be on the list.
11. Cakewalk
Cakewalk is a digital audio workstation by BandLab. It’s a complete and free program that allows you to make music. As it turns out, it’s also a great pick for video game music.
Cakewalk is a fully-fledged audio program, and it’s on this list because while a lot of devs come to the industry with experience in design or programming, musically inclined people seem to be rarer, from what I see.
It’s not open-source, but it’s free. As in, completely free. Yes, it really is. And it’s completely feature full, which comes with some caveats. Let me explain. If you don’t know how to make music in the first place, it’s going to be hard to find your way around this one. There are a lot of beginner-friendly audio tools out there, and a lot of them are even open-source too. But to be honest, their sound quality often leaves a lot to be desired.
Cakewalk offers the best entry point into producing music for your games. Sound design is an important aspect, and much like the graphical element, good soundtracks can be a huge part of a game’s success. So if you know enough about music to compose your own score, this is the sort of thing you should start with.
If you have someone on your team skilled in composing music, this is pretty much the best alternative you can get without some catch or pricetag. There’s no trial period or licensing fees, you can start using it as soon as you configure it and get some VSTs running. I recommend it because it’s easy to access.
10. Blender
Blender is an industry-standard art application that can do both modeling and animation in 2D and 3D. It’s relatively easy to approach and offers excellent functionality with all things related to modeling. And you guessed it: it’s open-source, too!
Blender is kind of a big thing, there are many commercially successful large-scale games whose assets are all originally made in Blender. In fact, it’s one of those tools that people have kept talking about for years and years. If you’re starting on your journey as a 3D artist for videogames, this is the very first tool you should master.
Being so popular in the industry means this open-source project gets much more attention than the average open-source project, so while some might be a little janky here and there, Blender is actually top-notch in most aspects.
Like some other open-source items ranking high on the list, it’s one of those things you take a look at and marvel at how such a well-made project is made real by the passion and effort of countless people.
So if you’re interested in 3D modeling for video games, you can’t go wrong if you just apply some elbow grease and get to work on learning Blender. It’s a solid recommendation.
9. Adobe Photoshop
To speak plainly, most of us know what Photoshop is. It’s become an industry-standard in so many areas related to graphic design that it’s really hard to miss nowadays. And it didn’t earn its name idly, either.
Photoshop is a really good piece of software. It’s not as easy to approach as some other design tools, but it can do pretty much everything a person needs illustration-wise. You can make 2D art with it and animate it on top, you can make scenery, concept art, UI elements, etc…
It’s such a synonym with design that most examples of image editing software nowadays take at least some of their elements from Photoshop. You just cannot go wrong with this as a graphic designer.
The only real issue to me is that Photoshop isn’t cheap. Its license can cost a pretty penny, so unless you have some source of revenue, investing in this type of software can be a bit of a risky proposition. This is why I put so much emphasis on open source, but I can’t deny that with Photoshop, you really are getting what you pay for.
8. Adobe Substance 3D
Now, if you’re wondering what kind of digital art software is capable of producing AAA quality 3D graphics, then you need to look no further than the many applications of Adobe Substance 3D. It’s an incredibly powerful tool built by Adobe, which is a long-standing name in the design market.
Getting higher on the list, it’s inevitable that you’ll see some of these fancier examples of proprietary software. If you want to create high-quality models, textures, and scenery, this is probably one of the very best choices in the market. But this quality doesn’t come cheap, though. Adobe Substance 3D carries a very hefty price tag, so I can’t recommend it for beginner indie devs who are low on money.
This is one of the items on this list where it’s hard to talk about all the features, mostly because the Substance suite actually contains five or six different applications, all focused on different aspects of asset production. It really has everything you need if you want high-quality, realistic models and textures.
Some folks absolutely hate the idea of using asset stores and the name “asset flip” is like a permanent curse on the mouths of indie devs. If you’re like this, and your skills with 3D art are to match, this is the sort of software you should be using.
7. Construct 3
Alright, then, let’s get to full-blown game engines now. You have your assets, you have your animations, but that alone hardly makes a game. You need the mortar to hold it all together, more than that, you need robust programming to get your game to do things.
This is what a game engine does. And Construct is one of the best entry points into videogame development. It’s not free, but it has a free version that you can test out. The licensing fees on Construct are pretty accessible, though, so it’s usually not a big issue.
Construct is focused solely on 2D games and offers visual programming. That means that if you’re a programming noob like me, you’ll be able to access a lot of functionality by dragging boxes of programmable elements around. And if you do know how to program? Well, Construct 3 fully supports javascript, so you’re not limited by visual programming if you need more than this system offers.
You’ll notice, though, that not a lot of big hits are made using Construct. I think there’s a bit of a debate among more experienced devs who don’t consider it quite powerful enough, and javascript is not the most popular language for devs. Nevertheless, I think there is a balance between power, accessibility, and cost that Construct 3 fills very nicely, and that’s why I still recommend it.
6. libGDX
If you don’t want visual programming at all, but still want a complete tool to make a game with, then libGDX is a sure bet. libGDX is a cross-platform 2D game development framework that works with Java. Do I need to say it? Yes, it’s open-source, too.
libGDX has a big plus in that you can develop games for both PC and Android with it. You can check Steam and see some successful indie titles that were made with it throughout the years. It’s still being actively updated on GitHub as of the writing of this article, so I can still see some indie gems coming out of this in the future.
Being a framework, libGDX is better for people with more of a background in programming. I’ve seen quite a lot of aspiring devs that instead of being interested, are actually repulsed by the friendly UI of engines that provide visual programming. If you prefer to work with a more code-oriented system, this sort of framework could be for you.
There are a couple of similar frameworks that a more programming-focused dev can use to control as much of the code in their game as they want and still develop them in a reasonable timeframe. The reason why I chose libGDX is that despite being old by now, it still endures, is still being used, and has a lot of very solid titles under its wing.
Being more code-oriented though, and in Java on top of it, means libGDX has never been the most popular game development framework, and it probably never will be. But it has a lively, active community of over 7000 members that can be reached out to in Discord, for example. A lot of passionate and innovative people still use libGDX, and I have played a lot of indie titles made with it, so it has to be on my list.
5. GameMaker Studio 2
The top five of this list can be called the “cool kids” of the game dev world right now. It’s what everybody talks about nowadays. And to start off our top 5 I’m naming GameMaker Studio.
GameMaker Studio is a 2D-focused engine that’s incredibly popular with small indie devs. If you go to itch.io, it ranks amongst the most popular engines for games on that platform. Steam doesn’t skew as heavily, though, mostly because it’s more focused on commercial projects. The reason GameMaker is so popular is that it’s both powerful for the 2D world and easy to use. Its price tag is also quite reasonable, so inexperienced devs can use it to learn without bleeding their wallets.
GameMaker Studio is one of those engines that heavily supports visual programming, so it’s approachable to beginners. In addition to that, what really makes it stick out is the GML code language, which is similar to the C family of languages, but is actually built directly for use in GameMaker. It’s an excellent entry point for indie devs and people unfamiliar with the workflow of game development.
The benefits of having a scripting language made directly for your engine are mostly related to ease of use. I’ve seen some experienced programmers talk very harshly about the quality of GML, but still concede it’s easy to use and learn. The gist of the opinion around seems to be it’s good for small scope games but becomes hard to maintain for larger projects. This is why websites focusing on the indie niche like the aforementioned itch.io have so many titles under this engine, but larger releases with it are rare.
That isn’t to say it hasn’t had its gems, though. Spelunky was developed on GameMaker, and so were Hotline Miami and Undertale. With a good team, any of these more popular engines can be used to make really amazing stuff. Most of those titles came out a while ago, though, and it seems to me that even in the 2D indie niche, GameMaker is getting surpassed by other engines as the years go on.
4. CryEngine
CryEngine is CryTek’s 3D powerhouse. CryTek is an established name in the market, and in fact, Amazon’s now-defunct Lumberyard (of Star Citizen fame) is originally based on the code for CryEngine. I still remember when Crysis first came out, I was amazed video games could look so good.
This to me is what CryEngine really has going for it. It is one of the most powerful 3D engines out there. I’ve been playing Warhorse’s 2018 title Kingdom Come: Deliverance a lot lately, and the visuals of that game, god damn, I never thought Czechian mud could look so muddy. CryEngine games are known for looking good, but these photorealistic graphics might also be to blame for the meltdown of some older GPUs around the world.
CryEngine is usually considered a very “AAA” engine, in fact, most of the support you’ll get when you’re developing with it will probably come from CryTek themselves. There just aren’t a lot of people out there making games for CryEngine because the bar for entry is very high.
With its focus on first-person action games and realistic graphics, you’ll really need a larger team to tackle the type of game that CryEngine is designed to create. So it’s not really something I can recommend unless you’re serious about developing and unless you already have a team of people who are equally serious about it.
In fact, there seems to be a lot going on if you want to use CryEngine in the first place. Its licensing scheme is a lot more restrictive than those of other major engines, and CryTek seems to demand a lot from people wanting to use their system.
You won’t find small-time studios working with CryTek, in fact, Warhorse Studios, which I mentioned, is a bit of an outlier in this aspect. Their first title is what some people call a “triple I” game because of its large budget, despite being essentially an indie title.
With so many established hits, I couldn’t keep CryEngine out of the top 5, but with its high barrier of entry, it won’t be amongst the top 3, either.
3. Godot
Godot is the new kid on the block. The rebellious upstart. It’s getting to a point now that reminds me of where Unity was ten or so years ago. Godot was originally made for 2D games but has since grown to support 3D as well. It’s feature-complete, although many people complain it can’t get multiplayer games to run. Also, yeah, I swear it’s the last time: it’s open-source, too!
Godot is becoming more and more popular in the indie world. In itch.io, whilst Unity is still the king, Godot is already around the fifth most-used engine on the platform. I believe it’s only going to go further as the years go on.
One of the hurdles of being fully open-source and community-made is that it takes more time to fully implement any functionality. So a lot of people still eye Godot suspiciously as an engine that’s not quite up to the task of delivering major games. We all know open-source projects implode sometimes, but I think Godot’s development has kept a really nice and steady pace.
Godot supports scripting in C++, C#, and its own internal scripting language called GDScript. Now, unlike other similar engines with inbuilt scripts, GDScript is generally well-received by coders using the engine. This inbuilt script also supports visual programming, so it’s keeping up to date with the trend of creating easy-to-use solutions for people without too much programming knowledge. Even then, GDScript seems relatively easy to learn.
What makes Godot stand out is its node system. It makes reusing code extremely efficient, which is a big plus for the workflow that goes into development. This, together with GDScript being somewhere between Python and Lua really helps, too, as the format lends itself better to be used for scripting than C#. Godot is also incredibly solid for 2D animation, which is very nice for aspiring indie devs that are into 2D, you basically don’t need anything else besides the sprites to make good animations with it.
Godot isn’t fully there yet, though. I hear a lot of people complaining that it’s hard to develop in 3D with it. Not because it’s not possible but rather because the wealth of resources, assets, and plugins that other more famous engines have is simply not there. So you have to do everything manually, which is quite the nightmare if you ever attempted it. In the end, it simply lacks the inbuilt 3D functionality of other engines, and while I believe this will improve in the future, it’s a hurdle that Godot will have to overcome if it wants to be more popular.
In fact, Godot is still scarce on tutorials and resources when compared to Unity. Its growing popularity means this might change soon, but for all its nice features it just hasn’t reached the level of popularity that will allow the quality of life that you see in other engines.
I believe in Godot, though. I believe in its open-source nature and in community-driven software. Give it a year or two, and let’s see how far it goes. I think it really may be the next big thing in the indie world, and this is why it’s so high on the list.
2. Unreal Engine
Unreal is another one of those established “AAA” engines. It’s one of the oldest engines in the market and it’s still immensely popular for larger-scale games. Unreal was a huge hit back when it was first launched, and it redefined the direction of the first-person shooter genre, it also happened to spawn the Unreal Engine.
Epic Games has since pulled a Valve on us, though. Their stellar success with Fortnite and the launch of their own digital game store in competition with Steam have dramatically slowed down their own development of original titles. They seem to mostly have shifted to a business model focused on publishing and licensing.
Their proprietary engine is still one of the best out there, and it remains very popular. In fact, since 2020, its change in licensing model seems to have placed it in direct competition with Unity. The very recent release of Unreal Engine 5 in April 2022 is throwing it right back into the spotlight. A lot of game devs followed its launch closely, and have been swearing by it ever since.
Unreal is a fully-realized 3D game engine. But its developers have also put a lot of effort into making it approachable. It has a blueprint system that’s similar to visual programming styles, allowing people with limited knowledge of programming to work with it. The blueprint system is usually considered the best visual programming implementation out there, too.
Graphically, Unreal is probably the best engine out there, hands down. Given its ease of use with the blueprints system, coupled with the groundbreaking graphics technology that Epic is cramming into Unreal, it can deliver photorealistic 3D scenes and characters like no other engine.
Unreal has helped produce a lot of famous titles, too. I immediately think of Hellblade. It’s an astounding experience. The visuals and audio design depict insanity in a way so believable and terrifying that they compel you through the game. The power of Unreal as an engine geared towards the art side of games really aids this.
Another great advantage of Unreal is that it handles multiplayer very well, unlike many other items on this list. Multiplayer functionality is directly built into Unreal, it really benefits from the tech used to make Fortnite. Epic Games is huge on the multiplayer market, if you want someone to sell you the tools to make a multiplayer game, it’s them.
A major source of contention is that Unreal, besides being written in C++, also requires it for coding your games. C++ is not generally considered a beginner-friendly language, thus the focus on blueprints. It’s also generally known that C++ performs faster than C# or JavaScript. Games that have intense graphics requirements really benefit from this, as a couple of frames per second can mean the difference between a choppy mess and a fluid experience.
Unreal is definitely geared towards photorealistic games with a focus on first-person or third-person action. It’s very good for genres such as shooters and RPGs. But it’s hard to make games that aren’t necessarily focused on character movement and action. It’s also not very good for 2D games, or lighter applications such as mobile games. I’m not even sure whether you can make 2D games with it.
This may be a blessing or a curse. You must have a very clear idea of what you want to make, because Unreal does one thing better than most others, but isn’t as versatile as other items on the list. If you want the classic “Unreal look,” then you need to get this.
Epic Games seems to really be raising the stakes with their engine, adding a lot of state-of-the-art technology to their latest installment of the Unreal engine. It’s still not the most popular, but its user base has been growing rapidly, and it very well could become the number 1 most popular engine in the future.
1. Unity
Picking Unity to be at the top of the list might be contentious to some. However, it seems to me to be the logical pick. Why? Unity is massive. If you take a look at what gets launched on Steam, Unity has more titles using it than all other engines. Combined.
Is popularity itself a testament to quality? No, definitely not, any hipster can tell you that. But I don’t think Unity is a thing that’s just “popular because it’s popular.” I think there are underpinning elements to Unity’s sustained success as an engine that really deserve mention.
Despite its popularity, I see a lot of people complaining about a whole ocean of stuff in Unity. Some say it’s clunky, some say it stretched itself too thin. Some say it’s too focused on third-party plugins which sometimes get deprecated for no apparent reason. Unity isn’t perfect, not by a long stretch. I understand that this is all valid criticism.
When Unity first came out, it had the reputation for being an engine that spawned a million awful titles. This, to me, speaks a lot about its accessibility. If a lot of unskilled people can learn the engine and quickly create these crappy products, it means that the system is both approachable and, uh, “idiot-proof” enough to have served as the starting point for a lot of people. Some of those people are now really talented developers, and they are still using Unity. You need to learn to crawl before you walk.
This to me is built on its foundation of using C# as the main scripting language, despite being built in C++. C# is considered easier to work with, easier to read, and easier to debug. C# is what programmers call a “strongly typed” language. It’s a design feature that some love and others hate. It makes for understandable code, it makes coordinating code projects with multiple programmers easier. I’ve seen people say Unity encourages bad code practice, but I don’t really agree with that.
While games that are going to demand intense performance might really benefit from C++, the majority of games don’t demand enough for this to really be an issue. Where a lot of games really mess up, though, is with memory leaks, overflow errors, and bad code structure that create phantom bugs that are hard to spot. Easy-to-read code means it’s easier to solve these issues.
Of course, code quality is ultimately dependent on the coder. The warrior is more important than the weapon, as one might say. But I’ve consistently seen people give the opinion that C# helps with readability. And since the .NET framework went open-source, any issues with interference from Microsoft are significantly less likely.
Unity seems to suffer from its success. It has developed a model based on modularity. It’s either the swiss army knife of engines or a terrifying Frankenstein’s engine, depending on whether you love it or hate it. A lot of its functionality is offloaded onto third-party plugins, and that seems to tick a lot of people off, which I understand.
It can be incredibly frustrating to try to navigate plugins that may or may not be supported or well developed just to find features that other game engines seem to offer right out of the bat. But again, I don’t think this is as bad as some make it seem.
It’s exactly because Unity is modular that it is capable of creating all sorts of games. It’s exactly because it’s modular that you can kinda squeeze what you need out of it if you wiggle it the right way. It’s both a strength and a weakness, and I will concede that Unity seems like it often has a hard time integrating all its systems into a coherent whole.
Honestly, I like Unity because it’s a good system for indie devs. It’s accessible and good for making medium-scope games that can end up being amazing with the right dedication from their teams. It’s true, I like big-name RPGs every once in a while, but they’re not what I play most often. Given Unity is so popular, I’m sure most of the games I play are made with it.
Not everything needs to be photorealistic AAA. A game engine doesn’t need to be basically a graphics engine. Part of me loves how beautiful games look today, but part of me regrets that people are so focused on graphics. I much prefer a game with janky graphics and good gameplay. I’m the sort of weirdo that plays Dwarf Fortress without a tileset. I can’t say I don’t enjoy good graphics, but they’re not really the main point of games to me.
This is why I still give Unity the top place on the list. Its best feature is flexibility, which is also its worst feature. But all in all, I play games made with Unity all the time. The devs that choose Unity seem to have the desire to develop the sorts of games I like to play. And if I ever got serious about being a dev, this is where I would start.
You May Also Be Interested In:
- [Top 25] Best RPGs For PC You Should Know About
- [Top 15] Best Horror Video Games Based on Movies
- 20 Best Survival Games That Are Amazing (PC / PS4)
- [Top 15] Best Free FPS Games In The World