ppy / osu

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

Relax occasionally clicks too early #27307

Open Ratchet0203 opened 7 months ago

Ratchet0203 commented 7 months ago

Type

Game behaviour

Bug description

When hitting late with relax, sometimes the game will simulataneously click for every circle currently under the cursor, causing a huge clump of early hits/misses. This bug is easily reproducible with dense maps on a low CS/OD.

Screenshots or videos

https://github.com/ppy/osu/assets/47193790/5ab9195e-6278-44dc-98a9-c62fb85b0ece

Version

2024.221.0-lazer

Logs

compressed-logs.zip

Ratchet0203 commented 7 months ago

After watching back over my clip, I noticed the key overlay. The game is clicking very rapidly, even after all the circles are gone. This is probably important info to point out.

cihe13375 commented 3 weeks ago

I noticed another scenario of relax clicking too early:

https://github.com/user-attachments/assets/a6bfefe2-648d-4d89-a4a9-49e585121be8

The key counter shows that the slider 2 is clicked "twice", once too early and once on time. Probably related to the sliderend before that note.

It does not happen 100% of times, but as long as I try enough I can reproduce it.

The test map and replay file (remove .zip extension): map.olz.zip replay.osr.zip

smoogipoo commented 3 weeks ago

No idea what's going on in the OP - looks like the mod not considering every other mod being applied.

As for the above commenter I can see how that's coming up: the slider is losing tracking and then the cursor moves back on the follow circle and relax is trying to gain tracking again by pressing the key, but at that point the cursor's over the next circle so the keypress falls through.
Tracking can actually never be gained in this scenario - the cursor must hover over the slider ball to do so, and that's part of the game's mechanics. Relax is making a proper attempt to handle things correctly, so I don't see a clear reason why it's failing other than a one-frame error (looks reasonably likely here).

Unfortunately this is quite difficult to make a test/automated reproduction for :/

cihe13375 commented 5 days ago

I found another (?) scenario which I can 100% reproduce. The cursor is placed in the overlap region of slider 1 and 2.

https://github.com/user-attachments/assets/09cba0b7-0b1f-4441-a7b1-2955dc429389

map2.olz.zip replay2.osr.zip

If classic mod is enabled, the first slider gives a miss and the second gives a 300 (however, sometimes the first slider may give a 100 in replay mode if the playback speed is 0.05x, idk why). In stable, the first slider gives a 100 if the cursor is placed in the judgment region of the 1st sliderend (around the top left border of circle 2 in the arrangement above)