Conseils sur les AI.
Ce tutorial fait suite à celui sur les "Pathnode_flag" . Je vous conseille vivement de vous y référer le plus possible.

retour au sommaire

Titre original "AI TIPS" du site .map
Traduit par Tropheus aidé de Whisky et Pitivier.

Vers le tutorial "pathnode-flag"

Leash

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.



Le Choix de l'Ennemi


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.


Comment l'AI repère Un Ennemi

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:

Range

Scale

0.000

  0.000

 0.250

 0.500

 0.500

  0.750

 0.750

 1.000

 1.000

  2.000


- 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.


Donner un semblant d'intelligence à une AI.

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