
Simulating Hydraulic Erosion - schnautzi
https://jobtalle.com/simulating_hydraulic_erosion.html
======
DonHopkins
Chaim Gingold (one of the developers of Spore) made "Earth: A Primer", a cool
interactive educational simulation science book. It's a live earth simulation
sandbox that teaches about plate tectonics, volcanos, erosion, hydrology,
water cycles, climatology, rain shadows, and other cool stuff, and was
inspired by Neil Stephenson's young lady's illustrated primer, but on a
somewhat different physical scale:

Earth Primer

[https://www.earthprimer.com/](https://www.earthprimer.com/)

Experimental Gameplay Workshop 2015: Earth Primer

[https://www.youtube.com/watch?v=qtsf3nRFfwk](https://www.youtube.com/watch?v=qtsf3nRFfwk)

>As part of the Experimental Gameplay Workshop for GDC 2015, Chaim Gingold
presents Earth Primer, an app that's a 'science book for playful people.' As
the description of the experience from the ex-Spore programmer explains:
"Visit volcanoes, glaciers, sand dunes. Play with them, look inside, and see
how they work. The forces of nature are at your fingertips."

The 'Sandbox' on the Earth Primer app fosters creativity.

[https://www.youtube.com/watch?v=g8lqOj_JMU4](https://www.youtube.com/watch?v=g8lqOj_JMU4)

>I took this video of myself fiddling with the differing features of the
'Sandbox' on the Earth Primer app. 'Sandbox' ultimately fosters creativity in
students as they create their own, completely unique, landscapes using the
technical capabilities that they have developed throughout the initial stages
of the app.

~~~
schnautzi
That looks so interesting, thanks for sharing!

~~~
DonHopkins
Chaim's amazing, and Earth Primer is one of his finest pieces of work,
inspired by other simulation games like SimCity, SimEarth, and Spore. Check
out his Experimental Gameplay Workshop talk and demo -- he shows it in action
and tells about how Earth Primer is an example of a genre of educational
simulation software that combine telling, showing, and doing. He's currently
finishing up a book about the history of SimCity and computer simulations.

[https://www.linkedin.com/in/chaim-gingold-
aa98bb3/](https://www.linkedin.com/in/chaim-gingold-aa98bb3/)

Chaim Gingold

Projects and clients include Spore, EA/Maxis, Earth: A Primer, Valve, UCSF
Medical School, and Linden Lab. My expertise and interests include authoring
tools, tangible computing, prototyping, simulation, and play. Design lead for
Spore Creature Creator. Freelancing and open to the right longer term fit.

Currently focused on finishing a book for MIT Press on the history of SimCity
and computer simulation. I'm doing a little bit of consulting, and will have
more bandwidth beginning around mid-2020, when the manuscript should be
complete.

------
strictfp
Coll simulation! I'm looking for any pointers to noise or other generative
methods which looks like eroded terrain from the get-go, without the cost of
simulating the erosion process. Any tips appreciated.

~~~
schnautzi
There are tricks to do it, I described some at the end of this blog post:
[https://jobtalle.com/layered_voxel_rendering.html](https://jobtalle.com/layered_voxel_rendering.html)

\- If you raise all height values to a power, you get creases in the terrain
that are generated by erosion in real life.

\- If you raise all terrain values under a height just above sea level to a
power, then you get beach like erosion, so flat areas will form along the
shore.

------
jefflinwood
This is topical - I'm currently working on an uplift/erosion simulation with
Unity/C#. I'll be curious to try this algorithm out. I'm using the Microsplat
asset to set the terrain splats based on steepness and altitude.

I'm currently using diamond-square to generate the mountains, and it looks
good, but my erosion algorithms tended to look off.

There's a fascinating world of compute shaders with Unity that would push this
onto the GPU, but I don't know if I'll get that far with this project.

Thanks for sharing!

~~~
schnautzi
This specific implementation won't easily work on the GPU, it's mostly the
grid based ones that are easy to parallelize. You could even stick to common
fragment shaders if you wanted to port that to the GPU.

Diamond square should be good enough for initial terrain, but I'd keep it
smooth; let the erosion take care of the details.

------
throwaway_pdp09
If the author's reading, I seem to remember a scientific american article on
erosion, though I don't know what kind of erosion (presumably water) or when
it was published. FYI.

