From af8fc369b1b45e7e74e511889e9f2353cee19b01 Mon Sep 17 00:00:00 2001
From: Quentin LECOMTE <quentin.lecomte@ensiie.fr>
Date: Mon, 10 May 2021 07:00:54 +0000
Subject: [PATCH] Update Dev Logs

---
 Dev Logs | 45 ++++++++++++++++++++++++++++++---------------
 1 file changed, 30 insertions(+), 15 deletions(-)

diff --git a/Dev Logs b/Dev Logs
index 8f97798..4477501 100644
--- a/Dev Logs	
+++ b/Dev Logs	
@@ -1,29 +1,44 @@
-===== 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
+Journal de dév
 
-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.\\
+29/03/2021
+
+    Quentin C : Prototypage des animations de slash
+
+J'ai d'abord cherché si il existait des bibliothèques de simulation de particules dans processing pour faire les animations. Je n'en ai pas trouvé de convaincantes. J'ai donc ensuite cherché à utiliser les fonctions de bases de processing pour dessiner une animation qui évoquerait un slash de katana. L'idée était de créer une ligne avec une épaisseur non-constante. J'ai essayé de faire quelquechose avec des courbes de bézier mais ce la s'est avéré trop complexe à paramétrer, puis j'ai essayé avec des cercles alignés de différents diamètres mais l'effet n'était pas convaincant. Finalement j'ai opté pour la fonction arc qui s'avère facile à paramétrer et qui rend plutôt bien l'effet recherché.
+
+* Quentin L : Le jeu reconnaît à présent les 6 mouvements de base grâce au gyroscope
+
+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 : 
+    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.  
+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
+
+    Quentin C : Intégration des animations et correction des bugs d'affichage
+
+J'ai du décider de paramètres pour les slashs pour qu'ils ne soient pas toujours au même endroit ou qu'il ne se fassent pas toujours dans la même direction. Pour cela j'ai ajouté un offset qui est tiré aléatoirement à la génération de chaque slash ainsi que des paramètres de position et de largeur. Lors de l'intégration de l'animation dans la boucle de jeu principale les animations ne se jouait pas correctement à cause d'une mauvaise initialisation, qui fut résolu.
+
+    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. 
+    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.
+
+    Quentin C : Amélioration des animations et bugfix
+
+Ajout d'une animation de fadeout pour les slashs sur l'écran et
+
+    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.
 
-  * 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. 
+    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. 
-- 
GitLab