JeuWeb - Crée ton jeu par navigateur
Laisseriez-vous votre IA tricher ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Gameplay, gamedesign (https://jeuweb.org/forumdisplay.php?fid=48)
+--- Sujet : Laisseriez-vous votre IA tricher ? (/showthread.php?tid=7448)

Pages : 1 2


Laisseriez-vous votre IA tricher ? - niahoo - 29-08-2015

Reuh !

Comme je l'ai dit dans l'autre post (Conseils pour le matchmaking ?), je cherche aussi à développer une IA. Il y a pas mal de ressources en ligne pour ça, mais j'ai l'impression que c'est assez difficile de proposer une difficulté très élevée.

Je parle ici d'un jeu ou on combine des éléments entre eux qui arrivent aléatoirement au fil de la partie, et on ne sait pas de quels éléments l'adversaire dispose. Un peu comme au poker mais avec beaucoup plus de cartes.

Un ordinateur ne va donc pas pouvoir compter les coups à l'avance comme aux échecs où on voit les pièces de l'adversaire et leurs positions. Enfin, on peut calculer des coups à l'avance mais il y a tellement de chemins possibles que ça ne me paraît pas intéressant.

Du coup, est-ce que vous envisageriez de faire tricher l'IA, de lui donner des informations sur l'adversaire auxquelles un joueur humain n'a pas accès. Exemple trivial : connaître les cartes du joueur. Bien sûr c'est extrême, c'est un exemple. Mais on peut imaginer des trucs plus subtils comme « Est-ce que le joueur dispose de telle carte en particulier ? » ou bien s'assurer que l'IA pioche une certaine carte au tour suivant.

D'après ce que j'ai pu lire en ligne, beaucoup de joueurs s'en foutent que l'IA triche tant qu'on ne le ressent pas, tant qu'on a l'impression de joueur dans les règles.

Avez-vous déjà mis en place une telle IA ?


RE: Laisseriez-vous votre IA tricher ? - Thêta Tau Tau - 29-08-2015

Ca dépends beaucoup du jeu, mais dans la plupart des jeux de cartes, regarder la main de l'adversaire ruine totalement le jeu dont tout l'intérêt est d'essayer de deviner les cartes dans la main adverse tout en bluffant sur les siennes.

Après faire une IA qui joue comme un humain en estimant les chances qu'une carte soit dans la main du joueur est extrêmement difficile, d'ailleurs la plupart des jeux de cartes ont une IA assez mauvaise pour cette raison. Cela dit si on veut relever le challenge ont peut toujours donner à l'IA des cartes plus puissantes ou un bonus (ex : les aventures dans hearthstone).


RE: Laisseriez-vous votre IA tricher ? - Ter Rowan - 29-08-2015

ou bien ton IA apprend

elle est complètement nulle au début (elle pose ses cartes en aléatoire) puis quand elle voit qu'une combinaison a marché / a échoué elle l'enregistre. De même une réponse à une carte adverse, si ca marche, elle l'enregistre aussi, etc...

après faut se pencher sur l'algo d apprentissage (statistiques, apprentissage de bayes, etc...) mais ça me parait un bon compromis pour ne pas expliquer trop de truc à l'ia a son début sans pour autant "tricher"


RE: Laisseriez-vous votre IA tricher ? - Xenos - 29-08-2015

S'il n'est pas annoncé que l'IA triche, alors clairement, je suis contre.
Sur Supreme Commander, il existe deux types d'IA: des IA classiques (dont le problème est qu'elles peuvent faire ce que les joueurs humains ne peuvent pas, à savoir donner des ordres à 100 unités en même temps, mais c'est potentiellement acceptable), et des IA tricheuses (qui par exemple n'ont pas de brouillard de guerre). Le gameplay est radicalement différent entre les deux. Dans le 1er cas, on joue au jeu comme si on avait des adversaires humains en face (un peu benêts, mais certains mods relèvent le niveau de ces IA). Dans le 2nd, IA et humains ne jouent plus du tout au même jeu, puisque l'IA n'a pas du tout les mêmes informations que les joueurs.

Donc si on est dans un cas où, dans le concept du jeu, les joueurs affrontent l'IA-Dieu, sa triche est parfaitement acceptable (et elle fait partie du gameplay). Dans le cas où l'IA est là pour simuler un joueur, elle n'a pas à tricher.

Et je rejoins Ter Rowan sur le principe de réalisation de l'IA.


RE: Laisseriez-vous votre IA tricher ? - Argorate - 31-08-2015

C'est ce qui ce fait sur la plus part des jeux malheureusement. Puisque créer une vrai IA est compliqué et cout donc cher en temps et en argent, on les fait tricher.
C'est notamment le cas pour Civilization 5 où je joue au niveau max de difficulté, les IA commencent avec plein d'avantages et certains qui sont pour toute la partie...

Moi je n'aime pas ce procédé, si tu peux faire sans fait le^^


RE: Laisseriez-vous votre IA tricher ? - niahoo - 31-08-2015

Merci pour vos réponses.

(29-08-2015, 05:02 PM)Thêta Tau Tau a écrit : Cela dit si on veut relever le challenge ont peut toujours donner à l'IA des cartes plus puissantes ou un bonus (ex : les aventures dans hearthstone).

Au final ça me paraît une bonne solution pour donner un challenge sympa. Après tout dans mon jeu il y a des personnages, on peut bien imaginer se battre à 3 contre 4 par exemple (sachant qu'on a autant de tours que l'adversaire).

(29-08-2015, 08:13 PM)Ter Rowan a écrit : ou bien ton IA apprend

[…]

Dans l'absolu ce serait génial oui, mais je ne compte pas m'investir autant, n'ayant aucune connaissance dans le domaine. Ceci étant dit, je peux développer différentes stratégies (déffensif/offensif/équilibré/jouer surtout avec les débuff/…) et enregistrer des statistiques d'éfficacité de chaque stratégie par rapport à des paramètres prédéfinis : ratio nombre d'adversaires vivants / nombre de mes persos vivants ; niveau de vie des adversaires ; style de jeu de l'adversaire (ça c'est le plus chaud à définir je dirais) ; etc.

(29-08-2015, 08:21 PM)Xenos a écrit : Le gameplay est radicalement différent entre les deux. Dans le 1er cas, on joue au jeu comme si on avait des adversaires humains en face (un peu benêts, mais certains mods relèvent le niveau de ces IA). Dans le 2nd, IA et humains ne jouent plus du tout au même jeu, puisque l'IA n'a pas du tout les mêmes informations que les joueurs.

Ceci me fait penser qu'on pourrait aussi imaginer un mode de jeu ou l'IA et le joueur n'ont pas les mêmes informations à disposition, mais sans pour autant donner l'avantage à l'IA. Exemple simple : un jeu de stratégie Alien vs Humains. Les alien sont aveugles mais ont un odorat, une ouïe et des capteurs thermiques très développés. Du coup l'humain qui les capte de loin doit jouer à distance en leur balançant des roquettes, tandis que les alien cherchent à aller au contact, dans les bâtiments, pour avoir l'avantage.

Bon, sur un jeu de cartes, c'est peut être pas aussi simple.

(31-08-2015, 04:14 PM)Argorate a écrit : C'est notamment le cas pour Civilization 5 où je joue au niveau max de difficulté, les IA commencent avec plein d'avantages et certains qui sont pour toute la partie...

Moi je n'aime pas ce procédé, si tu peux faire sans fait le^^

Ben … perso j'appelle pas ça de la triche. Dans the witcher tu fightes des boss qui ont beaucoup plus de points de vie et qui peuvent te one shot, mais bon t'as un cerveau humain donc tu les éclate quand même. J'appelle ça simplement un avantage. C'est ce dont parlait Théta Thau². Ensuite il faut bien équilibrer bien sûr. Effectivement, j'aimerais avoir une IA plus skillée que avantagée.


RE: Laisseriez-vous votre IA tricher ? - Max72 - 31-08-2015

Plop !

J'ai déjà joué à des jeux de carte où l'IA connaissait les cartes que tu avais en main, c'est impossible à jouer et vachement frustrant.
EN revanche (pour reprendre l'exemple du jeu de carte) l'IA peut par exemple compter les cartes qui sont déjà passées (sur un jeu de 32 cartes, si 7 coeurs sont passés et que j'en possède un, il n'y en a plus). Ça un humain peut le faire aussi, ce n'est pas de la triche.

Les solutions dépendent beaucoup du genre de jeu et les règles appliquées (est-ce que les cartes contenues dans le jeu sont fixes ou s'agit-il d'un jeu où chaque joueur compose son deck ?)

Dans tous les cas, j'opterai le plus possible pour ne pas faire tricher l'IA. Des avantages si tu ne trouves pas le moyen de réaliser une IA correcte, mais pas de triche.

En revanche, je ne sais pas si la solution du "l'IA apprend au fur et à mesure" est réalisable, ça demanderait des algos de fou (selon moi).


RE: Laisseriez-vous votre IA tricher ? - Argorate - 01-09-2015

C'est de la triche dans le sens où c'est un jeu de gestion et où par exemple l'extension en termes de nombre de ville est limitée par le "bonheur" qui décroit pour chaque ville + habitant/ville. Les bots ont en gros bonheur illimité ou presque. Il commence d'ailleurs avec deux villes au lieu d'une, ce qui est un avantage énorme dans tous les domaines. De plus l'IA a accès à des informations qu'un joueur n’aurait pas. Donc pour moi c'est bien de la triche.


RE: Laisseriez-vous votre IA tricher ? - niahoo - 01-09-2015

(01-09-2015, 12:07 AM)Argorate a écrit : De plus l'IA a accès à des informations qu'un joueur n’aurait pas.

Tu mélanges des choses. Ce que je cite est effectivement ce qu'on qualifie de « triche » ; pour le reste, ce n'est ni dissimulé et cela fait partie des règles ...

Citation :ça demanderait des algos de fou

Oui mais il existe pas mal de code déjà prêt, ou à adapter !


RE: Laisseriez-vous votre IA tricher ? - Akhyra - 03-09-2015

Dans les IA que j'ai développé j'ai toujours intégré plus ou moins de triche, il suffit d'évaluer le bonus de la triche en question pour positionner ton IA sur la difficulté.

Ecrire une IA sans triche qui reproduit les choix humain est inhumain .. :heu:

Il faut juste bien juger de l'avantage que tu donnes à ton IA, ca va te permettre de définir une IA facile/Intermédiaire/Hard tout en gardant un algo accessible et maintenable. Je pense que ça doit être le cas dans 80% des jeux mais rien n'est dit aux joueurs du coup on pense que l'algo derrière est titanesque.