-
Notifications
You must be signed in to change notification settings - Fork 19
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
Implement difficulty and performance calculations. #292
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Co-authored-by: Nao <35349837+naoei@users.noreply.github.com>
because why not?
Implement Basic Performance Point Calculations
This should have it's own difficulty value calculated.. right?
No idea why this was thought up of.
Move away from inheriting Beat
thanks rider
# Conflicts: # osu.Game.Rulesets.Tau/osu.Game.Rulesets.Tau.csproj
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Supersedes #133.
Special thanks to @Coppertine @Flutterish, @YukiSnow0, Homura, and many others for helping.
Here's a quick breakdown of how we're calculating difficulty currently.
Preprocessing
Currently, we have two difficulty hit objects, the ordinary difficulty hit object (for hard beats) and an angled version (for beats, sliders, and slider repeats).
Regular difficulty hit object
This has nothing special attached to it, only providing a property called
StrainTime
with a minimum value of25ms
.Angled difficulty hit object
This inherits the normal difficulty hit object and provides information around the current
AngleRange
, theDistance
(or in other words, a delta angle) in angles between the current and last knowable angle, which if the previous hit object is a slider, it will fetch the very last angle of that slider.If the current object is a
Slider
, then it will also provide information such asTravelDistance
,LazyTravelDistance
(travel distance - angle range), and theTravelTime
.Skills
We've combined the Star rating calculation and Performance points calculation into each skill, just to keep things simpler and easier to think of in mind.
Aim
The aim skill can be simply described by this mathematical operation:
The rest of the skills we copied from osu! lol