Hydraulic Erosion Simulator by ElumenixView all by ElumenixElumenix<br>Follow ElumenixFollowFollowing ElumenixFollowing<br>Add To CollectionCollection<br>Comments<br>Related gamesRelated<br>Hydraulic Erosion Simulator
"> Run game
Support This Game<br>Note: This simulator uses Unity’s Experimental WebGPU graphics API, which is not compatible with Firefox. Use Chrome/Edge.
Note 2: If you are a laptop user or are experiencing noticeably poor performance, it's likely your browser decided to run this with your computers integrated GPU. Quick instructions to fix this can be found below.
Fixing Performance Issues:<br>Note: Mainly affects laptops - restart browser after changes<br>You may want to revert these after done with this application, otherwise web browsing will require more laptop battery
Windows:
Right-click desktop → Display settings
Click Graphics → Browse for your browser:
Chrome: C:\Program Files\Google\Chrome\Application\chrome.exe
Edge: C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
Set to High Performance → Save
You may need to relaunch the browser for this to take effect
Mac:
System Settings → Battery
Select your device on left → Disable "Automatic Graphics Switching"
Browser Flags (Chrome/Edge only):
Paste into address bar → Enable these flags:
chrome://flags/#ignore-gpu-blocklist
chrome://flags/#force-high-performance-gpu
edge://flags/#ignore-gpu-blocklist
edge://flags/#force-high-performance-gpu
Relaunch browser when prompted
Troubleshooting Tips:
Ensure laptop is plugged in (power saving blocks dedicated GPU)
Update graphics drivers
Check WebGPU is enabled: chrome://flags/#enable-webgpu / edge://flags/#enable-webgpu
Confirm your computer has a dedicated GPU. You may only have one:
Open System Monitor:
Windows: Press Ctrl+Shift+Esc → "Performance" tab
Mac: Open Applications → Utilities → Activity Monitor
Check GPU Section:
Windows: Look at bottom-left under "GPU" - if multiple GPUs appear
Mac: Click "Window" → "GPU History" → See if two graphs appear
Identify GPUs:
If you see two GPUs : Dedicated GPU present (usually labeled)
If only one GPU : Integrated graphics only
Dedicated GPU names: NVIDIA, RTX, GTX, AMD Radeon, RX
Integrated names: Intel HD/UHD, Iris Xe, Apple M1/M2 Graphics
This is a procedural terrain generation and hydraulic erosion simulation built in unity, with many options to customize the look of the terrain. The idea for this project was inspired by Sebastian Lague's coding adventure series.
The option to turn off erosion is available in case you only want to test out the terrain generation parameters. Resolution and the Erosion Simulation Data values will have the highest impact on performance. Extreme erosion values may lead to unusual terrain, adjust the values to a better range or increase resolution for more stability.
Controls: Drag left and right with the mouse to turn the mesh
Click on the drop-downs to see what each option does:
Terrain
Resolution: How many faces will be used for the mesh. Detail will increase as resolution does. Higher values may cause the program to slow down. Low values will also cause less accuracy in erosion.
Height Factor: Affects how tall the initial generated terrain will be. Due to this changing the angle of the initial generated terrain, this will also have some impact on erosion.
Noise Type: Determines what noise function will be used to generate the terrain. The options are Perlin, Simplex, and Worley Noise; each of which generate their own unique looking terrain.
Noise Zoom: How scaled the noise used to generate the mesh will be. Mimics zooming in on terrain. Higher noise zoom values will cause artifacts in the terrain that can be mitigated by an increase in smoothing passes. Domain warping can also help with artifacts, but to a lesser extent.
Octaves: How many layers of noise will be used to generate the mesh.
Persistence: Controls how much influence each successive octave has on terrain generation.
Lacunarity: Defines the frequency of scaling between octaves. Higher values will lead to a more chaotic mesh.
Warp Strength: Affects how much the noise pattern is displaced or deformed.
Warp Frequency: Determines the scale of warping effects. Lower values lead to smoother warps while higher values lead to more intricate ones.
Seed: Used to control randomness. Using the same seed will lead to similar results. For the purposes of this simulation, terrain generation is deterministic, while erosion is random but still constrained by the seed.
Offset: Scrolls across the noise function.
Smoothing Passes: How may times the mesh will be smoothed slightly. This is done to prevent noticeable artifacts, which naturally come from noise functions.
Erosion
Enable Erosion: Lets the user toggle erosion on and off. Turning erosion off can help to view what the initial terrain looks like before erosion is applied, making it helpful for tuning terrain parameters.
Number of Raindrops: The number of raindrops that will...