The author has a lot of interesting projects on his page: https://lingdong.works/ though I haven't checked all of them out (I have no desire to watch anyone's face decay).
As a geologist, I happen to think that all landscapes are procedurally generated, though it is in general a slower generation process than the computer simulations. Nonetheless I remain fascinated by both the Earth and computational representations of it, and I really enjoy looking at simulations and art depicting landscapes, envisioning what tectonic and erosional processes could have produced the scene.
Thank you for posting this. I might not have discovered his other works page without your comment.
One odd thing happened as I was trying to see the software in action. When I clicked on the link to show the software in action https://lingdong-.github.io/shan-shui-inf/ I got a security warning from Firefox. The alternative link https://shan-shui-inf.glitch.me/ did not produce an error. I don't know why.
It has something to do with Cloudflare, DNS, and/or Github.io links specifically, if I remember correctly. I read about it around a week or so ago on HN IIRC. May also involve Google Domains; likely some kind of edge-case bug combined with Google blocking some domains, and Cloudflare not allowing certain DNS settings for some domains or plans, if I'm reading between the lines correctly. Welcome any and all corrections to this info.
Web sites prove their identity via certificates. Firefox does not trust this site because it
uses a certificate that is not valid for lingdong-.github.io. The certificate is only valid for
the following names: www.github.com, *.github.com, github.com, *.github.io, github.io,
*.githubusercontent.com, githubusercontent.com
Error code: SSL_ERROR_BAD_CERT_DOMAIN
So it seems it thinks that *.github.io does not match lingdong-.github.io. Perhaps due to the trailing hyphen?
Really awesome! Author has a sense of humor - saw a "Pizza Hut" buried deep in the mountains, see it in the code also. Wish there was some comments in the code.
yhea i was also interested to sea how he did the outlining effect. I made something tile this once in OpenGL. But that took a lot of code to create. So yhea magic code with many magic numbers.
I've been trying to understand how it works, it looks like a lot of the math deals more with rotation and scaling. It appears there is a function for every object variation, and it looks like each one sets its own color, so I think you could change the colors of individual objects to see what they actually render. The object placement is too perfect, I'm betting the individual objects have a number of predefined places where other object would naturally be in relation, and then the the presence or variation of the object is randomized - and all the more impressive if something that simple yields such great results. I could just watch this scroll by for hours - nice alternative to watching fish tank videos while coding.
Does not seem too perfect to me. I frequently came across the tiny trees placed in the water near the shore and also on the rock formations, something I have yet to have seen in the real world.
It’s actually very common - trees will take root in the slightest crack or depression, can even cause large boulders to split over over time. Load up duck duck go and do an image search for “trees in rocks” and there are plenty of examples.
That's a curious thought. I would actually go the other way. Imagine if some AI art systems were truly better than others, and became exclusive? How fun!
Take heart, nthnclrk. That side of the Web is not dead.
There are loads of people out there running wacky personal websites on every subject you can imagine. Mine[1], for instance, holds poetry, Chinese translations, a videogame, and an open call for Star Wars fan art.
If you want the real motherlode, go read Kicks Condor's "Href Hunt." [2] That drongo collects and catalogs people's personal websites, so you've got a whole evening of digital feasting ahead of you.
Great project, especially the svg aspect! On a fairly wide aside, it also gave me major nostalgia hit for Tiki Tiki Tembo, a book I haven't thought about since it was read to me as a very young kid .. also apparently a great example of cultural appropriation and reinforced negative stereotypes in print (though I'd argue it also engendered a deep awe for Chinese culture in a lot of kids, myself included).
This would be pretty sweet if it could encode a few "hidden" objects, like a "Where's Waldo" type of image, but maybe with "Where's Xi" or "Where's the Emperor". Then one could generate a large set of new content which would also be fun to comb through as a game.
Are those actually high tension power lines in the generated landscapes or are those supposed to represent a pagoda... ( Not sure if always appears but it's there in the one I generated...)
Not sure, but the intuitive way to do this would be tiling, BUT since the generation is SVG, it would need overlapping tiles that are then rasterized and cropped to hide the line endings.
> It is strange that all the code is in index.html. I was expecting something like mountains.js, trees.js ...
Why? It's about 4000 lines of JavaScript, which is manageable usable in any editor, and it makes it completely self contained. What would be gained by splitting it up into multiple files?
Readability, separation of concerns, extensibility, easier merging of pull requests, improved testability, modularity, and less mixing of html and Javascript in a single file.
All of these are often of little concern to artists, who prefer to get in the flow of actually getting stuff done. Organizing your project is fun and all, but there's A TON value in eliminating context switches and shortening your iteration loop. Source: I participate in game jams.
Obviously, it would be nice to follow this up with refactoring, but you could also spend this time on another project, of which the author has many (and likely thanks to this "fire and forget" attitude).
I'm sorry, but it's not obvious to me how splitting the code into more files gives you any of these things except less mixing of HTML and JavaScript (which doesn't seem like a problem unless you have tools that won't handle it). Aren't these aspects of the code itself?
As a geologist, I happen to think that all landscapes are procedurally generated, though it is in general a slower generation process than the computer simulations. Nonetheless I remain fascinated by both the Earth and computational representations of it, and I really enjoy looking at simulations and art depicting landscapes, envisioning what tectonic and erosional processes could have produced the scene.