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.


2017 04 24

published 24 Apr 2017

Beatmap info wedge design update

Some minor (but long overdue) changes to the beatmap info wedge



What changed?

  • Coloured bar on the left represents the difficulty level at a quick glance.
  • The source and artist are in the correct place now.
  • The weird double-dash is replaced with an em-dash as expected.

Note that this isn’t the final design still (there’s a lot more refinements that are waiting in the todo list!), so keep an open mind for the time being!

Online metrics are now loaded

You will now be able to see beatmap fail/retry times and online ratings if you are logged in. They are cached only until you exit song select once, but will definitely be cached for longer in the future. You’ll notice the display dim while it’s fetching new values from the intertubes.

The last tab you were viewing at song select is now also remembered between startups.

Rigid body physics

Tom94 seems to have gotten a bit restless while on vacation and implemented the basics of rigid body physics simulation in osu-framework (see #656)! I won’t even begin to pretend that I understand the math behind this, but the implementation looks pretty solid.

Not sure how often we will use this in the case of osu!, but at very least the fail animations could be a lot more interesting than before!

Other things

  • Music control regression fixed (wasn’t changing songs) #667.
  • Visual Studio Code CLR debug support added (now a viable alternative to visual studio on windows) #666.
  • Fix regression causing menu cursor to stick to screen edges #664.
  • Decrease memory traffic in the thread scheduler#657.
  • Linux clipboard support added (read-only for now) #653.
  • Slider repeat sounds are now correctly reproduced #662.
  • The beginning of localisation support is now in at a framework level #651.

No release today

Let’s wait another day so the above changes can be completely reviewed and added!


2017 04 21

published 21 Apr 2017

Speed adjust mods

Double Time, Nightcore and Half Time are now active! You can hear the effect of these mods from the song select screen, too.

Audio offset

Had a few requests to add universal offset support, so it has been done.

Splash page design update

Yesterday a new version of the (logged out) home page design went live. Go check it out here (make sure you’re logged out!).

Disqus beatmap comments are on the new site

Go check out the updated beatmap page design, now featuring comments. We’re slowly reaching a point where we can switch over to the new site.

Other things

New release available

2017.421.0 is now available from github releases (or via auto-update if you already have lazer installed)! Contains everything mentioned above (bar localisation and hitsound improvements).


2017 04 20

published 20 Apr 2017


After multiple iterations, we have a working tooltip solution via this pull request. A combined effort between myself and jorolf, these new tooltips should reflect what we used to have in osu-stable but at the same time add a new feel via animations.

Note that these are not heavily deployed throughout the interface yet; this will happen over time.

Minor changes

New release available

2017.420.0 is now available from github releases (or via auto-update if you already have lazer installed)!

This build sees the initial release of the results screen to the public. As mentioned multiple times, the design is not yet complete, but it’s a huge leap forward from what we’ve had until now! You can click through to the results screen from leaderboards at song select, or play a map and experience it for yourself.


2017 04 19

published 19 Apr 2017

Chat is now working in both directions

Gave chat a bit of attention so people using lazer can begin to discuss things in-game. Currently chat is limited to a new #lazer channel, which is only accessible from the lazer client.

private API refactoring continues

Working with the osu-web team to bring all the data required by the client into the client. This included a few chat fix-ups for the feature above, along with changes to the structure of scores to allow for receiving score data in a way that is ruleset-agnostic.

Oh, and leaderboard score retrieving is now working again!

Results screen received continued work

While it’s in a stable state, it won’t be arriving this build. Let’s hope it’s in tomorrow. You can see that it now displays hit counts as you’d expect, at least!

Minor changes

  • The song progress display has received some fixes to stop it crashing with some maps.
  • The accuracy display on the leaderboard now shows percentages, not decimals.
  • TextBox received some fixes to better handle a read-only state.
  • osu!lazer will no longer crash when it fails to read values from a config file.

New release available!

2017.419.0 is now available from github releases (or via auto-update if you already have lazer installed)!

Note that this release will reset your beatmaps as we have restructured the client’s database extensively for modular ruleset support. Please re-import your maps. Also let me say again that the results screen won’t be in until the next build, as it is still under review.

Thanks for following along!