On Mon, 19 Dec 2022 at 01:16:58 +0000, James Addison wrote: > The package won't contain any game data -- only the game engine -- > and so I'd also welcome best practices around how to make it easy for > players to get the game up-and-running after the package is installed.
If it's a DFSG engine with non-redistributable data, then it will need to go in the contrib archive area, and please look into teaching game-data-packager to make an accompanying non-redistributable -data package on users' systems. Quake 1/2/3, Return to Castle Wolfenstein and Tyrian are some good examples of games in this situation. game-data-packager has a declarative language for how to unpack common archive file types and which data files need to be extracted from them. If the game data is free to download and there is a convenient download URL (like Tyrian and the shareware/demo versions of Quake 1 and 2), then it can do the download and repackaging automatically. If the game data costs money (like RTCW, Quake 3, and full versions of Quake 1 and 2), g-d-p can extract it from a Steam installation or download from GOG with lgogdownloader, if applicable. Either way, if the user has a pre-downloaded copy, they can pass that into g-d-p as a command line argument. I see QC is on Steam (should be straightforward) and itch.io (I don't think we have built-in support for that the way we do for Steam and GOG, but if someone wants to contribute it...) <https://salsa.debian.org/games-team/game-data-packager> The other good way to handle proprietary game data is for the game to be able to load it from a designated place in the user's home directory, ideally taking into account freedesktop.org $XDG_DATA_HOME and $XDG_DATA_DIRS. If the engine has the concept of a search path for data (like the Quake series do) then the same engine can support both "install for just me" and "install into /usr" transparently. smcv