Monday, 27 October 2014

Localization and Games

Without localization I would never have played games like Final Fantasy, Pokemon or Touhou. Localization was very important for bringing games to me. Mobile game markets around the world keep growing, and it just keeps getting easier to distribute games. So I start from the supposition that one of the biggest mistakes that developers can make is to ignore the importance of being ready to localize their games.

The scenario I think of is this - what if one of your games gets a popularity boost when a foreign YouTube celebrity reviews it? You may want to localize quickly to appeal to your new fans, but you might be presented with a lot of technical problems if you have not already prepared for this.

Here are some technical issues with replacing just the textual elements:

1. Support for extended or foreign character sets.
2. Some strings being longer than others and overflowing UI bounds.
3. Having a UI that can actually accommodate more text.
4. Different units for currency, speed, time, date, and so on.
5. Different order of string replacement needed for variables you insert into strings.
6. Being able to accurately detect the locale across all platforms in the first place.
7. Being able to QA test the different localization and UI configurations effectively.

The list goes on and on. Point 7 is a killer - if you do not implement runtime localization and UI reconfiguration, you (or somebody) is going to have to spend way longer testing this stuff. Furthermore, if your game has cultural references in art or music, you'll probably have to change those. I don't necessarily mean the Castlevania-style making your statues less naked changes, but good reasons like swapping voice acting tracks about. For that you need an asset lookup and replacement system that is aware of the system locale.

You also need this stuff automated away at a level below your game and tested using an automated suite. In the long run this saves money and time, which can be valuable whether you're a large business of a lone developer.

The creator of Papers, Please! wrote a lengthy article about the work that was put into localizing the game, which shows just how much work goes into this. I'm convinced that some of it would have been easier if he had used a mature localization framework at his disposal from the start. I looked at the available Haxe libraries out there for localization and found firetongue and thx.culture, which look like useful tools. But on the technical side, I think it is going to be a long time before Haxe has a library like ICU.

I'll look into this in more depth when localizing some of my own games in the future.

No comments:

Post a Comment