I’ll balance things out by refusing to fake-brag about how landing in this 10-unit area is easy to me, someone you’ve never heard of as concerns speed-running
@@StacyRexroad The story of Mario 64 seems largely to be about "Can we make a Mario game successful _WITHOUT_ tricky platforming?" The developers found that level testers, confronted with pinpoint platforming in an explorable environment, assumed that they were supposed to be doing something else. So this game has very, very little of it.
In code it looks like that would be the case, but what that’s actually saying is just a logical statement “if this is true, and this is true, and this is true” so it’s just repeated logic, not an actual game object. The clip he’s showing is merely having objects to visualize it for you.
I love looking at old code and wondering what the hell the programmer was going through in his life to do that (that includes my own code) Guys. This is a joke. Stop taking it seriously. Thanks.
because they never set the parameters for the top face, it defaults to the highest possible distance I guess. The devs don't expect the player to enter from the top or go over it anyhow
It's literally just "if the player is higher than this". And since he's higher than that, whether he's .00001nm above it or 3725518Km in the Sky (I know that isn't possible in game due to the maximum limit to numbers), it's theoretically infinitely tall Everything else here is checked by "if he's between value a and b". And they make it that way because it saves unnecessarily wasting processing power by using an unneeded thing in the if statement. I know that's ironic to say with the same thing checked twice, but that's not supposed to be there either obviously.
They didn't set an upper bound It wouldn't matter anyways because it only triggers the event if Mario is grounded, which essentially sets an upper bound
I wouldn’t be surprised if what happened was, the box was initially exactly the size of the bridge, but later on another developer in the team decided the bridge was a smidge too small for whatever reason, and they forgot to recalibrate this trigger accordingly.
Videos like this really show you the true wonder of speedrun tricks, it's such a small little thing and something as iconic as Lakitu Skip could easily not happen if the box was made just a little wider. Every trick is always something special.
It's amazing how polished that game feels despite the code being so rushed. I think someone even managed to optimize it to 60fps by now... but back then they had to have it ready for the N64 launch!
i love the in-game visualizations here and in the invisible walls video. I'm really curious to learn how they were done. Added in post by tracking the camera? pc decompilation mod?
I'm almost certain it's custom code added to the pc port from the decompilation. While this short would be doable in a video editor (if an absolute pain in the ass), the invisible walls video would be plain impossible to make. Well, unless you rewrote the SM64 renderer from scratch anyway, just to be able to render extra shapes in an existing level
I never thought the walkable area was only 10 units wide. Mario is 150 units tall, right? So that's very small - great movement accuracy by speedrunners.
If the trigger area is anywhere in that box, which goes up to infinity, how cone it didn't trigger when Mario jumped through it at the end of the bridge?
I also love that the only reason we even know this is that the devs "forgot" to use the optimization flag when compiling the game. (Well, more likely they just didn't trust optimizations at the time, given young compilers and a history of programming the machine directly.) Optimisers of the time were certainly capable of removing this kind of redundant check, I'm fairly sure.
to my knowlege, when mario ledge grabs, the game actually puts him in top of the floor he's grabing into, so maybe that 10 units gap is just to prevent mario triggering the cutscene when he grabs the edge of the bridge, that's just a guess tho
I bet you a million dollars some programmer copy and pasted the z value part and forgot to change the values to the y coordinates which is why there is an extra z but a missing y.
Copy-and-pasting is normally the reason why we see repeated code or wrong code... I know I always mess up some code by copy-pasting but never modifying/editing (Forgetting to do so) :(
@@DarkBoo007 I've heard that some coding projects even have blanket rules against copy-pasting for _any_ reason, specifically to prevent errors like this. I don't know for certain how effective it is in practice, but yeah.
@@SSM24_ Sounds like a very heavy-handed solution. Maybe one could expand the syntax highlighter to indicate that a piece of copypasted code hasn't been edited...? A bit unreliable, but copypasting saves a lot of work...
I wonder if this was intentional in case Mario hit the ledge on one frame and fell off the bridge on the immediate next frame, which could have caused issues with the cutscene.
@@blueyosh43 If Mario touched the bridge and immediately let go, the cutscene would play after he landed. This would be possible with a ledgegrab if the trigger touched the entire bridge. This is used in blindfolded speedruns of CCM's penguin race, where they enter the cutscene trigger for one frame, and then they're airborne. They jump partway down the slide, and then the penguin starts talking to them from really far away.
I thought this worked beacuse of a 1 frame jump that the game wouldn't register as Mario landing. Great explanation and visuals! My guess for the double Z constraint is that that line should have been the upper Y constraint, but somehow they replaced it with a repeated one.
As a programmer with ADHD, I can confirm I've duplicated a line of code to then quickly morph it into code I needed, but then got distracted and didn't do the morphing part...
When you get 999 coins in the JP version, it sets your lives to 999 (& 0xFF == -25) because they copy-pasted the 999 lives bounds check right above it and forgot to change all the variables over. This looks like another instance of that sort of mistake.
@@lgasc I don't think the game can do cutscenes like this with Mario in any non-grounded state, including swimming. At the very least, I can't think of any times where it comes up during normal gameplay, unless they decided to program it to be possible and then ended up never using it. You can get below the bridge in a walking state as well, but you'd have to have already entered the castle to drain the moat, which despawns Lakitu.
Hypothetically it should work in All Stars as the version being used is just a ported version of the N64 version (the Shindou revision that fixed a few bugs such as BLJs) assuming the Shindou version didn’t change the bounding box dimensions. The DS versions are more likely to have this fixed as (I think) the engine was heavily modified to run on the DS hardware, not to mention that you run into this cutscene with Yoshi instead of Mario in SM64DS, as Yoshi has significantly different abilities, and I’m pretty sure he lacks a long jump (unlike Mario). I haven’t played the game in a while though so I might be remembering incorrectly
@@QueenofTNTThere is nothing on the bridge to skip on the DS version as the front door is locked for the rabbit key tutorial thing and Lakitu talks to you before you have control of Yoshi.
Gonna be real, if I ever make a game I'm gonna do stuff like this on purpose. I want the normal time to be 50 hours and the speedrun to be 20 minutes lol
Thank you so much for not doing that annoying thing where the end of a Shorts video loops back to the beginning to try to trick people into watching more of something they already watched
there's a dude that makes terraria videos that does that. ends so many shorts with a sentence that leads into the beginning of the short. so damned annoying.
The problem is RU-vid auto-looping videos in a desperate attempt to compete with other sites. What you’re complaining about is just an attempt to adapt
isn't that emulating those games tho and then applying a texture hack? I remember sunshine in 3d all stars when it released it had a problem caused by GameCube emulators (the moving platforms trail being visible, normally it's invisible), i think Nintendo later fixed it