Author Topic: Cactus Jump Info  (Read 3801 times)

Kinata

  • Spike Dodger
  • Posts: 106
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 34.0.1847.137 Chrome 34.0.1847.137
    • View Profile
Cactus Jump Info
« on: May 18, 2014, 01:45:17 AM »
Ok Hector gave me some key binding advice that helped me to finally test cactus jumping and figure out what it is. A lot of you already know how to do this, so like usual I'm mostly giving the technical details, which will be helpful for anyone interested in the more sophisticated applications of cactus jumping, like double and triple cancelling. Anyway, for anyone who doesn't know, cactus jumping is a technique that gives you extra flexibility in single-jump cancelling. The normal single jump cancelling technique only lets you perform micro jumps (jumps lower than 1-frame jumps), rather than letting you jump at whatever height you want (like a "3.5-frame jump," which is needed to beat the eponymous I Wanna Beat the Cactus Jump).

First, what Hector found was that the reason I couldn't test cactus jumping before was that you need to be using only one type of shift (i.e., use only left shift keys or right shift keys). Common sense suggests the opposite, but for some reason the computer can only differentiate between your shift presses if use the same type of shift over and over. Weird, right? Anyway, this means if you're using a keyboard, you gotta use a key mapper like SharpKeys to map extra left or right shift keys, and if you're using a controller, make sure all your jump buttons are mapped to the same shift. As far as I'm aware, it's impossible to cactus jump on a straight-up, unmapped keyboard (let me know if any of you have done it).

You might ask if cactus jumping is really "legit" then. Eh, I think it's legit enough to do this. You could avoid using key mapping software by plugging multiple keyboards into your computer, but that seems unfeasible. As long as you manually press all the necessary shift buttons yourself and don't use a macro or an imperfect key emulator (like OkayKeebes, that program that makes jump cancelling easier), then I think there's nothing wrong with this.

Anyway, let's begin with cactus jumping at its most simple, with only one cancel. We'll need two shifts (of the same type) which we will call shift1 and shift2. Now, the point of cactus jumping is to perform two shift_releases (which is what slows the Kid's ascent during a jump) at any time the player wants. Let's say you want to perform shift_releases at frame 4 and 9, like for the original Cactus Jump. You will need to press shift1 and shift2, but not necessarily at the same time. In fact, even if you press them in the same frame, the computer will still detect one being pressed slightly before the other (GameMaker observes key presses in real time). Let's say you press shift1 first. By frame 4, both shifts will be pressed. At this frame, you will need to let go of shift2. The order needs to be reversed. If you press shift1 first and let go of shift1 first, the computer will recognize this as you ending the single jump and thus register your input as a 1-frame double jump. This also caused a lot of confusion during testing. So, if you press shift1 and then shift2, you must let go of shift2 in frame 4 and shift1 in frame 9 to achieve the desired jump. To maximize success rate in this, it's probably best to purposefully decide which shift is to be pressed second so that you can sort of nest the shift2 input inside the shift1 input. This will be more relevant for double and triple cancelling, which I'll go into in a moment.

First, a quick point on the application of cactus jumping for single-cancelled jumps. While regular, 1-shift_release jumps have a lot of flexibility (obviously), there are situations where you need a very specific jump height, like the original Cactus jump, squished gates/diamonds at certain heights, or jumps that need you to be on a very specific vertical pixel string (like ). For such jumps, a single well-timed cactus cancel should virtually always suffice because it gives you subpixel precision flexibility. Any more precision for your needed jump height can be achieved through starting at the correct V-align. Going onto a second cactus cancel will almost never be needed, except for the purpose of doing an incredibly low micro jump. While cactus jumping is not needed for regular micro jumps, extremely low jumps require 2 or more cancels, so this is where cactus jumping is needed.

Double cactus cancelling is mainly known because it lets you do a 4-pixel single jump (as opposed to the usual minimum of 5 pixels for single-canceled micro jumps). This lets you jump under spikes that are 25 pixels above the ground. There are two ways to pull this off. First, you can map 3 shifts (of the same type) which we will call shift1, shift2, and shift3. Since it's a micro jump, you will have to press them all in one frame. The tricky part is keeping track of the order. Again, you will need to release the shifts in reverse order, so you will have to either get lucky, or purposely press shift1, shift2, and shift3 in extremely quick succession. Then, release shift3 in the first frame, release shift2 in the second frame, and release shift1 in the third frame. Alternatively, you can use the typical jump canceling method, which will only require having two shifts of the same type. Begin by already having some shift pressed (it can be any shift of either type). At the first frame, let go of this shift, and then press shift1 and shift2. Release shift2 on the second frame and shift1 on the third frame. This is probably the easier method, but you might want to practice the first method if you intend to learn triple canceling.

And of course, as I've mentioned before, it is possible to perform a third cancel. Triple cactus cancelling is incredibly subtle, because it does not make you jump any lower. It just makes you fall 0.05 pixels per frame faster (the reason for this is because of how the calculations work out. If you're curious, check out Wolsk's video on the Mega Jump 3). The main benefit of this is that if you're on a low enough V-align (like .4, the spawning V-align) and you perform a triple-canceled jump, you can return to the ground in just 7 frames, instead of 8 frames for a double-canceled jump. This is why Mega Jump 3 requires a triple-canceled jump. Triple-cancelling could also be used for incredibly precise and contrived TAS jumps. Anyway, triple canceling is what you'd expect given what I told you about double canceling. Either method works, though I'll assume no one will try the method with 4 shifts of the same type (which would require you to press 4 shifts in a certain order all in the timespan of 1 frame). So, what you'll need to is have some shift already pressed. On the first frame, let go of that shift, and then press shift1, shift2, and shift3 in quick succession. On the second frame, let go of shift3, on the third frame, let go of shift2, and on the fourth frame, let go of shift1. So essentially, after letting go of the shift you were holding from before, you perform a double canceled jump with the first method. This obviously requires a decent amount of luck and lot of skill, but I believe it's humanly possible (at least in total isolation, like for the Mega Jump 3. I can't imagine anyone successfully pulling off a triple cancel in practice in an actual super-precise jump).

Anyway, if you have been, thank you for reading this far. Now go out and use this knowledge (or get a life)! :SwiftRage: Just kidding I love you all <3
« Last Edit: May 29, 2014, 12:51:40 PM by Kinata »