HerrKnarz / Playnite-Extensions

Collection of useful Playnite extensions. See Readme for details!
MIT License
18 stars 2 forks source link

[Enhancement][Wikipedia Metadata] Improve reviewers score detection #52

Open T1mL3arn opened 1 year ago

T1mL3arn commented 1 year ago

Is your feature request related to a problem? Please describe.

When I fetch data for some games I see no critic score, e.g. Sonic 3 has reviews table, but the extensions does not find it.

Describe the solution you'd like

Improve the extension to find reviews like on Sonic 3 page.

Additional context

There might be review tables that has aggregated/average scores (e.g. Pandemonium). Such cases can be controlled with new options for setting "Metacritic score to use", e.g. "Average on single reviews" to take into account all reviews except aggregated, "Average on aggregated" to get average from aggregators only.

HerrKnarz commented 1 year ago

Sorry for responding only now. The wikipedia addon only the uses the rating from Metacritic or Gamerankings from the first occurence of a reviews table yet, since most games only have one. Sonic 3 doesn't have those aggregated scores in the first box, so none are found. I already have it on the agenda to search for a second review box in that case.

To add an average score of all the single reviews isn't that easy, since Wikipedia has no forced default way to add those ratings. some use percentages, some a system with ten or five points, some have stars, only a text value like "very good" or grades like in school. I'd need to parse all of those individually and also have to take all the different ways the boxes could be formatted into account.

And then there are often separate ratings for the different platforms a game was released for. Sometimes those appear in a table using their own columns, sometimes the platform simply appears in brackets after the rating or in front of them using a colon (or other ways). Since the different ports of the game also often are very different (especially in the 8 to 32 bit eras) fetching an average of all platforms won't be the best idea either (the addon does that for the aggregated scores as of now though). But parsing the platforms themselves also would be difficult, especially since I usually don't know the right platform beforehand and can only show one rating in the metadata results.

Considering all of those things I guess it likely will be more work to add that seemingly small feature than it took to write the whole addon in its current state.

TLDR: Searching for the rating in a second ratings table is already planned, building an average of all ratings won't be implemented (at least not in the foreseeable future) because of the expected effort.