Using Perlin Noise to Generate 2D Terrain and Water
gpfault.net