Current version: 0.4.1
Supported DFUnity version(s): 0.10.26 (older versions supporting 0.10.24 can be found under "Old Files")
Download and instructions: Nexus Mods page
A mod that aims to make the landscape of Daggerfall Unity more interesting by procedurally adding geological features such as mountains, cliffs and dunes to the existing terrain heightmaps at appropriate places in the world.
Currently, these landscape types are featured (though more may be added in the future):
- Swiss Mountains (alpine-style fold mountains, for the densest mountain areas)
- Jordan Mountains ("regular"-style mountains - varies between fold and fault types, and is repurposed for hills)
- IQ Mountains (sparsely placed fold mountains for non-mountainous areas - invented by math genius Inigo Quilez)
- Swiss Canyons (a modified variety of swiss mountains for canyons with steep cliffs)
- Bumpy Terrain (smooth bumps for non-mountainous areas)
- Rocky terrain (sharp bumps for mountainous areas)
Hills are mainly found in woodland hills areas, such as the Ilessan Hills and the area between the Wrothgarian Mountains and Wayrest, but can, like mountains, be found to a lesser degree in the rest of the world. Except in the desert; in the desert areas, hills are replaced by dunes.
At places, the original terrain is preserved and used as its own "flatlands" landscape type. Furthermore, the original terrain is preserved at oceans and beaches.
This mod also textures the terrain differently, in order to make cliffs and mountains have a rock texture and at the same time create more interesting grass-dirt variations than the vanilla game offers. There are no more random patches of rock on flat terrain, as they now have mountains and cliffs to serve their purpose on.
- Locations in mountainous areas look unnatural - this is due to a limitation in the former version of the DFUnity code.
- Locations close to the shore sometimes produces watery slopes with trees next to them - this is due to a limitation in DFUnity 0.10.24 and will be resolved for future versions (version 0.4.1 excluded, as it was a hotfix).
For a long time I've been interested in the relationship between procedural generation and nature. While real-life topology appear random and chaotic at a glance, it actually follows natural laws of self-similarity quite closely; if you zoom in on a coastline, for instance, you will find smaller versions of its shape repeating itself. This relationship exists everywhere in nature, from the shaping of continents and mountain ranges down to the segmentation of leafs and grass blades. Mathematical simulations of this phenomenon are referred to as "fractals", and are most famously illustrated in the Mandelbrot sequence.
For some time I've been experimenting with procedurally generating terrains in Unity using so-called fractional Brownian Motion, which is a fractaline noise generator algorithm that iteratively generates self-similar noise patterns while offering fine-grained control over the self-similarity aspect and, by using derivatives in the noise sampling process, makes it possible to simulate naturally occurring phenomena such as hydraulic erosion. The self-similarity and erosion makes all the difference between odd looking tall hills and something that the human eyes instantly recognize as mountains.
I've loved Daggerfall since the first time I played it, but always found the terrain to be highly uninteresting. Therefore I wanted to introduce this enhanced terrain generation algorithm to the game, but in a way that conforms to the original coastlines and various climate types in Daggerfall, to be both as compatible and lore-friendly as possible, while at the same time introducing enough different landscape types (and variations within each individual landscape type) to make the world look both natural and interestingly varied. Since the fBM algorithms are quite heavy, and several different fBM algorithms are used to compose the various landscape types, the GPU is used to perform the calculations; the GPU is an often under-utilized super computer that vastly outperforms the CPU when it comes to tasks like this.
- Tedious Travel (be cautious when travelling in mountainous areas, as you can still die from fall damage)
- Airships (requires manual intervention when flying across mountainous areas)
- Realtime Reflection (oddities do occur - will investigate)
- Realistic Grass
- Realistic Wagon
- New Cannon Locations
- Windmills of Daggerfall
- High Resolution Terrain Textures and Splat Terrain Texturing
- Distant Terrain (we're working on it)
- Mountains and Hills (when both are loaded, one will completely overtake the other depending on load order)
- New Locations/Location Loader, and mods depending on it (it currently doesn't support terrains with a max height that's different from vanilla terrains)
- Basic Roads (Interesting Terrains currently doesn't smooth the roads, but plans are on the drawing board)
I have attempted to test Daggerfall Skyshards and Warm Ashes v4 on 0.10.25a, but couldn't get either to work even with Interesting Terrains disabled. If anyone has those two mods successfully enabled, I'd be very interested to know if they're compatible with Interesting Terrains.
This mod utilizes a custom Terrain Sampler, which dispatches the job to a compute shader on the main thread, rather than running an async CPU job.
The tilemap generation happens as a post-processing job. In future versions of the mod, custom Terrain Texturers will be supported, and the tilemap generation will move there instead.
- Fix: Removed bug that caused faulty terrain generation when using localization that doesn't use "." as decimal separator
- Major overhaul: Interesting Terrains is now implemented as a custom Terrain Sampler, making it an organic part of the game's terrain generation flow, rather than a post-processing job. This provides better compatibility with the game itself, and better compatibility with other mods in general.
- Addition: Two new mountain types added, and hills are now a modified (smoothed) version of one of them.
- Tweak: The landscape generator now properly follows the natural laws of mountain formation.
- Fix: Removed Tedious Travel compatibility workarounds, as they caused issues. Fast travelling through mountains is now at your own risk!
A couple of console commands has been added, primarily for my own development-related benefits, but I've left them in the release version because why not. I'm planning a future "Extended Developer Console" mod in which these commands (among others) will be added instead, but for now they live in Interesting Terrains. Don't save the game after using any of these, as I cannot guarantee what would happen in the long run.
- clearnoon: Forwards the time to midday, sets the weather to sunny and kills all enemies.
- tui: Toggles the in-game HUD and UI on and off, for screenshot purposes. When the UI is disabled, all menus and message boxes will malfunction until it's re-enabled.
- tss: Toggles screenshot mode. Disabled by default. When enabled, pressing the "PrintScreen" key will save a screenshot in .png format to <MyPictures>/DaggerfallUnity.
- speedy: Toggles "speedy" mode. When enabled, move speed and jump speed are greatly increased, and God Mode is enabled. Takes a number as an optional parameter, which multiplies the move speed increase for even faster (or slower) speeds.