Hi,

This is a port of libgdx, a framework for games in Java. It has been
used for a variety of high-profile indie games in recent years. Notable
titles include Slay the Spire, Pathway, and others [1].

This port has been made with the main purpose to allow some of those
games to run, rather than development (although game development might
also be possible with it). It builds a number of different backend
libraries (JNI), as well as Java classes that are able to recognize
OpenBSD as a valid operating system, rather than erroring out.

This has mainly been tested with Slay the Spire, and the port comes
with 2 helper scripts (libgdx-setup and libgdx-run) that allow for ease
of use with Slay the Spire. I am hoping to expand the usability of the
port and the included scripts to include other games in the near
future.

The version of libgdx is 1.9.11 because that is the apparently last one
that doesn't break backwards compability for Slay the Spire. It can
also run the game Mewnbase (although the setup is currently much more
complicated). I anticipate that multiple separate versions of the port
may be worth having in the future to support at least some of the
better games with incompatible libgdx backend versions. I haven't found
one yet that requires a different version than 1.9.11 and runs well, so
I'm deferring multi-version setup for now.

A few technical notes on the port:

- maven pulls in a bunch of dependencies from online [2]. The way I
  work around this is with the m2repo-libgdx-${VERSION} package that
  contains all of them, and the '-o' switch for offline mode. I have
  reviewed the build logs for any hints of it still trying to download
  and have done a build with the internet connection turned off and all
  is good for offline building.
- There are many dependencies, with licenses summarized in the Makefile
  (Apache 2.0, BSD, LGPL, Eclipse Public License)

If you own Slay the Spire, you can test the port by going into the
game's directory where 'desktop-1.0.jar' is located, then run:

$ libgdx-setup
$ libgdx-run

The game works very well overall, but online features and gamepad are
not supported at the moment. There is also a high-frequency flickering
of transparent/fading objects that I haven't been able to debug yet.
Occasionally, it fails to load libopenal on startup.

On another technical note: a few of the patch-* filenames are too long
for tar(1), so I made the tarball with gtar. I was able to unpack it
with tar(1) without issues.

[1] https://libgdx.com/
[2] https://mvnrepository.com/

Attachment: libgdx.tgz
Description: Binary data

Reply via email to