-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Flashlight difficulty rework #28278
Open
molneya
wants to merge
24
commits into
ppy:pp-dev
Choose a base branch
from
molneya:fl-main-2
base: pp-dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Flashlight difficulty rework #28278
+128
−32
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…-performance', 'fl-slider-lazy-position' and 'fl-combo-difficulty' into fl-main-2
!diffcalc |
apollo-dw
suggested changes
May 27, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a quick parse to start with.
osu.Game.Rulesets.Osu/Difficulty/Evaluators/FlashlightEvaluator.cs
Outdated
Show resolved
Hide resolved
osu.Game.Rulesets.Osu/Difficulty/Preprocessing/OsuDifficultyHitObject.cs
Show resolved
Hide resolved
osu.Game.Rulesets.Osu/Difficulty/Evaluators/FlashlightEvaluator.cs
Outdated
Show resolved
Hide resolved
osu.Game.Rulesets.Osu/Difficulty/Evaluators/FlashlightEvaluator.cs
Outdated
Show resolved
Hide resolved
tsunyoku
reviewed
Jul 1, 2024
osu.Game.Rulesets.Osu/Difficulty/Preprocessing/OsuDifficultyHitObject.cs
Outdated
Show resolved
Hide resolved
!diffcalc |
nerfs streams and very very long maps
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New version of #24124.
This is a combination of many small changes that should make flashlight performance technically more correct.
Spinner bug fix
The most notable nerf in this set of changes, caused by not adding StrainTime during a spinner.
Example maps most affected by this change:
New slider calculation
Before this rework, some of the long sliders on maps such as Notch Hell gave no extra pp despite definitely warranting it. This rework uses a better measure of slider velocity and uses it to scale the slider's difficulty. This is the most notable buff in this set of changes.
Example maps most affected by this change:
Flashlight radius consideration in difficulty
This adds 2 new attributes to
OsuDifficultyHitObject
:PreviousMaxCombo
andCurrentMaxCombo
. These are used in the flashlight evaluator to get the current flashlight radius to more accurately calculate visibility of objects.Flashlight radius consideration in performance
When a player misses, the flashlight radius will increase in size. This rework attempts to estimate how much of the score was spent in each combo radius by using the missing combo from an FC and the effectiveMissCount. Since this is a new nerf to the performance calculator, this will cause non-FCs to lose pp. In the future, removing the combo scaling factor should be considered.
A new length bonus formula to better reflect the flashlight radii was also added. The comparison can be seen here: https://www.desmos.com/calculator/bl984uzivz
Other minor changes
Accuracy changes
FL and HD now have the same accuracy multiplier to prevent rare cases where FL SS scores were worth less than HD SS scores on low difficulties. Also includes a slight buff to HDFL scores.
Slider lazy end consideration
This rework uses the LazyEndPosition for jumps between non-consecutive objects to better reflect actual cursor positions.
Small distance constant changes
Some stream maps were discovered to be slightly overweighted in the current system. Therefore the smallDistNerf and stackNerf constants were changed to penalise them a bit more.
Use DecayWeight again
As flashlight is not a mechanics based skill, it didn't make sense to only consider a small portion of the map for difficulty, so it was changed to consider all strains. This could theoretically mean an infinitely long map could give infinite pp. In the interest of not giving infinite pp and nerf very long maps slightly, DecayWeight was added back with a constant very close to 1. This will still consider all strains but give less pp to those small strains on long maps.