That little pit in TTM is "quicksand". When standing in quicksand, double jumps are turned into single jumps. A lesser known fact is that twirling is also turned into single jumps. This doesn't occur with tornadoes, since those put you in a special "tornado twirling" action.
So we want to land on a twirly enemy like a fly guy while simultaneously standing in quicksand. But you can only land on an enemy while in an air action, and you can only stand in quicksand in a ground action.
If you're an avid fan of mine, you already know the solution: air throw landing. Watch this video if you're interested in this extremely cool action:
Jumping Without Pressing Abad_boot2018-07-22 | Read for details:
That little pit in TTM is "quicksand". When standing in quicksand, double jumps are turned into single jumps. A lesser known fact is that twirling is also turned into single jumps. This doesn't occur with tornadoes, since those put you in a special "tornado twirling" action.
So we want to land on a twirly enemy like a fly guy while simultaneously standing in quicksand. But you can only land on an enemy while in an air action, and you can only stand in quicksand in a ground action.
If you're an avid fan of mine, you already know the solution: air throw landing. Watch this video if you're interested in this extremely cool action:
youtube.com/watch?v=c8iD58RQ1nwHang/heavy moving with neutral joystick (lots of pause buffering)bad_boot2022-08-07 | I guess the frame dropped, but there is a frame of nonzero joystick on both to enter the moving action.Standing Underwater in JRB (RTA Setup)bad_boot2020-09-10 | Read description for explanation.
This is a floating point precise glitch discovered by ds273 (youtube.com/user/Th3DekuScrub) yesterday. I thought it was neat, so I decided to find an RTA setup for it.
I use mario cam for the visual cues, but I don't think it matters that much.
- Align yaw and position by ledge grabbing the sign and then jump kicking against the front of it. (z = -4670) - Punch 20 times, then come to a complete stop. (z = -4090) - Pause and hold straight up. Unpause and press A two frames later so that mario jumps immediately without walking first. - Ground pound when Mario is just above the edge of the water. This is frame perfect, but you can use his shadow as a visual cue. If done correctly, Mario's heels will be aligned with the edge of the water. (z = -3841.5) - Repeat the pause, jump, and ground pound. This time you want to ground pound on the first frame that results in Mario swimming. If done correctly, Mario's feet will slightly overlap with his shadow. If his feet don't touch his shadow or his shadow isn't visible, you were too late. (z = -3593) - Water jump 3 times with max pitch. I pause here so that I don't accidentally move the joystick left or right. After the third jump, come to a complete stop. (z = -2542.25) - Do 7 breast strokes, coming to a complete stop after each one. (z = -1305) - Punch 3 times. (z = -669)Enter the Secret Aquarium - 0x A Presses (Commentated)bad_boot2019-05-10 | See the full TAS here: youtube.com/watch?v=7YhJcF9v7QQ
Audio adjustments: TimeTravelPenguin (youtube.com/channel/UCUMWpmbkD0HvkgFC0BqrTFw)Native SM64 Game Logicbad_boot2019-04-29 | This is the 1 key tas played back natively excluding graphics and audio. This required quite a bit of work to make happen, but most of the credit goes to those involved in decomp. Without graphics, the game runs at 50k fps. I verified using both the 1 key TAS (J) and the 2012 120 TAS (U).Infinite Height/Speed with (Hacked) Infinite Wing Capbad_boot2019-04-19 | This video demonstrates that if the wing cap is hacked to never run out, Mario can gain arbitrary height/speed. I suspect there is a lot of room for optimization here, and if so, this could lead to an A press save.
I think I'll explain the math behind this in another video. It's not rounding error.
This video is TAS.Butterfly Bob-ombbad_boot2018-12-03 | You've seen butterflies that explode like bob-ombs. Using this glitch, we can create bob-ombs that look like butterflies. Read full description for details.
This is the same glitch as my previous video (youtube.com/watch?v=i1oNxV3mKsk) where I made a huge goomba act like a normal one.
In this case, I use the glitch on the bob-omb respawner. Object field 0x1B for the bob-omb respawner holds the (visual) model used when spawning the bob-omb. Normally it has value 0xBC, which is the regular bob-omb model. The glitch decrements this value to 0xBB, which is the butterfly model.
Using multiple spinies, we can decrement it up to 3 times. Using this, we could also give it a fish model.
Credit to Arthurtilly (youtube.com/channel/UCZlx3kACdwXH1G58ffzn7_g) for finding this application of the glitch.I Jumped Around in Water, Then This Happened 🤔bad_boot2018-11-28 | I didn't want to give it away in the title lol. Watch video before reading description.
--
The lakitu keeps track of the number of alive spinies in object field 0x1B (word at offset 0xF4). By killing a lakitu after it spawns a spiny, the spiny's parent object can point to a vacant object slot. If we load a different object into this slot, and then kill the spiny (by moving far away from it), it will decrement the new parent's 0x1B field.
To understand the implications of this glitch, we'd have to look at what the 0x1B field represents for every dynamically loaded object in RR and THI. I definitely wasn't comprehensive, but I checked bob-ombs, flames, coins, stars, etc and didn't find anything of much interest except for goombas.
Goombas store their size there (0 = regular, 1 = huge, 2 = tiny), and this is used to determine what happens when mario attacks them. By decrementing this field, we can flip flop the behaviors (tiny/regular behave like huge, and huge behaves like tiny/regular). In typical SM64 fashion, there is exactly one place where we can apply this, since there is only one goomba triplet in THI, and none in RR.Infinite Coins via Fake Shellbad_boot2018-11-18 | Yall were complaining about me uploading a glitch that was already discovered by SonicPacker. Well can SonicPacker do this? (Read desc for more info)
When mario interacts with an object, he will often send "signals" to inform the object of events that occur.
For example, when mario collects a coin, he sends the "interacted" signal to the coin, which tells the coin that it was collected and should despawn. Mario increments his coin counter after sending the signal, regardless of whether the signal was received.
When mario hits a wall or presses Z while on a shell, it sends the "stop riding" signal to the shell to tell it to break. Interestingly, this signal clears/overwrites any other signals that were sent to the target object on that frame.
In my previous video (youtube.com/watch?v=IXeZOmwoCMk), I showed how we could ride a shell fake. More precisely, mario is able to "ride" a vacant object slot instead of a shell.
Just like with regular cloning (which is the same thing but with holding instead of riding), we can load other objects into this slot, and mario will be "riding" them. In this video, I load a yellow coin into the slot. Unfortunately it doesn't visually appear beneath mario :(
While riding the coin, we collect the coin and press Z at the same time, which will send both the "interacted" and the "stop riding" signal on the same frame. Since the "stop riding" signal overwrites all other signals, the "interacted" signal is not sent to the coin. The coin doesn't care about the "stop riding" signal and just ignores it. Thus mario is able to collect the coin without it despawning.Riding Fake Shellbad_boot2018-11-18 | Read description:
Right before uploading this, I found a video by SonicPacker that performs the same glitch (youtube.com/watch?v=JWU7Up7gG-I), so it's not completely new. But the way I did it allowed me to avoid killing the koopa, and I also wanted to make sure an adequate explanation was available.
When the koopa puts on his shell, the shell object is despawned. A natural question then is whether we can get this to happen while mario is riding the shell.
If you try this out, you'll see it doesn't work. One might assume that the devs added a condition "Only let the koopa put on the shell if mario isn't riding it", but that would be too robust. Instead, they approximate this condition by requiring that the shell be at least 200 units away from mario.
However, when mario rides a shell, the shell is responsible for updating itself to be under mario. The koopa updates after mario and before the shell in frame order. This means that from the perspective of the koopa, the shell is constantly lagging behind mario.
So if mario has at least 200 speed and is riding the shell, the koopa will think that the shell is 200 units away from mario, and so will be able to pick up the shell. This despawns it while mario is riding it.
This is not to be confused with shell cloning. In that, you hold a vacant object slot and load a shell into it. Here, we unload a shell so that mario is riding a vacant object slot.Entering a Door Without Using the Joystickbad_boot2018-11-06 | Thanks all for 1k subs! Here's to more mildly interesting, purely theoretical glitch videos.Roll into the Cage Pendulum Squish Cancel Spotsbad_boot2018-09-19 | Read:
After the discovery of squish cancel, ds273 suggested that we try to use the pendulum under the Roll into the Cage star to gp chain to get past the cogs, saving time and resources: youtube.com/watch?v=Ml5vzyTYbW0
However, this is very tricky since the pendulum is under a ceiling. Nevertheless, there are still some spots, which this video demonstrates.
Note that the simulation doesn't include the walls in the RitC cubby, and so these spots are really only valid above the cubby.
In this video, the red lines mark the unit squares in which mario can trigger a squish cancel. The green surface is the floor, and the blue surface is the ceiling. (Technically the red lines should extend down to the floor, but for visualization purposes I started them at the ceiling).
The first part of the video shows the situation if we allow the squish push (the steep floor/ceil push) to move mario off the pendulum. As demonstrated, this gives us many more squish spots than I expected, due to the floor and ceils that appear on the seemingly vertical side of the pendulum head.
However, for the Roll Into the Cage strat that we're thinking about, we don't have the luxury of being pushed off the pendulum, since the pendulum will be embedded in a ceiling. The second half of the video shows this case, and is a little disheartening due to the severe lack of spots when the pendulum is pointing upward.Constant Drag Air Movement Visualization (Iwerlipses)bad_boot2018-09-11 | These ovals represent the set of possible positions after a fixed number of frames of air movement, assuming you don't cross a drag threshold. Read more for math:
Each frame (ignoring drag and with full stick mag), Mario's forward velocity changes by 1.5 * cos(dyaw), and he gets sideways movement (not speed) of 10 * sin(dyaw). Dyaw is the difference in angle between the joystick and mario's facing direction.
Using math, we computed a parametric equation for the extrema of this movement. These form an oval, but not an ellipse except for n = 1. The equation for dyaw on frame t out of n is:
where r is the angle of the normal to the oval boundary at the resulting point.
We would be interested in closed form equations for these ovals for specific n (general n is likely not possible). We are also interested in a closed form equation for the shape that the ovals converge to. It's not an ellipse.
If you have interest in working on these math problems, check out the math channel on the TAS & ABC discord server: discord.gg/jxyRgsUTaking Fall Damage on Snowbad_boot2018-09-09 | Pitch conservation = mario reaches downward pitch later = mario doesn't get stuck in the snow. For the second thing, I was just showing off that the fall height for taking fall damage is slightly higher than the fall height for getting stuck.Moat Door Skip Explanation RTAbad_boot2018-09-03 | Video footage is by the creators of the 1-key TAS.
Context: cheese05 will be commentating for the 1-key TAS at GDQx, and the TASing community will never forgive him if he misses anything or gets anything wrong.Cancelling a Death Action (but dying anyway)bad_boot2018-08-19 | If you touch an 0x23 floor while in certain animation actions, it will override the animation action and place you in quicksand death. This is the only known death action cancel, but is clearly pretty useless. It only works on the quicksand around the tox boxes.Squish Cancel (Jumping in mid-air, ground pound chaining, etc)bad_boot2018-08-16 | Subscribe for more Draw My Life videos.SM64 We Didnt Start the Fire Except its Goodbad_boot2018-08-04 | :fire:
More details to come on this, but I found a theoretical way to make an eyerok hand move upward indefinitely. It's still unclear at this point, but such movement could potentially allow us to save an A press. It's a little bit disheartening however that the movement is purely vertical.
During the "pound with both hands" move, the eyerok hand sets its gravity to a negative number, waits until it touches the ground, and then sets its vertical speed to a positive number. If he is touching the ground at the beginning of the move however, then his gravity will stay 0 and his vertical speed will be positive.Hanging on a Ceiling with Half an A Press Ideabad_boot2018-07-22 | Sorry for audio quality. Read full description for details:
This new tech allows us to initiate a single jump without pressing A. It happens when entering a twirling action while either in quicksand or squished. See my previous video for a demo using quicksand: youtube.com/watch?v=wzUEzHk-ioQ
As shown in the video, we can use this to grab onto a hangable ceiling without pressing A. We do have to hold A in order to stay on the ceiling.Beating TTMs Slide with Locked Camera is Harder Than it Soundsbad_boot2018-07-22 | Sorry for title, I just thought it was kinda funny. Read for details:
This is an example of a standard crash that happens when the camera goes too far out of bounds. When Mario enters each area of the slide, he warps back up to the top of the level to give the illusion of the slide being longer than the maximum level bounds. When this happens, the camera also jumps up in order to stay at the same height relative to Mario. If we keep the camera locked, it therefore gets higher and higher.
I was dumb and forgot to show the camera's y position in the video, but it starts at 4885, then jumps to 12,053 for the second area, then finally jumps to 25,365.
This video is TAS and its purpose is to show off the crash; the title is just clickbait.Inverse Lakitu Skipbad_boot2018-07-19 | I figure this is known, but I couldn't find it documented.THI Death Star Softlockbad_boot2018-06-09 | ...Sign Star Softlockbad_boot2018-06-09 | Simple variant of the death star softlock (youtube.com/watch?v=pKOHvR0KBJE). Time is stopped until the star starts it again. The star waits for the camera to be ready before doing so. The camera waits for mario to finish reading/dying. Mario can't finish because time is stopped.Bowser in the Fire Sea in 0x A Presses? (New Glitch Explanation)bad_boot2018-05-28 | Forgot to mention - this is *not* usable in 120 star at the moment, only in any%. For additional info on this and other recent glitches, see this doc:
docs.google.com/document/d/1cJfwdju9-6yTGemBhtZrjoDhWWDYj69OpzIg8D6w9R4/editGrabbing Water Shell Fake w/ Timestop (Hacked)bad_boot2018-05-21 | There is no known way to get timestop in JRB while letting Mario move. However, if you could, I demonstrate that this would let us clone in JRB. This could be used to get the chest star in 0-0.5 A presses.
Whether this method requires a half A press or is terminating depends almost entirely on the timestop method used. In the video, I have to conserve B presses to avoid advancing the text too much, so it requires a half A press.
This only works when the shell times out, as opposed to throwing it or taking damage. There is a flag in the shell object that is set when time runs out, that informs it to despawn when it updates. By delaying the update, we can grab the shell again while the flag is still set, causing it to despawn in our hands once time restarts.Lateral Remote Mama Penguin Activationbad_boot2018-05-18 | The mama penguin can be activated remotely if a baby penguin is within 300 units of her, and the baby's grab status is not 0. This is true when mario is holding it, but also for part of the frame he drops it.
We can therefore use instant release to activate the mama penguin remotely. The first penguin I place at the mama is only to set the HOLP, and isn't necessary for the activation.
If you frame advance the video, you'll see that timestop begins immediately after release, not when mario touches the ground. This means we need to cancel the bonk, since we can't jump out of this.
Unfortunately we can only perform this remote activation laterally (+/- 300 units vertically). If we can get mama penguin high up the steep hill on the right, we can do this from the area with the spindrift by the completed snowman.
This means we can use the spindrift to cancel the bonk, though it's not clear what to do from here.
One idea is that if we could build enough speed and do this, we could preserve that speed using spindrift bonk cancel and land in front of the snowman. The penguin's text will play, allowing us to redirect our speed at will. Then the snowman's text sequence will begin, which allows us to jump up during timestop.
Note that this would require negative speed, or else diving will kill it.
Credit to 1ted59 for tipping me off about this video: youtube.com/watch?v=6eoGOR6P6Dg The strange penguin activation is what led to this discovery.Air Throw Landing (Commentated)bad_boot2018-05-16 | ...Reading a Sign While Deadbad_boot2018-05-15 | ...Endless Staircase Timestop Behaviorbad_boot2018-05-12 | It's worth noting that we do have a way to activate stars in this area, namely with the two toads. Probably not possible in practice. Nevertheless, the idea of combining timestop with certain special floor types is an interesting one.
The crash is just because going oob in the castle crashes.Hoot for the Moon (Epilepsy Warning)bad_boot2018-05-03 | ...Holding onto the owl indefinitelybad_boot2018-05-03 | Iwer Sonsch was the fool all along?
Note that at the end of the video, I let go of the owl intentionally. You can do this forever.Shiftable ROM Hypebad_boot2018-05-01 | Explanation: This is a small demo hack I threw together in ~10 minutes, written in C. This is only possible due to the work that ProjectRevoTPP, MrCheeze, and others have put into developing a shiftable SM64 ROM. Especially as the decomp continues, making ROM hacks will require less and less low-level MIPS skills and game knowledge, thus making it easier for people who aren't Kaze.
Sorry for the audio lol, the shift isn't perfect. I tried to mute it but I guess my volume was just low because of OBS.Water Grabbing is Brokenbad_boot2018-05-01 | In this video I hacked a heave ho underwater to demonstrate that you can grab it with water punching.
Most objects in the game have an "interaction type", which decides what happens when mario touches it. There is a special interaction type for grabbable objects that allows mario to grab them when touching them.
Because chuckya is a grabbable object, he also has the grabbable interaction type. However, he also has another interaction property, which is that he throws mario.
Presumably in order to avoid duplicating this code, the programmers gave heave-ho the grabbable interaction type. They then added an explicit check to make sure you can't grab heave ho. However, they forgot to add this check for water grabbing.
To do this in-game, we can use one of the following ideas:
1. The heave ho doesn't need to be in water for this to work. If we could get mario in water and the heave-ho not in water, but have them still be touching, that would work.
2. The heave ho doesn't disappear until the frame after he enters water. We could therefore try to make him walk off a cliff and drop into water where mario is waiting.
For idea 2, the heave ho will likely disappear and respawn at its home when you release it.Forward Shell Hyperspeedbad_boot2018-04-20 | I got the idea from an Ethan videoUseless Steep Jump Triviabad_boot2018-04-15 | Just a couple properties of the steep jump action that I found interesting.Igloo Barrier Glitchesbad_boot2018-04-10 | When you interact with an igloo barrier, it updates Mario's used object without changing his action. This is the only piece of code that does this as far as I'm aware.Failsafe Climbing (using hacks)bad_boot2018-04-07 | When you start a frame out of bounds, there is a failsafe that places Mario at his visual position. When on a shell, his visual position is 48 units above his actual position, so by repeatedly triggering this failsafe, we could gain height.
I haven't been able to think of a way to trigger the failsafe in this manner in-game. The hack simply displaces Mario laterally by 5 units each frame to push him out of bounds.
The wingcap is required since otherwise terminal velocity is larger than 48.NUT Spots on the Shipbad_boot2018-03-20 | These are spots on a floor that are no longer on the floor after one frame of platform displacement (usually due to integer truncation). These spots can potentially be used for subframe grinding. Unfortunately there doesn't really seem to be anything usable here. The most promising spots don't have a nearby wall, and don't last the full cycle of the ship.BitFS Hyperspeed Grindbad_boot2018-02-23 | New tech. This video has two interesting ideas:
1. We can't gain 400 speed that easily. I had a pretty good angle in the video, but eventually my analog stick was forced out of a good range because Mario's speed parallel to the wall was too high.
2. We can get more than one consecutive air frame by using a low wall. This is because the game checks if Mario can grab the ledge, sees that it is too low, and decides he is still in the air, rather than hitting a wall. This is good because it means faster speed building (but doesn't affect #1).
Each frame, we get pushed off the treadmill, then we need to get back on while in the freefall action.
At low speeds, it can be difficult to stay on the treadmill if you are angled toward the wall too much.
At high speeds, it's really easy to stay on the treadmill, but in order to avoid landing completely, you need to hold way to the right. But if you hold more than about 4700 away from your face angle, you won't gain speed. In the video, I stop once I'm forced to hold more than 4700.
So all we really need is to start with enough speed to become stable. This is something a good TASer might be able to do. Otherwise we can go back to the drawing board - maybe using the fast setting to allow us a sharper angle.Potential 0xA Slide Hyperspeedbad_boot2018-02-10 | The butt slide air action doesn't have a forward H speed limit as long as our intended angle is close to Mario's facing angle. It does have a backward limit though, unfortunately.
The butt slide ground action has a 100 speed limit, but there is a one frame delay when enforcing this. If we never are in this action for more than one consecutive frame, the speed cap is never enforced.
Since PSS is short and curvy, we need a way to hold Mario in place while we grind. If there were a corner next to the slide, we could use that, but all we have are walls, like the railing, the thin pillars, and the wall I use in the video.
The main issue is that when we touch a wall (at less than 45 deg angle of incidence) while in the butt slide air action, we bonk. And when we run into a wall in the ground action, we bounce, enforcing the speed limit.
It turns out we don't have to worry about the ground action, since entering an air state "overrides" touching the wall, so as long as we don't stay in the ground state for 2 frames, we can resolve the wall collision without bouncing.
So all that is left is to find a way to get from the air action to the ground action without bonking. This is the hard part, which is why I used the hack in the video.
It turns out that if you collide with the wall and land in the same quarter step, you will land without bonking. Effectively this means we have to land on the first quarter step that we are in the air.
That is possible half the time. The problem is that if we have negative V speed, then every other time we land, we will bounce, giving us positive (halved) V speed. But I don't think it's possible to land on a frame that we have positive V speed since bouncing places us at floor height.
One idea would be to face uphill, since then we have a chance of landing even with positive V speed. Since this tech doesn't depend on the slide at all (only the fact that we are in a butt slide action), this is possible.
One issue that probably can't be avoided is that at 400 speed, we will clip through the wall we're using. I'm not sure 400 speed is enough to help us get to the box. Keep in mind we will also need a way to enter free fall, since we can't ground pound out of a butt slide. This happens after 32 frames given that we are 500 units above the floor.The Haunted Books Darkest Secretbad_boot2018-02-08 | When you exit and re-enter the room, the puzzle maintains its logical state, but it becomes possible to hit the books again. If you hit one of the books after solving the puzzle, the bookshelf gets stuck.Behind Chain Chomps Gate Without Pressing A (Commentated)bad_boot2018-02-07 | ...[RTABC] Behind Chain Chomps Gate - 0x A Pressesbad_boot2018-01-31 | This isn't a new strat, I just found a setup that takes most of the edge off the final bounces.
Time: 11:20BoB Island 0x A Presses - New RTA Stratbad_boot2018-01-20 | ...The Princesss Secret Slide Under 21 Seconds (0xA) - 25.44bad_boot2017-12-30 | Skip saves ~2.5 secondsPSS Stand Tall on the Three Pillars RTA - 25.5 IGTbad_boot2017-12-30 | Challenge: Get the lowest IGT you can with the condition that you must stand on all three pillars. It was intended to be a TAS challenge, but I decided to try it RTA. Sub-21 might be possible.PSS All Coins (w/ sub 21 star) (1xA)bad_boot2017-12-26 | RTA recently beat TAS on PSS All Coins