News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: A technical bug in Megaman 1 that I guessed would be true  (Read 2390 times)

RetroRain

  • Sr. Member
  • ****
  • Posts: 287
    • View Profile
A technical bug in Megaman 1 that I guessed would be true
« on: June 27, 2015, 12:47:02 am »
(Figured I'd post this here too, incase anyone finds it interesting.  Posted from http://acmlm.kafuka.org)

Programming Megaman's basic movements alone (not including the charge shot and slide) is no easy task.  I found that out when I programmed my Megaman engine in GameMaker, and then tried to make another engine in GM (but this time with just basic movements), which I abandoned, and moved over to C++.  As I mentioned in a thread I made in the computing sub-forum, GM is okay for top-down games, but when it comes to platform games, it is horrible, because GM doesn't handle collision programming very well.

Anyway, regardless of what you use to program, when programming Megaman's movements, you have to take into account every little thing.  But there was one thing that I felt that the programmers of the Megaman games might not have taken into account.  So, the only way to prove it was to test it for myself.

This is a technical bug I found in Megaman 1, and for all I know, probably exists in the other MM games as well.

It has to do with Megaman climbing.  When he reaches the top of the ladder, all he has to do is just go over it a little bit, and then Megaman is automatically on top of the ladder (standing).  When he climbs down the ladder from the top (from the standing position), he is only placed at a certain y position.

Normally, this doesn't pose a problem.

But what the programmers at Capcom didn't take into account, is if there was a solid object two places above the ladder.  Megaman only goes to a certain point, and then stands on the ladder.



He can actually get stuck in the wall, because you're not supposed to have that solid there, two spaces above the ladder top.  That free space is meant for Megaman to come out of ladder mode, and back into standard mode.

I suspected that this bug might be present, because I realized that Megaman's climbing sprites only go so far past the ladder-top.  I would have never even noticed this if I didn't think about how Megaman's movement mechanics worked, in trying to code basic Megaman movement.  So I just found this little bug interesting.

It just proves that no one is perfect, even professional game developers.

The thing is also, I have OCD.  So when I program, I don't like having any bugs.  In my public Megaman engine I released for GM, that bug that is present in MM1 is not present in my engine, because I checked for that (believe it or not, the thought didn't even occur to me at the time to check the MM games for this bug).

Now, I don't know that Megaman can necessarily get permanently stuck, since just moving the directional pad, he automatically slides all the way to the right.  I just wanted to point it out that it exists.  The reason why it is important, is because it is something to take into account if you are making new levels.

I didn't check MM3 yet, but I'm willing to bet it exists in that game as well.  Let's say you want to make a little maze/puzzle route.  You have to climb all the way up to the ladder, to shoot the question mark box to reveal the item.  Then you have to climb up else where, and then because the question mark box is no longer there, you can slide through to get the item, and go by.

Another interesting thought, while I am at it, is that you can actually get stuck in a slide, if you have a wall or obstacle there, and you don't have at least two spaces horizontally next to each other, above you to get out of the slide.

In my opinion, I feel that the level design shouldn't point out bugs in your character's movement code.  Everything should be taken into account.  This ladder glitch, and that slide glitch.  If you're getting stuck, then it's not the fault of the level itself, but the fault of the programming of the character.

By all means, if anyone wants to test if this bug exists in other MM games, go ahead.  I'm too tired at the moment to check the other games, because I'd have to open up the level editors, and change the blocks, and the open up the ROMs.  Maybe tomorrow.

Turambar

  • Full Member
  • ***
  • Posts: 145
    • View Profile
Re: A technical bug in Megaman 1 that I guessed would be true
« Reply #1 on: June 27, 2015, 02:09:48 am »
But what the programmers at Capcom didn't take into account, is if there was a solid object two places above the ladder.
They did take it into account, by never having that situation be in the game. You can't modify the game and then blame them.

Seihen

  • Sr. Member
  • ****
  • Posts: 405
    • View Profile
Re: A technical bug in Megaman 1 that I guessed would be true
« Reply #2 on: June 27, 2015, 02:59:24 am »
They did take it into account, by never having that situation be in the game. You can't modify the game and then blame them.

Yeah, that's kinda like blaming programmers for cut-scenes getting out of sync when you add an auto-dash into an RPG that makes the characters all move too far off screen... They didn't program a work-around for this because it never happened.

Piotyr

  • Hero Member
  • *****
  • Posts: 1485
  • I'm useful, honest!
    • View Profile
Re: A technical bug in Megaman 1 that I guessed would be true
« Reply #3 on: June 27, 2015, 12:12:49 pm »
It is less a bug and more a limitation they worked around really.

RetroRain

  • Sr. Member
  • ****
  • Posts: 287
    • View Profile
Re: A technical bug in Megaman 1 that I guessed would be true
« Reply #4 on: June 27, 2015, 01:22:49 pm »
No, I'm not blaming them in harsh way.  I'm saying, kinda like Piotyr said, it's a limitation, that I would have made sure didn't exist.  It would be a problem, hypothetically, if Capcom themselves decided to make a level like that in the game.  In designing a level, I should be able to have the blocks like that, and not run into a problem, so I would probably have added checking for that sort of situation.  The same thing with the sliding in MM3.  It's technical in the sense that you are revolving the level around your character, and not the other way around.  Since you couldn't have the level the way you want it, if these limitations exist.  It's an interesting limitation that exists, because it gives some insight, at least to me, on how the game development process works.

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 6918
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: A technical bug in Megaman 1 that I guessed would be true
« Reply #5 on: June 27, 2015, 03:38:23 pm »
Nothing is ever perfect. If you were to account for every possible situation with your engine, whether or not your game actually uses it, you could be working on your game engine forever.
"My watch says 30 chickens" Google, 2018

omega_rugal

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: A technical bug in Megaman 1 that I guessed would be true
« Reply #6 on: June 27, 2015, 05:13:12 pm »
The original, unmodified Megaman never has objects on top of the ladders... so it`s not a bug in the original games, anyway, how could you fix such situation? Megaman can not exists in the same space than other objects (more so if it was a real thing)
Done your packing?, your life journey is over...