osu icon indicating copy to clipboard operation
osu copied to clipboard

Autopilot mod spins spinner erratically in replay

Open JacksonChen666 opened this issue 3 years ago • 4 comments

Type

Game behaviour

Bug description

In replays with the Autopilot mod (auto cursor), the cursor in the replay does not exactly spin in a circle (sometimes going into the center) and spins at >477 spins per minute. This behavior was not observed during gameplay.

(Difficulty adjust mod: OD 10.0)

(Replay)

Screenshots or videos

Screen Shot 2022-12-09 at 12 38 45

jacksonchen666 playing GYZE - HONESTY (emu1337) [HEART OF SORROW].osr.zip

Version

2022.1208.0-lazer

Logs

database.log input.log network.log performance-audio.log performance-draw.log performance-input.log performance-update.log performance.log runtime.log

JacksonChen666 avatar Dec 09 '22 11:12 JacksonChen666

been a while, still a thing in 2023.123.0-lazer

osu!lazer replay with autopilot mod, cursor is spinning in weird ways

~~minor thing i noticed, accuracy isn't the same as before.~~ i just realized something again, the difficulty adjust mod is not present?

JacksonChen666 avatar Feb 03 '23 11:02 JacksonChen666

I attempted to bisect this issue but found that 2022.723.0 (way before the play) still has the issue. Somehow.

JacksonChen666 avatar Jun 23 '23 17:06 JacksonChen666

What this appears to be is an erratic intersection between the logic of autopilot and the logic of replay recording.

Autopilot currently works by taking an autoplay replay and basically applying inputs as it's told by the replay. The issue is that both the autopilot replay and the replay recorder use different frame pacing and different logic on when to record a replay, so it is possible for both

  • the autopilot replay may contain frames that are played back but never recorded to the replay because the frame pacing was such that the minimal interval between recorded frames was not cleared on the recorder side, or
  • the replay may contain frames that the autopilot did not generate because of user inputs (releases etc.) but also, after https://github.com/ppy/osu/pull/33148, because of judgements occurring

Screenshot below is somewhat of a corroboration of this:

Image

I'm not sure whether I want to expend any effort into fixing this given that this is plastered on the mod implementation:

https://github.com/ppy/osu/blob/6f1d7a546b3aeb9296b2e631694d7a28a733663c/osu.Game.Rulesets.Osu/Mods/OsuModAutopilot.cs#L50-L59

Maybe the direction is to just tear everything there out and start anew. Not sure. Opinions welcome.

bdach avatar May 27 '25 12:05 bdach

Slightly related, there's a PR opened recently to fix other issues with autopilot: https://github.com/ppy/osu/pull/33483

I'm not sure if autopilot generating replay frames is the correct path; it was chosen as the easiest method available at the time.

peppy avatar Jun 10 '25 07:06 peppy