(57)【特許請求の範囲】
【請求項１】
ビデオゲーム装置のコンピュータに実行させて、プレイヤの操作により移動および動作する、少なくとも２本の足を有するプレイヤオブジェクトの影を表示する影表示方法であって、
(a)基本影オブジェクトデータを記憶手段から読み出す基本影オブジェクトデータ読出ステップ、
(b) 前記プレイヤオブジェクトの移動および動作に伴ってそれぞれ変化する前記２本の足のそれぞれの位置データに基づいてそれぞれの足の影の位置を決定し、少なくとも前記２本の足のそれぞれの高さデータに基づいてそれぞれの足の影の長さを決定し、前記それぞれの足の影の長さに基づいて前記基本影オブジェクトデータをそれぞれ独立に変形処理することにより、前記２本の足のそれぞれに対応して、前記基本影オブジェクトデータを第１変形した第１足用影オブジェクトデータおよび前記基本影オブジェクトデータを第２変形した第２足用影オブジェクトデータを作成する表示用影オブジェクトデータ作成ステップ、そして
(c) 少なくとも前記プレイヤオブジェクトのプレイヤオブジェクトデータおよび前記第１および第２足用影オブジェクトデータに基づいて画像信号をディスプレイに供給する表示ステップを含む、影表示方法。
【請求項２】
前記ステップ(b) は、前記２本の足のそれぞれの高さデータに基づいてそれぞれの足の影の濃度をさらに決定し、前記それぞれの足の影の濃度にさらに基づいて前記基本影オブジェクトデータをそれぞれ独立に変形処理することにより、前記第１および第２足用影オブジェクトデータを作成する、請求項１記載の影表示方法。
【請求項３】
ビデオゲーム装置のコンピュータに実行させて、プレイヤの操作により移動および動作する、少なくとも２本の足を有するプレイヤオブジェクトの影を表示する影表示方法であって、
(a) 基本影オブジェクトデータを記憶手段から読み出す基本影オブジェクトデータ読出ステップ、
(b) 前記プレイヤオブジェクトの移動および動作に伴ってそれぞれ変化する前記２本の足のそれぞれの位置データに基づいてそれぞれの足の影の位置を決定し、少なくとも前記２本の足のそれぞれの高さデータに基づいてそれぞれの足の影の濃度を決定し、前記それぞれの足の影の濃度に基づいて前記基本影オブジェクトデータをそれぞれ独立に変形処理することにより、前記２本の足のそれぞれに対応して、前記基本影オブジェクトデータを第１変形した第１足用影オブジェクトデータおよび前記基本影オブジェクトデータを第２変形した第２足用影オブジェクトデータを作成する表示用影オブジェクトデータ作成ステップ、そして
(c) 少なくとも前記プレイヤオブジェクトのプレイヤオブジェクトデータおよび前記第１および第２足用影オブジェクトデータに基づいて画像信号をディスプレイに供給する表示ステップを含む、影表示方法。
【請求項４】
前記ステップ(b) は、前記２本の足の影が投影される地面の地面オブジェクトデータおよびライトの位置データにさらに基づいて前記基本影オブジェクトデータを変形する、請求項１ないし３のいずれかに記載の影表示方法。
【請求項５】
前記ステップ（b)は前記地面オブジェクトの状態に基づいて前記基本影オブジェクトデータを変形する、請求項４記載の影表示方法。
【請求項６】
前記ステップ（b)は、(b1)前記２本の足の高さデータと前記ライトの位置データとに基づいて前記２本の足の影の長さを決定し、そして(b2)前記基本影オブジェクトデータを前記影の長さおよび前記地面オブジェクトの状態に基づいて変形する、請求項５記載の影表示方法。
【請求項７】
前記プレイヤオブジェクトの前記足は前記地面オブジェクトと接触する接地部を含み、前記ステップ(b1)は前記接地部の位置と前記ライトの位置とに基づいて前記影の長さを決定する、請求項６記載の影表示方法。
【請求項８】
前記プレイヤオブジェクトの前記足は直下の地面オブジェクトと接触する接地部を含み、前記ステップ(b）は（b3) 前記地面オブジェクトに対する前記接地部の高さを検出し、そして(b4)前記高さに応じて前記濃度を変化させる、請求項２ないし７のいずれかに記載の影表示方法。
【請求項９】
前記ステップ(b4)は前記基本影オブジェクトの透明度を変化させる、請求項８記載の影表示方法。
【請求項１０】
プレイヤの操作により移動および動作する、少なくとも２本の足を有するプレイヤオブジェクトの影を表示するビデオゲーム装置であって、
基本影オブジェクトデータを第１の記憶手段から読み出す基本影オブジェクトデータ読出手段、
プレイヤオブジェクトデータを第２の記憶手段から読み出すプレイヤオブジェクト画像データ読出手段、
前記プレイヤオブジェクトの移動および動作に伴ってそれぞれ変化する前記２本の足のそれぞれの位置データに基づいてそれぞれの足の影の位置を決定し、少なくとも前記２本の足のそれぞれの高さデータに基づいてそれぞれの足の影の長さを決定し、前記それぞれの足の影の長さに基づいて前記基本影オブジェクトデータをそれぞれ独立に変形処理することにより、前記２本の足のそれぞれに対応して、前記基本影オブジェクトデータを第１変形した第１足用影オブジェクトデータおよび前記基本影オブジェクトデータを第２変形した第２足用影オブジェクトデータを作成する表示用影オブジェクトデータ作成手段、および
少なくとも前記プレイヤオブジェクトデータおよび前記第１および第２足用影オブジェクトデータに基づいて画像信号をディスプレイに供給する画像処理手段を備える、ビデオゲーム装置。
【請求項１１】
前記表示用影オブジェクトデータ作成手段は、前記２本の足のそれぞれの高さデータに基づいてそれぞれの足の影の濃度をさらに決定し、前記それぞれの足の影の濃度にさらに基づいて前記基本影オブジェクトデータをそれぞれ独立に変形処理することにより、前記第１および第２足用影オブジェクトデータを作成する、請求項１０記載のビデオゲーム装置。
【請求項１２】
プレイヤの操作により移動および動作する、少なくとも２本の足を有するプレイヤオブジェクトの影を表示するビデオゲーム装置であって、
基本影オブジェクトデータを第１の記憶手段から読み出す基本影オブジェクトデータ読出手段、
プレイヤオブジェクトデータを第２の記憶手段から読み出すプレイヤオブジェクト画像データ読出手段、
前記プレイヤオブジェクトの移動および動作に伴ってそれぞれ変化する前記２本の足のそれぞれの位置データに基づいてそれぞれの足の影の位置を決定し、少なくとも前記２本の足のそれぞれの高さデータに基づいてそれぞれの足の影の濃度を決定し、前記それぞれの足の影の濃度に基づいて前記基本影オブジェクトデータをそれぞれ独立に変形処理することにより、前記２本の足のそれぞれに対応して、前記基本影オブジェクトデータを第１変形した第１足用影オブジェクトデータおよび前記基本影オブジェクトデータを第２変形した第２足用影オブジェクトデータを作成する表示用影オブジェクトデータ作成手段、および
少なくとも前記プレイヤオブジェクトデータおよび前記第１および第２足用影オブジェクトデータに基づいて画像信号をディスプレイに供給する画像処理手段を備える、ビデオゲーム装置。
【請求項１３】
前記足用影オブジェクトが投影される地面オブジェクトの地面オブジェクトデータを発生する地面オブジェクトデータ発生手段をさらに備え、
前記表示用影オブジェクトデータ作成手段は前記地面オブジェクトデータおよび前記プレイヤオブジェクトを照射するライトの位置データにさらに基づいて前記基本影オブジェクトデータを変形する、請求項１０ないし１２のいずれかに記載のビデオゲーム装置。
【請求項１４】
前記地面オブジェクトデータに基づいて前記地面オブジェクトの状態を検出する状態検出手段をさらに備え、
前記表示用影オブジェクトデータ作成手段は前記地面オブジェクトの前記状態に基づいて前記基本影オブジェクトデータを変形する、請求項１３記載のビデオゲーム装置。
【請求項１５】
前記表示用影オブジェクトデータ作成手段は、前記２本の足の高さデータと前記ライトの位置データとに基づいて前記２本の足の影の長さを決定する長さ決定手段を含み、前記基本影オブジェクトデータを前記影の長さおよび前記地面オブジェクトの状態に基づいて変形する、請求項１３記載のビデオゲーム装置。
【請求項１６】
前記プレイヤオブジェクトの前記足は前記地面オブジェクトと接触する接地部を含み、前記長さ決定手段は前記接地部の位置と前記ライトの位置とに基づいて前記影の長さを決定する、請求項１５記載のビデオゲーム装置。
【請求項１７】
前記プレイヤオブジェクトの前記足は直下の地面オブジェクトと接触する接地部を含み、前記地面オブジェクトに対する前記接地部の高さを検出する高さ検出手段をさらに備え、前記表示影オブジェクトデータ作成手段は前記高さに応じて前記濃度を変化させる濃度変化手段を含む、請求項１１ないし１６のいずれかに記載のビデオゲーム装置。
【請求項１８】
前記濃度変化手段は前記基本影オブジェクトの透明度を変化させる透明度変化手段を含む、請求項１７記載のビデオゲーム装置。
【請求項１９】
プレイヤの操作により移動および動作する、少なくとも２本の足を有するプレイヤオブジェクトの影を表示するビデオゲーム装置に着脱可能に装着される記憶媒体であって、
基本影オブジェクトデータを記憶する第１記憶領域、
プレイヤオブジェクトデータを記憶する第２記憶領域、
前記プレイヤオブジェクトの移動および動作に伴ってそれぞれ変化する前記２本の足のそれぞれの位置データに基づいてそれぞれの足の影の位置を決定し、少なくとも前記２本の足のそれぞれの高さデータに基づいてそれぞれの足の影の長さを決定し、前記それぞれの足の影の長さに基づいて前記基本影オブジェクトデータをそれぞれ独立に変形処理することにより、前記２本の足のそれぞれに対応して、前記基本影オブジェクトデータを第１変形した第１足用影オブジェクトデータおよび前記基本影オブジェクトデータを第２変形した第２足用影オブジェクトデータを作成する表示用影オブジェクト作成プログラム、および
少なくとも前記プレイヤオブジェクトデータおよび前記第１および第２足用影オブジェクトデータに基づいて画像信号をディスプレイに供給する画像処理プログラムを備える、記憶媒体。
【請求項２０】
前記表示用影オブジェクト作成プログラムは、前記２本の足のそれぞれの高さデータに基づいてそれぞれの足の影の濃度をさらに決定し、前記それぞれの足の影の濃度にさらに基づいて前記基本影オブジェクトデータをそれぞれ独立に変形処理することにより、前記第１および第２足用影オブジェクトデータを作成する、請求項１９記載の記憶媒体。
【請求項２１】
プレイヤの操作により移動および動作する、少なくとも２本の足を有するプレイヤオブジェクトの影を表示するビデオゲーム装置に着脱可能に装着される記憶媒体であって、
基本影オブジェクトデータを記憶する第１記憶領域、
プレイヤオブジェクトデータを記憶する第２記憶領域、
前記プレイヤオブジェクトの移動および動作に伴ってそれぞれ変化する前記２本の足のそれぞれの位置データに基づいてそれぞれの足の影の位置を決定し、少なくとも前記２本の足のそれぞれの高さデータに基づいてそれぞれの足の影の濃度を決定し、前記それぞれの足の影の濃度に基づいて前記基本影オブジェクトデータをそれぞれ独立に変形処理することにより、前記２本の足のそれぞれに対応して、前記基本影オブジェクトデータを第１変形した第１足用影オブジェクトデータおよび前記基本影オブジェクトデータを第２変形した第２足用影オブジェクトデータを作成する表示用影オブジェクト作成プログラム、および
少なくとも前記プレイヤオブジェクトデータおよび前記第１および第２足用影オブジェクトデータに基づいて画像信号をディスプレイに供給する画像処理プログラムを備える、記憶媒体。
【請求項２２】
前記プレイヤオブジェクトは第１の足と第２の足の少なくとも２本の足を有し、
前記ステップ(b) は、前記第１の足の接地部から前記プレイヤオブジェクトのうちの基準点までの第１の長さと、地面オブジェクトから前記プレイヤオブジェクトのうちの基準点までの基準長さとに基づき第１の影の長さを決定し、前記第１の影の長さに基づいて前記第１足用影オブジェクトデータを作成し、前記第２の足の接地部から前記プレイヤオブジェクトのうちの基準点までの第２の長さと、地面オブジェクトから前記プレイヤオブジェクトのうちの基準点までの基準長さとに基づき第２の影の長さを決定し、前記第２の影の長さに基づいて前記第２足用影オブジェクトデータを作成することを特徴とする請求項１、２、６または７に記載の影表示方法。
【請求項２３】
前記プレイヤオブジェクトは第１の足と第２の足の少なくとも２本の足を有し、
前記ステップ(b) は、前記第１の足の接地部から第１の足の付け根までの第１の長さと、地面オブジェクトから前記第１の足の付け根までの基準長さとに基づき第１の影の長さを決定し、前記第１の影の長さに基づいて前記第１足用影オブジェクトデータを作成し、前記第２の足の接地部から第２の足の付け根までの第２の長さと、地面オブジェクトから前記第２の足の付け根までの基準長さとに基づき第２の影の長さを決定し、前記第２の影の長さに基づいて前記第２足用影オブジェクトデータを作成することを特徴とする請求項１、２、６または７に記載の影表示方法。
【請求項２４】
前記プレイヤオブジェクトは第１の足と第２の足の少なくとも２本の足を有し、
前記ステップ(b) は、地面オブジェクトから前記第１の足の接地部までの第１の高さに基づき第１の影の長さを決定し、前記第１の影の長さに基づいて前記第１足用影オブジェクトデータを作成し、地面オブジェクトから前記第２の足の接地部までの第２の高さに基づき第２の影の長さを決定し、前記第２の影の長さに基づいて前記第２足用影オブジェクトデータを作成することを特徴とする請求項１、２、６または７に記載の影表示方法。
【請求項２５】
前記基本影オブジェクトデータは、影の中心となる部分の濃度が最も大きく、影の中心から離れるに従って濃度が小さくなるよう設定される、請求項１ないし９、２２ないし２４のいずれかに記載の影表示方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、ビデオゲーム装置および記憶媒体に関する。より特定的には、この発明は、改良された影の表示方法を有するビデオゲーム装置およびそれに用いる記憶媒体に関する。
【０００２】
【従来の技術】
仮想三次元空間中においてプレイヤオブジェクトを移動させる、いわゆる「３Ｄゲーム」において、立体感や現実感をより一層高めるために、プレイヤオブジェクトの影を地面オブジェクト（床，水面，地面など）上に表示している。
従来プレイヤオブジェクトの影を表示する方法の１つとして、プレイヤオブジェクトの真下に円形の影を張り付ける方法があった。しかし、この方法では、どのような場面でも、影が単純な円形なので現実感に乏しかった。
【０００３】
そこで、他の方法として、プレイヤオブジェクトのポリゴンデータを計算し、平面化して地面オブジェクトに張り付けるという方法が採られるようになった。
【０００４】
【発明が解決しようとする課題】
しかし、この方法では、プレイヤオブジェクトと同じ数のポリゴンを計算しなければならず、計算量が多く、ゲームプロセサの負担が過大になってしまうという問題がある。したがって、家庭用のゲーム等処理速度の遅い画像処理装置でこの方法を実現しようとすると、せいぜい１つのオブジェクトの影を表示するのが限界であった。
【０００５】
それゆえに、この発明の主たる目的は、プロセサの負担を少なくし、しかも現実感を一層高めることができる、影表示方法を提供することである。
この発明の他の目的は、簡単な計算で多様な影を表示することができる、ビデオゲーム装置を提供することである。
【０００６】
【課題を解決するための手段】
第１の発明は、ビデオゲーム装置のコンピュータに実行させて、プレイヤの操作により移動および動作する、少なくとも２本の足を有するプレイヤオブジェクトの影を表示する影表示方法であって、(a) 基本影オブジェクトデータを記憶手段から読み出す基本影オブジェクトデータ読出ステップ、(b) プレイヤオブジェクトの移動および動作に伴ってそれぞれ変化する２本の足のそれぞれの位置データに基づいてそれぞれの足の影の位置を決定し、少なくとも２本の足のそれぞれの高さデータに基づいてそれぞれの足の影の長さを決定し、それぞれの足の影の長さに基づいて基本影オブジェクトデータをそれぞれ独立に変形処理することにより、２本の足のそれぞれに対応して、基本影オブジェクトデータを第１変形した第１足用影オブジェクトデータおよび基本影オブジェクトデータを第２変形した第２足用影オブジェクトデータを作成する表示用影オブジェクトデータ作成ステップ、そして(c) 少なくともプレイヤオブジェクトのプレイヤオブジェクトデータおよび第１および第２足用影オブジェクトデータに基づいて画像信号をディスプレイに供給する表示ステップを含む、影表示方法である。
第２の発明は、ビデオゲーム装置のコンピュータに実行させて、プレイヤの操作により移動および動作する、少なくとも２本の足を有するプレイヤオブジェクトの影を表示する影表示方法であって、 (a)基本影オブジェクトデータを記憶手段から読み出す基本影オブジェクトデータ読出ステップ、 (b) プレイヤオブジェクトの移動および動作に伴ってそれぞれ変化する２本の足のそれぞれの位置データに基づいてそれぞれの足の影の位置を決定し、少なくとも２本の足のそれぞれの高さデータに基づいてそれぞれの足の影の濃度を決定し、それぞれの足の影の濃度に基づいて基本影オブジェクトデータをそれぞれ独立に変形処理することにより、２本の足のそれぞれに対応して、基本影オブジェクトデータを第１変形した第１足用影オブジェクトデータおよび基本影オブジェクトデータを第２変形した第２足用影オブジェクトデータを作成する表示用影オブジェクトデータ作成ステップ、そして (c) 少なくともプレイヤオブジェクトのプレイヤオブジェクトデータおよび第１および第２足用影オブジェクトデータに基づいて画像信号をディスプレイに供給する表示ステップを含む、影表示方法である。
【０００７】
第３の発明は、プレイヤの操作により移動および動作する、少なくとも２本の足を有するプレイヤオブジェクトの影を表示するビデオゲーム装置であって、基本影オブジェクトデータを第１の記憶手段から読み出す基本影オブジェクトデータ読出手段、プレイヤオブジェクトデータを第２の記憶手段から読み出すプレイヤオブジェクト画像データ読出手段、プレイヤオブジェクトの移動および動作に伴ってそれぞれ変化する２本の足のそれぞれの位置データに基づいてそれぞれの足の影の位置を決定し、少なくとも２本の足のそれぞれの高さデータに基づいてそれぞれの足の影の長さを決定し、それぞれの足の影の長さに基づいて基本影オブジェクトデータをそれぞれ独立に変形処理することにより、２本の足のそれぞれに対応して、基本影オブジェクトデータを第１変形した第１足用影オブジェクトデータおよび基本影オブジェクトデータを第２変形した第２足用影オブジェクトデータを作成する表示用影オブジェクトデータ作成手段、および少なくともプレイヤオブジェクトデータおよび第１および第２足用影オブジェクトデータに基づいて画像信号をディスプレイに供給する画像処理手段を備える、ビデオゲーム装置である。
第４の発明は、プレイヤの操作により移動および動作する、少なくとも２本の足を有するプレイヤオブジェクトの影を表示するビデオゲーム装置であって、基本影オブジェクトデータを第１の記憶手段から読み出す基本影オブジェクトデータ読出手段、プレイヤオブジェクトデータを第２の記憶手段から読み出すプレイヤオブジェクト画像データ読出手段、プレイヤオブジェクトの移動および動作に伴ってそれぞれ変化する２本の足のそれぞれの位置データに基づいてそれぞれの足の影の位置を決定し、少なくとも２本の足のそれぞれの高さデータに基づいてそれぞれの足の影の濃度を決定し、それぞれの足の影の濃度に基づいて基本影オブジェクトデータをそれぞれ独立に変形処理することにより、２本の足のそれぞれに対応して、基本影オブジェクトデータを第１変形した第１足用影オブジェクトデータおよび基本影オブジェクトデータを第２変形した第２足用影オブジェクトデータを作成する表示用影オブジェクトデータ作成手段、および少なくともプレイヤオブジェクトデータおよび第１および第２足用影オブジェクトデータに基づいて画像信号をディスプレイに供給する画像処理手段を備える、ビデオゲーム装置である。
【０００８】
第５の発明は、プレイヤの操作により移動および動作する、少なくとも２本の足を有するプレイヤオブジェクトの影を表示するビデオゲーム装置に着脱可能に装着される記憶媒体であって、基本影オブジェクトデータを記憶する第１記憶領域、プレイヤオブジェクトデータを記憶する第２記憶領域、プレイヤオブジェクトの移動および動作に伴ってそれぞれ変化する２本の足のそれぞれの位置データに基づいてそれぞれの足の影の位置を決定し、少なくとも２本の足のそれぞれの高さデータに基づいてそれぞれの足の影の長さを決定し、それぞれの足の影の長さに基づいて基本影オブジェクトデータをそれぞれ独立に変形処理することにより、２本の足のそれぞれに対応して、基本影オブジェクトデータを第１変形した第１足用影オブジェクトデータおよび基本影オブジェクトデータを第２変形した第２足用影オブジェクトデータを作成する表示用影オブジェクト作成プログラム、および少なくともプレイヤオブジェクトデータおよび第１および第２足用影オブジェクトデータに基づいて画像信号をディスプレイに供給する画像処理プログラムを備える、記憶媒体である。
第６の発明は、プレイヤの操作により移動および動作する、少なくとも２本の足を有するプレイヤオブジェクトの影を表示するビデオゲーム装置に着脱可能に装着される記憶媒体であって、基本影オブジェクトデータを記憶する第１記憶領域、プレイヤオブジェクトデータを記憶する第２記憶領域、プレイヤオブジェクトの移動および動作に伴ってそれぞれ変化する２本の足のそれぞれの位置データに基づいてそれぞれの足の影の位置を決定し、少なくとも２本の足のそれぞれの高さデータに基づいてそれぞれの足の影の濃度を決定し、それぞれの足の影の濃度に基づいて基本影オブジェクトデータをそれぞれ独立に変形処理することにより、２本の足のそれぞれに対応して、基本影オブジェクトデータを第１変形した第１足用影オブジェクトデータおよび基本影オブジェクトデータを第２変形した第２足用影オブジェクトデータを作成する表示用影オブジェクト作成プログラム、および少なくともプレイヤオブジェクトデータおよび第１および第２足用影オブジェクトデータに基づいて画像信号をディスプレイに供給する画像処理プログラムを備える、記憶媒体である。
【０００９】
【作用】
たとえば２つのポリゴンとそれに貼り付けるテクスチャによって円形の基本影オブジェクトを構成し、この基本影オブジェクトを、たとえばライトの位置，地面オブジェクトの状態（位置，傾き，段差，材質（水、土等）），プレイヤオブジェクトの位置やその接地部の高さ等に従って変形し、表示用影オブジェクトを作成する。
【００１０】
表示影オブジェクトの作成においては、具体的には、ライトの方向に従って影を投影する方向を決定し、ライトの高さおよびプレイヤオブジェクトの足の長さに基づいて影の長さを決定し、足の高さに基づいて影の濃さを決定し、そして影が投影される地面オブジェクトの状態によって表示用影オブジェクトの形を決定する。
【００１１】
プレイヤオブジェクトが２本の足を有する場合、それぞれの足について表示用影オブジェクトを作成する。
【００１２】
【発明の効果】
この発明によれば、基本影オブジェクトを変形して表示用影オブジェクトを作成するので、プロセサの負担を小さくでき、しかも単純な形の影ではなく、多様に変化する形状の影を表現することができる。
また、プレイヤオブジェクトが２本の足を持ち、それぞれの足について影を表示する場合、左右の足の動きに合わせて、影が変化するので、よりリアルな影を表現することができる。
【００１３】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【００１４】
【実施例】
図１に示す実施例のビデオゲームシステムは、ビデオゲーム機１０と、記憶媒体の一例のＲＯＭカートリッジ２０と、ビデオゲーム機１０に接続されるディスプレイ３０と、コントローラ４０とを含んで構成される。コントローラ４０にはカートリッジ５０が着脱自在に装着される。
【００１５】
コントローラ４０は、両手または片手で把持可能な形状のハウジング４１に、複数のスイッチないしボタンを設けて構成される。具体的には、コントローラ４０は、ハウジング４１の左右端部および中央部に、それぞれ下方に延びて形成されるハンドル４１Ｌ，４１Ｃおよび４１Ｒを含み、ハウジング４１の上面が操作領域である。操作領域には、中央下部にアナログ入力可能なジョイスティック（以下、「アナログジョイスティック」という。）４５が設けられ、左側に十字形のディジタル方向スイッチ（以下、「十字スイッチ」という。）４６が設けられ、右側に複数のボタンスイッチ４７Ａ，４７Ｂ，４７Ｃ，４７Ｄ，４７Ｅおよび４７Ｆが設けられる。
【００１６】
アナログジョイスティック４５は、スティックの傾き量と方向とによって、プレイヤオブジェクトの移動方向および／または移動速度ないし移動量を入力するために用いられる。十字スイッチ４６は、アナログジョイスティック４５に代えてプレイヤオブジェクトの移動方向を指示するために用いられる。ボタンスイッチ４７Ａおよび４７Ｂは、プレイヤオブジェクトの動作を指示するために利用され、ボタンスイッチ４７Ｃ−４７Ｄは、三次元画像のカメラの視点の切り換え等に用いられる。
【００１７】
操作領域のほぼ中央部にはスタートスイッチ４７Ｓが設けられ、このスタートスイッチ４７Ｓは、ゲームを開始させるときに操作される。中央部のハンドル４１Ｃの裏側にスイッチ４７Ｚが設けられ、このスイッチ４７Ｚは、たとえばシューティングゲームにおいてトリガスイッチとして利用される。ハウジング４１の左右上部側面にはスイッチ４７Ｌおよび４７Ｒが設けられる。
【００１８】
なお、上述のボタンスイッチ４７Ｃ−４７Ｆは、カメラの視点切換え以外の用途として、シューティングまたはアクションゲームにおいてプレイヤオブジェクトの移動速度を制御（たとえば、加速または減速）するためにも使用できる。しかしながら、これらのスイッチ４７Ａ−４７Ｆ，４７Ｓ，４７Ｚ，４７Ｌおよび４７Ｒの機能は、ゲームプログラムによって任意に定義することができる。
【００１９】
図２は図１実施例のビデオゲームシステムのブロック図である。ビデオゲーム機１０には、中央処理ユニット（以下、「ＣＰＵ」という。）１１およびコプロセッサ（リアリティ・コプロセッサ：以下、「ＲＣＰ」という。）１２が内蔵される。ＲＣＰ１２には、バスの制御を行うためのバス制御回路１２１と、ポリゴンの座標変換や陰影処理等を行うための信号プロセサ（リアリティ・シグナル・プロセサ；以下、「ＲＳＰ」という。）１２２と、ポリゴンデータを表示すべき画像にラスタライズしかつフレームメモリに記憶可能なデータ形式（ドットデータ）に変換するための描画プロセサ（リアリティ・ディスプレイ・プロセッサ；以下、「ＲＤＰ」という。）４６とが含まれる。
【００２０】
ＲＣＰ１２には、外部ＲＯＭ２１を内蔵するＲＯＭカートリッジ２０を着脱自在に装着するためのカートリッジ用コネクタ１３と、ディスクドライブ２９を着脱自在に装着するためのディスクドライブ用コネクタ１９７と、ＲＡＭ１４とが接続される。また、ＲＣＰ１２には、ＣＰＵ１１によって処理された音声信号および映像信号をそれぞれ出力するためのＤＡＣ（ディジタル／アナログ変換器）１５および１６が接続される。さらに、ＲＣＰ１２には、１つまたは複数のコントローラ４０の操作データおよび／または振動カートリッジ５０のデータをシリアル転送するためのコントローラ制御回路１７が接続される。
【００２１】
ＲＣＰ１２に含まれるバス制御回路１２１は、ＣＰＵ１１からバスを介してパラレル信号で与えられたコマンドをパラレル／シリアル変換して、シリアル信号としてコントローラ制御回路１７に供給する。また、バス制御回路１２１は、コントローラ制御回路１７から入力されたシリアル信号をパラレル信号に変換し、バスを介してＣＰＵ１１へ出力する。コントローラ４０から読み込まれた操作状態を示すデータ（操作信号ないし操作データ）は、ＣＰＵ１１によって処理されたり、ＲＡＭ１４に一時記憶される等の処理が行われる。換言すれば、ＲＡＭ１４は、ＣＰＵ１１によって処理されるデータを一時記憶する記憶領域を含み、バス制御回路１２１を介してデータの読出または書込を円滑に行うことに利用される。
【００２２】
音声用ＤＡＣ１５には、ビデオゲーム機１０の後面に設けられるコネクタ１９５が接続される。画像用ＤＡＣ１６には、ビデオゲーム機１０の後面に設けられるコネクタ１９６が接続される。コネクタ１９５には、ディスプレイ３０のスピーカ３１が接続される。コネクタ１９６には、テレビジョン受像機またはＣＲＴ，液晶等のディスプレイ３０が接続される。
【００２３】
コントローラ制御回路１７には、ビデオゲーム機１０の前面に設けられるコントローラ用コネクタ１８が接続される。コネクタ１８には、接続用ジャックを介してコントローラ４０が着脱自在に接続される。このように、コネクタ１８にコントローラ４０を接続することにより、コントローラ４０がビデオゲーム機１０と電気的に接続され、相互間のデータの送受信または転送が可能とされる。
【００２４】
コントローラ制御回路１７は、ＲＣＰ１２とコントローラ用コネクタ１８との間でデータをシリアルで送受信するために用いられ、図３に示すように、データ転送制御回路１７１，送信回路１７２，受信回路１７３および送受信データを一時記憶するためのＲＡＭ１７４を含む。データ転送制御回路１７１は、データ転送時にデータフォーマットを変換するためにパラレル／シリアル変換回路とシリアル／パラレル変換回路を含み、さらにＲＡＭ１７４の書込／読出制御を行う。シリアル／パラレル変換回路は、ＲＣＰ１２から供給されるシリアルデータをパラレルデータに変換してＲＡＭ１７４または送信回路１７２に与える。パラレル／シリアル変換回路は、ＲＡＭ１７４または受信回路１７３から供給されるパラレルデータをシリアルデータに変換して、ＲＣＰ１２に与える。送信回路１７２は、データ転送制御回路１７１から供給されるコントローラ４０の信号読込のためのコマンドおよびカートリッジ５０への書込データ（パラレルデータ）をシリアルデータに変換して、各コントローラ４０のそれぞれに対応するチャンネルＣＨ１〜ＣＨ４へ送出する。受信回路１７３は、各コントローラ４０に対応するチャンネルＣＨ１〜ＣＨ４から入力される各コントローラの操作データおよびカートリッジ５０からの読出データをシリアルデータで受信し、パラレルデータに変換してデータ転送制御回路１７１に与える。データ転送制御回路１７１は、ＲＣＰ１２から転送されたデータまたは受信回路１７３で受信されたコントローラデータやカートリッジ５０の読出データをＲＡＭ１７４に書込んだり、ＲＣＰ１２からの命令に基づいてＲＡＭ１７４のデータを読み出してＲＣＰ１２へ転送する。
【００２５】
なお、ＲＡＭ１７４は、図示を省略しているが、各チャネルＣＨ１〜ＣＨ４毎の記憶場所を有し、各記憶場所に当該チャネルのコマンド，送信データおよび／または受信データがそれぞれ記憶される。
図４はコントローラ４０およびカートリッジ５０の詳細な回路図である。コントローラ４０のハウジングには、ジョイスティック４５，各スイッチ４６，４７等の操作状態を検出しかつその検出データをコントローラ制御回路１７へ転送するために、操作信号処理回路４４等が内蔵される。操作信号処理回路４４は、受信回路４４１，制御回路４４２，スイッチ信号検出回路４４３，カウンタ回路４４４，ジョイポート制御回路４４６，リセット回路４４７およびＮＯＲゲート４４８を含む。受信回路４４１は、コントローラ制御回路１７から送信される制御信号やカートリッジ５０への書込データ等のシリアル信号をパラレル信号に変換して制御回路４４２に与える。制御回路４４２は、コントローラ制御回路１７から送信される制御信号がジョイスティック４５のＸ，Ｙ座標のリセット信号であるとき、リセット信号を発生してＮＯＲゲート４４８を介してカウンタ４４４内のＸ軸用カウンタ４４４ＸとＹ軸用カウンタ４４４Ｙの計数値をリセット（０）させる。
【００２６】
ジョイスティック４５は、レバーの傾き方向のＸ軸方向とＹ軸方向に分解して傾き量に比例したパルス数を発生するように、Ｘ軸用とＹ軸用のフォトインタラプトを含み、それぞれのパルス信号をカウンタ４４４Ｘおよびカウンタ４４４Ｙに与える。カウンタ４４４Ｘは、ジョイスティック４５がＸ軸方向に傾けられたとき、その傾き量に応じて発生されるパルス数を計数する。カウンタ４４４Ｙは、ジョイスティック４５がＹ軸方向に傾けられたとき、その傾き量に応じて発生されるパルス数を計数する。したがって、カウンタ４４４Ｘとカウンタ４４４Ｙとの計数値によって決まるＸ軸とＹ軸の合成ベクトルによって、プレイヤオブジェクトまたは主人公キャラクタもしくはカーソルの移動方向と座標位置とが決定される。なお、カウンタ４４４Ｘおよびカウンタ４４４Ｙは、電源投入時にリセット信号発生回路４４７から与えられるリセット信号、またはプレイヤが所定の２つのスイッチを同時に押圧したときにスイッチ信号検出回路４４３から与えられるリセット信号によって、リセットされる。
【００２７】
スイッチ信号検出回路４４３は、制御回路４４２から一定周期（たとえばテレビジョンのフレーム周期である１／３０秒間隔）で与えられるスイッチ状態を出力するためのコマンドに応答して、十字スイッチ４６およびスイッチ４７Ａ〜４７Ｚの押圧状態によって変化する信号を読込み、それを制御回路４４２へ与える。制御回路４４２は、コントローラ制御回路１７からの操作状態データの読出指令信号に応答して、各スイッチ４７Ａ〜４７Ｚの操作状態データおよびカウンタ４４４Ｘおよび４４４Ｙの計数値を所定のデータフォーマットで送信回路４４５に与える。送信回路４４５は、制御回路４４２から出力されたパラレル信号をシリアル信号に変換して、変換回路４３および信号線４２を介してコントローラ制御回路１７へ転送する。制御回路４４２には、アドレスバスおよびデータバスならびにポートコネクタ４６を介してジョイポート制御回路４４６が接続される。ジョイポート制御回路４４６は、カートリッジ５０がポートコネクタ４６に接続されているとき、ＣＰＵ１１の命令に従ってデータの入出力（または送受信）制御を行う。
【００２８】
カートリッジ５０は、アドレスバスおよびデータバスにＲＡＭ５１を接続し、ＲＡＭ５１に電池５２を接続して構成される。ＲＡＭ５１は、たとえばアドレスバスを用いてアクセス可能な最大容量の半分未満の容量（たとえば２５６ｋビット）のＲＡＭである。ＲＡＭ５１は、ゲームに関連するバックアップデータを記憶するものであり、カートリッジ５０がポートコネクタ４６から抜き取られても電池５２からの電力供給を受けてバックアップデータを保持する。
【００２９】
図５はＲＯＭカートリッジ２０（図１）に内蔵される外部ＲＯＭ２１のメモリ空間を示すメモリマップである。外部ＲＯＭ２１は、複数の記憶領域（以下、単に「領域」と呼ぶこともある）、たとえば図５に示すプログラム領域２２，文字コード領域２３，画像データ領域２４およびサウンドメモリ領域２５を含み、各種のプログラムを予め固定的に記憶している。
【００３０】
プログラム領域２２は、ゲーム画像を処理するために必要なプログラムや、ゲーム内容に応じたゲームデータ等を記憶している。具体的には、プログラム領域２２は、ＣＰＵ１１の動作プログラムを予め固定的に記憶するための複数の記憶領域を含む。メインプログラム領域２２ａには、後述の図９に示すゲーム等のメインルーチンの処理プログラムが記憶される。コントローラデータプログラム領域２２ｂには、コントローラ４０の操作データを処理するためのプログラムが記憶される。書込プログラム領域２２ｃには、ＣＰＵ１１がＲＣＰ１２に書込処理させるべきフレームメモリおよびＺバッファへの書込プログラムが記憶される。たとえば、書込プログラム領域２２ｃには、１つの背景画面で表示すべき複数の移動ブジェクトまたは背景オブジェクトのテクスチュアデータに基づく画像データとして、色データをＲＡＭ１４の画像データ領域２０３（図６，図７）に書き込むプログラムが記憶される。移動プログラム領域２２ｄには、ＣＰＵ１１がＲＣＰ１２に作用して三次元空間中の移動物体の位置を変化させるための制御プログラムが記憶される。カメラ制御プログラム領域２２ｅには、プレイヤオブシェクトを含む移動オブジェクトや背景オブジェクトを三次元空間中のどの方向および／または位置で撮影させるかを制御するためのカメラ制御プログラムが記憶される。プレイヤオブジェクトプログラム領域２２ｆには、プレイヤによって操作されるオブジェクト（プレイヤオブジェクト）の表示制御のためのプログラムが記憶される。地面オブジェクトプログラム領域２２ｇには、プレイヤオブジェクトがその上に立つ、またはプレイヤオブジェクトがその上方に存在する地面オブジェクト（地面，水面，床など）の表示制御のためのプログラムが記憶される。影オブジェクトプログラム領域２２ｈには、プレイヤオブジェクトを照射するライトオブジェクトのデータに従って地面オブジェクト上にプレイヤオブジェクトの影を表示するためのプログラムが記憶される。
【００３１】
文字コード領域２３は、複数種類の文字コードを記憶する領域であって、たとえばコードに対応した複数種類の文字のドットデータを記憶している。文字コード領域２３に記憶されている文字コードデータは、ゲームの進行においてプレイヤに説明文を表示するために利用される。
画像データ領域２４は、背景オブジェクトおよび／または移動オブジェクトの各オブジェクト毎に複数のポリゴンの座標データおよびテクスチュアデータ等の画像データをそれぞれ記憶するとともに、これらのオブジェクトを所定の位置に固定的に表示しまたは移動表示させるための表示制御プログラムを記憶している。
【００３２】
サウンドメモリ領域２５には、場面毎に対応して、その場面に適した上記メッセージを音声で出力するためのセリフや効果音やゲーム音楽（ＢＧＭ）等のサウンドデータが記憶される。
なお、記憶媒体ないし外部記憶装置としては、ＲＯＭカートリッジ２０に代えてまたはＲＯＭカートリッジ２０に加えて、ＣＤ−ＲＯＭや磁気ディスク等の各種記憶媒体を用いてもよい。その場合、ＣＤ−ＲＯＭや磁気ディスク等の光学式または磁気式等のディスク状記憶媒体からゲームのための各種データ（プログラムデータおよび画像表示のためのデータを含む）を読み出しまたは必要に応じて書き込むために、ディスクドライブ２９（図２）が設けられる。ディスクドライブ２９は、外部ＲＯＭ２１と同様のプログラムデータが磁気的または光学的に記憶された磁気ディスクまたは光ディスクに記憶されたデータを読み出し、そのデータをＲＡＭ１４に転送する。
【００３３】
図６はＲＡＭ１４のメモリ空間を示すメモリマップである。ＲＡＭ１４は、表示リスト領域２０１を含む。この表示リスト領域２０１は、プレイヤオブジェクトやノンプレイヤオブジェクトを表示すべきときに当該オブジェクトの番号などを登録するための領域である。ＲＡＭ１４は、さらに、プログラム領域２０２および画像データ領域２０３を含む。画像データ領域２０３は、１フレーム分の画像データを一時記憶するフレームメモリ領域２０３ａと、フレームメモリ領域のドット毎の奥行データを記憶するＺバッファ領域２０３ｂとを含む。画像データ領域２０３は、さらに、図７に示すように、プレイヤオブジェクト画像データ領域２０３ｃ，アニメーションテーブル領域２０３ｄ，地面オブジェクト画像データ領域２０３ｅ，基本影オブジェクト画像データ領域２０３ｆおよびその他オブジェクト画像データ領域２０３ｇを含む。各領域２０３ｃ−２０３ｇには、ポリゴンデータやテクスチャデータが一時的に記憶される。ただし、アニメーションテーブル領域２０３ｄには、後述の図１５に示すアニメーションデータテーブルが記憶される。
【００３４】
プログラムデータ領域２０２は、プログラムを一時的に記憶するための領域である。上述のＲＯＭ２１の各領域（図５）に設定されたプログラムデータが必要に応じてプログラムデータ領域２０２に一時的に記憶され、ＣＰＵ１１およびＲＣＰ１２（図２）は、ＲＡＭ１４のプログラム領域２０２をアクセスすることによって、ゲームを進行させる。同じように、画像データ領域２０３も、ＲＯＭ２１に記憶されている画像データを必要に応じて一時的に記憶しておくための領域であり、ＣＰＵ１１またはＲＣＰ１２によって直接アクセスされ得る。つまり、画像データ領域２０１は、外部ＲＯＭ２１に記憶されているゲーム画像表示のための静止オブジェクトおよび／または移動オブジェクトを構成する複数のポリゴンの座標データおよびテクスチュアデータを記憶するものであって、画像処理動作に先立ってたとえば１コースまたはステージ分のデータが外部ＲＯＭ２１から転送される。
【００３５】
サウンドメモリ領域２０４は、図５のようにＲＯＭ２１のサウンドメモリ領域２５に設定されているＢＧＭや効果音のサウンドデータを一時的に記憶する。コントローラデータ記憶領域２０５は、コントローラ４０から読み込まれた操作状態を示す操作状態データを一時記憶する。
また、フラグ・レジスタ領域２０６は、ＣＰＵ１１がプログラムを実行中に、必要に応じて、フラグを設定し、あるいは変数または定数を記憶する。このフラグ・レジスタ領域２０６に設定されるレジスタとしては、１つの仮想３次元空間（シーン）に存在するライト（自然光ないし外光やポイントライト）の数を示すライト数レジスタ（Ｌｎ），影が表示されるべき地面オブジェクトの数を示す地面オブジェクト数レジスタ（ｏｂ１），他のオブジェクト数を示す他オブジェクト数レジスタ（ｏｂ２），プレイヤオブジェクトの足の長さを示す長さレジスタ（Ｆ１，Ｆ２），プレイヤオブジェクトの足の最大長を示す長さレジスタ（Ｆmax ）, プレイヤオブジェクトの足の高さを示す高さレジスタ（ｈ1,ｈ２），ポイントライトから照射される光の角度を表す角度レジスタ（θ）および表示される影の長さを示す長さレジスタ（Ｘ１，Ｘ２）などがある。
【００３６】
図７に示す基本影オブジェクト画像データ領域２０３ｆには、たとえば図８に示す基本影オブジェクトのポリゴンデータやテクスチァデータが記憶される。すなわち、基本影オブジェクトは２つのポリゴンの集合によって表される円形であり、この実施例では、３つの段階の濃度（透明度）部分を有するようにテクスチュアデータが設定されている。影の中心となる部分の濃度が最も大きく、したがって、その部分の透明度が最も小さい。影の中心から離れるに従って濃度が小さくなるように、各部分の透明度が順次段階的に大きくされている。この実施例は、このように基本影オブジェクトを各場面毎に変形してプレイヤオブジェクトの実際の地面上に表示される影オブジェクトを作成するようにし、計算の負担の軽減と、影の多様性の確保とを同時に満足させようとするものである。
【００３７】
図９はこの実施例のビデオゲームシステムのメインフロー図であり、電源が投入されると、最初のステップＳ１において、ＣＰＵ１１はスタートに際してビデオゲーム機１０を所定の初期状態に設定する。たとえば、ＣＰＵ１１は、外部ＲＯＭ２１のプログラム領域２２に記憶されているゲームプログラムのうちの立ち上げプログラムをＲＡＭ１４のプログラム領域２０２に転送し、各パラメータを初期値に設定した後、図９の各ステップを順次実行する。
【００３８】
図９のメインフロー図の動作は、たとえば１フレーム（１／６０秒）毎または２ないし３フレーム毎に行われるものであり、コースをクリアするまではステップＳ１〜Ｓ１３が繰り返し実行される。コースクリアに成功することなくゲームオーバになると、ステップＳ１３に続いて、ステップＳ１４においてゲームオーバ処理が行われる。コースクリアに成功するとステップＳ１３からステップＳ１へ戻る。
【００３９】
すなわち、ステップＳ１において、ゲームのコース画面および／またはコース選択画面の表示が行われるが、電源投入後にゲームを開始する場合は、最初のコース画面の表示が行われる。最初のコースをクリアすると、次のコースが設定される。
ステップＳ１に続いて、ステップＳ２において、コントローラ処理が行われる。この処理は、コントローラ４０のジョイスティック４５，十字スイッチ４６，およびスイッチ４７Ａ〜４７Ｚの何れが操作されたかを検出し、その操作状態の検出データ（コントローラデータ）を読み込み、読み込んだコントローラデータをＲＡＭ１４のコントローラデータ領域２０５に書き込む。
【００４０】
ステップＳ３では、プレイヤオブジェクトを照射するライト、たとえばポイントライトや外光（自然光）の位置データを処理する。たとえばプレイヤオブジェクトを照射するライトの数をライト数レジスタＬｎに書き込むとともに、ＲＯＭ２１の画像データ領域２４（図５）から自然光以外のライトのライトオブジェクト画像データをＲＡＭ１４の画像データ領域２０３に書き込む。ライトオブジェクトがある場合、そのライトオブジェクトをＲＡＭ１４の表示リスト領域２０１（図６）に登録する。
【００４１】
ステップＳ４において、地面オブジェクトの表示のための処理が行われる。このステップＳ４は、具体的には、図１０に示すサブルーチンで実行される。図１０の最初のステップＳ４０１では、地面オブジェクト数レジスタｏｂ１を「１」に設定し、次のステップＳ４０２では、その地面オブジェクトを表示リスト領域２０１（図６）に登録する。ステップＳ４０３では、地面オブジェクト数レジスタｏｂ１をインクリメントし、次のステップＳ４０４では、全ての地面オブジェクトについて表示リスト領域２０１への登録が終了したかどうかを判断する。もし、このステップＳ４０４で“ＮＯ”であれば、ステップＳ４０２に戻り、ステップＳ４０４で全ての地面オブジェクトについての処理が終了するまでステップＳ４０２およびＳ４０３が繰り返し実行される。
【００４２】
ステップＳ５において、プレイヤオブジェクトの表示のための処理が行われる。この処理は、具体的には、図１１のサブルーチンで実行される。図１１の最初のステップＳ５０１では、プレイヤの操作するジョイスティック４５や十字キー４６の操作状態や外部ＲＯＭ２１の記憶領域２２ｆ（図６）から転送されたプログラムと記憶領域２４から転送されたプレイヤオブジェクトのポリゴンデータとコントローラデータすなわちジョイスティック４５や十字キー４６の操作状態とに基づいて、プレイヤオブジェクトの位置を移動する。続くステップＳ５０２では、コントローラ４０のボタン４７の操作状態（コントローラデータ）に応じてプレイヤオブジェクトの動作を変更し、変化後のポリゴンデータを演算によって求める。そして、ステップＳ５０３で、そのプレイヤオブジェクトを表示リスト領域２０１に登録する。
【００４３】
ステップＳ６において、その他のオブジェクトの処理が行われる。このステップでは、記憶領域２２ｈから一部転送されたプログラムと記憶領域２４（図５）から転送されたその他のオブジェクトのポリゴンデータとに基づいて、その他のオブジェクトの表示位置や形状を演算する。
ステップＳ７において、影オブジェクトの表示のための処理が実行される。このステップＳ７は、具体的には、図１２に示すサブルーチンによって実行される。
【００４４】
図１２の最初のステップＳ７０１では、ＣＰＵ１１（図２）は、ＲＡＭ１４のライト数レジスタＬｎに「１」をセットする。次のステップＳ７０２およびＳ７０３では、左足および右足の位置をそれぞれ検出する。プレイヤオブジェクトが図１３に示すようなものである場合、図７のプレイヤオブジェクト画像データ領域２０３ｃにストアされている画像データに基づいて、ＣＰＵ１１は、ステップＳ７０２およびＳ７０３において、それぞれ、左足の先踵の座標（ｘ１，ｙ１，ｚ１）および右足の先踵の座標（ｘ２，ｙ２，ｚ２）を検出する。
【００４５】
次のステップＳ７０４およびＳ７０５では、ＣＰＵ１１は、図７の地面オブジェクト画像データ領域２０３ｅの画像データに基づいて、それぞれ、左足および右足の下に存在する床（地面オブジェクト）をチェックする。具体的には、その地面オブジェクトの位置，傾きあるいは材質（水，土等）の状態をチェックする。
【００４６】
ステップＳ７０６およびＳ７０７では、それぞれ、左足の影の位置および右足の影の位置を決定する。このステップＳ７０６およびＳ７０７では、たとえば、先のステップＳ７０２およびＳ７０３で検出したそれぞれの足の踵の座標位置（ｘ１，ｙ１，ｚ１）（ｘ２，ｙ２，ｚ２）の「ｙ」（高さ）だけを変更した座標位置を、それぞれの足の影の位置として決定する。
【００４７】
続いて、ステップＳ７０８では、ＣＰＵ１１は、先のステップＳ７０１で指定されたライトの方向を検出する。たとえば、ＲＡＭ１４のその他オブジェクト画像データ領域２０３ｇ（図７）にストアされている画像データに基づいて、そのポイントライトの座標位置を検出する。
ステップＳ７０９では、プレイヤオブジェクトの影を延ばす方向を決定する。プレイヤオブジェクトの中心（図１３）の座標位置がプレイヤオブジェクト画像データ領域２０３ｃから読み出され、ステップＳ７０８でポイントライトの座標位置が検出されるので、その中心の座標位置とポイントライトの座標位置とを結ぶ線と反対側が影を延ばす方向である。図１４を参照して、プレイヤオブジェクトＯＢＪの後方からライトの光が照射されているとすれば、プレイヤオブジェクトの影はプレイヤオブジェクトとライトとを結ぶ線上であってかつプレイヤオブジェクトの前方に延びることになる。つまり、ライトとプレイヤオブジェクトとを結ぶ線上におけるライトとは反対側の方向にプレイヤオブジェクトの影が延びるように影の方向が決定される。
【００４８】
次のステップＳ７１０では、ステップＳ７０１で指定されたポイントライトの高さを検出する。ステップＳ７０８において、ポイントライトの座標位置が検出されているのであるから、ステップＳ７１０では、その座標位置の「ｙ」（高さ）のデータのみを検出する。このポイントライトの高さを検出するのは、図１４に示すように、ポイントライトの高さ「高」，「中」または「低」に応じて、プレイヤオブジェクトの影の長さが変化するからである。
【００４９】
次のステップＳ７１１およびＳ７１２において、それぞれ、左足の長さ（Ｆ１）および右足の長さ（Ｆ２）を決定する。図１３のプレイヤオブジェクトの場合、足の長さＦはそれぞれ、数１で与えられる。
【００５０】
【数１】
Ｆ＝Ｆｍａｘ−ｈ
ただし、Ｆｍａｘは足の長さの最大値（最大長）であり、ｈは地面から足までの高さである。
図１３の例では、足の長さの最大値Ｆｍａｘは、地面からプレイヤオブジェクトの中心までの高さとした。ただし、地面から各足の付け根までを各足の長さの最大値Ｆｍａｘとしてもよい。
【００５１】
このステップＳ７１１およびＳ７１２では、数１によって足の長さを求める場合のほか、図１５に示すようなアニメーションテーブルを図７のアニメーションーブル領域２０３ｄに予め設定しておき、表示すべきプレイヤオブジェクトに応じた足の長さデータを読み出すようにしてもよい。図１５の例でいえば、アニメーション１〜アニメーション１２がプレイヤオブジェクトの大きさや姿勢の変化を示し、プレイヤオブジェクトがたとえばアニメーション１であるときに、右足および左足の長さがいずれも「２０」として設定される。
【００５２】
次のステップＳ７１３およびＳ７１４では、先のステップＳ７１０で検出したポイントライトの高さと、ステップＳ７１１およびＳ７１２で求めたそれぞれの足の長さ（Ｆ）とに基づいて、数２に従って、左足の影の長さ（Ｘ１）および右足の影の長さ（Ｘ２）をそれぞれ決定する。
【００５３】
【数２】
Ｘ＝ｂ−（ａ×θ）−ｃ（Ｆｍａｘ−Ｆ）ｈ＋ｄ
ただし、Ｘは影の長さであり、ｂは９０°であり、ａは定数、θは図１６に示すポイントライトの照射角度、ｃは定数、ｄは基本影オブジェクトの大きさである。なお、定数ａおよびｃは、この実施例では、それぞれ「１」としている。
【００５４】
ポイントライトの照射角度θは、ポイントライトとプレイヤオブジェクトの足の付け根（またはプレイヤオブジェクトの中心）を結ぶ線によって作られる地面に対する角度である。ポイントライトがプレイヤオブジェクトの真上から光を照射している場合には、角度θは９０°になる。ポイントライトの位置がプレイヤオブジェクトの真上からプレイヤオブジェクトの足の付け根（または中心）までの間で高さを変えることによって、角度θがθ１，θ２，θ３，…と変化する。
【００５５】
ポイントライトがプレイヤオブジェクトの真上にある場合、影の長さＸ０は、図１７に示すように基本影オブジェクトと同じになる。角度θがθ１，θ２，θ３，…と順次小さくなるに従って、影の長さＸ１，Ｘ２，Ｘ３，…は順次大きくなる。
ステップＳ７１５およびＳ７１６において、それぞれ、左足および右足の影の濃さを決定する。たとえば図１３に示すように左足を上げているとき、図１８の右側に示すように左足の影は右足の影に比べて薄く投影される。つまり、高さｈが大きいとき影の濃さは薄くされ、高さｈが小さいとき影の濃さは濃くされる。影の濃さを変更するためには、具体的には、基本影オブジェクト画像データ領域２０３ｆにストアされている透明度のデータを変更する。すなわち、影の濃さを変更するために、透明度を変更することになる。
【００５６】
ステップＳ７１７およびＳ７１８では、それぞれ、左足の影および右足の影がそれぞれ投影される床（地面オブジェクト）の状態をチェックする。地面オブジェクト画像データ領域２０３ｅ（図７）のデータに基づいて、左足や右足が投影される地面オブジェクトの状態、たとえば段差，傾斜および材質などが検出される。そして、ステップＳ７１９およびＳ７２０において、検出した地面オブジェクトの状態を考慮して、左足の影の形および右足の影の形を決定する。影が図１９に示すように傾斜した地面オブジェクトに投影されるとき、影の形は、その傾斜角度θ０に従って、短くなる。つまり、影が投影される地面オブジェクトが傾斜しているときには、ステップＳ７１３およびＳ７１４で決定した影の長さを変更する。具体的には、影オブジェクト（ポリゴン）の頂点の位置を傾斜角度に従って変更する必要がある。このようにして、ステップＳ７１９およびＳ７２０において、最終的に表示すべき表示用影オブジェクトが決定され、それが表示リスト領域２０１（図６）に登録される。
【００５７】
そして、ステップＳ７２１において全てのライトについて処理が終了するまで、ステップＳ７０８〜Ｓ７２０が繰り返し実行される。つまり、プレイヤオブジェクトの影を作るライトが自然光も含めて２以上ある場合、それぞれのライトの位置とプレイヤオブジェクトの状態などによってそれぞれのライトによって形成される表示用影オブジェクトを作成する。
【００５８】
図２０は具体的なゲーム画面の一例を示すものであり、ライトＬ１によって影Ｓ１が表示され、プレイヤオブジェクトの後方にありかつ表示画面には表示されていないライト（自然光）によって別の影Ｓ２が表示されている。
図９に戻って、ステップＳ８において、カメラ処理が行われる。たとえば、カメラのファインダを通して見たときの視線または視界がプレイヤがジョイスティック４５によって指定したアングルとなるように、各オブジェクトに対する視点の座標を演算する。仮想カメラの位置（視点）や視線方向は、基本的にはジョイスティック４５によって制御される。
【００５９】
ステップＳ９において、ＲＳＰ１２２が描画処理を行う。すなわち、ＲＣＰ１２は、ＣＰＵ１１の制御の下に、ＲＡＭ１４の画像データ領域２０３に記憶されている敵オブジェクト，プレイヤオブジェクト等や表示用影オブジェクトの移動オブジェクトや背景等の静止オブジェクトのそれぞれのテクスチュアデータに基づいて、移動オブジェクトおよび静止オブジェクトの表示のための画像データの変換処理（図２１に示す座標変換処理およびフレームメモリ描画処理）を行う。具体的には、各移動オブジェクトや静止オブジェクト毎に複数のポリゴンに色を付与する。
【００６０】
ステップＳ１０において、ＣＰＵ１１がメッセージや音楽や効果音等の音声データに基づいて、音声処理を行なう。
ステップＳ１１において、ＣＰＵ１１が、ステップＳ７において描画処理された結果により、ＲＡＭ１４のフレームメモリ領域に記憶されている画像データを読み出す。したがって、プレイヤオブジェクトや影オブジェクト，ノンプレイヤオブジェクト、たとえば移動オブジェクト，静止オブジェクトおよび敵オブジェクト等が図２０に示すようにディスプレイ３０（図１，図２）の表示画面上に表示される。
【００６１】
ステップＳ１２において、ＲＣＰ１２がステップＳ１８において音声処理した結果得られる音声データを読み出すことにより、音楽および効果音または会話等の音声を出力させる。
ステップＳ１３において、コースをクリアしたか否かが判断（コースクリア検出）され、コースをクリアしていなければステップＳ１４においてゲームオーバになったか否かが判断され、ゲームオーバでなければステップＳ２へ戻り、ゲームオーバの条件が検出されるまでステップＳ１〜Ｓ１４が繰り返される。そして、プレイヤに許容されているミス回数が所定の回数になるか、プレイヤオブジェクトのライフを所定数量使い切る等のゲームオーバ条件になったことが検出されると、続くステップＳ１４においてゲームの継続またはバックアップデータの記憶の選択等のゲームオーバ処理が行われる。
【００６２】
なお、ステップＳ１３において、コースをクリアした条件（たとえば、ボスを倒す等）が検出されると、コースクリアの処理をした後、ステップＳ１へ戻る。
【図面の簡単な説明】
【図１】この発明の一実施例のビデオゲームシステムを示す概略図解図である。
【図２】図１のビデオゲーム機を詳細に示すブロック図である。
【図３】図２のコントローラ制御回路をより詳細に示すブロック図である。
【図４】図１のコントローラおよびカートリッジを詳細に示すブロック図である。
【図５】図２の外部ＲＯＭのメモリマップを示す図解図である。
【図６】図２のＲＡＭのメモリマップを示す図解図である。
【図７】図６のＲＡＭに含まれる画像データ領域を詳細に示す図解図である。
【図８】基本影オブジェクトのポリゴンを示す図解図である。
【図９】図１実施例の全体の動作を示すフロー図である。
【図１０】図８実施例の地面オブジェクト処理ルーチンを詳細に示すフロー図である。
【図１１】図８実施例のプレイヤオブジェクト処理ルーチンを詳細に示すフロー図である。
【図１２】図８実施例の影オブジェクト処理ルーチンを詳細に示すフロー図である。
【図１３】プレイヤオブジェクトの各要素を示す図解図である。
【図１４】ライトの高さ位置違いによってプレイヤオブジェクトの影がどのように変化かるかを示す図解図である。
【図１５】アニメーションテーブルの一例を示す図解図である。
【図１６】ライトの高さと影の長さとの関係をより詳細に示す図解図である。
【図１７】影の長さの違いを詳細に示す図解図である。
【図１８】足の高さに応じて変化される影の濃さを示す図解図である。
【図１９】地面に投影された影の形の一例を示す図解図である。
【図２０】実際のゲーム場面で表示される影を示す図解図である。
【図２１】図９実施例の描画処理ルーチンを示す図解図である。
【符号の説明】
１０  …ビデオゲーム機
１１  …ＣＰＵ
１７  …コントローラ制御回路
２０  …ＲＯＭカートリッジ
４０  …コントローラ
５０  …カートリッジ
【図１】
0004105788.tif 000002
【図２】
0004105788.tif 000003
【図３】
0004105788.tif 000004
【図４】
0004105788.tif 000005
【図５】
0004105788.tif 000006
【図６】
0004105788.tif 000007
【図７】
0004105788.tif 000008
【図８】
0004105788.tif 000009
【図９】
0004105788.tif 000010
【図１０】
0004105788.tif 000011
【図１１】
0004105788.tif 000012
【図１２】
0004105788.tif 000013
【図１３】
0004105788.tif 000014
【図１４】
0004105788.tif 000015
【図１５】
0004105788.tif 000016
【図１６】
0004105788.tif 000017
【図１７】
0004105788.tif 000018
【図１８】
0004105788.tif 000019
【図１９】
0004105788.tif 000020
【図２０】
0004105788.tif 000021
【図２１】
0004105788.tif 000022