Voyage au pays de l'IA

Tout sur notre Mod favori

Message par Le_Chat » Ven Oct 14, 2005 3:34 pm

Depuis le début des mes études, l'IA (intelligence artificielle) est un domaine qui m'a toujours passioné.
Comprendre comment nous réfléchissons, et essayer de faire reproduire par des machnies les comportements d'individus tel IVG :ptdr: est un challenge sans fin :huh:

Ces derniers jours j'ai profité des quelques moments où j'étais pas trop mal en point pour essayer de pénétrer le monde des Bots de BF.
Le tout pour l'appliquer à notre train map 79th-Foy-01 et à son stand de tir :aie:

Initialement les bots me semblaient comme un groupe d'individus décérébrés tout juste bon à se prendre les pieds dans le moindre objet, à avancer puis faire demi-tour, et à se faire massacrer sans se poser de questions :angry:
(qui a dit de bons soldats ? :niko: z'allez vous expliquer avec les pro. de la team :aie: )

Finalement je viens de découvrir un univers stratégiquement passionant ... et si les bots semblent débiles parfois, c'est plutôt parceque les programmeurs stratèges le sont.
Comme quoi ya pas de mauvais soldats juste des généraux incapables :ptdr:
(Ca , çà va leur faire plaisir aux pro. de la team :ane: )

Je me suis dit que çà interesserait certain d'entre vous de comprendre comment fonctionnent nos petits bots (je deviens presque paternalistes avec eux maintenant :nonox: ).
En effet je pense qu'avec BF², le système aura peut être encore évolué, et pourquoi pas enviseager des trains "le Chat et ses Bots" contre "Mac et ses Boys" pour tester nos strats.

Voici donc comment çà marche.

A ) Ils regardent leur pieds
En effet les bots ne voient pas les objets du jeu.
Imaginez les entrain de regarder le sol en permanence.
Mais à la différence de vous, ils ont sous les pieds une carte en noir et blanc.
Noir = zone interdite
Blanc = zone autorisée
Sachant qu'il existe une carte par niveau (sol - étage des maisons), une carte pour chaque type de véhicule (on ne va pas en tank aux même endroit qu'à pied (eau)) etc etc....
Donc la prochaine fois que vous voyez un bot courir comme un forcené contre un mur, une table, un arbre ... :ane:
un peu d'indulgence, ce n'est pas de sa faute mais de celle du mappeur qui a déclaré ce mur comme zone autorisée :spamafote:
Pareillement si un bot se fait "souffler" par une explosion et se retrouve en zone interdite, il ne bougera plus de peur de se faire engueuler :ptdr:

Ensuite quand un bot arrive au bord d'une zone interdite, il va la longer toujours pour essayer d'atteindre son objectif. Beaucoup de chose sont paramètrables (angle de rotation fréquence (lissage de la course) etc etc ...)

B ) Son objectif
Ehh oui nos bots savent où ils vont :blink: , je sais çà n'a pas toujours l'air évident :ptdr:
En fait le répertoire IA dans le fichier map.rfa, comprend 4 fichiers :
>> StrategicArea.con
>> Strategies.con
>> Prerequisite.con
>> Conditions.con

Dans StrategicArea.con on défini des zones strategiques sur la map.
Par exemple sur ma map 79th-Foy-01, j'ai défini 10 zones strategiques
>> Les cinq bases et flags.
>> 5 Waypoints , qui sont des points de passage ou de couverture pour une attaque
(2 à l'Ouest pour le controunement, un au Nord idem, un à l'Est idem, et un au centre pour le soutient).

Ces zones sont affectées :
>> d'un coefficient d'importance stratégique (valeur en points)
>> d'un type (flag, waypoint, flank etc etc ...)
>> de lien avec les certaines autres zones

On va donc ainsi donner des objectifs aux bots (respawn à la colline, va vers le waypoints West, puis vers la grange, puis va prendre l'Eglise).
Voici ce que cela donne visuellement (79th-Foi tel que vous ne l'avez jamais vu B) )

user posted image
Mes deux bots se dirigent (ligne rouge) vers le Waypoint de contournement Ouest (rectangle bleu dans le ciel)


user posted image
Ils approchent de l'objectif : on voit Joe Hoffman à droite passer en mode resetcontrol

user posted image
Voilà c'est fait : Fancis et Joe ont recu leur nouvel objectif : La grange

Les objectifs sont sélectionnés par un classement au points.
A tout moment, les SA (zone Strategiques) sont classées par points et lorsqu'un bot arrive à destination, et passe en "resetcontrol" il parcourt les zones connectées à celle qu'il vient d'atteindre et choisi celle qui a le plus d'importance (point).

Alors vous me direz ils vont toujours vers les même endroits (ceux à qui l'on a donné le plus de point :blink: ), et bien non car c'est là qu'interviennent les scenarios strategiques B)

C) Les scénarios Strategiques
Les bots ont un "Mac" à eux :ptdr:
Et non seulement il l'écoute (pas comme tous les 79th :niko: ) mais en plus "MacBot" est super efficace :ane:
(ne me faite pas dire ce que je n'ai pas dit :aie: ).
A tout moment il compulse les conditions de bataille (indiquées dans le fichier conditions.con) et les circonstances particulières (indiquées dans prerequisite.con) et décide logiquement quelle est la meilleure stratégie à appliquer.

Par exemple
:fleche: Si l'on a trois flags (condition), et au moins 4 gus à l'Est (circonstance) on s'arrète et on défend :angry:
:fleche: ou , Si l'on a que le flag centre (condition) , et 4 mecs en objectif zone Nord (circonstance), on passe au scénario attaque Eglise par le Nord B) et on défend la ville.

Chaque scénario (il peut y en avoir un grand nombre), est validé en permanence (et peut être annulé), il est limité dans le temps (par exemple 200 secondes maxi) et peut être remplacé par un plan B quand çà merde :lol:
(Chose que l'on a bien du mal à faire chez les 79th parfois :niko:

Ainsi la qualité des attaques/défenses, est réellement fonction du soin apporté à l'élaboration des stratégies ...
Je peux vous dire que ni les sbires de Dice, ni les moddeurs de FH ne sont de grand stratèges d'équipe :ane: , chacun son métier.

Regarder à nouveau les screens-shot précédents, dans le coin en haut à Gauche et vous verrez que les Axes suivent le scénario attaque West alors que les Alliés sont en mode attaque CentreUS (deux scénarios que j'ai défini pour le début de partie), ce qui n'empèche pas Joe et Francis d'effectuer un contournement par le flanc Ouest

D) De la tactique à l'action
C'est bien beau de définir les objectifs mais comment passe t'on de la théorie à la pratique.
Tout est alors dans le fichiers Strategie.con, qui pour chaque scénario, va définir le nombre d'attaques ou défenses simultanées, le %age de la team affecté à chaque tâche, la durée de l'action, et va modifier le "poids initial" des zones Stratégiques.

Pour bien comprendre imaginez une map (Bataille des Ardennes) ou vous avez une base arrière prenable, vous allez lui donner une importance stratégique haute 200pts par rapport à un flag comme le flag Nord Est (50pts).
Mais en début de partie si vous constituez un scénario de défense des ponts, vous allez devoir indiquer à vos bots de ne pas rester à la base mais d'aller respawner au Nord-Est pour "piller du teuton" :aie: . Il va donc falloir surpondérer les flags par rapport à la base. Vous indiquerez donc dans votre scénario que les bases ont alors un coef. de 0.2 (200*0.2=40pts), et les flags un coef. 2 (50*2=100pts).
De même vous indiquerez un système de défense avec 100% de la team en défense.

Conclusion
Bref, un bel outil, complétement sousestimé parceque mal utilisé par les mappeurs.
Je vais un peut bosser sur 79th-Foi pour voir ce que çà peut donner

Avec un peu de pratique, je pourrais même dans le futur "encoder" certaine de nos stratégies pour voir ce que çà donne vu d'en face et trouver les points faibles.

Quand à FH², si cet outils là aussi progresse, je n'ose même pas imaginer le carnage.
En tout cas une chose est sur, après le moteur de tir, et les squelettes de collision, c'est un point que je regarderai en priorité :)

Miaou à tous et merci d'être arrivé jusque là :ptdr:
:vodka:
Dernière édition par Le_Chat le Ven Oct 14, 2005 3:45 pm, édité 1 fois.
Raison : Le_Chat
Il est difficile d'attraper un chat noir dans une pièce sombre ... surtout quand il n'y est pas !
IPB Image
Avatar de l’utilisateur
Le_Chat
Perfusé à la Vodka
Perfusé à la Vodka
 
Message(s) : 3589
Inscription : Ven Jan 07, 2005 9:39 am
Localisation : Villelaure (Vaucluse)

Message par bilout » Ven Oct 14, 2005 3:56 pm

Qui a de l'aspirine ???

Niki, ne regarde pas tu risques de te faire encore plus mal au nieux. :lol:

Comme d'hab, Le_chat tu ne fais pas les choses à moitier. Tu devrais faire partie d'une équipe de moddeur.

Sinon pour revenir sur le sujet, l'IA est un sujet pationnant au niveau informatique, avec les réseaux de neurones et tout le tintouin. Mais bon faut franchement du courrage pour continuer la dedans.
Image
Avatar de l’utilisateur
bilout
Ivre mort
Ivre mort
 
Message(s) : 5083
Inscription : Jeu Oct 28, 2004 2:17 pm
Localisation : Paris 14

Message par Umberto » Ven Oct 14, 2005 4:09 pm

:huh: :o ;) :P :D :lol: B) :rolleyes: <_< :) :angry: :( :unsure: :blink: :ph34r: :spamafote: :niko: :aie: :ane: :ptdr: :vodka: :nonox: :mmmm :fleche:

j suis épuisé.
Code : Tout sélectionner
[url=http://bf3stats.com/stats_pc/umberto277][img]http://g.bf3stats.com/pc/h1poGfV8/umberto277.png[/img][/url]
Avatar de l’utilisateur
Umberto
Buveur de Margarita
Buveur de Margarita
 
Message(s) : 1416
Inscription : Jeu Fév 03, 2005 9:55 am

Message par McLaren Boy » Ven Oct 14, 2005 4:32 pm

vous êtes mauvaise langue!!!

J'ai bien aimé, surtout la comparaison avec la team!!! ("le Chat et ses Bots" contre "Mac et ses Boys")


Tu t'es dépassé, sur ce coup-là!!
"La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours." Napoléon Bonaparte
Image
Avatar de l’utilisateur
McLaren Boy
Dieu du bar
Dieu du bar
 
Message(s) : 9159
Inscription : Dim Juil 25, 2004 9:36 am
Localisation : Terville (Moselle)

Message par Le_Chat » Ven Oct 14, 2005 6:05 pm

Tiens un autre screen B) dans la série "dans qq secondes je suis mort" :aie:


user posted image

:vodka:
Il est difficile d'attraper un chat noir dans une pièce sombre ... surtout quand il n'y est pas !
IPB Image
Avatar de l’utilisateur
Le_Chat
Perfusé à la Vodka
Perfusé à la Vodka
 
Message(s) : 3589
Inscription : Ven Jan 07, 2005 9:39 am
Localisation : Villelaure (Vaucluse)

Message par GuiGNoL » Ven Oct 14, 2005 6:53 pm

Bravo !
:vodka:

Et concretement tu vas creer une map integrant de facon "intelligente" des bots, qui auront un objectif predefini, et contre lesquels les 79th devront appliquer eux-meme la "contre-strategie" pour les mettre en echec ?
:rolleyes:
user posted image

user posted image
Avatar de l’utilisateur
GuiGNoL
Buveur de Pastis
Buveur de Pastis
 
Message(s) : 960
Inscription : Mar Fév 01, 2005 2:11 pm
Localisation : SAINT-OMER (Pas-de-Calais)

Message par Le_Chat » Ven Oct 14, 2005 8:27 pm

Vivi,

En premier lieu, j'essaye d'envoyer les Axes sur Foy à l'assaut du stand de tir :lol:
En définissant des "chemins" transversaux , de biais, etc etc ...
Avec les tables et le matos, çà permettra à chacun de s'entrainer au tir au lapin en fonction de la trajectoire du bot (et donc de règler l'avance de tir) en fonction de l'arme.

Par la suite, on pourra étendre comme tu le dis , vers une strat complète pour les bots avec variation de tactique, pour nous entrainer à évoluer nous aussi en cours de partie.

Dès que je suis un peu au point sur Foy (qui est plus facile parceque tout le monde marche :lol: ) , je m'essayerai à Supercharge :D On va en bouffer du flag 4 :ptdr: :ptdr: :ptdr: :aie:

:vodka:
Il est difficile d'attraper un chat noir dans une pièce sombre ... surtout quand il n'y est pas !
IPB Image
Avatar de l’utilisateur
Le_Chat
Perfusé à la Vodka
Perfusé à la Vodka
 
Message(s) : 3589
Inscription : Ven Jan 07, 2005 9:39 am
Localisation : Villelaure (Vaucluse)

Message par Rage » Ven Oct 14, 2005 9:54 pm

Extrait du magasine "Science et préhistoire" du 15mars 2820


Nos sources nous l'ont confirmé y a de ca plus de huit cent ans, un humain, qui avait le pseudonyme virtuel d'un félin de l'époque a vécu. Il était le premier d'une longue lignée d'humains mutants, lié de près a l'homo sapiens sapiens.
Lignée dont on a retrouvé quelques fragments derrière une étrange machine, probablement l'ancètre de nos cerveaux artifiels actuels. Il semble, d'apres les marques de ses doigts, de ses talons et les restes de ses globes occulaires, qu'il passait énormément de temps derrière cette machine préhistorique.
Les archéologues ont eu du mal a déplacer le squelette, mort en position assise derrière la machine.
De même les scientifiques désiraient donner leur nom a cet ancêtre mutant de la lignée homo sapiens, mais le milieu scientifique a prit la décision de le baptiser homo geekus sapiens.




:ane:



ps : t'es felé le chat, mais c'est super intéressant ^^
Le Fumi... c'est la vie !
Quand Chuck Norris dit "ta gueule", il te prévient juste de l'endroit où il va frapper...
"Schwimmwagen", what else ?
Image
Avatar de l’utilisateur
Rage
Buveur de Margarita
Buveur de Margarita
 
Message(s) : 1369
Inscription : Mar Jan 19, 2038 4:14 am
Localisation : A coté de ma Stella

Message par Joubinator » Sam Oct 15, 2005 10:36 am

Super comme info !

Je m'etais interessé à la chose sur Counter Strike afin de comprendre pourquoi par moment ils etaient si forts, et d'autres moment si stupides!

Et comme toi LE Chat j'en etais arrivé à la meme conclusion : "si les bots semblent débiles parfois, c'est plutôt parceque les programmeurs stratèges le sont." :rolleyes:

Mais bon j'avais pas su pousser mon analyse aussi loin (j ai pas une formation d'informaticien :( , mais je suis curieux ;) )
IPB Image
Vive le jeu en équipe!
Avatar de l’utilisateur
Joubinator
Buveur de jus de fruits
Buveur de jus de fruits
 
Message(s) : 91
Inscription : Lun Juil 11, 2005 1:25 pm
Localisation : France (Yvelines)

Message par Le_Chat » Sam Oct 15, 2005 11:21 am

Merci de vos réactions, çà montre que je ne suis pas le seul à vouloir jeter un coup d'oeil derrière le rideau :ph34r:

Maintenant un petit voyage dans le temps :nonox:
En fait Joubi, je n'ai pas une formation d'informaticien :ane: , because quand j'ai fait mes études :blink: çà n'existait pas :ptdr: .
Y'avait juste quelques Z80 qui trainaient et on s'essayait à l'assembleur :( ,
Pendant ce temps à la fac. on avait des machines à perforer les cartes (format 10 X 20 cm) c'était comme des grosses machine à écrire de la taille d'un orgue électronique

user posted image

Chaque carte représentait une ligne de code Fortran de 80 caractères maxi
"For X=1 to 43" par ex.

On trimballait nos paquets de cartes avec un élastique autour :lol: en faisant bien attention à ne pas faire tomber le paquet par terre :aie:

Puis on mettait le paquet dans une liseuse de cartes
user posted image

Et la grosse imprimante nous sortait un listing résultat , le plus souvent avec erreurXXX, et il fallait retrouver la carte fautive, la corriger recompiler etc etc ....

Avec cela on faisait des programme super utiles comme :
"trouver tous les Vendredi 13 d'ici à 2020" :idefix:
ce qui paraissait comme la fin des temps.

Depuis chaque Vendredi 13 , je repense à cette belle époque :D

Ahh si j'avais acheté des actions de la Start-Up Microsoft au lieu de claquer mon pognon en jouant au flipper :ane:

Bref tout cela pour dire, que 9 fois sur 10, y'a pas besoin de formation informatique faut juste être curieux, aller sur quelques forum (çà c'est un super progrès pour ceux qui aiment apprendre sur le tas) et on trouve :)

L'idée aussi d'aller voir dans l'IA ce que le moddeur a voulu faire, c'est que comme le dit souvent Guignol le mappeur a une idée en tête. Par exmple il dispose son matos de façon a équilibrer la carte. Ssouvent on se demande pourquoi tel véhicule est là :blink: mais il y a souvent une idée précise.
En allant voir l'IA, çà peut nous donner une idée de quelques trucs côté stratégie.
Par exemple via la définition des zones Stratégique :huh:

Miaou à tous
Signé : homo geekus sovietus sapiens
:vodka:
Il est difficile d'attraper un chat noir dans une pièce sombre ... surtout quand il n'y est pas !
IPB Image
Avatar de l’utilisateur
Le_Chat
Perfusé à la Vodka
Perfusé à la Vodka
 
Message(s) : 3589
Inscription : Ven Jan 07, 2005 9:39 am
Localisation : Villelaure (Vaucluse)

Message par IVG » Sam Oct 15, 2005 12:06 pm

vraiment tres interressant si tu y arrive pour tester nos strat a lavance et si c jouable


bon courrage :vodka:
Image
Avatar de l’utilisateur
IVG
Buveur de Vodka
Buveur de Vodka
 
Message(s) : 2757
Inscription : Ven Juin 03, 2005 10:07 pm

Message par bilout » Sam Oct 15, 2005 4:23 pm

Rage a écrit : Extrait du magasine "Science et préhistoire" du 15mars 2820


Nos sources nous l'ont confirmé y a de ca plus de huit cent ans, un humain, qui avait le pseudonyme virtuel d'un félin de l'époque a vécu. Il était le premier d'une longue lignée d'humains mutants, lié de près a l'homo sapiens sapiens.
Lignée dont on a retrouvé quelques fragments derrière une étrange machine, probablement l'ancètre de nos cerveaux artifiels actuels. Il semble, d'apres les marques de ses doigts, de ses talons et les restes de ses globes occulaires, qu'il passait énormément de temps derrière cette machine préhistorique.
Les archéologues ont eu du mal a déplacer le squelette, mort en position assise derrière la machine.
De même les scientifiques désiraient donner leur nom a cet ancêtre mutant de la lignée homo sapiens, mais le milieu scientifique a prit la décision de le baptiser homo geekus sapiens.




:ane:



ps : t'es felé le chat, mais c'est super intéressant ^^

Tu te défend pas mal non plus Rage question "anticipation" ...

En tous cas Le_chat, si tu t'en sorts bien et que tu arrivent à les rendre intelligent, on pourra les envoyer à notre place pour faire les matchs :lol: :lol: :lol:
Image
Avatar de l’utilisateur
bilout
Ivre mort
Ivre mort
 
Message(s) : 5083
Inscription : Jeu Oct 28, 2004 2:17 pm
Localisation : Paris 14

Message par Chatton » Sam Oct 15, 2005 4:57 pm

Quand je suis face à un bot ennemie et qu'ils me regarde beâtement je me dit:
" Mais qu'est qu'il est con"
Mais maintenant je suis plus compatisant avec eux, bon jobb le_chat, je pense que tu va pour voir nous clonner des IVG a l'infinnis pour pouvoir s'entrainer au sniper :aie:
Dernière édition par Chatton le Dim Oct 16, 2005 3:06 pm, édité 1 fois.
Raison : Chatton
IPB Image
Les absents ont toujours tort.
Avatar de l’utilisateur
Chatton
Buveur de sirop
Buveur de sirop
 
Message(s) : 217
Inscription : Lun Fév 28, 2005 8:34 pm
Localisation : Frankfurt


Retour vers Forgotten Hope

cron