Je conçois un jeu qui fonctionne sur un moteur de tuiles classique, mais dont le monde est généré de manière aléatoire. Y a-t-il des jeux ou des algorithmes existants qui font cela? Les algorithmes de génération procédurale que j'ai trouvés n'utilisent jamais un système de tuiles ... Quelle serait la meilleure façon de générer un "monde" entier en utilisant un système de tuiles? Je ne parle pas de labyrinthes de blocs, mais d'une "carte du monde" globale merci
22
Réponses:
Votre question vous amène dans le domaine de la génération de contenu procédural.
Génération mondiale basée sur des tuiles dérivée de méthodes continues / analogiques
Par continu, je veux dire quelque chose qui n'est pas des tuiles, quelque chose qui est analogique, un exemple étant une carte vectorisée. Vous pouvez utiliser n'importe quelle technique continue pour la génération, puis la quantifier. Par exemple, générez une image de bruit Perlin haute résolution, puis réduisez sa résolution pour l'adapter à la taille de votre tilemap et échantillonnez les pixels pour vous fournir une carte de hauteur. (Les cartes de hauteur peuvent être un excellent point de départ pour votre monde.) Cela parce que vous avez mentionné voir des sources qui ne vous montraient pas quoi faire en ce qui concerne la façon de l'appliquer aux tuiles.
Génération mondiale à partir de tuiles utilisant une approche de sculpture "aveuglée"
Avec une approche basée sur les tuiles (cellules), vous pouvez faire une sorte de génération aveugle où vous générez le monde petit à petit sans regarder plus loin que par exemple. les carreaux directement voisins, mais cela a tendance à ressembler au travail d'un insecte. Il s'agit de composants CA (automates cellulaires) typiques, et affiche une intelligence à plus petite échelle.
Génération mondiale basée sur des tuiles en utilisant une vision du monde plus large, de haut en bas
Cela prend une approche plus intelligente pour construire le monde tuile par tuile, car il va d'abord le construire région par région. De cette façon, vous contrôlez par exemple. différents biomes, régions politiques, etc., comme l'a fait Tarn Adams dans Dwarf Fortress. Bien sûr, cela vous oblige à réfléchir un peu à la façon dont vous souhaitez diviser votre monde. Il y a plusieurs façons, vous devrez faire vos propres recherches.
La génération de contenu procédural est un sujet assez large, vous devrez donc faire une bonne lecture avant d'avoir une idée précise de ce que vous voulez vraiment et de la façon de procéder - le diable est toujours dans les détails . Pour cette raison, quelques bonnes sources pour cela sont la liste de diffusion rec.games.roguelike.development (une tonne d'informations sur les mondes procéduraux basés sur les tuiles), les pages de programmation de jeux d'AmitP (regardez sous "Autres sujets") et enfin et surtout, le wiki de génération de contenu procédural .
la source
La génération procédurale est un immense sujet. Jusqu'où êtes-vous prêt à aller?
Les réponses de Nick Wiggill sont excellentes. J'ajouterais à cela en suggérant que vous examiniez certaines méthodes mathématiques pour créer un terrain aléatoire cohérent.
Le bruit Perlin offre un excellent moyen de créer un caractère aléatoire lissé et fonctionne parfaitement pour toutes sortes de terrains. La simulation de l'érosion peut donner une impression réaliste de hauteur (bien que vous n'ayez peut-être pas besoin de cela car vous faites un jeu basé sur des tuiles)
Beaucoup de techniques discutées dans des articles comme celui-ci par Oddlabs , les créateurs de Tribal Trouble, fonctionnent bien en 2D et à basse résolution également. Si vous êtes plus à l'aise avec ce type d'approche, l'apprentissage de ces techniques peut valoir la peine.
la source
Spelunky's Procedural Space - une excellente introduction à la génération de contenu procédural par Darius Kazemi
Spelunky est un jeu 2D de Derek Yu qui a de grands niveaux de procédure.
Il y a aussi un wiki de contenu procédural http://pcg.wikidot.com/
la source