Advanced, physically based rendering technologies in games like GIANTS Software Farming Simulator 15 push the limits of technology. Intel® Graphics Performance Analyzers (Intel® GPA) play a significant role in finding bugs and optimizing the latest generation of physically based renderers.
Farming Simulator 15 is a realistic farming simulation in which users can take on all the challenges of farming life, including working with animals (cattle, chickens, and sheep), cultivating land, and harvesting crops. Players can grow their own farm in a huge, open world using more than 100 vehicles and tools.
Farming Simulator 15 is available for multiple platforms and provides multiplayer support over the Internet. The primary version supports Windows* and OS X*, Sony PlayStation*3 and PlayStation4, as well as Xbox One* and Xbox 360*. In addition to the primary version, a mobile version is available that supports iOS* and Android* as well as Nintendo 3DS* and PlayStation Vita. GIANTS updates the primary version every two years and releases the mobile version in between.
Innovative features that GIANTS provides in Farming Simulator 15 are simulated tree cutting with an advanced mesh cutting algorithm and simulating a trailer filling up with heap.
Cutting any type of mesh at any position, like in this game’s woodcutting simulation, is a technical challenge.
In Farming Simulator 15, mesh cutting consists of three steps:
1. Cut the visual mesh (XYZs, UVs, normals), and then tessellate the cross-sections.
2. Cut the collision skin.
3. Compute mass properties for the pieces.
For fast retrieval of the cross-section and cut pieces of the visual mesh, GIANTS relies on a boundary representation (B-rep). The triangle-based B‑rep is loosely based on the Corner Table, as described by Jarek Rossignac, Alla Safonova, and Andrzej Szymczak in their paper “3D Compression Made Simple: Edgebreaker on a Corner Table” (see “For More Information” for a link). Winged- and half-edge B‑reps are less suitable because of their larger memory footprint and longer traversal times.
After cutting the visual mesh, the cross-sections are tessellated using the OpenGL* Utility Library (GLU). It’s important that cross-section texture alignment not show growth rings leaving the bark. The alignment is computed from the principal component analysis of the vertices.
The collision skin consists of convex polyhedra. Splitting a convex by a plane results in convex pieces.
The mass and inertia of the cut pieces are computed from the collision skin. The engine uses AABBs of convex polyhedra rather than actual polyhedra because the mass properties from AABBs are cheaper to compute and physically sound.
Mesh cutting is only one example of the advanced features of GIANT Software’s engine.
GIANTS Software employs 16 people: eight artists and eight developers who have backgrounds in computer science and work experience at companies like Sony Computer Entertainment and NVIDIA. GIANTS operates with two eight-person teams in parallel. One team constantly works on Farming Simulator, delivering a primary version every two years and a mobile version every other year. When a game reaches the final development stages, both teams come together to finish off the release.
Farming Simulator 15 uses a new way to render called physically based rendering. This new renderer produces almost photorealistic rendering, notably for the numerous vehicles in the game, by simulating how the light behaves on materials like metal, plastic, and glass. GIANTS has been developing the rendering engine for the past 10 years using C++ and Microsoft Visual Studio*. Farming Simulator 15 is the fifth generation of the game, and it provides the team with a great basis on which to add new features.
GIANTS uses the engine, however, for more than Farming Simulator. The company has two other games, as well: Demolition Company and Ski Region Simulator. Users can extend the game through Lua scripts, and there’s a big community of fans who provide their own mods. Although the game itself isn’t CPU bound, the user scripts can put a lot of load on the CPU, so here’s where it helps for players to have a computer with an Intel® Core™ i7 processor available to keep gameplay smooth.
Dedicated Server Version
Farming Simulator supports multiplayer gaming over the Internet. Players can host their own sessions or use a game server provider to host the game for them. The game server providers run Windows Server* instances so that they can host as many games in parallel as possible.
To enable game server providers to run as many instances of Farming Simulator 15 as possible in parallel, GIANTS Software has developed a dedicated server version. The server version is headless and optimized for dual-socket Intel® Xeon® processors with 16 cores and hyperthreading. This highly optimized server version enables game server providers to run up to 50 instances of Farming Simulator 15 in parallel, driving down costs and increasing the scalability of the offering dramatically.
Supporting a multitude of platforms with their various proprietary APIs is a lot of work for the team. They support Microsoft DirectX* version 9 and later, GLU, and a host of console APIs for Xbox and Nintendo.
In Farming Simulator 15, Intel GPA helped the team find and fix a bug in the rendering engine in which, using DirectX 9, it produced black triangles. Using the Graphics Frame Analyzer for DirectX and the Graphics Monitor for DirectX workloads, the developers were able to identify the problem in the rendering code and fix it in no time—a crucial step toward a timely and high-quality release of Farming Simulator 15.
In coming versions of Farming Simulator, GIANTS Software will focus on using Metal* on OS X and DirectX 11 on Windows. Metal provides low-overhead access to the GPU, enabling developers to maximize the graphics and compute potential of the gaming engine. Features like precompiled shaders and support for efficient multithreading will help GIANTS Software improve its engine. Focusing on DirectX 11 will simplify development on Windows; version 11 APIs add new features such as tessellation, compute shaders, and dynamic shader linking.
The engine currently uses deferred rendering, in which all the geometries are passed down the pipe first. Only after all geometries have been passed down is the final image rendered, with shading applied as a last step. The advantage of deferred rendering is that it reduces the object count, which in turn leads to a reduced fragment count. Deferred rendering performs the lightning calculations only on the pixels visible on the screen, using the resolution size instead of the total fragment count. Deferred rendering is beneficial when using many dynamic lights.
The benefits of deferred rendering come at a cost, though: it uses big buffers, which need a lot of bandwidth to process. Deferred rendering is missing important features like transparent objects and anti-aliasing, too, so developers will have to work around those limitation using edge detection and similar algorithms. To be able to use multiple materials, developers will need to modify the deferred rendering, as well.
Forward rendering works differently. The graphics card projects the objects and breaks them down into vertices. The vertices are then transformed and split into fragments. The final rendering is done before the objects are passed to the screen. GIANTS Software is planning to switch to forward rendering for Farming Simulator 17.
About GIANTS Software GmbH
GIANTS Software GmbH is a Swiss video game development studio based in Zurich. Since 2004, GIANTS has produced many innovative games and technologic products. In addition to the development of its successful games Farming Simulator and Demolition Company, GIANTS offers its own game engine. For more information, visit www.giants-software.com.
For more such intel resources and tools from Intel on Game, please visit the Intel® Game Developer Zone