forum

[taiko] HPv2 Discussion

posted
Total Posts
34
This is a feature request. Feature requests can be voted up by supporters.
Current Priority: +64
Topic Starter
tatatat
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.
  1. 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.
  2. 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.
  3. 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.
  4. 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:

  1. 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
  2. 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.
  3. 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:

  1. 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
  2. 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
  3. 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.
Vulkin
Small thing but:
"0g(HP) = -1.5 * (0.15HP + 0.5) * ((0.175/(1-0.999^notes)) + 0.6)"
Doesn't this mean a map can easily crash the game with only using sliders? Sure, note-less taiko maps aren't a thing, but I believe it's best to avoid encouraging players to crash their game just so that they can complain on reddit or twitter about it.

Also like we spoke on PM, Because on ScoreV2, you can actually miss/get 100s/get 300s (?) if you do sliders and/or spinners incorrectly (or not doing them at all), so considering future proofing this, might as well have a small consideration in regards to that?

Also can't really say much about this cuz I don't really fully understand it, so good luck, I guess...?
Topic Starter
tatatat
In score v2, spinners count as notes, but sliders dont. The great thing about sliders not counting as notes is that you can never receive a 300, a 100, or a miss from a slider. So dividing by 0 because there is no “notes” is impossible.

Glad I could clear up the confusion

Oh its also impossible to crash because .999 ^ 0 = 1
abraker

tatatat wrote:

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.
Any reason why at least 50?


tatatat wrote:

combo bonus hp gain
Sounds redundant. Yo dawg, I heard you like recovering so now you can recover more recover while recovering recover. Please justify why there needs to be combo bonus hp gain.

tatatat wrote:

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 HP.
No, according to your formula you get 100% of total hp + whatever combo hp gain works out to be


tatatat wrote:

The map length multiplier. This makes misses more lenient in longer beatmaps, and more strict in ultra short beatmaps.
Why should map length matter in hp?

Honestly why have complicated mechanics when can do nice and simple flat rates like

Gain = (score*score_gain_rate + score_gain_offset)*HP*gain_rate + gain_offset
Loss = -(score*score_loss_rate + score_loss_offset)*HP*loss_rate + loss_offset
Vulkin

tatatat wrote:

Oh its also impossible to crash because .999 ^ 0 = 1


something / 1-0.999^0 = something / 1-1 = something / 0 = kaboom

would break under current system because on normal score, spinner & slider are not considered, yet map can boot up fine with just that, so right now it could potentially lead to an infinite loading screen, or just crash, which is something i think would be best to avoid, at least for now.
Topic Starter
tatatat
“any reason why 50”

Thats just what the devs chose. You must have at least half a HP bar to pass

“ Please justify why there needs to be combo bonus hp gain. ”

This is my solution to notelocking and diff spikes. By only missing infrequently, you’re rewarded for playing consistently well. Missing 10-30 times in a row because of a diff spike can be quite troubling.

“ No, according to your formula you get 100% of total hp + whatever combo hp gain works out to be ”

I’m aware of this, and its intentional. Its a slight boost to longer maps as well, allowing them to reward more HP. Longer maps are a big problem in the current system, because of low scaling.


“ Why should map length matter in hp?

Honestly why have complicated mechanics when can do nice and simple flat rates like

...


Map length matters because the longer a map is, the more chances you have to miss. Having a purely linear system results in longer beatmaps being exceedingly less lenient, which is true in the current HP system.






“ would break under current system because on normal score, spinner & slider are not considered, yet map can boot up fine with just that, so right now it could potentially lead to an infinite loading screen, or just crash, which is something i think would be best to avoid, at least for now.”

Please remember, this formula is for missing. If spinners/sliders arent counted as a notes, then its impossible to miss and cause this division by zero.
abraker

tatatat wrote:

“any reason why 50”

Thats just what the devs chose. You must half at least half HP to pass
... I think we can change that.


tatatat wrote:

“ Please justify why there needs to be combo bonus hp gain. ”

This is my solution to notelocking and diff spikes. By only missing infrequently, you’re rewarded for playing consistently well. Missing 10-30 times in a row because of a diff spike can be quite troubling.
I see. Let me detail a few edge cases that can result from this and behavior then. Good or bad idk.

If you almost die because of a diff spike whatever happens in the next 50 notes has no difference with or without combo bonus according to your formula. So it certainly doesn't help immediately after the diff spike.

After comboing 50 notes the player may recover more quickly with combo bonus than without. Assuming the player can combo to save their life, that's only gonna help if there is another diff spike that can tank their hp and if there are enough notes until the next diff spike.

The worst possible setup would be a player missing a note in between the two diff spikes, causing them not to gain enough HP. Without combo bonus and lower hp missing a note anywhere would result in the same thing instead of only the middle.


tatatat wrote:

Map length matters because the longer a map is, the more chances you have to miss. Having a purely linear system results in longer beatmaps being exceedingly less lenient, which is true in the current HP system.
Ignoring linear system, the length part doesn't really make much sense to me. If a map is longer, wouldn't the mapper pick HP for the map that makes up for this? You are multiplying by (-0.75HP + 1)*(1 / notes), which can be an appropriately set value by the mapper since the mapper knows how long the map is.


tatatat wrote:

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.75HP + 1) * (((-0.075HP + 2)* 100) * (1 * (Math.Min(0.25,(0.05 * Math.Floor(combo / 50)))) * (1 / notes))
I think you can remove multiply by 1 before Math.Min?
Topic Starter
tatatat
“ If a map is longer, wouldn't the mapper pick HP for the map that makes up for this?”

This is what im trying to eliminate. This is what causes the strange HP difficulty settings in taiko, where as the difficulty increases, the HP decreases. The mapper shouldnt be forced to use counter-intuitive HP values to account for note count. The game should take it into account for them. Even if mappers do take it into account, whos to say they don’t under or overcorrect it? Humans arent perfect, computers are.

You might think this only applies to marathons, but every successive difficulty has more notes than the last, so the HP always has to be lower.



“ I think you can remove multiply by 1 before Math.Min?”

Woops, thats meant to be addition. So that there is a base multiplier of 1.
abraker

tatatat wrote:

100g(HP) = (-0.75HP + 1) * (((-0.075HP + 2)* 100) * (1 + (Math.Min(0.25,(0.05 * Math.Floor(combo / 50)))) * (1 / notes))

You are multiplying by HP twice here. Is that intended?
Topic Starter
tatatat
yes. The first HP multiplication is the multiplier for 100. Its what determines what percentage of a full 300 a 100 is worth.
Capu
The hp is good, tatatatatatatat please stop trying to change the whole game
Topic Starter
tatatat
“ The hp is good, tatatatatatatat please stop trying to change the whole game”

Theres no harm in improvement. I’ve pointed out 4 issues with the current system I’ve addressed with my proposal. Its not a drastic change. Its just better.
abraker
Desmos link to graphed formulas: https://www.desmos.com/calculator/aop5uwjavx
D3kuu
fix!!!!!!!!!!!!
clayton

Capu wrote:

The hp is good, tatatatatatatat please stop trying to change the whole game

it's clearly not good if he can list some undeniable large issues with it. imo #1 and #4 are the most important ones to solve cuz they make no sense

my criticism with solutions listed in the OP is the same as abraker's, it just seems too complicated or it's accounting for factors that don't need to be included, something simpler could also solve most of ur issues
Topic Starter
tatatat
Thanks for your comment clayton. I’d like to use a simpler solution, but I think my exponential growth for misses is essential. Missing in a map with 7 notes should be massively penalized compared to missing in a map with 7000 notes. I cant use a linear or quadratic formula for that without stitching multiple equations together using logic.


Removing combo boost would be possible. but I feel I’d have to very slightly boost the total base HP relative to notecount.
smoogipoo
I didn't realise this was going to be a discussion about a v2 of HP, before I suggested making a discussion.

The current path forward (lazer), is to use the same HP calc throughout all ruleset, which means eventually taiko will receive HP drain.
ptar124
I honestly cannot see why HP drain in taiko is necessary, nor does it add anything interesting to the game.

There are a lot of maps, where instead of a proper break, there is an extremely sparse pattern but where the drain time is still accounted for. It's a style that afaik is unique to taiko that soft and slow parts are to include some sort of notes, sometimes improvised, but definitely too sparse for any kind of HP gain to offset drain.
izede

smoogipoo wrote:

I didn't realise this was going to be a discussion about a v2 of HP, before I suggested making a discussion.

The current path forward (lazer), is to use the same HP calc throughout all ruleset, which means eventually taiko will receive HP drain.



PLEASE NO! I Love playing taiko so much with current HP system. And this is not such an important parameter to change the habits of thousands of taiko-players. There are no good reasons for this.
chayleaf

smoogipoo wrote:

The current path forward (lazer), is to use the same HP calc throughout all ruleset, which means eventually taiko will receive HP drain.


I'm sorry, but I absolutely can't agree with this. If it gets implemented, I will simply play all the maps with NF, except when playing for pp. HP drain just doesn't work in taiko. I will try to list some reasons before, but most of all I just don't like the idea itself.

1. Objective - As mentioned above, taiko mapping style doesn't work with this idea. If you compare taiko and std maps taiko maps will have WAY less breaks, and they generally only happen when really necessary and there's nearly no music to map to at all. Taiko maps would make you always fail upon missing a single note on such breaks, which is just really stupid. Similarly, in std mappers tend to add ways for people to regain HP, but in taiko there's no HP drain and no need to account for it.

2. Subjective - I just like the fact you can always continue playing, even if you messed up on some section. It's especially easy to mess up because of notelock which makes it quite hard to return to a stream. Even with no notelock, it's hard to quickly re-enter the map flow once you've broken out of it, and as taiko difficulty is very much density-based, misses would be absolutely unforgiving with HP drain activated. You can also finish (and possibly pass) the map even if you can't do a diff spike on it - which is in my personal opinion a good thing. Sometimes, when not playing online, I just like to do stupid stuff like try some interesting ghost tapping which makes me miss, or simply skip some sections or play them lazily because I want to focus on the other map parts. HP drain will make that go away.

I just think it's a bad idea to unify HP across gamemodes. They are different - thats why they are separate gamemodes in the first place. Accounting for combo in taiko or mania pp would absolutely destroy their ranking system - the gamemodes aren't aim based, which makes combo easy to lose without messing up too much. Similarly, HP systems should vary in different gamemodes if that makes sense, and that doesn't just apply to the HP system.
Topic Starter
tatatat
“ The current path forward (lazer), is to use the same HP calc throughout all ruleset, which means eventually taiko will receive HP drain.”

That does not seem like a good idea. That will alienate a large portion of the player base.

The main reason I can see why HP drain won’t work in taiko compared to osu!standard is that taiko has more highly dense rhythm. Taiko can have 300-400 BPM 1/4th streams, and messing up even slightly once would mean that you’re dead. It’d highly discourage innovation in the mapping scene, with people gravitating towards mapping safer and less interesting beatmaps.


I really think a poll should be put up for this sort of thing. I expect a majority of the active taiko player-base to hate HP drain, and it might make the transition from osu!stable to osu!lazer even more damaging to the taiko community. A large amount of mappers and players would likely quit.

Players will also not want to play the ultra long marathon beatmaps that are ranked, because they could easily sie at any time.
XEPCOH
please do not touch taiko hp system thanks
Topic Starter
tatatat
“ please do not touch taiko hp system thanks” Can you explain? Are you against both my proposal and smoogipoo’s? The current system isnt perfect, like I’ve outlined in my OP.
Genjuro
I'm all about improving the current HP system but please don't implement passive HP drain. Losing HP without missing makes no sense and failing mid-map isn't cool either. ideally the game should judge your overall performance and decide whether you should pass or not based on that.
abraker
clayton
lol i was wondering that too. does it just mean overlapping hit windows in taiko?
Topic Starter
tatatat
basically, yes
Endaris

izede wrote:

smoogipoo wrote:

I didn't realise this was going to be a discussion about a v2 of HP, before I suggested making a discussion.

The current path forward (lazer), is to use the same HP calc throughout all ruleset, which means eventually taiko will receive HP drain.



PLEASE NO! I Love playing taiko so much with current HP system. And this is not such an important parameter to change the habits of thousands of taiko-players. There are no good reasons for this.

Yeah really.
I believe this was already discussed at lengths when the HP system for Taiko score v2 was introduced. I think it's really ignorant to throw the decision about keeping this part of the HP system the same out of the window.
Full Tablet

tatatat wrote:

...

You are complicating the hp formulas more than necessary, you are bound to find unexpected behavior.

Here is a simpler formulation:

Total Notes: Number of notes in the map.
Played Notes: Number of notes played so far in the map.

HP Score Goal: 2*Total_Notes*HP_Goal_multiplier.
If at the end of the map, the player has less HP Score than the HP Score Goal, the play is failed.

HP Goal Multiplier: Depends on the HP difficulty setting, ranging from 0.25 for HP0 to 0.95 for HP10 (the values here might be tweaked by testing).

HP Score starts at 0, and each judgment adds a value to it:
300: +2
150: +1
Miss: +0

That defines the HP system. Now for the HP Bar that is displayed mid-game (note that this is completely aesthetic, it has no effect on game-play).

HP Bar Fill Ratio: (HP_Score^2/(4*Played_Notes*Total_Notes))^(-Log(2)/(2*Log(HP_Goal_multiplier)))
The scale is set so the bar begins empty, and reaches 50% at the end of the play if the player barely meets the goal. A perfect play fills the bar 100%.
Topic Starter
tatatat
Having only 1 full HP bar attainable if you SS isnt how osu!taiko works. The HP system shouldnt match the score v2 score system.

Your formula for the HP goal is also purely linear based on notecount, which wouldn’t fix issue 1 or 2 that I mentioned.

Your formula would also make the game WAYYY too easy. Having a miss not subtract any HP isn’t how osu!taiko or the original Taiko games work. You’d be able to make an absurd amount of misses like that.

I appreciate the suggestion, but what you’ve proposed isn't in the spirit of osu!taiko. It’d be far more suited to a score ranking system, not whether or not you pass a beatmap.



You say my formula is complicated, but its necessary. The only thing that could be removed and still fix all the current issues is the combo hp boost. It’d have to be replaced with a total HP multiplier based on notecount, though.
Full Tablet

tatatat wrote:

Having only 1 full HP bar attainable if you SS isnt how osu!taiko works. The HP system shouldnt match the score v2 score system.

But then you have the problem all rhythm games that use a groove gauge system have, in which you can get to the HP cap relatively early in the map, and then whether you fail or pass depends mostly on your performance near the end of the map, instead of depending on your overall performance.

tatatat wrote:

Your formula for the HP goal is also purely linear based on notecount, which wouldn’t fix issue 1 or 2 that I mentioned.

It does fix issue 1 and 2, since the relative requirements don't change with the notecount. For example, if the HP difficulty is set to a value where you can pass by getting a 300 on 90% of the notes and a Miss on 10% of the notes, then no matter the length, a 90%/0%/10% judgment spread is always enough to pass the map.

tatatat wrote:

Your formula would also make the game WAYYY too easy. Having a miss not subtract any HP isn’t how osu!taiko or the original Taiko games work. You’d be able to make an absurd amount of misses like that.

HP is only checked for pass/fail at the end of the map, so it doesn't matter if the HP Score of a Miss is a negative number or not.

For example:
300: +2
150: +1
Miss: -6

In practice is equivalent to any translation and linear scale of the points, such as:
300: +2
150: +1.75
Miss: +0

So giving a higher penalty to Misses in practice only reduces the relative penalty of 150s.

It also doesn't matter what happens to the HP bar mid-play. With the formula I proposed, the HP Bar does decrease a little when you get a Miss (despite not losing HP Score), I could generalize the formula this way:

(HP_Score^X/(2^X*Played_Notes^(X-1)*Total_Notes))^(-Log(2)/(X*Log(HP_Goal_multiplier)))

The higher the X factor, the more the average accuracy is reflected in the HP bar during play, the lower it is, the more the bar is influenced by beatmap progress instead of average performance so far.
Topic Starter
tatatat
“ if the HP difficulty is set to a value where you can pass by getting a 300 on 90% of the notes and a Miss on 10% of the notes, then no matter the length, a 90%/0%/10% judgment spread is always enough to pass the map. ”

Thats my problem with it. Having the amount of potential misses allowed being directly relational to the note-count is game breaking. Under my formula, there is an exponential decay as the note-count increases.

Given your example, say you’d be allowed to make 10 misses on a 100 note map. You’d then be allowed to make 1000 misses on a 10000 note map. Under no reasonable circumstances should more than 200 misses be allowed. Even in a long marathon 200 misses is an absurd amount, no matter the length.

The amount of misses you can make and still pass should be propotional to the notecount, but not linearly or quadratically. At a certain point you allow too many misses.


“ in which you can get to the HP cap relatively early in the map, and then whether you fail or pass depends mostly on your performance near the end of the map, instead of depending on your overall performance. ”

I don’t know what a groove guage is, but thats the whole point of the taiko HP system. You’re supposed to be able to reach max HP mid map. Having no cap is too lenient, and would make the later portions of a map a breeze. If you seriously mess up, you should be able to empty the HP bar at any portion of a map. This is just how taiko HP is. Its what makes taiko taiko. I wish to improve upon the current system, not turn it on its head with an entirely new one.

This isn’t an osu!mania-like game. Misses have more weight in taiko. The percentage of misses to notecount should change as the notecount increases. Any percentage you propose might work at 1 particular notecount, but won’t at another. Your formula will force mappers to set their HP based on notecount, which was the cause of the issues 1 and 2 I brought up.

Again, it really feels like your formula is better suited as a score ranking system, not HP. What you’ve described is quite similar to how score v2 works, without an HP goal/multiplier.
Full Tablet

tatatat wrote:

...

Having the allowed miss count not be directly proportional to the number of notes in the beatmaps goes against solving issues 1 and 2. Basically, you are trying to mitigate the issues to certain point instead of fully solve them. If the proportion of misses allowed decreases with note count, the system inherently makes longer maps harder to pass compared to shorter maps, for the same beatmap difficulty and HP difficulty value.

By groove gauge I mean the system taiko (and several other rhythm games) use. Basically a bar that goes up while you are doing well in the chart, and goes down while you are doing badly, and at the end of the song a pass or fail is decided based on how full the bar is at that moment. This system has the issues I mentioned earlier (that the latter parts of the beatmap are more important than the earlier parts, so your evaluation depends on your performance mostly on certain points of the map, rather than your overall performance). I wonder if you would still prefer to have this system if you weren't used to it.
Topic Starter
tatatat
“ Basically, you are trying to mitigate the issues to certain point instead of fully solve them.”

Yes. This is better than the current system which has no/near no scaling.

I think maybe I could include a tiny linear multiplier to misses, maybe like 1 - 0.0000125x, so that every 1000 notes would apply a 0.9875x multiplier. This would ensure that even when the exponential decay reaches its minimum, a tiny amount of leniency would be granted as the length increases indefinitely.


“ I wonder if you would still prefer to have this system if you weren't used to it.”

My preference doesn’t matter tbh. I just don’t want to make massive changes to the system and alienate players. If your proposal or smoogipoo’s proposal were magically the default system since the inception of osu!taiko, I’d be proposing how to improve them. Not introduce a new system.

People don’t like change. I think keeping the integrity of the current system is important, while still improving it.
Please sign in to reply.

New reply