Rockman 4 MI re-translation project

Are you new to 6502, NES, or even programming in general? Post any of your questions here. Remember - the only dumb question is the question that remains unasked.

Moderator: Moderators

User avatar
SatoshiMatrix
Posts: 287
Joined: Sun Feb 14, 2010 8:38 pm

Re: Rockman 4 MI re-translation project

Post by SatoshiMatrix »

Hey, for those in the know, how difficult/possible would it be to alter Megaman's color pallet in Rockman 4 MI to match his Megaman 9 and 10 appearance?


Image

The only difference is the shade of his lighter blue garb.

In the original NES games, he uses pallet 2C, but in the newer Megaman 9/10, he uses pallet 21.

There's no other changes; just that one color difference.

Could someone please see if they can implement that small fix to the Rockman 4 MI rom (link is on the first page of this thread) and the original stock Rockman 4 rom as well. Please send me the resulting roms so I can test them out myself. I'm not 100% sure if this fix would look good on the original hardware as opposed to emulation. I'd like to find out.
User avatar
SatoshiMatrix
Posts: 287
Joined: Sun Feb 14, 2010 8:38 pm

Re: Rockman 4 MI re-translation project

Post by SatoshiMatrix »

It took revising an entire character set, but I'm pretty happy with the my new font, and this is what will be used from this point onwards with only minor changes.

The rescue of Kalinka cutscene, with a new translation I've done. Click to enlarge.

Image
User avatar
koitsu
Posts: 4203
Joined: Sun Sep 19, 2004 9:28 pm
Location: A world gone mad

Re: Rockman 4 MI re-translation project

Post by koitsu »

I'd suggest moving the colon (:) character down (vertically) by 1 or 2 pixels, and moving it left either 1 or 2 pixels. This will result in better vertical alignment with the rest of the font, and also provide some whitespace to the right of the glyph which should make reading conversational text a lot easier. If you upload a CHR file I can modify it for you to give you an idea.
User avatar
SatoshiMatrix
Posts: 287
Joined: Sun Feb 14, 2010 8:38 pm

Re: Rockman 4 MI re-translation project

Post by SatoshiMatrix »

Sure, this is my WIP font.

Image

koitsu, do you think you might be able to do what I asked about in the top post on this page of the thread? I'd like someone to edit the pallet of Megaman in the MI rom and the original Megaman 4 rom to the Megaman 9/10 pallet. I want to see what happens on the real Famicom hardware and see if its to my liking or not. The MI rom can be found on the first page of this thread, and Megaman 4 rom can be found pretty much everywhere.
User avatar
koitsu
Posts: 4203
Joined: Sun Sep 19, 2004 9:28 pm
Location: A world gone mad

Re: Rockman 4 MI re-translation project

Post by koitsu »

I don't need a picture, I either need a CHR file or a ROM image (and for the latter please give me the file offset of where the font starts, I can work off of that). I also need to know how to test the results (please don't give me a save state, please tell me how to get from point A to B where there's relevant text that uses the font -- save states don't help me because I probably use different emulators/tools than you do).

The palette thing is doable, yes, assuming one can find the code where the palette index is set to $2c and change it to $21. However this can be tricky, mainly because the palette area of PPU RAM is mirrored in a somewhat tricky manner, and depending on how the emulator's debugger works, it may or may not catch mirrored writes. And god forbid the game do something later like read back in the palette area of PPU RAM and use that data for something *cringing*.

But yes it's doable.

I can do the CHR modification (to adjust/fix the colon and probably other glyphs) and the palette hack for you but I worry that it will set a precedent that I'm going to help with this project going forward (i.e. dedicate time to it). Let me explain, as politely as I can (and I really am being polite here):

The reason I'm not really helping is that this is stuff that usually a big never-ending time sink, especially if code is involved (not just writing new code, but dissembling the old and reverse engineering it). For example I can't even begin to tell you how many man-hours I put into FF2j/FF2e for Demi -- 2/3rds of it was the reverse engineering part (most would think it was the new intro -- nope). Since most romhacking is done voluntarily with the driving force being personal interest, and I don't have any real interest in this project (that doesn't mean your efforts are lame, it just means that I, as a single person living on planet earth, am not interested)... well, you can see where I'm going with this.

I'm not sure if you're aware, but there is an entire forum dedicated to this kind of stuff over at http://www.romhacking.net/ where tons of dudes hang out and bang on this stuff. Nope I'm not saying "hey! go away from nesdev and chat about this crap over there!", I'm just saying that this forum/board tends to be more "development oriented" and less "romhacking oriented", though there is a definite relationship between the two. If that makes sense (I hope!).

P.S. -- When testing font changes, it's a lot easier if you just change the in-game text to contain lines that contain the entire alphabet and numerics, as well as the symbols used. There's really no need for 500 screenshots of an entire "cutscene" when you can just change the game text to be "ABCDEFGHIJKLMNOPQRST" (next line) "UVWXYZ0123456789" (next line) ":!*" etc. etc... and then use that to test what things look like. Or make up your own strings, I guess.
User avatar
SatoshiMatrix
Posts: 287
Joined: Sun Feb 14, 2010 8:38 pm

Re: Rockman 4 MI re-translation project

Post by SatoshiMatrix »

First let me apologize for the length of this post, and yeah< I know about romhacking. I've got a thread there too.


As mentioned on the onset of this thread, I don't have rom hacking skills myself; I can only generate mock ups for the original author of this hack and for others who do have hacking skills and proceed forward with that. This is a personal project to help improve the game while it's still in its finished beta phase. The game is done, but minor improvements can still be made.

Originally my sole intention was to contact the Japanese creator and offer up a better English script, but the more I worked on mockups of the better English script the more I began to learn about the spacing and limitations of the script.

There can only be 24 8x8 pixel characters per line, two lines per screen. To add three lines would require considerable code rewriting, and since it'd only be needed for the English script, the Japanese author isn't willing to do that. So that limitation stays the way it is.

Two lines of 24 characters is not much of a problem in punchy Japanese, but words needs to be carefully chosen for an English script to avoid adding hyphens every other line, a practice that irritates the hell out of me as a writer.

So my mockups have keep these limitations in mind, but due the sheer amount of dialogue needed (easily double that of any other Classic series Megaman game) I quickly realized that using the original game's 8x8 capslock font exclusively wasn't exactly ideal.

I contacted the author asking about free space for additional characters, and was given this:

Image

I gave him a revised font with lowercase characters and a few special characters and of course asked for an example.

This is what I got:
Image

He didn't send me the rom, but he did tell me he would implement the new font in the next beta. However, while he does understand some English, communicating with him is difficult. That's why I try to avoid asking him highly specific questions.

Having played through the game several times specifically seeking for ways it can be improved, that's also lead me to take a hundred thousands screenshots, and although I lack specific romhacking skills, I do also processes considerable knowledge of NES and GameBoy sprites, am an enthusiast when it comes specifically to Rockman classic series sprites.

Therefore, I've become interested in helping to slightly improve some of the sprites in the game as well. There's not a whole lot that needs doing, but there have been a few examples I've noticed.

For one, some characters have a "talking" sprite where they open their mouth during dialogue, while others remain static. I'd like to add a single frame of an open mouth to the faces of the characters that talk - Megaman, Protoman, Copy Roll, Dr. Wily, and Kalinka - Cossack and Light have these sprites already. This is yet to be done.

A slight change to Dr. Light's sprite gives him better hair more fitting his appearances in official art. In the original, he looks almost balding.
Image

A few more slight edits will be done in the future.

Now as for adding in new sprites, I am aware that NES sprites are limited to four colors total, with one of those always being transparency. But starting with the first game, Capcom adopted a novel workaround by using two sprite layers for the main characters in the Megaman games. For example, Megaman himself is two sprites - his black/blue/cyan outfit and the other is his black/white/flesh face. Since the fourth color in both pallets is transparent, this effectively creates the illusion that Megaman isn't two sprites, but one.

By the time Megaman 4 came around, Capcom had expanded this to three sprite layers to create more elaborate bosses. Thi sheet I've compiled shows various bosses from Megaman 4 and 5 that do this.

Image

So based on that, I'd like to improve upon the Roll sprite that's in MI, which is just ripped from the awful sprite used in Megaman 1.

Here's my custom sprites that I'm purposing be added in:
Image


the regular Roll sprite consisting of her skintone and face, a second for her body shape dress and hair, and then an additional third layer for her hair bow. Since this pallet only consists of two colors, a third "dummy" color is used, in this case white.

Assembled, Roll consists of six colors across three sprite layers. There are NES sprites that do this already present in Rockman 4 MI, so I know it can be done.

however, I am not 100% sure it's necessary. Six colors can be done across two sprite pallets if black is eliminated from the face layer and therefore the eyes are moved to the body layer. That would free up one color for the green hair bow. but like I said I'm not 100% sure if the game would allow that, since that would need transparency around both eyes, not just the whole face. Might be a matter of efficiency given the slow clockspeed of the NES? I'm guessing here. I'd need someone with NES sprite knowledge to weigh in on this.
User avatar
koitsu
Posts: 4203
Joined: Sun Sep 19, 2004 9:28 pm
Location: A world gone mad

Re: Rockman 4 MI re-translation project

Post by koitsu »

I understand what you've said (yep I did read it all), but it's just reiterating (almost copy-paste at times) what you've already said. So I'll circle back to my previous reply and expand:

Adjusting the font to look cleaner (ex. the colon glyph being offset too much and looking tacky): I don't do "mock up" work -- either you give me a CHR file, or you give me a ROM file with a file offset of where the font is. It'd also help (for testing) if you step me through how to get to an area of the game where the font is used, otherwise I have my own tools/ways to see how it looks (has to do with the tools I use). I'll do the modification and give you a modified file in return. You can do with that whatever you like/need to do.

Adjusting Megaman's palette to use colour index $21 instead of $2c: again, I don't do "mock up" work -- for this I need the ROM file and instructions of where in the game Megaman is using the colour you want changed (probably everywhere from the sound of it). I'll do the modification and give you a modified file in return + explain the modification (including the code) so that you can understand it and/or articulate it in a form other than "here's a mysterious mod that does this thing to Megaman's colours..." :-) Testing this is also a bit tedious, because there may be multiple spots in the game where the palette colour indexes are chosen, and I might therefore only be modifying/fixing up 1 when in fact there's several.

Any kind of romhacking requires lots of testing -- not just a simple 5 minute play-through of your favourite stage, but someone to really sit down and play the entire game through and write down issues they see vs. the original ROM. I don't do that kind of testing (unless it's a project I'm interested in personally).

So there you have it. :-)
Post Reply