Funky Fantasy IV: A Machine-Translated Video Game Experiment

“Funky Fantasy IV” is a 100% machine-translated version of Final Fantasy IV for the Japanese Super Famicom. The project is still unfinished, with little bits and pieces of untranslated menu text still strewn about, but all of the main and important text has been run through Google Translate.

Sample Screenshots

Sample Video

How Does This Work?

I’ve written a custom program that extracts all of the text data from the Japanese game. I run this program, then take the results and run the text through a machine translation tool. Any one will work, but in this particular case I’ve only tried it with Google Translate. My custom program then takes the translated text, does a lot of reformatting and technical magic, and plops the English text back into the Japanese game. The translated text is almost always too big to fit into the original game, so I also have some custom Super NES programming code that works some magic to get all of the new text working.

Purpose

A common question I get is “Why even do this?” The quick summary is that this is just one small, experimental piece of a larger concept I’ve had for years. It also serves as the basis for a lot of things I’ve been wanting to try out for years. Here are some of those things:

Answering “What If?”

I’ve spent the last few years analyzing Final Fantasy IV’s many different official localizations, and even the fan-translated version. While doing this, there’s always a question in the back of my mind: “What if a machine translated the game? How would that compare to each of these versions too?” I’m particularly interested in this question because machine translation has supposedly improved a lot since the last time I played around with it over a decade ago – people even have fancy machine translation apps on their phones these days for translating signs and trying to hold basic conversations!

A New Area

I’ve spent years researching and writing about how games have been translated, but one thing I’ve never taken a look at is machine translation. It’s something I’d like to learn more about, and this is an interesting way to examine it. I’m already learning a lot of new things, and some of my expectations going in have been shattered! This is also an opportunity for me to see how far off people in my field are from getting replaced by computers 😛

It’s Fun and Challenging

Getting all of this up and working from scratch tapped into all of my interests, so this is also a fun little side project. It’s not as easy as taking translated text and pasting it into a new text file – I’ve had to learn a lot about the Super Famicom/Super NES’ architecture, how to program for 65c816 processors, how to programmatically condense text to fit into text windows of limited size, and how to parse/recalculate text formatting when jumping between languages. It’s also been a lot of fun seeing the results!

A Testbed

I write about game translations and localizations a lot, but it’s often difficult to convey the different styles and approaches that translations/localizations can take. So for years I’ve thought about taking a single game, making a translation tool for it, and then using that setup to create translations and localizations that clearly showcase these different styles. These could then be compared side-by-side as whole games. It’s also a good testbed for experimentation.

For example, this tool could be used to demonstrate what a hyper-literal translation looks like vs. a hyper-liberal localization. It could be used to demonstrate how game localization changes and adapts depending on the environment too – what would the same game localization look like if you were forced to use fewer resources, such as memory? How might the same game be localized if it were handled by a large team vs. a small team? Or if it were handled in a crowdsourced environment? Or how much could you trim each sentence down and still keep the game’s story understandable/enjoyable? And, of course, what would it look like if a machine translated it?

With all this in mind, I thought it’d be nice to use Final Fantasy IV as the game in question. There’s a lot of text involved, there’s a constantly moving plot, there are dozens of characters, it’s an iconic game, it’s already had many different localizations to compare to, and it’s relatively easy to dig into and reprogram. Plus I’m just a big fan of the game.

Basically, I’ve always wanted to tinker around with a game and try to localize it in different styles, to clearly show the many different approaches and philosophies, and what each of them end up looking like when put into practice. I think that’s why I like to call this all an “experiment”.

Miscellaneous Demonstrations

There’s a lot more to be learned from a machine-translated project like this, too. For example, Final Fantasy IV’s Super Famicom script is written entirely in Japanese katakana and hiragana. This was normal for the era, but games that only use these two writing systems are actually harder to read and understand unless you’re really good with the language already and can read between the lines. Later releases of the game switched to using katakana, hiragana, and the much more complicated kanji writing system. Even though kanji is tough to learn, it fills in those holes of context.

Knowing this, I ran the Super Famicom game’s introduction through Google Translate, and then I ran the same text – but with the kanji included this time – through Google Translate. I then showed the two results side-by-side on stream for others to see live. As I expected, the kanji script was translated much more logically most of the time. I used this as a good example of why students of Japanese shouldn’t shy away from learning kanji, and why context is always at the core of the Japanese language.

Of course, this is also a good demonstration of what to expect from machine translations, and when they perform better in some situations than in others. For example, Japanese-to-English machine translations are generally better at handling small bits of text and short sentences with proper grammar. Anything beyond that, and all bets are off, especially given that “entertainment Japanese” is very different from normal, everyday Japanese!

I’ve also learned during the course of this project that online translation tools like Google Translate can drastically change from day to day. This came as a surprise to me, and is probably worth noting to anyone who relies on machine translations.

This is also a good demonstration of what Japanese-to-English machine translations can look and sound like and can help others identify when a game uses a machine translation. Some real-life examples:

sword-art-online-hollow-fragment-vita alice-in-the-heart-mobile

It’s Funny

Going into this experiment, I didn’t have high hopes for the quality of the text, but I tried to set that assumption aside. The result so far has been incredibly funny, and it’s been a blast to play live on stream with fellow fans. We try to stream Legends of Localizaton projects every weekday afternoon here, but if you’re reading this much later, you can catch the archived stream playlist here:

Summary

Basically, all the fancy-pants college talk aside, this machine-translated version of Final Fantasy IV is just one piece of a bunch of other things I’ve wanted to take a stab at for years. While I don’t plan on making this a formal project, it’s something I’ll probably toy with for years to come, and hopefully others will find it fun and educational too. For now, it’s just a nice, goofy thing to sit back and enjoy!

FAQs

Did you do this before or after Google’s big switch to the neural net machine translation engine?

By some stroke of fate, I have builds from before AND after the translation engine changed! The initial translation was done on/around Dec. 4, 2016. The next night, I noticed that Google Translate was suddenly translating everything very differently, so I made a build using the new translation too. I was completely unaware that such a big change was planned or underway at Google.

From a quick glance, the translations differ in these ways:

  • Version 1 of the translation is pretty bad for the most part, except when it comes to small pieces of text like item names and descriptions. It chokes on the main script, especially all of the “entertainment Japanese” that the script uses, so it’s pretty funny. Most sentences are just nonsensical random words strewn together, but when a logical sentence appears it usually results in something amusing. Version 1 does seem to handle “proper Japanese” sentences just fine, however.
  • Version 2 of the translation is also pretty bad, but in a different way. This version has logically-constructed sentences, but the actual phrase/word/term choices themselves are often far worse than Version 1. “Proper Japanese” sentences translate poorly compared to Version 1. Overall, this translation is much more playable than Version 1. The logical-sounding nonsense is also very entertaining, but many script lines are molded in a way that obscures the intention of the original lines. With Version 1, you can at least see some keywords in the script and get a basic idea of what’s going on. Version 2 pales in comparison in this regard.

A few comparison screenshots from random parts of the game:

Where Can I Download This?

Currently, things are somewhat buggy in game-breaking ways, so it’s still in testing mode. If things go well and all the bugs are eventually squashed, I’ll consider releasing a patch for others to play with.