Mountains, Cliffs, and Caves: A Guide to Using Perlin Noise for Procedural Gen | Hacker News Reader