Il existe en fait des approches assez standard pour concevoir la lecture de musique dans un jeu. Lors de la conception d'un système de lecture de musique, les problèmes que vous rencontrez impliquent de créer des transitions fluides, de garantir une variété suffisante et de créer un sentiment d'interactivité avec la musique. Le titre de votre question, "changer la musique de fond en douceur", me dit que votre principale préoccupation est les transitions, c'est donc ce que je vais aborder principalement pour chaque méthode.
Méthode 1: couches et tiges
Une approche pour créer des systèmes de lecture de musique fluides dans les jeux, ce que Patrick Hughes a appelé la "manière AAA", est de construire votre musique en couches (parfois aussi appelées stems) de sorte qu'il n'y ait pas de version définitive unique de la piste. Au lieu de cela, vous pouvez avoir une seule piste de base exécutée de manière cohérente, avec des variations mélodiques, rythmiques et harmoniques qui y sont jouées.
Habituellement (encore une fois, merci à Patrick Hughes), vous les construisez autour d'un motif commun qui traverse chaque couche d'éléments dans un morceau de musique, ou même dans toute la musique du jeu. Un bon exemple d'un motif non mélodique est l'utilisation par Martin O'Donnell de l'échelle phrygienne dans les jeux Halo ( http://www.1up.com/features/music-halo-reach ). Normalement, chacune de ces pistes de musique composant est alignée pour être synchronisée sur une ligne de temps entre elles. Bien qu'il soit possible de créer des couches musicales qui ne dépendent pas nécessairement d'un tempo cohérent et d'une chronologie synchronisée, ou qui fonctionnent bien dans plusieurs contextes de tempo et de chronologie.
Parce que chaque couche est conçue pour fonctionner ensemble, il est tout à fait possible d'avoir une seule piste musicale en couches qui joue tout au long du jeu, en effectuant de légères transitions entre les couches en elle-même pour signifier les changements d'état du jeu.
Méthode 2: ramification
Vous dites que vous avez déjà produit des morceaux de musique, ce qui implique que vous avez déjà une direction spécifique en tête: ramifier la musique. Avec la musique de branchement, votre principale préoccupation est la transition entre les morceaux de musique qui ont été spécifiés pour jouer dans des sections particulières du jeu. Vous pouvez obtenir de la variété en décomposant vos segments musicaux individuels en boucles qui ont quelques versions différentes, de sorte que la même version ne joue jamais deux fois en deux itérations et ne démarre pas toujours de la même manière.
Une façon de gérer les transitions dans la musique de branchement simple est d'écrire plus de musique qui agit uniquement comme une transition de ces pistes musicales existantes vers d'autres. Même s'il n'est pas possible de couvrir toutes les transitions musicales possibles, vous pouvez également utiliser les «pistes de connexion» pour terminer une piste musicale tôt dans le cas où vous essayez d'éviter de simples changements de musique en fondu entrant et sortant.
Méthode 3: CCC-Combo
Il est également important de noter que les deux principales approches discutées ici (les couches et les ramifications sont ce qu'on appelle généralement) peuvent coexister conceptuellement. "Branchement" est un terme et une description si simples de ce qui se passe que vous pourriez très bien créer un branchement entre des systèmes de musique en couches. Cela nécessite souvent un système de lecture semi-sophistiqué, vous devez donc équilibrer ce qui vaut votre temps à mettre en œuvre.
Méthode 4: Pragmatisme et lecture de musique plus simple
Et, bien sûr, vous pouvez toujours ajouter et masquer votre musique selon vos besoins. Pas de honte si c'est ce qui vous convient, ou s'il n'est pas possible d'écrire des pistes de connecteur. Mieux que des coupes dures dans un morceau de musique complètement indépendant - cela semblerait assez horrible.
J'aimerais également aborder votre idée de "chansons silencieuses". Ce n'est pas mal, mais que se passe-t-il lorsque vous commencez à lire une piste de 300 secondes pendant 5 secondes, puis vous vous retrouvez immédiatement dans un état où vous devez passer à une autre piste? Attendre les 295 secondes restantes ne semble pas pratique si vous vous souciez vraiment de faire cette transition musicale.
Cependant, si la musique est purement de la musique de fond, et que son objectif fondamental est de fournir simplement une ambiance générale, alors une "simple liste de musique de fond" est une manière parfaitement légitime d'y penser. À ce stade, vous parlez d'une liste de lecture de musique comme vous le feriez dans iTunes ou dans Windows Media Player (est-ce toujours le cas?), Vous devez donc l'implémenter dans cet esprit.
Lectures complémentaires
Pour en savoir plus sur les approches standard de conception de la lecture de musique dans les jeux, vous devriez jeter un coup d'œil aux supports d'apprentissage de deux des plus grands outils d'intergiciel audio interactifs les plus utilisés dans l'industrie, FMOD et Wwise.
Wwise a un bon matériel de référence sur cette page . L'article "Faire de la musique interactive pour les jeux" est particulièrement bon car il approfondit les informations que j'ai écrites ici. La chaîne Youtube FMODTV contient des vidéos avec Stephan Schutze qui couvrent FMOD Studio dans son ensemble - y compris les parties qui peuvent être utilisées pour concevoir des systèmes de lecture de musique. Apprendre comment ces outils abordent ce problème peut vous aider à réfléchir à la manière de répondre aux besoins de votre propre jeu.