For the Record: “How we make WoWs: Export Automatization and Content Verification” –
Source: http://m.habrahabr.ru/company/wargaming/blog/241083/ Part 1 can be found here. Part 2 can be found here. x64 Support Not so long ago, our artists transferred en-masse from 32-bit Maya 2012 to 64-bit Maya 2014. Since the exporter is almost completely based on Python, there was practically no problem with x64 support. Only the library (.pyd), built on C++, needed some fixing. Currently, the exporter can be used both in x32 and x64 processes, as it itself performs and loads the assembly of the C++ library. Map Verification When we were developing the exporter, we couldn’t imagine in advance, in what tools and automatic processes will it find its secondary uses. The automatic verification of maps is a good example of how the “correct” architecture of the exporter found its use in other tools. The map verification process builds and verifies the dependency of the map on other objects, placed on it. In particular, visual landscape models are used on the map (rocks, icebergs) as well as buildings (houses, hangars, marinas) and vehicles (boats, planes) etc. The main feature of the map verification process lies in the fact that it doesn’t have to verify only the existence of files of those visual models, but the models themselves, using the exporter framework. This allowed us to remove the human factor, when the map development department had to “trust” the 3D-model department that they are using technically correct models. Build Assembly The exporter framework found its use in the process of content pack creation for the builds. The respective build should now have models in it, that: - are not used anymore - are still in development - are intended for future versions of the project Based on the root game object list, you have to create a dependency graph, according to which you assembly a full list of required content. It’s very simple to deserialize a model using the exporter framework and to “find out”, what other models you require (content references). Results The history of the development of our tool has shown, how from a simple tool with narrow uses it evolved into a powerful system capable of solving tasks it was not intentionally designed for, finding use in other parts of content creation process. The main basis of its successful development was the modular architecture, allowing the use of its separate parts in other systems. In near future, the exporter will be tested again with the transfer of the files to a newer BigWorld version. We are sure that there will be no problems with the architecture and it will work both with current and future version of file format.