Mega Man World 5 DX (Game Boy to Game Boy Color hack)

Started by marc_max, December 20, 2020, 06:02:07 PM

Previous topic - Next topic

bmathew

marc_max, I noticed something from DX.  In the original intro scene, when MM gets shot by Terra, the screen fades to white, but MM (hurt sprite) remains.  But in DX intro scene, when MM gets shot and the screen fades, MM also fades (although he returns to say that he can't hurt Terra).  That seems a little unnatural.  Can you make it so that MM remains on the screen?

hmsong, I shall do a review of your patch.  The goods:  I like how Tango is so effective against Venus (who was probably the most difficult normal robot master).  And I didn't know Black Hole can absorb Jupiter's fireball.  Very nice.  But the bads:  I don't like how you made Electric Shock be ineffective against Saturn.  It was supposed to stop Saturn's black hole shield, but now, I have to wait for him to deactivate his shield (which seems to take forever).  Also, given that Grab Shot actually works against so many bosses, it seems to decrease the difficulty even more (MMV is already easier than MMIV).  Should you really be doing that?

marc_max

Quote from: bmathew on May 25, 2023, 10:03:30 PMmarc_max, I noticed something from DX.  In the original intro scene, when MM gets shot by Terra, the screen fades to white, but MM (hurt sprite) remains.  But in DX intro scene, when MM gets shot and the screen fades, MM also fades (although he returns to say that he can't hurt Terra).  That seems a little unnatural.  Can you make it so that MM remains on the screen?
Unfortunately, it can't be done easily.

Believe it or not, that cutscene is pushing the console to the limits. All sixteen palettes are used and some tricks needed to be done to avoid heavy flickering.

Here is a short explanation on why it can't be done:
like in the NES games and in order to save space, all character faces (Rock, Roll, bosses, etc) use the same palette. If I made Rockman's face and body not fade, then Terra's face wouldn't fade neither and stay there onscreen.
The reason on why the DMG is capable of doing this is because the DMG has two OBJ palettes. Mega Man uses OBP0 and the rest of characters use OBP1, so in that case is possible to made some sprites fade while the others not (and, another example, that's how the game makes Rockman flash when charging the Mega Arm without making the other actors on screen flash).
But in the DX version I'm forced to make all faces to use the same palette because there is no other way to do it without wasting palettes like crazy. And the point was to turn the game into a colorized version, wasn't it? haha

If only there was an OBJ free palette, I could clone the face palette into that free palette and let Terra use it. Unfortunately, and due to Roll taking up two palettes, that solution is impossible.
There would be another solution that is definitively feasible, which involves placing hooks and changing the palettes order when Roll leaves the screen. But that doesn't sound like an easy task and not worth.

hmsong

#342
Quote from: bmathew on May 25, 2023, 10:03:30 PMhmsong, I shall do a review of your patch.  The goods:  I like how Tango is so effective against Venus (who was probably the most difficult normal robot master).  And I didn't know Black Hole can absorb Jupiter's fireball.  Very nice.  But the bads:  I don't like how you made Electric Shock be ineffective against Saturn.  It was supposed to stop Saturn's black hole shield, but now, I have to wait for him to deactivate his shield (which seems to take forever).  Also, given that Grab Shot actually works against so many bosses, it seems to decrease the difficulty even more (MMV is already easier than MMIV).  Should you really be doing that?
Yeah, I noticed that JU ended the Saturn shield too.  The problem is, SA is kinda terrible against the other 2 bosses (i.e Pluto and Uranus).  And I had to make one of the later 4 bosses weak against SA.  And none of the weapons other than SA can even hit Jupiter when he's in the air, so there was that too.
And for Grab Buster, I made it so that it's not effective (although not immune) against almost half the bosses, because it not working just didn't make sense.  Besides, against most bosses, it'll actually be a liability, because you would have to actually move around to grab the energy pallet, which can get you hit by the boss instead.  And you ought to be focusing on attacking, not recovering energy.  So I thought it was no big deal.

bmathew

Quote from: marc_max on May 26, 2023, 03:45:49 PMUnfortunately, it can't be done easily.

Believe it or not, that cutscene is pushing the console to the limits. All sixteen palettes are used and some tricks needed to be done to avoid heavy flickering.

Here is a short explanation on why it can't be done:
like in the NES games and in order to save space, all character faces (Rock, Roll, bosses, etc) use the same palette. If I made Rockman's face and body not fade, then Terra's face wouldn't fade neither and stay there onscreen.
The reason on why the DMG is capable of doing this is because the DMG has two OBJ palettes. Mega Man uses OBP0 and the rest of characters use OBP1, so in that case is possible to made some sprites fade while the others not (and, another example, that's how the game makes Rockman flash when charging the Mega Arm without making the other actors on screen flash).
But in the DX version I'm forced to make all faces to use the same palette because there is no other way to do it without wasting palettes like crazy. And the point was to turn the game into a colorized version, wasn't it? haha

If only there was an OBJ free palette, I could clone the face palette into that free palette and let Terra use it. Unfortunately, and due to Roll taking up two palettes, that solution is impossible.
There would be another solution that is definitively feasible, which involves placing hooks and changing the palettes order when Roll leaves the screen. But that doesn't sound like an easy task and not worth.

That sucks.  In that case, do you think it'll be better to just have the text without Mega Man showing back up?  I feel like it'll represent that Mega Man became unconscious, and his last thought was that his Buster wasn't working.  It seems better, although only imho.


Quote from: hmsong on May 26, 2023, 08:58:08 PMYeah, I noticed that JU ended the Saturn shield too.  The problem is, SA is kinda terrible against the other 2 bosses (i.e Pluto and Uranus).  And I had to make one of the later 4 bosses weak against SA.  And none of the weapons other than SA can even hit Jupiter when he's in the air, so there was that too.
And for Grab Buster, I made it so that it's not effective (although not immune) against almost half the bosses, because it not working just didn't make sense.  Besides, against most bosses, it'll actually be a liability, because you would have to actually move around to grab the energy pallet, which can get you hit by the boss instead.  And you ought to be focusing on attacking, not recovering energy.  So I thought it was no big deal.

I think SA works fine against Uranus.  To be fair, almost all weapons work well against Uranus, as he doesn't move much.  Btw, what can SA absorb from which specific boss (s)?  I know it works against Venus and Jupiter, but anyone else?

hmsong

Quote from: bmathew on May 28, 2023, 10:15:16 AMI think SA works fine against Uranus.  To be fair, almost all weapons work well against Uranus, as he doesn't move much.  Btw, what can SA absorb from which specific boss (s)?  I know it works against Venus and Jupiter, but anyone else?

It can absorb all of Mars's projectiles (including mines), Wily Knuckle's missile, and Sunstar's rising beam.  Sadly, absorbing those don't help, because they all fire multiple of them in a row, and each SA can only absorb for 1 frame.  Well, other than Wily Knuckle, but that guy is easy, so it doesn't matter.

UltraEpicLeader100

Would it be possible that the mega man killers recive their themes from the previous GB titles or is there not enough room on the ROM?