Quelle est la différence entre «génération dynamique» et «génération procédurale»?


15

Quand je pense à un jeu généré dynamiquement, je pense à des choses comme Diablo avec des niveaux générés aléatoirement. Quand je pense à un jeu généré de manière procédurale, je pense à des choses comme Flappy Bird et d'autres coureurs infinis.

Mais les deux ne font que randomiser un niveau. Est-ce que les jeux générés de manière procédurale sont constamment générés et les jeux générés dynamiquement sont tous générés à l'avance? Ou ces termes sont-ils interchangeables?

Quelle est la différence entre un jeu généré dynamiquement et un jeu généré de manière procédurale ?

Réponses:


21

"Procédure" signifie qu'un algorithme a créé le contenu. Ceci est opposé au contenu créé manuellement par un humain.

"Dynamique" signifie que le contenu change avec le temps. Ceci est opposé au contenu "statique" qui ne change pas après avoir été créé, ou ne change que de manière prédéfinie, par exemple l'animation de personnages avec des images clés.

Vous pouvez également avoir du contenu créé par le joueur dans le jeu. C'est une fonctionnalité de jeu qui permet aux joueurs de modifier les niveaux ou le jeu pendant le jeu plutôt que d'utiliser des outils externes pour modifier le jeu. Pour les prochains paragraphes, je suppose que nous ne parlons pas de contenu créé par les joueurs.

Vous pouvez utiliser du code pour générer quelque chose qui ne change jamais; ce contenu est statique et non dynamique, bien qu'il soit procédural. Tout le contenu dynamique est procédural, mais tout le contenu procédural n'est pas dynamique.

Vous pouvez également mélanger du contenu manuel, procédural, statique et dynamique de toutes sortes de façons. Par exemple, un artiste peut créer un modèle de bâtiment manuellement, utiliser un outil pour générer de façon procédurale diverses cartes de texture pour le modèle, puis configurer des données pour la physique ou les systèmes de jeu pour détruire dynamiquement le bâtiment et générer des débris statiques pendant le jeu.

Remarque : ces définitions ne sont pas formelles . Vous pourriez discuter la sémantique de ces mots pour toujours. Vous rencontrerez probablement des personnes ayant des définitions différentes de ces mots et aucun de nous ne se trompera nécessairement. Même le jargon technologique est beaucoup plus fluide que les programmeurs américains ont tendance à préférer. :)


1
"Tout le contenu dynamique est procédural" - Qu'en est-il du contenu créé à partir des actions des autres joueurs? Par exemple, dans Eve Online, il y a des avant-postes orbitaux en constante évolution qui sont entièrement créés par les joueurs.
Mołot

1
@Molot: et voici le premier exemple de mon dernier paragraphe. :) Je suppose que je ne pensais vraiment qu'au contenu publié par le développeur pour cette réponse, et je suppose que vous pourriez considérer le contenu créé par le développeur contre le joueur comme un autre axe en dehors de dynamique / statique ou manuel / procédural. Par exemple, dans de nombreux jeux, les joueurs peuvent construire des structures dans un mode de construction, mais la carte est statique pour le reste du jeu, vous pouvez donc avoir du contenu créé par le joueur statique. Mais encore une fois, je ne suis pas trop particulier sur la terminologie. :)
Sean Middleditch

4

"Dynamique" signifie

"(d'un processus ou d'un système) caractérisé par un changement, une activité ou un progrès constants."

(dit google.)

Pour distinguer ces deux termes, je choisirais «génération dynamique» signifiant «créé juste à temps, à la volée, pendant que vous jouez» ...

Et la "génération procédurale" signifie générée de manière algorithmique, à l'avant ou à la volée.


1
Alors l'opposé de ma pensée initiale?
Evorlor

2
@Evorlor: Je dirais que oui. "Procédure" signifie simplement qu'un algorithme a créé le contenu. "Dynamique" signifie que le contenu change avec le temps. Vous pouvez utiliser du code pour générer quelque chose une seule fois, il serait donc statique et non dynamique. Tout le contenu dynamique est procédural, mais tout le contenu procédural n'est pas dynamique. Vous pouvez également mélanger les deux de toutes sortes de façons; par exemple, un niveau dynamique qui se remplit procéduralement de contenu statique. :)
Sean Middleditch

@SeanMiddleditch convertir pour répondre s'il vous plaît :-)
Evorlor

@Evorlor: c'est fait, mais je ne suis pas sûr d'avoir dit autre chose que ce que David Van Brink a déjà fait.
Sean Middleditch

@SeanMiddleditch peut-être pas, mais votre explication était plus claire pour moi. Merci!
Evorlor

1

Voici un petit aperçu rapide.

  • Génération dynamique

Le mot «dynamique» signifie changer. Le mot «génération» signifie création de choses donc «génération dynamique» change de génération. Par conséquent, la «génération dynamique» fait référence à un contenu en constante évolution.

  • Génération procédurale

Le mot «procédural» fait référence au contenu créé par un algorithme informatique et non un être humain. Comme nous l'avons établi, «génération» signifie création. Par conséquent, la «génération procédurale» fait référence au contenu généré via un algorithme informatique.

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.