(57)【特許請求の範囲】
【請求項１】
３次元仮想空間に複数のポリゴンを配置し、当該複数のポリゴンが持つ複数のタイプの属性と、当該複数のタイプの属性に対応する複数のタイプの第１テクスチャ及び複数のタイプの第２テクスチャとを記憶した記憶手段を備える画像処理装置のコンピュータに実行させる画像処理プログラムであって、
前記複数のタイプの属性は、それぞれ、主要画像用の複数のタイプの第１属性のいずれかとマップ画像用の複数のタイプの第２属性のいずれかとから成り、
前記複数のタイプの第１テクスチャは、それぞれ、前記複数のタイプの第１属性のいずれかに対応し、
前記複数のタイプの第２テクスチャは、それぞれ、前記複数のタイプの第２属性のいずれかに対応し、
前記コンピュータを、
前記複数のタイプの第１テクスチャのそれぞれを、対応するタイプの第１属性を持つポリゴンにマッピングし、第１仮想カメラによって３次元仮想空間を撮像して、前記主要画像を生成する主要画像生成手段と、
前記複数のタイプの第２テクスチャのそれぞれを、対応するタイプの第２属性を持つポリゴンにマッピングし、第２仮想カメラによって３次元仮想空間を撮像して、前記マップ画像を生成するマップ画像生成手段として機能させる、画像処理プログラム。
【請求項２】
前記画像処理プログラムは、前記コンピュータを、
前記第２属性がポリゴンを配置するタイプの属性であるか否かを、少なくとも前記第２仮想カメラの撮像範囲内に配置を予定されたポリゴンに対して判別する配置判別手段と、
前記３次元仮想空間にポリゴンを配置するポリゴン配置手段としてさらに機能させ、
前記ポリゴン配置手段は、前記主要画像生成手段が前記主要画像を生成する際には、少なくとも前記第１仮想カメラの撮像範囲内に配置を予定された全てのポリゴンを前記３次元仮想空間に配置し、前記マップ画像生成手段が前記マップ画像を生成する際には、少なくとも前記第２仮想カメラの撮像範囲内に配置を予定されたポリゴンのうちポリゴンを配置するタイプの第２属性を持つポリゴンのみを前記３次元仮想空間に配置する、請求項１に記載の画像処理プログラム。
【請求項３】
前記画像処理プログラムは、前記コンピュータを、
前記３次元仮想空間にポリゴンを配置するポリゴン配置手段と、
前記第２属性がポリゴンに前記第２テクスチャをマッピングするタイプの属性であるか否かを、少なくとも前記第２仮想カメラの撮像範囲内に配置されたポリゴンに対して判別するマッピング判別手段としてさらに機能させ、
前記マップ画像生成手段は、前記マッピング判別手段によって、マッピングするタイプの属性であると判別された第２属性を持つポリゴンのみに、当該第２属性に対応するタイプの前記第２テクスチャをマッピングする、請求項１に記載の画像処理プログラム。
【請求項４】
前記主要画像生成手段によって撮像される３次元仮想空間と、前記マップ画像生成手段によって撮像される３次元仮想空間とは、同一の３次元仮想空間である、請求項１に記載の画像処理プログラム。
【請求項５】
前記第１仮想カメラは、任意の方向を撮像し、
前記第２仮想カメラは、固定された方向を撮像する、請求項１に記載の画像処理プログラム。
【請求項６】
前記第２仮想カメラは、平行投影によって撮像する、請求項１に記載の画像処理プログラム。
【請求項７】
前記第２テクスチャの画像サイズは、前記第１テクスチャの画像サイズよりも小さい、請求項１に記載の画像処理プログラム。
【請求項８】
前記マップ画像生成手段は、同じタイプの属性を持つポリゴンを一括してマッピングする、請求項１に記載の画像処理プログラム。
【請求項９】
前記マップ画像生成手段は、前記複数のポリゴンのそれぞれに対して、第２テクスチャを複数整列させてマッピングする、請求項１に記載の画像処理プログラム。
【請求項１０】
前記マップ画像生成手段は、前記第２仮想カメラによって撮像した画像をペイント画像としてスクリーンキャプチャして、マップ画像を生成する、請求項１に記載の画像処理プログラム。
【請求項１１】
前記画像処理プログラムは、前記コンピュータを、
ポリゴンの垂直方向の位置を表す値が所定値を超えたか否かを、少なくとも前記第２仮想カメラの撮像範囲内に配置を予定されたポリゴンに対して判別する垂直方向位置判別手段と、
前記３次元仮想空間にポリゴンを配置するポリゴン配置手段としてさらに機能させ、
前記ポリゴン配置手段は、前記主要画像生成手段が前記主要画像を生成する際には、少なくとも前記第１仮想カメラの撮像範囲内に配置を予定された全てのポリゴンを前記３次元仮想空間に配置し、前記マップ画像生成手段が前記マップ画像を生成する際には、少なくとも前記第２仮想カメラの撮像範囲内に配置を予定されたポリゴンのうち前記垂直方向位置判別手段によって垂直方向の位置を表す値が所定値を超えていないと判別されたポリゴンのみを前記３次元仮想空間に配置する、請求項１に記載の画像処理プログラム。
【請求項１２】
前記第１仮想カメラと前記第２仮想カメラとは、同一の仮想カメラである、請求項１に記載の画像処理プログラム。
【請求項１３】
３次元仮想空間に複数のポリゴンを配置し、当該複数のポリゴンが持つ複数のタイプの属性と、当該複数のタイプの属性に対応する複数のタイプの第１テクスチャ及び複数のタイプの第２テクスチャとを記憶した記憶手段を備える画像処理装置であって、
前記複数のタイプの属性は、それぞれ、主要画像用の複数のタイプの第１属性のいずれかとマップ画像用の複数のタイプの第２属性のいずれかとから成り、
前記複数のタイプの第１テクスチャは、それぞれ、前記複数のタイプの第１属性のいずれかに対応し、
前記複数のタイプの第２テクスチャは、それぞれ、前記複数のタイプの第２属性のいずれかに対応し、
前記複数のタイプの第１テクスチャのそれぞれを、対応するタイプの第１属性を持つポリゴンにマッピングし、第１仮想カメラによって３次元仮想空間を撮像して、前記主要画像を生成する主要画像生成手段と、
前記複数のタイプの第２テクスチャのそれぞれを、対応するタイプの第２属性を持つポリゴンにマッピングし、第２仮想カメラによって３次元仮想空間を撮像して、前記マップ画像を生成するマップ画像生成手段とを備える、画像処理装置。
【請求項１４】
３次元仮想空間に複数のポリゴンを配置し、当該複数のポリゴンが持つ複数のタイプの属性と、当該複数のタイプの属性に対応する複数のタイプの第１テクスチャ及び複数のタイプの第２テクスチャとを記憶した記憶手段を備える画像処理システムであって、
前記複数のタイプの属性は、それぞれ、主要画像用の複数のタイプの第１属性のいずれかとマップ画像用の複数のタイプの第２属性のいずれかとから成り、
前記複数のタイプの第１テクスチャは、それぞれ、前記複数のタイプの第１属性のいずれかに対応し、
前記複数のタイプの第２テクスチャは、それぞれ、前記複数のタイプの第２属性のいずれかに対応し、
前記複数のタイプの第１テクスチャのそれぞれを、対応するタイプの第１属性を持つポリゴンにマッピングし、第１仮想カメラによって３次元仮想空間を撮像して、前記主要画像を生成する主要画像生成手段と、
前記複数のタイプの第２テクスチャのそれぞれを、対応するタイプの第２属性を持つポリゴンにマッピングし、第２仮想カメラによって３次元仮想空間を撮像して、前記マップ画像を生成するマップ画像生成手段とを備える、画像処理システム。
【請求項１５】
３次元仮想空間に複数のポリゴンを配置し、主要画像とマップ画像を生成する、コンピュータにより実行される画像処理方法であって、
前記複数のポリゴンが持つ複数のタイプの属性は、それぞれ、主要画像用の複数のタイプの第１属性のいずれかとマップ画像用の複数のタイプの第２属性のいずれかとから成り、
複数のタイプの第１テクスチャは、それぞれ、前記複数のタイプの第１属性のいずれかに対応し、
複数のタイプの第２テクスチャは、それぞれ、前記複数のタイプの第２属性のいずれかに対応し、
前記複数のタイプの第１テクスチャのそれぞれを、対応するタイプの第１属性を持つポリゴンにマッピングし、第１仮想カメラによって３次元仮想空間を撮像して、前記主要画像を生成する主要画像生成ステップと、
前記複数のタイプの第２テクスチャのそれぞれを、対応するタイプの第２属性を持つポリゴンにマッピングし、第２仮想カメラによって３次元仮想空間を撮像して、前記マップ画像を生成するマップ画像生成ステップとを備える、画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元仮想空間を仮想カメラによって撮像した画像と当該３次元仮想空間を例えば上方から撮像したマップ画像とを生成する画像処理プログラム、画像処理装置、画像処理システム及び画像処理方法に関する。
【背景技術】
【０００２】
従来、３次元仮想空間を仮想カメラによって撮影して表示すると共に、この３次元仮想空間のマップを合わせて表示する技術が存在している。例えば、特許文献１に開示されたゲームシステムにおいては、３次元仮想空間であるゲーム空間を所与の視点から視た３次元ゲーム画面および上記ゲーム空間を上方から平面視した２次元マップが表示される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−３２５９７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１において開示されたゲームシステムでは、３次元仮想空間を構成するためのデータと２次元マップを構成するためのデータとがそれぞれ別個に記憶されているため、必要となる記憶媒体（光ディスク、ＲＯＭ等）および描画のために一時的にデータを記憶するメモリ（ＲＡＭ等）の容量が大きくなる。また、複数の３次元仮想空間（ゲームステージ）が存在する場合、それぞれの３次元仮想空間に対応する２次元マップのデータを用意することになり、この点においても必要となる記憶媒体およびメモリの容量が大きくなる。
【０００５】
それ故に、本発明の目的は、使用する記憶媒体（光ディスク、ＲＯＭ等）および描画のために一時的にデータを記憶するメモリ（ＲＡＭ等）の容量を節約して３次元仮想空間を表す３次元画像（主要画像）および当該３次元仮想空間のマップ画像を生成できる画像処理プログラム等を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の構成を採用した。
【０００７】
３次元仮想空間に複数のポリゴンを配置し、当該複数のポリゴンが持つ複数のタイプの属性と、当該複数のタイプの属性に対応する複数のタイプの第１テクスチャ及び複数のタイプの第２テクスチャとを記憶した記憶手段を備える画像処理装置のコンピュータに実行させる画像処理プログラムであって、コンピュータを、主要画像生成手段とマップ画像生成手段として機能させる。主要画像生成手段は、複数のタイプの第１テクスチャのそれぞれを、対応するタイプの属性を持つポリゴンにマッピングし、第１仮想カメラによって３次元仮想空間を撮像して、主要画像を生成する。マップ画像生成手段は、複数のタイプの第２テクスチャのそれぞれを、対応するタイプの属性を持つポリゴンにマッピングし、第２仮想カメラによって３次元仮想空間を撮像して、マップ画像を生成するとして機能させる。
【０００８】
このことによって、マップ画像生成手段は第２テクスチャを当該第２テクスチャに対応する属性を持つポリゴンにマッピングしてマップ画像を生成するので、従来のように、主要画像に対応するマップ画像のデータを別個に用意する必要がない。この結果として、記憶媒体やメモリ（光ディスク、ＲＯＭ、ＲＡＭ等）の記憶容量を節約できる。
【０００９】
また、記憶手段に記憶された複数のタイプの属性は、主要画像用の複数のタイプの第１属性とマップ画像用の複数のタイプの第２属性とから成り、複数のタイプの第１テクスチャは、それぞれ、複数のタイプの第１属性のいずれかに対応し、複数のタイプの第２テクスチャは、それぞれ、複数のタイプの第２属性のいずれかに対応し、主要画像生成手段は、複数のタイプの第１テクスチャのそれぞれを、対応するタイプの第１属性を持つポリゴンにマッピングし、第１仮想カメラによって３次元仮想空間を撮像して、主要画像を生成し、マップ画像生成手段は、複数のタイプの第２テクスチャのそれぞれを、対応するタイプの第２属性を持つポリゴンにマッピングし、第２仮想カメラによって３次元仮想空間を撮像して、マップ画像を生成してもよい。
【００１０】
このことによって、同じポリゴンが持つ第１属性と第２属性とを互いに異なったものとすることができる。この結果として、主要画像と一部又は全部が対応しないマップ画像を生成することができる。例えば、主要画像がゲーム画像である場合において、マップ画像が、現状のゲーム画像の昔の地図（地形）を表すものとすることができる。
【００１１】
また、画像処理プログラムは、コンピュータを、第２属性がポリゴンを配置するタイプの属性であるか否かを、少なくとも第２仮想カメラの撮像範囲内に配置を予定されたポリゴンに対して判別する配置判別手段と、３次元仮想空間にポリゴンを配置するポリゴン配置手段としてさらに機能させてもよい。そして、ポリゴン配置手段は、主要画像生成手段が主要画像を生成する際には、少なくとも第１仮想カメラの撮像範囲内に配置を予定された全てのポリゴンを３次元仮想空間に配置し、マップ画像生成手段がマップ画像を生成する際には、少なくとも第２仮想カメラの撮像範囲内に配置を予定されたポリゴンのうちポリゴンを配置するタイプの第２属性を持つポリゴンのみを３次元仮想空間に配置してもよい。
【００１２】
このことによって、地図として表現する必要のないものを省略したマップ画像を生成できるので、マップ画像は、地図として見易いものとなる。
【００１３】
また、画像処理プログラムは、コンピュータを、３次元仮想空間にポリゴンを配置するポリゴン配置手段と、第２属性がポリゴンに第２テクスチャをマッピングするタイプの属性であるか否かを、少なくとも第２仮想カメラの撮像範囲内に配置されたポリゴンに対して判別するマッピング判別手段としてさらに機能させてもよい。そして、マップ画像生成手段は、マッピング判別手段によって、マッピングするタイプの属性であると判別された第２属性を持つポリゴンのみに、当該第２属性に対応するタイプの第２テクスチャをマッピングしてもよい。
【００１４】
このことによって、地図として表現する必要のないものを省略したマップ画像を生成できるので、マップ画像は、地図として見易いものとなる。
【００１５】
また、主要画像生成手段によって撮像される３次元仮想空間と、マップ画像生成手段によって撮像される３次元仮想空間とは、同一の３次元仮想空間であることが好ましい。
【００１６】
このことによって、１つの３次元仮想空間から主要画像およびマップ画像を生成するため、記憶媒体やメモリ（光ディスク、ＲＯＭ、ＲＡＭ等）の記憶容量を節約できるほか、プログラムの製作段階において、３次元仮想空間に複数のポリゴンによって形成される形状を変更した場合には生成されるマップ画像もこの変更に連動して変更されるため、プログラム製作者の負担が軽減される。
【００１７】
また、第１仮想カメラは、任意の方向を撮像し、第２仮想カメラは、固定された方向を撮像してもよい。
【００１８】
このことによって、マップ画像は固定された方向から視た画像となる。この結果として、マップ画像の視点が一定となり、位置の把握が容易となり、地図として見易いものとなる。
【００１９】
また、前記第２仮想カメラは、平行投影によって撮像してもよい。
【００２０】
このことによって、マップ画像は、地図として見易いものとなる。
【００２１】
また、第２テクスチャの画像サイズは、第１テクスチャの画像サイズよりも小さく設定してもよい。
【００２２】
このことによって、第２テクスチャのデータを小さくできるので、記憶媒体やメモリ（光ディスク、ＲＯＭ、ＲＡＭ等）の記憶容量を節約できる。
【００２３】
また、マップ画像生成手段は、同じタイプの属性を持つポリゴンを一括してマッピングしてもよい。
【００２４】
このことによって、ポリゴンをマッピングする処理が高速化される。
【００２５】
また、マップ画像生成手段は、複数のポリゴンのそれぞれに対して、第２テクスチャを複数整列させてマッピングしてもよい。
【００２６】
このことによって、第２テクスチャの画像サイズを貼り付ける対象のポリゴンよりも大幅に小さいサイズにした場合であっても、効率的に貼り付けることができる。
【００２７】
また、マップ画像生成手段は、第２仮想カメラによって撮像した画像をペイント画像としてスクリーンキャプチャして、マップ画像を生成してもよい。
【００２８】
このことによって、スクリーンキャプチャによって生成されたペイント画像をマップ画像として表示させるので、表示の度にレンダリング処理等の複雑な演算処理を行う必要がない。この結果として、マップ画像を表示する際の処理負担が軽減される。
【００２９】
また、記憶手段は、同一のキャラクタを表す第１オブジェクトと第２オブジェクトとを記憶し、主要画像生成手段は、第１オブジェクトが配置された３次元仮想空間を撮像し、マップ画像生成手段は、第２オブジェクトが配置された３次元仮想空間を撮像してもよい。
【００３０】
このことによって、主要画像中のキャラクタとマップ画像中のキャラクタの表示態様を異なったものにできる。
【００３１】
また、画像処理プログラムは、コンピュータを、ポリゴンの垂直方向の位置を表す値が所定値を超えたか否かを、少なくとも第２仮想カメラの撮像範囲内に配置を予定されたポリゴンに対して判別する垂直方向位置判別手段と、３次元仮想空間にポリゴンを配置するポリゴン配置手段としてさらに機能させてもよい。そして、ポリゴン配置手段は、主要画像生成手段が主要画像を生成する際には、少なくとも第１仮想カメラの撮像範囲内に配置を予定された全てのポリゴンを３次元仮想空間に配置し、マップ画像生成手段がマップ画像を生成する際には、少なくとも第２仮想カメラの撮像範囲内に配置を予定されたポリゴンのうち垂直方向位置判別手段によって垂直方向の位置を表す値が所定値を超えていないと判別されたポリゴンのみを３次元仮想空間に配置してもよい。
【００３２】
このことによって、垂直方向の位置が大きいポリゴン（ゲーム空間の高い位置のポリゴン；例えば木を形成するポリゴン）は配置されないので、このようなポリゴンに隠されてしまう部分（例えば木の下に在る道）をマップ画像に表示させることができる。
【００３３】
また、第１仮想カメラと第２仮想カメラとは、同一の仮想カメラであってもよい。
【００３４】
以上では、画像処理プログラムとして本発明を構成する場合について記載した。しかし、本発明は、画像処理装置、画像処理システム、又は画像処理方法として構成されてもよい。
【発明の効果】
【００３５】
本発明によれば、使用する記憶媒体（光ディスク、ＲＯＭ等）および描画のために一時的にデータを記憶するメモリ（ＲＡＭ等）の容量を節約して３次元仮想空間を表す３次元画像（主要画像）および当該３次元仮想空間のマップ画像を生成できる画像処理プログラム等を提供できる。
【図面の簡単な説明】
【００３６】
【図１】本発明の一実施形態に係るゲーム装置３を含むゲームシステム１の外観図
【図２】ゲーム装置３の内部構成を示すブロック図
【図３】コントローラ７を上面後方から見た斜視図
【図４】コントローラ７を下面前方から見た斜視図
【図５】コントローラ７の上ハウジング（ハウジング７１の一部）を外した状態を後面側から見た斜視図
【図６】コントローラ７の下ハウジング（ハウジング７１の一部）を外した状態を前面側から見た斜視図
【図７】コントローラ７の構成を示すブロック図
【図８】本実施形態で想定するゲームのゲーム画像の一例を示す図
【図９】拡張コントローラ３６及びコントローラ７をプレイヤが操作する様子を示す図
【図１０】本実施形態で想定するゲームのマップ画像の一例を示す図
【図１１】ゲーム装置３の外部メインメモリ１２のメモリマップを示す図
【図１２】ＣＰＵ１０によって実行されるゲーム処理のフローチャートの一例
【図１３】ＧＰＵ１１ｂによって実行されるゲーム画像描画処理のフローチャートの一例
【図１４】ゲーム画像カメラの位置、方向（撮像方向）、及び画角を説明するための図
【図１５】ＧＰＵ１１ｂによって実行されるマップ画像描画処理のフローチャートの一例
【図１６】マップ画像カメラの位置、方向（撮像方向）の一例を説明するための図
【図１７】キャプチャマップ画像において、マップ画像として表示される領域を説明するための図
【図１８】ＧＰＵ１１ｂによって実行されるマップ画像描画処理のフローチャートの他の一例
【図１９】マップ画像カメラの位置、方向（撮像方向）の他の一例を説明するための図
【発明を実施するための形態】
【００３７】
以下、本発明の一実施形態について、図面を参照して説明する。なお、この実施形態によって本発明が限定されるものではない。
【００３８】
（本発明の一実施形態）
［ゲームシステムの全体構成］
まず、図１を参照して、本発明の一実施形態に係るゲーム装置を含むゲームシステム１の全体構成について説明する。図１は、ゲームシステム１の外観図である。以下、据置型のゲーム装置を一例にして、本実施形態のゲーム装置およびゲームプログラムについて説明する。図１において、ゲームシステム１は、テレビジョン受像器（以下、単に「テレビ」という）２、ゲーム装置３、光ディスク４、コントローラ７、拡張コントローラ３６およびマーカ部８を含む。本システムは、コントローラ７および拡張コントローラ３６を用いたゲーム操作に基づいてゲーム装置３でゲーム処理を実行するものである。
【００３９】
ゲーム装置３には、当該ゲーム装置３に対して交換可能に用いられる情報記憶媒体の一例である光ディスク４が脱着可能に挿入される。光ディスク４には、ゲーム装置３において実行されるためのゲームプログラムが記憶されている。ゲーム装置３の前面には光ディスク４の挿入口が設けられている。ゲーム装置３は、この挿入口に挿入された光ディスク４に記憶されたゲームプログラムを読み出して実行することによってゲーム処理を実行する。
【００４０】
ゲーム装置３には、表示装置の一例であるテレビ２が接続コードを介して接続される。テレビ２には、ゲーム装置３において実行されるゲーム処理の結果得られるゲーム画像が表示される。また、テレビ２の画面の周辺（図１では画面の上側）には、マーカ部８が設置される。マーカ部８は、その両端に２つのマーカ８Ｒおよび８Ｌを備えている。マーカ８Ｒ（マーカ８Ｌも同様）は、具体的には１以上の赤外ＬＥＤであり、テレビ２の前方に向かって赤外光を出力する。マーカ部８はゲーム装置３に接続されており、ゲーム装置３はマーカ部８が備える各赤外ＬＥＤの点灯を制御することが可能である。
【００４１】
コントローラ７は、当該コントローラ７自身および後述する拡張コントローラ３６に対して行われた操作内容を示す操作データをゲーム装置３に与える入力装置である。コントローラ７とゲーム装置３とは無線通信によって接続される。本実施形態では、コントローラ７とゲーム装置３との間の無線通信には例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）の技術が用いられる。なお、他の実施形態においてはコントローラ７とゲーム装置３とは有線で接続されてもよい。
【００４２】
拡張コントローラ３６は、接続ケーブルによってコントローラ７に接続され、当該拡張コントローラ３６に対して行われた操作内容をコントローラ７に与える入力装置である。また、拡張コントローラ３６は、アナログ方式の入力が可能なアナログスティック３９を備えている。
【００４３】
［ゲーム装置３の内部構成］
次に、図２を参照して、ゲーム装置３の内部構成について説明する。図２は、ゲーム装置３の内部構成を示すブロック図である。ゲーム装置３は、ＣＰＵ１０、システムＬＳＩ１１、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４、およびＡＶ−ＩＣ１５等を有する。
【００４４】
ＣＰＵ１０は、光ディスク４に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。ＣＰＵ１０は、システムＬＳＩ１１に接続される。システムＬＳＩ１１には、ＣＰＵ１０の他、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４およびＡＶ−ＩＣ１５が接続されている。システムＬＳＩ１１は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。システムＬＳＩ１１の内部構成については後述する。揮発性の外部メインメモリ１２は、光ディスク４から読み出されたゲームプログラムや、フラッシュメモリ１７から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、ＣＰＵ１０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ１３は、ゲーム装置３の起動用のプログラムが組み込まれるＲＯＭ（いわゆるブートＲＯＭ）と、時間をカウントするクロック回路（ＲＴＣ：Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）とを有する。ディスクドライブ１４は、光ディスク４からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ１１ｅまたは外部メインメモリ１２に、読み出したデータを書き込む。
【００４５】
また、システムＬＳＩ１１には、入出力プロセッサ１１ａ、ＧＰＵ（Ｇｒａｐｈｉｃｓ
Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）１１ｂ、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）１１ｃ、ＶＲＡＭ１１ｄ、および内部メインメモリ１１ｅが設けられる。図示は省略するが、これらの構成要素１１ａ〜１１ｅは内部バスによって互いに接続される。
【００４６】
ＧＰＵ１１ｂは、描画手段の一部を形成し、ＣＰＵ１０からのグラフィクスコマンド（作画命令）に従って画像を生成する。より具体的には、ＧＰＵ１１ｂは、当該グラフィクスコマンドに従って３Ｄグラフィックスの表示に必要な計算処理、例えば、レンダリングの前処理にあたる３Ｄ座標から２Ｄ座標への座標変換などの処理や、テクスチャの張り込みなどの最終的なレンダリング処理を行うことで、ゲーム画像およびマップ画像を生成する。なお、後に説明するが、マップ画像のデータは、ＧＰＵ１１ｂによってペイントデータに変換（スクリーンキャプチャ）される。ここで、ＣＰＵ１０は、グラフィクスコマンドに加えて、ゲーム画像データ等の生成に必要な画像生成プログラムをＧＰＵ１１ｂに与える。なお、以下の説明では、ＧＰＵ１１ｂがグラフィクスコマンドを実行するために必要なデータ（ポリゴンデータやテクスチャデータ等のデータ）は外部メインメモリ１２に記憶されるものとするが、これらのデータは、ＶＲＡＭ１１ｄに記憶されてもよい。画像が生成される際には、ＧＰＵ１１ｂは、外部メインメモリ１２に記憶されたデータを用いて画像データを作成する。
【００４７】
ＤＳＰ１１ｃは、オーディオプロセッサとして機能し、内部メインメモリ１１ｅや外部メインメモリ１２に記憶されるサウンドデータや音波形（音色）データを用いて、音声データを生成する。また、内部メインメモリ１１ｅは、外部メインメモリ１２と同様に、プログラムや各種データを記憶するものであり、ＣＰＵ１０のワーク領域やバッファ領域として用いられる。
【００４８】
上述のように生成された画像データおよび音声データは、ＡＶ−ＩＣ１５によって読み出される。ＡＶ−ＩＣ１５は、読み出した画像データをＡＶコネクタ１６を介してテレビ２に出力するとともに、読み出した音声データを、テレビ２に内蔵されるスピーカ２ａに出力する。これによって、画像がテレビ２に表示されるとともに音がスピーカ２ａから出力される。
【００４９】
入出力プロセッサ（Ｉ／Ｏプロセッサ）１１ａは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ１１ａは、フラッシュメモリ１７、無線通信モジュール１８、無線コントローラモジュール１９、拡張コネクタ２０、およびメモリカード用コネクタ２１に接続される。無線通信モジュール１８にはアンテナ２２が接続され、無線コントローラモジュール１９にはアンテナ２３が接続される。
【００５０】
入出力プロセッサ１１ａは、無線通信モジュール１８およびアンテナ２２を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ１１ａは、定期的にフラッシュメモリ１７にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、無線通信モジュール１８およびアンテナ２２を介してネットワークに送信する。また、入出力プロセッサ１１ａは、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ２２および無線通信モジュール１８を介して受信し、受信したデータをフラッシュメモリ１７に記憶する。ＣＰＵ１０はゲームプログラムを実行することにより、フラッシュメモリ１７に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ１７には、ゲーム装置３と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置３を利用してプレイしたゲームのセーブデータ（ゲームの結果データまたは途中データ）が記憶されてもよい。
【００５１】
また、入出力プロセッサ１１ａは、コントローラ７から送信される操作データをアンテナ２３および無線コントローラモジュール１９を介して受信し、内部メインメモリ１１ｅまたは外部メインメモリ１２のバッファ領域に記憶（一時記憶）する。
【００５２】
さらに、入出力プロセッサ１１ａには、拡張コネクタ２０およびメモリカード用コネクタ２１が接続される。拡張コネクタ２０は、ＵＳＢやＳＣＳＩのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、拡張コントローラ３６等の周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール１８に替えてネットワークとの通信を行ったりすることができる。メモリカード用コネクタ２１は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ１１ａは、拡張コネクタ２０やメモリカード用コネクタ２１を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【００５３】
ゲーム装置３には、電源ボタン２４、リセットボタン２５、およびイジェクトボタン２６が設けられる。電源ボタン２４およびリセットボタン２５は、システムＬＳＩ１１に接続される。電源ボタン２４がオンにされると、ゲーム装置３の各構成要素に対して、図示しないＡＣアダプタを経て電源が供給される。また、一旦電源がオンにされた状態で、再度電源ボタン２４を押すと、低電力スタンバイモードへの移行が行われる。この状態でも、ゲーム装置３への通電は行われているため、インターネット等のネットワークに常時接続しておくことができる。なお、一旦電源がオンにされた状態で、電源をオフにしたいときは、電源ボタン２４を所定時間以上長押しすることで、電源をオフとすることが可能である。リセットボタン２５が押されると、システムＬＳＩ１１は、ゲーム装置３の起動プログラムを再起動する。イジェクトボタン２６は、ディスクドライブ１４に接続される。イジェクトボタン２６が押されると、ディスクドライブ１４から光ディスク４が排出される。
【００５４】
次に、図３および図４を参照して、コントローラ７について説明する。なお、図３は、コントローラ７を上面後方から見た斜視図である。図４は、コントローラ７を下面前方から見た斜視図である。
【００５５】
図３および図４において、コントローラ７は、ハウジング７１と、当該ハウジング７１の表面に設けられた複数個の操作ボタンで構成される操作部７２とを備える。本実施形態のハウジング７１は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさであり、例えばプラスチック成型によって形成されている。
【００５６】
ハウジング７１上面の中央前面側に、十字キー７２ａが設けられる。この十字キー７２ａは、十字型の４方向プッシュスイッチであり、４つの方向（前後左右）に対応する操作部分が十字の突出片にそれぞれ９０°間隔で配置される。プレイヤが十字キー７２ａのいずれかの操作部分を押下することによって前後左右いずれかの方向を選択される。例えばプレイヤが十字キー７２ａを操作することによって、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、複数の選択肢から選択指示したりすることができる。
【００５７】
なお、十字キー７２ａは、上述したプレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、十字方向に４つのプッシュスイッチを配設し、プレイヤによって押下されたプッシュスイッチに応じて操作信号を出力する操作部を設けてもかまわない。さらに、上記４つのプッシュスイッチとは別に、上記十字方向が交わる位置にセンタスイッチを配設し、４つのプッシュスイッチとセンタスイッチとを複合した操作部を設けてもかまわない。また、ハウジング７１上面から突出した傾倒可能なスティック（いわゆる、ジョイスティック）を倒すことによって、傾倒方向に応じて操作信号を出力する操作部を上記十字キー７２ａの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー７２ａの代わりに設けてもかまわない。また、タッチパッドを、上記十字キー７２ａの代わりに設けてもかまわない。
【００５８】
ハウジング７１上面の十字キー７２ａより後面側に、複数の操作ボタン７２ｂ〜７２ｇが設けられる。操作ボタン７２ｂ〜７２ｇは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン７２ｂ〜７２ｇに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン７２ｂ〜７２ｄには、１番ボタン、２番ボタン、およびＡボタン等としての機能が割り当てられる。また、操作ボタン７２ｅ〜７２ｇには、マイナスボタン、ホームボタン、およびプラスボタン等としての機能が割り当てられる。これら操作ボタン７２ａ〜７２ｇは、ゲーム装置３が実行するゲームプログラムに応じてそれぞれの操作機能が割り当てられる。なお、図３に示した配置例では、操作ボタン７２ｂ〜７２ｄは、ハウジング７１上面の中央前後方向に沿って並設されている。また、操作ボタン７２ｅ〜７２ｇは、ハウジング７１上面の左右方向に沿って操作ボタン７２ｂおよび７２ｄの間に並設されている。そして、操作ボタン７２ｆは、その上面がハウジング７１の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【００５９】
また、ハウジング７１上面の十字キー７２ａより前面側に、操作ボタン７２ｈが設けられる。操作ボタン７２ｈは、遠隔からゲーム装置３本体の電源をオン／オフする電源スイッチである。この操作ボタン７２ｈも、その上面がハウジング７１の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【００６０】
また、ハウジング７１上面の操作ボタン７２ｃより後面側に、複数のＬＥＤ７０２が設けられる。ここで、コントローラ７は、他のコントローラ７と区別するためにコントローラ種別（番号）が設けられている。例えば、ＬＥＤ７０２は、コントローラ７に現在設定されている上記コントローラ種別をプレイヤに通知するために用いられる。具体的には、コントローラ７からゲーム装置３へ送信データを送信する際、上記コントローラ種別に応じて複数のＬＥＤ７０２のうち、種別に対応するＬＥＤが点灯する。
【００６１】
また、ハウジング７１上面には、操作ボタン７２ｂおよび操作ボタン７２ｅ〜７２ｇの間に後述するスピーカ（図５のスピーカ７０６）からの音を外部に放出するための音抜き孔が形成されている。
【００６２】
一方、ハウジング７１下面には、凹部が形成されている。後述で明らかとなるが、ハウジング７１下面の凹部は、プレイヤがコントローラ７の前面をマーカ８Ｌおよび８Ｒに向けて片手で把持したときに、当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の傾斜面には、操作ボタン７２ｉが設けられる。操作ボタン７２ｉは、例えばＢボタンとして機能する操作部である。
【００６３】
また、ハウジング７１前面には、撮像情報演算部７４の一部を構成する撮像素子７４３が設けられる。ここで、撮像情報演算部７４は、コントローラ７が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大２００フレーム／秒程度のサンプリング周期であるため比較的高速なコントローラ７の動きでも追跡して解析することができる。この撮像情報演算部７４の詳細な構成については、後述する。また、ハウジング７１の後面には、コネクタ７３が設けられている。コネクタ７３は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
【００６４】
ここで、以下の説明を具体的にするために、コントローラ７に対して設定する座標系について定義する。図３および図４に示すように、互いに直交するｘｙｚ軸をコントローラ７に対して定義する。具体的には、コントローラ７の前後方向となるハウジング７１の長手方向をｚ軸とし、コントローラ７の前面（撮像情報演算部７４が設けられている面）方向をｚ軸正方向とする。また、コントローラ７の上下方向をｙ軸とし、ハウジング７１の上面（操作ボタン７２ａ等が設けられた面）方向をｙ軸正方向とする。さらに、コントローラ７の左右方向をｘ軸とし、ハウジング７１の左側面（図３では表されずに図４で表されている側面）方向をｘ軸正方向とする。
【００６５】
次に、図５および図６を参照して、コントローラ７の内部構造について説明する。なお、図５は、コントローラ７の上ハウジング（ハウジング７１の一部）を外した状態を後面側から見た斜視図である。図６は、コントローラ７の下ハウジング（ハウジング７１の一部）を外した状態を前面側から見た斜視図である。ここで、図６に示す基板７００は、図５に示す基板７００の裏面から見た斜視図となっている。
【００６６】
図５において、ハウジング７１の内部には基板７００が固設されており、当該基板７００の上主面上に操作ボタン７２ａ〜７２ｈ、加速度センサ７０１、ＬＥＤ７０２、およびアンテナ７５４等が設けられる。そして、これらは、基板７００等に形成された配線（図示せず）によってマイコン７５１等（図６、図７参照）に接続される。マイコン７５１は、操作ボタン７２ａ等の種類に応じた操作データを発生させるように機能する。この仕組みは公知技術であるが、例えばキートップ下側に配置されたタクトスイッチなどのスイッチ機構による配線の接触／切断をマイコン７５１が検出することによって実現されている。より具体的には、操作ボタンが例えば押されると配線が接触して通電するので、この通電がどの操作ボタンにつながっている配線で発生したかをマイコン７５１が検出し、操作ボタンの種類に応じた信号を発生させている。
【００６７】
また、コントローラ７は、無線モジュール７５３（図７参照）およびアンテナ７５４によって、ワイヤレスコントローラとして機能する。なお、ハウジング７１内部には図示しない水晶振動子が設けられており、後述するマイコン７５１の基本クロックを生成する。また、基板７００の上主面上に、スピーカ７０６およびアンプ７０８が設けられる。また、加速度センサ７０１は、操作ボタン７２ｄの左側の基板７００上（つまり、基板７００の中央部ではなく周辺部）に設けられる。したがって、加速度センサ７０１は、コントローラ７の長手方向を軸とした回転に応じて、重力加速度の方向変化に加え、遠心力による成分の含まれる加速度を検出することができるので、所定の演算により、検出される加速度データからコントローラ７の回転を良好な感度でゲーム装置３等が判定することができる。
【００６８】
一方、図６において、基板７００の下主面上の前端縁に撮像情報演算部７４が設けられる。撮像情報演算部７４は、コントローラ７の前方から順に赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４によって構成されており、それぞれ基板７００の下主面に取り付けられる。また、基板７００の下主面上の後端縁にコネクタ７３が取り付けられる。さらに、基板７００の下主面上にサウンドＩＣ７０７およびマイコン７５１が設けられている。サウンドＩＣ７０７は、基板７００等に形成された配線によってマイコン７５１およびアンプ７０８と接続され、ゲーム装置３から送信されたサウンドデータに応じてアンプ７０８を介してスピーカ７０６に音声信号を出力する。
【００６９】
そして、基板７００の下主面上には、バイブレータ７０４が取り付けられる。バイブレータ７０４は、例えば振動モータやソレノイドである。バイブレータ７０４は、基板７００等に形成された配線によってマイコン７５１と接続され、ゲーム装置３から送信された振動データに応じてその作動をオン／オフする。バイブレータ７０４が作動することによってコントローラ７に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。ここで、バイブレータ７０４は、ハウジング７１のやや前方寄りに配置されるため、プレイヤが把持している状態において、ハウジング７１が大きく振動することになり、振動を感じやすくなる。
【００７０】
次に、図７を参照して、コントローラ７の内部構成について説明する。なお、図７は、コントローラ７の構成を示すブロック図である。
【００７１】
図７において、コントローラ７は、上述した操作部７２、撮像情報演算部７４、加速度センサ７０１、バイブレータ７０４、スピーカ７０６、サウンドＩＣ７０７、およびアンプ７０８の他に、その内部に通信部７５を備えている。
【００７２】
撮像情報演算部７４は、赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４を含んでいる。赤外線フィルタ７４１は、コントローラ７の前方から入射する光から赤外線のみを通過させる。レンズ７４２は、赤外線フィルタ７４１を透過した赤外線を集光して撮像素子７４３へ出射する。撮像素子７４３は、例えばＣＭＯＳセンサやあるいはＣＣＤのような固体撮像素子であり、レンズ７４２が集光した赤外線を撮像する。したがって、撮像素子７４３は、赤外線フィルタ７４１を通過した赤外線だけを撮像して画像データを生成する。撮像素子７４３で生成された画像データは、画像処理回路７４４で処理される。具体的には、画像処理回路７４４は、撮像素子７４３から得られた画像データを処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部７５へ出力する。なお、これらの撮像情報演算部７４は、コントローラ７のハウジング７１に固設されており、ハウジング７１自体の方向を変えることによってその撮像方向を変更することができる。この撮像情報演算部７４から出力される処理結果データに基づいて、コントローラ７の位置や動きに応じた信号を得ることができる。
【００７３】
コントローラ７は、３軸（ｘ、ｙ、ｚ軸）の加速度センサ７０１を備えていることが好ましい。この３軸の加速度センサ７０１は、３方向、すなわち、上下方向、左右方向、および前後方向で直線加速度を検知する。また、他の実施形態においては、ゲーム処理に用いる制御信号の種類によっては、上下および左右方向（または他の対になった方向）のそれぞれに沿った直線加速度のみを検知する２軸の加速度検出手段を使用してもよい。例えば、この３軸または２軸の加速度センサ７０１は、アナログ・デバイセズ株式会社（Ａｎａｌｏｇ  Ｄｅｖｉｃｅｓ，  Ｉｎｃ．）またはＳＴマイクロエレクトロニクス社（ＳＴＭｉｃｒｏｅｌｅｃｔｒｏｎｉｃｓ  Ｎ．Ｖ．）から入手可能であるタイプのものでもよい。加速度センサ７０１は、シリコン微細加工されたＭＥＭＳ（Ｍｉｃｒｏ  Ｅｌｅｃｔｒｏ  Ｍｅｃｈａｎｉｃａｌ  Ｓｙｓｔｅｍｓ：微小電子機械システム）の技術に基づいた静電容量式（静電容量結合式）であってもよい。しかしながら、既存の加速度検出手段の技術（例えば、圧電方式や圧電抵抗方式）あるいは将来開発される他の適切な技術を用いて３軸または２軸の加速度センサ７０１が提供されてもよい。
【００７４】
当業者には公知であるように、加速度センサ７０１に用いられるような加速度検出手段は、加速度センサの持つ各軸に対応する直線に沿った加速度（直線加速度）のみを検知することができる。つまり、加速度センサ７０１からの直接の出力は、その２軸または３軸のそれぞれに沿った直線加速度（静的または動的）を示す信号である。このため、加速度センサ７０１は、非直線状（例えば、円弧状）の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。
【００７５】
しかしながら、加速度センサ７０１から出力される加速度の信号に基づいて、ゲーム装置のプロセッサ（例えばＣＰＵ１０）またはコントローラのプロセッサ（例えばマイコン７５１）などのコンピュータが処理を行うことによって、コントローラ７に関するさらなる情報を推測または算出（判定）することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサを搭載するコントローラが静的な状態であることを前提としてコンピュータ側で処理する場合（すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理する場合）、コントローラが現実に静的な状態であれば、検出された加速度に基づいてコントローラの姿勢が重力方向に対して傾いているか否か又はどの程度傾いているかを知ることができる。具体的には、加速度センサの検出軸が鉛直下方向を向いている状態を基準としたとき、１Ｇ（重力加速度）がかかっているか否かだけで傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかも知ることができる。また、多軸の加速度センサの場合には、さらに各軸の加速度の信号に対して処理を施すことによって、各軸が重力方向に対してどの程度傾いているかをより詳細に知ることができる。この場合において、加速度センサ７０１からの出力に基づいて、プロセッサがコントローラ７の傾き角度のデータを算出する処理をおこなってもよいが、当該傾き角度のデータを算出する処理をおこなうことなく、加速度センサ７０１からの出力に基づいて、おおよその傾き具合を推定するような処理としてもよい。このように、加速度センサ７０１をプロセッサと組み合わせて用いることによって、コントローラ７の傾き、姿勢または位置を判定することができる。一方、加速度センサが動的な状態であることを前提とする場合には、重力加速度成分に加えて加速度センサの動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、動き方向などを知ることができる。具体的には、加速度センサ７０１を備えるコントローラ７がユーザの手で動的に加速されて動かされる場合に、加速度センサ７０１によって生成される加速度信号を処理することによって、コントローラ７のさまざまな動きおよび／または位置を算出することができる。なお、加速度センサが動的な状態であることを前提とする場合であっても、加速度センサの動きに応じた加速度を所定の処理により除去すれば、重力方向対する傾きを知ることが可能である。他の実施例では、加速度センサ７０１は、信号をマイコン７５１に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサが静的な加速度（例えば、重力加速度）を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角（あるいは、他の好ましいパラメータ）に変換するものであってもよい。
【００７６】
通信部７５は、マイクロコンピュータ（Ｍｉｃｒｏ  Ｃｏｍｐｕｔｅｒ：マイコン）７５１、メモリ７５２、無線モジュール７５３、およびアンテナ７５４を含んでいる。マイコン７５１は、処理の際にメモリ７５２を記憶領域として用いながら、送信データを無線送信する無線モジュール７５３を制御する。また、マイコン７５１は、アンテナ７５４を介して無線モジュール７５３が受信したゲーム装置３からのデータに応じて、サウンドＩＣ７０７およびバイブレータ７０４の動作を制御する。サウンドＩＣ７０７は、通信部７５を介してゲーム装置３から送信されたサウンドデータ等を処理する。また、マイコン７５１は、通信部７５を介してゲーム装置３から送信された振動データ（例えば、バイブレータ７０４をＯＮまたはＯＦＦする信号）等に応じて、バイブレータ７０４を作動させる。
【００７７】
コントローラ７に設けられた操作部７２からの操作信号（キーデータ）、加速度センサ７０１からの加速度信号（ｘ、ｙ、およびｚ軸方向加速度データ；以下、単に加速度データと記載する）、および撮像情報演算部７４からの処理結果データは、マイコン７５１に出力される。マイコン７５１は、入力した各データ（キーデータ、加速度データ、処理結果データ）を無線コントローラモジュール１９へ送信する送信データとして一時的にメモリ７５２に格納する。ここで、通信部７５から無線コントローラモジュール１９への無線送信は、所定の周期毎に行われるが、ゲームの処理は１／６０秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は１６．７ｍｓ（１／６０秒）であり、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）で構成される通信部７５の送信間隔は例えば５ｍｓである。マイコン７５１は、無線コントローラモジュール１９への送信タイミングが到来すると、メモリ７５２に格納されている送信データを一連の操作情報として出力し、無線モジュール７５３へ出力する。そして、無線モジュール７５３は、例えばブルートゥースの技術に基づいて、所定周波数の搬送波を用いて操作情報で変調し、その電波信号をアンテナ７５４から放射する。つまり、コントローラ７に設けられた操作部７２からのキーデータ、加速度センサ７０１からの加速度データ、および撮像情報演算部７４からの処理結果データが無線モジュール７５３で電波信号に変調されてコントローラ７から送信される。そして、ゲーム装置３の無線コントローラモジュール１９でその電波信号を受信し、ゲーム装置３で当該電波信号を復調や復号することによって、一連の操作情報（キーデータ、加速度データ、および処理結果データ）を取得する。そして、ゲーム装置３のＣＰＵ１０は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、ブルートゥースの技術を用いて通信部７５を構成する場合、通信部７５は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
【００７８】
［本実施形態で想定するゲームの概要および描画処理の概要］
次に、図８〜図１０を用いて、本実施形態で想定するゲームの概要および描画処理の概要について説明する。本実施形態で想定するゲームは、３次元仮想空間（以下、ゲーム空間という）内をプレイヤオブジェクトが移動するゲームである。
【００７９】
図８は、本実施形態で想定するゲームのゲーム画像（主要画像）の一例である。図８において、ゲーム画像にはプレイヤオブジェクト１０１が表示されている。なお、図８には表示されていないが、ゲーム画像には、他のオブジェクト（敵オブジェクトや武器オブジェクト等）が表示される場合もある。本ゲームでは、図８に示すように、プレイヤオブジェクト１０１の後方に仮想カメラ（以下、ゲーム画像カメラという）を配置したいわゆる三人称視点でゲーム画像が撮像されて描画される。また、本ゲームには、島のステージ、山間部のステージ、草原のステージ、町のステージ等の複数のステージが設けられている。そして、ステージクリアした等の所定の条件を満たした場合に、ゲームが展開されるステージが切り替わる。なお、図８には、島のステージのゲーム画像が示されている。
【００８０】
プレイヤは、図９に示すように、拡張コントローラ３６をコントローラ７のコネクタ７３に接続した形態で、例えば拡張コントローラ３６を左手に持ちコントローラ７を右手に持って、プレイヤオブジェクト１０１の操作を行う。ここで、拡張コントローラ３６はアナログ方式の入力が可能なアナログスティック３９を備えている。プレイヤは、アナログスティック３９を上下左右方向に入力する操作を行うことによって、プレイヤオブジェクト１０１を移動させることができる。
【００８１】
また、プレイヤは、テレビ２にゲーム画像が表示されている場合に、コントローラ７のプラスボタン（図３の７２ｇ参照）を押下することによって、テレビ２に表示されているゲーム画像（図８参照）をマップ画像（図１０参照）に切り替えることができる。マップ画像は、図１０に例示するように、ゲーム画像によって現在表されているゲームステージの地図を表す画像であり、プレイヤオブジェクト１０１の位置が表示される。また、プレイヤは、コントローラ７の十字キー（図３の７２ａ参照）の左右のキーを操作することによって、表示されているマップ画像を拡大又は縮小（ズームイン又はズームアウト）することができる。例えば、十字キー（図３の７２ａ参照）の左キーが押下された場合はマップ画像が縮小（ズームアウト）され、十字キー（図３の７２ａ参照）の右キーが押下された場合はマップ画像が拡大（ズームイン）される。また、プレイヤは、テレビ２にマップ画像が表示されている場合に、コントローラ７のプラスボタン（図３の７２ｇ参照）を押下することによって、テレビ２に表示されているマップ画像（図１０参照）をゲーム画像（図８参照）に切り替える（戻す）ことができる。
【００８２】
ところで、ゲーム空間には、多数のポリゴンによって、地形、建物、及びキャラクタ等の形状が形成される。この多数のポリゴンには、それぞれ、ゲーム画像用の属性（以下、ゲーム画像属性という）およびマップ画像用の属性（以下、マップ画像属性という）が割り当てられている。ゲーム画像属性およびマップ画像属性は、「草」、「水」、「土」、「砂」、「岩」等の属性のうちいずれかであり、原則として、同じポリゴンに割り当てられたゲーム画像属性とマップ画像属性とは、同じ属性である。例えば、或るポリゴンに割り当てられたゲーム画像属性が「土」である場合、原則として、このポリゴンに割り当てられたマップ画像属性も「土」である。しかし、例外として、同じポリゴンに割り当てられたゲーム画像属性とマップ画像属性とが、相異なる属性である場合がある。例えば、マップ画像属性には、「なし」を示す属性が有る。具体的には、或るポリゴンに割り当てられたゲーム画像属性が「土」である場合であっても、このポリゴンに割り当てられたマップ画像属性は「なし」である場合がある。後述するが、このようにマップ画像属性を「なし」にすることによって、そのようなポリゴンをマップ画像では描画しないことで、マップ画像が不要に複雑になることを防止できる。また、例えば、或るポリゴンに割り当てられたゲーム画像属性が「土」である場合であっても、このポリゴンに割り当てられたマップ画像属性は「水」である場合がある。このようにマップ画像属性をゲーム画像属性とは異なる属性にすることによって、マップ画像が、例えば、現在は土（陸地）であるが昔は水（海）であったという設定の場所において、昔の海の地図を表すものとすることができる。
【００８３】
そして、ゲーム画像が描画される際には、多数のポリゴンによってゲーム空間に地形、建物、及びキャラクタ等の形状が形成され、各ポリゴンに割り当てられたゲーム画像属性に対応したゲーム画像用のテクスチャ（以下、ゲーム画像テクスチャという）が、対応するポリゴンに貼り付けられる（マッピングされる）。例えば、或るポリゴンに割り当てられたゲーム画像属性が「草」である場合、この属性「草」に対応したテクスチャ（つまり、草を表すゲーム画像テクスチャ）が、このポリゴンに貼り付けられる。このようにしてゲーム画像カメラの撮像領域内の全てのポリゴンにゲーム画像テクスチャが貼り付けられた後に、ゲーム画像カメラによって撮像が行われてゲーム画像が生成される。
【００８４】
一方、マップ画像が描画される際にも、ゲーム画像が描画される際と同様に、多数のポリゴンによってゲーム空間に地形、建物、及びキャラクタ等の形状が形成される。しかし、この際、「なし」のマップ画像属性が割り当てられたポリゴンは、ゲーム空間には形成されない。このことによって、地図として使用されるマップ画像には表示する必要のないオブジェクト（例えば、石ころ、落ち葉、落ちた枝、小さい水溜り）を、マップ画像から排除できる。この結果として、不要に複雑になって視難くなることを防止した視易いマップ画像が生成される。その後、ゲーム空間に形成された各ポリゴンに割り当てられたマップ画像属性に対応したマップ画像用のテクスチャ（以下、マップ画像テクスチャという）が、対応するポリゴンに貼り付けられる（マッピングされる）。例えば、或るポリゴンに割り当てられたマップ画像属性が「草」である場合、この属性「草」に対応したテクスチャ（つまり、草を表すマップ画像テクスチャ）が、このポリゴンに貼り付けられる。この様にしてゲーム空間に形成された全てのポリゴンにマップ画像テクスチャが貼り付けられた後に、このゲーム空間（つまり、現在のゲームステージ）全体を上空から平行投影によって撮像するマップ画像用の仮想カメラ（以下、マップ画像カメラという）によって撮像が行われる。その後、撮像された画像は、２次元画像データ（ペイントデータ）に変換（スクリーンキャプチャ）される。そして、２次元画像データが表す画像のうちの指定された領域が、マップ画像（図１０参照）としてテレビ２に表示される。
【００８５】
以上の処理によってマップ画像が描画されるので、本実施形態では、従来のように各ゲームステージに対応するマップ画像を別個に用意する必要が無くなり、光ディスク４等の記録媒体およびＲＯＭやＲＡＭ等のメモリの使用容量を削減することができる。
【００８６】
［ゲーム処理の詳細］
次に、ゲーム装置３によって実行されるゲーム処理の詳細を説明する。まず、ゲーム処理の際に外部メインメモリ１２に記憶されるデータについて説明する。図１１は、ゲーム装置３の外部メインメモリ１２のメモリマップを示す図である。図１１において、外部メインメモリ１２は、プログラム記憶領域３００およびデータ記憶領域４００を含む。プログラム記憶領域３００およびデータ記憶領域４００のデータの一部は、例えば光ディスク４に記憶されており、ゲームプログラム実行時には外部メインメモリ１２に読み込まれて記憶される。
【００８７】
プログラム記憶領域３００には、後述する図１２に示すフローチャートの処理を実行するゲームメイン処理プログラム３０１等のプログラムや、後述する図１３及び図１５に示すフローチャートの処理を実行する画像生成プログラム３０２等のプログラムが記憶される。
【００８８】
データ記憶領域３００には、操作データ４０１、ゲームステージデータ４０２、ゲーム画像テクスチャデータ４０３、ゲーム画像オブジェクト（ＯＢＪ）データ４０４、マップ画像テクスチャデータ４０５、マップ画像オブジェクト（ＯＢＪ）データ４０６、各オブジェクト（ＯＢＪ）の位置・方向データ４０７、ゲーム画像カメラの位置・方向・画角データ４０８、マップ画像カメラの位置・方向データ４０９、キャプチャマップ画像データ４１０、マップ拡大率データ４１１等が記憶される。
【００８９】
操作データ４０１は、コントローラ７から取得されるデータであり、プレイヤが行う操作内容を含むデータである。具体的には、操作データ４０１は、図１を用いて説明したように、コントローラ７に対して行われた操作内容及び拡張コントローラ３６に対して行われた操作内容（アナログスティック３９の操作内容等）を含むデータである。
【００９０】
ゲームステージデータ４０２は、島のステージデータ、山間部のステージデータ、草原のステージデータ、町のステージデータ等の複数のステージデータのうち、ゲーム進行対象のステージデータであり、光ディスク４から読み込まれて記憶される。ゲームステージデータ４０２は、ポリゴン頂点座標データ４０２１とゲーム画像属性データ４０２２とマップ画像属性データ４０２３とを含む。ポリゴン頂点座標データ４０２１は、ゲーム空間においてステージの形状（地形等）を形成する各ポリゴンの頂点座標を示すデータである。ゲーム画像属性データ４０２２は、ゲーム画像（図８参照）を生成するために上記各ポリゴン割り当てられる「草」、「水」、「土」等の属性を示すデータである。マップ画像属性データ４０２３は、マップ画像（図１０参照）を生成するために上記各ポリゴン割り当てられる「なし」、「草」、「水」、「土」等の属性を示すデータである。ここで、マップ画像属性データ４０２３は、ゲーム画像属性データ４０２２とは異なり、「なし」の属性を示すデータを含む。後に詳しく説明するが、この「なし」の属性が割り当てられたポリゴンは、マップ画像が生成される際にはゲーム空間に配置されないので、マップ画像においてこのポリゴンの形状は描画されないこととなる。
【００９１】
ゲーム画像テクスチャデータ４０３は、ゲーム画像を生成する際に使用される複数のゲーム画像用のテクスチャデータから成る。図１１では、ゲーム画像テクスチャデータ４０３は、一例として、草のゲーム画像テクスチャデータ４０３１、水のゲーム画像テクスチャデータ４０３２、土のゲーム画像テクスチャデータ４０３３等から成る。ここで、ゲーム画像を生成する際に、ゲーム空間のポリゴンには、ゲーム画像属性データ４０２２によって当該ポリゴンに割り当てられた属性に対応するゲーム画像テクスチャが貼り付けられる。具体的には、ゲーム画像が生成される際には、ゲーム画像属性データ４０２２によって「草」の属性が割り当てられたポリゴンには草のゲーム画像テクスチャデータ４０３１が示す草を表すテクスチャが貼り付けられ、ゲーム画像属性データ４０２２によって「水」の属性が割り当てられたポリゴンには水のゲーム画像テクスチャデータ４０３２が示す水を表すテクスチャが貼り付けられ、ゲーム画像属性データ４０２２によって「土」の属性が割り当てられたポリゴンには土のゲーム画像テクスチャデータ４０３３が示す土を表すテクスチャが貼り付けられる。
【００９２】
ゲーム画像オブジェクト（ＯＢＪ）データ４０４は、ゲーム画像を生成する際にゲーム空間に配置されるプレイヤのオブジェクト等のデータである。具体的には、ゲーム画像オブジェクトデータ４０４は、ゲーム画像を生成する際にゲーム空間に配置される、プレイヤのオブジェクト（ＯＢＪ）データ４０４１、敵のオブジェクト（ＯＢＪ）データ４０４２、及び武器のオブジェクト（ＯＢＪ）データ４０４３等を含む。これらのオブジェクトデータは、ゲーム空間にポリゴンを用いてオブジェクトを形成するために使用されるポリゴンデータ、ポリゴンの属性データ、及びテクスチャデータ等である。
【００９３】
マップ画像テクスチャデータ４０５は、マップ画像を生成する際に使用される複数のマップ画像用のテクスチャデータから成る。図１１では、マップ画像テクスチャデータ４０５は、一例として、草のマップ画像テクスチャデータ４０５１、水のマップ画像テクスチャデータ４０５２、土のマップ画像テクスチャデータ４０５３等から成る。ここで、マップ画像を生成する際に、ゲーム空間のポリゴンには、マップ画像属性データ４０２３によって当該ポリゴンに割り当てられた属性に対応するマップ画像テクスチャが貼り付けられる。具体的には、マップ画像が生成される際には、マップ画像属性データ４０２３によって「草」の属性が割り当てられたポリゴンには草のマップ画像テクスチャデータ４０５１が示す草を表すテクスチャが貼り付けられ、マップ画像属性データ４０２３によって「水」の属性が割り当てられたポリゴンには水のマップ画像テクスチャデータ４０５２が示す水を表すテクスチャが貼り付けられ、マップ画像属性データ４０２３によって「土」の属性が割り当てられたポリゴンには土のマップ画像テクスチャデータ４０５３が示す土を表すテクスチャが貼り付けられる。なお、マップ画像属性データ４０２３によって或るポリゴンに「なし」の属性が割り当てられた場合、マップ画像を生成する際に当該ポリゴンはゲーム空間に形成されない。このことから、マップ画像テクスチャデータ４０５は、「なし」の属性に対応するマップ画像テクスチャデータを含まない。
【００９４】
マップ画像オブジェクト（ＯＢＪ）データ４０６は、撮像処理によって生成されたマップ画像（以下、レンダリングマップ画像という）をスクリーンキャプチャして作成されたペイントデータから成るマップ画像（以下、キャプチャマップ画像という）上に配置されるプレイヤオブジェクトを表す画像のデータである。マップ画像用オブジェクト（ＯＢＪ）データ４０６は、典型的には、プレイヤオブジェクトを示すアイコンの画像データ（４０６１）である。
【００９５】
各オブジェクトの位置・方向データ４０７は、ゲーム空間における各オブジェクト（プレイヤオブジェクトを含む）の位置及び方向（向き）を示すデータである。
【００９６】
ゲーム画像カメラの位置・方向・画角データ４０８は、ゲーム画像を生成する際にゲーム空間を撮像するゲーム画像カメラのゲーム空間における位置、方向（撮像方向）、及び画角（撮像画角）を示すデータである。ここで、ゲーム画像カメラの位置、方向、及び画角は、プレイヤオブジェクトの移動等に伴って変化する。
【００９７】
マップ画像カメラの位置・方向データ４０９は、レンダリングマップ画像を生成する際にゲーム空間を上方（上空）から撮像するマップ画像カメラの位置及び方向（撮像方向）を示すデータである。マップ画像カメラの位置はゲーム空間の上方の固定位置であり、又、マップ画像カメラの方向は当該固定位置からゲーム空間を真下に見下ろす固定方向である。なお、マップ画像カメラは、平行投影によって撮像対象のゲームステージの全体を撮像する。また、マップ画像カメラは平行投影によって撮像を行うので、マップ画像カメラの位置・方向データ４０９には、マップ画像カメラの画角のデータは含まれない。
【００９８】
キャプチャマップ画像データ４１０は、マップ画像カメラによる撮像によって生成されたゲームステージ全体のレンダリングマップ画像をスクリーンキャプチャして得られたゲームステージ全体のキャプチャマップ画像を示すデータである。
【００９９】
マップ拡大率データ４１１は、キャプチャマップ画像をテレビ２に表示する際の拡大率を示すデータである。具体的には、上記拡大率は、テレビ２にゲームステージ全体のキャプチャマップ画像を表示する場合には最小となり、テレビ２にゲームステージの一部の領域のキャプチャマップ画像を表示する場合には当該領域の大きさに応じた拡大率となる。
【０１００】
次に、図１２〜図１７を参照して、ゲーム装置３によって実行されるゲーム処理のフローについて説明する。ゲーム装置３の電源が投入されると、ゲーム装置３のＣＰＵ１０は、ＲＯＭ／ＲＴＣ１３に記憶されている起動プログラムを実行し、これによって外部メインメモリ１２等の各ユニットが初期化される。そして、光ディスク４に記憶されたゲームプログラムが外部メインメモリ１２に読み込まれ、ＣＰＵ１０によってゲームプログラムの実行が開始される。
【０１０１】
図１２は、ＣＰＵ１０によって実行されるゲーム処理のフローチャートの一例である。図１２のフローチャートで示す処理は、１フレーム（例えば１／６０秒）毎に繰り返し実行される。なお、以下では、本願発明とは直接関連しない他のゲーム処理についての説明は省略する。
【０１０２】
まず、ステップＳ１において、ＣＰＵ１０は、ゲームステージが遷移したか否かを判定する。ステップＳ１での判定がＹＥＳの場合、処理はステップＳ２に移る。ここで、ゲーム処理が開始されて最初にステップＳ１の処理が行われる場合には、ＣＰＵ１０は、ステップＳ１においてＹＥＳと判定する。一方、ステップＳ１での判定がＮＯの場合、処理はステップＳ６に移る。なお、ゲームステージは、或るゲームステージ（例えば島のステージ）がクリア等された場合に、次のゲームステージ（例えば山間部のステージ）に遷移する（切り替わる）。
【０１０３】
ステップＳ２において、ＣＰＵ１０は、光ディスク４に記憶された遷移先（又は最初）のゲームステージのデータを、外部メインメモリ１２に、ゲームステージデータ４０２として書き込む。その後、処理はステップＳ３に移る。なお、以下では、外部メインメモリ１２に書き込まれているゲームステージデータ４０２によって生成されるゲームステージを、現在のゲームステージと呼ぶ場合がある。
【０１０４】
ステップＳ３において、ＣＰＵ１０は、ステップＳ２で外部メインメモリ１２に書き込んだゲームステージデータ４０２に対応するプレイヤ及び敵等のオブジェクトの位置及び方向の初期値データを、外部メインメモリ１２に、各ＯＢＪの位置・方向データ４０７として書き込む。その後、処理はステップＳ４に移る。
【０１０５】
ステップＳ４において、ＣＰＵ１０は、ステップＳ２で外部メインメモリ１２に書き込んだゲームステージデータ４０２に対応するゲーム画像カメラの位置、方向、及び画角の初期値データを、外部メインメモリ１２に、ゲーム画像カメラの位置・方向・画角データ４０８として書き込む。その後、処理はステップＳ５に移る。
【０１０６】
ステップＳ５において、システムＬＳＩ１１のＧＰＵ１１ｂは、ゲーム画像描画処理を実行してゲーム画像を生成する。
【０１０７】
図１３は、ＧＰＵ１１ｂによって実行されるゲーム画像描画処理のフローチャートの一例である。以下では、図１３を参照して、図１２のステップＳ５におけるゲーム画像描画処理について説明する。
【０１０８】
まず、ステップＳ５０１において、ＧＰＵ１１ｂは、外部メインメモリ１２に書き込まれているゲームステージデータ４０２（図１１参照）に基づいて、ゲーム空間にポリゴンを配置する。具体的には、ＧＰＵ１１ｂは、ポリゴン頂点座標データ４０２１を用いてゲーム空間にポリゴンを配置することによって、現在のゲームステージの形状（地形等）をゲーム空間に形成する。その後、処理はステップＳ５０２に移る。
【０１０９】
ステップＳ５０２において、ＧＰＵ１１ｂは、使用する仮想カメラをゲーム画像カメラに切り替え、また、外部メインメモリ１２に書き込まれているゲーム画像カメラの位置・方向・画角データ４０８に従って、ゲーム空間におけるゲーム画像カメラの位置、方向（撮像方向）、及び画角を設定する。ここで、ゲーム画像カメラの位置、方向（撮像方向）、及び画角は、例えば、図１４に示すように、プレイヤオブジェクト１０１をその後方から撮像する位置、方向（撮像方向）、及び画角である。その後、処理はステップＳ５０３に移る。
【０１１０】
ステップＳ５０３において、ＧＰＵ１１ｂは、ゲーム画像カメラの撮像範囲内に在るポリゴンの全てに、ゲーム画像テクスチャが貼り付けられたか否かを判定する。ステップＳ５０３での判定がＹＥＳの場合、ポリゴンにゲーム画像テクスチャを貼り付ける処理は完了し、処理はステップＳ５０６に移る。一方、ステップＳ５０３での判定がＮＯの場合、処理はステップＳ５０４に移る。
【０１１１】
ステップＳ５０４において、ＧＰＵ１１ｂは、ゲーム画像カメラの撮像範囲内に在るポリゴンのうち、ゲーム画像テクスチャが貼り付けられていないポリゴンを１つ選択する。その後、処理はステップＳ５０５に移る。
【０１１２】
ステップＳ５０５において、ＧＰＵ１１ｂは、ステップＳ５０４で選択したポリゴンに、当該ポリゴンに割り当てられたゲーム画像属性に対応するゲーム画像テクスチャを、貼り付ける（マッピングする）。具体的には、ＧＰＵ１１ｂは、ゲーム画像属性データ４０２２を参照して、ステップＳ５０４で選択したポリゴンに割り当てられたゲーム画像属性を特定し、その後、ゲーム画像テクスチャデータ４０３を参照して、特定したゲーム画像属性に対応するゲーム画像テクスチャを、当該ポリゴンに貼り付ける。例えば、ＧＰＵ１１ｂは、ステップＳ５０４で選択したポリゴンに「草」のゲーム画像属性が割り当てられている場合、当該ポリゴンに草のゲーム画像テクスチャデータ４０３１によって表される草のテクスチャを貼り付ける。その後、処理はステップＳ５０３に戻る。
【０１１３】
そして、ステップＳ５０３、Ｓ５０４、及びＳ５０５の処理が繰り返されることによって、全てのポリゴンにゲーム画像テクスチャが貼り付けられて（ステップＳ５０３でＹＥＳ）、処理はステップＳ５０６に移る。
【０１１４】
ステップＳ５０６において、ＧＰＵ１１ｂは、外部メインメモリ１２に書き込まれているゲーム画像ＯＢＪデータ４０４及び各ＯＢＪの位置・方向データ４０７に基づいて、各オブジェクト（プレイヤ、敵、武器等のオブジェクト）をゲーム空間に配置する。その後、処理はステップＳ５０７に移る。
【０１１５】
ステップＳ５０７において、ＧＰＵ１１ｂは、ステップＳ５０２で設定したゲーム画像カメラによってゲーム空間を撮像（レンダリング）する。その後、処理はステップＳ５０８に移る。
【０１１６】
ステップＳ５０８において、ＧＰＵ１１ｂは、ステップＳ５０７で撮像した画像を、ＡＶ−ＩＣ１５等を介してゲーム画像としてテレビ２に出力する。その後、図１２のステップＳ５のゲーム画像描画処理は終了し、処理は図１２のステップＳ１に戻る。
【０１１７】
以上に説明したように、ゲームステージが遷移した場合（又はゲームが開始した場合）、ステップＳ１〜Ｓ５のルートで処理が行われて、ゲーム画像（図８参照）が生成されてテレビ２に表示される。
【０１１８】
以下では、ステージが遷移していない場合（ステップＳ１でＮＯの場合）について、説明する。
【０１１９】
この場合、ステップＳ６において、ＣＰＵ１０は、テレビ２によってマップ画像（図１０参照）が現在表示されているか否を判定する。ステップＳ６での判定がＹＥＳの場合、処理はステップＳ１２に移る。一方、ステップＳ６での判定がＮＯの場合、処理はステップＳ７に移る。
【０１２０】
ステップＳ７において、ＣＰＵ１０は、ゲーム画像の表示からマップ画像の表示に切り替えるか否かを判定する。具体的には、ＣＰＵ１０は、外部メインメモリ１２に記憶されている操作データ４０１を参照して、プレイヤがコントローラ７のプラスボタン（図３の７２ｇ参照）を押下してマップ画像の表示に切り替える操作を行ったか否かを判定する。ステップＳ７での判定がＹＥＳの場合、処理はステップＳ８に移る。一方、ステップＳ７での判定がＮＯの場合、処理はステップＳ９に移る。
【０１２１】
ステップＳ８において、システムＬＳＩ１１のＧＰＵ１１ｂは、マップ画像描画処理を実行してマップ画像を生成する。
【０１２２】
図１５は、ＧＰＵ１１ｂによって実行されるマップ画像描画処理のフローチャートの一例である。以下では、図１５を参照して、図１２のステップＳ８におけるマップ画像描画処理について説明する。
【０１２３】
まず、ステップＳ８０１において、ＧＰＵ１１ｂは、外部メインメモリ１２に記憶されているゲームステージデータ４０２（図１１参照）に基づいて、マップ画像属性「なし」が割り当てられているポリゴンを除く全てのポリゴンを、ゲーム空間（現在のゲームステージ）に配置する。具体的には、ＧＰＵ１１ｂは、ポリゴン頂点座標データ４０２１及びマップ画像属性データ４０２３を用いて、マップ画像属性「なし」が割り当てられているポリゴンを除く全てのポリゴンをゲーム空間に配置することによって、現在のゲームステージの形状（地形等）をゲーム空間に形成する。その後、処理はステップＳ８０２に移る。
【０１２４】
ステップＳ８０２において、ＧＰＵ１１ｂは、使用する仮想カメラをマップ画像カメラに切り替え、また、外部メインメモリ１２に記憶されているマップ画像カメラの位置・方向データ４０９に従って、ゲーム空間におけるマップ画像カメラの位置、方向（撮像方向）を設定する。ここで、マップ画像カメラの位置及び方向（撮像方向）は、図１６に例示するように、現在のゲームステージを上方（上空）から真下に見下ろして（俯瞰して）撮像する位置及び方向（撮像方向）である。なお、既に説明したように、マップ画像カメラは、平行投影によって、現在のゲームステージ全体を撮像する。その後、処理はステップＳ８０３に移る。
【０１２５】
ステップＳ８０３において、ＧＰＵ１１ｂは、ステップＳ８０１で配置されたポリゴンの全てに対して、同じマップ画像属性が割り当てられたポリゴンをポリゴン群としてリストアップする。その後、処理はステップＳ８０４に移る。
【０１２６】
ステップＳ８０４において、ＧＰＵ１１ｂは、ステップＳ８０１で配置された全てのポリゴンに、マップ画像テクスチャが貼り付けられたか否かを判定する。ステップＳ８０４での判定がＹＥＳの場合、ポリゴンにマップ画像テクスチャを貼り付ける処理は完了し、処理はステップＳ８０７に移る。一方、ステップＳ８０４での判定がＮＯの場合、処理はステップＳ８０５に移る。
【０１２７】
ステップＳ８０５において、ＧＰＵ１１ｂは、ステップＳ８０３でリストアップしたポリゴン群のうち、マップ画像テクスチャが貼り付けられていないポリゴン群を１つ選択する。その後、処理はステップＳ８０６に移る。
【０１２８】
ステップＳ８０６において、ＧＰＵ１１ｂは、ステップＳ８０６で選択したポリゴン群を構成するポリゴンの全てに、当該ポリゴンに割り当てられたマップ画像属性に対応するマップ画像テクスチャを、一括して貼り付ける（マッピングする）。より具体的には、ＧＰＵ１１ｂは、マップ画像属性データ４０２３を参照して、ステップＳ８０５で選択したポリゴン群を構成するポリゴンに割り当てられたマップ画像属性を特定し、その後、マップ画像テクスチャデータ４０５を参照して、特定したマップ画像属性に対応するマップ画像テクスチャを、当該ポリゴン群を構成するポリゴンの全てに一括して貼り付ける。例えば、ＧＰＵ１１ｂは、ステップＳ８０５で選択したポリゴン群を構成するポリゴンに「草」のゲーム画像属性が割り当てられている場合、当該ポリゴン群を構成するポリゴンの全てに草のマップ画像テクスチャデータ４０５１によって表される草のテクスチャを一括して貼り付ける。その後、処理はステップＳ８０４に戻る。
【０１２９】
そして、ステップＳ８０４、Ｓ８０５、及びＳ８０６の処理が繰り返されることによって、全てのポリゴン（全てのポリゴン群）にマップ画像テクスチャが貼り付けられて（ステップＳ８０４でＹＥＳ）、処理はステップＳ８０７に移る。
【０１３０】
ステップＳ８０７において、ＧＰＵ１１ｂは、ステップＳ８０２で設定したマップ画像カメラによってゲーム空間を撮像（レンダリング）してレンダリングマップ画像を生成する。なお、既に説明したように、マップ画像カメラは、図１６に示すように、現在のゲームステージを上方（上空）から真下に見下ろして（俯瞰して）、平行投影によって、現在のゲームステージ全体を撮像する。その後、処理はステップＳ８０８に移る。
【０１３１】
ステップＳ８０８において、ＧＰＵ１１ｂは、ステップＳ８０７で撮像したレンダリングマップ画像をスクリーンキャプチャして、ペイントデータから成るキャプチャマップ画像を生成し、外部メインメモリ１２のキャプチャマップ画像データ４１０として保存（又は更新）する。その後、処理はステップＳ８０９に移る。なお、上記したペイントデータは、ペイント画像を構成するデータであり、ビットマップデータやラスタデータと呼ばれることもある。
【０１３２】
ステップＳ８０９において、ＧＰＵ１１ｂは、外部メインメモリ１２に記憶されているマップ画像ＯＢＪデータ４０６及び各ＯＢＪの位置・方向データ４０７に従って、ステップＳ８０８で生成したキャプチャマップ画像上に、プレイヤオブジェクト１０１を示すアイコンを配置する。その後、処理はステップＳ８１０に移る。
【０１３３】
ステップＳ８１０において、ＧＰＵ１１ｂは、外部メインメモリ１２に記憶されているマップ拡大率データ４１１及び各ＯＢＪの位置・方向データ４０７に基づいて、テレビ２にマップ画像として表示させるキャプチャマップ画像の領域を決定する。具体的には、図１７に例示するように、ＧＰＵ１１ｂは、キャプチャマップ画像において、プレイヤオブジェクトを中央付近に含む領域であってマップ拡大率データ４１１が示す拡大率に対応する大きさの表示領域を決定する。その後、処理はステップＳ８１１に移る。
【０１３４】
ステップＳ８１１において、ＧＰＵ１１ｂは、ステップＳ８１０で決定したキャプチャマップ画像の表示領域を、ＡＶ−ＩＣ１５等を介してマップ画像としてテレビ２に出力する。その後、図１２のステップＳ８のマップ画像描画処理は終了し、処理は図１２のステップＳ１に戻る。
【０１３５】
以上に説明したように、プレイヤによってゲーム画像からマップ画像に切り替える操作が行われた場合（ステップＳ７でＹＥＳ）、ステップＳ８のマップ画像描画処理が行われて、マップ画像（図１０参照）が生成されてテレビ２に表示される。
【０１３６】
以下では、ゲーム画像からマップ画像に切り替える操作が行われていない場合（ステップＳ７でＮＯ）について、説明する。
【０１３７】
この場合、ステップＳ９において、ＣＰＵ１０は、プレイヤによってプレイヤオブジェクト１０１の移動が指示されたか否かを判定する。具体的には、ＣＰＵ１０は、外部メインメモリ１２に記憶されている操作データ４０１を参照して、プレイヤが拡張コントローラ３６のアナログスティック３９（図９参照）を操作してプレイヤオブジェクト１０１の移動を指示したか否かを判定する。ステップＳ９での判定がＹＥＳの場合、処理はステップＳ１０に移る。一方、ステップＳ９での判定がＮＯの場合、処理はステップＳ５に移る。
【０１３８】
ステップＳ９でＮＯと判定されてステップＳ５のゲーム画像描画処理（図１３参照）に移った場合、ゲーム画像においてプレイヤオブジェクト１０１が移動しない状態となる。そのため、今回のステップＳ５のゲーム画像描画処理では、例えば敵等のオブジェクトが移動した場合、その移動を反映したゲーム画像が生成される。その後、処理はステップＳ１に戻る。
【０１３９】
ステップＳ１０において、ＣＰＵ１０は、外部メインメモリ１２に記憶されている操作データ４０１に従って、プレイヤオブジェクト１０１の新たな位置及び方向で、外部メインメモリ１２に記憶されている各ＯＢＪの位置・方向データ４０７を更新する。その後、処理はステップＳ１１に移る。
【０１４０】
ステップＳ１１において、ＣＰＵ１０は、ゲーム画像カメラの新たな位置、方向、及び画角で、外部メインメモリ１２に記憶されているゲーム画像カメラの位置・方向・画角データ４０８を更新する。ここで、図８及び図１４に例示したように、ゲーム画像カメラは、プレイヤオブジェクト１０１から所定の距離離れて、プレイヤオブジェクト１０１の背後から、プレイヤオブジェクト１０１に向いて撮像を行う。また、ゲーム画像カメラは、所定の条件（例えば、ゲームステージ上の位置）に応じて画角を変化させる。このことから、ゲーム画像カメラは、プレイヤオブジェクト１０１の移動及び方向転換に応じて、位置、方向、及び画角を変化させることとなる。その後、処理はステップＳ５に移る。
【０１４１】
ステップＳ１１の処理に続いてステップＳ５のゲーム画像描画処理（図１３参照）に移った場合、ゲーム画像において、プレイヤオブジェクト１０１は移動することとなる。そのため、今回のステップ５のゲーム画像描画処理では、プレイヤオブジェクト１０１が移動し、それに伴ってゲーム画像カメラの位置、方向、画角が変化したゲーム画像が生成される。なお、これに併せて、敵等のオブジェクトが移動する場合もある。その後、処理はステップＳ１に戻る。
【０１４２】
以下では、テレビ２にマップ画像が表示されている場合（ステップＳ６でＹＥＳ）について、説明する。
【０１４３】
この場合、ステップＳ１２において、ＣＰＵ１０は、マップ画像の表示からゲーム画像の表示に切り替えるか否かを判定する。具体的には、ＣＰＵ１０は、外部メインメモリ１２に記憶されている操作データ４０１を参照して、プレイヤがコントローラ７のプラスボタン（図３の７２ｇ参照）を押下してゲーム画像の表示に切り替える操作を行ったか否かを判定する。ステップＳ１２での判定がＹＥＳの場合、処理はステップＳ５のゲーム画像描画処理に移る。一方、ステップＳ１２での判定がＮＯの場合、処理はステップＳ１３に移る。
【０１４４】
ステップＳ１２でＹＥＳと判定されてステップＳ５に処理が移った場合、図１３のゲーム画像描画処理によって、ゲーム画像が生成されてテレビ２に表示される。そのため、今回のステップＳ５のゲーム画像描画処理では、直近のマップ画像描画処理（ステップＳ８）によってゲーム画像からマップ画像に切り替えられた時点のゲーム画像が表示画像として生成される。その後、処理はステップＳ１に戻る。
【０１４５】
一方、ステップＳ１３において、ＣＰＵ１０は、テレビ２に表示されているマップ画像の拡大又は縮小を行うか否かを判定する。具体的には、ＣＰＵ１０は、外部メインメモリ１２に記憶されている操作データ４０１を参照して、プレイヤがコントローラ７の十字キー（図３の７２ａ参照）の右キー又は左キーを押下してマップ画像を拡大又は縮小（ズームイン又はズームアウト）する操作を行ったか否かを判定する。ステップＳ１３での判定がＹＥＳの場合、処理はステップＳ１４に移る。一方、ステップＳ１２での判定がＮＯの場合、処理はステップＳ１に戻る。
【０１４６】
ステップＳ１４において、ＣＰＵ１０は、外部メインメモリ１２に記憶されている操作データ４０１に基づいて、外部メインメモリ１２に記憶されているマップ拡大率データ４１１を更新する。具体的には、ＣＰＵ１０は、操作データ４０１を参照してプレイヤが行ったマップ画像を拡大又は縮小（ズームイン又はズームアウト）する操作を特定し、特定したこの操作に対応した拡大率で、マップ拡大率データ４１１を更新する。その後、処理はステップＳ１５に移る。
【０１４７】
ステップＳ１５において、ＧＰＵ１１ｂは、ステップＳ１４で更新されたマップ拡大率データ４１１が示す拡大率に応じて、キャプチャマップ画像データ４１０が表すキャプチャマップ画像内の表示領域（図１７参照）を決定し、決定した表示領域を、ＡＶ−ＩＣ１５等を介してマップ画像としてテレビ２に出力する。その後、処理はステップＳ１に戻る。
【０１４８】
以上に説明したように、プレイヤによってマップ画像を拡大又は縮小する操作が行われた場合（ステップＳ１３でＹＥＳ）、ステップＳ１４及びＳ１５の処理が行われて、テレビ２に表示されたマップ画像が拡大又は縮小（ズームイン又はズームアウト）される。
【０１４９】
以上に説明した本発明の一実施形態によれば、ゲーム画像の生成に使用されるゲームステージデータ（ポリゴンに関するデータ）を用いてマップ画像を生成するので、ゲームステージ毎のマップ画像を別個に用意する必要がない。このことによって、光ディスク４やＲＯＭ等の記憶媒体及び外部メインメモリ１２等のメモリ（ＲＡＭ）の記憶容量を節約することができる。また、同一のゲームステージにおいて「地殻変動」などの地形変化が行われた場合、そのような地形の変化をマップ画像に即座に反映させることができる。さらに、ゲームの製作段階において、ゲームステージデータを変更した場合には生成されるマップ画像もこの変更に連動して変更されるので、製作者の負担が軽減される。
【０１５０】
［変形例］
なお、以上に説明した実施形態では、図１３のゲーム画像描画処理において、ポリゴンに１つずつゲーム画像テクスチャを貼り付けた（ステップＳ５０４、Ｓ５０５）。しかし、図１３のゲーム画像描画処理において、図１５のマップ画像描画処理と同様に、同じゲーム画像属性が割り当てられたポリゴン（ポリゴン群）を特定して、特定したポリゴン群毎に一括してゲーム画像テクスチャを貼り付けてもよい。この場合、図１３のゲーム画像描画処理のステップＳ５０２の直後に、ゲーム画像カメラの撮像範囲内の全ポリゴンに対して同じゲーム画像属性毎にポリゴン群としてリストアップする処理が追加され、ステップＳ５０４において、テクスチャを貼り付けていないポリゴン群が１つ選択され、ステップＳ５０５において、選択されたポリゴン群を構成するポリゴンに一括でゲーム画像テクスチャが貼り付けられることとなる。このことによって、ゲーム画像を生成するための処理負担が軽減される。
【０１５１】
また、以上に説明した実施形態では、図１５のマップ画像描画処理において、マップ画像属性「なし」が割り当てられたポリゴンはゲーム空間に配置しないことによって、マップ画像に描く必要のない形状（石ころ、落ち葉等）をマップ画像から省いた。しかし、図１５のマップ画像描画処理において、マップ画像属性「なし」が割り当てられたポリゴンもゲーム空間に配置し、マップ画像属性「なし」が割り当てられたポリゴンにはマップ画像テクスチャを貼り付けないことによって、マップ画像に描く必要のない形状（石ころ、落ち葉等）をマップ画像から省いてもよい。この場合、図１５に示すマップ画像描画処理は、図１８に示すマップ画像描画処理に変形される。具体的には、図１５のステップＳ８０１は、図１８のステップＳ９０１（全てのポリゴンをゲーム空間に配置する処理）に置き換えられ、図１５のステップＳ８０４は、図１８のステップＳ９０４（マップ画像属性「なし」が割り当てられたポリゴンを除く全ポリゴンにテクスチャを貼り付けたか否かが判定される処理）に置き換えられ、図１５のステップＳ８０５は、図１８のステップＳ９０５（マップ画像属性「なし」が割り当てられたポリゴンから成るポリゴン群を除くポリゴン群のうちテクスチャを貼り付けていないポリゴン群を１つ選択する処理）に置き換えられることとなる。
【０１５２】
また、以上に説明した実施形態では、図１３のゲーム画像描画処理において、全ポリゴンが配置されて現在のゲームステージ全体が形成され（ステップＳ５０１）、ゲーム画像カメラの撮像範囲内のポリゴンのみにゲーム画像テクスチャが貼り付けられた（ステップＳ５０３〜Ｓ５０５）。しかし、ステップＳ５０１において、ゲーム画像カメラの撮像範囲内のポリゴンのみがゲーム空間に配置されてもよい。このことによって、ポリゴンを配置するための処理負荷が軽減される。
【０１５３】
また、以上に説明した実施形態では、図１５のマップ画像描画処理において、マップ画像属性「なし」が割り当てられたポリゴンを除く全ポリゴンが配置されて現在のゲームステージ全体が形成され（ステップＳ８０１）、マップ画像カメラによって現在のゲームステージ全体が撮像された（ステップＳ８０７）。しかし、図１５のステップＳ８０７においてマップ画像カメラは、プレイヤオブジェクト１０１の位置を含む現在のゲームステージの一部領域（例えば、現在のゲームステージを４分割した領域のうちプレイヤオブジェクト１０１の位置を含む領域）を撮像してもよい。そして、この場合には、図１５のステップＳ８０１において、マップ画像カメラの撮像領域内のポリゴンであって、マップ画像属性「なし」が割り当てられたポリゴンを除くポリゴンが配置されることとしてもよい。このことによって、ポリゴンを配置するための処理負荷が軽減される。なお、このようにした場合、マップ画像には、上記の撮像された一部領域の外の領域は表示されないこととなる。
【０１５４】
また、上記した図１８のマップ画像描画処理において、全ポリゴンが配置されて現在のゲームステージ全体が形成され（ステップＳ９０１）、マップ画像カメラによって現在のゲームステージ全体が撮像された（ステップＳ８０７）。しかし、図１８のステップＳ８０７においてマップ画像カメラは、プレイヤオブジェクト１０１の位置を含む現在のゲームステージの一部領域（例えば、現在のゲームステージを４分割した領域のうちプレイヤオブジェクト１０１の位置を含む領域）を撮像してもよい。そして、この場合には、図１８のステップＳ９０１において、マップ画像カメラの撮像領域内のポリゴンが配置されることとしてもよい。このことによって、ポリゴンを配置するための処理負荷が軽減される。なお、このようにした場合、マップ画像には、上記の撮像された一部領域の外の領域は表示されないこととなる。
【０１５５】
また、以上に説明した実施形態では、図８及び図１４に示したように、ゲーム画像を生成する際に、ゲーム画像カメラは、プレイヤオブジェクト１０１の後方からプレイヤオブジェクト１０１を向いて撮像を行った。しかし、ゲーム画像を生成する際に、ゲーム画像カメラは、任意の方向からプレイヤオブジェクト１０１を向いて撮像を行ってもよい。例えば、ゲーム画像カメラは、プレイヤオブジェクト１０１の正面からプレイヤオブジェクト１０１を向いて撮像を行ってもよいし、プレイヤオブジェクト１０１の上方からプレイヤオブジェクト１０１を向いて撮像を行ってもよい。また、プレイヤオブジェクト１０１の視点でもよい。
【０１５６】
また、以上に説明した実施形態では、図１５のマップ画像描画処理において、レンダリングマップ画像をスクリーンキャプチャしてキャプチャマップ画像に変換している（ステップＳ８０８）。しかし、ステップＳ８０８の変換の処理は行わないこととしてもよい。この場合、ステップＳ８１１において、レンダリングマップ画像の表示領域がマップ画像として出力されることとなる。
【０１５７】
また、以上に説明した実施形態では、ゲームステージデータ４０２はゲーム画像属性データ４０２２及びマップ画像属性データ４０２３を含んでいた。しかし、ゲームステージデータ４０２はマップ画像属性データ４０２３を含まなくてもよい。この場合、ゲーム画像が生成される際にはゲーム画像属性に基づいてポリゴンにゲーム画像テクスチャが貼り付けられ、マップ画像が生成される際にもゲーム画像属性に基づいてポリゴンにマップ画像テクスチャが貼り付けられることとなる。
【０１５８】
また、以上に説明した実施形態では、プレイヤの操作に応じてゲーム画像とマップ画像がテレビ２に切り替えて表示された（図１２参照）。しかし、ゲーム画像に重ねて、ゲーム画像よりも小さいマップ画像を表示してもよい。また、テレビ２の画面に、ゲーム画像とマップ画像とを重ならないように別個に表示してもよい。また、２つの表示部にそれぞれゲーム画像とマップ画像を表示してもよい。具体的には、テレビ２の画面にゲーム画像を表示し、携帯端末等（図示せず）の表示部にマップ画像を表示してもよいし、２以上の表示装置を備えたゲーム機の一方にゲーム画像を表示し、もう一方にマップ画像を表示してもよい。
【０１５９】
また、以上に説明した実施形態において、マップ画像描画処理（図１５参照）によってポリゴンに貼り付けられるマップ画像テクスチャの画像サイズは、ゲーム画像描画処理（図１３参照）によってポリゴンに貼り付けられるゲーム画像テクスチャの画像サイズよりも小さいことが好ましい。更には、ポリゴンのサイズよりもマップ画像テクスチャのサイズ（画像サイズ）を大幅に小さく設定して、このマップ画像テクスチャをポリゴンに複数整列させる態様で繰り返して貼り付けてもよい。このことによって、マップ画像テクスチャデータ４０５（図１１参照）のデータサイズが小さくなり、各記憶媒体やメモリの容量を節約できる。
【０１６０】
なお、マップ画像テクスチャの画像サイズを大きくした場合、上記のようにデータサイズを小さくできないが、一方で、マップ画像テクスチャで表現できる態様が広がる。
【０１６１】
また、以上に説明した実施形態において、マップ画像を、プレイヤオブジェクト１０１の向きやゲーム画像カメラの撮像方向に応じて回転させてもよい。例えば、プレイヤオブジェクト１０１の正面が向いた方向が常にテレビ２の上方向となるように、マップ画像を回転させてテレビ２に表示させてもよい。さらに、マップ画像の拡大率に応じてマップ画像の向きが変わってもよい。例えば、マップ画像の拡大率が大きいときにはプレイヤオブジェクト１０１の正面が向いた方向が常にテレビ２の上方向となるようにマップ画像を回転させ、マップ画像の拡大率が小さいときには回転を行わない状態（例えば北が上向きとなるように固定された状態）でマップ画像をテレビ２に表示させてもよい。このことにより、マップ画像の拡大率が大きいときにはプレイヤオブジェクト１０１の正面方向が常にテレビ２の所定方向となるようにマップ画像を提供し、マップ画像の拡大率が小さいときにはゲームステージの全体を把握できるマップ画像を提供することになり、目的に応じてマップ画像の表示方向を使い分けることができる。
【０１６２】
また、以上に説明した実施形態において、敵等のオブジェクトを示すアイコンは、マップ画面に表示させていない。しかし、プレイヤオブジェクト１０１を示すアイコンと同様に、敵等のオブジェクトを示すアイコンをマップ画像に表示させてもよい。
【０１６３】
また、以上に説明した実施形態において、プレイヤは、ゲーム画像がテレビ２に表示されている場合にのみ、プレイヤオブジェクト１０１を移動させることができる。しかし、プレイヤは、マップ画像がテレビ２に表示されている場合にも、プレイヤオブジェクト１０１を移動させることができることとしてもよい。
【０１６４】
また、以上に説明した実施形態において、マップ画像カメラは、ゲーム空間（現在のゲームステージ）を真上から俯瞰して撮像を行っている（図１６参照）。しかし、図１９に例示するように、マップ画像カメラは、ゲーム空間（現在のゲームステージ）を斜め上方から俯瞰して撮像を行ってもよい。また、マップ画像カメラは、ゲーム空間（現在のゲームステージ）を下から仰視して撮像を行ってもよい。このような撮像は、例えば海中をプレイヤオブジェクト１０１が泳ぐゲームステージにおいて、海底から上を見上げるマップ画像を生成する場合に行われる。また、マップ画像カメラは、ゲーム空間（現在のゲームステージ）を側方から視て撮像を行ってもよい。このような撮像は、例えばビルや穴の中をプレイヤオブジェクト１０１が移動するゲームステージにおいて、ビルや穴の中を側面から視たマップ画像を生成する場合に行われる。
【０１６５】
また、以上に説明した実施形態において、マップ画像カメラは、ゲーム空間（現在のゲームステージ）を平行投影によって撮像している。しかし、マップ画像カメラの撮像方法はこれには限定されない。
【０１６６】
また、以上に説明した実施形態において、本発明は、据置型のゲーム機によって実現されている（図１参照）。しかし、本発明は、携帯型ゲーム機、パーソナルコンピュータ、携帯電話機、携帯情報端末等の他の形態よって実現されてもよい。
【０１６７】
また、以上に説明した実施形態において、マップ画像テクスチャは、複数の画像（こま）を切り替えて表示させるアニメーションを実行するテクスチャとしてもよい。例えば、海を表すマップ画像テクスチャとしては、波が揺れるアニメーションを実行するテクスチャにすることで、マップ画像に躍動感を与えることができる。
【０１６８】
また、以上に説明した実施形態において、図１３のゲーム画像描画処理及び図１５のマップ画像描画処理では、ポリゴンに割り当てられている属性に基づいてテクスチャが貼り付けられた。しかし、図１３のゲーム画像描画処理及び図１５のマップ画像描画処理では、ポリゴンに割り当てられている属性と、実際又は架空の時間や季節等を示す時間情報とに基づいて、テクスチャが貼り付けられてもよい。例えば、或るポリゴンに属性「草」が割り当てられている場合に、時間情報が「春」を示しているときには花が咲いた草のテクスチャがポリゴンに貼り付けられ、時間情報が「秋」を示しているときには枯れた草のテクスチャがポリゴンに貼り付けられてもよい。また、同様の方法で、昼夜によってテクスチャを変えることもできる。
【０１６９】
また、以上に説明した実施形態において、ゲーム画像からマップ画像に切り替えられる度にキャプチャマップ画像を生成し、マップ画像が拡大又は縮小されて表示される場合にもこの作成したキャプチャマップ画像を使用していた（図１２参照）。しかし、マップ画像が拡大又は縮小されて表示される度に、キャプチャマップ画像が生成されてもよい。この場合、マップ画像の拡大又は縮小を行う際に、ゲームステージ全体の撮像画像をスクリーンキャプチャし、得られたキャプチャマップ画像からマップ画像の拡大率に応じた表示領域を切り出してマップ画像として出力してもよい。また、この場合、マップ画像の拡大又は縮小を行う際に、マップ画像の拡大率に対応する撮像領域をマップ画像カメラに設定し、当該撮像領域によって撮像した画像をそのままマップ画像として出力してもよい。また、ゲームステージが遷移する（図１２のステップＳ１でＹＥＳ）度にキャプチャマップ画像が生成されてもよい。ゲームステージが遷移する度にキャプチャマップ画像を生成する方法は、マップ画像を生成する処理負荷を軽減できる。一方で、ゲーム画像からマップ画像に切り替えられる度に又はマップ画像が拡大又は縮小されて表示される度にキャプチャマップ画像を生成する方法は、ゲームステージの変化（例えば地形の変化）を当該ゲームステージでのゲーム進行中にマップ画像に反映させることができる。
【０１７０】
また、以上に説明した実施形態において、「なし」を示す属性は、マップ画像属性のみに存在し、ゲーム画像属性には存在しないようになっていた。しかし、逆に、「なし」を示す属性は、ゲーム画像属性のみに存在するようにしてもよい。このようにすることで、ゲーム画像では表示されずマップ画像のみに表示されるポリゴンが発生し、マップ画像を、例えば、隠された宝の位置を示す地図、のように扱うことができる。
【０１７１】
また、以上に説明した実施形態において、テレビ２の表示画像がゲーム画像からマップ画像に切り替わる際に、瞬間的に切り替えるのではなく、視覚効果の高い切り替えを行ってもよい。例えば、ゲーム画像が、後方からプレイヤオブジェクト１０１を視る画像からプレイヤオブジェクト１０１を俯瞰する画像に連続的に滑らかに変化し、その後、変化したゲーム画像上にマップ画像をフェードインさせて重畳させ、その後、ゲーム画像をフェードアウトさせてマップ画像に完全に切り替えてもよい。このような視覚効果を付すことで、ゲーム画像とマップ画像とで用いられる仮想カメラが互いに異なるものである場合でも、ゲーム画像カメラがプレイヤオブジェクト１０１を俯瞰した位置に移動した結果としてマップ画像が表示されるというような印象をユーザに与えることができる。
【０１７２】
また、以上に説明した実施形態において、ゲーム空間のｙ軸によって表される高さ（図１４等参照）に基づいて、マップ画像生成の際に配置されないポリゴンを決定する、もしくは、マップ画像生成の際にテクスチャの貼り付けが行われないポリゴンを決定してもよい。または、この高さに基づいて、「なし」のマップ画像属性が割り当てられるポリゴンが設定されていてもよい。以下、具体的に説明する。
【０１７３】
例えば、ゲーム空間において地面より高い位置（ｙ座標がより大きい位置）にポリゴンによって形成された「木」等が在る場合、この木をマップ画像に表示するとマップ画像において地面が見え難くなる。そこで、ゲーム空間において地面よりも高い位置に存在するポリゴンを、マップ画像生成の際に配置しない、マップ画像生成の際に配置するがテクスチャの貼り付けは行わない、または、ゲーム空間において地面よりも高い位置に存在するポリゴンに「なし」のマップ画像属性を予め割り当てておく。このようにすることによって、図１５又は図１８のマップ画像描画処理において、マップ画像に「木」を描画しないようにできる。
【０１７４】
例えば、図１５のマップ画像描画処理において、ゲーム空間において地面よりも高い位置のポリゴンを配置しない場合を考える。この場合、図１５のステップＳ８０１において、マップ画像属性「なし」が割り当てられたポリゴンを除くポリゴンであって、地面の高さ（所定値）よりも高い位置のポリゴンを除くポリゴンが、ゲーム空間に配置されることとなる。
【０１７５】
また、例えば、図１８のマップ画像描画処理において、ゲーム空間において地面よりも高い位置のポリゴンを配置しない場合を考える。この場合、図１８のステップＳ９０１において、地面の高さ（所定値）よりも高い位置のポリゴンを除くポリゴンが、ゲーム空間に配置されることとなる。
【０１７６】
また、例えば、図１５のマップ画像描画処理において、ゲーム空間において地面よりも高い位置のポリゴンにはテクスチャを貼り付けない場合を考える。この場合、図１５のステップＳ８０３において、ステップＳ８０１で配置されたポリゴンのうち地面の高さ（所定値）よりも高い位置のポリゴンを除く全ポリゴンに対してリストアップが為され、ステップＳ８０４〜Ｓ８０６において、このリストアップが為されたポリゴンにテクスチャが貼り付けられることとなる。
【０１７７】
また、例えば、図１８のマップ画像描画処理において、ゲーム空間において地面よりも高い位置のポリゴンにはテクスチャを貼り付けない場合を考える。この場合、図１８のステップＳ８０３において、ステップＳ８０１で配置されたポリゴンのうち地面の高さ（所定値）よりも高い位置のポリゴンを除く全ポリゴンに対してリストアップが為され、ステップＳ９０４、Ｓ９０５、Ｓ８０６において、このリストアップが為されたポリゴンのうち属性「なし」が割り当てられたポリゴンを除くポリゴンにテクスチャが貼り付けられることとなる。
【０１７８】
また、以上に説明した実施形態を変形して拡大率の大きい詳細マップ画像と拡大率の小さい全体マップ画像とを生成する場合を考える。この場合、詳細マップ画像を生成する処理では、上記したように地面より高い位置に存在するポリゴンは、マップ画像生成の際に配置されない、マップ画像生成の際に配置は行われるがテクスチャの貼り付けが行われない、または、「なし」のマップ画像属性を割り当てられることで、「木」をマップ画像には登場させないようにする一方で、全体マップ画像を生成する処理では、木を形成するポリゴンも配置やテクスチャの貼り付けが行われるようにしてもよい。このことによって、詳細マップ画像には木の下に隠れている道等が表示され、全体マップには森が表示されるので、２つのマップ画像を使い分けることができる。
【０１７９】
また、例えば、ゲーム空間において、複数の階が存在するビル等の建物の１階にプレイヤオブジェクト１０１が居る場合、マップ画像を生成する際に２階や屋根等を構成するポリゴンが描画されてプレイヤオブジェクト１０１が隠されてしまう。そこで、ゲーム空間においてプレイヤオブジェクト１０１よりも高い位置に存在するポリゴンをマップ画像生成の際に配置しない、マップ画像生成の際に配置は行うがテクスチャの貼り付けは行わない、または、「なし」のマップ画像属性を割り当てておくことによって、図１５又は図１８のマップ生成処理において、プレイヤオブジェクト１０１を隠す階や屋根等をマップ画像に描画しないようにできる。
【０１８０】
また、例えば、ゲーム空間における断崖絶壁等の高低差が極端に大きい形状を、マップ画像によってプレイヤにわかり易く表すことは一般に困難である。そこで、断崖絶壁等の高低差が極端に大きい形状を形成するポリゴンには「境界線」のマップ画像属性を割り当てておき、図１５又は図１８のマップ生成処理において、「境界線」のマップ画像属性が割り当てられたポリゴンには、このような形状を表現する境界線（典型的には等高線）を表すマップ画像テクスチャを貼り付ける。このことによって、断崖絶壁等の高低差が極端に大きい形状を、マップ画像によってプレイヤにわかり易く表すことができる。あるいは、「境界線」のマップ画像属性を割り当てるのではなく、高低差が極端に大きいポリゴン同士の境界を判別し、その境界となる場所に境界線のオブジェクトを配置するようにしてもよい。
【０１８１】
また、例えば、ゲーム空間において坂が形成される場合において、坂を形成するポリゴンに対して、高い位置のポリゴンから低い位置のポリゴンに向かって徐々に色が変化するように、マップ画像属性を割り当てて、色の異なるマップ画像テクスチャを貼り付けてもよい。このことによって、マップ画像において、ゲーム空間の坂をグラデーションで表現できる。
【０１８２】
また、以上では、いわゆる三人称視点でゲーム画像が描画される場合を例に挙げて説明した。しかし、いわゆる一人称視点でゲーム画像が描画されてもよい。
【０１８３】
また、以上では、ゲーム画像カメラとマップ画像カメラとを別個に設けてこれらの仮想カメラを切り替えて使用して、ゲーム画像とマップ画像とを生成した。しかし、１つの仮想カメラに、ゲーム画像カメラとマップ画像カメラの双方の役割を担わせて、ゲーム画像とマップ画像とを生成してもよい。この場合、この１つの仮想カメラが、ゲーム画像カメラの位置とマップ画像カメラの位置との間を移動して、ゲーム画像とマップ画像とを生成することとなる。
【０１８４】
また、以上では、本発明によってゲームの表示画像を生成する例を説明した。しかし、本発明は、これには限られず、様々な用途の表示画像の生成に用いることができる。
【０１８５】
また、以上では、一例として、図１に示すゲームシステム１内において以上に説明した処理の全てが実行されるものとした。しかし、以上に説明した処理は、有線又は無線で互いに接続された複数の装置（又はシステム）によって処理分担されて実行されてもよい。例えば、以上に説明した処理は、端末側装置とサーバ側装置とを含むシステムにおいて、図１２のステップＳ５、Ｓ８及びＳ１５の処理が端末側装置によって実行され、図１２の他の処理がサーバ側装置によって実行されてもよい。
【符号の説明】
【０１８６】
１…ゲームシステム
２…モニタ
２ａ…スピーカ
３…ゲーム装置
４…光ディスク
７…コントローラ
１０…ＣＰＵ
１１…システムＬＳＩ
１１ａ…入出力プロセッサ
１１ｂ…ＧＰＵ
１１ｃ…ＤＳＰ
１１ｄ…ＶＲＡＭ
１１ｅ…内部メインメモリ
１２…外部メインメモリ
１３…ＲＯＭ／ＲＴＣ
１４…ディスクドライブ
１５…ＡＶ−ＩＣ
１６…ＡＶコネクタ
１７…フラッシュメモリ
１８…無線通信モジュール
１９…無線コントローラモジュール
２０…拡張コネクタ
２１…外部メモリカード用コネクタ
２２…アンテナ
２３…アンテナ
２４…電源ボタン
２５…リセットボタン
２６…イジェクトボタン
３６…拡張コントローラ
３９…アナログスティック
７１…ハウジング
７２…操作部
７３…コネクタ
７４…撮像情報演算部
７４１…赤外線フィルタ
７４２…レンズ
７４３…撮像素子
７４４…画像処理回路
７５…通信部
７５１…マイコン
７５２…メモリ
７５３…無線モジュール
７５４…アンテナ
７００…基板
７０１…加速度センサ
７０２…ＬＥＤ
７０３…水晶振動子
７０４…バイブレータ
７０７…サウンドＩＣ
７０８…アンプ
１０１…プレイヤオブジェクト
【図１】
0005632657.tif 000002
【図２】
0005632657.tif 000003
【図３】
0005632657.tif 000004
【図４】
0005632657.tif 000005
【図５】
0005632657.tif 000006
【図６】
0005632657.tif 000007
【図７】
0005632657.tif 000008
【図８】
0005632657.tif 000009
【図９】
0005632657.tif 000010
【図１０】
0005632657.tif 000011
【図１１】
0005632657.tif 000012
【図１２】
0005632657.tif 000013
【図１３】
0005632657.tif 000014
【図１４】
0005632657.tif 000015
【図１５】
0005632657.tif 000016
【図１６】
0005632657.tif 000017
【図１７】
0005632657.tif 000018
【図１８】
0005632657.tif 000019
【図１９】
0005632657.tif 000020