News:

11 March 2016 - Forum Rules

Main Menu

Dragon Quest Monsters (GBC) Delocalized

Started by nejimakipiyo, July 07, 2020, 05:40:38 PM

Previous topic - Next topic

nejimakipiyo

Dragon Warrior Monsters is a game I've loved since childhood, so naturally it would be the one game I would want to use when I take my baby steps at hacking. Over the last few months I've posted some questions on the forum but now that my hack is almost ready for release - pending a playtest or two - I wanted to make a specific project thread to share it with the community.

My main goal for this hack was essentially to fix the awkward English. It started out as a wish to restore the humour of jokes that were translated too literally, and fix a sign in the early half of the game that made no sense. The little wish then evolved into an ambition to decensor the alcohol and 'Puff puff' references that the official localization covered up, as well as fix the many, many instances of poor wording and improper punctuation, and even a few typos!

My approach to editing the script of Dragon Warrior Monsters wasn't as intensive as my work with Chicken Knife on the Dragon Quest Delocalized series... mainly because I'm doing everything byte by byte in WindHex for this one! But I consistently checked the translation of each and every line in the English translation against the original Japanese to verify accuracy, and Chicken Knife helped a lot with rewriting major boss speeches and tweaking other text as well.

Here are just a few examples of things I've changed.

The weird sign - official translation (top) and my translation (bottom)



Restoration of one of many puns - official translation (top) and my translation (bottom)



Decensorship - official translation (top) and my translation (bottom)



Minor tweak to monster names - official translation (top) and my translation (bottom)




And I'll post one of my favourite boss speeches in the game, that Chicken Knife and I worked hard on getting just right.

Official:
"How do you do? I am the guardian here. My name is Durran.
Hmm. You have good eyes. You're with pretty good monsters!
I see you're a somebody! I wonder if you're good enough to fight me.
Let me see how you fight. Come on out! My servants!
Here, fight to your heart's content!

Ha ha ha! You defeated them easily.
Forgive me for having you fight with weaklings.
The next one is a pretty tough one.
It's a swordman who wandered in search of the best sword in the world and..
at last came to me!
Come out!
Let me introduce him to you. He's the one who dedicated his soul to me...
and he's the strongest in all the world, Terry!
Come on! Terry! Fight to your heart's content!
Show him how strong you are!

Ha ha ha! How easily you defeated such a brutal opponent!!
You're not bad! You're my kind of fighter.
To have such a fighter... so near.
...thrilling!! Want a real thrill? Fight me!
Satisfy my blood lust! Taste my steel! Fight!"


Our translation:
"Pleased to meet you. I am Durran, the lord here.
Ah... What a discerning eye. Your monsters are quite impressive!
You are clearly one of great power.
Will you now fight me and show me your power?
First, let's test your skill. Come, my servants!
No need to hold back!

Muahahaha! You defeated them easily.
You must forgive me for making you fight weaklings.
Next up is a tougher foe.
A swordsman who wandered the world in search of the strongest sword...
and came at last to me.
Come, my servant!
Now, be introduced to he who offered up his soul to me.
Here is the world's strongest swordsman, Terry!
Well, Terry, no need to hold back. Show this boy your power!

Muahahaha! Another one defeated!
You bring me such delight!
Oh, how I quiver! I tremble with such a strong foe before me!
My blood boils... my body throbs...
But your blood will now gush forth. Your body will be torn asunder!"



That's all of the previews! I'm really excited about releasing this soon, and I hope this post catches some more interest as well.

I do have a few more goals for the hack that won't be included in its first publication, but will hopefully be present in future updates as I learn more and expand my skills as a hacker. Those goals are:

1) Rewriting the monster, item, and spell list to reflect Delocalized naming convention. This will be an optional patch, for those who want to play with an improved translation but retain familiar monster and spell names for ease of using guides (or for nostalgia). But maybe I'll make it default and create an optional patch to revert. Entirely depends on how satisfied I am with it, as redoing the list comes with a challenge - the monsters, spells, and item names have a character limit of 9. That may force some compromises.

2) A complete overhaul of the script, which will require me to learn and become comfortable with extraction and insertion. I haven't put in serious time to learning that yet, and won't be able to for a while as I have some other non-hacking related projects on my plate, as well as continuing to translate and play test our Delocalized games.

3) I think it would be cool to change the title screen to that of the Japanese version so that the game could be called Dragon Quest Monsters. Chicken Knife attempted this, but unfortunately didn't get anywhere with it due to complications.

Chicken Knife

#1
The Title Screen here is a weird scenario. I'm used to dealing with games with dedicated graphic tiles that only contain data related to specific graphics. In the case of Dragon Warrior Monsters, I've located the graphics that form the DRAGON WARRIOR logo we would want to redraw. But the bizarre part is that they seem to have taken the blank, "invisible" space in the 8x8 tiles used for the logo art and filled that space with... something, be it code or data. The presence of that other data in those tiles makes it essentially impossible to swap out the English tiles for the Japanese ones. If anyone has seen that kind of thing before and has experience dealing with it, please let me know!

zarkon

So I could breed a DarkDream rather than a Darkdrium?  Sounds good to me!

nejimakipiyo

Quote from: zarkon on July 08, 2020, 03:02:13 PM
So I could breed a DarkDream rather than a Darkdrium?  Sounds good to me!

Yup! That is one of the monster name tweaks too! :D

FlashPV

Quote from: Chicken Knife on July 07, 2020, 08:46:38 PM
The Title Screen here is a weird scenario. I'm used to dealing with games with dedicated graphic tiles that only contain data related to specific graphics. In the case of Dragon Warrior Monsters, I've located the graphics that form the DRAGON WARRIOR logo we would want to redraw. But the bizarre part is that they seem to have taken the blank, "invisible" space in the 8x8 tiles used for the logo art and filled that space with... something, be it code or data. The presence of that other data in those tiles makes it essentially impossible to swap out the English tiles for the Japanese ones. If anyone has seen that kind of thing before and has experience dealing with it, please let me know!
Maybe you could extract the title screen from the german rom (named Dragon Quest Monster) ?

Chicken Knife

Quote from: FlashPV on July 09, 2020, 02:00:40 PM
Maybe you could extract the title screen from the german rom (named Dragon Quest Monster) ?
Everything I've done with title screens has either been swapping out/redrawing tiles, or making minor tweaks to the nametable arrangement when there are duplicating letter tiles and things like that. I'm not sure what the process of extracting / importing a title screen would look like if I can't just swap tiles. Would you be able to give me any more detail on that?

Choppasmith

Looks good nejimakipiyo! Best of luck!

Quote from: FlashPV on July 09, 2020, 02:00:40 PM
Maybe you could extract the title screen from the german rom (named Dragon Quest Monster) ?

This is blowing my mind right now. Had no idea there was a pre-merger DQ game released in Germany of all places that KEPT the Quest name. If anything else maybe you could insert the English script in the German rom too if it ends up being THAT much different.

Chicken Knife

Quote from: Choppasmith on July 09, 2020, 04:09:30 PM
Looks good nejimakipiyo! Best of luck!

This is blowing my mind right now. Had no idea there was a pre-merger DQ game released in Germany of all places that KEPT the Quest name. If anything else maybe you could insert the English script in the German rom too if it ends up being THAT much different.
Wouldn't be a terrible thought if we could manage to sort out the pointer issues we've continued to be plagued by. Let me explain and maybe someone could help:

Let's take a look at nejimakipiyo's favorite monster in the monster list: RainHawk. The list address for RainHawk is 0x00105E36. Because the pointers here are big endian, no header subtracted, we have the two-byte pointer at 0x001043EA storing 5E36. And as a quick FYI, every monster on the list has its own pointer in the pointer table.

If we adjust the little byte of the pointer from 36 to 3F for instance, the monster name gets swapped with the next one on the list, MadPlant. All is normal there. But things get really weird when you try to swap out the big byte, 5E. Let's say you try to swap it for the monster located at 0x00105F0C, Butterfly. If you overwrite 5E36 with 5F0C, what should populate Butterfly ends up populating "zzardy". What happened is that the change in the big byte got completely ignored, and the code reads from 0x00105E0C instead, which is the end segment of the name Blizzardy.

All very mysterious. Why spend all that data listing bytes for the 1000's and 100's place when the code doesn't use them? And without using that pointer data, how exactly is the code choosing which address in the 1000's and 100's space to populate?

If anyone has seen or worked with this kind of oddball scenario, please send us some tips. nejimakipiyo was able to redo the script by mostly remaining on par with data storage, but in order to redo the monster/item/spell names, it would be infinitely helpful to have more control over the pointers. And having that control would probably allow us to do proper extractions/insertions in future updates.

Reld

This might be too obvious, but are you sure the pointers are big endian? If they're little endian what you're describing would make perfect sense because you're changing the wrong "big" byte.

EDIT: I just took a quick look in the ROM and the pointers at $104416, if they're big endian, go 5EF9 5E02 5F0C. I think they're little endian. 5EF9 5F02 and 5F0C seems a lot more likely to me. Otherwise 5E02 is way out of order, although that's not impossible or anything.

Chicken Knife

@Reld
You absolutely nailed it. The fact they have a pointer for each entry/string makes it so easy to mix this up and just assume they are big endian. Many many thanks for taking the time to check this out!

nejimakipiyo

Quote from: Reld on July 15, 2020, 12:23:13 AM
This might be too obvious, but are you sure the pointers are big endian? If they're little endian what you're describing would make perfect sense because you're changing the wrong "big" byte.

Thank you, Reld! We had serious tunnel vision because of this!
Probably because when I asked for help in the Newcomer's Board I was a complete newbie and just went with the info I was given, that the pointers were starting with 5B. It worked well enough for what I was doing, despite all my complaining over the last few months that sometimes I just couldn't change the pointer. Now I know why!  :D

With this info, I'll definitely have a little more freedom to change the monster and skill names as I please. There's still an annoying restriction of 9 characters per name, but that just requires creativity.

Reld

Nice. Glad it was that simple and not some weird ASM nightmare.

Pennywise

Have you guys ripped the scripts from the US and Japanese versions yet? It would probably be fairly simple if the scripts are uncompressed.

Unless there's like major changes made to the US ROM, I'd probably use the Japanese ROM as a base. It doesn't look like much effort was put into redesigning/expanding everything by the localization team.

Anyone I briefly looked at the game and the ROM can be expanded up to 8MB (it's current size is 2MB) and the dialog font is setup in a way that makes adding a VWF pretty easy.

Chicken Knife

#13
@Pennywise,

Thanks for taking a look. Nope, no serious effort was made to rip the scripts yet. This was/is nejimakipiyo's first hacking project, and like my earliest experiences hacking the NES Dragon Quest games, most things were done on a very slow and painfully manual basis so far. They did simultaneous playthroughs of the Japanese and English versions to catch any significant errors in the translation process and corrected them as they went. A lot of text was left alone that was deemed reasonably accurate. They made a short attempt at using abw's extraction / insertion software, but didn't get past the initial setup headaches, plus the pointer issue wouldn't have allowed that until now. I think there is something to be said for the benefit of a new hacker starting off with manual hex editing, but I know they are feeling a little more motivated to take a better approach.

As far as Japanese verses German, when we eventually look at taking a much more comprehensive approach to reworking the script, the German would probably initially be more space accommodative, given how compact kana text tends to be. The idea of expanding the Japanese rom and tweaking the code to address new rom banks for big chunks of text is intriguing. I haven't personally done that per say, so it would be a bit of a challenge. But I am open to looking at it.


nejimakipiyo

Quote from: Pennywise on July 15, 2020, 12:39:05 PM
Have you guys ripped the scripts from the US and Japanese versions yet? It would probably be fairly simple if the scripts are uncompressed.

Unless there's like major changes made to the US ROM, I'd probably use the Japanese ROM as a base. It doesn't look like much effort was put into redesigning/expanding everything by the localization team.

Anyone I briefly looked at the game and the ROM can be expanded up to 8MB (it's current size is 2MB) and the dialog font is setup in a way that makes adding a VWF pretty easy.

I haven't done any extraction yet. I was having a hard time trying to set up the tools to do so. All of this technical stuff is a nightmare for me. I did try to look at Japanese text in the ROM, and was having trouble getting that to display as well. Was just getting garbled nonsense instead. Hence why I decided to play it in Japanese to get all of the text I needed.  :D

I definitely need to upgrade my skills!

Pennywise

Once you get past the learning curve, the tools make life much easier.

Maybe in the future, I can help you guys out on some the technical stuff.

Chicken Knife

Quote from: Pennywise on July 15, 2020, 01:55:02 PM
Once you get past the learning curve, the tools make life much easier.

Maybe in the future, I can help you guys out on some the technical stuff.
Thank you for the offer! We try not to be too dependent, but sometimes a little help over certain hurdles can be necessary. We will take you up on that offer sometime, I'm sure.  :beer:

Choppasmith

Quote from: Pennywise on July 15, 2020, 12:39:05 PM
Have you guys ripped the scripts from the US and Japanese versions yet? It would probably be fairly simple if the scripts are uncompressed.

Unless there's like major changes made to the US ROM, I'd probably use the Japanese ROM as a base. It doesn't look like much effort was put into redesigning/expanding everything by the localization team.

Anyone I briefly looked at the game and the ROM can be expanded up to 8MB (it's current size is 2MB) and the dialog font is setup in a way that makes adding a VWF pretty easy.

Yeah it's quite disheartening going from the NES games to the pre merger DW games, they're so low effort in comparison, technically speaking. I did some poking around the Torneko The Last Hope SLUS in the interest of at least updating the names and I'm honestly surprised it has a VWF. But it looks like the pointers are unchanged and kept as is from the Japanese version.

Anyway, glad things were figured out. I'll be getting to those GBC games myself eventually.

KingMike

Quote from: Choppasmith on July 09, 2020, 04:09:30 PM
Looks good nejimakipiyo! Best of luck!

This is blowing my mind right now. Had no idea there was a pre-merger DQ game released in Germany of all places that KEPT the Quest name. If anything else maybe you could insert the English script in the German rom too if it ends up being THAT much different.
Not that surprising when you think about it.
The US version was still subject to the trademark issues that forced the game to be renamed Dragon Warrior Monsters.
An EU English release would've surely used the US ROM because it was the simplest thing.
I'm guessing Germany wasn't restrained by trademark rights and they'd have to edit the game anyways.

However, that opening post.
I'm assuming that it is a puzzle where you have to take the longest way around the screen.
I'm guessing it was rewritten to not have one message span multiple text boxes, but in the process you have made the hint much less clear IMO. You may want to reconsider that.
"My watch says 30 chickens" Google, 2018

nejimakipiyo

#19
Quote from: KingMike on July 18, 2020, 02:24:48 AM
However, that opening post.
I'm assuming that it is a puzzle where you have to take the longest way around the screen.
I'm guessing it was rewritten to not have one message span multiple text boxes, but in the process you have made the hint much less clear IMO. You may want to reconsider that.

If your assumption was true, then I would have to agree.

However, that's not the case. The screenshots show this area after I came back to it in post-game just for screenshots, but when you first arrive here there's kind of a maze/puzzle with monsters that move around when you approach them. If you take the "longest way" - what is visibly the long route to the boss on the screen - you'll be blocked off by monsters and won't reach the boss unless you loop back to the beginning, whereas if you "take a detour" - what looks to be a dead end - a monster will move away and you can get to the boss without triggering any additional encounters.

In Japanese, the sign in question is very straight forward:



It uses the word とおまわり, meaning "detour". My translation definitely offers a clearer idea of how to proceed straight to the boss. (That said, if you're like me you'll want to fight all those monsters anyway 'cause they give great EXP!  >:D )



Quote from: Pennywise on July 15, 2020, 01:55:02 PM
Once you get past the learning curve, the tools make life much easier.

Maybe in the future, I can help you guys out on some the technical stuff.

Thank you! Would love to take you up on that in the future. It's almost ready to release now, and I do plan to do a complete re-translation in the future once I'm comfortable with Extraction/Insertion. At that time, I'll most likely want to insert the English text into the German or Japanese ROM to get the title screen as well.

For now, though, I'm pretty satisfied with my accomplishments so far and I see value in touching up the translation in the ways that I already did for my first release. I'm also about to start working on a separate patch to give all of the monsters, spells, and items their more accurate Delocalized names, to (mostly) match the work that Chicken Knife and I are doing with the earlier main-line Dragon Quest games. I intend to publish both patches at the same time, so that people can choose which way they'd like to play. Only the Delocalized version will get the complete writing overhaul in the future, though.