Skip to content
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

Add consistentRatioPenalty to the Colour skill. #31285

Merged
merged 10 commits into from
Jan 7, 2025

Conversation

Lawtrohux
Copy link
Member

osu!taiko Colour Skill Fix

Relies on #31284 for values to look good. Both of these are available for testing on huismetbenen together.

Introduces a new method, consistentRatioPenalty, to evaluate a consistency penalty based on the number of consecutive consistent intervals in rhythmic ratios. The function is designed to penalise patterns with excessive consistency in rhythmic sequences.

  • Consistency Check: Compares the ratio of current and previous rhythmic intervals, applying a penalty if the percentage difference between the ratios is within a defined margin of error (threshold).
  • Penalty Calculation: The penalty scales based on the number of consecutive consistent intervals (consistentRatioCount) and the cumulative sum of their ratios (totalRatioCount).

The loop terminates when no valid previous TaikoDifficultyHitObject is available, as well as terminating on rhythm change, to ensure that this doesn't affect performance of the calculator, this has been tested with minimal increase to map load and calculation times.

@Lawtrohux Lawtrohux changed the base branch from master to pp-dev December 26, 2024 11:21
@Lawtrohux Lawtrohux requested a review from a team December 26, 2024 11:22
Co-authored-by: StanR <[email protected]>
@YaniFR
Copy link

YaniFR commented Dec 26, 2024

I am not too sure about performance when the loops running for long periods (example: long streams), can you post some benchmarks (even using system.stopwatch) to ensure that things still look good?

@Lawtrohux
Copy link
Member Author

Mean Time (ms): 0.01756
Median Time (ms): 0.01756 (assuming uniform distribution)
Total Time (ms): 43.3673

This is calculated as an average across 50 maps all containing over 2500+ hitobjects.

Mean Time (ms): 0.00810
Median Time (ms): 0.00809
Total Time (ms): 20.0001

This is calculated as an average across 250 maps all containing below 2500 hitobjects.

Copy link

@YaniFR YaniFR left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm then

@stanriders stanriders requested a review from a team January 7, 2025 08:44
@stanriders stanriders enabled auto-merge (squash) January 7, 2025 10:57
Lawtrohux added a commit to Lawtrohux/osu that referenced this pull request Jan 7, 2025
@stanriders stanriders merged commit 4095b26 into ppy:pp-dev Jan 7, 2025
8 checks passed
@Lawtrohux Lawtrohux deleted the colour-finale branch January 7, 2025 12:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Pending Deploy
Development

Successfully merging this pull request may close these issues.

3 participants