Implementing procedural materials in Tanki X
Published 4 years ago
How did we move from handmade to procedural texturing with no loss in quality
Our team AlternativaPlatform is currently working on the development of a dynamic multiplayer action game called Tanki X.
The central and pivotal figure of the game is the tank, which makes the visual aspect very important. Furthermore, players can customize their tanks in a variety of ways, so fast content production is crucial.
For this reason, we decided to develop our own tank material that would not only meet the above-mentioned requirements, but also support additional gameplay mechanics such as heating or freezing/cooling or tanks.
Procedural material
The development of realistic material in contemporary gaming is a complicated and time-consuming process. Just a few years back, any standard in-game material was represented by 2-3 main texture maps (such as diffuse, normal and specular).
However, with the introduction of the practical usage of PBS (Physically Based Shading) technology, the requirements for material structure have changed significantly. These changes affected the already well-established material production pipelines, for game applications. Of course, the process itself became much more complicated. To preserve the previous working tempo, we had to find much simpler yet effective methods, as fast as possible. The habitual methods of production became slow and unpredictable. In addition, the existing tools did not allow the artist to properly evaluate their results during the working process. This lengthened and complicated the process further.
In order to deal with the problem at its root, we decided to develop a completely new production pipeline, based on a principle of procedural materials that has recently been gaining a lot of popularity.
In reality, the procedural materials principle has existed for quite some time. However, the results of the initial experiments didn’t look so promising. The complexity of the process, practically did not allow procedural texturing in stylized graphics. Fortunately, during the past few years, it has made some significant progress.
The advent of the specialized and open source programs for the development of procedural materials, has simplified the artist’s work significantly. We are using Substance Designer 5. It is now possible to create materials of any complexity, from scratch, and even better, it allows us to make any adjustments to the parameters of the materials, during the working process.
Tank texture material
Theoretically, this technology allows for the modification of certain parameters directly into the game. However, in our case, it turned out to be very complex and difficult to apply. But even without this possibility, the procedural material creation significantly reduces the production time of complex texture maps, thus ensuring consistent high quality.
In our case, the procedural texturing efficiency is shown by the work we’ve done on our tanks. This is mainly explained by the fact that, for every combination of turrets and hulls (as well as its paint/skin), a similar kind of material is required. Using the usual/old pipeline to produce the texture maps, we would have had to create each texture for every tank, almost from scratch. This is very time consuming and doesn’t guarantee the required quality.
Additionally, problems would have arisen with results evaluation during the working process, because the sample would have had to be loaded in the viewer every single time. A procedural approach in this case, solves all of these problems. It’s enough to set up the standard version of the material once, and then, all that is needed for production of the final texture maps, is to replace the texture maps input according to the model of the tank. It is worth noting that we use the normal map and several black and white masks as texture maps input.
Texture maps input
Of course, the production of such reference material is neither quick nor easy. However, it only needs to be done once and then adjusted to the needs of the project. For example, by changing a couple of settings, dirt or damage visuals on the hull can easily be adjusted. In other words, any setting can be adjusted.
The procedural material node structure
The final view of texture maps
The approach allows a good level of control in the manufacturing process. Any limitations the artist might face in this case are minimal, therefore, with the right approach, the result is almost indistinguishable from a high quality handmade job. Furthermore, the graphical style being used (whether it’s ultra realistic or cartoon stylization) is mostly irrelevant, as the result in quality, and time investment will always be the same.
Software: Substance Designer 5
Heating and cooling of the tanks, implemented using the procedural materials technique
Advantages of this technique:
  1. A clear and predictable working algorithm
  2. Flexibility in the production process (easy to change results at any stage)
  3. The possibility of expanding the shader
  4. Advanced visualization possibilities during the working process (no need to upload it to the engine every time)
  5. A minimum requirement of additional software (almost everything is done in one software)
  1. Offbeat pipeline, requires familiarization with the software
  2. At the initial stages, the process of material creation seems to be way more complex and less predictable (requires more practice for comparable results)
  3. The result in the software’s preview mode differs slightly from what appears in the game.
This way, the introduction of procedural technique in our pipeline, significantly reduced production time, making the process more flexible and improving the final quality of the product.
Other Projects
Roman Kungurtsev