2017 05 29

published 29 May 2017

It feels like it’s been an eternity since we last talked! I’ll do my best to bring you up to speed with everything that’s been going on.

Triangles are now more efficient

smoogipooo and Tom94 pair programmed a new implementation of triangle patterns. Since these are displayed everywhere in lazer, it is one of the areas that definitely required some optimisation.

Performance improvements upwards of 20% can be observed when many triangles were displayed on the screen at once.

Scroll drifting fixes

When scrolling beyond the bounds of a scrollable view, it was possible for the cursor to become misaligned. This has been fixed in both the generic ScrollContainer and the ChatOverlay, which has a slightly custom drag mechanic which was also drifting.

New animation when changing between mods

Thanks to jorolf for the concept.

osu!mania is getting more complete

smoogipooo has been busy making continuous progress on mania. Here’s a little preview of how things are going!

Auto isn’t quite there yet, but it is already quite playable in the release builds :). Holds are now in, along with very basic judgement.

Framework maintenance

There was also some substantial work done by myself and Tom94 to clean up input handling at a Drawable level in the framework. Drawables are no longer aware of their parent InputManager, as they don’t need to be. One more step in the right direction for the framework!

Other things

  • DrabWeb made a breadcrumb control, which will make an appearance in future in-game UI #865.
  • Linux mouse input is no longer handled when the window is not in focus #761.
  • The back button now bounces in time with the active beatmap #848.
  • The hotkey for drawings was changed to Shift-Alt-D as to not conflict with osu!direct #867.
  • Fixed a few potential hard-crashes when failing to load a beatmap #862.
  • When first loading the music controller, it no longer slides in, instead already being in the correct initial state #856.

New release available

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


2017 05 24

published 24 May 2017

First of all, thanks to everyone who reads these posts! I took a moment to ask on twitter as to how often people would like me to digest development changes, as I mentioned it takes quite a bit of time and effort to prepare daily posts.

The results are quite spread over the first three options, but “per release” sits best with me (and is also the most popular) so I’m going to go with that. I’ll still keep the post titles as the current date because I don’t want to tie my posts 100% to releases for now.

osu!taiko visual improvements

smoogipooo has taken a step back from osu!mania to update the visuals of taiko. You can now enjoy more epic kiai time, better feeling hit explosions and overall a smoother visual experience.

osu! logo beat sync

Finally, the osu! logo bounces in time with the music - even at the beatmap loading screen! osu!lazer has honestly felt hollow without this implemented until now. Note that we also have screen-edge flashes (thanks to ColdVolcano with huge code review from smoogi and I) at the main menu too.

Now that we have the framework in place for synchronising arbitrary UI elements to the beatmap, you can be sure to see more of this playfulness happening all over the UI. With moderation, of course.

User panels

We now have a full user panel implementation thanks to DrabWeb (see #825). While you can’t see it changing state in the game currently, you can see your own user panel by clicking the user login area top-right.

Spinner colours improved

As per my previous blog post, we needed some framework changes to allow for more vivid spinner colours. The changes were made by paparony03 and as a result I was able to bring the spinners closer in-line with their design!

New release available

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


2017 05 22

published 22 May 2017

We had some crazy levels of contribution over the weekend, so I spent basically all of today reviewing other people’s code. My brain hurts, but there’s some good progress going on. Here’s a preview of some of the stuff being worked on (but not ready for a release yet):

osu!direct in #805

Menu flashing (and the framework for more beat-synced UI elements) in #812

User and multiplayer panels in #825 and #824

Other (actually completed) stuff

New release available

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


2017 05 19

published 19 May 2017

Updated skip button design

The skip button was sitting in a weird place on the screen, so we decided to throw it away and start fresh. The new one features a countdown bar and a much larger hit area. It also gets out of your way when you’re busy watching amazing storyboards.

Note that the sound effect is missing in this video for whatever reason. Go download lazer if you wanna try it yourself :).

Other things

  • Visual fixes for OSD when displaying audio device names #803.
  • Add setting checkbox to toggle debug logs #802.
  • Basic mania beatmap conversion framework #788.
  • Fix audio beginning to play when potentially paused due to window becoming unfocused #799.
  • Fix audio seeking unnecessarily when entering play mode in certain cases #797.
  • Add support for searching beatmap author at song select #796.
  • Fixes for auto mod not hitting stacks of notes correctly on certain maps #787.
  • Fix incorrect handling of scheduled task cancelling when many cancels are issued in a short span #731.
  • Fix control key not working for some textbox shortcuts where it should #728.
  • Fix mouse cursor visually sticking to the edge of the game window (again) #727.

New release available

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


2017 05 18

published 18 May 2017

Quite some good progress today! Let’s dive into it.

Updated spinner design

The lazer spinner design was nothing short of temporary. It was laggy to boot. Today I spent a great deal of time realising flyte’s newer design in full detail. Take a look at it isolated:

and in a map:

Note that due to some deficiencies in our framework regarding how glows are rendered, the colours are not correct and not final. It will look much more vibrant once these issues are addressed:

Other things

  • Moved all pause logic into a new container, improving reliability and cleaning up the code a lot #783.
  • Fix and simplify pause logic and possible race conditions #782.
  • Fix song select reverting to first difficulty of current group on entering #778.
  • Fix global hotkeys not always working #780.
  • Fix channels being unnecessarily recycled on disconnect #774.
  • The log overlay now works as intended #721.

New release available

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