osu icon indicating copy to clipboard operation
osu copied to clipboard

Dying earlier than I actually failed in a failed replay

Open hrfarmer opened this issue 2 years ago • 8 comments

Type

Game behaviour

Bug description

I played this map with the classic mod enabled in osu!lazer, and died at around the end of the map. I saved the replay and then tried to rewatch it, but I die way earlier than I did in the actual play. When I import the replay into stable, I don't die and the replay finishes as it should

replay.osr.zip (zipped cause github wont let me upload .osr)

Screenshots or videos

https://github.com/ppy/osu/assets/58487401/cdbd9b46-c0fb-4d88-9468-5ca726180e29

Version

2023.717.0-lazer

Logs

database.log network.log performance.log runtime.log

hrfarmer avatar Jul 18 '23 23:07 hrfarmer

i have gotten the same issue

Frost2o25 avatar Mar 13 '25 15:03 Frost2o25

The replay in the OP has now flipped, as in it now does not fail at all.

Not sure how to handle both cases, e.g. handling both failing before exhausting frames, and also not failing before frames run out (there are instances of both). There's also the part wherein lazer stops recording replay frames at import time rather than immediately on fail, which means that the fail could be indeterminately delayed from where it should be if it's based on running out of frames.

Related: https://github.com/ppy/osu/issues/20857#issuecomment-1493714911

@ppy/team-client any opinions how to handle this?

bdach avatar May 20 '25 12:05 bdach

The replay in the OP has now flipped, as in it now does not fail at all.

The OP says their play doesn't fail on stable, what's that about? Is it so close to the end of the beatmap that stable isn't able to determine that it was a fail?

There's also the part wherein lazer stops recording replay frames at import time rather than immediately on fail, which means that the fail could be indeterminately delayed from where it should be if it's based on running out of frames.

It would be great if we could "mark" a fail using a replay frame, for new replays. But the case where it's delayed should only be milliseconds, as far as I understand.

peppy avatar Jun 10 '25 08:06 peppy

The OP says their play doesn't fail on stable, what's that about?

I'm not sure but given the title is "dying earlier than I actually failed", I presume the replay should fail at some point.

bdach avatar Jun 10 '25 08:06 bdach

The OP says their play doesn't fail on stable, what's that about?

I'm not sure but given the title is "dying earlier than I actually failed", I presume the replay should fail at some point.

It’s supposed to fail at the part where my cursor freezes (1:00 in the replay)

hrfarmer avatar Jun 10 '25 08:06 hrfarmer

Also, re: this:

But the case where it's delayed should only be milliseconds, as far as I understand.

I don't think it's milliseconds in case of a failed replay because in that case there's the whole fail animation playing out. And sure, it does slow down track, so it's probably seconds at most, but yeah.

bdach avatar Jun 10 '25 08:06 bdach

I think the next sane step would be to just do what stable does – allow fails after frame exhaustion – and ignore the edge case – of the map potentially reaching completion before the fail occurs – to handle the majority scenario.

I don't think it's milliseconds in case of a failed replay because in that case there's the whole fail animation playing out. And sure, it does slow down track, so it's probably seconds at most, but yeah.

Yeah I'm aware of this, assumed it would end up being under a second due to the slowdown, but I guess maybe not.

peppy avatar Jun 11 '25 07:06 peppy

The replay in the OP has now flipped, as in it now does not fail at all.

I only now realise that it's likely the act of exporting the replay here that made the replay not-fail, since the fail state was not yet even stored to replays at this time. See OP of https://github.com/ppy/osu/pull/33670#issue-3140167741.

bdach avatar Jun 12 '25 12:06 bdach