Jyamma Gamesが開発を手掛けたEnotria: The Last Songは、イタリアの民間伝承と伝統芸能からインスピレーションを受けて描かれた世界が舞台のソウルライクRPGです。近接戦闘や魔法攻撃のサウンドがゲームのコア部分でミュージックと混ざり合い、すべて楽器から作り出されたようなサウンドエフェクトを実現しています。またミキシングの過程において、特別な方法で興味深い挑戦をしています。
このブログ記事では、Enotriaの戦闘シーンのオーディオフィードバックを制御して、すべての攻撃、呪文、パリィが認識されるようにする上で、Wwiseのクリアなバスシステム構造と適切に使用したRTPCがどのように役立ったのかを、オーディオディレクターのアラム・シャーバジアンとリードサウンドデザイナーのカミラ・コッチャが分かりやすく説明します。
オーディオの方向付け
Enotria: The Last Songは、そもそもミュージックとサウンドの絡み合いというアイデアをもとに制作されました。イタリアの伝統楽器をベースとして使用して、ほとんどのサウンドエフェクトを音楽ソースから作り出すことにしました。武器サウンド、魔法、アンビエンスはすべて音階的な要素にこだわってデザインし、ゲームに独自のサウンドを加えました。
しかし、この方法では特にミキシングの際に課題に直面しました。展開が速い戦闘シーンでは複数の音色が同時に鳴る可能性があるため、周波数が衝突して重要なフィードバックがマスキングされるリスクが高まりました。制作の早い段階でこうした要素を考慮し、各オーディオイベントを通して制御性を最大限に高められるよう、Wwiseプロジェクトを構築する必要がありました。
コンテンツの開発
Enotriaの戦闘シーンはスクリプト化されておらず、またその変化の度合は非常に大きく、複数の敵、攻撃、イベントがあらゆる順序やタイミングで登場する可能性があります。そこで可能な限りクリアなミックスを維持するために、Wwiseのツールを大いに活用してプロパティの管理や各フィードバックの動的調整を行いました。
私たちは初期段階でアセットをマクロカテゴリに分けて、各々のサウンドが占有する可能性のある周波数帯域や、ほかのサウンドと競合する頻度をテストすることに重点的に取り組みました。これによりアセットを早い段階で準備してゲームプレイのプロトタイプでテストし、概要レベルのデザインガイドラインを定めることができました。
例えば、プレイヤーがダメージを受けた時のサウンドを意図的に中域に配置することで、敵のダメージのフィードバックと重ならないクリアなミックスを実現しました。それぞれの武器クラスや魔法の呪文が独自の音色のアイデンティティを持つように設計し、別々の周波数空間を占有するようにしました。私たちが目指したのは、目を閉じていてもそれぞれの攻撃をサウンドで即座に認識できるようにすることでした。
特にボス戦では、ミュージックのバランスにも気を配る必要がありました。一部の伝統楽器ではリッチで耳障りのする周波数エレメントが使用されていたため、複数のミックスパスを通して制御しました。
スケーラブルなバス構造をデザイン
ミックスを継続的に制御するため、強固なバス構造を使用してプロジェクトを編成することが最優先事項の1つでした。戦闘中には数百のアセットがトリガーされるため、スケーラブルなバスシステムを構築する必要がありました。私たちはバスをアセットの初期分類を反映したメインカテゴリと、必要に応じて拡張できるサブカテゴリに分けました。
ミュージック
このバスシステムは、さまざまなRTPCをミュージックの再生タイプに応じて管理するために役立ちました。例えば、Music_GameplayはサイドチェインRTPCを作動して、ボス戦でアンビエンスの音量を下げて対戦を際立たせます。ダイジェティックミュージックには特別な設定が必要だったため、このバスに含みませんでした。今回のケースでは汎用SFXバス内で管理する方が便利でした。
SFX
敵、アイテム、武器、呪文などの種類が数多くあるため、SFXバスを幅広いカテゴリに分けてさまざまなサウンドを管理しました。これは各エレメントの優先順位や性質を定義する際に役立ちました。開発中に進化していくゲームに合わせて、この構造を拡張してサブバスを導入してニーズを的確に反映させました。
フォーリーバスはプレイヤー、NPC、ボスのフォーリー用に個別のサブバスに分けました。ボスフォーリーは特に近接格闘が伴う敵との戦いに不可欠でした。これらのカテゴリのサウンドを管理する際、カスタム処理が必要なボスごとに個別のバスに分けました。ボスのフォーリーサウンドをこのようにルーティングすることで、特別なRTPCを作成することができました。作成したRTPCは、必要に応じてフォーリー用のスペースを確保するために使用しました。
武器はバスシステムのイテレーションと再編成で、最も時間を費やしたカテゴリでした。ゲームに登場する武器は100種類以上あり、ロングソード、グレートソード、ポールアーム、モーニングスター、サーベル、ウルトラグレートソード、ウルトラハンマー、遠距離武器のクラスタイプに分類しました。
最初に行ったのは、近接攻撃で発生する風切り音、ダメージ、フィニッシャー、パリィ、インパクト、およびカスタム銃器への細分化でした。武器の種類が多くサーフェスの素材も多種多様であるため、インパクトに応じて次のサブカテゴリを使用して分類しました。
- 環境へのインパクト:ここには武器が任意のサーフェスに単純に衝突した際にトリガーされるサウンドをすべて送り、武器タイプごとに各種素材(土、岩、石、木、水)を設定したスイッチコンテナのシステムで管理しました。
- 爆発:このバスは手榴弾などの特殊な武器のサウンドに使用しました。
- 地面への大きなインパクト:大がかりな攻撃や特殊な攻撃で起こる地面へのインパクトサウンド用のバスです。
- 大きなインパクトを受けた地面の素材:大がかりな攻撃や特殊な攻撃で起こる地面へのインパクトのサーフェス素材サウンド用のバスです。これらのサウンドはテールが長くサイドチェインへの影響が大きすぎるため、このバスが必要でした。新しいバスにこれらのサウンドを送ることで、きめ細かな制御が可能になりました。
UI
UIバスには武器ほど多くのサブバスは必要ありませんでしたが、さまざまなタイプのUIフィードバックの制御を維持するために、フィッシャーUI、ゲームUI、メニューUI用の個別バス、武器にサイドチェインを適用する必要があるUIサウンド用の特別なバス、「敵撃破」のフィードバック用のバスを定義しました。最後のバスは、敵が最後の大打撃を受けるたびに再生される非常に特別なダイジェティックサウンドであり、どのような状況でも常に聞こえるようにする必要がありました。
リバーブ
私たちはできるだけシンプルになるように、外部リバーブ、内部リバーブ、Pulcinellaがマンドリンを演奏する時の特別なリバーブに分けました。この特別なリバーブはプレイヤーが焚き火のそばで休憩するとアクティブ化されました。
空間の作成:サイドチェインの適用と優先順位付け
戦闘の展開ではコンテキストに基づき、サウンドに動的に優先順位を付けるためのルールが定義された、応答性の高いシステムが必要でした。ゲームプレイ中の一瞬の変化をミックスに反映し、関連するフィードバックが常にプレイヤーや敵のアクションに基づいて届くようにしたいと考えました。これを実現するために、精密なサイドチェインシステムとレイヤールールを構築し、画面上での出来事に応じて特定のエレメントをダッキングまたはハイライトできるようにしました。
戦闘時には常に聞こえるようにする必要があった2つのコアオーディオエレメントは、ダメージフィードバックとパリィでした。ダメージフィードバックは従来の方法で取り組み、ほかのエレメントの大部分をダッキングして、ミックスでダメージの優先順位が最も高くなるようにしました。しかしいくつかの特別な状況では、エッジケースを管理するための一連のルールを追加で作成する必要がありました。地面への大きなインパクトはほとんどの武器で強攻撃の中心となる部分であるため、はっきりと聞こえるようにする必要がありましたが、敵に命中すると2つのサウンドが互いをマスキングしていました。何度かイテレーションを行った後にたどり着いた妥協策は、ダメージによって作動するサイドチェインをインパクトが与えられたサーフェス素材にのみ適用することでパンチ音を聞こえるようにして、ゴアシーンを際立たせるためにレイヤー用の十分なスペースを確保することでした。ほとんどのケースでこの方法はうまくいきましたが、ダメージサウンドについては、この方法だけでは対応できませんでした。
「特殊能力チャージ」のUI SFXは扱いにくいケースの1つでした。プレイヤーの一撃が敵に命中すると能力がチャージされ、ダメージのフィードバックと重なることがよくあったため、ほかのサウンドから離れた高周波帯域に主に配置されるように設計しました。しかしカスタムサイドチェインを適用しても、ダメージサウンドからのスラッシュレイヤーが常に重なっていました。中低周波数帯域にアセットが配置されるように設計し直し、フィルタを作動するサイドチェインを微調整して高帯域に空間を作ることで、このケースを解決しました。
パリィは戦闘中に最も繰り返されるサウンドの1つであり、立て続けに何度もトリガーされる場合があります。連続してパリィに成功すると、敵が「よろめき」ステートになり、さらにダイジェティックなUI SFXがトリガーされます。私たちはゲームプレイセッション中に、パリィがこのUIキューを頻繁にマスキングすることに気づきました。しかし戦闘フィードバックに紐づけられた重要な音色の情報を失うリスクがあったため、パリィに単独でサイドチェインを適用することは考えられませんでした。何度かイテレーションを行い、クロスサイドチェインシステムを導入しました。UI SFXはパリィの高域にスペースを確保し、ボリュームをわずかに下げ、一方パリィはこれに逆らわず、UIの低域端を下げてゲインを上げました。この相互調整によって、どのような戦闘シナリオでも両方のエレメントがクリアになりインパクトも維持されました。
ボス戦はゲーム内でオーディオ密度が最も高くなる瞬間です。ミュージック、敵の必殺技、武器のインパクト、魔法の呪文のすべてが短い時間枠の中でトリガーされます。ミュージックや戦闘のフィードバックに妥協することなくミックスをクリアに保つため、それぞれのボスのミュージック専用のサイドチェインシステムを導入しました。
私たちは事前ミキシングセッションと最終ミキシングセッション時にかなりの時間をかけてRTPCカーブ形状のイテレーションを行い、応答性と透過性の間の最適なバランスを目指しました。
各サイドチェインメーターはカテゴリごとに調整しました。アタック値とリリース値を調整して、トリガーされたサウンドの性質に合うようにしました。特にリリース値は必要なスペースを確保するために十分な長さがある一方で、ミュージックへのダッキングエフェクトが不自然になったり目立ったりしない程度の短さにする必要がありました。
パラメトリックイコライザーは、スタジオミックスセッション時に非常に役立つツールでした。私たちは制御された環境で、最終的にボス戦のエレメントをすべて一緒にテストすることができました。武器の風切り音、ダメージ、パリィのような重要なサウンドがマスキングされないように、特定の周波数帯域でスペースを確保することができました。
ボストラックごとに13~16個のRTPCを使用して、ローパスフィルタ、ハイパスフィルタ、ボリューム調整を実行しました。特殊能力で専用サイドチェインをトリガーする一方で、通常の呪文は個別のRTPCカーブを通して送りました。これにより、強さ、周波数、コンテンツ、ゲームプレイコンテキストに応じてミックスへのインパクトを微調整することができました。ボイスオーバーは特に難題でした。とりわけ低音域で深みのあるボイスを持つボスの場合、ミュージックやほかの戦闘フィードバックと競合することがよくありました。
これに対応するため、重要なRTPCを複製してボス戦のミュージックのフェーズごとに適用し、フェーズ固有の調整を可能にしました。これにより、戦闘中に変化するボスやフェーズごとに進化する音楽トラックに応じて、異なるサイドチェインが適用されるよう柔軟に調整できるようになりました。例えば楽器の編成を切り替えたり、テクスチャの密度を上げたりするなどが可能です。
大きな敵のフォーリーには特別な注意が必要でした。ミックスが支配されたりミュージックが埋もれたりすることなく、敵の動きの重みやインパクトを残したいと考えました。私たちがたどり着いた解決策は、ミュージックバスに緩やかなサイドチェインを適用し、ボスのフォーリーメーターによってこれを作動させることでしたが、ほかにも主要な攻撃エレメントをルーティングして大ボスのフォーリーアクタミキサーをダッキングしました。こうして過剰な低音域をクリーンアップしてフォーリーの打撃音をそのまま残すための空間を作り、敵のスケール感やサイズ感を維持しました。
リスナーへのアプローチ
これはプレイヤーが高速攻撃を受けたり狭い空間を移動したりする三人称視点ゲームであるため、さまざまなリスナー位置を試す必要がありました。何度かテストを繰り返し、キャラクターとカメラの中間よりわずかにカメラに近い位置で、リスナーがプレイヤーキャラクターの方を向いたときが最適であることがわかりました。
Quintaのような賑やかなエリアでは、環境サウンドからNPCの喋り声といったアンビエントアクティビティがあり、ゲームのレベルデザインもほとんど垂直です。ゲームはステレオでミックスされるため、3D空間のクラリティを高める必要がありました。最初に組み込みエミッタコーンのアテニュエーションに取り組みましたが、追加のRTPCと組み合わせることで、特にプレイヤーがさまざまな方向から複数のオーディオキューを受け取る場合の制御性が高まることが分かりました、敵の攻撃がダイアログやダイジェティックミュージックとミックスされるような場合です。
私たちはリスナーコーンとエレベーションコーンを活用しました。これらは共にWwiseの組み込みパラメータの一部です。これらは敵、NPCとのインタラクション、ダイジェティックミュージックの位置情報を読み取りやすくするために不可欠です。さらに一歩すすんで、組み込みパラメータに紐づけないカスタムエレベーションコーンも作成しました。これを特定のアンビエントエミッタに適用することで、高さのある静的リソースでダイナミックな空間の印象を作り出すことができ、ステレオミックスでもプレイヤーは垂直方向の距離や間隔を認識できるようになりました。
ダイナミックミキシング
標準の設定では望んでいた明瞭度を実現することができなかったため、特定のエレメントについては開発時にアプローチをカスタマイズする必要がありました。こうしたケースでは、カスタムRTPC、スイッチコンテナ、アテニュエーションの設定を組み合わせてミックスを微調整しました。
アンビエンス
Quinta市ではレイヤーシステムと群衆の効果音、個々のNPCの対話や動き、ダイジェティックミュージックを組み合わせて祭りが進行している雰囲気を作り出しました。プレイヤーがNPCを攻撃したり撃破したりすると、NPCの数が減る可能性があったため、各エレメントが変化する環境に動的に適応するように設計しました。
群衆の効果音はcrowd_size RTPCによって作動させました。このRTPCを使用して、生存しているNPCの数に基づいてさまざまな効果音がループ再生されるように調整しました。これにより、バックグラウンドアンビエンスの密度や活気が、プレイヤーのアクションをリアルタイムで反映するようになりました。
ダイジェティックミュージックについては、Quinta市のセントラルスクエアで演奏する4人のメインミュージシャンを取り囲むようにシステムを構築しました。それぞれのミュージシャンに「近い位置」と「遠い位置」の楽器ステムを設定し、player_distance RTPCを使用してこれらの間でクロスフェードをかけました。またmusician_death RTPCをそれぞれの演奏者に紐づけて、対応するNPCが倒されると同時にそれぞれのステムをミュートにしました。すべてのアテニュエーションを調整すると、生き生きとして応答性の高い環境が作られ、プレイヤーが市内の人々と交流すると気分や充実感を変化させました。
魔法
私たちは強度、デュレーション、サイズの異なる呪文のバランスを慎重に調整する必要がありました。魔法の管理を効率化するために、早い段階で魔法を以下の2層に分類しました。
- 弱い魔法:発射体や呪文インパクトなどのテールの短い1回限りのエフェクト。
- 強い魔法:ビームや柱などの長く侵略的なサウンド。
このように分類することで、呪文のカテゴリごとに個別のRTPCを割り当てて、メーターでそれぞれ異なるリリース値を設定できるようになりました。
一部の呪文は敵とプレイヤーの両方で使用されましたが、性質が若干異なりました。ゲーム内に登場する敵や呪文の数を踏まえて、扱うカスタム実装が多くなるのを避けるために、ネストされたスイッチコンテナシステムを利用して、魔法を唱えているキャラクタに基づいて正しいサウンドがトリガーされるようにしました。この設定により、プレイヤー、敵、ボスを個別のカテゴリで処理して、カスタムアテニュエーションやフィルタを必要に応じて適用できるようになったため、最終ミックスプロセスが格段にシンプルになりました。
複数の敵によって同時にトリガーされる可能性のある魔法については、Spell_Mixという名前のRTPCを追加しました。このパラメータを使用して、特定の呪文のアクティブなインスタンス数をトラッキングし、イコライザーフィルタをリアルタイムで動的に調整しました。これにより、ミックス内に十分なスペースを作成してビルドアップを防ぐことができ、激しい戦闘の最中でもクリーンな状態が保たれました。
武器
武器のオーディオイベントは動作のタイプに応じてスイング、大きなスイング、武器構え、ワインドアップ、大きなワインドアップ、スラストに分類しました。私たちはベースとして8つのマクロ武器カテゴリに従いましたが、ボスの武器と特別なケースについては追加のサブカテゴリを作成してユニークな素材や形に対応しました。
ほとんどの武器はプレイヤーとNPCの両方が使用する可能性があったため、スイッチコンテナ階層を作成して適切に分けました。この設定により、特にプレイヤーの武器応じて異なるアテニュエーションやスプレッドカーブを適用して、プレイヤーの視点からのステレオ感を維持することができました。
ほかのゲームプレイのコアエレメントについては、武器の風切り音がミュージックやアンビエンスのアクターミキサーのサイドチェインと連動して、常にパワフルな印象を与えるようにしました。戦闘エレメントの中では、ダメージフィードバックの優先順位を風切り音より高くしました。これを反映するため、ダメージサウンドは風切り音にサイドチェインを適用する専用メーターを通過させました。ダメージメーターのアタックタイムとリリースタイムを短くすることで、風切り音は十分な強さが保たれ、戦闘が最も白熱するシーンでも一撃のダメージがミックスをカットスルーするようになりました。
武器に魔法のエレメントを入れることもでき、これらはスイングやスラスト時にトレイルとして目に見えるようにしました。オーディオにこれを反映するため、ブレンドコンテナ内にスイングとスラストの動きを配置して、エレメントレイヤーを処理するスイッチコンテナとペアにしました。これにより、ベースの風切り音に適切な魔法効果を加え、レイヤー化することができました。
しかし、この設定によりミキシングで問題が生じました。エレメンタルトレイルが長いため、ミュージックやアンビエンスのダッキングが過剰になっていました。これを解決するため、あまり強力ではないサイドチェインRTPCを制御する専用メーターを備えた個別のバスを通して、ルーティングしました。
最後に
Enotria: The Last Songは、戦闘シーンのミキシングのまさに実験場でした。非常に多くのオーディオイベントをすべて迅速に、かつ同時にトリガーできるように管理することは刺激的な挑戦でした。ミックスに取り組む際にシステマティックに考えざるを得ませんでした。私たちが導き出した答えは、手間のかかる部分を処理できる強固な基盤をWwiseに構築して、ルーティングと優先順位付けを適切に行うというものでした。これにより、特別な注意が必要な個々のケースに集中できるようになりました。
ご支援ご協力をいただいたオーディオおよびコードチームのLeonardo MazzellaとDaniele Oliviero、そして共に歩んだ開発チームのみなさまに大変感謝しています。またプロジェクトを通して多大なる協力をいただいたAudiokineticのサポートチームには、特別な感謝の意を表したいと思います。このブログをお読みいただきありがとうございます。この深掘りで紹介した私たちのプロセスインサイトがお役に立ちましたら幸いです。
コメント