Customer Story: How Simplygon enables large scale optimization in Flight Simulator
Microsoft Flight Simulator is very complex from a rendering and data perspective in comparison with other games. The vast view distances, the detailed landmarks and the whole world as playable area makes the asset optimization strategy a very important part of the game production.
Flight Simulator utilizes the same city content as Bing-Maps for the 3D cities. And they get created by Bing-Maps through one of the following two paths:
- Importing 3D cities from external sources.
- Creating 3D cites directly from aerial imagery.
The starting point for this process is typically extremely dense meshes. Given the amount of data in these meshes it is not viable to deliver them to players over the internet.
The very dense scan mesh of the church in Graz
To get a seamless experience, cities are divided into small tiles and then a level-of-detail pyramid is created. At each step of the pyramid, untextured meshes are simplified based upon a variety of goals (deviation, maximum triangles and geometric importance).
A series of patches from the level-of-detail pyramid forming the city of Graz.
How is Simplygon being used?
Simplygon is currently being used to simplify the internal triangles and vertices of Flight Simulator’s meshes. The ability to lock the boundary of the meshes prevents glitches between patches of in the level-of-detail pyramids.
The source mesh of a patch in Graz. If the boundaries aren't kept intact there will be glitches between adjacent patches.
Before settling on Simplygon, a variety of algorithms was tested: Flight Simulator’s own quadratic simplification algorithm (QSlim) and various open-source algorithms, for example what is available in MeshLab. Simplygon’s mesh simplification algorithm was the only algorithm that gave enough balance between flexibility to control, while not having to worry about the internal workings of the algorithm. In general, the most appealing thing with Simplygon is that it just works without have to spend time tinkering and tuning the algorithm. In addition, given the amount of data managed in Flight Simulator, the fact that the SDK can run in Azure in thousands of instances utilizing the same license at once is very important.
As an added benefit Simplygon is also extremely easy to use for standard utility type work, like simplifying OBJs to more manageable sizes.
The results of the Simplygon processes can be seen in Flight Simulator in many of the world updates (Japan, United States, UK, France & Benelux, Germany and more). They are also published in Bing Maps.
A view of Port Vendres in France
Using Simplygon dramatically shortened the development time of Flight Simulator. It allowed the team to plug-in in a general-purpose simplification that was easy to use and could be adapted to a variety of use cases, such as when:
- Creating level-of-detail pyramids for city content
- Making file sizes more manageable
- Simplifying internal triangles and vertices of the meshes