ppy / osu

rhythm is just a *click* away!
https://osu.ppy.sh
MIT License
15.32k stars 2.28k forks source link

Hyperdash generation difference between lazer and stable can be a big difficulty change #15305

Closed ekrctb closed 11 months ago

ekrctb commented 3 years ago

For example, in this map, the the fruit at 196x combo is a hyper fruit in lazer but is a normal fruit in stable. This is due to stable truncating time variables to integers in random places. Note that CatchBeatmapConversionTest doesn't catch this difference because hyper fruit information is not presented in the json.

I guess some difference from stable is expected, but the osu!catch-specific issue here is that whether a fruit is hyper or not can be a big difficulty difference, especially in converted beatmaps. In osu!catch convert maps, the main difficulty source of a map is "pixel jumps" where the pattern is not wide enough to become a hyper-dash, but just barely below the normal dashing distance. It is not rare to have a situation where one pixel-jump pattern transforms an easy map to an "unplayable" very difficult map.

The effect on the star rating/pp shouldn't be large currently because the difficulty of such pixel jump patterns is not accurately measured, but if the difficulty calculation algorithm is improved, the impact can be large.

Should we try to reduce the difference between lazer and stable's hyper-dash generation?

smoogipoo commented 3 years ago

I agree reproducing stable's calculations is best for now.