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

Unstable Rate shouldn't be converted in osu!mania #30828

Closed
peppy opened this issue Nov 22, 2024 Discussed in #30698 · 7 comments · May be fixed by #30842
Closed

Unstable Rate shouldn't be converted in osu!mania #30828

peppy opened this issue Nov 22, 2024 Discussed in #30698 · 7 comments · May be fixed by #30842

Comments

@peppy
Copy link
Member

peppy commented Nov 22, 2024

Bumping to issue since it seems like something which needs resolution.

Discussed in #30698

Originally posted by KapiWilq November 17, 2024
A year ago, there was introduced a change in the way that the Unstable Rate is calculated. It made the Unstable Rate account for the gameplay rate, which made the Unstable Rate not require conversion when playing with rate-changing mods. There was raised a fair concern about osu!mania, but according to these replies the Unstable Rate value for osu!mania should be correct. It's not correct.

Why?

osu!mania scales hit windows to account for the rate change12. This makes the Unstable Rate not require conversion when playing with rate-changing mods since hit windows are being resized to make them "effectively" the same size as if you are playing without rate-changing mods. Therefore, by converting the Unstable Rate in osu!mania, it's value is incorrect. This also makes the Unstable Rate value shown in osu!(stable) correct.

osu!(stable) osu!(lazer)
screenshot352 osu_2024-11-16_18-15-38

This is the score that I used for the comparison in these screenshots: https://osu.ppy.sh/scores/mania/301846710

Footnotes

  1. https://github.com/ppy/osu/blob/master/osu.Game.Rulesets.Mania/Mods/IManiaRateAdjustmentMod.cs#L28

  2. https://github.com/ppy/osu/blob/master/osu.Game.Rulesets.Mania/Scoring/ManiaHitWindows.cs#L39-L45

tsunyoku added a commit to tsunyoku/osu that referenced this issue Nov 22, 2024
…a `JudgementResult`

Closes ppy#30828.

I'm not convinced this is the absolute cleanest solution, but I've made it in such a way that it doesn't require too much messing around with hit/judgement processing.
tsunyoku added a commit to tsunyoku/osu that referenced this issue Nov 22, 2024
…a `JudgementResult`

Closes ppy#30828.

I'm not convinced this is the absolute cleanest solution, but I've made it in such a way that it doesn't require too much messing around with hit/judgement processing.
@ssz7-ch2
Copy link
Contributor

osu!mania scales hit windows to account for the rate change. This makes the Unstable Rate not require conversion when playing with rate-changing mods since hit windows are being resized to make them "effectively" the same size as if you are playing without rate-changing mods. Therefore, by converting the Unstable Rate in osu!mania, it's value is incorrect. This also makes the Unstable Rate value shown in osu!(stable) correct.

Does this actually make sense? Unstable Rate has nothing to do with hit windows so even though osu!mania scales hit windows, it shouldn't affect the Unstable Rate.
For sanity check, here's the Unstable Rate for a NM play on the same map with similar hit counts.

screenshot047

The UR should be similar between the two scores, since the perceived hit window is the same.
So the converted UR of 119 for the DT score makes a lot more sense here.

@frenzibyte
Copy link
Member

I don't see how two scores with similar hit counts should have similar UR. The UR's data is the time difference between perfect hit time and the player's time of the hit, the player could've hit the object at the beginning of the hit window X rather than the end of it. Am I missing something here?

Whether osu!mania should convert UR with gameplay rate or not is probably as subjective as the concept of converting UR in the first place. It was discussed in the original PR and a similar answer was posted there (that being the UR not being tied to the hit window).

Whether that makes sense or not seems up in the air, it's probably as subjective as the concept of converting UR with gameplay rate in the first place.

If I were to give my own opinion on this, the UR being scaled/descaled makes most sense because the perceived hit window is smaller/larger on rate-changing mods. Going with that logic, osu!mania should not be scaled/descaled. But again, mania players may think otherwise, for other factors that define UR better than "perception of hit windows".

Perhaps this should be demoted back to a discussion thread until there's more traction / discussion going on to reach a consensus on this.

@ssz7-ch2
Copy link
Contributor

I don't see how two scores with similar hit counts should have similar UR. The UR's data is the time difference between perfect hit time and the player's time of the hit, the player could've hit the object at the beginning of the hit window X rather than the end of it. Am I missing something here?

Over a large sample of hits, the distribution of the hits will pretty much follow the same distribution (unless you're a robot). So scores with similar hit counts will have relatively similar URs.

If I were to give my own opinion on this, the UR being scaled/descaled makes most sense because the perceived hit window is smaller/larger on rate-changing mods.

The reason why UR is converted (at least in osu!std) is because of the gameplay rate, not because the perceived hit window has changed.

Compare these two scenarios:

  1. Play a map with DT
  2. Use an external tool to speed up the same map by 1.5x and play it

If a player sets the same score on both maps, should the UR be the same?
In stable, the UR would be different. That's why converted UR is used, so that the UR will be the same in both scenarios.

It doesn't matter if the two maps have different perceived hit windows or not. Whether the second map is OD0 or OD10, I don't think the UR should be affected by it.

I'm not part of the mania community so I don't know if they think differently of this, but the claim given in the initial discussion doesn't give any explanation as to why UR should account for scaled hit windows. And I don't think this change should be made without proper consideration.

@Natelytle
Copy link
Contributor

Natelytle commented Nov 24, 2024

This issue indeed does not make sense. UR does not care about the hit window, so whether or not the hit window is scaled by rate doesn't change whether UR should be converted. The only thing that matters is if the underlying game clock is faster, which it still is in mania, and thus the unstable rate should still be converted by rate.

If I were to give my own opinion on this, the UR being scaled/descaled makes most sense because the perceived hit window is smaller/larger on rate-changing mods. Going with that logic, osu!mania should not be scaled/descaled. But again, mania players may think otherwise, for other factors that define UR better than "perception of hit windows".

UR is a pretty well defined metric, it is intended to be the deviation of your taps in milliseconds multiplied by 10. Rate change mods for all modes speed up or slow down the game clock, which changes the speed of a millisecond, so the adjustment simply brings them back in line. I don't see a case for the "perception of hit windows" usage, or else UR would additionally scale with overall difficulty.

The original discussion just seems like a misunderstanding of how the hit windows are scaled, as well as the actual intention behind the change itself, since it's not meant to match stable. Rather, it's an improvement over stable, since the only unstable rate people pay any heed to is the post-converted value. You can think of it as bringing DT rates in line UR wise with rate changes through external tools like osu trainer.

@frenzibyte
Copy link
Member

Fair enough, I will leave this discussion as I don't think I need to have a say on how this should work.

@bdach
Copy link
Collaborator

bdach commented Nov 25, 2024

I'm not wholly convinced there's anything to fix here either, but it depends on perceptions.

What I guess @KapiWilq (tagging to get them into here) was angling for in the original discussion is that the change to how UR is calculated, while in some ways "correct", makes it not really possible to I guess "compare" UR between HR/DT/nomod plays? That would fit in my mental model of mania players saying rate changing is "mostly preference" and not wanting to make it affect difficulty anything including multipliers and pp. Would that be a correct view? No idea. Probably something we should ask mania people about somewhere.

@peppy
Copy link
Member Author

peppy commented Nov 25, 2024

This is definitely more nuanced than I expected it to be and really is a matter of perspective. Let's downgrade this back to the discussion.

@peppy peppy closed this as not planned Won't fix, can't repro, duplicate, stale Nov 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants