Introduction
Hello! This is my proposal for a new and improved HP system for taiko. Before I get into the details of what the proposal is, I think I should explain why the current system is bad and needs fixing.
There are 4 main issues I see with the current HP system.
My proposal addresses all of these issues.
Implementation
If discussion goes well, I'd like to see my proposal implemented in score v2 in either osu!lazer, osu!stable, or both. Having it implemented in score v2 would let players and mappers test it out for themselves.
I'm still unsure what should be done about older beatmaps in relation to this new system. Should all old beatmaps updated before a certain date revert to the old HP system, or should they all use my new proposed system? I think either option would be possible.
The Proposal
The HP bar is has a maximum value of 100, a minimum value of 0, and it must be at least 50 at the end of the map to pass for the purpose of these formulas.
The variables for these formulas will be.
HP = the HP difficulty setting
notes = total notes in the map
combo = the player's current combo
300 HP gain formula:
300g(HP) = ((-0.075HP + 2)* 100) * (1 + (Math.Min(0.25,(0.05 * Math.Floor(combo / 50)))) * (1 / notes)
100 HP gain formula:
100g(HP) = (-0.075HP + 1) * (((-0.075HP + 2)* 100) * (1 + (Math.Min(0.25,(0.05 * Math.Floor(combo / 50)))) * (1 / notes))
Miss HP gain formula:
0g(HP) = -1.5 * (0.15HP + 0.5) * ((0.175/(1-0.999^notes)) + 0.6)
========
Explanations:
300 HP gain formula:
This is the formula that is used when you perfectly hit a note.
I'm going to break down the formula into 3 easier to understand parts:
100 HP gain formula:
This is the formula that is used when you hit a note with bad accuracy, yet don't miss.
Its the same as the 300 HP gain formula, but with one key difference.
A multiplier is applied based on the HP difficulty setting value. The lower the HP, the more HP a 100 will reward. At 0 HP, it rewards the same amount as a 300. At 10 HP, it rewards a quarter of the amount a 300 will.
Miss HP gain formula:
This is the formula that is used when you miss a note.
Once again, I'm going to break down the formula into 3 easier to understand parts:
Hello! This is my proposal for a new and improved HP system for taiko. Before I get into the details of what the proposal is, I think I should explain why the current system is bad and needs fixing.
There are 4 main issues I see with the current HP system.
- HP settings in the current ranked meta doesn't make intuitive sense. Being forced to decrease the HP as the difficulty increases goes against the logical thought that as difficulty increases, HP should increase to. This meta only exists because of how lenient low notecount maps are, and how unforgiving high notecount maps are.
- Extremely low notecount maps are too easy. In the recent past, there has been a surge of maps with notecounts in the range of 7-30 notes. I believe that with such little amount of notes, passing the map is too easy.
- Consecutive misses in a short period of time decreases the HP bar too much. Missing like this could be caused by notelock, or by a sudden difficulty spike. Difficulty spikes are common in high difficulty maps, with 1/4 and 1/6 bursts appearing occasionally.
- At low HPs such as < HP 4, 100’s can wrongfully reward more HP than a 300.
My proposal addresses all of these issues.
Implementation
If discussion goes well, I'd like to see my proposal implemented in score v2 in either osu!lazer, osu!stable, or both. Having it implemented in score v2 would let players and mappers test it out for themselves.
I'm still unsure what should be done about older beatmaps in relation to this new system. Should all old beatmaps updated before a certain date revert to the old HP system, or should they all use my new proposed system? I think either option would be possible.
The Proposal
The HP bar is has a maximum value of 100, a minimum value of 0, and it must be at least 50 at the end of the map to pass for the purpose of these formulas.
The variables for these formulas will be.
HP = the HP difficulty setting
notes = total notes in the map
combo = the player's current combo
300 HP gain formula:
300g(HP) = ((-0.075HP + 2)* 100) * (1 + (Math.Min(0.25,(0.05 * Math.Floor(combo / 50)))) * (1 / notes)
100 HP gain formula:
100g(HP) = (-0.075HP + 1) * (((-0.075HP + 2)* 100) * (1 + (Math.Min(0.25,(0.05 * Math.Floor(combo / 50)))) * (1 / notes))
Miss HP gain formula:
0g(HP) = -1.5 * (0.15HP + 0.5) * ((0.175/(1-0.999^notes)) + 0.6)
========
Explanations:
300 HP gain formula:
This is the formula that is used when you perfectly hit a note.
I'm going to break down the formula into 3 easier to understand parts:
- This determines the total base HP attainable in a map. At 0 HP this will be 2 full HP bars, and at 10 HP this will be 1.25 full HP bars
- The combo bonus. The longer you maintain a combo, the higher boost you gain.
This means that if you only miss in one concentrated area versus missing consistently throughout the map, you'll have an easier time recovering HP.
at 0 combo, this multiplier does nothing, but for every 50 combo up to a maximum of 250 combo, the multiplier is increased by 0.05x up to a maximum of 1.25x
This matches the combo bursts that happen every 50 combo. - The length multiplier. This evenly divides the total base HP attainable in the map by the total number of notes in the map. If you hit 100% of the notes, you get 100% of the total base HP (plus any combo bonus gained)
100 HP gain formula:
This is the formula that is used when you hit a note with bad accuracy, yet don't miss.
Its the same as the 300 HP gain formula, but with one key difference.
A multiplier is applied based on the HP difficulty setting value. The lower the HP, the more HP a 100 will reward. At 0 HP, it rewards the same amount as a 300. At 10 HP, it rewards a quarter of the amount a 300 will.
Miss HP gain formula:
This is the formula that is used when you miss a note.
Once again, I'm going to break down the formula into 3 easier to understand parts:
- The base miss value of -1.5, this is a constant that will be multiplied by the next two parts to determine the HP lost per miss
- The HP difficulty setting value multiplier. This is where the mapper gets to choose how hard it will be for the player to pass the map.
A HP value of 0 will have a multiplier of 0.5x, and a HP value of 10 will have a multiplier of 2.0x - The map length multiplier. This makes misses more lenient in longer beatmaps, and more strict in ultra short beatmaps.
It applies a 4.0x multiplier at 52 notes, and a 1x multiplier at 575 notes.
If you could miss 50 times in a 575 note map before the HP is half drained, you'd only be able to miss 13 times in a 52 note before the HP is half drained.