Sign In To Proceed 2z1z44

Don't have an ? 5p1p6t

osu! to create your own !
forum

Hyperdash fruits don't always spawn correctly in CTB [confirmed] 563m3v

posted
Total Posts
211
show more
Last Remnant_old
http://www.mediafire.com/?ipn6pdlwcc3zd54

.osu file for map http://osu-ppy-sh.tvgratuite.org/s/25

Objects 1 and 2 are catchable, so are objects 2 and 3, but 1-3 are not (simple proof is that you can move left to right holding down dash button and you can miss 1st fruit, get 2nd and miss 3rd (as I said in previous post, if there were no 2nd fruit, 1-3 would become hyper jump and fruit no.1 would become hyperdash fruit) ).

Similar example can be made with 4, 5 or more fruits in a row like that.

PS. Basically, as I mentioned in previous post, checking one fruit in advance (after we determine that 1-2 distance is not hyperdash-necessary, check for 1-3 and if it is hyperdash-necessary, make hypers on all 3 objects) should fix this issue in my opinion.
Topic Starter
I want to test the maps that had bugs ;_;
Woo good job for the fix = w =)

Now it's time for the 100s freezes \:D\
Topic Starter
I guess the pixel jump issue can be requested to be solved in another thread...
Where does the term "pixel jump" come from anyway?
It's because you have to be pretty much pixel perfect in your positioning when starting the dash, so that you can catch the next fruit with the far end of the plate (which leaves your positioning off for potential following pixel jumps in the same direction)
It became popular amongst mappers/testers a year ago or so, when many players tried to FC this map w/o HardRock: http://osu-ppy-sh.tvgratuite.org/p/beatmap?b=68431&m=2 (which contains that famous pattern).

It consists on 2 consecutive extreme dashes (1/2 separated notes), which are almost HDashed.

The correct way to play them is positioning the ryuuta at the edge of the 1st fruit and making a sharp movement to get the other 2.

|____________3|
|______2______|
|1____________|
|.\o/...............|

|____________3|
|______2______|
|........\o/........|

|____________3| => CATCHED!
|...............\o/.|

In some cases, it's possible to do it (depends on the BPM, and the distance of the notes in the screen). But when the distance between them is quite close to the HDash, the result of the movement would be something like this:

|____________3|
|______2______|
|1____________|
|.\o/...............|

|____________3|
|______2______|
|.......\o/.........|

|____________3| => MISS!
|.............\o/...|

I hope the graphics are enough explanatory...
Topic Starter
Good job Deif
At a code level, the above should still be possible (though hard), which is why I'm asking for a specific test beatmap to be created so I can check.
made a custom one with really tiny
http://puu.sh/14fXc
Also, you should take a look at this one:

http://osu-ppy-sh.tvgratuite.org/p/beatmap?b=27737&m=2

This is somewhat different, we're talking about a reverse slider, not 3 circles.

VelperK wrote: 442m2f

Also, you should take a look at this one:

http://osu-ppy-sh.tvgratuite.org/p/beatmap?b=27737&m=2

This is somewhat different, we're talking about a reverse slider, not 3 circles.
This is a different bug where if there's a droplet in between two slider ends, it doesn't get hyperdashed. Nothing to do with reverse arrows.
Topic Starter

peppy wrote: 73101g

At a code level, the above should still be possible (though hard), which is why I'm asking for a specific test beatmap to be created so I can check.
There are some jumps that are possible, but there are some that not, like the short map above, even with this trick is impossible.

peppy wrote: 73101g

At a code level, the above should still be possible (though hard), which is why I'm asking for a specific test beatmap to be created so I can check.
osu file format v9

[General]
AudioFilename: tutorial.ogg
AudioLeadIn: 0
PreviewTime: -1
Countdown: 0
SampleSet: Normal
StackLeniency: 0.7
Mode: 2
LetterboxInBreaks: 1

[Editor]
DistanceSpacing: 1
BeatDivisor: 4
GridSize: 32

[Metadata]
Title:osu! tutorial
Artist:Peter Lambert
Creator:peppy
Version:CTB Test
Source:
Tags:

[Difficulty]
HPDrainRate:7
CircleSize:5
OverallDifficulty:7
ApproachRate:7
SliderMultiplier:2.56
SliderTickRate:4

[Events]
//Background and Video events
//Break Periods
//Storyboard Layer 0 (Background)
//Storyboard Layer 1 (Fail)
//Storyboard Layer 2 ()
//Storyboard Layer 3 (Foreground)
//Storyboard Sound Samples
//Background Colour Transformations
3,100,163,162,255

[TimingPoints]
255,374.123148869836,4,1,0,100,1,0
4650,-50,4,1,0,100,0,0


[HitObjects]
112,192,1751,1,0
256,192,1845,1,0
400,192,1938,1,0
496,192,3247,5,0
256,192,3435,1,0
16,192,3622,1,0
0,192,4744,6,0,B|512:192,1,512
Last Remnant_old
I also provided example in my previous post and basically explained what can be done to fix this: p/1779211
I am going to leave this second issue until the first has been made public and confirmed as resolved, as I'd rather not create problems on top of problems.

eldnl wrote: 2g1ve

peppy wrote: 73101g

At a code level, the above should still be possible (though hard), which is why I'm asking for a specific test beatmap to be created so I can check.
There are some jumps that are possible, but there are some that not, like the short map above, even with this trick is impossible.
OMG

peppy wrote: 73101g

I am going to leave this second issue until the first has been made public and confirmed as resolved, as I'd rather not create problems on top of problems.
I think the DT bug was succesfully resolved IMHO, I tried different maps and they all play very well! But I don't have problems with waiting a bit longer either, in case there is a little glitch or something :)
DT is fixed and will go live soon. I'm talking about the other yet-to-be-confirmed bug mentioned in the last few posts.
Topic Starter

peppy wrote: 73101g

DT is fixed and will go live soon. I'm talking about the other yet-to-be-confirmed bug mentioned in the last few posts.
We should create another thread for the other bugs?
Nah, it's fine here for now.

eldnl wrote: 2g1ve

There are two problems with hyperdashes and doubletime ...

- First off, when a song have hyperdashes without mods, some of them dissapear when you play with doubletime, and most of them are uncatchable.
- In a second place we have the hyperdashes even when you play with dt, most of them are uncatchable too.

I have an example, please play this map with doubletime: http://puu.sh/13QUy

As you can see the first jump doesn't have hyperdash and is perfectly catchable, in the second jump we had an hyperdash which dissapeared with the doubletime, but it is still catchable; the third jump had an hyperdash too, but it isn't catchable with doubletime, and in the last jump we have an hyperdash even with dt, which is impossible to catch ...

discuss please.
lol
Bumping because VelperK just made a new discovery.



Apparently, playing with vsync on at 60 FPS makes the fruits stutter on some frames, causing them to not fall, yet still letting the catcher move forward. This makes previously impossible jumps like the one on this map just barely possible, but only if you're not playing with 120 FPS or more!
Topic Starter
^

do you mean like rainbow tylenol jump?
Yes, exactly. It was already possible, but you have to be pixel perfect - apparently playing with 60 FPS gives you a few milliseconds of leeway.
Topic Starter

MillhioreF wrote: 2k1855

Yes, exactly. It was already possible, but you have to be pixel perfect - apparently playing with 60 FPS gives you a few milliseconds of leeway.
nope, that shit about miliseconds or frames or whatever does not exist, that jump is practically uncatchable with 120fps or more because the catcher stops in the next fruit, and because of that the next fruit is uncatchable. . . when you play with 60fps the catcher doesn't stop in the next fruit and keep going to the other fruit, not sure if you can understand this xD
Oh, so you did do the jump with 60 fps... that explains it then! 60 fps makes pixeljumps catchable after all...
Topic Starter

MillhioreF wrote: 2k1855

Oh, so you did do the jump with 60 fps... that explains it then! 60 fps makes pixeljumps catchable after all...
nope ://
Well okay, it makes some catchable, not all. The watashi map is literally impossible with 120 FPS, but it's doable with 60 FPS. I'm sure there's some pixeljumps that can't be caught anyway, and definitely really fast sliders can't!
Topic Starter
I did the watashi map, is not that easy but it's possible just because there is a lag that let you catch the last note, really weird, probably peppy did something to this? o.o



Edit:

that lag is not normal



Double time 8-)

Hardrock


Hardrock Double time!

ALL the fucking mods!
It's been confirmed that this map's jump is sometimes catchable due to some weird song start lag... Supposedly it wouldn't happen if you placed the notes ~5 seconds after the song starts, but I haven't tested that.

EDIT: also hardrock makes hyperdashes appear, so it doesn't count

MillhioreF wrote: 2k1855

It's been confirmed that this map's jump is sometimes catchable due to some weird song start lag... Supposedly it wouldn't happen if you placed the notes ~5 seconds after the song starts, but I haven't tested that.

EDIT: also hardrock makes hyperdashes appear, so it doesn't count
Does double time count? You do get a high velocity than normal.
Topic Starter

Manchineel wrote: 3m5u6f

MillhioreF wrote: 2k1855

It's been confirmed that this map's jump is sometimes catchable due to some weird song start lag... Supposedly it wouldn't happen if you placed the notes ~5 seconds after the song starts, but I haven't tested that.

EDIT: also hardrock makes hyperdashes appear, so it doesn't count
Does double time count? You do get a high velocity than normal.
that's why it doesn't count either
that's why it doesn't count either
Then we have a solution! use Hardrock or double time for the problem.
More score, more people happy. Also you'll gain more skill this way!
Genius.

Manchineel wrote: 3m5u6f

that's why it doesn't count either
Then we have a solution! use Hardrock or double time for the problem.
More score, more people happy. Also you'll gain more skill this way!
Genius.
you retrograd person, stop trolling these kind of threads and gtfo.
you did the same with the ctb droplets thingy topic.
Seph
actually running on vsync 60fps makes my ryuuta move faster than it should be (or its just me) but i tried doing it on some pixel jump and i apparently caught that pixel jump on rainbow tylenol when i pause and switched from unlimited to 60fps. though playing on it makes ryuuta control hard as fuck
Topic Starter

Seph wrote: 6k1228

actually running on vsync 60fps makes my ryuuta move faster than it should be (or its just me) but i tried doing it on some pixel jump and i apparently caught that pixel jump on rainbow tylenol when i pause and switched from unlimited to 60fps. though playing on it makes ryuuta control hard as fuck
60fps is not faster, there is something different with the hyperdash I think.
I'm bumping this. I'd really like to see it fixed since CtB is the most broken osu! mode as of now.

By the way, here's one simple example of an impossible jump: http://puu.sh/1jxet
Here is an updated version of the Watashi map with three scenarios where hyperfruit fail to spawn:

*3-Note Jump
*Spaced Stream (same broken mechanic as 3-Note Jump, but in a more extreme scenario)
*Fast Slider

Note that the 3-Note Jump is catchable under some strange lag-based circumstances, but the others are definitely not (and the 3-Note Jump can't be caught without lag either.) Also included is a tick rate 2 version of Fast Slider, to show that hyperfruits spawn correctly when there are no small droplets involved.
Topic Starter
peppy has something to say here? if you still don't understand the problem I could explain it in a better way.
It has been confirmed so is already confirmed. You need to wait until I get a chance to look at this (relatively low-priority) bug.
Speaking of which, the doubletime bug was resolved long ago, so I'll change the topic name (unless someone objects)
:oops: :P :x 8-) :( :o ;) :( :arrow:
lol x2
Stop spamming.

MillhioreF wrote: 2k1855

Speaking of which, the doubletime bug was resolved long ago, so I'll change the topic name (unless someone objects)
Thank you.
Topic Starter
Why is this low priority?, is the most visited thread, so most people want this, don't you? well, we just need to wait :z
I think it's high-priority myself, but peppy disagrees (see his most recent post) and his opinion vetos mine :o
This isn't high-priority because it's been a problem with CTB since CTB was a game. If it wasn't high priority then, it's not just going to become a focal point now. Old bugs are low priority compared to new bugs and trust me there are a lot of new bugs that can and should be fixed before this bug which everyone is already used to gets fixed.

One can thing of this from an accessibility standpoint. How many players does this bug affect compared to other bugs? There aren't that many "impossible" CTB maps, and there are far less players who can play these CTB maps anyways. Fixing this would only please a small group of players, while gamewide bugs/ bugs affecting wider ranges of people take higher priority.

Also this will require peppy to just drop everything he's doing and focus on nothing but this bug for a whole development day.

TheVileOne wrote: p102h

Fixing this would only please a small group of players, while gamewide bugs/ bugs affecting wider ranges of people take higher priority.
What about XAT trying to mod CtB diff wich can't even determine if the maps are FCable ?

I personnally see it as high priority for the sake of CtB mapping, modding and gaming, but I understand this bug is pretty tricky to fix cause determining a maximum non hyper jump too short could make a lot of maps too easy to FC, and using a too long one could not entierly fix the problem (well the problem is a bit more complicated than that but this is an easy way to explain why it's tricky to fix).
All the cases in MillhioreF's example map should now be fixed on the test build. Please test all cases (including other maps, as hyperdash may now be spawning in places it is not required, which may or may not need to be fixed).

I also added an alert when watching a replay which moves faster than humanely possible, which only displays on the test build. Might be handy for checking any replays you think may not be legit, and pointing them out to me in a PM for confirmation. Keep in mind this may be a result of lag, too.
Totally fixed for pixel jumps:


And for some maps with complicated dashes:


And this is just for fun ^^

Detected a little problem with many sliders :

Taking this map as example :
http://osu-ppy-sh.tvgratuite.org/p/beatmap?b=46477&m=2
00:22:537 (1,2,3) - those sliders have now hypers in the first beat and the middle droplet but the hyper isn't triggered when the player catch them. For this map I catched the sliders sometimes without the fix so basically they was catchable (with dash ofc) but I think they still need this fix since they was really really really hard to catch.

http://osu-ppy-sh.tvgratuite.org/p/beatmap?b=27737&m=2
00:45:257 (1,1,1) - Kinda same problem some elements of sliders seems to trigger the hyper showed in the fruit and some not.

http://osu-ppy-sh.tvgratuite.org/s/65294
01:28:530 (7,8) - Here it's a mapping problem. Randomness of the position of the droplet could be kinda annoying to map cause for the same slider speed/direction it's going to pop or not the hyper droplet (you can compare with previous sliders). Anyway the hyper isn't trigger when playing as in the others maps.
Seph
gg pixel jumps

Drafura wrote: 6f4h37

http://osu-ppy-sh.tvgratuite.org/p/beatmap?b=27737&m=2
00:45:257 (1,1,1) - Kinda same problem some elements of sliders seems to trigger the hyper showed in the fruit and some not.
Regarding this: Even with the hyper-droplets, they seem to be a bit unstable and those sliders are very hard to catch. Can someone confirm this?
Seph
so much for my effort on fcing airman, tested the fix and now its easy as shit. bs
About the generation of hypers, yes it seems to trigger a little bit too easily for example :
http://osu-ppy-sh.tvgratuite.org/p/beatmap?b=127363&m=2
02:27:853 (2,3,4) - Example of unrequired hyperdashes in a 2 fruits jump. The fruits are allready catchables and not that hard.

http://osu-ppy-sh.tvgratuite.org/b/85550&m=2
00:29:714 (1,2,3) - Example of unrequired hyperdashes in a 3 fruits jump. The fruits are allready catchables and not that hard. I just realize with this map that with little circle size the hypers are triggered way to often.

More example wich shouldn't get hyperdash :
http://osu-ppy-sh.tvgratuite.org/p/beatmap?b=93842&m=2
All extra hyperdashes added in this map are not needed.

http://osu-ppy-sh.tvgratuite.org/p/beatmap?b=128872&m=2
00:16:303 (2) - Not required.

I hope this will be helpfull to adjust the triggering values.
Droplet hyperdashes still don't seem to work correctly. The first fruit of a slider now gives hyperdash up to the droplet as it should, but the droplet doesn't renew the hyperdash status and Ryuuta only moves at normal speed (which isn't always enough.) Fast Slider on my example map seems to still be uncatchable because of this.
Seph
in the easiest explanation: Hyperdash spawn is very much like halftime before it was tweaked, except its on normal speed.
Here's an example of hyperfruits spawning where they aren't needed.

This map on TAG4 difficulty:
00:12:042 (1,1,1) - these three notes are just barely catchable (you have about 1/10 second of leeway) but now they're much easier because hyperfruit spawn anyway.
This has extra hyperfruits and it was possible to FC before. They are unneeded.
00:19:900 (12,1) - in this map is perfectly catchable without a hyperfruit.
http://osu-ppy-sh.tvgratuite.org/b/90192

I really don't like thinking about making already possible maps easier just to fix some bug that affect 0.01% of maps.
Ideally, nothing would change except for jumps that were impossible before. I'm not sure how feasible that is code-wise, though.
Then peppy obviously set the catchable distance rate wayy too short, because the hyperfruit change to fix these issues would have been a tiny fraction of a change in the spacing differential. This is a large, way overdoing it change. It fixes it, but it's breaking other things.

There shouldn't be a limit that's considered too difficult to catch. If it's catchable, then it should be allowed. the hyperfruits shouldn't present a threshold for too difficult, unless that threshold is uncatchable.
Please try the test build again. I have updated it slightly and am curious as to the results.
There was an error loading this beatmap.

Please fix this soon if you want me to continue testing. I will be starting a mod soon.
Slider behavior has improved somewhat - now all fruits in it are catchable. However, the hyperdash now ignores droplets completely, and as a result it speeds past most of them, making SS impossible. Additionally, the (1,1,1) - in the map I previously linked still generates hyperfruit when it does not need to.
Yes... most of the droplets are ignored in those cases. Though if the ryuuta placement is the correct, there's a slight chance to get them all.
The example I posted earlier is now resolved. I will look for other maps though. Kind of a pain that in order to properly test I keep having to switch from test build to regular build. Shouldn't include this update until everything is thoroughly tested or we might not be able to figure out the full effect of these changes.
Yup catching droplets depend on the slider shape/consistency, for some sliders they seems to be totally ignored.

Antoher wierd behavior is about very very long sliders like this one :
http://osu-ppy-sh.tvgratuite.org/s/19156 @ 01:40:987 (3) - The hyper is here but the speed up doesn't seems to work if you aren't in the very good timing.

About hyperdash spawning on lot of maps :
It's a bit better now but not enough. Too many hyperdashes seems to spawn on a lot of maps. My previous post contain maps wich still have this problem.
I checked With a dance number.

Here's what I found


Before:

Hyperfruits
00:07:889 (3) -
00:35:557 -
00:39:104 -
00:42:551 (3,4,5) -
00:45:794 -
00:53:294 (7) -
01:02:112 (4) -
01:11:537 -
01:15:186 (4,5,6) -
01:17:416 (8) -
01:21:267 (2,3,4) -
01:45:185 -
02:34:746 -
02:36:368 -
02:56:739 (1,2,3) -
03:11:132 (4) -
03:11:435 -
03:15:996 -
03:17:821 (1) -
03:28:970 (7) -
03:29:984 (6,7,8) -
03:36:064 -
03:36:571 (5) -
03:43:260 -
03:45:592 (2) -
03:47:314 -
03:48:632 (1,2) -
03:55:929 (1) -
03:56:335 (3) -
04:01:807 -
04:06:673 (2) -
04:14:784 -
04:16:504 (3) -
04:19:138 -

After:
check and new indicate hyper fruits that I believe are newly spawned. I might have missed one or two in the original though.

00:07:889 (3) -
00:34:746 -
00:35:557 -
00:39:104 -
00:42:551 (3,4,5) -
00:45:794 -
00:48:835 (2) - (check)
00:53:294 (7) -
00:59:983 (1,2) - (check)
01:01:706 (2,3,4,5) - (check)
01:09:915 -
01:11:537 -
01:13:969 - (check)
01:15:186 (4,5,6) -
01:17:416 (8) -
01:21:267 (2,3,4) -
01:29:173 (1,2) - (check)
01:34:038 (1) - (check) 1.5
01:38:700 (8) - (check) 1.6 snap
01:44:172 - (new)
01:44:679 -
01:45:185 -
01:45:591 - (check)
01:45:794 - ^
01:46:199 - ^
01:58:564 - ^
01:59:578 (2) - ^ 1.5
02:34:341 - (check)
02:34:746 -
02:35:962 - (check)
02:36:368 -
02:42:652 - Why you should make your spacing consistent....
02:44:273 -
02:54:003 - (check)
02:54:611 - (check)
02:54:814 - (check)
02:55:016 - (check)
02:55:827 - (check)
02:56:739 (1,2,3) -
03:11:132 (4) -
03:11:435 -
03:15:996 -
03:17:821 (1) -
03:19:746 - (check) 1.7 snap
03:22:888 - (check)
03:24:510 - (check)
03:28:970 (7) -
03:29:984 (6,7,8,9) - (check 9)
03:32:720 (2,3) - (check)
03:34:645 - (check) -doesn't seem like a proper hyper to me
03:36:064 -
03:36:571 (5) -
03:43:260 -
03:45:592 (2) -
03:47:314 -
03:48:632 (1,2) -
03:50:558 (3) - (check) 1.51
03:55:929 (1) -
03:56:335 (3) -
04:00:591 - (check)
04:01:807 -
04:03:328 (2) - (check) 1.5 suspicious hyper
04:06:673 (2) -
04:07:889 (7) - (check)
04:10:321 - (check)
04:13:969 - (check)
04:14:578 (1,2,3,4) - (check)
04:16:504 (3) -
04:18:327 - (check)
04:18:733 - (check)
04:19:138 -
04:19:341 - (check)
Yes, that one's definitely more accessible for CTB players. My best combo before was 1095 after +200 tries, and in the test build I missed at the very end in my 1st try (around 1880/1899 combo).
Are you sure you really wanted this?

There wont be super difficult CTb maps as you know it now, because anything past a certain degree of catchability is now hypered. So anything that is 1.9 plus horizontal is now a hyper in With a dance Number, when before only some of them were. Fixing this is going to drastically reduce the difficulty of maps and its not like you can just bring that difficulty back.
If you take a look at my profile: 220 plays - Hatsune Miku - With a Dance Number [0108 style] (Probably +400, counting offline tries and before-ranking tries).

That means it's a pretty well memorised map. I'm quite sure somebody who hasn't played it so much won't be able to do a nice performance there. It's challenging enough even with the new HDashes in my opinion, but I'm pretty sure most pros will rage about the "simplicity" of such a popular map.

Deif wrote: 4o495

That means it's a pretty well memorised map. I'm quite sure somebody who hasn't played it so much won't be able to do a nice performance there. It's challenging enough even with the new HDashes in my opinion, but I'm pretty sure most pros will rage about the "simplicity" of such a popular map.
I'm most worried about getting huge limitation in term non hyper jump difficulty for ctb mapping than for converted maps. Non hyperdashed jumps are part of CtB, think about Zhsteven's maps, he don't use that many hyperdashes, and it is the intetended behavior he wanted while mapping.

Imo jumps wich are already catchable by most experienced players shouldn't change. If some jumps have to became hyper to fix the bug i'm ok, but i'm totally against a huge change wich will affect a lot of maps (inculding ctb maps, ranked or not).
http://osu-ppy-sh.tvgratuite.org/p/beatmap?b=93842&m=2

I've tried test build but this map still has problem. 210x~220x part(without hyper) was the best part of that beatmap T_T

I don't know what is the current triggering mechanism but I think the best way is just stick to previous triggering method but add some situations

1) on multiple jumps to same direction: add hyperdash where a jump can't be catched if previous jumps were catched
2) add hyperdash on very fast sliders

I'm pretty sure that current one is not like this. I didn't check case 2 yet though..

peppy wrote: 73101g

I also added an alert when watching a replay which moves faster than humanely possible, which only displays on the test build. Might be handy for checking any replays you think may not be legit, and pointing them out to me in a PM for confirmation.
I'm thinking that this would also help find out cheaters, to some degree. People would take advantage of this limitation and cheat their catcher with some boosted speed.
Topic Starter

TheVileOne wrote: p102h

Are you sure you really wanted this?

There wont be super difficult CTb maps as you know it now, because anything past a certain degree of catchability is now hypered. So anything that is 1.9 plus horizontal is now a hyper in With a dance Number, when before only some of them were. Fixing this is going to drastically reduce the difficulty of maps and its not like you can just bring that difficulty back.
I think is not the correct way to fix this, the spacing are fine as it is, the only problem are the "pixel jumps" and there should be a way to fix them without changing anything else.
I will be looking at this this week. The issues lie in sub-frame calculation issues.
peppy, I'm not sure it should be "fixed" in the sense that all fruits that meet a certain criteria should be hypered. Because if that is the case, it will alter maps that were previously possible without said hypers. I'm sure there will be hate if people start playing their uber pro map and find these hypers that weren't there before, because the algorithm was broken before, and now the fixed result is easier than how people knew it.

I am not a super pro or regularly play CTB. So I cannot speak on behalf of the pro community without the pros assessing their favorite maps and potential changes to the patterns. Really we need people checking difficulties for pattern consistencies and checking how far one should reach for a pattern.
The idea is that only fruits which were impossible before (or possible only with certain FPS that gives you faster speed than intended) will have hyperdashes added, and all other hyperdashes will stay as they were. If it wasn't important that this was the case, the hyperdash fix would already be complete and have gone live.
The fix is not live because it is not accurate enough, correct. Please wait for further updates from me. This is #1 priority as it is causing imparity with public build releases at the moment, and thus holding up other features.
Pseudo code (hopefully better than the current one)
SPOILER
prevFruit.x = 256; // Arbitrary initial values
prevFruit.t = -Inf;
minX = 0; // Leftmost catcher position
maxX = 512; // Rightmost catcher position
prevMove = Normal; // Bit flags, Normal=0
// SpaceLeniency and TimeLeniency may (or may not) depend on CircleSize and OverallDifficulty respectively
// Old (public build) behavior is roughly equivalent to SpaceLeniency = CatcherWidth * 0.1875 and TimeLeniency = 0
// when successive hyperdashes are not encountered with

foreach (fruit in fruits)
{
if (fruit is spinner or something like this)
{
continue;
}

fruitLeft = Max(0, fruit.x - CatcherHalfWidth + SpaceLeniency);
fruitRight = Min(512, fruit.x + CatcherHalfWidth - SpaceLeniency);

minX -= Max(0, fruit.t - prevFruit.t - ((prevMove & LeftFullDash) != 0 ? 0 : TimeLeniency)) * DashSpeed;
maxX += Max(0, fruit.t - prevFruit.t - ((prevMove & RightFullDash) != 0 ? 0 : TimeLeniency)) * DashSpeed;

prevMove = Normal;

if (minX > fruitRight)
{
prevFruit.isHyperDash = true;
prevMove |= LeftFullDash;
minX = fruit.x;
maxX = fruit.x;
}
else if (minX >= fruitLeft)
{
prevMove |= LeftFullDash;
}
else
{
minX = fruitLeft;
}

if (maxX < fruitLeft)
{
prevFruit.isHyperDash = true;
prevMove |= RightFullDash;
minX = fruit.x;
maxX = fruit.x;
}
else if (maxX <= fruitRight)
{
prevMove |= RightFullDash;
}
else
{
maxX = fruitRight;
}

prevFruit = fruit;
}
The point is that we work out the reasonable range the catcher is currently able to reach, and base hyperdash spawning on this.
For each jump in the 3-note jump situation alone, we can catch the two notes with dash starting from the right side of the first fruit (and ends up hitting the left side of the second fruit). But considering the 3-note jump as a whole, this algorithm should be able to detect that the third fruit is without reach, spawning hyperdash on the second fruit.

EDIT: various fixes and some comments
EDIT2: brief explanation
Last Remnant_old
Simply put,

Let's say that there is a FOR loop that goes through all fruits and that we are currently at some fruit $i. Current algorithm will take a look at $i+1 fruit's time and X coordinate and decide whether fruit $i will become hyper or not.

This needs just a small tweak:

Let's say that at past example we concluded that fruit $i doesn't need to be hyper (in other words, jump $i - $i+1 is catchable), now we also need to check fruit $i+2 (and maybe $i+3, although cases with 4 fruits in a row are very rare, I know only 1 map). If we conclude that jump $i - $i+2 isn't catchable, we must make both fruits $i and $i+1 hypers.



Here jumps 1 - 2 and 2 - 3 are catchable, while jump 1 - 3 isn't, which is shown on the next picture.

That isn't the only case, but it is one of them. I have already allowed for this. Thanks for your input with proposed solutions, but please wait until I make further changes as I already know exactly what is wrong and how I will fix it.

Keep in mind my current fix fixes not only the main case you specify, but others which were mentioned by Millhiore. We are not dealing with a single point of failure here.
Last Remnant_old
Yeah, the smallest droplets in middle of slider also causes break (as if in my example fruit 2 was droplet) and other things mentioned by MillhioreF.

There is one more thing I would like to ask, not much related to this, but it is connected to "traversing the distance" with catcher :

In past weeks / months we could see that lags / pauses and other tricks (even not tricks, just some PCs having natural lags that are helpful) could be used to make your catcher cover more distance for the same time (thus many players used this to get these same impossible jumps we are trying to fix). This is because catcher's movement and song aren't synchronized. I'm not exactly sure why, since song's timer is updated on 10ms intervals. Isn't it possible to tie catcher's movement to song, same as hitObjects are synced (in other words, update catcher's position by the fixed distance each time the song timer is updated)? This means that in each update catcher may either stay put, or move left or right by that same distance.

This is also related to your recent implementation of ALERT feature, which is triggered for almost any replay (probably because each PC has some kind of lag that makes catcher's speed uncontrollable and variable)

PS. Since we want equal conditions for everyone, I think something could be done about this. (already present check that won't submit your score if catcher is faster or slower isn't good enough, maybe make it more strict? )
Please test again on test build.
The behavior seems to have gotten worse - none of the scenarios in my example map work correctly any longer.

-In the 3-note jump, the first fruit hyperdashes while the second doesn't, which is probably intentional. However, due to the catcher slowing down once you're under the next note while still in hyperfruit status, it's impossible to get over far enough to catch the third fruit. Both should still grow hyperdashes.
-The spaced stream doesn't grow hyperfruits at all, and so is still impossible.
-The slider has reverted to the state it was in after the first fix:

MillhioreF wrote: 2k1855

The first fruit of a slider now gives hyperdash up to the droplet as it should, but the droplet doesn't renew the hyperdash status and Ryuuta only moves at normal speed (which isn't always enough.)

MillhioreF wrote: 2k1855

-In the 3-note jump, the first fruit hyperdashes while the second doesn't, which is probably intentional. However, due to the catcher slowing down once you're under the next note while still in hyperfruit status, it's impossible to get over far enough to catch the third fruit. Both should still grow hyperdashes.
The second fruit absolutely needs hyperdash while the first doesn't really require that (getting hyperdash on both fruits makes sense though).
Sliders :
Hyperdash on sliders doesn't works ryuuta seems to stop at the droplet, even if the droplet is hyperdashed the ryuuta stops on it.

1-1 jumps :
Seen too many extra hyperdashes appearing on many maps.

1-1-1 jumps :
Doesn't seems to spawn in the good placements. Most of the time only the first fruit is hyperdash'd and the behavior is kinda same as sliders, the ryuuta stops in the second fruit.

statementreply wrote: 232z60

The second fruit absolutely needs hyperdash while the first doesn't really require that (getting hyperdash on both fruits makes sense though).
If there's the same spacing between the 3 fruits the 2 first fruits should be hyperdash'd. Makes much more sense for mapping, and also in term of readability of the map.
http://ha.ppy.sh/ss/1273 It should be exactly the opposite, only the center one requires hyper.
A screenshot alone means nothing. Please provide an isolated case in an .osu.
All right, here's one for the tutorial. (Watashi mp3 was too short) The first and third fruits become hyper, making the pattern uncatchable. If the second and fourth fruits were hyper though, it would be.
http://puu.sh/1IMkE
Please test again, there was a bug in my previous change.
http://ha.ppy.sh/ss/1277 The pixel jumps are again uncatchable, no hyper dash appears x_x
http://puu.sh/1IUWb (on tutorial)
First three patterns are uncatchable.

EDIT: Fixed link
There are some unnecesary HDashes as well, taking this map as reference, which contains extreme patterns: http://osu-ppy-sh.tvgratuite.org/s/19156 [Sp's Darkness]

In the described cases, those notes had a not-so-long distance with the next ones, thus they shouldn't be HDashed.
I've noticed that droplets are totally ignored during sliders making them quite impossible to catch for most cases.

Here's a map to easily test play them : http://osu-ppy-sh.tvgratuite.org/p/beatmap?b=46477&m=2 @ 00:22:537 (1,2,3) -

I've succeeded to catch sometimes the droplets adjusting my dash during the hyper, in other words it's greatly luck based. For other maps it seems like they're just impossible to catch.


I didn't notice any changes, droplets are still very hard to catch.
show more
Please sign in to reply.

New reply 3p1g1j