FROM: Project Lead
TO: Arma 3 Users
INFO: Update en-route, Job opportunities, Localization
We've begun prep for the first game update of this year: version 1.38. It will mostly be a maintenance update, gathering up all improvements, optimizations and fixes since the last update. However, we're also trying to include two things that can help many of you. Before going over them, we should point out that these are risky low-level changes. We'll be testing them more before making the final call. If they resolve one issue, but cause new ones, we may send them back to the incubator.
First of all, we're updating the PhysX libraries to version 3.3.2. PhysX is used throughout the game for the physical simulation of vehicles, objects and at times, characters. It's a third-party solution, developed by our partner NVIDIA, that we and many other games are using. There are also risks associated with this middleware approach, such as crashes occurring in, what is to us, a blackbox. Our programmers often cannot trace what has caused a crash when it happens in these libraries. We then try to debug with the engineers at NVIDIA, which can result in: us implementing a work-around on our side, them updating the libraries, or the issue not being solvable for a while. Initial tests using the new update have addressed a number of common crashes, so we hope it will help with stability. Note: for now this library update is not available for Linux servers, because some distributions don't support it (but the versions are cross-compatible).
Secondly, we'll reintroduce multiplayer server optimizations that were removed from a previous update. They have the potential to help quite a lot with performance, but in their first implementation were not fully 'thread-safe'. This second iteration looks much better, so we hope to see similar results as to when we first tested it, minus the crashes!
Bohemia Interactive is often searching for new recruits to join its multiple teams and offices. For Arma 3, we are currently on the look-out for (Audio) Programmers, Artists, Animators and a Mastering Developer. If you're interested in contributing to the future of Arma (or our other games), go over the careers page and apply!
Localization: the act of preparing a game for the many regions of the world and languages spoken therein. We will not lie: this can be quite a frustrating task for developers. Every piece of text must be stored in a database, rather than just having literal strings in code, script, scenarios, etc. Exports from these databases are then send to translators, who send back translations and those are re-integrated into the game. Of course, if this allows more people to enjoy the game, that's a good thing! For Arma 3, the process is coordinated by Associate Producer Tomáš Bican. He is not directly embedded in the team, but part of a shared Production department and important for every big release.
Our normal process is for the team to add texts to the database whenever they are needed. At some point between the internal Alpha and Beta milestones, we then apply a Localization Lock. From this point, it is expected about 90% of the texts are final and ready for translation. The database is exported for translation, and the real fun begins. Tomáš then has to track the inevitably forgotten and fixed texts and make sure those are translated on time. He'll also need to contact developers to find out more about the context of texts for translators. A single word can mean completely different things when used in different places. Admittedly, this is where things could go better for us. We're aware that there exist, at time hilarious, linguistic errors for some languages. When he's not fixing such errors and going through the standard procedures, Tomáš is searching for better methods, extra translation agencies or investigating non-traditional approaches for the future.
The Dev-Branch for Arma 3 Tools has received a small update. You'll find a sample of an extension there as a Visual Studio 2013 project. Extensions are advanced ways of extending the game with code written in languages such as C++ or C#. One common example of their usage is communication with databases for persistent multiplayer game modes. We're also happy to report that Tools Commissar Julien Vida has now joined us on-site as a full-time team member. Bienvenue!