Valheim
Install with App

Details

Latest version
0.0.1
Last Updated
First Uploaded
Downloads
105
Likes
0
Size
195KB
Dependants
ADDatHost Valheim hosting
30% off

ProceduralTerrain

Work in progress — 0.0.1 preview. Ships novel default terrain for the first four biomes only; the rest stay near-vanilla for now. Expect breaking config and bake-format changes between versions (retune and rebake). Feedback welcome.

Procedural terrain system for Valheim built on top of Voxheim. Carves caves, overhangs, arches, and raised stone formations into the voxel world using configurable noise-based profiles per biome.

Features

  • Hot-reload config — edit and save the config files while in-game; terrain remeshes live without restarting
  • Per-biome noise profiles — combine named terrain modes into profiles and map each biome to one; biome boundaries blend smoothly
  • Cave content — ore, scenery, and creature spawners placed inside carved caverns (on top of vanilla), configurable per prefab and biome
  • Locations preserved — world locations (dungeons, bosses, villages, etc.) sit at their exact vanilla positions, and the terrain around them is protected during generation so they stay accessible
  • SDF bake system — pre-compute terrain for a radius and save to disk, so baked areas load cheaply instead of carving live
  • Multiplayer bake distribution — clients auto-download a server's bake on join; playable (with stutter) while the bake generates and downloads, hitch-free once it's in place

How it works

Two steps:

  1. Configure the terrain (optional). The world's shape comes from biomes.cfg — noise modes combined into per-biome profiles. Tuning it well is the deep end and takes effort. If you just want to play, skip this — the mod writes tuned defaults on first launch (novel terrain for the first four biomes).
  2. Bake it for a playthrough. Once you've settled on a config, bake the terrain to disk. Generating it at full quality live is expensive, so the bake pre-computes it once and serves it back cheaply.

Why bake, and how it's keyed

A bake is tied to (world seed + config) — the same seed string and the same cfg always produce the same terrain, so a bake made for them is valid on any world that matches. Change either and it no longer matches, and you'll rebake.

Dedicated servers

Bake on the server once (pt_bake, admin-only). It runs in the background. When a client connects, if it doesn't already have the matching bake it downloads it from the server on join (with a progress bar); clients that already have an identical copy skip the download.

During baking and downloading the world is fully playable — terrain carves live as a fallback — but it will stutter until the bake is in place. Once it is, zone loading is cheap.


Requirements


Configuration

Config lives in BepInEx/config/ProceduralTerrain/ as two files, both fully commented and both hot-reloading on save. The mod writes them with tuned defaults on first launch; edits are never overwritten on update.

biomes.cfg — the terrain shape:

  • [Bake] — bake resolution, format, and compression
  • [Debug] — global terrain toggles, blend radius, live carve resolution, and the optional forced seed
  • [Profile:name] / [BiomeName] — named noise profiles and the biome→profile assignments
  • [Mode:name] / [Pipeline] — the terrain primitives and the order they run in

placements.cfg — what gets placed in the world:

  • [Vegetation] — whether trees/bushes place at all, and how they conform to carved ground
  • [CaveContent] — master toggle plus the shared ore/spawner pool densities and per-zone caps
  • [Placement:name] — one rule per thing spawned in caves (ore, scenery, or creature spawner): its prefab/chassis, biome, weight, and depth/placement options

Baking

Bake the terrain to disk once your config is set. Commands:

pt_bake [radius_in_meters]   — bake terrain on the current machine (admin only on servers)
pt_clearbake                 — delete the local bake file
pt_clearbake server          — delete the bake file on the server (admin only)

Source

https://github.com/ctogle/ValheimProceduralTerrain

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.