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