Page 1 of 3

polyamory - Multi-version LÖVE

Posted: Wed Oct 24, 2018 6:39 am
by grump
Yo dawg, I herd you like LÖVE games, so I put LÖVE in your LÖVE so you can play while you play!

polyamory is an experimental, portable LÖVE distribution for Windows and Linux that runs games written for every LÖVE version since 0.8.0.

When you run a game with polyamory, it looks at the version identifier the author hopefully put in his game and starts it with that LÖVE version. This works with games written for 11.x, 0.10.x, 0.9.x, and 0.8.0. If the game has no version information, it tries to detect what version the game was written for and asks which version you want to run it with, with a recommendation for the best matching version.

Image
Yeah, I'm no designer

polyamory does not require installation. The Windows version can be used separately from your installed LÖVE, or you can replace the installed version with polyamory to run all LÖVE files with it. It already contains the fix for 11.1 that prevented it from starting on Windows 10 update 1809.

The Linux version is a standalone, self-contained AppImage that should work on all systems where LÖVE 11.1 works.

This is an experimental hack. I have only tested it with a few games. Most should just work, but there's probably a bunch of games out there doing weird shit in their conf.lua that breaks stuff. I'd love to hear about those games, so I can look at them and try to make polyamory more compatible. Report non-working games on Github or here!

Github repository

License: same as LÖVE

Download version 0.4.2

Re: polyamory - Multi-version LÖVE

Posted: Wed Oct 24, 2018 10:48 am
by pgimeno
Glad you made it! Great job.

Is 11.0 really necessary? It's just 11.1 with bad bugs that I doubt will be relied on by any program. I think it's safer to launch 11.1 when 11.0 is requested.

For the others I'm not sure. Even though newer revision versions are supposed to be compatible with older ones with the same major/minor version, and they won't complain about bad version, I know in particular that 0.9.2 broke some WAVs with respect to 0.9.1.

Re: polyamory - Multi-version LÖVE

Posted: Wed Oct 24, 2018 11:28 am
by grump
pgimeno wrote: Wed Oct 24, 2018 10:48 am Glad you made it! Great job.
Thanks! Got it done much faster than I thought, mainly because I just wrote it in LÖVE instead of brushing up my rusted C++ skills.
Is 11.0 really necessary? It's just 11.1 with bad bugs that I doubt will be relied on by any program. I think it's safer to launch 11.1 when 11.0 is requested.

For the others I'm not sure. Even though newer revision versions are supposed to be compatible with older ones with the same major/minor version, and they won't complain about bad version, I know in particular that 0.9.2 broke some WAVs with respect to 0.9.1.
I don't think they're strictly necessary. I included all revisions for the sake of completeness and because I wanted to get it done fast and not waste time researching the implications of not having them. I can still drop them from later releases, provided there's anyone even interested.

Another questionable thing is that 11.1 is included twice, once for polyamory itself and once as an additional runtime for the games. I can probably bring it down to ~40% of its current size once it's properly cleaned up.

Re: polyamory - Multi-version LÖVE

Posted: Fri Oct 26, 2018 10:43 am
by D0NM
Thank you very much. I've tested it and found a bug in my code. Thanks to you )))
I'll be using it for 0.10.2 -> 11.1 migration.

Re: polyamory - Multi-version LÖVE

Posted: Sat Oct 27, 2018 2:40 pm
by grump
Improved some things in version 0.2.1. Only includes the latest revision of each release now and correctly passes command line arguments to the game.

Thank D0NM for testing!

Re: polyamory - Multi-version LÖVE

Posted: Tue Nov 20, 2018 11:01 am
by grump
New version 0.3 adds a bunch of previously missing libs for Linux, making older versions work on more distributions.

Also, new UI.

Image

Re: polyamory - Multi-version LÖVE

Posted: Mon Nov 26, 2018 2:15 pm
by grump
Updated to LÖVE 11.2.

Re: polyamory - Multi-version LÖVE

Posted: Sun Dec 02, 2018 8:35 pm
by HanaIndiana
Nice work! This is very useful.

Re: polyamory - Multi-version LÖVE

Posted: Wed Dec 12, 2018 12:11 pm
by Juckey
Cool! This will make surfing old demos on the forums much easier.

Re: polyamory - Multi-version LÖVE

Posted: Fri Dec 14, 2018 12:07 pm
by czak
Thanks, this is a great idea!

Unfortunately, I have some issues on Linux. Games for LÖVE 11 work fine, but for older games I'm getting the following error:

Code: Select all

/tmp/.mount_love.exMbEyE/usr/bin/love: error while loading shared libraries: libmng.so.1: cannot open shared object file: No such file or directory
Is this something missing on my system?

I tried with e.g. https://kneeko.itch.io/oh-my-giraffe as well as some older demos from the forum.