(57)【要約】【課題】表現できる長さに制限なくオブジェクトが移動した痕跡を表現するゲームプログラムおよびゲーム装置を提供する。【解決手段】仮想ゲーム世界におけるオブジェクトの配置位置の変化に応じて、オブジェクトが仮想ゲーム世界におけるゲームフィールド上を通過した痕跡の形状を示す痕跡形状情報が更新される。痕跡の有無別にそれぞれ用意された仮想ゲーム世界におけるゲームフィールドの画像を、痕跡形状情報に基づいて合成することによって地面テクスチャを生成する。地面テクスチャを用いて、仮想ゲーム世界におけるゲームフィールドを描画する。そして、オブジェクトが配置された仮想ゲーム世界を表示装置へ表示する。【選択図】図１２
2008099755.tif 000002
【特許請求の範囲】
【請求項１】
仮想ゲーム世界を移動するオブジェクトを表示装置に表示するゲーム装置のコンピュータで実行されるゲームプログラムであって、
仮想ゲーム世界における前記オブジェクトの配置位置を算出するオブジェクト位置算出ステップと、
前記配置位置の変化に応じて、前記オブジェクトが仮想ゲーム世界におけるゲームフィールド上を通過した痕跡の形状を示す痕跡形状情報を更新してメモリに記憶する痕跡形状情報更新ステップと、
前記痕跡の有無別にそれぞれ用意された仮想ゲーム世界におけるゲームフィールドの画像を、前記痕跡形状情報に基づいて合成することによって地面テクスチャを生成する地面テクスチャ生成ステップと、
前記地面テクスチャを用いて、前記仮想ゲーム世界におけるゲームフィールドを描画するゲームフィールド描画ステップと、
前記配置位置に前記オブジェクトを配置するオブジェクト配置ステップと、
前記オブジェクトが配置された仮想ゲーム世界を前記表示装置へ表示する表示制御ステップとを、前記コンピュータに実行させる、ゲームプログラム。
【請求項２】
前記オブジェクト位置算出ステップ、前記痕跡形状情報更新ステップ、前記地面テクスチャ生成ステップ、前記ゲームフィールド描画ステップ、および前記表示制御ステップは、所定の処理周期毎に前記コンピュータによって繰り返し実行される、請求項１に記載のゲームプログラム。
【請求項３】
前記痕跡形状情報は、前記痕跡が有るゲームフィールドの画像を前記痕跡がないゲームフィールドの画像に合成する合成割合を示す情報である、請求項１に記載のゲームプログラム。
【請求項４】
前記痕跡形状情報は、前記痕跡が有るゲームフィールドの画像を前記痕跡がないゲームフィールドの画像に合成する領域を示す情報である、請求項１に記載のゲームプログラム。
【請求項５】
前記痕跡形状情報は、前記領域に前記痕跡が有るゲームフィールドの画像を合成する合成割合をさらに示す情報である、請求項４に記載のゲームプログラム。
【請求項６】
前記痕跡形状情報更新ステップでは、既に描画されて前記表示装置に表示された痕跡を示す箇所に対して、前記痕跡が有るゲームフィールドの画像を合成する前記合成割合を低くして前記痕跡形状情報が更新される、請求項３または５に記載のゲームプログラム。
【請求項７】
前記痕跡形状情報は、前記ゲームフィールドに対して前記痕跡がある領域を第１の色で示し、前記痕跡がない領域を当該第１の色とは異なる第２の色で示し、前記痕跡が有るゲームフィールドの画像を前記痕跡がないゲームフィールドの画像に合成する合成割合を当該第１の色の濃度で示す画像データである、請求項１に記載のゲームプログラム。
【請求項８】
仮想ゲーム世界を移動するオブジェクトを表示装置に表示するゲーム装置であって、
仮想ゲーム世界における前記オブジェクトの配置位置を算出するオブジェクト位置算出手段と、
前記配置位置の変化に応じて、前記オブジェクトが仮想ゲーム世界におけるゲームフィールド上を通過した痕跡の形状を示す痕跡形状情報を更新して記憶手段に記憶する痕跡形状情報更新手段と、
前記痕跡の有無別にそれぞれ用意された仮想ゲーム世界におけるゲームフィールドの画像を、前記痕跡形状情報に基づいて合成することによって地面テクスチャを生成する地面テクスチャ生成手段と、
前記地面テクスチャを用いて、前記仮想ゲーム世界におけるゲームフィールドを描画するゲームフィールド描画手段と、
前記配置位置に前記オブジェクトを配置するオブジェクト配置手段と、
前記オブジェクトが配置された仮想ゲーム世界を前記表示装置へ表示する表示制御手段とを備える、ゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラムおよびゲーム装置に関し、より特定的には、仮想ゲーム世界でオブジェクトを移動させるゲームプログラムおよびゲーム装置に関する。
【背景技術】
【０００２】
従来、仮想ゲーム世界でオブジェクトを移動させるとき、そのオブジェクトが移動した痕跡を表現するゲーム装置がある（例えば、特許文献１参照）。上記ゲーム装置では、仮想ゲーム空間内でオブジェクトが移動した痕跡マーク（軌跡）をポリゴンで描画し、痕跡マークの後端側を時間経過と共に徐々に薄くして描画することにより、時間の経過に伴って痕跡マークが消滅するように表現される。
【特許文献１】特開２０００−２９８７３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記特許文献１で開示されたゲーム装置は、仮想ゲーム空間内において表現する軌跡マークの長さが長くなるほど、描画するポリゴンが多く必要となるため、それらのポリゴンに応じたメモリ容量の確保が必要となる。したがって、ゲーム装置の処理速度や割り当てられたメモリサイズによって、表現できる痕跡マークの長さが制限されてしまう。
【０００４】
それ故に、本発明の目的は、表現できる長さに制限なくオブジェクトが移動した痕跡を表現するゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【０００５】
上記の目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号やステップ番号等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
【０００６】
第１の発明は、仮想ゲーム世界を移動するオブジェクト（ＰＣ）を表示装置（２）に表示するゲーム装置（５）のコンピュータ（３０）で実行されるゲームプログラムである。ゲームプログラムは、オブジェクト位置算出ステップ（ステップ１５を実行するＣＰＵ３０、以下、単にステップ番号のみ記載する）、痕跡形状情報更新ステップ（Ｓ４６）、地面テクスチャ生成ステップ（Ｓ５１）、ゲームフィールド描画ステップ（Ｓ５２）、オブジェクト配置ステップ（Ｓ１５）、および表示制御ステップ（Ｓ５３、Ｓ１３）をコンピュータに実行させる。オブジェクト位置算出ステップは、仮想ゲーム世界におけるオブジェクトの配置位置（Ｄｂ）を算出する。痕跡形状情報更新ステップは、配置位置の変化に応じて、オブジェクトが仮想ゲーム世界におけるゲームフィールド上を通過した痕跡（Ｍ）の形状を示す痕跡形状情報（Ｔｓａ）を更新してメモリ（３３）に記憶する。地面テクスチャ生成ステップは、痕跡の有無別にそれぞれ用意された仮想ゲーム世界におけるゲームフィールドの画像（Ｔｔ、Ｔｇ）を、痕跡形状情報に基づいて合成することによって地面テクスチャ（Ｔｃ）を生成する。ゲームフィールド描画ステップは、地面テクスチャを用いて、仮想ゲーム世界におけるゲームフィールドを描画する。オブジェクト配置ステップは、配置位置にオブジェクトを配置する。表示制御ステップは、オブジェクトが配置された仮想ゲーム世界を表示装置へ表示する。
【０００７】
第２の発明は、上記第１の発明において、オブジェクト位置算出ステップ、痕跡形状情報更新ステップ、地面テクスチャ生成ステップ、ゲームフィールド描画ステップ、および表示制御ステップは、所定の処理周期毎にコンピュータによって繰り返し実行される。
【０００８】
第３の発明は、上記第１の発明において、痕跡形状情報は、痕跡が有るゲームフィールドの画像を痕跡がないゲームフィールドの画像に合成する合成割合を示す情報である。
【０００９】
第４の発明は、上記第１の発明において、痕跡形状情報は、痕跡が有るゲームフィールドの画像を痕跡がないゲームフィールドの画像に合成する領域を示す情報である。
【００１０】
第５の発明は、上記第４の発明において、痕跡形状情報は、領域に痕跡が有るゲームフィールドの画像を合成する合成割合をさらに示す情報である。
【００１１】
第６の発明は、上記第３または第５の発明において、痕跡形状情報更新ステップでは、既に描画されて表示装置に表示された痕跡を示す箇所に対して、痕跡が有るゲームフィールドの画像を合成する合成割合を低くして痕跡形状情報が更新される。
【００１２】
第７の発明は、上記第１の発明において、痕跡形状情報は、ゲームフィールドに対して痕跡がある領域を第１の色（黒）で示し、痕跡がない領域をその第１の色とは異なる第２の色（白）で示し、痕跡が有るゲームフィールドの画像を痕跡がないゲームフィールドの画像に合成する合成割合をその第１の色の濃度で示す画像データである。
【００１３】
第８の発明は、仮想ゲーム世界を移動するオブジェクトを表示装置に表示するゲーム装置である。ゲーム装置は、オブジェクト位置算出手段、痕跡形状情報更新手段、地面テクスチャ生成手段、ゲームフィールド描画手段、オブジェクト配置手段、および表示制御手段を備える。オブジェクト位置算出手段は、仮想ゲーム世界におけるオブジェクトの配置位置を算出する。痕跡形状情報更新手段は、配置位置の変化に応じて、オブジェクトが仮想ゲーム世界におけるゲームフィールド上を通過した痕跡の形状を示す痕跡形状情報を更新して記憶手段に記憶する。地面テクスチャ生成手段は、痕跡の有無別にそれぞれ用意された仮想ゲーム世界におけるゲームフィールドの画像を、痕跡形状情報に基づいて合成することによって地面テクスチャを生成する。ゲームフィールド描画手段は、地面テクスチャを用いて、仮想ゲーム世界におけるゲームフィールドを描画する。オブジェクト配置手段は、配置位置にオブジェクトを配置する。表示制御手段は、オブジェクトが配置された仮想ゲーム世界を表示装置へ表示する。
【発明の効果】
【００１４】
上記第１の発明によれば、仮想ゲーム世界の描画に先行して、痕跡のみを描画し、描画された痕跡をテクスチャ化して地面と合成して表示される。したがって、痕跡を描画するために必要な処理速度やメモリコストを、描画される痕跡のサイズに関係なく一定に保つことができる。また、２種類のゲームフィールドを示す画像を合成することによって地面テクスチャを生成するため、ゲームフィールドにフィットした地面を生成することができる。
【００１５】
上記第２の発明によれば、痕跡の描画処理が繰り返されるため、オブジェクトの移動に応じて、その痕跡を更新して適切に描画することができる。
【００１６】
上記第３の発明によれば、痕跡が有るゲームフィールドの画像を合成する割合を制御できるため、痕跡の濃淡をゲームフィールド上で表現することができる。
【００１７】
上記第４の発明によれば、痕跡形状情報を用いて、オブジェクトが通過した経路に応じた痕跡を描画することができる。
【００１８】
上記第５の発明によれば、痕跡形状情報を用いて、オブジェクトが通過した経路に応じた痕跡を描画しながら、その濃淡をゲームフィールド上で表現することができる。
【００１９】
上記第６の発明によれば、古い痕跡が時間経過と共に徐々に薄くして描画され、最終的には時間の経過に応じて古い痕跡が消滅するように表現される。
【００２０】
上記第７の発明によれば、第１の色（例えば、黒）で痕跡形状を示し、第２の色（例えば、白）で痕跡以外の領域を示し、第１の色の濃度で痕跡の濃淡を示す画像データによって、痕跡形状情報を実現することができる。
【００２１】
また、本発明のゲーム装置によれば、上述したゲームプログラムと同様の効果を得ることができる。
【発明を実施するための最良の形態】
【００２２】
図１を参照して、本発明の一実施形態に係るゲーム装置について説明する。以下、説明を具体的にするために、当該ゲーム装置の一例の据置型のゲーム装置を含むゲームシステムについて説明する。なお、図１は据置型のゲーム装置３を含むゲームシステム１の外観図であり、図２はゲーム装置本体５のブロック図である。以下、当該ゲームシステム１について説明する。
【００２３】
図１において、ゲームシステム１は、表示手段の一例の家庭用テレビジョン受像機（以下、モニタと記載する）２と、当該モニタ２に接続コードを介して接続する据置型のゲーム装置３とから構成される。モニタ２は、ゲーム装置本体５から出力された音声信号を音声出力するためのスピーカ２ａを備える。また、ゲーム装置３は、本願発明のゲームプログラムを記録した光ディスク４と、当該光ディスク４のゲームプログラムを実行してゲーム画面をモニタ２に表示出力させるためのコンピュータを搭載したゲーム装置本体５と、ゲーム画面に表示されたキャラクタ等を操作するゲームに必要な操作情報をゲーム装置本体５に与えるためのコントローラ７とを備えている。
【００２４】
また、ゲーム装置本体５は、通信ユニット６を内蔵する。通信ユニット６は、コントローラ７から無線送信されるデータを受信し、ゲーム装置本体５からコントローラ７へデータを送信して、コントローラ７とゲーム装置本体５とを無線通信によって接続する。さらに、ゲーム装置本体５には、当該ゲーム装置本体５に対して交換可能に用いられる情報記憶媒体の一例の光ディスク４が脱着される。ゲーム装置本体５の前部主面には、当該ゲーム装置本体５の電源ＯＮ／ＯＦＦスイッチ、ゲーム処理のリセットスイッチ、光ディスク４を脱着する投入口、およびゲーム装置本体５の投入口から光ディスク４を取り出すイジェクトスイッチ等が設けられている。
【００２５】
また、ゲーム装置本体５には、セーブデータ等のデータを固定的に記憶するバックアップメモリとして機能するフラッシュメモリ３８が搭載される。ゲーム装置本体５は、光ディスク４に記憶されたゲームプログラム等を実行することによって、その結果をゲーム画像としてモニタ２に表示する。さらに、ゲーム装置本体５は、フラッシュメモリ３８に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をモニタ２に表示することもできる。そして、ゲーム装置本体５のプレイヤは、モニタ２に表示されたゲーム画像を見ながら、コントローラ７を操作することによって、ゲーム進行を楽しむことができる。
【００２６】
コントローラ７は、通信ユニット６を内蔵するゲーム装置本体５へ、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）の技術を用いて操作情報等の送信データを無線送信する。コントローラ７は、主にモニタ２の表示画面に表示されるゲーム空間に登場するプレイヤキャラクタ等を操作したりするための操作手段である。コントローラ７は、片手で把持可能な程度の大きさのハウジングと、当該ハウジングの表面に露出して設けられた複数個の操作ボタン（十字キーやスティック等を含む）が設けられている。また、後述により明らかとなるが、コントローラ７は、当該コントローラ７から見た画像を撮像する撮像情報演算部７４を備えている。また、撮像情報演算部７４の撮像対象の一例として、モニタ２の表示画面近傍に２つのＬＥＤモジュール（以下、マーカと記載する）８Ｌおよび８Ｒが設置される。これらマーカ８Ｌおよび８Ｒは、それぞれモニタ２の前方に向かって例えば赤外光を出力する。また、コントローラ７は、ゲーム装置本体５の通信ユニット６から無線送信された送信データを通信部７５で受信して、当該送信データに応じた音や振動を発生させることもできる。
【００２７】
図２において、ゲーム装置本体５は、各種プログラムを実行する例えばＣＰＵ（セントラルプロセッシングユニット）３０を備える。ＣＰＵ３０は、図示しないブートＲＯＭに記憶された起動プログラムを実行し、メインメモリ３３等のメモリの初期化等を行った後、光ディスク４に記憶されているゲームプログラムの実行し、そのゲームプログラムに応じたゲーム処理等を行うものである。ＣＰＵ３０には、メモリコントローラ３１を介して、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３２、メインメモリ３３、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）３４、およびＡＲＡＭ（Ａｕｄｉｏ  ＲＡＭ）３５などが接続される。また、メモリコントローラ３１には、所定のバスを介して、通信ユニット６、ビデオＩ／Ｆ（インターフェース）３７、フラッシュメモリ３８、オーディオＩ／Ｆ３９、およびディスクＩ／Ｆ４１が接続され、それぞれのインターフェースにモニタ２、スピーカ２ａ、およびディスクドライブ４０が接続されている。
【００２８】
ＧＰＵ３２は、ＣＰＵ３０の命令に基づいて画像処理を行うものあり、例えば、３Ｄグラフィックスの表示に必要な計算処理を行う半導体チップで構成される。ＧＰＵ３２は、図示しない画像処理専用のメモリやメインメモリ３３の一部の記憶領域を用いて画像処理を行う。ＧＰＵ３２は、これらを用いてモニタ２に表示すべきゲーム画像データやムービ映像を生成し、適宜メモリコントローラ３１およびビデオＩ／Ｆ３７を介してモニタ２に出力する。
【００２９】
メインメモリ３３は、ＣＰＵ３０で使用される記憶領域であって、ＣＰＵ３０の処理に必要なゲームプログラム等を適宜記憶する。例えば、メインメモリ３３は、ＣＰＵ３０によって光ディスク４から読み出されたゲームプログラムや各種データ等を記憶する。このメインメモリ３３に記憶されたゲームプログラムや各種データ等が、ＣＰＵ３０によって実行される。
【００３０】
ＤＳＰ３４は、ゲームプログラム実行時にＣＰＵ３０において生成されるサウンドデータ等を処理するものであり、そのサウンドデータ等を記憶するためのＡＲＡＭ３５が接続される。ＡＲＡＭ３５は、ＤＳＰ３４が所定の処理（例えば、先読みしておいたゲームプログラムやサウンドデータの記憶）を行う際に用いられる。ＤＳＰ３４は、ＡＲＡＭ３５に記憶されたサウンドデータを読み出し、メモリコントローラ３１およびオーディオＩ／Ｆ３９を介してモニタ２に備えるスピーカ２ａに出力させる。
【００３１】
メモリコントローラ３１は、データ転送を統括的に制御するものであり、上述した各種Ｉ／Ｆが接続される。上述したように通信ユニット６は、コントローラ７からの送信データを受信し、当該送信データをＣＰＵ３０へ出力する。また、通信ユニット６は、ＣＰＵ３０から出力された送信データをコントローラ７の通信部７５へ送信する。ビデオＩ／Ｆ３７には、モニタ２が接続される。オーディオＩ／Ｆ３９にはモニタ２に内蔵されるスピーカ２ａが接続され、ＤＳＰ３４がＡＲＡＭ３５から読み出したサウンドデータやディスクドライブ４０から直接出力されるサウンドデータをスピーカ２ａから出力可能に接続される。ディスクＩ／Ｆ４１には、ディスクドライブ４０が接続される。ディスクドライブ４０は、所定の読み出し位置に配置された光ディスク４に記憶されたデータを読み出し、ゲーム装置本体５のバスやオーディオＩ／Ｆ３９に出力する。
【００３２】
図３および図４を参照して、コントローラ７について説明する。なお、図３は、コントローラ７の上面後方から見た斜視図である。図４は、コントローラ７を下面前方から見た斜視図である。
【００３３】
図３および図４において、コントローラ７は、例えばプラスチック成型によって形成されたハウジング７１を有しており、当該ハウジング７１に複数の操作部７２が設けられている。ハウジング７１は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
【００３４】
ハウジング７１上面の中央前面側に、十字キー７２ａが設けられる。この十字キー７２ａは、十字型の４方向プッシュスイッチであり、４つの方向（前後左右）に対応する操作部分が十字の突出片にそれぞれ９０°間隔で配置される。プレイヤが十字キー７２ａのいずれかの操作部分を押下することによって前後左右いずれかの方向を選択される。例えばプレイヤが十字キー７２ａを操作することによって、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、複数の選択肢から選択指示したりすることができる。
【００３５】
なお、十字キー７２ａは、上述したプレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、十字方向に４つのプッシュスイッチを配設し、プレイヤによって押下されたプッシュスイッチに応じて操作信号を出力する操作部を設けてもかまわない。さらに、上記４つのプッシュスイッチとは別に、上記十字方向が交わる位置にセンタスイッチを配設し、４つのプッシュスイッチとセンタスイッチとを複合した操作部を設けてもかまわない。また、ハウジング７１上面から突出した傾倒可能なスティック（いわゆる、ジョイスティック）を倒すことによって、傾倒方向に応じて操作信号を出力する操作部を上記十字キー７２ａの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー７２ａの代わりに設けてもかまわない。また、タッチパッドを、上記十字キー７２ａの代わりに設けてもかまわない。
【００３６】
ハウジング７１上面の十字キー７２ａより後面側に、複数の操作ボタン７２ｂ〜７２ｇが設けられる。操作ボタン７２ｂ〜７２ｇは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン７２ｂ〜７２ｇに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン７２ｂ〜７２ｄには、１番ボタン、２番ボタン、およびＡボタン等としての機能が割り当てられる。また、操作ボタン７２ｅ〜７２ｇには、マイナスボタン、ホームボタン、およびプラスボタン等としての機能が割り当てられる。これら操作ボタン７２ａ〜７２ｇは、ゲーム装置本体５が実行するゲームプログラムに応じてそれぞれの操作機能が割り当てられる。なお、図３に示した配置例では、操作ボタン７２ｂ〜７２ｄは、ハウジング７１上面の中央前後方向に沿って並設されている。また、操作ボタン７２ｅ〜７２ｇは、ハウジング７１上面の左右方向に沿って操作ボタン７２ｂおよび７２ｄの間に並設されている。そして、操作ボタン７２ｆは、その上面がハウジング７１の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【００３７】
また、ハウジング７１上面の十字キー７２ａより前面側に、操作ボタン７２ｈが設けられる。操作ボタン７２ｈは、遠隔からゲーム装置本体５の電源をオン／オフする電源スイッチである。この操作ボタン７２ｈも、その上面がハウジング７１の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【００３８】
また、ハウジング７１上面の操作ボタン７２ｃより後面側に、複数のＬＥＤ７０２が設けられる。ここで、コントローラ７は、他のコントローラ７と区別するためにコントローラ種別（番号）が設けられている。例えば、ＬＥＤ７０２は、コントローラ７に現在設定されている上記コントローラ種別をプレイヤに通知するために用いられる。具体的には、コントローラ７から通信ユニット６へ送信データを送信する際、上記コントローラ種別に応じて複数のＬＥＤ７０２のうち、種別に対応するＬＥＤが点灯する。
【００３９】
また、ハウジング７１上面には、操作ボタン７２ｂおよび操作ボタン７２ｅ〜７２ｇの間に後述するスピーカ（図５のスピーカ７０６）からの音を外部に放出するための音抜き孔が形成されている。
【００４０】
一方、ハウジング７１下面には、凹部が形成されている。ハウジング７１下面の凹部は、プレイヤがコントローラ７の前面をマーカ８Ｌおよび８Ｒに向けて片手で把持したときに、当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の後面側傾斜面には、操作ボタン７２ｉが設けられる。操作ボタン７２ｉは、例えばＢボタンとして機能する操作部である。
【００４１】
また、ハウジング７１前面には、撮像情報演算部７４の一部を構成する撮像素子７４３が設けられる。ここで、撮像情報演算部７４は、コントローラ７が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大２００フレーム／秒程度のサンプリング周期であるため比較的高速なコントローラ７の動きでも追跡して解析することができる。この撮像情報演算部７４の詳細な構成については、後述する。また、ハウジング７０の後面には、コネクタ７３が設けられている。コネクタ７３は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
【００４２】
次に、図５および図６を参照して、コントローラ７の内部構造について説明する。なお、図５は、コントローラ７の上筐体（ハウジング７１の一部）を外した状態を後面側から見た斜視図である。図６は、コントローラ７の下筐体（ハウジング７１の一部）を外した状態を前面側から見た斜視図である。ここで、図６に示す基板７００は、図５に示す基板７００の裏面から見た斜視図となっている。
【００４３】
図５において、ハウジング７１の内部には基板７００が固設されており、当該基板７００の上主面上に操作ボタン７２ａ〜７２ｈ、加速度センサ７０１、ＬＥＤ７０２、およびアンテナ７５４等が設けられる。そして、これらは、基板７００等に形成された配線（図示せず）によってマイコン７５１等（図６、図７参照）に接続される。また、図示しない無線モジュール７５３（図７参照）およびアンテナ７５４によって、コントローラ７がワイヤレスコントローラとして機能する。なお、ハウジング７１内部には図示しない水晶振動子７０３が設けられており、後述するマイコン７５１の基本クロックを生成する。また、基板７００の上主面上に、スピーカ７０６およびアンプ７０８が設けられる。また、加速度センサ７０１は、操作ボタン７２ｄの左側の基板７００上（つまり、基板７００の中央部ではなく周辺部）に設けられる。したがって、加速度センサ７０１は、コントローラ７の長手方向を軸とした回転に応じて、重力加速度の方向変化に加え、遠心力による成分が含まれる加速度を検出することができるので、所定の演算により、検出される加速度データからコントローラ７の回転を良好な感度でゲーム装置本体５等が判定することができる。
【００４４】
一方、図６において、基板７００の下主面上の前端縁に撮像情報演算部７４が設けられる。撮像情報演算部７４は、コントローラ７の前方から順に赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４によって構成されており、それぞれ基板７００の下主面に取り付けられる。また、基板７００の下主面上の後端縁にコネクタ７３が取り付けられる。さらに、基板７００の下主面上にサウンドＩＣ７０７およびマイコン７５１が設けられている。サウンドＩＣ７０７は、基板７００等に形成された配線によってマイコン７５１およびアンプ７０８と接続され、ゲーム装置本体５から送信されたサウンドデータに応じてアンプ７０８を介してスピーカ７０６に音声信号を出力する。
【００４５】
そして、基板７００の下主面上には、バイブレータ７０４が取り付けられる。バイブレータ７０４は、例えば振動モータやソレノイドである。バイブレータ７０４は、基板７００等に形成された配線によってマイコン７５１と接続され、ゲーム装置本体５から送信された振動データに応じてその作動をオン／オフする。バイブレータ７０４が作動することによってコントローラ７に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。ここで、バイブレータ７０４は、ハウジング７１のやや前方寄りに配置されるため、プレイヤが把持している状態において、ハウジング７１が大きく振動することになり、振動を感じやすくなる。
【００４６】
次に、図７を参照して、コントローラ７の内部構成について説明する。なお、図７は、コントローラ７の構成を示すブロック図である。
【００４７】
図７において、コントローラ７は、上述した操作部７２、撮像情報演算部７４、加速度センサ７０１、バイブレータ７０４、スピーカ７０６、サウンドＩＣ７０７、およびアンプ７０８の他に、その内部に通信部７５を備えている。
【００４８】
撮像情報演算部７４は、赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４を含んでいる。赤外線フィルタ７４１は、コントローラ７の前方から入射する光から赤外線のみを通過させる。レンズ７４２は、赤外線フィルタ７４１を透過した赤外線を集光して撮像素子７４３へ出射する。撮像素子７４３は、例えばＣＭＯＳセンサやあるいはＣＣＤのような固体撮像素子であり、レンズ７４２が集光した赤外線を撮像する。したがって、撮像素子７４３は、赤外線フィルタ７４１を通過した赤外線だけを撮像して画像データを生成する。撮像素子７４３で生成された画像データは、画像処理回路７４４で処理される。具体的には、画像処理回路７４４は、撮像素子７４３から得られた画像データを処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部７５へ出力する。なお、これらの撮像情報演算部７４は、コントローラ７のハウジング７１に固設されており、ハウジング７１自体の方向を変えることによってその撮像方向を変更することができる。
【００４９】
コントローラ７は、３軸（Ｘ、Ｙ、Ｚ軸）の加速度センサ７０１を備えていることが好ましい。この３軸の加速度センサ７０１は、３方向、すなわち、上下方向（図３に示すＹ軸）、左右方向（図３に示すＸ軸）、および前後方向（図３に示すＺ軸）で直線加速度を検知する。例えば、これらの加速度センサ７０１は、アナログ・デバイセズ株式会社（Ａｎａｌｏｇ  Ｄｅｖｉｃｅｓ，  Ｉｎｃ．）またはＳＴマイクロエレクトロニクス社（ＳＴＭｉｃｒｏｅｌｅｃｔｒｏｎｉｃｓ  Ｎ．Ｖ．）から入手可能であるタイプのものでもよい。加速度センサ７０１は、シリコン微細加工されたＭＥＭＳ（Ｍｉｃｒｏ  Ｅｌｅｃｔｒｏ  Ｍｅｃｈａｎｉｃａｌ  Ｓｙｓｔｅｍｓ：微小電子機械システム）の技術に基づいた静電容量式（静電容量結合式）であることが好ましい。しかしながら、既存の加速度検出手段の技術（例えば、圧電方式や圧電抵抗方式）あるいは将来開発される他の適切な技術を用いて、加速度センサ７０１が提供されてもよい。
【００５０】
加速度センサ７０１に用いられるような加速度検出手段は、加速度センサ７０１の持つ各軸に対応する直線に沿った加速度（直線加速度）のみを検知することができる。つまり、加速度センサ７０１からの直接の出力は、それら３軸のそれぞれに沿った直線加速度（静的または動的）を示す信号である。このため、加速度センサ７０１は、非直線状（例えば、円弧状）の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。
【００５１】
しかしながら、加速度センサ７０１から出力される加速度の信号に対して追加の処理を行うことによって、コントローラ７に関するさらなる情報を推測または算出（判定）することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、静的な加速度（重力加速度）が検知されると、加速度センサ７０１からの出力を用いて、傾斜角度と検知された加速度とを用いた演算によって重力ベクトルに対する対象（コントローラ７）の傾きを判定することができる。このように、加速度センサ７０１をマイコン７５１（またはゲーム装置本体５に含まれるＣＰＵ３０等の他のプロセッサ）と組み合わせて用いることによって、コントローラ７の傾き、姿勢、または位置を判定することができる。同様に、加速度センサ７０１を備えるコントローラ７がプレイヤの手で動的に加速されて動かされる場合に、加速度センサ７０１によって生成される加速度信号を処理することによって、コントローラ７の様々な動きおよび／または位置を算出することができる。他の実施例では、加速度センサ７０１は、信号をマイコン７５１に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサ７０１が静的な加速度（例えば、重力加速度）を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角（あるいは、他の好ましいパラメータ）に変換するものであってもよい。加速度センサ７０１でそれぞれ検知された加速度を示すデータは、通信部７５に出力される。
【００５２】
通信部７５は、マイクロコンピュータ（Ｍｉｃｒｏ  Ｃｏｍｐｕｔｅｒ：マイコン）７５１、メモリ７５２、無線モジュール７５３、およびアンテナ７５４を含んでいる。マイコン７５１は、処理の際にメモリ７５２を記憶領域として用いながら、送信データを無線送信する無線モジュール７５３を制御する。また、マイコン７５１は、アンテナ７５４を介して無線モジュール７５３が受信したゲーム装置本体５からのデータに応じて、サウンドＩＣ７０７およびバイブレータ７０４の動作を制御する。サウンドＩＣ７０７は、通信部７５を介してゲーム装置本体５から送信されたサウンドデータ等を処理する。また、マイコン７５１は、通信部７５を介してゲーム装置本体５から送信された振動データ（例えば、バイブレータ７０４をＯＮまたはＯＦＦする信号）等に応じて、バイブレータ７０４を作動させる。
【００５３】
コントローラ７に設けられた操作部７２からの操作信号（キーデータ）、加速度センサ７０１からの３軸方向の加速度信号（Ｘ、Ｙ、およびＺ軸方向加速度データ）、および撮像情報演算部７４からの処理結果データは、マイコン７５１に出力される。マイコン７５１は、入力した各データ（キーデータ、Ｘ、Ｙ、およびＺ軸方向加速度データ、処理結果データ）を通信ユニット６へ送信する送信データとして一時的にメモリ７５２に格納する。ここで、通信部７５から通信ユニット６への無線送信は、所定の周期毎に行われるが、ゲームの処理は１／６０秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は１６．７ｍｓ（１／６０秒）であり、ブルートゥース（登録商標）で構成される通信部７５の送信間隔は５ｍｓである。マイコン７５１は、通信ユニット６への送信タイミングが到来すると、メモリ７５２に格納されている送信データを一連の操作情報として出力し、無線モジュール７５３へ出力する。そして、無線モジュール７５３は、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）の技術を用いて、所定周波数の搬送波を用いて操作情報をその電波信号としてアンテナ７５４から放射する。つまり、コントローラ７に設けられた操作部７２からのキーデータ、加速度センサ７０１からのＸ、Ｙ、およびＺ軸方向加速度データ、および撮像情報演算部７４からの処理結果データがコントローラ７から送信される。そして、ゲーム装置本体５の通信ユニット６でその電波信号を受信し、ゲーム装置本体５で当該電波信号を復調や復号することによって、一連の操作情報（キーデータ、Ｘ、Ｙ、およびＺ軸方向加速度データ、および処理結果データ）を取得する。そして、ゲーム装置本体５のＣＰＵ３０は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、Ｂｌｕｅｔｏｏｔｈ（登録商標）の技術を用いて通信部７５を構成する場合、通信部７５は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
【００５４】
なお、後述により明らかとなるが、本発明のゲームプログラムでは、上記送信データとして送信する各データ（キーデータ、Ｘ、Ｙ、およびＺ軸方向加速度データ、処理結果データ）のうち、少なくともキーデータのみ送信されれば実現することができる。この場合、加速度センサ７０１や撮像情報演算部７４がコントローラ７に搭載されていなくてもかまわない。また、コントローラ７から音声を出力するための機能（スピーカ７０６、アンプ７０８、サウンドＩＣ７０７）やコントローラ７を振動させるための機能（バイブレータ７０４）もコントローラ７に搭載されていなくてもかまわない。
【００５５】
次に、ゲーム装置本体５が行う具体的な処理を説明する前に、図８を参照して本ゲーム装置本体５で行うゲームの概要について説明する。なお、図８は、モニタ２の表示画面に表示されるゲーム画像の一例を示す図である。
【００５６】
図８において、モニタ２の表示画面には、プレイヤが仮想ゲーム世界でプレイヤキャラクタＰＣを移動させるとき、そのプレイヤキャラクタＰＣが移動した痕跡Ｍが仮想地面上に表現される。例えば、プレイヤキャラクタＰＣは、仮想ゲーム世界における位置がコントローラ７から送信されるキーデータによって指示される。一例として、十字キー７２ａをプレイヤが押下する方向に応じて、プレイヤキャラクタＰＣが仮想ゲーム世界を移動する方向ｄが決定され、当該プレイヤキャラクタＰＣが決定された方向ｄへ一定速度で移動する。
【００５７】
プレイヤキャラクタＰＣは、仮想ゲーム世界に設定された地面上を移動するが、当該プレイヤキャラクタＰＣが通過した地面上には痕跡Ｍが描かれる。例えば、プレイヤキャラクタＰＣが戦車オブジェクトである場合、痕跡Ｍは、地面上に描かれるキャタピラ痕である。また、痕跡Ｍは、その後端側を時間経過と共に徐々に薄くして描画され、最終的には時間の経過に伴って当該後端側から痕跡Ｍが消滅するように表現される。なお、図８においては、痕跡Ｍを黒色で塗りつぶした矩形図形群で表現しており、仮想ゲーム世界の地面を白色で表現している。そして、痕跡Ｍが薄く描画されている様子を灰色〜白色に順次変化させて塗りつぶした矩形図形で表現している。
【００５８】
次に、ゲームシステム１において行われるゲーム処理の詳細を説明する。まず、図９を参照して、ゲーム処理において用いられる主なデータについて説明する。なお、図９は、ゲーム装置本体５のメインメモリ３３に記憶される主なデータを示す図である。
【００５９】
図９に示すように、メインメモリ３３には、キーデータＤａ、プレイヤキャラクタ位置データＤｂ、プレイヤキャラクタ方向データＤｃ、痕跡描画位置データＤｄ、痕跡形状テクスチャデータＤｅ、通常地面テクスチャデータＤｆ、痕跡地面テクスチャデータＤｇ、合成テクスチャデータＤｈ、描画スクリーンデータＤｉ、カメラ行列データＤｊ、および画像データＤｋ等が記憶される。なお、メインメモリ３３には、図９に示す情報に含まれるデータの他、ゲームに登場するプレイヤキャラクタＰＣや他のオブジェクト等に関するデータや仮想ゲーム空間に関するデータ等、ゲーム処理に必要なデータが記憶される。
【００６０】
キーデータＤａは、コントローラ７から送信データとして送信されてくる一連の操作情報に含まれるキーデータである。なお、ゲーム装置本体５に内蔵される通信ユニット６は、コントローラ７から所定間隔（例えば５ｍｓ毎）に送信される操作情報を受信し、通信ユニット６に備える図示しないバッファに蓄える。その後、ゲーム処理間隔である１フレーム毎（１／６０秒）に読み出されてメインメモリ３３のキーデータＤａが更新される。なお、コントローラ７から送信データとして送信されてくる一連の操作情報には、上述のキーデータの他に、処理結果データや加速度データが含まれるが、後述するフローチャートではこれらのデータを利用しない態様を示す。
【００６１】
プレイヤキャラクタ位置データＤｂは、仮想ゲーム世界におけるプレイヤキャラクタＰＣ（図８参照）の位置を示す、例えば座標データである。プレイヤキャラクタ方向データＤｃは、仮想ゲーム世界におけるプレイヤキャラクタＰＣの方向を示す、例えばベクトルデータである。痕跡描画位置データＤｄは、仮想ゲーム世界において、プレイヤキャラクタＰＣが移動した痕跡Ｍ（図８参照）を描画した最後の位置（つまり、痕跡Ｍの前端の位置）を示す、例えば座標データである。
【００６２】
痕跡形状テクスチャデータＤｅは、仮想ゲーム世界において、痕跡Ｍの形状やその濃淡を表現するテクスチャ画像データである。通常地面テクスチャデータＤｆは、仮想ゲーム世界における通常地面を表現するテクスチャ画像データである。痕跡地面テクスチャデータＤｇは、仮想ゲーム世界における痕跡部分を表現するテクスチャ画像データである。合成テクスチャデータＤｈは、痕跡形状テクスチャデータＤｅ、通常地面テクスチャデータＤｆ、および痕跡地面テクスチャデータＤｇがそれぞれ示すテクスチャ画像データを合成して得られ、仮想ゲーム世界において痕跡が残った地面を表現するテクスチャ画像データである。
【００６３】
描画スクリーンデータＤｉは、テクスチャ画像データを生成したり、モニタ２に表示するゲーム画像を生成したりするために使用される描画スクリーンＳａやＳｂを格納する。カメラ行列データＤｊは、描画スクリーンＳａやＳｂを生成するときの仮想カメラの状態を定義するカメラ行列Ｃ１やＣ２を示すデータである。
【００６４】
画像データＤｋは、プレイヤキャラクタ画像データＤｋ１等を含み、仮想ゲーム空間にプレイヤキャラクタＰＣ等を配置してゲーム画像を生成するためのデータである。
【００６５】
次に、図１０〜図１５を参照して、ゲーム装置本体５において行われるゲーム処理の詳細を説明する。なお、図１０は、ゲーム装置本体５において実行されるゲーム処理の流れを示すフローチャートである。図１１は、図１０におけるステップ１１の初期化処理の詳細な動作を示すサブルーチンである。図１２は、図１０におけるステップ１７の描画処理の詳細な動作を示すサブルーチンである。図１３は、仮想ゲーム世界と痕跡形状テクスチャＴｓａとの関係の一例を示す図である。図１４は、図１２に示す描画処理の動作に応じて、痕跡形状テクスチャを生成するまでの各段階の一例を示す図である。図１５は、図１２に示す描画処理の動作に応じて、合成テクスチャを生成する一例を示す図である。なお、図１０〜図１２に示すフローチャートにおいては、ゲーム処理のうち、仮想ゲーム世界に痕跡が描画される処理について主に説明し、本願発明と直接関連しない他のゲーム処理については詳細な説明を省略する。また、図１０〜図１２では、ＣＰＵ３０が実行する各ステップを「Ｓ」と略称する。
【００６６】
ゲーム装置本体５の電源が投入されると、ゲーム装置本体５のＣＰＵ３０は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、これによってメインメモリ３３等の各ユニットが初期化される。そして、光ディスク４に記憶されたゲームプログラムがメインメモリ３３に読み込まれ、ＣＰＵ３０によって当該ゲームプログラムの実行が開始される。図１０〜図１２に示すフローチャートは、以上の処理が完了した後に行われるゲーム処理を示すフローチャートである。
【００６７】
図１０において、ＣＰＵ３０は、ゲーム処理の初期化処理を行い（ステップ１１）、処理を次のステップに進める。以下、図１１を参照して、上記ステップ１１で行う初期化処理について説明する。
【００６８】
図１１において、ＣＰＵ３０は、プレイヤがゲームを行う仮想ゲーム世界のゲームフィールド（地面）を設定する（ステップ２０）。そして、ＣＰＵ３０は、仮想ゲーム世界にプレイヤキャラクタＰＣが通過した痕跡形状を書き込むテクスチャ（痕跡形状テクスチャ）の大きさを、仮想ゲーム世界において痕跡が描画される可能性のある地面の大きさに応じて設定し（ステップ２１）、処理を次のステップに進める。例えば、図１３に示すように、仮想ゲーム世界において痕跡が描画される可能性のある地面の大きさが縦Ｖｙ横Ｖｘである場合、痕跡形状テクスチャＴｓａが縦Ｔｙ横Ｔｘで設定される。そして、地面の大きさ縦Ｖｙ横Ｖｘの中心に基準点Ｐｖが設定され、縦Ｔｙ横Ｔｘの痕跡形状テクスチャＴｓａの中心に基準点Ｐｔが設定され、基準点ＰｖおよびＰｔはそれぞれ同じ地点を示す基準点である。
【００６９】
次に、ＣＰＵ３０は、痕跡形状テクスチャＴｓａのフォーマットを設定して（ステップ２２）、処理を次のステップに進める。例えば、ＣＰＵ３０は、痕跡形状テクスチャＴｓａのフォーマットとして、輝度Ｉおよびα値Ａでそれぞれテクスチャ化するフォーマット（例えば、ＩＡ８フォーマット）を設定する。
【００７０】
次に、ＣＰＵ３０は、痕跡形状テクスチャＴｓａの大きさおよびフォーマットに基づいて、記憶領域（例えば、メインメモリ３３や画像処理専用のメモリ）からテクスチャバッファを確保する（ステップ２３）。そして、ＣＰＵ３０は、フレームバッファやテクスチャバッファ等の描画領域の初期化を行い（ステップ２４）、処理を次のステップに進める。例えば、ＣＰＵ３０は、描画領域のＲＧＢＡ値をＲＧＢＡ＝｛０，０，０，０｝にして、描画領域の初期化を行う。
【００７１】
次に、ＣＰＵ３０は、痕跡形状テクスチャＴｓａの大きさに基づいて、痕跡形状テクスチャＴｓａを生成するための描画スクリーンＳａの大きさを算出して（ステップ２５）、描画スクリーンＳａを描画領域に設定する。そして、ＣＰＵ３０は、仮想カメラの視線がゲームフィールド（地面）の鉛直方向となるカメラ行列Ｃ１を算出し（ステップ２６）、カメラ行列データＤｊに格納して処理を次のステップに進める。例えば、カメラ行列Ｃ１は、仮想カメラが射影する態様に応じて、透視射影行列や正射影行列等の射影行列で算出される。
【００７２】
次に、ＣＰＵ３０は、描画スクリーンＳａを白く塗りつぶして初期化する（ステップ２７）。例えば、ＣＰＵ３０は、描画スクリーンＳａのＲＧＢＡ値をＲＧＢＡ＝｛２５５，２５５，２５５，２５５｝にして、描画スクリーンＳａを白く塗りつぶす。そして、ＣＰＵ３０は、上記ステップ２７で白く塗りつぶした描画スクリーンＳａをキャプチャしてテクスチャ化し、痕跡形状テクスチャＴｓａとして痕跡形状テクスチャデータＤｅに格納する（ステップ２８）。例えば、ＣＰＵ３０は、描画スクリーンＳａのＲ成分を輝度Ｉの値に、Ｇ成分をα値Ａの値にそれぞれ変換してテクスチャ化する。そして、ＣＰＵ３０は、プレイヤキャラクタＰＣの位置および方向を初期化して、プレイヤキャラクタ位置データＤｂおよびプレイヤキャラクタ方向データＤｃに格納し（ステップ２９）、当該サブルーチンによる処理を終了する。
【００７３】
図１０に戻り、ステップ１１の初期化処理の後、ＣＰＵ３０は、仮想ゲーム世界における現在のプレイヤキャラクタＰＣの位置を、痕跡Ｍの前端の位置（痕跡描画位置）として、痕跡描画位置データＤｄに格納する（ステップ１２）。次に、ＣＰＵ３０は、現在のプレイヤキャラクタＰＣの位置および方向に応じて、ゲームフィールドにプレイヤキャラクタＰＣを配置して、仮想カメラを視点としたゲーム画像をモニタ２に表示する（ステップ１３）。そして、ＣＰＵ３０は、キーデータを取得し（ステップ１４）、当該キーデータに応じて仮想ゲーム世界におけるプレイヤキャラクタＰＣの位置および方向を算出して、プレイヤキャラクタ位置データＤｂおよびプレイヤキャラクタ方向データＤｃを更新し（ステップ１５）、処理を次のステップに進める。例えば、図８に示したようなゲーム画像がモニタ２に表示される場合、プレイヤが十字キー７２ａの右方向を押下することに応じて、プレイヤキャラクタＰＣの方向が右方向となり、当該右方向に向かって一定速度でゲームフィールドを移動する。そして、プレイヤが十字キー７２ａの押下を解除することに応じて、プレイヤキャラクタＰＣが現在の方向を維持してゲームフィールド上で停止する。上記ステップ１５では、例えば、このようなプレイヤキャラクタＰＣの移動に応じた位置および方向が算出される。
【００７４】
次に、ＣＰＵ３０は、上記ステップ１２で格納された痕跡描画位置から現在のプレイヤキャラクタＰＣの位置までの仮想ゲーム世界における距離が、所定距離以上か否かを判断する（ステップ１６）。そして、ＣＰＵ３０は、痕跡描画位置からプレイヤキャラクタＰＣの位置までの距離が所定距離以上の場合、処理を次のステップ１７に進める。一方、ＣＰＵ３０は、痕跡描画位置からプレイヤキャラクタＰＣの位置までの距離が所定距離未満の場合、上記ステップ１３に戻って処理を繰り返す。
【００７５】
ステップ１７において、ＣＰＵ３０は、描画処理を行って、処理を次のステップに進める。以下、図１２を参照して、ＣＰＵ３０が行う描画処理について説明する。
【００７６】
図１２において、ＣＰＵ３０は、描画領域をクリアする（ステップ４１）。例えば、ＣＰＵ３０は、描画領域のＲＧＢＡ値をＲＧＢＡ＝｛０，０，０，０｝にして、描画領域をクリアする。次に、ＣＰＵ３０は、痕跡形状テクスチャデータＤｅに格納されている痕跡形状テクスチャＴｓａの大きさに基づいて、描画スクリーンＳａの大きさを算出して（ステップ４２）、描画スクリーンＳａを描画領域に設定する。そして、ＣＰＵ３０は、仮想カメラの視線がゲームフィールド（地面）の鉛直方向となるカメラ行列Ｃ１を算出し（ステップ４３）、カメラ行列データＤｊに格納して、処理を次のステップに進める。
【００７７】
次に、ＣＰＵ３０は、前回の処理で作成した痕跡形状テクスチャＴｓａを描画スクリーンＳａに描画して（ステップ４４）、処理を次のステップに進める。例えば、図１４Ａに示すように、痕跡形状テクスチャＴｓａに痕跡Ｍｔ０が描かれている場合、上記ステップ４４で描画スクリーンＳａに痕跡Ｍｔ０が描画される。
【００７８】
次に、ＣＰＵ３０は、描画スクリーンＳａ全体を所定量だけ白に近づけて（ステップ４５）、処理を次のステップに進める。例えば、ＣＰＵ３０は、輝度Ｉおよびα値Ａでテクスチャ化するフォーマットの場合、Ｉ＝２５５およびＡ＝２５５を白、Ｉ＝０およびＡ＝２５５を黒とする。この場合、ＣＰＵ３０は、描画スクリーンＳａ全体に対して輝度Ｉの値を所定量増加させることによって、描画スクリーンＳａ全体を白に近づける。上記ステップ４５の処理によって、図１４Ｂに示すように描画スクリーンＳａに描画された痕跡Ｍｔ０が所定量だけ白に近づいて描画される。なお、図１４Ｂでは、白に近づいた痕跡Ｍｔ０を斜線領域で示している。
【００７９】
次に、ＣＰＵ３０は、カメラ行列Ｃ１に基づいて、痕跡描画位置から現在のプレイヤキャラクタＰＣの位置までの痕跡を描画スクリーンＳａに描画して（ステップ４６）、処理を次のステップに進める。例えば、図１４Ｃに示すように、描画スクリーンＳａに描かれた痕跡Ｍｔ０の前端から、新たな痕跡Ｍｔ１が黒で描画される。
【００８０】
ここで、仮想ゲーム世界と描画スクリーンＳａとの位置関係を算出する一例について説明する。図１３を用いて説明したように、縦Ｖｙ横Ｖｘの仮想ゲーム世界の地面に対応して、縦Ｔｙ横Ｔｘの痕跡形状テクスチャＴｓａが設定されている。また、両者の中央には、それぞれ同じ地点を示す基準点ＰｖおよびＰｔが設定されている。つまり、縦Ｖｙ横Ｖｘ内の仮想ゲーム世界の地面における位置に対応する痕跡形状テクスチャＴｓａ内の位置は、両者の縦横それぞれの比（すなわち、Ｖｙ：ＴｙおよびＶｘ：Ｔｘ）を用いれば、算出することが可能である。例えば、仮想ゲーム世界の地面における基準点Ｐｖを基準とした縦ｙ０および横ｘ０の位置は、痕跡形状テクスチャＴｓａにおける基準点Ｐｔを基準とした縦ｙ０＊（Ｔｙ／Ｖｙ）および横ｘ０＊（Ｔｘ／Ｖｘ）に対応する。このような関係式によれば、図１３に示す仮想ゲーム世界の痕跡Ｍは、痕跡形状テクスチャＴｓａにおける痕跡Ｍｔに対応する。一方、描画スクリーンＳａは、痕跡形状テクスチャＴｓａの大きさに応じて設定され、上記ステップ４４において痕跡形状テクスチャＴｓａが描画スクリーンＳａに描画されている。したがって、上記ステップ４６では、このような関係式を用いて、仮想ゲーム世界における位置データに対応する描画スクリーンＳａ上の位置を算出することが可能となる。
【００８１】
次に、ＣＰＵ３０は、上記ステップ４６で描画した描画スクリーンＳａをキャプチャしてテクスチャ化し、新たな痕跡形状テクスチャＴｓａとして痕跡形状テクスチャデータＤｅを更新する（ステップ４７）。例えば、図１４Ｄに示すように、痕跡Ｍｔ０およびＭｔ１が描かれた描画スクリーンＳａがキャプチャされて、新たな痕跡形状テクスチャＴｓａが生成される。図１４Ａおよび図１４Ｄから明らかなように、痕跡形状テクスチャＴｓａに描かれていた痕跡が所定量だけ白に近づけられ、さらにプレイヤキャラクタＰＣの移動に応じて新たな痕跡が追記されて新たな痕跡形状テクスチャＴｓａが作成される。
【００８２】
次に、ＣＰＵ３０は、描画領域をクリアする（ステップ４８）。例えば、ＣＰＵ３０は、描画領域のＲＧＢＡ値をＲＧＢＡ＝｛０，０，０，０｝にして、描画領域をクリアする。なお、後述する処理によって、描画領域が上書きされてスクリーンＳａの描画内容が消去される場合、当該ステップ４８の処理を省略してもかまわない。次に、ＣＰＵ３０は、モニタ２に表示するゲーム画像のサイズに基づいて、当該ゲーム画像を生成するための描画スクリーンＳｂの大きさを算出して（ステップ４９）、描画スクリーンＳｂを描画領域に設定する。そして、ＣＰＵ３０は、描画スクリーンＳｂに対応する仮想カメラのカメラ行列Ｃ２を算出し（ステップ５０）、カメラ行列データＤｊに格納して、処理を次のステップに進める。
【００８３】
次に、ＣＰＵ３０は、痕跡形状テクスチャデータＤｅに格納された痕跡形状テクスチャＴｓａが示す痕跡Ｍｔの形状やその濃淡に応じて、通常地面テクスチャおよび痕跡地面テクスチャとを描画したい地面の大きさに応じて合成し（ステップ５１）、処理を次のステップに進める。
【００８４】
図１５に示すように、痕跡地面テクスチャデータＤｇには、痕跡部分を表現するための痕跡地面テクスチャＴｔが格納されており、痕跡形状テクスチャＴｓａが示す痕跡Ｍｔが黒いほど、痕跡地面テクスチャＴｔが示す色に近づいて表現される。また、通常地面テクスチャデータＤｆには、痕跡以外の通常地面を表現するための通常地面テクスチャＴｇが格納されており、痕跡形状テクスチャＴｓａが示す痕跡Ｍｔが白いほど、通常地面テクスチャＴｇが示す色に近づいて表現される。これら痕跡地面テクスチャＴｔ、通常地面テクスチャＴｇ、および痕跡形状テクスチャＴｓａを組み合わせて合成することによって、合成テクスチャＴｃが得られ、合成テクスチャデータＤｈに格納される。
【００８５】
次に、ＣＰＵ３０は、上記ステップ５１で作成した合成テクスチャＴｃを描画スクリーンＳｂに描画する（ステップ５２）。そして、ＣＰＵ３０は、地面以外のオブジェクトを描画スクリーンＳｂに描画してゲーム画像をモニタ２に表示して（ステップ５３）、当該サブルーチンによる処理を終了する。なお、ステップ５２においては、仮想ゲーム世界における地面形状を示す地面ポリゴンに、合成テクスチャＴｃをマッピングして行ってもかまわない。
【００８６】
図１０に戻り、ＣＰＵ３０は、上記ステップ１７の描画処理の後、ゲームを終了するか否かを判断する（ステップ１８）。ゲームを終了する条件としては、例えば、ゲームオーバーとなる条件が満たされたことや、プレイヤがゲームを終了する操作を行ったこと等がある。ＣＰＵ３０は、ゲームを終了しない場合に上記ステップ１２に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。
【００８７】
このように、上記実施形態に係るゲーム装置３は、仮想ゲーム世界の描画に先行して、痕跡のみを描画し、描画されたイメージをテクスチャ化して地面と合成して表示される。したがって、痕跡を描画するために必要な処理速度やメモリコストを、描画される痕跡のサイズに関係なく一定に保つことができる。また、痕跡がゲームフィールドに合成されてテクスチャ化されるため、完全にゲームフィールドにフィットした痕跡の描画を行うことが可能となる。
【００８８】
なお、ゲームフィールドに描く痕跡の図形は、図８に示したような複数図形群（塗りつぶした複数の矩形が連続した形態）や図１５に示したような連続曲線等、様々な図形で実現可能である。例えば、上記複数図形群は、ハートマークや多角形等の図形が等間隔で連続して描かれてもかまわない。さらに、等間隔で連続的に並べることによって一方向を示すことができる図形（例えば、矢印図形、奇数角形、ハートマーク等）で痕跡を描くことによって、プレイヤキャラクタＰＣが移動した方向を痕跡で示すことができる。また、プレイヤキャラクタＰＣの種別に応じて、痕跡の図形を変えてもかまわない。
【００８９】
例えば、同じ図形が等間隔で連続して描かれる複数図形群で痕跡が描画される場合、上記ステップ１６の判定基準となる所定距離を１つの当該図形を追加して描くことが可能な距離に設定する。このような設定によって、プレイヤキャラクタＰＣが上記所定距離を移動する毎に、１つの新たな痕跡図形が完全な形でゲームフィールドに出現するような描画処理が可能となる。
【００９０】
また、連続曲線等で痕跡が描画される場合、プレイヤキャラクタＰＣの移動に応じてリアルタイムに痕跡が出現する描画処理が可能となる。この場合、上記ステップ１６の判定基準となる所定距離を、描画処理の最小単位となる距離（例えば、１画素）や０に設定する。このような設定によって、プレイヤキャラクタＰＣが移動する毎に、途切れることなくプレイヤキャラクタＰＣの真下まで痕跡が描かれるような描画処理が可能となる。
【００９１】
また、上述したステップ１７の描画処理を繰り返すことによって、痕跡は、その後端側を時間経過と共に徐々に薄くして描画され、最終的には時間の経過に伴って当該後端側から痕跡が消滅するように表現される。しかしながら、本発明では、ゲームフィールド上の痕跡が出現時の状態で維持されて、時間経過と共に消滅しないような描画も可能である。例えば、上記ステップ４５の処理を省略することによって、痕跡が時間経過と共に消滅しない描画が可能となる。
【００９２】
また、本発明の本質的な技術は、痕跡をゲームフィールドに合成したテクスチャを描画処理に用いるところにあるので、プレイヤキャラクタＰＣを移動させる操作方法は、他の方法でもかまわない。例えば、十字キー７２ａの操作によってプレイヤキャラクタＰＣの方向を決定して、他の操作部７２の押下に応じた移動速度でプレイヤキャラクタＰＣが移動する態様でもかまわない。また、十字キー７２ａ以外の操作部７２の押下に応じて、プレイヤキャラクタＰＣの移動方向や移動速度が決定される態様でもかまわない。
【００９３】
また、上述したように、コントローラ７には撮像情報演算部７４や加速度センサ７０１が搭載されている。例えば、撮像情報演算部７４がマーカ８Ｌおよび８Ｒを撮像対象とした撮像画像を用いれば、モニタ２に対してコントローラ７で指し示した位置を算出することが可能となる。このようなコントローラ７で指し示した位置を仮想ゲーム世界上の位置に変換して、当該位置を移動目標としてプレイヤキャラクタＰＣを移動させてもかまわない。また、上述したように、加速度センサ７０１から出力される加速度の信号に対して追加の処理を行うことによって、コントローラ７の姿勢、動作、位置等を算出することが可能である。このようなコントローラ７の姿勢、動作、位置等に基づいて、プレイヤキャラクタＰＣを移動させてもかまわない。
【００９４】
また、上述した説明では、本発明の描画処理を実行するゲーム装置本体５をゲームシステム１に適用した例を説明したが、一般的なパーソナルコンピュータ等の情報処理装置にも適用することができる。
【００９５】
また、上述した説明では、コントローラ７とゲーム装置本体５とが無線通信によって接続された態様を用いたが、コントローラ７とゲーム装置本体５とがケーブルを介して電気的に接続されてもかまわない。この場合、コントローラ７に接続されたケーブルをゲーム装置本体５の接続端子に接続する。
【００９６】
また、上述したコントローラ７の形状や、それらに設けられている操作部７２の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。
【００９７】
また、本発明のゲームプログラムは、光ディスク４等の外部記憶媒体を通じてゲーム装置本体５に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置本体５に供給されてもよい。また、ゲームプログラムは、ゲーム装置本体５内部の不揮発性記憶装置に予め記録されていてもよい。なお、ゲームプログラムを記憶する情報記憶媒体としては、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体の他に、不揮発性半導体メモリでもよい。
【産業上の利用可能性】
【００９８】
本発明に係るゲームプログラムおよびゲーム装置は、痕跡を描画するために必要な処理速度やメモリコストを描画される痕跡のサイズに関係なく一定に保つことができ、ゲームフィールド等に痕跡を表示するゲーム装置やゲームプログラムとして有用である。
【図面の簡単な説明】
【００９９】
【図１】本発明の一実施形態に係るゲームシステム１を説明するための外観図
【図２】図１のゲーム装置本体５の機能ブロック図
【図３】図１のコントローラ７の上面後方から見た斜視図
【図４】図３のコントローラ７を下面後方から見た斜視図
【図５】図３のコントローラ７の上筐体を外した状態を示す斜視図
【図６】図４のコントローラ７の下筐体を外した状態を示す斜視図
【図７】図３のコントローラ７の構成を示すブロック図
【図８】図１のモニタ２の表示画面に表示されるゲーム画像の一例を示す図
【図９】図１のゲーム装置本体５のメインメモリ３３に記憶される主なデータを示す図
【図１０】図１のゲーム装置本体５において実行されるゲーム処理の流れを示すフローチャート
【図１１】図１０におけるステップ１１の初期化処理の詳細な動作を示すサブルーチン
【図１２】図１０におけるステップ１７の描画処理の詳細な動作を示すサブルーチン
【図１３】仮想ゲーム世界と痕跡形状テクスチャＴｓａとの関係の一例を示す図
【図１４Ａ】図１２に示す描画処理の動作に応じて、痕跡形状テクスチャを生成するまでの第１段階の一例を示す図
【図１４Ｂ】図１２に示す描画処理の動作に応じて、痕跡形状テクスチャを生成するまでの第２段階の一例を示す図
【図１４Ｃ】図１２に示す描画処理の動作に応じて、痕跡形状テクスチャを生成するまでの第３段階の一例を示す図
【図１４Ｄ】図１２に示す描画処理の動作に応じて、痕跡形状テクスチャを生成するまでの第４段階の一例を示す図
【図１５】図１２に示す描画処理の動作に応じて、合成テクスチャを生成する一例を示す図
【符号の説明】
【０１００】
１…ゲームシステム
２…モニタ
２ａ、７０６…スピーカ
３…ゲーム装置
３０…ＣＰＵ
３１…メモリコントローラ
３２…ＧＰＵ
３３…メインメモリ
３４…ＤＳＰ
３５…ＡＲＡＭ
３６…コントローラＩ／Ｆ
３７…ビデオＩ／Ｆ
３８…フラッシュメモリ
３９…オーディオＩ／Ｆ
４０…ディスクドライブ
４１…ディスクＩ／Ｆ
４…光ディスク
５…ゲーム装置本体
６…通信ユニット
７…コントローラ
７１…ハウジング
７２…操作部
７３…コネクタ
７４…撮像情報演算部
７４１…赤外線フィルタ
７４２…レンズ
７４３…撮像素子
７４４…画像処理回路
７５…通信部
７５１…マイコン
７５２…メモリ
７５３…無線モジュール
７５４…アンテナ
７００…基板
７０１…加速度センサ
７０２…ＬＥＤ
７０３…水晶振動子
７０４…バイブレータ
７０７…サウンドＩＣ
７０８…アンプ
８…マーカ
【図１】
2008099755.tif 000003
【図２】
2008099755.tif 000004
【図３】
2008099755.tif 000005
【図４】
2008099755.tif 000006
【図５】
2008099755.tif 000007
【図６】
2008099755.tif 000008
【図７】
2008099755.tif 000009
【図８】
2008099755.tif 000010
【図９】
2008099755.tif 000011
【図１０】
2008099755.tif 000012
【図１１】
2008099755.tif 000013
【図１２】
2008099755.tif 000014
【図１３】
2008099755.tif 000015
【図１４Ａ】
2008099755.tif 000016
【図１４Ｂ】
2008099755.tif 000017
【図１４Ｃ】
2008099755.tif 000018
【図１４Ｄ】
2008099755.tif 000019
【図１５】
2008099755.tif 000020