2013/03/11

Corner Clipping Blocks


If Mario goes towards the corner of a solid block, he can clip it partially or totally, depending on how he gets there. It requires much precision, so doing it without tool-assistence is nearly impossible. The technique depends on many factors, such: Mario's X and Y positions relatively to the block, X and Y speeds, Mario's status (small or ducking versus big) and whether his is mounted on Yoshi.

Small Mario
When Mario is small (or ducking, because both have the exact same hitboxes) and without Yoshi his chances of corner clipping a block are the worst. First off, it's impossible to do it to the right, because the block is programmed to push him to the left when he is inside it.

Big Mario
When Mario is big and without Yoshi he can corner clip exactly like when he's small, except that he won't be pushed to left in a certain Y interval inside the block. Thus, he can get only partially inside the block by falling faster or even clip it totally if he uses a cape to slowdow.

Tutorial (to the left)
1) Find the first horizontal position in which Mario won't touch the top of the block. In this example, he stands at X = 3578.F but would fall at X = 3579.0. So the X position of entrance must be 3579.0 or more.


2) In order to corner clip, he must skip from a X position of entrance to X - 3 pixels. That means: Mario must skip from X1 ≥  3579.0 to X2 ≤ 3575.F in one frame.

Therefore X1 - X2 ≥ 3579.0 - 3575.F.

Converting pixels to subpixels, we get: 3579.0 -  3575.F = (3579 * 16 + 0) - (3575 * 16 + 15) , because 1 pixel = 16 subpixels and F is the 15th subpixel.

So, X1 - X2 ≥ (3579 - 3575) * 16 - 15 = 4 * 16 - 15 = 64 - 15 = 49.

This implies that one needs a horizontal speed of at least 49 in order to corner clip. For this speed, there's only one position of entrance: 3579.0.



3) The Y speeds and positions for the entrance is pretty liberal most of the time. One must just avoid the lateral walls (blue) and the top of the block (green).

Aproximate behavior of a block, taken from this post (in portuguese).

In the first picture we see that the top of the block makes Mario has Ytop = 256. Even if he happens to get to a Y position like 260, he will be pushed to Ytop immediately. This happens from Ytop until Ytop + 8, provided that X ≤ X . The lateral walls starts in Ytop + 6 (without Yoshi).

With a similar reasoning and looking at the picture, Mario needs a vertical speed of at least 33, from 261.F (or above) to 264.0 (or below).

4) Doing so, Mario will clip the block. He can fall very fast and activate the block or not. If he is small and there's a second block just below the first, Mario will die if he touches the top of the second one.


Tutorial (to the right)
1) The technique is similar. Find the first horizontal position in which Mario won't touch the top of the block. In this example, he stands at X← = 3557.0 but would fall at X = 3556.F. So the X position of entrance must be 3556.F or less.


2) In order to corner clip, he must skip from a X position of entrance to X + 3 pixels. That means: Mario must skip from X1   3556.F to X2 3560.0 in one frame. Again, the horizontal speed must be 49 or more.





To do
Corner clipping with Yoshi and high speeds.
Corner clipping with Yoshi and low speeds.
Corner clipping while flying anf corner boosts.

No comments:

Post a Comment