A downloadable game for Windows and Linux

Real-time uplift, erosion and climate simulation on a 2048x2048km map at a 1km resolution. Amplified by a factor of up to 512 times to generate interpolated terrain and foliage. You can zoom in all the way. All the way. The map size and render detail have been chosen to make the hardware requirements more accessible.

For the terrain generation, the CPU calculates the starting elevation and uplift of the map. After that, a simulation of stream power erosion and a simplified climate model are run in compute shaders. The timestep for the simulation is adjusted dynamically to improve convergence.

The simulation produces elevation and climate data on a 1km x 1km grid. This grid is jittered to reduce directional artifacts, and constrained delaunay triangulated to ensure the heightmap's triangles are aligned with rivers to prevent visual artifacts.

The vertices are then interpolated according to a set of formulae that depend on various parameters, some of them derived from the terrain data, some of them defined by the user. This produces an amplified terrain at a higher level of detail. The terrain goes through 9 recursive amplification phases, each of them covering an area with half the dimensions at twice the resolution. The amplifications are calculated for a 768x768 slice of the map centered at the camera's focus. Depending on the camera distance, the most appropriate amplification level is selected for display.

Rivers are rendered with a width dependent on their annual flow. The availability of water from rivers and precipitation permit vegetation to grow. Evaporation from bodies of water and evapotranspiration from vegetation return moisture to the atmosphere. Precipitation depends on orography and convective heating from sunlight, in addition to atmospheric moisture. Winds from large bodies of water also reduce seasonal temperature shifts. Temperatures and precipitation amounts are tallied seasonally, and used as inputs to the Pasta Bioclimate System to determine the biome classification which is used for colouring the map.

To simplify the climate simulation, the planet has a very slow rotation and a drip-and-plume tectonic regime.

Real-time hyper-amplification of planets

Large-scale terrain authoring through interactive erosion simulation

Download

Download
witchysim.exe 54 MB
Download
witchysim 53 MB
Download
witchysim-nixos 53 MB

Install instructions

On linux some of the following dependencies may be required (packages named as they would be in nix-shell, names in other distros should be similar):

  • udev
  • vulkan-loader
  • vulkan-validation-layers
  • xorg.libX11
  • xorg.libXcursor
  • xorg.libXi
  • xorg.libXrandr
  • libxkbcommon
  • wayland

Leave a comment

Log in with itch.io to leave a comment.