The Broken Water Level of Teenage Mutant Ninja Turtles (NES) - Behind the Code

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 มิ.ย. 2024
  • What collision detection? Code investigation into the velocity and collision logic in the water level as well as some hitbox mistakes.
    If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - / displacedgamers
    Twitter: / displacedgamers
    Facebook: / displacedgamers
    Instagram: / displacedgamers
    Music by:
    / hariboosx
    / @wolfandraven
    [0:00] Opening
    [0:49] Level setup
    [1:10] Basic Object Collision
    [2:40] Bubbles and Current
    [4:33] Code Walk: Controller Input and Velocity Application
    [10:57] Code Change Proposal
    [12:41] Environmental Collision Detection
    [17:39] Conclusion and Outro
    #TMNT #Turtles #NES
  • เกม

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

  • @DisplacedGamers
    @DisplacedGamers  ปีที่แล้ว +195

    Hope you enjoyed this release! The code of this one feels... rather rushed vs. other Konami entries.
    If I may - do any of you use channel memberships on other YT channels you watch? I do not currently have it enabled for Displaced Gamers, but I may enable it.

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

      I sure did!

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

      I don't subscribe to any of the channels I watch, so not me, but I'm sure others would. If you're wondering why, it's because I like to keep as low of a profile as I can while still being present. I watch, I like, I comment, but I do not subscribe. That's also why I bookmark the video page of those I watch, so most videos I see I'm days or more late.

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

      @@anon_y_mousse You can hide your subscriptions. I am subscribed to several thousand channels - can you see which?
      Of course i'm not saying what you should do, everyone has their own level of privacy measures they're comfy with.

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

      @@SianaGearz I'll look into it, didn't even know that was a feature they offered.

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

      I didn't even know that channel memberships was a thing.

  • @SergeyLergDev
    @SergeyLergDev ปีที่แล้ว +952

    Programming was harder back then. Without all these debug visualization tools that we have today it was like swimming in a dark. As a turtle. In a seaweed tunnel.

    • @anon_y_mousse
      @anon_y_mousse ปีที่แล้ว +83

      The funny thing is, a lot of newbies now will just print messages to screen to "debug" their code, and as awful as that sounds, it still would've been better than whatever they did when they wrote this game.

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

      I think tracking values on screen is incredibly useful and effective, much faster than using a debugger directly in some situations

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

      No, assembly is easier, less rules. Just if you are half-noob, in high level you will not write anything, while at lower level you will write shitty code. You don't need today's debug visualisation tools to have correct clear code in this specific stage in this game. Simple physics, controls and hit detection. Also you need time, not deadlines.

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

      It often helps to have a "testing grounds" which is basically a sibgle aspect of your game in isolation so you can see what the problem is

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

      @@anon_y_mousse print debugging is a totally viable option today, nothing to be ashamed of.

  • @guaposneeze
    @guaposneeze ปีที่แล้ว +531

    If they just had good tools to visualize their hitboxes as overlays back in the 80's, they could have fixed a lot of those tricky collision bugs pretty quickly, and a generation of children would have been able to grow up happier.

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

      Sadly it's really not possible on the NES itself, unless all your sprites' hitboxes are on an 8 pixel boundary. Emulation has made debugging MASSIVELY easier (if you don't believe me, try making a retro game on an emulator without a competent debugger)

    • @duuqnd
      @duuqnd ปีที่แล้ว +24

      If I didn't have half a million projects already I'd try to make a hitbox visualizer using only period correct hardware. Sounds like it could be an interesting (but tough) challenge.

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

      @@williamdrum9899 I think rendering the game as only boxes, skipping the sprite proper might have been possible.

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

      @@duuqnd that would be awesome man!

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

      But a lot of youtubers in the last ten years less money 😄

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

    The fractional current velocity is such a sinister bug that I'm sure has driven countless people crazy over the years. It's basically random ("I swear there was current... No there's not!"), and also subtle, yet it would definitely have an effect on that notorious seaweed screen. How crazy it is to finally learn what was going on after all these decades!

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

      Exactly, there was no way to memorize your run through the seaweed, something always pulled you. As a kid I thought the seaweed was pulling you.

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

      That level ALWAYS ended my run when I was a kid; even when I finally remembered where the bombs were, I was all over the place and it was ridiculous. Hell I don't think I knew you could switch turtles on that stage back then like you can on the other levels!

  • @justinbremer2281
    @justinbremer2281 ปีที่แล้ว +157

    This explains so many weird things I noticed as a kid. I noticed the spinning thing was safer to go under than over, but I just thought that was because you were going with the flow, and I can remember devoting hours to testing the point where the seaweed actually gets you.
    Turtle life after turtle life after turtle life
    Turtles all the way down

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

      I remember the transition mentioned in this video.
      When I played the game, I realized early that something was funky there, and tried a lot of things to unfunk it. The trick with getting the second electric trap offscreen got found out fairly quick.

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

      😂

  • @KairuHakubi
    @KairuHakubi ปีที่แล้ว +113

    fun fact: water actually is an electrical insulator, just like it's a thermal insulator
    It's just that once anything is dissolved in it (which there always is), that changes hard.

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

      there's no reason why the electricity would run through the turtles in the level tho is there?

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

      ​@@lasskinn474 well when you electrify a large body of water, it dissipates quite rapidly at a distance.. but I don't think it would stay so neatly columnated, that's for sure.

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

      I do know that electricity prefers to travel over the surface of water rather than through it and you're generally safe from even lightning more than one foot underwater, but I don't know how electricity behaves in an underwater environment. I would assume it would prefer to stay attached to the surface it's on and not flow outward through water.

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

    Never in my wildest dreams did I imagine that I'd be watching a video about code and physics flaws in a game I played more than 30yrs ago.
    Well done!

  • @nickfarace9339
    @nickfarace9339 ปีที่แล้ว +171

    Once you got the visual vectors in there, it blew my mind. Holy crap the person who designed that code must have had zero communication with whoever designed that one seaweed screen. That has got to be the ugliest collision issues I think I ever saw in a game.

    • @DisplacedGamers
      @DisplacedGamers  ปีที่แล้ว +79

      There are definitely some head-scratchers in the code. It is possible that one person started it and someone else took over. It just doesn't seem like some of the decisions made would come from the same programmer.

    • @JH-pe3ro
      @JH-pe3ro ปีที่แล้ว +30

      A lot of these issues look like one behavior was hacked over another to checklist a feature. The offset environmental collision, for example, immediately makes sense if you are trying to make, for example, conveyors work with no conscientiousness to any other collision feature(an incredibly common way of approaching exploratory gameplay prototyping). Likewise the mismanagement of current makes sense if we imagine that it was tested with a permanent current and then the checks for no current were added later and the resulting behavior wasn't tested and debugged by someone senior enough to understand the consequences of interleaving the dependencies through the logic like this. I've seen so many games from indie programmers that end up in a similar place where they don't know how to get to the bottom of their collision issues and just trial-and-error things until it seems to work.
      While I haven't tried to do the archeology to verify it, a lot of the game's engine seems to have been cribbed from previous Konami NES titles and roughly adapted and glued together, perhaps by new programmers. This would also account for some of the misunderstandings. While Jackal is the obvious pick for the map view, Bio Miracle Bokutte Upa is the best candidate for the side-scrolling sections - the HUD design, platforming features, and the presence of a swimming stage all hint at it.

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

      @@JH-pe3ro I was gonna say myself, the environmental collision system that TMNT uses makes perfect sense as long as all your game's environmental features block movement (either by pushing the player away or by being instantly lethal on contact). It only gets wonky when your game has terrain that the player can move through but damages them (or affects them in some other way) while they're in contact with it. And that kind of terrain is fairly unusual in NES games.

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

      And that is the reason that level is one of the most infamously despised in all of retro gaming.

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

      @@furiousapplesack ...and is the reason why me, my older sister and her as-of-then boyfriend (he was living with us at the time) couldn't ever beat it and see/play the rest of the video game's levels past it way back in the early 19990's! What is needless to say here, we never bought the video game and only rented it, largely because we couldn't get past that stage/level.

  • @Patashu
    @Patashu ปีที่แล้ว +156

    What an interesting topic for a video! It turns out the reasons why people struggled with this level were both fractally complicated, and as a kid you had no chance of understanding what was going on.

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

      Explains so much of my childhood frustration.
      I remember ONCE making it and just giving up on the game after.

  • @mcfartle9450
    @mcfartle9450 ปีที่แล้ว +36

    This is such a fantastic video, and a revelation. When I was a kid, I always thought this level was intentionally programmed to be cheaply hard, but now i know it’s from programming errors probably due to a multitude of things (time, lack of playtesting, so on)

  • @makeitrein7366
    @makeitrein7366 ปีที่แล้ว +99

    Now you'll need to talk about the jump code in turtles and how overly frustrating it is to get the proper jumps

    • @DisplacedGamers
      @DisplacedGamers  ปีที่แล้ว +74

      I have a rather epic video planned that may lean on TMNT quite a bit, and jumping will likely be part of it.

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

      Lol it's actually really easy once you DO know how the jumping works & that there are 3 potential heights to the jumps. Once you know this & know that you usually just need the short hop to easily clear all of the toughest jumps it becomes a cakewalk.

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

      @@skins4thewin Yeah, that's why nobody has ever talked about the jumping being hard for the last 30 years. Because it's a cakewalk.

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

      @@SirBuzz Yeah that one can be a lil tough specially on an Emulator w input lag. You have to wait til the very last second when you're basically falling off the ledge to jump. It is kind of tough for that part of the game. Even now I sometimes miss the jump, but if I do miss it I always get it on the 2nd try.

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

      @@B3Band cus ppl suck that's why. Its really not that hard.

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

    It's incredible actually seeing the reason why this level felt the way it did. After all these years it makes sense.

  • @JossCard42
    @JossCard42 ปีที่แล้ว +49

    What I love about these videos is that, growing up, I really wanted to know how to "hack" my NES, but this was in the early days of the internet and I was a little kid so finding anything helpful was hard if you weren't already "in the scene". Watching these videos helps me understand how some of my favorite games work without losing me with a bunch of detailed "0x00AF is then switched to Memory Bus A and a call routine is accessed" programming language that means very little to me.

    • @DisplacedGamers
      @DisplacedGamers  ปีที่แล้ว +24

      Thanks, JossCard42. I try to present the technical, behind the scenes stuff while constantly tying it back to the actual gameplay.

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

      It is easy to get lost in the sauce for sure. There's a lot of things you just have to know what they mean, terms like "bit 7", "carry set", etc. And sometimes things aren't very well documented, or were poorly translated from Japanese to English... it becomes a mess.

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

    The water level's got a fairly steep learning curve, but it comes so early in the game and it's quick enough that by the time you've played it 3 or 4 times, you shouldn't have trouble with it. I've often wondered why everyone makes a big deal out of it. I got stuck a lot longer in the next level when I was a kid. I could never figure out where to go.

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

      Because the gamers complaining now are current gamers that didn't grow up on nes hard and are used to these casual games and are same ones that want and easy mode on souls games

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

      Same here, I went back and forth for ages. The water section was fine for me. The worst part for me was my parents making me turn my NES off and loosing my progress, man they never seemed to get it.

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

      The level right before the water level had a platform with a gap in it, but it was right up against the roof, so if you tried to jump over the gap, you would hit the roof, fall down, and have to repeat a chunk of the level. So basically you'd get stuck in a loop with respawning enemies until you figured out that you had to just walk across this gap instead of jumping (or you tried to jump but hit the button too late, I guess. I never knew you were supposed to walk over it until an AVGN video).
      A lot of times me and my brothers would never get to the water level because we'd just loop around that part of the level until we lost all our turtles.
      But then if we did get past it, we'd get punished with this water level, which we never really got a chance to get a lot of experience with.

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

      @@kablamborghini The gap you're describing is in the building you spawn next to in level 3, right after the water level. I think you're remembering it backwards that you'd get past the water level and then die to that. But I do get how that's frustrating. I rarely got past that level as a kid. And I only got past the next and to the technodrome like twice. I never beat the long hallway with the jetpack guys.

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

    I suppose with no easy way to visualise things or draw vectors back then for NES development, a bunch of hitbox bugs slipped into tonnes of releases.
    You're doing gods work

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

      Lol, I assure you that this does absolutely nothing to benefit God.

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

      Yeah you definitely would NOT be able to draw hitboxes like this natively on the NES. The hardware can't really handle it. Unless you limited yourself to a handful of possible hitboxes you'd easily need more sprite graphics than you had room for

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

    I understand most people didn’t make it past this level, but the game genuinely gets harder every level thereafter. 20 years later and I have still never beat Shredder.

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

      Ironically enough, Shredder is the easiest boss in the game. He's the only boss that takes knockback, so you can just stand on the platform at the top of the screen and loop him to death. To be fair though, it's a lot harder if you try to do it legit, and the level leading up to the fight is hellish in any case.

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

      TMNT's dam was Turbo Tunnel before there even was Battletoads. It's like Rare parodied more than just the TMNT characters and general world.

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

      @@CarbonRollerCaco Turbo Tunnel was actually fun, though. It was just way too hard.

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

    I'm no programmer but this is explained so well that I can understand it! Learning the process raises your appreciation for any art form, so I appreciate this video

  • @Corey.Coolidge
    @Corey.Coolidge ปีที่แล้ว +9

    I never had much problem with the water level and thought its difficulty was overhyped. That doesn't mean I didn't think the controls were not clunky, they certainly were. Interesting to see why they were.

  • @nilssonalex92
    @nilssonalex92 ปีที่แล้ว +26

    As a speedrunner of this game, I have to say, interesting stuff. Good video.

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

    I love this series. The production quality is outstanding and the in depth analysis is so interesting.

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

    I worry that, at this point, if a patch was released to 'fix' the issues in this game, it would make it nearly unplayable for me. I'm so used to the mechanics as they currently stand that swimming any other way would have me flying around into obstacles and dying more.

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

      Right? All that work dedicated to adapting to any game's difficulty establishes your instincts and becomes second nature.

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

      All of the changes make the game strictly easier - the hitbox is moved in, and you can actually swim down. So it's really hard to see how it would make it harder.

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

      @@lukesomers2031 Over time I could adjust to it but I'm so used to fighting the current moving into the seaweed tunnel and not being able to actively swim down that I would find some, albeit small, level of difficulty in not flying left into seaweed entering the tunnel and not flying down into seaweed exiting the tunnel.
      Would it break the game for me? Of course not. However I fight well.... in the old style. This new control scheme would cause me enough trouble.

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

    That's incredible!! This explains so much. And I love the code walkthroughs, I'd watch whole videos of that

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

    Everything seems so mysterious untill the code is explained, then its all I see now lol. Cant wait to impress my stream with this logic. Awesome video
    I never found the water level tough. All the kids on my block could pass it before I was old enough for school. I think it never had the reputation untill avgn. After that I think most every other influence just regurgitated avgn info without trying themselves and people latched to it.

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

      That water level definitely had a reputation in my family way before the internet or the AVGN was even a thing. My older cousin couldn't even beat the stage which was when I realized just how ridiculously difficult it really was. To this day, we both say that this game is the reason we hate water levels lol

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

      I agree, the water level was not that hard and I could beat it even as a young child. I was never able to beat the level after it though.

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

      I was maybe 5 or 6 when the game came out and I don't recall any of my siblings having any issues with the water level, I'd always lose a turtle (usually Raphael, since he was my least favorite) but I was able to get through the level with minimal damage as I got older. The water level was my favorite level of the game and it wasn't until the old GameFAQs from the late 90s/early 00s that I learned people weren't able to get past it, then a few years later AVGN turned it into the meme it is today. The level afterwards is where the game ends for me, I could never get any further without using Game Genie and gave up on trying to beat the game even with cheats after my character fell in a fire pit and got locked in a damage loop because of the invincibility cheat code.

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

      I agree it being a thing that the water level was hard is just plain stupid. I found it to be incredibly easy even as a 5 year old when I first played it. It was the next level when you have the Turtle Van that used to get me lost as a young kid.

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

      @@TonyGearSolid Yup! My feelings exactly. And the next level was also where I would get stuck as a kid too because I didn't understand the jumping mechanics & couldn't get thru the sewer area. Would always fall in the water. I understand it now & how you simply need to just tap the jump button & it becomes super easy.

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

    I would def release ips patches for these games, The "Way they should be played" IPS patches, i would even flash dedicated cartridges in my collection for these.
    Once again, great video!

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

    This channel is so fascinating. I love that you trust the audience to figure out what you are talking about. I’m no programmer, but your explanations of the logic and logic bugs in these games make programming concepts much more intuitive-especially for those of us who grew up on these games.

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

    I love these videos about bugs and oddities in NES game code, it’s really cool to examine old classics in a totally new way that we would never have had access to as kids (let alone understand it)! Keep up the great work!

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

    6:45 now I know what gaslighting feels like

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

    I always liked this level! As you said, a bit frustrating at first just due to the difficulty but not too bad once you have an idea what you're doing. I'm the weirdo who generally likes water levels in games lol This one in particular taught baby Tiara a few lessons in how video games are made, not least of which being how hit boxes work (the knowledge that you can often "cheat" damage zones a little bit has served me well in many games, and I definitely attribute that lesson to this particular stage lol) Also, it never occured to me that the current in that big seaweed screen was due to a bug. Once I mastered the water movement and learned the stage layout, quickly navigating that section became the "fun pat" of the level 😂
    Anyway, great video as always! Really enjoyed this one!

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

      I loved swimming as a turtle and never understood how people think it is so difficult. There are only a few obstacles to memorize. I went through this and landing a jet on Top Gun this year, having not played these games for decades, it's fun and challenging but it's not rage inducing.

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

      @@wulver810 For TMNT, it's definitely the added pressure of the time limit that is the x factor in regards to the difficulty of the water stage. You have plenty of time to complete the mission, but not so much that you can screw around figuring out the controls or take your sweet time carefully making your way forward (and god forbid you miss a bomb).
      Landing in Top Gun is really easy! IF you know exactly what you're doing lol Unfortunately, that game is horrible at telling you what to do, and gamefaqs didn't exist in those days, so a lot of people were simply never able to figure it out.
      Personally, I feel both reputations are well-earned, even if their respective challenges are very surmountable given a little practice (and maybe a faq 😂)

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

    This makes me want to see a full fan "remake" that basically rewrites all the code to not be bad.

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

    New video from Displaced Gamers? What a nice day :D

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

    Great stuff as always! This level gave so many of us nightmares! Would love to see a video on the code in Zelda 2 about how the enemy AI reads the player’s controller inputs! ⚔️

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

      Wait until you see how fighting game AI was back then 😂

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

    This will be immensely helpful for anyone who may decide they want to patch this to improve the game. Hopefully they would also change the color of Rocksteady and Shredder to grey, as other hacks have already done. There are probably some other minor tweaks that could be made too, most of them being perhaps hit box related. After all, if the dam level is this bad with hit boxes, then surely there is more hit box weirdness going on in other areas of the game.

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

      Why Shredder should be grey? He is precisely the colors he should be, since this version of the Shredder's costume based on a OG comic book. As can be seen in the cutscene, after Splinter being kidnapped.

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

      The main thing I remember about the US NES release of TMNT was the game breaking bug where you couldn't leap across this one bit of sewer due to a misplaced wall and the game was essentially unbeatable past that point. I think it was covered on this channel. But yeah would be nice to have a patched ROM with all of these bugs fixed just to be able to enjoy that.

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

      @@rmyers99 It was not in any NES releases, but in EU PC port, I think. And later it was fixed with another revision.

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

      @@ShadowSumac I looked into this and it looks like you're right about Shredder. The OG comic was black & white, but the colorized version has him red, as do all of his comic action figures.

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

      @@JMFSpike Technically he appears in his cartoon-like colors in an intro of the game, but in the rest of the game he is modeled after OG comic book for some reason.
      On that note: creators of the game heavily borrowed not only from cartoon, but original comic book and got access to the script of the (than) upcoming movie, so they kind of mixed everything together, which is why there are OG Shredder, Splinter being kidnapped like in a movie and most of the other stuff is taken from the cartoon..

  • @feature-creature
    @feature-creature ปีที่แล้ว

    All your videos are awesome, but they're also just getting better and better. You've really found a terrific balance of making the code accessible while also getting into some real depth with it. Makes it super engaging, appreciate all the hard work!

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

    It was a nice game. I applaud the programmers for trying and succeeding like hell to make a cool fun game.
    I'm sure this game had a quick deadline while trying to add a bunch of cool features like switching turtles, side scroll action, top down action, power ups, making graphics look decent , story, etc.
    This game pissed me off as a kid, but kept me coming back lol....
    The seaweed level never gave me trouble....it was the last level that always got me :/
    Great vid!

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

    Love this episode. I think one of my favorite parts of old code is learning about archaic bugs lost to obscurity. Learning the solutions to a problem I'd never encounter

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

    I played this game for the first time at a friends house, and I noticed that the status bar at the bottom of the screen is very glitchy and seems to disappear every other frame if too much stuff is going on (you can't see this on youtube because of video compression, you have to be playing the game in person.) I imagine it's some IRQ code not meeting its mark somehow. Which is weird because I thought that stuff HAD to happen. This is what I imagine is going on:
    Vblank: reload the NES's scroll registers so that the game world is on screen. Also set an IRQ to happen where we want to draw the status bar.
    Main program: Execute game logic etc
    IRQ: Alter the scroll registers to draw the status bar, and leave them that way until vblank

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

      The mapper this game uses does not have a scanline counter to trigger IRQs, so the game has to use sprite 0 hit, which needs to be actively polled and can be missed

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

      The same happens to Super Mario Bros. Just a sprite zero thing

  • @Athenor
    @Athenor 8 หลายเดือนก่อน

    This video pretty solidly answers why I felt like it was so useful to just let the current pull me through that seaweed area.

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

    I know day 1 patches and known broken releases to fix later are the standard headache now, but it's a little bittersweet to know a few patches would have substantially increased my fun factor and ability to finish these games as a child.

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

    Your code change proposal is how code reviews go when you make 1 minor edit to a 10 year old system. "Since you're here, mind fixing all this other stuff?" Yes Gary, I mind.

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

    The strategy that me and pretty much everyone else used was just to try and play the rest of the level cleanly so that touching the seaweed there wasn't too much of a problem. I always just assumed my swimming was a little off if I brushed it and never realized that a current from another screen could randomly influence it. I'm sure that must be fun for speedrunners. Maybe they would want to inherit a current to move through it faster or, depending on whether a seaweed collusion slows you down and how much, maybe the fastest path actually involves damage boosting.

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

    That misplaced target seems entirely redundant. Is it even supposed to exist?

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

      It is interesting how often your question can be applied to a lot of the code I saw! "Is it even supposed to exist?" seemed to be a recurring theme for me.

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

      It seems to kinda a line with the turtles arm at its out most position during the swimming animation so perhaps that was the reason?

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

    While I don't agree w the whole Broken thing, this video was REALLY informative & helpful! Seeing the collision targets for the Turtles & the collision for the Seaweed will definitely help me get thru that area unscathed in the future. Thanks for that!

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

    Inconsistent collision detection is one of the most frustrating things in gaming. Punches that go through a person, bullets that hit invisible walls, getting killed by seaweed you didn't even touch.

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

    Man this game is blast from the past, blessed yt channel.

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

    its pretty awesome you showed the actual code. when i was 15 i use to program in visual basic 5. im 41 now. but nintendos programming wasnt far off from visual basics codes of using "if" "then" statements
    something like
    "if" turtle gets hit "then" deduct 1 bar of health.
    i never went past that phase in life as i destroyed my computer making a bad program that backfired lmao and learned i didnt have the money to keep buying new computers. but over the years it seems like most programming kind of has this same theory of if, then. and it helps me understand it more.

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

    I really enjoy your videos and look forward to the next one. Thanks for taking the time to do these

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

    I don’t know anything about coding but I watched this video in full and it was fascinating. This game still haunts my nightmares 30 years later 😳

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

    This is a really great explorative in-depth video. I think almost every kid who played this game back in the day wondered about the water level, come to find out it was even more jank than we imagined.

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

    Whenever I see a new video of yours on my feed I get all giddy inside. Getting all nerdy with retro games from a different era scratches a special kind of itch I can't quite explain.

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

    This video was absolutely fascinating and I loved the use of visuals to explain all of this. That specific seaweed room was literally impossible to 5-year-old me. This video answered a question I never knew I had

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

    I'm so happy this got recommended to me! Thank you for a great video!

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

    Well thanks for making me feel not so BAD at this level as a kid. This was a game that got rented for me many times and I never rage quit plays on a single level as much as this one, they tried for a dynamic swimming system and didn't quiet hit it in the way I think was intended.

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

    Stumbled across this on my feed, very fun to watch, thank you!

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

    I love breakdown of game code like this. This video perfectly illustrated why the water level felt so janky and why as a child I disliked it so much! Which was a shame cause most of the rest of the game was fairly well put together with a few other notable issues like jumping.

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

    Great video. So much work to fix this section!

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

    Great dissection and learning tool. As someone who tried to make games like this in the past, it's great to see how it's done albeit in this type of old game.

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

    Okay I saw the jump video for TMNT and this one, and now I'm hooking on this channel's content. This is fascinating stuff and excellent work.

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

    Another awesome video from one of my favorite TH-cam channels

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

    9:40 I always thought the swimming on that screen was super weird. I'm glad to learn I wasn't just crazy.

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

    Just like always, amazing content! Thank you for this!

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

    Wow, great video. I felt like you really explained everything clearly, loved explaining the code and seeing the hitboxes like that. TMNT on NES is one of my favorite games, and it's weird, if you play it for long enough, you're just sort of used to the weirdness of those hitboxes and the current. But really interesting to see it all placed out like that. Also I never noticed the bubbles reacting to the current!

  • @JohnSmith-zw8vp
    @JohnSmith-zw8vp ปีที่แล้ว +1

    You know back in the day I thought it was so strange that it was harder for the Turtles to swim than Mario! I mean, didn't Donatello once say that water is their natural habitat?

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

    Great analysis video! Thanks for uploading!

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

    brilliant work. Thank you for this.

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

    Thanks so much for this video, now my childhood can finally rest in peace

  • @heavysystemsinc.
    @heavysystemsinc. ปีที่แล้ว +3

    You're very skilled at breaking down these things and understanding the innerworkings of stuff most people playing the game simply experience viscerally. I do hope at some point you decide to do subtle hacks as a hobby. For instance, making TMNT here run at 60fps, and correcting the weirdness that's present in the entire game. The whole thing feels janky and felt that way even as a kid. I could clear the game with the jank, but it took a lot of 'feeling the game' which was deceptive to seeing the game. For instance, one of the most notorious parts of the game involved a 'one block jump' which wasn't a jump at all, you simply walk across the gap. There's a ton of this kind of jank in the game where the level designers tried in their own way to communicate the jank workaround to the player, but it really just didn't work.

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

    lol oh man I just remember getting this as a rental and not being able to get passed this stage. It never occurred to me as a child it might just have bugs, but hey it's cool as an adult who does software to see this breakdown. Phenomenal work, just spectacular.

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

    Even when I was a child, I never had too much if an issue with the water level. The issue that I had was the small gap where you have to press left rather than jump and long jump to the other platform in the 4th level.

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

    I could not have imagined watching a video about Ninja Turtles on NES would leave me feeling smarter.

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

    Videos like this makes me appreciate the people, time and effort it takes to create video games.

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

    I always thought the seaweed screen had a current.
    Back in the '00s, I used to write 2D engines for fun. I always had to code hitboxes because otherwise it was madness. This video only raises my appreciation for those programmers who couldn't afford the luxury of adding those hitboxes, yet they delivered a playable product in a tight schedule. I love this channel.

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

    awesome video! i always look forward to these!

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

    Such an awesome, detailed video. This channel rules!

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

    During the NES era, these kind of weird choices happened pretty often. Without proper testing, your game could have all kinds of awesome mechanics that either did something opposite than it was designed for, or didn't work at all. Good example is Pendant item in Faxanadu. It was suppose to make your character stronger, but because of a coding error, it makes you weaker. Sadly, these things got discovered when it was already too late to fix.

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

    8yr old me is so vindicated right now. thanks for the amazing DIVE into the code.

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

    Picture it: December, 1991. I'm at a friend's house when his sister comes back from the mall having *won a Game Genie.* My friend's other friend present wasn't impressed; he said, "What's the big deal? It's just a *cheating machine!"* I found myself rounded upon by them both when I tried to state otherwise, but I somehow could sense that there was vast, largely-untapped potential to the Game Genie....
    Thank you for vindicating me in my forties!

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

    Outstanding video! Thanks for going into so much detail. I never got past this level when I was a kid, and it always super frustrated me! TMNT was my LIFE back in the day (late 80s/early 90s).
    The code walkthroughs in this video also remind me of why I never became a programmer. My cousin used to program his Commodore 64, and when I looked at the programming book, my inferior brain went NOPE. lol

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

    How fascinating! I had no idea it was even possible to pass through the seaweed passage without any damage incurred, I think now with this new frame knowledge you've dropped an actual pass through there without a brush might just be doable. Your explanation of the code and how it works for those of us who aren't as knowledgeable was also very helpful. Definitely upset I've only now come across this, subbed from now on however.

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

    This was very enjoyable. I'm not a programmer but it's explained in a way I can generally follow along and understand.

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

    This series is a must for anyone interested in programming but specifically for those interested in game programming!
    To see some of the ingenious workarounds the programmers came up back in the day is really inspiring.

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

      I've been a casual hobbyist coder since I was a kid, hacking away at BASIC on a TRS-80. Knowing a little bit about programming, I used to think about what it must take to pull off some of the things you have to do in game programming, like collision detection. But, it seemed like SO MUCH WORK that I assumed I just wasn't clever enough to understand how to do it correctly. Turns out, nope, it's actually a little more complex than I thought to get the details right.
      I still wonder how the larger organization of code is done. Like, what's the overall procedural structure of a game executable (or, just the ROM in this case)? You see all these breakdowns where a single part of the code lives, like how to move the turtle in water. But how does a game section off the intro title sequences, the cutscenes, levels, scoring screens, and so on? How do developers modularize that, and then build something that sequences all of it in the correct order? Is it hard-coded or does it follow a script? I've always been curious about that.

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

    This video breakdown was CATHARTIC

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

    Finally, after 33 years, I finally know why I couldn't pass that stage as a kid. :) Fascinating. I even stayed through the code stuff because you kept the video interesting even though I can't read code.

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

    Very nice! Thank you for uploading!

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

    Nice! Very nostalgic. Subscribed.

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

    Damn, I love all those Ninja Turtles vintage stuff you have; such rare and special treasures.

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

    I'll never get tired of these videos

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

    I love that this game is getting looked at more in-depth now

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

    I used to watch my older brother play this game constantly, and someway somehow he knew the water level like the back of his hand. Never any mistakes.

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

    Take note; this "long-standing frustration" is also what helped The *"ANGRY VIDEO GAME NERD"* skyrocket to geek stardom and legendary pop culture phenomena. And the rest was history.

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

    It's funny how much I played this level as a kid trying to master it. I do remember how I found that going below the swirling gates was easier than going above, but never really put two and two together with the hitboxes being so off.

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

      It would have been easier to go under regardless given you’re travelling with the blades (counter clockwise). To go above them guarantees you have less time to get past it.

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

    Wow. This video was amazing. I don't even code but was able to follow it. I remember the frustration of playing this game so very well and it feels good to know WHY it was so messed up. I feel a sense of closure. All that said I was pretty good at getting through the water level just from trial and error after many frustrating attempts. I remember how you could brush against bits of the seaweed without taking damage and just tried to hit those spots. I was able to make it through the "infamous" screen with very little damage even with all of these ridiculous bugs.

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

    Man, these videos are next level trivia if you're in to retro 2d game dev

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

    This was thoroughly enjoyable, thank you!
    Would you be OK with making a video that goes over the tools you use (NES emulator, Lua scripting, disassembly toolkit, etc.)?

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

    That level was a gamekiller when I was little. One time I went to someone's house, I was probably five or so, and their adult son had this game and a game genie so he set me up with invincibility on it. So I could actually see what was past this level, something my older brothers hadn't even seen at the time, it was awesome. The one messed up part is the very last guy (super Shredder I think?) could still kill me! I remember this freaked me right out, I thought he broken the fourth wall, knew I cheated and was somehow going get out of the game and come after me for it. I remember running into where all the adults were hanging out and losing it because I was sure I was actually going to die. The adults (sortof) calmed me down and were starting to get mad at the guy who had set me up with "such a scary game". This guy stood up and said to me somthing like "well I guess you are just going to have to kick his butt in the game, then he can't come out and get you". It was a risky move but it worked, he hung out with me, giving me tips on what to do until I beat Shredder.

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

    I was going to grab a taco either way, but the invitation is always appreciated.

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

    Love that you collect laserdiscs. I knew you were smarter than average TH-camr.

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

    Love these videos were you walk through the code. Very mini-"retro game mechanics explained", and i mean absolutely no disrespect.

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

    I remember this was probably my very first video game. Rented it w/ a NES from the video store when I got to stay home sick from kindergarten. That water level ruined my 5yo life, I could never get past it.

  • @iamthem.a.n.middleagednerd1053
    @iamthem.a.n.middleagednerd1053 ปีที่แล้ว

    I'm 39 and played this game as a kid. Once you got a feel for the level it actually went from being the hardest to the easiest in the game.

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

    I beat this level as a 11-year-old. It was basically a brick wall for like 2 years.