-- Leo's gemini proxy

-- Connecting to thfr.info:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini;lang=en

Commercial Games on OpenBSD (May 2024)


I think this is a pretty good time to give an update on the current state. One of the goals is to provide starting points for people who want to understand the limitations and see how to get involved.


The Good


Godot is Taking Off


Since Unity's install fee public relations disaster in September 2024, Godot has received significant attention as a serious alternative. It seems like a few high-profile game studios like MegaCrit games (Slay the Spire) have abandoned Unity in favor of Godot. (Note Slay the Spire is a LibGDX game; they were working on the sequel in Unity and then switched to Godot).


Some examples of very successful Godot games that run on OpenBSD include:

Brotato

The Case of the Golden Idol

Cassette Beasts

Cruelty Squad


There are still issues with some Godot games. I have found at least one Godot game that uses the encryption "DRM" (Legendary Creatures 2). Other reasons include reliance on Steam middleware, although we have GodotSteam included in the Godot 3 port, and I hope to add more GodotSteam middleware for Godot 3 and 4 in the future to close some more gaps.


Shoutout for op@ for maintaining the godot ports that allow running these games!


More (and Better) Ways to Run Games


rigg is now in ports (on -current). IndieRunner is coming along and I'm hoping to have it ready for OpenBSD soon. There will be future integration such that IndieRunner will use rigg to launch games where possible.


This will replace fnaify completely. The big advantage over fnaify is a much more modular, maintainable, and modifiable codebase. The OO structure should allow making a GUI in the future...


IndieRunner is probably best understood as a launcher, initially with just a CLI interface. It supports all the engines of fnaify, that is FNA, XNA, MonoGame, and a few Zachtronics games based on their in-house mono-based engine. In addition, several other ones have been added into the IndieRunner framework: Java (LWJGL, LWJGL3, LibGDX), GZDoom, HashLink, Love2D, ScummVM.


This project is still undergoing some refinement before it will be ready for proposal to ports@.


PlayOnBSD Database updates


The current stats (as of the time of writing) show 427 games listed, and I'm adding more basically weekly as I'm becoming aware of them and testing them.


Repo with the database and the conversions to json/csv


Shoutout to hukadan for making a beautiful frontend for the database!


https://pobsd.chocolatines.org/

Random game - my new favorite browser startpage

Stats derived from the database


The Bad


The libraries and runtimes needed that are used by the games have a way of getting out of sync. For some games, our ports libraries are too new. This seems to be the issue with the recent lack of audio in Stardew Valley (suspecting OpenAL version incompatibility), and was also a hiccup with steamctl when protobuf was updated to 5.26.1 (steamctl expects protobuf~=3.0). Having multiple versions of the libraries in ports is probably a non-starter, as it would increase maintainer burden and risk carrying forward security vulnerabilities from outdated versions.


Stuff still gets released using FMOD, which is a proprietary audio middleware library. My disappointment in that regard in 2023 was Cobalt Core, sadly - an FNA game that couldn't help but rely on FMOD which makes it a non-OpenBSD game. It's just disappointing if a game otherwise based on free & opensource software frameworks like FNA does this...


The Ugly


Lost Ports


Barony dropped (or neglected) its OpenAL backend. Keeping the port working with the latest game files has become unmanageable and it was retired.


The DarkMod's distribution model of relying on downloads of content, but only supporting the most recent version, along with difficult to obscure bundled dependencies like modified zip/minizip made it unmaintainable for the time being.


Big Tech Dominance of Software Ecosystems


Microsoft's dotnet is a portability nightmare. More and more projects rely on dotnet core 8.0 instead of mono. Examples include Godot version 4, MonoGame.


The majority of indie game releases still use Unity. I am hoping that with more time passing since the Unity install fee debacle in September 2024, we will see the share of games made with Godot picking up.


How to Get Involved


Purchase preferably from digital distribution platforms that don't require their own proprietary clients or API without open implementation for downloads and running the games. Generally: itch.io > GOG > (Epic Games Store or Steam).

Help to raise the Status number for games in the OpenBSD-Games-Database by reporting how much of a game can be played how well?

Advocate for the use of free & open-source engines or frameworks (e.g. Godot, FNA, Love2D).

Advocate that games using these free & open-source tools can skip Steam integration (shoutout for Deepest Chamber: Resurrection and The Doors of Trithius).

Advocate for more games to open-source at least their engines (shoutout for keeperrl)

Advocate for games to *not* use proprietary middleware like FMOD.

Get involved in updating (and possibly maintaining) some of the Steamworks ecosystem: goldberg_emulator, steamct/py-steam, ...

Take on new projects, like: open implementations of libGalaxy.so and libEOSSDK-Linux-Shipping.so, ports of dotnet and obs-studio, ports of newer versions of LibGDX.


Conclusion


This is all I can think of at the moment. I probably forgot to mention a few more things - feel free to add them in the comments. I've personally had a lot of fun playing several games on OpenBSD in the last months - from Secret of Monkey Island 2, to OpenTTD, to Urtuk: The Desolation, Balatro, and Delta-V: Rings of Saturn.

-- Response ended

-- Page fetched on Sat May 18 06:28:41 2024