Rent-a-zero to Rent-a-Hero: The Dreamcast translation 23 years in the making

Fan translation group Rent-a-Modders went above and beyond in completing this Sega gem's unfinished translation, adding VMU easter eggs and more.

Rent-a-zero to Rent-a-Hero: The Dreamcast translation 23 years in the making

Hey y’all, I’m in LA this weekend busy as all heck with Summer Game Fest and the rest of this year’s Not E3 events, so in lieu of your regularly scheduled Read Only Memo I put together this behind-the-scenes interview of the making of the super impressive Rent-a-Hero No.1 fan translation. I’ll be back next week to catch you up on a shotgun spread of emu news as usual!

Street Fighter 6 is here, and its story mode is a freaking delight. It’s a gloriously silly romp around the kind of city where guys wear cardboard boxes over their heads and uppercut you for walking down the sidewalk. They’re not, like, mean about it, though. They’re just really pumped for a fight. There’s Yakuza/Like a Dragon DNA all over this thing and Capcom isn’t shy about it, but when I ran into this guy on a rooftop, my mind immediately jumped to another even more absurd Sega game: Rent-a-Hero No.1.

If someone at Capcom didn’t play Rent-a-Hero, they’re definitely channeling the same energy here.

When people talk about the vibe of Dreamcast games, Rent-a-Hero No.1 is the kind of game they mean, even if they haven’t played it or even know it exists. It’s Shenmue remixed as a American superhero comic book parody, with that kind of proto-open world and chunky character models and slightly awkward camera every 3D console game had circa 2000. It’s the kind of game that, with the Yakuza series, Sega has kind of been making for 20 years now — and for most of that time, most people in the west kinda shrugged or ignored them or shrugged and said ‘well this is weird.’

But finally they stuck, word spread, people got it, and all of a sudden Yakuza became one of Sega’s most important game series worldwide. Swap Kiryu for a blonde-haired-blue-eyed teenage Robocop and you’ve pretty much got the template for Yakuza right here in Rent-a-Hero No.1, with a whole lot of funny quests to tackle around the world and a lot of thugs to pop on the chin.

Sadly the Dreamcast was on its last legs by the time Rent-a-Hero No.1 arrived in Japan in May 2000, and even more tragically when it was ported to the Xbox three years later, a nearly complete English release was canceled at the last minute. That version of the game leaked out in 2008 (you can find it here) but it wasn’t good enough for VincentNL, who decided to spin up a mod team to finish the English localization and backport it to the beloved Dreamcast for good measure. And that means —

🤩 VMU support, baby!! 🤩

Except… Rent-a-Hero No.1 didn’t actually do much with the Dreamcast’s adorable memory card handheld. So VincentNL decided to do something about that, too. And then kept going, turning this into one hell of a translation project considering the game was already largely in English. In my May 14 ROM I included a short quote from the Rent-a-Modders team, but here’s the full story courtesy of VincentNL.


Hero modders for hire

The text below is quoted from a conversation with VincentNL and in his words unless attributed to another Rent-a-Modder contributor. The interview been edited and condensed for clarity.

Finishing the Xbox localization

The Xbox prototype staff did stellar work in localization and setting the tone!

The unexpected arrived as soon as solving the technical difference between formats exposed the massive amount of untranslated lines, dozen of 3D models and hundreds of textures. Please allow me to pass the word to key members involved in translation:

Text translation

This team is led by CurtainFire and Korp13 who send the translated text for review, adaptation, and integration by Togepichu.

Togepichu: Keeping the charm of both a combination of the JP original and the Xbox prototype was actually a challenge and easily goes unnoticed to those unfamiliar with the original. A large number of lines needed to be translated and adapted to seamlessly fit the current tone. At the same time a number of typos (1000+), line breaks or simply wrong text had to be carefully rewritten back from Japanese translation.

Some fun translation examples:

  • "Popcorn being a dog's favourite snack..."

This line is a clear hint on what to do in the japanese version, but was not in the English version, causing needless guessing and lucky backtracking decisions.

  • Hotel lobby NPCs having perfect OR broken English according to the chapter you are in, both original and Xbox translation!

It was just a real fun moment in the translation/localization project where I really felt the past and the future of the project connect… and how far we came working on it together to fix something overlooked in the original.

  • Added control codes to make lines more interesting in their original context

When the main antagonist reveal your identity: Ha ha! [First Name], or should I say hero! You've made it this far! --> Ha ha! [Hero Name], or should I say [First Name]! You've made it this far!

  • SEGA / Phantasy Star character names were restored such as the iconic "Segata Sanshiro" being called "Master Miyagi" in the Xbox version!

3D models translation

Egregiousguy: I'll have to jump back to the beginning of the project to really explain it. It all started when Vincent realized there was actually a lot of Japanese text in 3D models and not just regular text. Back then we were reversing another SEGA 3D format used in Dreamcast and Naomi games and he asked me to take a look at the format used in RAH.

We first fixed some English menu items by patching in 3D models used in the Xbox prototype, but that only went so far as we quickly reached the point where a large number of 3D models were simply left untranslated in the Xbox version too, or used a different data layout.

I dove into the format (Sega's Ninja “chunk”) a bit more and finally made my first custom model. With the format now figured out, 3D model changes were now up to our imagination so we got a little ambitious starting with the name entry screen.

Vincent had this idea to add in some 3D text buttons in place of using simple text.

I drew up some mockups in Blender before we landed on one that we all liked, then painstakingly converted all the 3D data into the aforementioned Ninja format and patched it manually via Hex Editor/Excel and then added the appropriate materials and colors to the meshes. The end result was a sleek name entry screen that fit well enough, that no one would have noticed wasn't present in the original game. That was my main goal for this project, to implement changes and cleanly integrate them to match the game's look and feel without cutting any corners.

If a 3D menu overlay was too small for text, I fixed it; if an animation was missing from a specific menu, I created my own and added it in; if something looked too plain, we would come up with ideas to spruce it up.

The number of 3D mesh and animation issues ranged from huge scrolling 3D background with untranslated text, to smaller things like a stray 3D mesh as miniscule as a single pixel in the opening scene. To speed up the workflow needed to create and seamlessly integrate new 3D text models, I made a low poly TrueType font based on the text used in game. It wasn’t all fun and games as modifying the 3D stuff was pretty intensive and took days, if not weeks to resolve some issues such as animations. The hardest part was actually trying to locate these 3D meshes within the data files as a lot of the 3D stuff was stored in single archives (I'm looking at you, Bottles the Cat). If it wasn't for the thorough and extensive reverse engineering work that I did on Jet Set Radio to extract the game models, we simply would’ve been unable to find the problematic 3D models.

There were other times when we had a solution on hand but couldn’t implement it properly due to space limitations. But, between Vincent’s capability to rewrite SH4 assembly on a whim and my understanding of the Ninja chunk model format, nothing stopped us from getting the results we wanted.

Texture translation

I've drawn a total of 161 map texture modifications. Changes range from quality upgrades to brand new design for shop names and their carpets, to nitpicking restaurant menus the size of a bunch of pixels! NOW LOADING screens were also adapted with corrected names thanks to Ricterw’s edits!


All-new VMU animations

The original Rent-A-Hero No.1 code heavily suffered from strict deadlines, and VMU wasn’t an exception. In the official release with an already limited count of VMU graphics in the executable, only a few frames are used (work menu/save file). So yeah you may have guessed it already — your VMU screen will be blank most of the time.

Since the game use Katana SDK functions to display individual VMU frames, but there were no animation system (timings, loop points etc..), I thought it would had been a wonderful opportunity to create one.

Except for 4-5 translated graphics, all the rest (80+ frames) have been created for new functions: Name Entry, Transformation, SECA OS, SECAMAIL, DEVMAIL, Opening / Ending, In-Battle emotions, One-Punch Man mode, Confirmation… plus three downloadable minigames in English! Here's a quick preview of some of them (all animated). I can't spoil the rest, good luck finding them all!

One curiosity is that the files contained a number of leftover palettized images — they appear as an alternate ending sequence in low res, but incompatible with the VMU’s specs.

In order to let them live, Ricterw and myself downscaled / redrew and added them back in for your VMU! I plan to release ShinobiVMU (our animation system) and tools as it might be useful to other translators out there!

(🤩 VMU support, baby!! 🤩 — Wes)


Improvements and extras galore

Rent-A-Hero No.1 was a project where I could apply all the knowledge acquired from other ventures in reverse engineering Sega Naomi and Dreamcast games. It basically served as a melting pot for integrating everything I had learned!

Improved: Controls and menus

The game suffered from rushed decisions and controls were one of them.

Name Entry: in the original function there's no default name, the confirmation messages (like “Is this OK?”) were broken/unimplemented, and moving between letters at the bottom of the screen lead the cursor to wrong positions. My work on this was to:

  • Implement message confirmation
  • "Start" button input to end the process and display default name if empty
  • Cursor memory
  • 3D tab glow (similar to the Xbox version)
  • Letters offset adjustment for new 3D buttons Egregiousguy made

SECAMAIL

By far the worst interface the RAH devs made. Imagine a massive amount of text per mail, without auto-scroll or an indicator of how many lines you have left to read in a page. Basically you have to press down as many times as the lines to read, without knowing the end. Good luck to your thumbs when you need to press down 80 times for a single mail! The whole point of opening that menu became a chore and I don't think anyone really wanted to read it. I therefore decided to make:

  • Arrow indicators (if there's more text)
  • Page scroll with L/R buttons
  • Autoscroll with analog controller stick

Added: Debug menu

Rent-A-Hero No.1 had a troubled development due to strict deadlines, as told in Developers mail by the original creators. Due to this, a number of leftover debug functions, broken key-configs, previous versions of Name Entry / SECAMAIL and hidden test environments were left in the executable. After becoming familiar enough with the code to create new content, I decided to make a secret Debug Menu that acted as a hub for accessing this material plus new ideas I had in mind, without affecting the original game experience. Long story short, I had the pleasure of bringing new features to life without any creative limits!

One-Punch-Man, Battle Debug with Vectorman-esque characters, and Collision Debug are my favourite ones.