以下、本発明の一実施の形態に係るゲーム装置、ゲームシステム、ゲーム制御方法及びプログラムについて、図面を参照しながら説明する。
〔ゲーム装置の概要〕
本発明の一実施の形態に係るゲーム装置は、ゲームプログラムを実行可能な情報処理装置であれば様々なものを適用できる。例えば、ゲーム装置としては、据置型または携帯型のゲーム専用機、パーソナルコンピュータ(以下「PC」と呼称する)、タブレット型コンピュータ、スマートフォン、携帯電話端末、PHS(Personal Handy-phone System)端末、携帯情報端末(PDA:Personal Digital Assistant)、情報処理機能を備えた多機能型テレビジョン受像機(いわゆるスマートテレビ)等が適用できる。
本実施の形態のゲーム装置が制御するゲームは、移動体に照準カーソルを重ねて作用を与える(例えば、打ち返す、捕える、打ち砕く)ゲームである。このゲームの一例としては、ユーザによって操作される第1キャラクタが、第2キャラクタから送出される移動体に対して作用を与えるゲームがある。例えば、第1キャラクタの一例としての打者キャラクタが、第2キャラクタの一例としての投手キャラクタからリリースされた、移動体の一例としてのボールに照準カーソルを合せて、作用の一例としての打撃を行う野球またはソフトボールゲームが挙げられる。
本実施の形態のゲーム装置100は、野球ゲームやソフトボールゲームに限らず、サッカー、テニス等、移動体に対して何らかの作用を与える様々なゲームにも適用できるが、以下には、野球ゲームへの適用例を説明する。
図5には、野球ゲームのゲーム画面の一例を示している。ゲーム画面には、ユーザによって操作される打者キャラクタ501、対戦相手の投手キャラクタ502、照準カーソル503、ストライクゾーン504等が表示される。野球ゲームでは、照準カーソル503はミートカーソルとも称され、打者キャラクタ501がボールを打撃可能な領域となる。また、照準カーソル503の中央部あるいは中心部にボールが重なった状態でバットスイングすれば、効果的な打撃、即ち長打やホームランが出やすくなる。
打者キャラクタ501を操作するユーザは、投手キャラクタ502が投げたボールオブジェクト(以下、単に「ボール」と称する)に照準カーソル503が重なるように、照準カーソル503を移動させる操作を行う。ゲーム装置は、ユーザの操作に応じて、画面上の照準カーソル503を移動させる。ユーザが照準カーソル503を移動させることにより、バットオブジェクトのスイングの位置を調整できる。
ここで、本実施の形態のゲームでは、照準カーソル503の大きさは一定ではなく、以下に示すように画面上の位置(座標)に応じて照準カーソル503の大きさが変化する。
図6に示すように、本ゲーム装置は、照準カーソル503の移動が可能な特定領域505を画面上に設定する。特定領域505は、従来のストライクゾーンとは異なる概念であり、後記するように、打者側のボールに対するコース予想を、ゲーム上で実現させるためのものである。この特定領域505の画面上の位置については、任意に定めることができる。例えば、特定領域505は、ストライクゾーン504の位置に初期設定することができる。図6では、特定領域505をストライクゾーン504と一致するように初期設定した例を示している。
なお、特定領域505の大きさ(面積)は任意に設定可能であり、ストライクゾーン504よりも大きくしたり、小さくしたりしてもよい。また、照準カーソル503は、特定領域505の外側にも移動できるようにしてもよいし、特定領域505の外側には移動できないようにしてもよい。
そして、ゲーム装置は、特定領域505における位置に応じて、前記照準カーソル503の大きさが変化するように、前記特定領域505内における前記照準カーソル503の大きさを設定する。例えば、照準カーソル503は、特定領域505の中央部において最も大きく、中央部から離れるほど照準カーソル503が小さくなるような設定にすることができる。これにより、図7に例示するように、特定領域505の中央部に存在する照準カーソル503を様々な方向へ移動させた場合、点線で示すように、特定領域505の外周に近づくに連れて連続的に(または段階的に)照準カーソル503が小さくなる。これは、現実の野球では、一般的にストライクゾーン504の中央部は打撃し易いが、ストライクゾーン504の端部は打撃し難いという状況を、ゲームに的確に反映させたものである。なお、図7では、上、下、左、右、右上、右下、左上、左下の8方向のみを示しているが、ユーザは照準カーソル503を任意の方向へ移動させることができる。
図7に示す特定領域505内における照準カーソル503の大きさ分布の設定によれば、図8に例示するように、ストライクゾーン504の真ん中のコースに存在する照準カーソル503の大きさが最大となるので、ボールに対して照準カーソル503を重ね合わせ易くなることから、ユーザは真ん中のコースにきたボールを打撃し易くなる。一方、図9に例示するように、照準カーソル503がストライクゾーン504の真ん中からずれた位置に存在する場合は、照準カーソル503の大きさが図8の場合よりも小さくなるので、ボールに対して照準カーソル503を合わせ難くなることから、ユーザによる打撃操作がより困難になる。
ところで、この場合、投手側から見れば、単純にストライクゾーンの端部を狙えば有利になるので、このままでは投手側のみにメリットが発生することになる。そこで、本実施の形態のゲーム装置では、さらに現実世界において見られる、打者のコース予想という概念を加え、ユーザ自らの操作により、特定領域505を移動できるようにしている。
すなわち、ユーザは、投手キャラクタ502からボールがリリースされるまでに、投球コースを予想し、特定領域505をストライクゾーン504からずれた位置に移動させることができる。例えば、ユーザがアウトコースを予想した場合、特定領域505をアウトコース側に移動させればよい。画面上で特定領域505が移動しても、基本的に、特定領域505の内部の設定(領域内の位置に応じて照準カーソル503の大きさが変化する設定)は維持される。よって、図10に例示するように、特定領域505の中央部をアウトコースに位置するように移動させた場合、アウトコースに存在する照準カーソル503の大きさが最大となり、ユーザは、アウトコースのボールを、あたかもストライクゾーン504の真ん中のボールのように打撃できる。すなわち、ユーザは、特定領域505をアウトコース側に移動させることにより、アウトコースを意識した打撃が可能となる。
一方、特定領域505の中央部をアウトコースに位置するように移動させたことによって、図11に例示するように、ストライクゾーン504の真ん中のコースに存在する照準カーソル503の大きさが小さくなるので、ユーザは真ん中のコースにきたボールが打撃し難くなる。
同様に、図12に例示するように、ユーザが次のボールがインコースに来ると予想して、特定領域505の中央部をインコースに位置するように移動させた場合、インコースに存在する照準カーソル503の大きさが最大となり、ユーザは、インコースのボールを、あたかもストライクゾーン504の真ん中のボールのように打撃できる。その一方、図13に例示するように、ストライクゾーン504の真ん中のコースに存在する照準カーソル503の大きさが小さくなるので、ユーザは真ん中のコースにきたボールが打撃し難くなる。
すなわち、ユーザのコース予想が当たれば、打者にとって本来不利なはずのストライクゾーン504の端部の投球コースが打ち易くなるので、単純に投手側にのみメリットが生じることはなくなり、現実世界での投打の駆け引きを、ゲーム上により緻密でリアルに反映できる。以下に、これを実現するゲーム装置の構成の一例を説明する。
〔ゲーム装置の構成〕
図1は、ゲーム装置100の構成を示すブロック図である。本実施の形態では、ゲーム装置100の一例として、家庭用のテレビジョン200に接続して使用する家庭用ビデオゲーム機について説明する。ゲーム装置100には、ゲームプログラムが記録されたコンピュータ読み出し可能な記録媒体300が装填され、当該記録媒体300よりゲームプログラムが適宜読み出されてゲームが実行される。
ゲーム装置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は、特定領域505や照準カーソル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対戦モード)もある。以下には、主に、通信対戦のゲームモードを例に挙げて、ゲームの一例を説明する。
〔ゲームの概要〕
図2または図3に示すように、二人のユーザがネットワーク600を介して通信対戦する形態では、2台のゲーム装置100にそれぞれ接続されたテレビジョン200のテレビジョンモニタ21に、図6に例示する画面と図14に例示する画面とがそれぞれ表示される。すなわち、打者キャラクタ501を操作する側のゲーム装置100のテレビジョンモニタ21には、前述の図6の画面が表示され、投手キャラクタ502を操作する側のゲーム装置100のテレビジョンモニタ21には図14のゲーム画面が表示される。
図14は、投手キャラクタ502が打者キャラクタ501に対して投球した直後の状態を示している。同図は、投手側から打者側を見た状態の画像を示しており、投手キャラクタ502を操作するユーザは、投打の対戦時にはこの画面を見ながらゲームを行なう。投手側のユーザは投球前に球種および投球コースを選択できる。例えば、画面には球種選択用アイコン511が表示され、ユーザは、この球種選択用アイコン511を見ながらコントローラ19(アナログスティックまたは方向キー等)を操作して球種を選択し、決定ボタンを押すことで球種の選択を確定する。
図14に示す球種選択用アイコン511の例では、中央部から周囲に向かって6本のラインa、b、c、d、e、fが延びており、6種類の球種から1つを選択可能である。例えば、aが「ストレート」、bが「シュート」、cが「シンカー」、dが「フォーク」、eが「カーブ」、fが「スライダー」である。なお、図14の例では、6種類の球種が選択可能であるが、選択可能な球種は投手キャラクタ502毎に異なっており、例えば2種類〜5種類の球種しか選択できない場合もある。ユーザの操作によって選択された球種は、球種選択用アイコン511の上部に表示される。
上記のようにして球種が決定されると、投手キャラクタ502が投球モーションに入る。例えば、その後、投手キャラクタ502がボールをリリースするまでの間に、ユーザは投球コースを指定することができる。画面には、ストライクゾーン504および投球コースを指定するためのコース指定カーソル512が表示される。例えば、ユーザは、コントローラ19(アナログスティックまたは方向キー等)を操作してコース指定カーソル512を移動させ、投球コースを指定できる。
なお、画面一体型のゲーム装置100において、画面がタッチパネルになっている場合には、ユーザが指またはスタイラス等で画面に接触することにより、接触位置を投球コースとして指定できるようにしてもよい。
上記のようにして投球コースを指定した後は、ユーザがコントローラ19の投球開始ボタンを押すことにより、又は自動的に、投手キャラクタ502が投球を開始し、ボールをリリースする。なお、図14では、便宜上、ストライクゾーン504、球種選択用アイコン511、コース指定カーソル512を表示しているが、例えばボールのリリース後はこれらの表示を消去してもよい。
ゲーム装置100は、投手側のユーザによって選択された球種および投球コースに基づいて、投手キャラクタ502からリリースされたボールの軌道を算出し、ボールをホームベース方向へと移動させる。なお、ゲーム装置100は、球種および投球コースだけではなく、投手キャラクタ502の能力パラメータ(球速、コントロール、変化レベル等)に基づいて、投手キャラクタ502からリリースされたボールの軌道を算出してもよい。ボールの軌道の算出については、既知のアルゴリズムを適用できる。
なお、上記では投手側のユーザが球種および投球コースを選択する例を示したが、投球コースのみを選択することにより、投手キャラクタ502が投球を開始するような、より簡易的な野球ゲームとすることもできる。
ところで、打者キャラクタ501を操作するユーザには、投手側のゲーム装置100の画面(図14の画面)は見えないので、相手がどの球種や投球コースを選択したのかは分からない。
一方、打者キャラクタ501を操作するユーザは、図6、図8〜図13に例示する画面を見ながらゲームを行なう。打者キャラクタ501が打席に立ったときに、ストライクゾーン504に重畳されて特定領域505が初期設定される。すなわち、特定領域505のデフォルトの位置は、特定領域505の中央部がストライクゾーン504の中央部と一致する位置である。
特定領域505の内部における照準カーソル503の大きさは、例えば、特定領域505の中央部において最も大きく、中央部から離れるほど小さくなるように設定されている。従って、図7に例示するように、ユーザが特定領域505内で照準カーソル503を移動させれば、特定領域505の内部のローカル座標によって、照準カーソル503の大きさが変化する。ここで、ローカル座標としては、例えば、特定領域505の中央部(中心点)を原点とした座標系を適用できる。
前述のように、ユーザは、投手キャラクタ502がボールをリリースするまでに、投球コースを予測し、必要に応じて特定領域505を移動させることができる。特定領域505が移動しても、基本的に、特定領域505の内部における照準カーソル503の大きさの設定は維持される。
例えば、ユーザがストライクゾーン504の真ん中のコースを予想(または意識)した場合、特定領域505の中央部がストライクゾーン504の中央部と一致しているデフォルトの位置から、特定領域505を移動させる必要はない。
また、ユーザがストライクゾーン504の真ん中のコース以外を予想(または意識)した場合、図10、図12等に示すように、特定領域505の中央部が予想したコースに位置するように、特定領域505を移動させる。
なお、投手キャラクタ502を操作するユーザは、図6、図8〜図13の画面は見えないので、打者側のユーザがどのコースを予想して特定領域505を移動させたかは分からない。
投手キャラクタ502からボールがリリースされた後は、最早、ユーザが特定領域505を移動させることはできない。打者キャラクタ501を操作するユーザは、投手キャラクタ502が投げたボールに重なるように照準カーソル503を移動させると共に、ボールを打撃可能なタイミングでスイングボタンを押すことにより、ボールを打ち返すことができる。ここで、ボールを打撃可能なタイミングとは、ボールが打者キャラクタ501の近傍を通過する所定の打撃可能時間帯(例えば、4フレーム時間)とすることができる。
ところで、投手キャラクタ502が投げたボールに照準カーソル503が重ならなければ、そのボールを打ち返せない。この場合、打者キャラクタ501が振ったバットにボールが当たらずに、空振りとなる。
あるいは、バリエーションとして、照準カーソル503は、ボールを効果的に打てるバットの領域である、所謂、スイートスポットを含む所定領域としてもよい。この場合、照準カーソル503がボールに重ならない場合でも、バットに当たりさえすれば(すなわち、照準カーソル503の周辺のバットオブジェクトの存在する領域と、ボールとが重なれば)、凡打にはなるが、空振りにはならないようにすることができる。
もしも、ボールを打撃可能なタイミング以外でスイングボタンが押された場合には、打者キャラクタ501は空振りする。一方、ボールを打撃可能なタイミングでスイングボタンが押されたときに、照準カーソル503がボールと重なっている場合には、打者キャラクタ501がボールを打ち返す。ボールを打撃可能なタイミングでスイングボタンが押された場合でも、照準カーソル503がボールと重ならなければ、打者キャラクタ501は空振りする(またはバットに当たっても凡打となる)。
打者側のユーザのコース予想が当たれば、すなわち、投手キャラクタ502が投げたボールが、予め移動させておいた特定領域505の中央部付近に来れば、打撃し易くなる。これは、特定領域505の中央部で、照準カーソル503の面積が最大となるためである。
一方、打者側のユーザのコース予想が外れれば、すなわち、投手キャラクタ502が投げたボールが、予め移動させておいた特定領域505の中央部から離れたコースに来れば、打撃の難易度が高くなる。これは、特定領域505の中央部から離れるほど照準カーソル503の面積が小さくなるためである。
打撃に成功した場合、ゲーム装置100は、スイングボタンが押されたタイミング、照準カーソル503の中心(重心)とボールの中心(重心)とのずれ量等に基づいて、打撃されたボールの軌道を算出し、ボールを移動させる。例えば、スイングボタンが押されたタイミングが、打撃可能時間帯の中間付近ならばセンター方向の打撃、それよりも早ければ、所謂、引っ張る打撃、それよりも遅ければ、所謂、流し打ちの打撃となる。また、照準カーソル503の中心とボールの中心とのずれ量が少ないほど、強いライナー性の打球となる。また、照準カーソル503の中心がボールの中心よりも上側にずれていれば、所謂、ゴロの打球、下側にずれていれば、所謂、フライの打球となる。このように、照準カーソル503とボールとの重なり方によって、打球の速度や打球の角度が変わる。さらに、ゲーム装置100は、打者キャラクタ501の能力パラメータ(パワー、弾道等)をも考慮して、打ち返されたボールの軌道を算出してもよい。ボールの軌道の算出については、既知のアルゴリズムを適用できる。
〔ゲーム装置の機能的構成および動作〕
次に、図4の機能ブロック図等を参照して、ゲーム装置100の主要な機能的構成について説明する。図4に示すように、ゲーム装置100は、主に、特定領域設定手段51、領域内カーソル設定手段52、特定領域移動手段53およびカーソル移動手段54を備えている。これらの各手段は、ゲーム装置100のCPU1が、本実施の形態に係るプログラムを実行することにより実現されるものである。
特定領域設定手段51は、照準カーソル503の移動が可能な特定領域505を画面上に設定する機能を有する。特定領域505の画面上の初期位置については、任意に定めることができる。本実施の形態の野球ゲームでは、図6に例示するように、特定領域設定手段51は、画面上の基準位置の一例としてのストライクゾーン504の位置に、特定領域505を初期設定する。すなわち、特定領域505の中央部(中心)の座標が、ストライクゾーン504の中央部(中心)の座標と一致するように、特定領域505を初期設定する。
例えば、ゲームプログラムがゲーム装置100のRAM5にロードされた場合、特定領域505が初期設定される画面上の基準位置のグローバル座標の情報もRAM5に格納される。特定領域設定手段51は、この基準位置のグローバル座標の情報に基づいて、特定領域505を画面上に初期設定する。ここで、グローバル座標とは、例えば、ゲーム画面の左上角を基準とした座標である。
このように、特定領域505が移動される前の初期位置(デフォルトの位置)が、常に基準位置(ストライクゾーン504の位置等)に固定化されるので、ユーザにとって特定領域505の位置の認識が容易となり操作性が向上する。
特定領域505を初期設定するタイミングについては、ゲーム内容に応じて適宜定めることができる。本実施の形態では、打者キャラクタ501が打席に立ったタイミングで、特定領域設定手段51が、特定領域505をストライクゾーン504の位置に初期設定する。なお、投球コースの予想は1球毎に行うものであることから、その後も、投手キャラクタ502が投球の準備に入る1球毎に、特定領域505を基準位置であるストライクゾーン504の位置に初期設定(再設定)してもよい。例えば、ユーザが投球前に特定領域505を基準位置からアウトコース側へ移動させたとする。その後、打者キャラクタ501がその投球を見送る、打撃したがファールになる、または空振りすることにより、投手キャラクタ502が次の投球の準備に入るときに、アウトコース側へ移動されていた特定領域505が自動的に基準位置に戻される。
あるいは、打者キャラクタ501が打席に立ったタイミングで、特定領域設定手段51が特定領域505を基準位置であるストライクゾーン504の位置に初期設定した後は、当該打者キャラクタ501の打席が終了するまで、特定領域505を自動的に初期位置に戻すことはしないようにしてもよい。
また、特定領域505の画面上の大きさ、形状についても、任意に定めることができる。本実施の形態の例では、特定領域505を、ストライクゾーン504と同じ大きさ及び形状(矩形)としている。これにより、図6に例示するように、特定領域505は、基準位置においてストライクゾーン504と一致するように設定される。
基準位置に初期設定された特定領域505がストライクゾーン504と一致することにより、打者側のユーザが真ん中コースを予想する場合、特定領域505を移動させる必要はなく、それ以外のコースを予想する場合に、予想するコース側に特定領域505をシフトさせればよい。このように、ストライクゾーン504を基準にしたコース予想を実現することにより、ユーザの操作性が大幅に向上する。
次に、領域内カーソル設定手段52について説明する。この領域内カーソル設定手段52は、特定領域505内の位置に応じて、照準カーソル503の大きさが変化するように、特定領域505内における照準カーソル503の大きさを設定する機能を有する。すなわち、特定領域505の内部の位置と照準カーソル503の大きさとの関係が予め定められている。
特定領域505の内部の位置の情報としては、例えば、特定領域505の中央部(中心点)等を原点としたローカル座標を適用できる。
あるいは、特定領域505の内部の位置の情報として、ゲーム画面全体のグローバル座標(例えば、画面の左上角を基準とした座標)を適用してもよい。この場合、特定領域505が初期設定される画面上の基準位置(本実施の形態ではストライクゾーン504の位置)におけるグローバル座標を適用する。
例えば、特定領域505の内部の位置と照準カーソル503の大きさとの関係を示すテーブルの情報が、ゲームプログラムが記録された記録媒体300に格納されており、ゲームの実行時に前記テーブルの情報がRAM5にロードされる。この場合、領域内カーソル設定手段52は、前記テーブルに基づいて、特定領域505内における照準カーソル503の大きさを設定する。
特定領域505内において、照準カーソル503の大きさが変化するが、どの位置の照準カーソル503も、基本的に相似の関係とすることができる。従って、例えば図7に示すように、照準カーソル503の形状を円形とした場合、照準カーソル503の大きさの情報として、半径または直径の情報を適用できる。
なお、照準カーソル503の形状は円形に限定されるものではなく、任意の形状とすることができる。野球ゲームではバットオブジェクト520でボールを打ち返すことから、図15に例示するように、バットオブジェクト520の形状を考慮して、照準カーソル503を略楕円形状としてもよい。この場合も、特定領域505内の照準カーソル503は、位置によって大きさが変化しても相似形とすることができる。よって、照準カーソル503の大きさの情報として、例えば楕円の長軸または短軸の情報を適用できる。
ここで、領域内カーソル設定手段52は、図7に示すように、特定領域505の中央部から離れるほど照準カーソル503が小さくなるように、特定領域505内における照準カーソル503の大きさを設定することが好ましい。この場合も、領域内カーソル設定手段52は、前記テーブルに基づいて、特定領域505内における照準カーソル503の大きさを設定することができる。あるいは、照準カーソル503の大きさを、特定領域505の中央部からの距離の関数として数式化し、当該関数に基づいて特定領域505内における照準カーソル503の大きさを設定してもよい。
特定領域505内の設定を、特定領域505の中央部から離れるほど照準カーソル503が小さくなる設定とした場合、特定領域505の中央部において、照準カーソルが最も大きくなり、打撃がし易くなる。よって、ユーザは、特定領域505の中央部を基準とし、当該中央部が予想コースに位置するように特定領域505を移動させれば、的確にコース予想をゲーム上に反映させることができ、ユーザの操作性が向上する。
また、この場合、特定領域505内におけるボールの到着コースと特定領域505の中央部との離間距離に応じて打撃の難易度が変化する。前記離間距離は予想の的確度を表わし、前記離間距離が小さいほど、予想が的確であり打撃がし易くなる一方、前記離間距離が大きいほど照準カーソル503は小さくなって打撃が困難になる。このように、予想の的確度を打撃の難易度として反映させることができる。
また、領域内カーソル設定手段52は、第1キャラクタの一例としての打者キャラクタ501のパラメータに基づいて、特定領域505内における照準カーソル503の大きさの設定を調整することが好ましい。
ここで、打者キャラクタ501のパラメータの一例としては、打撃の得意コースまたは不得意コースに関するパラメータが挙げられる。野球ゲームでは、オーダーに従って1番から9番の選手キャラクタが打者キャラクタ501として順番に打席に立つが、各選手キャラクタには、例えばインコースは得意であるがアウトインコースは苦手、高目コースは得意であるが低目コースは苦手等の得意コースおよび/または不得意コースのパラメータが設定されている。選手キャラクタ毎に、得意コースまたは不得意コースに関するパラメータは異なっている。
図16は、得意コースとしてインコース高目、不得意コースとしてアウトコース低目が設定されている右打ちの選手キャラクタAが、打者キャラクタ501として打席に立った場合の、特定領域505内の設定の一例を示している。この場合、図16に示すように、領域内カーソル設定手段52は、特定領域505内における照準カーソル503の大きさ分布の設定において、インコース高目領域522(図中のハッチング領域)のカーソルサイズを通常より大きくする一方、アウトコース低目領域523(図中のハッチング領域)のカーソルサイズを通常より小さくする調整を行う。図16において、インコース高目領域522およびアウトコース低目領域523以外の領域の設定は、図7と同様である。
このように、打者キャラクタ501の得意コースについては、特定領域505内の照準カーソル503の大きさを通常より大きくし、不得意コースについては特定領域505内の照準カーソル503の大きさを通常より小さくする。
また、領域内カーソル設定手段52は、打者キャラクタ501のパラメータの一例としてのミート能力に応じて、照準カーソル503の大きさを調整してもよい。ミート能力とはバットにボールを当てる能力の高さであり、打者キャラクタ501のミート能力が大きいほど照準カーソル503が大きくなるように調整する。この場合の照準カーソル503の大きさ調整は、特定領域505内の全体に対して行う。
本構成により、打者キャラクタ501のパラメータを、特定領域505内における打撃の操作難易度として的確に反映させることができ、遊戯性の向上が図られる。
次に、特定領域移動手段53について説明する。この特定領域移動手段53は、移動体の一例としてのボールの移動が開始されるまでのユーザの操作に応じて、特定領域505を移動させる機能を有する。本実施の形態では、投手キャラクタ502からボールがリリースされるまでの、ユーザのコントローラ19等を用いた操作に応じて、特定領域移動手段53が、画面上の特定領域505を移動させる。
特定領域505を移動させる方法としては、ユーザの操作に応じて特定領域505自体を移動させる方法と、ユーザが照準カーソル503を移動させる操作を行うことにより、照準カーソル503の位置に応じて特定領域505を自動的に移動させる方法とがある。まず、前者の方法について説明する。
特定領域移動手段53は、投手キャラクタ502が投じるボールの移動が開始されるまでの、ユーザによる特定領域505自体を移動させる操作に応じて、特定領域505を移動させる機能を有する。例えば、ユーザがコントローラ19の上下左右の方向キーを押す操作をすれば、当該操作に応じた方向に、特定領域505自体を移動させる。
特定領域505が移動しても、基本的に、特定領域505内の設定(領域内の位置に応じて照準カーソル503の大きさが変化する設定)は維持される。すなわち、特定領域505の画面上のグローバル座標が変化しても、特定領域505内のローカル座標と照準カーソル503の大きさとの相対的関係に変化は生じない。
特定領域505の移動によって、特定領域505の画面上の位置(グローバル座標)が変化した場合、特定領域505内のローカル座標は、既知の座標変換アルゴリズムを適用して、移動後のグローバル座標へ容易に変換できる。
特定領域505の移動の単位については、任意に定めることができる。例えば、図10または図12に示すように、ストライクゾーン504を水平方向および垂直方向にそれぞれ3等分して格子状に9分割し、その1マス単位で水平方向に(すなわち、インコースまたはアウトコースの方向に)特定領域505を移動できるようにする。この場合、ストライクゾーン504の水平方向の長さの3分の1の距離が、移動の最小単位である。これにより、例えば、図9に示すように、特定領域505がストライクゾーン504と一致している状態で、ユーザが右方向キーを1回押す操作をすれば、図10に示すように、特定領域505が右方向に1マス移動して、ユーザがアウトコースを予想している状態になる。このように、ストライクゾーン504の水平方向の長さの3分の1の距離を移動の最小単位とすることにより、少ない入力操作で、特定領域505の中央部を、ストライクゾーン504のアウトコースまたはインコースの中央部に、正確に一致させることができ、操作性の向上が図れる。
同様に、ストライクゾーン504を9等分した1マス単位で垂直方向に(すなわち、高目コースまたは低目コースの方向に)特定領域505を移動できるようにしてもよい。この場合、ストライクゾーン504の垂直方向の長さの3分の1の距離が、移動の最小単位である。これにより、少ない入力操作で、特定領域505の中央部を、ストライクゾーン504の高目コースまたは低目コースの中央部に、正確に一致させることができ、操作性の向上が図れる。
勿論、ストライクゾーン504を9等分した1マス単位で水平および垂直の両方向に特定領域505を移動できるようにしてもよい。この場合、インコース、アウトコース、高目、低目だけではなく、インコース高目、インコース低目、アウトコース高目、アウトコース低目の各方向に特定領域505を移動させることにより、ユーザは、特定領域505を移動させた方向の投球コースを予測できる。
図17に示すように、特定領域505に対する所定の移動可能範囲521を設定することが好ましい。例えば、特定領域505は、特定領域505がストライクゾーン504と一致している状態から、上下左右にそれぞれ1マス以上は移動できないようにする。このように特定領域505の移動を所定の移動可能範囲521に制限している理由は、次のとおりである。すなわち、照準カーソル503は、少なくとも特定領域505内を移動可能である。打者キャラクタ501はバッターボックス内で打撃する必要があるところ、特定領域505を制限なくどこにでも移動できるものとすると、打者キャラクタ501の打撃可能な範囲が不自然に広がり過ぎることになる。よって、これを回避するために、特定領域505に対して移動可能範囲521を設定し、その移動を妥当な範囲で制限する。
特定領域505の移動の単位については、上記の例に限定されるものではない。ストライクゾーン504を水平方向および垂直方向にそれぞれn等分(nは2以上の自然数)して格子状に複数分割し、その1マス単位で水平方向および/または垂直方向に特定領域505を移動できるようにすることができる。また、特定領域505の移動可能範囲521についても任意に定めることができる。
あるいは、特定領域505の移動可能範囲内で、1ドット単位で任意の位置に、特定領域505を移動できるようにしてもよい。
本構成では、投手キャラクタ502が投じるボールの移動が開始されるまでに、ユーザは、特定領域505自体を移動させる操作をして、コース予想に関する先行入力を行うことができる。この場合、画面上の特定領域505の位置が、ユーザが予想したコースの位置として明確化される。
ところで、特定領域505は、投手キャラクタ502からボールがリリースされるまでは可視化されて、ユーザが画面上で視認可能であるが、リリース後は透明化して不可視としてもよい。あるいは、リリース後は特定領域505の透明度を高めて、特定領域505の視認性をリリース前よりも低下させてもよい。なお、特定領域505が画面上で不可視となっても、特定領域505自体は存在するので、特定領域505内の照準カーソル503の大きさの設定は維持される。
なお、ストライクゾーン504については、常時可視化、常時不可視化、投手キャラクタ502が投球動作に入った後のみ不可視、投手キャラクタ502からボールがリリースされた後のみ不可視化等、様々な態様が考えられる。
次に、カーソル移動手段54について説明する。このカーソル移動手段54は、照準カーソルを、ユーザの操作に応じて移動させる機能を有する。例えば、ユーザがコントローラ19のアナログスティック、方向キー等を操作すれば、カーソル移動手段54が、当該操作に応じて照準カーソル503の画面上の位置を変化させる。ユーザによる照準カーソル503の移動操作は、投手キャラクタ502からボールがリリースされた後は勿論のこと、リリース前でも可能である。
前述のように、照準カーソル503は、少なくとも特定領域505内を移動可能である。照準カーソル503は、特定領域505の外部にも移動できるようにしてもよいし、特定領域505の外部には移動できないようにしてもよい。
ところで、現実世界でも、ストライクゾーンの球を打つよりもストライクゾーンから外れたボール球を打つ方が難しいが、ストライクゾーンから外れたボール球を巧く捉えてヒットにすることは可能である。これをゲームにリアル反映させるべく、図18の機能ブロック図に示すように、ゲーム装置100は、領域外カーソル設定手段58をさらに備えている構成とすることができる。
領域外カーソル設定手段58は、特定領域505外における照準カーソル503の大きさを、特定領域505内における特定領域505外との境界部に位置する照準カーソル503の大きさよりも小さくなるように設定する機能を有する。
本構成により、特定領域505外にも照準カーソル503を移動可能とする一方で、特定領域505内よりも照準カーソル503を小さくして打撃の難易度を高くすることにより、リアル感を高めることができる。
なお、照準カーソル503を特定領域505の外部にも移動できるようにする場合は、打撃可能な範囲が不自然に広がり過ぎることを回避するため、照準カーソル503を移動できる範囲に制限を設けることが好ましい。例えば、図17に例示する特定領域505の移動可能範囲521を、照準カーソル503の移動可能範囲とすることができる。
以上のように、本実施の形態のゲーム装置100は、打者キャラクタ501を操作するユーザが、投手キャラクタ502が投じたボールに照準カーソル503を重ねて打撃する野球ゲームを制御する。このゲーム装置100の好ましい構成は、照準カーソル503を、ユーザの操作に応じて移動させるカーソル移動手段54と、ストライクゾーン504に照準カーソル503の移動が可能な特定領域505を設定する特定領域設定手段51と、特定領域505の中央部から離れるほど照準カーソル503が小さくなるように、特定領域505内における照準カーソル503の大きさを設定する領域内カーソル設定手段52と、投手キャラクタ502がボールを投じるまでのユーザの操作に応じて、特定領域505をストライクゾーン504から移動させる特定領域移動手段53と、を備えている。
ところで、野球ゲームでは、イニング毎に攻守を変えてゲームが進行するので、ユーザは打者の立場でゲーム操作をすることも投手の立場でゲーム操作をすることもできる。そこで、図19の機能ブロック図に示すように、ゲーム装置100は、基本的に、打者キャラクタ501による打撃を制御するための打撃制御手段50および投手キャラクタ502による投球を制御するための投球制御手段60を備えている。前述の特定領域設定手段51、領域内カーソル設定手段52、特定領域移動手段53およびカーソル移動手段54は、打撃制御手段50の機能に含めることができる。また、打撃制御手段50は、打撃結果決定手段55をさらに備えている。
打撃結果決定手段55は、前述のように、スイングボタンが押されたタイミング、照準カーソル503の中心とボールの中心とのずれ量、打者キャラクタ501の能力パラメータ等に基づいて、打撃結果を決定する機能を有する。
投球制御手段60は、投球パラメータ決定手段61およびボール移動手段62を備えている。投球パラメータ決定手段61は、投手キャラクタ502を操作するユーザの操作に基づいて、投球パラメータを決定する機能を有する。前述のように、投手側のユーザは、コントローラ19等を操作して、投球コース、球種等を選択できる。投球パラメータ決定手段61は、ユーザによる投球コース、球種等の選択操作に基づいて、投球コース、球種(軌道の変化、ボールの移動速度)等のボールの移動に関する投球パラメータ(移動パラメータの一例)を決定する。
ボール移動手段62は、投球パラメータ決定手段61によって決定された投球パラメータに基づいて、投手キャラクタ502からリリースされたボールの軌道を算出し、ボールをホームベース方向へと移動させる機能を有する。
2人のユーザが、それぞれ自分のゲーム装置100を操作して通信対戦する場合、投手側のユーザのゲーム装置100の投球パラメータ決定手段61によって決定された投球パラメータは、打者側のユーザのゲーム装置100に送信される。よって、打者側のユーザのゲーム装置100のボール移動手段62は、投手側のユーザのゲーム装置100から受信した投球パラメータに基づいて、投手キャラクタ502からリリースされたボールを移動させる。
なお、ユーザがCPU対戦モードにより一人でプレイする場合において、ユーザが打者キャラクタ501を操作する立場のとき、ゲーム装置100のCPU1は、AIプログラム(Artificial Intelligence Program)等に基づく自動制御で、投手キャラクタ502による投球を制御する。すなわち、この場合、投球パラメータ決定手段61は、自動的に投球パラメータを決定する。
このCPU対戦モードの場合、投球パラメータ決定手段61は、特定領域505が初期設定された時点で(すなわち、ユーザが特定領域505を移動させる前に)、投球パラメータを決定している。
ここで、本実施の形態のゲーム装置100の動作の一例を、図20および図21のフローチャートを参照しながら、以下に説明する。図20および図21は、ユーザが操作する打者キャラクタ501が打撃を行う場合における、処理の一例を示している。
ゲーム装置100は、打者キャラクタ501が打席に立った場合(S1)、特定領域505を画面に設定する(S2)。本実施の形態では、図6に示すように、ゲーム装置100は、画面上の基準位置としてのストライクゾーン504に、特定領域505を初期設定する。この特定領域505は、画面上で可視化される。
そして、ゲーム装置100は、特定領域505内の位置と照準カーソル503の大きさとの相対関係を設定する(S3)。すなわち、ゲーム装置100は、特定領域505内の位置に応じて照準カーソル503の大きさが変化するように、特定領域505内における照準カーソル503の大きさを設定する。本実施の形態では、図7に例示するように、ゲーム装置100は、特定領域505の中央部から離れるほど照準カーソル503が小さくなるように、特定領域505内における照準カーソル503の大きさを設定する。また、図16に例示するように、打者キャラクタ501の得意/不得意に関するパラメータ等に基づいて、特定領域505内における照準カーソル503の大きさの設定を調整してもよい。
ゲーム装置100の領域内カーソル設定手段52は、特定領域505内における照準カーソル503の大きさの設定情報を、記憶装置(例えばRAM5)に記憶する。ここで記憶される設定情報は、特定領域505の内部の位置と照準カーソル503の大きさとの関係を示すテーブルの情報とすることができる。例えば、ゲーム装置100は、特定領域505内のローカル座標(またはグローバル座標でもよい)と照準カーソル503の大きさとの関係を示すテーブルの情報をRAM5に記憶する。
また、画面に特定領域505が設定された場合、ゲーム装置100は、特定領域505の中央部、すなわちストライクゾーン504の中央部に、照準カーソル503を初期設定することが好ましい。
その後、ユーザは、投手キャラクタ502からボールがリリースされるまでに、投球コースを予想し、必要に応じて特定領域505を移動させる操作が可能である。例えば、ユーザがアウトコースの投球を予想した場合、図10に示すように、特定領域505の中央部がストライクゾーン504のアウトコース領域に位置するように、特定領域505を移動させればよい。これによって、アウトコースにおいて照準カーソル503の大きさが最大となってボールを捉え易くなり、アウトコースを意識した打撃操作が可能となる。一方、図11に示すように、特定領域505をアウトコース側へシフトさせたことにより、ストライクゾーン504の真ん中コースにおいて、照準カーソル503が図6の場合よりも小さくなってボールを捉えにくくなり、打撃操作の難易度が高まる。
また、例えば、ユーザがインコースの投球を予想した場合、図12に示すように、特定領域505の中央部がストライクゾーン504のインコース領域に位置するように、特定領域505を移動させればよい。これによって、インコースにおいて照準カーソル503の大きさが最大となってボールを捉え易くなり、インコースを意識した打撃操作が可能となる。
なお、ユーザがストライクゾーン504の真ん中のコースの投球を予想した場合、図6に示すように、特定領域505の中央部は、初期設定の状態でストライクゾーン504の中央部と一致しているため、特定領域505を移動させる必要はない。この場合、真ん中のコースにおいて照準カーソル503の大きさが最大となってボールを捉え易くなり、真ん中のコースを意識した打撃操作が可能となる。
ユーザによって特定領域505の移動操作が行われた場合(S4でYES)、ゲーム装置100は、特定領域505内の設定(領域内の位置に応じて照準カーソル503の大きさが変化する設定)を維持したまま、画面上の特定領域505を移動させる(S5)。
このように、画面上の特定領域505が移動された場合において、特定領域505の移動後の照準カーソル503の位置については、以下のようなバリエーションが考えられる。
特定領域505が移動された場合、移動後の特定領域505の中央部に、照準カーソル503を自動的に再設定してもよい。
あるいは、特定領域505が移動された場合、特定領域505と、特定領域505内に存在する照準カーソル503との相対的な位置関係を維持したまま、特定領域505の移動に伴って、照準カーソル503も自動的に移動させてもよい。すなわち、特定領域505の移動前と移動後とで、特定領域505内における照準カーソル503のローカル座標は変化しない。
あるいは、特定領域505が移動されても、照準カーソル503の画面上の絶対位置(グローバル座標)は変化しないようにしてもよい。
前記ステップS5の実行後、または前記ステップS4において特定領域505の移動操作が行われない場合、ステップS6に移行する。
ステップS6において、ユーザによって照準カーソル503の移動操作が行われた場合(S6でYES)、ゲーム装置100は、画面上の照準カーソル503を移動させる(S7)。この照準カーソル503の移動によって、特定領域505内の照準カーソル503の位置が変化するので、ゲーム装置100は、照準カーソル503の移動に伴って照準カーソル503の大きさを変更する(S8)。例えば、ゲーム装置100は、RAM5に記憶されている、特定領域505内のローカル座標と照準カーソル503の大きさとの関係を示すテーブルの情報に基づいて、特定領域505内の照準カーソル503の移動に伴って照準カーソル503の大きさを変更する。
ステップS8の実行後、またはステップS6において照準カーソル503の移動操作が行われない場合(S6でNO)、ステップS9に移行する。このステップS9において、投手キャラクタ502から未だボールが送出されていなければ(S9でNO)、ステップS4に戻り、ステップS4〜S9が繰り返される。
ステップS9において、投手キャラクタ502からボールが送出された場合(S9でYES)、図21のステップS10に移行し、ゲーム装置100は、投球されたボールを画面上で移動させる表示制御を実行する。
ここで、投手キャラクタ502からボールが送出された後は、特定領域505を不可視にすることが好ましい。これは、次の理由による。すなわち、投手キャラクタ502からボールが送出された後も特定領域505が可視化されたままでは、投球されたボールや照準カーソル503の視認性が悪くなる。そこで、これを回避してユーザによる操作性の向上を図るため、ボールが送出された後は、特定領域505を不可視にする。
また、同様の理由で、投手キャラクタ502からボールが送出された後は、ストライクゾーン504の枠表示についても不可視にすることが好ましい。なお、投手キャラクタ502が足を上げる等して投球動作に入ったときに、ストライクゾーン504の枠表示を不可視にしてもよい。
なお、上記では、投手キャラクタ502からボールがリリースされるまで、すなわち移動体としてのボールの移動が開始されるまで、ユーザによる特定領域505の移動操作を可能とする例を示したが、次のようにすることもできる。例えば、投手キャラクタ502が投球動作に入るまでは、ユーザによる特定領域505の移動操作は可能であるが、投球動作が開始された後は、ボールのリリース前であっても、特定領域505の移動操作を禁止するようにしてもよい。このように、移動体(ボール等)の移動が開始されるまでの所定のタイミングまで、ユーザによる特定領域505の移動操作を可能とし、それ以降は当該移動操作を禁止するようにしてもよい。
投手キャラクタ502による投球動作が開始された後に、特定領域505の移動操作を禁止する場合、投球動作が開始された時点で、特定領域505を不可視にすることが好ましい。特定領域505の移動操作が禁止された時点で、特定領域505を不可視にすることにより、特定領域505が移動できないことをユーザに明確化できる。
投手キャラクタ502からボールがリリースされた後において、ユーザは、移動するボールに重なるように照準カーソル503を移動させる操作を行う。ユーザによって照準カーソル503の移動操作が行われた場合(S11でYES)、ゲーム装置100は、画面上の照準カーソル503を移動させる(S12)。この照準カーソル503の移動によって、特定領域505内の照準カーソル503の位置が変化するので、ゲーム装置100は、照準カーソル503の移動に伴って照準カーソル503の大きさを変更する(S13)。
例えば、ユーザがアウトコースの投球を予想し、図10に示すように、特定領域505をアウトコースに移動させる先行入力を行っていた場合を想定する。ユーザの予想が的中し、実際にアウトコースにボールが来た場合、アウトコースにおいて照準カーソル503の大きさが最大となってボールを捉え易くなる。一方、ユーザの予想が外れて、例えば、真ん中のコースにボールが来た場合、照準カーソル503を真ん中のコースに移動させれば、照準カーソル503が小さくなり、ボールを捉え難くなる。このように、ユーザがコース予想を行って先行入力(特定領域505の移動操作)をした場合、その予想が当たれば打撃し易くなるというメリットを生じる一方、予想が外れれば本来打ち易いはずの真ん中コースが打撃し難くなるというデメリットも生じる。
ステップS13の実行後、またはステップS11において照準カーソル503の移動操作が行われない場合(S11でNO)、ステップS14に移行する。このステップS14において、ユーザがスイングボタンを押す打撃操作を未だ行っていなければ(S14でNO)、ボールがホームベース後方の捕手の位置に到達したか否かが判定される(S15)。このステップS15においてボールが捕手の位置には到達していなければ(S15でNO)、ステップS10に戻り、ステップS10〜S15が繰り返される。
ボールが捕手の位置に到達する前に、ユーザがスイングボタンを押す打撃操作を行った場合(S14でYES)、ゲーム装置100は、打者キャラクタ501にバットをスイングさせる打撃動作を行わせる(S16)。その後、ゲーム装置100は、スイングボタンが押されたタイミング、照準カーソル503と投球されたボールとの重なりの程度、打者キャラクタ501の能力パラメータ等に基づいて、打撃結果を決定し(S17)、その結果を画面に表示する(S18)。例えば、打撃に成功した場合、ゲーム装置100は、スイングボタンが押されたタイミング、照準カーソル503の中心とボールの中心とのずれ量等に基づいて、打撃されたボールの軌道を算出し、ボール(打球)を移動させる。
一方、ユーザが打撃操作を行うことなく(S14でNO)、ボールが捕手の位置に到達した場合(S15でYES)、すなわち、打者キャラクタ501がボールを見送った場合、その結果を画面に表示する(S18)。図10等の画面では、ボールカウントやアウトカウント等の表示を省略しているが、例えば、ボールがストライクゾーン504を通過した場合には「ストライク」、ストライクゾーン504を外れた場合には「ボール」とし、ボールカウントの表示を更新する。
ステップS18の後、ゲーム装置100は、現在打席に立っている打者キャラクタ501に対する投球を継続するか否かを判断する(S19)。例えば、打者キャラクタ501が打撃したがファールになった場合、空振りしたが三振でない場合、ボールを見送ったが三振または四球でない場合は、同じ打者キャラクタ501に対する投球が継続されるので(S19でYES)、これらの場合はステップS2に戻る。すなわち、ステップS2において、ゲーム装置100は、投手キャラクタ502が次の投球の準備に入るときに、特定領域505を基準位置であるストライクゾーン504の位置に再設定する。
一方、打者キャラクタ501の打席の結果(ヒットまたはアウト)が確定し、当該打者キャラクタ501に対する投球が継続されない場合は(S19でNO)、処理を終了する。新たな打者キャラクタ501が打席に立つ場合は、再度、図20および図21の処理が実行される。
以上のように、本構成では、特定領域505内の位置に応じて照準カーソル503の大きさが変化するように、特定領域505内における照準カーソル503の大きさを設定することにより、投手キャラクタ502が投球したボールの移動コースに応じた操作難易度をリアルに設定できると共に、基本的に特定領域505における照準カーソル503の大きさの相対関係を維持したままで、ユーザが特定領域505を移動させてコース予想を可能とする。
投手キャラクタ502を操作するユーザ(またはCPU対戦時のCPU1)は、本来は打者が打ち難いはずのストライクゾーンの端部のコースを狙った投球をすることができる。これに対して、打者キャラクタ501を操作するユーザは、投球コースを予想し、特定領域505を予想した投球コースの方へ移動させることにより、その予想が的中すれば、打者にとって本来不利なはずのストライクゾーン504の端部の投球コースを打ち易くできる。一方、投球コースの予想が外れれば、通常よりも打撃操作の難易度が高まって不利となる。これにより、ユーザのコース予想をリアルに反映することができる興趣性の高いゲームを実現できる。
本実施の形態の構成により、投手側のユーザ(またはCPU1)は、打者に打たれないように投球コースを考えながらピッチングを組み立てる一方、打者側のユーザは、投球コースを読みながら投手を打ち崩そうとする、現実世界での投打の駆け引きを、ゲーム上に緻密でリアルに反映できる。
次に、領域内カーソル設定手段52のバリエーションを説明する。ストライクゾーン504の真ん中以外のコース(例えばアウトコースを)予想してそのコースを意識した打撃をした場合、その予想が的中すれば、予想しない場合よりも打ち易くなる。但し、コース予想はあくまでユーザの意識に基づくものである。このため、現実的には、真ん中コースを意識した打撃をして、真ん中コースに来たボールを打撃するよりも、真ん中以外のコースを意識した打撃をして、意識したコースに来たボールを打撃する場合の方が、若干ボールを打ち難くなる。これをゲームにリアルに反映させるべく、領域内カーソル設定手段52は、以下の構成とすることができる。
すなわち、領域内カーソル設定手段52は、特定領域505が基準位置(本実施の形態ではストライクゾーン504の位置)から移動した場合における領域中央部の照準カーソル503の大きさを、特定領域505が基準位置に存在する場合における領域中央部の照準カーソル503の大きさよりも、小さく設定する。
例えば、図22Aに示すように、特定領域505が基準位置であるストライクゾーン504の位置に存在する場合において、領域中央部の照準カーソル503の直径をL1とする。また、図22Bに示すように、特定領域505が基準位置であるストライクゾーン504から右打者のアウトコース側へ移動した場合において、領域中央部の照準カーソル503の直径をL2とする。この場合、L1>L2となる。特定領域505をストライクゾーン504の位置からインコース側、高目側、または低目側に移動させた場合も同様である。
このように、特定領域505が基準位置であるストライクゾーン504の位置に存在する場合よりも、基準位置から移動した場合の方が、領域中央部の照準カーソル503の大きさを小さくすることにより、操作難易度を高くする。これにより、コース予想におけるリアル感をより向上させることができる。
ところで、図23に示すように、特定領域505が基準位置であるストライクゾーン504から移動した場合、基準位置に存在していた移動前の特定領域505における移動後の特定領域505と重ならない空白領域530ができる。同図において、便宜上、空白領域530はハッチングにより表している。図23では、特定領域505をストライクゾーン504の位置から右打者のアウトコース側へ移動させたことにより、インコース側に、空白領域530が発生した例を示している。
同様に、特定領域505をストライクゾーン504の位置から右打者のインコース側へ移動させれば、アウトコース側に空白領域530が発生する。また、特定領域505をストライクゾーン504の位置から高目コース側へ移動させれば低目コース側に空白領域530が発生し、低目コース側へ移動させれば高目コース側に空白領域530が発生する。この空白領域530の扱いについて、以下に説明する。
図24の機能ブロック図に示すように、ゲーム装置100は、空白領域内設定手段56をさらに備えていることが好ましい。この空白領域内設定手段56は、特定領域505が基準位置から移動したことにより発生した空白領域530内の照準カーソル503の大きさを、移動後の特定領域505内の照準カーソル503の最小サイズよりもさらに小さくなるように設定する機能を有する。すなわち、空白領域530については、特定領域505内における打撃操作の最大難易度よりも、さらに難易度が高くなるように、照準カーソル503の大きさを設定する。
例えば、図25に示すように、特定領域505の中央部から離れるほど照準カーソル503が小さくなるように、特定領域505内における照準カーソル503の大きさを設定した場合、特定領域505の四隅に存在する照準カーソル503aが、特定領域505内の照準カーソル503の最小サイズである。この場合、空白領域530内の照準カーソル503bについては、前記四隅の照準カーソル503aよりもさらに小さくなるように設定される。
なお、図25の例では、空白領域530内の全ての位置で、照準カーソル503bの大きさを同一としているが、これに限定されるものではない。例えば、空白領域530内の照準カーソル503bの大きさは、移動後の特定領域505の中央部から離れるほど、照準カーソル503bが小さくなるように設定してもよい。
上記のように、特定領域505を基準位置であるストライクゾーン504から移動させたことにより発生する空白領域530における照準カーソル503bの大きさを、移動後の特定領域505内の照準カーソル503の最小サイズよりもさらに小さくすることにより、コース予想が外れたことによるデメリットを明確化できる。これにより、ユーザの遊戯中の緊張感が高まり、遊戯性の向上が図られる。
本構成の場合、例えばアウトコースの投球を予想したが、実際にはインコースに存在する空白領域530にボールが来てコース予想が外れた場合、明確なデメリットを発生させるが、全く打撃をできなくするものではない。これは、空白領域530といえども、ストライクゾーン504の中に存在するため、打撃自体は可能とする代わりに、打撃操作の困難性を高めたものである。
なお、特定領域505および空白領域530以外の領域については、照準カーソル503を移動できないようにしてもよいし、移動可能としてもよい。特定領域505および空白領域530以外の領域にも照準カーソル503を移動可能とする場合、当該領域における照準カーソル503の大きさは、空白領域530内の照準カーソル503の大きさよりもさらに小さくなるように設定することができる。
次に、空白領域530の扱いについてのバリエーションを説明する。前述の空白領域530において、ユーザが打撃することを禁止し、ユーザによるコース予想が外れたことによるデメリットを、より明確化してもよい。これを実現するゲーム装置100は、図26の機能ブロック図に示すように、禁止手段57をさらに備えている。
禁止手段57は、前記空白領域530内では、移動体に対して作用を与えることを禁止する機能を有する。本実施の形態では、禁止手段57は、空白領域530内では、移動体の一例としてのボールに対して、作用の一例としての打撃(ボールを打ち返すこと)を禁止する。
空白領域530内で打撃を禁止する例としては、空白領域530内に照準カーソル503が存在する状態で、ユーザがスイングボタンを押して打撃操作を行っても、打者キャラクタ501がバットを振れないようにする、あるいは、バットを振っても空振りになるようにする。
本構成により、コース予想が外れたことによるデメリットをより明確化することができ、遊戯中の緊張感がより高まり、遊戯性の向上が図られる。
空白領域530内で打撃を禁止する他の例としては、そもそも空白領域530内に照準カーソル503を移動できないようにしてもよい。この場合、禁止手段57は、空白領域530内への照準カーソル503の移動を禁止する機能を有する。
本構成によれば、ユーザは照準カーソル503を空白領域530内へ移動させる操作ができなくなるので、コース予想が外れたことによるデメリットをユーザにさらに明確に認識させることができる。よって、遊戯中の緊張感がさらに高まり、遊戯性のさらなる向上が図られる。
次に、ユーザが照準カーソル503を移動させる操作を行うことにより、照準カーソル503の位置に応じて特定領域505を自動的に移動させる構成について説明する。ゲーム装置100の特定領域移動手段53は、移動体(本実施の形態ではボール)の移動が開始されるまでの、ユーザによる照準カーソル503を移動させる操作に応じて、移動後の照準カーソル503が特定領域505の中央部に存在するように、照準カーソル503の移動に伴って特定領域505を移動させる機能を有する。
本構成によれば、投手キャラクタ502からボールがリリースされるまでは、ユーザがコントローラ19等の操作により照準カーソル503を移動させれば、それに連動して特定領域505が移動し、常に照準カーソル503が特定領域505の中央部に存在する状態になる。
例えば、図6に示すように、特定領域505が、ストライクゾーン504の位置に初期設定され、特定領域505の中央部に照準カーソル503が存在しているとする。この状態から、図27に示すように、ユーザがコントローラ19を操作して、照準カーソル503をアウトコース低目へと移動させた場合、照準カーソル503が特定領域505の中央部に位置するように、特定領域505も移動する。
このように、照準カーソル503の移動に連動して特定領域505が移動しても、前述のとおり特定領域505内における照準カーソル503の大きさの設定は、基本的に維持される。
投手キャラクタ502からボールがリリースされた後は、最早、特定領域505の移動はできないため、ボールがリリースされたときの照準カーソル503の位置が、特定領域505の中央部の位置として確定される。例えば、投手キャラクタ502からボールがリリースされたときに、図27に示すように照準カーソル503がアウトコース低目に存在する場合、特定領域505もアウトコース低目に移動されており、ユーザはアウトコース低目を意識(予想)した打撃操作を行うことができる。
本構成の場合も、投手キャラクタ502からボールがリリースされた後は、特定領域505の移動ができなくなったことを明確化すると共に、打撃操作の妨げにならないように、特定領域505を不可視とすることが好ましい。
この構成の場合、ユーザは照準カーソル503を、例えば1ドット単位で任意の位置に移動できるので、照準カーソル503の移動に連動して、特定領域505も任意の位置に移動可能である。
以上のように、本構成によれば、投手キャラクタ502からボールがリリースされるまでは、ユーザが照準カーソル503を移動させる操作をすれば、照準カーソル503の移動に伴い、移動後の照準カーソル503の位置に応じて、自動的に特定領域505が移動する。よって、ユーザは、投手キャラクタ502からボールがリリースされるまでに、予想する投球コースの位置に照準カーソル503を移動させればよい。このように、照準カーソル503の移動操作をするだけで、それに連動して特定領域505が移動するので、ユーザによる操作の簡略化を図ることができる。
次に、照準カーソル503を移動させる操作をするだけで、自動的に特定領域505を移動させることができる構成のバリエーションを説明する。上記では、投手キャラクタ502からボールがリリースされるまでは、照準カーソル503の移動に連動して特定領域505も移動する例を示したが、次のような構成も可能である。すなわち、投手キャラクタ502からボールがリリースされる前は、照準カーソル503を移動させても、特定領域505が移動することはない。そして、投手キャラクタ502からボールがリリースされたときに、照準カーソル503の位置に応じて、特定領域505を移動させる。
例えば、図6に示すように、特定領域505が、ストライクゾーン504の位置に初期設定された場合、投手キャラクタ502からボールがリリースされる直前までは、特定領域505はストライクゾーン504の位置に固定される。そして、例えば、投手キャラクタ502からボールがリリースされた時点で、照準カーソル503がストライクゾーン504のアウトコース領域に存在すれば、図10に示すように、特定領域505がアウトコースへと自動的に移動する。
この構成でも、ユーザは、投手キャラクタ502からボールがリリースされるまでに、予想する投球コースの位置に照準カーソル503を移動させれば、特定領域505の位置決めが自動で行われるので、ユーザによる操作の簡略化を図ることができる。
〔その他の実施の形態〕
前述の各実施の形態では、特定領域505が画面上に初期設定される位置(基準位置)をストライクゾーン504の位置とする例について説明したが、これに限定されるものではない。例えば、特定領域505の中央部の座標が、ストライクゾーン504の中央部から所定方向に所定距離ずれた位置に、特定領域505が初期設定されるようにしてもよい。例えば、図10に示すように、特定領域505の中央部の座標が、ストライクゾーン504の中央部からアウトコース方向に1マス分ずれた位置に、特定領域505を初期設定したり、図12に示すように、インコース方向に1マス分ずれた位置に、特定領域505を初期設定したりしてもよい。ここで、1マスとは、例えばストライクゾーン504の水平方向の長さの3分の1の距離である。あるいは、特定領域505の中央部の座標が、ストライクゾーン504の中央部から上方または下方に1マス分ずれた位置に、特定領域505を初期設定してもよい。
例えば、図10に示すように特定領域505がアウトコース方向に1マス分ずれた位置を基準位置とする場合、ユーザがアウトコースを予想する場合は、特定領域505を移動させる必要はない。
また、特定領域505が初期設定される基準位置を、ユーザが任意に指定(設定)できるようにしてもよい。例えば、打者側のユーザが、相手投手の投球の組み立てがアウトコース中心と予想した場合、基準位置を、図10のアウトコースに指定すればよい。そうすれば、アウトコース以外の投球を予想したときにだけ特定領域505を移動させればよいので、特定領域505を移動させる操作回数を削減できる。
また、相手投手の投球の組み立てが、右打者と左打者とで異なっていると予想される場合、右打者の場合の基準位置と、左打者の場合の基準位置とを、それぞれ打者側のユーザが予め指定(設定)できるようにしてもよい。
ユーザが特定領域505の基準位置を指定する場合、図示しない設定画面で、ユーザがコントローラ19等を使用して基準位置を指定する操作を行う。この操作に基づいて、ゲーム装置100は指定された基準位置の情報(画面上の座標情報等)を記憶装置(メモリ18等)に保存し、以降は当該基準位置を適用する。この構成において、ユーザが特定領域505の基準位置を指定しない場合は、デフォルトの基準位置(例えば、特定領域505の中央部が、ストライクゾーン504の中央部と一致する位置)が適用されるようにすることができる。
また、前述の各実施の形態では、特定領域505を、ストライクゾーン504と同じ大きさ及び形状(矩形)としたが、これに限定されるものではない。例えば、特定領域505をストライクゾーン504よりも大きくしたり、あるいは小さくしたりしてもよい。また、特定領域505は矩形に限らず、例えば、円形、楕円形等であってもよい。
前述の各実施の形態では、野球ゲームへの適用例を示したが、これに限らず、サッカー、テニス等、移動体に対して何らかの作用を与える様々なゲームにも適用できる。以下には、サッカーゲームへの適用例を示す。
サッカーのPK戦では、第1キャラクタの一例としてのゴールキーパーキャラクタが、第2キャラクタの一例としてのキッカーキャラクタから送出される(蹴り出される)移動体の一例としてのボールを、捕えるまたは弾く。ゴールキーパーキャラクタを操作するユーザは、照準カーソルをキッカーキャラクタから送出されたボールに重ねることにより、そのボールを、捕えるまたは弾くことができる。
このようなサッカーゲームの場合、ゲーム装置100の特定領域設定手段51は、ゴールキーパーキャラクタがボールを捕えるか弾くことが可能な領域を、前記特定領域として画面上に設定することができる。例えば、特定領域は、ゴールキーパーキャラクタの立ち位置を中心とする位置に初期設定することができる。
例えば、特定領域505の大きさは、ゴール全体よりは若干小さな面積とすることができる。また、ゴールキーパーキャラクタの能力パラメータが高い場合には、特定領域をゴールと同面積としてもよい。また、ゴールキーパーキャラクタの能力パラメータが低いほど、特定領域の面積を小さくしてもよい。このように、キャラクタのパラメータに応じて特定領域505の大きさを変更してもよい。
そして、ゲーム装置100の領域内カーソル設定手段52は、次に例示するように、特定領域内の位置に応じて照準カーソルの大きさが変化するように、特定領域内における照準カーソルの大きさを設定する。すなわち、特定領域内では、中央部がゴールキーパーキャラクタにとって最もボールを捕えやすいことから、照準カーソルを最も大きくし、中央部から特定領域の外周に向かって、照準カーソルを小さくするように設定できる。また、ゴールキーパーキャラクタにとっては、足より手の方がボールに触れ易いものとして、特定領域の上部の方が、下部よりも照準カーソルが大きくなるように設定してもよい。
そして、ゴールキーパーキャラクタを操作するユーザは、キッカーキャラクタが右側のコースを狙っていると予想した場合には、キッカーキャラクタからボールが送出されるまでに、特定領域を右に移動させる操作を行う。これにより、ゲーム装置100の特定領域移動手段53は、特定領域内の位置と照準カーソルの大きさとの相対関係を維持したままで、画面上の特定領域を移動させる。
この場合、ユーザのコース予想が当たり、特定領域を移動させた方向に、キッカーキャラクタがシュートしたボールが飛んで来れば、比較的大きな照準カーソルでボールを捕えることができるというメリットが発生する。一方、ユーザのコース予想が外れて、特定領域を移動させた方向とは異なる方向に、キッカーキャラクタがシュートしたボールが飛んで来れば、比較的小さな照準カーソルでボールを捕える必要が生じるというデメリットが発生する。このサッカーゲームでも、野球ゲームと同様に、現実世界でのキッカーとゴールキーパーとの駆け引きを、ゲーム上にリアルに反映できる。
次に、テニスゲームへの適用例を示す。テニスのサーブの場面では、第1キャラクタの一例としてのレシーバーキャラクタが、第2キャラクタの一例としてのサーバーキャラクタから送出される移動体の一例としてのボールを、打ち返す。レシーバーキャラクタを操作するユーザは、照準カーソルをサーブされたボールに重ねることにより、そのボールを打ち返すことができる。このようなテニスゲームの場合、レシーバーキャラクタがボールをレシーブ可能な領域を、前記特定領域として画面上に設定することができる。例えば、特定領域は、レシーバーキャラクタの立ち位置を中心とする位置に初期設定される。
レシーバーキャラクタの真正面の位置よりも、ラケットを持っている手の位置の方がレシーブをし易いことから、特定領域内では、例えば、中央部よりもラケットを持っている手の方に若干ずれた位置で、照準カーソルを最も大きくし、当該位置から離れるほど照準カーソルが小さくなるように設定することができる。
そして、レシーバーキャラクタを操作するユーザは、サーブが来るコースを予想し、予想したコースに特定領域を移動させる操作を行う。この場合も、特定領域内の位置と照準カーソルの大きさとの相対関係が維持されたまま、特定領域が移動することになる。このテニスゲームでも、野球ゲームと同様に、現実世界でのサーバとレシーバーとの駆け引きを、ゲーム上にリアルに反映できる。
また、前述の各実施の形態では、ユーザが操作するゲーム装置100においてゲームプログラムが実行される構成について説明したが、端末装置でのゲーム操作入力に応じてサーバ装置でゲームプログラムを実行し、その実行結果を各ユーザの端末装置に送信するゲームシステムを適用することもできる。このゲームシステムの構成例を、図28に示している。同図に示すように、このゲームシステムは、インターネットなどのネットワーク600上に設置されたサーバ装置1000と、ネットワーク600を介してサーバ装置1000と通信可能に接続できる各ユーザの端末装置2000とによって構成される。
サーバ装置1000は、ゲームを実行した結果のゲーム映像を、例えばストリーミング形式で端末装置2000に送信する、いわゆるクラウドゲーミングのサービスをユーザに提供する。このクラウドゲーミングを提供するサービス形態では、ユーザの端末装置2000にゲーム専用のソフトウェアをダウンロード又はインストールする必要がなく、端末装置2000をネットワーク600に接続できる環境であれば、ユーザはどこでも気軽にサーバ装置1000から提供されるゲームサービスを楽しむことができる。
サーバ装置1000および端末装置2000のハード構成は、CPU、ROM、RAM、補助記憶装置、通信インターフェース等を備えた、一般的なコンピュータの構成とすることができる。サーバ装置1000の機能的構成は、前述のゲーム装置100と同様に、特定領域設定手段51、領域内カーソル設定手段52、特定領域移動手段53およびカーソル移動手段54を備える構成とすることができる。また、サーバ装置1000は、前述の打撃結果決定手段55、空白領域内設定手段56、禁止手段57、領域外カーソル設定手段58等を備えていてもよい。このように、ゲーム装置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)は、移動体(例えばボール)に照準カーソルを重ねて作用を与えるゲームを制御するゲーム装置(100)であって、前記照準カーソルを、ユーザの操作に応じて移動させるカーソル移動手段(54)と、前記照準カーソルの移動が可能な特定領域を画面上に設定する特定領域設定手段(51)と、前記特定領域内の位置に応じて前記照準カーソルの大きさが変化するように、前記特定領域内における前記照準カーソルの大きさを設定する領域内カーソル設定手段(52)と、前記移動体の移動が開始されるまでのユーザの操作に応じて、前記特定領域を移動させる特定領域移動手段(53)と、を備えている。
本構成のゲーム装置が制御するゲームは、移動体に照準カーソルを重ねて作用を与えるゲームである。移動体の一例としては、スポーツシミュレーションゲームにおけるボールが挙げられる。また、作用の一例としては、移動体を打ち返す、捕える、打ち砕く等がある。このゲームの一例としては、移動体の一例としてのボールに照準カーソルを合せて、作用の一例としての打撃を行う野球ゲームが挙げられる。野球ゲームに限らず、サッカー、テニス等、移動体に対して何らかの作用を与える様々なゲームにも適用できる。
以下には、野球ゲームへの適用例を説明する。野球ゲームでは、照準カーソルはミートカーソルとも称され、打者キャラクタがボールを打撃可能な領域となる。ユーザは、投手キャラクタが投げたボールに照準カーソルが重なるように、照準カーソルを移動させる操作を行う。カーソル移動手段は、照準カーソルをユーザの操作に応じて移動させる。ここで、照準カーソルの大きさは一定ではなく、以下に示すように画面上の位置(座標)に応じて変化する。
本ゲーム装置では、特定領域設定手段が照準カーソルの移動が可能な特定領域を画面上に設定する。特定領域の画面上の初期位置、大きさ、形状については、任意に定めることができる。なお、照準カーソルは、特定領域外にも移動できるようにしてもよいし、特定領域外には移動できないようにしてもよい。そして、領域内カーソル設定手段が、特定領域内の位置に応じて前記照準カーソルの大きさが変化するように、前記特定領域内における前記照準カーソルの大きさを設定する。
野球ゲームの例では、ストライクゾーンの位置等の画面上の所定の位置に、特定領域が設けられ、当該特定領域内の位置に応じて照準カーソルの大きさが変化するように設定される。一例としては、特定領域内の中央部が最も照準カーソルが大きく、中央部から離れるほど照準カーソルが小さくなるような設定にすることができる。これは、現実の野球では、一般的にストライクゾーンの中央部は打撃し易いが、ストライクゾーンの端部は打撃し難いという状況を、ゲームに的確に反映させたものである。この場合、投手側から見れば、単純にストライクゾーンの端部を狙えば有利になるので、このままでは投手側のみにメリットが発生することになる。そこで、本構成では、さらに現実世界において見られる、打者のコース予想という概念を加え、ユーザ自らの操作により、特定領域を移動できるようにしている。すなわち、本ゲーム装置は、前記移動体の移動が開始されるまでのユーザの操作に応じて、前記特定領域を移動させる特定領域移動手段を具備する。
本構成により、ユーザは、移動体の一例としてのボールの移動が開始されるまでに、投球コースを予想(意識)し、特定領域をストライクゾーンからずれた位置に移動させることができる。例えば、アウトコースを予想した場合、特定領域をアウトコース側に移動させればよい。特定領域が移動しても、特定領域内の設定(特定領域内の位置に応じて照準カーソルの大きさが変化する設定)は維持されるので、アウトコースのボールを、あたかもストライクゾーンの真ん中のボールのように打撃できる。一方、特定領域がストライクゾーンから移動したことによって、本来のストライクゾーンの真ん中のコースにきたボールが打撃し難くなる。つまり、ユーザのコース予想が当たれば、打者にとって本来不利なはずの端部の投球コースが打ち易くなるので、単純に投手側にのみメリットが生じることはなくなり、現実世界での投打の駆け引きを、ゲーム上により緻密でリアルに反映できる。これにより、ユーザのコース予想をリアルに反映することができる興趣性の高いゲームを実現できる。
2)上記の1)の構成において、前記領域内カーソル設定手段(52)は、前記特定領域(505)の中央部から離れるほど前記照準カーソル(503)が小さくなるように、前記特定領域(505)内における前記照準カーソル(503)の大きさを設定することが好ましい。
この構成によれば、特定領域の中央部において、照準カーソルが最も大きくなり、打撃等がし易くなる。よって、ユーザは、特定領域の中央部を基準とし、当該中央部が予想コースに位置するように特定領域を移動させれば、的確にコース予想をゲーム上に反映させることができ、ユーザの操作性が向上する。例えば、野球ゲームにおいて、ユーザ(打者側)が、次の投球が外角低めに来ると予想する場合は、上記中央部が外角低めに位置するように、特定領域を移動させるのである。
また、この場合、特定領域内における移動体の到着コースと特定領域の中央部との離間距離に応じて打撃の難易度が変化する。前記離間距離は予想の的確度を表わし、前記離間距離が小さいほど、予想が的確であり打撃がし易くなる一方、前記離間距離が大きいほど照準カーソルは小さくなって打撃が困難になる。このように、予想の的確度を打撃の難易度として反映させることができる。
3)上記の1)または2)の構成において、前記特定領域設定手段(51)は、画面上の基準位置に、前記特定領域(505)を初期設定することが好ましい。
この構成によれば、前記特定領域が特定領域移動手段によって移動される前の初期位置(デフォルトの位置)が、常に基準位置(例えば、野球ではストライクゾーンの位置)に固定化されるので、ユーザにとって特定領域の位置の認識が容易となり操作性が向上する。
4)上記の3)の構成において、前記ゲームは、野球またはソフトボールゲームであり、前記特定領域(505)は、前記基準位置においてストライクゾーン(504)と一致するように設定されることが好ましい。
この構成によれば、基準位置に初期設定された特定領域がストライクゾーンと一致するので、打者側のユーザが真ん中コースを予想(意識)する場合、特定領域を移動させる必要はなく、それ以外のコースを予想する場合に、予想するコース側に特定領域をシフトさせればよい。このように、ストライクゾーンを基準にしたコース予想を実現することにより、ユーザの操作性が大幅に向上する。
5)上記の3)または4)の構成において、前記領域内カーソル設定手段(52)は、前記特定領域(505)が前記基準位置から移動した場合における領域中央部の前記照準カーソル(503)の大きさを、前記特定領域(505)が前記基準位置に存在する場合における領域中央部の前記照準カーソル(503)の大きさよりも、小さく設定することが好ましい。
これは、コース予想はあくまでユーザの意識に基づくものであるため、特定領域が基準位置(例えば、ストライクゾーンの位置)に存在する場合よりも、基準位置から移動した場合の方が、領域中央部の照準カーソルの大きさを小さくし、操作難易度を高くするものである。これにより、コース予想におけるリアル感をより向上させることができる。
6)上記の3)ないし5)の何れかの構成において、前記特定領域(505)が前記基準位置から移動した場合、前記基準位置に存在していた移動前の前記特定領域(505)における移動後の前記特定領域(505)と重ならない空白領域(530)内の前記照準カーソル(503)の大きさを、移動後の前記特定領域(505)内の前記照準カーソル(503)の最小サイズよりもさらに小さくなるように設定する空白領域内設定手段(56)をさらに備えていることが好ましい。
特定領域を基準位置(例えば、ストライクゾーンの位置)から移動させたことにより、元の特定領域において移動後の特定領域と重ならない空白領域ができる。この空白領域における照準カーソルの大きさを、移動後の特定領域内の照準カーソルの最小サイズよりもさらに小さくすることにより、コース予想が外れたことによるデメリットを明確化できる。これにより、遊戯中の緊張感が高まり、遊戯性の向上が図られる。
7)上記の3)ないし5)の何れかの構成において、前記特定領域(505)が前記基準位置から移動した場合、前記基準位置に存在していた移動前の前記特定領域(505)における移動後の前記特定領域(505)と重ならない空白領域(530)内では、前記移動体に対して作用を与えることを禁止する禁止手段(57)をさらに備えていることが好ましい。
ここで、空白領域内で移動体に対して作用を与えることを禁止する例としては、例えば野球ゲームでは、ユーザが打撃操作を行ってもバットを振れないようにする、あるいは、バットを振っても空振りになるようにすることが挙げられる。あるいは、後述の8)の構成のように、空白領域内への照準カーソルの移動を禁止してもよい。
この構成では、前記空白領域において打撃等を禁止し、コース予想が外れたことによるデメリットをより明確化する。これにより、遊戯中の緊張感がより高まり、遊戯性の向上が図られる。
8)上記の7)の構成において、前記禁止手段(57)は、前記空白領域(530)内への前記照準カーソル(503)の移動を禁止することが好ましい。
この構成によれば、ユーザは照準カーソルを前記空白領域内へ移動させる操作ができなくなるので、コース予想が外れたことによるデメリットをユーザにさらに明確に認識させることができる。
9)上記の1)ないし8)の何れかの構成において、前記特定領域(505)外における前記照準カーソル(503)の大きさを、前記特定領域(505)内における境界部に位置する前記照準カーソル(503)の大きさよりも小さくなるように設定する領域外カーソル設定手段(58)をさらに備えていることが好ましい。
現実世界でも、ストライクゾーンの球を打つよりもストライクゾーンから外れたボール球を打つ方が難しいが、ストライクゾーンから外れたボール球を巧く捉えてヒットにすることは可能である。そこで、この構成では、特定領域外にも照準カーソルを移動可能とする一方で、特定領域内よりも照準カーソルを小さくして打撃等の難易度を高くしている。これにより、ゲームのリアル感を高めることができる。
10)上記の1)ないし9)の何れかの構成において、前記ゲームは、ユーザによって操作される第1キャラクタ(例えば打者キャラクタ)が、第2キャラクタ(例えば投手キャラクタ)から送出される前記移動体に対して作用を与えるゲームであることが好ましい。
これにより、打者キャラクタ等の第1キャラクタと、投手キャラクタ等の第2キャラクタとを用いた対戦(対決)形式のゲームを実現する。
11)上記の10)の構成において、前記領域内カーソル設定手段(52)は、前記第1キャラクタのパラメータに基づいて、前記特定領域内における前記照準カーソル(503)の大きさの設定を調整することが好ましい。
ここで、第1キャラクタのパラメータの一例としては、打者の得意コースまたは不得意コースに関するパラメータが挙げられる。この構成では、第1キャラクタの得意/不得意コース等に応じて、特定領域内における照準カーソルの大きさの設定を調整する。例えば、インコース高目は得意であるがアウトコース低目は苦手である第1キャラクタの場合、特定領域内における照準カーソルの大きさ分布の設定において、インコース高目領域のカーソルサイズを通常より大きくする一方、アウトコース低目領域のカーソルサイズを通常より小さくする調整を行う。これにより、第1キャラクタのパラメータを特定領域内における打撃等の操作難易度として反映させることができ、遊戯性の向上が図られる。
12)上記の1)ないし11)の何れかの構成において、前記特定領域移動手段(53)は、前記移動体の移動が開始されるまでの、ユーザによる前記特定領域(505)自体を移動させる操作に応じて、前記特定領域(505)を移動させることが好ましい。
この構成によれば、特定領域自体を移動させる操作によってコース予想に関する先行入力を行うので、画面上の特定領域の位置が、ユーザが予想したコースの位置として明確化される。
13)上記の1)ないし11)の何れかの構成において、前記特定領域移動手段(53)は、前記移動体の移動が開始されるまでの、ユーザによる前記照準カーソル(503)を移動させる操作に応じて、移動後の前記照準カーソル(503)が前記特定領域(505)の中央部に存在するように、前記特定領域(505)を移動させることが好ましい。
この構成によれば、移動体の移動が開始されるまでは、ユーザが照準カーソルを移動させる操作をすれば、照準カーソルの移動に伴い、移動後の照準カーソルの位置に応じて、自動的に特定領域が移動する。このように、照準カーソルの移動操作をするだけで、それに連動して特定領域が移動するので、ユーザによる操作の簡略化を図ることができる。
14)本発明の他の一態様によるゲーム装置(100、1000)は、打者キャラクタ(501)を操作するユーザが、投手キャラクタ(502)が投じたボールオブジェクトに照準カーソル(503)を重ねて打撃する野球またはソフトボールゲームを制御するゲーム装置(100)であって、前記照準カーソル(503)を、ユーザの操作に応じて移動させるカーソル移動手段(54)と、ストライクゾーンに前記照準カーソル(503)の移動が可能な特定領域(505)を設定する特定領域設定手段(51)と、前記特定領域の中央部から離れるほど前記照準カーソル(503)が小さくなるように、前記特定領域内における前記照準カーソル(503)の大きさを設定する領域内カーソル設定手段(52)と、投手キャラクタが前記ボールオブジェクトを投じるまでのユーザの操作に応じて、前記特定領域(505)を前記ストライクゾーンから移動させる特定領域移動手段(53)と、を備えている。
15)本発明の他の一態様によるゲームシステムは、第1ユーザが使用する端末装置(100、2000)および第2ユーザが使用する端末装置(100、2000)を含み、第2ユーザによって操作される移動体に、第1ユーザによって操作される照準カーソル(503)を重ねて作用を与えるゲームを制御するゲームシステムであって、前記照準カーソル(503)を、第1ユーザの操作に応じて移動させるカーソル移動手段(54)と、前記照準カーソル(503)の移動が可能な特定領域(505)を画面上に設定する特定領域設定手段(51)と、前記特定領域(505)内の位置に応じて前記照準カーソル(503)の大きさが変化するように、前記特定領域(505)内における前記照準カーソル(503)の大きさを設定する領域内カーソル設定手段(52)と、前記移動体の移動が開始されるまでの第1ユーザの操作に応じて、前記特定領域(505)を移動させる特定領域移動手段(53)と、を備えている。
16)本発明の他の一態様によるゲーム制御方法は、移動体に照準カーソル(503)を重ねて作用を与えるゲームを制御するコンピュータにおけるゲーム制御方法であって、前記コンピュータが、前記照準カーソル(503)の移動が可能な特定領域(505)を画面上に設定する特定領域設定ステップと、前記コンピュータが、前記特定領域(505)内の位置に応じて前記照準カーソル(503)の大きさが変化するように、前記特定領域(505)内における前記照準カーソル(503)の大きさを設定する領域内カーソル設定ステップと、前記コンピュータが、前記移動体の移動が開始されるまでのユーザの操作に応じて、前記特定領域(505)を移動させる特定領域移動ステップと、前記コンピュータが、前記照準カーソル(503)を、ユーザの操作に応じて移動させるカーソル移動ステップと、を含む。
17)本発明の他の一態様によるプログラムは、コンピュータを上記の1)ないし14)の何れかに記載のゲーム装置(100、1000)として動作させるためのプログラムであって、前記コンピュータを前記ゲーム装置(100、1000)が備えている各手段として機能させるためのプログラムである。