My favorites | Sign in
Project Logo
                
Feeds:
People details
Project owners:
  jefferbrecht

Online project

July 2007 ~ present

Languages: ARM/THUMB assembly, C#

This is definitely the biggest project I've ever worked on. Please go to http://mother3.fobby.net/ for a more detailed description of the project on a whole.

We, being a team of about a dozen people, reprogrammed a popular video game in order to work properly with a full English translation.

The ultimate goal of this project was to bring MOTHER 3, a Japanese-only Nintendo GameBoy Advance game, to the English-speaking world. The goal was met with blazing speed and valour - it only took about a month to reach 100,000 local downloads, and that's not counting the dozens of mirrors and personal websites of fans across the Internet proudly hosting the patch themselves. The completion of the project merited front-page blog posts by Joystiq, Ars Technica, and tons of other video game websites.

This project is a bit different than others I've worked on in that there was no source code to work from: it was compiled assembly code to be edited. The final product was released as a binary patch to be applied to a digital copy of the game's program ROM. For legal reasons, the ROM file wasn't distributed with the patch. These sorts of translation projects have happened hundreds of times in the past.

---

It marks the most tedious, compelling and worthwhile programming experience of my life. Armed with an ARM debugger, it literally only took me a week to have a working grasp of the ARM/THUMB assembly language, and I was ready to start debugging and altering the game's program code to the team's satisfaction.

For various reasons, I'm only uploading a select few files from the project that I worked on personally.

The extra_hacks file includes some extra stuff that we added to the game. At the beginning is a hack that gives you a silver and/or gold sticker at a certain part of the game if you've encountered every possible monster. After that is a routine that inserts a customized disclaimer screen when the game boots up, in which there is a message encouraging fans to support the game series.

The namingscreen_hacks file is another big one that I worked on. The game has a process at the beginning where you get to name your characters. Of course, the alphabets were all in Japanese, so we had to make them into English. It should have been just a simple graphics change, but there was a problem in that there were actually three alphabets to choose from, when we only needed one of them. Additionally, I needed to alter the hard-coded cursor co-ordinates to allow the player to choose from a pre-determined set of letters, numbers and symbols.

Apart from those files, I did a number of small-to-medium-sized hacks for the game. One of them was a text encryption algorithm that the team wanted to implement in order to prevent people from making unprofessional edits to the game's dialogue and then releasing them to the Internet. I also did a number of compressed graphics edits to help localize the game.

In addition to the assembly coding, I also prepared a few applications using Visual Studio .NET with C# for our main translator. One of them was a comprehensive, user-unfriendly text editor that allowed him to translate the game's text while having a simulated preview of how the text would appear in-game. I do eventually plan on making a text editor that's a lot more usable and documented for the public to use. Another program I made for this project was a font editor. We completely changed the game's original font with it.









Hosted by Google Code