Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rank glitching when clearing for the first time and getting top 50 #23834

Open
Kiryonn opened this issue Jun 9, 2023 · 8 comments
Open

Rank glitching when clearing for the first time and getting top 50 #23834

Kiryonn opened this issue Jun 9, 2023 · 8 comments
Assignees

Comments

@Kiryonn
Copy link

Kiryonn commented Jun 9, 2023

Type

Game behaviour

Bug description

When clearing a song for the first time, the game will display a different personnal best score rank than the leaderboard rank.

lines of table:

  1. beating already existing highscore that was top50 (no bug)
  2. beating a song for the first time and get top 50 (bug)
  3. beating a song already played that wasn't top 50 yet (no bug)
  4. same as 3. but beating a song that wasn't played in a long time (no bug)

As you can see it only happens when you enter the top50 from beating the song for the first time

Screenshots or videos

before after
image image
image image
image image
image image

Version

2023.605.0-lazer

Logs

updater.log
database.log
input.log
network.log
performance.log

@Kiryonn
Copy link
Author

Kiryonn commented Jun 9, 2023

More info:
After restarting the game, the glitch is still there.

@Kiryonn Kiryonn changed the title Score glitching when clearing for the first time Rank glitching when clearing for the first time and getting top 50 Jun 9, 2023
@Kiryonn
Copy link
Author

Kiryonn commented Jun 9, 2023

More info:
Here is a list of glitched ranking i found (non exhaustive)

leaderboard personal best
49 38
21 11
45 19
41 11
40 31
48 2
48 49
22 18
40 22
46 6

I can't see a patern, and while most of the time it's a higher rank on the personal best, it's not always the case

@y0rune
Copy link

y0rune commented Jun 12, 2023

I was also very confused due to I played the map and got the "S" score but in the leaderboard the highest is the "A" score with more points. So what is the more important value the "S" score or the higher point value.

Version: 2023.610.0-lazer

Screenshot 2023-06-12 at 20 44 02

@Kiryonn
Copy link
Author

Kiryonn commented Jun 12, 2023

i believe it is an unrelated issue @y0rune. I'm talking about how a same game score can get you 2 different visual ranks.
To answer your question tho, the letter A and S are more about a precision indicator. While it does have an influence over your score, the most important thing is your combo. Your rank is then decided after the score is calculated. So the score is what matters

@y0rune
Copy link

y0rune commented Jun 13, 2023

All right! I saw that "issue" in your screenshots so I thought I can be related. Thank you!

@Kiryonn
Copy link
Author

Kiryonn commented Jun 13, 2023

@y0rune well, in your case you also have a serious issue that a lot of people are mentionning. It's a problem linked to the changing of the calculation of scores. It's called score V2. The problem is that old scores that used V1, have a higher score with less performances, making it hard or even impossible to beat those highscores.

@peppy
Copy link
Member

peppy commented Jun 16, 2023

@Kiryonn so i can investigate further, could you please set a score on a fresh beatmap and leave it in the bad state rather than playing a second time?

Can you also link the beatmap and attach a screenshot showing your personal best / leaderboard as above?

I tested to make sure the sorting we're applying at our end is not having an adverse affect on this and it doesn't seem to be. Manual testing against a lot of beatmaps I had locally shows no assertion on this:

diff --git a/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs b/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs
index 4c41ed3622..d8079145e8 100644
--- a/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs
+++ b/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs
@@ -6,6 +6,7 @@
 using System.Diagnostics;
 using System.Linq;
 using System.Threading;
+using NUnit.Framework;
 using osu.Framework.Allocation;
 using osu.Framework.Bindables;
 using osu.Game.Beatmaps;
@@ -160,6 +161,14 @@ private void load()
                 if (!newRequest.Equals(scoreRetrievalRequest))
                     return;
 
+                var originalScores = response.Scores.Select(s => s.ToScoreInfo(rulesets, fetchBeatmapInfo)).OrderByTotalScore().ToArray();
+                var sortedScores = originalScores.OrderByTotalScore().ToArray();
+
+                for (int i = 0; i < originalScores.Length; i++)
+                {
+                    Debug.Assert(originalScores[i].OnlineID == sortedScores[i].OnlineID);
+                }
+
                 SetScores(
                     response.Scores.Select(s => s.ToScoreInfo(rulesets, fetchBeatmapInfo)).OrderByTotalScore(),
                     response.UserScore?.CreateScoreInfo(rulesets, fetchBeatmapInfo)

@peppy peppy self-assigned this Jun 16, 2023
@Kiryonn
Copy link
Author

Kiryonn commented Jun 17, 2023

Pretty sure it's a front end issue. Also i couldn't reproduce the bug 100% of the time even tho the condtitions where the same somehow.

Version

2023.617.0-lazer

Beatmap

https://osu.ppy.sh/beatmapsets/899955#osu/1879805

Screenshot

image

Log

database.log
input.log
network.log
performance.log
runtime.log
updater.log

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants