Navigation hybride applique aux personnages non joueurs du jeu vido Counter Strike - PowerPoint PPT Presentation

1 / 51
About This Presentation
Title:

Navigation hybride applique aux personnages non joueurs du jeu vido Counter Strike

Description:

Attaquer, se mettre en embuscade, lancer une grenade, se sauver, etc. ... Attaquer ou se d fendre. T che de contournement d'obstacles. Algorithme ... – PowerPoint PPT presentation

Number of Views:49
Avg rating:3.0/5.0
Slides: 52
Provided by: anima3
Category:

less

Transcript and Presenter's Notes

Title: Navigation hybride applique aux personnages non joueurs du jeu vido Counter Strike


1
Navigation hybride appliquée aux personnages non
joueurs du jeu vidéo Counter Strike
Université Pierre et Marie Curie, 4 place
Jussieu, 75005 PARIS
Nicolas SchneiderEncadré par Olivier Sigaud
  • AnimatLab, Laboratoire dInformatique de Paris 6
    (Lip 6)
  • 8, rue du Capitaine Scott, 75015 Paris

2
Présentation
3
Approche Animat
  • But
  • Survie et adaptation dans un environnement
    hostile
  • Sélection de laction
  • Navigation
  • Primordial à la survie
  • Source de nourriture
  • Source dalimentation

4
Intérêt des jeux vidéo pour lapproche Animat
  • Lapproche Animat
  • Appliquée à la robotique et au monde réel
  • Jeux vidéo
  • Simulateur riche et maîtrisé
  • Compromis entre simulateur simple et monde réel
  • Mêmes problématiques que le réel
  • Moins de contraintes

5
Le jeu vidéo Counter Strike (Sierra Studios \
Valve)
  • - Présentation
  • - Jeu multi-joueurs
  • - FPS (First Person Shooter)
  • - Deux groupes (terroristes/contre-terroristes)
  • - Deux missions (bombe/otages)
  • - Règles
  • - Poser une bombe/ libérer les otages
  • - Tuer tous les ennemis
  • - Temps limité pour une mission

6
Les bots
  • - Personnages non joueurs (PNJ)
  • Simulent des joueurs supplémentaires des deux
    équipes
  • PodBot est un bon programme de bot

7
PodBot(Markus Klinge)
  • - Fonctionnement
  • Gère une pile de tâches
  • Empilement/dépilement dactions
  • Actions
  • Attaquer, se mettre en embuscade, lancer une
    grenade, se sauver, etc.
  • Déplacement
  • Utilise A à partir dun graphe de points appelés
    waypoints
  • Apprentissage
  • Stocke les positions à risques

8
Les waypoints
  • Points de passages possibles
  • Lutilisateur doit les poser à la main
  • Reliés entre eux, ils forment un graphe de
    navigation
  • Waypoints particuliers
  • Waypoint de but
  • Waypoints importants
  • Autres
  • - Sauter, embuscade, se baisser, etc.
  • Impossibilité de faire jouer des bots sans
    waypoints

9
Objectif
  • - Naviguer sans avoir à poser les waypoints à la
    main
  • Placement automatique des waypoints
  • Planification dun chemin
  • Typage automatique
  • - Mise au point dun algorithme de navigation
    hybride

10
Etat de lart
  • Navigation Réactive
  • Aléatoire
  • Suivi de mur
  • Représentation
  • Waypoints
  • Quadtree
  • Polygones convexes
  • - Planification
  • A (Hart, Nilsson, Raphael 1968)
  • Dynamique
  • LRTA (Korf 1990)

11
Etat de lart
  • Navigation réactive
  • Planification
  • Jean-Yves Donnart (1998)
  • Architecture MonaLysa
  • Pile de tâches comme PodBot
  • Systèmes de classeurs
  • Apprentissage des règles de navigation

Navigation hybride ou planification réactive
12
Etat de lart
  • Algorithme de navigation
  • Empilement de tâches de contournement
  • Modification dobjectif
  • Dépasser la droite formée par lobstacle

13
Etat de lart
  • Algorithme de navigation
  • Empilement de tâches de contournement
  • Modification dobjectif
  • Dépasser la droite formée par lobstacle

14
Etat de lart
  • Algorithme de navigation
  • Empilement de tâches de contournement
  • Modification dobjectif
  • Dépasser la droite formée par lobstacle

15
Etat de lart
  • Algorithme de navigation
  • Empilement de tâches de contournement
  • Modification dobjectif
  • Dépasser la droite formée par lobstacle

16
Etat de lart
  • Algorithme de navigation
  • Empilement de tâches de contournement
  • Modification dobjectif
  • Dépasser la droite formée par lobstacle

17
Etat de lart
  • Algorithme de navigation
  • Empilement de tâches de contournement
  • Modification dobjectif
  • Dépasser la droite formée par lobstacle

18
Etat de lart
  • Algorithme de navigation
  • Empilement de tâches de contournement
  • Modification dobjectif
  • Dépasser la droite formée par lobstacle

19
Positionnement
Navigation réactive
Planification
  • Basé sur lalgorithme de Jean-Yves Donnart
  • Environnement plus riche
  • Plus dactions possibles
  • Direction absolue

Navigation hybride
20
Implémentation

21
Fonctionnement général
  • Ajout aux tâches déjà existantes de PodBot
  • Tâche de navigation réactive
  • Tâche de contournement dobstacles
  • Empilement de ces tâches si le bot na pas
    dactions particulières à accomplir

22
La tâche de navigation réactive
  • Empilement
  • Pas de tâches spécifiques à accomplir
  • Pas de chemin
  • Le premier nud du chemin est inaccessible
  • Dépilement
  • Arrive au but
  • Retrouve un chemin existant
  • Attaquer ou se défendre

23
Tâche de contournement dobstacles
  • Algorithme de Jean-Yves Donnart
  • Problème sur certaines configurations
  • Décalage de la position de lobstacle

24
Contournement dobstacles
  • Algorithme de Jean-Yves Donnart
  • Problème sur certaines configurations
  • Décalage de la position de lobstacle

25
Contournement dobstacles
  • Algorithme de Jean-Yves Donnart
  • Problème sur certaines configurations
  • Décalage de la position de lobstacle

26
Contournement dobstacles
  • Algorithme de Jean-Yves Donnart
  • Problème sur certaines configurations
  • Décalage de la position de lobstacle

27
Contournement dobstacles
  • Algorithme de Jean-Yves Donnart
  • Problème sur certaines configurations
  • Décalage de la position de lobstacle

28
Contournement dobstacles
  • Algorithme de Jean-Yves Donnart
  • Problème sur certaines configurations
  • Décalage de la position de lobstacle

29
Contournement dobstacles
  • Algorithme de Jean-Yves Donnart
  • Problème sur certaines configurations
  • Décalage de la position de lobstacle

30
Contournement dobstacles
  • Algorithme de Jean-Yves Donnart
  • Problème sur certaines configurations
  • Décalage de la position de lobstacle

31
Contournement dobstacles
  • Algorithme de Jean-Yves Donnart
  • Problème sur certaines configurations
  • Décalage de la position de lobstacle

32
Contournement dobstacles
  • Algorithme de Jean-Yves Donnart
  • Problème sur certaines configurations
  • Décalage de la position de lobstacle

33
Contournement dobstacles
  • Algorithme de Jean-Yves Donnart
  • Problème sur certaines configurations
  • Décalage de la position de lobstacle

34
Contournement dobstacles
  • Algorithme de Jean-Yves Donnart
  • Problème sur certaines configurations
  • Décalage de la position de lobstacle

35
Contournement dobstacles
  • Algorithme de Jean-Yves Donnart
  • Problème sur certaines configurations
  • Décalage de la position de lobstacle

36
La pose des Waypoints
  • Ou?
  • Empilement de la tâche de navigation réactive
  • Rencontre avec un obstacle
  • Déplacement direct vers la droite formée par
    lobstacle
  • Dépilement de la tâche de contournement
  • Liens entre les waypoints
  • Avec tous les waypoints visibles
  • Le dernier posé avec le but

37
La pose des Waypoints
  • Ou?
  • Empilement de la tâche de navigation réactive
  • Rencontre avec un obstacle
  • Déplacement direct vers la droite formée par
    lobstacle
  • Dépilement de la tâche de contournement
  • Liens entre les waypoints
  • Avec tous les waypoints visibles
  • Le dernier posé avec le but

38
La pose des Waypoints
  • Ou?
  • Empilement de la tâche de navigation réactive
  • Rencontre avec un obstacle
  • Déplacement direct vers la droite formée par
    lobstacle
  • Dépilement de la tâche de contournement
  • Liens entre les waypoints
  • Avec tous les waypoints visibles
  • Le dernier posé avec le but

39
La pose des Waypoints
  • Ou?
  • Empilement de la tâche de navigation réactive
  • Rencontre avec un obstacle
  • Déplacement direct vers la droite formée par
    lobstacle
  • Dépilement de la tâche de contournement
  • Liens entre les waypoints
  • Avec tous les waypoints visibles
  • Le dernier posé avec le but

40
Résultats
41
Difficultés
  • Senseur
  • Lancer de rayon
  • Bloqué par un obstacle non détecté
  • Porte coulissante
  • Barrière
  • Éléments du corps
  • Coordonnées bruitées
  • Un même point na pas les mêmes coordonnées dune
    partie sur lautre

42
Résultats
  • Navigation réactive
  • Trouve son chemin sans waypoints

43
Résultats
  • - Construction dun représentation de
    lenvironnement
  • - Planification - Adaptation - Sélection de
    laction

44
Résultats
  • - Construction dun représentation de
    lenvironnement
  • - Planification - Adaptation - Sélection de
    laction

45
Discussion
  • - Différences avec lalgorithme de Jean-Yves
    Donnart
  • A / règles
  • Représentation complète de lenvironnement /
    représentation optimale
  • Problème de stockage des règles
  • Sauter, se baisser, tirer plutôt que de
    contourner un obstacle

46
Limites améliorations
  • Complexité
  • système à base de règles ?
  • Faible exploration
  • ajout dun compromis exploration/exploitation
  • Marquer les waypoints lors dune détection
    dobstacles par les directions non encore
    empruntées par le bot
  • Connaissance collective
  • Pas très réaliste

47
Travaux futurs
  • Analyse des waypoints
  • Visibilité dun waypoint
  • Position de tireur embusqué
  • Détection de pièce à une sortie

48
Conclusion
  • - Technique de navigation autonome
  • Peut être lancée de nimporte quel endroit
  • Capable daller à nimporte quels points de
    lenvironnement
  • Plus besoin dintervention dutilisateur
  • Exportation
  • Algorithme modelable et adaptable
  • Opérations simples dorientation
  • Aux autres jeux
  • Modification minime dimplémentation

49
Merci de votre attention
50
  • Application au monde réel
  • Eviter les obstacles
  • Senseurs adéquats
  • Se repérer dans lenvironnement
  • Rejoindre des coordonnées données
  • GPS

51
Plan de lexposé
  • I. APPROCHE ANIMAT
  • a. LAA en général
  • b. La navigation
  • c. Les jeux vidéos
  • II. PROBLEMATIQUE
  • a. Le jeu Counter Strike
  • b. Les bots
  • c. Les waypoints
  • d. Notre objectif
  • III. ETAT DE LART
  • a. Technique de navigation
  • b. Représentation du monde
  • c. Positionnement
  • IV. TECHNIQUE POUR LA NAVIGATION REACTIVE
  • a. Pile de tâches / actions
  • b. Contournement dobstacles (J-Y Donnart)
  • V. LA POSE DES WAYPOINTS
  • a. Où?
  • b. Lien entre les waypoints
  • VI. RESULTATS
  • a. Navigation Réactive
  • b. Planification
  • VII. LIMITES AMELIORATIONS
  • a. Complexité -gt système à base de règles
  • b. Faible exploration -gt ajout dun compromis
    exploration / exploitation
  • c. Exportation
  • 1. Autres univers simulés
  • 2. Monde réel
  • VIII. CONCLUSION
  • a. Apport à la communauté
  • b. Apport au jeu vidéo
Write a Comment
User Comments (0)
About PowerShow.com