(57)【要約】【課題】  粒子状物体が積もってできている設定や、流体によってできている設定の移動面に沿って移動する移動体の航跡を立体感豊かに実現すること。【解決手段】  雪面６を移動する移動体に相当するスキー２２の移動にともなって、その左右側方に、移動面上の隆起面を表現する隆起部オブジェクト３２を、移動体の進行方向端に連結・追加配置する処理を繰り返し実行する。【選択図】図２
2010079564.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、移動面を配置して形成したゲーム空間内で、キャラクタオブジェクトを前記移動面に沿って移動制御して所定のゲームを実行するように機能させるためのプログラムであって、
前記キャラクタオブジェクトの移動に伴って、当該キャラクタオブジェクトの側方及び／又は後方に前記移動面より隆起した隆起面を形成する隆起部オブジェクトを配置することで航跡オブジェクトを形成・配置する航跡オブジェクト配置手段、
前記航跡オブジェクト配置手段により航跡オブジェクトが配置された前記ゲーム空間の画像を所定の仮想カメラに基づいて生成する画像生成手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
前記航跡オブジェクト配置手段が、新たな隆起部オブジェクトを既存の隆起部オブジェクトと連結させるように配置していく処理を繰り返すことで前記航跡オブジェクトを形成・配置するように前記コンピュータを機能させるための請求項１に記載のプログラム。
【請求項３】
前記航跡オブジェクト配置手段が、前記キャラクタオブジェクトの移動に伴って、２以上の所定数の前記隆起部オブジェクトを組として、既存の対応する隆起部オブジェクトと連結させて配置していくとともに、当該新たに配置した所定数の隆起部オブジェクト間を連結する板状の連結部オブジェクトを更に配置するように前記コンピュータを機能させるための請求項２に記載のプログラム。
【請求項４】
前記航跡オブジェクト配置手段が、前記航跡オブジェクトを構成する隆起部オブジェクトの端部に、先端に向かうほど隆起高さが低くなる端部オブジェクトを更に配置するように前記コンピュータを機能させるための請求項１〜３の何れか一項に記載のプログラム。
【請求項５】
前記移動面の状態として、前記隆起部オブジェクトの隆起高さを可変する基準となる状態を設定する移動面状態設定手段、
前記移動面の状態に基づいて前記隆起部オブジェクトの隆起高さを決定する隆起高さ決定手段、
として前記コンピュータを機能させ、
前記航跡オブジェクト配置手段が、配置する隆起部オブジェクトの高さを前記隆起高さ決定手段によって決定された隆起高さで配置する、
ように前記コンピュータを機能させるための請求項１〜４の何れか一項に記載のプログラム。
【請求項６】
前記航跡オブジェクト配置手段が、前記キャラクタオブジェクトの左右の側方それぞれに、前記キャラクタオブジェクトの向きと移動方向とがなす相対角度に応じた距離分離隔して前記隆起部オブジェクトを配置するように前記コンピュータを機能させるための請求項１〜５の何れか一項に記載のプログラム。
【請求項７】
前記航跡オブジェクト配置手段が、前記キャラクタオブジェクトの左右の側方それぞれに配置する前記隆起部オブジェクトの離隔距離に基づいて当該隆起部オブジェクトの隆起高さを変更するように前記コンピュータを機能させるための請求項６に記載のプログラム。
【請求項８】
前記航跡オブジェクトと他の航跡オブジェクトとが交差して配置されたことを検知する交差配置検知手段、
前記交差配置検知手段によって交差して配置されたと検知された航跡オブジェクト同士の描画順を配置順に設定する描画順設定手段、
として前記コンピュータを機能させるとともに、
前記画像生成手段が、前記航跡オブジェクトを前記ゲーム空間の地形の１つとして描画するとともに、前記描画順設定手段によって設定された描画順に従った順に前記航跡オブジェクトを描画する描画制御手段を有するように、
前記コンピュータを機能させるための請求項１〜７の何れか一項に記載のプログラム。
【請求項９】
前記航跡オブジェクトのＺ値を、当該航跡オブジェクトが配置されている移動面のＺ値と同じに設定する航跡Ｚ値設定手段として前記コンピュータを機能させるとともに、
前記画像生成手段が、各オブジェクトのＺ値に基づくＺバッファ法でゲーム空間の画像を生成するように前記コンピュータを機能させる、
ための請求項８に記載のプログラム。
【請求項１０】
前記隆起部オブジェクトの配置後経過時間に基づいて当該隆起部オブジェクトの寸法を補正する隆起寸法補正手段として前記コンピュータを機能させるための請求項１〜９の何れか一項に記載のプログラム。
【請求項１１】
前記ゲーム空間における光源を設定する光源設定手段、
前記光源の光線方向と前記キャラクタオブジェクトの位置とに基づく相対光源方向別に用意されたテクスチャを前記航跡オブジェクトにマッピングするテクスチャマッピング手段、
として前記コンピュータを機能させるための請求項１〜１０の何れか一項にプログラム。
【請求項１２】
請求項１〜１１の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項１３】
移動面を配置して形成したゲーム空間内で、キャラクタオブジェクトを前記移動面に沿って移動制御させるキャラクタオブジェクト移動制御手段と、
前記キャラクタオブジェクトの移動に伴って、当該キャラクタオブジェクトの側方及び／又は後方に前記移動面より隆起した隆起面を形成する隆起部オブジェクトを配置することで航跡オブジェクトを形成・配置する航跡オブジェクト配置手段と、
前記航跡オブジェクト配置手段により航跡オブジェクトが配置された前記ゲーム空間の画像を所定の仮想カメラに基づいて生成する画像生成手段と、
を備えるゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータを、移動面を配置して形成したゲーム空間内で、キャラクタオブジェクトを移動面に沿って移動制御して所定のゲームを実行するように機能させるためのプログラム等に関する。
【背景技術】
【０００２】
人型キャラクタは勿論、自動車やモータボートなどの移動体をプレーヤが操作するビデオゲームでは、移動体が移動面を移動した痕跡を表現することが行われている。
【０００３】
例えば、移動体オブジェクトの現在位置を読み取り、その現在位置から所定範囲内の長さに痕跡マークを描画するとともに、この痕跡マークの後端側を時間経過とともに徐々に薄くして消滅させることで痕跡ポリゴンを減少させて、痕跡を描きつつも痕跡の描画に要する画像処理の演算処理負荷を低減する技術が知られている（例えば、特許文献１を参照）。
【０００４】
また、雪面を滑るスキーの側方及び後方に、スキーの滑った跡として２次元のテクスチャをライン状に張り込むことでその航跡を表現したゲームも知られるところである（任天堂株式会社製家庭用ゲーム装置「Ｗｉｉ」用のゲームソフト「ファミリースキー」に関する非特許文献１を参照）。
【特許文献１】特開２００７−２９８７３３号公報
【非特許文献１】株式会社バンダイナムコゲームス、「ファミリースキー  取扱説明書」、２００８年
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述のような従来技術によれば、効果的に移動体が移動した痕跡を表現することができる。しかし、例えば新雪の斜面を滑走するスキー等の周囲に生まれる航跡のように、かき分けられた雪が積み上がって形成される痕跡を表現するには、２次元の痕跡マークや２次元のテクスチャの張り込みだけでは立体感に乏しく感じる場面があった。例えば、アップダウンのある斜面を滑走したのち、様々な角度から撮影したリプレイ画面を表示する際に、斜面の丘状部に残った航跡を側方から撮影したシーンの立体感は、２次元の痕跡マークや２次元のテクスチャの張り込みといった従来技術では実現できない。
【０００６】
本発明は、こうした事情を鑑みてなされたものであり、その目的とするところは、粒子状物体が積もってできている設定や、流体によってできている設定の移動面に沿って移動する移動体の航跡を立体感豊かに実現することである。
【課題を解決するための手段】
【０００７】
上記の課題を解決する第１の発明は、コンピュータを、移動面を配置して形成したゲーム空間内で、キャラクタオブジェクトを前記移動面（例えば、図２や図３の雪面６）に沿って移動制御して所定のゲームを実行するように機能させるためのプログラムであって、
前記キャラクタオブジェクトの移動に伴って、当該キャラクタオブジェクトの側方及び／又は後方に前記移動面より隆起した隆起面を形成する隆起部オブジェクトを配置することで航跡オブジェクトを形成・配置する航跡オブジェクト配置手段（例えば、図１２の処理部２００、ゲーム演算部２１０、航跡配置制御部２１８、図１７のステップＳ１６）、
前記航跡オブジェクト配置手段により航跡オブジェクトが配置された前記ゲーム空間の画像を所定の仮想カメラに基づいて生成する画像生成手段（例えば、図１２の処理部２００、画像生成部２６０、図１７のステップＳ３４）、として前記コンピュータを機能させるためのプログラムである。
【０００８】
また、別形態として、移動面を配置して形成したゲーム空間内で、キャラクタオブジェクトを前記移動面に沿って移動制御させるキャラクタオブジェクト移動制御手段（例えば、図１の制御ユニット１２１０、図１２の処理部２００、ゲーム演算部２１０、ＰＣ動作制御部２１２、ＮＰＣ動作制御部２１４、図１７のステップＳ１０〜Ｓ１２）と、
前記キャラクタオブジェクトの移動に伴って、当該キャラクタオブジェクトの側方及び／又は後方に前記移動面より隆起した隆起面を形成する隆起部オブジェクトを配置することで航跡オブジェクトを形成・配置する航跡オブジェクト配置手段（例えば、図１の制御ユニット１２１０、図１２の処理部２００、ゲーム演算部２１０、航跡配置制御部２１８、図１７のステップＳ１６）と、
前記航跡オブジェクト配置手段により航跡オブジェクトが配置された前記ゲーム空間の画像を所定の仮想カメラに基づいて生成する画像生成手段（例えば、図１の制御ユニット１２１０、図１２の処理部２００、画像生成部２６０、図１７のステップＳ３４）と、を備えるゲーム装置として実現することもできる。
【０００９】
第１の発明によれば、キャラクタオブジェクトが移動する移動面上に、隆起面を形成する隆起部オブジェクトをキャラクタオブジェクトの移動制御に伴って、その側方や後方に配置することで、あたかも移動面を形成していた粒子状物質や流体の盛り上がり（例えば、船の曳波）がそこに有るかのように立体的に表現することができる。
【００１０】
第２の発明は、第１の発明のプログラムであって、前記航跡オブジェクト配置手段が、新たな隆起部オブジェクトを既存の隆起部オブジェクトと連結させるように配置していく処理を繰り返すことで前記航跡オブジェクトを形成・配置するように前記コンピュータを機能させるためのプログラムである。
【００１１】
第２の発明によれば、第１の発明と同様の効果を奏するとともに、キャラクタオブジェクトの移動制御に伴って、その側方や後方に次々に隆起部オブジェクトを連結配置させてゆくことができる。よって、移動体の移動にともなって隆起部が次々にできて行く様をリアルに表現することができる。
【００１２】
第３の発明は、第２の発明のプログラムであって、前記航跡オブジェクト配置手段が、前記キャラクタオブジェクトの移動に伴って、２以上の所定数の前記隆起部オブジェクトを組として既存の対応する隆起部オブジェクトと連結させて配置していくとともに、当該新たに配置した所定数の隆起部オブジェクト間を連結する板状の連結部オブジェクトを更に配置するように前記コンピュータを機能させるためのプログラムである。
【００１３】
第３の発明によれば、第２の発明と同様の効果を奏するとともに，キャラクタオブジェクトの移動によってかき分けられて隆起する部分と、それら隆起部分の間にあってキャラクタオブジェクトによって均された部分とを表現できる。
後者は、例えば雪面を滑ったスキーやスノーボートなどで圧し固め均された部分を表現するのに好適であり、よりリアルな航跡の表現を実現する。
【００１４】
第４の発明は、第１〜第３の何れかの発明のプログラムであって、前記航跡オブジェクト配置手段が、前記航跡オブジェクトを構成する隆起部オブジェクトの端部に、先端に向かうほど隆起高さが低くなる端部オブジェクト（例えば、図３の前端オブジェクト３８、後端オブジェクト４０）を更に配置するように前記コンピュータを機能させるためのプログラムである。
【００１５】
第４の発明によれば、第１〜第３の発明の何れかと同様の効果を奏するとともに、隆起部の先端部分をなだらかに移動面に続く形状とすることで、移動面と隆起面との見かけ上のなじみを良くできる。
【００１６】
第５の発明は、第１〜第４の何れかの発明のプログラムであって、前記移動面の状態として、前記隆起部オブジェクトの隆起高さを可変する基準となる状態を設定する移動面状態設定手段（例えば、図１２の記憶部５００、ゲーム空間設定データ５１０、ステージ設定データ５１２、雪質設定５１６）、
前記移動面の状態に基づいて前記隆起部オブジェクトの隆起高さを決定する隆起高さ決定手段（例えば、図１２の処理部２００、ゲーム演算部２１０、航跡配置制御部２１８、図１８のステップＳ６６〜Ｓ６８）、として前記コンピュータを機能させ、
前記航跡オブジェクト配置手段が、配置する隆起部オブジェクトの高さを前記隆起高さ決定手段によって決定された隆起高さで配置するように前記コンピュータを機能させるためのプログラムである。
【００１７】
ここでいう「移動面の状態」とは、ゲーム設定上の移動面の状態であり、例えば雪面や砂漠のように移動面が粒子状物質の堆積で形成されている設定ならば、その積もった深さ、粒子状物質の重さ、粒子状物質の大きさなど、隆起部の形成に影響するパラメータを示す。また、移動面が水面のような液体によって形成されている設定ならば、流体の粘性、深さ、水草の密生度合いなど、波の形成に影響するパラメータが該当する。
【００１８】
第５の発明によれば、第１〜第４の何れかの発明と同様の効果を奏するとともに、移動面の状態に応じて航跡オブジェクトの隆起部の高さを調整することができるので、よりリアリティの高い立体感を実現することができる。
【００１９】
第６の発明は、第１〜第５の発明の何れかのプログラムであって、前記航跡オブジェクト配置手段が、前記キャラクタオブジェクトの左右の側方それぞれに、前記キャラクタオブジェクトの向きと移動方向とがなす相対角度に応じた距離分離隔して前記隆起部オブジェクトを配置するように前記コンピュータを機能させるためのプログラムである。
【００２０】
第６の発明によれば、第１〜第５の何れかの発明と同様の効果を奏するとともに、ターン中のスキー（移動体）のように、現在の進行方向と移動体の相対姿勢とが変化する場合でも、移動面を形成するものが移動体によって左右に押し分けられて隆起面を形成しているかのように見せることができる。
【００２１】
第７の発明は、第６の発明のプログラムであって、前記航跡オブジェクト配置手段が、前記キャラクタオブジェクトの左右の側方それぞれに配置する前記隆起部オブジェクトの離隔距離に基づいて当該隆起部オブジェクトの隆起高さを変更するように前記コンピュータを機能させるためのプログラムである。
【００２２】
第７の発明によれば、第６の発明と同様の効果を奏するとともに、例えば、隔離距離が大きいほど隆起高さを高くするならば、スキーのターンのように相対角度が大きいほど、大きな航跡が形成される様子を表現できる。勿論、隔離距離が大きいほど隆起高さを低くすることもできる。
【００２３】
第８の発明は、第１〜第７の何れかの発明のプログラムであって、前記航跡オブジェクトと他の航跡オブジェクトとが交差して配置されたことを検知する交差配置検知手段（例えば、図１２の処理部２００、航跡配置制御部２１８、記憶部５００、キャラクタステータスデータ５３０、航跡オブジェクトデータ５５０、図１６のラインオブジェクトデータ５５２、図１８のステップＳ８０）、
前記交差配置検知手段によって交差して配置されたと検知された航跡オブジェクト同士の描画順を配置順に設定する描画順設定手段（例えば、図１２の処理部２００、航跡配置制御部２１８、記憶部５００、キャラクタステータスデータ５３０、航跡オブジェクトデータ５５０、図１６のラインオブジェクトデータ５５２、図１８のステップＳ８２〜Ｓ８４）、として前記コンピュータを機能させるとともに、
前記画像生成手段が、前記航跡オブジェクトを前記ゲーム空間の地形の１つとして描画するとともに、前記描画順設定手段によって設定された描画順に従った順に前記航跡オブジェクトを描画する描画制御手段を有するように、前記コンピュータを機能させるためのプログラムである。
【００２４】
第８の発明によれば、第１〜第７の発明の何れかと同様の効果を奏するとともに、航跡オブジェクトを地形の一部とみなして描画することができる。その一方で、既に航跡オブジェクトが配置されているところに交差して新たに航跡オブジェクトを配置する際には、新たに配置する航跡オブジェクトの描画順番を配置順に設定できる。従って、航跡が重なる部分では後からできた航跡オブジェクトが上書き描画されるようにして、交差部分の隆起面の立体感を正しく表現することができる。
【００２５】
第９の発明は、第８の発明のプログラムであって、前記航跡オブジェクトのＺ値を、当該航跡オブジェクトが配置されている移動面のＺ値と同じに設定する航跡Ｚ値設定手段（例えば、図１２の処理部２００、航跡配置制御部２１８、図１８のステップＳ７２〜Ｓ７６）として前記コンピュータを機能させるとともに、
前記画像生成手段が、各オブジェクトのＺ値に基づくＺバッファ法でゲーム空間の画像を生成するように前記コンピュータを機能させるためのプログラムである。
【００２６】
第９の発明によれば、第８の発明と同様の効果を奏するとともに、ゲーム空間の画像を、基本的にはＺバッファ法で生成しつつも、航跡が重なる部分では後からできた航跡オブジェクトが上書き描画されるようにして、交差部分の隆起面の立体感を正しく表現することができる。
【００２７】
第１０の発明は、第１〜第９の何れかの発明のプログラムであって、前記隆起部オブジェクトの配置後経過時間に基づいて当該隆起部オブジェクトの寸法を補正する隆起寸法補正手段（例えば、図１２の処理部２００、航跡配置制御部２１８、図２５のステップＳ１６４）として前記コンピュータを機能させるためのプログラムである。
【００２８】
第１０の発明によれば、第１〜第９の発明の何れかと同様の効果を奏するとともに、隆起面が発生してからの時間経過にともなって高くなったり、或いは低くなるように表現することができる。例えば、船の曳波によって生じる水面の隆起高さを徐々に低くしていくといった表現に効果的である。
【００２９】
第１１の発明は、第１〜第１０の何れかの発明のプログラムであって、前記ゲーム空間における光源を設定する光源設定手段（例えば、図１２の処理部２００、ゲーム演算部２１０、記憶部５００、ゲーム空間設定データ５１０、光源位置データ５１８、図１７のステップＳ２）、
前記光源の光線方向と前記キャラクタオブジェクトの位置とに基づく相対光源方向別に用意されたテクスチャを前記航跡オブジェクトにマッピングするテクスチャマッピング手段（例えば、図１２の処理部２００、画像生成部２６０、図２０のステップＳ１２６）、
として前記コンピュータを機能させるためのプログラムである。
【００３０】
第１１の発明によれば、第１〜第１０の何れかの発明と同様の効果を奏するとともに、光源方向とキャラクタオブジェクトとの相対光源方向に応じた航跡のテクスチャを適用することで、環境条件に合致した陰影を持った優れた立体感を実現することができる。
【００３１】
第１２発明は、第１〜第１１の発明の何れかのプログラムを記憶したコンピュータ読取可能な情報記憶媒体である。ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ＩＣメモリなどを含む。第１２の発明によれば、第１〜第１１の発明の何れかのプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第１〜第１１の発明の何れかと同様の効果を発揮させることができる。
【発明を実施するための最良の形態】
【００３２】
〔第１実施形態〕
次に、第１実施形態として、本発明を適用したゲーム装置として家庭用ゲーム装置を挙げ、スキーゲームを実行する例を説明する。
【００３３】
［ゲーム装置の構成］
図１は、本実施形態における家庭用ゲーム装置の構成例を説明するシステム構成図である。同図に示すように、家庭用ゲーム装置１２００は、ゲーム装置本体１２１０と、ゲームコントローラ１２３０と、ビデオモニタ１２２０とを備える。
【００３４】
ゲーム装置本体１２０１は、例えばＣＰＵや画像処理用ＬＳＩ、ＩＣメモリ等が実装された制御ユニット１２１０と、光学ディスク１２０２やメモリカード１２０４といった情報記憶媒体の読み取り装置１２０６，１２０８とを備える。そして、家庭用ゲーム装置１２００は、光学ディスク１２０２やメモリカード１２０４からゲームプログラム及び各種設定データを読み出し、ゲームコントローラ１２３０に為される操作入力に基づいて制御ユニット１２１０が各種のゲーム演算を実行してビデオゲームを実行する。
【００３５】
制御ユニット１２１０は、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）及びＤＳＰ（Digital Signal Processor）などの各種マイクロプロセッサ、ＡＳＩＣ(Application Specific Integrated Circuit)、ＩＣメモリなどの電気電子機器を備え家庭用ゲーム装置１２００の各部を制御する。また、制御ユニット１２１０は、インターネットやＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）と言った通信回線１と接続して外部装置との間でデータ通信を実現する通信装置１２１２を備える。
【００３６】
ゲームコントローラ１２３０は、選択の決定やキャンセル、タイミングの入力などに用いられるコントローラ上面に設けられたプッシュボタン１２３２と、左右の前側面に設けられたプッシュボタン１２３３Ｒ，１２３３Ｌと、図で言うところの上下左右の各方向を単独入力するための方向入力キー１２３４と、右アナログレバー１２３６Ｒと、左アナログレバー１２３６Ｌとを備える。
【００３７】
右アナログレバー１２３６Ｒ及び左アナログレバー１２３６Ｌは、図で言うところの上下方向と左右方向の２軸方向を同時入力可能な方向入力デバイスである。通常はゲームコントローラ１２３０を左右の手で把持し、レバーにそれぞれ親指を添えて操作する。レバーを倒すことによって２軸成分を含む任意の方向入力と、レバーの傾倒量に応じた任意操作量を入力することができる。また、何れのアナログレバーも、操作入力していない中立状態からレバーの軸方向に押し込むことでプッシュスイッチとして使用することもできる。
【００３８】
本実施形態では、プッシュボタン１２３２でプレーヤキャラクタであるスキーヤの加速や減速操作を入力し、方向入力キー１２３４或いは左アナログレバー１２３６Ｌの傾倒入力で左右のターン操作を入力する。
【００３９】
ゲーム装置本体１２０１の制御ユニット１２１０は、ゲームコントローラ１２３０から受信した検出信号や操作入力信号に基づいてゲーム画像やゲーム音を生成してビデオゲームを実行する。生成されたゲーム画像やゲーム音は、信号ケーブル１２０９で接続されたビデオモニタ１２２０（ディスプレイモニタ）に出力される。ビデオモニタ１２２０には、画像を表示するフラットパネルディスプレイ１２２２と音声を放音するスピーカ１２２４とが備えられており、プレーヤはフラットパネルディスプレイ１２２２に映し出されるゲーム画像を見ながら、スピーカ１２２４から放音されるゲーム音を聞きつつゲームをプレイする。
【００４０】
尚、本実施形態では、必要なプログラムや各種設定データを光学ディスク１２０２やメモリカード１２０４から読み出す構成としているが、制御ユニット１２１０の通信装置１１２１２でインターネットやＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などの有線／無線の通信回線１に接続して外部の装置からダウンロードする構成としても良い。
【００４１】
［ゲームの概要の説明］
次に、図２は本実施形態におけるスキーゲームのゲーム画面例を示す図である。本実施形態におけるスキーゲームは、プレーヤキャラクタ２とＮＰＣ（ノンプレイアブルキャラクタ）４とが、どちらが先にゴールまで滑り降りる事ができるかを競うスキーレースゲームである。
【００４２】
プレーヤキャラクタ２及びＮＰＣ４は、雪面６や樹木８などの背景オブジェクトが配置されたゲーム空間内に配置される。そして、プレーヤキャラクタ２にはゲームコントローラ１２３０に為された操作入力に応じて加速や減速、左右のターンの動作制御が行われ、ＮＰＣ４は所謂ＡＩ制御によって自律的に動作制御される。ゲーム画面Ｗ２は、プレーヤキャラクタ２の背後に自動追尾される仮想カメラで撮影したゲーム空間画像に、タイム表示１２や順位表示１４などの情報表示を合成して生成される。
【００４３】
プレーヤキャラクタ２及びＮＰＣ４は雪面６を滑走するので、それぞれの滑った場所には雪面６の雪がスキーによってかき分けられたり、スキーの板で均されてできた、滑った後の痕跡の航跡２０が表示される。公知のスキーゲームでは、プレーヤキャラクタ２及びＮＰＣ４の滑った後に航跡２０を表す２次元のテクスチャが張り込まれるに過ぎなかった。しかし、それでは新雪の雪面６のように深々とした航跡２０の立体感に乏しいため、本実施形態では航跡２０を雪面６の上に隆起面を設けて立体感を高めた表現を実現する。
【００４４】
［航跡の配置の原理］
図３は、本実施形態における航跡形成の原理を説明するための概念図である。尚、同図では、プレーヤキャラクタ２やＮＰＣ４の代理表現として、スキー（スキー板）２２を移動体として示している。
同図に示すように、本実施形態では雪面６（移動面）を移動するスキー２２（移動体）の左右側方に、雪面６よりも隆起した隆起面を形成する航跡オブジェクト３０を配置する。
【００４５】
航跡オブジェクト３０は、スキー２２の左方と右方にそれぞれ一体ずつ配置される上向きに凸形状を成した隆起部オブジェクト３２と、それら隆起部オブジェクト３２の対向面側の雪面（移動面）寄り端部を連結した板状の連結部オブジェクト３４とを備える。前者が、スキー２２によって掻き分けられて積み上がった雪を表し、後者がスキー２２のソールによって均された雪面を表す。
【００４６】
また、隆起部オブジェクト３２は、更に直線状のラインオブジェクト３６と、このラインオブジェクト３６の末端に連結される前端オブジェクト３８及び後端オブジェクト４０とを有する。
【００４７】
ラインオブジェクト３６は、プレーヤキャラクタ２の進行方向に長尺の矩形ポリゴンが凸面を成すように連結されたオブジェクトである。勿論、矩形ポリゴンは複数の三角形ポリゴンで構成するとしても良い。
【００４８】
本実施形態のラインオブジェクト３６の縦断面形状は、上面ポリゴン３６ａと、その左端・右端からそれぞれ斜め下向きの左側面ポリゴン３６ｂと右側面ポリゴン３６ｃとで形成される。つまり、断面は上向きに凸の台形をなしている。尚、縦断面形状はこれに限るものではなく、左側面ポリゴン３６ｂと右側面ポリゴン３６ｃの２枚からなる山形（三角形状）でも良いし、４枚以上のポリゴンで構成しても良い。
【００４９】
前端オブジェクト３８及び後端オブジェクト４０は、それぞれ端に向かうほど高さが低くなる斜面を形成し、移動面との見かけ上の馴染みを良くする。言わば、ラインオブジェクト３６の先端に取り付けるキャップとも言える。
【００５０】
図４は、航跡オブジェクト３０の諸元決定のために用いられるスキー２２の姿勢に基づくパラメータを示す概念図である。同図に示すように、速度ベクトルＶで移動するスキー２２の代表点Ｇ（例えば、キャタクタの代表点の雪面６への投影点）を基準にして、各スキー板それぞれについて代表点Ｇから速度ベクトルＶの進行方向に直交する左右方向に沿った先端までの距離Ｌｒｆ，Ｌｌｆと、後端までの距離Ｌｒｒ，Ｌｌｒとを算出する。そして、算出した先端までの距離Ｌｒｆ，Ｌｌｆのうちの最大値と、後端までの距離Ｌｒｒ，Ｌｌｒのうちの最大値とを合計して、速度ベクトルＶへの直交方向の正面投影幅Ｌｓを算出する。
【００５１】
図５は、スキー２２のパラメータと航跡オブジェクト３０の縦断面形状（より厳密にはラインオブジェクト３６の縦断面形状）の諸元との関係を示す図である。
同図に示すように、先ず正面投影幅Ｌｓを引数とする所定の関数ｆ１で連結部オブジェクト３４の連結部左右幅Ｌｃを算出する。具体的な関数ｆ１は、スキー２２の側面からどれだけ離して隆起部オブジェクト３２を配置すると好適かに応じて適宜設定される関数であり、例えば正面投影幅Ｌｓを１．２倍する関数として定められる。
【００５２】
次いで、連結部左右幅Ｌｃに係数ｋ１を乗じて隆起部オブジェクト３２の隆起高Ｈを算出し、連結部左右幅Ｌｃに係数ｋ２を乗じて隆起部オブジェクト３２の隆起幅Ｗを算出する。ここでの係数ｋ１、ｋ２は、移動面の状態、つまり現在滑走中の雪面６の雪質の設定に応じて予め用意されている定数である。例えば、圧接やザラメ雪では小さく、新雪では大きく設定する。新雪でも積雪が大きいほど係数ｋ１，ｋ２の値が大きくなるように設定されている。
【００５３】
図６は、本実施形態における航跡オブジェクト３０に適用されるテクスチャの例を示す図である。これらのテクスチャ４４（４４ａ，４４ｂ，４４ｃ）は、移動面（本実施形態では雪面６）の設定素材の特定態様を表現するテクスチャである。具体的には、本実施形態では、隆起部オブジェクト３２の部分には押しのけられた雪が積み上がっている感じの陰影がラインオブジェクト３６の長辺方向に合わせて施され、連結部オブジェクト３４の部分にはスキー２２のソールで均された雪面を感じさせる陰影が施されている。
【００５４】
陰影のできる方向をプレーヤキャラクタ２に対する光源４６の相対光源方向に応じて、（ａ）プレーヤキャラクタ２の進行方向に向かって左側に光源４６があるパターンの第１テクスチャ４４ａ、（ｂ）上方に光源４６があるダウンライトパターンの第２テクスチャ４４ｂ、（ｃ）進行方向に向かって右側に光源があるパターンの第３テクスチャ４４ｃの合計３種類が用意されている。そして、プレーヤキャラクタ２が滑り始める前の停止状態における光源４６の相対方向に応じて、どのテクスチャを適用するかが決定される。なお、図６（ｂ）では、光源４６と、第２テクスチャ４４ｂとが重なって図示されている。（第２テクスチャ４４ｂには、図６（ｂ）に示された太陽のマークは含まれない。）
勿論、テクスチャ４４の種類は、これらに限るものではなく、プレーヤキャラクタ２に対する光源の相対方向を細かく区分してより多くの種類を設定することができる。雪面の雪質設定などに応じて設けても良い。
【００５５】
図７は、スキー２２と航跡オブジェクト３０との相対位置関係を示す俯瞰図である。同図に示すような配置は、プレーヤキャラクタ２がレース開始前にゲーム空間に配置された時点や、ジャンプして着地した時点に相当する。以降、この状態を航跡オブジェクト３０の初期配置と呼ぶ。
【００５６】
航跡オブジェクト３０の初期配置でのラインオブジェクト３６は、スキー２２の左右各側方に前端頂点５０と後端頂点５２が設定され、それらを結ぶ辺でポリゴンが形成される。具体的には、スキー２２の代表点Ｇを基準にして、連結左右幅Ｌｃの１／２の距離だけ左又は右に離れ、代表点Ｇから前側に距離Ｌ５だけ離れた位置の左右それぞれに前端頂点５０が決定され、代表点Ｇから後方に距離Ｌ４だけ離れた位置に後方頂点５２が決定される。そして、それらを結ぶ辺で上面ポリゴン３６ａ、左側面ポリゴン３６ｂ及び右側面ポリゴン３６ｃが決定される。本実施形態では、前端頂点５０はスキー２２のトップよりやや後方位置に設定され、後端頂点５２はテール端のほぼ真横に設定される。
【００５７】
そして、ラインオブジェクト３６の前端及び後端には、前端頂点５０及び後端頂点５２より外側の所定相対位置に先端頂点５４が設けられる。この先端頂点５４と前端頂点５０又は後端頂点５２とを結ぶ辺でポリゴンが設定されて、進行方向前側に先窄まりな隆起面を形成する前端オブジェクト３８と、進行方向後方に先窄まりな隆起面を形成する後端オブジェクト４０を成す。
尚、前端頂点５０の設置位置は、同図の例に限らず適宜設定することができる。例えば、スキー２２の代表点Ｇの左右真横位置に設けるとしても良い。
【００５８】
図８は、スキー２２の移動に伴う隆起部オブジェクトの更新方法について説明する俯瞰図である。本実施形態では、一度配置されたラインオブジェクト３６及び後端オブジェクト４０は基本的には雪面（移動面）上に配置されたままとなる。
一方、スキー２２が１描画フレーム分だけ前進すると、新たな配置位置の代表点Ｇ１に基づいて、新たなラインオブジェクト３６−１が、既存のラインオブジェクト３６−０の前端に、隆起面が繋がるようにして連結・配置される（図８（ａ）→図８（ｂ））。そして、前端オブジェクト３８は、新たなラインオブジェクト３６−１の前端に連結するように配置位置が更新される（図８（ｃ））。このように、本実施形態では、スキー２２が止まるかジャンプするまで、こうした新たな隆起部オブジェクト３２を既存の隆起部オブジェクト３２と連結させて配置することを繰り返して航跡オブジェクト３０を移動面上に形成・配置する。
【００５９】
また、新たに左右のラインオブジェクト３６−１が追加されるのに伴って、それらを連結する新たな連結部オブジェクト３４−１も配置される。
【００６０】
同図の例では、スキー２２は直滑降姿勢なので、連結部オブジェクト３４の左右幅Ｌｃがそのままになるように新たなラインオブジェクト３６−１が配置されているが、新たに配置されるラインオブジェクト３６−１の諸元は、前進したスキー２２の姿勢に基づくパラメータから求められる。
【００６１】
図９は、ターン中のスキー２２と航跡オブジェクト３０との相対位置関係を示す俯瞰図である。同図に示すように、プレーヤキャラクタ２が左ターンする場合には、進行方向に対してスキー２２が斜め姿勢をとるので、スキー２２の方向は速度ベクトルＶに対して相対角度θを成す。
【００６２】
同図においてスキー２２の移動に伴って新たに配置されるラインオブジェクト３６−４では、新たに設定される前端頂点５０は、代表点Ｇから左右にそれぞれ連結左右幅Ｌｃの１／２だけ離れ、進行方向前側に距離Ｌ６＝Ｌ０・ｃｏｓθ（但し、Ｌ０はスキー２２の全長。最小値はスキー２２の現在の横幅Ｌ１。）だけ離れた位置に設定される。
【００６３】
よって、ターン部分では連結部オブジェクト３４の連結左右幅Ｌｃが徐々に広くなるように新たなラインオブジェクト３６が配置されてゆく。結果、スキー２２のテールで均された部分がターンの曲り始めから徐々に広がり、曲り終わりに掛けて徐々に狭くなるリアルな形状の航跡オブジェクト３０が形成されることになる。
【００６４】
尚、前端頂点５０の左右の配置については、代表点Ｇからの離間距離を左右均等にする構成に限らず、例えば、進行方向に対するスキー２２の長手方向側の比率を小さく設定するとともに（例えば、０．３Ｌｃ）、反対側を大きく設定して（例えば、０．７Ｌｃ）、ターンの外側ほど離間距離が大きくなるように設定することもできる。
【００６５】
図１０は、本実施形態における航跡オブジェクトの重なり部分の描画処理について説明するための図である。先ず、図１０（ａ）に示すように、雪面６に第１の航跡オブジェクト３０−１が配置されたとする。この時、同オブジェクトの各ポリゴンのＺ値は配置される雪面６のＺ値と同じ値に設定されて、Ｚバッファに書き込まれる。また、同オブジェクトにおける各部の描画順番は、雪面６の描画順を「１（図中では丸付き数字で表記）」にして、連結部オブジェクト３４−１が描画順番「２」、左右の隆起部オブジェクト３２を描画番号「３」（又は左右で分けると「３」と「４」）とされる。
【００６６】
次に、図１０（ｂ）に示すように、第１の航跡オブジェクト３０−１と交差するように第２の航跡オブジェクト３０−２が配置されたとする。この時、第２の航跡オブジェクト３０−２の各ポリゴンのＺ値も、先程と同様に配置される雪面６のＺ値と同じ値に設定されてＺバッファに書き込まれる。そして、第２の航跡オブジェクト３０−２が有する複数の連結部オブジェクト３４−２及び隆起部オブジェクト３２の内、第１の航跡オブジェクト３０−１と重なるオブジェクトについては、第１の航跡オブジェクト３０−１の連結部オブジェクト３４−１や隆起部オブジェクト３２−１よりも描画順が後順に設定される。つまり、航跡オブジェクト３０の配置順となる。
そして、第１の航跡オブジェクト３０−１に重なる連結部オブジェクト３４−２と隆起部オブジェクト３２−２との描画順番は、後者の方が後順となるように設定される。よって、図１０（ｂ）の場合では、第１の航跡オブジェクト３０−１に重なる連結部オブジェクト３４−２が描画順番「４」、第１の航跡オブジェクト３０−１に重なる隆起部オブジェクト３２−２の描画順番が「５」に設定される。
【００６７】
そして、本実施形態では、仮想カメラでゲーム空間内を撮影した画像を生成する際、基本的には公知のレンダリング手法と同様にしてＺバッファ法を用いる。つまり、描画するポリゴンのＺ値に基づいて仮想カメラに対する遠近関係を判断し、描画画素において最も仮想カメラに近いポリゴンが描画される。しかし、描画画素の位置に航跡オブジェクト３０が配置されている場合には、例外として当該描画画素位置の雪面６及び配置済の航跡オブジェクト３０の各部分オブジェクトに設定されている描画順番に従って各ポリゴンを上書き描画する。
【００６８】
例えば、図１０（ｂ）において、破線で示した第１の航跡オブジェクト３０−１の隆起部オブジェクトの部分は、雪面６のポリゴンが描画された後、第１の航跡オブジェクト３０−１の連結部オブジェクト３４−１のポリゴンが上書きされた後に隆起部オブジェクト３２−１のポリゴンが上書きされ、更に第２の航跡オブジェクト３０−２の連結部オブジェクト３４−２のポリゴンが上書きされ、更に第２の航跡オブジェクト３０−２の隆起部オブジェクト３２−２のポリゴンが上書き描画される。この結果、破線で示した第１の航跡オブジェクト３０−１の隆起部オブジェクトの部分はゲーム空間画像上では見えなくなり、航跡が交差した場所として正しい立体感が表現される。
【００６９】
また、本実施形態では隆起部オブジェクト３２の配置位置をゲームの進行に応じて補正することができる。
図１１は、隆起部オブジェクト３２を側面から見た図である。本実施形態では、前述のように新たに配置されるラインオブジェクト３６−６の前端頂点５０のうち、上面ポリゴン３６ａの頂点に該当する隆起部上面頂点５０ｆ（同図中の白点）の隆起高Ｈ（＝Ｈ０）は、スキー２２の正面投影幅Ｌｓ及び連結部左右幅Ｌｃに対して関数で決定される。しかし、今回配置された新たな前端頂点５０を除く既存の前端頂点５０を、代表点Ｇからの直線距離Ｌｇに応じて隆起高を増すように隆起高Ｈ１（＞Ｈ０）に補正する。具体的には直線距離Ｌｇが所定の基準値に達すると隆起部上面頂点５０ｆの位置を隆起高がＨ０からＨ１になるように補正する。これによって、前端オブジェクト３８の先窄まりの形状と相まって、スキー２２のトップによって勢い良く左右に掻き分けられる雪の様子をよりリアルな立体感で表現することができる。
【００７０】
［機能ブロックの説明］
次に、上述のようなゲームを実現するための具体的な構成について説明する。
図１２は、本実施形態における家庭用ゲーム装置１２００の機能構成の一例を示す機能ブロック図である。同図に示すように本実施形態では、操作入力部１００と、処理部２００と、音出力部３５０と、画像表示部３６０と、通信部３７０と、記憶部５００とを備える。
【００７１】
操作入力部１００は、プッシュボタンや、レバー、タッチパッド、ダイヤル、キーボード、マウス、各種ポインタ、加速度センサ、傾斜センサなどの入力デバイスやセンサ類によって実現され、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部２００に出力する。図１のゲームコントローラ１２３０が操作入力部１００に該当する。
【００７２】
処理部２００は、例えばマイクロプロセッサやＡＳＩＣ（特定用途向け集積回路）、ＩＣメモリなどの電子部品によって実現され、各機能部との間でデータの入出力を行うとともに所定のプログラムやデータ及び操作入力部１００からの操作入力信号に基づいて各種の演算処理を実行して、家庭用ゲーム装置１２００の動作を制御する。図１では、ゲーム装置本体１２０１に内蔵された制御ユニット１２１０が処理部２００に該当する。
【００７３】
そして、本実施形態における処理部２００は、ゲーム演算部２１０と、音生成部２５０と、画像生成部２６０と、通信制御部２７０とを備える。
【００７４】
ゲーム演算部２１０は、ゲームの進行に係る処理を実行する。例えば、３次元仮想空間中にゲーム空間を形成する処理や、ゲーム空間中に配置されたオブジェクトの動作制御処理、ヒット判定処理、物理演算処理、ゲーム結果の判定処理、ゲーム開始からの経過時間の算出などが実行対象に含まれる。
【００７５】
より具体的には、本実施形態のゲーム演算部２１０は、ＰＣ（プレーヤキャラクタ）動作制御部２１２と、ＮＰＣ動作制御部２１４と、仮想カメラ自動制御部２１６と、航跡配置制御部２１８とを含んでいる。
【００７６】
ＰＣ動作制御部２１２は、操作入力部１００に為された操作入力に基づいてプレーヤキャラクタ２の加速・減速・ターンといった動作制御を行う。
ＮＰＣ動作制御部２１４は、所定の思考ルーチンに従ってＮＰＣ４を自律的にゴール目指して滑走するように自動動作制御する。同制御は、公知のレースゲームにおけるＡＩ制御と同様にして実現できる。
仮想カメラ自動制御部２１６は、プレーヤキャラクタ２が画面のほぼ中央に写るように仮想カメラの位置や姿勢を自動制御する。
【００７７】
航跡配置制御部２１８は、プレーヤキャラクタ２（つまりは、プレーヤキャラクタ２に付属するスキー２２）の配置に伴って新たに航跡オブジェクト３０を配置し、移動に伴って航跡オブジェクト３０のプレーヤキャラクタ２の進行方向へ延長させるべく、新たな隆起部オブジェクト３２をプレーヤキャラクタ２の進行方向に連結して追加配置していく。
より具体的には、ラインオブジェクト３６を新たに追加配置するとともに、前端オブジェクト３８を新たに配置されたラインオブジェクト３６の前端に再配置する。この際、新たに配置されるラインオブジェクト３６及び再配置される前端オブジェクト３８については、配置／再配置される位置の雪面６のポリゴンと同じＺ値とし、同配置位置に既存の他の航跡オブジェクトが存在する場合には、当該他の航跡オブジェクトよりも描画順番を後順に設定する。また、配置されたラインオブジェクト３６の上面ポリゴン３６ａの頂点の雪面６からの高さを、スキー２２の代表点Ｇからの直線距離Ｌｇに応じて補正する。
【００７８】
音生成部２５０は、例えばデジタルシグナルプロセッサ（ＤＳＰ）などのプロセッサやその制御プログラムなどの公知技術によって実現され、ゲーム演算部２１０による処理結果に基づいてゲームに係る効果音やＢＧＭ、各種操作音の音信号を生成し、音出力部３５０に出力する。
【００７９】
音出力部３５０は、音生成部２５０から入力される音信号に基づいて効果音やＢＧＭ等を音出力する装置によって実現される。図１ではビデオモニタ１２２０のスピーカ１２２４がこれに該当する。
【００８０】
画像生成部２６０は、例えば、デジタルシグナルプロセッサ（ＤＳＰ）などのプロセッサ、その制御プログラム、フレームバッファ等の描画フレーム用ＩＣメモリ等の公知技術によって実現される。例えば画像生成部２６０は、ゲーム演算部２１０による処理結果に基づいて１フレーム時間（１／６０秒）で１枚のゲーム空間画像をレンダリングして生成する。そして、生成したゲーム空間画像に各種情報表示を合成して一枚のゲーム画像Ｗ２を生成し、その画像信号を画像表示部３６０に出力する。
【００８１】
画像表示部３６０は、画像生成部２６０から出力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管（ＣＲＴ）、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図１ではビデオモニタ１２２０のフラットパネルディスプレイ１２２２が該当する。
【００８２】
通信制御部２７０は、データ通信に係るデータ処理を実行し、通信部３７０を介して外部装置とのデータのやりとりを実現する。
【００８３】
通信部３７０は、通信回線１と接続して通信を実現する。例えば、無線通信機、モデム、ＴＡ（ターミナルアダプタ）、有線用の通信ケーブルのジャックや制御回路等によって実現され、図１では通信装置１２１２がこれに該当する。
【００８４】
記憶部５００は、予め定義されたプログラムやデータを記憶するとともに、処理部２００の作業領域として用いられて処理部２００が各種プログラムに従って実行した演算結果や操作入力部１００から入力される入力データ等を一時的に記憶する。この機能は、例えばＲＡＭやＲＯＭなどのＩＣメモリ、ハードディスク等の磁気ディスク、ＣＤ−ＲＯＭやＤＶＤなどの光学ディスクなどによって実現される。
【００８５】
本実施形態における記憶部５００は、処理部２００にゲーム装置１２００を統合的に制御させるための諸機能を実現するためのシステムプログラム５０２や、ゲームを実行させるために必要なゲームプログラム５０４、並びに各種データ等を記憶する。処理部２００がゲームプログラム５０４を読み出して実行することによって、処理部２００にゲーム演算部２１０としての機能を実現させることができる。
【００８６】
ゲームプログラム５０４は、ＮＰＣの動作を自動制御するための機能を実現させるためのＮＰＣ制御プログラム５０６を含む。俗にＮＰＣのＡＩとも呼ばれる公知の技術を用いて実現される。
【００８７】
また記憶部５００には、予め用意されるデータとしてゲーム空間設定データ５１０と、キャラクタ初期設定データ５２２と、係数設定ＴＢＬ（テーブル）５２４と、航跡テクスチャデータライブラリ５２６を記憶する。
【００８８】
更にゲームの進行に伴って生成され、随時書き換えられるデータとして、キャラクタステータスデータ５３０が記憶される。また、ゲームの進行に係る処理を実行するに当たり必要となる情報として、例えば仮想カメラを制御するための画角・視線方向・姿勢情報などのデータ、各種制限時間のカウントデータなどが適宜記憶される。
【００８９】
ゲーム空間設定データ５１０には、３次元仮想空間にゲーム空間を形成するための背景オブジェクトに係る各種データが格納されている。例えば、雪面６や樹木８、遠景の森林、コースの立札などの配置物に関するモデルデータやテクスチャデータ及びモーションデータが格納されている。
そして、ゲーム空間設定データ５１０には、ゲームステージ毎にステージ設定データ５１２が用意されおり、一つのステージ設定データ５１２には雪面６のポリゴンを定義する移動面設定データ５１４と、雪質設定５１６と、光源位置を定義する光源位置データ５１８とを含む。
【００９０】
キャラクタ初期設定データ５２２には、プレーヤキャラクタ２やＮＰＣ４との初期設定データが格納されている。具体的には、表示用モデル、テクスチャ、初期配置位置座標、最高速度や最高加速度、最大操舵角、ブレーキ性能などの能力パラメータ値の初期値が格納されている。
【００９１】
係数設定ＴＢＬ５２４は、例えば図１３に示すように、雪質設定５２４ａと対応づけて航跡オブジェクト３０の諸元を算出するための係数ｋ１（５２４ｂ）と、係数ｋ２（５２４ｃ）の値を定義する（図５参照）。
【００９２】
航跡テクスチャデータライブラリ５２６は、例えば図１４に示すように、相対光源位置５２６ａと対応づけて、航跡オブジェクト３０に適用することのできるテクスチャ４４ａ，４４ｂ，４４ｃ（図６参照）が格納されている。
【００９３】
キャラクタステータスデータ５３０は、プレーヤキャラクタ２とＮＰＣ４それぞれに一つずつ用意されており、それぞれキャラクタＩＤ５３０ａと、現在位置５３０ｂと、速度ベクトル５３０ｃと、航跡オブジェクトデータ５５０とを含む。
【００９４】
航跡オブジェクトデータ５５０は、例えば図１５に示すように、航跡ＩＤ５５１と対応づけて、隆起部オブジェクト３２を形成する部分オブジェクトに係るデータとしてラインオブジェクトデータ５５２、前端オブジェクトデータ５５３、後端オブジェクトデータ５５４、連結部オブジェクトデータ５５５を格納する。また、航跡オブジェクトデータ５５０は、当該航跡オブジェクトに適用されるテクスチャ４４の識別情報を格納する適用テクスチャＩＤ５５６を含む。その他、適宜航跡オブジェクトの定義、制御に必要な情報を含む。
【００９５】
ラインオブジェクトデータ５５２は、例えば図１６に示すように、ポリゴンＩＤ５５２ａと対応づけて当該ポリゴンの頂点データ５５２ｂと、航跡オブジェクトが重なって配置された部分の描画時に適用される描画順５５２ｃ（図１０参照）とが格納されている。
ポリゴンＩＤ５５２ａと対応づけられる頂点データ５５２ｂは、例えばストリップデータとしても良い。また、ラインオブジェクトデータ５５２は、隆起面上面にあたる頂点の識別情報を格納する隆起部上面頂点ＩＤ５５２ｄを格納する。隆起部オブジェクト３２の隆起高を変更する場合には、当該データに格納されている頂点の雪面６からの距離を変更する。
【００９６】
尚、前端オブジェクトデータ５５３、後端オブジェクトデータ５５４、及び連結部オブジェクトデータ５５５も基本的には同様のデータ構成を有している。
【００９７】
［処理の流れの説明］
次に、本実施形態における処理の流れについて説明する。ここで説明される処理は、処理部２００がシステムプログラム５０２及びゲームプログラム５０４を実行することによって実現される。尚、ＮＰＣ４の自動制御（ＡＩ制御）については適宜公知の技術を適用することができるので、ここでの詳細な説明は省略する。また、ゲーム音に関する制御は公知のビデオゲームと同様に実現することができるので、ここでは説明を省略する。
【００９８】
図１７は、本実施形態における主たる処理の流れについて説明するためのフローチャートである。
先ず処理部２００は、ゲーム空間設定データ５１０を参照して３次元仮想空間内に背景オブジェクトを配置してゲーム空間を形成する（ステップＳ２）。この際、光源の配置位置は現在プレイするステージ設定データ５１２の光源位置データ５１８に基づく。
【００９９】
次に、処理部２００はキャラクタ初期設定データ５２２を参照し、プレーヤキャラクタ２とＮＰＣ４を所定のスタート位置に配置し、プレーヤキャラクタ２を撮影する仮想カメラを初期位置に配置する（ステップＳ４）。そして、プレーヤキャラクタ２及びＮＰＣ４それぞれについて、航跡オブジェクト３０を初期配置する（ステップＳ６：図７参照）。この時、初期配置される航跡オブジェクト３０の各ポリゴンのＺ値は、それぞれが配置される位置の雪面６のポリゴンのＺ値と同じ値に設定され、ポリゴンの描画順５５２ｃは連結部オブジェクト３４ならば初期値「２」、隆起部オブジェクト３２ならば初期値「３」に設定される。
【０１００】
ゲームがスタートされたならば（ステップＳ８のＹＥＳ）、処理部２００はステップＳ１０〜Ｓ４０を画像表示部３６０のリフレッシュレートよりも十分短い制御サイクルで、ゲーム終了条件を満たすまで繰り返し実行する。
【０１０１】
具体的には、処理部２００は先ずＮＰＣ４の動作を自動制御する（ステップＳ１０）。これによってＮＰＣ４は、自律的に加速・減速・ターン動作をして所定のゴールを目指すように制御される。尚、ＮＰＣとして観客などレースに参加しないＮＰＣが登場する場合には、ここでその動作を制御すると良い。
【０１０２】
次いで、処理部２００は操作入力部１００に為された操作入力に応じてプレーヤキャラクタ２の加速・減速・ターン動作を制御する（ステップＳ１２）。
そして、処理部２００はレースに参加する全てのキャラクタについて航跡オブジェクト配置処理と隆起高補正処理を実行する（ループＡ：ステップＳ１４〜Ｓ２０）。
【０１０３】
図１８は、本実施形態における航跡オブジェクト配置処理の流れを説明するためのフローチャートである。同処理では先ず、処理部２００は処理対象のキャラクタがジャンプ後の着地をしたか否かを判定する（ステップＳ６０）。
【０１０４】
ジャンプ後着地をしていない場合（ステップＳ６０のＮＯ）、処理部２００は処理対象キャラクタのキャラクタステータスデータ５３０を参照して、処理対象キャラクタのスキー２２の速度ベクトルＶ（５３０ｃ）に対する相対姿勢から正面投影幅Ｌｓを算出する（ステップＳ６２）。具体的には、各スキー板それぞれについて代表点Ｇから速度ベクトルＶの進行方向に直交する左右方向に沿った先端までの距離Ｌｒｆ，Ｌｌｆと、後端までの距離Ｌｒｒ，Ｌｌｒを算出する。そして、算出した先端までの距離Ｌｒｆ，Ｌｌｆの内の最大値と、後端までの距離Ｌｒｒ，Ｌｌｒの内の最大値とを合計して正面投影幅Ｌｓを算出する（図４参照）。
【０１０５】
次いで、処理部２００は、算出した正面投影幅Ｌｓに基づいて所定の関数で連結部オブジェクト３４の連結左右幅Ｌｃ、換言すると左右のラインオブジェクト３６の離間距離を算出する（ステップＳ６４）。続いて、現在プレイ中のゲームステージのステージ設定データ５１２の雪質設定５１６と、係数設定ＴＢＬ５２４とを参照して、適用する係数ｋ１と係数ｋ２の値を選択する（ステップＳ６６）。そして、選択した係数ｋ１，ｋ２を用いてラインオブジェクト３６の隆起高Ｈと、隆起幅Ｗを算出する（ステップＳ６８）。
【０１０６】
次に、処理部２００は対応キャラクタの今回の制御サイクルの移動先の代表点Ｇの位置と、算出した連結左右幅Ｌｃ・隆起高Ｈ・隆起幅Ｗとに基づいて、新たに配置するラインオブジェクト３６の前端頂点５０を決定する（ステップＳ７０：図９参照）。
そして、前回設定した前端頂点５０と今回新たに新規追加する前端頂点５０とを結ぶ新たな連結部オブジェクト３４とラインオブジェクト３６のポリゴンを追加設定する（ステップＳ７２、Ｓ７４）。この際、新たに追加設定されるポリゴンのＺ値は、配置される雪面６のＺ値と同じ値を設定する。
【０１０７】
更に処理部２００は、新たに追加されたラインオブジェクト３６の前端部に連結するように、前端オブジェクト３８を再配置する（ステップＳ７６）。この時、再配置される前端オブジェクト３８のポリゴンのＺ値は、再配置される雪面６のＺ値と同じ値を設定する。
【０１０８】
次に、処理部２００は追加又は再配置される各部分オブジェクト（ラインオブジェクト３６，連結部オブジェクト３４，前端オブジェクト３８）についてループＣの処理を実行する（ステップＳ７８〜Ｓ８６）。ループＣでは、処理対象以外のキャラクタのキャラクタステータス５３０の航跡オブジェクトデータ５５０を参照して、処理対象の部分オブジェクトの追加配置位置又は再配置位置に既存の航跡オブジェクト３０が存在するか否かを判定する（ステップＳ８０）。
【０１０９】
既存の航跡オブジェクト３０が存在せず、その位置の雪面６に初めて曳かれる航跡２０であれば（ステップＳ８０のＮＯ）、処理部２００は処理対象の部分オブジェクトの描画順５５２ｃをオブジェクトの種類の初期値に設定し（ステップＳ８２）、ループＣを終了する。具体的には、連結部オブジェクト３４ならば初期値「２」、隆起部オブジェクト３２ならば初期値「３」とする。左右の隆起部オブジェクト３２で分けてそれぞれ初期値「３」「４」としても良い。
【０１１０】
一方、既存の航跡オブジェクト３０が存在する場合には（ステップＳ８０のＹＥＳ）、処理部２００は処理対象の部分オブジェクトの描画順を、既存の航跡オブジェクトの描画順よりも後順に設定し（ステップＳ８４）、ループＣを終了する。具体的には、例えば、その位置の雪面６に曳かれる２本目の航跡２０に相当するならば、連結部オブジェクト３４は描画順「４」、隆起部オブジェクト３２は描画順「５」とされる（図１０参照）。
もし、ステップＳ８２で左右の隆起部オブジェクト３２で分けてそれぞれ初期値「３」「４」とする構成ならば、ステップＳ８４での連結部オブジェクト３４は描画順「５」、隆起部オブジェクト３２は描画順「６」「７」となる。
そして、ループＣの処理を対象とする部分オブジェクトについて実行したならば、航跡オブジェクト配置処理を終了する。
【０１１１】
図１９は、本実施形態における隆起高補正処理の流れを説明するためのフローチャートである。同処理では先ず、処理部２００は処理対象の航跡オブジェクトに対応するキャラクタが移動中であるか否か、つまりは移動体であるスキー２２が移動中であるか否かを判定する（ステップＳ１１０）。
【０１１２】
移動中の場合（ステップＳ１１０のＹＥＳ）、処理部２００は処理対象キャラクタに対応する航跡オブジェクトデータ５５０のラインオブジェクトデータ５５２に含まれる隆起部上面頂点ＩＤ５５２ｄを参照する。そして、処理対象キャラクタの航跡オブジェクト３０に含まれる隆起部上面頂点５４（図１１参照）の内、現在のスキー２２の代表点Ｇからの進行方向の後方の距離Ｌｇが基準値以上に達した頂点を抽出する（ステップＳ１１２）。そして、抽出した頂点の雪面６（移動面）からの高さを所定値に増加補正し（ステップＳ１１４）、隆起高補正処理を終了する。尚、ステップＳ１１４における補正後の値には所定の上限が設定されており、隆起部オブジェクト３２の隆起高Ｈが一定以上高くならないように考慮されている。
【０１１３】
図１７のフローチャートに戻って、レースに参加する全てのキャラクタについてループＡを実行したならば、処理部２００は次にゲーム空間画像描画処理を実行して、仮想カメラでゲーム空間内の様子を撮影したゲーム空間画像をレンダリングする（ステップＳ３２）。
【０１１４】
図２０は、本実施形態におけるゲーム空間画像描画処理の流れを説明するためのフローチャートである。同処理では先ず、処理部２００はＺバッファ法に従ってレンダリングを開始する（ステップＳ１２０）。そして、描画する箇所が航跡オブジェクトの配置されている位置に該当する場合（ステップＳ１２４のＹＥＳ）、処理部２００は例外的に雪面６（背景オブジェクト）のポリゴンを最初に描画した後、同描画箇所に配置されている航跡オブジェクトの各部分オブジェクトを、それぞれに設定されている描画順５５２ｃ（図１６参照）に従って、適用テクスチャＩＤ５５６（図１５参照）に指定されているテクスチャを適用したポリゴンを順次上書き描画する（ステップＳ１２６）。
そして、全ての画素について描画し、ゲーム空間画像の描画が完了したならば本処理を終了して図１７のフローチャートに戻る。
【０１１５】
処理部２００は次に、生成されたゲーム空間画像にタイム表示１２や順位表示１４（図２参照）などの情報表示を合成してゲーム画面Ｗ２を生成し、画像表示部３６０に表示させる（ステップＳ３４）。そして、ゲーム結果の算出を行う（ステップＳ３６）。ゲーム結果の算出では、プレーヤキャラクタ２又はＮＰＣ４が所定のゴール位置に到達したか否かの判定、ゴール順の判定などを行う。
【０１１６】
ゲーム結果が所定のゲーム終了条件を満たしていなければ（ステップＳ３８のＮＯ）、つまりプレーヤキャラクタ２もＮＰＣ４も何れもゴールに到達していなければ、処理部２００は次に航跡オブジェクトデータ削減処理を実行し（ステップＳ４０）、ステップＳ８に戻る。
【０１１７】
航跡オブジェクトデータ削減処理では、例えば図２１に示すように、全ての航跡オブジェクトについてループＢを実行する（ステップＳ１４０〜Ｓ１４８）。具体的には、処理対象の航跡オブジェクト３０の航跡オブジェクトデータ５５０のデータ量を算出し所定の上限値に達したか否かを判定する（ステップＳ１４２）。そして、上限値に達していれば（ステップＳ１４２のＹＥＳ）、処理部２００は処理対象の航跡オブジェクト３０の後端オブジェクト４０に相当する部分のデータを削除するとともに（ステップＳ１４４）、ラインオブジェクト３６の後端側のデータ、つまりは配置順の古いポリゴンを削除する（ステップＳ１４６）。
つまり、航跡オブジェクトを構成する部分オブジェクトを配置順の古いものから順次削除することで航跡オブジェクトデータ５５０が占める記憶容量を削減して、処理負荷を低減させる。
【０１１８】
一方、ゲーム結果がゲーム終了条件を満たしていれば（ステップＳ３８のＹＥＳ）、処理部２００は所定のゲーム終了の演出処理などを実行して（ステップＳ４２）、一連の処理を終了する。
【０１１９】
以上、本実施形態によれば、雪面６を移動するスキー２２のように、粒子状物体が堆積して形成された移動面に沿って移動する移動体に付属させて航跡の立体的なオブジェクトを配置することで立体感豊かに表現することができる。
【０１２０】
そして、本実施形態における航跡オブジェクトは隆起面を形成する複数本の隆起部オブジェクト３２とそれを連結する板状の連結部オブジェクト３４の単純な構造で構成されている。そして、移動体の移動に伴って航跡オブジェクトを伸ばす場合には、隆起部オブジェクト３２を構成するラインオブジェクト３６を新たに移動体の進行方向端に増設するだけで済むので、航跡の表現に当たっての必要記憶容量を少なく、処理負荷を軽くすることができる。
【０１２１】
また、隆起部オブジェクト３２の端部には、先細りの立体形状をした前端オブジェクト３８及び後端オブジェクト４０を連結させるので、粒子状物体が移動体で押し分けられて側方又は後方に積もった感じを立体的に表現できる。特に前端オブジェクト３８を、移動体がスキー２２であればそのトップの側方やや後方に配置することでスキー２２によって掻き分けられた雪の感じをリアルに表現する事ができる。
【０１２２】
そして、隆起部オブジェクト３２の隆起高Ｈを最初に設定された値Ｈ０からスキー２２の先端から離れるとより大きい値Ｈ１に変更することで、隆起部オブジェクト３２の形状を、前端から徐々に高くなってある高さに達した状態のまま残るといったスキーの航跡らしい立体形状とすることができる。これは、スキー２２の移動と相俟ってスピード感ある航跡表現を可能にする。
【０１２３】
また、航跡オブジェクトが重なる部分のＺ値を、同オブジェクトを配置する背景オブジェクトと同じＺ値としつつ、描画順番を配置順に基づいて設定し、ゲーム空間画像の生成に際して航跡オブジェクトの存在する描画箇所を処理する場合には、この描画順番に従ってポリゴンを順次上書き描画するようにして画素を塗ることができる。これによって、航跡２０が交差する位置でも、下になる航跡オブジェクト３０の隆起部オブジェクト３２で、後から配置された他の航跡オブジェクト３０の下になる部分が描画されないようにすることで、正しく交差部を立体的に表現することができる。
【０１２４】
〔第２実施形態〕
次に、本発明を適用した第２実施形態について説明する。本実施形態は、基本的には第１実施形態と同様に実現されるが、移動体や移動面の設定、航跡オブジェクトの構造、航跡オブジェクトの補正の仕方の３点に於いて異なる。
尚、ここでは第１実施形態と同様の構成要素については第１実施形態と同じ符号を付与して重複する説明を省略し、第１実施形態と異なる点についてのみ述べることとする。
【０１２５】
図２２は、本実施形態における移動体と移動面と航跡との関係を示す図である。本実施形態におけるゲームは、水上レースをテーマとしている。レースをする移動体としてモータボート６０を設定し、水面６２を移動面とする。そして、航跡オブジェクト３０Ｂは、３本の隆起部オブジェクト３２Ｒ，３２Ｍ，３２Ｌと、隣接する２本の隆起部オブジェクトを連結する２つの連結部オブジェクト３４Ｒ，３４Ｌで構成され、移動体の後方に配置される。尚、隆起部オブジェクト３２Ｒ，３２Ｍ，３２Ｌの前端及び後端には第１実施形態と同様に、前端オブジェクトと後端オブジェクトが連結されているものとする。
【０１２６】
図２３は、本実施形態における隆起部オブジェクト３２Ｒ，３２Ｍ，３２Ｌの縦断面図であって、図２３（ａ）が図２２のＡ−Ａ断面、図２３（ｂ）が図２２のＢ−Ｂ断面における縦断面図に相当する。図２３に示すように、本実施形態の隆起部オブジェクト３２Ｒ，３２Ｍ，３２Ｌの縦断面形状は、第１実施形態の上向きの台形ではなく、上向き三角形を成している。
【０１２７】
前端頂点５０が配置された直後のＡ−Ａ断面における隆起部オブジェクト３２Ｒ，３２Ｍ，３２Ｌ及び連結部オブジェクト３４Ｒ，３４Ｌの諸元は、所定の初期値が適用される。同図の例では、左右の隆起部オブジェクト３２Ｒ，３２Ｌでは初期隆起高Ｈ０と初期隆起幅Ｗ０が適用され、中央の隆起部オブジェクト３２Ｍでは初期隆起高Ｈ００と初期隆起幅Ｗ００が適用される。
【０１２８】
そして、隆起部オブジェクト３２Ｒ，３２Ｍ，３２Ｌについては、それぞれの隆起高Ｈｒ，Ｈｍ，Ｈｌは配置からの経過時間ｔの増加とともに減少するように補正・変更され、それぞれの隆起幅Ｗｒ，Ｗｍ，Ｗｌは経過時間ｔの増加とともに増加するように補正・変更される。また、連結部オブジェクト３４Ｒ，３４Ｌの連結部左右幅Ｌｃｒ，Ｌｃｌは経過時間ｔとともに増加するように補正・変更される。
【０１２９】
結果、航跡オブジェクト３０Ｂは、新たに配置された前部分の左右幅がモータボート６０の船尾幅に近い最小値を成すとともに隆起高が最大値を成し、後に向かうほど左右の幅が広がり隆起高さも低くなるような形状となる。そして、水の特定態様として白く泡立った様子のテクスチャを適用することでリアルな曳波を表現することができる。尚、図中の例では、各諸元は所定の係数ｋ３〜ｋ７に比例・反比例して増加／減少するようになっているが、それらの係数に代えて適宜経過時間ｔの関数を定義することができる。
【０１３０】
航跡オブジェクト３０Ｂの諸元を経過時間ｔとともに変更するために、本実施形態のラインオブジェクトデータ５５２（５５２Ｂ）は、隆起部オブジェクト３２Ｒ，３２Ｍ，３２Ｌそれぞれについて、例えば図２３に示す各関数から算出されて、図２４に示すデータ構成で設けられる。そして、各オブジェクトのポリゴンの頂点のうち、隆起部上面頂点ＩＤ５５２ｄと左右端頂点ＩＤ５５２ｅに対応づけて配置時刻５５２ｆを格納する。
【０１３１】
図２５は、本実施形態における隆起高補正処理（隆起高補正処理Ｂ）の流れを説明するためのフローチャートである。同処理では、処理部２００は全ての航跡オブジェクト３０ＢについてループＥを実行する（ステップＳ１６０〜Ｓ１６８）。
ループＥでは、処理対象とされる航跡オブジェクト３０Ｂを構成する全ての隆起部オブジェクト３２Ｒ，３２Ｍ，３２Ｌ及び連結部オブジェクト３４Ｒ，３４ＬについてループＦを実行する（ステップＳ１６２〜Ｓ１６６）。そして、ループＥでは、処理部２００は処理対象の隆起部オブジェクトのラインオブジェクトデータ５５２Ｂを参照して、隆起部上面頂点と左右端頂点の位置を、配置時刻からの現在までの経過時間ｔが増すにつれて隆起高Ｈｒ，Ｈｍ，Ｈｌが低くなるように、且つ隆起左右幅Ｗｒ，Ｗｍ，Ｗｌとが広くなるように補正する（ステップＳ１６４）。
【０１３２】
〔変形例〕
以上、本発明を適用した第１〜第２実施形態について説明したが、本発明の適用可能な実施形態がこれらに限定されるものではない。
【０１３３】
例えば、家庭用ゲーム装置１２００でビデオゲームを実行する構成を例に挙げたが、業務用のゲーム装置（例えば、株式会社セガ製「ＳＥＧＡ  ＳＫＩ  ＳＵＰＥＲ  Ｇ」と同様のゲーム装置）やパソコン、携帯型ゲーム装置などでゲームを実行することもできる。また、ゲームはスタンドアローンのゲーム装置で実行される場合に限らず、ネットワークゲーム（オンラインゲーム）であっても良い。
【０１３４】
また、ゲーム内容は、スキーレースや水上レースを題材としたゲームに限らず、移動面を航跡を曳きながら移動する移動体が登場する場面が含まれれば、レースゲーム、ＲＰＧ、アクションゲームなどに同様に適用できる。その際、移動面は雪面や水面に限らず、砂漠、雲海などとする事ができる。移動体としては、人型キャラクタは勿論のこと、スキーやスノーボード、モータボートやジェットスキーの他、砂漠を走る自動車や、移動面ぎりぎりを飛ぶ飛行機やミサイル、などを適宜設定することができる。
【０１３５】
また、上記実施形態では、プレーヤキャラクタ２をゲームスタート時に最初に配置した時と、ジャンプ後の着地の時それぞれの時点で航跡オブジェクト３０を初期配置する構成としているが、初期配置の代わりに前端頂点５０のみを配置する構成とすることができる。具体的には、図１７のステップＳ６では初期配置の代わりに前端頂点５０のみを配置する構成とする。また、図１８のステップＳ９２では新たな航跡オブジェクト３０の初期配置を行う代わりに新たな前端頂点５０を配置する構成とする。そして、図１８のステップＳ７０とステップＳ７２の間に、既存の前端頂点５０が存在するか否かを判定するステップを設け、当該ステップにおいて肯定判定の場合に、処理部２００が新たなポリゴンを形成することができる条件が整ったと判断して、ステップＳ７２へ移行する構成とすると良い。
【０１３６】
また、航跡オブジェクト３０は、プレーヤキャラクタ２の移動に伴って次々にラインオブジェクト３６を増結する構成に限らず、初期配置された航跡オブジェクト３０の前端頂点５０を単に移動後のスキー２２に対する所定位置に移動させるように制御して、実質的にラインオブジェクト３６を変形させる構成にもできる。
【０１３７】
また、前端オブジェクト３８及び後端オブジェクト４０の形状を、先すぼまりの形状としたがこれに限らず適宜設定することができる。例えば、先端頂点５４を前端頂点５０と同数だけ所定距離前方に配置して、前方方向のみに傾斜する形状としても構わない。この場合、スキー２２によって大量に雪がかき分けられている印象を与える航跡オブジェクト３０とすることができる。プレーヤキャラクタ２のキャラクタ種類がプレーヤによって選択可能な構成とし、大柄なキャラクタが選択された場合に、前端オブジェクト３８及び後端オブジェクト４０をここで述べたような前方向或いは後方向のみに傾斜する形状とし、それ以外のキャラクタが選択された場合には、上記実施形態のような先すぼまりな形状とすると好適である。
【０１３８】
また、上記実施形態では、航跡オブジェクト３０にかかるＺ値を、その航跡オブジェクト３０を配置する移動面（地形オブジェクト）と同じＺ値とする構成としたがこれに限らない。例えば、航跡オブジェクト３０も地形オブジェクトの一種とみなし、航跡オブジェクト３０についてはＺ値を設定しない。そして、地形オブジェクトを描画する際に、移動面などの背景オブジェクトを描画した後に、航跡オブジェクト３０をそれぞれの配置順に従って背景オブジェクトの上に描画する。次いで、Ｚバッファ法に基づきプレーヤキャラクタ２やＮＰＣ４を更にその上に描画する構成とすることもできる。この場合、航跡オブジェクト３０に係わるＺバッファ法の判定処理を省略できるので、処理負荷の低減の観点からするとより好適である。勿論、地形オブジェクトには無限遠のＺ値を設定することとして航跡オブジェクト３０にも無限遠のＺ値を設定しておいてもよい。その場合も、無限遠のオブジェクトを描画する際には、背景を描画した後に、配置した順に航跡２０を描画し、最後にプレーヤキャラクタ２やＮＰＣ４を描画する構成とすることもできる。
【０１３９】
また、上記実施形態では、航跡オブジェクト３０の情報は航跡を曳くキャラクタ毎に付属管理される構成としているが、これに限らない（図１２参照）。
例えば、航跡オブジェクトデータ５５０を個別に記憶部５００に記憶し、キャラクタステータスデータ５３０では対応する航跡の航跡ＩＤのみを含む構成としても良い。そして、航跡オブジェクトデータ削減処理では、所定の削減対象条件を満たす航跡オブジェクトデータごと削除すると良い。削減対象条件としては、仮想カメラから撮影できない範囲のＮＰＣに対応する航跡であることや、所定時間以上ゲレンデで停止しているＮＰＣに対応する航跡であること、ゲレンデの下流所定位置まで滑りきってしまったＮＰＣに対応する航跡であること、などを条件に設定すると好適である。
【０１４０】
或いは、一回の配置タイミングで配置されたラインオブジェクト３６と連結部オブジェクト３４とを一つの航跡要素単位として航跡要素ＩＤを付与し、描画順とともにキャラクタと対応づける構成とする。つまり、航跡オブジェクトデータ５５０には雪面６に配置されている全てのラインオブジェクト３６と連結部オブジェクト３４との航跡要素組が配置順に登録されている構成とする。この場合、航跡オブジェクトデータ削減処理では、仮想カメラに写らない航跡要素組や、所定時間以上ゲレンデで停止しているＮＰＣに対応する航跡要素組、ゲレンデの下流所定位置まで滑りきってしまったＮＰＣに対応する使用済みの航跡要素組を抽出して削除すると好適である。
【０１４１】
また、航跡オブジェクト３０に適用するテクスチャ４４を光源の相対配置方向別に複数種類用意する構成としたが、例えば右或いは左に光源がある場合の一種類のテクスチャ４４のみを用意して、航跡オブジェクト３０が初めて配置される時の光源の左／右の相対方向に応じて、そのまま適用或いは反転させて適用する構成とすることもできる。
【図面の簡単な説明】
【０１４２】
【図１】家庭用ゲーム装置の構成例を示すシステム構成図。
【図２】スキーゲームのゲーム画面例を示す図。
【図３】第１実施形態における航跡形成の原理を説明するための概念図。
【図４】航跡オブジェクトの諸元決定のために用いられるスキーの姿勢に基づくパラメータを示す概念図。
【図５】スキーのパラメータと航跡オブジェクトの縦断面形状の諸元との関係を示す図。
【図６】第１実施形態における航跡オブジェクト３０に適用されるテクスチャの例を示す図。
【図７】スキーと航跡オブジェクトとの相対位置関係を示す俯瞰図。
【図８】スキーの移動に伴う隆起部オブジェクトの更新方法について説明する俯瞰図。
【図９】ターン中のスキーと航跡オブジェクトとの相対位置関係を示す俯瞰図。
【図１０】航跡オブジェクトの重なり部分の描画処理について説明するための図。
【図１１】隆起部オブジェクトの配置位置をゲームの進行に応じた補正処理の原理を説明するための概念図。
【図１２】第１実施形態における機能構成例を示す機能ブロック図。
【図１３】係数設定ＴＢＬ（テーブル）のデータ構成例を示す図。
【図１４】航跡テクスチャデータライブラリのデータ構成例を示す図。
【図１５】航跡オブジェクトデータのデータ構成例を示す図。
【図１６】第１実施形態におけるラインオブジェクトデータのデータ構成例を示す図。
【図１７】主たる処理の流れを説明するためのフローチャート。
【図１８】航跡オブジェクト配置処理の流れを説明するためのフローチャート。
【図１９】隆起高補正処理の流れを説明するためのフローチャート。
【図２０】ゲーム空間画像描画処理の流れを説明するためのフローチャート。
【図２１】航跡オブジェクトデータ削減処理の流れを説明するためのフローチャート。
【図２２】第２実施形態における移動体と移動面と航跡との関係を示す図。
【図２３】第２実施形態における隆起部オブジェクトの縦断面図であって、図２２の（ａ）Ａ−Ａ断面、（ｂ）Ｂ−Ｂ断面における縦断面図。
【図２４】第２実施形態におけるラインオブジェクトデータのデータ構成例を示す図。
【図２５】第２実施形態における隆起高補正処理の流れを説明するためのフローチャート。
【符号の説明】
【０１４３】
２    プレーヤキャラクタ（ＰＣ）
４    ＮＰＣ
６    雪面
２２    スキー
３０    航跡オブジェクト
３２    隆起部オブジェクト
３４    連結部オブジェクト
３６    ラインオブジェクト
３８    前端オブジェクト
４０    後端オブジェクト
５０    前端頂点
１００    操作入力部
２００    処理部
２１０    ゲーム演算部
２１２    ＰＣ（プレーヤキャラクタ）動作制御部
２１４    ＮＰＣ（ノンプレイアブルキャラクタ）動作制御部
２１８    航跡配置制御部
２６０    画像生成部
３６０    画像表示部
５００    記憶部
５０４    ゲームプログラム
５０６    ＮＰＣ制御プログラム
５１０    ゲーム空間設定データ
５１２  ステージ設定データ
５１４  移動面設定データ
５１６  雪質設定
５１８  光源位置データ
５２２    キャラクタ初期設定データ
５２４    係数設定ＴＢＬ（テーブル）
５２６    航跡テクスチャデータライブラリ
５３０    キャラクタステータスデータ
５３０ｃ    速度ベクトル
５５０    航跡オブジェクトデータ
【図１】
2010079564.tif 000003
【図２】
2010079564.tif 000004
【図３】
2010079564.tif 000005
【図４】
2010079564.tif 000006
【図５】
2010079564.tif 000007
【図６】
2010079564.tif 000008
【図７】
2010079564.tif 000009
【図８】
2010079564.tif 000010
【図９】
2010079564.tif 000011
【図１０】
2010079564.tif 000012
【図１１】
2010079564.tif 000013
【図１２】
2010079564.tif 000014
【図１３】
2010079564.tif 000015
【図１４】
2010079564.tif 000016
【図１５】
2010079564.tif 000017
【図１６】
2010079564.tif 000018
【図１７】
2010079564.tif 000019
【図１８】
2010079564.tif 000020
【図１９】
2010079564.tif 000021
【図２０】
2010079564.tif 000022
【図２１】
2010079564.tif 000023
【図２２】
2010079564.tif 000024
【図２３】
2010079564.tif 000025
【図２４】
2010079564.tif 000026
【図２５】
2010079564.tif 000027