Exploring Glitch Level Pointers In Super Mario Bros.

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 พ.ย. 2024

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

  • @RGMechEx
    @RGMechEx  2 ปีที่แล้ว +467

    The next video in the series will be exploring the really glitchy levels, but if you'd like to take a looksie yourself, I've made a page that has maps of all 128 levels, which includes all of the glitch levels and all of the Frankenstein levels! You can find it here: rgmechex.com/tech/smb1levels/

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

      Thx

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

      "2 days ago"
      Ok.
      And yes I do know how it was 2 days ago.

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

      @pyrodiac this comment is gonna be so confusing in a week lol

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

      Are you gonna go in depth about world -1?

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

      I'm not sure if it was intentional, but I REALLY like how you managed to get the graphics at 0:33 to be a perfect pixel for pixel recreation when watching in 4k on a 1080p screen, everything just looks so sharp and NICE, IDK how else to describe it, it is a perfect 1x integer scale of the in-game graphics. The only downside is that at 1:45 when the levels shift around, they loose that crispness, I assume it would look just as sharp on a 4k screen, the levels are probably just half a pixel off on a 1080p screen, but besides that really nice work!

  • @Bismuth9
    @Bismuth9 2 ปีที่แล้ว +1691

    You lost me around the middle of the video, not because the information was too complex, but because I was distracted by how clean everything looks. I kept wondering how crazy your After Effects compositions must look like and how much work you put into it and losing track of what you were actually talking about.

    • @GlitchHuntingGamer
      @GlitchHuntingGamer 2 ปีที่แล้ว +118

      It must be absolutely overwhelming.
      Just imagine how hot that room must get when rendering.

    • @OriginalPineapplesFoster
      @OriginalPineapplesFoster 2 ปีที่แล้ว +56

      This is really hilarious. Surely out of all the people watching, you're the last one who'd get lost because of the complexity of the information! 😝🍍

    • @retrogamestudios6688
      @retrogamestudios6688 2 ปีที่แล้ว +17

      Your just using your slide ruler wrong

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

      Love your content, cool to see you watch stuff like this too

    • @IngwiePhoenix_nb
      @IngwiePhoenix_nb 2 ปีที่แล้ว +15

      Says the guy that animates entire PUs. ;)
      Still, wholeheartedly agree! Dude's a madlad.

  • @aliengenie8896
    @aliengenie8896 2 ปีที่แล้ว +427

    There have been *countless* videos about the "minus world" on TH-cam and I have never found one that goes more in depth than "It's actually world 36-1, and it loads invalid data". This is the first time to my knowledge that somebody has actually stepped into the process of *why* a particular world number gives you a certain result.

    • @brighthades5968
      @brighthades5968 2 ปีที่แล้ว +30

      it's 36-1

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

      ID 36 in smb1 corresponds to a blank tile so it's blank-1/-1/36-1

    • @MUHAMMADUSMAN-qu2mh
      @MUHAMMADUSMAN-qu2mh ปีที่แล้ว +4

      ​@@thegamingchannel7110 lol that's what he said, after 34 it goes blank. It's actually so good to feel things making sense with my stupid trading school brain

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

      @@MUHAMMADUSMAN-qu2mh oh ok I'm only partially familiar with sprite data

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

      36-1 ends up landing on a level ID of 01, which would just produce an identical layout to 2-2/7-2.

  • @dylangtech
    @dylangtech 2 ปีที่แล้ว +606

    What’s bittersweet about glitches like this is that they are next to impossible on modern systems due to memory protection. Amazing for cybersecurity, but terrible for glitches. Everything will just crash or boot you if you corrupted or tampered with a memory address

    • @Charmlie.R
      @Charmlie.R 2 ปีที่แล้ว +88

      Yea you have to be very very careful with memory editing, and even then most of the time you can't change things at this level. The programs are just too complex, you'd need to change tons of things at the same time to prevent things from disconnecting and just breaking down..
      Cheat Engine is a great tool for playing with memory editing on modern programs, but also kinda highlights how easy it is to brick stuff, and how hard it is to do things like reading graphics data as game logic or something.

    • @Xnoob545
      @Xnoob545 2 ปีที่แล้ว +37

      @@Charmlie.R and might be malicious
      The cheat engine website has been hacked for a while and a lot of the newer versions are now malicious
      The older legit versions archived pre-hack aren't that great either because the installer might install other unwanted software if you just click the next button and not read what it's saying

    • @notalostnumber8660
      @notalostnumber8660 2 ปีที่แล้ว +45

      @@Xnoob545 ;
      That's why I don't usually use the default installers for some software.
      Cheat Engine is free open source software, meaning that (if you really wanted), you can build it yourself from source.
      This allows you to bypass simple AV detection, and to know for sure you aren't installing a hacked version.

    • @Dwedit
      @Dwedit 2 ปีที่แล้ว +40

      Nowadays, you have the infamous glitch for Elden Ring where you can change your map number and coordinates at separate times, making you warp to areas of the map you are not supposed to be in.

    • @dylangtech
      @dylangtech 2 ปีที่แล้ว +15

      @@Dwedit Now that is pretty awesome

  • @Kosmicd12
    @Kosmicd12 2 ปีที่แล้ว +216

    Thanks for these, learning a lot about the game!

  • @koopakape
    @koopakape 2 ปีที่แล้ว +47

    I think the craziest thing in this vid is realizing, after being intimately familiar with this game for decades, that there really are only two full underground and water levels each in the entire game's 32 levels

  • @Jdtendo
    @Jdtendo 2 ปีที่แล้ว +114

    I worked out World -1 (actually 36-1 since 36 corresponds to a blank tile).
    First, get the 36th byte in the start-of-world table (it overflows into the level table) which is $33 (51 in decimal).
    Then, get the byte of index #51 of the level table (it overflows into the sprite-data-pointer table) which is $01 (00 00001 in binary).
    This corresponds to water (00) level #1, which is used by W2-2 and W7-2.

    • @YunxiaoChu
      @YunxiaoChu 6 หลายเดือนก่อน +1

      Huh

  • @ionic7777
    @ionic7777 2 ปีที่แล้ว +139

    7:00 I personally like the way this level looks, a water castle seems like a really cool concept for a earlier world. Too bad it isn’t in the actual Mario games

    • @nickwallette6201
      @nickwallette6201 2 ปีที่แล้ว +13

      Nah, man. With Bowser in there breathing fire, it would be warm and moist. Just imagine the mold...

    • @ionic7777
      @ionic7777 2 ปีที่แล้ว +19

      @@nickwallette6201 maybe have a different boss, I’m sure Mario wouldn’t fall for bowsers disguise 7 times in a row.
      A giant squid or a large fish could work

    • @JamesP7
      @JamesP7 2 ปีที่แล้ว +14

      @@ionic7777 Well, there is a water castle in New Super Mario Bros, where the boss is a big fish you have to jump on.

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

      This is no ordinary water castle. It's an underground water castle.

  • @GTAce99
    @GTAce99 2 ปีที่แล้ว +90

    I've been interested in this game's glitched levels for as long as I can remember and it's nice to finally get an in-depth explanation into exactly why they look the way they do.

  • @ronichoudhury
    @ronichoudhury 2 ปีที่แล้ว +41

    I am REALLY EXCITED to learn about SMB1's compressed level format. It's one of the few "obvious" topics I haven't yet seen covered by the TH-cam SMB faculty 🎓

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

      Haven't seen the format yet but I'm guessing it uses predefined "columns" of metatiles and is just a sequence of numbers that represent those columns.

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

      @@williamdrum9899 werewerewe

  • @ozziegerff
    @ozziegerff 2 ปีที่แล้ว +160

    Minus world explained like never before.

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

      more like space world

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

      World 36*

    • @moosemaimer
      @moosemaimer 2 ปีที่แล้ว +5

      We've gone past negative numbers into imaginary worlds
      Level 3 - 2i/5

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

      @@moosemaimer NaN- 0.50000001

    • @speedymatt1236
      @speedymatt1236 9 หลายเดือนก่อน

      A traveler’s guide to the Underwhere!

  • @JorWat25
    @JorWat25 2 ปีที่แล้ว +45

    You know what, I've seen these glitched levels many times before. I mean, the minus world has probably been known about for decades. But not once have I heard anyone attempt to explain why the levels look like what they do. So thanks for finally explaining it!

  • @GDColon
    @GDColon 2 ปีที่แล้ว +154

    Incredible explanation, you took a really complicated subject and dug extremely deep while somehow making it super easy for casual viewers to follow along. Absolutely love your videos, keep up the amazing work

    • @LeKukie
      @LeKukie 2 ปีที่แล้ว +8

      Holy shit I did not expect to see u here

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

      Omg its the subzero coin guy in mario video !!!1!!

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

      Hi

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

      @@JJschannel255 ?

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

      @@theopoldthegamer4284 @JJ & Aaron McCurdy’s Channel? ?

  • @LeftClickShift
    @LeftClickShift 2 ปีที่แล้ว +27

    Retro glitches are so amusing to me because of how literal assembly code is. Modern games will lock up, or crash if they are given something they don't expect, or will simply refuse to do anything. Whereas retro games will quite happily try to load sound effects as level data, or treat character x and y coordinates as look up addresses.

    • @williamdrum9899
      @williamdrum9899 2 ปีที่แล้ว +11

      This is something I love abiut old games, and a clever programmer can abuse it for "random" graphics, e.g. dumping game code into VRAM for TV static

    • @user2C47
      @user2C47 2 ปีที่แล้ว +10

      Also, modern computers will throw a fit if you try to tamper with memory or execute data.

    • @martinamaggio6976
      @martinamaggio6976 8 หลายเดือนก่อน +3

      Heck, the cinnabar missigno glitch or Zzazz in pokemon is a prime example of it, the game refuses to crash and will do anything to prevent it (including traumatizing a random kid that just wanted to try out the cool trick his friend showed him)

  • @thecunninlynguist
    @thecunninlynguist 2 ปีที่แล้ว +54

    This always fascinates me. Some other retro channels I follow touched on this, but not this deep. Looking forward to the next session with the crazy glitchy levels

  • @kri249
    @kri249 2 ปีที่แล้ว +21

    Your visual representation of this topic is astounding. It's fundamental when teaching a lay person complicated and abstract concepts.
    In saying that your detective work in understanding the guts of the code is equally brilliant.
    And then there's your calm easy going voice over.
    Over all this is a great channel you got here. I can't wait for the next entry.

  • @VinsCool
    @VinsCool 2 ปีที่แล้ว +17

    That's some incredible spaghetti indexing, I love it.
    I can't help myself but working on multiple programming projects at once knowing how much they make use of a lot of pointers and data that needs to be efficiently loaded when needed, I want to cry a bit looking at your explanations, so much stuff scattered around, while it all could have been really nicely and cleanly indexed, with a lot of redundancy avoided at the same time, aaaaaargh! XD
    I really wonder just how much could be cleaned up, to free up memory to insert more valid levels without having to expand the ROM size.

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

      And it isn't like it was required for performance, if anything it would either make it worse or do almost nothing.

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

      Yep pretty much lol
      It just looks like they went with whatever they had and pushed it to production, because it was good enough to their liking, I suppose.

  • @Mezgrman
    @Mezgrman 2 ปีที่แล้ว +15

    So basically the level data is accessed through 4 levels of indirection:
    - The main world table with 8 entries
    - The level table
    - The world type index table + offset
    - The sprite/tile data pointer high/low byte table
    - The actual level data
    I love this :D

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

      Yo dawg, I heard you like pointers …

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

      There are also three different variables that keep track of what level you are on. One is the world number, one is the "displayed" level number (which is for display only, increases by 1 when you beat levels), and the third is the "actual" level number (increases by 1 when you finish a level OR watch the pipe cutscene)

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

    The attention to detail in your videos is unmatched. I get stressed just thinking about how much time you spend making screenshots/recordings for each segment. Such a treat to sit back and watch.

  • @l-l
    @l-l 2 ปีที่แล้ว +9

    By far the best explanation of this I’ve seen yet. It totally clicked thanks to the visuals.

  • @AM_-wg1hj
    @AM_-wg1hj 2 ปีที่แล้ว +7

    The video that everyone never asked for but always wanted since they knew about glitched worlds

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

      That's so true! I was never thinking about there being a video like this, but now I know *almost* everything about glitched worlds! There are still some unknowns, though, which is why I'm very excited for part 3.

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

    Nice to finally see a video detailing the process of why the level pointers load the levels the way they do.
    Honestly it's a clever way of doing it. Especially since you could potentially save a ton of space doing this while having "remixed" levels.
    Reminds me of the video detailing about the minus world and how there's a broken 'scroll stop' object that was actually in place to prevent Minus World from appearing! It's part of the reason why sometimes when you jump towards the pipe at the end of 1-2, right before you touch the ground the camera would sometimes "hitch" or stop. That's the scroll stop in effect 1-2. Just some code erroneously removes it when it's not suppose to once mario's Y position reaches an even number.

  • @theMoporter
    @theMoporter 2 ปีที่แล้ว +5

    Your videos are a bit over my head but they're so clear and easy to understand when you explain it. Your voice sounds lovely this episode!

  • @XT-8147
    @XT-8147 2 ปีที่แล้ว +5

    Thanks for highlighting and explaining zero-based indexing so much in this video, it tends to confuse a lot of people who aren't familiar with programming. I'm already very used to zero-based indexing, but it's always someone's first time encountering it, so every bit helps.
    Looking forward to the third video in this series!

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

      I know! I've been waiting for a long time to see part 3, but it's taking a while. I hope he uploads it soon though.

  • @barkbuck5521
    @barkbuck5521 2 ปีที่แล้ว +5

    Been looking forward to this video. You make these topics so easy to follow, and it's much easier to appreciate what goes into how older hardware works

  • @GlitchHuntingGamer
    @GlitchHuntingGamer 2 ปีที่แล้ว +8

    I have been looking for this information after a Kosmic vid about glitch worlds so I could run some experiments involving a rubber band holding right, some cheat codes and lots of time.
    I love how you break down all of the complexities visually and clearly.
    Thank you for doing these.
    Any idea what causes flag levels with small castles to have some repeating glitch patterns in the background after running well last the flag?

  • @smokeydops
    @smokeydops 10 หลายเดือนก่อน +1

    I know this game was clearly written in assembly, but the level tile table and level sprite table are much easier explained as four arrays each which just so happens to be next to each other in memory (probably because they would be declared next to each other). The offsets are the addresses of each array from where they put that particular heap. Always enjoy :)

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

    A masterpiece as always! My hex-fu is still bad and it takes me a hot minute to go from decimal to hex but that said, I still absolutely enjoy those videos so much.
    Great visual explanation of the level ID resolution! Flows really well.

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

    I've been trying to catalog these for a couple years, now I understand why there's a bunch that straight up don't boot and crash in a black screen

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

      Anti-black screen code: SZTOLS

  • @Nyikki
    @Nyikki 2 ปีที่แล้ว +11

    great video! i love the visualization for the levels - very nice

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

    You explain this so well. The visuals definitely help us understand exactly what is going on.

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

    I lost count of how many layers of overflow we're in right now. Awesome video!

  • @Snow.-1000
    @Snow.-1000 3 หลายเดือนก่อน +2

    W#6, Looks like the Minus World ( -1 ) ‘s first level on the famicom. W#9, in the famicom version of smb, Looks like the second minus world level, ( -2 ). And U#4 looks like the minus world’s final level on the famicom, ( -3 ). Edit: world 9, A, B, C, and D are in the lost Levels, and the minus world is different.

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

    I adore analyses of Super Mario Bros., all of the strange incongruities and shortcuts give me the impression of coders who still weren't entirely comfortable with their hardware.

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

    nice video! would also be cool to explain why entering pipes send you to the beginning of the level instead of a coin cash or underwater stage, and what determines what the other sublevels in the world are

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

    Your visualizations are great, props for making them that good!

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

    Admittedly got a liiiittle lost, but I love how you explain it carefully and (ironically) bit by bit so even when you DO get a little lost, you can just rewind back a few seconds to get the gist again. Nice videos!

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

    Great video. And I always love that you have subtitles because English is not my first language.

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

    Very well done video. I had also explored the game's code to see how the glitch levels worked, but I had missed the part about the enemy data not lining up with the map tile data.

  • @piglava
    @piglava 6 หลายเดือนก่อน

    Got into retro stuff from Bismuth and Summoning Salt, and then I found your channel. Your explanations are so clean and thorough, and the animations are SUPER helpful :). I really love your videos :)

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

    This was a fascinating explanation! Two questions though...
    We didn't hear music in the video. What determines the music played? Is that just one-to-one with the level type?
    How are the cloud bonus levels handled? I was thinking they'd be a whole other level type, but I'm guessing not, given that they don't seem to come up in any of the glitched levels.

  • @HamZa-mm2im
    @HamZa-mm2im 9 หลายเดือนก่อน

    This is pure genius from someone coming from an embedded systems background.
    Thank you very much. Clean and simple.

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

    Haven't even watched it yet and I bet this will be a better explanation of pointers than most CS courses

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

    I've been curious about this for over 20 years.... I thought it would just be one of those mysteries that never gets solved.

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

    When I was younger I always loved using cheats to explore these glitch levels and had always wondered how they work. Thanks for the video!

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

    This is the one I've been waiting for.
    Thank you for this!
    prerequisite knowledge required though. I'm gonna have to watch it a couple of times.

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

    Hey Awesome! This explains an issue that I ran into some time ago creating a visualization. Really appreciate your slick visuals and clear explanations! :-)

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

    I am very hyped about the final video

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

    Great explanation, looking forward to part 3!

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

    Awesome stuff. Well explained, and super clean visuals!

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

    I'm so happy you are posting videos again

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

    Trying to figure out the way this worked as a jr. high kid drove me to learn binary and hexadecimal and partially reverse engineer how Game Genie codes worked, which later resulted in my interest/career in game programming 😁 I never did figure out anything about the pattern of the content of levels the codes took me to though and now I see why, as it was so complicated internally. Great to have some closure on that finally.

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

    Thank you for explaining this mystery from my childhood!
    A lot of the glitch worlds were available on a 9999 in 1 cart I had on my Famiclone

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

    I love how much personality retro games like these have. Are they well programmed? Certainly not by today's standards, there's a lot of archaic data structures, weird routines that overcomplicate things more than anything, and obviously, quite a few glitches to exploit. But every game's got its own quirks, it makes them feel unique down to the ones and zeros. You're never gonna get a modern game that sorts its level structure, level order and level visual data in three individual ways while also having just one pointer lead to all three.

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

    0:49 - “There’s a flag in the level that can convert a level into a harder version of itself” - what does that generally entail? And can it be applied to every level, not just those for which both easy and hard versions are used?

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

      Usually it adds bullet bills and smaller platforms

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

      More info will be covered about that in the next video, but essentially every sprite and enemy can be flagged to only appear in the 'hard' version of the level, and will be absent from the 'easy' version. So in levels that weren't intended to have a hard version, not much if anything will change. All moving platforms become shorter though. In practice, all levels that are 5-3 or later are treated as their 'hard' versions.

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

      @@RGMechEx You said in somebody else's comment than the ending of 1-2 is the same as the ending of 1-1. Does that mean that the ending of 1-2 is the "hard mode" of 1-1, since 1-2 has a piranha plant while 1-1 doesn't?

  • @DrBagPhD
    @DrBagPhD 2 ปีที่แล้ว +8

    This channel has such excellent presentation for absolutely fascinating content, love it

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

    I love your videos so much. Thank you for making these!

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

    I've always wondered if you could catch the crashes due to invalid sprite IDs by hacking/patching the ROM in such a way that there are additional, potentially custom, sprites for all possible sprite IDs. This way you could visually explore the nonexistent sprites without having the original game crash on you.

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

    Your channel has always been very informative and clean. The pokémon audio and Racing the beam are still my favourites tho

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

    Looking forward to seeing all the different glitch levels!

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

    ngl, was hyped for this video. your content is insanely interesting!

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

    very enjoyable video, especially cuz you repeated the explanation of how the level index is read in binary and how it determines the sprite and layout data, cuz im a bit slow sometimes; and i know i could just repeat the parts i didnt get at first (and i actually did on the previous elements), but im not always in the mood for stopping and having a think. thanks for making these :D

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

    Love this video, series, and channel! Looking forward to the next one :)

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

    Super looking forward to that final video!

  • @Vinnie_728
    @Vinnie_728 7 หลายเดือนก่อน

    nice sounds at 4:11 good work

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

    This is fascinating...I have known for a very long time that levels beyond what we got existed in Super Mario Brothers. Ever since I learned how to go to minus world (1989). I have always wanted to see these levels but I thought they would remain mostly out of reach. Your work here gives me hope that we'll not only gain access to these levels but perhaps we will see some from other games as well...like Metroid.
    What I would like to see is some type of automatic randomizer or random number generator that starts as soon as the player begins. Give the player the choice to include glitched levels as well and let everyone see all that this game has to offer. I wish I knew how to do it myself but I don't. As much as I understand the video I would be lost trying to implement something like that. However, I would be willing to help pay for something like that. Just food for thought.
    we need some type of randomizer or random number generator that mixes all the levels up.

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

    I love those little counters in the HUD.
    (1-1, 1-2...8-4)

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

    I want to see the whole things behind -1, and also -1, -2, and -3 on the Famicom!

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

    Great quality as always dude, loved this video!

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

    Thanks for making this video. Ever since I found out about these glitch worlds in the rumors of the internet, I wondered what exactly they were and how they work. It's very interesting to not only know but visualize how it happens. Is this why the minus world is different on the FDS version? I'm looking forward to the next part.

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

    You always do amazing job explaining everything. I love your videos!

  • @Zorgot.
    @Zorgot. ปีที่แล้ว +1

    idk why i'm so surprised that there's only two underground levels... i would've thought there were a lot more lmao

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

    Levels from _Super Mario Bros._ on the Nintendo Entertainment System are surprisingly more complex than meets the eye.

  • @possible-realities
    @possible-realities 2 ปีที่แล้ว +1

    Some overworld levels use different palettes from the default, where is that setting taken from?
    Awesome video btw, been wondering about this for a long time!

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

      The level's setting (snow, night, etc.) is part of the tile data. Details will be in the next video!

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

      @@RGMechEx I cannot wait!

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

    "to awnser this, we have to look at-"
    "PARALLEL UNIVERSES"

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

    This is so cool! I can't wait for the next one!

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

    This is really cool. I figured they’d be sorted like that! Clever!

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

    I always wonder with these kinds of glitches, if the developers themselves back in the day ever played any of them, and what they thought!

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

    1:48
    Is it just me or do you see something sus about the overworld levels. One of them might be an imposter.

  • @JJ_TheGreat
    @JJ_TheGreat 10 หลายเดือนก่อน +1

    0:28 Yeah, why is the Minus World a looping version of level 2-2/7-2 on the NES version - but different on a different port (like the Japanese version and also the Sega Genesis version)? Thanks!

    • @angeryroshea2254
      @angeryroshea2254 3 หลายเดือนก่อน

      Yeah the genesis port was always so weird in some really specific areas, makes me wonder what was changed fully

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

    thank you for the delightful video!!

  • @samlay9588
    @samlay9588 6 หลายเดือนก่อน

    4:30 Probably because the level designers and programmers weren't talking 100% of the time, so the undergrounds were "made" first and filled with sprites last. Or, it could be an intentional desync to slow down bootlegging. I mean, we all know how hands-on Nintendo is with their IPs, who says that attitude wasn't there from project 1?

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

    3:08. "to answer that, we need to talk about parallel universes" 😂😂

  • @dustinpriest1829
    @dustinpriest1829 2 ปีที่แล้ว +12

    Y o u a r e s o r e l y m i s t a k e n

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

    This is seriously amazing, cant wait for the 3rd video!
    Just curious, is there any way to actually play these extra levels without buying an NES, and the games needed?

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

    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS!!!!!!!!!!!!!!!!!!!!!!!!!!
    I've been waiting for this, like, forever.

  • @Mina-Ashido97
    @Mina-Ashido97 2 ปีที่แล้ว

    Babe wake up new Retro Game Mechanics Explained video!

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

    Shoutout to level $50 (underground level #16) for being the best level of all the glitched levels!

  • @pizza-pi
    @pizza-pi 2 ปีที่แล้ว +5

    It didn't make a whole lot of sense (to me) until the whole thing is tied together - then it becomes kinda genius.

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

    Really coherent explanation.

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

    So that's HOW SMB1 NES generates 246 more worlds than the 8 already known!
    PS.
    The Minus or Negative World is generated when the Warp Zone thinks we are in World 4-2 when we clip thru the wall in the end of World 1-2, so being the warps
    4-3-2 (Warp Code 4)
    36(blank)-5-36(blank) (Wp. C. 5)
    8-7-6 (Warp Code 6)
    for worlds 1-2, 4-2 past the exit pipe over the ceiling and 4-2 climbing the beanstalk respectively, the game thinks we'll activate the Code 5 instead of 4, and having the blank space an ID of 36
    0-9 ID 0-9
    A-Z ID 10-35
    Blank space ID 36
    sum other more signs ID 37-42
    Tiles used in-game (no palettes) ID 43-255
    the game uses the code shown in the video to warp Mario to world 36-1 (or [blank space]-1)

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

    Question: why is the level for 1-2 $C0 and not $40?

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

    I wonder if the reason behind the different numbering for sprite vs tile data was originally so they could purposefully access "invalid" combinations to put them in the game as new levels without having to actually store any more information, but they never ended up using that idea for whatever reason

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

    This explanation is so good!

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

    so you take an offset to a pointer that contains an offset to another pointer thats an offset to another pointer that depends on the second offset right shifted and contains two offsets to two pointers that contain four bytes that form two pointers that point to the level and sprite data

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

    Since the level number portion of the level ID is only a 5-bit value, shouldn't it be possible to access additional glitched levels by changing the tile data pointer offset such that the sum of the offset and the level number are greater than 3B? (0x1F (max value for 5-bit int) + 0x1C, 59 in base 10)

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

      Base 10 doesn’t work, you have to write “base ten” or “decimal” because 10 is how all bases reffer to themselves.

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

    I stumbled upon the first part of the video and it is so well explained! You got me hooked, sir.
    If you reverse engineer this video it only shows how optimized (and hard-coded) the game is, packing every exact byte and address into the rom.
    I had a Mega Drive as an 8 year old. Perhaps you can explain the sonic 1 warp glitch? 🦔

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

    We have learned that tables of contents make awesome unused content should the players get a way to reach values the devs never intended.

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

    last video I felt great being able to follow along with everything so well, this video I am reminded how stupid I really am

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

    "The underground bonus levels"
    *MANY*