La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Projet IFT702 Simon Langevin Mathieu Poisson. Plan Introduction Problématique Plannificateur de déplacement Plannificateur de combat Résultat Conclusion.

Présentations similaires


Présentation au sujet: "Projet IFT702 Simon Langevin Mathieu Poisson. Plan Introduction Problématique Plannificateur de déplacement Plannificateur de combat Résultat Conclusion."— Transcription de la présentation:

1 Projet IFT702 Simon Langevin Mathieu Poisson

2 Plan Introduction Problématique Plannificateur de déplacement Plannificateur de combat Résultat Conclusion

3 Introduction Les RTS posent plusieurs problèmes Pathfinding Gestion de ressources Construction de bâtiment et dunité Gestion des combats etc

4 Introduction Cest dans cette optique que le Planiart a décider de participer a la compétions AIIDE 2011 La solution présente utilise des FSMs pour la micro-gestion des unités

5 Introduction Les FSMs sont faciles dutilisation et permette une très grande flexibilité. Problème: Cette flexibilité doit être hard-coder Très long Possibilité doublié des cas particuliers

6 Introduction Cest dans cette optique que nous avons décidé de tester la possibilité dutiliser un planificateur.

7 Problématique Déplacement Le déplacement dune unité dans un environnement hostile Il faut trouver un chemin optimal qui permette Darriver rapidement D'éviter les dangers potentiels et De s'assurer davoir un chemin praticables.

8 Problématique

9 Combat Le but est de détruire lennemi conserver ses propres unités. Pour se faire, on doit prendre en compte les dommages infligés, la portée des attaques, les positions et les déplacements de chacune des unités participantes au conflit.

10 Problématique

11 Technique PDDL Pour représenter le monde et le problème TLPlan Pour trouver un plan BWAPI Pour générer les fichier PDDL de problèmes

12 Plannificateur de déplacement Il contient trois prédicats isAlly qui dit si une unité est un allier. isNotMoving qui donne si une unité est en train de se déplacer isPosition qui dit si un objet est une position.

13 Plannificateur de déplacement Contient les fonctions positionX et positionY qui donnent les positions dun objet. timeToMoveOneCase donne le temps de déplacement pour une division de la carte. Cost qui donne le cout de déplacement pour une case.

14 Plannificateur de déplacement Contient les fonctions (suites) TotalCost donne le cout total du déplacement jusquà maintenant et movementCost donne le cout dun déplacement.

15 Plannificateur de déplacement Action move. Cette action permet de ce déplacé vers une case voisine et a une durée égale à la valeur spécifiée pour lunité. Précondition, lunité doit être un allié et elle ne doit pas être en mouvement. Effet, est de changer la position de lunité.

16 Plannificateur de déplacement Les problèmes associés peuvent être générés par des situations de jeu réelles. A laide de BWAPI Pour nos besoins, les situations de tests montrées plus tôt on été simplifiées et utilisées pour tester la génération de plan

17 Plannificateur de combat 3 fonctions supplémentaires attackDamage attackRange health

18 Plannificateur de combat Action Attack Permet à une unité de faire subir des dégâts à un ennemi. Si lunité de lennemi na pas attaqué, elle va contre-attaquer et faire subir des dégâts à lunité qui la attaqué. Cela permet de modéliser les réactions de ladversaire même si PDDL ne permet pas de donner des actions contrôlées par un autre joueur.

19 Plannificateur de combat Action moveCloserToAttackRange permet à une unité alliée de sapprocher dune unité ennemie. Elle va changer la position de lunité pour sapprocher de celle de lennemi. Elle a aussi comme effet dappliquer des dégâts à lunité alliée si elle se déplace dans les champs de tir dun ennemi.

20 Plannificateur de combat Le fichier de problème contient les informations de chacune des unités. contient aussi le but une contrainte de logique temporelle Une unité qui se déplace vers un ennemi doit le rejoindre avant de pouvoir se déplacer vers un autre ennemi. Permet d'éviter une « oscillation » entre 2 ennemis

21 Résultat Pathfinding Solution a un problème de grosseur moyen est générée en environ 3.6 secondes avec 960 nœuds.

22 Résultat

23 Combat Sans la formule de logique temporelle et sans précondition la solution nest toujours pas trouvée après 300 secondes et nœuds visités. Avec une précondition plus contraignante Une solution est trouvée en 1 seconde et 7600 nœuds visités.

24 Résultat Avec la formule de logique temporelle la solution est trouvée en 3.7 secondes et 6300 nœuds visités Dans des cas plus simples, la formule LTL permet un traitement 10 fois plus rapide que le traitement sans LTL.

25 Résultat

26 Conclusion Lexploration de lutilisation dun planificateur a démontré les limitations de PDDL et de TLPlan dans un milieu adversariel.

27 Conclusion Le fait que PDDL ne puisse représenter des actions prise par un second joueur limite extrêmement lexpressivité du domaine. Surtout dans la gestion du combat, si on veut avoir un modèle qui représente bien la réalité dun RTS.

28 Conclusion La logique temporelle dans PDDL ne peut être appliquée que sur létat du monde et non sur les actions ce qui limite encore lexpressivité du langage. Le fait que la logique temporelle diminue le nombre de nœuds est utile, mais son utilisation augmente le cout de traitement de chaque nœud.

29 Conclusion Lutilisation, dans un RTS, d'un planificateur devrait se faire à condition de trouver des heuristiques très efficaces qui permettent au calcul de se faire dans un temps respectable utiliser un langage mieux adapté au milieu ou les actions dun joueur adverse ont aussi son incidence sur le monde.


Télécharger ppt "Projet IFT702 Simon Langevin Mathieu Poisson. Plan Introduction Problématique Plannificateur de déplacement Plannificateur de combat Résultat Conclusion."

Présentations similaires


Annonces Google