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

Reconsider scoring of SmallTick / LargeTick #23403

Closed
peppy opened this issue May 5, 2023 Discussed in #22884 · 10 comments
Closed

Reconsider scoring of SmallTick / LargeTick #23403

peppy opened this issue May 5, 2023 Discussed in #22884 · 10 comments

Comments

@peppy
Copy link
Member

peppy commented May 5, 2023

Opening a tracking issue to make sure this discussion is not missed, as I think it's quite important in terms of game balance.

Discussed in #22884

Originally posted by Rekunan March 17, 2023
If I'm understanding the scoring page in the GitHub wiki correctly (https://github.com/ppy/osu/wiki/Scoring#hit-results), LargeTick represents a slider tick and SmallTick represents a sliderend. That would mean that compared to Stable, giving a weighting of 100 for dropped sliderends, and 100 or 50 for dropped slider ticks, they only have a weighting of 10 and 30 respectively. I would like to ask why that is, and if possible, for them to be increased to either 50 or 100.

As it stands, players have very little incentive to aim for sliderends as they no longer contribute to combo, and they have a miniscule impact on accuracy. This means that if the difficulty of aiming to sliderends is too much, such as on maps with hard sliders, players will opt for dropping sliderends as it preserves combo, and it'll only drop accuracy minutely.

Even if players choose to play the same way as in stable, it becomes harder to compare scores on maps with hard sliders unless you look for the pp value or the slider ticks and slider ends metric in the score details screen.

@peppy peppy modified the milestones: Solo leaderboards, General usability, User acceptance, Game balance May 5, 2023
@Zyfarok
Copy link
Contributor

Zyfarok commented Jul 16, 2023

What makes a gameplay element more or less important is both the judgement value and whether it gives combo and can break combo. Breaking combo is objectively the most impactful of the three, since a combo break will impact many notes, and potentially by a lot.

  • Currently, slider-ticks (LargeTick) giving 30 points are relatively fine, because they also give 1 combo and can break combo. Most of the weight of the tick is on the combo-break potential. It might be better to have them be upgraded to 50 or 100 points so that they also impact the accuracy part of the score, especially for low-combo plays, but that's about it.
  • But for slider-ends (SmallTick), they only give 10 points and have no impact on combo at all (while they did give 1 combo in stable). It's fine to have them not give combo but then they indeed have to give at the very least 100 points, and it would make sense for them to give something closer to 200. In stable (v1 and v2), "missing" a slider-end turns your 300 into a 100 on the slider-head, thus virtually giving a weight of 200 points to the slider-end, additionally to the "loss" of 1 combo which can also have a big impact on the score. The weighting of slider-ends in stable is very reasonable thus it would make sense to have a similar weighting in lazer.

@peppy peppy moved this to Needs implementation in Path to osu!(lazer) ranked play Aug 20, 2023
@peppy peppy removed this from the Game balance milestone Aug 20, 2023
@peppy peppy moved this from Needs implementation to Needs discussion in Path to osu!(lazer) ranked play Aug 20, 2023
@Walavouchey
Copy link
Member

Walavouchey commented Aug 22, 2023

Turns out there are a lot more differences regarding hit results.

Focusing on just sliders without changing any values, I imagine a change like this could be made:

  • Slider ticks to return SmallTickHit instead of LargeTickHit
  • Slider ends to return LargeTickHit instead of SmallTickHit

A lot of things that give score share the same hit result, but adding a couple more may be necessary if stable is to be matched.

Different in lazer compared to stable Score V2 (I didn't investigate all the way into how some stable values are derived):

Thing Stable (ScoreIncreaseType) Lazer (HitResult) Stable Lazer
Slider tick SliderTickHit LargeTickHit 10 30
Slider repeat SliderRepeat LargeTickHit 30 30
Slider end SliderEnd SmallTickHit 30 10
Drop (big) FruitTick LargeTickHit 100 30
Strong hit (idk) LargeBonus (50) * 7 (not a bonus, required for full score)1 350 (bonus)
Drum roll hit (idk) SmallBonus 2002 (bonus) 10 (bonus)
Large drum roll hit (idk) LargeBonus (50) * 3 + SmallBonus (10)3 8004 (bonus) 160 (bonus)
Spinner bonus, banana SpinnerBonus LargeBonus 1,100 (bonus) 50 (bonus)
Spinner spin SpinnerSpinPoints SmallBonus 100 (bonus) 10 (bonus)
OK (osu!taiko) Hit100 (osu!taiko) Ok 150 100
PERFECT ManiaHit300g Perfect 320 315

Same in lazer as in stable Score V2:

Thing Stable (ScoreIncreaseType) Lazer (HitResult) Stable Lazer
Droplet (small) FruitTickTiny SmallTickHit 10 10
Swell/denden hit (idk) IgnoreHit 05 0
MEH Hit50 Meh 50 50
OK Hit100 Ok 100 100
GOOD ManiaHit200 Good 200 200
GREAT Hit300 Great 300 300
spinner madness - it's absolutely bonkers

Spinners in stable have a certain amount of required amount of half spins required to complete them, as detailed in the wiki.

Every full spin, you get 100 points. When completing the required amount (half a spin after the "clear" text appers") + 4 half spins, you start getting 1,100 per full spin. When getting bonus points, if the required amount of half spins is even, the 1,100 bonus overrides this value; if it is odd, you get 1,100 every odd half spin and 100 every even half spin

In lazer, you get 10 points per full spin. After completing the required amount of full spins ("clear" text appears), you gain 50 points instead, starting from the next full spin.

Footnotes

  1. 300 for OK, 600 for GREAT in ScoreV1

  2. 300 (360 during kiai) in ScoreV1

  3. Yes, you get two hit results for one hit on a large drum roll
    image

  4. 720 (864 during kiai) in ScoreV1

  5. 300 in ScoreV1 via TaikoDenDenHit

@smoogipoo
Copy link
Contributor

smoogipoo commented Aug 22, 2023

Is the issue that judgement results are different? There's certainly an argument to be made for that, but I'm not sure it's the primary issue here. We've already made concessions that lazer scoring is not going to match stable scorev2, even initially, so judgement results being different is fine imo (as long as it's justified).

Exactly matching stable sounds insane to me - there are some 35 unique judgements all with their own little differences. Part of what we've tried to do with lazer is unify things.

As far as I understand, the primary issue is the difference in acc/combo additions. In particular, slider ends only drop accuracy but not combo in lazer.

I'm not sure that this particular issue is resolvable by tick judgements alone - it's likely that we need a judgement which "drops" combo.

@bdach
Copy link
Collaborator

bdach commented Aug 22, 2023

I guess as per the summary newspost from the last community discussion there is nothing to discuss here balance-wise as the consensus is that osu!-the-ruleset slider tick score values should be restored to parity with stable?

Just switching the numerical values as the OP suggests is going to impact catch too as it also uses the current 10 / 30 values. So not sure where to take that. osu!-local override to the values?

Strong hit ... LargeBonus * 7
Large drum roll hit ... LargeBonus * 3 + SmallBonus

@Walavouchey How on earth were these derived? These do not look right at all.

I also generally agree with @smoogipoo that we should not be looking to 1:1 match everything until proven otherwise. This issue's scope seems more specifically about sliders in osu!-the-ruleset.

@Walavouchey
Copy link
Member

Walavouchey commented Aug 22, 2023

Is the issue that judgement results are different?

slider ticks were the only thing we seemed to agree should match stable during the meetings (as there were people complaining about it). the table above is to inform of any side effects from changing values

Strong hit ... LargeBonus * 7
Large drum roll hit ... LargeBonus * 3 + SmallBonus
@Walavouchey How on earth were these derived? These do not look right at all.

i'm serious. strongs and large drum roll hits are just randomly multiplied elsewhere (also look at footnote 3)

private double strongScaleValue(JudgementResult result)
{
if (result.HitObject is StrongNestedHitObject strong)
return strong.Parent is DrumRollTick ? 3 : 7;
return 1;
}

stable uses a similar conditional but since the final values are way different, it's not even the whole story (that i haven't uncovered yet, but i'm probably dropping this for now since it's too complicated)

https://github.com/peppy/osu-stable-reference/blob/master/osu!/GameplayElements/Scoring/Processors/ScoreProcessorTaiko.cs#L61

@bdach
Copy link
Collaborator

bdach commented Aug 22, 2023

i'm serious. strongs and large drum roll hits are just randomly multiplied elsewhere (also look at footnote 3)

Ah right I forgot about this... It was to mostly match stable. I think it's a "leave it there" kind of thing.

I think we should pull this back to sliders specifically and decide on whether we want to be changing the point values for slider parts, or doing whatever else wrt slider tails impacting combo or whatever. I'm not really sure I have a well formed opinion on that, probably would look to yield to someone more competent gameplay-wise (hi @Bubbleman532)

@smoogipoo
Copy link
Contributor

Moving this out of the project for the time being. We'll go with the current mechanics as they are and see how it is with more user feedback post-ranking.

@Zyfarok
Copy link
Contributor

Zyfarok commented Dec 13, 2023

@smoogipoo this doesn't make sense since changing this post-ranking means a score-wipe which players absolutely don't want.
However, note that this topic is 100% tied with #25739 and thus this issue is redundant with the discussion happening there.

@bdach
Copy link
Collaborator

bdach commented Dec 13, 2023

@Zyfarok your opposition is well noted at this point. there is no need to repeat the same talking point ad nauseam. please let us work.

@peppy
Copy link
Member Author

peppy commented Jan 17, 2024

This has largely been resolved now. Some may argue that "ticks should be worth more" but we've locked things in for now and further discussion will happen after we have more experience and feedback of the system as it stands.

@peppy peppy closed this as completed Jan 17, 2024
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

5 participants