従来の野球ゲームでは、打者キャラクタに打ち返されたボールが落下位置に到達するまでに、落下位置を示す目印を参考にして野手キャラクタをボールの落下位置まで移動させることにより、野手キャラクタにボールを捕球させることができるようになっている。このように野手キャラクタにボールを捕球させるときには、野手キャラクタをボールの落下位置まで移動させる必要がある。すなわち、打者キャラクタによりボールが打ち返されてから、打ち返されたボールが落下位置に移動するまでの間に、プレイヤは、野手キャラクタを移動させるためのコントローラの十字ボタンを連続的に押すことになる。しかしながら、打者キャラクタにより打ち返されたボールが落下位置に移動するまでの時間は非常に短いため、プレイヤは、野手キャラクタを移動させるためのコントローラの十字ボタンを高速に押しながら、野手キャラクタを思い通りにボールの落下位置に位置させることが難しいという問題点があった。特に、プレイヤが初心者であるような場合は、上記のような野手キャラクタの移動および捕球に関する操作の難しさから、野球ゲームの面白さを十分に堪能することができないという問題点があった。
本発明の目的は、第2キャラクタたとえば野手キャラクタを第1キャラクタの位置たとえばボールの落下位置に容易に位置させることができるようにすることにある。
請求項1に係るゲームプログラムは、第1移動キャラクタおよび入力部からの入力信号に基づいて移動可能な複数の第2移動キャラクタが画像表示部に表示されるゲームを実行可能なコンピュータに、以下の機能を実現させるためのプログラムである。
(1)第1移動キャラクタの位置を示す座標データを、1フレームごとに、制御部に認識させる第1キャラクタ位置認識機能。
(2)入力部からの入力信号が制御部に認識されたときに、第2移動キャラクタの位置を示す座標データを制御部に認識させる第2キャラクタ位置認識機能。
(3)第1移動キャラクタの位置を含む第1領域を、1フレームごとに、制御部に認識させる第1領域認識機能。
(4)第2移動キャラクタの移動を監視するための、第1領域を含む第2領域を、1フレームごとに、制御部に認識させる第2領域認識機能。
(5)第1移動キャラクタの位置を示す座標データおよび第2移動キャラクタの位置を示す座標データに基づいて、制御部に認識された第2領域に第2移動キャラクタが位置するか否かを、1フレームごとに、制御部に判断させる第2キャラクタ位置判断機能。
(6)第2領域に第2移動キャラクタが位置すると制御部に判断された場合に、第1領域において第1移動キャラクタの位置へと自動的に移動させるための移動命令を発行する対象となるキャラクタとして、第2領域に位置する第2移動キャラクタを、制御部に認識させる命令対象キャラクタ認識機能。
(7)第1移動キャラクタの位置を示す座標データ、および移動命令の発行対象となる第2移動キャラクタの位置を示す座標データに基づいて、制御部に認識された第1領域に、移動命令の発行対象となる第2移動キャラクタが位置するか否かを、1フレームごとに、制御部に判断させる第1キャラクタ位置判断機能。
(8)第1領域に、移動命令の発行対象となる第2移動キャラクタが位置すると制御部に判断された場合に、第1領域に位置した第2移動キャラクタを第1移動キャラクタの位置へと自動的に移動させるための移動命令を、制御部に発行させる移動命令発行機能。
(9)移動命令が制御部から発行されたときに、第1領域に位置した第2移動キャラクタが第1移動キャラクタの位置へと自動的に移動する状態を、第2移動キャラクタの画像データを用いて画像表示部に表示するキャラクタ表示機能。
このゲームプログラムでは、第1キャラクタ位置認識機能において、第1移動キャラクタの位置が、1フレームごとに、制御部に認識される。第2キャラクタ位置認識機能においては、入力部からの入力信号が制御部に認識されたときに、第2移動キャラクタの位置を示す座標データが、制御部に認識される。第1領域認識機能においては、第1移動キャラクタの位置を含む第1領域が、1フレームごとに、制御部に認識される。第2領域認識機能においては、第2移動キャラクタの移動を監視するための、第1領域を含む第2領域が、1フレームごとに、制御部に認識される。第2キャラクタ位置判断機能においては、第1移動キャラクタの位置を示す座標データおよび第2移動キャラクタの位置を示す座標データに基づいて、制御部に認識された第2領域に第2移動キャラクタが位置するか否かが、1フレームごとに、制御部により判断される。命令対象キャラクタ認識機能においては、第2領域に第2移動キャラクタが位置すると制御部に判断された場合に、第1領域において第1移動キャラクタの位置へと自動的に移動させるための移動命令を発行する対象となるキャラクタとして、第2領域に位置する第2移動キャラクタが、制御部に認識される。第1キャラクタ位置判断機能においては、第1移動キャラクタの位置を示す座標データおよび移動命令の発行対象となる第2移動キャラクタの位置を示す座標データに基づいて、制御部に認識された第1領域に、移動命令の発行対象となる第2移動キャラクタが位置するか否かが、1フレームごとに、制御部により判断される。移動命令発行機能においては、第1領域に、移動命令の発行対象となる第2移動キャラクタが位置すると制御部に判断された場合に、第1領域に位置した第2移動キャラクタを第1移動キャラクタの位置へと移動させるための移動命令が制御部から発行される。キャラクタ表示機能においては、移動命令が制御部から発行されたときに、第1領域に位置した第2移動キャラクタが第1移動キャラクタの位置へと自動的に移動する状態が、第2移動キャラクタの画像データを用いて画像表示部に表示される。
たとえば、このゲームプログラムによって野球ゲームが実現された場合、ボールの位置(第1移動キャラクタの位置)が、1フレームごとに、制御部に認識される。そして、野手キャラクタの位置(第2移動キャラクタ位置)が、制御部に認識される。そして、ボールの位置を含むボール捕球可能領域(第1領域)が、1フレームごとに、制御部に認識される。そして、ボール捕球可能領域を含む野手監視領域(第2領域)が、1フレームごとに、制御部に認識される。そして、野手監視領域に野手キャラクタが位置するか否かが、1フレームごとに、制御部により判断される。そして、野手監視領域に野手キャラクタが位置すると制御部に判断された場合に、野手キャラクタをボールの位置へと移動させるための移動命令を発行する対象となる野手キャラクタとして、野手監視領域に位置する野手キャラクタが、制御部に認識される。そして、ボール捕球可能領域に、移動命令の発行対象となる野手キャラクタが位置するか否かが、1フレームごとに、制御部により判断される。そして、ボール捕球可能領域に、移動命令の発行対象となる野手キャラクタが位置すると制御部に判断された場合に、第1領域に位置した野手キャラクタをボールの位置へと移動させるための移動命令が制御部から発行される。そして、移動命令が制御部から発行されたときに、第1領域に位置した野手キャラクタがボールの位置へと移動する状態が、野手キャラクタの画像データを用いて画像表示部に表示される。
この場合、ボール捕球可能領域に野手キャラクタが位置すると制御部に判断された場合に、野手キャラクタをボールの位置へと移動させるための移動命令が制御部から発行され、野手キャラクタがボールの位置へと移動する状態が、野手キャラクタの画像データを用いて画像表示部に表示される。具体的には、ボールの位置が含まれるボール捕球可能領域にプレイヤが野手キャラクタを位置させれば、プレイヤが入力部たとえばコントローラを操作しなくても、野手キャラクタがボールの位置へと移動する状態が、野手キャラクタの画像データを用いて画像表示部に表示される。これにより、プレイヤは、コントローラを操作しなくても野手キャラクタをボールの位置に容易に位置させることができる。すなわち、第2キャラクタを第1キャラクタの位置に容易に位置させることができる。
また、この場合、ボール捕球可能領域を含む野手監視領域に野手キャラクタが位置すると制御部に判断された場合に、第1領域においてボールの位置へと移動させるための移動命令を発行する対象となる野手キャラクタとして、野手監視領域に位置する野手キャラクタが、認識される。具体的には、野手監視領域に野手キャラクタが位置したときに、野手監視領域に位置する野手キャラクタが、移動命令の対象となるキャラクタとして制御部に認識される。そして、野手監視領域に位置する野手キャラクタが、ボール捕球可能領域に位置したときに、この野手キャラクタに対する移動命令が制御部から発行され、この野手キャラクタがボールの位置へと移動する状態が、野手キャラクタの画像データを用いて画像表示部に表示される。これにより、野手キャラクタを野手監視領域において制御部に監視させ、制御部の監視下にある野手キャラクタがボール捕球可能領域に位置したときに野手キャラクタをボールの位置へと移動させることができる。
なお、ここでは、ボールの移動状態がゴロである場合を想定して、説明が行われている。
請求項2に係るゲームプログラムは、請求項1に記載のゲームプログラムにおいて、コンピュータに以下の機能をさらに実現させるためのプログラムである。
(10)単位フレームあたりの第2移動キャラクタの移動距離を第2移動キャラクタの移動速度として制御部に認識させるキャラクタ移動速度認識機能。
(11)第2移動キャラクタの移動速度に第1フレーム数を乗じる計算を制御部に実行させることにより、第1フレーム数に対応する第1距離を制御部に認識させる第1距離認識機能。
このゲームプログラムでは、キャラクタ移動速度認識機能において、単位フレームあたりの第2移動キャラクタの移動距離が、第2移動キャラクタの移動速度として制御部に認識される。第1距離認識機能においては、第2移動キャラクタの移動速度に第1フレーム数を乗じる計算を制御部に実行させることにより、第1フレーム数に対応する第1距離が制御部に認識される。そして、第1領域認識機能においては、第1移動キャラクタの位置を中心とした第1領域が、第1距離に基づいて制御部に認識される。
たとえば、このゲームプログラムによって野球ゲームが実現された場合、単位フレームあたりの野手キャラクタの移動距離が、野手キャラクタの移動速度として制御部に認識される。そして、野手キャラクタの移動速度に第1フレーム数を乗じる計算を制御部に実行させることにより、第1フレーム数に対応する第1距離が制御部に認識される。すると、ボールの位置を中心としたボール捕球可能領域が、第1距離に基づいて制御部に認識される。
この場合、ボール捕球可能領域が、ボールの位置を中心とした第1距離に基づいて制御部に認識される。たとえば、ボールの位置を中心とし第1距離を半径とした円状領域がボール捕球可能領域として制御部に認識される。これにより、野手キャラクタの移動速度が速くて野手キャラクタの操作が難しくなっても、野手キャラクタの移動速度が速ければ速いほどボール捕球可能領域の領域範囲が大きくなるので、野手キャラクタをボール捕球可能領域に位置させやすくなる。
請求項3に係るゲームプログラムは、請求項2に記載のゲームプログラムにおいて、コンピュータに以下の機能をさらに実現させるためのプログラムである。
(12)記憶部に格納されたフレーム数を選択的に制御部に認識させるフレーム数選択機能。
(13)フレーム数を第1フレーム数として制御部に認識させる第1フレーム数認識機能。
このゲームプログラムでは、フレーム数選択機能において、記憶部に格納されたフレーム数が選択的に制御部に認識される。第1フレーム数認識機能においては、このフレーム数が第1フレーム数として制御部に認識される。
たとえば、このゲームプログラムによって野球ゲームが実現された場合、試合開始前の条件設定等で画像表示部に表示された「初心者」、「ノーマル」、および「上級」等の項目がコントローラから選択されると、各項目に対応するフレーム数が制御部に選択的に制御部に認識される。たとえば、「初心者」項目が選択された場合は、6フレームがフレーム数として制御部に認識される。また、「ノーマル」項目が選択された場合は、2フレームがフレーム数として制御部に認識される。さらに、「上級」項目が選択された場合は、0フレームがフレーム数として制御部に認識される。このように制御部に認識されたフレーム数が、上記の第1フレーム数として制御部に認識される。これにより、プレイヤは、野球ゲームに対する熟達度に応じて、フレーム数(第1フレーム数)を任意に設定することができる。
請求項4に係るゲームプログラムでは、請求項2又は3に記載のゲームプログラムにおいて、移動命令が制御部から発行されたときに、第2移動キャラクタが第1フレーム数で第1移動キャラクタの位置へと移動する状態が、第2移動キャラクタの画像データを用いて画像表示部に表示される。この機能は、キャラクタ表示機能において実現される。
たとえば、このゲームプログラムによって野球ゲームが実現された場合、移動命令が制御部から発行されたときに、野手キャラクタが第1フレーム数でボールの位置へと移動する状態が、野手キャラクタの画像データを用いて画像表示部に表示される。
この場合、野手キャラクタが第1フレーム数でボールの位置へと移動する状態が、野手キャラクタの画像データを用いて画像表示部に表示される。これにより、野手キャラクタが捕球姿勢に入ってからボールを捕球するまでの第1フレーム数分の画像データを、記憶部に格納しておくことにより、野手キャラクタの移動状態を常にスムーズに表示することができる。
なお、ゲームの設計段階では、捕球に至るまでの野手キャラクタの姿勢や体形、特に特徴的な姿勢や体形を、各フレームに対応させるようにしておけばよい。これにより、野手キャラクタがボールを自動的に捕球する動作を表示することができるだけでなく、その動作を違和感なくスムーズに表示することができる。
請求項5に係るゲームプログラムでは、請求項1から4のいずれかに記載のゲームプログラムにおいて、第1領域に第2移動キャラクタが位置すると制御部に判断された場合に、第2移動キャラクタの移動に関する入力部からの入力信号の受け付けを制御部に拒否させ、第2移動キャラクタを第1移動キャラクタの位置へと移動させるための移動命令が制御部から発行される。この機能は、移動命令発行機能において実現される。
たとえば、このゲームプログラムによって野球ゲームが実現された場合、ボール捕球可能領域に野手キャラクタが位置すると制御部に判断された場合に、野手キャラクタの移動に関する入力部からの入力信号の受け付けを制御部に拒否させ、野手キャラクタをボールの位置へと移動させるための移動命令が制御部から発行される。
この場合、ボール捕球可能領域に野手キャラクタが位置すると、野手キャラクタの移動に関する入力部からの入力信号が制御部に受け付けられなくなる。そして、野手キャラクタの移動に関する制御が制御部に委ねられる。この状態で、野手キャラクタがボールの位置へと移動する状態が、野手キャラクタの画像データを用いて画像表示部に表示される。これにより、野手キャラクタがボールの位置へと移動する状態が画像表示部に表示されているときに、プレイヤがコントローラを操作してしまっても、野手キャラクタの移動状態が変更されることなく、制御部の制御下で野手キャラクタをボールの位置まで正確に移動させることができる。
請求項6に係るゲームプログラムは、請求項1から5のいずれかに記載のゲームプログラムにおいて、コンピュータに以下の機能をさらに実現させるためのプログラムである。
(14)単位フレームあたりの第2移動キャラクタの移動距離を第2移動キャラクタの移動速度として制御部に認識させるキャラクタ移動速度認識機能。
(15)移動速度に第2フレーム数を乗じる計算を制御部に実行させることにより、第2フレーム数に対応する第2距離を制御部に認識させる第2距離認識機能。
このゲームプログラムでは、第2距離認識機能において、移動速度に第2フレーム数を乗じる計算を制御部に実行させることにより、第2フレーム数に対応する第2距離が制御部に認識される。そして、第2領域認識機能においては、第1移動キャラクタの位置を中心とした第2領域が第2距離に基づいて制御部に認識される。
この場合、野手監視領域が、ボールの位置を中心とした第2距離に基づいて制御部に認識される。たとえば、ボールの位置を中心とし第2距離を半径とした円状領域が野手監視領域として制御部に認識される。これにより、野手キャラクタの移動速度が速くなればなるほど、野手監視領域の領域範囲が大きくなり、野手キャラクタを正確に監視することができる。そして、制御部の監視下にある野手キャラクタがボール捕球可能領域に位置したときに野手キャラクタをボールの位置へと移動させることができる。なお、ここでは、野手監視領域(第2距離を半径とした円状領域)はボール捕球可能領域(第1距離を半径とした円状領域)を含んでいるので、第2距離は第1距離より大きな値となっている。すなわち、第2フレーム数は、第1フレーム数より大きな値となっている。
請求項7に係るゲームプログラムは、第1移動キャラクタおよび入力部からの入力信号に基づいて移動可能な複数の第2移動キャラクタが画像表示部に表示されるゲームを実行可能なコンピュータに、以下の機能を実現させるためのプログラムである。
(1’)第1移動キャラクタが到達する位置を示す座標データを制御部に認識させる第1キャラクタ位置認識機能。
(2’)入力部からの入力信号が制御部に認識されたときに、第2移動キャラクタの位置を示す座標データを制御部に認識させる第2キャラクタ位置認識機能。
(3’)第1移動キャラクタが到達する位置を含む第1領域を制御部に認識させる第1領域認識機能。
(4’)第2移動キャラクタの移動を監視するための、第1領域を含む第2領域を、制御部に認識させる第2領域認識機能。
(5’)第1移動キャラクタが到達する位置を示す座標データおよび第2移動キャラクタの位置を示す座標データに基づいて、制御部に認識された第2領域に第2移動キャラクタが位置するか否かを制御部に判断させる第2キャラクタ位置判断機能。
(6’)第2領域に第2移動キャラクタが位置すると制御部に判断された場合に、第1領域において第1移動キャラクタが到達する位置へと自動的に移動させるための移動命令を発行する対象となるキャラクタとして、第2領域に位置する第2移動キャラクタを、制御部に認識させる命令対象キャラクタ認識機能。
(7’)第1移動キャラクタが到達する位置を示す座標データ、および移動命令の発行対象となる第2移動キャラクタの位置を示す座標データに基づいて、制御部に認識された第1領域に、移動命令の発行対象となる第2移動キャラクタが位置するか否かを、制御部に判断させる第1キャラクタ位置判断機能。
(8’)第1領域に、移動命令の発行対象となる第2移動キャラクタが位置すると制御部に判断された場合に、第1領域に位置した第2移動キャラクタを第1移動キャラクタが到達する位置へと自動的に移動させるための移動命令を、制御部に発行させる移動命令発行機能。
(9’)移動命令が制御部から発行されたときに、第1領域に位置した第2移動キャラクタが、第1移動キャラクタが到達する位置へと自動的に移動する状態を、第2移動キャラクタの画像データを用いて画像表示部に表示するキャラクタ表示機能。
このゲームプログラムでは、第1キャラクタ位置認識機能において、第1移動キャラクタが到達する位置が、制御部に認識される。第2キャラクタ位置認識機能においては、入力部からの入力信号が制御部に認識されたときに、第2移動キャラクタの位置を示す座標データが、制御部に認識される。第1領域認識機能においては、第1移動キャラクタが到達する位置を含む第1領域が、制御部に認識される。第2領域認識機能においては、第2移動キャラクタの移動を監視するための、第1領域を含む第2領域が、制御部に認識される。第2キャラクタ位置判断機能においては、第1移動キャラクタが到達する位置を示す座標データおよび第2移動キャラクタの位置を示す座標データに基づいて、制御部に認識された第2領域に第2移動キャラクタが位置するか否かが、制御部により判断される。命令対象キャラクタ認識機能においては、第2領域に第2移動キャラクタが位置すると制御部に判断された場合に、第1領域において第1移動キャラクタが到達する位置へと自動的に移動させるための移動命令を発行する対象となるキャラクタとして、第2領域に位置する第2移動キャラクタが、制御部に認識される。第1キャラクタ位置判断機能においては、第1移動キャラクタが到達する位置を示す座標データおよび移動命令の発行対象となる第2移動キャラクタの位置を示す座標データに基づいて、制御部に認識された第1領域に、移動命令の発行対象となる第2移動キャラクタが位置するか否かが、制御部により判断される。移動命令発行機能においては、第1領域に、移動命令の発行対象となる第2移動キャラクタが位置すると制御部に判断された場合に、第1領域に位置した第2移動キャラクタを第1移動キャラクタが到達する位置へと移動させるための移動命令が制御部から発行される。キャラクタ表示機能においては、移動命令が制御部から発行されたときに、第1領域に位置した第2移動キャラクタが、第1移動キャラクタが到達する位置へと自動的に移動する状態が、第2移動キャラクタの画像データを用いて画像表示部に表示される。
たとえば、このゲームプログラムによって野球ゲームが実現された場合、ボールの落下位置(第1移動キャラクタの位置)が、制御部に認識される。そして、野手キャラクタの位置(第2移動キャラクタ位置)が、制御部に認識される。そして、ボールの落下位置を含むボール捕球可能領域(第1領域)が、制御部に認識される。そして、ボール捕球可能領域を含む野手監視領域(第2領域)が、制御部に認識される。そして、野手監視領域に野手キャラクタが位置するか否かが、制御部により判断される。そして、野手監視領域に野手キャラクタが位置すると制御部に判断された場合に、野手キャラクタをボールの落下位置へと移動させるための移動命令を発行する対象となる野手キャラクタとして、野手監視領域に位置する野手キャラクタが、制御部に認識される。そして、ボール捕球可能領域に、移動命令の発行対象となる野手キャラクタが位置するか否かが、制御部により判断される。そして、ボール捕球可能領域に、移動命令の発行対象となる野手キャラクタが位置すると制御部に判断された場合に、第1領域に位置した野手キャラクタをボールの落下位置へと移動させるための移動命令が制御部から発行される。そして、移動命令が制御部から発行されたときに、第1領域に位置した野手キャラクタがボールの落下位置へと移動する状態が、野手キャラクタの画像データを用いて画像表示部に表示される。
この場合、ボール捕球可能領域に野手キャラクタが位置すると制御部に判断された場合に、野手キャラクタをボールの落下位置へと移動させるための移動命令が制御部から発行され、野手キャラクタがボールの落下位置へと移動する状態が、野手キャラクタの画像データを用いて画像表示部に表示される。具体的には、ボールの落下位置が含まれるボール捕球可能領域にプレイヤが野手キャラクタを位置させれば、プレイヤが入力部たとえばコントローラを操作しなくても、野手キャラクタがボールの落下位置へと移動する状態が、野手キャラクタの画像データを用いて画像表示部に表示される。これにより、プレイヤは、コントローラを操作しなくても野手キャラクタをボールの落下位置に容易に位置させることができる。すなわち、第2キャラクタを第1キャラクタの位置に容易に位置させることができる。
また、この場合、ボール捕球可能領域を含む野手監視領域に野手キャラクタが位置すると制御部に判断された場合に、第1領域においてボールの落下位置へと移動させるための移動命令を発行する対象となる野手キャラクタとして、野手監視領域に位置する野手キャラクタが、認識される。具体的には、野手監視領域に野手キャラクタが位置したときに、野手監視領域に位置する野手キャラクタが、移動命令の対象となるキャラクタとして制御部に認識される。そして、野手監視領域に位置する野手キャラクタが、ボール捕球可能領域に位置したときに、この野手キャラクタに対する移動命令が制御部から発行され、この野手キャラクタがボールの落下位置へと移動する状態が、野手キャラクタの画像データを用いて画像表示部に表示される。これにより、野手キャラクタを野手監視領域において制御部に監視させ、制御部の監視下にある野手キャラクタがボール捕球可能領域に位置したときに野手キャラクタをボールの落下位置へと移動させることができる。
なお、ここでは、ボールの移動状態がフライ又はライナーである場合を想定して、説明が行われている。
請求項8に係るゲームプログラムは、請求項7に記載のゲームプログラムにおいて、コンピュータに以下の機能をさらに実現させるためのプログラムである。
(10’)単位フレームあたりの第2移動キャラクタの移動距離を第2移動キャラクタの移動速度として制御部に認識させるキャラクタ移動速度認識機能。
(11’)移動速度に第1フレーム数を乗じる計算を制御部に実行させることにより、第1フレーム数に対応する第1距離を制御部に認識させる第1距離認識機能。
このゲームプログラムでは、キャラクタ移動速度認識機能において、単位フレームあたりの第2移動キャラクタの移動距離が、第2移動キャラクタの移動速度として制御部に認識される。第1距離認識機能においては、第2移動キャラクタの移動速度に第1フレーム数を乗じる計算を制御部に実行させることにより、第1フレーム数に対応する第1距離が制御部に認識される。そして、第1領域認識機能においては、第1移動キャラクタが到達する位置を中心とした第1領域が、第1距離に基づいて制御部に認識される。
たとえば、このゲームプログラムによって野球ゲームが実現された場合、単位フレームあたりの野手キャラクタの移動距離が、野手キャラクタの移動速度として制御部に認識される。そして、野手キャラクタの移動速度に第1フレーム数を乗じる計算を制御部に実行させることにより、第1フレーム数に対応する第1距離が制御部に認識される。すると、ボールの落下位置を中心としたボール捕球可能領域が、第1距離に基づいて制御部に認識される。
この場合、ボール捕球可能領域が、ボールの落下位置を中心とした第1距離に基づいて制御部に認識される。たとえば、ボールの落下位置を中心とし第1距離を半径とした円状領域がボール捕球可能領域として制御部に認識される。これにより、野手キャラクタの移動速度が速くて野手キャラクタの操作が難しくなっても、野手キャラクタの移動速度が速ければ速いほどボール捕球可能領域の領域範囲が大きくなるので、野手キャラクタをボール捕球可能領域に位置させやすくなる。
請求項9に係るゲームプログラムは、請求項8に記載のゲームプログラムにおいて、コンピュータに以下の機能をさらに実現させるためのプログラムである。
(12’)記憶部に格納されたフレーム数を選択的に制御部に認識させるフレーム数選択機能。
(13’)フレーム数を第1フレーム数として制御部に認識させる第1フレーム数認識機能。
このゲームプログラムでは、フレーム数選択機能において、記憶部に格納されたフレーム数が選択的に制御部に認識される。第1フレーム数認識機能においては、このフレーム数が第1フレーム数として制御部に認識される。
たとえば、このゲームプログラムによって野球ゲームが実現された場合、試合開始前の条件設定等で画像表示部に表示された「初心者」、「ノーマル」、および「上級」等の項目がコントローラから選択されると、各項目に対応するフレーム数が制御部に選択的に制御部に認識される。たとえば、「初心者」項目が選択された場合は、6フレームがフレーム数として制御部に認識される。また、「ノーマル」項目が選択された場合は、2フレームがフレーム数として制御部に認識される。さらに、「上級」項目が選択された場合は、0フレームがフレーム数として制御部に認識される。このように制御部に認識されたフレーム数が、上記の第1フレーム数として制御部に認識される。これにより、プレイヤは、野球ゲームに対する熟達度に応じて、フレーム数(第1フレーム数)を任意に設定することができる。
請求項10に係るゲームプログラムでは、請求項8又は9に記載のゲームプログラムにおいて、移動命令が制御部から発行されたときに、第2移動キャラクタが第1フレーム数で第1移動キャラクタが到達する位置へと移動する状態が、第2移動キャラクタの画像データを用いて画像表示部に表示される。この機能は、キャラクタ表示機能において実現される。
たとえば、このゲームプログラムによって野球ゲームが実現された場合、移動命令が制御部から発行されたときに、野手キャラクタが第1フレーム数でボールの落下位置へと移動する状態が、野手キャラクタの画像データを用いて画像表示部に表示される。
この場合、野手キャラクタが第1フレーム数でボールの落下位置へと移動する状態が、野手キャラクタの画像データを用いて画像表示部に表示される。これにより、野手キャラクタが捕球姿勢に入ってからボールを捕球するまでの第1フレーム数分の画像データを、記憶部に格納しておくことにより、野手キャラクタの移動状態を常にスムーズに表示することができる。
なお、ゲームの設計段階では、捕球に至るまでの野手キャラクタの姿勢や体形、特に特徴的な姿勢や体形を、各フレームに対応させるようにしておけばよい。これにより、野手キャラクタがボールを自動的に捕球する動作を表示することができるだけでなく、その動作を違和感なくスムーズに表示することができる。
請求項11に係るゲームプログラムでは、請求項7から10のいずれかに記載のゲームプログラムにおいて、第1領域に第2移動キャラクタが位置すると制御部に判断された場合に、第2移動キャラクタの移動に関する入力部からの入力信号の受け付けを制御部に拒否させ、第2移動キャラクタを第1移動キャラクタが到達する位置へと移動させるための移動命令が制御部から発行される。この機能は、移動命令発行機能において実現される。
たとえば、このゲームプログラムによって野球ゲームが実現された場合、ボール捕球可能領域に野手キャラクタが位置すると制御部に判断された場合に、野手キャラクタの移動に関する入力部からの入力信号の受け付けを制御部に拒否させ、野手キャラクタをボールの落下位置へと移動させるための移動命令が制御部から発行される。
この場合、ボール捕球可能領域に野手キャラクタが位置すると、野手キャラクタの移動に関する入力部からの入力信号が制御部に受け付けられなくなる。そして、野手キャラクタの移動に関する制御が制御部に委ねられる。この状態で、野手キャラクタがボールの落下位置へと移動する状態が、野手キャラクタの画像データを用いて画像表示部に表示される。これにより、野手キャラクタがボールの落下位置へと移動する状態が画像表示部に表示されているときに、プレイヤがコントローラを操作してしまっても、野手キャラクタの移動状態が変更されることなく、制御部の制御下で野手キャラクタをボールの落下位置まで正確に移動させることができる。
請求項12に係るゲームプログラムでは、請求項7から11のいずれかに記載のゲームプログラムにおいて、コンピュータに以下の機能をさらに実現させるためのプログラムである。
(14’)単位フレームあたりの第2移動キャラクタの移動距離を第2移動キャラクタの移動速度として制御部に認識させるキャラクタ移動速度認識機能。
(15’)移動速度に第2フレーム数を乗じる計算を制御部に実行させることにより、第2フレーム数に対応する第2距離を制御部に認識させる第2距離認識機能。
このゲームプログラムでは、第2距離認識機能において、移動速度に第2フレーム数を乗じる計算を制御部に実行させることにより、第2フレーム数に対応する第2距離が制御部に認識される。そして、第2領域認識機能においては、第1移動キャラクタが到達する位置を中心とした第2領域が第2距離に基づいて制御部に認識される。
この場合、野手監視領域が、ボールの位置を中心とした第2距離に基づいて制御部に認識される。たとえば、ボールの落下位置を中心とし第2距離を半径とした円状領域が野手監視領域として制御部に認識される。これにより、野手キャラクタの移動速度が速くなればなるほど、野手監視領域の領域範囲が大きくなり、野手キャラクタを正確に監視することができる。そして、制御部の監視下にある野手キャラクタがボール捕球可能領域に位置したときに野手キャラクタをボールの落下位置へと移動させることができる。なお、ここでは、野手監視領域(第2距離を半径とした円状領域)はボール捕球可能領域(第1距離を半径とした円状領域)を含んでいるので、第2距離は第1距離より大きな値となっている。すなわち、第2フレーム数は、第1フレーム数より大きな値となっている。
請求項13に係るゲーム装置は、第1移動キャラクタ、および入力部からの入力信号に基づいて移動可能な複数の第2移動キャラクタが画像表示部に表示されるゲームを実行可能なゲーム装置である。
このゲーム装置は、
第1移動キャラクタの位置を示す座標データを、1フレームごとに、制御部に認識させる第1キャラクタ位置認識手段と、
入力部からの入力信号が制御部に認識されたときに、第2移動キャラクタの位置を示す座標データを制御部に認識させる第2キャラクタ位置認識手段と、
第1移動キャラクタの位置を含む第1領域を、1フレームごとに、制御部に認識させる第1領域認識手段と、
第2移動キャラクタの移動を監視するための、第1領域を含む第2領域を、1フレームごとに、制御部に認識させる第2領域認識手段と、
第1移動キャラクタの位置を示す座標データ、および第2移動キャラクタの位置を示す座標データに基づいて、制御部に認識された第2領域に第2移動キャラクタが位置するか否かを、1フレームごとに、制御部に判断させる第2キャラクタ位置判断手段と、
第2領域に第2移動キャラクタが位置すると制御部に判断された場合に、第1領域において第1移動キャラクタの位置へと自動的に移動させるための移動命令を発行する対象となるキャラクタとして、第2領域に位置する第2移動キャラクタを、制御部に認識させる命令対象キャラクタ認識手段と、
第1移動キャラクタの位置を示す座標データ、および移動命令の発行対象となる第2移動キャラクタの位置を示す座標データに基づいて、制御部に認識された第1領域に、移動命令の発行対象となる第2移動キャラクタが位置するか否かを、1フレームごとに、制御部に判断させる第1キャラクタ位置判断手段と、
第1領域に、移動命令の発行対象となる第2移動キャラクタが位置すると制御部に判断された場合に、第1領域に位置した第2移動キャラクタを第1移動キャラクタの位置へと自動的に移動させるための移動命令を、制御部に発行させる移動命令発行手段と、
移動命令が制御部から発行されたときに、第1領域に位置した第2移動キャラクタが第1移動キャラクタの位置へと自動的に移動する状態を、第2移動キャラクタの画像データを用いて画像表示部に表示するキャラクタ表示手段と、
を備えている。
請求項14に係るゲーム装置は、第1移動キャラクタ、および入力部からの入力信号に基づいて移動可能な複数の第2移動キャラクタが画像表示部に表示されるゲームを実行可能なゲーム装置である。
このゲーム装置は、
第1移動キャラクタが到達する位置を示す座標データを制御部に認識させる第1キャラクタ位置認識手段と、
入力部からの入力信号が制御部に認識されたときに、第2移動キャラクタの位置を示す座標データを制御部に認識させる第2キャラクタ位置認識手段と、
第1移動キャラクタが到達する位置を含む第1領域を制御部に認識させる第1領域認識手段と、
第2移動キャラクタの移動を監視するための、第1領域を含む第2領域を、制御部に認識させる第2領域認識手段と、
第1移動キャラクタが到達する位置を示す座標データおよび第2移動キャラクタの位置を示す座標データに基づいて、制御部に認識された第2領域に第2移動キャラクタが位置するか否かを制御部に判断させる第2キャラクタ位置判断手段と、
第2領域に第2移動キャラクタが位置すると制御部に判断された場合に、第1領域において第1移動キャラクタが到達する位置へと自動的に移動させるための移動命令を発行する対象となるキャラクタとして、第2領域に位置する第2移動キャラクタを、制御部に認識させる命令対象キャラクタ認識手段と、
第1移動キャラクタが到達する位置を示す座標データ、および移動命令の発行対象となる第2移動キャラクタの位置を示す座標データに基づいて、制御部に認識された第1領域に、移動命令の発行対象となる第2移動キャラクタが位置するか否かを、制御部に判断させる第1キャラクタ位置判断手段と、
第1領域に、移動命令の発行対象となる第2移動キャラクタが位置すると制御部に判断された場合に、第1領域に位置した第2移動キャラクタを第1移動キャラクタが到達する位置へと自動的に移動させるための移動命令を、制御部に発行させる移動命令発行手段と、
移動命令が制御部から発行されたときに、第1領域に位置した第2移動キャラクタが、第1移動キャラクタが到達する位置へと自動的に移動する状態を、第2移動キャラクタの画像データを用いて画像表示部に表示するキャラクタ表示手段と、
を備えている。
本発明では、ボール捕球可能領域に野手キャラクタが位置すると制御部に判断された場合に、野手キャラクタをボールの位置に移動させるための移動命令が制御部から発行され、野手キャラクタがボールの位置に移動する状態が、野手キャラクタの画像データを用いて画像表示部に表示される。これにより、プレイヤは、野手キャラクタをボール捕球可能領域に位置させるだけで、コントローラを操作しなくても野手キャラクタをボールの位置に容易に移動させることができる。すなわち、第2キャラクタ(野手キャラクタ)を第1キャラクタの位置(ボールの位置)に容易に位置させることができる。
〔ゲーム装置の構成と動作〕
図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次元空間上への位置変換計算と、光源計算処理と、3次元空間上又は擬似3次元空間上で実行された計算結果に基づいた画像および音声データの生成加工処理とを行っている。画像処理プロセッサ9は、主に、信号処理プロセッサ8の計算結果および処理結果に基づいて、描画すべき画像データをRAM12に書き込む処理を行っている。また、CPU7は、信号処理プロセッサ8に対して、各種データを処理するように命令する。信号処理プロセッサ8は、主に、3次元空間上における各種データに対応する計算と、3次元空間上から擬似3次元空間上への位置変換計算とを行っている。
記憶部2は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納しておくために設けられている。記憶部2は、たとえば、記録媒体10と、インターフェース回路11と、RAM(Random 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に送出する。コントローラ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の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると中立位置に復帰してオフになるオンオフスイッチになっている。
以上のような構成からなる家庭用ビデオゲーム装置の概略動作を、以下に説明する。電源スイッチ(図示省略)がオンにされゲームシステム1に電源が投入されると、CPU7が、記録媒体10に記憶されているオペレーティングシステムに基づいて、記録媒体10から画像データ、音声データ、およびプログラムデータを読み出す。読み出された画像データ、音声データ、およびプログラムデータの一部若しくは全部は、RAM12に格納される。そして、CPU7が、RAM12に格納されたプログラムデータに基づいて、RAM12に格納された画像データや音声データを画像や音声としてテレビジョンモニタ20やスピーカー13に出力するためのコマンドを発行する。
画像データの場合、CPU7からのコマンドに基づいて、まず、信号処理プロセッサ8が、3次元空間上におけるキャラクタの位置計算および光源計算などを行う。次に、画像処理プロセッサ9が、信号処理プロセッサ8の計算結果に基づいて、描画すべき画像データのRAM12への書き込み処理などを行う。そして、RAM12に書き込まれた画像データが、インターフェース回路21を介してD/Aコンバータ22に供給される。ここで、画像データがD/Aコンバータ22でアナログ映像信号に変換される。そして、画像データはテレビジョンモニタ20に供給され画像として表示される。
音声データの場合、まず、信号処理プロセッサ8が、CPU7からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ8から出力されて、インターフェース回路16を介してD/Aコンバータ15に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路14を介してスピーカー13から音声として出力される。
〔ゲーム装置における各種処理概要〕
本ゲーム機1において実行されるゲームは、たとえば野球ゲームである。本ゲーム機1は、画像表示部たとえばテレビジョンモニタ20に野手キャラクタおよびボールキャラクタが表示されるゲームを実行可能になっている。図2は、本発明で主要な役割を果たす機能を説明するための機能ブロック図である。
ゲーム空間認識手段50は、ゲーム空間をCPU7に認識させる機能を備えている。
この手段では、ゲーム空間がCPU7に認識される。この手段では、たとえば、ゲーム空間が3次元直交座標系に設定され、3次元ゲーム空間がCPU7に認識される。ここでは、ホームベース位置が原点に設定されており、ホームベース位置から2塁ベースに向かう方向がy軸、ホームベース位置から上空方向すなわち高さ方向に向かう方向がz軸、y軸およびz軸に直交する方向がx軸として、CPU7に認識されている。また、この手段では、たとえば、フェア領域とファウル領域とを区別するためのファウルライン、各ベース位置、およびフェア領域とホームラン領域とを区別するためのフェンスライン等の野球ゲームを実行する上で必要となる各種の基本座標データが、記録媒体10からRAM12へと供給される。そして、RAM12に格納された基本座標データがCPU7に認識される。
入力信号認識手段51は、操作入力部5たとえばコントローラ17の複数の入力ボタンのうちの少なくともいずれか1つの入力ボタンが操作されたときに、コントローラ17からの入力信号をCPU7に認識させる機能を備えている。
この手段では、コントローラ17の複数の入力ボタンのうちの少なくともいずれか1つの入力ボタンが操作されたときに、コントローラ17からの入力信号がCPU7に認識される。たとえば、この手段では、野手キャラクタに移動に関する指示をする場合に、コントローラ17の上方向キー17U、下方向キー17D、左方向キー17L、右方向キー17R、左スティック17SL、および右スティック17SRのいずれかのキー(スティック)が操作されると、各種のキャラクタをテレビジョンモニタ20の画面上で上下左右に移動させるための信号がコントローラ17から発行され、この信号がCPU7に認識される。
フレーム数選択手段52は、記憶部たとえばRAM12に格納されたフレーム数を選択的にCPU7に認識させる機能を備えている。
この手段では、RAM12に格納されたフレーム数が選択的にCPU7に認識される。たとえば、この手段では、試合開始前にテレビジョンモニタ20に表示される設定画面において、「初心者」、「ノーマル」、および「上級」等の項目がコントローラ17から選択されると、各項目に対応するフレーム数が選択的にCPU7に認識される。たとえば、「初心者」項目が選択された場合は、フレーム数として6フレームがCPU7に認識される。また、「ノーマル」項目が選択された場合は、フレーム数として2フレームがCPU7に認識される。さらに、「上級」項目が選択された場合は、フレーム数として0フレームがCPU7に認識される。なお、上記のフレーム数に関するデータは、ゲームプログラムのロード時に記録媒体10からRAM12にロードされ、RAM12に格納されている。また、本実施形態では、単位フレームすなわち1フレームの画像データが、1/60(秒)ごとに連続的にテレビジョンモニタ20に表示されるようになっている。
第1フレーム数認識手段53は、フレーム数を第1フレーム数としてCPU7に認識させる機能を備えている。
この手段では、フレーム数選択手段52においてCPU7に認識されたフレーム数が第1フレーム数としてCPU7に認識される。たとえば、この手段では、「初心者項目」が選択された場合は、6フレームというフレーム数が第1フレーム数としてCPU7に認識される。また、「ノーマル項目」が選択された場合は、2フレームというフレーム数が第1フレーム数としてCPU7に認識される。さらに、「上級項目」が選択された場合は、0フレームというフレーム数が第1フレーム数としてCPU7に認識される。なお、第1フレーム数は第1フレーム数用の変数パラメータによりCPU7より管理されている。この第1フレーム数用の変数パラメータに、選択された各項目に対応する第1フレーム数の値(「6」、「2」、および「0」のいずれかの値)を代入する処理をCPU7に実行させることにより、第1フレーム数がCPU7により設定され認識される。ここでは、「初心者項目」が選択された場合すなわち第1フレーム数として6フレームが選択された場合を例として説明を行う。
キャラクタ移動速度認識手段54は、単位フレームあたりの野手キャラクタの移動距離を野手キャラクタの移動速度としてCPU7に認識させる機能を備えている。
この手段は、単位フレームあたりの野手キャラクタの移動距離が野手キャラクタの移動速度としてCPU7に認識される。たとえば、この手段では、単位フレームあたりの野手キャラクタの移動距離が0.2(m/フレーム)としてCPU7に認識されており、この0.2(m/フレーム)という値が野手キャラクタの移動速度としてCPU7に認識される。本実施形態では、この野手キャラクタの移動速度の値が0.2(m/フレーム)である場合の例を示すが、野手キャラクタの移動速度の値は野手キャラクタごとに異なる値となるようにしても良い。なお、野手キャラクタの移動速度に関するデータは、ゲームプログラムのロード時に記録媒体10からRAM12にロードされ、RAM12に格納されている。
第1距離認識手段55は、移動速度に第1フレーム数を乗じる計算をCPU7に実行させることにより、第1フレーム数に対応する第1距離をCPU7に認識させる機能を備えている。
この手段は、移動速度に第1フレーム数を乗じる計算をCPU7に実行させることにより、第1フレーム数に対応する第1距離がCPU7に認識される。たとえば、この手段では、移動速度たとえば0.2(m/フレーム)に第1フレーム数たとえば6(フレーム)を乗じる計算をCPU7に実行させることにより、第1フレーム数に対応する第1距離たとえば1.2(m)がCPU7に認識される。
第2距離認識手段56は、野手キャラクタの移動速度に第2フレーム数を乗じる計算をCPU7に実行させることにより、第2フレーム数に対応する第2距離をCPU7に認識させる機能を備えている。
この手段は、野手キャラクタの移動速度に第2フレーム数を乗じる計算をCPU7に実行させることにより、第2フレーム数に対応する第2距離がCPU7に認識される。たとえば、この手段は、移動速度たとえば0.2(m/フレーム)に第2フレーム数たとえば10(フレーム)を乗じる計算をCPU7に実行させることにより、第2フレーム数に対応する第2距離たとえば2.0(m)がCPU7に認識される。なお、第2フレーム数の値たとえば10(フレーム)という値は、ゲームプログラムにおいて予め規定されている。
移動状態データ算出手段57は、ボールキャラクタの移動状態を示す移動状態データをCPU7に算出させる機能を備えている。
この手段では、ボールキャラクタの移動状態を示す移動状態データがCPU7により算出される。詳細には、この手段では、ゲーム空間における、ボールキャラクタが移動する位置を示す位置座標データ、移動中のボールキャラクタの各位置における時刻を示す時刻データ、および移動中のボールキャラクタの各位置におけるボールキャラクタの移動速度を示す移動速度データがCPU7により算出される。
この手段では、たとえば、打者キャラクタによりボールキャラクタが打ち返された時点を基準として、打者キャラクタによりボールキャラクタが打ち返された時点から打ち返されたボールキャラクタが目標位置(打ち返されたボールがフライ又はライナーの場合は落下位置、打ち返されたボールがゴロの場合はゴロの到達位置)に到達する時点までの間におけるボールキャラクタの軌道上の各位置における、ボールキャラクタの位置座標データ、ボールキャラクタの時刻データ、およびボールキャラクタの移動速度データがCPU7により算出される。
これらの各データは、軌道方程式に基づいて、時系列に沿ってCPU7により算出される。なお、打者キャラクタによりボールキャラクタが打ち返された時点は、軌道方程式により規定される軌道上をボールキャラクタが移動を開始する時刻に対応し、ボールキャラクタが目標位置に到達する時点は、軌道方程式により規定される軌道を移動するボールキャラクタが落下位置又は到達位置に到達する時刻に対応する。また、軌道上をボールキャラクタが移動を開始する位置は、打者キャラクタのミートカーソルの領域内の少なくとも1つ座標データがボールキャラクタの表示範囲内の少なくとも1つの座標データと一致したとCPU7により判断された時のボールキャラクタの位置に対応する。
ここでは、ボールキャラクタの軌道の算出は、次のように行われる。まず、ボールキャラクタの質量に対応する質量データ、ボールキャラクタの空気抵抗に対応する空気抵抗データ、打者キャラクタのミートカーソルの領域内の少なくとも1つ座標データがボールキャラクタの表示範囲内の少なくとも1つの座標データと一致したとCPU7により判断された時のボールキャラクタの位置を示す初期位置座標データと、ボールキャラクタの初速度に対応する初速度データと、ボールキャラクタの放出角度に対応する放出角度データとが、CPU7に認識される。次に、これら各種のデータをボールキャラクタの基礎軌道方程式(たとえばフライ又はライナーの場合:m(d2x/dt2)=-r(dx/dt)、m(d2z/dt2)=-mg-r(dz/dt))に考慮して、ボールキャラクタの軌道が算出される。具体的には、ゲームプログラムにおいては、上記の各種の条件が考慮されたボールキャラクタの軌道方程式が離散化された状態で記述されており、この離散化された軌道方程式に上記に示した各種のデータが代入される。このように各種のデータが代入された離散化後の軌道方程式を単位時間(dt)ごとに時間進行させる計算をCPU7に実行させることにより、各時刻における、ボールキャラクタの位置座標データおよびボールキャラクタの移動速度データを算出することができる。また、時刻データは、打者キャラクタによりボールキャラクタが打ち返された時点の時刻を基準として、打者キャラクタによりボールキャラクタが打ち返された時点の時刻に単位時間を順次加算する処理をCPU7に実行させることにより求められる。なお、ボールキャラクタの位置座標データ、ボールキャラクタの時刻データ、およびボールキャラクタの移動速度データは、RAM12に格納される。
ボール捕球可能領域認識手段58は、ボールキャラクタの位置を含むボール捕球可能領域をCPU7に認識させる機能を備えている。詳細には、ボール捕球可能領域認識手段は、ボールキャラクタの位置を中心としたボール捕球可能領域を第1距離に基づいてCPU7に認識させる機能を備えている。
この手段では、ボールキャラクタの位置を含むボール捕球可能領域がCPU7に認識される。たとえば、この手段では、ボールキャラクタの位置を中心としたボール捕球可能領域が第1距離に基づいてCPU7に認識される。具体的には、ボールキャラクタの位置を中心とし第1距離を半径とした第1円状領域がボール捕球可能領域としてCPU7に認識される。ここで、本実施形態において用いられるボールキャラクタの位置とは、打ち返されたボールキャラクタがフライ又はライナーの状態で移動している場合はボールキャラクタの落下位置に対応し、打ち返されたボールキャラクタがゴロの状態で移動している場合は移動中のボールの位置に対応している。なお、この第1円状領域はxy平面上に形成される。
野手監視領域認識手段59は、ボール捕球可能領域を含む野手監視領域をCPU7に認識させる機能を備えている。詳細には、野手監視領域認識機能は、ボールキャラクタの位置を中心とした野手監視領域を第2距離に基づいてCPU7に認識させる機能を備えている。
この手段では、ボール捕球可能領域を含む野手監視領域がCPU7に認識される。たとえば、この手段では、ボールキャラクタの位置を中心とした野手監視領域が第2距離に基づいてCPU7に認識される。具体的には、ボールキャラクタの位置を中心とし第2距離を半径とした第2円状領域が野手監視領域としてCPU7に認識される。なお、この第2円状領域はxy平面上に形成される。
ボールキャラクタ表示手段60は、ボールキャラクタが軌道上を移動する状態を、ボールキャラクタ用の画像データを用いてテレビジョンモニタ20に表示する機能を備えている。
この手段では、ボールキャラクタが軌道上を移動する状態が、ボールキャラクタ用の画像データを用いてテレビジョンモニタ20に表示される。たとえば、この手段では、打者キャラクタによりボールキャラクタが打ち返された時点からボールキャラクタが目標位置に到達する時点までの間においてボールキャラクタが軌道上を移動する状態が、ボールキャラクタ用の画像データを用いて、ボールキャラクタの位置座標データにより規定されるボールキャラクタの軌道上の位置に連続的に表示される。ボールキャラクタが移動する状態をボールキャラクタの軌道上の位置に連続的に表示するときに必要となる各瞬間の時刻は、ボールキャラクタの時刻データにより規定されている。
第1キャラクタ位置認識手段61は、ボールキャラクタの位置をCPU7に認識させる機能を備えている。
この手段では、ボールキャラクタの位置がCPU7に認識される。たとえば、この手段では、ボールキャラクタの位置を示す位置座標データがCPU7に認識される。具体的には、ボールキャラクタがテレビジョンモニタ20に連続的に表示されている状態において、ボールキャラクタの各時刻の位置を示す位置座標データがCPU7に認識される。
野手キャラクタ表示手段62は、野手キャラクタが移動する状態を、野手キャラクタ用の画像データを用いてテレビジョンモニタ20に表示する機能を備えている。
この手段では、野手キャラクタが移動する状態が、野手キャラクタ用の画像データを用いてテレビジョンモニタ20に表示される。たとえば、この手段では、コントローラ17の上方向キー17U、下方向キー17D、左方向キー17L、右方向キー17R、左スティック17SL、および右スティック17SRのいずれかのキー(又はスティック)が操作されたときにコントローラ17から発行される、野手キャラクタを上下左右に移動させるための信号が、CPU7に認識されたときに、野手キャラクタをコントローラ17のキー又はスティックの操作方向に移動させるための命令が、CPU7から発行される。すると、野手キャラクタがコントローラ17の操作方向に移動する状態が、野手キャラクタ用の画像データを用いて、テレビジョンモニタ20に表示される。
第2キャラクタ位置認識手段63は、野手キャラクタの位置をCPU7に認識させる機能を備えている。
この手段では、野手キャラクタの位置がCPU7に認識される。たとえば、この手段では、コントローラ17を操作することにより野手キャラクタがテレビジョンモニタ20において移動している状態において、野手キャラクタの位置を示す位置座標データがCPU7に連続的に認識される。
第2キャラクタ位置判断手段64は、野手監視領域に野手キャラクタが位置するか否かをCPU7に判断させる機能を備えている。
この手段では、野手監視領域に野手キャラクタが位置するか否かがCPU7により判断される。たとえば、この手段では、ボールキャラクタの位置座標データおよび野手キャラクタの位置座標データに基づいて、ボールキャラクタと野手キャラクタとの距離を算出する計算がCPU7により実行される。ここでは、ボールキャラクタの位置座標データの2乗と野手キャラクタの位置座標データの2乗との和を(1/2)乗する計算をCPU7に実行させることにより、ボールキャラクタと野手キャラクタとの間の距離が算出される。
たとえば、ボールキャラクタの位置座標が(xb,yb,zb)であり野手キャラクタの位置座標が(xk,yk,zk)である場合、ボールキャラクタと野手キャラクタとの間の距離は、ボールキャラクタのxy座標および野手キャラクタのxy座標を用いて、「((xk−xb)2+(yk−yb)2)1/2」式を用いて算出される。そして、このボールキャラクタと野手キャラクタとの間の距離が第2距離r2(第2円状領域の半径)より小さいか否かがCPU7により判断される。そして、ボールキャラクタと野手キャラクタとの間の距離が第2距離r2(第2円状領域の半径)より小さいとCPU7により判断された場合に、野手監視領域に野手キャラクタが位置すると判断される。一方で、ボールキャラクタと野手キャラクタとの間の距離が第2距離r2(第2円状領域の半径)より大きいとCPU7により判断された場合に、野手監視領域に野手キャラクタが位置しないと判断される。
なお、本実施形態では野手監視領域が円状である場合の例を示すが、野手監視領域は必ずしも円状である必要はない。たとえば、野手監視領域が円状でない場合は、野手監視領域の範囲内の位置座標データのうちの少なくともいずれか1つの位置座標データと野手キャラクタの位置座標データとが一致するか否かをCPU7に判断させることにより、野手監視領域に野手キャラクタが位置するか否かをCPU7に判別させることができる。この場合、野手監視領域の範囲内の位置座標データのうちの少なくともいずれか1つの位置座標データと野手キャラクタの位置座標データとが一致したときには、野手監視領域に野手キャラクタが位置すると判断される。一方で、野手監視領域の範囲内の位置座標データのうちのいずれの位置座標データとも野手キャラクタの位置座標データが一致しなかったときには、野手監視領域に野手キャラクタが位置しないと判断される。なお、この場合は、野手監視領域がCPU7に認識されたときに、野手監視領域の内部の位置座標に対応する位置座標データが、RAM12に格納され、RAM12に格納された位置座標データがCPU7に認識される。
命令対象キャラクタ認識手段65は、野手監視領域に野手キャラクタが位置するとCPU7に判断された場合に、野手監視領域に位置する野手キャラクタを、ボールキャラクタの位置への移動命令を発行する対象となる野手キャラクタとしてCPU7に認識させる機能を備えている。
この手段では、野手監視領域に野手キャラクタが位置するとCPU7に判断された場合に、野手監視領域に位置する野手キャラクタが、ボールキャラクタの位置への移動命令の発行対象となるキャラクタとしてCPU7に認識される。具体的には、野手監視領域に野手キャラクタが位置するとCPU7に判断された場合、まず、野手キャラクタの現在位置を示す位置座標データがRAM12に格納され、RAM12に格納された野手キャラクタの位置座標データがCPU7に認識される。次に、コントローラ17を操作することにより野手キャラクタの移動後の位置を示す位置座標データがRAM12に格納され、RAM12に格納された野手キャラクタの位置座標データがCPU7に認識される。このように、野手監視領域における野手キャラクタの位置座標データが連続的にRAM12に格納され、RAM12に連続的に格納された野手キャラクタの位置座標データをCPU7に認識させることにより、野手キャラクタの移動位置の監視がCPU7により行われる。
第1キャラクタ位置判断手段66は、ボール捕球可能領域に野手キャラクタが位置するか否かをCPU7に判断させる機能を備えている。
この手段では、ボール捕球可能領域に野手キャラクタが位置するか否かがCPU7により判断される。たとえば、この手段では、ボールキャラクタの位置座標データおよび野手キャラクタの位置座標データに基づいて、ボールキャラクタと野手キャラクタとの距離を算出する計算がCPU7により実行される。ここでは、ボールキャラクタの位置座標データの2乗と野手キャラクタの位置座標データの2乗との和を(1/2)乗する計算をCPU7に実行させることにより、ボールキャラクタと野手キャラクタとの間の距離が算出される。この距離は、第2キャラクタ位置判断手段64において示した式と同様の式を用いることにより算出される。そして、このボールキャラクタと野手キャラクタとの間の距離が第1距離(第1円状領域の半径)より小さいか否かがCPU7により判断される。そして、ボールキャラクタと野手キャラクタとの間の距離が第1距離(第1円状領域の半径)より小さいとCPU7により判断された場合に、ボール捕球可能領域に野手キャラクタが位置すると判断される。一方で、ボールキャラクタと野手キャラクタとの間の距離が第1距離(第1円状領域の半径)より大きいとCPU7により判断された場合に、ボール捕球可能領域に野手キャラクタが位置しないと判断される。
なお、本実施形態ではボール捕球可能領域が円状である場合の例を示すが、ボール捕球可能領域は必ずしも円状である必要はない。たとえば、ボール捕球可能領域が円状でない場合は、ボール捕球可能領域の範囲内の位置座標データのうちの少なくともいずれか1つの位置座標データと野手キャラクタの位置座標データとが一致するか否かをCPU7に判断させることにより、ボール捕球可能領域に野手キャラクタが位置するか否かをCPU7に判別させることができる。この場合、ボール捕球可能領域の範囲内の位置座標データのうちの少なくともいずれか1つの位置座標データと野手キャラクタの位置座標データとが一致したときには、ボール捕球可能領域に野手キャラクタが位置すると判断される。一方で、ボール捕球可能領域の範囲内の位置座標データのうちのいずれの位置座標データとも野手キャラクタの位置座標データが一致しなかったときには、ボール捕球可能領域に野手キャラクタが位置しないと判断される。なお、この場合は、ボール捕球可能領域がCPU7に認識されたときに、ボール捕球可能領域の内部の位置座標に対応する位置座標データが、RAM12に格納され、RAM12に格納された位置座標データがCPU7に認識される。
移動命令発行手段67は、ボール捕球可能領域に野手キャラクタが位置するとCPU7に判断された場合に、野手キャラクタをボールキャラクタの位置へと移動させるための移動命令をCPU7に発行させる機能を備えている。詳細には、移動命令発行手段は、ボール捕球可能領域に野手キャラクタが位置するとCPU7に判断された場合に、野手キャラクタの移動に関する入力部からの入力信号の受け付けをCPU7に拒否させ、野手キャラクタをボールキャラクタの位置へと移動させるための移動命令をCPU7に発行させる機能を備えている。
この手段では、ボール捕球可能領域に野手キャラクタが位置するとCPU7に判断された場合に、野手キャラクタをボールキャラクタの位置へと移動させるための移動命令がCPU7から発行される。たとえば、この手段では、ボール捕球可能領域に野手キャラクタが位置するとCPU7に判断された場合に、野手キャラクタの移動に関する入力部からの入力信号の受け付けがCPU7により拒否される。そして、野手キャラクタをボールキャラクタの位置へと移動させるための移動命令がCPU7から発行される。具体的には、野手監視領域においてCPU7の監視下にある野手キャラクタがボール捕球可能領域に移動し、この野手キャラクタがボール捕球可能領域に位置したとCPU7に判断された場合に、野手キャラクタを移動させるための入力信号がコントローラ17から発行されたとしても、この入力信号はCPU7に拒否される。そして、CPU7の監視下にある野手キャラクタをボールキャラクタの位置へと移動させるための移動命令がCPU7から発行される。
制御キャラクタ表示手段68は、移動命令がCPU7から発行されたときに、野手キャラクタがボールキャラクタの位置へと移動する状態を、野手キャラクタの画像データを用いてテレビジョンモニタ20に表示する機能を備えている。詳細には、この手段は、移動命令がCPU7から発行されたときに、野手キャラクタが第1フレーム数でボールキャラクタの位置へと移動する状態を、野手キャラクタの画像データを用いてテレビジョンモニタ20に表示する機能を備えている。
この手段では、移動命令がCPU7から発行されたときに、野手キャラクタがボールキャラクタの位置へと移動する状態が、野手キャラクタの画像データを用いてテレビジョンモニタ20に表示される。たとえば、この手段では、移動命令がCPU7から発行されたときに、野手キャラクタが第1フレーム数たとえば6フレームでボールキャラクタの位置へと移動する状態が、野手キャラクタの画像データを用いてテレビジョンモニタ20に表示される。具体的には、移動命令がCPU7から発行されたときに、野手キャラクタが捕球姿勢に入ってからボールキャラクタを捕球するまでの連続動作に対応する6フレーム分の画像データがCPU7に認識される。そして、ボール捕球可能領域に野手キャラクタが位置するとCPU7に判断されたときの野手キャラクタの位置座標データとボールキャラクタの位置座標データとに基づいて、野手キャラクタとボールキャラクタとを結ぶ線を6等分する計算をCPU7に実行させることにより、野手キャラクタとボールキャラクタとの間の5点の位置座標を示す位置座標データが算出される。そして、この5点の位置座標データとボールキャラクタの位置座標とからなる6点分の位置座標データとに基づいて、野手キャラクタ側の1点目の位置からボールキャラクタの位置へと野手キャラクタが捕球姿勢を変えながらボールキャラクタを捕球する状態が、6フレーム分の画像データを用いてテレビジョンモニタ20に表示される。
なお、野手キャラクタ側の1点目の位置からボールキャラクタの位置までの各位置において用いられる野手キャラクタ用の画像データは、捕球開始姿勢から手を伸ばして捕球する姿勢へと徐々に捕球姿勢が変化する6フレーム分の画像データである。また、ボールキャラクタの位置において用いられる野手キャラクタ用の画像データは、手を伸ばして捕球する姿勢に対応する1フレーム分の画像データである。ここで用いられる画像データは、ゲームプログラムのロード時に記録媒体10からRAM12にロードされ、RAM12に格納されている。
〔野球ゲームにおける野手キャラクタの捕球制御システムの処理フローと説明〕
次に、野球ゲームにおける野手キャラクタの捕球制御システムの具体的な内容について説明する。また、図8に示す野手キャラクタの捕球制御システムに関するフローについても同時に説明する。
ここでは、守備側のキャラクタをプレイヤが動作させ、打撃キャラクタを対戦相手のプレイヤが動作させる場合を例として説明を行うものとする。
まず、野球ゲームプログラムがゲーム装置にロードされたときに、野球ゲームが実行される3次元ゲーム空間がCPU7に認識される(S1)。このとき、このゲーム空間に規定される基本座標データがCPU7に認識される。そして、このゲーム空間に配置される野手キャラクタ101および打者キャラクタ102の初期位置としての位置座標データが、CPU7に認識される。そして、各キャラクタの画像データが、CPU7に認識される。
また、各野手キャラクタ101に関するデータが、CPU7に認識される。各野手キャラクタ101に関するデータには、たとえば単位フレームあたりの移動距離データがある。ここでは、各野手キャラクタ101の移動距離データにより規定される移動距離は、0.2(m/フレーム)と定められている。これら各データおよび画像データは、ゲームプログラムのロード時に記録媒体10からRAM12にロードされ、RAM12に格納されている。
続いて、野球ゲームの試合を開始するにあたって各種の設定を行うための複数の設定画面がテレビジョンモニタ20に表示される。これら設定画面では、プレイヤはチーム選択や試合レベル等の設定を行うことができる。たとえば、図3に示すように、試合レベルを設定するための試合レベル設定画面がテレビジョンモニタ20に表示され、試合レベルが選択できるようになっている。ここでは、「初心者」、「ノーマル」、および「上級」の3種類の試合レベルが用意されており、これら各レベルに対応した項目(「初心者項目」201、「ノーマル項目」202、「上級項目」203)が、各項目用の画像データを用いてテレビジョンモニタ20に表示される。
続いて、コントローラ17の上方向キー17U又は下方向キー17Dを操作することによって、テレビジョンモニタ20に表示された、「初心者項目」201、「ノーマル項目」202、および「上級項目」203のいずれか1つの項目が選択されると(S2)、各項目に対応するフレーム数が選択的にCPU7に認識され、このフレーム数が第1フレーム数としてCPU7に認識される(S3)。たとえば、「初心者項目」201が選択された場合は、フレーム数として6フレームがCPU7に認識され、この6フレームというフレーム数が第1フレーム数としてCPU7に認識される。また、「ノーマル項目」202が選択された場合は、フレーム数として2フレームがCPU7に認識され、この2フレームというフレーム数が第1フレーム数としてCPU7に認識される。さらに、「上級項目」203が選択された場合は、フレーム数として0フレームがCPU7に認識され、この0フレームというフレーム数が第1フレーム数としてCPU7に認識される。
なお、各項目と各項目に対応するフレーム数とは、ゲームプログラムにおいて予め規定されており、各項目の選択信号がコントローラ17から発行されると、選択信号に対応するフレーム数がCPU7により認識される。そして、このフレーム数の値を第1フレーム数用の変数パラメータに代入する処理をCPU7に実行させる。このようにして、第1フレーム数がCPU7により設定され認識される。ここでは、「初心者項目」201が選択された場合すなわち第1フレーム数として6フレームが選択された場合を例として説明を行うものとする。
続いて、単位フレームあたりの野手キャラクタ101の移動距離が野手キャラクタ101の移動速度としてCPU7に認識される(S4)。単位フレームあたりの野手キャラクタ101の移動距離は0.2(m/フレーム)としてCPU7に認識されており、この0.2(m/フレーム)という値が野手キャラクタ101の移動速度としてCPU7に認識される。すると、野手キャラクタ101の移動速度たとえば0.2(m/フレーム)に第1フレーム数たとえば6(フレーム)を乗じる計算をCPU7に実行させることにより、第1フレーム数に対応する第1距離r1たとえば1.2(m)がCPU7に認識される(S5)。また、野手キャラクタ101の移動速度たとえば0.2(m/フレーム)に第2フレーム数たとえば10(フレーム)を乗じる計算をCPU7に実行させることにより、第2フレーム数に対応する第2距離r2たとえば2.0(m)がCPU7に認識される(S6)。
次に、試合開始命令がCPU7から発行されると(S7)、図4に示すように、攻撃画面がテレビジョンモニタ20に表示される。攻撃画面は、ゲーム空間を捕手方向から見たときの画面である。この攻撃画面では、投手キャラクタを含む野手キャラクタ101と打者キャラクタ102とが、各キャラクタの画像データを用いて、CPU7に認識された各キャラクタの位置座標データにより規定される位置においてテレビジョンモニタ20に表示される。また、ミートカーソルMKが、ミートカーソル用の画像データを用いて、テレビジョンモニタ20に表示される(S8)。
続いて、コントローラ17が操作されることにより、投手キャラクタ101の投球コースおよび球種がCPU7に認識され投手キャラクタ101へのボールのリリース命令がCPU7から発行されると、ボールキャラクタ110がCPU7に認識された投球コースへCPU7に認識された球種で移動する状態が、ボールキャラクタ用の画像データを用いて、テレビジョンモニタ20に表示される(S9)。
続いて、リリースされたボールキャラクタ110がテレビジョンモニタ20に表示された状態で、コントローラ17の十字ボタンの上方向キー17U、下方向キー17D、左方向キー17L、又は右方向キー17Rが相手プレイヤにより操作されると、このコントローラ17からの入力信号に基づいて、ミートカーソルMKを操作方向に移動させるためのカーソル移動命令がCPU7から発行される。すると、各キーの押下回数に応じて操作方向に移動するミートカーソルMKの中心位置(図中では十字記号にて表示)を示す位置座標データがCPU7に認識される。このときに、ミートカーソルMKの位置座標データを含む、ミートカーソルMKの領域に対応するミートカーソルMKの領域内の座標データが、CPU7に認識される。すると、各キーの押下回数に応じてミートカーソルMKが操作方向に移動する状態が、ミートカーソルMKの位置座標データを基準として、テレビジョンモニタ20に表示される(S10)。
続いて、コントローラ17の第3ボタン17cが相手プレイヤにより操作されると、このコントローラ17からの入力信号に基づいて、打者キャラクタ102にスイング動作を開始させるためのスイング開始命令がCPU7から発行される。すると、打者キャラクタ102がスイング動作する状態が、打者キャラクタ102用の画像データを用いて、テレビジョンモニタ20に表示される(S11)。
続いて、打者キャラクタ102の動作時にミートカーソルMKの領域内の少なくとも1つ座標データとボールキャラクタ110の表示範囲内の少なくとも1つの座標データとが一致するか否かがCPU7により判断される(S12)。そして、ミートカーソルMKの領域内の少なくとも1つ座標データとボールキャラクタ110の表示範囲内の少なくとも1つの座標データとが一致したとCPU7により判断された場合、ボールキャラクタ110の移動状態を示す移動状態データがCPU7により算出される(S12でYes)。
具体的には、ボールキャラクタ110が打者キャラクタ102により打ち返された場合に(S12でYes)、ボールキャラクタ110の移動状態を示す移動状態データがCPU7により算出される(S13)。ここでは、打者キャラクタ102によりボールキャラクタ110が打ち返された時点を基準として、打者キャラクタ102によりボールキャラクタ110が打ち返された時点から打ち返されたボールキャラクタ110が目標位置Po(図5および図6を参照:打ち返されたボールがフライ又はライナーの場合は落下位置、打ち返されたボールがゴロの場合はゴロの到達位置)に到達する時点までの間におけるボールキャラクタ110の軌道150上の各位置における、ボールキャラクタ110の位置座標データ、ボールキャラクタ110の時刻データ、およびボールキャラクタ110の移動速度データが軌道方程式に基づいてCPU7により算出される。
すると、守備画面がテレビジョンモニタ20に表示される。守備画面は、図5および図6に示すように、ゲーム空間を俯瞰的に見たときの画面である。なお、図5および図6では、野手キャラクタ101が白丸印で示されており、打者キャラクタ102が三角印で示されている。また、ボールキャラクタ110はX印で示されており、ボールキャラクタ110の軌道150は破線で示されている。図5および図6では、野手キャラクタ101、打者キャラクタ102、およびボールキャラクタ110が記号で簡略表示されている。しかしながら、各キャラクタの記号の位置には、攻撃画面(図4を参照)と同様に、デフォルメされた各キャラクタが、画像データを用いてテレビジョンモニタ20に表示されている。
続いて、打者キャラクタ102によりボールキャラクタ110が打ち返された時点のボールキャラクタ110の位置を基準として、ボールキャラクタ110が上方又は平行に移動するか否かがCPU7により判断される(S14)。ここでは、打者キャラクタ102によりボールキャラクタ110が打ち返された時点のボールキャラクタ110の位置を基準位置(xb0,yb0,zb0)とすると、この基準位置に隣接するボールキャラクタ110の移動方向の位置座標(xb1,yb1,zb1)のz座標の値zb1が基準位置のボールキャラクタ110のz座標の値zb0以上(zb1≧zb0)であるか否かがCPU7により判断される。そして、「zb1≧zb0」であれば、ボールキャラクタ110が上方又は平行に移動すると判断され、「zb1<zb0」であれば、ボールキャラクタ110が下方に移動すると判断される。このようにして、ボールキャラクタ110が上方又は平行に移動するか否かがCPU7により判断される。
そして、ボールキャラクタ110が上方又は平行に移動するとCPU7に判断された場合(S14でYes)、ボールキャラクタ110の移動状態はフライ又はライナーの状態となり、図5(b)に示すように、ボールキャラクタ110の落下位置Poを中心とし第1距離r1を半径とした第1円状領域がボール捕球可能領域BRとしてCPU7に認識される(S15)。そして、ボールキャラクタ110の落下位置Poを中心とし第2距離r2を半径とした円状領域が野手監視領域YRとしてCPU7に認識される(S16)。すると、打者キャラクタ102によりボールキャラクタ110が打ち返された時点からボールキャラクタ110が落下位置Poに到達する時点までの間においてボールキャラクタ110が軌道150上を移動する状態が、ボールキャラクタ110用の画像データを用いて、ボールキャラクタ110の位置座標データにより規定されるボールキャラクタ110の軌道150上の位置に連続的に表示される(S17)。すると、ボールキャラクタ110がテレビジョンモニタ20に連続的に表示されている状態において、ボールキャラクタ110の各時刻の位置を示す位置座標データがCPU7に認識される(S18)。
一方で、打者キャラクタ102によりボールキャラクタ110が打ち返された時点のボールキャラクタ110の位置座標データを基準として、ボールキャラクタ110が下方に移動するとCPU7に判断された場合(S14でNo)、ボールキャラクタ110の移動状態はゴロの状態となり、図6(a)に示すように、打者キャラクタ102によりボールキャラクタ110が打ち返された時点からボールキャラクタ110が目標位置に到達する時点までの間においてボールキャラクタ110が軌道150上を移動する状態が、ボールキャラクタ110用の画像データを用いて、ボールキャラクタ110の位置座標データにより規定されるボールキャラクタ110の軌道150上の位置に連続的に表示される(S19)。すると、ボールキャラクタ110がテレビジョンモニタ20に連続的に表示されている状態において、ボールキャラクタ110の位置を示す位置座標データがCPU7に認識される(S20)。すると、図6(b)に示すように、移動中のボールキャラクタ110の位置を中心とし第1距離r1を半径とした第1円状領域がボール捕球可能領域BRとしてCPU7に認識される(S21)。この場合は、軌道上のボールキャラクタ110の各位置において第1距離r1を半径とした第1円状領域がボール捕球可能領域BRとしてCPU7に連続的に認識される。そして、移動中のボールキャラクタ110の位置を中心とし第2距離r2を半径とした円状領域が野手監視領域YRとしてCPU7に認識される(S22)。
続いて、ボールキャラクタ110に近い野手キャラクタ、たとえば、図5ではセンターの野手キャラクタ101A、図6ではサードの野手キャラクタ101BがCPU7に自動認識される(S23)。そして、コントローラ17の上方向キー17U、下方向キー17D、左方向キー17L、右方向キー17R、左スティック17SL、および右スティック17SRのいずれかのキー(又はスティック)が操作されると、この野手キャラクタ101A,101Bをコントローラ17のキー又はスティックの操作方向に移動させるための信号がコントローラ17から発行される。そして、この信号がCPU7に認識されたときに、野手キャラクタ101A,101Bをコントローラ17のキー又はスティックの操作方向に移動させるための命令が、CPU7から発行される。すると、野手キャラクタ101A,101Bがコントローラ17の操作方向に移動する状態が、野手キャラクタ用の画像データを用いて、テレビジョンモニタ20に表示される(S24)。たとえば、図5では、センターの野手キャラクタ101Aがボールキャラクタ110の落下位置Poに向かって移動する状態が、テレビジョンモニタ20に表示される。また、図6では、サードの野手キャラクタ101Aがボールキャラクタ110の移動方向に向かって移動する状態が、テレビジョンモニタ20に表示される。このように、野手キャラクタ101A,101Bが移動すると、移動中の野手キャラクタ101A,101Bの位置を示す位置座標データがCPU7に連続的に認識される(S25)。
続いて、ボールキャラクタ110の位置座標データおよび野手キャラクタ101A,101Bの位置座標データに基づいて、ボールキャラクタ110と野手キャラクタ101A,101Bとの距離を算出する計算がCPU7により実行される。ここでは、ボールキャラクタ110の位置座標データの2乗と野手キャラクタ101A,101Bの位置座標データの2乗との和を(1/2)乗する計算をCPU7に実行させることにより、ボールキャラクタ110と野手キャラクタ101A,101Bとの間の距離が算出される。そして、ボールキャラクタ110と野手キャラクタ101A,101Bとの間の距離が第2距離r2(第2円状領域の半径)以下であるか否かがCPU7により判断される(S25)。そして、ボールキャラクタ110と野手キャラクタ101A,101Bとの間の距離が第2距離r2(第2円状領域の半径)以下であるとCPU7により判断された場合(S25でYes)、野手監視領域YRに野手キャラクタ101A’,101B’が位置すると判断される。すると、野手キャラクタ101A’,101B’の現在位置を示す位置座標データがRAM12に格納され、RAM12に格納された野手キャラクタ101A’,101B’の位置座標データがCPU7に認識される。そして、コントローラ17を操作することにより、野手キャラクタ101A’,101B’をさらに移動させると、野手キャラクタ101A’,101B’の移動後の位置を示す位置座標データがRAM12に格納され、RAM12に格納された野手キャラクタ101A’,101B’の位置座標データがCPU7に認識される。このように、野手監視領域YRにおける野手キャラクタ101A’,101B’の位置座標データが連続的にRAM12に格納され、RAM12に連続的に格納された野手キャラクタ101A’,101B’の位置座標データをCPU7に認識させることにより、野手キャラクタ101A’,101B’の移動位置の監視がCPU7により行われる(S26)。
一方で、ボールキャラクタ110と野手キャラクタ101A,101Bとの間の距離が第2距離r2(第2円状領域の半径)より大きいとCPU7により判断された場合(S25でNo)、野手監視領域YRに野手キャラクタ101A,101Bが位置しないと判断される。そして、ステップ25(S25)が再実行される。
続いて、ボールキャラクタ110の位置座標データおよび野手キャラクタ101A’,101B’の位置座標データに基づいて、ボールキャラクタ110と野手キャラクタ101A’,101B’との距離を算出する計算がCPU7により実行される。ここでは、ボールキャラクタ110の位置座標データの2乗と野手キャラクタ101A’,101B’の位置座標データの2乗との和を(1/2)乗する計算をCPU7に実行させることにより、ボールキャラクタ110と野手キャラクタ101A’,101B’との間の距離が算出される。このボールキャラクタ110と野手キャラクタ101A’,101B’との間の距離が第1距離r1(第1円状領域の半径)以下であるか否かがCPU7により判断される(S27)。そして、ボールキャラクタ110と野手キャラクタ101A’,101B’との間の距離が第1距離r1(第1円状領域の半径)以下であるとCPU7により判断された場合、ボール捕球可能領域BRに野手キャラクタ101A”,101B”が位置すると判断される。一方で、ボールキャラクタ110と野手キャラクタ101A’,101B’との間の距離が第1距離r1(第1円状領域の半径)より大きいとCPU7により判断された場合、ボール捕球可能領域BRに野手キャラクタ101A,101Bが位置しないと判断される。
続いて、野手キャラクタ101A’,101B’が野手監視領域YRからボール捕球可能領域BRに移動し、この野手キャラクタ101A’,101B’がボール捕球可能領域BRに位置したとCPU7に判断された場合(S27でYes)、野手キャラクタ101A”,101B”を移動させるための入力信号がコントローラ17から発行されたとしても、この入力信号の受け付けはCPU7に拒否される(S28)。そして、野手キャラクタ101A”,101B”をボールキャラクタ110の落下位置又は移動中のボールキャラクタ110の位置に移動させるための移動命令がCPU7から発行される。すると、野手キャラクタ101A”,101B”が捕球姿勢に入ってからボールキャラクタ110を捕球するまでの連続動作に対応する6フレーム分の画像データがCPU7に認識される(S29)。
そして、ボール捕球可能領域BRに野手キャラクタ101A”,101B”が位置するとCPU7に判断されたときの野手キャラクタ101A”,101B”の位置座標データとボールキャラクタ110の位置座標データとに基づいて、野手キャラクタ101A”,101B”とボールキャラクタ110とを結ぶ線を6等分する計算をCPU7に実行させることにより、野手キャラクタ101A”,101B”とボールキャラクタ110との間の5点の位置座標を示す位置座標データが算出される。図7は、この野手キャラクタ101B”の表示方法を説明するための図である。この図7では、前記5点は四角印で示されている。そして、この5点の位置を示す位置座標データとボールキャラクタ110の位置(図7では黒丸印およびX印)の位置座標とからなる6点分の位置座標データとに基づいて、野手キャラクタ101A”,101B”側の1点目の位置からボールキャラクタ110の位置へと野手キャラクタ101A”,101B”が捕球姿勢を変えながらボールキャラクタ110を捕球する状態が、6フレーム分の画像データを用いてテレビジョンモニタ20に表示される(S30、図7を参照)。
ここで、単位フレームごとの画像は当然ながら静止画であるので、野手キャラクタ101B”が第1距離r1を半径とした円状領域に到達してからボールの落下位置まで移動するときの表示は、6個のフレーム数それぞれに対応する、野手キャラクタが捕球を行うまでの6個の画像データが、順次、自動的に表示されることになる。従って、ゲームの設計段階では、捕球に至るまでの野手キャラクタの姿勢や体形の画像データ、特に特徴的な姿勢や体形の画像データを、各フレームに対応させるようにしておけばよい。これにより、野手キャラクタが棒立ちの状態から突然捕球姿勢に切り替わるといった不自然な動作が表示されるようなことがなくなり、違和感のないスムーズな野手キャラクタの表示が行われるようになる。すなわち、野手キャラクタがボールを自動的に捕球する動作を、違和感のなくスムーズに表示することができる。
〔他の実施形態〕
(a)前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての家庭用ビデオゲーム装置を用いた場合の例を示したが、ゲーム装置は、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
(b)本発明には、前述したようなゲームを実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、CD−ROM、DVD、MO、ROMカセット、その他のものが挙げられる。
(c)前記実施形態では野球ゲームに本発明を適用した場合の例を示したが、本発明は、前記実施形態に限定されず、サッカーゲームやバスケットボールゲームにおいてキャラクタがパスを受けるような場合、サッカーゲームにおいてキーパーがボールを捕球するような場合、およびテニスゲームにおいてキャラクタがボールを打ち返すような場合にも適用することができる。この場合にも、本発明と同様の効果を得ることができる。
(d)さらに異なった実施形態として、狩猟や格闘をモチーフにしたようなゲームに本発明を適用することも可能である。たとえば、プレイヤが操作する猫が逃げるネズミを追いかけるような場合に、猫をネズミに対して所定距離まで追いつかせることができれば、後はその猫がジャンプしてネズミを捕らえる動作をフレーム単位で表示する、といったシーンを有するゲームに、本発明を適用することができる。つまり、逃げるような動作を行う第1キャラクタをプレイヤが操作する第2キャラクタが追いかけて捕らえるようなシーンまたは組み付くようなシーンを有するゲームに、本発明を適用することができる。
(e)前記実施形態では、試合開始前にテレビジョンモニタ20に表示される設定画面において、「初心者」項目が選択された場合はフレーム数として6フレーム、「ノーマル」項目が選択された場合は2フレーム、さらに「上級」項目が選択された場合は0フレームがCPU7に認識されるとしているが、例えば、このような難易度の選択を無くして、常にフレーム数が4であるように設定するようにしても良い。