dreamer / luxtorpeda

Steam Play compatibility tool to run games using native Linux engines
https://luxtorpeda.gitlab.io/
GNU General Public License v2.0
391 stars 9 forks source link

Implement semi-playable engine to allow user to test and report bugs upstream #32

Open neuromancer opened 5 years ago

neuromancer commented 5 years ago

Luxtorpeda seems to aim to playable engines right now (e.g. GZDoom), but you could implement some that are not 100% playable to let users to test and report bug upstream. For instance, RigelEngine is a re-implementation of Duke Nukem 2, but it cannot run the all the episodes yet (only the shareware one is fully implemented). This could be a very useful for the developers of every engine, since they only need to support the Steam version and Luxtorpeda will take care of provide the latest revision / release.

However, it should be clear for the user what to do if the engine crashes or wants to report some missing feature.

dreamer commented 5 years ago

I agree - it would be awesome if users could choose between several "streams" of packages - either to test alternative engines or e.g. nightly development builds, etc.

I have several ideas on how to handle this, but they need to be more fleshed out, and other features need to be implemented first (like e.g. automatic package upgrades - right now updates need to be triggered manually by removing a package tarball from cache).

I will work on this post 0.1.0 release.

thaewrapt commented 4 years ago

From my experience, there are several ways to implement this. As an example, we could use a different branch/version of Luxtorpeda to include "experimental" patches and a possibility to choose between "normal", "stable" tool ("Luxtorpeda" in Steam Compatibility Tool chooser) and development-oriented one ("Luxtorpeda-dev" or "Luxtorpeda Experimental" in the same dropdown) — so, different packages for different purposes. The other approach (think of Proton-way, for example) is to implement all of "stable" and "unstable" engines in the same Luxtorpeda instance but unlock them with some kind of switches, like environmental variable LUXTORPEDA_ALLOW_UNSTABLE or something.

From the other side, more engines would mean more support and, overall, more effort. This is the thing that should be considered also.

Edit: this was a reply to the first post, mostly.