Reach the Credits from Kokiri Forest using ACE (Ocarina of Time Glitch Explained)

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ม.ค. 2020
  • The Legend of Zelda: Ocarina of Time can now be beaten from Kokiri forest, using a trick known as “ACE” or “Arbitrary Code Execution”. This is a huge breakthrough for OoT and is the result of months of hard work from many individuals. The trick isn’t the easiest thing to understand simply from watching the gameplay - this video goes into some detail about what’s happening.
    The trick uses “Stale Reference Manipulation” (SRM), a trick which allows us to edit memory values that we normally wouldn’t be able to edit. Using this, we’re able to make the game jump to some code that we’ve written to take us to the credits.
    Here is the original video of the trick by MrCheeze:
    • Ocarina of Time - Koki...
    Here is the current fastest speedrun at the time of typing this:
    • Ocarina of Time Any% i...
    Here's a video guide on how to perform the speedrun by Savestate:
    • OoT any% ACE: Next Cut...
    Here is a reddit with an explanation by mzxrules:
    / fehg486
    Here is a document outlining the route used in the speed run and how to perform it:
    docs.google.com/document/d/17...
    Fig02 made a video explaining another kind of ACE, in Goron City. The concept is similar, this video goes into a bit more technical detail if you’re interested in that: • Arbitrary Code Executi...
    Here are my original videos where I discovered SRM:
    • OoT/MM: Stale Referenc...
    • OoT/MM: Stale Referenc...
    In the speedrun, there are a few extra things that are either different from the video, or that the video doesn’t mention. These are:
    - The speedrun actually clips past the kokiri guard before getting the shield using a Triple-Slash Clip (TSC) instead of with the crouch stab method I showed.
    - After slingshot you need to savewarp back to the start, otherwise the game won’t be able to load the cutscene correctly
    - When heading from the deku tree to the kokiri forest area, you need to load the deku tree area again 3 times, firstly with your sword charged for a spin attack, and the next two times with a slingshot seed readied. This is so that the correct values in memory are in the correct places for the trick to work properly.
    - When doing the walking while talking glitch, you need to break the two signs here in order to make sure the memory is set up correctly.
    - After the SRM, you need to break some extra rocks so that the slingshot seed can occupy the area in memory that these rocks took up.
    *Note from the video: In the clip with the chest in deku tree, I hack some values into the game to demonstrate this SRM in a way that normally wouldn’t be possible. The way we edit the chest contents here in reality is a bit more complicated, although I decided to do it this way for demonstration purposes.
    Big thanks to everyone involved in this trick, the OoT glitch hunting community is as strong as ever and I can’t wait to see what crazy things we end up with next!
    Be sure to ask questions!
  • เกม

ความคิดเห็น • 692

  • @JustFredrik
    @JustFredrik 4 ปีที่แล้ว +418

    "Lemme just use this rock to re-program the game"

    • @Hyper_Nova324
      @Hyper_Nova324 3 ปีที่แล้ว +2

      I was in a pretty bad mood then this comment made me laugh 😂😂😂

    • @Jay-vg8xc
      @Jay-vg8xc 3 ปีที่แล้ว

      Re-program an instance of the game ;) :D

    • @zeKotako
      @zeKotako 3 ปีที่แล้ว

      And lemme set my savefile to warp me to the end credits, normal stuff ya know

    • @rickor5036
      @rickor5036 3 ปีที่แล้ว

      Very MacGyver-esk 😁

    • @AngraMainiiu
      @AngraMainiiu 4 หลายเดือนก่อน +1

      The true Philosopher's Stone...

  • @azi7371
    @azi7371 4 ปีที่แล้ว +1820

    Smb1: So imagine a bus that leaves every 21 frames...
    Oot: So there's this treasure hunter...

    • @Somefurfag
      @Somefurfag 4 ปีที่แล้ว +281

      SM64: We need to talk about parallel universes...

    • @RegalPixelKing
      @RegalPixelKing 4 ปีที่แล้ว +62

      @@Somefurfag Half A presses.

    • @nebelung1
      @nebelung1 4 ปีที่แล้ว +15

      I was pretty disappointed there was no bus analogy :D

    • @giin97
      @giin97 4 ปีที่แล้ว +14

      Lol, this is rather funny to me. I've only recently (last year or so?) started diving into deeper mechanics on old games. Literally every bus reference I've heard has been, "so you all know the bus analogy, so I'm going to explain it another way." Your comment is the first time I've heard what the bus analogy actually is :P

    • @chanceneck8072
      @chanceneck8072 4 ปีที่แล้ว +2

      I miss times, where a speedrunner could actually hold a world record, because he was... you know.. GOOD AT A GAME! And not good at programming or whatever the hell all this glitchy glatchy shit is.....

  • @Faber0k
    @Faber0k 4 ปีที่แล้ว +348

    The one kid in Japan that did this accidently in 1999 finally has some closure.

    • @midbell
      @midbell 4 ปีที่แล้ว +8

      source?

    • @mr.camsbfgr8964
      @mr.camsbfgr8964 4 ปีที่แล้ว +40

      Mid Bell it’s a joke 💀

    • @midbell
      @midbell 4 ปีที่แล้ว +16

      @@mr.camsbfgr8964 source that its a joke? lol jk

    • @MegaZeta
      @MegaZeta 3 ปีที่แล้ว +27

      They mocked young 84 _Fuubōpa_ v for his name, but only he knew the pleasure of watching part of the credits for a game he didn't even get to finish

    • @crosselsmith776
      @crosselsmith776 2 ปีที่แล้ว +1

      That's me!

  • @ixrisor
    @ixrisor 4 ปีที่แล้ว +1066

    Ocarina of Time as Miyamoto intended, Ganon was always optional.

    • @KitsuneShapeShifter
      @KitsuneShapeShifter 4 ปีที่แล้ว +102

      The supreme art of war is to subdue the enemy without fighting

    • @AlexRoseGames
      @AlexRoseGames 4 ปีที่แล้ว +37

      @Benjamin McCann the finest leader never leaves his home town abandoned

    • @mathprodigy
      @mathprodigy 4 ปีที่แล้ว +9

      Yes im sure he foresaw arbitrary code execution lol

    • @TrindyForce
      @TrindyForce 4 ปีที่แล้ว +17

      @@mathprodigy This was not a very good addition to the joke

    • @mathprodigy
      @mathprodigy 4 ปีที่แล้ว +3

      Damnnnn fucking savaaage lmfao

  • @jonathanbecerra7073
    @jonathanbecerra7073 4 ปีที่แล้ว +553

    ACE is the true ending. Ganon was just there in case people sucked at the game and couldnt reach ACE.

    • @PalPlays
      @PalPlays 4 ปีที่แล้ว +42

      Imagine showing up to fight Ganon only to have him turn around and say
      "Really?! You literally took seven years to confront me."
      OR
      "Brother, my GRANDMOTHERS can wrongwarp to where they want to go faster than you can."
      OR
      When runners finally ACE their way to the credits, Ganon is there partying with everyone. As the final credits scroll, you HEAR him say.
      "Thank you very much for playing my game!"

    • @AkaiAzul
      @AkaiAzul 4 ปีที่แล้ว +4

      For speed running, perhaps, but now we can play OoT to crash Paper Mario.

    • @drakath5727
      @drakath5727 4 ปีที่แล้ว

      AkaiAzul I know it’s random but what if there was a way to use that glitch item in Pokémon Gen 1 to beat paper Mario or crash it?

    • @AkaiAzul
      @AkaiAzul 4 ปีที่แล้ว

      ꧁༺Drakath Fenrier༻꧂ Technically possible, yes. We could use ACE in Pokémon Gen 1 to modify Pokémon Stadium to prepare for a Stop and Swoop of Paper Mario to beat / crash it.

    • @TheObsessiveGamer
      @TheObsessiveGamer ปีที่แล้ว

      Comments that aged well considering you can now get the Triforce using ACE as the true ending

  • @SariatheFrostMage
    @SariatheFrostMage 4 ปีที่แล้ว +647

    First OoT speedrun: Yeah, it's gonna take at least 4 hours to beat the game any%.
    Years later: So if you roll into a bomb with the right inputs, you can start sliding like you're on ice. You can even hover by backflipping off of a bomb with ISG!
    2020: So by writing code into the game with a rock and slingshot, you can put every single item into your inventory or warp to the credits. Look, I have 41 hearts.

    • @Yntec
      @Yntec 4 ปีที่แล้ว +44

      I still remember when I did this arbitrary code execution by pure luck when I was a child, and it was a shocker because it was before even beating the game, so it was my first time seeing the credits. Nobody ever believed me so since then I always recorded my plays, but could never trigger it again. It's very cool to finally get to see what was up with that.

    • @mathprodigy
      @mathprodigy 4 ปีที่แล้ว +64

      @@Yntec what
      You arbitrarily code executed.... by random chance?
      You sure it wasn't a stray cosmic or gamma ray lol

    • @Yntec
      @Yntec 4 ปีที่แล้ว +42

      @@mathprodigy Oops, forgot it's considered lying when I don't mention it was a joke. Still, I said it with the most straight face I've had in my life! 😂

    • @mathprodigy
      @mathprodigy 4 ปีที่แล้ว +23

      @@Yntec bro you had me for a sec, i was like "but...its far too specific and they've taken YEARS lol"

    • @Yntec
      @Yntec 4 ปีที่แล้ว +10

      @@mathprodigy Sorry! But I'm glad I got someone! 😀

  • @plushifoxed
    @plushifoxed 4 ปีที่แล้ว +606

    the shop music as an analogue to the SM64 file select theme a la pannenkoek is a nice touch

    • @98danielray
      @98danielray 4 ปีที่แล้ว +4

      exactly

    • @JazzyWaffles
      @JazzyWaffles 4 ปีที่แล้ว +35

      @Public Alaskan ok boomer

    • @C1yde902
      @C1yde902 4 ปีที่แล้ว +16

      Public Alaskan shut up weeb.

    • @RichConnerGMN
      @RichConnerGMN 4 ปีที่แล้ว

      analogue

    • @plushifoxed
      @plushifoxed 4 ปีที่แล้ว +7

      @Public Alaskan peanus and balles

  • @link0192
    @link0192 4 ปีที่แล้ว +368

    “Ocarina of time is dead. It’s over.”
    World record is now 5 minutes faster

    • @ollymuirs
      @ollymuirs 4 ปีที่แล้ว +46

      The 18:10 is still the best Oot speedrun ever made, this new route is nowhere near as exiting, it is impressive dont get me wrong but nowhere near as interesting to watch as previous routes.

    • @eveappleby2211
      @eveappleby2211 4 ปีที่แล้ว +5

      @@ollymuirs yup, it's kinda sad that so much of the interesting stuff is gone cuz of this.

    • @CTOOFBOOGLE
      @CTOOFBOOGLE 4 ปีที่แล้ว +34

      Eve Appleby Nah, this will probably be sectioned off into its own category. Also, there are plenty of other OoT speedrun categories that include tons of cool stuff.

    • @2DollarGargoyle
      @2DollarGargoyle 4 ปีที่แล้ว +7

      @@eveappleby2211 its laughable to say that kak route is the most interesting run because this route cuts so much out. People held the same opinion on any% because it left out so much of the game that longer categories make use of.

    • @chanceneck8072
      @chanceneck8072 4 ปีที่แล้ว +6

      I miss times, where a speedrunner could actually hold a world record, because he was... you know.. GOOD AT A GAME! And not good at programming or whatever the hell all this glitchy glatchy shit is.....

  • @Lugmillord
    @Lugmillord 4 ปีที่แล้ว +141

    CDi Link: "I won!"
    Zelda: "You didn't even leave the damn forest!"

    • @TheBreakingBenny
      @TheBreakingBenny 4 ปีที่แล้ว +4

      Still counts! And I think Link's now confused about what just happened.

    • @Lugmillord
      @Lugmillord 4 ปีที่แล้ว

      @@TheBreakingBenny "Oh nothing Link." - well, story-wise it really was nothing.

    • @DarcOfTheShadows
      @DarcOfTheShadows 2 ปีที่แล้ว +1

      "I just saved you from Ganon!"
      "You did not."

  • @kirbystarzkirby
    @kirbystarzkirby 4 ปีที่แล้ว +577

    Why are you so mean to the treasure Hunter man?

    • @renakunisaki
      @renakunisaki 4 ปีที่แล้ว +61

      Because he won't dig up the damn heart piece.

    • @scottcameron3030
      @scottcameron3030 4 ปีที่แล้ว +14

      Poor Dampe.

    • @pretends2know
      @pretends2know 4 ปีที่แล้ว +28

      He's not mean; he's pointing the treasure hunter man to a better treasure.

    • @julianbello8376
      @julianbello8376 4 ปีที่แล้ว

      He has no human right

    • @onijester56
      @onijester56 4 ปีที่แล้ว +3

      Because we're actually being nice.
      Imagine that the treasure hunter has to walk from where he begins to where the treasure is.
      However, the new "X" has a bus ticket waiting. The next "X" has another bus ticket waiting, and so does every X.
      Instead of walking a long way to get to the place, he's taking a few buses...which winds up being faster than walking the long way.

  • @witmilk6527
    @witmilk6527 4 ปีที่แล้ว +29

    Treasure hunter:
    What is this bs!!
    Bus driver:
    First time?

  • @DlcEnergy
    @DlcEnergy 4 ปีที่แล้ว +234

    what'd be good is a video explaining how this was even discovered.

    • @The_Essential_Review
      @The_Essential_Review 4 ปีที่แล้ว +19

      I think there was a guy that used a similar trick for Super Mario World on SNES, actually you should watch his video of that he blew his own f****** mind when he discovered it. I will have to search up the video if you want me to share it with you just reply here so I get a notification from your reply to even find this comment again later once I found it

    • @The_Essential_Review
      @The_Essential_Review 4 ปีที่แล้ว +3

      Oh yea, and I just noticed in the video description itself you can find a couple of links where this channels Creator himself discovered SRM in this game, I'm gonna watch them myself.
      But yeah the first game to discover you could do this type of thing was on Super Mario World

    • @DlcEnergy
      @DlcEnergy 4 ปีที่แล้ว +4

      MondoManDevout a link to that would also be much appreciated.

    • @mrlizard6529
      @mrlizard6529 4 ปีที่แล้ว +22

      ACE has been talked about for years on OOT. My guess is that many already knew how the game writes things to memory, but that data couldn't be manipulated by the user, until they discovered the trick with the rock and the far away camera. That I think was the key that started the whole thing, that trick allowed the manipulation of data in memory by the user that the game didnt intend to be manipulated, once you do that it's a matter of logic and understanding the way the game uses this data to achieve the desired result, hence the treasure map analogy.
      At least that's my guess anyways.

    • @jamieyakimets839
      @jamieyakimets839 4 ปีที่แล้ว

      DLC ENERGY following for link

  • @Lord_Nightmare
    @Lord_Nightmare 4 ปีที่แล้ว +168

    While the glitch used gets called SRM (and I suppose "stale reference manipulation" is technically a valid description), the class of memory manipulation done here is generally called a 'use-after-free' exploit.

    • @jphataraki6764
      @jphataraki6764 ปีที่แล้ว

      Please explain further

    • @Lord_Nightmare
      @Lord_Nightmare ปีที่แล้ว +4

      @@jphataraki6764 When a data element or structure in a piece of dynamically allocated memory is freed (typically using a free() call in C) but still has active pointers pointing and writing to it, in computer security parlance this is generally called a 'use-after-free' condition. See MITRE CWE-416.

    • @griftegrd
      @griftegrd ปีที่แล้ว

      @@Lord_Nightmare thanks for the info, pretty interesting

  • @Glitches0and0stuff
    @Glitches0and0stuff  4 ปีที่แล้ว +97

    I used some pretty old video editing software on my laptop for this one - I also rushed it a bit so it is what it is.
    Still, I hope you enjoyed it and now that i've de-rusted (and got some better software) I think the next few explanation videos I make will be even better!

  • @jemus42
    @jemus42 4 ปีที่แล้ว +78

    So treasure maps are the new bus stops, I get it.
    Great explanation, thanks!

    • @iantaakalla8180
      @iantaakalla8180 4 ปีที่แล้ว +1

      jemus42 “Bus stop to the next dimension!”

  • @mzxrules
    @mzxrules 4 ปีที่แล้ว +116

    i helped too. i found the input data struct we jump to for 1.0 :D

    • @MrCheeze
      @MrCheeze 4 ปีที่แล้ว +30

      you're saying that like Atom and Verbose and Spectrum and all your other tools weren't ridiculously important to all of this

    • @Glitches0and0stuff
      @Glitches0and0stuff  4 ปีที่แล้ว +33

      True! I put you in the credits at the end, there wasn't enough time to say all the names lol

  • @TristamWolf
    @TristamWolf 4 ปีที่แล้ว +46

    I'm saving this video to give to anyone who asks about how ACE works in general. Your explanation and Treasure Map analogy explains the concepts behind ACE (and this particular execution) better than I've seen before.

    • @The_Essential_Review
      @The_Essential_Review 4 ปีที่แล้ว +2

      Also check out this one -
      th-cam.com/video/14wqBA5Q1yc/w-d-xo.html
      Well the accompanying descrip anyway

    • @The_Essential_Review
      @The_Essential_Review 4 ปีที่แล้ว +2

      th-cam.com/video/vAHXK2wut_I/w-d-xo.html

  • @StopBuggingMeGoogleIHateYou
    @StopBuggingMeGoogleIHateYou 4 ปีที่แล้ว +244

    By the way, in the computer security industry, what you call "SRM" we call "UAF" (use after free). Same concept.

    • @Glitches0and0stuff
      @Glitches0and0stuff  4 ปีที่แล้ว +117

      Thanks for the info! For some reason it's a common thing for hobbyist communities to create their own names for stuff that might already have a name in the advanced literature. I suppose it's for multiple reasons - at first when we found "SRM" we were thinking about using that name specifically for the pot and boomerang varients of this glitch, and nothing else (we didn't know the extent of the glitch back then, we only knew about using it for 'simple' applications like moving doors around). Another reason is that hobbyist communities generally don't know the anything about the fields that their work is actually related to. I don't think any of the people who work on OoT are in computer security jobs or have computer security education (I could be wrong), even though what we're doing is basically the same thing.

    • @Retroist2024
      @Retroist2024 4 ปีที่แล้ว +46

      That's why computer security is so difficult. Game makers don't care about security so everything is broken beyond repair.

    • @Dong_Harvey
      @Dong_Harvey 4 ปีที่แล้ว +32

      @@Retroist2024 ^^ exactly this, but to add on to the Convo, it's the act of witnessing the interesting effects of game glitch/vulnerability exploitation that inspired me to enter CS and security

    • @ClysmiC11
      @ClysmiC11 4 ปีที่แล้ว +11

      I think there are more concerning target vectors than video games...

    • @Retroist2024
      @Retroist2024 4 ปีที่แล้ว +6

      @@ClysmiC11 sure
      Those bugs/glitches/vulnerabilities attract more gamers

  • @flayv999
    @flayv999 4 ปีที่แล้ว +11

    Who knew that everything I learned about dynamic memory allocation, overflow, and memory addresses/pointers, would all come into play while watching a random ocarina of time speedrun video on youtube???
    Thanks, C.

  • @jongyon7192p
    @jongyon7192p 4 ปีที่แล้ว +85

    1:30 The route proceeds to the deku tree to get the slingshot,
    *DA~ DA~ DA~ D--*
    and then leaves again.

    • @HolyMoses33
      @HolyMoses33 4 ปีที่แล้ว +11

      great comedic timing, not even sure if it was intentional

  • @sirzorg5728
    @sirzorg5728 4 ปีที่แล้ว +205

    "There will be some *extra Links* in the description"
    Oh god what glitch can do that?

  • @alejandrocortes1149
    @alejandrocortes1149 4 ปีที่แล้ว +19

    Next OoT category will be something like "Build a Tetrix any%"

  • @Straw_Breaker
    @Straw_Breaker 4 ปีที่แล้ว +46

    This version of the route is already outdated, holy frick

    • @Fazer_600
      @Fazer_600 4 ปีที่แล้ว

      im not surprised, i take it they found a way to point to the cutscene id faster?

    • @Straw_Breaker
      @Straw_Breaker 4 ปีที่แล้ว

      Spaced Invader yep, just watch the guy’s runs on his channel

  • @elphs
    @elphs 4 ปีที่แล้ว +22

    Actually insane how much has been discovered over years.

  • @elijahkeay3906
    @elijahkeay3906 4 ปีที่แล้ว +7

    This is actually an amazing explanation. I think I finally understand a lot of how this works. Good job

  • @jiimbv
    @jiimbv 4 ปีที่แล้ว +12

    Hey Glitches and Stuff! Really appreciate the video, I watched a couple others and still had basically no idea how this trick worked. The ELI5 nature of the vid was helpful and necessary for someone like me, who doesnt speedrun this or any game.
    Also I loved your presence on the couch at GDQ! You've got a knack for explaining things in a concise and easy to follow way, and you made the run significantly better with your being there, imho. You and ZFG are an entertaining combo.

    • @Glitches0and0stuff
      @Glitches0and0stuff  4 ปีที่แล้ว +3

      Thanks for the feedback, that's very kind of you!

  • @1Henrink
    @1Henrink 2 ปีที่แล้ว +2

    Just graduated computer science, so when you said "We corrupted the pointer", I just briefly closed my eyes and said "FUCK", because I have suffered what doing this can cause.
    Thanks for the great video and explanation.

  • @storm-zk8118
    @storm-zk8118 4 ปีที่แล้ว +6

    people in 1970: We'll have flying cars by 2020
    OOT in 2020: Allow me to introduce myself.

  • @FIDEL_CASHFLOW_
    @FIDEL_CASHFLOW_ 3 ปีที่แล้ว +1

    I was using like 95% of my mental energy to just follow along and have a clear picture of what's actually happening in the game code just from a simple TH-cam explanation. How people actually figure this shit out in real life is beyond me

  • @Phroggster
    @Phroggster 4 ปีที่แล้ว

    The article in Ars Technica brought me here. Bravo! This use-after-free vulnerability, combined with what I can only assume to be thousands of person-hours to determine how to reliably exploit it; it's just bloody genius.
    I was going to ask how I'm not already subscribed to your channel, but first we've got to discuss parallel universes.

  • @cohenkarnell7799
    @cohenkarnell7799 4 ปีที่แล้ว +4

    The analogy is great, I wish I had heard it when first learning about RBA a long time ago.

  • @MsCuriousinferno
    @MsCuriousinferno 4 ปีที่แล้ว +1

    Awesome explanation! The map metaphor made it easier to understand, and it was very interesting!

  • @cicadashell3861
    @cicadashell3861 4 ปีที่แล้ว

    Crazy that this stuff is even found out. Love seeing how other speedrunners/glitchhunters break their games! Thanks for the vid

  • @kannpai
    @kannpai 4 ปีที่แล้ว +1

    That was a really good explanation. Wild what people are coming up with for this game now

  • @craigjorgensen1986
    @craigjorgensen1986 4 ปีที่แล้ว +5

    Finally, a practical application for my Computer Science degree!

  • @PaulFisher
    @PaulFisher 4 ปีที่แล้ว +2

    This is a cool and accessible explanation of how arbitrary code execution works! The process also demonstrates the technique of “exploit chaining”, since with each step the user can do slightly more-first a simple jump, then a more complex jump, and then a memory write and return. As others have mentioned, both of these are the same principles that is used in computer security, just for a different purpose and on a smaller scale.

  • @TheZenytram
    @TheZenytram 4 ปีที่แล้ว

    Man you are a genius with this explanation for pointers, i'm gonna use that for now on

  • @segastar6976
    @segastar6976 4 ปีที่แล้ว +1

    Very fascinating how OoT continues to amaze us with what you can do with it. I still think its the greatest speedrun game of all time (SM64 is up there due to it's movement) but no other game i think has been ripped apart down to its bare code as much as OoT. I also love the fact that there's nearly 50 different categories (regular leaderboard and category extensions) that you can run in this game, so there's something for literally everybody.
    Congrats to the OoT community for discovering this and working for months to make this viable, it's incredible. Keep up the good work guys!

  • @SimpleAmadeus
    @SimpleAmadeus 4 ปีที่แล้ว +94

    9:33 Hold up, so this is actually a tool-assisted speedrun.

    • @andr0ne_
      @andr0ne_ 4 ปีที่แล้ว +4

      literally was about to write the same thing!

    • @Gelikafkal
      @Gelikafkal 4 ปีที่แล้ว +8

      @@andr0ne_ ACE might get forbidden or seperated into its own category anyway. At least this is what most other games do, that have memory corruptions like this.

    • @PalPlays
      @PalPlays 4 ปีที่แล้ว +17

      @@Gelikafkal Except that this IS the efficient Any% route. If anything, non-ACE will become its own category and this will be Any%.

    • @alexgagnon379
      @alexgagnon379 4 ปีที่แล้ว

      The debate is about the fact that this category is tool-assisted or not. We don't care if it's called any% or any%ACE . Nor that former any% will become any%noAce. That fact is, you must modify your cuntroller (Kappa) to achieve this category. Plus, you need a software (idk the name, but OoT speedrunners use it to practice on n64. Someone may help me finding what I mean ) that will show you if the stick is held in the right exact position. It does sound a lot like TAS to me.

    • @PalPlays
      @PalPlays 4 ปีที่แล้ว +17

      @@alexgagnon379 This is not a tool assisted speedrun. There are no macros being used or outside programs.

  • @ub3rfr3nzy94
    @ub3rfr3nzy94 4 ปีที่แล้ว +10

    The fact people are still discovering things is incredible.

  • @sebastiankanayuk6581
    @sebastiankanayuk6581 4 ปีที่แล้ว +5

    Kudos for using Nunavut and Greenland as a map, I'm from just of the south of the first location

  • @handreww
    @handreww 4 ปีที่แล้ว +1

    thanks for this video, this is a way better explanation than i could give to anyone that asks what's going on now

  • @rikovladimir8655
    @rikovladimir8655 4 ปีที่แล้ว

    I'm honored to be in the presence of such greatness, you have truly outdid yourselves

  • @ElectricPopTart18
    @ElectricPopTart18 4 ปีที่แล้ว

    This is VERY well described for the programming illiterate like myself. Thank you. This is truly fascinating!

  • @gamestabled
    @gamestabled 4 ปีที่แล้ว +7

    This is a cool video, thanks for making this!

  • @petfriendamy
    @petfriendamy 4 ปีที่แล้ว +12

    Dang, not even OoT is safe from the recent slew of major Zelda speedrun discoveries. Crazy!

  • @Jelster64
    @Jelster64 4 ปีที่แล้ว +22

    i absolutely love this

  • @999a0s
    @999a0s 4 ปีที่แล้ว

    the treasure map analogy for pointers / indirection is so spot on

  • @renakunisaki
    @renakunisaki 4 ปีที่แล้ว +6

    Gotta say, (even though it's not used in this run) using ACE to patch the filename entry to let you enter dozens of characters is genius.

  • @Savestate
    @Savestate 4 ปีที่แล้ว

    You picked up your editing software extremely quickly, superb video!!

  • @jonahamvs7229
    @jonahamvs7229 4 ปีที่แล้ว

    this was an amazing explanation thank you so much

  • @camwyn256
    @camwyn256 4 ปีที่แล้ว

    Thanks for the explanation. I figured it was related to buffer overflow, but it’s actually not. Pointer manipulation. Brilliant

  • @InsatiableMonkey
    @InsatiableMonkey 4 ปีที่แล้ว

    You did a very good job of making pointers understandable for nontechnical people. Very well done.

  • @felipimacedo
    @felipimacedo 4 ปีที่แล้ว +1

    That treasure hunter analogy is one of the most unique ways to talk about pointers I have ever heard... But then again, I didn't hear a lot of things about pointers in my life...

  • @heathersmith4042
    @heathersmith4042 4 ปีที่แล้ว

    The treasure hunter metaphor is the only reason I can even pretend to understand what I just watched. this is amazing

  • @riadoro5014
    @riadoro5014 4 ปีที่แล้ว +4

    OoT speedruns officially reached parallel universe level

  • @addiction2409
    @addiction2409 3 ปีที่แล้ว

    I have accidentally seen this video 3 times and still amazes me everytime i see it

  • @RUSH_
    @RUSH_ 4 ปีที่แล้ว +5

    awesome! Thanks for the vid!

  • @tbtb66
    @tbtb66 4 ปีที่แล้ว +14

    Holding items, having them unload, and reappear as different objects
    Jolly Roger Bay x 0 A presses confirmed

  • @LieseFury
    @LieseFury 4 ปีที่แล้ว

    I was wondering how crazy this could be with a 13 minute video but then you just explained how memory works for several minutes

  • @Tustin2121
    @Tustin2121 4 ปีที่แล้ว +14

    6:10 - Basically, the ability for ACE to work as it does (in any program) is all Alan Turing’s fault for thinking that it was a good idea for a computer to allow both code and data in the same memory space. And indeed, if the N64 (or any of these old consoles) had any concept of Data Execution Prevention, these ACE exploits wouldn’t be possible.
    Great explanation, btw. It’s amusing to me how speedrunning these old games everyone loves so much, how much that’s turning more and more into hacking and programming with every passing world record.

    • @Lovuschka
      @Lovuschka 4 ปีที่แล้ว

      Also if Nintendo didn't think all controller input data should be read instead of just controller 1 input data, this would be... well... probably not impossible but it would require a different setup.

    • @KaneYork
      @KaneYork 4 ปีที่แล้ว +4

      @@Lovuschka OOT actually reads controller 3 to process the secret "delete all saves" code.

    • @WhelpHaiBai
      @WhelpHaiBai 4 ปีที่แล้ว +1

      But there more than likely would be DEP/ASLR bypasses, it would’ve just required more exploit development work.

  • @PKMNwww411_MkII
    @PKMNwww411_MkII 4 ปีที่แล้ว +11

    The actor displacement glitch works in both Ocarina of Time AND Majora's Mask which causes arbitrary code to be used for wrong warping.

    • @BenoHourglass
      @BenoHourglass 4 ปีที่แล้ว

      Probably because Majora's Mask is the exact same engine.

  • @StevensSounds
    @StevensSounds 4 ปีที่แล้ว

    Wow. I think if I hadn't already taken college classes in data structures I would be completely lost on the pointer corruption right now. Congrats on finding this exploit!

  • @notoriousquinnb
    @notoriousquinnb 4 ปีที่แล้ว +2

    Soooo....Doom programmed into OoT when?
    Great video, thanks for taking the time to break down this crazy trick!

    • @Tustin2121
      @Tustin2121 4 ปีที่แล้ว +1

      They’ve already got the jump to controller input as code, so the next step is to use that to drop a payload that allows more efficient input-as-code execution, and then a step to disable the main game loop and read in at sub-frame speeds, and then the Doom Payload can be loaded after that within a few seconds, faster if it’s less Doom and more OoT crossed with Doom gameplay (because game asset reuse). I expect a TAS to do this within the next six months and for TAS bot to be performing this at the next SGDQ, or the next AGDQ at the latest.
      (The payload explanation above is how the TASbot team has done a bunch of the total control runs seen at GDQs previously, specifically with Super Mario World and gen 1 Pokémon.)

    • @notoriousquinnb
      @notoriousquinnb 4 ปีที่แล้ว +1

      @@Tustin2121 I can't wait! I'm torn between which would be more interesting to see, the OoT crossed with Doom gameplay would be super cool to see, but a straight up copy of Doom being run in OoT is also part of the tradition of "will x run Doom?"
      Thanks for taking the time to enlighten me, it gave me something to look forward to!

  • @DaSpoonyBard
    @DaSpoonyBard 4 ปีที่แล้ว +17

    ACE: "I am become Death, the destroyer of any% categories."

    • @lovey0184
      @lovey0184 3 ปีที่แล้ว

      Can't tell if you're referencing something else, but I know that from the radiance in linkin park's album a thousand suns.

    • @riftvallance2087
      @riftvallance2087 3 ปีที่แล้ว

      @@lovey0184 Originally a quote from Robert Oppenhiemer a scientist working on the Atomic bomb. After he witnessed it being tested he said "I have become death, destroyer of worlds "

  • @HouseOfFunQM
    @HouseOfFunQM 4 ปีที่แล้ว +4

    Wow this is a classic use-after-free, but... actually inside a running game with limited input. This is just crazy!

  • @the_glitch
    @the_glitch 3 ปีที่แล้ว

    Very entertaining video! Thanks!

  • @pgrankin1
    @pgrankin1 4 หลายเดือนก่อน

    Okay, I think I FINALLY understand. As someone who knows nothing about coding, when I first heard about this glitch, I understood the base concept, but was struggling to understand HOW you could tell the game exactly what to do. Turns out you write the code with the file name and the controller’s button inputs?? This stuff is wild

  • @fallen_cookie
    @fallen_cookie 4 ปีที่แล้ว

    Thanks for this explanation

  • @slateramalgamated7620
    @slateramalgamated7620 4 ปีที่แล้ว +1

    I appreciate the effort you put into making an enormously complex and technical trick understandable for people (like me) without a strong programming background

  • @harvtronix
    @harvtronix 4 ปีที่แล้ว +9

    First off, great video! Loved your ACE explanation. I gotta go educate myself some more by watching the run, but if the runner has to use rubber bands or clamps or whatever on a second controller, then to me that is encroaching on a "tool assisted speed run". Software isn't the only tool that can assist a runner.

    • @MrCheeze
      @MrCheeze 4 ปีที่แล้ว +6

      It's a two player speedrun. Remember to credit Staples in your leaderboard submissions!

    • @xxka0tikkxx
      @xxka0tikkxx 4 ปีที่แล้ว +2

      That's kind of a reach to be honest. Using that logic all speed runs would be "Tool Assisted" due to using a controller. For WiiVC and Gamecube versions, ESS adapters to simulate the same deadzone as N64 are used. So to you those would also be Tool Assisted, no?

    • @harvtronix
      @harvtronix 4 ปีที่แล้ว

      ​@@xxka0tikkxx I mean I'm not qualified to say how Zelda speed running should or should not be judged. I also think this is maybe more relevant to more restrictive categories in general (any% is pretty much no holds barred). But that said, yes, I'd consider what you said as "tool assisted" because of the ESS adapter. To me, it's not an OEM-provided console or peripheral, so it's not as "pure" of a run. But again, maybe the category rules leave some room for interpretation there.
      I'll pose a question to you though: Let's say two runners get the *exact* same time for this run (like frame-exact). Runner A uses rubber bands on the second controller and Runner B uses his/her feet to hold the buttons. In your opinion, who should have the record? (A/B/Both, no wrong answers here)

    • @xxka0tikkxx
      @xxka0tikkxx 4 ปีที่แล้ว +1

      @@harvtronix Both, because the route/trick calls for those buttons to be pressed on a separate controller and while that is a requirement its what is done on Controller 1 in the setup and execution that really matters. If another runner got the same record yet used save states, frame advance etc then that would be took assisted. Or say they used some kind of controller that could be programmed to do the set up on Controller 1 perfectly everytime then I'd say TAS. I can kind of see where you are coming from but, in terms of TAS as defined in the community this is nowhere close.

  • @imabrickfromspain
    @imabrickfromspain 4 ปีที่แล้ว

    Awesome video - super interesting!

  • @DaddyDizz716
    @DaddyDizz716 2 ปีที่แล้ว

    Thank you for the actual in depth explanation on this.
    Programmer here, it was nice to see
    So ace is just manipulating tricks coders do to save space for more memory…. Are there newer games that still have this?
    I could see this going away as technology gets better and we don’t have to do these little tricks to save tiny amounts of space.

  • @shwah5112
    @shwah5112 3 ปีที่แล้ว

    I have no idea what I just watched but I enjoyed it

  • @jrisner6535
    @jrisner6535 4 ปีที่แล้ว

    I'm glad someone explained! 🤯

  • @sivos8534
    @sivos8534 4 ปีที่แล้ว

    Great video (albeit cant say I fully understood everything!). What still baffles me though is how on earth all this was figured out!

    • @riftvallance2087
      @riftvallance2087 3 ปีที่แล้ว

      Someone must have found a way to pull up a developer mode to watch the code being written and executed

  • @dougiejones5719
    @dougiejones5719 4 ปีที่แล้ว

    very educational, thank you!

  • @lukazgarza4075
    @lukazgarza4075 4 ปีที่แล้ว

    OMG can't believe that somebody actually explained this thx u

  • @heaskeladden2711
    @heaskeladden2711 ปีที่แล้ว

    awesome explanation

  • @allyspeedruns
    @allyspeedruns 4 ปีที่แล้ว +3

    i guess you can say this trick...
    Rocks!

  • @hansklaus6860
    @hansklaus6860 3 ปีที่แล้ว

    I love the way he tries to explain it for people who don't know code.

    • @hansklaus6860
      @hansklaus6860 3 ปีที่แล้ว

      Although, don't you have to also manipulate which location in memory gets edited like you explained in your SRM video? Or does it just coincidentally work out like this?

  • @CanoTheVolcano
    @CanoTheVolcano 4 ปีที่แล้ว +48

    5:46 why is the treasure in northern canada

    • @Glitches0and0stuff
      @Glitches0and0stuff  4 ปีที่แล้ว +19

      Was waiting for somebody to realize this lol

    • @bryceschug486
      @bryceschug486 4 ปีที่แล้ว +13

      Because northern Canada was the real treasure all along. (Seriously, check out some pictures. It's gorgeous.)

    • @hugh2hoob668
      @hugh2hoob668 4 ปีที่แล้ว

      Like The Yukon?

    • @hugh2hoob668
      @hugh2hoob668 4 ปีที่แล้ว

      Left side looks like a Doomer face lol

    • @Retroist2024
      @Retroist2024 4 ปีที่แล้ว

      diamond

  • @hewhoamareismyself
    @hewhoamareismyself 4 ปีที่แล้ว

    So like I appreciate the use of the Shop theme when explaining your analogy but if it had been the SM64 file select it would have been legendary.

  • @DavrK
    @DavrK 4 ปีที่แล้ว

    This video is giving me pannenkoek vibes. I love it

  • @Valientlink
    @Valientlink 4 ปีที่แล้ว +1

    Wonderful video

  • @Chrisuan
    @Chrisuan 4 ปีที่แล้ว

    Good explanation well done

  • @ratzinstagib
    @ratzinstagib 4 ปีที่แล้ว

    nicely done!

  • @Zocki1909
    @Zocki1909 4 ปีที่แล้ว

    I like how this video alone is longer than the current wr of OoT

  • @GSPV33
    @GSPV33 4 ปีที่แล้ว

    This is awesome.

  • @spectrelex3051
    @spectrelex3051 4 ปีที่แล้ว +1

    so since is kinda like code insertion, could you do the thing that some people have done in Super Mario World and write custom code/ a custom game if you line everything up correctly?

  • @evanwerner5811
    @evanwerner5811 4 ปีที่แล้ว

    I’m dumb and I was able to understand this, thanks man 😁

  • @gerg905
    @gerg905 4 ปีที่แล้ว +17

    Wow. I still remember back in high school when cosmos was getting his 18 minute runs and thinking that was insane

    • @shadowestley
      @shadowestley 4 ปีที่แล้ว +1

      I remember watching that 18:10 run live and OoT any% was "dead" lol little did we all know

    • @Rocker21344
      @Rocker21344 4 ปีที่แล้ว +2

      Nobody would beat an 18:10 using his same strats from back then I'd think. The run was incredibly well executed and is kinda lost to time with all the new discoveries. Feelsbadman

    • @SnipinG1337
      @SnipinG1337 4 ปีที่แล้ว +1

      @@Rocker21344 it was beaten by 4 sec by Jodenstone using the same strats a few months later.

    • @laurenmarzian874
      @laurenmarzian874 4 ปีที่แล้ว

      cosmo goes by the screen name narcissa now and is currently the 2nd place holder of this record with the new run.

    • @PopADoseYo
      @PopADoseYo 4 ปีที่แล้ว

      I remember when he said this trick would eventually happen and make Any% useless.
      No one wants a shitty credit warp for OOT.

  • @Patralgan
    @Patralgan 4 ปีที่แล้ว +5

    In the future the game can be beaten within seconds in Link's house by pressing a certain button combination

  • @Tosmasta00
    @Tosmasta00 4 ปีที่แล้ว +2

    Next we have Pannen talk about PU's and what not in OoT.

  • @sd3776
    @sd3776 4 ปีที่แล้ว +1

    this created a new timeline branch

  • @MadaoJoestar
    @MadaoJoestar 4 ปีที่แล้ว +1

    the Treasure Hunter is just Wind Waker Link looking for the Triforce shards.

  • @on_certainty
    @on_certainty 4 ปีที่แล้ว +5

    this is beautiful
    ~ zfg sent me :) ~

  • @Fiercelinkmaster76
    @Fiercelinkmaster76 4 ปีที่แล้ว

    Thanks for explaining all this! Great vid.

  • @YashichiDSF
    @YashichiDSF 4 ปีที่แล้ว +2

    dope vid

  • @acitizengrace
    @acitizengrace 3 ปีที่แล้ว

    Came her from Karl Jobst, thanks for the explanation!