One year later

I’m aware it’s been a full year since my last post. I apologize for the long silence. As usual, real life and gaming studying used up a lot of the time. Also sorry for the unapproved comments, I didn’t pay attention to them for a while. Most of the progress was made on the projects covered by Absolute Zero, but the others were also not forgotten. Today I want to focus on Dragon Quest Monsters 1&2. I know that the length of the project is almost comical at this point, so I want to give some insight into what problems there were to solve and why it takes a long time, often resulting in extended stretches with little motivation to work on it.

Dragon Quest Monsters 1&2 is undoubtedly among the nastiest games I’ve worked on. It needed many major programming changes that all came with their own set of resulting issues. Some systems of the game were  just entirely unsuited to languages other than Japanese and needed a lot of manual work to get them working. Here I want to summarize a few of the things that needed to be done, some of the issues along the way, and what we still have left to do at this point.

Names

The Japanese version used 5 bytes/characters for player and monster names. This has been extended to 6 letters by compressing every letter down to 6 bit, at the cost of the size of the input alphabet. The game originally stored location names as plain text in saves, in around 10 bytes. It copied them from the text of the specific map. No compressing method would allow the longer location names to fit in there, so now instead an index gets written to the saves and a new list of location names was created to be referenced by that. Key names in part 2 were also stored as plain text, in just a handful of bytes. These couldn’t be referenced by an index due to the vast number of possible variables, so instead all the variables are encoded in a way that allows dynamically recreating the key name on demand.

Menus

The Japanese version uses tile maps to display the background and text. The screen is divided into 10×10 pixel blocks and each block can get one value assigned, ie. the graphic of a single letter. As this obviously doesn’t work well at all with proportional text, the entire system has seen a major rewrite, now dynamically drawing text, storing it in VRAM, and freeing it when it’s no longer needed. This was necessary, but it also caused a severe number of bugs. Some of them resulted from flawed logic in the original game. I’ll explain it with an example of a bug that I recently fixed, which had troubled me for a very long time.

2

Here you can see the status menu. Note the list on the left, which is a list of your monsters, with another option to show an overview of all your monsters at the same time. Now, when you press O you can see the ancestors of the selected monster.

3

And then this happens. Note the same menu on the left, now in the background. What should show “All” actually shows “24” in this case. At first it looks fine, this only happens when you press any buttons. So what happened? After a lot of debugging, I figured it out. This is the sequence of events:

  • the player presses O, entering the ancestor menu
  • the game draws the new foreground menus, and at the same time creates a backup copy of the background menu
  • whenever the user presses a button, all menus are redrawn, including the background menu. At this point my new system frees the previously displayed text, allowing it to be overwritten by new text
  • after all menus have been redrawn, the final image is created. But instead of using the newly drawn version of the background menu, the game instead uses the backup copy. As the text it displayed has long been invalidated, the result is garbage

This is just one of many examples where the game works in, let’s say, a less than intuitive way. It’s a very time consuming process to identify and fix these issues.

Battle Text

This is the single most time consuming part of the game. When the game displays battle text, it doesn’t fetch any complete sentences. It doesn’t fetch any sentences with some placeholders either. It instead pieces the sentence together bit by bit, splitting it into the small parts mirroring sentence fragments of the Japanese grammar. Here’s a simple example to illustrate this:

<Var:10><Var:30>は <Var:20><Var:35>を <nl>ぱふぱふした!
<Var:10><Var:30> gave <Var:20><Var:35> a puff puff!

The Japanese text is split up into three parts, the first two of which are used by hundreds of strings:

<Var:10><Var:30>は
<Var:20><Var:35>を
<nl>ぱふぱふした!

Now there is a problem – the Japanese text just puts the names of the two monsters right next to each other, but in English we need to insert an extra “gave” inbetween them. To do this we can’t just change the string. Instead, we need to add another sentence fragment and adjust the battle script to piece the sentence together in the right way. This process needs to be done with a lot of strings. Some don’t need any changes, some can be solved by slight wording changes (ie. active instead of passive, or vice versa), while many others need to have their script adjusted. It’s a time consuming and error-prone process, and every single string the game can display needs to be checked and verified for this reason.

Additionally, support for pronouns was added. The monsters in your party use their respective gender, while enemies are universally referred to as “it”.

What’s left at this point

  • finish checking/fixing all battle text strings
  • replace Japanese graphics, ie. the title screen or the background graphic for the appraising results
  • fix remaining menu issues (most of them should be squashed by now)
  • text editing (mostly to avoid ugly text formatting, currently around 1/3 through the first game)
  • testing

A special thanks goes to Lord Oddeye, who joined the project after the Oriental Blue release. He continued testing just as thoroughly as before, and this time around also helped fix the issues. He brought the majority of the system text formatting up to shape and is now doing the same for the story text.

So much for today. I hope it was an interesting insight into the project, and I’ll try not to take another year for the next update.

55 thoughts on “One year later

  1. Bearpowers

    I’m glad you’re still kicking.

    Any chance of DQM releaseing this year you think or will it probably happen in 2016?

  2. fffffffffff

    Excellent work so far. it seems like the issues you’ve run into would have made less dedicated translators just go “screw it” and give up yet you’ve persevered. You’ve got my respect.

  3. MHGenesis

    Wow, props for not just giving up on it, this is great, especially since the 3DS titles are probably not going to be localized.

  4. alexeon

    I’m glad to see a new post! I can’t wait for Xenosaga I&II, even if I’m an old man when it comes out.

  5. Skelletonike

    Personally I’m not really bothered with the lack of updates, as long as you guys keep up the work you’ve been doing, you can take as long as you’d like to give updates.
    The games I’m mostly waiting for never really seem to get an update though, so while it might be intrusive, I’d like to ask if SRW is still progressing.
    Other than that, I’ll keep waiting for more updates and an eventual release of the games you guys are working on. Given all the DQ games being announced to the west recently, it’ll be nice to have a classic DQM to go along them.

  6. Ethan

    Damn, I respected you guys back when I thought translating a game was just extracting the text, translating it, and plugging it back in. I eventually learned that it was a lot more complicated, but I had no idea it was this convoluted. I’ve got even more respect for you now that I really know the work you’ve put in. Thanks for doing this! I can’t wait to play the game, even if I have to wait until 2020, haha!

  7. Cinabar

    I am so happy that after a long time we heard from you (and got also an update!). Best thing is that this post was written the same week with the Dragon Quest XI announcement!

    It’s great to hear that you are still working on DQ Monsters. It’s one of the most anticipated games . Take your time, enjoy real life and any other plan/project and don’t worry anout anything else. I am sure that sooner or later you will finish the work with the translation patch.

    By the way, can i ask you something? Is it easy with the next update to provide a screenshot of Monsters 2 (ecen with japanese text)? I am very curious to see how it looks because i searched the net and i couldn’t find even a single one from the psx version…..

  8. Cinabar

    Wow! Thank you so much!

    It’s the first time i am seeing a screenshot from Monsters 2 (PSX version). I think i may like it more than Monsters because of the exotic enviroment since it’s not common in Dragon Quest games.

  9. cody

    Keep up the good work!

    Not much else to say, it sounds like a difficult project, don’t burn yourselves out!

  10. Ryuza

    Awesome to see you guys still going at this! 😀

    By the way, do you already have English versions of the Japanese graphics you needed to replace? I’ve done similar work on other translation projects so I’d love to help out with making those if you don’t have them yet. 🙂

  11. kingotu

    I love DQM games. Been playing them since I was a child. So upset that we’re never getting DQMR1 or 2. I really want to replay these with the features included in the ps1 version. Just keep us all in the loop. I appreciate all the hard work. It’s a shame DQ is notorious for their difficulty to translate.

  12. chris

    kingcom ( or tom if your around), i was wondering if you could tell me if there is a way programmed into dqm2 to get the 3 promotional monsters legitimately? that would be super cool if so

  13. toph

    thank you so much for this update. I am very excited for the release of the DQM PSX patch. DQM1 on GB was my introduction to the Dragon Quest series. I can’t wait to finally play the updated version and invest another 100+ hours in a new save file.

    thank you for your hard work!

  14. hugo

    i like to thank all you guys for all the hard work you put into this project i thought that the only thing you needed to do was just translate the files but now that i see how much more work you guys put into it
    all i can say i thanks and good luck with all the work left to do

  15. Tom

    There is only one monster that would need to be hacked in. Its name is I-bou. It requires a cell phone game that is nearly impossible to get now. We haven’t determined if and how we can make it available, but we would like to!

    The three monsters that could not be obtained in the GBC edition can be obtained in the PS1 version without hacking, but it takes some luck. Foreign masters may have them. You will have to lure them in from foreign masters.

    Each character can steal one of the three from foreign masters, no hacking needed.

    I-bou is the tricky one.

  16. ablahblah987

    I’m happy to see you’re still alive and I appreciate your continued efforts to get DQM finished. I would love to play the game soon but I understand that real life has to take priority.

  17. chris

    awesome, i remember you said a long time ago that there was content from dqmi that you guys wanted to hack in / make available as part of the release. super cool!

  18. Nick

    Woooow! An update! Ugh, I love it so much! I understand how much work you guys have to put in for this and juggling it around your normal life isn’t exactly an afternoon job. Although, I love the fact you guys are alive and kicking. This is the game I’ve seriously been waiting for. I can’t wait and keep up the awesome work!! 🙂

  19. hugo

    hey i check this website like once a week to see if dragon quest monsters is released is there maybe a way we could help you to speed the process or could donate to you

  20. Nick

    I’m always checking this page hoping for an update. Still, glad you guys are working hard. Keep it up! Looking forward to DWM 🙂

  21. Sromek

    Hey 😀 i hope we wont have to wait wjole year for an update! It would be incredible to hear any news about your projects! Keep up the good work and let us know about any progress!

  22. Vojovnik

    After waiting for 7 years, i don’t think that there will be ever a release of DQM 1+2 😀

  23. Chrona

    I’m still checking this place daily lol. You figure by now I’d reduce it to every week or two…but where’s the fun in that?

    Keep it up, translators 🙂 your progress is still being appreciated even when we don’t hear from you

  24. ed

    it’s such a pity though because DQM 1&2 seems to have been so close to completion. I used to check more often but now its like once a month or so. Come on Kingcom throw us a bone! A nice juicy update bone;) with screenshots and code snippets!!! – ed (longtime fan)

  25. ablahblah987

    It’s been almost a year since the “One year later” post… Any news would be greatly appreciated.

  26. Hamish Todd

    Happy birthday to you,
    happy birthday toooo yooooou~
    happy birthday,
    dear update…
    happy birthday to you!

    =) I haven’t stopped believing

  27. Chrona

    The 3DS version of DQM1 just had its fan translation released a few days ago! Going to be playing that one for now, then I’ll play this one whenever it’s done :3

  28. Nick

    Well, I’m still checking on this site. Hoping we’ll get an update of some sort… Anything would be amazing to be honest. I know how hard it is to balance this stuff between life, so I’ll leave this comment short. Keep up the good work!

  29. MATT

    Here’s my yearly check-in pleading for some Xenosaga. PLZ update. I’ll probably burst into tears when you finally release it!

  30. Vojovnik

    Following this site for 8 years now, because of DQM 1+2. I guess this (and all the other projects) are dead as they can be. But thanks for DQM Caravan Heart.

Leave a Reply

Your email address will not be published. Required fields are marked *