Localizing Egg Hunt: Roblox’s Largest Community Event
Welcome to the inaugural post of our “From the Devs” series! These pieces feature Roblox Developers sharing their insights to you, the community. And fitting that the first of these would be with Buildthomas, a known rock star in the community and a key member of the development team behind Egg Hunt 2018, Fifteam. (You might recall they had that especially awesome egg that was especially difficult to earn!)
Speaking of Egg Hunt, not only was it one of Roblox’s most popular events to date, but it also incorporated localization on a scale never seen before! And despite the tools for localization being released well into the development cycle of Egg Hunt, Buildthomas and the rest of the team rose to the occasion!
We spoke to Buildthomas about his experiences surrounding localization to give better context around the decision Fifteam made and what learnings they can share with the community
Roblox: How did you find someone to do the translation?
Buildthomas: There are several ways we tried to find translators. If you are a developer forum member, you have access to a forum category where people can post about collaboration. Many developers are actually offering their translation services there in several languages right now! Another option is to crowd-source your translations: if you have a dedicated player base, chances are there will be some people in there speaking the language you are trying to translate your game into, and chances are they may be willing to help you out!
For our project, Egg Hunt 2018, we actually found our translators through the QA testers group that tests every event game before launch. One of the community managers there, Ysko, happened to be a fluent Spanish speaker, and he was willing to take on the arduous task of translating all Egg Hunt dialogue and other text. We also had a volunteer from the Developer Relations team, Nightgaladeld, who helped Ysko out in making sure that the translations were correct. Many thanks to Ysko and Nightgaladeld for these efforts!
Roblox: How did you choose which languages to translate your game into?
Buildthomas: We noticed from our own experience and talks with our producer that Spanish was one of the most spoken languages by players on Roblox, next to English. So, it made sense to attempt to translate into this language first, due to the large portion of the player base speaking Spanish, so we would be reaching many more people in their native language. Testing your game in Spanish is also natively supported by Roblox’s localization tools. In fact, the user can only set their locale to English or Spanish on the website as of this moment; other languages are still on the way. All of these facts taken together, we decided it was worth the time to implement localization for Spanish.
Roblox: What were the biggest challenges that you faced doing the translation?
Buildthomas: The text recorder features that Roblox provides to create localization data are very great for the typical Roblox game with mostly static strings in the UI. In Egg Hunt however, you may have noticed that the text dialogue of NPCs scrolls by per letter, and some words in the text may be colored or be animated. To do this, we need to draw the text in separate labels: one label per letter or per word. This meant, however, that the text recorder could not record these strings for us, since it would just record the individual letters or words, and not entire sentences. As a result, we had to manually put these into a spreadsheet, provide identifiers for them, and had to implement a system that would take the correct translation of the string whenever a dialogue or message popped up. To say the least, this was definitely a lot of work, but we are pleased that we were able to pull it off!
Roblox: What advice would you give someone who wanted to get their game translated?
Buildthomas: Keep localization in mind from the start of your project! Especially if you plan on having animated text as I described above, or dynamic text that changes slightly depending on game variables (for example, singular and plural forms for in-game items), you should plan ahead in your code to support this. This will save you the headache of having to overhaul code or user interfaces at the end of your project.
Once you have localized your game into one other language, it becomes a lot easier to add extra languages. This is just a matter of translating the entries on the localization table in another language, and then importing the new localization table, with minimal implementation effort needed. While the initial localization effort might seem like a daunting task for existing projects, it is definitely still worth it for that reason!
For those of you who are now (or were, or will be in some measurement of time into the future) interested in localizing your game into the second most popular language amongst the Roblox community, we would recommend you check out our resources on the subject here: http://wiki.roblox.com/index.php?title=Roblox_Localization_Tools
You can find a list of translators for your game at https://devforum.roblox.com/t/list-of-roblox-translators/121165/