Zoom sur la génération de terrain dans Hytale

Dans ce tout nouveau blogpost, l’équipe d’Hytale Studios aborde le fonctionnement de la génération de terrain dans le jeu !

Interprétation des « Noisemaps » et des cartes de niveau

Tout d’abord, pour essayer de donner une idée de ce qu’est une « noisemap » dans le système de génération, cela se représente par un ensemble de nombres, associés à une variété de fonctions, qui permet de donner lieu à différents types de génération. Les développeurs utilisent ces « noisemaps » pour plusieurs fonctionnalités de génération. Un exemple des plus concrets de leur utilisation est pour la formation des zones. Dans l’image ci-dessous, cette fonctionnalité est couplée à une autre fonctionnalité très importante : les cartes de niveau.

Représentation visuelle de la génération de la zone 2

Comme mentionné plus haut, les cartes de niveau permettent de modifier l’ampleur du terrain qui sera généré d’après les « noisemaps ». Par exemple, une même noisemap peut être plus ou moins étirée en hauteur pour former de petites collines ou de gigantesques montagnes.

« Nos artistes techniques apprennent les compositions des noisemaps comme des recettes » nous dit Slikey, programmeur de génération de terrain. « Ils possèdent une grande boîte à outils de différents types de variations, et d’opérations pour les combiner. Cela prend du temps à faire l’équilibre entre la complexité, la performance et le design – nous découvrons sans cesse de nouvelles manières de combiner les noisemaps afin de générer un terrain unique, ou de placer des structures préfabriquées de manière inattendue. »

Une fois les paramètres des noisemaps définis,  elles sont intégrées à la génération de la carte.

Cette vidéo montre plusieurs noisemaps ajoutées les unes après les autres sur un terrain, en commençant par le biome général, puis en introduisant les noisemaps pour un biome avec une rivière et des montagnes. La montée en détails que vous voyez dans cette vidéo est uniquement pour illustrer ; en vérité, une fois que les paramètres des noisemaps ont été définis pour une zone, le terrain est généré en une seule fois.

Calques, végétation & structures

A cette étape du développement, les terrains sont composés avec différentes nuances de blocs, accompagnés d’implémentations majeures comme des rivières, des montagnes et des côtes. Le processus pour donner à chaque environnement sa personnalité se fait en plusieurs étapes, chacune avec sa propre technique de génération procédurale.

La première étape consiste à définir le terrain. En utilisant des noisemaps, la position des différents blocs est définie dans le relief en fonction de leur type, dessinant ainsi la surface et ses profondeurs. Ci-dessus, nous pouvons voir les différents noisemaps qui donnent la Zone 3, avec les plantes et la végétation retirées pour ainsi mieux visualiser le terrain généré.

La prochaine étape consiste à ajouter des détails à la surface, comme de l’herbe, des feuillages, des champignons, des formations de cristal et tout ce qui va avec. Avec la configuration d’un type de terrain, le système de génération du monde sait quels types de plantes devraient apparaître à quel endroit. Par exemple, des arbustes devraient apparaître dans de vertes prairies, pendant que de la mousse fera son apparition sur les surfaces rocailleuses des profondeurs.

La dernière étape consiste à ajouter des structures. C’est souvent ce qui donne de la personnalité à un terrain. Les structures sont des arrangements de blocs, créés par les équipes d’artistes d’Hytale, qui sont dispersées dans l’environnement durant la génération du monde. Certaines structures, comme les arbres, sont fréquemment rencontrées par le joueur et sont dispersées comme tous les autres types de structures.

Ci-dessous, un exemple de la création d’un lieu quand le terrain, la végétation et les structures sont ajoutés à une nouvelle zone.

Le système de préfabriqués supporte aussi des structures plus larges et des points d’intérêts, qui font écho à ce précédent blogpost datant de Mars 2019. Des milliers de structures ont été construites pour la génération d’un monde en mode aventure. Ces structures seront accessibles pour les créateurs extérieurs, qui auront la possibilité de les utiliser ou de créer les leurs en customisant leur monde.

Chaque structure a une configuration indépendante des autres, pour être sûr que leur apparence dans le monde est cohérente et leur donne une importance. Les zones d’apparition des structures sont définies en utilisant un type spécifique de noisemap :

Ci-dessus, un exemple d’une noisemap de Voronoi (plus de détails expliqués dans le lien ci-contre), qui ressemble à des cellules. Pour Hytale, les cellules sont utilisées pour  établir où les grandes structures vont apparaître. Sur l’image, les points violets représentent les zones où ces larges structures peuvent apparaître ; elles peuvent prendre jusqu’à 20% de l’espace généré. Ce seuil peut être augmenté ou réduit.

Toutes ces étapes de construction mises bout à bout conduisent à des environnements qui combinent le dynamisme de la création procédurale, avec la cohérence ajoutée par l’implémentation de structures et de détails environnementaux faits à la main.

« La génération du monde [que nous avons] est un système incroyable » raconte l’artiste technique Amber. « Cela nous offre tellement de maîtrise, qui nous permet d’être incroyablement créatifs avec ce système. Nous avons souvent créé des paysages et les avons montrés à Slikey, qui nous répondait ‘Wow, je ne savais même pas que vous pouviez faire ça !' »

Différents aspects de la génération de monde n’ont pas été abordés dans le blog d’Hytale aujourd’hui. La création de caves, de donjons et comment les zones interagissent entre elles n’ont pas été détaillés. L’équipe d’Hytale laisse entendre que ce sont des gros sujets, qui mériteront leur propre blog dédié. Cela sera la prochaine étape dans l’univers de la génération de monde d’Hytale.

Ce blog d’Hytale avait pour but d’expliciter un peu plus comment fonctionnait le mécanisme de génération de monde. Tous les systèmes décrits seront accessibles aux moddeurs à travers les fichiers de configuration du jeu essentiellement. En combinant la création de modèles avec le logiciel d’Hytale, les outils de construction et le système de génération de monde, Hytale espère donner ainsi la possibilité à chacun de créer des environnements uniques.

Ci-dessous, un terrain créé par l’équipe :

Ce paysage utilise toutes les techniques décrites dans ce blog, ainsi que des nouvelles structures, pour réaliser un univers de science-fiction à l’intérieur du système de génération de monde.

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *