Planet modelling has been given a boost by natural procedural tech that generates biomes based on temperature and humidity.
V4 Planet Tech
To simplify planet creation, surface terrain modelling has been separated from the biome data that used to be present in the V3 tech. This separation allows for large scale changes to be mapped across the surface automatically using the local climate and a biome map.
Local Climate Biomes
The local climate is derived from the terrain by tracking two key variables, the temperature and humidity. In the following example, a high-temperature and high-humidity region is mapped to a rainforest biome at the top-right of the map.
The temperature is derived from the position of a location relative to the equator (assuming this based on the weather model) and its altitude. The humidity is derived from the proximity of water sources.
Although this method provides great results for Earth-like planets, it is less useful where uninhabitable planets are concerned. In these cases, the temperature and humidity variables can be replaced by more suitable variables.
Large Scale Effects
The continuous variation of these properties over large scales provides both smooth and gradual changes as well as organic details and variations in the surface. These features can be represented at high altitude without the need to provide alternate images that were a part of the V3 tech.
The detail of how biome species relate to a climate is specified by painting onto an example tile. The information is recorded in a lookup table that is used as a guide to replicate identical climate niches across the planet.
Lookup tables are also used to determine ground colour, surface type and biome coverage. Here is how Microtec looks after being coloured by the ground colour table.
The terrain in combination with the full set of lookup tables provides an interesting and natural-looking base upon which biome features can be placed.
A consequence of this change is that each location on a planet has a specific biome and terrain shape which is unique.
Climate data is stored at 4-meter resolution, so each 4 x 4 km terrain tile is divided into 1 million areas and each area is mapped to one of 65535 climate variants. This makes for a rich diversity at large scales, but at the human scale, extra detail needs to be added in algorithmically.
Fine details are provided by a set of normalised texture tiles whose properties are scaled in proportion to the climate data of the location. The three properties that are scaled and combined colour (left column), bumpiness (middle) and roughness (right). You can see that the middle horizontal row has a different colour, a less pronounced bump and roughness than the top row.
In order to preserve the detail of a surface over a large distance, variance maps are used to highlight areas that have large fluctuations of a particular property, for example, temperature and humidity.
Since the climate variations determine biomes and biomes determine colour, the variance maps capture regions where colour changes are possible. From a distance, the whole tile may be represented by a small number of pixels. The variance map can be used to ensure that the pixels retain the representation of the original detail by emphasising the variations. Without the variance maps, the pixels would be averaged into a uniform colour which doesn’t accurately represent either the variation colours or the base colour.
In this example screenshot, the variation of humidity of a region is captured as a tile, and the high humidity is being translated into a snow coloured landscape. For a long-distance view of this location, the increased intensity of the snow region can be factored into the overall appearance.
By using variance maps, accurately positioned surface details can be retained or implied at all scales right up to orbit. This removes the need to represent the area with extra textures purpose-built for that view. That means less work, less resource use and a simpler system to assemble and maintain.
Although the V3 climate tech has been superseded, the core surface sculpting techniques have been brought forward. The terrain map-generators have erosion, water flow and soil displacement in order to provide interesting, realistic data for the biome modelling algorithms to work with. However, the number of data files is now reduced to a more efficient working set:
- Height maps
- Normal maps (for surface orientation details)
The use of local climate models to generate appropriate biomes reduces the complexity and workload for planet surface generation.
The height maps have been standardised into 4 x 4 x 2 km tiles. The uniformity of the tiles provides consistency for the algorithms that generate the height maps and can be stitched together by software to cover a planet’s surface. The actual height variation can also be extended by laying the tiles on a very large and gently undulating surface to create a mountain rage for example.
V3 Terrain Sculpting
It’s not clear how much of the original terrain tech has been retained, so you should bear in mind that the following example is a demo of how the system worked under the V3 tech control. It will have been altered to some extent to fit in with the new requirements.
From Nothing to Something
The overall first pass of the terrain creation is brought into being with a Perlin noise generator. The initial height field is then combined with an octave noise at a lower amplitude is used to generate an undulating field with detailed surface structures.
An Erosion node smooths some of the surface detail leaving erosion effects.
The landscape is arbitrarily merged with a fairly flat surface that has minor height variation.
The blended landscape is given another set of noise, blend and erosion nodes.
The height is adjusted and eroded to give smoother shapes at the base of slopes.
At this point, Patrick likes the scree slopes that have appeared in the previous screenshot and decides to add nodes to create the effect on a larger scale.
Irregularities are added to the sand slopes by adding noise to the slopes and blurring the result down the slope.
An additional detail are heightmap bumps.
The final level of detail is added to the normal maps. The normal maps define the angle of a surface but this does not affect the physical surface, it only affects the visual surface via the lighting arrangement. In this way, detailed scattering of surface normals will make a surface look very grainy, but this will not be taken into account in physics calculations. As far as a player is concerned the ‘normals’ variations only exist visually.
The following images are the outputs from the V3 tech. They are still convincing, but they are created rather than derived and that made them labour intensive.
Star dudes, if you are pregnant with opinions and useful observations in the shape of corrections, suggestions, or enhancements, there’s no need to keep them to yourself, you can whisper them into my shell-like ear! let me know via the contacts page :o)