21-09-2008, 09:48 AM
Salut,
Voici comment j'ai fait pour l'instant sur mon jeu (sachant que je joue assez bien au jeu en question, je pense ^^ Mais en même temps, le nombre de joueurs est assez faible, donc c'est dur de m'évaluer).
Tout d'abord, je prends en compte le fait que l'IA est un "entrainement" pour le cas où il n'y aurait pas de joueurs : je n'ai donc pas besoin qu'elle soit parfaite, c'est plus pour apprendre à jouer, tester un sort ou une stratégie...
L'idée est donc :
- Si l'IA connait la situation qui se présente (donc l'a enregistrée dans sa base de données), elle joue le coup qu'elle connait. Sachant que si elle a "vu" plusieurs fois la situation indiquée, elle choisi au hasard un des coups qui ont été joués ; donc si il y a 14 bons coups et 1 mauvais, les bons coups auront 14 fois plus de chances d'être joués.
- Si l'IA ne connait pas la situation, elle va tester sur un seul niveau tous les coups possibles. Si parmi tous les coups possibles il y en a un qui donne un avantage (plus de territoires possibles, moins de territoires disputés mais sans faire perdre la partie), l'IA va le jouer.
- Si aucun coup ne donne un avantage, l'IA va chercher la situation qui va la rapprocher le plus possible de l'autre joueur : en effet, c'est généralement la meilleure solution (pour bloquer l'autre).
Sachant que je réfléchis à ajouter les sorts, avec une chance d'en lancer un à chaque tour, au hasard (puisque la plupart des sorts agissent avec une part de hasard, il est impossible de calculer leur effet par une IA).
Voila voila... Actuellement, ça tiens. J'ai aussi essayé d'augmenter les coups, c'est à dire de faire calculer à l'IA les cinq prochains coups et de voir quelle série de cinq serait la plus avantageuse, mais c'est trop lent.
Voici comment j'ai fait pour l'instant sur mon jeu (sachant que je joue assez bien au jeu en question, je pense ^^ Mais en même temps, le nombre de joueurs est assez faible, donc c'est dur de m'évaluer).
Tout d'abord, je prends en compte le fait que l'IA est un "entrainement" pour le cas où il n'y aurait pas de joueurs : je n'ai donc pas besoin qu'elle soit parfaite, c'est plus pour apprendre à jouer, tester un sort ou une stratégie...
L'idée est donc :
- Si l'IA connait la situation qui se présente (donc l'a enregistrée dans sa base de données), elle joue le coup qu'elle connait. Sachant que si elle a "vu" plusieurs fois la situation indiquée, elle choisi au hasard un des coups qui ont été joués ; donc si il y a 14 bons coups et 1 mauvais, les bons coups auront 14 fois plus de chances d'être joués.
- Si l'IA ne connait pas la situation, elle va tester sur un seul niveau tous les coups possibles. Si parmi tous les coups possibles il y en a un qui donne un avantage (plus de territoires possibles, moins de territoires disputés mais sans faire perdre la partie), l'IA va le jouer.
- Si aucun coup ne donne un avantage, l'IA va chercher la situation qui va la rapprocher le plus possible de l'autre joueur : en effet, c'est généralement la meilleure solution (pour bloquer l'autre).
Sachant que je réfléchis à ajouter les sorts, avec une chance d'en lancer un à chaque tour, au hasard (puisque la plupart des sorts agissent avec une part de hasard, il est impossible de calculer leur effet par une IA).
Voila voila... Actuellement, ça tiens. J'ai aussi essayé d'augmenter les coups, c'est à dire de faire calculer à l'IA les cinq prochains coups et de voir quelle série de cinq serait la plus avantageuse, mais c'est trop lent.