図1は、本発明に係る対戦ゲーム装置の構成の一実施形態を示すブロック図である。以下の説明では、ゲーム装置の一例として家庭用ビデオゲーム機を家庭用テレビジョンに接続することによって構成される家庭用ビデオゲーム装置について説明する。しかし、本発明はこの例に限定されず、モニタが一体に構成された業務用ビデオゲーム装置、本発明によるゲームプログラムを実行することによってビデオゲーム装置として機能するパーソナルコンピュータ等にも同様に適用することができる。
図1に示すビデオゲーム装置は、家庭用ゲーム機(ゲーム機本体)100及び家庭用テレビジョン200を備える。家庭用ゲーム機100は、ゲームプログラムが記録されたコンピュータ読み出し可能な記録媒体300が装填可能な構成を備えている。記録媒体300がゲーム機本体100に装填された状態で、ゲームプログラムが適宜読み出されて対戦ゲームが実行される。
家庭用ゲーム機100は、CPU(Central Processing Unit)1、バスライン2、グラフィックスデータ生成プロセッサ3、インターフェース回路(I/F)4、メインメモリ5、ROM(Read Only Memory)6、伸張回路7、パラレルポート8、シリアルポート9、描画プロセッサ10、音声プロセッサ11、デコーダ12、インターフェース13、バッファ14〜16、記録媒体ドライブ17、メモリ18、及びコントローラ19を含む。家庭用テレビジョン200はテレビジョンモニタ(モニタ)21、増幅回路22及びスピーカ23を含む。
CPU1は、バスライン2およびグラフィックスデータ生成プロセッサ3に接続されている。バスライン2は、アドレスバス、データバス及びコントロールバス等を含み、CPU1、インターフェース回路4、メインメモリ5、ROM6、伸張回路7、パラレルポート8、シリアルポート9、描画プロセッサ10、音声プロセッサ11、デコーダ12及びインターフェース13を相互に接続している。
描画プロセッサ10は、バッファ14に接続されている。音声プロセッサ11は、バッファ15及び増幅回路22に接続されている。デコーダ12は、バッファ16及び記録媒体ドライブ17に接続されている。インターフェース13は、メモリ18及びコントローラ19に接続されている。
モニタ21は、描画プロセッサ10に接続されている。スピーカ23は、増幅回路22に接続されている。なお、業務用ビデオゲーム装置の場合、モニタ21、増幅回路22及びスピーカ23は、家庭用ゲーム機100を構成する各ブロックとともに1つの筺体に収納される場合がある。
また、ビデオゲーム装置が、パーソナルコンピュータやワークステーション等を核として構成されている場合、モニタ21は、コンピュータ用のディスプレイに対応する。また、伸張回路7、描画プロセッサ10及び音声プロセッサ11等は、それぞれ記録媒体300に記録されているプログラムデータの一部又はコンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、インターフェース回路4、パラレルポート8、シリアルポート9及びインターフェース13は、コンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、バッファ14〜16はそれぞれメインメモリ5又は拡張メモリの各記憶エリアに対応する。
次に、図1に示す各構成要素について説明する。グラフィックスデータ生成プロセッサ3は、CPU1のいわばコプロセッサとしての役割を果たす。すなわち、グラフィックスデータ生成プロセッサ3は、座標変換や光源計算、例えば固定小数点形式の行列やベクトルの演算を並列処理によって行う。
グラフィックスデータ生成プロセッサ3が行う主な処理としては、CPU1から供給される画像データの2次元又は3次元空間内における各頂点の座標データ、移動量データ、及び回転量データ等に基づいて、所定の表示エリア上における処理対象画像のアドレスデータを求めてCPU1に返す処理、仮想的に設定された光源からの距離やこの光源に対する傾きに応じて画像の輝度を計算する処理等がある。
インターフェース回路4は、周辺デバイス、例えばマウスやトラックボール等のポインティングデバイス等のインターフェース用に用いられる。メインメモリ5はRAM(Random ccess Memory)で構成される。ROM6にはビデオゲーム装置のオペレーティングシステムとなるプログラムデータが記憶されている。
伸張回路7は、動画に対するMPEG(Moving Picture Experts Group)規格や静止画に対するJPEG(Joint Photographic Experts Group)規格に準拠したイントラ符号化によって圧縮された圧縮画像に対して伸張処理を施す。伸張処理は、デコード処理(VLC:Variable Length Codeによってエンコードされたデータのデコード)、逆量子化処理、IDCT(Inverse Discrete Cosine Transform)処理、及びイントラ画像の復元処理等を含む。
描画プロセッサ10は、所定時間T(例えば、1フレームでT=1/60秒)ごとにCPU1が発行する描画命令に基づいてバッファ14に対する描画処理を行う。
バッファ14は、例えばRAMで構成され、表示エリア(フレームバッファ)と非表示エリアとに分けられる。表示エリアは、モニタ21の表示面上に表示するデータの展開エリアで構成される。非表示エリアは、スケルトンを定義するデータ、ポリゴンを定義するモデルデータ、モデルに動きを行わせるアニメーションデータ、各アニメーションの内容を示すパターンデータ、テクスチャデータ及びカラーパレットデータ等の記憶エリアで構成される。
ここで、テクスチャデータは、2次元の画像データである。カラーパレットデータは、テクスチャデータ等の色を指定するためのデータである。CPU1は、記録媒体300から一度に又はゲームの進行状況に応じて複数回に分けて、これらのデータを予めバッファ14の非表示エリアに読み出して記録する。
また、描画命令としては、ポリゴンを用いて立体的な画像を描画するための描画命令、通常の2次元画像を描画するための描画命令がある。ここで、ポリゴンは多角形の2次元仮想図形であり、例えば、三角形や四角形が用いられる。
ポリゴンを用いて立体的な画像を描画するための描画命令は、ポリゴン頂点座標データのバッファ14の表示エリア上における記憶位置を示すポリゴン頂点アドレスデータ、ポリゴンに貼り付けるテクスチャのバッファ14上における記憶位置を示すテクスチャアドレスデータ、テクスチャの色を示すカラーパレットデータのバッファ14上における記憶位置を示すカラーパレットアドレスデータ及びテクスチャの輝度を示す輝度データのそれぞれに対して行われるものである。
上記のデータのうち表示エリア上のポリゴン頂点アドレスデータは、グラフィックスデータ生成プロセッサ3がCPU1からの3次元空間上におけるポリゴン頂点座標データを移動量データ及び回転量データに基づいて座標変換することによって2次元上でのポリゴン頂点座標データに置換されたものである。輝度データは、CPU1からの上記座標変換後のポリゴン頂点座標データによって示される位置から仮想的に配置された光源までの距離等に基づいてグラフィックスデータ生成プロセッサ3によって決定される。
ポリゴン頂点アドレスデータは、バッファ14の表示エリア上のアドレスを示す。描画プロセッサ10は、3個のポリゴン頂点アドレスデータで示されるバッファ14の表示エリアの範囲に対応するテクスチャデータを書き込む処理を行う。
ゲーム空間内におけるキャラクタ等の物体は、複数のポリゴンで構成される。CPU1は、各ポリゴンの3次元空間上の座標データを対応するスケルトンのベクトルデータと関連させてバッファ14に記憶する。そして、後述するコントローラ19の操作によって、モニタ21の表示画面上でキャラクタを移動させる等の場合において、キャラクタの動きを表現したり、キャラクタを見ている、仮想カメラの視点位置を変えたりするときに、以下の処理が行われる。
すなわち、CPU1は、グラフィックスデータ生成プロセッサ3に対してバッファ14の非表示エリア内に保持されている各ポリゴンの頂点の3次元座標データと、スケルトンの座標及びその回転量のデータから求められた各ポリゴンの移動量データ及び回転量データとを与える。
グラフィックスデータ生成プロセッサ3は、各ポリゴンの頂点の3次元座標データと各ポリゴンの移動量データ及び回転量データとに基づいて各ポリゴンの移動後及び回転後の3次元座標データを順次求める。
このようにして求められた各ポリゴンの3次元座標データのうち、水平及び垂直方向の座標データは、バッファ14の表示エリア上のアドレスデータ、すなわちポリゴン頂点アドレスデータとして描画プロセッサ10に供給される。
描画プロセッサ10は、3個のポリゴン頂点アドレスデータによって示されるバッファ14の表示エリア上に予め割り当てられているテクスチャアドレスデータによって示されるテクスチャデータを書き込む。これによって、モニタ21の表示画面上には、対応するテクスチャの貼り付けられた多数のポリゴンから構成される物体が表示される。
通常の2次元画像を描画するための描画命令は、頂点アドレスデータ、テクスチャアドレスデータ、テクスチャデータの色を示すカラーパレットデータのバッファ14上における記憶位置を示すカラーパレットアドレスデータ及びテクスチャの輝度を示す輝度データに対して行われる。これらのデータのうち頂点アドレスデータは、CPU1からの2次元平面上における頂点座標データをCPU1からの移動量データ及び回転量データに基づいてグラフィックスデータ生成プロセッサ3で座標変換することによって得られる。
音声プロセッサ11は、記録媒体300から読み出されたADPCM(Adaptive Differential Pulse Code Modulation)データをバッファ15に記憶させる。バッファ15に記憶されたADPCMデータが音源となる。
また、音声プロセッサ11は、例えば、周波数44.1kHzのクロック信号に基づき、バッファ15からADPCMデータを読み出す。音声プロセッサ11は、読み出したADPCMデータに対してピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加等の処理を施す。
記録媒体300から読み出される音声データがCD−DA(Compact Disk Digital Audio)等のPCM(Pulse Code Modulation)データの場合、音声プロセッサ11は、この音声データをADPCMデータに変換する。また、PCMデータに対するプログラムによる処理は、メインメモリ5上において直接行われる。そして、メインメモリ5上において処理されたPCMデータは、音声プロセッサ11に供給されてADPCMデータに変換される。その後、上述した各種処理が施され、音声がスピーカ23から出力される。記録媒体ドライブ17としては、例えば、DVD−ROMドライブ、CD−ROMドライブ、ハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等が用いられる。この場合、記録媒体300としては、DVD−ROM、CD−ROM、ハードディスク、光ディスク、フレキシブルディスク、半導体メモリ等が用いられる。
記録媒体ドライブ17は、記録媒体300から画像データ、音声データ及びプログラムデータを読み出し、読み出したデータをデコーダ12に供給する。デコーダ12は、記録媒体ドライブ17からデータを再生し、さらに、ECC(Error Correction Code)によるエラー訂正処理を施し、エラー訂正処理を施したデータをメインメモリ5又は音声プロセッサ11に供給する。
メモリ18としては、例えばカード型のメモリが用いられる。カード型のメモリは、例えばゲームを中断した場合において中断時点での状態を保持するべく、例えば中断時点での各種ゲームパラメータを保持するため等に用いられる。
コントローラ19は、プレイヤが把持可能な形状、例えば棒状の外形を有し、その表面適所に種々の操作部分が設けられている。コントローラ19は、プレイヤが種々の操作指令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をCPU1に送出する。コントローラ19には、インターフェース191、加速度センサ192、さらに、操作部分としての、ボタン193、360°方向の傾倒方向と角度とが検出可能な操作桿(ジョイスティック)194、4方向(十字方向)が検出可能な十字キー195、及びボタン196が設けられている。インターフェース191は、例えば、赤外線や電波等による近接通信のための無線信号を送出する回路で構成され、コントローラ19から送出される操作信号を無線信号に変換してインターフェース13に送出する。
加速度センサ192は、3軸の加速度センサにより構成され、3軸方向のそれぞれの加速度を加速度信号として検出する。加速度センサは、少なくともコントローラ19の軸周りの回転を検出する。加速度センサ192としては、例えば、ピエゾ抵抗型、静電容量型、又は磁気センサ型等の加速度センサを採用することができる。
ジョイスティック194は、例えば、キャラクタやオブジェクトや後述するようにカーソル等をモニタ21の画面上で上下左右乃至は斜め方向に移動させるコマンドをCPU1に与えるために使用される。
コントローラ19のボタン193及び十字キー195は、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると上記中立位置に復帰してオフになるオンオフスイッチで構成される。
次に、上記のビデオゲーム装置の概略動作について説明する。記録媒体300が記録媒体ドライブ17に装填されている場合、電源スイッチ(図示省略)がオンされてビデオゲーム装置に電源が投入されると、ROM6に記憶されているオペレーティングシステムに基づいて、CPU1は、記録媒体300からゲームプログラムをメインメモリ5へ読み出すように記録媒体ドライブ17に指示する。これによって、記録媒体ドライブ17は、記録媒体300から画像データ、音声データ及びプログラムデータをデコーダ12へ読み出す。読み出された画像データ、音声データ及びプログラムデータは、デコーダ12によってエラー訂正処理が各データに施される。
画像データは、デコーダ12によってエラー訂正処理が施され、バスライン2を介して伸張回路7に供給される。伸張回路7によって上述した伸張処理が行われた画像データは、描画プロセッサ10に供給され、描画プロセッサ10によってバッファ14の非表示エリアに書き込まれる。音声データは、デコーダ12によってエラー訂正処理が施され、メインメモリ5又は音声プロセッサ11を介してバッファ15に書き込まれる。デコーダ12によってエラー訂正処理が施されたプログラムデータはメインメモリ5に書き込まれる。
以降、CPU1は、メインメモリ5に記憶されているゲームプログラム及びプレイヤがコントローラ19を用いて指示する内容に基づいてビデオゲームを進行させる。すなわち、プレイヤがコントローラ19を用いて指示する内容に基づいて、CPU1はゲーム状況の変更の制御、及びこれに基づく画像処理の制御、音声処理の制御及び内部処理の制御等を適宜行う。
画像処理の制御として、例えば、キャラクタに指示されるアニメーションに該当するパターンデータから各スケルトンの座標の計算又はポリゴンの頂点座標データの計算、得られた3次元座標データや視点位置データのグラフィックスデータ生成プロセッサ3への供給、グラフィックスデータ生成プロセッサ3で求めたバッファ14の表示エリア上のアドレスデータや輝度データを含む描画命令の発行等が行われる。
音声処理の制御として、例えば、音声プロセッサ11に対する音声出力コマンドの発行、レベル、リバーブ等の指定が行われる。内部処理の制御として、例えばコントローラ19の操作に応じた演算等が行われる。
図3は、ビデオゲーム装置においてモニタ21に表示される画像の一例を示した図で、図3(a)は投手基準の画面、図3(b)は打者基準の画面である。なお、投手基準及び打者基準の各画面は、仮想カメラの位置及び方向が予め設定されていることで描画される。まず、本ビデオゲーム装置を用いて野球ゲームを行う場合の、野球ゲームの概要について説明する。本発明で実行される野球ゲームは、一般的には2名のプレイヤがそれぞれコントローラ19を把持し、それぞれ操作指示を発することで、攻撃側と守備側とを交互に受け持って、得点を得るための攻撃動作と得点を与えないための守備動作とを所定イニング数だけ実行し、各イニングで得られた得点の合計で勝敗を競う対戦ゲームである。なお、プレイヤの一方をコンピュータによって制御される仮想的なプレイヤに見立て、守備時には守備側の各キャラクタ(投手キャラクタや野手キャラクタ)による守備動作を実行させ、攻撃時には攻撃側の各キャラクタ(打者キャラクタや走者キャラクタ)の動作を実行させることで、1人のプレイヤがCPU対戦という形で対戦ゲームを行う態様であってもよい。
図3(a)に示すように、野球ゲームは、仮想3次元のゲーム空間として設定された野球場で行う態様とされ、投手基準画面の構図としては、投球用のマウンドの直ぐ後ろに仮想カメラが設定され、所要の画角を有してホームベース側に視線が向けられている。ホームベース上には、所定サイズを有する投球領域を示す枠オブジェクト60がゲーム空間内に立設された姿勢で設定され、通常は表示されている。
また、図3(b)に示す打者基準画面の構図としては、ホームベースの直ぐ後ろ、すなわち、通常、守備側の捕手の位置に仮想カメラが設定され、所要の画角を有して投手(投球用のマウンド)側に視線が向けられている。ホームベース上には、図3(a)に示す枠オブジェクト60が表示されている。本実施形態では、枠オブジェクト60はストライクゾーンと一致している。なお、後述するように枠オブジェクト60の外周には、表示はされないが、所定の投球ゾーンが設定されている。枠オブジェクト60は、投手による投球範囲の指標とされるものであり、また、投手による投球位置の指定及び打者による打撃位置の指定のために使用される。
投手キャラクタ71が、移動体オブジェクトとしてのボールオブジェクト72を枠オブジェクト60に向けて投げ、作用キャラクタとしての打者キャラクタ73が、ボールオブジェクト72をバットオブジェクト74(作用キャラクタの一部としての意義を有する。)により打ち返す、すなわち、打者キャラクタ73がバットオブジェクト74を介して、移動中のボールオブジェクト72に作用(すなわち打撃)を与える野球ゲームである。
枠オブジェクト60は、ホームベース上でのストライクゾーンに対応する範囲を示すもので、画面上で所定形状、サイズの複数のマス目(区分体)に、例えば縦横に均等に所定数、例えば3(行)×3(列)個のマス目61に区分けされている。カーソル80は、コントローラ19のジョイスティック194の傾倒操作に対応した方向に画面上で移動可能になされている。図3(b)に示すカーソル80は、枠オブジェクト60を構成するマス目61に対する作用範囲(打撃範囲)の指定用として用いられる。一方、カーソル81は、枠オブジェクト60を構成するマス目61に対する投球位置の指定用として用いられる。
なお、本実施形態では、守備時においてプレイヤにより投球位置及び球種(例えば直球、各種の変化球)が設定される場合、枠オブジェクト60は、表示中の9個のマス目61の外周に1マス目分ずつ増やして(5(行)×5(列)、図6(b)中、符号60’で示す。)、すなわち、さらに16個のマス目61が非表示状態で設定される。なお、図6(b)では、説明の便宜上、外周の16個のマス目61を示している。投球位置を指定し得る範囲は、ストライクゾーン内、及びボールとなる前記16個のマス目範囲(ボールゾーン)である。投球位置の指定範囲をストライクゾーンの外側であるボールゾーンまで広げることで、打者との駆け引きに一層の面白味を与えている。
投球位置の指定のタイミングは、投球指示前に限定してもよいが、本実施形態では、投球指示後においても可能としている。球種の指定のタイミングは、投球指示前とするのが好ましい。また、投球位置の指定と球種の指定との順番は特に問わない。例えば、投球位置の設定は、球種が設定された後に、投球開始が指示された場合、ボールオブジェクト72がホームベース(枠オブジェクト60)を通過するまでの間に、例えばボールを模擬した投球位置指定用のカーソル81がジョイスティック194によってモニタ21の画面上を移動可能に操作され、ある時点でボタン196を押下することで、マス目61単位での指定として行われる。
ここに、本実施形態において、指定位置とは、球種が直球の場合、投球されたボールオブジェクト72が枠オブジェクト60を通過する時点の位置を含むマス目61である。球種が変化球の場合における指定位置とは、変化前のボールオブジェクト72に対する枠オブジェクト60の位置(マス目61)である。ボールオブジェクト72は、この指定位置から、指定された球種に応じた、後述の変化を行って枠オブジェクト60を通過する。なお、変化球の場合における指定位置として、変化後のボールオブジェクト72が枠オブジェクト60を通過する時点の位置としてもよい。
一方、攻撃側にあるプレイヤは、コントローラ19のジョイスティック194を操作することで打撃範囲指定用のカーソル80を画面上で動かして、1シーケンスがスタートする投球前の球種指定の許可時から、投球後におけるボールオブジェクト72が枠オブジェクト60に到達するまでに、ボタン193を押下操作することで、カーソル80の表示位置(打撃範囲)を指定する。攻撃側にあるプレイヤは、自分が予想するマス目61に、または投球後の移動中のボールオブジェクト72が表示されているマス目61に、あるいは変化球による軌道変化を予想したマス目61に合わせ、かつボールオブジェクト72が枠オブジェクト60に到達したときに、ボタン193を押下することで、ボールオブジェクト72を所定のパワー(作用力)で打ち返すことができる。ボールオブジェクト72が打ち返されると、CPU1によってボールオブジェクト72の打球速さ及び打球方向が計算され、さらに打者側、守備側の各キャラクタに野球ゲームのルールに従った行動がCPU1から指令され、これによって野球を模擬した展開が実現される。例えば、3塁に走者がいる場面でヒットを打った場合、3塁走者がホームインして得点が入る。逆に、打撃範囲であるマス目及び打撃タイミングが、ボールオブジェクト72の投球位置及び枠オブジェクト60の通過時点に対して、少なくとも一方がずれていた場合、空振りとなる。ボタン193が押下されない(打撃指示がない)場合、見送りとなる。
このように、投手側のプレイヤからの操作が許可、例えば球種の指定操作が許可された時点から、打撃後の一連の動作までを1回のシーケンスとして処理し、各シーケンスの結果に従って、ストライクカウント、ボールカウント、所定アウトカウント、及び所定イニング数までの野球ゲームが進行する。また、図3において、モニタ21の画面の適所、例えば右下には投球履歴とアウトカウント数とが表示され、他の適所、例えば左上には、現時点までの両方のチームの得点と経過イニング数とが表示されている。なお、後述するように、1回のシーケンスにおいて、シーケンス開始から投球指示があるまでは、図3(a)の画面が表示され、投球指示後から打撃が行われるまでは、図3(b)の画面が表示される。
次に、上記のように構成されたビデオゲーム装置を用いて野球ゲームを行う場合のビデオゲーム装置の主要な機能について説明する。図2は、図1に示すビデオゲーム装置の主要な機能ブロック図である。
図2に示すように、ビデオゲーム装置は、プログラム実行部であるCPU1を備え、コントローラ19、モニタ21と接続されている。また、CPU1は、記憶媒体300から取り込まれた各種画像データを記憶する画像記憶部141、及び野球ゲームに登場する、プレイヤ側のチーム乃至は両チームの各選手データ(図4に、その一部、特に選手パラメータ部分を示す。)を記憶する選手データ記憶部142を有するバッファ14、及び記憶媒体300から取り込まれたゲームプログラムのデータを記憶するプログラム記憶部51を有するメインメモリ5と接続されている。画像記憶部141は、枠オブジェクト60、投手キャラクタ71、ボールオブジェクト72、打者キャラクタ73、バットオブジェクト74、打撃側のカーソル80、投球側のカーソル81、野球場の背景画像、及び野球ゲームを行う上で必要な種々の画像データを記憶している。ここで、野球場の背景画像の画像データとしては、例えば仮想3次元空間内において予め作成された仮想3次元モデルを所定の視点からレンダリングすることにより予め作成された画像データを採用することができる。
図4は、選手データの内、特に野球ゲームに対する能力を示す選手パラメータを示す図である。選手パラメータとしては打撃に関するもの、投手の場合には投球に関する種々のものが含まれており、例えば、打者(野手)に関するものとしては、例えば「ミート」、「パワー」、「走力」、「肩力」、「守備力」、「チャンス」、「得意コース」等があり、投手に関するものとしては、例えば「スピード」(球速を示す少なくとも2段階以上の所定段階分のパラメータ)、「コントロール」(制球力を示す少なくとも2段階以上の所定段階分のパラメータ)、「変化球」(選択可能な球種)、「変化量」(変化球の変化量の大きさを示す少なくとも2段階以上の所定段階分のパラメータ)、「スタミナ」(指数、例えば、0〜100の値で表現されるもので、球速や制球力に反映される)が含まれ、選手データ記憶部142に記憶されている。「スタミナ」は、投手キャラクタの場合、投球毎、打者キャラクタに長打を打たれた場合、また、後述する「ひねり」投球をした場合等にそれぞれ設定された所定値ずつ減少するように設定され、一方、例えば三振を取ったり、アウトを取ったり、チェンジになったりすると所定値ずつ増加するようにしてもよい。
また、選手データ記憶部142には、各選手キャラクタの個人成績である、打率、打点、ホームラン本数等も記憶されており、ゲーム進行に応じて更新されるようになされている。なお、ここで「チャンス」に関する選手パラメータとは、2塁、3塁のスコアリングポジションに走者がいるといった得点チャンスにおいて、通常の打撃能力よりも強い打撃能力が発揮されるか否か、すなわち、いわゆるチャンスに強いかどうか、といったレベルを示す打者の選手パラメータを示している。
コントローラ19は、投手側の場合、ボタン193が押下されることによりプレイヤにより投球開始を指示するための投球コマンドが入力された時、投球指示信号としてCPU1に出力する。また、コントローラ19は、ジョイスティック194が傾倒操作されることによりプレイヤにより投球位置を指定するための操作信号が入力された場合に、投球位置指定信号としてCPU1に出力する。また、コントローラは、十字キー195が操作されることにより球種指示信号をCPU1に出力する。さらに、コントローラ19は、コントローラ19自体がプレイヤにより動かされる(例えば、棒状のコントローラ19の長手方向を軸とみなして、この軸中心に回転させる(軸周り)方向にひねるように動かす)ことによって加速度センサ192により検出される加速度信号をCPU1に出力する。コントローラ19は、例えば一定の時間間隔で加速度信号を出力してもよいし、加速度センサ192により加速度が検出された場合に加速度信号を出力してもよい。
また、コントローラ19は、打者側の場合、ボタン193が押下されることによりプレイヤにより打撃タイミングを決定するための打撃コマンドが入力された時、打撃指示信号としてCPU1に出力する。また、コントローラ19は、ジョイスティック194が傾倒操作されることによりプレイヤにより打撃範囲を指定するための操作信号が入力された場合に、マス目指定信号としてCPU1に出力する。さらに、コントローラ19は、コントローラ19自体がプレイヤにより動かされる(例えば、棒状のコントローラ19の長手方向を軸とみなして、この軸中心に回転させる(軸周り)方向にひねるように動かす)ことによって加速度センサ192により検出される加速度信号をCPU1に出力する。
図5は、プレイヤによるゲーム操作の状況の一場面例を示す図である。プレイヤPはモニタ21の正面に適当距離離れて位置し、手にコントローラ19を把持している。このコントローラ19に設けられた各操作部(193〜196)を操作して、モニタ21の画面に表示される野球ゲームにおいて、投手側になったり、打者側になったりしてゲーム進行を行う。図では見えていないが、2人プレイの場合には、プレイヤPの近くに相手側プレイヤがいることになる。従って、本実施形態では、コントローラ19を従来のように、バットに見立てて振ったり、ボールに見立てて投げる動作を行うのではなく、コントローラ19の先端をモニタ21側に向けた状態で、その先端のみを動かすことで各操作を行うものである。
図2に戻り、CPU1は、メインメモリ5に記憶されているゲームプログラムを実行することによって、コントローラ19から受信された操作信号をデジタル信号として取得する取得部101、野球ゲームの全体進行を野球ルール(ゲームプログラムの一部)に基づいて制御するゲーム進行制御部102、ゲーム進行に沿ったゲーム画像をモニタ21に表示する画像表示制御部103として機能する。
また、CPU1は、メインメモリ5に記憶されているゲームプログラムを実行することによって、枠オブジェクト60をホームベース上に設定する指標枠設定部104、守備側のプレイヤによって操作されるコントローラ19の十字キー195からの操作信号により投手キャラクタ71の投じるボールオブジェクト72の球種を設定する球種設定部105、守備側のプレイヤによって操作されるコントローラ19のジョイスティック194及びボタン196からの操作信号により枠オブジェクト60に対して所望する位置を投球コースとして設定する投球位置設定部106、守備側のプレイヤによって操作されるコントローラ19のボタン193からの操作信号により投手キャラクタ71に対して、ボールオブジェクト72を投球するスローイング動作を開始させる指示を与える投球指示部107、ゲーム中に守備側のプレイヤによって操作されるコントローラ19の加速度センサ192からの検出信号により「ひねり」投球が検出されると、カーソル80,81の画像を演出用の画像に変更すると共に投球内容に変更を与える特別投球設定部108、投手キャラクタ71の投じたボールオブジェクト72を枠オブジェクト60内の設定位置を通過させる軌道計算及び移動処理を行う移動処理部109として機能する。
また、CPU1は、メインメモリ5に記憶されているゲームプログラムを実行することによって、攻撃側のプレイヤによって操作されるコントローラ19のジョイスティック194及びボタン193からの操作信号によりマス目の指定を行うと共に選手データ内の選手パラメータに応じて、また所定の条件に従って、さらにはカーソルサイズの変更に応じて、1個のマス目(作用マス目)又は少なくとも1以上のマス目の範囲を作用範囲(打撃範囲)として設定する打撃範囲指定部110、攻撃側のプレイヤによって操作されるコントローラ19のボタン193からの操作信号により打者キャラクタ73に打撃動作(バットオブジェクト74へのスイング動作)を指示する打撃指示部111、ゲーム中の所定の条件が成立すると、カーソル80の表示サイズを拡大、縮小方向に変更するカーソルサイズ変更部112、打者キャラクタ73の基本的な表示位置を、枠オブジェクト60に対して所定量だけ接近又は離反させたり、投手キャラクタ71が投球動作を行うマウンド(移動開始位置)側に所定量だけ移動させたりする自己キャラクタ位置設定部113、また、他の所定の条件下で、バットオブジェクト74のスイング速度、すなわち図4の「パワー」パラメータの値を所定量だけ増大させる特別打撃設定部114として機能する。
また、CPU1は、メインメモリ5に記憶されているゲームプログラムを実行することによって、打者キャラクタ73による打撃指示に基づいて打撃結果(作用結果)を算出処理し、かつバットオブジェクト74がボールオブジェクト72に当たった(空振り、見送りではない)場合に、ボールオブジェクト72の打球速さ、打球方向を例えば力学的に算出する処理、それに伴う守備側の各選手キャラクタ及び走者がいる場合の走塁処理を野球のルールに従って演出する処理を実行する結果処理部115として機能する。
取得部101は、図略のインターフェース191,13を介して、コントローラ19の加速度センサ192、ボタン193,196、ジョイスティック194、十字キー195から出力される加速度信号、打撃指示乃至は打撃範囲指定信号、投球指示信号、投球位置指定信号及び球種指定信号をそれぞれ受け付けるものである。また、図には一方側しか示していないが、インターフェース13は、野球ゲームを行う2人のプレイヤがそれぞれ所持するコントローラ19からの信号をそれぞれ識別して受信する。
ゲーム進行制御部102は、ゲーム開始から終了まで、より詳細には、野球ゲームを実行するための野球チーム(選手メンバー)の選定処理、ゲーム開始処理、さらに投手キャラクタ71がボールオブジェクト72を投球し、打者キャラクタ73がバットオブジェクト74で、投球後の移動中のボールキャラクタ72に対する打撃を行い、かつ結果処理部115による処理が終了するまでの1シーケンスの処理、このシーケンスを例えば野球ルール通りとすれば、3アウトで攻守の入れ替えを行い(1イニング)、最終イニングである9イニングまで実行させ、両チームの成績、すなわち最終得点による勝敗決定処理までを実行させるものである。
画像表示制御部103は、ゲーム進行に応じてゲーム空間に設定された背景画像、枠オブジェクト60、投手、打者キャラクタ71,73、ボール、バットオブジェクト72,74及びカーソル80,81の表示を行う。画像表示制御部103は、1シーケンスの開始から投球指示までは、図3(a)に示す投手基準の画面となるように仮想カメラの視点、画角を設定し、投球指示から打撃動作までは、図3(b)のような打者基準の画面となるように仮想カメラの視点、画角を設定に切り換える。
画像表示制御部103は、ボールオブジェクト72にバットオブジェクト74が当たった場合、好ましくは打球であるボールキャラクタ72がプレイヤによって追跡し得るように、すなわちモニタ21の画面の視野枠内に入るようにゲームプログラムによって仮想カメラの位置、視野方向が制御されることでゲーム画像の表示、及び結果処理内容の表示を行う。なお、枠オブジェクト60、打撃時のカーソル80、投球時のカーソル81は、他の画像の表示に対して重なり等によって視認の支障とならないように、画像表示制御部103によって半透明でモニタ21に表示するように半透明処理することが好ましい。半透明処理は、重なる部分の2つの画素の色及び濃度データを所定比率で混合する等の公知の手法によって実現できる。
指標枠設定部104は、所定形状、ここでは所定サイズの四角形を有する枠オブジェクト60をゲーム空間内のホームベース上に設定するものである。枠オブジェクト60は投球の際の指標となるもので、マウンドに相当する、ボールオブジェクト72の移動開始位置に直角に向けられている。また、指標枠設定部104は、投手側における投球コース、球種の設定においては、縦横に区分けされた5×5個のマス目61から構成される枠オブジェクト80を設定する。5×5個のマス目61のうち、最外周のマス目の領域は投球コースとしてはボールとなる範囲である。また、指標枠設定部104は、打者側における打撃位置の設定においては、ストライクゾーンのみの3×3個のマス目61から構成される枠オブジェクト80を設定する。
球種設定部105は、後述する図7、図8に示すような球種の設定を投球開始前に行う。球種は、指定なしの場合の「直球」の他、「スライダー」、「カーブ」、「フォーク」、「シンカー」、「シュート」、「ナックル」等が準備されている。本実施形態のように球種が4種類以上ある場合、球種は、十字キー195の押下位置とボタン193の押下の有無との組合せに対応して予め設定されている。例えば、ボタン193を押下した状態と、押下していない状態とで、十字キー195の操作を行うようにすれば、8種類まで選択可能となる。なお、球種が4種類以内であれば、十字キー195のみでもよい。
投球位置設定部106は、図6(a)に示すように、投球位置指定用のカーソル81をモニタ21上で移動可能に表示し、投手キャラクタ71が投じる、あるいは投じたボールオブジェクト72に対して、枠オブジェクト60の9個及びその外周のマス目を含む計25個のマス目61の領域から投球位置を指定するものである。位置指定方法は、コントローラ19のジョイスティック194で操作されるカーソル81によって位置を指定し、ボタン196の押下で指定位置及び該指定位置が含まれる指定マス目61を確定する。なお、指定位置情報は、結果処理における打球速さ、方向の計算に適用され、指定マス目情報は、ボールオブジェクト72とバットオブジェクト74とが当たったか否かの判定として使用される。
投球位置、指定球種の内容は、打者側のプレイヤに判らないように行う必要があることから、投球位置の指定は、ジョイスティック194を操作しながら、すなわちカーソル81を動かしつつ、ボタン196を押下するタイミングで決定されるが、決定に対する演出表示は行われない。また、球種に対しても選択結果はモニタ21上に表示されない。なお、ボタン196により投球位置が決定された後、カーソル81は消去されてもよい。
投球指示部107は、ボタン193を押下することで、投手キャラクタ71に対して投球動作の開始を指示するものである。
図9,図10は、通常の投球の場合(図9(a)、図10(a))と、「ひねり」投球の場合(図9(a)、図10(a))の各画像を表示したもので、図9は、投手基準の画面図、図10は、打者基準の画面図である。
特別投球設定部108は、「ひねり」投球が検出されると、図9(b)、図10(b)に示す画像の表示処理を行うと共に、投球内容に後述するような影響を付与することとしている。この「ひねり」投球は、現実における、いわゆる気合いを入れた一球を模擬したものである。
特別投球設定部108は、ひねり投球と判断されると、モニタ21の画面を、図9(a)から、図9(b)に切り換えると共に、カーソル81を図9(b)に示す画像(演出用カーソル81a)に変更して表示するものである。演出用カーソル81aを表示することで、守備側のプレイヤに、「ひねり」投球であることの視認ができるようにしたものである。
特別投球設定部108は、図9に示す画面を投球指示があるまで表示した後、図10(b)の打者基準の画面に切り換えて、打者側のプレイヤに対する操作指示の時間を確保するようにしている。また、特別投球設定部108は、図10(b)の画面に戻された時、カーソル80を図10(b)に示す画像(演出用カーソル80a)に変更するようにしている。図10(a)に示すように、通常のカーソル80は二重のリングを有する円形形状とされ、カーソル80の中心が表示される一方、図10(b)に示される演出用カーソル80aは、外側のみのリングとされ、中心を示す内側のリング位置が非表示とされる。これにより、打撃側のプレイヤにとって、演出用カーソル80aの中心を狙った打撃位置の指定が、その分、困難となるようにしている。なお、カーソルの形状は、図10の形状に限定されず、種々の形状が採用可能である。すなわち、通常投球では、表示されるカーソルの中心が、「ひねり」投球の場合における演出用では、カーソルの中心位置が非表示とされるものであればよい。また、「ひねり」投球ではない、通常投球の場合には、前述したように、投球指示信号を受けて、図9(a)の投手基準の画面から、図10(a)の打者基準の画面に切り換えるようにしている。
コントローラ19自身の動き操作としては種々の態様が考えられるが、本実施形態では、コントローラ19を軸を中心にしてひねる(軸中心に回転)操作としている。「ひねり」投球の判定処理は具体的には以下のようにして行われる。すなわち、取得部101は加速度センサ192の検出信号を周期的に取得しており、これら検出信号を検出毎に時間方向に2回積分して回転量を算出し、それらを順次積算するようにしており、積算量が所定の閾値を超えると、ひねり有りと判定するようにしている。この積算処理の途中で、あるいは積算処理後、ボタン193による投球指示信号を取得すると、投球指示信号の取得時点で、既にひねり有りと判定していた場合には、「ひねり」投球として処理するものである。
特別投球設定部108は、「ひねり」投球と判断されると、球種が直球である場合、投手キャラクタ71の「スピード」パラメータによって設定された球速が所定量(所定比含む)だけ増すようにし、また、球種が変化球の場合は、投手キャラクタ71の「変化量」パラメータで設定された変化量が所定量(所定比含む)だけ増すように移動処理部109に指令が出力される。これにより、打撃指示のタイミングを困難にし、かつ、図略の乱数発生器等からの乱数値に基づいてバットキャラクタが折れる確率が増大するようにしてもよい。一方、「ひねり」投球では、投手キャラクタの「コントロール」パラメータが予め設定されたパラメータよりも下げられ、かつ「スタミナ」パラメータの減少量が、通常投球に比して所定量だけ大きくなるようにされる。このようにして、「ひねり」投球に対して、リスクとメリットとが提供されて、ゲームバランスを取るようにしている。
なお、ひねりを所定段数設定しておき、投球指示信号の取得時に、加速度センサ192で積算されているひねり量に対応する段数に応じて、前記各パラメータから予め設定される球速、変化量、コントロール、スタミナに対する値を段階的に変更するようにしてもよい。また、ひねり量に代えて、加速度センサ192の加速度(平均値又は最大値等でもよい)を直接用いてもよいし、あるいは動き速度(平均値又は最大値等でもよい)を用いてもよい。
なお、本ゲームは、プレイヤ同士の対戦の他、1人のプレイヤとCPU1によって制御される野球チームと対戦する態様も可能であり、この場合、CPUが攻撃側の時は、CPUによって制御される打者キャラクタ71の打撃に投球位置やタイミングは、CPU1によって例えば乱数発生器からの乱数等を利用してランダムに設定される。この場合、打撃範囲指定部110、打撃指示部111等の打撃に関連する処理部は、CPU1の機能として、打撃位置、打撃指示等の設定処理を実行することになる。
移動処理部109は、投手キャラクタ71の投じたボールオブジェクト72が枠オブジェクト60に対する設定位置を通過するための軌道の計算を行うと共に、計算された軌道に従ってボールオブジェクト72のゲーム空間上で経時方向に順次位置情報を設置するようにして移動処理を行うものである。この場合、図略の乱数発生器を設け、この乱数発生器で生成される乱数を用いて、設定されている投球位置に対する位置ぶれを付加する態様としてもよい。例えば乱数値に応じてぶれ量、ぶれ方向が対応するように設定されていてもよい。そして、画像表示制御部103は、軌道計算で得られた位置情報に基づいてボールオブジェクト72をモニタ21上に表示する。
軌道計算は、通常の運動方程式に倣った乃至は近似式を使用してもよい。また、直球以外の球種の場合、枠オブジェクト60内のマス目61から別のマス目61に位置変化させる演出を行わせるため、上述の計算式とは異なる、マス目61間での移動も行わせるような、軌道変更計算を実行するようにしている。例えば、図7(a)に示すような「スライダ」の場合、投球コースとして指定した位置を含むマス目に向かっているボールオブジェクト72が枠オブジェクト60の手前で、その右側のマス目に向かう(1マス目分だけ曲がる)ように変化するような軌道を算出する。図7(a)は、1行目かつ2列目のマス目61内が投球位置として指定された場合である。中央の変化球の軌道は、予め得た結果を所定の記憶部に軌道データとして記憶しておき、変化球の投球時に読み出すことでボールオブジェクト72の軌道設定を行うようにしてもよい。
図7は、各種の変化球の変化内容を説明するための図である。図中の矢印は、変化方向及び変化後のマス目61位置を示している、図7(a)は前述のとおり、「スライダー」、図7(b)は「カーブ」、図7(c)は「フォーク」、図7(d)は「シンカー」、図7(e)は「シュート」、さらに特殊系として、図7(f)は、下方側の3方向への変化を乱数などを利用して変化させる「ナックル」、図7(g)は、左下への2マス目分の変化を行う「サークルチェンジ」、図7(h)は右方側の3方向への変化を乱数などを利用して変化させる「ナックルカーブ」、図7(i)は右下への2マス目分の変化を行う「ドロップカーブ」である。
また、図8は、変化球、例えば「スライダー」が2マス目分移動する状態を説明する図である。投手キャラクタの選手パラメータのうち、「変化球の変化量」パラメータが大きい場合、コントローラ19のボタン193を通常より長目に押下する(押下時間が所定の閾値を超える)ような特殊操作で投球指示を行うことで、変化球を指定した場合のボールオブジェクト72の変化量を通常量の所定倍、例えば2倍に設定することが可能となる。
打撃範囲指定部110は、球種の設定が許可された時点から、一般的には投手側のプレイヤによって投球位置及び球種が設定された後に、モニタ21上に表示中のカーソル80を、コントローラ19のジョイスティック194からの操作信号によって所要の方向に移動させることで(図11参照、但し、図中の矢印は実際には表示されていない。)、枠オブジェクト60内の所望するマス目61への位置合わせを可能にし、この状態で、ボタン193からの操作信号を受け付けて、現にカーソル80が表示されている位置のマス目61を打撃範囲(作用マス目)として設定するものである。また、打撃範囲指定部110は、ボタン193で指定されたマス目61の他、選手データ記憶部142内の選手パラメータに応じて、及び所定の条件に従って、当該マス目61又はそれ以上のマス目61の一部又は全部の範囲を打撃範囲として設定する。以下、それらの具体例を、図12〜図18を用いて説明する。
図12、図13は、打者キャラクタの選手パラメータのうちの「ミート」パラメータの高さに応じて、ボールオブジェクト72にバットオブジェクト74が当たる範囲が、指定したマス目61を中心に広狭する態様を説明する図である。図12は、打撃範囲として枠オブジェクト60の中心のマス目61が指定されている場合の説明図で、図12(a)は「ミート」パラメータが最低値の場合、図12(b)は「ミート」パラメータが中間値の場合、図12(c)は「ミート」パラメータが最高値の場合である。図12に示すように、「ミート」パラメータが高くなるに従って、指定マス目61の外方にカーソル80が拡大していき、最大ランクでは、周囲のマス目の領域の略半分程度まで拡大している。図13は、打撃範囲として枠オブジェクト60の図中、右上のマス目61が指定されている場合の説明図で、図13(a)は「ミート」パラメータが最低値の場合、図13(b)は「ミート」パラメータが中間値の場合、図13(c)は「ミート」パラメータが最高値の場合である。図13(b)(c)に示すように、カーソル80は枠オブジェクト60の9個のマス目の外周を超えて拡大されている。この場合には、ボールゾーンが投球位置として指定された場合にも、ボールオブジェクト72にバットオブジェクト74を当てることができる。なお、図12(a)(b)(c)、図13(a)(b)(c)は、5段階中の第1,3,5段階の状態を示したものである。
図14は、打者キャラクタの選手パラメータのうちの「チャンス」パラメータの高さに応じて、ボールオブジェクト72にバットオブジェクト74が当たる範囲が広狭する態様を説明する図である。本実施形態では、「チャンス」パラメータは所定の複数段階が設定されている。打撃範囲指定部110、打者キャラクタの選手パラメータのうちの「チャンス」パラメータを参照して、「チャンス」パラメータが最強値の打者キャラクタ73の場合には、枠オブジェクト60を、図14(a)〜(d)のような演出表示を行い、最低値の場合には、枠オブジェクト60を、図14(e)のような演出表示を行う。すなわち、図14(a)では、カーソル80が枠オブジェクト60の左上の4つのマス目61内に移動すると、左上の4つのマス目61を一体とした表示色の変更を行う。図14(b)では、カーソル80が枠オブジェクト60の右上の4つのマス目61内に移動すると、右上の4つのマス目61を一体とした表示色の変更を行う。図14(c)では、カーソル80が枠オブジェクト60の右下の4つのマス目61内に移動すると、右下の4つのマス目61を一体とした表示色の変更を行う。図14(d)では、カーソル80が枠オブジェクト60の左下の4つのマス目61内に移動すると、左下の4つのマス目61を一体とした表示色の変更を行う。なお、この表示色の変更は、カーソル80の移動によって生じてもよく、あるいは打撃範囲を指定(ボタン193の押下)して変化させる態様としてもよい。表示色が変更された4つのマス目61内が、ボールオブジェクト72が投球位置として指定された場合、打撃タイミングの条件を除き、ボールオブジェクト72にバットオブジェクト74が当たることになる。図14(e)は「チャンス」パラメータが最低値の場合であることから、1個のマス目61のままとしている。「チャンス」パラメータの値に応じて、4マス目分から1マス目分までの間に複数の段階が設定可能である。例えば、4段階とした場合に、(相似形での)面積比で、1マス目61の場合に対して、2倍、3倍、及び図14(a)〜(d)のような4倍と設定してもよい。なお、2段階の場合には、チャンスに強いか、普通かのいずれかとすればよい。
図15、図16は、打者キャラクタの選手パラメータのうちの「コースに強い」パラメータに応じて、ボールオブジェクト72にバットオブジェクト74が当たる範囲が広狭する態様を説明する図である。本実施形態では、「コースに強い」パラメータとして、「普通」の他に、例えば、「高めに強い」「低めに強い」「インコースに強い」「アウトコースに強い」さらに、「インコース寄りに更に強い」(図16(c)参照)がパラメータデータとして設定されている。また、他のパラメータ、例えば「チャンス」パラメータと連携してより多くの、あるいは少ないマス目61が設定される(図15(c)参照、より多くのマス目の設定例)。
打撃範囲指定部110は、打者キャラクタの選手パラメータのうちの「コースに強い」パラメータを参照して、図15(a)、(b)、図16(a)〜(c)のような演出表示を行い、さらに、図15(b)において、例えば「チャンス」パラメータも参酌して(組み合わせて)、例えば、図15(c)のような演出表示を行う。すなわち、図15(a)では、カーソル80が枠オブジェクト60の1行目の3つのマス目61内に移動すると、1行目の3つのマス目61を一体とした表示色の変更を行う。図15(b)では、カーソル80が枠オブジェクト60の3行目の3つのマス目61内に移動すると、3行目の3つのマス目61を一体とした表示色の変更を行う。図16(a)では、カーソル80が枠オブジェクト60の1列目(左側の)の3つのマス目61内に移動すると、1列目の3つのマス目61を一体とした表示色の変更を行う。図16(b)では、カーソル80が枠オブジェクト60の3列目(右側の)の3つのマス目61内に移動すると、3列目の3つのマス目61を一体とした表示色の変更を行う。図16(c)では、カーソル80が枠オブジェクト60の1,2列目の6つのマス目61内に移動すると、1,2列目の6つのマス目61を一体とした表示色の変更を行う。さらに、図15(c)では、例えば図14(d)と図15(b)とを組み合わせて、カーソル80が枠オブジェクト60内の該当するマス目61に移動すると、図14(d)と図15(b)とを合わせた5つのマス目61を一体とした表示色の変更を行う。なお、この表示色の変更は、カーソル80の移動によって生じてもよく、あるいは打撃範囲を指定して変化させる態様としてもよい。表示色が変更されたマス目内にボールオブジェクト72が投球位置として指定された場合、打撃タイミングの条件を除き、ボールオブジェクト72にバットオブジェクト74が当たることになる。
図17は、打者キャラクタの選手パラメータのうちの「変化球打ち」パラメータに応じて、ボールオブジェクト72にバットオブジェクト74が当たる範囲が広狭する態様を説明する図である。本実施形態では、「変化球打ち」パラメータとして、普通の他、「横変化に強い」「縦変化に強い」がパラメータデータとして設定されている。図17(a)では、カーソル80が枠オブジェクト60の1行目の3つのマス目61内に移動すると、1行の3つのマス目61を一体とした表示色の変更を行う。図17(b)では、カーソル80が枠オブジェクト60の1列目の3つのマス目61内に移動すると、1列目の3つのマス目61を一体とした表示色の変更を行う。
図18は、打者キャラクタの選手パラメータのうちの「超強打者」パラメータに応じて、ボールオブジェクト72にバットオブジェクト74が当たる範囲が広狭する態様を説明する図である。本実施形態では、「超強打者」パラメータは、普通打者と超強打者の2段階としてパラメータ値として設定されている。なお、普通打者と超強打者との間に「強打者」パラメータが設定されてもよい。「普通」では、図18(a)に示すように、カーソル80の位置にあるマス目61のみが表示色の変更を行う。「超強打者」では、図18(b)に示すように、カーソル80が中央のマス目61から外れると、中央のマス目61を除く全マス目61を一体とした表示色の変更を行う。
なお、図17、図18において、表示色の変更は、カーソル80の移動によって生じてもよく、あるいは打撃位置を指定して変化させる態様としてもよい。表示色が変更されたマス目内にボールオブジェクト72が投球位置として指定された場合、打撃タイミングの条件を除き、ボールオブジェクト72にバットオブジェクト74が当たることになる。
図2に戻って、打撃指示部109は、コントローラ19のボタン193からの操作信号を取得部101で受け付けて、打者キャラクタ73に対して打撃動作を指示、すなわちバットオブジェクト74が、打撃範囲として設定された範囲の全部を仮想的に通過するようなスイング動作を指示するものである。なお、本実施形態では、ジョイスティック194及びボタン193によって第1の操作部材が構成され、ボタン193によって第2の操作部材が構成される。
カーソルサイズ変更部110は、ゲーム中に所定の条件が成立したと判断すると、カーソル80の表示サイズを、成立条件に合わせて予め設定された内容で、拡大、縮小方向に変更するものである。なお、後述するように、カーソル80の表示サイズは、枠オブジェクト60における指定された打撃可能な範囲に対応、すなわち、バットオブジェクト74がボールオブジェクト72に当たる範囲に対応するようにしている。但し、カーソル80が通常の表示サイズ以下になった場合、本実施形態では打撃範囲は1マス目としているが、表示サイズに対応させて1マス目より狭い所定の範囲が設定されるようにしてもよい。
自己キャラクタ位置設定部111は、コントローラ19からの指示に従って、打者キャラクタ73の基本的な表示位置(打席位置)を、枠オブジェクト60(ホームベース)に対して所定量だけ接近又は離反させたり、あるいは投手キャラクタ71が投球動作を行うマウンド(移動開始位置)側に所定量だけ移動させたりするものである。具体的には、打席位置の変更は、コントローラ19のボタン196を押下した状態で十字キー195を左右、あるいは前後の各部を押下することで指示信号が出力されるようになっている。これは、野球において、打者がバッターボックス内でベース寄りに構えたり、あるいは逆にベースから離れて構えたり、また、投手寄りに構えたりするような、打席位置を変える状況に対応させたものである。
カーソルサイズ変更部110は、自己キャラクタ位置設定部111によって打者キャラクタ73のバッターボックス内での打席位置が移動させられると、移動後の打席位置に対する得手、不得手領域をカーソル80の表示サイズの大きさの変化で演出するようにしている。
図19、図20は、カーソル80の表示サイズが変更される場合の画面図の一例である。図19(a)は、打者キャラクタ73の打席位置がバッターボックス内の基準位置にある場合の画面図、図19(b)は、打者キャラクタ73の打席位置が投手寄りに移動した後の画面図である。
図20(a)は、コントローラ19が操作される前の、打者キャラクタ73が通常の打席位置に設定されている状態の画面図であり、図20(b)は、十字キー195の右側が押下されて打者キャラクタ73が、所定距離だけホームベース寄りに移動された状態の画面図であり、図20(c)は、十字キー195の左側が押下されて打者キャラクタ73が、所定距離だけホームベースから離れる側に移動された状態の画面図である。
すなわち、カーソルサイズ変更部110は、打者キャラクタ73が投手寄りに移動する場面では、通常の画面である図19(a)に比して、図19(b)に示すように、画面全体を所定比率で拡大して枠オブジェクト60も拡大すると共に、同比率に拡大された、あるいは相対的にそれ以上の所定の比率で拡大されたカーソル80を表示するようにしている。また、カーソルサイズ変更部110は、打者キャラクタ73がホームベース(枠オブジェクト60)に対して接離方向に移動された状態で、カーソル80が枠オブジェクト60内で打者キャラクタ73の移動方向と同じ側に移動されると、カーソル80の表示サイズを拡大し(図20(b)(c)のカーソル801参照)、その反対側に移動されると、カーソル80の表示サイズを縮小して(図20(b)(c)のカーソル802参照)表示する。
図20(a)では、カーソル80は通常のサイズで表示されている。図20(b)では、枠オブジェクト60の右半部では通常サイズより大きなカーソル801として表示され、一方、枠オブジェクト60の左半部では通常サイズより小さなカーソル802として表示される。また、図20(c)では、図20(b)とは逆に、枠オブジェクト60の左半部では通常サイズより大きなカーソル801として表示され、枠オブジェクト60の右半部では通常サイズより小さなカーソル802として表示される。
図21は、シーケンスの開始から打撃指示までの間に、カーソル80に対する移動操作が所定時間継続して行われない場合のカーソルのサイズ変更を説明するための画面図である。図21(a)では、カーソルは通常のサイズで表示されている。この状態で、ジョイスティック194への未操作状態が所定時間継続したことを内部タイマ(計時手段)で検出すると、画面は、カーソルサイズ変更部110によって図21(b)のように変更される。図21(b)では、カーソル80が所定のサイズに拡大されている。図21(b)の状態で、カーソル80の移動操作が行われると、図21(c)に示すように、カーソル80は、カーソルサイズ変更部110によって元の通常サイズに戻される。なお、カーソル80を拡大する条件である、ジョイスティック194が継続して未操作状態である時間(閾値)は、1個である必要はなく、複数段階としてもよく、この場合、閾値に対応して順次カーソル80のサイズが拡大されるようにすると共に、各サイズを予め設定しておけばよい。
また、カーソルサイズ変更部110は、コントローラ19を把持したプレイヤが手を動かすことによるコントローラ19自身の動き操作が検知されている間に、ボタン193からの打撃指示を取得すると、カーソル80のサイズを所定のサイズに縮小するようにしている。コントローラ19自身の動き操作としては種々の態様が考えられるが、本実施形態では、コントローラ19を軸を中心にしてひねる(軸周りに回転)操作としている。カーソルサイズ変更部110は、加速度センサ192からの検出信号によって、コントローラ19が軸を中心にひねられたか否かを検出し、ひねられたと判断すると、上記したようにカーソル80のサイズを縮小する。軸方向の加速度を検出する加速度センサ192からの経時方向における検出信号を順次2回積分することで回転量を得ることができる。
打撃範囲指定部110は、図19〜図21に示す打席移動の場合、及び打撃指定時にコントローラ19のひねりが検出された場合に、カーソルサイズ変更部110によってカーソル80のサイズが変更されたと判断し、拡大又は縮小されたカーソル80のサイズに応じた打撃範囲の設定を行う。
また、特別打撃設定部114は、打撃指定前にコントローラ19のひねりが検出された場合に、打者キャラクタの「パワー」パラメータを所定量だけ、あるいは回転量に応じて段階的に増大する設定を行う。
図19の場合では、打席位置が投手寄りとなるため、打撃指示は通常のタイミングより所定時間だけ早めに行われる必要がある。従って、打撃指示の操作については難しくなる。しかしながら、球種として変化球が設定されているような場合には、軌道計算に従って、ボールオブジェクト72が変化(枠オブジェクト60内での位置変化)する前に、いわゆる変化球の曲がりっぱなを叩くことができる(球種として直球と同等となる)分、打撃範囲の予測はより容易となる。また、枠オブジェクト60が拡大されること、及び操作時のプレイヤの手振れによる、短時間での微調整の位置指定操作の難しさ加味すれば、ジョイスティック194の操作による位置指定操作が容易となる。
図20では、打者キャラクタ73の打席位置がバッターボックスに近い場合、アウトコースは打ちやすくなる一方、インコースは打ちにくくなる。従って、図20(b)では、カーソル80がアウトコース側に移動された場合、拡大されたカーソル801が表示され、このカーソル801にサイズに応じて、より広い打撃位置が設定される。逆にカーソル80がインコース側に移動された場合、縮小されたカーソル802が表示され、このカーソル802にサイズに応じて、より狭い打撃範囲が設定される。図20(c)では、カーソル80がインコース側に移動された場合、拡大されたカーソル801が表示され、このカーソル801にサイズに応じて、より広い打撃範囲が設定される。逆にカーソル80がアウトコース側に移動された場合、縮小されたカーソル802が表示され、このカーソル802にサイズに応じて、より狭い打撃範囲が設定される。なお、本実施形態では、狭い打撃範囲は、1マス目61としている。
図21では、図21(b)に示すようにカーソルの拡大サイズに応じて打撃範囲が拡大される。
また、コントローラ19のひねりが検出された場合では、すなわちコントローラ19のひねり検出中に打撃位置の指示があったときは、カーソル80が所定サイズだけ縮小される。この場合、打撃範囲は狭くなるというリスクがある一方、特別打撃設定部112によってスイング速度が所定分だけ増大されるというメリットがあるようにしている。なお、カーソル80の縮小及び打撃力の増大を実現するコントローラ19のひねり方向については、方向性を持たせてもよいし、持たせなくてもよい。ここに、方向性を持たせる態様の場合、コントローラ19をある(あるいは特定の)一方方向にひねると、カーソル80が縮小し、かつ打撃力が増大するようにし、その状況で逆方向(あるいは前記特定方向の反対方向)にひねり返すと、現状の拡大されたカーソル80のサイズ及び増強された打撃力の状態から、漸次、カーソル80が基準サイズに向けて縮小変化し、かつ打撃力も元の「パワー」パラメータの値に向けて減少するというように双方向設定を可能としてもよい。
結果処理部115は、打撃後の一連の処理である打撃結果の算出処理を実行する。打撃結果処理のひとつは、ボールオブジェクト72にバットオブジェクト74が当たったかどうかの判定、及び当たった場合に、いずれもパラメータで設定されるボールオブジェクト72の球速とバットオブジェクト74のスイング速度とに基づいて、ボールオブジェクト72の打球速さ、打球方向を例えば力学的に算出する処理である。ボールオブジェクト72にバットオブジェクト74が当たったかどうかの判定は、打撃指示のタイミングの他、打撃範囲として指定されたマス目、及び表示色の変更された範囲乃至はマス目、さらにカーソルの拡縮に対応して設定された打撃範囲と指定された投球位置を含むマス目とが一致しているかどうかである。なお、バットオブジェクト74のスイング軌道は、例えば打者オブジェクト73の打席位置の垂直軸の所定高さ位置から打撃指定位置を含む面上での回転と仮定して処理すればよい。複数のマス目61が打撃範囲として設定されている場合、指定された各マス目についてはバットオブジェクト74が回転運動によって通過するタイミングでボールオブジェクト72との打撃計算を行うようにすればよい。また、この一致判定は、投球指定位置に対する変動要因、例えばパラメータ、乱数による変動確率、また「ひねり」投球の有無も含めた軌道計算の結果に基づいて行われる。結果処理部115は、一致していると判断されると、ボールオブジェクト72にバットオブジェクト74が少なくとも当たったと判断する。それ以外の場合には、空振り、あるいは見逃しとして処理される。
結果処理部115は、指定された投球マス目に対して、ボールオブジェクト72にバットオブジェクト74が当たったか否かを判断し、当たったと判断した場合、打球速さを、打撃指定時のカーソル80の位置(ポイント)と指定された投球位置(ポイント)との距離差に応じて所定比率で減少させるように算出するようにしてもよいが、本実施形態は、打撃範囲として設定された領域内では一律に計算するようにして、打撃側のコントローラ19に対する操作性を多少容易とし、これにより攻撃側と守備側との操作の難度のバランスを図っている。
また、打球速さは、本実施形態では、ボールオブジェクト72が棒状のバットオブジェクト74に直角に当たったか、真芯からのずれ量、及び選手パラメータである「ミート」、「パワー」その他の各パラメータを反映して算出される。打球方向は、本実施形態では、上下方向には、真芯からのずれ量が反映され、左右方向には、振り遅れや振り急ぎが反映されて算出される。この結果、「1塁側へのゴロ」になったり、「レフトオーバーの長打」になったりする。安打になるかどうかは、打球の強さ、方向に加えて、野手の守備位置、さらに選手パラメータの「守備力」パラメータ等が反映されて処理される。
結果処理部115による打撃結果処理としては、さらに、打撃に伴う、守備側の各選手キャラクタの動き(捕球、返球等)、及び走者がいる場合の走塁処理を野球のルールに従って実行させ、かつ画像表示制御部103に演出表示を指示する処理を行う。
また、打撃範囲指定部110、打撃指示部111及び特別打撃設定部114に関しては、CPU1内の乱数発生部を用いて、打撃動作の指示毎に乱数を発生させ、バットオブジェクト74のスイング軌道、スイング速さ及び打撃タイミングの少なくとも一つを、発生した乱数に応じて微小範囲内で変化させるようにしている。これにより、投球の場合と同様に、同一設定状態であっても打撃結果が常に同じにならないようにして、単純とならず、飽きの来ないゲームを提供し得るようにしている。
続いて、CPU1がゲームプログラムに基づいて実行するゲーム処理について、フローチャートを用いて説明する。図22は、ゲームの全体処理を示すフローチャートである。まず、ステップS1において、CPU1は、ゲーム開始のための初期設定を行う。例えば両プレイヤによって選出された対戦チーム及びその選手リストのモニタ21への表示等である。次いで、ゲーム空間の画像、各キャラクタ、各オブジェクト等の画像データが読み出されてモニタ21に表示される(ステップS3)。
この状態で、シーケンスが開始され(ステップS5)、次いで対戦処理が実行されて(ステップS7)、結果処理の終了を受けて、1シーケンスの終了処理が行われる(ステップS9)。そして、このシーケンスの結果が三振であったか否かが判定され(ステップS11)、三振でなければ、次の投球に対するシーケンスを実行するべく、ステップS5に戻る。一方、三振であれば、3アウトか否かが判断され(ステップS13)、3アウトでなければ、次の打順の打者キャラクタが設定されて(ステップS15)、次シーケンスに移行する(ステップS5)。一方、ステップS13で、3アウトであれば、ゲームセットか否かが判断され(ステップS17)。ゲームセットでなければ、攻守の入れ替え処理が実行され(ステップS19)、一方、ゲームセットであれば、ゲーム終了処理が実行される(ステップS21)。
図23は、CPU1がゲームプログラムに基づいて実行する対戦処理のフローチャートである。まず、コントローラ19からの操作信号の入力の有無がチェックされる。すなわち、球種指定信号が入力されたか否か(ステップS31)、投球位置指定信号が入力されたか否か(ステップS35)、打撃位置指定信号が入力されたか否か(ステップS39)、投球指示信号が入力されたか否か(ステップS43)、及び打撃指示信号が入力されたか否か(ステップS49)が判断される。
球種指定信号が入力されたと判断されると、球種の設定が行われ(ステップS33)、投球位置指定信号が入力されたと判断されると、投球位置の設定が行われ(ステップS37)、打撃位置指定信号が入力されたと判断されると、打撃範囲の設定が行われる(ステップS41)。また、投球指示信号が入力されたと判断されると、既に投球指示があったか否かが判断され(ステップS45)、この判断が否定されると、投手キャラクタ71に投球動作を行わせると共に、(球種、投球位置の両方が確定している場合)ボールオブジェクト72の軌道計算が開始される(ステップS47)。一方、既に投球指示が行われている場合には、ステップS47はスキップされ、球種、投球位置の両方が確定した時点から、それまでの一般的な軌道を引き継いで、確定内容に対応させるべく軌道計算が開始される(ステップS48)。また、ステップS43で投球指示がないと判断されると、ステップS31に戻る。
次いで、ステップS49で打撃指示信号が入力されていないと判断されると、ボールオブジェクト72がホームベース上を通過したか否かが判断され(ステップS51)、否定されれば(ステップS49)、ステプS31に戻る。逆に、ボールオブジェクト72がホームベース上を通過したと判断されると、見送りとして処理されて(ステップS53)、リターンする。
一方、ステップS49で打撃指示信号が入力されたと判断されると、打撃キャラクタ72に打撃指示、すなわちバットオブジェクト74をスイングする処理が実行される(ステップS55)。次いで、スイング結果が当たりか否かが判断され(ステップS57)、当たりでないと判断されると、空振りとして処理されて(ステップS59)、リターンする。一方、当たりと判断されると、打撃結果処理が実行されて(ステップS61)、リターンする。そして、図20に示す1シーケンス終了処理(ステップS9)において、見送り処理(ステップS53)、空振り処理(ステップS59)、及び打撃結果処理(安打か否かの判断含む)(ステップS61)の結果から、ストライクカウント、ボールカウント、アウトカウント処理が実行される。見送り処理の場合、ボールオブジェクト72がボールかストライクかは、球種、投球位置から算出される起動計算の結果から自動的に決まる。
なお、投球指示(ステップS43でYES)については、球種指定を条件としてもよく、さらに投球位置指示を条件としてもよい。
図24は、図22の対戦処理中で打席移動が指示された場合に、CPU1がゲームプログラムに基づいて実行する「打席移動」処理のフローチャートである。まず、攻撃側のコントローラ19の十字キー195からの打席移動指示信号が入力されたか否かが判断され(ステップS101)、次いで、入力信号が前方、後方、左方、右方への移動指示の内のいずれの信号かが判断される(ステップS103,107,111,115)。前方への移動指示信号の場合、カーソル80を含めて画面全体が拡大表示される(ステップS105)。後方への移動指示信号の場合、カーソル80も含めて元のサイズの画面に戻されて表示される(ステップS109)。左方への移動指示信号の場合、打者キャラクタ73がホームベース(枠オブジェクト60)から離れる方向に所定距離だけ移動して表示される。かつ、カーソル80が枠オブジェクト60内で左半部に移動されたときは、カーソル80が拡大表示(図20(c)、カーソル801)され、かつ作用範囲が拡大され、右半部に移動されたときは、カーソルが縮小表示(図20(c)、カーソル802)され、かつ作用範囲が縮小される(ステップS113)。また、右方への移動指示信号の場合、打者キャラクタ73がホームベース(枠オブジェクト60)に近づく方向に所定距離だけ移動して表示される。かつ、カーソル80が枠オブジェクト60内で右半部に移動されたときは、カーソル80が拡大表示(図20(b)、カーソル801)され、かつ作用範囲が拡大され、左半部に移動されたときは、カーソルが縮小表示(図20(b)、カーソル802)され、かつ作用範囲が縮小される(ステップS117)。
図25は、図22の対戦処理中に、CPU1がゲームプログラムに基づいて実行する「読みによる作用範囲拡大」処理のフローチャートである。まず、シーケンスが開始されると、タイマが初期リセットされ(ステップS201)、次いで、攻撃側のコントローラ19のジョイスティック194の操作信号が検出され(ステップS203)、前回検出内容との差の有無が検出される(ステップS205)。前回検出内容と差があれば、タイマがクリアされ(ステップS207)、さらに、カーソルのサイズが拡大された状態でなければ(ステップS209でNO)、ステップS211をスキップする。次いで、打撃指示信号が入力されたか否かが判断され(ステップS213)、打撃指示信号が入力されなければ、ステップS203に戻って、同様の処理が繰り返され、一方、打撃指示信号が入力されたのであれば、本フローを終了する。
一方、ステップS205で前回検出内容と差がなければ、タイマが所定時間に達したか否かが判断され(ステップS215)、所定時間に達していなければ、ステップS203に戻り、所定時間に達していれば、カーソル80が所定サイズで拡大表示され、かつ打撃範囲が拡大される(ステップS217)。また、ステップS217でカーソル80が拡大表示された状態で、打撃指示が行われる前(ステップS213でNO)では、ステップS203に戻る。そして、ステップS205で、前回検出時とデータ変化ありと判断されると、すなわちカーソル80が動かされたと判断されると、タイマはクリアされ(ステップS207)、さらに、カーソルのサイズが拡大さわれた状態であると(ステップS209でYES)、カーソルは元のサイズに設定、すなわち元のサイズに戻されることになる(ステップS211)。従って、少なくとも所定時間集中したり、あるいは集中が途中で切れたりすることに応じてカーソルが大きくなったり、縮小してしまったりという両方向への動きがあることで、対戦における面白さと緊張感とを有するゲームが提供可能となる。なお、上記例では、カーソル80を拡大表示後に動かしたときには直ちに元のサイズに戻ることとしたが、カーソル80の変化量または変化時間に応じて縮小量を変えるようにしてもよい。その場合、縮小される最小のサイズは元のサイズが限界であり、それより縮小されることはない。
図26は、図22の対戦処理中に、CPU1がゲームプログラムに基づいて実行する「ひねり付加」処理のフローチャートである。攻撃側のコントローラ19の加速度センサ192の検出信号が取得部101により周期的に取得されており(ステップS301)、CPU1によって、コントローラ19の軸周りの回転量が算出される(ステップS303)。次いで、算出された回転量とひねり判定用の閾値とが比較され(ステップS305)、算出された回転量が閾値以下であれば、ひねり無しと判断され、通常の設定内容(ステップS307)で、本フローを終了する。一方、算出された回転量が閾値を超えている場合、ひねり有りと判断され、カーソル80が縮小されて表示され、かつ打者キャラクタの「パワー」パラメータがアップされて(ステップS309)、本フローを終了する。なお、ステップS305で、一旦、ひねり有りと判断された後、打撃指示までの間に、コントローラ19への動きによって、ひねりが元に戻された場合、ステップS305でひねり無しと再判断されて、ステップS307へ移行する態様もあり得る。
図27は、図22に示すステップS3〜S7の処理中に、CPU1がゲームプログラムに基づいて実行する画面切換処理を示すフローチャートである。先ず、シーケンス開始(ステップS5)を受けて、モニタ21に投手基準の画面の表示が行われる(ステップS401)。次いで、投手側のプレイヤが操作するコントローラ19のボタン193から投球開始指示信号の入力があったか否かが判断される(ステップS403)。投球開始指示信号の入力がなければ、本フローを終了し、投球開始指示信号の入力があれば、投手基準の画面から打者基準の画面へ表示が切り換えられる(ステップS405)。この結果、打者基準の画面において、投手キャラクタ71による投球モーションの演出表示が開始される。
図28は、図22の対戦処理中に、CPU1がゲームプログラムに基づいて実行する「ひねり」投球処理I(投手基準画面で)のフローチャートである。先ず、守備側のコントローラ19の加速度センサ192の検出信号が取得部101により周期的に取得されており(ステップS501)、CPU1によって、コントローラ19の軸周りの回転量が算出される(ステップS503)。次いで、算出された回転量とひねり判定用の閾値とが比較され(ステップS505)、算出された回転量が閾値以下であれば、ひねり無しと判断され、モニタ21の画面にカーソル81の表示が行われて(ステップS507)、本フローを終了する。一方、算出された回転量が閾値を超えている場合、ひねり有りと判断され、モニタ21の画面にカーソル81aの表示が行われ(ステップS509)、さらに、特別投球内容の設定が行われて(ステップS511)、本フローを終了する。特別投球内容の設定としては、前述した、球速の増大指示、変化量の増大指示、コントロールの低減指示、スタミナの低減指示に関する設定である。なお、ステップS505で、一旦、ひねり有りと判断された後、投球開始指示までの間に、コントローラ19への動きによって、ひねりが元に戻された場合、すなわち、コントローラ19が最初右回転されて板状態から、次いで左方向に回転され、ほぼ元の角度まで戻された場合、回転量はほぼ0となって、ステップS505で、ひねり無しと再判断される結果、ステップS507へ移行する態様もあり得る。ひねりの有無は回転量の絶対量に対して閾値と判断するようにして、右利き、左利きのプレイヤに差なく操作可能にしている。なお、これとは逆に、方向性を持たせてもよい。例えば、右回しで球速が増大するようにし、左回しで球速が減少するように設定してもよい。
図29は、図28の処理を受けて、CPU1がゲームプログラムに基づいて実行する「ひねり」投球処理II(打者基準画面で)のフローチャートである。まず、ひねり投球有りか否かが判断され(ステップS601)、ひねり投球でないと判断された場合、モニタ21の画面にカーソル80の表示が行われて(ステップS603)、本フローを終了する。一方、ひねり投球であると判断された場合、モニタ21の画面にカーソル80aの表示が行われて(ステップS605)、本フローを終了する。
なお、本発明は、以下の態様が採用可能である。
(1)本発明は、野球ゲームに限定されず、移動体オブジェクトを介して対戦ゲームが行われるゲームであって、移動体オブジェクトに対して作用を与えることでゲームが進行するような対戦ゲーム全般に適用可能である。例えば、サッカーのPK合戦、テニス等である。
(2)本実施形態では、特別投球として、コントローラ19の動きのうち、「ひねり」で説明したが、本発明は、「ひねり」に限定されず、加速度センサ192が検出可能な動きであれば、特に動作は限定されない。例えば、スローイングを真似た動きであってもよいし、前方へ押し出す(または突く)ような動きであってもよい。そして、逆方向の動きで特別投球の内容を調整するようにすればよい。
(3)各プレイヤが把持するコントローラとしては、全ての操作部などを備えた一体構成でもよいが、操作部を2つに分け、それらを別々のコントローラ部に割り振って2つのコントローラ部で構成した態様であってもよい。例えば、一方のコントローラ部がジョイスティック194のみを備える構成であってもよい。このようにすれば、片手で全ての指示操作を強いられることがなくなる分、操作の容易性が図れる。
(4)本実施形態では、打撃範囲の指定の確定を、打撃タイミングの指示を行うボタン193の押下で兼用して操作性の向上を図ったが、別々の操作部材で操作する態様としてもよい。
(5)本実施形態では、枠オブジェクトを分割した各区分体はマス目で区切られた正方形の区分体であるが、正方形以外に六角形や菱形、長方形、あるいはそれらの組合せであってもよい。但し、遊技のし易さや画面の見易さを鑑みると、同一形状の区分体に分割するのが望ましい。