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

  Рет қаралды 66,077

Displaced Gamers

Displaced Gamers

Күн бұрын

Пікірлер: 273
@DisplacedGamers
@DisplacedGamers 2 жыл бұрын
Hope everyone enjoyed this one. I hadn't planned to do a third TMNT episode, but I was encouraged to do one by another KZbinr 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 KZbinr 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 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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.
@tigerstyping
@tigerstyping 2 жыл бұрын
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 жыл бұрын
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 жыл бұрын
I think I'd feel vindicated. "Look boss, people DO care"
@unchi1999
@unchi1999 6 ай бұрын
Still better than GTA 3 😂
@dabradmp1
@dabradmp1 2 жыл бұрын
I would be interested in trying a fully fixed version of TMNT.
@themonsterunderyourbed9408
@themonsterunderyourbed9408 2 жыл бұрын
Same.
@jeffmoreau6844
@jeffmoreau6844 2 жыл бұрын
Same same.
@GabePuratekuta
@GabePuratekuta 2 жыл бұрын
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 жыл бұрын
Yeah, when he finishes this series we should collect all of the best GG codes and use them.
@Zye1984
@Zye1984 2 жыл бұрын
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?
@Dormat25
@Dormat25 2 жыл бұрын
The amount of time taken to polish your videos must be immense. Your efforts are very much appreciated.
@reloadpsi
@reloadpsi 2 жыл бұрын
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.
@ValkyrieTiara
@ValkyrieTiara 2 жыл бұрын
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 жыл бұрын
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.
@lpfan4491
@lpfan4491 2 жыл бұрын
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.
@dicariel
@dicariel Жыл бұрын
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.
@DisplacedGamers
@DisplacedGamers Жыл бұрын
Thank you!
@BenHeckHacks
@BenHeckHacks 2 жыл бұрын
This game always seemed really poorly programmed for a major Konami released. Your videos really hammer this home!
@DoomRater
@DoomRater 2 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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!
@VinsCool
@VinsCool 2 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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 Жыл бұрын
The Sega Master System was Much easier to program than NES.
@DonYagamoth
@DonYagamoth 2 жыл бұрын
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
@adriansdigitalbasement
@adriansdigitalbasement 2 жыл бұрын
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! 😆
@SomeIdiota
@SomeIdiota 2 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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.)
@Yakushii
@Yakushii 2 жыл бұрын
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.
@mightyfilm
@mightyfilm 2 жыл бұрын
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.
@50shadesofbeige88
@50shadesofbeige88 2 жыл бұрын
Thanks! I love watching your methodical way of addressing these problems... and justifying my frustration with this game as a child.
@DisplacedGamers
@DisplacedGamers 2 жыл бұрын
Thank you! I am sorry about the frustrations you had!
@50shadesofbeige88
@50shadesofbeige88 2 жыл бұрын
@@DisplacedGamers lol thanks
@3rdalbum
@3rdalbum 2 жыл бұрын
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.
@Sledgex3
@Sledgex3 2 жыл бұрын
In the Famicom version, you can control the turtles during the intro.
@PowerUpT
@PowerUpT 2 жыл бұрын
Seeing how broken the NTSC version is, that doesn't suprise me.
@DaveVoyles
@DaveVoyles 2 жыл бұрын
TIL
@malkneil
@malkneil 2 жыл бұрын
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 жыл бұрын
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)
@kri249
@kri249 2 жыл бұрын
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 жыл бұрын
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 жыл бұрын
@@DoomRater Wait they do more damage below half health?? I NEVER KNEW THAT
@DoomRater
@DoomRater 2 жыл бұрын
@@ValkyrieTiara Everyone but Raph and boomerangs. Yes the special weapons do more damage as well!
@c.cooper2877
@c.cooper2877 2 жыл бұрын
Wow, this game really was as much of a programming trainwreck as I'd always thought as a kid.
@nickfarace9339
@nickfarace9339 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.
@Manticore_007
@Manticore_007 2 жыл бұрын
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.
@Ragesauce
@Ragesauce 2 жыл бұрын
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.
@headman82
@headman82 2 жыл бұрын
Eliminating sprite flicker and slowdown in Cowabunga collection is just scratching the surface. Now I want more after hearing this
@awesomedata8973
@awesomedata8973 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
@DisplacedGamers
@DisplacedGamers 2 жыл бұрын
Thanks!
@DoomRater
@DoomRater 2 жыл бұрын
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 жыл бұрын
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.
@bjwaters
@bjwaters 2 жыл бұрын
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 Жыл бұрын
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.
@EvilCoffeeInc
@EvilCoffeeInc 2 жыл бұрын
Hell yes, I love these videos. Always glad to see you pop up in my feed.
@vampiretrunks
@vampiretrunks 2 жыл бұрын
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.
@Juanknes
@Juanknes 2 жыл бұрын
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.
@jessemartinez395
@jessemartinez395 2 жыл бұрын
These videos are food for the soul, for us old gamers who grew up with these games.
@MartinBayThomsen
@MartinBayThomsen 2 жыл бұрын
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.
@jessejohnston5602
@jessejohnston5602 2 жыл бұрын
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!
@maneater3795
@maneater3795 2 жыл бұрын
Just got randomly recommended this by KZbin 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
@Meganarb
@Meganarb 2 жыл бұрын
Awesome video as usual! Love the subtitles too, theyre a huge help for me!
@bedwablackburn
@bedwablackburn 2 жыл бұрын
Was very interesting. Always good to know what's under the hood either when playing or even speedrunning these games
@Lumaga
@Lumaga 2 жыл бұрын
I love that you're dissecting this game in all areas. Fun game, bad code.
@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 жыл бұрын
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 жыл бұрын
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 жыл бұрын
It would be interesting to look into the code and see why those old games behave like that.
@timberwolves100
@timberwolves100 2 жыл бұрын
Even James Bond 007 on N64 had those forever re-spawning enemies 😄
@PedroPaulo-zh2nm
@PedroPaulo-zh2nm Жыл бұрын
@@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.
@PhilipMurphy8Extra
@PhilipMurphy8Extra 2 жыл бұрын
Always a good day to upload content from Displaced Gamers
@MissAshley42
@MissAshley42 2 жыл бұрын
I didn't realize Konami drums hit _that_ hard.
@briankarcher8338
@briankarcher8338 2 жыл бұрын
Cool video. I wonder if somebody has tried to get TMNT to run at 60 FPS. You should have more subs. Best channel on KZbin.
@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 !
@Ver2ion
@Ver2ion Жыл бұрын
id really love roms with all these additions love this series
@ryanhutchinson4467
@ryanhutchinson4467 2 жыл бұрын
For god’s sake, how is it even possible for an educational video about programming to be *THIS* entertaining?! 🤣👍
@hawshimagical
@hawshimagical 2 жыл бұрын
this game is gonna get a fanmade "fix" patch because of these videos for sure
@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.
@fromthegamethrone
@fromthegamethrone 2 жыл бұрын
Man I love it when you upload for a game I'm familiar with
@DerekMoore82
@DerekMoore82 2 жыл бұрын
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.
@jimpeppercorn6244
@jimpeppercorn6244 2 жыл бұрын
always a good day when your videos pop up mate
@WyrdieBeardie
@WyrdieBeardie 2 жыл бұрын
Every single episode is amazing! Thank you sir!
@downscale
@downscale 2 жыл бұрын
YAY! So glad to see this go live! Keep up the greatness!!
@powercage
@powercage 2 жыл бұрын
I only half understand what you’re taking about, but I still like it.
@lucetubegplusstillsux2678
@lucetubegplusstillsux2678 2 жыл бұрын
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.
@markusfassbinder8275
@markusfassbinder8275 2 жыл бұрын
Thank you for the new video!
@MatusFinchus
@MatusFinchus 2 жыл бұрын
Superb and informative video. Thank you. :)
@ArmandoDoval
@ArmandoDoval 8 ай бұрын
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.
@paulrahme
@paulrahme 2 жыл бұрын
Thanks for doing a third one. These are fantastic!
@ClassicTVMan1981X
@ClassicTVMan1981X 2 жыл бұрын
Another great episode! I shall try some of these codes you discovered!
@hola3535
@hola3535 2 жыл бұрын
Uff, this guy is a very good teacher.
@whthafk
@whthafk 2 жыл бұрын
This was awesome as usual. Great work!
@skyshadow6617
@skyshadow6617 2 жыл бұрын
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).
@the_primal_instinct
@the_primal_instinct 2 жыл бұрын
Donatello's Bo Staff has the highest damage and reach, so him having the slowest attack speed feels justified
@gogeeeter
@gogeeeter 2 жыл бұрын
Super interesting stuff and expertly explained!
@b.o.4492
@b.o.4492 2 жыл бұрын
Subscribed! Great video!
@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.
@timothymclean
@timothymclean 2 жыл бұрын
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.)
@nivoset
@nivoset 2 жыл бұрын
Im now curious how paperboy moved the screen diagonally.
@ScootZMedia
@ScootZMedia 2 жыл бұрын
seems like this ol game has gotten a resurgence of love ;3
@TheCodeAlwaysWins
@TheCodeAlwaysWins 2 жыл бұрын
This is really impressive, thanks
@SpectraPrime
@SpectraPrime 2 жыл бұрын
Really like this series would like to see more on TMNT
@nickwallette6201
@nickwallette6201 2 жыл бұрын
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
@affegpus4195
@affegpus4195 2 жыл бұрын
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.
@NavJack27gaming
@NavJack27gaming 2 жыл бұрын
another great video. awesome stuff.
@OptimusNiaa
@OptimusNiaa 2 жыл бұрын
Excellent as always.
@JosephDavies
@JosephDavies 2 жыл бұрын
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?
@Sandata64RD
@Sandata64RD 2 жыл бұрын
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 жыл бұрын
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.
@CodeXCDM
@CodeXCDM 2 жыл бұрын
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.
@Lilithe
@Lilithe 2 жыл бұрын
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.
@slot9
@slot9 2 жыл бұрын
Great stuff!
@michaelmorgan9009
@michaelmorgan9009 2 жыл бұрын
There is def noticable lag in the cowabunga collection of tmnt nes version
@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.
@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.
@Ultimaximus
@Ultimaximus 2 жыл бұрын
14:37 I see that controller corruption happens fairly often, but how often is it that it actually affects and delays your button presses? (To phrase it differently, what percentage of your button presses will get delayed?)
@BenRitter
@BenRitter 2 жыл бұрын
god i love this channel
@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.
@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.
@dmorley100
@dmorley100 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?
@johneygd
@johneygd 2 жыл бұрын
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.
@catholiccontriversy
@catholiccontriversy 2 жыл бұрын
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.
@jason92278
@jason92278 Жыл бұрын
coolest tmnt Konami codes i could never beat shredder at the end.
@TehDrewsus
@TehDrewsus 2 жыл бұрын
2:05 this is why the Mortal Kombat Arcade Kollection releases on PS3 and xb360 are soooooo bad
@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 жыл бұрын
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.
@xotmatrix
@xotmatrix 2 жыл бұрын
Love it.
@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 жыл бұрын
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.
@jillcrungus
@jillcrungus 2 жыл бұрын
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.
The Bad Jump Design and 30 FPS Gravity of TMNT (NES) - Behind the Code
13:38
How Speedrunners BROKE Castlevania's Scrolling - Behind the Code
17:24
Displaced Gamers
Рет қаралды 97 М.
Как Я Брата ОБМАНУЛ (смешное видео, прикол, юмор, поржать)
00:59
If people acted like cats 🙀😹 LeoNata family #shorts
00:22
LeoNata Family
Рет қаралды 42 МЛН
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 34 МЛН
The Complex Code of Mega Man 2 and How Zipping Works - Behind the Code
16:15
Contra - Behind the Code
23:02
Displaced Gamers
Рет қаралды 219 М.
Digital Decay Of 2000's PC Game DRM
17:14
Tech Tangents
Рет қаралды 795 М.
Reprogramming Dr. Jekyll and Mr. Hyde (NES) - Behind the Code
18:52
Displaced Gamers
Рет қаралды 77 М.
Как Я Брата ОБМАНУЛ (смешное видео, прикол, юмор, поржать)
00:59