Open Source Game Development - Let's get an overview into what and where to find resources for making your game.
Game development can be very expensive and time-consuming, so it is encouraging to know you can find tools that offer professional grade functionality, ease of use, and won’t destroy your budget. Here is my personal selection of software (divided into ten categories) you don’t have to pay for, but will give you everything you need to create your independent game.
(Protip: Many projects listed below accept donations or run funding campaigns, so if you find someone's creation useful, consider supporting them.)
1. The game engine itself
At this point, the obvious choice would be Godot Engine. It’s a completely open-source 3D/2D capable multiplatform engine with the editor available on all three great OS families (also installable through Steam). Although it’s not as advanced as Unity or Unreal, it’s hard not to admire its ease of use, a comfortable python-like scripting language (with C# support coming soon), constant improvement, and a very Indie-friendly philosophy. Allow me to quote:
“No strings attached, no royalties, nothing. Your game is yours, down to the last line of engine code.”
Check it out here.
Platforms: Linux, Mac, Windows
2. 3D Modeling, Rigging, Animation, UV Mapping, Texture Painting, Video Editing, Rendering
For all those tasks there’s one omnipotent tool at this point, and yes, it’s Blender. Well, it is often rejected by beginners because it’s not an easy to learn software, but then again, what professional 3D software is? And it is professional, fully capable, ever-expanding software, on par with commercial giants like 3ds Max and Maya (useful tip – making Blender’s interface and key bindings similar to them is a matter of a few clicks). Some would say that it even exceeds the capabilities of most, with its countless addons and openness. A gigantic community of users can guarantee countless tutorials for beginner and pro alike.
The main scripting language – and the basis of the application’s functionality – is Python, so if you know your way around it nothing will stop you from using it to expand the functionality by yourself, or simply automate some tasks.
By the way – Blender is also one of the best open-source video editing programs out there. Again, it offers a little bit different approach in some aspects, but you probably won’t regret taking the time to learn. Camera mapping and camera tracking are in the package.
Platforms: Linux, Mac, Windows
3. 2D Art
Need to create concept art, sprites, and hand-drawn textures? The Open Source world will have you covered. Recommending a single application to handle detailed 2D tasks is impossible, so I’ll just go ahead and split the category further into three:
Krita for digital painting (a powerful tool with a great community). Available on: Linux, Mac, Windows.
Inkscape for vector graphics specifically (quite heavy but perfectly functional). Available on: Linux, Mac, Windows.
GIMP for raster graphics specifically including image retouching (lightweight and very powerful in skillful hands, not to mention countless plugins further expanding it’s capabilities) . Available on: BSD, Linux, Mac, Solaris, Windows.
4. Sound Editing
Most audio related work, you will find yourself in while working on your game, can be done with Audacity. Multi-track editing and recording with superb compatibility. Again, an impressive collection of tools and effects, with the possibility of expanding them with plugins.
If you’ll need anything with more overall control, Ardour will be the professional tool for you.
Both available on: Linux, Mac, Windows
5. Music production
Let’s be honest – if you are willing to attack the task of creating the game’s music by yourself you already know what type of software you need. Try LMMS then and you shouldn’t be disappointed. Created as an Open Source alternative to FL Studio and actively growing. Comes with a lot of instruments, samples, and effects included in the package.
6. Code editing and IDE
When in need for a lightweight IDE for fast code editing (whether it’s Python, C, or HTML) Atom and Geany are my number 1 and 2 choices. They’re simple, powerful and can deal with almost every language out there. Both available on Linux, Mac, and Windows.
For web development, you may be better of with BlueFish which is one of the best options out there.
7. Basic office productivity
Whether you need to create a presentation explaining why your game will be revolutionary – or categorize the assets you will be creating for the next couple of months in to nicely organized tables – you will need some productivity software at some point.
After the migration of OpenOffice to Apache, the most praised free productivity package is seemingly LibreOffice and for a good reason. Actively working with AMD to implement OpenCl and make use of APU’s, constantly growing in functionality – a good choice for any small business. Available on: Linux, Mac, Windows.
8. Tools for writers
Are you writing a story for your game and constantly find yourself distracted and procrastinating? Try distraction free writing software like Focus Writer, which is available for Linux, Mac, Windows. If you want something extremely simple, try PyRoom (available only on Linux).
Trelby (Linux and Windows only), on the other hand, is a great open-source alternative to every other scriptwriting software.
9. Page layout, publishing, and typesetting
Even if you focus on Internet marketing, creating professionally looking publications for promotion purposes can be in your future. For professional page layout editing Scribus will work better than many proprietary alternatives. Available on: eComStation, BSD, Haiku, Linux, Mac, OpenIndiana, Solaris, Windows.
And if LaTeX is your favorite way of dealing with text, Texmaker (Linux, Mac, Windows) is quite handy.
Yes, it’s a fact – if you are willing to publish the game yourself, at some point you will have to do some accounting. If that’s also a task you want to handle personally (why not?) then you will be probably better off using a tool that will help you keep track on all the details. A great Open Source tool for small businesses would be GnuCash that will handle your budget and transactions with ease.
Platforms: BSD, Linux, Mac, Solaris, Windows
BONUS: The Operating System.
Why not go Open Source all the way? Most operating systems based on the Linux kernel (which is probably the best option at this moment) are basically giant IDE’s hidden behind friendly Graphical User Interfaces (with infinitely powerful command line tools) so for programmers, it can be a very beneficial change. For the rest – look above and imagine it’s just a tiny bit of software available for Open Source OS’s (of course, proprietary software like Maya is also available on them, typical multimedia playback is not a problem, and more and more games are getting multiplatform all the time). Difficult installation and complicated use are a thing of the long gone past. Of course, the curious user, eager to learn how to use the command line, will find himself benefiting quite fast...
My recommendation for first-time users would be naturally Ubuntu or one of it’s flavors representing different desktop environments like Kubuntu (or Lubuntu for older computers particularly). Remember: For the stable experience always go with the LTS version (currently 16.04) and there is nothing wrong in installing an OS on a virtual machine or as a second operating system. Online tutorials that can help you with both options are available all over the Internet.
And that’s just the tip of the iceberg!
Do you agree with my selection? What Open Source software do you use regularly? Let me know in the comments or through Twitter @M_Klekowicki