For the final project for the course “Software & Game Localization” that I took at Middlebury Institute of International Studies at Monterey, my team (Bosi Lin, Jenny Lowe and myself) localized a web-based javascript game “Infectors” into Traditional Chinese.

Infector: the Chosen Game

Finding the right game to localize was a challenge. We browsed through this website of open-source javascript games,  played many of them and decided on “Infectors”.
The game has a nice and clean UI with a “Gameboy” touch to it, has a complete story line, and is neither too hard nor too easy to play. It has a picture (the title) on which we need to do some desktop publishing work, and it contains the right amount of strings. Therefore we downloaded the source codes and tested the game. Except for the fact that the game was built on a particular server and we were only able to run it smoothly in Firefox, no bugs and errors showed up when we tested it.

Overview of Localization Workflow

Internationalization

Bosi was responsible for the externalization of our strings. He also managed to add a language picker to our game.

Localization

As I was preparing the strings for translation, I encountered a few issues. The first one was the comments generated by our engineer Bosi. While the comments make the strings organized, it caused trouble when I tried to use the “Advanced Find and Replace” function to hide the strings from being recognized by CAT Tools. As you can see from the screenshot below, the best I could do was to find the forward slashes and the first word after. The best solution would be to add two slashes after each comment, so that the comments could easily be found and replaced automatically.
The second issue was that when I tried to email the string files and picture list to our translator Jenny, the email got rejected by the server several times. The reason for this, we soon discovered, was that the file has the word “infector” in its name and thus was detected by the server as virus. Anyways, lessons learned–there’s a reason why professor Troyer kept emphasizing that we should always avoid transferring project assets through email. It may seem easy and convenient at first, but don’t get deceived by it’s appearance!

Testing

The biggest headache we had when testing the game was that the Chinese characters wouldn’t show up. This is a serious issue because the characters were pretty much the only reason why the game needed localization. So, after some research and consulting we figured out that the original fonts in the game were actually bitmap fonts, as you can see from the screenshot below.

unspecified
Bitmap font is essentially a kind of font where each character is stored as an array of pixels. It’s not easily scalable as opposed to vector fonts. And bitmap font easily works with English because English is a language with only 26 alphabets. Chinese, on the other hand, uses a completely different system to form its characters.
And now we know that the only solution to this issue would be to find a bitmap font for Chinese characters–except we couldn’t. So we decided to create a bitmap font only for the texts that show up in the game.

Finalization

Since we changed the font, we had to make sure that every .js file that has font information written into it has a Chinese version with the new bitmap font written into them. The files we had to create are shown in the screenshot below.

screenshot-2016-12-17-10-46-04
And we ran the game again to make sure that everything runs smoothly without any errors.

unspecified-1

A sneakpeak of our localized game.