Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix standardised score conversion failing for some taiko scores due to overestimating accuracy portion #26332

Merged
merged 1 commit into from
Jan 2, 2024

Conversation

bdach
Copy link
Collaborator

@bdach bdach commented Jan 2, 2024

Standardised score conversion would return a negative total score for https://osu.ppy.sh/scores/taiko/182230346.

The underlying reason for this is that the estimation of the accuracy portion for a score can be above the actual accuracy portion in the taiko ruleset.

When calculating the maximum accuracy portion achievable, TaikoLegacyScoreSimulator will include the extra 300 points from a double hit on a strong hit, per strong hit. However, this double hit is not factored into accuracy.

Both of the aforementioned facts mean that in taiko

maximumLegacyAccuracyScore * score.Accuracy

- which normally in other rulesets can be used pretty reliably as the exact number of points gained from the accuracy portion - is an estimate in the case of taiko, and an upper estimate at that, because it implicitly assumes that the user has also hit score.Accuracy percent of all double hits possible in the beatmap. If this assumption is not upheld, then the user will have earned less points than that from the accuracy portion, which means that the combo proportion estimate will go below zero.

It is possible that this has happened on other scores before, but did not result in the total score going negative as the accuracy portion gained would have counteracted the effect of that due to being larger in magnitude than the score loss incurred from the negative combo portion. In the case of the score in question this was not the case due to very low accuracy and very low max combo.

Practically speaking this would mean that for 100% correctness a full reimport of taiko scores would be required, but I don't think it would change many scores in practice, so I don't see it as strictly required to go live.

…o overestimating accuracy portion

Standardised score conversion would return a negative total score for
https://osu.ppy.sh/scores/taiko/182230346.

The underlying reason for this is that the estimation of the accuracy
portion for a score can be above the actual accuracy portion in the
taiko ruleset.

When calculating the maximum accuracy portion achievable,
`TaikoLegacyScoreSimulator` will include the extra 300 points from
a double hit on a strong hit, per strong hit. However, this double hit
is not factored into accuracy.

Both of the aforementioned facts mean that in taiko

	maximumLegacyAccuracyScore * score.Accuracy

- which normally in other rulesets can be used pretty reliably as the
exact number of points gained from the accuracy portion - is an
estimate in the case of taiko, and an _upper_ estimate at that,
because it implicitly assumes that the user has also hit
`score.Accuracy` percent of all double hits possible in the beatmap. If
this assumption is not upheld, then the user will have earned _less_
points than that from the accuracy portion, which means that the combo
proportion estimate will go below zero.

It is possible that this has happened on other scores before, but did
not result in the total score going negative as the accuracy portion
gained would have counteracted the effect of that due to being larger in
magnitude than the score loss incurred from the negative combo
portion. In the case of the score in question this was not the case due
to very low accuracy _and_ very low max combo.
@bdach
Copy link
Collaborator Author

bdach commented Jan 2, 2024

!diffcalc
GENERATORS=score
RULESET=taiko

@peppy peppy self-requested a review January 2, 2024 16:40
@peppy peppy merged commit 16c7c14 into ppy:master Jan 2, 2024
13 of 17 checks passed
@bdach
Copy link
Collaborator Author

bdach commented Jan 2, 2024

The sheet generator workflow failed on this but upon further examination it was failing on master and was fixed by this pull. So this should be safe for deployment.

@bdach bdach deleted the more-score-conversion-fail branch January 2, 2024 19:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

2 participants