Ressources Magic Makers

 

Site en maintenance

 
Nous sommes actuellement entrain de mettre à jour les ressources de ce site.
Pendant la mise à jour vous pouvez retrouver tous les nouveaux contenus sur le site
 

https://lp-magicmakers.fr/

 
 

Création des capteurs

Comme pour le labyrinthe tu vas avoir besoin de capteurs. Pour cela pense à bien créer une variable pour chaque capteur afin de récupérer la distance et à créer une fonction mesure que tu exécuteras sans rafraichissement d’écran pour que la mesure soit immédiate.

Créé un premier capteur puis dupliques le autant que nécessaire.

Fais bien attention de régler l’orientation de chaque capteur.

Adapter les capteurs

Pour bien détecter les obstacles qui bougent on peut se  demander comment adapter nos capteurs sur deux aspects :
  • L’angle du capteur : est-ce qu’on tire vraiment à droite et à gauche ou plutôt vers l’avant?
  • La forme du capteur : est-ce qu’on veut un rond ou un ovale pour couvrir plus de surface?

Ces deux questions sont liées et il faut faire des tests pour faire les bons choix.

 

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.

Selon ton projet, tu auras aussi des blocs pour la création des obstacles, ou des clones …

Dans chaque cas demande toi est-ce que c’est le même fonctionnement quelque soit le mode, ou est-ce qu’il y a des codes différents à créer.

Entrainement de l'IA et colecte des données

Une fois les capteurs fonctionnels, tu vas pouvoir utiliser ces données pour entrainer l’IA.

Bien penser ses catégories (la question du tir)

Pour que l’IA apprennes bien il faut créer les bonnes catégories. Pour cela demandes-toi quelles sont les actions du personnage.

S’il n’y a que du déplacement, tu as les directions, mais est-ce qu’il faut ajouter une catégorie attendre pour le cas ou tu ne fais rien?

Dans le cas ou il y a du tir, est-ce qu’on peut se déplacer et tirer en même temps ?

Si oui, on aura donc beaucoup plus de catégories et cela va impacter notre code.

 

Coder la récupération des données

Pour chacune des catégories il faut enregistrer des données.

Si tu n’as pas de système de tir, c’est assez simple il suffit d’adapter le code du jeu libre en ajoutant la récupération des données

Si tu as un système de tir, tu dois te souvenir si tu as tiré ou non, et si tu t’es déplacé ou non.

Dans ce cas les conditions seront un peu plus compliqué. Je te conseille de créer une variable pour mémoriser l’information sur le tir.

Puis dans chaque déplacement regardé si tu as tiré ou non.

Dans tous les cas pense à bien faire une mesure avant d’enregistrer tes données

Bien récupérer toutes les variables

C’est possible qu’au moment de remplir les blocs add_training_data, tu ne trouves pas les variables à mettre pour une donnée (notamment sur la position du joueur). Si c’est le cas pense à créer une variable (par exemple X_joueur) et à récupérer cette donnée sur le sprite (par exemple sa position)

Une fois que tout est terminé, fais plusieurs parties en mode entrainement pour collecter un maximum de données.

Attention : vérifies bien que tu ais suffisamment dans chaque situation et analyse tes biais.

Par exemple, dans les données ci-dessus j’ai beaucoup plus de données droite que gauche, ce n’est pas très logique…

Jeu automatique de l'IA

Tu arrives maintenant à la fin du projet, et cette étape est la plus facile.

Tu vas créer les mouvements automatique du personnage. Pour cela c’est simple:

    1. On fait une mesure
    2. On demande à l’IA le mouvement qu’elle souhaite faire
    3. Pour chacune des actions possibles de l’IA on envoie le ou les messages correspondant

Petit plus : pour être sur que notre IA est bien entraînée dans la boucle de jeu principale, on peut ajouter un entrainement de notre réseau.

Une fois que tout fonctionne, tu as réussi à mener à bien ta création de jeu et l’IA qui va avec.

Félicitations !

Maintenant il ne te reste plus qu’à améliorer l’IA en te demandant qu’est qui marche, qu’est ce qui ne marche pas et comment l’améliorer !