Playing with Penguins — Can You Make Games on Linux?

Can you make games, though?

A bunch of penguins about to jump into the water.
Photo by Alexandra Mirgheș on Unsplash.

Most of the people I've been sharing these articles with are, of course, game developers. People who develop games, and hopefully try to ship them to as many people as possible. In particular, I love visual novels and narrative games. So this article started as a simple "Can you run Ren'Py on Linux?".

Many people asked for different engines and tools, however. So it has become a more general piece.

To make the story short: You totally can make games on Linux. Most tools, in particular, open source tools, are able to run on Linux just fine.

Godot, LÖVE2D, Ren'py, Unity, Unreal, these work! With some caveats. We'll explore them below.

Away from Microsoft

Do you like Microsoft? Trick question, do you like Visual Studio? There's no Visual Studio on Linux. There's Visual Studio Code and VS Codium, but the full-fledged IDE for C# and C++ is not available.

If you spend a lot of your time on Visual Studio, you have some alternatives:

  • Try moving to VS Code. Maybe it's all you need!
  • Zed is a free and open source editor with C# support. (Ignore the AI buzzwords. You can turn it all off.)
  • The JetBrains suite does work on Linux, so Rider is on the menu if you can afford it (I use it through the student plan). You can also use the non-commercial version if you do games as a hobby or want to try it out before deciding to go pro.
  • Minimal, extensible editors like Neovim and Emacs are alternatives, if you are open to trying weird new things.

If you aren't using C# or C++, really, Visual Studio Code is perfectly fine.

But Engines Though

I'll do this quickly, for our sake:

  • Unity — Works on Linux. Supports DEB (Debian, Ubuntu, Mint, PikaOS, PopOS) and RPM (Fedora, Nobara, OpenSUSE, RHEL). Has an Arch (and CachyOS) package too. Extensions should work perfectly fine.
  • Unreal — Works on Linux. You download the files from their website. You'll find the binary as "UnrealEditor" (without extension) inside the "Engine/Binaries" folder. Double-click it. It should work. If it doesn't, check if there are any dependencies missing. Extensions should work perfectly fine.
  • Godot — Works on Linux. Anything.
  • Ren'py — Works on Linux perfectly, any distro. I've been using it professionally for a bit.
  • Visionaire Studio — Says it exports to Linux. Only has a Windows version of the editor. Maybe it'll run through Proton? Want to use it, so I'll report back when I find out.
  • LÖVE2D — Runs perfectly anywhere.
  • GameMaker — Should work through the Steam version (Proton), but there's Linux support in the works. Focused on Ubuntu, but you should be able to make it work elsewhere.
  • Construct — It's all browser-based. Should work fine.
  • Gdevelop — Works fine. Exports to Linux.
  • Pygame — Works on Linux just fine. Exports to Linux perfectly well.

To Export or not to Export

Most, if not all, of these engines let you export for Windows and Linux from the editor. Some only work on certain distributions, however, or only export to certain versions of Linux.

Don't let that deter you, however: exporting to Windows and running your game in Linux through Proton is perfectly acceptable. It's how most people on Linux run their games anyway. It also lets you avoid dealing with Linux dependencies and packages, which can be a bit of a headache as a game developer.

Source Control

Do you use git? You probably should. I plan on talking about Git later, but it's a great way to keep backups of your projects and undo changes if the need arises. If you don't use Git, feel free to skip this section.

If you do use Git, you might be saddened by the loss of GitHub Desktop. If you're looking for an alternative, I'm quite fond of Gitnuro, which you can find on Flathub easily. You have other alternatives, though.

  • Use the terminal commands. (It's not that bad, I promise!)
  • Lazygit is a terminal interface for working with Git. Might be enough for you!
  • Most IDEs mentioned have Git integrated support, including VS Code. Check if that suffices for your needs

Starting to distance yourself from GitHub isn't a bad idea, too. They've been merged into Microsoft's AI division.

⚠️
There is a "GitHub Desktop" app on FlatHub. It's not official, so I don't recommend using it and can't vouch for its safety.

So much other stuff, so little time!

I can't possibly cover every single aspect of game development in a single post. I could talk about 3D modelling, texturing, level design, pixel art, sound design, so much! For now, this will have to do, but I promise I'll circle back to these many different themes.

Feel free to let me know in the comments if there's something you'd like me to cover! And as always, consider donating to my Ko-Fi; each dollar helps a ton.

Have a wonderful day!
Love, Clari.