yairm210 / Unciv

Open-source Android/Desktop remake of Civ V
Mozilla Public License 2.0
8.34k stars 1.56k forks source link

Feature request: Add classification for mods #6998

Closed LootDust closed 2 years ago

LootDust commented 2 years ago

While the number of mods in available mod list has increased to hundreds, I think it is necessary to make a classification for all mods, that can make the mod list more tidy I bet.

The classification may base on whether the mod is a ruleset or is this mod based on another mod. And maybe there are also some more choices that can be used as the basic of the classification.

alexban01 commented 2 years ago

Not sure if it can be done with the current model. Maybe if modders would add more labels like ruleset/mod-of-mod/unit/tileset/etc, then I think we could sort the mods in-game.

SomeTroglodyte commented 2 years ago

I have long ago proposed a modOptions field to let the modder declare compatibility, to help guide the user after download. This is not so different. Then there is the issue with github search being broken. AFAIK that remains unsolved, and a query can't be trusted to return all unciv-mod marked repos. There have been possible solutions proposed, and moving the knowledge about existing mods off the github query engine is a common idea. So if all that lives elsewhere (like in a curated repo or wiki), then stuff may just get possible that involves additional data - I wanted splash screens long a go - the Aliens still have it - and even had the fully asynchronous mod manager using them. Such things would be easier with a dedicated structure.

On the other hand, I had a small plan that is currently postponed - fetch all "categories" while querying, then allow to filter on them. Look at my mods - two are already marked. Same thing - no sense pursuing as long as query results unreliable.

The independent database of any persuasion thingy would be a lot of work and too big to tackle in a few days - at least it would be if I started it.

LootDust commented 2 years ago

The independent database of any persuasion thingy would be a lot of work and too big to tackle in a few days - at least it would be if I started it.

It's true that creating and maintaining a reliable database is difficult. But I have a idea: adding a new field in ModOption as you proposed. For newer mods which are still in developing, it is a optional field to add label in a list of all tags that debelopers collaborated and set in game. For those mods which have given up updating or have been in final version, we could leave them in state without tags. It is obvious that some apps in some stores maybe have no tags, so we can also just leave some mods while apply the classification for mods providing labels. When searching for labels, the system check the ModOption file to look for labels, if there are some exceptions then add a "Unclassified" label.

And, if there have to be a list of all labels, here is a possible version: Ruleset, Vanilla Expansion, Mod Expansion, Sandbox tool, More civs, More eras, (More xxx, etc.), Resources, Musics, Translation and so on.

I am just a modder and not sure if there has some problem in codes, so those above are some suggestions from my individual perspective.