Titre original "AI
TIPS" du site .map
Traduit par Tropheus
aidé de Whisky
et Pitivier.
Vers le tutorial "pathnode-flag"
Les leashes (distance
de" lien" entre une AI et sa référence
(une autre AI) comme une "laisse") sont remises
à zéro dans les conditions suivantes :
* Si le fixedleash est 0
(paramètres touches "I")
et la AI ait "turret" ou "cover" comme
type d'attaque, la base de leash est remise à zéro
pour cette AI..
* Si la AI est attachée à une entité et que
cette entité bouge, la base de leash est
remise à zéro en fonction de cette nouvelle origine,
et ceci indépendamment de la valeur du fixedleash.
* Si la AI est soumise à la commande "resetleash", la base de leash est remise à
zéro en fonction de cette nouvelle origine, et ceci indépendamment
de la valeur du fixedleash.
* Précisions apportées par Pitivier.
un test m'a permis de démontrer que plus le leach est bas
plus l'AI vous attaquera au corps à corps.
Un leach à 512 et l'AI se dirigera vers un pathnode (avec
spawnflags).
Un leach à 250 et l'AI vous affrontera au corps à
corps. Ajoutez lui un accuracy de 300 et vous verrez vous perdrez
du poid (euh de l'energie pardon)
Merci Pitivier
Les AI peuvent laisser leurs leashes
pour les raisons suivantes:
* Elles répondent à une grenade.
* Elles sont soumises à n'importe laquelle des commandes
"moveto" dans le script qui leur indique d'aller
en dehors du leash, de la même façon qu'une AI alliée
"friendly" suit le joueur.
* Elles doivent suivre un chemin
de patrouille qui les amène en dehors de
leur leash.
* Elles courent à un noeud
d'alarme.
La AI sélectionne le meilleur ennemi à
attaquer en fonction :
- de la distance entre lui et cet ennemi.
- du nombre d'AI attaquant cet ennemi en particulier.
- l'arme de l'enemi.
- si l'ennemi est complètement visible ou non.
- si l'ennemi est déjà touché (souffre) ou
non .
Les AI préfèrent ne pas changer d'ennemi, mais il
le feront si un nouvel ennemi apparait avec un niveau de menace
plus élevé.
Quand une AI change d'ennemi, il transfère "sa connaissance parfaite"de
cet ennemi (existence et localisation)
à toute autre AI dans son escadron qui est à moins
de 512 unités ou dans sa ligne de mire et n'est pas en
dehors de son "enemysharerange".
Ce transfert d'information a lieu 0,5 secondes après qu'il
ait changé d'ennemi. Toute AI qui est au courant de l'endroit
du nouvel ennemi peut maintenant décider soit d'attaquer
le nouvel ennemi, soit de continuer à attaquer l'ennemi
qu'il était en train d'attaquer.
Dès qu'une AI mettra son arme en action, toute autre AI
dans le "rayon de son" de cette arme saura immédiatement
que l'arme a été mise le feu et par qui et où
le tireur était. Ce rayon est actuellement le même
pour toutes les armes.
Notez que c'est seulement comment une AI détecte l'
ennemi, car une fois qu'il l'a repéré, sa vision
est faite par un traceline simple, sans toute cette vérification
supplémentaire.
La détection d'une AI est réalisée et basée
sur le temps pris pour détecter cet ennemi selon les conditions
courantes. Ceci est basé sur combien de temps s'est écoulé
depuis que les conditions ont été vérifiées
pour la dernière fois. Ce temps est traduit en pourcentage;
par exemple, s'il s'est passé 1 seconde depuis que nous
avons pour la dernière fois vérifié, et que
cela nécessite 3 secondes pour détecter l'ennemi,
l'identification augmente de 33,3 %.. Quand l'identification de
pourcentage atteint ou excède 100%, l'ennemi est aperçu.
Le temps d'identification standard est de 2 secondes. Il y a des
multiplicateurs à ce temps basé sur la fonction
de LMRF (light, motion,
range, fov).
Le temps d'identification est multiplié par tous ces facteurs
pour obtenir le temps réel d'identification.
* La partie LIGHT:
- si l'ennemi a le même éclat que l'individu, la
balance light est de 0,5 pour des secteurs lumineux et de 2,0
pour des secteurs sombres.
- si l'ennemi est beaucoup plus brillant, que lui, la balance
light est de 0,125
- si l'ennemi est beaucoup plus sombre, que lui, la balance légère
est 8
(ndt : Je pense qu'il faut comprendre par
"sombre" et "brillant" "dans l'obscurité"
et "éclairé".)
* La partie MOTION:
- attribué aux joueurs par le fichier d'état (state
file); elle s'étend de 0,2 en sautant en avant à
1,25 en étant accroupi tout en ne se déplaçant
pas
- couramment non réglée pour la AI, dans ce cas,
elle reste à 1 pour la AI.
* La partie RANGE:
- Portée de vue de l'individu; en utilisant une échelle
normale de 0-1, les balances sont comme suit:
|
|
|
|
|
|
|
|
|
|
|
|
- la portée normalisée est la portée courante
divisée par la portée maximum. Pour les niveaux
embrumés, la portée maximum est couverte à
82,8% du farplane.
* La partie de FOV:
- placez à 1 pour directement en avant, et à augmentations
à 1,25 à la périphérie
En plus de ceci, il y a également un temps minimum de vue
qui est une fonction de FOV. Il est presque 0 pour directement
devant la AI, et environ 1 seconde pour la périphérie.
Ceci permet à l'AI de tourner sa tête pour regarder
quelque chose avant de la voir.
Voici une liste non-ordonnée de procédures pour rendre l'AI intelligente:
* Placez les entités "d'info_grenadehint"
dans les portes et les fenêtres. Ce ne sont que des points
par lesquels la AI essayera de jeter des grenades. Elles n'ont
aucun paramètres, et elles n'entrent pas dans le décompte
des entités, mais elles peuvent rendre l'AI beaucoup plus
futée.
* Placez les noeuds SNIPER
aux portes et aux fenêtres, dans le cas ou l'AI ne peut
pas y arriver sans laisser leur leash, ou parce qu'il n'y a pas
chemin (path), ou à parce que la AI n'a pas un angle pour
tirer un type dans un bâtiment de la rue.
* Placez les noeuds de COVER
(COUVERTURE) et CONCEALMENT
(DISSIMULATION) dans la mesure du
possible, sans cela l'AI courrera continuellement dans des escaliers
ou changera fréquemment de pathnode.
Enlevez un noeud de couverture si ce n'est pas une bonne couverture,
ou si la AI commute fréquemment entre elle et une meilleure
couverture.
* Assurez-vous que vous avez donné les angles corrects
pour des noeuds de CORNER
, de CRATE, et de
SNIPER.
* Jouez avec le placement et l'orientation exacts des noeuds spéciaux
pour obtenir de l'AI qu'elle semble suivre le chemin le plus plausible.
* Il n'est pas interdit de resserrer un peu les noeuds si cela
doit rendre l'AI plus intelligente.
* Placer des noeuds de couverture avec les spawnflags suivants
COVER, CORNER_left, CORNER_right,
et CRATE tant que
cela vous chante.
* Ayez les noeuds de couverture visant un ou plusieurs autres
noeuds si vous voulez que la AI saute uniformément dehors
à un endroit connu. Par exemple, vous pouvez mettre des
noeuds de dégagement à gauche et à droite
d'un pilier qui sert de couverture. ( Si
si c'est possible de "targeter" un pathnode sur plusieurs
pathnodes, mais ceux-ci doivent avoir le même targetname)
(ndt : Je pense que l'AI "choisira"
le plus adéquat pour sortir.)
* Placer autant que possible vos points de spawn proche des points
de couverture où vous vous voulez qu'ils aillent.
* Eviter le plus possible de mettre un grand nombre de personnages dans un espace réduit. Fondamentalement, ne mettez pas un type dans la carte qui ne pourra pas avoir le comportement requis comme les autres AIs. C'est en particulier un problème si vous avez un secteur où tous les gars peuvent se mettre à couvert sauf un.
* Ne donnez pas de grenades à deux groupes proches les uns des autres.
* Seulement un ou deux types devraient avoir des grenades, sinon vous risquez d'avoir un lancé synchronisé de grenades.
* Placez soigneusement vos pathnodes! Ne les mettez pas trop près du terrain s'il est complexe au niveau géométrie vous risqueriez de coincer l'AI.
* Ne surchargez pas l'AI de commandes de mouvements.
* Sélectionnez un leash, un mindist, et un maxdist appropriés.
C'est très important! En prenant un leash trop petit et/ou
un maxdist trop petit, vous empêchez l'AI de se mettre à
couvert et par conséquent vous la rendez stupide. Employez
seulement un petit maxdist si vous voulez que la AI charge son
ennemi.
* Laissez la AI neutralisée aussi longtemps que possible
(self ai_off). Si un type est dans une salle verrouillée,
laissez sa AI sur off jusqu'à ce que la porte soit déverrouillée
et/ou ouverte (self ai_on).
* Le lightgrid influence la rapidité avec laquelle une AI verra un ennemi. Si vous ne compilez pas avec - extragrid pour la partie light, vous n'aurez pas une idée précise de combien de temps il faudra à une AI pour voir un ennemi.
* La AI qui "spawn" à moins de 1024 unités d'une autre connait automatiquement son existence, en rejoignant le"peloton". L'AI dans une escouade n'est pas étonnée ou curieuse des bruits produits par sa propre escouade. En outre, seulement les "squadmates" reçoivent les messages des ennemis.
*Ramenez l'"enemysharerange" à 1 pour les types qui vont faire sauter le pont, de sorte qu'ils courrent seulement si le joueur les voit.
Bon j'espère vous avoir mis sur quelques pistes pour vos
map.
A bientôt !
Retour au sommaire
Tropheus