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!


2017 04 18

published 18 Apr 2017

Quite a bit to cover today!

Optimised player retry logic

Until now, when triggering a retry during play the game would actually be nesting a new screen inside the old player. While this was a very easy way to implement retry logic quickly, it also cause what could be classified as a memory leak if you retry too many times.

ocboogie is a new contributor who has been working over the past few days on fixing this problem. With a bit of guidance he succeeded in improving this process by a fair amount.

I also took the opportunity to clean up the transitions a bit (a touch faster metadata display too, for those of you complaining about having to wait the whole two seconds it displayed for).

Song rankings no longer display

If you’ve been using lazer, you may have noticed that online beatmap rankings are no longer being displayed. This is due to some changes in the backend API that I’ve been working through with nekodex which got pushed live today. The API changes will allow for things like country flags, mods and more to also be displayed.

I will be working on bringing the lazer code up-to-date with these changes tomorrow.

Conversion engine updates

smoogipooo has been hard at work on following up the modular rulesets with better support for converting between rulesets. This allows for some awesome possibilities, like converting from mania to taiko.

Song progress refactor

The song progress bar that has been sitting at the bottom of the play interface since last week was actually quite restricted in how it could be used. You couldn’t change the vertical height, it couldn’t be displayed in any location other than the bottom of the screen and it had a fixed height.

I took a fair amount of time today refactoring it to be more flexible and re-usable, primarily to make it also work on the results screen. In this refactor I also fixed the display to correctly scale the the maximum density value, where before it would just clip higher values off the display (causing 100% filled displays on harder maps).

Results screen

We’re almost there. While the design is not yet fully realised, the remaining elements are going to take some more work on the framework (masking and shaders). As such, I’ve submitted my results screen code for review and we should be seeing this go live this week, all going well!

Here’s another preview showing the latest improvements.

Smaller stuff

  • Taiko barlines have had some bug fixes applied. There’s still some outstanding taiko fixes which should arrive this week.
  • Autoplay now activates the key counter’s animation more like a real player would. Basically auto now has a key-up delay, rather than having perfect 0ms key presses. You should be able to see this change in the last video above.

No release today

Tomorrow, I’d say. There’s gonna be plenty of new stuff in the next build!