• Fishy Fight

    Mohamed Yazid GAIED

    Mohamed Yazid GAIED - TD1 L3 S5 EVMAN 

     

    Fishy Fight

     

    Description:

    Étant un grand fan de micro games/versus games et plus particulièrement de jeux comme Wario ware ou Mario party, je voulais créer un mini jeu dans la même veine que ceux ci, qui intègrent souvent un gameplay simple et universel, basé sur un sens donné (wiimote pour mouvements, stylet pour sélection en tout genre).

    En effet, il est maintenant assez commun de se confronter à des capteurs divers dans la plupart des consoles actuelles et cela laisse une toute nouvelle façon de penser le jeu et de ne plus se limiter à un simple joystick.

    N’ayant pas énormément d'expérience avec Processing, j’ai décidé que mon jeu serait directement jouable sur Max (il faut se rendre en mode présentation pour cacher son patch), et cela a facilité la fabrication de mon jeu.

    Dans ce jeu nous incarnons un poisson qui se dispute contre un autre, en lui renvoyant son souffle. Le jeu nous incite donc à utiliser notre propre souffle pour défier cet adversaire, est peut être une expérience stimulante entre amis tel que les jeux que nous voyons à la foire (avec les simulateurs de force en punching bag).

    Pour simuler l’action du souffle, j’ai réalisé deux dessins qui sont mes sprites, pour chaque personnage, nous avons deux poses clés d’animation, et une pause sera pour quand l’on souffle, et l’autre quand on est neutre. Les illustrations ont été réalisées sur procreate.

     

    Sprites pour le joueur et l’adversaire

     

    Schéma fonctionnel

    Schéma de branchement (mon seul capteur est un capteur de souffle/ou un micro)

     

    Explication technique:

    Le but du jeu est de pousser le curseur jusqu'à 127 tout en l'empêchant d'atteindre 0 afin que la barre atteigne la position de l’adversaire. Pour cela, on confronte notre souffle avec celui de l'adversaire. Nos souffles respectifs donnent une valeur entre 0 et 127. On soustrait notre souffle à celui de l'adversaire, on divise la valeur obtenue pour diminuer le changement, et on ajoute le résultat à la valeur du curseur, qui commence à une valeur moyenne de 68. Il est important de diviser la différence entre notre souffle et celui de l'adversaire, car une nouvelle valeur arrive 50 fois par seconde (à cause du [metro 20] qui demande à [drunk] de générer une nouvelle valeur toutes les 20 millisecondes), et si on ne divisait pas cette valeur pour la réduire, le curseur arriverait très vite à 0 ou 127. De plus, il est à noter que le calcul de la position du curseur se fait avec des floats (nombres à virgule) et non pas des int (nombres entiers) afin d'avoir un mouvement plus fin et fluide du curseur. Pour cela, l'attribut floatoutput du curseur est activé, et le [+ 0.] qui ajoute la différence entre les souffles à la valeur actuelle du curseur est initialisé avec un '0.' justement pour qu'il puisse prendre en compte les nombres à virgules.

     

    Mon Patch Max

    Les objets commençant par un "p" sont des "patcher" (ou des sous-patch). Dans [p joueur] il y a un [p micro-input] qui s'occupe de capter le son du micro et en ressortir une valeur correspondant grossièrement au volume sonore (c'est dans ce patch qu'on multiplie le niveau capté par le chiffre "sensibilité du micro" qu'on peut régler). La sortie de [p micro-input] est connectée à la fois au [switch], et à la fois au [mtr]. Quand on clique sur le message "record" connecté au [mtr], l'objet enregistre tout ce qui lui arrive dessus, dont justement ce qui vient de [p micro-input]. J'ai réalisé au préalable un enregistrement (souffle.txt) qui se charge automatiquement quand on lance le patch. Ce que lit le mtr (quand on sélectionne "mtr" au lieu de capteur ou micro), c'est donc les valeurs du fichier "souffle.txt", et donc la sortie de [p micro-input].

    Vidéo de démonstration:



     

    « Passe l'examen et deviens Hunter professionnel !PROXIMIFASOL »

    Tags Tags : , , , ,
  • Commentaires

    Aucun commentaire pour le moment

    Suivre le flux RSS des commentaires

    Vous devez être connecté pour commenter