〔ゲーム装置の構成〕
図1は、本発明に係るゲームプログラムを適用しうるコンピュータの一例としての携帯ゲーム機1の外観図である。また、図2は、携帯ゲーム機1の一例としての制御ブロック図である。
携帯ゲーム機1は、図1に示すように、主に、本体2と、液晶モニタ部3と、基本操作部4と、マイク5と、スピーカ6とを備えている。モニタ部3は、本体2に設けられており、液晶モニタ3aを有している。ここでは、例えば、液晶モニタ3aが、静電接触入力式のモニタすなわちタッチパネル式のモニタになっている。この液晶モニタ3aでは、タッチパネルの表面全体に電界が形成されている。そして、この状態のタッチパネルの表面に、指示手段例えば指や導電性を有するペン等を、接触させると、液晶表面の表面電荷が変化する。そして、この表面電荷の変化が捕捉され、タッチパネル上の指やペン等の位置が検出される。ここでは、投影型のタッチパネルが用いられており、このタッチパネルでは多点同時検出が可能である。
基本操作部4は、ホームボタン4a、ボリュームポタン4b、およびスリープボタン4cを有している。ホームボタン4aは、本体2のタッチパネルの下部に設けられている。このホームボタン4aが押されると、ホーム画面が表示されたり、携帯ゲーム機1がスリープ状態から復帰したりする。ボリュームポタン4bは、本体2の側面上部に設けられている。このボリュームポタン4bの上部が押されると、音量が増加し、このボリュームポタン4bの下部が押されると、音量が減少する。スリープボタン4cは、本体2の上面に設けられている。このスリープボタン4cが押されると、携帯ゲーム機1がスリープ状態に移行する。
マイク5は、音出力用のマイク5aと、音入力用のマイク5bとを有している。音出力用のマイク5aは、本体2のタッチパネルの上部に設けられている。ゲームを実行する時や、電話通信する時や、音楽を聞く時等には、この音出力用のマイク5aから音が出力される。音入力用のマイク5bは、本体2に内蔵されており、本体2の下面に出力口が設けられている。電話通信する時や録音を行う時等には、この音入力用のマイク5bから音声が入力される。
スピーカ6は、本体2に内蔵されており、本体2の下面に出力口が設けられている。ゲームを実行する時や、音楽を聞く時や、録音を聞く時等には、このスピーカ6から音が出力される。なお、ゲーム機1には、イヤホンジャック等も設けられているが、これらについては説明を省略する。
また、携帯ゲーム機1は、図2に示すように、主に、制御部すなわち制御装置10と、通信部16と、記憶装置17とを、内部に有している。制御装置10は、マイクロプロセッサを利用したCPU(Central Processing Unit)11と、主記憶装置としてのROM(Read Only Memory)12と、RAM(Random Access Memory)13と、画像処理回路14と、サウンド処理回路15と、を有している。これらは、バス16を介してそれぞれが接続されている。
CPU11は、ゲームプログラムからの命令を解釈し、各種のデータ処理や制御を行う。ROM12は、ゲーム機1の基本的な制御(例えば起動制御)に必要なプログラム等を格納する。RAM13は、CPU11に対する作業領域を確保する。画像処理回路14は、CPU11からの描画指示に応じてモニタ部3を制御して、液晶モニタ3aに所定の画像を表示する。また、画像処理回路14にはタッチ入力検出回路14aが含まれている。タッチパネルに指示手段例えば指等を接触させたときに、接触信号がタッチ入力検出回路14aからCPU11へと供給され、接触位置がCPU11に認識される。また、液晶パネルに表示された対象物の位置において、タッチパネルに指示手段を接触させると、対象物の選択信号がタッチ入力検出回路14aからCPU11へと供給され、対象物がCPUに認識される。
サウンド処理回路15は、CPU11からの発音指示に応じたアナログ音声信号を生成して、音出力用のマイク5a及び/又はスピーカ6に出力する。また、音入力用のマイク5bから音が入力されたときに、アナログ音声信号をデジタル音声信号に変換する。
通信部16は、ゲーム実行時にデータ通信するための通信機能や、携帯電話として通信するための通信機能等を有している。データ通信用の通信機能には、ローカルワイヤレスネットーワーク機能や、ワイヤレスLANによるインターネット接続機能等が、含まれている。
通信部16は、通信制御回路20と通信インターフェイス21とを有している。通信制御回路20および通信インターフェイス21は、バス16を介してCPU11に接続されている。通信制御回路20および通信インターフェイス21は、CPU11からの命令に応じて、ゲーム機1をローカルワイヤレスネットーワーク又はワイヤレスLANによるインターネットに接続するための接続信号を制御し発信する。また、電話による通話時には、通信制御回路20および通信インターフェイス21は、CPU11からの命令に応じて、ゲーム機1を電話回線に接続するための接続信号を制御し発信する。
記憶装置17は、本体2に内蔵されており、バス16に接続される。例えば、記憶装置17には、記憶媒体としてのハードディスクやフラッシュメモリドライブ等が用いられる。
なお、バス16と各要素との間には必要に応じてインターフェイス回路が介在しているが、ここではそれらの図示は省略した。
以上のような構成のゲーム機1では、記憶装置17に格納されたゲームプログラムがロードされ、ロードされたゲームプログラムがCPU11で実行されることにより、プレイヤは様々なジャンルのゲームをモニタ部3上で遊戯することができる。また、通信制御回路20を介して、ワイヤレスネットワークにゲーム機1を接続したり、他のゲーム機と通信ケーブル等を介して接続したりすることで、他のゲーム機との間でデータのやり取りや対戦型のゲームを行うことができる。
〔本ゲームシステムにおける各種処理概要〕
本ゲームシステムにおいて実行されるゲームは、例えば、野球ゲームである。ここでは、野球ゲームを実行するためのゲームプログラムおよび各種のデータは、記憶装置17に格納されている。そして、野球ゲームが実行されるときに、このゲームプログラムおよび各種のデータは、RAM13にロードされる。
このようにして実行される野球ゲームでは、タッチパネル式の液晶モニタ部3a(以下、モニタ3aを呼ぶ)に、指示手段例えばプレイヤの指やタッチペン等を接触させることにより、各種の命令が指示される。図3は、本発明で主要な役割を果たす機能を説明するための機能ブロック図である。なお、以下に示す野球ゲームでは、指示手段が、指である場合を一例として、説明を行う。また、1フレームが、例えば1/60(sec)である場合を一例として説明を行う。
移動形態データ格納手段50は、投手キャラクタが有する複数の球種それぞれを規定するための球種データを、格納する機能を、備えている。
この手段では、投手キャラクタが有する複数の球種それぞれを規定するための球種データが、RAM13に格納される。なお、投手キャラクタが有する球種は、ゲームプログラムにおいて予め規定されている。また、各球種に対応する球種データは、記憶装置17に格納されており、野球ゲームが実行されるときに、RAM13にロードされる。
形態画像格納手段51は、複数の球種それぞれに対応する、一方向に長い球種用の画像を、格納する機能を備えている。
この手段では、複数の球種それぞれに対応する、一方向に長い球種用の画像データ、例えば矢印画像データが、RAM13に格納される。ここでは、例えば、上方向に向いた矢印画像データが、ストレート用の画像データとして用意され、下方向に向いた矢印画像データが、フォーク用の画像データとして用意される。また、左方向に向いた矢印画像データが、カーブ用の画像データとして用意され、右方向に向いた矢印画像データが、シュート用の画像データとして用意される。なお、これらの矢印画像データは、記憶装置17に格納されており、野球ゲームが実行されるときに、RAM13にロードされる。
キャラクタ能力設定手段52は、投手キャラクタの能力を設定する機能を備えている。
この手段では、投手キャラクタの能力、例えばコントロール能力が、設定される。ここでは、例えば、投手キャラクタのコントロール能力を規定するためのコントロール用の能力データを、CPU11に認識させることにより、コントロール能力が、設定される。また、投手キャラクタの他の能力についても同様に、各能力用の能力データをCPU11に認識させることにより、設定される。なお、各能力用の能力データ(コントロール用の能力データを含む)は、記憶装置17に格納されており、野球ゲームが実行されるときに、RAM13にロードされる。
基準特性認識手段53は、複数の球種それぞれに対する、ボールが移動するときの複数の移動特性に含まれるボールの移動速度およびボールの変化量それぞれに対する基準値を、認識する機能を備えている。
この手段では、複数の球種それぞれに対する、ボールが移動するときの複数の移動特性に含まれるボールの移動速度およびボールの変化量それぞれに対する基準値が、CPU11に認識される。ここでは、投手キャラクタからリリースされるボールの移動特性に対する基準値、例えばストレートの最適上限速度データおよび各変化球の最適上限変化量データ等が、CPU11に認識される。なお、ボールの移動特性に対する基準値、例えばストレートの最適上限速度データおよび各変化球の最適上限変化量データ等は、投手キャラクタごとに、所定の値が設定されている。また、ボールの移動特性に対する基準値は、記憶装置17に格納されており、野球ゲームが実行されるときに、RAM13にロードされる。
球種画像変更手段54は、ボールの移動速度の基準値およびボールの変化量の基準値の少なくともいずれか一方の基準値に応じて、複数の球種それぞれの球種用の画像の長さを変更する機能を備えている。
この手段では、ボールの移動速度の基準値およびボールの変化量の基準値の少なくともいずれか一方の基準値に応じて、複数の球種それぞれの球種用の画像の長さが、変更される。ここでは、例えば、ストレートの最適上限速度が速くなればなるほど、矢印の長さが長くなるように、矢印画像データを変更する処理が、CPU11により実行される。そして、変更後の矢印画像データが、RAM13に格納される。また、各変化球の最適上限変化量が大きくなればなるほど、矢印の長さが長くなるように、矢印画像データを変更する処理が、CPU11により実行される。そして、変更後の矢印画像データが、RAM13に格納される。
目標領域設定手段55は、投手キャラクタの投球コースを設定するための目標領域を、設定する機能を備えている。
この手段では、投手キャラクタの投球コースを設定するための目標領域が、設定される。ここでは、目標領域は、ストライクゾーンとボールゾーンとから構成されている。目標領域はマス目状に分割されている。例えば、目標領域は、5×5のマス目に分割される。この目標領域では、中央部の3×3のマス目の領域が、ストライクゾーンに対応し、中央部の3×3のマス目を取り囲む領域が、ボールゾーンに対応する。
例えば、目標領域をゲーム空間において定義するための、領域定義用の座標データを、CPU11に認識させることにより、目標領域がゲーム空間に設定される。ここでは、目標領域の4つの隅角部の位置を示す座標データが、領域定義用の座標データとして、用いられる。この4つの座標データは、ゲームプログラムにおいて予め規定されており、RAM13に格納されている。また、これら領域定義用の座標データに基づいて、各マス目の4つの隅角部の座標データが、CPU11により算出される。例えば、目標領域の縦および横それぞれを、等間隔に5分割したときの、各マス目の4つの隅角部の座標データが、CPU11により算出される。そして、各マス目の4つの隅角部の座標データが、RAM13に格納される。このように、目標領域の4つの隅角部の座標データ、および各マス目の4つの隅角部の座標データに基づいて、目標領域がゲーム空間に設定される。
領域変更手段56は、投手キャラクタの能力に応じて、目標領域に対する仮想カメラの視点の設定を変更することにより、目標領域の大きさを変更する機能を備えている。
この手段では、投手キャラクタの能力に応じて、目標領域に対する仮想カメラの視点の設定を変更する処理を、CPU11に実行させることにより、目標領域の大きさが変更される。例えば、投手キャラクタのコントロール能力が高くなるにつれて、モニタ3aに表示される目標領域が大きくなるように、ゲーム空間に設定された目標領域をズームイン及び/又は拡大する処理が、CPU11により実行される。ここでは、ゲーム空間に設定された目標領域に向いた仮想カメラの画角を、小さくする処理を、CPU11に実行させることにより、目標領域がズームインされる。また、ゲーム空間に設定された目標領域に向いた仮想カメラの位置を、目標領域の方向に移動する処理を、CPU11に実行させることにより、目標領域が拡大される。このようにして、目標領域の大きさが、変更される。
領域報知手段57は、目標領域の範囲を報知するための領域報知画像を、モニタ3aに表示する機能を備えている。
この手段では、目標領域の範囲を報知するための画像が、モニタ3aに表示される。例えば、ストライクゾーンの範囲を報知するための画像(ストライクゾーン用の報知画像)が、画像データを用いて、モニタ3aに表示される。また、目標領域がズームイン及び/又は拡大された場合、ズームイン及び/又は拡大された目標領域に含まれるストライクゾーン用の報知画像が、モニタ3aに表示される。なお、ここで用いられる画像データは、記憶装置17に格納されており、野球ゲームが実行されるときに、RAM13にロードされる。
接触位置認識手段58は、プレイヤの指がモニタ3aに接触したときに、プレイヤの指がモニタ3aに接触した接触位置を認識する機能を備えている。
この手段では、プレイヤの指がモニタ3aに接触したときに、プレイヤの指がモニタ3aに接触した接触位置が、認識される。例えば、プレイヤの指がモニタ3aに接触した場合、プレイヤの指がモニタ3aに接触した接触位置を示す座標データが、CPU11に認識され、RAM13に格納される。
指示位置判断手段59は、指が目標領域の内部に位置したか否かを、判断する機能を備えている。詳細には、この手段は、接触位置が目標領域の内部であるか否かを、判断する機能を備えている。
この手段では、指がモニタ3aに接触したときに、接触位置が、モニタ3aに表示された目標領域の内部であるか否かが、CPU11により判断される。例えば、接触位置の座標データが、モニタ3aに表示された目標領域の内部の複数の座標データのいずれか1つに一致するか否かが、CPU11により判断される。なお、ここでは、モニタ3aに表示された目標領域の4つの隅角部の座標データを、CPU11に認識させることにより、モニタ3aに表示された目標領域の内部の座標データが、定義される。
目標設定手段60は、指が目標領域の内部に位置した場合に、投手キャラクタがボールを投げ込む投球コースを設定する機能を備えている。詳細には、この手段は、接触位置が目標領域の内部である場合に、投手キャラクタがボールを投げ込む投球コースを設定する機能を備えている。
この手段では、接触位置が目標領域の内部である場合に、指がモニタ3aに接触した接触位置に対応するコースが、投球コースとして、設定される。例えば、指がモニタ3aに接触した接触位置を示す座標データが、CPU11に認識され、RAM13に格納される。そして、この接触位置の座標データに基づいて、この接触位置が含まれるモニタ3a上のマス目に対応する、ゲーム空間のマス目が、CPU11に認識される。そして、このゲーム空間のマス目の重心位置を示す座標データを計算する処理が、CPU11により実行される。すると、この重心位置の座標データが、投球コースの座標データとして、CPU11に認識され、RAM13に格納される。このように、投球コースは、マス目単位で設定される。
接触位置判断手段61は、指が目標領域の内部に位置した場合に、プレイヤの指がモニタ3aから離反したか否かを、判断する機能を備えている。詳細には、この手段は、接触位置が目標領域の内部である場合に、プレイヤの指がモニタ3aから離反したか否かを、判断する機能を備えている。
この手段では、接触位置が目標領域の内部である場合に、プレイヤの指がモニタ3aから離反したか否かが、CPU11により判断される。例えば、接触位置が目標領域の内部に位置する場合は、接触位置の座標データが、1フレームごとに、CPU11に認識される。また、接触位置が目標領域の内部であり、プレイヤの指が接触位置を起点としてモニタ3aに接触した状態で移動した場合、移動中の接触位置の座標データが、1フレームごとに、CPU11に認識される。そして、これら座標データが、所定の時間以上の間例えば1フレーム以上の間、CPU11に認識されなかった場合、指がモニタ3aから離反したと、CPU11により判断される。一方で、これら座標データが、CPU11に連続的に認識されている間は、指がモニタ3aに接触しているものと、CPU11により判断される。
球種報知手段62は、指が目標領域の内部に位置した場合に、指の接触位置を起点として所定の方向に延びる、複数の球種用の画像それぞれを、モニタ3aに表示する機能を備えている。詳細には、この手段は、接触位置が目標領域の内部である場合に、接触位置を起点として所定の方向に延びる、複数の球種用の画像それぞれを、モニタ3aに表示する機能を備えている。
この手段では、接触位置が目標領域の内部である場合に、接触位置を起点として所定の方向に延びる、複数の球種用の画像それぞれが、モニタ3aに表示される。例えば、接触位置が目標領域の内部に位置した場合、この接触位置の座標データが示す位置に、矢印画像の基端を配置する処理が、CPU11により実行される。すると、投手キャラクタが有する球種の数に応じて、この接触位置から放射状に延びる少なくとも1つの矢印画像が、RAM13に格納された画像データを用いて、モニタ3aに表示される。また、上述したように、矢印画像の長さが変更されたものについては、変更後の矢印画像が、RAM13に格納された画像データを用いて、モニタ3aに表示される。なお、ここでは、矢印の傘が付いていない端部を、基端という文言で表現し、矢印の傘が付いた端部を、先端という文言で表現する。
移動状態計算手段63は、プレイヤの指が目標領域の内部に位置し、プレイヤの指が接触位置を起点としてモニタ3aに接触した状態で移動したときに、プレイヤの指の移動に伴う接触位置の変化に基づいて、接触位置の移動状態を計算する機能を備えている。
この手段では、プレイヤの指が目標領域の内部に位置し、プレイヤの指が接触位置を起点としてモニタ3aに接触した状態で移動したときに、プレイヤの指の移動に伴う接触位置の変化に基づいて、接触位置の移動状態データが、CPU11により計算される。例えば、プレイヤの指が接触位置を起点としてモニタ3aに接触した状態で移動したときには、接触位置の移動方向データ、接触位置の移動速度データ、および接触位置の移動距離データを計算する処理が、CPU11により実行される。より詳細には、プレイヤの指が、接触位置を起点として、複数の球種用の画像の中のいずれか1つの球種用の画像が延びる方向に、モニタ3aに接触した状態で移動したときに、接触位置の移動方向データ、接触位置の移動速度データ、および接触位置の移動距離データを計算する処理が、CPU11により実行される。ここでは、各移動状態データは、指の移動に伴う接触位置の座標データおよび時間データに基づいて、CPU11により計算される。時間データは、指がモニタ部3aに接触した時点から、指がモニタ3aに離反した時点までの時間を示すデータである。また、この時間データは、RAM13に格納される。なお、接触位置の移動状態データには、接触位置の移動方向データ、接触位置の移動速度データ、および接触位置の移動距離データが含まれる。
球種設定手段64は、接触位置の移動状態に基づいて、ボールの球種を設定する機能を備えている。
この手段では、接触位置の移動状態データに基づいて、ボールの球種を設定する処理が、CPU11により実行される。ここでは、例えば、接触位置の移動方向データが、第1範囲、第2範囲、第3範囲、および第4範囲のいずれの範囲に含まれているか否かが、CPU11により判断される。ここでは、第1範囲は、ストレートに対応する範囲であり、第2範囲は、シュートに対応する範囲である。また、第3範囲は、フォークに対応する範囲であり、第4範囲は、カーブに対応する範囲である。そして、接触位置の移動方向データが含まれる範囲が、CPU11に認識されると、接触位置の移動方向データが含まれる範囲に対応する、球種データがCPU11に認識される。
例えば、接触位置の移動方向データが第1範囲に含まれる場合、ストレート用の球種データがCPU11に認識される。また、接触位置の移動方向データが第2範囲に含まれる場合、シュート用の球種データがCPU11に認識される。また、接触位置の移動方向データが第3範囲に含まれる場合、フォーク用の球種データがCPU11に認識される。さらに、接触位置の移動方向データが第4範囲に含まれる場合、カーブ用の球種データがCPU11に認識される。このようにして、ボールの球種が設定される。なお、これら第1範囲、第2範囲、第3範囲、および第4範囲それぞれを規定するための角度は、ゲームプログラムにおいて予め規定されており、RAM13に格納されている。
移動特性設定手段65は、ボールが移動するときの複数の移動特性それぞれを、設定する機能を備えている。
この手段では、ボールが移動するときの複数の移動特性データそれぞれを設定する処理が、CPU11により設定される。例えば、プレイヤの指がモニタ3aから離反した場合に、接触位置の移動状態データに基づいて、ボールが移動するときの複数の移動特性データそれぞれが、CPU11により設定される。詳細には、接触位置の移動速度データに基づいて、ボールが移動するときの移動速度データを設定する処理が、CPU11により実行される。また、接触位置の移動距離データに基づいて、ボールが移動するときの変化量データを設定する処理が、CPU11により実行される。さらに、接触位置の移動速度データに対応する加速度データに基づいて、ボールが移動するときの威力データを設定する処理が、CPU11により実行される。
なお、移動速度データとボールの移動速度との対応関係、移動距離データとボールの変化量との対応関係、および加速度データとボールの威力との対応関係は、ゲームプログラムにおいて予め規定されており、各対応関係を規定するためのデータは、RAM13に格納されている。
能力変更手段66は、接触位置の移動状態に基づいて、投手キャラクタの能力を、変更する機能を備えている。
この手段では、接触位置の移動状態データに基づいて、投手キャラクタの能力データを変更する処理が、CPU11により実行される。例えば、接触位置の移動速度データに対応するボールの移動速度データ、および接触位置の移動距離データに対応するボールの変化量データの少なくともいずれか一方が、基準値より大きくなった場合に、投手キャラクタの能力データが低くなるように、投手キャラクタの能力データが、変更される。
詳細には、プレイヤによりストレートが指示され、このときのボールの移動速度データが、ストレートの最適上限速度より大きくなった場合、投手キャラクタの能力データが低くなるように、投手キャラクタの能力データが、変更される。また、プレイヤにより変化球が指示され、このときのボールの変化量データが、変化球の最適上限変化量より大きくなった場合、投手キャラクタの能力データが低くなるように、投手キャラクタの能力データが、変更される。
移動オブジェクト表示手段67は、対戦画面において、投手キャラクタからリリースされたボールを表示する機能を、備えている。
この手段では、対戦画面において、投手キャラクタからリリースされたボールが、ボール用の画像データを用いて、モニタ3aに表示される。ここでは、投手キャラクタからリリースされたボールを、移動特性データに基づいて制御する処理が、CPU11により実行される。例えば、移動特性データに基づいて設定された、ボールの移動速度、ボールの変化量、およびボールの威力に基づいて、投手キャラクタからリリースされるボールの軌道を、計算する処理が、CPU11により実行される。そして、この軌道上を移動するボールが、ボール用の画像データを用いて、モニタ3aに表示される。なお、ボールの軌道を定義するための軌道方程式は、ゲームプログラムにおいて予め規定されており、RAM13に格納されている。
〔野球ゲームにおける投球用の命令指示システムの説明〕
次に、野球ゲームにおける投手用の命令指示システムの具体的な内容について説明する。また、図19および図20に示すフローについても同時に説明する。なお、図19は野球ゲームの全体概要を説明するためのフローであり、図20は上記システムを説明するためのフローである。
まず、携帯ゲーム機1の電源が投入され、携帯ゲーム機1が起動されると、野球ゲームプログラムが、記憶装置17例えばハードディスクから、RAM13にロードされ格納される。このときには、野球ゲームを実行する上で必要となる各種の基本ゲームデータも、同時に、記憶装置17からRAM13にロードされ格納される(S1)。
例えば、基本ゲームデータには、ゲーム空間用の各種の画像に関するデータが含まれている。ゲーム空間用の各種の画像に関するデータには、例えば、スタジアム用のモデルデータ、選手キャラクタ用のモデルデータ、および各種のオブジェクトのモデルデータ等が、含まれている。また、基本ゲームデータには、ゲーム空間用のモデルデータをゲーム空間に配置するための位置座標データが、含まれている。また、基本ゲームデータには、ゲーム空間に配置されたモデルを、モニタ3aに表示するための画像データが、含まれている。さらに、基本ゲームデータには、本システムで用いられる他の各種データも、含まれている。
なお、上記のモデルが、モデル用の位置座標データが示す位置において、ゲーム空間に配置されると、このモデルは、ゲーム空間に配置された仮想カメラにより1フレームごとに撮影され、ここで撮影されたモデル用の画像データが、RAM13に格納される。すると、このモデル用の画像データを用いて、モデル画像がモニタ3aに表示される。これら一連の処理を実行するための命令は、CPU11から指示される。
続いて、RAM13に格納された野球ゲームプログラムが、基本ゲームデータに基づいて、CPU11により実行される(S2)。すると、野球ゲームの起動画面がモニタ3aに表示される。すると、野球ゲームを実行するための各種の設定画面がモニタ3aに表示される。ここでは、例えば、野球ゲームのプレイモードを選択するためのモード選択画面が、モニタ3aに表示される(図示しない)。このモード選択画面に表示された複数のプレイモードの中から、いずれか1つのプレイモードを選択することによって、プレイモードが決定される(S3)。プレイモードには、例えば、12球団の中からチームを選択して1試合の対戦を楽しむ対戦モード、および12球団の中からチームを選択してペナントレースを戦うペナントモード等が、用意されている。そして、対戦モード用のボタン又はペナントモード用のボタンの位置において、指をモニタ3aに接触させることによって、プレイモードは選択される。
続いて、モード選択画面で選択されたプレイモードにおいて、各種のイベントが、CPU11により実行される(S4)。ここで実行される各種のイベントには、例えば、自動制御プログラム(AIプログラム、Artificial Intelligence Program)に基づいてCPU11により自動制御されるイベントや、プレイヤがモニタ3aに指を接触することによって入力された入力情報(信号)に基づいてプレイヤにより手動制御されるイベントがある。また、選手キャラクタの制御には、自動制御プログラムに基づいて選手キャラクタに命令を自動的に指示する制御(自動制御)や、モニタ3aからの入力信号に基づいて選手キャラクタに命令を指示する制御(手動制御)等がある。このように、本野球ゲームでは、モニタ3aからの指示や自動制御プログラムからの指示に応じて、イベントが制御されたり、選手キャラクタに命令が指示されたりする。
なお、ここに示す自動制御プログラムは、野球ゲームプログラムに含まれている。また、この自動制御プログラムとは、プレイヤに代わって、イベントに関する命令および選手キャラクタに対する命令を自動的に制御するためのプログラムである。この自動制御プログラムは、プレイ状況に応じて、各種命令をCPU11に指示する。なお、各プレイ状況に対応する命令は、自動制御プログラムにおいて予め規定されている。
続いて、選択されたプレイモードが終了したか否かが、CPU11により判断される(S5)。具体的には、プレイモードが終了したことを示す命令が発行されたか否かが、CPU11により判断される。そして、プレイモードが終了したことを示す命令が発行されたとCPU11により判断された場合(S5でYes)、ゲーム継続用のデータをRAM13に格納する処理が、CPU11により実行される。そして、ゲーム継続用のデータがRAM13に格納されると、この野球ゲームを終了するか否かを選択する選択画面が、モニタ3aに表示される(S6)。そして、この選択画面において、プレイヤが自分の指をモニタ3aに接触させることにより、野球ゲームの終了を示す項目が選択されると(S6でYes)、野球ゲームを終了するための処理がCPU11により実行される(S7)。一方で、この選択画面において、プレイヤが自分の指をモニタ3aに接触させることにより、野球ゲームの継続を示す項目が選択されると(S6でNo)、ステップ3(S3)のモード選択画面が、モニタ3aに再表示される。
なお、プレイモードが終了するための命令が発行されたとCPU11に判断されない限り(S5でNo)、モード選択画面で選択されたプレイモードにおいて、各種のイベントがCPU11により繰り返し実行される(S4)。
次に、プレイモードとして対戦モードが選択された場合を一例として、投手用の命令指示システムの詳細を説明する。以下では、自動制御プログラムが、先攻であるAチームの選手キャラクタに対して命令を指示し、プレイヤが、後攻であるBチームの選手キャラクタに対して命令を指示する場合の例が、示される。特に、以下では、プレイヤが投手キャラクタに対して命令を指示する場合の例が、詳細に説明される。
基本ゲームデータには、例えば、投手キャラクタが有する複数の球種それぞれを規定するための球種データが、含まれる。また、基本ゲームデータには、例えば、各球種を選択するときの指標となる球種用の画像データが、含まれる。これら、球種データおよび画像データは、RAM13に格納されている。また、各投手キャラクタが有する球種と、球種データとの対応関係を示すデータが、RAM13に格納されている。
モード選択画面において対戦モードが選択され(S11)、対戦チームが選択されると、各チームのスターティングメンバーを設定するためのメンバー設定画面が、モニタ3aに表示される。このメンバー設定画面において、Aチームの選手キャラクタは自動制御プログラムにより選択され、Bチームの選手キャラクタはプレイヤにより選択される(S12)。例えば、図4に示すように、モニタ3aに表示された選手リストの中から、プレイヤが所望する各ポジションの選手キャラクタを、指で選択する。そして、この状態において指をスターティングメンバーリストへとスライドすることによって、選択された選手キャラクタが、スターティングメンバーリストに加えられる。この操作を繰り返すことによって、Bチームのスターティングメンバーが設定される。このように、プレイヤが所望する順序で上から下に並べることで、Bチームの打順が決定される。なお、Aチームの選手キャラクタのポジションおよび打順は、自動制御プログラムによって自動的に決定される。
スターティングメンバーが決定された後には、各キャラクタの能力が設定される(S13)。例えば、各選手キャラクタが有する能力を示す能力データは、ゲームプログラムにおいて予め規定されており、RAM13に格納されている。そして、RAM13に格納された各選手キャラクタの能力データを、CPU11に認識させることにより、各選手キャラクタの能力が、設定される。
投手キャラクタの能力の設定には、例えば、投手キャラクタが投球可能な球種(持ち球)の設定、およびコントロール能力の設定等が、含まれる。また、打者キャラクタの能力の設定には、例えば、ミート能力の設定等が、含まれる。
投手キャラクタの場合、投手キャラクタが有する能力の1つに、球種(持ち球)がある。この球種は、球種データNK(ID)を用いて定義される。ここで、記号「ID」は、選手キャラクタを識別するための識別データである。この識別データIDに割り当てられる値は、ゲームプログラムにおいて予め規定されており、選手キャラクタごとに個別に設定される。この識別データIDの値によって、各選手キャラクタがCPU11により管理される。
例えば、図5に示すように、ある投手キャラクタが有する球種が、ストレート、カーブ、シュート、およびフォークの4種類である場合、この投手キャラクタに対しては、4つの球種データNK(ID)が用意される。例えば、各球種と各球種に対応する数値との対応を示すテーブルが、RAM13に用意される。各投手キャラクタ対するテーブルの設定が、球種の設定に相当する。後述するように、このテーブルに基づいて、選択された球種が、ストレートである場合、球種データNK(ID)には数値「1」が割り当てられる。また、この球種がカーブである場合、球種データNK(ID)には数値「2」が割り当てられる。また、この球種がシュートである場合、球種データNK(ID)には数値「3」が割り当てられる。さらに、この球種がフォークである場合、球種データNK(ID)には数値「4」が割り当てられる。
また、投手キャラクタが有する能力の1つに、コントロール能力がある。このコントロール能力は、コントロール用の能力データNC(ID)を用いて定義される。このコントロール用の能力データNC(ID)を、CPU11に認識させることにより、コントロール能力が、設定される。ここでは、投手キャラクタのコントロール能力の良し悪しに応じて、コントロール用の能力データNC(ID)に所定の数値を割り当てる処理が、CPU11により実行される。例えば、投手キャラクタのコントロール能力が、10段階で評価される場合を一例として、コントロール用の能力データNC(ID)の説明を行うと、図6に示すように、投手キャラクタのコントロール能力の良し悪しに応じて、コントロール用の能力データNC(ID)には、1から10までのいずれかの自然数が、割り当てられる。ここでは、投手キャラクタのコントロール能力が高いほど、コントロール用の能力データNC(ID)には、大きな数値が割り当てられる。
打者キャラクタの場合、打者キャラクタには、ミート能力等のような能力が設定される。ここでは、ミート能力の高低によって、ミートカーソルの大きさが変更される。ミートカーソルは、プレイヤが打者キャラクタに対して命令を指示するときに、モニタ3aに表示される。例えば、打者キャラクタのミート能力が、標準値より高い場合、標準のものより大きなミートカーソルが、モニタ3aに表示される(図示しない)。一方で、打者キャラクタのミート能力が、標準値より低い場合、標準のものより小さなミートカーソルが、モニタ3aに表示される(図示しない)。そして、打撃時には、プレイヤは、ミートカーソルを移動し、このミートカーソルを、後述する目標領域に表示されるボールの予想通過位置の画像に、重ねることによって、ボールが打ち返される。ボールの予想通過位置の画像は、投手キャラクタからリリースされたボールを、目標領域に投影することによって、ボールの予想通過位置を報知するための画像である。
ミートカーソル用の画像データは、RAM13に格納されている。ミートカーソルをモニタ3aに表示するための命令が、CPU11から発行された場合、ミートカーソル用の画像データが、RAM13から読み出される。そして、この画像データの大きさが、ミート能力に対応するデータに基づいて、変更される。そして、変更後の画像データ(等倍の画像データを含む)を用いて、ミートカーソルが、モニタ3aに表示される(図示しない)。
なお、ここでは、投手用の命令指示システムの詳細な説明を行うことを目的としているので、打者キャラクタに関する説明は、概要説明に留めている。また、ここでは、選手キャラクタの能力の例として、投手キャラクタの持ち球およびコントロール能力の説明と、打者キャラクタのミート能力の説明とを、行った。選手キャラクタの他の能力についても同様に、各能力用の能力データをCPU11に認識させることにより、設定される。各能力用の能力データ(コントロール用の能力データNC(ID)を含む)は、記憶装置17に格納されており、野球ゲームが実行されるときに、RAM13にロードされている。
続いて、ボールが投手キャラクタからリリースされたときの、ボールの移動速度およびボールの変化量それぞれに対する基準値が、設定される(S14)。例えば、ボールが投手キャラクタからリリースされたときの、ボールの移動速度およびボールの変化量それぞれに対する基準値が、CPU11に認識される。より具体的には、ストレートの最適上限速度データ、および各変化球の最適上限変化量データが、CPU11に認識される。
ストレートの最適上限速度データは、現実世界の野球において投手が投球できる最高速度に相当するデータである。一般的には、現実世界の野球では、投手は、最高速度を越える速度でストレートを投球することはできないが、本野球ゲームでは、最適上限速度データが示す速度より速い速度で、投手キャラクタに投球させることができる。しかしながら、ストレートの最適上限速度データが示す速度より速い速度で、投手キャラクタにストレートを投球させた場合、後述するように、投手キャラクタのスタミナ能力が大幅に低下する。つまり、ストレートの最適上限速度データは、投手キャラクタがボールをリリースしたときに、投手キャラクタのスタミナ能力が無駄に低下しない速度の上限値に対応するデータと、言うこともできる。
同様に、各変化球の最適上限変化量データは、現実世界の野球において投手が投球できる変化球の最大変化量に相当するデータである。一般的には、現実世界の野球では、投手は、最大変化量を越える変化量で変化球を投球することはできないが、本野球ゲームでは、最適上限変化量データが示す変化量より大きい変化量で、投手キャラクタに変化球を投球させることができる。しかしながら、ストレートの最適上限変化量データが示す変化量より大きい変化量で、投手キャラクタに変化球を投球させた場合、後述するように、投手キャラクタのスタミナ能力が大幅に低下する。つまり、ストレートの最適上限変化量データは、投手キャラクタがボールをリリースしたときに、投手キャラクタのスタミナ能力が無駄に低下しない変化量の上限値に対応するデータと、言うこともできる。
ここで、ボールの変化量は、ボールの回転速度に応じて変化する。言い換えると、ボールの回転速度を設定することによって、ボールの変化量が決定される。これにより、以下では、ボールの変化量がボールの回転速度に対応する文言であるものとして、説明を行う。また、以下では、最適上限変化量データが最適上限回転速度データに対応する文言であるものとして、説明を行う。
なお、ストレートの最適上限速度データおよび各変化球の最適上限変化量データは、投手キャラクタごとに、所定の値が設定されている。また、これらのデータは、記憶装置17に格納されており、野球ゲームが実行されるときに、RAM13にロードされる。
続いて、ボールの移動速度の基準値およびボールの変化量の基準値の少なくともいずれか一方の基準値に応じて、複数の球種それぞれの球種用の矢印画像の長さが、変更される(S15)。
例えば、標準的なストレートの所定の速度に対応する矢印の長さ(標準長さ)を基準として、ある投手キャラクタのストレートの最適上限速度が、所定の速度より速くなればなるほど、矢印の長さが標準長さより長くなるように、矢印画像データを変更する処理が、CPU11により実行される。同様に、標準的なストレートの所定の速度に対応する矢印の長さ(標準長さ)を基準として、ある投手キャラクタのストレートの最適上限速度が所定の速度より遅くなればなるほど、矢印の長さが標準長さより短くなるように、矢印画像データを変更する処理が、CPU11により実行される。そして、変更後の矢印画像データが、RAM13に格納される。
また、標準的な各変化球の所定の変化量に対応する矢印の長さ(標準長さ)を基準として、ある投手キャラクタの各変化球の最適上限変化量が、所定の変化量より大きくなればなるほど、矢印の長さが標準長さより長くなるように、矢印画像データを変更する処理が、CPU11により実行される。同様に、標準的な各変化球の所定の変化量に対応する矢印の長さ(標準長さ)を基準として、ある投手キャラクタの各変化球の最適上限変化量が、所定の変化量より小さくなればなるほど、矢印の長さが標準長さより短くなるように、矢印画像データを変更する処理が、CPU11により実行される。そして、変更後の矢印画像データが、RAM13に格納される。
続いて、投手キャラクタの投球コースTCを設定するための目標領域RMが、ゲーム空間GSに設定される(S16)。目標領域RMは、ストライクゾーンとボールゾーンとから構成されており、マス目状(格子状)に分割されている。例えば、目標領域RMは、5×5のマス目に分割されており、この目標領域RMでは、中央部の3×3のマス目の領域が、ストライクゾーンに対応し、中央部の3×3のマス目を取り囲む領域が、ボールゾーンに対応する。
例えば、目標領域RMをゲーム空間GSにおいて定義するための、領域定義用の座標データが、CPU11に認識される。ここでは、目標領域RMの4つの隅角部の位置を示す座標データが、領域定義用の座標データとして、用いられる。この4つの座標データは、ゲームプログラムにおいて予め規定されており、RAM13に格納されている。また、これら領域定義用の座標データに基づいて、各マス目の4つの隅角部の座標データが、CPU11により算出される。例えば、目標領域RMの縦および横それぞれを、等間隔に5分割したときの、各マス目の4つの隅角部の座標データが、CPU11により算出され認識される。そして、各マス目の4つの隅角部の座標データが、RAM13に格納される。このように、目標領域RMの4つの隅角部の座標データ、および各マス目の4つの隅角部の座標データを、CPU11に認識させRAM13に格納することにより、目標領域RMがゲーム空間GSに設定される。
続いて、図7に示すように、標準の対戦画面PTが、モニタ3aに表示される(S17)。ここでは、図8に示すように、ゲーム空間GSの所定の位置に配置された、投手キャラクタ用のモデルM1、打者キャラクタ用のモデルM2、および捕手キャラクタ用のモデルM3が、仮想カメラVCにより1フレームごとに撮影され、ここで撮影されたモデル用の画像データが、RAM13に格納される。そして、このモデル用の画像データを用いて、投球モーションに入る前の投手キャラクタ、打席に入って打撃姿勢をとる打者キャラクタ、および捕球姿勢をとる捕手キャラクタ(図示しない)が、モニタ3aに表示される。図7では、後述するストライクゾーンの画像PSを、見やすくするために、捕手キャラクタのみ、図示していない。
なお、捕手キャラクタM3と投手キャラクタM1とから離反した所定の位置に配置された仮想カメラVC、例えば投手キャラクタM1の後方の所定の位置に配置された仮想カメラVCにより、ゲーム空間GSを撮影することにより、標準の対戦画面PTは、モニタ3aに表示される。
また、標準の対戦画面PTには、ストライクゾーンの範囲を報知するための画像PS(ストライクゾーン用の報知画像)が、画像データを用いて、モニタ3aに表示される(図7を参照)。詳細には、ストライクゾーンの範囲を示す枠画像PS、例えば3×3のマス目から構成される枠画像が、RAM13に格納された画像データを用いて、打者キャラクタの近傍、例えば打者キャラクタの側方において、モニタ3aに表示される。なお、ここで用いられる枠画像用の画像データは、RAM13に格納されている。
続いて、図8に示すように、投手キャラクタの能力に応じて、仮想カメラVCの視点の設定が、変更される。詳細には、投手キャラクタの能力に応じて、目標領域RMに対する仮想カメラVCの視点の設定を変更する処理が、CPU11により実行される(S18)。ここでは、投手キャラクタのコントロール能力が高くなるにつれて、モニタ3aに表示される目標領域RMが大きくなるように、ゲーム空間GSに設定された目標領域RMをズームイン及び/又は拡大する処理が、CPU11により実行される。
ここでは、図8に示すように、まず、捕手キャラクタと投手キャラクタとから離反した所定の位置、例えば投手キャラクタの後方の所定の位置から、投手キャラクタと捕手キャラクタとの間の所定の位置に、仮想カメラVCを移動する処理が、CPU11により実行される。すなわち、目標領域RMに向いた仮想カメラVCの位置を、目標領域RMの方向に移動する処理が、CPU11により実行される。これにより、コース指示用の対戦画面PUを生成するための仮想カメラVCの初期位置VP’が、決定される。この処理は、仮想カメラVCの画角αに入る対象を拡大する処理に、相当する。初期位置VP’に仮想カメラVCが配置された場合、投手キャラクタ用のモデルM1は、仮想カメラVCの画角αから外れ、打者キャラクタ用のモデルM2、捕手キャラクタ用のモデルM3、およびゲーム空間GSに設定された目標領域RMは、仮想カメラVCの画角αに入る。この状態で仮想カメラVCによりゲーム空間GSを撮影した画像を、初期状態のコース指示用の対戦画面PUと呼ぶ。
次に、投手キャラクタのコントロール用の能力データNC(ID)の値が大きくなるにつれて、目標領域RMに向いた仮想カメラVCの画角αを、小さくする処理を、CPU11に実行させることにより、目標領域RMがズームインされる。より具体的には、まず、初期状態の対戦画面を撮影する仮想カメラVCの画角α(初期状態の所定の画角)を、コントロール用の能力データNC(ID)の値が1.0であるときの画角に設定する。そして、この初期状態の画角αを基準として、コントロール用の能力データNC(ID)の値が、1つ大きくなるにつれて、目標領域RMに向いた仮想カメラVCの画角αを、所定の角度Δα(度)例えば1.0(度)づつ小さくする処理が、CPU11により実行される。これにより、目標領域RMがズームインされる。
又は、投手キャラクタのコントロール用の能力データNC(ID)の値が大きくなるにつれて、目標領域RMに向いた仮想カメラVCの位置VP’を、目標領域RMの方向に移動する処理を、CPU11に実行させることにより、目標領域RMが拡大される。より具体的には、まず、初期状態のコース指示用の対戦画面PUをモニタ3aに表示するための仮想カメラVCの位置VP’(初期位置)を、コントロール用の能力データNC(ID)の値が1.0であるときの位置に設定する。そして、この初期状態の位置VP’を基準として、投手キャラクタのコントロール用の能力データNC(ID)の値が、1つ大きくなるにつれて、目標領域RMに向いた仮想カメラVCの位置VP’を、所定の距離Δβ(cm)例えば1.0(m)づつ、目標領域RMの方向に移動する処理が、CPU11に実行される。これにより、目標領域RMが拡大される。
このように、投手キャラクタのコントロール用の能力データNC(ID)の値が大きくなるにつれて、仮想カメラVCの視点VP’の設定を変更することによって、目標領域RMがズームイン及び/又は拡大さる。なお、所定の角度Δαおよび所定の距離ΔΒは、ゲームプログラムにおいて予め規定されており、RAM13に格納されている。また、ここでは、ゲーム空間GSが、実空間と同じ次元および単位系を有しているので、所定の角度および所定の距離の単位は、実空間でもゲーム空間GSでも同じである。
なお、フローチャートには示されていないが、投手キャラクタのコントロール用の能力データNC(ID)の値が、1.0である場合は、仮想カメラVCを位置VP’へと移動する処理は、CPU11により実行されるが、目標領域RMをズームイン又は拡大する処理は、CPU11により実行されない。
続いて、仮想カメラVCの視点VP’の設定が変更され、且つ、上述した標準の対戦画面PTがモニタ3aに表示された時点を基準として、所定の時間例えば3.0(sec)が経過した場合、図9および図10に示すように、コース指示用の対戦画面PUが、モニタ3aに表示される(S19)。具体的には、上記のように仮想カメラVCの視点VP’の設定が変更された後に、所定の時間例えば3.0(sec)が経過したときに、標準の対戦画面PTからコース指示用の対戦画面PUへと画面を切り換える命令が、CPU11から発行される。すると、標準の対戦画面PTを消去するための命令、およびコース指示用の対戦画面PUを表示するための命令が、CPU11から発行される。すると、上述した位置に配置された仮想カメラVCの画角α’(=α−(n−1)×Δα;n=1〜10)に入るゲーム空間GSが、仮想カメラVCにより撮影される。すると、コース指示用の画像データがRAM13から読み出され、コース指示用の対戦画面PUがモニタ3aに表示される。
ここで、図9は、投手キャラクタのコントロール用の能力データNC(ID)の値が、1.0である場合の概要図であり、図10は、投手キャラクタのコントロール用の能力データNC(ID)の値が、10.0である場合の概要図である。
コース指示用の対戦画面PUでは、変更後の仮想カメラVCの視点VP’の設定に基づいて、ゲーム空間GSの所定の位置に配置された、打者キャラクタ用のモデルM2および捕手キャラクタ用のモデルM3が、仮想カメラVCにより1フレームごとに撮影され、ここで撮影されたモデル用の画像データが、RAM13に格納される。そして、このモデル用の画像データを用いて、図10に示すような、打席に入って打撃姿勢をとる打者キャラクタの全体又は一部、および捕球姿勢をとる捕手キャラクタの全体又は一部が、モニタ3aに表示される。また、上述したような、ズームイン及び/又は拡大された目標領域RMに含まれるストライクゾーンPSが、ストライクゾーン用の画像データを用いて、モニタ3aに表示される。モニタ3aに表示されたストライクゾーンPSには、3×3のマス目が、示されている。なお、コース指示用の対戦画面PUで用いられる画像データは、RAM13に格納されている。
続いて、プレイヤが、投球コースTCを指示するために、指をモニタ3aに接触させたか否かが、判断される(S20)。そして、プレイヤが、投球コースTCを指示するために、指をモニタ3aに接触させた場合(S20でYes)、プレイヤの指がモニタ3aに接触した位置(接触位置)が、認識される(S21)。例えば、プレイヤの指がモニタ3aに接触した場合、プレイヤの指がモニタ3aに接触した接触位置を示す座標データが、CPU11に認識され、RAM13に格納される。なお、プレイヤが、投球コースTCを指示するために、指をモニタ3aに接触させない限り(S20でNo)、CPU11は、モニタ3aへの指(指示手段)の接触の有無を監視する。
続いて、プレイヤの指が目標領域RMの内部に位置したか否かが、判断される(S22)。例えば、プレイヤの指が目標領域RMの内部に位置したか否かを判断する処理、例えばプレイヤの指がモニタ3aに接触した接触位置が、目標領域RMの内部であるか否かを、判断する処理が、CPU11により実行される。より具体的には、接触位置の座標データが、モニタ3aに表示された目標領域RMの内部の複数の座標データのいずれか1つに一致するか否かが、CPU11により判断される。ここでは、モニタ3aに表示された目標領域RMの4つの隅角部の座標データを、CPU11に認識させることにより、モニタ3aに表示された目標領域RMの内部領域が、定義される。すなわち、接触位置の座標データと、モニタ3aに表示された目標領域RMの4つの隅角部の座標データとを、CPU11に認識させることにより、接触位置の座標データが、モニタ3aに表示された目標領域RMの内部の複数の座標データのいずれか1つに一致するか否かを、判断することができる。
続いて、指が目標領域RMの内部に位置した場合(S22でYes)、図11に示すように、指の接触位置に対応するコースが、投球コースTCとして設定される(S23)。例えば、指が目標領域RMの内部に位置した場合(S22でYes)、指の接触位置に対応するコースを、投球コースTCとして設定する処理が、CPU11により実行される。ここでは、指がモニタ3aに接触した接触位置を示す座標データが、CPU11に認識される。そして、この接触位置の座標データに基づいて、この接触位置が含まれるモニタ3a上のマス目が、CPU11に認識される。すると、このモニタ3a上のマス目に対応する、ゲーム空間GSのマス目が、CPU11に認識される。そして、このゲーム空間GSのマス目の重心位置を示す座標データを計算する処理が、CPU11により実行される。すると、この重心位置の座標データが、投球コースTCの座標データとして、CPU11に認識され、RAM13に格納される。このように、投球コースTCは、マス目単位で選択され、マス目の重心に設定される。
なお、指が目標領域RMの内部に位置しなかった場合(S22でNo)、指の接触位置を示す座標データは、CPU11に認識されず、ステップ20(S20)の処理がCPU11により実行される。この場合、「投球コースを再設定して下さい」のようなコメントを、モニタ3aに表示されるようにしても良い。
ここで、3次元ゲーム空間GSに設定されたモデルM1,M2,M3および目標領域RMを、仮想カメラVCにより撮影する処理は、3次元ゲーム空間GSに設定されたモデルM1,M2,M3および目標領域RMを、2次元空間MSすなわちモニタ3a画面用の2次元空間に投影する処理に、相当する(図8を参照)。ここでは、3次元ゲーム空間GSに配置されたモデルM1,M2,M3および目標領域RMと、モニタ3aに表示されたキャラクタおよび目標領域RMとの対応関係は、RAM13に記録されており、CPU11により管理されている。
続いて、投球コースTCが設定されると、図11に示すように、指の接触位置を起点として所定の方向に延びる球種用の矢印画像が、モニタ3aに表示される(S24)。ここでは、投手キャラクタの持ち球に対応する矢印画像が、モニタ3aに表示される。例えば、接触位置が目標領域RMの内部に位置した場合、この接触位置の座標データが示す位置に、矢印画像の基端を配置する処理が、CPU11により実行される。この処理は、投手キャラクタの持ち球(複数の球種)それぞれに対して実行される。これにより、投手キャラクタの持ち球の数に応じて、指の接触位置から放射状に延びる少なくとも1つの矢印画像が、RAM13に格納された画像データを用いて、モニタ3aに表示される。
より具体的には、投手キャラクタが有する球種(持ち球)が、ストレート、カーブ、シュート、およびフォークの4種類である場合、図11に示すように、指がモニタ3aに最初に接触した位置を起点として、上方に延びるストレート用の矢印画像Y1、左方に延びるカーブ用の矢印画像Y2、右方に延びるシュート用の矢印画像Y3、および下方に延びるフォーク用の矢印画像Y4が、モニタ3aに表示される。ここで、上述したように矢印画像の長さが変更されたものについては、変更後の矢印画像が、RAM13に格納された画像データを用いて、モニタ3aに表示される。また、矢印画像の長さが変更されていない場合、初期状態の矢印画像、例えば標準長さの矢印画像が、RAM13に格納された画像データを用いて、モニタ3aに表示される。なお、ここでは、矢印の傘が付いていない端部を、基端という文言で表現し、矢印の傘が付いた端部を、先端という文言で表現する。
続いて、指が目標領域RMの内部に位置した場合に、プレイヤの指がモニタ3aから離反したか否かを監視する処理が、CPU11により実行される(S25)。例えば、目標領域RMの内部に位置した指の接触位置の座標データは、1フレームごとに、CPU11に監視されている。このため、目標領域RMの内部に位置した指の接触位置を起点として、プレイヤの指がモニタ3aに接触した状態で移動した場合、移動中の接触位置の座標データが、1フレームごとに、CPU11に認識される。そして、これら座標データが、所定の時間以上の間例えば1フレーム以上の間、CPU11に認識されなかった場合、指がモニタ3aから離反したと、CPU11により判断される(S25でYes)。一方で、これら座標データが、CPU11に連続的に認識されている間は、指がモニタ3aに接触しているものと、CPU11により判断される(S25でNo)。
なお、プレイヤの指が、所定の時間例えば60フレームの間、モニタ3a上で移動しなかった場合、ボールの移動速度データ、ボールの変化量データ、およびボールの威力データは、ゲームプログラムにおいて予め規定された所定の値に、設定される。例えば、登板中の投手キャラクタが持つ最低値が、ボールの移動速度データ、ボールの変化量データ、およびボールの威力データそれぞれに対して、割り当てる処理が、CPU11により実行される。
続いて、プレイヤの指が目標領域RMの内部に位置し、プレイヤの指が、接触位置を起点としてモニタ3aに接触した状態で移動した後に、モニタ3aから離れた場合(S25でYes)、プレイヤの指の移動に伴う接触位置の変化に基づいて、接触位置の移動状態を示す移動状態データDを計算する処理が、CPU11により実行される(S26)。
例えば、プレイヤの指が接触位置を起点としてモニタ3aに接触した状態で移動したときには、移動した接触位置の移動方向データ、移動した接触位置の移動速度データ、移動した接触位置の移動距離データ、および移動した接触位置の加速度データを計算する処理が、CPU11により実行される。より詳細には、プレイヤが、指の接触位置を起点として、複数の球種用の画像の中のいずれか1つの球種用の画像が延びる方向に、モニタ3aに接触した状態で移動したときに、移動した接触位置の移動方向データ、移動した接触位置の移動速度データ、移動した接触位置の移動距離データ、および移動した接触位置の加速度データを計算する処理が、CPU11により実行される。
ここでは、各移動状態データDが、指の移動に伴う接触位置の座標データおよび時間データに基づいて、CPU11により計算される。時間データは、指がモニタ部3aに接触した時点から、指がモニタ3aに離反した時点までの時間を示すデータである。また、この時間データは、RAM13に格納される。接触位置の移動状態データDには、接触位置の移動方向データ、接触位置の移動速度データ、接触位置の移動距離データ、および接触位置の加速度データが含まれる。
例えば、移動状態データDを計算するときの座標データには、指がモニタ3aに接触したと判断された時点の位置CPM(=TC)に対応する第1座標データと、指の接触位置がモニタ3aから離反した時点の位置CPM’に対応する第2座標データとが、用いられる。また、移動状態データDを計算するときの時間データには、指がモニタ3aに接触したと判断された時点T1の第1時間データと、指の接触位置がモニタ3aから離反した時点T2の第2時間データとが、用いられる。なお、これら座標データおよび時間データは、RAM13に格納される。
ここでは、図12に示すように、指をモニタ3aに最初に接触させた後、指を画面に対して斜め左下にスライドした場合を一例として、移動状態データDの計算の詳細を示す。たとえば、第1座標データが示す第1位置CPMと、第2座標データが示す第2位置CPM'とに基づいて、指が移動した方向を示す移動方向データ、例えば角度データD1を、計算する処理が、CPU11により実行される。そして、この角度データD1が、RAM13に格納される。ここでは、角度データD1が、例えば三角関数を用いて、計算される。
また、第1座標データが示す第1位置CPMと、第2座標データが示す第2位置CPM'とに基づいて、第1位置CPMと第2位置CPM'とを結ぶ線分の長さL1が、CPU11により計算される。すると、この計算結果が、指がモニタ3a上で移動したときの距離を示す移動距離データD3として、CPU11に認識され、RAM13に格納される。
また、第1時間データ示す第1時間T1と、第2時間データ示す第2時間T2とに基づいて、第1時間T1から第2時間T2までの経過時間(T2−T1)が、CPU11により計算される。そして、上記の線分の長さL1を、この経過時間(T2−T1)で除算する処理が、CPU11により実行される。すると、この計算結果が、指がモニタ3a上で移動したときの速度を示す移動速度データD2として、CPU11に認識され、RAM13に格納される。さらに、上記の線分の長さL1を、上記の経過時間(T2−T1)の二乗で除算する処理が、CPU11により実行される。すると、この計算結果が、指がモニタ3a上で移動したときの加速度を示す加速度データD4として、CPU11に認識され、RAM13に格納される。
なお、プレイヤの指が、接触位置を起点としてモニタ3aに接触した状態で移動している途中である場合(S25でNo)、接触位置の座標データが、CPU11に連続的に認識され、RAM13に格納される。また、この間は、ステップ25(S25)において、接触位置が、CPU11に常に監視されている。
続いて、指がモニタ3aに接触した状態で移動したときの移動状態データDに基づいて、ボールの球種が設定される(S27)。例えば、指がモニタ3aに接触した状態で移動したときの移動方向データD1に基づいて、ボールの球種を設定する処理が、CPU11により実行される。ここでは、モニタ3aへの指の接触位置の角度データD1が、第1範囲H1、第2範囲H2、第3範囲H3、および第4範囲H4のいずれの範囲に含まれているか否かが、CPU11により判断される。ここでは、図12に示すように、第1範囲H1は、ストレートに対応する範囲であり、第2範囲H2は、シュートに対応する範囲である。また、第3範囲H3は、フォークに対応する範囲であり、第4範囲H4は、カーブに対応する範囲である。そして、モニタ3aへの指の接触位置の角度データD1が含まれる範囲が、CPU11に認識されると、接触位置の角度データD1が含まれる範囲に対応する、球種データがCPU11に認識される。このように、プレイヤが、自分の指をモニタ3aに接触させた状態で、自分の指をモニタ3a上で所望の方向に移動することにより、プレイヤは、自分の所望する球種を、選択することができる。
ここで、第1範囲H1、第2範囲H2、第3範囲H3、および第4範囲H4の設定についての詳細を説明しておく。例えば、接触位置の角度データD1が第1範囲H1に含まれる場合、ストレート用の球種データがCPU11に認識される。また、接触位置の角度データD1が第2範囲H2に含まれる場合、シュート用の球種データがCPU11に認識される。また、接触位置の角度データD1が第3範囲H3に含まれる場合、フォーク用の球種データがCPU11に認識される。さらに、接触位置の角度データD1が第4範囲H4に含まれる場合、カーブ用の球種データがCPU11に認識される。このようにして、ボールの球種が設定されると、各球種に関連するボールの情報データが、RAM13から読み出され、CPU11に認識される。
なお、ここでは、図12に示すように、指の接触位置CPMを原点として、ゲーム装置の長手方向(ex. 音出力用のマイク5aに向かう方向)をX軸の正方向に設定する。このX軸の正方向に延びる軸を、角度の基準線に設定する。そして、正方向に延びるX軸を基準(0度)として、時計回りの方向に回転する角度を、正の値を持つ角度として設定する。また、X軸に直交する方向をY軸と設定する。また、ボリュームポタン4bの方向に延びるY軸の方向を、Y軸の正方向に設定する。
このように座標系を設定した上で、ここでは、第1範囲H1、第2範囲H2、第3範囲H3、および第4範囲H4を、次のように設定する。例えば、第1範囲H1は、角度が225度以上315度未満の範囲であり、第2範囲H2は、角度が−45度以上45度未満の範囲である。また、第3範囲H3は、角度が45度以上135度未満の範囲であり、第4範囲H4は、角度が135度以上225度未満の範囲である。
ここで、上述した各矢印画像は、第1範囲H1、第2範囲H2、第3範囲H3、および第4範囲H4それぞれに割り当てられた球種を、報知するためのものである。例えば、ストレート用の矢印画像は、第1範囲H1に関連付けられた球種を報知するためのものであり、シュート用の矢印画像は、第2範囲H2に関連付けられた球種を報知するためのものである。また、フォーク用の矢印画像は、第3範囲H3に関連付けられた球種を報知するためのものであり、カーブ用の矢印画像は、第4範囲H4に関連付けられた球種を報知するためのものである。
続いて、ボールが移動するときの複数の移動特性データTDそれぞれが、設定される(S28)。例えば、ボールが移動するときの複数の移動特性データTDそれぞれを設定する処理が、CPU11により設定される。ここでは、プレイヤの指がモニタ3aから離反した場合の接触位置の移動状態データDに基づいて、ボールが移動するときの複数の移動特性データTDそれぞれが、CPU11により設定される。詳細には、接触位置の移動速度データD2に基づいて、ボールが移動するときの移動速度データV1を設定する処理が、CPU11により実行される。また、接触位置の移動距離データD3に基づいて、ボールが移動するときの変化量データV2を設定する処理が、CPU11により実行される。さらに、接触位置の加速度データD4に基づいて、ボールが移動するときの威力データV3を設定する処理が、CPU11により実行される。
具体的に説明すると、ボールの移動特性データTDは、ボールの移動速度V1、ボールの回転速度V2(変化量)、およびボールの減速率V3(威力)を有している。そして、各特性データTDが、移動速度データD2、移動距離データD3、および加速度データD4のような移動状態データDに基づいて、設定される。
ここでは、ボールの移動速度V1は、移動速度データD2に基づいて設定される。例えば、図13に示すように、指の接触位置の移動速度データD2が大きくなるにつれて、ボールの移動速度V1が大きくなるように、ボールの移動速度V1は、設定される。また、図14に示すように、ボールの変化量例えばボールの回転速度V2は、移動距離データD3に基づいて設定される。例えば、指の接触位置の移動距離データD3が大きくなるにつれて、ボールの回転速度V2が大きくなるように、ボールの回転速度V2は、設定される。また、図15に示すように、ボールの威力例えばボールの減速率V3は、加速度データD4に基づいて設定される。例えば、指の接触位置の加速度データD4が大きくなるにつれて、ボールの減速率V3が小さくなるように、ボールの減速率V3は、設定される。
より具体的には、ボールの移動速度V1、ボールの回転速度V2、ボールの減速率V3は、多項式を用いて評価される。例えば、図13に示すように、指の接触位置の移動速度データD2に対応する変数をX1とすると、ボールの移動速度V1(X1)は、二次関数例えば「V1(X1)=A1・X1^2+B1」を用いて、算出される。ここで、A1およびB1は、正の値であり、ゲームプログラムにおいて所定の値が設定されている。なお、移動速度データD2が所定の値X1m以上になった場合は、ボールの移動速度V1(X1m)は、所定の上限値V1maxに設定される。この上限値V1maxは、投手キャラクタごとに設定されており、本野球ゲームにおいて投手キャラクタが投球可能な最高速度に対応している。なお、上述した最適上限速度データが示す速度は、速度下限値B1と上限値V1maxとの間の所定の速度に、設定されている。
また、図14に示すように、指の接触位置の移動距離データD3に対応する変数をX2とすると、ボールの回転速度V2(X2)は、二次関数例えば「V2(X2)=A2・X2^2+B2」を用いて、算出される。ここで、A2およびB2は、正の値であり、ゲームプログラムにおいて所定の値が設定されている。なお、移動距離データD3が、所定の値例えば球種設定用のボール画像KBの直径X2m以上になった場合は、ボールの回転速度V2(X2)は、所定の上限値V2maxに設定される。この上限値V2maxは、投手キャラクタごとに、所定の値に設定される。なお、上述した最適上限変化量データが示す変化量、すなわち最適上限回転速度データが示す回転速度は、回転速度の下限値B2と上限値V2maxとの間の所定の速度に、設定されている。
さらに、図15に示すように、指の接触位置の加速度データD4に対応する変数をX3とすると、ボールの減速率V3(X3)は、二次関数例えば「V3(X3)=A3・X3^2+B3」を用いて、算出される。ここで、V3(X3)は、「1.0」以下の正の値をとる。すなわち、B3は、1.0に設定される。また、A3は負の値であり、ゲームプログラムにおいて所定の値に設定される。なお、加速度データD4が所定の値X3m以上になった場合は、ボールの減速率V3(X3)は、所定の下限値V3min(>0)に設定される。この下限値は、投手キャラクタごとに、所定の値に設定される。
ここで設定されるボールの減速率V3(X3)は、投手キャラクタから捕手キャラクタへと移動するボールが減速する比率の最大値である。ボールは、投手キャラクタから捕手キャラクタへと移動する間に、徐々に減速することを考慮すると、ボールの減速率は、リリース後のボールの移動距離に応じて変化する。このため、ここでは、ボールが捕手キャラクタに到達したときに、ボールの減速率が、最大すなわちV3(X3)になるように、ボールの減速率は、設定される。すなわち、ボールが投手キャラクタからリリースされてから、ボールが捕手キャラクタに到達するまでの間、ボールの減速率は、徐々に大きくなる。例えば、ボールが投手キャラクタからリリースされた時点の減速率V3は、「0.0」に設定されており、この時点ではボールは減速しない。そして、ボールが捕手キャラクタに到達した時点の減速率は、上記の減速率V3(X3)の値に設定され、ボールは最も減速される。
具体的には、ボールが投手キャラクタからリリースされてから、ボールが捕手キャラクタに到達するまでの間の減速率V3は、上記の「0.0」と減速率V3(X3)の値とを用いて、線形補完によって求められる。すなわち、ボールが投手キャラクタからリリースされてから、ボールが捕手キャラクタに到達するまでの間、ボールの減速率V3は、徐々に大きくなる。これにより、現実世界の野球において、投手キャラクタからリリースされたボールが、捕手キャラクタに近づくにつれて、失速する状態を、野球ゲームにおいても再現することができる。
上記のようにボールの球種やボールの特性を設定するときの操作形態は、現実世界の野球において投手がボールをリリースするときの動作形態に対応している。例えば、現実世界の野球において、投手がボールをリリースするときには、腕の振りや手首の回転をボールに伝達すればするほど、ボールの移動速度、ボールの回転速度、およびボールの球威(威力)は、増加する。本野球ゲームでは、プレイヤが自分の指をモニタ3aに接触させた状態で移動させるという操作によって、現実世界の野球の投手の動作を再現している。そして、現実世界の投手の動作を、野球ゲームにおける操作によって再現した上で、この操作によって、ボールの移動速度、ボールの回転速度、およびボールの球威(威力)が設定されるようにしている。また、指がモニタ3aから離反したタイミングで、ボールを投手キャラクタからリリースさせることにより、現実世界の投手がボールをリリースする感覚も、同時に再現している。
なお、上記の図13−図15に示したような、移動速度データD2(X1)とボールの移動速度V1との対応関係、移動距離データD3(X2)とボールの回転速度V2(変化量)との対応関係、および加速度データD4(X3)とボールの減速率V3(威力)との対応関係は、球種ごとに、ゲームプログラムにおいて予め規定されており、各対応関係を規定するためのデータは、RAM13に格納されている。
ここでは二次関数が用いられているが、ボールの移動速度V1、ボールの回転速度V2、およびボールの減速率V3を評価する関数は、上記の実施形態に限定されず、どのような関数を用いても良い。例えば、指の接触位置の移動速度データD2が大きくなるにつれて、ボールの移動速度V1が大きくなるような関数、指の接触位置の移動距離データD3が大きくなるにつれて、ボールの回転速度V2が大きくなるような関数、および指の接触位置の加速度データD4が大きくなるにつれて、ボールの減速率V3が小さくなるような関数であれば、どのような関数を用いても良い。
続いて、指の接触位置の移動状態データDに基づいて、投手キャラクタの能力データが、変更される(S29)。例えば、指の接触位置の移動状態データDに基づいて、投手キャラクタの能力データを変更する処理が、CPU11により実行される。ここでは、まず、ボールの移動形態例が、第1の種別に属するか否かを判断する処理が、CPU11により実行される。例えば、プレイヤにより選択された球種が、ストレート系であるが否かが、CPU11により判断される。そして、ボールの移動形態が第1の種別に属する場合、例えば球種がストレート系(ex. ストレート)であった場合、接触位置の移動速度データに対応するボールの移動速度V1が、ストレートの最適上限速度V1nより大きいか否かが、CPU11により判断される。そして、ボールの移動速度V1が、ストレートの最適上限速度V1nより大きい場合、ボールの移動速度V1が大きくなればなるほど、投手キャラクタのスタミナ能力が低くなるように、投手キャラクタのスタミナ用の能力データNS(ID)が調整される。ここでは、図16に示すような調整データΔS1を、スタミナ用の能力データNS(ID)から減算することにより、スタミナ用の能力データNS(ID)が調整される。なお、投手キャラクタのスタミナ用の能力データNS(ID)の初期値は、投手キャラクタごとに所定の値が、ゲームプログラムにおいて設定されている。
一方で、ボールの移動形態が第1の種別に属しない場合、例えば球種がストレート系でない場合、ボールの移動形態は第2の種別であると判断される。そして、ボールの移動形態は第2の種別である場合、例えば球種が変化球系(ex. カーブ、シュート、フォーク)であった場合、接触位置の移動距離データに対応するボールの変化量データ、例えばボールの回転速度V2が、変化球の最適上限回転速度V2nより大きいか否かが、CPU11により判断される。そして、ボールの回転速度V2が、変化球の最適上限回転速度V2nより大きい場合、ボールの回転速度V2が大きくなればなるほど、投手キャラクタのスタミナ能力が低くなるように、投手キャラクタのスタミナ用の能力データNS(ID)が調整される。ここでは、図17に示すような調整データΔS2を、スタミナ用の能力データNS(ID)から減算することにより、スタミナ用の能力データNS(ID)が調整される。
なお、図16および図17に示すように、ボールの移動速度データV1がストレートの最適上限速度V1n以下である場合、およびボールの変化量データV2が変化球の最適上限変化量V2n以下である場合、投手キャラクタの能力が一定で低下するように、投手キャラクタのスタミナ用の能力データNS(ID)を変更する処理が、CPU11により実行される。この場合、スタミナ用の能力データNS(ID)から、所定の値Δ11,ΔS21を減算する処理が、CPU11により実行される。
ここで、ストレートの最適上限速度V1nは、投手キャラクタがボールをリリースしたときに、投手キャラクタのスタミナ能力が無駄に低下しない速度の上限値に対応するデータである。このため、ストレートの最適上限速度V1nより大きな速度で、投手キャラクタからボールがリリースされると、投手キャラクタのスタミナ能力が大幅に低下する。また、各変化球の最適上限変化量V2nは、投手キャラクタがボールをリリースしたときに、投手キャラクタのスタミナ能力が無駄に低下しない変化量の上限値に対応するデータである。このため、各変化球の最適上限変化量V2nより大きな変化量で、投手キャラクタからボールがリリースされると、投手キャラクタのスタミナ能力が大幅に低下する。
このように、投手キャラクタのスタミナ能力が低下すると、このスタミナ能力の低下に連動して、コントロール能力も低下する。具体的には、投手キャラクタのスタミナ能力が低下すると、このスタミナ能力の低下に連動して、コントロール能力が低下するように、コントロール用の能力データNC(ID)を変更する処理が、CPU11により実行される。この処理を行うためには、図18に示すような、スタミナ用の能力データNS(ID)と、コントロール用の能力データNC(ID)の低下量Δnとの対応関係を示すデータが、必要となる。このデータは、ゲームプログラムにおいて予め規定されており、RAM13に格納されている。
詳細には、図18に示すように、コントロール用の能力データNC(ID)を調整するための調整データΔnは、多項式例えば「Δn(NS)=A4・NS^2+B4」を用いて、算出される。B4は所定の正の値に設定され、A4は所定の負の値に設定される。ここでは、登板中の投手キャラクタのコントロール用の能力データNC(ID)の値が、スタミナ用の能力データNS(ID)がゼロの場合のΔn(0)の値、すなわちΔn2として、設定される。また、スタミナ用の能力データNS(ID)が所定の値NS2以上である場合は、コントロール用の能力データNC(ID)の調整データΔn(NS2)は、所定の下限値Δn1例えば0.5に設定される。ここで、NS2およびΔn1は、ゲームプログラムにおいて所定の値に設定されており、RAM13に格納されている。
続いて、能力データを変更する処理が実行された後には、標準の対戦画面PTがモニタ3aに再表示される(S30)。ここでは、コース指示用の対戦画面PUから標準の対戦画面PTへと画面を切り換える命令が、CPU11から発行される。例えば、コース指示用の対戦画面PUを消去するための命令、および標準の対戦画面PTを表示するための命令が、CPU11から発行される。すると、標準の対戦画面用の画像データがRAM13から読み出され、投手キャラクタ、打者キャラクタ、および捕手キャラクタが、モニタ3aに表示される。また、投手キャラクタ、打者キャラクタ、および捕手キャラクタがモニタ3aに表示された対戦画面において、投手キャラクタからリリースされたボールが、ボール用の画像データを用いて、モニタ3aに表示される。
ここでは、投手キャラクタからリリースされたボールを、移動特性データTDに基づいて制御する処理が、CPU11により実行される。例えば、移動特性データTDに基づいて設定された、ボールの移動速度データ、ボールの変化量データ、およびボールの威力データに基づいて、投手キャラクタからリリースされるボールの軌道を、計算する処理が、CPU11により実行される。そして、この軌道上を移動するボールが、ボール用の画像データを用いて、モニタ3aに表示される。なお、ボールの軌道を定義するための軌道方程式は、ゲームプログラムにおいて予め規定されており、RAM13に格納されている。
具体的には、投手キャラクタからリリースされたボールは、CPU11により制御される。例えば、移動状態データD、すなわち球種用の移動状態データD1および特性用の移動状態データD2,D3,D4に基づいて、ボールの軌道を設定する処理が、CPU11により実行される。すると、この軌道上を移動するボールが、画像データを用いて、モニタ3aに表示される。
より具体的には、ボールの軌道は、RAM13に格納された、ボールの軌道を設定するための基礎方程式(運動方程式)によって定義される。ボールの基礎方程式は、ゲームプログラムにおいて予め規定されている。
例えば、ボールが投手キャラクタからリリースされた時点からの時刻を記号「t」で表現し、各時刻tのボールの位置を示す座標を記号「(x1,x2,x3)」で表現すると、ボールの基礎方程式は、例えば、「(x1,x2,x3)=(F1,F2,F3)」と表記することができる。ボールの基礎方程式F1,F2,F3では、ボールの移動速度V1、ボールの回転速度V2、ボールの減速率V3、ボールにかかる重力、およびボールが受ける空気抵抗等が、考慮される。また、ボールの基礎方程式では、リリースポイントの座標データ、および投球コースTCの座標データが、考慮される。これにより、ボールの基礎方程式F1,F2,F3が、一意に決定される。
例えば、角度データD1に対応する回転軸データD1'および回転方向データD10、およびボールの回転速度V2を、初期条件として用いることにより、基礎方程式F1,F2,F3におけるボールの回転に関する係数が、決定される。また、ボールの移動速度V1を、初期条件として用いることにより、基礎方程式F1,F2,F3におけるボールの速度に関する係数が、決定される。また、特性データTDに基づいて設定されたボールの減速率V3を用いることにより、基礎方程式F1,F2,F3のボールの威力に関する係数が、決定される。さらに、ボールの重力および空気抵抗等を用いることにより、基礎方程式F1,F2,F3のその他の係数が、決定される。このようにして、ボールの基礎方程式F1,F2,F3の各係数を決定することによって、ボールの基礎方程式F1,F2,F3が一意に決定される。これにより、投手キャラクタからリリースされたボールの軌道が、一意に設定される。すると、この軌道上を移動するボールが、1フレームごとに、ボール用の画像データを用いて、モニタ3aに表示される。
続いて、自動制御プログラムに基づいて、打者キャラクタに対して打撃に関する命令が指示されると、この打者キャラクタのプレイが終了したか否かが、CPU11により判断される(S31)。そして、この打者キャラクタのプレイが終了していない場合(S31でNo)、ステップ17(S17)の処理が、CPU11により再実行される。一方で、この打者キャラクタのプレイが終了した場合(S31でYes)、チェンジになったか否かが、CPU11により判断される(S32)。そして、チェンジになっていない場合(S32でNo)、次の打者キャラクタが打席に入り、ステップ17(S17)の処理が、CPU11により再実行される。
なお、チェンジになった場合(S32でYes)、試合が終了したか否かが、CPU11により判断される(S33)。そして、試合が終了した場合(S33でYes)、図19のステップ7(S7)の処理、すなわちゲーム結果を保存する処理が、CPU11により実行される。ここで、試合が終了していない場合(S33でNo)、攻守が交代する。すると、打者キャラクタに対する打撃用の命令がプレイヤにより指示され、投手キャラクタに対する投球用の命令が自動制御プログラムに基づいて指示される。そして、再び攻守が交代すると、上記のステップ15(S15)の処理が、CPU11により実行される。
以上のように、本実施形態では、プレイヤが投手キャラクタに対して投球に関する命令を指示するためのシステム、すなわち投手用の命令指示システムが、実現される。
上記のような本実施形態では、投手キャラクタのコントロール能力に応じて、目標領域RMに対する仮想カメラVCの視点の設定が変更され、目標領域RMの大きさが変更される。例えば、投手キャラクタのコントロール能力に応じて、仮想カメラVCの視点の画角を変更したり、仮想カメラVCの視点の位置を変更したりすることにより、目標領域RMの大きさが変更される。そして、この変更後の目標領域RM例えばストライクゾーンPSが、モニタ3aに表示される。
例えば、投手キャラクタのコントロール能力が高ければ、ストライクゾーンPSが大きく表示され、投手キャラクタのコントロール能力が低ければ、ストライクゾーンPSが小さく表示される。このように、現実世界の野球における投手の能力の高低例えばコントロールの良し悪しを、野球ゲームに視覚的に反映することできる。
また、投手キャラクタのコントロール能力が高い場合には、ストライクゾーンPSが大きくなるので、プレイヤは、投球コースTCを設定しやすくなる。一方で、投手キャラクタのコントロール能力が低い場合には、ストライクゾーンPSが小さくなるので、プレイヤは、投球コースTCを設定しにくくなる。このように、本実施形態では、投手キャラクタの能力の高低例えばコントロールの良し悪しに応じて、操作の難易度が変更される。例えば、現実世界において、コントロールの良い投手は、自分の所望するコースにボールをコントロールすることができる。一方で、コントロールの悪い投手は、自分の所望するコースにボールをコントロールしづらい。この事象を、本実施形態では、操作の難易度の変更によって、実現している。このように、プレイヤは、現実世界の投手が投球時に感じる感覚を、ゲーム世界においても同様に体感することができる。また、これにより、プレイヤは、従来のゲームでは体験できなかった緊張感を味わうことができる。
次に、プレイヤの指がモニタ3aに接触した位置(接触位置)が目標領域RMの内部であり、この指が、接触位置を起点としてモニタ3aに接触した状態で移動したときに、接触位置の移動状態に基づいて、ボールの球種が設定される。すなわち、プレイヤは、自分の指をモニタ3aに接触した状態でスライドするだけで、ボールの球種を設定することができる。このように、本実施形態では、接触入力式のモニタ3aの利点を積極的に利用することにより、現実世界の野球において投手がボールを投げる際に行う動作を、野球ゲームにおいては、指をモニタ3a上でスライドする動作に対応させ、再現することができる。
また、本実施形態では、現実世界の投手の動作を野球ゲームにおいて単に再現するだけでなく、この動作を野球ゲームにおいて再現したときのプレイヤの動作、例えばプレイヤが指をモニタ3a上でスライドしたときの動作によって、球種が設定される。このように、本発明では、プレイヤが指をモニタ3a上でスライドする動作によって、球種の設定も同時に行うことができる。これにより、球種を、スライドという動作1つで、効率的に設定することができる。
このように、本実施形態は、投手キャラクタの能力に応じた操作形態を、提供することができる。また、本実施形態は、接触入力式のモニタの利点を積極的に利用することにより、系統的な操作形態で、球種を設定することができる。
〔他の実施形態〕
(a)前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例として、携帯ゲーム機を用いた場合の例を示したが、コンピュータは、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
(b)本発明には、前述したようなゲームを実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、例えば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、CD−ROM、DVD、MO、ROMカセット、その他のものが挙げられる。