diff --git a/Dev Logs b/Dev Logs index ea7d5893af717836e44754778afb63a73794c286..8f97798f929fb34168817a45ba5a2085f25c2bb0 100644 --- a/Dev Logs +++ b/Dev Logs @@ -1,10 +1,29 @@ - 29/03/2021 +===== Journal de dév ===== +29/03/2021\\ + * Quentin C : Prototypage des animations de slash + * Quentin L : Le jeu reconnaît à présent les 6 mouvements de base grâce au gyroscope - * Quentin : Prototypage des animations de slash(animation sur l'écran lors du jeu), test avec des courbes de béziers, des cercles alignés et finalement choix de la fonction arc - * Quentin L : Le jeu reconnaît à présent les 6 mouvements de base grâce au gyroscope - * Florentin : recherche sur la spatialisation du son +J'ai d'abord essayé d'utiliser l'accéléromètre pour reconnaître les différents mouvements de l'utilisateur. Cependant, cela posait quelques problèmes. Premièrement, lorsqu'on stop un mouvement, une accélération se produit dans le sens inverse, qui était parfois détectée par l'accéléromètre. Deuxième problème, pour avoir une détection optimale, l'utilisateur devait garder le téléphone immobile selon les autres axes, ce qui n'est pas très naturel.\\ +Pour palier à ces problèmes, j'ai décidé d'utiliser le gyroscope à la place. En effet, de manière naturelle, lorsqu'on donne un coup d'épée, on la fait tourner (la pointe va plus vite que le manche). Et de plus, avec le gyroscope, l'accélération de fin de mouvement est beaucoup moins importante, on peut donc l'ignorer plus facilement avec un seuillage. + + * Florentin : Recherches sur la spatialisation du son : + +Après quelques recherches sur la documentation de Processing, je me suis rendu compte que la spatialisation du son n'était implémentée que partiellement sur ce logiciel. En effet, le logiciel permet de jouer un son en stéréo, mais pas de le modifier pour le faire venir d'une direction précise sur les axes haut-bas et avant-arrière. Une recherche plus approfondie m'a permis de découvrir les HRTF (Head-Related Transfer Function). Ces fonctions, relatives à chaque être humain, permettent de faire écouter un son provenant de n'importe quelle direction. Malheureusement, ces fonctions sont complexes à déterminer et un simple calibrage ne permet pas de trouver les paramètres nécessaires aux calculs. Nous avons donc résolu de nous baser uniquement sur l'axe droite-gauche pour notre jeu. 19/04/2021 + * Quentin C : Intégration des animations et correction des bugs d'affichage + * Quentin L : La boucle de jeu est maintenant fonctionnelle + +Pas de gros soucis à noter pour la boucle de jeu. J'ai également rajouté un filtre de Kalman pour améliorer la détection des mouvements, mais les améliorations (s'il y en a) sont très légères. Comme cela n'a pas l'air de ralentir l'application, j'ai décidé de tout de même le laisser. + + * Florentin : Création et intégration des menus (principal, écran de mort) +Afin de créer les menus, j'ai repris les couleurs des images que nous avions décidé d'utiliser pour créer les boutons et j'ai changé l'alpha des boutons afin qu'ils soient bien intégrés dans les menus. J'ai ensuite utilisé l'exemple donné par Processing pour créer les boutons et les fonds. J'ai rencontré un seul bug : le fait de devoir appuyer deux fois sur un bouton avant que l'action associée à celui-ci ne se déclenche. Cela provenait d'une différence de codage entre PC et téléphone mobile. + +03/05/2021 + * Quentin C : + * Quentin L : Finalisation de la boucle de jeu, ajout de la barre de vie, accélération du jeu au fur et à mesure que le joueur progresse. + +Pas de souci majeur ici, j'ai également aidé Quentin C à corriger un problème qui faisait que les animations de slash ne s'effaçait pas. Nous essayions d'utiliser clear(), mais apparement dans notre cas elle ne marche pas. Nous avons décidé de redessiner un rectangle noir à la place, ce qui marche très bien. - * Quentin L : enregistrements des sons spatialisés des ennemis - * Quentin C : Création de l'esthétique du slash avec la fonction arc + * Florentin : Ajout des instructions +Les instructions ont été enregistrées par audio afin de rester dans le contexte du jeu puis intégrées au jeu sur le bouton qui lui était assigné. J'ai également ajouté la fonctionnalité "Retour Menu" en fin de partie. diff --git a/build/boucle_de_jeu/boucle_de_jeu.pde b/build/boucle_de_jeu/boucle_de_jeu.pde index c5d572ad55831b2818db32ef4ab35541de28f929..9a173b7d48e1ebb8f4700ce4b7440b10a542e619 100644 --- a/build/boucle_de_jeu/boucle_de_jeu.pde +++ b/build/boucle_de_jeu/boucle_de_jeu.pde @@ -51,7 +51,7 @@ boolean instructionsOver; PImage menu; PImage mortImage; -PImage troiscoeur; +PImage troiscoeur, deuxcoeur, uncoeur; PFont font; String save; String[] leaderBoard; @@ -134,6 +134,8 @@ void setup() { menu = loadImage("menu.jpg"); mortImage = loadImage("mort.png"); troiscoeur = loadImage("3coeur.png"); + deuxcoeur = loadImage("2coeur.png"); + uncoeur = loadImage("1coeur.png"); menu.resize(displayWidth, displayHeight); mortImage.resize(displayWidth, displayHeight); background(menu); @@ -163,6 +165,7 @@ void fade(int n){ void draw() { switch(mode){ case 0 : //Correspond au menu de jeu + vie = 3; stroke(0); fill(startColor); rect(startX, startY, startSizeX, startSizeY); @@ -361,8 +364,9 @@ void draw() { rect(startX-displayWidth/20, startY2, startSizeX+displayWidth/10, startSizeY); fill(0,0,0,100); text("Retour menu", startX+startSizeX/20, startY+startSizeY/3, startSizeX, startSizeY); - text("Combo max : " + max_combo + "\nScore max : " + score, startX, startY2+startSizeY/6, startSizeX+displayWidth/10, startSizeY); + text("Combo max : " + max_combo + "\nScore : " + score, startX, startY2+startSizeY/6, startSizeX+displayWidth/10, startSizeY); break; + } } diff --git a/build/boucle_de_jeu/data/1coeur.png b/build/boucle_de_jeu/data/1coeur.png index d3ae292dbc81a6d67acf95f7c63dcd94c089da75..1b28cf70e7d953016c976238ddaaa7834b79395d 100644 Binary files a/build/boucle_de_jeu/data/1coeur.png and b/build/boucle_de_jeu/data/1coeur.png differ diff --git a/build/boucle_de_jeu/data/2coeur.png b/build/boucle_de_jeu/data/2coeur.png index 0c85a4e12d5d17a08d0d6ff7fee5b6c49bd0064b..89bf62791114149a9c4e268b077c6f4ebcb89d1a 100644 Binary files a/build/boucle_de_jeu/data/2coeur.png and b/build/boucle_de_jeu/data/2coeur.png differ