Procedural Perlin-based maps with leaflet and web workers

Procedural creation is not necessarily linear. Or it is, but quite often one can run processes in parallel for making it faster. I recently learned some javascript in my everyday-job and I wanted to exploit web workers for creating procedural worlds. In addition, I also learn a bit about leaflet and I am just curious about how far we can go with that library for exploring fantasy worlds.

Thus, after a shy try with leaflet, I got inspired by the nice application of leaflet-fractal so I decided to use the same powerful combination of leaflet-workers-canvas to explore Perlin-based maps. I also wanted to play with isometric perspective so I tried if it was possible and indeed, anything is possible.

Pure Perlin

The first version is purely noise-based. Every pixel can be computed independently. To simulate linear mountain range I could not use pure tectonics (I am trying to keep pixels independent) so I am taking the absolute value of two noises at quite different octaves, turn it upside down, and raising to some high power as 4. I add later some continents as saturated Gaussians and then add the background noise at different octaves. There is a lot of cousine in creating the perfect combination of noises, if such a thing exists. This is the part that requires art.

This is the result (refresh or use the button for a new map):