Historique des modifications - Message

Message #2605

Sujet: Intelligence artificielle : creation de bots


Type Date Auteur Contenu
Création du message 08-07-2007 08:56:21 firnafin
salut,

De retour de vacance il a une tonne de new topic , je commence par celui la car l'ia c'est une passion.
Donc deja comme tous l'on plus ou moins dit l'idée de camera est tres mauvaise car elle consomera enormement de ressource et cela juste pour eviter de programmer une fonction "move" et "trun" ( qui sont tres simple a faire en 2D comme ici pour le FPS qui est groso-modo du 2D ) c'est domage.
Pour la "vision" c'est tres simple il y a une merveille mathematique qui la chose la plus utilise en multi-dimension c'est .... LE PRODUIT SCALAIRE , et oui tres pratique pas groumand , bref genial , Pourquoi ?

un premier vecteur : position perso-position perso
un second vecteur : où regarde le bot ( tete ou corps selon si il bouge la tete ou pas )

produit scalaire des deux = norme de l'un * norme de l'autre * COS( angle entre les vecteurs )
( notation = <.|.> ou (.|.) )
( dotProduct pour irrlicht, a voir ds la doc )

donc en gros si tu travaille ac des vecteurs normlisés sa te donne une valeur entre -1 et 1 ou :

1=en face
0=Pi rad
  • 1=derrier


donc au finale ca donne le cone de l'aigle (Eagle4 parle de LOF ) avec un simple teste du style if( (v1|v2)<0.5 ) ...
qui se traduit par si le joueur est des le champ de vision du bot qui est un cone a PI/4 rad d'angle .


Si ta map est simple tu fais un gros cadrillage pour les testes des murs sinon tu fait ca avec un systeme de collision
Pour les deplacements le plus simple comme tous l'on dit aussi c'est un pathfinding ( A*, Dijkstra en n*log(n) donc faible consomation CPU ).
ton ia est fini ( la plus basique qui soit mais qui marche et peut faire une base evolutive )
Pour l'aspect modulable de l'ia ( tu parle de dl une ia ) fait le en script ( LUA par exemple ) tu y perds en performence mais si c'est bien codé cela reste raisonnable.

Voila j'espere que ca t'aidera un peut

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
563 invités en ligne
membre en ligne: -
RSS Feed