(57)【特許請求の範囲】
【請求項１】
コンピュータを、
プレイヤキャラクタが行動する仮想空間を生成する仮想空間生成手段、
前記仮想空間内で、予め分類が定められた一または複数の新規の発音イベントが発生した場合に、当該新規の発音イベントの分類を含む発音情報を示す発音データを取得する発音データ取得手段、
新規の発音イベントと、該新規の発音イベントの発生時に発音継続中である発音イベントとの合計発音数が、所定値より多いか否かを判定する発音数判定手段、
前記合計発音数が前記所定値より多い場合、前記発音データに基づき、発音継続中の発音イベントの中に新規の発音イベントと同じ分類に属するものが存在するか否かを判定する分類判定手段、
発音継続中の発音イベントの中に新規の発音イベントと同じ分類に属するものが存在する場合、該分類に属する発音イベントによる前記仮想空間内での発音位置と前記聴取位置との距離を示す聴取距離に基づいて、当該分類に属する発音イベントの発音を少なくとも１つキャンセルする発音処理手段として機能させる、ゲームプログラム。
【請求項２】
前記発音処理手段は、発音継続中の発音イベントの中に新規の発音イベントと同じ分類に属するものが存在する場合、該分類に属する発音イベントによる前記仮想空間内での発音位置が、所定の聴取位置を基準として予め定められた優先領域外に存在するか否かを判定し、該分類に属する発音イベントの何れかの発音イベントの前記発音位置が前記優先領域外にある場合に、当該発音イベントの発音をキャンセルする、請求項１に記載のゲームプログラム。
【請求項３】
前記聴取位置は、前記優先領域内に位置している、請求項２に記載のゲームプログラム。
【請求項４】
前記発音情報は、前記分類ごとに定められた優先距離に関する情報を含み、
前記優先領域は、前記聴取位置から前記優先距離内の範囲として前記分類ごとに設定され、
前記発音処理手段は、発音継続中の発音イベントの中に新規の発音イベントと同じ分類に属するものが存在する場合、該分類に属する発音イベントによる発音位置と前記聴取位置との距離を示す聴取距離を前記優先距離と比較し、前記聴取距離が前記優先距離より大きい場合に、当該発音イベントの発音をキャンセルする、請求項２に記載のゲームプログラム。
【請求項５】
請求項１乃至４の何れかに記載のゲームプログラムを記憶したプログラム記憶部と、
前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備えた、ゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間内で発音イベントが発生した場合に、仮想空間内で既に発音継続中である発音イベントとの関係で発音イベントの発音を決定するためのゲームプログラム及びゲーム装置に関する。
【背景技術】
【０００２】
近年、仮想空間内にて、モンスター等の敵キャラクタを討伐しながらゲームを進行させるアクションゲームが市販されている。この種のアクションゲームでは、プレイヤキャラクタの近くに設定された聴取位置と仮想空間において発音された発音イベントの発音位置との距離に応じて、ゲーム装置のスピーカから出力される当該発音イベントに起因する音量を変え、プレイヤに聞こえる音を、仮想空間内でプレイヤキャラクタが聞いている音のように感じさせることによりリアリティを高めている。
【０００３】
しかしながら、一般に、発音イベントを同時に発音できる数にはハードウエア的またはソフトウェア的な制限があり、所定数以上の音を同時に発音させることはできない。このような課題に対しては、いくつかの解決策が知られている。例えば、聴取位置がメッセージとともに発音を行うメッセージ発音オブジェクトから所定距離以上離れると音量が０になる（発音キャンセル状態となる）処理態様が知られている（例えば特許文献１参照）。また、発音イベントごとに設定された基準距離内に聴取位置が含まれなければ当該発音イベントは発音させないという処理態様も知られている（例えば特許文献２参照）。さらに、所定数を超える発音イベントが発生した場合に、発音イベントの発生が早い（古い）ものを削除することにより新たに発生した発音イベントを発音する処理態様も知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３６３９２８０号公報
【特許文献２】特許第３９４９７０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１や特許文献２のような処理態様では、聴取位置から近い位置で多くの発音イベントが発生した場合に、所定数を超えて新規に発生した発音イベントにについては発音させることができず、プレイヤに違和感を与えてしまう。また、所定数を超える発音イベントが発生した場合に、発音イベントの発生が早い（古い）ものを削除することにより新たに発生した発音イベントを発音する処理態様では、発音イベントの種類に拘わらず先着の発音イベントを削除するため、プレイヤに近い位置の発音が行われなかったり、ゲーム進行上重要な発音イベントが発音されなかったりする問題があった。このような発音がなされないと、プレイヤに違和感を与えてしまうとともに、ゲーム進行上重要な音を聞き逃してしまうこととなり、ゲーム性の低下を招いてしまう。
【０００６】
そこで本発明は、発音数が多い場合でもプレイヤに違和感を与えることを防ぐことができるゲームプログラム及びゲーム装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るゲームプログラムは、コンピュータを、プレイヤキャラクタが行動する仮想空間を生成する仮想空間生成手段、前記仮想空間内で、予め分類が定められた一または複数の新規の発音イベントが発生した場合に、当該新規の発音イベントの分類を含む発音情報を示す発音データを取得する発音データ取得手段、新規の発音イベントと、該新規の発音イベントの発生時に発音継続中である発音イベントとの合計発音数が、所定値より多いか否かを判定する発音数判定手段、前記合計発音数が前記所定値より多い場合、前記発音データに基づき、発音継続中の発音イベントの中に新規の発音イベントと同じ分類に属するものが存在するか否かを判定する分類判定手段、発音継続中の発音イベントの中に新規の発音イベントと同じ分類に属するものが存在する場合、該分類に属する発音イベントによる前記仮想空間内での発音位置と前記聴取位置との距離を示す聴取距離に基づいて、当該分類に属する発音イベントの発音を少なくとも１つキャンセルする発音処理手段として機能させるものである。
【０００８】
前記発音処理手段は、発音継続中の発音イベントの中に新規の発音イベントと同じ分類に属するものが存在する場合、該分類に属する発音イベントによる前記仮想空間内での発音位置が、所定の聴取位置を基準として予め定められた優先領域外に存在するか否かを判定し、該分類に属する発音イベントの何れかの発音イベントの前記発音位置が前記優先領域外にある場合に、当該発音イベントの発音をキャンセルすることとしてもよい。
【０００９】
さらに、前記聴取位置は、前記優先領域内に位置していてもよい。
【００１０】
また、前記発音情報は、前記分類ごとに定められた優先距離に関する情報を含み、前記優先領域は、前記聴取位置から前記優先距離内の範囲として前記分類ごとに設定され、前記発音処理手段は、発音継続中の発音イベントの中に新規の発音イベントと同じ分類に属するものが存在する場合、該分類に属する発音イベントによる発音位置と前記聴取位置との距離を示す聴取距離を前記優先距離と比較し、前記聴取距離が前記優先距離より大きい場合に、当該発音イベントの発音をキャンセルすることとしてもよい。
【００１１】
また、本発明に係るゲーム装置は、上記のゲームプログラムを記憶したプログラム記憶部と、前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備えたものである。
【発明の効果】
【００１２】
本発明によれば、発音数が多い場合でもプレイヤに違和感を与えることを防ぐことができるゲームプログラム及びゲーム装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るゲーム装置１の内部構成を示すブロック図である。
【図２】図１に示すゲーム装置が実行するゲームプログラムによって実現されるゲームの内容を説明するための模式図である。
【図３】図１に示すゲーム装置が備える制御部の機能的な構成を示すブロック図である。
【図４】図１に示すゲーム装置のゲームデータに含まれる発音イベントの発音データの一例を示す図である。
【図５】図１に示すゲーム装置において実行される発音イベントの聴取位置からの距離に対する音量の変化を示す図である。
【図６】発音イベント選択処理の一例を説明するための模式図である。
【図７】図１に示すゲーム装置の発音処理の制御の流れを示すフローチャートである。
【図８】図１に示すゲーム装置の発音イベント選択処理に関する制御の流れを示すフローチャートである。
【図９】図７に示すフローチャートにおける距離優先発音処理の流れを示すフローチャートである。
【図１０】発音イベント選択処理の他の例を説明するための模式図である。
【図１１】図７に示すフローチャートにおける後着優先発音処理の流れを示すフローチャートである。
【図１２】発音イベント選択処理の他の例を説明するための模式図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態に係るゲームプログラム、記録媒体、及びゲーム装置について、図面を参照しつつ説明する。
【００１５】
［ハードウェアの構成］
図１は、本発明の一実施形態に係るゲーム装置１の内部構成を示すブロック図である。図１に示すようにゲーム装置１は制御部３０を備えており、該制御部３０にはＣＰＵ１１、描画データ生成プロセッサ１２、ＲＡＭ（Random Access Memory）１３、ＲＯＭ（Read Only Memory）１４、描画処理プロセッサ１５、及び音声処理プロセッサ１８が含まれている。更にゲーム装置１は、この他にもＶＲＡＭ（Video-RAM）１６、アンプ１９、スピーカ２０、イヤホン端子２１、操作部２２、メディアインタフェース２３、無線ＬＡＮモジュール２４、及びバス２５を備えている。そして、これらのうちＣＰＵ１１、描画データ生成プロセッサ１２、ＲＡＭ１３、ＲＯＭ１４、描画処理プロセッサ１５、音声処理プロセッサ１８、操作部２２、メディアインタフェース２３、および無線ＬＡＮモジュール２４が、バス２５によって相互にデータ伝送可能に接続されている。
【００１６】
操作部２２は、方向キー及びその他のボタン群（図示せず）を含んでおり、プレイヤの操作を受け付けて、その操作内容に応じた操作信号をＣＰＵ１１に入力する。また、方向キー及びボタン群が有する各種のボタンは、プレイヤキャラクタの特定の動作を指示するための操作子である。また、操作部２２には、これら操作子以外にゲーム装置１の電源の入／切を行うための電源スイッチ等が含まれる。
【００１７】
メディアインタフェース２３は、図示しないメディア装着部にセットされたゲームメディア５にアクセスしてゲームプログラム５ａ及びゲームデータ５ｂを読み出す。このうちゲームプログラム５ａは、例えば、プレイヤキャラクタと敵キャラクタとが仮想空間にて対戦する内容のゲームを、ゲーム装置１に実行させるものである。また、ゲームデータ５ｂには、上記ゲームを実行する上で必要なデータとして、キャラクタや背景の画像データ、ステータスなどの情報表示用の画像データ、効果音やＢＧＭなどの音声データ、文字や記号によるメッセージデータ等が含まれている。なお、記録媒体であるゲームメディア５は、半導体メモリのほか、光ディスクの一種であるＵＭＤ（Universal Media Disc）（登録商標）を採用することができる。
【００１８】
ＲＡＭ１３には、ゲームの進行に応じてゲームメディア５から読み込まれたゲームプログラム５ａ及びゲームデータ５ｂを格納するロードエリア、並びに、ＣＰＵ１１がゲームプログラム５ａを処理する際に使用するためのワークエリアが設定されている。ＲＯＭ１４には、ディスクローディング機能などのゲーム装置１の基本的機能や、ゲームメディア５に記憶されているゲームプログラム５ａ及びゲームデータ５ｂの読み出し処理を制御する基本プログラムが記憶されている。
【００１９】
ＣＰＵ１１は、ゲームメディア５に記録されているゲームプログラム５ａ及びゲームデータ５ｂの全部または一部を、メディアインタフェース２３を通じてＲＡＭ１３に読み込み、プレイヤによる操作部２２の操作に応じてこれを実行し、ゲーム進行を制御する。より具体的には、プレイヤに操作されることによって操作部２２から操作信号が入力されると、ＣＰＵ１１は、ゲームプログラム５ａに従ってその操作信号に対応する所定のゲーム進行処理を行い、その処理結果を、ゲーム進行を示す画像（以下、「ゲーム画像」）としてディスプレイ２に表示すると共に、ゲーム進行を示す音声信号（以下、「ゲーム音声」）をスピーカ２０やイヤホン端子２１に出力する。
【００２０】
上記ゲーム画像の描画は、ＣＰＵ１１の指示により、描画処理プロセッサ１５が行う。すなわち、ＣＰＵ１１は、操作部２２から入力される操作信号に基づき、ディスプレイ２に表示すべきゲーム画像の内容を決定し、その内容に対して必要な描画データを描画データ生成プロセッサ１２に生成させる。そして、その描画データを描画処理プロセッサ１５に転送して描画処理を行わせる。描画処理プロセッサ１５は、描画データに基づいて１／６０秒毎にゲーム画像を生成し、生成したゲーム画像をＶＲＡＭ１６に書き込む。ディスプレイ２は、半透過型カラー液晶ディスプレイとバックライトＬＥＤ（Light Emitting Diode）とを有し、ＶＲＡＭ１６に書き込まれたゲーム画像を表示する。
【００２１】
また、ＣＰＵ１１は、ゲームの進行に応じて、スピーカ２０から出力すべき効果音やＢＧＭ等の音声を決定し、その音声を発音するための音声データをＲＡＭ１３から読み出して音声処理プロセッサ１８に入力する。すなわち、ＣＰＵ１１は、ゲームの進行に伴って発音イベントが発生すると、その発音イベントに応じた発音データ（ゲームメディア５からロードされた発音データ）をＲＡＭ１３から読み出して音声処理プロセッサ１８に入力する。音声処理プロセッサ１８は、ＤＳＰ（Digital Signal Processor）で構成されており、ＣＰＵ１１によって入力された発音データに対して所定の効果（例えば、リバーブ、コーラスなど）を付与したのちアナログ信号に変換して、アンプ１９に出力する。アンプ１９は、音声処理プロセッサ１８から入力された音声信号を増幅したのち、スピーカ２０及びイヤホン端子２１に出力する。
【００２２】
無線ＬＡＮモジュール２４は、通信規格ＩＥＥＥ８０２．１１ｂ（使用周波数帯２．４ＧＨｚ、通信速度１１Ｍｂｐｓ）に準拠した無線ＬＡＮによって他のゲーム装置１とデータ通信を行い、ネットワークを構成するための通信モジュールである。
【００２３】
［ゲームシステムの説明］
図２は、図１に示すゲーム装置が実行するゲームプログラムによって実現されるゲームの内容を説明するための模式図である。図２に示すように、本ゲームでは、所定の広がりを有する仮想空間Ｓが設定されており、該仮想空間Ｓ内には、操作部２２の操作によりプレイヤが直接的にその動作を制御することのできるプレイヤキャラクタＰが存在している。また、同じ仮想空間Ｓ内には、プレイヤの操作によってはその動作を直接的に制御することができず、ＣＰＵ１１によって動作が制御されるノンプレイヤキャラクタである敵キャラクタ（モンスター等：図示せず）も出現するようになっている。また、仮想空間Ｓ内においてプレイヤキャラクタＰ近傍の所定位置には、仮想空間Ｓを撮像するための仮想カメラＣが配置されており、ゲーム装置１のディスプレイ２には、該仮想カメラＣにより撮像された仮想空間Ｓの画像が表示される。そして、本ゲームは、プレイヤがディスプレイ２に表示された仮想空間Ｓを見ながら、プレイヤキャラクタＰを操作して敵キャラクタと戦闘を行い、これを討伐するアクションゲームになっている。
【００２４】
本ゲームのプレイヤキャラクタＰは、敵キャラクタへの攻撃手段の１つとして、例えば仮想空間Ｓにタルを設置して衝撃を加えるまたは所定時間経過することによりタルを爆発させるタル爆弾を保持することができる。このタル爆弾は、爆発する際、仮想空間Ｓ内において所定の効果音を発する。また、プレイヤキャラクタＰが所持する武器で攻撃を行う場合にも所定の効果音を発する。また、敵キャラクタも例えば火炎や冷気などのブレスをプレイヤキャラクタＰに対して吐いてくる場合があり、ブレスは、所定の効果音を発しながら仮想空間Ｓ内を移動する。さらに、キャラクタ自体が移動する際に音を発する場合（飛翔するモンスターの風きり音、陸上を走るキャラクタの足音等）にも所定の効果音を発する。このような効果音は、前述したように、音声データとして記憶された発音イベントの１種であり、通常、発音イベントが発生（コール）された後、発音イベントの発音が実行される（対象オブジェクトが発音源となる）。
【００２５】
また、プレイヤキャラクタＰと仮想カメラＣとの間には、聴取位置として設定される仮想マイクＬが設定されている（但し、オブジェクトではなく仮想カメラＣにより撮像されない）。そして、上述した発音源から発せられる音は、この仮想マイクＬによって検出され、ゲーム装置１のスピーカ２０から発せられてプレイヤに聴取可能になっている。なお、仮想カメラＣの位置設定はこれに限られず、例えば、プレイヤキャラクタＰの視点と一致している態様等、ゲームの種類またはゲーム内で設定される複数のモード等に応じて種々設定可能である。また、操作部２２の操作や特定の条件等により仮想カメラＣの方向を変更可能に構成されてもよい。また、仮想マイクＬの位置設定についても上記に限られず、例えば仮想カメラＣやプレイヤキャラクタＰと同じ位置に仮想マイクＬが設定されてもよい。
【００２６】
本実施形態において、仮想空間Ｓには、聴取位置である仮想マイクＬの位置を原点（０，０，０）とする所定の座標軸が設定されている。制御部３０は、プレイヤキャラクタＰおよび発音イベントの位置を含むすべてのオブジェクトの座標を読み出せるように構成されている。具体的には、例えば、発音イベントＵ１の座標が（ｘＵ１，ｙＵ１，ｚＵ１）と設定される。
【００２７】
［制御部の機能的構成］
図３は、ゲーム装置１が備える制御部３０の機能的な構成を示すブロック図であり、主に、上述したゲームシステムを実現するのに必要な機能を示している。前述したとおり、制御部３０は、ＣＰＵ１１、描画データ生成プロセッサ１２、ＲＡＭ１３、ＲＯＭ１４、描画処理プロセッサ１５、音声処理プロセッサ１８を含むコンピュータとして動作する。そして、このコンピュータとして動作する制御部３０は、ゲームメディア５から読み込んだゲームプログラム５ａ及びゲームデータ５ｂを実行することによって、以下に説明するような機能を備える。すなわち、図３に示すように制御部３０は、仮想空間生成手段３０ａ、キャラクタ制御手段３０ｂ、発音データ取得手段３０ｃ、発音数判定手段３０ｄ、分類判定手段３０ｅ、および発音処理手段３０ｆを備えている。
【００２８】
このうち、仮想空間生成手段３０ａは、プレイヤキャラクタＰが行動する仮想空間Ｓを生成するものであり、該仮想空間Ｓには、プレイヤキャラクタＰおよび敵キャラクタが対戦する仮想空間も含まれる。
【００２９】
キャラクタ制御手段３０ｂは、仮想空間ＳにおけるプレイヤキャラクタＰおよび敵キャラクタを含む様々のキャラクタの動作を制御する。例えば、プレイヤによる操作部２２の操作に応じて、対戦時におけるプレイヤキャラクタの移動、攻撃、および防御を含む各種動作を制御し、また、敵キャラクタによる移動、攻撃、および防御等の各種の動作も制御する。
【００３０】
発音データ取得手段３０ｃは、仮想空間Ｓ内で、予め分類が定められた一または複数の新規の発音イベントが発生した場合に、当該新規の発音イベントの分類を含む発音情報を示す発音データを取得する。また、発音数判定手段３０ｄは、新規の発音イベントと、該新規の発音イベントの発生時に発音継続中である発音イベントとの合計発音数ｎが、所定値ｎｍａｘより多いか否かを判定する。さらに、分類判定手段３０ｅは、合計発音数ｎが所定値ｎｍａｘより多い場合、取得した発音データに基づき、発音継続中の発音イベントの中に新規の発音イベントと同じ分類に属するものが存在するか否かを判定する。
【００３１】
その上で、発音処理手段３０ｆは、発音継続中の発音イベントの中に新規の発音イベントと同じ分類に属するものが存在する場合、該分類に属する発音イベントによる前記仮想空間内での発音位置と前記聴取位置との距離を示す聴取距離に基づいて、当該分類に属する発音イベントの発音を少なくとも１つキャンセルする。より詳しくは、発音処理手段３０ｆは、発音継続中の発音イベントの中に新規の発音イベントと同じ分類に属するものが存在する場合、該分類に属する発音イベントによる仮想空間Ｓ内での発音位置が、聴取位置（仮想マイクＬの位置）を基準として予め定められた優先領域Ｙ外に存在するか否かを判定する。さらに、発音処理手段３０ｆは、何れかの発音イベントの発音位置が優先領域Ｙ外にある場合に、当該発音イベントの発音をキャンセルする。詳しくは、後述する。
【００３２】
上述したように、各発音イベントにはそれぞれが属する分類が定められている。具体的には、ゲームデータ５ｂには、発音イベント（例えば、後述するＴ，Ｕ１，Ｕ２等）ごとに当該発音イベントの発音情報を示す発音データが含まれている。図４は、図１に示すゲーム装置のゲームデータに含まれる発音イベントの発音データの一例を示す図である。図４（ａ）は、発音イベントごとに設定されている発音情報を示す発音データ（サウンドリクエストデータ）の一例を示し、図４（ｂ）は、図４（ａ）における距離優先インデックスのインデックス番号に対応する優先距離の一覧を示す距離優先テーブルを示す。
【００３３】
本実施形態における発音データには、図４（ａ）に示すように、発音イベントごとに割り当てられている発音イベントの識別番号であるリクエスト番号と、発音イベントの発音を実行した際の音量の初期値を示すボリュームと、後述する距離優先インデックスと、発音イベントのカテゴリを示すカテゴリ番号とが含まれている。例えば、カテゴリ番号０が、大分類である「タル爆弾」を示し、このときのリクエスト番号３が小分類である「大タル爆弾」を示す。なお、大分類である「タル爆弾」には、攻撃力、オブジェクトの大きさおよび音量が大きい「大タル爆弾」だけでなく、攻撃力、オブジェクトの大きさおよび音量が何れも「大タル爆弾」より小さい「小タル爆弾」（リクエスト番号２）等が含まれている。また、別の大分類である「足音」には、その音量等が異なる「モンスターの足音」や「プレイヤキャラクタＰの足音」等が含まれている。
【００３４】
発音イベントは、カテゴリ番号またはリクエスト番号に基づいて分類されており、当該分類ごとに優先距離ＬＹが設定されている。例えば、カテゴリ番号０の「タル爆弾」（後述する発音イベントＵ１，２，…に相当する）においては、優先距離ＬＹが仮想空間Ｓ内における換算距離として２００ｍに設定されている（後述する例においては発音イベントＵ１，Ｕ２，…の優先距離をＬＹＵと表記する）。このようにカテゴリ番号に基づいて分類した場合には、発音イベントＵ１が「大タル爆弾」であって発音イベントＵ２が「小タル爆弾」であっても優先距離はＬＹＵ＝２００ｍで同じである。なお、本実施形態においては、発音データの容量を小さくするために、優先距離ＬＹを番号付けした上で当該番号（すなわちインデックス番号）を発音データに登録している。制御部３０が発音データを読み出す際には、制御部３０は、図４（ａ）に示す発音データに含まれる距離優先インデックスからインデックス番号（例えば、「１」）を読み出すとともに、図４（ｂ）に示す距離優先テーブルを読み出して、インデックス番号に対応する優先距離ＬＹ（例えば、「２００ｍ」）を取得することができる。
【００３５】
仮想空間Ｓには聴取位置（即ち、仮想マイクＬの位置）を基準とした優先領域Ｙが設定されている。本実施形態においては、優先領域Ｙが、聴取位置を中心として分類ごとに定められた優先距離ＬＹを半径とする円の内側の領域として設定されている。優先領域Ｙを定める優先距離ＬＹの長さは発音イベントの重要度等に応じて種々設定可能である。さらに、優先距離ＬＹは、同一の発音イベントであっても、仮想マイクＬが位置する仮想空間Ｓの環境（洞窟内、水中等）に応じて変化することとしてもよい。
【００３６】
なお、本実施形態においては、聴取位置を中心とし、発音イベントの分類ごとに設定された優先距離ＬＹを半径とする円の内側の領域を優先領域Ｙとして設定しているが、これに限られず、例えば、プレイヤキャラクタＰまたは仮想カメラＣを中心とする円の内側の領域でもよい。また、優先領域Ｙは、楕円および矩形の何れでもよいし、その他の形状を有していてもよい。すなわち、聴取位置（仮想マイクＬ）、仮想カメラＣまたはプレイヤキャラクタＰから優先領域Ｙの境界までの距離がそれらの位置から前後左右で異なっていてもよい。その他の形状としては、例えば、優先領域Ｙが扇形を有しており、その扇形の中心に聴取位置が配置される場合等が含まれる。さらに、プレイヤキャラクタＰ、聴取位置である仮想マイクＬ、および仮想カメラＣのすべてが優先領域Ｙ内に位置する場合だけでなく、聴取位置が優先領域Ｙ外にあってもよい。例えば、聴取位置から仮想カメラＣの前方に所定距離離れた位置を中心として優先領域Ｙを設定してもよい。
【００３７】
また、本実施形態においては、発音イベントがコールされ、当該発音イベントの発音が実行される際、聴取位置との関係で当該発音イベントの音量（ボリューム）を変化させる処理を行っている。図５は、図１に示すゲーム装置において実行される発音イベントの聴取位置からの距離に対する音量の変化を示す図である。図５に示すように、発音イベントの位置と聴取位置との距離（以下、聴取距離）が離れるほど発音イベントの音量が小さくなる（聴取位置で聞こえる音が小さくなる）ように設定されている。なお、聴取距離が０のときのボリュームが図４（ａ）に示す発音データのボリューム（初期値）に相当する。制御部３０は、発音イベントの発音を実行する際、所定時間ごとに聴取距離を算出し、当該聴取距離に応じた音量でスピーカ２０から発音されるように制御する。
【００３８】
［発音イベント選択処理］
次に、発音イベントがコールされた場合に、ゲーム装置１が実行する発音イベント選択処理について具体的に説明する。図６は、発音イベント選択処理の一例を説明するための模式図である。図６においては、ゲーム装置１が同時に発音できる発音イベントの総数ｎｍａｘを５音（一般的には、ゲーム装置が同時に発音可能な発音イベントの総数は、これより多い音数（例えば３２音）が想定されるが説明を簡単にするために５音とした）とし、これらが発音継続中である場合に、さらに６音目および７音目の発音イベントＵ３，Ｗがコールされた場合について説明する。図６に示す発音イベントのうち、発音イベントＵ１，Ｕ２，Ｕ３（タル爆弾）および発音イベントＶ１，Ｖ２はそれぞれ同じ分類に属する発音イベントである。コールされた順番は、図６の下の表に示すように、Ｔ，Ｕ１，Ｖ１，Ｖ２，Ｕ２，Ｕ３，Ｗとする。また、図６には、発音イベントＵ１，Ｕ２，Ｕ３に関する優先領域Ｙ（図６においてはＹＵと表記する）のみ表示している。
【００３９】
図７は、図１に示すゲーム装置の発音処理の制御の流れを示すフローチャートである。図７に示すフローチャートは、発音源が音を発音するための発音イベントがコールされた場合に実際に発音処理が実行されるための制御の流れを示すものである。
【００４０】
本制御の前提として、制御部３０は、仮想空間生成手段３０ａとして機能し、仮想空間Ｓを生成するとともに、キャラクタ制御手段３０ｂとしても機能し、各キャラクタの動作を制御する。
【００４１】
制御部３０は、所定時間単位のフレームごとに、既にコールされている発音イベント（発音継続中の発音イベント）について発音処理を開始する。つまり、発音継続中の発音イベントは、前回以前のフレームにおいて新規な発音イベントとしてコールされ、かつ、複数のフレームにわたって発音が継続されている（消滅していない）発音イベントを意味する。発音イベントには、その発音イベントの分類（カテゴリ、識別番号等）を含む発音情報が設定されており、まず、制御部３０は、発音継続中の発音イベントの発音情報を取得する（ステップＳ１）。後述するように、発音継続中の発音イベントの発音情報は、新規の発音イベントとしてコールされた際に、ＲＡＭ１３に発音継続中の発音イベントの発音情報として記憶されている。また、制御部３０は、発音イベントの位置および聴取位置の情報（発音座標および聴取位置座標）を読み出し、発音位置および聴取位置から聴取距離を算出する。さらに、本実施形態においては、発音イベントの位置や聴取位置、聴取位置と発音イベントの位置との距離に応じて音量を変化させるための音量変更テーブル（図５）も併せて読み出す。制御部３０は、発音情報、発音座標、聴取位置座標、聴取距離および音量変更テーブル等から発音イベントの音量等の発音実行情報を算出する。なお、音量変更テーブルに加えてまたはこれに代えて、ピッチ変更等の他の処理を行う場合には当該処理に関する情報も併せて読み出し、演算処理等を行う。
【００４２】
この後、発音情報に基づいて発音イベントの音声データ（音の波形等を示すデータ）をＲＡＭ１３から読み出し（ステップＳ２）、音声処理プロセッサ１８に当該音声データを入力する（ステップＳ３）。この音声データの読み出し処理（ステップＳ２，Ｓ３）は、発音イベントが消滅するまで（ステップＳ４でＹｅｓとなるまで）継続される。ここで、発音イベントの消滅は、発音源がキャラクタに命中した場合や発音源が聴取距離から所定距離以上離れた場合や、発音源が発音されてから所定の時間が経過した場合等であり、発音源に応じて予め定められている。
【００４３】
発音イベントの発音が継続している場合（ステップＳ４でＮｏ）、制御部３０は、新規な発音イベントがコールされるか否かを監視する（ステップＳ５）。新規な発音イベントがコールされた場合（ステップＳ５でＹｅｓ）、発音イベント選択処理を行う（ステップＳ６）。
【００４４】
発音イベント選択処理（ステップＳ６）が行われた場合、制御部３０は、発音イベント選択処理の結果、コールされた新規な発音イベントのうち発音を実行する発音イベントの音声データおよび発音実行情報を読み出し（ステップＳ７）、音声処理プロセッサ１８に当該音声データおよび発音実行情報を入力するとともに発音実行指示を行う（ステップＳ８）。これを受けて、音声処理プロセッサ１８は、入力された音声データに基づいて対応する発音イベントの発音を実行し、スピーカ２０またはイヤホン端子２１に出力する（ステップＳ９）。このとき、新規の発音イベントの発音情報は次回以降、発音継続中の発音イベントの発音情報としてＲＡＭ１３に記憶される。新規な発音イベントがコールされず、発音イベント選択処理が行われなかった場合（ステップＳ５でＮｏ）、制御部３０は、発音継続中の発音イベントの発音を継続して実行すべく、音声処理プロセッサ１８に対して発音実行指示を行い、音声処理プロセッサ１８は、入力された音声データに基づいて発音イベントの発音を実行し、スピーカ２０またはイヤホン端子２１に出力する（ステップＳ９）。
【００４５】
ここで、本実施形態における発音イベント選択処理に関する概略的な制御の流れについて説明する。図８は、図１に示すゲーム装置の発音イベント選択処理に関する制御の流れを示すフローチャートである。ゲームデータ５ｂには、予めゲーム装置１が同時に発音できる発音イベントの総数ｎｍａｘ＝５が後述する所定値として設定されている。
【００４６】
制御部３０は、発音データ取得手段３０ｃとして機能し、コールされた新規の発音イベントの分類を含む発音情報を示す発音データ（図４）を取得する（ステップＳ６１）。本実施形態においては、聴取位置と発音イベントの位置との距離に応じて音量を変化させるための音量変更テーブル（図５）も併せて読み出す。また、制御部３０は、新規の発音イベントの位置を示す発音座標を取得する（ステップＳ６２）。本実施形態においては、聴取座標を原点とする座標系（ローカル座標）に基づいて発音座標を取得しているが、仮想空間Ｓに設定された座標系で聴取位置に対する発音イベントの相対位置が算出できればよく、例えば、制御部３０は、仮想空間Ｓに固定された座標系（ワールド座標）において聴取位置の座標と発音イベントの位置座標とを取得することとしてもよい。また、制御部３０は、聴取位置の情報（聴取位置座標）を読み出し、発音座標および聴取位置座標から聴取距離ＬＣを算出する。制御部３０は、発音情報、発音座標、聴取位置座標、聴取距離および音量変更テーブル等から発音イベントの音量等の発音実行情報を算出する。なお、音量変更テーブルに加えてまたはこれに代えて、ピッチ変更等の他の処理を行う場合には当該処理に関する情報も併せて読み出し、演算処理等を行う。
【００４７】
さらに、制御部３０は、発音数判定手段３０ｄとして機能し、新規の発音イベントと、該新規の発音イベントの発生時に発音継続中である発音イベントとの合計発音数ｎを取得し（ステップＳ６３）、合計発音数ｎが、所定値ｎｍａｘより多いか否かを判定する（ステップＳ６４）。
【００４８】
なお、本実施形態においては、制御部３０は、発音イベントの実行開始から所定時間（例えば２フレーム）の間、当該発音イベントがコールされた際に取得された発音データをＲＡＭ１３に保持する制御を行っており、本実施形態において、発音継続中である発音イベントは、発音データがＲＡＭ１３に保持されている発音イベントを意味している。つまり、発音継続中の発音イベントとは、必ずしも実際に発音が実行されている発音イベントすべてを含むものではない。当然ながら、発音継続中である発音イベントを、実際に発音が実行されている発音イベントとして処理することも可能である。
【００４９】
上記の判定の結果、合計発音数ｎが所定値ｎｍａｘ以下である場合（ステップＳ６４でＹｅｓ）、制御部３０は、通常発音処理を行う（ステップＳ６５）。すなわち、通常発音処理においては発音継続中の発音イベントをキャンセルすることなくコールされた新規の発音イベントの発音を実行することが決定され、図７のステップＳ７において当該新規の発音イベントの音声データが読み出される。一方、合計発音数ｎが所定値ｎｍａｘより多い場合（ステップＳ６４でＮｏ）、制御部３０は、分類判定手段３０ｅとして機能し、発音データに基づき、発音継続中の発音イベントの中に新規の発音イベントと同じ分類に属するものが存在するか否かを判定する（ステップＳ６６）。そして、発音継続中の発音イベントの中に新規の発音イベントと同じ分類に属するものが存在する場合（ステップＳ６６でＹｅｓ）、制御部３０は、発音処理手段３０ｆとして機能し、当該分類に属する発音イベントによる仮想空間Ｓ内での発音位置が、所定の聴取位置を基準として予め定められた優先領域Ｙ外に存在するか否かを判定し、そのうちの何れかの発音イベントの発音位置が優先領域Ｙ外にある場合に、当該発音イベントの発音をキャンセルする距離優先発音処理を行う（ステップＳ６７）。
【００５０】
図９は、図８に示すフローチャートにおける距離優先発音処理（ステップＳ６７）の流れを示すフローチャートである。制御部３０は、合計発音数ｎが所定値ｎｍａｘからどれだけ多いかを演算する（ステップＳ７１）。制御部３０は、合計発音数ｎと所定値ｎｍａｘとの差ｎｃをＲＡＭ１３に記憶させる。そして、制御部３０は、同じ分類に属する発音イベントによる発音位置と聴取位置との距離を示す聴取距離ＬＣを算出する（ステップＳ７２）。さらに、制御部３０は、算出された聴取距離ＬＣと当該分類における優先距離ＬＹとを比較し、聴取距離ＬＣが優先距離ＬＹより大きい発音イベントがあるか否かを判定する（ステップＳ７３）。制御部３０は、聴取距離ＬＣが優先距離ＬＹより大きい発音イベントがある場合（ステップＳ７３でＹｅｓ）、当該発音イベントの発音をキャンセルする（ステップＳ７４）。具体的には、制御部３０は、聴取距離ＬＣが優先距離ＬＹより大きい発音イベントが発音継続中の発音イベントである場合、発音の音量を０とするまたは発音イベント自体を削除し、聴取距離ＬＣが優先距離ＬＹより大きい発音イベントが新規の発音イベントである場合、発音の実行を行わないまたは発音の音量を０とする。
【００５１】
さらに、制御部３０は、聴取距離ＬＣが優先距離ＬＹより大きい発音イベントの数（すなわち発音イベントの発音をキャンセルした数）を、合計発音数ｎと所定値ｎｍａｘとの差ｎｃと比較する（ステップＳ７５）。キャンセルした数がｎｃ以上ある場合（ステップＳ７５でＹｅｓ）には、キャンセル後の合計発音数ｎが所定値ｎｍａｘ以下となるため、新規の発音イベントのうち、キャンセルされなった発音イベントがあれば、その発音イベントの実行が決定され、距離優先発音処理は終了する。キャンセルした数がｎｃ未満である場合（ステップＳ７５でＮｏ）、キャンセル後の合計発音数ｎが所定値ｎｍａｘより依然として多いため、後述する後着優先発音処理（図８のステップＳ６８で実行する処理と同じ）を行う（ステップＳ７６）。
【００５２】
ここで、図６に示す状態における距離優先発音処理について、図８および図９に示す処理の流れに沿って説明する。まず、新規の発音イベントＵ３、Ｗがコールされた時点で、合計発音数ｎ＝７が所定値ｎｍａｘ＝５より多くなる（ステップＳ６４でＮｏ）。このため、制御部３０は、発音継続中の発音イベント（Ｔ，Ｕ１，…，Ｕ２）の中から新規の発音イベントＵ３および／またはＷと同じ分類に属する発音イベントがあるか判定し（ステップＳ６６）、発音イベントＵ３と同じ分類に属する発音継続中の発音イベントＵ１，Ｕ２が存在すると判定する（ステップＳ６６でＹｅｓ）。従って、図６に示す状態においては、制御部３０は、距離優先発音処理（図９）を行う。
【００５３】
そして、合計発音数ｎと所定値ｎｍａｘとの差ｎｃが２と算出される（ステップＳ７１）。つまりこの差の数ｎｃ＝２はゲーム装置１では発音させることができない（キャンセルすべき）発音イベントの数となる。ここで、同じ分類に属する発音イベントＵ１，Ｕ２，Ｕ３の位置と聴取位置との間の聴取距離ＬＣ１，ＬＣ２，ＬＣ３をそれぞれ算出し、これらに設定される優先距離ＬＹＵと比較する（ステップＳ７３）。図６に示すように、優先範囲ＹＵ内に位置する発音イベントは、Ｕ１のみであるため、ＬＣ１＜ＬＹＵ＜ＬＣ２＜ＬＣ３となる。従って、発音イベントＵ１〜Ｕ３のうち発音イベントＵ２，Ｕ３は発音がキャンセルされる（ステップＳ７４）。キャンセルされた発音イベントの数（２）がｎｃ以上であるため（ステップＳ７５）、距離優先発音処理を終了する。その上で制御部３０は、コールされている新規の発音イベントＷの音声データを読み出す。これは、ステップＳ７４において発音イベントをキャンセルしたことにより、新規の発音イベントＷと発音継続中の発音イベントとの合計発音数ｎが５≦ｎｍａｘとなるため（ステップＳ６４でＹｅｓ）、制御部３０は新規の発音イベントＷに対して通常発音処理を行う（図７のステップＳ７において新規の発音イベントの音声データを読み出す）ことにより、発音イベントＷの発音が実行可能となる。
【００５４】
このように、発音数が所定値ｎｍａｘに達した状態で、新たに発生した発音イベントと同じ分類に属する発音イベントが既に発音継続中であり、しかも同じ分類に属する発音イベントのうち聴取位置から遠い優先領域Ｙより外に位置する発音イベントがある場合には、当該発音イベントは発音させないように処理される。これにより、発音数が所定数ｎｍａｘに達した場合に、発音イベントの発生順に拘わらず、同じ分類に属する複数の音のうち聴取位置から近い音の発音を継続させることができるため、発音数が多い場合でもプレイヤに違和感を与えることを防ぐことができる。
【００５５】
さらに、本実施形態においては図５に示すように発音イベントの位置と聴取位置との距離（聴取距離ＬＣ）が離れるほど発音イベントの音量が小さくなる（聴取位置で聞こえる音が小さくなる）ように制御されるため、同じ分類に属する発音イベントのうち聴取距離ＬＣが長い（優先領域Ｙ外の）発音イベントをキャンセルすることにより、同じ分類に属する発音イベントのうち音量の小さい音を優先的にキャンセルすることができるため、発音イベントをキャンセルすることによる影響を小さくすることができ、より自然な発音を実現することができる。
【００５６】
また、発音イベントが属する分類ごとに優先領域Ｙが異なるように設定することができるため、聴取位置からの距離が遠くても発音させたい音や聴取位置からの距離がそれほど離れていなくても発音させなくてもよい音といったように、発音イベントの種類、性質等によって様々に設定することができる。このため、プレイヤに違和感を与えることをより有効に防止することができる。
【００５７】
ここで、聴取位置と発音イベントの位置との関係において別の状態を示す図を用いて、発音イベント選択処理の他の例について説明する。図１０は、発音イベント選択処理の他の例を説明するための模式図である。図１０においても、図６に示す例と同様に、ゲーム装置１が同時に発音できる発音イベントの総数ｎｍａｘを５音とし、これらが発音継続中である場合に、さらに６音目および７音目の発音イベントＵ１，Ｗがコールされた場合について説明する。図６においては発音イベントＵ１に関する優先領域ＹＵのみが示されている。図１０に示す例が図６に示す例と異なる点は、図１０に示す発音イベントのうち、発音イベントＶ１〜Ｖ４のみが同じ分類に属する発音イベントであり、発音継続中の発音イベントの中に新規の発音イベントＵ１，Ｗと同じ分類に属する発音イベントが存在しないことである。コールされた順番は、図１０の下の表に示すように、Ｔ，Ｖ１，Ｖ２，Ｖ３，Ｖ４，Ｕ１，Ｗとする。
【００５８】
この場合、図８のステップＳ６１〜Ｓ６４では図６を参照して説明したのと同様の処理が行われ、ステップＳ６４にてＮｏと判定され、ステップＳ６６に至る。そして、図８に示すステップＳ６６において、発音継続中の発音イベント内に新規の発音イベントと同じ分類に属するものが存在しないと判定され（ステップＳ６６でＮｏ）、制御部３０は、発音継続中の発音イベントのうち発生時期が早いものから順に、新規の発音イベントと同数の発音イベントの発音をキャンセルするとともに、新規の発音イベントの発音を実行する後着優先発音処理を行う（ステップＳ６８）。
【００５９】
図１１は、図８に示すフローチャートにおける後着優先発音処理の流れを示すフローチャートである。まず、制御部３０は、図９に示すステップＳ７１と同様に、合計発音数ｎが所定値ｎｍａｘからどれだけ多いかを演算する（ステップＳ８１）。制御部３０は、合計発音数ｎと所定値ｎｍａｘとの差ｎｃをＲＡＭ１３に記憶させる。図１１に示す例においては、ｎｃ＝２が記憶される。そして、制御部３０は、発音継続中の発音イベントのうち最先にコールされたものからｎｃ分の発音イベントの発音をキャンセルする（ステップＳ８２）。図１１に示す例において、制御部３０は、発音イベントＴおよびＶ１の発音をキャンセルする。これにより、新規の発音イベントＵ１，Ｗの発音を実行することが決定され、図７のステップＳ７において当該新規の発音イベントの音声データが読み出される。
【００６０】
このように、発音数が所定数ｎｍａｘに達した状態で、新規の発音イベントが発生した際、発音継続中の発音イベントの中に新規の発音イベントと同じ分類に属する発音イベントがない場合には、新たにコールされた発音イベントを優先的に発音させることにより、ゲームプログラムの処理負荷の増大を抑制することができる。
【００６１】
さらに、聴取位置と発音イベントの位置との関係において別の状態を示す図を用いて発音イベント選択処理のさらに他の例について説明する。図１２は、発音イベント選択処理の他の例を説明するための模式図である。図１２においても、図６に示す例と同様に、ゲーム装置１が同時に発音できる発音イベントの総数ｎｍａｘを５音とし、これらが発音継続中である場合に、さらに６音目および７音目の発音イベントＵ３，Ｗがコールされた場合について説明する。図１２においても発音イベントＵ１，Ｕ２，Ｕ３に関する優先領域ＹＵのみが示されている。図１２に示す発音イベントのうち、発音イベントＵ１，Ｕ２，Ｕ３および発音イベントＶ１，Ｖ２はそれぞれ同じ分類に属する発音イベントである。コールされた順番は、図１２に示すように、Ｔ，Ｕ１，Ｖ１，Ｖ２，Ｕ２，Ｕ３，Ｗとする。図１２に示す例が図６に示す例と異なる点は、発音イベントＵ２，Ｕ３も優先範囲ＹＵ内に位置していることである。
【００６２】
この場合、図９に示すステップＳ７３において、発音イベントＵ１，Ｕ２，Ｕ３の聴取距離ＬＣ１、ＬＣ２，ＬＣ３は、何れも優先距離ＬＹＵ以下となるため、聴取距離ＬＣが優先距離ＬＹＵより大きい発音イベントは存在しない（ステップＳ７３でＮｏ）。このように、発音継続中の発音イベントの中に新規の発音イベントと同じ分類に属するものが存在し、かつ、制御部３０が該分類に属する発音継続中の発音イベントの発音位置が優先領域Ｙ内にあると判定した場合、制御部３０は、図８のステップＳ６８で実行するのと同様に、発音継続中の発音イベントのうち発生時期が早いものから順に、新規の発音イベントと同数の発音イベントの発音をキャンセルするとともに、新規の発音イベントの発音を実行する後着優先発音処理を行う（ステップＳ７６）。具体的には、制御部３０は、発音継続中の発音イベントのうち最先にコールされたものから合計発音数ｎと所定値ｎｍａｘとの差ｎｃ＝２だけ発音をキャンセルする（ステップＳ８２）。図１２に示す例においては、制御部３０は、１番目にコールされた発音イベントＴおよび２番目にコールされた発音イベントＵ１の発音をキャンセルする。そして、制御部３０は、新規にコールされた発音イベントＵ３，Ｗの発音の実行を決定し、図７のステップＳ７において当該新規の発音イベントの音声データが読み出される）。
【００６３】
なお、上記距離判定（ステップＳ７３）において、同じ分類の発音イベントＵ１，Ｕ２，Ｕ３の中で優先距離ＬＹＵより遠い位置の発音イベントが存在しない場合に、同じ分類の発音イベントの中だけで後着優先を行うこととしてもよい。例えば、図１２の例において、まず、新規の発音イベントＵ３と同じ分類の発音イベントＵ１，Ｕ２に関して後着優先発音処理を行い、発音イベントＵ１，Ｕ２のうち最先にコールされた発音イベントＵ１の発音をキャンセルした上で新規の発音イベントＵ３を発音させ、さらに新規の発音イベントＷを発音させるために、発音継続中の発音イベント全体で後着優先処理を行い、発音イベントＴの発音をキャンセルした上で新規の発音イベントＷを発音させることとしてもよい。
【００６４】
このように、発音継続中の発音イベントのうち新たに発生した発音イベントと同じ分類に属する発音イベントがあっても、新たに発生した発音イベントが優先領域Ｙ内にある場合には、当該新たに発生した発音イベントを優先して発音させることにより、聴取位置に近い位置で新たに発生した音の発生をプレイヤに知らせることができ、プレイヤに違和感を与えることを防ぐことができる。
【００６５】
なお、本実施形態においては、聴取位置である仮想マイクＬを基準として優先領域Ｙを設定し、対応する発音イベントが当該優先領域Ｙ内に位置するか否かで発音処理を異ならせることとしているが、例えば優先領域を各発音イベントの位置を基準にそれぞれ設定し、聴取位置である仮想マイクＬが当該優先領域内に存在するか否かで発音処理を異ならせる（同じ分類の発音イベントのうちそれぞれの優先領域内に仮想マイクＬが位置する発音イベントの発音を優先的に実行する）こととしてもよい。
【００６６】
なお、本実施形態においては、発音イベントが優先領域Ｙ内に位置するか否かで発音イベントの発音をキャンセルする処理が行われる態様について説明したが、同じ分類の発音イベントの聴取距離ＬＣを比較して、聴取位置から少なくとも一番遠い発音イベントの発音をキャンセルすることとしてもよい。これにより、聴取位置における音の聞こえ方において最も影響がないであろう遠い発音イベントはキャンセルすることでプレイヤに違和感を与えることを防止できる。なお、最も近い発音イベント及び最も遠い発音イベントの双方をキャンセルすることとしてもよい。音量が大きいであろう最も近い発音イベントを削除することにより、他の発音イベントの発音がかき消されないようにすることができる。また、聴取位置から最も近い発音イベント以外の発音イベントのうち少なくとも１つの発音をキャンセルすることとしてもよい。これにより、最も近い発音イベントの発音を優先して実行することができるため、重要な発音イベントを優先的に発音させることができる。
【００６７】
なお、本実施形態においては、新規の発音イベントが発生し、発音イベントの合計発音数ｎが所定値ｎｍａｘより多くなった場合、上記制御を行うこととしているが、これに代えて、発音イベントに応じて予め優先度を設定しておき、優先度が所定値より低い発音イベントを削除するまたは優先度が低い順に発音イベントを削除することとしてもよい。優先度は、新規の発音イベントが発生したときの各発音イベントと聴取位置との間の距離に応じて設定（そのときの距離が遠いほど優先度が高く設定）されてもよいし、新規の発音イベントが発生したときの各発音イベントの音量（発音イベントの位置と聴取位置との間の距離と図５に示すようなボリューム変化のグラフから算出される音量）に応じて設定（そのときの音量が小さいほど優先度が低く設定）されてもよい。また、優先度は、上記のようにゲームの進行に応じて優先度が変更される態様に限られず、例えば、ボス敵キャラクタに関する発音イベントはザコ敵キャラクタに関する発音イベントより優先度を高く設定するといったように、発音イベントの種類に応じて設定されてもよい。
【００６８】
上述した説明では、一人のプレイヤがオフラインゲーム（シングルプレイ）を行う場合について例示したが、本発明は、複数のプレイヤが各自のプレイヤキャラクタを同一の仮想空間Ｓ内に登場させ、これらを共同させて行動させるオンラインゲーム（マルチプレイ）においても適用することができる。例えば、仮想空間Ｓに、このような複数のプレイヤキャラクタと共に、上述したようなノンプレイヤキャラクタである味方キャラクタ及び敵キャラクタが存在する場合には、この味方キャラクタの動作に関して本発明を適用することができる。この場合、優先領域Ｙは、シングルプレイのときと、マルチプレイのときとで変化させてもよい。なお、マルチプレイ時において、発音イベントの合計発音数ｎおよび所定値ｎｍａｘ（例えば３２音）は、他のプレイヤの発音イベントも含めて計数される。
【００６９】
また、本実施例では携帯型のゲーム装置について説明したが、据え置き型のゲーム装置、携帯電話機、およびパーソナルコンピュータなどのコンピュータについても、本発明を好適に適用することができる。
【産業上の利用可能性】
【００７０】
本発明は、ゲームプログラム及びゲーム装置において発音数が多い場合でもプレイヤに違和感を与えることを防ぐことができるために有用である。
【符号の説明】
【００７１】
３０ａ  仮想空間生成手段
３０ｂ  キャラクタ制御手段
３０ｃ  発音データ取得手段
３０ｄ  発音数判定手段
３０ｅ  分類判定手段
３０ｆ  発音処理手段
Ｃ  仮想カメラ
Ｌ  仮想マイク（聴取位置）
Ｐ  プレイヤキャラクタ
Ｓ  仮想空間
Ｔ，Ｕ１〜Ｕ３，Ｖ１〜Ｖ４，Ｗ  発音イベント
Ｙ，ＹＵ  優先領域
【図１】
0005538148.tif 000002
【図２】
0005538148.tif 000003
【図３】
0005538148.tif 000004
【図４】
0005538148.tif 000005
【図５】
0005538148.tif 000006
【図６】
0005538148.tif 000007
【図７】
0005538148.tif 000008
【図８】
0005538148.tif 000009
【図９】
0005538148.tif 000010
【図１０】
0005538148.tif 000011
【図１１】
0005538148.tif 000012
【図１２】
0005538148.tif 000013