ところで、現実世界の野球では、たとえば、投手から投げられるボールのコースが、1球目が内角、2球目が外角であり、且つその内角から外角への振れ幅が大きい場合、打者の意識の一部は1球目が投球された時点で内角に残留しているために、この打者は、2球目の外角に来たボールを打ちづらく感じる。このため、現実世界の野球では、投手が意図的にボールを内角に投げた後にボールを外角に投げる、あるいは低めに投げた後に高めに投げるといった、コースの振り幅を大きくする投球の組み立てがよく行われる。しかしながら、このような投球の組み立てが行なわれた場合の、打者にとっての打ち難さというものをゲーム上に反映したものは従来、存在していなかった。
特許文献1には、前述のように、投球されたボールの通過コースに応じて、打者キャラクタの打撃特性を変更する点の開示はあるものの、上記したような現実世界での現象、すなわち、直前に投球されたボールの通過コースと、今、投球されつつあるボールのコースとが離れている場合に、投球されつつあるボールに対する打撃難易度を上げるといった点は考慮されていない。より具体的には、特許文献1の打撃特性の変更は、一球ごとに実行され、次の投球時には、ここで既に変更済みの打撃特性を単に利用するだけである。これにより、打者キャラクタの得手不得手のコースが決定される。一方で、上記の現実世界の現象は、直前に投球されたボールの通過コースとの関係において、今まさに投げられつつあるボールに対する打撃難易度が、変わる。すなわち、直前の投球が完了した時には、打撃難易度は何も決定されておらず、今回の投球時に、直前の投球との比較において、打撃難易度が変化する。たとえば、今回の投球が、直前のコースと大きく離れたコースであれば打ち難くなるが、同じようなコースであれば打ち難くなることはない。換言すれば、特許文献1は、このような現実世界の事象、すなわちリアルタイムな打撃難易度の変化を考慮していない。
本発明は、このような問題に鑑みてなされたものであり、その目的は、例えば野球ゲームにおいて、今、投手キャラクタから投げられたボールに対する打撃の難易度を、その直前に投げられたボールのコースとの関係によって、リアルタイムに変更し、現実世界と同様に打撃時の臨場感を野球ゲームに反映させることにある。
請求項1に係るゲームプログラムは、キャラクタが移動体を送出するゲームを実現可能なコンピュータの制御部に、以下の機能を実現させるためのプログラムである。
(1)キャラクタの送出動作の対象となる送出対象領域を、ゲーム空間に設定する領域設定機能。
(2)移動体がキャラクタから送出されたときに、移動体が送出対象領域に到達する位置を、第1到達位置として認識する第1到達位置認識機能。
(3)第1到達位置に近づく移動体の位置を送出対象領域上で報知するための第1報知子を、画像表示部に表示する第1報知子表示機能。
(4)移動体の送出後、再度、移動体がキャラクタから送出されたときに、移動体が送出対象領域に到達する位置を、第2到達位置として認識する第2到達位置認識機能。
(5)第1到達位置と第2到達位置との間の距離が、所定の距離以上離れているか否かを、判断する第1位置関係判断機能。
(6)第1到達位置と第2到達位置との間の距離が、所定の距離以上離れていた場合、第2到達位置に近づく移動体の位置を送出対象領域上で報知するための第2報知子を、第1報知子とは異なる表示態様で、画像表示部に表示する第2報知子表示機能。
このゲームプログラムが野球ゲームに適用された場合を一例として説明すると、領域設定機能において、投手キャラクタの投球動作の対象となる投球対象領域、たとえばミートゾーン(ストライクゾーンとボールゾーン)が、ゲーム空間に設定される。第1到達位置認識機能においては、ボールが投手キャラクタからリリースされたときに、ボールがミートゾーンに到達する位置が、第1到達位置として認識される。第1報知子表示機能においては、第1到達位置に近づくボールの位置をミートゾーン上で報知するための第1報知子(1球目の着弾点)が、画像表示部に表示される。
第2到達位置認識機能においては、投手キャラクタが投球した後に、再度、ボールが投手キャラクタからリリースされたときに、ボールがミートゾーンに到達する位置が、第2到達位置として認識される。第1位置関係判断機能においては、第1到達位置と第2到達位置との間の距離が、所定の距離以上離れているか否かが、判断される。第2報知子表示機能においては、第1到達位置と第2到達位置との間の距離が、所定の距離以上離れていた場合、第2到達位置に近づくボールの位置をミートゾーン上で報知するための第2報知子(2球目の着弾点)が、第1報知子(1球目の着弾点)とは異なる表示態様で、画像表示部に表示される。
また、第2報知子表示機能においては、第1到達位置と第2到達位置との間の距離が大きくなるにつれて、キャラクタより移動体が送出された時点から、送出対象領域に第2報知子が表示される時点までの時間が、キャラクタより移動体が送出された時点から、第1報知子が表示される時点までの時間に比べて、より長くなるように、第2報知子が画像表示部に表示される。
ここでは、説明を容易にするために、「1球目」および「2球目」という文言を用いているが、第1報知子および第2報知子を1球目の報知子および2球目の報知子に限定するものではない。これは、以下の請求項においても同様である。これらの文言は、「n球目」および「(n+1)球目」という文言を簡易に表現したものに過ぎない。これらの文言を、「n球目」および「(n+1)球目」と解釈すれば、時間的な前後関係を一般的に表現することができる。ここで、nは自然数である。
この場合、1球目のボールの到達位置(第1到達位置)と、2球目のボールの到達位置(第2到達位置)との間の距離が、所定の距離以上離れていた場合、2球目のボールがミートゾーンの第2到達位置に近づくときに、2球目の着弾点が、1球目の着弾点とは異なる表示態様で、画像表示部に表示される。
具体的には、投手キャラクタが、内角にボールを投げた後に、所定の距離を隔てたコースたとえば外角にボールを投げると、この投手キャラクタが外角に投げたボールの着弾点(2球目の着弾点)が、1球目の着弾点とは異なる表示態様で、画像表示部に表示される。ここで、たとえば、2球目の着弾点を、1球目の着弾点より視認しにくい表示態様で、画像表示部に表示すると、打者キャラクタは、1球目のボールよりも、2球目のボールの方が打ち返しづらくなる。なお、打者キャラクタに対する命令は、たとえば、プレイヤによって指示される場合と、制御部によって自動制御される場合とがある。これは、以下の請求項でも同様である。
すなわち、1球目のコース(ex. 内角)と2球目のコース(ex. 外角)とが所定の距離以上離れている場合、内角を意識した打者キャラクタは、外角に向かうボールを、打ち返しづらくなる。このように、ここでは、投手キャラクタの投球術が打者キャラクタに与える影響を、1球目の着弾点の表示態様に対する2球目の着弾点の表示態様の変化によって、再現している。そして、2球目の着弾点の表示態様の変化は、1球目のコースとの関係に基づき、投球されたその場でリアルタイムに生じるものであり、この変化は事前に予測できないため、対戦時に臨場感および緊迫感をもたらす。これにより、本発明では、現実世界の野球において投手の投球の組み立てが打者にリアルタイムに与える影響を、野球ゲームにおいても同様に再現することができる。一般的に表現すると、現実世界において、ある選手の作戦の組み立てが他の選手にリアルタイムに与える影響を、ゲームにおいて再現することができる。
また、この場合、1球目のボールの到達位置(第1到達位置)と、2球目のボールの到達位置(第2到達位置)との間の距離が、所定の距離以上離れていた場合、この距離が大きくなるにつれて、1球目の着弾点が表示されるタイミングと比較して、2球目の着弾点が表示されるタイミングが遅くなるように、2球目の着弾点が画像表示部に表示される。着弾点の表示が遅いということは、それだけ、打者キャラクタにとっては打撃位置を確認する時間的な余裕や、打撃操作の準備(着弾点付近にバットを近づけておく等の準備)する時間的な余裕が少なくなるので、打者キャラクタは、2球目の着弾点が1球目の着弾点より視認しづらくなり、1球目のボールよりも、2球目のボールの方が打ち返しづらくなる。
このように、本発明では、コース間の距離に応じて着弾点の表示タイミングを遅くすることによって、あるコース(ex. 内角)を意識した打者キャラクタは、このコースから離れたコース(ex. 外角)に向かうボールを、打ち返しづらくなる。このように、ここでは、投手キャラクタの投球術が打者キャラクタに与える影響を、着弾点の表示タイミングの変化によって、再現している。これにより、本発明では、現実世界の野球において投手の投球の組み立てが打者にリアルタイムに与える影響を、野球ゲームにおいても同様に再現することができる。
請求項2に係るゲームプログラムでは、請求項1に記載のゲームプログラムにおいて、第1到達位置と第2到達位置との間の距離が大きくなるにつれて、第1報知子の大きさに対して第2報知子の大きさがより小さくなるように、第2報知子が画像表示部に表示される。この機能は、第2報知子表示機能において実現される。
この場合、1球目のボールの到達位置(第1到達位置)と、2球目のボールの到達位置(第2到達位置)との間の距離が、所定の距離以上離れていた場合、この距離が大きくなるにつれて、1球目の着弾点の大きさに対する2球目の着弾点の大きさが、より小さくなるように、2球目の着弾点が画像表示部に表示される。このため、2球目の着弾点は1球目の着弾点より視認しづらくなり、打者キャラクタは、1球目のボールよりも、2球目のボールの方が打ち返しづらくなる。
このように、本発明では、コース間の距離に応じて着弾点の大きさを小さくすることによって、あるコース(ex. 内角)を意識した打者キャラクタは、このコースから離れたコース(ex. 外角)に向かうボールを、打ち返しづらくなる。このように、ここでは、投手キャラクタの投球術が打者キャラクタに与える影響を、着弾点の大きさの変化によって、再現している。これにより、本発明では、現実世界の野球において投手の投球の組み立てが打者にリアルタイムに与える影響を、野球ゲームにおいても同様に再現することができる。
請求項3に係るゲームプログラムは、請求項1又は2に記載のゲームプログラムにおいて、コンピュータの制御部に、以下の機能をさらに実現させるためのプログラムである。
(7)領域設定機能に含まれ、送出対象領域を複数の区分領域に分割する領域分割機能。
(8)第1到達位置が含まれる区分領域を、第1区分領域として認識する第1区分領域認識機能。
(9)第2到達位置が含まれる区分領域を、第2区分領域として認識する第2区分領域認識機能。
このゲームプログラムが野球ゲームに適用された場合を一例として説明すると、領域分割機能において、ミートゾーンが複数の区分領域に分割される。ここで、領域分割機能は、領域設定機能に含まれている。第1区分領域認識機能においては、1球目のボールの到達位置(第1到達位置)が含まれる区分領域が、第1区分領域として認識される。第2区分領域認識機能においては、2球目のボールの到達位置(第2到達位置)が含まれる区分領域が、第2区分領域として認識される。ここでは、第1位置関係判断機能において、第1区分領域を基準として第2区分領域が所定の区分数以上離れた領域に存在するか否かが、判断される。第2報知子表示機能においては、第1区分領域を基準として第2区分領域が所定の区分数以上離れた領域に存在した場合、2球目の着弾点が、1球目の着弾点とは異なる表示態様で、画像表示部に表示される。
この場合、1球目のボールの到達位置(第1到達位置)が含まれる投球エリア(第1区分領域)を基準として、2球目のボールの到達位置(第2到達位置)が含まれる投球エリア(第2区分領域)が、所定の区分数以上離れた領域に存在した場合、2球目の着弾点が、1球目の着弾点とは異なる表示態様で、画像表示部に表示される。ここで、たとえば、2球目の着弾点を、1球目の着弾点より視認しにくい態様で、画像表示部に表示すると、打者キャラクタを操作する操作者は、打者キャラクタにスイング開始命令を指示したときに、打者キャラクタは、1球目のボールよりも、2球目のボールの方が打ち返しづらくなる。
すなわち、1球目の投球エリア(ex. 内角)と2球目の投球エリア(ex. 外角)とが所定の区分数以上離れている場合、内角を意識した打者キャラクタは、外角に向かうボールを、打ち返しづらくなる。このように、ここでは、投手キャラクタの投球術が打者キャラクタに与える影響を、1球目の着弾点の表示態様に対する2球目の着弾点の表示態様の変化によって、再現している。これにより、本発明では、現実世界の野球において投手の投球の組み立てが打者にリアルタイムに与える影響を、野球ゲームにおいても同様に再現することができる。
また、この場合、2球目の着弾点を1球目の着弾点とは異なる表示態様で表示するときの判断情報として、ボールの到達位置ではなく、ボールの到達位置が含まれる区分領域すなわちボールの投球エリアが、用いられている。現実世界の打者は、ボールのミートポイントを、ピンポイント(ボールの到達位置)で厳密に判断しているのではなく、ある範囲を持った投球エリアで把握している。このため、本発明では、投手キャラクタの投球結果を、ピンポイントで判断するのではなく、投球エリア(区分領域)で判断することにより、現実世界の打者の感覚を、野球ゲームにおいても、より正確に再現することができる。
請求項4に係るゲームプログラムは、請求項3に記載のゲームプログラムにおいて、コンピュータの制御部に、以下の機能をさらに実現させるためのプログラムである。
(10)第1区分領域を基準として第2区分領域が所定の区分数未満の領域に存在した場合、第2区分領域が第1区分領域と同じであるか否かを、判断する第2位置関係判断機能。
このゲームプログラムが野球ゲームに適用された場合を一例として説明すると、第2位置関係判断機能において、第1区分領域を基準として第2区分領域が所定の区分数未満の領域に存在した場合、第2区分領域が第1区分領域と同じであるか否かが、判断される。第1到達位置認識機能においては、第2区分領域が第1区分領域と同じであった場合、2球目のボールの到達位置(第2到達位置)が、1球目のボールの到達位置として新規に認識される。すなわち、既存の第1到達位置を、2球目のボールの到達位置に置き換えることによって、新規の第1到達位置が生成される。
第2到達位置認識機能においては、投手キャラクタが投球した後に、3球目のボールが投手キャラクタからリリースされたときに、ボールがミートゾーンに到達する位置、たとえば3球目のボールの到達位置が、2球目のボールの到達位置として新規に認識される。すなわち、既存の第2到達位置を、3球目のボールの到達位置に置き換えることによって、新規の第2到達位置が生成される。
第2報知子表示機能においては、新規の1球目のボールの到達位置が含まれる新規の第1区分領域を基準として、新規の2球目のボールの到達位置が含まれる新規の第2区分領域が、所定の区分数以上離れた領域に存在した場合、3球目のボールの到達位置(新規の第2到達位置)に近づくボールの位置をミートゾーン上で報知するための新規の着弾点(3球目の着弾点)が、2球目の着弾点とは異なる表示態様で、画像表示部に表示される。
具体的には、1球目の投球エリア(第1区分領域)と2球目の投球エリア(第2区分領域)とが同じであり、2球目の投球エリア(新規の第1区分領域)を基準として、3球目の投球エリア(新規の第2区分領域)が、所定の区分数以上離れた領域に存在した場合、3球目の着弾点が、2球目の着弾点とは異なる表示態様で、画像表示部に表示される。すなわち、たとえば、投手キャラクタが、1球目と2球目とを同じエリアに投球した後に、2球目を基準として3球目を所定の区分数以上離れた領域内に投球した場合、3球目の着弾点が、2球目の着弾点とは異なる表示態様で、画像表示部に表示される。
ここで、たとえば、3球目の着弾点を、2球目の着弾点より視認しにくい態様で、画像表示部に表示すると、打者キャラクタは、2球目のボールよりも、3球目のボールの方が打ち返しづらくなる。なお、ここでは、2球目のボールは、1球目のボールと同じエリアに投球されているので、2球目のボールの着弾点は、1球目のボールの着弾点と同じ態様で表示されている。
このように、本発明では、1球目および2球目が、同じエリアたとえば内角の同じエリアに投球された後に、3球目が1球目および2球目と異なるエリアたとえば外角に投球された場合、内角に意識が集中した打者キャラクタは、外角に向かうボールを、打ち返しづらくなる。このように、ここでは、繰り返し同じエリアに投球された後に、他のエリアに投球された場合に、投手キャラクタの投球術が打者キャラクタに与える影響を、着弾点の表示態様の変化によって再現している。これにより、本発明では、現実世界の野球において投手の投球の組み立てが打者にリアルタイムに与える影響を、野球ゲームにおいても同様に再現することができる。
請求項5に係るゲームプログラムは、請求項4に記載のゲームプログラムにおいて、コンピュータの制御部に、以下の機能をさらに実現させるためのプログラムである。
(11)第2到達位置を新規の第1到達位置として認識した回数を、計算することにより、回数を、移動体が同じ区分領域に到達した回数として設定する回数設定機能。
このゲームプログラムが野球ゲームに適用された場合を一例として説明すると、回数設定機能において、第2到達位置を新規の第1到達位置として認識した回数を、計算することにより、この回数が、ボールが同じ区分領域に到達した回数、たとえば同じエリアに投球された回数として、設定される。第2報知子表示機能においては、ボールが、同じエリアに投球された後に、このエリアとは異なるエリアに投球される場合、同じエリアに投球された回数が多いほど、異なるエリアに投球されるボールの着弾点の表示態様が、同じエリアに投球されたボールの着弾点の表示態様に対して、大きく変化するように、異なるエリアに投球されるボールの着弾点は、画像表示部に表示される。
たとえば、一例として、同じエリアに投球された回数が多いほど、同じエリアに投球されるボールの着弾点の大きさに対する、異なるエリアに投球されたボールの着弾点の大きさが、小さくなる。このように、ボールが同じエリアに投球されればされるほど、異なるエリアに投球されるときのボールの着弾点の大きさが小さくなるので、打者キャラクタは、ボールをより打ち返しづらくなる。また、別の例として、同じエリアに投球された回数が多いほど、同じエリアに投球されたボールの着弾点の表示タイミングに対する、異なるエリアに投球されるボールの着弾点の表示タイミングが、遅くなる。このように、ボールが同じエリアに投球されればされるほど、異なるエリアに投球されるときのボールの着弾点の表示タイミングが遅くなるので、打者キャラクタは、ボールを打ち返しづらくなる。
このように、本発明では、ボールが同じエリアたとえば内角の同じエリアに投球されればされるほど、異なるエリアたとえば外角に投球されるときのボールを、打者キャラクタが打ち返しにくくすることによって、投手キャラクタの投球術が打者キャラクタに与える影響の程度を、着弾点の表示態様の変化によって再現している。これにより、本発明では、現実世界の野球において投手の投球の組み立てが打者にリアルタイムに与える影響を、野球ゲームにおいても同様に再現することができる。
請求項6に係るゲームプログラムは、請求項3から5のいずれかに記載のゲームプログラムにおいて、第2区分領域と第1区分領域との間の左右方向の区分数と、第2区分領域と第1区分領域との間の上下方向の区分数とからなる区分数が、増えるにつれて、第1報知子の表示態様に対する第2報知子の表示態様が大きく変化するように、第2報知子が画像表示部に表示される。この機能は、第2報知子表示機能において実現される。
この場合、2球目の投球エリア(第2区分領域)が1球目の投球エリア(第1区分領域)より所定の区分数以上離れていた場合、この区分数(=左右方向の区分数+上下方向の区分数)が増えるにつれて、1球目のボールの着弾点の表示態様(1球目の投球エリアに向かったボールの着弾点の表示態様)に対して、2球目のボールの着弾点の表示態様(2球目の投球コースに向かうボールの着弾点の表示態様)が、大きく変化する。
たとえば、一例として、上記の区分数(=左右方向の区分数+上下方向の区分数)が増えるにつれて、1球目のボールの着弾点の大きさに対して、2球目のボールの着弾点の大きさが、小さくなる。このため、2球目のボールを、打者キャラクタは打ち返しづらくなる。また、別の例として、上記の区分数(=左右方向の区分数+上下方向の区分数)が増えるにつれて、1球目のボールの着弾点の表示タイミングに対して、2球目のボールの着弾点の表示タイミングが、遅くなる。このため、2球目のボールを、打者キャラクタは打ち返しづらくなる。
このように、本発明では、コース間の区分数に応じて着弾点の大きさや表示タイミングを変更することによって、あるコース(ex. 内角)を意識した打者キャラクタは、このコースから離れたコース(ex. 外角)に向かうボールを、打ち返しづらくなる。このように、ここでは、投手キャラクタの投球術が打者キャラクタに与える影響を、着弾点の表示態様の変化によって、再現している。これにより、本発明では、現実世界の野球において投手の投球の組み立てが打者にリアルタイムに与える影響を、野球ゲームにおいても同様に再現することができる。
請求項7に係るゲームプログラムでは、請求項3から6のいずれかに記載のゲームプログラムにおいて、第2区分領域と第1区分領域との間の左右方向の区分数、および第2区分領域と第1区分領域との間の上下方向の区分数それぞれに重み付け処理を行うことによって、第1区分領域と第2区分領域との距離を方向別に評価した第2報知子が、画像表示部に表示される。この機能は、第2報知子表示機能において実現される。
この場合、1球目の投球エリアと2球目の投球エリアとの間の左右方向の区分数に重み付け処理が、実行され、且つ第2区分領域と第1区分領域との間の上下方向の区分数に重み付け処理が、実行される。これにより、第1区分領域と第2区分領域との距離を方向別に評価した着弾点が、画像表示部に表示される。
この重み付けの概念を導入した理由は、以下の理由による。すなわち、投球されたボールのコースの振り幅が、上下方向に大きいのか左右方向に大きいのかによって、打者キャラクタにとってコースの振り幅に対する受け取り方(印象)が異なるという、現実世界での打者の意識を、ゲームに反映するためである。一般的には、左右方向の変化に対する印象の方が、上下方向の変化に対する印象よりも強い。この理由は、打席に立っている打者は、体に衝突しそうなコースのボールは自然に避けようとする傾向があるため、上下方向のコースの変化よりも、直接、体に向かってくる可能性のある左右方向のコースの変化の方が、より強く意識するからである。
この場合、左右方向の振り幅(区分数)による影響を、上下方向の振り幅(区分数)による影響よりも大きくするためには、たとえば、左右方向の振り幅に対する重みを大きくすればよい。なお、重み付け処理によって算出された結果は、あくまで、第1区分領域と第2区分領域との擬似的な距離に関するものであって、上下左右の区分数そのものを、変更したり再設定したりするものではない。また、上記では、左右方向に対する意識の方が上下方向に対する意識よりも強いとしたが、例えば、打者キャラクタの特性に応じて、逆に上下方向に対する意識の方が、左右方向に対する意識よりも強いように設定することも可能である。
このように、本発明では、コース間の方向別の区分数に対して重み付け処理を行うことによって、打者キャラクタが、意識しやすい方向や意識しにくい方向を、方向別に評価することができる。このように評価することによって、投手キャラクタの投球術が打者キャラクタに与える影響を、よりリアリティのあるものとして、野球ゲームにおいて、再現することができる。
請求項8に係るゲームプログラムは、請求項1から7のいずれかに記載のゲームプログラムにおいて、コンピュータの制御部に、以下の機能をさらに実現させるためのプログラムである。
(12)第2報知子を画像表示部に表示した後に、キャラクタが移動体を送出する場合に、第2報知子の表示態様を、第1報知子と同じ表示態様に戻す表示態様復帰機能。
このゲームプログラムが野球ゲームに適用された場合を一例として説明すると、表示態様復帰機能において、投手キャラクタがボールを投球することによって、着弾点の表示態様が、異なる表示態様に変更された場合、投手キャラクタが次に投球する前に、変更後の表示態様は、変更前の表示態様に変更される。なお、同じコースに繰り返し投球された後に、異なるコースに投球された場合、この次の投球前には、異なるコースに投球したことによって変更された表示態様が、変更前の表示態様に変更される。
たとえば、打者キャラクタが、1球目の投球コースである内角を意識しながら、2球目の投球コースである外角に向かうボールを打つときの意識の変化が、2球目の着弾点の態様変化によって再現された場合、着弾点の表示態様は、一旦、1球目を着弾点の表示態様、すなわち初期状態の着弾点の表示態様に戻される。そして、3球目の投球コースに応じて、この着弾点の表示態様(初期状態の着弾点の表示態様)は、変更される。
このように、本発明では、打者キャラクタの意識の変化が1度再現されると、ここでの変化が、後の意識の変化に影響を及ぼさないように、着弾点の表示態様がリセットされる。これにより、投手キャラクタの投球術が打者キャラクタに与える影響を、リアリティのある着弾点の表示態様の変化で、再現することができる。
請求項9に係るゲームプログラムは、キャラクタが移動体を送出するゲームを実現可能なコンピュータの制御部に、以下の機能を実現させるためのプログラムである。
(1)キャラクタの送出動作の対象となる送出対象領域を、ゲーム空間に設定し、送出対象領域を複数の区分領域に分割する領域分割機能を含む領域設定機能。
(2)移動体がキャラクタから送出されたときに、移動体が送出対象領域に到達する位置を、第1到達位置として認識する第1到達位置認識機能。
(3)第1到達位置が含まれる区分領域を、第1区分領域として認識する第1区分領域認識機能。
(4)第1到達位置に近づく移動体の位置を送出対象領域上で報知するための第1報知子を、画像表示部に表示する第1報知子表示機能。
(5)移動体の送出後、再度、移動体がキャラクタから送出されたときに、移動体が送出対象領域に到達する位置を、第2到達位置として認識する第2到達位置認識機能。
(6)第2到達位置が含まれる区分領域を、第2区分領域として認識する第2区分領域認識機能。
(7)第1区分領域を基準として第2区分領域が所定の区分数以上離れた領域に存在するか否かを、判断する第1位置関係判断機能。
(8)第1区分領域を基準として第2区分領域が所定の区分数以上離れた領域に存在した場合、第2到達位置に近づく移動体の位置を送出対象領域上で報知するための第2報知子を、第1報知子とは異なる表示態様で、画像表示部に表示する第2報知子表示機能。
ここに示したゲームプログラムでは、第2報知子表示機能において、第2区分領域と第1区分領域との間の左右方向の区分数、および第2区分領域と第1区分領域との間の上下方向の区分数それぞれに重み付け処理を行うことによって、第1区分領域と第2区分領域との距離を方向別に評価した第2報知子が、画像表示部に表示される。この場合、上記の請求項1,4,8に係る発明と同様の効果を得ることができる。
請求項10に係るゲーム装置は、キャラクタが移動体を送出するゲームを実現可能なゲーム装置である。このゲーム装置では、ゲーム装置の制御部が、キャラクタの送出動作の対象となる送出対象領域を、ゲーム空間に設定する領域設定手段と、移動体がキャラクタから送出されたときに、移動体が送出対象領域に到達する位置を、第1到達位置として認識する第1到達位置認識手段と、第1到達位置に近づく移動体の位置を送出対象領域上で報知するための第1報知子を、画像表示部に表示する第1報知子表示手段と、移動体の送出後、再度、移動体がキャラクタから送出されたときに、移動体が送出対象領域に到達する位置を、第2到達位置として認識する第2到達位置認識手段と、第1到達位置と第2到達位置との間の距離が、所定の距離以上離れているか否かを、判断する第1位置関係判断手段と、第1到達位置と第2到達位置との間の距離が、所定の距離以上離れていた場合、第2到達位置に近づく移動体の位置を送出対象領域上で報知するための第2報知子を、第1報知子とは異なる表示態様で、画像表示部に表示する第2報知子表示手段と、を備えている。ここで、第2報知子表示手段では、第1到達位置と第2到達位置との間の距離が大きくなるにつれて、キャラクタより移動体が送出された時点から、送出対象領域に第2報知子が表示される時点までの時間が、キャラクタより移動体が送出された時点から、第1報知子が表示される時点までの時間に比べて、より長くなるように、第2報知子が画像表示部に表示される。
請求項11に係るゲーム装置は、キャラクタが移動体を送出するゲームを実現可能なゲーム装置である。このゲーム装置では、ゲーム装置の制御部が、キャラクタの送出動作の対象となる送出対象領域を、ゲーム空間に設定し、送出対象領域を複数の区分領域に分割する領域分割手段を含む領域設定手段と、移動体がキャラクタから送出されたときに、移動体が送出対象領域に到達する位置を、第1到達位置として認識する第1到達位置認識手段と、第1到達位置が含まれる区分領域を、第1区分領域として認識する第1区分領域認識手段と、第1到達位置に近づく移動体の位置を送出対象領域上で報知するための第1報知子を、画像表示部に表示する第1報知子表示手段と、移動体の送出後、再度、移動体がキャラクタから送出されたときに、移動体が送出対象領域に到達する位置を、第2到達位置として認識する第2到達位置認識手段と、第2到達位置が含まれる区分領域を、第2区分領域として認識する第2区分領域認識手段と、第1区分領域を基準として第2区分領域が所定の区分数以上離れた領域に存在するか否かを、判断する第1位置関係判断手段と、第1区分領域を基準として第2区分領域が所定の区分数以上離れた領域に存在した場合、第2到達位置に近づく移動体の位置を送出対象領域上で報知するための第2報知子を、第1報知子とは異なる表示態様で、画像表示部に表示する第2報知子表示手段と、を備えている。ここで、第2報知子表示手段では、第2区分領域と第1区分領域との間の左右方向の区分数、および第2区分領域と第1区分領域との間の上下方向の区分数それぞれに重み付け処理を行うことによって、第1区分領域と第2区分領域との距離を方向別に評価した第2報知子が、画像表示部に表示される。
請求項12に係るゲーム制御方法は、キャラクタが移動体を送出するゲームを実現可能なコンピュータにより制御されるゲーム制御方法である。このゲーム制御方法では、コンピュータの制御部が、キャラクタの送出動作の対象となる送出対象領域を、ゲーム空間に設定する領域設定ステップと、移動体がキャラクタから送出されたときに、移動体が送出対象領域に到達する位置を、第1到達位置として認識する第1到達位置認識ステップと、第1到達位置に近づく移動体の位置を送出対象領域上で報知するための第1報知子を、画像表示部に表示する第1報知子表示ステップと、移動体の送出後、再度、移動体がキャラクタから送出されたときに、移動体が送出対象領域に到達する位置を、第2到達位置として認識する第2到達位置認識ステップと、第1到達位置と第2到達位置との間の距離が、所定の距離以上離れているか否かを、判断する第1位置関係判断ステップと、第1到達位置と第2到達位置との間の距離が、所定の距離以上離れていた場合、第2到達位置に近づく移動体の位置を送出対象領域上で報知するための第2報知子を、第1報知子とは異なる表示態様で、画像表示部に表示する第2報知子表示ステップと、を実行する。ここで、第2報知子表示手段では、第1到達位置と第2到達位置との間の距離が大きくなるにつれて、キャラクタより移動体が送出された時点から、送出対象領域に第2報知子が表示される時点までの時間が、キャラクタより移動体が送出された時点から、第1報知子が表示される時点までの時間に比べて、より長くなるように、第2報知子が画像表示部に表示される。
請求項13に係るゲーム制御方法は、キャラクタが移動体を送出するゲームを実現可能なコンピュータにより制御されるゲーム制御方法である。このゲーム制御方法では、コンピュータの制御部が、キャラクタの送出動作の対象となる送出対象領域を、ゲーム空間に設定し、送出対象領域を複数の区分領域に分割する領域分割ステップを含む領域設定ステップと、移動体がキャラクタから送出されたときに、移動体が送出対象領域に到達する位置を、第1到達位置として認識する第1到達位置認識ステップと、第1到達位置が含まれる区分領域を、第1区分領域として認識する第1区分領域認識ステップと、第1到達位置に近づく移動体の位置を送出対象領域上で報知するための第1報知子を、画像表示部に表示する第1報知子表示ステップと、移動体の送出後、再度、移動体がキャラクタから送出されたときに、移動体が送出対象領域に到達する位置を、第2到達位置として認識する第2到達位置認識ステップと、第2到達位置が含まれる区分領域を、第2区分領域として認識する第2区分領域認識ステップと、第1区分領域を基準として第2区分領域が所定の区分数以上離れた領域に存在するか否かを、判断する第1位置関係判断ステップと、第1区分領域を基準として第2区分領域が所定の区分数以上離れた領域に存在した場合、第2到達位置に近づく移動体の位置を送出対象領域上で報知するための第2報知子を、第1報知子とは異なる表示態様で、画像表示部に表示する第2報知子表示ステップと、を実行する。ここで、第2報知子表示ステップでは、第2区分領域と第1区分領域との間の左右方向の区分数、および第2区分領域と第1区分領域との間の上下方向の区分数それぞれに重み付け処理を行うことによって、第1区分領域と第2区分領域との距離を方向別に評価した第2報知子が、画像表示部に表示される。
本発明では、第1キャラクタが送出した移動体のn番目の到達位置と、第1キャラクタが送出した移動体の(n+1)番目の到達位置とが所定の距離以上離れている場合、第1キャラクタに対峙する第2キャラクタが、n番目の到達位置を意識しながら、(n+1)番目の到達位置を見極めるときの状態を、n番目の報知子の表示態様に対する、(n+1)番目の報知子の表示態様の変化(第1報知子の表示態様に対する第2報知子の表示態様の変化)によって、再現することができる。すなわち、現実世界において、ある選手の作戦の組み立てが他の選手にリアルタイムに与える影響を、ゲームにおいて再現することができる。
〔ゲーム装置の構成および動作〕
以下では、ゲーム装置を表示装置として用いる場合の例を、一例として説明を行う。図1は、本発明の一実施形態によるゲーム装置の基本構成を示している。ここでは、ゲーム装置の一例として、家庭用ゲーム装置をとりあげて説明を行うこととする。家庭用ゲーム装置は、家庭用ゲーム機本体および家庭用テレビジョンを備える。家庭用ゲーム機本体には、記録媒体10が装填可能となっており、記録媒体10からゲームデータが適宜読み出されてゲームが実行される。このようにして実行されるゲーム内容が家庭用テレビジョンに表示される。
家庭用ゲーム装置は、制御部1と、記憶部2と、画像表示部3と、音声出力部4と、操作入力部5とからなっており、それぞれがバス6を介して接続される。このバス6は、アドレスバス、データバス、およびコントロールバスなどを含んでいる。ここで、制御部1、記憶部2、音声出力部4および操作入力部5は、家庭用ゲーム装置の家庭用ゲーム機本体に含まれており、画像表示部3は家庭用テレビジョンに含まれている。
制御部1は、主に、ゲームプログラムに基づいてゲーム全体の進行を制御するために設けられている。制御部1は、たとえば、CPU(Central Processing Unit)7と、信号処理プロセッサ8と、画像処理プロセッサ9とから構成されている。CPU7と信号処理プロセッサ8と画像処理プロセッサ9とは、それぞれがバス6を介して互いに接続されている。CPU7は、ゲームプログラムからの命令を解釈し、各種のデータ処理や制御を行う。たとえば、CPU7は、信号処理プロセッサ8に対して、画像データを画像処理プロセッサに供給するように命令する。信号処理プロセッサ8は、主に、3次元空間上における計算と、3次元空間上から擬似3次元空間上への位置変換計算と、光源計算処理と、画像および音声データの生成加工処理とを行っている。画像処理プロセッサ9は、主に、信号処理プロセッサ8の計算結果および処理結果に基づいて、描画すべき画像データをRAM12に書き込む処理を行っている。
記憶部2は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納しておくために設けられている。記憶部2は、たとえば、記録媒体10と、インターフェース回路11と、RAM(Randm Access Memory)12とから構成されている。記録媒体10には、インターフェース回路11が接続されている。そして、インターフェース回路11とRAM12とはバス6を介して接続されている。記録媒体10は、オペレーションシステムのプログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるゲームデータなどを記録するためのものである。この記録媒体10は、たとえば、ROM(Read Only Memory)カセット、光ディスク、およびフレキシブルディスクなどであり、オペレーティングシステムのプログラムデータやゲームデータなどが記憶される。なお、記録媒体10にはカード型メモリも含まれており、このカード型メモリは、主に、ゲームを中断するときに中断時点での各種ゲームパラメータを保存するために用いられる。RAM12は、記録媒体10から読み出された各種データを一時的に格納したり、制御部1からの処理結果を一時的に記録したりするために用いられる。このRAM12には、各種データとともに、各種データの記憶位置を示すアドレスデータが格納されており、任意のアドレスを指定して読み書きすることが可能になっている。
画像表示部3は、主に、画像処理プロセッサ9によってRAM12に書き込まれた画像データや、記録媒体10から読み出される画像データなどを画像として出力するために設けられている。この画像表示部3は、たとえば、テレビジョンモニタ20と、インターフェース回路21と、D/Aコンバータ(Digital-To-Analogコンバータ)22とから構成されている。テレビジョンモニタ20にはD/Aコンバータ22が接続されており、D/Aコンバータ22にはインターフェース回路21が接続されている。そして、インターフェース回路21にバス6が接続されている。ここでは、画像データが、インターフェース回路21を介してD/Aコンバータ22に供給され、ここでアナログ画像信号に変換される。そして、アナログ画像信号がテレビジョンモニタ20に画像として出力される。
ここで、画像データには、たとえば、ポリゴンデータやテクスチャデータなどがある。ポリゴンデータはポリゴンを構成する頂点の座標データのことである。テクスチャデータは、ポリゴンにテクスチャを設定するためのものであり、テクスチャ指示データとテクスチャカラーデータとからなっている。テクスチャ指示データはポリゴンとテクスチャとを対応づけるためのデータであり、テクスチャカラーデータはテクスチャの色を指定するためのデータである。ここで、ポリゴンデータとテクスチャデータとには、各データの記憶位置を示すポリゴンアドレスデータとテクスチャアドレスデータとが対応づけられている。このような画像データでは、信号処理プロセッサ8により、ポリゴンアドレスデータの示す3次元空間上のポリゴンデータ(3次元ポリゴンデータ)が、画面自体(視点)の移動量データおよび回転量データに基づいて座標変換および透視投影変換されて、2次元空間上のポリゴンデータ(2次元ポリゴンデータ)に置換される。そして、複数の2次元ポリゴンデータでポリゴン外形を構成して、ポリゴンの内部領域にテクスチャアドレスデータが示すテクスチャデータが書き込まれる。
音声出力部4は、主に、記録媒体10から読み出される音声データを音声として出力するために設けられている。音声出力部4は、たとえば、スピーカー13と、増幅回路14と、D/Aコンバータ15と、インターフェース回路16とから構成されている。スピーカー13には増幅回路14が接続されており、増幅回路14にはD/Aコンバータ15が接続されており、D/Aコンバータ15にはインターフェース回路16が接続されている。そして、インターフェース回路16にバス6が接続されている。ここでは、音声データが、インターフェース回路16を介してD/Aコンバータ15に供給され、ここでアナログ音声信号に変換される。このアナログ音声信号が増幅回路14によって増幅され、スピーカー13から音声として出力される。音声データには、たとえば、ADPCM(Adaptive Differential Pulse Code Modulation)データやPCM(Pulse Code Modulation)データなどがある。ADPCMデータの場合、上述と同様の処理方法で音声をスピーカー13から出力することができる。PCMデータの場合、RAM12においてPCMデータをADPCMデータに変換しておくことで、上述と同様の処理方法で音声をスピーカー13から出力することができる。
操作入力部5は、主に、コントローラ17と、操作情報インターフェース回路18と、インターフェース回路19とから構成されている。コントローラ17には、操作情報インターフェース回路18が接続されており、操作情報インターフェース回路18にはインターフェース回路19が接続されている。そして、インターフェース回路19にバス6が接続されている。
コントローラ17は、プレイヤが種々の操作命令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をCPU7に送出する。そして、この操作信号に対応する命令が、CPU7から発行される。すると、この命令に対応する処理が、制御部1、記憶部2、画像表示部3、および音声出力部4の少なくともいずれか1つで処理部において実行される。
コントローラ17には、第1ボタン17a、第2ボタン17b、第3ボタン17c、第4ボタン17d、上方向キー17U、下方向キー17D、左方向キー17L、右方向キー17R、L1ボタン17L1、L2ボタン17L2、R1ボタン17R1、R2ボタン17R2、スタートボタン17e、セレクトボタン17f、左スティック17SL及び右スティック17SRが設けられている。
上方向キー17U、下方向キー17D、左方向キー17L及び右方向キー17Rは、例えば、キャラクタやカーソルをテレビジョンモニタ20の画面上で上下左右に移動させるコマンドをCPU7に与えるために使用される。
スタートボタン17eは、記録媒体10からゲームプログラムをロードするようにCPU7に指示するときや、実行中のゲームプログラムを一時停止するときなどに使用される。
セレクトボタン17fは、記録媒体10からロードされたゲームプログラムに対して、各種選択をCPU7に指示するときなどに使用される。
左スティック17SL及び右スティック17SRは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。このスティック型コントローラは、直立したスティックを有している。このスティックは、支点を中心として直立位置から前後左右を含む360°方向に亘って、傾倒可能な構成になっている。左スティック17SL及び右スティック17SRは、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とするx座標及びy座標の値を、操作信号として操作情報インターフェース回路18とインターフェース回路19とを介してCPU7に送出する。
第1ボタン17a、第2ボタン17b、第3ボタン17c、第4ボタン17d、L1ボタン17L1、L2ボタン17L2、R1ボタン17R1及びR2ボタン17R2には、記録媒体10からロードされるゲームプログラムに応じて種々の機能が割り振られている。
なお、左スティック17SL及び右スティック17SRを除くコントローラ17の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると中立位置に復帰してオフになるオンオフスイッチになっている。
通信部23は、通信制御回路24および通信インターフェース25を有している。通信制御回路24および通信インターフェース25は、ゲーム装置をサーバや他のゲーム装置等に接続するために用いられる。通信制御回路24および通信インターフェース25は、バス6を介してCPU7に接続されている。通信制御回路24および通信インターフェース25は、CPU7からの命令に応じて、ゲーム装置をインターネットに接続するための接続信号を制御し発信する。また、通信制御回路24および通信インターフェース25は、インターネットを介してゲーム装置をサーバや他のゲーム装置に接続するための接続信号を制御し発信する。
以上のような構成からなる家庭用ゲーム装置の概略動作を、以下に説明する。電源スイッチ(図示省略)がオンにされゲームシステムに電源が投入されると、CPU7が、記録媒体10に記憶されているオペレーティングシステムに基づいて、記録媒体10から画像データ、音声データ、およびプログラムデータを読み出す。読み出された画像データ、音声データ、およびプログラムデータの一部若しくは全部は、RAM12に格納される。そして、CPU7が、RAM12に格納されたプログラムデータに基づいて、RAM12に格納された画像データや音声データにコマンドを発行する。
画像データの場合、CPU7からのコマンドに基づいて、まず、信号処理プロセッサ8が、3次元空間上におけるキャラクタの位置計算および光源計算などを行う。次に、画像処理プロセッサ9が、信号処理プロセッサ8の計算結果に基づいて、描画すべき画像データのRAM12への書き込み処理などを行う。そして、RAM12に書き込まれた画像データが、インターフェース回路21を介してD/Aコンバータ22に供給される。ここで、画像データがD/Aコンバータ22でアナログ映像信号に変換される。そして、画像データはテレビジョンモニタ20に供給され画像として表示される。
音声データの場合、まず、信号処理プロセッサ8が、CPU7からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ8から出力されて、インターフェース回路16を介してD/Aコンバータ15に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路14を介してスピーカー13から音声として出力される。
〔ゲーム装置における各種処理概要〕
本ゲーム装置において実行されるゲームは、たとえば、野球ゲームである。本ゲーム装置では、投手キャラクタがボールを投球するゲームが、実現可能になっている。図2は、以下に示す、本発明で主要な役割を果たす機能を、説明するための機能ブロック図である。なお、以下の各手段は、主に制御部1において制御される。
領域設定手段50は、投手キャラクタの投球動作の対象となるミートゾーンを、ゲーム空間に設定する機能を備えている。また、領域設定手段50は、ミートゾーンを複数の投球エリアに分割する機能(領域分割機能)を、さらに備えている。
この手段では、投手キャラクタの投球動作の対象となるミートゾーンが、ゲーム空間に設定する処理が、CPU7により実行される。ここでは、ミートゾーンは、ストライクゾーンとボールゾーンとから構成されている。また、ミートゾーンは、ホームベースの上方位置、たとえば、ホームベースの重心上方の所定の高さの位置に、設定される。また、この手段では、ミートゾーンを複数の投球エリアに分割する処理が、CPU7により実行される。ここでは、ミートゾーンが、上下方向に5分割、左右方向に5分割されている。そして、ミートゾーンの中央部の「3×3」のエリアが、ストライクゾーンとなっており、その他のエリアがボールゾーンとなっている。
第1到達コース認識手段51は、ボールが投手キャラクタからリリースされたときに、ボールがミートゾーンに到達する位置を、第1到達コースとして認識する機能を備えている。また、第1到達コース認識手段51は、ボールが同じ投球コースに繰り返し到達した場合、後述する第2到達コースを、新規の第1到達コースとしてさらに認識する機能を備えている。
この手段では、ボールが投手キャラクタからリリースされると、ボールがミートゾーンに到達する位置が、第1到達コースとして、CPU7に認識される。詳細には、この場合、ボールがミートゾーンに到達する位置を示す位置座標データが、CPU7に認識され、この位置座標データが、第1到達コース用の位置座標データとして、RAM12に格納される。また、ボールが同じ投球コースに繰り返し到達した場合、後述する第2到達コースを示す位置座標データが、CPU7に認識され、この位置座標データが、新規の第1到達コース用の位置座標データとして、RAM12に格納される。
第1投球エリア認識手段52は、第1到達コースが含まれる投球エリアを、第1投球エリアとして認識する機能を備えている。
この手段では、第1到達コースが含まれる投球エリアが、第1投球エリアとして、CPU7に認識される。たとえば、第1到達コースが含まれる投球エリアを検出する処理が、CPU7により実行される。そして、ここで検出された投球エリアが、第1投球エリアとして、CPU7に認識される。そして、この第1投球エリアを特定するためのデータ、たとえばエリア用の第1識別データが、RAM12に格納される。
第1着弾点表示手段53は、第1到達コースに近づくボールの位置をミートゾーン上で報知するための第1着弾点を、テレビジョンモニタ20に表示する機能を備えている。
この手段では、第1到達コースに近づくボールの位置をミートゾーン上で報知するための第1着弾点が、テレビジョンモニタ20に表示される。たとえば、3次元ゲーム空間において投手キャラクタからボールがリリースされると、このボールがミートゾーンに到着する予想位置、すなわち第1着弾点が、第1着弾点用の画像データを用いて、ミートゾーン上に表示される。この画像データは、RAM12に予め格納されており、第1着弾点をテレビジョンモニタ20に表示するときに、RAM12から読み出される。
第2到達コース認識手段54は、ボールのリリース後、再度、ボールが投手キャラクタからリリースされたときに、ボールがミートゾーンに到達する位置を、第2到達コースとして認識する機能を備えている。また、第2到達コース認識手段54は、ボールが同じ投球コースに繰り返し到達し、その後に、ボールが異なるコースに到達する場合、異なるコースに到達するボールの位置を、新規の第2到達コースとしてさらに認識する機能を備えている。
この手段では、ボールのリリース後、再度、ボールが投手キャラクタからリリースされたときに、ボールがミートゾーンに到達する位置が、第2到達コースとして、CPU7に認識される。詳細には、この場合、ボールがミートゾーンに到達する位置を示す位置座標データが、CPU7に認識され、この位置座標データが、第2到達コース用の位置座標データとして、RAM12に格納される。また、ボールが同じ投球コースに繰り返し到達し、その後に、ボールが異なる投球コースに到達する場合、この投球コースを示す位置座標データが、CPU7に認識され、この位置座標データが、新規の第2到達コース用の位置座標データとして、RAM12に格納される。
第2投球エリア認識手段55は、第2到達コースが含まれる投球エリアを、第2投球エリアとして認識する機能を備えている。
この手段では、第2到達コースが含まれる投球エリアが、第2投球エリアとして、CPU7に認識される。たとえば、第2到達コースが含まれる投球エリアを検出する処理が、CPU7により実行される。そして、ここで検出された投球エリアが、第2投球エリアとして、CPU7に認識される。そして、この第2投球エリアを特定するためのデータ、たとえばエリア用の第2識別データが、RAM12に格納される。
第1位置関係判断手段56は、第1到達コースと第2到達コースとの間の距離が、所定の距離以上離れているか否かを、判断する機能を備えている。
この手段では、第1到達コースと第2到達コースとの間の距離が、所定の距離以上離れているか否かを判断する処理が、CPU7により実行される。詳細には、第1投球エリアを基準として第2投球エリアが所定のエリア数以上離れた領域に存在するか否かを判断する処理が、CPU7により実行される。
具体的には、第2投球エリアと第1投球エリアとの間の左右方向の第1エリア数と、第2投球エリアと第1投球エリアとの間の上下方向の第2エリア数とを計算する処理が、CPU7により実行される。そして、第1エリア数と第2エリア数とを合計する処理が、CPU7により実行される。すると、第1エリア数と第2エリア数とを合計した合計エリア数が、所定のエリア数以上であるか否かが、CPU7により判断される。ここで、合計エリア数が所定のエリア数以上であった場合、第1投球エリアを基準として第2投球エリアが所定のエリア数以上離れた領域に存在すると、判断される。一方で、合計エリア数が所定のエリア数未満であった場合、第1投球エリアを基準として第2投球エリアが所定のエリア数以上離れた領域に存在しないと、判断される。
第2位置関係判断手段57は、第1到達コースと第2到達コースとの間の距離が、所定の距離未満であった場合、第1到達コースと第2到達コースとが同じコースであるか否かを、判断する機能を備えている。
この手段では、第1到達コースと第2到達コースとの間の距離が、所定の距離未満であった場合、第1到達コースと第2到達コースとが同じコースであるか否かを判断する処理が、CPU7により実行される。詳細には、第1投球エリアを基準として第2投球エリアが所定のエリア数未満の領域に存在した場合、第2投球エリアが第1投球エリアと同じであるか否かを、判断する処理が、CPU7により実行される。
具体的には、第1エリア数と第2エリア数とを合計した合計エリア数が、所定のエリア数未満である場合、第2投球エリアが第1投球エリアと同じであるか否かを、判断する処理が、CPU7により実行される。ここで、第2投球エリアが第1投球エリアと同じであった場合、第1到達コースと第2到達コースとは同じコースであると、判断される。一方で、第2投球エリアが第1投球エリアと同じでなかった場合、第1到達コースと第2到達コースとは異なるコースではあるものの、第2到達コースは第1到達コースの影響を受けないコースであると、判断される。
回数設定手段58は、第2到達コースを新規の第1到達コースとして認識した回数を、計算することにより、この回数を、ボールが同じ投球エリアに到達した回数として設定する機能を備えている。
この手段では、第2到達コースを新規の第1到達コースとして認識した回数を、計算する処理が、CPU7により実行される。そして、この回数が、ボールが同じ投球エリアに到達した同エリア到達回数として、CPU7に認識され、RAM12に格納される。
第2着弾点表示手段59は、第1到達コースと第2到達コースとの間の距離が、所定の距離以上離れていた場合、第2到達コースに近づくボールの位置をミートゾーン上で報知するための第2着弾点を、第1着弾点とは異なる表示態様で、テレビジョンモニタ20に表示する機能を備えている。
この手段では、第1到達コースと第2到達コースとの間の距離が、所定の距離以上離れていた場合、第2到達コースに近づくボールの位置をミートゾーン上で報知するための第2着弾点が、第1着弾点とは異なる表示態様で、テレビジョンモニタ20に表示される。
たとえば、再度、3次元ゲーム空間において投手キャラクタからボールがリリースされたときに、第1到達コースと第2到達コースとの間の距離が、所定の距離以上離れていた場合、ボールがミートゾーンに到着する予想位置、すなわち第2着弾点が、第2着弾点用の画像データを用いて、ミートゾーン上に表示される。このとき、第2着弾点は、第1着弾点とは異なる表示態様で、テレビジョンモニタ20に表示される。この第2着弾点の表示態様は、第1着弾点の表示態様を基準として、設定される。
詳細には、第1投球エリアを基準として、第2投球エリアが所定のエリア数以上離れた領域に存在した場合、第2着弾点が、第1着弾点とは異なる表示態様で、テレビジョンモニタ20に表示される。具体的には、第1エリア数と第2エリア数とを合計した合計エリア数が、所定のエリア数以上である場合、第2着弾点が、第1着弾点とは異なる表示態様で、テレビジョンモニタ20に表示される。
ここで、第2着弾点の表示態様の設定は、空間的な設定と時間的な設定とから構成される。空間的な設定としては、第1エリア数および第2エリア数それぞれに重み付け処理を行うことによって、第1投球エリアと第2投球エリアとの距離が打者キャラクタに及ぼす影響を方向別に評価する処理が、CPU7により実行される。そして、ここで評価された結果に基づいて、第1着弾点の表示態様に対する第2着弾点の表示態様を設定する処理が、CPU7により実行される。また、ここでは、合計エリア数が増えるにつれて、第1着弾点の表示態様に対する第2着弾点の表示態様が大きく変化するように、第2着弾点の表示態様を設定する処理が、CPU7により実行される。
また、時間的な設定としては、同じ投球コースたとえば同じ投球エリアに繰り返し投球された後に、このコースとは異なるコースに投球された場合、新規の第2到達コースに近づくボールの位置をミートゾーン上で報知するための新規の第2着弾点が、新規の第1到達コースに近づくボールの位置をミートゾーン上で報知するための新規の第1着弾点とは異なる表示態様で、テレビジョンモニタ20にさらに表示される。この場合、同エリア到達回数が増えるにつれて、新規の第1着弾点の表示態様に対する新規の第2着弾点の表示態様が大きく変化するように、第2着弾点がテレビジョンモニタ20に表示される。
たとえば、合計エリア数が増えるにつれて、第1着弾点の大きさに対して第2着弾点の大きさがより小さくなるように、第2着弾点の表示態様が、CPU7により設定される。また、合計エリア数が増えるにつれて、ミートゾーンに第2着弾点が表示される表示タイミングが、ミートゾーンに第1着弾点が表示される表示タイミングより遅くなるように、第2着弾点の表示態様が、CPU7により設定される。なお、ここに示した第1着弾点および第2着弾点という文言は、新規の第1着弾点および新規の第2着弾点を含んだ文言である。
表示態様復帰手段60は、第2着弾点をテレビジョンモニタ20に表示した後に、投手キャラクタがボールをリリースする場合に、第2着弾点の表示態様を、第1着弾点と同じ表示態様に戻す機能を備えている。
この手段では、第2着弾点(新規の第2着弾点を含む)をテレビジョンモニタ20に表示した場合、投手キャラクタがボールをリリースする前に、第2着弾点の表示態様を、第1着弾点と同じ表示態様に変更する処理が、CPU7により実行される。詳細には、第2着弾点の大きさを、第1着弾点と同じ大きさに変更したり、第2着弾点の表示タイミングを、第1着弾点と同じ表示タイミングに変更したりする処理が、CPU7により実行される。具体的には、第1着弾点の画像データを、第2着弾点の画像データとして、CPU7に認識させることにより、第2着弾点の大きさが、第1着弾点と同じ大きさに変更される。また、第1着弾点の表示タイミングを規定するためのタイミングデータを、第2着弾点の表示タイミングを規定するためのタイミングデータとして、CPU7に認識させることにより、第2着弾点の表示タイミング、第1着弾点と同じ表示タイミングに変更される。なお、ここで用いられる画像データおよびタイミングデータは、RAM12に格納されている。
〔野球ゲームにおける投球組立反映システムの概要〕
次に、野球ゲームにおける投球組立反映システムの具体的な内容について説明する。また、図21および図22に示すフローについても同時に説明する。なお、図21は野球ゲームの全体概要を説明するためのフローであり、図22は上記システムを説明するためのフローである。
まず、ゲーム装置の電源が投入され、ゲーム装置が起動されると、野球ゲームプログラムが、記録媒体10からRAM12にロードされ格納される。このときには、野球ゲームを実行する上で必要となる各種の基本ゲームデータも、同時に、記録媒体10からRAM12にロードされ格納される(S1)。
たとえば、基本ゲームデータには、3次元ゲーム空間用の各種の画像に関するデータが含まれている。3次元ゲーム空間用の各種の画像に関するデータには、たとえば、各種のオブジェクトのモデルデータ、たとえば、スタジアム用のモデルデータ、選手キャラクタ用のモデルデータ、観客用のモデルデータ、およびボール用のモデルデータ等が、含まれている。また、基本ゲームデータには、3次元ゲーム空間用のモデルデータを3次元ゲーム空間に配置するための位置座標データが、含まれている。また、基本ゲームデータには、3次元ゲーム空間に配置されたモデル(オブジェクト)を、テレビジョンモニタ20に表示するための画像データが、含まれている。画像データは、3次元ゲーム空間に配置されたモデルを、仮想カメラにより撮影することにより、生成される。さらに、基本ゲームデータには、上記システムで用いられる各種のデータも、含まれている。
なお、各モデルは、各モデルに対して固有に設定される識別データを用いて、CPU7により管理される。言い換えると、この識別データをCPU7に認識させることによって、モデル(オブジェクト)が特定され、モデル用の画像データがRAM12から読み出される。
続いて、RAM12に格納された野球ゲームプログラムが、基本ゲームデータに基づいて、CPU7により実行される(S2)。すると、野球ゲームの起動画面がテレビジョンモニタ20に表示される。すると、野球ゲームを実行するための各種の設定画面がテレビジョンモニタ20に表示される。ここでは、たとえば、野球ゲームのプレイモードを選択するためのモード選択画面が、テレビジョンモニタ20に表示される(図示しない)。このモード選択画面において、プレイヤがコントローラ17を操作することにより、プレイモードが決定される(S3)。プレイモードには、たとえば、12球団の中からチームを選択して1試合の対戦を楽しむ対戦モード、12球団の中からチームを選択してペナントレースを戦うペナントモード、プレイヤが監督の立場でチームの選手キャラクタを育成する育成モード、プレイヤがある1人の選手キャラクタの立場になって野球ゲームを体感する成長体感モード等が、用意されている。
続いて、モード選択画面で選択されたプレイモードにおいて、各種のイベントが、CPU7により実行される(S4)。ここで実行される各種のイベントには、たとえば、自動制御プログラム(AIプログラム、Artificial Intelligence Program)に基づいてCPU7により自動制御されるイベントや、コントローラ17からの入力信号に基づいてプレイヤにより手動制御されるイベントがある。また、選手キャラクタの制御には、自動制御プログラムに基づいて選手キャラクタに命令を自動的に指示する自動制御や、コントローラ17からの入力信号に基づいて選手キャラクタに命令を直接的に指示する手動制御等がある。このように、本野球ゲームでは、コントローラ17からの指示や自動制御プログラムからの指示に応じて、イベントが制御されたり、選手キャラクタに命令が指示されたりするようになっている。
なお、ここに示す自動制御プログラムとは、プレイヤに代わって、イベントに関する命令および選手キャラクタに対する命令を自動的に制御するためのプログラムである。この自動制御プログラムは、ゲームプログラムにおいて予め用意されている。
続いて、選択されたプレイモードが終了したか否かが、CPU7により判断される(S5)。具体的には、プレイモードが終了したことを示す命令が発行されたか否かが、CPU7により判断される。そして、プレイモードが終了したことを示す命令が発行されたとCPU7により判断された場合(S5でYes)、ゲーム継続用のデータをRAM12に格納する処理が、CPU7により実行される。そして、ゲーム継続用のデータがRAM12に格納されると、この野球ゲームを終了するか否かを選択する選択画面が、テレビジョンモニタ20に表示される(S6)。そして、この選択画面において、プレイヤがコントローラ17を操作することにより、野球ゲームの終了を示す項目が選択されると(S6でYes)、野球ゲームを終了するための処理がCPU7により実行される(S7)。一方で、この選択画面において、プレイヤがコントローラ17を操作することにより、野球ゲームの継続を示す項目が選択されると(S6でNo)、ステップ3(S3)のモード選択画面が、テレビジョンモニタ20に再表示される。
なお、プレイモードが終了するための命令が発行されたとCPU7に判断されない限り(S5でNo)、モード選択画面で選択されたプレイモードにおいて、各種のイベントがCPU7により実行される(S4)。
次に、野球ゲームにおける投球組立反映システムの具体的な内容について説明する。
ここでは、試合中の対戦イベントの実行中に、本システムが機能する場合の例が、示される。また、以下では、あるチームをプレイヤが指揮し、相手チームをコンピュータが指揮する場合の例が示される。相手チームに関する命令、たとえば相手チームの設定に関する命令や相手チームの選手キャラクタに対する命令等は、AIプログラムに基づいて、CPU7により実行される。
まず、投手キャラクタと打者キャラクタとが対戦する対戦イベントが、実行されると、チームを設定するためのチーム設定画面が、テレビジョンモニタ20に表示される(図示しない)。そして、このチーム設定画面において、プレイヤがコントローラ17を操作することによって、自分が指揮するチーム(Aチーム)および対戦相手のチーム(Bチーム)が、選択される。すると、RAM12に格納されたチーム用の識別データIDTが、CPU7に認識される。この認識処理によって、プレイヤが指揮するチームと、このプレイヤのチームと対戦するチームとが、CPU7に認識され管理される。なお、チーム用の識別データIDTには、ゲームプログラムにおいて予め規定された所定の値が、割り当てられる。たとえば、Aチーム用の識別データIDTには、1が割り当てられ、Bチーム用の識別データIDTには、2が割り当てられる。このようなチーム用の識別データIDTは、RAM12に格納されており、たとえば、チームの特定時や、チームの情報の特定時等に、RAM12から読み出され、割り当てられる。
続いて、スターティングメンバーを設定するためのメンバー設定画面が、テレビジョンモニタ20に表示される(図示しない)。そして、このメンバー設定画面において、プレイヤがコントローラ17を操作することによって、スターティングメンバーが、選択される。また、この段階において、相手チームのスターティングメンバーも、選択される。各チームの複数の選手キャラクタそれぞれは、異なる識別データIDK(IDT)を有している。選手キャラクタが、プレイヤによる指示又はAIプログラムに基づいて選択されると、RAM12に格納された、選手キャラクタ用の識別データIDK(IDT)が、CPU7に認識される。この認識処理によって、各選手キャラクタが、CPU7に認識され管理される。なお、選手用の識別データIDK(IDT)には、ゲームプログラムにおいて予め規定された所定の値が、割り当てられている。この選手用の識別データIDK(IDT)は、RAM12に格納されており、たとえば、各選手キャラクタの特定時や、各選手キャラクタの情報の特定時等に、RAM12から読み出される。以下では、プレイヤが指揮するチーム(Aチーム)が後攻である場合を一例として、説明を行う。
続いて、試合開始命令がCPU7から発行され、試合イベントが開始されると(S401)、ミートゾーン70の設定が、CPU7により実行される(S402)。ミートゾーン70は、図3に示すように、ストライクゾーン71とボールゾーン72とから構成されている。ミートゾーン70の範囲、すなわちストライクゾーン71の範囲およびボールゾーン72の範囲は、3次元ゲーム空間において、所定の位置に設定されている。
たとえば、矩形状のミートゾーン70の4隅の位置座標データをCPU7に認識させることにより、ミートゾーン70が3次元ゲーム空間に設定される。また、矩形状のストライクゾーン71の4隅の位置座標データをCPU7に認識させることにより、ストライクゾーン71が3次元ゲーム空間に設定される。ここでは、ミートゾーン70の中央部にストライクゾーン71が配置されている。ボールゾーン72は、ミートゾーン70の境界とストライクゾーン71の境界との間の領域に対応し、ミートゾーン70の4隅の位置座標データとストライクゾーン71の4隅の位置座標データとに基づいて、定義される。具体的には、ミートゾーン70は、ホームベースの上方位置、たとえば、ホームベースの重心上方の所定の高さの位置に、配置される。
なお、ここでは、3次元ゲーム空間における水平面が、X軸およびY軸によって定義され、3次元ゲーム空間における垂直上方が、Z軸が向く方向に定義されている。また、原点、X軸が向く方向、およびY軸が向く方向は、ゲームプログラムにおいて予め規定されている。たとえば、ホームベースの重心を基準として、ホームベースの重心からセンターの中央に向かう方向を、Y軸とすると、上記のミートゾーン70は、XZ平面上に配置される。
また、ここでは、ミートゾーン70を複数の投球エリアに分割する処理が、CPU7により実行される。図3では、ミートゾーン70が、上下方向に5分割、左右方向に5分割されている。そして、ミートゾーン70の中央部の「3×3」のエリア(太線で囲んだエリア)が、ストライクゾーン71となっており、その他のエリアがボールゾーン72となっている。各投球エリアは、エリア用の識別データ(Ia,Ja)で識別される。ここでは、「Ia=2,3,4、Ja=2,3,4」で定義される範囲が、ストライクゾーン71に対応している。また、「Ia≠2,3,4、Ja≠2,3,4」で定義される範囲が、ボールゾーン72に対応している。
ここでは、上述したミートゾーン70の4隅の位置座標データに基づいて、ミートゾーン70を5つに等分割する処理を、CPU7に実行させることにより、各投球エリアの4隅の位置座標データが算出される。この4隅の位置座標データによって、各投球エリアの位置は定義される。また、各投球エリアの4隅の位置座標データに基づいて、各投球エリアの重心G(Ia,Ja)の位置座標データを算出する処理が、CPU7により実行される。なお、図3では、重心G(Ia,Ja)は、黒丸記号で記されている。
続いて、図4に示すように、対戦画面がテレビジョンモニタ20に表示される(S403)。たとえば、試合の対戦に関するモデル、たとえば、選手キャラクタ、球場、および観客等のようなモデル、たとえば各モデルデータを、3次元ゲーム空間に配置する処理が、CPU7により実行される。そして、各モデル(各モデルデータ)が3次元ゲーム空間に配置されると、図4に示すように、試合の対戦に関する画像、たとえば、選手キャラクタ、球場、および観客等のような画像が、各画像データを用いて、テレビジョンモニタ20に表示される。各画像データは、RAM12に格納されており、画像表示時に読み出される。なお、図4では、本発明で主要な役割を果たすキャラクタ、たとえば投手キャラクタおよび打者キャラクタのみを表し、他のキャラクタやオブジェクトは省略している。
また、図4に示すように、対戦画面では、ストライクゾーン71の画像も、画像データを用いて、テレビジョンモニタ20に表示される。なお、この画像データも、RAM12に格納されており、必要に応じて、ストライクゾーン71の表示時に読み出される。なお、図4では、ミートゾーン70を破線で示しているが、テレビジョンモニタ20に表示される領域は、ストライクゾーン71だけである。このことは、後述する図5についても同様である。
続いて、対戦画面がテレビジョンモニタ20に表示された状態において、プレイヤがコントローラ17を操作すると、コントローラ17の操作信号に対する、投球に関する命令が、投手キャラクタに対して指示される。たとえば、まず、プレイヤが、球種を選択するための操作を行うと、球種データがCPU7に認識され、球種が設定される。球種データには、球種ごとにRAM12に格納された所定の値が、CPU7により割り当てられる。次に、プレイヤが、投球モーションを開始するための操作を行うと、この操作に対応する信号がCPU7に認識され、投手キャラクタが投球モーションを開始する。すると、投手キャラクタの投球モーションが、画像データを用いて、テレビジョンモニタ20に表示される(S404)。
続いて、投手キャラクタが投球モーションを行っているときに、プレイヤが、目標の投球コース(目標投球コース)を設定するための操作を行うと、この操作に対応する信号がCPU7に認識される。すると、目標投球コースM0のカーソルが、初期位置であるミートゾーンの重心位置から、操作方向に移動する。そして、所定の時間が経過すると、目標投球コースM0のカーソルの位置が決定され、図6に示すように、目標投球コースM0がミートゾーン70上に設定される(S405)。すると、3次元ゲーム空間における目標投球コースM0の位置座標データが、CPU7に認識される。続いて、プレイヤが、投手キャラクタにボールをリリースさせるための操作を行うと、この操作に対応する信号がCPU7に認識され、ボールが投手キャラクタからリリースされる。このときに、3次元ゲーム空間におけるボールのリリースポイントの位置座標データが、CPU7に認識され、RAM12に格納される。
すると、球種データに含まれるボールの初速度データ、回転速度データ、および回転方向データと、目標投球コースM0の位置座標データと、ボールのリリースポイントの位置座標データと、リリースタイミングによって所定の値に設定される放出角度データ等とが、RAM12から読み出され、CPU7に認識される。そして、これらのデータを初期条件として用いることにより、ボールの軌道方程式を構成する各種変数を算出する処理が、CPU7により実行される。そして、ここで求めた各種変数をボールの軌道方程式に代入することによって、3次元ゲーム空間におけるボールの軌道が設定される。
なお、球種がストレートの場合には、上記のボールの軌道方程式がミートゾーン70(XZ平面)と交わる点(後述する第1到達コースM1)が、目標投球コースM0に一致するように修正される。すなわち、球種がストレートの場合には、目標投球コースM0と後述する第1到達コースM1とが同じ位置になる。
軌道方程式は、ボールの移動経路を特定するための方程式であるが、この軌道方程式を微分することによって、ボールの移動経路上の各位置におけるボールの移動速度を特定するための速度の方程式が算出される。この速度の方程式に基づいて、3次元ゲーム空間を移動するボールの速度は決定される。以下のボールの移動に関する説明において、ボールの移動速度について特別に記述を行わない場合は、この速度の方程式に基づいて、ボールの速度は決定される。
すると、ボールの軌道方程式によって規定されるボールの軌道が、ミートゾーン70(XZ平面)と交わる点を算出する処理が、CPU7により実行される。すると、ここで算出された点の位置座標データが、第1到達コースの位置座標データとして、CPU7に認識される。このようにして、第1到達コースM1(図6の四角記号を参照)が、ミートゾーン70に設定される(S406)。
なお、図6の第1到達コースM1は、球種が変化球の場合の例を示している。上述したように、球種がストレートの場合は、第1到達コースM1は、目標投球コースM0に一致する。
すると、第1到達コースM1が含まれる投球エリアを検出する処理が、CPU7により実行される。そして、ここで検出された投球エリアが、第1投球エリアE1として、CPU7に認識される(S407)。たとえば、複数の投球エリアそれぞれの重心の位置座標データと、第1到達コースM1の位置座標データとに基づいて、第1到達コースM1に最も近い投球エリアの重心G’(Ia’,Ja’)を検出する処理が、CPU7により実行される。また、この重心G’(Ia’,Ja’)のエリア用の識別データ(Ia’,Ja’)が、RAM12に格納される。そして、この重心G’(Ia’,Ja’)を有する投球エリアが、第1投球エリアE1として、CPU7に認識される。すなわち、ここで検出された重心G’(Ia’,Ja’)に対応するエリア用の識別データ(Ia’,Ja’)を、CPU7に認識させることにより、第1投球エリアE1が特定される。
ここで、第1到達コースM1に最も近い投球エリアの重心G’(Ia’,Ja’)の算出方法を、より詳細に説明すると、たとえば、複数の投球エリアの重心G(Ia,Ja)それぞれの位置と第1到達コースM1の位置との距離K(Ia,Ja)が、計算される。そして、複数の距離K(Ia,Ja)の中から最小の距離K’(Ia’,Ja’)が、検出される。そして、第1到達コースM1の位置から距離K’(Ia’,Ja’)を隔てた位置に存在する重心、すなわち距離K’(Ia’,Ja’)に対応するエリア用の識別データ(Ia’,Ja’)を、CPU7に認識させることにより、第1到達コースM1に最も近い投球エリアの重心G’(Ia’,Ja’)が決定され、第1投球エリアE1が特定される。
続いて、投手キャラクタからリリースされたボールを、軌道方程式によって規定される軌道上で移動させる処理が、CPU7により実行される。ここで、3次元ゲーム空間においてボールが軌道上を移動しているときには、1フレーム毎に、このボールの位置を、XZ平面(ミートゾーン70が含まれる)に投影する処理が、CPU7により実行される。すると、XZ平面に投影されたボールの位置座標データ、すなわち、3次元ゲーム空間を移動しているボールの位置に対応するミートゾーン70上のボールの位置座標データが、CPU7に認識される。
すると、3次元ゲーム空間を移動するボールの位置を報知するボールBの画像(図5を参照)と、3次元ゲーム空間を移動するボールをミートゾーン70に投影した位置を報知する第1着弾点C1(第1報知子、図7を参照)とが、各画像データを用いて、テレビジョンモニタ20に表示される(S408)。ここでは、第1着弾点C1は、投手キャラクタからボールがリリースされた時点で、図7に示すように、目標投球コースM0の位置において、テレビジョンモニタ20に表示される。第1着弾点C1の表示タイミングを規定するための第1時間データQ1の初期値は、0(ゼロ)に設定されている。なお、この初期条件としての第1時間データQ1は、ゲームプログラムにおいて予め規定されており、RAM12に格納されている。
ここで、ボールBの画像は、投手キャラクタからリリースされたボールに対応し、第1着弾点C1は、ボールがミートゾーン70に到達する予想位置に対応する。また、投手キャラクタからボールがリリースされると、投手キャラクタからリリースされたボールBが、第1到達コースM1に近づくにつれて、第1着弾点C1は、目標投球コースM0から第1到達コースM1に近づく。このような状態の画像が、各画像データを用いて、テレビジョンモニタ20に表示される。
なお、第1着弾点C1の大きさは、所定の大きさに設定されている。具体的には、着弾点C1が円である場合、第1着弾点C1の半径が、所定の大きさに設定されている。すなわち、第1着弾点C1の半径データR1(初期データ)は、ゲームプログラムにおいて予め所定の値に設定されており、RAM12に格納されている。
続いて、上記の投球結果が、所定の結果、たとえば見送り(三振を除く)、空振り(三振を除く)、およびファールのいずれかであるか否かが、CPU7により判断される(S409)。そして、この投球結果が所定の結果であった場合(S409でYes)、まず、ボールが同じ投球コースに繰り返し到達した回数に対応する、同エリア到達回数データDI(初期値は0)が、CPU7により参照され認識される(S410)。そして、同エリア到達回数データDIが0であるか否かが、CPU7により判断される(S411)。そして、同エリア到達回数データDIが0であった場合(S411でYes)、この状態においてプレイヤがコントローラ17を再び操作すると、コントローラ17の操作信号に対する、投球に関する命令が、投手キャラクタに対して再び指示される。すると、上記の処理と同様の処理によって、たとえば、図8に示すように、目標投球コースM0が、ミートゾーン70上に、CPU7により設定される(S412)。そして、上記の処理と同様の処理によって、第2到達コースM2が、ミートゾーン70上に、CPU7により設定される(S413)。すると、上記の処理と同様の処理によって、第2到達コースM2が含まれる投球エリアが、第2投球エリアE2として、CPU7により設定される(S414)。たとえば、第2投球エリア用の識別データ(Ia”,Ja”)をCPU7に認識させることにより、第2投球エリアE2が特定される。
ここで、同エリア到達回数データDIの値が0であった場合(S411でYes)、すなわち、あるコースに初めて投球された場合(同じ投球エリアに繰り返し投球されていない場合)、第1投球エリアE1を基準として第2投球エリアE2が所定のエリア数以上離れた領域に存在するか否かが、CPU7により判断される(S415)。
具体的には、まず、第2投球エリアE2と第1投球エリアE1との間の左右方向の第1エリア数NE1(DI)と、第2投球エリアE2と第1投球エリアE1との間の上下方向の第2エリア数NE2(DI)との合計を計算する処理が、CPU7により実行される。ここでは、第1エリア数NE1(DI)および第2エリア数NE2(DI)は、第1投球エリアE1のエリア用の識別データ(Ia’,Ja’)および第2投球エリアE2のエリア用の識別データ(Ia”,Ja”)を用いて、計算される(図9を参照)。
たとえば、第2投球エリアE2のエリア用の識別データIa”から、第1投球エリアE1のエリア用の識別データIa’を減算する。そして、この減算結果の絶対値から1をさらに減算する。すると、この減算結果(=|Ia”−Ia’|−1)が、第1エリア数NE1(DI)として、割り当てられる。また、第2投球エリアE2のエリア用の識別データJa”から、第1投球エリアE1のエリア用の識別データJa’を減算する。そして、この減算結果の絶対値から1をさらに減算する。すると、この減算結果(=|Ja”−Ja’|−1)が、第2エリア数NE2(DI)として、割り当てられる。なお、ここでは、左右方向の投球エリアと上下方向の投球エリアとが重複する部分を除くために、第1エリア数NE1(DI)および第2エリア数NE2(DI)それぞれから、1を減算している。
すると、第1エリア数NE1(DI)と第2エリア数NE2(DI)との合計に、重複部分のエリア数である1を加算する処理が、CPU7により実行される。すると、第2投球エリアE2と第1投球エリアE1との間の合計エリア数(=NE1(DI)+NE2(DI)+1)が算出される。すると、合計エリア数NGが、所定のエリア数以上であるか否かが、CPU7により判断される。
たとえば、ここでは、合計エリア数NGが3個以上であるか否かが、CPU7により判断され(S415)、合計エリア数NGが3個以上であった場合(NG≧3、S415でYes)、第1投球エリアE1を基準として第2投球エリアE2が所定のエリア数以上離れた領域に存在すると、判断される。具体的には、図9では、合計エリア数NGが3個以上であるエリアを、破線で示している。図9において破線で示されたエリアに、第2投球エリアE2が存在する場合が、第1投球エリアE1を基準として第2投球エリアE2が所定のエリア数以上離れた領域に存在すると、判断される。
この場合(S415でYesの場合)は、あるコースに初めて投球された後に、異なる投球エリア(第1投球エリアE1から所定のエリア数NE離れた第2投球エリアE2)に、ボールが投球された場合に相当する。そして、この場合、第1エリア数NE1(DI)および第2エリア数NE2(DI)それぞれに対して、空間的な重み付け処理および時間的な重み付けを行う処理が、CPU7により実行される。これにより、第1投球エリアE1と第2投球エリアE2との距離が打者キャラクタに及ぼす影響が、方向別に評価される(S416)。
ここでは、この影響は、第1影響係数EE1(DI)および第2影響係数EE2(DI)を用いて評価される。第1影響係数EE1(DI)は、着弾点の大きさを調整するためのものである。また、第2影響係数EE2(DI)は、着弾点の表示タイミングを調整するためのものである。
具体的には、第1影響係数EE1(DI)は、次のようにして算出される。まず、第1エリア数NE1(DI)に対して第1重み付け係数A1を、第2エリア数NE2(DI)に対して第2重み付け係数A2を乗じ、これらの乗算結果それぞれを加算する。次に、この加算結果を、基準化係数Smaxを用いて、基準化する。基準化係数Smaxは、「Smax=NE1_max+NE2_max」式で、表現される。ここで、NE1_maxは、第1エリア数NE1(DI)がとりうる最大値であり、NE2_maxは、第2エリア数NE2(DI)がとりうる最大値である。ここでは、「NE1_max=Ia_max−Ia_min−1=5−1−1=3、NE2_max=Ja_max−Ja_min−1=5−1−1=3」となる。次に、この基準化された式に、第3重み付け係数A3(DI)を乗じる。この乗算結果が、第1影響係数EE1(DI)として設定される。すなわち、第1影響係数EE1(DI)は、「E1(DI)=α×{(A1×NE1(DI)+A2×NE2(DI))/Smax}×A3(DI)」式で、表現される。
なお、Smaxでは、左右方向の投球エリアと上下方向の投球エリアとが重複する部分を除くために、各方向の値から1を減算している。αは、着弾点の最小の大きさを修正するための修正係数であり、ゲームプログラムにおいて予め所定の値に設定される。ここでは、αは、0.5に設定されている。
また、第2影響係数EE2(DI)は、次のようにして算出される。まず、第1エリア数NE1(DI)に対して第1重み付け係数A1を、第2エリア数NE2(DI)に対して第2重み付け係数A2を乗じ、これらの乗算結果それぞれを加算する。次に、この加算結果を、基準化係数Smaxを用いて、基準化する。次に、この基準化された式に、第4重み付け係数A4(DI)を乗じる。この乗算結果が、第2影響係数EE2(DI)として設定される。すなわち、第2影響係数EE2(DI)は、「E2(DI)={(A1×NE1(DI)+A2×NE2(DI))/Smax}×A4(DI)」式で、表現される。
なお、第1重み付け係数A1、および第2重み付け係数A2は、ゲームプログラムにおいて予め規定されている。すなわち、第1重み付け係数A1および第2重み付け係数A2には、所定の値が割り当てられる。また、第3重み付け係数A3(DI)および第4重み付け係数A4(DI)は、同エリア到達回数データDIに応じて変化する関数である。たとえば、第3重み付け係数A3(DI)および第4重み付け係数A4(DI)には、同エリア到達回数データDIに応じて増加する所定の関数が、割り当てられる(後述する図11を参照)。ここでは、第3重み付け係数A3(DI)および第4重み付け係数A4(DI)には、同じ関数が用いられているが、第3重み付け係数A3(DI)および第4重み付け係数A4(DI)それぞれを、異なる関数にしても良い。
ここで、第1影響係数EE1(DI)および第2影響係数EE2(DI)の詳細説明を行っておく。たとえば、空間の影響を評価する項を「S(DI)={(A1×NE1(DI)+A2×NE2(DI))/Smax}」と表現し、時間(同じコースに投球された回数)の影響を評価する項を「T(DI)=A3(DI)」と表現した場合、上記の第1影響係数EE1(DI)は、「EE1(DI)=α×{(A1×NE1(DI)+A2×NE2(DI))/Smax}×A3(DI)=α×S(DI)×T(DI)」と表現される。また、同様に、時間(同じコースに投球された回数)の影響を評価する項を「T(DI)=A4(DI)」と表現することによって、上記の第2影響係数EE2(DI)は、「E2(DI)={(A1×NE1(DI)+A2×NE2(DI))/Smax}×A4(DI)=S(DI)×T(DI)」と表現される。
ここでは、説明を容易にするために、A1およびA2が1であり、同エリア到達回数データDIが0である場合の例を用いて、第1影響係数EE1(DI)の算出方法を、具体的に示す。1球目の第1投球エリアE1が(2,4)、2球目の第2投球エリアE2が(5,1)である場合(図6、図8、および図9を参照)、空間項S(0)は、図10のように、「2/3(=4/6)」となる。また、図11に示すように、時間項T(0)の値は1.0であるので、第1影響係数EE1(0)(=α×S(0)×T(0))は、図12に示すように、「1/3(=0.5×2/3×1.0)」となる。このようにして、第1影響係数EE1(0)が算出される。また、第2影響係数EE2(DI)の算出方法を示すと、空間項S(0)は、図10のように「2/3」であり、時間項T(0)は、図11のように1.0であるので、第2影響係数EE2(0)(=S(0)×T(0))は、図13に示すように、「2/3」となる。このようにして、第2影響係数EE2(0)が算出される。
すると、ここで評価された結果に基づいて、第1着弾点C1の大きさに対する第2着弾点C2の表示態様を設定する処理が、CPU7により実行される(S417)。たとえば、この評価結果に基づいて、第1着弾点C1の大きさに対する第2着弾点C2の大きさを設定する処理が、CPU7により実行される。詳細には、第1影響係数EE1(DI)を用いて、第2着弾点C2の大きさを設定する処理が、CPU7により実行される。たとえば、第1着弾点C1の半径データR1から、第1影響係数EE1(DI)を減算することによって、第2着弾点C2の半径データR2(=R1−EE1(DI))が、算出される。すると、第1着弾点C1の半径データR1に対する第2着弾点C2の半径データR2の比(=R2/R1)で、第2着弾点C2の画像データが縮小される。このようにして、第2着弾点C2の大きさが、設定される。
図14は、ここで設定された第2着弾点C2の大きさを、たとえば、第2着弾点C2の半径データR2(=R1−EE1(DI))を用いて表したものである。図14には、第1着弾点C1の半径データR1を1とした場合の、第2着弾点C2の半径データR2を、示している。たとえば、同エリア到達回数データDIが0である場合は、第2着弾点C2の半径データR2は、「2/3(=R1−EE1(0)=1−1/3)」となる。なお、図14は、同エリア到達回数データDIと第2着弾点C2の半径R2との関係を示した図でもある。図14の条件は、図10から図13と同じである。
ここで、たとえば、A1およびA2が1であり、合計エリア数NGが3個以上である場合、合計エリア数NGとS(DI)との関係は、図15のような関係となる。この図15における値が、図10におけるS(DI)の値として用いられる。なお、図10に示したS(DI)の値は、合計エリア数NGが5である場合の例である。
また、図15に基づいて、合計エリア数NGと第2着弾点C2の半径データR2との関係を、上述したように計算すると、図16に示す関係が導出される。図16では、合計エリア数NGが大きくなるにつれて、第2着弾点C2の半径データR2は小さくなっている。このように、合計エリア数NGが増えるにつれて、第2着弾点C2の大きさが徐々に小さくなるような、第2着弾点C2の表示形態が、設定される。なお、図16において、合計エリア数NGが5の場合の第2着弾点C2の半径データR2が、図14におけるDIが0の場合の第2着弾点C2の半径データR2に対応している。
また、第2影響係数EE2(DI)を用いて、第2着弾点C2の表示タイミングを設定する処理が、CPU7により実行される。たとえば、第1着弾点C1の表示タイミングを規定するために第1時間データQ1(=0)に、第2影響係数EE2(DI)を加算することによって、第2着弾点C2の表示タイミングを規定するための第2時間データQ2(=Q1+EE2(DI))が、算出される。このようにして、第2着弾点C2の表示タイミング用の第2時間データQ2が、設定される。
図17は、同エリア到達回数データDIと第2時間データQ2との関係を示した図である。図17の条件は、図10から図13と同じである。図17には、第1時間データQ1を0とした場合の、第2時間データQ2の値を示している。
ここで、たとえば、A1およびA2が1であり、合計エリア数NGが3個以上である場合、合計エリア数NGとS(DI)との関係は、上記の図15のような関係となる。この図15に基づいて、合計エリア数NGと第2時間データQ2との関係を計算すると、図18に示す関係が導出される。図18では、合計エリア数NGが大きくなるにつれて、第2時間データQ2は大きくなっている。このように、合計エリア数NGが増えるにつれて、第2着弾点C2の表示タイミングが徐々に遅くなるような、第2着弾点C2の表示形態が、設定される。なお、図18において、合計エリア数NGが5の場合の第2着弾点C2の第2時間データQ2が、図17におけるDIが0の場合の第2着弾点C2の第2時間データQ2に対応している。
上記のように、第2到達コースM2に近づくボールの位置をミートゾーン70上で報知するための第2着弾点C2の表示態様、たとえば第2着弾点C2の大きさおよび表示タイミングが、CPU7により設定される(S417)。なお、第2着弾点C2の表示態様は、第1着弾点C1の表示態様を基準として、設定されている。
一方で、同エリア到達回数データDIが1以上であった場合(S411でNo)、すなわち同じ投球エリアに繰り返し投球された場合に、プレイヤがコントローラ17を再び操作すると、コントローラ17の操作信号に対する、投球に関する命令が、投手キャラクタに対して再び指示される。すると、上記の処理と同様の処理によって、目標投球コースM0が、ミートゾーン70上に、CPU7により設定される(S418)。そして、上記の処理と同様の処理によって、今回のボールの到達コースがミートゾーン70に設定され、このボールの到達コースが、新規の第2到達コースM2’として、ミートゾーン70に設定される(図19を参照、S419)。すると、上記の処理と同様の処理によって、新規の第2到達コースM2’が含まれる投球エリアが、新規の第2投球エリアE2’として、CPU7に認識される(S420)。たとえば、新規の第2投球エリアE2’を特定するためのエリア用の識別データ(Ia”,Ja”)をCPU7に認識させることにより、新規の第2投球エリアE2’が特定される。なお、この場合、新規の第1到達コースM1’および新規の第1投球エリアE1’は、後述するステップ423およびステップ424(S423、S424)において、設定済みである。
続いて、新規の第1投球エリアE1’を基準として新規の第2投球エリアE2’が所定のエリア数以上離れた領域に存在するか否かが、CPU7により判断される(S415)。たとえば、上記の処理と同様の処理によって、第1エリア数NE1(DI)と第2エリア数NE2(DI)とを合計した合計エリア数NGが、CPU7により算出される。すると、合計エリア数NGが、所定のエリア数以上であるか否かが、CPU7により判断される。たとえば、ここでは、合計エリア数NGが3個以上であった場合(S415でYes)、新規の第1投球エリアE1’を基準として新規の第2投球エリアE2’が所定のエリア数以上離れた領域に存在すると、判断される。
この場合(S415でYesの場合)において、たとえば、同じ投球エリアに繰り返し投球された後に、異なる投球エリア(新規の第1投球エリアE1’から所定のエリア数離れた新規の第2投球エリアE2’)に、ボールが投球されたときには、第1エリア数NE1(DI)および第2エリア数NE2(DI)それぞれに対して、空間的な重み付け処理および時間的な重み付けを行う処理が、CPU7により実行される。これにより、新規の第1投球エリアE1’と新規の第2投球エリアE2’との距離が打者キャラクタに及ぼす影響が、方向別に評価される。ここでは、この影響は、第1影響係数EE1(DI)および第2影響係数EE2(DI)を用いて評価される。第1影響係数EE1(DI)および第2影響係数EE2(DI)は、上記の処理と同様の処理によって、設定される。
ここでは、説明を容易にするために、A1およびA2が1であり、DIが1である場合の例を用いて、第1影響係数EE1(DI)の算出方法を、具体的に示す。1球目の投球エリアと2球目の投球エリアとが(2,4)、3球目の投球エリアが(5,1)である場合、空間項S(1)は、図10のように、「2/3」である。また、図11を参照すると、時間項T(1)の値は1.1であるので、第1影響係数EE1(1)(=S(1)×T(1))は、「11/30(=1.1/3)」となる(図12を参照)。このようにして、第1影響係数EE1(1)が算出される。また、第2影響係数EE2(DI)の算出方法を示すと、空間項S(1)は、図10のように、「2/3」である。また、図11を参照すると、時間項T(1)の値は1.1であるので、第2影響係数EE2(1)(=S(1)×T(1))は、図13に示すように、「22/30(=2.2/3)」となる。このようにして、第2影響係数EE2(1)が算出される。
すると、ここで評価された結果に基づいて、新規の第1着弾点C1の大きさに対する新規の第2着弾点C2の表示態様を設定する処理が、CPU7により実行される(S417)。たとえば、ここで評価された結果に基づいて、新規の第1着弾点C1の大きさに対する新規の第2着弾点C2の大きさを設定する処理が、CPU7により実行される。詳細には、第1影響係数EE1(DI)を用いて、新規の第2着弾点C2の大きさを設定する処理が、CPU7により実行される。たとえば、新規の第1着弾点C1の半径データR1から、第1影響係数EE1(DI)を減算することによって、新規の第2着弾点C2の半径データR2(=R1−EE1(DI))が、算出される。すると、新規の第1着弾点C1の半径データR1に対する新規の第2着弾点C2の半径データR2の比(=R2/R1)で、新規の第2着弾点C2の画像データが縮小される。このようにして、新規の第2着弾点C2の大きさが、設定される。
図14には、同エリア到達回数データDIと新規の第2着弾点C2の半径R2との関係も示されている。たとえば、DIが1である場合、すなわち1回同じコースに投球された後に、異なる投球エリアにボールが投球された場合は、図14におけるDIが1である場合の半径データR2(=1−11/30=19/30)を用いて、第2着弾点C2の大きさが定義される。
また、第2影響係数EE2(DI)を用いて、新規の第2着弾点C2の表示タイミングを設定する処理が、CPU7により実行される。たとえば、新規の第1着弾点C1の表示タイミングを規定するために第1時間データQ1に、第2影響係数EE2(DI)を加算することによって、新規の第2着弾点C2の表示タイミングを規定するための第2時間データQ2(=Q1+E2(DI))が、算出される。このようにして、新規の第2着弾点C2の表示タイミング用の第2時間データQ2が、設定される。
図17には、同エリア到達回数データDIと新規の第2時間データQ2との関係も示されている。たとえば、DIが1である場合、すなわち1回同じコースに投球された後に、異なる投球エリアにボールが投球された場合は、図17におけるDIが1である場合の第2時間データQ2(=0+22/30=22/30)を用いて、第2着弾点C2の表示タイミングが、設定される。
ここで、複数回、同じコースに投球された場合における、合計エリア数NGとS(DI)との関係は、上記の図15と同じである。このため、この図15の値を用いて、第2着弾点の半径データR2を求めると、合計エリア数NGに対する半径データR2は、上記の図16と同じになる。すなわち、この場合においても、合計エリア数NGが増えるにつれて、第2着弾点C2の大きさが徐々に小さくなるような、第2着弾点C2の表示形態を、設定することができる。また、同様に、このS(DI)に基づいて、第2着弾点C2の第2時間データQ2を算出すると、図18に示すように、合計エリア数NGが増えるにつれて、第2着弾点C2の表示タイミングが徐々に遅くなるような、第2着弾点C2の表示形態を、設定することができる。
このようにして、新規の第2到達コースM2’に近づくボールの位置をミートゾーン70上で報知するための新規の第2着弾点C2の表示態様、たとえば新規の第2着弾点C2の大きさおよび表示タイミングが、CPU7により設定される(S417)。なお、新規の第2着弾点C2の表示態様は、新規の第1着弾点C1の表示態様を基準として、設定される。
すると、3次元ゲーム空間を移動するボールの位置を報知するボールBの画像と、3次元ゲーム空間を移動するボールをミートゾーン70に投影した位置を報知する第2着弾点C2(第2報知子、図20を参照)とが、各画像データを用いて、新規の第2着弾点C2の表示態様で、テレビジョンモニタ20に表示される(S421)。ここでは、第2着弾点C2は、投手キャラクタからボールがリリースされた時点から第2時間データQ2が経過したときに、第1着弾点C1より小さな大きさで、テレビジョンモニタ20に表示される。
ここで、ボールBの画像は、投手キャラクタからリリースされた3次元ゲーム空間のボール位置の報知画像に対応し、第2着弾点C2の画像は、ボールがミートゾーン70に到達する予想位置の報知画像に対応する。これにより、投手キャラクタからリリースされたボールBが、第2到達コースM2に近づくにつれて、第2着弾点C2も第2到達コースM2に近づく状態の画像が、テレビジョンモニタ20に表示される。
なお、上記では、第1影響係数EE1(DI)および第2影響係数EE2(DI)を規定するための重み付け係数A1,A2が1である場合の例を示したが、A1,A2の値は、どのように設定しても良い。また、上記では、半径データR1を1とした場合の半径データR2を示しているので、半径データR1を、1とは異なる値に設定した場合は、この半径データR1の値に応じて半径データR2の値も変化する。このため、ここでは、単位については明記していない。また、時間データQ1,Q2については、たとえば、秒(sec)が単位として用いられる。
続いて、同エリア到達回数データDIの値が0であった場合(S411でYes)、又は同エリア到達回数データDIの値が1以上であった場合(S411でNo)において、合計エリア数NGが3個未満であった場合(S415でNo)、第1投球エリアE1を基準として第2投球エリアE2が所定のエリア数以上離れた領域に存在しないと、判断される。この場合、第1到達コースM1と第2到達コースM2とが同じコースであるか否かが、CPU7により判断される(S422)。たとえば、合計エリア数NGが3個未満であった場合、第2投球エリアE2が第1投球エリアE1と同じであるか否かが、CPU7により判断される。より具体的には、合計エリア数NGが−1であるか否かが、CPU7により判断される(S422)。そして、合計エリア数NGが−1である場合(S422でYes)、第2投球エリアE2が第1投球エリアE1と同じであると判断される。言い換えると、この場合、第1到達コースM1と第2到達コースM2とが同じコースであると、判断される。
すなわち、ボールが同じ投球コースに繰り返し到達した場合、この第2到達コースM2を示す位置座標データが、CPU7に認識される。そして、この位置座標データが、既存の第1到達コースM1の位置座標データに上書きされ、新規の第1到達コースM1’の位置座標データとして、RAM12に格納される(S423)。また、上記の処理と同様の処理によって、新規の第1到達コースM1’が含まれる投球エリアが、新規の第1投球エリアE1’として、CPU7に認識される(S424)。たとえば、新規の第1投球エリアE1’を特定するためのエリア用の識別データ(Ia’,Ja’)をCPU7に認識させることにより、新規の第1投球エリアE1’が特定される。
すると、第2到達コースM2を新規の第1到達コースM1として認識した回数に対応する同エリア到達回数データDI(初期値は0)をインクリメントする処理が、CPU7により実行される(S425)。そして、この同エリア到達回数データDIは、RAM12に格納される。
すると、ステップ421(S421)の処理が、CPU7により実行される。すると、ボールBの画像と第2着弾点C2とが、各画像データを用いて、テレビジョンモニタ20に表示される(図示しない)。この場合も、投手キャラクタからリリースされたボールが、第2到達コースM2に近づくにつれて、第2着弾点C2も第2到達コースM2に近づく状態の画像が、テレビジョンモニタ20に表示される。しかしながら、ステップ427(S427)後のステップ421(S421)では、第2着弾点C2は、第1着弾点C1とは同じ表示態様で、テレビジョンモニタ20に表示される。
なお、同エリア到達回数データDIが示す値は、ボールが同じ投球エリアに到達した回数、すなわちボールが同じコースに投球されたときに、打者キャラクタが受ける影響の蓄積回数に相当する。
また、第1到達コースM1と第2到達コースM2とが同じコースでなかった場合(S422でNo)、たとえば合計エリア数NGが0、1、2のいずれかであった場合、第1到達コースM1と第2到達コースM2とは異なるコースではあるものの、第2到達コースM2は第1到達コースM1の影響を受けないコースであると、判断される。なお、合計エリア数NGが、0の場合は、第1投球エリアE1,E1’および第2投球エリアE2,E2’が隣接する場合に相当する。
この場合、第2到達コースM2を示す位置座標データが、CPU7に認識される。そして、この位置座標データが、既存の第1到達コースM1の位置座標データに上書きされ、次の投球時の第1到達コースM1の位置座標データとして、RAM12に格納される(S426)。また、上記の処理と同様の処理によって、この第1到達コースM1が含まれる投球エリアが、次の投球時の第1投球エリアE1として、CPU7に認識される(S427)。たとえば、次の投球時の第1投球エリアE1を特定するためのエリア用の識別データ(Ia,Ja)をCPU7に認識させることにより、次の投球時の第1投球エリアE1が特定される。なお、この場合は、同エリア到達回数データDIをインクリメントする処理は、実行されない。
すると、ステップ421(S421)の処理が、CPU7により実行される。すると、ボールBの画像と第2着弾点C2とが、各画像データを用いて、テレビジョンモニタ20に表示される(図示しない)。この場合も、投手キャラクタからリリースされたボールが、第2到達コースM2に近づくにつれて、第2着弾点C2も第2到達コースM2に近づく状態の画像が、テレビジョンモニタ20に表示される。しかしながら、ステップ427(S427)後のステップ421(S421)では、第2着弾点C2は、第1着弾点C1とは同じ表示態様で、テレビジョンモニタ20に表示される。
続いて、ステップ421(S421)において第2着弾点C2がテレビジョンモニタ20に表示されると、第2着弾点C2(新規の第2着弾点C2を含む)の表示態様を、第1着弾点C1(新規の第1着弾点C1を含む)と同じ表示態様に変更する処理が、CPU7により実行される(S428)。たとえば、第2着弾点C2の大きさを、第1着弾点C1と同じ大きさに変更し、第2着弾点C2の表示タイミングを、第1着弾点C1と同じ表示タイミングに変更する処理が、CPU7により実行される。
より具体的には、第1着弾点C1の画像データを、第2着弾点C2の画像データとして、CPU7に認識させることにより、第2着弾点C2の大きさが、第1着弾点C1と同じ大きさに変更される。また、第1着弾点C1の表示タイミングを規定するためのタイミングデータを、第2着弾点C2の表示タイミングを規定するためのタイミングデータとして、CPU7に認識させることにより、第2着弾点C2の表示タイミング、第1着弾点C1と同じ表示タイミングに変更される。なお、ステップ421(S421)において、新規の第2着弾点C2が表示された場合は、ステップ428(S428)において、同エリア到達回数データDIが初期化される。
続いて、上記のステップ409(S409)の処理が、CPU7により再実行される。すなわち、投球結果が所定の結果であるか否かが、CPU7により再び判断される。そして、投球結果が所定の結果でなかった場合(S409でNo)、試合イベントが終了したか否かが、CPU7により判断される(S429)。そして、試合イベントが終了していない場合(S429でNo)、ステップ402(S402)の処理が、CPU7により実行される。すなわち、次の打者キャラクタとの対戦が、開始される。一方で、試合イベントが終了した場合(S429でYes)、試合結果のデータやゲーム継続用のデータ等を保存する命令が、CPU7から発行される。すると、これらのデータが、RAM12に格納され、試合イベントが終了する。
上記のような本実施形態では、投手キャラクタがリリースしたボールの第1到達コースM1と、投手キャラクタがリリースしたボールの第2到達コースM2とが所定の距離以上離れている場合、打者キャラクタが、ボールの第1到達コースM1を意識しながら、ボールの第2到達コースM2を見極めるときの状態を、第1着弾点C1に対する第2着弾点C2の表示態様の変化によって、再現することができる。すなわち、現実世界において、投手キャラクタが、打者キャラクタに対して内角や高め(or 外角や低め)を意識させた後に、外角や低め(or 内角や高め)に投球するといった投球の組み立てを行ったときに、この投球の組み立てが打者キャラクタにリアルタイムに与える影響を、ゲームにおいて再現することができる。
〔他の実施形態〕
(a)前記実施形態では、第1重み付け係数A1および第2重み付け係数A2が1である場合の例が示されているが、第1重み付け係数A1および第2重み付け係数A2の設定は、前記実施形態に限定されず、どのようにしても良い。
たとえば、第2重み付け係数A2の値を基準(ex. A2=1)として、第1重み付け係数A1の値を第2重み付け係数A2の値より大きくすると、左右方向の振り幅の影響が、上下方向の振り幅の影響より大きくなる。このため、この事象は、第1影響係数EE1(DI)および第2影響係数EE2(DI)に反映され、最終的には、第2着弾点C2の半径データR2および第2着弾点C2の表示タイミングを示す第2時間データQ2に反映される。
より具体的には、「A1=2、A2=1、DI=0」であり、1球目の第1投球エリアE1が(2,4)、2球目の第2投球エリアE2が(5,1)である場合(図6、図8、および図9を参照)、SD(0)は1.0になり、「EE1(0)=0.5、EE2(0)=1.0」となる。
このように、この場合の第1影響係数EE1(0)および第2影響係数EE2(0)は、前記実施形態(A1およびA2が1)の第1影響係数EE1(0)および第2影響係数EE2(0)と比較して、大きくなっている。このため、結果として、この場合の第2着弾点C2の半径データR2は0.5、第2着弾点C2の表示タイミングを示す第2時間データQ2は1.0となる。すなわち、この場合の第2着弾点C2は、前記実施形態の場合と比較して、より小さく且つより遅く、テレビジョンモニタ20に表示される。このように、左右方向の振り幅の影響が大きくなるように、第1重み付け係数A1の値を設定した場合は、この影響を、第2着弾点C2の半径データR2、および第2着弾点C2の表示タイミングを示す第2時間データQ2に反映することができる。
なお、前記実施形態に示したように、第1影響係数EE1(DI)を算出する時には、係数αが用いられる。前記実施形態では、この係数αが0.5である場合を示したが、この係数αは、第1重み付け係数A1の値および第2重み付け係数A2の値に応じて、変更しても良い。
(b)前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての開発用のゲーム装置を用いた場合の例を示したが、コンピュータは、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
(c)本発明には、前述したようなゲームを実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、CD−ROM、DVD、MO、ROMカセット、その他のものが挙げられる。