240 likes | 343 Vues
This project explores the challenges of selecting optimal injection points on a game map to maximize engagement with "Hoshimi points." Utilizing a state machine approach, we detail the algorithm for point selection, ensuring efficient navigation and resource management with available AZN molecules. By dissecting the problem into manageable states, we enable the implementation of strategies that enhance performance and adaptability. Additionally, we demonstrate the use of graph theory and statistics in identifying promising pathways, culminating in a robust AI solution for real-time gameplay.
E N D
Project Hoshimi DAUTROY Stéphane ROGER julienBEGUE Jean-Baptiste
Plan • Les problématiques mises en jeu • Description de l’algorithme de sélection du point d’injection • La machine à états
Rappel • Principe général • Soigner des points malades de la carte les « points hoshimi » • Utilisation des « molécules AZN » disponibles à certains points de la carte • Construction par le nanoAI de nanobots soignant les points Hoshimi et d'autres les ravitaillant en molécules AZN
Les problématiques mises en jeu • La détermination du point d’injection • C’est le point de départ sur la carte • Une bonne stratégie reste inefficace si le point d’injection est mauvais
Les problématiques mises en jeu • Utilisation d’une machine à états • La stratégie doit être la plus générique possible • Décomposition du problème en états de plus en plus précis
Détermination du point d’injection • Problématique • Solution • Exemple
Détermination du point d’injection • Problématique: maximiser le score d’une partie • Parcourir et remplir le maximum de points Hoshimi • Ce qui fait la différence entre les meilleures IA
Détermination du point d’injection • Maximiser le nombre de points Hoshimi parcourus et tenter d’en parcourir le plus possible en début de partie. • Mise en œuvre de nos connaissances relatives à la théorie des graphes et des statistiques.
Détermination du point d’injection • Méthode utilisée : • Lancement de voyageur de commerce sur chaque point Hoshimi admissible comme point de départ • Suppression des points parasites : le chemin doit être faisable dans le temps d’une partie sans la contrainte de cycle • Entre 50 et 100 chemins potentiels • Discrimination des chemins sur différents critères jusqu’a obtention du plus prometteur
Premier point AZN trop loin
Pas assez de points Hoshimi dans le chemin
Distance entre les points Hoshimi trop élevée
Distance entre les premiers points Hoshimi tropélevée Utilisation du coefficient de corrélation linéaire de la distance entre les points Hoshimi
Meilleur chemin trouvé
La machine à états • Problématique • Solution • Exemple
La machine à états • La problématique : • Gestion de plusieurs stratégies en parallèles sur plusieurs niveaux. • Global : conquérir un maximum de points Hoshimi • Gérer des comportements de groupes • Gérer des comportements relatifs aux unités elles-mêmes. • Gestion de comportements spéciaux comme la fuite.
La machine à états • L’implémentation de l’IA sous la forme d’une machine à états permet de répondre à cette problématique. • Permet une programmation générique et modulaire en rendant l’ajout et la réutilisation d’états très simples.
La machine à états • Décomposition de l’IA en machine à états Niveau Global Strategy_Manager Niveau Groupe Blockers Shooters Needles Collectors Shooter Collector CollectAZNState Niveau UNITE AttackTargetState MoveToAZNState MoveToTargetState MoveToHoshimiState RestState TransferAZNState
Machine à états d’un collecteur Aller à un point AZN Récolter des molécules AZN fuite Remplir le needle Aller à un point Hoshimi
Machine à états d’un groupe de collecteur Demander collecteurs Relâcher collecteurs
Conclusion • Code générique : utilisation des concepts objets : « design pattern », héritage, polymorphisme… • Concepts IA : machine à états, A-Star • Optimisation : Voyageur de commerce.