osudroid / osu-droid

http://osudroid.moe
Apache License 2.0
529 stars 79 forks source link

SC slider followcircle hitbox not matching stable #182

Closed GIorp3179 closed 2 years ago

GIorp3179 commented 2 years ago

The slider follow circle is supposed to be around 2.4x bigger than the hitcircle but it isn't the case on droid. This probably is the case because droid circles were artificially enlarged, and the sliderfollowcircle being that big would be a problem. The purpose of SC is to at least match pc since maps are obviously designed with pc in mind so it could make certain sliders unhittable when the mapper intended it to be hittable, not only that but it also unnecessarily makes sliders way harder on SC I'm not really sure if this is known yet but yeah it should probably be fixed if ever SC gets ranked in the future Here's an example

Lazer (Gameplay from global leaderboards) : https://user-images.githubusercontent.com/66579391/158507652-5c02e37e-1b24-4f95-9367-cc3ab8745527.mp4 The cursor clearly doesn't need to move because the slider was designed to be hit like that

In droid that is clearly not the case Droid: https://user-images.githubusercontent.com/66579391/158507814-4f373bca-8503-45ef-9388-cf88c9109a5e.mp4

Rian8337 commented 2 years ago

The problem here is not the radius of the slider follow circle, but rather how slider end works.

In lazer, the actual slider end is not exactly on the slider tail. It's calculated 36ms before the slider tail. This is called a "legacy slider end", which is still used in lazer for difficulty compatibility with stable. This is only noticeable in fast sliders, which is shown in the video. The legacy slider end is within the radius of the slider follow circle from the slider head, hence why the player still gets 300s despite not moving their cursor. Here is a video that explains legacy slider end briefly.

Droid, on the other hand, doesn't have this type of slider end. Slider ends in droid are always in their respective slider tail, which means the player must move their cursor to the slider tail. Unlike the legacy slider end, the slider tail is outside the slider follow circle radius from the slider head, hence why the player gets 100s.

I don't think we will be changing the way slider end works in droid to prevent legacy replays from breaking.

GIorp3179 commented 2 years ago

Ah I see, pretty sad but oh well