Mentre le altre risposte qui sono davvero buone per generare i tipi di paesaggi statici che potrebbero funzionare per questa specifica esigenza. Ci sono altri metodi che le persone che incontrano questa domanda potrebbero cercare se vogliono creare paesaggi che cambiano nel tempo o sembrano molto più realistici, puoi seguire questa tecnica.
A differenza delle altre risposte, inizi questo con una mappa completamente vuota. Inizia con quello che considereresti essere il livello del mare. Usa Perlin Noise per aggiungere una leggera variazione, se hai 256 possibili elevazioni, non variare più di 3-5 in entrambe le direzioni. Questo crea i primi pochi miliardi di anni del tuo paesaggio senza dover eseguire una simulazione per così tanto tempo.
Tettonica a zolle
Dividi la mappa lungo linee rette o curve per creare lastre, più dettagliate sono le forme delle lastre, più interessante sarà il tuo paesaggio. Tienili grandi. Dai a ogni piatto una direzione, velocità. In un determinato arco di tempo, sposta le piastre in modo graduale attorno alla mappa, trascinando con sé tutte le tessere sopra di esse.
Quando due piastre si incrociano, fai una scelta di quale andrà oltre e quale andrà sotto, questa scelta può essere casuale. Le piastrelle su piastre indicate sotto vengono immediatamente ridotte in altezza di 5 gradini. Una volta che una piastra è stata designata sopra o sotto, tutte le future interazioni con le piastre seguiranno queste regole:
- Quando una piastra designata attraversa una piastra non designata, la piastra non designata diventa del tipo opposto. (Quindi le piastre UD diventano sotto quando si attraversa un over.)
- Laddove una lastra sovrastante si trova su una lastra sottostante, tutte quelle tessere si spostano su 0-1 gradini di elevazione e le tessere seguono il percorso della lastra sopra.
- Laddove una piastra sopra attraversa una piastra sopra, tutte quelle tessere si spostano di 1-2 gradini e le tessere nella regione di attraversamento non vanno più alla deriva.
- Laddove una sotto-piastra attraversa una sotto-piastra, tutte le tessere nell'area con elevazione maggiore del segno del 66% per entrambe le piastre nella regione di attraversamento si spostano di 1-3 passi (come se per attività vulcanica, questo produrrà isole per un tempo sufficiente ) e le piastrelle in quest'area smettono di andare alla deriva.
Tutte le piastre che si incrociano lentamente del 20% della loro velocità attuale ad ogni passo. Per un maggiore realismo, aggiungi una variazione casuale da -10% a 10% nella direzione del movimento ad ogni passo.
Dopo aver eseguito il numero desiderato di passaggi. Probabilmente 5-10 sono molti. Tutte le tessere in cui non sono presenti piastre devono essere eliminate al livello più basso esistente.
Grande o piccolo?
Questa mappa può essere utilizzata così com'è o può essere espansa per creare una mappa molto più grande suddividendola in blocchi di piastrelle 4X4 (celle) ed espandendo quelle sezioni in base alle loro singole elevazioni. Tratta l'elevazione di ogni cella come un punto e crea una gradazione uniforme nella mappa più grande tra quei punti. Quindi, se la mappa più grande è 40X40 anziché 4X4, e il punto (0,0) era 10 e il punto (0,1) era 1, le tessere sulla mappa più grande tra di loro sarebbero 10,9,8,7,6 , 5,4,3,2,1 di altezza. È possibile aggiungere ulteriore rumore Perlin per smussare le pendenze. Nel complesso questa tecnica di ridimensionamento è simile all'algoritmo Diamond Square .
acqua
Simulare fiumi e laghi, oceani e falde acquifere. Preferisco usare gli automi cellulari .
Le altezze diventano float o range int estesi per consentire un tracciamento più fine. Le celle d'acqua hanno valori di saturazione, diciamo nell'intervallo 1-256. Le mappe dovrebbero iniziare in modo uniforme. Dovrai giocare con i numeri per le dimensioni delle tue singole mappe, tuttavia generalmente seguirai regole come queste:
- Se una cella vicina è più satura, aumenta la saturazione e aumenta l'altezza.
- Se una cella vicina è meno satura, diminuisci la saturazione e perde altezza.
Fai questo controllo per ogni cella vicina. Esegui un numero sufficiente di passaggi. Se lo desideri, puoi aggiungere la temperatura a questa simulazione modificando la quantità di saturazione persa / guadagnata di quella temperatura. Puoi anche cambiarlo in base all'elevazione. Dovrebbero formarsi laghi e fiumi naturali. Alcuni cadranno nell'oceano. (L'oceano probabilmente non si riempirà di alcuna metrica, ma designerai qualsiasi cosa sotto il livello del mare da riempire comunque alla fine dell'acqua).
È possibile conservare i dati di temperatura e saturazione da utilizzare, come nelle altre risposte, per creare biomi. Dovrebbero essere MOLTO più precisi e interessanti. Con biomi nevosi ai poli e caldi nel mezzo (se si utilizza un elenco graduale graduale di temperature).
Puoi anche simulare il vento, e quindi i cambiamenti di temperatura in base alle quote. È possibile spostarsi avanti e indietro tra l'esecuzione della simulazione della temperatura e la simulazione dell'acqua, se lo si desidera. Tuttavia, non ho creato nulla usando i cambiamenti di temperatura, quindi non commenterò come farlo.
Paesaggi in evoluzione
Se si mantengono in giro le simulazioni di terra, acqua e calore e si riducono drasticamente i loro effetti e si interrompe anche il movimento delle piastre, è possibile continuare a modificare tutte queste metriche nel tempo. Non eseguirò i calcoli molto spesso, ma puoi ottenere una mappa del mondo che risponde ai cambiamenti in questo modo.
Conclusione
Mentre questi tipi di tecniche sono molto più coinvolti, producono effetti molto più realistici e in evoluzione. Prendilo per quello che vale?