Faisons nos propres DDRs ! Si vous avez des suggestions, des idées, des questions, des corrections, ouvrez un ticket (issue) ou envoyez nous un mail, plus on s'entraire plus les DDR fabriqués seront biens !
Et hésitez pas à envoyer des photos de votre DDR fini, comme ca on pourra l'ajouter à la documentation pour différentes saveurs de DDR et encourager de nouvelles personnes à faire le leur !
Photos de DDRs finis:
- La première version fonctionnelle du DDR au Nantes Maker Campus au milieu de tout le bazard. Il marche vraiment bien pour notre niveau débutant (pas de latence ressentie).
Pour pouvoir jouer à un jeu de DDR, il faut un logiciel qui sert de jeu. Celui que j'ai utilisé est itgmania mais stepmania devrait marcher aussi. Installez celui de votre choix et lancez une partie pour tester si ca fonctionne correctement (en jouant avec les fleches directionnelles du clavier).
Le composant le plus important est celui qui va faire communiquer le pad (ce sur quoi on va marcher) avec l'ordinateur pour qu'il puisse lui dire sur quelle fleche on appuie. Les deux options les plus faciles sont :
- un USB arcade encoder, une carte qui est détectée comme une manette donc c'est très facile à gérer. (l'option avec les cables est pratique car on peut juste enlever et ajouter des joueurs en débranchant les cables associés facilement)
- un vieux circuit électronique de clavier (mais on n'a pas testé)
- une Arduino (mais plus cher et on ne l'a pas fait)
- un Makey Makey (plus cher et on ne l'a pas fait non plus)
Les ports du bas de la carte sont facilement détectés par les logiciels, donc il y a suffisament de ports pour pouvoir jouer à deux ! (les logiciels supportent le jeu à deux pad et le jeu à deux joueurs)
L'USB arcade encoder se branche avec le cable USB sur le PC directement. Normalement il sera correctement détecté (automatiquement).
Pour tester si il fonctionne correctement, lancez le logiciel choisi, allez dans les paramètres dans l'endroit pour tester les touches détectées et faites se joindre deux bouts d'un fil d'un même bouton.
Il affichera soit une des flèches soit il mettra du texte "nom de la touche" (not mapped)
et dans ce cas là il faudra aller dans le menu pour ajouter des nouvelles touches (il vaut mieux changer les touches secondaires pour éviter d'être coincé).
Quand vous changez quelque chose dans les parametres du jeu, sortez des parametres avec les boutons des menus (bouton exit ou save and exit) car faire échap ne sauvegardera pas vos changements.
Le but du pad est de détecter sur quelles flèches l'utilisateur appuie et transmettre cette info à l'USB arcade encoder. L'usb arcade encoder détecte ses entrées/boutons "flèches directionnelles" soit en "touche appuyée" soit en "touche lachée". Ces deux états correspondent à se le courant électrique passe entre les deux fils de l'entrée/bouton ou pas. Notre but est donc qu'avec chacune des flèches de notre DDR on fasse passer le courant électrique quand le joueur a le pieds dessus et pas sinon. C'est le même principe qu'un bouton normal. On voudrait aussi qu'il y ait un minimum de latence entre le moment où le joueur pose son pied sur la flèche et le moment où le bouton est détecté comme appuyé (quand le courant passe).
La solution que l'on a trouvé était de séparer la plaque en deux partie conductrices connectées chacun à un des fils et de mettre un matériau conducteur sous le pied du joueur pour qu'il connecte les deux parties conductrices de la plaque quand il met le pied dessus. Pour qu'il puisse appuyer à un maximum d'endroit sur la plaque, la séparation des deux parties conductrices est en forme de créneaux pour que peu importe la position du pied, il y ai les deux parties sous son pied.
Le matériau conducteur que l'on avait choisi est de l'aluminium de cuisine collé au vernis-colle sur une plaque de bois agloméré. Attention une seule des faces des l'aluminium de cuisine est conductrice ! On a renforcé les bords de l'aluminum en collant du scotch dessus pour éviter qu'il s'arrache/se décolle par les bords. Mais à force d'utilisation intensive l'aluminium risque de s'effritter. Nous n'avons pas encore de solution plus efficace pour ce problème. Une solution potentielle serait de mettre de l'aluminium plus épais mais le découper serait bien plus dur et le budjet serait plus important aussi.
Pour relier le fil de l'USB encoder à la plaque, on avait soudé le fil sur du scotch cuivre puis scotché la partie conductrice du scotch cuivre sur l'aluminium. Car l'aluminium n'adhère pas aux soudure. Cette solution était plutot simple et fonctionnelle. Ses défauts sont de devoir acheter du scotch cuivre et que le scotch cuivre se déchire. Au Nantes Maker Campus 2024, les gens se prennaient les pieds dans les fils donc il est arrivé que le scotch se déchire.
La solution que l'on avait choisi pour le matériau conducteur sous le pied du joueur était de faire une bande de carton accrochable à un pied avec de la tresse à déssouder enroulée dessus. La solution était pratique pour pouvoir s'adapter à différentes tailles de pieds (ce qui a très bien marché au Nantes Maker Campus 2024). Mais après trois jours de DDR intenses la tresse a commencé à se rompre car elle est peu adaptée à un piétinage intensif. On l'a changé par une tresse plus large (voir photo) mais elle va sans doute rompre aussi. Donc ce problème est toujours actuel et la faille principale de ce design actuellement.
Voici le chausson après l'avoir utilisé intensément en extérieur au Nantes Maker Campus (d'où sa couleur): Les petites découpes sont orientées vers la cheville du joueur quand il a le chausson autour du pied pour qu'il s'adapte mieux à la forme du pied et qu'il soit plus agréable.
Les packs de chansons se trouvent sur internet, par exemple sur (d'après reddit): https://www.stepmaniaonline.net/ https://zenius-i-vanisher.com/v5.2/simfiles.php?category=simfiles https://docs.google.com/spreadsheets/d/1F1IURV1UAYiICTLhAOKIJfwUN1iG12ZOufHZuDKiP48/htmlview Les logiciels sont assez capricieux pour les packs de chansons. Il faut les dézipper dans le dossier Songs du jeu et bien veiller à ce qu'aucun dossier de chanson ne soit directement dans Songs. Il faut qu'ils soient tous dans un pack (un dossier) qui lui doit être dans Songs.
Voilà pour le DDR, si on a oublié des infos, où que vous avez des problèmes dites le nous! (ouvrez un ticket ici: https://github.com/Eliyaan/DDR-documentation/issues en cliquant sur le bouton vert, ou envoyez nous un mail)
Merci pour votre intérêt au projet, en espérant qu'il vous aura inspiré et donné envie de faire le votre !