Programming Games in Japan

Recently I’ve received some e-mail about what the nuts and bolts are like when programming games in Japan. “Do you program in English? How are comments written? What are variable names like?” If you’ve ever wondered about this then read on.

Programming languages are the same – there is no difference between writing C++ code in other countries and writing C++ in Japan. That’s the whole point of language standards. Programming languages are the same everywhere you go in the world. That goes for C++, Assembly, HTML, Java, Python, you name it. Since many programming languages were invented in English speaking countries, standard library function calls are in English or are based on English acronyms. This is not different in Japan.

Comments are written primarily in Japanese -well, of course! Most game programmers in Japan are Japanese so comments are written in their native tongue. That said, English does creep in from time to time especially because many technical words, function names, and abbreviations are based on English.

Variable names are not what an English speaker would choose – since variable names must be written in ASCII text there is a general inclination to write them using English words. That said, from what I’ve seen variable names are frequently in “Engrish” territory. Those variables usually aren’t too hard to understand though and can be a good laugh. Rarely I’ll see a variable name written in romanized Japanese. Something like “kirakira” in particle effect code. Kirakira is a Japanese sound word that means shiny or sparkling. The worst types are variable names that are based on Japanese acronyms written in English. They are pure gibberish to everyone but a native level Japanese speaker who also is accustomed to technical jargon. Luckily they have been fairly rare in my experience.

Communicating about complex technical challenges is hard for non-native speakers – my Japanese has improved significantly in the time I’ve been living in Tokyo. I can get through a lot of day to day conversations now, can read a respectable amount of frequently used Kanji, and do not feel like communicating about day-to-day tasks in a Japanese speaking environment is an insurmountable struggle. But describing something very technical is extremely difficult. Firstly because the vocabulary isn’t commonly used and secondly because it often involves a lot of math and descriptions of concepts that cannot be described well visually.

I was speaking to one of my foreign coworkers, a highly skilled artist, recently and described to him this challenge like so – “imagine trying to describe to one of your coworkers in Japanese what a normal map is and how to make one without being able to use a computer to visually show what you are explaining.” It is not easy.

If you want to succeed in the Japanese game industry working for a Japanese company I cannot stress enough that the most important thing is the ability to communicate effectively in Japanese.

For more general information on my experience of working at a Japanese game company please see my article at GameCareerGuide.

3 Responses to “Programming Games in Japan”

  1. Sindharta Tanuwijaya says:

    I am not a native English speaker, but one of the things that struck me was a variable named “story” while it should have been named “floor” (at least that’s what I think), and other variables which describe the properties of this “story” follow the same convention: like “story_area”, “story_space”, etc.

    I know you can say “5 story building”, but still, I think it should have been named floor. I guess some of them just pick the first word on the list that comes out when they input a Japanese word into their dictionaries.

  2. Joseph Vasquez II says:

    Thank you very much for the answers, Mark. Any other info you’d like to share on how your programming work in Japan compares to the US would be greatly appreciated. So please blab on whenever you can, regardless of how random or specific.

  3. mark says:

    One thing I find myself doing as a native English speaker is finding and translating useful English information to the team.

    It seems as if there is a lot more information sharing in English about development techniques than there is in Japanese. Just being able to find a useful technique through Google to help a coworker out in a pinch and then be able to share it with them is valuable.

Leave a Reply