Never in the history of game development have indie developers, or developers in general, had access to such a massive array of resources. What is perhaps most impressive is that so many of these tools are available at no cost. That is exactly what this guide is going to look at, and end to end look at freely available tools for all facets of game development.
There is also a video version of this guide available here. [Coming Soon].
This guide is not meant to be comprehensive, I don’t want to flood the reader with too much choice. I do however want to make sure I capture the “greatest hits”, so If I miss a package that you believe should have been included, please let me know!
The Definition of Free
First off, this point needs to be addressed right up front. To use a popular open source expression, I am talking free as in beer, not free as in freedom. This means that non-open source tools are going to be included, although when source is available I well mention. The primary criteria is that the developer can get started and develop using the tool completely free. There might however be a cost after a certain revenue threshold is met (I find this to be an exceedingly fair business model personally) or there might be multiple tiers available, so long as it includes a free tier that enables you to ship and sell your title, it will be eligible for this guide. It will also include software and tools that have a premium version available, just know that I am referring to the free tier in this guide.
Art
In this section we will look at the essential tools for creating game development art, both 2D and 3D.
2D
There are a wide variety of 2D imaging applications available, some specialized for developing and animating 2D game sprites, while others are more general purpose image manipulation applications or painter focused.
Paint.Net – Windows
An excellent, easy to use general purpose Painting application with hundreds of plugins available, layer support and more. Frankly this is my goto application for simple image manipulation tasks. Featured Paint.NET in the GameDev Toolbox series if you want to learn more. Sadly it is Windows only software.
GIMP – Various – Open Source
Pretty much the closest thing to an open source alternative to Photoshop. It’s a powerful application with an unwieldy UI. Thankfully they have been focusing heavily on making UI improvements.
Inkscape – Various – Open Source
Inkscape is different from other applications on this list as it’s Vector based (instead of bitmap/raster based). It takes an approach similar to Adobe Illustrator or Flash and is very useful for creating resolution independent graphics.
Krita – Linux/Mac/Windows – Open Source
Krita is an open source application that is focused on digital painting, similar to commercial products like Corel Painter. In recent releases however it has been extended to add animation and text support, making it more and more useful for game development.
ASESprite – Windows/Mac/Ubuntu
This is app is dedicated to creating and animating 8/16bit style sprites. Supporting painting, layers, onion skinning, fixed color pallet, sprite sheet generation and more.
GratfX2 – Various – Open Source
Once upon a time there was a program called Deluxe Paint and it was responsible for art creation for 99% of games developed. GrafX2 is an open source implementation of that application.
Piskel – Mac/Linux/Windows/Web – Open Source
Piskel is another pixel art oriented image editor, although this one is somewhat unique in being usable in the browser, with offline versions available for download. Supports layers, palletes, animation frames and more.
GraphicsGale – Windows
The free version of this application is mostly just limited in what file formats it supports for export. Sadly it is Windows only. Offers pretty much every feature you would expect from a pixel graphics oriented application.
ShoeBox – Adobe Air
ShoeBox is an image/sprite/texture manipulation tool. Useful for creating textures from existing images, extracting an animation into a sequence of sprites, creating 9patch images and more. This is a utility and not a graphics creation package like many in this list. It requires the Adobe Air runtime to run.
TexturePacker – Mac/Windows
TexturePacker by Code and Web is a utility designed to create sprite sheets. Like ShoeBox above it is not an image creation or modification application. There is a free version but limits some advanced features.
3D
Blender – Most Platforms – Open Source
Blender is certainly the biggest 3D package available for free, it’s also open source and remarkably full featured. Model, sculpt, animate, physics simulation, render and composite all using a single program. There is a ton of power here, but also a huge learning curve. Thankfully, I’ve got you covered with a pair of tutorial series.
Daz Studio – Windows/Mac
Daz Studio is a 3D package, focused heavily on characters. It’s incredibly easy to use, is available for free, while they make money selling 3D models, outfits, etc. It is similar in scope and functionality to another application called Poser, which is not available in a free form. A warning however, they will spam the email address you register with.
Mixamo/Mixamo Fuse – Windows
Mixamo is a gigantic animation data base, and set of tools for applying animations to 3D models. Mixamo FUSE is a 3D character creator, using a video game like interface for making 3D character models. It was purchased by Adobe and currently is available for completely free. I reviewed Fuse before the Adobe acquisition if you want an idea of what you are getting. This is perhaps the simplest way to create 3D character models and is certainly the easiest way to animate them.
Sculptris – Windows/Mac
A free 3D sculpting tool from Pixologic, the makers of ZBrush. It’s not actively developed anymore, but is a great introduction to sculpting and the results can be exported for use in other software such as Blender. For more details you can watch our Scultpris feature in the GameDev Toolbox series.
Wings 3D – Most Platforms – Open Source
Wings is an excellent 3D modeling application built around the Winged Edge polygon. It enables fast and fairly easy 3D model creation. Development however appears to have stopped sadly. In recent years the 3d modeling tools in Blender have also improved greatly, making Wings less and less valuable.
Audio
By far my weakest area of knowledge, the following are applications freely available and used to create and edit audio from sound effects to background music.
Audacity – Windows/Mac/Linux – Open Source
Audacity is the swiss army knife for recording, translating and modifying audio files. Simply put you should stop everything and download this tool if you haven’t done so already. Audacity was featured in the GameDev Toolbox series if you want more information.
SunVox – Various
SunVox is a class of program called a ModTracker and can be used to create music. The interface is simply daunting, but the effects can be pretty amazing. Runs on just about every platform created by man and possibly aliens. Was featured in the GameDev Toolbox series as well.
ChipTone – Web
ChipTone is like a streamlined version of SunVox that runs in your browser. Comes with several game focused samples and the ability to record your own.
Bfxr.net – Web
A web based sound fx generator. Very easy to use, start with several default sounds ( explosion, laser, etc. ) then modify the generator to create exactly the effect you need, then download locally. Dead simple.
FMod – Windows/Mac
FMod is perhaps the most used game middleware for AAA and A game titles. While it’s commercial software, it’s free to use if make less than $100K USD a year. They also offer FMod.io that gives access to a gigantic library of sound effects for 99cents each. There is a first look video of FMOD.io available here.
Code
This is where the various programming languages and development tools are listed. Just a few years ago many of these products cost many hundred or thousands of dollars. These days most programming tools are made available for basically free. This features only the languages and tools most commonly used in game development. There are dozens of programming languages and literally hundreds of tools, so a line in the sand must be made.
Please note, you often don’t require a programming language at all, at least not a stand alone one. It’s increasingly common for many game engines to include the entire tool-chain for you, basically hiding this layer from you. Additionally, some may find using an IDE as way too heavy. Don’t worry however, you can also work entirely from the command line or terminal and use a lighter weight code editor should you prefer.
Languages and IDEs
Visual Studio Community – Windows
Visual Studio Community is perhaps the most used IDE (Integrated Developer Environment) in the world of both Windows development and game development in general. It includes several programming language, but C++, JavaScript and C# are the most commonly used for game development (VB.Net, F# and TypeScript are also supported). It also contains editors, debuggers, source control and much more. In fact it contains so much more it’s actually rather bloated at this point, resulting in an install size north of 10GB. Visual Studio Community is a revenue/team size limited version of the full Visual Studio package. It’s essentially the same product and for individuals there is no limitation, for organizations there is a team size limit of 5 developers and $1M USD in revenue. For Enterprise organizations, usage is not permitted. You can read the full license details here.
One recent change with Visual Studio is Microsoft recently acquired Xamarin, and made it’s suite of products available free as part of Visual Studio Community. This now gives you the ability to target iOS and Android using Visual Studio and C#.
XCode – MacOS
XCode is the Apple equivalent of Visual Studio and is a requirement to sign and package iOS applications. It can be used to develop for the various Apple platforms ( OS X, iOS, AppleTV, etc. ) with the primarily languages being Objective C and now Swift. C++ is also fully supported, but is treated like a bit of a red headed stepchild for some unfathomable reason. Like Visual Studio it contains a full set of development tools including code editors, an integrated debugger, forms designers and more. XCode used to require a developer subscription with Apple but this requirement and fee has now been removed. On a personal note, I’d rather use my forehead as a hammer than use XCode, but that’s just me.
GNU Tool Chain – Various – Open Source
GCC, or the GNU compiler collection, is a set of open source developer tools including support for just about every single language you’ve ever dreamed of using. If you are developing on Linux, chances are you already have much of the GNU toolchain installed. One caveat of the GNU suite is the GPL or Gnu Public License. This open source license greatly restricts what you can do with the software, basically requiring you to make all changes and modifications to the code open and available. Don’t worry, this restriction only applies to changes to tools themselves, not code you compile using them. As mentioned earlier, GCC is generally included with any Linux distribution. There are also ports to various platforms such as MingW for Windows or MacPorts on Windows. Keep in mind GCC is NOT an ide, it’s the underlying compiler/linker/debugger. Generally some form of editor is required as well.
LLVM – Various – Open Source
LLVM, which isn’t actually an acronym no matter what other people tell you, is a suite of tools very similar to GCC. It is instead released under the much more liberal BSD license and is the underyling technology behind a lot of commercial tools as a result, including XCode mentioned earlier, as well as closed development kits, such as the PlayStation 4. An LLVM implementation is available as part of the MingW port, while it can also be used directly inside Visual Studio. Like GCC, this is a lower level suite of tools and generally still requires an editor for code creation.
Qt Creator – Windows/Mac/Linux
Qt Creator is a full cross platform IDE primarily for C++ programming. It’s has several tools designed to work with the Qt cross platform UI toolkit, but can be used as a standalone C++ development environment. It includes a code editor, debugger, project management tools, UI designers, etc just like VS and XCode.
JetBrain’s Suite Of Products – Most Platforms
Instead of listing each product individually, it’s probably easier to mention the entire suite. Most of the IDEs made by JetBrain offer a free version that is generally enough for most developers needs. Perhaps their most known product is IntelliJ IDEA a Java IDE that has plugin support for dozens of programming languages. They also have C#, C++, HTML/JavaScript, Python, etc. IDEs available as well.
Eclipse – Most Platforms
Primarily a Java IDE, plugins have extended it’s functionality to support several other languages. Full suite of tools and used to be the preferred development path for Android development (it is no longer). Eclipse has everything and the kitchen sink. Personally I’d rather code using morse code then use Eclipse again, but I figured I’d mention it for completeness.
Netbeans – Most Platforms
Oracle’s Java IDE, but can add support for other languages via plugins. Again full featured, but certainly enterprise focused. I’d prefer it to Eclipse, but then, I’d prefer just about anything to Eclipse.
Other Languages of Note:
Java
Haxe
Python
Lua
Go
RUST
JavaScript/HTML5/TypeScript/Dart/CoffeeScript
Special Note for Android Developers
Android is a bit of a special case for development. While based on Java, it’s not technically using Java (it’s a long story and got Google sued). So long and short of it, there are special tools for Android development, specifically the Android SDK(Java) and the Android NDK(C++). Google also make an IDE called Android Studio available, a port of the IntelliJ IDE, specifically for IDE development.
Editors
The following are code oriented text editors. Don’t want the heavy install of a full IDE, are using a game engine that doesn’t include it’s own editor (or it’s built in editor sucks?), then you will probably want one of these. Each of the following generally offer most of the following: multiple language support, plugin extensibility, syntax highlighting, refactoring tools and more. Choosing the right editor is a deeply personal experience... Im not going to start any wars here... just list the options available... you pick your favorite.
Atom
Visual Studio Code
Sublime Text
Notepad++
And just so I don’t fend the old timers...
Vi (VIM, et al. )
Emacs
Just be aware of the learning curve, you will need to memorize about a hundred character combinations to become proficient with either of these editors. That said, once you’ve got them down they can be exceedingly efficient. It’s worth noting however the VI and Emacs keyboard bindings are often available in other editors. A quick note here, Visual Studio Code and Visual Studio Community have NOTHING in common. Code is a light weight cross platform editor, not a Windows only IDE.
Tools and Misc
Didn’t fit somewhere else but is available for free? It goes here.
Tiled – Windows/Linux/Mac – Open Source
The preeminent free 2D map editing software package. The map files Tiled generates are supported by just about every game engine available. We have a full Tiled tutorial series available if you wish to learn more.
FreeMind – Various – Open Source
Freemind is an open source mind mapping package. If you’ve never used one before, this is a great way to get ideas from your head to your computer. There are actually a massive number of mind mapping packages available, FreeMind just happens to be the one I’m most familiar with.
ShaderToy – Web
GPU Shaders are becoming more and more critical to the world of game development and ShaderToy is perhaps the primary place to share and download shaders on the web. You can also modify the shader source and see the results in real time. Almost 12,000 shaders currently exist in the collection and growing daily.
FreeSound.org – Web
A huge collection of free audio files.
OpenGameArt.org – Web
A massive collection of free game graphics.
Game Engines
This is a section that could fill a few hundred pages and only just get started. The reality is, almost every single game engine is available in a free form with differing business models. Some such as Unreal Engine take a percentage of your revenue after certain thresholds are exceeded. Others like Unity offer a free tier which has limitations, such as a maximum annual revenue, and require a subscription if you exceed those amounts. There are also game engines like Godot, Urho, Atomic and Panda that are completely free and open source. Then there are all the various frameworks such as SFML, LibGDX, SDL, Love, etc. many of which are open source and freely available.
This topic is well beyond this guide’s ability to cover. Thankfully I’ve slowly been reviewing many of these engines and frameworks as part of the Closer Look series.
The Video
[Coming Soon]