(57)【要約】【課題】ユーザによって指定されたスクリーン座標値に対応する仮想３次元空間内の位置を比較的簡易な処理で判断できるようになるゲーム装置を提供すること。【解決手段】基準点変換部７２は、仮想３次元空間に設定される複数の基準点の各々を所定の座標変換演算を用いてスクリーン座標系に座標変換する。基準点選択部７６は、ユーザによって指定されたスクリーン座標値と、複数の基準点の各々に対応するスクリーン座標値と、の比較結果に基づいて、複数の基準点のうちの少なくとも１つを選択する。基準点再設定部７８は、基準点選択部７６によって選択された基準点に基づいて、複数の基準点を再設定する。ゲーム処理部８０は、基準点再設定部７８によって再設定された複数の基準点のうちから基準点選択部７６によって選択される基準点に基づいて、ゲーム処理を実行する。【選択図】図１２
2008154777.tif 000002
【特許請求の範囲】
【請求項１】
仮想３次元空間に配置されたオブジェクトを所定の座標変換演算を用いてスクリーン座標系に座標変換することによって、前記仮想３次元空間を所与の視点から見た様子を表すゲーム画面を表示するゲーム装置において、
ユーザによるスクリーン座標値の指定を受け付けるスクリーン座標値指定受付手段と、
前記仮想３次元空間に設定される複数の基準点の各々を前記所定の座標変換演算を用いて前記スクリーン座標系に座標変換することによって、前記複数の基準点の各々に対応するスクリーン座標値を取得する基準点変換手段と、
前記ユーザによって指定されたスクリーン座標値と、前記複数の基準点の各々に対応するスクリーン座標値と、を比較する比較手段と、
前記比較手段による比較結果に基づいて、前記複数の基準点のうちの少なくとも１つを選択する基準点選択手段と、
前記基準点選択手段によって選択された基準点に基づいて、前記仮想３次元空間に複数の基準点を再設定する基準点再設定手段と、
前記基準点再設定手段によって前記複数の基準点が再設定された場合、前記基準点変換手段による変換と、前記比較手段による比較と、前記基準点選択手段による選択と、を再実行させる手段と、
前記基準点再設定手段によって再設定された前記複数の基準点のうちから前記基準点選択手段によって選択された基準点の前記仮想３次元空間における位置に基づいて、ゲーム処理を実行するゲーム処理実行手段と、
を含むことを特徴とするゲーム装置。
【請求項２】
請求項１に記載のゲーム装置において、
前記基準点再設定手段は、前記基準点選択手段によって選択された基準点と所定の位置関係にある複数の位置を前記複数の基準点として再設定することを特徴とするゲーム装置。
【請求項３】
請求項１又は２に記載のゲーム装置において、
前記基準点再設定手段による再設定と、前記基準点変換手段による変換と、前記比較手段による比較と、前記基準点選択手段による選択と、は所定条件が満足するまでくり返し実行されることを特徴とするゲーム装置。
【請求項４】
請求項３に記載のゲーム装置において、
前記所定条件は、前記基準点再設定手段による再設定と、前記基準点変換手段による変換と、前記比較手段による比較と、前記基準点選択手段による選択と、のくり返し実行済み回数が所定回数であるか否かの条件を含むことを特徴とするゲーム装置。
【請求項５】
請求項３又は４に記載のゲーム装置において、
前記所定条件は、前記ユーザによって指定されたスクリーン座標値と、前記基準点選択手段によって選択された基準点に対応するスクリーン座標値と、の間の距離が所定距離未満であるか否かを条件を含むことを特徴とするゲーム装置。
【請求項６】
請求項１乃至５のいずれかに記載のゲーム装置において、
前記基準点再設定手段によって再設定される基準点の数は、前記仮想３次元空間に最初に設定された基準点の数よりも多いことを特徴とするゲーム装置。
【請求項７】
仮想３次元空間に配置されたオブジェクトを所定の座標変換演算を用いてスクリーン座標系に座標変換することによって、前記仮想３次元空間を所与の視点から見た様子を表すゲーム画面を表示するゲーム装置の制御方法において、
ユーザによるスクリーン座標値の指定を受け付けるスクリーン座標値指定受付ステップと、
前記仮想３次元空間に設定される複数の基準点の各々を前記所定の座標変換演算を用いて前記スクリーン座標系に座標変換することによって、前記複数の基準点の各々に対応するスクリーン座標値を取得する基準点変換ステップと、
前記ユーザによって指定されたスクリーン座標値と、前記複数の基準点の各々に対応するスクリーン座標値と、を比較する比較ステップと、
前記比較ステップによる比較結果に基づいて、前記複数の基準点のうちの少なくとも１つを選択する基準点選択ステップと、
前記基準点選択ステップによって選択された基準点に基づいて、前記仮想３次元空間に複数の基準点を再設定する基準点再設定ステップと、
前記基準点再設定ステップによって前記複数の基準点が再設定された場合、前記基準点変換ステップによる変換と、前記比較ステップによる比較と、前記基準点選択ステップによる選択と、を再実行させるステップと、
前記基準点再設定ステップによって再設定された前記複数の基準点のうちから前記基準点選択ステップによって選択された基準点の前記仮想３次元空間における位置に基づいて、ゲーム処理を実行するゲーム処理実行ステップと、
を含むことを特徴とするゲーム装置の制御方法。
【請求項８】
仮想３次元空間に配置されたオブジェクトを所定の座標変換演算を用いてスクリーン座標系に座標変換することによって、前記仮想３次元空間を所与の視点から見た様子を表すゲーム画面を表示するゲーム装置としてコンピュータを機能させるためのプログラムであって、
ユーザによるスクリーン座標値の指定を受け付けるスクリーン座標指定受付手段、
前記仮想３次元空間に設定される複数の基準点の各々を前記所定の座標変換演算を用いて前記スクリーン座標系に座標変換することによって、前記複数の基準点の各々に対応するスクリーン座標値を取得する基準点変換手段、
前記ユーザによって指定されたスクリーン座標値と、前記複数の基準点の各々に対応するスクリーン座標値と、を比較する比較手段、
前記比較手段による比較結果に基づいて、前記複数の基準点のうちの少なくとも１つを選択する基準点選択手段、
前記基準点選択手段によって選択された基準点に基づいて、前記仮想３次元空間に複数の基準点を再設定する基準点再設定手段、
前記基準点再設定手段によって前記複数の基準点が再設定された場合、前記基準点変換手段による変換と、前記比較手段による比較と、前記基準点選択手段による選択と、を再実行させる手段、及び、
前記基準点再設定手段によって再設定された前記複数の基準点のうちから前記基準点選択手段によって選択された基準点の前記仮想３次元空間における位置に基づいて、ゲーム処理を実行するゲーム処理実行手段、
として前記コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はゲーム装置、ゲーム装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
仮想３次元空間に配置されたオブジェクトを所定の座標変換演算を用いてスクリーン座標系に座標変換することによって、該仮想３次元空間を所与の視点から見た様子を表すゲーム画面を表示するゲーム装置が知られている。
【特許文献１】特開２００５−０５００７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記のようなゲーム装置において、例えば、特許３２６２６７７号公報に記載の操作具やタッチパネルなどのポインティングデバイスを用いて、ユーザにスクリーン座標値（スクリーン座標系における座標値）を指定させ、ユーザによって指定されたスクリーン座標値に対応する仮想３次元空間内の位置に基づいて進行するゲームを実現したい場合がある。このようなゲームを実現するためには、スクリーン座標値から、該スクリーン座標値に対応する仮想３次元空間内の位置を判断する必要がある。しかしながら、スクリーン座標値に対応する仮想３次元空間内の位置を判断するためには複雑な処理を実行しなければならなかった。
【０００４】
本発明は上記課題に鑑みてなされたものであって、その目的は、スクリーン座標値に対応する仮想３次元空間内の位置を比較的簡易な処理で判断できるようになるゲーム装置、ゲーム装置の制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係るゲーム装置は、仮想３次元空間に配置されたオブジェクトを所定の座標変換演算を用いてスクリーン座標系に座標変換することによって、前記仮想３次元空間を所与の視点から見た様子を表すゲーム画面を表示するゲーム装置において、ユーザによるスクリーン座標値の指定を受け付けるスクリーン座標値指定受付手段と、前記仮想３次元空間に設定される複数の基準点の各々を前記所定の座標変換演算を用いて前記スクリーン座標系に座標変換することによって、前記複数の基準点の各々に対応するスクリーン座標値を取得する基準点変換手段と、前記ユーザによって指定されたスクリーン座標値と、前記複数の基準点の各々に対応するスクリーン座標値と、を比較する比較手段と、前記比較手段による比較結果に基づいて、前記複数の基準点のうちの少なくとも１つを選択する基準点選択手段と、前記基準点選択手段によって選択された基準点に基づいて、前記仮想３次元空間に複数の基準点を再設定する基準点再設定手段と、前記基準点再設定手段によって前記複数の基準点が再設定された場合、前記基準点変換手段による変換と、前記比較手段による比較と、前記基準点選択手段による選択と、を再実行させる手段と、前記基準点再設定手段によって再設定された前記複数の基準点のうちから前記基準点選択手段によって選択された基準点の前記仮想３次元空間における位置に基づいて、ゲーム処理を実行するゲーム処理実行手段と、を含むことを特徴とする。
【０００６】
また、本発明に係るゲーム装置の制御方法は、仮想３次元空間に配置されたオブジェクトを所定の座標変換演算を用いてスクリーン座標系に座標変換することによって、前記仮想３次元空間を所与の視点から見た様子を表すゲーム画面を表示するゲーム装置の制御方法において、ユーザによるスクリーン座標値の指定を受け付けるスクリーン座標値指定受付ステップと、前記仮想３次元空間に設定される複数の基準点の各々を前記所定の座標変換演算を用いて前記スクリーン座標系に座標変換することによって、前記複数の基準点の各々に対応するスクリーン座標値を取得する基準点変換ステップと、前記ユーザによって指定されたスクリーン座標値と、前記複数の基準点の各々に対応するスクリーン座標値と、を比較する比較ステップと、前記比較ステップによる比較結果に基づいて、前記複数の基準点のうちの少なくとも１つを選択する基準点選択ステップと、前記基準点選択ステップによって選択された基準点に基づいて、前記仮想３次元空間に複数の基準点を再設定する基準点再設定ステップと、前記基準点再設定ステップによって前記複数の基準点が再設定された場合、前記基準点変換ステップによる変換と、前記比較ステップによる比較と、前記基準点選択ステップによる選択と、を再実行させるステップと、前記基準点再設定ステップによって再設定された前記複数の基準点のうちから前記基準点選択ステップによって選択された基準点の前記仮想３次元空間における位置に基づいて、ゲーム処理を実行するゲーム処理実行ステップと、を含むことを特徴とする。
【０００７】
また、本発明に係るプログラムは、仮想３次元空間に配置されたオブジェクトを所定の座標変換演算を用いてスクリーン座標系に座標変換することによって、前記仮想３次元空間を所与の視点から見た様子を表すゲーム画面を表示するゲーム装置として、家庭用ゲーム機、携帯用ゲーム機、業務用ゲーム機、携帯電話機、携帯情報端末（ＰＤＡ）やパーソナルコンピュータなどのコンピュータを機能させるためのプログラムであって、ユーザによるスクリーン座標値の指定を受け付けるスクリーン座標値指定受付手段、前記仮想３次元空間に設定される複数の基準点の各々を前記所定の座標変換演算を用いて前記スクリーン座標系に座標変換することによって、前記複数の基準点の各々に対応するスクリーン座標値を取得する基準点変換手段、前記ユーザによって指定されたスクリーン座標値と、前記複数の基準点の各々に対応するスクリーン座標値と、を比較する比較手段、前記比較手段による比較結果に基づいて、前記複数の基準点のうちの少なくとも１つを選択する基準点選択手段、前記基準点選択手段によって選択された基準点に基づいて、前記仮想３次元空間に複数の基準点を再設定する基準点再設定手段、前記基準点再設定手段によって前記複数の基準点が再設定された場合、前記基準点変換手段による変換と、前記比較手段による比較と、前記基準点選択手段による選択と、を再実行させる手段、及び、前記基準点再設定手段によって再設定された前記複数の基準点のうちから前記基準点選択手段によって選択された基準点の前記仮想３次元空間における位置に基づいて、ゲーム処理を実行するゲーム処理実行手段、として前記コンピュータを機能させるためのプログラムである。
【０００８】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。また、本発明に係るプログラム配信装置は、上記プログラムを記録した情報記憶媒体を備え、当該情報記憶媒体から上記プログラムを読み出し、配信するプログラム配信装置である。また、本発明に係るプログラム配信方法は、上記プログラムを記録した情報記憶媒体を備え、当該情報記憶媒体から上記プログラムを読み出し、配信するプログラム配信方法である。
【０００９】
本発明は、仮想３次元空間に配置されたオブジェクトを所定の座標変換演算を用いてスクリーン座標系に座標変換することによって、該仮想３次元空間を所与の視点から見た様子を表すゲーム画面を表示するゲーム装置に関するものである。本発明では、ユーザによるスクリーン座標値の指定が受け付けられる。また、仮想３次元空間に設定される複数の基準点の各々が上記所定の座標変換演算を用いてスクリーン座標系に座標変換されることによって、複数の基準点の各々に対応するスクリーン座標値が取得される。また、ユーザによって指定されたスクリーン座標値と、複数の基準点の各々に対応するスクリーン座標値と、が比較される。そして、その比較結果に基づいて、複数の基準点のうちの少なくとも１つが選択される。さらに、選択された基準点に基づいて、仮想３次元空間に複数の基準点が再設定される。複数の基準点が再設定された場合、再設定された基準点に関して、上記の座標変換、比較及び選択が再実行される。そして、再設定された複数の基準点のうちから選択された基準点の仮想３次元空間における位置に基づいて、ゲーム処理が実行される。本発明によれば、複数の基準点のうちから基準点を選択する際において、例えば、複数の基準点のうちから、その基準点に対応するスクリーン座標値が、ユーザによって指定されたスクリーン座標値に最も近い基準点を選択するようにすることによって、ユーザによって指定されたスクリーン座標値に対応する仮想３次元空間内の位置を比較的簡易な処理で判断できるようになる。
【００１０】
また、本発明の一態様では、前記基準点再設定手段は、前記基準点選択手段によって選択された基準点と所定の位置関係にある複数の位置を前記複数の基準点として再設定するようにしてもよい。
【００１１】
また、本発明の一態様では、前記基準点再設定手段による再設定と、前記基準点変換手段による変換と、前記比較手段による比較と、前記基準点選択手段による選択と、は所定条件が満足するまでくり返し実行されるようにしてもよい。
【００１２】
また、本発明の一態様では、前記所定条件は、前記基準点再設定手段による再設定と、前記基準点変換手段による変換と、前記比較手段による比較と、前記基準点選択手段による選択と、のくり返し実行済み回数が所定回数であるか否かの条件を含むようにしてもよい。
【００１３】
また、本発明の一態様では、前記所定条件は、前記ユーザによって指定されたスクリーン座標値と、前記基準点選択手段によって選択された基準点に対応するスクリーン座標値と、の間の距離が所定距離未満であるか否かを条件を含むようにしてもよい。
【００１４】
また、本発明の一態様では、前記基準点再設定手段によって再設定される基準点の数は、前記仮想３次元空間に最初に設定された基準点の数よりも多くなるようにしてもよい。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。
【００１６】
図１は、本発明の実施形態に係るゲーム装置の構成を示す図である。図１に示すゲーム装置１０は、家庭用ゲーム機１１に情報記憶媒体たる光ディスク２５及びメモリカード２８が装着され、さらにモニタ１８及びスピーカ２２が接続されることによって構成される。例えば、モニタ１８には家庭用テレビ受像機が用いられ、スピーカ２２にはその内蔵スピーカが用いられる。
【００１７】
家庭用ゲーム機１１は、バス１２、マイクロプロセッサ１４、画像処理部１６、音声処理部２０、光ディスクドライブ２４、メモリカードスロット２７、通信インタフェース（Ｉ／Ｆ）２９、コントローラインタフェース（Ｉ／Ｆ）３０及び操作入力部３１を含んで構成される公知のコンピュータゲームシステムである。操作入力部３１以外の構成要素は筐体内に収容される。
【００１８】
バス１２はアドレス及びデータを家庭用ゲーム機１１の各部でやり取りするためのものである。マイクロプロセッサ１４、画像処理部１６、音声処理部２０、光ディスクドライブ２４、主記憶２６、メモリカードスロット２７、通信インタフェース２９及びコントローラインタフェース３０は、バス１２によって相互データ通信可能に接続される。
【００１９】
マイクロプロセッサ１４は、図示しないＲＯＭに格納されるオペレーティングシステムや、光ディスク２５又はメモリカード２８から読み出されるプログラム及びデータに基づいて、家庭用ゲーム機１１の各部を制御する。主記憶２６は、例えばＲＡＭを含んで構成されるものであり、光ディスク２５又はメモリカード２８から読み出されたプログラム及びデータが必要に応じて書き込まれる。主記憶２６はマイクロプロセッサ１４の作業用としても用いられる。
【００２０】
画像処理部１６はＶＲＡＭを含んで構成されており、マイクロプロセッサ１４から送られる画像データに基づいてＶＲＡＭ上にゲーム画面を描画する。そして、画像処理部１６はその内容をビデオ信号に変換して所定のタイミングでモニタ１８に出力する。
【００２１】
音声処理部２０はサウンドバッファを含んで構成されており、光ディスク２５から読み出され、該サウンドバッファに記憶されたゲーム音楽、ゲーム効果音、メッセージなどの各種音声データを再生してスピーカ２２から出力する。
【００２２】
光ディスクドライブ２４は、マイクロプロセッサ１４からの指示に従って、例えばＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの光ディスク２５に記録されたプログラムやデータを読み取る。ここではプログラムやデータを家庭用ゲーム機１１に供給するために光ディスク２５を用いることとするが、例えばＲＯＭカードなどの他のあらゆる情報記憶媒体を用いるようにしてもよい。また、インターネットなどのデータ通信網を介して遠隔地からプログラムやデータを家庭用ゲーム機１１に供給するようにしてもよい。
【００２３】
メモリカードスロット２７はメモリカード２８を装着するためのインタフェースである。メモリカード２８は不揮発性メモリ（例えばＥＥＰＲＯＭなど）を含んで構成される。メモリカード２８は、例えばセーブデータなどの各種ゲームデータを記憶するために用いられる。
【００２４】
通信インタフェース２９は、インターネットなどのデータ通信網に通信接続するためのインタフェースである。
【００２５】
コントローラインタフェース３０は、コントローラ３２を無線接続するためのインタフェースである。コントローラインタフェース３０としては、例えばＢｌｕｅｔｏｏｔｈインタフェース規格に則ったインタフェースを利用することができる。なお、コントローラインタフェース３０は、コントローラ３２を有線接続するためのインタフェースとしてもよい。
【００２６】
操作入力部３１はユーザが操作入力を行うためのものである。操作入力部３１は、例えば、モニタ１８に表示されるゲーム画面上の位置をユーザが指し示すためのポインティングデバイスとしての機能を備える。操作入力部３１としては、例えば特許３２６２６７７号公報に開示される技術を利用することができる。
【００２７】
操作入力部３１はコントローラ３２と発光部３８とを含んで構成される。また、コントローラ３２は撮像部３４と撮影画像解析部３６とを含んで構成される。図２は操作入力部３１の一例を示す図であり、図３はコントローラ３２の一例を示す図である。
【００２８】
図２に示すように、発光部３８はモニタ１８の上部に配置される。発光部３８の両端部には光源４０ａ，４０ｂが備えられる。図３に示すように、コントローラ３２の表面には方向ボタン４４、ボタン４６ａ，４６ｂ，４６ｃが備えられる。方向ボタン４４は十字形状を有しており、一般的にキャラクタやカーソルの移動方向を指示するのに用いられる。ボタン４６ａ，４６ｂ，４６ｃは各種ゲーム操作に用いられる。コントローラ３２の一の側面には、例えばＣＣＤなどの撮像素子である撮像部３４が備えられる。また、コントローラ３２には、例えばマイクロプロセッサなどである撮影画像解析部３６が内蔵される。なお本明細書では、撮像部３４が備えられた側面部をコントローラ３２の前端部３２ａと呼ぶ。
【００２９】
ユーザがコントローラ３２の前端部３２ａをモニタ１８の方に向けると、撮像部３４の撮影画像には光源４０ａ，４０ｂが写し出される。撮影画像解析部３６は、撮像部３４の撮影画像に写し出された光源４０ａ，４０ｂの位置を解析する。撮影画像解析部３６は、その解析結果に基づいてコントローラ３２の位置及び傾きを取得する。より具体的には、撮影画像解析部３６は、所定の基準位置４２に対するコントローラ３２の相対位置と、光源４０ａ及び光源４０ｂを結ぶ直線に対するコントローラ３２の傾き角度と、を算出する。ゲーム装置１０には、基準位置４２とモニタ１８に表示されるゲーム画面との位置関係に関する情報が記憶されており、コントローラ３２の前端部３２ａが指し示すゲーム画面内の位置は、この撮影画像解析部３６によって取得されるコントローラ３２の位置及び傾きに基づいて特定される。なお本明細書では、撮影画像解析部３６によって取得されるコントローラ３２の位置及び傾きを示す情報、すなわち、コントローラ３２の前端部３２ａが指し示すゲーム画面内の位置を特定するための情報のことを「ポインティング情報」と呼ぶ。
【００３０】
コントローラ３２からコントローラインタフェース３０に対しては、一定周期ごと（例えば１／６０秒ごと）にコントローラ３２の操作状態を表す操作信号が送信される。例えば、上記のポインティング情報や、方向ボタン４４、ボタン４６ａ，４６ｂ，４６ｃの押下状態を示す情報が操作信号として送信される。コントローラインタフェース３０は、コントローラ３２から受信した操作信号をバス１２を介してマイクロプロセッサ１４に渡す。マイクロプロセッサ１４はこの操作信号に基づいてユーザのゲーム操作を判定する。例えば、マイクロプロセッサ１４は、この操作信号（ポインティング情報）に基づいて、コントローラ３２の前端部３２ａが指し示すゲーム画面内の位置を特定する。また例えば、マイクロプロセッサ１４は、この操作信号に基づいて、方向ボタン４４、ボタン４６ａ、４６ｂ、４６ｃの押下操作が行われたか否かを判定する。
【００３１】
上記構成を備えるゲーム装置１０では、光ディスク２５から読み出されたサッカーゲーム用のプログラムが実行されることによってサッカーゲームが提供される。
【００３２】
図４は、主記憶２６に構築される仮想３次元空間（ゲーム空間）の一例を示している。図４に示すように、仮想３次元空間５０には、サッカーのフィールドを表すフィールドオブジェクト５２と、ゴールを表すゴールオブジェクト５４と、が配置されることによって、サッカーの試合会場が形成される。フィールドオブジェクト５２はＸｗＺｗ平面に平行に配置される。フィールドオブジェクト５２上には、サッカー選手を表す選手オブジェクト５６と、サッカーボールを表すボールオブジェクト５８と、が配置される。図４では省略されているが、フィールドオブジェクト５２上には２２体の選手オブジェクト５６が配置される。
【００３３】
仮想３次元空間５０には仮想カメラ５９（視点５９ａ及び視線方向５９ｂ）が設定される。仮想カメラ５９は例えばボールオブジェクト５８に従動する。この仮想カメラ５９から仮想３次元空間５０を見た様子を表すゲーム画面がモニタ１８に表示される。つまり、ゲーム画面には、視点５９ａから視線方向５９ｂを見た場合の仮想３次元空間５０の様子が表される。
【００３４】
図５はゲーム画面の一例を示している。図５に示すように、ゲーム画面６０には、ユーザによって操作される選手オブジェクト５６である操作対象選手オブジェクト５６ａと、操作対象選手オブジェクト５６ａと同じチームに属する選手オブジェクト５６である味方選手オブジェクト５６ｂと、対戦相手チームに属する選手オブジェクト５６である対戦相手選手オブジェクト５６ｃと、が表示される。味方選手オブジェクト５６ｂ及び対戦相手選手オブジェクト５６ｃはコンピュータによって操作される。
【００３５】
また、ゲーム画面６０には、仮想カメラ５９から仮想３次元空間５０を見た様子を表す画像とともに、円形状のカーソル６２と、経過時間を示す経過時間画像６４と、両チームの得点状況を示す得点状況画像６６と、が表示される。カーソル６２はコントローラ３２の前端部３２ａが指し示す位置に表示される。
【００３６】
このサッカーゲームでは、操作対象選手オブジェクト５６ａは、カーソル６２の表示位置に対応する仮想３次元空間５０内の位置に向かって移動する。このため、ユーザは、操作対象選手オブジェクト５６ａの移動目標位置（移動方向）を、コントローラ３２の前端部３２ａで指し示すことによって指示する。また、操作対象選手オブジェクト５６ａがボールオブジェクト５８を保持している状態で、ユーザがキック指示ボタン（例えばボタン４６ａ）を押下すると、操作対象選手オブジェクト５６ａは、カーソル６２の表示位置に対応する仮想３次元空間５０内の位置に向かってボールオブジェクト５８を蹴り出す。例えば、カーソル６２が味方選手オブジェクト５６ｂの位置に移動した状態で、ユーザがキック指示ボタンを押下すると、その味方選手オブジェクト５６ｂに向かってボールオブジェクト５８が蹴り出される。また例えば、カーソル６２が、味方選手オブジェクト５６ｂ及び対戦相手選手オブジェクト５６ｃがいない領域（フリースペース）に位置する状態で、ユーザがキック指示ボタンを押下すると、そのフリースペースに向かってボールオブジェクト５８が蹴り出される。このため、ユーザは、操作対象選手オブジェクト５６ａのキック目標位置（キック方向）を、コントローラ３２の前端部３２ａで指し示すことによって指示する。
【００３７】
このようなサッカーゲームを実現する場合には、操作対象選手オブジェクト５６ａやボールオブジェクト５８の移動方向を特定するために、コントローラ３２の前端部３２ａが指し示すゲーム画面６０内の位置（カーソル６２の表示位置）から、その位置に対応する仮想３次元空間５０内の位置を判断する必要がある。以下、カーソル６２の表示位置に対応する仮想３次元空間５０内の位置を判断するための技術について説明する。
【００３８】
まず、ゲーム装置１０に記憶されるデータについて説明する。
【００３９】
光ディスク２５には、仮想３次元空間５０に配置される各オブジェクトの形状を表すモデルデータが記憶される。モデルデータは、オブジェクトを構成するポリゴンの各頂点の座標を示すデータである。
【００４０】
主記憶２６には、ゲームの状況を示すゲーム状況情報が記憶される。ゲーム状況情報には、例えばカーソル６２の表示位置情報が含まれる。カーソル６２の表示位置情報は、カーソル６２のゲーム画面６０内における表示位置を、スクリーン座標系における座標値（スクリーン座標値）によって示す情報である。なお、スクリーン座標系は図５に示すＸＹ座標系である。また、ゲーム状況情報には、例えば選手オブジェクト５６の位置情報、姿勢情報、移動方向情報や移動速度情報が含まれる。選手オブジェクト５６の位置情報、姿勢情報、移動方向情報や移動速度情報は、選手オブジェクト５６の仮想３次元空間５０内における位置、姿勢、移動方向や移動速度を、ワールド座標系の座標値によって示す情報である。ここで、ワールド座標系は図４に示すＸｗＹｗＺｗ座標系である。また、ゲーム状況情報には、例えばボールオブジェクト５８の位置情報、移動方向情報や移動速度情報が含まれる。ボールオブジェクト５８の位置情報、移動方向情報や移動速度情報は、ボールオブジェクト５８の仮想３次元空間５０内における位置、移動方向や移動速度を、ワールド座標系の座標値によって示す情報である。また、ゲーム状況情報には、例えば仮想カメラ５９の位置情報や姿勢情報が含まれる。仮想カメラ５９の位置情報や姿勢情報は、仮想カメラ５９の仮想３次元空間５０内における位置（視点５９ａ）や姿勢（視線方向５９ｂ）を、ワールド座標系の座標値によって示す情報である。さらに、ゲーム状況情報には、例えば経過時間や両チームの得点状況を示す情報が含まれる。
【００４１】
次に、ゲーム装置１０で実行される処理について説明する。図６は、ゲーム装置１０で所定時間（本実施の形態の場合には１／６０秒）ごとに実行される処理のうち、本発明に関連するものを主として示すフロー図である。この処理は、光ディスク２５から読み出されたプログラムがゲーム装置１０（マイクロプロセッサ１４）によって実行されることによって実現される。
【００４２】
図６に示すように、ゲーム装置１０はゲーム状況情報更新処理を実行する（Ｓ１０１）。ゲーム状況情報更新処理は、主記憶２６に記憶されるゲーム状況情報を更新するための処理である。図７及び図８はゲーム状況情報更新処理を示すフロー図である。
【００４３】
図７に示すように、ゲーム装置１０は、コントローラ３２から供給されるポインティング情報に基づいて、コントローラ３２の前端部３２ａが指し示すゲーム画面６０内の位置（スクリーン座標値）を取得する（Ｓ２０１）。そして、ゲーム装置１０は、Ｓ２０１において取得されたスクリーン座標値をカーソル６２の表示位置として記憶させるために、主記憶２６に記憶されるカーソル６２の表示位置情報を更新する（Ｓ２０２）。
【００４４】
その後、ゲーム装置１０は、カーソル６２の表示位置に対応するフィールドオブジェクト５２上の位置を判断するための処理（Ｓ２０３乃至Ｓ２１４）を実行する。まず、ゲーム装置１０は変数ｎの値を０に初期化する（Ｓ２０３）。
【００４５】
また、ゲーム装置１０は、フィールドオブジェクト５２上に複数の基準点を初期設定する（Ｓ２０４）。図９は基準点の初期設定について説明するための図である。図９に示すように、ゲーム装置１０は、フィールドオブジェクト５２を長辺方向及び短辺方向にそれぞれ４分割することによって得られるブロックの各頂点を基準点Ｐｉｊ（ｉ，ｊは１〜５の整数）として取得する。ここで、基準点Ｐ１１とは左上の基準点を指し、基準点Ｐ１５とは右上の基準点を指すこととする。また、基準点Ｐ５１とは左下の基準点を指し、基準点Ｐ５５とは右下の基準点を指すこととする。
【００４６】
また、ゲーム装置１０は変数ｌａをＬａ／４に初期化し、変数ｌｂをＬｂ／４に初期化する（Ｓ２０５）。ここで、図９に示すように、Ｌａはフィールドオブジェクト５２の長辺の長さであり、Ｌｂはフィールドオブジェクト５２の短辺の長さである。
【００４７】
その後、ゲーム装置１０は各基準点Ｐｉｊの位置座標をワールド座標系からスクリーン座標系に変換することによって、各基準点Ｐｉｊに対応するスクリーン座標値を取得する（Ｓ２０６）。ここでは、後述のＳ１０２の処理において各オブジェクトの頂点座標をワールド座標系からスクリーン座標系に変換するために用いられる座標変換演算と同じ座標変換演算が用いられる。
【００４８】
その後、ゲーム装置１０は、各基準点Ｐｉｊについて、その基準点Ｐｉｊに対応するスクリーン座標値と、カーソル６２の表示位置（スクリーン座標値）と、の間の距離を算出する（Ｓ２０７）。そして、ゲーム装置１０は、複数の基準点Ｐｉｊのうちから、Ｓ２０７で算出された距離が最も小さい基準点Ｐｉｊを選択する（Ｓ２０８）。
【００４９】
その後、ゲーム装置１０は変数ｎの値に１を加算する（Ｓ２０９）。そして、ゲーム装置１０は変数ｎの値がＮ未満であるか否かを判定する（Ｓ２１０）。
【００５０】
変数ｎの値がＮ未満である場合、ゲーム装置１０は、Ｓ２０８において選択された基準点Ｐｉｊに基づいて、フィールドオブジェクト５２上の基準点設定対象領域を決定する（Ｓ２１１）。図１０は基準点設定対象領域について説明するための図である。ここで図１０は、図９に示すように基準点Ｐｉｊが設定された状態で、Ｓ２０８において基準点Ｐ３３が選択された場合の基準点設定対象領域を示している。図１０に示すように、ゲーム装置１０は、フィールドオブジェクト５２上の、下記の条件（１）及び（２）を満足するＸｗ軸座標及びＺｗ軸座標（ｘｗ，ｚｗ）が含まれる領域を基準点設定対象領域６８に設定する。なお、下記の条件（１）及び（２）において、（ｘｗ０，ｚｗ０）は、Ｓ２０８で選択された基準点ＰｉｊのＸｗ軸座標及びＺｗ軸座標を示す。
【００５１】
ｘｗ０−（ｌａ／２）≦ｘｗ≦ｘｗ０＋（ｌａ／２）  ・・・  （１）
ｚｗ０−（ｌｂ／２）≦ｚｗ≦ｚｗ０＋（ｌｂ／２）  ・・・  （２）
【００５２】
そして、ゲーム装置１０は、Ｓ２１１で決定した基準点設定対象領域６８に複数の基準点を再設定する（Ｓ２１２）。図１１は基準点の再設定について説明するための図である。ここで図１１は、図１０に示すように基準点設定対象領域６８が決定された場合について示している。図１１に示すように、ゲーム装置１０は、基準点設定対象領域６８を長辺方向及び短辺方向にそれぞれ８分割することによって得られる各ブロックの各頂点を新たな基準点Ｐｉｊ（ｉ，ｊは１〜９の整数）として設定する。ここで、基準点Ｐ１１とは左上の基準点を指し、基準点Ｐ１９とは右上の基準点を指すこととする。また、基準点Ｐ９１とは左下の基準点を指し、基準点Ｐ９９とは右下の基準点を指すこととする。
【００５３】
ゲーム装置１０は基準点Ｐｉｊを再設定したら、変数ｌａをｌａ／８に更新し、変数ｌｂをｌｂ／８に更新する（Ｓ２１３）。その後、ゲーム装置１０はＳ２０６の処理から再実行する。
【００５４】
一方、Ｓ２１０において変数ｎの値がＮ未満でないと判定された場合、ゲーム装置１０は、Ｓ２０８で選択された基準点Ｐｉｊが、カーソル６２の表示位置に対応するフィールドオブジェクト５２上の位置であると判断する（Ｓ２１４）。
【００５５】
以上のように、ゲーム装置１０では、フィールドオブジェクト５２上に複数の基準点が設定される（Ｓ２０４及びＳ２１２参照）。またゲーム装置１０では、各基準点に対応するスクリーン座標値が取得される（Ｓ２０６参照）。またゲーム装置１０では、複数の基準点のうちから、スクリーン座標値がカーソル６２のスクリーン座標値に最も近い基準点が選択される（Ｓ２０７及びＳ２０８参照）。上記の基準点の設定及び選択は所定回数繰り返される。このとき、上記の基準点の設定及び選択が繰り返されるごとに、基準点設定対象領域は狭くなっていく（Ｓ２１３参照）。そしてゲーム装置１０では、上記の基準点の設定及び選択が所定回数繰り返されると、最後に選択された基準点が、カーソル６２の表示位置に対応するフィールドオブジェクト５２上の位置として判断される（Ｓ２１４参照）。ゲーム装置１０によれば、カーソル６２の表示位置に対応するフィールドオブジェクト５２上の位置を比較的高精度に、かつ、比較的簡易な処理で特定することが可能になる。なお、カーソル６２の表示位置に対応するフィールドオブジェクト５２上の位置の精度は、上記の基準点の設定及び選択を繰り返す回数を増やすことによって向上させることが可能である。
【００５６】
ところで、基準点を初期設定する際（Ｓ２０４）、フィールドオブジェクト５２上を細かく分割することによって、最初から多くの基準点を設定することも考えられる。このようにすれば、上記の基準点の設定及び選択を繰り返す必要がなくなる。しかしながら、この場合、多くの基準点に対して座標変換演算（Ｓ２０６）を行わなければならなくなり、処理負荷が重くなってしまう。この点、本実施の形態の場合、基準点を初期設定する際には、フィールドオブジェクト５２上を比較的大まかに分割することによって、比較的少ない数の基準点を設定し、基準点を再設定する際に（Ｓ２１２）、すなわち、カーソル６２の表示位置に対応するフィールドオブジェクト５２上の位置が含まれる領域がある程度特定された段階で、該領域をより細かく分割することによって、比較的多くの基準点を設定するようになっている。こうすれば、最初から多くの基準点を設定する態様に比べて、座標変換演算の回数を低く抑えることが可能になり、その結果として、処理負荷の軽減を図ることが可能になる。
【００５７】
なおゲーム装置１０は、基準点を初期設定する際（Ｓ２０４）、フィールドオブジェクト５２全体を基準点設定対象領域とするのではなく、視点５９ａや視線方向５９ｂに基づいて、フィールドオブジェクト５２上の一部の領域を基準点設定対象領域として決定するようにしてもよい。こうすることによって、ゲーム装置１０は、基準点を初期設定する際、例えば、フィールドオブジェクト５２上の、ゲーム画面６０への表示対象となる領域を基準点設定対象領域として決定し、該領域内に基準点を設定するようにしてもよい。こうすれば、基準点を初期設定する段階から、カーソル６２の表示位置に対応するフィールドオブジェクト５２上の位置が含まれる領域がある程度特定された状態になるため、基準点の設定及び選択を繰り返す回数を減らすことができる。その結果として、処理負荷のさらなる軽減を図ることが可能になる。
【００５８】
またゲーム装置１０は、Ｓ２１０の処理を実行する代わりに、Ｓ２０８で選択された基準点に対応するスクリーン座標値と、カーソル６２の表示位置（スクリーン座標値）と、の間の距離が所定の基準距離より大きいか否かを判定するようにしてもよい。ここで、「基準距離」とは、Ｓ２０８で選択された基準点に対応するスクリーン座標値と、カーソル６２の表示位置（スクリーン座標値）と、がほぼ一致していると判断できるような距離である。この「基準距離」は、カーソル６２の表示位置に対応するフィールドオブジェクト５２上の位置をどの程度の精度で特定したいかを考慮して設定される。この場合、ゲーム装置１０は、上記距離が基準距離よりも大きい場合にはＳ２１１の処理を実行し、上記距離が基準距離以下である場合にはＳ２１４の処理を実行する。なお、この場合、Ｓ２０３及びＳ２０９の処理は省略することができる。このようにして、ゲーム装置１０は、Ｓ２０８で選択された基準点に対応するスクリーン座標値と、カーソル６２の表示位置（スクリーン座標値）と、がほぼ一致すると判断されるまで、基準点の設定及び選択を繰り返すようにしてもよい。こうすれば、カーソル６２の表示位置に対応するフィールドオブジェクト５２上の位置の特定が一定の精度で行われるように担保することが可能になる。
【００５９】
なおゲーム装置１０は、Ｓ２１０において変数ｎの値がＮ未満であると判定された場合に、Ｓ２０８で選択された基準点に対応するスクリーン座標値と、カーソル６２の表示位置（スクリーン座標値）と、の間の距離が所定の基準距離より大きいか否かを判定するようにしてもよい。そしてゲーム装置１０は、上記距離が基準距離よりも大きい場合にはＳ２１１の処理を実行し、上記距離が基準距離以下である場合にはＳ２１４の処理を実行するようにしてもよい。Ｓ２０８で選択された基準点に対応するスクリーン座標値と、カーソル６２の表示位置（スクリーン座標値）と、がほぼ一致すると判断されるような場合には、基準点の設定及び選択をそれ以上繰り返す必要がないと考えられる。この点、上記のようにすれば、基準点の設定及び選択の不必要な繰り返しを抑制することが可能になり、処理負荷の軽減を図ることが可能になる。
【００６０】
Ｓ２１４において、Ｓ２０８で選択された基準点が、カーソル６２の表示位置に対応するフィールドオブジェクト５２上の位置であると判断された場合、ゲーム装置１０は、Ｓ２０８で選択された基準点に基づいて、ゲーム状況情報を更新する（Ｓ２１５）。
【００６１】
例えば、ゲーム装置１０は、操作対象選手オブジェクト５６ａの位置情報や移動方向情報を、Ｓ２０８で選択された基準点の位置に基づいて更新する。より具体的には、ゲーム装置１０は、「操作対象選手オブジェクト５６ａの現在位置から、Ｓ２０８で選択された基準点に向かう方向」を取得する。そして、ゲーム装置１０は、該取得した方向を操作対象選手オブジェクト５６ａの移動方向として記憶させるべく、操作対象選手オブジェクト５６ａの移動方向情報を更新する。また、ゲーム装置１０は、「操作対象選手オブジェクト５６ａの現在位置から、操作対象選手オブジェクト５６ａの移動方向に、操作対象選手オブジェクト５６ａの移動速度に応じた距離だけ離れた位置」を取得する。そして、ゲーム装置１０は、該取得した位置を操作対象選手オブジェクト５６ａの現在位置として記憶させるべく、操作対象選手オブジェクト５６ａの位置情報を更新する。このようにして、操作対象選手オブジェクト５６ａの位置情報や移動方向情報が更新された結果として、ゲーム画面６０に、カーソル６２の表示位置に向かって操作対象選手オブジェクト５６ａが移動する様子が表される。なお、操作対象選手オブジェクト５６ａがボールオブジェクト５８を保持している場合、ゲーム装置１０は、操作対象選手オブジェクト５６ａの位置情報や移動方向情報を更新するとともに、ボールオブジェクト５８の位置情報や移動方向情報も更新する。その結果として、操作対象選手オブジェクト５６ａがボールオブジェクト５８を保持している場合には、ゲーム画面６０に、カーソル６２の表示位置に向かって操作対象選手オブジェクト５６ａがドリブルする様子が表されるようになる。
【００６２】
また例えば、ゲーム装置１０は、ボールオブジェクト５８の位置情報や移動方向情報を、Ｓ２０８で選択された基準点の位置に基づいて更新する。例えば、ゲーム装置１０は、操作対象選手オブジェクト５６ａがボールオブジェクト５８を保持している否かを判定する。また、ゲーム装置１０は、キック指示ボタンが押下されたか否かをコントローラ３２から入力される操作信号に基づいて判定する。そして、ゲーム装置１０は、操作対象選手オブジェクト５６ａがボールオブジェクト５８を保持しており、かつ、キック指示ボタンが押下されたと判定した場合、「ボールオブジェクト５８又は操作対象選手オブジェクト５６ａの現在位置から、Ｓ２０８で選択された基準点に向かう方向」を取得する。そして、ゲーム装置１０は、該取得した方向をボールオブジェクト５８の移動方向として記憶させるべく、ボールオブジェクト５８の移動方向情報を更新する。また例えば、ゲーム装置１０は、「ボールオブジェクト５８の現在位置から、ボールオブジェクト５８の移動方向に向かって、ボールオブジェクト５８の移動速度に応じた距離だけ離れた位置」を取得する。そして、ゲーム装置１０は、該取得した位置をボールオブジェクト５８の現在位置として記憶させるべく、ボールオブジェクト５８の位置情報を更新する。このようにして、ボールオブジェクト５８の位置情報や移動方向情報が更新された結果として、操作対象選手オブジェクト５６ａがボールオブジェクト５８を保持している状態でキック指示ボタンが押下された場合に、ゲーム画面６０に、カーソル６２の表示位置に向かってボールオブジェクト５８が蹴り出される様子が表されるようになる。
【００６３】
以上のゲーム状況情報更新処理（Ｓ１０１）が完了すると、ゲーム装置１０はゲーム画面生成処理を実行する（Ｓ１０２）。ゲーム画面生成処理では、主記憶２６に記憶されるゲーム状況情報に基づいて、ゲーム画面６０がＶＲＡＭ上に生成される。すなわち、ゲーム装置１０は、仮想３次元空間５０に配置された各オブジェクトの頂点座標を所定の座標変換演算を用いてワールド座標系からスクリーン座標系に座標変換することによって、仮想３次元空間５０を仮想カメラ５９を見た様子を表す視野画像をＶＲＡＭ上に描画する。より具体的には、ゲーム装置１０はジオメトリ処理を実行し、ワールド座標系から視点座標系、すなわち、視点５９ａを原点とし、視線方向５９ｂをＺｗ軸方向とする座標系への座標変換を行う。また、ゲーム装置１０はクリッピング処理も行う。そして、ゲーム装置１０は、視野範囲内の各オブジェクトを視点座標系からスクリーン座標系に座標変換することによって、視野画像をＶＲＡＭ上に描画する。また、ゲーム装置１０は、ＶＲＡＭ上に描画された視野画像に対して、カーソル６２、経過時間画像６４や得点状況画像６６を上書き描画する。こうして、ゲーム画面６０がＶＲＡＭ上に生成される。ＶＲＡＭ上に生成されたゲーム画面６０は所定のタイミングでモニタ１８に表示される。
【００６４】
次に、ゲーム装置１０で実現される機能について説明する。図１２は、ゲーム装置１０で実現される機能のうち、本発明に関連するものを主として示す機能ブロック図である。図１２に示すように、ゲーム装置１０は、スクリーン座標値指定受付部７０と、基準点変換部７２と、比較部７４と、基準点選択部７６と、基準点再設定部７８と、ゲーム処理部８０と、を機能的に含んでいる。これらの機能ブロックは、例えば図６乃至図８に示す処理をゲーム装置１０（マイクロプロセッサ１４）に実行させるためのプログラムが光ディスク２５から読み出され、ゲーム装置１０（マイクロプロセッサ１４）によって実行されることによって実現される。
【００６５】
スクリーン座標値指定受付部７０はマイクロプロセッサ１４及び操作入力部３１を主として実現される。スクリーン座標値指定受付部７０は、ユーザによるスクリーン座標値の指定を受け付ける。例えば、スクリーン座標値指定受付部７０は、コントローラ３２から入力される操作信号（ポインティング情報）に基づいて、コントローラ３２の前端部３２ａが指し示すゲーム画面６０内の位置を取得する。言い換えれば、スクリーン座標値指定受付部７０は、コントローラ３２から入力される操作信号に基づいて、ゲーム画面６０におけるカーソル６２の表示位置（スクリーン座標値）を取得する。
【００６６】
基準点変換部７２はマイクロプロセッサ１４を主として実現される。基準点変換部７２は、仮想３次元空間５０に設定される複数の基準点の各々を所定の座標変換演算を用いてスクリーン座標系に座標変換することによって、上記複数の基準点の各々に対応するスクリーン座標値を取得する。ここで、所定の座標変換演算は、仮想３次元空間５０を視点５９ａから見た様子を表すゲーム画面６０を生成する際に、仮想３次元空間５０に配置された各オブジェクトの頂点座標をワールド座標系からスクリーン座標系に座標変換するために用いられる座標変換演算と同じものである。
【００６７】
比較部７４はマイクロプロセッサ１４を主として実現される。比較部７４は、スクリーン座標値指定受付部７０によって受け付けられたスクリーン座標値と、基準点変換部７２によって取得された、複数の基準点の各々に対応するスクリーン座標値と、を比較する。例えば、比較部７４は、複数の基準点の各々について、基準点変換部７２によって取得されたその基準点の各々に対応するスクリーン座標値と、スクリーン座標値指定受付部７０によって受け付けられたスクリーン座標値と、の間の距離を算出する。
【００６８】
基準点選択部７６はマイクロプロセッサ１４を主として実現される。基準点選択部７６は、比較部７４による比較結果に基づいて、複数の基準点のうちの少なくとも１つを選択する。例えば、基準点選択部７６は、複数の基準点のうちから、「基準点変換部７２によって取得されたスクリーン座標値が、スクリーン座標値指定受付部７０によって受け付けられたスクリーン座標値に最も近い基準点」を選択する。
【００６９】
基準点再設定部７８はマイクロプロセッサ１４を主として実現される。基準点再設定部７８は、基準点選択部７６によって選択された基準点に基づいて、仮想３次元空間５０に複数の基準点を再設定する。基準点再設定部７８は、基準点選択部７６によって選択された基準点と所定の位置関係にある複数の位置を複数の基準点として再設定する。
【００７０】
基準点再設定部７８によって複数の基準点が再設定された場合、基準点変換部７２による変換と、比較部７４による比較と、基準点選択部７６による選択と、が再実行される。
【００７１】
例えば、基準点再設定部７８による再設定と、基準点変換部７２による変換と、比較部７４による比較と、基準点選択部７６による選択と、の一連の処理は所定条件が満足するまでくり返し実行される。ここで、所定条件は、例えば、基準点再設定部７８による再設定と、基準点変換部７２による変換と、比較部７４による比較と、基準点選択部７６による選択と、の一連の処理のくり返し実行済み回数が所定回数であるか否かの条件を含む。また、所定条件は、例えば、スクリーン座標値指定受付部７０によって受け付けられたスクリーン座標値と、基準点選択部７６によって選択された基準点に対応するスクリーン座標値と、の間の距離が所定距離未満であるか否かの条件を含む。
【００７２】
ゲーム処理部８０はマイクロプロセッサ１４を主として実現される。ゲーム処理部８０は、基準点再設定部７８によって再設定された複数の基準点のうちから基準点選択部７６によって選択された基準点に基づいて、ゲーム処理を実行する。すなわち、ゲーム処理部８０は、基準点再設定部７８によって再設定された複数の基準点のうちから基準点選択部７６によって選択された基準点に基づいて、スクリーン座標値指定受付部７０によって受け付けられたスクリーン座標値に対応する仮想３次元空間５０内の位置を判断する。基準点再設定部７８による再設定と、基準点変換部７２による変換と、比較部７４による比較と、基準点選択部７６による選択と、の一連の処理が所定条件が満足するまでくり返し実行される場合、ゲーム処理部８０は、基準点選択部７６によって最後に選択された基準点に基づいて、スクリーン座標値指定受付部７０によって受け付けられたスクリーン座標値に対応する仮想３次元空間５０内の位置を判断する。
【００７３】
例えば、ゲーム処理部８０は、基準点再設定部７８によって再設定された複数の基準点のうちから基準点選択部７６によって選択された一の基準点が、スクリーン座標値指定受付部７０によって受け付けられたスクリーン座標値に対応する仮想３次元空間５０内の位置であると判断する。そして、ゲーム処理部８０は、その基準点の仮想３次元空間５０における位置に基づいて、ゲーム処理（本実施の形態の場合、操作対象選手オブジェクト５６ａやボールオブジェクト５８の移動制御処理など）を実行する。
【００７４】
以上説明したように、ゲーム装置１０によれば、ユーザによって指定されるスクリーン座標値に対応する仮想３次元空間５０内の位置を比較的簡易な処理で判断できるようになる。その結果、ゲーム装置１０によれば、ユーザによって指定されるスクリーン座標値に対応する仮想３次元空間５０内の位置に基づいて進行するゲームを比較的簡易な処理で実現できるようになる。
【００７５】
なお、本発明は以上に説明した実施の形態に限定されるものではない。
【００７６】
例えば、ゲーム装置１０は、方向ボタン４４を用いた方向指示操作に応じてカーソル６２の表示位置情報を更新するようにしてもよい。すなわち、カーソル６２は、方向ボタン４４を用いた方向指示操作に応じてゲーム画面６０内を移動するようにしてもよい。この場合、カーソル６２の表示位置がユーザによって指定されたゲーム画面６０内の位置（スクリーン座標値）に相当する。このようにして、ユーザが方向ボタン４４を用いて、ゲーム画面６０内の位置を指定できるようにしてもよい。
【００７７】
また例えば、操作入力部３１は例えばマウスやタッチパネルなどの他のポインティングデバイスであってもよい。例えば、カーソル６２は、マウスを用いた操作に応じてゲーム画面６０内を移動するようにしてもよい。この場合、カーソル６２の表示位置がユーザによって指定されたゲーム画面６０内の位置（スクリーン座標値）に相当する。このようにして、ユーザがマウスを用いて、ゲーム画面６０内の位置を指定できるようにしてもよい。また例えば、カーソル６２は、タッチパネルの押圧位置に表示されるようにしてもよい。この場合、カーソル６２の表示位置、すなわちタッチパネルの押圧位置がユーザによって指定されたゲーム画面６０内の位置（スクリーン座標値）に相当する。このようにして、ユーザがタッチパネルを用いて、ゲーム画面６０内の位置を指定できるようにしてもよい。
【００７８】
また例えば、本発明はサッカーゲーム以外のゲームを実行するゲーム装置１０にも適用することができる。本発明は、ユーザによって指定されるスクリーン座標値に対応する仮想３次元空間５０内の位置に基づいて進行するゲームを実行するゲーム装置１０に適用することができる。
【００７９】
また例えば、以上の説明では、プログラムを情報記憶媒体たる光ディスク２５から家庭用ゲーム機１１に供給するようにしたが、通信ネットワークを介してプログラムを家庭等に配信するようにしてもよい。図１３は、通信ネットワークを用いたプログラム配信システムの全体構成を示す図である。図１３に基づいて本発明に係るプログラム配信方法を説明する。図１３に示すように、このプログラム配信システム１００は、ゲームデータベース１０２、サーバ１０４、通信ネットワーク１０６、パソコン１０８、家庭用ゲーム機１１０、ＰＤＡ（携帯情報端末）１１２を含んでいる。このうち、ゲームデータベース１０２とサーバ１０４とによりプログラム配信装置１１４が構成される。通信ネットワーク１０６は、例えばインターネットやケーブルテレビネットワークを含んで構成されている。このシステムでは、ゲームデータベース（情報記憶媒体）１０２に、光ディスク２５の記憶内容と同様のプログラムが記憶されている。そして、パソコン１０８、家庭用ゲーム機１１０又はＰＤＡ１１２等を用いて需要者がゲーム配信要求をすることにより、それが通信ネットワーク１０６を介してサーバ１０４に伝えられる。そして、サーバ１０４はゲーム配信要求に応じてゲームデータベース１０２からプログラムを読み出し、それをパソコン１０８、家庭用ゲーム機１１０、ＰＤＡ１１２等、ゲーム配信要求元に送信する。ここではゲーム配信要求に応じてゲーム配信するようにしたが、サーバ１０４から一方的に送信するようにしてもよい。また、必ずしも一度にゲームの実現に必要な全てのプログラムを配信（一括配信）する必要はなく、ゲームの局面に応じて必要な部分を配信（分割配信）するようにしてもよい。このように通信ネットワーク１０６を介してゲーム配信するようにすれば、プログラムを需要者は容易に入手することができるようになる。
【図面の簡単な説明】
【００８０】
【図１】本実施の形態に係るゲーム装置のハードウェア構成を示す図である。
【図２】操作入力部の一例を示す図である。
【図３】コントローラの一例を示す図である。
【図４】仮想３次元空間の一例を示す図である。
【図５】ゲーム画面の一例を示す図である。
【図６】ゲーム装置で実行される処理を示すフロー図である。
【図７】ゲーム装置で実行される処理を示すフロー図である。
【図８】ゲーム装置で実行される処理を示すフロー図である。
【図９】基準点の初期設定について説明するための図である。
【図１０】基準点設定対象領域について説明するための図である。
【図１１】基準点の再設定について説明するための図である。
【図１２】本実施の形態に係るゲーム装置の機能ブロック図である。
【図１３】本発明の他の実施形態に係るプログラム配信システムの全体構成を示す図である。
【符号の説明】
【００８１】
１０  ゲーム装置、１１，１１０  家庭用ゲーム機、１２  バス、１４  マイクロプロセッサ、１６  画像処理部、１８  モニタ、２０  音声処理部、２２  スピーカ、２４  光ディスクドライブ、２５  光ディスク、２６  主記憶、２７  メモリカードスロット、２８  メモリカード、２９  通信インタフェース、３０  コントローラインタフェース、３１  操作入力部、３２  コントローラ、３２ａ  前端部、３４  撮像部、３６  撮像画像解析部、３８  発光部、４０ａ，４０ｂ  光源、４２  基準位置、４４  方向ボタン、４６ａ，４６ｂ，４６ｃ  ボタン、５０  仮想３次元空間、５２  フィールドオブジェクト、５４  ゴールオブジェクト、５６  選手オブジェクト、５８  ボールオブジェクト、５９  仮想カメラ、５９ａ  視点、５９ｂ  視線方向、６０  ゲーム画面、６２  カーソル、６４  経過時間画像、６６  得点状況画像、６８  基準点設定対象領域、７０  スクリーン座標値指定受付部、７２  基準点変換部、７４  比較部、７６  基準点選択部、７８  基準点再設定部、８０  ゲーム処理部、１００  プログラム配信システム、１０２  ゲームデータベース、１０４  サーバ、１０６  通信ネットワーク、１０８  パソコン、１１２  携帯情報端末（ＰＤＡ）、１１４  プログラム配信装置。
【図１】
2008154777.tif 000003
【図２】
2008154777.tif 000004
【図３】
2008154777.tif 000005
【図４】
2008154777.tif 000006
【図５】
2008154777.tif 000007
【図６】
2008154777.tif 000008
【図７】
2008154777.tif 000009
【図８】
2008154777.tif 000010
【図９】
2008154777.tif 000011
【図１０】
2008154777.tif 000012
【図１１】
2008154777.tif 000013
【図１２】
2008154777.tif 000014
【図１３】
2008154777.tif 000015