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

Les systèmes de jeux deviennent de plus en plus complexes, nécessitant que lIntelligence Artificielle progresse elle aussi en parallèle. Dans ce contexte,

Présentations similaires


Présentation au sujet: "Les systèmes de jeux deviennent de plus en plus complexes, nécessitant que lIntelligence Artificielle progresse elle aussi en parallèle. Dans ce contexte,"— Transcription de la présentation:

1

2 Les systèmes de jeux deviennent de plus en plus complexes, nécessitant que lIntelligence Artificielle progresse elle aussi en parallèle. Dans ce contexte, nous avons implémenté le comportement de PNJ (Personnages Non Joueurs) dans un jeu de type shooter grâce à un planificateur.

3 Quest-ce quun « shooter » ?

4 Concernant la prise de décision LIA caractérise donc toute prise de décision dun ou plusieurs personnages dans un jeu, or, le but de lIA dans un jeu vidéo est de donner lillusion dun comportement intelligent. Cest pourquoi nous sommes passé dune FSM (machine à états finis) à un planificateur.

5 Organisation du travailPathfinding Sandrine B. & Romain A. Planificateur Coralie G. & Romain R. Modélisation dans le jeu Coralie G, Sandrine B., Romain A. & Romain R.

6 I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

7 I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion Charger lenvironnement de jeu Construire lintelligence des personnages Obtenir un rendu attirant et simple Garder un déroulement fluide du programme Arriver à des temps de chargement rapide

8

9 Le pathfinding cest quoi? Trouver un chemin entre deux points dans un environnement, tout cela en respectant les contraintes (environnementales, temps limite, contraintes de ressources, …) I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

10 Pathfinding existant déjà dans UT2004 : Aucune interprétation de lenvironnement 3D entourant les PNJ Système de nœuds formant un réseau Code couleur utilisé pour décider de la pertinence dun chemin I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

11 Pathfinding réalisé par nos soins : Création de nos propres nœuds Rajout de poids Algorithme de recherche : A* I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

12 Choix de lalgorithme : De nombreux algorithmes existent (Dijkstra, Best- First-Search, A*, …) Actuellement, on se sert principalement de A* dans la majorité des jeux vidéos I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

13 Avantages de A* Garantie dobtenir le chemin le plus court (comme lalgorithme de Dijkstra) I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

14 Avantages de A* Coût diminué à laide dune heuristique (comme lalgorithme Best-First-Search) I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

15 Déroulement de lalgorithme A* Étape 1 : Calcul de g() et h() sur le nœud courant et ajout à la liste (openlist) Étape 2 : Retrait du nœud dans la liste et ajout de tous les voisins possibles. Si il ny en a pas, aucun chemin possible. Étape 3 : Calcul du coût pour les voisins et ajout du meilleur dans une seconde liste (closedlist) I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

16 Lalgorithme : Sommet source (S) Sommet destination (D) Liste des sommets à explorer (E) : sommet source S Liste des sommets visités (V) : vide Tant que (la liste E est non vide) et (D nest pas dans E) Faire Récupérer le sommet X de coût total F minimum Ajouter X à la liste V Ajouter les successeurs de X (non déjà visités) à la liste E en évaluant leur coût total F et en identifiant leur prédécesseur. Si (un successeur est déjà présent dans E) et (nouveau coût est inférieur à lancien) alors Changer son coût total Changer son prédécesseur Fin Si Fin Tant que I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

17

18 Quest-ce que la planification ? Planifier = Décider dun plan Simulation dun grand nombre de combinaisons dactions possibles Recherche dans un graphe détats Comportement du PNJ : Orienté-But I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

19 Quelques exemples : Pathfinder, le robot de la NASA Laéroport OHare de Chicago F.E.A.R et NOLF2, développés par Monolith I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

20 En bref : I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

21 Quelques concepts : Action Étape simple, souvent atomique, contrôlant le personnage pour faire quelque chose. Chaque action est définie par ses préconditions et ses postconditions (effets). But Une condition, ou un ensemble de condition, quun personnage veut satisfaire. Plan Un plan est une séquence dactions. On part dun état initial pour arriver à un état final : le but. I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

22 État et environnement : Un PNJ opère avec des senseurs le renseignant sur : Son état interne Létat de lenvironnement qui est connu partiellement, dynamique et parfois même hostile I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

23 Parcours du graphe détats : Recherche arrière dans le graphe détats Algorithme choisi : A* (où lheuristique correspond au nombre de clauses qui reste à satisfaire) I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

24 Avantages : Comportements complexes, non prévisibles et non répétitifs Adaptation dynamique Personnages plus crédibles Au niveau de lintelligence du personnage Pas obligé de penser à tous les cas de figure possible Actions et buts plus courts et plus faciles à écrire Totalement réutilisable Au niveau de la programmation I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

25 Dans notre projet : 6 buts une dizaine dactions Nos PNJ ont un comportement relativement satisfaisant : ils se battent les uns contre les autres tout en pensant à se soigner, changer darme, … I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

26 Dans un projet professionnel : Dans NOLF2 (No One Lives Forever 2), FPS basé sur lespionnage, il y a environ : une vingtaine de buts une cinquantaine dactions Cela suffit pour avoir un comportement réaliste. I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

27

28 Quest-ce que la réutilisabilité ? Entité réutilisable = Entité éventuellement extensible, éventuellement adaptable, pouvant être réutilisée dans différents contextes. Nous avons donc prévu la réutilisabilité du planificateur pour dautres types de jeux (RPG, jeu de course, etc. I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

29 Pourquoi ? Au cours de ce projet, il a été nécessaire de : Réécrire une partie du code existant ou créer des classes proches de celles existantes (ex : Pathnodes) Remonter certains éléments à un plus haut niveau I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

30 Comment ? Design Pattern : Médiateur I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

31 Dans notre projet : Le planificateur se sert dAction et de Goal qui, dans notre cas, sont respectivement des sous- classes de AIAction et AIGoal I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

32

33 Configuration : Toute la configuration se fait à laide dUnrealEd (éditeur de map dUnreal Tournament) I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

34 Se mettre à couvert : I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

35 Obtenir une meilleure arme et se soigner : I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

36 Pathfinding : I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion

37

38 I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion Problèmes rencontrés : Limité du fait de prendre un moteur de jeu existant Manque de source sur lIA dans Unreal malgré une importante communauté

39 I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion Apports : Travail en groupe sur un projet important Découverte et apprentissage de lUnrealScript Maîtrise dalgorithmes propres à lIA (A*) Étude dun planificateur

40 I.Cahier des charges II.Pathfinding III.Planificateur IV.Entité réutilisable V.Démonstration VI.Conclusion Perspectives : Intelligence collective Apprentissage Implémentation de plus dAction et But pour augmenter le réalisme

41


Télécharger ppt "Les systèmes de jeux deviennent de plus en plus complexes, nécessitant que lIntelligence Artificielle progresse elle aussi en parallèle. Dans ce contexte,"

Présentations similaires


Annonces Google