この記事の3行まとめ
Audiokineticは、Mad Head Gamesが開発したSFサードパーソンアクションアドベンチャーシューター『Scars Above』のオーディオのプロファイリングと最適化の原則を解説した記事を公開しました。Mad Head Gamesのリード/テクニカル サウンドデザイナー Milan Antic氏が『Scars Above』の開発事例を説明します。
This week on the Audiokinetic blog, Milan Antić dives into the different principles that his team applied while profiling and optimizing the audio side of @ScarsAbove. Give it a read, link below!#GameAudio #Wwise #UnrealEnginehttps://t.co/LU6TjnnAjm pic.twitter.com/45cGZF1hJU
— Audiokinetic (@audiokinetic) August 24, 2023
This week on the Audiokinetic blog, Milan Antić dives into the different principles that his team applied while profiling and optimizing the audio side of @ScarsAbove. Give it a read, link below!#GameAudio #Wwise #UnrealEnginehttps://t.co/LU6TjnnAjm pic.twitter.com/45cGZF1hJU
— Audiokinetic (@audiokinetic) August 24, 2023
『Scars Above』の開発環境は、下記の通りです。
最適化は開発後半に行われることが多いですが、初期段階でオーディオが使用できるCPU・メモリの容量を決めておくことが重要です。設定した容量を超えると、サウンド品質の低下やオーディオの不具合、ゲームプレイに悪影響を与えるフレームレートの低下などの問題が発生するため、オーディオ最適化は計画的に実施する必要があります。
また、『Scars Above』ではGen 8搭載プラットフォームにおけるメモリ不足を防ぐため、オーディオのメモリ容量を250MB以下に設定したとのこと。
ゲームプレイ中に起こるオーディオの問題の中から、この記事では一般的な問題であるメモリ不足(OOM)・CPUスパイク・Voice Starvation・Source Starvationの4つを紹介しています。
これら問題を特定する方法として、Wwise Profilerを使用したプロファイリングを紹介しています。
Wwiseのアセットやプロセスに特化したメモリおよびCPU消費量に関するデータはUnreal Editorでは明確に受け取れないため、QAの際は出力ログを利用してエラーを特定します。Wwise Profilerに関連するログメッセージはOutput Logと相互に参照でき、Output Logに表示されるWwiseエラーには“LogAkAudio”とプレフィックスが付くため、フィルタリングによって問題を把握しやすくなるとのこと。
また、最適化について、ディスクからストリーミングが難しい長さのサンプルは多くのメモリを消費します。この場合は可能な限り音源を短縮することでメモリの消費量を抑えることが可能なほか、複数の短い音源をランダムコンテナに格納し、ループ再生することでバリエーションのある長い音源のように扱うことが可能といったTipsが紹介されています。
このほかにも最適化に関する情報が数多く掲載されています。詳細はak Blog『Audio Optimization Practices in Scars Above』をご確認ください。
ak Blog『Audio Optimization Practices in Scars Above』