How We Do World of Warships: Export Automation and Content Verification. BigWorld Engine - Game engines - Files for game developers - Game creation Big world game engine

In this post, we continue to ask questions to game developers. This time, the interview is given by Mikhail Zhivets, technical director of the project "", company Wargaming.net.

"NVIDIA WORLD": What graphics engine are you using in your project? What are the minimum and recommended system requirements? Are they due to certain features or are you guided by a certain level of prevalence of 3D-maps? Are you using the accessibility of the latest generation of graphics cards or are you targeting a standard?

The World of Tanks project uses the BigWorld graphics engine with its own modifications, which had to be made due to the specifics of the project. A feature of the engine is its focus on open worlds with dynamically loaded parts of the map, as, for example, done in World of Warcraft. We try to use technologies that allow us to create a picture on the monitor screen close to the sketches of our artists and adapt them to the system requirements.

"NVIDIA WORLD": Are the video cards from NVIDIA and ATI significantly different in terms of programming? Is it possible to simply write via DirectX or OpenGL and get efficient code for both vendors, or do you need to make different versions of the functions for each vendor? What approach did you use?

M. Zh.: Video cards from different manufacturers have their own specific features... This can be support for special texture formats or access to textures from a vertex shader. At the same time, when using the common functionality provided by the DirectX or OpenGL API, the differences between the GPUs of the two vendors are minimal and, as a consequence of the difference between video cards from ATI and NVIDIA, there are more opportunities rather than any limitations. As far as "special treatment" is concerned by the engine, BigWorld does not provide a decisive advantage for either vendor.

"NVIDIA WORLD": What are the differences in the speed of games on NVIDIA and ATI cards? Is this a property of the game engine algorithms or more dependent on the game scenes? That is, for example, in one game there are higher polygonal scenes, and in another there is a large overdraw rate or a lot of translucent textures with complex anti-aliasing, and therefore video cards with a higher fillrate cope better? (Did your program "love" any architecture?).

M. Zh.: The differences mainly come down to hardware features (differences in the width of memory buses, the number of ROP units, shader units, etc.), as well as to the implementation of drivers. The more balanced the load on the CPU and GPU and the better the stage is organized, the less the features of the video card should affect the overall performance. This includes a lean attitude towards the number and resolution of textures, low overdraw from particles and transparent objects, the use of LODs, grouping objects into batches, and so on - all this, in equal measure, falls on the shoulders of the engine developers and game designers.

"NVIDIA WORLD": When testing video cards, as a rule, approximately the same sets of games are used. How appropriate is this generalization when displaying test results for such different genres as 3D shooters, third-person RPGs and strategy. Are popular benchmarks indicative of your game's performance?

M. Zh.: I would not divide apps by genre. Everything is solely in the hands of the developers of the algorithms they use. In any case, the developers try to load the user's system as balanced as possible and achieve, at the same time, the maximum attractiveness of the product.

Looking at the FPS figures in games like Crysis or the latest Need for Speed, you can roughly imagine the performance in a number of other modern games, so here we can confidently say that these tests are quite indicative. Games of this level can be used as benchmarks for video cards, since at high quality settings they load the graphics subsystem to the maximum.

"NVIDIA WORLD": What is the reason for the increase in the load on the CPU with increasing resolution? Is it true that increasing the detail of models to minimize their "angularity" requires more CPU power for animation, clipping invisible primitives, building shadow volumes, etc.? Was this effect in your game?

M. Zh.: An increase in resolution should not directly affect the load on the CPU, unless, of course, the engine provides for an automatic increase in the polygonality of models, additional tessellation and a larger number of animation frames for models. If, as the resolution increases, the load on the CPU grows for no reason, the problem lies either in the game code or in the video card driver.

"NVIDIA WORLD": Can the CPU load increase when anisotropic filtering is enabled? The same goes for Full Scene Antialiasing. If this requires the entire scene to be drawn at twice the resolution, then theoretically the number of triangles can also increase.

M. Zh.: The answer to both questions is no. If anisotropic filtering is enabled, the load on texture units will increase. With FSAA enabled, the pixel pipeline gets more work. As for the higher resolution, doubling the number of pixels will increase the number of operations in the pixel shader, ROP units and TMU.

"NVIDIA WORLD": The process of transferring calculations to GPU shaders has been going on for a very long time, at first it was T&L, clipping. Is animation of models on GPU considered nowadays? What, first of all, remains in terms of the 3D engine for calculations on the CPU? (What did you count on GPU besides T&L?).

M. Zh.: The engine used in our project does not perform any calculations on the GPU. Theoretically, if, say, we had to calculate the physics of many objects in real time, we could take the same PhysX, which perfectly performs calculations on NVIDIA GPUs, but due to the specifics of the project, we have enough CPU capabilities.

"NVIDIA WORLD": In recent years, video accelerators have become "smart", they themselves use methods of cutting off invisible primitives, such as: a hierarchical z-buffer. How effective are they? Is it possible now to just shove all the triangles into the video accelerator so that it draws everything by itself? In the days of the first 3D games (the Quake and Unreal series), sophisticated methods were used to reduce rendered triangles, BSP trees, etc. How relevant is this now?

M. Zh.: Of course, you should not count on the video accelerator to independently determine which objects should be drawn and which will not be visible. We have to apply the technique of early clipping of the unnecessary, since the transfer of redundant information to the GPU leads to a drop in performance. So, the problem is still relevant, albeit to a much lesser extent. Especially in cases where you have to draw big number various objects. The fact is that modern cards are busy not only with cutting off unnecessary ones, they were also loaded with calculations of more complex types of lighting, etc. Accordingly, if there is an opportunity and resources to help the video card, this should be done.

For example, in the BigWorld engine, the Umbra library is used to cut off invisible objects before the drawing stage. The scene is a BSP tree, which also allows you to quickly and efficiently discard fragments of the scene that are obviously out of scope.

"NVIDIA WORLD": At one time there was such a situation, around the time of the P4 crisis, that the bottleneck of the system was the processor, which could not "load" the video accelerator, and to increase the FPS in games, first of all, a top-end CPU model was required. Is there a similar relationship between CPU and GPU now, or have the processors stepped over a certain critical level of performance and can we take an inexpensive processor and a powerful video card? This refers to games with an emphasis on graphics, in style such as Quake and Doom.

M. Zh.: A weak processor with a powerful video card is a bottleneck of the system, since a lot of operations, both low (formation of a flow of control commands by the driver) and high-level (applied logic - game loop, updating particles, character animation, physics, sound, etc.) directly depend on the performance of the CPU. An important role is played by the processor cache memory, which is rather small on cheap models.

For the most efficient operation of a video card, system resources, a high-speed system bus, and a sufficient amount of RAM with good performance are also needed. Often, the video subsystem is not able to show what it is capable of, simply because the CPU does not have time to transfer the necessary data to it. So, when it comes to saving on resources, it is enough to buy an average processor, a motherboard slightly above average, but not skimp on a video card and RAM.

"NVIDIA WORLD": DirectX from version to version is becoming more and more like a graphics engine. Is it true that nowadays a 3D program consists practically of Direct3D API calls and most of the calculations are performed in it? How do you rate latest version DirectX? Has it become almost a full-fledged engine and how many more versions will it take?

M. Zh.: Direct3D cannot be viewed as a separate graphics engine and it is unlikely that, in the foreseeable future, Microsoft will take such a step as creating its own game engine. This is impractical for a number of reasons, including many differences in the requirements for the engine for different game projects. For example, car simulator, real-time strategy and 3D shooter have distinctive features that do not allow the same engine to be used equally effectively in all three cases.

In the tenth version of Direct3D, new levels of abstraction when working with resources and additional possibilities for developing shaders appeared, such tricks as Stream Output became available. At the same time, D3D remains what it was - a low-level API, using which a developer can design a game engine for a specific task.

"NVIDIA WORLD": Generally, recent times there is a "globalization" of game and 3D engines. There are several of the more popular platforms that many games are made on. Is this an objective process? Does it make sense for a developer to write their own engine now, when you can license a ready-made full-featured one. For example, another version of Unreal Engine has recently been released, which has already been downloaded tens of thousands of times. How long is it until all games will use one or two 3D engines?

M. Zh.: We use BigWorld and are happy with it so far. With regard to "globalization", a miracle is unlikely to happen, and CryTek, Epic and a number of others decide to give each other a piece of the game engine market. Do not forget that, as a rule, games created on the same engine are very similar, which is not always a good thing. Most likely, the number of engines will only grow, with the departure to more and more narrow specialization. In any case, there will always be unique engines.

"NVIDIA WORLD": Is it true that the latest video cards have become very powerful in terms of raw power and, not differing from previous models in terms of effects, can reveal their potential, first of all, on systems with large monitors (from 1920x1200) in modes with antialiasing and full anisotropic filtering? Does it make sense for a person with a monitor, for example, 1280x1024, not being a fan of filtering and AA, to buy a new video card such as GTX285 and Radeon on a new technical process?

M. Zh.: I agree that it is. But, nevertheless, do not forget about decent monitors, with sufficient color reproduction quality, high resolution, contrast. You will get much more pleasure from the game. But even if you decide not to change your favorite monitor, it is worth replacing the card, as this will definitely lead to an increase in the performance of your system, because some of the old calculation algorithms on the new cards are already implemented in hardware.

"NVIDIA WORLD": Previously, game developers were conservative in using the capabilities and effects of the newest video cards, as they focused on the most common cards at the moment. That is, for example, conditional DirectX n comes out, but games are still written for DirectX n-2. Has the situation changed recently? Is it easy in the game to take advantage of the new effects capabilities for the recently released video accelerators?

M. Zh.: If Windows 7 had been released a couple of years earlier, or Microsoft had abandoned the idea of ​​linking DirectX 10 to Windows Vista, game developers would have switched to at least version 10 of the API long ago. However, now we have what we have: all the hits recent years use DX9, and DX10 support is often a marketing ploy.

"NVIDIA WORLD": How intensively do games usually use the power of the newest video accelerators at the time of release? For example, are all the features of the GT200 architecture being used now? Is it a typical situation when, at the time of release, a new GPU simply performs a little better on existing games, but over time, as games are optimized for a new architecture and new features are applied, its value seems to grow? How much does your game use new features?

M. Zh.: In the case of the new architecture and its unified shader model, almost everyone won. The workload of the GPU vertex and pixel pipelines has leveled off where there were large skews in one direction or another. As for new features, the higher the percentage of video cards supporting a particular feature, the more willingly game developers will use them in their projects. The BigWorld we use focuses on the capabilities of DirectX 9 and SM 3.0.

"NVIDIA WORLD": Nowadays, online games have become very popular. Has this left its mark on the video accelerator industry? Since the engines of such games are focused on the basic set of features that a large number of users have, and the FPS rates are still limited by the Internet connection, it seems pointless to buy a top-end video accelerator for online games. Is this not a brake on the development of game graphics? Increased popularity of browser games in "full 2D", for which an accelerator is not needed.

M. Zh.: If you look at the number of World of Warcraft subscribers and compare it with, say, Aion or Age of Conan, the answer is obvious: for online games, gameplay, elaboration game world, exciting PvP-component and other moments not directly related to the schedule. This is not a brake on the development of graphics, because the players do not live in one MMORPG. New shooters, car simulators, and RPGs will inevitably continue to raise the bar for 3D gaming. MMO games are slowly but surely going the same way, aiming to attract a larger gaming audience. By the way, the same Blizzard is now rumored to be working on a new MMOG and they are unlikely to use the 8-year-old engine in their new project.

"NVIDIA WORLD": To what extent do SLI and Crossfire technologies require support from a game developer? What is the reason for the different effectiveness of these technologies for different games? With features of the game engine or with game scenes? How much does your game benefit from using SLI and Crossfire?

M. Zh.: Optimizing an engine for two video cards is a very difficult process. It is necessary to carefully organize a compact data transfer to the GPU and balance the engine in terms of the load between the GPU and the CPU. If the application, when working on one card, already rests against the CPU or data transfer via the bus, you will have to forget about SLI or Crossfire. This, in fact, is the difference between certain games when working on paired accelerators. Our game still gives a performance increase of about 10% on SLI, but now we are optimizing a number of modules in order to improve performance in such modes.

"NVIDIA WORLD": For a long time, much has been said about the crisis in the PC market and the gradual transition of games to consoles. But this has not happened yet. Can we expect this in the future? Is it true that because of the standard hardware, programming graphics for consoles is much easier? Or does the eternal lag of set-top boxes in terms of "hardware" levels out the uniformity?

M. Zh.: Game consoles have a number of advantages for the developer (one platform, one set of capabilities and, as a result, the same performance for all players), but the market for PC games and, in particular, online games is constantly growing, so we cannot expect a massive transition to consoles. costs. Do not forget that the release of game consoles with more powerful hardware is restrained by the console manufacturers themselves, trying to reimburse the costs of producing consoles of the previous generation through the sale of current games. Therefore, before the release of the Playstation 4 or Xbox 720, it will take a long time and there will be many projects focused on the current generation of consoles. In some cases, such as the Nintendo Wii, advanced hardware is completely unnecessary to achieve an excellent result.

"NVIDIA WORLD": Is it true that now in games a combination of the projection method for constructing shadows from models and the method of shadow volumes with dynamically or statically calculated volumes for shadows on moving objects, models and weapons, and from moving parts of models on themselves?

M. Zh.: Instead of shadow volumes, the same projection technique is often used, with modifications (cascading shadow maps, a separate shadow map for self-shadowing, etc.). Shadow volumes provide a clear shadow border, but suffer from high fillrate, additional CPU calculations, and complex implementation of soft shadow edges.

"NVIDIA WORLD": Do existing methods of shading have perspective, in terms of constructing dynamic lighting for the entire scene? That is, with a gradual increase in the power of video accelerators, they can be used to calculate all lighting in dynamics? Or will it be necessary to apply some new methods?

M. Zh.: Projective shadows have come a long way in modern games, and some of their modifications will be used for a long time, combined with additional effects like SSAO. Of course, if there is free GPU ray tracing, then neither projective nor volumetric shadows have any chances.

"NVIDIA WORLD": How do you rate Precomputed Radiance Transfer technology from the point of view of application in games? Are you going to use it in the future?

M. Zh.: PRT requires time-consuming calculations, cannot be combined with animated models and, in principle, does not provide great advantages in visual terms, compared to the same Ambient Occlusion. As an example, you can take Halo 3, which uses PRT, but does not stand out for the quality of lighting compared to the same Gears of War or Crysis.

"NVIDIA WORLD": DirectX 11 and Fermi architecture, is it worth waiting for DirectX 11 accelerators and games, or is it a pass-through version of the API? Can the younger model of the Direct X 11 accelerator, yielding in absolute power, fill rate, be better than the old, but more powerful model with support for DirectX 10? Can we expect, with the release of the Fermi architecture, some kind of qualitative leap in game graphics, or will it be extensive growth, more triangles, more speed at high resolutions, etc.? If Fermi were available at the time of development of your game, how different would the game be, in terms of graphics?

M. Zh.: The eleventh version of DirectX offers more possibilities for computing on the GPU, while, compared to DX10, it does not bring any radical improvements for 3D graphics. As for Fermi, the most interesting feature in my opinion is fully guided tessellation for 3D models.

Mikhail Zhivets, technical director of the World of Tanks project, Wargaming.net

After the premiere closed shows of World of Warships at gamescom and IgroMir, the official launch of the game is getting closer and closer. Closed alpha testing is in full swing now, and we, the developers of Lesta Studio, the St. Petersburg division of Wargaming, still have a whole bunch of questions to solve. At the same time, we managed to leave many obstacles behind. Below is a story about how we adapted the exporter of our engine to the needs of Ships and built the content verification process.

Standard delivery of the engine

Any engine includes a toolkit for exporting 3D models from 3D editors to its own data format. Our BigWorld, on the basis of which World of Tanks is made, is no exception. It supports export from 3D Max and Maya. Almost any game project requires the adaptation of standard exporters to the specifics of the project. In our project, ship models are specific.

The first version of the adapted exporter from Maya simply "retrained" it to recognize the more complex structure of the ship scene. A bit of Python control code was added to the existing C ++ code, as well as a plugin for Maya with UI on wxWidget. It looked something like this:


UI of the customized exporter

The resulting tool had many drawbacks.

The export could only be carried out with the participation of the user, who had to "tell" the exporter what the scene contains. Using this tool to automate various processes, for example, automatic verification of content at the stage of building a distribution kit, was out of the question.

The exporter demanded from the user knowledge about far from obvious parameters, worked slowly, practically did not support scene verification, and also required a huge amount of resources for support.

The architecture was a major challenge for future expansion of functionality. The export was actually an atomic operation (a set of spaghetti functions) that translated data from one structure (a loaded Maya scene) to another structure (BigWorld) directly into physical files. When serializers and business logic are implemented "in a monolith" and there is simply no data model, it is impossible to add data processing (pre / post-processing), as well as reuse (code reuse) serializers and data model in other tools that implement their own business. -logic. It was impossible to build more complex content production processes.

Over time, adding new functionality to existing code has become nearly impossible. It was decided to rewrite the exporter "from scratch" with a new architecture.

Harsh everyday life

The level of our project has increased the requirements for quality, complexity and volume of content. Our studio has grown a lot over the past couple of years. We now have the opportunity to allocate a sufficient amount of resources for tasks related to the production of content. Professionals with a large background in architecture development, technologies in C ++ / C # came to us. At the same time, for the exporter's developers it was the first experience of using Python and Maya API. This introduced additional risks that needed to be taken into account.

We estimated the refactoring of the exporter at two or three man-months. One cannot do without optimism in game development.

We identified the following risks as:

Lack of formal requirements;
level of proficiency in Python;
the complexity of the Maya API;
refactoring of algorithms for processing primitives.

Much of the actual time was spent gathering requirements from informal sources such as developers turned managers, old-timers, torsion fields, and existing exporter code. These nuggets of knowledge have been formalized and written in the form of requirements, specifications and UML diagrams in Confluence.

The first prototypes showed the need to use the concept of namespaces and Python modules (__init__.py). Also, a mechanism has been worked out that allows you to "transparently" use functionality from C ++ libraries (.pyd).

A separate book can be written about the complexity and confusion of the Maya API. Any functionality required prototyping, consultation with 3D artists and engine developers (rendering).

The standard exporter had its own implementation of a large number of algorithms, for example, polygon triangulation, calculation of transformation matrices of nested nodes, etc. We ditched them in favor of using the Maya API, which greatly improved the exporter's performance.

It is high time to add the rule to Murphy's laws that any project you have conceived will definitely be implemented in no more than "x3" time from the planned one, if you do not abandon it.

The result was worth the effort we put in. In the end, even our main artist in charge of exporting models, after a couple of months of operation, found our exporter "almost perfect".

Let's take a look under the hood

In our studio, scripts in Python are actively used. We tried to implement the entire exporter on it. Naturally, Python is not suitable for processing large binary data such as vertex buffers, index buffers, etc. The data model and serializers of such containers were implemented in C ++ as a library (.pyd) , which naturally "fit" into the data model in Python. All business logic was implemented in Python.

The exporter framework was planned to be used not only for the task of "manual" export from Maya, but also for any tasks where its functionality could be reused, for example, to automate content verification. For any toolkit we develop, we require Python APIs, command line and UI tools.

Architecture

The exporter framework architecture is modular, layered. There are physical and logical layers, as well as a domain layer. Each layer contains separate modules: data model, business logic, serializers, as well as converters that can convert the data model of one layer to the data model of another layer. The physical and logical layers actually implement an analogue of the ORM architecture.

The domain layer architecture is designed for convenient processing of the data model with business logic. It is completely isolated and does not contain any assumptions about how it will be serialized to physical storage.


Exporter's layered architecture

Export process

Layered architecture introduces certain features of the export process. We are actually deserializing two (or more) models from different sources (Maya and BigWorld Engine). After that, these models are merged into one new one. The new model is then serialized into the BigWorld-Engine format.


Export process

Flexibility of the content production process

The implemented architecture makes it easy to build complex content production processes. For example, our primary ship model technologically consists of three separate Maya scenes, each of which is simultaneously developed by different departments:

The first scene contains a visual model and a collision model.
The second scene contains the ballistic model.
The third contains the effects ports.

In addition to this, the engine toolbox (editors) adds (edits) its own data to the derived engine format model (fourth scene).

The exporter easily solves the non-trivial task of combining all four scenes into one resulting ship model.

Content verification

The content verification system allows us to search for content errors both in each layer (source) separately, and in the resulting content. The number of verifiers now reaches several dozen. Automatic content verification is built into the distribution build process, which allows you to eliminate the human factor as much as possible and guarantee the integrity and technical purity of the content.


An example of verifying a ship model in Maya

Content budgets and a duck in the bathroom

An important part of the content verification process is checking budgets, for example, verifying polygon budgets. The figure below displays, in particular, information about the number of triangles for the visual model for each lode:


Maya UI Plugin

A vivid illustration of the need for such verification is a story told to me by colleagues about one of the previous projects. On the map there was a plot built up with non-destructible houses. As soon as the camera turned its gaze on this area, the FPS immediately fell wildly. After studying the problem, it turned out that inside one of the houses there was a bathtub in which a small "plastic" duck was swimming. All this would have looked like a funny prank of artists, if not for the fact that the duck model contained about a million polygons.

In practice, it is very difficult to comply with the budgetary value. Many models are objectively exceptions. Setting the budget value in the form of a range also does not solve the problem, since over time, polygon models simply begin to tend to the upper value of the range. In our case, we are planning to change the personal budgets of those models that do not correspond to the standard budget of this type of model.

Content processing

At each stage of export, processing (pre / post-processing) is required. For example, before converting the logical data model of the Maya layer to the domain data model for air defense cannons, preliminary rotation of the cannon skeleton by 45 degrees in the Y-axis and removal of the skeleton are required. Our architecture made it possible to transparently integrate various processing at any stage of the export.




An example of a model before and after pre-processing

X64 support

Quite recently, our artists have en masse switched from 32-bit Maya 2012 to 64-bit Maya 2014. Since the exporter is almost entirely written in Python, we have practically no problems with x64 support. Only the library (.pyd), implemented in C ++, required a little "shamanism".

Now the exporter can be easily used in both x32 and x64 processes, since it itself defines and loads the required assembly of the C ++ library (.pyd).

Card verification

While developing the architecture of the exporter, we could not predict in advance in what other tools and automations it would be possible to reuse it. Card verification automation is an example of how the “correct” exporter architecture found its way into another tool.

Verification of maps builds and verifies a graph of dependencies of a map from other objects located on it. In particular, the map uses visual models of the landscape (stones, icebergs), buildings (houses, hangars, marinas), equipment (planes, boats), etc.

The peculiarity of the card verifier is that it can verify not only the presence of files of these visual models, but also the models themselves, using the exporter framework. This eliminated the human factor, when the map development department (LA) has to take the word of the 3D model development department (3D Art) that technically correct models are being used.

Building the distribution

The exporter framework found its use in the process of preparing a content pack for the distribution. The distribution should not include models that:

Not used anymore;
are still under development;
intended for subsequent versions of the product.

Based on the basic list of game objects (root game objects), it is required to build a dependency graph, according to which the full list required content. There is nothing easier than deserializing a model using the exporter framework and "finding out" what other models are required (content references).

Outcomes

The development history of our exporter has shown how it has evolved from a simple highly specialized tool into a powerful system that solves its immediate tasks, and also found application in other content production processes. Its successful development and reuse is based on a modular architecture that allows its individual “cubes” to be used to build other systems.

In the near future, the exporter will have another test related to the change in the BigWorld Engine file format. We are confident that the underlying architecture will not experience any difficulties and will be able to support work with both the existing and the new file format.

  • Genre orientation: 3D MMO of any genre;
  • Platform: PC, PS3, Xbox 360, iOS (iPad), Web;
  • Programming language: C ++, Python;
  • License: indie and commercial;
  • Open source: not provided or provided for an increased fee;
  • Multiplayer: client-server;
  • Advantages: powerful, support for all the most modern technologies, optimized, iOS support, cheap for such features;
  • Disadvantages: not provided free of charge;
  • Engine developers: BigWorld Tech, Inc.

    BigWorld Engine is the most advanced 3D engine for creating MMO games. Games such as "World of Tanks", "Pealm of the Titans" from Wargaming.net and other games from other world game development companies are made on it. More than 15 MMO games have been made on this engine. It is developed by BigWorld Technology.

    Optimized engine allows you to create low-demand games with stunning graphics. The engine allows you to port games to iOS. It is written in the C ++ programming language, the implementation of the game logic in it is made in a convenient scripting language Python. There are powerful tools and a client-server engine. For sound, the FMOD library is supported, and any other libraries are connected through the plug-in system. Works with XML and MySQL databases. The toolbox includes powerful World Editor, Model Editor and Particle Editor.

    It is very affordable in price. Build BigWorld: Indie Edition only costs $ 299; BigWorld: Indie Source Edition - $ 2,999; BigWorld: Commercial Edition - negotiated individually.

    This advanced engine is not inferior in capabilities to other world engines of its type. The engine is available in Russian, Korean, American and Japanese languages. There is documentation, it can work on browsers. In general, you can get down to work if you have knowledge and diligence.

    No longer available for third-party licensing, as Wargaming decided to stop distributing its engine.

    Official site: http://www.bigworldtech.com





    The BigWorld Technology tool chain provides a complete, end-to-end MMOG content creation system that will enhance the quality and timeliness of your game. All tools are designed for cooperative production of game assets in a large team environment, ensuring effective use of resources and a smooth content pipeline.

  • Having trouble finding a specific video? Then this page will help you find the video you need so much. We will easily process your requests and give you all the results. No matter what you are interested in and what you are looking for, we can easily find the necessary video, no matter what direction it is.


    If you are interested in up-to-date news, then we are ready to offer you the most relevant at the moment news reports in all directions. The results of football matches, political events or world, global problems. You will always be aware of all the events if you use our wonderful search. The awareness of the videos we provide and their quality does not depend on us, but on those who uploaded them to the Internet. We just supply you with what you are looking for and demand. In any case, using our search, you will know all the news in the world.


    However, the world economy is also a rather interesting topic that worries a lot of people. Quite a lot depends on the economic condition of various countries. For example, import and export of any food products or equipment. The same standard of living directly depends on the state of the country, as well as salaries and so on. How can such information be useful? It will help you not only adapt to the consequences, but can also warn you against traveling to one country or another. If you are a notorious traveler, then be sure to use our search.


    Nowadays it is very difficult to understand political intrigues and to understand the situation you need to find and compare a lot of different information. Therefore, we can easily find for you various speeches of the State Duma deputies and their statements for all the past years. You can easily understand politics and the situation in the political arena. The politics of different countries will become clear to you and you can easily prepare yourself for the coming changes or adapt already in our realities.


    However, you can find here not only various news from the whole world. You can also easily find yourself a film that will be pleasant to watch in the evening with a bottle of beer or popcorn. In our search database there are films for every taste and color, you can easily find an interesting picture for yourself. We can easily find for you even the oldest and most difficult to find works, as well as the classics known to all - for example, Star Wars: The Empire Strikes Back.


    If you just want to relax a little and are in search of funny videos, then we can quench your thirst here too. We will find for you a million different entertaining videos from all over the planet. Short jokes will easily cheer you up and will amuse you the whole day. Using the convenient search system, you can find exactly what will make you laugh.


    As you already understood, we work tirelessly so that you always get exactly what you need. We have created this wonderful search especially for you, so that you could find the necessary information in the form of a video and watch it on a convenient player.