public static TerrainChunk MakeShaftChunk(int diameter, float depth) { TerrainChunk output = new TerrainChunk(diameter, diameter); int center_x = diameter / 2; int center_y = diameter / 2; output.Map((x, y) => { int dx = (center_x - x); int dy = (center_y - y); float distance = Mathf.Sqrt(dx * dx + dy * dy); distance = 1 - (distance / (diameter / 2)); return 1 - (Mathf.Clamp(distance, 0, 1) * depth); }); return output; }