Après avoir présenté les bases du mode Forge de Halo Infinite il y a 10 jours, 343 Industries revient à la charge aujourd’hui avec une nouvelle vidéo abordant le système de scripts et la compatibilité de l’éditeur de niveau avec les bots.
Pour cette seconde vidéo, Michael Schorr (Forge Lead Designer) est de retour et est accompagné par Connor Kennelly (Technical Designer). Pour illustrer au mieux les nouveautés du système de scripts et le support des bots dans la Forge de Halo Infinite, 343 Industries a utilisé une carte d’un membre de la Communauté, CertifiedChamp.
Scripts
Pour rappel, le système de scripts de la saga a connu sa première version en 2014, avec le lancement de Halo 2 : Anniversary dans la Master Chief Collection. Il a ensuite été ajouté à Halo 5 : Guardians en même temps que sa Forge en 2015 et a eu droit à des améliorations pendant toute la durée de vie du titre.
Les scripts permettent d’intégrer une logique dans vos cartes : vous pouvez ainsi déclencher une action (ex : bouger un bloc) lorsqu’une condition est remplie (ex : activer un interrupteur).
Modes de Forge
La première nouveauté est l’ajout d’un nouveau mode de jeu en Forge : le mode Jeu. C’est dans ce mode que vous pourrez naviguer dans vos cartes en tant que Spartan comme si vous étiez en plein match, avec tous les scripts actifs.
Ce mode Jeu viendra s’ajouter au mode Éditeur (qui vous permet de créer et éditer votre carte sous la forme d’un Monitor) et au mode Test (qui vous laisse explorer votre carte en tant que Spartan afin de tester les agencements, mais sans activer les éléments interactifs de votre niveau).
Pour le premier exemple de cette vidéo, Connor Kennelly est passé en mode Jeu et a lancé une grenade, suite à quoi un message s’est affiché sur son ATH : « Current objective : Survive » (en référence à la dernière mission de Halo : Reach). Le développeur est ensuite passé en mode Éditeur afin de montrer le node graph correspondant à ce script.
Système de node graph
Dans Halo Infinite, tous les scripts utilisent ce système de node graph qui permet une programmation visuelle et donc plus accessible que celle disponible dans Halo 2 : Anniversary et Halo 5 : Guardians. Tous les éléments constitutifs d’un node graph sont des blocs disposant d’un nom affiché en haut et de plusieurs épingles tantôt à gauche (arrivée d’informations) ou à droite (envoi d’informations) du bloc.
Chaque node graph est construit autour d’un bloc déclencheur, à savoir une action ou un événement se produisant pendant la partie. Si l’action constatée ici est le lancé de grenade de Connor Kennelly, la Forge de Halo Infinite vous permettra de surveiller de très nombreuses et diverses actions des joueurs : l’utilisation du système de marquage, l’élimination d’un ennemi avec une grenade, une arme ou un véhicule particulier, le manque de munitions pour une arme ramassée, l’accroupissement d’un joueur, etc.
Le bloc correspondant à l’événement dispose de plusieurs épingles sur le côté droit. L’épingle en forme de carreau est l’épingle d’action. Elle permet de lier le bloc déclencheur au bloc d’action à réaliser par la suite. Il est tout à fait possible d’enchaîner plusieurs actions en liant les blocs via leurs épingles.
Les épingles circulaires sont des épingles permettant de traiter une information particulière (comme le type de grenade lancé), qui peut ensuite être réutilisée dans des tests conditionnels par la suite : l’exemple donné ici est que le forgeron peut décider de ne faire jouer son script que si la grenade lancée est une grenade à plasma.
Dans le cas présent, le script ne doit se déclencher que pour la personne ayant lancé la grenade : l’épingle « joueur » du bloc déclencheur « lancé de grenade » est donc reliée à l’épingle « joueur » du bloc action.
Une fois qu’il a été défini que l’action ne concernerait que le joueur ayant rempli la condition du bloc déclencheur, le développeur remarque que la durée d’affichage du message a déjà été définie mais qu’il est tout à fait possible de la modifier.
Enfin, pour permettre l’édition du message à afficher, l’épingle « message » du bloc action est relié au bloc de création de message.
Le bloc de création de message peut être édité afin de créer un message de plusieurs manières : en utilisant des messages entièrement prédéfinis, en utilisant des messages créés par le forgeron, ou en mélangeant ces deux types de messages.
Connor Kennelly donne aussi un autre exemple de création de message : des mots sont créés dans des blocs « chaîne de caractères » indépendants, puis ces blocs sont reliés au bloc de création de message via les épingles circulaires. Enfin, le bloc de création de message est modifié afin d’afficher chaque chaîne de caractères dans l’ordre.
Le nouveau message affiché lors du lancé de grenade devient donc « Hello world ».
Les développeurs indiquent que leur souhait avec la Forge est de donner accès autant que possible aux outils qu’ils utilisent aux créateurs de la Communauté. En plus d’afficher des messages en grand sur l’ATH des joueurs, les forgerons auront donc également accès au journal d’éliminations pour faire de même.
Changement de l’inventaire
Le système de scripts de Halo Infinite permettra aussi de modifier le paquetage des joueurs : 343 Industries donne ainsi un second exemple de script donnant une Épée à énergie au joueur lorsqu’il lance une grenade.
Comme pour l’affichage du message, cette action ne concerne que le joueur ayant lancé la grenade : les épingles « joueur » du bloc déclencheur et du bloc action sont donc reliées.
Une fois ces blocs liés, il faut s’intéresser de plus près au bloc action et le paramétrer : l’Épée à énergie est renseignée comme arme à attribuer au joueur, et elle remplacera aussi bien l’arme principale que secondaire du destinataire.
Le dernier paramètre du bloc action, non utilisé dans cet exemple, permet d’ajouter un délai à la fin d’une action avant d’exécuter les éventuels blocs action suivants.
Modification des armes
Avec la Forge de Halo Infinite, 343 Industries s’est mis en tête de supporter officiellement le bug qui permettait de combiner des armes dans Halo 5 : Guardians.
Pour illustrer cette fonctionnalité, les développeurs utilisent un bloc « Type d’arme, combinaison » dédié qui se lie au bloc d’échange d’arme via son épingle « type d’arme ».
Dans ce bloc, le forgeron choisi l’arme de base qui sera utilisée pour définir l’arme tenue par les joueurs et qui fixera quelques caractéristiques de base comme la cadence de tir de l’arme finale ou sa quantité de munitions additionnelles.
Ensuite, la configuration vient remplacer les projectiles tirés habituellement par l’arme de base par ceux d’une autre arme, ici la variante Tracker du Lance-roquettes.
Une fois repassé en mode Jeu, le développeur lance une grenade et récupère comme prévu un Fusil d’assaut à l’apparence habituelle, mais qui tire des roquettes !
Doomfruit
Pour démontrer les capacités de personnalisation de modes de jeu qui découlent des scripts, 343 Industries a préparé un exemple, celui du mode Mastodonte introduit dans Halo 2. Dans ce mode, un joueur est choisi pour devenir le Mastodonte et devient plus rapide et plus puissant. Le joueur qui élimine le Mastodonte devient Mastodonte à son tour.
Les développeurs ont donc reproduit la logique correspondant à ce mode dans la Forge de Halo Infinite, en le renommant Doomfruit pour l’occasion et en utilisant 4 node graphs :
- Le premier gère le choix du Mastodonte ;
- Le second s’occupe de la logique appliquée à la mort d’un joueur ;
- Un troisième est utilisé dans le cas où un joueur quitte la partie alors qu’il est Mastodonte ;
- Le dernier est utilisé pour mettre en place les variables utilisées par les autre node graphs ainsi que les caractéristiques des joueurs.
Michael Schorr met en avant l’ajout de la portée des variables : en désignant une variable comme « globale », il est possible de la réutiliser dans d’autres node graphs.
Cette propriété globale est immédiatement mise à l’épreuve par Connor Kennelly puisqu’il nous détaille la logique suivie lors de l’attribution du rôle de Mastodonte, logique qui ne se met en route qu’une fois que le joueur qui occupera ce rôle a été désigné par le premier node graph : il s’agit là d’un événement « global ».
Une fois que le Mastodonte a été choisi, les caractéristiques liées à ce rôle (stockées dans le quatrième node graphe) vont être récupérées puis appliquées au joueur ciblé jusqu’à sa mort. Ensuite, l’arme du Mastodonte (elle aussi définie dans le quatrième node graphe) est attribuée au joueur.
Une fois que le Mastodonte dispose de ses caractéristiques spéciales et de son arme, le jeu lui affiche son statut avec un message sur son ATH.
Enfin, une fois cela fait, un marqueur est ajouté au dessus du Mastodonte afin qu’il soit visible par tous les autres joueurs de la partie. L’apparition de ce marqueur est gérée dans le même node graph, mais sur une suite de blocs logiques distincte : le bloc ci-dessous lance donc l’exécution de cet autre arbre logique.
Bots et nav mesh
Comme indiqué par 343 Industries dans la vidéo d’introduction à l’éditeur de niveau, la Forge de Halo Infinite supporte les nav meshes : il s’agit d’un ensemble de données qui permet aux bots du multijoueur du jeu de comprendre comment se mouvoir dans votre carte.
Paramètre de visibilité du nav mesh dans le menu Forge
Le nav mesh d’une carte est généré automatiquement par le jeu (ou manuellement par le joueur pendant une session de Forge) et peut être étudié en le rendant visible via le menu Forge.
Aperçu du nav mesh d’une carte (flèches et zones bleues)
Une fois le nav mesh d’une carte activé, il est possible de le modifier avec des zones à placer via le mode Éditeur de la Forge. Ces zones peuvent interdire aux bots d’accéder à un endroit de votre carte ou, à l’inverse, les autoriser à traverser un espace dans un seul sens (par exemple dans le cas de canons manuels) ou dans les deux sens.
En ce qui concerne le ramassage des armes et des objectifs, les bots de Halo Infinite sont d’ores et déjà totalement autonomes sur ces points et s’adapteront donc à vos cartes, tant que le nav mesh correspondant leur permet d’accéder à ces objets.
Vous pourrez expérimenter avec les scripts de la Forge de Halo Infinite dès son lancement avec la Winter Update, le 8 novembre prochain. D’ici là, 343 Industries compte reprendre la parole afin de présenter le reste des fonctionnalités de l’éditeur de niveau dans les prochaines semaines :
- Partie 1 : Bases de la construction – Que puis-je construire et comment le faire ?
- Partie 2 : Scripts et Bots – Que sont les scripts, comment puis-je m’en servir et comment puis-je tester ma carte avec des bots ? [vous êtes ici !]
- Partie 3 : Éclairage et audio – Quels outils visuels, d’éclairage et de son peuvent m’aider à améliorer l’apparence et les sons de mes cartes ?
- Partie 4 : Canevas et partager ses fichiers – Où puis-je créer mes cartes et comment est-ce que les joueurs peuvent les découvrir ?
Que pensez-vous du système de script de la Forge de Halo Infinite ? Quelle évolution a le plus attiré votre attention ?
Poster en tant qu'invité
Un patch vient d'être déployé pour résoudre le soucis de connexion aux commentaires. Si vous venez de vous connecter, une actualisation de la page peut être nécessaire. Si le problème persiste n'hésitez pas à nous le signaler.
Poster en tant qu'invité