github ppy/osu 2023.605.0

latest releases: 2024.625.3, 2024.628.0, 2024.625.2...
13 months ago

Check out changelog and video!

What's Changed

Code Quality

Database

Improve startup database reliability (#23695 by @peppy)

A couple of fixes here:

  • Previously, if the backup procedure failed, startup would continue and the user's realm database may be deleted. I think in such a fail case I'd rather the game didn't startup so the user gets in touch (or reads the log files themselves) rather than potentially losing data.
  • Reduced the number of cases a database would be marked as "corrupt". We've seen a couple of reports where a user has provided a "corrupt" database that has worked just fine, so hopefully this change will stop that happening.

Editor

Update metronome samples (ppy/osu-resources#257 by @nekodex)

Did a pass on the metronome samples, mainly to remove the pre-delay before the main transient, but also to make it 'snappier' overall. This should make it easier to hear over music and judge timing more accurately.

I originally had the pre-delay there to help soften the attack of the metronome (so it would sound more organic and less ear-piercing) under the assumption that people would be using it in conjunction with the visual waveform in the editor to dial in the timing/offset. However, it seems some people prefer to use their ears when timing and a pre-delay/offset messes with their ability to do that. Hopefully these new samples will resolve that.

Allow commiting / undoing placement of blueprints using back / select bindings (#23508 by @peppy)

With default bindings, this restored hitting "Escape" to exit placement mode.

Force placement of in-progress object when changing tools in the editor (#23509 by @peppy)

Just like in the osu! stable editor, you can now switch from slider to select or hitcircle placement and it will place an in-progress slider rather than throwing it away.

Fix sample banks not saving correctly when adjusting via editor (#23564 by @peppy)

Broke at some point recently.

Fix timeline blueprint display not showing correct combo number / colour during placement (#23582 by @peppy)

osu.Game.Tests.2023-05-17.at.08.55.03.mp4

Of note, in stable the way the editor behaves is slightly differently. The placement object is inserted into the beatmap before being placed, causing future objects to update their combo index, colour, etc.

I'm not ready to commit to that same behaviour (it will be more complicated to manage), but will deal with feedback on this in the future.

Fix undo/redo not working for slider velocity and sample changes (#23631 by @bdach)

Allow deselecting any selection in the editor using the Back binding (escape key) (#23651 by @peppy)

Matching much-loved stable behaviour.

Update beat divisor control to show ticks in more visually correct locations (#23581 by @peppy)

Before:

osu Game Tests 2023-05-17 at 07 36 08

After:

osu Game Tests 2023-05-17 at 07 35 33|

Add sample bank selection controls (and hotkeys) to editor (#20829 by @peppy)

Mostly for the hotkeys, since they've come up multiple times.

osu.Game.Tests.2022-10-19.at.12.47.23.mp4

Ensure editor selection buttons remain on screen when selection is near edge (#23649 by @peppy)

Purely visual and if it regresses in the future, it's going to be in a completely unpredictable way, so opting to not add tests.

2023-05-24.22-05-34.mp4

Fix slider path placement incorrectly snapping to distanced snapping grid when it makes no sense (#23662 by @peppy)

Fix placing objects before the first control point in the osu!taiko editor failing (#23667 by @peppy)

Before:

osu.2023-05-26.at.11.02.23.mp4

After:

osu.2023-05-26.at.11.01.04.mp4

Fix slider bars and text boxes fill colour not being fully defined in some screens (#23708 by @peppy)

Before:

osu! 2023-05-31 at 14 26 02

After:

osu! 2023-05-31 at 14 24 52|

Fix hit objects popping in and out of existence at edges of timeline (#23701 by @EVAST9919)

Smaller changes

  • Move blueprint validity conditions to allow more correct external usage of EndPlacement (#23507 by @peppy)

Framework

Show more information in frame statistic display (ppy/osu-framework#5801 by @peppy)

A result of smoogi not being able to tell which frame limiter is applied on high refresh monitors (where they all become 1000 Hz). Obviously this is a fault of the frame limiters, but fixing that is for another day.

osu Framework Tests 2023-05-18 at 07 47 05|

Fix input thread reporting too much elapsed time in single thread mode (ppy/osu-framework#5819 by @peppy)

Well, no, potentially not just WndProc but other counters too. Basically if BeginCollecting is called with no items in the stack, it will not consume the stopwatch time, meaning the next EndCollecting call will also include all time passed since the previous EndCollecting call.

Ouch.

Before:

osu Framework Tests 2023-05-31 at 08 38 08

After:

osu Framework Tests 2023-05-31 at 08 37 49|

Smaller changes

Gameplay

Remove flavour text from the pause / fail screens (#23646 by @peppy)

Didn't read too well, can't think of anything better so let's chop it.

Before:

osu Game Tests 2023-05-24 at 09 26 13

After:

osu Game Tests 2023-05-24 at 09 27 44|

Show current progress on pause screen (#23647 by @peppy)

Just because I could. I was also experimenting with adding more features to this screen, but feel that anything beyond this simple addition should be done by implementing skinning of the screen (quite low effort).

osu Game Tests 2023-05-24 at 09 34 20

Replace lazer scoring with "ScoreV2" (#23638 by @smoogipoo)

One of the issues with scoring that's being consistently brought up is its linear combo scaling nature. This has triggered discussions like this, which has led to an alternative scoring implementation here.

The problem with this implementation is that it adds a lot of complexity in an effort to make score re-calculable, but it relies on all judgements or some metadata being stored server-side (which we are not confident on moving forward with). On top of that, it changes scoring completely unlike anything we've seen thus far, which is neither a bad thing nor a good thing.

After internal discussion, we believe the best path forward is to return to something that everyone's familiar with that has been tried and tested. ScoreV2 seems appropriate.

For the most part, this is a 1:1 implementation of osu!stable's ScoreV2. osu!catch has not been exactly implemented, since its implementation drastically increases complexity and I've been told the simple combo/accuracy portions are fine (by people that have attempted to improve on the osu!stable algorithm for tournament purposes).

A few pointers regarding this change:

  • Going forward we won't be calling this ScoreV2 – it will still be referred to as lazer scoring for the time being. It isn't intending to track any past or future changes to ScoreV2 (which is more geared at follow the competitive tournament scene).
  • It doesn't support recalculation. This means that once we commit to it, it won't be changing in the future. We believe that this is for the best – while PP should be a live metric which is rebalanced as required, score should not be.
  • Before we commit to this, we will let it sit and go through a period of community testing and review (several months). Please reach out with any feedback before it's too late!
  • We will re-calculate stable scores (v1) to bring them roughly in-line with v2 scores. This will happen as a follow-up effort. Initial testing shows that we can convert with quite high accuracy.

Smaller changes

  • Fix default progress graph not updating after flip (#23451 by @timiimit)
  • Fix old widescreen videos with black bars not correctly filling screen (again) (#23575 by @Joehuu)
  • Allow localisation of gameplay pause / fails menus (#23640 by @17steen)

Gameplay (osu!)

Provide more accuracy modes for accuracy challenge mod (#23317 by @cdwcgt)

This also changes the default mode to "maximum achievable" rather then "current" accuracy.

osu.development.2023-04-26.17-51-45_x264.mp4

Fix cursor ripples appearing in a weird place when "autopilot" mod is enabled (#23696 by @peppy)

Smaller changes

  • Fix random mod "angle sharpness" slider value not always scaling by 0.5 (#23492 by @alixdotsh)

Gameplay (osu!mania)

Replace mania scroll "time" with scroll "speed" (#23691 by @smoogipoo)

I've changed everything to use the 1-40 scroll "speed" as I think it's a more natural scale for most players - I've never seen a request to be able to change the scroll time by millisecond values. Plus, it wouldn't be possible anyway if only the 1-40 range was exposed in the game options.

Fix osu!mania hold notes snapping to judgement area too early on early hits (#23721 by @peppy)

Before:

Safari.2023-06-01.at.07.07.29.mp4

After:

Safari.2023-06-01.at.07.14.35.mp4

Gameplay (osu!taiko)

Fix hitsounds not playing before and during taiko drum rolls and swells (#23618 by @bdach)

Performance

Fix dropdowns taking too long to load (ppy/osu-framework#5794 by @peppy)

Should improve load time of settings overlay, for instance.

Disallow game to check for updates while gameplay is active (#23636 by @peppy)

Eliminates potential stutters caused from update check overheads.

Avoid huge unnecessary allocations when no texture uploads are required (ppy/osu-framework#5807 by @peppy)

This was triggering on every texture bind operation. Oops.

Improve macOS frame timings by using CVDisplayLink (ppy/osu-framework#5821 by @peppy)

This pulls in veldrid changes by smoogipoo which allow near-perfect frame timings on macOS. Basically, the game can now run at refresh-rate-draw-fps and have hardware-cursor-like latency. Even when running windowed.

It's the new lowest-latency osu! experience by far. We hope to bring similar behaviour to windows (using things like GSync) in the near future.

Note that as a result, the draw thread will always be locked to your refresh rate, regardless of your chosen frame limiter setting.

Improve iOS/iPadOS frame timings by using CADisplayLink (ppy/osu-framework#5820 by @peppy)

Similar to the macOS change, this should greatly reduce latency on iOS / iPadOS devices.

Note that with this change, it is even more important than ever that you are running the game single-thread. If you have manually changed this setting, please change it back. It guarantees better performance in all cases and will stop your device from frying in the process.

Smaller changes

Reliability

  • Fix event bindings from long press flow in CursorContainer not being cleaned up (ppy/osu-framework#5798 by @peppy)
  • Fix weird state when attempting to enter gameplay skin editor scene from multiplayer (#23634 by @peppy)
  • Fix crash when deleting an object currently being dragged in the skin editor (#23660 by @peppy)
  • Fix potential crash in multiplayer when using beatmap listing to present a beatmap while hosting a room (#23661 by @peppy)
  • Fix mouse cursor potentially disappearing for good if screenshot capture fails (#23720 by @peppy)

Results

Show text hints on the accuracy heat map to better explain direction (#23577 by @peppy)

osu! 2023-06-02 at 03 01 23

Smaller changes

  • Fix accuracy heatmap not working since scoring changes (#23717 by @peppy)

Settings

  • Fix some tablet settings being hidden when searching using "area" keyword (#23506 by @peppy)
  • Fix some edge case display issues with display resolution dropdown (#23572 by @bdach)
  • Prevent feedback with display resolution bindable by using atomic .ReplaceRange() (#23573 by @Susko3)

Song Select

Fix random button hover state sticking when rewinding using right mouse button (#23576 by @peppy)

Also improves the temporary "rewind" text display to start showing when right mouse is first pressed, giving the user a better understanding of what is coming.

osu.2023-05-17.at.05.52.54.mp4

Tooling

UI

Show more decimal precision in slider tooltips when required (#23679 by @cdwcgt)

Before:

image

After:

image

Smaller changes

  • Ensure scroll-to-top button is displayed above all overlay content (#23580 by @peppy)
  • Update components in line with framework menu handling changes (#22716 by @peppy)
  • Fix clicking area of news sidebar post links (#23606 by @Joehuu)
  • Add shadow to notifications and settings overlays to better distinguish from other overlays (#23637 by @peppy)
  • Update translations (ppy/osu-resources#260 by @peppy)

UX

Always play chat message notifications when window is unfocused (#23593 by @Dimmitsaras)

New Contributors

Full Changelog: 2023.513.0...2023.605.0

Don't miss a new osu release

NewReleases is sending notifications on new releases.