-
Bang 4
Tanguy Adisson L3 EVMAN
Lucas Brun L3 EVMAN
Kenzo Da Silva L3 EVMAN
L’idée de notre projet découle de deux envies plutôt simples de notre part. La première étant de recréer un jeu de société de notre enfance. Et puis la seconde vient de la découverte de la possibilité d’utiliser des matrices dans Max MSP et notre envie d’explorer la fonctionnalité. Ainsi c’est tout naturellement que l’idée d’un Puissance 4 revisité au format numérique nous est apparu. Le fonctionnement du jeu est réalisé sur différents patchs max reliés entre eux. Le jeu requiert deux matrices, chacune associée à un des deux joueurs. Lorsque le jeton est lâché, un système de simulation de la gravité vérifie à chaque actualisation si l’emplacement situé en dessous est disponible, jusqu’à ce que ce ne soit plus le cas. À ce moment-là le jeton arrêtera sa chute. Toutes les possibilités de victoires sont vérifiées après chaque tour afin de savoir si l’un des deux joueurs a gagné. L’interface graphique présentée au joueur est codée en javascript, html et css. Elle permet malgré l’utilisation de deux matrices différentes, de n’afficher qu’une seule grille de jeu aux utilisateurs du dispositif.
Le puissance 4 ne se joue qu’à deux, c’est un duel. Alors nous avons décidé de rendre cette notion plus littérale en faisant de notre puissance 4 un jeu de duel au Far West. Le puissance 4 devient vite lassant tel qu’il est à la base, alors nous avons ajouté de nombreux éléments qui rendent le jeu plus intéressant. Il est d’abord possible de choisir son personnage parmi une sélection varié afin que chacun puisse trouver un personnage qui lui correspond. Ensuite, une fois que le joueur entre son nom, il se verra affublé d’un préfix ou d’un suffixe aléatoire lié à des grands noms de l’époque du Far West. Nous avons également ajouté une musique en fond, et puis quelques bruitages pour stimuler le joueur. Enfin nous avons ajouté un système de manches, chaque manche gagné retire un point de vie à l’adversaire qui commence la partie avec 3 points de vie. Lorsqu’un joueur perd ses 3 vies, le gagnant du duel voit son personnage sur un écran de fin qui se désaltère au saloon, tandis que le personnage ayant perdu se trouve gisant dans le sable à l’extérieur.
Répartition du travail :
Durant le projet c’est principalement Kenzo qui s’est chargé de réaliser les très nombreux patchs sur max. Lucas s’est occupé de penser la jouabilité et l’ambiance du jeu. C’est-à-dire de sélectionner les sons, mais surtout de réaliser tous les différents éléments graphiques qui composent le jeu tout en aidant parfois Kenzo à régler les éventuels disfonctionnements des patchs. Tanguy s’est quant à lui chargé de coder la partie web ainsi que de finir certains patchs sur max notamment celui des conditions de possibilités de fin du jeu.
Capteurs utilisés :
Le fonctionnement de notre projet requiert l’utilisation de 5 capteurs piezo. Les deux premiers permettant la navigation du jeton d’une colonne à l’autre de la grille de jeu. Le deuxième capteur quant à lui sert à valider le choix de la colonne et faire tomber le jeton sur la grille. Les derniers capteurs servent à réinitialiser le soit l’intégralité de la partie, soit la manche en cours.
Schéma du projet :
Le fonctionnement des patchs :
Patch principal : Permet de voir l'état global du jeu ainsi que les différents patchs annexes.
Ce patch gère le bouton de confirmation, le déplacement en horizontal dans le puissance 4 ainsi que celui du curseur de sélection sur l'affichage en HTML
Patch qui permet d'afficher la matrice à l'état n et à l'état n-1
Patch qui permet la substitution des valeurs de la matrice n moins celles de la matrice n-1 ce qui nous permet d'obtenir l'ajout au dernier coup.
Affichage plus complexe de chaque information de la matrice : Numéro du tour, état du système, ajout, état n et n-1 ainsi que les jetons placés par les joueurs 1 et 2
Patch qui permet la détection de l'ajout ainsi que son addition dans la matrice J1 ou J2 en fonction de l'état.
Listing des différents possibilités de fin du jeu à savoir : "Aligner 4 jetons de la même couleurs" et créations de conditions pour les détecter
Lecture des sons lors d'évènements spéciaux rendus possibles par l'état du système.
Création de la gravité (par colonne) dans le puissance 4. Code similaires pour la colonne 0 à 6.
Vérification de l'état des valeurs des matrices J1 et J2 ainsi que leur écriture dans les fichiers txt (coll) sous la forme :
1, 0;
2, 1;
...
42, 0;
Création de la liste (coll) pour les valeurs informatives, c'est-à-dire l'état du système ainsi que le numéro du tour à l'état n.
Affectation des évènements à réaliser en fonction de l'état du système.
Exemple : L'état 5 (Aucun joueur n'a tiré) correspond à lorsque la partie est nulle et entraine une réinitialisation à 0 du tour de la partie du puissance 4.
Gestion et étalonnage des capteurs piezos ainsi que l'attribution de leur fonction dans le puissance 4.
Affichage en HTML, CSS, Javascript.
Démonstration :
-
Commentaires
Aucun commentaire pour le moment
Suivre le flux RSS des commentaires
Vous devez être connecté pour commenter