[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1026277: ITP: quadrilateralcowboy -- first-person cyberpunk adventure game



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


Reply to: