Feature Video games are the new Hollywood, complete with celebrities and hyped blockbusters like Cyberpunk 2077. In 2019, they made half as much again as the movie sector’s paltry $101bn. You know who won’t see much of that dough? Desktop Linux games developers.
Around the world, a committed community of independent gaming devs happily churns out games for Linux on the desktop. They’re the gaming world’s niche auteurs.
One of them is Ciprian Bacioiu (known as “Zapa” online). To make ends meet, he takes on mobile game development contracts for freelance clients. When he has enough to live on for a few months, though, he concentrates on his one-person development studio, Bearded Giant Games, which pumps out ports and original creations for Linux fans. His first big title to sell on Steam, Ebony Spire: Heresy, was a retro first-person dungeon crawler. The second, Space Mercs, is a space shooter.
Almost no one codes games for Linux exclusively. Zapa, one of the most committed Linux gaming devs around, still releases Windows versions of his game – for now. Nevertheless, his “Linux First” manifesto sees all his games launch on Linux initially with other versions appearing only if there’s enough interest.
Why export games for Linux at all? All the odds seem stacked against developers like Zapa. The operating system’s market share is woefully small on the desktop at less than 3 per cent. Nevertheless, Linux sales still make up about a quarter of his revenues.
Zapa focuses on Linux as his main development platform because he grew up using the operating system. It’s home to him. Besides, he says, from a technical perspective Linux is a better platform to port from.
“If you’ve developed something on Linux, then even if you use middleware, even if you use other frameworks, if they work on Linux 99 per cent of the time, they’re going to work without a hitch on Windows,” he explains. “There’s nothing on Linux that isn’t on Windows.”
Zapa copes with the revenue issue by keeping costs low. As a solo developer living in Romania, selling 5,000 copies of a $10 game can keep him working on more games full time. “That gives me a runway of about six months,” he says. “In some cases, that’s equal to about two to four games.”
He ended up selling about 6,000 copies of Ebony Spire: Heresy. He generally gets at least $200 through from sales of this and his other game on Steam. That might buy an Ubisoft executive lunch. “In a low-income country, that by itself pays rent,” he says.
Welcome to Basingstoke
For Caspian Prince, Linux represents almost no sales at all. The co-founder of UK-based Puppygames develops retro-chic arcade games like quirky zombie action game Basingstoke. He works remotely with pals in his spare time, often staying up till 3am to code after his day job… developing software. For him, producing a Linux version is relatively straightforward thanks to the Lightweight Java Game Library (LJGL), a framework he developed.
Being Java, the games that he builds run just as well on Linux as Windows. “It was never any effort for us to make a Linux portable games because there wasn’t any port. It just runs,” he says.
He doesn’t sell many Linux games. Like Bearded Giant, Puppygames puts its titles on Steam. In the past year, Puppygames has sold 290 of its eight games on Linux and nearly 9,000 on Windows. Even with its Patreon donations, the firm is just about breaking even.
Prince makes next to nothing from the Linux versions. In fact he’s preparing to give more of them away by donation on itch.io, a platform for indie gamers. So why produce Linux versions at all, given the inevitable support issues that come from users on multiple distros?
Linux gamers are just so darned nice, he says. They’re a welcome alternative to trolls using other platforms who slam his games – and him, personally – on social media.
“The Linux people are all really genuinely very helpful, very nice. Really, generally a bunch of great guys, because they’re all basically nerds and just grateful to get anything that works at all,” he says. While they might not pay much, money isn’t everything.
“When you aren’t making any money and you’re only doing it because you love it, having somebody tell you that it’s great and worthwhile and you made their day is priceless.”
Code wants to be free
Doing stuff for free or donations is a big part of the Linux gaming ethos, which is often steeped in open source. Prince open-sourced the LJGL in 2002, and six years later Markus Persson (aka “Notch”) used it as the graphics engine for that obscure indie title Minecraft. Persson sold his studio, Mojang, to Microsoft for $2.5bn in 2014. Neither Prince nor the LJGL project saw a penny in sponsorship or goodwill money.
First-person stealth game The Dark Mod (TDM) also uses open-source code. The project, which runs on Linux, Windows, and MacOS, began as a mod for Doom 3 and still uses the engine from original creator id Software.
“id Software had a record of both supporting Linux in their games as well as open-sourcing them after they were reaching their commercial end-of-life,” says “Greebo”, an Austria-based developer who has worked on The Dark Mod project since 2006. He is part of a team of volunteers who keep adding new features to the game.
“Doom 3 just had [Linux support], but it was a team agreement to keep supporting it. TDM was lucky to have one or two Linux developers among them who made sure the game was still working on their platform,” he says.
Maintaining that support for the estimated 10 per cent of TDM users running Linux is a challenge, though. “If you stop thinking about a platform build, support is dropped sooner or later.”
It helps that the Doom 3 code is so polished. “It didn’t rely on a lot of external libraries, maybe for exactly that reason of having their code compiling on every platform,” says Greebo. “So when you need to link against a new library (eg to load a new video file format), you have to keep in mind that it has to be available on the other platforms too.”
Support is easier when your users are nerds
Continuing to build for Linux users might be more difficult for some than others depending on their underlying development platform, but one thing is certain: Linux presents unique challenges when it comes to support.
Ben Golus, a designer who worked on Planetary Annihilation at Uber Entertainment, lamented the poor effort-reward ratio for Linux games support last year in a tweet. The game shipped on Windows, Mac, and Linux, he said, adding that Linux users accounted for 0.1 per cent of sales but 20 per cent of auto-reported crashes and support tickets. “Would totally skip Linux,” he concluded. Oh dear.
Luckily, not everyone feels that way. The Linux community can be a useful resource, says Caspian. Whereas users on other platforms might simply tell him the game isn’t working, Linux users treat bug hunting as a collaborative project. “They’ve come up with all sort of little fixes and tweaks over the years to help find the rough edges of deploying stuff on Linux.”
Root cause analysis is often easier for Linux and not just because the users are typically more technical, says Hein-Pieter van Braam. A Linux gaming dev himself, he is also on the project leadership team for Godot, an open-source games development engine that runs on and outputs games for multiple platforms including Linux.
“In practice, because of the different device drivers and different setups that people have, some of the problems that people think only Linux has, Windows also has,” he says, arguing that it’s often easier to pin down device driver issues on Linux.
“On Linux, you can just fix classes of problems and then they’re gone, whereas on Windows, they tend to resurface from time to time,” he adds.
Things are changing in Linux gaming. Valve now has Proton, a project that does a good job of running many Windows games on Linux platforms. That’s unlikely to stop Linux devs doing their thing, either via native code or multi-platform engines.
“I’m extremely happy it exists, like I’m happy [Google’s cloud-gaming platform] Stadia exists. If people can feel comfortable and have access to their things on Linux, it’s a blessing for everyone,” Zapa says. “I’m still here, and I’m still making my games.”
Becoming even more niche
If anything, Bearded Giant is becoming even less mainstream. Zapa is phasing out support for Apple as the company becomes more controlling. He also plans to decamp from Steam soon enough, having grown tired of its opaque algorithms and the difficulty in getting visibility on the platform.
Instead, he’s leaning into obscurity. After his next game, an ambitious project for which he has hired a producer, he plans to drop support for Windows. Instead, he’ll continue to create games for Linux first and then build versions for retro platforms like the Commodore 64. You’ll have to order them from his web store on a USB stick.
“As long as there’s like, 2-300 people out there who like these games, I’m good,” he says. “I can keep doing them. I’m extremely lucky to be doing this work.” ®