Gede: May I suggest that you place a link to your website on the first post (or to another, more relevant post on this subject), and write a little bit about
why this project exists, what problems does it solve, how it works, how can someone contribute to it, and so on? I think it would help with adoption.
PookaMustard: And, I didn't understand the OP enough, so what's the point of ./play.it? Is it allow easy integration of the games on platforms where gog_xyz.sh installers aren't supported by default?
vv221: For Linux games sold on GOG, ./play.it scripts provide a better integration, mainly a system-wide installation and menu entries, and an integration with your package manager. For games using DOSBox, ScummVM or WINE, it will use your system-provided version instead of the one bundled in the installer.
For Windows games, it will do the same ;-) That way you will avoid all the data extracting and WINE/DOSBox fiddling and get something that "just works" without spending half a day on it.
vv221: (from the Witcher forum) That’s a question that comes a lot, I think I should write at some point a full description in English of the purpose of this project ;)
About the way the scripts work, it’s quite simple: the game data is extracted via innoextract (for The Witcher, other tools are used for other games), a bit re-organized, then packaged in a .deb package that you can install afterwards on any distribution that supports .deb packages.
Here goes a list of some of its advantages over a direct installation via WINE/PlayOnLinux:
_Package building works unattended even on a headless system, meaning you can use your machines at work to build the package and then transfer it on your own machine to install it ;)
_Once you built the .deb package you can keep it to have a way to install the game more quickly than via WINE.
_Game data is installed with read-only permissions, you can’t mess with it by accident.
_On multi-users systems, you just need to install the game once and it will work for every user.
_You can at any time reverse the game at its "freshly installed" state in a couple seconds, without the need to re-install it. It is especially useful if you like to tinker with lots of mods (I don’t know if it is pertinent for The Witcher).
_User-specific data is kept in directories in each user $HOME directory, directories you can easily copy between different systems without having to track down saves & settings files "by hand".
_Saves & settings are persistent, even if the original game did nothing to ensure this. This means you can uninstall the game to recover disk space, and if you re-install it later you will keep you saves & settings.
_Save & settings are per-user even if the original game doesn’t take care of this: each user of a same system can use different settings and a different set of saves without this changing anything for the other users.
_For some games (The Witcher included) some tweaks are applied on first run to make sure the game works as intended without the need for the user to worry about anything (PlayOnLinux does this too).
_Your system-wide installation of WINE is used (PlayOnLinux installs a new WINE version for nearly each and every game).
_Integration with your environment is seamless: once the game is installed you have no way to distinguish it from a game installed via the official repositories of your distribution.
-----
Any question you might have about all of this is welcome ;)
Excuse me for the many quotes (hope it goes through), but I wonder if there has been progress on writing some paragraphs on what these scripts do, in clear terms, for us noobs?
Also, reading that old quote I managed to dig up, isn't it risky to make data files read-only? Many games write to some of the files, like settings and so forth.
Two more questions
1) I checked out the github, and noticed that Banished isn't listed in the scripts, of either v1 or v2, yet it's on the webpage and you put it in the Banished forum. Is there a problem with this script? I saw we had some issues trying to install it (I've not tried again, but maybe I should).
2) A couple of times I saw that the package realpath was needed, but from what I could gather from the source code, it's not checked for in the script. Wouldn't this be a good idea? You mentioned somewhere that it's part of the core packages on Debian (?), but it's apparently not so on Mint, and I just re-installed 18.2 yesterday. It's not there either.
Oh darn it, one more =)
3) Looks like the scripts default to /usr/local. I'm probably not alone in having a relatively small / (root) and big /home, or separate harddisks for games/big files. Is there a way to set a custom path for all the scripts, or is it possible to get queried for where you want to install the game once the .deb has been created -- like is the case for the GOG installers? In my case for instance, I'm installing the games to an additional harddisk that is formatted with ext4.