dev changelog 20171219

published 19 Dec 2017

Long time no see. I’m here to address a few points:

  • I haven’t posted here in like 4 months, so obviously that isn’t working
  • A lot of work has actually been going on
  • Visibility on that work — especially on the web side — is very low

I’ve spent a bit of time coming up with an changelog culmination script which amalgamates changes across all of the osu! projects into single tidy blog-ready posts. It automatically adjusts to my posting schedule, but ensures that no small details are lost. Going forward I will be posting semi-regularly here with updates on all three main projects currently under heavy development: osu, osu-framework and osu-web.

Don’t fret, this place won’t turn into a dull automated changelog flow. When I have the time, I will be expanding on individual changes with important notes, commentary or video. When I don’t, you will still be able to keep track of what I (and others on the team) are spending our time on.

Due to there being hundreds of new changes since my last post, I’m only covering the last week or so this time around.

osu The osu!lazer project. The future of the osu! client. Download preview releases from here and follow along!

Rewrite BeatmapCarousel with ModelView implementation #1697 (peppy)

After working through some bug fixes with people contributing to the lazer project, it became very obvious that the implementation of the SongSelect carousel could do with a lot of improvement. The flow of information and the readability of the code was below par, so I decided to take a few days to fix things up.

We now have a very heavily tested carousel which is also more optimised than previously. I’ve been testing with up to 50,000 beatmap sets loaded (150k difficulties) and it’s still quite usable, so I think we have a winner.

Other changes

  • Fix profile header not correctly being masked #1708 (peppy)
  • Implement keyboard controls in gameplay overlays (pause/fail) #1706 (smoogipoo)
  • Expand content of BeatmapInfoWedge #1698 (Aergwyn)
  • Fix BeatmapInfoWedge not counting Circles/Sliders correctly #1693 (Aergwyn)
  • No longer select Beatmapsets on import/download #1692 (Aergwyn)
  • Implement Editor hitobject selections #1690 (smoogipoo)
  • Filter invalid difficulties at song select #1689 (peppy)
  • Update tasks.json to remove warnings #1688 (smoogipoo)
  • Fix MusicController ignoring Looping property of Track #1685 (Aergwyn)

osu-framework The game framework behind osu!lazer. Written from scratch with osu! in mind, but very extensible.

Other changes

  • Improve ctor performance of Drawables #1269 (peppy)
  • Switch Trace.Assert to Debug.Assert to avoid user-facing errors #1268 (peppy)
  • Avoid unnecessarily aborting WebRequests if they are already completed or aborted #1267 (peppy)
  • Fix Logger still outputting to screen even when OutputToListeners is disabled #1266 (peppy)
  • Local all WeakList access in LocalisationEngine #1265 (peppy)
  • Fix IsCurrentScreen becoming true too early #1263 (peppy)

osu-web The new web front-end. Already live but hasn’t yet replaced the old site, pending feature parity.

New website poll

I asked on twitter how people are finding the new site. ARound 50% of people are quite eager to see it released, which is a satisfying result. That said, based on the feedback we got from this tweet we have identified a few key features which are missing that we will strive to implement before powering down the old site.


Add misses and max combo to scoreboards 🌈 #2000 (nekodex)

This is just the start of a larger design improvement we have planned for the beatmap leaderboards, so don’t mind the clumsy 300/100/50 counts and what not for now. They will be fixed soon!

Other changes

and that’s that!

Please give me your feedback of the readability of this format. It is highly appreciated.