Skip to content

[Project] Procedural Terrain Generator & Landscape Sandbox #471

@MistryVishwa

Description

@MistryVishwa

Project name

Procedural Terrain Generator & Landscape Sandbox

One-line description

[Project] Procedural Terrain Generator & Landscape Sandbox

One-line description

🚀 An interactive terrain elevation map generator using procedural Perlin noise algorithms, water flow channels, erosion physics, and isometric rendering canvas.

📝 Description

An educational computer graphics sandbox where users can generate custom heightmaps using mathematical noise (Perlin/Simplex noise) and multi-octave Fractal Brownian Motion (fBm). The simulator visualizes landmass generation, hydraulic erosion (water drops washing away soil down slopes), and renders the results in interactive 2D height grids, colorized biomes, and a pseudo-3D isometric projection grid with adjustable daylight shadow casting.

🌟 Key Features

  1. Noise Engine: Adjust frequency, amplitude, octaves, persistence, and lacunarity parameters in real-time.
  2. Biome Painter: Custom gradient systems to translate heights into dynamic biomes (Deep Water, Sand, Grass, Forest, Rock, Snow).
  3. Erosion Simulator: Real-time simulation of hydraulic and thermal erosion wearing down peaks and forming natural river basins.
  4. Isometric Viewport: Render the 2D grid as a rotatable 3D-like block landscape with adjustable sunlight angles casting dynamic shadows.

🛠️ Tasks Breakdown

🟢 Beginner

  • Build the glassmorphic settings dashboard containing range sliders for noise parameters (Octaves, Persistence) and color biome presets.
  • Setup a canvas viewport showing a basic 2D greyscale noise grid using a simple value noise or basic math function.

🟡 Intermediate

  • Program a true 2D Perlin or Simplex noise algorithm to generate natural-looking hills, lakes, and islands.
  • Implement biome mapping based on height thresholds and render a colored landmass representation.
  • Render the heightmap in an isometric coordinate grid ($x_{iso} = x - y$, $y_{iso} = (x + y)/2 - height$), letting users rotate the perspective.

🔴 Advanced

  • Write a hydraulic erosion model: spawn virtual rain droplets that move along steepest slope gradients, dissolve soil (subtract height), and deposit it at lower altitudes (add height).
  • Implement dynamic directional lighting: calculate cell normal vectors relative to a moveable sun light source to compute real-time shadows.

📋 Expected Outcome

A visually stunning landscape simulation showing natural terrain generation, riverbeds forming via erosion dynamics, and rotating isometric 3D-like visuals.

Tags

enhancement, graphics, math, simulation, canvas

Your GitHub username

MistryVishwa

Tags

enhancement, graphics, math, simulation, canvas

Pre-flight checks

  • I read CONTRIBUTING.md
  • My folder is named in Title Case with spaces
  • My folder contains README.md, project.json and index.html
  • My project opens by double-clicking index.html
  • My project has no console errors and no tracking scripts

Metadata

Metadata

Assignees

Labels

NSoC'26Issue eligible for NSoC '26.good first issueGood for newcomers

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions