miniature

Aujourd’hui les développeurs ont décidé de sortir le blogpost plus tôt que d’habitude ! Et en plus ils nous ont réservé un petit exercice de réflexion philosophique à la fin de l’article !

Mais revenons au cœur de l’article l’équipe d’Hytale a choisi aujourd’hui de nous présenter un aperçu de la façon dont le système de script de comportement de Hytale fournit des moyens de donner vie aux PNJ et aux créatures. Pour se faire, l’équipe d’Hytale va vous montrer certains aspects du comportement de Trork (Il s’agit du nom des trolls dans Hytale) – leurs réactions face au joueur, à l’environnement et aux autres. Bien entendu, ces principes s’appliquent également aux autres créatures de Hytale – et ils seront tous personnalisables par les modders. Comme toujours, toutes les captures d’écran et tous les clips de cet article vous présentent un travail en cours, et les détails pourraient bien changer au cours des développements futurs. Certaines choses pourraient donc être différentes à la sortie du jeu.

Une fois qu’une créature a été conçue et que son modèle et ses animations ont été créés dans Hytale Model Maker, les développeurs de PNJ sont chargés de la concrétiser à l’aide du système de script de comportement.

Le système utilise des scripts 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 utilisons des blocs de construction pour créer un PNJ à partir de la base » , explique le développeur Ioseff Griffith. « 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. »

scripts

Dans cet exemple, vous pouvez voir un extrait du script qui permet au 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 également les autres Trorks d’un rayon donné de la présence du joueur. 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 premier niveau communs à la plupart des PNJ. Il semble donc très simple de modifier la façon de penser d’un troll, bon à savoir.

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. On comprend donc que le système de script sera très intuitif, et les mots clés à utiliser pour faire réagir un PNJ seront très simples.

«Au niveau le plus élémentaire, le moyen le plus simple de créer un PNJ consiste à utiliser les modèles existants», dit-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 prévu, 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 les ours dans la liste des créatures qui les font passer en état «alerte».

Voilà, maintenant après cette modification dans le script un chasseur Trork crie après les ours ! Ceci est purement un exemple – ils ne le feront pas nécessairement dans le jeu final. 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.

L’intention de l’équipe est de créer des créatures et des PNJ qui contribuent à l’immersion dans le 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 sol :

Ce sera à vous, les joueurs, de tirer parti de cette information ! Vous pouvez imaginer vous servir d’appât des morceaux de viande !

L’équipe a constaté que la combinaison de nombreux comportements simples peuvent 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-dessus, 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é », à ce moment le Trork décide de chercher un endroit chaud. Il se dirige ensuite vers le feu de camp voisin et s’assied. Ces comportements créent 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 l’équipe d’Hytale est impatiente de voir ce que les moddeurs pourront imaginer quand ils mettront la main dessus !

Voici quelques exemples supplémentaires de comportements de PNJ que vous pouvez rencontrer lorsque vous explorez Orbis :

kweebecs

Les Kweebec n’ont pas besoin de manger ou de boire, ce qui semble normal en tant que végétaux. Ils chercheront des points lumineux et se bronzeront joyeusement pour obtenir tous les nutriments dont ils ont besoin ! En bombe les Kweebecs !

bombes

Les gobelins aiment lancer des bombes sur ce qu’ils estiment être un problème. Les bombes peuvent alors détruire des blocs et créer des trous, ce qui constitue un nouveau problème en soi. Ce qui pose donc la question suivante : La résolution de problèmes constitue-t-elle un nouveau problème ? Vous avez 4h et je vous invite à venir y répondre sur TwitterDiscord, ou notre Forum.

(Article corrigé par FleurMagik)

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here