Beautiful FOSS Software

A gamedev has a bunch of different things to do, and the question of which software to use comes up a lot! So I thought I’d compile this little list of recommendations/reviews.

Most of the tools listed here are FOSS. Why? Because I love software and being allowed to fix/extend/review the sources, hate reading licenses, and want to support the amazing communities of people that create and maintain these tools! Not having to spend money is a big plus for a beginning game studio, too…

The list will be updated whenever something new comes up 🙂

OS: Linux!

Yeah, that one is pretty obvious. I’m running an Ubuntu Studio because it comes with the usual suspects for creating art, sound, and software pre-installed. It works remarkably well out of the box, even with my convertible laptop’s touchscreen. Its drawing surface just worked (some configuration required for the touchpad though, but that is personal taste) and it even handles a second drawing tablet with no trouble at all!

Game Engine – Godot!

This beautiful engine is very lightweight, has good support for UI creation, can export to lots of platforms… and it’s written in a language that I like too! The build system is amazing and easy to use even for someone not familiar with the code base. Don’t be intimidated by the idea of compiling the engine yourself, it’s very doable!

I found it easy to get to work with Godot, and there’s a ton of well-written (!!!) documentation out there if you get stuck. They’re constantly improving and listening to their growing community.

Plugins

There may not be as many as for Unity, but I wanted to mention some things I found useful or interesting:

  • GUT – Unit testing for GDScript! If you have code that does complex stuff or you just want to verify that shit works as intended, invest some time here, it really helps in the long run. A recent update has even added hints and tools to investigate possible memory leaks.
  • TODO – gives you an overview of any #TODO or similar comments in your GDScript code, as any programming environment should.
  • Ridiculous Coding – adds sounds, particles, and screen shake to your window when coding. Utterly useless, but borderline necessary for dev streams!

Art

This is more complicated, as it depends on the situation. My personal bias still favors working with vectors, but I do intend to learn to draw soon-ish.

Raster images: GIMP and Krita

I have used GIMP and Krita so far and liked both. GIMP has been around forever and has made big steps towards usability in the last years. The days of screaming at the monitor because it just. won’t. fucking. draw. for mysterious reasons are fortunately over, but I fell out of love with its weird/clunky UI for object manipulation.

Krita feels a lot more modern and even comes with vector tools, and I love working with vectors. It is my current go-to drawing software and recently also released on Android (tablets only) with basically the same interface as on the PC. I still have a lot to learn and didn’t even try the vector tools yet, but would definitely recommend it for drawing.

Vector images: Inkscape <3

By far my favorite art tool! The UI is efficient, its tools do what I expect, help for all my stupid non-artist questions is available online… I honestly don’t get why some people are giving it a hard time. It still tends to crash sometimes when your files get too big and sometimes slows down when working with lots of objects, but they’re working on it. After being way too annoyed by GIMP, I even abused Inkscape for raster image manipulation sometimes…

Sound Design: LMMS and Audacity maybe?

My weakest area. I did some things in LMMS and triple oscillators are fun, but sound is intimidating. Audacity is also quite cool once one has a sound file to cut/filter/process. Tweet recommendations at me, I might try out more software! 🙂

Video editing

Also a situational thing – I have tried many tools and am happy with none 🙁 Here’s my list:

  • kdenlive – powerful, not too hard to use, maybe a bit sluggish to work with. I would probably recommend this, but some sound driver bug makes it crash on my system right now…
  • Shotcut – also powerful, UI was slightly harder for me personally. Complex filter/keyframe stuff is pure hell, but it does get the job done (again, they’re working on it).
  • Flowblade – basically Shotcut in pretty, but without the tutorials 🙁 I had much of the same issues as in Shotcut and the lack of docs finally turned me away. If this tool gains a community, it could be amazing though!
  • Openshot – gorgeous and simple video editor, but lacks support for fine-grained control. Want to decide for yourself how long transitions should be? … well, sorry about that ;( Otherwise, keep an eye on this little gem!

Other tools

Some tools that don’t fit anywhere else, but may be interesting:

  • Git – obviously 😉
  • Zim – personal desktop wiki that has plugins for task management as well! I used to prefer having tasks and info in one environment (which does not need a cloud because my tinfoil hat is blocking the WiFi). Task management is a bit clunky though, but it deserves a mention!
  • Everdo – my former to do list application. Repeating tasks just annoyed me too much in Zim at the end… and Everdo exports to .csv as well, for nerds who want to look at tables 🙂 Unfortunately, it ended up completely glitching out on me after a while of using it, and I could not re-import the data and make it work again without it trying to push some paid license on me that I didn’t actually need.
  • Super Productivity – my current to do list application. The interface is beautiful, and it is very feature rich, supporting tags, projects, notes, attachments, and syncing to a local or cloud server. I’m still not happy with how repeated tasks are handled, but this app is amazing, try it out! It also supports stats for nerds, even letting you customize what goes into your .csv file.
  • Peek – record screen and save as gif. Boring, but necessary and gets stuff done.