Jump to content

Population, monstre et PNJ


Recommended Posts

Traduit par Kamilu, transposé sur notre site avec l'autorisation de
la confrérie des traducteurs. http://www.confrerie-des-traducteurs.fr/fallout/tutoriels/bienvenue_dans_le_geck.php
Transposition: Soifran

Didacticiel de Bethsoft sur les PNJ

Sommaire

1 Vue d'ensemble
1.1 Le Nouveau Système de Niveau
2 Ajout d'un PNJ de Base
2.1 Placer un Marqueur de Niveau de PNJ
2.2 Comportement des PNJ
3 Creation d'une Patrouille
3.1 Liens de Référence
3.2 Création d'une Patrouille Basique
3.3 Creation d'une Patrouille à l'aide de Idle Markers[Marqueurs d'Innactivité]
4 Configuration d'une Sandbox[litt.: Bac à Sable]


1 Vue d'ensemble

Ce tutoriel couvrira les placements basiques de liste de niveaux[leveled lists] qui génère des ennemis et l'utilisation de patrouille générique et de sandbox de comportement.

Ce tutoriel suppose que vous travaillez dans un endroit entièrement «navmeshé». Vous pouvez télécharger et travailler sur le plugin d'exemple du précédent tutoriel si nécessaire.

1.1 A propos du nouveau Système de Niveau

Certains utilisateurs doivent être familiers du système de niveau dans TES4:
Oblivion. Bien que construit sur les mêmes bases, il existe des différences clés qui doivent être comprises.



Encounter_Zone[Zone de Rencontres] – Les Encounter Zones permettent aux concepteurs de créer un niveau de difficulté minimum pour une région. Par exemple, si un joueur de niveau 2 entre dans une Encounter Zone avec un niveau min. de 10, la liste de niveaux dans cette Zone créera des personnages comme si le joueur était de niveau 10.

Pas de Recalcul – Quand le joueur entre dans une Encounter zone pour la
première fois, le niveau de cette zone est défini de façon permanente. Cela
signifie qu'une fois que le joueur est entré à l'intérieur d'une zone, les
personnages sont générés par la liste de niveau sans que la difficulté ne
soit jamais refaite ou augmentée (ou modifiée de façon générale).

Maigres Listes de Niveau - Contrairement à Oblivion, la plupart des listes de
niveaux dans Fallout 3, sont constituées par très peu de types d'ennemis. À
titre d'exemple, regardons la liste de niveau lvlMirelurk. Notez qu'il y a
seulement trois types de créature mirelurk que l'on peut tirer de la liste.
Ces statistiques de monstres ne fluctueront pas sur la base du niveau du
joueur. La différence de difficulté pour un type d'ennemi et claire
visuellement et statistiquement.

[ATTACH]2565[/ATTACH]

Ici, même si la Encounter Zone peut rechercher une créature de niveau 10, elle prendra le niveau 9 Tueur de Fangeux, étant donné que c'est le niveau de la liste qui est le plus proche du niveau recherché.



2 Ajout d'un PNJ de Base


Vidéo Tutoriel des Patrouilles de PNJ sur YouTube

Plutôt que de créer et de placer les ennemis un par un, de spécifier leur type (etc.), nous utilisons les objets de la liste de niveaux pour placer nos PNJ hostiles. Les listes de niveaux, en bref, génèrent au hasard un des personnages prédéterminé de la liste d'ennemis, basée sur une combinaison du niveau actuel du joueur et de la Encounter Zone associée à la cellule.

2.1 Placer un Marqueur de Niveau de PNJ


Nous allons principalement utiliser lvlRaiderGun, qui crée un raider avec une arme à feu. Nous ne faisons pas beaucoup attention au type d'arme, ou à l'armure du raider, le sexe, ou d'autres légers détails. Vous pouvez retrouver cet objet par l'intermédiaire du filtre ou en naviguant manuellement dans Actors>NPC dans la liste de la Fenêtre d'Objet.

Une fois que vous avez trouvé lvlRaiderGun, faites glisser cette nouvelle référence dans la Fenêtre de Rendu. Le nouveau marqueur apparaitra comme un M blanc avec une flèche à travers, comme dans la photo ci-dessous.

[ATTACH]2561[/ATTACH]

3 vues d'un Marqueur de Liste de Niveau sans modificateur de difficulté

Les modificateurs de difficulté sont utilisés pour augmenter l'hostilité de la Encounter Zone. Le marqueur que nous avons juste est placé par défaut sur "None", alors changez-le pour "Easy". Pour changer le modificateur de difficulté, double-cliquez sur le marqueur et allez dans l'onglet Leveled Actor. Dans l'onglet, cliquez sur le menu déroulant et sélectionnez Easy. Appuyez sur OK pour finaliser le changement.

[ATTACH]2562[/ATTACH]

L'onglet Leveled Actor

Le modificateur de difficulté Easy est spécial, car il choisit n'importe quel
personnage de la liste de niveaux considéré comme facile. Cela cherche sur une grande variété d'ennemis, en particulier pour les joueurs de haut niveau. Une bonne règle d'or est de mettre environ 50% des listes de niveau d'une région en "Easy". Lire ici pour plus de renseignements sur les modificateurs de difficulté.



Après avoir changé les modificateurs de difficulté en Easy, vous noterez que la couleur du marqueur est maintenant verte. Chaque difficulté est représentée par une couleur différente, vous pouvez donc évaluer la difficulté d'une région d'un coup d'oeil. La couleur d'un marqueur est attribuée sur la base du niveau de difficulté.

[ATTACH]2566[/ATTACH]

3 Vues d'un Marqueur de Liste de Niveau en Easy

Maintenant que nous avons placé notre première liste de niveaux dans l'Abri 74, nous pouvons nous préoccuper de la façon dont le raider va se comporter quand il sera créé.

2.2 Comportement des PNJ

Les comportements des PNJ sont dictés essentiellement par les AI Packages[Packs d'Intelligence Artificielle], qui sont hautement personnalisables par des séries d'objectifs et de tâches. Alors que les packages peuvent être utilisés pour créer des comportements assez réalistes, vous pouvez aussi passer beaucoup de temps à la création et la personnalisation.

Le GECK introduit de nouvelles caractéristiques qui nous permettent d'attribuer rapidement le comportement des PNJ comme les raiders. Ce sont les patrouille générique et les sandbox package behaviors[packs de comportements sandbox]. Grâce aux generic packages, qui sont inclus par défaut sur la plupart des listes de niveaux des ennemis de base, nous sommes en mesure de mettre en place des comportements simples, sans jamais avoir à modifier manuellement un package.

Pour des informations avancées sur la personnalisation des comportements des PNJ, suivez les liens ci-dessous:
• Combat Styles[styles de combat]
• NPC Information[informations sur les PNJ]
• Base Stats[statistiques de Base]
• AI Data[Donnée IA]
• Additional Package Information[information sur le Package Additionnel]


3 Création d'une Patrouille

Une patrouille est un chemin constitué d'un ensemble de marqueurs placés dans le monde. Un PNJ en patrouille se déplace le long de cette route jusqu'à ce qu'il soit interrompu par un combat ou par une autre commande d'IA. Les waypoints[balises] de la patrouille peuvent être personnalisées pour inclure des informations telles que jouer une animations ou attendre un moment avant de bouger.

3.1 Liens de Références

Pour notre patrouille basique, nous aurons besoin d'un PNJ et de la série de points entre lesquels ils patrouillera. Pour définir la route de patrouille, nous allons placer une série de "xMarkerHeading" dans le monde, puis les relier de façon séquentielle. Tout d'abord, nous avons besoin de saisir un marqueur "xMarkerHeading" dans la Fenêtre d'Objet (via le filtre ou manuellement dans World Objects>Static) et placez-le près du lvlRaiderGun que nous avons créé ci-dessus.

Le marqueur lvlRaiderGun ne compte pas comme un point dans la patrouille. Les marqueurs que vous utilisez pour créer la route doivent se connecter les uns aux autres. Le PNJ peut être lié à l'un des marqueurs dans la route de patrouille, et commencera à patrouiller à l'endroit le plus proche lorsqu'il est créé.

Vous avez peut être remarqué un objet appelé "xMarker" dans la Liste d'Objets. La seule différence entre celui-ci et "xMarkerHeading" est l'affichage graphique. Ce dernier est généralement préféré en tant que destination du PNJ car la saillie triangulaire sur la face avant du rectangle représente la direction à laquelle un PNJ devra faire face lorsqu'il sera arrivé à cet endroit.

Maintenant que nous avons un point et notre raider, il est temps de relier les deux ensemble. Commencez par double-cliquer sur le marqueur lvlRaiderGun et aller dans l'onglet "Linked Ref" dans la boite de dialogue "Reference Properties". Cliquez sur le bouton "Select Reference in Render Window". La boite de dialogue rétrécira et le curseur se changera en une croix dans un cercle, comme ceci : [ATTACH]2563[/ATTACH]

[ATTACH]2569[/ATTACH]
Fig 1a: L'onglet Linked Ref dans la boite de dialogue Reference Properties

Ensuite, placez la souris sur le xMarkerHeading. Votre curseur doit se changer en blanc. [ATTACH]2564[/ATTACH]
Double-cliquez pour sélectionner, et la boîte de dialogue Reference Properties sera de retour. Notez que le xMarkerHeading est maintenant dans le Reference field[Domaine de Référence], et Vault74a est dans le Cell field[Domaine de la Cellule], appuyez sur OK. Lorsqu'il est sélectionné, les liens de référence affichent une mince flèche pour illustrer cette connexion. Sélectionnez votre liste de niveau et comparez avec la Fig 1b ci-dessous.

[ATTACH]2568[/ATTACH]
Fig 1b: La fine flèche indique un lien entre un PNJ et un objet xMarkerHeading

Les références non-persistantes [Non-persistent references] ne peuvent pas être sélectionnées, vous devez d'abord faire de l'objet une référence persistante[persistent reference]. xMarkers et xMarkerHeadings sont par défaut persistants.

Pour relier rapidement des références, utilisez la combinaison raccourcis "Maj + Q" et double-cliquez sur la référence que vous désirez lier à l'objet sélectionné.


Avec les waypoints[balises] de notre première patrouille liés, nous voulons dire au raider combien de temps il reste à un point avant de bouger. Pour ce faire, nous allons double-cliquer sur le xMarkerHeading que nous avons mis et indiquer combien de temps nous voulons que le raider reste à un point au cours de sa patrouille.

Double-cliquez sur le marqueur xMarkerHeading pour ouvrir la fenêtre Reference Properties. Sélectionnez l'onglet "Patrol Data", que l'on voit dans la fig. 1c ci-dessous. Cochez la case "Patrol Data" pour rendre disponible le champ "Idle Time". Pour cet exemple nous allons définir une minuterie de trois secondes. Appuyez sur "OK" pour définir ces données et continuer.

[ATTACH]2567[/ATTACH]
Fig 1c: L'onglet Patrol Data[Données de la Patrouille]

3.2 Création d'une Patrouille Basique

Les patrouilles ont besoin d'au moins deux points, nous allons donc créer un peu plus d'objet xMarkerHeading et les relier ensemble. Le PNJ peut être relié à n'importe quel waypoints de la patrouille donc nous pouvons le laisser seul pour l'instant.

Les données de la patrouille restent si vous faites des doublons, cela permet de gagner du temps : plutôt que de faire glisser de nouveaux objets à chaque fois vous placez votre premier marqueur et vous le dupliquez avec "Ctrl + D".


Créez trois autres autres objets xMarkerHeading dans la zone où vous souhaitez que ce raider
patrouille. En utilisant le même processus par lequel nous avons relié le lvlRaiderGun à notre
premièr xMarkerHeading, relier chaque nouveau xMarkerHeading au précédent. Lorsqu'ils sont
sélectionnés, votre liste de niveau et les quatre marqueurs devraient afficher une mince ligne fléchée
les reliant tous dans une sorte de chaîne.

Cette patrouille, qui doit imiter la figure 2a ci-dessous, est une patrouille "ping-pong". En laissant le
premier et le dernier points de la patrouille non-connectés, le raider marchera à partir du premier
point jusqu'au quatrième, puis reprendra en sens inverse.


Fig 2a: Quatre points d'une patrouille "ping-pong", qui va dans ce sens: 1>2>3>4>3>2>1
[ATTACH]2570[/ATTACH]
Si l'on avait lié le premier point au dernier point, la patrouille deviendrait un cercle complet et il
irait directement du premier point au quatrième point et retournerait au premier point. La figure 2b
est un exemple d'une patrouille circulaire de base de quatre points.


Fig 2b: Quatre points d'une patrouille "circulaire", qui va dans ce sens: 1>2>3>4>1
[ATTACH]2571[/ATTACH]

3.3 Création d'une Patrouille à l'aide de Idle Markers [Marqueurs d'Inactivité]

Dans le système actuel, notre PNJ va s'arrêter à chaque xMarkerHeading et rester en place jusqu'à
ce que le idle time [minuteur d'inactivité] soit épuisé. Nous pouvons une peu animer nos patrouilles
à l'aide des "Idle Markers", au lieu des xMarkerHeading. Lorsque nous remplaçons un
xMarkerHeading par un Idle marker, le raider jouera l'une des animations listées dans le marqueur
quand il aura atteint ce point, au lieu de faire du sur-place.

Pour afficher la liste des idle markers présents, allez dans Miscellaneous>Idle Marker' dans la
Fenêtre d'Objet, comme illustré à la figure 3a. Vous devrez peut-être entrer le préfixe "default" dans
le champ du filtre pour cacher les idle markers créés pour des applications spécifiques.

Utilisez des idle markers qui soit appropriés au type de PNJ/créature, car tous les PNJ
ne peuvent pas faire toutes les animations. Par exemple, un Écorcheur a des animations
unique, donc pour lui nous utiliserons un DeathClawIdleMarker.


Fig 3a: Emplacement des Idle Markers dans la Liste d'Objet.
[ATTACH]2572[/ATTACH]
Une importante mise en garde lorsque vous travaillez avec des Idle Markers : ils n'ont pas, par
défaut, de références persistantes. Pour les relier à une patrouille, vous devez d'abord les marquer
comme persistants. Pour ce faire, double-cliquez sur le idle marker pour ouvrir la boîte de dialogue
Reference Properties et cochez la case en bas Persistent Reference. Reportez-vous à la Fig. 3b ci-
dessous si vous ne parvenez pas à la localiser.


Fig 3b: Case Persistent Reference
[ATTACH]2573[/ATTACH]


Une fois que la case est cochée et que le marqueur est persistant, il vous suffit de le relier comme
nous l'avons fait ci-dessus avec les marqueurs xMarkerHeading. La Fig 3b ci-dessous est un
exemple de provided plugin d'une patrouille configurée en utilisant exclusivement des idle markers.

Il n'y a pas de point quand on utilise un Idle Marker sur une patrouille, à moins que
vous fixiez un idle time [temps d'inactivité] assez long pour que les PNJ/créatures
puisse choisir de jouer une animation. Lorsque vous voulez juste vous assurer que
votre patrouille passe par un point précis s'en s'y arrêter, utilisez un
xMarkerHeading sans idle timer[temps d'inactivité].




Fig 3c: Un exemple de patrouille utilisant les Idle Markers
[ATTACH]2574[/ATTACH]

4 Configuration d'une Sandbox[bac à Sable]

Le raider que nous avons placé a d'autres comportements par défaut que nous pouvons employer : le sandbox behavior[litt.: comportement bac-à-sable].

Sandbox behavior est un package de base qui dit au PNJ de se promener dans la zone et d'interagir avec n'importe quel objet à proximité. Pour la salle principale de notre plugin, ajoutons deux raiders avec des Sandbox packages.
Créer un nouveau (ou dupliquer celui existant) lvlRaiderGun dans votre espace. Pour un changement de rythme, nous allons ajouter un "lvlRaiderMelee". LvlRaiderMelee est exactement comme lvlRaiderGun sauf qu'il ne crée que des personnages de mêlée.

Lorsque vous placez des groupes de plusieurs ennemis, c'est souvent une bonne idée d'ajouter un ennemi de mêlée spécifique. La combinaison d' ennemis de mêlée et à distance crée une situation dans laquelle le joueur a besoin d'utiliser intelligemment l'environnement.

La plupart des listes de niveaux de PNJ ont plusieurs variantes d'armes. Les plus communs sont Melee, Gun et Spécial. Les listes de niveaux avec la mention 'Special' génère normalement un PNJ avec un lance-flammes, un lance-missiles ou un Minigun.


Tant que nous ne relions pas les raiders, ils seront reliés par défaut à leur sandbox package.
Toutefois, sans équipement ou idle markers pour interagir avec, votre PNJ errera simplement dans la zone ou restera sans rien faire.
Apportons donc quelques marqueurs d'équipement[furniture markers] à la zone dans laquelle les raiders évolueront.
La Fig 4b ci-dessous montre quelques objets d'équipements que nous pouvons utiliser. Ce sont: PushUpsMarker, ChairVault01R, WallMarker, et Microscope01, mais il en existe d'autres que vous pouvez expérimenter.


Fig 4a: Emplacement des Marqueurs d'Equipement dans l'Editeur
[ATTACH]2575[/ATTACH]


Fig 4b: Exemples de Marqueurs d'Equipement
[ATTACH]2576[/ATTACH]


Les personnages bleus dans les marqueurs d'équipement imitent l'animation que le PNJ jouera lors de son utilisation. Cela rend plus facile la mise en place d'éléments comme le mur de soudure et les animations qui interagissent avec des surfaces/objets. Si vous ne pouvez pas voir ces marqueurs, appuyez sur "M" pour changer la géométrie du marqueur.

Quand un élément d'équipement affiche plus d'un marqueur de personnage bleu, vous voyez un point d'entrée. ChairVault01R, par exemple, doit être placé sur une surface dégagée, l'aire navmeshée doit être sous le marqueur du personnage debout, parce que c'est de ce côté que le PNJ essayera de s'assoir.

Si un marqueur d'équipement est composé d'un objet visible, cet objet apparaîtra dans le jeu. Par exemple, en plaçant un marqueur d'équipement contenant une chaise on mettra aussi la chaise dans le monde donc vous n'aurez pas à la placez vous-même. Les marqueurs de personnage blanc et bleu n'apparaîtront pas dans le jeu, ils aident juste au placement.

La mise en place d'une sandbox est aussi simple que de placer les marqueurs autour de la zone. Alors que les raiders se baladent, ils interagiront avec tout objet approprié dans un rayon de 512 unités de leur emplacement actuel. La Fig 4c est un exemple de la grande galerie où l'on a placé deux raiders et les marqueurs d'équipements mentionnés ci-dessus.

Fig 4c: L'Abri 74 avec la sandbox d'équipement placée
[ATTACH]2577[/ATTACH]

Les PNJ interagiront aussi avec les idle markers dans les zones de leur sandbox. Les mêmes règles s'appliquent, y compris le rayon par défaut de 512 unités dans lequel ils iront chercher des objets.


Le prochain cours de cette série couvrira comment peupler l'Abri 74, avec des éléments Non-PNJ tels que les pièges, les portes verrouillées et les tourelles.

Edited by soifran

Ok...ca c'est fait...suivant...
banecteamsoifranv2.png

FOMM à jour

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...