Index | Thread | Search

From:
Thomas Frohwein <tfrohwein@fastmail.com>
Subject:
Re: New: Recoil - 3D engine for Real-Time Strategy games
To:
ports@openbsd.org
Date:
Sun, 25 Feb 2024 20:33:28 -0500

Download raw body.

Thread
*ping*

I'm still interested in getting this in. Upstream has merged the
first set of OpenBSD-specific patches, so this has a decent outlook to
be a longer-lived engine port.

On Sun, Feb 18, 2024 at 10:37:54AM -0500, Thomas Frohwein wrote:
> *ping*
> 
> Attached new tarball with a few changes:
> 
> - update to latest BAR release engine 2314-g9e0bf7d
> - disable unmaintained manpages (PR #1291)
> - with help from bentley@, remove some unneeded <zlib.h> and use
>   <endian.h> instead of <sys/endian.h>
> - fix thinko with xdgConfHome
> - limit executable detection to /usr/local/bin/ path to avoid TOCTOU
>   with prior approach that used access(2)
> 
> ok?
> 
> On Sun, Feb 11, 2024 at 07:04:24PM -0500, Thomas Frohwein wrote:
> > Hi,
> > 
> > Please find attached the port of Recoil, the successor of the Spring
> > engine. It goes back in lineage to Total Annihilation from the 1990's
> > and allows for visually stunning, large-scale RTS battles.
> > 
> > From DESCR:
> > 
> > Recoil is a battle tested open-source RTS engine, successor of Spring. It is
> > designed, in its basis, to be able to run the content of the game Total
> > Annihilation and deliver a similar, but improved, gaming experience. Games can
> > be intense and very large scaled, with fight of, literally, hundreds of units
> > and the mods allow very wide arrays of different strategies and tactics. Some
> > of the games powered by Recoil: Beyond All Reason, ZeroK, TA Prime and Metal
> > Factions.
> > 
> > The README has details on how to install maps and the game-specific
> > engines, as well as a lobby application. Not all parts of the Beyond
> > ALl Reason experiences can be run (yet?), as their launcher that
> > integrates with the lobby and engine is an Electron app, sadly.
> > 
> > A few notes on the port:
> > 
> > - The games that I tested (Zero-K and Beyond All Reason) require a
> >   data size of at least 4-6G.
> > 
> > - Online multiplayer is untested, but if someone wants to try it out
> >   please message me.
> > 
> > - Versioning is currently 0.major.minor.etc... as upstream told me of
> >   their intention to switch to year-month versioning similar to what
> >   Mesa does. This way, that change wouldn't require EPOCH.
> > 
> > - I'm hoping to keep the port mostly in sync with the versions used by
> >   Beyond All Reason, as those are getting significant use and attention.
> > 
> > - A few OpenBSD-specific codepaths had to be implemented in patches/,
> >   for example: getting data dir locations without wordexp, using
> >   argv[0] for the executable location, enumeration of CPU cores (this
> >   isn't accounting for SMT at this point), futex(2) instead of syscall
> >   (SYS_futex...), some pthread non-portable API.
> > 
> > - The bundled Lua 5.1 is too customized and integrated to easily remove
> >   it in favor of the lua lib from the port.
> > 
> > - Alignment aware memory pools patches from the GH PR have fixed a
> >   couple of gnarly crashes.
> > 
> > - As far as I know we don't have libunwind available in a way that
> >   could be used by this port, so those parts of integrated backtraces/
> >   crash handling are stubbed.
> > 
> > Make sure to look at the README for using pr-downloader to get maps and
> > engines in order to test.
> > 
> > ok?
> 
>