mon / BemaniPatcher

Web based DLL binary patcher
MIT License
211 stars 136 forks source link

Chusan: add a patch that removes recent scores from rating calculation #357

Closed nyairobi closed 1 month ago

nyairobi commented 1 month ago

This patch effectively removes R10.

Motivation

The in-game rating in Chunithm is calculated roughly as follows (in pseudocode):

let r = 0
for s in best_scores.take(30):
    r += s
for s in recent_30_scores.sort().take(10):
    r += s
r /= 40

The general consensus is that taking recent scores into account defeats the purpose of the overall rating as a skill/progress tracker; they can deflate it from 16.x to 14.x when you're all-playing easier charts, or they can artificially inflate it when you spam your best chart a dozen times. Some people choose to hide the in-game rating specifically for this reason.

The patch

0x6FF272 is the number of recent scores taken (10->0) 0x6FF285 is the divisor (40->30)

The resulting value matches with a third-party score tracker that specifically only uses Best30.

Disclaimers

mon commented 1 month ago

I mean look, some of my earliest hex edits were changing SDVX III's score algo from the default to "percentage score" and "maximum possible score from here", so i totally get you. This seems to change the rating algo to something objectively more accurate (which subjectively might be worse or better). An easy merge.