forum

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

posted
Total Posts
211
show more
peppy
I have fixed the issues with HT/DT, and pushed out a new test build. I would like people to test this on the test server before making it live to ensure I haven't broken everything, if at all possible.
MrSake
Nice. I tried test build and it seems to work now. With couple retries I could pass this map, which was impossible before


http://osu.ppy.sh/b/144621


Will try some other maps later.
Last Remnant_old
Yup, fixed now, both HT, nomod and DT spawn hypers on same locations which is great but it brings one trouble.

All HT scores would have to be wiped out due to the fact that there are maps which were (are) unFCable with nomod but were FCable with HT (since it spawned more hyperdash jumps).

PS. Example map of map "statementreply" wrote about is this http://osu.ppy.sh/p/beatmap?b=112586&m=2 (combo 403 - 405)
peppy
Maps which can't be FC'd should also be fixed. Please point these out.
Deif
I'm really happy to see this fixed ^^



Tested some maps with NoMod/HR too: They keep the same number of HDashes after applying HT or DT on them. Songs as Kokou no Sousei (3 pixel-jumps) or The Big Black (non-correct HDash generation due to awkward pattern) would be now unFCable with HT!

Aaaaand I've lurked a bit with some songs too:

FCable songs which were impossible before
http://osu.ppy.sh/p/beatmap?b=107297&m=2 (In a normal play, there should've been 5-6 misses due to DT incorrect HDash creation. That miss wasn't due to them)


Messin' around with TAG4 maps
The first song was a real pain before, now it can be FCable. The 2nd one was directly impossible to pass before




I'll try the Kirby Mix Compilation now... That Aurora2 part should be passable now.
Last Remnant_old
OK, I will try to give my idea on how to fix them. Lets say that example is same map I pointed out in previous post:

http://osu.ppy.sh/p/beatmap?b=112586&m=2

What current algorithm probably does is checking 2 separate non-littleDroplet objects, and if they are distant enough, first one becomes hyperdash object. At example map, we have 3 "critical" objects, 403, 404 and 405 combo objects (normal fruits). Current algorithm checks 403 and 404, figures out they are not distant enough leading to no hyperdash, same goes for objects 404 and 405. Indeed, jump between 403 and 404 is catchable, and jump between 404 and 405, but what IS uncatchable is jump between 403 and 405 (which would become hyper if we removed 404). So my solution is to check 2 or 3 objects more in advance (if there is no need for hyper between 403 and 404, check for 403 - 405 distance and if it is big enough, create hypers on all 3 hitObjects (in case 403 - 404 distance was enough, 403-405 checking won't be necessary) ).
peppy
Not sure I understand still. If possible, make a map with just three objects to demonstrate the bug.
Last Remnant_old
http://www.mediafire.com/?ipn6pdlwcc3zd54

.osu file for map http://osu.ppy.sh/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
eldnl
I want support to test the maps that had bugs ;_;
119410501
Woo good job for the fix = w =)

Now it's time for the 100s freezes \:D\
Topic Starter
eldnl
@ppy if you want some examples of "pixel jumps" there are some maps that has them:

http://osu.ppy.sh/p/beatmap?b=71562&m=2
http://osu.ppy.sh/p/beatmap?b=104945&m=2 (Ijou Nashi difficulty)
http://osu.ppy.sh/s/18009
http://osu.ppy.sh/s/20789
http://osu.ppy.sh/p/beatmap?b=64558&m=2

And there are a lot more.

Edit: http://ha.ppy.sh/ss/1068
Deif
I guess the pixel jump issue can be requested to be solved in another thread...
peppy
Where does the term "pixel jump" come from anyway?
Luna
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)
Deif
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/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
eldnl
Good job Deif
peppy
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.
MillhioreF
made a custom one with really tiny download
http://puu.sh/14fXc
VelperK
Also, you should take a look at this one:

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

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

VelperK wrote:

Also, you should take a look at this one:

http://osu.ppy.sh/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
eldnl

peppy wrote:

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.
statementreply

peppy wrote:

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 (Pass)
//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
peppy
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.
119410501

eldnl wrote:

peppy wrote:

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
VelperK

peppy wrote:

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 :)
peppy
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
eldnl

peppy wrote:

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?
peppy
Nah, it's fine here for now.
chenjunwu12

eldnl wrote:

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.
119410501
lol
MillhioreF
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
eldnl
^

do you mean like rainbow tylenol jump?
MillhioreF
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
eldnl

MillhioreF wrote:

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
MillhioreF
Oh, so you did do the jump with 60 fps... that explains it then! 60 fps makes pixeljumps catchable after all...
Topic Starter
eldnl

MillhioreF wrote:

Oh, so you did do the jump with 60 fps... that explains it then! 60 fps makes pixeljumps catchable after all...
nope ://
MillhioreF
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
eldnl
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

[suicide


Double time 8-)

Hardrock


Hardrock Double time!

ALL the fucking mods!
MillhioreF
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
[suicide

MillhioreF wrote:

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
eldnl

Manchineel wrote:

MillhioreF wrote:

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
[suicide
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.
VelperK

Manchineel wrote:

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
eldnl

Seph wrote:

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.
VelperK
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
MillhioreF
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
eldnl
peppy has something to say here? if you still don't understand the problem I could explain it in a better way.
peppy
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.
MillhioreF
Speaking of which, the doubletime bug was resolved long ago, so I'll change the topic name (unless someone objects)
DarkAngel101_old
:oops: :P :x 8-) :( :o ;) :( :arrow:
119410501
lol x2
Drafura
Stop spamming.

MillhioreF wrote:

Speaking of which, the doubletime bug was resolved long ago, so I'll change the topic name (unless someone objects)
Thank you.
Topic Starter
eldnl
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
MillhioreF
I think it's high-priority myself, but peppy disagrees (see his most recent post) and his opinion vetos mine :o
TheVileOne
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.
Drafura

TheVileOne wrote:

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).
peppy
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.
Deif
Totally fixed for pixel jumps:


And for some maps with complicated dashes:


And this is just for fun ^^

Drafura
Detected a little problem with many sliders :

Taking this map as example :
http://osu.ppy.sh/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/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/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
Deif

Drafura wrote:

http://osu.ppy.sh/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
Drafura
About the generation of hypers, yes it seems to trigger a little bit too easily for example :
http://osu.ppy.sh/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/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/p/beatmap?b=93842&m=2
All extra hyperdashes added in this map are not needed.

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

I hope this will be helpfull to adjust the triggering values.
MillhioreF
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.
MillhioreF
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.
TheVileOne
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/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.
MillhioreF
Ideally, nothing would change except for jumps that were impossible before. I'm not sure how feasible that is code-wise, though.
TheVileOne
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.
peppy
Please try the test build again. I have updated it slightly and am curious as to the results.
TheVileOne
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.
MillhioreF
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.
Deif
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.
TheVileOne
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.
Drafura
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/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.
TheVileOne
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)
Deif
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).
TheVileOne
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.
Deif
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.
Drafura

Deif wrote:

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).
GuruK
http://osu.ppy.sh/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..
Kitokofox

peppy wrote:

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
eldnl

TheVileOne wrote:

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.
peppy
I will be looking at this this week. The issues lie in sub-frame calculation issues.
TheVileOne
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.
MillhioreF
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.
peppy
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.
statementreply
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.

peppy
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? )
peppy
Please test again on test build.
MillhioreF
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:

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.)
statementreply

MillhioreF wrote:

-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).
Drafura
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:

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.
119410501
http://ha.ppy.sh/ss/1273 It should be exactly the opposite, only the center one requires hyper.
peppy
A screenshot alone means nothing. Please provide an isolated case in an .osu.
show more
Please sign in to reply.

New reply