「ひと手間」を加えて自然な表現に
登壇したのはスクウェア・エニックス大阪支社サウンド部の青山勇士氏と、スクウェア・エニックスサウンド部プログラマの小山瑛圭氏。
セッションの題材として扱われたタイトルは、2022年11月にスクウェア・エニックスからSteamとSwitchで発売されたファンタジー×生活シミュレーションRPG『HARVESTELLA(ハーヴェステラ)』です。
本セッションでは基本的なテクニックから一歩進んだ考え方まで、ゲームサウンドに興味のある“すべての方”を対象とした初心者にも分かりやすい「考え方」の解説と、プログラマー目線での内部処理手法が紹介されました。
セッションは同タイトルで使用されているスクウェア・エニックスサウンド部の内製サウンドドライバー「SQUARE-ENIX Audio Driver(SEAD)」の機能に依存する内容だけでなく、他のミドルウェアなどを使用する環境でも活用可能な知見の共有が目的となっていました。
複数のタイトルで活用されている内製ツール「SEAD」
サウンドの再生順番を決める「先着(後着)優先」
最初のテーマは、バトル中のキャラクターボイスを例とした「先着(後着)優先」について。バトルシーンでは攻撃や使用スキルに応じてボイスが再生されますが、同じキャラクターのボイスが複数同時に再生されてしまうと不自然かつ聞き取りづらくなってしまいます。
そこで、同じキャラクターのボイスは必ず1種類のみが再生されるように制御し、先に音が鳴っていれば音声が再生されない「先着優先」と、先になっている音を停止して再生する「後着優先」との優先度を設定することで対処しています。
『ハーヴェステラ』での実装にあたっては、特定のサウンドを再生・停止したいとき、現在既に再生されているサウンドへの処理を行うSEAD内のマクロ機能を活用。「Filter」によって対象となる音声を特定し、「Execute」で処理内容を確認、さらに「Priority(優先度)」の値を比較して音を止めるか流すかの判断を行っています。
カテゴリーごとに音量操作を行う「ボイスダッキング」
続いてのトピックは「ボイスダッキング」について。ダッキングとは、キャラクターボイスなどの「しっかり聞き取って欲しい」サウンドを再生する際、既に再生されているBGMや環境音などのサウンドの音量を一時的に下げる処理のことで、ゲーム以外にも映像制作分野で広く用いられる手法です。
ボイス自体の音量を大きくして目立たせる手法も可能ではありますが、全体の音量が大きくなると音割れが発生する可能性もあるため、一般的には「再生時に他の音量を下げる」と「終了時に他の音量を元に戻す」という2つの制御を行っています。
本作の内部処理にはサウンドデザイナーが任意でサウンドにグループ分けを割り振れるSEADの「カテゴリー機能」を使用しており、カテゴリー単位で先述のマクロ機能を実行することで音量操作や一時停止などの管理を行っている
イベントシーンでのサウンド制御
3つ目のトピックは「イベントシーンでマップに配置されている環境音の制御」。マップ上の環境音はそれぞれ地形やオブジェクトに配置されていますが、イベントシーンのカメラアングルでそのまま再生すると可聴範囲の影響から不自然になってしまうことも。
例として紹介された浜辺でのイベントシーン。制御適応前は大音量で波の打ち寄せるサウンドが再生されており、雰囲気を壊してしまっていた
カメラとは別のリスニングポイントを設けることでも解消可能ですが、『ハーヴェステラ』ではカメラのみのリスニングポイントで開発を進めていたため、特定の区間でのみサウンド音量を制御できる処理が施されています。
この制御にはスクリプト側での実装が必要になりますが、ここで活躍するのがSEADの「イベント機能」です。サウンドデザイナーが定義した名前で呼び出しを行うことで、スクリプト側からもサウンドの細かな制御が行えるほか、命名規則さえ同一であれば、イベントシーン実装後にサウンド処理の内容を変更することも可能になります。
「操作している感」をサウンド側でも表現。ユーザビリティを意識した音作り
講演前半では「より自然な表現」を目指した音作りに関する事例が紹介されましたが、後半はサウンドの工夫によってユーザビリティを向上させる仕組みについて紹介。最初に例示されたのは「入力操作に合わせて変化する潜水艦サウンド」です。
開発の初期段階では、潜水艦の操作中は一定のスクリュー音だけが鳴り続ける表現となっており「操作してる感」を損なっていました。そこで、操作に応じてサウンドのピッチを変化させることで、移動時には高速でのスクリュー回転をイメージさせる音へとアレンジ(変調)し、味気ない表現から一転して操作の“手ごたえ”を生み出すことに成功。
この処理には、ゲーム内の入力に応じてサウンドを動的に変化させるSEADの「ゼロワン機能」が用いられています。Unreal Engine 4のブループリントからキャラクターのHPや移動速度など「ゲーム内で変化するパラメータ」を受け取り、VolumeやPitch、Effectのパラメータとして使用することで、ゲーム内の入力による変化を実現しています。
適切な音の大きさは?プラットフォームに適したラウドネス値への調整
セッション最後のトピックは「実機ラウドネス値」について。ラウドネス値とは、人間が耳で聞いたときに感じる音の大きさを数値化したもの(※)で、テレビ放送などでもコンテンツごとに音の大小が急激に変化しないよう国際基準が定められています。
※テレビ放送において、番組間やチャンネル間の音量感の差が大きいことから、これを平準化するために用いられた規格。電気的な信号の大小と聴感上の音の大きさが異なることから、現在は耳で聴く音の大きさと類似するラウドネス値を基準とした制作が一般的となる
ゲームにおいても、タイトルごとに音量差が大きい場合、ユーザーは毎回音量を調整しなければならなくなってしまうため、プラットフォームごとに適切な基準値が設定されています。『ハーヴェステラ』はSteamとSwitchで発売されましたが、中でも携帯モードやモニターに接続した状態など、さまざまなスタイルでプレイできるSwitch版の対応がポイントになりました。
従来なら「すべてのモードで問題ない範囲のラウドネス値に留める」対応も考えられるケースでしたが、今回はサウンドプログラマーに依頼し、SEADに「Swtichのプレイスタイルごとにマスター音量値が切り替わる機能」を追加実装して対応することに。
SEADには以前からモバイル端末でプラットフォームごとに特殊EQやスピーカー設定を適用する機能があり、これを拡張することでSwtichのプレイスタイルごとにラウドネス値を変更できるよう改良が加えられました。社内にサウンドプログラマーがいることで、プラットフォーマーからのツール提供がなくとも対応に成功した事例のひとつで、青山氏もスライド上で「ほんま感謝!」と、関西人らしい表現でプログラマーチームへの感謝を述べていました。
全部で5つのポイントに分け、サウンドを“ええ感じ”にするポイントが紹介された本セッション。それぞれの事例で実際のゲーム映像を用いて調整前後の比較がされるなど全体を通して噛み砕かれた内容で、終了後には個別で質問する来場者の姿も見られるなど貴重な機会となっていました。
時に花粉症トークなどユーモアも織り交ぜつつセッションを担当した青山氏(写真左)と小山氏(同右)
青山氏はサウンドの基礎クオリティはゲームをユーザーに楽しんでもらうための大切な要素であり、今後は「他職種も含めた開発チーム全体でゲームサウンドを更に盛り上げていきたい」と発言。そのために本セッションが基礎の振り返りとして役立つことを期待していると述べ、セッションの結びとしていました。
「GAME CREATORS CONFERENCE ’24」公式サイト『HARVESTELLA』 公式サイト
大阪生まれ大阪育ちのフリーライター。イベントやeスポーツシーンを取材したり懐ゲー回顧記事をコソコソ作ったり、時には大会にキャスターとして出演したりと、ゲーム周りで幅広く活動中。
ゲームとスポーツ観戦を趣味に、日々ゲームをクリアしては「このゲームの何が自分に刺さったんだろう」と考察してはニヤニヤしている。