(57)【特許請求の範囲】
【請求項１】
移動物体を用いて行われるスポーツのゲームを実行するゲーム装置であって、
ゲーム空間において前記移動物体が移動を開始する際の初期位置を取得する位置取得手段と、
前記ゲーム空間において前記移動物体が移動を開始する際の初期方向を取得する方向取得手段と、
前記位置取得手段が取得した初期位置と前記方向取得手段が取得した初期方向とに基づいて前記移動物体の移動を開始させ、前記移動物体を移動させる制御手段と、
を含み、
前記制御手段は、前記移動物体の進行方向を、前記移動物体の元々の進行方向と乱数とに基づいて決定される進行方向に複数回変更する変更手段を含むことを特徴とするゲーム装置。
【請求項２】
前記制御手段は、前記移動物体の移動速度が基準値以下となった場合、前記変更手段が進行方向を変更することを制限する変更制限手段を含むことを特徴とする請求項１に記載のゲーム装置。
【請求項３】
前記制御手段は、所定の演算処理によって得られる前記移動物体の垂直方向の位置が直前の垂直方向の位置よりも低い場合、前記移動物体の垂直方向の位置を前記所定の演算処理によって得られる垂直方向の位置よりも低くなるように制御する垂直位置変更手段を含むことを特徴とする請求項１又は２に記載のゲーム装置。
【請求項４】
前記変更手段が変更した進行方向の変更履歴を記憶する記憶手段を更に含み、
前記変更手段は、前記変更履歴に基づいて前記移動物体の進行方向を変更することを特徴とする請求項１〜３の何れか一項に記載のゲーム装置。
【請求項５】
前記ゲーム装置は、ユーザが指し示すゲーム画面上の位置に関する位置データを入力するポインティングデバイスを含み、当該ポインティングデバイスから第一の入力を受け付けるとゲームキャラクターに準備動作を開始させるものであって、
前記方向取得手段は、前記ゲームキャラクターが準備動作を開始した後の基準タイミングにおいて入力された前記位置データに基づいて初期方向を取得し、
所定の条件を満たした場合、前記ゲームキャラクターが準備動作を開始してから前記基準タイミングが訪れるまでの間に前記ポインティングデバイスを振動させる振動指示手段を更に含むことを特徴とする請求項１〜４の何れか一項に記載のゲーム装置。
【請求項６】
前記ゲーム装置は、
ユーザが指し示すゲーム画面上の位置に関する位置データを入力するポインティングデバイスと、
前記位置データに対応する位置に指標を表示させる表示制御手段と、
を更に含み、
前記方向取得手段は、前記位置データに基づいて初期方向を取得し、
前記表示制御手段は、所定の条件を満たした場合、前記指標を位置データに対応する位置からずらして表示させることを特徴とする請求項１〜４の何れか一項に記載のゲーム装置。
【請求項７】
前記変更手段は、前記制御手段が前記移動物体の移動を開始させた後において、所定フレーム間隔毎の前記移動物体の進行方向を、前記移動物体の元々の進行方向と乱数とに基づいて決定する決定手段を含み、当該決定された進行方向に前記移動物体の進行方向を変更することを特徴とする請求項１〜６の何れか一項に記載のゲーム装置。
【請求項８】
前記変更手段は、前記制御手段が前記移動物体の移動を開始させる前において、前記移動物体が移動すべき軌道を算出する軌道算出手段を含み、
前記制御手段は、前記軌道算出手段が算出した軌道に基づいて前記移動物体を移動させ、
前記軌道算出手段は、所定時間間隔毎の前記移動物体の進行方向を、前記移動物体の元々の進行方向と乱数とに基づいて決定する決定手段を含み、当該決定された進行方向に基づいて軌道を算出することを特徴とする請求項１〜６の何れか一項に記載のゲーム装置。
【請求項９】
移動物体を用いて行われるスポーツのゲームを実行するゲーム装置の制御方法であって、
位置取得手段が、ゲーム空間において前記移動物体が移動を開始する際の初期位置を取得する位置取得ステップと、
方向取得手段が、前記ゲーム空間において前記移動物体が移動を開始する際の初期方向を取得する方向取得ステップと、
制御手段が、前記初期位置と前記初期方向とに基づいて前記移動物体の移動を開始させ、前記移動物体を移動させる制御ステップと、
を含み、
前記制御ステップは、変更手段が、前記移動物体の進行方向を、前記移動物体の元々の進行方向と乱数とに基づいて決定される進行方向に複数回変更する変更ステップを含むことを特徴とするゲーム装置の制御方法。
【請求項１０】
移動物体を用いて行われるスポーツのゲームを実行するゲーム装置としてコンピュータを機能させるためのプログラムであって、
ゲーム空間において前記移動物体が移動を開始する際の初期位置を取得する位置取得手段、
前記ゲーム空間において前記移動物体が移動を開始する際の初期方向を取得する方向取得手段、
前記位置取得手段が取得した初期位置と前記方向取得手段が取得した初期方向とに基づいて前記移動物体の移動を開始させ、前記移動物体を移動させる制御手段、
として前記コンピュータを機能させ、
前記制御手段は、前記移動物体の進行方向を、前記移動物体の元々の進行方向と乱数とに基づいて決定される進行方向に複数回変更する変更手段として機能することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム装置、ゲーム装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、複数のオブジェクトが配置されたゲーム空間の全体又は一部をゲーム画面に表示するゲーム装置が知られている。移動物体（ボール又はパック等）を用いて行われるスポーツゲームを実行するゲーム装置を例に挙げると、実際のスポーツの試合と同じように各オブジェクトが配置されたゲーム空間の全体又は一部がゲーム画面に表示される。
【０００３】
例えば、サッカーゲームにおけるフリーキックの場面では、キッカーの選手やディフェンスの選手に対応する選手オブジェクト、サッカーボールのオブジェクト、ゴールオブジェクト等がゲーム画面に表示される。ユーザは、コントローラを操作してシュートを狙う場所を決定する。そして、ユーザが、所定の指示をコントローラから入力すると、選手オブジェクトは助走を開始してシュートをする。フリーキックのシュートの際には、選手オブジェクトにフェイント動作を行わせるゲーム装置が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２４５７８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
実際のスポーツの試合では、技量の高い選手は種々の技を習得している。例えば、サッカーのフリーキックにおいては、技量の低い選手は、単純な弧を描くカーブをかけたり、直進するシュートを放つことしかできないが、技量の高い選手は、いわゆる無回転シュートを放つことができる。選手がボールをキックして無回転シュートを放つと、ボールは、空中に浮いている間、ほぼ無回転の状態を保つ。無回転シュートは、ボール周囲の空気抵抗の変化のために予測不可能な軌道を描く。
【０００６】
例えば、上記のようなサッカーゲームでは、無回転シュートをユーザが指示できるようになれば、技量の高いスター選手のようなプレイをユーザに実感させることが可能になる。この点、サッカーゲームにおいて無回転シュートを実現するための方法としては、物理シミュレーション演算を行うことによって、ほぼ無回転の状態のボールが予測不可能な軌道を描く様子を表す方法が考えられる。しかしながら、物理シミュレーション演算を行えば、無回転シュートの軌道を表すことが可能ではあるが、複雑な計算のために、ゲーム装置の処理負荷が重くなってしまう。
【０００７】
本発明は、上記課題に鑑みてなされたものであって、その目的とするところは、移動物体を用いて行われるスポーツのゲームにおいて、ほぼ無回転の状態の移動物体が予測不可能な軌道を描く様子を、処理負荷の軽減を図りつつ表現することが可能なゲーム装置、ゲーム装置の制御方法、及びプログラムを提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明に係るゲーム装置は、移動物体を用いて行われるスポーツのゲームを実行するゲーム装置であって、ゲーム空間において前記移動物体が移動を開始する際の初期位置を取得する位置取得手段と、前記ゲーム空間において前記移動物体が移動を開始する際の初期方向を取得する方向取得手段と、前記位置取得手段が取得した初期位置と前記方向取得手段が取得した初期方向とに基づいて前記移動物体の移動を開始させ、前記移動物体を移動させる制御手段と、を含み、前記制御手段は、前記移動物体の進行方向を、前記移動物体の元々の進行方向と乱数とに基づいて決定される進行方向に複数回変更する変更手段を含むことを特徴とする。
【０００９】
また、本発明に係るゲーム装置の制御方法は、移動物体を用いて行われるスポーツのゲームを実行するゲーム装置の制御方法であって、ゲーム空間において前記移動物体が移動を開始する際の初期位置を取得する位置取得ステップと、前記ゲーム空間において前記移動物体が移動を開始する際の初期方向を取得する方向取得ステップと、前記初期位置と前記初期方向とに基づいて前記移動物体の移動を開始させ、前記移動物体を移動させる制御ステップと、を含み、前記制御ステップは、前記移動物体の進行方向を、前記移動物体の元々の進行方向と乱数とに基づいて決定される進行方向に複数回変更する変更ステップを含むことを特徴とする。
【００１０】
また、本発明に係るプログラムは、移動物体を用いて行われるスポーツのゲームを実行するゲーム装置としてコンピュータを機能させるためのプログラムであって、ゲーム空間において前記移動物体が移動を開始する際の初期位置を取得する位置取得手段、前記ゲーム空間において前記移動物体が移動を開始する際の初期方向を取得する方向取得手段、前記位置取得手段が取得した初期位置と前記方向取得手段が取得した初期方向とに基づいて前記移動物体の移動を開始させ、前記移動物体を移動させる制御手段、として前記コンピュータを機能させ、前記制御手段は、前記移動物体の進行方向を、前記移動物体の元々の進行方向と乱数とに基づいて決定される進行方向に複数回変更する変更手段として機能することを特徴とする。このコンピュータは、パーソナルコンピュータ、サーバコンピュータ、家庭用ゲーム機、業務用ゲーム機、携帯用ゲーム機、携帯電話機、携帯情報端末等である。また、プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な情報記憶媒体に格納されてもよい。
【００１１】
本発明によれば、移動物体を用いて行われるスポーツのゲームにおいて、ほぼ無回転の状態の移動物体が予測不可能な軌道を描く様子を、処理負荷の軽減を図りつつ表現することが可能になる。
【００１２】
また、本発明の一態様では、前記制御手段は、前記移動物体の移動速度が基準値以下となった場合、前記変更手段が進行方向を変更することを制限する変更制限手段を含むようにしてもよい。
【００１３】
また、本発明の一態様では、前記制御手段は、所定の演算処理によって得られる前記移動物体の垂直方向の位置が直前の垂直方向の位置よりも低い場合、前記移動物体の垂直方向の位置を前記所定の演算処理によって得られる垂直方向の位置よりも低くなるように制御する垂直位置変更手段を含むようにしてもよい。
【００１４】
また、本発明の一態様では、前記変更手段が変更した進行方向の変更履歴を記憶する記憶手段を更に含み、前記制御手段は、前記変更履歴に基づいて、前記移動物体の進行方向を変更する手段を含むようにしてもよい。
【００１５】
また、本発明の一態様では、前記ゲーム装置は、ユーザが指し示すゲーム画面上の位置に関する位置データを入力するポインティングデバイスを含み、当該ポインティングデバイスから第一の入力を受け付けるとゲームキャラクターに準備動作を開始させるものであって、前記方向取得手段は、前記ゲームキャラクターが準備動作を開始した後の基準タイミングにおいて入力された前記位置データに基づいて初期方向を取得し、所定の条件を満たした場合、前記ゲームキャラクターが準備動作を開始してから前記基準タイミングが訪れるまでの間に前記ポインティングデバイスを振動させる振動指示手段を更に含むようにしてもよい。
【００１６】
また、本発明の一態様では、前記ゲーム装置は、ユーザが指し示すゲーム画面上の位置に関する位置データを入力するポインティングデバイスと、前記位置データに対応する位置に指標を表示させる表示制御手段と、を更に含み、前記方向取得手段は、前記位置データに基づいて初期方向を取得し、前記表示制御手段は、所定の条件を満たした場合、前記指標を位置データに対応する位置からずらして表示させるようにしてもよい。
【００１７】
また、本発明の一態様では、前記変更手段は、前記制御手段が前記移動物体の移動を開始させた後において、所定フレーム間隔毎の前記移動物体の進行方向を、前記移動物体の元々の進行方向と乱数とに基づいて決定する決定手段を含み、当該決定された進行方向に前記移動物体の進行方向を変更するようにしてもよい。
【００１８】
また、本発明の一態様では、前記変更手段は、前記制御手段が前記移動物体の移動を開始させる前において、前記移動物体が移動すべき軌道を算出する軌道算出手段を含み、前記制御手段は、前記軌道算出手段が算出した軌道に基づいて前記移動物体を移動させ、前記軌道算出手段は、所定時間間隔毎の前記移動物体の進行方向を、前記移動物体の元々の進行方向と乱数とに基づいて決定する決定手段を含み、当該決定された進行方向に基づいて軌道を算出するようにしてもよい。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係るゲーム装置のハードウェア構成を示す図である。
【図２】操作入力部の一例を示す図である。
【図３】コントローラの一例を示す図である。
【図４】仮想３次元空間の一例を示す図である。
【図５】ゲーム画面の一例を示す図である。
【図６】実施形態１に係るゲーム装置において実現される機能群を示す機能ブロック図である。
【図７】ゲーム装置において実行される処理の一例を示すフロー図である。
【図８】ゲーム装置において実行される処理の一例を示すフロー図である。
【図９】水平方向の移動の様子を示す模式図である。
【図１０】垂直方向の移動の様子を示す模式図である。
【図１１】変更履歴のデータ格納例である。
【図１２】実施形態２に係るゲーム装置において実行される処理の一例を示すフロー図である。
【図１３】実施形態３に係るゲーム装置に実現される機能群を示す機能ブロック図である。
【図１４】実施形態３に係るゲーム装置において実行される処理の一例を示すフロー図である。
【図１５】実施形態４に係るゲーム装置に実現される機能群を示す機能ブロック図である。
【図１６】実施形態４に係るゲーム装置において実行される処理の一例を示すフロー図である。
【発明を実施するための形態】
【００２０】
［１．実施形態１］
以下、本発明の実施形態１について、図面に基づき詳細に説明する。本発明の実施形態に係るゲーム装置は、例えば、家庭用ゲーム機（据置型ゲーム機）、携帯ゲーム機、携帯電話機、携帯情報端末（ＰＤＡ）又はパーソナルコンピュータ等によって実現される。ここでは、実施形態１に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【００２１】
［１−１．ゲーム装置のハードウェア構成］
図１は、実施形態１に係るゲーム装置のハードウェア構成を示す図である。図１に示すゲーム装置１０は、家庭用ゲーム機１１、表示部３０、音声出力部３１、光ディスク３２及びメモリカード３３を含む。表示部３０及び音声出力部３１は、家庭用ゲーム機１１に接続される。光ディスク３２及びメモリカード３３は情報記憶媒体であり、家庭用ゲーム機１１に装着される。表示部３０としては、例えば、家庭用テレビ受像機が用いられる。音声出力部３１としては、例えば、家庭用テレビ受像機に内蔵されたスピーカが用いられる。光ディスク３２としては、例えば、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどが用いられる。
【００２２】
家庭用ゲーム機１１は、公知のコンピュータゲームシステムである。家庭用ゲーム機１１は、バス１２、マイクロプロセッサ１３、主記憶１４、画像処理部１５、音声処理部１６、光ディスクドライブ１７、メモリカードスロット１８、通信インタフェース（Ｉ／Ｆ）１９、コントローラインタフェース（Ｉ／Ｆ）２０、及び操作入力部２１を含む。操作入力部２１以外の構成要素は、家庭用ゲーム機１１の筐体内に収容される。
【００２３】
バス１２は、アドレス及びデータを家庭用ゲーム機１１の各部でやり取りするための通信路である。マイクロプロセッサ１３、主記憶１４、画像処理部１５、音声処理部１６、光ディスクドライブ１７、メモリカードスロット１８、通信インタフェース１９、及びコントローラインタフェース２０は、バス１２によって、相互データ通信可能に接続される。
【００２４】
マイクロプロセッサ１３は、図示しないＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等に格納されるオペレーティングシステムや、光ディスク３２又はメモリカード３３から読み出されるプログラム及びデータに基づいて、家庭用ゲーム機１１の各部を制御する。
【００２５】
主記憶１４は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含み、光ディスク３２又はメモリカード３３から読み出されたプログラムやデータが、必要に応じて書き込まれる。主記憶１４は、マイクロプロセッサ１３の作業用メモリ領域としても用いられる。
【００２６】
画像処理部１５は、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）を含み、マイクロプロセッサ１３から送られる画像データに基づいてＶＲＡＭ上にゲーム画面を描画する。画像処理部１５は、このゲーム画面をビデオ信号に変換し、所定のタイミングで表示部３０に出力する。
【００２７】
音声処理部１６は、サウンドバッファを含む。音声処理部１６は、光ディスク３２からサウンドバッファに読み出された音声データを再生することにより、各種ゲーム音声（ゲーム音楽、ゲーム効果音、メッセージ等）を、音声出力部３１から出力する。
【００２８】
光ディスクドライブ１７は、光ディスク３２に記録されたプログラムやデータをマイクロプロセッサ１３からの指示に従って読み取る。本実施形態においては、プログラムやデータを家庭用ゲーム機１１に供給するために、光ディスク３２を用いることとするが、例えば、メモリカード３３などの他のあらゆる情報記憶媒体を用いるようにしてもよい。また、インターネットなどのデータ通信網を介して、遠隔地からプログラムやデータを家庭用ゲーム機１１に供給するようにしてもよい。
【００２９】
メモリカードスロット１８は、メモリカード３３を装着するためのインタフェースである。メモリカード３３は、不揮発性メモリ（例えばＥＥＰＲＯＭなど）を含み、例えば、セーブデータなどの各種ゲームデータを記憶する。
【００３０】
通信インタフェース１９は、インターネットなどのデータ通信網に通信接続するためのインタフェースである。
【００３１】
コントローラインタフェース２０は、複数のコントローラ２２を無線接続するためのインタフェースである。コントローラインタフェース２０としては、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）インタフェース規格に則ったインタフェースを利用できる。なお、コントローラインタフェース２０は、コントローラ２２を有線接続するためのインタフェースとしてもよい。
【００３２】
操作入力部２１は、ユーザが操作入力を行うためのものである。操作入力部２１は、例えば、表示部３０に表示されるゲーム画面内の位置をユーザが指し示すためのポインティングデバイスとしての機能を備える。操作入力部２１としては、例えば、特許３２６２６７７号公報に開示される技術を利用できる。
【００３３】
なお、操作入力部２１は、マイクロプロセッサ１３に対して、ユーザが指し示す位置に関する位置データや各種ボタンに対応する所定の信号を入力可能である公知の種々のポインティングデバイスが用いられてよく、これに限られない。例えば、コントローラインタフェース２０を介して無線接続されるジョイスティックやマウス等であってもよい。
【００３４】
操作入力部２１は、コントローラ２２と、発光部２５と、を含む。図２は、操作入力部２１の一例を示す図である。図２に示すように、発光部２５は、複数の光源を含み、表示部３０の上部に配置される。図２に示す例では、発光部２５の両端部に光源３４ａ，３４ｂが設けられている。なお、発光部２５は、表示部３０の下部に配置されるようにしてもよい。
【００３５】
図３は、コントローラ２２の一例を示す図である。図３に示すように、コントローラ２２は、方向ボタン３６、ボタン３７ａ，３７ｂ，３７ｃを含む。方向ボタン３６は、十字形状を有し、主に方向指示操作に用いられる。ボタン３７ａ，３７ｂ，３７ｃは、主に各種ゲーム操作に用いられる。
【００３６】
また、図１に示すように、コントローラ２２は、撮像部２３と撮影画像解析部２４とを含む。撮像部２３は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）などの撮像素子であり、コントローラ２２の前端部２２ａに設けられる。撮影画像解析部２４は、例えば、マイクロプロセッサなどであり、コントローラ２２に内蔵される。
【００３７】
ユーザが、コントローラ２２の前端部２２ａを表示部３０の方に向けると、撮像部２３によって撮影される撮影画像には、光源３４ａ及び光源３４ｂが含まれる。撮影画像解析部２４は、撮像部２３の撮影画像に写し出された光源３４ａ及び光源３４ｂの位置を解析し、その解析結果に基づいてコントローラ２２の位置及び傾きを取得する。例えば、撮影画像解析部２４は、発光部２５に含まれる所定の基準位置３５に対するコントローラ２２の相対位置と、光源３４ａ及び光源３４ｂを結ぶ直線に対するコントローラ２２の傾き角度と、を算出する。
【００３８】
ゲーム装置１０は、基準位置３５と、表示部３０に表示されるゲーム画面と、の位置関係に関する情報を、図示しないＲＯＭ等に予め記憶する。ゲーム装置１０は、この情報と、撮影画像解析部２４によって取得されるコントローラ２２の位置及び傾きと、に基づいて、コントローラ２２の前端部２２ａが指し示す位置Ｐ０のスクリーン座標値（スクリーン座標系の座標値）を取得する。
【００３９】
なお、撮影画像解析部２４によって取得されるコントローラ２２の位置及び傾きを示す情報、即ち、コントローラ２２の前端部２２ａが指し示す位置Ｐ０のスクリーン座標値を特定するための情報のことを「ポインティング情報」と記載する。
【００４０】
また、コントローラ２２は、図示しないバイブレータを含んでもよい。コントローラ２２に対して所定の信号が入力されると、このバイブレータを振動させることができる。
【００４１】
コントローラ２２からマイクロプロセッサ１３に対しては、一定周期毎（例えば１／６０（秒））にコントローラ２２の操作状態を表す操作信号がコントローラインタフェース２０を介して送信される。この操作信号には、例えば、上記のポインティング情報と、各ボタンの押下状態を示す情報と、が含まれる。
【００４２】
マイクロプロセッサ１３は、コントローラ２２から供給される操作信号に基づいて、コントローラ２２の前端部２２ａが指し示す位置Ｐ０を特定したり、そのコントローラ２２において方向ボタン３６、ボタン３７ａ，３７ｂ，３７ｃが押下されたか否かを判定したりする。
【００４３】
［１−２．ゲーム装置で実行されるゲーム］
上記ゲーム装置１０では、例えば、ユーザの操作対象チームと、対戦相手チームと、がサッカーの試合を行うサッカーゲームが実行される。このサッカーゲームは、マイクロプロセッサ１３が、光ディスク３２から読み出したプログラムを実行することによって実現される。
【００４４】
ゲーム装置１０の主記憶１４には、仮想３次元空間が構築される。図４は、仮想３次元空間の一例を示している。図４に示すように、仮想３次元空間には、互いに直交するＸｗ軸、Ｙｗ軸、及びＺｗ軸が設定される。仮想３次元空間内の位置は、これらの座標軸のワールド座標値（ワールド座標系の座標値）により特定される。また、仮想３次元空間には、サッカーフィールドを表すフィールドオブジェクト３８が配置される。フィールドオブジェクト３８は、例えば、Ｘｗ−Ｚｗ平面に平行に配置される。
【００４５】
フィールドオブジェクト３８上には、以下のオブジェクトが配置される。
（１）サッカーボール（移動物体）を表すボールオブジェクト４２
（２）２つのゴールオブジェクト４０
（３）１１体の操作対象チームに属する選手オブジェクト４４
（４）１１体の対戦相手チームに属する選手オブジェクト４６
【００４６】
ボールオブジェクト４２は、仮想３次元空間内を移動する。仮想３次元空間には、仮想カメラ４８（視点）が設定される。仮想３次元空間を仮想カメラ４８から見た様子を表すゲーム画面が表示部３０に表示される。例えば、ボールオブジェクト４２が、常にゲーム画面に含まれるように、仮想カメラ４８は、ボールオブジェクト４２の位置に基づいて仮想３次元空間内を移動する。
【００４７】
選手オブジェクト４４又は選手オブジェクト４６が、フリーキックを要する反則をすると、ゲーム画面が切り替わり、表示部３０にはフリーキックのゲーム画面が表示される。マイクロプロセッサ１３が、ゲーム中の反則を判定する方法は、公知の様々な方法を適用可能とする。例えば、選手オブジェクト４４の腕の部分にボールオブジェクト４２が当たった場合（いわゆる、「ハンド」の反則）には、マイクロプロセッサ１３は、フリーキックを要する反則が発生したと判定する。マイクロプロセッサ１３が、フリーキックを要する反則と判定した場合には、所定の位置からのフリーキックとなる。
【００４８】
図５は、表示部３０に表示されるフリーキックにおけるゲーム画面の一例を示している。図５に示す例では、ゲーム画面には、ゴールオブジェクト４０と、ボールオブジェクト４２と、ユーザの操作対象チームに属する２体の選手オブジェクト４４ａ，４４ｂと、対戦相手チームに属する３体の選手オブジェクト４６ａ，４６ｂ，４６ｃと、が含まれる。
【００４９】
本実施形態においては、フリーキックにおけるゲーム画面では、仮想カメラ４８は、フリーキックのキッカーとなる選手オブジェクト４４ａの背面側に移動する。以降、フリーキックのキッカーとなる選手を操作対象選手という。図５の例では、操作対象選手は、選手オブジェクト４４ａである。操作対象選手は、コントローラ２２からの入力により変更可能である。
【００５０】
なお、フリーキックを要する反則が発生した場合には、仮想カメラ４８を常に操作対象選手の背面側に移動させるようにしてもよいし、ゴールオブジェクト４０から一定距離以内において反則が発生した場合にのみ、仮想カメラ４８を操作対象選手の背面側に移動させるようにしてもよい。即ち、操作対象選手が、相手のゴールに対してシュートを狙わないような位置で発生した反則のフリーキックの場合には、仮想カメラ４８が操作対象選手の背面側に移動せず、視点が切り替わらなくてもよい。
【００５１】
また、ゲーム画面には、カーソル５２が表示される。カーソル５２は、コントローラ２２を介してユーザによって指示されている位置に基づいて、ゲーム画面上に表示される。カーソル５２は、ボールオブジェクト４２が進行すべき方向を示すものである。即ち、操作対象選手がシュートを狙っている場所を示す。
【００５２】
先述したように、マイクロプロセッサ１３は、一定周期毎にコントローラ２２の操作状態を表す操作信号を、コントローラインタフェース２０を介して受信する。マイクロプロセッサ１３は、この操作信号に基づいて、所定周期毎に表示部３０に表示させるカーソル５２及びゲーム画面の表示を更新する。この所定周期毎（例えば、１／６０（秒））に表示部３０に表示されるゲーム画面のそれぞれをフレームという。
【００５３】
以下、図５に示すゲーム画面において、操作対象選手にシュートを行わせるための操作について、詳細に説明する。
【００５４】
まず、ユーザは、コントローラ２２を操作して、操作対象選手にシュートをさせたい位置、例えば、ゴールオブジェクト４０の枠内に、カーソル５２を合わせる。次いで、ユーザは、コントローラ２２のシュート指示を示すボタン（例えば、ボタン３７ａ）を押下する。マイクロプロセッサ１３は、シュート指示を示す信号（第一の入力）が、コントローラインタフェース２０を介して入力されると、操作対象選手の助走（準備動作）を開始させる。
【００５５】
この際、後述する処理により、ボールオブジェクト４２が移動を開始する際の初期位置と、ボールオブジェクト４２が移動を開始する際の初期方向と、が取得される。例えば、この初期位置は、後述するゲーム状況データに格納されるボールオブジェクト４２の位置座標Ｐ１であり、初期方向は、ポインティング情報に対応するワールド座標系の位置座標（以降、ポインティング位置座標Ｐ２という。）と位置座標Ｐ１を結ぶ方向である。ポインティング位置座標Ｐ２は、ポインティング情報に基づいた所定の座標変換処理が行われることにより取得される。
【００５６】
操作対象選手が、ボールオブジェクト４２をキックすると、ボールオブジェクト４２の移動が開始する。例えば、操作対象選手の足の部分がボールオブジェクト４２に当たると、ボールオブジェクト４２が移動を開始する。以降では、ボールオブジェクト４２の移動方向のうち、Ｘｗ−Ｚｗ平面で表される水平方向を水平進行方向、Ｙｗ−Ｚｗ平面で表現される垂直方向を垂直進行方向という。
【００５７】
無回転シュートの指示を示すボタン（例えば、ボタン３７ｂ）が押下されたまま、シュート指示を示すボタンが押下されると、後述の処理によりマイクロプロセッサ１８は、予測不可能に揺れるようにボールオブジェクト４２を移動させる。具体的には、無回転シュートの指示が入力されると、マイクロプロセッサ１３により、ボールオブジェクト４２の進行方向が、元々の進行方向と乱数とに基づいて決定される進行方向に複数回変更される。
【００５８】
また、シュートを放たずに、パスをする旨の指示を示すボタン（例えば、ボタン３７ｃ）が押下された場合、マイクロプロセッサ１３は、カーソル５２に対応するポインティング位置座標Ｐ２（例えば、フィールドオブジェクト３８のペナルティエリア内）に対して、操作対象選手にパスをさせることもできる。
【００５９】
［１−３．ゲーム装置で実現される機能］
図６は、ゲーム装置１０において実現される機能群を示す機能ブロック図である。図６に示すように、ゲーム装置１０では、入力部５８と、ゲームデータ記憶部６０と、ゲーム制御部６２と、が実現される。これらの機能は、マイクロプロセッサ１３が光ディスク３２から読み出されたプログラムに従って動作することにより、実現される。
【００６０】
［１−３−１．入力部］
入力部５８は、コントローラ２２を主として実現される。入力部５８は、ゲーム制御部６２に対してポインティング情報を入力する。
【００６１】
［１−３−２．ゲームデータ記憶部］
ゲームデータ記憶部６０は、主記憶１４及び光ディスク３２を主として実現される。ゲームデータ記憶部６０は、サッカーゲームに必要な各種データを記憶する。本実施形態の場合、ゲームデータ記憶部６０は、ゲーム状況データと、選手パラメータデータと、を記憶する。
【００６２】
ゲーム状況データは、主記憶１４に記憶される。ゲーム状況データは仮想３次元空間の現在の状況を示すデータである。つまり、図４に示す仮想３次元空間は、ゲーム状況データに基づいて主記憶１４に構築される。
【００６３】
ゲーム状況データは、ボールオブジェクト４２に対応する仮想３次元空間における位置座標、進行方向、及び移動速度を示すデータ、後述する処理によりボールオブジェクト４２の進行方向が変更された際における変更履歴を示すデータ、フィールドオブジェクト３８上における仮想的な風向きを示すデータ、操作対象選手を識別するためのデータ、フィールドオブジェクト３８上にいる選手オブジェクト４４及び選手オブジェクト４６に対応する位置座標のデータ等が含まれる。他にも、得点や残り時間等を示すデータ、ボールオブジェクト４２の過去のフレームにおける位置座標や進行方向を示すデータがゲーム状況データに含まれていてもよい。
【００６４】
選手パラメータデータは、光ディスク３２に格納される。選手パラメータデータは、選手オブジェクト４４及び選手オブジェクト４６の能力値や、右利き又は左利き等の個別設定値を示すデータである。本実施形態においては、選手パラメータデータが所定の条件を満たしている選手オブジェクト４４及び選手オブジェクト４６は、フリーキックにおいて無回転シュートを放つことができる。
【００６５】
［１−３−３．ゲーム制御部］
ゲーム制御部６２は、例えば、マイクロプロセッサ１３を主として実現される。ゲーム制御部６２は、本発明に関連する機能として、位置取得部６４と、方向取得部６６と、移動制御部６８と、を含む。
【００６６】
［位置取得部］
位置取得部６４は、ゲーム状況データに格納された値に基づいて、フリーキックにおけるボールオブジェクト４２が移動を開始する際の初期位置を取得する。本実施形態においては、ゲーム状況データに格納されたボールオブジェクト４２の位置座標Ｐ１を初期位置として使用する。即ち、位置取得部６４は、フリーキックの際にボールが置かれている位置に関する情報を取得する。
【００６７】
［方向取得部］
方向取得部６６は、仮想３次元空間においてボールオブジェクト４２が移動を開始する際の初期方向を取得する。方向取得部６６は、入力部５８から入力されるポインティング情報に基づいて初期方向を取得する。本実施形態においては、カーソル５２に対応するポインティング位置座標Ｐ２と位置座標Ｐ１とを結ぶ方向を初期方向とする。即ち、方向取得部６６は、操作対象選手がシュートを狙っている方向に関する情報を取得する。なお、操作対象選手のキック精度等の能力値に応じて、初期方向を上記方向からずらすようにしてもよい。
【００６８】
［移動制御部］
移動制御部６８（制御手段）は、位置取得部６４が取得した初期位置と、方向取得部６６が取得した初期方向と、に基づいてボールオブジェクト４２の移動を開始させ、ボールオブジェクト４２を移動させる。また、移動制御部６８（変更手段）は、後述する処理により、ボールオブジェクト４２の進行方向を、元々の進行方向と乱数とに基づいて決定される進行方向に複数回変更する。
【００６９】
本実施形態においては、移動制御部６８（決定手段）は、所定フレーム間隔毎のボールオブジェクト４２の進行方向を、元々の進行方向と乱数とに基づいて決定する。なお、移動制御部６８は、ボールオブジェクト４２の進行方向を、元々の進行方向と乱数とに基づいて所定の方法で決定される進行方向に複数回変更すればよく、進行方向の決定方法はこれに限られない。例えば、移動制御部６８は、所定フレーム間隔毎ではなく、ボールオブジェクト４２が移動した所定距離毎や、ユーザがボタン３７ａ等を押下する毎に上記のように決定した進行方向に複数回変更するようにしてもよい。
【００７０】
［１−４．ゲーム装置にて実行される処理］
図７及び図８は、ゲーム装置１０にて実行される処理の一例を示すフロー図である。図７及び図８の処理は、マイクロプロセッサ１３が、プログラムに従って動作することにより実行される。
【００７１】
まず、図７に示す処理について説明する。図７に示す処理は、フリーキックにおけるゲーム画面（図５）が表示部３０に表示される際に、実行される処理である。
【００７２】
図７に示すように、マイクロプロセッサ１３（位置取得部６４）は、ボールオブジェクト４２の初期位置を取得する（Ｓ１０１）。マイクロプロセッサ１３は、コントローラ２２のシュート指示ボタンが押下されたか否かを判定する（Ｓ１０２）。シュート指示ボタンが押下されていない場合（Ｓ１０２；Ｎ）、マイクロプロセッサ１３は、コントローラ２２のパス指示ボタンが押下されたか否かを判定する（Ｓ１０３）。
【００７３】
パス指示ボタンが押下されていない場合（Ｓ１０３；Ｎ）、処理はＳ１０２に戻り、マイクロプロセッサ１３は、コントローラ２２のシュート指示ボタンが押下されたか否かを判定する。パス指示ボタンが押下された場合（Ｓ１０３；Ｙ）、マイクロプロセッサ１３は、処理を終了する。
【００７４】
一方、シュート指示ボタンが押下された場合（Ｓ１０２；Ｙ）、マイクロプロセッサ１３は、操作対象選手にシュートの動作を開始させる（Ｓ１０４）。Ｓ１０４においては、操作対象選手がボールオブジェクト４２に対して助走を開始する。操作対象選手は、ボールオブジェクト４２の近くに来るとキックの動作を行う。
【００７５】
マイクロプロセッサ１３は、操作対象選手がシュートを狙っている位置が、得点の可能性が高い位置であるか否かを判定する（Ｓ１０５）。具体的には、マイクロプロセッサ１３は、ユーザがコントローラ２２を介して指し示すカーソル５２に対応するポインティング位置座標Ｐ２に基づいて得点の可能性が高いか否かを判定する。
【００７６】
Ｓ１０５においては、カーソル５２が、ゴールオブジェクト４０の上隅や下隅の領域、キーパーの選手オブジェクト４６との距離が離れている領域内にある場合等は、得点の可能性が高いと判定される。一方、カーソル５２が、キーパーの選手オブジェクト４６の正面の領域等に示されていた場合には、得点の可能性が低いと判定される。これらの領域は、予め定められているものとする。なお、選手パラメータデータの能力値が高い操作対象選手は、得点の可能性が高いと判定される領域を拡大させてもよい。
【００７７】
得点の可能性が高い場合（Ｓ１０５；Ｙ）、マイクロプロセッサ１３（方向取得部６６）は、操作対象選手がボールオブジェクト４２をキックする直前のタイミングにおける初期方向を取得する（Ｓ１０６）。Ｓ１０６においては、マイクロプロセッサ１３が、操作対象選手がボールオブジェクト４２をキックする直前であると判断したフレームにおけるポインティング位置座標Ｐ２を取得する。例えば、このフレームは、操作対象選手の領域が、ボールオブジェクトの位置座標Ｐ１から所定距離以内に入った際のフレームである。
【００７８】
一方、得点の可能性が高くない場合（Ｓ１０５；Ｎ）、マイクロプロセッサ１３（方向取得部６６）は、シュート指示ボタンが押下されたタイミングにおけるボールオブジェクト４２の初期方向を取得する（Ｓ１０７）。このタイミングにおけるポインティング位置座標Ｐ２が主記憶１４に記憶されているものとする。
【００７９】
Ｓ１０６とＳ１０７のように、所定の条件に応じて、初期方向を取得するタイミングを異ならしめることにより、ユーザの狙いをぶれやすくしたり、ユーザの狙い通りのシュートコースとなるようにすることができる。
【００８０】
次いで、マイクロプロセッサ１３は、シュート指示ボタンが押下された際に、コントローラ２２の無回転シュート指示ボタンも押下されていたか否かを判定する（Ｓ１０８）。
【００８１】
無回転シュート指示ボタンも押下された場合（Ｓ１０８；Ｙ）、マイクロプロセッサ１３は、操作対象選手が、無回転シュート可能な選手であるか否かを判定する（Ｓ１０９）。Ｓ１０９においては、先述したように、マイクロプロセッサ１３は、操作対象選手に対応する選手パラメータデータの能力値を参照し、所定の閾値以上の選手であるか否かによって判定する。なお、Ｓ１０９の判定方法は、これに限られず、ゲーム状況データや選手パラメータデータに格納された他のパラメータ等によって判定されてもよい。
【００８２】
操作対象選手が、無回転シュート可能な選手である場合（Ｓ１０９；Ｙ）、マイクロプロセッサ１３（移動制御部６８）は、無回転シュートの移動計算処理を実行する（Ｓ１１０）。
【００８３】
図８に示す処理は、図７のＳ１１０において実行される、無回転シュートの移動処理である。以降説明する処理は、操作対象選手がボールオブジェクト４２をキックしたフレーム以降において実行される処理である。
【００８４】
まず、図８に示す処理の概要について説明する。
【００８５】
無回転シュートの移動処理では、水平進行方向を決定し、所定の演算処理によりボールオブジェクト４２の仮位置座標を算出する。この仮位置座標が、一つ前のフレームよりも低い場合には、位置座標が低くなるように制御を行う。ここで、位置座標が低いとは、位置座標のＹｗ軸方向（垂直方向）の値が減少することをいう。即ち、仮位置座標のＹｗ軸方向の値が、一つ前のフレームのボールオブジェクト４２のＹｗ軸方向の値よりも減少している場合、この仮位置座標のＹｗ軸方向の値を小さくするように制御が行われる。
【００８６】
図９は、無回転シュートにおけるボールオブジェクト４２の水平方向の軌道Ｃ１を示す模式図である。図９に示すように、所定フレーム毎に水平進行方向が変更されている。ボールオブジェクト４２の速度が基準値以下になった場合（図９の位置座標Ｐ７）、乱数に基づいた進行方向の決定が制限される。図９の詳細については後述する。
【００８７】
図１０は、無回転シュートにおけるボールオブジェクト４２の垂直方向の軌道Ｃ３を示す模式図である。図１０に示すように、仮位置座標がフレーム毎に算出され、一つ前のフレームよりも仮位置座標が低い場合（図１０のＰ’（ｋ＋４）等）には、位置座標が低くなるように制御が行われる。図１０の詳細については後述する。
【００８８】
次に、図８に示す処理の詳細について説明する。
【００８９】
図８に示すように、マイクロプロセッサ１３は、ボールオブジェクト４２の移動を開始させる（Ｓ２０１）。具体的には、マイクロプロセッサ１３は、Ｓ１０１で取得した初期位置を始点として、Ｓ１０６又はＳ１０７で取得した初期方向に対してボールの初速に応じた距離だけ離れた位置座標を算出する。ボールの初速は、選手パラメータデータやシュート指示ボタンが押下された時間等に基づいて算出される。
【００９０】
Ｓ２０１において、マイクロプロセッサ１３は、ゲーム状況データを更新し、この位置座標にボールオブジェクト４２を移動させる。つまり、操作対象選手がボールをキックしたフレームの次のフレームには、この位置座標にボールオブジェクト４２が表示される。
【００９１】
次いで、マイクロプロセッサ１３は、ボールオブジェクト４２の進行方向を変更するための所定フレームが経過したか否かを判定する（Ｓ２０２）。この所定フレームは、３フレームや１０フレーム等、予め定められた値を用いてよいし、操作対象選手の選手パラメータデータに応じて設定される値を用いてもよい。例えば、操作対象選手の能力が低い場合には１０フレーム、能力が高い場合には３フレーム等に設定することにより、能力の高い選手の場合には、より細かくランダムにボールオブジェクト４２の軌道を揺らすことができる。
【００９２】
所定フレームが経過した場合（Ｓ２０２；Ｙ）、マイクロプロセッサ１３は、ゲーム状況データに格納されたボールオブジェクト４２の移動速度が基準値以下となったか否かを判定する（Ｓ２０３）。マイクロプロセッサ１３は、ボールオブジェクト４２の移動距離に応じた値をボールオブジェクト４２の初速から減算して、ゲーム状況データを更新する。
【００９３】
なお、ボールオブジェクト４２の移動速度の算出方法は、ゲーム状況データや選手パラメータデータに基づいて判断されればよく、これに限られない。例えば、ゲーム状況データの風速を示すデータが、ボールオブジェクト４２の進行方向に対して追い風を示している場合には、ボールオブジェクト４２の移動速度に、風速に応じた所定値を加算させて算出してもよい。
【００９４】
ボールオブジェクト４２の移動速度が基準値以下でない場合（Ｓ２０３；Ｎ）、マイクロプロセッサ１３は、ゲームデータ記憶部６０に格納された変更履歴に基づいて、ボールオブジェクト４２の進行方向を、変更履歴が示す方向とは異なるように変更するか否かを判定する（Ｓ２０４）。
【００９５】
図１１は、変更履歴のデータ格納例を示す図である。図１１に示すように、変更履歴は、後述するＳ２０５又はＳ２０６において変更されたボールオブジェクト４２の進行方向を格納したものである。
【００９６】
図１１の例では、操作対象選手がボールオブジェクト４２をキックしてから１０フレーム後に、元々の進行方向からＸｗ−Ｚｗ平面の右回りに３°回転させた方向に変更されたことを示す。この変更を１回目とする。同様に、２０フレーム後は４°回転させた方向に変更され（２回目の変更）、３０フレーム後は２°回転させた方向に変更された（３回目の変更）ことを示す。
【００９７】
Ｓ２０４においては、例えば、ボールオブジェクト４２の進行方向を同じ方向に所定回数変更したことを変更履歴が示していたり、前回の変更が所定よりも大きな変更であることを変更履歴が示している場合等に、変更履歴が示す方向とは異なるように変更すると判断する。
【００９８】
変更履歴が示す方向とは異なるように変更しない場合（Ｓ２０４；Ｎ）、マイクロプロセッサ１３（移動制御部６８、決定手段）は、ボールオブジェクト４２の進行方向を、元々の進行方向と乱数とに基づいて決定する（Ｓ２０５）。
【００９９】
元々の進行方向とは、Ｓ２０５が実行される際に表示部３０に表示されているフレームと、この一つ前のフレームと、の間におけるボールオブジェクト４２の移動方向のことである。乱数は、Ｓ２０５が実行される際に、時間関数等に基づいて発生させた乱数Ｒを使用する。例えば、マイクロプロセッサ１３は、Ｓ２０５において、元々の進行方向を基準として、乱数Ｒの正負と下一桁の値とに基づいて決定される角度θ（−９°〜９°）だけ右回りに回転させた方向に進行方向を決定する。
【０１００】
変更履歴が示す方向とは異なるように変更する場合（Ｓ２０４；Ｙ）、マイクロプロセッサ１３は、ボールオブジェクト４２の進行方向を、元々の水平進行方向とは異なるように決定する（Ｓ２０６）。例えば、元々の水平進行方向が、初期方向とずれている方向と逆方向にずれるように決定される。つまり、操作対象選手から見て右にずれていた場合、左にずれるように決定する。
【０１０１】
マイクロプロセッサ１３（移動制御部６８、変更手段）は、ボールオブジェクト４２の水平進行方向を、Ｓ２０５又はＳ２０６において決定された方向に変更し、変更履歴に進行方向を格納する（Ｓ２０７）。この場合、後述のＳ２０８においては、Ｓ２０５又はＳ２０６において変更された水平進行方向に基づいて仮位置座標が算出される。
【０１０２】
一方、所定フレームが経過していない場合（Ｓ２０２；Ｎ）、ボールオブジェクト４２の速度が基準値以下である場合（Ｓ２０３；Ｙ）、マイクロプロセッサ１３は、Ｓ２０４〜Ｓ２０７の処理は実行しない。この場合、後述のＳ２０８においては、一つ前のフレームにおける水平進行方向に基づいて仮位置座標が算出される。
【０１０３】
次いで、マイクロプロセッサ１３は、所定の演算処理を行い、ボールオブジェクト４２を次のフレームで表示部３０に表示させる位置（仮位置座標）を算出する（Ｓ２０８）。例えば、ボールオブジェクト４２の過去のフレームの位置座標と、予め定められた通常の重力加速度ｇ１（例えば、ｇ１＝９．８（ｍ／ｓ２））と、に基づいて垂直進行方向を特定する。垂直進行方向、水平進行方向、及び移動速度に基づいてボールオブジェクト４２の仮位置座標が算出される。
【０１０４】
Ｓ２０８において算出される仮位置座標は、無回転シュート特有の落ち方をしない場合に、次のフレームにおいてボールオブジェクト４２を表示させるべき位置座標である。なお、Ｓ２０８においては、ゲーム状況データに格納されたボールオブジェクト４２の過去の進行方向等に基づいて垂直進行方向を特定し、仮位置座標が算出されるようにしてもよい。
【０１０５】
次いで、マイクロプロセッサ１３は、直前のフレームよりもボールオブジェクト４２が低いか否かを判定する（Ｓ２０９）。具体的には、マイクロプロセッサ１３は、Ｓ２０８において算出された仮位置座標が、ゲーム状況データに格納されたボールオブジェクト４２の位置座標よりも低いか否かを判定する。
【０１０６】
ボールオブジェクト４２が低い場合（Ｓ２０９；Ｙ）、マイクロプロセッサ１３（移動制御部６８、垂直位置変更手段）は、仮位置座標の垂直位置が低くなるように制御する（Ｓ２１０）。
【０１０７】
Ｓ２１０においては、例えば、マイクロプロセッサ１３は、Ｓ２０８において算出された仮位置座標を、通常の重力加速度ｇ１よりも大きな重力加速度ｇ２（例えば、ｇ２＝１９．６（ｍ／ｓ２））に基づいて再度算出する。重力加速度ｇ２は、予め定められた値を用いてもよいし、シュート指示ボタンが押下されたタイミング等で発生させた乱数に基づいてランダムに決定されるようにしてもよい。
【０１０８】
なお、Ｓ２１０においては、Ｓ２０８において算出された仮位置座標を低くなるように制御すればよく、これに限られない。例えば、仮位置座標のＹｗ軸方向成分を、所定値減算させるようにしてもよい。この所定値は、予め定められていてもよいし、乱数に基づいて任意の値が決定されるようにしてもよい。Ｓ２１０における処理により、ボールオブジェクト４２が落下し始めた以降のフレームは、通常のシュートよりも大きく落下させることができる。
【０１０９】
ボールオブジェクト４２が高い場合（Ｓ２０９；Ｎ）、マイクロプロセッサ１３は、Ｓ２１０における処理を行わない。つまり、仮位置座標を低くする制御が行われずに、後述するＳ２１１におけるボールオブジェクト４２の移動処理が行われる。なお、「ボールオブジェクト４２が高い」とは、位置座標のＹｗ軸方向の値が増加することをいう。即ち、仮位置座標のＹｗ軸方向の値が、一つ前のフレームのボールオブジェクト４２のＹｗ軸方向の値よりも増加している場合、Ｓ２０９において、ボールオブジェクト４２が高いと判定される。
【０１１０】
マイクロプロセッサ１３は、Ｓ２０８で算出された仮位置座標又はＳ２１０で制御されて決定された位置座標にボールオブジェクト４２を移動させる（Ｓ２１１）。つまり、マイクロプロセッサ１３は、次のフレームの表示処理を行い、この位置にボールオブジェクト４２を表示させる。この表示処理の際に、マイクロプロセッサ１３は、ゲーム状況データのボールオブジェクト４２の位置座標、進行方向、及び移動速度を示すデータ等を更新する。
【０１１１】
マイクロプロセッサ１３は、終了条件を満たしているか否かを判定する（Ｓ２１２）。終了条件とは、図８に示す無回転シュートの移動計算処理を終了するための条件であり、例えば、ボールオブジェクト４２がゴールオブジェクト４０の領域に入るか否か等である。
【０１１２】
終了条件を満たしていない場合（Ｓ２１２；Ｎ）、処理はＳ２０２に戻り、マイクロプロセッサ１３は、次のフレームの処理を行う。終了条件を満たしている場合（Ｓ２１２；Ｙ）、マイクロプロセッサ１３は、処理を終了する。
【０１１３】
次に、図８に示す処理によってボールオブジェクト４２が移動する様子の詳細について説明する。まず、水平方向の移動について説明する。
【０１１４】
図９に示す軌道Ｃ１（実線）は、Ｓ１１０において実行される無回転シュートの移動処理の各フレームにおけるボールオブジェクト４２の位置座標を結ぶ線である。また、図９に示すように、ボールオブジェクト４２の位置座標Ｐ１とポインティング位置座標Ｐ２を結んだ直線を軌道Ｃ２（破線）とする。
【０１１５】
Ｓ２０１において、マイクロプロセッサ１３は、ボールオブジェクト４２の移動を開始させる。例えば、マイクロプロセッサ１３は、位置座標Ｐ１を始点として、位置座標Ｐ１とポインティング位置座標Ｐ２を結ぶ水平方向（つまり、初期方向）に所定距離移動させる。
【０１１６】
Ｓ２０２の判定で使用されるフレーム数をｎ（ｎは自然数）とした場合、マイクロプロセッサ１３は、この水平進行方向のまま、ボールオブジェクト４２の移動速度に応じてｎフレーム移動させる。ｎフレーム移動させた際のボールオブジェクト４２の位置座標を位置座標Ｐ３とする。位置座標Ｐ１と位置座標Ｐ３との水平距離Ｌ１が、このｎフレームの間にボールオブジェクト４２が移動した水平方向の距離である。
【０１１７】
次いで、Ｓ２０５の処理により、次のフレームの進行方向が元々の進行方向と乱数とに基づいて決定される。例えば、マイクロプロセッサ１３は、位置座標Ｐ１と位置座標Ｐ３とを結ぶ方向を基準としてＸｗ−Ｚｗ平面の右回りに角度θ３回転させた方向を、Ｓ２０５において水平進行方向として決定する。
【０１１８】
角度θ３は、乱数に基づいてランダムに決定される。例えば、角度θ３は、先述のように−９°〜９°の任意の数値であってもよいし、ゲーム状況データに格納される風向きを係数として重みづけされた所定の計算式によって算出されるようにしてもよい。角度θ３は、元々の方向と同じ（角度θ３が０°）であってもよい。
【０１１９】
マイクロプロセッサ１３は、位置座標Ｐ３を始点として、この水平進行方向にボールオブジェクト４２をｎフレーム移動させる。このｎフレーム移動させたボールオブジェクト４２の位置座標を位置座標Ｐ４とする。位置座標Ｐ３と位置座標Ｐ４との水平距離Ｌ３が、このｎフレームの間にボールオブジェクト４２が移動した水平方向の距離である。
【０１２０】
マイクロプロセッサ１３は、Ｓ２０３においてボールオブジェクト４２の移動速度が基準値以下となったと判定するまで、又はＳ２０４において変更履歴が示す方向とは異なる水平進行方向に変更すると判定するまで、上記と同様の処理により、ボールオブジェクト４２を移動させる。
【０１２１】
図９に示す例では、位置座標Ｐ４からｎフレーム後におけるボールオブジェクト４２の位置座標を位置座標Ｐ５とする。例えば、マイクロプロセッサ１３は、位置座標Ｐ３と位置座標Ｐ４とを結ぶ方向を基準として、Ｘｗ−Ｚｗ平面の右回りに角度θ４回転させた方向を、進行方向として決定して変更する。
【０１２２】
同様に、位置座標Ｐ５からｎフレーム後におけるボールオブジェクト４２の位置座標を位置座標Ｐ６とする。例えば、マイクロプロセッサ１３は、位置座標Ｐ４と位置座標Ｐ５とを結ぶ方向を基準として、Ｘｗ−Ｚｗ平面の右回りに角度θ５回転させた方向を、水平進行方向として決定して変更する。図９に示す例では、角度θ４及び角度θ５は、ともに正の値を取った場合を示している。
【０１２３】
マイクロプロセッサ１３が、Ｓ２０４において変更履歴が示す方向とは異なる水平進行方向に変更すると判定した場合、変更履歴が示す方向とは異なる水平進行方向となるように変更される。例えば、同じ水平進行方向が３回続いていることを変更履歴が示している場合には、逆の水平進行方向に変更される。
【０１２４】
位置座標Ｐ３から位置座標Ｐ６まで移動する間に、角度θ３〜角度θ５は、３回とも正の値を取っているので、Ｓ２０６において、異なる水平進行方向となるように進行方向が決定される。例えば、マイクロプロセッサ１３は、角度θ６が負の値となるように決定する。このように、位置座標Ｐ７を決定するにあたり、それまでの水平進行方向に基づいて角度θ７を算出する場合には、無回転シュートが、ある一定の水平方向に曲がり続けることを防止することができる。
【０１２５】
マイクロプロセッサ１３が、Ｓ２０３においてボールオブジェクト４２の移動速度が基準値以下となったと判定した場合には、Ｓ２０５及びＳ２０６における進行方向の変更処理を行わない。図９に示す例では、位置座標Ｐ７の位置にボールオブジェクト４２が移動した際、移動速度が基準値以下であると判定されている。このフレーム以降は、水平方向の進行方向が元々の進行方向と乱数とに基づいて変更されないように制限される。
【０１２６】
マイクロプロセッサ１３は、位置座標Ｐ６と、位置座標Ｐ７と、を結ぶ方向にボールオブジェクト４２を移動させる。マイクロプロセッサ１３は、ポインティング位置座標Ｐ２のＺｗ座標の値と、ボールオブジェクト４２をこの進行方向に移動させた場合におけるＺｗ座標の値と、が一致する点を水平方向の位置座標Ｐ８とする。即ち、位置座標Ｐ８は、操作対象選手が無回転シュートを放った時に、ボールオブジェクト４２がゴールオブジェクト４０を通過する水平方向の位置である。
【０１２７】
なお、このフレーム以降の水平方向は、Ｓ２０５とＳ２０６のような方法により水平進行方向が変更されないようにすればよく、必ずしも上記のように一定方向となるようにしなくてもよい。例えば、ゲーム状況データの風向き等に基づいて所定範囲内で水平進行方向を変化させるようにしてもよい。
【０１２８】
また、図９に示す例では、Ｓ２１２における終了条件を、ボールオブジェクト４２がゴールオブジェクト４０の領域に入ることとした場合の例で説明したが、ボールオブジェクト４２がキーパーの選手オブジェクト４６ｃの領域内に入った場合を終了条件としてもよい。このフレームにおけるボールオブジェクト４２の位置座標が位置座標Ｐ８となる。
【０１２９】
次に、垂直方向の移動について説明する。
【０１３０】
図１０に示す軌道Ｃ４は、ボールオブジェクト４２の位置座標Ｐ１と、ポインティング位置座標Ｐ２と、を通常の重力加速度ｇ１で放物線を描くように算出される垂直方向の軌道である。
【０１３１】
操作対象選手がキックをしたフレームを０番目として、その後のあるフレーム（ｋ番目とする。）におけるボールオブジェクト４２の位置座標を位置座標Ｐ（ｋ）とする。Ｓ２０８において、次のフレーム（ｋ＋１番目とする。）に移動させるべきボールオブジェクト４２の仮位置座標Ｐ’（ｋ＋１）は、重力加速度ｇ１に基づいて算出される。図１０の例では、仮位置座標Ｐ’（ｋ＋１）は、位置座標Ｐ（ｋ）よりもＹｗ軸方向の上にあるため、Ｓ２１０における制御は行われない。
【０１３２】
図１０に示すように、ｋ＋２番目のフレーム、ｋ＋３番目のフレームについても、同様に、Ｓ２１０における制御は行われない。つまり、Ｓ２０８において重力加速度ｇ１に基づいて算出される仮位置座標に基づいて、ボールオブジェクト４２の移動処理が実行される。
【０１３３】
図１０に示すｋ＋４番目のフレームのように、Ｓ２０８において重力加速度ｇ１に基づいて算出される仮位置座標Ｐ’（ｋ＋４）が、前のフレームの位置座標Ｐ（ｋ＋３）よりも低い位置にある場合には、Ｓ２１０における制御が行われる。ボールオブジェクト４２の位置座標が、仮位置座標Ｐ’（ｋ＋４）よりも低い位置座標Ｐ（ｎ＋４）に制御される。
【０１３４】
続くｋ＋５番目のフレームについても、同様に、Ｓ２１０における制御が行われる。つまり、ボールオブジェクト４２の位置座標が、仮位置座標Ｐ’（ｋ＋５）よりも低い位置座標Ｐ（ｋ＋５）に制御される。
【０１３５】
このように、各フレーム毎に仮位置座標が算出及び制御されることにより、垂直方向の軌道Ｃ３が決定される。ポインティング位置座標Ｐ２のＺｗ座標の値と、軌道Ｃ３におけるＺｗ座標の値と、が一致する点の座標を位置座標Ｐ９とする。
【０１３６】
位置座標Ｐ３は、操作対象選手が無回転シュートを放った時に、ボールオブジェクト４２がゴールオブジェクト４０を通過する際における垂直方向の位置を示すものである。このように、操作対象選手が、無回転シュートを放つと、ボールオブジェクト４２が落ち始めるフレーム以降は、通常のシュートよりも垂直方向に大きく落ちる軌道が算出される。
【０１３７】
図７に戻り、操作対象選手が、無回転シュート可能な選手でない場合（Ｓ１０９；Ｎ）、マイクロプロセッサ１３は、ストレートシュートの移動処理を実行する（Ｓ１１１）。具体的には、ボールオブジェクト４２の位置座標Ｐ１と、ポインティング位置座標Ｐ２と、に基づいて、ストレートシュートの軌道となるようにボールオブジェクト４２が移動する。
【０１３８】
Ｓ１１１においては、例えば、ストレートシュートにおいてボールオブジェクト４２が移動する垂直方向の軌道は、図１０を参照して説明した軌道Ｃ４となる。ストレートシュートの水平方向の軌道は、ボールオブジェクト４２の位置座標Ｐ１と、ポインティング位置座標Ｐ２と、を結ぶ直線（図９の軌道Ｃ２）となる。
【０１３９】
一方、無回転シュート指示ボタンが押下されない場合（Ｓ１０８；Ｎ）、マイクロプロセッサ１３は、通常シュートの軌道計算処理を実行する（Ｓ１１２）。具体的には、ボールオブジェクト４２の位置座標Ｐ１と、ポインティング位置座標Ｐ２と、コントローラ２２からの入力と、に基づいて、通常シュートの軌道となるようにボールオブジェクト４２が移動する。
【０１４０】
Ｓ１１２においては、例えば、通常シュートにおいてボールオブジェクト４２が移動する垂直方向の軌道は、コントローラ２２を所定方向にユーザが捻った量に応じてカーブがかかるような軌道となる。通常シュートの水平方向の軌道も同様に、ボールオブジェクト４２の位置座標Ｐ１と、ポインティング位置座標Ｐ２と、を結ぶ所定曲率の円弧を描くような軌道となる。
【０１４１】
［１−５．実施形態１のまとめ］
以上説明した実施形態１に係るゲーム装置１０では、ボールオブジェクト４２の進行方向が、元々の進行方向と乱数とに基づいて決定される進行方向に複数回変更される。実施形態１に係るゲーム装置１０によれば、操作対象選手は、通常のシュートやストレートシュート等とは異なり、ほぼ無回転の状態の移動物体が予測不可能な軌道を描く様子を、物理シミュレーションを行わずに処理負荷の軽減を図りつつ表現することができる。つまり、技量の高いスター選手を操作しているように、ユーザに実感させることが可能となる。
【０１４２】
また、ボールオブジェクト４２の移動速度が基準値以下になった場合には、このフレーム以降においては、ボールオブジェクトの元々の進行方向と乱数とに基づいて進行方向を変更することが制限される。実際の選手が放つ無回転シュートのように、ボールの移動速度が速い間は予測不可能に揺れ、移動速度がある程度落ちてからは、揺れないシュートをゲーム上で再現することができる。
【０１４３】
また、ボールオブジェクト４２が落下し始めてからは、大きく落ちる軌道となる。実際の選手が放つ無回転シュートのように、ボールが落ち始めると大きく垂直方向に落ちるようなシュートを再現することができる。
【０１４４】
また、仮想３次元空間をボールオブジェクト４２が移動する際、変更した進行方向の変更履歴に基づいて進行方向を決定する。一定方向に曲がり続けてゴールオブジェクト４０の枠をそれるような、ユーザの意図しないシュートとなることを防止することができる。
【０１４５】
なお、本発明は、以上説明した実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。例えば、本実施形態では家庭用ゲーム機を例に挙げて説明したが、ゲームセンター等に設置されるアーケード型ゲーム機であってもよい。
【０１４６】
また、フリーキックの状況において無回転シュートを放つ例を説明したが、図４に示す仮想カメラ４８の位置で、サッカーの試合が行われている状況において、同様の無回転シュートが放たれるようにしてもよい。この場合でも、本実施形態と同様に、位置取得部６４が取得した初期位置と、方向取得部６６が取得した初期方向と、に基づいてボールオブジェクト４２が移動するようにすればよい。
【０１４７】
また、本実施形態においては、無回転シュートにおける軌道を、図８に示すフロー図によって算出される例を挙げたが、初期位置及び初期方向に基づいて、予め定められた方法によって実際の無回転シュートのような軌道を描くように、ボールオブジェクト４２を移動させればよく、これに限られない。例えば、操作対象選手の選手パラメータを参照して、選手の右利き又は左利きに応じて曲がる方向が異なるように重みづけされるようにしてもよい。
【０１４８】
［２．実施形態２］
以下、実施形態２について説明する。実施形態１においては、コントローラ２２から無回転シュートが指示された場合には、所定フレーム間隔毎に、ボールオブジェクト４２の進行方向をランダムに変更していた。この点、実施形態２は、ボールオブジェクト４２の移動が開始される前に、ボールオブジェクト４２の軌道を予め算出する点に特徴がある。
【０１４９】
なお、実施形態２に係るゲーム装置１０のハードウェア構成や機能ブロック図は、実施形態１（図１〜図３、図６参照）と同様であるため、ここでは説明を省略する。また、実施形態２に係るゲーム装置１０においても、例えば、サッカーゲームが実行される。
【０１５０】
［２−１．ゲーム装置にて実行される処理］
図１２に示す処理は、実施形態１における図８に示す処理に対応している。つまり、図１２に示す処理は、図７に示すＳ１１０において実行される処理である。実施形態２の図１２に示す処理は、移動制御部６８（軌道算出手段）が、ボールオブジェクト４２の移動が開始される前に軌道を算出し、この軌道に基づいてボールオブジェクト４２を移動させる。
【０１５１】
図１２に示すように、マイクロプロセッサ１３は、移動開始直後のボールオブジェクト４２の位置座標を算出する（Ｓ３０１）。具体的には、Ｓ２０１と同様に、マイクロプロセッサ１３は、Ｓ１０１で取得した初期位置を始点として、Ｓ１０６又はＳ１０７で取得した初期方向に対して、ボールオブジェクト４２の移動速度に応じた所定距離だけ離れた位置座標を算出する。
【０１５２】
つまり、操作対象選手がボールをキックしてから所定時間（例えば、１／６０秒）後にボールオブジェクト４２を表示すべき位置座標が算出される。算出された位置座標及び進行方向は、この時間と対応付けられて主記憶１４に記憶される。また、この時間におけるボールオブジェクトの移動速度は、Ｓ２０１と同様に算出されて主記憶１４に記憶される。
【０１５３】
次いで、マイクロプロセッサ１３は、ボールオブジェクト４２の進行方向を変更するための所定時間間隔分の位置座標を算出したか否かを判定する（Ｓ３０２）。Ｓ２０２と同様に、この所定時間間隔は、予め定められた値を用いてよく、例えば、１／１０秒等である。
【０１５４】
以降のＳ３０３〜Ｓ３１０は、それぞれ、Ｓ２０３〜Ｓ２１０とほぼ同様である。Ｓ２０３〜Ｓ２１０が、次のフレームにおいて表示部３０に表示すべきボールオブジェクト４２の位置座標を算出するのに対し、Ｓ３０３〜Ｓ３１０は、ボールオブジェクト４２が移動を開始してから所定時間毎において表示部３０に表示すべきボールオブジェクト４２の位置座標を算出する。例えば、この所定時間を１／６０秒とすると、操作対象選手がボールオブジェクト４２をキックし、移動を開始してからｍ／６０秒後（ｍは自然数）に表示すべき位置座標が、Ｓ３０３〜Ｓ３１０において算出される。
【０１５５】
所定時間分の位置座標を算出した場合（Ｓ３０２；Ｙ）、マイクロプロセッサ１３は、ボールオブジェクト４２の移動速度が基準値以下となっているか否かを判定する（Ｓ３０３）。Ｓ３０３においては、マイクロプロセッサ１３が、主記憶１４に記憶されたボールオブジェクト４２の移動速度が基準値以下であるか否かを判定する。
【０１５６】
ボールオブジェクト４２の移動速度が基準値以下となっていない場合（Ｓ３０３；Ｎ）、マイクロプロセッサ１３は、ボールオブジェクト４２の進行方向を変更履歴と異なるように変更するか否かを判定する（Ｓ３０４）。Ｓ３０４はＳ２０４と同様の処理である。
【０１５７】
ボールオブジェクト４２の進行方向を変更履歴と異なるように変更しない場合（Ｓ３０４；Ｎ）、マイクロプロセッサ１３（移動制御部６８、決定手段）は、ボールオブジェクト４２の進行方向を、元々の進行方向と乱数とに基づいて決定する（Ｓ３０５）。
【０１５８】
Ｓ３０５においては、移動開始から（ｍ−１）／６０秒後におけるボールオブジェクト４２の進行方向を元々の進行方向とする点でＳ２０５と異なる。元々の進行方向は、主記憶１４に記憶された値が参照される。つまり、Ｓ３０５においては、移動開始から（ｍ−１）／６０秒後における進行方向が決定される。
【０１５９】
一方、ボールオブジェクト４２の進行方向を変更履歴と異なるように変更する場合（Ｓ３０４；Ｙ）、マイクロプロセッサ１３は、ボールオブジェクト４２の進行方向を、元々の水平進行方向とは異なるように決定する（Ｓ３０６）。Ｓ３０６においては、Ｓ２０６と同様の処理が行われる。
【０１６０】
マイクロプロセッサ１３は、ボールオブジェクト４２の水平進行方向を、決定された方向に変更して変更履歴に格納する（Ｓ３０７）。つまり、マイクロプロセッサ１３は、Ｓ３０５又はＳ３０６において決定された水平進行方向に変更し、この方向を変更履歴に格納する。
【０１６１】
次いで、マイクロプロセッサ１３（移動制御部６８、軌道算出手段）は、移動開始からｍ／６０秒後において、ボールオブジェクト４２を表示すべき仮位置座標を算出する（Ｓ３０８）。Ｓ３０８においては、主記憶１４に記憶された過去の時間の位置座標に基づいて仮位置座標が算出される点でＳ２０８と異なる。
【０１６２】
マイクロプロセッサ１３は、直前の時間よりもボールオブジェクト４２の位置座標が低いか否かを判定する（Ｓ３０９）。Ｓ３０９においては、移動開始から（ｍ−１）／６０秒後におけるボールオブジェクト４２の位置座標と、仮位置座標と、が比較される。
【０１６３】
ボールオブジェクト４２の位置座標が低い場合（Ｓ３０９；Ｙ）、マイクロプロセッサ１３（移動制御部６８、垂直位置変更手段）は、仮位置座標が低くなるように制御する（Ｓ３１０）。Ｓ３１０はＳ２１０と同様の処理が行われる。ボールオブジェクト４２の位置座標が高い場合（Ｓ３０９；Ｎ）、Ｓ３１０における制御が行われない。
【０１６４】
Ｓ３１１においては、マイクロプロセッサ１３は、Ｓ３０８で算出された仮位置座標、又はＳ３１０で補正された位置座標を時間と対応付けて主記憶１４に記憶する（Ｓ３１１）。つまり、ボールオブジェクト４２の移動開始からｍ／６０秒後の位置座標が主記憶１４に記憶される。Ｓ３１１において、主記憶１４に記憶された位置座標は、ボールオブジェクト４２の軌道を示すものである。つまり、この位置座標を時間順に結ぶ線は、図９に示す軌道Ｃ１及び図１０に示す軌道Ｃ３と同様になる。
【０１６５】
マイクロプロセッサ１３は、終了条件を満たしているか否かを判定する（Ｓ３１２）。終了条件を満たしていない場合（Ｓ３１２；Ｎ）、処理はＳ３０２に戻り、マイクロプロセッサ１３は、次の時間（つまり、移動開始から（ｍ＋１）／６０秒後）におけるボールオブジェクト４２の位置座標の算出処理を行う。
【０１６６】
一方、終了条件を満たしている場合（Ｓ３１２；Ｙ）、マイクロプロセッサ１３は、操作対象選手がボールオブジェクト４２をキックすると、主記憶１４に記憶された軌道に基づいてボールオブジェクト４２を移動させる（Ｓ３１３）。
【０１６７】
［２−２．実施形態２のまとめ］
以上説明した実施形態２に係るゲーム装置１０では、ボールオブジェクト４２の進行方向が、元々の進行方向と乱数とに基づいて決定される進行方向に複数回変更される。マイクロプロセッサ１３は、この無回転シュートの軌道を所定時間間隔毎に変更し、ボールオブジェクト４２の移動を開始させる前に、予めこの軌道を算出することができる。
【０１６８】
操作対象選手がシュートを放つと、この軌道に基づいてボールオブジェクト４２が移動する。実施形態２に係るゲーム装置１０によれば、通常のシュートやストレートシュート等とは異なり、ユーザが予測不可能な軌道を描く無回転シュートを放つことができる。
【０１６９】
また、本実施形態では、実施形態１と同様に、図７に示すように、シュート指示ボタンが押下されて、操作対象選手が予備動作を始めてからＳ１１０の処理が実行されるようにしたが、シュート指示ボタンが押下される前に、カーソル５２が示すポインティング情報に基づいて初期方向が取得され、Ｓ１１０と同様の処理が実行されるようにしてもよい。
【０１７０】
上記の場合には、シュート指示ボタンが押下される前に、無回転シュートの軌道を予め予測して算出できる。この算出された軌道を、図５に示すゲーム画面に表示させてもよい。例えば、無回転シュート指示ボタンが押下された場合は、算出された軌道を虹色で表示させる。ユーザは、無回転シュートの軌道を事前に確認してからシュート指示ボタンを押下することができる。操作対象選手が無回転シュート等を放つ際には、Ｓ１０６又はＳ１０７において初期方向が取得されて、Ｓ１１０において軌道が再度算出される。
【０１７１】
また、Ｓ１１１とＳ１１２においても、Ｓ１１０と同様に、ボールオブジェクト４２の移動が開始される前に、それぞれ通常シュートとストレートシュートの軌道が算出されるようにしてもよい。上記と同様に、シュート指示ボタンが押下される前にそれぞれの軌道を算出して赤色で表示させたりしてもよい。
【０１７２】
また、実施形態２においては、Ｓ３０５又はＳ３０６のように、無回転シュートの進行方向を決定するようにしたが、例えば、実際の無回転シュートの軌道に近くなるように、予め数式を定めておいて軌道が算出されるようにしてもよい。シュート指示ボタンが押下されたタイミング等で乱数を発生させ、この乱数によって数式の係数が変化する等してもよい。
【０１７３】
［３．実施形態３］
以下、実施形態３について説明する。実施形態１と実施形態２においては、コントローラ２２からシュート指示ボタンが押下された後、Ｓ１０６又はＳ１０７において初期方向が取得されていた。この点、実施形態３は、操作対象選手がプレッシャーを感じていると判定した場合に、コントローラ２２を振動させる点に特徴がある。
【０１７４】
コントローラ２２を振動させた後に、初期方向が取得される。なお、実施形態３に係るゲーム装置１０のハードウェア構成は、実施形態１（図１〜図３参照）と同様であるため、ここでは説明を省略する。また、実施形態３に係るゲーム装置１０においても、例えば、サッカーゲームが実行される。
【０１７５】
［３−１．ゲーム装置で実現される機能］
図１３は、ゲーム装置１０において実現される機能群を示す機能ブロック図である。図１３に示すように、実施形態３に係るゲーム装置１０では、振動指示部７０が含まれる点で実施形態１及び実施形態２と異なる。
【０１７６】
［振動指示部］
振動指示部７０は、マイクロプロセッサ１３等から構成され、所定の条件を満たした場合、操作対象選手が助走を開始してからボールオブジェクト４２をキックするまでの間に、コントローラ２２を振動させる。
【０１７７】
この所定の条件とは、操作対象選手がプレッシャーを感じているか否かを判定するためのものである。例えば、この条件は、選手パラメータの値が基準範囲内に含まれるか否か等のパラメータに関する条件、ゲーム状況が所定の状況であるか否かを示す条件、カーソル５２が所定領域内にあるか否か等のシュートを狙っている位置に関する条件等である。
【０１７８】
ゲーム状況が所定の状況であるか否かを示す条件とは、例えば、得点差が所定値より小さいか否か、残り時間が所定値より少ないか否か、初期位置の場所がシュートを決めやすい場所であるか否か等である。カーソル５２が所定領域内にあるか否かとは、ゴールオブジェクト４０の隅等のシュートが難しい位置であるか否か等である。
【０１７９】
操作対象選手がプレッシャーを感じている場合、振動指示部７０は、振動させる旨の信号をコントローラ２２に対して入力する。
【０１８０】
［３−２．ゲーム装置にて実行される処理］
図１４は、実施形態３に係るゲーム装置１０において実行される処理の一例を示すフロー図である。図１４の処理は、マイクロプロセッサ１３が、プログラムに従って動作することにより実行される。なお、図１４に示す処理は、図７に示す処理と対応する。つまり、図１４に示す処理は、フリーキックにおけるゲーム画面（図５）が、表示部３０に表示される際に実行される処理である。
【０１８１】
図１４に示すように、Ｓ４０１〜Ｓ４０３の処理は、それぞれＳ１０１〜Ｓ１０３と同様であるので、説明を省略する。
【０１８２】
シュート指示ボタンが押下された場合（Ｓ４０２；Ｙ）、マイクロプロセッサ１３は、操作対象選手にプレッシャーがあるか否かを判定する（Ｓ４０５）。具体的には、上記のように、操作対象選手のパラメータ（例えば、プレッシャーの感じやすさを示すパラメータ）が所定の閾値以上であるか否か等によって判定される。
【０１８３】
なお、Ｓ４０５においては、予め定められた方法に基づいて判定されればよく、上記の方法に限られない。例えば、操作対象選手のパラメータが所定の数式を満たすか否かによって判定されてもよい。他にも、フリーキックのゲーム画面（図５）が表示部３０に表示されてから、シュート指示ボタンが所定時間押下されない場合には、プレッシャーがあると判定されてもよい。
【０１８４】
操作対象選手にプレッシャーがある場合（Ｓ４０５；Ｙ）、マイクロプロセッサ１３（振動指示部７０）は、コントローラインタフェース２０を介してコントローラ２２を振動させる旨の信号を入力して、コントローラ２２を振動させる（Ｓ４０６）。具体的には、マイクロプロセッサ１３は、コントローラ２２に含まれるバイブレータを所定時間振動させる旨の信号を、コントローラ２２に対して入力する。
【０１８５】
コントローラ２２は、この信号を受信すると、コントローラ２２に含まれるバイブレータを振動させる。即ち、シュート指示ボタンが押下されて、操作対象選手がフリーキックの助走を始めた後に、コントローラ２２が振動する。
【０１８６】
なお、コントローラ２２を振動させるのは、操作対象選手が助走を開始してからボールオブジェクト４２をキックするまでの任意の時間であってよい。例えば、操作対象選手がプレッシャーを強く感じていると判断した場合には、操作対象選手がボールオブジェクト４２をキックするタイミング（基準タイミング）に近い時間にコントローラ２２を振動させる。プレッシャーを強く感じているか否かは、操作対象選手のパラメータが所定値を一定量以上超えているか否か等によって判断される。基準タイミングに近い時間にコントローラ２２を振動させることにより、ユーザが狙っている位置をずらすことができ、大きくプレッシャーを感じている選手の状態を再現することができる。
【０１８７】
一方、操作対象選手にプレッシャーがない場合（Ｓ４０５；Ｎ）、処理はＳ４０７に移行する。Ｓ４０７〜Ｓ４１４の処理は、それぞれＳ１０５〜Ｓ１１２と同様であるので、説明を省略する。なお、Ｓ４１２においては図１２に示す処理が実行されるようにしてもよい。
【０１８８】
［３−３．実施形態３のまとめ］
このように、実施形態３に係るゲーム装置１０では、マイクロプロセッサ１３は、基準タイミングにおける初期方向を取得する。また、ゲーム装置１０では、操作対象選手がプレッシャーを感じている場合に、操作対象選手が助走を開始してからボールオブジェクト４２をキックするまでの間に、コントローラ２２が振動する。
【０１８９】
ユーザがコントローラ２２を介して指し示すカーソル５２の位置も揺れるため、ユーザがシュートを狙っている位置をずらすことができる。つまり、実際のサッカー選手のように、緊迫した場面でプレッシャーのために、狙いを外してしまうような状況をゲーム上で仮想的に再現することが可能になる。
【０１９０】
なお、実施形態３においては、操作対象選手がプレッシャーを感じている場合に、コントローラ２２を振動させるようにしたが、コントローラ２２に所定の指示信号を入力すればよく、プレッシャーの表現方法はこれに限られない。例えば、コントローラ２２や音声出力部３１からビープ音を発生させるようにしてもよい。
【０１９１】
［４．実施形態４］
以下、実施形態４について説明する。実施形態３においては、操作対象選手がプレッシャーを感じている場合に、コントローラ２２を振動させる点に特徴があった。実施形態４においては、操作対象選手がプレッシャーを感じている場合に、ポインティング情報に対応する位置とは異なる位置にカーソル５２（指標）が表示される点において実施形態３と異なる。
【０１９２】
なお、実施形態４に係るゲーム装置１０のハードウェア構成は、実施形態１（図１〜図３参照）と同様であるため、ここでは説明を省略する。また、実施形態４に係るゲーム装置１０においても、例えば、サッカーゲームが実行される。
【０１９３】
［４−１．ゲーム装置で実現される機能］
図１５は、ゲーム装置１０において実現される機能群を示す機能ブロック図である。図１５に示すように、実施形態４に係るゲーム装置１０では、表示制御部７２が含まれる点で実施形態１及び実施形態２と異なる。
【０１９４】
［表示制御部］
表示制御部７２は、マイクロプロセッサ１３等から構成され、所定の条件を満たした場合、ポインティング情報に対応する位置とは異なる位置にカーソル５２を表示させる。この所定の条件とは、実施形態３と同様であり、操作対象選手がプレッシャーを感じているか否かを判定するためのものである。
【０１９５】
［４−２．ゲーム装置にて実行される処理］
図１６は、実施形態４に係るゲーム装置１０において実行される処理の一例を示すフロー図である。図１６の処理は、マイクロプロセッサ１３が、プログラムに従って動作することにより実行される。なお、図１６に示す処理は、図７に示す処理と対応する。つまり、図１６に示す処理は、フリーキックにおけるゲーム画面（図５）が、表示部３０に表示される際に実行される処理である。
【０１９６】
図１６に示すように、Ｓ５０１とＳ５０２の処理は、それぞれＳ１０１とＳ４０５と同様であるので、説明を省略する。
【０１９７】
操作対象選手にプレッシャーがある場合（Ｓ５０２；Ｙ）、マイクロプロセッサ１３（表示制御部７２）は、ポインティング情報に対応する位置とは異なる位置にカーソル５２を表示させる（Ｓ５０３）。具体的には、例えば、ポインティング情報に対応する位置から所定方向に所定距離ずらした位置にカーソル５２が表示される。カーソル５２をずらす方向と距離は、予め定められた値を用いてもよいし、ポインティング情報に対応する位置を中心とする所定半径の円内のランダムな位置に決定されてもよい。
【０１９８】
なお、Ｓ５０３においては、操作対象選手が感じるプレッシャーの度合い（強さ）に応じて、カーソル５２のずらし方を変化させてもよい。例えば、操作対象選手のプレッシャーに対応するパラメータが基準値を大幅に超えている場合（基準値の２００％等）には、基準値を少し超えている場合（基準値の１３０％等）に比べて、ずらす距離を倍にする等である。強くプレッシャーを感じている選手ほど、シュートの狙いを大きくずらすことができる。
【０１９９】
一方、操作対象選手にプレッシャーがない場合（Ｓ５０２；Ｎ）、処理はＳ５０４に移行する。Ｓ５０４〜Ｓ５１４の処理は、それぞれＳ１０２〜Ｓ１１２と同様であるので、説明を省略する。なお、Ｓ５１２においてはＳ４１２と同様に、図１２に示す処理が実行されるようにしてもよい。
【０２００】
［４−３．実施形態４のまとめ］
このように、実施形態４に係るゲーム装置１０では、操作対象選手がプレッシャーを感じている場合に、ポインティング情報に対応する位置とは異なる位置にカーソル５２をずらして表示させる。
【０２０１】
カーソル５２が本来表示される位置とは異なる位置に表示されるので、ユーザが狙っているシュートの位置をずらすことができる。つまり、ユーザが意図するポインティング情報とは異なる値に基づいて初期方向が取得される。実際のサッカー選手のように、緊迫した場面でプレッシャーのために、狙いを外してしまうような状況をゲーム上で仮想的に再現することが可能になる。
【０２０２】
本実施形態１〜４においては、サッカーゲームを実行する例を挙げたが、本発明は、サッカーボール以外の移動物体を用いて行われる他のゲーム（アイスホッケー等）にも適用することができる。例えば、野球ゲームにおいて、ピッチャーが投じるナックルボールの表示処理においても同様の処理を適用可能である。
【符号の説明】
【０２０３】
１０  ゲーム装置、１１  家庭用ゲーム機、１２  バス、１３  マイクロプロセッサ、１４  主記憶、１５  画像処理部、１６  音声処理部、１７  光ディスクドライブ、１８  メモリカードスロット、１９  通信インタフェース、２０  コントローラインタフェース、２１  操作入力部、２２  コントローラ、２２ａ  前端部、２３  撮像部、２４  撮影画像解析部、２５  発光部、３０  表示部、３１  音声出力部、３２  光ディスク、３３  メモリカード、３４ａ，３４ｂ  光源、３５  基準位置、３６  方向ボタン、３７ａ，３７ｂ，３７ｃ  ボタン、３８  フィールドオブジェクト、４０  ゴールオブジェクト、４２  ボールオブジェクト、４４，４４ａ，４４ｂ，４６，４６ａ，４６ｂ，４６ｃ  選手オブジェクト、４８  仮想カメラ、５２  カーソル、５８  入力部、６０  ゲームデータ記憶部、６２  ゲーム制御部、６４  位置取得部、６６  方向取得部、６８  移動制御部、７０  振動指示部、７２  表示制御部。
【図１】
0005396212.tif 000002
【図２】
0005396212.tif 000003
【図３】
0005396212.tif 000004
【図４】
0005396212.tif 000005
【図５】
0005396212.tif 000006
【図６】
0005396212.tif 000007
【図７】
0005396212.tif 000008
【図８】
0005396212.tif 000009
【図９】
0005396212.tif 000010
【図１０】
0005396212.tif 000011
【図１１】
0005396212.tif 000012
【図１２】
0005396212.tif 000013
【図１３】
0005396212.tif 000014
【図１４】
0005396212.tif 000015
【図１５】
0005396212.tif 000016
【図１６】
0005396212.tif 000017