freeciv21 icon indicating copy to clipboard operation
freeciv21 copied to clipboard

Modpack installer more like a pkg manager

Open jwrober opened this issue 1 year ago • 2 comments

Is your feature request related to a problem? Please describe. Right now, the modpack installer is kind of dumb. It simply grabs a list of files to download and does it. The problem is it doesn't handle:

  • Complex dependency mapping between packs
  • File versioning
  • File management (e.g. if one version of a pack has a file and a second version doesn't, the old file isn't removed)
  • Control and reporting of what is installed
  • Better integration into the game interface
  • It's ugly and utilitarian
  • Easy way for new submissions

Describe the solution you'd like We already have an open issue for the last bullet (better integration) in #1366. We could add a menu option for it as well in game. Would need to ensure that if a pack is installed in game (and probably off start menu) that a game restart isn't required for the game to see the change.

We have basic dep handling, but you can get cross-wise with circular mapping issues. Not sure we need to handle that per se, but better error messaging/handling would be good. Could be a CI/CD action check at PR open.

We don't do any kind of file list management. Easiest solution is to wipe all files on a re-download and start from scratch. Might be a better scalpel method though. e.g. delete old files and only download changed ones.

We fixed basic reporting in #2133. However might need more SQL changes to handle file level reporting.

Lastly, let's add theme support to the fcmp. Take existing theme the game is set to and display. Creates a more integrated experience. Then we don't have to provide .desktop and metainfo files for the utility.

Right now you need to know the json format and git/github to make submissions. As a nice to have, figure out a way to allow for easier submissions of new content. Maybe follow what flathub does with a repo per package? I'm sure there are other options as well.

Describe alternatives you've considered Discussions have also occurred around using an established package manager. The challenge there is:

  • Must be super cross-platform like fc21 already is
  • Integrate into the game interface
  • Not command line, provide a nice UI/UX
  • Others I haven't thought of yet.

Additional context Discord conversation starts here: https://discord.com/channels/378908274113904641/912500712833974322/1192480967407968287

jwrober avatar Jan 04 '24 23:01 jwrober

In reviewing what Battle for Wesnoth has for their modpack installer:

  • Global Search
  • Filter by State, Type, Tags, List Order
  • Pack details
    • Icon associated with the pack (sexy!)
    • version
    • Author
    • Install/download Size
    • number of installs (showing popularity)
    • Type
    • Inline button for install/remove
  • Detailed description when selected
  • Ability to install prior/older versions - not sure if this is something we really need

Not that we have to copy them or anything, but some ideas

jwrober avatar Jan 05 '24 00:01 jwrober

Ability to install prior/older versions - not sure if this is something we really need

This would be great to have for the LTT/LTX rulesets (one version per game...)

lmoureaux avatar Jan 05 '24 00:01 lmoureaux