Hi Everyone,
I’ve been doing game development since 1998 and own a small company that made dozens of games since then. Mostly adventure and casual strategy games.
I’m also a big Linux fan, been using various distros since Fedora 3!
A few months ago I finally managed to convince my team to invest time and effort into porting our games to Linux and we have ported 22 so far, with more on the way. Most of them use my trusty old C++ engine, while a few are made in Unity.
The’re all available on Steam, to which I have to give a very big thanks, Steam and Flatpak have finally given Linux gaming a chance to go mainstream. Before flatpak container systems, it was almost impossible to ship proprietary code to Linux. It’s not easy even now but at least it’s possible, and so far, all players report succesfully running our games.
I’ve also made a lot of build automation so when we made updates to our games, builds for all platforms will be shipped at the same time. (Of course most of our bulid machines are Linux based ;)
All of our Linux games are available on Steam. And they have 1/1 parity with features on Windows and Mac, meaning Cloud saves and Achievements work as on other platforms.
My personal favorite among our games is an old school point and click adventure: Kaptain Brawe.
Hope you like some of the games and give them a try.
Many kudos from a fellow game dev. Amazing work as well! :)
Before flatpak container systems, it was almost impossible to ship proprietary code to Linux.
I don’t see how you mean. Adobe FrameMaker and WordPerfect word processor shipped proprietary binary code for Linux, twenty-some years ago.
You’d ship the dependencies in a bundled
lib/
directory, then usually have a script to setLD_LIBRARY_PATH
in addition to any other setup. If, in the future, updated libraries became available, the user could easily choose to use the updated ABI-compatible versions instead. C++ ABI compatibility isn’t as good or simple as C, but it’s still possible.You have a good point, I’ve edited the original post. I’m speaking from a game development perspective. We have to depend on more than just libc and X11 from a given distro.
btw steam scout runtime was originally based on LD_LIBRARY_PATH but that approach has it’s exceptions and limitations, that’s why containers are a better approach overall.
And yeah, when you get the hang of it, it’s not that tough, but to be fair, we already ported our engine to many platforms so the engine was already prepared for porting. If you have a DirectX-only game, porting is much more difficult.
We have to depend on more than just libc and X11 from a given distro.
We’re not a games developer, and use a lot more C than C++, but I’ve rarely if ever seen a case of diamond dependencies in the field.
I had a few instances of diamond dependencies myself. Never turned out to be a great experience :) In most cases it means I was doing something hacky to begin with.
"Before flatpak container systems, it was almost impossible to ship prop code to Linux’
Me scratching his head, wondering how he played all that prop games on Linux for years and still does without Flatpak
Just say you guys ported your stuff to be more visible, maybe get verified sooner or whatever for Steam Deck purposes. It is ok, no shame in that. I don’t need buttering up or weird reasoning that makes no sense or whatsover just like you did to justify sudden porting that happens.
Saying “you guys were economically not viable but you are tho due to Deck” is totally fine.
Perhaps the reasoning was poorly communicated but you can’t compare the pain of supporting every arcane distro to flatpak.
To be fair, my experience with flatpak is limited to using it and just reading a lot about how it works. I’m not saying steam runtime and flatpak are the same, but as I understand it, they are quite similar internally. So my point is that steam and flatpak/flathub are the main forces driving devs to be willing to give linux porting a chance. Before that, very few devs dared.
That is why Steam Linux Runtime exists.
Any chance you called this project/effort “OpenSSH” themed? 🤔 you know… porting 22 and all that ;PPP
woooooow I can’t believe I din’t see that :D Next milestone - HTTP!
;DDDD