Witchcraft
MMORPG

World Systems


I'll introduce and explain some systems in this post. Most are basically part of Tesseract or Nitro as generic systems.

Fences, Walls, Bridges

Based on spline nodes, i've made dedicated system for these structures as they not only have further logic/usage behind with the splines, but especially for a fast LOD. Essentially they consist of various parts automatically selected, such as a middle piece and corner where all splines come together. The impostor system is used to create a flat impostor of the tiling parts that are relevant to visibility, so in distance instead the original asset pieces the flat impostor with albedo and geometry maps are rendered, on quads, these further more decrease till there is a single quad used between 2 nodes. This allows large networks of these structures also in super large distances.
   

Paths & Roads



The same spline node system, which is also used for house floor plans by the way, is also used for paths and road networks. It allows realtime LOD adapation at no creation costs, as the tiles are again instanced at the number of segments needed. Roads can have unlimited crossings and can be straight or curved.

Technically they were and are one of the most complex, especially to show a "ghost preview" when building. They mainly have a mid, crossing and intersection part as well as corner patches which are selected automatically. Currently with the realtime transformation on GPU the UVs could be done better at harsh curves. However i'm more than satisfied with the solution for this system, the only downside but requirement for this technique was to make a second draw call of the terrain with backface depth, in order so the paths are decals don't z-fight or intersect with the terrain geometry. I can use this also for decorative assets of the content decorator, basically plane patches on the ground for sticks, stones, flowers etc.

Weather & Atmosphere



The world has realtime weather with all kind of weather situations developing, from sunny to dark cloudy, rainy, stormy, wind and snow. This is influences heavily by the global biome and seasons. Currently i made the cloud system layered and semi-volumetric which looks already good enough, however i also worked a lot on full volumetric clouds for when approaching their height - which is quite a heavy task to optimize and integrate for a platform not ideally for.

The atmosphere is rendered physically abstracted yet basically correct, the component provides a cubemap used for global lighting. The way the ray is altered also allowed some more effects like biasing the sky, fog and height based fog so mountain tips will still stick out.

Biomes

Figuring out the best working system for biomes was a bite tricky but with the additional complexity of the material system allowing a technically unlimited amount of materials at a single render call this became hard to figure out. Biome is now a part of the composition pipeline a global probe is used for, so biomes, materials are fully automatically for all probes, but can be altered by them with parameters.


(cold and little moisty region with snow)



The content generator (i will show and explain later) of course uses the biome probe too to automatically select assets matching the environment and conditions.

Terraforming & Probes


If you wonder how a realscale world is procedurally designed you can take a look at Tesseract. Essentially probes placed in the world are composited together to generate the world terrain data, the probes have different kind of sources, which can be canyon surface structures, mountains etc while probes then have parameters from these meters up to hundred thousands to millions of square kilometers can be modified in realtime.

Essentially world leaders responsible for building it in the first place (this part can be procedural supported as well), will use the tools and work with them, but i intend to enable this to area/land owners as well to some degree. Also possibly for a town for instance, so for an extra price a local probe can be used to flatten and even out the place at rough places or in mountains similar as below.


(several kilometer radius probe to flatten and level the ground)
 
Author: Fyrestar
Comments

Copyright © 2024 Mevedia. All rights reserved.