(57)【要約】【課題】仮想３次元空間に対応する鳥瞰マップの記憶に必要な記憶容量を軽減できるリソース作成プログラムを提供すること。【解決手段】仮想３次元空間内において、当該仮想３次元空間に配置された仮想カメラで、仮想３次元空間の一部の領域の鳥瞰画像を撮影する。次に、当該撮影された鳥瞰画像を構成する色に関する情報が所定の条件を満たしているか否かを判定する。その結果、所定の条件を満たしていないと判定された鳥瞰画像の画像データを所定の記憶媒体に蓄積することでリソースデータを生成する。以上のような処理を、仮想３次元空間の予め定められた領域に対応する鳥瞰画像の全てが撮影されるまで繰り返す。【選択図】図１４
2011070599.tif 000002
【特許請求の範囲】
【請求項１】
仮想３次元空間に対応する鳥瞰マップを表示するためのリソースを生成する鳥瞰マップリソース生成装置のコンピュータで実行される鳥瞰マップリソース生成プログラムであって、
前記コンピュータを、
前記仮想３次元空間内に配置された仮想カメラで前記仮想３次元空間の一部の領域の鳥瞰画像を撮影する撮影手段と、
前記撮影手段で撮影された前記鳥瞰画像を構成する色に関する情報が所定の条件を満たしているか否かを判定する判定手段と、
前記判定手段によって前記所定の条件を満たしていないと判定された前記鳥瞰画像の画像データを所定の記憶媒体に蓄積することでリソースデータを生成するリソースデータ生成手段として機能させ、
前記撮影手段と前記判定手段と前記リソースデータ生成手段による処理は、前記仮想３次元空間の予め定められた領域に対応する鳥瞰画像の全てが前記撮影手段によって撮影されるまで繰り返される、鳥瞰マップリソース生成プログラム。
【請求項２】
前記鳥瞰マップリソース生成プログラムは、前記コンピュータを、前記仮想３次元空間内において仮想カメラを所定の撮影条件に応じて移動させる仮想カメラ移動手段として更に機能させ、
前記撮影手段は、前記仮想カメラ移動手段によって移動された仮想カメラで前記仮想３次元空間の一部の領域の鳥瞰画像を撮影する、請求項１に記載の鳥瞰マップリソース生成プログラム。
【請求項３】
前記鳥瞰マップ生成プログラムは、前記コンピュータを、前記仮想３次元空間を構成する地形オブジェクトのうち、所定の種類の地形オブジェクトを描画せず、前記所定の種類の地形オブジェクト以外の地形オブジェクトを描画することにより仮想３次元空間を生成するリソース用３次元空間生成手段として更に機能させ、
前記撮影手段は、前記リソース用３次元空間生成手段で生成された仮想３次元空間を撮影する、請求項１または２に記載の鳥瞰マップリソース生成プログラム。
【請求項４】
前記リソース用３次元空間生成手段は、所定の単一色を背景色とし、前記所定の種類の地形オブジェクト以外の地形オブジェクトを描画することで前記仮想３次元空間を生成する、請求項３に記載の鳥瞰マップリソース生成プログラム。
【請求項５】
前記判定手段は、前記撮影手段で撮影された前記鳥瞰画像の画素値が全て同じ色を示す画素値であるとき、前記所定の条件を満たしたと判定する、請求項３または４に記載の鳥瞰マップリソース生成プログラム。
【請求項６】
前記判定手段は、前記鳥瞰画像が複数色で構成されているときは、当該複数の色のうち、階調の差が所定範囲内である複数の色については同じ色として判定する、請求項３または４に記載の鳥瞰マップリソース生成プログラム。
【請求項７】
前記仮想カメラ移動手段は、前記仮想カメラで撮影される前記仮想３次元空間の領域が重複しないように前記仮想カメラを移動させる、請求項２に記載の鳥瞰マップリソース生成プログラム。
【請求項８】
前記仮想カメラ移動手段は、前記仮想３次元空間全体が一枚の画像に収まるように鳥瞰した画像を所定の大きさの正方形で格子状に区切ったと仮定したときの当該正方形単位で前記仮想カメラを移動させる、請求項７に記載の鳥瞰マップリソース生成プログラム。
【請求項９】
前記リソースデータ生成手段は、前記撮影手段が撮影した鳥瞰画像に対応する前記仮想３次元空間内の位置を示す情報を前記画像データに付加して蓄積する、請求項１乃至請求項８のいずれかに記載の鳥瞰マップリソース生成プログラム。
【請求項１０】
前記撮影手段は、前記仮想３次元空間を正射影方式で撮影することで前記鳥瞰画像を取得する、請求項１に記載の鳥瞰マップリソース生成プログラム。
【請求項１１】
前記仮想カメラ移動手段は、前記リソースデータ生成手段で蓄積される前記画像データの画像サイズに応じて前記仮想カメラを移動させる距離を決定する、請求項２に記載の鳥瞰マップリソース生成プログラム。
【請求項１２】
仮想３次元空間に対応する鳥瞰マップを表示する鳥瞰マップ表示装置のコンピュータで実行される鳥瞰マップ表示プログラムであって、
前記コンピュータには、前記仮想３次元空間内において所定の撮影条件に応じて移動させた仮想カメラで当該仮想３次元空間の一部の領域の鳥瞰画像を撮影する処理が繰り返し実行されることで得られた画像データ群のうち、各鳥瞰画像を構成する色に関する情報が所定の条件を満たしていない画像データ群のみが蓄積されたデータであるリソースデータを記憶するリソースデータ記憶手段が接続されており、
前記コンピュータを、
前記リソースデータから所定の画像データを選択する画像データ選択手段と、
前記画像データ選択手段で選択された画像データに基づいて、前記鳥瞰マップを生成して、所定の表示装置の画面に表示する鳥瞰マップ表示手段として機能させる、鳥瞰マップ表示プログラム。
【請求項１３】
仮想３次元空間に対応する鳥瞰マップを表示する鳥瞰マップ表示装置のコンピュータで実行される鳥瞰マップ表示プログラムであって、
前記コンピュータを、
前記仮想３次元空間内において所定の撮影条件に応じて移動させた仮想カメラで当該仮想３次元空間の一部の領域の鳥瞰画像を撮影する処理が繰り返し実行されることで得られた画像データ群のうち、各鳥瞰画像を構成する色に関する情報が所定の条件を満たしていない画像データ群のみが、当該各画像データの撮影された当該仮想３次元空間内の位置を示す情報と共に蓄積されたデータであるリソースデータを記憶するリソースデータ記憶手段が接続されており、
前記鳥瞰マップ内における所定の表示位置に対応する前記仮想３次元空間内の位置を取得する位置取得手段と、
前記位置取得手段で取得された前記仮想３次元空間内の位置に対応する前記画像データが前記リソースデータに含まれているか否かを判定するリソース存在判定手段と、
前記リソース判定手段において、前記対応する画像データが含まれていると判定されたときは、前記リソースデータから当該対応する画像データを取得して前記鳥瞰マップ内における前記所定の表示位置に表示し、含まれていないと判定されたときは、予め定められた画像データを当該鳥瞰マップ内における当該所定の表示位置に表示する鳥瞰マップ表示手段として機能させる、鳥瞰マップ表示プログラム。
【請求項１４】
前記鳥瞰マップ表示プログラムは、前記コンピュータを、前記位置取得手段で取得された前記仮想３次元空間内の位置が、前記鳥瞰マップとして描画される仮想３次元空間内の範囲外であるか否かをプレイヤオブジェクトの位置と所定の描画範囲とに基づいて判定する第１の鳥瞰マップ範囲外判定手段として更に機能させ、
前記リソース判定手段は、前記第１の鳥瞰マップ範囲外判定手段で鳥瞰マップの範囲外ではないと判定された前記仮想３次元空間内の位置についてのみ、当該仮想３次元空間内の位置に対応する前記画像データが前記リソースデータに含まれているか否かを判定する、請求項１３に記載の鳥瞰マップ表示プログラム。
【請求項１５】
前記第１の鳥瞰マップ範囲外判定手段は、前記位置取得手段で取得された前記仮想３次元空間内の位置が前記鳥瞰マップとして表示される仮想３次元空間の範囲外であるか否かを、前記プレイヤオブジェクトの位置、所定の描画範囲、および、当該鳥瞰マップの拡大率に基づいて判定する、請求項１４に記載の鳥瞰マップ表示プログラム。
【請求項１６】
前記鳥瞰マップ表示プログラムは、前記コンピュータを、
前記第１の鳥瞰マップ範囲外判定手段で鳥瞰マップの範囲外ではないと判定された前記仮想３次元空間内の位置が、前記鳥瞰マップとして描画される仮想３次元空間内の範囲内に含まれるか否かを前記プレイヤオブジェクトの向きに基づいて判定する第２の鳥瞰マップ範囲外判定手段として更に機能させ、
前記リソース判定手段は、前記第２の鳥瞰マップ範囲外判定手段において前記鳥瞰マップの範囲内に含まれると判定された前記仮想３次元空間内の位置についてのみ、当該仮想３次元空間内の位置に対応する前記画像データが前記リソースデータに含まれているか否かを判定する、請求項１４または１５に記載の鳥瞰マップ表示プログラム。
【請求項１７】
仮想３次元空間に対応する鳥瞰マップを表示するためのリソースを生成する鳥瞰マップリソース生成装置であって、
前記仮想３次元空間内に配置された仮想カメラで前記仮想３次元空間の一部の領域の鳥瞰画像を撮影する撮影手段と、
前記撮影手段で撮影された前記鳥瞰画像を構成する色に関する情報が所定の条件を満たしているか否かを判定する判定手段と、
前記判定手段によって前記所定の条件を満たしていないと判定された前記鳥瞰画像の画像データを所定の記憶媒体に蓄積することでリソースデータを生成するリソースデータ生成手段とを備え、
前記撮影手段と前記判定手段と前記リソースデータ生成手段による処理は、前記仮想３次元空間の予め定められた領域に対応する鳥瞰画像の全てが前記撮影手段によって撮影されるまで繰り返される、鳥瞰マップリソース生成装置。
【請求項１８】
仮想３次元空間に対応する鳥瞰マップを表示する鳥瞰マップ表示装置であって、
前記仮想３次元空間内において所定の撮影条件に応じて移動させた仮想カメラで当該仮想３次元空間の一部の領域の鳥瞰画像を撮影する処理が繰り返し実行されることで得られた画像データ群のうち、各鳥瞰画像を構成する色に関する情報が所定の条件を満たしていない画像データ群のみが蓄積されたデータであるリソースデータを記憶するリソースデータ記憶手段と、
前記リソースデータから所定の画像データを選択する画像データ選択手段と、
前記画像データで選択された画像データに基づいて、前記鳥瞰マップを生成して、所定の表示装置の画面に表示する鳥瞰マップ表示手段とを備える、鳥瞰マップ表示装置。
【請求項１９】
仮想３次元空間に対応する鳥瞰マップを表示する鳥瞰マップ表示装置であって、
前記仮想３次元空間内において所定の撮影条件に応じて移動させた仮想カメラで当該仮想３次元空間の一部の領域の鳥瞰画像を撮影する処理が繰り返し実行されることで得られた画像データ群のうち、各鳥瞰画像を構成する色に関する情報が所定の条件を満たしていない画像データ群のみが、当該各画像データの撮影された当該仮想３次元空間内の位置を示す情報と共に蓄積されたデータであるリソースデータを記憶するリソースデータ記憶手段と、
前記鳥瞰マップ内における所定の表示位置に対応する前記仮想３次元空間内の位置を取得する位置取得手段と、
前記位置取得手段で取得された前記仮想３次元空間内の位置に対応する前記画像データが前記リソースデータに含まれているか否かを判定するリソース存在判定手段と、
前記リソース判定手段において、前記対応する画像データが含まれていると判定されたときは、前記リソースデータから当該対応する画像データを取得して前記鳥瞰マップ内における前記所定の表示位置に表示し、含まれていないと判定されたときは、予め定められた画像データを当該鳥瞰マップ内における当該所定の表示位置に表示する鳥瞰マップ表示手段とを備える、鳥瞰マップ表示装置。
【請求項２０】
鳥瞰マップのリソースを生成して当該リソースに基づいて当該鳥瞰マップを表示する方法であって、
前記仮想３次元空間内に配置された仮想カメラで前記仮想３次元空間の一部の領域の鳥瞰画像を撮影する撮影ステップと、
前記撮影ステップで撮影された前記鳥瞰画像に関する情報が所定の条件を満たしているか否かを判定する判定ステップと、
前記判定ステップによって前記所定の条件を満たしていないと判定された前記鳥瞰画像の画像データを所定の記憶媒体に蓄積することでリソースデータを生成するリソースデータ生成ステップと、
前記撮影ステップと前記判定ステップと前記リソースデータ生成ステップによる処理を、前記仮想３次元空間の予め定められた領域に対応する鳥瞰画像の全てが前記撮影ステップによって撮影されるまで繰り返す制御ステップと、
前記リソースデータから所定の画像データを選択する画像データ選択ステップと、
前記画像データ選択ステップで選択された画像データに基づいて、前記鳥瞰マップを生成して、所定の表示装置の画面に表示する鳥瞰マップ表示ステップとを含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想３次元空間に対応する鳥瞰マップのリソースを生成する鳥瞰マップリソース生成プログラム、鳥瞰マップリソース生成装置、および、当該リソースを用いて鳥瞰マップを生成・表示する鳥瞰マップ表示プログラム、鳥瞰マップ表示装置に関し、より特定的には、仮想３次元空間を鳥瞰する位置から撮影することで得られた画像データに基づいて、鳥瞰マップのリソースを生成し、鳥瞰マップを表示する処理が実行される鳥瞰マップリソース生成プログラム、鳥瞰マップリソース生成装置、および、鳥瞰マップ表示プログラム、鳥瞰マップ表示装置に関する。
【背景技術】
【０００２】
従来より、仮想３次元空間を表示装置に表示させるとともに、当該仮想３次元空間を真上から見た平面図である２次元マップも表示装置に表示させるものが知られている（例えば、特許文献１）。このような２次元マップは、仮想３次元空間を表示するためのデータとはまた別に作成されて予め記憶されていた。あるいは、仮想３次元空間に配置されるオブジェクトの位置データ等を示すマップデータを用いてその都度作成されていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２６１２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に記載された情報処理装置において、２次元マップが仮想３次元空間を表示するためのデータとは別のデータとして作成される場合には、例えばゲームの開発中において仮想３次元空間の構成に変更があった場合は、その都度、２次元マップを作成する（作り直す）ための作業が発生していた。そのため、２次元マップを作成するための作業を軽減するという点で改善の余地があった。更に、上記特許文献１に記載された情報処理装置において、２次元マップが仮想３次元空間に配置されるオブジェクトの位置データ等を示すマップデータを用いて作成される場合には、仮想３次元空間の全てに対応した２次元マップを記憶しておく必要があるため、仮想３次元空間が大きくなるにつれて２次元マップを記憶するために必要なメモリの容量が大きくなり、２次元マップを記憶するためにメモリの消費量を軽減するという点で改善の余地があった。
【０００５】
それ故に、本発明の目的は、開発者の負担を軽減し、また、仮想３次元空間に対応する鳥瞰マップの記憶に必要な記憶容量を軽減できるリソース作成プログラムを提供することである。
【０００６】
また、本発明の別の目的は、処理コストを軽減することができる鳥瞰マップ表示プログラムを提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係の一例を示したものであって、本発明を何ら限定するものではない。
【０００８】
第１の発明は、仮想３次元空間に対応する鳥瞰マップを表示するためのリソースを生成する鳥瞰マップリソース生成装置のコンピュータで実行される鳥瞰マップリソース生成プログラムであって、コンピュータを、撮影手段と、判定手段と、リソースデータ生成手段として機能させる。撮影手段は、仮想３次元空間内に配置された仮想カメラで仮想３次元空間の一部の領域の鳥瞰画像を撮影する。判定手段は、撮影手段で撮影された鳥瞰画像を構成する色に関する情報が所定の条件を満たしているか否かを判定する。リソースデータ生成手段は、判定手段によって所定の条件を満たしていないと判定された鳥瞰画像の画像データを所定の記憶媒体に蓄積することでリソースデータを生成する。そして、撮影手段と判定手段とリソースデータ生成手段による処理は、仮想３次元空間の予め定められた領域に対応する鳥瞰画像の全てが撮影手段によって撮影されるまで繰り返される。
【０００９】
第１の発明によれば、開発途中で仮想３次元空間の構成が変更されたような場合でも、当該仮想３次元空間に対応する鳥瞰マップの再作成にかかる開発者の負担を軽減することができる。また、鳥瞰マップのリソースとなるデータの量を削減することができる。
【００１０】
第２の発明は、第１の発明において、鳥瞰マップリソース生成プログラムは、コンピュータを、仮想３次元空間内において仮想カメラを所定の撮影条件に応じて移動させる仮想カメラ移動手段として更に機能させる。そして、撮影手段は、仮想カメラ移動手段によって移動された仮想カメラで仮想３次元空間の一部の領域の鳥瞰画像を撮影する。
【００１１】
第２の発明によれば、鳥瞰画像のサイズを任意のサイズに設定することが可能となる。
【００１２】
第３の発明は、第１または第２の発明において、鳥瞰マップ生成プログラムは、コンピュータを、仮想３次元空間を構成する地形オブジェクトのうち、所定の種類の地形オブジェクトを描画せず、所定の種類の地形オブジェクト以外の地形オブジェクトを描画することにより仮想３次元空間を生成するリソース用３次元空間生成手段として更に機能させる。そして、撮影手段は、リソース用３次元空間生成手段で生成された仮想３次元空間を撮影する。
【００１３】
第４の発明は、第３の発明において、リソース用３次元空間生成手段は、所定の単一色を背景色とし、所定の種類の地形オブジェクト以外の地形オブジェクトを描画することで仮想３次元空間を生成する。
【００１４】
第５の発明は、第３または第４の発明において、判定手段は、撮影手段で撮影された鳥瞰画像の画素値が全て同じ色を示す画素値であるとき、所定の条件を満たしたと判定する。
【００１５】
第６の発明は、第３または第４の発明において、判定手段は、鳥瞰画像が複数色で構成されているときは、当該複数の色のうち、階調の差が所定範囲内である複数の色については同じ色として判定する。
【００１６】
第３乃至第６の発明によれば、単一色で構成された鳥瞰画像についてはリソース化する対象から外すため、鳥瞰マップのリソースとなるデータの量を削減することができる。
【００１７】
第７の発明は、第２の発明において、仮想カメラ移動手段は、仮想カメラで撮影される仮想３次元空間の領域が重複しないように仮想カメラを移動させる。
【００１８】
第７の発明によれば、無駄な撮影処理を防ぐ事ができ、処理コストを軽減することができる。
【００１９】
第８の発明は、第７の発明において、仮想カメラ移動手段は、仮想３次元空間全体が一枚の画像に収まるように鳥瞰した画像を所定の大きさの正方形で格子状に区切ったと仮定したときの当該正方形単位で仮想カメラを移動させる。
【００２０】
第８の発明によれば、リソースデータとなる画像データの数に無駄が発生することを防ぐことが可能となる。
【００２１】
第９の発明は、第１乃至第８のいずれかの発明において、リソースデータ生成手段は、撮影手段が撮影した鳥瞰画像に対応する仮想３次元空間内の位置を示す情報を画像データに付加して蓄積する。
【００２２】
第９の発明によれば、画像データと対応する仮想３次元空間内の位置との対応とが記憶されるため、リソースデータに基づいて鳥瞰マップを生成するときの生成処理の負荷を軽減することが可能となる。
【００２３】
第１０の発明は、第１の発明において、撮影手段は、仮想３次元空間の鳥瞰画像を正射影方式で撮影する。
【００２４】
第１０の発明によれば、利用者にとって見やすい鳥瞰マップを生成することができる。
【００２５】
第１１の発明は、第２の発明において、仮想カメラ移動手段は、リソースデータ生成手段で蓄積される画像データの画像サイズに応じて仮想カメラを移動させる距離を決定して移動させる。
【００２６】
第１１の発明によれば、仮想３次元空間の内容やこれを用いて行われる情報処理の内容に応じて適切なサイズの画像データを用いることができ、鳥瞰マップのリソースとなるデータの量を削減することができる。
【００２７】
第１２の発明は、仮想３次元空間に対応する鳥瞰マップを表示する鳥瞰マップ表示装置のコンピュータで実行される鳥瞰マップ表示プログラムであって、コンピュータを、画像データ選択手段と、鳥瞰マップ表示手段として機能させる。ここで、コンピュータは、仮想３次元空間内において所定の撮影条件に応じて移動させた仮想カメラで当該仮想３次元空間の一部の領域の鳥瞰画像を撮影する処理が繰り返し実行されることで得られた画像データ群のうち、各鳥瞰画像を構成する色に関する情報が所定の条件を満たしていない画像データ群のみが蓄積されたデータであるリソースデータが記憶されているリソースデータ記憶手段と接続されている。そして、画像データ選択手段は、リソースデータから所定の画像データを選択する。鳥瞰マップ表示手段は、画像データ選択手段で選択された画像データに基づいて、鳥瞰マップを生成して、所定の表示装置の画面に表示する。
【００２８】
第１２の発明によれば、鳥瞰マップとして必要な部分についてのみ描画処理を実行させることができ、鳥瞰マップを表示するための処理負荷を軽減することができる。
【００２９】
第１３の発明は、仮想３次元空間に対応する鳥瞰マップを表示する鳥瞰マップ表示装置のコンピュータで実行される鳥瞰マップ表示プログラムであって、コンピュータを、位置取得手段と、リソース存在判定手段と、鳥瞰マップ表示手段として機能させる。ここで、コンピュータは、仮想３次元空間内において所定の撮影条件に応じて移動させた仮想カメラで当該仮想３次元空間の一部の領域の鳥瞰画像を撮影する処理が繰り返し実行されることで得られた画像データ群のうち、各鳥瞰画像を構成する色に関する情報が所定の条件を満たしていない画像データ群のみが、当該各画像データの撮影された当該仮想３次元空間内の位置を示す情報と共に蓄積されたデータであるリソースデータが記憶されたリソースデータ記憶手段と接続されている。そして、位置取得手段は、鳥瞰マップ内における所定の表示位置に対応する仮想３次元空間内の位置を取得する。リソース存在判定手段は、位置取得手段で取得された仮想３次元空間内の位置に対応する画像データがリソースデータに含まれているか否かを判定する。鳥瞰マップ表示手段は、リソース判定手段において、対応する画像データが含まれていると判定されたときは、リソースデータから当該対応する画像データを取得して鳥瞰マップ内における所定の表示位置に表示し、含まれていないと判定されたときは、予め定められた画像データを当該鳥瞰マップ内における当該所定の表示位置に表示する。
【００３０】
第１４の発明は、第１３の発明において、鳥瞰マップ表示プログラムは、コンピュータを、位置取得手段で取得された仮想３次元空間内の位置が、鳥瞰マップとして描画される仮想３次元空間内の範囲外であるか否かをプレイヤオブジェクトの位置と所定の描画範囲とに基づいて判定する第１の鳥瞰マップ範囲外判定手段として更に機能させる。そして、リソース判定手段は、第１の鳥瞰マップ範囲外判定手段で鳥瞰マップの範囲外ではないと判定された仮想３次元空間内の位置についてのみ、当該仮想３次元空間内の位置に対応する画像データがリソースデータに含まれているか否かを判定する。
【００３１】
第１５の発明は、第１４の発明において、第１の鳥瞰マップ範囲外判定手段は、位置取得手段で取得された仮想３次元空間内の位置が鳥瞰マップとして表示される仮想３次元空間の範囲外であるか否かを、プレイヤオブジェクトの位置、所定の描画範囲、および、当該鳥瞰マップの拡大率に基づいて判定する。
【００３２】
第１６の発明は、第１４または第１５の発明において、鳥瞰マップ表示プログラムは、コンピュータを、第１の鳥瞰マップ範囲外判定手段で鳥瞰マップの範囲外ではないと判定された仮想３次元空間内の位置が、鳥瞰マップとして描画される仮想３次元空間内の範囲内に含まれるか否かをプレイヤオブジェクトの向きに基づいて判定する第２の鳥瞰マップ範囲外判定手段として更に機能させる。そして、リソース判定手段は、第２の鳥瞰マップ範囲外判定手段において鳥瞰マップの範囲内に含まれると判定された仮想３次元空間内の位置についてのみ、当該仮想３次元空間内の位置に対応する画像データがリソースデータに含まれているか否かを判定する。
【００３３】
第１３乃至第１６の発明によれば、鳥瞰マップの描画処理にかかる処理負荷を軽減することができる。
【００３４】
第１７の発明は、仮想３次元空間に対応する鳥瞰マップを表示するためのリソースを生成する鳥瞰マップリソース生成装置であって、撮影手段と、判定手段と、リソースデータ生成手段とを備える。撮影手段は、仮想３次元空間内に配置された仮想カメラで仮想３次元空間の一部の領域の鳥瞰画像を撮影する。判定手段は、撮影手段で撮影された鳥瞰画像を構成する色に関する情報が所定の条件を満たしているか否かを判定する。リソースデータ生成手段は、判定手段によって所定の条件を満たしていないと判定された鳥瞰画像の画像データを所定の記憶媒体に蓄積することでリソースデータを生成する。そして、撮影手段と判定手段とリソースデータ生成手段による処理は、仮想３次元空間の予め定められた領域に対応する鳥瞰画像の全てが撮影手段によって撮影されるまで繰り返される。
【００３５】
第１７の発明によれば、第１の発明と同様の効果を得ることができる。
【００３６】
第１８の発明は、仮想３次元空間に対応する鳥瞰マップを表示する鳥瞰マップ表示装置であって、リソースデータ記憶手段と、画像データ選択手段と、鳥瞰マップ表示手段とを備える。リソースデータ記憶手段は、仮想３次元空間内において所定の撮影条件に応じて移動させた仮想カメラで当該仮想３次元空間の一部の領域の鳥瞰画像を撮影する処理が繰り返し実行されることで得られた画像データ群のうち、各鳥瞰画像を構成する色に関する情報が所定の条件を満たしていない画像データ群のみが蓄積されたデータであるリソースデータを記憶する。画像データ選択手段は、リソースデータから所定の画像データを選択する。鳥瞰マップ表示手段は、画像データで選択された画像データに基づいて、鳥瞰マップを生成して、所定の表示装置の画面に表示する。
【００３７】
第１８の発明によれば、第１２の発明と同様の効果を得ることができる。
【００３８】
第１９の発明は、仮想３次元空間に対応する鳥瞰マップを表示する鳥瞰マップ表示装置であって、リソースデータ記憶手段と、位置取得手段と、リソース存在判定手段と、鳥瞰マップ表示手段とを備える。リソースデータ記憶手段は、仮想３次元空間内において所定の撮影条件に応じて移動させた仮想カメラで当該仮想３次元空間の一部の領域の鳥瞰画像を撮影する処理が繰り返し実行されることで得られた画像データ群のうち、各鳥瞰画像を構成する色に関する情報が所定の条件を満たしていない画像データ群のみが、当該各画像データの撮影された当該仮想３次元空間内の位置を示す情報と共に蓄積されたデータであるリソースデータを記憶する。位置取得手段は、鳥瞰マップ内における所定の表示位置に対応する仮想３次元空間内の位置を取得する。リソース存在判定手段は、位置取得手段で取得された仮想３次元空間内の位置に対応する画像データがリソースデータに含まれているか否かを判定する。鳥瞰マップ表示手段は、リソース判定手段において、対応する画像データが含まれていると判定されたときは、リソースデータから当該対応する画像データを取得して鳥瞰マップ内における所定の表示位置に表示し、含まれていないと判定されたときは、予め定められた画像データを当該鳥瞰マップ内における当該所定の表示位置に表示する。
【００３９】
第１９の発明によれば、第１３の発明と同様の効果を得ることができる。
【００４０】
第２０の発明は、鳥瞰マップのリソースを生成して当該リソースに基づいて当該鳥瞰マップを表示する方法であって、撮影ステップと、判定ステップと、リソースデータ生成ステップと、制御ステップと、画像データ選択ステップと、鳥瞰マップ表示ステップとを含む。撮影ステップは、仮想３次元空間内に配置された仮想カメラで仮想３次元空間の一部の領域の鳥瞰画像を撮影する。判定ステップは、撮影ステップで撮影された鳥瞰画像に関する情報が所定の条件を満たしているか否かを判定する。リソースデータ生成ステップは、判定ステップによって所定の条件を満たしていないと判定された鳥瞰画像の画像データを所定の記憶媒体に蓄積することでリソースデータを生成する。制御ステップは、撮影ステップと判定ステップとリソースデータ生成ステップによる処理を、仮想３次元空間の予め定められた領域に対応する鳥瞰画像の全てが撮影ステップによって撮影されるまで繰り返す。画像データ選択ステップは、リソースデータから所定の画像データを選択する。鳥瞰マップ表示ステップは、画像データ選択ステップで選択された画像データに基づいて、鳥瞰マップを生成して、所定の表示装置の画面に表示する。
【００４１】
第２０の発明によれば、鳥瞰マップのリソースとなるデータ量を軽減でき、更に、鳥瞰マップの描画処理にかかる処理負荷を軽減することができる。
【発明の効果】
【００４２】
本発明によれば、鳥瞰マップ作成にかかる開発者の負担を軽減することができる。また、鳥瞰マップを生成するために用いるリソースのデータ量を軽減することができる。
【００４３】
また、本発明によれば、鳥瞰マップを表示するための処理負荷を軽減することができる。
【図面の簡単な説明】
【００４４】
【図１】本発明の一実施形態に係るゲームシステム１を説明するための外観図
【図２】図１のゲーム装置３の機能ブロック図
【図３】図１のコントローラ７の上面後方から見た斜視図
【図４】図３のコントローラ７を下面前方から見た斜視図
【図５】図３のコントローラ７の上ハウジングを外した状態を示す斜視図
【図６】図３のコントローラ７の下ハウジングを外した状態を示す斜視図
【図７】図３のコントローラ７の構成を示すブロック図
【図８】本実施形態が想定するゲームの画面の一例
【図９】３次元仮想ゲーム空間の一例
【図１０】リソース生成処理の概要を説明するための図
【図１１】リソース生成処理の際のゲーム装置３の外部メインメモリ１２のメモリマップを示す図
【図１２】ゲーム処理の際のゲーム装置３の外部メインメモリ１２のメモリマップを示す図
【図１３】セル配列データ３１２の構成を示す図
【図１４】本発明の実施形態にかかる鳥瞰マップリソース生成処理の詳細を示すフローチャート
【図１５】図１４のステップＳ４の処理を説明するための図
【図１６】図１４のステップＳ４の処理を説明するための図
【図１７】図１４のステップＳ４の処理を説明するための図
【図１８】図１４のステップＳ５の処理を説明するための図
【図１９】図１４のステップＳ６の処理を説明するための図
【図２０】本発明の実施形態にかかる鳥瞰マップ生成・表示処理の詳細を示すフローチャート
【図２１】図２０のステップＳ２１の処理を説明するための図
【図２２】図２０のステップＳ２１の処理を説明するための図
【図２３】拡大率について説明するための図
【図２４】図２０のステップＳ３０の処理を説明するための図
【図２５】図２０のステップＳ３１の処理を説明するための図
【図２６】図２０のステップＳ３２の処理を説明するための図
【図２７】図２０のステップＳ３４の処理を説明するための図
【発明を実施するための形態】
【００４５】
以下、本発明の実施の形態について、図面を参照して説明する。尚、この実施例により本発明が限定されるものではない。
【００４６】
（ゲームシステムの全体構成）
図１を参照して、本発明の実施形態に係るゲーム装置を含むゲームシステム１について説明する。図１は、ゲームシステム１の外観図である。以下、据置型のゲーム装置を一例にして、本実施形態のゲーム装置およびゲームプログラムについて説明する。図１において、ゲームシステム１は、テレビジョン受像器（以下、単に「テレビ」と記載する）２、ゲーム装置３、光ディスク４、コントローラ７、およびマーカ部８を含む。本システムは、コントローラ７を用いたゲーム操作に基づいてゲーム装置３でゲーム処理を実行するものである。
【００４７】
ゲーム装置３には、当該ゲーム装置３に対して交換可能に用いられる情報記憶媒体の一例である光ディスク４が脱着可能に挿入される。光ディスク４には、ゲーム装置３において実行されるためのゲームプログラムが記憶されている。ゲーム装置３の前面には光ディスク４の挿入口が設けられている。ゲーム装置３は、挿入口に挿入された光ディスク４に記憶されたゲームプログラムを読み出して実行することによってゲーム処理を実行する。
【００４８】
ゲーム装置３には、表示装置の一例であるテレビ２が接続コードを介して接続される。テレビ２には、ゲーム装置３において実行されるゲーム処理の結果得られるゲーム画像が表示される。また、テレビ２の画面の周辺（図１では画面の上側）には、マーカ部８が設置される。マーカ部８は、その両端に２つのマーカ８Ｒおよび８Ｌを備えている。マーカ８Ｒ（マーカ８Ｌも同様）は、具体的には１以上の赤外ＬＥＤであり、テレビ２の前方に向かって赤外光を出力する。マーカ部８はゲーム装置３に接続されており、ゲーム装置３はマーカ部８が備える各赤外ＬＥＤの点灯を制御することが可能である。
【００４９】
コントローラ７は、当該コントローラ７自身に対して行われた操作の内容を示す操作データをゲーム装置３に与える入力装置である。コントローラ７とゲーム装置３とは無線通信によって接続される。本実施形態では、コントローラ７とゲーム装置３との間の無線通信には例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）の技術が用いられる。なお、他の実施形態においてはコントローラ７とゲーム装置３とは有線で接続されてもよい。
【００５０】
（ゲーム装置３の内部構成）
次に、図２を参照して、ゲーム装置３の内部構成について説明する。図２は、ゲーム装置３の構成を示すブロック図である。ゲーム装置３は、ＣＰＵ１０、システムＬＳＩ１１、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４、およびＡＶ−ＩＣ１５等を有する。
【００５１】
ＣＰＵ１０は、光ディスク４に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。ＣＰＵ１０は、システムＬＳＩ１１に接続される。システムＬＳＩ１１には、ＣＰＵ１０の他、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４およびＡＶ−ＩＣ１５が接続される。システムＬＳＩ１１は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。システムＬＳＩ１１の内部構成については後述する。揮発性の外部メインメモリ１２は、光ディスク４から読み出されたゲームプログラムや、フラッシュメモリ１７から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、ＣＰＵ１０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ１３は、ゲーム装置３の起動用のプログラムが組み込まれるＲＯＭ（いわゆるブートＲＯＭ）と、時間をカウントするクロック回路（ＲＴＣ：Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）とを有する。ディスクドライブ１４は、光ディスク４からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ１１ｅまたは外部メインメモリ１２に読み出したデータを書き込む。
【００５２】
また、システムＬＳＩ１１には、入出力プロセッサ１１ａ、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）１１ｂ、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）１１ｃ、ＶＲＡＭ１１ｄ、および内部メインメモリ１１ｅが設けられる。図示は省略するが、これらの構成要素１１ａ〜１１ｅは内部バスによって互いに接続される。
【００５３】
ＧＰＵ１１ｂは、描画手段の一部を形成し、ＣＰＵ１０からのグラフィクスコマンド（作画命令）に従って画像を生成する。より具体的には、ＧＰＵ１１ｂは、当該グラフィクスコマンドに従って３Ｄグラフィックスの表示に必要な計算処理、例えば、レンダリングの前処理にあたる３Ｄ座標から２Ｄ座標への座標変換などの処理や、テクスチャの張り込みなどの最終的なレンダリング処理を行うことで、ゲーム画像データを生成する。ここで、ＣＰＵ１０は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをＧＰＵ１１ｂに与える。ＶＲＡＭ１１ｄは、ＧＰＵ１１ｂがグラフィクスコマンドを実行するために必要なデータ（ポリゴンデータやテクスチャデータ等のデータ）を記憶する。画像が生成される際には、ＧＰＵ１１ｂは、ＶＲＡＭ１１ｄに記憶されたデータを用いて画像データを作成する。
【００５４】
ＤＳＰ１１ｃは、オーディオプロセッサとして機能し、内部メインメモリ１１ｅや外部メインメモリ１２に記憶されるサウンドデータや音波形（音色）データを用いて、音声データを生成する。また、内部メインメモリ１１ｅは、外部メインメモリ１２と同様に、プログラムや各種データを記憶するものであり、ＣＰＵ１０のワーク領域やバッファ領域として用いられる。
【００５５】
上述のように生成された画像データおよび音声データは、ＡＶ−ＩＣ１５によって読み出される。ＡＶ−ＩＣ１５は、読み出した画像データをＡＶコネクタ１６を介してテレビ２に出力するとともに、読み出した音声データを、テレビ２に内蔵されるスピーカ２ａに出力する。これによって、画像がテレビ２に表示されるとともに音がスピーカ２ａから出力される。
【００５６】
入出力プロセッサ（Ｉ／Ｏプロセッサ）１１ａは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ１１ａは、フラッシュメモリ１７、無線通信モジュール１８、無線コントローラモジュール１９、拡張コネクタ２０、およびメモリカード用コネクタ２１に接続される。無線通信モジュール１８にはアンテナ２２が接続され、無線コントローラモジュール１９にはアンテナ２３が接続される。
【００５７】
入出力プロセッサ１１ａは、無線通信モジュール１８およびアンテナ２２を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ１１ａは、定期的にフラッシュメモリ１７にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、無線通信モジュール１８およびアンテナ２２を介してネットワークに送信する。また、入出力プロセッサ１１ａは、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ２２および無線通信モジュール１８を介して受信し、受信したデータをフラッシュメモリ１７に記憶する。ＣＰＵ１０はゲームプログラムを実行することにより、フラッシュメモリ１７に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ１７には、ゲーム装置３と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置３を利用してプレイしたゲームのセーブデータ（ゲームの結果データまたは途中データ）が記憶されてもよい。
【００５８】
また、入出力プロセッサ１１ａは、コントローラ７から送信される操作データをアンテナ２３および無線コントローラモジュール１９を介して受信し、内部メインメモリ１１ｅまたは外部メインメモリ１２のバッファ領域に記憶（一時記憶）する。
【００５９】
さらに、入出力プロセッサ１１ａには、拡張コネクタ２０およびメモリカード用コネクタ２１が接続される。拡張コネクタ２０は、ＵＳＢやＳＣＳＩのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール１８に替えてネットワークとの通信を行ったりすることができる。メモリカード用コネクタ２１は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ１１ａは、拡張コネクタ２０やメモリカード用コネクタ２１を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【００６０】
ゲーム装置３には、電源ボタン２４、リセットボタン２５、およびイジェクトボタン２６が設けられる。電源ボタン２４およびリセットボタン２５は、システムＬＳＩ１１に接続される。電源ボタン２４がオンにされると、ゲーム装置３の各構成要素に対して、図示しないＡＣアダプタを経て電源が供給される。また、一旦電源がオンにされた状態で、再度電源ボタン２４を押すと、低電力スタンバイモードへの移行が行われる。この状態でも、ゲーム装置３への通電は行われているため、インターネット等のネットワークに常時接続しておくことができる。なお、一旦電源がオンにされた状態で、電源をオフにしたいときは、電源ボタン２４を所定時間以上長押しすることで、電源をオフとすることが可能である。リセットボタン２５が押されると、システムＬＳＩ１１は、ゲーム装置３の起動プログラムを再起動する。イジェクトボタン２６は、ディスクドライブ１４に接続される。イジェクトボタン２６が押されると、ディスクドライブ１４から光ディスク４が排出される。
【００６１】
次に、図３および図４を参照して、コントローラ７について説明する。なお、図３は、コントローラ７の上面後方から見た斜視図である。図４は、コントローラ７を下面前方から見た斜視図である。
【００６２】
図３および図４において、コントローラ７は、ハウジング７１と、当該ハウジング７１の表面に設けられた複数個の操作ボタンで構成される操作部７２とを備える。本実施例のハウジング７１は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさであり、例えばプラスチック成型によって形成されている。
【００６３】
ハウジング７１上面の中央前面側に、十字キー７２ａが設けられる。この十字キー７２ａは、十字型の４方向プッシュスイッチであり、４つの方向（前後左右）に対応する操作部分が十字の突出片にそれぞれ９０°間隔で配置される。プレイヤが十字キー７２ａのいずれかの操作部分を押下することによって前後左右いずれかの方向を選択される。例えばプレイヤが十字キー７２ａを操作することによって、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、複数の選択肢から選択指示したりすることができる。
【００６４】
なお、十字キー７２ａは、上述したプレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、十字方向に４つのプッシュスイッチを配設し、プレイヤによって押下されたプッシュスイッチに応じて操作信号を出力する操作部を設けてもかまわない。さらに、上記４つのプッシュスイッチとは別に、上記十字方向が交わる位置にセンタスイッチを配設し、４つのプッシュスイッチとセンタスイッチとを複合した操作部を設けてもかまわない。また、ハウジング７１上面から突出した傾倒可能なスティック（いわゆる、ジョイスティック）を倒すことによって、傾倒方向に応じて操作信号を出力する操作部を上記十字キー７２ａの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー７２ａの代わりに設けてもかまわない。また、タッチパッドを、上記十字キー７２ａの代わりに設けてもかまわない。
【００６５】
ハウジング７１上面の十字キー７２ａより後面側に、複数の操作ボタン７２ｂ〜７２ｇが設けられる。操作ボタン７２ｂ〜７２ｇは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン７２ｂ〜７２ｇに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン７２ｂ〜７２ｄには、１番ボタン、２番ボタン、およびＡボタン等としての機能が割り当てられる。また、操作ボタン７２ｅ〜７２ｇには、マイナスボタン、ホームボタン、およびプラスボタン等としての機能が割り当てられる。これら操作ボタン７２ａ〜７２ｇは、ゲーム装置３が実行するゲームプログラムに応じてそれぞれの操作機能が割り当てられる。なお、図３に示した配置例では、操作ボタン７２ｂ〜７２ｄは、ハウジング７１上面の中央前後方向に沿って並設されている。また、操作ボタン７２ｅ〜７２ｇは、ハウジング７１上面の左右方向に沿って操作ボタン７２ｂおよび７２ｄの間に並設されている。そして、操作ボタン７２ｆは、その上面がハウジング７１の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【００６６】
また、ハウジング７１上面の十字キー７２ａより前面側に、操作ボタン７２ｈが設けられる。操作ボタン７２ｈは、遠隔からゲーム装置３本体の電源をオン／オフする電源スイッチである。この操作ボタン７２ｈも、その上面がハウジング７１の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【００６７】
また、ハウジング７１上面の操作ボタン７２ｃより後面側に、複数のＬＥＤ７０２が設けられる。ここで、コントローラ７は、他のコントローラ７と区別するためにコントローラ種別（番号）が設けられている。例えば、ＬＥＤ７０２は、コントローラ７に現在設定されている上記コントローラ種別をプレイヤに通知するために用いられる。具体的には、コントローラ７からゲーム装置３へ送信データを送信する際、上記コントローラ種別に応じて複数のＬＥＤ７０２のうち、種別に対応するＬＥＤが点灯する。
【００６８】
また、ハウジング７１上面には、操作ボタン７２ｂおよび操作ボタン７２ｅ〜７２ｇの間に後述するスピーカ（図５のスピーカ７０６）からの音を外部に放出するための音抜き孔が形成されている。
【００６９】
一方、ハウジング７１下面には、凹部が形成されている。後述で明らかとなるが、ハウジング７１下面の凹部は、プレイヤがコントローラ７の前面をマーカ８Ｌおよび８Ｒに向けて片手で把持したときに、当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の傾斜面には、操作ボタン７２ｉが設けられる。操作ボタン７２ｉは、例えばＢボタンとして機能する操作部である。
【００７０】
また、ハウジング７１前面には、撮像情報演算部７４の一部を構成する撮像素子７４３が設けられる。ここで、撮像情報演算部７４は、コントローラ７が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大２００フレーム／秒程度のサンプリング周期であるため比較的高速なコントローラ７の動きでも追跡して解析することができる。この撮像情報演算部７４の詳細な構成については、後述する。また、ハウジング７１の後面には、コネクタ７３が設けられている。コネクタ７３は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
【００７１】
ここで、以下の説明を具体的にするために、コントローラ７に対して設定する座標系について定義する。図３および図４に示すように、互いに直交するｘｙｚ軸をコントローラ７に対して定義する。具体的には、コントローラ７の前後方向となるハウジング７１の長手方向をｚ軸とし、コントローラ７の前面（撮像情報演算部７４が設けられている面）方向をｚ軸正方向とする。また、コントローラ７の上下方向をｙ軸とし、ハウジング７１の上面（操作ボタン７２ａ等が設けられた面）方向をｙ軸正方向とする。さらに、コントローラ７の左右方向をｘ軸とし、ハウジング７１の左側面（図３では表されずに図４で表されている側面）方向をｘ軸正方向とする。
【００７２】
次に、図５および図６を参照して、コントローラ７の内部構造について説明する。なお、図５は、コントローラ７の上ハウジング（ハウジング７１の一部）を外した状態を後面側から見た斜視図である。図６は、コントローラ７の下ハウジング（ハウジング７１の一部）を外した状態を前面側から見た斜視図である。ここで、図６に示す基板７００は、図５に示す基板７００の裏面から見た斜視図となっている。
【００７３】
図５において、ハウジング７１の内部には基板７００が固設されており、当該基板７００の上主面上に操作ボタン７２ａ〜７２ｈ、加速度センサ７０１、ＬＥＤ７０２、およびアンテナ７５４等が設けられる。そして、これらは、基板７００等に形成された配線（図示せず）によってマイコン７５１等（図６、図７参照）に接続される。マイコン７５１は、操作ボタン７２ａ等の種類に応じた操作データを発生させるように機能する。この仕組みは公知技術であるが、例えばキートップ下側に配置されたタクトスイッチなどのスイッチ機構による配線の接触／切断をマイコン７５１が検出することによって実現されている。より具体的には、操作ボタンが例えば押されると配線が接触して通電するので、この通電がどの操作ボタンにつながっている配線で発生したかをマイコン７５１が検出し、操作ボタンの種類に応じた信号を発生させている。
【００７４】
また、コントローラ７は、無線モジュール７５３（図７参照）およびアンテナ７５４によって、ワイヤレスコントローラとして機能する。なお、ハウジング７１内部には図示しない水晶振動子が設けられており、後述するマイコン７５１の基本クロックを生成する。また、基板７００の上主面上に、スピーカ７０６およびアンプ７０８が設けられる。また、加速度センサ７０１は、操作ボタン７２ｄの左側の基板７００上（つまり、基板７００の中央部ではなく周辺部）に設けられる。したがって、加速度センサ７０１は、コントローラ７の長手方向を軸とした回転に応じて、重力加速度の方向変化に加え、遠心力による成分の含まれる加速度を検出することができるので、所定の演算により、検出される加速度データからコントローラ７の回転を良好な感度でゲーム装置３等が判定することができる。
【００７５】
一方、図６において、基板７００の下主面上の前端縁に撮像情報演算部７４が設けられる。撮像情報演算部７４は、コントローラ７の前方から順に赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４によって構成されており、それぞれ基板７００の下主面に取り付けられる。また、基板７００の下主面上の後端縁にコネクタ７３が取り付けられる。さらに、基板７００の下主面上にサウンドＩＣ７０７およびマイコン７５１が設けられている。サウンドＩＣ７０７は、基板７００等に形成された配線によってマイコン７５１およびアンプ７０８と接続され、ゲーム装置３から送信されたサウンドデータに応じてアンプ７０８を介してスピーカ７０６に音声信号を出力する。
【００７６】
そして、基板７００の下主面上には、バイブレータ７０４が取り付けられる。バイブレータ７０４は、例えば振動モータやソレノイドである。バイブレータ７０４は、基板７００等に形成された配線によってマイコン７５１と接続され、ゲーム装置３から送信された振動データに応じてその作動をオン／オフする。バイブレータ７０４が作動することによってコントローラ７に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。ここで、バイブレータ７０４は、ハウジング７１のやや前方寄りに配置されるため、プレイヤが把持している状態において、ハウジング７１が大きく振動することになり、振動を感じやすくなる。
【００７７】
次に、図７を参照して、コントローラ７の内部構成について説明する。なお、図７は、コントローラ７の構成を示すブロック図である。
【００７８】
図７において、コントローラ７は、上述した操作部７２、撮像情報演算部７４、加速度センサ７０１、バイブレータ７０４、スピーカ７０６、サウンドＩＣ７０７、およびアンプ７０８の他に、その内部に通信部７５を備えている。
【００７９】
撮像情報演算部７４は、赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４を含んでいる。赤外線フィルタ７４１は、コントローラ７の前方から入射する光から赤外線のみを通過させる。レンズ７４２は、赤外線フィルタ７４１を透過した赤外線を集光して撮像素子７４３へ出射する。撮像素子７４３は、例えばＣＭＯＳセンサやあるいはＣＣＤのような固体撮像素子であり、レンズ７４２が集光した赤外線を撮像する。したがって、撮像素子７４３は、赤外線フィルタ７４１を通過した赤外線だけを撮像して画像データを生成する。撮像素子７４３で生成された画像データは、画像処理回路７４４で処理される。具体的には、画像処理回路７４４は、撮像素子７４３から得られた画像データを処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部７５へ出力する。なお、これらの撮像情報演算部７４は、コントローラ７のハウジング７１に固設されており、ハウジング７１自体の方向を変えることによってその撮像方向を変更することができる。この撮像情報演算部７４から出力される処理結果データに基づいて、コントローラ７の位置や動きに応じた信号を得ることができる。
【００８０】
コントローラ７は、３軸（ｘ、ｙ、ｚ軸）の加速度センサ７０１を備えていることが好ましい。この３軸の加速度センサ７０１は、３方向、すなわち、上下方向、左右方向、および前後方向で直線加速度を検知する。また、他の実施形態においては、ゲーム処理に用いる制御信号の種類によっては、上下および左右方向（または他の対になった方向）のそれぞれに沿った直線加速度のみを検知する２軸の加速度検出手段を使用してもよい。例えば、この３軸または２軸の加速度センサ７０１は、アナログ・デバイセズ株式会社（Ａｎａｌｏｇ  Ｄｅｖｉｃｅｓ，  Ｉｎｃ．）またはＳＴマイクロエレクトロニクス社（ＳＴＭｉｃｒｏｅｌｅｃｔｒｏｎｉｃｓ  Ｎ．Ｖ．）から入手可能であるタイプのものでもよい。加速度センサ７０１は、シリコン微細加工されたＭＥＭＳ（Ｍｉｃｒｏ  Ｅｌｅｃｔｒｏ  Ｍｅｃｈａｎｉｃａｌ  Ｓｙｓｔｅｍｓ：微小電子機械システム）の技術に基づいた静電容量式（静電容量結合式）であってもよい。しかしながら、既存の加速度検出手段の技術（例えば、圧電方式や圧電抵抗方式）あるいは将来開発される他の適切な技術を用いて３軸または２軸の加速度センサ７０１が提供されてもよい。
【００８１】
当業者には公知であるように、加速度センサ７０１に用いられるような加速度検出手段は、加速度センサの持つ各軸に対応する直線に沿った加速度（直線加速度）のみを検知することができる。つまり、加速度センサ７０１からの直接の出力は、その２軸または３軸のそれぞれに沿った直線加速度（静的または動的）を示す信号である。このため、加速度センサ７０１は、非直線状（例えば、円弧状）の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。
【００８２】
しかしながら、加速度センサ７０１から出力される加速度の信号に基づいて、ゲーム装置のプロセッサ（例えばＣＰＵ１０）またはコントローラのプロセッサ（例えばマイコン７５１）などのコンピュータが処理を行うことによって、コントローラ７に関するさらなる情報を推測または算出（判定）することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサを搭載するコントローラが静的な状態であることを前提としてコンピュータ側で処理する場合（すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理する場合）、コントローラが現実に静的な状態であれば、検出された加速度に基づいてコントローラの姿勢が重力方向に対して傾いているか否か又はどの程度傾いているかを知ることができる。具体的には、加速度センサの検出軸が鉛直下方向を向いている状態を基準としたとき、１Ｇ（重力加速度）がかかっているか否かだけで傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかも知ることができる。また、多軸の加速度センサの場合には、さらに各軸の加速度の信号に対して処理を施すことによって、各軸が重力方向に対してどの程度傾いているかをより詳細に知ることができる。この場合において、加速度センサ７０１からの出力に基づいて、プロセッサがコントローラ７の傾き角度のデータを算出する処理をおこなってもよいが、当該傾き角度のデータを算出する処理をおこなうことなく、加速度センサ７０１からの出力に基づいて、おおよその傾き具合を推定するような処理としてもよい。このように、加速度センサ７０１をプロセッサと組み合わせて用いることによって、コントローラ７の傾き、姿勢または位置を判定することができる。一方、加速度センサが動的な状態であることを前提とする場合には、重力加速度成分に加えて加速度センサの動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、動き方向などを知ることができる。具体的には、加速度センサ７０１を備えるコントローラ７がユーザの手で動的に加速されて動かされる場合に、加速度センサ７０１によって生成される加速度信号を処理することによって、コントローラ７のさまざまな動きおよび／または位置を算出することができる。なお、加速度センサが動的な状態であることを前提とする場合であっても、加速度センサの動きに応じた加速度を所定の処理により除去すれば、重力方向対する傾きを知ることが可能である。他の実施例では、加速度センサ７０１は、信号をマイコン７５１に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサが静的な加速度（例えば、重力加速度）を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角（あるいは、他の好ましいパラメータ）に変換するものであってもよい。
【００８３】
他の実施形態の例では、コントローラ７の動きを検出する動きセンサとして、回転素子または振動素子などを内蔵したジャイロセンサを用いてもよい。この実施形態で使用されるＭＥＭＳジャイロセンサの一例として、アナログ・デバイセズ株式会社から入手可能なものがある。加速度センサ７０１と異なり、ジャイロセンサは、それが内蔵する少なくとも一つのジャイロ素子の軸を中心とした回転（または角速度）を直接検知することができる。このように、ジャイロセンサと加速度センサとは基本的に異なるので、個々の用途のためにいずれの装置が選択されるかによって、これらの装置からの出力信号に対して行う処理を適宜変更する必要がある。
【００８４】
具体的には、加速度センサの代わりにジャイロセンサを用いて傾きや姿勢を算出する場合には、大幅な変更を行う。すなわち、ジャイロセンサを用いる場合、検出開始の状態において傾きの値を初期化する。そして、当該ジャイロセンサから出力される角速度データを積分する。次に、初期化された傾きの値からの傾きの変化量を算出する。この場合、算出される傾きは、角度に対応する値が算出されることになる。一方、加速度センサによって傾きを算出する場合には、重力加速度のそれぞれの軸に関する成分の値を、所定の基準と比較することによって傾きを算出するので、算出される傾きはベクトルで表すことが可能であり、初期化を行わずとも、加速度検出手段を用いて検出される絶対的な方向を検出することが可能である。また、傾きとして算出される値の性質は、ジャイロセンサが用いられる場合には角度であるのに対して、加速度センサが用いられる場合にはベクトルであるという違いがある。したがって、加速度センサに代えてジャイロセンサが用いられる場合、当該傾きのデータに対して、２つのデバイスの違いを考慮した所定の変換を行う必要がある。加速度検出手段とジャイロセンサとの基本的な差異と同様にジャイロセンサの特性は当業者に公知であるので、本明細書ではさらなる詳細を省略する。ジャイロセンサは、回転を直接検知できることによる利点を有する一方、一般的には、加速度センサは、本実施形態で用いるようなコントローラに適用される場合、ジャイロセンサに比べて費用効率が良いという利点を有する。
【００８５】
通信部７５は、マイクロコンピュータ（Ｍｉｃｒｏ  Ｃｏｍｐｕｔｅｒ：マイコン）７５１、メモリ７５２、無線モジュール７５３、およびアンテナ７５４を含んでいる。マイコン７５１は、処理の際にメモリ７５２を記憶領域として用いながら、送信データを無線送信する無線モジュール７５３を制御する。また、マイコン７５１は、アンテナ７５４を介して無線モジュール７５３が受信したゲーム装置３からのデータに応じて、サウンドＩＣ７０７およびバイブレータ７０４の動作を制御する。サウンドＩＣ７０７は、通信部７５を介してゲーム装置３から送信されたサウンドデータ等を処理する。また、マイコン７５１は、通信部７５を介してゲーム装置３から送信された振動データ（例えば、バイブレータ７０４をＯＮまたはＯＦＦする信号）等に応じて、バイブレータ７０４を作動させる。
【００８６】
コントローラ７に設けられた操作部７２からの操作信号（キーデータ）、加速度センサ７０１からの加速度信号（ｘ、ｙ、およびｚ軸方向加速度データ；以下、単に加速度データと記載する）、および撮像情報演算部７４からの処理結果データは、マイコン７５１に出力される。マイコン７５１は、入力した各データ（キーデータ、加速度データ、処理結果データ）を無線コントローラモジュール１９へ送信する送信データとして一時的にメモリ７５２に格納する。ここで、通信部７５から無線コントローラモジュール１９への無線送信は、所定の周期毎に行われるが、ゲームの処理は１／６０秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は１６．７ｍｓ（１／６０秒）であり、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）で構成される通信部７５の送信間隔は例えば５ｍｓである。マイコン７５１は、無線コントローラモジュール１９への送信タイミングが到来すると、メモリ７５２に格納されている送信データを一連の操作情報として出力し、無線モジュール７５３へ出力する。そして、無線モジュール７５３は、例えばブルートゥースの技術に基づいて、所定周波数の搬送波を用いて操作情報で変調し、その電波信号をアンテナ７５４から放射する。つまり、コントローラ７に設けられた操作部７２からのキーデータ、加速度センサ７０１からの加速度データ、および撮像情報演算部７４からの処理結果データが無線モジュール７５３で電波信号に変調されてコントローラ７から送信される。そして、ゲーム装置３の無線コントローラモジュール１９でその電波信号を受信し、ゲーム装置３で当該電波信号を復調や復号することによって、一連の操作情報（キーデータ、加速度データ、および処理結果データ）を取得する。そして、ゲーム装置３のＣＰＵ１０は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、ブルートゥースの技術を用いて通信部７５を構成する場合、通信部７５は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
【００８７】
次に、本実施形態が想定しているゲームおよび本実施形態にかかる処理の概要について説明する。図８は、本実施形態が想定するゲームの画面の一例である。本実施形態で想定するゲームでは、図９に示すように、３次元仮想ゲーム空間（以下、単に仮想ゲーム空間と呼ぶ）内に島を構築しており、この島内をプレイヤオブジェクトが自由に移動できるゲームである。基本的なゲーム画面としては、上記図８に示したように、プレイヤオブジェクト１０１の後方に配置された仮想カメラで仮想ゲーム空間を撮影した様子が表示される。そして、この画面の右下には、円系の領域１０２が表示されている。当該領域１０２には、当該仮想ゲーム空間を真上から鳥瞰したマップが表示されている。以下、このマップのことを本実施形態では鳥瞰マップと呼ぶ（なお、当該マップは、ゲームによっては、「縮小マップ」、「レーダー画面」、「２次元マップ」等とも呼ばれることもある）。そして、プレイヤは、当該鳥瞰マップを参考にすることで、プレイヤオブジェクト１０１の周辺の地形等の、周囲の状況の確認が容易になる。本発明は、この鳥瞰マップの生成・表示に関するものである。
【００８８】
本実施形態で説明する鳥瞰マップについての処理は、大きく２段階のプロセスに分けられる。１つめのプロセスは、鳥瞰マップの元となるリソース生成のためのプロセスであり、本実施形態では、ゲームの開発段階で実行される処理である。ここで、当該リソース生成については、上記島を構成する各種地形オブジェクトを配置した仮想ゲーム空間を仮想カメラで上方向から（鳥瞰するように）撮影し、当該撮影した画像のデータを鳥瞰マップのリソースとするものである。もう一つのプロセスは、上記生成されたリソースを用いて鳥瞰マップを生成してゲーム画面に表示するためのプロセスである。このプロセスは、プレイヤがゲームをプレイする際のゲーム処理の一環として（つまり、製品完成後の段階、ゲーム処理の実行段階）実行されるプロセスである。
【００８９】
次に、上記２つのプロセスの概要について説明する。まず、ゲーム開発段階で実行される、鳥瞰マップのリソース生成処理の概要を説明する。まず、概念的に、上記図９で示したような、仮想ゲーム空間を仮想カメラで真上から撮影したような鳥瞰画像を想定する。更に、図１０に示すように、当該画像を所定の大きさの正方形（例えば、６４×６４ピクセルや１２８×１２８ピクセルの正方形。以下、セルと呼ぶ）で区切った画像を想定する（換言すれば、当該セルは、鳥瞰した仮想ゲーム空間を所定の大きさ単位で区切ったエリア的な概念である）。そして、これらのセル単位の画像のうち、所定の単一色で構成された画像（例えば、海のオブジェクトを単一色で構成している場合、海面の部分に位置するセルであれば、そのセルの画像は単一の色だけで構成された画像となる。なお、図９や図１０では、島の絵については簡略化して表記しているが、実際は様々な建物や樹、道等が配置されているものとする。）を除き、鳥瞰マップのリソースとして、セルの画像データを保存する。例えば、海面部分に位置するセルの画像はリソースとして保存せず、海面以外の地形が映っているセルの画像だけをリソース化して保存するという処理を行う。また、本実施形態では、セル１つ分の画像に対して１つのファイル名を割り当てた画像ファイルとして保存される（つまり、１セル分の画像＝１ファイル）。以下の説明では、個々のファイルのことを「キャプチャデータ」と呼び、これらのキャプチャデータ群を総称して「リソースデータ」と呼ぶ。
【００９０】
そして、このリソースデータが、製品となるゲームのデータの一部として、例えば、所定の光学ディスクにゲームプログラム等と共に記憶される。これにより、（単一色の部分も含めた）仮想ゲーム空間全体の画像データをリソースとして保存する必要がなく、例えば上記図１０のような例であれば、海の部分をほとんど除いた、島の部分だけの画像データのみをリソースとすることができ、鳥瞰マップのリソースとなるデータの量を削減することができる。
【００９１】
次に、ゲーム実行段階で実行される鳥瞰マップの生成・表示処理の概要を説明する。鳥瞰マップの生成・表示処理では、上述のリソース生成処理で生成されたリソースデータを用いて鳥瞰マップが生成されるが、この際、必要最低限のキャプチャデータだけを読み出すようにする処理が行われる。具体的には、まず、仮想ゲーム空間内におけるプレイヤオブジェクトの位置を基準として、鳥瞰マップとして表示する範囲が決定される。次に、当該鳥瞰マップ範囲に対応する上記セルを抽出する（当該セルのサイズは、上記開発段階で用いたセルと同じサイズである）。つまり、プレイヤオブジェクトのいる位置から遠く離れた位置にあるセルについては、抽出されないような処理が行われる。そして、抽出したセルに対応する鳥瞰マップ領域内の位置に板状のポリゴンが配置され、当該ポリゴンに描画する画像の基となるキャプチャデータ、すなわち、抽出したセルの位置に対応するキャプチャデータを検索する。このとき、上記リソース生成処理において、セルの位置が海面であったような場合は、キャプチャデータは生成されていない。そのため、抽出したセルがこのような海面の位置であった場合、対応するキャプチャデータは存在しないことになる。そのため、本実施形態では、抽出したセルに対応するキャプチャデータが存在すれば、上記板状ポリゴンに当該キャプチャデータで示される画像を描画し、抽出したセルに対応するキャプチャデータが存在しないときは、予め決められている所定の色、本実施形態では、水面の色を上記ポリゴンに描画する（ポリゴンを塗りつぶす）、という処理が行われる。
【００９２】
次に、本実施形態にかかる処理の詳細を説明する。まず、ゲーム開発段階におけるリソース生成処理の際に、ゲーム装置３の外部メインメモリ１２に記憶されるデータについて説明する。図１１は、ゲーム開発段階におけるリソース生成処理の際のゲーム装置３の外部メインメモリ１２のメモリマップを示す図である。図１１において、外部メインメモリ１２は、プログラム記憶領域２０１およびデータ記憶領域２０３を含む。なお、ここではゲーム装置３で実行される例を挙げているが、ゲームの開発機材については、これに限らず、パーソナルコンピュータ等を開発機器として用いてもよい。この場合は、当該パーソナルコンピュータのメモリに図１１に示したようなプログラム、データが記憶される。
【００９３】
プログラム記憶領域２０１は、ＣＰＵ１０によって実行される各種のゲーム開発用プログラムを記憶し、このプログラムの一つとして、リソース生成処理プログラム２０２が記憶されている。
【００９４】
データ記憶領域２０３には、３Ｄ地形モデルデータ２０４、テクスチャデータ２０５、リソースデータ２０６などのデータが記憶される。また、作業領域２０７には、リソース生成処理において用いられる各種変数やフラグが記憶される。
【００９５】
３Ｄ地形モデルデータ２０４は、仮想ゲーム空間内に配置される各種地形ポリゴンを構成する頂点の座標データである。テクスチャデータ２０５は、上記３Ｄ地形モデルデータ２０４に基づいて生成されるポリゴンにテクスチャを設定するためのものであり、図示は省略するが、テクスチャ指示データとテクスチャカラーデータとからなっている。テクスチャ指示データはポリゴンとテクスチャとを対応づけるためのデータであり、テクスチャカラーデータはテクスチャの色を指定するためのデータである。
【００９６】
リソースデータ２０６は、鳥瞰マップ生成の際に用いられる画像データ群であり、リソース生成処理によって生成される。リソースデータ２０６は、複数のキャプチャデータ２０８で構成される。キャプチャデータ２０８は、鳥瞰マップのリソースとして保存された、上記セル単位の鳥瞰画像データである。また、当該画像のサイズは上記セルの大きさに一致する。例えば、セルのサイズが６４×６４ピクセルの場合は、画像のサイズも６４ピクセル×６４ピクセルである。ここで、本実施形態では、各キャプチャデータ２０８にはファイル名が付けられて管理され、当該ファイル名は、以下のような命名方法を用いて設定される。すなわち、上記セルに対応する仮想ゲーム空間内の領域の中心座標（上記図１０を例にすると、（ｘ、ｚ）の２次元座標で示される）をファイル名に取り入れる。また、正負の区別をつけた座標値を用いる場合は、座標値が正なら”ｐ”、負なら”ｍ”をファイル名に取り入れる。例えば、あるセルの中心に対応する仮想ゲーム空間内の座標（ｘ、ｚ）が（３２，３２）である場合は、キャプチャデータ２０８のファイル名は、例えば「map_p32_p32.xxx」（xxxは任意の拡張子）となる。また、座標が（−６４、１２８）の場合は、例えば、「map_m64_p128.xxx」となる。
【００９７】
次に、ゲーム実行段階におけるゲーム装置３の外部メインメモリ１２に記憶されるデータについて説明する。図１２は、ゲーム実行段階におけるゲーム処理の際のゲーム装置３の外部メインメモリ１２のメモリマップを示す図である。図１２において、外部メインメモリ１２は、プログラム記憶領域３０１およびデータ記憶領域３０４を含む。プログラム記憶領域３０１およびデータ記憶領域３０４のデータは、光ディスク４に記憶され、ゲームプログラム実行時には外部メインメモリ１２に転送されて記憶される。
【００９８】
プログラム記憶領域３０１は、ＣＰＵ１０によって実行されるゲームプログラムを記憶し、このゲームプログラムは、ゲームメイン処理プログラム３０２と、鳥瞰マップ生成・表示プログラム３０３などによって構成される。ゲームメイン処理プログラム３０２は、本実施形態にかかるゲーム処理の全体を制御するためのプログラムである。鳥瞰マップ生成・表示プログラム３０３は、ゲームメイン処理プログラム３０２から呼び出されるプログラムであり、鳥瞰マップを生成・表示するためのプログラムである。
【００９９】
データ記憶領域３０４には、ゲームメインデータ３０５、鳥瞰マップ用データ３０９が記憶される。また、作業領域３１３には、セル配列データ３１２、レイアウト用鳥瞰マップ画像データ３１４の他、ゲーム処理において用いられる各種変数やフラグが記憶される。
【０１００】
ゲームメインデータ３０５は、仮想ゲーム空間を構築するための３Ｄ地形モデルデータ３０６、および、テクスチャデータ３０７、プレイヤオブジェクト等の各種オブジェクトの基となるオブジェクトデータ３０８を含む。その他、ゲーム処理に用いられる音声データ等の各種データも記憶される。
【０１０１】
鳥瞰マップ用データ３０９は、リソースデータ３１０、追加アイコンデータ３１１を含む。リソースデータ３１０は、上記リソース作成処理で生成されたデータであり、複数のキャプチャデータ３１５を含んでいる。リソースデータ３１０は、上記ゲーム開発段階において生成されたリソースデータ２０６が製品版のゲームのデータの一部として記憶されたものであり、その構成・内容は、上記リソースデータ２０６と同様である。
【０１０２】
追加アイコンデータ３１１は、リソースデータ３１０に基づいて生成された鳥瞰マップ画像に対して更に追加的に描画されるアイコン等の画像データである。例えば、プレイヤオブジェクト１０１の目的地を示す旗のアイコンの画像のデータなどである。
【０１０３】
セル配列データ３１２は、上記図１０等で示したように２次元配列状に並んだセル（つまり、リソース生成処理時に用いられたセル）に関する情報を示すデータである。図１３は、セル配列データ３１２のデータ構造の一例を示した図である。当該データは、後述するゲーム処理の実行開始時（つまり、ゲーム実行段階）に、例えば初期化処理の一環として、上記キャプチャデータ３１５を全て探索することで生成されるデータである。セル配列データ３１２は、セル番号３１２１とｘ座標３１２２とｚ座標３１２３と、リソース有無フラグ３１２４の集合から構成される。セル番号３１２１は、各セルを一意に識別するために付される番号であり、本実施形態では、例えば図１０を例にすると、左上から右下に向けて走査するような順番で、０から順に番号が割り振られていくものとする（なお、セル番号３１２１については、この他、２次元配列要素（ｘ座標、ｙ座標）として示すようにしてもよい）。次に、ｘ座標３１２２、および、ｚ座標３１２３は、各セルに対応する仮想ゲーム空間内の位置（ｘ座標、ｚ座標）を示す情報である（上記キャプチャデータ２０８および３１５のファイル名で示される座標と対応する）。また、リソース有無フラグ３１２４は、各セルに対応するリソース（キャプチャデータ３１５）の有無を示す情報である。対応リソースがある場合は”１”、対応リソースが無い場合は”０”が設定される。なお、本実施形態では、セルのサイズは６４×６４ピクセルとして説明する。
【０１０４】
図１２に戻り、レイアウト用鳥瞰マップ画像データ３１４は、後述する処理で作成された鳥瞰マップの画像のみをスクリーンキャプチャすることで得られる画像データである。メインとなるゲーム画面（３Ｄで描かれた画像）に当該画像データを適宜合成することで、最終的なゲーム画面が生成され、テレビ２に表示される。
【０１０５】
次に、本実施形態にかかる処理の詳細について説明する。まず、図１４〜図１９を参照して、リソース生成処理の詳細について説明する。図１４は、鳥瞰マップリソース生成処理の詳細を示すフローチャートである。当該処理は、ゲーム開発段階において、開発者の手により適宜実行が開始される。また、本実施形態においては、仮想ゲーム空間内における海（水面）の色は単一の色で構成されているとする。
【０１０６】
図１４において、まず、ステップＳ１で、作業用の描画領域である作業用スクリーン（フレームバッファに確保される）を所定色でクリアする（所定色で塗りつぶす）処理が実行される（以下、この色をクリア色と呼ぶ）。当該スクリーンのサイズはゲーム画面として描画されるのと同じサイズである。
【０１０７】
次に、ステップＳ２において、３Ｄ地形モデルデータ２０４、テクスチャデータ２０５を読み出し、仮想ゲーム空間が生成される。但し、このとき、海のマテリアルについては描画しないようにする。次に、ステップＳ３において、仮想カメラの設定について、正射影で撮影するような設定がなされる。
【０１０８】
次に、ステップＳ４において、仮想カメラを上記図１０で示したような各セルの位置に合わせて移動させる。ここで、当該仮想カメラの移動の詳細について説明する。まず、仮想カメラの高さについては、図１５に示すように、仮想ゲーム空間を鳥瞰できるような位置、つまり、仮想ゲーム空間を真上から見下ろせるような高さに移動させる。そして、高さはそのままに、上記図１０で示したようなセルの位置に合わせるように仮想カメラをスライドさせる。例えば、本リソース生成処理開始後、初めて本ステップの処理が行われるときは、所定の撮影開始位置、ここでは、図１６に示すように、最も左上のセル１１１の位置に仮想カメラが来るように移動させる。より正確には、セル１１１の中心座標が仮想カメラの撮影範囲の中心と一致するような位置となるよう移動させる。
【０１０９】
ここで、本実施形態では、セルのサイズを上記のように６４×６４ピクセルとして説明している。一方、仮想カメラで撮影される画像の大きさは、ゲーム画面として表示されるスクリーンのサイズとなる。そのため、当該仮想カメラで撮影した画像（つまり、撮影範囲）は、図１６の枠１１２で示される範囲の画像となる。そして、二度目以降の本ステップの処理では、上述したように、セル単位で走査するように仮想カメラが移動される。例えば、二度目の処理の場合は、図１７に示すように、上記一番左上のセル１１１の右隣のセル１１３の中心位置に仮想カメラの撮影範囲の中心が合うように仮想カメラをスライドさせることになる。また、最右端のセルまで走査したときは、最左端のセルの下隣のセルの中心位置にカメラの撮影範囲の中心が合うように移動させる。例えば、上記図１７を例にすれば、１行目の右端のセルまで走査し終わったときは、次は２行目の最右端にセルの位置に仮想カメラを移動させる。その結果、仮想カメラで撮影される範囲は枠１１４で示される範囲となる。
【０１１０】
図１４に戻り、次に、ステップＳ５において、仮想カメラで仮想ゲーム空間を撮影し、当該撮影した画像からセル範囲の画像を取得する処理が実行される。例えば、本ステップの初回実行時であれば、図１８に示すように、上記枠１１２のサイズで撮影された画像１１５が作業領域２０７に保存され、更に、当該画像から、上記セルの範囲の画像（以下、セル画像と呼ぶ）１１６が抽出される。
【０１１１】
図１４に戻り、次に、ステップＳ６において、当該セル画像１１６の全てのピクセルが上記クリア色であるか否かが判定される。つまり、リソース化すべきセル画像とリソース化しないセル画像の振り分けが行われる。本実施形態の例でいえば、上述のように、海の部分が描画されていない仮想ゲーム空間を真上から見たような鳥瞰画像が撮影されるため、海面の部分に相当するセルの画像はクリア色一色の画像となる。当該判定の結果、全てのピクセルが上記クリア色であると判定されたときは（ステップＳ６でＹＥＳ）、当該セル画像はリソース化しないため、処理はステップＳ８に進められる。一方、セル画像にクリア色以外の色がついているピクセルがあると判定されたときは（ステップＳ６でＮＯ）、当該セル画像をリソース化するため、当該セル画像を上記キャプチャデータ２０８として保存する。例えば、図１９に示すように、セル内の一部に地形が映っているような画像は、キャプチャデータ２０８として保存される対象となる。また、この保存の際、上述したように、キャプチャデータ２０８のファイル名に当該セルの中心座標を反映させてものを命名して保存する。
【０１１２】
図１４に戻り、次に、ステップＳ８において、上記図１０で示したような全てのセルについて、上述したようなセル画像の撮影〜振り分けの処理が行われたか否かが判定される。その結果、まだ未処理のセルが残っていると判定されたときは（ステップＳ８でＮＯ）、上記ステップＳ４に戻り、処理が繰り返される。すなわち、次のセルの位置に仮想カメラが移動されて、セル画像の撮影〜振り分けの処理が行われる。一方、全てのセルについて処理が終わっていると判定されたときは（ステップＳ８でＹＥＳ）、当該リソース生成処理は終了する。
【０１１３】
次に、図２０〜図２７を参照して、ゲーム装置３によって実行される鳥瞰マップ生成・表示処理の詳細について説明する。ゲーム装置３の電源が投入されると、ゲーム装置３のＣＰＵ１０は、ＲＯＭ／ＲＴＣ１３に記憶されている起動プログラムを実行し、これによって外部メインメモリ１２等の各ユニットが初期化される。そして、光ディスク４に記憶されたゲームプログラムが外部メインメモリ１２に読み込まれ、ＣＰＵ１０によってゲームプログラムの実行が開始される。このゲームプログラムの一環として、鳥瞰マップ生成・表示処理が実行される。また、鳥瞰マップ生成・表示処理の実行に先立って、上述したようなセル配列データ３１２がリソースデータ３１０に基づいて生成されて、作業領域３１３に記憶される。図２０に示すフローチャートは、鳥瞰マップ生成表示処理を示すフローチャートである。また、当該フローチャートで示す処理は、１フレーム毎に繰り返し実行される。なお、本願発明とは直接関連しない他のゲーム処理については説明を省略する。
【０１１４】
図２０において、まず、ステップＳ２１で、仮想ゲーム空間内に存在するプレイヤオブジェクト１０１の位置、および、後述の拡大率に基づき、鳥瞰マップとして表示される仮想ゲーム空間内の範囲（以下、鳥瞰マップ範囲と呼ぶ）が決定される。本実施形態では、鳥瞰マップとして表示される範囲は、図２１に示すように、プレイヤオブジェクト１０１の位置を中心とした円状の範囲（以下、鳥瞰マップ範囲と呼ぶ）１３１である。そのため、ここでは、鳥瞰マップ範囲１３１の中心に対応する仮想ゲーム空間の位置（座標）が決定される。また、このとき、フレームバッファ内において、図２２に示すように、当該鳥瞰マップを描画するための領域１４１（以下、鳥瞰マップ描画領域）が確保される（但し、この時点では鳥瞰マップの位置は仮の位置である）。
【０１１５】
また、上記鳥瞰マップ範囲１３１となる円の半径（直径でも良い）については、拡大率に応じて決定される。本実施形態では、鳥瞰マップとして表示される仮想ゲーム空間内の範囲を拡大・縮小することが可能であり、拡大率とは、この範囲を決定するためのパラメータである。なお、ここでいう「拡大」とは、プレイヤが認識できる範囲が拡大するという意味である。そのため、拡大率を高く設定した場合、鳥瞰マップ内の画像は、より広い範囲が表示されることとなり、最大の拡大率に設定した場合は、島の全体像が認識できるような表示となる（図２３（Ａ）参照）。一方、拡大率を低く設定した場合は、プレイヤオブジェクトの周辺のみが認識できるような表示となる（図２３（Ｂ）参照）。なお、拡大率については、ゲーム中にプレイヤによる所定の操作で変更可能である。そして、当該拡大率に応じて、上記鳥瞰マップ範囲１３１の大きさも決定されることになる。
【０１１６】
図２０に戻り、次に、ステップＳ２２において、仮想ゲーム空間内においてプレイヤオブジェクトが向いている方向に応じて、鳥瞰マップの向きが決定される。ここで、本実施形態では、鳥瞰マップの上方向が、プレイヤオブジェクト１０１の向いている方向（例えば、仮想ゲーム空間内における東西南北を基準とする方位で示される）と一致するように表示される。例えば、プレイヤオブジェクト１０１が向いている方向が仮想ゲーム空間内における「南」の方角であれば、鳥瞰マップの上方向を仮想ゲーム空間内の「南」方向とすることが決定される。
【０１１７】
次に、ステップＳ２３において、上記図１０で示したようなセル（より正確には、セルに対応する仮想ゲーム空間内の領域）から１つが選択される。選択の順番は、本実施形態では、左上のセルから右下に向けて走査していくような順番で選択される。その結果、以下に説明するようなステップＳ２３〜Ｓ３０の処理ループにおいて、１度のループに対して１つのセルが順番に選択されていくことになる。本実施形態では、上記セル配列データ３１２のセル番号３１２１で示される順番に沿って選択される。なお、選択すべきセルの位置、つまり、選択すべき仮想ゲーム空間内の領域の大きさに関しては、上記セル配列データ３１２を用いる方法の他、例えば、セルのサイズを示すデータを予め定義しておき、当該セルのサイズを示すデータを用いて算出するような方法でもよい。本ステップの初回の処理で一番左上のセルが選択されたとき、次の本ステップの処理においては、当該定義されたセルのサイズに基づいて、その右隣のセルの位置が算出され、次に選択すべきセルとして決定されるようにしてもよい。
【０１１８】
次に、ステップＳ２４において、ステップＳ２３で選択されたセル（に対応する仮想ゲーム空間内の領域）が、上記鳥瞰マップ範囲１３１内に含まれるか否かが判定される。ここで、当該処理の段階では、まだ上記フレームバッファ内の鳥瞰マップ描画領域１４１内におけるセルの描画位置（配置位置）が正確に算出されていない状態である。鳥瞰マップ描画領域１４１内におけるセルの描画位置を正確に算出する処理は、この後に実行されることになるが、当該算出にかかる処理コストを削減するために、ステップＳ２４の処理では、明らかに鳥瞰マップ範囲１３１外となるセルを上記算出処理の対象から除外するための判定が行われる。ここで、「明らかに鳥瞰マップ範囲外」というのは、プレイヤオブジェクト１０１の向いている方角にかかわらず、鳥瞰マップ範囲１３１内に含まれないよう場合をいう。例えば、仮想空間内のある位置において、プレイヤオブジェクト１０１が（仮想空間内における）北を向いている場合は鳥瞰マップ範囲１３１に含まれるが、南を向いている場合は鳥瞰マップ範囲１３１に含まれないようなセルについては、この処理では鳥瞰マップ範囲１３１に含まれると判定される（つまり、鳥瞰マップ範囲１３１に含まれる可能性があるセルについては除外しない）。一方、プレイヤオブジェクト１０１の向いている方角が北であっても南であっても、更には、東や西であっても、鳥瞰マップ範囲１３１には含まれないようなセルについては、「明らかに鳥瞰マップ範囲外」のセルと判定される。より具体的には、以下に示す条件式を満たすセルについては鳥瞰マップ範囲１３１外と判定される。
（｜Ｃｅｌｌ＿Ｘ  −  ＰＬ＿Ｘ｜  −  Ｃｅｌｌ＿Ｌｅｎｇ）  ×  拡大率  ＞  鳥瞰マップ範囲の半径
ＡＮＤ
（｜Ｃｅｌｌ＿Ｚ  −  ＰＬ＿Ｚ｜  −  Ｃｅｌｌ＿Ｌｅｎｇ）  ×  拡大率  ＞  鳥瞰マップ範囲の半径
上記条件式において、Ｃｅｌｌ＿Ｘは、セル（に対応する仮想ゲーム空間内の領域）の左上端のＸ座標を示す。Ｃｅｌｌ＿Ｚは、同じくセルの左上端のＺ座標を示す。なお、Ｘ軸、Ｚ軸については、上記図１０を例にすると、縦軸方向をＺ軸、横軸方向をＸ軸とする。また、上方向（Ｚ軸正方向）を北の方角とする。また、ＰＬ＿Ｘ、ＰＬ＿Ｚは、それぞれ仮想ゲーム空間内におけるプレイヤオブジェクトの位置のＸ座標、Ｚ座標を示す。Ｃｅｌｌ＿Ｌｅｎｇは、セルの一辺の長さに対応する仮想ゲーム空間内の距離を示す。なお、拡大率は、上述したような鳥瞰マップの拡大率であり、プレイヤによって予め設定された値である。
【０１１９】
上記ステップＳ２４の判定の結果、ステップＳ２３で選択されたセルが（明らかに）鳥瞰マップ範囲１３１外と判定されたときは（ステップＳ２４でＹＥＳ）、別のセルを選択するために、後述するステップＳ３０に処理が進められる。一方、ステップＳ２３で選択されたセルが鳥瞰マップ範囲１３１内であると判定されたときは（ステップＳ２４でＮＯ）、次に、ステップＳ２５において、鳥瞰マップ描画領域１４１（上記図２２参照）内における当該セルの正確な描画位置（配置位置）が算出される。より具体的には、まず、上記セルに対応する板状のポリゴンが生成される（当該ポリゴンの大きさは、上記拡大率に応じたものとなる）。そして、プレイヤオブジェクト１０１の向きに応じて、当該ポリゴンを回転・移動させる計算が行われることで、上記鳥瞰マップ描画領域１４１内における当該ポリゴンの描画位置（換言すれば、セルの描画位置）が算出される。
【０１２０】
次に、ステップＳ２６において、上記ステップＳ２５で算出されたセルの描画位置が、鳥瞰マップ描画領域１４１内に含まれるか否かが判定される。ここでは、上記ステップＳ２５で鳥瞰マップ描画領域１４１内におけるセルの位置が正確に算出されているため、上記ステップＳ２４の判定においては鳥瞰マップ範囲１３１内にあると判定されたセルであっても、本ステップの判定においては鳥瞰マップ描画領域１４１外と判定されることがあり得る（特に、サイズが小さなセルを用いているような場合）。なお、セルの一部分のみが鳥瞰マップ描画領域１４１内に含まれるようなセルについては、鳥瞰マップ描画領域１４１内にあると判定される。当該判定の結果、鳥瞰マップ描画領域１４１内ではないと判定されたときは（ステップＳ２６でＮＯ）、後述のステップＳ３０に処理が進められる。
【０１２１】
一方、ステップＳ２６の判定の結果、正確に算出したセルの描画位置が鳥瞰マップ描画領域１４１内と判定されたときは（ステップＳ２６でＹＥＳ）、次に、ステップＳ２７において、上記リソース有無フラグ３１２４が参照されて、当該セルに対応するキャプチャデータ３１５が存在するか否かが判定される。すなわち、当該セルに対応するリソース有無フラグ３１２４の値が”１”か否かが判定される。当該判定の結果、当該セルに対応するリソース有無フラグ３１２４の値が”１”のときは（ステップＳ２７でＹＥＳ）、ステップＳ２８において、上記板状のポリゴンが鳥瞰マップ描画範囲１４１に配置される。そして、上記キャプチャデータ３１５が読み出され、当該キャプチャデータ３１５で示される画像（つまり、テクスチャ）が上記配置された板状のポリゴンに描画される。一方、当該セルに対応するリソース有無フラグ３１２４の値が”０”のときは（ステップＳ２７でＮＯ）、ステップＳ２９において、上記板状のポリゴンが鳥瞰マップ描画範囲１４１に配置され、予め設定されている所定の色（本実施形態では、水面の色）が当該板状のポリゴンに描画される（つまり、水面の色で塗りつぶされることになる）。
【０１２２】
次に、ステップＳ３０において、上述したような処理が済んでいないセルがまだ残っているか否かが判定される。その結果、まだ残っていると判定されたときは（ステップＳ３０でＹＥＳ）、上記ステップＳ２３に戻り、次のセルが選択されて処理が繰り返される。一方、全てのセルについて上記ステップＳ２３〜Ｓ２９の処理が済んでいれば（ステップＳ３０でＮＯ）、フレームバッファには、鳥瞰マップの画像として、例えば、図２４に示すような画像が生成されていることになる。この場合は、次のステップＳ３１において、当該鳥瞰マップ画像に対して追加テクスチャを描画する処理が実行される。追加テクスチャとは、例えば、図２５に示すような、目的地を示す旗のアイコン１２１等、ゲームの進行上、必要となるマーク等の画像であり、上記追加アイコンデータ３１１に基づいて生成される。
【０１２３】
図２０に戻り、次に、ステップＳ３２において、上記フレームバッファ内の作業用画面から、図２６に示すような、鳥瞰マップとして表示する円形の画像をスクリーンキャプチャし、レイアウト用鳥瞰マップ画像データ３１４として作業領域３１３に保存する処理が実行される。
【０１２４】
図２０に戻り、次に、ステップＳ３３において、最終的に画面に表示するべきゲーム画面のレイアウト調整が実行される。具体的には、上記レイアウト用鳥瞰マップ画像データ３１４に対して半透明（アルファ値）の設定や縁を滑らかにする処理（スムージング、アンチエイリアス）が行われ、最終的なゲーム画面上における表示位置が決定される。
【０１２５】
次に、ステップＳ３４において、描画処理が実行される。つまり、メインとなるゲーム画面に上記鳥瞰マップ画像が重ねて表示されるようなゲーム画像（図２７参照）がテレビ２に表示されることになる。以上で、鳥瞰マップ生成・表示処理は終了する。
【０１２６】
このように、本実施形態では、上記鳥瞰マップ用のリソースとなるデータ（仮想ゲーム空間を鳥瞰した画像データ）を生成する際に、海のマテリアルを描画しないようにして３Ｄ地形モデルを生成する。そして、これを上方向から仮想カメラで撮影した画像において、所定の条件（全てのピクセルが単一色）を満たしている部分については、その部分の画像はリソース化しないような処理を行っている。これにより、例えば、上記鳥瞰した仮想ゲーム空間の全体（島も海も含んだもの）を一枚の絵として構成した画像データをリソースとして用いる場合に比べ、リソースとなるデータ量を削減することが可能となる。
【０１２７】
また、上記鳥瞰した仮想ゲーム空間の全体を一枚の絵を画像データとして作成して保存する場合、当該画像データの生成に際して、例えば、仮想空間内における島全体のサイズやバランス、３次元空間を真上から撮影する際の中心位置等について調整する必要があるが、本発明によれば、開発者は島全体のサイズ等を気にしなくてもよく、例えば開発過程において島の形状が変化した場合や新たに離島が追加されたような場合でも、上述したようなリソース作成処理を再度実行すれば済むため、開発作業にかかる開発者の負担を軽減することが可能となる。
【０１２８】
また、本実施形態では、ゲーム処理時における鳥瞰マップの生成・描画処理で、プレイヤオブジェクト１０１の位置を中心として、鳥瞰マップに必要となる部分のみを抽出して描画処理を行うようにしている。これにより、不要な描画処理は実行しないようにすることができ、処理負荷を軽減することができる。更に、鳥瞰マップ範囲内に含まれる箇所ではあるが、鳥瞰マップのリソースとなるデータが無いような箇所については、所定の色（例えば海の色）を描画しているため、違和感の無い鳥瞰マップ画像を生成することが可能となる。換言すれば、鳥瞰マップ範囲内に含まれる箇所ではあるが、鳥瞰マップのリソースとなるデータが無いような箇所については、テクスチャを描画するという処理が不要となるため、鳥瞰マップ生成時にかかる処理コストをより軽減することが可能となる（一般的に、例えば、海面部分のセルに対応するポリゴンについて、海面のテクスチャを描画する処理よりは、単に所定の単一色で塗りつぶす処理のほうが、テクスチャを読み出す処理が不要になるため、処理コストは低い）。
【０１２９】
なお、セルのサイズ、すなわち、キャプチャデータとして保存する画像のサイズについては、上記のような６４×６４ピクセルに限るものではなく、当然ながら、他のサイズ、例えば、３２×３２や１２８×１２８等のサイズを用いても良い。当該サイズは、ゲーム内容に応じて適宜決定すればよい。例えば、特定の拡大率しか使用しないゲームであれば、そのゲーム内容に応じたサイズのセルを用いればよい。
【０１３０】
また、上述した実施形態では、仮想ゲーム空間の撮影については、その撮影範囲をスクリーンサイズ（ゲーム画面のサイズ）として撮影し、当該撮影画像から上記セルに対応する一部の領域のみを抽出するようにして、上述したようなセルの振り分け判定を行っていた。これに限らず、撮影範囲を最初からセルのサイズに合わせてから撮影するようにしても良い。この場合は、リソース生成処理にかかる処理コストを削減するという点で有利となる。一方、上述の実施形態のように、一旦スクリーンサイズ（ゲーム画面のサイズ）で撮影し、当該撮影画像から上記セルに対応する一部の領域のみについて、上述したようなセルの振り分け判定を行う場合は、撮影範囲に関する仮想カメラの設定については、他の開発工程で用いる仮想カメラ設定を流用することが可能となる。そのため、リソース生成処理のためだけに別途撮影処理のプログラムを開発する必要がなく、開発者の負担を軽減することが可能となる点で有利である。
【０１３１】
また、上記実施形態の例では、リソース生成処理においては海の部分をリソース化の対象から外し、鳥瞰マップ生成・表示処理では、リソース化されていないセルについて、海（水面）の色でポリゴンを描画していた。このような、海という地形の他、例えば、仮想ゲーム空間の大半が砂漠で構成されているような場合は、海の代わりに砂漠の色（砂の色）を用いて上述したような処理を行っても良い。その他、仮想ゲーム空間を鳥瞰した際に、最も多く使われている色のみで構成されているような地形に対して、上述したような処理を適用してもよい。
【０１３２】
また、上述の実施形態では、仮想ゲーム空間における海の色が単一色である場合を例としてあげたが、この他、例えば、海の色として、少しだけ階調が異なる複数の色が用いられているような場合に、これら複数の色については実質的に同一の色とみなして、単一色として扱うようにしてもよい。この場合は、上述したリソース生成処理において、セル画像のピクセルが単一色であるか否かを判定する際に、複数の色が用いられていると判定されたとしても、これらの色の階調差が所定の範囲内であれば、単一色であると判定するようにすればよい。
【０１３３】
また、上述した実施形態では、各セルに対応するキャプチャデータ３１５が無いときは、水面の色を板状のポリゴンに描画していたが、この他、予め水面の色が描画された板状のポリゴンを用意しておき、キャプチャデータ３１５が存在するセルについてのみ、当該水面色のポリゴンに対してキャプチャデータ３１５の内容を上書き描画するようにしてもよい。
【産業上の利用可能性】
【０１３４】
本発明にかかる鳥瞰マップリソース生成プログラム、および、鳥瞰マップリソース生成装置は、鳥瞰マップ作成にかかる開発者の負担を軽減することができ、また、鳥瞰マップのリソースとなるデータ量を軽減することができ、ゲーム装置やカーナビゲーション装置、運動支援装置等に有用である。また、本発明にかかる鳥瞰マップ表示プログラム、および、鳥瞰マップ表示装置は、鳥瞰マップを表示するための処理負荷を軽減することができ、ゲーム装置やカーナビゲーション装置、運動支援装置等に有用である。
【符号の説明】
【０１３５】
１…ゲームシステム
２…モニタ
２ａ…スピーカ
３…ゲーム装置
４…光ディスク
７…コントローラ
１０…ＣＰＵ
１１…システムＬＳＩ
１１ａ…入出力プロセッサ
１１ｂ…ＧＰＵ
１１ｃ…ＤＳＰ
１１ｄ…ＶＲＡＭ
１１ｅ…内部メインメモリ
１２…外部メインメモリ
１３…ＲＯＭ／ＲＴＣ
１４…ディスクドライブ
１５…ＡＶ−ＩＣ
１６…ＡＶコネクタ
１７…フラッシュメモリ
１８…無線通信モジュール
１９…無線コントローラモジュール
２０…拡張コネクタ
２１…外部メモリカード用コネクタ
２２…アンテナ
２３…アンテナ
２４…電源ボタン
２５…リセットボタン
２６…イジェクトボタン
７１…ハウジング
７２…操作部
７３…コネクタ
７４…撮像情報演算部
７４１…赤外線フィルタ
７４２…レンズ
７４３…撮像素子
７４４…画像処理回路
７５…通信部
７５１…マイコン
７５２…メモリ
７５３…無線モジュール
７５４…アンテナ
７００…基板
７０１…加速度センサ
７０２…ＬＥＤ
７０３…水晶振動子
７０４…バイブレータ
７０７…サウンドＩＣ
７０８…アンプ
【図１】
2011070599.tif 000003
【図２】
2011070599.tif 000004
【図３】
2011070599.tif 000005
【図４】
2011070599.tif 000006
【図５】
2011070599.tif 000007
【図６】
2011070599.tif 000008
【図７】
2011070599.tif 000009
【図８】
2011070599.tif 000010
【図９】
2011070599.tif 000011
【図１０】
2011070599.tif 000012
【図１１】
2011070599.tif 000013
【図１２】
2011070599.tif 000014
【図１３】
2011070599.tif 000015
【図１４】
2011070599.tif 000016
【図１５】
2011070599.tif 000017
【図１６】
2011070599.tif 000018
【図１７】
2011070599.tif 000019
【図１８】
2011070599.tif 000020
【図１９】
2011070599.tif 000021
【図２０】
2011070599.tif 000022
【図２１】
2011070599.tif 000023
【図２２】
2011070599.tif 000024
【図２３】
2011070599.tif 000025
【図２４】
2011070599.tif 000026
【図２５】
2011070599.tif 000027
【図２６】
2011070599.tif 000028
【図２７】
2011070599.tif 000029
【手続補正書】
【提出日】平成21年11月27日(2009.11.27)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
第１３の発明は、仮想３次元空間に対応する鳥瞰マップを表示する鳥瞰マップ表示装置のコンピュータで実行される鳥瞰マップ表示プログラムであって、コンピュータを、位置取得手段と、リソース存在判定手段と、鳥瞰マップ表示手段として機能させる。ここで、コンピュータは、仮想３次元空間内において所定の撮影条件に応じて移動させた仮想カメラで当該仮想３次元空間の一部の領域の鳥瞰画像を撮影する処理が繰り返し実行されることで得られた画像データ群のうち、各鳥瞰画像を構成する色に関する情報が所定の条件を満たしていない画像データ群のみが、当該各画像データの撮影された当該仮想３次元空間内の位置を示す情報と共に蓄積されたデータであるリソースデータが記憶されたリソースデータ記憶手段と接続されている。そして、位置取得手段は、鳥瞰マップ内における所定の表示位置に対応する仮想３次元空間内の位置を取得する。リソース存在判定手段は、位置取得手段で取得された仮想３次元空間内の位置に対応する画像データがリソースデータに含まれているか否かを判定する。鳥瞰マップ表示手段は、リソース存在判定手段において、対応する画像データが含まれていると判定されたときは、リソースデータから当該対応する画像データを取得して鳥瞰マップ内における所定の表示位置に表示し、含まれていないと判定されたときは、予め定められた画像データを当該鳥瞰マップ内における当該所定の表示位置に表示する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
第１４の発明は、第１３の発明において、鳥瞰マップ表示プログラムは、コンピュータを、位置取得手段で取得された仮想３次元空間内の位置が、鳥瞰マップとして描画される仮想３次元空間内の範囲外であるか否かをプレイヤオブジェクトの位置と所定の描画範囲とに基づいて判定する第１の鳥瞰マップ範囲外判定手段として更に機能させる。そして、リソース存在判定手段は、第１の鳥瞰マップ範囲外判定手段で鳥瞰マップの範囲外ではないと判定された仮想３次元空間内の位置についてのみ、当該仮想３次元空間内の位置に対応する画像データがリソースデータに含まれているか否かを判定する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
第１６の発明は、第１４または第１５の発明において、鳥瞰マップ表示プログラムは、コンピュータを、第１の鳥瞰マップ範囲外判定手段で鳥瞰マップの範囲外ではないと判定された仮想３次元空間内の位置が、鳥瞰マップとして描画される仮想３次元空間内の範囲内に含まれるか否かをプレイヤオブジェクトの向きに基づいて判定する第２の鳥瞰マップ範囲外判定手段として更に機能させる。そして、リソース存在判定手段は、第２の鳥瞰マップ範囲外判定手段において鳥瞰マップの範囲内に含まれると判定された仮想３次元空間内の位置についてのみ、当該仮想３次元空間内の位置に対応する画像データがリソースデータに含まれているか否かを判定する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
第１９の発明は、仮想３次元空間に対応する鳥瞰マップを表示する鳥瞰マップ表示装置であって、リソースデータ記憶手段と、位置取得手段と、リソース存在判定手段と、鳥瞰マップ表示手段とを備える。リソースデータ記憶手段は、仮想３次元空間内において所定の撮影条件に応じて移動させた仮想カメラで当該仮想３次元空間の一部の領域の鳥瞰画像を撮影する処理が繰り返し実行されることで得られた画像データ群のうち、各鳥瞰画像を構成する色に関する情報が所定の条件を満たしていない画像データ群のみが、当該各画像データの撮影された当該仮想３次元空間内の位置を示す情報と共に蓄積されたデータであるリソースデータを記憶する。位置取得手段は、鳥瞰マップ内における所定の表示位置に対応する仮想３次元空間内の位置を取得する。リソース存在判定手段は、位置取得手段で取得された仮想３次元空間内の位置に対応する画像データがリソースデータに含まれているか否かを判定する。鳥瞰マップ表示手段は、リソース存在判定手段において、対応する画像データが含まれていると判定されたときは、リソースデータから当該対応する画像データを取得して鳥瞰マップ内における所定の表示位置に表示し、含まれていないと判定されたときは、予め定められた画像データを当該鳥瞰マップ内における当該所定の表示位置に表示する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１０６
【補正方法】変更
【補正の内容】
【０１０６】
図１４において、まず、ステップＳ１で、作業用の描画領域である作業用スクリーン（フレームバッファに確保される）を所定色でクリアする（所定色で塗りつぶす）処理が実行される（以下、この色をクリア色と呼ぶ）。当該作業用スクリーンのサイズはゲーム画面のサイズと同じサイズである。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１０８
【補正方法】変更
【補正の内容】
【０１０８】
次に、ステップＳ４において、仮想カメラを上記図１０で示したような各セルの位置に合わせて移動させる。ここで、当該仮想カメラの移動の詳細について説明する。まず、仮想カメラの高さについては、図１５に示すように、仮想ゲーム空間を鳥瞰できるような位置、つまり、仮想ゲーム空間を真上から見下ろせるような高さに移動させる。そして、高さはそのままに、上記図１０で示したようなセルの位置に合わせるように仮想カメラをスライドさせる。例えば、本リソース生成処理開始後、初めて本ステップの処理が行われるときは、所定の撮影開始位置、ここでは、図１６に示すように、最も左上のセル１１１の位置に仮想カメラが来るように移動させる。より正確には、セル１１１の中心が仮想カメラの撮影範囲の中心と一致するような位置となるよう移動させる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１０９
【補正方法】変更
【補正の内容】
【０１０９】
ここで、本実施形態では、セルのサイズを上記のように６４×６４ピクセルとして説明している。一方、仮想カメラで撮影される画像の大きさは、ゲーム画面として表示されるスクリーンのサイズとなる。そのため、当該仮想カメラで撮影した画像（つまり、撮影範囲）は、図１６の枠１１２で示される範囲の画像となる。そして、二度目以降の本ステップの処理では、上述したように、セル単位で走査するように仮想カメラが移動される。例えば、二度目の処理の場合は、図１７に示すように、上記一番左上のセル１１１の右隣のセル１１３の中心位置に仮想カメラの撮影範囲の中心が合うように仮想カメラをスライドさせることになる。また、最右端のセルまで走査したときは、最左端のセルの下隣のセルの中心位置にカメラの撮影範囲の中心が合うように移動させる。例えば、上記図１７を例にすれば、１行目の右端のセルまで走査し終わったときは、次は２行目の最左端にセルの位置に仮想カメラを移動させる。その結果、仮想カメラで撮影される範囲は枠１１４で示される範囲となる。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１１８
【補正方法】変更
【補正の内容】
【０１１８】
次に、ステップＳ２４において、ステップＳ２３で選択されたセル（に対応する仮想ゲーム空間内の領域）が、上記鳥瞰マップ範囲１３１内に含まれるか否かが判定される。ここで、当該処理の段階では、まだ上記フレームバッファ内の鳥瞰マップ描画領域１４１内におけるセルの描画位置（配置位置）が正確に算出されていない状態である。鳥瞰マップ描画領域１４１内におけるセルの描画位置を正確に算出する処理は、この後に実行されることになるが、当該算出にかかる処理コストを削減するために、ステップＳ２４の処理では、明らかに鳥瞰マップ範囲１３１外となるセルを上記算出処理の対象から除外するための判定が行われる。ここで、「明らかに鳥瞰マップ範囲外」というのは、プレイヤオブジェクト１０１の向いている方角にかかわらず、鳥瞰マップ範囲１３１内に含まれないよう場合をいう。例えば、仮想ゲーム空間内のある位置において、プレイヤオブジェクト１０１が（仮想ゲーム空間内における）北を向いている場合は鳥瞰マップ範囲１３１に含まれるが、南を向いている場合は鳥瞰マップ範囲１３１に含まれないようなセルについては、この処理では鳥瞰マップ範囲１３１に含まれると判定される（つまり、鳥瞰マップ範囲１３１に含まれる可能性があるセルについては除外しない）。一方、プレイヤオブジェクト１０１の向いている方角が北であっても南であっても、更には、東や西であっても、鳥瞰マップ範囲１３１には含まれないようなセルについては、「明らかに鳥瞰マップ範囲外」のセルと判定される。より具体的には、以下に示す条件式を満たすセルについては鳥瞰マップ範囲１３１外と判定される。
（｜Ｃｅｌｌ＿Ｘ  −  ＰＬ＿Ｘ｜  −  Ｃｅｌｌ＿Ｌｅｎｇ）  ×  拡大率  ＞  鳥瞰マップ範囲の半径
ＡＮＤ
（｜Ｃｅｌｌ＿Ｚ  −  ＰＬ＿Ｚ｜  −  Ｃｅｌｌ＿Ｌｅｎｇ）  ×  拡大率  ＞  鳥瞰マップ範囲の半径
上記条件式において、Ｃｅｌｌ＿Ｘは、セル（に対応する仮想ゲーム空間内の領域）の左上端のＸ座標を示す。Ｃｅｌｌ＿Ｚは、同じくセルの左上端のＺ座標を示す。なお、Ｘ軸、Ｚ軸については、上記図１０を例にすると、縦軸方向をＺ軸、横軸方向をＸ軸とする。また、上方向（Ｚ軸正方向）を北の方角とする。また、ＰＬ＿Ｘ、ＰＬ＿Ｚは、それぞれ仮想ゲーム空間内におけるプレイヤオブジェクトの位置のＸ座標、Ｚ座標を示す。Ｃｅｌｌ＿Ｌｅｎｇは、セルの一辺の長さに対応する仮想ゲーム空間内の距離を示す。なお、拡大率は、上述したような鳥瞰マップの拡大率であり、プレイヤによって予め設定された値である。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１２４
【補正方法】変更
【補正の内容】
【０１２４】
図２０に戻り、次に、ステップＳ３３において、最終的に画面に表示するべきゲーム画面のレイアウト調整が実行される。具体的には、上記レイアウト用鳥瞰マップ画像データ３１４に対して透明度（アルファ値）の設定や縁を滑らかにする処理（スムージング、アンチエイリアス）が行われ、最終的なゲーム画面上における表示位置が決定される。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１２７
【補正方法】変更
【補正の内容】
【０１２７】
また、上記鳥瞰した仮想ゲーム空間の全体を一枚の絵の画像データとして作成して保存する場合、当該画像データの生成に際して、例えば、仮想空間内における島全体のサイズやバランス、３次元空間を真上から撮影する範囲の中心位置等について調整する必要があるが、本発明によれば、開発者は島全体のサイズ等を気にしなくてもよく、例えば開発過程において島の形状が変化した場合や新たに離島が追加されたような場合でも、上述したようなリソース作成処理を再度実行すれば済むため、開発作業にかかる開発者の負担を軽減することが可能となる。
【手続補正１１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１３
【補正方法】変更
【補正の内容】
【請求項１３】
仮想３次元空間に対応する鳥瞰マップを表示する鳥瞰マップ表示装置のコンピュータで実行される鳥瞰マップ表示プログラムであって、
前記コンピュータには、前記仮想３次元空間内において所定の撮影条件に応じて移動させた仮想カメラで当該仮想３次元空間の一部の領域の鳥瞰画像を撮影する処理が繰り返し実行されることで得られた画像データ群のうち、各鳥瞰画像を構成する色に関する情報が所定の条件を満たしていない画像データ群のみが、当該各画像データの撮影された当該仮想３次元空間内の位置を示す情報と共に蓄積されたデータであるリソースデータを記憶するリソースデータ記憶手段が接続されており、
前記コンピュータを、
前記鳥瞰マップ内における所定の表示位置に対応する前記仮想３次元空間内の位置を取得する位置取得手段と、
前記位置取得手段で取得された前記仮想３次元空間内の位置に対応する前記画像データが前記リソースデータに含まれているか否かを判定するリソース存在判定手段と、
前記リソース存在判定手段において、前記対応する画像データが含まれていると判定されたときは、前記リソースデータから当該対応する画像データを取得して前記鳥瞰マップ内における前記所定の表示位置に表示し、含まれていないと判定されたときは、予め定められた画像データを当該鳥瞰マップ内における当該所定の表示位置に表示する鳥瞰マップ表示手段として機能させる、鳥瞰マップ表示プログラム。
【手続補正１２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１４
【補正方法】変更
【補正の内容】
【請求項１４】
前記鳥瞰マップ表示プログラムは、前記コンピュータを、前記位置取得手段で取得された前記仮想３次元空間内の位置が、前記鳥瞰マップとして描画される仮想３次元空間内の範囲外であるか否かをプレイヤオブジェクトの位置と所定の描画範囲とに基づいて判定する第１の鳥瞰マップ範囲外判定手段として更に機能させ、
前記リソース存在判定手段は、前記第１の鳥瞰マップ範囲外判定手段で鳥瞰マップの範囲外ではないと判定された前記仮想３次元空間内の位置についてのみ、当該仮想３次元空間内の位置に対応する前記画像データが前記リソースデータに含まれているか否かを判定する、請求項１３に記載の鳥瞰マップ表示プログラム。
【手続補正１３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１６
【補正方法】変更
【補正の内容】
【請求項１６】
前記鳥瞰マップ表示プログラムは、前記コンピュータを、
前記第１の鳥瞰マップ範囲外判定手段で鳥瞰マップの範囲外ではないと判定された前記仮想３次元空間内の位置が、前記鳥瞰マップとして描画される仮想３次元空間内の範囲内に含まれるか否かを前記プレイヤオブジェクトの向きに基づいて判定する第２の鳥瞰マップ範囲外判定手段として更に機能させ、
前記リソース存在判定手段は、前記第２の鳥瞰マップ範囲外判定手段において前記鳥瞰マップの範囲内に含まれると判定された前記仮想３次元空間内の位置についてのみ、当該仮想３次元空間内の位置に対応する前記画像データが前記リソースデータに含まれているか否かを判定する、請求項１４または１５に記載の鳥瞰マップ表示プログラム。
【手続補正１４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１９
【補正方法】変更
【補正の内容】
【請求項１９】
仮想３次元空間に対応する鳥瞰マップを表示する鳥瞰マップ表示装置であって、
前記仮想３次元空間内において所定の撮影条件に応じて移動させた仮想カメラで当該仮想３次元空間の一部の領域の鳥瞰画像を撮影する処理が繰り返し実行されることで得られた画像データ群のうち、各鳥瞰画像を構成する色に関する情報が所定の条件を満たしていない画像データ群のみが、当該各画像データの撮影された当該仮想３次元空間内の位置を示す情報と共に蓄積されたデータであるリソースデータを記憶するリソースデータ記憶手段と、
前記鳥瞰マップ内における所定の表示位置に対応する前記仮想３次元空間内の位置を取得する位置取得手段と、
前記位置取得手段で取得された前記仮想３次元空間内の位置に対応する前記画像データが前記リソースデータに含まれているか否かを判定するリソース存在判定手段と、
前記リソース存在判定手段において、前記対応する画像データが含まれていると判定されたときは、前記リソースデータから当該対応する画像データを取得して前記鳥瞰マップ内における前記所定の表示位置に表示し、含まれていないと判定されたときは、予め定められた画像データを当該鳥瞰マップ内における当該所定の表示位置に表示する鳥瞰マップ表示手段とを備える、鳥瞰マップ表示装置。