(57)【要約】【課題】第２キャラクタから送出された第２移動体がある面を通過する時間と、第１キャラクタの動作に連動して移動する第１移動体がこの面を通過する時間との差を、小さくする。【解決手段】本プログラムでは、第１キャラクタ８０の動作に連動して移動する第１移動体Ｉ１が、第１移動体用の画像データを用いて画像表示部に表示される。そして、第１移動体Ｉ１が動作を開始したときの、第２移動体Ｉ２の移動速度と第２移動体Ｉ２の位置から予想通過面までの距離とに基づいて、第２キャラクタ７０から送出された第２移動体Ｉ２が予想通過面Ｙに到達するまでの到達時間が、算出される。そして、基準到達時間と到達時間との差の絶対値が小さくなるように基準到達時間を補正する処理が制御部により実行され、第１移動体Ｉ１が予想通過面Ｙに到達する時間と、第２移動体Ｉ２が予想通過面Ｙに到達する時間との差が縮小される。【選択図】図２
2009207780.tif 000002
【特許請求の範囲】
【請求項１】
第１キャラクタの動作に連動して移動する第１移動体、および第２キャラクタから送出される第２移動体を画像表示部に表示するゲームを実行可能なコンピュータに、
前記第２キャラクタから送出された前記第２移動体が通過する予想通過面を規定するための座標を制御部に認識させることにより、前記予想通過面を設定する予想通過位置認識機能と、
記憶部に格納された、前記第１キャラクタが動作を開始してから、前記第１キャラクタの動作に連動して移動する前記第１移動体が前記予想通過面に到達するまでの基準到達時間を、制御部に認識させることにより、前記基準到達時間を設定する基準到達時間設定機能と、
前記第２キャラクタから送出された前記第２移動体を、第２移動体用の画像データを用いて画像表示部に表示する第２移動体表示機能と、
前記第１キャラクタを動作させるための動作開始命令を制御部に発行させることにより、前記第１キャラクタの動作に連動して移動する前記第１移動体を、第１移動体用の画像データを用いて画像表示部に表示する第１移動体表示機能と、
前記動作開始命令が制御部から発行されたときの前記第２移動体の移動速度と、前記動作開始命令が制御部から発行されたときの前記第２移動体の位置から前記予想通過面までの距離とを制御部に認識させることにより、前記第２キャラクタから送出された前記第２移動体が前記予想通過面に到達するまでの到達時間を算出する到達時間算出機能と、
前記基準到達時間と前記到達時間との差の絶対値が小さくなるように前記基準到達時間を補正する処理を制御部に実行させることにより、前記第１移動体が前記予想通過面に到達する時間と、前記第２移動体が前記予想通過面に到達する時間との差を縮小する時間差縮小機能と、
を実現させるためのゲームプログラム。
【請求項２】
前記時間差縮小機能では、前記基準到達時間が前記到達時間より大きい場合に前記基準到達時間が小さくなるように前記基準到達時間を補正する処理を制御部に実行させることにより、前記第１移動体が前記予想通過面に到達する時間と、前記第２移動体が前記予想通過面に到達する時間との差を縮小する、
請求項１に記載のゲームプログラム。
【請求項３】
前記時間差縮小機能では、前記基準到達時間と前記到達時間との差の絶対値が小さくなるように前記第２移動体の前記移動速度に応じて前記基準到達時間を補正する処理を制御部に実行させることにより、前記第１移動体が前記予想通過面に到達する時間と、前記第２移動体が前記予想通過面に到達する時間との差が縮小される、
請求項１又は２に記載のゲームプログラム。
【請求項４】
前記コンピュータに、
前記第１キャラクタの動作に連動して移動する第１移動体が通過する前記予想通過面上の第１通過領域の内部座標を制御部に認識させることにより、前記第１移動体の前記第１通過領域を設定する第１通過領域設定機能と、
前記第２キャラクタから送出された前記第２移動体が通過する前記予想通過面上の第２通過領域の内部座標を制御部に認識させることにより、前記第２移動体の前記第２通過領域を設定する第２通過領域設定機能と、
補正後の前記基準到達時間と前記到達時間とを比較する処理を制御部に実行させることにより、前記第１移動体と前記第２移動体とが時間的に衝突するか否かを判断する第１衝突判断機能と、
前記第１通過領域の内部座標と前記第２通過領域の内部座標とが一致するか否かを制御部に判定させることにより、前記第１移動体と前記第２移動体とが空間的に衝突するか否かを判断する第２衝突判断機能と、
前記第１移動体と前記第２移動体とが時間的かつ空間的に衝突する場合に、補正後の前記基準到達時間と前記到達時間とを比較する処理を制御部に実行させることにより、比較結果に応じて前記第２移動体が移動する方向を決定する移動方向決定機能と、
をさらに実現させるための請求項１から３のいずれかに記載のゲームプログラム。
【請求項５】
前記第１キャラクタが動作を開始する時間のばらつきを調整するための所定の調整時間を所定の標準時間から減算した値を下限値とし、所定の前記調整時間を所定の前記標準時間に加算した値を上限値とする範囲を有する、前記基準到達時間を、制御部に認識させることにより、前記基準到達時間が設定される、
請求項１から４のいずれかに記載のゲームプログラム。
【請求項６】
前記コンピュータに
前記第１キャラクタの特殊能力に対応する特殊能力データが設定されている否かを制御部に判定させることにより、前記第１キャラクタが前記特殊能力を有しているか否かを判断する特殊能力判断機能、
をさらに実現させ、
時間差縮小機能では、前記第１キャラクタが前記特殊能力を有している場合に、前記基準到達時間と前記到達時間との差の絶対値が小さくなるように前記基準到達時間を補正する処理を制御部に実行させることにより、前記第１移動体が前記予想通過面に到達する時間と、前記第２移動体が前記予想通過面に到達する時間との差が縮小される、
請求項１から５のいずれかに記載のゲームプログラム。
【請求項７】
第１キャラクタの動作に連動して移動する第１移動体、および第２キャラクタから送出される第２移動体を画像表示部に表示するゲームを実行可能なゲーム装置であって、
前記第２キャラクタから送出された前記第２移動体が通過する予想通過面を規定するための座標を制御部に認識させることにより、前記予想通過面を設定する予想通過位置認識手段と、
記憶部に格納された、前記第１キャラクタが動作を開始してから、前記第１キャラクタの動作に連動して移動する前記第１移動体が前記予想通過面に到達するまでの基準到達時間を、制御部に認識させることにより、前記基準到達時間を設定する基準到達時間設定手段と、
前記第２キャラクタから送出された前記第２移動体を、第２移動体用の画像データを用いて画像表示部に表示する第２移動体表示手段と、
前記第１キャラクタを動作させるための動作開始命令を制御部に発行させることにより、前記第１キャラクタの動作に連動して移動する前記第１移動体を、第１移動体用の画像データを用いて画像表示部に表示する第１移動体表示手段と、
前記動作開始命令が制御部から発行されたときの前記第２移動体の移動速度と、前記動作開始命令が制御部から発行されたときの前記第２移動体の位置から前記予想通過面までの距離とを制御部に認識させることにより、前記第２キャラクタから送出された前記第２移動体が前記予想通過面に到達するまでの到達時間を算出する到達時間算出手段と、
前記基準到達時間と前記到達時間との差の絶対値が小さくなるように前記基準到達時間を補正する処理を制御部に実行させることにより、前記第１移動体が前記予想通過面に到達する時間と、前記第２移動体が前記予想通過面に到達する時間との差を縮小する時間差縮小手段と、
を備えるゲーム装置。
【請求項８】
第１キャラクタの動作に連動して移動する第１移動体、および第２キャラクタから送出される第２移動体を画像表示部に表示するゲームをコンピュータにより制御可能なゲーム制御方法であって、
前記第２キャラクタから送出された前記第２移動体が通過する予想通過面を規定するための座標を制御部に認識させることにより、前記予想通過面を設定する予想通過位置認識ステップと、
記憶部に格納された、前記第１キャラクタが動作を開始してから、前記第１キャラクタの動作に連動して移動する前記第１移動体が前記予想通過面に到達するまでの基準到達時間を、制御部に認識させることにより、前記基準到達時間を設定する基準到達時間設定ステップと、
前記第２キャラクタから送出された前記第２移動体を、第２移動体用の画像データを用いて画像表示部に表示する第２移動体表示ステップと、
前記第１キャラクタを動作させるための動作開始命令を制御部に発行させることにより、前記第１キャラクタの動作に連動して移動する前記第１移動体を、第１移動体用の画像データを用いて画像表示部に表示する第１移動体表示ステップと、
前記動作開始命令が制御部から発行されたときの前記第２移動体の移動速度と、前記動作開始命令が制御部から発行されたときの前記第２移動体の位置から前記予想通過面までの距離とを制御部に認識させることにより、前記第２キャラクタから送出された前記第２移動体が前記予想通過面に到達するまでの到達時間を算出する到達時間算出ステップと、
前記基準到達時間と前記到達時間との差の絶対値が小さくなるように前記基準到達時間を補正する処理を制御部に実行させることにより、前記第１移動体が前記予想通過面に到達する時間と、前記第２移動体が前記予想通過面に到達する時間との差を縮小する時間差縮小ステップと、
を備えるゲーム制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラム、特に、第１キャラクタの動作に連動して移動する第１移動体、および第２キャラクタから送出される第２移動体を画像表示部に表示するゲームを実現するためのゲームプログラムに関する。また、このゲームプログラムを実行可能なゲーム装置、およびこのゲームプログラムに基づいてコンピュータにより制御されるゲーム制御方法に関する。
【背景技術】
【０００２】
従来から様々なビデオゲームが提案されている。これらビデオゲームは、ゲーム装置において実行されるようになっている。たとえば、一般的なゲーム装置は、モニタと、モニタとは別体のゲーム機本体と、ゲーム機本体とは別体の入力部たとえばコントローラとを有している。コントローラには、複数の入力ボタンが配置されている。また、たとえば、携帯型のゲーム装置は、ゲーム機本体と、ゲーム機本体の略中央部に設けられた液晶モニタと、液晶モニタの両側に配置された入力部たとえば複数の入力ボタンとを有している。
【０００３】
このようなゲーム装置によって実行されるゲームの１つとして、たとえば、野球ゲームが知られている（非特許文献１を参照）。一般的な野球ゲームには、プレイヤが自分のチームの各選手キャラクタを操作して相手チームと得点を競うタイプのモード（対戦モード）が用意されている。
【０００４】
この対戦モードでは、試合イベントにおいて自分のチームが攻撃や守備をしているときに、プレイヤが選手キャラクタに動作に関する指示をコントローラから行うことによって、打者キャラクタにバットを振らせたり、投手キャラクタや野手キャラクタにボールを送球させたりすることができるようになっている。
【０００５】
たとえば、投手キャラクタに対して投球に関する指示が行われる場合、球種の選択が行われ、投球開始命令が指示される。すると、投手キャラクタが投球する動作が、モニタに表示される。そして、画面の上部に表示された捕手ウィンドウの内部の捕手キャラクタのミットの位置を移動することにより、投球コースが決定される。そして、所定の時間が経過すると、ボールがリリースされる。
【０００６】
一方で、打者キャラクタに対して打撃に関する指示が行われる場合、画面に表示されたミートカーソルを移動することにより、打者キャラクタのヒッティングポイントが決定される。そして、ヒッティングポイント（ミートカーソルの位置）が決定されると、スイング開始命令が指示される。すると、打者キャラクタがスイングする動作がモニタに表示される。そして、投手キャラクタから投球されたボールが、所定のタイミングでヒッティングポイント（ミートカーソルの位置）を通過した場合、ボールがバットにより打ち返される。
【０００７】
このように、従来の野球ゲームでは、各種の指示が実行されることにより選手キャラクタに各種の動作を実行させ、試合イベントにおける対戦を進行することができるようになっている。
【非特許文献１】実況パワフルプロ野球１２、コナミデジタルエンタテインメント、ＰＳ２版、２００５年７月１４日
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来の野球ゲームでは、対戦モードが実行された場合、試合イベントにおいて各種の指示が選手キャラクタに対して実行されていた。
【０００９】
たとえば、従来の野球ゲームでは、投手キャラクタがボールを投球する投球コースは、画面の上部に表示された捕手キャラクタのミットの位置を移動することにより決定されていた。この捕手キャラクタのミットの位置を目印にすることで、打者キャラクタを操作するプレイヤは、投球コースを予測することができていた。
【００１０】
しかしながら、近年になって、捕手キャラクタのミット（捕手ウィンドウ）が画面の上部に表示されない仕様の野球ゲーム（捕手ウィンドウなしの野球ゲーム）が、提供されるようになった。
【００１１】
このため、従来の野球ゲーム（非特許文献１の野球ゲーム）を実行していたプレイヤが、捕手ウィンドウなしの野球ゲームを実行すると、このプレイヤは、捕手ウィンドウなしの野球ゲームでは捕手キャラクタのミットの位置で投球コースを予測することができないので、打者のミートカーソルをボールの通過位置（着弾領域）に重ねる操作に時間がかかるという問題があった。また、従来の野球ゲームを実行していたプレイヤが、捕手ウィンドウなしの野球ゲームを実行した場合、打者のミートカーソルをボールの着弾領域に重ねる操作に時間がかかるために、打者キャラクタにスイングを開始させるボタンが焦って早く押されてしまうという問題もあった。
【００１２】
このため、従来の野球ゲームを実行していたプレイヤが、捕手ウィンドウなしの野球ゲームを実行すると、打者キャラクタのスイングが振り遅れてしまったり打者キャラクタが早くスイングしすぎてしまったりするという不満が、プレイヤからゲーム提供者に対して寄せられるようになった。
【００１３】
本発明は、このような問題に鑑みてなされたものであり、本発明の目的は、ボールが投球コースに到達する時間と、バットがミート位置に到達する時間との差が小さくなるようにすることにある。
【００１４】
一般的に表現すると、本発明の目的は、第２キャラクタから送出された第２移動体がある面を通過する時間と、第１キャラクタの動作に連動して移動する第１移動体がこの面を通過する時間との差が小さくなるようにすることにある。
【課題を解決するための手段】
【００１５】
請求項１に係るゲームプログラムは、第１キャラクタの動作に連動して移動する第１移動体、および第２キャラクタから送出される第２移動体を画像表示部に表示するゲームを実行可能なコンピュータに、以下の機能を実現させるためのプログラムである。
（１）第２キャラクタから送出された第２移動体が通過する予想通過面を規定するための座標を制御部に認識させることにより、予想通過面を設定する予想通過位置認識機能。
（２）記憶部に格納された、第１キャラクタが動作を開始してから、第１キャラクタの動作に連動して移動する第１移動体が予想通過面に到達するまでの基準到達時間を、制御部に認識させることにより、基準到達時間を設定する基準到達時間設定機能。
（３）第２キャラクタから送出された第２移動体を、第２移動体用の画像データを用いて画像表示部に表示する第２移動体表示機能。
（４）第１キャラクタを動作させるための動作開始命令を制御部に発行させることにより、第１キャラクタの動作に連動して移動する第１移動体を、第１移動体用の画像データを用いて画像表示部に表示する第１移動体表示機能。
（５）動作開始命令が制御部から発行されたときの第２移動体の移動速度と、動作開始命令が制御部から発行されたときの第２移動体の位置から予想通過面までの距離とを制御部に認識させることにより、第２キャラクタから送出された第２移動体が予想通過面に到達するまでの到達時間を算出する到達時間算出機能。
（６）基準到達時間と到達時間との差の絶対値が小さくなるように基準到達時間を補正する処理を制御部に実行させることにより、第１移動体が予想通過面に到達する時間と、第２移動体が予想通過面に到達する時間との差を縮小する時間差縮小機能。
【００１６】
このゲームプログラムでは、予想通過位置認識機能において、第２キャラクタから送出された第２移動体が通過する予想通過面を規定するための座標を制御部に認識させることにより、予想通過面が設定される。基準到達時間設定機能においては、記憶部に格納された、第１キャラクタが動作を開始してから、第１キャラクタの動作に連動して移動する第１移動体が予想通過面に到達するまでの基準到達時間を、制御部に認識させることにより、基準到達時間が設定される。第２移動体表示機能においては、第２キャラクタから送出された第２移動体が、第２移動体用の画像データを用いて画像表示部に表示される。第１移動体表示機能においては、第１キャラクタを動作させるための動作開始命令を制御部に発行させることにより、第１キャラクタの動作に連動して移動する第１移動体が、第１移動体用の画像データを用いて画像表示部に表示される。到達時間算出機能においては、動作開始命令が制御部から発行されたときの第２移動体の移動速度と、動作開始命令が制御部から発行されたときの第２移動体の位置から予想通過面までの距離とを制御部に認識させることにより、第２キャラクタから送出された第２移動体が予想通過面に到達するまでの到達時間が、算出される。時間差縮小機能においては、基準到達時間と到達時間との差の絶対値が小さくなるように基準到達時間を補正する処理を制御部に実行させることにより、第１移動体が予想通過面に到達する時間と、第２移動体が予想通過面に到達する時間との差が縮小される。
【００１７】
たとえば、本ゲームプログラムを用いることにより野球ゲームが実行された場合、投手キャラクタから送出されたボールが通過する予想通過面を規定するための座標を制御部に認識させることにより、予想通過面が設定される。そして、打者キャラクタがスイング動作を開始してから、打者キャラクタのスイング動作に連動して移動するバットが予想通過面に到達するまでの基準到達時間を、制御部に認識させることにより、基準到達時間が設定される。この基準到達時間は、記憶部に格納されている。そして、投手キャラクタから送出されたボールが、ボール用の画像データを用いて画像表示部に表示される。すると、打者キャラクタをスイング動作させるためのスイング動作開始命令を制御部に発行させることにより、打者キャラクタのスイング動作に連動して移動するバットが、バット用の画像データを用いて画像表示部に表示される。そして、スイング動作開始命令が制御部から発行されたときのボールの移動速度と、スイング動作開始命令が制御部から発行されたときのボールの位置から予想通過面までの距離（到達距離）とを制御部に認識させることにより、投手キャラクタから送出されたボールが予想通過面に到達するまでの到達時間が、算出される。そして、基準到達時間と到達時間との差の絶対値が小さくなるように基準到達時間を補正する処理を制御部に実行させることにより、バットが予想通過面に到達する時間と、ボールが予想通過面に到達する時間との差が縮小される。
【００１８】
この場合、スイング動作開始命令が制御部から発行されたときのボールの移動速度とスイング動作開始命令が制御部から発行されたときの到達距離とに基づいて、スイング動作開始命令が制御部から発行されたときの到達時間が算出される。たとえば、上記の到達距離を上記のボールの移動速度で除算する処理を制御部に実行させることにより、上記の到達時間を算出することができる。この到達時間は、打者キャラクタがスイング動作を開始した時点から、ボールが予想通過面に到達する時点までの時間に対応している。そして、この到達時間と、打者キャラクタがスイング動作を開始した時点からバットが予想通過面に到達する時点までの時間（基準到達時間）との差の絶対値が小さくなるように、基準到達時間を補正する処理が、制御部により実行される。
【００１９】
これにより、請求項１に係る発明では、打者キャラクタのスイングが振り遅れてしまったり打者キャラクタがバットを早く振りすぎてしまったりしても、バットが予想通過面に到達する時間と、ボールが予想通過面に到達する時間との差が縮小されるので、振り遅れの程度又は早振りの程度を緩和することができる。一般的に表現すると、請求項１に係る発明では、第２キャラクタ（投手キャラクタ）から送出された第２移動体（ボール）が予想通過面を通過する時間と、第１キャラクタ（打者キャラクタ）の動作に連動して移動する第１移動体（バット）が予想通過面を通過する時間との差を小さくすることにより、第１移動体と第２移動体とが同一面に到達するタイミングを合いやすくすることができる。
【００２０】
請求項２に係るゲームプログラムでは、請求項１に記載のゲームプログラムにおいて、基準到達時間が到達時間より大きい場合に、基準到達時間が小さくなるように基準到達時間を補正する処理が、制御部により実行される。これにより、第１移動体が予想通過面に到達する時間と、第２移動体が予想通過面に到達する時間との差が縮小される。ここでの処理は、時間差縮小機能において実行される。
【００２１】
たとえば、本ゲームプログラムを用いることにより野球ゲームが実行された場合、打者キャラクタがスイング動作を開始した時点からバットが予想通過面に到達する時点までの時間（基準到達時間）が、打者キャラクタがスイング動作を開始した時点からボールが予想通過面に到達する時点までの時間（到達時間）より大きい場合に、基準到達時間が小さくなるように基準到達時間を補正する処理が、制御部により実行される。これにより、バットが予想通過面に到達する時間と、ボールが予想通過面に到達する時間との差が縮小される。
【００２２】
この場合、打者キャラクタがスイング動作を開始した時点において、打者キャラクタが振り遅れであることが決定している（基準到達時間が、到達時間より大きい）。このため、基準到達時間が小さくなるように、基準到達時間が制御部により補正される。すると、基準到達時間と到達時間との差の絶対値が小さくなり、第１移動体が予想通過面に到達する時間と、第２移動体が予想通過面に到達する時間との差を縮小することができる。
【００２３】
このように、請求項２に係る発明では、打者キャラクタのスイングが振り遅れたときに、バットが予想通過面に到達する時間と、ボールが予想通過面に到達する時間との差を縮小することにより、振り遅れの程度を緩和することができる。一般的に表現すると、請求項２に係る発明では、第２キャラクタ（投手キャラクタ）から送出された第２移動体（ボール）が予想通過面を通過する時間と、第１キャラクタ（打者キャラクタ）の動作に連動して移動する第１移動体（バット）が予想通過面を通過する時間との差を縮小することにより、第１移動体と第２移動体とが同一面に到達するタイミングを合いやすくすることができる。
【００２４】
請求項３に係るゲームプログラムでは、請求項１又は２に記載のゲームプログラムにおいて、基準到達時間と到達時間との差の絶対値が小さくなるように第２移動体の移動速度に応じて基準到達時間を補正する処理が、制御部により実行される。これにより、第１移動体が予想通過面に到達する時間と、第２移動体が予想通過面に到達する時間との差が縮小される。ここでの処理は、時間差縮小機能において実行される。
【００２５】
たとえば、本ゲームプログラムを用いることにより野球ゲームが実行された場合、打者キャラクタがスイング動作を開始した時点からバットが予想通過面に到達する時点までの時間（基準到達時間）と、打者キャラクタがスイング動作を開始した時点からボールが予想通過面に到達する時点までの時間（到達時間）との差の絶対値が小さくなるように、ボールの移動速度に応じて基準到達時間を補正する処理が、制御部により実行される。これにより、バットが予想通過面に到達する時間と、ボールが予想通過面に到達する時間との差が縮小される。
【００２６】
この場合、たとえば、基準到達時間からボールの移動速度に応じた時間（ボールの移動速度を媒介変数にした時間）を減算することにより、基準到達時間が小さくなるように補正される。たとえば、ボールの移動速度が速い場合には、基準到達時間から大きな値（ボールの移動速度に応じた時間）が減算される。また、ボールの移動速度が遅い場合には、基準到達時間から小さな値（ボールの移動速度に応じた時間）が減算される。これにより、基準到達時間と到達時間との差の絶対値を効果的に小さくすることができる。すなわち、第１移動体が予想通過面に到達する時間と、第２移動体が予想通過面に到達する時間との差を、効果的に縮小することができる。
【００２７】
このように、請求項３に係る発明では、基準到達時間からボールの移動速度に応じた時間（ボールの移動速度を媒介変数にした時間）が減算されるので、振り遅れの程度又は早振りの程度を効果的に緩和することができる。一般的に表現すると、請求項３に係る発明では、第２キャラクタ（投手キャラクタ）から送出された第２移動体（ボール）が予想通過面を通過する時間と、第１キャラクタ（打者キャラクタ）の動作に連動して移動する第１移動体（バット）が予想通過面を通過する時間との差を小さくすることにより、第１移動体と第２移動体とが同一面に到達するタイミングをより合いやすくすることができる。
【００２８】
請求項４に係るゲームプログラムは、請求項１から３のいずれかに記載のゲームプログラムにおいて、以下の機能を実現させるためのプログラムである。
（７）第１キャラクタの動作に連動して移動する第１移動体が通過する予想通過面上の第１通過領域の内部座標を制御部に認識させることにより、第１移動体の第１通過領域を設定する第１通過領域設定機能。
（８）第２キャラクタから送出された第２移動体が通過する予想通過面上の第２通過領域の内部座標を制御部に認識させることにより、第２移動体の第２通過領域を設定する第２通過領域設定機能。
（９）補正後の基準到達時間と到達時間とを比較する処理を制御部に実行させることにより、第１移動体と第２移動体とが時間的に衝突するか否かを判断する第１衝突判断機能。
（１０）第１通過領域の内部座標と第２通過領域の内部座標とが一致するか否かを制御部に判定させることにより、第１移動体と第２移動体とが空間的に衝突するか否かを判断する第２衝突判断機能。
（１１）第１移動体と第２移動体とが時間的かつ空間的に衝突する場合に、補正後の基準到達時間と到達時間とを比較する処理を制御部に実行させることにより、比較結果に応じて第２移動体が移動する方向を決定する移動方向決定機能。
【００２９】
このゲームプログラムでは、第１通過領域設定機能において、第１キャラクタの動作に連動して移動する第１移動体が通過する予想通過面上の第１通過領域の内部座標を制御部に認識させることにより、第１移動体の第１通過領域が設定される。第２通過領域設定機能においては、第２キャラクタから送出された第２移動体が通過する予想通過面上の第２通過領域の内部座標を制御部に認識させることにより、第２移動体の第２通過領域が設定される。第１衝突判断機能においては、補正後の基準到達時間と到達時間とを比較する処理を制御部に実行させることにより、第１移動体と第２移動体とが時間的に衝突するか否かが判断される。第２衝突判断機能においては、第１通過領域の内部座標と第２通過領域の内部座標とが一致するか否かを制御部に判定させることにより、第１移動体と第２移動体とが空間的に衝突するか否かが判断される。移動方向決定機能においては、第１移動体と第２移動体とが時間的かつ空間的に衝突した場合に、補正後の基準到達時間と到達時間とを比較する処理を制御部に実行させることにより、比較結果に応じて第２移動体が移動する方向が決定される。
【００３０】
たとえば、本ゲームプログラムを用いることにより野球ゲームが実行された場合、打者キャラクタの動作に連動して移動するバットが通過する予想通過面上のミートカーソル（第１通過領域）の内部座標を制御部に認識させることにより、バットのミートカーソルが設定される。そして、投手キャラクタから投球されたボールが通過する予想通過面上の着弾領域（第２通過領域）の内部座標を制御部に認識させることにより、ボールの着弾領域が設定される。そして、補正後の基準到達時間と到達時間とを比較する処理を制御部に実行させることにより、バットとボールとが時間的に衝突するか否かが判断される。そして、ミートカーソルの内部座標と着弾領域の内部座標とが一致するか否かを制御部に判定させることにより、バットとボールとが空間的に衝突するか否かが判断される。そして、バットとボールとが時間的かつ空間的に衝突した場合に、補正後の基準到達時間と到達時間とを比較する処理を制御部に実行させることにより、比較結果に応じてボールが移動する方向が決定される。
【００３１】
この場合、補正後の基準到達時間と到達時間とを比較することにより、バットとボールとが時間的に予想通過面において衝突するか否かが判断される。そして、ミートカーソルと着弾領域とが一致するか否かを判定することにより、バットとボールとが空間的に衝突するか否かが判断される。そして、バットとボールとが時間的かつ空間的に衝突すると判断された場合、補正後の基準到達時間と到達時間とを比較した結果に応じて、ボールが移動する方向が決定される。たとえば、バットでボールが捉えられる場合、打者キャラクタがスイング動作を開始した時点からバットが予想通過面に到達する時点までの時間（基準到達時間）と、打者キャラクタがスイング動作を開始した時点からボールが予想通過面に到達する時点までの時間（到達時間）との差の値に応じて、打ち返されるボールの飛球方向が決定される。
【００３２】
このように、請求項４に係る発明では、振り遅れの程度又は早振りの程度が緩和された状態において、基準到達時間と到達時間との差の値に応じて、打ち返されるボールの飛球方向を決定することができる。たとえば、補正後の基準到達時間と到達時間との差の値が比較的小さければ、打ち返されたボールは、センター方向に飛球する。また、補正後の基準到達時間と到達時間との差の値が比較的大きければ、振り遅れの程度又は早振りの程度が緩和されていても、打ち返されたボールは、ライト方向又はレフト方向に飛球する。このように、振り遅れの程度又は早振りの程度が緩和された状態においても、打ち返されるボールが必ずセンター返しにならないように設計されている。このため、本発明のような処理がゲームプログラムにおいて実行されていても、プレイヤに違和感を感じさせることなく野球ゲームをプレイさせることができる。
【００３３】
一般的に表現すると、請求項４に係る発明では、第２キャラクタ（投手キャラクタ）から送出された第２移動体（ボール）が予想通過面を通過する時間と、第１キャラクタ（打者キャラクタ）の動作に連動して移動する第１移動体（バット）が予想通過面を通過する時間との比較結果に応じて、第２移動体の移動方向を決定することにより、本発明の機能が実行されたときに、プレイヤに違和感を感じさせることなくゲームをプレイさせることができる。
【００３４】
請求項５に係るゲームプログラムでは、請求項１から４のいずれかに記載のゲームプログラムにおいて、所定の範囲を有する基準到達時間を制御部に認識させることにより、基準到達時間が設定される。この基準到達時間を設定するための範囲（所定の範囲）は、第１キャラクタが動作を開始する時間のばらつきを調整するための所定の調整時間を所定の標準時間から減算した値を下限値とし、所定の調整時間を所定の標準時間に加算した値を上限値とする。
【００３５】
たとえば、本ゲームプログラムを用いることにより野球ゲームが実行された場合、打者キャラクタがスイング動作を開始した時点からバットが予想通過面に到達する時点までの時間（基準到達時間）が、所定の範囲を有する。この所定の範囲は、打者キャラクタにスイング動作の開始を指示するときの指示タイミングのばらつきを考慮するために設けられている。
【００３６】
これにより、たとえば、プレイヤがスイング動作の開始を指示したときに基準到達時間と到達時間との差が大きな差になった場合、すなわちセンター返しのタイミングから大きくタイミングずれた場合にのみ、基準到達時間を調整する処理を制御部に実行させることができる。
【００３７】
言い換えると、センター返しのタイミングからわずかにタイミングずれた場合に、基準到達時間を調整する処理を制御部に実行させてしまうと、状況によっては、振り遅れのタイミングが早振りのタイミングになってしまったり、早振りのタイミングが振り遅れのタイミングになってしまったりする。すると、プレイヤの感覚とは異なる方向に打球が飛んでいくことになり、プレイヤに違和感を与えてしまうおそれがある。しかしながら、請求項５に係る発明では、基準到達時間に所定の範囲を設けることにより、このようなタイミングの変化が生じないので、タイミングの変化による違和感をプレイヤに感じさせないようにすることができる。
【００３８】
一般的に表現すると、請求項５に係る発明では、第１キャラクタ（打者キャラクタ）の動作に連動して移動する第１移動体（バット）が予想通過面を通過する時間に所定の範囲を設定することにより、プレイヤに違和感を感じさせることなくゲームをプレイさせることができる。
【００３９】
請求項６に係るゲームプログラムは、請求項１から５のいずれかに記載のゲームプログラムにおいて、以下の機能を実現させるためのプログラムである。
（１２）第１キャラクタの特殊能力に対応する特殊能力データが設定されている否かを制御部に判定させることにより、第１キャラクタが特殊能力を有しているか否かを判断する特殊能力判断機能。
【００４０】
このゲームプログラムでは、特殊能力判断機能において、第１キャラクタの特殊能力に対応する特殊能力データが設定されている否かを制御部に判定させることにより、第１キャラクタが特殊能力を有しているか否かが、判断される。時間差縮小機能においては、第１キャラクタが特殊能力を有している場合に、基準到達時間と到達時間との差の絶対値が小さくなるように基準到達時間を補正する処理を制御部に実行させることにより、第１移動体が予想通過面に到達する時間と、第２移動体が予想通過面に到達する時間との差が縮小される。
【００４１】
たとえば、本ゲームプログラムを用いることにより野球ゲームが実行された場合、打者キャラクタの特殊能力に対応する特殊能力データが設定されている否かが、制御部により判定される。これにより、打者キャラクタが特殊能力を有しているか否かが、判断される。そして、打者キャラクタが特殊能力を有している場合に、基準到達時間と到達時間との差の絶対値が小さくなるように基準到達時間を補正する処理が、制御部により実行される。これにより、バットが予想通過面に到達する時間と、ボールが予想通過面に到達する時間との差が縮小される。
【００４２】
この場合、バットが予想通過面に到達する時間とボールが予想通過面に到達する時間との差を縮小する補正は、打者キャラクタが特殊能力を有する場合に限定される。これにより、プレイヤは、打者キャラクタのスイングが振り遅れてしまったり打者キャラクタがバットを早く振りすぎてしまったときに、振り遅れの程度又は早振りの程度を緩和したければ、特殊能力を獲得する必要がある。すなわち、プレイヤは、特殊能力を獲得してはじめて、振り遅れの程度又は早振りの程度を緩和することができる。
【００４３】
一般的に表現すると、特殊能力に対応する特殊能力データが第１キャラクタに対して割り当てられている場合に、第２キャラクタ（投手キャラクタ）から送出された第２移動体（ボール）が予想通過面を通過する時間と、第１キャラクタ（打者キャラクタ）の動作に連動して移動する第１移動体（バット）が予想通過面を通過する時間との差を小さくすることができる。これにより、特殊能力データが第１キャラクタに対して割り当てられている場合にのみ、第１移動体と第２移動体とが同一面に到達するタイミングを合いやすくすることができる。
【００４４】
請求項７に係るゲーム装置は、第１キャラクタの動作に連動して移動する第１移動体、および第２キャラクタから送出される第２移動体を画像表示部に表示するゲームを実行可能なゲーム装置である。このゲーム装置は、第２キャラクタから送出された第２移動体が通過する予想通過面を規定するための座標を制御部に認識させることにより、予想通過面を設定する予想通過位置認識手段と、記憶部に格納された、第１キャラクタが動作を開始してから、第１キャラクタの動作に連動して移動する第１移動体が予想通過面に到達するまでの基準到達時間を、制御部に認識させることにより、基準到達時間を設定する基準到達時間設定手段と、第２キャラクタから送出された第２移動体を、第２移動体用の画像データを用いて画像表示部に表示する第２移動体表示手段と、第１キャラクタを動作させるための動作開始命令を制御部に発行させることにより、第１キャラクタの動作に連動して移動する第１移動体を、第１移動体用の画像データを用いて画像表示部に表示する第１移動体表示手段と、動作開始命令が制御部から発行されたときの第２移動体の移動速度と、動作開始命令が制御部から発行されたときの第２移動体の位置から予想通過面までの距離とを制御部に認識させることにより、第２キャラクタから送出された第２移動体が予想通過面に到達するまでの到達時間を算出する到達時間算出手段と、基準到達時間と到達時間との差の絶対値が小さくなるように基準到達時間を補正する処理を制御部に実行させることにより、第１移動体が予想通過面に到達する時間と、第２移動体が予想通過面に到達する時間との差を縮小する時間差縮小手段と、を備えている。
【００４５】
請求項８に係るゲーム制御方法は、第１キャラクタの動作に連動して移動する第１移動体、および第２キャラクタから送出される第２移動体を画像表示部に表示するゲームをコンピュータにより制御可能なゲーム制御方法である。このゲーム制御方法は、第２キャラクタから送出された第２移動体が通過する予想通過面を規定するための座標を制御部に認識させることにより、予想通過面を設定する予想通過位置認識ステップと、記憶部に格納された、第１キャラクタが動作を開始してから、第１キャラクタの動作に連動して移動する第１移動体が予想通過面に到達するまでの基準到達時間を、制御部に認識させることにより、基準到達時間を設定する基準到達時間設定ステップと、第２キャラクタから送出された第２移動体を、第２移動体用の画像データを用いて画像表示部に表示する第２移動体表示ステップと、第１キャラクタを動作させるための動作開始命令を制御部に発行させることにより、第１キャラクタの動作に連動して移動する第１移動体を、第１移動体用の画像データを用いて画像表示部に表示する第１移動体表示ステップと、動作開始命令が制御部から発行されたときの第２移動体の移動速度と、動作開始命令が制御部から発行されたときの第２移動体の位置から予想通過面までの距離とを制御部に認識させることにより、第２キャラクタから送出された第２移動体が予想通過面に到達するまでの到達時間を算出する到達時間算出ステップと、基準到達時間と到達時間との差の絶対値が小さくなるように基準到達時間を補正する処理を制御部に実行させることにより、第１移動体が予想通過面に到達する時間と、第２移動体が予想通過面に到達する時間との差を縮小する時間差縮小ステップと、を備えている。
【発明の効果】
【００４６】
本発明では、第２キャラクタ（投手キャラクタ）から送出された第２移動体（ボール）が予想通過面を通過する時間と、第１キャラクタ（打者キャラクタ）の動作に連動して移動する第１移動体（バット）が予想通過面を通過する時間との差を小さくすることにより、第１移動体と第２移動体とが予想通過面に到達するタイミングを合いやすくすることができる。また、本発明では、第２キャラクタから送出された第２移動体が予想通過面を通過する時間と、第１キャラクタの動作に連動して移動する第１移動体（バット）が予想通過面を通過する時間との比較結果に応じて、第２移動体の移動方向を決定することができる。これにより、プレイヤに違和感を感じさせることなくゲームをプレイさせることができる。
【発明を実施するための最良の形態】
【００４７】
〔ゲーム装置の構成と動作〕
図１は、本発明の一実施形態によるゲーム装置の基本構成を示している。ここでは、ビデオゲーム装置の一例として、家庭用ビデオゲーム装置をとりあげて説明を行うこととする。家庭用ビデオゲーム装置は、家庭用ゲーム機本体および家庭用テレビジョンを備える。家庭用ゲーム機本体には、記録媒体１０が装填可能となっており、記録媒体１０からゲームデータが適宜読み出されてゲームが実行される。このようにして実行されるゲーム内容が家庭用テレビジョンに表示される。
【００４８】
家庭用ビデオゲーム装置のゲームシステムは、制御部１と、記憶部２と、画像表示部３と、音声出力部４と、操作入力部５とからなっており、それぞれがバス６を介して接続される。このバス６は、アドレスバス、データバス、およびコントロールバスなどを含んでいる。ここで、制御部１、記憶部２、音声出力部４および操作入力部５は、家庭用ビデオゲーム装置の家庭用ゲーム機本体に含まれており、画像表示部３は家庭用テレビジョンに含まれている。
【００４９】
制御部１は、主に、ゲームプログラムに基づいてゲーム全体の進行を制御するために設けられている。制御部１は、たとえば、ＣＰＵ（Central Processing Unit）７と、信号処理プロセッサ８と、画像処理プロセッサ９とから構成されている。ＣＰＵ７と信号処理プロセッサ８と画像処理プロセッサ９とは、それぞれがバス６を介して互いに接続されている。ＣＰＵ７は、ゲームプログラムからの命令を解釈し、各種のデータ処理や制御を行う。たとえば、ＣＰＵ７は、信号処理プロセッサ８に対して、画像データを画像処理プロセッサに供給するように命令する。信号処理プロセッサ８は、主に、３次元空間上における計算と、３次元空間上から擬似３次元空間上への位置変換計算と、光源計算処理と、画像および音声データの生成加工処理とを行っている。画像処理プロセッサ９は、主に、信号処理プロセッサ８の計算結果および処理結果に基づいて、描画すべき画像データをＲＡＭ１２に書き込む処理を行っている。
【００５０】
記憶部２は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納しておくために設けられている。記憶部２は、たとえば、記録媒体１０と、インターフェース回路１１と、ＲＡＭ（Random Access Memory）１２とから構成されている。記録媒体１０には、インターフェース回路１１が接続されている。そして、インターフェース回路１１とＲＡＭ１２とはバス６を介して接続されている。記録媒体１０は、オペレーションシステムのプログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるゲームデータなどを記録するためのものである。この記録媒体１０は、たとえば、ＲＯＭ（Read Only Memory）カセット、光ディスク、およびフレキシブルディスクなどであり、オペレーティングシステムのプログラムデータやゲームデータなどが記憶される。なお、記録媒体１０にはカード型メモリも含まれており、このカード型メモリは、主に、ゲームを中断するときに中断時点での各種ゲームパラメータを保存するために用いられる。ＲＡＭ１２は、記録媒体１０から読み出された各種データを一時的に格納したり、制御部１からの処理結果を一時的に記録したりするために用いられる。このＲＡＭ１２には、各種データとともに、各種データの記憶位置を示すアドレスデータが格納されており、任意のアドレスを指定して読み書きすることが可能になっている。
【００５１】
画像表示部３は、主に、画像処理プロセッサ９によってＲＡＭ１２に書き込まれた画像データや、記録媒体１０から読み出される画像データなどを画像として出力するために設けられている。この画像表示部３は、たとえば、テレビジョンモニタ２０と、インターフェース回路２１と、Ｄ／Ａコンバータ（Digital-To-Analogコンバータ）２２とから構成されている。テレビジョンモニタ２０にはＤ／Ａコンバータ２２が接続されており、Ｄ／Ａコンバータ２２にはインターフェース回路２１が接続されている。そして、インターフェース回路２１にバス６が接続されている。ここでは、画像データが、インターフェース回路２１を介してＤ／Ａコンバータ２２に供給され、ここでアナログ画像信号に変換される。そして、アナログ画像信号がテレビジョンモニタ２０に画像として出力される。
【００５２】
ここで、画像データには、たとえば、ポリゴンデータやテクスチャデータなどがある。ポリゴンデータはポリゴンを構成する頂点の座標データのことである。テクスチャデータは、ポリゴンにテクスチャを設定するためのものであり、テクスチャ指示データとテクスチャカラーデータとからなっている。テクスチャ指示データはポリゴンとテクスチャとを対応づけるためのデータであり、テクスチャカラーデータはテクスチャの色を指定するためのデータである。ここで、ポリゴンデータとテクスチャデータとには、各データの記憶位置を示すポリゴンアドレスデータとテクスチャアドレスデータとが対応づけられている。このような画像データでは、信号処理プロセッサ８により、ポリゴンアドレスデータの示す３次元空間上のポリゴンデータ（３次元ポリゴンデータ）が、画面自体(視点)の移動量データおよび回転量データに基づいて座標変換および透視投影変換されて、２次元空間上のポリゴンデータ（２次元ポリゴンデータ）に置換される。そして、複数の２次元ポリゴンデータでポリゴン外形を構成して、ポリゴンの内部領域にテクスチャアドレスデータが示すテクスチャデータを書き込む。このようにして、各ポリゴンにテクスチャが貼り付けられた物体つまり各種キャラクタを表現することができる。
【００５３】
音声出力部４は、主に、記録媒体１０から読み出される音声データを音声として出力するために設けられている。音声出力部４は、たとえば、スピーカー１３と、増幅回路１４と、Ｄ／Ａコンバータ１５と、インターフェース回路１６とから構成されている。スピーカー１３には増幅回路１４が接続されており、増幅回路１４にはＤ／Ａコンバータ１５が接続されており、Ｄ／Ａコンバータ１５にはインターフェース回路１６が接続されている。そして、インターフェース回路１６にバス６が接続されている。ここでは、音声データが、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給され、ここでアナログ音声信号に変換される。このアナログ音声信号が増幅回路１４によって増幅され、スピーカー１３から音声として出力される。音声データには、たとえば、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）データやＰＣＭ（Pulse Code Modulation）データなどがある。ＡＤＰＣＭデータの場合、上述と同様の処理方法で音声をスピーカー１３から出力することができる。ＰＣＭデータの場合、ＲＡＭ１２においてＰＣＭデータをＡＤＰＣＭデータに変換しておくことで、上述と同様の処理方法で音声をスピーカー１３から出力することができる。
【００５４】
操作入力部５は、主に、コントローラ１７と、操作情報インターフェース回路１８と、インターフェース回路１９とから構成されている。コントローラ１７には、操作情報インターフェース回路１８が接続されており、操作情報インターフェース回路１８にはインターフェース回路１９が接続されている。そして、インターフェース回路１９にバス６が接続されている。
【００５５】
コントローラ１７は、プレイヤが種々の操作命令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をＣＰＵ７に送出する。コントローラ１７には、第１ボタン１７ａ、第２ボタン１７ｂ、第３ボタン１７ｃ、第４ボタン１７ｄ、上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ、右方向キー１７Ｒ、Ｌ１ボタン１７Ｌ１、Ｌ２ボタン１７Ｌ２、Ｒ１ボタン１７Ｒ１、Ｒ２ボタン１７Ｒ２、スタートボタン１７ｅ、セレクトボタン１７ｆ、左スティック１７ＳＬ及び右スティック１７ＳＲが設けられている。
【００５６】
上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ及び右方向キー１７Ｒは、例えば、キャラクタやカーソルをテレビジョンモニタ２０の画面上で上下左右に移動させるコマンドをＣＰＵ７に与えるために使用される。
【００５７】
スタートボタン１７ｅは、記録媒体１０からゲームプログラムをロードするようにＣＰＵ７に指示するときや、実行中のゲームプログラムを一時停止するときなどに使用される。
【００５８】
セレクトボタン１７ｆは、記録媒体１０からロードされたゲームプログラムに対して、各種選択をＣＰＵ７に指示するときなどに使用される。
【００５９】
左スティック１７ＳＬ及び右スティック１７ＳＲは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。このスティック型コントローラは、直立したスティックを有している。このスティックは、支点を中心として直立位置から前後左右を含む３６０°方向に亘って、傾倒可能な構成になっている。左スティック１７ＳＬ及び右スティック１７ＳＲは、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とするｘ座標及びｙ座標の値を、操作信号として操作情報インターフェース回路１８とインターフェース回路１９とを介してＣＰＵ７に送出する。
【００６０】
第１ボタン１７ａ、第２ボタン１７ｂ、第３ボタン１７ｃ、第４ボタン１７ｄ、Ｌ１ボタン１７Ｌ１、Ｌ２ボタン１７Ｌ２、Ｒ１ボタン１７Ｒ１及びＲ２ボタン１７Ｒ２には、記録媒体１０からロードされるゲームプログラムに応じて種々の機能が割り振られている。
【００６１】
なお、左スティック１７ＳＬ及び右スティック１７ＳＲを除くコントローラ１７の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると中立位置に復帰してオフになるオンオフスイッチになっている。
【００６２】
以上のような構成からなる家庭用ビデオゲーム装置の概略動作を、以下に説明する。電源スイッチ（図示省略）がオンにされゲームシステムに電源が投入されると、ＣＰＵ７が、記録媒体１０に記憶されているオペレーティングシステムに基づいて、記録媒体１０から画像データ、音声データ、およびプログラムデータを読み出す。読み出された画像データ、音声データ、およびプログラムデータの一部若しくは全部は、ＲＡＭ１２に格納される。そして、ＣＰＵ７が、ＲＡＭ１２に格納されたプログラムデータに基づいて、ＲＡＭ１２に格納された画像データや音声データにコマンドを発行する。
【００６３】
画像データの場合、ＣＰＵ７からのコマンドに基づいて、まず、信号処理プロセッサ８が、３次元空間上におけるキャラクタの位置計算および光源計算などを行う。次に、画像処理プロセッサ９が、信号処理プロセッサ８の計算結果に基づいて、描画すべき画像データのＲＡＭ１２への書き込み処理などを行う。そして、ＲＡＭ１２に書き込まれた画像データが、インターフェース回路２１を介してＤ／Ａコンバータ２２に供給される。ここで、画像データがＤ／Ａコンバータ２２でアナログ映像信号に変換される。そして、画像データはテレビジョンモニタ２０に供給され画像として表示される。
【００６４】
音声データの場合、まず、信号処理プロセッサ８が、ＣＰＵ７からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ８から出力されて、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路１４を介してスピーカー１３から音声として出力される。
【００６５】
〔ゲーム装置における各種処理概要〕
本ゲーム装置において実行されるゲームは、たとえば野球ゲームである。本ゲーム装置では、打者キャラクタのスイング動作に連動して移動するバット、および投手キャラクタから投球されるボールが、テレビジョンモニタ２０に表示可能になっている。図２は、本発明で主要な役割を果たす機能を説明するための機能ブロック図である。
【００６６】
予想通過位置認識手段５０は、投手キャラクタから投球されたボールが通過する予想通過面を規定するための座標をＣＰＵ７に認識させることにより、予想通過面を設定する機能を備えている。
【００６７】
この手段では、投手キャラクタから投球されたボールが通過する予想通過面を規定するための座標をＣＰＵ７に認識させることにより、予想通過面が設定される。予想通過面は、投手キャラクタから投球されたボールが通過する面である。この予想通過面は、ホームベースの重心の上方において、ホームベースの重心と投手プレートの重心とを結ぶ直線に直交する面になっている。
【００６８】
ここでは、ホームベースの重心を原点としてホームベースの重心から投手プレートの重心へと向かう方向をｙ方向、ホームベースの重心から垂直上方に向かう方向をｚ方向、ホームベースの重心からｙ方向およびｚ方向に直交する方向をｘ方向と定義されている。このような定義に基づけば、ホームベースの重心の上方に定義されるｘｚ平面が、予想通過面に対応する。すなわち、この場合は、ホームベースの重心の座標をＣＰＵ７に認識させることにより、予想通過面が設定される。
【００６９】
基準到達時間設定手段５１は、記憶部に格納された、打者キャラクタがスイング動作を開始してから、打者キャラクタのスイング動作に連動して移動するバットが予想通過面に到達するまでの基準到達時間を、ＣＰＵ７に認識させることにより、基準到達時間を設定する機能を備えている。
【００７０】
この手段では、基準到達時間が設定される。基準到達時間は、打者キャラクタがスイング動作を開始してから、打者キャラクタのスイング動作に連動して移動するバットが予想通過面に到達するまでの時間である。基準到達時間は、ゲームプログラムにおいて予め規定されており、ゲームプログラムのロード時に、記録媒体１０からＲＡＭ１２に供給され、ＲＡＭ１２に格納されている。この基準到達時間をＣＰＵ７に認識させることにより、基準到達時間が設定される。
【００７１】
ここでは、基準到達時間が、所定の範囲を有している。この所定の範囲の下限値には、所定の標準時間から所定の調整時間を減算した値が用いられる。また、この所定の範囲の上限値には、所定の標準時間に所定の調整時間を加算した値が用いられる。調整時間は、打者キャラクタがスイング動作を開始する時間の微少なばらつきを調整するためのものである。ここで用いられる標準時間および調整時間は、ゲームプログラムにおいて予め規定されており、ゲームプログラムのロード時に、記録媒体１０からＲＡＭ１２に供給され、ＲＡＭ１２に格納されている。このような所定の範囲を有する基準到達時間をＣＰＵ７に認識させることにより、基準到達時間が設定される。
【００７２】
特殊能力判断手段５２は、打者キャラクタの特殊能力に対応する特殊能力データが設定されている否かをＣＰＵ７に判定させることにより、打者キャラクタが特殊能力を有しているか否かを判断する機能を備えている。
【００７３】
この手段では、打者キャラクタの特殊能力に対応する特殊能力データが設定されている否かをＣＰＵ７に判定させることにより、打者キャラクタが特殊能力を有しているか否かが判断される。
【００７４】
ここでは、たとえば、各打者キャラクタに対して固有の識別番号ＩＤを割り当てることにより、各打者キャラクタがＣＰＵ７により管理される場合の例を考える。この場合、各打者キャラクタの特殊能力は、特殊能力データＴＤ（ＩＤ）を用いてＣＰＵ７により管理される。
【００７５】
たとえば、ある打者キャラクタが特殊能力を有している場合、特殊能力データＴＤ（ＩＤ）の値には、数値「１」がＣＰＵ７により割り当てられる。また、ある打者キャラクタが特殊能力を有していない場合、特殊能力データＴＤ（ＩＤ）の値には、数値「０」がＣＰＵ７により割り当てられる。
【００７６】
この場合、打者キャラクタの特殊能力データＴＤ（ＩＤ）の値が数値「１」に等しいか否かをＣＰＵ７に判定させることにより、打者キャラクタの特殊能力の有無が決定される。すなわち、特殊能力データＴＤ（ＩＤ）を用いて、打者キャラクタの特殊能力の有無をＣＰＵ７に管理させることができる。
【００７７】
第１ボール表示手段５３は、投手キャラクタから投球されたボールを、ボール用の画像データを用いてテレビジョンモニタ２０に表示する機能を備えている。
【００７８】
この手段では、投手キャラクタから投球されたボールが、ボール用の画像データを用いてテレビジョンモニタ２０に表示される。
【００７９】
たとえば、投手キャラクタに対する投球命令が、コントローラ１７からの入力信号に基づいてＣＰＵ７から発行されると、投手キャラクタが投球動作を開始し、投手キャラクタからボールが投球される。また、投手キャラクタに対する投球命令が、ＡＩプログラムに基づいてＣＰＵ７から発行されると、投手キャラクタが投球動作を開始し、投手キャラクタからボールが投球される。すると、投手キャラクタから投球されたボールが、ボール用の画像データを用いてテレビジョンモニタ２０に表示される。
【００８０】
なお、ここに示した投球命令には、投手キャラクタにより投球されるボールの球種が指示されたときに発行される球種指示命令、投手キャラクタの投球動作の開始が指示されたときに発行される投球開始示命令、画面の上部に表示された捕手ウィンドウの内部の捕手キャラクタのミットの位置が決定されたときに発行される投球コース指示命令、および投手キャラクタにボールをリリースさせるためのリリース命令等が含まれている。これらの命令は、コントローラ１７からの入力信号又はＡＩプログラムに基づいてＣＰＵ７から発行される。
【００８１】
第２通過領域設定手段５４は、投手キャラクタから投球されたボールが通過する予想通過面上の着弾領域の内部座標をＣＰＵ７に認識させることにより、ボールの着弾領域を設定する機能を備えている。
【００８２】
この手段では、ボールの着弾領域が設定される。ボールの着弾領域は、投手キャラクタからボールがリリースされたときに、リリースされたボールが通過する位置を事前に報知するためのものである。ボールの着弾領域は、予想通過面上において円状で表示される。
【００８３】
具体的には、この手段では、コントローラ１７からの入力信号又はＡＩプログラム（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  Ｐｒｏｇｒａｍ）に基づいて投球命令が発行されたときに、予想通過面におけるボールの予想通過位置（着弾領域の位置）を示す座標が、ＣＰＵ７に認識される。これにより、着弾領域の位置が決定される。そして、着弾領域の位置が決定されると、着弾領域の内部座標がＣＰＵ７に認識される。このようにして、着弾領域の位置および着弾領域の範囲が設定される。
【００８４】
第１通過領域設定手段５５は、打者キャラクタのスイング動作に連動して移動するバットが通過する予想通過面上のミートカーソルの内部座標をＣＰＵ７に認識させることにより、バットのミートカーソルを設定する機能を備えている。
【００８５】
この手段では、バットのミートカーソルが設定される。ミートカーソルは、打者キャラクタのスイング動作に連動してバットが移動したときに、バットが予想通過面を通過する領域である。たとえば、ミートカーソルは、打者キャラクタがスイング動作を実行したときに、予想通過面においてボールを捉えることができる領域を示すものである。ここでは、大きさの異なる２種類のミートカーソルが、用意されている。これら２種類のミートカーソルの大きさは、ゲームプログラムにおいて予め規定されている。これら２種類のミートカーソルは、ボールの予想通過面上において略楕円形状で表示される。
【００８６】
具体的には、この手段では、コントローラ１７からの入力信号に対応する移動命令又はＡＩプログラムからの移動命令に基づいて、予想通過面におけるミートカーソルの位置を示す座標をＣＰＵ７に認識させることにより、ミートカーソルの位置が決定される。そして、ミートカーソルの位置が設定されると、予想通過面におけるミートカーソルの内部座標がＣＰＵ７に認識される。このようにして、ミートカーソルの位置およびミートカーソルの領域（範囲）が設定される。
【００８７】
バット表示手段５６は、打者キャラクタをスイング動作させるためのスイング動作開始命令をＣＰＵ７に発行させることにより、打者キャラクタのスイング動作に連動して移動するバットを、バット用の画像データを用いてテレビジョンモニタ２０に表示する機能を備えている。
【００８８】
この手段では、打者キャラクタをスイング動作させるためのスイング動作開始命令をＣＰＵ７に発行させることにより、打者キャラクタのスイング動作に連動して移動するバットが、バット用の画像データを用いてテレビジョンモニタ２０に表示される。
【００８９】
たとえば、打者キャラクタに対するスイング動作開始命令が、コントローラ１７からの入力信号に基づいてＣＰＵ７から発行されると、打者キャラクタがスイング動作を開始する。また、打者キャラクタに対するスイング動作開始命令が、ＡＩプログラムに基づいてＣＰＵ７から発行されると、打者キャラクタがスイング動作を開始する。すると、打者キャラクタがスイングする状態が、打者キャラクタ用の画像データを用いてテレビジョンモニタ２０に表示される。このときには、打者キャラクタのスイング動作に連動して移動するバットが、バット用の画像データを用いてテレビジョンモニタ２０に表示される。
【００９０】
到達時間算出手段５７は、スイング動作開始命令がＣＰＵ７から発行されたときのボールの移動速度と、スイング動作開始命令がＣＰＵ７から発行されたときのボールの位置から予想通過面までの距離とをＣＰＵ７に認識させることにより、投手キャラクタから投球されたボールが予想通過面に到達するまでの到達時間を算出する機能を備えている。
【００９１】
この手段では、スイング動作開始命令がＣＰＵ７から発行されたときのボールの移動速度と、スイング動作開始命令がＣＰＵ７から発行されたときのボールの位置から予想通過面までの距離とをＣＰＵ７に認識させることにより、投手キャラクタから投球されたボールが予想通過面に到達するまでの到達時間が、算出される。
【００９２】
たとえば、スイング動作開始命令がＣＰＵ７から発行されると、このときのボールの移動速度と、このときのボールの位置から予想通過面までの距離（到達距離）とが、ＣＰＵ７に認識される。そして、ここでＣＰＵ７に認識されたボールの移動速度およびボールの到達距離に基づいて、投手キャラクタから投球されたボールが予想通過面に到達するまでの到達時間が、算出される。具体的には、ここでＣＰＵ７に認識されたボールの到達距離をボールの移動速度により除算する処理をＣＰＵ７に実行させることにより、投手キャラクタから投球されたボールが予想通過面に到達するまでの到達時間が、算出される。
【００９３】
時間差縮小手段５８は、基準到達時間と到達時間との差の絶対値が小さくなるように基準到達時間を補正する処理をＣＰＵ７に実行させることにより、バットが予想通過面に到達する時間と、ボールが予想通過面に到達する時間との差を縮小する機能を備えている。
【００９４】
この手段では、基準到達時間と到達時間との差の絶対値が小さくなるように基準到達時間を補正する処理をＣＰＵ７に実行させることにより、バットが予想通過面に到達する時間と、ボールが予想通過面に到達する時間との差が縮小される。
【００９５】
ここでは、基準到達時間が到達時間より大きい場合に基準到達時間が小さくなるように基準到達時間を補正する処理をＣＰＵ７に実行させることにより、バットが予想通過面に到達する時間と、ボールが予想通過面に到達する時間との差が縮小される。
【００９６】
たとえば、ここでは、基準到達時間が到達時間より大きいかをＣＰＵ７に判定させることにより、基準到達時間と到達時間とが比較される。そして、基準到達時間が到達時間より大きいとＣＰＵ７により判定された場合に、基準到達時間を補正するための補正時間を基準到達時間から減算する処理が、ＣＰＵ７により実行される。これにより、バットが予想通過面に到達する時間と、ボールが予想通過面に到達する時間との差が縮小される。
【００９７】
なお、ここで用いられる補正時間は、ゲームプログラムにおいて予め規定されており、ゲームプログラムのロード時に、記録媒体１０からＲＡＭ１２に供給され、ＲＡＭ１２に格納されている。
【００９８】
また、ここでは、補正時間ＭＴが定数である場合の例が示されるが、補正時間は変数であっても良い。たとえば、補正時間をボールの移動速度Ｖ＿ＢＡＬＬに応じて変化する値にする場合、ボールの移動速度を「Ｖ＿ＢＡＬＬ」とすると、補正時間を「ＭＴ（Ｖ＿ＢＡＬＬ）」と記述することができる。この場合、ボールの移動速度Ｖ＿ＢＡＬＬが大きいときには補正時間ＭＴ（Ｖ＿ＢＡＬＬ）を大きくし、ボールの移動速度Ｖ＿ＢＡＬＬが小さいときには補正時間ＭＴ（Ｖ＿ＢＡＬＬ）を小さくする。これにより、バットが予想通過面に到達する時間と、ボールが予想通過面に到達する時間との差を効果的に縮小することができる。
【００９９】
第１衝突判断手段５９は、補正後の基準到達時間と到達時間とを比較する処理をＣＰＵ７に実行させることにより、バットとボールとが時間的に衝突するか否かを判断する機能を備えている。
【０１００】
この手段では、補正後の基準到達時間と到達時間とを比較する処理をＣＰＵ７に実行させることにより、バットとボールとが時間的に衝突するか否かが判断される。
【０１０１】
たとえば、この手段では、補正後の基準到達時間と到達時間との差が所定の時間範囲内であるか否かが、ＣＰＵ７により判別される。そして、補正後の基準到達時間と到達時間との差が所定の時間範囲内であるとＣＰＵ７により判別された場合、バットとボールとが時間的に衝突すると判断される。
【０１０２】
なお、ここで用いられる所定の時間範囲は、ゲームプログラムにおいて予め規定されている。そして、所定の時間範囲の上限値および下限値は、ゲームプログラムのロード時に、記録媒体１０からＲＡＭ１２に供給され、ＲＡＭ１２に格納されている。また、ここでは、所定の時間範囲の中央値、すなわち所定の時間範囲の上限値と所定の時間範囲の下限値とを加算して「０．５」を乗算した値は、「０（ゼロ）」になるように設定されている。
【０１０３】
第２衝突判断手段６０は、ミートカーソルの内部領域とボールの着弾領域との間に重なり合う領域が存在するか否かをＣＰＵ７に判定させることにより、バットとボールとが空間的に衝突するか否かを判断する機能を備えている。
【０１０４】
この手段では、ミートカーソルの内部領域とボールの着弾領域との間に重なり合う領域が存在するか否かをＣＰＵ７に判定させることにより、バットとボールとが空間的に衝突するか否かが判断される。
【０１０５】
たとえば、この手段では、ミートカーソルの内部座標とボールの着弾領域の内部座標とが一致するか否かをＣＰＵ７に判定させることにより、バットとボールとが空間的に衝突するか否かが判断される。
【０１０６】
移動方向決定手段６１は、バットとボールとが時間的かつ空間的に衝突する場合に、補正後の基準到達時間と到達時間とを比較する処理をＣＰＵ７に実行させることにより、比較結果に応じてボールが移動する方向を決定する機能を備えている。
【０１０７】
この手段では、バットとボールとが時間的かつ空間的に衝突する場合に、補正後の基準到達時間と到達時間とを比較する処理をＣＰＵ７に実行させることにより、比較結果に応じてボールが移動する方向が決定される。
【０１０８】
たとえば、この手段では、バットとボールとが時間的かつ空間的に衝突する場合は、補正後の基準到達時間と到達時間との差が所定の時間範囲内であり、ミートカーソルの内部座標とボールの着弾領域の内部座標とが一致するとＣＰＵ７に判定された場合に対応する。すなわち、バットとボールとが時間的かつ空間的に衝突する場合が、ボールがバットにより打ち返される場合に相当する。そして、この場合、補正後の基準到達時間と到達時間との差に応じて、ボールが移動する方向が決定される。
【０１０９】
ここでは、補正後の基準到達時間と到達時間との差（補正後の基準到達時間から到達時間を減算した値）が負の値として小さければ小さいほど、ボールが移動する方向は、レフト方向又は３塁側のファール領域の方向に設定される。一方で、補正後の基準到達時間から到達時間を減算した値が正の値として大きくなればなるほど、ボールが移動する方向は、ライト方向又は１塁側のファール領域の方向に設定される。また、補正後の基準到達時間と到達時間との差が「０（ゼロ）」に近ければ近いほど、ボールが移動する方向は、センター方向に設定される。
【０１１０】
第２ボール表示手段６２は、打者キャラクタにより打ち返されたボールを、ボール用の画像データを用いてテレビジョンモニタ２０に表示する機能を備えている。この手段では、打者キャラクタにより打ち返されたボールが、ボール用の画像データを用いてテレビジョンモニタ２０に表示される。
【０１１１】
〔野球ゲームにおけるスイングスピード補正システムの概要〕
次に、野球ゲームにおけるスイングスピード補正システムの具体的な内容について説明する。また、図７および図８に示すフローについても同時に説明する。なお、図７は野球ゲームの全体概要を説明するためのフローであり、図８は上記システムを説明するためのフローである。
【０１１２】
まず、ゲーム機の電源が投入されゲーム機が起動されると、野球ゲームプログラムが、記録媒体１０からＲＡＭ１２にロードされ格納される。このときには、野球ゲームを実行する上で必要となる各種の基本ゲームデータも、同時に、記録媒体１０からＲＡＭ１２にロードされ格納される（Ｓ１）。
【０１１３】
たとえば、基本ゲームデータには、３次元ゲーム空間用の各種の画像に関するデータが含まれている。そして、この３次元ゲーム空間用の各種の画像に関するデータ、たとえば、スタジアム用の画像データ、選手キャラクタ用の画像データ、および各種のオブジェクトの画像データ等が、ＣＰＵ７に認識される。また、基本ゲームデータには、３次元ゲーム空間用の各種の画像に関するデータを３次元ゲーム空間に配置するための位置座標データが含まれている。また、基本ゲームデータには、スイングスピード補正システムで用いられるデータも、含まれている。
【０１１４】
続いて、ＲＡＭ１２に格納された野球ゲームプログラムが、基本ゲームデータに基づいて、ＣＰＵ７により実行される（Ｓ２）。すると、野球ゲームの起動画面がテレビジョンモニタ２０に表示される。すると、野球ゲームを実行するための各種の設定画面がテレビジョンモニタ２０に表示される。ここでは、たとえば、野球ゲームのプレイモードを選択するためのモード選択画面が、テレビジョンモニタ２０に表示される（図示しない）。このモード選択画面において、プレイヤがコントローラ１７を操作することにより、プレイモードが決定される（Ｓ３）。プレイモードには、たとえば、１２球団（又は、メジャーリーグを対象としたゲームの場合は３０球団）の中から好きなチームを選択して１試合の対戦を楽しむ対戦モード、１２球団の中から好きなチームを選択してペナントレースを戦うペナントモード、プレイヤが監督の立場でチームの選手キャラクタを育成する育成モード、およりプレイヤがある１人の選手キャラクタの立場になって野球ゲームを体感する成長体感モード等が、用意されている。
【０１１５】
続いて、モード選択画面で選択されたプレイモードにおいて、各種のイベントが、ＣＰＵ７により実行される（Ｓ４）。ここで実行される各種のイベントには、たとえば、ＡＩプログラムに基づいてＣＰＵ７により自動制御されるイベントや、コントローラ１７からの入力信号に基づいてプレイヤにより手動制御されるイベントがある。また、選手キャラクタの制御には、ＡＩプログラムに基づいて選手キャラクタに命令を自動的に指示する自動制御や、コントローラ１７からの入力信号に基づいて選手キャラクタに命令を直接的に指示する手動制御等がある。このように、本野球ゲームでは、コントローラ１７からの指示やＡＩプログラムからの指示に応じて、イベントが制御されたり、選手キャラクタに命令が指示されたりするようになっている。
【０１１６】
なお、ここに示すＡＩプログラムとは、プレイヤに代わって、イベントに関する命令および選手キャラクタに対する命令を制御するためのプログラムである。このＡＩプログラムは、ゲームプログラムにおいて予め用意されている。
【０１１７】
続いて、選択されたプレイモードが終了したか否かが、ＣＰＵ７により判断される（Ｓ５）。具体的には、プレイモードが終了したことを示す命令が発行されたか否かが、ＣＰＵ７により判断される。そして、プレイモードが終了したことを示す命令が発行されたとＣＰＵ７により判断された場合（Ｓ５でＹｅｓ）、ゲーム継続用のデータをＲＡＭ１２に格納する処理が、ＣＰＵ７により実行される。そして、ゲーム継続用のデータがＲＡＭ１２に格納されると、この野球ゲームを終了するか否かを選択する選択画面が、テレビジョンモニタ２０に表示される（Ｓ６）。そして、この選択画面において、プレイヤがコントローラ１７を操作することにより、野球ゲームの終了を示す項目が選択されると（Ｓ６でＹｅｓ）、野球ゲームを終了するための処理がＣＰＵ７により実行される（Ｓ７）。一方で、この選択画面において、プレイヤがコントローラ１７を操作することにより、野球ゲームの継続を示す項目が選択されると（Ｓ６でＮｏ）、ステップ３（Ｓ３）のモード選択画面が、テレビジョンモニタ２０に再表示される。
【０１１８】
なお、プレイモードが終了するための命令が発行されたとＣＰＵ７に判断されない限り（Ｓ５でＮｏ）、モード選択画面で選択されたプレイモードにおいて、各種のイベントがＣＰＵ７により実行される（Ｓ４）。
【０１１９】
次に、選手キャラクタの能力を設定するためのスイングスピード補正システムの詳細を説明する。
【０１２０】
以下には、スイングスピード補正システムが対戦モードにおいて機能する場合の例が示される。たとえば、モード選択画面において対戦モードが選択された場合に、スイングスピード補正システムが機能する場合の例が示される。
【０１２１】
モード選択画面において対戦モードがプレイヤにより選択されると、チーム（Ａチーム、Ｂチーム）と、各チームのスターティングメンバー（Ａチームの選手キャラクタ、Ｂチームの選手キャラクタ）とが、図示しないチーム選択画面および選手選択画面において、選択される（Ｓ４０１）。
【０１２２】
ここでは、Ａチームが先攻であり、Ｂチームが後攻である場合の例が示される。また、先攻であるＡチームがプレイヤにより制御され、後攻であるＢチームがＡＩプログラムにより制御される場合の例が示される。特に、以下では、プレイヤがＡチームの打者キャラクタ８０に命令を指示する場合に機能するスイングスピード補正システムの例が示される。
【０１２３】
チーム選択画面においてＡチームおよびＢチームが選択され、選手選択画面において各チームのスターティングメンバーが選択されると、各チームのスターティングメンバーを識別するための識別番号ＩＤが、ＣＰＵ７に認識される。たとえば、各チームのスターティングメンバーを識別するための識別番号ＩＤは、各選手キャラクタに対して固有の番号が用意されている。そして、選手選択画面において選択された各チームの各選手キャラクタに対して、固有の識別番号ＩＤがＣＰＵ７により割り当てられる。ここで各選手キャラクタに対して割り当てられた識別番号ＩＤが、ＣＰＵ７に認識される。
【０１２４】
なお、各選手キャラクタと識別番号ＩＤとの関係は、対応テーブルに記述されている。この対応テーブルは、ゲームプログラムにおいて予め規定されている。この対応テーブルは、ゲームプログラムのロード時に、記録媒体１０からＲＡＭ１２に供給され、ＲＡＭ１２に格納されている。
【０１２５】
すると、各選手キャラクタに対する基本設定が、ＣＰＵ７により実行される。ここで実行される基本設定の１つには、たとえば、各選手キャラクタの能力の設定がある（Ｓ４０２）。ここでは、選手キャラクタが有する選手キャラクタの能力ｎが、選手キャラクタの能力データＮＴ（ＩＤ，ｎ）によって評価される。この選手キャラクタの能力データＮＴ（ＩＤ，ｎ）をＣＰＵ７に認識させることにより、各選手キャラクタの能力が設定される（Ｓ４０４）。
【０１２６】
たとえば、能力ｎには、弾道（ｎ＝１）、パワー（ｎ＝２）、走力（ｎ＝３）、肩力（ｎ＝４）、守備力（ｎ＝５）、球速（ｎ＝６）、コントロール（ｎ＝７）、およびスタミナ（ｎ＝８）等のようなものが用意されている。これら複数の能力ｎそれぞれに対応する能力データＮＴ（ＩＤ，ｎ）は、ＲＡＭ１２に格納されている。このようにＲＡＭ１２に格納された能力データＮＴ（ＩＤ，ｎ）をＣＰＵ７に認識させることにより、各選手キャラクタの能力が設定される。初期状態では、ＲＡＭ１２に格納された所定の各能力データすなわち初期データが、ＣＰＵ７に認識される。
【０１２７】
具体的には、ある選手キャラクタＩＤ（＝１）のパワー能力（ｎ＝２）に対応する能力データは、「ＮＴ（１，２）＝Ｘ」と表記される。ここで、記号「Ｘ」は、パワー能力の大きさを示す数値である。この能力データＮＴ（１，２）の値が大きいほど、この能力データＮＴ（１，２）の値によって選手キャラクタのパワー能力が大きいことが示される。他の能力についても、同様にして評価される。このような選手キャラクタの各能力は、各選手キャラクタが、打撃、走塁、守備、投球等を行うときに用いられる。
【０１２８】
また、基本設定の１つには、たとえば、各選手キャラクタの特殊能力の設定がある（Ｓ４０３）。選手キャラクタが選手キャラクタの特殊能力ｔｎを有しているか否かは、選手キャラクタの特殊能力データＴＤ（ＩＤ，ｔｎ）によって評価される。この選手キャラクタの特殊能力データＴＤ（ＩＤ，ｔｎ）に所定の値を割り当てる処理をＣＰＵ７に実行させることにより、各選手キャラクタの特殊能力が設定される。
【０１２９】
たとえば、特殊能力ｔｎには、スイングスピードアップ（ｔｎ＝１）および満塁男（ｔｎ＝２）等のようなものが用意されている。これら複数の特殊能力ｔｎそれぞれを打者キャラクタ８０が有しているか否かは、特殊能力データＴＤ（ＩＤ，ｔｎ）の値に基づいて、ＣＰＵ７により判断される。
【０１３０】
具体的には、ある打者キャラクタ８０（ＩＤ＝１）が、スイングスピードアップという特殊能力（ｔｎ＝１）を有している場合、特殊能力データは「ＴＤ（１，１）＝１」となる。この打者キャラクタ８０（ＩＤ＝１）が、スイングスピードアップという特殊能力（ｔｎ＝１）を有していない場合、特殊能力データは「ＴＤ（１，１）＝０」となる。他の能力についても、同様にして評価される。後述するように、特殊能力データＴＤ（ＩＤ，ｔｎ）の値が「１」であるか「０」であるかによって、打者キャラクタ８０が特殊能力を有しているか否かが判断される。
続いて、投手キャラクタ７０から投球されたボールが通過する予想通過面Ｙを規定するための座標をＣＰＵ７に認識させることにより、予想通過面Ｙが設定される（Ｓ４０４）。ここでは、ホームベースの重心を原点としてホームベースの重心から投手プレートの重心へと向かう方向をｙ方向、ホームベースの重心から垂直上方に向かう方向をｚ方向、ホームベースの重心からｙ方向およびｚ方向に直交する方向をｘ方向と定義されている（図５を参照）。そして、ホームベースの重心の上方に定義されるｘｚ平面が、予想通過面Ｙに対応する。すなわち、ホームベースの重心の座標をＣＰＵ７に認識させることにより、予想通過面Ｙが設定される。
【０１３１】
続いて、基準到達時間ＫＴが設定される（Ｓ４０５）。基準到達時間ＫＴは、打者キャラクタ８０がスイング動作を開始してから、打者キャラクタ８０のスイング動作に連動して移動するバットが予想通過面Ｙに到達するまでの時間である。ここでは、基準到達時間ＫＴが、所定の範囲を有している。この所定の範囲の下限値ＫＴ１には、所定の標準時間ＨＴ（＝ＫＴ）から所定の調整時間ＣＴを減算した値（ＨＴ−ＣＴ）が用いられる。また、この所定の範囲の上限値ＫＴ２には、所定の標準時間（＝ＫＴ）に所定の調整時間を加算した値（ＨＴ＋ＣＴ）が用いられる。調整時間ＣＴは、打者キャラクタ８０がスイング動作を開始する時間の微少なばらつきを調整するためのものである。このような所定の範囲（ＫＴ１≦ＫＴ≦ＫＴ２）をＣＰＵ７に認識させることにより、基準到達時間ＫＴが設定される。
【０１３２】
なお、ここでは、基準到達時間ＫＴが調整される場合の例を示すが、基準到達時間ＫＴは未調整であっても良い。たとえば、以下の説明で用いられる「ＫＴ１」および記号「ＫＴ２」を、基準到達時間の記号「ＫＴ」に置き換えることにより、基準到達時間ＫＴが未調整の場合が実現される。
【０１３３】
続いて、試合を開始するための試合開始命令がＣＰＵ７から発行されると（Ｓ４０６）、ＡチームとＢチームとの対戦すなわち試合イベントを実行するための画像が、テレビジョンモニタ２０に表示される。たとえば、図３に示すように、スタジアム、野手、および打者等のような画像が、各画像データを用いて、テレビジョンモニタ２０に表示される（Ｓ４０７）。また、予想通過面Ｙに設定されるストライクゾーンＺが、テレビジョンモニタ２０に表示される。ストライクゾーンＺは、予想通過面Ｙ上において矩形状に形成されており、予想通過面Ｙにおける４隅の座標を規定することにより、設定される。このストライクゾーンＺの範囲を規定するための４隅の座標は、ゲームプログラムにおいて予め規定されており、ＲＡＭ１２に格納されている。
【０１３４】
さらに、打者キャラクタ８０がスイング動作を実行したときに、バットが予想通過面Ｙを通過する領域ＢＭ（ミートカーソル）が、テレビジョンモニタ２０に表示される（Ｓ４０８）。ミートカーソルＢＭは、打者キャラクタ８０がスイング動作を実行するときの目標、すなわちヒッティングポイントに対応している。このミートカーソルＢＭは、略楕円形状に形成されている。ミートカールの大きさを規定するための境界の座標は、ゲームプログラムにおいて予め規定されており、ＲＡＭ１２に格納されている。
【０１３５】
この状態において、ＡチームおよびＢチームの各選手キャラクタに対して、打撃に関する命令および投球を含む守備に関する命令が指示されると、これらの命令に対応する動作が選手キャラクタにより実行される。
【０１３６】
たとえば、各回の表の攻撃においては、まず、打者キャラクタ８０の特殊能力に対応する特殊能力データが設定されている否かが、ＣＰＵ７により判定される（Ｓ４０９）。具体的には、打者キャラクタ８０の特殊能力データＴＤ（ＩＤ，ｔｎ）の値が数値「１」に等しいか否かが、ＣＰＵ７により判定される。この判定により、打者キャラクタ８０が特殊能力を有しているか否か、すなわち打者キャラクタ８０の特殊能力の有無が、決定される。
【０１３７】
ここで、打者キャラクタ８０の特殊能力データ（ＩＤ，ｔｎ）の値が数値「１」に等しい場合、打者キャラクタ８０は特殊能力ｔｎを有していることになる。打者キャラクタ８０の特殊能力データ（ＩＤ，ｔｎ）の値が数値「１」に等しくない場合、すなわち打者キャラクタ８０の特殊能力データ（ＩＤ，ｔｎ）の値が数値「０」に等しい場合、打者キャラクタ８０は特殊能力ｔｎを有していないことになる。このように、特殊能力データＴＤ（ＩＤ，ｔｎ）を用いることにより、打者キャラクタ８０の特殊能力の有無を管理することができる。
【０１３８】
なお、以下では、スイングスピード補正システムの説明を容易にするために、打者キャラクタ８０の特殊能力として用意された能力が、「スイングスピードアップ」だけである場合の例を説明する。すなわち、打者キャラクタ８０が「スイングスピードアップ」に対応する特殊能力を有しているか否か、たとえば打者キャラクタ８０の特殊能力データＴＤ（ＩＤ，１）の値が数値「１」に等しいか否かが、ＣＰＵ７により判定される（Ｓ４０９）。
【０１３９】
打者キャラクタ８０の特殊能力データＴＤ（ＩＤ，１）の値が数値「１」に等しいとＣＰＵ７により判定された場合（Ｓ４０９でＹｅｓの場合）、各回の表の攻撃においては、ＡＩプログラムからの命令に基づいて、Ｂチームの投手キャラクタ７０に対して投球に関する命令が指示される（Ｓ４１０）。投球に関する命令には、たとえば、球種を選択する命令、投手キャラクタ７０に投球動作を開始させる命令、および投球コースを決定する命令が、含まれている。
【０１４０】
そして、これらの命令がＣＰＵ７から発行されると、ボールの軌道方程式に基づいて、投手キャラクタ７０からリリースされたボールの軌道が設定される（Ｓ４１１）。ここでは、たとえば、球種に対応する球速を初速、ボールのリリース位置の座標を始点、投球コースの座標を終点とした場合のボールの軌道方程式が、用いられる。具体的には、球種に対応する球速、ボールのリリース位置の座標、投球コースの座標、およびボールの軌道に影響を及ぼすデータ（重力、ボールの回転量等のデータ）を初期条件として、ボールの軌道方程式がＣＰＵ７により算出される。
【０１４１】
たとえば、ボールの加速度ａおよびボールの球速ｖに関わるパラメータを「ｆ（ａ，ｖ；ｔ）」、ボールの位置に関わるパラメータを「ｈ（ｘｏ，ｙｏ，ｚｏ；ｔ）」、ボールの軌道に影響を及ぼすデータに関わるパラメータを「ｇ（ｔ）」と表記した場合、このボールの軌道方程式Ｋは、「Ｋ（ｘ，ｙ，ｚ；ｔ）＝ｆ（ａ，ｖ；ｔ）＋ｈ（ｘｏ，ｙｏ，ｚｏ；ｔ）＋ｇ（ｔ）」と示される。このボールの軌道方程式Ｋを解くことにより、各瞬間ｔのボールの位置（ｘ，ｙ，ｚ；ｔ）を算出することができる。すなわち、投手キャラクタ７０からリリースされるボールの軌道を、設定することができる。
【０１４２】
なお、ここでは、軌道方程式Kの各パラメータの詳細な記載は省略されているが、軌道方程式Kの各パラメータは、１次方程式および多次方程式の少なくともいずれか一方の方程式で表現されている。この軌道方程式Kは、ゲームプログラムにおいて予め規定されており、ＲＡＭ１２に格納されている。
【０１４３】
そして、ボールの軌道が設定されると、投手キャラクタ７０が投球動作を行う状態がテレビジョンモニタ２０に表示され、図４に示すように、投手キャラクタ７０からリリースされたボール（ボールオブジェクト）が、テレビジョンモニタ２０に表示される（Ｓ４１２）。ここで、投手キャラクタ７０からリリースされたボールを、３次元ゲーム空間で見た場合、投手キャラクタ７０からリリースされたボールは、上記に示したボールの軌道上を移動している。
【０１４４】
そして、ボールが投手キャラクタ７０からリリースされると、３次元ゲーム空間を移動するボールを予想通過面Ｙに投影した領域ＢＣ（ボールの着弾領域）が設定され、ボールの着弾領域ＢＣが予想通過面Ｙにおいて円状に表示される（Ｓ４１３）。
【０１４５】
具体的には、ＡＩプログラムに基づいて投球命令がＣＰＵ７から発行されたときに、３次元ゲーム空間を移動するボールの位置座標を予想通過面Ｙに投影したときの位置座標、すなわち予想通過面Ｙにおけるボールの予想通過位置（着弾領域ＢＣの位置、着弾領域ＢＣの重心位置、着弾領域ＢＣの中心位置）を示す座標が、ＣＰＵ７に認識される。このように着弾領域ＢＣの位置がＣＰＵ７に認識されると、この着弾領域ＢＣの位置を基準として着弾領域ＢＣの範囲が決定される。すると、この着弾領域ＢＣの範囲の内部座標が、ＣＰＵ７に認識される。このようにして、着弾領域ＢＣの位置および着弾領域ＢＣの範囲が設定される。
【０１４６】
続いて、投手キャラクタ７０からボールがリリースされ、ボールの着弾領域ＢＣがテレビジョンモニタ２０に表示されると、テレビジョンモニタ２０に表示されたミートカーソルＢＭがボールの着弾領域ＢＣに重なるように、プレイヤによりコントローラ１７の所定のキー（上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌおよび右方向キー１７Ｒの少なくともいずれか１つのキー）、が操作される。すると、コントローラ１７のキー操作量に応じて、ミートカーソルＢＭの位置（重心位置）を示す座標を連続的に移動させる処理が、ＣＰＵ７により実行される。すると、このミートカーソルＢＭの位置を基準としてミートカーソルＢＭの範囲（境界）が設定され、ミートカーソルＢＭがコントローラ１７の操作方向に移動する状態が、テレビジョンモニタ２０に表示される（Ｓ４１４）。このときには、予想通過面Ｙを移動するミートカーソルＢＭの内部座標が、所定の時間間隔で、ＣＰＵ７に認識されている。ここでは、ミートカーソルＢＭの内部座標が、たとえば、１／６０（ｓｅｃ）ごとにＣＰＵ７に認識される。
【０１４７】
そして、打者キャラクタ８０にスイング動作を開始させるために、コントローラ１７の所定のボタンが操作された否かが、ＣＰＵ７により判断される（Ｓ４１５）。ここでは、たとえば、打者キャラクタ８０にスイング動作を開始させるためのコントローラ１７からの入力信号の受け付けが実行されたか否かが、ＣＰＵ７により判断される。そして、コントローラ１７の所定のボタンが操作されたとＣＰＵ７により判断された場合（Ｓ４１５でＹｅｓ）、打者キャラクタ８０がスイング動作を開始する命令（スイング動作開始命令）がＣＰＵ７から発行される。すると、打者キャラクタ８０と、打者キャラクタ８０のスイング動作に連動して移動するバットとが、打者キャラクタ用の画像データおよびバット用の画像データを用いてテレビジョンモニタ２０に表示される（Ｓ４１６）。
【０１４８】
なお、ここで、コントローラ１７の所定のボタンが操作されたとＣＰＵ７により判断されなかった場合（Ｓ４１５でＮｏ）、すなわちボールが予想通過面Ｙに到達した場合、ステップ４１０（Ｓ４１０）の処理が、ＣＰＵ７により再実行される。
【０１４９】
続いて、スイング動作開始命令がＣＰＵ７から発行され（Ｓ４１５でＹｅｓ）、打者キャラクタ８０のスイング動作がテレビジョンモニタ２０に表示されたときには（Ｓ４１６）、スイング動作開始命令がＣＰＵ７から発行されたときのボールの位置から予想通過面までの距離Ｌ＿ＢＡＬＬ（到達距離）と、スイング動作開始命令がＣＰＵ７から発行されたときのボールの移動速度Ｖ＿ＢＡＬＬとに基づいて、投手キャラクタから投球されたボールが予想通過面に到達するまでの到達時間ｄＴ＿ＢＡＬＬが、算出される。たとえば、スイング動作開始命令がＣＰＵ７から発行されたときのボールの位置から予想通過面までの距離Ｌ＿ＢＡＬＬ（到達距離）を、スイング動作開始命令がＣＰＵ７から発行されたときのボールの移動速度Ｖ＿ＢＡＬＬにより除算する処理が、ＣＰＵ７に実行される（図５を参照）。これにより、投手キャラクタ７０から投球されたボールが予想通過面Ｙに到達するまでの到達時間ｄＴ＿ＢＡＬＬ（＝（Ｌ＿ＢＡＬＬ）／（Ｖ＿ＢＡＬＬ））が、算出される（Ｓ４１７）。
【０１５０】
なお、ここでは、説明を容易にするために、図６には、スイング動作開始命令がＣＰＵ７から発行されたときのボールが、予想通過面に対して垂直な方向に等速で直線に移動する場合の例が示されている。
【０１５１】
しかしながら、次のようにして、ボールが、予想通過面に対して垂直な方向に等速で直線に移動している場合だけでなく、予想通過面に対して垂直な方向に等速で直線に移動していない場合に対しても、スイング動作開始命令がＣＰＵ７から発行されたときの到達距離Ｌ＿ＢＡＬＬと、スイング動作開始命令がＣＰＵ７から発行されたときのボールの移動速度Ｖ＿ＢＡＬＬとに基づいて、投手キャラクタから投球されたボールが予想通過面に到達するまでの到達時間ｄＴ＿ＢＡＬＬを、算出することができる。
【０１５２】
たとえば、スイング動作開始命令がＣＰＵ７から発行されたときのボールの移動速度Ｖ＿ＢＡＬＬを初期条件として、軌道方程式を微分する処理をＣＰＵ７に実行させることにより、各瞬間のボールの移動速度を算出することができる。また、スイング動作開始命令がＣＰＵ７から発行されたときのボールの位置を基点として、ある瞬間のボールの位置と次の瞬間のボールの位置との距離を、ある瞬間のボールの移動速度で除算する処理を、ＣＰＵ７に実行させることにより、ある瞬間の時間を算出することができる。この処理を、スイング動作開始命令がＣＰＵ７から発行されたときのボールの位置から、軌道方程式が予想通過面と交差する点の位置までの間において実行する。これにより、投手キャラクタから投球されたボールが予想通過面に到達するまでの到達時間ｄＴ＿ＢＡＬＬを、算出することができる。
【０１５３】
すると、所定の範囲を有する基準到達時間ＫＴが到達時間ｄＴ＿ＢＡＬＬより大きいか否かが、ＣＰＵ７により判定される（Ｓ４１８）。ここでは、基準到達時間ＫＴの上限値ＫＴ２が到達時間ｄＴ＿ＢＡＬＬより大きいか否かが、ＣＰＵ７により判定される。このように、基準到達時間ＫＴの上限値ＫＴ２を用いて基準到達時間ＫＴと到達時間ｄＴ＿ＢＡＬＬとの比較を行うことにより、コントローラ１７を操作したときの手ぶれ等による入力タイミングのばらつきを、調整することができる。
【０１５４】
ここでは、後述するように、打者キャラクタが振り遅れた場合に、打者キャラクタ８０の振り遅れを補正する処理が、ＣＰＵ７により実行される場合の例を示す。しかしながら、打者キャラクタがバットを早く振りすぎた場合に、打者キャラクタ８０のスイングタイミングを補正する処理が、ＣＰＵ７により実行されるようにすることも可能である。この場合は、基準到達時間ＫＴの下限値ＫＴ１が到達時間ｄＴ＿ＢＡＬＬより小さいか否かが、ＣＰＵ７により判定される。そして、基準到達時間ＫＴの下限値ＫＴ１が到達時間ｄＴ＿ＢＡＬＬより小さい場合に、打者キャラクタ８０のスイングタイミングがＣＰＵ７により補正される。
【０１５５】
この場合、たとえば、基準到達時間ＫＴを補正するための補正時間ＭＴを基準到達時間ＫＴの下限値ＫＴ１に加算する処理（ＫＴ’＝ＫＴ１＋ＭＴ）が、ＣＰＵ７により実行される。これにより、バットが予想通過面Ｙに到達する時間ＫＴと、ボールが予想通過面Ｙに到達する時間ｄＴ＿ＢＡＬＬとの差Ｓが縮小される。すなわち、打者キャラクタ８０がバットを早く振りすぎた場合に、打者キャラクタ８０のスイングタイミングを補正する処理が、ＣＰＵ７により実行される。このように、基準到達時間ＫＴの下限値ＫＴ１を用いて基準到達時間ＫＴと到達時間ｄＴ＿ＢＡＬＬとの比較を行うことにより、コントローラ１７を操作したときの手ぶれ等による入力タイミングのばらつきを、調整することができる。
【０１５６】
続いて、基準到達時間ＫＴの上限値ＫＴ２が到達時間ｄＴ＿ＢＡＬＬより大きいとＣＰＵ７により判定された場合（Ｓ４１８でＹｅｓ；ＫＴ２＞ｄＴ＿ＢＡＬＬ）、基準到達時間ＫＴを補正するための補正時間ＭＴを基準到達時間ＫＴの上限値ＫＴ２から減算する処理（ＫＴ’＝ＫＴ２−ＭＴ）が、ＣＰＵ７により実行される。これにより、バットが予想通過面Ｙに到達する時間ＫＴと、ボールが予想通過面Ｙに到達する時間ｄＴ＿ＢＡＬＬとの差Ｓが縮小される。すなわち、打者キャラクタ８０が振り遅れた場合に、打者キャラクタ８０の振り遅れを補正する処理が、ＣＰＵ７により実行される（Ｓ４１９）。
【０１５７】
ここで用いられる補正時間ＭＴには、「０（ゼロ）」より大きく基準到達時間ＫＴの上限値ＫＴ２より小さい時間（定数）が用いられる。ここでは、補正時間ＭＴが、０．１（ｓｅｃ）に設定されている。この補正時間ＭＴは、ゲームプログラムにおいて予め規定されており、ＲＡＭ１２に格納されている。
【０１５８】
なお、基準到達時間ＫＴの上限値ＫＴ２が到達時間ｄＴ＿ＢＡＬＬ以下であるとＣＰＵ７により判定された場合（Ｓ４１８でＮｏ；ＫＴ２≦ｄＴ＿ＢＡＬＬ）、後述するステップ４２０（Ｓ４２０）の処理がＣＰＵ７により実行される。この場合、ステップ４２０（Ｓ４２０）の処理において用いられる差は、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差Ｓ’ではなくて、基準到達時間ＫＴ（ＫＴ２）と到達時間ｄＴ＿ＢＡＬＬとの差Ｓである。
【０１５９】
そして、打者キャラクタ８０の振り遅れを補正する処理が実行されると、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差Ｓ’（＝ＫＴ’−ｄＴ＿ＢＡＬＬ）が所定の時間範囲内であるか否かが、ＣＰＵ７により判別される（Ｓ４２０）。たとえば、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差Ｓ’が、「−ＴＰ（＝−４ｐ／６０）」以上「ＴＰ（＝４ｐ／６０）」以下であるか否かが、ＣＰＵ７により判別される（図６を参照）。ここで、ｐは正の整数である。そして、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差Ｓ’（＝ＫＴ’−ｄＴ＿ＢＡＬＬ）が、「−ＴＰ（ｓｅｃ）」以上「ＴＰ（ｓｅｃ）」以下であるとＣＰＵ７により判別された場合、バットとボールとが時間的に衝突すると判断される。
【０１６０】
そして、バットとボールとが時間的に衝突すると判断された場合（Ｓ４２０でＹｅｓ）、バットにボールが当たったか否かの判断が、ＣＰＵ７により実行される（Ｓ４２１）。たとえば、ミートカーソルＢＭの内部座標とボールの着弾領域ＢＣの内部座標とが一致するか否かが、ＣＰＵ７により判定される。これにより、バットとボールとが空間的に衝突するか否かが判断される。すなわち、ボールがバットにより打ち返されるか否かが、判断される。そして、ミートカーソルＢＭの内部座標とボールの着弾領域ＢＣの内部座標とが一致した場合（Ｓ４２１でＹｅｓ）、すなわちバットとボールとが空間的に衝突した場合、バットとボールとが時間的かつ空間的に衝突することになる。すなわち、ボールがバットにより打ち返される。
【０１６１】
なお、ステップ４２０（Ｓ４２０）でＮｏの場合、又はステップ４２１（Ｓ４２１）でＮｏの場合は、バットとボールとが時間的又は／及び空間的に衝突しなくなる。たとえば、ステップ４２０（Ｓ４２０）でＮｏの場合は、打者キャラクタ８０のスイングのタイミングが外れたことによる空振りに対応する。また、ステップ４２１（Ｓ４２１）でＮｏの場合は、バットでボールを捉えることができるタイミングではあるが空間的にバットでボールを捉えることができないことによる空振りに対応する。
【０１６２】
すると、補正後の基準到達時間と到達時間とを比較する処理をＣＰＵ７に実行させることにより、比較結果に応じてボールが移動する方向が決定される（Ｓ４２２）。たとえば、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差Ｓ’が「−３ｐ／６０（ｓｅｃ）」以上「−ｐ／６０（ｓｅｃ）」未満である場合、打者キャラクタ８０がバットを早く振りすぎた場合に対応し、この場合、バットにボールが当たるとボールがレフト方向に飛ぶことになる。また、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差Ｓ’が「ｐ／６０（ｓｅｃ）」より大きく「３ｐ／６０（ｓｅｃ）」以下である場合、打者キャラクタ８０が振り遅れた場合に対応し、この場合、バットにボールが当たるとボールがライト方向に飛ぶことになる。さらに、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差Ｓ’が「−ｐ／６０（ｓｅｃ）」以上「ｐ／６０（ｓｅｃ）」以下である場合、上記の２つの場合以外の場合に対応し、この場合、バットにボールが当たるとボールがセンター方向に飛ぶことになる。
【０１６３】
また、上記の比較に加えて、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差Ｓ’が負の値として小さくなればなるほど、ボールが移動する方向は、レフト方向又は３塁側のファール領域の方向に設定される。すなわち、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差Ｓ’が、「−１ｐ／６０」より小さく「−３ｐ／６０」に近ければ近いほど、ボールが移動する方向は、３塁線に近いレフト方向に設定される。また、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差Ｓ’が、「−３ｐ／６０」より小さく「−４ｐ／６０」に近いほど、ボールが移動する方向は、３塁線から離れたファール領域の方向に設定される。
【０１６４】
同様に、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差Ｓ’が正の値として大きくなればなるほど、ボールが移動する方向は、ライト方向又は１塁側のファール領域の方向に設定される。すなわち、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差Ｓ’が、「１ｐ／６０」より大きく「３ｐ／６０」に近ければ近いほど、ボールが移動する方向は、１塁線に近いライト方向に設定される。また、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差が、「３ｐ／６０」より大きく「４ｐ／６０」に近いほど、ボールが移動する方向は、１塁線から離れたファール領域の方向に設定される。
【０１６５】
ここで、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差Ｓ’が「０（ゼロ）」に近ければ近いほど、ボールが移動する方向は、センター方向に設定される。また、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差Ｓ’が「０（ゼロ）」より小さく「−１ｐ／６０」に近ければ近いほど、ボールが移動する方向は、レフト寄りのセンター方向に設定される。さらに、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差Ｓ’が「０（ゼロ）」より大きく「１ｐ／６０」に近ければ近いほど、ボールが移動する方向は、ライト寄りのセンター方向に設定される。
【０１６６】
上記のように、ここでは、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差Ｓ’に応じて、ボールの移動方向が設定されるようになっている。たとえば、図６に示すように、３次元ゲーム空間における原点（ホームベースの重心）を中心として、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差Ｓ’に応じた角度が、ボールの飛球角度αとして設定されるようになっている。
【０１６７】
ここでは、説明を容易にするために、ボールの高さ方向の飛球角度については、図示されていない。このため、ボールの高さ方向の飛球角度についての説明を簡単に行っておく。ミートカーソルＢＭの重心を基準として、ボールの着弾領域ＢＣの重心がミートカーソルＢＭの重心と同じ位置又は上方に位置する場合、ボールがライナー又はフライになるように、高さ方向の飛球角度が設定される。一方で、ミートカーソルＢＭの重心を基準として、ボールの着弾領域ＢＣの重心がミートカーソルＢＭの重心の下方に位置する場合、ボールがゴロになるように、高さ方向の飛球角度が設定される。ここで設定される飛球角度と、ミートカーソルＢＭおよびボールの着弾領域ＢＣとの対応関係は、ゲームプログラムにおいて予め規定されている。たとえば、飛球角度と、ミートカーソルＢＭおよびボールの着弾領域ＢＣとの対応関係を示す対応テーブルが、ＲＡＭ１２に格納されている。
【０１６８】
このようにして、ボールの飛球角度に基づいてボールの移動方向が設定されると、打者キャラクタ８０により打ち返されたボールが、ボール用の画像データを用いてテレビジョンモニタ２０に表示される（Ｓ４２３）。すなわち、打者キャラクタ８０により打ち返されたボールが上記の移動方向に移動する状態が、ボール用の画像データを用いてテレビジョンモニタ２０に表示される。
【０１６９】
そして、打者キャラクタ８０によりボールが打ち返されたことによるプレイ結果がＣＰＵ７により判断され、このプレイ結果を試合イベントに反映する処理がＣＰＵ７により実行される（Ｓ４２４）。たとえば、このプレイがアウトであれば、アウトカウントを１つ増加する処理が、ＣＰＵ７により実行される。また、このプレイが、ヒット、２塁打、３塁打、ホームランのいずれかであれば、走者を進塁する処理が、ＣＰＵ７により実行される。ここで、得点が入った場合には、得点を追加する処理が、ＣＰＵ７により実行される。さらに、このプレイが、ファールであれば、ストライクカウントを１つ増加する処理が、ＣＰＵ７により実行される。なお、ストライクカウントが２ストライクであった場合、ストライクカウントを１つ増加する処理は、ＣＰＵ７により実行されない。しかしながら、ここでは、この場合も、プレイ結果を試合イベントに反映する処理の１つとして取り扱われている。
【０１７０】
そして、ある打者キャラクタ８０と投手キャラクタ７０との対戦が終了したか否か、すなわち１プレイが終了したか否かが、ＣＰＵ７により判断される（Ｓ４２５）。そして、１プレイが終了していないと判断された場合（Ｓ４２５でＮｏ）、ステップ４１０（Ｓ４１０）の処理が、ＣＰＵ７により再実行される。一方で、１プレイが終了したと判断された場合（Ｓ４２５でＹｅｓ）、試合イベントが終了したか否かが、ＣＰＵ７により判断される（Ｓ４２６）。そして、試合イベントが終了したとＣＰＵ７により判断された場合（Ｓ４２６でＹｅｓ）、野球ゲームを終了するための処理がＣＰＵ７により実行される（Ｓ４２７）。ここで、試合イベントが終了したとＣＰＵ７により判断されなかった場合（Ｓ４２６でＮｏ）、ステップ４０７（Ｓ４０７）の処理が、ＣＰＵ７により再実行される。
【０１７１】
なお、打者キャラクタ８０の特殊能力データＴＤ（ＩＤ，１）の値が数値「１」に等しくないとＣＰＵ７により判定された場合（Ｓ４０９でＮｏ）、すなわち打者キャラクタ８０の特殊能力データＴＤ（ＩＤ，１）の値が数値「０」に等しいとＣＰＵ７により判定された場合、打者キャラクタ８０の振り遅れを補正する処理が実行されない。すなわち、本実施形態では、打者キャラクタ８０が特殊能力を有している場合にのみ、打者キャラクタ８０の振り遅れを補正する処理が実行される。このため、この場合（Ｓ４０９でＮｏ）、上述したステップ４１０（Ｓ４１０）からステップ４１７（Ｓ４１７）までの処理と同様の処理（Ｓ４３０〜Ｓ４３７）が、ＣＰＵ７により実行される。そして、ステップ４３０（Ｓ４３０）からステップ４３７（Ｓ４３７）までの処理がＣＰＵ７により実行されると、ステップ４２０（Ｓ４２０）以降の処理がＣＰＵ７により実行される。この場合、ステップ４２０（Ｓ４２０）の処理において用いられる差は、補正後の基準到達時間ＫＴ’と到達時間ｄＴ＿ＢＡＬＬとの差Ｓ’ではなくて、基準到達時間ＫＴ（ＫＴ２）と到達時間ｄＴ＿ＢＡＬＬとの差Ｓである。
【０１７２】
〔他の実施形態〕
（ａ）前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての家庭用ビデオゲーム装置を用いた場合の例を示したが、ゲーム装置は、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
【０１７３】
（ｂ）前記実施形態では、本発明が野球ゲームに適用される場合の例を示したが、本発明は、前記実施形態に限定されず、他のゲームに適用することもできる。たとえば、テニスゲームにおいて、テニスラケットを予想通過面とみなすことによって、本発明をテニスゲームに適用することができる。
【０１７４】
（ｃ）本発明には、前述したようなゲームを実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＯＭカセット、その他のものが挙げられる。
【図面の簡単な説明】
【０１７５】
【図１】本発明の一実施形態によるビデオゲーム装置の基本構成図。
【図２】前記ビデオゲーム装置の一例としての機能ブロック図。
【図３】試合画面を示す図（投球前）。
【図４】試合画面を示す図（投球後）。
【図５】ボールが予想通過面に到達するまでの到達時間を説明するための図。
【図６】ボールの飛球方向の設定についての説明を行うための図。
【図７】野球ゲームの全体概要を示すフロー。
【図８Ａ】野球ゲームにおけるウォーミングアップシステムを示すフロー。
【図８Ｂ】野球ゲームにおけるウォーミングアップシステムを示すフロー。
【図８Ｃ】野球ゲームにおけるウォーミングアップシステムを示すフロー。
【図８Ｄ】野球ゲームにおけるウォーミングアップシステムを示すフロー。
【符号の説明】
【０１７６】
１  制御部
３  画像表示部
５  操作入力部
７  ＣＰＵ
１２  ＲＡＭ
１７  コントローラ
２０  テレビジョンモニタ
５０  予想通過位置認識手段
５１  基準到達時間設定手段
５２  特殊能力判断手段
５３  第１ボール表示手段
５４  第２通過領域設定手段
５５  第１通過領域設定手段
５６  バット表示手段
５７  到達時間算出手段
５８  時間差縮小手段
５９  第１衝突判断手段
６０  第２衝突判断手段
６１  移動方向決定手段
６２  第２ボール表示手段
７０  投手キャラクタ
８０  打者キャラクタ
Ｉ１  ボール
Ｉ２  バット
ＩＤ  打者キャラクタの識別番号ＩＤ
ＮＴ（ＩＤ，ｎ）  能力データ
ＴＤ（ＩＤ，ｎ）  特殊能力データ
ＫＴ，ＫＴ１，ＫＴ２  基準到達時間
Ｌ＿ＢＡＬＬ  ボールの到達距離
Ｖ＿ＢＡＬＬ  ボールの移動速度
ｄＴ＿ＢＡＬＬ  ボールの到達時間
Ｓ  基準到達時間と到達時間との差
Ｓ’  補正後の基準到達時間と到達時間との差
【図１】
2009207780.tif 000003
【図２】
2009207780.tif 000004
【図３】
2009207780.tif 000005
【図４】
2009207780.tif 000006
【図５】
2009207780.tif 000007
【図６】
2009207780.tif 000008
【図７】
2009207780.tif 000009
【図８Ａ】
2009207780.tif 000010
【図８Ｂ】
2009207780.tif 000011
【図８Ｃ】
2009207780.tif 000012
【図８Ｄ】
2009207780.tif 000013