2017 04 25

published 25 Apr 2017

Frame-accurate replay playback

I realised while reviewing code today that we were not playing back replays in a frame-accurate manner. I spent most of today fixing that. Frame accurate playback means that the playback will result in the same score no matter how slow/fast it is played back. It means that if there is lag recorded in the replay, it will be reproduced in the replay. Likewise, if there is lag in the client during playback, the replay will be unaffected by this.

Getting this right is a prerequisite to being able to have free reign over replay playback, including adjusting speed and seeking (something I plan on working on over the next couple of days), so it is imperative that we get this right.

Unfortunately I don’t have much to show from this work. I have managed to speed up replay playback to up to 50x with no errors, but as the audio track is not synced, it would not make for a good video. Hopefully things will be ready to share tomorrow!

Other things

  • Menu music and welcome/goodbye voices can now be toggled as expected #634.
  • Configuration settings which were (in osu-stable) 0..100 or -100..100 ranges have been switched to float 0..1 or -1..1 ranges #658.
  • Project READMEs received some minor updates #671

New release available

2017.425.0 is now available from github releases (or via auto-update if you already have lazer installed)! Contains everything from previous days, but not the stuff mentioned above; isn’t reviewed yet.