Takahiro Izutani

GameSoundCon 2019 Part 3 (Composing Interactive Music 2 by Tom Salta)


前回の続きでTom Salta: Composing Interactive Music 2のレビューです。

さて、どんなに音楽が素晴らしくても杜撰なやり方でその音楽をゲームに組み込んだら台無しだよね。ゲームをプレイ初めて45分経ってもまだ同じバトル曲が同じ様に流れ続けてたら頭がおかしくならないゲーマーはいないだろ?w

ゲーム音楽のインプリメンテーション(組み込み)には原則的に三種類ある。

・Linear (Horizontal) 通常の音楽再生方法、時間軸上に沿って再生させる方法
・Layered (Vertical)  音楽を時間軸上の縦に重ねて再生させる方法
・Generated             ゲームプレイがノートの一音一音にまで影響して音楽を再生させる方法

LinearやLayeredと違ってGeneratedのコンセプトは想像しにくいと思うけど、例えば最もシンプルなもので例えるとスペースインベイダー(Space Invaders)もGeneratedだよ。プレイしていくうちにエイリアンの残数が減っていき、それによって音楽の再生スピードが早くなっていくだろ?

で、Linearは通常の再生方法だからLayeredの解説からしていくよ。


4 layer music system for Dead Space by Jason Graves

これは僕の同僚のJason GravesというコンポーザーがDead Spaceというゲームで作ったシステムだけど、僕自身も自分なりに工夫して取り入れてる。ゲームをプレイする時にはゲームエンジンがミドルウェア(音楽とゲームエンジンのブリッジになるソフトウェア)にどのレイヤーがどの様に再生されるかを指定するんだが、これはそのオーディオ部分だけシミュレートしたものだよ

これは4つのレイヤーを周波数帯域別にわけて作ったもので、元々ひとつの曲として作られたものをレイヤー化することを前提で制作したものだそうです。この様にゲームシーンが冗長にならないように変化を作る際に4つのレイヤーに4曲作る必要が常にあるわけではなくインプリメンテーションを理解していることによって制作を簡素化し、かつより効果的にゲームプレイに反映させられるということでした。

僕が担当したタイトルの中ではWolfenstein: Cyberpilot (2019年7月リリース)というVRの作品でも同様のアプローチをとっているよ。

Wolfenstein: Cyberpilotでは敵がプレイヤーを探しているモードの時に最もインテンシティが低いレイヤーの組み合わせ、敵が接近してきて戦闘状態に近づくに連れてインテンシティが高まり元の楽曲がフルレイヤーで再生されていくように組み込んだんだ。この時にはクライアントにプロジェクトのプランニングまでを依頼されたので二人のWwise(インプリメンテーション用のミドルウェア)のプログラマーを雇ってシステムを実際に制作して自らプレゼンテーションをしたんだ。

ここで会場にいた初期HaloシリーズのコンポーザーMarty O'Donnell氏からオーディエンスの理解をサポートする様に質問。

「君はフリーランサーなのに多くのプロジェクトに関わってインプリメンテーションの役割やデザイナーの役割を果たしてるよね。この場所には音楽はいらない、ここはいるなどどうやってプロジェクトのゲームプレイに関するコンセプトの部分(Aesthetic Side)に関わることができているの?」

マーティ グッドクエスチョン!w それはディベロッパーのサイズによるところが大きいよ。大きいディベロッパーのプロジェクトならチームは大人数になるため全体像は曖昧になりコンポーザーは自分のやるべき作曲の部分に集中することになる。一方インディーゲームでは自分が関われるインプットの部分は大きいです。ただ唯一の例外はPrince of Persia: The Forgotten Sandsの時で、その時は実際に音楽を書く前にUbisoftの様な大きなディベロッパーにも関わらずチームと会議室に集まってどんなオーディオのメカニズムを作るべきかをディスカッションする場が設けられたんだ。任天堂wiiのシステムでどんなことができるか、何ができないかを話し合いました。大抵は彼らが僕に決定事項を告げるだけで僕から何かを提案することはないんだ。こんなことはめったにないことだよ。なぜならチーム内にゲームエンジン内でオーディオがどんなことができるか精通している人間が(大抵はインハウス)いなければ音楽の優先順位は低いからね。

さて今度はGeneratedについての例をあげていこう。


ここではLayeredとGeneratedの複合的なシステムを作った。ゲームプレイの状況が変わった時にトリガーとしてスウォッシュサウンドを鳴らす様にプログラムしている。その一小節あとに音楽のレイヤーが追加されてアレンジが変わる。そのスウォッシュ音とリヴァーブのテールがマスキングしてループポイントの継ぎ目をきれいに隠してスムースにアレンジが移行していくような仕組みを作ったんだ。そして、どの小節においてもゲームプレイにあわせてこの仕組みが可能なように組み込んだんだ。他にも色んな工夫を凝らしたんだけど、例えばどのコントローラにもプレーヤーが触れていない時間が20秒続いた時には音楽が一番地味で盛り上がらないアレンジ(Boring State)になるように組み込んだりね。コントローラに触れた反応があると再び音楽が盛り上がりだすんだ。

更にはプレイヤーが敵に勝利する最後の一撃を出す際にはビープサウンドによるリズムマップだけをWwiseに組み込んでおいて(Beep Map)それをトリガーにしてゲームの各ステージによって異なるスティンガーが再生するシステムを作った。スティンガーはコードサウンドのヒット音になっていてステージごとに、ビープマップと同じリズムの、異なるコード進行の曲になって再生されるんだ。


もし作曲の際にAbleton Liveを使っている方がいらしたらレイヤーの組み方の考え方はSession Viewのコンセプトに近いです。自分はかつてDugoでのライブ演奏の際にAbleton LiveのSession Viewで作ったセットで、ヘッドフォンでモニタリングしているドラマーとお互いの演奏に反応し合いながら即興的にSession Viewのレイヤーを変化させて曲を展開させていくという試みをしたことがあります。Tomさんは「WwiseはゲームサウンドにおけるDJみたいなもんだ」と端的におっしゃってましたが、まさにWwiseはプレイヤーの行動、反応に対してゲームサウンドが楽曲や様々なサウンドをどう生成、再生していくかのコンセプトを作るという、クラブにおけるDJの様な存在です

Super Mario Odyssey (Electric Wires)

ここでLinear、Layered、Generatedの最高のコンビネーションを紹介するよ。それがSuper Mario Odysseyのワイヤーシーンの演出。まずゲームプレイ中にバックで流れてる音楽はLinearだね。ところがプレイ中イベント的に発生するワイヤーシーンのアルペジオサウンドはLinearのバックグラウンドミュージックと常にハーモナイズしているんだ。ワイヤーを使って別のステージに移動するんだけど、移動の途中からもうアルペジオも切り替わるんだ。ゲームのステージによってBGMのキーとテンポが変わればワイヤーアルペジオのキーとテンポもあわせて変化する。しかも曲単位じゃなくてBGMのコード単位でアルペジオもハーモナイズしていくんだよ。

つまりLinearのBGMに対してLayeredされるワイヤーシーンのアルペジオサウンドは内蔵された音源によるGeneratedという、これぞマルチインタラクティブの究極的な形だね。

そして最後にもうひとつ、究極のインプリメンテーションが使われたゲームの例をあげておくよ。

Peggle Blast (Electronic Arts)

最後に紹介するのはPeggle Blast。これは本当にすごいです。今日話した全てのエレメントがひとつのゲームで確立されているだけでなく、皮肉なことにテクノロジーとメモリーに関する限り最も小規模で、かつその少ない容量のせいで最も複雑にサウンドが構築されたゲーム作品なんだ。

・音楽に使用できる容量は5MB
・30分の音楽を再生しなければならない

これが最初の前提条件。ロービットレートでオーディオファイルを組み込む?それはだめだめ。じゃあ残されたオプションは内部音源で音楽を生成させるということしかない。用意された音色のノートを全てリアルタイムで再生させるやり方だね。

これは画面上の釘を撃って消していくゲームですが、BGMに加えて、プレイヤーが撃ったボールが釘(Peg)がヒットされる度に音階になっている効果音(Musical Stairs)が奏でられる。それぞれの種類のPegに対してはそれぞれ異なるサンプルインストゥルメントが鳴るように設定されている。どのサークルやPegをヒットするかでコードとスケールが変化する。ショットごとに楽曲のキーは移行していくんだけど、成功した時のコードはプレイヤーがどのキーセッティングにいるかで決まり、フリーボールを獲得した時はその時のキーサイクルのsus9のコードが鳴るようになっている。

スティンガーはBGMと調和しつつキーサイクルの範囲内で変調しながら鳴り、スティンガーのタイプはそれぞれのキーセッティングに対して12から15種類のMIDIファイルが用意されている。

また各ショットごとにキーが転調するので飽きが来ない様にできてる。そしてそれぞれのキーで適切なノートが鳴るようにセットごとにタグ付けがされている。
Harmonic Flow.jpg

インテグレーションに関しても驚くほどよく作られています。

僕はこのゲームが作られる前にこのコンセプトのことを聞いて知ったので、他の方法で自分なりに試してみようと思ったんだけど、全くうまくいかなかったよw。しかしこのチームは本当に素晴らしい形でそれをやってのけたんだ。

これはインタラクティブの最も効果的な例です。テーマもメロディもこのゲームにはない。コードを中心にして再生されるただのサウンドだけど、インテグレーションは驚くべき完成度の高さだよ。

Tomさんいわく「WwiseはゲームサウンドにおけるDJのようなもの」自分はWwiseとは資格が必要なほど専門的なノウハウを必要とするもので技術サイドに寄ったソフトウェアだと思っていたのですが、Wwiseを使ったゲームのインプリメンテーション自体はむしろ楽曲制作よりもさらにクリエイティブな分野で、再生方法やプレイヤーとの相互関係を定義づけるための自由な発想を展開できる場だということがわかりました。ちょうどDJとフロアで踊るクラウドがその場のノリを共有してインタラクティブに反応しあい、DJが用意した音楽をオリジナルなプレイでよりクリエイティブなものに昇華していくのと同じことです。

こちらはPeggle BlastのチームとコンポーザーのGuy Whitmore氏による2015年のGDCセッションの動画です。同シリーズ前作にあたるPeggle 2というタイトルのレコーディングセッションで収録したオーケストラサウンドのマテリアルから、Nuendoを使ってストリングスのスタッカート、スピカート奏法等によるカスタムサンプルを作ったあと、制作した楽曲のmidiをエクスポートして、サンプルとmidiそれぞれをWwiseに読み込ませてWwiseをサンプラーの様に扱って音楽をリアルタイムで生成しているとのことです。