Open DMills94 opened 5 years ago
I can second this. However, the test suite was manually adjusted to allow for a deviation of ± 6%. This is the new official spec. I'd love to have it a tad more accurate as well though.
EDIT: Cross referencing the same question on the oppai-ng repository, it's the way it is currently with the Xexxar rebalance affecting non existing slider tick calculations more than before. https://github.com/Francesco149/oppai-ng/issues/42
1-2pp error is only feasible if the star rating calculation was 1:1 with the official osu client (thats what I get when I override star rating with the values from osu-tools), so that's supposed to be rare. with the current test suite, the average error is +- 0.6%. theres a few slider heavy maps that will be way off and ill think about an approximation of sliders to fix that if it doesn't add too much code. either way i think it's reasonably accurate except for slider maps
also do remember that the website isn't necessarily fully recaulcated. when i created the test suite i had to limit it to only a few players that i knew were recalculated. some scores still use old pp so maybe that's what you're seeing
for example vaxei is still not recalculated
https://osu.ppy.sh/beatmapsets/538998#osu/1514898
This for example, my score on my profile is my 7th best performance at 410pp. The calculation is returning 399pp as you can see here:
This map has been updated as before this score was worth 390pp, this is only one but i think only 2 of my top 10 have the correct value being returned.
Why would you need PP calculations for top plays though? The osu! API returns them on the user_best endpoint. PP calculations should only be used for when the API can't deliver them, e.g. recent scores or manual recalculations for added mods / changed accuracies and for those usecases I think that the deviation is good enough as is. It's a bit nitpicky at this point. It isn't a possibility right now to easily make the library any better without guesstimating stuff.
I changed it for the purpose of this point - yes for top plays I take the API value but if this was a recent play it would be wrong, 11pp difference isn't a small enough to be ignored imo. I appreciate it seems nitpicky but people love to complain about incorrect values.
I checked if I was passing values incorrectly but it doesn't seem to be the case and I use the same format as is in the usage README
I understand that, it sucks that the Xexxar rework made the missing slider tick calculations even worse, but it's unfortunately the current state of things. The .osu files needed for PP calculations only offer the slider's lazy values, not the real tick values needed. The only thing that can be done at this point is to use approximations and guesstimate certain values depending on the slider density of a map. The more sliders a map has the more vague the new PP calculations are 😞
well i will experiment with slider approximations, it will probably take a while to get it right
if you need truly accurate values for the time being you can take the star ratings from osu-tools, but that's an order of magnitude slower than any implementation of oppai
Thanks @Francesco149
I have just pushed a patch by @McKay42 that greatly improves accuracy. it's not gonna fix stuff like deal with the devil and other slider heavy maps but normal maps should have 2x-3x less error now
Testing on my top scores it looks great. Thanks @Francesco149
I updated my projects version to
1.2.0
and checked the values for a number of users top plays against what's showing on the website.Only 5% of the amount of scores I looked at were even within 1/2pp of their real values. Will you be tweeking stuff to try and align closer to real values?