以下、本発明の一実施の形態に係るゲーム装置、ゲームシステム、ゲーム制御方法及びプログラムについて、図面を参照しながら説明する。
〔ゲーム装置の構成〕
本発明の一実施の形態に係るゲーム装置は、ゲームプログラムを実行可能な情報処理装置であれば様々なものを適用できる。例えば、ゲーム装置としては、据置型または携帯型のゲーム専用機、パーソナルコンピュータ(以下「PC」と呼称する)、タブレット型コンピュータ、スマートフォン、携帯電話端末、PHS(Personal Handy-phone System)端末、携帯情報端末(PDA:Personal Digital Assistant)、情報処理機能を備えた多機能型テレビジョン受像機(いわゆるスマートテレビ)等が適用できる。
図1は、ゲーム装置100の構成例を示すブロック図である。本実施の形態では、ゲーム装置100の一例として、家庭用のテレビジョン200に接続して使用する家庭用ビデオゲーム機について説明する。ゲーム装置100には、ゲームプログラムが記録されたコンピュータ読み出し可能な記録媒体300が装填され、当該記録媒体300よりゲームプログラムが適宜読み出されてゲームが実行される。あるいは、メモリ18に記憶されているゲームプログラムが読み出されて、ゲームが実行される。
ゲーム装置100は、CPU(Central Processing Unit)1、バスライン2、グラフィックスデータ生成プロセッサ3、インターフェース回路(I/F)4、RAM(Random Access Memory)5、ROM(Read Only Memory)6、伸張回路7、パラレルポート8、シリアルポート9、描画プロセッサ10、音声プロセッサ11、デコーダ12、インターフェース回路(I/F)13、バッファ14〜16、記録媒体ドライブ17、メモリ18、及びコントローラ19を備えている。このゲーム装置100が接続されるテレビジョン200は、テレビジョンモニタ21、増幅回路22及びスピーカ23を備えている。
CPU1は、バスライン2及びグラフィックスデータ生成プロセッサ3に接続されている。バスライン2は、アドレスバス、データバス及びコントロールバス等を含んでいる。このバスライン2を介して、CPU1、インターフェース回路4、RAM5、ROM6、伸張回路7、パラレルポート8、シリアルポート9、描画プロセッサ10、音声プロセッサ11、デコーダ12、インターフェース回路13および通信制御部20が相互に接続されている。
描画プロセッサ10は、バッファ14及びテレビジョンモニタ21に接続されている。音声プロセッサ11は、バッファ15及びテレビジョン200の増幅回路22に接続されている。デコーダ12は、バッファ16及び記録媒体ドライブ17に接続されている。インターフェース回路13は、メモリ18及びコントローラ19に接続されている。
なお、ゲーム装置100がパーソナルコンピュータやワークステーションとして構成される場合、テレビジョンモニタ21等は、コンピュータ用のディスプレイに対応する。また、伸張回路7、描画プロセッサ10、及び音声プロセッサ11等は、それぞれ記録媒体300に記録されているゲーム制御プログラムのデータの一部又はコンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、インターフェース回路4、パラレルポート8、シリアルポート9及びインターフェース回路13は、コンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、バッファ14〜16は、それぞれRAM5又は拡張メモリの各記憶エリアに対応する。
前記グラフィックスデータ生成プロセッサ3は、CPU1のいわばコプロセッサとしての役割を果たすものであり、座標変換や光源計算、例えば固定小数点形式の行列やベクトルの演算を、並列処理によって行う。このグラフィックスデータ生成プロセッサ3が行う主な処理としては、CPU1から供給される画像データの2次元又は3次元空間内における各頂点の座標データ、移動量データ、及び回転量データ等に基づいて、所定の表示エリア上における処理対象画像のアドレスデータを求めてCPU1に返す処理、仮想的に設定された光源からの距離に応じて画像の輝度を計算する処理等がある。
インターフェース回路4は、周辺デバイス、例えばマウスやトラックボール等のポインティングデバイス等のインターフェース用に用いられる。RAM5は、メインメモリとして用いられる。ROM6にはゲーム装置100のオペレーティングシステムとなるプログラムデータ等が記憶されている。
伸張回路7は、動画に対するMPEG(Moving Picture Experts Group)規格や静止画に対するJPEG(Joint Photographic Experts Group)規格に準拠したイントラ符号化によって圧縮された圧縮画像に対し、伸張処理を施す。この伸張処理は、デコード処理(Variable Length Codeによってエンコードされたデータのデコード)、逆量子化処理、IDCT(Inverse Discrete Cosine Transform)処理、イントラ画像の復元処理等を含む。
描画プロセッサ10は、所定時間(例えば、1フレーム期間である1/60秒)ごとにCPU1が発行する描画命令に基づいて、バッファ14に対する描画処理を行う。バッファ14は、例えばRAMで構成され、表示エリア(フレームバッファ)と非表示エリアとに分けられる。表示エリアは、テレビジョンモニタ21の表示面上に表示する画像データの展開エリアで構成される。非表示エリアは、スケルトンを定義するデータ、ポリゴンを定義するモデルデータ、モデルに動きを行わせるアニメーションデータ、各アニメーションの内容を示すパターンデータ、テクスチャデータ及びカラーパレットデータ等の記憶エリアで構成される。ここで、テクスチャデータは2次元の画像データであり、カラーパレットデータはテクスチャデータ等の色を指定するためのデータである。CPU1は、これらのデータを記録媒体300から一度に又はゲームの進行状況に応じて複数回に分けて読み出して、予めバッファ14の非表示エリアに記録する。
音声プロセッサ11は、記録媒体300から読み出されたADPCM(Adaptive Differential Pulse Code Modulation)データを音源としてバッファ15に記憶させる。この音声プロセッサ11は、例えば、周波数44.1kHzのクロック信号に基づいてバッファ15からADPCMデータを読み出し、当該ADPCMデータに対してピッチ変換、ノイズ付加、エンベロープ設定、レベル設定及びリバーブ付加等の処理を施す。音声プロセッサ11で処理された音声データは、増幅回路22を介してスピーカ23から出力される。
記録媒体ドライブ17としては、例えば、DVD−ROMドライブ、CD−ROMドライブ、ハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等が用いられる。この場合、記録媒体300としては、DVD−ROM、CD−ROM、ハードディスク、光ディスク、フレキシブルディスク、半導体メモリ等が用いられる。記録媒体ドライブ17は、記録媒体300から画像データ、音声データ及びプログラムデータを読み出し、読み出したデータをデコーダ12に供給する。デコーダ12は、記録媒体ドライブ17で読み出されたデータに対してECC(Error Correction Code)によるエラー訂正処理を施し、当該処理後のデータをRAM5又は音声プロセッサ11に供給する。
メモリ18は、補助記憶装置であり、例えばゲームが中断された場合において、中断時点でのゲーム状態を保持するために各種ゲームパラメータ等を記憶する不揮発性の記憶領域を有する。また、メモリ18は、ゲームプログラムや各種データを記憶することができる。このメモリ18としては、例えばカード型メモリ、ハードディスク、半導体メモリ等を用いることができる。
コントローラ19は、操作者であるユーザが種々の操作指令を入力するために使用する操作装置であり、ユーザの操作に応じた操作信号を、インターフェース回路13を介してCPU1に送出する。このコントローラ19は、例えば、アナログスティック、方向キー、確定ボタン等を供えている。このコントローラ19は、照準カーソル503の移動、打者キャラクタ501による打撃等を実行させるコマンドを、CPU1に与えるために使用される。
次に、上記のゲーム装置100の概略動作について説明する。ゲーム装置100に電源が投入されると、ROM6に記憶されているオペレーティングシステムに基づいて、記録媒体300からゲームプログラムを読み出すように、CPU1は記録媒体ドライブ17に指示する。記録媒体ドライブ17が記録媒体300から読み出した画像データ、音声データ及びプログラムデータは、デコーダ12に供給されてエラー訂正処理が施される。
エラー訂正処理が施された画像データは、バスライン2を介して伸張回路7に供給されて上述した伸張処理が施される。その後、画像データは描画プロセッサ10に供給され、当該描画プロセッサ10によってバッファ14の非表示エリアに書き込まれる。また、デコーダ12によってエラー訂正処理が施された音声データは、RAM5又は音声プロセッサ11を介してバッファ15に書き込まれる。また、デコーダ12によってエラー訂正処理が施されたプログラムデータはRAM5に書き込まれる。
以降、CPU1は、RAM5に記憶されているゲーム制御プログラム及びユーザがコントローラ19を用いて指示する内容に基づいて、選手カード交換処理やゲーム進行処理を行う。すなわち、CPU1は、ユーザがコントローラ19を用いて指示する内容に基づいて、画像処理の制御、音声処理の制御及び内部処理の制御等を適宜行う。
また、ゲーム装置100は、通信インターフェースを含む通信制御部20を備えており、無線LAN通信、インターネット通信、距離無線通信または有線通信などにより他のゲーム装置100と接続し、両者間で同期をとりながらデータのやり取りを行うことによって、通信対戦型のゲームを実行することも可能である。
図2または図3に示すように、二人のユーザが通信対戦する形態では、二人のユーザがそれぞれ操作する2台のゲーム装置100がネットワーク600を介して通信可能に接続される。ネットワーク600としては、インターネット、公衆回線(電話回線、移動体通信回線等)、有線LAN(Local Area Network)、無線LAN、Bluetooth(登録商標)、UWB(Ultra Wide Band)等であってもよく、或いはこれらを組み合せたものであってもよい。
ネットワーク600を介した通信対戦の方式としては、図2に例示するように、複数のゲーム装置100間で直接通信して対戦する、いわゆるP2P(Peer to Peer)方式が適用できる。また、複数のゲーム装置100が直接無線通信を行うアドホックモードでの無線通信対戦や通信ケーブルを介した有線通信対戦も可能であり、これらはP2P方式に含まれる。通信対戦では、例えばP2P通信により2台のゲーム装置100が互いに同期をとりながら共通の仮想ゲーム空間を構築し、ゲームを進行する。
また、ネットワーク600を介した通信対戦の方式としては、図3に示すように、クライアントとしての複数のゲーム装置100がサーバ装置400を介して対戦する、いわゆるクライアント/サーバ方式も適用できる。例えば、野球ゲームの場合、投手キャラクタから送出されたボールを、打者キャラクタが打ち返す対戦を、2台のゲーム装置100間で通信しながら実行するに際し、サーバ装置400を介して通信する形態であってもよい。
なお、本ゲームには、ユーザが他のユーザと通信対戦するゲームモード以外にも、ユーザがコンピュータと対戦するゲームモード(いわゆるCPU対戦モード)もある。以下には、主に、通信対戦のゲームモードを例に挙げて、ゲームの一例を説明する。
〔ゲームの一例〕
本実施の形態のゲーム装置が制御するゲームは、移動体に対して作用を与えるゲームである。移動体の一例としては、スポーツシミュレーションゲームにおけるボールオブジェクト(以下、単に「ボール」と称する)が挙げられる。移動体の他の例としては、アクションゲームにおける戦闘機やミサイル等が挙げられる他、スポーツやアクションに関係のない抽象的なオブジェクト等でもよい。また、作用の一例としては、移動体を打ち返す、回転を加える、捕捉する、破壊する等がある。このゲームの一例としては、第1ユーザによって操作される第1キャラクタが、第2ユーザによって操作される(またはCPUにより自動制御される)第2キャラクタから送出される移動体に対して作用を与えるゲームがある。例えば、第1キャラクタの一例としての打者キャラクタが、第2キャラクタの一例としての投手キャラクタから送出された、移動体の一例としてのボールの到達点に、照準カーソル、指、ペン等を合せて、作用の一例としての打撃を行う野球またはソフトボールゲームが挙げられる。
本実施の形態のゲーム装置100は、野球ゲームやソフトボールゲームに限らず、サッカー、テニス、戦闘シミュレーション等、移動体に対して何らかの作用を与える様々なゲームにも適用できるが、以下には、野球ゲームへの適用例を説明する。
図2または図3に示すように、二人のユーザがネットワーク600を介して通信対戦する形態では、2台のゲーム装置100にそれぞれ接続されたテレビジョン200のテレビジョンモニタ21に、図4に例示する画面と図5に例示する画面とがそれぞれ表示される。すなわち、打者キャラクタ501を操作する側のゲーム装置100のテレビジョンモニタ21には、図5の画面が表示され、投手キャラクタ502を操作する側のゲーム装置100のテレビジョンモニタ21には、図4のゲーム画面が表示される。
図4は、投手キャラクタ502が打者キャラクタ501に対して投球した直後の状態を示している。同図は、投手側から打者側を見た状態の画像を示しており、投手キャラクタ502を操作する第2ユーザは、投打の対戦時にはこの画面を見ながらゲームを行なう。投手側の第2ユーザは投球前に球種および投球コースを選択できる。例えば、画面には球種選択用アイコン511が表示され、第2ユーザは、この球種選択用アイコン511を見ながらコントローラ19(アナログスティックまたは方向キー等)を操作して球種を選択し、決定ボタンを押すことで球種の選択を確定する。
図4に示す球種選択用アイコン511の例では、中央部から周囲に向かって6本のラインa、b、c、d、e、fが延びており、6種類の球種から1つを選択可能である。例えば、aが「ストレート」、bが「シュート」、cが「シンカー」、dが「フォーク」、eが「カーブ」、fが「スライダー」である。なお、図4の例では、6種類の球種が選択可能であるが、選択可能な球種は投手キャラクタ502毎に異なっており、例えば2種類〜5種類の球種しか選択できない場合もある。第2ユーザの操作によって選択された球種は、球種選択用アイコン511の上部に表示される。
上記のようにして球種が決定されると、投手キャラクタ502が投球モーションに入る。例えば、その後、投手キャラクタ502がボールをリリースするまでの間に、第2ユーザは投球コースを指定することができる。画面には、ストライクゾーン504および投球コースを指定するためのコース指定カーソル512が表示される。例えば、第2ユーザは、コントローラ19(アナログスティックまたは方向キー等)を操作してコース指定カーソル512を移動させ、投球コースを指定できる。
なお、画面一体型等のゲーム装置100において、画面がタッチパネルになっている場合には、第2ユーザが指またはスタイラスペン等で画面に接触することにより、接触位置を投球コースとして指定できるようにしてもよい。
上記のようにして投球コースを指定した後は、第2ユーザがコントローラ19の投球開始ボタンを押すことにより、又は自動的に、投手キャラクタ502が投球を開始し、ボールをリリースする。なお、図4では、便宜上、ストライクゾーン504、球種選択用アイコン511、コース指定カーソル512を表示しているが、例えばボールのリリース後はこれらの表示を消去してもよい。
なお、第1ユーザがCPU対戦モードで打撃を行う場合には、ゲーム装置100のCPU1が、自動的に、球種や投球コース等のボールの移動パラメータを決定する。
ゲーム装置100は、第2ユーザによって選択された球種および投球コースに基づいて、投手キャラクタ502からリリースされたボールの軌道を算出し、ボールをホームベース方向へと移動させる。なお、ゲーム装置100は、球種および投球コースだけではなく、投手キャラクタ502の能力パラメータ(球速、コントロール、変化レベル等)に基づいて、投手キャラクタ502からリリースされたボールの軌道を算出してもよい。ボールの軌道の算出については、既知のアルゴリズムを適用できる。
なお、上記では投手側の第2ユーザが球種および投球コースを選択する例を示したが、投球コースのみを選択することにより、投手キャラクタ502が投球を開始するような、より簡易的な野球ゲームとすることもできる。
ところで、打者キャラクタ501を操作する第1ユーザには、投手側のゲーム装置100の画面(図4の画面)は見えないので、相手がどの球種や投球コースを選択したのかは分からない。また、CPU対戦モードの場合も、第1ユーザには、ゲーム装置100のCPU1によって、どの球種や投球コースが自動選択されたかは分からない。
一方、打者キャラクタ501を操作する第1ユーザは、図5に例示する画面を見ながらゲームを行なう。同図は、打者側から投手側を見た状態の投球前の画像を示しており、打者キャラクタ501を操作する第1ユーザは、投打の対戦時にはこの画面を見ながらゲームを行なう。このゲーム画面には、第1ユーザによって操作される打者キャラクタ501、対戦相手の投手キャラクタ502、照準カーソル503、ストライクゾーン504、バットオブジェクト505、ホームベース508等が表示される。
野球ゲームでは、照準カーソル503は、バットカーソルとも称され、打者キャラクタ501がボールを打撃可能な領域(すなわち、バットに当たる領域)となる。第1ユーザが照準カーソル503を移動させる操作を行うことにより、バットオブジェクト505のスイングの位置を調整できる。例えば、アナログスティックを有するコントローラ19の場合、アナログスティックを任意の方向に倒す操作を行うことにより、ホームベース508の上方に表示される照準カーソル503を、任意の位置に移動させることができる。
第1ユーザがバットスイング操作(例えば、コントローラ19の所定のボタンを押す操作)を行った場合、バットオブジェクト505は、ストライクゾーン504を含む作用領域において、照準カーソル503の位置を通過するようにスイングされる。また、照準カーソル503の内部には、ボールを効果的に打撃可能な領域であるミートカーソル503aも併せて表示される。このミートカーソル503aは、バットの重心付近にある、所謂、スイートスポットを含む所定領域を表すものである。なお、画面上のカーソル表示に関しては、照準カーソル503を表示せず、ミートカーソル503aのみを表示してもよい。
本野球ゲームでは、第1ユーザが、ボールの移動パラメータである投球コースを、投手キャラクタ502の投球前に予想することができる。第1ユーザによる予想は任意であり、第1ユーザが投球コースを予想したい場合にだけ、所定の予想操作を行えばよい。先ずは、第1ユーザにより、投球コースの予想が行われない場合について、以下に説明する。
図6は、投球後における打者側の第1ユーザのゲーム画面の一例を示している。投手キャラクタ502がボール506を投球した直後から、または投球から所定時間が経過した後から、図6に例示するように、ホームベース508の上方の作用領域に、ボール506が到達する予定位置を示す到達点領域507が表示される。ここで、作用領域とは、移動体としてのボール506に作用を与えることができる領域であり、野球ゲームでは、ストライクゾーン504及びその周辺のボールゾーンを含む打撃可能な領域である。また、到達点領域507は、例えば、野球ゲームでは着弾点や打撃ポイント等、任意の呼称としてもよい。
照準カーソル503、ミートカーソル503a、ストライクゾーン504および到達点領域507は、何れも作用領域に表示されると共に、移動するボール506の表示を遮ることがないように、半透明表示となっている。
また、ストライクゾーン504については、投手キャラクタ502が投球動作を開始した後、または投手キャラクタ502がボール506を送出した後に、消去されるようにしてもよい。これは、投球中において、ストライクゾーン504と重畳表示される他のオブジェクトを見え易くするためである。
上述のように、投球直後から、または投球から所定時間が経過した後から、到達点領域507がホームベース508の上方の作用領域に表示されるが、このタイミングでは、到達点領域507は、必ずしも作用領域上の最終的な到達位置を示すものではない。すなわち、到達点領域507は、ボール506の移動に応じて徐々に移動し、ボール506がホームベース508上方を通過するタイミングで、最終的な到達位置に達する。前述のように、到達点領域507は半透明であるため、投球されたボール506が到達点領域507に重なったときに、ボール506自体が見えなくなるということはない。
図7には、一例として、左投げの投手キャラクタ502がスライダー(または、右投げの投手キャラクタ502がシュート)を投球した場合のボール506の移動に伴って、到達点領域507が移動する状態を示している。なお、図7では、ボール506と到達点領域507の表示及び挙動を説明するため、それ以外の画像は省略している。
ゲーム空間を移動するボール506の位置は、ホームベース508の上方の作用領域(作用面)上に投影され、到達点領域507として表示される。特に、変化球の場合、ボール506の進行方向(z軸方向)に対して垂直な平面(xy平面)上において、水平方向および/または垂直方向にボール506の座標位置が変化するので、このボール506の位置変化が、作用領域における到達点領域507の位置変化として反映(投影)される。なお、直球の場合、ボール506の移動に伴う到達点領域507の位置変化はない、または重力により垂直方向に若干落ちる分の位置変化にとどまる。
第1ユーザは、到達点領域507の移動の方向や速度に注意することで、ホームベース508上の最終的な到達位置を予想することができる。従って、第1ユーザは、到達点領域507の移動に合わせて、或いは予想される到達点領域507の最終位置近傍に、照準カーソル503を移動させて、到達点領域507に照準カーソル503(特に、ミートカーソル503a)を重ね合わせる操作を行う。また、最終的にボール506が到達点領域507に到着したタイミングを見計らって、バットスイング操作を行う(例えば、バットスイングするためのコントローラ19の所定の操作ボタンを押す)。従って、ボール506にバットオブジェクト505が当たる(打撃する)ためには、以下の(a)、(b)の条件が必要となる。
(a)ボール506がホームベース508の上方の作用領域に到達する時点における到達点領域507に、照準カーソル503が重なっている。
(b)ボール506が作用領域またはその近傍に到達した所定のタイミングで、第1ユーザによって所定のバットスイング操作が行われる。
上記(b)の条件を換言すれば、作用領域上の到達点領域507またはその近傍に、ボール506が到達した(到達点領域507とボール506が略重なった)タイミングで、バットスイング操作が行われることである。ここで、所定のタイミングとは、ボール506がホームベース508上方の作用領域の近傍を通過する所定の打撃可能時間帯(例えば、4フレーム期間)とすることができる。なお、1フレーム期間とは、例えば1/60秒である。
上記(a)の条件に関し、到達点領域507と照準カーソル503とが離間していると、バットスイングしても、到達点以外の箇所でバットオブジェクト505をスイングすることになるので、空振りとなる。また、上記(b)の条件に関し、現実の野球の打撃と同様、バットスイングのタイミングが上記所定のタイミングから外れて、早過ぎたり遅すぎたりすると、空振りとなる。
なお、上記(a)および(b)の両条件を満たさなければ打撃できないようなゲーム仕様の他に、上記(a)の条件のみを満たしていれば、打撃できるようなゲーム仕様とすることもできる。
照準カーソル503は、作用領域内でボール506に作用を与えるための特定領域であり、上記の打撃条件を満たした場合において、照準カーソル503と到達点領域507との位置関係に基づいて、ボール506に対する作用(打撃結果)が決定される。例えば、図8に示すように、到達点領域507の下部領域を、照準カーソル503におけるミートカーソル503aの上部領域で捉えた場合、打球の角度が上がり、打撃結果は飛球(フライまたはライナー)となる。また、例えば図9に示すように、到達点領域507の下部領域を、照準カーソル503におけるミートカーソル503aの下部領域で捉えた場合、打球の角度が下がり、打撃結果はゴロとなる。なお、ミートカーソル503aの中心と到達点領域507の中心との距離が近いほど、より強い打球となり、ヒットやホームランの確率が高まる。
また、例えば図10に示すように、ミートカーソル503aが到達点領域507に重ならなかった場合でも、照準カーソル503のミートカーソル503a以外の領域が到達点領域507に重なっていれば、ボール506を打撃可能である。但し、照準カーソル503のミートカーソル503a以外の領域は、凡打領域であり、ミートカーソル503aの領域よりも弱い打球になる。図10に例示するように、到達点領域507の上部領域を、照準カーソル503のミートカーソル503a以外の下部領域で捉えた場合、打撃結果はゴロの凡打となる。また、図示しないが、到達点領域507の下部領域を、照準カーソル503のミートカーソル503a以外の上部領域で捉えた場合、打撃結果は飛球の凡打となる。
また、例えば、バットスイング操作のタイミングが、打撃可能時間帯の中間付近ならばセンター方向の打撃、それよりも早ければ、所謂、引っ張る打撃、それよりも遅ければ、所謂、流し打ちの打撃となる。このように、打球の方向は、バットスイング操作のタイミングによって決定される。
さらに、ゲーム装置100は、打者キャラクタ501の能力パラメータ(パワー、弾道等)をも考慮して、打ち返されたボール506の軌道を算出してもよい。打撃されたボール506の軌道の算出については、既知のアルゴリズムを適用できる。
次に、第1ユーザにより、投球コースの予想が行われる場合について、説明する。第1ユーザは、投手キャラクタ502からボール506が送出されるまでの所定タイミングまでに、投球コースを事前に予想するための所定の予想操作を任意に行うことができる。例えば、投手キャラクタ502が投球動作に入るまで、予想操作を可能としてもよいし、投球動作に入った後も、投手キャラクタ502からボール506が送出されるまで、予想操作を可能としてもよい。投球動作に入るとは、投手キャラクタ502が振りかぶったり、足を上げたりする動作を開始することを言い、ボール506が送出される前に行われる動作である。
投球コースの予想の一例は、第1ユーザが、インコースまたはアウトコースの何れかを予想するものである。例えば、左右2つのアナログスティックを有するコントローラ19の場合、左側のアナログスティックでミートカーソル503aの移動操作を行う一方、右側のアナログスティックで投球コースの予想操作を行う。例えば、第1ユーザが予想操作用のアナログスティックを左に倒せば、図11に例示するように、ストライクゾーン504を左中右と3等分した左側領域504aの色が変化し、右打者のインコース(左打者のアウトコース)を予想した状態となる。例えば、ストライクゾーン504の色は、コース予想が行われていない状態では、全体的に半透明のグレーであるが、右打者のインコースの予想入力が行われた場合には、ストライクゾーン504の左側領域504aの色が、半透明のオレンジ色等の所定の色に変化する。これは一例であり、色変化以外に、濃度変化、点灯、点滅等により、予想コースに対応する領域の表示状態が変化し、第1ユーザに予想コースの入力状態が報知される。このように、本実施の形態では、ストライクゾーン504を利用して、予想コースの入力状態をユーザに報知するという、直観的で分かり易いユーザインターフェースを実現している。
また、例えば、第1ユーザが予想操作用のアナログスティックを右に倒せば、図12に例示するように、ストライクゾーン504の右側領域504bの色等が変化し、右打者のアウトコース(左打者のインコース)を予想した状態となる。
なお、以下の説明では、便宜上、単に「インコース」または「アウトコース」と言えば、右打者の「インコース」または「アウトコース」を示すものとする。
予想操作が可能な時間内であれば、第1ユーザは、予想入力の取り消し又は変更を何度でも行うことができる。例えば、予想入力を取り消す場合、第1ユーザは、予想操作用のアナログスティックを上または下に倒せば、現在の予想入力がキャンセルされ、予想していない状態になる。また、現在の予想入力、例えばインコースの予想を変更する場合、予想操作用のアナログスティックを右に倒して、新たにアウトコースの予想を行う操作を行えばよい。すなわち、予想操作が可能な時間内に行われた最後の(最新の)予想操作が有効となり、予想操作が可能な時間の終了に伴って、最後の予想操作による予想入力が確定する。予想操作が可能な時間中に予想操作が全く行われない、または最後に行われた操作が予想入力を取り消す操作であった場合、第1ユーザによる予想は行われなかったことになる。
第1ユーザによる予想操作は、コントローラ19のアナログスティックによる操作に限らず、例えば方向キー、その他のボタンを用いた操作であってもよい。また、画面がタッチパネルで構成されているゲーム装置100の場合には、ストライクゾーン504の左側領域504aまたは右側領域504bを、直接、指等でタッチして、コース予想の操作を行ってもよい。この場合、例えば、ストライクゾーン504の真ん中領域を指等でタッチすれば、予想入力の取り消しが可能となる。或いは、タッチパネル上で指等を左方向にスワイプすれば「インコース」、右方向にスワイプすれば「アウトコース」の予想入力ができ、上または下方向にスワイプすれば「予想入力の取り消し」ができるようにしてもよい。これらは予想操作の一例であり、その他の操作を適用してもよい。
なお、第1ユーザと第2ユーザとの対戦において、投手キャラクタ502を操作する第2ユーザは、図11または図12の画面は見えないので、打者側の第1ユーザが投球コースの予想をしたか否か、及びどの投球コースを予想したかについては分からない。
第1ユーザによって投球コースの予想が行われた場合、ゲーム装置100は、その予想結果を判定する。例えば、第1ユーザがアウトコースを予想し、実際のボール506の投球コースがアウトコースの場合には、ユーザの予想は当たったと判定される。一方、第1ユーザがアウトコースを予想し、実際のボール506の投球コースがインコースまたは真ん中コースの場合には、第1ユーザの予想は外れたと判定される。
そして、本実施の形態のゲームでは、第1ユーザによって投球コースの予想が行われた場合、その予想結果に基づいて、ホームベース508上方の作用領域に表示される到達点領域507の表示開始のタイミング、すなわち、投手キャラクタ502によるボール506の送出開始時から到達点領域507の表示開始時までの期間が変化する。
ここで、投手キャラクタ502によるボール506の送出開始時(すなわち、投球されたボール506の移動開始時)から到達点領域507の表示開始時までの期間を、「投球後の遅延期間」または単に「遅延期間」と呼称するものとする。
図13は、第1ユーザの投球コースの予想が当たった場合のゲーム画面の一例、図14および図15は、第1ユーザの投球コースの予想が外れた場合のゲーム画面の一例を示すものであり、それぞれの場合について、到達点領域507の表示開始のタイミングがどのように変化するのかを示している。なお、図13〜図15は、主に、到達点領域507の表示開始のタイミングの変化を説明するための図であるため、打者キャラクタ501等の画像を省略している。
図13および図14は何れも、投手キャラクタ502からボール506が送出された直後の画面例である。例えば、第1ユーザがアウトコースを予想し、実際のボール506の投球コースがアウトコースの場合(ユーザの予想が当たった場合)には、投手キャラクタ502によるボール506の送出開始と同時に、到達点領域507の表示が開始される。この場合、図13に例示するように、投球直後から、遅延なく到達点領域507がアウトコースに表示される。勿論、画面への到達点領域507の表示が開始された後は、ボール506がホームベース508上の作用領域に到達するまで、到達点領域507の表示が継続される。ボール506の球種が変化球の場合は、この到達点領域507の位置も徐々に移動するため、打者キャラクタ501(ユーザ)としては、この到達点領域507の動きに注視し、前述の通り、到達点領域507とボール506が略重なったタイミングを見計らって、バットスイング操作を行うことになる。
一方、第1ユーザがアウトコースを予想し、実際のボール506の投球コースがアウトコースではなかった場合(ユーザの予想が外れた場合)には、図14に例示するように、投球直後には、到達点領域507が画面に表示されない。なお、図14中の点線で示す到達点領域507´は、投球直後のボール506の移動コースから算出された、作用領域上のボール506の到達位置を、説明の便宜上、示したものであり、実際のゲーム画面には点線で示す到達点領域507´は表示されない。そして、ユーザの予想が外れた場合、図15に例示するように、投手キャラクタ502によるボール506の送出開始から所定の遅延期間を経過した後に、到達点領域507の画面への表示が開始される。図15では、ユーザが予想したアウトコースとは異なるインコースに、投球後の遅延期間を経て、到達点領域507が表示された例を示している。この場合も、画面への到達点領域507の表示が開始された後は、ボール506がホームベース508上の作用領域に到達するまで、到達点領域507の表示が継続される。
例えば、投手キャラクタ502からボール506が送出されてからホームベース508上の作用領域に到達するまでの時間が90フレーム(=90/60秒=1.5秒)であった場合、ユーザの予想が外れた場合には、ボール506の送出開始時から20フレーム(=20/60秒)後に、図15の画面の状態になり、到達点領域507の表示が開始される。すなわち、投手キャラクタ502から送出されたボール506が、20フレーム分だけ、ホームベース508の方向に移動してから、初めて到達点領域507が画面に出現する。
これは、第1ユーザのコース予想が外れた場合、ボール506が打者の目線から外れているため、ボール506に対する視認度が低下するので、この状態を、到達点領域507の表示開始の遅延期間を長くすることで、ゲーム上で疑似的に再現したものである。このように、ユーザの予想が外れて、投球後における到達点領域507の表示開始が遅延した場合、打撃操作を行う第1ユーザは、ボール506が最終的にホームベース508上のどこに来るのかを確認するタイミングが遅れる。従って、ユーザの予想が外れた場合、予想が当たった場合よりも、第1ユーザの打撃操作が明確に困難となり、ゲームに緊張感が生まれる。
一方、第1ユーザの予想が的中した場合、図13に例示するように、投球直後から到達点領域507の表示が遅延なく開始されるので、投球直後の早い段階からミートカーソル503aを到達点領域507の位置へと移動させる操作が可能である。これは、ユーザのコース予想が的中すれば、そこに打者の目線があるため、ボール506に対する視認度が向上するので、この状態を、ボール506の移動開始と同時に、到達点領域507の表示を開始することで、ゲーム上で疑似的に再現したものである。よって、第1ユーザの予想が当たった場合、予想が外れた場合よりも打撃操作の難易度が明確に低下する。
また、第1ユーザによる予想が行われなかった場合には、例えば、予想が当たった場合よりも前記遅延期間を長くし、且つ、予想が外れた場合よりも前記遅延期間を短くすることができる。例えば、予想が当たった場合の前記遅延期間を0(ゼロ)、予想が行われなかった場合の前記遅延期間を10フレーム期間、予想が外れた場合の前記遅延期間を20フレーム期間とする。これにより、第1ユーザがコース予想を行うことによって、予想を行わないよりも打撃操作がし易すくなるチャンスが発生する一方で、予想が外れると却って打撃が困難になってしまうというリスクも負うことになるため、高いゲーム性を実現できる。
あるいは、予想が当たった場合、および予想が行われなかった場合、の何れの場合についても、前記遅延期間を例えば0(ゼロ)として、投球と同時に遅延なく到達点領域507を表示させる一方、予想が外れた場合のみ0より大きい遅延期間を設けて、投球後の到達点領域507の表示開始を遅延させるようにしてもよい。なお、このように、到達点領域507の表示開始タイミングについて、予想が当たった場合と予想が行われなかった場合とを同じとする場合、予想が外れた場合のデメリットは明確となるが、予想が当たった場合のメリットを感じられなくなるので、予想が当たった場合に他のメリット(後述するように、照準カーソル503の表示範囲が大きくなる等のメリット)を発生させることが好ましい。
以下には、前記のようなゲームを実現するためのゲーム装置100の機能的構成および動作の詳細について説明する。
〔ゲーム装置の機能的構成および動作〕
次に、図16の機能ブロック図等を参照して、移動体に対して作用を与えるゲームを制御するゲーム装置100の主要な機能的構成について説明する。本ゲーム装置100は、第1ユーザによって操作される打者キャラクタ501が、第2ユーザによって操作される(またはCPUにより自動制御される)投手キャラクタ502が投じたボールを打撃する野球またはソフトボールゲームを制御する。
図16に示すように、ゲーム装置100は、主に、予想受付手段71、移動手段72、判定手段73、表示制御手段74および決定手段75を備えている。これらの各手段は、ゲーム装置100のCPU1が、本実施の形態に係るプログラムを実行することにより実現されるものである。
予想受付手段71は、移動体の移動パラメータに関する第1ユーザの予想を受け付ける機能を有する。例えば、予想受付手段71は、第1ユーザによって所定の予想操作が行われた場合に、第1ユーザの前記予想を受け付ける。本実施の形態の野球ゲームでは、投手キャラクタ502が投げるボール506が移動体である。
移動体の他の例としては、サッカーゲームのサッカーボール、テニスゲームのテニスボール等、スポーツシミュレーションゲームにおける各種ボールが挙げられる。また、移動体の他の例としては、アクションゲームにおける戦闘機やミサイル等が挙げられる。
移動体の移動パラメータに関する予想には、移動体の移動コースの予想が含まれる。本実施の形態の野球ゲームでは、投球コースの予想(インコース、アウトコースの予想)が移動体の移動パラメータに関する予想に該当する。なお、投球コースの予想は、インコース、アウトコースの予想に限らない。例えば、インコース、真ん中コース、アウトコースを予想したり、高目コース、低目コースを予想したりするものであってもよいし、より狭い投球コースである、インコース高目、インコース低目、アウトコース高目、アウトコース低目、真ん中高目、真ん中低目等を予想するものであってもよい。
また、投球コースの予想としては、前記のようにインコース、アウトコース等の予想コースの領域を予想する以外に、予想コースの位置(座標)をピンポイントで予想するものであってもよい。
また、移動体の移動パラメータに関する予想には、移動体の移動時の軌道変化の予想等を含めることができる。野球ゲームでは、球種予想(直球、各種変化球の予想)が軌道変化の予想に該当する。
また、移動体の移動パラメータに関する予想には、移動体の「速さ」の予想を含めることができる。野球ゲームでは、ボールの球速(例えば、速球等の速い球、チェンジアップ等の遅い球)の予想がこれに該当する。
例えば、予想受付手段71は、移動体の移動開始前の所定タイミングまで、第1ユーザの予想を受け付け、それ以降は第1ユーザの予想を受け付けないようにすることができる。前述のように、本実施の形態の野球ゲームでは、投手キャラクタ502が投球動作を開始するまで(または投手キャラクタ502からボール506が送出されるまで)、予想受付手段71は、第1ユーザによる予想操作を受け付ける。前述のように、第1ユーザによる予想は任意事項であり、第1ユーザが予想可能期間中に予想操作を行った場合にだけ、予想受付手段71は、第1ユーザの予想を受け付ける。
予想受付手段71は、受け付けた予想に関する情報(以下、単に「予想情報」と称する)を、記憶装置(例えば、RAM5等)に記憶する。予想受付手段71が受け付ける(すなわち、第1ユーザの予想操作に基づいて取得する)予想情報には、移動体の「移動コース」、「速さ」、「移動中の軌道変化」の少なくとも1つの移動パラメータに対する予想情報を含めることができる。すなわち、第1ユーザは、これらのうちの1つ、又は2つ以.上を組み合わせて、移動体の移動に関する移動パラメータの予想を行うことができる。
投球コースの予想の場合は、インコース、アウトコース等の予想コースの領域を示す情報、または予想コースの座標情報を、予想受付手段71が受け付ける「予想情報」とすることができる。具体例を以下に説明する。
例えば、第1ユーザが、予想操作用のアナログスティックを左に倒す等の予想操作を行ったことにより、図11に例示するように、ストライクゾーン504の左側領域504aの色が変化した場合、予想受付手段71は、予想情報として「インコース」を取得する。なお、この場合、インコースを示すコード情報、例えば「1」を予想情報として取得してもよい。また、例えば、第1ユーザが、予想操作用のアナログスティックを右に倒す等の予想操作を行ったことにより、図12に例示するように、ストライクゾーン504の右側領域504bの色が変化した場合、予想受付手段71は、予想情報として「アウトコース」、またはそれを示すコード情報、例えば「0」を予想情報として取得してもよい。
第1ユーザによる予想操作の他の例としては、例えば、「インコース」、「アウトコース」等の複数の投球コースが選択肢として画面上に表示され、その中から第1ユーザが予想する任意の投球コースを、コントローラ19等を操作して選択するようにしてもよい。
あるいは、第1ユーザは、予想する投球コースの位置(座標)を、ポインティングデバイスを使用して画面上で入力してもよい。あるいは、画面を表示する表示部がタッチパネルで構成されている場合には、第1ユーザは、指またはタッチペン等を画面上に接触させることによって、予想する投球コースの位置(座標)を画面上で入力してもよい。あるいは、画面を表示する表示部の背面等に設けられた接触入力部(タッチパッド等)に指等を接触させることにより、画面への入力が可能となっているゲーム装置100の場合、当該接触入力部に対する操作により、予想する投球コースの位置(座標)を画面上で入力してもよい。このような場合、予想受付手段71は、予想情報として、投球コースの座標を取得する。
また、例えば、球種予想の場合は、直球、カーブ、スライダー等の予想球種の情報を「予想情報」とすることができる。第1ユーザが球種予想の入力操作を行う一例としては、図4に示した球種選択用アイコン511が、第1ユーザのゲーム画面にも表示され、この球種選択用アイコン511を使用して、球種予想の入力操作を行う。
また、例えば、球速予想の場合は、速球等の「速い球」、チェンジアップ等の「遅い球」の情報を「予想情報」とすることができる。第1ユーザが球速予想の入力操作を行う一例としては、例えば、「速い球」、「遅い球」という選択肢が画面上に表示され、その中から第1ユーザがコントローラ19等を操作して選択する。あるいは、例えば、球速が「130Km/h未満」、「130Km/h以上、且つ145Km/h未満」、「145Km/h以上」という選択肢が画面上に表示され、その中から第1ユーザがコントローラ19等を操作して選択するようにしてもよい。
以下には、主に、第1ユーザが投球コースの予想操作を行い、これを受け付ける予想受付手段71が予想情報として予想投球コースの情報を取得する好ましい例について説明する。すなわち、予想受付手段71は、第1ユーザの予想操作に基づいて、ボールの投球コースを予想した予想投球コースの情報を取得するものとして、以下の説明を続ける。
次に、移動手段72について説明する。移動手段72は、移動体の移動パラメータを決定する機能を有する。また、移動手段72は、決定した移動パラメータに基づいて、移動体を画面上で移動させる。本野球ゲームでは、第1ユーザと第2ユーザとが対戦するモードにおいて、第2ユーザが、投手キャラクタ502が投げるボールの移動パラメータとして投球コースや球種等を決定するための操作を行うことにより、移動手段72が、当該操作に基づいて移動パラメータとしての投球コースや球種等を決定し、当該移動パラメータに基づいて、ボールを打者キャラクタ501の方へ移動させる。第2ユーザによる投球コースや球種の決定操作は、例えば図4に示した球種選択用アイコン511やコース指定カーソル512により行うことができる。
また、第1ユーザがCPU対戦モードにより一人プレイで打撃を行う場合には、移動手段72は、自動的に、球種や投球コース等のボールの移動パラメータを決定し、ボールを打者キャラクタ501の方へ移動させる。
次に、判定手段73について説明する。判定手段73は、予想受付手段71によって受け付けられた第1ユーザの予想情報(すなわち、ユーザが予想した移動パラメータ)と、移動手段72によって決定された前記移動パラメータとに基づいて、第1ユーザの予想の結果を判定する機能を有する。
判定手段73による予想結果の判定は、第1ユーザの予想の当否を判定するものとすることができる。例えば、第1ユーザがアウトコースを予想し、移動手段72によって決定された実際のボールの投球コースがアウトコースの場合には、第1ユーザの予想は当たったと判定され、実際のボールの投球コースがアウトコース以外の場合には、ユーザの予想は外れたと判定される。
また、判定手段73による予想結果の判定は、予想の一致度の判定であってもよい。ここで、一致度としては、予想受付手段71によって受け付けられた第1ユーザの予想情報(すなわち、ユーザが予想した移動パラメータ)と、移動手段72によって決定された実際の移動パラメータとの一致の程度を、例えば値またはレベルとして表すことができる。
例えば、ユーザが予想した移動パラメータと実際の移動パラメータとが一致する場合の一致度を「1」または「レベルA」、不一致の場合の一致度を「0」または「レベルB」として、一致度を2段階の値またはレベルで表しても良い。例えば、第1ユーザの予想投球コースがインコースの場合、実際の投球コースがインコースか否かで、一致度を前記の2段階で評価する。これは、第1ユーザの予想の当否を判定することと実質同一である。
あるいは、移動パラメータに対する予想情報と実際の移動パラメータとの一致度を、3段階以上の値またはレベルで表しても良い。例えば、ホームベース508の上方の作用領域を、インコース、真ん中コース、アウトコースの各領域に3分割する。例えばストライクゾーン504を左中右に3等分し、その真ん中を真ん中コース領域、真ん中コース領域よりもインコース側をインコース領域、真ん中コース領域よりもアウトコース側をアウトコース領域とする。そして、予想投球コースが例えばインコース領域の場合において、実際の投球コースがインコース領域であれば一致度を「2」または「レベルA(最大)」、真ん中コース領域であれば一致度を「1」または「レベルB」、アウトコース領域であれば一致度を「0」または「レベルC(最低レベル)」とする。また、予想投球コースがアウトコース領域の場合において、実際の投球コースがアウトコース領域であれば一致度を「2」または「レベルA」、真ん中コース領域であれば一致度を「1」または「レベルB」、インコース領域であれば一致度を「0」または「レベルC」とする。また、予想投球コースが真ん中コース領域の場合において、実際の投球コースが真ん中コース領域であれば一致度を「2」または「レベルA」、インコース領域またはアウトコース領域であれば一致度を「1」または「レベルB」とする。
あるいは、予想情報が予想投球コースの座標情報であった場合、予想投球コースの座標と実際の投球コースの座標とのずれ量(両座標間の距離L)に基づいて、一致度を算出してもよい。例えば図17に示すように、画面内のストライクゾーン504を含むXY平面(作用領域)における、第1ユーザの予想投球コースの座標をA(X1,Y1)、移動手段72によって決定された実際の投球コースの座標をB(X2,Y2)とする。そして、例えば、一致度Mを、AB間の距離Lに基づいて、下式(1)により算出する。
M=a−√{(X2−X1)2+(Y2−Y1)2} ・・・(1)
上式(1)において、aは定数であり、任意の値を設定可能である。例えば、ストライクゾーン504の対角の距離をaとして設定することができる。
次に、表示制御手段74について説明する。表示制御手段74は、移動体に作用を与えることができる前記作用領域に、移動体が到達する位置を示す到達点領域507を表示させる機能を有する。本実施の形態の野球ゲームでは、ストライクゾーン504及びその周辺のボールゾーンを含む打撃可能な領域、すなわちホームベース508上方の領域が作用領域である。表示制御手段74は、前記作用領域において、投球されたボール506が到達する(または到達して通過する)予定位置に、到達点領域507を表示する。
また、表示制御手段74は、移動体の移動中に軌道が変化する場合、当該軌道の変化に応じて、到達点領域507を表示させる位置を変化させる機能を有する。例えば、投手キャラクタ502がスライダー等の変化球を投球した場合、ボール506の移動中にその軌道が変化するが、この場合、前述のように、ボール506の移動に伴って、作用領域上の到達点領域507の位置を変化させる(図7参照)。
なお、バリエーションとしては、変化球であっても、到達点領域507の位置を変化させることなく、到達点領域507の表示開始時点から、最終的な到達予定位置に到達点領域507を固定的に表示してもよい。
そして、表示制御手段74は、判定手段73による判定の結果に基づいて、移動体の移動開始時から到達点領域507の表示開始時までの遅延期間を変化させる機能を有する。換言すれば、表示制御手段74は、判定手段73による判定の結果に基づいて、移動体の移動開始後における到達点領域507の表示開始タイミングを変化させる機能を有する。前述のように、到達点領域507は、ボール506がホームベース508上方の作用領域に到達する予定位置を示すものであり、この到達点領域507に照準カーソル503を重ねることにより打撃が可能となる。すなわち、到達点領域507の表示開始タイミングの変化は、打撃操作の難易度に影響を与える。
表示制御手段74は、判定手段73によって第1ユーザの予想が外れたと判定された場合に、予想が行われなかった場合(または予想が当たったと判定された場合)よりも、前記遅延期間を長くする、すなわち到達点領域507の表示開始タイミングを遅くすることが好ましい。例えば、予想が行われなかった場合の前記遅延期間をT0、予想結果の判定に基づいて変化した前記遅延期間をT1とする。そして、第1ユーザの予想が外れたと判定された場合には、例えば下記の式(2)を適用して、前記遅延期間T1を決定することができる。
T1=T0+k ・・・(2)
ここで、上記kは定数であり、k>0である。一例としては、k=0.3とした上式(2)を適用し、第1ユーザの予想が外れた場合には、予想が行われなかった場合よりも、到達点領域507の表示開始タイミングを0.3秒だけ遅延させる。なお、上式(2)中のT0、T、kを、ゲーム画面のフレーム数としてもよい。例えば、k=20(フレーム)とすれば、第1ユーザの予想が外れた場合には、予想が行われなかった場合よりも、到達点領域507の表示開始タイミングを20フレーム期間だけ遅延させる。これは一例であり、他の演算式を適用してもよい。
あるいは、予想が行われなかった場合(および予想が当たった場合)と、予想が外れた場合とのそれぞれについて、前記遅延期間の情報を、予め記憶装置(RAM5等)に記憶しておき、当該情報に基づいて、前記遅延期間の値を決定してもよい。
なお、前述のように、第1ユーザの予想が当たった場合の前記遅延期間と、予想が行われなかった場合の前記遅延期間とを同一にしてもよいし、後者を前者よりも長くしてもよい。例えば、第1ユーザの予想が当たった場合の前記遅延期間、および予想が行われなかった場合の前記遅延期間を、両者ともゼロとしたり、両者とも10フレーム期間としたり、前者をゼロ、後者を10フレーム期間としたりしてもよい。
この構成により、ユーザの予想が外れた場合には、作用領域としてのストライクゾーン504に表示される到達点領域507の表示開始タイミングが、予想が行われなかった場合(または予想が当たった場合)よりも遅くなる。これは、第1ユーザのコース予想が外れた場合、ボール506が打者の目線から外れているため、ボール506に対する視認度が低下するので、この状態を、到達点領域507の表示開始の遅延期間を長くすることで、ゲーム上で疑似的に再現したものである。
なお、第1ユーザの予想が球種予想または球速予想であった場合も、同様に、その予想が外れれば、予想が当たった場合または予想が行われなかった場合よりも、前記遅延期間が長くなり、到達点領域507の表示開始タイミングが遅くなる。これは、第1ユーザが球種を予想し、その予想が外れれば、ボール506の軌道変化に打者の目がついていかないため、ボール506に対する視認度が低下するので、この状態を到達点領域507の表示開始タイミングを遅くすることで、ゲーム上で疑似的に再現したものである。また、第1ユーザが球速(例えば速球かチェンジアップか)を予想し、その予想が外れれば、ボール506の緩急の違いに打者の目がついていかないため、ボール506に対する視認度が低下するので、この状態を到達点領域507の表示開始タイミングを遅くすることで、ゲーム上で疑似的に再現したものである。
この構成により、第1ユーザの予想が外れた場合、予想が当たった場合または予想をしなかった場合より、ボール506が最終的にホームベース508上のどこに来るのかを確認するタイミングが遅れる。すなわち、第1ユーザの予想が外れた場合、ボール506の送出後に遅れて表示された到達点領域507にミートカーソル503aを合せるための時間的余裕が、予想が当たった場合または予想をしなかった場合より少なくなるので、打撃操作が明確に困難となる。
なお、表示制御手段74は、判定手段73によって第1ユーザの予想が当たったと判定された場合(または予想が行われなかった場合)の前記遅延期間をゼロとすることが好ましい。この場合、予想が当たったと判定された場合(または予想が行われなかった場合)には、投球されたボール506の移動開始と同時に、到達点領域507の表示が開始されるので、第1ユーザの予想が外れた場合のデメリット、すなわち、到達点領域507の表示開始の遅延がより明確になる。
また、表示制御手段74は、判定手段73によって第1ユーザの予想が当たったと判定された場合に、予想が行われなかった場合(または予想が外れたと判定された場合)よりも、前記遅延期間を短くする、すなわち到達点領域507の表示開始タイミングを早くすることが好ましい。例えば下記の式(3)または式(4)を適用して、第1ユーザの予想が当たった場合の前記遅延期間T1を決定することができる。
T1=T0−m ・・・(3)
T1=n×T0 ・・・(4)
ここで、上記m、nは定数であり、m>0、且つm<T0である。また、n>0、且つ、n<1である。一例としては、m=10(フレーム)とした上式(3)を適用する。これは一例であり、他の演算式を適用してもよい。
あるいは、予想が行われなかった場合(および予想が外れた場合)と、予想が当たった場合とのそれぞれについて、前記遅延期間の情報を、予め記憶装置(RAM5等)に記憶しておき、当該情報に基づいて、前記遅延期間の値を決定してもよい。
この構成により、第1ユーザの予想が当たった場合には、作用領域としてのストライクゾーン504に表示される到達点領域507の表示開始タイミングが、予想が行われなかった場合(または予想が外れた場合)よりも早くなる。これは、コース予想が的中すれば、そこに打者の目線があるため、ボール506に対する視認度が向上するので、この状態を、ボール506の移動開始後の早い段階から(例えば、移動開始と同時に)到達点領域507を表示することで、ゲーム上で疑似的に再現したものである。
なお、第1ユーザの予想が球種予想または球速予想であった場合も、同様に、その予想が当たれば、到達点領域507の表示開始タイミングが、予想が行われなかった場合(または予想が外れた場合)よりも早くなる。これは、第1ユーザが球種を予想し、その予想が的中すれば、ボール506の軌道変化に打者の目がついていき易いため、ボール506に対する視認度が向上するので、この状態を到達点領域507の表示開始タイミングを早くすることで、ゲーム上で疑似的に再現したものである。また、第1ユーザが球速(例えば速球かチェンジアップか)を予想し、その予想が的中すれば、ボール506の速度に打者の目がついていき易いため、ボール506に対する視認度が向上するので、この状態を到達点領域507の表示開始タイミングを早くすることで、ゲーム上で疑似的に再現したものである。
この構成により、予想が的中した場合、予想が行われなかった場合(または予想が外れた場合)より、ボール506が最終的にホームベース508上のどこに来るのかを確認するタイミングが早くなる。すなわち、第1ユーザの予想が当たった場合、例えばボール506の送出と同時に到達点領域507が表示されるので、予想が行われなかった場合(または予想が外れた場合)よりも到達点領域507にミートカーソル503aを合せるための時間的余裕が持てるようになり、打撃操作がし易くなる。
また、表示制御手段74は、判定手段73によって判定された予想の一致度が低いほど、前記遅延期間を長くする、すなわち到達点領域507の表示開始タイミングを遅くする構成とすることができる。前述のように、予想の一致度は、例えば、ユーザが予想したコースの座標と、実際の投球コースの座標とのずれ量(両座標間の距離)に基づいて判定することができ、ずれ量が大きいほど予想の一致度は低くなる。
例えば、予想の一致度が所定の閾値またはレベル以上の場合に、予想が的中したものとし、予想しない場合よりも前記遅延期間を短くする。そして、この場合の前記遅延期間は、予想の一致度が高いほど、連続的にまたは段階的に短くなるようにする。
また、例えば、予想の一致度が所定の閾値またはレベル未満の場合に、予想が外れたものとし、予想しない場合よりも前記遅延期間を長くする。そして、この場合の前記遅延期間は、予想の一致度が低いほど、連続的にまたは段階的に長くなり、打撃操作の困難度が増す。
予想の一致度によって前記遅延期間を変更する具体例を、次に示す。例えば、予想が行われなかった場合の前記遅延期間をT0、予想結果の判定に基づいて変化した前記遅延期間をT1、前述の式(1)により求めた予想の一致度をMとする。そして、例えば下記の式(5)を適用して、前記遅延期間T1の大きさを決定することができる。
T1=(a/2M)×T0 ・・・(5)
上式(5)において、aは上式(1)と同じ定数である。また、T0>0である。上式(5)の場合、予想の一致度Mが、M>(a/2)の場合に、遅延期間T1の値が、予想を行わない場合よりも小さくなり、M<(a/2)の場合に、予想を行わない場合よりも大きくなる。これは一例であり、他の演算式を適用してもよい。
あるいは、予想の一致度と前記遅延期間との関係を示す情報に基づいて、前記遅延期間を決定してもよい。例えば、予想の一致度と前記遅延期間との関係を示すテーブルの情報が、ゲームプログラムが記録された記録媒体300に格納されており、ゲームの実行時に前記テーブルの情報がRAM5にロードされる。この場合、表示制御手段74は、前記テーブルに基づいて、予想の一致度に対応した前記遅延期間を設定する。
このように、予想の一致度に応じて、連続的に、または段階的に、投球されたボール506の移動開始後の到達点領域507の表示開始タイミングを変動させることにより、予想の一致度を打撃操作の難易度として的確に反映させることができ、より興趣性の高いゲームを実現できる。
なお、前記遅延期間の長さには、上限を設けることが好ましい。例えば、投手キャラクタ502からボール506が送出されてからホームベース508上の作用領域に到達するまでの期間が、90フレーム期間であった場合、前記遅延期間の長さの上限は、例えば45フレーム期間とする。これは一例であり、遅延期間を30フレーム期間としたり、60フレーム期間としたりしてもよい。到達点領域507の表示開始タイミングが遅すぎると、打撃操作の困難性が高くなり過ぎて、殆ど打撃できなくなってしまうので、ゲーム性を損なわない範囲で、適切な遅延期間の上限を設定することが望ましい。
ところで、第1ユーザによる投球コース等の予想が当たれば、打者キャラクタ501の打力等のパラメータが予想しない場合よりも向上し、その予想が外れれば、打者キャラクタ501の打力等のパラメータが、予想しない場合よりも低下する構成を採用することもできる。あるいは、予想の一致度が高いほど、前記打力等のパラメータが向上する構成を採用してもよい。このように、ユーザの予想の結果に応じてキャラクタのパラメータまたは移動体に付与される作用のパラメータが変化する構成の場合、予想の当否に基づく打力等の変化を、打撃操作を行う第1ユーザが実感し難いと考えられる。すなわち、例えば、結果的にヒットを打つことができた場合であっても、予想が当たったから打力が向上してヒットになったのか、それとも打撃操作が上手くできたのでヒットになったのかが、第1ユーザにとって明確には分かり難い。また、結果的に凡打になった場合も、予想が外れたから打力が低下して凡打になったのか、それとも打撃操作が上手くできなかったので凡打になったのかが、第1ユーザにとって明確には分かり難い。これは、たとえ内部的に打力等のパラメータが向上しても、打撃操作が上手くできなければ(すなわち、ミートカーソル503aの中心と到達点領域507の中心とが大きく離れていれば)、凡打や空振りになるし、打力が低下しても打撃操作が上手くできれば(すなわち、ミートカーソル503aの中心付近で到達点領域507を捉えることができれば)、ヒット性の強い打球を打つことができるからである。
これに対して、本実施の形態のゲーム装置100の構成では、第1ユーザによる予想の結果を、打力等の内部パラメータの変化として反映させるのではなく(あるいは、内部パラメータの変化として反映させるだけでなく)、到達点領域507の表示開始タイミングの変化、すなわち、ボール506の視認度の変化として、画面上に反映させる。この構成の場合、予想の結果が、画面上に表示される到達点領域507の表示開始タイミングの変化により明確化されるため、第1ユーザにとって予想が当たったことによるメリット(または外れたことによるデメリット)を、第1ユーザに画面表示を通して明確に認識させることができる。よって、予想をした場合の遊戯中の高揚感または緊張感が高まり、遊戯性の向上が図られる。
次に、決定手段75について説明する。決定手段75は、第1ユーザによる所定の操作に基づいて、前記作用領域内で移動体に作用を与えるための特定領域が指定された場合に、移動体に対する作用を決定する機能を有する。本実施の形態では、決定手段75は、前記特定領域と到達点領域507との位置関係に基づいて、移動体に対する作用(打撃結果)を決定する。なお、後述するように、決定手段75が、特定領域と移動体(作用領域に到達したときの移動体)との位置関係に基づいて、移動体に対する作用を決定するようにしてもよい。
野球ゲームの例では、前記所定の操作には、照準カーソル503を任意の位置に移動させる操作や、後述するように、指やペンで、直接、画面上の任意の箇所をタッチしてバットが当たる領域を指定する操作などが含まれる。このような所定の操作により、作用領域内の特定領域(野球ゲームの場合、バットが当たる領域)を指定することができる。例えば、ボール506が作用領域に到達する時点における照準カーソル503(照準カーソル503が存在する領域)が、第1ユーザによる所定の操作(カーソル移動操作)に基づいて指定された特定領域となる。そして、決定手段75は、特定領域としての照準カーソル503と到達点領域507との位置関係に基づいて、ボール506に対する作用(打撃結果)を決定する。例えば、前述のように、到達点領域507と照準カーソル503とが離間している場合は空振りとなり、到達点領域507の下部領域に照準カーソル503が重なっていれば打球が飛球となり、到達点領域507の上部領域に照準カーソル503が重なっていれば打球がゴロとなる。
つまり、到達点領域507とボール506との間には相関関係があり、照準カーソル503で到達点領域507の所望の箇所を狙うことにより、それが投球されたボール506に対する打撃として反映される。本実施の形態では、到達点領域507とボール506との間には、相似的な対応関係が設けられており、到達点領域507の下部に照準カーソル503を重ねることは、到達点領域507の下部に対応するボール506の下部の箇所を打撃することになる。すなわち、到達点領域507の形状と、到達点領域507に到達したときの移動体としてのボール506の形状とは、同一または略同一の相似関係にある。また、ボール506が作用領域としてのストライクゾーン504に到達したとき、ボール506は到達点領域507と重なる。
本実施の形態のゲームでは、バットが当たる領域である特定領域の指定に、照準カーソル503が使用される。この場合、図18に例示するように、ゲーム装置100は、カーソル制御手段76を有する。このカーソル制御手段76は、照準カーソル503を、第1ユーザの操作に応じて移動させる機能を有する。例えば、第1ユーザがコントローラ19のアナログスティック、方向キー等を操作すれば、カーソル制御手段76が、当該操作に応じて照準カーソル503の画面上の位置を変化させる。第1ユーザによる照準カーソル503の移動操作は、投手キャラクタ502からボール506が送出された後は勿論のこと、その送出前でも可能である。
なお、画面がタッチパネルになっているゲーム装置100においては、第1ユーザは指またはペン等を画面に接触させて、画面上に表示されている照準カーソル503の移動操作を行うことも可能である。ここで、第1ユーザが照準カーソル503に、直接、指を重ねてその移動操作を行うことも可能である。但し、この場合、照準カーソル503、ボール506、到達点領域507が、部分的に第1ユーザ自身の指で隠れてしまい、操作性に支障を来すことになる。
そこで、図19に例示するように、照準カーソル503とは異なる画面上の位置に、照準カーソル503の移動操作を行うための操作アイコン520を表示することが好ましい。この構成では、照準カーソル503は、操作アイコン520との間の相対的な位置関係を維持したまま、操作アイコン520の変位に連動して移動する。操作アイコン520の移動操作は、画面上の操作アイコン520に指530を接触させた状態で、画面から指530を離さずにドラッグすることにより可能である。よって、第1ユーザは、指530を照準カーソル503に直接的に接触させることなく、異なる領域に表示されている操作アイコン520に指530を接触させてドラッグすることで、それに連動する照準カーソル503を間接的に移動させることができる。
投手キャラクタ502が投げたボール506は、ホームベース508側に近づいてくるので、第1ユーザは、ボール506がホームベース508上に到着するタイミングを見計らいながら、画面上の操作アイコン520に接触させている指530を、画面から離す。図20に示すように、第1ユーザが指530を画面から離したことを契機として、打者キャラクタ501のバットスイングが行なわれる。すなわち、この構成でのバットスイング操作は、指530を画面から離すことである。このように、本構成においては、照準カーソル503の移動操作とバットスイング操作の両方を、1本の指530のドラッグおよびドロップによって円滑に行うことができる。しかも、照準カーソル503、ボール506および到達点領域507の表示が、指530によって遮られることもないので、画面の視認性にも優れた高い操作性を実現できる。
前記図19および図20の例では、投球後において、ストライクゾーン504は透明化され、不可視となる例を示している。
なお、図19では、照準カーソル503の移動操作を行うための操作アイコン520を画面の右側に配置した例を示したが、これに限定されない。すなわち、操作アイコン520は、画面上で、照準カーソル503とは異なる任意の位置に存在すればよい。よって、例えば、操作アイコン520を、照準カーソル503よりも左側に配置してもよいし、投手キャラクタ502よりも上方に配置してもよい。
また、次のようにすることにより、操作アイコン520を用いることなく、上記と同様の照準カーソル503の移動操作が可能である。すなわち、第1ユーザが画面上の任意の位置(照準カーソル503とは異なる位置)に指530を接触させる。この場合、ゲーム装置100は、指530が画面に接触している位置座標を取得し、その後は、指530が画面上を移動しても、指530の接触位置と、照準カーソル503の位置との間の相対的な位置関係を維持する。よって、第1ユーザが指530を画面に接触させたまま移動(すなわちドラッグ)すれば、照準カーソル503は、指530の接触位置との間の相対的な位置関係を維持したまま、指530の接触位置の変化に連動して移動する。この場合も、第1ユーザが指530を画面から離したことを契機として、バットスイングが行われる。
前述した野球ゲームでは、画面上に照準カーソル503を表示し、この照準カーソル503を到達点領域507に重ねることにより打撃操作を行う例を示した。これ以外にも、画面がタッチパネルになっている場合には、照準カーソル503を使用することなく、指やペンで、直接、画面上の任意の箇所をタッチして打撃操作を行う構成とすることも可能である。
この構成の場合、図21に例示するように、第1ユーザは、ボール506がホームベース508上に到着するタイミングを見計らいながら、指530を到達点領域507に重なるように接触させる。この場合、図22に例示するように、ゲーム装置100は、指530が接触した位置座標を認識し、その座標を中心として所定範囲の領域を、バットが当たる特定領域509として設定する。そして、ボール506がホームベース508上方の作用領域またはその近傍に到達した打撃可能な所定のタイミングで、指530の接触により設定された特定領域509と到達点領域507とが重なっている場合に、ボール506はバットオブジェクト505に当たる。
なお、図22の例では、特定領域509を円形とした例を示しているが、特定領域509の形状は任意に設定可能であり、例えば特定領域509を図8の照準カーソル503と同様のバット形状としてもよい。
あるいは、次のようなバリエーションも可能である。第1ユーザは、ボール506がホームベース508上に到着する以前から指530を画面に接触させ、画面から指530を離さずに、到達点領域507に指530が重なるように、指530を移動(ドラッグ)させる。そして、ボール506がホームベース508上に到着するタイミングを見計らいながら、指530を画面から離す、または指530を所定方向(例えば、打球を打ちたい方向へ)スワイプしながら離す。指530を画面から離したタイミングでバットスイングが行われる。この場合も、ゲーム装置100は、指530が接触した位置座標を認識し、その座標を中心として所定範囲の領域を、バットが当たる特定領域509として設定する。そして、ボール506がホームベース508上方の作用領域またはその近傍に到達した打撃可能な所定のタイミングで、指530の接触により設定された特定領域509と到達点領域507とが重なっており、且つ指530が画面から離間した場合に、ボール506はバットオブジェクト505に当たる。
上記のように、第1ユーザが指530等の接触により特定領域509を指定する構成の場合も、到達点領域507と特定領域509とが離間している場合は空振りとなり、到達点領域507の下部領域に特定領域509が重なっていれば打球がフライとなり、到達点領域507の上部領域に特定領域509が重なっていれば打球がゴロとなる。
なお、上記の説明では、決定手段75が、特定領域と到達点領域507との位置関係に基づいて、移動体に対する作用(打撃結果)を決定する構成について説明したが、特定領域と移動体(作用領域に到達したときの移動体)との位置関係に基づいて、移動体に対する作用を決定するようにしてもよい。野球ゲームでは、作用領域に到達したときのボール506と、照準カーソル503等により指定された特定領域とが離間している場合は空振りとなり、当該ボール506の下部領域に特定領域が重なっていれば打球が飛球(フライ、ライナー)となり、当該ボール506の上部領域に特定領域が重なっていれば打球がゴロとなる。
以上のように、本実施の形態のゲーム装置100は、ユーザによって操作される打者キャラクタ501が、投手キャラクタ502が投球したボール506を打撃する野球(またはソフトボール)ゲームを制御する。このゲーム装置100の好ましい構成は、ユーザによって所定の予想操作が行われた場合に、投球コースに関するユーザの予想を受け付ける予想受付手段71と、投球コースを決定する投球コース決定手段としての移動手段72と、前記予想受付手段71によって受け付けられたユーザの前記予想に関する情報と、前記移動手段72によって決定された前記投球コースとに基づいて、ユーザの前記予想の結果を判定する判定手段73と、ボール506を打撃可能な作用領域に、ボール506が到達する位置(予定位置)を示す到達点領域507を表示させる表示制御手段74と、ユーザによる所定の打撃操作に基づいて、前記作用領域内でボール506を打撃するための特定領域が指定された場合に、前記特定領域と到達点領域507との位置関係に基づいて、打撃結果を決定する決定手段75と、を備えている。そして、表示制御手段74は、判定手段73によってユーザの前記予想が外れたと判定された場合に、前記予想が当たったと判定された場合または前記予想が行われなかった場合よりも、投球されたボール506の移動開始時から到達点領域507の表示開始時までの期間を長くする。
ところで、野球ゲームでは、イニング毎に攻守を変えてゲームが進行するので、ユーザは打者の立場でゲーム操作をすることも投手の立場でゲーム操作をすることもできる。ユーザは、打者の立場でゲーム操作をする場合に「第1ユーザ」、投手の立場でゲーム操作をする場合に「第2ユーザ」となる。
2人のユーザが、それぞれ自分のゲーム装置100を操作して通信対戦する場合、何れか一方のゲーム装置100がサーバ、他方がクライアントとして機能するようにしてもよい。あるいは、通信対戦する両ゲーム装置100が、機能分散を図りならが協働するようにしてもよい。
例えば、投手側の第2ユーザのゲーム装置100の移動手段72において決定されたボール506の移動パラメータは、打者側の第1ユーザのゲーム装置100に送信される。従って、第1ユーザのゲーム装置100の移動手段72は、第2ユーザのゲーム装置100から受信した移動パラメータに基づいて、投手キャラクタ502から送出されたボール506を移動させる。また、例えば、第1ユーザのゲーム装置100の決定手段75によって決定された打撃結果の情報は、第2ユーザのゲーム装置100にも送信される。
ユーザがCPU対戦モードにより一人でプレイする場合において、ユーザが打者キャラクタ501を操作する「第1ユーザ」の立場のとき、ゲーム装置100のCPU1は、AIプログラム(Artificial Intelligence Program)等に基づく自動制御で、投手キャラクタ502による投球を制御する。例えば、CPU対戦モードにおける移動手段72は、打者キャラクタ501が打席に立った時点で(すなわち、第1ユーザが予想操作をする前に)、投球されるボール506の移動パラメータを決定している。よって、CPU対戦モードの場合も、第1ユーザは、移動パラメータの予想を行うことができる。
また、CPU対戦モードにおいて、ユーザが投手キャラクタ502を操作する「第2ユーザ」の立場のとき、ゲーム装置100のCPU1は、AIプログラム等に基づく自動制御で、打者キャラクタ501による打撃を制御する。
ここで、本実施の形態のゲーム装置100の動作の一例を、図23ないし図26のフローチャートを参照しながら、以下に説明する。図23は、投手キャラクタ502の投球を制御する処理の一例を示すフローチャートである。図24ないし図26は、打者キャラクタ501の打撃を制御する処理の一例を示すフローチャートである。
先ず、投手キャラクタ502が1人の打者キャラクタ501に対して投球する場合の処理の一例を、図23を参照しながら説明する。ステップS1において、対戦モードがユーザ間対戦モードの場合、第2ユーザは、投球開始前に、球種決定操作(S2)および投球コース決定操作(S3)を行う。例えば、第2ユーザは、コントローラ19を操作して、図4に示す球種選択用アイコン511で球種を選択すると共に、コース指定カーソル512を任意の位置に移動させて投球コースを指定する。
ゲーム装置100は、上記の球種および投球コースを決定するための操作に基づいて、ボール506の移動パラメータ(球種、投球コース)を決定する(S4)。その後、第2ユーザがコントローラ19の投球開始ボタンを押すことにより、又は自動的に、ゲーム装置100は、投手キャラクタ502にボール506を送出させる(S5)。このとき、第1ユーザのゲーム装置100の画面には、図5に示すように打者側から投手側を見た画像が表示され、第2ユーザのゲーム装置100の画面には、図4に示すように投手側から打者側を見た、図5とは視点の異なる画像が表示されるが、両ゲーム装置100間で通信しながら、両画面とも、略同じタイミングで投手キャラクタ502がボール506を送出するようにする。
その後、第1ユーザおよび第2ユーザのゲーム装置100は、投手キャラクタ502から送出されたボールを、前記S3で決定された移動パラメータに基づいて、ホームベース508の方向(打者キャラクタ501の方向)へと移動させる(S6)。これにより、投手キャラクタ502による1球の投球が完了する。
投手キャラクタ502が、現在打席に立っている打者キャラクタ501に対する投球を継続する場合は(S7でYES)、ステップS1に戻り、ステップS1〜S6が繰り返される。
一方、ステップS1において、対戦モードがCPU対戦モードの場合、第2ユーザによる球種決定操作(S2)および投球コース決定操作(S3)が行われることなく、ゲーム装置100のCPU1が、ボール506の移動パラメータ(球種、投球コース)を自動的に決定する(S4)。
次に、1人の打者キャラクタ501の打撃を制御する処理の一例について説明する。ここでは、照準カーソル503を用いて打撃を行う例を示す。
図24に示すように、ゲーム装置100は、打者キャラクタ501が打席に立った場合(S11)、投手キャラクタ502の投球動作が開始されるまで(S16でYESとなるまで)、第1ユーザの予想操作を受け付ける。ここで、第1ユーザにより予想操作が行われた場合(S12でYES)、例えば、コントローラ19のアナログスティックを右または左に傾けて、インコースまたはアウトコースの何れかを予想する操作が行われた場合、予想コースの入力状態をユーザに報知する(S13)。例えば、図11に示すように、ストライクゾーン504の左側領域504aの色を変化させて、インコースの予想入力が行われていることを報知したり、図12に示すように、ストライクゾーン504の右側領域504bの色を変化させて、アウトコースの予想入力が行われていることを報知したりする。
さらに、ゲーム装置100は、受け付けた予想に関する情報(予想情報)を取得し、RAM5等の記憶装置に記憶する(S14)。例えば、第1ユーザがアナログスティックを右に傾けて、インコースを予想する操作を行った場合、ゲーム装置100は、予想情報として「インコース」(またはそれを示すコード情報「1」)をRAM5に記憶する。
前述のように、投球コースの予想については、インコース、アウトコース等の予想コースの領域を選択して予想する以外にも、予想コースの位置(座標)を指定して予想することも可能である。後者の場合、ゲーム装置100は、予想情報として、予想コースの座標情報をRAM5に記憶する。
前記ステップS14の実行後、または前記ステップS12において予想操作が行われない場合、ステップS15に移行する。
また、第1ユーザは投球前にも照準カーソル503の移動操作が可能であり、第1ユーザが照準カーソル503の移動操作を行えば、当該操作に応じた位置に照準カーソル503を移動させるカーソル制御処理が実行される(S15)。
投手キャラクタ502の投球動作が開始される前は(S16でNO)、予想の変更または取り消しが可能であり、投球動作前に複数回の予想操作が行われた場合、最後に行われた予想操作に対応する予想情報が有効となり、当該予想情報がRAM5に記憶される。
予想を行うか否かは任意事項であり、予想を行わないことも可能である。投手キャラクタ502の投球動作が開始されるまでに一度も予想操作が行われなかった場合、または最後に行われた操作が予想の取り消しの操作であった場合、予想は行われなかったこととなり、RAM5には予想情報は記憶されない(あるいは、RAM5に記憶された予想情報は無効とされる)。
投手キャラクタ502の投球動作が開始された場合(S16でYES)、予想操作の受け付けは終了し、第1ユーザの予想の有無、および予想が行われた場合の予想情報が確定する。
なお、図24の例では、打者キャラクタ501が打席に立ってから投手キャラクタ502の投球動作が開始されるまで(または前回の投球後、次の投球動作が開始されるまで)を、予想の受け付け期間としているが、これに限定されず、例えば、投手キャラクタ502からボール506が送出されるまで、第1ユーザの予想を受け付けてもよい。
投手キャラクタ502の投球動作の開始後も、照準カーソル503の移動操作が可能であり、第1ユーザが照準カーソル503の移動操作を行えば、当該操作に応じた位置に照準カーソル503を移動させるカーソル制御処理が実行される(S17)。
投手キャラクタ502からボール506がリリースされて、ボール506の移動が開始される場合(S18でYES)、図25のステップS19に移行する。
ボール506の移動が開始された後は、ホームベース508上方の作用領域には、到達点領域507が表示されるが、この到達点領域507の表示開始タイミングは、第1ユーザの予想の有無および当該予想の結果により変動する。ゲーム装置100は、予想が行われたか否かを判断し(S19)、予想が行われていない場合(S19でNO)、前記遅延期間をデフォルトの値、例えば10フレームに設定し、投球されたボール506の移動開始時から10フレーム期間の経過後に、到達点領域507の画面への表示を開始させる(S20)。
なお、前記ステップS20に関し、予想が行われていない場合のデフォルトの遅延期間は、10フレーム期間に限らず、例えば5フレーム期間とする等、任意の値を設定できる。また、前述のように、予想が行われていない場合のデフォルトの遅延期間をゼロに設定し、投球されたボール506の移動開始と同時に、到達点領域507の画面への表示を開始させてもよい。
一方、予想が行われている場合(S19でYES)、ゲーム装置100は、その予想の結果を判定する(S21)。すなわち、ゲーム装置100は、RAM5に記憶されている予想情報と、図23のステップS4において決定した移動パラメータの投球コースとを比較し、予想が的中したか否かを判定する。例えば、RAM5に記憶されている投球コースに関する予想情報が「インコース」であり、ステップS4において決定した移動パラメータとしての投球コースもインコース領域に含まれるものであった場合、予想は的中したと判定される。一方、予想情報が「インコース」であり、ステップS4において決定した投球コースがインコース領域に含まれていない場合、予想は外れたと判定される。
なお、予想の結果の判定は、ステップS14で取得した投球コースの予想情報と、図23のステップS4で決定した移動パラメータの投球コースとの一致の程度を示す一致度を用いて判定してもよい。前述のように、一致度は、2段階または3段階以上の値またはレベルとしてもよいし、図17および上式(1)に例示するように、予想投球コースの座標と実際の投球コースの座標とのずれ量に基づいて算出してもよい。そして、予想の一致度が所定の閾値またはレベル以上の場合に、予想が的中したものと判定し、予想の一致度が所定の閾値またはレベル未満の場合に、予想が外れたものと判定してもよい。
ここで、予想が的中している場合(S21でYES)、ゲーム装置100は、例えば、前記遅延期間をゼロに設定し、投球されたボール506の移動開始と同時に、到達点領域507の画面への表示を開始させる(S22)。よって、第1ユーザの予想が当たった場合には、打撃操作の難易度が低下するというメリットが発生し、投球と同時に表示された到達点領域507に、直ちにミートカーソル503aを移動させる操作が可能となる。
なお、前記ステップS22に関し、第1ユーザの予想が当たった場合の前記遅延期間は、ゼロに限定されるものではなく、予想が行われなかった場合の前記遅延期間以下の任意の値に設定できる。
一方、予想が外れている場合(S21でNO)、ゲーム装置100は、例えば前記遅延期間を20フレームに設定し、投球されたボール506の移動開始時から20フレーム期間の経過後に、到達点領域507の画面への表示を開始させる(S23)。このように、予想が外れている場合、予想が当たった場合(または予想が行われなかった場合)よりも到達点領域507の表示開始タイミングを遅らせることによって、打撃操作の難易度が高くなるというデメリットが発生する。
なお、前記ステップS23に関し、予想が外れた場合の前記遅延期間は、20フレーム期間に限定されるものではなく、予想が行われなかった場合のデフォルトの遅延期間よりも大きい任意の値(但し、ボール506の移動開始時から作用領域に到達するまでの期間よりも小さい値)に設定できる。
なお、ゲーム装置100は、前述のように、予想の一致度が低いほど、連続的にまたは段階的に、前記遅延期間が長くなるようにしてもよい。
前記ステップS20、S22、S23の何れかの実行により、画面の作用領域には、到達点領域507の表示が開始される。なお、投球されたボール506の球種がストレートの場合には、一旦表示された到達点領域507の位置が変化しない(または変化しても重力による自然落下分程度である)が、前述のように、変化球の場合には、ボール506の軌道変化に伴って、画面に表示された到達点領域507の表示位置も変化する。
投手キャラクタ502からボール506がリリースされた後において、第1ユーザは、画面に表示された到達点領域507に重なるように照準カーソル503を移動させる操作を行う。ユーザによって照準カーソル503の移動操作が行われた場合、当該操作に応じた位置に照準カーソル503を移動させるカーソル制御処理を実行する(S24)。
そして、第1ユーザは、ボール506を打とうとする場合、ボール506が到達点領域507に到着するタイミングを見計らって、バットスイング操作を行う。例えば、バットスイングするためのコントローラ19の所定の操作ボタンを押す。もちろん、第1ユーザは、ボール506を打たずに見送ることもできる。
第1ユーザによりバットスイング操作が行われた場合(S25でYES)、ステップS27に移行し、ゲーム装置100が打撃結果決定処理を実行する(S27)。以下に、図26に例示するフローチャートを参照しながら、打撃結果決定処理の一例を説明する。
ゲーム装置100は、ボール506がホームベース508の上方の作用領域に到達する時点における到達点領域507に、照準カーソル503が重なっているか否かを判定する(S31)。ここで、到達点領域507と照準カーソル503とが重なっていない場合(S31でNO)、打撃結果は「空振り」となる(S33)。
一方、到達点領域507と照準カーソル503とが重なっている場合(S31でYES)、ボール506が作用領域またはその近傍に到達した所定の打撃可能タイミングで、バットスイング操作が行われたか否かを判定する(S32)。ここで、打撃可能タイミングでバットスイング操作が行われていない場合(S32でNO)、打撃結果は「空振り」となる(S33)。
一方、打撃可能タイミングでバットスイング操作が行われた場合(S32でYES)、ゲーム装置100は、ボール506にバットオブジェクト505が当たったものと判定し、到達点領域507と照準カーソル503との位置関係に基づいて、次のように打球のパラメータを決定する。
すなわち、図8に例示するように、到達点領域507の下部が照準カーソル503と重なっている場合(S34でYES)、打撃結果を飛球(フライまたはライナー)とする(S35)。これは、球面状のボール506の下を叩けば、打球の角度が上がるからである。また、図9に例示するように、到達点領域507の上部が照準カーソル503と重なっている場合(S34でNO)、打撃結果をゴロとする(S36)。これは、球面状のボール506の上を叩けば、打球の角度が下がるからである。
また、ゲーム装置100は、バットスイング操作が行われたタイミング、ミートカーソル503aの中心と到達点領域507の中心とのずれ量等に基づいて、打撃されたボール506の軌道を算出する。さらに、打者キャラクタ501の能力パラメータ等を考慮して、打撃されたボール506の軌道を決定してもよい。
図25に戻って、説明を続けると、ゲーム装置100は、ステップS27で決定された打撃結果を画面に表示する(S28)。一方、第1ユーザがバットスイング操作をせずにボールを見送った場合(S26でYES)、ゲーム装置100は、打者キャラクタ501がボールを見送ったことによる結果を画面に表示する(S28)。図5等の画面では、ボールカウントやアウトカウント等の表示を省略しているが、例えば、ボール506がストライクゾーン504を通過した場合には「ストライク」、ストライクゾーン504を外れた場合には「ボール」とし、ボールカウントの表示を更新する。
ステップS28の後、ゲーム装置100は、現在打席に立っている打者キャラクタ501に対する投球を継続するか否かを判断する(S29)。例えば、打者キャラクタ501が打撃したがファールになった場合、空振りしたが三振でない場合、ボールを見送ったが三振または四球でない場合は、同じ打者キャラクタ501に対する投球が継続されるので(S29でYES)、これらの場合は図24のステップS12に戻る。
一方、打者キャラクタ501の打席の結果(ヒットまたはアウト)が確定し、当該打者キャラクタ501に対する投球が継続されない場合は(S29でNO)、処理を終了する。新たな打者キャラクタ501が打席に立つ場合は、再度、図24および図25の処理が実行される。
以上のように、本構成によれば、第1ユーザの予想の結果に応じて、到達点領域507の表示開始タイミングを変化させることにより、打撃操作の難易度を変化させることができる。例えば、ユーザの予想が外れて、投球後における到達点領域507の表示が遅延した場合、打撃操作を行うユーザは、ボール506が最終的にどこに来るのかを確認するタイミングが遅れるので、打撃し難くなる。また、ユーザの予想が的中した場合、例えば、投球直後から到達点領域507の表示が遅延なく開始されるようにすれば、投球直後の早い段階から到達点領域507にミートカーソル503aを合せる操作が可能となり、ユーザの予想が外れた場合よりも打撃操作の難易度が低下する。このように、予想の結果がユーザ操作の難易度として明確化されるので、予想結果に基づくメリットまたはデメリットをユーザが実感でき、予想の結果に対してユーザの納得感が得られ易くなる。
ところで、投球されたボール506がスライダー等の変化球であった場合、ボール506の軌道が移動中に変化するので、ボール506が、途中から第1ユーザの予想コースに入る(又は予想コースから出る)ことがある。図27および図28は、ボール506の軌道の変化に伴って、ストライクゾーン504に表示される到達点領域507の位置が変化する状態を説明する図である。同図中の点線で示す到達点領域507aは、投手キャラクタ502からのリリース直後のボール506の移動コース(軌道)に基づいて算出された到達点領域507の表示位置を示し、実線で示す到達点領域507bは、ボール506が最終的に作用領域としてのストライクゾーン504に到達したときの到達点領域507の表示位置を示す。同図中の矢印は、ボール506の軌道の変化に伴って到達点領域507の表示位置が移動したことを示している。ここで、第1ユーザは、インコースを予想しているものとする(よって、ストライクゾーン504の左側領域504aの色が変化している)。
図27に例示するように、投手キャラクタ502からのリリース直後は、ボール506が第1ユーザの予想コースであるインコースにあるが、途中でインコースから外れ、最終的に予想コース以外のコースに到達する場合がある。逆に、図28に例示するように、投手キャラクタ502からのリリース直後は、ボール506が第1ユーザの予想コースから外れたアウトコースにあるが、途中から予想コースであるインコースに入ってきて、最終的にインコースに到達する場合もある。
このように、第1ユーザが移動体の移動コースを予想した場合において、移動体の移動中に軌道が変化する場合、移動体の移動開始直後の移動コースと、最終的に作用領域に到達するときの移動コースとが異なる場合の制御について、以下に説明する。
本実施の形態の判定手段73は、移動体の移動開始直後の移動コースに基づいて、第1ユーザのコース予想の結果を判定することが好ましい。そして、当該判定の結果に基づいて、表示制御手段74は、前述したとおり、到達点領域507の表示開始タイミングを制御する。
よって、図27に例示するように、移動開始直後におけるボール506の移動コースが、第1ユーザの予想コースと合致しているが、その軌道の変化により、移動途中からユーザの予想コースから外れた場合には、次のようになる。この場合、ボール506の移動開始直後の移動コースがユーザの予想に合致しているので、最終的なボール506の到達位置がユーザの予想とは異なっていても、ユーザの予想が当たったとみなして、到達点領域507の表示開始タイミングが制御される。よって、予想が外れた場合(または予想が行われなかった場合)よりも前記遅延期間が短く設定される。例えば、前記遅延期間をゼロとして、ボール506の移動開始と同時に到達点領域507が表示されるようにする。
また、図28に例示するように、移動開始直後におけるボール506の移動コースが、ユーザの予想コースから外れているが、その軌道の変化により、移動途中からユーザの予想コースと合致する場合には、次のようになる。この場合、ボール506の移動開始直後の移動コースがユーザの予想から外れているので、最終的なボール506の到達位置がユーザの予想と合致していても、ユーザの予想が外れたとみなして、到達点領域507の表示開始タイミングが制御される。よって、予想が当たった場合(または予想が行われなかった場合)よりも、前記遅延期間が長く設定され、到達点領域507の表示開始タイミングが遅くなる。
また、移動体の移動開始直後の移動コースに基づいて、例えば上式(1)を適用して予想の一致度を判定し、予想の一致度が低いほど、前記遅延期間を長くする制御を行ってもよい。
このように、移動体の移動中に軌道が変化する場合において、移動開始直後の移動コースを基準としてユーザの予想の結果を判定し、この判定に基づいて到達点領域507の表示開始タイミングを制御するのは、次の理由による。例えば野球ゲームの場合、投球直後のボール506のコースがユーザの予想コースならば、投球後に素早く打者の目がそのボールを捉えることができる(ボール506に対する視認度が高い)ので、たとえその後、ユーザの予想コースからボールの軌道が外れても、ユーザの予想が当たったものとみなして、到達点領域507の表示開始を早いタイミングで行っているのである。一方、投球直後のボール506のコースがユーザの予想コースではないならば、たとえ最終的なボール506のコースがユーザの予想コースに入ってくる場合でも、投球直後においては打者の目がそのボールを捉えきれない(ボール506に対する視認度が低い)ので、ユーザの予想が外れたとみなして、到達点領域507の表示開始を遅くしているのである。
また、移動体の移動中に軌道が変化する場合において、仮に、移動体の最終的な移動コース(作用領域への到達位置)を基準としてユーザの予想の結果を判定し、この判定に基づいて到達点領域の表示開始タイミングを制御した場合には、次のような不都合が生じることも考えられる。例えば、図28に示すように、投球直後のボールのコースが、ユーザが予想したインコースから外れており、途中からボールのコースがユーザの予想コースに入ってくる場合において、到達点領域507の表示開始を、予想が的中したものとして早いタイミングで行ってしまうと、到達点領域507が表示された時点で、最終的には到達点領域507がインコースに行きつくものと、ユーザが未来予測できてしまう。なぜならば、投球直後の早い段階で到達点領域507が表示されるということは、ユーザのコース予想が当たっていることを意味するので、インコースを予想したはずなのに、投球直後に例えばアウトコースに到達点領域507が表示された場合、到達点領域507は最終的にはユーザが予想したインコースに行きつくことが予測できるのである。つまり、コース予想の範囲を超えて、変化球の軌道変化に対する未来予測も可能となってしまう。
これに対して、前述したように、移動体の移動開始直後の移動コースを基準としてユーザの予想の結果を判定し、到達点領域507の表示開始タイミングを制御することにより、前記のような未来予測ができる状況を回避できる。
但し、バリエーションとして、判定手段73が、移動体が作用領域へ到達する最終的な移動コースを基準としてユーザのコース予想の結果を判定し、この判定の結果に基づいて、表示制御手段74が到達点領域507の表示開始タイミングを制御する構成としてもよい。このバリエーションの場合、コース予想だけで、変化球の軌道変化に対する未来予測も可能となる状態を、敢えて積極的に作り出すことにより、コース予想が当たった場合のメリットを、ユーザがより大きく実感できる構成となる。
また、移動体の移動開始直後の移動コースに基づいて、第1ユーザのコース予想の結果を判定し、当該判定の結果に基づいて、到達点領域507の表示開始タイミングを制御する構成において、次の構成を適用することが好ましい。すなわち、移動開始直後における移動体の移動コースが、第1ユーザが予想した移動コースから外れており、且つ、移動体の軌道の変化により移動途中から移動体の移動コースが、第1ユーザが予想した移動コースと合致すると、判定手段73によって判定された場合、表示制御手段74は、移動体の移動コースが、移動開始直後から作用領域に到達するまでのすべてにおいて、第1ユーザが予想した移動コースから外れている場合よりも、前記遅延期間を短くすることが好ましい。
ここで、「移動体の移動コースが、第1ユーザが予想した移動コースから外れる」とは、第1ユーザが予想した移動コースと、移動手段72によって決定された移動コースと、が不一致の場合、または両者の一致度が所定の閾値またはレベル未満の場合を含む。また、「移動体の移動コースが、第1ユーザが予想した移動コースと合致する」とは、第1ユーザが予想した移動コースと、移動手段72によって決定された移動コースと、が一致した場合、または両者の一致度が所定の閾値またはレベル以上の場合を含む。
例えば、図28に示すように、投球直後のボール506のコースが、第1ユーザが予想したインコースから外れている場合、前述のように予想が外れたとみなされ、予想が当たった場合(または予想が行われなかった場合)よりも、前記遅延期間が長くなり、到達点領域507の表示開始タイミングが遅くなる。但し、ボール506の軌道の変化により、移動途中からボール506の移動コースが、ユーザの予想コースと合致する場合には、ボール506の移動コースが最初から最後までユーザの予想コースから外れる場合よりも、前記遅延期間が短くなり、到達点領域507の表示開始タイミングが早くなる。
これは、投球されたボール506の移動開始直後は、第1ユーザの予想コースから外れていても、移動途中から予想コースに入ってくるので、ボール506に対する打者の視認度が途中から高くなる状態を、ゲーム上で疑似的に再現したものである。これにより、ボール506の移動中に軌道が変化する場合における、ユーザの移動コースの予想結果を、打撃操作の難易度として、的確に反映させることができる。
ここで、本実施の形態のゲーム装置100の動作の一例を、図29のフローチャートを参照しながら以下に説明する。図29は、打撃を制御するための図25のフローチャートを一部変更したものであり、ステップS24以降の処理は、図25と同様であるため省略している。また、図25と同じステップには同一のステップ番号を付記し、適宜、その説明を省略する。
ゲーム装置100は、第1ユーザによって投球コース等の予想が行われたか否かを判断し(S19)、予想が行われていない場合(S19でNO)、前記遅延期間をデフォルトの値、例えば5フレーム(またはゼロであってもよい)に設定する(S20)。
一方、予想が行われている場合(S19でYES)、ゲーム装置100は、投球直後のボール506のコースが、第1ユーザの予想コースと合致しているか否かを判定する(S121)。すなわち、ゲーム装置100は、RAM5に記憶されている予想情報と、図23のステップS4において決定した移動パラメータの投球直後のコース(軌道)とを比較し、予想が的中したか否かを判定する。例えば、RAM5に記憶されている投球コースに関する予想情報が「インコース」であり、ステップS4において決定した移動パラメータとしての投球直後のコースもインコース領域に含まれるものであった場合、予想は合致(的中)したと判定される。一方、予想情報が「インコース」であり、ステップS4において決定した投球直後のコースがインコース領域に含まれていない場合、予想は外れたと判定される。
前記ステップS121でYESの場合、ゲーム装置100は、例えば、前記遅延期間をゼロに設定し、投球されたボール506の移動開始と同時に、到達点領域507の画面への表示を開始させる(S22)。
一方、ステップS121でNOの場合、ゲーム装置100は、移動途中のボール506のコース(軌道)が、第1ユーザの予想コースと合致しているか否かを判定する(S122)。すなわち、ゲーム装置100は、RAM5に記憶されている予想情報と、図23のステップS4において決定した移動パラメータの投球コースとを比較し、移動途中のコース(軌道)が第1ユーザの予想コースと合致しているか否かを判定する。
前記ステップS122でNOの場合、すなわち、ボール506の移動コースが移動開始直後から作用領域に到達する最後まで第1ユーザの予想コースから外れている場合(例えば、第1ユーザがインコースを予想し、アウトコースに直球が投球された場合)、前記遅延期間を20フレーム期間に設定する(S123)。
一方、前記ステップS122でYESの場合、すなわち、ボール506の移動開始直後は第1ユーザの予想コースから外れているが、移動途中から第1ユーザの予想コースと合致する場合(例えば、第1ユーザがインコースを予想し、アウトコースからインコースに変化する変化球が投球された場合)、前記遅延期間を10フレーム期間に設定する(S124)。
なお、前記ステップS124において設定される前記遅延期間は、10フレーム期間に限定されるものではなく、前記ステップS123において設定される前記遅延期間よりも大きい任意の値(但し、予想が行われなかった場合のデフォルトの遅延期間よりも大きい値)に設定できる。
また、前記ステップS22、S123、S124で設定される前記遅延期間は、固定の値ではなく、予想の一致度に応じて変動する値としてもよい。
前記ステップS20、S22、S123、S124の何れかの実行により、画面の作用領域には、到達点領域507の表示が開始される。なお、投球されたボール506の球種がストレートの場合には、一旦表示された到達点領域507の位置が変化しない(または変化しても重力による自然落下分程度である)が、前述のように、変化球の場合には、ボール506の軌道変化に伴って、画面に表示された到達点領域507の表示位置も変化する。
前記ステップS20、S22、S123、S124の何れかが実行された後は、図25に示すステップS24に移行する。ステップS24以降の処理は、図25に示すとおりである。
また、投球直後のボール506のコースが、第1ユーザの予想コースと合致している場合であっても、作用領域に到達する最後まで予想コースから外れない場合と、移動途中か予想コースから外れる場合とがあるので、バリエーションとして、後者の場合の前記遅延期間を、前者の場合の前記遅延期間よりも長く設定してもよい。
すなわち、移動体の移動コースが、移動開始から作用領域に到達する最後まで予想コースと合致する場合の前記遅延期間をTa、移動開始直後は予想コースと合致しているが、途中から予想コースと合致しなくなる(予想コースから外れる)場合の前記遅延期間をTb、予想が行われない場合のデフォルトの遅延期間をTc、移動開始直後は予想コースと合致していないが、途中から予想コースと合致する場合の前記遅延期間をTd、移動開始から作用領域に到達する最後まで予想コースと合致しない場合の前記遅延期間をTeとした場合、「Ta<Tb<Tc<Td<Te」または「Ta<Tb≦Tc<Td<Te」の関係が成立するように、前記遅延期間が設定されるようにしてもよい。
〔その他の実施の形態〕
前述の実施の形態では、ユーザの予想の結果に基づいて、到達点領域507の表示開始タイミング(前記遅延期間)を変化させる構成について説明したが、本実施の形態では、ユーザの予想結果に基づいて、到達点領域507の大きさを変化させる構成について説明する。なお、本実施の形態の到達点領域507の大きさを変化させる構成は、前述した到達点領域507の表示開始タイミングを変化させる構成と組み合わせて適用してもよいし、単独で採用してもよい。
本実施の形態のゲームでは、第1ユーザによって予想(投球コース、球種、球速等の予想)が行われた場合、その予想結果に基づいて、ホームベース508上方の作用領域に表示される到達点領域507の大きさが変化する。図30は第1ユーザの投球コースの予想が当たった場合のゲーム画面の一例、図31は投球コースの予想が行われなかった場合のゲーム画面の一例、図32は第1ユーザの投球コースの予想が外れた場合のゲーム画面の一例を示すものであり、それぞれの場合について、到達点領域507の大きさがどのように変化するのかを示している。なお、図30〜図32は、主に、到達点領域507の大きさの変化を説明するための図であるため、打者キャラクタ501等の画像を省略している。
図30に例示するように、第1ユーザの予想が当たった場合には、到達点領域507の大きさが、予想が行われなかった場合(図31参照)よりも大きくなる。これは、コース予想が的中すれば、そこに目線があるためボール506に対する視認度が向上するので、この状態を到達点領域507の大きさとしてゲーム上で疑似的に再現したものである。
よって、第1ユーザの予想が当たった場合、第1ユーザは、通常時(予想しない場合)よりも大きく表示された到達点領域507の所望の箇所を狙い易くなり、打撃操作の難易度が低下する。すなわち、大きく表示された到達点領域507の下部を狙って飛球を打ったり、その上部を狙ってゴロを打ったりする打ち分けが容易となる。また、到達点領域507自体が大きいので、照準カーソル503を到達点領域507に重ね易く、空振りもし難い。
例えば、無死または一死で、走者が三塁にいる場面では、外野フライを狙った打撃操作を行えば、タッチアップにより得点を挙げるといったプレイを楽しむことができる。また、例えば無死で、走者が二塁にいる場面では、右方向(ライト方向)にゴロを打つ打撃操作を行うことによって、走者を進塁させるといったプレイを楽しむことができる。そこで、前記のようなここぞという場面において、第1ユーザがコース等の予想を行うことによって、その予想が的中すれば、到達点領域507が通常時(予想しない場合)よりも大きくなり、自分の望みどおりの打撃操作がし易くなるチャンスが発生する。
もちろん、前記のような場面でなくとも、第1ユーザは、アウトカウントや走者の有無に関わりなく、任意に、予想を行うことができる。
また、図32に例示するように、第1ユーザの予想が外れた場合には、到達点領域507の大きさが、予想が行われなかった場合(図31参照)よりも小さくなる。これは、コース予想が外れた場合、ボール506が目線から外れているためボールに対する視認度が低下するので、この状態を到達点領域507の大きさを縮小してゲーム上で疑似的に再現したものである。このため、予想が外れた場合、予想をしなかった場合より、打撃操作が困難となり、ゲームに緊張感が生まれる。つまり、ユーザが、ここぞという場面で、投球コースの予想を行うことによって、自分の望みどおりの打撃等の操作がし易すくなるチャンスが発生する一方で、予想が外れると却って打撃が困難になってしまうというリスクも負うことになるため、高いゲーム性を実現できる。
なお、到達点領域507の形状と、到達点領域507に到達したときの移動体の形状とは、同一または略同一の相似関係にあり、図30ないし図32に例示するように、到達点領域507の大きさ(面積)が第1ユーザの予想の結果に応じて変化しても、その形状は移動体と相似である。
また、第1ユーザの予想の結果に応じて大きさが変化するのは、あくまで、到達点領域507であり、移動体としてのボール506ではない。投手キャラクタ502から送出されたボール506自体の大きさは、予想の有無やその結果によって変化するものではない。
図16に示すように、本実施の形態のゲーム装置100は、主に、前述した、予想受付手段71、移動手段72、判定手段73、表示制御手段74、決定手段75を備えている。ここで、決定手段75は、前述のとおり、少なくとも、照準カーソル503等により指定される特定領域(バットが当たる領域)と到達点領域507との位置関係に基づいて、移動体に対する作用(打撃結果)を決定する。すなわち、到達点領域507の大きさは、打撃操作の難易度に影響を与える。そして、表示制御手段74は、判定手段73による判定の結果に基づいて、到達点領域507の大きさを変化させる機能を有する。
表示制御手段74は、判定手段73によって第1ユーザの予想が当たったと判定された場合に、前記予想が行われなかった場合(または予想が外れたと判定された場合)よりも、到達点領域507を大きく表示することが好ましい。例えば、予想が行われなかった場合の到達点領域507の半径をR0、予想結果の判定に基づいて変化した到達点領域507の半径をR1とする。そして、第1ユーザの予想が当たったと判定された場合には、例えば下記の式(6)または式(7)を適用して、到達点領域507の大きさを決定することができる。
R1=R0+b ・・・(6)
R1=c×R0 ・・・(7)
ここで、上記b、cは定数であり、b>0、c>1である。一例としては、b=0.3とした上式(6)を適用する。これは一例であり、他の演算式を適用してもよい。
あるいは、予想しなかった場合および予想が当たった場合のそれぞれについて、到達点領域507の大きさの情報を、予め記憶装置(RAM5等)に記憶しておき、当該情報に基づいて到達点領域507の大きさを決定してもよい。
この構成により、図30に例示するように、第1ユーザの予想が当たった場合には、到達点領域507の大きさが、予想が行われなかった場合(図31参照)よりも大きくなる。これは、第1ユーザのコース予想が的中すれば、そこに打者の目線があるためボール506に対する視認度が向上するので、この状態を到達点領域507の大きさとしてゲーム上で疑似的に再現したものである。
なお、第1ユーザの予想が球種予想または球速予想であった場合も、同様に、その予想が当たれば、到達点領域507の大きさが、予想が行われなかった場合よりも大きくなる。これは、第1ユーザが球種を予想し、その予想が的中すれば、ボール506の軌道変化に打者の目がついていき易いため、ボール506に対する視認度が向上するので、この状態を到達点領域507の大きさとしてゲーム上で疑似的に再現したものである。また、第1ユーザが球速(例えば速球かチェンジアップか)を予想し、その予想が的中すれば、ボール506の速度に打者の目がついていき易いため、ボール506に対する視認度が向上するので、この状態を到達点領域507の大きさとしてゲーム上で疑似的に再現したものである。
また、表示制御手段74は、判定手段73によって第1ユーザの予想が外れたと判定された場合に、前記予想が行われなかった場合(または予想が当たったと判定された場合)よりも到達点領域507を小さく表示することが好ましい。例えば下記の式(8)または式(9)を適用して、第1ユーザの予想が外れた場合の到達点領域507の大きさを決定することができる。
R1=R0−d ・・・(8)
R1=e×R0 ・・・(9)
ここで、上記d、eは定数であり、d>0、且つd<R0である。また、e>0、且つ、e<1である。一例としては、d=0.3とした上式(4)を適用する。これは一例であり、他の演算式を適用してもよい。
あるいは、予想が行われなかった場合、予想が当たった場合および予想が外れた場合のそれぞれについて、到達点領域507の大きさの情報を、予め記憶装置(RAM5等)に記憶しておき、当該情報に基づいて到達点領域507の大きさを決定してもよい。
この構成により、図32に例示するように、第1ユーザの予想が外れた場合には、到達点領域507の大きさが、予想が行われなかった場合(図31参照)よりも小さくなる。これは、コース予想が外れた場合、ボール506が目線から外れているためボールに対する視認度が低下するので、この状態を到達点領域507の大きさを縮小してゲーム上で疑似的に再現したものである。
なお、第1ユーザの予想が球種予想または球速予想であった場合も、同様に、その予想が外れれば、到達点領域507の大きさが、予想が行われなかった場合よりも小さくなる。これは、第1ユーザが球種を予想し、その予想が外れれば、ボール506の軌道変化に打者の目がついていかないため、ボール506に対する視認度が低下するので、この状態を到達点領域507の大きさを縮小してゲーム上で疑似的に再現したものである。また、第1ユーザが球速(例えば速球かチェンジアップか)を予想し、その予想が外れれば、ボール506の緩急の違いに打者の目がついていかないため、ボール506に対する視認度が向上するので、この状態を到達点領域507の大きさを縮小してゲーム上で疑似的に再現したものである。
このため、第1ユーザの予想が外れた場合、小さくなった到達点領域507に照準カーソル503を重ね難くなり、空振りし易くなる。また、到達点領域507が小さいため、到達点領域507の下部を狙って飛球を打ったり、その上部を狙ってゴロを打ったりする打ち分けは極めて困難になる。このように、第1ユーザの予想が外れた場合、予想をしなかった場合より、打撃操作が困難となり、ゲームに緊張感が生まれる。
つまり、第1ユーザが、ここぞという場面で、投球コース等の予想を行うことによって、自分の望みどおりの打撃操作がし易すくなるチャンスが発生する一方で、予想が外れると却って打撃操作が困難になってしまうというリスクも負うことになるため、高いゲーム性を実現できる。
また、表示制御手段74は、判定手段73によって判定された予想の一致度が高いほど、到達点領域507の表示範囲をより大きくする構成とすることができる。例えば、予想の一致度が所定の閾値またはレベル以上の場合に、予想が的中したものとし、予想しない場合よりも到達点領域507を、大きく表示する。そして、この場合の到達点領域507は、予想の一致度が高いほど、連続的にまたは段階的に大きくなるようにする。
また、例えば、予想の一致度が所定の閾値またはレベル未満の場合に、予想が外れたものとし、予想しない場合よりも到達点領域を小さく表示する。そして、この場合の到達点領域は、予想の一致度が低いほど、連続的にまたは段階的に小さくなり、打撃操作の困難度が増す。
予想の一致度によって到達点領域507の大きさを変更する具体例を、次に示す。例えば、予想が行われなかった場合の到達点領域507の半径をR0、予想結果の判定に基づいて変化した到達点領域507の半径をR1、前述の式(1)により求めた予想の一致度をMとする。そして、例えば下記の式(10)を適用して、到達点領域507の大きさを決定することができる。
R1=(2M/a)×R0 ・・・(10)
上式(10)において、aは上式(1)と同じ定数である。上式(10)の場合、予想の一致度Mが、M>(a/2)の場合に、到達点領域507の大きさが、予想を行わない場合よりも大きくなり、M<(a/2)の場合に、予想を行わない場合よりも小さくなる。これは一例であり、他の演算式を適用してもよい。
あるいは、予想の一致度と到達点領域507の大きさとの関係を示す情報に基づいて到達点領域507の大きさを決定してもよい。例えば、予想の一致度と到達点領域507の大きさとの関係を示すテーブルの情報が、ゲームプログラムが記録された記録媒体300に格納されており、ゲームの実行時に前記テーブルの情報がRAM5にロードされる。この場合、表示制御手段74は、前記テーブルに基づいて、予想の一致度に対応した到達点領域507の大きさを設定する。
このように、予想の一致度に応じて到達点領域507の大きさを変動させることにより、予想の一致度を打撃操作の難易度として的確に反映させることができ、より興趣性の高いゲームを実現できる。
本実施の形態の構成により、ユーザの予想の結果が、画面上に表示される到達点領域507の大きさの変化により明確化されるため、第1ユーザにとって予想が当たったことによるメリット(または外れたことによるデメリット)を、第1ユーザに画面表示を通して明確に認識させることができる。よって、この構成により、あるいはこの構成と、到達点領域507の表示開始タイミングを変化させる前述の実施の形態の構成との組み合わせにより、予想結果に基づくメリットまたはデメリットを、打撃操作の難易度の変化としてユーザが実感でき、予想の結果に対してユーザの納得感がさらに得られ易くなる。
ここで、本実施の形態のゲーム装置100の動作の一例を、図33のフローチャートを参照しながら以下に説明する。図33は、打撃を制御するための図25のフローチャートを一部変更したものであり、ステップS24以降の処理は、図25と同様であるため省略している。また、図25と同じステップには同一のステップ番号を付記し、適宜、その説明を省略する。
ゲーム装置100は、第1ユーザによって投球コース等の予想が行われたか否かを判断し(S19)、予想が行われていない場合(S19でNO)、前記遅延期間をデフォルトの値に設定すると共に(S20)、到達点領域507をデフォルトの標準的な大きさで表示する(S131)。例えば、デフォルトの遅延期間をゼロとして、投球されたボール506の移動開始と同時に、到達点領域507の画面への表示を開始させてもよい。あるいは、前記遅延期間をデフォルトの値、例えば10フレームに設定し、投球されたボール506の移動開始時から10フレーム期間の経過後に、到達点領域507の画面への表示を開始させてもよい。
一方、予想が行われている場合(S19でYES)、ゲーム装置100は、その予想の結果を判定する(S21)。ここで、予想が的中している場合(S21でYES)、ゲーム装置100は、例えば、前記遅延期間をゼロに設定し、投球されたボール506の移動開始と同時に、到達点領域507の画面への表示を開始させる(S22)。このとき、ゲーム装置100は、図30に例示するように、到達点領域507の大きさを、予想が行われなかった場合(図31参照)よりも大きく表示する(S132)。よって、第1ユーザの予想が当たった場合には、打撃操作の難易度が低下するというメリットが発生し、投球と同時に通常よりも大きく表示された到達点領域507に、直ちにミートカーソル503aを移動させる操作が可能となる。また、大きく表示された到達点領域507の下部を狙って飛球を打ったり、その上部を狙ってゴロを打ったりする打ち分けが容易となる。
一方、予想が外れている場合(S21でNO)、ゲーム装置100は、前記遅延期間を例えば20フレームに設定し、投球されたボール506の移動開始時から20フレーム期間の経過後に、到達点領域507の画面への表示を開始させる(S23)。このとき、ゲーム装置100は、図32に例示するように、到達点領域507の大きさを、予想が行われなかった場合(図31参照)よりも小さく表示する(S133)。このように、予想が外れている場合、予想が当たった場合(または予想が行われなかった場合)よりも、到達点領域507の表示開始タイミングを遅らせると共に、到達点領域507自体も小さくすることによって、打撃操作の難易度が高くなるというデメリットが発生する。
なお、バリエーションとしては、ステップS133を省略し、到達点領域507の表示遅延のデメリットのみを発生させる、または、ステップS23を省略し、到達点領域507の表示領域の縮小のデメリットのみを発生させるようにしてもよい。
なお、ゲーム装置100は、前述のように、予想の一致度が低いほど、連続的にまたは段階的に、前記遅延期間を長くし、および/または、到達点領域507の大きさを小さくしてもよい。
前記ステップS131〜S133の何れかが実行された後は、図25に示すステップS24に移行する。ステップS24以降の処理は、図25に示すとおりである。
ところで、本実施の形態の場合、図30、図31等に例示するように、到達点領域507の一部分が照準カーソル503と重なる場合と、図34〜図36に例示するように、到達点領域507の全部が照準カーソル503と重なる場合がある。特に、予想が外れて到達点領域507が縮小されて、照準カーソル503よりも到達点領域507の方が小さくなった場合には、到達点領域507の全部が照準カーソル503と重なることがある。そこで、図26に例示した打撃結果決定処理を、図37のフローチャートに例示するように変形することが好ましい。ここで、図37のフローチャートは、図26のフローチャートにステップS141およびS142を追加したものであり、図26と同じステップには同一のステップ番号を付記している。
図37に示すように、到達点領域507と照準カーソル503とが重なっており(S31でYES)、且つ、打撃可能タイミングでバットスイング操作が行われた場合(S32でYES)、次に例示する処理によって打球のパラメータが決定される。先ず、到達点領域507の一部分が照準カーソル503と重なっているか否かが判定される(S141)。このステップS141でYESの場合、到達点領域507の下部が照準カーソル503と重なっているか否かが判定される(S34)。図8、図30に例示するように、到達点領域507の下部が照準カーソル503と重なっている場合(S34でYES)、打撃結果を飛球(フライまたはライナー)とする(S35)。また、図9、図30に例示するように、到達点領域507の上部が照準カーソル503と重なっている場合(S34でNO)、打撃結果をゴロとする(S36)。
一方、到達点領域507の全部が照準カーソル503と重なっている場合(S141でNO)、ゲーム装置100は、到達点領域507と照準カーソル503との位置関係に基づいて、次のように打球のパラメータを決定する。
すなわち、図34に例示するように、照準カーソル503の上部領域で到達点領域507を捉えた場合(S142でYES)、打撃結果を飛球(フライまたはライナー)とする(S35)。これは、バットオブジェクト505の表面は曲面状であり、その上部領域の曲面でボール506を捉えた場合には、打球の角度が上がるからである。また、図35、図36に例示するように、照準カーソル503の上部領域で到達点領域507を捉えた場合(S142でNO)、打撃結果をゴロとする(S36)。これは、バットオブジェクト505の下部領域の曲面でボール506を捉えた場合には、打球の角度が下がるからである。
なお、図34および図35のように、照準カーソル503のミートカーソル503aで到達点領域507を捉えた場合には、強い打球となり、図36のように、照準カーソル503におけるミートカーソル503a以外の部分で、到達点領域507を捉えた場合には、弱い打球(凡打)になる。但し、必ずしも照準カーソル503にミートカーソル503aという強打になる領域を設ける必要はない。
以上のように、本実施の形態の構成によれば、第1ユーザが、投球コース等の予想を行うことによって、その予想が的中すれば、到達点領域507が大きくなってボールの視認性が向上した状態となる。これにより、飛球やゴロを打ち分ける等、自分の望みどおりの打撃操作がし易すくなるチャンスが発生する。よって、第1ユーザは、例えばタッチアップにより得点できるような場面で予想を行って、外野フライを狙うといったゲームプレイを楽しむことができる。予想が当たれば上記のようなメリットが発生するが、その一方で、予想が外れると、到達点領域507が小さくなってボールの視認性が低下した状態となり、却って打撃操作が困難になってしまうというリスクも負うことになるため、高いゲーム性を実現できる。
なお、打撃操作時の打ち分けを可能とするために、常時、到達点領域507の表示を大きくしてしまうと、常に打撃操作自体が容易なものとなってしまい、ゲーム性を損なうことになり兼ねない。これに対し、本実施の形態の構成では、予想が的中した場合にのみ打球の打ち分けがし易すくなるチャンスが発生するようにし、さらに予想が外れた場合のリスクを付加することにより、高いゲーム性を実現できる。
なお、変化球のように移動体の移動中に軌道が変化する場合、前述の実施の形態と同様にして、到達点領域507の大きさを制御することが好ましい。すなわち、判定手段73は、移動体の移動開始直後の移動コースに基づいて、ユーザのコース予想の結果を判定し、この判定結果に基づいて、表示制御手段74が到達点領域507の大きさを変化させることが好ましい。あるいは、移動体が作用領域へ到達する最終的な移動コースを基準としてユーザのコース予想の結果を判定し、この判定の結果に基づいて、表示制御手段74が到達点領域507の大きさを変化させる構成としてもよい。
また、移動開始直後における移動体の移動コースが、ユーザが予想した移動コースから外れており、且つ、移動体の軌道の変化により移動途中から移動体の移動コースが、ユーザが予想した移動コースと合致すると、判定手段73によって判定された場合、表示制御手段74は、移動体の移動コースが、移動開始直後から作用領域に到達するまでのすべてにおいて、ユーザが予想した移動コースから外れている場合よりも、到達点領域507の表示範囲を大きくすることが好ましい。
但し、到達点領域507の表示を開始したときから、上記のように到達点領域507の表示範囲を大きくした場合、到達点領域507が表示された時点で、最終的には到達点領域507がユーザの予想した移動コースに行きつくものと、ユーザが未来予測できてしまう。なぜならば、上記のように到達点領域507が大きく表示されるということは、最終的なユーザのコース予想が当たっていることを意味するので、例えばインコースを予想したはずなのに、アウトコースに到達点領域507が表示された場合、到達点領域507は最終的にはユーザが予想したインコースに行きつくことが予測できるのである。つまり、コース予想の範囲を超えて、変化球の軌道変化に対する未来予測も可能となってしまう。そこで、上記の場合、到達点領域507の最初の表示から到達点領域507を大きくするのではなく、到達点領域507の表示範囲を途中から大きくすることが好ましい。すなわち、上記の場合、到達点領域507の表示開始時においては、表示制御手段74は、到達点領域507を、移動体の移動コースが、移動開始直後から作用領域に到達するまでのすべてにおいて、ユーザが予想した移動コースから外れている場合と同じ大きさで表示させる。その後、移動体が作用領域に到達するまでの途中の段階で、到達点領域507の表示範囲を上記のように大きくする。これにより、到達点領域507が表示された時点で前記のような未来予測ができる状況を回避できる。
上記のように到達点領域507の表示範囲を途中から大きくする場合、例えば、ユーザの予想コースから外れていた移動体の移動コースが、ユーザの予想コースと合致するようになったタイミングで、到達点領域507を瞬時に大きくしてもよいし、当該タイミングから徐々に大きくしてもよいし、あるいは当該タイミングの所定時間前(例えば10フレーム前)から前記タイミングにかけて徐々に大きくしてもよい。
なお、移動体の移動コースがユーザの予想コースと合致するようになった前記タイミングが、移動体の作用領域に到達する直前の場合も考えられる。打撃直前のこのタイミングで到達点領域507の大きさを変化させると、却って打撃操作がし難くなることも考えられるので、到達点領域507の表示範囲を途中から大きくするタイミング(移動体が作用領域に到着するまでの残り期間)には、制限を設けてもよい。例えば、移動体が作用領域に到着するまでの残り時間が45フレームよりも小さくなる場合には、移動体が作用領域に到着する45フレーム前を、途中から到達点領域507を大きくするタイミングとする。
あるいは、移動体の移動コースがユーザの予想コースと合致するようになったタイミングに依らず、途中から到達点領域507を大きくするタイミングを、固定としてもよい。たとえば、途中から到達点領域507を大きくするタイミングを、移動体が作用領域に到着する所定時間前(例えば、45フレーム前)に固定してもよい。
但し、バリエーションとしては、到達点領域507の表示を開始したときから、上記のように到達点領域507の表示範囲を大きくするようにしてもよい。
また、移動体の移動コースが、移動開始から作用領域に到達する最後まで予想コースと合致する場合の到達点領域507の大きさ(面積)をSa、移動開始直後は予想コースと合致しているが、途中から予想コースと合致しなくなる(予想コースから外れる)場合の到達点領域507の大きさをSb、予想が行われない場合のデフォルトの到達点領域507の大きさをSc、移動開始直後は予想コースと合致していないが、途中から予想コースと合致する場合の到達点領域507の大きさをSd、移動開始から作用領域に到達する最後まで予想コースと合致しない場合の到達点領域507の大きさをSeとした場合、「Sa>Sb>Sc>Sd>Se」または「Sa>Sb≧Sc>Sd>Se」の関係が成立するように、到達点領域507の大きさが設定されるようにしてもよい。
〔その他の実施の形態〕
前述の各実施の形態では、ユーザの予想の結果に基づいて、到達点領域507の表示開始タイミング(前記遅延期間)を変化させる構成、および/または、到達点領域507の大きさを変化させる構成について説明したが、本実施の形態では、ユーザの予想結果に基づいて、移動体の移動速度を変化させる構成について説明する。なお、本実施の形態の移動体の移動速度を変化させる構成は、前述した各構成の何れか一方、または両方と組み合わせて適用してもよいし、単独で採用してもよい。
本実施の形態のゲームは、移動体が作用領域またはその近傍に到達した所定のタイミングで、ユーザによって所定の作用付与操作が行われた場合に、移動体に作用を与えることが可能となるゲームである。前述したとおり、野球ゲームでは、ボール506が作用領域またはその近傍に到達した所定の打撃可能タイミングで、第1ユーザによってバットスイング操作が行われた場合に、ボール506を打撃することが可能となる。よって、打者として操作する第1ユーザは、照準カーソル503等により特定される特定領域を、到達点領域507に重ねる操作だけではなく、移動するボール506を見ながらタイミングを計り、打撃可能なタイミングでバットスイング操作(作用付与のタイミングを指定する操作)を行う必要がある。よって、ボール506の移動速度は、タイミングを計る上で重要なゲーム要素である。
本実施の形態のゲーム装置100の移動手段72は、前記判定手段73によるユーザの予想結果の判定に基づいて、移動体の移動速度を変化させる機能を有する。
移動手段72は、判定手段73によってユーザの予想が当たったと判定された場合に、前記予想が行われなかった場合よりも、移動体の移動速度を小さくすることが好ましい。例えば、予想が行われなかった場合のボール506の移動速度をV0、予想結果の判定に基づいて変化したボール506の移動速度をV1とする。そして、第1ユーザの予想が当たったと判定された場合には、例えば下記の式(11)または式(12)を適用して、ボール506の移動速度V1を決定することができる。
V1=V0−f ・・・(11)
V1=g×V0 ・・・(12)
ここで、上記f、gは定数であり、f>0、且つf<V0である。また、g>0、且つ、g<1である。一例としては、g=0.5とした上式(12)を適用する。これは一例であり、他の演算式を適用してもよい。
あるいは、予想しなかった場合および予想が当たった場合のそれぞれについて、ボール506の移動速度の大きさの情報を、予め記憶装置(RAM5等)に記憶しておき、当該情報に基づいて移動速度の大きさを決定してもよい。
野球ゲームの場合、予想が行われなかった場合のボール506の移動速度V0は、球種(直球、変化球)や投手キャラクタ502の能力に応じて変化するが、移動パラメータ(投球コース、球速、球種等)に関する予想が当たった場合には、例えば、ボール506の移動速度V1が、移動速度V0の半分になる。具体例を挙げると、投手キャラクタ502からボール506が送出されてからホームベース508に到達するまでの時間が1.5秒(90フレーム)であった場合、予想が的中した場合には、ボール506の速度が小さくなり、ホームベース508に到達するまでの時間が3.0秒(180フレーム)となる。すなわち、1フレームで移動するボール506の距離を1/2にし、ボール506がホームベース508に到達するまでの駆動フレーム数を2倍にする。
これは、第1ユーザのコース予想が的中すれば、そこに打者の目線があるためボール506に対する視認度が向上するので、ボール506があたかもスローモーションでゆっくり移動するように見える状態を、ゲーム上で疑似的に再現したものである。
なお、第1ユーザの予想が球種予想または球速予想であった場合も、同様に、その予想が当たれば、ボール506の移動速度が、予想が行われなかった場合よりも小さくなる。これは、第1ユーザが球種を予想し、その予想が的中すれば、ボール506の軌道変化に打者の目がついていき易いため、ボール506に対する視認度が向上するので、この状態をボール506の移動速度を低下させることによってゲーム上で疑似的に再現したものである。また、第1ユーザが球速(例えば速球かチェンジアップか)を予想し、その予想が的中すれば、ボール506の速度に打者の目がついていき易いため、ボール506に対する視認度が向上するので、この状態をボール506の移動速度を低下させることによってゲーム上で疑似的に再現したものである。
このため、第1ユーザの予想が的中した場合、第1ユーザは、バットスイング操作等を行うタイミングを取り易くなり、打撃操作の難易度が低下する。従って、本構成を、第1ユーザの予想が的中した場合、予想が行われなかった場合よりも前記遅延期間を短くする構成、および/または、到達点領域507を大きく表示する構成と併せて採用した場合、第1ユーザは、所望の打撃操作をより行い易くなる。
また、移動手段72は、判定手段73によってユーザの予想が外れたと判定された場合に、前記予想が行われなかった場合よりも、移動体の移動速度を大きくすることが好ましい。例えば下記の式(13)または式(14)を適用して、ボール506の移動速度V1を決定することができる。
V1=V0+h ・・・(13)
V1=i×V0 ・・・(14)
ここで、上記h、iは定数であり、h>0、i>1である。一例としては、i=1.5とした上式(14)を適用する。これは一例であり、他の演算式を適用してもよい。
あるいは、予想しなかった場合、予想が当たった場合および予想が外れた場合のそれぞれについて、ボール506の移動速度の大きさの情報を、予め記憶装置(RAM5等)に記憶しておき、当該情報に基づいて移動速度の大きさを決定してもよい。
具体例を挙げると、投手キャラクタ502からボール506が送出されてからホームベース508に到達するまでの時間が1.5秒(90フレーム)であった場合、予想が外れた場合には、ボール506の速度が大きくなり、ホームベース508に到達するまでの時間が1.0秒(60フレーム)となる。
これは、例えばコース予想が外れた場合、ボールが目線から外れているためボールの動きにユーザの視線が追いつかず、ボールが体感的に速く感じるので、この状態をゲーム上で疑似的に再現したものである。
なお、第1ユーザの予想が球種予想または球速予想であった場合も、同様に、その予想が外れれば、ボール506の移動速度が、予想が行われなかった場合よりも大きくなる。これは、第1ユーザが球種を予想し、その予想が外れれば、ボール506の軌道変化に打者の目がついていかないため、ボールが体感的に速く感じるので、この状態をゲーム上で疑似的に再現したものである。また、第1ユーザが球速(例えば速球かチェンジアップか)を予想し、その予想が外れれば、ボール506の緩急の違いに打者の目がついていかないため、ボールが体感的に速く感じるので、この状態をゲーム上で疑似的に再現したものである。
このため、第1ユーザの予想が外れた場合、通常よりも速く移動するボール506にタイミングを合わせ難くなり、空振りし易くなる。このため、ユーザの予想が外れた場合、予想をしなかった場合よりも打撃操作等の作用付与操作がさらに困難となり、ゲームにより緊張感が生まれる。
また、前記判定手段73は、予想受付手段71によって受け付けられたユーザの予想に関する情報と、移動体の移動パラメータとに基づいて、予想の一致度を判定するものであり、移動手段72は、判定手段73によって判定された予想の一致度が高いほど、移動体の移動速度をより小さくする構成とすることができる。例えば、予想の一致度が所定の閾値またはレベル以上の場合に、予想が的中したものとし、予想しない場合よりもボール506の移動速度を小さくする。そして、この場合のボール506の移動速度は、予想の一致度が高いほど、連続的にまたは段階的に小さくなるようにする。
また、例えば、予想の一致度が所定の閾値またはレベル未満の場合に、予想が外れたものとし、予想しない場合よりもボール506の移動速度を大きくする。そして、この場合のボール506の移動速度は、予想の一致度が低いほど、連続的にまたは段階的に大きくなり、打撃操作の困難度が増す。
予想の一致度によってボール506の移動速度を変更する具体例を、次に示す。例えば、予想が行われなかった場合のボール506の移動速度をV0、予想結果の判定に基づいて変化したボール506の移動速度をV1、前述の式(1)により求めた予想の一致度をMとする。そして、例えば下記の式(15)を適用して、移動速度V1を決定することができる。
V1=(a/2M)×V0・・・(15)
上式(15)において、aは上式(1)と同じ定数である。上式(15)の場合、予想の一致度Mが、M>(a/2)の場合に、移動速度V1が、予想を行わない場合の移動速度V0よりも小さくなり、M<(a/2)の場合に、移動速度V0よりも大きくなる。これは一例であり、他の演算式を適用してもよい。
あるいは、予想の一致度とボール506の移動速度との関係を示す情報に基づいてボール506の移動速度の大きさを決定してもよい。例えば、予想の一致度とボール506の移動速度の大きさとの関係を示すテーブルの情報が、ゲームプログラムが記録された記録媒体300に格納されており、ゲームの実行時に前記テーブルの情報がRAM5にロードされる。この場合、移動手段72は、前記テーブルに基づいて、予想の一致度に対応したボール506の移動速度を設定する。
このように、予想の一致度に応じてボール506の移動速度を変動させることにより、予想の一致度を、打撃操作(打撃可能なタイミングでスイングする操作)の難易度として的確に反映させることができ、より興趣性の高いゲームを実現できる。
ここで、本実施の形態のゲーム装置100の動作の一例を、図38のフローチャートに示す。この図38は、打撃を制御するための図33のフローチャートに、予想の有無および予想の結果に基づいてボール506の移動速度を変化させる処理(ステップS151〜S153)を追加したものである。図23と同じステップには同一のステップ番号を付記している。
ゲーム装置100は、第1ユーザによって投球コース等の予想が行われたか否かを判断し(S19)、予想が行われていない場合(S19でNO)、ボール506の移動速度をデフォルトに設定する(S151)。ここで、デフォルトの移動速度とは、上式(11)〜(15)における、予想が行われなかった場合のボール506の移動速度V0に相当するものであり、図23のステップS4で決定された移動パラメータに基づく、通常の移動速度である。また、予想が行われていない場合、前記遅延期間および到達点領域507の大きさもデフォルトに設定される(S20およびS131)。
一方、予想が行われている場合(S19でYES)、ゲーム装置100は、その予想の結果を判定する(S21)。ここで、予想が的中している場合(S21でYES)、ゲーム装置100は、ボール506の移動速度を、予想が行われなかった場合よりも小さく設定する(S152)。これにより、投球されたボール506の移動がゆっくりとなるので、打撃可能なタイミングに合わせたスイング操作が容易となる。また、ゲーム装置100は、前記遅延期間を例えばゼロに設定し(S22)、到達点領域507の大きさを、予想が行われなかった場合よりも大きく表示する(S132)。すなわち、第1ユーザの予想が当たった場合には、前記ステップS152、S22、S132による3つのメリットが発生し、打撃操作の難易度が低下する。なお、予想が当たった場合には、これら3つのメリットのうちの少なくとも1つが発生するようにしてもよい。
一方、予想が外れている場合(S21でNO)、ゲーム装置100は、ボール506の移動速度を、予想が行われなかった場合よりも大きく設定する(S153)。さらに、ゲーム装置100は、前記遅延期間を、予想が行われなかった場合よりも長い値(例えば20フレーム)に設定し(S23)、到達点領域507の大きさを、予想が行われなかった場合よりも小さく表示する(S133)。すなわち、第1ユーザの予想が外れた場合には、前記ステップS153、S23、S133による3つのデメリットが発生し、打撃操作の難易度が向上する。なお、予想が外れた場合には、これら3つのデメリットのうちの少なくとも1つが発生するようにしてもよい。
前記ステップS41、S42またはS43の何れかが実行された後は、図25に示すステップS24に移行する。ステップS24以降の処理は、図25に示すとおりである。
なお、変化球のように移動体の移動中に軌道が変化する場合、前述の各実施の形態と同様にして、移動体の移動速度を制御することが好ましい。すなわち、判定手段73は、移動体の移動開始直後の移動コースに基づいて、ユーザのコース予想の結果を判定し、この判定結果に基づいて、移動手段72が移動体の移動速度を変化させることが好ましい。あるいは、移動体が作用領域へ到達する最終的な移動コースを基準としてユーザのコース予想の結果を判定し、この判定の結果に基づいて、移動手段72が移動体の移動速度を変化させる構成としてもよい。
また、移動開始直後における移動体の移動コースが、ユーザが予想した移動コースから外れており、且つ、移動体の軌道の変化により移動途中から移動体の移動コースが、ユーザが予想した移動コースと合致すると、判定手段73によって判定された場合、移動手段72は、移動体の移動コースが、移動開始直後から作用領域に到達するまでのすべてにおいて、ユーザが予想した移動コースから外れている場合よりも、移動体の移動速度を小さくすることが好ましい。
但し、移動体が移動を開始したときから、上記のように移動体の移動速度を小さくした場合、最終的には到達点領域507がユーザの予想した移動コースに行きつくものと、ユーザが未来予測できてしまう。なぜならば、上記のように移動体の移動速度が小さくなるということは、最終的なユーザのコース予想が当たっていることを意味するので、例えばインコースを予想したはずなのに、アウトコースに到達点領域507が表示された場合、到達点領域507は最終的にはユーザが予想したインコースに行きつくことが予測できるのである。つまり、コース予想の範囲を超えて、変化球の軌道変化に対する未来予測も可能となってしまう。そこで、上記の場合、移動体が移動を開始した時点から移動体の移動速度を小さくするのではなく、移動途中から移動速度を小さくすることが好ましい。すなわち、上記の場合、移動体の移動開始直後においては、移動手段72は、移動体の移動速度を、移動体の移動コースが、移動開始直後から作用領域に到達するまでのすべてにおいて、ユーザが予想した移動コースから外れている場合と同じとする。その後、移動体が作用領域に到達するまでの途中の段階で、移動体の移動速度を上記のように小さくする。これにより、移動体が移動を開始したときから前記のような未来予測ができる状況を回避できる。
上記のように移動体の移動速度を途中から小さくする場合、例えば、ユーザの予想コースから外れていた移動体の移動コースが、ユーザの予想コースと合致するようになったタイミングで、移動速度を瞬時に小さくしてもよいし、当該タイミングから徐々に小さくしてもよいし、あるいは当該タイミングの所定時間前(例えば10フレーム前)から前記タイミングにかけて徐々に小さくしてもよい。
なお、移動体の移動コースがユーザの予想コースと合致するようになった前記タイミングが、移動体の作用領域に到達する直前の場合も考えられる。打撃直前のこのタイミングで移動体の移動速度を変化させると、却って打撃操作がし難くなることも考えられるので、移動体の移動速度を途中から小さくするタイミング(移動体が作用領域に到着するまでの残り期間)には、制限を設けてもよい。例えば、移動体が作用領域に到着するまでの残り時間が45フレームよりも小さくなる場合には、移動体が作用領域に到着する45フレーム前を、途中から移動体の移動速度を小さくするタイミングとする。
あるいは、移動体の移動コースがユーザの予想コースと合致するようになったタイミングに依らず、途中から移動体の移動速度を小さくするタイミングを、固定としてもよい。たとえば、途中から到達点領域507を大きくするタイミングを、移動体が作用領域に到着する所定時間前(例えば、45フレーム前)に固定してもよい。
但し、バリエーションとしては、移動体が移動を開始したときから、上記のように移動体の移動速度を小さくするようにしてもよい。
また、移動体の移動コースが、移動開始から作用領域に到達する最後まで予想コースと合致する場合の移動体の移動速度をVa、移動開始直後は予想コースと合致しているが、途中から予想コースと合致しなくなる(予想コースから外れる)場合の移動体の移動速度をVb、予想が行われない場合のデフォルトの移動体の移動速度をVc、移動開始直後は予想コースと合致していないが、途中から予想コースと合致する場合の移動体の移動速度をVd、移動開始から作用領域に到達する最後まで予想コースと合致しない場合の移動体の移動速度をVeとした場合、「Va<Vb<Vc<Vd<Ve」または「Va<Vb≦Vc<Vd<Ve」の関係が成立するように、前記移動速度が設定されるようにしてもよい。
〔その他の実施の形態〕
以下には、前記遅延期間、および/または到達点領域507の大きさを変動させるバリエーションについて説明する。
本実施の形態のゲームは、ユーザが操作する第1キャラクタが、移動体に対して作用を与えるゲームである。ここで、第1キャラクタの例としては、野球ゲームでは打者キャラクタ501、サッカーゲームではゴールキーパーキャラクタ、テニスゲームでは相手が打ったボールを打ち返すレシーバーキャラクタがそれに該当する。なお、第1キャラクタは人物キャラクタである必要はなく、動物、モンスター、ロボット、戦闘機等であってもよい。これらは一例であり、ゲームの種類や内容に応じた第1キャラクタを適用できる。
本ゲーム装置100は、図39の機能ブロック図に示すように、前述した手段71〜75の他に、情報管理手段77を備えている。この情報管理手段77は、第1キャラクタのパラメータを管理する機能を有する。ここでは、第1キャラクタを野球ゲームの打者キャラクタ501として以下に説明する。
打者キャラクタ501のパラメータとしては、打撃能力、投球コースの得意・不得意、球種の得意・不得意、スタミナ(出場イニング数が多くなるにつれ疲労によりスタミナ低下)などが例示できる。情報管理手段77は、前記のような打者キャラクタ501のパラメータを、記憶装置(RAM5等)に記憶して管理している。打者キャラクタ501のパラメータは、例えば図1に示す記録媒体300またはメモリ18に格納されており、ゲーム開始時に読み出されてRAM5に記憶される。また、ゲーム装置100がサーバ装置400にアクセスすれば、最新のパラメータをダウンロードできるようにしてもよい。
そして、本実施の形態の表示制御手段74は、第1キャラクタとしての打者キャラクタ501のパラメータに基づいて、前記遅延期間、および/または前記到達点領域507の大きさを変化させる機能を有する。
例えば、表示制御手段74は、打者キャラクタ501の打撃能力のパラメータが高いほど、前記遅延期間の基本の値(予想しなかった場合のデフォルトの値)を小さくする。ここで、前記遅延期間の基本の値とは、例えば、上式(2)〜(5)における、予想が行われなかった場合の遅延期間T0に対応する。
また、表示制御手段74は、打者キャラクタ501の打撃能力のパラメータが高いほど、到達点領域507の基本の大きさ(予想しなかった場合のデフォルトの大きさ)を大きくする。ここで、到達点領域507の基本の大きさとは、例えば、上式(6)〜(10)における、予想が行われなかった場合の到達点領域507の半径R0に対応する。
これは、打撃能力の高いキャラクタほど、ボールをバットで捉える能力が高いため、これを到達点領域507の表示開始タイミング(前記遅延期間)、または到達点領域507の大きさとして、反映させたものである。
例えば、打者キャラクタ501の打撃能力のパラメータを「p」とした場合、上式(2)〜(5)において、予想が行われなかった場合の遅延期間T0は、
T0=f(p)
として、パラメータ「p」の関数として表すことができる。そして、前述のように、遅延期間T1は、上式(2)〜(5)に基づき、予想の当否または一致度によって、遅延期間T0からさらに変化することもある。
同様に、打者キャラクタ501の打撃能力のパラメータを「p」とした場合、上式(6)〜(10)において、予想が行われなかった場合の到達点領域507の半径R0は、
R0=f(p)
として、パラメータ「p」の関数として表すことができる。そして、前述のように、到達点領域507の半径R1は、上式(6)〜(10)に基づき、予想の当否または一致度によって、半径R0からさらに変化することもある。
また、例えば、投手キャラクタ502によって投球されたボール506のコースが、打席に立っている打者キャラクタ501の得意コース(例えば、アウトコース高目)であった場合、そうでない場合よりも、前記遅延期間の基本の値が小さくなる、および/または到達点領域507の基本の大きさが大きくなる。逆に、投球されたボール506のコースが、打席に立っている打者キャラクタ501の不得意コース(例えば、インコース低目)であった場合、そうでない場合よりも、前記遅延期間の基本の値が大きくなる、および/または到達点領域507の基本の大きさが小さくなる。
また、例えば、投手キャラクタ502が投球したボール506の球種が、打席に立っている打者キャラクタ501の得意な球種(例えば、ストレート)であった場合、そうでない場合よりも、前記遅延期間の基本の値が小さくなる、および/または到達点領域507の基本の大きさが大きくなる。逆に、投球されたボール506の球種が、打席に立っている打者キャラクタ501の不得意な球種(例えば、スライダー)であった場合、そうでない場合よりも、前記遅延期間の基本の値が大きくなる、および/または到達点領域507の基本の大きさが小さくなる。
また、例えば、打者キャラクタ501のその試合での出場イニング数が大きくなるほど、当該打者キャラクタ501のスタミナのパラメータが低下する。よって、打席に立っている打者キャラクタ501のスタミナのパラメータが小さいほど(換言すれば、出場イニング数が大きいほど)、前記遅延期間の基本の値が大きくなる、および/または到達点領域507の基本の大きさが小さくなる。
さらに、例えば、上式(2)〜(5)を適用し、打者キャラクタ501のパラメータに基づいて決定された前記遅延期間の基本の値が、予想の当否または一致度によって変化する。また、例えば、上式(6)〜(10)を適用し、打者キャラクタ501のパラメータに基づいて決定された到達点領域507の基本の大きさが、予想の当否または一致度によって変化する。
このように、第1キャラクタとしての打者キャラクタ501の各種パラメータを、到達点領域507の表示開始タイミングを決める前記遅延期間、および/または到達点領域507の大きさとして反映させることにより、より興趣性の高いゲームを実現できる。
次に、到達点領域507の大きさを変動させる他のバリエーションについて説明する。本実施の形態のゲームは、移動体を第2キャラクタが送出するゲームである。ここで、第2キャラクタの例としては、野球ゲームでは投手キャラクタ、サッカーゲームではPK戦でキックするキッカーキャラクタ、テニスゲームではサーバーキャラクタがそれに該当する。なお、第2キャラクタは人物キャラクタである必要はなく、動物、モンスター、ロボット、戦闘機等であってもよい。これらは一例であり、ゲームの種類や内容に応じた第2キャラクタを適用できる。
本ゲーム装置100の情報管理手段77は、第2キャラクタのパラメータを管理する機能を有する。ここでは、第2キャラクタを野球ゲームの投手キャラクタ502として以下に説明する。
投手キャラクタ502のパラメータとしては、球威、制球力、投球コースの得意・不得意、球種の得意・不得意、スタミナ(投球イニング数が多くなるにつれ疲労によりスタミナ低下)などが例示できる。情報管理手段77は、前記のような投手キャラクタ502のパラメータを、記憶装置(RAM5等)に記憶して管理している。投手キャラクタ502のパラメータは、例えば図1に示す記録媒体300またはメモリ18に格納されており、ゲーム開始時に読み出されてRAM5に記憶される。また、ゲーム装置100がサーバ装置400にアクセスすれば、最新のパラメータをダウンロードできるようにしてもよい。
そして、本実施の形態の表示制御手段74は、第2キャラクタとしての投手キャラクタ502のパラメータに基づいて、前記遅延期間、および/または前記到達点領域507の大きさを変化させる機能を有する。
例えば、表示制御手段74は、投手キャラクタ502の球威または制球力のパラメータが高いほど、前記遅延期間の基本の値を大きくする、および/または到達点領域507の基本の大きさを小さくする。これは、球威または制球力の高い投手キャラクタ502ほど、打者が打ち難いボールを投球できるので、これを到達点領域507の表示開始タイミングを決める前記遅延期間、および/または到達点領域507の大きさとして、反映させたものである。
例えば、投手キャラクタ502の球威のパラメータを「q」、制球力のパラメータを「r」とした場合、上式(2)〜(5)において、予想が行われなかった場合の遅延期間T0は、
T0=f(q,r)
として、パラメータ「q」および「r」の関数として表すことができる。そして、前述のように、遅延期間T1は、上式(2)〜(5)に基づき、予想の当否または一致度によって、遅延期間T0からさらに変化することもある。
同様に、投手キャラクタ502の球威のパラメータを「q」、制球力のパラメータを「r」とした場合、上式(6)〜(10)において、予想が行われなかった場合の到達点領域507の半径R0は、
R0=f(q,r)
として、パラメータ「q」および「r」の関数として表すことができる。そして、前述のように、到達点領域507の半径R1は、上式(6)〜(10)に基づき、予想の当否または一致度によって、半径R0からさらに変化することもある。
また、例えば、投手キャラクタ502が投球したコースが、自分の得意コース(例えば、アウトコース低目)であった場合、そうでない場合よりも、前記遅延期間の基本の値が大きくなる、および/または到達点領域507の基本の大きさが小さくなる。逆に、投手キャラクタ502が投球したコースが、自分の不得意コース(例えば、インコース高目)であった場合、そうでない場合よりも、前記遅延期間の基本の値が小さくなる、および/または到達点領域507の基本の大きさが大きくなる。
また、例えば、投手キャラクタ502が投球した球種が、自分の得意な球種(例えば、スライダー)であった場合、そうでない場合よりも、前記遅延期間の基本の値が大きくなる、および/または到達点領域507の基本の大きさが小さくなる。逆に、投手キャラクタ502が投球した球種が、自分の不得意な球種(例えば、ストレート)であった場合、そうでない場合よりも、前記遅延期間の基本の値が小さくなる、および/または到達点領域507の基本の大きさが大きくなる。
さらに、例えば、上式(2)〜(5)を適用し、投手キャラクタ502のパラメータに基づいて決定された前記遅延期間の基本の値が、予想の当否または一致度によって変化する。また、例えば、上式(6)〜(10)を適用し、投手キャラクタ502のパラメータに基づいて決定された到達点領域507の基本の大きさが、予想の当否または一致度によって変化する。
このように、第2キャラクタとしての投手キャラクタ502の各種パラメータを、到達点領域507の表示開始タイミングを決める前記遅延期間、および/または到達点領域507の大きさとして反映させることにより、より興趣性の高いゲームを実現できる。
次に、到達点領域507の大きさを変動させる他のバリエーションについて説明する。本実施の形態のゲームは、ユーザが操作する第1キャラクタが、第2キャラクタによって送出された前記移動体に作用を与えるゲームである。例えば野球ゲームでは、前述のように、第1キャラクタは打者キャラクタ501、第2キャラクタは投手キャラクタ502にそれぞれ相当する。
そして、本実施の形態の情報管理手段77は、第1キャラクタと第2キャラクタとの相性に関する情報を管理する機能を有する。ここで、相性に関する情報とは、例えば、右打者は左投手に対して相性がよく、右投手に対しては相性が悪いというような情報であってもよいし、個々の打者と投手との相性であってもよい。例えば、打者B1は、投手P1を得意にしている(投手P1に対する打率が基準より高い)が、投手P2を苦手にしている(投手P2に対する打率が基準より低い)という情報であってもよい。このような相性に関する情報は、例えば図1に示す記録媒体300またはメモリ18に格納されており、ゲーム開始時に読み出されてRAM5に記憶される。また、ゲーム装置100がサーバ装置400にアクセスすれば、最新の情報をダウンロードできるようにしてもよい。
また、情報管理手段77は、ゲーム内での各打者キャラクタ501と、各投手キャラクタ502との個人対戦成績(打率等)のデータを管理し、個々の打者と投手との相性を、最新の情報に更新するようにしてもよい。例えば、ある投手キャラクタ502に対する個人対戦打率が第1基準打率(例えば3割)以上の打者キャラクタ501は、その投手キャラクタ502を得意としている(相性が良い)ものとして管理する。また、ある投手キャラクタ502に対する個人対戦打率が第2基準打率(例えば2割)以下の打者キャラクタ501は、その投手キャラクタ502を苦手としている(相性が悪い)ものとして管理する。
そして、本実施の形態の表示制御手段74は、前記相性に関する情報に基づいて、前記遅延期間、および/または到達点領域507の大きさを変化させる機能を有する。
例えば、表示制御手段74は、ある打者キャラクタ501にとって相性の良い特定の投手キャラクタ502が相手の場合、そうでない場合よりも、前記遅延期間の基本の値を小さくする、および/または到達点領域507の基本の大きさを大きくする。これは、打者キャラクタ501にとって、相性のよい投手キャラクタ502が対戦相手の場合、相手の投げたボールがよく見えることが多いため、これを前記遅延期間、および/または到達点領域507の大きさとして、反映させたものである。逆に、ある打者キャラクタ501にとって相性の悪い特定の投手キャラクタ502が相手の場合、そうでない場合よりも、前記遅延期間の基本の値を大きくする、および/または到達点領域507の基本の大きさを小さくする。
さらに、例えば、上式(2)〜(6)を適用し、前記相性に関する情報に基づいて決定された前記遅延期間の基本の値が、予想の当否または一致度によって変化する。また、例えば、上式(6)〜(10)を適用し、前記相性に関する情報に基づいて決定された到達点領域507の基本の大きさが、予想の当否または一致度によって変化する。
このように、第1キャラクタとしての打者キャラクタ501と、第2キャラクタとしての投手キャラクタ502と、の相性に関する情報を管理し、それを到達点領域507の表示開始タイミングを決める前記遅延期間、および/または到達点領域507の大きさとして反映させることにより、より興趣性の高いゲームを実現できる。
〔その他の実施の形態〕
前述の実施の形態では、ユーザの予想の結果に応じて、前記遅延期間を変化させる、到達点領域507の大きさを変化させる、および/または、投球されたボール506等の移動体の移動速度を変化させる構成について説明した。バリエーションとして、ユーザの予想の結果に応じて、作用が付与された後の移動体の速度を変化させる構成を、前述の各構成の少なくとも1つと組み合わせて、または前述の各構成と組み合わせることなく単独で採用してもよい。
すなわち、移動体に対する作用を決定する決定手段75は、ユーザの予想の結果を判定する判定手段73による判定の結果に基づいて、作用が付与された後の移動体の移動速度を変化させる。例えば、決定手段75は、前記判定手段73によってユーザの予想が当たったと判定された場合に、前記予想が行われなかった場合よりも、作用が付与された後の移動体の移動速度を大きくする。例えば、野球ゲームでは、ユーザの予想が的中した場合に、予想が行われなかった場合よりも、ボール506が打ち返された場合の打球の速度を大きくする(例えば、打球の速度を1.2倍にする)。
また、例えば、決定手段75は、前記判定手段73によってユーザの予想が外れたと判定された場合に、前記予想が行われなかった場合よりも、作用が付与された後の移動体の移動速度を小さくする。例えば、野球ゲームでは、ユーザの予想が外れた場合に、予想が行われなかった場合よりも、ボール506が打ち返された場合の打球の速度を小さくする(例えば、打球の速度を0.8倍にする)。
また、例えば、決定手段75は、前記判定手段73によって判定された予想の一致度が高いほど、作用が付与された後の移動体の移動速度を、連続的にまたは段階的に、大きくしてもよい。
次に、ゲーム装置100の予想受付手段71が、移動体の移動コースに関する予想情報を取得する方法のバリエーションについて説明する。この構成のゲーム装置100は、第1ユーザの操作に応じて照準カーソル503を移動させるカーソル制御手段76を備え、予想受付手段71は、移動体の移動開始時または移動開始前の所定タイミングにおける照準カーソル503の位置情報を、移動パラメータとしての移動コースに対する予想情報として取得する機能を有する。
移動体の移動開始時のタイミングとは、ボール506が投手キャラクタ502からリリースされたタイミングである。また、移動体の移動開始前の所定タイミングの一例としては、投手キャラクタ502が投球動作を開始したタイミングである。このようなタイミングにおける照準カーソル503の位置情報を、投球コースに関する予想情報として取得するのである。
例えば、第1ユーザがインコースを予想した場合、ボール506が投手キャラクタ502からリリースされるまでに、前もって照準カーソル503をインコースの位置に移動させて待機するものと考えられる。これは、第1ユーザが前もって照準カーソル503を予想したコースに待機させておくことにより、もし予想が的中した場合、照準カーソル503の位置を微調整するだけで、到達点領域507を的確に捉えることができるからである。そこで、ボール506が投手キャラクタ502からリリースされたとき(または投球動作の開始時)の照準カーソル503の位置を、第1ユーザが予想した投球コースとみなし、その位置情報を予想情報として取得するのである。
照準カーソル503の位置情報としては、例えば照準カーソル503におけるミートカーソル503a中央部の座標情報とすることができる。あるいは、ミートカーソル503aの中央部の位置がインコース領域に存在すれば位置情報を「インコース」、アウトコース領域に存在すれば位置情報を「アウトコース」といったように、位置情報を「インコース」、「アウトコース」等で表してもよい。
本構成により、第1ユーザは、照準カーソル503の移動操作をするだけで、同時に移動体の移動コースの予想操作を行ったことにもなるので、操作の簡略化を図ることができる。
また、前述の実施の形態では、主に野球ゲームへの適用例を示したが、これに限らず、サッカー、テニス等、移動体に対して何らかの作用を与える様々なゲームにも適用できる。以下には、サッカーゲームへの適用例を示す。
サッカーのPK戦では、第1ユーザによって操作されるゴールキーパーキャラクタが、第2ユーザによって操作される(またはCPUによって自動制御される)キッカーキャラクタから送出される(蹴り出される)移動体の一例としてのボールを、捕えるまたは弾く。例えば、ゴールキーパーキャラクタを操作する第1ユーザは、照準カーソルや指を、キッカーキャラクタから送出されたボールの到達点領域に重ねることにより、そのボールを、捕えるまたは弾くことができる。
このようなサッカーゲームの場合、第1ユーザは、ボールのキックコースを事前に予想することができる。例えば、第1ユーザは、キッカーキャラクタが右側のコースを狙っていると予想した場合には、キッカーキャラクタからボールが送出されるまでに、例えばコントローラ19のアナログスティックを右に傾ける予想操作を行う。これにより、例えばゴールオブジェクトの右側の色が変わり、コース予想入力が行われたことを報知する。そして、ゲーム装置100の予想受付手段71は、第1ユーザの前記予想操作に基づいて、移動パラメータの一例としてのコースに対する予想情報を取得する。
予想が行われた場合、その予想が的中すれば、予想しない場合よりも、キッカーキャラクタがキックしたボールの移動開始時から到達点領域の表示開始時までの期間(前記遅延期間)が短くなる、および/または到達点領域が大きくなるというメリットが発生する。これにより、第1ユーザは、キッカーキャラクタのキック直後の早い段階から、到達点領域に照準カーソル(特定領域)を重ねる操作が可能となる。また、到達点領域の所望の位置に照準カーソルを重ね易くなる。例えば、到達点領域の上部領域、下部領域、右領域、左領域に照準カーソルが重なった場合、それぞれ下方向、上方向、左方向、右方向にボールが弾かれるようにすることができる。例えば、キッカーキャラクタによるペナルティーキック後も試合が継続される場合、ゴールキーパーキャラクタは、味方の選手キャラクタがいる方向へボールを弾くことが好ましい。この点、予想的中により前記遅延期間が通常よりも短くなり(例えば前記遅延期間がゼロとなり)、また到達点領域が大きくなれば、味方の選手キャラクタがいる方向へボールが弾かれるように、到達点領域の所望の位置に照準カーソルを重ね易い。
一方、第1ユーザのコース予想が外れた場合、予想しない場合よりも、前記遅延期間が長くなる、および/または到達点領域が小さくなるというデメリットが発生する。このサッカーゲームを制御するゲーム装置100でも、前記野球ゲームと同様の作用効果を奏する。
次に、テニスゲームへの適用例を示す。テニスのサーブの場面では、第1ユーザによって操作されるレシーバーキャラクタが、第2ユーザによって操作される(またはCPUによって自動制御される)サーバーキャラクタから送出される移動体の一例としてのボールを、打ち返す。例えば、レシーバーキャラクタを操作する第1ユーザは、照準カーソルまたは指を、サーブされたボールの到達点領域に重ねることにより、そのボールを打ち返すことができる。
このようなテニスゲームの場合、第1ユーザは、サーブが来るコースを事前に予想することができる。例えば、第1ユーザは、サーバーキャラクタが右側のコースを狙っていると予想した場合には、サーバーキャラクタからボールが送出されるまでに、例えばコントローラ19のアナログスティックを右に傾ける予想操作を行う。これにより、例えばテニスコートの右側の色が変わり、コース予想入力が行われたことを報知する。そして、ゲーム装置100の予想受付手段71は、第1ユーザの前記予想操作に基づいて、移動パラメータの一例としてのコースに対する予想情報を取得する。
予想が行われた場合、その予想が的中すれば、予想しない場合よりも、サーバーキャラクタがサーブしたボールの移動開始時から到達点領域の表示開始時までの期間(前記遅延期間)が短くなる、および/または到達点領域が大きくなるというメリットが発生する。これにより、第1ユーザは、サーブ直後の早い段階から、到達点領域の所望の位置に照準カーソル(特定領域)を重ね易くなる。例えば、到達点領域の上部領域に照準カーソルが重なった場合、ドライブショットとなる一方、到達点領域の下部領域に照準カーソルが重なった場合、ボールに逆の回転がかかりスライスショットとなるようにすることができる。よって、予想が的中すれば、サーブ直後の早い段階から、大きくなった到達点領域の所望の位置を狙って、ドライブショットとスライスショットとを打ち分ける操作が行い易くなる。
一方、第1ユーザのコース予想が外れた場合、予想しない場合よりも、前記遅延期間が長くなる、および/または到達点領域が小さくなるというデメリットが発生する。このテニスゲームを制御するゲーム装置100でも、前記野球ゲームと同様の作用効果を奏する。
また、前述の実施の形態では、ユーザが操作するゲーム装置100においてゲームプログラムが実行される構成について説明したが、端末装置でのゲーム操作入力に応じてサーバ装置でゲームプログラムを実行し、その実行結果を各ユーザの端末装置に送信するゲームシステムを適用することもできる。このゲームシステムの構成例を、図40に示している。同図に示すように、このゲームシステムは、インターネットなどのネットワーク600上に設置されたサーバ装置1000と、ネットワーク600を介してサーバ装置1000と通信可能に接続できる各ユーザの端末装置2000とによって構成される。
サーバ装置1000は、ゲームを実行した結果のゲーム映像を、例えばストリーミング形式で端末装置2000に送信する、いわゆるクラウドゲーミングのサービスをユーザに提供する。このクラウドゲーミングを提供するサービス形態では、ユーザの端末装置2000にゲーム専用のソフトウェアをダウンロード又はインストールする必要がなく、端末装置2000をネットワーク600に接続できる環境であれば、ユーザはどこでも気軽にサーバ装置1000から提供されるゲームサービスを楽しむことができる。
サーバ装置1000および端末装置2000のハード構成は、CPU、ROM、RAM、補助記憶装置、通信インターフェース等を備えた、一般的なコンピュータの構成とすることができる。サーバ装置1000の機能的構成は、前述のゲーム装置100と同様に、予想受付手段71、移動手段72、判定手段73、表示制御手段74および決定手段75を備える構成とすることができる。また、サーバ装置1000は、前述の情報管理手段77等を備えていてもよい。このように、ゲーム装置100の機能をサーバ装置1000に持たせた場合も、ゲーム装置100と同様の作用効果を奏する。
また、サーバ装置1000および端末装置2000は互いに通信して各種データの送受が可能であり、共にCPU、ROM、RAM、補助記憶装置、通信インターフェース等を備えた情報処理装置(コンピュータ)であって、同様のハード構成を有する。よって、サーバ装置1000および端末装置2000を含むゲームシステムにおいて、上述の各実施の形態で説明したゲーム装置100が具備する各手段は、サーバ装置1000または端末装置2000の何れか一方が備えていればよい。すなわち、ゲーム装置100が具備する各手段を、サーバ装置1000と端末装置2000とに分散して設けることも可能である。この構成でも、前述の実施の形態と同様の作用効果を奏する。
また、各種情報を記憶装置に記憶する記憶制御機能を有する構成に関し、記憶装置そのものについては当該構成に含まれないので、ゲーム装置100、サーバ装置またはゲームシステムの内外を問わず、どこに設置されていてもよい。例えば、記憶装置は、ゲーム装置100が有するRAM5やメモリ18、サーバ装置が有するRAMや補助記憶装置、あるいはゲーム装置100やサーバ装置とは別構成のファイルサーバ(オンラインストレージ)等であってもよい。
また、前述の各実施の形態で説明した各構成は、適宜組み合わせて適用することができる。
また、本実施の形態に係るコンピュータ読み取り可能なプログラムは、ハードディスク、光ディスク(CD−ROM、DVD−ROM等)、フレキシブルディスク、半導体メモリ等のコンピュータ読み取り可能な非一時的な各種記録媒体に記録され、当該記録媒体から読み出されてゲーム装置、サーバ装置のCPUにより実行される。また、プログラムをゲーム装置等に提供する手段は、前述した記録媒体に限定されるものではなく、インターネット等の通信ネットワークを介して行うこともできる。
これまで説明してきたように、本実施の形態のゲーム装置等の概要は、以下のとおりである。
1)本発明の一態様によるゲーム装置(100、1000)は、移動体(例えばボール506)に対して作用を与えるゲームを制御するものであって、前記移動体(506)の移動パラメータに関するユーザの予想を受け付ける予想受付手段(71)と、前記移動体(506)の移動パラメータを決定する移動手段(72)と、前記予想受付手段(71)によって受け付けられたユーザの前記予想に関する情報と、前記移動手段(72)によって決定された前記移動パラメータとに基づいて、ユーザの前記予想の結果を判定する判定手段(73)と、前記移動体(506)に作用を与えることができる作用領域に、前記移動体(506)が到達する位置を示す到達点領域(507)を表示させる表示制御手段(74)と、ユーザによる所定の操作に基づいて、前記作用領域内で前記移動体(506)に作用を与えるための特定領域が指定された場合に、前記移動体(506)に対する作用を決定する決定手段(75)と、を備え、前記表示制御手段(74)は、前記判定手段(73)による判定の結果に基づいて、前記移動体(506)の移動開始時から前記到達点領域の表示開始時までの期間を変化させる。
本構成のゲーム装置が制御するゲームは、移動体に作用を与えるゲームである。移動体の一例としては、スポーツシミュレーションゲームにおけるボールが挙げられる。移動体の他の例としては、アクションゲームにおける戦闘機やミサイル等が挙げられる。また、作用の一例としては、移動体を打ち返す、回転を加える、捕捉する、破壊する等がある。このゲームの一例としては、投手キャラクタが投げたボール(移動体)を、ユーザが操作する打者キャラクタが打ち返す(打撃する)野球ゲームが挙げられる。本ゲーム装置は、野球ゲームに限らず、サッカー、テニス、戦闘シミュレーション等、移動体に対して何らかの作用を与える様々なゲームに適用できる。
本ゲーム装置では、予想受付手段が、例えば、ユーザによって所定の予想操作が行われた場合に、移動体の移動パラメータに関するユーザの予想を受け付ける。ユーザによる予想は任意であり、ユーザが予想したい場合にだけ、予想操作を行えばよい。移動体の移動パラメータに関するユーザの予想とは、移動体の移動コースの予想、移動体の移動時の軌道変化の予想などが含まれる。例えば、野球ゲームでは、投球コース予想(内角、外角、高目、低目等の予想)や、球種予想(直球、各種変化球の予想)等が、移動体の移動パラメータに関するユーザの予想に含まれる。
また、移動手段は、移動パラメータを決定する。そして、決定された移動パラメータに基づいて移動体が移動される。例えば野球ゲームでは、対戦相手ユーザが、投手キャラクタが投げるボールの移動パラメータ(投球コース、球種等)を決定するための操作を行うことにより、移動手段が、当該操作に基づいて投球コースや球種等を決定し、ボールを打者キャラクタの方へ移動させる。なお、打者側のユーザが一人プレイでコンピュータと対戦する場合(所謂、CPU対戦の場合)には、移動手段が自動的に移動パラメータ(投球コース、球種等)を決定する。
ユーザによる予想が行われた場合には、予想受付手段によって受け付けられた、移動パラメータについてのユーザの予想に関する情報と、移動手段によって決定された、実際の移動パラメータとに基づいて、判定手段がユーザの予想の結果を判定する。判定手段による予想結果の判定は、ユーザの予想の当否を判定するものであってもよいし、予想の一致度を判定するものであってもよい。例えば、ユーザがアウトコースを予想し、実際のボールの投球コースがアウトコースの場合には、ユーザの予想は当たったと判定され、実際のボールの投球コースがアウトコース以外の場合には、ユーザの予想は外れたと判定される。また、前記一致度としては、ユーザが予想した移動パラメータ(移動パラメータについてのユーザの予想に関する情報)と、実際の移動パラメータ(移動手段によって決定された移動パラメータ)との一致の程度を、例えば値またはレベルとして表すことができる。
また、移動体に作用を与えることができる作用領域(例えば野球ゲームでは、ストライクゾーンあるいはストライクゾーンを含む打撃可能な領域)に、移動体が到達する位置を示す到達点領域が表示される。なお、移動体は、作用領域に表示された到達点領域に到達後、さらにそれを通過してもよい。例えば野球ゲームでは、バットを振らずにボールを見送った場合、または空振りした場合には、移動体としてのボールが、作用領域としてのストライクゾーンを通過する。
ユーザは、所定の操作により、移動体に対して作用を付与することができる。ここで、所定の操作とは、移動体に作用を与えるための操作である。野球ゲームを例に挙げると、所定の操作には、ミートカーソルを任意の位置に移動させる操作や、指やペンで直接任意の箇所をタッチしてバットが当たる領域(特定領域)を指定する操作などが含まれる。また、所定の操作には、移動するボールにタイミングを合わせてバットスイングを行うための操作(例えば、スイングボタンを押す操作や、スイングしたいタイミングで指を画面に接触させたり画面から離したりする操作等)を含めることができる。なお、ミートカーソル等によりバットが当たる領域を指定する操作を行うだけで、打撃が可能となるゲームであってもよいし、バットが当たる領域の指定に加えて、打撃可能なタイミングでバットスイングする操作(作用付与のタイミングを指定する操作)を行わなければ打撃できないようなゲームであってもよい。すなわち、野球ゲームの例では、所定の操作には、少なくとも特定領域(バットが当たる領域)を指定する操作が含まれる。
前記所定の操作により、少なくとも作用領域内で移動体に作用を与えるための特定領域(野球の場合バットが当たる領域)が指定された場合、決定手段により移動体に対する作用が決定される。例えば、決定手段は、特定領域と到達点領域との位置関係に基づいて、移動体に対する作用(打撃結果)を決定することができる。例えば、到達点領域と特定領域とが離間している場合は空振りとなり、到達点領域の下部領域に特定領域が重なっていれば打球が飛球(フライ、ライナー)となり、到達点領域の上部領域に特定領域が重なっていれば打球がゴロとなる。
あるいは、決定手段は、特定領域と移動体(作用領域に到達したときの移動体)との位置関係に基づいて、移動体に対する作用(打撃結果)を決定することができる。例えば、作用領域に到達したときの移動体と特定領域とが離間している場合は空振りとなり、移動体の下部領域に特定領域が重なっていれば打球が飛球(フライ、ライナー)となり、移動体の上部領域に特定領域が重なっていれば打球がゴロとなる。
もちろん、打撃可能なタイミングでバットスイング操作を行うことを必要とする場合には、バットスイング操作のタイミングも考慮して、作用(打撃結果)を決定してもよい。すなわち、決定手段は、ユーザによって特定領域を指定する操作に基づいて、移動体に対する作用を決定してもよいし、特定領域を指定する操作および作用付与のタイミングを指定する操作に基づいて、移動体に対する作用を決定してもよい。
そして、本ゲーム装置では、ユーザの予想の結果を判定する判定手段による判定の結果に基づいて、作用領域に表示される到達点領域の表示開始のタイミング、すなわち、移動体の移動開始時から到達点領域の表示開始時までの期間(当該期間を「遅延期間」と呼称する)が変化するという特徴的な構成となっている。
例えば、後述の2)の構成のように、ユーザの予想が外れた場合には、前記遅延期間を、予想が行われなかった場合または予想が当たった場合よりも長くする。一例を挙げると、後述の4)の構成のように、予想が行われなかった場合または予想が当たった場合の前記遅延期間をゼロにし(即ち、移動体の移動開始と同時に、遅延なく到達点領域の表示を開始し)、予想が外れた場合には前記遅延期間を例えば20フレーム期間(ここで、1フレーム=1/60秒)とする。
また、例えば、後述の3)の構成のように、ユーザによる予想が的中した場合には、前記遅延期間を、予想が行われなかった場合または予想が外れた場合よりも短くする。
あるいは、後述の5)の構成のように、予想の一致度が低いほど、連続的にまたは段階的に前記遅延期間が長くなるように変化させてもよい。
上記のように、ユーザの予想の結果に応じて、到達点領域の表示を開始するタイミングを変化させることにより、移動体に作用を与えるためのユーザの操作(例えば野球ゲームの打撃操作)の難易度を変化させることができる。例えば、ユーザの予想が外れて、投球後における到達点領域の表示が遅延した場合、打撃操作を行うユーザは、移動体としてのボールが最終的にどこに来るのかを確認するタイミングが遅れるので、打撃し難くなる。また、ユーザの予想が的中した場合、例えば、投球直後から到達点領域の表示が遅延なく開始されるようにすれば、投球直後の早い段階から到達点領域にカーソル等を合せる操作が可能となり、ユーザの予想が外れた場合よりも打撃操作の難易度が低下する。このように、予想の結果がユーザ操作の難易度として明確化されるので、予想結果に基づくメリットまたはデメリットをユーザが実感でき、予想の結果に対してユーザの納得感が得られ易くなる。
2)上記の1)の構成において、前記表示制御手段(74)は、前記判定手段(73)によってユーザの前記予想が外れたと判定された場合に、前記予想が当たったと判定された場合または前記予想が行われなかった場合よりも、前記期間を長くすることが好ましい。
ここで、判定手段は、ユーザが予想した移動パラメータ(予想受付手段によって受け付けられた、移動パラメータについてのユーザの予想に関する情報)と、移動手段によって決定された移動パラメータと、が不一致の場合、または両者の一致度が所定の閾値またはレベル未満の場合に、「予想が外れた」と判定できる。
本構成によれば、ユーザの予想が外れた場合には、作用領域に表示される到達点領域の表示開始タイミングが、予想が当たった場合または予想が行われなかった場合よりも遅くなる。これは、例えばコース予想が外れた場合、移動体(ボール等)がユーザの目線から外れているため移動体に対する視認度が低下するので、この状態を、到達点領域の表示開始の遅延期間を大きくすることで、ゲーム上で疑似的に再現している。このため、予想が外れた場合、予想が当たった場合または予想をしなかった場合より、打撃等のユーザの操作が明確に困難となり、ゲームに緊張感が生まれる。
3)上記の1)または2)の構成において、前記表示制御手段(74)は、前記判定手段(73)によってユーザの前記予想が当たったと判定された場合に、前記予想が外れたと判定された場合または前記予想が行われなかった場合よりも、前記期間を短くすることが好ましい。
ここで、判定手段は、ユーザが予想した移動パラメータ(予想受付手段によって受け付けられた、移動パラメータについてのユーザの予想に関する情報)と、移動手段によって決定された移動パラメータと、が一致した場合、または両者の一致度が所定の閾値またはレベル以上の場合に、「予想が当たった」と判定できる。
本構成によれば、ユーザの予想が当たった場合には、作用領域に表示される到達点領域の表示開始タイミングが、予想が外れた場合または予想が行われなかった場合よりも早くなる。これは、例えばコース予想が的中すれば、そこにユーザの目線があるため移動体(ボール等)に対する視認度が向上するので、この状態を、移動体の移動開始後の早い段階から(例えば、移動開始と同時に)到達点領域を表示することで、ゲーム上で疑似的に再現している。このため、予想が的中した場合、予想が外れた場合または予想をしなかった場合より、明確に打撃等のユーザの操作がし易くなる。
4)上記の2)の構成において、前記表示制御手段(74)は、前記判定手段(73)によって前記予想が当たったと判定された場合または前記予想が行われなかった場合の前記期間をゼロとすることが好ましい。
この構成では、前記判定手段によって前記予想が当たったと判定された場合または前記予想が行われなかった場合、前記移動体の移動開始と同時に、前記到達点領域の表示が開始される。これにより、ユーザの予想が外れた場合のデメリット、すなわち、到達点領域の表示開始の遅延がより明確になる。
5)上記の1)の構成において、前記判定手段(73)は、前記予想受付手段(71)によって受け付けられたユーザの前記予想に関する情報と、前記移動手段(72)によって決定された前記移動パラメータとに基づいて、予想の一致度を判定し、前記表示制御手段(74)は、前記予想の一致度が低いほど、前記期間を長くすることが好ましい。
本構成によれば、予想の一致度が低いほど、到達点領域の表示開始タイミングが遅くなる。予想の一致度は、例えば、ユーザが予想したコースの座標と、実際の投球コースの座標とのずれ量(両座標間の距離)に基づいて算出することができ、ずれ量が大きいほど予想の一致度は低くなる。
このように、予想の一致度に応じて、連続的に、または段階的に、到達点領域の表示開始タイミングを変動させることにより、予想の一致度を、作用を付与するための操作(打撃操作等)の難易度として的確に反映させることができる。
6)上記の2)ないし5)の何れかの構成において、前記表示制御手段(74)は、前記移動体(506)の移動中に軌道が変化する場合、当該軌道の変化に応じて前記到達点領域(507)を表示させる位置を変化させ、前記移動パラメータは移動コースであり、前記判定手段(73)は、前記移動体(506)の移動開始直後の移動コースに基づいて、ユーザの前記予想の結果を判定することが好ましい。
例えば、野球ゲームにおいて、投球されたボールがスライダー等の変化球であった場合、ボールの軌道が移動中に変化する。例えば、ボールの進行方向をz軸方向とした場合、ボールの軌道が変化することにより、z軸に対して垂直な平面(xy平面)上において、水平方向および/または垂直方向にボールの座標位置が変化するので、このボールの位置変化が、作用領域(ストライクゾーン)における到達点領域の位置変化として反映される。この場合、ユーザは、到達点領域の移動の方向や速度に注意することで、ストライクゾーンにおけるボールの最終的な到達位置を予想することができる。
本構成では、ユーザが、移動体の移動パラメータとしての「移動コース」(野球ゲームの例では投球コース)を予想することができる。そして、判定手段は、移動体の移動開始直後の移動コースに基づいて、ユーザの予想の結果(予想の当否、一致度等)を判定し、当該判定の結果に基づいて、表示制御手段は、到達点領域の表示開始タイミングを制御する。
例えば、移動開始直後における移動体の移動コースが、ユーザが予想した移動コースと合致しているが、移動体の軌道の変化により、移動途中から移動体の移動コースが、ユーザが予想した移動コースから外れた場合(最終的な移動体の到達位置がユーザの予想とは異なっている場合)には、次のようになる。この場合、移動体の移動開始直後の移動コースがユーザの予想に合致しているので、予想が外れた場合または予想が行われなかった場合よりも前記遅延期間が短くなる。例えば、前記遅延期間をゼロとして、移動開始直後から到達点領域が表示される。
また、例えば、移動開始直後における移動体の移動コースが、ユーザが予想した移動コースから外れているが、移動体の軌道の変化により、移動途中から移動体の移動コースが、ユーザが予想した移動コースと合致する場合には、次のようになる。この場合、移動体の移動開始直後の移動コースがユーザの予想から外れているので、予想が当たった場合または予想が行われなかった場合よりも、前記遅延期間が長くなり、到達点領域の表示開始タイミングが遅くなる。
このように、移動体の移動中に軌道が変化する場合において、移動開始直後の移動コースを基準としてユーザの予想の結果を判定し、この判定に基づいて到達点領域の表示開始タイミングを制御するのは、次の理由による。例えば野球ゲームの場合、投球直後のボールのコースがユーザの予想コースならば、投球後に素早く打者の目がそのボールを捉えることができる(ボールに対する視認度が高い)ので、たとえその後、ユーザの予想コースからボールの軌道が外れても、到達点領域の表示開始を早いタイミングで行っている。一方、投球直後のボールのコースがユーザの予想コースではないならば、たとえ最終的なボールのコースがユーザの予想コースに入ってくる場合でも、投球直後においては打者の目がそのボールを捉えきれない(ボールに対する視認度が低い)ので、到達点領域の表示開始を遅くしている。
また、移動体の移動中に軌道が変化する場合において、仮に、移動体の最終的な移動コース(作用領域への到達位置)を基準としてユーザの予想の結果を判定し、この判定に基づいて到達点領域の表示開始タイミングを制御した場合には、次のような不都合が生じることも考えられる。例えば、ユーザがインコースを予想したとする。投球直後のボールのコースが、ユーザが予想したインコースから外れており、途中からボールのコースがユーザの予想コースに入ってくる場合において、到達点領域の表示開始を、予想が的中したものとして早いタイミングで行ってしまうと、到達点領域が表示された時点で、最終的には到達点領域がインコースに行きつくものと、ユーザが未来予測できてしまう。つまり、コース予想の範囲を超えて、変化球の軌道変化に対する未来予測も可能となってしまう。本構成のように、移動開始直後の移動コースを基準としてユーザの予想の結果を判定し、到達点領域の表示開始タイミングを制御することにより、前記のような未来予測ができる状況を回避できる。
7)上記の6)の構成において、移動開始直後における前記移動体(506)の移動コースが、ユーザが予想した移動コースから外れており、且つ、前記移動体(506)の軌道の変化により移動途中から前記移動体(506)の移動コースが、ユーザが予想した移動コースと合致すると、前記判定手段(73)によって判定された場合、前記表示制御手段(74)は、前記移動体(506)の移動コースが、移動開始直後から前記作用領域に到達するまで、ユーザが予想した移動コースから外れている場合よりも前記期間を短くすることが好ましい。
ここで、「移動体の移動コースが、ユーザが予想した移動コースから外れる」とは、ユーザが予想した移動コースと、移動手段によって決定された移動コースと、が不一致の場合、または両者の一致度が所定の閾値またはレベル未満の場合を含む。また、「移動体の移動コースが、ユーザが予想した移動コースと合致する」とは、ユーザが予想した移動コースと、移動手段によって決定された移動コースと、が一致した場合、または両者の一致度が所定の閾値またはレベル以上の場合を含む。
基本的には、前記6)の構成のように、移動開始直後の移動コースを基準としてユーザの予想の結果を判定し、この判定に基づいて到達点領域の表示開始タイミングを制御する。従って、移動開始直後における前記移動体の移動コースが、ユーザが予想した移動コースから外れている場合は、予想が行われなかった場合等よりも、前記遅延期間が長くなり、到達点領域の表示開始タイミングが遅くなる。但し、前記移動体の軌道の変化により、移動途中から移動体の移動コースが、ユーザが予想した移動コースと合致する場合には、移動体の移動コースが移動開始直後から作用領域に到達する最後までユーザの予想コースから外れている場合よりも、到達点領域の表示開始タイミングを早くする。一例を挙げると、移動体の移動コースが移動開始直後から最後までユーザの予想コースから外れている場合(例えば、ユーザがインコースを予想し、アウトコースに直球が投球された場合)、前記遅延期間を20フレーム期間とし、移動開始直後はユーザが予想した移動コースから外れているが、移動途中からユーザが予想した移動コースと合致する場合(例えば、ユーザがインコースを予想し、アウトコースからインコースに変化する変化球が投球された場合)、前記遅延期間を10フレーム期間とする。これは、移動体が、移動開始直後はユーザが予想した移動コースから外れていても、移動途中からユーザが予想した移動コースに入ってくるので、移動体に対するユーザの視認度が途中から高くなる状態を、ゲーム上で疑似的に再現したものである。これにより、移動体の移動中に軌道が変化する場合における、ユーザの移動コースの予想結果を、ゲーム操作の難易度として的確に反映させることができる。
8)上記の1)ないし7)の何れかの構成において、前記ゲームは、ユーザが操作する第1キャラクタ(例えば打者キャラクタ501)が前記移動体(506)に対して作用を与えるゲームであって、前記表示制御手段(74)は、前記第1キャラクタ(501)のパラメータに基づいて、前記期間を変化させることが好ましい。
ここで、第1キャラクタの例としては、野球ゲームでは打者キャラクタ、サッカーゲームではゴールキーパーキャラクタ、テニスゲームでは相手が打ったボールを打ち返すレシーバーキャラクタがそれに該当する。これらは一例であり、ゲームの種類や内容に応じた第1キャラクタを適用できる。
例えば野球ゲームでは、第1キャラクタのパラメータとしては、打撃能力、投球コースの得意・不得意、球種の得意・不得意、スタミナ(出場イニング数が多くなるにつれ疲労によりスタミナ低下)などが例示できる。例えば、第1キャラクタの打撃能力が高いほど、前記遅延期間の基本の値(予想しなかった場合のデフォルトの値)が小さくなり、その基本の値が、予想の当否によってさらに変化する。また、例えば、投球されたボールのコースが第1キャラクタの得意コースであった場合、そうでない場合よりも前記遅延期間の基本の値が小さくなり、その基本の値が、予想の当否(または一致度)によってさらに変化する。
このように、第1キャラクタのパラメータを、到達点領域の表示開始タイミングを決める前記遅延期間に反映させることにより、より興趣性の高いゲームを実現できる。
9)上記の1)ないし8)の何れかの構成において、前記ゲームは、前記移動体(506)を第2キャラクタ(502)が送出するゲームであって、前記表示制御手段(74)は、前記第2キャラクタ(例えば投手キャラクタ502)のパラメータに基づいて、前記期間を変化させることが好ましい。
ここで、第2キャラクタの例としては、野球ゲームでは投手キャラクタ、サッカーゲームではPK戦でキックするキッカーキャラクタ、テニスゲームではサーバーキャラクタがそれに該当する。これらは一例であり、ゲームの種類や内容に応じた第2キャラクタを適用できる。
例えば野球ゲームでは、第2キャラクタのパラメータとしては、球威、制球力、投球コースの得意・不得意、球種の得意・不得意、スタミナ(投球イニング数が多くなるにつれ疲労によりスタミナ低下)などが例示できる。例えば、第2キャラクタの球威のパラメータが高いほど、前記遅延期間の基本の値(打者ユーザが予想しなかった場合のデフォルトの値)が大きくなり、その基本の値が、予想の当否によってさらに変化する。また、例えば、投球したコースが第2キャラクタの得意コースであった場合、そうでない場合よりも前記遅延期間の基本の値が大きくなり、その基本の値が、予想の当否(または一致度)によってさらに変化する。
このように、第2キャラクタのパラメータを、到達点領域の表示開始タイミングを決める前記遅延期間に反映させることにより、より興趣性の高いゲームを実現できる。
10)上記の1)ないし9)の何れかの構成において、 前記ゲームは、ユーザが操作する第1キャラクタ(501)が、第2キャラクタ(502)によって送出された前記移動体(506)に作用を与えるゲームであって、前記第1キャラクタ(501)と前記第2キャラクタ(502)との相性に関する情報を管理する情報管理手段(77)をさらに備え、前記表示制御手段(74)は、前記相性に関する情報に基づいて、前記期間を変化させることが好ましい。
例えば野球ゲームでは、前述のように、第1キャラクタは打者キャラクタ、第2キャラクタは投手キャラクタにそれぞれ相当する。この構成では、第1キャラクタと第2キャラクタとの相性に関する情報が管理されている。相性に関する情報とは、例えば、右打者は左投手に対して相性がよく、右投手に対しては相性が悪いというような情報であってもよいし、個々の打者と投手との相性であってもよい。例えば、打者B1は、投手P1を得意にしているが、投手P2を苦手にしているという情報であってもよい。
例えば、第1キャラクタにとって相性のよい第2キャラクタが相手の場合、そうでない場合よりも、前記遅延期間の基本の値(ユーザが予想しなかった場合のデフォルトの大きさ)が小さくなり、その基本の大きさが、予想の当否(または一致度)によってさらに変化する。
このように、第1キャラクタと第2キャラクタとの相性に関する情報を管理し、それを到達点領域の表示開始タイミングを決める前記遅延期間に反映させることにより、より興趣性の高いゲームを実現できる。
11)上記の1)ないし10)の何れかの構成において、前記決定手段(75)は、前記特定領域と前記到達点領域(507)との位置関係に基づいて、前記移動体(506)に対する作用を決定し、前記表示制御手段(74)は、前記判定手段(73)による判定の結果に基づいて、前記到達点領域(507)の大きさを変化させることが好ましい。
本構成において、ユーザは、所定の操作により、到達点領域の所望の箇所を狙った打撃等ができる。前述のように、所定の操作には、ミートカーソルを任意の位置に移動させる操作や、指やペンで直接任意の箇所をタッチしてバットが当たる領域を指定する操作などが含まれる。この操作により、作用領域内の特定領域(野球の場合バットが当たる領域)が指定された場合、特定領域と到達点領域との位置関係に基づいて、移動体に対する作用(打撃結果)が決定される。
すなわち、到達点領域と移動体との間には相関関係があり、特定領域を指定するカーソルや指等で、到達点領域の所望の箇所を狙うことにより、それが移動体に対する作用として反映される。例えば、到達点領域と移動体との間には、相似的な対応関係が設けられており、到達点領域の下部にカーソル等を重ねること(作用を付与するための所定の操作を行うこと)は、到達点領域の下部に対応する移動体の下部の箇所に、作用を付与することになる。野球ゲームの例では、到達点領域の下部にカーソル等を重ねることが、投球されたボールの対応する下部の箇所を打撃することになる。よって、到達点領域の形状と、到達点領域に到達したときの移動体の形状とは、同一または略同一の相似関係になるように設定されていることが好ましい。
そして、本ゲーム装置では、ユーザの予想の結果を判定する判定手段による判定の結果に基づいて、作用領域に表示される到達点領域の大きさが変化するという特徴的な構成となっている。例えば、前記表示制御手段は、前記判定手段によってユーザの前記予想が当たったと判定された場合に、前記予想が外れたと判定された場合または前記予想が行われなかった場合よりも、前記到達点領域を大きく表示する。また、例えば、前記表示制御手段は、前記判定手段によってユーザの前記予想が外れたと判定された場合に、前記予想が当たったと判定された場合または前記予想が行われなかった場合よりも、前記到達点領域を小さく表示する。あるいは、前記表示制御手段は、前記予想の一致度が高いほど、前記到達点領域の表示範囲をより大きくしてもよい。
このように、ユーザの予想の結果に応じて、到達点領域の大きさを変化させることにより、移動体に作用を与えるためのユーザの操作(例えば野球ゲームの打撃操作)の難易度を変化させることができる。例えば、ユーザの予想が当たった場合には、移動体自体の大きさは変わらなくとも、作用付与に直接影響を与える到達点領域が大きく表示されるので、到達点領域の任意の位置にカーソルや指等を重ね易くなり、打撃等の操作が明確に容易になる。例えば、野球ゲームでは、大きく表示された到達点領域の下部を狙って飛球を打ったり、その上部を狙ってゴロを打ったりする打ち分けが容易となる。その一方で、ユーザの予想が外れた場合には、到達点領域が小さくなって、到達点領域にカーソルや指等を重ね難くなり、打撃等の操作が明確に困難になる。このように、予想の結果がユーザ操作の難易度として明確化されるので、予想結果に基づくメリットまたはデメリットをユーザがより実感でき、予想の結果に対してユーザの納得感がさらに得られ易くなる。
12)上記の1)ないし11)の何れかの構成において、前記移動手段(72)は、前記判定手段(73)による判定の結果に基づいて、前記移動体(506)の移動速度を変化させることが好ましい。
例えば、野球ゲームでは、ボール(移動体)がストライクゾーンを含む打撃可能な領域(作用領域またはその近傍)に到達した所定のタイミングで、ユーザによってバットスイング操作(作用付与操作)が行われた場合に、打撃が可能となる。よって、打者として操作するユーザは、ミートカーソル等により特定される特定領域を到達点領域に合わせる操作だけではなく、移動するボールを見ながら打撃可能なタイミングでバットスイング操作を行う必要がある。よって、移動体としてのボールの速度は、ユーザがバットスイング操作を行うタイミングを計る上で、重要な要素である。
そして、本構成では、ユーザの予想の結果を判定する判定手段による判定の結果に基づいて、移動体の移動速度が変化する。例えば、前記移動手段は、前記判定手段によってユーザの前記予想が当たったと判定された場合に、前記予想が外れたと判定された場合または前記予想が行われなかった場合よりも、前記移動体の移動速度を小さくする。また、例えば、前記移動手段は、前記判定手段によってユーザの前記予想が外れたと判定された場合に、前記予想が当たったと判定された場合または前記予想が行われなかった場合よりも、前記移動体の移動速度を大きくする。あるいは、前記移動手段は、前記予想の一致度が高いほど、前記移動体の移動速度を小さくしてもよい。
本構成により、ユーザの予想が的中した場合、あるいは予想の一致度が高いほど、ユーザは、バットスイング等の操作を行うタイミングを取り易くなり、所望の操作が行い易くなる。一方、ユーザの予想が外れた場合、あるいは予想の一致度が低いほど、バットスイング等の操作の困難性が高まり、ゲームにより緊張感が生まれる。このように、ユーザの予想の結果がユーザ操作の難易度として明確化されるので、予想結果に基づくメリットまたはデメリットをユーザがより実感でき、予想の結果に対してユーザの納得感がさらに得られ易くなる。
13)本発明の他の一態様によるゲーム装置(100、1000)は、ユーザによって操作される打者キャラクタ(501)が、投手キャラクタ(502)が投球したボールオブジェクト(506)を打撃する野球またはソフトボールゲームを制御するゲーム装置(100、1000)であって、投球コースに関するユーザの予想を受け付ける予想受付手段(71)と、投球コースを決定する投球コース決定手段(75)と、前記予想受付手段(71)によって受け付けられたユーザの前記予想に関する情報と、前記投球コース決定手段(75)によって決定された前記投球コースと、に基づいて、ユーザの前記予想の結果を判定する判定手段(73)と、前記ボールオブジェクト(506)を打撃可能な作用領域に、前記ボールオブジェクト(506)が到達する位置を示す到達点領域(507)を表示させる表示制御手段(74)と、ユーザによる所定の操作に基づいて、前記作用領域内で前記ボールオブジェクト(506)を打撃するための特定領域が指定された場合に、前記特定領域と前記到達点領域(507)との位置関係に基づいて、打撃結果を決定する決定手段(75)と、を備え、前記表示制御手段(74)は、前記判定手段(73)によってユーザの前記予想が外れたと判定された場合に、前記予想が当たったと判定された場合または前記予想が行われなかった場合よりも、投球された前記ボールオブジェクト(506)の移動開始時から前記到達点領域(507)の表示開始時までの期間を長くする。
14)本発明の他の一態様によるゲームシステムは、第1ユーザが使用する端末装置(2000)および第2ユーザが使用する端末装置(2000)を含み、第1ユーザによって操作されるキャラクタ(例えば打者キャラクタ501)が、第2ユーザによって操作される移動体(例えばボール506)に作用を与えるゲームを制御するゲームシステムであって、前記移動体(506)の移動パラメータに関する第1ユーザの予想を受け付ける予想受付手段(71)と、前記移動体(506)の移動パラメータを決定する移動手段(72)と、前記予想受付手段(71)によって受け付けられた第1ユーザの前記予想に関する情報と、前記移動手段(72)によって決定された前記移動パラメータとに基づいて、第1ユーザの前記予想の結果を判定する判定手段(73)と、前記移動体(506)に作用を与えることができる作用領域に、前記移動体(506)が到達する位置を示す到達点領域(507)を表示させる表示制御手段(74)と、第1ユーザによる所定の操作に基づいて、前記作用領域内で前記移動体(506)に作用を与えるための特定領域が指定された場合に、前記移動体(506)に対する作用を決定する決定手段(75)と、を備え、前記表示制御手段(74)は、前記判定手段(73)による判定の結果に基づいて、前記移動体(506)の移動開始時から前記到達点領域(507)の表示開始時までの期間を変化させる。
15)本発明の他の一態様によるプログラムは、コンピュータを上記の1)ないし13)の何れかに記載のゲーム装置(100、1000)として動作させるためのプログラムであって、前記コンピュータを前記ゲーム装置(100、1000)が備えている各手段として機能させるためのプログラムである。