Je crée un simple jeu RTS de haut en bas. J'envisage de générer des cartes "au hasard" à la volée quand j'en ai besoin. Je prévois que tout cela fonctionne en «passes»:
- Remplissez le terrain avec de l'herbe
- Revenez en arrière et ajoutez quelques jets de gravier aléatoires
- Complétez le gravier
- Dessiner un paysage de montagne sur la deuxième couche
- Arrondir les montagnes
- etc.
Maintenant, regardez cette image ci-dessous:
J'ai créé cela à la main à l'aide de mon éditeur de carte, mais je prévois que ce sera essentiellement le résultat après, espérons-le, passer / étape 3.
Comment dois-je décider quand et où placer mon gravier pour qu'il soit au moins de forme irrégulière et suffisamment sporadique pour avoir l'air naturel?
Merci si tu peux! Toute aide est appréciée!
En note:
Chaque passe est essentiellement une itération sur toutes mes tuiles (la carte est divisée en 40x40 tuiles) similaire à ceci:
for (int x = 0; x <= GRIDMAX - 1; x++) {
for (int y = 0; y <= GRIDMAX - 1; y++) {
//Terrain(x, y, 0) = SomethingHere;
}
}
la source
Essentiellement, vous pouvez utiliser la génération de bruit Perlin pour générer vos cartes. Vous devez échantillonner la carte de hauteur générée et affecter des blocs de gravier aux parties de la carte qui ont au-dessus d'une certaine hauteur.
Voici un excellent article de référence sur la façon de mettre en œuvre un tel système et les différents types de terrain que vous pourriez générer.
Les exemples comportent beaucoup plus d'étapes que vous n'en auriez besoin, mais le concept est le même.
En savoir plus sur la génération mondiale de type Minecraft
http://www.gamedev.net/blog/33/entry-2227887-more-on-minecraft-type-world-gen/
la source