yairm210 / Unciv

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

Feature request: Warning suppression for Mod validation #10432

Closed hackedpassword closed 2 months ago

hackedpassword commented 10 months ago

Category: Doesn't Hurt To Ask <3

This is a follow up to #10355

While warning about unsupported features via modchecker is useful and practical, the introduction of these recent warnings is excessive, imo, based upon the following rationale.

Tighten RulesetValidator for Terrain introduced the following warnings into mod Z2, as expected:

CoastTile turns into terrain Force which is not a base terrain!
OceanTile turns into terrain Force which is not a base terrain!
Bridge1ocean turns into terrain Force which is not a base terrain!
Bridge2ocean turns into terrain Force which is not a base terrain!
Bridge1coast turns into terrain Force which is not a base terrain!
Bridge2coast turns into terrain Force which is not a base terrain!
Bridge3coast turns into terrain Force which is not a base terrain!
Bridge3 turns into terrain Force which is not a base terrain!
BridgeFL occurs on natural wonder CoastTile: Unsupported.
BridgeFL occurs on natural wonder OceanTile: Unsupported.
BridgeFR occurs on natural wonder CoastTile: Unsupported.

Striving to clean up warnings and tighten the mod for quality improvement, and better modder etiquette, is desirable. Not being able to resolve these warnings, literally having no means, except stripping out core gameplay elements, is not a good solution. Yellow flagged on top of irremovable? seems overly squelchy.

The real problem is not on the modders' end, it's the players' end.

Why does the player need to be inundated with broken mod warnings at the Start Game screen, when the mod is not broken? I'd use terms like suffer and punishment on the player's behalf from a UI/UX perspective; such warnings add unnecessary confusion. btw that's actually a general observation not just limited to the mod in question.

The concept of suppression comes into play because it's already being utilized: G&K GlobalUniques.json

        // Filtering uniques must be listed here to tell RulesetValidator they're OK despite untyped
        "Aircraft"

Comment that line out: image

Can we do two things?

  1. Remove the squelchy pop-up in the Start Game screen, or turn it down with maybe a friendly summary? A modder will know (or for aspiring noobs as we've all been it can be displayed as a trailing info line) to go to modchecker for further information.
  2. Add either a static suppressor like "Aircraft" above, or a dynamic suppressor for unresolvable but unbroken MC complaints. I doubt the latter will pass qc tbh.
SomeTroglodyte commented 10 months ago

G&K GlobalUniques.json

Thanks for the catch because that is outdated with 4.8.16 and should be removed. The message you show should no longer show, and if it does, has different text.

-> #10435

hackedpassword commented 10 months ago

Aircraft message is suppressed.

Unsupported complaints remain. UI complaints in New Game screen should not be scaring the player into thinking their device will melt down if they hit that red button.

3242

SomeTroglodyte commented 10 months ago

Notes - unordered, no specific validity filters:

SomeTroglodyte commented 10 months ago

An inventory, focus "kinds of usecases", random mod selection:

Caballero-Arepa commented 10 months ago

@Caballero-Arepa - were you the '3rd and 4th Unique Component' maintainer? If so, elucidate?

Ehm, no, I have collaborated, but maintainer is @EmperorPinguin .

But: I agree a 'comment' unique would be useful, as these are placed and used to inform the user of something or simplify a series of uniques. For example that "Cheaper to Buy", you dont place that in the Civilopedia because you don't want the user to go to the Pedia to know critical information/benefits about the construction.

So yeah, you are right about that.

We shouldn't display civilopedia text in the city screen or new game screen because it's precisely for civilopedia.

SomeTroglodyte commented 10 months ago

Ehm, no, I have collaborated, but

Wild guess from that Llanero.png in there, was too lazy to actually check 😇 "Y ahora, en vivo en nuestro Mod, Calores Vivantes con sus Canciones de la Provincia!"

SeventhM commented 10 months ago

Clan Horseman obsoletes at tech Rifling, and therefore Redomestication for its upgrade Hussar may not yet be researched

I was looking at this at one point and this one is actually interesting. Still a case of "shut up, this is intentional", but actually validator is at fault. Its upgrade is on the same tech as it, which isn't counted correctly since Redomestication is not in the tech path of Rifling

SomeTroglodyte commented 10 months ago

on the same tech as it

See - actionable - I'll need to start collating a checklist. But soooo tired. Whine. :cat2: :zzz:

Now who wants to take over coding what?

Caballero-Arepa commented 10 months ago

Ehm, no, I have collaborated, but

Wild guess from that Llanero.png in there, was too lazy to actually check 😇 "Y ahora, en vivo en nuestro Mod, Calores Vivantes con sus Canciones de la Provincia!"

What can I say 😏 - "¿Me lleva él, o me lo llevo yo?"

That song... 👌🤌

SomeTroglodyte commented 10 months ago

Other "Cultures" have ~fakes~ heroes like this one as pinnacle of local popular music...

github-actions[bot] commented 6 months ago

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 15 days.

SeventhM commented 6 months ago

We have comment uniques and #11142. Is this still relevant?

Caballero-Arepa commented 6 months ago

I still think that

turn it down with maybe a friendly summary?

is needed. You often see users complaining about some yellow errors, who don't understand what these mean and think it's buggy.

SeventhM commented 6 months ago

Sure, I guess. I'm not against making the warning a bit friendlier, though that's not my expertise. Main concern there is kinda suspect any warning there will set off user complaints, and the warning still is necessary (that's why we have two separate categories of yellow warnings, on the player sees and one they don't

Probably the main thing is maybe the user facing warning shouldn't also include settings only warnings. That would at least maybe reduce the list down for some mods that have green "warnings" for filtering uniques

Caballero-Arepa commented 6 months ago

Yeah, a common player shouldnn't get a list of all the wrong uniques in the face. Instead, they should get something like "These mods have minor/severe/possible mistakes. You can play it, but don't expect everything to work. Contact the mod creator to solve these issues" And then a list of the mods that have these errors.

hackedpassword commented 5 months ago

Contact the mod creator to solve these issues

Mmm I still think the above is a bad deference. Isn't that the same headache that yairm210 endures (at a larger scale)? Hmm.

Over in AF, the concept works. However the mod remains active, and is a top mod. What if the mod is not being maintained or abandoned? That becomes player frustration.

How about Information like:

"This mod was auto-checked revealing potential glitches. These are not harmful, but issues found may have the following effects:

The mods' github repo is located at [repo_url]. Mod issues may be reported there, game issues can be reported to [Unciv_repo], and community discussions are held in [discord]. PSA: Try modding yourself! See [modder_info_section]

Mod issue info: :> [drop down arrow] click for issue details ... [mod checker info] "

Language above is posed as non-alarming, player-focused. :1st_place_medal:

Caballero-Arepa commented 5 months ago

Definitely that's much much better.

hackedpassword commented 4 months ago

Improved idea:

It could be practical to implement a manual suppression mechanism that allows the modder to control known issues in a way that's not lost in analysis, friendly, easily applied:

"turnsInto": "!Force", // Suppressed because the modder acknowledges the unresolvable modchecker conflict
"uniques": [
            "!Label", // Suppressed being an intended label
            "!Double movement in [Plains] <when not at war>", // Suppressed as this combo may work as desired acknowledging dev expectations
], 

Modchecker output

Modchecker complaint A Modchecker complaint B ...

Suppressed messages: 3 Modchecker complaint 1 Modchecker complaint 2 Modchecker complaint 3

On the New Game screen, the drop down would not be present, only the counted summary.

hackedpassword commented 2 months ago

Suppression is built in. #11142 🥳

https://yairm210.github.io/Unciv/Modders/uniques/#triggerable-uniques

My gratuitous appreciation for implementing this @SomeTroglodyte

SomeTroglodyte commented 2 months ago

gratuitous

"Unearned, Unjustified" :rofl: :zany_face: :joy_cat: