Design Regionalization - How and Why?

Kezarus

Endless Game Maker
Hi everyone!

So this is a practical question and a discussion about it.

How: I have some idea that the game have to have an archive with ids and phrases that are called inside of GML. Then you set the language archive in the config file and feed a dictionary structure. Is there a better way to do it? Beside making some functions to retrieve the phrases by id? Like getPhrase(idPhrase) returns string.
Besides, if it's something like russian... how do I configure the fonts and files do do that? And chinese? What about some fields shrinking and getting too big?

---

Why: I am not too found of changing the original language of games. I learned English by just playing games. And I understand that something got inevitably lost in translation. Is it good to do regional language for our games? Indie games even? To which language it's best to translate to? Considering, for discussion purposes, that said game is in English.


Thanks!
Kezarus =]
 

TsukaYuriko

☄️
Forum Staff
Moderator
Part of me feels like this would be a better fit for the Game Design forum, and the "why" side might get more traffic that way. I don't see anything wrong with having one topic discuss the how and another discuss the why, so let me know if you'd like to split the how and why apart into two topics and I'll see what can be done about it.


More about the why than the how: A big factor for localization is extending your target audience. Realistically, your game can only be played if the player can understand it. Play any mechanically reasonably complex game that you're not familiar with in a foreign language that you absolutely don't speak for a perfect illustration of this.

Let's assume that you're developing a game, and your statistical data tells you that the game's genre is very popular in Germany (for example).
I can assure you that the vast majority of your target audience will not be able to play your game because they don't speak English well enough to reasonably understand the game.
The incoming generation of current children will be speaking English much more fluently, as it's becoming increasingly more required and taught even during elementary school.
The current oldest and second oldest generations are basically a lost cause unless they're involved in international business matters, as English was either barely taught to them, or was not a part of their curriculum at all, so if you're making Candy Crush, it better not be in English only.
The current teens and adults are sort of a blind bargain - sometimes, their English is even worse than the older generations for reasons I can't even begin to fathom, and sometimes, they're approaching native levels of proficiency.


Another big factor for localization is censorship. What's fine in one country will get you in serious legal trouble in another. Hiding something that's not allowed in a foreign language won't magically make it legal, so aside from translation, substitution or outright censorship of specific things is also a type of localization (see: characters being turned into cousins to legalize what was originally a homosexual relationship, characters having different ages in different regions to circumvent limitations regarding specific ways of depiction of minors).


There's one more thing I'd count towards the main reasons, being adaptation of character names. These are often changed for various languages to either keep puns or literary references intact, if the characters' names are based on such, or to make them readable to the target audience at all if the game's original language uses a different character set than any given localized version of it.
 

Kezarus

Endless Game Maker
Hi! I made a basic system to localize your game.
Hey, this is actually amazing. Thanks!

Hi @TsukaYuriko!

Well, @AlexDerFerri answer the "How" part quite definetly for me. If this thread could have more traction on the "Why" side in the Game Design forum, ok, we can change it to be there. =]

About your answer: yeah, I can see that this extends the audience of a game, but at the same time, it's a lot of work and can get expensive if you have a lot of text or many targeted languages.

For one, it can mess the layout big time. Key is a 3 letter and schlüssel (german for key) is a 9 letter. From English to Portuguese (my native language) texts can increase up to 30%. How could we deal with this kind of increase (or shrinkage?). Just place big buttons and text fields with a lot of room or is there another way?

As the audience extension: well, at least 10% increase in player base for each ("big") language is a very good thing to me. But I don't have any numbers to compare this increase or if it happens at all on indie games.

Fundamentally I am trying to find out if regionalization is a thing that I should put effort on doing or if the trouble outmatch the benefits.
 
Well, to answer your question on the how of the layout being messed up is to program in adaptable scaling for your UI objects. A lot of my UI work uses text_width() and text_height() as a basis for the size, rather than hard-coding in width = 500 or whatever. This would solve the problem with localisation text being different sizes, on top of allowing each UI element to be more flexible. For instance, I can reuse my obj_ui_popup with whatever text I like and it automatically adapts itself to the text I need it to display at the time. Without doing this, I have two options: Either create a new object for each popup text I want and manually size it so it looks nice, or make obj_ui_popup big enough that it can handle almost any text length, but then has the possibility of dwarfing the actual displayed text if I want it to have only a little text. Both are ugly hacks imo.

In general, localisation is not something that everybody does. Of course it's great to increase the size of your audience, but there's always a tradeoff. As you have noted, there's a lot of work involved and it can get expensive hiring "localisers". This can be worth it if the increase in ACTUAL buyers (rather than just the imagined market of another country) is large enough, but still, market research and user analysis is definitely needed in this situation to determine whether it is worth spending the extra time/cash on. One thing you should be paying attention to is the country of origin for people who bought your game. I know of at least one story of someone who was paying attention to this, realised they had a lot of German users, localised their game into German and made enough money that the effort was worth it, but this situation will not apply to everyone.
 

Yal

🐧 *penguin noises*
GMC Elder
I've heard that generally speaking, it's better to not localize at all than to make a poor localization (e.g. anything where you just give someone all your text in your game and get a translated text file back), there's been several scandals where the translating company did a poor job without the original dev knowing and customers being upset the translation was so bad (e.g. The Darkest Dungeon's Korean translation is the most recent big fiasco I can think of).

Even if the text is properly translated, many languages have quirks like different types of people having different verbal patterns (e.g. japanese expresses stuff with adding or removing layers of formal constructs; this doesn't exist in english culture, so sarcasm, disdain and peer pressure in japanese text are very hard to express through just an accurate translation), words that are the same in one language can be several different words in others (for instance, "chest" in english can be either a lootable object or a body part, in swedish those two are vastly different words, and the body part word is the same as our word for "boobs" so you could end up with a very dirty sentence if you translate some info text about how to touch treasure chests to open them... without realizing... and with TECHNICALLY having an accurate translation)

Localization is a mess that requires you to have a dialog with the localizer (they should ask you stuff like "does this person speak like a grandma or a refined lady?") and have a bit of an understanding about the language you're localizing too, if you don't have both those things you're just gonna waste a lot of effort and money on becoming the next Zero Wing. So if you're gonna do it, do it right.
 

Kezarus

Endless Game Maker
A lot of my UI work uses text_width() and text_height()
Hi @RefresherTowel! Yeah, good advice there, thanks! I use this kind of thing a lot too on my tootip and message_box objects. Problem is when you have a screen with a lot of text spread around or many buttons. If you scale buttons to fonts in this case things can get messy layout-wise.

This can be worth it if the increase in ACTUAL buyers
One thing you should be paying attention to is the country of origin for people who bought your game.
Nice! I know that one of my games sells "well" (HUGE quotes) on Russia, China and Germany. On a side note, I can imagine that the russian "feel" on a game can attract other non-russian players just for the shenaningans. =O]


I've heard that generally speaking, it's better to not localize at all than to make a poor localization
Hi @Yal, good to see ya. =] Yeah, this part above is a important point to highlight. Thanks!

if you don't have both those things you're just gonna waste a lot of effort and money on becoming the next Zero Wing. So if you're gonna do it, do it right.
And this can be is VERY complicated and cost a lot money and time. Maybe in this case I COULD do a Portuguese translation and suffer alone the consequences on doing so without burning a lot of resources. Hmmm. Gonna think about that.
 

Yal

🐧 *penguin noises*
GMC Elder
You could always just release an API of some sort that lets people make their own translations, basically having your fans translate the game on their own... the people doing it are dedicated, and you don't need to spend resources on making all the translations yourself. Several indie games has done this recently... Dead Cells, Mercenary Kings come to mind.

upload_2019-7-5_2-50-33.png
 

Kezarus

Endless Game Maker
You could always just release an API of some sort that lets people make their own translations
Yes! Great idea! Create an API seems easy enough. It's a matter of make a file reader to point to a directory with all language archives, load them as options to set. When set open just one at an Init object and voilà. =D

Just need to learn how make the "mod" containing each translation to land at that specific folder. But this is another issue. =]
 

YanBG

Member
I'll do it with an ID(1 = New Game), con: it's hard for the programmer to look at the code, pro: you use txt files(separate ones help the translators, each works on his own pace and you update whenever).
You load the language file into array and then draw the ID, when in options the language is changed you switch the array.
 
Top