J'ai réalisé, dans le cadre d'un cours, un Labyrinthe en 3D en C++ avec Qt-OpenGL. Il est aussi possible de controler les déplacements du personnage grace à un outil de detection du visage réalisé avec OpenCV. Le code et les détails sont disponibles sur Github.
Affiche la caméra et des informations diverses. on peut voir sur la caméra le mouvement du visage qui pilote le mouvement du joueur
Lorsque le joueur reste immobile une carte du labyrinthe apparait pour se guider vers la sortie (celle-ci n'apparait que lorsque la boule est récupérée).
Ce menu permet de choisir les paramètres de la partie avant le début de celle-ci. Les paramètres sont sauvegardés dans un fichier texte.
Affichage d’une scène 3D représentant un labyrinthe de 10 cases de large par 6 de haut généré aléatoirement. Présence d’une option pour changer la taille du labyrinthe.
Présence d’une lumière ambiante sur les murs, le sol et le plafond.
Déplacements du joueur dans le labyrinthe commandés par des déplacements de la tête (rotation droite ou gauche pour tourner,inclinaison vers le haut ou vers le bas pour avancer ou reculer), présence d’une zone affichant l’image de la WebCam en continu.
Détection d’une position neutre de la tête du joueur.
Affichage du plan 2D du labyrinthe lorsque le joueur est dans une position neutre.
Présence d’une sphère émettant une lumière et texturée du logo de TSE dans le labyrinthe, disparition lorsqu’elle aura été atteinte, déclenchement de l’apparition de la porte de sortie du labyrinthe.
Affichage du chronomètre avec défilement du temps.
Détection de la fin de la partie et ré-initialisation pour la partie suivante.
Musique de fond et son emit par la sphère-clef
Texturage des différents éléments et ajout de sur textures aléatoires sur les murs pour faciliter l'orientation dans le labyrinthe
Animation du personnage pour un déplacement plus doux et plus simple et animations de pas
Utilisation d'une skybox pour donner plus de profondeur au décor extérieur, visible par la porte du labyrinthe
Stockage des paramètres dans un fichier .ini, pour les sauvegarder d'une partie sur l'autre
Possibilité de changer les controles du jeu en cours de jeu grace à des touches du clavier (camera, souris, clavier)
Controle du personnage au moyen de la souris et/ou du clavier
Paramétrage du FOV, réglable en jeu par la molette de la souris
Fonctionnalité de DEBUG et autres paramètres globaux ajouté au code source, modifiable à la compilation
Reglaghe de la résolution de la fenêtre de jeuy et mode plein écran