-
-
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
Statistical accuracy pp and speed scaling formulas #15091
base: pp-dev
Are you sure you want to change the base?
Conversation
The change to strain time cap in speed.cs and the accuracy changes seem orthogonal. IIRC the intent of that cap is to stop easily double-tappable notes from contributing a lot to speed pp. In the PP calculation, there isn't enough information about note spacing, so there's no way to have the same effect. Your accuracy change will affect all maps with the same OD equally: both 230bpm death streams and 380bpm doubles. |
That specific change was related to nerfing streams faster than the OD hitwindow, which was deemed necessary if changing speed cap stuff. Not necessarily doubletaps. I haven't looked into great detail for the changes proposed here yet, but @emu1337 could clarify whether this proposal removes the need for that nerf in the Speed skill |
8300a50
to
f6cb9b8
Compare
…and rearrange code
# Conflicts: # osu.Game.Rulesets.Osu/Difficulty/OsuPerformanceCalculator.cs
…tistical_acc_pp # Conflicts: # osu.Game.Rulesets.Osu/Difficulty/Skills/Aim.cs
…o being too inflated (ppy#31067) * low sr * merge two line * update decimal * fix formatting --------- Co-authored-by: StanR <[email protected]>
…utes (ppy#31191) * refactor + countdifficultstrain * norm in utils * adjust scaling shift * fix comment * revert all value changes * add the else back * remove cds comments
…py#31195) * revert acc scaling shift to previous values * increase variance in accuracy values across od * move return values, move nullcheck into return --------- Co-authored-by: James Wilson <[email protected]>
Co-authored-by: James Wilson <[email protected]>
* Simplify osu! high-bpm acute angle jumps bonus * Add aim wiggle bonus * Add hitwindow-based aim velocity decrease * Revert "Add hitwindow-based aim velocity decrease" This reverts commit bcebe96. * Move wiggle multiplier to a const, slightly decrease acute bonus multiplier * Make sure the previous object in the wiggle bonus is also part of the wiggle * Scale the wiggle bonus multiplayer down * Increase the acute angle jump bonus multiplier * Make wiggle bonus only apply on >150 bpm streams, make repetitive angle penalty * Reduce wiggle bonus multiplier to not break velocity>difficulty relation * Adjust wiggle falloff function to fix stability issues * Adjust wiggle consts * Update tests
… fix slider drop penalty being too lenient (ppy#31055) * Change slider drop penalty to use actual number of difficult sliders, fix slider nerf being too lenient * Move cubing to performance calculation * Add separate list for slider strains * Rename difficulty atttribute * Rename attribute in perfcalc * Check if AimDifficultSliderCount is more than 0, code quality fixes * Add `AimDifficultSliderCount` to the list of databased attributes * Code quality --------- Co-authored-by: James Wilson <[email protected]>
* Use `lastAngle` when nerfing repeated angles on acute bonus * Bump acute multiplier * Correct outdated wiggle bonus comment * Update test --------- Co-authored-by: StanR <[email protected]>
* implement bell curve into diffcalcutils * remove unneeded attributes * implement new rhythm skill * change dho variables * update dho rhythm * interval interface * implement rhythmevaluator * evenhitobjects * evenpatterns * evenrhythm * change attribute ordering * initial balancing * change naming to Same instead of Even * remove attribute bump for display * Fix diffcalc tests --------- Co-authored-by: StanR <[email protected]>
…su! ruleset (ppy#21211) * Set speed distance to 0 * Reduce speed & flashlight, remove aim * Remove speed AR bonus * cleanup autopilot mod check in `SpeedEvaluator` * further decrease speed rating for extra hand availability * Pass all mods to the speed evaluator, zero out distance bonus instead of distance --------- Co-authored-by: tsunyoku <[email protected]> Co-authored-by: StanR <[email protected]>
…scaling to wide bonus (ppy#31320) * Fix angle bonuses calculating repetition incorrectly, apply distance scaling to wide bonus * Buff speed to compensate for streams losing pp * Adjust speed multiplier * Adjust wide scaling * Fix tests
* fix colour * review fix Co-authored-by: StanR <[email protected]> * remove cancelled out operand * increase nerf, adjust tests * fix automated spacing issues * up penalty * adjust tests * apply review changes * fix nullable hell --------- Co-authored-by: StanR <[email protected]>
…y#31447) Co-authored-by: James Wilson <[email protected]>
* Simplify angle bonus formula * Simplify further * Simplify acute too * Tests
* Apply a bunch of balancing changes to aim * Update tests --------- Co-authored-by: James Wilson <[email protected]>
Please see this document that details the changes of this proposal: https://docs.google.com/document/d/19KyQ7pd9HjFcbMVK_DlljOpFnN4mt_AN-GqJRbzz25M/edit?usp=sharing
In short, we estimate the player's unstable rate, assuming they tap with a mean hit error of 0 and their taps are normally distributed, and use that to generate accuracy pp and scale speed pp. The purpose of the change is to fix the issues with accuracy pp detailed in the document.
This change requires MathNet.Numerics, a math package that provides us with some functions that aren't present in the standard Math library, particularly the error function and the inverse error function.
SR/PP sheet: https://docs.google.com/spreadsheets/d/1t4r_abJfWD9MHncVIKZ3c_bx_NsX30cOH2oxNrgIq04/edit
As of 16963a5