(57)【特許請求の範囲】
【請求項１】
プレイヤによる操作情報を入力するための操作手段、
ゲーム画像を構成するオブジェクトを記憶したオブジェクト記憶手段、
前記操作情報に基づいて少なくとも２つの前記オブジェクトを含むゲーム画像を表示する画像表示制御手段、
音を出力する、左右２つのスピーカ、
前記ゲーム画像を構成する前記少なくとも２つのオブジェクトが音を発生するサウンドオブジェクトであり、当該サウンドオブジェクトの発生する音に対応する少なくとも１種類の波形データを記憶した波形データ記憶手段、
前記サウンドオブジェクト毎に音の発生位置を示す音発生位置データを記憶した音発生位置データ記憶手段、
少なくとも音の出力指示に従って、前記波形データを読み出して、音データを生成し、生成した音データを音として前記スピーカから出力するサウンド出力制御手段、および
少なくともゲーム中に音を集音する位置を示す集音位置データと集音する集音方向を示す集音方向データとを含むマイクデータを記憶したマイクデータ記憶手段を備えるゲーム装置のゲームサウンド制御プログラムであって、
当該ゲーム装置のプロセサに、
前記サウンドオブジェクト毎に、前記音発生位置データと前記集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、算出した距離に基づいて前記サウンドオブジェクトがそれぞれ発生する音の音量データを算出する音量データ算出ステップ、
前記集音方向データと前記音発生位置データとに基づいて各々の前記サウンドオブジェクトについての定位データを算出する定位算出ステップ、
前記定位算出ステップによって算出された定位データに基づいて、前記各々のサウンドオブジェクトの音量データを、前記スピーカから出力する音の右側音量成分と左側音量成分とに分割する音量成分分割ステップ、
すべての前記サウンドオブジェクトを同じ音を発生するオブジェクトに分類するオブジェクト分類ステップ、
前記同じ音を発生するオブジェクトについて前記音量成分分割ステップによって分割された前記右側音量成分および前記左側音量成分のうち、最大の右側音量成分および最大の左側音量成分を抽出し、当該オブジェクトの波形データと前記最大の右側音量成分および前記最大の左側音量成分とに基づいて、前記サウンド出力制御手段が前記スピーカから音を出力するためのデータを生成する音出力データ生成ステップ、および
前記サウンド出力制御手段に、音の出力指示と前記音出力データ生成ステップによって生成したデータとを与える出力指示ステップ、を実行させる、ゲームサウンド制御プログラム。
【請求項２】
前記音出力データ生成ステップは、前記最大の右側音量成分および前記最大の左側音量成分を、そのまま、出力する音の右側音量成分および左側音量成分とする、請求項１記載のゲームサウンド制御プログラム。
【請求項３】
プレイヤによる操作情報を入力するための操作手段、
ゲーム画像を構成するオブジェクトを記憶したオブジェクト記憶手段、
前記操作情報に基づいて少なくとも２つの前記オブジェクトを含むゲーム画像を表示する画像表示制御手段、
音を出力する、左右２つのスピーカ、
前記ゲーム画像を構成する前記少なくとも２つのオブジェクトが音を発生するサウンドオブジェクトであり、当該サウンドオブジェクトの発生する音に対応する少なくとも１種類の波形データを記憶した波形データ記憶手段、
前記サウンドオブジェクト毎に音の発生位置を示す音発生位置データを記憶した音発生位置データ記憶手段、
少なくとも音の出力指示に従って、前記波形データを読み出して、音データを生成し、生成した音データを音として前記スピーカから出力するサウンド出力制御手段、および
少なくともゲーム中に音を集音する位置を示す集音位置データと集音する集音方向を示す集音方向データとを含むマイクデータを記憶したマイクデータ記憶手段を備えるゲーム装置のゲームサウンド制御プログラムであって、
当該ゲーム装置のプロセサに、
前記サウンドオブジェクト毎に、前記音発生位置データと前記集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、算出した距離に基づいて前記サウンドオブジェクトがそれぞれ発生する音の音量データを算出する音量データ算出ステップ、
前記集音方向データと前記音発生位置データとに基づいて各々の前記サウンドオブジェクトについての定位データを算出する定位算出ステップ、
前記定位算出ステップによって算出された定位データに基づいて、前記各々のサウンドオブジェクトの音量データを、前記スピーカから出力する音の右側音量成分、左側音量成分およびサラウンド音量成分に分割する音量成分分割ステップ、
すべての前記サウンドオブジェクトを同じ音を発生するオブジェクトに分類するオブジェクト分類ステップ、
前記同じ音を発生するオブジェクトについて前記音量成分分割ステップによって分割された前記右側音量成分、前記左側音量成分および前記サラウンド音量成分のうち、最大の右側音量成分、最大の左側音量成分および最大のサラウンド音量成分を抽出し、当該オブジェクトの波形データと前記最大の右側音量成分、前記最大の左側音量成分および前記最大のサラウンド音量成分とに基づいて、前記サウンド出力制御手段が前記スピーカから音を出力するためのデータを生成する音出力データ生成ステップ、および
前記サウンド出力制御手段に、音の出力指示と前記音出力データ生成ステップによって生成したデータとを与える出力指示ステップ、を実行させる、ゲームサウンド制御プログラム。
【請求項４】
前記音発生位置データは、１つの座標データで表されるサウンドオブジェクトの位置データおよび少なくとも２つの座標データで定義されたレールデータにより表される、レールデータを持つサウンドオブジェクトの位置データを含み、
前記レールデータを持つサウンドオブジェクトについて、前記レールデータを表す座標を結ぶ線分上であり、かつ、前記集音位置データに最も接近する位置の座標データを算出する近接座標算出ステップ、
前記音量データ算出ステップは、前記レールデータを持つサウンドオブジェクトの音量データを算出するとき、前記近接座標算出ステップによって算出された座標データと前記集音位置データとから当該サウンドオブジェクトの音量データを算出し、
前記音量成分分割ステップは、前記近接座標算出ステップによって算出された座標データと前記集音位置データとから、前記スピーカから出力する音の右側音量成分、左側音量成分およびサラウンド音量成分のそれぞれに音量データを分割する、請求項３記載のゲームサウンド制御プログラム。
【請求項５】
プレイヤによる操作情報を入力するための操作手段、
ゲーム画像を構成するオブジェクトを記憶したオブジェクト記憶手段、
前記操作情報に基づいて少なくとも２つの前記オブジェクトを含むゲーム画像を表示する画像表示制御手段、
音を出力する、左右２つのスピーカ、
前記ゲーム画像を構成する前記少なくとも２つのオブジェクトが音を発生するサウンドオブジェクトであり、当該サウンドオブジェクトの発生する音に対応する少なくとも１種類の波形データを記憶した波形データ記憶手段、
前記サウンドオブジェクト毎に音の発生位置を示す音発生位置データを記憶した音発生位置データ記憶手段、
少なくとも音の出力指示に従って、前記波形データを読み出して、音データを生成し、生成した音データを音として前記スピーカから出力するサウンド出力制御手段、および
少なくともゲーム中に音を集音する位置を示す集音位置データと集音する集音方向を示す集音方向データを含むマイクデータを記憶したマイクデータ記憶手段を備えるゲーム装置のゲームサウンド制御方法であって、
(a) 前記サウンドオブジェクト毎に、前記音発生位置データと前記集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、算出した距離に基づいて前記サウンドオブジェクトがそれぞれ発生する音の音量データを算出し、
(b)前記集音方向データと前記音発生位置データとに基づいて各々の前記サウンドオブジェクトについての定位データを算出し、
(c)前記ステップ(b)で算出した定位データに基づいて、前記各々のサウンドオブジェクトの音量データを、前記スピーカから出力する音の右側音量成分と左側音量成分とに分割し、
(d)すべての前記サウンドオブジェクトを同じ音を発生するオブジェクトに分類し、
(e)前記同じ音を発生するオブジェクトについて前記ステップ(c)で分割した前記右側音量成分および前記左側音量成分のうち、最大の右側音量成分および最大の左側音量成分を抽出し、当該オブジェクトの波形データと前記最大の右側音量成分および前記最大の左側音量成分とに基づいて、前記サウンド出力制御手段が前記スピーカから音を出力するためのデータを生成し、そして、
(f)前記サウンド出力制御手段に、音の出力指示と前記ステップ(e)で生成したデータとを与える、ゲームサウンド制御方法。
【請求項６】
前記ステップ(e)は、(e-1)前記最大の右側音量成分および前記最大の左側音量成分を、そのまま、出力する音の右側音量成分および左側音量成分とするステップを含む、請求項５記載のゲームサウンド制御方法。
【請求項７】
プレイヤによる操作情報を入力するための操作手段、
ゲーム画像を構成するオブジェクトを記憶したオブジェクト記憶手段、
前記操作情報に基づいて少なくとも２つの前記オブジェクトを含むゲーム画像を表示する画像表示制御手段、
音を出力する、左右２つのスピーカ、
前記ゲーム画像を構成する前記少なくとも２つのオブジェクトが音を発生するサウンドオブジェクトであり、当該サウンドオブジェクトの発生する音に対応する少なくとも１種類の波形データを記憶した波形データ記憶手段、
前記サウンドオブジェクト毎に音の発生位置を示す音発生位置データを記憶した音発生位置データ記憶手段、
少なくとも音の出力指示に従って、前記波形データを読み出して、音データを生成し、生成した音データを音として前記スピーカから出力するサウンド出力制御手段、および
少なくともゲーム中に音を集音する位置を示す集音位置データと集音する集音方向を示す集音方向データを含むマイクデータを記憶したマイクデータ記憶手段を備えるゲーム装置のゲームサウンド制御方法であって、
(a) 前記サウンドオブジェクト毎に、前記音発生位置データと前記集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、算出した距離に基づいて前記サウンドオブジェクトがそれぞれ発生する音の音量データを算出し、
(b)前記集音方向データと前記音発生位置データとに基づいて各々の前記サウンドオブジェクトについての定位データを算出し、
(c)前記ステップ(b)で算出した定位データに基づいて、前記各々のサウンドオブジェクトの音量データを、前記スピーカから出力する音の右側音量成分、左側音量成分およびサラウンド音量成分に分割し、
(d)すべての前記サウンドオブジェクトを同じ音を発生するオブジェクトに分類し、
(e)前記同じ音を発生するオブジェクトについて前記ステップ(c)で分割した前記右側音量成分、前記左側音量成分および前記サラウンド音量成分のうち、最大の右側音量成分、最大の左側音量成分および最大のサラウンド音量成分を抽出し、当該オブジェクトの波形データと前記最大の右側音量成分、前記最大の左側音量成分および前記最大のサラウンド音量成分とに基づいて、前記サウンド出力制御手段が前記スピーカから音を出力するためのデータを生成し、そして、
(f)前記サウンド出力制御手段に、音の出力指示と前記ステップ(e)で生成したデータとを与える、ゲームサウンド制御方法。
【請求項８】
前記音発生位置データは、１つの座標データで表される点音源位置データおよび少なくとも２つの座標データで定義されたレールデータにより表される、レールデータを持つレールデータ音源位置データを含み、
(g)前記レールデータを持つサウンドオブジェクトについて、前記レールデータを表す座標を結ぶ線分上であり、かつ、前記集音位置データに最も接近する位置の座標データを算出するステップをさらに備え、
前記ステップ(a)は、前記レールデータを持つサウンドオブジェクトの音量データを算出するとき、前記ステップ(g)によって算出された座標データと前記集音位置データとから当該サウンドオブジェクトの音量データを算出し、
前記ステップ(c)は、前記ステップ(g)によって算出された座標データと前記集音位置データとから、前記スピーカから出力する音の右側音量成分、左側音量成分およびサラウンド音量成分のそれぞれに音量データを分割する、請求項７記載のゲームサウンド制御方法。
【請求項９】
プレイヤによる操作情報を入力するための操作手段を備え、操作手段の操作に応じてゲームを進行させて、少なくとも２つのオブジェクトを含むゲーム画面を表示するとともに、音を出力する左右２つのスピーカから、ゲーム画面に関連する音を発生するよう構成されたゲーム装置であって、
前記少なくとも２つのオブジェクトが音を発生するサウンドオブジェクトであり、当該サウンドオブジェクトの発生する音に対応する少なくとも１種類の波形データを記憶した波形データ記憶手段、
前記サウンドオブジェクト毎に音の発生位置を示す音発生位置データを記憶した音発生位置データ記憶手段、
少なくとも音の出力指示に従って、前記波形データを読み出して、音データを生成し、生成した音データを音として前記スピーカから出力するサウンド出力制御手段、
少なくともゲーム中に音を集音する位置を示す集音位置データと集音する集音方向を示す集音方向データとを含むマイクデータを記憶したマイクデータ記憶手段、
前記サウンドオブジェクト毎に、前記音発生位置データと前記集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、算出した距離に基づいて前記サウンドオブジェクトがそれぞれ発生する音の音量データを算出する音量データ算出手段、
前記集音方向データと前記音発生位置データとに基づいて各々の前記サウンドオブジェクトについての定位データを算出する定位算出手段、
前記定位算出手段によって算出された定位データに基づいて、前記各々のサウンドオブジェクの音量データを、前記スピーカから出力する音の右側音量成分と左側音量成分とに分割する音量成分分割手段、
すべての前記サウンドオブジェクトを同じ音を発生するオブジェクトに分類するオブジェクト分類手段、
前記同じ音を発生するオブジェクトについて前記音量成分分割手段によって分割された前記右側音量成分および前記左側音量成分のうち、最大の右側音量成分および最大の左側音量成分を抽出し、当該オブジェクトの波形データと前記最大の右側音量成分および前記最大の左側音量成分とに基づいて、前記サウンド出力制御手段が前記スピーカから音を出力するためのデータを生成する音出力データ生成手段、および
前記サウンド出力制御手段に、音の出力指示と前記音出力データ生成手段によって生成されたデータとを与える出力指示手段を備える、ゲーム装置。
【請求項１０】
前記音出力データ生成手段は、前記最大の右側音量成分および前記最大の左側音量成分を、そのまま、出力する音の右側音量成分および左側音量成分とする、請求項９記載のゲーム装置。
【請求項１１】
プレイヤによる操作情報を入力するための操作手段を備え、操作手段の操作に応じてゲームを進行させて、少なくとも２つのオブジェクトを含むゲーム画面を表示するとともに、音を出力する左右２つのスピーカから、ゲーム画面に関連する音を発生するよう構成されたゲーム装置であって、
前記少なくとも２つのオブジェクトが音を発生するサウンドオブジェクトであり、当該サウンドオブジェクトの発生する音に対応する少なくとも１種類の波形データを記憶した波形データ記憶手段、
前記サウンドオブジェクト毎に音の発生位置を示す音発生位置データを記憶した音発生位置データ記憶手段、
少なくとも音の出力指示に従って、前記波形データを読み出して、音データを生成し、生成した音データを音として前記スピーカから出力するサウンド出力制御手段、
少なくともゲーム中に音を集音する位置を示す集音位置データと集音する集音方向を示す集音方向データとを含むマイクデータを記憶したマイクデータ記憶手段、
前記サウンドオブジェクト毎に、前記音発生位置データと前記集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、算出した距離に基づいて前記サウンドオブジェクトがそれぞれ発生する音の音量データを算出する音量データ算出手段、
前記集音方向データと前記音発生位置データとに基づいて各々の前記サウンドオブジェクトについての定位データを算出する定位算出手段、
前記定位算出手段によって算出された定位データに基づいて、前記各々のサウンドオブジェクの音量データを、前記スピーカから出力する音の右側音量成分、左側音量成分およびサラウンド音量成分に分割する音量成分分割手段、
すべての前記サウンドオブジェクトを同じ音を発生するオブジェクトに分類するオブジェクト分類手段、
前記同じ音を発生するオブジェクトについて前記音量成分分割手段によって分割された前記右側音量成分、前記左側音量成分および前記サラウンド音量成分のうち、最大の右側音量成分、最大の左側音量成分および最大のサラウンド音量成分を抽出し、当該オブジェクトの波形データと前記最大の右側音量成分、前記最大の左側音量成分および前記最大のサラウンド音量成分に基づいて、前記サウンド出力制御手段が前記スピーカから音を出力するためのデータを生成する音出力データ生成手段、および
前記サウンド出力制御手段に、音の出力指示と前記音出力データ生成手段によって生成されたデータとを与える出力指示手段を備える、ゲーム装置。
【請求項１２】
前記サウンド発生位置データは、１つの座標データで表されるサウンドオブジェクト位置データおよび少なくとも２つの座標データで定義されたレールデータを持つサウンドオブジェクトの位置データを含み、
前記レールデータを持つサウンドオブジェクトについて、前記レールデータを表す座標を結ぶ線分上であり、かつ、前記マイクデータ記憶手段に記憶されている前記集音位置データに最も接近する位置の座標データを算出する近接座標算出手段をさらに備え、
前記音量データ算出手段は、前記レールデータを持つサウンドオブジェクトの音量データを算出するとき、前記近接座標算出手段によって算出された座標データと前記集音位置データとから当該サウンドオブジェクトの音量データを算出し、
前記音量成分分割手段は、前記近接座標算出手段によって算出された座標データと前記集音方向データとから、前記スピーカから出力する音の右側音量成分、左側音量成分およびサラウンド音量成分のそれぞれに音量データを分割する、請求項１１記載のゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はゲームサウンド制御プログラム、ゲームサウンド制御方法およびゲーム装置に関し、特にたとえば、プレイヤによる操作情報を入力するための操作手段を備え、操作手段の操作に応じてゲームを進行させて、少なくとも２つのオブジェクトを含むゲーム画面を表示するとともに、ゲーム画面に関連する音を発生する、ゲームサウンド制御プログラム、ゲームサウンド制御方法およびゲーム装置に関する。
【背景技術】
【０００２】
一般的に、仮想３次元空間内で展開されるゲームにおいて、たとえば松明などが表示されているような場合、プレイヤの操作するキャラクタ（プレイヤキャラクタ）が松明などの、音を発生するサウンドオブジェクトに近づくと、松明の燃える音が大きくなる処理が行われる。このとき、松明がプレイヤキャラクタの周りに複数存在すると、松明の数だけ音源を発音させて、松明の燃える音を再生していた。ただし、音源の発音数が最大同時発音数を越える場合には、優先順位を付けて、たとえば遠くに在る松明については音を出さないようにして、音源の発音数を節約していた。
【０００３】
また、このようなゲームでは、松明が画面の右斜め前に在るとすれば、音源の右ボリュームを上げ、左ボリュームを下げることにより、あたかも松明の音が右斜め前から聞こえてくるように処理していた。さらに、サラウンド成分を処理可能であれば、松明の音がプレイヤの後方から鳴っているとか、音に囲まれているかのような鳴らし方で処理することが可能であった。
【０００４】
また、従来技術の一例が特許文献１に開示される。この特許文献１に開示される音再生装置では、聞き手の頭の位置を原点とし、聞き手の顔の正面向きに延びる軸を所定角度で回転させた回転軸によって、配置されたすべてのサウンドオブジェクトをいくつかのグループに分けて、１つのグループに含まれる１または複数のサウンドオブジェクトの音を音源の１つの発音だけで発生するようにしていた。
【特許文献１】特開２０００−１３９００号公報（第５頁〜第６頁，第１図〜第６図）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、前者のように、優先順位を付けて音源を節約する場合には、さほど重要ではないが、音場（仮想３次元空間）の雰囲気として鳴ってほしい音、たとえば環境音等が消されてしまうと、ゲームの臨場感を消失してしまうという問題があった。また、左右に松明が在るときに、右の松明の音だけが消されてしまうと、左右の松明対して左の松明だけが燃える音がするなどの違和感もあった。
【０００６】
また、後者の場合には、グループ分けに際して方向を決めるため、音を発生するオブジェクト全てについて音を集音する位置に対する角度を求める必要があり、したがって、計算処理が膨大であり、処理負担が大きく、本来的なゲーム処理に遅れが生じてしまうという問題があった。
【０００７】
それゆえに、この発明の主たる目的は、新規な、ゲームサウンド制御プログラムを記憶した記憶媒体、ゲームサウンド制御方法およびゲーム装置を提供することである。
【０００８】
この発明の他の目的は、効率的に音源を使用できる、ゲームサウンド制御プログラムを記憶した記憶媒体、ゲームサウンド制御方法およびゲーム装置を提供することである。
【課題を解決するための手段】
【０００９】
請求項１の発明は、操作手段、オブジェクト記憶手段、画像表示制御手段、スピーカ、波形データ記憶手段、音発生位置データ記憶手段、サウンド出力制御手段、およびマイクデータ記憶手段を備えるゲーム装置のコンピュータによって実行されるゲームサウンド制御プログラムである。
【００１０】
操作手段は、プレイヤによる操作情報を入力する。オブジェクト記憶手段は、ゲーム画像を構成するオブジェクトを記憶している。画像表示制御手段は、操作手段によって入力されるプレイヤによる操作情報に基づいて少なくとも２つのオブジェクトを含むゲーム画像を表示する。スピーカは左右２つ備えられ、音を出力する。波形データ記憶手段は、ゲーム画像を構成する少なくとも２つのオブジェクトが音を発生するサウンドオブジェクトであり、当該サウンドオブジェクトの発生する音に対応する少なくとも１種類の波形データを記憶している。音発生位置データ記憶手段は、サウンドオブジェクト毎に音の発生位置を示す音発生位置データを記憶している。サウンド出力制御手段は、少なくとも音の出力指示に従って、波形データを読み出して、音データを生成し、生成した音データを音としてスピーカから出力する。そして、マイクデータ記憶手段は、少なくともゲーム中に音を集音する位置を示す集音位置データと集音する集音方向を示す集音方向データとを含むマイクデータを記憶している。
【００１１】
ゲームサウンド制御プログラムは、音量データ算出ステップ、定位算出ステップ、音量成分分割ステップ、オブジェクト分類ステップ、音出力データ生成ステップおよび音出力指示ステップによって構成される。
【００１２】
音量データ算出ステップは、サウンドオブジェクト毎に、音発生位置データと集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、算出した距離に基づいてサウンドオブジェクトがそれぞれ発生する音の音量データを算出する。定位算出ステップは、集音方向データと音発生位置データとに基づいて、各々のサウンドオブジェクトについての定位データを算出する。音量成分分割ステップは、定位算出ステップによって算出された定位データに基づいて、各サウンドオブジェクトの音量データを、スピーカから出力する音の右側音量成分と左側音量成分とに分割する。オブジェクト分類ステップは、すべてのサウンドオブジェクトを同じ音を発生するオブジェクトに分類する。音出力データ生成ステップは、同じ音を発生するオブジェクトについて、音量成分分割ステップによって分割された右側音量成分および左側音量成分のうち、最大の右側音量成分および最大の左側音量成分を抽出し、当該オブジェクトの波形データと最大の右側音量成分および最大の左側音量成分とに基づいて、サウンド出力制御手段がスピーカから音を出力するためのデータを生成する。そして、出力指示ステップは、サウンド出力制御手段に、音の出力指示と音出力データ生成ステップによって生成したデータとを与える。
【００１３】
請求項１の発明では、ゲーム装置（１２：実施例で相当する参照番号。以下、同じ。）には、プレイヤによる操作情報を入力するための操作手段（１６，２２）が接続される。その操作情報に基づいて少なくとも２つのオブジェクトを含むゲーム画像（８０）が画像表示制御手段（３６、Ｓ１１）によって表示される。このゲーム画像（８０）を構成するオブジェクト（８２，８４，８８）は、オブジェクト記憶手段（４０）に記憶される。たとえば、ゲーム画像（８０）を構成する少なくとも２つのオブジェクトが音を発生するサウンドオブジェクト（８４，８８）であり、当該サウンドオブジェクト（８４，８８）の発生する音に対応する少なくとも１種類の波形データが波形データ記憶手段（５４）に記憶される。当該サウンドオブジェクトの音は、左右２つのスピーカ（３４ａ，３４ａ）から出力される。また、サウンドオブジェクト（８４，８８）毎に音の発生位置を示す音発生位置データ（７２２ｂ，７２６ｂ，７３０ｂ）が音発生位置データ記憶手段（４０）に記憶される。さらに、少なくともゲーム中に音を集音する位置を示す集音位置データ（７４ａ）と、集音する集音方向を示す集音方向データ（７４ｂ）とを含むマイクデータがマイクデータ記憶手段７４に記憶される。このような構成のゲーム装置のプロセサによって、ゲームサウンド制御プログラムは実行される。具体的には、音量データ算出ステップ（３６，Ｓ３１）は、音発生位置データ（７２２ｂ，７２６ｂ，７３０ｂ）とマイクデータとからサウンドオブジェクト（８４，８８）毎に、音発生位置データと集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、その距離に基づいて音量データを算出する。そして、定位算出ステップ（３６，Ｓ３３）が、集音方向データと音発生位置データとに基づいて、各々のサウンドオブジェクトについての定位データを算出する。すると、音量成分分割ステップ（３６，Ｓ４３）が、定位算出ステップによって算出された定位データに基づき、音量データ算出ステップ（３６，Ｓ３１）によって算出された音量データを、スピーカ（３４ａ，３４ａ）から出力する音の右側音量成分と左側音量成分とに分割する。オブジェクト分類ステップ（３６，Ｓ３９）は、すべてのサウンドオブジェクト（８４，８８）を、同じ音を発生するオブジェクトに分類する。オブジェクトが分類されると、音出力データ生成ステップ（３６，Ｓ５１）は、同じ音を発生するオブジェクトについて、音量成分分割ステップ（３６，Ｓ４３）によって分割された右側音量成分および左側音量成分のうち、最大の右側音量成分および最大の左側音量成分を抽出し、当該オブジェクトの波形データと最大の右側音量成分および最大の左側音量成分とに基づいて、サウンド出力制御手段（５２）がスピーカ（３４ａ，３４ａ）から音を出力するためのデータを生成する。そして、出力指示ステップ（３６，Ｓ５３）は、音の出力指示と音出力データ生成ステップ（３６，Ｓ５１）によって生成したデータとを、サウンド出力制御手段（５２）に与える。したがって、生成されたデータに基づいて、サウンド出力制御手段（５２）がスピーカ（３４ａ，３４ａ）から音を出力するので、分類されたオブジェクトの発生する音が、１つにまとめられてスピーカ（３４ａ，３４ａ）から聞こえる。
【００１４】
請求項１の発明によれば、同じ種類のサウンドオブジェクトについての音を音源の１つの発音だけで出力するので、音源を効率的に使用することができる。
【００１５】
請求項２の発明は、請求項１に従属し、音出力データ生成ステップは、最大の右側音量成分および最大の左側音量成分を、そのまま、出力する音の右側音量成分および左側音量成分とする。
【００１６】
請求項２の発明によれば、音出力データ生成ステップ（３６，Ｓ５１）は、抽出された最大の右側音量成分および最大の左側音量成分を、そのまま、出力する音の右側音量成分および左側音量成分とするので、分類されたサウンドオブジェクトが発生する音を、音源の１つの発音だけで出力することができる。
【００１７】
請求項３の発明は、操作手段、オブジェクト記憶手段、画像表示制御手段、波形データ記憶手段、音発生位置データ記憶手段、およびマイクデータ記憶手段を備えるゲーム装置のプロセサによって実行されるゲームサウンド制御プログラムである。
操作手段は、プレイヤによる操作情報を入力する。オブジェクト記憶手段は、ゲーム画像を構成するオブジェクトを記憶している。画像表示制御手段は、操作情報に基づいて少なくとも２つのオブジェクトを含むゲーム画像を表示する。スピーカは、左右２つ備えられ、音を出力する。波形データ記憶手段は、ゲーム画像を構成する少なくとも２つのオブジェクトが音を発生するサウンドオブジェクトであり、当該サウンドオブジェクトの発生する音に対応する少なくとも１種類の波形データを記憶している。音発生位置データ記憶手段は、サウンドオブジェクト毎に音の発生位置を示す音発生位置データを記憶している。サウンド出力制御手段は、少なくとも音の出力指示に従って、波形データを読み出して、音データを生成し、生成した音データを音としてスピーカから出力する。そして、マイクデータ記憶手段は、少なくともゲーム中に音を集音する位置を示す集音位置データと集音する集音方向を示す集音方向データとを含むマイクデータを記憶している。
サウンド制御プログラムは、音量データ算出ステップ、定位算出ステップ、音量成分分割ステップ、オブジェクト分類ステップ、音出力データ生成ステップおよび音出力指示ステップによって構成される。
音量データ算出ステップは、サウンドオブジェクト毎に、音発生位置データと集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、算出した距離に基づいてサウンドオブジェクトがそれぞれ発生する音の音量データを算出する。定位算出ステップは、集音方向データと音発生位置データとに基づいて各々のサウンドオブジェクトについての定位データを算出する。音量成分分割ステップは、定位算出ステップによって算出された定位データに基づいて、各々のサウンドオブジェクトの音量データを、スピーカから出力する音の右側音量成分、左側音量成分およびサラウンド音量成分に分割する。オブジェクト分類ステップは、すべてのサウンドオブジェクトを同じ音を発生するオブジェクトに分類する。音出力データ生成ステップは、同じ音を発生するオブジェクトについて音量成分分割ステップによって分割された右側音量成分、左側音量成分およびサラウンド音量成分のうち、最大の右側音量成分、最大の左側音量成分および最大のサラウンド音量成分を抽出し、当該オブジェクトの波形データと最大の右側音量成分、最大の左側音量成分および最大のサラウンド音量成分とに基づいて、サウンド出力制御手段がスピーカから音を出力するためのデータを生成する。そして、出力指示ステップは、サウンド出力制御手段に、音の出力指示と音出力データ生成ステップによって生成したデータとを与える。
【００１８】
請求項３の発明によれば、音量成分分割ステップ（３６，Ｓ４３）は、音発生位置データ（７２２ｂ，７２６ｂ，７３０ｂ）とその集音方向データ（７４ｂ）とからサウンドオブジェクトが発生する音の音量データを、スピーカ（３４ａ，３４ａ）から出力する音の右側音量成分、左側音量成分およびサラウンド音量成分に分割する。したがって、音出力データ生成ステップ（３６，Ｓ５１）は、同じ音を発生するオブジェクトについて、音量成分分割ステップ（３６，Ｓ４３）によって分割された右側音量成分、左側音量成分およびサラウンド音量成分のうち、最大の右側音量成分、最大の左側音量成分および最大のサラウンド音量成分を抽出し、当該オブジェクトの波形データと最大の右側音量成分、最大の左側音量成分および最大のサラウンド音量成分とに基づいて、サウンド出力制御手段（５２）がスピーカ（３４ａ，３４ａ）から音を出力するためのデータを生成することができる。
【００２１】
請求項４の発明は、請求項３に従属し、音発生位置データは、１つの座標データで表されるサウンドオブジェクトの位置データおよび少なくとも２つの座標データで定義されたレールデータにより表される、レールデータを持つサウンドオブジェクトの位置データを含み、レールデータを持つサウンドオブジェクトについて、レールデータを表す座標を結ぶ線分上であり、かつ、集音位置データに最も接近する位置の座標データを算出する近接座標算出ステップ、音量データ算出ステップは、レールデータを持つサウンドオブジェクトの音量データを算出するとき、近接座標算出ステップによって算出された座標データと集音位置データとから当該サウンドオブジェクトの音量データを算出し、音量成分分割ステップは、近接座標算出ステップによって算出された座標データと集音位置データとから、スピーカから出力する音の右側音量成分、左側音量成分およびサラウンド音量成分のそれぞれに音量データを分割する。
【００２２】
請求項４の発明によれば、音発生位置データは、１つの座標データで表される点のサウンドオブジェクトの位置データおよび少なくとも２つの座標データで定義されたレールデータを持つサウンドオブジェクトの位置データを含み、レールデータを持つサウンドオブジェクトについて、レールデータを表す座標を結ぶ線分上であり、かつ、集音位置データに最も接近する位置の座標データを算出する近接座標算出ステップをさらに備え、音量データ算出ステップは、レールデータを持つサウンドオブジェクトの音量データを算出するとき、近接座標算出ステップにより算出された座標データと集音位置データとから当該サウンドオブジェクトの音量データを算出し、音量成分分割ステップは、近接座標算出ステップによって算出された座標データと集音位置データとから、スピーカから出力する音の右側音量成分、左側音量成分およびサラウンド音量成分のそれぞれに音量データを分割する。
【００２３】
具体的には、音発生位置データ（７２２ｂ，７２６ｂ，７３０ｂ）は、１つの座標データで表されるサウンドオブジェクトの位置データ（７２２ｂ，７２６ｂ）および少なくとも２つの座標データで定義されるレールデータにより表されるレールデータサウンドオブジェクトの位置データ（７３０ｂ）を含む。近接座標算出ステップ（３６，Ｓ６３）は、レールデータを持つサウンドオブジェクト（８８）について、レールデータを表す線分上であり、集音位置データ（７４ａ）に最も接近する位置の座標データを算出する。音量データ算出ステップ（３６，Ｓ３１）は、レールデータを持つサウンドオブジェクトの音量データを算出する場合には、近接座標算出ステップ（３６，Ｓ６３）によって算出された座標データとマイクデータとから当該サウンドオブジェクト（８８）の音量データを算出する。つまり、レールデータの線分上であり、集音位置データ（７４ａ）に最も接近する位置にサウンドオブジェクトの音が存在するとみなして、当該音の音量データを算出して、音源の発音数を低減している。したがって、音量成分分割ステップ（３６，Ｓ４３）は、レールデータを持つサウンドオブジェクト（８８）の音量データを成分に分割するとき、近接座標算出ステップ（３６，Ｓ６３）によって算出された座標データと集音方向データ（７４ｂ）とから、スピーカ（３４ａ，３４ａ）から出力する音の右側音量成分、左側音量成分およびサラウンド音量成分に分割する。つまり、少なくとも２つの座標データで定義されるレールデータをサウンドオブジェクトの音とみなして音源の発音数を低減するので、１つの座標データで表されるサウンドオブジェクトが複数存在する場合と同様に扱うことができる。
【００２４】
請求項５の発明は、操作手段、オブジェクト記憶手段、画像表示制御手段、スピーカ、波形データ記憶手段、音発生位置データ記憶手段、サウンド出力制御手段、およびマイクデータ記憶手段を備えるゲーム装置のコンピュータによって実行されるゲームサウンド制御方法である。
【００２５】
操作手段は、プレイヤによる操作情報を入力する。オブジェクト記憶手段は、ゲーム画像を構成するオブジェクトを記憶している。画像表示制御手段は、操作手段によって入力されるプレイヤによる操作情報に基づいて少なくとも２つのオブジェクトを含むゲーム画像を表示する。スピーカは音を出力し、左右２つ備えられる。波形データ記憶手段は、ゲーム画像を構成する少なくとも２つのオブジェクトが音を発生するサウンドオブジェクトであり、当該サウンドオブジェクトの発生する音に対応する少なくとも１種類の波形データを記憶している。音発生位置データ記憶手段は、サウンドオブジェクト毎に音の発生位置を示す音発生位置データを記憶している。サウンド出力制御手段は、少なくとも音の出力指示に従って、波形データを読み出して、音データを生成し、生成した音データを音としてスピーカから出力する。そして、マイクデータ記憶手段は、少なくともゲーム中に音を集音する位置を示す集音位置データと、集音する集音方向を示す集音方向データとを含むマイクデータを記憶している。
【００２６】
ゲームサウンド制御方法では、(a) サウンドオブジェクト毎に、音発生位置データと集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、算出した距離に基づいてサウンドオブジェクトがそれぞれ発生する音の音量データを算出し、(b)集音方向データと音発生位置データとに基づいて各々のサウンドオブジェクトについての定位データを算出し、(c)ステップ(b)で算出した定位データに基づいて、各々のサウンドオブジェクトの音量データを、スピーカから出力する音の右側音量成分と左側音量成分とに分割し、(d)すべてのサウンドオブジェクトを同じ音を発生するオブジェクトに分類し、(e)同じ音を発生するオブジェクトについてステップ(c)で分割した右側音量成分および左側音量成分のうち、最大の右側音量成分および最大の左側音量成分を抽出し、当該オブジェクトの波形データと最大の右側音量成分および最大の左側音量成分とに基づいて、サウンド出力制御手段がスピーカから音を出力するためのデータを生成し、そして(f)サウンド出力制御手段に、音の出力指示とステップ(e)で生成したデータとを与える。
【００２７】
請求項９の発明は、プレイヤによる操作情報を入力するための操作手段を備え、操作手段の操作に応じてゲームを進行させて、少なくとも２つのオブジェクトを含むゲーム画面を表示するとともに、音を出力する左右２つのスピーカから、ゲーム画面に関連する音を発生するよう構成されたゲーム装置である。このゲーム装置は、波形データ記憶手段、音発生位置データ記憶手段、サウンド出力制御手段、マイクデータ記憶手段、音量データ算出手段、定位算出手段、音量成分分割手段、オブジェクト分類手段、音出力データ生成手段、および出力指示手段をさらに備える。
【００２８】
請求項５の発明および請求項９の発明においても、請求項１の発明と同様に、音源の発音数を減らすことができるので、音源を効率的に使用することができる。
【発明の効果】
【００２９】
この発明によれば、同じ種類のサウンドオブジェクトについて、音の発生源を１つにまとめるので、音源を効率的に使用することができる。
【００３０】
また、この発明によれば、音の発生源を１つにまとめるときに、違和感無くまとめることができるので、音源を効率的に使用しながら、しかもプレイヤに違和感や不自然さを感じさせることがない。
【００３１】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００３２】
図１を参照して、この実施例のビデオゲームシステム１０はビデオゲーム装置１２を含む。ビデオゲーム装置１２は、略立方体のハウジング１４を含み、ハウジング１４の上端に光ディスクドライブ１６を備える。光ディスクドライブ１６には、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク１８が装着される。ハウジング１４の前面には複数の（実施例では４つの）コネクタ２０が備えられる。これらコネクタ２０は、ケーブル２４によって、コントローラ２２をビデオゲーム装置１２に接続するためのものであり、この実施例では最大４つのコントローラ２２をビデオゲーム装置１２に接続することができる。
【００３３】
コントローラ２２は、その上面，下面，或いは側面などに、操作手段（コントロール）２６を備える。操作手段２６は，たとえば２つのアナログジョイスティック，１つの十字キー，複数のボタンスイッチ等を含む。１つのアナログジョイスティックは、スティックの傾き量と方向とによって、プレイヤキャラクタ（プレイヤがコントローラ２２によって操作可能な動画キャラクタ）の移動方向および／または移動速度ないし移動量などを入力するために用いられる。他のアナログジョイスティックは、傾斜方向によって、仮想カメラの移動を制御する。十字スイッチは、アナログジョイスティックに代えてプレイヤキャラクタの移動方向を指示するために用いられる。ボタンスイッチは、プレイヤキャラクタの動作を指示するために利用されたり、３次元画像の仮想カメラの視点を切り換えたり、プレイヤキャラクタの移動スピード調節等に用いられる。ボタンスイッチは、さらに、たとえばメニュー選択やポインタあるいはカーソル移動を制御するのに用いられる。
【００３４】
ビデオゲーム装置１２のハウジング１４の前面のコネクタ２０の下方には、少なくとも１つの（この実施例では２つの）メモリスロット２８が備えられる。このメモリスロット２８にはメモリカード３０が挿入される。メモリカード３０は、光ディスク１８から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム１０を利用してプレイしたゲームのゲームデータ（たとえばゲームの結果）を保存（セーブ）しておいたりするために利用される。
【００３５】
ビデオゲーム装置１２のハウジング１４の後面は、ＡＶケーブルコネクタ（図示せず）を備え、そのコネクタを介して、ＡＶケーブル３２を通してビデオビデオゲーム装置１２にモニタ３４を接続する。このモニタ３４は典型的にはカラーテレビジョン受像機であり、ＡＶケーブル３２は、ビデオゲーム装置１２からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号が音声入力端子に入力される。したがって、カラーテレビ（モニタ）３４の画面上にたとえば３次元（３Ｄ）ビデオゲームのゲーム画像が表示され、左右のスピーカ３４ａからゲーム音楽や効果音などのステレオゲーム音声、または２スピーカであってもサラウンド効果を出すことが可能な場合は、サラウンド音声を含むゲーム音声が出力される。
【００３６】
このゲームシステム１０において、ユーザまたはゲームプレイヤがゲーム（または他のアプリケーション）をプレイするために、ユーザはまずゲーム装置１２の電源をオンし、次いで、ユーザはビデオゲーム（もしくはプレイしたいと思う他のアプリケーション）をストアしている適宜の光ディスク１８を選択し、その光ディスク１８をゲーム装置１２のディスクドライブ１６にローディングする。応じて、ゲーム装置１２がその光ディスク１８にストアされているソフトウェアに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはゲーム装置１２に入力を与えるためにコントローラ２２を操作する。たとえば、操作手段２６のどれかを操作することによってゲームもしくは他のアプリケーションをスタートさせる。操作手段２６の他のものを動かすことによって、動画キャラクタ（プレイヤキャラクタ）を異なる方向に移動させ、または３次元（３Ｄ）のゲーム世界におけるユーザの視点（カメラ位置）を変化させることができる。
【００３７】
図２は図１実施例のビデオゲームシステム１０の電気的な構成を示すブロック図である。ビデオゲーム装置１２は、中央処理ユニット（以下、「ＣＰＵ」という。）３６を含む。このＣＰＵ３６は、コンピュータ或いはプロセサなどとも呼ばれ、ビデオゲーム装置１２の全体的な制御を担当する。ＣＰＵ３６ないしコンピュータは、ゲームプロセサとして機能し、このＣＰＵ３６には、バスを介して、メモリコントローラ３８が接続される。メモリコントローラ３８は主として、ＣＰＵ３６の制御の下で、バスを介して結合されるメインメモリ４０の書込みや読出しを制御する。このメモリコントローラ３８にはＧＰＵ(Graphics Processing Unit:グラフィックス処理装置) ４２が接続される。
【００３８】
ＧＰＵ４２は、描画手段の一部を形成し、たとえばシングルチップＡＳＩＣで構成され、メモリコントローラ３８を介してＣＰＵ３６からのグラフィクスコマンド(graphics command ：作画命令) を受け、そのコマンドに従って、ジオメトリユニット４４およびレンダリングユニット４６によって３次元（３Ｄ）ゲーム画像を生成する。つまり、ジオメトリユニット４４は、３次元座標系の各種キャラクタやオブジェクト（複数のポリゴンで構成されている。そして、ポリゴンとは少なくとも３つの頂点座標によって定義される多角形平面をいう）の回転，移動，変形等の座標演算処理を行う。レンダリングユニット４６は、各種オブジェクトの各ポリゴンにテクスチャ（Texture ：模様画像）を貼り付けるなどの画像生成処理を行う。したがって、ＧＰＵ４２によって、ゲーム画面上に表示すべき３Ｄ画像データが作成され、その画像データ（テクスチャデータ）がフレームバッファ４８内に描画（記憶）される。
【００３９】
なお、ＧＰＵ４２が作画コマンドを実行するにあたって必要なデータ（プリミティブまたはポリゴンやテクスチャ等）は、ＧＰＵ４２がメモリコントローラ３８を介して、メインメモリ４０にアクセスして取得する。
【００４０】
フレームバッファ４８は、たとえばラスタスキャンモニタ３４の１フレーム分の画像データを描画（蓄積）しておくためのメモリであり、ＧＰＵ４２によって１フレーム毎に書き換えられる。後述のビデオＩ／Ｆ５８がメモリコントローラ３８を介してフレームバッファ４８のデータを読み出すことによって、モニタ３４の画面上に３Ｄゲーム画像が表示される。
【００４１】
また、Ｚバッファ５０は、フレームバッファ４８に対応する画素（記憶位置またはアドレス）数×１画素当たりの奥行データのビット数に相当する記憶容量を有し、フレームバッファ４８の各記憶位置に対応するドットの奥行き情報または奥行データ（Ｚ値）を記憶する。
【００４２】
なお、フレームバッファ４８およびＺバッファ５０は、ともにメインメモリ４０の一部を用いて構成されてもよい。
【００４３】
メモリコントローラ３８はまた、ＤＳＰ(Digital Signal Processor)５２を介して、ＡＲＡＭ５４に接続される。したがって、メモリコントローラ３８は、メインメモリ４０だけでなく、サブメモリとしてのＡＲＡＭ５４の書込みおよび／または読出しを制御する。
【００４４】
ＤＳＰ５２は、サウンドプロセサとして働き、メインメモリ４０に記憶されたサウンドデータ（図３参照）にアクセスしたり、ＡＲＡＭ５４に書き込まれている音波形データ（図６参照）にアクセスしたりして、ゲームに必要な音、音声或いは音楽に対応するオーディオデータを生成する。たとえば、この実施例では、ＤＳＰ５２は、後で詳細に説明する“松明”、“川”のようなサウンドオブジェクトが発生する音に対応するオーディオデータを、音波形データを用いて生成する。
【００４５】
メモリコントローラ３８は、さらに、バスによって、各インタフェース（Ｉ／Ｆ）５６，５８，６０，６２および６４に接続される。コントローラＩ／Ｆ５６は、コントローラ２２のためのインタフェースであり、コントローラ２２の操作手段２６の操作信号またはデータをメモリコントローラ３８を通してＣＰＵ３６に送る。ビデオＩ／Ｆ５８は、フレームバッファ４８にアクセスし、ＧＰＵ４２で作成した画像データを読み出して、画像信号または画像データ（ディジタルＲＧＢピクセル値）をＡＶケーブル３２（図１）を介してモニタ３４に送る。
【００４６】
外部メモリＩ／Ｆ６０は、ゲーム装置１２の前面に挿入されるメモリカード３０（図１）をメモリコントローラ３８に接続する。それによって、メモリコントローラ３８を介して、ＣＰＵ３６がこのメモリカード３０にデータを書込み、またはメモリカード３０からデータを読み出すことができる。オーディオＩ／Ｆ６２は、メモリコントローラ３８を通してＤＳＰ５２から与えられるオーディオデータまたは光ディスク１８から読み出されたオーディオストリームを、それらに応じたオーディオ信号（音声信号）としてモニタ３４のスピーカ３４ａに送る。
【００４７】
なお、ステレオ音声の場合には、スピーカ３４ａは、少なくとも、左右１つずつ設けられる。また、サラウンド処理することで、左右２つのスピーカのみであっても後方から音が発生しているように音を聞かせることも可能である。
【００４８】
そして、ディスクＩ／Ｆ６４は、そのディスクドライブ１６をメモリコントローラ３８に接続し、したがって、ＣＰＵ３６がディスクドライブ１６を制御する。このディスクドライブ１６によって光ディスク１８から読み出されたプログラムデータやテクスチャデータ等が、ＣＰＵ３６の制御の下で、メインメモリ４０に書き込まれる。
【００４９】
図３はメインメモリ４０のメモリマップである。メインメモリ４０は、プログラム領域７０、オブジェクトデータ記憶領域７２、マイクデータ記憶領域７４およびサウンド出力制御データ記憶領域７６を含む。プログラム記憶領域７０には、光ディスク１８から読み出したゲームプログラムが、１度にまたは部分的にかつ順次的に、記憶される。このゲームプログラムは、この実施例では、ゲームメイン処理プログラム７０ａ、画像処理プログラム７０ｂおよびサウンド制御処理プログラム７０ｃなどによって構成される。
【００５０】
オブジェクトデータ記憶領域７２には、たとえば、オブジェクトＡ（松明１）データ７２ａ、オブジェクトＢ（松明２）データ７２ｂおよびオブジェクトＣ（川１）データ７２ｃのようなノンプレイヤオブジェクトについてのデータが光ディスク１８から読み出されロードされる。図示は省略するが、さらに、プレイヤキャラクタオブジェクトデータや敵キャラクタオブジェクトデータのようなゲームキャラクタのデータやゲーム世界（マップ）のデータも記憶領域７２にロードされる。
【００５１】
なお、オブジェクトＡデータ７２ａ、オブジェクトＢデータ７２ｂおよびオブジェクトＣデータ７２ｃなどの各オブジェクトデータは、ポリゴンによって形成される。
【００５２】
また、メインメモリ４０には、上記各キャラクタおよびオブジェクト等のデータを光ディスク１８から必要に応じてロードするようにしてもよい。
【００５３】
マイクデータ記憶領域７４には、仮想カメラとともに設けられる仮想マイク８６（図８参照）のゲーム世界における位置（集音位置）を示す座標データ（集音位置データ）７４ａおよび当該位置に対応して予め決定される仮想マイク８６の集音方向を示す集音方向データ７４ｂが光ディスク１８から読み出されロードされる。
【００５４】
サウンド出力制御データ記憶領域７６には、サウンドＡデータ７６０およびサウンドＢデータ７６２などのサウンドデータが記憶される。ただし、これらのサウンドデータは、後述するサウンド制御処理によって算出されたデータである。サウンドＡデータ７６０は、この実施例では、“松明”についてのサウンドデータであり、定位データ７６０ａおよび音量データ７６０ｂを含む。また、サウンドＢデータ７６２は、この実施例では、“川”についてのサウンドデータであり、定位データ７６２ａおよび音量データ７６２ｂを含む。定位データは、ゲーム世界上のオブジェクト（松明或いは川など）が音を発生する方向を示すデータであり、音量データは当該オブジェクト（松明或いは川など）が発生する音の音量を示すデータである。
【００５５】
なお、図示は省略するが、サウンド出力制御データ記憶領域７６には、ゲームに必要な音、音楽および音声などのデータもロードされ書き込まれる。
【００５６】
また、サウンド制御処理プログラム７０ｃは、図４に示すように、音量データ算出プログラム７００、定位算出プログラム７０２、オブジェクト分類プログラム７０４、音量データ成分算出プログラム７０６、最大音量成分データ抽出プログラム７０８およびレールデータ近接座標算出プログラム７１０を含む。ただし、これらのプログラムは別個独立に実行されるのではなく、後述するように、一連の流れに沿って実行される（図１４および図１５参照）。
【００５７】
さらに、オブジェクトＡデータ７２ａ〜オブジェクトＣデータ７２ｃは、図５に示すように構成される。オブジェクトＡデータ７２ａは、オブジェクトＡ（松明１）をモニタ３４に表示するための画像表示用データ７２０および当該オブジェクトＡ（松明１）が発生する音をスピーカ３４ａから出力するためのサウンドデータ７２２を含む。
【００５８】
また、サウンドデータ７２２は、音指定データ７２２ａ、座標データ７２２ｂ、音量データ７２２ｃおよび音優先順位データ７２２ｄを含む。音指定データ７２２ａは、当該オブジェクトＡが発生する音を出力する場合に、使用する音波形データをＡＲＡＭ５４に記憶される複数の音波形データ（図６参照）から指定（選択）するためのインデックスデータである。座標データ７２２ｂは、当該オブジェクトＡが存在するゲーム世界上の位置を示し、この実施例では、３次元座標で表される。
【００５９】
ただし、オブジェクトＡは松明であり、このような松明はゲーム世界上の所定位置に配置されるため、したがって、この場合は座標データはサウンドオブジェクトの音の位置を示すこととなる。
【００６０】
音量データ７２２ｃは、当該オブジェクトＡが発生する音の音量を示すデータである。また、音優先順位データ７２２ｄは、モニタ３４の一画面に表示されるゲーム世界内に複数のオブジェクト（サウンドオブジェクト）が存在し、使用可能な音源の発音数、すなわちＤＳＰ５２が使用可能な最大同時発音数を超えた場合に、当該サウンドオブジェクトを他のサウンドオブジェクトと比較して、音を発生するか否かを決定するためのデータである。つまり、音源の発音数が足りない場合には、優先順位の低いサウンドオブジェクトの音は発せられない。
【００６１】
オブジェクトＢデータ７２ｂは、画像表示用データ７２４およびサウンドデータ７２６を含む。オブジェクトＢ（松明２）は、オブジェクトＡ（松明１）と同じ種類のオブジェクトデータであるため、画像表示用データ７２４およびサウンドデータ７２６は、上述した内容と同じである。ただし、オブジェクトＢは、オブジェクトＡとはゲーム世界上の異なる位置に配置されるため、それに従って、サウンドデータ７２６の座標データ７２６ｂ、音量データ７２６ｃおよび音優先順位データ７２６ｄの内容が異なる。
【００６２】
なお、音指定データ７２６ａは、オブジェクトＡとオブジェクトＢとが同じ種類のサウンドオブジェクトであるため、音指定データ７２２ａと同じデータである。
【００６３】
オブジェクトＣデータ７２ｃは、オブジェクトＣ（川１）をモニタ３４に表示するための画像表示用データ７２８および当該オブジェクトＣ（川１）が発生する音をスピーカ３４ａから出力するためのサウンドデータ７３０を含む。また、サウンドデータ７３０は、オブジェクトＡおよびオブジェクトＢと同様に、音指定データ７３０ａ、座標データ７３０ｂ、音量データ７３０ｃおよび音優先順位データ７３０ｄを含む。各データの内容は、オブジェクトＡおよびオブジェクトＢについてのデータと略同じであるが、オブジェクトＣは“川”であり、使用する音波形データが松明とは異なるため、音指定データ７３０ａの内容が異なる。また、このオブジェクトＣでは、川の流れに沿うように、複数のサウンドオブジェクトの音が設けられるため、座標データ７３０ｂには複数の座標が記述される。つまり、少なくとも２つ以上の座標データで定義されるレールデータが記憶される。また、音量データ７３０には、当該レールデータによって決定されるレール（図１２参照）のそれぞれに対応する音量データが記憶される。
【００６４】
また、上述したような音波形データは、音波形データ記憶領域、この実施例では、サブメモリとしてのＡＲＡＭ５４に光ディスク１８からロードされ書き込まれる。図６に示すように、たとえば、ＡＲＡＭ５４には、松明の燃える音についての音波形Ａデータ５４ａ、川の流れる音についての音波形Ｂデータ５４ｂおよび波の音についての音波形Ｃデータ５４ｃなどが記憶される。図示は省略するが、他のサウンドオブジェクトについての音波形データも記憶される。ＤＳＰ５２は、ＣＰＵ３６の指示の下、音波形データ５４ａ，５４ｂ，５４ｃ，…のいずれか１つ或いは２つ以上にアクセスして、サウンドオブジェクトが発生する音のオーディオデータを生成する。生成されたオーディオデータは、オーディオＩ／Ｆ６２でオーディオ信号に変換された後、スピーカ３４ａに出力される。
【００６５】
図７には、モニタ３４にゲーム画面８０が表示され、当該ゲーム画面８０が表示される場合において、左右のスピーカ３４ａおよびサラウンドスピーカから出力されるサウンドオブジェクトの音（松明が燃える音）の大きさが模式的に示される。ただし、この図７に示す例では、３つの松明をそれぞれサウンドオブジェクトとして用いて音を出力した場合について示してある。また、プレイヤないしユーザは、ゲーム画面８０（モニタ３４）の正面であり、左右のスピーカ３４ａとサラウンドスピーカによって囲まれるように位置する。
【００６６】
ゲーム画面８０では、プレイヤオブジェクト８２は、画面中央の下側に配置され、プレイヤに対して背を向けるように立っている。このプレイヤオブジェクト８２の後方に松明８４ａが配置され、プレイヤオブジェクト８２の左斜め前に松明８４ｂが配置され、そして、プレイヤオブジェクト８２の右斜め前方に松明８４ｃが配置される。また、ゲーム画面８０の奥行き方向のみについて考えると、一番手前に松明８４ａが配置され、その次に松明８４ｂが配置され、一番奥に松明８４ｃが配置される。さらに、ゲーム画面８０の横方向（幅方向）のみについて考えると、ゲーム画面８０の右側に松明８４ａが配置され、ゲーム画面８０の左側に松明８４ｂが配置され、ゲーム画面８０の略中央に松明８４ｃが配置される。
【００６７】
このようなゲーム画面８０は、ゲーム世界で移動可能に設けられる仮想カメラで撮影した映像（画像）に基づいて生成およびモニタ３４に描画（表示）される。図８に示すように、ゲーム世界では、プレイヤオブジェクト８２、松明８４ａ〜８４ｃおよび仮想マイク８６は、それぞれ、３次元座標で互いの位置関係が表わされる。これは、上述したオブジェクトデータに含まれる座標データ（図５）によって決定される。たとえば、プレイヤオブジェクト８２は、３次元座標（ｘｐ，ｙｐ，ｚｐ）で示される位置に存在する。また、松明８４ａ、松明８４ｂおよび松明８４ｃは、それぞれ、３次元座標（ｘ１，ｙ１，ｚ１）、（ｘ２，ｙ２，ｚ２）および（ｘ３，ｙ３，ｚ３）で示される位置に存在する。さらに、仮想マイク８６は、３次元座標（ｘｍ，ｙｍ，ｚｍ）で示される位置に存在する。
【００６８】
なお、図面の都合上、仮想カメラは図示していないが、この実施例では、仮想マイク８６と同じ位置に存在する。
【００６９】
上述したように、ゲーム画面８０は仮想カメラで撮影した映像（画像）をモニタ３４に表示するのであるが、ゲーム世界のワールド座標系を３次元のカメラ座標に変換することにより、仮想カメラの撮影方向についての画像を表示するようにしてある。
【００７０】
つまり、図９に示すように、仮想カメラの撮影方向すなわち仮想マイク８６の集音方向は、プレイヤキャラクタ８２と仮想マイク８６とを結ぶ線上に決定され、当該線をＺ′軸に決定する。ただし、仮想マイク８６の集音方向は、上述したようなマイクデータ記憶領域７４に記憶される座標データ７４ａに対応して記憶される集音方向データ７４ｂによって決定される。また、Ｚ′軸を仮想マイク８６の位置を中心に右回りに９０度回転させた軸をＸ′軸に決定する。次いで、図１０に示すように、仮想マイク８６の位置が原点位置（０，０，０）となり、Ｚ′軸およびＸ′軸が、それぞれ、Ｚ軸およびＸ軸に重なるように、座標変換が行われる。具体的には、図９に示した仮想マイク８６の位置を原点位置に平行移動した後、Ｚ′軸およびＸ′軸がＺ軸およびＸ軸のそれぞれに重なるように、原点を中心に仮想カメラで撮影されるゲーム世界を回転すればよい。このようにして、図７に示したようなゲーム画像８０がモニタ３４に表示される。
【００７１】
また、図７に示したようなゲーム画面８０が表示されている場合には、ゲームのＢＧＭやサウンドオブジェクトが発生する音（松明が燃える音）が左右のスピーカ３４ａおよびサラウンドスピーカから出力される。ただし、図７においては、簡単に説明するために、松明が燃える音の音量についてのみ模式的に示し、ＢＧＭのようなサウンドオブジェクトが発生する音以外の音の音量については省略してある。
【００７２】
ここで、スピーカ３４から出力される音の大きさを、大、中および小の３段階で表すと、松明８４ａの燃える音については、右のスピーカ３４ａの音量が大きく、左のスピーカ３４ａの音量が中くらいであり、そして、サラウンドスピーカの音量は小さい。また、松明８４ｂの燃える音については、右のスピーカ３４ａの音量が小さく、左のスピーカ３４ａの音量およびサラウンドスピーカの音量が中くらいである。さらに、松明８４ｃの燃える音については、右のスピーカ３４ａの音量および左のスピーカ３４ａの音量が小さく、サラウンドスピーカの音量が大きい。
【００７３】
したがって、図７に示すように、松明８４ａが燃える音は、右のスピーカ３４ａとサラウンドスピーカとの間で大きい音量で聞こえるように出力される。また、松明８４ｂが燃える音は、左のスピーカ３４ａとサラウンドスピーカとの間で中くらいの音量で聞こえるように出力される。さらに、松明８４ｃが燃える音は、左右のスピーカ３４ａの略中央で小さい音量で聞こえるように出力される。
【００７４】
なお、図１においては、サラウンドスピーカは省略してあるが、サラウンドスピーカは別途設けるようにしてもよく、また、左右のスピーカ３４ａの音量および定位を調整することにより、仮想のサラウンドスピーカが設けられるようにしてもよい。後者の場合には、特開２０００−９３５７９号公報に開示された構成および方法を採用することができる。
【００７５】
このように、ゲーム画面８０上に表示されるサウンドオブジェクトのそれぞれに対応して音源から音を出力する場合には、図１０に示したように、３次元のカメラ座標に変換した後の原点を中心として、Ｚ軸から回転角度によって集音方向が決定され、また原点とサウンドオブジェクトとの距離によって出力する音（各サウンドオブジェクトを鳴らす場合の音）の音量が決定される。しかし、ゲーム装置１２では、ゲーム中のＢＧＭや効果音などの音（音楽）も鳴らす必要があるため、ゲーム画面８０上に多数のサウンドオブジェクトが存在する場合には、使用可能な音源の発音数すなわちＤＳＰ５２が使用可能な最大同時発音数を超えてしまう。
【００７６】
かかる場合には、たとえば、優先順位データ（図５参照）に従って音を出力しないサウンドオブジェクトを決定することも考えられるが、図７に示したように、左右に松明が存在する場合に、一方の松明の音が出力されなくなるのは、違和感がある。また、重要な音でなくても、それが出力されないことにより、ゲームの臨場感を消失してしまうこともある。
【００７７】
そこで、この実施例では、同じ種類のサウンドオブジェクトがゲーム画面８０に複数存在する場合には、音源において１つの発音だけで音を出力するようにして、使用する音源を節約するようにしてある。つまり、音源を効率的に使用するようにしてある。
【００７８】
具体的に言うと、ゲーム画面８０に存在するすべてのサウンドオブジェクトについて、それぞれの座標（３次元座標）に基づいて、原点位置との距離および音の発生方向（Ｚ軸となす角）すなわち定位を、数１および数２のそれぞれに従って算出する。ただし、後述するように、原点との距離を用いて音量（データ）を算出するが、当該音量を求める場合には、Ｙ軸成分は無視してよいので、数１においては、Ｘ成分とＺ成分とに基づいて距離を算出するようにしてある。
【００７９】
［数１］
距離ＤＰ＝√｛（ＸＰ）2 ＋（ＺＰ）2 ｝
ただし、Ｐ＝１，２，３，…，ｍ，…，ｐである。
【００８０】
［数２］
発生方向（定位）θ＝ｓｉｎ-1（｜ＸＰ｜／ＤＰ）
＝ｃｏｓ-1（｜ＺＰ｜／ＤＰ）
ただし、｜・｜は絶対値を意味し、ＸＰおよびＺＰはサウンドオブジェクトの座標に含まれる数値であり、ＤＰは数１で求めた距離である。
【００８１】
次いで、数１を用いて算出した距離に基づいて当該サウンドオブジェクトについて鳴らす音量（データ）ＶＰが数３に従って算出される。
【００８２】
［数３］
音量ＶＰ＝（１−（ＤＰ／ＶＤ））×Ｖｏ
ただし、ＤＰは数１で求めた距離であり、ＶＤは音が聞こえなくなる距離であり、Ｖｏは当該サウンドオブジェクトの音量（データ）の初期値である。ここで、ＶＤは当該ゲームのプログラマ或いは開発者によって予め決定される値である。また、Ｖｏは図５に示した音量データ７２２ｃ、音量データ７２６ｃおよび音量データ７３０ｃ等によって予め決定される音量の初期値である。
【００８３】
このようにして、各サウンドオブジェクトを鳴らす場合の定位データおよび音量データが算出されるのである。続いて、同じ音を発生するサウンドオブジェクト毎に、サウンドオブジェクトを分類する。また、各サウンドオブジェクトについて算出した音量データと定位データとから、スピーカ３４ａから出力する音の音量の各成分、この実施例では、Ｌ（左側音量成分）、Ｒ（右側音量成分）およびサラウンド（以下、「ＳＲ」という。）成分を算出する。次に、同じ音を発生するサウンドオブジェクトの中から、Ｌ、ＲおよびＳＲ成分のそれぞれについて最大値を選択する。続いて、選択したＬ、ＲおよびＳＲ成分の最大値から、ＤＳＰ５２が出力する音の音量および定位を処理する。そして、処理した音量および定位に基づいて音がスピーカ３４ａ，３４ｂから出力される。
【００８４】
つまり、図１０に示した例では、松明８４ａ、松明８４ｂおよび松明８４ｃを１つにまとめた仮想の松明を求めて、当該仮想の松明が燃える音を出力していると考えることができる。このように、仮想の松明を求めるようにした場合であっても、当該松明が燃える音はゲームの臨場感を出すために出力される音であるため、プレイヤないしユーザはさほど違和感を覚えることはない。
【００８５】
また、上述の例では、１つのサウンドオブジェクトの音が複数存在する場合について説明したが、サウンドオブジェクトとしては川や波のように１つのオブジェクトで複数の点音源が含まれるものも存在する。このようなサウンドオブジェクトも、同じ種類のサウンドオブジェクト（音源）が複数存在するものと考えることができる。
【００８６】
たとえば、図１１に示すようなゲーム画面８０が表示される場合には、図９および図１０を用いて説明した場合と同様にして、ゲーム世界のワールド座標系がカメラ座標に変換される。このゲーム画面８０では、プレイヤオブジェクト８２および“川”のようなサウンドオブジェクト８８が表示される。
【００８７】
また、図１２に示すように、“川”のようなサウンドオブジェクト８８では、サウンドオブジェクトの音の位置はいわゆるレールデータで表される。この図１２から分かるように、川の両側に直線（線分）或いは折れ線（複数の線分が連結される曲線）で示される複数のレール９２，９４，９６，９８，１００，１０２，１０４が設定され、レール９２〜１０４のそれぞれは、座標データが示す座標を結んだ直線（線分）上のいずれかの点から音を発生する点のサウンドオブジェクトとして定義される。たとえば、仮想マイク８６の存在する位置（集音位置）とレールとの近接点、つまりレール上の点であり仮想マイク８６の座標（点）と最も距離が短い点がサウンドオブジェクトの位置に決定され、当該サウンドオブジェクトと仮想マイク８６との距離に応じて、当該サウンドオブジェクトを鳴らす音の音量が計算される。
【００８８】
しかし、上述したように、使用可能な最大同時発音数を超える場合には、優先順位に従って鳴らさないサウンドオブジェクトの音が決定されるため、音が欠けてしまい、したがって、臨場感を消失したり、違和感を覚えたりしてしまう。
【００８９】
このため、松明のようなサウンドオブジェクトの音と同様に、仮想のサウンドオブジェクトを求めて、音源において１つの発音だけで音を出力するようにしてある。
【００９０】
まず、点のサウンドオブジェクトの位置を決定するために、上述したように、仮想マイク８６との近接点がレール９２〜１０４のそれぞれについて求められる。具体的には、レールに直交する、かつ、原点を通る直線が存在するか否かをレール９２〜１０４のそれぞれについて求める。このような直線が存在する場合には、当該直線とレールとが直交する点（レール上の点）に１つの位置が決定される。つまり、１つのサウンドオブジェクトが定義される。ただし、レール９４、９８、１０２および１０４のように、２つ以上の線分が連結された曲線でレールが構成される場合には、１つのレール上に存在するサウンドオブジェクトの位置のうち、原点との距離が一番短いサウンドオブジェクトの位置を含む線分についてのみ、上述したような直線が存在するか否かが求められる。一方、線分に直交し、かつ、原点を通る直線が存在しない場合には、レールデータとしての座標データが示す座標と原点との距離が算出され、一番距離が短い点（座標）がサウンドオブジェクトの位置に決定される。
【００９１】
なお、図１２においては、分かり易くするために、選出されたサウンドオブジェクトの位置に白△印を付してある。
【００９２】
また、距離の計算は、数１で示した場合と同様に、原点の座標とレールデータとしての座標データが示す座標とから簡単に求めることができる。
【００９３】
ただし、各レールに直交し、かつ、原点を通る直線を算出するなどの処理を実行するのは煩雑であるため、そのような直線が存在しない場合と同様に、レールデータとしての座標データが示す座標（点）のうち、仮想マイク８６の座標（点）との距離が一番短い座標（点）にサウンドオブジェクトの位置を決定するようにしてもよい。かかる場合には、レールデータとしての座標データが示す座標（点）と仮想マイク８６の座標（点）との距離を計算するだけなので、処理負担を軽減することができる。
【００９４】
このようにして、レール９２〜１０４のそれぞれからサウンドオブジェクトが選出されると、選出されたサウンドオブジェクトのそれぞれについて、算出した距離を用いて数３に従って当該サウンドオブジェクトの音を鳴らす音量データを計算し、また、選出されたサウンドオブジェクトの位置の３次元座標と算出した距離を用いて数２に従って定位データを算出する。次に、算出した音量データと定位データとから、各サウンドオブジェクトの音の位置についてのＬ，ＲおよびＳＲ成分を算出し、算出した結果からＬ，ＲおよびＳＲの最大値を選択する。続いて、選択したＬ，ＲおよびＳＲ成分の最大値から音量と定位とを算出する。つまり、“川”のようなサウンドオブジェクトについての仮想のサウンドオブジェクトの音の位置、音源を用いて出力する音の音量および定位が決定される。そして、決定された音量と定位とに基づいて音源から音が出力される。
【００９５】
上述したような動作は、図２に示したＣＰＵ３６によって、図１３〜図１６に示すようなフロー図に従って処理される。光ディスク１８がゲーム装置１２のディスクドライブ１６にローディングされると、図１３に示すように、ＣＰＵ３６はゲーム処理を開始し、ステップＳ１で光ディスク１８からプログラム（ゲームメイン処理プログラム、画像処理プログラムおよびサウンド制御処理プログラムなど）およびデータ（オブジェクトデータおよびマイクデータ等）をメインメモリ４０にロードする。続くステップＳ３では、ゲームに必要な音波形データをＡＲＡＭ５４にロードする。
【００９６】
ステップＳ５では、入力があるかどうかを判断する。つまり、コントローラ２２からの入力があるかどうかを判断する。ステップＳ５で“ＮＯ”であれば、つまりコントローラ２２からの入力がなければ、そのままステップＳ１１に進んで、オブジェクト描画処理、厳密には敵キャラクタの描画処理などを実行する。一方、ステップＳ５で“ＹＥＳ”であれば、つまりコントローラ２２からの入力があれば、ステップＳ７においてそのコントローラ入力に応じてプレイヤキャラクタの動作処理を実行する。プレイヤないしユーザは、図７に示したようなゲーム画面８２において、プレイヤキャラクタ８２の位置を変更する場合には、コントローラ２２の操作手段２６（図１）のうち、アナログジョイスティック（または３Ｄジョイスティック）を操作する。したがって、ＣＰＵ３６は、このステップＳ７では、たとえばジョイスティックの傾斜方向および傾斜量のデータをコントローラＩ／Ｆ５６から受けて、そのデータに基づいて、プレイヤキャラクタ８２の位置をワールド座標系において変更する。
【００９７】
続くステップＳ９では、カメラ処理（マイク処理）を実行する。つまり、ステップＳ７において更新されたプレイヤキャラクタの位置に応じて、ワールド座標系での仮想カメラ（仮想マイク８６）の位置を更新する。次にステップＳ１１では、オブジェクト描画処理を実行する。つまり、ＣＰＵ３６は、上述したプレイヤキャラクタやサウンドオブジェクトなどの位置（３次元位置）を仮想カメラすなわち仮想マイク８６を基準位置（原点位置）とする３次元のカメラ座標系に変換する。そして、３次元のカメラ座標系を２次元の投陰平面座標系に変換するとともに、テクスチャの指定やクリッピング（clipping：不可視世界の切り取り）等も併せて実行する。その後、ゲーム画像の生成処理によってゲーム画像が生成され、ゲーム画面をモニタ３４（図１）に表示する。つまり、ＣＰＵ３６がビデオＩ／Ｆ５８に指令を与え、応じて、ビデオＩ／Ｆ５８がフレームバッファ４８（図２）にアクセスする。したがって、フレームバッファ４８からモニタ３４に表示すべき画像データが読み出され、ゲーム画像（ゲーム画面）が表示される。
【００９８】
なお、この実施例では、ゲーム画像の生成処理についての詳細な説明は省略する。
【００９９】
続くステップＳ１３では、後で詳細に説明するサウンド制御処理を実行する。次いで、ステップＳ１５では、その他のゲーム処理を実行する。その他のゲーム処理としては、ゲームの進行によって発生したゲームデータのバックアップ（セーブ）処理などが該当する。たとえば、ゲームの進行に従って、ゲームデータがメインメモリ４０のワーク領域（図示せず）に書き込まれ、ゲームデータは逐次更新される。そして、プレイヤないしユーザの指示や所定のイベントに従って、バックアップ処理が実行されると、メインメモリ４０のワーク領域に書き込まれているゲームデータが外部メモリＩ／Ｆ６０を介してメモリカード３０に記憶される（図２）。
【０１００】
そして、ステップＳ１７では、ゲーム終了かどうかを判断する。ステップＳ１７で“ＮＯ”であれば、つまりゲーム終了でなければ、そのままステップＳ５に戻る。一方、ステップＳ１７で“ＹＥＳ”であれば、つまりゲーム終了であれば、そのままゲーム処理を終了する。
【０１０１】
図１４に示すように、サウンド制御処理が開始されると、ＣＰＵ３６は、ステップＳ２１でオブジェクトの座標データを取得する。つまり、ゲーム画面８０に表示されるサウンドオブジェクトについての座標データをメインメモリ４０のオブジェクトデータ記憶領域７２（図３、図５）から取得する。次にステップＳ２３では、図９および図１０を用いて説明したように、仮想マイク８６の位置を原点として座標変換を行う。ただし、上述したように、ステップＳ１１のオブジェクト描画処理において、同様の座標変換を行っているため、その結果を利用するようにしてもよい。
【０１０２】
続くステップＳ２５では、サウンドオブジェクトの座標データがレールデータであるかどうかを判断する。つまり、オブジェクトデータ記憶領域７２に記憶されるオブジェクトデータに複数の座標データが記述されているか否かを判断する。ただし、サウンドオブジェクトの位置のデータ或いはレールデータの別を示すラベルをオブジェクト毎に付しておき、当該ラベルで判別できるようにしておいてもよい。
【０１０３】
ステップＳ２５で“ＮＯ”であれば、つまりレールデータでなければ、そのままステップＳ２９に進むが、“ＹＥＳ”であれば、つまりレールデータであれば、ステップＳ２７で後述するレールデータ処理を実行してからステップＳ２９に進む。
【０１０４】
ステップＳ２９では、最初のオブジェクトの座標データを検索する。ただし、検索するオブジェクトの順番は、ＣＰＵ３６が任意に決定している。続くステップＳ３１では、当該オブジェクトの座標データから数１に従って距離を求めて、当該距離を用いて、数３に従って当該オブジェクトを鳴らす音の音量データを算出する。次に、ステップＳ３３では、当該オブジェクトの座標データおよび数１で求めた距離を用いて、数２に従って音の発生方向を算出する。つまり、定位データが算出される。そして、ステップＳ３５では、すべてのオブジェクトについて音量データと定位データとの算出処理を終了したかどうかを判断する。
【０１０５】
ステップＳ３５で“ＮＯ”であれば、つまりすべてのオブジェクトについて音量データと定位データとの算出処理を終了していなければ、ステップＳ３７で次のオブジェクトの座標データを検索してから、ステップＳ３１に戻る。一方、ステップＳ３５で“ＹＥＳ”であれば、つまりすべてのオブジェクトについて音量データと定位データとの算出処理を終了すれば、図１５に示すステップＳ３９で、オブジェクトを分類して、音源の発音を一本化する（音源において発音を１つにまとめる）オブジェクトを特定する。つまり、松明のようなサウンドオブジェクトが複数存在する場合や川のようなサウンドオブジェクトが存在する場合には、当該ステップＳ３９で、音源の発音を１つにまとめるべきオブジェクトが特定される。
【０１０６】
続くステップＳ４１では、特定したオブジェクトの分類に含まれる１番目のオブジェクトについて、Ｓ３１およびＳ３３おいて算出した音量データと定位データとを取得する。ただし、取得するオブジェクトの順番は、ＣＰＵ３６が任意に決定している。続くステップＳ４３では、取得した音量データと定位データとを用いて、Ｌ，Ｒ，ＳＲ成分を算出する。次いで、ステップＳ４５では、一本化するオブジェクトについてすべて終了したかどうかを判断する。つまり、ステップＳ３９において特定したオブジェクトの分類に含まれるすべてのオブジェクトについて、Ｌ，Ｒ，ＳＲ成分を算出したかどうかを判断する。
【０１０７】
ステップＳ４５で“ＮＯ”であれば、つまりすべてのオブジェクトについてのＬ，Ｒ，ＳＲ成分の算出を終了していなければ、ステップＳ４７で次のオブジェクトを検索して、ステップＳ４３に戻る。一方、ステップＳ４５で“ＹＥＳ”であれば、つまりすべてのオブジェクトについてのＬ，Ｒ，ＳＲ成分の算出を終了すれば、ステップＳ４９で算出したすべてのオブジェクトについてのＬ，Ｒ，ＳＲ成分からそれぞれの最大値を選択する。
【０１０８】
続くステップＳ５１では、選択したＬ，Ｒ，ＳＲ成分のそれぞれの最大値からスピーカ３４ａ，３４ｂから出力する音の音量と定位をＤＳＰ５２が処理する。言い換えると、仮想の１つのサウンドオブジェクトを特定して、当該サウンドオブジェクトの音量と定位とを処理するのである。そして、ステップＳ５３では、ステップＳ５１において処理した音量データおよび定位データとに基づいてサウンド（音）をスピーカ３４ａ，３４ｂから出力する。つまり、ＣＰＵ３６は、ＤＳＰ５２に対して音の出力制御の指示を与えるとともに、音量データおよび定位データからＬ、ＲおよびＳＲ成分を算出して、算出結果をＤＳＰ５２に与える。これに応じて、ＤＳＰ５２は、該当する音波形データをＡＲＡＭ５４から読み出し、Ｌ、ＲおよびＳＲ成分の算出結果に従って音データを生成する。そして、ＤＳＰ５２は、生成した音データをオーディオＩ／Ｆ６２に与える。したがって、アナログ信号に変換された音信号がスピーカ３４ａから出力される。
【０１０９】
ただし、一本化するオブジェクトの種類が複数存在する場合には、その数に応じてステップＳ４１からＳ５３の処理が繰り返される。
【０１１０】
なお、一度算出された音量データおよび定位データは、ゲーム世界における仮想カメラ（仮想マイク８６）の３次元座標に対応づけられて、図３を用いて説明したように、メインメモリ４０のサウンド出力制御データ記憶領域７６に記憶される。たとえば、メインメモリ４０への書込処理は、図１３に示したステップＳ１５のその他のゲーム処理で実行すればよい。したがって、次回以降、同じ位置に仮想マイク８６が存在する場合には、図１４および図１５に示したサウンド制御処理を実行することなく、メインメモリ４０を参照して、同じ種類の複数のサウンドオブジェクト或いは複数の音源の発音を要するサウンドオブジェクトについての音を、音源の発音１つだけを用いて容易に出力することができる。
【０１１１】
また、この実施例では、同じ種類の複数のサウンドオブジェクトが発生する音を音源の１つの発音で出力するようにしたため、Ｌ、ＲおよびＳＲ成分の最大値を取得した後に、それらを用いて音量データおよび定位データを算出するようにしてあるが、取得した最大値をＤＳＰ５２にそのまま与える（転送する）ようにしてもよい。このようにしても、同じ種類の複数のサウンドオブジェクトが発生する音を１つにまとめることができるので、使用する音源の発音数を低減することができる。
【０１１２】
図１６に示すように、レールデータ処理が開始されると、ステップＳ６１でオブジェクトの座標リストを取得する。つまり、複数の３次元座標データを取得する。そして、ステッＳ６３では、各レールから原点との距離が最も小さくなる点、すなわち原点と最も接近する点の座標を算出する。つまり、各レールをサウンドオブジェクトに置き換える。
【０１１３】
なお、上述のゲーム処理では、プレイヤキャラクタの位置が更新された場合に、サウンド制御処理を実行するようにしたが、たとえばコントローラ２２の操作手段２６のうち、たとえばボタンスイッチを操作することにより、３次元画像の仮想カメラの視点を切り換えた場合にも、カメラ処理（マイク処理）およびオブジェクト描画処理を経て、サウンド制御処理を実行するようにしてもよい。
【０１１４】
この実施例によれば、同じ種類の複数のオブジェクトの音を音源の１つの発音で出力するので、音源を節約することができる。すなわち、音源を効率的に使用できる。しかも、優先順位にしたがって音源を削除することもないので、ゲームの臨場感を低減してしまうことはない。
【０１１５】
なお、この実施例では、同じ種類の複数のサウンドオブジェクトが存在する場合には、それらを音源における発音が１つになるようにまとめて、音源を節約するようにしてあるが、音源を節約した場合であっても、使用可能な音源の発音数を超えてしまうような場合には、サウンドオブジェクトのデータに含まれる優先順位データ（図５参照）に従って、出力しないサウンドオブジェクトの音が決定される。ただし、上述のようにして、音源の発音を１つにまとめたサウンドオブジェクトの優先順位は高く設定され、当該音については必ず出力されるようにしてある。
【０１１６】
また、この実施例では、音源の発音数に拘わらず、同じ種類の音を発するサウンドオブジェクトが存在する場合には、それらを１つにまとめるようにしたが、サウンドオブジェクトの数が一定数を超えた場合にのみ、同じ種類の音を音源においての１つの発音にまとめるようにしてもよい。
【０１１７】
さらに、この実施例では、図１に示したようなビデオゲーム装置についてのみ説明したが、モニタに表示されるサウンドオブジェクトが発生する音を、音波形データを用いてＤＳＰのようなサウンドプロセサによって生成するような他のゲーム装置または携帯ゲーム機或いはＤＶＤプレイヤなどにも適用可能なことは言うまでもない。
【０１１８】
さらにまた、この実施例では、左右のスピーカのみ、またはさらにサラウンドスピーカを設けた場合について説明したが、スピーカは少なくとも２方向についての音を出力するために２つ設ければよく、また４つ以上設けるようにしてもよい。また、音量データの成分を計算する場合には、上述の実施例で示したとおり、スピーカの個数に応じて算出するのが望ましい。
【０１１９】
また、この実施例では、サウンドオブジェクトとしては、松明、川、波についてのみ説明したが、サウンドオブジェクトはこれらに限定される必要はない。
【図面の簡単な説明】
【０１２０】
【図１】この発明のゲームシステムの一例を示す図解図である。
【図２】図１実施例に示すビデオゲーム装置の電気的な構成を示すブロック図である。
【図３】図２に示すメインメモリのメモリマップを示す図解図である。
【図４】図３に示すサウンド制御プログラムの構成を示す図解図である。
【図５】図３に示すオブジェクトデータ記憶領域に記憶されるデータを示す図解図である。
【図６】図２に示すＡＲＡＭに記憶されるサウンドオブジェクトの音波形データを示す図解図である。
【図７】図１実施例のゲームシステムにおいてモニタに表示されるゲーム画面の一例および当該ゲーム画面についてスピーカから出力されるサウンドオブジェクトの音の大きさを模式的に示した図解図である。
【図８】図７に示すゲーム画面に対応するゲーム世界の３次元座標（カメラ座標）を示す図解図である。
【図９】図７に示すゲーム画面に対応するゲーム世界の３次元座標（カメラ座標）を示す図解図である。
【図１０】図７に示すゲーム世界の３次元座標を描画座標に変換した変換後の３次元座標を示す図解図である。
【図１１】図１実施例のゲームシステムにおいてモニタに表示されるゲーム画面の他の一例を示す図解図である。
【図１２】図１１に示すゲーム画面に表示されるサウンドオブジェクトの音源を示す図解図である。
【図１３】図２に示すＣＰＵのゲーム処理の一例を示すフロー図である。
【図１４】図２に示すＣＰＵのサウンド制御処理の一部を示すフロー図である。
【図１５】図２に示すＣＰＵのサウンド制御処理の他の一部を示すフロー図である。
【図１６】図２に示すＣＰＵのレールデータ処理を示すフロー図である。
【符号の説明】
【０１２１】
１０  …ゲームシステム
１２  …ゲーム装置
１８  …光ディスク
２２  …コントローラ
３４  …モニタ
３４ａ  …スピーカ
３６  …ＣＰＵ
３８  …メモリコントローラ
４０  …メインメモリ
４２  …ＧＰＵ
５４  …ＡＲＡＭ
６２  …オーディオＩ／Ｆ
【図１】
0003617839.tif 000002
【図２】
0003617839.tif 000003
【図３】
0003617839.tif 000004
【図４】
0003617839.tif 000005
【図５】
0003617839.tif 000006
【図６】
0003617839.tif 000007
【図７】
0003617839.tif 000008
【図８】
0003617839.tif 000009
【図９】
0003617839.tif 000010
【図１０】
0003617839.tif 000011
【図１１】
0003617839.tif 000012
【図１２】
0003617839.tif 000013
【図１３】
0003617839.tif 000014
【図１４】
0003617839.tif 000015
【図１５】
0003617839.tif 000016
【図１６】
0003617839.tif 000017