Développement XNA pour la XBox et le PC
144
Pour un bon design sonore
À première vue, le son n’est pas l’élément qui vous causera le plus de soucis lors de la
création d’un jeu vidéo : il suffit juste de charger les sons et de les jouer. Cependant, les
joueurs n’ont pas tous les mêmes équipements audio !
De plus, certains joueurs n’aiment pas les musiques présentes dans les jeux et préfèrent
écouter les leurs… Veillez donc à leur laisser la possibilité de les éteindre sans pour
autant couper tous les bruitages, par exemple par l’intermédiaire d’un menu d’options.
Ci-dessous vous retrouverez quelques exemples de la liste des actions conseillées par le
site du Creators Club pour le son des jeux de la Xbox 360 (la liste complète est disponible
sur http://creators.xna.com/en-US/education/bestpractices). Certains de ces conseils s’appliquent
aussi aux jeux développés pour les autres plates-formes.
• Essayez de tester la partie sonore du jeu sur le plus grand nombre de configurations
possibles (stéréo, mono, casques, etc.).
• Assurez-vous, au moment de leur édition, que le volume des musiques et/ou des bruitages
est normalisé afin que les joueurs n’aient pas à le modifier au cours du jeu. Pour définir
cette norme, basez-vous sur le volume du son de démarrage de la Xbox 360 : réglez-le
pour qu’il soit un peu fort et ajustez ensuite le volume du jeu en conséquence.
• Faites attention : sur la Xbox 360, la méthode Play() de la classe MediaPlayer est
asynchrone, ce qui signifie que les musiques ne sont pas immédiatement lues. Si vous
vérifiez l’état de l’objet MediaPlayer dans l’appel à la méthode Update() qui suit la
lecture de la musique, il sera probablement toujours sur MediaState.Stopped. Ainsi, si
vous voulez démarrer une nouvelle musique à la fin de la lecture de l’ancienne, n’utilisez
pas la méthode précédente, mais attendez plutôt l’événement ActiveSongChanged puis,
seulement à partir de ce moment-là, vérifiez l’état du MediaPlayer.
• Par défaut, le gestionnaire de contenu (le Content Processor pour être plus précis)
compresse au maximum les éléments qui seront utilisés par l’API SoundEffect. Songez-y
et souvenez-vous que la compression améliore la taille du jeu au détriment de la
qualité du son.
En résumé
Dans ce chapitre, vous avez découvert :
• comment gérer un projet sonore avec XACT et utiliser ce projet dans XNA ;
• quels sont les avantages et inconvénients de l’API SoundEffect par rapport à XACT et
comment utiliser cette API dans XNA ;
• comment utiliser la classe MediaPlayer pour jouer des musiques de la bibliothèque
multimédia de l’utilisateur ;
• quelques bonnes pratiques à appliquer dans le design sonore d’un jeu.
=Labat FM.book Page 144 Vendredi, 19. juin 2009 4:01 16
144
Pour un bon design sonore
À première vue, le son n’est pas l’élément qui vous causera le plus de soucis lors de la
création d’un jeu vidéo : il suffit juste de charger les sons et de les jouer. Cependant, les
joueurs n’ont pas tous les mêmes équipements audio !
De plus, certains joueurs n’aiment pas les musiques présentes dans les jeux et préfèrent
écouter les leurs… Veillez donc à leur laisser la possibilité de les éteindre sans pour
autant couper tous les bruitages, par exemple par l’intermédiaire d’un menu d’options.
Ci-dessous vous retrouverez quelques exemples de la liste des actions conseillées par le
site du Creators Club pour le son des jeux de la Xbox 360 (la liste complète est disponible
sur http://creators.xna.com/en-US/education/bestpractices). Certains de ces conseils s’appliquent
aussi aux jeux développés pour les autres plates-formes.
• Essayez de tester la partie sonore du jeu sur le plus grand nombre de configurations
possibles (stéréo, mono, casques, etc.).
• Assurez-vous, au moment de leur édition, que le volume des musiques et/ou des bruitages
est normalisé afin que les joueurs n’aient pas à le modifier au cours du jeu. Pour définir
cette norme, basez-vous sur le volume du son de démarrage de la Xbox 360 : réglez-le
pour qu’il soit un peu fort et ajustez ensuite le volume du jeu en conséquence.
• Faites attention : sur la Xbox 360, la méthode Play() de la classe MediaPlayer est
asynchrone, ce qui signifie que les musiques ne sont pas immédiatement lues. Si vous
vérifiez l’état de l’objet MediaPlayer dans l’appel à la méthode Update() qui suit la
lecture de la musique, il sera probablement toujours sur MediaState.Stopped. Ainsi, si
vous voulez démarrer une nouvelle musique à la fin de la lecture de l’ancienne, n’utilisez
pas la méthode précédente, mais attendez plutôt l’événement ActiveSongChanged puis,
seulement à partir de ce moment-là, vérifiez l’état du MediaPlayer.
• Par défaut, le gestionnaire de contenu (le Content Processor pour être plus précis)
compresse au maximum les éléments qui seront utilisés par l’API SoundEffect. Songez-y
et souvenez-vous que la compression améliore la taille du jeu au détriment de la
qualité du son.
En résumé
Dans ce chapitre, vous avez découvert :
• comment gérer un projet sonore avec XACT et utiliser ce projet dans XNA ;
• quels sont les avantages et inconvénients de l’API SoundEffect par rapport à XACT et
comment utiliser cette API dans XNA ;
• comment utiliser la classe MediaPlayer pour jouer des musiques de la bibliothèque
multimédia de l’utilisateur ;
• quelques bonnes pratiques à appliquer dans le design sonore d’un jeu.
=Labat FM.book Page 144 Vendredi, 19. juin 2009 4:01 16
