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
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!
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.
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)
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.
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?
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)
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.
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 😂
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.
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
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.
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!
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.
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.
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
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.
Intentional delay could be part of experience, ie hitting with forks shoud be faster than swords; but uncontinuous detecting controller is terrible. Great video.
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.)
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.
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.
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.
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.
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.
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.
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.
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!
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)
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.
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.
@@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.
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.
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!
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.
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
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.
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.
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!
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.
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 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.
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
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.
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 !
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.
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.)
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.
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.
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.
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.
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).
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.
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.
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.
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.
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?
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
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.
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.
@@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.
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.
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.
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.
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.
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?
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.
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.
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!
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.
@@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.
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.
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.
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?
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
Awesome! Voted for you
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!
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.
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)
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.
I would be interested in trying a fully fixed version of TMNT.
Same.
Same same.
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.
Yeah, when he finishes this series we should collect all of the best GG codes and use them.
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?
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)
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 😅
I think I'd feel vindicated.
"Look boss, people DO care"
Still better than GTA 3 😂
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.
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.
The amount of time taken to polish your videos must be immense. Your efforts are very much appreciated.
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 😂
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.
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
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.
Thank you!
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.
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!
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.
The Sega Master System was Much easier to program than NES.
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.
I now know why I preferred Raph over my fav. turtle, Donatello! 😆
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.
8 is more than 2 or 1.
This game always seemed really poorly programmed for a major Konami released. Your videos really hammer this home!
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
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.
Even moreso when you look at the DOS version that was literally unbeatable (covered in a previous video).
Release*
No wonder they called themselves Ultra!
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.
Intentional delay could be part of experience, ie hitting with forks shoud be faster than swords; but uncontinuous detecting controller is terrible.
Great video.
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.)
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.
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.
Eliminating sprite flicker and slowdown in Cowabunga collection is just scratching the surface. Now I want more after hearing this
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.
In the Famicom version, you can control the turtles during the intro.
Seeing how broken the NTSC version is, that doesn't suprise me.
TIL
Wow, this game really was as much of a programming trainwreck as I'd always thought as a kid.
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.
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.
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.
@@DoomRater Wait they do more damage below half health?? I NEVER KNEW THAT
@@ValkyrieTiara Everyone but Raph and boomerangs. Yes the special weapons do more damage as well!
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.
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!
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)
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.
Yeah I feel this game would be pretty great if it was fixed.
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.
@@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.
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.
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!
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.
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
Thanks!
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.
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.
Thanks! I love watching your methodical way of addressing these problems... and justifying my frustration with this game as a child.
Thank you! I am sorry about the frustrations you had!
@@DisplacedGamers lol thanks
These videos are food for the soul, for us old gamers who grew up with these games.
Hell yes, I love these videos. Always glad to see you pop up in my feed.
Was very interesting. Always good to know what's under the hood either when playing or even speedrunning these games
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!
As someone who, for some reason, played a ton of this game as a kid, I’m so happy to see this breakdown.
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.
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.
It would be interesting to look into the code and see why those old games behave like that.
Even James Bond 007 on N64 had those forever re-spawning enemies 😄
@@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.
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
For god’s sake, how is it even possible for an educational video about programming to be *THIS* entertaining?! 🤣👍
I love that you're dissecting this game in all areas. Fun game, bad code.
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.
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 !
I didn't realize Konami drums hit _that_ hard.
Awesome video as usual! Love the subtitles too, theyre a huge help for me!
this game is gonna get a fanmade "fix" patch because of these videos for sure
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.
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.
Always a good day to upload content from Displaced Gamers
Im now curious how paperboy moved the screen diagonally.
Man I love it when you upload for a game I'm familiar with
YAY! So glad to see this go live! Keep up the greatness!!
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.
I only half understand what you’re taking about, but I still like it.
always a good day when your videos pop up mate
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.)
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.
Every single episode is amazing! Thank you sir!
Thanks for doing a third one. These are fantastic!
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.
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.
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.
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).
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.
Another great episode! I shall try some of these codes you discovered!
This was awesome as usual. Great work!
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.
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.
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.
Donatello's Bo Staff has the highest damage and reach, so him having the slowest attack speed feels justified
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.
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?
seems like this ol game has gotten a resurgence of love ;3
There is def noticable lag in the cowabunga collection of tmnt nes version
I assume this game was rushed to market as so many of the issues appear to be bugs or are less than ideal implementations.
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
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.
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.
@@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.
id really love roms with all these additions love this series
Super interesting stuff and expertly explained!
Superb and informative video. Thank you. :)
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.
Thank you for the new video!
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.
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.
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.
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?
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.
I never got passed the third level in this game. It was just too sloppy and frustrating to play.
This is really impressive, thanks
Subscribed! Great video!
Really like this series would like to see more on TMNT
another great video. awesome stuff.
Uff, this guy is a very good teacher.
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.
I like attack delay in games. It keeps every game from being "mindlessly mash button to win"
Excellent as always.
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!
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.
@@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.
Sense-React-Confirm is like the OODA loop developed by Colonel John Boyd.
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.
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.
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?