Hi,

This is a script that I wrote that sets FNA games up to run on OpenBSD. FNA is
a framework has been used to make many XNA indie games portable to Mac and
Linux. FNA itself is open-source and included in more than 30 indie games of the
last ~5 years. What it does is it provides a path for the closed-source C#/XNA
code to use open-source libraries (like SDL2 and OpenAL) instead of Windows/XBox
ones to achieve cross-platform support.

Me and some people from the #openbsd-gaming IRC have been using this for months
now. The script's main function is to automate the steps to set these games up
to use those libraries on OpenBSD. Taking a glance under the hood, the script
identifies required libraries and compares to what's present on the system,
moves some of the bundled mono files out of the way that may not match our
ports-mono, adjusts the library names to recognize e.g. OpenBSD's libSDL2, and
drops in a custom launch script for the game.

Games that were tested and working with this in its current form include:

- Stardew Valley
- Chasm
- Rogue Legacy
- Owlboy
- Hacknet
- Cryptark
- Dust: An Elysian Tail
- FEZ

To try it, you'll need the Linux version of an FNA game, extract it (unzip),
and run

$ fnaify

in the main directory of the game. Note that copies obtained via Steam may fail
to run if no Steam client is present.

Some notes on the port:

- It would be best if someone could host the tarball because I can't make
  guarantees for uptime of my server.
- RUN_DEPENDS includes ports with libraries that are commonly used by FNA
  games. This is not the "bare-minimum" list which would be mono + SDL2 +
  OpenAL - this would be enough to run Stardew Valley. The current RDEP list
  is my best attempt at finding a happy medium between bare minimum and
  including everything.

ok?

Attachment: fnaify.tgz
Description: Binary data

Reply via email to