-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
osu!standard Performance Calc: LengthBonus Removal and Star Rating Summation Change #25126
Conversation
…diffcalc sum with harmonic sum
I've checked some pp values resulting from this, disregarding how the difficulty of maps changed (after all it has a direct influence and when invoking changes to the difficulty calculation the resulting performance algorithm should be evaluated as well), and left my opinion, looking for other opinions: And honestly, I think this is a pretty good change at the surface. First I had some doubt because it looked like pp would just drop overall and get more dense, but digging a bit further into existent scores gave things a sense. I further looked at the aim side of scores, for instance the profile of WhiteCat, which showed a slight increase for those dt aim maps that have been meta 3 years ago. To me personally this is a change I welcome, I feel like those maps have been a bit underrepresented and couldn't hold up well enough with the current meta. On the other side, we can see scores like mrekk's save me being nerfed to 1175pp. I feel like this is a too heavy nerf. I see the reasoning behind it with streamy, high object count, inconsistent maps and the map length removal. But I still think this score should be worth more and it's length is, obviously, not valued enough in this version, which makes me feel like the length bonus removal should be reconsidered. I think removing it is not a good way to go, since I feel like it definitely does have it's purpose. I'd rather look at what could be done for it to integrate better into the algorithm. On the speed meta side of things, for example Flaro and Sytho, you can see around the same values in nerfs as you can see in aim scores for buffs. I welcome this, not directly due to the applied changes, but the overall outcome is something I like to see. You can also see the effect of difficulty spike oriented, high object count maps getting a nerf here, but I was kind of expecting more than just those slight changes based on what I've seen so far. Looking at my own profile, mentioning it because so far I've only talked about top players, I can see mostly buffs, I'm a ~45k dt aim player, seeing those changes kind of surprised me. The same questions I had about WhiteCats scores are coming up here, most of these short dt maps rather have one difficulty spike so I don't get why they're seeing a buff, I never felt like they need one. Overall I think that the goal is kind of achieved, but there's lots of fine tuning and further consideration necessary since I can see scores where this change does not add up with what I think it should be like, it's kind of a hit or miss. |
Judging this purely on the "Effects in practical terms", it sounds like a good direction. |
I've killed the diffcalc run triggered above as it caused two queued runs to deadlock eachother (see https://discord.com/channels/188630481301012481/188630652340404224/1164495326850322493 for paper trail). We'll rerun after that one finishing / after they're fixed. |
!diffcalc |
Based on what ppy said about the probability for pp updates being implemented this year being non zero, I wanted to state that I am prepared to help with any follow up pieces of the rework process such as preparing graphs or summaries of the changes, assuming this change is deemed acceptable with the current values. Two questions:
My current stance is that the only thing that definitely needs to be further examined is the SR adjustments which were made due to the change causing length to be included as a factor in SR. I sort of arbitrary picked some constant that adjusts by a factor that would keep mid length maps relatively similar in SR, but this might be something we should examine more carefully. Possibly one other thing worth looking at is finding a way to better handle short aim maps. I'm thinking maybe there's benefit in going for a per object aim sum instead of per strain chunk? Might help with some of the issues on ringtone size maps, since that's a common criticism of this current build. Using the same style curve but with a per object base might do the trick. Anyway, thanks for the feedback so far. |
Closing this on account of the fact that I intend to PR a different change in this area at a later date. |
Introduction
A while back I PR'd a suggestion to replace the osu!pp score summation method from using a geometric sum to a harmonic/logarithmic sum (found here: ppy/osu-queue-score-statistics#88). Due to recent scores being set, this gave me some inspiration to try a similar summation method in the osu! difficulty calculator to replace the geometric sum there with a similar harmonic/logarithmic sum and I found the results to be quite promising.
Summation Method
A desmos can be seen of the before and after on the curves. This graph is set up with the X-axis being equally rated 400 MS chunks and the y-axis being total difficulty. The flat red curve is the current system which has the limitation of being bounded by nature of being a geometric sum. This causes us to need an alternative way to sum length which is why ppcalc uses the lengthBonus system based off object count. The blue curve is the new proposal which uses a modified harmonic sum based off the index of the summation rather than a multiplier derived from a geometric formula.
https://www.desmos.com/calculator/rnnxsqsybg (updated with new balancing constants)
With this new method, we're able to more accurately assess total map difficulty across the whole map without having to rely on a object count based difficulty multiplier. This is quite a nice way to eliminate a troublesome issue that has been plaguing diffcalc since the beginning.
Effects in Practical Terms
In short, this change would:
Negative Subsequent Effects
Conclusions
This is a small PR that has quite a large effect on systems critical to difficulty assessment. The parameters have been balanced to be as minimally invasive to the overall competitive scene for osu!. Fellow developers are welcome to re-balance these parameters if they feel that I have not done a good job. I won't be linking any score websites or profile samples as those who are interested can simply clone this PR and inspect the results for themselves.
EDIT: Gamers love their pp: https://pp.huismetbenen.nl/rankings/topscores/length-bonus-removal
Thanks for reading,
Xexxar
Code Comments
I probably should have checked this, but the use of an explicit index definition and increment might be faulty if there's a enumerate style system list indexing in C# like there is in python. My C# isn't very good but that was one enhancement that made sense to me if such a thing is possible inside that foreach loop.
Rebalance Actions:
2023-10-16 Update:
2023-10-24 Update: