The Input Lag and Attack Animation Delay of Teenage Mutant Ninja Turtles (NES) - Behind the Code

Поделиться
HTML-код
  • Опубликовано: 27 ноя 2024

Комментарии • 273

  • @DisplacedGamers
    @DisplacedGamers  2 года назад +116

    Hope everyone enjoyed this one. I hadn't planned to do a third TMNT episode, but I was encouraged to do one by another RUclipsr I know, so here it is.
    In case you missed it - I'd like to release a Castlevania episode this month. Check out my post in the Community Tab for the channel to see what people have been suggesting so far. If you see something you like, give it a thumbs up.
    Finally, I received an email that Displaced Gamers has been nominated for Top Tech RUclipsr Award for #Noonies2022. That's really cool! You can vote here (for me or any of the other nominees!) if you'd like - www.noonies.tech/2022/emerging-tech/2022-top-tech-youtuber

    • @TehDrewsus
      @TehDrewsus 2 года назад

      Awesome! Voted for you

    • @craigmcconomy9346
      @craigmcconomy9346 2 года назад +1

      love these videos - if a similar subject ever comes up again it would be interesting to use a TAS to force something like the button press conflict indefinitely!

    • @DerekMoore82
      @DerekMoore82 2 года назад +2

      I can't figure out how to put in one of your game genie codes in Retroarch, you go to cheats and then select NES, select the game, and then it's just a huge list of game genie codes (but yours isn't in the list for Retroarch) and there's no way to add a code manually.
      I messaged Jane's Rolfe and Mike Matei about making a video trying out your fixes, I'm sure they would love it. Fingers crossed that they find out about this stuff. That would be cool to watch.

    • @lizardspock4746
      @lizardspock4746 2 года назад +2

      This is one of my favorite topics that you’ve done. I was a teenager when this game came out and this explains why it was so frustrating to play (in addition to the bad collision detection you covered also)

    • @makeitrein7366
      @makeitrein7366 2 года назад +1

      I feel like you've done a lot already with Castlevania. Some things that might be interesting would likely be a comparison of Castlevania X (NA release) versus Rondo of Blood (JP release). I would personally love to see things about Symphony of the Night because the glitching in that game is insane but thats stepping out of the realm of 8bit/16bit.

  • @dabradmp1
    @dabradmp1 2 года назад +265

    I would be interested in trying a fully fixed version of TMNT.

    • @themonsterunderyourbed9408
      @themonsterunderyourbed9408 2 года назад +12

      Same.

    • @jeffmoreau6844
      @jeffmoreau6844 2 года назад +11

      Same same.

    • @GabePuratekuta
      @GabePuratekuta 2 года назад +24

      Well, someone already made a version using the fixes for the dam level's second half. So it likely possible to combine this vid's content with it.

    • @anon_y_mousse
      @anon_y_mousse 2 года назад +21

      Yeah, when he finishes this series we should collect all of the best GG codes and use them.

    • @Zye1984
      @Zye1984 2 года назад +16

      I posted this on the last vid but nobody replied. =<
      Like, is there a way to get it back to 60 fps and make the code optimal enough to run efficiently?
      Do the enemies HAVE to respawn immediately? (Probably would fix the above issue if they didn't)
      Do the turtles' velocity HAVE to stop when they hit a ceiling like that?
      Make the turtles' weapons MAKE SENSE in their damage and other attributes. Such as: (the higher the number, the better. These are just rating numbers, not frames or anything.
      Range: the larger the num, the longer reach)
      Attack: higher num, stronger attack
      Speed: higher num, faster attack
      Stun: higher num, longer stun
      Knockback: higher number, more knockback
      Leo - range 3, atk 3, speed 3, stun 3; knockback 2 (balanced)
      Don - range 5, atk 2, speed 2, stun 3; knockback 3 (ranged/keep away)
      Mike - range 2, attack 2, speed 4, stun 4, knockback 2 (stunner)
      Raph - range 1, attack 1, speed 5, stun 1, knockback 1 (quick damage, basically multi-hit like bombs or the screw attack from Metroid)
      With this you could switch turtles for the situation you are in, though it would be slightly cumbersome to pause and do so. But you'd get more mileage with each turtle this way, and overall more fun!
      I have forgotten, does Select do anything? If not, and if possible, the game could pause and you could quickly select the turtle. Ah, I think it allows you to switch sub weapons..so it could still work that way, with the pause function still. Up/down to select the turtle, left/right to select the sub weapon.
      What do you think?

  • @tigerstyping
    @tigerstyping 2 года назад +117

    Imagine being an NES game developer and thinking "ugh, it's good enough, let's ship it. it's not like anyone will know about these bugs anyways," and then like 30 years later this guy just totally picks it apart.
    (Joking aside, I love these videos, you do a super good job explaining everything)

    • @williamdrum9899
      @williamdrum9899 2 года назад +9

      It's definitely hard work making an NES game, that's for sure. It's a fine line between the game working and not at all 😅

    • @kricku
      @kricku 2 года назад +14

      I think I'd feel vindicated.
      "Look boss, people DO care"

    • @unchi1999
      @unchi1999 6 месяцев назад +1

      Still better than GTA 3 😂

  • @lpfan4491
    @lpfan4491 Год назад +4

    What I get from this is that the first major step to "fixing the game" would be to convert it back to 60FPS, which would be a whole project in itself because not only is the data processing designed around 30FPS, but the game already struggles processing it like that too.

  • @reloadpsi
    @reloadpsi 2 года назад +93

    The input lag for TMNT's weapons gave the weapons a bit of weight. Too bad most enemies had no flinch state so it didn't matter.

  • @Dormat25
    @Dormat25 2 года назад +86

    The amount of time taken to polish your videos must be immense. Your efforts are very much appreciated.

  • @ValkyrieTiara
    @ValkyrieTiara 2 года назад +54

    REALLY liked this one! As a game designer, rather than a programmer, this is the kind of thing that really gets my motor running lol And with that said, I don't really love the "just double the attack speed" solution, both from a balance perspective and from a "feel" perspective. Just being able to mash at infinite speed is fun for a bit, but doesn't generally tend to make games better, most of the time. I understand that a lot of what you did was in service of "quick and dirty" solutions to make them easier to implement for the sake of the video and allowing for applicable GG codes. So this isn't a criticism of the video at all. But assuming that we just had free reign to do whatever we want (while still trying to maintain the spirit of the game as originally presented) let's think about how we can do that!
    For Leo, I agree with getting rid of the two frame windup. Gone. Between that and fixing the audio bug, I think most of the "input lag" issues would be resolved, and the big problems with the animation revolve around slow feeling response time due to the distribution of active frames. Which is to say it's not input lag or animation length that's the problem, rather that 33% of your attack time is spent in the largely useless overhead position. To preserve overall feel and balance, instead of simply cutting the entire animation in half I would prefer more of a "redistribution" of frames over merely deleting them. Cutting JUST the overhead from 4 frames to 2, and adding them to the lower position will give the swing a bit of weight while increasing responsiveness and extending "useful" active frames. I would also experiment with things like 2-2-6, 2-2-4, and 2-4-4, as well as MAYBE shortening the cooldown. Leo always felt pretty good to use cause of good range and power, so I think he just needs a tweak to help timing attacks and "feeling right".
    Donnie I think just needs a similar, though simpler, tweak. He's already the most powerful turtle by A LOT, so anything that's just a straight buff would be game breaking. For him, I think cutting his wind-up in half (by four), and his starting "rear" attack animation by two, but adding another 6 or 8 frames of rear attack animation after the main hit would feel really good. The active forward frames would come out six frames faster, but with the same number of total frames (or +2 to to compensate for the faster activation). I might even do something like cut the cooldown by two and add another two to the forward strike, though again you want to be careful of making him too strong, and also holding a position for too long can start to feel really weird.
    Great video once again! The deep dive code walks are great, but this one was right in my strike zone for fun and interesting content 😂

    • @angeldude101
      @angeldude101 2 года назад +11

      It's perfectly reasonable to have long animations and cooldowns for balancing. What I'd consider most important is that the animation starts as soon as possible after the input. The hitbox doesn't even need to start immediately, but at least start the animation to give that feedback.

  • @DonYagamoth
    @DonYagamoth 2 года назад +11

    I think this video is the perfect example to give, if someone goes: "Why can't you just..." - when complaining about things in games. It's not that they are necessarily wrong with their complaints, but - it's probably more complicated. It's always more complicated

  • @dicariel
    @dicariel Год назад +7

    I don’t program at all and work in a totally different field, but your videos are fascinating and make me appreciate video game developers even more.

  • @VinsCool
    @VinsCool 2 года назад +11

    Man that is so much to unpack here.
    A lot of optimisations in the code really hasn't been done before release, and it shows.
    I'm willing to bet if someone went the hard way to disassemble the game, and rewrite it entirely from the ground up, it could totally run at 60fps without that nasty input lag, or full lag frames implemented by design to compensate the whole thing for that matter.
    The controllers input lag is especially disgusting.
    I knew the game really felt delayed, but I never expected this huge amount of lag between a button press and the action being processed, even less expected the chance of an input being missed entirely, even from being aware of the DMC corruption, I legitimately have expected it would at least have done this part properly, but nope, not close to it!
    Fantastic video like always, I love this stuff a ton, especially these days where I have gone deeper and deeper into 6502 Assembly programming, and realise how clever you really have to be when you make your code do things efficiently.

    • @VinsCool
      @VinsCool 2 года назад +2

      And I mean, seriously, it's so much harder than one would think it is at first, especially when you try to do things you just have no idea how to process the most efficiently.
      And I say that as I legitimately felt bad for having 1 single frame of lag with the input handler logic from the first and only game I've ever coded all by myself so far, a Pong clone which uses the Atari paddles as the source for sprites positioning on the screen, haha!
      Maybe 1 frame between the input and the display on screen is perfectly reasonable after all!

    • @williamdrum9899
      @williamdrum9899 2 года назад +3

      It's definitely not easy to make an NES game, I often found myself over-engineering things to make it all as fast as possible.

    • @plawson8577
      @plawson8577 Год назад +1

      The Sega Master System was Much easier to program than NES.

  • @adriansdigitalbasement
    @adriansdigitalbasement 2 года назад +19

    Awesome explanation! I always hated this game because of the perceived lag it had, even back in the day. I was also totally unaware of the button read corruption issue.

    • @j__r0d
      @j__r0d Год назад

      I now know why I preferred Raph over my fav. turtle, Donatello! 😆

  • @mightyfilm
    @mightyfilm 2 года назад +9

    I get that Donny's bo being the slowest weapon is supposed to give it some heft, but it slows the ENTIRE game down, especially when there's a lot of enemies on screen.

    • @retro3188
      @retro3188 2 года назад

      8 is more than 2 or 1.

  • @BenHeckHacks
    @BenHeckHacks 2 года назад +93

    This game always seemed really poorly programmed for a major Konami released. Your videos really hammer this home!

    • @DoomRater
      @DoomRater 2 года назад +6

      I mean, the fact that turtles hurl more damaging scrolls when hurt below 50% but not boomerangs definitely gets me. If Donatello were to throw a boomerang below half health then switch back to his main weapon while the boomerang is still present, he'd do MORE damage somehow.
      Edit: Thought Don did 17 with his wounded bo staff, it's only 16 which is the same as the boomerang

    • @PowerPandaMods
      @PowerPandaMods 2 года назад +23

      I think it's just rushed development. TMNT flew to the top of the charts like lightning, and they needed a game on the shelves to capitalize on it.

    • @JosephDavies
      @JosephDavies 2 года назад +6

      Even moreso when you look at the DOS version that was literally unbeatable (covered in a previous video).

    • @ThommyofThenn
      @ThommyofThenn 2 года назад

      Release*

    • @BagOfMagicFood
      @BagOfMagicFood 2 года назад

      No wonder they called themselves Ultra!

  • @SomeIdiota
    @SomeIdiota 2 года назад +3

    What an intro! I have never heard a better explanation of lag, especially not in 30 seconds. Knowing something is a far cry from having it put so concisely.

  • @pablor2658
    @pablor2658 2 года назад +6

    Intentional delay could be part of experience, ie hitting with forks shoud be faster than swords; but uncontinuous detecting controller is terrible.
    Great video.

  • @ArmandoDoval
    @ArmandoDoval 2 года назад +14

    Great video. An important aspect to lag is whether it's constant or variable. Players can adjust to a constant amount of lag, but there's no good way to compensate for variable lag like wireless controllers and network lag (barring techniques like rollback.)

  • @3rdalbum
    @3rdalbum 2 года назад +3

    I either didn't watch, or didn't remember, your videos about the NES controller. Fascinating that this bug exists that a controller read might be corrupted by the music and so you have to read the controller multiple times.

  • @Yakushii
    @Yakushii 2 года назад +19

    God damn, these videos are like crack to me. You do such an amazing job of setting up the motivation for why we'd want to dig into the code, and that matters.

  • @headman82
    @headman82 2 года назад +3

    Eliminating sprite flicker and slowdown in Cowabunga collection is just scratching the surface. Now I want more after hearing this

  • @Ragesauce
    @Ragesauce 2 года назад +10

    This was awesome, i'd like to see more fixes like this for TMNT, so many games were rushed or had bad code and they were great games, i'd like to see them at their full potential.

  • @Sledgex3
    @Sledgex3 2 года назад +12

    In the Famicom version, you can control the turtles during the intro.

    • @PowerUpT
      @PowerUpT 2 года назад +3

      Seeing how broken the NTSC version is, that doesn't suprise me.

    • @DaveVoyles
      @DaveVoyles 2 года назад +2

      TIL

  • @c.cooper2877
    @c.cooper2877 2 года назад +2

    Wow, this game really was as much of a programming trainwreck as I'd always thought as a kid.

  • @Manticore_007
    @Manticore_007 2 года назад +3

    I love how you incorporate Game Genie codes, to fix the bugs, as in the minus world video. Using it as a kid for more lives, it's so cool to see now how it adjusts the game by memory.

  • @kri249
    @kri249 2 года назад +7

    I always thought of Donatellos attack lagging more was out of compensation for the distance covered by his attack. Which always came in handy when dogging Rocksteady on the crates.
    So I can't say if it was by design, and if so, whether it was good design or not that each turtle has its own balance of speed, distance, and direction of attack.
    Either way this was a really good video and I absolutely loved the music playing through out it.

    • @DoomRater
      @DoomRater 2 года назад +2

      Yeah I'd give Raph Donatello's damage to make him useful, and Don could take Mikey's damage and Mikey uninjured could use Raph's. Mikey does enough damage below half health to one shot some things, but the killer is that Raph's 9 damage is the lowest when turtles are wounded. This means his unique advantage of killing flying enemies in one hit is negated once everyone is injured enough, since every other turtle's damage is 10 or greater at that point.

    • @ValkyrieTiara
      @ValkyrieTiara 2 года назад +6

      @@DoomRater Wait they do more damage below half health?? I NEVER KNEW THAT

    • @DoomRater
      @DoomRater 2 года назад +1

      @@ValkyrieTiara Everyone but Raph and boomerangs. Yes the special weapons do more damage as well!

  • @nickfarace9339
    @nickfarace9339 2 года назад +2

    I am glad you did this episode. While the other ones shocked me more about TMNT in general, this one shocked me more about these old games inputs in general.
    The fact it could just randomly have different lags to execute is wild.

  • @malkneil
    @malkneil 2 года назад +14

    Always look forward to these. As a half-ass Java and DB2 programmer I often think it would be more rewarding to do assembly coding. Everything now is configuration files and build systems -- not to mention I regard myself as a more linear thinker when it comes to programming as opposed to object-oriented. At any rate, keep up the good work!

    • @williamdrum9899
      @williamdrum9899 2 года назад +5

      6502 was my second programming language (1st was python). NES is very difficult but it can be done. Biggest thing is your code must be fast or it wont work. You'll do things that your CS teachers told you not to do, and you'll just have to be ok with that. But I can say that once you understand the language it all makes sense and you'll know why you're doing what you're doing (something I can't say about most high level languages)

  • @DoomRater
    @DoomRater 2 года назад +8

    Rebalancing TMNT could be a lot of fun. For example, Raph is the second strongest turtle at full health but the weakest at half health. I would give him Donatello's damage values to make up for the fact he has such a terrible hitbox, making him a viable character right away. Don could benefit from a faster attack and then get Mikey's old damage values. Mikey having Raph's damage values makes sense to me as well, leaving Leo mostly unchanged.

    • @Gatorade69
      @Gatorade69 2 года назад

      Yeah I feel this game would be pretty great if it was fixed.

    • @autobotstarscream765
      @autobotstarscream765 2 года назад +1

      As a general rule, I think Raphael = Damage, Michelangelo = Speed, Donatello = Range, and Leonardo = Balanced would be a good rule of thumb for a balanced team that fits their personalities and weapons.

    • @DoomRater
      @DoomRater 2 года назад

      @@autobotstarscream765 While I do think these rebalances make sense, the manual writes that Leo is good for energy conservation, Mikey is courageous, Raph is good against flying enemies, and Donatello is powerful. Leo being balanced in my book was leaving him in third place and fourth place for damage since he has the best weapon coverage and second best reach. Actually, wrote up a table really quick: Leo's wounded value nerfed to 8, Raph's healthy and wounded buffed to 15 and 17, mikey's healthy and wounded buffed to 9 and 15, and Don's healthy and wounded nerfed to 7 and 12. Mikey still gains more damage from being wounded than any other turtle and it's actually buffed from 5 to 6, and with this change Leo never makes the new anti-air turtle Mikey worthless, because it takes 9 damage to kill the flying enemies.

  • @vampiretrunks
    @vampiretrunks 2 года назад +1

    This video is really impressive! Not only did you do all that math, but then you thought to figure out Game Genie codes to fix the problems AND you give us those codes, too? Incredible work, thank you.

  • @bjwaters
    @bjwaters 2 года назад +10

    I think it would be interesting to compare this to what Konami did with the NES Castlevania games. They clearly have a delayed attack cycle for Belmont's whip. Does it also have input lag rng, or is it purely by design? If it's the former, is this just something that Konami did with a lot of their games? Is their programming "style," if you will?
    Fascinating video! Keep up the good work!

    • @user-a5Bw9de
      @user-a5Bw9de Год назад +2

      While this is not a definitive answer, comparing Castlevania with Contra, I would assume Castlevania's design is intended. When Simon jumps, there is no way to fix the trajectory, just like IRL jump. (Both Contra and TMNT have a jump physics with leeway to aerial horizontal movement) Also in IRL, using a whip requires some wind up time or it just falls flat to the ground. The jump feature and the attack feature in the game suggests its players with methodical approach to beat the game than "just rush-in, dodge and kill everything" approach that Contra suggests.
      (It is hard to say what the devs intended for TMNT because it falls somewhere in-between and then steps sideways.)
      If input lag was normal for Konami games, I don't think Gradius or Rush 'n Attack ever became popular.

  • @awesomedata8973
    @awesomedata8973 2 года назад +2

    I love that your channel is growing man! -- Keep up the amazing work!
    It's always interesting to see some of the struggles these old developers had to work around!
    Who knew a _drum_ channel would cause so much hassle with gameplay! :D

  • @Juanknes
    @Juanknes 2 года назад +1

    Amazing video! This and Legend of Zelda were my first NES games. I loved TMNT, and it's very nice to see how each turtle attack are totally different from a more technical point of view. As a kid, it was a challenge to manage each turtle, where to use them, and to master their attacks. It was a very important part of the game.

  • @MartinBayThomsen
    @MartinBayThomsen 2 года назад +4

    Amazing video. I'd love to see a video covering the major difficulties that would present themselves if one were to attempt to remake TMNT into a 60 fps game.

  • @50shadesofbeige88
    @50shadesofbeige88 2 года назад +1

    Thanks! I love watching your methodical way of addressing these problems... and justifying my frustration with this game as a child.

  • @jessemartinez395
    @jessemartinez395 2 года назад +1

    These videos are food for the soul, for us old gamers who grew up with these games.

  • @EvilCoffeeInc
    @EvilCoffeeInc 2 года назад +1

    Hell yes, I love these videos. Always glad to see you pop up in my feed.

  • @bedwablackburn
    @bedwablackburn 2 года назад +2

    Was very interesting. Always good to know what's under the hood either when playing or even speedrunning these games

  • @jessejohnston5602
    @jessejohnston5602 2 года назад +1

    This is some of the highest quality and entertaining content in my subscriptions, hands down. It’s though provoking, nostalgic, and damn interesting. Thank you!

  • @MickySarge
    @MickySarge Месяц назад

    As someone who, for some reason, played a ton of this game as a kid, I’m so happy to see this breakdown.

  • @Dormat25
    @Dormat25 2 года назад +11

    I'd love to see an analysis of TMNT (as well as Ninja Gaiden) surrounding enemy placement and respawn. I always hated the inconsistency in behavioe of killing and enemy, only to have them reappear because the screen scrolled slightly. Would be nice to have a code where enemy groups were specific to each area and weren't 'random', changing every time you entered a zone.

    • @GeneralBolas
      @GeneralBolas 2 года назад +10

      That would require *way* more than a game genie code. Those enemies respawn because the game doesn't store the fact that the enemy spawned by a particular spawner was killed. It only stores whether that enemy exists or not. If it doesn't exist, and the spawner is reached, it will be spawned.
      You would need to turn a two-state system into a 3-state system (unspawned, spawned, killed). That's outside of the bounds of a couple of Game Genie codes.

    • @mrwizard5012
      @mrwizard5012 2 года назад +1

      It would be interesting to look into the code and see why those old games behave like that.

    • @timberwolves100
      @timberwolves100 2 года назад +1

      Even James Bond 007 on N64 had those forever re-spawning enemies 😄

    • @PedroPaulo-zh2nm
      @PedroPaulo-zh2nm Год назад +1

      @@mrwizard5012 If I'm not mistaken, in one of those official books Nintendo released containing some behind the scenes stuff and interviews, Miyamoto said that stuff like that usually happened because the machine simply did not have enough RAM to store the state of things like "that enemy has already spawned and now is dead". And when you look at the NES specs and see how much RAM it has, that story sounds 100% true.

  • @maneater3795
    @maneater3795 2 года назад

    Just got randomly recommended this by RUclips and I already know I’m gonna love this video, so I’m gonna like it and then watch it when I’m eating dinner later

  • @ryanhutchinson4467
    @ryanhutchinson4467 2 года назад +1

    For god’s sake, how is it even possible for an educational video about programming to be *THIS* entertaining?! 🤣👍

  • @Lumaga
    @Lumaga 2 года назад +1

    I love that you're dissecting this game in all areas. Fun game, bad code.

  • @Hostile_Design
    @Hostile_Design Год назад

    One type of ROM-hacks I love is the type where people have gone in and fixed issues like the ones you have highlighted over this video series and/or added obvious quality-of-life features, like being able to item swap with L/R in ALTTP, as an example. Makes for a much better time revisiting something nostalgic in my opinion.

  • @DarkMoe
    @DarkMoe 2 года назад

    what a beatiful explanation at the intro about player and technology parts in all gaming, that applies to the whole industry since it started till today. Awesome video as usual !

  • @MissAshley42
    @MissAshley42 2 года назад +2

    I didn't realize Konami drums hit _that_ hard.

  • @Meganarb
    @Meganarb 2 года назад +1

    Awesome video as usual! Love the subtitles too, theyre a huge help for me!

  • @hawshimagical
    @hawshimagical 2 года назад +2

    this game is gonna get a fanmade "fix" patch because of these videos for sure

  • @DerekMoore82
    @DerekMoore82 2 года назад +3

    I wish I could try out your TMNT game genie codes, somebody should make a patch with your codes for the jump fix, swimming fix, attack fix etc.

  • @briankarcher8338
    @briankarcher8338 2 года назад +1

    Cool video. I wonder if somebody has tried to get TMNT to run at 60 FPS.
    You should have more subs. Best channel on RUclips.

  • @PhilipMurphy8Extra
    @PhilipMurphy8Extra 2 года назад +1

    Always a good day to upload content from Displaced Gamers

  • @nivoset
    @nivoset 2 года назад +1

    Im now curious how paperboy moved the screen diagonally.

  • @fromthegamethrone
    @fromthegamethrone 2 года назад

    Man I love it when you upload for a game I'm familiar with

  • @downscale
    @downscale 2 года назад

    YAY! So glad to see this go live! Keep up the greatness!!

  • @lucetubegplusstillsux2678
    @lucetubegplusstillsux2678 2 года назад +1

    This has been super interesting, if you want an interesting yet really flawed FDS game to dig into I'd recommend Relics: Ankoku Yousai it's an interesting example of a first-time nes dev getting really ambitious and not writing the best code as a result. Underneath the rough design feels like a really fun game though.
    I'm planning on taking a whack at fixing it someday and am definitely gonna reference your commentary on design fixes in these.

  • @powercage
    @powercage 2 года назад

    I only half understand what you’re taking about, but I still like it.

  • @jimpeppercorn6244
    @jimpeppercorn6244 2 года назад

    always a good day when your videos pop up mate

  • @timothymclean
    @timothymclean 2 года назад +1

    Minor point, but I feel like sense-react-confirm is usually more of a cycle than a timeline. It's rare that a player action isn't followed by something else they need to react to, usually influenced by their last action.
    (And obviously, technology is responsible for the time between confirm and sense.)

  • @PassportBrosBusinessClass
    @PassportBrosBusinessClass 2 года назад

    I typically use Raphael or Michaelangelo in the BOMB DEFUSAL LEVEL (sacrificial lambs) but I also tend to use them - especially Raphael in the later level with the flying enemies. Raphael and Michaelangelo kill most fliers in one hit while Leo takes more and Donatello's attack is too awkward to use while jumping.
    Raphael is better at attacking enemies diving towards him from above than Michaelangelo. Donatello and Leo's strength are being able to attack through ceilings and floors.
    Each stage lends itself better to a specific turtle and like MEGA MAN games, you just have to figure out who to use and when to use them.
    I have been playing the Cowabunga Collection's TMNT NES version but I still have the original NES version for NES. It really feels to me like the newer games are more difficult. IT feels like enemies had their health buffed - or conversely the turtles had their attacks weakened.

  • @WyrdieBeardie
    @WyrdieBeardie 2 года назад

    Every single episode is amazing! Thank you sir!

  • @paulrahme
    @paulrahme 2 года назад

    Thanks for doing a third one. These are fantastic!

  • @PassportBrosBusinessClass
    @PassportBrosBusinessClass 2 года назад

    I typically use Raphael or Michaelangelo in the BOMB DEFUSAL LEVEL (sacrificial lambs) but I also tend to use them - especially Raphael in the later level with the flying enemies. Raphael and Michaelangelo kill most fliers in one hit while Leo takes more and Donatello's attack is too awkward to use while jumping.
    Raphael is better at attacking enemies diving towards him from above than Michaelangelo. Donatello and Leo's strength are being able to attack through ceilings and floors.
    Each stage lends itself better to a specific turtle and like MEGA MAN games, you just have to figure out who to use and when to use them.
    I will usually equip Michaelangelo with BOOMERANGS and always switch to him when I find them so I can add to his ammo.
    I will usually give Leo and Raphael throwing stars - especially the triple-star ammo.
    Donatello gets the KIAI SCROLLS since he's so powerful in the Technodrome level's final hallways.
    I can kill shredder from a distance with whatever weapons are leftover.

  • @Lilithe
    @Lilithe 2 года назад +11

    This was pretty neat! I'm disappointed I didn't see you replace the RTS with a loop when the 2 inputs don't match. That'd have been interesting to see what happens.

  • @CodeXCDM
    @CodeXCDM 2 года назад +1

    DMC fix seems great. Not sure about frame adjustment on start, if only because Leo/Don are already the more useful turtles. I can't recall progressing anywhere in the game without Don usually being the main turtle, especially on bosses.
    That said, I'd be interested in a build with tweaks across your various videos about this game.

  • @skyshadow6617
    @skyshadow6617 2 года назад +1

    Goes to show how powerful hitbox detection is when even with all that lag on Leo and Donny's attacks, they are still the better of the 4 characters (although part of the reason Donny's is so much better is because he outputs way more damage than his brothers).

  • @affegpus4195
    @affegpus4195 2 года назад +1

    Good video, i have to mention thou that emulator lag is a solved issue, there was a period of time while ago where gpu drivers were way too optimized for thrughput , input lag be dammed and no way to deal with that from software side.
    Thank god we past that and now any emulator or program can have input lag down to raster lines if they care to.

  • @ClassicTVMan1981X
    @ClassicTVMan1981X 2 года назад

    Another great episode! I shall try some of these codes you discovered!

  • @whthafk
    @whthafk 2 года назад

    This was awesome as usual. Great work!

  • @catholiccontriversy
    @catholiccontriversy 2 года назад +1

    It'd be cool if we could get some patched rereleases of these games you feature similar to Cheetahmen 2 The Lost Levels. Like, we get modern ports of Disney Afternoon games and 1st party games and such, and that's great and all but the only real benefit those ports have is "easier to access" and typically "cheaper than original carts," whereas games like Turtles could be patched to play like how they were intended and be a definitive version. Them with the release there could be 2 options (rom perfect and debugged) similar to how the NES and SNES classic have different aspect ratio options.

  • @ArmandoDoval
    @ArmandoDoval 7 месяцев назад

    For anyone interested in a more comprehensive solution, running RetroArch with 4 frames of preemptive frames/runhead (in the Latency config) will compensate for the input lag on ALL actions (but only set it to 4 on TMNT, you generally want only 1 frame for other games.)
    Also turn on GPU Hard Sync with 0 hard sync frames (if using the gl video driver) or set Max Swapchain Images to 2 (if using the vulkan driver) to force the graphics card to output new frames immediately like a console would. Finally, set Frame Delay to 13 and turn on Automatic Frame Delay to compensate for USB controller lag.

  • @johneygd
    @johneygd 2 года назад +1

    It’s actually interesting that 1 pin in the nes is used for both control reading input and pcm reading playback,it’s a flaw of ntsc nes systems wich was fixed in the pal nes,
    But games had to be designed around this in case it uses the pcm channel,by reading things twice and let go if it find a match and ignoire it if it finds no match in those control inputs,
    Now it’s interesting that SMB3 does immediately enother check if it failed to find a match while TMNT1 does not a second check untill the next frame,BUT still in both games i actually noticed no dramatic input lag(probably because it all happens in nano seconds)
    BUT i do wonder why nes games with pcm playback not just give button presses a higher priority over pcm playback because is gameplay not more important then pcm playback?
    Am also curious how and if pal versions of games were redesigned to take advantage of that fixed flaw of pcm playback & control reads from ntsc nes systems,or if those game deves didn’t bother and just leave the source code of those games as what they were,
    BUT that brings me to me next question,how about pal games with pcm playback wich does take advantage of the pcm & control reads bug fix,how will those games gonna behave on a ntsc nes,will they behave strange or just crash altogether or will control reads or pcm playback be not registered???
    BTW,It’s also incredible that the nes controller uses a shift register rather then multiple wires for button control reads,considering that shift refister chip can only process 1 button press at a given time,BUT since it can process 1 million instructions per second,it can virtually process all button presses atonce,even turbo button presses,all without crashing the game or getting overloaded,and all without any notice,
    Altrough i found supermariobros 1 just feel slightly smoother to play then supermariobros 2 & 3 wich is not surprising since that game didn’t use any pcm channel at all.

  • @the_primal_instinct
    @the_primal_instinct 2 года назад +2

    Donatello's Bo Staff has the highest damage and reach, so him having the slowest attack speed feels justified

  • @cheezemonkeyeater
    @cheezemonkeyeater 2 года назад

    This was always a game that I wanted to like, but it just never felt right playing it.
    Thanks to these videos, I now know why.

  • @JosephDavies
    @JosephDavies 2 года назад +5

    Does the disassembly you show in these videos exist as complete code anywhere online, or is it just snippets that you annotated explicitly for use in the video?

  • @ScootZMedia
    @ScootZMedia 2 года назад

    seems like this ol game has gotten a resurgence of love ;3

  • @michaelmorgan9009
    @michaelmorgan9009 2 года назад +1

    There is def noticable lag in the cowabunga collection of tmnt nes version

  • @DenkyManner
    @DenkyManner 2 года назад +4

    I assume this game was rushed to market as so many of the issues appear to be bugs or are less than ideal implementations.

  • @nickwallette6201
    @nickwallette6201 2 года назад +1

    Watching these just makes me think about how much of a gift it would've been to the original devs to have the emulators and debugging tools we have now. It's easy to criticize the flaws in games like this, but man, they were really working with stone tablets and chisels back then. Haha

  • @Sandata64RD
    @Sandata64RD 2 года назад +1

    Holy cow.
    I might need to watch this again but holy cow.
    Based on hit box and frame data you think that Mikey would feel useful. But my poor skills tell me no. He's not.
    We gotten so use to Don that it feels like no problem. But just look at how double stander leo is.
    Thank you very much for your work.

    • @GeneralBolas
      @GeneralBolas 2 года назад +1

      Mikey's issue is range. His faster attack speed is notable, but his up and down attacks *especially* are just too short. Leo can hit people through walls above and below.

    • @Sandata64RD
      @Sandata64RD 2 года назад

      @@GeneralBolas right. And i been playing it off on since a kid. Again, first time seeing its Street Fighter 2 hit box, and it looks useable...but no lol.

  • @Ver2ion
    @Ver2ion Год назад

    id really love roms with all these additions love this series

  • @gogeeeter
    @gogeeeter 2 года назад

    Super interesting stuff and expertly explained!

  • @MatusFinchus
    @MatusFinchus 2 года назад

    Superb and informative video. Thank you. :)

  • @jillcrungus
    @jillcrungus 2 года назад +3

    Great stuff as always. Really curious though, what causes using the DMC to corrupt controller input, and in what way is it corrupted? That's a really interesting issue.

  • @markusfassbinder8275
    @markusfassbinder8275 2 года назад

    Thank you for the new video!

  • @Xiuhtec
    @Xiuhtec 2 года назад

    It's interesting that despite Don's excessive lag he is still the most popular and considered the strongest by most players due to the higher damage per hit mixed with the longer range. Certainly any fix would need to make some attempt not to just expand this imbalance even further.

  • @akxmedia0
    @akxmedia0 2 года назад

    Great informative video. One other thing that always annoyed me was how some of the turtles strength of attacks varies. Sometimes the same enemy will require one or two hits. This didn't seem to affect Donatello or Raphael. Leo and Mike's attacks were sometimes weaker. I think it was just another way to balance each of the turtles.

    • @Skunky48
      @Skunky48 2 года назад +4

      The turtles have two separate damage output values. One when they are above half health, and one when they are below. Don is still the power hitter, Leo gets a slight increase, Mike gets a big increase, and poor Raph has the same value for both states. I wish I knew about this as a kid. Such a deep game and I believe most things the programmers did was intentional to an extent.

  • @dmorley100
    @dmorley100 2 года назад +2

    I know this’s WAY off the subject of the video, but for some reason, this random memory just popped into my head of the music sounding weird anytime you put any kind of Game Genie code in for Megaman 2. I think Galoob even said something about it in the code book. So now I’m wondering if you know why Game Genie codes for Megaman 2 made the music sound screwed up?

  • @Absolutely_Nobody
    @Absolutely_Nobody 2 года назад

    I do have to wonder how many people watching this video see the image appear at 0:10 and actually register that as a television.
    Now I want to see them struggle aligning two screws and the coaxial attachment.

  • @Harbinger28567
    @Harbinger28567 Год назад +1

    I never got passed the third level in this game. It was just too sloppy and frustrating to play.

  • @TheCodeAlwaysWins
    @TheCodeAlwaysWins 2 года назад

    This is really impressive, thanks

  • @b.o.4492
    @b.o.4492 2 года назад

    Subscribed! Great video!

  • @SpectraPrime
    @SpectraPrime 2 года назад

    Really like this series would like to see more on TMNT

  • @NavJack27gaming
    @NavJack27gaming 2 года назад

    another great video. awesome stuff.

  • @hola3535
    @hola3535 2 года назад

    Uff, this guy is a very good teacher.

  • @GeneralBolas
    @GeneralBolas 2 года назад +3

    So. TMNT runs at 30 FPS and still can't maintain framerate. Wow, when you mentioned it ran at 30FPS before, I'd forgotten that it had slowdown.
    What is going on in this game? Is it really *that* terribly coded? I mean sure, there can be a lot of enemies on-screen, but it's not like they're colliding with each other. Just terrain. It should not have been hard at all to load balance collision checks: on frame A, do half the collision checks, and on frame B, do the other half.
    My guess is that they didn't do that. They hard-coded certain code to be in frame A and other code to be frame B, but one of those two frames can get overloaded.

  • @EveryDooDarnDiddlyDay
    @EveryDooDarnDiddlyDay 2 года назад

    I like attack delay in games. It keeps every game from being "mindlessly mash button to win"

  • @OptimusNiaa
    @OptimusNiaa 2 года назад

    Excellent as always.

  • @Dark.Shingo
    @Dark.Shingo 2 года назад

    Now I want a GG code for giving all turtles the attack power of Donatello and combine it with faster times for Leo and Don, that playthrough will be awesome!

    • @GeneralBolas
      @GeneralBolas 2 года назад +2

      Why would you ever use Donatello in that case? Leo has almost as much range (especially up and down), and his sweeping attack hits a lot of stuff. The only think that keeps Leo from being OP is that he only does half-damage.
      Rebalancing this game would be a good idea, but I don't think you can get good gameplay just from timings and damage changes. You'd really need to redesign the attacks themselves.

    • @Dark.Shingo
      @Dark.Shingo 2 года назад

      @@GeneralBolas I do agree, but at least I would switch between turtles more often instead of just using Don and falling back on Leo when afraid of losing him and use Mike and Ralf as sacrifices.
      Also, obviously just doing this for fun and mess around.

  • @jimmyhirr5773
    @jimmyhirr5773 2 года назад

    Sense-React-Confirm is like the OODA loop developed by Colonel John Boyd.

  • @makeitrein7366
    @makeitrein7366 2 года назад +6

    I remember when I got a copy of the Megaman Anniversary edition on the PS2 the game was practically unplayable because of the input lag. The game felt very sluggish, and definitely made me an unhappy camper.

    • @scorpionwins6378
      @scorpionwins6378 2 года назад +1

      I noticed that also with MMA and how it felt slightly different than the NES version, but would hardly rate it unplayable. To be honest I was overjoyed beyond words when I found out about a MegaMan 1-8 compilation for the PS2 and was more focused on the excitement of it that I hardly noticed any input lag.
      I'm a lover of retro games and having grew up on the Genesis console I thought it would be worthwhile to buy the Sonic Mega Collection, also for the PS2. And man that one suffered quite badly from input lag that even the sound had issues.

  • @TheSwillMan
    @TheSwillMan 2 месяца назад

    4:22 wait so the game checks collision against an invisible sword for no reason? doesn't that basically prove that the code was cut-and-pasted from Getsu Fuuma Den?