Terrains procéduraux en 3D: qu'est-ce qui a été fait? Existe-t-il un algo et / ou des théories communs à ce sujet? [fermé]


10

Outre la programmation, la modélisation d'un environnement prend beaucoup de temps.

Je ne connais pas le temps de travail impliqué, par exemple, dans un niveau de donjon WoW, ou tout autre bel environnement futuriste, jungle, fantaisie, etc., mais ce genre de travail est fait à partir de zéro par des artistes.

Quelles sont les techniques impliquées dans le randomiseur de niveau TorchLight, et les autres titres ont-ils des similitudes avec cela? Existe-t-il un nom de famille pour ces techniques?


Je pense que les cartes de Torchlight sont en 2D, avec des graphiques 3D. Je ne me souviens pas qu'il y ait des zones de carte 3D comme Blackrock Spire de WoW, où les tunnels vont au-dessus ou en dessous les uns des autres. Vous pouvez probablement utiliser l'un des générateurs de donjons 2D de Roguelikes ( pcg.wikidot.com/pcg-algorithm:dungeon-generation ).
2010

Référence amusante, cette démo de 4 Ko: youtube.com/watch?v=_YWMGuh15nE
Oskar Duveborn

La génération de donjons 2D a déjà été couverte sur gamedev.stackexchange.com/questions/2663/… .

Réponses:


8

Les Roguelikes ont fait ce genre de chose depuis leur invention, et ils sont la "graine" Torchlight (et Diablo) ont eu leurs idées.

Je ne connais pas spécifiquement Torchlight, mais en général, ce que vous recherchez s'appelle "Génération de niveau procédural".

Fuel génère de manière procédurale une zone tellement fade qu'elle ne rentrerait pas dans le DVD du jeu. J'ai particulièrement aimé lire la série de Shamus Young dessus .

Un autre exemple intéressant de contenu généré de manière procédurale est le jeu pas encore publié d'Introversion, appelé Subversion . Jetez un oeil à la partie 12 sur cette page; c'est particulièrement juteux.

En parlant de villes générées de manière procédurale, il existe également des middleware - consultez http://www.procedural.com/ .

Pour plus de jeux / middleware, consultez la page Wikipedia de génération procédurale et le wiki de génération procédurale .


2

(Liens cités dans le lien pastebin: http://pastebin.com/PpJknMuT )

Eh bien, on pourrait dire qu'il existe 2 types différents. Cela dépend de ce que vous voulez. Par exemple, si nous prenons un jeu GTA récent, des centaines d'artistes ont été utilisés pour créer la ville et la personnaliser. La génération procédurale pourrait être utilisée ici, mais elle serait utilisée comme un outil d'artistes plutôt que quelque chose fonctionnant sur le moteur de jeu car nous ne voulons pas particulièrement une disposition de ville différente avec chaque jeu.

Donc ma thèse était sur la génération procédurale de ville avec le zonage de ville: [1]

Cet outil est utilisé par l'artiste pour créer une ville tout en permettant le contrôle de différents aspects s'ils en ont besoin. La génération de la ville est similaire aux systèmes L comme le montrent les travaux de Pascal Mueller: [2] Le zonage de la ville fonctionne comme une carte d'image prenant les probabilités des zones (commerciales, résidentielles, industrielles) à partir des données RVB de pixels. Il serait possible d'automatiser la génération si vous le vouliez, mais pour rendre les villes crédibles, l'algorithme devrait être beaucoup plus complexe en utilisant la mécanique de l'IA de la population plutôt que le L-System et les algorithmes de bruit.

On peut voir la génération à la volée dans [3] ou je suppose que l'exemple le plus simple serait l'hélicoptère: [4]

Quelque chose de similaire à Torchlight serait Infinity: Quest for Earth [5]

Dans Infinity, la galaxie et tout ce qui s'y trouve est généré avec une valeur de départ qui crée ensuite toutes les autres variables utilisées pour générer tout ce qui est contenu dans la galaxie (planètes, soleils, etc.) Le lien explique comment cela fonctionne plus en détail.


Oui, je comprends: on ne voudrait pas toujours avoir des niveaux aléatoires avec la génération à partir d'une graine ou autre. Le truc, c'est que la chose que nous voulons que la génération de niveaux fasse est simplement de faciliter le travail d'un level designer pour qu'il n'ait pas à tout faire avec maya ou max. La génération de niveaux n'est pas toujours conçue pour générer uniquement des niveaux, elle peut également faire que le logiciel génère des morceaux de géométrie à la volée, au lieu de diriger un gros fichier contenant toute la géométrie, comme une hauteur, mais pour des ensembles spécifiques de niveaux, comme un jungle, un bureau ou une ville: nous demandons simplement à l'artiste de faire les textures et d'autres
jokoon

et quelques morceaux de géométrie courants que nous voulons répéter. Je ne parle pas de niveaux uniquement procéduraux, mais pour un grand grand monde, c'est un must pour économiser de la mémoire.
jokoon

Quel genre d'environnement de jeu voulez-vous? Je veux dire, si vous avez une ville, alors seuls les bâtiments seront répétés dans différentes orientations .. Les paysages sont, comme vous le dites, beaucoup plus faciles à générer à la volée .. Cela dépend vraiment du jeu que vous voulez faire, alors ce serait quelque chose comme Morrowind / Oblivion ou GTA ou autre chose?
Sycren

1

Minecraft utilise le bruit Perlin 2D pour générer un terrain extérieur. Il peut avoir des niveaux pratiquement infinis (vous mourriez de vieillesse avant d'arriver au bord) qui sont générés lors de l'exploration des joueurs. Il utilise (probablement) également du bruit Perlin 3D pour générer des grottes souterraines.


Techniquement, le bord du monde Minecraft est inaccessible - lorsque vous obtenez environ un tiers (IIRC) du chemin, le jeu commence à se saisir et enregistre chaque seconde et est injouable. ;-)
The Communist Duck

-1

Quelles sont les techniques impliquées dans le randomiseur de niveau TorchLight.

Ce ne seront que des nombres aléatoires qui seront mis dans des algorithmes de niveau.

et les autres titres ont-ils des similitudes avec cela?

Wikipédia .

Bien que discutable, Left 4 Dead utilisait des techniques similaires dans AI Director.

Existe-t-il un nom de famille pour ces techniques?

Fractales, récursions, systèmes en L et anciens algorithmes simples. Chacun combiné avec des nombres aléatoires.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.