ノン・サウンドデザイナーでもできる! 仕様変更に強いゲームサウンド設計の手引き(データの持ち方編)
データの持ち方って何?って方もいらっしゃると思いますが、最近のゲームはサウンド関係のデータだけでも数千とか数万というファイルがあったりします。それを1つのフォルダに全部入れて扱う…場合もあるかもしれませんが、それって結構扱いにくいと思うんです。
んじゃー、どうやって管理すると扱いやすいの?
そもそもゲームサウンド、みたいのを考えていくと楽曲と効果音、ジングル、ボイスデータ、環境音とかがあると思います。まずそれで分類しましょう。
これくらいみんなやってるよ! という声が聞こえてきそうです。運用も考えつつ、もうちょっと突っ込んだ話をします。
ダウンロード時間を短くしたい
複数ファイルをまとめてファイル数を減らした方が、ダウンロード時間を短くする事ができます。UnityだったらAssetBundleの分け方、ADX2であればキューシートの分け方によってファイルの数が決まります。
メモリ使用量をコントロールしたい
何も考えずに全てまとめてしまうと弊害があります。展開に時間が掛かったり、メモリ上に常駐するサイズが無駄に増えてしまったり。
大抵のゲームではシーン遷移をすると思うので、シーン別に使う音をリストアップし、それぞれで分けてまとめてみましょう。もちろんプロジェクトによって最適解は違いますが、ある程度はパターン化できるので、わかりやすそうな例を挙げてみます。
カテゴリとシーンで分けて考えよう
上記のようにベン図を描いてみるとわかりやすくなりますが、カテゴリ別、シーン別、シーン共通のSEといった形で分けると良い場合が多いです。
フォルダを複数用意して管理するのであれば
/シーン名/カテゴリ名/各ファイル
弊社のミドルウェアを使うと
SE_拠点.acb (acbはADX2独自のファイル形式)
BGM_バトル.awb
みたいな感じに。
共通SEについて
UI系が多いと思いますが、各シーンで使い回される音があったりします。それらを個別シーン用のデータに含めてしまうと、同じ音が複数存在する事になって勿体ないですね。共通部分だけ分けてしまい、各シーンで使われるUI系の短い音であれば、ゲーム中は常にメモリ上に展開しておくのも良いと思います。
追加ダウンロードについて
これは分けるしかない部類のやつですが、ゲーム中に裏読みをするのか、逐次DLするのか…といった要件次第で分け方が変わると思います。プロジェクトに合った方法を探してみてください。
メモリ管理の補足
と、ADX2の機能紹介です。専用のオーサリングツールはメモリ量の管理にも便利です。
メモリ再生とストリーム再生を手軽に切り替えられたり、圧縮率を一括や個別に設定ができたり、圧縮後のデータサイズが見えたり、キューシート単位でのデータサイズが見えたり。ぜひご活用くださいませ。
サウンド担当者以外(主にサウンド発注者)が知っておくと良い業務の効率化 【その1】
サウンド経験者が居ない場合の考え方 【その2】
設計や管理が便利なツール、ミドルウェアの紹介 【その3】
仕様変更で増えていく効果音の傾向と対策について 【その4】