Komentáře •

  • @Truffle_D_Toad
    @Truffle_D_Toad Před 2 lety +271

    Quick Man is so fast that he runs into a wall before even realizing he hit it.

  • @poopoo-dk4hu
    @poopoo-dk4hu Před rokem +8

    roahmmythril must be relieved, his long time rival explained...

  • @Frewition
    @Frewition Před 2 lety +59

    Quick was always my favorite robot master. It's fun that the running into walls was made a canon part of his character. The lore says that he moves so fast that got his visual processing lags behind his actual movement

    • @tjcihlar1
      @tjcihlar1 Před 2 lety +3

      Oh I hated the guy, too many deaths. And after having to go through the stage with the instakill bars.

    • @newton4010
      @newton4010 Před 6 měsíci +1

      ​@@tjcihlar1 sane, after playing the japanese version of Mega Man the Wily Wars ( Rockman Mega World ), which is the best version to play ( the PAL version is slowed down ), I sufferend against this guy. Each shot dealt 1 damage, each shot = 1 damage. It's basically impossible to kill that guy so I used 2 of his weaknesses.

  • @zazelby
    @zazelby Před 2 lety +423

    I read recently somewhere that Quickman's AI was designed with a flat floor in mind, so the devs raised the floor of Quickman's room like that to deliberately trigger the AI mistakes and make him a little easier than he otherwise would have been. And then, later, you fight him on a flat floor during the rematch to make him harder. I wish I could find where I read that again. (I'll post again if I can find it) :D

    • @GeneralBolas
      @GeneralBolas Před 2 lety +64

      That's weird because, while the raised floor does give you some opportunities to take advantage of his AI, it also makes it much harder to jump *over* him when he charges at you. On flat ground, jumping over him is pretty easy.

    • @kruks
      @kruks Před 2 lety +8

      @@JamieVegas - Yep. You're welcome.

    • @rickwhite3817
      @rickwhite3817 Před 2 lety +1

      @@JamieVegas p

    • @InternetSlavicMan
      @InternetSlavicMan Před rokem +19

      @@JamieVegas While this is a theory I thought of in a few minutes, I think it's plausible. Mega Man 2 was developed in the free time of the team between other projects. So, because of that it had some time crunch. Which means some of the rough edges of the game weren't ironed out in time for the release. I think Quick Man's A.I. bugging out on the raised floor is a part of that.

    • @kaizoman25
      @kaizoman25 Před rokem +10

      First the flat floor applies to all the remaches with some things like metal man’s conveyer being removed and flash man not having ice physics. The second thing is that Quick Man is actually much harder to fight on the original arena than the flat floor. I have done buster only and no damage runs on almost every robot master in every game and I for a fact know it took me longer to do a perfect run on quick man on the original elevated room than the flat floor. Also the bugs make him even harder as sometimes he will just run over the gaps while sometimes he will get stuck and the player doesn’t know which of the sequences will happen.

  • @topazlight1586
    @topazlight1586 Před 2 lety +260

    It's so interesting how clumsy AI coding results in a slight difficulty increase during the endgame rematch! Kinda reminds me of how Space Invaders' gradually increasing speed is really just slowdown decreasing as the player reduces the number of sprites the game has to keep track of.

    • @jasonblalock4429
      @jasonblalock4429 Před rokem +28

      Yeah, it's one of those cases where you have to wonder if the bugs were deliberately left in. It seems like the "buggy" version of the fight is more dynamic and interesting than a "fixed" version. He's easier to hit if he gets stuck, but you can never predict when you'll get a clear shot. It's a bit of accidental randomness that works in the fight's favor.

    • @MakotoIchinose
      @MakotoIchinose Před rokem +3

      TL;DR: It's not a bug, it's a feature

  • @ValkyrieTiara
    @ValkyrieTiara Před 2 lety +94

    I wonder if this might have been a known bug that was left in on purpose? Quick Man in his "broken" state is already arguably the hardest of the 8 robot masters in Mega Man 2, so the additional "downtime" to get a few hits in now and then as well as what is effectively a randomization of his jump count could have been seen as being better than the intended behavior, and was intentionally left in. Sometimes "good enough" is better than a polished product lol

    • @MasterKnightDH
      @MasterKnightDH Před 2 lety +3

      Wouldn't the nullification of the first jump make the second jump's boomerangs harder to combat simply by making them less predictable? There are times when speed is less of a threat than unpredictability.

    • @ValkyrieTiara
      @ValkyrieTiara Před 2 lety +5

      @@MasterKnightDH Possibly! But two things with that:
      First, I don't know the exact stats for that fight specifically, but GENERALLY speaking their weapon is a robot master's weakest attack. Conversely, worst thing you can usually do when fighting a boss is hug him. This is one of the primary reasons why Quick Man and Heat Man (and, to a lesser extent, Air Man) tend to be the most troublesome fights, and Bubble Man and Flash Man tend to be easier. It's really easy to stay away from the latter, and really hard with the former. To put it another way: Quick Man's most lethal attack is touching you, and I'll take making it easier to avoid that than boomerangs any day of the week.
      The second thing is that, with Quick Man specifically, the hardest part isn't even avoiding damage from boomerangs OR him. It's landing return fire. Any battle with Quick Man is going to fundamentally be a war of attrition, and I feel like anything that makes it easier to hurt him consistently is a hard nerf to the fight.

    • @kered13
      @kered13 Před rokem +2

      @@ValkyrieTiara Heat Man is very easy, his pattern is simple and and reactable. He's easily the easiest boss in MM2 to beat without taking damage.

    • @kered13
      @kered13 Před rokem +3

      @LordGoomba Crashman has a simple pattern that is easily manipulated. Once you get it down he is easy to beat with just the buster.

    • @michaelruiz6530
      @michaelruiz6530 Před rokem +1

      I wouldn't say quick is the hardest it just impossible not to get hit due to his random AI cause the buster does a lot of damage even on difficult. just come to the battle with full health and with luck you will easily win.

  • @nodever2hacksmetroid317
    @nodever2hacksmetroid317 Před 2 lety +56

    SNES ASM hacker here. We love your videos man, you do a great job showing the technical details but quickly summarizing it in an easily digestible way with great visual aids. Of course it helps that Mega Man is one of my favorite NES games. Great work :)

  • @makeitrein7366
    @makeitrein7366 Před 2 lety +162

    Definitely an interesting breakdown on AI, especially in a capcom game. Its interesting to see how something as arbitrary as his failed ejection code changes the fight drastically when its fixed. Not sure when you would even get a chance to shoot him! Better get flashman's weapon and pray

    • @residentgrey
      @residentgrey Před 2 lety

      the many tricks to get more out of less create interesting situations.

    • @megacadgeo9758
      @megacadgeo9758 Před 2 lety +7

      RoahmMythril Did a no-damage, buster-only run of QUICK MAN's stage. The video is like 10 years oldor something tho

    • @wandwoodgames5699
      @wandwoodgames5699 Před rokem

      RoahmMythril, is a name I have not heard in years.

    • @TARINunit9
      @TARINunit9 Před rokem +1

      "Fixed" Quick Man would probably be considered easier by the hardcore players because he would be far more predictable. Vanilla Quick Man can jump randomly and shoot randomly depending on whether or not he gets stuck in the wall. "Fixed" Quick Man does not shoot randomly, you will always be able to tell when he will shoot, making it much easier to dodge

    • @residentgrey
      @residentgrey Před rokem

      @@wandwoodgames5699 who is or was RoahmMythril? Feel free to reply with as many game tropes and lines as you please.
      EDIT: AAAAND I see the original line now...lol

  • @SmeddyTooBestChannel
    @SmeddyTooBestChannel Před 2 lety +54

    this channel is one of the few times i genuinely get excited for someone to lecture me over the internet about something

  • @honorablejay
    @honorablejay Před 2 lety +53

    Wait a minute, Quickman can block certain weapons??? I've never seen that happen before.

    • @serPomiz
      @serPomiz Před rokem +11

      you actually have to hit him with those, and generally taht does not happen unless you're testing damages, or have no idea of what's his weackness

    • @speedypichu6833
      @speedypichu6833 Před rokem +3

      @@serPomiz Yeah, I have only seen it to beat the game without getting hit, because this boss is a massive run killer

    • @smegulate9826
      @smegulate9826 Před rokem +1

      Don't remember seeing that either. Seems like a useful deliberate strategy

  • @ejmc6378
    @ejmc6378 Před 2 lety +6

    15:39 "The vertical check sees that his top right side is stuck in what it assumes is the ceiling." See, I wasn't entirely sure I was following what was going on until you said this, and then it all clicked into place with a horrified, "Oh no. Oh no no no no".

  • @toffeeFairy
    @toffeeFairy Před 2 lety +18

    Always fun to see how one flip in the order messes up everything after that.

  • @MaxOakland
    @MaxOakland Před 2 lety +7

    I read that Megaman 2 was made under an extremely tight schedule and they only had time to test if the code worked, but didn’t have time to refine it or make sure it worked *well*
    That explains a lot about this

    • @skyscrapersx5877
      @skyscrapersx5877 Před 5 měsíci

      nah this was on purpose, the ejection looks more natural than the programming fix

  • @Grizabeebles
    @Grizabeebles Před rokem +2

    There's an in-universe explanation for bosses in MegaMan games to have bugged code. Dr. Light designed the processing hardware and AI code of the original robot masters while Dr. Wiley took lead on the power core and body design.
    Quick Man having flawed code for handling collisions is just... funny.

  • @thecunninlynguist
    @thecunninlynguist Před 2 lety +64

    I love these breakdowns. As a kid I used to just try and rush most mega man bosses. One AI break down that would be interesting to learn about is the one in Final Fantasy tactics. There have been a few times I've seen it be clever, and more times where they were dumb (mostly ally AI)

    • @residentgrey
      @residentgrey Před 2 lety +5

      I read a piece on the corelation to code in ff5 being relatable to FFT code. Through it I was able to revise my own play strategies in ff5 and got me thinking of how FFT could be fixed to work better. There are many flaws and untold features that need light shed on them in both games frankly.

    • @arciks11
      @arciks11 Před 2 lety

      @@residentgrey Do you have a link to that article?

    • @MrVariant
      @MrVariant Před 2 lety +1

      I did an AI FFT battle with description text czcams.com/video/Zwuu99twlNw/video.html
      You need good setup like tailwind (defender) and geomancer as well as use berserker for who attacks. No idea how to set up turn 1 golem. Shame setup is probably needed, let alone Agrias is only good as another class as holy knight has low attack. Did a ton of exploits with that game too.
      Though a technical info like this I couldn’t do.

    • @residentgrey
      @residentgrey Před 2 lety +2

      @@MrVariant geomancy was my go-to backup skill after the samurai blade skills. Hell Ivy alone ended up clutch too many times with its excellent Stop chance. There are some interesting combinations that work in that game, so much so I opt for those combos instead of really using much of what is available.

    • @MrVariant
      @MrVariant Před 2 lety +1

      @@residentgrey oh sure glad I could help. The power garb helps Agrias there as well though surprisingly she makes a better monk with equip sword for higher physical attack and holy sword. Lol the game makes no sense. I know a speed run where rpg limit break abused the time mage's quick for draw out when not doing the obvious with math skill and farmed jp fast by the Friendly Fire Tactics moniker (I'd throw stone or tailwind myself). I owned midlight deep on chocobo with Ramza as an onion knight with glacier gun on chocobo, and Reis' holy breath is rapha on steroids, doing about 400 damage per random hit.
      Final boss I had a vid didn't even get a final turn without Orlandu and reacts by buffing faith lol. czcams.com/video/WVrKIGX0Gr4/video.html

  • @fourtwizzy
    @fourtwizzy Před 2 lety +24

    Four years for a CS degree, better education in less than 20 minutes. Keep up the good work my friend.

    • @skyscrapersx5877
      @skyscrapersx5877 Před 5 měsíci

      what does a CS degree have to do with game dev? its a little broad dontcha think

    • @fourtwizzy
      @fourtwizzy Před 5 měsíci

      @@skyscrapersx5877 How did you watch this video and walk away with thinking it is about “game dev”?

    • @skyscrapersx5877
      @skyscrapersx5877 Před 5 měsíci

      @@fourtwizzy my friend this entire video is gamedev material, how did you watch this video and walk away thinking it "wasn't about game dev" ?

    • @jessedaniels2230
      @jessedaniels2230 Před 5 měsíci

      @@skyscrapersx5877 My amigo. One does not teach game dev by dissecting a video game, showing you the assembly code, and then how to modify said values using Game Genie codes. The video isn't teaching you how to remake or create Megaman 2 in Unity. They are literally reverse engineering the game code, to find what is wrong, and then fixing it. This has far more to do with computer science than it does game dev. Go ask a game dev the last time the debugged assembly code, or didn't use a premade engine and didn't use a high level programming language.
      Maybe you don't see the parallels between this and computer science, so only believe it to be "game dev"?

    • @skyscrapersx5877
      @skyscrapersx5877 Před 5 měsíci

      @@jessedaniels2230 my friend there is a lot to address in your comment, a lot of assumptions that make you look silly. There are new NES games made all of the time, assembly code is still code and everything mentioned in all of these videos are used in game dev. I'm not sure where you are getting "unity" from, but that is amateur shit. You sound like a person that doesn't, and cannot, make games - so please stop trying to lecture me about this video that is literally about game development at the core. What are you using the code for? Websites? Is that your CS degree? No? See how assuming works?

  • @VinsCool
    @VinsCool Před 2 lety +63

    You know the Quick Man flicker would have made so much more sense if it was actually on purpose to give the illusion he moves so fast he blurs.
    I was surprised to learn this was a bug all along! I think this could totally work out, have a simple counter where 1 pixel is added every other frame in either direction, AFTER the velocity logic.
    That would look pretty convincing for running/jumping in a direction at the speed of, well, QUICK, lol

    • @VinsCool
      @VinsCool Před 2 lety +3

      I wonder how much work would be needed to fix the Quick Man's entire behaviour, that would be a pretty cool ROMhack project...
      it's funny how much the explanations make a lot of sense, and make me wonder "did they even test their stuff?" lol

    • @skyscrapersx5877
      @skyscrapersx5877 Před 5 měsíci

      Don't take it for fact that it's a bug, to me it seems like it's on purpose

  • @awesomedata8973
    @awesomedata8973 Před 2 lety +15

    Also -- Thanks for fixing Quick Man.
    It's very strange to see him behaving the way he was _meant_ to behave in that stage! :D

    • @skyscrapersx5877
      @skyscrapersx5877 Před 5 měsíci

      no one is confirming he was *meant* to behave that way

  • @spinyjustspiny3289
    @spinyjustspiny3289 Před rokem +3

    I always thought that Quick Man running into walls was a statement on Wily's recurring "good enough" methodology for designing his robot masters. He made Quick Man run fast, but his processors can't quite keep up with his feet. Kind of like how some species of bug are so small and so fast that they need to stop mid-run because their eyes don't catch enough light.

  • @Eyetrauma
    @Eyetrauma Před 2 lety +2

    I’m imagining Dr. Wily watching this video and getting increasingly frustrated until he throws a clipboard across his lab

  • @topbravo
    @topbravo Před 2 lety +2

    This one was so much fun! Thank you for taking the time to make this.

  • @ScrambledAndBenedict
    @ScrambledAndBenedict Před 2 lety +3

    I'm willing to bet those glitches were left in to make Quick Man more manageable to defeat. Notably too, his AI was written with a flat arena in mind but they added those bumps to make him easier, no doubt knowing he'd get hung up on them as well to provide more opportunities to hit him (which is why the Wily Stage rematch is so much harder: you fight him in a flat arena that time).

    • @skyscrapersx5877
      @skyscrapersx5877 Před 5 měsíci +1

      exactly. I don't know how anyone would ever see this as a bug unless they didn't actually grow up with an NES

  • @luridsorcerer
    @luridsorcerer Před 2 lety +20

    When I first started trying to program games I made exactly the same kinds of mistakes. If that puts me on par with Capcom's NES-era team, I'll consider myself in good company!

  • @omegarugal9283
    @omegarugal9283 Před 2 lety +9

    these vids are highly educative, im working on my own megaman maker game and coding is my current goal

  • @awesomedata8973
    @awesomedata8973 Před 2 lety +12

    This was, by far, my favorite video! -- Great job on the technical explanations and animated visualizations!!! :D

  • @malkaviangrin9440
    @malkaviangrin9440 Před rokem +1

    This is such a cool channel. Every time I watch something from you, I learn a little more about code, despite being a coder at a few jobs. It's so interesting to see under the hood of my childhood games.

  • @VinsCool
    @VinsCool Před 2 lety +2

    Displaced Gamers and Retro Games Mechanics Explained uploaded the same day, this is going to be a nice Friday night

  • @residentgrey
    @residentgrey Před 2 lety +11

    it would have been better to have had a flat and low floor with platforms above in that boss stage too. I can also see some other movement logic that could scan better now. This brings forth many other options for a fix or enhancements.

    • @DisplacedGamers
      @DisplacedGamers Před 2 lety +10

      I agree. The room layout for Quick Man doesn't really seem like a good design for his a.i. - broken or not.
      Yet! It is possible that the room layout was designed in that way to help curb the difficulty for the player. Him running inside a "channel" in the floor will cage him momentarily.

  • @zyad48
    @zyad48 Před 10 měsíci

    I just found your channel and these videos are an absolute blast to watch.
    I've been getting into gamedev myself and these videos really show off a lot of particular tricks and solutions to problems that i find genuinely invaluable.
    As interesting as these videos are on a surface level to me (I love tech and programming) they're absolutely amazing reference material. The quality in the editing and explanations are top notch

  • @birdrun4246
    @birdrun4246 Před 2 lety +8

    It's fascinating to me that these games don't use a common 'eject from wall/floor' routine for everything, Especially since the robot masters and Megaman are all the same size and do running/jumping physics.

    • @skyscrapersx5877
      @skyscrapersx5877 Před 5 měsíci

      that incorrect, they don't do the same running/jumping physics - literally in this video mega man and quick man have different velocities

  • @sagacious03
    @sagacious03 Před 2 lety

    Neat analysis video! Thanks for uploading!

  • @beaulachance7439
    @beaulachance7439 Před 2 lety +2

    Time for some coffee and code. Love these vids!

  • @vineheart01
    @vineheart01 Před 2 lety +10

    i remember hearing that Quikman's difficulty was more due to the broken code than design, and supposedly the designers knew the code was broken but because of the difficulty spike and lack of any game-breaking issues they left it alone.
    Hear-say of course.
    But hearing this...i dunno how truthful that is anymore. If hes constnatly in the air surely thats harder than what we got

    • @DisplacedGamers
      @DisplacedGamers Před 2 lety +17

      Thanks for leaving this comment, vineheart01. I have heard this line of reasoning for many of the bugs found in various games - another example being the pendant bug in Faxanadu. The game thinks you have the pendant at the start of the game and then takes away the power if you pick it up. Some have claimed the developers did it as a lazy fix for the difficulty, but this line of thought doesn't make sense to me.
      Unless the developers for Game X specifically state that they knew something was broken and they left it that way due to time constraints OR that yes, they did make a "dumb tweak" to adjust game difficulty, I am going to assume things like Quick Man getting stuck in a wall or inverse pendant logic in Faxanadu are simply bugs rather than a poor programmer's design tweak for difficulty.
      To specifically answer the Quick Man issue - If I were the programmer and was allowed the time to fix the bug, I would have:
      1: Fixed the wall ejection logic vs velocity application order and also corrected the off by one bug.
      2: Probably have noticed the change in difficulty and suggested to the project lead/designer that we increase the frame count for Quick Man's running phase - literally change one value. Heck - I may have even made the tweak without asking depending on my working relationship with other people on the dev team.

    • @ZipplyZane
      @ZipplyZane Před 2 lety

      @@DisplacedGamers My issue is that, unlike the off-by-one errors, this seems a weird bug to have show up. Why would you run these in the wrong order in the first place?

    • @vineheart01
      @vineheart01 Před 2 lety +3

      @@ZipplyZane Probably just early development woes, theres a TON of decision or shortfalls in the old games that nobody would even consider an issue these days, they'd just casually fix it and move on.

    • @nickwallette6201
      @nickwallette6201 Před 2 lety +6

      @@ZipplyZane I think it's easier to see these logic errors when you're looking at a finished code base. But remember, the specific routines that we're seeing now may have appeared (been programmed) in ANY order, and the code within changed in minor or major ways, at any time. Who knows what state it was in, when a given bug was introduced, and then how it changed afterward.

    • @Phryj
      @Phryj Před 2 lety +8

      @@ZipplyZane One thing to keep in mind: Capcom only let the team work on the game in their spare time AND still expected them to have it complete within a certain time frame. The fact they had to deal with these constraints, ended up releasing it somewhat incomplete and with flaws, and yet it is still considered one of the best games of all time is nothing short of incredible.

  • @freddywondercat1362
    @freddywondercat1362 Před 2 lety +1

    Idk how easily this can be checked, but I wonder how many of the bugs w/ this boss carried over to the Mega Man 3 re-fight.

  • @jordanscherr6699
    @jordanscherr6699 Před 2 lety +9

    Remember that this game was coded quickly, early in gaming's history and during the team's spare-time. So I'm thinking this is a combination of bugs and getting the boss done as swiftly as his character. Not a good combo for being careful with the order of operation.

    • @TravisTev
      @TravisTev Před 2 lety

      Quite plausible. It could even be that the developers were aware of some of the flaws but only had time and resources to devote to more important development issues; such situations seem not uncommon in the industry.

    • @jordanscherr6699
      @jordanscherr6699 Před 2 lety

      @@TravisTev That's my thoughts, in particular here. The bottom line is they had a bum-wrap (Poor Conditions) with which to make a classic game. They succeeded, but at the cost of missing some fine details and cleanup. If you want MM2 refined, look for the "Megamix" patch for the game online. It smooths out A LOT of what the team missed without altering the game too radically. Even give you the option of applying fixes as one sees fit.

    • @Gnidel
      @Gnidel Před rokem

      Also, Quick Man is a robot. It makes sense from a lore standpoint that Dr. Wily made some bugs.

  • @Arikayx13
    @Arikayx13 Před 2 lety +1

    More of these please! The code behind why AI does odd things is fascinating!

  • @geraq0
    @geraq0 Před 4 měsíci

    This is fascinating, I'm both amazed and grateful for this bug as it makes the battle more unpredictable and at the same time it makes it a little easier.

  • @MaestroUJ
    @MaestroUJ Před 2 lety +2

    Okay! I was wondering what codes Dr. Wiley used! Genius work but it looks like he may have designed him to quickly!

  • @pointedspider
    @pointedspider Před 2 lety

    With the title alone, you will never run out of content!

  • @Tom-cq2ui
    @Tom-cq2ui Před 2 lety

    Really makes me wonder where is the line between intelligence and an organism/computer following simple tasks.
    Lovely breakdown!

  • @ccanaves
    @ccanaves Před 2 lety +1

    That "ejection" being in the wrong place made me remember something similar that happens in Rockman/Megaman 4 when you beat a boss. There's an animation where Rockman/Megaman runs to the middle of the screen, jumps and stays floating in mid-air to "absorbe" the new power. But what happens if Rockman/Megaman is already standing in the middle of the screen? Well, the animation skips the jump and suddenly "teleports" Rockman/Megaman to mid-air. I haven't looked at the code, but probably there's some kind of routine that goes something like "check distance to center of the screen > run to center > jump", then call the "absorbe" routine; but if you're already there at the center, it skips the routine completely and goes directly to "absorbe power" in mid-air, skipping the jumping part.
    I remember when I was a kid having fun trying to position megaman exactly in the middle to trigger this after every boss fight. Want to investigate it?

    • @lpfan4491
      @lpfan4491 Před 2 lety

      That seems like a case of incorrect branching instead. "If this is the case, then jump to that other place in the code", except they put said point one action too late.

  • @ChoosenOneStudios
    @ChoosenOneStudios Před rokem

    Really great vid :)

  • @RaposaCadela
    @RaposaCadela Před 2 lety +2

    This is great! With the patch, Quickman became way more nimble, but at the same time way more predicable. I think that balances it. Some boss batles in the Megaman series feel like you gotta get lucky (ie Shadowman) and this was one of them, but now it's clear something really wasn't working correctly

  • @SECONDQUEST
    @SECONDQUEST Před 2 lety

    I'm so excited!

  • @ItsHyomoto
    @ItsHyomoto Před 8 měsíci

    I don't know if it's the most important part of the video, but I enjoy seeing you look for the simplest solution to a problem. It would be easy to go, "Okay, we'll rewrite it but good this time." Easy, in quotations of course, but asking, "What is the simplest change we could make that would solve the issue, or even just have the largest impact?" is a great skill. Watching you demonstrate how to break down code, analyze it, and then look for improvements has probably helped a lot of people become better programmers.

    • @DisplacedGamers
      @DisplacedGamers Před 8 měsíci +1

      Thank you! Attempting to use a Game Genie for a fix helps restrict me to changing just a few bytes - although I break the rules and create a new subroutine on occasion.

  • @user-sl6gn1ss8p
    @user-sl6gn1ss8p Před 2 lety +5

    This is one of those times you could make a case that it's not a bug, it's a feature

    • @MrCheeze
      @MrCheeze Před 2 lety +2

      At least, if any balance tweaking of the boss was done, it was done based off the "broken" code, not the fixed version.

  • @kri249
    @kri249 Před 2 lety

    Since I'm currently learning coding it's nice to hear familiar terms. Before it was even mentioned I suspected Megamans position would be factored in the AI logic. I love your eork with these videos Chris, keep em coming mate. They're always a treat.

  • @em00k
    @em00k Před 2 lety

    Great stuff, I'd love to see more on the fixed maths used - I take it's 4.4? Love these videos.

  • @marscaleb
    @marscaleb Před 2 lety +3

    This was the most fascinating (and useful) video you've done about Mega Man 2 thusfar.
    (Though admittedly it required groundwork set by previous videos.)
    I had never supposed that so much of his randomness was actually created by errors in the code.
    Now I'm curious about so many other robot masters. What are the other bosses' patterns, and what factors may have influenced their apparent challenge? Were the bosses in the later games easier to master because their behavior was less buggy, or was this just part of the changes in design?

  • @crashnip
    @crashnip Před 2 lety +1

    Fun to learn how monsters and machines attack in old games :)

  • @ericsbuds
    @ericsbuds Před 2 lety

    really great video

  • @Xstioph
    @Xstioph Před 4 měsíci

    As always, way above my head, but still very enjoyable to watch! 👌

  • @pokepe12
    @pokepe12 Před rokem

    I've been looking for a channel liek yours for a long time, im glad i finnaly found it.

  • @aeolusstone5260
    @aeolusstone5260 Před 2 lety

    MegaMan and programming discussion in one video? LIKED.

  • @adonisx82
    @adonisx82 Před rokem +1

    Well thanks man, I was just about to go to bed when I came across this now I’m goin down a rabbit hole 😂

  • @mitchellpatterson3044
    @mitchellpatterson3044 Před 2 lety +6

    ROAHM! ROAHM WE FOUND IT!!!

    • @NicoEvaluates
      @NicoEvaluates Před 2 lety

      This was explained by Fellon in 2015, to which Roahm also replied: czcams.com/video/RBYhn781J3M/video.html

  • @RollingBobbyJones
    @RollingBobbyJones Před 2 lety +1

    I feel like this is a massive help to those that edit Boss AI in rom hacks and such

  • @mikek191
    @mikek191 Před 2 lety +1

    This boss haunted my childhood. Hardest mega man robot master

  • @ShelbyAQD
    @ShelbyAQD Před 2 lety +1

    Fascinating.
    I've never gotten into ROM-hacking, but used to use emulators and savestates to try and reverse-engineer how enemies and bosses worked in games. I wonder how many behaviors that I had assumed were do to RNG were actually from errors like this...

  • @marquesgorham4226
    @marquesgorham4226 Před rokem +1

    I like this it would be cool if you did AI explained for other megaman robot masters it would be a really cool series

  • @williamdrum9899
    @williamdrum9899 Před 2 lety +2

    2:46 Had there been four choices for quick man to jump they could have just done LDA $4A AND #3 and skipped that whole integer division thing. For NES programming is it better to bend your game design around the CPU or just accept that sometimes you need to do actual multiplication/division?

  • @IAmOnHiatus
    @IAmOnHiatus Před 2 lety

    This is a pretty awesome video. How did you open up the code to the game to observe all of the mechanics?

  • @Sephiel263
    @Sephiel263 Před 2 lety +1

    Thank you so much for asking a question I had for years if not decades. Do you think the devs knew about the bug but left it in to make the fight easier? Also is the bug still present in the Doc Robot refight in MM3?

  • @IaconDawnshire
    @IaconDawnshire Před 2 lety

    And I was listening to Quickman's music from The Megas today

  • @DeepWeeb
    @DeepWeeb Před 2 lety +2

    Nice video as usual, but about the Doc Robots from Mega Man 3? Do they copy the code from Mega Man 2 wholesale or do they recreate it, have they even done some corrections to it?

    • @DisplacedGamers
      @DisplacedGamers Před 2 lety +1

      I'd have to reverse MM3 to find out. It is possible someone else has already looked at it and can answer this.

  • @Ratheronfire
    @Ratheronfire Před 2 lety +1

    I started trying to learn romhacking not too long ago, and I tried to fix this bug as part of a set of quality of life improvements. Admittedly my solution was a lot less in-depth than yours but it seems to work: I just flipped Quick Man's direction whenever his AI picks a new action, since in practice it seems like he always does that anyway.

  • @autumnshinespark
    @autumnshinespark Před 2 lety +1

    Wow, I can follow the ASM with my knowledge of 16-bit 65816! Very cool and enlightening. Do you know how the code is documented? My own mod is in dire need of better organization, and I could use a guide.

  • @Voidsworn
    @Voidsworn Před 2 lety +2

    Wouldn't mind playing a ROMhack with all the bugs and stuff fixed, just to see how different it could be.

  • @stevep9177
    @stevep9177 Před 2 lety +3

    Quick Man was already the hardest robot master and you want to make him harder?

  • @djrmarketing598
    @djrmarketing598 Před 2 lety +1

    It's hard to believe there's anything but just some time crunched programmers who did the best they could for corporate bosses who didn't care much about QA, just that the release date was met for a popular sequel. The boss fight was a minute or two of the game experience, and I'm sure someone said "Hey boss the jump codes kinda f*cked but it works just good enough.."... Or maybe they just didn't have "external" emulator type debuggers like we do today.

  • @DouglasZwick
    @DouglasZwick Před 2 lety +7

    This is so so so cool, and I would love to see more stuff like this! I have a few of questions for you (edited to address one that was already asked and answered):
    1. When you talk about "floating-point" math in this video, is it really IEEE 754 floating point as we know it in the modern era, or is it just fixed-point math using pixels combined with subpixels? Or some other thing? *Edit: it seems that it is some kind of fractional fixed point, as answered in a comment below. So never mind this one!*
    2. When Quick Man is ejected from a wall, it appears that his subpixels aren't cleared the same way that Mega Man's are. This just means that the ejection logic for Quick Man is different from the logic for Mega Man, right? Like they don't simply use the same process for some reason? If so, any idea why? If not, am I missing something?
    3. Quick Man appears to be ejected horizontally while running into a 16-pixel-high block, but you said his code only checks one point for horizontal ejection, and it's at the top of his head. How is he ejected horizontally in this case?
    I have a bottomless curiosity for stuff like this, so it goes without saying that this is like in my top three favorite CZcams channels. Please keep up the great work!

    • @vuurniacsquarewave5091
      @vuurniacsquarewave5091 Před 2 lety +1

      This kind of fixed point fractional values are great to "fake" smoothness when you otherwise have a noticeably low resolution for anything, be it the screen, sound fidelity, graphical fidelity, movement, etc.

    • @possible-realities
      @possible-realities Před 2 lety +1

      Came here to ask the same questions 2 and 3 :)

    • @williamdrum9899
      @williamdrum9899 Před 2 lety +1

      I highly doubt it's IEEE 754, with the limited RAM of the NES you don't really want to burn 8 bytes on a single value. You technically have 2k of ram but after taking into account sprites, music, and the call stack, in practice you have about $500 bytes for game logic

    • @Bobbias
      @Bobbias Před 2 lety

      On the subject of ejection logic: from what I've heard about the production of the megaman games, I wouldn't be surprised if that was a case of copy-paste gone wrong or something.

  • @anthonyroundtree5
    @anthonyroundtree5 Před 2 lety +1

    My first thought was Quick man was treating steps like walls and his collision detection really couldn't tell the difference. If his head bumps into anything, then he's hit a wall (or mega man) hence the decision to program him the way they did. But, I'm not looking at the code (nor would I understand what I was seeing). Nevertheless, this was a fascinating video.

  • @perfect.stealth
    @perfect.stealth Před 2 lety +1

    I could watch these all day. I mean I already do

  • @TheRockToraGaii
    @TheRockToraGaii Před rokem

    Wow really cool

  • @warmCabin
    @warmCabin Před 2 lety +3

    Fantastic video as always! Peanut gallery incoming:
    0:53 I see that DEX at 879E--is that necessary? Could they have increased the subsequent addresses by 1?
    2:08 But in a TAS, hoo boy. RNG manipulation so easy it'll spoil you for life.
    5:00 Floating point? _What?_ That's amazing!
    18:05 FCEUX has a cool feature called the Code Data Logger that can tell you, for every byte, whether it's been used as code, data, or neither.
    There's a rare glitch where Quick Man will do his blocking stance when hit with a weapon that should damage him. No idea how it works.

    • @infinite_sun_rays
      @infinite_sun_rays Před 2 lety +2

      Mesen has a Code Data Logger too, among other _powerful_ debugging capabilities

    • @GeneralBolas
      @GeneralBolas Před 2 lety +3

      "Floating point? What? That's amazing!" It's not *really* floating-point. It's fractional fixed point; treating certain low bits as fractional. The math works out the same; it's all in interpreting what it means.

    • @warmCabin
      @warmCabin Před 2 lety +1

      Ah I gotcha. Same as usual pixels + subpixels.

    • @warmCabin
      @warmCabin Před 2 lety

      I've also seen a cool vector routine that can compute and I think even scale a vector between two points.

    • @DisplacedGamers
      @DisplacedGamers Před 2 lety +3

      Hmm. I wonder what is going on with the blocking logic when MM is using a valid weapon.
      Sorry about the use of "floating point." I just used it as a term that many other programmers would recognize and would help me complete a sentence and keep rolling. Showing the fractions as decimals in the slides was another way to just make it easier to read. It is still just an unsigned number from 0 to 255 behind the scenes.

  • @snowmyr
    @snowmyr Před 2 lety +1

    Thanks!

  • @areaxisthegurkha
    @areaxisthegurkha Před rokem

    Quick Man with Metal Man's projectiles seem so OP.

  • @zennvirus7980
    @zennvirus7980 Před rokem

    Prime example of "a bug that became a feature", whether intentionally or not. Such a simple AI, yet all is issues and their ramifications are amazing. And the greatest fact of it is that it works, and beautifully.

  • @D3nz3lCr0ck3r
    @D3nz3lCr0ck3r Před rokem

    Wow, that's some sweet content!
    Hey, mate, sorry for the stulid question, but just out of curiosity: How did you manage to get the code for the game? Is it any kind of rom to code converter or something like that?

    • @SwervingLemon
      @SwervingLemon Před rokem

      Cool thing about ROM systems is that the code is relatively easy to dump from the cart and they didn't encrypt the contents back then.

  • @dededethesuperstarwarrior

    nice

  • @juanatenco453
    @juanatenco453 Před 2 lety +18

    The main point of those video: Quick Man is so quick that he outruns the game's logic.
    I'm not that good at coding, let alone assembly coding, but I like to watch these videos just to have a glimpse on how my favorite games work.

    • @maverick_loneshark
      @maverick_loneshark Před 2 lety

      I think you are missing a few key points regarding uneven hit detection boundaries, logical order of operations for collision resolution specific to Quick Man, as well as redundant conditionals & subroutines... but yes, Quick Man is quick.

  • @DrewPicklesTheDark
    @DrewPicklesTheDark Před rokem

    I'm thinking about how the Doc-Quickman in MM3 compares. In that game he seemingly picks between 1-3 jumps randomly. The boomerangs seem to function the same though.

  • @ShinMajin
    @ShinMajin Před 2 lety +2

    Quick, somebody get this to Roahm!

  • @mrrandom55951
    @mrrandom55951 Před 2 lety +2

    Hey can you do Ivan Stewart’s super off road on nes ?

  • @Harbinger28567
    @Harbinger28567 Před rokem

    @17:30 - Quickman handlers! Hahaha! Sounds funny 😀

  • @AppliedCryogenics
    @AppliedCryogenics Před rokem

    Hey DG, is there any chance you'll do some GBA games? Aria of Sorrow maybe? Love the deep dives man, thanks for all the great content!

  • @MetalHeadMarc
    @MetalHeadMarc Před rokem

    Great vid. I would say the "glitch" in him completing a first jump by falling into the floor, but it makes him more erratic to the casual player and isn't that the point?

  • @intangiblematter_misc
    @intangiblematter_misc Před 2 lety +9

    I’m watching this at 255 views. Perfect

    • @Lemon_Inspector
      @Lemon_Inspector Před 2 lety +5

      Oh no, now it has 0 views

    • @nickwallette6201
      @nickwallette6201 Před 2 lety +1

      Oh that explains why the first time it loaded as an unboxing of an air fryer.

  • @Fieari
    @Fieari Před 2 lety +1

    Hmm... fixing this bug makes him more jumpy and difficult to hit, but also more predictable. Perhaps more calls to the random routine should be added to do 1, 2, or 3 jumps, and also to randomize the running time? Then again, to make his AI more thematically difficult, it would be interesting if you could make him do mini hops to go up and down the "steps" in the room as he runs so as to not get stuck, maybe reverse direction when reaching the outer walls. Not sure if all this is possible within the game space available though.

  • @The9gods
    @The9gods Před 2 lety +1

    At first I was thinking there was going to be a bug section. I was kind of right with that being the whole video was basically quickman's bugs, with some coding in between.

  • @kstanni87
    @kstanni87 Před 7 měsíci

    Do you have a gamegenie cheat that prevents weapon from being unaffected by all weapons that aren't mega buster and time stopper ?

  • @bpelectric
    @bpelectric Před 2 lety +4

    Fascinating. I've done a little reverse engineering of Strider for NES, which seems to have a similar issue with 'wiggling' when running against the wall. Probably a similar mistake in the order of moving vs ejecting code. I might spend some more time looking at this now that you've revealed a likely culprit!

    • @DisplacedGamers
      @DisplacedGamers Před 2 lety +3

      Oooh! That's great. Strider for NES is... an interesting subject. I haven't played it in a long, long time, but I want to say that play control was not quite where it should have been? Like something felt a little off?

    • @possible-realities
      @possible-realities Před 2 lety +2

      I think incorrect order can't be enough for the oscillation. It has to be that the subpixel position is not reset during ejection (as seems to be the case in this video I think?) Then the order of ejection and movement shouldn't matter for the oscillation behavior, but of course it matters if you want to avoid being inside of a wall!

    • @TravisTev
      @TravisTev Před 2 lety +1

      @@DisplacedGamers Yeah, Strider fascinates me a lot. Play control is definitely weird. Strange behavior when you jump while running against a wall, frequent cases of jumps being “eaten” during certain situations like running downhill (where you hear the sound but the character just doesn't leave the ground, kind of like the Quick Man issue in a way), etc. That game would be an interesting one for a technical dive, I think.

    • @bpelectric
      @bpelectric Před 2 lety +1

      @@DisplacedGamers Yeah, it's particularly fascinating, since it has a troubled dev history, with the US version shipping and the JP one getting canned - but a preprod cart was found and dumped of the JP ROM not that long ago, and the movement code is different. Seems better in some ways and worse in others, but being able to compare the code in two different states of development was part of what made it interesting to me.

  • @raymondbd21
    @raymondbd21 Před 2 lety +1

    Thanks for the info. I'm going to load up Mega Man 2 on the old NES and kick Quick Man's ass right now.

  • @igormonteiro9210
    @igormonteiro9210 Před rokem

    14 boomerangs and we have almost a bullet-hell here, but i really like to try these absurd gameplay

  • @MikeYohe
    @MikeYohe Před 2 lety

    Great video, but I noticed the audio was occasionally drifting louder and softer. Don't know if anyone else hears that, maybe it's just me.

  • @cmj2b
    @cmj2b Před rokem +1

    Reason #21 why I am not a game designer, just a gamer

  • @TheRyujinLP
    @TheRyujinLP Před 2 lety

    Since it makes the fight easier I wounder if the left in on purpose because they found it made the battle more bearable?

  • @hicknopunk
    @hicknopunk Před 2 lety

    Is there a clean fix to megaman 1's getting ejected from boss rooms if they knock him back?

  • @hardcase7753
    @hardcase7753 Před 2 lety +1

    wait...didnt they write something about the running into walls thing into quick man's lore at some point?

  • @Ragesauce
    @Ragesauce Před rokem

    I've always wondered why you cannot shoot when using flash man's power up, even though he can clearly shoot you while you are frozen. I have wanted to use this power instead of just freezing time, it felt extremely useless during quick man fight without being able to fire as well, is this because they made it do damage to quick man while he was frozen, and if you fired a shot it would cause issues? a history of why this was left out would be really entertaining to watch!