Stability weighting of highest strains in mania #2449
Closed
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.
Quote from the discord :
"So I have implemented a stability system that rewards constant difficulty and gives a small penalty to bursts around easier areas.
I am using a Queue where I store the previously calculated strains (unchanged), to which I apply a stability factor, calculated with the average strain of the previous sections.
The stability factor is decreased on overrated or underweighted sections, and increased when on an section that matches the current average difficulty.
The same implementation is possible using a global average instead of a moving average.
This adds a few constants to be able to tweak it :
memory (number of strain sections of 400ms (depending on section length constant) to keep in mind for the moving average)
stabilityStepDecrease (the step when encoutering either a positive or negative stability change)
stabilityStepIncrease
maxStability (aka max bonus for stability)
minStability
overweightFactor (the threshold representing when should we consider something unstable due to a high increase in strain)
underweightFactor"
The constants shown here can (and should) be played with to get and idea of the impact. (Currently, the star rating calculation will not be impacted on the maps library if you don't delete the maps, restart the game, and download them again).
The goal of this change is to normalize the difficulty, instead of rewarding isolated bursts in the map. In mania, combo is not important enough to consider bursts an important part of the play, compared to what a constant difficulty represents in terms of final score
With the current constants, I have been able to give, in my opinion, a better representation for my setlist of test maps, which are:
-Galaxy Collapse
-Aiae
-Blastix Riotz
-The Empress Scream off ver
-Triumph & Regret
-Eternal Drain
-Odin
This change should come along with a modification of strain values calculations, because at this day streams, stamina and reading (the hardest to calculate) aren't representated enough in comparison with jumptrills.
I do not intend to see this specific pull to be merged in the final version because it needs more work, but it can at least be an addition or merely a thought to the improvement of mania star rating calculation.