Yeah, from reading the New Yorker article I gathered that the planetary surface generator is mostly a collection of hacks rather than an attempt to simulate the processes involved and "grow" a planet the way, I gather, Dwarf Fortress does. He seemed to imply that everything has to work locally like he only generates at fine detail the parts of the planet that the user sees so anything that naturally wants to be global necessarily has to be a kludge. The New Yorker article, i think, discussed rivers not being done the right way.
This has been one of the biggest roadblocks for my own large-scale procedural generation. The easiest types of procgen to stream are those that are represented by localized mathematical functions: Perlin noise and other similar constructs. No large chunks of content to store and transmit; just the elegance of a function. You can pass an entire world encapsulated by a simple seed, and any given chunk of the world can be generated in isolation, without requiring any knowledge of neighboring areas.
Unfortunately, such methods don't square very well with physical realism. Natural features such as rivers are direct results of processes requiring in-depth knowledge of neighboring areas. A river flows from somewhere, to somewhere, and how it flows is a function of how one given physical location corresponds with another. It's not a problem that can be easily solved through a pure mathematical function alone, but typically requires large-scale iteration over entire chunks of terrain. This complicates the process of generation chunks in isolation, because each chunk is dependent upon neighboring chunks, which in turn are depended upon their own neighboring chunks, ad infinitum.
The best you can do is try to find creative mathematical constructs whose knowledge of the neighboring areas is implicit within the structure of the function. Much like
Iñigo Quílez's work with derivative noise, where the derivative of a particular function layer is used to inform successive function layers, thus incorporating a derivative's "knowledge" of the surrounding area into the process. I remember
Dmytry posting a
tantalizing thread regarding modeling erosion fractally, then disappearing for a decade or so without (afaik) providing any kind of how-to. His
page has some tasty images,t hough, and maybe now that I'm thinking about it again I should dig around his stuff some more.
I just wonder how old it will feel once you have seen all the templates. In the New Yorker article though he seemed to indicate that the fun was in the exploring. Like at one point he takes the contoller off the writer of the article because he wanted to check out some caves commenting "I haven't seen caves like that before" but I don't see how it can be interesting to him honestly. I mean isnt there a fixed set of things that can be in the cave or nothing is in the cave but in either case wont one cave be the same as another?
I'm still intrigued though. I mean I am excited about this game.
I've worked quite a bit with various procedural generation schemes, and I am still occasionally surprised by "happy accidents" generating some particular formation or layout I hadn't anticipated. Much like I am still sometimes surprised and amazed at some of the formations constructed from the Mandelbrot set, even though I've written numerous Mandelbrot set visualizations before and understand the nature of the process. Still, eventually you do have a deep enough understanding of your own algorithms that such surprises become somewhat less frequent. And for every "wow, haven't seen anything like that before" moment, you have thousands of "yawn" moments as the generator builds pretty much exactly what you expect it to construct.