Chinese is 100%, please ask when can be updated into the game
As I think I mentioned the last time this was brought up, the game can’t currently draw Chinese characters. This same problem is going to cause problems for Czech and Russian (which both are getting close to having full translations ready)
I have a couple of plans for how to do it, though; I just need to get the time to implement one of them!
I’ve been playing a little with options, here.
If I only include glyphs which are actually being used in the game’s current work-in-progress Simplified Chinese translation, there are 1216 unique glyphs. In 12-point type, those fit pretty comfortably into a single 512x512 texture, like this:
(That’s Google’s NotoSC font, regular weight, 12 point size)
The problem is that simplified chinese has a total of around 24,000 different glyphs; even at a 12 point size, it’d take a lot of video memory to hold images of all of them. And we have so much text entry in the game… I assume that Chinese players would want to write in Chinese, not just in Latin scripts, so we’d kind of need to support the whole set of glyphs, I think, even if our translated text didn’t use the majority of them at all?
I’m very interested in the thoughts of Chinese players on this!
To support all of the Chinese glyphs, I see two main possibilities:
- I could ship a font (or fonts) with the game, and use regular font drawing to create a texture of the string to be drawn, and just draw that instead of drawing everything.
Pros: Supports drawing every glyph. Cons: Slower to change an on-screen string, since the new string needs to be drawn, turned into a new texture, and then uploaded to the GPU so it can be used when drawing. Not obvious how to support text editing (highlighting individual glyphs within a string, etc) or animated text effects.
- I could license a high-end font drawing library I’ve found, which works in a similar way to what I’m already doing, but encodes the fonts into much less space.
Pros: Probably a lot easier to integrate into the game than method 1. Changing text strings requires about the same amount of work as what we’re doing now (so constantly-updating strings don’t become more expensive the way that they do with method 1), but actually drawing text to the screen becomes probably a little slower than method 1. Cons: Lots more GPU memory usage. Probably would require about 150 extra megabytes of VRAM, to hold the data necessary to draw all the Simplified Chinese glyphs. Costs a bunch of money per project it’s used in.
And a question for any native Chinese speakers:
In a Simplified Chinese translation, should I be drawing numbers using Chinese symbols? That is, the number
99,999 would be drawn as
九万 九千 九百 九 十九. Would that be expected? I have a basic understanding of how to do that, but… it’d be a little bit of work, probably!
I see that the work-in-progress Simplified Chinese translations are generally still using western arabic symbols for numbers (0,1,2,3, etc), so… I assume that it’s okay for me to continue to use those in other places within the game?
Starting toward drawing Simplified Chinese text.
Still a long way to go; the in-game text can’t use it yet, but… at least I’m able to draw the glyphs at all! Next step is going to be integrating it into the UI system. This same system will work for Slavic languages, and other languages which don’t use Latin script.
We use Arabic numbers most of the time.九万九千九百九十九also hard for us to understand at the first time.so ues Arabic numbers is ok .
Awesome, thanks so much for the confirmation, @yatsuki!
Although Chinese there are many words, but in fact, only 2500 commonly used, the second commonly used words 1000, I think you only need to translate the existing words into the game. The Chinese currently available in translation suffdlying 98% of commonly used words.
In addition, this game as a stand-alone game, do not need to communicate with other players, for this game Chinese players are not too concerned about whether to enter Chinese, of course, if it can support is the best, but even then you do not need to support all Chinese.
The game’s Chinese name I think is called MMORPG大亨 is better, although such a name is very common, but also very clear. But I’m not sure what other players think.
Looks good, don’t know when to update, or join the test?
That screenshot was pretty much the only part of the game I could show (there’s a reason I didn’t show the full screen!)
There’s still a little ways to go before it’s ready to show to other folks, but progress is definitely being made!
ALMOST ready to go. Text editing still needs to be updated, and we’re missing a couple glyphs from the font (I think it’s punctuation that we’re missing)… but… getting really really close!
I’m going to test with this for another day, and I’ll probably push it up to the Test build tomorrow so that other people can give it a try.
This updated build brings in the upgraded font rendering tech, and should also add Simplified Chinese and Czech as available languages.
The quotation mark "seems to be missing, but not sure whether it is in English or Chinese.
In skill design, the font color in Chinese is too dark.
This was affecting every language. Text was accidentally being drawn using linear colour rather than proper sRGB, which meant that everything which wasn’t full-brightness was being drawn darker than it should be. Will be fixed in the next update!
not sure how you’re handling localization stuff in the game, or what technology / programming language you are using but I’ve never heard that you need all the symbols as textures or bitmaps or something. In .NET chinese is just a different language, if you don’t have chinese installed on your windows, the resource files will show the chinese letters as rectangles but on chinese systems, they’re automatically displayed correctly if you got a chinese .resx file.
I mean can’t you just use the same localization mechanic you’re using for other languages and set it to CultureInfo zh-Hans (simplified chinese) or zh-Hant (traditional) ? The chinese symbols all come with windows already, you just need to find a way in your programming language to select the proper chinese language. Again, in .NET this is done by creating a resx file for each supported language / CultureInfo.
Really, the thing that kills that sort of approach is that Windows font rendering won’t work for Linux of Mac builds of the game. And doesn’t interact with our OpenGL rendering very nicely even in Windows.
But we do have Chinese working in-game now, and have had it for a few months (as shown in screenshots from back in May, above.) If there are issues in the current implementation, I’m very interested in hearing about them! But otherwise, I think all of these tech issues have long since been solved.