1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-15 08:52:56 +08:00
Commit Graph

325 Commits

Author SHA1 Message Date
Dean Herbert
c8b05ce114
Tidy up code quality of RhythmEvaluator 2025-01-21 13:40:55 +09:00
James Wilson
a77dfb1068
Use correct HitWindows class for osu!taiko hit windows in difficulty calculator (#31579)
* Use correct `HitWindows` class for osu!taiko hit windows in difficulty calculator

* Remove redundant (and incorrect) hit window creation

* Balance rhythm against hit window changes
2025-01-20 17:04:31 +05:00
StanR
22e839d62b
Replace indexed skill access with skills.OfType<...>().Single() (#30034)
* Replace indexed skill access with `skills.First(s is ...)`

* Fix comment

* Further refactoring to remove casts

---------

Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2025-01-20 09:39:35 +00:00
Eloise
e57565435e
osu!taiko new rhythm penalty for long intervals using stamina difficulty (#31573)
* Replace long interval nerf with a new one that uses stamina difficulty

* Turn tabs into spaces

* Update unit tests

---------

Co-authored-by: StanR <hi@stanr.info>
2025-01-20 11:40:52 +03:00
Jay Lawton
2d0bc6cb62
Rebalance stamina length bonus in osu!taiko (#31556)
* adjust straincount to assume 1300

* remove comment

---------

Co-authored-by: StanR <hi@stanr.info>
2025-01-19 22:40:09 +00:00
Jay Lawton
e04727afb1
Improve convert considerations in osu!taiko (#31546)
* return a higher finger count

* implement isConvert

* diffcalc cleanup

* harshen monostaminafactor accuracy curve

* readd comment

* adjusts tests
2025-01-19 21:55:34 +00:00
Eloise
8354cd5f93
Penalise the reading difficulty of high velocity notes using "note density" (#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>
2025-01-18 13:52:47 +00:00
Natelytle
5b4ba9225d
Move error function from osu.Game.Utils to osu.Game.Rulesets.Difficulty.Utils (#31520)
* Move error function implementation to osu.Game.Rulesets.Difficulty.Utils

* Rename ErrorFunction.cs to DifficultyCalculationUtils_ErrorFunction.cs
2025-01-17 19:37:34 +00:00
Jay Lawton
a42c03cea4
osu!taiko further considerations for rhythm (#31339)
* further considerations for rhythm

* new rhythm balancing

* fix license header

* use isNormal to validate ratio

* adjust tests

---------

Co-authored-by: StanR <hi@stanr.info>
2025-01-17 16:15:22 +05:00
Jay Lawton
a83f917d87
osu!taiko star rating and performance points rebalance (#31338)
* rebalance

* revert pp scaling change

* further rebalancing

* comment

* adjust tests
2025-01-16 21:14:05 +00:00
Jay Lawton
9da8dcd815
osu!taiko stamina balancing (#31337)
* 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>
2025-01-16 10:30:02 +00:00
Jay Lawton
0a21183e54
reading mono nerf (#31510) 2025-01-15 10:34:21 +00:00
Natelytle
5bed7c22e3
Remove lower cap on deviation without misses (#31499) 2025-01-14 19:12:08 +00:00
Jay Lawton
4095b2662b
Add consistentRatioPenalty to the Colour skill. (#31285)
* 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>
2025-01-07 11:36:56 +00:00
Jay Lawton
824497d82c
Rewrite of the Rhythm Skill within osu!taiko (#31284)
* 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>
2024-12-27 16:30:30 +03:00
Jay Lawton
f6a36f7b2e
Implement Reading Skill into osu!taiko (#31208) 2024-12-21 13:19:14 +03:00
Jay Lawton
d8c3d899eb
remove particular condition on convert nerf (#31196)
Co-authored-by: James Wilson <tsunyoku@gmail.com>
2024-12-19 17:22:16 +00:00
Jay Lawton
ecd6b41928
Increase accscalingshift and include countok in hit proportion (#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>
2024-12-19 14:45:11 +00:00
Jay Lawton
4ca88ae2d6
Refactor TaikoDifficultyCalculator and add DifficultStrain attributes (#31191)
* refactor + countdifficultstrain

* norm in utils

* adjust scaling shift

* fix comment

* revert all value changes

* add the else back

* remove cds comments
2024-12-19 11:32:59 +00:00
YaniFR
0f2f25db53
Adjust DifficultyValue curve to avoid lower star rating of osu!taiko being too inflated (#31067)
* low sr

* merge two line

* update decimal

* fix formatting

---------

Co-authored-by: StanR <hi@stanr.info>
2024-12-18 21:11:51 +03:00
Jay Lawton
79a3afe06f
Implement considerations for Relax within osu!taiko diffcalc (#30591) 2024-12-18 18:16:27 +03:00
Bartłomiej Dach
3cfa455369
Fix strong drum rolls being counted for double the combo in legacy scoring attributes 2024-11-29 10:54:32 +01:00
StanR
78c97d2cd7 Add DifficultyCalculationUtils 2024-11-07 20:36:00 +05:00
Dean Herbert
795477372f
Merge pull request #30456 from smoogipoo/revert-taiko-convert-diffcalc-change
Bring back convert nerf to fix overweighted taiko difficulty
2024-11-04 20:00:58 +09:00
Jay Lawton
4eee1f429b fix spelling error 2024-11-03 00:47:53 +10:00
Dan Balasescu
3e7fcc3c24
Fix NaN values when stamina difficulty is 0 2024-11-01 22:52:51 +09:00
Dan Balasescu
9766d51559
Store attribute to the database 2024-11-01 16:02:02 +09:00
Jay Lawton
ff05bbd63f Add mono streak index calculation to strain values 2024-10-31 15:25:25 +10:00
Jay Lawton
abe2ee90e0 Change naming of onlyMono to SingleColourStamina 2024-10-31 12:12:14 +10:00
Jay Lawton
21b458d268 change convert specific omissions 2024-10-31 12:08:12 +10:00
Jay Lawton
85aa2ea8af Change Convert Bonuses to Performance 2024-10-31 10:15:29 +10:00
Nathen
101a4028fa LTCA save me 2024-10-30 18:57:47 -04:00
Dan Balasescu
e8540a3e7b
Bring back convert nerf to fix overweighted taiko difficulty 2024-10-31 02:15:00 +09:00
Bartłomiej Dach
1af464d5ae
Bump difficulty calculator versions
In order for the new star difficulty to be shown to users on the next
release.

catch's difficulty calculator version is not bumped because the only
catch change pending deploy is https://github.com/ppy/osu/pull/28353 and
that affects performance points only.
2024-10-07 15:38:41 +02:00
Bartłomiej Dach
84d6467e48
Merge branch 'master' into taikostatacc 2024-10-07 14:15:29 +02:00
Givikap120
2995df7903 removed unnecessary includes 2024-09-22 15:04:21 +03:00
Givikap120
1b77b3912b initial commit 2024-09-22 15:01:58 +03:00
Givikap120
e6fc4f6766 merged multipliers 2024-08-05 16:33:42 +03:00
StanR
df64d7f374 Refactor out taiko Peaks skill 2024-06-25 23:06:42 +05:00
Nathen
2fb22f1feb Move the return value for deviation below the local functions 2024-06-23 19:17:19 -04:00
Nathen
f8f18b6cbd Fix naming convention 2024-05-29 09:40:59 -04:00
Nathen
1714567342 Save deviation calculations to variables 2024-05-29 09:40:39 -04:00
Bartłomiej Dach
6266af8a56
Fix taiko legacy score simulator not including swell tick score gain into bonus portion
Reported in https://discord.com/channels/188630481301012481/1097318920991559880/1221836384038551613.

Example score: https://osu.ppy.sh/scores/1855965185

The cause of the overestimation was an error in taiko's score simulator.
In lazer taiko, swell ticks don't give any score anymore, while they did
in stable.

For all intents and purposes, swell ticks can be considered "bonus"
objects that "don't give any actual bonus score". Which is to say,
during simulation of a legacy score swell ticks hit should be treated
as bonus, because if they aren't, then otherwise they will be treated
essentially as *normal hits*, meaning that they will be included in
the *accuracy* portion of score, which breaks all sorts of follow-up
assumptions:

- The accuracy portion of the best possible total score becomes
  overinflated in comparison to reality, while the combo portion of
  that maximum score becomes underestimated.

- Because the affected score has low accuracy, the estimated accuracy
  portion of the score (as given by maximmum accuracy portion of score
  times the actual numerical accuracy of the score) is also low.

- However, the next step is estimating the combo portion, which is done
  by taking legacy total score, subtracting the aforementioned
  estimation for accuracy total score from that, and then dividing
  the result by the maximum achievable combo score on the map. Because
  most of actual "combo" score from swell ticks was "moved" into the
  accuracy portion due to the aforementioned error, the maximum
  achievable combo score becomes so small that the estimated combo
  portion exceeds 1.

Instead, this change makes it so that gains from swell ticks are treated
as "bonus", which means that they are excluded from the accuracy portion
of score and instead count into the bonus portion of score, bringing the
scores concerned more in line with expectations - although due to
pessimistic assumptions in the simulation of the swell itself,
the conversion will still overestimate total score for affected scores,
just not by *that* much.
2024-03-25 19:09:38 +01:00
nathen
a9b3416a3f Remove MathNet.Numerics dependency 2024-03-10 00:37:28 -05:00
nathen
537059504a Fix comment 2024-03-10 00:20:06 -05:00
nathen
6ddb2b7f8b Include misses in the great window deviation calc 2024-03-10 00:19:04 -05:00
nathen
caba0510db Compute the upper bound on deviation with a 99% confidence interval 2024-03-09 23:10:53 -05:00
nathen
8a26cdaaab Merge master 2024-03-09 22:33:13 -05:00
Berkan Diler
6adf0ac01e Use new LINQ Order() instead of OrderBy() when possible 2024-02-08 18:01:00 +01:00
Dan Balasescu
ee05743921
Bump databased star rating versions 2024-02-06 22:58:11 +09:00