ゲームでサウンドは非常に重要であるが、最適な機能を提供している環境はほぼない。
CRI ADX2はあらゆるプラットフォームで動作し、サウンドの最適な機能を提供するミドルウェアで
非常に便利であるため、私は7年程使用している。
私は今まで培ってきたゲームサウンドのノウハウを可能な限り語るつもりだが
その量はかなり多いため、記事をいくつかに分けて説明していく。
まずは、前提として必要な情報を記載しよう。
最適とは何か
私が考える汎用的なゲームサウンドの最適とは
- ストリーミング再生をサポートしている
- オンメモリ再生をサポートしている
- データとプレイヤーが分かれている
- ファイル容量が少ない
- ファイルパッキングをサポートしている
ADX2はこれらを全てサポートしている。
サウンドの種類について
ゲームで使用するサウンドは大きく分けて以下の3つのカテゴリに分かれる。
- BGM
- SE
- VOICE
BGMについて
BGMとは「Back Ground Music」のことで、裏で流れ続ける音のことである。
この音はある程度長い時間が求められるため、ストリーミングでの再生を推奨する。
SEについて
SEとは「Sound Effect」のことで、カーソル移動や決定、キャンセルなどの効果音のことである。
ヒット音や爆発音などもSEに該当する。SEは長さが短く、即時に再生が求められるため
オンメモリでの再生を推奨する。
VOICEについて
VOICEとは音声のことで、ゲームのキャラクターの話す音のことである。
ボイスは即時に再生する必要がある場合とない場合があるためストリーミングとオンメモリを
使い分ける必要がある。
ストリーミングとオンメモリについて
ここではストリーミングとオンメモリの意味、メリット、デメリットについて説明する。
ストリーミング再生とは
再生しながら読み込みを行う再生方法である。
具体的には一定時間再生分のバッファを用意してリングバッファとして扱い
そのバッファに読み込みながら再生を行います。
メリット
- 消費メモリが少ない
デメリット
- 再生命令を発行してからファイルを読み込みに行くため、即時再生ができない(事前に読み込み準備をしておけば即時再生可能)
- ファイルアクセス頻度が高いため、同時に他のファイルを読むことがある場合、音が途切れる可能性がある
オンメモリ再生とは
音声データをメモリに全て読み込んで再生する方法である。
メリット
- 再生命令を発行してから即時に再生される
デメリット
- 全てをメモリに乗せるため、メモリ消費量が多い
データとプレイヤーについて
データとはサウンドファイルの事であり、プレイヤーとは再生する機能のことである。
プレイヤーの数だけサウンドを同時に再生することができる。
環境によってはデータとプレイヤーが一体となっているものがあり
その場合、シューティングのショット音や撃破音など同じ音を複数同時に鳴らす時に
同じデータを複数読まなくてはいけないため無駄が生じる。
その2へ続く