見出し画像

[ゲ制]雑インタラクティブ音楽の実装

こんにちはbhaskaraです。
ゲームを作っています。特にこのnoteに課金要素はないので、
下記ゲームを遊んでくれると私が喜びます。
Steam:HAZAMA_QUEEN (steampowered.com)

インタラクティブミュージック。いい響きですね。
本稿ではゲームの展開などに音楽が呼応して変化するみたいなのを想定します。



以下youtubeで雑に見つけた動画です。ヘッドホンやイヤホンなどで聴くと分かりやすいかも。


私が実装したのはこんな感じの例になります。
ちなみに使用エンジンはGAMEMAKERです。
https://x.com/Cynoroid/status/1713389915852116355?s=20

実装方法

最も重要なこと。

BGMの用意です。

これが出来れば概ね完成します。
皆さん実装の仕方は大体分かるでしょ?
最初に全パート再生して、ゲームの展開に合わせて音量アップしたりするだけです。

インタラクティブなBGMの作り方

曲を作り、パートごとに出力します。
基本的には
ドラム、ベース、ギター、ピアノみたいなバンドっぽいパート分けよりも。
キック、クラップ、クーローズハット、ベース・・・みたいなクラブサウンドっぽい区分けおよびジャンルの方がやりやすいです。

ゼルダ的な?ストリングスに各種パーカッションや楽器を足していく方法も
良いと思います。楽器を差し引きするという前提で曲を作りましょう。

実装

パートごとにミュート解除したりしなかったりしてください。

いや、私は最近になってfor文覚えた程度なのでこれを読む方に何か言えるプログラミングスキルはないんですよね・・・・・

一応、自作で実装予定のインタラクティブな音楽のシステムについて簡単に説明します。

まず、スコアという概念を用意します。
実際にはフレームごとに数値が減っていくカウンター的なサムシンです。

敵を倒すと+10、弾を撃つと+1みたいな感じで諸々の行動にスコアを付けていきます。んで、一定以上のスコアになったら再生、下がったらミュート。
これだけですね。

センスというか試行錯誤が必要なのは、どのパートをミュートにするか、どういう評価体系を作るかという点です。
例えば拙作では敵が射撃を繰り返すとハイハットのスコアが高まるみたいなのを実装しました。
もっとREZとかみたいに厳密にやるなら、曲の長さを図ってそれっぽいタイミングで音を鳴らすことにより効果音なども音楽と同期させるみたいなことも出来ます。とはいえ、飛び道具感は否めないかな。

要はゲーム内の「どの行動が何を鳴らすか」というのがだいぢ。

作曲家の方と組んでやる場合はここら辺結構詰めないと大変な気はしますね。たいへんだ。



この記事が気に入ったらサポートをしてみませんか?