Annonce

Réduire
Aucune annonce.

Intelligence artificielle

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Intelligence artificielle

    Bonsoir,

    actuellement en train de développer un bot pour un jeu vidéo, je souhaite réaliser une véritable IA pour mon système de combat que je trouve actuellement pas si intelligent que cela

    Je me suis renseigné sur developpez.com, j'ai réalisé l'implémentation de l'algorithme génétique pour le problème du voyageur de commerce ainsi qu'un petit réseau de neurones artificiels, mais ces algorithmes ne sont pas adaptés à ma situation.

    La situation est la suivante : le joueur dispose de sorts, qui diffèrent selon la classe jouée, et qui peuvent être des sorts de dommages, de boost, de déplacement ou de soins. L'ennemi peut-être seul ou plusieurs, et n'est pas un humain. Le jeu est au tour par tour.

    Je précise que l'IA doit être influencable par l'utilisateur (interdire/privilégier tel sort).

    Je recherche donc des ressources et/ou des techniques/algorithmes me permettant de créer une IA appliquée à un jeu vidéo et plus particulièrement à cette situation.

    Tous les conseils sont évidemment appréciés.

    Merci de votre attention,
    bonne soirée...
    Mon blog : http://rootsheep.info

  • #2
    Bonjour Sadik.

    Peut-être que le jeu que tu comptes faire est un RPG où les combats sont au tour-à-tour?
    Je suppose que selon la nature des combats tour-à-tour ou realtime ou autres est un élément essentiel pour le choix de l'IA.

    Je n'ai pas implémenté de tel jeu, mais j'aime m'y pencher pour les comprendre. Et pour être synthétique, les élments de mathématiques les plus basiques pour une IA de combat sont:
    -la programmation linéaire, via une table des contraintes puis un choix de la stratégie optimale lorsque les antagonistes font face
    -l'algorithme Min-Max sur trois ou cinq tours pour anticiper les coups adverses.

    Puis au delà, il y a les algorithmes que tu as évoqué pour l'apprentissage. Ainsi, si ton joueur principal dispose de coéquipiers bot, ils devront apprendre à réagir et à anticiper tes décisions.
    Cet apprentissage peut être basique par pondération avec des probabilités l'algo Min-Max ou bien plus évoluer via un réseau de neurone.

    Avec ça, on aurait un jeu plus que correct et vraiment intelligent, mais le plus important à réfléchir auparavant est, comme tu le sais déjà, le gameplay puis l'IA et jamais l'inverse.

    Moi aussi je comptais me mettre aux jeux via les outils drag & drop, et cette discussion m'a stimulé .

    Commentaire


    • #3
      @wise.guy,

      Très bonne réponse, tu as tout dit, je vais juste préciser un peu, dans le sens de l'algorithme du Min-Max, où tu devras évaluer par un système de points ou autres (selon tes choix) afin de déterminer les influences, les priorités, ...

      Je ne suis pas jeu du tout, mais adore jouer aux échecs, j'ai déjà bien étudier le fonctionnement des engines (petits moteurs d'évaluation) qui s'intègrent à une plateforme graphique, et je pense que cette solution est celle qui rendra intelligent ton programme. Il y a pas mal d'exemples sur le net plus ou moins compréhensibles.

      Je pense comme wise, faudra faire le bot, beaucoup jouer avec, voir les faiblesses et réussir à faire de ton code le plus maintenable possible afin de le rendre modifiable sans trop de difficultés.

      Commentaire


      • #4
        Et pour revenir aux réseaux de neurones, leur approche théorique ne me plait pas du tout quant à une approche pratique, une recherche rapide avec google montre qu'ils sont utilisés différemment.
        A mon avis, l'approche la plus intuitive serait de les utiliser pour un commencement à mieux modéliser la mémorisation de plusieurs situations et à ne pas les utiliser pour modéliser la déduction.
        Je veux dire, les réseaux de neurones donnent un bon outil pour mémoriser (dans une table) plusieurs paramètres et dans un graphe orienté plusieurs situations, puis à utiliser ces données comme d'habitude avec les conditions if-then-else.

        Il s'agit d'un domaine de recherches, et qui est encore à un niveau très bas et il n'y a pas d'outils pour leurs utilisations (réutilisation) à un niveau plus élévé

        PS: Un lien pour Sadik qui résume et illustre les fondamentaux que je viens de trouver http://veille-techno.blogs.ec-nantes...pport_iajv.pdf
        Dernière modification par wise.guy, 23 mars 2015, 20h53. Motif: Ajout du PS

        Commentaire


        • #5
          Bonsoir,

          @wise.guy : Tu n'as pas bien saisi la situation, le jeu est déjà créé (et pas par moi), moi je fais juste un robot qui jouera tout seul Toutefois, un grand merci pour tes réponses, je vais me pencher sur l'algo Min-Max, et ton lien m'a l'air ma foi intéressant !

          @Fred : Oui je vais essayer de le rendre le plus propre & maintenable possible, d'autant plus que c'est un projet open-source

          Bonne soirée..
          Mon blog : http://rootsheep.info

          Commentaire


          • #6
            @Sadik: j'avoue que tu as raison, et de rien pour le lien

            Commentaire

            Chargement...
            X