this is an Excellent article, the way its set out with the vids and pics. very technical but not rambley. I learnt alot out of it.
Bob would have been proud
Congratulations Lukas:) Amazing piece of 3D parametric shader:) thank You for sharing Your knowledge:)
Jake Oliver walks us through the production of beautiful winter environments. This work was created for the game SNOW from Poppermost Productions. It’s rendered entirely in Cryengine. Check out the article for more information about material production and environment design.
My name is Jake Oliver, and I currently work at Poppermost Productions, a small studio in Stockholm that is working on a winter sports game called SNOW. Previously I’ve worked freelance on a few different projects, with the largest one being Devil’s Third for the WiiU. Originally I’m from Australia, but I’ve been living in Europe for the last 4 years.
Building a Castle
The Castle scene was started to replace an older castle from early on in SNOW’s development. The main thing that I wanted to achieve was to create a versatile environment that would allow for good gameplay, while looking good at the same time!
I normally start with a lot of planning! I try to plan what materials, modular components and props I will need. Doing this means I can more easily work in out what order to do things in, because I have a bigger picture of all the environment’s components.
After that I normally make a blockout of the main modular architectural components in 3DS Max, so that our level designer has something to place out, and test gameplay with. From there, I’ll start working on all the tiling materials. Once those are done, I go back to my modular component blockouts and start adding details!
For the Castle area, I took a lot of detail inspiration from tabletop models, as they often are designed around repeating details, which translate very well into 3d modular sets. Because all the materials are already done, it’s just a case of modeling things as required. In this case, I made a version of one of the long straight sections, along with collision proxies and LoDs (Level of Detail meshes) and then I deformed that into the correct shapes using modifiers in 3DS Max, which were instanced over the various meshes.
Once all the major architectural components were complete, I started making smaller props, and then placed everything out in the Cryengine Editor.
Because a lot of the materials in that area are made of the same bases; stone, wood etc, I started by creating some generic “seed” materials that could be used as the building blocks for more complex materials. By using the same bases for all the materials, it made it much easier to make sure that there was a certain level of material consistency over the entire scene.
To create these seed materials, I used photos from a couple of different sources, made them tile in Photoshop, then ran them through Knald to generate normal maps, height, curvature and ambient occlusion. I then invert the generated ambient occlusion and set it to the screen overlay mode over the tiling texture to get rid of as much shadow information as possible.
Once I had enough of these seed materials, I quickly sculpted some assorted bricks, stones, debris pieces, and wooden boards. These were then arranged in 3ds Max in a tiling pattern and then baked to a flat plane, producing all the standard map types, and a colour map to separate different material types.
I then combined these bakes with my previously created seed materials, which gave a nice base to add wear to. The type of wear I added depended a lot on the material (stone wear is very different to wood wear for example), but most of the time I used a curvature map combined with a grunge texture to mask out the damage to the material.
It’s a shame I hadn’t discovered Substance Designer at the time I made these materials, as it’s a lot easier to automate pretty much the whole process there, and there’s a lot less manual messing around to do things like sharing masks between different map types.
Lighting The Scene
I’m not entirely sure why, but for some reason in real life, castles seem to be lit with yellow/orange lights, a quick google of “castle at night” demonstrates this fairly well! I tried to replicate this look as best I could with some instanced upfacing spotlights.
CryEngine has two major lighting setups, there’s a global Time of Day (ToD), which controls light from the Sun/Moon and all the atmospheric settings (things like fog etc). We had our initial ToD setup created by a freelancer, who did a fantastic job with it.
There are also placeable light entities for smaller scale lighting requirements. Because SNOW has a full 24 hour day/night cycle, we made a special custom entity that automatically turns lights like lamps and spotlights on at night.
I think the most important tools are things that can cut the amount of time you spend working on things. Software like Substance Designer/Painter and the Quixel Suite are fantastic, because they allow you to create and save presets for procedural materials, and work on masks across multiple map types at once.
Knald is great, I haven’t found another tool that is quite so good at translating shapes from photos into normal, curvature and ambient occlusion maps.
I haven’t tried the Quixel Suite baker, but both the Substance and Knald GPUbased baking tools save so much time compared to their traditional CPUbased alternatives.
For modeling; I think it’s important to have at least a basic understanding of simple scripting. It makes it much less tedious to do an action over and over if you can automate it. A lot of the time you’ll find that people have already run into the same problems in the past, and already made something! Though it’s 3ds Max specific, I really really like this script by Pedro Amorim.
Having a single context sensitive shortcut works astoundingly well for most basic modelling actions.