serverlobby.io

Hytale : Avancée du développement - Juin 2020

Publié le

Cet article est une traduction brute d'un des blog posts d'Hytale posté le 29 juin 2020. Lien vers l'article original

Bonjour à tous ! Dans cet article, nous allons examiner de plus près le système de génération du monde de Hytale - plus précisément, les différentes techniques que nous utilisons pour créer des paysages spectaculaires, générés de manière procédurale, dans chacune des zones du mode aventure.

Nous avons abordé ce sujet pour la première fois en janvier 2019, et vous souhaiterez peut-être revenir en arrière et lire notre introduction à la génération du monde afin d'avoir une idée globale du fonctionnement de notre système de génération basé sur des règles et de ce que nous essayons de réaliser avec lui. Aujourd'hui, nous allons entrer dans les détails et montrer comment les moddeurs de Hytale pourront adapter ce système à leurs propres besoins.

Mais d'abord, nous devons parler du bruit ("noise" en anglais).

Interprétation des noisemaps et des heightmaps

Dans le contexte de nos systèmes de génération procédurale, une "noisemap" est un ensemble de nombres aléatoires qui peuvent être combinés avec une variété de fonctions pour soutenir un grand nombre de types de génération différents.

Nous utilisons des noisemaps pour de nombreux aspects différents du système de génération de contenu de Hytale, y compris tous les systèmes liés au paysage que nous détaillerons plus loin dans cet article. L'une des utilisations les plus frappantes réside dans la formation des zones elles-mêmes.

Noisemap

Cette image est issue d'un simple outil de visualisation et donne un aperçu du résultat de la combinaison des noisemaps avec une autre composante importante de la génération de paysages - l'interprétation des heightmaps. Ici, les environnements simulés sont les plateaux rocheux de la zone 2.

L'interprétation de la heightmap implique des séries de chiffres supplémentaires qui nous permettent d'établir à quelle hauteur ou à quelle profondeur certains éléments de la noisemap apparaîtront sur le terrain généré. En ajustant les seuils d'interprétation des heightmaps, nous pouvons, par exemple, prendre un ensemble de noisemaps qui créerait un cours d'eau sinueux et les adapter pour produire des canyons fluviaux spectaculaires.

"Nos artistes techniques apprennent la création de noisemaps comme un art", explique Slikey, programmeur de la génération du monde. "Ils disposent d'une grande boîte à outils de différents types de bruit et d'opérations pour les combiner. Il faut du temps pour apprendre à équilibrer la complexité, les performances et la conception - nous découvrons constamment de nouvelles façons de combiner les cartes de bruit pour générer des terrains uniques ou placer des préfabriqués de manière inattendue".

Lorsque nous sommes satisfaits de notre configuration des cartes de bruit et des seuils d'un biome, nous appliquons ces règles au jeu lui-même.

Ce clip montre plusieurs cartes de bruit ajoutées l'une après l'autre à un paysage, en commençant par un paysage général, puis en introduisant les règles pour les biomes de rivière et de montagne de la zone 2. La croissance progressive de la complexité que vous voyez dans ce clip est à titre d'illustration : en réalité, une fois que les cartes de bruit et les seuils d'une zone ont été établis, le paysage est généré d'un seul coup.

Couches, revêtements et préfabriqués

À ce stade, nous avons un paysage avec beaucoup de blocs et quelques éléments majeurs comme des rivières, des montagnes et des rivages. Le processus qui consiste à donner aux environnements leur personnalité se déroule en plusieurs étapes, chacune ayant ses propres processus de génération de procédures.

Hytale worldgen couches

Nous commençons par les "couches". Il s'agit d'un autre type de noisemap qui est utilisé pour spécifier à la fois la profondeur de certains types de blocs dans le terrain, ainsi que les types de blocs qui apparaîtront à la surface. La capture d'écran ci-dessus montre les différentes couches qui composent un paysage dans la zone 3, avec les plantes et la végétation enlevées pour faciliter la vision des matériaux sous-jacents.

Hytale worldgen revêtements

L'étape suivante concerne les "revêtements". Le terme "revêtement" fait référence à des détails environnementaux fortuits comme l'herbe, le feuillage, les champignons, les affleurements de cristal, etc. En configurant les revêtements pour une zone donnée, nous pouvons dire au système Worldgen quels types de plantes doivent apparaître sur quelles couches. Par exemple, nous pouvons établir que les arbustes denses ne doivent apparaître que sur les couches herbeuses, tandis que la mousse peut apparaître sur les surfaces rocheuses du sous-sol.

Les préfabriqués apportent la touche finale et sont souvent ce qui donne aux environnements leur identité spécifique. Les préfabriqués sont des arrangements de blocs, créés par nos artistes techniques, qui sont distribués dans tout l'environnement par le système worldgen.

Les préfabriqués accessoires, comme les arbres, sont fréquemment rencontrés par le joueur et sont distribués comme d'autres types de revêtements de sol.

Hytale worldgen distribution prefab arbres

Voici un exemple de la transformation qui se produit lorsque des couches, des revêtements et des préfabriqués accessoires sont appliqués à un nouveau paysage :

Le système préfabriqué prend également en charge de plus grandes structures et des points d'intérêt, dont vous vous souvenez peut-être en lisant l'article de mars 2019. Nous avons construit des milliers de préfabriqués pour alimenter le système worldgen du mode aventure, et les moddeurs auront la liberté de les utiliser ou de construire les leurs lorsqu'ils personnaliseront le monde.

Les préfabriqués sont configurés séparément afin de garantir que leur apparence dans le monde soit crédible et dégage un sentiment de singularité. Les zones où des préfabriqués plus grands peuvent apparaître sont cartographiées à l'aide d'un noisemap différent :

Hytale grand prefab noisemap

C'est un exemple de bruit de Voronoï, qui crée des motifs ressemblant à des cellules. Pour Hytale, nous utilisons ces "cellules" pour établir où les grands préfabriqués peuvent et ne peuvent pas apparaître. Sur l'image ci-dessus, les points violets représentent les zones où l'on peut rencontrer un grand préfabriqué, et représentent collectivement environ 20 % de l'espace généré. Si nous le voulions, nous pourrions augmenter ou réduire cette densité.

Pris dans leur ensemble, les couches, les revêtements et les préfabriqués nous aident à créer des environnements qui combinent le dynamisme de la génération procédurale avec le sens de l'utilité qui découle de l'intégration de bâtiments conçus à la main et de caractéristiques environnementales.

"Worldgen est un système étonnant", déclare l'artiste technique Amber. "Il nous offre tellement de contrôle et nous permet d'être incroyablement créatifs avec le système. Nous avons souvent créé des paysages et les avons montrés à Slikey, et il nous a dit "wow, je ne savais pas que vous pouviez faire ça".

Hytale worldgen grand prefab lieu interêt

Il y a d'autres aspects de worldgen que nous n'avons pas couverts dans le blog d'aujourd'hui - en particulier les systèmes de grottes, les donjons et la façon dont les zones se croisent. Ce sont des sujets très importants en soi, et nous prévoyons donc de les traiter séparément lors de notre prochaine plongée dans les systèmes de génération d'Hytale.

Nous espérons que cet article vous aura permis de mieux comprendre comment le monde d'Hytale est créé. Tous les systèmes que nous avons décrits dans cet article seront accessibles aux moddeurs grâce à des fichiers de configuration largement personnalisables. En combinant la création d'actifs dans Hytale Model Maker, nos outils de construction de blocs et le système de génération de monde sous-jacent, vous serez en mesure de générer des environnements uniques qui vous sont propres.

En voici un que nous avons créé nous-mêmes !

Hytale worldgen custom biome example

Ce paysage personnalisé utilise toutes les techniques décrites dans cet article - y compris de nouveaux préfabriqués - pour réaliser un décor de science-fiction dans le système worldgen de Hytale. Nous sommes impatients de voir ce que les moddeurs d'Hytale sont capables de faire !