Open smoogipoo opened 6 months ago
Just to add here that this isn't going to be simple to implement.
Currently we have things in a really good place in terms of spin precision (over different frame rates; in replays) because there's no averaging or inertia. If we want to add a localised limit, I'd argue that we require some averaging mechanism, but even if there was none, having a limit brings implications for replay playback.
I'm reluctant that we can get this working well this year, and it may be something we push for in the future, which would potentially break old replays but not scoring.
This is a very tough one, my thoughts: -Spinner MAX needs to be reachable by any capable person, in the sense it should never be their biggest concern for any score, including SS. -This is very hard to have while simultaneously wanting to incentivize people to really go at it while spinning. -Also not a fan of allowing longer breaks due to previously spinning faster. -Problem with making players maintain a certain RPM (either to reach MAX once a spinner ends, or to keep the MAX once already reached) is finding the right penalty, a different judgement? you can't "take away" spins they've already done.
Closest thing I can find to a solution is segmenting duration of a spinner into chunks of lets say, 2 seconds? with each one having its own reachable MAX. -(edit: this sounds totally horrible to implement)- might be totally undoable depending on how scoring handles spinners. Not sure how this information would be shown to the player, as in I don't like the idea of a number or bar or whatever resetting midway through the spinner.
I believe it would be easy to store the frame / time that each spin was counted -> average delay between spins -> average spin rate, without relying on the speed currently displayed to players and consistent in replays.
With that:
That would also better display to users whether they are on track to clear the spinner - if they do not see at least a hint of bonus color, they are not currently above 1x minimumRotationsPerSecond and will not end up clearing the spinner at their current pace. That would be nice for me when playing casually too to be able to see that I can chill a bit if I am at a 50% bonus rate.
. . . but even then, on long spinners "padding" for that average can still be racked up to some degree. Maybe averaging a 2s rolling time window (afterwards, given the saved times) or something would be better than just plain averaging.
I think you have a good point here, but personally I feel that there's already enough incentive to keep spinning because spinners still make noise once you max 'em out.
I like what @IsaacElenbaas suggested with bonus being tied to rpm since that feels like a good balance of the other suggestions here and it seems like it'd be easier to implement
Discussed in https://github.com/ppy/osu/discussions/25213