The breaking of the code for floor drops is incredible, glad it finally happened. They did seem to happen in a set time at each spot to drop, so tracking a variable in game makes sense. More sense than FF4 anyways...
kareshi, JC583, et al.: Floor drops still require extremely precise timing, you have to whip when falling off a 2-block high ledge at JUST the right frame, and then you'll fall through the floor, assuming you started falling with the correct y-subpixel value. Getting the y-subpixel value to be one of the correct values was what was causing floor drops to appear to be random. However, thanks to zbrannigan @ JC583's twitch stream, a lot of the mysteries have been unraveled. Here is what I have just figured out, with help from him.
Y subpixel memory address = 0336 This value only changes by multiples of 8, and once it hits 256, it wraps around to 0. So, in essence, 256=0. You can use an emulator like FCEUX to monitor this value and use it to determine if you can floor drop or not.
This address changes with any action Simon preforms that moves him along the y-axis. So, jumping, falling, using stairs, etc. Floor drops will only work if and only if 0336=00, 08, or 16. No other values will work. So, it needs to be one of 3 of the 32 possible values in order to work. Once you've determined that you have a subpixel value of 00, 08, or 16, then you must walk off a ledge of 2 blocks high, and whip IMMEDIATELY after walking off the edge. There is only 1 frame that this will work. If you get the frame right, you will see Simon's sprite glitch for 4 frames while falling (he reaches his arm back to whip, then ducks because he starts falling, but his arm is still floating behind him, readying his whip).
Now, how do we force a subpixel value that we want? Well, this is where the fun happens. You begin the game at a subpixel value of 0. Jumping straight up and down increments it by 128. Jumping up a ledge of 2 blocks increments it by 200. Whip jumping increments it by a different amount depending on which frame you whipped (jump, wait 1 frame, then whip results in +184; jump, wait 2 frames, then whip results in +240, etc). Using any staircase resets it to 0. Jumping up a ledge of 2 blocks AND whipping increments it by a different amount depending on which frame you whipped (jump up a ledge, wait 1 frame, then whip results in +8; jump up a ledge, wait 2 frames, then whip results in +64, etc).
Now, for example, if you want to drop of the ledge immediately to the left of Simon when you start the game, you have a few options to force a subpixel value that you need: You can jump up that ledge, wait 1 frame, then whip, and you'll land at the top of the ledge with a subpixel value of 8, allowing you to drop through the floor (this is what JC does in his latest WR run). You can also jump up the ledge (+200), then jump off the ledge (+128), then jump back on the ledge (+200), giving you a value of 16 ( (0+200+128+200) = 528 - 256 - 256 = 16) (subtracting 256 because the address simply rolls over at 256).
Using this information, you can set yourself up to have the proper subpixel address at any given ledge that you need to drop through. Granted, you still need to be able to whip immediately after dropping off the ledge in order to actually execute the floor drop, but this removes any randomness from the glitch. Some floor drops have more complicated setups than others, because the only thing I know of that will guarantee your subpixel value to be at 0 is using stairs, so after using any stairs, if there is a floor drop you need to execute before the next staircase, you must plan every jump/fall carefully in order to set it up properly.
Feel free to ask anymore questions about this trick. I feel I've got a decent understanding of how it works now, after playing and monitoring the memory address for a while, so I'll try to answer whatever else I can.
Wow! I started running this game about a month ago after borrowing it from a friend. I have been using Furious Paul's 100% with deaths route and all of the same strats. I just wanted to come and see if there was any forum activity on the game recently and was pleasantly surprised to see that the floor drop trick has been cracked! Amazing. I'll have to play around with some set-ups on my next run. Excellent work, Paul, JC, and everyone else involved with this game.
It's very exciting to see all the progress that has been made. Keep up the good work, guys!
Hey guys. More work done. I made two more TASes comparing the chain whip to the flame whip, this time with all first-try floor drops and better heart luck. The chain whip clocks in about a minute faster, but it's still not a perfect comparison because, in retrospect, I probably wasn't being as fair as I could be. After all questions are answered, I think realistically the optimal chain whip route is about 30 seconds faster.
I also made a quick segment comparing these routes to Paul's PB route this morning. Starting from where you exit the morning star house and ending at the right side of the screen where you get the flame whip, the morning star route looks to be about 1 minute 10 seconds faster. By my estimate, this would make the chain whip route about 1 minute 40 seconds faster.
Edit: I'm going to say an optimal blob boost will take 10 extra seconds in a run. So let's make those numbers closer to 1:00-1:30.
Congratulations KissMyAfroCard for his solid new time of 34:31! He is now the tri-holder of all three NES Castlevania records. He used the chain whip route I mentioned earlier, now with several improvements. I love this route because it rids the game of that evil 200-heart RNG barrier at the 23 minute mark for the morning star. Castlevania 2 is now almost completely an execution game! The slime boost is still a big RNG hazard, but it's not nearly as bad as it looks.
I'll be shooting for sub-34, but no further. KMAC has also put this game down for a little while to focus on CV3 runs, so this is pretty much anyone's game now for whoever's interested.
Oooh, awesome! Has he submitted his run yet? I'm excited to see it
I'm still nowhere near competitive enough skill to try, but I'm having tons of fun running this game and all the improvements you guys are making just makes it more fun. I recently worked out the new glitch setups in the heart mansion, really awesome stuff.
With the new routing that has been developed in the past few weeks, this time gets crazier and crazier.
TBH, just from a quick tally from KMAC's run? Sub 33 is most definitely possible if all Floor Drops come together and no deaths occur. Maybe even with 1 death.
I never thought sub 35 was going to happen... let alone Sub-33!!!
Thanks to everyone who plays and streams this for pushing the boundaries lower and lower! It's exciting to be a fan of this title and see it wrecked so hard!
More news again. The initial left grind has been improved to be both faster and deathless. I was able to make a 31:40 theory TAS using this new strategy. Sub-33 is not just within reach, it's a certainty. I'll stop at sub-33 once I get it, but KMAC might keep going.
On a serious note. Congrats to both KMAC and JC. Also to JC for all of the research and theory TAS' he's been doing. To take this game, which wasn't exactly the most popular in the first place considering the series, and make it a good watch and be competitive, excellent work guys!
@CleverDan, according to your post, something I found should be impossible. Are you sure a value of 128 doesn't work? Or did I misunderstand something?
btw. My relaxed voice sounds like a douche, sorry about that. Just curious.
Hi, I just made this account because I saw this thread ended on a question, and wanted to make sure it's cleared up (considering the future readers of the thread, since you may have already gotten an answer somewhere else). Some floor drops you will come across with an odd y-scroll position (or something, I'm not 100% sure, and I'm trying to find it out), which can make a drop more or less likely to happen. This is the real reason that most of the floor drops seemed more or less likely to happen.
Your desired y-subpixel values will generally be 00, 08, and 10 when you jump up to the ledge you're floor dropping from.
It's a non-issue in finding setups, because you can either work jumping up to the ledge into your setup if it is weird, or you can just accept that there are more/less working values and find something that gets them. I'm 90% sure that you can't modify whatever other value affects floor drops without doing something that messes with your y-subpixel.
Also, this is a pastebin I made with all of my knowledge of floor drops. It probably has some omissions, as I am not perfect. http://pastebin.com/UnQnMaVt
Feel free to PM me on twitch if you have questions. I might not answer very quickly, but I'd answer much less quickly if you asked here. edit: To be clear, my twitch name is the same as this one
Congratulations [dripping with utter sarcasm] goes out to The Blob and Dracula, the DESTROYERS OF RUNS!!
You could be just under a minute ahead and on WR pace... bam! Blob will fuck you up! And just in case you do manage to get ahead with a few seconds and are still on WR pace... watch Dracula totally mess you up if you don't nail a flawless 60 whips to the body in a row... he will just mess you up with his scythes in patterns inconceivable!
Yep... the 2 reasons no one's gotten a New PB or WR since the 12th of the month and maybe for a long time after. x.x;;
Can't believe it's on my list of learn and stream when the living room is finally set up and the pc goes into the spare room beside the CRT so I can use my Dazzle. I must be insane ^^;;
Will JC583 strike back with a sub 33 first? Will KMAC get blob luck enough to get a first shot boost and do it? Or will some one else enter the arena and take Sub33 first?! Only time will tell, but it's getting really exciting!
So last night KMAC went ahead and got the sub 33, new reccie 32:47. http://www.twitch.tv/kissmyafrocard/c/5384531 And like KMAC said on the stream, the world record two months a go was four minutes slower. Which is kind of mind blowing.
Congratulations to Jaguar_King who has resurrected this title like it was Dracula... then raised the stakes and got to the heart of the matter with a NEW WR of 32m17s!!