1年以上も前のことですが、新しいゲームの仕事で声をかけられた時、それがまさかあの有名なフランチャイズゲーム『テトリス®』であろうとは思ってもいませんでした。 一緒にAmberで働いているロドリゴ・フェルスリが、リズムゲームと『テトリス』を融合させた新ゲームコンセプトを強調するために、Wwiseでインタラクティブシステムをいくつか作ろうと提案しました。 まずはじめに『テトリス・ビート』のしくみを説明しましょう。テトロミノ型のパズルピースを巧みに配置していきながら、ブロックの列を完成させるゲームですが(プレイしたことのない人はいるのでしょうか?)、ユーザはビートに合わせて操作するというアクションに熱中しながらも、スコアコンボの達成チャンスを見逃さないようにします。理想的にはユーザがいまどきの音楽やキャッチーな曲に刺激されながら、フロー状態に入り集中します。
パズルのピースがはまる時
ユーザのインプットの的中の具合をすべて確認し、音楽的にアニメーションイベントを制御するために、音楽用グリッドを作成することが課題の1つでした。この作業に多くの開発人材を取られていたのですが、私たちがWwiseを統合すると全体がまとまりはじめました。
Wwiseから最初に複数のコールバックを順番に送信し、スクリプトがそれらをキャッチします。これらコールバックをユーザインプットと照合し、テトロミノを動かしたタイミングがビートに合っていたかどうかを確認します。この時に使うAkCallbackTypesは、AkCallbackType.AK_MusicSyncBeat、AkCallbackType.AK_MusicSyncBar、そしてAkCallbackType.AK_EnableGetMusicPlayPositionです。ここでのポイントは、ユーザインプットのタイミングを「最高とは言えないけれど、グリッドの目盛に充分に近い」として許容される範囲があるということです。そしてインプットが許容範囲内であれば、指定した曲に調和するポジティブな効果音、または音楽スティンガーが再生されます。そうでなければネガティブなステートがトリガーされ、それにふさわしい「ご褒美なし」のSFXがトリガーされます。
VFXの反応
多くの人に愛されてきたこのゲームには、複数のアーティストや異なるテンポの一覧を元に編成したサウンドトラックが各レベルにあります。ユーザがビートに合わせやすくするための多くの視覚的ヒントがあり、そのほとんどが基本のシンクビートのコールバックで駆動しています。例えばマトリクス(ゲームがプレイされる空間)の明るさの強弱を変化させ、メトロノームのようにビートを刻みます。バックにはオーディオの周波数に反応してリズミカルにステージ上でダンスする、ほかの視覚的要素があります。情報をUnityゲームエンジンに送り返し、曲ごとにダイナミックにリアルタイムで変化するRTPC値にテクニカルアーティストが接続できるように、オーディオチームの仲間と協力して方法を探りました。こうすることでテクニカルアーティストたちは、音楽にシンクした何時間ものビジュアルをアニメーション化する作業を省略することができ、レベルが新しく追加されてもタイトな納期に間に合わせることができました。Wwise Meterプラグインも活用しました。エンベロープを追跡する要素としてこれを利用し、そのゲイン分析をRTPCにアサインすることがでます。次に行ったのは、どの曲においても一部のAUXチャンネルを“no output”バスに送信して、ボリュームが重複しないようにすることでした。これらのAUXチャンネルにはそれぞれLP、HP、またはBandpassフィルターがあり、クロスオーバーやマルチバンドプロセッサがするように周波数帯を分けることができ、各RTPCがとらえた周波数帯域を制限してくれます。また視覚的な表現にとって重要な要素、例えばボーカル、ベース、ドラムなどを分離するために、単一の「ゴーストトラック」なるものを追加したケースもあります。
Tetris ® & © 1985~2022 Tetris Holding.
分離させたゴーストトラックを使うことでアタックを誇張して反応を大きくしたり、ホワイトノイズのトラックにボリュームエンベロープやLFOを適用し、徐々に大きくなる盛り上がりや脈打つブレイク、リズミカルなフレーズなどをデザインしたり、メーターを思い通りに動かしたりすることもできます。指定のRTPCに送られる値をMeterプロパティ内で調整することで、デシベル範囲の制限や、VFXアーティストに役立つデータのみの送信などが可能です。またゴーストトラックをUnityゲームエンジンに配信する前にメイクアップゲインを適用することで、一定の周波数帯域や楽器の振幅エンベロープが再生されるたびに、必ず0~100の値がデベロッパやテクニカルアーティストたちに送られるようにすることができます。
Tetris ® & © 1985~2022 Tetris Holding.
スペーシャルオーディオ
加速度センサとマルチチャンネルコンテンツをバイノーラル化する機能が搭載された新しいヘッドフォン製品の登場により、ゲームのマトリクスボードが目の前にあり、周囲全体から音が聞こえてくるような、あたかもアクションの真っただ中に座っているかのようなゲーム体験の可能性が広がります。
固定されたゲームエリアを凝視する静的なプレーヤーという、固定観念に抵抗する別の選択肢があります。エンジニアたちが加速度センサに一部関数を接続する方法を見つけてくれたおかげで、頭部位置の情報をWwiseのリスナー回転に変換できるようになりました。iOSの該当オプションを有効にすると、ユーザが頭を動かした時にオーディオコンテンツがリアルタイムで一緒に動いてオーディオがパンニングされるため、頭がどちらを向いても音が画面上に留まっている感覚を与えます。またサラウンド音場にあるパンニングされた音を、プレイヤーが追従することもできます。通常の減衰パラメータであるフィルター、スプレッド、ボリュームなどはすべてWwiseでコントロールできます。
オーディオコンテンツを強化するために、サラウンドシステム、サウンドバー、シミュレーションされたヘッドホンサラウンド音などが存在する時のために、音場の後方で再生させる特別なステムを用意しました。ステレオの音場ですでに動き回っている音楽コンテンツなど、リアサイドの再生への変換に適したトラックがあります。一方曲のトランジション部分のように、自動化することでサラウンド環境で聞き心地のよい、循環型の雰囲気をつくり出す要素があります。あとはiOS搭載のSpatial Audio機能に任せておけば、ユーザデバイスに含まれるバイノーラルレンダリングが処理してくれます。
ハードドロップスティンガー
世界各国のアーティストが提供する多彩な楽曲がこのゲームのために集められたというのに、ユーザがビートに合わせて得点した時にいつも同じポジティブサウンドを流すのでは芸がないため、曲ごとに合う特別なサウンドのセットを発注しました。私たちはWwiseのコンテナに特定の音階にチューニングしたさまざまな音楽フレーズを入れ、曲から取ったパーカッションサウンドや要素を同じアクション中に再生するようにアサインしましたが、曲中の特定セグメントで変わるようにWwiseのステートとして設定しました。コンボや一連のパーカッションを完了させた時にメロディーを奏でるひと組のサウンドが聞こえることがあり、ユーザはスコア獲得と同時に音楽のアレンジを完成させたような気分になります。
リアルタイムエフェクトと、パラメータコントロール(フィーバータイム)
フィーバータイムは曲のクライマックスに相当し、ユーザの正しいインプットがいくつか貯った時にトリガーされます。プレイヤーはいまこそ!と感じますが、これは超人気のDJがミキサーのLFチャンネルをバイパスし、エフェクトやリズムを使いこなしてスペースをつくり出す時と似ています。私たちはAUXセンドを使ったソリューションをつくり、これでミュージックトラックからくるオーディオがエフェクトチェインに入ります。センドボリュームが大きくなるにつれ、ユーザ体験がビジュアル的に強化されます。ボーナスタイムが終わり通常モードのゲームプレイに戻るとオーディオがまた全帯域で再生され、スペースをつくったFXがドライ設定に戻り、音楽のドロップ感が出ます。
ダイナミックハードドロップサウンドの手順
『Tetris® Beat』Apple Arcadeに登場:https://apps.apple.com/us/app/tetris-beat/id1536485727
|
ロドリゴ・フェルスリ(RODRIGO FERZULI)
|
コメント