Dans son dernier article publié sur son blog, Hypixel introduit le processus de création des PNJs et leurs comportements !
Création de PNJ
La création de PNJs se passe avec le logiciel Hytal Model Maker, qui sera diffusé avec le jeu à sa sortie. Il vous permet de modéliser vos personnages en 3D et ses animations et comporte également des fonctionnalités de travail collaboratif permettant de travailler à plusieurs.
Une fois votre créature prête, vous pouvez importer votre modèle dans le jeu ou le diffuser auprès de la communauté. Les moddeurs pourront créer des intéractions entre leurs créations et l’environnement grâce à un système de scripting, détaillé si dessous.
Toutes les captures d’écran et clips de cet article représentent un travail en cours, et les détails pourraient bien changer au cours des développements futurs.
Scripting des comportements
Les développeurs débutent par un aperçu du fonctionnement des comportements des PNJs avec l’exemple des Trorks, cette faction qui peuple le monde d’Orbis dans le mode aventure de Hytale. Un système de scripting est disponible et vous permet de donner vie aux PNJ et aux autres créatures, leur permettre d’interagir avec les joueurs, l’environnement et autres éléments du jeu. Ces principes s’appliquent à l’ensemble des créatures de Hytale – et ils seront tous personnalisables par les modders.
Le système utilise des scripts au format JSON qui font appel à des éléments de comportement modulaires, qui nous permettent de spécifier comment un PNJ perçoit le monde et comment il réagit dans diverses situations. Ces scripts peuvent déclencher des animations, des changements d’état, etc.
Un exemple très simple serait un script qui détermine si une créature attaquée fuit ou tente de se défendre. Des scripts plus sophistiqués peuvent envoyer les PNJ courir après les joueurs ou les amener à rechercher des objets qu’ils aiment, comme des feux de camp ou de la nourriture.
Nous avons des capteurs qui permettent à un PNJ d’interpréter le monde qui l’entoure, et c’est ainsi qu’il décide ce qu’il veut faire. Nous avons ensuite des actions et des mouvements, qui décrivent comment ils vont interagir avec le monde, leur cible ou tout ce sur quoi ils se concentrent. Nous les combinons pour créer des composants et des modèles à partir desquels des variantes peuvent être dérivées rapidement et facilement.
Explication par l’exemple des Trorks
Découvrons un exemple, avec un extrait du script qui permet à un Trorks de passer à l’action dès qu’il voit le joueur. Le script gère plusieurs éléments de cette interaction :
- Il déclenche une animation “alerte” qui aide le joueur à comprendre qu’il a été repéré.
- Il déclenche également une réponse «balise» qui alerte les autres Trorks dans un rayon. Les détails exacts de cette interaction peuvent être peaufinés avec précision, mais la mise en œuvre globale est basée sur des modèles de niveau supérieur communs à la plupart des PNJ.
Cette approche modulaire du comportement facilite la mise en œuvre de nouveaux PNJ ou créatures. “Quand vous écrivez un script sur un PNJ, vous n’avez pas besoin de spécifier des choses comme” balancer une épée “ou” déplacer la distance X à droite “” explique Ioseff. Il suffit d’appliquer un élément abstrait tel que «fuir» ou «rechercher» – le système de comportement gère ensuite les bases de la réalisation de l’action souhaitée.
«Au niveau le plus élémentaire, le moyen le plus simple de créer un PNJ consiste à utiliser les modèles existants», explique-t-il. «Ces modèles sont constitués de composants que nous construisons à partir de capteurs, d’actions et de mouvements pour faciliter la réutilisation de comportements dans plusieurs scripts.»
Un exemple de composant est la détection du son, explique Ioseff. Ceci utilise une combinaison de capteurs qui permettent à un PNJ d’interpréter son environnement. “Quand vous déposez un nouveau PNJ dans le monde, il devrait être capable de faire face à des environnements pour lesquels il n’a pas été spécifiquement écrit, au moins dans une certaine mesure”, dit-il.
«Une caractéristique importante de tout ce système est sa grande réutilisabilité», déclare le développeur Eric Reinhart. “Il est facile de modifier les comportements existants, de remplacer des pièces et de créer quelque chose de nouveau.” «Pour ceux qui veulent modifier des choses ou créer du contenu, l’avantage est qu’il est facile de faire de simples modifications», poursuit Eric. “Mais cela permet également aux moddeurs de tout modifier dans les moindres détails.” Voici un exemple. En ajoutant quelques paramètres supplémentaires au script de comportement du chasseur Trork, nous pouvons ajouter des ours à la liste des créatures qui les ont poussés à entrer dans un état «alerte».
Nous avons maintenant un chasseur Trork qui crie après les ours! Ceci est purement un exemple – ils ne le feront pas nécessairement dans la dernière partie. Néanmoins, cela fournit un exemple de la simplicité avec laquelle il est possible d’introduire de nouveaux détails dans le comportement d’une créature.
Le comportement défini pour un nouveau PNJ sera défini par l’équipe de conception avant sa mise en œuvre. Parfois, cela signifie l’ajout de nouvelles fonctionnalités au système de comportement qui élargissent ensuite les possibilités du système. Parfois, cependant, des surprises au cours du développement conduiront à l’ajout de nouvelles bizarreries comportementales.
«Quelques petites pièces sont ajoutées au cours du processus», explique Ioseff. «Par exemple, les Trorks ont un comportement d’entraînement lorsqu’ils commencent à se frapper des coups. Parfois, ils passaient immédiatement à l’état «sieste» – c’était drôle, car on aurait dit qu’ils avaient été assommés”.
L’intention de l’équipe est de créer des créatures et des PNJ qui contribuent à l’immersion du monde en agissant indépendamment du joueur. En apprenant comment chaque créature réagit, les joueurs peuvent ensuite trouver des moyens créatifs d’interagir avec eux. Par exemple, les Trorks ont un penchant particulier pour la viande mise au rebut:
Comment le joueur choisit-il de tirer parti de cette information est à lui! L’équipe a constaté que la combinaison de nombreux comportements simples peut produire un résultat étonnamment réaliste. «J’avais créé un script pour un archer Trork et j’essayais de vérifier le tir de l’archer», explique Eric. «C’était la première fois que les PNJ avaient la possibilité de changer d’arme. C’était incroyable d’essayer de poursuivre cet archer, et quand vous étiez assez proche, il se retournait et vous attaquait avec une arme de mêlée. La combinaison de ces actions très simples était vraiment enrichissante. “.
Dans le clip ci-dessous, vous pouvez voir un exemple de plusieurs comportements simples de Trork travaillant ensemble. Le Trork fait la sieste dehors quand il commence à pleuvoir. Cela déclenche un changement d’état de “endormi” à “éveillé”, à quel moment le Trork décide de chercher un endroit chaud. Il se dirige ensuite vers le feu de camp voisin et s’assied. Plusieurs éléments différents du script de comportement de Trork sont impliqués dans la création de ce moment, mais ensemble, ils créent un sens de la personnalité de la créature. Notre objectif avec le système de comportement est de fournir au joueur des moments immersifs comme celui-ci, et nous sommes impatients de voir ce que les modeurs peuvent imaginer quand ils mettront la main dessus!
Voici quelques exemples supplémentaires de comportements de PNJ que vous pouvez rencontrer lorsque vous explorez Orbis:
Les Kweebec n’ont pas besoin de manger ou de boire dans un sens normal. En tant que végétaux, ils rechercheront des points lumineux et se bronzeront joyeusement pour obtenir tous les nutriments dont ils ont besoin :
Les gobelins aiment lancer des bombes sur un problème. Ceux-ci peuvent détruire des blocs et créer des trous, ce qui constitue un problème…