Je programme(Java) actuellement un jeu a la Final Fantasy Tactics et jai fait un IA pour pouvoir controller les mouvement/action des personnages enemies. Ayant aucune pas vraiment de connaissance dans le domaines, je me demendais si je dirigeais dans la bonne direction.

Step1:
Il prevois toute les possibilite de mouvement trois tour a lavance, ensuite, pour chacun de ses mouvement, il cherche quelles sont les meilleures attaque a ces position donne. Il ajoute ensuite un pourcentage de la valeur de la meilleures attaque du tour suivant au a la valeur de lattaque du tour actuel.
Cette methode retourne matrice des movement possible du personnage, avec leur attaque ( et la valeur de celle ci) correspondate.
Avec ceci, le personnage prend en compte les tour avenir et calcul sa meilleur position et attaque par rapport a ces attaques.

Step2:
La deuxieme methode calcule, pour chaque case, le facteur danger. Le facteur danger est calculer par laddition des valeur des meilleure attaque/mouvement de tout les personnage sauf le perso actif. ( les attaque enemies sont soustrait, celles allies sont additionner)

Step3:
La matrice des meilleures attaque (Step1) est ensuite additionner a un facteur de la matrice de danger (step2). Puis, je trouve lattaque avec la plus grosse valeur dans cette matrice, et sa me donne ma meilleure attaque.

Tout cela marche plutot bien jusqua present. Cependant, la step1 est tres fastidieuse, et lorsque qun perso est dans le millieu du terrain ( possibilite de mouvement dune 60taine de case), sa peut prendre 4-5 seconds a mon AI a choisir. Et on ne parle pas du fait qun perso aille 4 ou 5 de mouvement, sa prend plusieur minute....
Puisque je dois calcule les tour futur avant le tour present, je vois pas comment je peux faire pour lui faciliter la tache sans avoir une possiblite derreur.

Jai deja lu un peux ce que la Final Fantasy Tactics ont fait, ils se sont bcq moin casser la tete mais il est bcq moin performant. En gros, ils ont fait le contraire de moi. Il calcul les meilleure mouvement par rapport aux attaques des autres , ensuite pour ce mouvement, il cherche la meilleure attaque.

Donc, si vous avez des question/sugestion/idee, genez vous pas