Labyrinthe IA - Apprentissage

Sur cette page tu trouveras comment :

CrƩer les diffƩrents modes de jeux

Création des arrières plans

Pour pouvoir entraĆ®ner l’IA Ć  jouer au labyrinthe, nous allons mettre en place diffĆ©rents modes de jeux:
  • Le modeĀ jeu libreĀ : où l’on peut jouer tout simplement sans IA
  • Le modeĀ entrainementĀ : où l’on va jouer pour collecter des donnĆ©es et entraĆ®ner l’IA
  • Le modeĀ jeu autoĀ : où l’IA une fois entraĆ®nĆ©e joue toute seule

Pour chacun des ces modes, on va crĆ©er un arriĆØre plan diffĆ©rent et selon l’arriĆØre plan affichĆ©, on lancera le mode en question.

Ā 

 Code des différents modes de jeux

En fonction du mode de jeu choisit,  les mouvements du personnage seront différents.

On va donc crĆ©er diffĆ©rentes fonction de mouvement du personnage pour chacun de ces modes. On verra par la suite comment les coder, pour l’instant on va s’intĆ©resser sur le choix.

Pour cela on va juste utiliser des conditions sur l’arriĆØre plan pour choisir le code Ć  lancer.

CrƩer un capteur de distance

Un capteur de distance est un petit sprite qui part du personnage et va s’Ć©loigner petit Ć  petit jusqu’Ć  ce qu’il rencontre un obstacle de notre choix.

Une fois qu’il rencontre l’obstacle, on rĆ©cupĆØre la distance entre ce sprite et le joueur pour savoir Ć  quelle distance est l’obstacle.

En en mettant plusieurs on crƩƩ ainsi une sorte de sonar pour dƩtecter les obstacles dans diffƩrentes directions.

Voici comment on le code.

  1. Ā On place le capteur au niveau du joueur.
  2. On fixe la direction dans laquelle il va partir
  3. Tant qu’il n’as pas atteint sa destination, il avance
  4. Une fois la destination atteinte on récupère cette valeur dans une variable, pour la récupérer facilement.

Attention quand on crĆ©er le bloc mesurer, il faut cocher la case exĆ©cuter sans rafraichissement d’Ć©cran pour que le capteur arrive directement Ć  destination en une seule Ć©tape.

Pour bien dƩtecter dans toutes les directions on peut mettre Ơ minima 3 capteurs (en face, Ơ gauche, Ơ droite) mais on peut rajouter des positions intermƩdiaire pour avoir les diagonales voir encore plus de valeurs.

RƩcupƩration des donnƩes

Pour l’entrainement de la voiture on va tout simplement reprendre les mouvements de base de la voiture et ajouter l’enregistrement des donnĆ©es Ć  chaque fois qu’une touche est pressĆ©e.

De plus avant chaque dƩplacement, on va effectuer une mesure avec les capteurs. Il faut donc envoyer le message mesure.

Voici un aperƧu du code

DƩplacament automatique de la voiture

Pour le dƩplacement automatique on va utiliser la mƩthode suivante :

    • on mesure la distance sur tous les capteurs
    • on demande Ć  l’IA de prĆ©dire le meilleur mouvement Ć  faire
    • on sait le mouvement choisit par l’IA

Voici Ć  quoi ressemble le code

Pour le timer nous allons faire ça coté arrière plan. On va compter le nombre de tour de boucle de jeux qui ont eu lieu. A chaque tour on ajoute un !

Retour en haut