2011-m2s3-city-builder/terrain.md

1.6 KiB
Raw Blame History

Liens

  • Différents algos : Ridged Perlin Noise, Hills Algorithm, Craters, Erosion.
  • Plein d'algos dont plusieurs basés sur une sorte de voronoi donc à priori trop lents.
  • Affichage avec Ogre : forum, doc

Perlin noise

Ridged Perlin Noise

Démo de Ridged Perlin Noise

// Fait des crêtes de montagnes ou vallées.
abs(perlinNoise());

Hills Algorithm

Inverse de craters : on ajoute plein de cercles :

repeat 1000 times :
    r=random();
cx=random();
cy=random();
terrain[x][y] += r**2 + ((x-cx)**2  (y-cy)**2)

Craters

Soustraire des cercles (profondeur = f(distance au centre)) au terrain existant. Ou : générer un terrain nu, et soustraire plein de cercles aléatoirs.

Erosion

Modélisation correcte : trop lent. À la place, outil "courbes" de gimp.

Rivières

Pathfinding pour créer des rivières. Si on utilise une méthode de coût qui favorise de passer par un petit bout de bruit plutôt que de le contourner, mais favorise le contournement pour une grosse accumulation de bruit, on pourra même simuler l'érosion qui efface les méandres trop petits.