Translation [GBC] Bob et Bobette: Les Dompteurs du Temps - English Translation Project

  • Thread starter Thread starter SDA
  • Start date Start date
  • Views Views 1,120
  • Replies Replies 4
  • Likes Likes 2

SDA

Zero Regrets
Member
Joined
Feb 19, 2020
Messages
2,044
Reaction score
2,168
Trophies
2
Age
21
Location
Parete, Italy
XP
5,021
Country
Italy
Suske en Wiske: De Tijdtemmers/Bob et Bobette: Les Dompteurs du Temps (Game Boy Color)
English Translation Project

200723_front.jpg


About the game

Suske en Wiske: De Tijdtemmers (in Dutch), or Bob et Bobette: Les Dompteurs du Temps (in French) is a platformer game developed by Standaard Multimedia and released by Infogrames in 2001 exclusively in Europe. It is based on the Belgian comic series of the same name, originally created by Willy Vandersteen and first published in 1945 on the De Nieuwe Standaard newspaper before being released as albums published to this very day. In English, the series is known as Spike and Suzy in the UK and Willy and Wanda in the US. Wikipedia

The story begins with Ambrose visiting aunt Sidonia one evening. While the two discuss a bit on a newspaper article regarding Krimson, who has escaped out of jail, Ambrose suddenly disappears. This alerts Spike and Suzy, whom are soon invited by Professor Barabas to come over to his laboratory. Arriving there, they discover Ambrose's bowler hat inside Barabas' time machine, and are tasked to travel back in time to find the missing fragments for the time machine and rescue Ambrose before it's too late.

This game was released only in French and Dutch (Flemish) languages, which makes it one of the few non-Japanese GBC games that haven't received an official English version.

History and technical details
Although I've known about this game for some time, plans for an English translation only came in mid-2025 after realizing no one else was interested enough in translating it. I opened the ROM in a hex editor, and, to my surprise, all the text for the two language versions was right there and then in ASCII format, therefore 100% editable into English. With my knowledge of French, I managed to translate some of the game's text in the French version - namely, the stage select screen, the "ROUND ONE" and "ROUND TWO" inscriptions and the start/password menu.

As far as actual dialogue goes, I only managed to edit the very first line in the intro cutscene. This is because the majority of the text in the game is rendered as a single string that scrolls inside a box from right to left (and I didn't want to mess with pointers at all), and for a stroke of luck the translated line was the same exact length as the original. However, I also hand translated other miscellaneous dialogue lines to keep for later.

In terms of translation, since the comic series is known with two different titles in US and UK, my best idea is to repurpose the language selection screen into some sort of "name selection" where the texts are the same, but only the main characters names change (Spike and Suzy or Willy and Wanda, you decide). Plus, by comparing the French and Dutch scripts together, I noticed there are some slight differences, so the English script will take a middle ground between the two for best results.

Funnily enough, the only thing in the game that was already in English is the DMG lockout screen.

What I need for the translation:
  • ROM hacker/Tool programmer: they should be good enough with ROM hacking skills (especially at Game Boy/Game Boy Color ROM hacking) and/or programming to create a tool for text extraction/reinsertion.
  • Translator: in addition to translating the text myself, I'll need the help of a native French or Dutch speaker with good knowledge of English language. If from Belgium, even better!
  • Graphics editor: they should be proficient enough in art to edit the game's graphics. There's very little graphic text (the "FLITS" in the intro cutscene, the title screen and the "FIN"/"EINDE" at the end) but they need to be translated.
  • Proofreader/Playtester: they will have to revise the script and test the game to check for any possible errors. Of course, I will be also testing the game on my end as well.

The translation patch will be released on ROM Hack Plaza as well as in the Downloads section on GBATemp. If you are interested in helping out, reply in the thread or send me a DM.

intro.png
intro2.png
intro3.png
intro4.png
menu.png
worldselect.png
hauntedcastle.png
pirates.png
savethedinosaurs.png
pyramid.png
round1.png
round2.png
 
Last edited by SDA,
Sounds like you're where I was over 10 years ago, when I first attempted to translate Kid Paddle. My knowledge of French was weaker, I didn't know how to program, or about memory accesses, or even string termination... I've learned a lot, and there's still a lot to learn...

French isn't my native language, but you can judge yourself if that hurts me for my FR-EN translations. Personally I think it's smoother if you translate from another language to your first one, instead of the other way around. When I translate into French it really feels like something written by an anglophone, which it is, and it feels very broken and unprofessional. I think there's however some unevenness to how translations are done, it's more common to learn English than any other language, so most people working as translators from English speak the target language as their first, and English as their second. English speakers don't tend to learn other languages, except maybe Japanese due to modern interest. (Historically most JP-EN translations were done by Japanese 1st language speakers, and with... inconsistent results.)

In terms of names, I did have similar thoughts about Titeuf... in the past English translations usually called him Tootuff, but modern media usually keeps the original name. While the GBA game appears to have dummied out multilanguage support (nothing translated, but French text is in the rom 5 times), since I didn't find a way to activate it, I guess I'd do separate patches.

I don't want to volunteer to do all the work of course, but I think if I have some time I'll look at the rom again, maybe I can at least find the offsets.

Update: I did not immediately get lucky finding the text pointers in a hex editor. I believe the use of mappers means the GBC doesn't have a flat memory model (like the GBA) so maybe that's why I didn't find them... for Titeuf I think I had to look at the data being loaded in registers in a debugger. Assuming the GBC works similarly, that might be necessary. (And afterwards I thought "how did I not think to look there, those are obvious pointers!) ...for now I'm finished looking. Sorry.

Update 2: One thing I did however remark upon is that there were many spots in the rom where there were a lot of FF bytes, I assume this is the end of a rom bank. Keep in mind I'm a total GB noob so this might be obvious to smarter people, but I figure, maybe that's the key and the pointers are offset from the bank's start.
 
Last edited by onfy,
Been a month and no one else has stepped up yet. I really want to get this translation done, at least it won't be a translation made with AI like they did with SEGAGAGA.
 
This may be a late response

I've been a long time 'lurker' here and I want to contribute to a romhack / project someday.

I can assist you with the translation from dutch to english, and well I've also had to learn french, english.
On daily basis I do read and listen to english for my job and when playing videogames ofcoure.

Since you've already found the script by looking at the game in plain text,

I've read it myself and it's about 40 strings for one language so not that big.
I've spotted around 3 to 5 small occurrences between french and dutch that uses different wording, the rest is similar enough to tell the same story. I assume the target audience would likely have been 5~6 years or older back then, thus the story doens'nt contain complex sentences.

I did some tests and here is some technical info;

- the game contains c-style formatted strings ending with ascii code 0 'nul' or '\0' the full script is located in one continuous chunk of memory and alternates between the 2 languages in an even, odd pattern (instead of first language 1 then 2).

- characters displayed directly on screen use uppercase ascii characters.
- a lowercase substitute character is used for symbols like ' and common french symbols like 'é ê è ë'.

I've checked how flexible string editing is without modifying the game code;
with simple hex editing you can only reduce the amount of characters in a string by padding with space characters like the script already does or by replacing the last set of characters with '\0' characters.
And when a string is scrolling on screen, seperate letter tiles are shown until the '\0' character,
then once the last character scrolls offscreen, the dialog box disappears and transitions to another dialog box with the next string.

tests performed:
- move 6 characters (5 characters and a space) from one of the sentences of the intro to the next => the first sentence seems fine, the second sentence missed 6 characters.
picking the other language caused the first 6 characters to disappear from the dialog box => this suggests the game uses hardcoded start addresses somewhere that point to the beginning of a string.

- removed 6 characters and placed 6 '\0' at the end of the sentence keeping the exact same filesize => string in the dialog box printed fine, after the last letter of the modified sentence scrolled off screen, it transitions to the next dialog box sooner without any further issues.

- replacing a character in the middle of a sentence with the '\0' character => the letters tiles until the '\0' character are only scrolled on screen and once again after the last letter scrolls of screen the game transitions to the next dialog.

- removed 6 characters reducing the filesize => it booted fine until the sentence was scrolling on screen, then graphical corruption happens, part of the sentence gets skipped and the next dialog displays the incorrect string until finally reaching a solid red screen. (Likely you'll need to maintain the correct total filesize for any gbc game.)

I can only assume that the game contains hardcoded start addresses somewhere that point to the beginning of a string, I'm not familiar with the gameboy color hardware to know if it is the absolute location in the file or if it is a relative location and if bank switching is required.
I'm not sure if I can alter the actual game code without learning more about the gameboy color hardware.

Funny they got the group Maniacs of noise to provide the music and sfx, it's a name that pops up in the commodore C=64 scene.
 
This may be a late response
Not a late response at all lol

Sure, you can definitely help me with text translation from Dutch or French to English. I'll give you the texts that still need to be translated as soon as I can.
 
Last edited by SDA,

Site & Scene News

Popular threads in this forum