osu icon indicating copy to clipboard operation
osu copied to clipboard

Osu!CTB Replays are incorrect on maps with a very high note per second rate

Open patatitta opened this issue 1 year ago • 6 comments

Type

Game behaviour

Bug description

While watching phob's replay on the map "Sonic Blaster" I noticed a great discrepancy between the play and the replay, while in the original play they FCed the map, in the replay, they missed very often.

Phob's play was realized on the current stable version of osu!, however, I did multiple tests on the same map on lazer and got similar results. I have seen this bug happen on more maps, like motion's play on pacific girl and dahcreepers NFDT fc on noxious. Most other maps seem to work perfectly, it's only these high note per second maps that are an issue.

I'm aware that refresh rate can affect the replays. All my screenshots were tested with ulimited FPS and no frame drops. Always played at 1.0x speed and always focusing on the window.

Screenshots or videos

Lazer original play osu_2024-01-08_20-10-30 Replay end result osu_2024-01-08_20-10-26 The mod only changes the HP to 0, forgot to remove it from a test earlier, map contains the first 16 second of the map

Phob's Original play osu_2024-01-08_20-16-52 Phob's replay when watched in osu!lazer osu_2024-01-08_20-19-43

Dahcreeper's Original play on Noxious osu_2024-01-08_20-21-57 Dahcreeper's Play on noxious when watched in osu!lazer osu_2024-01-08_20-23-55

Version

2023.1231.0-lazer

Logs

compressed-logs.zip

patatitta avatar Jan 08 '24 19:01 patatitta

For reference, here is a close-up at one of the false misses while watching the replay:

https://github.com/ppy/osu/assets/22781491/30517ebd-c00e-4b73-9a9d-f48904155546

It appears that the catcher's position is being updated prior to marking the hyper dash fruit as judged. Unassigning for now as this does not look to be a simple one at my current state and knowledge of catch replay handling.

frenzibyte avatar Jan 11 '24 11:01 frenzibyte

Bumping this to priority 0. This needs immediate attention as it may cause issues with gameplay recorded on lazer too.

osu!catch is one of the examples where replays should never go wrong because we have guaranteed frame stability on all inputs.

peppy avatar Jan 15 '24 05:01 peppy

Hello, in addition to what was reported by @patatitta, I'd like to add that I've seen this issue on simpler maps, with inconsistencies when playing the same replay several times in a row, which showed incorrect droplet counts.
(for example on YOASOBI - Idol (TV Size) with my replay)

Also, I've noticed that skipping in replays with the song progress bar led to completely messed up replays, which might be related to this. (But maybe a bit more expected due to how everything ends up being processed really fast ?)

docflo7 avatar Jan 17 '24 22:01 docflo7

Just asking: is https://github.com/ppy/osu/discussions/26104 a separate issue or related to this?

BlauFx avatar Jan 25 '24 17:01 BlauFx

this hasn't been investigated, so can't confirm or deny.

bdach avatar Jan 25 '24 17:01 bdach

When errors occur in the catch replay of the lazer game, more serious errors will also occur in the stable, but shouldn't there be any difference in the playback of the two? I think? cdwcgt playing Murasaki Hotaru - Re_TrymenT (AJamez) [Spec_s OverdosE] (2024-02-06_19-33).zip https://osu.ppy.sh/scores/2298328975 this is my osr which in low bpm (HT applied) and always wrong in 1:01 303x combo and playback frame by frame will also miss the 301x one

Hope this content is useful for investigation

notice that replay error in stable will reappear in lazer when frame by frame (or skip)

update: image

Notice to key count, key count display in gameplay is different from replay. Because the playback infers the pressed keys based on the catcher's position, there may be a problem with CatchReplayFrame?

cdwcgt avatar Feb 06 '24 11:02 cdwcgt