URL: https://linuxfr.org/users/mcmic/journaux/audioracer-tentative-de-clone-libre-d-audiosurf Title: AudioRacer : tentative de clone libre d'AudioSurf Authors: MCMic Date: 2012年03月15日T16:58:27+01:00 License: CC By-SA Tags: jeu, jeu_vidéo et jeux_linux Score: 22 Bonjour! Je viens vous présenter mon dernier projet de jeu-vidéo, réalisé dans le cadre de mes études. Le semestre dernier, aucun des sujets proposés n'ayant attiré mon attention, j'avais soumis et réalisé le [sujet qui a mené au jeu Genetic Invasion](http://linuxfr.org/news/geneticinvasion%C2%A0-des-algorithmes-%C3%A9volutionnaires-pour-un-meilleur-jeu). Ce semestre ci, j'ai récidivé et ai cette fois soumis un sujet consistant à développer un clone du jeu AudioSurf. Pour ceux qui ne connaissent pas, l'idée d'AudioSurf est de construire une piste de course basée sur l'analyse d'une musique choisie par l'utilisateur parmi les fichiers de son disque dur. Le vaisseau avance à vitesse constante pour que la piste et la musique soit synchro, donc les seules actions laissées au joueur sont le déplacement sur les cotés. AudioSurf ajoute un gameplay de type puzzle game avec un système de couleurs de blocs à ramasser pour faire des combos, nous n'avons pas repris cette idée. Nous nous sommes basés sur le jeu libre Racer, jeu de course de vaisseau classique disponible sur SourceForge : http://sourceforge.net/projects/racer/ Les avantages étant que Racer a un système de gestion de piste de course plutôt évolué nous permettant de faire pas mal de choses (même s'il n'autorise pas tout), un système de menu, d'entrée clavier, de rendu, etc, déjà en place, et un éditeur de piste nous permettant de visualiser les pistes générées par notre analyse. En se basant sur une analyse de l'enveloppe de la musique et sur une détection de pics sur sa dérivée, on détecte les changements de rythme de la musique, ensuite pour chaque partie de la musique, on fixe la pente de la piste en fonction de la hauteur de l'enveloppe. Des bonus sont placés sur la piste à chaque pic de l'enveloppe, le type du bonus dépend d'une analyse fréquentielle permettant de savoir si le son est plutôt aigu ou grave. Enfin la piste va vers la droite ou vers la gauche entre deux changements de rythme selon que le son est en moyenne plutôt aigu ou grave sur cette portion de piste. Pour ceux désirant en savoir plus sur l'analyse musicale, tout est là, graphes à l'appui : http://projects.haxx.es/p/audioracer/page/Analyze/ Le résultat est plutôt mitigé, ça fonctionne un peu mais pas trop, le rapport entre la musique et le jeu se ressent mais n'est pas non plus bouleversant. Notamment l'idée d'utiliser grave/aigu pour le droite/gauche de la piste ne donne pas un résultat intéressant. Du coté du gameplay on retombe sur le même biais qu'AudioSurf, à savoir on a l'impression qu'il est juste là pour occuper le joueur en attendant la fin de la piste. Ce qui m'avait plu avec AudioSurf, c'était de fouiller mon disque dur à la recherche de musiques créant les pistes les plus tordues, les plus pentues, etc. Le jeu en lui même ne casse pas trois pattes à un transistor. Bref, beaucoup de pistes d'amélioration pour en faire un vrai jeu intéressant : - Pousser plus loin l'analyse audio : isoler les instruments, détecter les voix, utiliser la stéréo... - Enrichir le gameplay - Enrichir le rendu : décor animé synchro avec la musique, ... - Utiliser les possibilités du moteur de pistes laissées de coté : faire pencher la piste, des loopings, des vrilles, une séparation en deux parties, sauts... - Ajouter un système de HighScore, idéalement en ligne - Ajout d'obstacles Ça s'appelle AudioRacer (pour l’anecdote, je voulais l'appeler MusicRacer pour plus s'éloigner du nom du jeu original, mais ça existe déjà : http://www.musicracer.de/ ), et ça se trouve ici : http://projects.haxx.es/p/audioracer/ Je ne pense pas que l'on continue à travailler sur le projet, personnellement je n'ai pas les compétences nécessaires en analyse audio pour le mener plus loin de toutes façons. J’espère par contre trouver le temps de bosser un peu sur Racer, qui mérite de devenir le jeu de course de vaisseau libre dont on a tous besoin :-) Si quelqu'un souhaite reprendre AudioRacer là on l'a laissé, cela me ferait extrêmement plaisir, et je serais le béta-testeur le plus assidu! J'en profite également pour remercier de nouveau le développeur de Racer, qui a répondu à nos mails de manière très précise et fournie quand on avait des soucis avec son code, et qui a ma foi fourni une base de code très bien organisée et plutôt facile à réutiliser dans Racer. Je suis là pour répondre aux éventuelles questions postées en commentaire.