Repository navigation
Normalize Scoring #65
Description
Activity
returning to this issue, i may have figured out how to normalize scores properly
with regular normalization, the scoring would look something like this
base_score = max_score / num_notes
where the score is evenly distributed across all the noteshowever the combo factor weights the notes differently every 8 consecutive hits, so the countermeasure i found is to weigh the number of notes in the map accordingly (first 8 notes are x1, the next are x2 and so on, up to x8).
assuming perfect play, the combo ramp up (excluding x8 combo) should last for 56 notes and be weighted for 224 notes. even if the map has less notes, this shouldnt affect the algorithm.
therefore, a map with 176 notes (120 + 56) should be considered as if it had 1184 notes (
120 * 8 + 224). this gives a normalized base score of 844.59, which would be rounded off to 845 per note. the multipliers would be then applied as usual.heres a small python script that does the calculation. i'm 100% sure there's a quicker and better way to do this with maths but i'm not smart enough to figure it out
num_notes = int(input()) max_combo = 8 max_score = 1000000 hits_to_combo = 8 # ramping up combo w_notes = 0 combo = 1 while num_notes > 0: w_notes += min(hits_to_combo, num_notes) * combo num_notes -= hits_to_combo combo += 1 # reached max_combo if combo == max_combo: w_notes += num_notes * combo break print(f"n.º of actual notes: {w_notes}") print(f"score per note = {max_score / w_notes}" if w_notes > 0 else "0")
Should the speed and mode multiplier be applied to the total score too?
So a mode multiplier that grants 1.1x score means a total score of 1,100,000 instead of the base 1,000,000.i'd say the most reasonable answer is yes, because otherwise a play on, say, S-- (0.7x) could potentially yield the same score as S++ (1.25x)
which isn't too bad but can easily prompt players to only get low speed/high acc scores to farm leaderboard spotsalso this has been applied in Sound Space and every single clone of the game
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsApproved
Scoring should be capped at 1 million, a perfect combo will achieve the max points.
Should account for the combo as a factor as well.