Fix accuracy and combo proportions being back-to-front in mania standardised score conversion algorithm#38321
Fix accuracy and combo proportions being back-to-front in mania standardised score conversion algorithm#38321bdach wants to merge 1 commit into
Conversation
…ardised score conversion algorithm Coming from ppy#38102 (but does not fix it). Compare: https://github.com/ppy/osu/blob/d54366dd1192c030b133d85887a19220a4024399/osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs#L28-L33 https://github.com/ppy/osu/blob/d54366dd1192c030b133d85887a19220a4024399/osu.Game/Database/StandardisedScoreMigrationTools.cs#L336-L339 Note once more that this *does not fix* the reported user issue. In that particular instance, the outcome will just be flipped (the lazer score will be favoured over the stable score). Unfortunately there is no way to improve the estimate any further to reproduce the exact result. The reason why is that the combo portion is calculated as https://github.com/ppy/osu/blob/d54366dd1192c030b133d85887a19220a4024399/osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs#L35-L38 The key factor in the above calculation is `result.ComboAfterJudgement`, which is not replicable without being able to access full judgement history for a score, which is not available unless the play is fully simulated headless.
|
!diffcalc |
| convertedTotalScoreWithoutMods = (long)Math.Round( | ||
| 850000 * comboProportion | ||
| + 150000 * Math.Pow(score.Accuracy, 2 + 2 * score.Accuracy) | ||
| 150000 * comboProportion |
|
Sheet generator looks stuck again. Looks like I'll have to run it locally over the weekend or something. |
|
It will likely get stuck for you locally in a similar way. This has been a common theme recently. |
|
Locally generated sheet: https://docs.google.com/spreadsheets/d/12ma0U_uv815Yg_7Ik8l2WaNP5yZ7JwbKTHK8Yn_ivsg/edit Will examine tomorrow. |
|
Queueing up another run via actions just to see if it happens to work this time: !diffcalc |
In inspection, I found out that for some scores involving converted beatmaps and key mods the value on the sheet will not match the value shown in client. The reason for that is that in the production database osu/osu.Game.Rulesets.Mania/Beatmaps/ManiaBeatmapConverter.cs Lines 84 to 98 in 6231e06 osu/osu.Game/Database/StandardisedScoreMigrationTools.cs Lines 143 to 145 in f222030 The above issue cannot be fixed in client because the issue isn't in client, and in general for all of the scores I checked (via downloading the replay if present and and playing it back) the new estimation is closer to the played-back total score than the old one. To that end, undrafting. |
Warning
The deployment of this fix, if accepted, will consist of reverification of all mania legacy scores.
Of particular note, #38203 is also a change that requires server-side reprocessing and that reprocessing has not happened yet as far as I am aware.
Coming from #38102 (but does not fix it).
Compare:
osu/osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
Lines 28 to 33 in d54366d
osu/osu.Game/Database/StandardisedScoreMigrationTools.cs
Lines 336 to 339 in d54366d
Note once more that this does not fix the reported user issue. In that particular instance, the outcome will just be flipped (the lazer score will be favoured over the stable score). Unfortunately there is no way to improve the estimate any further to reproduce the exact result. The reason why is that the combo portion is calculated as
osu/osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
Lines 35 to 38 in d54366d
The key factor in the above calculation is
result.ComboAfterJudgement, which is not replicable without being able to access full judgement history for a score, which is not available for stable scores unless the play is somehow fully simulated headless.