-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
buff default small cs & slow jumps #15481
Conversation
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.
Reasoning behind these changes seems incorrect to me. Your screenshot does indeed show movements with the same difficulty.
Overall this is a purely "meta change" instead of difficulty calculation improvement, which I think are considered a bad way forward. You're skewing the algorithm towards kinds of maps you think deserve more pp without actually improving parts of difficulty calculation that make those maps underrated. This also lacks any testing or balancing or even low-mid player level consideration - HR is already meta there.
@@ -109,7 +109,7 @@ private double computeAimValue() | |||
|
|||
double approachRateFactor = 0.0; | |||
if (Attributes.ApproachRate > 10.33) | |||
approachRateFactor = Attributes.ApproachRate - 10.33; | |||
approachRateFactor = (Attributes.ApproachRate - 10.33) / 1.5; |
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.
Why? How lowering high AR bonus supposed to buff slow jumps?
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.
@stanriders as always they start from pretty old base with conflicts. Current value is
osu/osu.Game.Rulesets.Osu/Difficulty/OsuPerformanceCalculator.cs
Lines 162 to 164 in 593f11d
double approachRateFactor = 0.0; | |
if (Attributes.ApproachRate > 10.33) | |
approachRateFactor = 0.3 * (Attributes.ApproachRate - 10.33); |
both for aim and speed, so they indeed buffed it
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.
i should apply newer value. please wait a minute.
the reason why i nerfed high AR is to remain HDDTHR similarly, buff HR to pow scaling factor.
we have a lot of top performance of HDDTHR records. so i think we should remain HDDTHR records result.
{ | ||
float smallCircleBonus = Math.Min(30 - (float)BaseObject.Radius, 5) / 50; | ||
float smallCircleBonus = Math.Min(35 - (float)BaseObject.Radius, 0) / 40; |
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.
You give bonus for small circles staring from cs ~4.2. Current bonus starts from cs ~5.5 which makes more sense to me.
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.
it makes scalingFactor according to CS has continuity.
note)Radius = 64 * ((1.0 - 0.7 * (CS - 5) / 5) / 2)
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.
note) and same 54.4-4.48*cs
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.
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.
and in my feel, we should buff from 4.2 to 5.4.
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.
something strange need to change, min not max
@@ -29,6 +29,16 @@ public Aim(Mod[] mods) | |||
private double skillMultiplier => 23.25; | |||
private double strainDecayBase => 0.15; | |||
|
|||
private double calculateDefaultVelocity(double distance, double strainTime) |
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.
Why are you buffing velocity below 90 bpm and nerfing everything above? If you think velocity isn't being calculated correctly it shouldn't be changed here, it should be changed in the difficulty object processing
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.
in OsuDifficultyHitObject, we should calculate it stupidly like
MovementDistance = calculateDefaultVelocity(MovementDistance, MovementTime) * MovementTime;
in conversation, it is.
In fact, I think the yellow pattern is harder because we should locate the aim more longer.
imagine insane HDDT farming maps and 180bpm 6* None farming maps. (the two type of maps give same pp)
I completely disagree that the yellow pattern is harder. Furthermore, there is statistics works and experimental data that prove that the deviation of a hit spread on an object (which can be used to model difficulty) scales linearly with the velocity of a jump, which implies that the 2 patterns you posted in fact should have the same difficulty assuming both have the same velocity, see https://docs.google.com/document/d/1pXNl9sduYkQ_vXbO4v8SMM6uBk-zX8tHfDvB9kgX9dg/edit# |
It has been statistically proven by collecting replay data on test map by multiple people.
This is incredibly biased and also makes little sense. In my opinion both types of maps are relatively the same (assuming we're talking about the same mapping style on both ofc)
There is, it's all in the linked docs The rest I'm not too sure what supposed to mean, except the "graph" though - you pretty much proven yourself that relation is linear. |
it's not for the statistical thing. you got wrong point. and i said, "The better aim skill, The smaller the deviation.". we should compare expert player and newbie player at same map to prove. "when a player get more greater aim skill, the standard deviation is decreased although the distance is longer. to prove your work, we need to compare same map with 1 digits jump player and 3 digits jump player, and we should get there's no deviation difference between them."
for example, 4* dt map https://osu.ppy.sh/beatmapsets/338293#osu/753445 gives 372pp with SS. do you really think 4* dt map is harder or same? i definitely no.
really i can't find anything except osu-aim-tool. idk. where is pp calculation?
i said the statistical thing is wrong before. why should i prove already wrong thing? |
@GoldenMine0502 Please keep caps lock and bold font off. There is no reason to get heated. I, for one, cannot logically follow the argument you are trying to make. It's possibly because things are getting lost in translation, so let me ask some questions.
The standard deviation of what, precisely?
Even if this is true, how does this relate to buffing slow jumps?
I don't understand the point the picture there is trying to make. What is the squiggly line? What is the straight line? |
this is not direct related to my pr. its from the docs, https://docs.google.com/document/d/1pXNl9sduYkQ_vXbO4v8SMM6uBk-zX8tHfDvB9kgX9dg/edit# |
I don't think it's unrelated if the document in question is being quoted as directly contradicting the changes in this pull request, which as I understand, it is being quoted as such. |
I think it works. |
That's what the research does. Data came from a range of players from 3 digits to 6 digits, all running the same test maps. Maps you linked are very different in structure and difficulty, so comparing them isn't valid.
Pp calculation is the end result of the research that will eventually come, but isnt required for the research to be valid. There are formulas in the docs though, not sure how you missed them. If you really want to see it in the code form you can frost's repository in the pp dev discord, it's pinned in the related channel. |
Just to clarify. While the doc examines data from a single player, data collected from other players demonstrate that the linearity still holds. Data from all players is made available in this spreadsheet. Those files can be loaded either via the aim tool found here or examined via the numpy python library. |
Closing due to inactivity to lessen the PR burden. Please discuss future changes in the PP discord. @ppy/performance-points-committee poke me if this is an incorrect closure and the change is good-to-go. |
one of patch of https://docs.google.com/document/d/14REVGc-2Ubg5f6MHaITKLOY3HarZuL-ozU5Ow6ng2ig/edit
Changing the aim calculation algorithm (Aim.cs)

As you know, we are using the code calculating jump, Distance / StrainTime.
So, The two jump patterns have same value.
In fact, I think the yellow pattern is harder because we should locate the aim more longer.
for example, 4* dt map https://osu.ppy.sh/beatmapsets/338293#osu/753445 gives 372pp with SS.
6* none map https://osu.ppy.sh/beatmapsets/863227#osu/1805627 gives 380pp with SS. (same pp)
I think 6* none is more harder.
In the current ppv2 system, no matter how far the distance between notes is, if strainTime is long, they are regarded as a short jump.
But from now on, if the distance is far between the notes regardless of strainTime, they are given a bonus.
166ms means almost 90bpm(180bpm) jump.
In code, the original calculation result is slightly reduced,
and the static jump calculation is divided by 166ms.
plus, i changed the scalingfactor to give default small cs bonus. Mainly cs7+, It is underprevilieged i think.
As a result, it buffs HR.
https://www.desmos.com/calculator/vrjxscpa91 (old)
result scalingfactor graph
x-axis means CS
y-axis means ScalingFactor
before = red line

after = blue line
https://www.desmos.com/calculator/hc3ffb1koe
result static jump calculation graph
x-axis means BPM
y-axis means aimStrain when distance in px = 200.
before = green line

after = red line
difference = purple line
JumpPlayers.txt
HRPlayers.txt