〔ゲーム装置の構成と動作〕
図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(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の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると中立位置に復帰してオフになるオンオフスイッチになっている。
通信部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から音声として出力される。
〔ゲーム装置における各種処理概要〕
本ゲーム装置において実行されるゲームは、たとえば、野球ゲームである。本ゲーム装置では、プレイヤが1つのチームの1人の選手キャラクタ(対象選手キャラクタ)だけを指揮するタイプの野球ゲームが、実行可能になっている。この野球ゲームでは、プレイヤがコントローラ17を操作することによって、対象選手キャラクタに対して命令が指示される。一方で、対象選手キャラクタを除いた他の選手キャラクタに対しては、自動制御プログラムに基づいて、命令が指示される。言い換えると、プレイヤが対象選手キャラクタに対して命令を指示していないときには、野球ゲームが自動進行する。また、この野球ゲームでは、試合を構成する複数のハーフイニングそれぞれにおいて、ダイジェスト情報をスコアボードに表示可能になっている。
図2は、以下に示す、本発明で主要な役割を果たす機能を、説明するための機能ブロック図である。なお、ここでは、1イニングが、「表」および「裏」の2つから構成されている。また、ハーフイニングが、「表」又は「裏」に対応している。
以下では、ゲーム装置の制御部1において実行される各種の処理が、CPU7において実行される旨が示されている。CPU7は、ゲームプログラムからの命令を解釈、各種のデータ処理や制御を行うものであるため、各種の計算や画像および音声データの生成加工処理等は、CPU7からの命令に基づいて、信号処理プロセッサ8および画像処理プロセッサ9において実行される。
所属チーム設定手段50は、選手キャラクタが属するチームを、チーム用の識別データを用いて、設定する機能を備えている。
この手段では、選手キャラクタが属するチームが、チーム用の識別データを用いて、CPU7により設定される。たとえば、RAM12に格納されたチーム用の識別データを、CPU7に認識させることにより、チーム用の識別データに対応するチームが、設定される。より具体的には、テレビジョンモニタ20に表示された複数のチームの中から、プレイヤが指揮するチーム、およびプレイヤのチームと対戦するチームが、コントローラ17を用いて、選択されると、これらチームに対応するチーム用の識別データが、CPU7に認識される。この認識処理によって、プレイヤが指揮するチームと、このプレイヤのチームと対戦するチームとが、CPU7により管理される。
選手キャラクタ設定手段51は、選手キャラクタを、選手キャラクタ用の識別データを用いて、設定する機能を備えている。
この手段では、選手キャラクタが、選手キャラクタ用の識別データを用いて、設定される。たとえば、RAM12に格納された選手キャラクタ用の識別データを、CPU7に認識させることにより、この識別データに対応する選手キャラクタが、設定される。より具体的には、野球ゲームのゲーム空間において動作する各選手キャラクタの識別データ、たとえばスターティングメンバーの各選手キャラクタの識別データの認識処理によって、各選手キャラクタが、CPU7により管理される。
価値評価手段52は、選手キャラクタの価値を示す価値データに基づいて、選手キャラクタの価値を評価する機能を備えている。
この手段では、選手キャラクタの価値を示す価値データに基づいて、選手キャラクタの価値が、CPU7により評価される。たとえば、この手段では、RAM12に格納された各選手キャラクタの価値データを、CPU7に認識させることにより、選手キャラクタの価値が、評価される。ここでは、選手キャラクタの価値データは、選手キャラクタ用の識別データに関連づけて、規定されている。このため、選手キャラクタ用の識別データをCPU7に認識させれば、この選手キャラクタ用の識別データに対応する選手キャラクタの価値データが、設定される。この価値データに基づいて、選手キャラクタの価値が評価される。ここでは、選手キャラクタの価値データは、選手キャラクタごとに所定の値が設定されており、RAM12に格納されている。
試合開始手段53は、試合イベントを開始するための命令を、発行する機能を備えている。
この手段では、試合イベントを開始するための試合開始命令が、CPU7から発行される。たとえば、この手段では、所定のタイミングで、試合イベントを開始するための試合開始命令が、CPU7から発行される。なお、試合イベントを開始するタイミング(所定のタイミング)は、ゲームプログラムにおいて予め規定されており、RAM12に格納されている。
スコアボード表示手段54は、スコアボードを、スコアボード用の画像データを用いて、テレビジョンモニタ20に表示する機能を備えている。
この手段では、スコアボードが、スコアボード用の画像データを用いて、テレビジョンモニタ20に表示される。たとえば、この手段では、試合開始命令がCPU7から発行されると、スコアボードが、スコアボード用の画像データを用いて、テレビジョンモニタ20に表示される。なお、スコアボード用の画像データは、野球ゲームプログラムに含まれており、記録媒体10からRAM12にロードされ格納される。
試合制御手段55は、試合イベントを制御するための命令を、発行する機能を備えている。
この手段では、試合イベントを制御するための試合制御命令が、CPU7から発行される。たとえば、この手段では、試合開始命令がCPU7から発行されると、試合制御命令、たとえば試合イベントの複数のプレイを制御するプレイ制御命令が、CPU7から発行される。これにより、試合イベントにおいて、複数のプレイが、時間的に連続して実行される。
より具体的には、プレイ制御命令には、選手キャラクタの動作を制御するためのキャラクタ制御命令、およびボールの動作を制御するためのボール制御命令等が、含まれている。たとえば、キャラクタ制御命令がCPU7から発行されると、ゲーム空間において、選手キャラクタが動作させられる。また、たとえば、ボール制御命令がCPU7から発行されると、ゲーム空間において、ボールが動作させられる。
経路表示手段56は、試合中の個々のプレイの結果に対応する第1プレイ結果データに基づいて、個々のプレイが所定の条件を満足するプレイであったか否かを、判断する機能を備えている。また、この手段は、プレイが所定の条件を満足するプレイであった場合に、所定の条件を満足したプレイにおけるボールの経路を、テレビジョンモニタ20に表示する機能を備えている。
この手段では、試合中の個々のプレイの結果に対応する第1プレイ結果データに基づいて、個々のプレイが所定の条件を満足するプレイであったか否かが、CPU7により判断される。
たとえば、1プレイが終了すると、このプレイ結果を特定するための第1プレイ結果データが、CPU7に認識される。ここでは、プレイの結果と、プレイ結果を特定するための第1プレイ結果データとの関係を示す対応テーブルが、RAM12に格納されており、この対応テーブルをCPU7に参照させることにより、第1プレイ結果データが、CPU7に認識される。すると、第1プレイ結果データの値が所定の値であるか否かが、CPU7により判断される。そして、第1プレイ結果データの値が所定の値であるとCPU7により判断された場合に、このプレイにおけるボールの経路が、テレビジョンモニタ20に表示される。
ここでは、たとえば、プレイの結果が、得点に関係する安打、得点に関係しない安打、および凡打等のような、ボールが飛球する結果であった場合(ボールが飛んだ場合)、ボールの移動経路が、画像データを用いて、テレビジョンモニタ20に表示される。詳細には、ボールが飛んだ場合の値(所定の値)は、対応テーブルにおいて予め規定されている。このため、第1プレイ結果データの値が、ボールが飛んだ場合の所定の値に等しかった場合に、ボールの移動経路が、画像データを用いて、テレビジョンモニタ20に表示される。ボールの移動経路は、打球の軌道をプレイヤに報知するためのものである。打球の軌道は、試合制御手段55において既に計算済みである。
なお、この処理は、1プレイが終了するごとにCPU7により実行され、上記の条件を満足した場合にのみ、ボールの移動経路がテレビジョンモニタ20に表示される。
候補選手キャラクタ設定手段57は、試合中の個々のプレイの評価に対応するプレイ評価データに基づいて、個々のプレイが所定の条件を満足するプレイであったか否かを、判断する機能を備えている。また、この手段は、プレイが所定の条件を満足するプレイであった場合に、所定の条件を満足するプレイを行った選手キャラクタを、候補選手キャラクタとして、設定する機能を備えている。
この手段では、試合中の個々のプレイの評価に対応するプレイ評価データに基づいて、個々のプレイが所定の条件を満足するプレイであったか否かが、CPU7により判断される。
たとえば、試合中の個々のプレイの結果を評価するためのプレイ評価データが、CPU7に認識される。ここでは、プレイの結果と、プレイの結果を評価するためのプレイ評価データとの関係を示す対応テーブルが、RAM12に格納されており、この対応テーブルをCPU7に参照させることにより、試合中の個々のプレイの評価に対応するプレイ評価データが、CPU7に認識される。
すると、プレイ評価データの値が所定の値以上であるか否かが、CPU7により判断される。そして、プレイ評価データの値が所定の値以上であるとCPU7により判断された場合に、発生したプレイが、ダイジェスト情報の候補となるプレイ(候補プレイ)として、設定される。そして、候補プレイが存在した場合に、この候補プレイを行った選手キャラクタが、CPU7に認識される。詳細には、候補プレイを行った選手キャラクタの識別データが、CPU7に認識される。すると、この選手キャラクタの識別データに基づいて、候補選手キャラクタが、CPU7により設定される。
なお、候補選手キャラクタが設定されたときには、候補選手キャラクタの識別データと、この候補選手キャラクタのプレイ評価データとを関連づける処理が、CPU7により実行される。そして、これらの関連を示す対応テーブルは、RAM12に格納されている。
ハーフイニング終了命令発行手段58は、ハーフイニングに含まれる複数のプレイが、終了したときに、ハーフイニングを終了するためのハーフイニング終了命令を、発行する機能を備えている。
この手段では、ハーフイニングに含まれる複数のプレイが、終了したときに、ハーフイニングを終了するためのハーフイニング終了命令が、CPU7から発行される。たとえば、野球ゲームにおいて、3つのアウトカウントがCPU7に認識されたときに、ハーフイニング終了命令が、CPU7から自動的に発行される。
主要選手キャラクタ設定手段59は、ハーフイニング終了命令が発行されたときに、ハーフイニング内で主要な役割を果たした候補選手キャラクタを、主要選手キャラクタとして、設定する機能を備えている。詳細には、主要選手キャラクタ設定手段59は、候補選手キャラクタが複数であり、且つ、複数の候補選手キャラクタそれぞれのプレイに対応するプレイ評価データの最大値と最小値との差が所定範囲内である場合に、複数の候補選手キャラクタの中から、価値データの最も大きな候補選手キャラクタを、主要選手キャラクタとして、設定する機能を備えている。また、主要選手キャラクタ設定手段59は、候補選手キャラクタが複数であり、且つ、複数の候補選手キャラクタそれぞれのプレイに対応するプレイ評価データの最大値と最小値との差が所定範囲外である場合に、プレイ評価データが最も大きな候補選手キャラクタを、主要選手キャラクタとして、設定する機能を備えている。
この手段では、ハーフイニング終了命令が発行されたときに、ハーフイニング内で主要な役割を果たした候補選手キャラクタが、主要選手キャラクタとして、CPU7に設定される。
たとえば、ハーフイニング終了命令が発行されたときに、候補選手キャラクタが1つである場合、この候補選手キャラクタの識別データを、主要選手キャラクタの識別データとして、CPU7に認識させることにより、主要選手キャラクタが設定される。
また、候補選手キャラクタが複数である場合、複数の候補キャラクタそれぞれのプレイに対応するプレイ評価データの最大値と最小値との差が所定範囲内であるか否かが、CPU7により判断される。そして、複数の候補キャラクタそれぞれのプレイに対応するプレイ評価データの最大値と最小値との差が所定範囲内である場合に、価値データの最も大きな候補キャラクタの識別データを、主要キャラクタの識別データとして、CPU7に認識させることにより、主要選手キャラクタが設定される。一方で、複数の候補キャラクタそれぞれのプレイに対応するプレイ評価データの最大値と最小値との差が所定範囲外である場合に、前記プレイ評価データが最も大きな候補キャラクタの識別データを、主要キャラクタの識別データとして、CPU7に認識させることにより、主要選手キャラクタが設定される。
主要選手キャラクタ抽出手段60は、複数の主要選手キャラクタが設定された場合に、価値データに基づいて、複数の主要選手キャラクタの中からいずれか1つの主要選手キャラクタを、ダイジェスト情報用の主要選手キャラクタとして、選出する機能を備えている。詳細には、主要選手キャラクタ抽出手段60は、最も大きなプレイ評価データが複数存在し、複数の主要キャラクタが設定された場合に、複数の主要キャラクタの中から、価値データの最も大きな主要キャラクタを、ダイジェスト情報用の主要キャラクタとして、設定する機能を備えている。
この手段では、複数の主要選手キャラクタが設定された場合に、RAM12に格納された価値データに基づいて、複数の主要選手キャラクタの中からいずれか1つの主要選手キャラクタを選出する処理が、CPU7により実行される。そして、選出された主要選手キャラクタが、ダイジェスト情報用の主要選手キャラクタとして、CPU7に認識される。たとえば、複数の主要キャラクタが設定された場合に、価値データの最も大きな主要キャラクタの識別データを、ダイジェスト情報用の主要キャラクタの識別データとして、CPU7に認識させることにより、複数の主要選手キャラクタの中からいずれか1つの主要選手キャラクタ、すなわちダイジェスト情報用の主要キャラクタが、設定される。
ダイジェスト情報生成手段61は、主要選手キャラクタのプレイに対応するダイジェスト情報を、ダイジェスト情報用の文字情報データに基づいて、主要選手キャラクタの名前を含む形態で生成する機能を備えている。また、ダイジェスト情報生成手段61では、複数の主要選手キャラクタが設定された場合に、ダイジェスト情報用の主要選手キャラクタのプレイに対応するダイジェスト情報を、ダイジェスト情報用の文字情報データに基づいて、主要選手キャラクタの名前を含む形態で生成する機能を備えている。また、ダイジェスト情報生成手段61では、候補キャラクタが存在しないハーフイニングが所定数以上連続した場合、そのハーフイニング間の試合の状況についてチームの名前を含む形態のダイジェスト情報を、生成する機能を備えている。
この手段では、主要選手キャラクタのプレイに対応するダイジェスト情報を、RAM12に格納されたダイジェスト情報用の文字情報データに基づいて生成する処理が、CPU7により実行される。また、複数の主要選手キャラクタが設定された場合には、ダイジェスト情報用の主要選手キャラクタのプレイに対応するダイジェスト情報を、RAM12に格納されたダイジェスト情報用の文字情報データに基づいて生成する処理が、CPU7により実行される。また、候補キャラクタが存在しないハーフイニングが所定数以上連続した場合には、そのハーフイニング間の試合の状況について、チームの名前を含む形態のダイジェスト情報を、RAM12に格納されたダイジェスト情報用の文字情報データに基づいて生成する処理が、CPU7により実行される。
たとえば、主要選手キャラクタが設定された場合、この主要選手キャラクタの名前およびこの主要選手キャラクタのプレイ結果に対応する、ダイジェスト情報用の文字情報データを、RAM12に格納されたデータベースの中からピックアップする処理が、CPU7により実行される。そして、ここでピックアップされたダイジェスト情報用の文字情報データを組み合わせることによって、ダイジェスト情報が生成される。
また、候補キャラクタが存在しないハーフイニングが所定数以上連続した場合には、
候補キャラクタが存在しなかった複数のハーフイニングにわたる試合状況が、チームの名前および試合状況に対応する、ダイジェスト情報用の文字情報データを、RAM12に格納されたデータベースの中からピックアップする処理が、CPU7により実行される。そして、ここでピックアップされたダイジェスト情報用の文字情報データを組み合わせることによって、ダイジェスト情報が生成される。
ダイジェスト表示手段62は、ハーフイニング終了命令が発行されるごとに、ダイジェスト情報を、ハーフイニングに対応するスコアボードのスコア情報(得点欄)に関連づけて、テレビジョンモニタ20に表示する機能を備えている。詳細には、ダイジェスト表示手段62は、ハーフイニング終了命令が発行されるごとに、新規に生成されたダイジェスト情報用の文字情報データと、過去に生成されたダイジェスト情報用の文字情報データとを比較することによって、ダイジェスト情報の類似判断を行い、ダイジェスト情報が類似していない場合に、新規のダイジェスト情報を、ハーフイニングに対応するスコアボードのスコア情報に関連づけて、テレビジョンモニタ20に表示する機能を備えている。
この手段では、ハーフイニング終了命令が発行されるごとに、ダイジェスト情報が、スコアボードの得点欄からの吹き出し形式で、テレビジョンモニタ20に表示される。詳細には、まず、ハーフイニング終了命令が発行されるごとに、新規に生成されたダイジェスト情報用の文字情報データと、過去に生成されたダイジェスト情報用の文字情報データとを比較する処理が、CPU7により実行される。これにより、ダイジェスト情報の類似判断が、行われる。次に、新規に生成されたダイジェスト情報用の文字情報データと、過去に生成されたダイジェスト情報用の文字情報データとが類似していない場合、すなわちダイジェスト情報が類似していない場合に、新規のダイジェスト情報が、スコアボードの得点欄からの吹き出し形式で、テレビジョンモニタ20に表示される。
ハーフイニング移行命令発行手段63は、ダイジェスト情報が表示された後に、新たなハーフイニングへ移行するためのハーフイニング移行命令を、発行する機能を備えている。
この手段では、ダイジェスト情報が表示された後に、新たなハーフイニングへ移行するためのハーフイニング移行命令が、CPU7から発行される。すると、次のハーフイニングのプレイを制御するためのプレイ制御命令が、CPU7から発行される。これにより、次のハーフイニングの複数のプレイが、時間的に連続して実行される。
〔野球ゲームにおけるダイジェスト表示システムの概要〕
次に、野球ゲームにおけるダイジェスト表示システムの具体的な内容について説明する。また、図13および図14に示すフローについても同時に説明する。なお、図13は野球ゲームの全体概要を説明するためのフローであり、図14は上記システムを説明するためのフローである。
まず、ゲーム装置の電源が投入され、ゲーム装置が起動されると、野球ゲームプログラムが、記録媒体10からRAM12にロードされ格納される。このときには、野球ゲームを実行する上で必要となる各種の基本ゲームデータも、同時に、記録媒体10からRAM12にロードされ格納される(S1)。
たとえば、基本ゲームデータには、3次元ゲーム空間用の各種の画像に関するデータが含まれている。3次元ゲーム空間用の各種の画像に関するデータには、たとえば、スタジアム用のモデルデータ、選手キャラクタ用のモデルデータ、および各種のオブジェクトのモデルデータ等が、含まれている。また、基本ゲームデータには、3次元ゲーム空間用のモデルデータを3次元ゲーム空間に配置するための位置座標データが、含まれている。また、基本ゲームデータには、3次元ゲーム空間に配置されたモデルを、テレビジョンモニタ20に表示するための画像データが、含まれている。画像データは、3次元ゲーム空間に配置されたモデルを、仮想カメラにより撮影することにより、生成される。さらに、基本ゲームデータには、上記システムで用いられる各種のデータも、含まれている。
続いて、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)。
次に、自動進行する野球ゲームにおいて実行されるダイジェスト表示システムを、詳細に説明する。
ここでは、野球ゲームにおいて、プレイヤが、1つのチームの1人の選手キャラクタだけを指揮するタイプの対戦モード(1人対戦モード)を選択したときに、本システムが実行される場合の例が、示される。
まず、1人対戦モードが選択されると(S301)、チームを設定するためのチーム設定画面が、テレビジョンモニタ20に表示される(図示しない)。そして、このチーム設定画面において、プレイヤがコントローラ17を操作することによって、自分が指揮するチームおよび対戦相手のチームが、選択される(S302)。すると、RAM12に格納されたチーム用の識別データIDTが、CPU7に認識される(図3を参照)。この認識処理によって、プレイヤが指揮するチームと、このプレイヤのチームと対戦するチームとが、CPU7に認識され管理される。
続いて、スターティングメンバーを設定するためのメンバー設定画面が、テレビジョンモニタ20に表示される(図示しない)。そして、このメンバー設定画面において、プレイヤがコントローラ17を操作することによって、スターティングメンバーが、選択される(S303)。また、ここでは、プレイヤがコントローラ17を操作することによって、スターティングメンバーの中から対象選手キャラクタ(プレイヤが指揮する選手キャラクタ)が、選択される。このようにして、選手キャラクタおよび対象選手キャラクタが選択されると、RAM12に格納された、選手キャラクタ用の識別データIDK(IDT)および対象選手キャラクタ用の識別データIDK’(IDT)が、CPU7に認識される(図4を参照)。この認識処理によって、各選手キャラクタが、CPU7に認識され管理される。
なお、図4には、Aチームの選手キャラクタと、選手キャラクタ用の識別データIDK(1)との関係が、示されている。また、図4の選手キャラクタ用の識別データIDK(1)の中のいれか1つが、対象選手キャラクタ用の識別データIDK’(1)として、CPU7に認識される。他のチームの選手キャラクタと、選手キャラクタ用の識別データIDK(IDT)との関係についても、図4と同様に処理される。
また、選手キャラクタが選択されると、RAM12に格納された、選手キャラクタの価値を示す価値データKD(IDK)が、CPU7に認識される(S304、図4を参照)。ここでは、選手キャラクタの価値データKD(IDK)は、選手キャラクタ用の識別データIDK(IDT)に関連づけられており、選手キャラクタの価値データKD(IDK)には、選手キャラクタごとに所定の値が設定されている。このため、選手キャラクタ用の識別データIDKをCPU7に認識させることにより、選手キャラクタの価値データKD(IDK)が、CPU7に認識される。言い換えると、選手キャラクタ用の識別データIDKと、選手キャラクタの価値データKD(IDK)との対応を示す対応テーブルが、RAM12に格納されており、この対応テーブルに基づいて、選手キャラクタ用の識別データIDKに対応する選手キャラクタの価値データKD(IDK)が、CPU7に認識される。このようにして、各選手キャラクタの価値データKD(IDK)が、CPU7により設定され、選手キャラクタの価値が評価される。
ここでは、「選手キャラクタの価値」という文言が、他の選手キャラクタに対する影響力、人気度、および個人成績等のような、選手キャラクタの特性および成績等を総称した文言として、用いられている。このため、選手キャラクタの価値は、選手キャラクタの価値データKD(IDK)の値が大きければ大きいほど、高くなる。
なお、選手キャラクタの価値データの記号は、正確には、「KD(IDK(IDT))」であるが、以下では、「KD(IDK)」と簡略化して表現する。
続いて、試合開始命令がCPU7から発行され、試合イベントが開始されると(S305)、図5に示すように、試合の対戦に関する画面、たとえばプレイの概要を視覚的に報知するための球場画像200、およびスコアボード100等が、各画像データを用いて、テレビジョンモニタ20に表示される(S306)。
そして、ハーフイニングを開始するためのハーフイニング開始命令が、CPU7から発行される。すると、まず、対象選手キャラクタが登場しているか否かが、CPU7により判断される(S307)。そして、対象選手キャラクタが未登場であった場合(S307でNo)、攻撃側のスターティングメンバーの名前を示す画像(識別子)が、テレビジョンモニタ20に表示される。たとえば、図5に示すように、攻撃側のスターティングメンバーの名前101が、リスト形式で、テレビジョンモニタ20に表示される。
すると、プレイの自動制御が、自動制御プログラムに基づいて、CPU7により開始される(S308)。
なお、プレイの自動制御中、すなわち対象選手キャラクタが未登場である場合は、各プレイに関する処理が、CPU7によりバックグラウンドで実行され、対戦画面には、プレイの詳細については表示されず、図5に示すように、プレイの概要、たとえば打球の軌道が、テレビジョンモニタ20に表示される。
各プレイがバックグラウンドで実行される場合、試合制御命令、たとえば試合イベントの複数のプレイを制御するプレイ制御命令が、CPU7から自動的に発行される。これにより、試合イベントにおいて、複数のプレイが、時間的に連続して実行される。
具体的には、プレイ制御命令には、選手キャラクタの動作を制御するためのキャラクタ制御命令、およびボールの動作を制御するためのボール制御命令等が、含まれている。選手キャラクタが自動制御される場合は、自動制御プログラムに基づいて、キャラクタ制御命令が、CPU7から発行される。
たとえば、投手キャラクタに対するキャラクタ制御命令としては、球種設定命令、投球コース設定命令、投球開始命令、およびリリース命令等が、用意されている。また、打者キャラクタに対するキャラクタ制御命令としては、スイングの目標となる位置(ボールをミートする位置)を指定するための命令、およびスイング開始命令等が、用意されている。また、野手キャラクタに対するキャラクタ制御命令としては、移動命令、捕球命令、および送球命令等が、用意されている。さらに、走者キャラクタに対するキャラクタ制御命令としては、盗塁命令、および走塁命令等が、用意されている。このような各種の命令は、自動制御プログラムに基づいて、ゲーム空間における各選手キャラクタに対して指示される。すると、この指示に応じて、選手キャラクタが、ゲーム空間において自動的に動作させられる。
また、ボール制御命令がCPU7から発行された場合には、ゲーム空間において、ボールが動作させられる。詳細には、ボールの軌道を計算する処理を、CPU7に実行させ、軌道上においてボールを移動させる命令を、CPU7に発行させることにより、ゲーム空間においてボールが、移動させられる。たとえば、ボールが投手キャラクタからリリースされた場合に、投球されたボールの軌道を計算する処理が、CPU7により実行される。すると、この軌道上においてボールを移動させるための命令が、CPU7から発行される。これにより、ゲーム空間において、リリースされたボールが、移動させられる。
続いて、自動制御中には、ボールが打者キャラクタにより打ち返されたか否かが、CPU7により監視されている。そして、ボールが打者キャラクタにより打ち返されたとCPU7により判断された場合、打球の軌道を計算する処理が、CPU7により実行される。すると、この軌道上においてボールを移動させるための命令が、CPU7から発行される。これにより、ゲーム空間において打球が、自動的に移動させられる。
なお、ボールが打者キャラクタにより打ち返されなかった場合、たとえばボールがバットに衝突せず捕手キャラクタに捕球された場合は、打球の軌道を計算する処理は、CPU7により実行されない。
ここで、ボールの軌道計算についての説明を、行っておく。
まず、ボールの質量に対応する質量データ、ボールの空気抵抗に対応する空気抵抗データ、バットにより打ち返された瞬間のボールの位置を示す初期位置座標データ、ボールの初速度に対応する初速度データ、およびボールの放出角度に対応する放出角度データが、CPU7に認識される。これらのデータの中の、ボールの質量に対応する質量データ、およびボールの空気抵抗に対応する空気抵抗データは、ゲームプログラムにおいて予め規定されており、RAM12に格納されている。また、これらのデータの中の、バットにより打ち返された瞬間のボールの位置を示す初期位置座標データ、ボールの初速度に対応する初速度データ、およびボールの放出角度に対応する放出角度データは、ボールがバットに衝突したときの位置関係に応じて、所定の値がCPU7により設定される。
ここでは、たとえば、ボールの軌道方程式として、「m(d2r/dt2)+K(dr/dt)=mg」が用いられる。この方程式では、mはボールの質量、rは原点から物体までの距離(ベクトル)、gは重力の加速度(ベクトル)で、その座標成分は(0,0,−g)、Kは空気抵抗係数である。
上記の軌道方程式を1階積分することにより、ボールの速度の方程式が算出され、この方程式を2階積分することにより、ボールの位置の方程式が算出される。なお、積分定数は、上記の各種のデータを積分後の方程式に代入することにより求められる。また、ボールの速度の方程式およびボールの位置の方程式には、ボールの軌道を調節するための調節関数が、付加されている。この調節関数を方程式に付加することにより、落下後のボール(ゴロ状態のボール)の速度や位置が、評価される。
このようにして求められた方程式は、ゲームプログラムでは、離散化された状態で記述されている。そして、この離散化後の方程式を単位時間(dt)ごとに時間進行させる計算を、CPU7に実行させることにより、各時刻における、ボールの移動速度データおよびボールの位置座標データを算出することができる。また、時刻データは、打者キャラクタによりボールが打ち返された時点の時刻を条件として、打者キャラクタによりボールが打ち返された時点の時刻に単位時間を順次加算する処理を、CPU7に実行させることにより、求められる。
なお、ゲーム空間におけるボールの位置情報を記録するために、各時刻のボールの時刻データ、各時刻のボールの位置座標データ、および各時刻のボールの移動速度データは、RAM12に格納される。
続いて、1プレイが終了したか否かが、CPU7により判断される(S309)。そして、1プレイが終了した場合(S309でYes)、このプレイ結果をテレビジョンモニタ20に表示するか否かを判断する処理が、CPU7により実行される。たとえば、プレイ結果とプレイ結果を特定するための第1プレイ結果データP1との関係を示す対応テーブル(図7を参照)に基づいて、発生したプレイ結果に対応する第1プレイ結果データP1が、CPU7に認識される。
すると、この第1プレイ結果データP1に基づいて、このプレイが所定のプレイであったか否かが、CPU7により判断される(S310)。たとえば、第1プレイ結果データP1の値が所定の値であるか否かが、CPU7により判断される。そして、第1プレイ結果データP1の値が所定の値であるとCPU7により判断された場合(S310でYes)、このプレイにおけるボールの経路が、テレビジョンモニタ20に表示される(S311)。たとえば、第1プレイ結果データP1の値が、得点に関係する安打、得点に関係しない安打、および凡打等のような、ボールが飛球する結果に対応する値であった場合(図7を参照、「P1=1,2,3,4,5」の場合)、ボールの移動経路が、画像データを用いて、テレビジョンモニタ20に表示される。
ボールの移動経路は、ゲーム空間における打球の軌道を、画像データを用いて、テレビジョンモニタ20に表示される。たとえば、打球の軌道は、実線(図5を参照)や点線(図示せず)等を用いて、テレビジョンモニタ20に表示される。具体的には、ゲーム空間におけるボールの軌跡を所定の倍率で拡大又は縮小する処理をCPU7に実行させることにより、ゲーム空間におけるボールの軌道の形状と相似になるように、打球の経路が、球場画像200上に表示される。
なお、第1プレイ結果データP1の値が所定の値ではないとCPU7により判断された場合(S310でNo)、ボールの移動経路はテレビジョンモニタ20に表示されず、後述したステップ313(S313)の処理が、CPU7により実行される。
一方で、対象選手キャラクタが登場した場合(S307でYes)、対戦画面には、図6に示すように、プレイの詳細、たとえば投手キャラクタ、打者キャラクタ、および野手キャラクタが、テレビジョンモニタ20に表示される。すると、プレイヤがコントローラ17を操作することにより、対象選手キャラクタに対する手動制御が、CPU7により実行される(S312)。
たとえば、対象選手キャラクタが、このプレイで打席に立つ打者キャラクタである場合、プレイヤがコントローラ17を操作することにより、打者キャラクタに対して、スイングの目標となる位置300(ボールをミートする位置)を指定するための命令、およびスイング開始命令等のようなキャラクタ制御命令が、CPU7から発行される。また、対象選手キャラクタが、投手キャラクタである場合、プレイヤがコントローラ17を操作することにより、投手キャラクタに対して、球種設定命令、投球コース設定命令、投球開始命令、およびリリース命令等のようなキャラクタ制御命令が、CPU7から発行される。
なお、対象選手キャラクタが、守備についた場合や出塁した場合については、プレイヤが、対象選手キャラクタに対してコントローラ17から命令を指示するか否かを、対象選手キャラクタを選択するときに選択可能になっている。ここで、たとえば、対象選手キャラクタが、守備についたときや、出塁したときに、プレイヤが、対象選手キャラクタに対してコントローラ17から命令を指示することを選択した場合、野手キャラクタに対しては、移動命令、捕球命令、および送球命令等のようなキャラクタ制御命令が、CPU7から発行される。また、走者キャラクタに対しては、盗塁命令および走塁命令等のようなキャラクタ制御命令が、CPU7から発行される。この場合、対象選手キャラクタを除く他の選手キャラクタは、上述したように、自動制御プログラムに基づいて、CPU7により自動制御される。
このように、対象選手キャラクタが登場した場合は、対象選手キャラクタに対する命令はプレイヤにより指示され、その他の選手キャラクタに対する命令は自動制御プログラムに基づいて指示される。
そして、プレイヤが操作する対象選手キャラクタが登場した場合にも、1プレイが終了したか否かが、CPU7により判断される(S309)。そして、1プレイが終了した場合(S309でYes)、ステップ310(S310)の処理が、CPU7により実行される。
なお、1プレイが終了していない状態では(S309でNo)、1プレイが終了するまで、投手キャラクタと打者キャラクタとの対戦に関する処理、たとえばステップ308(S308)の処理又はステップ312(S312)の処理が、CPU7により実行される。なお、図14では、ステップ309(S309)のNoの場合の矢印は、便宜的に、ステップ308(S308)およびステップ312(S312)と、ステップ309(S309)との間に向けて、伸ばしている。
続いて、試合イベント中の個々のプレイ評価に対応するプレイ評価データPH(n)に基づいて、個々のプレイが所定の条件を満足するプレイであったか否かが、CPU7により判断される。なお、ここで用いられるパラメータ「n」は、ハーフイニングで発生したプレイの順序を示すものである。たとえば、1プレイ目では「n=1」となり、2プレイ目では「n=2」となり、3プレイ目では「n=3」となる。
ここでは、まず、プレイ結果とプレイ結果を評価するためのプレイ評価データPH(n)との関係を示す対応テーブル(図8を参照)に基づいて、発生したプレイ結果を評価したプレイ評価データPH(n)が、CPU7に認識される。これにより、発生したプレイ結果が、評価される(S313)。
たとえば、試合イベント中の個々のプレイ結果には、得点に関係しないプレイ結果(ex. ヒット、二塁打、三塁打、凡打、三振)、得点に関係するプレイ結果(ex. ヒット、二塁打、三塁打、ホームラン)、守備に関するプレイ結果(ex. ファインプレー、エラー)、および投手に関するプレイ結果(ex. 奪三振)等が、ある。これらのプレイ結果それぞれに対するプレイ評価データPH(n)が、RAM12に格納された上記の対応テーブルにおいて、規定されている。このため、試合イベント中にプレイが発生すると、この対応テーブルがCPU7により参照され、このプレイ結果に対応するプレイ評価データPH(n)が、CPU7に認識される。
すると、プレイ評価データPH(n)の値が、所定の値以上たとえば1以上であるか否かが、CPU7により判断される。これにより、このプレイが、所定の評価以上のプレイであるか否かが、CPU7により判断される(S314)。そして、このプレイ評価データPH(n)の値が、所定の値以上であるとCPU7により判断された場合(S314でYes)、このプレイが、ダイジェスト情報の候補となるプレイ(候補プレイ)として、設定される(S315)。
詳細には、攻撃側のプレイ評価データPH(n)の値が、所定の値以上たとえば5以上であるか否かが、CPU7により判断される。これにより、このプレイが、所定の評価以上のプレイであるか否かが、CPU7により判断される。そして、攻撃側のプレイ評価データPH(n)の値が、所定の値以上であるとCPU7により判断された場合、攻撃側のプレイが、ダイジェスト情報の候補となるプレイ(候補プレイ)として、設定される。
一方で、攻撃側のプレイ評価データPH(n)の値が、所定の値未満たとえば5未満であるとCPU7により判断された場合、守備側のプレイ評価データPH(n)の値が、所定の値たとえば5以上であるか否かが、CPU7により判断される。そして、守備側のプレイ評価データPH(n)の値が、所定の値以上であるとCPU7により判断された場合、守備側のプレイが、ダイジェスト情報の候補プレイとして、設定される。
なお、プレイが、所定の評価未満のプレイであった場合(S314でNo)、ダイジェスト情報の候補プレイの設定は、実行されない。たとえば、攻撃側のプレイ評価データPH(n)の値および守備側のプレイ評価データPH(n)の値が、所定の値未満であるとCPU7により判断された場合、候補選手キャラクタの設定は実行されず、後述するステップ317(S317)の処理が、CPU7により実行される。
このようにして候補プレイの有無が判断され、候補プレイが存在した場合は、この候補プレイにおいて主要な役割を果たした選手キャラクタの識別データIDKが、候補選手キャラクタの識別データIDKKとして、CPU7に認識される。この認識処理によって、候補選手キャラクタが、CPU7に認識され管理される(S316)。すなわち、候補選手キャラクタが、設定される。
たとえば、候補プレイが存在した場合、この候補プレイの結果が、打撃に関するものであった場合(ex. ヒット、二塁打、三塁打、ホームラン)、打者キャラクタの識別データIDKが、候補選手キャラクタの識別データIDKKとして、CPU7に認識される。また、候補プレイの結果が、守備に関するものであった場合(ex. ファインプレー)、このプレイでファインプレーをした野手キャラクタの識別データIDKが、候補選手キャラクタの識別データIDKKとして、CPU7に認識される。さらに、候補プレイの結果が、投手に関するものであった場合(ex. 奪三振、奪凡打)、投手キャラクタの識別データIDKが、候補選手キャラクタの識別データIDKKとして、CPU7に認識される。
この処理は、1つのプレイ結果に対して実行される。このため、ハーフイニング内において、複数のプレイ結果が上記の条件を満足した場合は、複数の候補選手キャラクタが、設定される。一方で、ハーフイニング内において、どのプレイ結果も上記の条件を満足しなかった場合は、候補プレイが存在しなかったものと見なされ、候補選手キャラクタも、設定されない。
なお、ここでは、プレイ評価データPH(n)の値が所定の値以上であるか否かが、CPU7により判断される場合の例が示されているが、プレイ評価データPH(n)の値が所定の絶対値以上であるか否かが、CPU7により判断されるようにしても良い。この場合、攻撃側のプレイ評価データPH(n)と、守備側のプレイ評価データPH(n)との大小関係を比較するときには、攻撃側のプレイ評価データPH(n)の絶対値と、守備側のプレイ評価データPH(n)の絶対値とを用いる必要がある。そして、このようにして、攻撃側のプレイ評価データPH(n)と、守備側のプレイ評価データPH(n)とを比較すると、評価の高いプレイだけでなく、評価の低いプレイも、ダイジェスト情報の候補とすることができる。
続いて、ハーフイニングが終了したか否かが、CPU7により監視されている(S317)。そして、ハーフイニングが終了した場合(S317でYes)、たとえば3つのアウトカウントがCPU7に認識された場合、ハーフイニングを終了するためのハーフイニング終了命令が、CPU7から発行される。このようにして、ハーフイニング終了命令がCPU7から発行され、ハーフイニングが終了すると、このハーフイニングのスコア情報すなわち得点データが、CPU7に認識される(S318)。一方で、ハーフイニングが終了していない場合(S317でNo)、ステップ307(S307)の処理が、CPU7により実行される。
また、ハーフイニングが終了した場合(S317でYes)、ハーフイニングに含まれる複数のプレイにおいて主要な役割を果たした候補選手キャラクタを、主要選手キャラクタとして、設定する処理が、CPU7により実行される。
たとえば、まず、候補選手キャラクタが存在するか否かが、CPU7により判断される(S319)。ここでは、ハーフイニング内における候補プレイの数を計算する処理を、CPU7に実行させることにより、候補選手キャラクタの存在の有無が、判断される。ここでは、候補選手キャラクタが存在しない場合(S319でNo)は、ハーフイニング内の候補プレイの数が「0(ゼロ)」である場合、すなわち無得点であった場合に対応する。この場合、攻撃側のチームにおいて無得点であったハーフイニングが、所定数連続しているか否かが、CPU7により判断される(S320)。そして、攻撃側のチームにおいて無得点であったハーフイニングが、所定数たとえば3回連続した場合(S320でYes)、これらのハーフイニング間の試合状況について、チームの名前を含んだ形態のダイジェスト情報を生成する処理が、CPU7により実行される。この処理については、後述するステップ328(S328)において説明する。
なお、候補選手キャラクタが存在しないハーフイニングが、所定数たとえば3回未満である場合(S320でNo)、ダイジェスト情報を生成する処理が実行されず、後述するステップ331(S331)の処理が、CPU7により実行される。
一方で、候補選手キャラクタが存在する場合(S319でNo)、すなわちハーフイニング内の候補プレイの数が「1」以上である場合、候補選手キャラクタが複数存在するか否かが、CPU7により判断される(S321)。そして、候補選手キャラクタが1つである場合(S321でNo)、すなわち候補プレイが1つである場合、この候補選手キャラクタが、ダイジェスト情報用の主要選手キャラクタとして設定される(S322)。
また、候補選手キャラクタが複数である場合(S321でYes)、すなわち候補プレイが複数である場合、プレイ評価データPH(n)の最大値PH(nx)と最小値PH(nn)の差を計算する処理(PH(nx)−PH(nn))が、CPU7により実行される。そして、この計算結果が、所定値以下たとえば1以下であるか否かが、CPU7により判断される。すなわち、この処理によって、候補プレイの評価結果に顕著な差が見受けられるか否かが、判別される(S323)。なお、ここでは、nmプレイ目のプレイにおいて、プレイ評価データPH(nm)が最大値をとり、nnプレイ目のプレイにおいて、プレイ評価データPH(nn)が、最小値をとったものとして、説明を行っている。
そして、この計算結果が所定値以下である場合(PH(nx)−PH(nn)≦1)、すなわち候補プレイの評価結果に顕著な差が見受けられない場合(S323でNo)、価値データKD(IDKK)の最も大きな候補選手キャラクタを検出する処理が、CPU7により実行される(S324)。たとえば、候補プレイの評価結果に顕著な差が見受けられない場合は、複数の候補選手キャラクタの価値データKD(IDKK)の中から、最も大きな価値データKD(IDKK_MX)が、CPU7により検索される。そして、この価値データKD(IDKK_MX)を有する候補選手キャラクタの識別データIDKK_MXを、主要選手キャラクタの識別データIDKSとして、CPU7に認識させることにより、主要選手キャラクタが設定される(S325)。このように、候補プレイの評価結果に顕著な差が見受けられない場合は、価値が最も高い候補選手キャラクタが、ダイジェスト情報用の主要選手キャラクタとして設定される。
一方で、プレイ評価データの最大値と最小値の差を計算した結果が、所定値より大きい場合(PH(nx)−PH(nn)>1)、すなわち候補プレイの評価結果に顕著な差が見受けられる場合(S323でYes)、プレイ評価データPH(n)が最も大きな候補プレイを検出する処理が、CPU7により実行される(S326)。たとえば、候補プレイの評価結果に顕著な差が見受けられる場合は、複数の候補プレイのプレイ評価データの中から、最も大きなプレイ評価データPH(nx)が、CPU7により検索される。そして、このプレイ評価データPH(nx)に対応するプレイにおいて主要な役割を果たした候補選手キャラクタの識別データIDKKを、主要選手キャラクタの識別データIDKSとして、CPU7に認識させることにより、主要選手キャラクタが設定される(S327)。このように、候補プレイの評価結果に顕著な差が見受けられる場合は、評価が最も高いプレイを行った候補選手キャラクタが、ダイジェスト情報用の主要選手キャラクタとして設定される。
なお、ステップ326(S326)において、複数の候補プレイのプレイ評価データの中から、最も大きなプレイ評価データPH(nx)が、CPU7により検索されたときに、最も大きなプレイ評価データPH(nx)が複数存在する場合がある。この場合、ステップ327(S327)において、複数の主要選手キャラクタが設定される。このため、これら複数の主要選手キャラクタの中から、ダイジェスト情報用の主要選手キャラクタを選出する処理が、CPU7により実行される。この処理は、ステップ327(S327)において実行される。
ここでは、たとえば、複数の主要選手キャラクタそれぞれの価値データKD(IDKS)に基づいて、複数の主要選手キャラクタの中からいずれか1つの主要選手キャラクタを選出する処理が、CPU7により実行される。より具体的には、複数の主要選手キャラクタそれぞれの識別データを、IDKS(l)で表すと、各主要選手キャラクタの価値データは、KD(IDKS(l))で表すことができる。この表現に基づいて、主要選手キャラクタの選出処理を説明すると、まず、複数の主要選手キャラクタの価値データKD(IDKS(l))の中から、最も大きな価値データKD(IDKS(lm))が、CPU7により検索される。そして、この価値データKD(IDKS(lm))を有する主要選手キャラクタの識別データIDKS(lm)を、主要選手キャラクタの識別データIDKS’として、CPU7に認識させることにより、複数の主要選手キャラクタの中から、ダイジェスト情報用の主要選手キャラクタが、設定される。
なお、ここで用いられるパラメータ「l」は、複数の主要選手キャラクタを識別するためのものであり、「IDKS(lm)」は、最大の価値データを有する主要選手キャラクタの識別データに対応している。また、ここで用いられた「IDKS’」という記号は、以下では、簡略的に「IDKS」と表現される。
続いて、ダイジェスト情報用の主要選手キャラクタが、CPU7により設定された場合(S322、S325、S327)、この主要選手キャラクタのプレイに対応するダイジェスト情報を、RAM12に格納されたダイジェスト情報用の文字情報データに基づいて生成する処理が、CPU7により実行される(S328)。
たとえば、この主要選手キャラクタの名前およびこの主要選手キャラクタのプレイ結果に対応する、ダイジェスト情報用の文字情報データを、RAM12に格納された文字情報用のデータベースの中からピックアップする処理が、CPU7により実行される。
より具体的には、文字情報用のデータベースに含まれる、主要選手キャラクタの名前に対応する文字情報データが、主要選手キャラクタの識別データIDKSに基づいて、CPU7に認識される。また、文字情報用のデータベースに含まれる、プレイ結果に対応する文字情報データが、プレイ評価データPH(n)に基づいて、CPU7に認識される。なお、主要選手キャラクタの識別データIDKSと、主要選手キャラクタの名前用の文字情報データとの対応、およびプレイ評価データPH(n)とプレイ結果に対応する文字情報データとの対応は、文字情報用のデータベースにおいて、予め規定されている。
そして、スコア情報に基づいて、ダイジェスト情報用の文字情報データを、RAM12に格納された文字情報用のデータベースの中からピックアップする処理が、CPU7により実行される。
たとえば、終了直後のハーフイニングにおいて発生した得点データと、終了直後のハーフイニングを除いた過去のハーフイニングにおいて発生した得点データとを比較する処理が、CPU7により実行される。そして、比較結果に対応する文字情報データ、すなわち得点に関する文字情報データを、RAM12に格納された文字情報用のデータベースの中からピックアップする処理が、CPU7により実行される。
たとえば、図10に示すように、主要選手キャラクタの名前が「b1」であり、プレイ結果が「タイムリーヒット」であり、攻撃が終了した直後のチーム(Bチーム)の全得点データが、相手チーム(Aチーム)の全得点データに等しくなった場合、「b1同点タイムリーヒット」というダイジェスト情報150が、生成される。ここでは、比較結果に対応する文字情報データに基づいて、「同点」という文字情報が、ダイジェスト情報150において用いられている。
また、主要選手キャラクタの名前が「b2」であり、プレイ結果が「ホームラン」であり、攻撃が終了した直後のチーム(Bチーム)の全得点データが、相手チーム(Aチーム)の全得点データにより大きくなった場合、「b2勝ち越しホームラン」というダイジェスト情報150が、生成される。ここでは、比較結果に対応する文字情報データに基づいて、「ホームラン」という文字情報が、ダイジェスト情報150において用いられている。
さらに、主要選手キャラクタの名前が「a1」であり、プレイ結果が「タイムリー2塁打」であり、攻撃が終了した直後のチーム(Aチーム)の全得点データが、相手チーム(Bチーム)の全得点データに近づいた場合、「a1反撃タイムリー2塁打」というダイジェスト情報150が、生成される。ここでは、比較結果に対応する文字情報データに基づいて、「タイムリー2塁打」という文字情報が、ダイジェスト情報150において用いられている。
なお、1回表のハーフイニングでは、過去のハーフイニングが存在しない。このため、この場合は、所定の文字情報データがCPU7に認識され、ダイジェスト情報150が生成される。たとえば、1回表のハーフイニングにおいて得点が生じた場合、「先制」という文字情報が、ダイジェスト情報150において用いられる。ここで、主要選手キャラクタの名前が「a2」であり、プレイ結果が「ホームラン」である場合、「a2先制ホームラン」というダイジェスト情報150が、生成される。
このようにして、文字情報用のデータベースからピックアップされた、ダイジェスト情報用の文字情報データを、組み合わせることによって、ダイジェスト情報150が生成される。
また、候補選手キャラクタが存在しないハーフイニングが、所定数たとえば3回連続した場合(S320でYes)、これらのハーフイニング間の試合状況について、チームの名前を含んだ形態のダイジェスト情報を、RAM12に格納されたダイジェスト情報用の文字情報データに基づいて生成する処理が、CPU7により実行される(S328)。
たとえば、チームおよび試合状況に対応する、ダイジェスト情報用の文字情報データを、RAM12に格納された文字情報用のデータベースの中からピックアップする処理が、CPU7により実行される。そして、ここでピックアップされたダイジェスト情報用の文字情報データを組み合わせることによって、ダイジェスト情報150が生成される。
具体的には、文字情報用のデータベースに含まれる、攻撃中のチームの名前に対応する文字情報データが、攻撃中のチームの識別データIDTに基づいて、CPU7に認識される。また、文字情報用のデータベースに含まれる、攻撃中のチームの複数回にわたる試合状況に対応する文字情報データが、攻撃用の第2プレイ結果データP2(=1)に基づいて、CPU7に認識される(図9を参照)。これにより、攻撃中のチームの名前が「A」であり、試合状況が「打線沈黙」であった場合に、「A打線沈黙」というダイジェスト情報150が、生成される(図11を参照)。
同様に、文字情報用のデータベースに含まれる、守備中のチームの名前に対応する文字情報データが、守備中のチームの識別データIDTに基づいて、CPU7に認識される。また、文字情報用のデータベースに含まれる、守備中のチームの複数回にわたる試合状況に対応する文字情報データが、守備用の第2プレイ結果データP2(=2)に基づいて、CPU7に認識される(図9を参照)。これにより、攻撃中のチームの名前が「B」であり、試合状況が「投手陣力投」であった場合に、「B投手陣力投」というダイジェスト情報150が、生成される(図11を参照)。
そして、「A打線沈黙」および「B投手陣力投」のいずれか一方のダイジェスト情報150をランダムに選択する処理が、CPU7により実行される。ここで選択されたダイジェスト情報150が、後述するステップ330(S330)において、テレビジョンモニタ20に表示される。なお、図12では、「A打線沈黙」が選択された場合の例が、示されている。
続いて、ダイジェスト情報150の類似判断が、CPU7により実行される(S329)。たとえば、新規に生成されたダイジェスト情報用の文字情報データと、過去に生成されたダイジェスト情報用の文字情報データとを比較する処理が、CPU7により実行される。
そして、新規に生成されたダイジェスト情報用の文字情報データと、過去に生成されたダイジェスト情報用の文字情報データとが類似していない場合(S329でNo)、すなわちダイジェスト情報150が類似していない場合、新規のダイジェスト情報150をテレビジョンモニタ20に表示するための情報表示命令が、CPU7から発行される。すると、新規のダイジェスト情報150が、スコアボード100の得点欄からの吹き出し形式で、テレビジョンモニタ20に表示される(S330)。
一方で、新規に生成されたダイジェスト情報用の文字情報データと、過去に生成されたダイジェスト情報用の文字情報データとが類似していた場合(S329でYes)、すなわちダイジェスト情報が類似していた場合、新規のダイジェスト情報をテレビジョンモニタ20に表示するための情報表示命令が、CPU7から発行されない。このため、この場合は、ダイジェスト情報が、テレビジョンモニタ20に表示されず、後述するステップ331(S331)の処理が、CPU7により実行される。
なお、試合イベントが開始されて、ダイジェスト情報用の文字情報データが、最初に生成された場合は、過去のダイジェスト情報用の文字情報データが存在していないので、ダイジェスト情報が類似していないものとして、処理される。
ここで、ダイジェスト情報150の類似判断についての説明を、行っておく。
上述したように、選手用のダイジェスト情報150は、「|名前情報|スコア情報|結果情報|」のような形態で生成される。すなわち、選手用のダイジェスト情報150は、「名前情報」、「スコア情報」、および「結果情報」から構成されている。たとえば、選手用のダイジェスト情報150を構成する各情報に対応する文字情報データをCPU7に認識させることにより、選手用のダイジェスト情報150が生成される。
選手用のダイジェスト情報150の類似判断では、まず、新規のスコア情報用の文字情報データと、過去のスコア情報用の文字情報データとが同じであるか否かが、CPU7により判別される。そして、新規のスコア情報用の文字情報データと、過去のスコア情報用の文字情報データとが異なる場合、選手用のダイジェスト情報150が類似していないものとみなされ、新規のダイジェスト情報150が、テレビジョンモニタ20に表示される。
次に、新規のスコア情報用の文字情報データと、過去のスコア情報用の文字情報データとが同じである場合、新規の結果情報用の文字情報データと、過去の結果情報用の文字情報データとが同じであるか否かが、CPU7により判別される。そして、新規の結果情報用の文字情報データと、過去の結果情報用の文字情報データとが異なる場合、新規のダイジェスト情報150が、テレビジョンモニタ20に表示される。
続いて、新規の結果情報用の文字情報データと、過去の結果情報用の文字情報データとが同じである場合、新規の名前情報用の文字情報データと、過去の名前情報用の文字情報データとが同じであるか否かが、CPU7により判別される。そして、新規の名前情報用の文字情報データと、過去の名前情報用の文字情報データとが異なる場合、新規のダイジェスト情報150が、テレビジョンモニタ20に表示される。なお、新規の名前情報用の文字情報データと、過去の名前情報用の文字情報データとが同じである場合、選手用のダイジェスト情報150が類似しているものとみなされ、新規のダイジェスト情報は、テレビジョンモニタ20に表示されない。
同様に、上述したように、チーム用のダイジェスト情報150は、「|名前情報|試合状況情報|」のような形態で生成される。すなわち、チーム用のダイジェスト情報150は、「名前情報」および「試合状況情報」から構成されている。たとえば、チーム用のダイジェスト情報150を構成する各情報に対応する文字情報データをCPU7に認識させることにより、チーム用のダイジェスト情報150が生成される。
チーム用のダイジェスト情報150の類似判断では、まず、新規の試合状況情報用の文字情報データと、過去の試合状況情報用の文字情報データとが同じであるか否かが、CPU7により判別される。そして、新規の試合状況情報用の文字情報データと、過去の試合状況情報用の文字情報データとが異なる場合、新規のダイジェスト情報150が、テレビジョンモニタ20に表示される。
続いて、新規の試合状況情報用の文字情報データと、過去の試合状況情報用の文字情報データとが同じである場合、新規の名前情報用の文字情報データと、過去の名前情報用の文字情報データとが同じであるか否かが、CPU7により判別される。そして、新規の名前情報用の文字情報データと、過去の名前情報用の文字情報データとが異なる場合、新規のダイジェスト情報150が、テレビジョンモニタ20に表示される。なお、新規の名前情報用の文字情報データと、過去の名前情報用の文字情報データとが同じである場合、ダイジェスト情報が類似しているものとみなされ、新規のダイジェスト情報は、テレビジョンモニタ20に表示されない。
このような類似判断を行うことにより、ハーフイニングで発生したプレイ状況に応じたダイジェスト情報150が、たとえば図12に示すように、ハーフイニングが終了するごとに、スコアボード100の得点欄に関連付けて、テレビジョンモニタ20に表示される(S330)。
続いて、試合イベントが終了したか否かが、CPU7により判断される(S317)。そして、試合イベントが終了していない場合(S331でNo)、新たなハーフイニングへ移行するためのハーフイニング移行命令が、CPU7から発行される(S333)。すると、次のハーフイニングのプレイを制御するためのプレイ制御命令が、CPU7から発行される。これにより、次のハーフイニングの複数のプレイが、時間的に連続して実行される。すなわち、上記のステップ306(S306)以降の処理が、CPU7により再実行される。
一方で、試合イベントが終了した場合(S331でYes)、試合結果のデータやゲーム継続用のデータ等を保存する命令が、CPU7から発行される。すると、これらのデータが、RAM12に格納される(S332)。続いて、1人対戦モードが終了したか否かが、CPU7により判断される(S334)。たとえば、1人対戦モードが終了するためのボタンが、プレイヤにより操作されたか否かが、CPU7により判断される。ここで、1人対戦モードが終了するためのボタンが、プレイヤより操作された場合(S334でYes)、対戦モード用のデータ等を保存する命令が、CPU7から発行される。すると、これらのデータが、RAM12に格納される(S335)。一方で、1人対戦モードがプレイヤにより終了されなかった場合(S334でNo)、ステップ302(S302)の処理が、CPU7により再実行される。この場合は、1人対戦モードが、プレイヤにより、再び実行される場合に相当する。
上記のような本実施形態では、試合のハーフイニング内において所定の条件を満足するプレイが、発生した場合に、このハーフイニング内において実行された複数のプレイにおいて、最も主要な役割を果たしたキャラクタが、主要キャラクタとして、設定される。そして、この主要キャラクタの名前が含まれたダイジェスト情報150が、対応するスコアボードのスコア情報に関連づけて、テレビジョンモニタ20に表示される。このような処理は、ハーフイニングが終了するごとに実行される。
これにより、試合のダイジェスト情報150を、試合の進行に応じて、スコアボードのスコア情報に関連づけて、リアルタイムに表示することができる。このため、試合が自動進行中であっても、プレイヤは、試合においてハーフイニングが終了するごとに表示されるダイジェスト情報150を見て、そのハーフイニングに発生したポイントとなるプレイを、時系列的に把握することができる。また、プレイヤは、このダイジェスト情報150に基づいて、試合の流れやポイント等を容易に把握することができる。
〔他の実施形態〕
(a)前記実施形態では、1人対戦モードにおいて、ダイジェスト表示システムが機能する場合の例が示されているが、ダイジェスト表示システムは、他のモードにおいても利用することができる。
(b)前記実施形態では、主に得点が入った場合の攻撃側のダイジェスト情報が生成され表示される場合の例を示したが、守備側のダイジェスト情報を生成し表示するようにしても良い。この場合は、「a1(選手名)最高の(スコア情報)立ち上がり(プレイ結果)」等のダイジェスト情報が、生成され表示される。
(c)前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての開発用のビデオゲーム装置を用いた場合の例を示したが、コンピュータは、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
(d)本発明には、前述したようなゲームを実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、CD−ROM、DVD、MO、ROMカセット、その他のものが挙げられる。