In search of Unity
Hi, my name is CCP Shiny and I am writing on behalf of Team Stonehenge to bring you the latest updates for our localized clients. But if you are playing on the English client, you may want to read on, too, because there is a goodie hidden in there for you as well.
Let's start with a little history: When we did the localization for Russian and German, one of the core issues was how much we should actually translate. On one hand, we didn't want to divide, or shard, the EVE universe by client language. So we decided not to translate most names - including item names on the market, objects in space, location names and so on. On the other hand, this caused an effect where the game was never fully localized and therefore never felt natural to players that were used to fully localized games.
Click to enlarge
So as part of our upcoming release in Japanese, we decided to find a solution to this conundrum.
The first step was to actually translate literally everything for the Japanese client. This means all "important names"(items, locations, agents, NPC corporations and alliances, objects and entities in space, incursion names) are also translated into Japanese. This wasn't a trivial task and it took CCP Prism X nearly two months to change database objects to allow those names to be efficiently displayed with translations in-game.
But now we are back to sharding the universe by language, so we decided to implement functionality that would help keep everyone talking and allow for a more customized experience.
- Important names can be displayed in English or in the localized client language.
- CCP karkur from Team Avatar cast some UI magic that will allow you to see the translations of the important names in a tooltip.
You can also right-click on the name in a localized client and copy the translation so you can share it. The important names can optionally be marked with an asterisk in your client to make it easier to see what you can translate in this manner. You can of course also still see the information of auto-linked chat text in the language your client is set to.
All of these options can be selected on the language tab in the Systems Settings Menu. For the Russian and German client, this functionality is also present but for Crucible 1.6 we are still following our old localization policy of not translating important names. So Russian and German will still be translated in the same manner as before, with the added bonus of bilingual functionality for market categories, incursion names, etc. We are considering revising our original localization policy though which would mean translating important names also for Russian and German – this would allow for the exact same bilingual options as in the Japanese client. However, as mentioned earlier, this is no small task so don't expect any dramatic changes right away.
But wait, there is more!
- The agent journal has an optional column that displays the English name of the mission titles.
This way you can look up missions in your favourite mission guide while still being able to read the mission description in your own language.
Click to enlarge
The final piece of the puzzle was the search and this is where it gets good for our English players as well. We wanted to allow players using the localized clients to search both for the English names and their translations. While we were pondering possible solutions for this, the guys on Team Cobra Kai showed us the prototype of a universal search functionality they had been working on a while back. As you know, there are different search fields all over the client, like in People & Places, the market, assets and so on. For some fields like People & Places you also have to select a search type to get a result which can be tedious, especially if you are not sure whether "Dingbat Lovers"is a corporation or an alliance. The universal search does away with all that - CCP BitShift from Team Kobra Kai has summed up how it works:
Adding more languages means there is more text to search which is taxing on our database infrastructure. To remedy that we now index all the data in all the languages in a third party full text search engine called Sphinx (//sphinxsearch.com/). This creates a unified interface which we can expose any data to that we want to be searchable. We have two types of data which need indexing, static and dynamic data. Static data is the data which does not change during runtime, such as solarsystem, agent and type names. We index that data once. But dynamic data is data that gets created or updated during runtime, such as player owned structures and ship names. We need to re-index that data and update our search indexes. We periodically re-index that data which means it's not as real time as if we'd search our database, but that's a fair tradeoff for being able to search faster and with minimal cost to database resources.
By moving the majority of the costs of searching from the database to the search server, we open up future possibilitiesof improving the search experience, such as searching all categories at the same time. Up till now you've had to specify what you are searching for, such as character names or places. Since all the data now goes into a unified index, we don't do that anymore, but we can get everything back which matches the text we are searching for. This means as you search for "jita" you get back multiple results for all terms that contain a word starting with jita. Additionally, searching for "jita cald" will return any of the indexed search terms that have words starting with those two search terms, in any order. This will become useful in future releases, when we move more game data into being searchable. But that is a subject for another devblog ..."
This system has the potential to allow you to find anything in game by using one search field only, with the results being prioritized and sorted into groups. That way when you are looking for an item to buy on the market, you may one day also be able to see at the same time that you already own this item since the search will look in your assets, too. And not only that – it has the potential of being expanded to searching in your EVE Mail, and even out of client text like EVElopedia. This sounded like a winner, so Team Stonehenge went to work on it. With Crucible 1.6 there will be such a search server for Tranquility, which means that the foundation for future functionality has been laid. However, while I expect you may hear some news on the search from other teams over time that will base their changes on the new system, the above is only to describe what it could do, not a promise that this is what it will be.
- The first iteration of the universal search we are releasing with Crucible 1.6 will allow you to search in People & Places without having to pick the search type.
You can also look for exact matches and in the localized clients you can search for the English translations or the localized version of any important word.
As you are reading this, all the features described are on Singularity for you to try out.
We are looking forward to your feedback and hope you will enjoy it!