本発明の一実施形態によるゲーム装置を図面を用いて説明する。
(ゲーム装置の構成)
本実施形態のゲーム装置の構成を図1を用いて説明する。
ゲーム装置には、装置全体の制御を行う主制御部10と、ゲーム画面の表示制御を行う表示制御部12と、効果音等を生成する音声制御部14とが設けられている。
主制御部10には、SCU(System Control Unit)100と、メインCPU102と、RAM104と、ROM106と、サブCPU108とが設けられ、バス110により相互接続されている。
SCU100には、バス112を介してゲームプログラムが格納されたゲームROM16が接続され、バス114を介して表示制御部12と音声制御部14が接続されている。SCU100は、バス110、112、114を介して、メインCPU、VDP120、130、DSP140、CPU142間相互のデータ入出力を制御する。
メインCPU102は、内部にDSP(Digital Signal Processor)と同様の演算機能を備え、ゲームROM16内に格納されているゲームプログラムを高速に実行する。
RAM104は、メインCPU102のワークエリアとして使用される。ゲームプログラムやキャラクタデータが一時的に格納されている。
ROM106は、初期化処理用のイニシャルプログラム等の各種ゲーム共通のプログラムやデータが格納されている。
サブCPU108にはコネクタ18を介して操作パネル20が接続されている。操作パネル20にはプレイヤが操作する操作ボタン等が設けられている。操作パネル20の詳細については後述する。サブCPU108は、SMPC(System Manager & Peripheral Control)と呼ばれ、メインCPU102からの要求に応じて、操作パネル20からの操作データを取り込み、メインCPU102に渡す機能を有している。
メインCPU102は、サブCPU108から受け取った操作データに基づいて、例えば、ゲーム画面中のキャラクタの回転変換や透視変換等の画像制御を行う。画像制御の詳細については後述する。
表示制御部12には、ポリゴンデータからなるキャラクタや背景のポリゴン画面の描画を行う第1VDP120と、この第1VDP120に接続されたVRAM122及びフレームバッファ124、126と、スクロール背景画面の描画、表示優先順位(プライオリティ)に基づくポリゴン画像データとスクロール画像データとの画像合成、クリッピングを行う第2VDP130と、この第2VDP130に接続されたVRAM132及びメモリ134とが設けられている。第1VDP120と第2VDP130はバス114を介して接続されている。
第1VDP120は、システムレジスタ120aを内蔵している。キャラクタを表すポリゴンの描画データはメインCPU102を介して第1VDP120に送られ、VRAM122に書き込まれる。VRAM122に書き込まれた描画データは、描画用のフレームバッファ122又は124に描画される。描画されたフレームバッファ122又は124のデータは、表示モード時に第2VDP130に送られる。このように、2つのフレームバッファ122、124を用いて、描画と表示をフレーム毎に切り換えるようにしている。
一方、描画を制御する情報は、メインCPU102からSCU100を介して第1VDP120のシステムレジスタ120aに設定される。このシステムレジスタ120aに設定された制御情報にしたがって第1VDP120が描画と表示を制御する。
第2VDP130は、レジスタ130aとカラーRAM130bを内蔵している。画像データは、メインCPU102からSCU100を介してVRAM132とカラーRAM130bに定義される。画像表示を制御する情報も、メインCPU102からSCU100を介してレジスタ130aに設定される。VRAM132に定義されたデータは、第2VDP130のレジスタ130aに設定されている制御情報にしたがって読み出され、キャラクタに対する背景を表すスクロール画面の画像データとなる。各スクロール画面の画像データと第1VDP120から送られてきたキャラクタのポリゴンの画像データは、レジスタ130aに設定された制御情報にしたがって表示優先順位が決められ、最終的な表示画像データに合成される。
第2VDP130により、表示画像データに基づいてカラーRAM130bに定義されているカラーデータが読み出され表示カラーデータが生成され、メモリ134に蓄えられる。
表示カラーデータはメモリ134に蓄えられた後、エンコーダ26に出力される。エンコーダ26は、画像データに同期信号などを付加して映像信号を生成し、モニタ28に出力する。モニタ28はゲーム画面を表示する。
音声制御部14には、PCM方式又はFM方式により音声合成を行うDSP140と、このDSP140の制御を行うCPU142とが設けられている。DSP140により生成された音声データは、D/Aコンバータ22により音声信号
に変換されスピーカ24から出力される。
(操作パネル)
次に、本実施形態のゲーム装置における操作パネルについて図2を用いて説明する。
操作パネル20には、2人でプレイすることができるように、操作ボタン等を2セット設けている。操作パネル20の左側には第1プレイヤ用の操作ボタン等200Aが設けられ、操作パネル20の右側には第2プレイヤ用の操作ボタン等200Bが設けられている。操作ボタン等200A、200Bは同じ構成である。
操作ボタン等200A、200Bの最も右側にはスタート/タイムボタン202が設けられている。スタート/タイムボタン202はゲームをスタートしたりゲームを一時停止したりする。ゲームが進行していないときにスタート/タイムボタン202を押すとゲームが開始し、ゲームが進行しているときにスタート/タイムボタンを押すとゲームが一時停止する。
操作ボタン等200A、200Bの最も左側には8方向レバー204が設けられている。8方向レバー204を操作することにより、各操作場面において前後左右等の8つの方向を指示する。例えば、投球時には、8方向レバー204を操作することにより投手が投げる位置を指定する。また、守備時には、8方向レバー204を操作することにより送球・塁間移動の方向の指定を行う。また、打撃時には、8方向レバー204を操作することにより、打撃する位置を指定する。
8方向レバー204の右側には2つの決定ボタンであるAボタン206、Bボタン208が設けられている。これらAボタン206、Bボタン208を用いて各操作場面において様々な指示を行う。詳細については後述する。
Aボタン206、Bボタン208の左側には、野球のバットを模したバット型スイッチ210が設けられている。バット型スイッチ210は、バット211が回動軸212を中心として回動する。バット211は、回動軸212を中心として左回りに回動するように付勢されていて、常時はストッパ(図示せず)に当接している。プレイヤが付勢力に抗してバット211を右回りに回し、その後、バット211から手を離すと、バット211は勢いよく左回りに戻り、ストッパ(図示せず)に当接して停止する。バット211が右回りに回すことができる限界を定めるためにストッパ(図示せず)が設けられている。
バット型スイッチ210の裏側には、バット211の回動位置角度、回転速度を検出するために、例えば、回動軸212に磁石が固定された回動プレートが設けられ、磁石の回動軌跡に沿って複数のリードスイッチが設けられている。回動プレートが回動し、回動プレートの磁石が所定距離以内に近づくとリードスイッチは順次オンし、遠ざかると順次オフする。
(ゲームの基本操作)
次に、本実施形態のゲーム装置の基本操作について説明する。
投球時には、8方向レバー204を用いて、投げる位置を示すピッチャカーソルを移動する。バット型スイッチ210により投球を指示し、Bボタン208により牽制を指示する。バット型スイッチ210の操作タイミングに合わせた投球となる。
守備時には、8方向レバー204を用いて送球・塁間移動の指定を行う。8方向レバー204により送球方向や塁間移動方向を指定する。例えば、8方向レバー204を三塁方向にすることにより、三塁への送球の指示となる。Bボタン208により投球を指示する。なお、バット型スイッチ210は使用しない。
打撃時には、8方向レバー204を用いて、打撃位置を示すバッタカーソルを移動する。バット型スイッチ210により打撃の強さを指示する。基本的には、バット型スイッチ210のバット211の回動角により打撃強さを指示する。バット型スイッチ210の動作の詳細については後述する。
走塁時には、8方向レバー204を用いて、進塁又は帰塁する際の塁指定を行う。8方向レバー204により進塁又は帰塁する方向を指示して塁を指定する。
Aボタン206により進塁を指示し、Bボタン208により帰塁を指定する。なお、バット型スイッチ210は使用しない。
(バット型スイッチの操作)
次に、本実施形態のゲーム装置におけるバット型スイッチについて図3を用いて説明する。
上述したように、バット型スイッチ210は、攻撃側のプレイヤが打撃時に使用する。バット型スイッチ210を操作することにより打者は様々な動作をする。選手紹介場面や二分割場面において攻撃側のプレイヤがバットスイッチを動かすと、その動きに連動して画面内の選手のバットが動き、各選手は素振り動作を行う。なお、選手毎に素振り動作を変えてゲームに変化を持たせるようにしてもよい。
各選手共通の素振り動作について説明する。
図3(a)のように、バット型スイッチ210を全く動かしていない場合には、画面内のバッタは身体の正面でバットを握り返す動作をし、リラックスした姿勢をとる。
図3(b)のように、バット型スイッチ210のバット211を右回りに引きはじめた場合、バット211が、例えば、75度の点を通過すると、画面内のバッタのバットの動きとバット211の動きが連動する。バット211の角度が180度に達するまでは軽い素振り動作をする。
その後、図3(c)のように、バット型スイッチ210のバット211を75度から179度までの間で動かしている場合には、画面内のバッタはバット型スイッチ210の動きに連動して軽い素振りを行う。バット211を停止すると、画面内のバッタはその位置でバットを握り返す。
バット型スイッチ210のバット211を引いた状態からプレイヤがバット211から手を離すと、画面内のバッタは打撃動作をするが、そのときの操作に応じて様々な打撃動作をする。
例えば、図3(d)のように、バット型スイッチ210のバット211を180度まで引いて、手を離した場合には、画面内のバッタはフルスイングする。また、図3(e)のように、バット型スイッチ210のバット211を75度から179度までの間の位置から離した場合には、画面内のバッタは素振り動作からバットを振り抜く動作を行う。バット211の角度位置を変化することにより打撃強度を変化することができる。
図3(f)のように、バット型スイッチ210のバット211を、75度から105度までの間で一定期間、例えば、ゲーム画面の30フレーム分(1秒)以上停止させると、バント動作モードとなり、画面内のバッタはバントをする。この状態で、バット211を105度よりも引くと素振り動作をし、バット211を離すと素振り動作から打撃を行う。
本実施形態では、バット型スイッチ210のバット211の初速度を検出していて、図3(g)に示すように、初速度が一定値以上のときにバットをスイングする打撃動作を行う。しかしながら、単に初速度だけに基づいて打撃動作開始を判定していると、バット型スイッチ210のバット211を少し緩めただけでも一定の初速度を越えてスイング動作が行われることがある。そこで、本実施形態では、図3(h)に示すように、バット211の初速度が一定値以上であっても、一定時間、例えば、6フレーム(0.2秒)以内に90度の位置を通過しない場合に、ハーフスイング動作に切り換える。
このようにすることにより、バット型スイッチ210のバット211を途中で止めた場合にはハーフスイング動作となり、プレイヤの操作実感にあった指示を行うことができ、バット型スイッチ210の操作感覚を向上することができる。
(ゲームの基本画面)
次に、本実施形態のゲーム装置におけるゲームの基本画面について図4乃至図6を用いて説明する。
図4は投球時及び打撃時のゲーム画面300である。ゲーム画面300が左右に二分割され、攻撃側が左側の画面310を用い、守備側が右側の画面320を用いる。左側の攻撃側画面310内には打撃位置を指示するための小さな打撃位置画面311が設けられている。打撃位置画面311内にはストライクゾーン313が表示されている。同様に、右側の守備側画面320内には投球位置を指示するための小さな投球位置画面321が設けられている。守備側画面320内にもストライクゾーン323が表示されている。
攻撃側画面310と守備側画面320の間には、野球場全体の写し、野球ゲームの進行状況を表示するためのレーダ画面330が設けられている。
レーダ画面330には、図4に示すように、本塁332a、一塁332b、二塁332c、三塁332dを含む野球フィールド332が表示され、現在の守備側の野手334と攻撃側の走者336の位置が表示される。更に、守備側の野手334や攻撃側の走者336について、現在の状況も表示される。例えば、図4に示すように、一塁走者336aと二塁走者336bがリードしているときには、その表示色を変える。
なお、レーダ画面330において、現在の状況を区別して表示する方法としては、上述したように色を変える方法の他に、表示を点滅したり、形状を変化したりしてもよい。また、これらの表示方法を組み合わせて用いてもよい。
守備側のプレイヤは、図4の守備側画面320内の投球位置画面321を見ながら、8方向レバー204により投球位置を上下左右に自在に移動する。投球位置を移動すると、投球位置画面321内のピッチャカーソル322が移動する。
プレイヤはストライクゾーン323とピッチャカーソル322を見ながら狙った位置を指定する。
攻撃側のプレイヤは、図4の攻撃側画面310内の打撃位置画面311を見ながら、8方向レバー204により打撃位置を上下左右に自在に移動する。打撃位置を移動すると、打撃位置画面311内のバッタカーソル312が移動する。プレイヤは、バット型スイッチ210のバット211を狙った打撃強さだけ回動し、8方向レバー204を操作してストライクゾーン313とバッタカーソル312を見ながら狙った位置を指定する。
なお、プレイヤの攻守が交代すると、攻撃側画面310と守備側画面320は左右が入れ代わり、プレイヤが操作しやすくなる。
図5は投球時のゲーム画面300である。守備側のプレイヤが、決定ボタン206を押下すると、ピッチャは投球モーションに入り、図5のように攻撃側画面310と守備側画面320が統一される。統一されたゲーム画面300ではストライクゾーン303が統一される。レーダ画面330は右下に移動する。
図6は打撃時のゲーム画面300である。打撃側のプレイヤが、バット型スイッチ210のバット211を手放すと、狙った打撃強さで狙った打撃位置で打撃が行われる。なお、図6において、バットの残像が見えるようにしたのは現実感を持たせるための演出である。
なお、本実施形態のゲーム画面としてバラエティを持たせるために、ボールを追う位置から写した画像の他に、野球場の予め定められた複数の定位置から写した画像を適宜使い分けるようにしてもよい。
(走者のリードと牽制)
次に、本実施形態のゲーム装置における走者のリードと牽制の動作について図7を用いて説明する。
本実施形態では、対戦プレイ中に緊迫感ある駆け引きを行うために、攻撃側が出塁した場合に、走者がリードする動作をできるようにし、守備側は、リードした走者に牽制球を投げることができるようにしている。
攻撃側が出塁した場合、塁にでた走者は、投打画面になると、図7に通常リードとして示した一定距離内でリードを取る。ここで、Aボタン206を押し続けると更にリードを取り、図7のAボタンリードとして示された遠い距離までリードを取ることができる。ただし、Aボタンリードをした場合には牽制球により刺される可能性が高くなる。Bボタン208を押すと走者は塁上に戻ることができる。その後、Bボタン208を離すと、走者は再び通常リードの距離内でリードを取る。
盗塁をする場合には、8方向レバー204で走塁方向を指示してAボタン206を押す。投手が投球を始めると同時に走者は走り出し、盗塁しようとする。複数の走者がいる場合には、連続して盗塁指定をすると、次々と走者が走り出す。
なお、盗塁の場合には走者は前もって十分なリードを取っていないと失敗する確率が高くなる。
守備側は走者を牽制することができる。投打画面において8方向レバー204により投球先の塁を指定してBボタン208を押すと、投手が牽制球を投げる。
走者が大幅なリードを取った瞬間や、盗塁のために走者が走り出した瞬間に牽制動作をすると走者を効果的に刺すことができる。
なお、走者がAボタンリードの最大距離までリードしていて牽制された場合、攻撃側のプレイヤがBボタン208を押しても殆ど帰塁できない。しかしながら、この地点から盗塁を行った場合には殆ど成功する。
また、走者が通常リードの範囲内でリードしていて牽制された場合、攻撃側のプレイヤがBボタン208を押せば100%帰塁できる。しかしながら、この地点から盗塁を行っても殆どの場合成功しない。
(スーパープレイ)
次に、本実施形態のゲーム装置におけるスーパープレイについて説明する。
本実施形態では、上述したような通常の操作中において、次に示すような緊迫したプレイの場合には、各プレイヤがAボタン206やBボタン208を多数回叩くと自分に有利に展開するようなスーパープレイモードを用意している。なお、スーパープレイモードになっているかどうかを画面内に表示するようにしてもよい。
スーパープレイモードになるのは、走者の場合、例えば、ファーストベースへのヘッドスライディングのとき、セカンドベース上での妨害スライディングのとき、ホームベース上でのタックル動作のときであり、内野手の場合、例えば、セカンドベース上でのアクロバティックプレイのとき、高いライナーをジャンピングキャッチするとき、逆シングル捕球等からの先行入力モーションのときであり、外野手の場合、例えば、各種ジャンピングキャッチ等のアクロバティックなプレイのとき、ランニング捕球等からの先行入力モーションのときである。
これらスーパープレイにおいて、プレイヤがAボタン206やBボタン208を叩く回数が多いと、自分側のプレイが有利となる。例えば、走者がファーストベースにヘッドスライディングするとき、決められた時間内で多数回叩くとセーフになる確率が高くなる。また、内野手の逆シングル捕球等からの先行入力モーションのとき、決められた時間内で多数回叩くと球が速くなる。
(コマンド入力プレイ)
次に、本実施形態のゲーム装置におけるコマンド入力プレイについて図8を用いて説明する。
本実施形態では、上述したような通常の操作に加え、より洗練されたプレイを実現し、緊迫感ある駆け引きを行うために、Aボタン206とBボタン208を用いて簡単なコマンド入力が可能である。選手紹介等の短い時間を利用して簡単なコマンドを入力する。
コマンド入力の特徴は、原則的にプレイヤが現在操作している操作対象以外のキャラクタに対するコマンドである点である。例えば、攻撃側プレイヤが打者を操作しているときに走者に対して特定のコマンドを指示し、守備側プレイヤが投手を操作しているときに野手に対して特定のコマンドを指示する。
コマンド入力の他の特徴は、コマンド入力に対してリアルタイムに反応しない点である。例えば、ヒットエンドランのコマンド入力に対しては、コマンド入力後、投手が投球したときに走者が走り出す動作を行う。
本実施形態では、有効なコマンドとして、攻撃、守備、気合い、挑発の4種類を設定している。これらのコマンドが受け付けられると、図8に示すように、ゲーム画面300の所定位置にコーチの画像340が一瞬表れて、コマンド受付が完了したことを表示し、そのコマンドに応じた行動をとる。なお、相手側を撹乱するために、コーチの画像340が表れるが何も発動しないフェイントコマンドも用意している。
まず、攻撃コマンドについて説明する。プレイヤが打者を操作しているときに、Aボタン206、Bボタン208を決められた順番で押すことにより、次のようなコマンドを入力できる。括弧内は入力コマンドを示す。A+BはAボタン206とBボタン208を同時に押すことを示す。
(1)ヒットエンドラン(A→A→A)
このコマンドを入力すると全ての走者が投球と同時に一斉に走り出す。このコマンドは1球毎に設定可能である。
(2)プッシュバント(A→A→B)
このコマンドを入力すると通常のバントより強い打球を飛ばす。このコマンドは1球毎に設定可能である。
(3)一斉盗塁(A→B→B)
このコマンドを入力すると全ての走者が投球と同時に盗塁する。このコマンドは1球毎に設定可能である。
(4)右狙い(A→A+B)
このコマンドを入力すると打球が右に行くように補正される。このコマンドは1球毎に設定可能である。
次に、守備コマンドについて説明する。プレイヤが投手を操作しているときに、Aボタン206、Bボタン208を決められた順番で押すことにより、次のようなコマンドを入力できる。括弧内は入力コマンドを示す。
(1)バントシフト(A→A→A)
このコマンドを入力すると投球と同時にファーストとサードが本塁側に突っ込んでくる。このコマンドは1球毎に設定可能である。
(2)クイック投法(A→A→B)
このコマンドを入力するとクイックモーションで投球をする。走者が盗塁しそうなときに有効なコマンドであり、成功すれば最大リード幅で走力がAランクの走者も殆ど刺すことができる。しかしながら、このコマンドを用いると、指定したコースよりもボール1〜2個分真ん中にボールがよる。このコマンドは1球毎に設定可能である。
(3)前進守備(A→A+B)
このコマンドを入力すると内野手と外野手が投球と同時に少し前の方に前進する。このコマンドは1打席毎に設定可能である。
(4)左寄りシフト(A+B→B)
このコマンドを入力すると左打者に対して野手が総じて右寄りに移動する。このコマンドは1打席毎に設定可能である。
(5)敬遠(A+B→A)
このコマンドを入力すると敬遠をする。このコマンドは1打席毎に設定可能である。1球目にのみ有効なコマンドである。
次に気合いコマンドについて説明する。攻撃側も守備側も1ゲームに1回だけ気合いコマンドを入力することができる。入力コマンドはB→B→Bである。攻撃側プレイヤが気合いコマンドを入力した場合には、その打席に関して打者のパワー、ミート等のパラメータが2段階ほど高くなる。守備側プレイヤが気合いコマンドを入力した場合には、そのときに相対する打者への投球は、球速が150km/hで、投げられる変化球の切れが1段階上昇する。
次に挑発コマンドについて説明する。挑発コマンドは攻撃側も守備側も使用することができ、例えば、1クレジットに1回、又は3イニングに1回等の一定の制限を設けている。入力コマンドはB→A→Bである。
攻撃側が挑発コマンドを入力すると、そのときの状況に基づいて打者等が次のような挑発動作をする。なお、挑発動作をした場合には、相手の投手の球速が150km/hとなり、投げられる変化球の切れが1段階上昇する。
(1)予告ホームランセンターバックスクリーンに向かってバットを差し出す動作である。打者が外人と代打以外の場合には、この挑発動作をする。
(2)フーセンガムフーセンガムを大きく膨らませて割るという動作である。打者が白人系又は黒人系の外人の場合には、この挑発動作をする。
(3)あぶさんバットに酒飛沫を飛ばす動作である。打者が代打の切り札の場合には、この挑発動作をする。
守備側が挑発コマンドを入力すると、そのときの状況に基づいて投手等が次のような挑発動作をする。なお、挑発動作をした場合には、相手の打者のパワーとミートが1段階上昇する。
(1)地獄へ堕ちな×××野郎め親指を下にする動作である。投手が近鉄の佐野選手の場合、捕手が古田選手又は田村選手以外の場合には、この挑発動作をする。
(2)フーセンガムフーセンガムを大きく膨らませて割るという動作である。投手が白人系又は黒人系の外人の場合には、この挑発動作をする。
(3)近鉄の佐野「ピッカリ投法」
投手が近鉄の佐野選手の場合に「ピッカリ投法」を行う。この場合には、通常の挑発動作と反対に、相手の打者のパワーとミートが2段階落ちる。
(4)古田、田村「ささやき戦術」
捕手が古田選手又は田村選手の場合に「ささやき戦術」を行う。ささやく動作をすると共に、画面下部にささやいている言葉を出す。この場合には、通常の挑発動作と反対に、相手の打者のパワーとミートが1段階落ちる。
次に、フェイントコマンドについて説明する。上述したように各種コマンドを入力すると、コマンド入力受付を表すために画面に一瞬だけコーチの絵が現れる。しかし、相手側を撹乱するために、コーチの画像340が表れるが何も発動しないフェイントコマンドを用意している。上述した以外のコマンド入力のときにはフェイントコマンドとする。なお、反対に、条件が無効なコマンドを入力した場合にコーチの絵だけを表示するフェイントコマンドを用意してもよい。
(インサートイベント)
次に、本実施形態のゲーム装置におけるインサートイベントについて図9を用いて説明する。
本実施形態では、ゲーム中に、ホームベース上でのクロスプレイや、打撃走者の一塁へのヘッドスライディングや、外野手がランニングキャッチ等の際どい判定のプレイが起こった場合、ゲームの進行を一時止めて予め用意したイベント(小ゲーム)を挿入し、そのイベントのプレイ結果により判定を変更する。
インサートイベントは次の場合に発生する。
(1)ホームベース上のクロスプレイ(タッチプレイ)。
ランナーがホームベースに到達するタイミングと、外野からホームへの返球が到達するタイミングがほぼ同じときに発生する。
(2)外野手の派手なジャンピングプレイ。
横っ飛び三回転キャッチ、後ろ向きジャンピングキャッチ、壁際で壁にぶつかりながらのジャンピングキャッチや、壁際でよじ登りながらのキャッチ等がある。
打球が地面に接する瞬間又は打球がフェンスに当たるタイミングと、ワンバウンドする前に野手がボールが地面に接するタイミングとがほぼ同じときに発生する。
(3)打者走者の一塁へのヘッドスライディング打者走者が一塁に到達するタイミングと、一塁への送球が到達するタイミングとがほぼ同じか、打者走者が少し遅いときに発生する。
インサートイベントが発生すると、その時点で一度試合の進行を停止し、イベント発生直前に入力された指示は一時保存される。この指示は、イベントが終了して試合を再開するときに有効となる。
本実施形態では、インサートイベントとして、プレイヤにAボタン206及び/又はBボタン208の連打を求め、その連打の優劣により判定する。インサートイベントとして他の種類のゲームを行うようにしてもよい。
例えば、ランナーがホームベースに向かって走塁しているとき外野からホームに返球され、その判定のタイミングが際どいときには、ホームベース上のクロスプレイに対するインサートイベントが発生する。図8に、インサートイベントのゲーム画面350の具体例を示す。
インサートイベントが発生すると、ホームベースに向かってくる走者を捕手が迎え撃つ画面となる。インサートイベント中は走者と捕手は3倍程度のスローモーションで動作する。インサートイベントのゲーム画面350の左右に両プレイヤに対する連打パワーゲージ352A、352Bが表示され、必要に応じて「連打しろ!」と画面表示したり、「連打しろ!」と音声を発したりする。
両プレイヤがAボタン206及び/又はBボタン208を連打すると、連打パワーゲージ352A、352B中のゲージが進行し、現在の状況を視認できる。
両プレイヤは連打パワーゲージ352A、352Bを見ながら、Aボタン206及び/又はBボタン208を必死で連打する。
インサートイベントのための所定のゲーム時間が終了すると、連打パワーが勝っているプレイヤに有利な判定が下される。インサートイベントが終了すると、ホームベース上で走者と捕手とが激突する画面が表示され、アウトかセーフかの判定結果が出される。その後、インサートイベント前の画面に移り、通常操作の試合が再開する。
本実施形態では野球ゲームにおけるインサートイベントについて説明したが、他のゲームにも応用することが可能である。
例えば、サッカーゲームにおいて、ディフェンダのスライディングをよけられるか否かの判定に用いることが考えられる。スライディングを受けたプレイヤ側がインサートイベントで勝てばスライディングをよけることができる。
また、フットボールゲームにおいて、タックルをよけられるか否かの判定に用いることができる。タックルを受けたプレイヤ側がインサートイベントで勝てばタックルをふりほどくことができる。
また、バスケットボールにおいて、球の奪い合いの判定に用いることができる。インサートイベントに勝利した方が球を奪い取ることができる。
また、自動車レースゲームにおいて、コースアウトの判定に用いることができる。コースアウトして路肩に乗り上げそうになった場合でも、インスタントイベントに勝利すれば、コースアウトしそうになった自動車がハンドルを切って復帰することができる。
(捕球ルーチン)
次に、本実施形態のゲーム装置における捕球ルーチンについて図10乃至図12を用いて説明する。
本実施形態のゲーム装置においては、各種位置計算はビデオ画像表示の空き時間、すなわち垂直帰線期間を利用して行われる。したがって、打球やプレイヤのグラブの位置は連続した軌跡ではなく、図12に示すように、飛び飛びの点としてしか求めることができない。したがって、捕球の判定においては、打球の軌跡とプレイヤのグラブの軌跡が飛び飛びの点であることを考慮しなくてはならない。
また、本実施形態のゲーム装置においては、プレイヤのグラブの高さが予め定められた高さ、例えば、3段階しか設定できない。また、プレイヤの捕球動作は数種類のモーションの組み合わせとして構成するようにしている。それぞれのモーションが現実の捕球動作らしく見え、自然な動きで捕球できる時間は、非常に限られた短いものとなる。このため、プレイヤが自然な捕球動作で捕球できる範囲は非常に限られたものとなる。この範囲を厳格にまもって判定すると、ほとんどの打球は捕球不可能になりゲームとして成立しなくなる。したがって、捕球の判定においては、捕球範囲が厳格になりすぎることのないようにしなければならない。また、リプレイ時には捕球位置のずれを修正して画像表示する必要がある。
また、打球の位置計算では、垂直帰線期間内で計算が間に合わず正しい計算結果が得られないことがある。捕球の判定においては、このことも考慮しなくてはならない。
本実施形態のゲーム装置における捕球/リプレイ制御について図10及び図11のフローチャートを用いて説明する。
まず、打者が球を打つまで待機し(ステップS10)、球を打つとビデオ画像のフレーム毎に打球の軌道を計算する(ステップS11)。上述したように、打球の位置計算はフレーム毎、すなわち、1/60秒ごとに行われるので、図12に示すように、打球の位置は飛び飛びの点として求められる。
次に、打球方向を決定する(ステップS12)。図12に示すように、2〜3フレームの打球位置が計算されると打球角度θを求めることができる。まだ、打球方向を決定できない場合にはステップS14に進む。
ステップS12で打球角度θが決定されると、打球方向から捕球に向かう野手を決定する(ステップS13)。通常は、2〜3人の野手を打球の来る方向に向かって行動を開始させる。
次に、打球軌道の近似式を決定する(ステップS14)。演算処理時間の関係から、本実施形態では打球軌道の近似式を一次元の式としている。10フレーム程度の打球位置が計算されると打球軌道の近似式を決定できる。まだ、打球軌道の近似式が決定できない場合にはステップS11に戻り、打球軌道の計算を続行する。
なお、本実施形態では打球軌道の近似式を一次元の式としたが、二次元以上の多次元の式で打球軌道を近似するようにしてもよい。
ステップS14で打球軌道の一次元の近似式が決定されると、打球軌道の近似式を用い、ステップS13で行動を開始した野手による捕球動作についての計算を行う(ステップS15)。続いて、この計算結果から、特定の野手による捕球が可能かどうかを判定する(ステップS16)。図12に示すように、打球軌道と捕球動作のグラブの動きの軌道が捕球位置で交差し、しかも、打球が捕球位置に達する前にプレイヤのグラブが捕球位置に達する場合、捕球可能と判断する。
なお、打球軌道とグラブの軌道が捕球位置で交差するかどうかは、厳格に同じ点を通るかどうかではなく、所定の三次元空間内を両軌道が通るか否かで判断する。また、プレイヤのグラブが捕球位置に達するかどうかは、打球の位置とグラブが位置が最も接近するときの距離が所定範囲内かどうかで判断する。
ステップS16で捕球しないと判断されると、図示しないメインルーチンに戻る。
ステップS16で捕球すると判断されると、続いて、捕球する野手と打球軌道との距離から最適な捕球モーションを決定する(ステップS17)。いくつかのモーションを組み合わせて今回の捕球モーションを決定する。
続いて、打球位置の正確な軌道計算を続行し(ステップS18)、プレイヤの捕球動作の正確な計算を続行する(ステップS19)。捕球タイミングになるまでステップS18及びS19の計算を続行する(ステップS20)。
捕球タイミングと判定されると(ステップS20)、この捕球タイミングでの打球位置とグラブの位置のずれを計算し(ステップS21)、その位置ずれが許容範囲内か否か判定する(ステップS22)。許容範囲外であれば捕球できないと判断し、図示しないメインルーチンに戻る。許容範囲内であれば予定した捕球動作を表示する(ステップS23)。
本実施形態では、ステップS21、S22で位置ずれを計算し、許容範囲内かどうか再度確認している。これは次のような理由からである。
ステップS16で捕球判定しているのであるから、再度位置ずれを確認することなく捕球動作を表示しても本来よいはずである。しかしながら、上述したように、ステップS17及びS18での位置計算は、垂直帰線期間内に行うため計算が間に合わないことも考えられる。その場合には、球の計算位置がずれて結果的に球が遅くなってしまい、そのまま表示すると、ステップS16での捕球判定にもかかわらず、球の位置とグラブの位置が大きくずれてしまうことが起きうる。
これはプレイヤにとって違和感があり、ゲームに対する不満を抱くことになる。
そこで、本実施形態では、最終的に位置ずれを確認し、所定範囲内にあることを確認するようにした。
ステップS23で捕球動作を表示した後、必要に応じて、後述するインスタントリプレイを行う(ステップS24)。その後、図示しないメインルーチンに戻る。
(インスタントリプレイ)
次に、本実施形態のゲーム装置におけるインスタントリプレイについて図13乃至図15を用いて説明する。
本実施形態では、ランニングキャッチやダイビングキャッチ、スライディング、タッチプレイ等の派手なプレイが表れたとき、短いリプレイ画像を表示する。
リプレイ画像は2秒程度表示されるが、このリプレイ時間を2又は3分割して、2又は3台の違う位置のカメラから撮った映像を表示する。
リプレイ画像は、直前に起こったプレイ画像をスローモーションで再現するものであるが、同じ画像をスローモーションで再現すると位置ずれが目立ち画像表示が不自然になる場合がある。
この原因は、前述したように、捕球判定においてグラブの捕球範囲を、画面上のグラブの大きさにあわせて判定すると、ほとんどの打球は捕球不可能になるため、捕球判定の範囲を画面上のグラブの大きさよりも大きくしているためである。そのため、正しく捕球したと判定した捕球動作をリプレイすると多くの場合、位置ずれが目立つことになる。
その他にも次のような原因により位置ずれが生じうる。
例えば、位置計算をする際の計算誤差による位置ずれである。位置計算に多少の誤差は避けられないので、その計算誤差により画像に位置ずれが生ずることがある。
また、移動速度が速い場合の位置誤差による位置ずれである。移動速度が速い場合には、わずかな計算誤差でも位置的な誤差としては大きくなってしまう。
更に、ゲーム画像を1フレーム毎に計算するための位置ずれである。フレームとフレームの間の時間に丁度位置が合致する場合には、その前後のフレームの表示は位置ずれした画像となってしまう。
更に、プレイ画像の種類が限られているための位置ずれである。例えば、ダイビングキャッチを表示する場合、あらゆる野手のボールの位置関係に対する捕球動作の連続画像を用意しているわけではない。このため、ゲーム中に生じた野手の位置とボールの位置に対して最も近い連続画像を選択して、その連続画像で表示することになる。このため位置ずれが生じてしまう。
上述したような原因により位置ずれしたとすると、例えば、捕球動作を表示する際、図14に示すように、野手のグローブと球の軌跡が一致していない画像表示となってしまう。通常の画像表示においては、高速で表示されるため、位置ずれが少しあっても違和感なく見られるが、スローモーションでリプレイした場合、位置ずれしているのに捕球する不自然な画像となる。
そこで、本実施形態では、リプレイ時には、野手の位置とボールの位置を適合させて連続画像を表示するようにしている。すなわち、野手の位置及びボールの位置の一方を、使用する連続画像に適合した位置に変更し、図15に示すように野手のグローブと球の軌跡が完全に一致した連続画像を表示する。
なお、このような位置ずれをなくすために、例えば、捕球動作の場合、正確に位置があった場合のみ捕球したと判定し、位置ずれがある場合には捕球しないと判定することも考えられる。しかしながら、そのように判定すると判定基準が厳しくなりすぎる。
また、タッチプレイの場合には、走者のスタート位置とスライディングする塁の位置が用意したスライディング画像の位置関係からずれた場合、塁からずれた位置にスライディングする画像となる。通常の画像表示おいては高速であるため違和感なく見られるが、リプレイ時には位置ずれが明らかな不自然な画像となる。そこで、リプレイ時には走者のスタート位置をずらして理想的なスライディング動作を表示する。
このインスタントリプレイの動作について、図13のフローチャートを用いて説明する。
まず、メインルーチンにおいては各フレーム毎に画像表示に必要な基本データ、すなわち、選手の位置、選手の身体の向き、選手の動き、ボールの位置、ボールの動き等を保存する(ステップS50)。ゲーム画像はこの基本データに基づいて構成される。
次に、リプレイ条件について演算する(ステップS51)。リプレイ発動条件としては、内野手がダイビングキャッチをして返送した場合、外野手がランニングキャッチした場合、外野手がスライディングキャッチした場合等である。
次に、リプレイ条件が成立したか否か判断する(ステップS52)。リプレイ条件が成立していなければ、通常の画像を表示し(ステップS53)、各種処理ルーチンを実行して(ステップS54)、最初のステップS50に戻る。
ステップS52でリプレイ条件が成立したと判断された場合には、基本データをリプレイ用に変更する(ステップS55)。上述したように、グローブの位置と球の軌跡が合致しない場合には、捕球する野手のパラメータ、すなわち、捕球モーションの種類、野手の位置データ、野手の向き等や、球のパラメータ、すなわち、球の位置データ等の基本データを変更して、グローブの位置と球の軌跡とを合致させる。スライディングした走者の手の位置と塁の位置が合致しない場合には、走者のパラメータ、すなわち、走者のモーションの種類、走者のスタート位置等の基本データを変更してスライディングした走者の手の位置と塁の位置を合致させる。
次に、修正した基本データを用いて、図15に示すようなリプレイ画像を表示する(ステップS56)。リプレイの表示が終了すると、保存してある基本データを呼び出してステップS53の通常の画像表示に戻る。
(選手入れ換え)
次に、本実施形態のゲーム装置における選手の入れ替えの操作について図16を用いて説明する。
本実施形態では、従来は不可能であった選手の入れ換えを行うことができる。
従来の野球ゲームでは、ゲーム中にスターティングオーダーを変更することができるだけであり、選手の入れ換えまではできなかった。ゲーム中に戦略的にスターティングオーダーとして表示されている選手の順番を入れ換えることはできるものの、スターティングオーダーとして登録されている選手の範囲内でしかできなかった。
野球ゲームでは現実の選手の名前のキャラクタを用いているため、例えば、シーズンの開幕後に外人選手が帰国してしまったり、シーズン中に選手が大けがをして出場できなくなった場合でも、従来の野球ゲームでは最初に登録した選手をそのまま出場させるしかなく現実の野球と異なり違和感があった。
そこで、本実施形態では、スターティングオーダーとして登録した選手以外の選手を予め登録しておき、必要に応じてスターティングオーダーの登録選手と入れ換えることができるようにした。この選手の入れ換えは、野球ゲーム装置の管理者だけが行うことができる。
なお、ゲームプレイヤにも選手の入れ換え操作ができるようにしてもよい。この場合、ゲームプレイヤにより登録選手の状態をおかしくされることを防止するため、ゲーム終了ごとに自動的に初期状態に戻すようにして、野球ゲームの管理者により登録選手をコントロールできるようにすることが望ましい。
次に、選手の入れ換え操作について説明する。
まず、テストモードに入り、選手の入れ換え設定画面に移動する。
次に、変更するチームを選択する。ジャイアンツを選択すると、図13に示すような画面となる。画面左側にチーム名と共にスターティングオーダーが表示される。
次に、スターティングオーダーから入れ換えを希望する選手を選択する。選択すると、図13に示すように、画面左側に入れ換え可能な選手が表示される。予備の選手にはチーム名、可能なポジション等のデータを登録しておき、その登録データに応じて入れ換え可能な選手を自動的に選び出して画面左側に表示する。
次に、入れ換え可能な予備選手から交代する選手を選択する。選択すると、選手が入れ換えられる。変更した選手データは基板上にバックアップメモリに記憶される。したがって、一度電源をオフしても更新内容が維持され、変更したスターティングオーダーでゲームを立ち上げることができる。
次に、選手の入れ換え設定画面を終了し、テストモードを終了する。
なお、入れ換えを希望する選手に適応した予備選手がいない場合には、予備選手は表示されないので、入れ換えができないことを知ることができる。
このように本実施形態によれば、実際のペナントレースの推移に合わせて線種設定が可能であり、帰国した外人選手や大けがをした選手がプレイするような事態を回避することができる。また、店舗側で登録選手を変更できるので、店舗や地域によって特色をだすことができ、野球ゲームにバリエーションを持たせることができる。また、随時、登録選手を入れ換えるようにすれば、常に新鮮な感覚で野球ゲームを行うことができる。
本発明は上記実施形態に限らず種々の変形が可能である。
例えば、上記実施形態では、本発明を野球ゲームに適用したが、サッカーゲームやレーシングゲーム等の他のゲームに本発明を適用してもよい。
(産業上の利用可能性)
本発明は、ゲームの画像表示方法及び制御方法に適しており、特に、野球ゲームにおけるゲームの画像表示方法及び制御方法に有用である。