Going for it! with Acediez: Behind the new fan translation of the PS1's Goemon Oedo Daikaiten

Goemon: The Grand Cycle of Oedo's fan translation is out. Here's how it was made.

Going for it! with Acediez: Behind the new fan translation of the PS1's Goemon Oedo Daikaiten

Hey folks! I've had a couple crazy busy weeks surrounding the Game Developer's Conference, so in lieu of a regular ROM this week I've got an interview for you with romhacker Acediez about a series close to my heart: Ganbare Goemon. Enjoy! And follow Acediez's Twitter for the patch's release any day now.

Update: It's out! You can get the translation on Romhacking.net.

There are several ways romhacker Acediez and I are opposites. He grew up with a Super Nintendo; I didn't. He can now hack PlayStation games to help make fan translations a reality; I just write about them. And despite owning a SNES as a kid, Acediez never played The Legend of the Mystical Ninja, but I actually did. A friend owned the cartridge for Goemon's first (and, for a stretch of years, only English) adventure, but I never saw more than the first two levels in the '90s — I'm still scarred by trying to jump on those rotating pillar platforms. But the silly personality of the game stuck with me, and it spent years on my list of games I wanted to see through to the end one day.

It took a few more years, and the 2.5D N64 platformer Goemon's Great Adventure, for Acediez to get hooked. "That one became one of my favorite games ever, and it's the one that got me really curious about the rest of the series," he said.

"I'm from Chile and was around 13 at the time. Games were expensive, and we didn't get much variety either. Importing was not something I'd even think was possible. So, getting into emulation and PlayStation bootleg trading was the solution. It was truly liberating, and made discovering new games as exciting as it was playing them. It stopped being about waiting for the chance to buy an expensive thing. It was now actively about searching for them yourself: on the internet, through word of mouth, meeting new people for trading, etc. During all this, the Goemon series marked several points on the checklist: they were great action games, they were funny (even if you couldn't read them, they looked and sounded funny), they were beautifully designed (most of them, at least), they made me curious about Japanese culture, and best of all, I could easily get friends to play them with me co-op. So, I guess my love for the series is closely related to my memories around the time I discovered it. Maybe that explains why I'm excited about helping making them more accessible for everyone. I want people to enjoy discovering them as much as I did."

Acediez started learning PS1 romhacking in 2018 to work on an "undub" of the notoriously poorly voice acted Mega Man X4. Then in 2020, he got the same boost to his Goemon fandom as I did, a paths converging moment: we were both gobsmacked by the arrival of five fan translations from hacker DDSTranslation and translator Tom, delivering the entire slate of Super Famicom Goemon games in English for the first time.

Thanks to the magic of save states on Nintendo's SNES Classic, me and the childhood friend who'd owned the cartridge finally conquered Mystical Ninja; then another friend and I made our way through Super Famicom sequels, which were thankfully easier and also put a rad ALTTP-inspired adventure spin on the world design.

With that release some of the most coveted game in the series were finally playable, but there are a lot of Goemon games, including four for the PlayStation that were never localized. When Tom later mentioned being interested in translating further entries, Acediez knew he wanted to help. He offered his services hacking 2001's Shin Sedai Shuumei, aka The Successor for a New Generation, a futuristic spinoff. "It's often overlooked, even by fans of the franchise, who were turned off by the drastic change in style and tone," he said. "Looking at it by its own merits though, it's a challenging and polished action platformer with a beautiful presentation and great soundtrack on top of all. It's a recommended playthrough for anyone looking out for quality overlooked 2D action platformers of the era."

In late 2020, he started work on the hacking, then sent Tom this image of basic text insertion working:

It was the only calling card he needed; the translator was in.

Part 1: The Successor for a New Generation

Despite Ace's prior PS1 hacking experience, he'd soon learn how much about the PS1 he didn't know, and how much custom work it was going to take to translate the strange Goemon spinoff. Between Covid and a new job, it would be three years before he brought the hack to translation. But he kept chipping away at it, making slow but steady progress.

"Before the translation could even begin, I needed to extract everything down to individual text files, and ensure I would be able to put it all back together (from individual files, to packs of files, to a rebuilt playable disc.) I had to learn a few things I've never done before. Individual packs of files had a checksum I needed to reverse-engineer (by looking at how the game reads it), and they were indexed using a non-standard table of contents I had to rewrite with the new file sizes (something the MMX games also had, but on a completely different format.) I also encountered, for the first time, data files that are in Mode2/Form2 sector format, which are normally used for audio and video.

"All of that, at the pace I was able to work on it, took me most of the first year.

"Only after I got this process in and out, on a single script, is that I finally got to send the text files to Tom for translations, and I would start working on the hacks needed in code: inserting a more appropriate font, replacing the reading of text files encoded in J-SIS to ASCII, variable font width, etc. And replicating that for every single text engine in the game: (there can be several! For this game there were at least 7: dialogues in towns, in stages, in stores, text in the memory card menus, in the side quest menus, in the stage select descriptions, and in the credit sequence.) I also had to dig on a bit of video editing for the FMV cutscenes. I covered the original japanese subtitless and added the new english subtitles on top of them.

"Another year passed. Tom finished working on the script. The last thing I got done was the 'Fugitives' sidequest menu that had heavy restrictions on how much text it could fit. Being able to write without those restrictions meant rewriting most of the code.We asked again FlashPV and help us with graphics. He had alread worked with Tom and DDS for the SFC games. He did the title screen for us at the start of the process, and at the last stretch of the process, we asked him for help with a collection of graphics (mostly signs) that contained text.

"After working on it on and off for almost 3 years, the translation was finally released in November 2022."

Thanks to hacker/translator Mr Fwibbles, another PS1 Goemon had been translated in 2020, but that left two more in the wind. "The talk around these games quickly went from excitement about getting at least some of the PS1 games translated to: 'hm, what about the other two?'" Acediez said. "Well, I was curious about it too. What would it take?"

Part 2: The Grand Cycle of Oedo

Acediez started poking around Oedo Daikaiten, which came out the same year as Shin Sedai Shuumei, and immediately discovered some promising tidbits: they were both made by the same external studio and softlocked the no$psx emulator in the same way. Once he investigated the code, he realized how similar the games really were.

"The custom scripts I developed to manage all the custom file formats and the disc-rebuilding process for the previous game (on and off, a whole year's worth of work) were just a couple of tweaks away from being usable for Oedo Daikaiten. And I thought that, realistically, it was very unlikely anyone else would go through all that for this one game, and even if I shared all my scripts and documentation, helping other people to make sense of it might have actually been harder than simply biting the bullet and doing this hack myself. So that's what I did. I felt it would truly have been a waste if I didn't.

"Even with all the work I reused from the previous one, this game had it's own share of unique challenges. The cutscenes were the biggest headache. They're stored on files that mix plain text strings (with strict length limitations) and the whole animation script (animation changes, music cues, pauses, etc.) all on a single continuous file. There was definitely a lot more cases where I found myself fixing stuff case-by-case rather than relying on a single solution for each format...

"I use Microsoft Excel for all of my documentation. I use a script that prompts the creation of a disassembly export from no$psx, filters the exported document into the format I need, and puts it on my clipboard ready to insert on Excel the way I want it. I use Excel because I need to keep track of space limits and RAM address of every line of code. There's various calculations I solve using formulas  (addresses based on code length, whole tables of contents, etc.) I wouldn't be able to solve all of this on a single document anywhere else. And I do like to have all of my documentation for a game in one place.

"I use TileMolester for extracting and inserting graphics into existing game files. I use Photoshop to actually edit them (you won't see me using any editing tools in TM ever.)

"I use AutoHotkey (a Windows based scripting language) EXTENSIVELY as a band aid for everything else. I use it to automate and stitch together various individual processes into a single script, from file handling, packing, checksum calculation, disc building. I also create custom hotkeys for various tools (ex.: a hotkey with a series of keystrokes that lead to menu items at once. Even clicks on the screen.) Even after learning some Python, this is still my preferred scripting language for all things romhacking because there's just so much things you need to do involving interaction with what I will generously call less than ideal interfaces (no$psx, TileMolester.)"

Acediez and Tom have spent the past two weeks in the final stages of testing the translation patch and fixing a few things Ace overlooked, like a set of minigames he forgot to hack and some co-op exclusive text boxes. For the most part, testing the translation is as simple as playing the game like anyone else would and checking for any glitches or missed lines. They get to take a few shortcuts too, though.

"I came up with a set of cheats that allow me to navigate the game quickly (ex.: I managed to freely activate the 'flying mode' with invincibility that you get briefly when a second player joins mid-game)," he said. "Stuff like this can also be a fun way of exploring the game."

Despite two fan translations under his belt alongside several other romhacking projects, Acediez isn't a professional programmer, and recommended anyone interested in hacking games can do it as long as they have the curiosity to give it a shot, and the savviness to start writing simple scripts to automate tasks you find yourself having to repeat over and over again — that'll stop you from burning out from the tedium or introducing typos into your code.

"I didn't know anything about hacking until I started hacking," he said. "I started poking at RAM addresses I got from known GameSharks using the no$psx debugger. Tracing what writes on them and reads from them will lead you to code that interacts with it. Poking around seeing what breaks will also lead to useful discoveries. Documenting all that of will give you a sense on how to find what you're looking for.

"I didn't know anything about PS1 programming until I opened up no$psx's excellent documentation, the "CPU specifications" section (and Wikipedia's article on Bitwise operations.) There's only a dozen or so 'opcodes' you need to learn to be able to read what's happening in the debugger."

With the imminent release of The Grand Cycle of Oedo, there's just one last PS1 Goemon yet to be translated, but the lengthy series still has a few other elusive entries. The one I hope to see someone tackle someday is the final game in the series, the heavily stylized 2005 entry for the Nintendo DS.

Acediez, meanwhile, is looking forward to playing Mameda no Bakeru, a new Goemon spiritual successor recently released for the Nintendo Switch. Sadly, like so many games in the proper Goemon series, there's no sign just yet that it'll be released in English; but working at lightning speed, some fans have already put together a full translation available now. The blue-haired hero scene is absolutely thriving right now.

Mastodon