Back to NxLabs

NxLabs / Vintage Story

VS Terrain Diffusion

TBy Techmo

Generate terrain and climates with a model trained on real Earth topography

VS Terrain Diffusion

Description

<span style="color: #e03e2d;">This mod is in early development, and is provided here for the community to play around with and explore. World breaking changes should be expected. Only use this mod with a new world.</span>

&nbsp;

I also recommend checking out this implementation of Terrain Diffusion by Alyis: Terra Loom

&nbsp;

Description

Generates Vintage Story worlds with Terrain Diffusion;
a neural heightmap model trained on real Earth topography.

&nbsp;

Recent Updates

  • Many optimizations and support for OpenVINO thanks to Paul T. (v 0.8.1)
  • Fixed translocators so they find a destination in a reasonable amount of time. (v 0.9.1)
  • Added native, subway tunnel free, support for rivers via model conditioning. (v 0.9.1)
  • Changed model inferrence to be preemptable, so moving fast or teleporting will start generating terrain near the player fairly quickly. (v 0.9.1)
  • Descreased the default value for RiverBasinDepth to 0.3 to prevent river basins from flattening terrain too much. (v 0.9.2)
  • Improved reliability of hardware capability detection &amp; inference backend selection (v 0.9.3)
  • Windows will now (hopefully) work with TensorRT-RTX without crashing (v 0.9.3)
  • Incompatible configurations can no longer be selected in the configlib menu (v 0.9.3)
  • Fixed terrain flattening near sea level. (v 0.10.0)

&nbsp;

Known Issues

  • The very large biomes can make gameplay difficult, some easy tuning knobs are needed here.
  • This mod is completely untested on macOS (I dont have a system to do so), and coreml support only works in theory.
  • <span style="text-decoration: line-through;">The int8 decoder model is being auto selected on windows if a gpu inferrence device is not detected. The Int8 decoder should require explicit selection. (High priority)</span>
  • <span style="text-decoration: line-through;">River conditioning is too strong in areas with low terrain, causing wide swaths of perfectly flat terrain.</span>

&nbsp;

Requirements

  • ~2.3 GB of disk for the model files, downloaded once on first launch
  • ~3 GB of extra VRAM while the models are resident

&nbsp;

<table style="border-collapse: collapse; width: 100%; height: 80.8px;" border="1"> <tbody> <tr style="height: 20.2px;"> <td style="width: 33.3052%; height: 20.2px;">Platform</td> <td style="width: 33.3052%; height: 20.2px;">Device used automatically</td> <td style="width: 33.3052%; height: 20.2px;">

Notes

</td> </tr> <tr style="height: 20.2px;"> <td style="width: 33.3052%; height: 20.2px;">Linux</td> <td style="width: 33.3052%; height: 20.2px;">CUDA</td> <td style="width: 33.3052%; height: 20.2px;">Needs CUDA runtime 12 or 13 and cuDNN9</td> </tr> <tr style="height: 20.2px;"> <td style="width: 33.3052%; height: 20.2px;">Windows</td> <td style="width: 33.3052%; height: 20.2px;">DirectML</td> <td style="width: 33.3052%; height: 20.2px;">Any modern GPU; no extra install</td> </tr> <tr style="height: 20.2px;"> <td style="width: 33.3052%; height: 20.2px;">macOS</td> <td style="width: 33.3052%; height: 20.2px;">CoreML</td> <td style="width: 33.3052%; height: 20.2px;">No extra install</td> </tr> <tr> <td style="width: 33.3052%;">Anything else</td> <td style="width: 33.3052%;">CPU</td> <td style="width: 33.3052%;">Works, but slow</td> </tr> </tbody> </table>

&nbsp;

The matching ONNX Runtime native library is downloaded on first use (a few MB for CPU/DirectML,
~300 MB for CUDA). Nothing has to be installed by hand.

&nbsp;

If you have an NVIDIA 3000 series or newer, you can try out TensorRT-RTX (Tested with Linux and Win11, Win10 may have issues atm.). It will speed things up significantly.

To enable it, set InferenceDevice to tensorrt-rtx in vsterraindiffusion.json.

&nbsp;

Recommended Mods

&nbsp;

Recommended World Settings

<table style="border-collapse: collapse; width: 100%; height: 84.8px;" border="1"> <tbody> <tr style="height: 24.2px;"> <td style="width: 49.9578%; height: 24.2px;">Landcover</td> <td style="width: 49.9578%; height: 24.2px;">40% to 60%</td> </tr> <tr style="height: 20.2px;"> <td style="width: 49.9578%; height: 20.2px;">Landcover scale</td> <td style="width: 49.9578%; height: 20.2px;">300%</td> </tr> <tr style="height: 20.2px;"> <td style="width: 49.9578%; height: 20.2px;">World Height</td> <td style="width: 49.9578%; height: 20.2px;">512 (Generally the higher, the better. You can try 768 and 1024 as well. Climates and terrain may be a bit odd atm.)</td> </tr> <tr style="height: 20.2px;"> <td style="width: 49.9578%; height: 20.2px;">Color Accurate Map</td> <td style="width: 49.9578%; height: 20.2px;">Enabled</td> </tr> </tbody> </table>

&nbsp;

Read the full description on Vintage Story ModDB →

Ratings & reviews

No ratings yet

Sign in to leave a rating or comment.