(57)【要約】【課題】  出力音響のリアリティを確保しつつ演算負荷を軽減する。【解決手段】    ゲーム画面の表示と同時に、オブジェクト対応位置ＣＰに対応した４種の音響Ｓ１〜Ｓ４が複合的に再生され、例えば、オブジェクト対応位置ＣＰに対応して、音響Ｓ１は音量０から滑らかに音量が高まり、ピークを越えた後に、一旦音量が０になり、再び滑らかに音量ピークを迎え、その後音量０に戻る。音響Ｓ２〜Ｓ４も、オブジェクト対応位置ＣＰに対応して、個々に音量変化が設定されている。  音響Ｓ１〜Ｓ４等には、背景音楽、水音、生物の鳴き声、風音等の環境音その他が含まれる。【選択図】  図６
2010035978.tif 000002
【特許請求の範囲】
【請求項１】
移動操作手段と、記憶手段と、音響再生手段と、制御手段とを備えたゲーム装置のためのゲームプログラムであって、
前記記憶手段には、
音響情報と、
音響情報を制御する音響制御情報と、が記憶され、
前記制御手段を、
仮想空間を生成する仮想空間生成手段と、
前記仮想空間内でオブジェクトを生成するオブジェクト生成手段と、
して機能させ、
さらに、前記制御手段に、
前記移動操作手段の入力に基づいて、前記仮想空間内で、前記オブジェクトを前記仮想空間内で移動させ、
前記オブジェクトの前記仮想空間内の位置に対応して、前記記憶手段に記憶された前記音響制御情報を読み出し、前記音響制御情報によって制御された該音響情報を前記音響再生手段に入力させる、
ゲームプログラム。
【請求項２】
前記仮想空間は複数のエリアに分割され、前記音響情報及び／又は前記音響制御情報は、前記エリアごとに設定されていることを特徴とする請求項１記載のゲームプログラム。
【請求項３】
前記制御手段を、さらに、
前記オブジェクトの移動標準経路を生成する標準経路生成手段と、
前記オブジェクトの位置に対応して前記移動標準経路上の位置（オブジェクト対応位置という。）を算出するオブジェクト対応位置算出手段と、
して機能させ、
さらに、前記制御手段に、
前記オブジェクト対応位置に対応して、前記記憶手段に記憶された前記音響制御情報を読み出し、前記音響制御情報によって制御された該音響情報を前記音響再生手段に入力させる、
ことを特徴とする請求項１または２記載のゲームプログラム。
【請求項４】
前記音響制御情報には音量情報が含まれ、
前記制御手段に、
前記オブジェクト対応位置に対応した前記音量情報に基づいて、前記音響再生手段の出力音量を制御させる、
ことを特徴とする請求項２または３記載のゲームプログラム。
【請求項５】
移動操作手段と、記憶手段と、音響再生手段と、制御手段とを備えたゲーム装置であって、
前記記憶手段は、
音響情報と、
音響情報を制御する音響制御情報と、を記憶し、
前記制御手段は、
仮想空間を生成する仮想空間生成手段と、
前記仮想空間内でオブジェクトを生成するオブジェクト生成手段と、
前記オブジェクトの移動標準経路を生成する標準経路生成手段と、
前記オブジェクトの位置に対応して前記移動標準経路上の位置（オブジェクト対応位置という。）を算出するオブジェクト対応位置算出手段と、
を含み、
前記制御手段は、
前記移動操作手段の入力に基づいて、前記仮想空間内で、前記オブジェクトを前記移動標準経路に略沿って移動させ、
前記オブジェクト対応位置に対応して、前記記憶手段に記憶された前記音響制御情報を読み出し、前記音響制御情報によって制御された該音響情報を前記音響再生手段に入力する、
ゲーム装置。
【請求項６】
前記仮想空間は複数のエリアに分割され、前記音響情報及び／又は前記音響制御情報は前記エリアごとに設定されていることを特徴とする請求項５記載のゲーム装置。
【請求項７】
前記制御手段は、さらに、
前記オブジェクトの移動標準経路を生成する標準経路生成手段と、
前記オブジェクトの位置に対応して前記移動標準経路上の位置（オブジェクト対応位置という。）を算出するオブジェクト対応位置算出手段と、
を含み、
さらに、前記制御手段は、
前記オブジェクト対応位置に対応して、前記記憶手段に記憶された前記音響制御情報を読み出し、前記音響制御情報によって制御された該音響情報を前記音響再生手段に入力する、
ことを特徴とする請求項５または６記載のゲーム装置。
【請求項８】
前記音響制御情報には音量情報が含まれ、
前記制御手段は、
前記オブジェクト対応位置に対応した前記音量情報に基づいて、前記音響再生手段の出力音量を制御する、
ことを特徴とする請求項７または８記載のゲーム装置。
【請求項９】
請求項１乃至４のいずれかに記載のゲームプログラムのコンピュータ実行可能なプログラムコードが格納されたコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間内のオブジェクトの移動に応じて、音響を出力するためのゲームプロググラムおよびゲーム装置に関する。
【０００２】
ゲームのための音響出力に関して、特許文献１には、オブジェクトの各ポリゴン中心と音源との距離、方向を逐次算出し、距離、方向に応じた音響を出力する３次元サウンドシステムが開示されている。
【０００３】
一方、特許文献２には、音源と聴取位置との距離を逐次計算し、距離に応じた周波数特性の音響を出力するゲーム装置が開示されている。
【０００４】
【特許文献１】特開平０８−１４９６００号公報（特許３６５４３６９号公報）
【特許文献２】特開２００５−０４６２７０号公報（特許３７４０５１８号公報）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献２による音響出力を実行するためには、音源とオブジェクトの距離を頻繁に演算する必要があり、演算負荷が大きい。さらに特許文献１の音響出力は、さらに方向の演算が必要であり、演算負荷は一層大きい。  
【０００６】
本発明はこのような従来の問題点を解消すべく創案されたもので、出力音響のリアリティを確保しつつ演算負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、移動操作手段と、音響記憶手段と、音響再生手段と、制御手段とを備えたゲーム装置のためのゲームプログラムであって、前記制御手段を、仮想空間を生成する仮想空間生成手段と、前記仮想空間内でオブジェクトを生成するオブジェクト生成手段として機能させ、さらに、前記制御手段に、前記移動操作手段の入力に基づいて、前記仮想空間内で、前記オブジェクトを前記仮想空間内で移動させ、前記オブジェクトの前記仮想空間内の位置に対応して、前記音響情報記憶手段に記憶された音響情報を読み出し、該音響情報を前記音響再生手段に入力させる、ゲームプログラム。
【０００８】
これによって、出力音響のリアリティを確保しつつ演算負荷を軽減し得る。
【０００９】
本発明は、移動操作手段と、記憶手段と、音響再生手段と、制御手段とを備えたゲーム装置であって、前記制御手段は、仮想空間を生成する仮想空間生成手段と、前記仮想空間内でオブジェクトを生成するオブジェクト生成手段と、前記オブジェクトの移動標準経路を生成する標準経路生成手段と、前記オブジェクトの位置に対応して前記移動標準経路上の位置（オブジェクト対応位置という。）を算出するオブジェクト対応位置算出手段とを含み、前記制御手段は、前記移動操作手段の入力に基づいて、前記仮想空間内で、前記オブジェクトを前記移動標準経路に略沿って移動させ、前記オブジェクト対応位置に対応して、前記記憶手段に記憶された音響制御情報及び／又は音響情報を読み出し、該音響制御情報により制御された該音響情報を前記音響再生手段に入力させる。
【００１０】
これによって、出力音響のリアリティを確保しつつ演算負荷を軽減し得る。
【００１１】
本発明に係るゲームプログラムおよびゲーム装置において、前記仮想空間は、例えば、複数のエリアに分割され、前記音響制御情報及び／又は前記音響情報は前記エリアごとに設定される。これによって、エリアごとの演出効果設定が容易になる。
【００１２】
本発明に係るゲームプログラムおよびゲーム装置において、前記オブジェクトの移動標準経路を生成し、前記オブジェクトの位置に対応して前記移動標準経路上の位置（オブジェクト対応位置という。）を算出し、さらに、前記オブジェクト対応位置に対応して、前記記憶手段に記憶された音響制御情報及び／または音響情報を読み出し、該音響制御情報に制御された該音響情報を前記音響再生手段に入力させてもよい。
【００１３】
これによって、移動標準経路が設定されたゲームにおいて、極めてわずかな演算負荷による音響設定が可能である。
【００１４】
本発明に係るゲームプログラムおよびゲーム装置において、前記音響制御情報には音量情報が含まれ、前記オブジェクト対応位置に対応した前記音量情報に基づいて、前記音響再生手段の出力音量を制御してもよい。これによって、移動標準経路が設定されたゲームにおいて、音源との距離に基づいた音響調節を、極めてわずかな演算負荷によって実現し得る。
【００１５】
本発明に係るゲームプログラムにおいて、前記音響情報には、例えば、背景音楽の情報が含まれる。
【発明の効果】
【００１６】
本発明によれば、出力音響のリアリティを確保しつつ演算負荷を軽減することを目的とする。
【発明を実施するための最良の形態】
【００１７】
次に本発明に係るゲームプログラムおよびゲーム装置の実施例を図面に基づいて説明する。
【実施例１】
【００１８】
［ゲーム装置］
図１は、本発明に係るゲーム装置の実施例を示す正面図、図２は、図１のゲーム装置を示すブロック図である。
【００１９】
図１において、ゲーム装置２０００にコントロ−ラ２１００が接続されており、さらにゲーム装置２０００には、ＴＶモニタ２２００等の表示装置およびキーボード２３００が接続されている。
【００２０】
表示装置２２００にはプレーヤキャラクタ等のオブジェクトＣＨ、オブジェクトの移動経路（コース）ＣＲ、オブジェクトのパワー残量を示すライフゲージＬＧおよび周囲の風景が表示され、オブジェクトＣＨは、コントローラ２１００によって移動操作される。上記、オブジェクトの移動経路(コース)ＣＲは、図１においてはオブジェクトＣＨの進行方向に沿って図示されているが、図示しなくても良い。また、この移動経路(コース)ＣＲは、オブジェクトＣＨが走行可能なエリアの幅方向における略中心に位置しており、この位置を基準に後述する音響情報を決定しても良い。
【００２１】
図２において、ゲーム装置２０００は、全体を制御するＣＰＵ１０００と、ゲーム装置２０００を起動させるためのプログラムを格納するブートロム１０１０と、ＣＰＵ１０００によって実行されるプログラムやデータを格納するシステムメモリ１０２０とを有する。
【００２２】
ゲーム装置２０００には、表示すべき画像を生成、制御するビデオプロセッサ１０３０と、生成される画像の元となる画像や生成された画像を記憶するグラフィックメモリ１０４０が設けられ、ビデオプロセッサ１０３０は、生成した画像を表示装置２２００に表示する。
【００２３】
ゲーム装置２０００には、音響を再生するオーディオプロセッサ（音響再生手段）１０７０と、再生される音データの音響情報ならびに音響情報を制御する音響制御情報を記憶するオーディオメモリ（記憶手段）１０８０が設けられ、オーディオプロセッサ１０７０はオーディオメモリ１０８０に記憶された音響情報および音響制御情報に基づいて音響のデジタル信号を生成し、スピーカやヘッドフォン等の音響出力装置２２１０によって音響を出力する。
【００２４】
音データは、仮想空間上の特定の場所に固定されて流れるように設定された単発の音データあるいは、ループして流れるように設定されている音データでも良い。また、音響制御情報は、音量情報や、音響情報に対するエフェクト効果をもたらせるプログラミング等である。音に対するエフェクト効果としては、たとえば、エコー効果をもたらせるもの、意図的にゆがんだ音声を出力するものなどがある。これらを組み合わせることで、少ない音データでも多彩な音表現が可能となる。
【００２５】
なお、ここで言う音響の音量情報とはあくまでプログラムによって設定され、オーディオプロセッサ１０７０からの音声情報に基づいて出力される音響のことをいい、実際に再生される音量は、スピーカやヘッドフォン（音響出力装置２２１０）そのものの設定された音量にて再生される。
【００２６】
ゲーム装置２０００には、プログラムデータ等の記憶装置としてＣＤ−ＲＯＭドライブ１０９０等が設けられ、記憶装置において記憶媒体に格納されたゲームプログラムやデータをシステムメモリ１０２０、グラフィックメモリ１０４０、オーディオメモリ１０８０に読み込まれる。
【００２７】
ゲーム装置２０００にはメモリインターフェース１１３０が設けられ、遊戯者が保有するメモリカードＡ、Ｂに対する読み書きが可能である。これによって、各ユーザのゲーム成績、中途で終了したゲームの状態等を登録し得る。
【００２８】
ゲーム装置２０００には、通信インターフェース１１６０を介してモデム１１５０が設けられ、ネットワークを介して複数のゲーム装置２０００によるネットワークゲームを実行でき、また、サーバ（図示省略）から、ゲーム成績の統計、各遊戯者順位、種々のイベント等、ゲームに関する種々の情報を取得し得る。
【００２９】
ゲーム装置２０００には、コントローラインターフェース１１４０が設けられ、コントローラ２１００はコントローラインターフェース１１４０の端子１〜４に接続される。
【００３０】
次に、ゲーム装置２０００で実行されるゲームにおける、プレーヤキャラクタ（オブジェクト）ＣＨの移動経路、ゲーム画面および再生音響について説明する。
【００３１】
図３は、図１のゲーム装置で実行されるゲームにおける、プレーヤキャラクタの移動経路を示す図、図４は、図１のゲーム装置で表示されるゲーム画面を示す図、図５は、図１のゲーム装置で表示される他のゲーム画面を示す図、図６は、図１のゲーム装置で実行されるゲームのための音響制御情報の例を示すグラフ、図７は、対応位置算出法を示す図、図８は、音響の音量制御情報の例を示す表である。
【００３２】
図３に模式図として示すように、移動経路ＣＲは、仮想空間ＳＰ内に形成され、プレーヤキャラクタＣＨはコースＣＲから逸脱しない範囲で自由に移動し得る。また、移動経路ＣＲは図３においては一つの道として一連で記載されているが、実際の仮想空間上においてはプレーヤキャラクタＣＨが移動可能な範囲で途切れていても良い。また、移動経路ＣＲの途中に分岐点を設け、移動経路ＣＲが複数に分かれていても良い。また、分岐点は、プレーヤによって自由に選択できるようにしてもよいし、プレーヤキャラクタＣＨが移動経路ＣＲ上にアイテムとして配置されているオブジェクトを獲得したという判定を元に分岐させるなど、諸条件を満たすことで分岐させてもよい。
【００３３】
コースＣＲ内には、プレーヤキャラクタＣＨの標準的な移動経路を示す移動標準経路ＣＲ１が設定されている。この移動標準経路ＣＲ１は実際に表示装置に表示しても良いし、しなくても良い。
【００３４】
遊戯者は、コントローラ２１００等の操作によって、プレーヤキャラクタＣＨを、コースＣＲに沿って、例えば前進、後退させ、またコースＣＲの幅方向、仮想空間ＳＰの上下方向に移動させることができる。
【００３５】
移動標準経路ＣＲ１には、プレーヤキャラクタＣＨの仮想空間ＳＰ内の位置ＣＨ（Ｘ，Ｙ，Ｚ）に対応したオブジェクト対応位置ＣＰが決定される。
【００３６】
図４、図５に示すように、表示装置２２００には、プレーヤキャラクタＣＨの移動にともなうオブジェクト対応位置ＣＰの変化に対応して、ゲーム画面が生成、表示される。
【００３７】
なお、図５に示すように、ゲーム画面には、プレーヤキャラクタＣＨ以外の二人の人物オブジェクトＯＢ１、ＯＢ２、その他のオブジェクトが表示されているが、これらオブジェクトの全部または一部について、プレーヤキャラクタＣＨとのコリジョン判定を実行し、プレーヤキャラクタＣＨが対象となるオブジェクトに接触したときに、プレーヤキャラクタＣＨのパワー残量を示すライフゲージＬＧのパワー残量を変化するようにしてもよい。また、その他の種々の効果を設定し得る。
【００３８】
さらに、図６に示すように、ゲーム画面の表示と同時に、オブジェクト対応位置ＣＰに対応した１種または複数の音データが音響として再生される
【００３９】
図６では４種の音響制御情報によって制御された音響Ｓ１〜Ｓ４が複合的に再生されたものを模式的に示している。例えば、オブジェクト対応位置ＣＰに対応して、音響Ｓ１は音量０から滑らかに音量が高まり、ピークを越えた後に、一旦音量が０になり、再び滑らかに音量ピークを迎え、その後音量０に戻る。音響Ｓ２〜Ｓ４も、オブジェクト対応位置ＣＰに対応して、個々に音量変化が設定されている。
【００４０】
音響Ｓ１〜Ｓ４等には、背景音楽、水音、生物の鳴き声、風音等の環境音その他が含まれる。こうしたそれぞれに管理されている複数の音データを複合させて再生することで、背景音楽だけではなく、仮想空間内におけるプレーヤキャラクタＣＨの周囲環境の音を表現することが可能となり、よりリアリティのある音響をプレーヤに提供することが可能となり、たとえば、仮想空間上を流れている滝のそばにプレーヤキャラクタＣＨが近づけば近づくほどに滝の流れている音量を大きくすることが可能となる。
【００４１】
［オブジェクト対応位置の算出］
オブジェクト対応位置ＣＰは、例えば、プレーヤキャラクタＣＨの位置ＣＨ（Ｘ，Ｙ，Ｚ）に最も近い移動標準経路ＣＲ１上の点である。ただし、移動標準経路ＣＲ１は一般に曲線あるいは複雑な折れ線に設定され、任意の位置ＣＨに対する最短距離の点を移動標準経路ＣＲ１上で求めることが容易でない場合もある。
【００４２】
オブジェクト対応位置ＣＰの算出が容易でないときは、計算を単純化するために、例えば、標準移動経路ＣＲ１上に、複数のコース基準座標ＫＦ０〜ＫＦｎを設定し、あらかじめスタート位置ＫＦ０から各コース基準座標ＫＦｉまでの経路長ｂｄｉｓｔを算出しておき、隣接するコース基準座標ＫＦｉ、ＫＦｉ＋１を結ぶ線分上で、ＫＦｉからＣＰまでの距離ｎｄｉｓｔを近似的に算出する。そしてオブジェクト対応位置ＣＰは、最初のコース基準座標ＫＦ０から標準移動経路ＣＲ１に沿って計測した経路長ｐｏｓｌｄ＝ｂｄｉｓｔ＋ｎｄｉｓｔによって特定される。
【００４３】
ここで、近似的なＣＰ算出方法の例を示す。
【００４４】
例えば、図７に示すように、位置ＣＨ（Ｘ，Ｙ，Ｚ）がコース基準座標ＫＦｉ、ＫＦｉ＋１間に存在するとき、以下のパラメータを定義する。
ｖｐ０：位置ＣＨからコース基準座標ＫＦｉに向かうベクトル
ｖｐ１：ＫＦｉ＋１からＫＦｉに向かうベクトル
ｖｐ２：ＫＦｉ＋１からＣＨに向かうベクトル
【００４５】
ここで以下のパラメータを設定する。
ｂｄｉｓｔ：コース基準座標ＫＦ0からコース基準座標ＫＦiまでの経路長
ｎｄｉｓｔ：コース基準座標ＫＦｉからＣＰまでの経路長
ｐｏｓｌｔ：コース基準座標ＫＦ0から対応位置ＣＰまでの経路長
ｃ：コース基準座標ＫＦiから垂線の足ＣＦまでの距離
θ：ベクトルｖｐ０とベクトルｖｐ１のなす角度
【００４６】
上記ベクトルｖｐ０＋ｖｐ２がｖｐ１の良好な近似であれば、ノルム｜ｖｐ０｜をｎｄｉｓｔとみなすことができる。すなわち、
ｎｄｉｓｔ＝｜ｖｐ０｜                                      式（１）
である。
【００４７】
ベクトルｖｐ０＋ｖｐ２がｖｐ１の良好な近似となるか否かの判断は、例えば、以下のように実行する。
【００４８】
例えば、ベクトルｖｐ０、ｖｐ１の内積が負、あるいはベクトルｖｐ１の２乗が負となったとき（条件１という。）、良好な近似と判断し、ｖｐ０のノルムをｎｄｉｓｔとみなす。あるいは、ベクトルｖｐ１、ｖｐ２の内積が負のとき（条件２という。）、良好な近似と判断し、ｖｐ２のノルムをｎｄｉｓｔとみなす。
【００４９】
また、ベクトルｖｐ０＋ｖｐ２がｖｐ１の良好な近似とならないときは、例えば、図７に示すように、位置ＣＨからベクトルｖｐ１に垂線を垂らし、ＫＦｉから垂線の足ＣＦまでの距離を経路長ｎｄｉｓｔとみなして、対応位置ＣＰ（ｂｄｉｓｔ＋ｎｄｉｓｔ）を算出する。
このとき距離ｃは以下のように算出される。
ｎｄｉｓｔ＝｜ｖｐ０｜×ｃｏｓθ                              式（２）
ｃｏｓθ＝｛｜ｖｐ０｜２＋｜ｖｐ１｜２−｜ｖｐ２｜２｝
／｛２｜ｖｐ２｜・｜ｖｐ１｜｝                  式（３）
【００５０】
図８に示すように、音響Ｓ１〜Ｓ４のための音量情報ｖｏｌは、ｐｏｓｌｄのデジタル値ごとに設定され、オーディオメモリ１０８０に記憶されており、算出された経路長ｐｏｓｌｄが、デジタル値ｐｏｓｌｄ（ｊ）、ｐｏｓｌｄ（ｊ＋１）の間の値（ｐｏｓｌｄｔとする。）であったとき（式（４））、ｐｏｓｌｄ（ｊ）、ｐｏｓｌｄ（ｊ＋１）における音量をｖｏｌ（ｐｏｓｌｄ（ｊ））、ｖｏｌ（ｐｏｓｌｄ（ｊ＋１））とすると、式（５）の補間演算により音量ｖｏｌ（ｐｏｓｌｄｔ）を算出する。
ｐｏｓｌｄ（ｊ）＜ｐｏｓｌｄｔ＜ｐｏｓｌｄ（ｊ＋１）      式（４）
ｖｏｌ（ｐｏｓｌｄｔ）＝ｖｏｌ（ｐｏｓｌｄ（ｊ））
＋｛ｖｏｌ（ｐｏｓｌｄ（ｊ＋１））−ｖｏｌ（ｐｏｓｌｄ（ｊ））｝
×｛ｐｏｓｌｄｔ−ｐｏｓｌｄ（ｊ）｝
／｛ｐｏｓｌｄ（ｊ＋１）−ｐｏｓｌｄ（ｊ）｝        式（５）
【００５１】
コースＣＲは複数エリアに分割することも可能であり、各エリアを異なる情景、状況が設定されたステージとして、ゲームに変化を与えてもよい。各エリアの境界は、例えば、コース基準座標ＫＦ０〜ＫＦｎによって設定される。
【００５２】
以上のように、オブジェクト位置ＣＨに基づいてオブジェクト対応位置ＣＰを設定し、オブジェクト対応位置ＣＰの経路長またはその近似値に基づいて音響制御情報を設定するので、音響再生のための演算負荷は少ない。さらに、オブジェクトＣＨの移動方向に沿って、音響の音量を設定するので、滑らかな音響変化を設定することが容易であり、エリア境界での不自然な音響変化を防止し得る。
【００５３】
また、各距離における比率に基づいて音響の音量を決定することも可能である。この場合、比率に応じて各プラットフォームの最大の値に比率を掛け合わせることで、実際に音量を求めることが可能となる。また、毎フレームの計算を省く場合には、各ステージの初期化時等に予め補間を前提としない段階テーブルを生成しておき、音量変化がそれほどないポイント間は段階テーブルを少なくするなどして、データ位置検索を行うだけで音量をテーブルの値をそのまま使用することも可能である。これによって、音量変化がそれほどない場合においての補完を省くことで、負荷を抑えることも可能である。また、設定されている音量が０である場合のポイント間は計算をしないという設定をすることで、負荷を抑えることも可能である。
【００５４】
以上の実施例において、ＣＰＵ１０００、システムメモリ１０２０は協働して制御手段として機能する。
【００５５】
また、ＣＰＵ１０００、システムメモリ１０２０、ビデオディスプレイプロセッサ１０３０およびグラフィックメモリ１０４０は協働して、仮想空間ＳＰを生成する仮想空間生成手段として機能し、仮想空間内ＳＰでオブジェクトＣＨを生成するオブジェクト生成手段として機能する。
【００５６】
また、ＣＰＵ１０００、システムメモリ１０２０およびコントローラ２１００は協働して、仮想空間ＳＰ内で、オブジェクトＣＨを移動標準経路ＣＲ１に略沿って移動させる移動操作手段として機能する。
【００５７】
また、ＣＰＵ１０００およびシステムメモリ１０２０は協働して、オブジェクトＣＨの移動標準経路ＣＲ１を生成する標準経路生成手段として機能し、
オブジェクトＣＨの位置ＣＨ（Ｘ，Ｙ，Ｚ）に対応してオブジェクト対応位置ＣＰを算出するオブジェクト対応位置算出手段として機能する。
【００５８】
［ゲームプログラム］
ゲーム装置２０００において実行されるゲームプログラムについて説明する。
【００５９】
図９は、本発明に係るゲームプログラムの実施例１の処理を示すフローチャート、図１０は、図９における、オブジェクト対応位置算出の処理を示すフローチャートである。
【００６０】
図９において、ゲームプログラムは、以下の各ステップを制御手段に実行させる。
【００６１】
ステップＳ１１０１：まず、ｂｄｉｓｔ、ｐｏｓｌｄ、ｎｄｉｓｔ、ＣＨ（Ｘ，Ｙ，Ｚ）、ｖｐ０、ｖｐ１、ｖｐ２、θ等のパラメータを初期設定し、ステップＳ１１０２に進む。
【００６２】
ステップＳ１１０２：コントローラ２１００から、キャラクタＣＨを移動させるべきコントロール信号が入力されたか否か判断する。コントロール信号が入力されたときは、ステップＳ１１０３に進み、コントロール信号が入力されなかったときはステップＳ１１０７にジャンプする。
【００６３】
ステップＳ１１０３：コントロール信号に基づいてオブジェクトＣＨを移動させ、ステップＳ１１０４に進む。
【００６４】
ステップＳ１１０４：オブジェクト対応位置ＣＰを算出し、ステップＳ１１０５に進む。
【００６５】
ステップＳ１１０５：位置ＣＨおよびオブジェクトＣＨの方向等に基づいて表示すべきゲーム画像を生成、出力し、ステップＳ１１０６に進む。
【００６６】
ステップＳ１１０６：オブジェクト対応位置ＣＰに基づいて、オーディオメモリ１０８０から音響情報を読み出して、オーディオプロセッサ１０７０に入力する。オーディオプロセッサ１０７０に入力された音データは、表示装置２２００を介して、音響出力装置２２１０よりオブジェクト対応位置ＣＰに対応した音響が再生される。
【００６７】
ステップＳ１１０７：オブジェクトＣＨがゲームのゴールに到達したか否か判断する。ゴールに到達したときはそのまま処理を終了し、ゴールに到達していないときはステップＳ１１０８に進む。
【００６８】
ステップＳ１１０８：時間切れによってゲームを終了すべきか否か判断する。ゲームを終了すべきときはそのまま処理を終了し、時間切れでないときはステップＳ１１０２に戻る。
【００６９】
図１０において、ゲームプログラムは、ステップＳ１１０４のオブジェクト対応位置の算出に際して、制御手段に以下の各ステップを実行させる。
【００７０】
ステップＳ１２０１：条件１が満足されたか否か、すなわち、ベクトルｖｐ０、ｖｐ１の内積が負、あるいはベクトルｖｐ１の２乗が負であるか否かを判断する。条件１が満足されたときは、ステップＳ１２０５にジャンプし、条件１が満足されなかったときは、ステップＳ１２０２に進む。
【００７１】
ステップＳ１２０２：条件２が満足されたか否か、すなわち、ベクトルｖｐ１、ｖｐ２の内積が負であるか否かを判断する。条件２が満足されたときは、ステップＳ１２０４にジャンプし、条件２が満足されなかったときは、ステップＳ１２０３に進む。
【００７２】
ステップＳ１２０３：ベクトルｖｐ０＋ｖｐ２がｖｐ１の良好な近似とならないときは、図７に示すように、位置ＣＨからベクトルｖｐ１に垂線を垂らし、式（２）、（３）によって、ＫＦｉから垂線の足ＣＦまでの距離を算出し、経路長ｎｄｉｓｔとみなす。これによって、対応位置ＣＰ（ｂｄｉｓｔ＋ｎｄｉｓｔ）を算出する。その後、処理を終了する。
【００７３】
ステップＳ１２０４：ｎｄｉｓｔ＝｜ｖｐ２｜として対応位置ＣＰを算出する。その後、処理を終了する。
【００７４】
ステップＳ１２０５：ｎｄｉｓｔ＝｜ｖｐ０｜として対応位置ＣＰを算出する。その後、処理を終了する。
【実施例２】
【００７５】
実施例１は曲線コースに沿って移動するキャラクタについて、オブジェクト対応位置を経路長で定義したが、オブジェクト対応位置ＣＰを２次元領域で定義することも可能である。
【００７６】
図１１は、本発明に係るゲームプログラムおよびゲーム装置の実施例２における仮想空間を示す平面図、図１２は、本発明に係るゲームプログラムの実施例２の処理を示すフローチャートである。
【００７７】
図１１に示すように、例えば、Ｘ座標（ゲーム画像の水平方向の座標）、Ｚ座標（ゲーム画像の奥行方向の座標）によって複数の長方形エリアＡ１、Ａ２、Ａ３、Ａ４、Ａ５、Ａ６、Ａ７、・・・・を順次接続して、キャラクタＣＨの移動経路ＣＲを設定し、エリアＡ１を小エリアＡ１１〜Ａ１５、エリアＡ２を小エリアＡ２１〜Ａ２２、エリアＡ３を小エリアＡ３１〜Ａ３５、エリアＡ４を小エリアＡ４１〜Ａ４４、エリアＡ５を小エリアＡ５１〜Ａ５３、エリアＡ６を小エリアＡ６１〜Ａ６４、・・・に分割する。各小エリアは、Ｘ軸またはＺ軸に平行な辺のみで構成される長方形または多角形である。
【００７８】
すなわち、エリアＡ１、Ａ２、・・および小エリアＡ１１、Ａ１２、・・・は、Ｘ−Ｚ座標に沿った平面図形として定義されており、エリアＡ１、Ａ２、・・は、例えば、ゲームのステージに対応して設けられる。
【００７９】
コントローラ２１００の操作によってキャラクタＣＨはエリアＡ１、Ａ２、・・・・から逸脱しないように移動し、キャラクタＣＨの位置ＣＨ（Ｘ、Ｚ）によって小エリア（図１１では小エリアＡ４２）が決定する。
【００８０】
音響Ｓ１〜Ｓ４のための音データ（音響情報ならびに音響制御情報）は、各エリアについて、小エリアごとに変化するように設定され、制御手段は位置ＣＨ（Ｘ、Ｚ）に対応する小エリアをオブジェクト対応位置ＣＰとして特定し、対応する音データを読み出す。なお、小エリアの特定は、Ｘ、Ｚ座標の評価のみであるので、演算負荷はわずかである。
【００８１】
なお、エリアおよび小エリアを、Ｘ−Ｚ座標に沿った平面図形とせず、Ｘ−Ｙ（ゲーム画面の高さ方向）座標に沿った平面図形、Ｙ−Ｚ座標に沿った平面図形とすることも当然可能である。
【００８２】
実施例２のゲームプログラムは、図１、２のゲーム装置によって実行され、ゲームプログラムは、制御手段に以下の各ステップ（図１２）を実行させる。
【００８３】
ステップＳ１４０１〜Ｓ１４０３：図９のステップＳ１１０１〜Ｓ１１０３と同様の処理を実行する。
【００８４】
ステップＳ１４０４：位置ＣＨに対応するオブジェクト対応位置ＣＰ（小エリア）を算出し、ステップＳ１４０５に進む。
【００８５】
ステップＳ１４０５：図９のステップＳ１１０５と同様の処理を実行し、ステップＳ１４０６に進む。
【００８６】
ステップＳ１４０６：オブジェクト対応位置ＣＰ（小エリア）に基づいて、オーディオメモリ１０８０から音響制御情報を読み出して、オーディオプロセッサ１０７０に入力する。これによって、オブジェクト対応位置ＣＰに対応した音響が再生される。
【００８７】
ステップＳ１４０７、Ｓ１４０８：図９のステップＳ１１０７、Ｓ１１０８と同様の処理を実行する。
【００８８】
また、ゲームプログラムを汎用コンピュータによって実行する際には、ゲームプログラムをコンピュータに実行させるプログラムコードを、記憶媒体や通信媒体から、汎用コンピュータのシステムメモリに読み込む。
【産業上の利用可能性】
【００８９】
以上の実施例は主に１個のオブジェクトがコースに沿って走るゲームについて説明したが、１個または複数のオブジェクトが仮想空間内を移動する任意のゲームに適用でき、さらには、仮想空間内のオブジェクトを移動させる種々のアプリケーション、例えばフライトシミュレータ、ＲＰＧゲーム、アクションゲーム等に本発明を適用し得る。
【図面の簡単な説明】
【００９０】
【図１】本発明に係るゲーム装置の実施例を示す正面図である。
【図２】図１のゲーム装置を示すブロック図である。
【図３】図１のゲーム装置で実行されるゲームにおける、プレーヤキャラクタの移動経路を示す図である。
【図４】図１のゲーム装置で表示されるゲーム画面を示す図である。
【図５】図１のゲーム装置で表示される他のゲーム画面を示す図である。
【図６】図１のゲーム装置で実行されるゲームのための音響情報の例を示すグラフである。
【図７】対応位置算出法を示す図である。
【図８】音響の音量情報の例を示す表である。
【図９】本発明に係るゲームプログラムの実施例１の処理を示すフローチャートである。
【図１０】図９における、オブジェクト対応位置算出の処理を示すフローチャートである。
【図１１】本発明に係るゲームプログラムおよびゲーム装置の実施例２における仮想空間を示す平面図である。
【図１２】本発明に係るゲームプログラムの実施例２の処理を示すフローチャートである。
【符号の説明】
【００９１】
ＣＨ  オブジェクト（プレーヤキャラクタ）
ＣＰ  オブジェクト対応位置
ＣＲ  移動経路（コース）
ＣＲ１  標準移動経路
ＳＰ  仮想空間
ＬＧ  ライフゲージ
１０００  ＣＰＵ
１０１０  ＢＯＯＴ  ＲＯＭ
１０２０  システムメモリ
１０３０  ビデオディスプレイプロセッサ
１０４０  グラフィックメモリ
１１５０  モデム
１１６０  通信インターフェース
１０７０  オーディオプロセッサ
１０８０  オーディオメモリ
１０９０  ＣＤ−ＲＯＭドライブ
１１３０  メモリインターフェース
１１４０  コントロールインターフェース
１１９０  バスアービタ
２０００  ゲーム装置
２１００  コントローラ
２２００  表示装置
２２１０  音響出力装置
２３００  キーボード
【図１】
2010035978.tif 000003
【図２】
2010035978.tif 000004
【図３】
2010035978.tif 000005
【図４】
2010035978.tif 000006
【図５】
2010035978.tif 000007
【図６】
2010035978.tif 000008
【図７】
2010035978.tif 000009
【図８】
2010035978.tif 000010
【図９】
2010035978.tif 000011
【図１０】
2010035978.tif 000012
【図１１】
2010035978.tif 000013
【図１２】
2010035978.tif 000014