Reflection

Dragon Quest Monsters: Caravan Heart, my first own translation project. It had a moved history with as many ups as downs. What makes a person start the tremendous effort of creating a translation? What does it take to see it through to the end? If you’re interested, please read on.

To understand the motivations behind this translation you have to understand a bit about me. Like most people, I got into “the Scene” through the other, bigger community – Emulation. Ever since I got internet at home, I really can’t remember the exact time – it was shortly after UltraHLE shook up the whole emulation community, I was interested in Emulation. I started out as a pirate. Yeah, there I said it! It wasn’t because I couldn’t/didn’t want to afford games, for a 14 year old German boy like me it opened a door to unreachable treasures: US RPGs. Most american gamers complain about how many great games never made it from Japan to the US. Well, in Germany we had almost no RPGs at all.

Masterpieces like Final Fantasy 4 and 6 or Chrono Trigger never made the jump over to us. Through Emulation I could play these gems on my computer. Needless to say I was pretty hooked. I really loved those games, even though my understanding of English was wonky at best. More or less automatically I also made contact with the fan translating scene back then. At first I often didn’t even knew I was playing a fan translation and not a commercial product. ROMs came from dubious download sites which had more popups than actual content. If I was lucky they were named by the game’s name and not a unreadable mumbo jumbo of letters. It was later on that I was looking for English versions of games that didn’t have one that I knowingly came across the translation scene. I first heard about Dragon Quest then (no NES DQ’s for Europe either) and stumbled upon the Whirlpool and Dejap. That lead me to even more great RPGs and games I had never heard of before.

A bit later I completely lost my internet connection. I had to format our family PC for some reason and we couldn’t find our ISP login data again. No one ever really cared to try to ask the ISP for a now one or something, so I just got used to live without internet. Of course I checked some sites from time to time at friend’s PCs, but I couldn’t really follow the developments any more. It took 3 years (I’m not kidding) until I finally got internet access back. By that time I finally got my mother conviced to order DSL >_>. Finally I had unlimited internet access, and on my own PC too (thanks to the wonders of wireless networks). It was time to catch up with the stuff I missed.

Those three years didn’t pass by me unchanging. My command of English was vastly improved, my development as a person too. I think I was 19 by that time. Since I finally really understood what I read everywhere, I then finally understood the workings and links behind the scene. Seriously, when you’re English is barely enough to make out where to download something from a site and where you have to go next in a RPG, you really don’t get the finer points of conversations or even jokes on the internet. (I actually thought everything they wrote on the whirlpool back then was serious *gasp*).

Fast forward, I finally wanted to get back into the translation scene. Obviously he first sites I visited where the only ones I knew. The whirlpool and Dejap. The first was closed at the time (Drama!) and the second hadn’t been updated for years or so. On Dejap’s message board I first met a a particular man with a vision (does that sound cheesy or what?) – Nightcrawler. He voiced his plans to build a new site from the ground up, to continue and improve where the whirlpool had left off. I was extremely thrilled by the idea – even though I hadn’t even visited the whirlpool or any other translation site for years! I’m not really sure myself what drived me back then. I guess I just wanted to get involved. Fast forward – this was how I took part in RHDN’s founding. Considering the idea to help out was born in a random instant I’ve sticked to it
quite faithfully up to now.

Romhacking.net was born and prospered. There I really learned about the romhacking community, about the amount of effort that wents into a translation. Before I knew it was part of it myself. Not long after the site was founded, we also started an IRC channel. This would be the place where my own project would be born (you remember, that’s what I wanted to talk about *cough*). The initial spark that set off the chain reaction wasn’t even myself. It was the
channel admin, DarkSol. He voluntered to create the IRC channel, since no one from staff really had any
IRC experience or cared enough about a channel. After a few days he said something along these lines (it’s been two years, don’t take it as a quote): “I’m the operator of a romhacking channel and I don’t even romhack, damn!”. This got me thinking. I always wanted to try my hands at romhacking myself, but I’ve never been really serious about it. It pretty much changed at that moment, suddenly my motivation was sparked.

From that point on, I took my first steps in the world of romhacking.

Starting a translation project is one thing – it happens all the time. Finishing one is a major archievement though, and unfortunately a quite rare one. From my experiences, I learned that the most important factor of success is
the choice of the game. At least the first time around, it’s absolutely critical that you pick a game that’s easy to get into. And then you still need some luck to succeed accompanied by a good dose of stubborness.

Before I came across Caravan Heart, I tried several other games. A common newbie introduction is “Try an English game first since it’s easier to grasp the concepts”. For me, this didn’t work at all. First, I couldn’t even find an
English game with Text that wasn’t an RPG (Taking an RPG for a first time attempt was also discouraged, too complex). I never really was an action gamer, so I just didn’t know any non-RPG games that had text in them. So I did try some RPGs then. Just as they said though, at least the ones I picked weren’t easy to work with. I couldn’t find a font in any of them. Great, I was already on the verge of giving up. Fortunately, I just ignored the common suggestions and took a Japanese game after all. And surprise! – I had success from the first try.The game I picked was Black Matrix Zero, for the GBA. I almost instantly found the font. The success was thrilling! I guess I was addicted from that first moment of success. I was trying to figure out how to create a table when I heard that someone else – Chris Judah was already working on the game. It was quite disappointing, but I didn’t want to intrude on other people’s projects, even if it seemed inactive (by the way, up to today, that translation’s status is still unheard of).

I was back to square one. I didn’t even know another Japanese GBA game (I was pretty sure that would be the platform I want to work on. It seemed to be well documented while not being overworked. I really hated the idea to dig up another mediocre SNES or even NES RPG just for the sake of doing something…). After googling a bit I found this site that had lists of GBA import games with small descriptions and pictures for most of them. Browsing around on that site I
stumbled across DQM: CH. I didn’t even know this game existed! I had loved the first DQM game on the old gameboy. Well, I was one of those who liked Pokemon much better, but I still really liked it. Unfortuntately, I never heard of DQM2 either. As far as I know it’s another game that never made it to Europe.

CH seemed like the ideal project. It’s from a well known major series (It was far from being my primary concern, but why not get some fame for spending all this time on a translation?), it’s an RPG and it seemed to be really excellent in it’s own right. So I decided it was going to be my project without further thinking. At that point I hadn’t even played the game for 2 minutes. Fortunately, my hopes for the game were justified. It’s a really good game, for me the best of the DQM series (I still haven’t played DQM2 though). Back then I didn’t really care, the thought of doing a major game like this was exciting enough to block all other thoughts. The project was still pretty volatile at that point, if I had been met by serious technical difficulties it could have been dead again right away. That’s what I meant earlier with picking the right project.

Fortunately, CH was absolutely perfect for a beginner to get into. It posed many challenges later on, but the first days are what get you hooked on a project or cause you to run away.

The project would never have gotten off the ground without the help of many people. Whenever I hit a road block, someone was there to help me out. Of course I still did the major part of all the work. But what other people really helped with was keeping the project going fluidly. This was a big motivation catalyst for me. That’s also why I’m against scaring away new people. Doing all the work for someone else is contraproductive too, but a gentle push in the right direction works wonders. I disgress. The first problem that arose was dumping the font. Fortunately, at that time D, the author of the extremely useful graphic powerhouse FEIDIAN was a regular on #romhacking.net. He showed me how to use FEIDIAN properly for dumping and inserting fonts. The table was then quickly completed with the help of other members of the IRC channel who were good at reading Kanji (the game has around ~350). The script was also easily found, uncompressed and in a neat order. The project coulnd’t have started better. I quickly had first proof-of-concept screenshots showing English in the game. Today I know that this stage of work is really by far the most basic, and getting some English to show up somewhere really nothing worth bragging about. But back then I felt like god ^^.

At that moment I was finally really convinced myself that I could pull off the whole project, at least in a crude fashion. Next, I had to understand pointers. I wasn’t really difficult, but Neil pushed me in the right direction so I understood it more quickly back then. I already understood the concept since I knew pointers from regular programming. The first hurdle was to connect the theory about pointers with the hardware information. After I had it down, I quickly found the pointer tables for the game, neatly in order in front of every text block. I tried to dump the text with Romjuice and other programs, but the dumps were horribly ugly. The solution was to code my own text dumping tool. It strechted my programming skills to the utmost limits (I so suck at programming, still today). The program was so crude and buggy that it actually relied on errors to work properly. Well, it’s the result that counts, right?

I finally had this script dumped (~2MB, only a few control codes) and I was determined to finish this. All I was missing (or so I thought at that point) was a translator and I’d almost be finished. So I put up a Help Wanted Ad on RHDN, asking for translation help. Only a week or so later (I really am damn lucky) I was contacted by a fellow called Tom.

He quickly translated first samples of the script and send them to me. At that point I made a fatal decision that would stall the project for almost a year later on. Since I didn’t ‘waste’ a thought about formatting or inserting at that point, I told him to write the scripts in a way that would become a major problem. Naturally, I couldn’t care less about something I wasn’t aware of. The speed with which he translated was simply astonishing. Of course I didn’t have any first hand comparisons to make. But from what I observed from other translation projects I was prepared to wait a year or two for the translated script. Tom did the whole 2MB in one single month. And the script was very good too. Very precise without being too literal. I’m really glad to have come across such a brilliant translator.

When the script was completely finished, I was so overwhelmed that I started with taking a break. Since I had counted on it taking ages, I wasn’t really prepared for a complete script when it arrived. I guess one could say I was a bit afraid of it. Finishing the project seemed quite a distance away before, now it was suddenly right at the door step. After failing at scraping together a custom script inserter, I decided to take a rest. There was so much to think about. Finalizing a font, getting the text inserted and the unasked question of the formatting.

That break almost took 6 months. A big part was lazyness. Another factor is that this period fell right into a quite turbulent time for me. I was finished with school and tried to adapt to the new university life. (I failed). What got me back to work on the project was my new homepage. Nightcrawler kindly offered to host a site for me on the RHDN server. Before that point, I was using a blog on wordpress.com. The site was sleek and reliable, but I had almost no possibilities to customize anything. Making my own site (or rather a theme, since I grew to love wordpress) also motivated me to get back to the project again. By that time the project had also grown quite a bit of a loyal fanbase.

I think if no one had shown any interest in the project I would have dropped it sometime along the way. All the encouraging comments on my site made me continue. It showed me that what I was doing actually meant something to several people. This is also the reason why I’m doing an English translation even though I’m German. Most German hackers work on German translations. But I consider that pretty much a waste of time (no offense to anyone involved in German translations). The German translation scene is practically non-existant. Back when the SNES translation scene was at it’s prime time, there was a small German scene following in it’s wake, with complete translations for Final Fantasy 6 and Seiken Densetsu 3. After that though, it kind of died completely. I don’t think there were even three German projects completed in the last 4 years. The reason is easy to see, there is practically no audience for it.
Everyone here who’s older than 15 knows English anyway, at least good enough to get comfortably through video games. I’m impressed that the French and Italian scenes actually live, they must have done something right we missed somewhere… In any case, there is just a much much wider audience to reach with English.

When I started with the project again, I tackled the main problem that had held me off the most. The font was just too ugly. The game needed the presentation boost of a variable-width-font. I was too afraid to attempt it (it seemed soo
complex), even though I actually had some ASM knowledge. Fortunately after I went to the board with a plea for help, I actually tried it after all. And I succeded! Getting the VWF working correctly was propably the best moment I had in my romhacking carreer so far. It’s a major technical archievement that really moved the project from the level of some beginner project to one that can easily compete with most commercial translations.

I also discovered that I could insert the scripts easily enough with Atlas. It looked as if nothing could stop the translation from swift completion now. WRONG.
The script format errors became apparent at that time. In order to get the script in a format that was insertable, I had to spend many hours formatting it manually. The pace was something like an hour per 10KB. You can imagine why this was simply maddening. It wasn’t complicated work (or so I guessed), so I had the idea of involving the community in the formatting process. I went ahead and asked on my site if anyone would want to help. The response was remarkably
positive, with 15 people volunteering. Unfortunately, the results weren’t so good. Only two people send me back finished files, the rest either took over a month (when I cancelled the thing), just vanished or took a lot of counceling on how to do it. Apparently I had underestimated the complexity. In the first days, I worked fulltime just on explaining some people how to do this stuff. In that time I could have finished three files myself :-\.
After a month went by without results, I stopped the formatting attempt. I wanted to take some time and reconsider the situation.

This time-out took almost another year.

The thought of going back to format the remaining 80% of the script manually again was so disheartening. I could come up with a dozen things I’d rather do every time I thought about it. It was propably the project’s darkest time. However, I never thought about quitting completely. It was clear that I would get to it sometime sooner or later, no matter the effort. I just couldn’t disappoint my translator for all the work he put into finishing the script. I have absolutely zero respect for people who abandon translators after they finished their work. It’s like asking them to do hundreds of hours of work for
you and then kicking them in the nuts and running away. A game translation is a collaboration effort, and in a team you have responsibilities. If you can’t accept that one shouldn’t even think about starting. /rant

I can’t remember if there was something specific which sparked my motivation again, but I finally got my arse up. I think at least a part of it was that DQM: Joker was soon to be released in English. When I had started the project, Joker wasn’t even announced yet. After it got released (in Japanese), I wanted to have my translation finished before it was available in English, since I was afraid it would greatly reduce the amount of interest in Caravan Heart. Never listen to a romhacker making release dates. Fortunately, I think I never said that goal publically, until now that is *wink*

I continued working on the formatting myself. It was boring and tiresome, but I made progress bit by bit. When I thought I was doomed to continue with it alone, fate once again smiled on me. More or less through a coincidence I got in touch with the German hacker Kingcom. I was checking my website’s visitor statistics when I noticed an incoming link from a site I didn’t know. It was Kingcom’s site, and I left a comment on it thanking him for the link. It lead to a conversation, and a bit later to our cooperation. It’s interesting how such little meetings can affect you.

Kingcom’s own projects (a Lufia 2 editor and a German translation of Valkyrie Profile) were relatively stalled at that time, and he really liked the prospect of working on CH, since he loved the GB games. Apparently my praise for no$GBA on RHDN also let him to get it and improve his hacking, which was why he put up a link to my site in the first place. So we decided to finish the project together. At first, we just went on with the manual formatting, but we tried at least partially automatic formatting after all. After a bit of fiddling with it, Kingcom got it to work! He is truly a much better programmer
than I am. The formatting was automatic at that point, we only had to get the files insertable manually. It cut down the time needed by more than a half.

A few weeks later, we actually finished the formatting.

When we felt it was finally ‘practically’ finished we were brought back down to earth by the harsh reality that’s menu hacking. When I started out with the project I thought translation was for 90% just dumping -> translating -> inserting. Now I know that the menu hacking is usually the most time consuming task for the hacker. It took us several weeks to get it all finished (although we seriously worked on it day and night for most of the time). The way the game created all it’s menues was straining at best and maddening at worst. I think we did a fairly good job with it after all, except for one menu that’s clearly a compromise due to VRAM space limitions.

Working with someone else on a project really put my mind into a new perspective. It was both very motivating and quite straining at the same time. Whenever I was about to slack off fading into days or weeks of lazyness again Kingcom would
give me a good kick to wake me up. Or I got motivated myself when he had new archievements every day while I was goofing around. Obviously, it was also a very hard time too. The pressure to work was quite high, and at times uncomfortable. I can understand when people prefer to work alone exclusively, so they can work on their own pace. CH in any case would have been released many months later without Kingcom’s help, and it wouldn’t have shined quite so
brightly.

Another person who contributed a great deal was Djinn, the Russian romhacker. He had started a Russian translation of Caravan Heart years ago, but quit since there was so much Japanese text. He contacted me and asked if he could use the
translated English script for his translation. Of course we agreed, I’ll gladly share my work when I know that something good is going to come out of it (Djinn has already several completed Russian translations under his belt). Even better,
Djinn had already done quite a bit of hacking himself back then, and contributed a few impressive hacks to our project. I’m glad to have met him.

Last but not least, there was an extended beta testing period. We wanted to deliver a game that was as polished as possible, so we put great effort in the testing department. Unfortunately, from 7 testers that started, only one remained after a two weeks. The rest either mysteriously disappeared completely or had various reasons to quit. It was quite disheartening and I was short before hammering out a public beta release as it was. Fate once again took a
turn in the right direction though and made Neil volunteer to help with the beta testing. Sparked with new motivation I also invited Crysta to the beta team, who had helped before with the English title screen. Those two sticked to the end helped us uncover countless more little spelling mistakes and arkward phrases so the translation could shine in the form that you can see today.

I’m proud that the translation turned out the way it has and I really hope that you enjoy it. It wouldn’t have been possible without the help of all those people who contributed. Check out the release notes for a larger list of people
who helped in one way or another.