# Cahier des charges ## Description du jeu Jeu sur navigateur, 4 joueurs se retrouvent téléportés aléatoirement dans un manoir hanté généré aléatoirement. Le but est de capturer le plus d'entitées dans un temps imparti. Le joueur qui à attrapé le plus d'entitées à l'aide d'incantations à gagné la partie. ## Technologies utilisées | Fonction occupée | Technologie | | --- | --- | | Client | TypeScript + THREE.js | | API REST | TypeScript + Bun | | Reconnaissance Vocale | Python + (TF ou PyTorch) | | WebSocket | TypeScript + Bun | | Outils | Blender | ## Fonctionnalitées - Généraion d'un manoir de manière aléatoire - Ajout de différentes pièces - Création d'une carte visitable - Controles du joueur - Ecoute des touches du clavier - Ecoute des mouvements de la souris - Transformation du modèle du joueur en fonction de ses mouvements - Mode en ligne - Envoi des données du joueur coté serveur - Affichage des mouvements des joueurs coté client - Chat vocal de proximité avec connexion RTC - Génération des entitées - Placement des entitées - Animation des entitées - Speech-processing - Utilisation de la voix du joueur pour réaliser des incantations afin de capturer les entitées - Couplage avec le chat vocal de proximité - GUI - Ecran d'accueil - Interface & Informations en jeu - Interactions des entitées - Avec l'environnement - Avec les joueurs - Interactions avec le monde - Ouverture des portes - Utilisation du livre d'incantations dans l'inventaire - Règles du jeu ## Qualité de développement - Rajouter des commentaires descriptifs - Considération des performances - Modélisation des modèles 3D de manière raisonnable - Considération des niveaux de complexité des différentes fonctions - Compatibilité chrome/firefox ## Calendrier - [ ] **17 Novembre** - Génération des pièces, controles du joueur, mode en ligne - [ ] **26 Janvier** - Génération des monstres, speech-processing, GUI - [ ] **16 Mars** - Interaction des entitées, Interactions avec le monde - [ ] **1 Juin** - Règles du jeu