You li crafter et les crafts bien sûr bienvenue aujourd’hui non pas dans un nouvel épisode du guide mais sur un épisode plus technique on va essayer de comprendre comment les jeux vidéo peuvent générer des maps aléatoire alors cette vidéo fait suite un tweet fait par enrique nike bergues Alors qui est tu le vois minecraft des game designers développeurs coach aussi bon je pense que c’est un bien moins bons coachs que moi donc il travaille chez mojang il est aussi cofondateur d’une boîte il a travaillé chez spotify légaux bon en gros le mec se laraque Je pense que tu vois c’est le genre de mec avoir un peu une grande gueule et à dire à avoir tout vu tout fait tout entendu mais derrière c’est les autres qui font tu vois tu vois un peu le genre bon mais j’en suis pas sûr peut-être que Le mec ps véritablement mais en tout cas ce qui nous importe c’est que ce type là a twitté il ya quelques jours quelques semaines sur comment été générés les cavernes dans la nouvelle dans la nouvelle version de minecraft qui arrive donc là 1.17 et donc du coup bas comme Il a lâché les informations on va essayer de comprendre ce qui nous raconte son article s’intitule comment les cavernes bruitées de minecraft fonctionne alors ce qui est important de comprendre c’est que il utilise du père lindner hayes donc du bruit de perlas pas pour générer à la fois des Cheesecake ton des cavernes et mentale et des spaghettis kave donc des cavernes en forme de spaghettis à la suite de ça ils viennent cumuler un peu le tout et ça leur génère différents types de cavernes chevalet sur wikipédia j’ai tapé perline noise et voilà ce sur quoi Je suis tombé effectivement on a une schéma d’un truc qui ressemble à ce qui nous a montré donc c’est un algorithme tu vois qui a été développé en 1983 et je vais détailler comment ça fonctionne en gros ce qui se passe c’est que on fait une grille comme ceci tu vois cette Griffe et zoom et un petit peu ce que je sais pas sur téléphone ce que ça va donner cette vidéo j’espère que ce sera lisible à minima et compréhensible donc en gros tu fais une grille pour chaque coin de cette grille tu définis un vecteur aléatoire donc il ya un sens Aléatoire en fait ils sont tous de la même taille une fois que tu as fait ça pour tous les points dans les carrés tu va raccrocher en eau au vecteur le plus proche la direction et tuvalu affecté rink radio donc ça veut dire quoi ça veut Dire que tu vois que ce vecteur là il est dans ce sens si donc ça veut dire que le violet foncé est ici et le blanc se trouve ici tu vois et tu vois que ça se propage de façon continue de la même façon par exemple sur celui ci ou le Vecteur et vers le bas la ici on a le violet très foncée et ça descend jusqu’au blanc ici une fois que tu as fais ça tu viens faire ce qu’on appelle de l’interpolation qui va servir à venir lycée toutes tes couleurs tu vois que la transition entre chaque élément est Beaucoup plus fluide que sur ce petit schéma là où on a des artefacts entre chaque segment du carré et notamment sur cette partie si là que tu peux voir où on a des branches à la tâche violette alors qu’ici on a vraiment une tâche bien harmonieuse et bien ronde Une fois que tu as fait sa ba tu as tu as toutes les clés pour générer une map en fait on a directement le ce que nous a montrée enrique ensuite dans wikipédia il nous donnait une implémentation du code donc parfait c’est ce que j’ai refait à droite donc j’ai apporté deux évolutions Majeures à ce code à savoir j’ai mis en place ainsi depuis ce que comme tu le sais minecraft est basé sur un système de graines aléatoires donc à partir de cette graine ça va générer un monde c’est d’ailleurs un des problèmes est une des problématiques de la génération Procédurales puisqu’il faut que tu amap minecraft le même site donne exactement la même map donc il est hors de question lors de la génération de l’amap d’avoir des probabilités d’être ou d’avoir un bloc par exemple je sais pas moi 50% d’avoir un un bloc d herbe à cet Endroit là et 50% d’avoir un bloc de pierre au même endroit parce que ça voudrait dire que une map sur deux avec le même side n’aurait pas la même carte et de la même façon ce qui est important de saisir avec le bruit de perlin c’est que ça dépend uniquement de tes Coordonnées x et y ça ne dépend pas des coordonnées des zones précédemment généré c’est à dire que l’on pourrait imaginer un système de deux générations qui se baserait déjà sur des blocs régénérer en fait le site pourrait dire on vénère 200 blocs ça nous donne le site nous permet de Générer 200 blocs on sait de quel matériau ils sont faits etc et puis on propage petit à petit cette map en fonction de là où va le joueur ça ça posera un énorme problème dans minecraft et dans les jeux en général c’est que si tu fais la commande tp qui Permet de se téléporter n’importe où tu arriverais à un endroit qu’on aurait jamais été générés et comment est ce qu’on fait pour pouvoir créer la map jusqu’à toi bien sûr ce serait possible sauf que si tu t’es les portes à 5 50 mille bloc du point de départ Eh ben il faudra que tu attendre quelques secondes minutes peut-être même heure afin que tout le terrain soit générée tandis qu’avec le bruit de perlin pas de problème tu t’es les porta où tu veux sur la map on va juste recalculer le bruit de berlin dans les environs tu te situes Est terminée donc du coup j’en étais sûr les deux évolutions je disais que j’ai rajouté le site et j’ai fait en sorte de retourner une valeur entre moins un autre 0 et un par un puisque de bassar tourner des valeurs entre -1 rien donc voilà donc ça c’est le petit code bon Pas très intéressant on va passer directement au rendu le voici ce rendu donc tu vois qu’on est finalement assez proche de ce que nous proposait enrique on a des zones noires qui sont les zones les plus profondes et puis des zones blanches qui sont les Zones les plus hautes et tu vas me dire ouais c’est bien un coach mais ça me donne pas une map quand même ce truc ab rassure toi j’ai colorée ça donc les zones les plus foncés je les ai mises en bleu et les zones les plus hautes je les Ai mises en blanc donc pour simuler un petit peu des montagnes donc tu vois qu’on a ici une espèce de la rivière ici plutôt un lac puis les montagnes entre tout ça avec des systèmes de plaine c’est pas mal ça rend bien seulement c’est pas assez performant c’est à dire Que tu te rends compte que cette montagne là elle est vraiment arrondi on a une montagne je sais pas trop combien ça fait deux blocs ça mais ça fait 6 6/10 blog de long donc on a une montagne de 160 bloc de long avec que de la neige Dessus on a ici des systèmes et 3 pas de relief en fait finalement ici on a une montagne qui est assez carré donc c’est pas terrible on peut faire mieux déjà la première chose que tu peut remarquer c’est qu’il ya une notion d’échelle ici et cette échelle en fait Elle va te permettre si je la mets par exemple à 0,08 je recharge la page elle va permettre en fait de dézoomer la carte tu le voies directes que l’a finalement on a un peu la même chose que ce qu’on avait tout de suite avant je Fais ou mais un peu pop des zones d’eau et des zones de montagne en europe mais c’est pas ce n’est pas satisfaisant non plus quoi parce que là on n’a pas assez de détails finalement ce que j’ai mis en quadrillé ici c’est ce qu’on pourrait appeler dès chunk donc l’idée c’est que Ça fasse 16 blocs minecraft de long donc tu imagines que si dans 16 blocs minecraft avait un océan et une montagne ça poserait un peu des problèmes mais on peut se dire on pourrait cumuler les deux c’est à dire avoir des choses très détaillée comme ceux ci et en même Temps des choses plus vastes comme ce qu on avait juste avant et donc pour cela il ya une technique c’est ce qu’ils appellent les octaves j’ai lu des désinformations nature je suis pas un expert du tout deux générations procédurale et c’est la persistance la persistance ça veut dire Que à chaque fois qu’on va appliquer à nouveau un filtre un bruit de berlin on va retirer des informations et donc du coup on va le ct 1 05 et tu vas voir tout de suite la différence ici donc ça met un petit peu de temps c’est pas trés Trés optimiser mon histoire mais en tout cas ça fonctionne et donc tu peux le voir que ici on a une map qui ressemble vraiment à une carte ici on nous dira m et c c’est la carte de la grèce tu me diras oui c’est clair je veux aller en Grèce c’est comme ça on voit que notre gros blocs ici car et est devenu beaucoup plus diffus forme et ressemble beaucoup plus à des montagnes qu’on pourra voir dans la réalité on va trouver ici un lac tu vois sur deux chunk quasiment de rendu on va se retrouver avec des îles Comme ceux ci on va se retrouver avec une île ici qui si tu fais gaffe je suis juste leurs maîtres comme c’était avant tu vas te rendre compte qu’il n’y avait pas de deux blocs ici tu vois je vais mettre mon curseur justice y est tu vas Voir que obs tu voir qui avait rien ici tu vas y avait rien c’est en fait le sable qui étaient là qui s’est décalé en quelque sorte avec les itérations pour former une île donc c’est très intéressant cette cette façon de générer du terrain donc après voilà on a différents paramètres eu probablement Dont il maîtrise certainement bien mieux que moi et utilisent probablement des paramètres il arrive à parfaitement les gérer à les cumuls etc etc je n’ai juste pas montrer le changement de side donc ici je changement side et tu vas voir on va générer tout simplement une autre map Aller voilà donc là on a une autre car tu vois ici on a une espèce de grands lacs ici plus une mère et donc voilà donc voilà comment fonctionne la génération procédurales donc c’est tout simplement du bruit de berlin qui permet qui al’avantage de juste ce calcul et l’eau qui peut se calculer Juste localement et après on leur et impliquant plusieurs fois avec différents niveaux d’échelle en fait c’est un peu ce que ça fait la persistance vient changer le niveau d’échelle les octaves par l’envié de changer le niveau d’échelle et donc du coup on obtient quelque chose de réaliste J’espère que la vidéo tu as plus la prochaine fois on parlera de la vie du chargement et du déchargement de chunk parce que ça peut être quelque chose que tu entend souvent parler mais dont tu sais pas vraiment ce que ça représente donc visuellement je te montrerai Comment ça fonctionne et d’ici là bas je te souhaite le meilleur mais un petit likes esata plus ciao Video Information
This video, titled ‘Comprendre la génération procédurale de Minecraft avec le bruit de Perlin’, was uploaded by Coach Alexis on 2021-03-23 07:00:05. It has garnered 3512 views and 130 likes. The duration of the video is 00:10:54 or 654 seconds.
Video presenting the generation of a Minecraft map with the Perlin algorithm. Resources : https://en.wikipedia.org/wiki/Perlin_noise https://adrianb.io/2014/08/09/perlinnoise.html