-
-
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
January 2025 Diffcalc/PP release #31595
base: master
Are you sure you want to change the base?
Conversation
…o being too inflated (#31067) * low sr * merge two line * update decimal * fix formatting --------- Co-authored-by: StanR <hi@stanr.info>
…utes (#31191) * refactor + countdifficultstrain * norm in utils * adjust scaling shift * fix comment * revert all value changes * add the else back * remove cds comments
…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 <tsunyoku@gmail.com>
Co-authored-by: James Wilson <tsunyoku@gmail.com>
* 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 (#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 <tsunyoku@gmail.com>
* 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 <hi@stanr.info>
…su! ruleset (#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 <mbruhyo@gmail.com> Co-authored-by: StanR <hi@stanr.info>
…scaling to wide bonus (#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 <castl@inbox.ru> * 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 <castl@inbox.ru>
…1447) Co-authored-by: James Wilson <tsunyoku@gmail.com>
* 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 <tsunyoku@gmail.com>
* Make aim accuracy scaling harsher * Use deviation-based scaling * Bring the balancing multiplier down * Adjust multipliers, fix incorrect deviation when using slider accuracy * Adjust multipliers * Update osu.Game.Rulesets.Osu/Difficulty/OsuPerformanceAttributes.cs Co-authored-by: James Wilson <tsunyoku@gmail.com> * Change high speed deviation threshold to 22-27 instead of 20-24 * Update tests --------- Co-authored-by: James Wilson <tsunyoku@gmail.com>
* Remove problematic total deviation scaling, rebalance aim * Fix tests
Co-authored-by: StanR <hi@stanr.info>
* stamina considerations * remove consecutive note count * adjust multiplier * add back comment * adjust tests * adjusts tests post merge * use diffcalcutils --------- Co-authored-by: StanR <hi@stanr.info>
Code quality CI runs have suddenly started failing out of nowhere: - Passing run: https://github.com/ppy/osu/actions/runs/12806242929/job/35704267944#step:10:1 - Failing run: https://github.com/ppy/osu/actions/runs/12807108792/job/35707131634#step:10:1 In classic github fashion, they began rolling out another runner change wherein `ubuntu-latest` has started meaning `ubuntu-24.04` rather than `ubuntu-22.04`. `ubuntu-24.04` no longer has .NET 6 bundled. Therefore, upgrade NVika to 4.0.0 because that version is compatible with .NET 8.
* rebalance * revert pp scaling change * further rebalancing * comment * adjust tests
* further considerations for rhythm * new rhythm balancing * fix license header * use isNormal to validate ratio * adjust tests --------- Co-authored-by: StanR <hi@stanr.info>
…ty.Utils (#31520) * Move error function implementation to osu.Game.Rulesets.Difficulty.Utils * Rename ErrorFunction.cs to DifficultyCalculationUtils_ErrorFunction.cs
…nsity" (#31512) * Penalise reading difficulty of high velocity notes at high densities * Use System for math functions * Lawtrohux changes * Clean up density penalty comment * Swap midVelocity and highVelocity back around * code quality pass --------- Co-authored-by: Jay Lawton <jaime@merkids.com> Co-authored-by: StanR <hi@stanr.info>
* Implement fix for catch buzz sliders SR abuse * Run formatting --------- Co-authored-by: StanR <hi@stanr.info>
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.
Taiko looks good, some code and magic could be clearer but hopefully some refactoring can be done in the near future.
…ributes.AimDifficultSliderCount` (#31736)
…difficulty attributes (#31735) * Calculate hit windows in performance calculator instead of databased difficulty attributes * Apply mods to beatmap difficulty in osu! performance calculator * Remove `GreatHitWindow` difficulty attribute for osu!mania * Remove use of approach rate and overall difficulty attributes for osu! * Remove use of hit window difficulty attributes in osu!taiko * Remove use of approach rate attribute in osu!catch * Remove unused attribute IDs * Code quality * Fix `computeDeviationUpperBound` being called before `greatHitWindow` is set
I've glossed over a lot of implementation details here, but I think this is about as good to go as it's going to get in my eyes. @smoogipoo do you want to do another pass before we get this going? Also I think we want to try and synchronise a client release of this better this time around, so I am not going to merge for the upcoming lazer release. We will delay one release cycle (or even do an interim release) so server updates can be prepared and we can have everything go out roughly-together. Sound good? |
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.
Have done a rough pass and everything seems okay.
…ations showing hundreds of pp points awarded (#31741) See https://discord.com/channels/188630481301012481/1097318920991559880/1334716356582572074. On `master` this is actually worse and shows thousands of pp points, so I guess `pp-dev` is a comparable improvement, but still flagrantly wrong. The reason why `pp-dev` is better is the `speedDeviation == null` guard at the start of `computeSpeedValue()` which turns off the rest of the calculation, therefore not exposing the bug where `relevantTotalDiff` can go negative. I still guarded it in this commit just for safety's sake given it is clear it can do very wrong stuff.
ppy/osu-infrastructure#31
This PR includes all changes listed in the diffcalc project marked as
Ready for deploy
. Some changes were already merged tomaster
beforepp-dev
branch was createdDeployment considerations:
AimDifficultSliderCount
ApproachRate
,OverallDifficulty
,GreatHitWindow
,OkHitWindow
,ScoreMultiplier
osu! changes: https://pp.huismetbenen.nl/rankings/players/master
Taiko changes: https://pp.huismetbenen.nl/rankings/players/master_taiko
Newspost: ppy/osu-wiki#12699