真にインタラクティブな音楽をつくることは、簡単ではありません。その理由の1つが音楽の本質そのものにあります。音楽とはかなり複雑なものなので、音楽作成に関わる気分をプレイヤーにも味わってもらうには、音楽の品質面で多少の妥協をせざるを得ないことが多いのです。それでも、試行錯誤をするにはおもしろい分野なので、私が最近携わったMURというStep-in-books出版のAR絵本・ゲームで取り入れたコンセプトを、いくつか紹介したいと思います。
MURについて
MURのスタート地点は、眠れないくまさんの絵本です。MURでは、Step-in-books制作の今までのゲームよりも音楽の役割を重視したい、という明確な考えが最初からありました。具体的な実現方法は決まっていませんでしたが、私は音楽や音の処理とインテグレーションをしやすくするためにWwiseを使いたいと思っていました。それ以外では、このゲームでタブレット用のARエクスペリエンスを提供するために、Vuforiaのソフトウェアを使う計画でした。
これは、MURのエクスペリエンスを簡単に紹介したトレイラーです:
開発の最初の数週間は、MURの世界とはかけ離れた、主に音楽中心のミニゲームやパズルづくりに専念しました。インハウスのゲームデザイナーやプログラマーたちと一緒にブレインストーミングをして、コンセプトやアイディアを出し合ったあと、それをWwiseでどうインテグレートするのかも検討しました。最終的にミニゲームやパズルが10個できあがり、一番うまくいきそうなものをいくつか選んで、MURの世界に取り込めるようなかたちにしていきました。
それでは、採用したいくつかのコンセプトを紹介しながら、その中で音楽や音が担う役割を説明します。
アンビエントミュージック
プレイヤーが最初に足を踏み入れるのは、MURの世界を紹介するレベルです。様々なエレメントをタッチしながらゲームのコントロール方法を習う場面ですが、実際のパズルはありません。私はMURの世界を探検するこのレベルの趣旨を音楽にも反映させたかったので、ここではアンビエント的な音楽(ほぼサウンドデザインの本質そのもの)にしようと決め、リピートせず特定の方向性のない音楽にしました。
メインテーマから派生するかたちで、「A」のパーツを4種類、「B」のパーツを4種類、そして「C」を1種類、つくりました。それぞれのフレーズをランダムなディレイタイムでトリガーさせたかったので、WwiseのInteractive Music構造は使わないで、その代わりにフレーズをSFXサウンドとして入れて、シーケンスコンテナやランダムコンテナを利用しました。
これは無限に続く音楽をつくり出す方法でもあって、当然、ランダムなディレイタイムを適用するには、rubato(リズムのない)アンビエントミュージックの方がうまくいきます。このコンセプトを実装するには、同時再生のレイヤを多数設定するという方法もあり、必要に応じて音楽の強度をパラメータ変更で制御することも技術的に可能です。でもこのゲームでは、シンプルにすることを心がけました。
音楽の展開と開発
第2レベルでは、プレイヤーが4つのステージを進む中、音楽も進化させたいと思いました。単純な音楽レイヤの重ね合わせを避け、本当に展開していくような移調変化のある音楽に聞こえることが目標でした。そこで、キーは異なるけれでも関連性のある、4種類の音楽を作曲して、それをループさせ、トランジションのパーツを入れてから、次のセクションに進むようにしました。目的は、プレイヤーがクリックしてレベル内を進むときに、音楽の展開を自ら引き起こしている感覚を味わってもらうことです。ゲーム内のプレイヤーの動きに合った歯切れの良い音楽にする必要があったので、トランジションピース専用に複数のトリガーポイントを追加で作成しました。
もう1つ追加要素として、全てのオブジェクトや動物に、サウンドエフェクトと音楽的なボイスを設定しました。例えば木の中のリスにタッチすると、リスは木を登り、バイオリンの長音階を上る音が再生されます。リスが木を駆け降りるときは長音階を下がる音が再生されます。環境音の一部もトランスポジションを追うので、これらに音楽と同じトリガーを設定すれば簡単にコントロールできました。
インタラクティブミュージック
第3レベルでは、様々なパズルを解いていく中でプレイヤーに音楽も形づくっているような気分になってもらいたいと思いました。このレベルの2つ目のパズルは、6匹のホタルを壁の6つの穴に正しく入れる遊びです。そこで、6匹のホタル(下図ではFly)用に、6つの強めのミュージックレイヤを作成しました。これらのレイヤのボリュームを0dBで同期させて再生を始め、1匹のホタルを正しい穴に入れると、ボリュームが大きくなるようにしました。もちろん、これはゲームプレイが正解だということを示すためなので、ホタルを正しい穴に入れたときだけに起こります。そこでもっとインタラクティブにするために、ホタルの穴を間違えたときに再生する音を、楽器別に複数レイヤ作成しました。間違えたときに、どの穴にホタルを入れたかによって変化するピッチシフトを使うことで、もっと楽しくしました。
その結果、1つのレイヤだけが違うピッチやテンポで再生されて、ホタルが正しい穴に入れられると、そのレイヤもほかのレイヤと同期して再生されます。この方法で特に良かったのは、サウンドファイルが1つで足りるのでメモリ負荷も減らせたことです。ただ、操作できる「不正解」レイヤのサウンドファイルをストリーミングする必要があり、ほかの正しいレイヤと同期して再生する「正解」レイヤも、同じです。正解レイヤを強調するために、ホタルを正しい穴に入れたときにボリュームが上がるレイヤを、ほかにも追加で数個つくる結果となりました。
また、UnityにWwiseからテンポ情報を送って、プレイヤーがビートやテンポに合ったタイミングでオブジェクトをタッチしないと正解しないゲームなど、ほかにもクールなコンセプトをいくつか試してみました。ただ、このエクスペリエンスの対象年齢を考慮して、一部のパズルをもっと簡単にしたほか、今回は不採用となったパズルもありました。
タブレット用にミキシングする
ゲームはタブレット用で、おそらくヘッドフォンなしでプレイされるので、小さなスピーカーセットでも高品質な(そして大きい)MURの音が聞こえるようにすることがとても大事でした。
これは3Dサウンドのエクスペリエンスにも影響しました。また、オブジェクトによっては、プレイヤーの向いている方向や、そのオブジェクトとの距離に合わせて、特定ボリュームで再生させる必要があったので、複数の環境音で、3D音を使う代わりに組み込みAzimuthパラメータに対して1つのRTPCバインドを使って対応しました。
例えば、第2レベルの小鳥のさえずりには、カメラアングルによって変わるボリューム、ローパスフィルタ、そしてリピートのインテンシティを設定してあります。
タブレットのスピーカー経由(Remote Connection利用)でミキシングして、RTPCやボリュームを調整したので、ずいぶん作業がしやすかったです。
同時再生するボイス数(タブレット上で)のモニタリング機能も、頻繁に使って重宝したWwiseの機能です。例えば、音楽重視のゲームで音が途中で切れてしまうと、音楽レイヤ同士のシンクが崩壊してしまうので、非常に困ります。検証した結果、音楽レイヤは最大30レイヤまで問題なく同時再生できることが分かったのですが、念のため、最終的に20レイヤ以下としました。多数のタブレットでテストしたところ、これが、音が途切れる心配なくタブレットで対応できる適切な数だと判明したのです。言うまでもなく、ほとんどのレベルでサウンドエフェクトの優先順位を音楽よりも低くしました。
コメント