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

Author Topic: Mega Man 5 - Protoman Edition  (Read 2748 times)

Ness

  • Jr. Member
  • **
  • Posts: 82
    • View Profile
Mega Man 5 - Protoman Edition
« on: August 25, 2017, 07:52:17 am »
Hi,

Mega Man 5: Protoman Edition is now available on this site.



This thread is dedicated to keeping track of feedback and potential future updates.

The hack:
http://www.romhacking.net/hacks/3638/

Video trailer:
https://www.youtube.com/watch?v=sjj6Nm17OZE

Two hacks in one:
- The "MM5ProtomanEdition" patch to play the original MM5 as Protoman
- The "MM5SSPE" patch to play Second Strike, my previous MM5 hack, as Protoman

More info about the hack:

Changes related to Protoman:
Spoiler:
- Protoman can use his shield to deflect/destroy projectiles.

- Beat was replaced by the Proto Dash. Collect all 8 "Protoman" letters to unlock it.
The Proto Dash is a very powerful move which drains a lot of weapon energy. You can damage
enemies with it, but also destroy projectiles.
It can not be cancelled by pressing the opposite direction on the d-pad, but it can cancelled
by performing a Dash Jump.
Dash Jumps offer a speed boost which allows for longer jumps, similar to Bass's Dash Jumps
in MM&B and MM10, or to the X series. However, unlike in those games, the speed boost given
by a P.Dash jump will only last as long as you're pressing the direction you were initially going to.

- In MM9/10, enemies deal 100% more damage to Protoman than to Mega Man. In this hack you can turn on/off
this setting in the main menu: "Damage x1" will keep the original damage values of the game,
and with "Damage x2" Protoman will recieve double the damage.
If you want to resume a "Damage x2" playthrough using a password, SET DAMAGE TO "x2" BEFORE
ENTERING THE PASSWORD.

- Protoman's knockback when taking a hit is twice longer as MM's, like in MM9.

- The charge shot has a smaller hit detection size than the original MM5 charge shot.
It also takes a bit longer to charge up, and its movement speed is slightly faster.

- Protoman can fire a 2nd regular P.Buster shot when a "half-charge" shot is on screen,
which MM originally couldn't in MM5.

- Protoman can only shoot 2 P.Busters shots at the same time.

- R.Coil and R.Jet are replaced by P.Coil and P.Jet

- Protoman starts the game with his P.Jet, like in MM9/10.

- The story, intro and cutscenes were altered

Other changes:
Spoiler:
- The charge shot charging sound now fades out
- Charging up a charge shot now works during a slide and during the "360° rotation" animation (on moving platforms)
- Underwater slide-jumps are now possible
- During a slide, you can't jump if holding "down" on the d-pad. In reverse gravity this remained the same, while it should be when holding "up". Fixed.
- Charge shots go through destructible blocks and can destroy several blocks in a row (like in MM4)
- While charging, if the player would release the B button during a slide or during the "360° rotation" animation, the palette could freeze with one of the charging palettes. Fixed.
- When dying in a pit while charging the charge shot, palette gets reset to default to avoid items on the screen (1up, tanks, etc) being 'frozen' with the wrong palette.
- M tanks now always appear, even if the player already has one. You can still only carry 1 at a time though.
- Picking an E/M Tank or a 1up when they're already full no longer makes a sound, like in later games in the series
- Falling crystals gimmick in Crystal Man stage: when 'destroying' a crystal with Star Shield, the following crystals falling from the same tube would go through the player. Fixed.
- Crystal Man's orbs: they no longer disappear if hitting the player during invicibility frame time. I also added a small visual explosion when they disappear when their timer runs out. This change of code also makes them less laggy when there are 3-4 of them at the same time.
- Fixed the possibility to skip most of the boss rush by sliding through the wall (at least I think I fixed it)
- Jetski segment: fixed the possibility to "miss" the jetski during the cutscene and play the segment without the jetski, glitching the entire part. (At least I fixed the easiest way there was to pull that glitch, it might still be possible to do it with the S.Arrow but since I can't pull it off, I can't check)
- Title screen: Slightly shortened the time it takes to loop back to the intro, so that you can no longer hear the title screen song start again for a split second.
- Boss intro screen: fixed the Y-axis location of the bottom flickering light of the teleporter (the lights flickering before bosses appear)
- Wily cutscene at the end of Protoman fortress stage 4: made the text flow faster.
- Slightly reduced Darkman 1 and Darkman 3's hit detection size, so that it matches their art better and jumping above them is a bit easier.
- Getting frozen by Darkman 3's onion rings during a Charge Kick will nullify the charge kick (turn the animation into regular sliding), to avoid C.Kick working while being frozen.
- The B button now works to select things everywhere it didn't (weapons menu, stage select screen, password/continue screen)
- The drop rate of 1ups was reduced
- [not in Second Strike version] Protoman Fortress stage 1: When dying and loading either checkpoint, a colour of the foreground would change. Fixed.
- [not in Second Strike version] Napalm Man stage: Fixed a wall that was set as "foreground", that the player could slide into.
- ... and more !

Credits:
- Steambull for his work on the art, betatesting and ideas
- Rock5easily, Matrixz and Kuja Killer for their tools and documentations

Enjoy!

Googie

  • Hero Member
  • *****
  • Posts: 819
  • I'd like to solve the puzzle... Jiggers!
    • View Profile
    • My work in progress ROM Hacking site
Re: Mega Man 5 - Protoman Edition
« Reply #1 on: August 25, 2017, 12:57:00 pm »
I'm gonna have to try this out...  8)

xstuff

  • Jr. Member
  • **
  • Posts: 19
    • View Profile
Re: Mega Man 5 - Protoman Edition
« Reply #2 on: August 25, 2017, 02:45:07 pm »
Looks impressive, especially the trailer :)

AxlRocks

  • Jr. Member
  • **
  • Posts: 61
    • View Profile
Re: Mega Man 5 - Protoman Edition
« Reply #3 on: August 26, 2017, 12:12:19 am »
Been waiting for this, looks really good :thumbsup:

EDIT: Played through it in Mesen 0.9.1 and really enjoyed it! It feels authentic and I especially like the extra steps taken to change around story stuff. The gameplay and graphical changes would've been great to begin with, but the story stuff is like extra icing on the cake.

I did encounter one lockup: During Darkman 4, it appears if you reflect one of his shots and then he reflects it, the game can sometimes lockup? I've been able to reproduce it several times in FCEUX 2.2.3 and Mesen 0.9.1. I do usually play with PPU overclocking, which actually has very, very rarely caused issues in my 300-ish tests, but regardless, I of course disabled it when this happened and was able to reproduce it without an overclock as well.
« Last Edit: August 26, 2017, 05:01:22 am by AxlRocks »

Ness

  • Jr. Member
  • **
  • Posts: 82
    • View Profile
Re: Mega Man 5 - Protoman Edition
« Reply #4 on: August 26, 2017, 05:50:04 am »
I did encounter one lockup: During Darkman 4, it appears if you reflect one of his shots and then he reflects it, the game can sometimes lockup?

Damnit. Apparently it only happens up close?
I'll have a look. I probably did something wrong, I remember having issues with those and tinkering them because the shots object IDs are linked to a different CHR bank than that of the default "deflected" shots of the game, which cause graphical issues when the shot deflected. We tested this is a lot after I thought I fixed it, so nice find.

Edit: oh damnit, stupid mistake. I moved a piece of code late in development and forgot to update one of the branches, so as it is, the deflection code loops on itself when this particular object ID is deflected.

I'll wait a few days to make an update in case other glitches are found.
« Last Edit: August 26, 2017, 06:04:46 am by Ness »

Zimgief

  • Jr. Member
  • **
  • Posts: 65
    • View Profile
Re: Mega Man 5 - Protoman Edition
« Reply #5 on: August 26, 2017, 08:59:58 am »
Hi (should I say "salut !", french fellow? :p ),

I tried the hack this morning, in fact I finished the game as I know it by heart, and it's great! I appreciated a lot of little touches, for exemple replacing Beat by Protoman in the ending, you neglected no tiny detail. :p

Some things that maybe could be improved:
- bug: in Crystal Man stage, if you destroy the falling crystals with the shield, they do not respawn
- maybe there should be a "P" instead of Protoman face, à la Megaman X, before going to the forteress: the art is not that great (at least the colors), and it creates confusion with the face of the fake Protoman (someone playing for the first time would not understand it's the access to the forteress)
- the colors for Star Arrow, P Coil and P Jet are so close to the default one, maybe it should simply be the default one
- how much the game would be broken if the shield was used everytime we're not moving? Maybe with 2x damages (no choice here), it could help differentiate a Megaman vs a Protoman playthrough?
- something that would be really cool would be to have in the same game the choice between Megaman and Protoman. If the password is a problem, Protoman could be  chosen on the title screen before entering it (like you did for the damage multiplier)

As a matter of fact, the hack "Megaman V Refined" (http://www.romhacking.net/hacks/3466/) is entirely compatible. I fnished the game with the two hacks applied! It's because it improves the level-design of the game instead of replacing stages by new ones.

Speaking of which, I am the author of Megaman V Refined, and some changes you made, that have nothing to do with Protoman, would improve the base game as I envision it:
- The charge shot charging sound now fades out
- Picking an E/M Tank or a 1up when they're already full no longer makes a sound, like in later games in the series
- Wily cutscene at the end of Protoman fortress stage 4: made the text flow faster.

Would you accept to implemend these in my hack? Of course you would be added as a contributor, as it should.

Ness

  • Jr. Member
  • **
  • Posts: 82
    • View Profile
Re: Mega Man 5 - Protoman Edition
« Reply #6 on: August 26, 2017, 12:55:28 pm »
- bug: in Crystal Man stage, if you destroy the falling crystals with the shield, they do not respawn

Yeah... I'm aware of this. What happens it the shield "deletes" the crystal, except that a falling crystal, and the thing that spawns them, are one and the same. I couldn't think of anything even after looking at the crystal's code and how they handle it with S.Shield.

Quote
- maybe there should be a "P" instead of Protoman face, à la Megaman X, before going to the forteress: the art is not that great (at least the colors), and it creates confusion with the face of the fake Protoman (someone playing for the first time would not understand it's the access to the forteress)

Yeah the "fake Protoman" face isn't great, but it's the original's. I don't think it's too confusing if someone's seen the intro, and I don't see how replacing it with a "P" symbol would get rid of the confusion since it pretty much tells the same thing. In any case, I think most people should understand because 99% of people who play romhacks have already played the original. If not, it'll become clear when they reach Protoman Fortress stage 4.

Quote
- the colors for Star Arrow, P Coil and P Jet are so close to the default one, maybe it should simply be the default one

The "white+red" palette (instead of grey+red) for Coil and Jet is the one used in MM9-10. My goal is to stick as close as how it is in MM9-10 when possible. For some reason I made S.Arrow follow the same logic since it's a "support item", but I guess this can be considered wrong since in the original MM5 Mega Man keeps his default palette when using it, yeah I can change that.

Quote
- how much the game would be broken if the shield was used everytime we're not moving? Maybe with 2x damages (no choice here), it could help differentiate a Megaman vs a Protoman playthrough?

That's how the shield works in MM7 and also in MM Powered Up I believe, but having that on top of during a jump (which they don't have in 7 and MMPU) would be too much imo. Plus again, the goal is to stick to how it is in 9-10.

Quote
- something that would be really cool would be to have in the same game the choice between Megaman and Protoman. If the password is a problem, Protoman could be  chosen on the title screen before entering it (like you did for the damage multiplier)

I thought about this as well. It's definitely possible. Honestly it may EVEN be possible without updating the ROM to a bigger size, if I optimize my code for space, and if I put Protoman's art in the CHR Bank16 which is mostly empty, move the few art there so that the anim numbers match the ones of MM in the first bank, and then manage to make the game load the other bank when it's Protoman playing....
But honestly, that is definitely not worth the effort considering that it takes 30 secs to patch a rom and that it costs nothing 512kb to have two roms of the same game.

Good to know the Protoman hack is compatible with another one.
For the rest, sure no problem. My entire work is based on people sharing their work (tools, documents, etc) so it'd be an asshole move not to do the same. For the Wily cutscene text flow, it's literaly just one byte, check rom address 2F731, by default it's 08 and I made it 05 which is about 80% faster I believe, and you can make it even faster. The rest is a little more complicated (though not by much) but I'll make a patch with just those features and send it to you via PM later.

Thanks for the feedback

delta7890

  • Jr. Member
  • **
  • Posts: 14
    • View Profile
Re: Mega Man 5 - Protoman Edition
« Reply #7 on: August 27, 2017, 02:02:35 pm »
Love this romhack!  Any chance of allowing the Proto Dash to be used in the air though?  Would make it much easier to hit Gravity Man and the Wily Capsule.  :D

Ness

  • Jr. Member
  • **
  • Posts: 82
    • View Profile
Re: Mega Man 5 - Protoman Edition
« Reply #8 on: August 28, 2017, 04:32:43 am »
To Zimgief: I sent you what you requested by PM.

Love this romhack!  Any chance of allowing the Proto Dash to be used in the air though?  Would make it much easier to hit Gravity Man and the Wily Capsule.  :D

I've thought about it too but I'm against it for several reasons. It'd be too powerful, the move is already OP, as it's pretty much a free pass against any robot master (save for Gravity Man) and Darkman robot already. It's especially OP in the original MM5 considering how many M tanks there are, and especially considering that I made all M tanks always visible now so the player is sure not to miss them.
Also the idea was to take inspiration from Protoman's dash in MM7 and Power Battle/Power Fighters, which only works on the ground. Even the colour scheme is inspired by the colour of the Dash effect sprite in PB/PF, and also to take inspiration from Bass's dash, so that things remains classic without stepping into the "X" territory.
Also there are already two things which would be too similar if it worked in mid-air: the air sliding hack for MM5, which works with C.Kick too, and the Comet Dash in MM Unlimited. I also wanted it to be different from those.

Edit:

Hack updated to v1.1:

Quote
v1.1: August 28 2017
- Fixed game freezing when Darkman 4 deflects a deflected shot.
- Fixed falling crystal gimmick in Crystal Man stage not respawning if destroyed by Protoman's shield.
- Fixed hit detection of the first frame of Wave Man's wave attack (only in original game version, not an issue in Second Strike).
- Changed the S.Arrow palette to use Protoman's default palette, since in the original game it would use MM's default palette as well.
« Last Edit: August 29, 2017, 03:42:14 am by Ness »

Zimgief

  • Jr. Member
  • **
  • Posts: 65
    • View Profile
Re: Mega Man 5 - Protoman Edition
« Reply #9 on: August 29, 2017, 05:22:57 am »
Quote
- Fixed falling crystal gimmick in Crystal Man stage not respawni-1ng if destroyed by Protoman's shield.
So you fixed it nonetheless ! :)

Ok, I understand that your main goal is to reproduce Protoman from MM9-10. My only concern, when playing, was that sometimes I felt it was a graphical hack, not a gameplay hack, because the changes are very specific: Proto Dash isn't used for half the game, and then from time to time, and the deflective shield isn't the easiest to use during jump - but that may be because I'm to used to playing the game normally and therefore find it more efficient. This is the reason why I asked myself how to differentiate Protoman from Megaman in a more radical way (making Protoman more frail and more defensive). Maybe no shield jump, only on the ground, if it would be more easier, therefore more often used ?

Quote
I thought about this as well. It's definitely possible. Honestly it may EVEN be possible without updating the ROM to a bigger size, if I optimize my code for space, and if I put Protoman's art in the CHR Bank16 which is mostly empty, move the few art there so that the anim numbers match the ones of MM in the first bank, and then manage to make the game load the other bank when it's Protoman playing....
But honestly, that is definitely not worth the effort considering that it takes 30 secs to patch a rom and that it costs nothing 512kb to have two roms of the same game.
Sure. It depends how difficult it would be. What I suggested being mainly to add a cool factor (giving the feeling of a complete game with two charcaters). I was thinking of games like Castlevania Symphony of the Night or others more recent, where you can use a cheat code to play with a bonus - often overpowered - character (Richter, Julius... Armored Axe lol) important to the plot, for the fun of it.
(Personaly, I hacked MM5 because I bought a Nes Mini, and wanted to have a "perfect" version of the game on it, and I know that I wouldn't put two versions of the game on the system (Refined AND Protoman Edition), which is why I would have been happy to switch between characters inside one rom. :p )

I received your PM, thank you very much! I already made other tweaks on my own, so it's ready for an update!

Ness

  • Jr. Member
  • **
  • Posts: 82
    • View Profile
Re: Mega Man 5 - Protoman Edition
« Reply #10 on: August 30, 2017, 04:12:55 am »
Ok, I understand that your main goal is to reproduce Protoman from MM9-10. My only concern, when playing, was that sometimes I felt it was a graphical hack, not a gameplay hack, because the changes are very specific: Proto Dash isn't used for half the game, and then from time to time, and the deflective shield isn't the easiest to use during jump - but that may be because I'm to used to playing the game normally and therefore find it more efficient. This is the reason why I asked myself how to differentiate Protoman from Megaman in a more radical way (making Protoman more frail and more defensive). Maybe no shield jump, only on the ground, if it would be more easier, therefore more often used ?

I'd say it's definitely because you're not used to it. Sure, if you know the game by heart, know all the enemy placement and their weaknesses, the most effective way to get rid of most enemies won't be by using the shield, but that's not the point in 9-10 either, and even then you're still going to use it for defense from times to times and against bosses. For instance if you use the shield, bosses like Crystal Man and Napalm Man are completely different.

I haven't played MM PU, but if I had to compare shield use from 9-10 to the shield use in 7, it's definitely more intereting to have it during a jump than when standing still. It's more dynamic and takes more skill.

The Dash is meant to be 'just' a cool little addition, but if you want to use it during the entire game without having to collect the letters, nothing prevents you from getting a password with all the letters collected. PWs remember letters, so technically it's possible to pick up a letter, get a game over, pick up another letter in another level and so on, and you'll have a PW with Beat/Dash unlocked without a single level completed, which is this one:

Spoiler:

Quote
So you fixed it nonetheless !

Yeah, I had another look at the crystal gimmick code and it finally gave me an idea. Instead of having the shield destroy the crystal, it only sets a variable (+ the explosion sprite and sound), and then I edited the crystal's code so that when that variable is set it behaves like it does with Star Sheild. It's hacky but it works.