[1.実施形態1]
以下、本発明に係る実施形態を図面に基づいて説明する。なお、図面において同一又は対応する構成には同一の符号を付し、繰り返しの説明を省略することがある。
[1−1.ゲームシステム及びゲーム制御装置のハードウェア構成]
図1は、ゲームシステムの全体構成を示す図である。図1に示すように、本実施形態に係るゲームシステムSは、ゲーム制御装置10と、サーバ30と、を含む。ゲーム制御装置10及びサーバ30は、インターネットなどのネットワークNに接続される。このため、ゲーム制御装置10とサーバ30との間で相互にデータ通信が可能である。
ゲーム制御装置10は、ユーザが操作するコンピュータである。例えば、ゲーム制御装置10は、携帯端末(例えば、スマートフォンなどの携帯電話又はタブレット型コンピュータ)、パーソナルコンピュータ、携帯ゲーム機、据置ゲーム機、業務用ゲーム機、又は、情報処理機能を備えた多機能型テレビジョン受像機(スマートテレビ)等である。なお、以下では、タッチパネルを備えた携帯電話がゲーム制御装置10であり、サーバ30から供給されるプログラムが携帯電話において実行される場合について説明する。なお、プログラムは、サーバ30とは異なるサーバや記録媒体等を介して供給されてもよい。
図1に示すように、ゲーム制御装置10は、制御部11、記憶部12、通信部13、操作部14、及び表示部15を含む。制御部11は、少なくとも1つのマイクロプロセッサを含む。制御部11は、オペレーティングシステムやその他のプログラムに従って処理を実行する。記憶部12は、主記憶部(例えば、RAM)及び補助記憶部(例えば、不揮発性の半導体メモリ)を含む。記憶部12は、プログラムやデータを記憶する。なお例えば、ゲーム制御装置10がパーソナルコンピュータ等である場合、記憶部12は、例えばハードディスクドライブ又はソリッドステートドライブ等の補助記憶部を含むようにしてもよい。通信部13は、ネットワークカードなどの通信インタフェースを含む。通信部13は、ネットワークNを介してデータ通信を行う。
操作部14は、入力デバイスであり、タッチパネル14Aを含む。タッチパネル14Aは、静電容量方式や抵抗膜方式などの種々の方式のタッチパネルを適用可能である。タッチパネル14Aは、タッチ位置を検出する。制御部11は、タッチパネル14Aの検出信号に基づいて、タッチ位置を示す座標情報を取得する。例えば、タッチパネル14Aは、表示部15に重畳するようにして設けられている。即ち、タッチパネル14Aは、表示部の上に配置されている。なお、タッチパネル14Aと表示部15は、一体となっていてもよいし、別体であってもよい。
なお、操作部14は、タッチパネル14A以外の入力デバイスを含んでもよい。例えば、操作部14は、ボタン、キー、レバー、ゲームコントローラ(ゲームパッド)、マウスなどのポインティングデバイス、又はキーボード等を含んでもよい。また例えば、操作部14は、ユーザが音声又はジェスチャによって入力操作を行うためのマイクやカメラを含んでもよい。
表示部15は、例えば、液晶表示パネル又は有機ELディスプレイ等であり、制御部11の指示に従って画面を表示する。なお、操作部14及び表示部15は、ゲーム制御装置10に内蔵されていなくともよく、ゲーム制御装置10に接続された外部装置であってもよい。
サーバ30は、サーバコンピュータである。図1に示すように、サーバ30は、制御部31、記憶部32、及び通信部33を含む。制御部31、記憶部32、及び通信部33のハードウェア構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。例えば、サーバ30は、ゲームプログラムを記憶しており、ゲーム制御装置10からの要求に応じてゲームプログラムを配信する。
なお、記憶部12又は記憶部32に記憶されるものとして説明するプログラムやデータは、例えば、ネットワークNを介してゲーム制御装置10又はサーバ30に供給されるようにしてもよい。また、ゲーム制御装置10又はサーバ30は、情報記憶媒体(例えば、光ディスク又はメモリカード等)に記憶されたプログラム又はデータを読み取るための読取部(例えば、光ディスクドライブ又はメモリカードスロット)を含むようにしてもよい。そして、情報記憶媒体を介してゲーム制御装置10又はサーバ30にプログラムやデータが供給されるようにしてもよい。
[1−2.ゲームの概要]
ゲーム制御装置10では、タッチパネル14Aを使ったゲームが実行される。タッチパネル14Aを使ったゲームでは、例えば、ユーザは、タッチパネル14Aにタッチして操作を行う。タッチとは、例えば、タッチパネル14Aに物体が触れることである。物体は、例えば、ユーザの指などの部位であってもよいし、タッチペンなどのユーザ以外の物体であってもよい。
ユーザは、タッチパネル14Aにタッチした状態でタッチ位置を移動させてもよい。タッチ位置とは、例えば、物体が触れているタッチパネル14A上の位置であり、タッチパネル14Aが検出した座標である。タッチ位置は、例えば、フレームレートに基づいて定まる時間ごとに取得される。タッチ位置は、毎フレーム取得されるようにしてもよいし、所定フレームが経過するごとに取得されるようにしてもよい。なお、フレームとは、コンピュータにおける処理単位であり、フレームレートが30fpsであれば、1フレーム長さは1/30秒となる。例えば、なお、タッチパネル14Aにタッチした物体がタッチパネル14Aから離れることを、本実施形態ではタッチを解除するという。
ゲーム制御装置10では、例えば、スポーツゲーム、アクションゲーム、又はロールプレイングゲームなどの種々のタイプのゲームを実行可能であるが、本実施形態では、ユーザオブジェクトと対戦相手オブジェクトとが仮想世界で移動オブジェクトを移動させて対戦するゲームを実行する。
オブジェクトとは、例えば、ゲームにおいて、使用され得る対象である。例えば、オブジェクトは、仮想世界に配置される仮想的な移動体である。例えば、オブジェクトは、仮想世界が3次元であれば3次元モデル(3Dオブジェクト)であり、仮想世界が2次元であれば画像に示された物体である。例えば、移動物体(ボール又はパック)、キャラクタ、又は乗り物(例えば、飛行機や戦車)等が「オブジェクト」の一例に相当する。さらに、スポーツゲームの場合、キャラクタの一例は、選手キャラクタである。また例えば、オブジェクトは、キャラクタが移動させるものであってよく、仮想世界において移動するものであってよい。また例えば、オブジェクトは、仮想世界においてキャラクタが移動させるものであってよい。更に、オブジェクトは、他のオブジェクトが配置された仮想世界で移動するものであってよい。
ユーザオブジェクトとは、例えば、ユーザがゲームで使用するオブジェクトであり、いわゆるプレイヤキャラクタ(ユーザの操作対象)である。例えば、ユーザオブジェクトは、ユーザの指示に基づいて動作するオブジェクトである。例えば、ユーザオブジェクトは、ユーザの指示に関連付けられた種類の動作をする。例えば、ユーザオブジェクトは、ユーザが指示した方向に移動したり、ユーザが指示した行動をしたりする。また例えば、ユーザオブジェクトは、ユーザの操作対象とともに戦うオブジェクトであってもよい。この場合、ユーザオブジェクトは、所定のアルゴリズムに基づいて動作する。
対戦相手オブジェクトとは、例えば、対戦相手がゲームで使用するゲームオブジェクトであり、いわゆるノンプレイヤキャラクタである。対戦相手は、例えば、コンピュータ(CPU)であってもよいし、他のユーザであってもよい。例えば、対戦相手オブジェクトは、所定のアルゴリズムに基づいて動作してもよいし、他のユーザの操作に基づいて動作してもよい。なお、アルゴリズムは、オブジェクトの動作を決定するための計算の手順(移動方向や移動速度等を決めるための数式や条件式等の集合体)を示すものである。
移動オブジェクトとは、例えば、ユーザオブジェクト及び対戦相手オブジェクトが移動させるオブジェクトである。移動オブジェクトは、例えば、ボールやパックである。仮想世界とは、ゲームの中の世界であり、例えば、ゲームの中の競技場等である。仮想世界は、3次元的な空間であってもよいし、2次元的な平面であってもよい。また、仮想世界は、仮想空間といってもよいし、ゲーム空間といってもよい。なお、本実施形態では、移動・変化・変更という互いに似た意味の単語を使用するが、これら3つの単語を次の意味で使用する。
移動とは、例えば、仮想世界における位置を示す3次元座標(ワールド座標系の座標値)が変わることである。例えば、移動は、仮想世界におけるオブジェクトの場所が変わることである。例えば、移動は、仮想世界において、オブジェクトの位置が連続的に変わることである。この点、本実施形態の「移動」は、画像の表示態様が変わる「変化」、及び、画面上の座標値が変わる「変更」と区別される。
変化とは、例えば、画像の表示態様が変わることである。表示態様は、画像の見た目であり、サイズや形状などである。本実施形態では、画像のサイズを変えること、即ち、画像が小さくなること又は大きくなることが、変化に相当する。別の言い方をすれば、例えば、変化は、画像が占めるピクセル数を変えることである。この点、本実施形態の「変化」は、座標値が変わる「移動」や「変更」と区別される。
変更とは、例えば、画面上の位置が変わることである。例えば、変更は、タッチ位置や画像の表示位置を示す2次元座標(スクリーン座標系の座標値)が変わることである。別の言い方をすれば、変更は、画面上のピクセルの位置が変わることである。この点、本実施形態の「変更」は、仮想世界における位置が変わる「移動」、及び、画像の表示態様が変わる「変化」と区別される。
本実施形態では、キャラクタ又はボールがオブジェクトに相当する場合を説明する。このため、以降では、ユーザオブジェクトをユーザキャラクタと記載し、対戦相手オブジェクトを対戦相手キャラクタと記載し、移動オブジェクトをボールと記載する。以降の説明で「キャラクタ」又は「ボール」と記載した箇所については、「オブジェクト」と読み替えることができる。また、ゲームの一例として、ユーザキャラクタと対戦相手キャラクタとがボールを使ったスポーツの試合をするスポーツゲームが実行される場合を説明する。更に、スポーツゲームの一例として、サッカーゲームを説明する。
例えば、ユーザチームに所属する複数のユーザキャラクタと、対戦相手チームに所属する複数の対戦相手キャラクタと、が仮想世界でサッカーの試合をするゲームが実行される。なお、ユーザキャラクタは、ユーザがゲームの中で育成したキャラクタであってもよい。対戦相手キャラクタは、他のユーザが育成したキャラクタであってもよいし、ゲーム管理者によって用意されたキャラクタであってもよい。ゲームが開始されると、試合をするための仮想世界が構築される。
図2は、仮想世界の一例を示す図である。図2に示すように、仮想世界VWは、例えば、3次元空間における仮想的なサッカー場を示す。仮想世界VWには、所定の位置を原点Owとし、互いに直交するXw軸、Yw軸、及びZw軸(ワールド座標系の座標軸)が設定される。仮想世界VWにおける位置は、ワールド座標系の座標値により特定される。
図2に示すように、仮想世界VWには、Xw−Yw平面と平行になるようにピッチの3DモデルであるピッチPTが配置される。ピッチPTには、例えば、タッチラインTL、ゴールラインEL、ハーフウェーラインHL、及びペナルティエリアPAが描かれている。また例えば、ピッチPT上には、ユーザキャラクタUC、対戦相手キャラクタOC、ボールの3DモデルであるボールB、及び、ゴールの3DモデルであるゴールGLが配置される。
仮想世界VWには、仮想視点VCが設定される。仮想視点VCは、仮想世界VWに設定される視点であり、例えば、仮想カメラである。仮想視点VCの位置及び視線方向は、固定されていてもよいが、本実施形態では、ボールBLが視野内に含まれるように制御されるものとする。ゲームが開始すると、仮想視点VCから仮想世界VWを見た様子を示す仮想世界画像が表示部15に表示される。
図3は、仮想世界画像の一例を示す図である。図3に示すように、仮想世界画像G1には、仮想世界VWのうち、仮想視点VCの視野内の様子が表示される。なお、表示部15の表示領域には、所定の位置(例えば、表示領域の左上)を原点Osとし、互いに直交するXs軸及びYs軸(スクリーン座標系の座標軸)が設定される。表示領域とは、例えば、表示部15の画面全体のことである。表示領域上の位置は、スクリーン座標系の座標値により特定される。
本実施形態では、縦幅が横幅よりも長い状態(ゲーム制御装置10を縦持ちにした状態)でゲームがプレイされる場合を説明するが、これとは逆に、横幅が縦幅よりも長い状態(ゲーム制御装置10を横持ちにした状態)でゲームがプレイされてもよい。本実施形態では、タッチパネル14Aが検出したタッチ位置もスクリーン座標系の座標値によって示されるものとするが、タッチ位置は、別の座標軸の座標値で示されてもよい。
試合中は、常にユーザが操作可能であってもよいが、本実施形態では、基本的に試合が自動で進行し、重要な場面だけユーザが操作可能になる。重要な場面とは、試合の結果を左右する場面であり、例えば、得点が発生する可能性のある場面である。例えば、ボールBが対戦相手チーム又はユーザチームのゴールGLに近づいた場合に、ユーザが操作可能な状態となる。別の言い方をすれば、ユーザチームがチャンス又はピンチの場面だけユーザが操作可能な状態となり、それ以外の場面は、試合は自動で進行する。なお、ユーザが操作可能になる回数は、1試合で上限回数が設定されていてもよいし、特に無制限であってもよい。更に、この回数は、全ての試合で固定であってもよいし、試合ごとに変わってもよい。
図3に示すように、試合が自動で進行しており、ユーザが操作可能ではない場合には、その旨を示すメッセージM1が表示されるようにしてもよい。この場合、ユーザキャラクタUC及び対戦相手キャラクタOCは、所与の行動アルゴリズムに基づいて行動し、ユーザの操作を受け付けないようにしてよい。試合が重要な場面になると、仮想世界画像G1において、ユーザが操作可能な状態になった旨が通知される。
図4は、ユーザが操作可能な状態になる場合の画面遷移の一例を示す図である。図4に示すように、試合が自動で進行している場合(図4のG1Aの状態)に、ユーザが操作可能な状態になると、仮想世界画像G1に重畳するようにして、ユーザが操作可能な状態になったことを示すメッセージM2が表示される(図4のG1Bの状態)。例えば、メッセージM2は、現在の試合の状況が示されてもよいし、ユーザがこの後に何をすべきかが示されてもよい。例えば、メッセージM2が表示されている間は、試合の進行が一時的に停止するようにしてよい。
メッセージM2は、その後の所定のタイミングで消去され、ユーザの操作対象に設定されたユーザキャラクタUCの足元に、操作対象であることを識別するためのカーソルCが表示される(図4のG1Cの状態)。以降、操作対象に設定されたユーザキャラクタUCを操作対象キャラクタUCという。この状態になると、ユーザは、操作対象キャラクタUCを操作できるようになる。
ユーザは、タッチパネル14Aを使って操作対象キャラクタUCを操作する。タッチパネル14Aからは種々の操作が可能であってよく、攻撃時の操作体系と守備時の操作体系とは、同じであってもよいし異なってもよい。攻撃時とは、例えば、ユーザチームがボールBを保有している状態である。守備時とは、例えば、対戦相手チームがボールBを保有している状態である。なお、ボールBを誰も保有していない状態は、攻撃時に分類されてもよいし、守備時に分類されてもよい。また、ユーザチームがボールBを保有している場合であっても、ボールBが自陣にある場合には、守備時に分類されてもよい。自陣とは、ピッチPTのうちハーフウェーラインHLよりもユーザチームのゴールGL側である。
本実施形態では、攻撃時の操作を説明し、守備時の操作は実施形態2で説明する。攻撃時には、任意のユーザキャラクタUCが操作対象キャラクタUCとして設定されてもよいが、ここでは、ボールBを保有するユーザキャラクタUCが操作対象キャラクタUCとして設定される場合を説明する。ユーザは、タッチパネル14Aから所定の操作をして、操作対象キャラクタUCにドリブル、パス、又はシュートなどの各種動作をさせることができる。
例えば、ユーザがスライド操作をすると、操作対象キャラクタUCがスライド方向にドリブルする。スライド操作は、例えば、ユーザがタッチパネル14Aをタッチした後に、タッチを維持したままタッチ位置を移動させ、移動後においてもタッチを維持する操作である。例えば、タッチが開始されたタッチ位置を起点とし、起点から現在のタッチ位置に向けた方向がスライド方向となる。なお、現在のタッチ位置が起点のタッチ位置から離れた場合は、現在のタッチ位置に近づくように起点が更新されてもよい。
また例えば、ユーザがフリック操作をすると、操作対象キャラクタUCがフリック方向にパスする。フリック操作は、例えば、ユーザがタッチパネル14Aをタッチした後に、タッチを維持したまま素早くタッチ位置を移動させてタッチを解除する操作である。操作対象キャラクタUCがパスをすると、操作対象キャラクタUCは、パスをしたユーザキャラクタUCから、パスを受け取ったユーザキャラクタUCに切り替わる。
なお、ユーザが操作可能な状態は、一定時間が経過した場合に終了してもよいし、対戦相手チームにボールBを奪われた場合に終了してもよい。更に、ユーザが操作可能な状態は、一定時間が経過してもユーザチームがボールBを保有している間は継続してもよい。この場合、一定時間が経過し、かつ、対戦相手チームにボールを奪われた場合に、ユーザが操作可能な状態が終了する。
上記のように、ユーザは、スライド操作やフリック操作をすることで、操作対象キャラクタUCにドリブルやパスをさせ、攻撃を組み立てることができる。ユーザが操作対象キャラクタUCを操作してボールBが対戦相手チームのゴールGLに近づくと、シュートが可能になったことを示すシュート可能通知N1が表示される(図4のG1Dの状態)。例えば、シュート可能通知N1が表示された後に、ユーザがタップ操作をすると、シュートをするためのシュートモードに移行する。タップ操作は、例えば、タッチパネル14A上をタッチした後に、すぐにタッチを解除する操作である。
なお、シュートモードに移行する場合、試合の進行は、一時的に停止してもよいし、特に停止しなくてもよい。例えば、試合の進行が一時的に停止する場合には、操作対象キャラクタUCや対戦相手キャラクタOCは一時的に動作を停止する。また例えば、試合の進行が特に停止しない場合には、試合の進行が通常よりも遅くなり、操作対象キャラクタUCや対戦相手キャラクタOCがスローモーションで動作してもよい。また、シュート可能通知N1が表示された場合に、ユーザは、すぐにシュートモードに移行させる必要はなく、ドリブルやパスをして、より狙いやすい位置からシュートモードに移行してもよい。
図5は、シュートモードに移行する場合の画面遷移の一例を示す図である。図5に示すように、シュート可能通知N1が表示された場合(図5のG1Dの状態)に、ユーザがタップ操作をすると、操作対象キャラクタUCがアップで表示され、操作対象キャラクタUCの足元に所定のエフェクト(以降、演出画像もしくは演出画像を表示すること、特殊効果を施すこと等を意味する。)が発生する(図5のG1Eの状態)。なお、操作対象キャラクタUCが特殊能力を有している場合は、このタイミングで当該特殊能力を示す特殊能力通知N2が表示されるようにしてよい。
その後、操作対象キャラクタUCの背後から対戦相手チームのゴールGLを覗くようなアングルに切り替わり(図5のG1F)、シュートモードへの移行が完了する。このアングルは、操作対象キャラクタUCとゴールGLが重ならないアングルであり、ゴールマウスを見やすい状態となる。また、シュートモードに移行したことを示すメッセージM3、目標位置を示す目標位置画像G10、及びシュートの予想軌道を示す軌道画像G11が表示される。
目標位置は、例えば、ボールBが通過する位置又はボールBの着弾点であり、ユーザが指示した仮想世界VW内の位置である。本実施形態では、目標位置は、ゴールマウス上の3次元座標で示される。ゴールマウスとは、ゴールGLの枠のことである。なお、本実施形態では、目標位置は、仮想世界VWにおける3次元座標で示され、目標位置画像G10の表示位置は、表示領域上の2次元座標で示される。このため、目標位置画像G10の表
示位置は、目標位置が示す3次元座標に対応する画面上の2次元座標で示される。なお、表示位置とは、画像が表示される画面上の場所を特定可能な情報であればよく、例えば、画像の中心点であってもよいし端点であってもよい。本実施形態では、表示位置は、画像の中心点とする。
目標位置画像G10は、例えば、目標位置に基づいて表示位置が変わる画像であり、目標位置を示すカーソルの役割を果たす画像である。図5に示すように、目標位置画像G10は、着弾点カーソルG10Aと、ジャストタイミング画像G10Bと、を含む。着弾点カーソルG10Aは、例えば、実際のシュートの着弾点が目標位置からどの程度離れるかを示すものであり、シュートのぶれ具合を示すものである。詳細は後述するが、本実施形態では、操作対象キャラクタUCの能力によってシュートのぶれ具合が変わり、着弾点カーソルG10Aの間隔からシュートのぶれ具合が分かるようになっている。ジャストタイミング画像G10Bの詳細は後述する。なお、着弾点カーソルG10Aとジャストタイミング画像G10Bとは、画像として一体である必要はなく別体であってもよい。
シュートモードへの移行が完了すると、ユーザは、操作対象キャラクタUCにシュートさせるためのシュート操作を行う。本実施形態では、シュート操作は、タッチパネル14Aをタッチしてスライド操作をするステップと、所定のタイミングでタッチを解除するステップと、の2つのステップを含む。このタイミングは、本実施形態でジャストタイミングと記載するタイミングであり、タッチを解除すべきタイミングである。例えば、ジャストタイミングは、ある1フレームだけであってもよいし、予め定められた所定のフレーム間であってもよい。本実施形態では、後述する図13で定義される開始フレームから終了フレームの1つ前のフレームまでの間の個々のフレームがジャストタイミングとなる。ジャストタイミングは、例えば、ユーザが指示した通りにボールを移動させるために定められたタイミングということもできるし、得点の確率が高いシュート(後述のジャストタイミングシュート)を放つために定められたタイミングということもできる。なお、シュート操作のうち、スライド操作は、シュートの目標位置を指定するために行われ、タッチの解除は、シュート動作の開始を指示するために行われる。
図6は、シュート操作の一例を示す図である。図6に示すように、シュートモードに移行した場合(図6のG1Fの状態)に、ユーザがタッチパネル14Aをタッチすると、ジャストタイミングを案内するための案内画像G12が表示されて収縮を開始する(図6のG1Gの状態)。案内画像G12は、ジャストタイミング画像G10Bと同じ形状(例えば、円形)であり、例えば、ジャストタイミング画像G10Bよりもサイズが大きい状態で表示される。なお、案内画像G12の太さと、ジャストタイミング画像G10Bの太さと、は同じであってもよいし、異なっていてもよい。また、案内画像G12は、シュートモードに移行したばかりの時点(即ち、ユーザがタッチを開始する前のG1Fの状態)で表示されてもよい。
その後、ユーザがタッチを維持したままスライド操作をすると、スライド方向に基づいて、目標位置画像G10の表示位置が変更される(図6のG1Hの状態)。例えば、ユーザは、ゴールキーパーの対戦相手キャラクタOCがシュートを防ぎにくい場所(例えば、ゴールマウスの隅)に目標位置画像G10の表示位置を変更させる。ユーザは、目標位置を決めた後にタッチを解除すると(図6のG1Iの状態)、操作対象キャラクタUCにシュートさせることができる。
本実施形態では、ユーザがジャストタイミングでタッチを解除できたかどうかによって、シュートの速さや軌道が変わるようになっている。例えば、ユーザがジャストタイミングでタッチを解除した場合、操作対象キャラクタUCは、目標位置に強いシュートを放つ。以降、この場合のシュートをジャストタイミングシュートと記載する。ジャストタイミングシュートは、精度が高く速いシュートなので、得点の可能性の高いシュートといえる。一方、例えば、ユーザがジャストタイミングでタッチを解除できなかった場合は、操作対象キャラクタUCは、目標位置から少しずれた位置に少し弱いシュートを放つ。以降、この場合のシュートを通常シュートと記載する。通常シュートは、精度が低く遅いシュートなので、得点の可能性の低いシュートといえる。
例えば、ジャストタイミングは、ユーザがタッチをしたフレームを起点として、所定フレーム後のタイミングとなる。このため、図6に示すように、ユーザがタッチした時点で目標位置画像G10よりも大きく表示されている案内画像G12は、ジャストタイミングが近づくにつれて収縮し、ジャストタイミングにおいて、目標位置画像G10のジャストタイミング画像G10Bに重なるようになっている。このため、ジャストタイミング画像G10Bは、ジャストタイミングにおける案内画像G12のサイズを示すものといえる。ジャストタイミングシュートは、通常シュートよりもゴールの可能性が高いので、ユーザは、案内画像G12がジャストタイミング画像G10Bに重なったタイミングを見計らってタッチを解除することを目指すことになる。
なお、ユーザがタッチを解除することなくジャストタイミングが経過した場合、シュート操作に失敗したものとして、通常シュートが放たれるようにしてもよいが、本実施形態では、ジャストタイミングが再び設定され、ユーザは、次のジャストタイミングでタッチの解除を狙うことができる。このため、案内画像G12は、最小のサイズまで収縮すると、次のジャストタイミングを案内するために、再び最大のサイズにもどるようになっている。以降、ユーザがタッチを解除するまで、案内画像G12は収縮と拡大を繰り返す。
上記のように、本実施形態では、シュートモードに移行すると、ユーザは、スライド操作によって目標位置画像G10の表示位置を変更し、ジャストタイミングでタッチを解除することでジャストタイミングシュートを放つことができる。ジャストタイミングでタッチを解除するという比較的難しいシュート操作が要求されるので、シュート時の興趣性を向上させることができるようになっている。以降、この処理の詳細を説明する。なお、以降では、特に図面を参照する必要のないときは、ユーザキャラクタ、操作対象キャラクタ、及びボールなどの符号を省略する。
[1−3.ゲーム制御装置において実現される機能]
図7は、ゲーム制御装置10で実現される機能のうち、本発明に関連する機能を示す機能ブロック図である。本実施形態では、ゲーム制御装置10において、データ記憶部100、許可部101、範囲設定部102、初期表示位置決定部103、タイミング決定部104、表示制御部105、変更部106、移動制御部107、及び当たり判定実行部108が実現される。
[1−3−1.データ記憶部]
データ記憶部100は、記憶部12を主として実現される。データ記憶部100は、ゲームを実行するために必要なデータを記憶する。ここでは、データ記憶部100が記憶するデータの一例として、ゲーム状況データDT1及びキャラクタデータDT2を説明する。
図8は、ゲーム状況データDT1の一例を示す図である。図8に示すように、ゲーム状況データDT1は、実行中のゲームの状況を示すデータである。図8に示すように、ゲーム状況データDT1には、例えば、仮想空間の状況及び試合の戦況等が格納される。例えば、現在の仮想空間の状況としては、各キャラクタの状態、ボールの状態、及び仮想視点の状態が格納される。ゲーム状況データDT1は、ゲームの実行中に適宜更新され、その履歴がデータ記憶部100に蓄積されるようにしてもよい。
例えば、キャラクタの状態としては、ユーザキャラクタ及び対戦相手キャラクタの各々を一意に識別するキャラクタIDに関連付けて、位置、向き、姿勢、及び移動方向等が格納される。なお、操作対象キャラクタを識別する操作対象フラグが、ゲーム状況データDT1に格納されてもよい。また例えば、ボールの状態としては、ボールの位置、移動方向、移動速度、及びボールを保有する保有キャラクタ等が格納される。また例えば、仮想視点の状態としては、仮想視点の位置、視線方向、画角などの情報が格納されていてもよい。試合の戦況としては、ユーザチームの得点、対戦相手チームの得点、及び試合の経過時間等が格納される。
図9は、キャラクタデータDT2の一例を示す図である。図9に示すように、キャラクタデータDT2は、ユーザキャラクタ及び対戦相手キャラクタの情報を示すデータである。図9に示すように、キャラクタデータDT2には、例えば、キャラクタIDに関連付けて、基本情報、ポジション、及び能力パラメータが格納される。基本情報としては、キャラクタの名前、総合的な能力の高さを示す総合値、及び利き足などが格納される。能力パラメータとしては、例えば、オフェンスパラメータ、ディフェンスパラメータ、キックパラメータ、スピードパラメータ、テクニックパラメータ、スタミナパラメータ、及び特殊能力パラメータがある。
オフェンスパラメータは、攻撃能力の高さを示し、例えば、数値が高いほどボールを前線に素早く運ぶことができる。ディフェンスパラメータは、守備能力の高さを示し、例えば、数値が高いほど対戦相手チームからボールを奪取することができる。キックパラメータは、パス能力やシュート能力の高さを示し、例えば、数値が高いほど、キックの精度が高かったりキックが強かったりする。スピードパラメータは、走る能力の高さを示し、例えば、数値が高いほど移動速度が速くなる。テクニックパラメータは、技術の高さを示し、例えば、数値が高いほどドリブルやフェイントがうまくなる。スタミナパラメータは、体力の高さを示し、例えば、数値が高いほど運動量が多くなる。特殊能力は、ユーザキャラクタが保有する特殊な能力であり、例えば、特定の特殊能力を保有していると特殊なシュートを放つことができる。
なお、データ記憶部100に記憶されるデータは、上記の例に限られない。データ記憶部100は、ゲームを実行するために必要なデータを記憶すればよく、例えば、キャラクタの動作を定義したモーションデータを記憶してもよいし、操作内容とキャラクタの動作との関係を記憶してもよい。また例えば、データ記憶部100は、表示部15に表示される各画像、メッセージ、又は通知のデータを記憶してもよい。
[1−3−2.許可部]
許可部101は、制御部11を主として実現される。許可部101は、仮想世界の所定範囲内にボールがある場合に、移動制御部107による移動を許可する。所定範囲とは、例えば、仮想世界における一定範囲であり、シュートなどの所定動作をするためにボールを移動させるべき領域である。例えば、実施形態のようにサッカーゲームが実行される場合には、ボールを移動させるべきゴールの入り口(ゴールマウス)の領域及びその周囲の領域である。即ち、所定範囲とは、例えば、ゴールに直接ボールを移動させることが可能な領域である。なお、ゴールは、ボールが移動すると得点が発生する領域、又は、ボールが移動すると試合で勝利する領域ということができる。以降、所定範囲のことをシュート発動エリアA1という。許可部101は、ゲーム状況データDT1に格納されたボールの現在位置がシュート発動エリアA1内にあるかを判定することになる。
図10は、シュート発動エリアA1の一例を示す図である。図10では、2つあるゴールGLのうち右側にある方(Xw軸座標の大きい方)が、対戦相手チームのゴールGLとする。例えば、シュート発動エリアA1は、対戦相手チームのゴールGL内の任意の位置P1を中心として半径l1であり中心角θ1扇形領域から、位置P1を中心として半径l2の円形領域を除外した領域となる。なお、円形領域をシュート発動エリアA1から除外するのは、例えば、ボールがゴールGLの至近距離にあり、シュートのこぼれ球を押し込むようなシーンでシュートモードに移行すると試合のテンポが悪くなるからである。
なお、シュート発動エリアA1は、図10の例に限られず、その形状及びサイズは任意であってよい。例えば、シュート発動エリアA1は、特に円形領域を除外しない扇形領域そのままであってもよいし、扇形以外にも正方形や長方形などの多角形であってもよいし、特に多角形ではない円形や楕円形などの任意の形状であってもよい。また、シュート発動エリアA1は、操作対象キャラクタUCに関係なく固定であってもよいが、本実施形態では、後述の範囲設定部102により、操作対象キャラクタUCの能力に応じて可変となっている。
[1−3−3.範囲設定部]
範囲設定部102は、制御部11を主として実現される。範囲設定部102は、操作対象キャラクタの能力に基づいて、シュート発動エリアA1を設定する。操作対象キャラクタの能力とシュート発動エリアA1との関係は、数式形式、テーブル形式、又はプログラムコードの一部としてデータ記憶部100に記憶されるようにしてよい。範囲設定部102は、操作対象キャラクタの能力に関連付けられたシュート発動エリアA1を設定する。なお、本実施形態のように、操作対象キャラクタに複数種類の能力が定められている場合には、特定種類の能力(例えば、オフェンスパラメータ又はキックパラメータ)が参照されるようにすればよい。
図11は、能力とシュート発動エリアA1との関係を示す図である。図11に示すように、例えば、範囲設定部102は、操作対象キャラクタの能力が高いほどシュート発動エリアA1が広くなるように、シュート発動エリアA1を設定し、操作対象キャラクタの能力が低いほどシュート発動エリアA1が狭くなるように、シュート発動エリアA1を設定するようにしてよい。例えば、範囲設定部102は、シュート発動エリアA1に対応する扇形領域の半径l1を変えたり中心角θ1を変えたりすることで、シュート発動エリアA1を変えるようにしてよい。なお、シュート発動エリアA1は、操作対象キャラクタの能力に応じてその形状が変わるようにしてもよい。
[1−3−4.初期表示位置決定部]
初期表示位置決定部103は、制御部11を主として実現される。初期表示位置決定部103は、ゲームの現在の状況に基づいて、目標位置画像G10の初期表示位置を決定する。目標位置画像G10の表示位置は、ボールの目標位置に基づいて決まるので、初期表示位置決定部103は、ゲームの現在の状況に基づいて、ボールの初期目標位置を決定するということもできる。
ここでの状況とは、例えば、仮想世界の現在の様子である。また例えば、状況は、ボールを移動させる操作対象キャラクタの能力であってもよいし、ボールの移動を妨害する対戦相手キャラクタの状態や能力であってもよい。ここでの状態とは、キャラクタの位置や姿勢などである。初期表示位置とは、例えば、ユーザがタッチパネルをタッチした時点における表示位置である。
ゲームの状況と目標位置画像G10の初期表示位置との関係は、数式形式、テーブル形式、又はプログラムコードの一部としてデータ記憶部100に記憶されるようにしてよい。初期表示位置決定部103は、現在の状況に関連付けられた初期表示位置を取得する。ここでは、初期表示位置決定部103が、対戦相手キャラクタOCの位置及び状態と、操作対象キャラクタUCの能力と、に基づいて、目標位置画像G10の初期表示位置を決定する場合を説明する。
図12は、目標位置画像G10の初期表示位置の決定方法を示す図である。図12では、仮想世界VWにおける対戦相手チームのゴールGL付近の様子が示されている。初期表示位置決定部103は、予め定められた候補領域AC1〜AC7の何れかの中に初期目標位置を設定し、当該初期目標位置を示す3次元座標を画面上の2次元座標に変換した位置を、初期表示位置として決定する。
例えば、初期表示位置決定部103は、ゴールキーパーの対戦相手キャラクタOCのゴールGLに対する位置に基づいて、目標位置画像G10の初期表示位置を決定するようにしてよい。図12に示すように、初期表示位置決定部103は、ゴールキーパーの対戦相手キャラクタOCがゴールマウスの中心点P2に対して左にいる場合には、ゴールマウスの右側に設定される候補領域AC1〜AC7の何れかの中に、初期目標位置を設定する。一方、初期表示位置決定部103は、ゴールキーパーの対戦相手キャラクタOCがゴールマウスの中心点P2に対して右にいる場合には、ゴールマウスの左側に設定される候補領域AC1〜AC7の何れかの中に、初期目標位置を設定する。
候補領域AC1〜AC7の何れが選択されるかは、ランダムに決定するなど任意の方法により決定されるようにしてよいが、例えば、初期表示位置決定部103は、操作対象キャラクタUCの能力(例えば、キックパラメータ)に基づいて、候補領域AC1〜AC7の何れを選択し、その中に初期目標位置を設定する。即ち、初期表示位置決定部103は、操作対象キャラクタUCの能力に基づいて、目標位置画像G10の初期表示位置を決定する。例えば、初期表示位置決定部103は、操作対象キャラクタの能力が高いほどゴールの端部に近い初期目標位置及び初期表示位置を設定するようにしてよい。
例えば、初期表示位置決定部103は、操作対象キャラクタの能力が高い場合は、ゴールマウスの隅を狙いやすいように、候補領域AC1又はAC2の中に初期目標位置を設定し、当該初期目標位置に基づいて、初期表示位置を決定する。また例えば、初期表示位置決定部103は、操作対象キャラクタの能力が中程度である場合は、シュートコースが多少甘くなるように、候補領域AC3〜AC5の何れかの中に初期目標位置を設定し、当該初期目標位置に基づいて、初期表示位置を決定する。また例えば、初期表示位置決定部103は、操作対象キャラクタの能力が低い場合は、ゴールマウスを外れてしまいやすいように、候補領域AC6又はAC7の中に初期目標位置を設定し、当該初期目標位置に基づいて、初期表示位置を決定する。
なお、操作対象キャラクタUCが複数種類の移動方法でシュートを放つことができる場合には、初期表示位置決定部103は、タッチパネル14Aがタッチされた場合に設定されるボールの移動方法に基づいて、目標位置画像G10の初期表示位置を決定するようにしてもよい。ボールの移動方法とは、ここではシュートの種類であり、本実施形態では、必殺シュートと、それ以外のシュートと、の2種類があるものとする。必殺シュートは、特定の特殊能力を有する場合に放つことができる。例えば、必殺シュートは、通常のシュートよりも得点の確率が高いシュートであり、通常のシュートと速度や軌道が異なるシュートである。なお、シュートの種類は2種類以上あってもよい。
シュートの種類と目標位置画像G10の初期表示位置との関係は、数式形式、テーブル形式、又はプログラムコードの一部としてデータ記憶部100に記憶されるようにしてよい。初期表示位置決定部103は、シュートの種類に関連付けられた初期表示位置を取得する。例えば、初期表示位置決定部103は、操作対象キャラクタの特殊能力を参照し、必殺シュートを放つかを判定する。必殺シュートを放つと判定されない場合、初期表示位置決定部103は、例えば、図12で説明した方法で初期表示位置を決定する。
一方、必殺シュートを放つと判定された場合、初期表示位置決定部103は、例えば、目標位置画像G10の初期表示位置をゴールマウスの中心点P2又はその付近に対応する画面上の位置とする。なお、必殺シュートにおける目標位置画像G10の初期表示位置は、これに限られず、初期表示位置決定部103は、シュートの種類によって初期表示位置を異ならせるようにすればよい。例えば、初期表示位置決定部103は、ゴールマウスの端部付近に対応する画面上の位置を目標位置画像G10の初期表示位置としてもよい。
[1−3−5.タイミング決定部]
タイミング決定部104は、制御部11を主として実現される。タイミング決定部104は、実行中のゲームの状況に基づいて、ジャストタイミングを決定する。先述したように、ジャストタイミングは、タッチを解除すべきタイミングであり、例えば、ユーザが指示した通りにボールを移動させるために定められたタイミングということもできる。また例えば、ジャストタイミングは、目標位置にボールを移動させるために定められたタイミングということもできる。また例えば、ジャストタイミングは、ボールを速く正確に移動させるために定められたタイミングということもできる。ジャストタイミングは、1回だけ訪れてもよいし、複数回訪れてもよい。なお、本実施形態では、ジャストタイミングは可変とするが、特にゲームの状況によらず固定されていてもよい。
ゲームの状況とジャストタイミングとの関係は、数式形式、テーブル形式、又はプログラムコードの一部としてデータ記憶部100に記憶されるようにしてよい。この関係は、数式形式であってもよいしテーブル形式であってもよいしプログラムコードの一部として記述されていてもよい。タイミング決定部104は、現在の状況に関連付けられたジャストタイミングを設定する。
図13は、ゲームの状況とジャストタイミングとの関係を示す図である。図13に示すように、本実施形態では、タイミング決定部104は、ジャストタイミングレベルというパラメータを利用して、ジャストタイミングを変化させる。ジャストタイミングレベルは、ゲーム状況データDT1及びキャラクタデータDT2に含まれる情報を引数とした数式により算出されるパラメータである。タイミング決定部104は、ユーザキャラクタに関するパラメータや試合の戦況に基づいて、ジャストタイミングレベルを算出される。例えば、ユーザキャラクタの能力が高いほどジャストタイミングレベルが高くなったり、試合の残り時間が長いほどジャストタイミングレベルが高くなったりするようにしてよい。
図13の例では、ジャストタイミングの開始フレーム、終了フレーム、及び長さが定義されている。ここでの終了フレームは、ジャストタイミングではなくなった後に訪れる最初のフレームを意味する。このため、ジャストタイミングは、開始フレームから、終了フレームの1つ前のフレームまでとなる。なお、開始フレーム及び終了フレームは、シュート操作のためにタッチが開始されたフレームを1フレーム目とし、そのフレームから何フレーム目であるかを示す数値により定義されている。図13に示すように、例えば、タイミング決定部104は、ジャストタイミングレベルに基づいて、ジャストタイミングの長さを変える。タイミング決定部104は、ジャストタイミングレベルが高いほどジャストタイミングを長く設定し、ジャストタイミングレベルが低いほどジャストタイミングを短く設定するようにしてよい。
なお、ジャストタイミングが長くなると、ジャストタイミング画像G10Bと案内画像G12とが重なる期間も長くなるので、本実施形態では、図13に示すように、ジャストタイミングの長さに応じて、目標位置画像G10に含まれるジャストタイミング画像G10Bの太さが異なるようになっている。例えば、ジャストタイミングが長くなるほどジャストタイミング画像G10Bが太くなり、ジャストタイミングが短くなるほどジャストタイミング画像G10Bが細くなるようにしてよい。
[1−3−6.表示制御部]
表示制御部105は、制御部11を主として実現される。表示制御部105は、タッチパネル14Aへのタッチを解除することでボールの移動を指示可能なゲームにおいて、タッチパネル14Aがタッチされた場合に、ジャストタイミングを案内するための案内画像G12を変化させながら表示させる。即ち、表示制御部105は、タッチパネル14Aがタッチされたことをトリガーとして、案内画像G12の変化を開始する。
案内画像G12は、例えば、ジャストタイミングが近づくと表示態様が変わる画像であればよい。表示態様とは、画像の見た目(表示のさせ方)であり、例えば、表示位置、色、輝度、透明度などである。本実施形態では、案内画像G12のサイズによってジャストタイミングが案内される場合を説明するが、ジャストタイミングは、案内画像の位置、色、透明度、又は輝度の変化などによって案内されてもよい。なお、画像の縦幅及び横幅の少なくとも一方を変えたり、画像全体のサイズを示すパラメータ(例えば、拡大率を示すパーセント)を変えたりすることで、案内画像G12のサイズが変化すればよい。
例えば、表示制御部105は、タッチパネル14Aがタッチされた場合に、案内画像G12と目標位置画像G10とが所定の範囲内に含まれる表示位置に表示させる。また例えば、表示制御部105は、変更部106により目標位置画像G10の表示位置が変更された場合に、案内画像G12の表示位置を変更する。所定の範囲内とは、例えば、画像の中心座標が同じこと、又は、中心座標間の距離が閾値未満であることである。これにより、変更部106により目標位置画像G10の表示位置が変更されると、案内画像G12の表示位置も追従して変更されることになる。なお、中心座標ではなく、画像に関連付けられた任意の座標が同じこと、又は、当該座標の距離が閾値未満であることであってもよい。また例えば、所定の範囲とは、ある領域内に2つの画像が入るように表示することであってもよい。例えば、表示制御部105は、案内画像G12と目標位置画像G10との一方が他方に含まれるように、これらの表示位置を決定してよい。
また例えば、表示制御部105は、タッチパネル14Aがタッチされた場合に、互いにサイズが異なる案内画像G12と目標位置画像G10とが所定の範囲内に含まれる表示位置に表示させる。表示制御部105は、案内画像G12のサイズが目標位置画像G10のサイズに近づくように、案内画像G12を変化させる。サイズが近づくとは、例えば、画像のサイズの違いが小さくなることである。例えば、ジャストタイミングが訪れるまでの時間と、画像のサイズ差と、に相関関係があることである。例えば、当該時間が長いほどサイズ差が大きくなり、当該時間が短いほどサイズ差が小さくなる。
図14は、案内画像G12の制御方法を示す図である。なお、図14に示すt軸は時間軸である。ここでは、ジャストタイミング画像G10Bとのサイズを比較しながら、案内画像G12の制御方法を説明する。本実施形態では、案内画像G12が最大サイズで表示されてから最小サイズになるまでのフレーム数が定められており、このフレーム数をN個とする。先述したように、案内画像G12は最小サイズまで縮小すると、再び最大サイズに戻って縮小を開始するので、案内画像G12が最大サイズであるフレームから最小サイズであるフレームまでの期間を、ここではサイクルと記載する。
例えば、1サイクルに含まれる各フレームの案内画像G12のサイズは、予め数式形式、テーブル形式、又はプログラムコードの一部としてデータ記憶部100に記憶されるようにしてよい。即ち、あるサイクルにおける何フレーム目に、案内画像G12のサイズがどの程度(例えば、拡大率のパーセント)であるかは、予めデータ記憶部100に定義しておけばよい。表示制御部105は、現フレームに関連付けられたサイズの案内画像G12を表示させる。
図14に示すように、ユーザがタッチを開始したフレーム(サイクルの起点となるフレーム)をF1と記載する。表示制御部105は、このフレームF1において、最大サイズの案内画像G12を表示させる。そして、表示制御部105は、ジャストタイミングが近づくにつれてジャストタイミング画像G10Bのサイズに近づくように、案内画像G12を徐々に小さくする。そして、ジャストタイミングの開始フレームFSにおいて、表示制御部105は、案内画像G12の外周と、ジャストタイミング画像G10Bの外周と、を一致させる。
図14の例では、ジャストタイミングは、開始フレームFSから終了フレームFFの1つ前までの3フレームである。図14に示すように、案内画像G12は、ジャストタイミング画像G10Bよりも細く、ジャストタイミング中においては、表示制御部105は、案内画像G12の内周がジャストタイミング画像G10Bの内周に近づくように、案内画像G12を徐々に収縮させる。案内画像G12はジャストタイミング画像G10Bよりも細いので、ジャストタイミング中の3つのフレームにおいては、ジャストタイミング画像G10Bと案内画像G12とが重なった状態となる。そして、終了フレームFFの1つ前であるフレームFS+2において、表示制御部105は、案内画像G12の内周と、ジャストタイミング画像G10Bの内周と、を一致させる。
ジャストタイミングの終了フレームFFが訪れると、表示制御部105は、案内画像G12の外周がジャストタイミング画像G10Bの内周以下となるように、案内画像G12を縮小させる。このため、終了フレームFFになると、ジャストタイミング画像G10Bと案内画像G12とが重ならなくなる。その後、表示制御部105は、サイクルの最終フレームFNが近づくにつれて最小サイズに近づくように、案内画像G12を徐々に小さくする。そして、最終フレームFNにおいて、表示制御部105は、案内画像G12を最小サイズで表示させる。
先述したように、本実施形態では、ジャストタイミングが訪れてもタッチパネル14Aへのタッチが解除されなかった場合は、その時点でシュート操作失敗とはならず、新たなジャストタイミングが設定される。このため、表示制御部105は、新たなジャストタイミングが設定された場合は、案内画像G12を初期状態に戻し、新たなジャストタイミングを案内するように、案内画像G12を変化させる。初期状態とは、例えば、案内画像G12が表示されたばかりの時点における表示態様であり、この時点におけるサイズ及び形状である。ここでは、初期状態は、フレームF1におけるサイズである。
例えば、表示制御部105は、タッチが解除されることなく次のサイクルに移行した場合は、サイクルの最初であるフレームF1のサイズに案内画像G12のサイズを変更する。このため、表示制御部105は、1サイクル目の最終フレームFNの次のフレーム(即ち、次のサイクルの最初のフレーム)において、再び最大サイズの案内画像G12を表示させ、2サイクル目の表示制御を開始する。以降の表示制御は、1サイクル目と同じである。
なお、表示制御部105は、上記説明した案内画像G12の表示制御以外にも、表示部15に表示させる種々の画像の表示制御を実行可能である。例えば、表示制御部105は、仮想世界の様子を示す仮想世界画像G1を表示部に表示させるようにしてよい。表示制御部105は、公知のジオメトリ処理を利用して仮想世界の各オブジェクトの3次元座標を2次元座標に変換して仮想世界画像G1を生成すればよい。表示制御部105は、仮想世界を仮想視点から見た様子を示す仮想世界画像G1を表示部15に表示させることになる。
また例えば、表示制御部105は、シュート発動エリアA1内にボールが移動した場合に、仮想世界画像G1において、許可部101により移動が許可されたことを通知するようにしてよい。本実施形態では、表示制御部105は、仮想世界画像G1においてシュート可能通知N1(図4及び図5)を表示させることによって通知を行う。なお、本実施形態で通知と記載した場合には、仮想世界画像G1が表示された状態で行われる画像処理を意味する。例えば、通知は、表示中の画像の表示態様を変えることである。また例えば、通知は、色、明度、大きさ、形状、解像度を変えること、点滅や回転などのエフェクトを施すことである。また例えば、通知は、画像を新たに表示させることである。以降において通知と記載した場合も同様である。
例えば、表示制御部105は、仮想世界の様子を示す仮想世界画像G1を第1の表示態様で表示部15に表示させるようにしてよい。本実施形態では、表示制御部105は、シュート発動エリアA1内にボールがない場合に、仮想世界画像G1を第1の表示態様で表示させる。第1の表示態様は、所定の表示態様であればよく、例えば、仮想視点とピッチとの距離が所定距離以上であり、かつ、仮想視点の視線方向とピッチとのなす角度が所定角度以上となる視点となる表示態様である。本実施形態では、いわゆる俯瞰視点に基づく仮想世界画像G1(例えば、図3のG1、図4のG1A〜G1D、及び図5のG1D)を表示させることが第1の表示態様に相当する。
例えば、表示制御部105は、タッチパネル14Aに対して所定の操作が行われた場合に、仮想世界画像G1を第2の表示態様に切り替えるようにしてよい。また例えば、表示制御部105は、シュート発動エリアA1内にボールが移動し、かつ、タッチパネル14Aに対して所定の操作が行われた場合に、仮想世界画像G1を第2の表示態様に切り替える。所定の操作は、タッチパネルに対する任意の操作であればよく、先述したように本実施形態ではタップ操作として説明するが、他にも例えば、フリック操作、スワイプ操作、又はダブルタップ操作などであってよい。
第2の表示態様は、第1の表示態様と異なる表示態様であればよく、本実施形態では、仮想視点の位置及び視線方向が異なる。例えば、第2の表示態様は、仮想視点とピッチとの距離が所定距離未満であり、かつ、仮想視点の視線方向とピッチとのなす角度が所定角度未満となる視点となる表示態様である。本実施形態では、操作対象キャラクタの背後から対戦相手チームのゴールを見るような背後視点に基づく仮想世界画像G1(例えば、図5のG1F及び図6のG1F〜G1I)を表示させることが第2の表示態様に相当する。
なお、表示制御部105は、仮想世界画像を第2の表示態様に切り替える場合に、操作対象キャラクタの能力を通知するようにしてよい。この場合に通知される能力は、操作対象キャラクタの能力パラメータであってもよいが、本実施形態では、表示制御部105は、操作対象キャラクタの特殊能力を通知するものとする。表示制御部105は、仮想世界画像G1において特殊能力通知N2(図5のG1E)を表示させることによって通知を行う。
また例えば、表示制御部105は、タッチパネル14Aがタッチされる場合に、仮想視点とキャラクタとの位置関係を所定の位置関係に設定するようにしてよい。所定の位置関係とは、例えば、ボールを移動させるためにキャラクタが邪魔にならないような位置関係である。本実施形態のようにボールを所定領域内に移動させるゲームの場合、例えば、仮想視点と当該所定領域との間にキャラクタが配置されないような位置関係である。なお、当該所定領域は、例えば、ボールが移動するとユーザが得点を獲得したり勝利したりする領域であり、ゴールである。例えば、表示制御部105は、仮想世界画像G1において、操作対象キャラクタと、対戦相手チームのゴールと、が重ならない位置に仮想視点を配置する。この処理の詳細は、後述の実施形態3で説明する。
また例えば、表示制御部105は、操作対象キャラクタの能力(例えば、キックパラメータ)に基づいて、目標位置画像G10のサイズを決定するようにしてよい。即ち、操作対象キャラクタの能力によってシュートにぶれが生じるので、シュートのぶれる範囲を示すように、目標位置画像G10のサイズが変わってもよい。能力と目標位置画像G10のサイズとの関係は、数式形式、テーブル形式、又はプログラムコードの一部としてデータ記憶部100に記憶されるようにしてよい。初期表示位置決定部103は、現在の状況に関連付けられた初期表示位置を取得する。
図15は、能力と目標位置画像G10のサイズとの関係を示す図である。図15に示すように、例えば、表示制御部105は、操作対象キャラクタの能力が高いほど目標位置画像G10のサイズが小さくなるように、目標位置画像G10のサイズを決定し、キャラクタの能力が低いほど目標位置画像G10のサイズが大きくなるように、目標位置画像G10のサイズを決定する。
本実施形態では、目標位置画像G10は着弾点カーソルG10Aを含むので、表示制御部105は、操作対象キャラクタの能力に基づいて、着弾点カーソルG10Aの間隔を決定する。例えば、操作対象キャラクタUCの能力が高いほどシュートのぶれが小さくなるので、表示制御部105は、操作対象キャラクタの能力が高いほど着弾点カーソルG10Aの間隔を短くする。また例えば、操作対象キャラクタUCの能力が低いほどシュートのぶれが大きくなるので、表示制御部105は、操作対象キャラクタの能力が低いほど着弾点カーソルG10Aの間隔が長くなるように、目標位置画像G10のサイズを決定する。
また例えば、表示制御部105は、タッチパネル14Aがタッチされた場合に、ボールの現在位置から目標位置までの予想軌道を示す軌道画像G11を表示させるようにしてよい。予想軌道とは、オブジェクトの軌道を計算するアルゴリズムに基づいて定まる将来の軌道である。このアルゴリズムは、自然界における物理法則をもとに定義された数式を含んでおり、例えば、キックパラメータなどに基づいて定まる蹴り出しの強さ及び角度を引数としてボールの軌道を算出するためのものである。表示制御部105は、アルゴリズムに基づいて計算した予想軌道上に軌道画像G11を表示させる。
また例えば、表示制御部105は、タッチパネルへのタッチが解除された場合に、タッチが解除されたタイミングの評価を示す評価画像を表示させるようにしてよい。評価画像は、タッチが解除されたタイミングとジャストタイミングとの差を示す画像であればよく、例えば、当該差によって表示態様が変わる画像である。即ち、評価画像は、タッチを解除したタイミングがジャストタイミングに対して早かったか遅かったかを示す画像であり、次のシュート操作の参考にするための画像といえる。タッチが解除されたタイミングとジャストタイミングとの差ごとに、どの評価画像を表示させるかがデータ記憶部100に記憶されているようにしてよい。
図16は、評価画像の一例を示す図である。図16に示すように、例えば、ユーザがタッチを解除したタイミングがジャストタイミングに対して早かった場合には、「はやい!」というメッセージを示す評価画像G13Aが表示される。また例えば、ユーザがジャストタイミングでタッチを解除した場合には、「ジャスト!」というメッセージを示す評価画像G13Bが表示される。また例えば、ユーザがタッチを解除したタイミングがジャストタイミングに対して遅かった場合には、「おそい!」というメッセージを示す評価画像G13Cが表示される。以降、評価画像G13A〜G13Cを区別する必要のないときは、評価画像G13と記載する。評価画像G13の表示位置は任意であってよいが、ここでは、ユーザが確認しやすいように、ジャストタイミング画像G10B及び案内画像G13付近とする。
また例えば、表示制御部105は、タッチが解除されたタイミングの評価が基準以上であった場合に、評価が基準以上であったことを通知するようにしてもよい。評価が基準以上とは、例えば、タッチが解除されたタイミングとジャストタイミングとの差が閾値未満となることである。本実施形態では、ジャストタイミングでタッチが解除された場合に評価が基準以上となる。
図17は、ジャストタイミングでタッチが解除された場合の一例を示す図である。図17に示すように、例えば、表示制御部105は、ジャストタイミング画像G10Bに重なっている案内画像G12が広がるようなエフェクトを実行する。また例えば、表示制御部105は、着弾点カーソルG10Aの間隔が縮まるようなエフェクトを実行する。これらのエフェクトは、ジャストタイミング以外でタッチが解除された場合には実行されないので、表示制御部105は、エフェクトにより、評価が基準以上であったことを通知することができる。なお、通知方法は、図17の例に限られず、他のエフェクトであってよい。例えば、目標位置画像G10又は案内画像G12が回転したり点滅したりしてもよい。
[1−3−7.変更部]
変更部106は、制御部11を主として実現される。変更部106は、タッチパネル14Aがタッチされた状態でタッチ位置が変更された場合に、当該タッチ位置の変更に基づいて、ボールを移動させる目標位置を示す目標位置画像G10の表示位置を変更する。本実施形態では、目標位置画像G10の表示位置は、ボールの目標位置に基づいて決まるので、変更部106は、タッチ位置の変更に基づいて、ボールの目標位置を移動させることによって、目標位置画像G10の表示位置を変更することになる。
例えば、変更部106は、タッチ開始時点でのタッチ位置と現在のタッチ位置とを結ぶベクトルと、目標位置画像G10の初期表示位置と現在の表示位置とを結ぶベクトルと、が対応するように、目標位置画像G10の表示位置を変更する。ベクトル同士が対応するとは、ベクトルが一致すること、又は、ベクトルの方向的及び距離的なずれが閾値未満であることである。
本実施形態では、仮想世界には、ボールの移動が制限される移動制限領域が設定される。移動制限領域とは、例えば、ボールが移動しないように定めた領域であり、ピッチ上の位置であってもよいし、サッカーゲームであれば、ゴールマウスの外の領域であってもよい。
図18は、移動制限領域の一例を示す図である。図18では、ゴールラインELと目標位置画像G10以外の画像を省略している。図18に示すように、本実施形態では、移動制限領域は、ゴールラインELよりも手前側のピッチ上の領域となる。このため、画面上では、ゴールラインELよりも下側の領域が移動制限領域となる。変更部106は、移動制限領域に目標位置が含まれないように、目標位置画像G10の表示位置を制限する。このため、表示領域において、ゴールラインELよりも下側の領域には、目標位置画像G10が移動しないように制限される。
図18に示すように、目標位置画像G10がゴールラインELよりも上の初期表示位置に表示された後に(図18の10Aの状態)、ユーザが下方向にスライド操作をすると、目標位置画像G10がゴールラインELに到達する(図18の10Bの状態)。目標位置画像G10は、ゴールラインELよりも下に移動しないので、ユーザが下方向へのスライド操作を継続しても、目標位置画像G10はその場で留まり表示位置が変更されない(図18の10Cの状態)。その後、ユーザが上方向にスライド操作すると、タッチ位置がゴールラインELを超えた場合に、目標位置画像G10は上方向に移動するようにしてよい(図18の10Dの状態)。
[1−3−8.移動制御部]
移動制御部107は、制御部11を主として実現される。移動制御部107は、タッチパネル14Aへのタッチが解除されたタイミングにおける、案内画像G12と目標位置画像G10との重なり方に対応する移動方法でオブジェクトを移動させる。タッチが解除されたタイミングとは、例えば、タッチパネルへのタッチが解除されたタイミング、又は、当該タイミングから所定時間以内のタイミングである。例えば、オペレーティングシステムが検知したタッチオフイベントを取得したフレームが、タッチが解除されたタイミングに相当してよい。
重なり方とは、例えば、2つの画像が重なっている部分の割合、広さ、又は位置などである。移動方法とは、例えば、ボールの移動のさせ方である。例えば、狙った場所に移動する精度の高い移動のさせ方と、狙った場所に移動しない精度の低い移動のさせ方と、がある。また例えば、速い移動のさせ方と、遅い移動のさせ方と、がある。また例えば、通常の移動のさせ方と、通常とは異なる移動のさせ方と、がある。先述したように、サッカーゲームであれば、通常のシュートと、キャラクタが放つ特殊なシュートと、があってよい。本実施形態では、案内画像G12と目標位置画像G10との重なり方が変わると、ボールの移動方法が変わる。例えば、第1の重なり方である場合には第1の移動方法となり、第2の重なり方である場合には第2の移動方法となる。別の言い方をすれば、重なり方と移動方法とに関連性があることである。また、移動方法は、通常シュートやジャストタイミングシュートのように、予め設定されてもよい。また、移動方法は、能力や確率によるぶれのように、その都度設定されてもよい。また、移動方法は、予め設定されるものと、その都度設定されるものと、の両方でもよい。
本実施形態では、シュート可能状態になると仮想世界画像G1が第2の表示態様に切り替わるので、移動制御部107は、仮想世界画像G1が第2の表示態様に切り替わった後に、タッチパネル14Aがタッチされてタッチが解除された場合に、ボールを移動させることになる。
図19は、ボールの移動方法を説明するための図である。図19に示すように、移動制御部107は、ジャストタイミングシュートである場合は、目標位置Q1を通るようにボールを移動させる。一方、移動制御部107は、通常シュートである場合は、目標位置Q1からずれた位置Q2を通るようにボールを移動させる。目標位置Q1と実際の通過点である位置Q2とのずれ具合は、ランダムに決まってもよいし、操作対象キャラクタの能力(例えば、キックパラメータ)に基づいて決まってもよい。
また、移動制御部107は、仮想世界画像が第2の表示態様に切り替わった後に、タッチパネル14Aがタッチされてタッチが解除された場合に、操作対象キャラクタの能力に更に基づいて、ボールを移動させることになる。例えば、移動制御部107は、ボールが実際に移動する位置と目標位置とのずれを、操作対象キャラクタの能力(例えば、キックパラメータ)に基づいて決定する。ここでのずれとは、距離であり、図19で示す目標位置Q1と実際の通過点である位置Q2との距離である。例えば、移動制御部107は、操作対象キャラクタの能力が高いほどずれが小さくなり、操作対象キャラクタの能力が低いほどずれが大きくなる。
[1−3−9.当たり判定実行部]
当たり判定実行部108は、制御部11を主として実現される。当たり判定実行部108は、ボールとキャラクタとの当たり判定を実行する。当たり判定は、接触判定とも呼ばれるものであり、仮想世界におけるオブジェクト同士の衝突を判定するものである。例えば、当たり判定は、あるオブジェクトの頂点が他のオブジェクトの内部に侵入するかを判定する処理である。当たり判定は、オブジェクトの頂点座標に基づいて実行される。
当たり判定実行部108は、移動制御部107によりボールが移動する場合は、ボールとキャラクタとの当たり判定を省略する。当たり判定が省略されるオブジェクトは、ここではキャラクタとするが、ボール以外のオブジェクトであればよく、例えば、障害物が存在するゲームであれば障害物であってよい。例えば、当たり判定実行部108は、ボールと、ユーザキャラクタ又は対戦相手キャラクタと、の当たり判定を省略する。ただし、当たり判定部は、ゴールキーパーの対戦相手キャラクタとボールとの当たり判定は省略しなくてよい。なお、当たり判定の省略は、ゲームプログラムにおける所定のコマンド(例えば、tclコマンド)を利用して実行されてよい。
[1−4.ゲーム制御装置において実行される処理]
図20−図23は、ゲーム制御装置10において実行される処理の一例を示すフロー図である。図20−図23に示す処理は、試合が開始されると、制御部11が記憶部12に記憶されたプログラムに従って動作することによって実行される。下記の処理は、図7に示す各機能ブロックによる処理の一例である。図20の処理は、試合が開始すると実行される。
図20に示すように、まず、制御部11は、ゲーム状況データDT1に基づいて、仮想世界画像G1を表示させる(S1)。S1においては、制御部11は、キャラクタデータDT2などに基づいて、試合開始時の仮想世界を構築する。そして、制御部11は、ユーザキャラクタ、対戦相手キャラクタ、及びボールが初期位置に配置されるように、ゲーム状況データDT1を生成し、記憶部12に記録する。
制御部11は、所定の行動アルゴリズムに基づいて、試合を自動的に進行させる(S2)。S2においては、制御部11は、ユーザキャラクタ及び対戦相手キャラクタの動作を決定し、ゲーム状況データDT1を更新する。
制御部11は、ゲーム状況データDT1に基づいて、ユーザが操作可能な状況になったかを判定する(S3)。S3においては、制御部11は、ユーザチームがボールを保有した状態で対戦相手チームのゴールに近づいた場合に、攻撃時の操作が可能な状況になったと判定する。また、制御部11は、対戦相手チームがボールを保有した状態でユーザチームのゴールに近づいた場合に、守備時の操作が可能な状況になったと判定する。制御部11は、それ以外の状況では、ユーザが操作可能な状況になったと判定しない。
ユーザが操作可能な状況になったと判定されない場合(S3;N)、制御部11は、ゲーム状況データDT1に基づいて、試合が終了したかを判定する(S4)。S4においては、制御部11は、ゲーム状況データDT1に格納された試合の経過時間が所定時間になったかを判定する。試合が終了したと判定された場合(S4;Y)、本処理は終了する。一方、試合が終了したと判定されない場合(S4;N)、S2の処理に戻り、自動的な試合の進行が継続される。なお、S3において、守備時の操作が可能な状況になったと判定された場合(S3;守備)の処理は、実施形態2で説明する。
S3において、攻撃時の操作が可能な状況になったと判定された場合(S3;攻撃)、図21に移行し、制御部11は、ボールを保有するユーザキャラクタを操作対象キャラクタとして設定する(S5)。制御部11は、操作可能な状態になったことを示すメッセージM2を表示させ(S6)、その後に、操作対象キャラクタの足元にカーソルCを表示させる(S7)。S6の処理が実行されると、仮想世界画像G1は、図4のG1Bの状態となり、S7の処理が実行されると、仮想世界画像G1は、図4のG1Cの状態となる。
制御部11は、操作対象キャラクタUCの能力に基づいて、シュート発動エリアA1を設定する(S8)。S8においては、制御部11は、キャラクタデータDT2を参照して、操作対象キャラクタの能力を取得する。制御部11は、操作対象キャラクタの能力が高いほどシュート発動エリアA1が広くなり、操作対象キャラクタの能力が低いほどシュート発動エリアA1が狭くなるように、シュート発動エリアA1を設定する。制御部11は、S8で設定したシュート発動エリアA1を記憶部12に記録する。
制御部11は、タッチパネル14Aの検出信号に基づいて、操作対象キャラクタUCを動作させる(S9)。S9においては、制御部11は、ユーザがスライド操作をした場合に、スライド方向に基づいて操作対象キャラクタUCをドリブルさせ、ユーザがフリック操作をした場合に、フリック方向に基づいて操作対象キャラクタにパスをさせる。
制御部11は、操作対象キャラクタを切り替えるかを判定する(S10)。S10においては、制御部11は、ボールを保有する操作対象キャラクタが変わったかを判定することになる。操作対象キャラクタが切り替えると判定された場合(S10;Y)、S8に戻り、新たな操作対象キャラクタに対応するシュート発動エリアA1が設定される。
一方、操作対象キャラクタが切り替わったと判定されない場合(S10;N)、制御部11は、ゲーム状況データDTに基づいて、操作対象キャラクタUCがシュート発動エリアA1内にいるか否かを判定する(S11)。S11においては、制御部11は、操作対象キャラクタの現在位置がシュート発動エリアA1に含まれるかを判定する。
操作対象キャラクタがシュート発動エリアA1内にいると判定されない場合(S11;N)、制御部11は、対戦相手チームにボールが奪われたかを判定する(S12)。S12においては、制御部11は、ゲーム状況データに基づいて、ユーザチームがボールを保有する状態から対戦相手チームがボールを保有する状態に変化したかを判定する。なお、ユーザチームがボールを保有する状態で、対戦相手キャラクタが所定距離未満まで近づくと、所与の確率のもとでボールが奪われるものとする。
対戦相手チームにボールが奪われたと判定された場合(S12;Y)、制御部11は、ユーザが操作可能な期間が終了したかを判定する(S13)。ユーザが操作可能な期間は、固定値であってもよいし、試合の状況に応じた可変値であってもよい。制御部11は、S3において操作可能な状況になったと判定された場合に計時を開始し、当該期間が経過したかを判定すればよい。ユーザが操作可能な期間が終了したと判定された場合(S13;Y)、図20のS1の処理に戻り、再び試合が自動的に進行する。一方、ユーザが操作可能な期間が終了したと判定されない場合(S13;N)、S9の処理に戻る。この場合、例えば、対戦相手チームにボールが奪われたり、ユーザチームが得点したりするまで、ユーザが操作可能な状態が継続されるようにしてよい。
一方、S11において、シュート発動エリアA1にいると判定された場合(S11;Y)、制御部11は、ゲーム状況データDT1に基づいて、操作対象キャラクタがシュート可能な状態であるかを判定する(S14)。シュート可能な状態とは、予め定められた状態であってよく、例えば、シュートコースが対戦相手チームのゴールキーパーでふさがれていない状態、対戦相手キャラクタがボールを奪う動作をしていない状態、又は、操作対象キャラクタがシュート可能な所定の姿勢である状態などである。
シュートが可能な状態であると判定されない場合(S14;N)、シュートモードに移行することができないので、S9の処理に移行する。一方、シュートが可能な状態であると判定された場合(S14;Y)、制御部11は、シュート可能通知N1を表示させる(S15)。S15においては、制御部11は、操作対象キャラクタの付近にシュート可能通知N1を表示させる(図4又は図5のG1Dの状態)。
制御部11は、タッチパネル14Aの検出信号に基づいて、ユーザがタップ操作をしたかを判定する(S16)。S16においては、制御部11は、表示領域内の一部の領域においてタップ操作がなされたかを判定してもよいし、特に領域は関係なくタップ操作がなされたかを判定してもよい。
ユーザがタップ操作をしたと判定されない場合(S16;N)、S9の処理に移行する。一方、ユーザがタップ操作をしたと判定された場合(S16;Y)、制御部11は、所定の演出表示をして(図5のG1Eの状態)、操作対象キャラクタの特殊能力通知N2を表示させる(S17)。なお、制御部11は、キャラクタデータDT2に基づいて、操作対象キャラクタが特殊能力を有しているかを判定すればよい。操作対象キャラクタが特殊能力を有していない場合には、特殊能力通知N2は表示されない。
図22に移り、制御部11は、ゲーム状況データDT1に基づいて、仮想視点の位置及び視線方向を決定する(S18)。S18においては、制御部11は、操作対象キャラクタと対戦相手チームのゴールマウスとが仮想世界画像G1において重ならないように、仮想視点の位置及び視線方向を決定する。例えば、制御部11は、仮想視点から操作対象キャラクタに向けた線上に対戦相手チームのゴールマウスがないように、仮想視点の位置及び視線方向を決定する。
制御部11は、操作対象キャラクタの特殊能力に基づいて、必殺シュートをするか決定する(S19)。S19においては、制御部11は、キャラクタデータDT2を参照して操作対象キャラクタの特殊能力を特定し、操作対象キャラクタが特定種類の特殊能力を保有している場合に必殺シュートをすると決定し、操作対象キャラクタが特定種類の特殊能力を保有していない場合に必殺シュートをしないと決定する。
制御部11は、S19の決定結果、ゴールキーパーの対戦相手キャラクタの位置、及び操作対象キャラクタの能力に基づいて、目標位置画像G10の初期表示位置を決定する(S20)。S20においては、図12を参照して説明した処理が実行される。例えば、制御部11は、必殺シュートをすると決定された場合は、ゴールマウスの中心点又はその付近を初期目標位置として決定する。一方、制御部11は、必殺シュートをすると決定されない場合は、操作対象キャラクタの能力に対応する候補領域AC1〜AC7の何れかの中の初期目標位置を決定する。制御部11は、これら決定した初期目標位置に対応する表示領域上の位置を初期表示位置として決定する。
制御部11は、操作対象キャラクタの能力(例えば、キックパラメータ)に基づいて、目標位置画像G10のサイズを決定する(S21)。S21においては、図15を参照して説明した処理が実行される。例えば、制御部11は、操作対象キャラクタの能力が高いほど目標位置画像G10のサイズが小さくなり、操作対象キャラクタの能力が低いほど目標位置画像G10のサイズが大きくなるように、目標位置画像G10のサイズを決定する。
制御部11は、S19で決定した仮想視点に基づいて、仮想世界画像G1を表示させる(S22)。S22においては、制御部11は、ジオメトリ処理を実行して仮想世界画像G1を生成し、表示部15に表示させる。制御部11は、S20で決定した初期表示位置と、S21で決定したサイズと、に基づいて、目標位置画像G10を表示させる(S23)。制御部11は、ボールの現在位置と目標位置とに基づいて予想軌道を計算し、軌道画像G11を表示させる(S24)。S22〜S24の処理が実行されると、仮想世界画像G1は、図5及び図6のG1Fの状態となる。
制御部11は、ゴールラインの位置に基づいて、ボールの移動制限領域を設定する(S25)。S25においては、制御部11は、ゲーム状況データDT1に基づいて、仮想世界におけるゴールラインの位置を特定し、仮想視点から見てゴールラインよりも下の領域(例えば、ピッチ上の領域)を移動制限領域として設定する。S25において設定された移動制限領域は、記憶部12に記録される。なお、制御部11は、仮想世界におけるゴールラインの位置に対応する画面上の位置を特定し、当該位置よりも下の画面上の領域を移動制限領域として特定してもよい。
制御部11は、ゲーム状況データDT1及びキャラクタデータDT2に基づいて、ジャストタイミングを決定する(S26)。S26においては、制御部11は、キャラクタの能力や試合の残り時間などの各項目に基づいてジャストタイミングレベルを計算し、ジャストタイミングレベルに応じたジャストタイミング(図13)を取得する。制御部11は、取得したジャストタイミングを記憶部12に記録する。
制御部11は、タッチパネル14Aの検出信号に基づいて、ユーザがタッチパネル14Aをタッチしたかを判定する(S27)。タッチしたと判定されない場合(S27;N)、再びS27に戻り、ユーザのタッチが待ち受けられる。なお、ユーザが一定時間以上タッチしなかった場合は、制御部11は、タッチしたものとみなしてS28以降の処理に移行してもよい。
一方、タッチしたと判定された場合(S27;Y)、図23に移行し、制御部11は、案内画像G12を表示させ(S28)、案内画像G12の収縮を開始する(S29)。S28においては、制御部11は、目標位置画像G10の表示位置と同じ位置に、最大サイズの案内画像G12を表示させる(図6のG1Gの状態及び図14のフレームF1の状態)。S29における収縮は、画像に設定される拡大率や幅を変更すればよい。
制御部11は、タッチパネル14Aの検出信号に基づいて、ユーザがスライド操作をしたかを判定する(S30)。スライド操作の検知方法自体は、公知の方法を適用可能であり、例えば、制御部11は、オペレーティングシステムがスライド操作を示すイベントを検知したかを判定してもよいし、タッチ位置が所定速度以上で移動したかを判定してもよい。
ユーザがスライド操作をしたと判定された場合(S30;Y)、制御部11は、スライド操作に基づいて、目標位置画像G10の表示位置を変更する(S31)。S31においては、制御部11は、スライド操作によるスライド方向に、目標位置画像G10の表示位置を変更する。制御部11は、スライド操作によるスライド量が増えるほど、目標位置画像G10の表示位置の変更量を多くする。なお、案内画像G12は目標位置画像G10と同じ表示位置なので、S31においては、制御部11は、スライド操作に基づいて案内画像G12の表示位置も変更することになる。
制御部11は、タッチパネル14Aの検出信号に基づいて、ユーザがタッチを解除したかを判定する(S32)。S32においては、制御部11は、オペレーティングシステムがタッチ解除を示すイベントを検知したかを判定してもよいし、タッチ位置が取得されなくなったかを判定してもよい。
ユーザがタッチを解除したと判定された場合(S32;Y)、制御部11は、現在のフレームがジャストタイミングであるかを判定する(S33)。S33においては、制御部11は、S27においてタッチされたと判定された時点のフレームを起点として、そこから経過したフレームをカウントする。そして、制御部11は、現時点のフレーム数を特定し、S26で決定したジャストタイミングに含まれるかを判定することになる。
現在のフレームがジャストタイミングであると判定された場合(S33;Y)、制御部11は、ゲーム状況データDT1に基づいて、ジャストタイミングシュートの軌道を決定する(S34)。S34においては、制御部11は、軌道を計算するためのアルゴリズムに基づいて、ボールの現在位置を出発し目標位置画像G10が示す目標位置を通るような軌道を計算する。そして、制御部11は、キックの強さを通常よりも強くする。キックが強いほどボールの移動速度は速くなる。
制御部11は、ジャストタイミング用の評価画像G13Bを表示させ(S35)、制御部11は、ジャストタイミングシュート用のエフェクトを実行する(S36)。図17を参照して説明したように、S35及びS36においては、制御部11は、「ジャスト!」という評価画像G13Bを目標位置画像G10及び案内画像G12の付近に表示させ、着弾点カーソルG10Aが中央に集まり、案内画像G12が広がるようなエフェクトを実行する。
制御部11は、シュート用のモーションデータを再生することによって、操作対象キャラクタにシュートさせる(S37)。なお、ジャストタイミングシュート用のモーションデータと、通常シュート用のモーションデータと、は同じであってもよいし、異なってもよい。操作対象キャラクタがシュートすると、制御部11は、シュートの軌道に基づいて、ボールの現在位置、移動方向、及び移動速度を更新する。
制御部11は、ボールの当たり判定をオフにする(S38)。S38においては、制御部11は、当たり判定をオフにするための所定のコマンドを実行することによって、ボールの当たり判定をオフにする。これにより、ボールがユーザキャラクタ又は対戦相手キャラクタの内部に侵入し、跳ね返らずにそのまま突き抜けることが可能となる。
制御部11は、シュート結果に応じた処理を実行し(S39)、S1の処理に戻る。シュート結果に応じた処理とは、シュートにより得点が発生するかを決定する処理であり、例えば、対戦相手キャラクタがシュートを防いだか否かを判定する処理であってよい。制御部11は、シュートが決まったという結果を得た場合には、得点を発生させ、シュートが決まったという結果を得なかった場合には、得点を発生させない。なお、操作対象キャラクタがシュートした後にS1の処理ではなくS9の処理に戻り、ユーザが操作可能な状態が継続されてもよい。
一方、S33において、現在のフレームがジャストタイミングであると判定されない場合(S33;N)、制御部11は、操作対象キャラクタの能力(例えば、キックパラメータ)に基づいて、通常シュートの軌道を決定する(S40)。S40においては、制御部11は、目標位置画像G10が示す目標位置を、操作対象キャラクタの能力に応じた距離だけ移動させた位置をボールの着弾点として決定する。そして、制御部11は、軌道を計算するためのアルゴリズムに基づいて、ボールの現在位置を出発し当該着弾点を通るような軌道を計算する。なお、ジャストタイミングシュートとは異なり、制御部11は、キックを特に強くしない。
制御部11は、ジャストタイミングではないことを示す評価画像G13A又はG13Cを表示させ(S41)、S37の処理に移行する。図16を参照して説明したように、S41においては、制御部11は、タッチが実際に解除されたタイミングとジャストタイミングとのずれに基づいて、「はやい!」という評価画像G13A又は「おそい!」という評価画像G13Cを、目標位置画像G10及び案内画像G12の付近に表示させる。
一方、S32において、ユーザがタッチを解除したと判定されない場合(S32;Y)、制御部11は、サイクル内の最終フレームFNになったかを判定する(S42)。S42においては、制御部11は、現時点のフレームが最終フレームFNになったかを判定する。最終フレームFNになったと判定されない場合(S42;N)、案内画像G12の収縮が継続され、S30の処理に戻る。一方、最終フレームFNになったと判定された場合(S42;Y)、制御部11は、タイミングリングを最大サイズに戻る(S43)。そして、制御部11は、次のジャストタイミングを設定し(S44)、S29の処理に戻り、次のサイクルに移行する。S43及びS44の処理は、それぞれS28及びS26と同様である。
以上説明したゲーム制御装置10によれば、ボールを移動させるために、ユーザが指示した目標位置だけでなく、タッチが解除されたタイミングも考慮されるので、ユーザに要求する操作の難易度を高めることができ、ユーザがタッチパネル14Aを使ってボールの移動を指示するゲームの興趣性を向上させることができる。また、ボールの移動方法と、案内画像G12と目標位置画像G10との重なり方と、が対応することによって、ボールの移動を、より直観的な方法でユーザに指示させることができる。更に、タッチパネル14Aをタッチしてタッチ位置を変更させてタッチを解除するという一連の操作により、目標位置の指示とボールの移動の指示をすることができるので、ボールを移動させるための操作のステップ数を減らし、操作の冗長性を減らすことができる。
また、ユーザがスライド操作をした場合に目標位置画像G10とともに案内画像G12の表示位置が変更され、ユーザは、目標位置画像G10を見ながら案内画像G12も見ることができるので、ジャストタイミングをユーザに把握させやすくなる。
また、ジャストタイミングが近づくにつれて、目標位置画像G10のサイズに近づくように案内画像G12のサイズが変化するので、ジャストタイミングをユーザに直感的に把握させることができる。
また、ジャストタイミングが訪れてもタッチが解除されなかった場合に新たなジャストタイミングが設定されるので、ユーザが好きなタイミングでボールの移動を指示することができる。このため、ユーザが目標位置をじっくりと指定することができる。
また、シュート可能通知N1により、移動制御部107による移動(即ち、シュートモードへの移行)が許可されているかどうかをユーザがゲームのプレイ中に容易に把握できるようになる。このため、当該移動が許可されていないような状況でタッチパネル14Aに対して無駄な操作が行われてしまうことを防止することができる。
また、移動制御部107による移動が許可される状況(シュート可能通知N1が表示されている状況)において、ユーザが意志を持ってタップ操作をした場合に、シュートモードに移行することができるので、特にユーザが必要ないと思うときにシュートモードに移行してしまうことを防止することができる。更に、シュートモードに移行する場合に仮想世界画像G1の表示態様が変わることによって、シュートモードに移行することをユーザに把握させることができる。
また、操作対象キャラクタの能力によってシュートによるボールの着弾点が変わるので、ゲームの興趣性を高めることができる。
また、操作対象キャラクタの能力に基づいてボールが移動する場合に、特殊能力通知N2により、当該能力をユーザに把握させることができる。また、ユーザが意志を持ってタップ操作をした場合に、シュートモードに移行することができるので、特にユーザが必要ないと思うときにシュートモードに移行してしまうことを防止することができる。更に、シュートモードに移行する場合に仮想世界画像G1の表示態様が変わることによって、シュートモードに移行することをユーザに把握させることができる。更に、その際に操作対象キャラクタの能力を通知することで、より効果的に当該能力を把握させることができる。
また、ユーザがボールの移動を指示する状況において、仮想視点と操作対象キャラクタとが所定の位置関係となるので、例えば、操作対象キャラクタが邪魔な位置に表示されてしまうことを防止することができる。
また、目標位置画像G10のサイズにより、ボールが目標位置からどれだけずれた位置に移動する可能性があるかを把握させることができる。また、目標位置画像G10のサイズによって操作対象キャラクタの能力をユーザに把握させることもできる。
また、ボールの移動を制限する移動制限領域を設けることによって、ボールの移動が制限される位置を誤って目標位置として指定してしまうことを防止することができる。
また、軌道画像G11によってボールがどのような軌道で移動するのかをユーザに把握させることができる。
また、評価画像G13によって解除タイミングの良し悪しをユーザに把握させることができる。このため、ユーザは、次回以降の操作において、どのようなタイミングでタッチを解除すればよいかを検討することができる。
また、ジャストタイミングでタッチを解除すると所定のエフェクトが表示されるため、タッチが解除されたタイミングがジャストタイミングに近かったことをユーザが把握することができる。更に、ユーザは、この通知を見ることで、ユーザは自分の操作が良かったことを把握することができ、ユーザの満足度も高めることができる。
また、ゲームの状況によって目標位置の初期位置が変わるので、その後の目標位置の調整について、難易度を調整することができ、ゲームの興趣性を効果的に向上させることができる。
また、ボールの移動方法によって目標位置の初期位置が変わるので、その後の目標位置の調整について、難易度を調整することができ、ゲームの興趣性を効果的に向上させることができる。
また、ゲームの状況によってジャストタイミングが変わるので、操作が成功するかどうかの判断基準をゲームの状況に応じて変えることができ、ゲームの興趣性を効果的に向上させることができる。
また、操作対象キャラクタの能力によって、ボールが目標位置からどれだけずれるかを変えることができ、ゲームの興趣性を効果的に向上させることができる。
また、当たり判定を省略することによって、ボールがユーザキャラクタや対戦相手キャラクタに当たらないような特殊な移動のさせ方をすることができる。その結果、例えば、ユーザがせっかく難易度の高い操作を成功させたにもかかわらず、ボールがユーザキャラクタや対戦相手キャラクタに当たってしまい、ユーザの思い通りに移動しなくなってしまうことを防止することができる。
[1−5.実施形態1の変形例]
なお、実施形態1に係る発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
例えば、カーブをかけたシュートや不規則な変化をする無回転シュートの場合には、目標位置が動的に変わるようにしてもよい。また例えば、シュートモードに移行する前に、ユーザが対戦相手チームのゴールに向けてフリック操作した場合は、シュートモードに移行することなく操作対象キャラクタにシュートをさせるようにしてもよい。また例えば、シュートモードに移行するのは、操作対象キャラクタがボールを保有している状況に限られず、セットプレイでヘディングシュートやボレーシュートをする場合にシュートモードに移行してもよい。また例えば、目標位置画像G10と案内画像G12が重なっている場合(即ち、ジャストタイミング中)は、目標位置画像G10の色が変わってもよい。また例えば、目標位置画像G10の着弾点カーソルG10Aの一部がゴールマウスから外れている場合はその部分の表示態様を変えてもよい。なお、案内画像G13は、案内画像G12が最大サイズで表示されている間は、案内画像G12を半透明にし、時間経過ともに透明度を落とすようにしてよい。
また例えば、案内画像G12は、最小サイズまで収縮した場合に、最大サイズに一度に戻るのではなく、最小サイズから最大サイズまで徐々に拡大してもよい。この場合、案内画像G12が拡大する途中でジャストタイミング画像G10Bと重なった場合にジャストタイミングが訪れるようにしてもよい。更に、案内画像G12が最大サイズまで拡大した場合に、再び最小サイズに向けて縮小を開始してもよい。また、ユーザがタッチを開始してから解除するまでの制限時間を設けてもよく、制限時間が経過した場合は、シュート操作が失敗したものとして、通常シュートが放たれるようにしてもよい。また例えば、ジャストタイミング画像G10Bと案内画像G12とが同じ太さであり、ジャストタイミングの期間中は、案内画像G12の収縮を停止してもよい。即ち、ジャストタイミング中において、ジャストタイミング画像G10Bと案内画像G12とが重なるようにすればよい。
また例えば、案内画像G12と目標位置画像G10の表示位置は所定の範囲内に含まれていなくてもよい。また例えば、特にシュート発動エリアA1を設けずに、任意の位置からシュートモードに移行できてもよい。また例えば、シュートモードに移行する場合に特に仮想世界画像G1の表示態様が切り替わらなくてもよい。また例えば、シュートモードに移行する場合に仮想視点はそのままであってもよい。また例えば、目標位置画像G10のサイズは能力に関係なく固定であってもよい。また例えば、移動制限領域が特に設けられていなくてもよい。また例えば、軌道画像G11や評価画像G13は表示させなくてもよい。また例えば、ジャストタイミングでタッチを解除しても特にエフェクトがなくてもよい。
また例えば、ゲーム制御装置10において実現される各機能は、サーバ30において実現されてもよい。例えば、サーバ30によって、データ記憶部100が実現されてもよい。この場合、データ記憶部100は、記憶部32を主として実現される。ゲーム制御装置10は、サーバ30からデータを受信することによって、ゲームを実行する。ゲーム制御装置10は、ゲームの実行結果をサーバ30に送信することによって、サーバ30が記憶する各データが更新される。
また例えば、サーバ30において、ゲームの主な処理が実行されるようにしてもよい。この場合、サーバ30が本発明に係るゲーム制御装置に相当する。例えば、実施形態1において、許可部101、範囲設定部102、初期表示位置決定部103、タイミング決定部104、表示制御部105、変更部106、移動制御部107、及び当たり判定実行部108がサーバ30で実現される場合、これらは制御部31を主として実現される。この場合、ゲーム制御装置10は、サーバ30から画像データを受信して仮想世界画像G1を表示部15に表示させる。また、ゲーム制御装置10は、操作部14及びタッチパネル14Aが受け付けた指示を示すデータをサーバ30に送信する。サーバ30は、当該データを受信することで、ユーザの指示を特定し、ゲームを実行すればよい。また例えば、ゲーム制御装置10とサーバ30とで各機能が分担されてもよい。この場合、各機能ブロックの処理結果が、ゲーム制御装置10とサーバ30との間で送受信されるようにすればよい。
[2.実施形態2]
次に、本発明に係る別実施形態を説明する。実施形態2では、実施形態1と同様のゲームが実行可能であってよく、実施形態1と同様の部分については説明を省略する。
[2−1.実施形態2における処理の概要]
実施形態1では、ユーザチームの攻撃時の処理を説明したが、実施形態2では、ユーザチームの守備時の処理を説明する。試合の進行方法自体は、実施形態1と同様であってよく、例えば、基本的に試合は自動で進行する。試合が自動で進行している間は、図3のような仮想世界画像G1が表示され、特にユーザが操作をすることなく、操作対象キャラクタ及び対戦相手キャラクタが行動する。例えば、対戦相手チームがユーザチームのゴール付近までボールを持ち込み、ユーザチームが失点する可能性のある重要な場面になると、仮想世界画像G1において、ユーザが操作可能な状態になった旨が通知される。
図24は、ユーザが操作可能な状態になる場合の画面遷移の一例を示す図である。図24に示すように、試合が自動で進行している場合(図24のG1Aの状態)に、ユーザが操作可能な状態になると、仮想世界画像G1に重畳するようにして、ユーザが操作可能な状態になったことを示すメッセージM4が表示される(図24のG1Jの状態)。メッセージM4は、守備に関する内容が表示される点以外は、実施形態1で説明したメッセージM2(図4)と同様の役割を果たす。メッセージM4は、所定のタイミングで消去され、操作対象キャラクタUCの足元にカーソルCが表示される(図24のG1Kの状態)。
なお、ここでは、守備時の操作なので、実施形態1とは異なり、操作対象キャラクタUCは、ボールBを保有するユーザキャラクタUCではなく、例えば、ボールBを保有しないユーザキャラクタUCとなる。操作対象キャラクタUCは、ボールBを保有する対戦相手キャラクタOCの最も近くにいるユーザキャラクタUCであってもよいし、ユーザが自由に操作対象キャラクタUCを切り替えることができてもよい。
ユーザは、タッチパネル14Aから所定の操作をして、失点しないように操作対象キャラクタUCにディフェンスさせる。例えば、ユーザがフリック操作をすると、操作対象キャラクタUCがスライド方向にスライディングする。また例えば、ユーザが長押し操作をすると、操作対象キャラクタUCが、ボールBを保有する対戦相手キャラクタOCに対してプレスをかける。なお、長押し操作は、例えば、ユーザがタッチパネル14Aをタッチした後に、タッチ位置を移動させずにタッチを維持することである。また例えば、操作対象キャラクタUCがボールBを奪取した後に、ユーザがタップ操作をすると、操作対象キャラクタUCはボールBをクリアする。
上記のように、ユーザは、例えば、フリック操作、長押し操作、及びタップ操作をすることで、操作対象キャラクタUCにディフェンスさせることができる。なお、実施形態1と同様、ユーザが操作可能な状態は、一定時間が経過した場合に終了してもよいし、他の任意のタイミングで終了してもよい。任意のタイミングとは、例えば、ボールBをクリアしてピンチを脱したタイミング、又は、対戦相手チームの攻撃を防ぎきれずに失点したタイミングである。
実施形態2では、ユーザチームのゴールGL付近までボールBが持ち込まれ、対戦相手キャラクタOCがシュートの体勢に入ると、ユーザチームのゴールキーパーが操作対象キャラクタUCとなる。そして、所与の条件(詳細後述)のもとで、操作対象キャラクタUCがシュートをセービングするためのセービングモードに移行する。なお、セービングとは、シュートがゴールに入らないように防ぐ動作であり、ゴールを守る動作である。例えば、ボールをキャッチしたり手や足などで弾いたりすることがセービングである。
なお、セービングモードになった場合、試合の進行は、一時的に停止してもよいし、特に停止しなくてもよい。例えば、試合の進行が一時的に停止する場合には、操作対象キャラクタUCや対戦相手キャラクタOCは一時的に動作を停止する。また例えば、試合の進行が特に停止しない場合には、試合の進行が通常よりも遅くなり、操作対象キャラクタUCや対戦相手キャラクタOCがスローモーションで動作してもよい。
図25は、セービングモードに移行する場合の画面遷移の一例を示す図である。図25に示すように、対戦相手キャラクタOCがシュートの体勢に入ったりボールBをキックしたりした場合(図25のG1Lの状態)、シュートを放つ対戦相手キャラクタOCがアップで表示され、対戦相手キャラクタOCの足元に所定のエフェクトが実行される(図25のG1Mの状態)。なお、対戦相手キャラクタOCが特殊能力を有している場合には、このタイミングで当該特殊能力を示す特殊能力通知N3が表示されるようにしてよい。
その後、仮想視点VCが操作対象キャラクタUCに寄り、操作対象キャラクタUCの背後から、シュートを放つ対戦相手キャラクタOC及びボールBを覗くようなアングルに切り替わり(図25のG1Nの状態)、セービングモードへの移行が完了する。このアングルは、操作対象キャラクタUCと対戦相手キャラクタOCが重ならないアングルであり、ボールBを見やすい状態となる。なお、ゴールキーパーである操作対象キャラクタUCが特殊能力を有している場合には、このタイミングで当該特殊能力を示す特殊能力通知N4が表示されるようにしてよい。また、セービングモードに移行したことを示すメッセージM5、移動先を示す移動先画像G14、及び指示位置を示す指示位置画像G15も表示される。
移動先とは、例えば、ボールBが通過する位置又はボールBの着弾点であり、ボールBが将来移動する位置である。移動先は、実施形態1で説明した目標位置と似ているが、ここでは、目標位置は、操作対象キャラクタUCがシュートしたボールに対して用いて、移動先は、対戦相手キャラクタOCがシュートしたボールに対して用いる。本実施形態では、移動先は、仮想世界VWにおける3次元座標で示され、移動先画像G14の表示位置は、表示領域上の2次元座標で示される。このため、移動先画像G14の表示位置は、移動先が示す3次元座標に対応する画面上の2次元座標で示される。移動先画像G14は、例えば、移動先に基づいて表示位置が変わる画像であり、移動先を示すカーソル(ターゲット)の役割を果たす画像である。
指示位置とは、例えば、ユーザが指示した画面上の位置であり、操作対象キャラクタUCにセービングを指示する位置である。指示位置画像G15は、例えば、指示位置に基づいて表示位置が変わる画像であり、指示位置を示すカーソルの役割を果たす画像である。なお、指示位置画像G15は、例えば、操作対象キャラクタUCがキャッチ可能な範囲を示すものであり、ここでは、キーパーの手袋と十字形状である「+」マークとを含む。本実施形態では、操作対象キャラクタUCの能力によって、キャッチ可能な範囲が変わり、セービングが成功する確率も変わる。このため、操作対象キャラクタの能力によって、キャッチ可能な範囲が変わることを示すように、指示位置画像G15の手袋の間隔が変わるようになっている。この点の詳細は後述する。
セービングモードへの移行が完了すると、ユーザは、操作対象キャラクタUCにセービングさせるためのセービング操作を行う。セービング操作は、実施形態1のシュート操作と基本的な流れは同じであり、タッチパネル14Aをタッチしてスライド操作をするステップと、所定のタイミングでタッチを解除するステップと、の2つのステップを含む。実施形態1と同様、実施形態2でも、このタイミングをジャストタイミングと記載する。例えば、スライド操作は、指示位置を変えるために行われ、タッチの解除は、指示位置の決定を指示するために行われる。
図26は、セービング操作の一例を示す図である。図26に示すように、セービングモードに移行した場合(図26のG1Nの状態)に、ユーザがタッチパネル14Aをタッチすると、ジャストタイミングを案内するための案内画像G16が表示されて収縮を開始し、対戦相手キャラクタOCがシュートする(図26のG1Oの状態)。案内画像G16は、例えば、移動先画像G14よりもサイズが大きい状態で表示される。なお、案内画像G16は、セービングモードに移行したばかりの時点(即ち、ユーザがタッチを開始する前のG1Nの状態)で表示されてもよい。
その後、ユーザがタッチを維持したままスライド操作をすると、スライド方向に基づいて、指示位置画像G15の表示位置が変更される(図26のG1Pの状態)。ボールBは、移動先画像G14に向かって飛んでくるので、例えば、ユーザは、移動先画像G14に重なるように指示位置画像G15の表示位置を変更させる。例えば、ボールBが移動先画像G14を通過するタイミングは、ジャストタイミングと概ね合うようにしてよく、ユーザは、ボールBが移動先画像G14を通過する前に、移動先画像G14に指示位置画像G15を重ねることを目指す。
図26に示すように移動先画像G14は、ジャストタイミングが近づくにつれて(即ち、ボールBが近づくにつれて)、表示態様が変わるようになっている。例えば、移動先画像G14が表示されたばかりのとき(図26のG1N又はG1Oの状態)は、移動先画像G14は的を示す画像であるが、ジャストタイミングが近づくにつれて、的が半透明となり、ボールの画像が浮かび上がる(図26のG1Pの状態)。なお、図26では、移動先画像G14が半透明の状態を点線で示している。移動先画像G14の的の画像が半透明になり、ボールの画像が浮かび上がる様子の詳細は、後述の図33で説明する。案内画像G16は、浮かび上がった移動先画像G14のボールのサイズに近づくように収縮することになる。なお、案内画像G16と移動先画像G14とサイズ差によってジャストタイミングが案内される点は、実施形態1の案内画像G12と目標位置画像G10の関係と同様である。
本実施形態では、移動先画像G14に指示位置画像G15を重ねた状態で、ユーザがジャストタイミングでタッチを解除できたかどうかによって、セービング結果が変わるようになっている。例えば、移動先画像G14に指示位置画像G15をぴったりと重ねた状態で、ユーザがジャストタイミングでタッチを解除すると、操作対象キャラクタUCがボールBをキャッチする。この場合、操作対象キャラクタUCがボールBを完全にコントロールでき、対戦相手チームの攻撃を終わらせることができるので、セービングが最も成功した結果となる。
また例えば、指示位置画像G15が移動先画像G14から少しずれてしまったが、ユーザがジャストタイミングでタッチを解除できた場合は、操作対象キャラクタUCは、ボールBをパンチングすることができる。また例えば、ユーザが、移動先画像G14に指示位置画像G15をぴったりと重ねることはできたが、ジャストタイミングから少しずれたタイミングでタッチを解除してしまった場合も、操作対象キャラクタUCは、ボールBをパンチングすることができる。この場合、ゴールを守ることはできたが、対戦相手チームの攻撃を完全に終わらせることができなかったので、セービングがそれなりに成功した結果となる。
一方、ユーザが、移動先画像G14に指示位置画像G15を重ねられず、ジャストタイミングでタッチを解除できなかった場合は、操作対象キャラクタUCは、ボールBに触れることができない。この場合、シュートが決まってしまうため、セービングに失敗することになる。
なお、実施形態1と同様に、ユーザがタッチを解除することなくジャストタイミングが経過した場合に、次のジャストタイミングが設定されるようにしてもよいが、実施形態2では、次のジャストタイミングが設定されず、セービング操作に失敗したものとされる。このため、実施形態2では、実施形態1のようにタッチを解除するチャンスが何度もあるわけではなく、そのチャンスは1度きりとなる。このようにするのは、実施形態1のようにシュートの場面では、キッカーは自分の好きなときにシュートすることができるが、実施形態2のようにセービングの場面では、キーパーが好きなときにセービングできるわけではなく、向かってくるボールをセービングするチャンスは1回きりだからである。
上記のように、本実施形態では、セービングモードに移行すると、ユーザは、スライド操作によって指示位置画像G15の表示位置を変更して移動先画像G14に重ね合わせ、ジャストタイミングでタッチを解除することでセービングに成功することができる。図26に示すように、指示位置画像G15は、移動先画像G14までの移動距離がさほど大きくなく、かつ、シュートする場所がどこであったとしても案内画像G16によってジャストタイミングを把握しやすいため、操作が難しくなりすぎることを防止し、適度な難易度で遊ぶことができるようになっている。以降、この処理の詳細を説明する。なお、以降では、特に図面を参照する必要のないときは、ユーザキャラクタ、操作対象キャラクタ、及びボールなどの符号を省略する。
[2−2.実施形態2において実現される機能]
図27は、実施形態2における機能ブロック図である。図27に示すように、実施形態2では、実施形態1で説明したデータ記憶部100、初期表示位置決定部103、表示制御部105、変更部106、及び移動制御部107の他に、移動先決定部109、移動可否判定部110、及び作用決定部111が実現される。なお、データ記憶部100、初期表示位置決定部103、表示制御部105、変更部106、及び移動制御部107は、実施形態1で説明した機能と実施形態2で説明する機能との両方を有していてもよいし何れか片方の機能だけを有してもよい。
[2−2−1.データ記憶部]
データ記憶部100は、実施形態1と同様であってよく、例えば、ゲーム状況データDT1とキャラクタデータDT2を記憶する。
[2−2−2.移動先決定部]
移動先決定部109は、制御部11を主として実現される。移動先決定部109は、対戦相手キャラクタの能力(例えば、キックパラメータ)に基づいて、ボールの移動先を決定する。対戦相手キャラクタの能力とボールの移動先との関係は、数式形式、テーブル形式、又はプログラムコードの一部としてデータ記憶部100に記憶されるようにしてよい。移動先決定部109は、シュートをする対戦相手キャラクタの能力に関連付けられた移動先を取得する。
図28は、対戦相手キャラクタの能力とボールの移動先との関係を示す図である。図28では、仮想世界VWにおけるユーザチームのゴールGL付近の様子が示されている。初期表示位置決定部103は、予め定められた候補領域AC8〜AC11の何れかの中に移動先を設定する。例えば、移動先決定部109は、対戦相手キャラクタの能力に基づいて、候補領域AC8〜AC11の何れを選択し、その中に移動先を設定する。即ち、移動先決定部109は、対戦相手キャラクタOCの能力に基づいて、移動先を決定する。例えば、移動先決定部109は、対戦相手キャラクタの能力が高いほどゴールの端部に近い移動先を設定するようにしてよい。
例えば、移動先は、対戦相手キャラクタの能力が高い場合は、ゴールマウスの隅を狙いやすいように、候補領域AC11の中に移動先を設定する。また例えば、移動先決定部109は、対戦相手キャラクタの能力が中程度である場合は、シュートコースが多少甘くなるように、候補領域AC9又はAC10の何れかの中に移動先を設定する。また例えば、移動先決定部109は、対戦相手キャラクタの能力が低い場合は、候補領域AC8の中に移動先を設定する。
なお、移動先決定部109は、対戦相手キャラクタの能力だけでなく、対戦相手キャラクタ又はボールの位置に基づいて、移動先を決定するようにしてもよい。対戦相手キャラクタ又はボールの位置とボールの移動先との関係は、数式形式、テーブル形式、又はプログラムコードの一部としてデータ記憶部100に記憶されるようにしてよい。移動先決定部109は、対戦相手キャラクタ又はボールの位置に関連付けられた移動先を取得する。
図29は、対戦相手キャラクタ又はボールの位置とボールの移動先との関係を示す図である。図29は、仮想世界VWを上から見た様子を示す図である。図29に示すように、例えば、移動先決定部109は、ゴールマウスのうち対戦相手キャラクタOC又はボールBがある側(ニアサイド)を移動先として決定する。なお、移動先決定部109は、ゴールマウスのうち対戦相手キャラクタ又はボールがある方と逆側(ファーサイド)を移動先として決定してもよい。
[2−2−3.初期表示位置決定部]
初期表示位置決定部103は、ゲームの現在の状況に基づいて、指示位置画像G15の初期表示位置を決定する。ここでの状況とは、例えば、仮想世界の現在の様子である。また例えば、状況は、ボールをセービングする操作対象キャラクタの状態や能力であってもよいし、ボールを移動させる対戦相手キャラクタの状態や能力であってもよい。ここでの状態とは、位置や姿勢などである。初期表示位置とは、例えば、ユーザがタッチパネル14Aをタッチした時点における表示位置である。
ゲームの状況と目標位置画像G10の初期表示位置との関係は、数式形式、テーブル形式、又はプログラムコードの一部としてデータ記憶部100に記憶されるようにしてよい。初期表示位置決定部103は、現在の状況に関連付けられた初期表示位置を取得する。ここでは、初期表示位置決定部103が、操作対象キャラクタの位置と、移動先決定部109が決定した移動先と、に基づいて、指示位置画像G15の初期表示位置を決定する場合を説明する。例えば、初期表示位置決定部103は、操作対象キャラクタの表示位置と移動先画像G14の表示位置とに基づいて、指示位置画像G15の初期表示位置を決定する。
図30は、ゲームの状況と指示位置画像G15の初期表示位置との関係を示す図である。図30に示すように、例えば、初期表示位置決定部103は、操作対象キャラクタの表示位置と、移動先画像G14の表示位置と、の間(図30の点線上又はその付近)の位置を、指示位置画像G15の初期表示位置として決定する。この場合、初期表示位置決定部103は、操作対象キャラクタの表示位置と、移動先画像G14の表示位置と、の中点を初期表示位置としてもよいし、中点から離れた位置を初期表示位置としてもよい。中点から離れた位置とする場合には、初期表示位置決定部103は、操作対象キャラクタの能力(例えば、ディフェンスパラメータ)に応じてどれだけ離れた位置を指示位置画像G15の初期表示位置とするかを決定してもよい。この場合、例えば、初期表示位置決定部103は、操作対象キャラクタの能力が高いほど指示位置画像G15の初期表示位置が移動先画像G14に近づき、操作対象キャラクタの能力が低いほど指示位置画像G15の初期表示位置が操作対象キャラクタに近づくようにしてよい。
[2−2−4.移動可否判定部]
移動可否判定部110は、制御部11を主として実現される。移動可否判定部110は、ボールの現在位置に基づいて、目標領域に向けた移動が可能かを判定する。目標領域は、例えば、ボールが移動すると得点が入る領域であり、オブジェクトが移動するとゲームに勝利する領域である。本実施形態のようにスポーツゲームが実行される場合、目標領域は、スポーツにおけるゴールである。例えば、移動可否判定部110は、目標領域に基づいて定まる範囲内にボールがあるか否かを判定する。以降、当該範囲のことをセービング対象エリアという。
図31は、セービング対象エリアの一例を示す図である。図31では、2つあるゴールGLのうち左側にある方(Xw軸座標の小さい方)が、ユーザチームのゴールGLとする。例えば、セービング対象エリアA2は、自陣のうち、ユーザチームのゴールGL内の任意の位置P3から見て一定角度以上となる第1領域A21と、位置P3を中心として半径l3の円である第2領域A22と、を除外した領域となる。なお、第1領域A21を除外するのは、仮想視点の視野に入らない可能性があるからである。また、第2領域A22を除外するのは、例えば、ボールがゴールGLの至近距離にあり、シュートのこぼれ球を押し込むようなシーンでセービングモードに移行すると試合のテンポが悪くなるからである。
なお、セービング対象エリアA2は、図30の例に限られず、その形状及びサイズは任意であってよい。例えば、セービング対象エリアA2は、自陣から第1領域A21又は第2領域A22の何れかのみを除外した領域であってもよいし、自陣全てであってもよい。更に、セービング対象エリアA2は、扇方であってもよいし、正方形や長方形などの多角形であってもよいし、特に多角形ではない円形や楕円形などの任意の形状であってもよい。また、セービング対象エリアA2は、操作対象キャラクタや対戦相手キャラクタに関係なく固定であってもよいし、これらの能力に応じて可変であってもよい。
本実施形態では、表示制御部105、変更部106、及び作用決定部111は、移動可否判定部110により目標領域に向けた移動が可能であると判定された場合に処理を実行する。即ち、移動可否判定部110により目標領域に向けた移動が可能であると判定された場合にセービングモードに移行し、移動可否判定部110により目標領域に向けた移動が可能であると判定されない場合は、セービングモードに移行しない。
[2−2−5.移動制御部]
移動制御部107は、タッチパネル14Aがタッチされた後に、移動先に向けてボールの移動を開始する。移動制御部107は、ボールの現在位置と、移動先決定部109が決定した移動先と、に基づいてボールの軌道を決定する。ボールの軌道を決定するアルゴリズムは、データ記憶部100に予め記憶されるようにすればよい。このアルゴリズムは、現実世界の自然法則をもとに作成されてよい。例えば、移動制御部107は、アルゴリズムにより決定した軌道を通るようにボールを移動させる。
また例えば、移動制御部107は、対戦相手キャラクタの能力に基づいて、ボールを移動させるようにしてよい。例えば、移動制御部107は、対戦相手キャラクタの能力(例えば、キックパラメータ)に応じた距離だけ移動先からずれた位置にボールを移動させてもよい。また例えば、移動制御部107は、対戦相手キャラクタの能力に基づいて、ボールの移動速度や回転量を決定してもよい。
[2−2−6.表示制御部]
表示制御部105は、ボールが移動するゲームにおいて、ボールの移動先を示す移動先画像G14を表示させ、タッチパネル14Aがタッチされた場合に、タッチを解除すべきジャストタイミングを案内するための案内画像G16を変化させながら表示させる。
まず、移動先画像G14の表示制御を説明する。例えば、表示制御部105は、移動先決定部109が決定した移動先に基づいて、移動先画像G14の表示位置を決定する。表示制御部105は、移動先が示す仮想世界内の3次元座標を画面上の2次元座標に変換した位置をそのまま移動先画像G14の表示位置としてもよいが、本実施形態では、ボールの現在位置から移動先への軌道上の3次元座標を2次元座標に変換した位置を、移動先画像G14の表示位置として取得する。
図32は、移動先画像G14の表示位置を説明するための図である。図32は、仮想世界VWを上から見た様子を示す図である。本実施形態では、ボールBの現在位置から移動先Q3への軌道上に、操作点Q4とジャストタイミング点Q5とが設定される。操作点Q4は、例えば、ボールBが通過するまでにユーザの操作を確定する位置であり、ジャストタイミング点Q5は、例えば、移動先画像G14の表示位置の2次元座標に対応する仮想世界VW内の3次元座標である。操作点Q4及びジャストタイミング点Q5は、ボールBの軌道上の任意であってよいが、ここでは、ジャストタイミング点Q5は、操作点Q4よりも移動先Q3に近いものとする。
例えば、表示制御部105は、操作対象キャラクタUCと移動先Q3との距離に基づいて、操作点Q4を決定するようにしてよい。また例えば、表示制御部105は、移動先Q3にボールBがたどり着くと予想されるフレームの数フレーム前にボールBがあると予想される位置を操作点Q4としてもよい。この場合、表示制御部105は、操作対象キャラクタUCと移動先Q3との距離が遠いほど、操作点Q4がボールBに近くなるようにしてよい。このようにすれば、仮想視点の視野内に操作点Q4が収まりやすくなる。そして、表示制御部105は、操作点Q4から所定距離だけ移動先Q3の方に移動させた位置を、ジャストタイミング点Q5として取得する。表示制御部105は、ジャストタイミング点Q5の3次元座標を2次元座標に変換した位置を、移動先画像G14の表示位置として決定する。
また、先述したように、本実施形態では、ジャストタイミングが訪れるまでの間に、移動先画像G14の表示態様が変わるようになっている。図33は、移動先画像G14の変化を示す図である。図33に示すように、セービングモードに移行したばかりの時点では、移動先画像G14は、的を示す形状であるが(図33のG14Aの状態)、対戦相手キャラクタOCがシュートすると的の部分の透明度が上がり、その代わりに、円形のボールが浮かび上がる(図33のG14Bの状態)。その後、ボールBが移動先画像G14に近づくと、移動先画像G14は、的の部分が完全に透明になり、ボールの部分のみとなる(図33のG14Cの状態)。表示制御部105は、上記の処理をアルファブレンディングにより実現してよい。移動先画像G14のうちボールの輪郭部分は、ジャストタイミング時における案内画像G16のサイズを示す。このため、当該輪郭部分は、実施形態1で説明したジャストタイミング画像G10Bと同様の役割を果たす。
次に、案内画像G16の表示制御を説明する。例えば、表示制御部105は、タッチパネル14Aがタッチされたことをトリガーとして、案内画像G16の変化を開始する。案内画像G16は、実施形態1の案内画像G12と同様の役割を果たし、その表示態様の変化も同様であってよい。例えば、表示制御部105は、互いにサイズが異なる移動先画像G14と案内画像G16とを、所定の範囲内に含まれる表示位置に表示させる。また、表示制御部105は、案内画像G16のサイズが移動先画像G14のサイズに近づくように、案内画像G16を変化させる。所定の範囲の意味は、実施形態1で説明した通りである。
例えば、表示制御部105は、タッチパネル14Aがタッチされた場合に、互いにサイズが異なる案内画像G16と移動先画像G14とが所定の範囲内に含まれる表示位置に表示させる。表示制御部105は、案内画像G16のサイズが移動先画像G14のサイズに近づくように、案内画像G16を変化させる。表示制御部105は、ジャストタイミングが訪れるまでの時間が長いほど、案内画像G16と移動先画像G14とのサイズ差が大きくなり、当該時間が短いほど当該サイズ差が小さくなるように、案内画像G16を変化させる。
図34は、案内画像G16の制御方法を示す図である。なお、図34に示すt軸は時間軸である。ここでは、移動先画像G14とのサイズを比較しながら、案内画像G16の制御方法を説明する。実施形態1と同様、本実施形態でも、案内画像G16が最大サイズで表示されてから最小サイズになるまでのフレーム数が定められており、このフレーム数をN個とする。また例えば、各フレームの案内画像G16のサイズは、予め数式形式、テーブル形式、又はプログラムコードの一部としてデータ記憶部100に記憶されるようにしてよい。即ち、何フレーム目に、案内画像G16のサイズがどの程度であるかは、予めデータ記憶部100に定義しておけばよい。表示制御部105は、現フレームに関連付けられたサイズの案内画像G16を表示させる。
図34に示すように、表示制御部105は、ユーザがタッチを開始したフレームF1において、最大サイズの案内画像G16を表示させる。そして、表示制御部105は、ジャストタイミングが近づくにつれて、移動先画像G14の表示態様が徐々に変えつつ、案内画像G16を徐々に小さくする。なお、移動先画像G14は、ジャストタイミングの開始フレームFSの所定数だけ前のフレームFtにおいて、ボールに変化させればよい。
図34の例では、ジャストタイミングは、開始フレームFSの1フレームのみである。即ち、この1フレームだけ、移動先画像G14と案内画像G16とが重なった状態となる。このため、ジャストタイミングの開始フレームFSにおいて、表示制御部105は、案内画像G16の外周及び内周と、移動先画像G14が示すボールの輪郭部分の外周及び内周と、を一致させる。なお、実施形態1で説明した図14の例では、ジャストタイミングが3フレーム分存在したため、案内画像G12の太さとジャストタイミング画像G10Bの太さとを異ならせたが、図33のように、ジャストタイミングが1フレームだけの場合には、特に太さを異ならせる必要がないため、案内画像G16の太さと移動先画像G14の輪郭部分の太さとを同じにし、ジャストタイミングにおいて、これらが完全に重なるようにしてよい。
ジャストタイミングの終了フレームFFが訪れると、表示制御部105は、案内画像G16の外周が移動先画像G14の内周よりも小さくなるように、案内画像G16を縮小させる。このため、終了フレームFFになると、移動先画像G14と案内画像G16とが重ならなくなる。その後、表示制御部105は、最終フレームFNが近づくにつれて最小サイズに近づくように、案内画像G16を徐々に小さくする。そして、最終フレームFNにおいて、表示制御部105は、案内画像G16を最小サイズで表示させる。
なお、表示制御部105は、上記説明した案内画像G16の表示制御以外にも、表示部15に表示させる種々の画像の表示制御を実行可能である。例えば、実施形態1と同様、表示制御部105は、仮想世界を仮想視点から見た様子を示す仮想世界画像G1を表示部に表示させるようにしてよい。また例えば、表示制御部105は、仮想世界の様子を示す仮想世界画像G1を第1の表示態様で表示部に表示させるようにしてよい。表示制御部105は、ボールが移動先に移動する場合に、仮想世界画像G1を第2の表示態様に切り替えるようにしてよい。第1の表示態様と第2の表示態様の意味は、実施形態1で説明した通りである。
例えば、表示制御部105は、仮想世界画像G1を第2の表示態様に切り替える場合に、対戦相手キャラクタの能力を通知するようにしてよい。この場合に通知される能力は、対戦相手キャラクタの能力パラメータであってもよいが、本実施形態では、表示制御部105は、対戦相手キャラクタの特殊能力を通知するものとする。表示制御部105は、特殊能力通知N3(図25のG1Mの状態)を表示させることによって通知を行う。
また例えば、表示制御部105は、操作対象キャラクタの能力を通知するようにしてもよい。この場合に通知される能力は、操作対象キャラクタの能力パラメータであってもよいが、本実施形態では、表示制御部105は、操作対象キャラクタの特殊能力を通知するものとする。表示制御部105は、特殊能力通知N4(図25のG1Nの状態)を表示させることによって通知を行う。
また例えば、表示制御部105は、タッチパネル14Aがタッチされる場合に、仮想世界画像G1において、操作対象キャラクタ、対戦相手キャラクタ、及び指示位置画像G15が重ならないように、仮想視点を制御する。所定の位置関係とは、例えば、セービングするためにキャラクタなどが邪魔にならないような位置関係である。本実施形態のようにボールを所定領域内に移動させるゲームの場合、例えば、仮想視点とボールとの間にキャラクタが配置されないような位置関係である。例えば、表示制御部105は、仮想世界画像G1において、操作対象キャラクタと、対戦相手キャラクタと、が重ならない位置に仮想視点を配置する。この処理の詳細は、後述の実施形態3で説明する。
また例えば、表示制御部105は、操作対象キャラクタの能力(例えば、ディフェンスパラメータ)に基づいて、指示位置画像G15の表示態様を決定するようにしてもよい。能力と指示位置画像G15の表示態様との関係は、数式形式、テーブル形式、又はプログラムコードの一部としてデータ記憶部100に記憶されるようにしてよい。表示制御部105は、操作対象キャラクタの能力に関連付けられた表示態様で指示位置画像G15を表示させる。
図35は、能力と指示位置画像G15の表示態様との関係を示す図である。図35に示すように、例えば、表示制御部105は、操作対象キャラクタの能力が高いほど、指示位置画像G15の手袋のサイズが大きくなり、かつ、手袋の間隔が広くなるように、指示位置画像G15の表示態様を決定する。また例えば、表示制御部105は、操作対象キャラクタの能力が低いほど、指示位置画像G15の手袋のサイズが小さくなり、かつ、手袋の間隔が狭くなるように、指示位置画像G15の表示態様を決定する。即ち、表示制御部105は、操作対象キャラクタの能力が高いほど、移動先画像G14と指示位置画像G15とが重なりやすくし、操作対象キャラクタの能力が低いほど、移動先画像G14と指示位置画像G15とが重なりにくくする。
また例えば、表示制御部105は、移動先画像G14と指示位置画像G15のずれ方に基づいて、移動先画像G14及び指示位置画像G15の少なくとも一方を変化させるようにしてもよい。表示制御部105は、移動先画像G14と指示位置画像G15が重なっている場合と、移動先画像G14と指示位置画像G15がずれている場合と、で移動先画像G14及び指示位置画像G15の少なくとも一方の表示態様を異ならせる。ここでは、これら両方の表示態様が変化する場合を説明する。なお、表示制御部105は、移動先画像G14の表示位置と、指示位置画像G15の表示位置と、の距離が閾値以上であるかを判定することによって、これらがずれているか重なっているかを判定するようにしてよい。例えば、表示制御部105は、移動先画像G14のボールの中心点と、指示位置画像G15の「+」マークの中心点と、の距離が閾値以上であるかを判定することによって、これらがずれているか重なっているかを判定する。
図36は、移動先画像G14の表示態様が変わる様子を示す図である。なお、図36では、移動先画像G14の輝度を模式的に点線と実線で示しており、点線は輝度が低いことを示し、実線は輝度が高いことを示す。図36に示すように、表示制御部105は、移動先画像G14と指示位置画像G15とのずれが大きくこれらが重なる前は、移動先画像G14の輝度を低くし、これらのずれが小さく重なった後は、移動先画像G14の輝度を高くする。即ち、表示制御部105は、移動先画像G14と指示位置画像G15とが重なると、移動先画像G14を光らせるようにしてよい。
図37は、指示位置画像G15の表示態様が変わる様子を示す図である。なお、図37では、指示位置画像G15の輝度を模式的に線の太さ示しており、細い線は輝度が低いことを示し、太い線は輝度が高いことを示す。図37に示すように、表示制御部105は、指示位置画像G15と移動先画像G14とのずれが大きくこれらが重なる前は、指示位置画像G15の輝度を低くし、これらのずれが小さく重なった後は、指示位置画像G15の輝度を高くする。即ち、表示制御部105は、指示位置画像G15と移動先画像G14とが重なると、指示位置画像G15を光らせるようにしてよい。
また例えば、表示制御部105は、タッチパネル14Aへのタッチが解除された場合に、タッチが解除されたタイミングの評価を示す評価画像を表示させる。この案内画像は、実施形態1の案内画像G12と同様の役割を果たし、その表示態様の変化も同様であってよい。即ち、評価画像は、タッチを解除したタイミングがジャストタイミングに対して早かったか遅かったかを示す画像であり、次のセービング操作の参考にするための画像といえる。
図38は、評価画像の一例を示す図である。図38に示すように、例えば、ユーザがタッチを解除したタイミングがジャストタイミングに対して早かった場合には、「はやい!」というメッセージを示す評価画像G17Aが表示される。また例えば、ユーザがジャストタイミングでタッチを解除した場合には、「ジャスト!」というメッセージを示す評価画像G17Bが表示される。また例えば、ユーザがタッチを解除したタイミングがジャストタイミングに対して遅かった場合には、「おそい!」というメッセージを示す評価画像G17Cが表示される。以降、評価画像G17A〜G17Cを区別する必要のないときは、評価画像G17と記載する。評価画像G17の表示位置は任意であってよいが、ここでは、ユーザが確認しやすいように、移動先画像G14付近とする。
なお、表示制御部105は、ジャストタイミングでタッチを解除できた場合は、実施形態1と同様、移動先画像G14及び案内画像G16の表示態様の変化によって、その旨が通知されるようにしてよい。
また例えば、表示制御部105は、ボールが移動先に向けて移動する場合に、現在位置よりも移動先に近い位置にボールが配置されているように、ボールを表示させるようにしてもよい。即ち、表示制御部105は、ボールの実際の位置よりも移動先に近い位置にボールを表示させるようにしてよい。例えば、表示制御部105は、仮想世界VWにおける実際のボールの位置よりも移動先に近い位置に、仮想的なボールを配置し、その位置にある仮想的なボールを仮想世界画像G1において表示させるようにしてよい。
[2−2−7.変更部]
変更部106は、タッチパネルがタッチされた状態でタッチ位置が変更された場合に、当該タッチ位置の変更に基づいて、ボールに対して作用を及ぼすための指示位置を示す指示位置画像G15の表示位置を変更する。例えば、変更部106は、タッチ位置が変更された方向及び変更量に基づいて、指示位置画像G15の表示位置を変更する。例えば、変更部106は、過去の時点のタッチ位置と現時点のタッチ位置とを結ぶベクトルと、当該過去の時点の指示位置画像G15の表示位置と現時点の表示位置とを結ぶベクトルと、が対応するように、指示位置画像G15の表示位置を変更する。ベクトルが対応するという意味は、実施形態1で説明した通りである。
作用とは、例えば、ボールに対する動作であり、ボールに対して力が加わることである。例えば、ボールに触れることであり、ボールの速度が変わること、ボールが止まること、ボールの軌道が変わることである。キャラクタがボールを移動させるゲームであれば、キャラクタがボールを受け止める(キャッチ)すること、キャラクタがボールを弾くことである。受け止めるとは、ボールの移動を妨げることである。例えば、キャッチすることであってもよいし、抱え込むことであってもよい。弾くとは、ボールの移動方向を変えることである。例えば、キャラクタの体をボールに当てることである。キャラクタは、手で弾いてもよいし足で弾いてもよい。ジャストタイミングは、例えば、ボールに作用を及ぼすためのタイミングであり、ボールを受け止める又は弾くために定められたタイミングといえる。
なお、ボールは、キャラクタが作用を及ぼすものであってよい。また、本実施形態では、ボールは、仮想世界において、第1のキャラクタ(例えば、キッカーの対戦相手キャラクタ)が移動させ、第2のキャラクタ(例えば、ゴールキーパーの操作対象キャラクタ)が作用を及ぼすものである。また、ボールが目標領域内に移動することを防ぐゲームといえる。
[2−2−8.作用決定部]
作用決定部111は、タッチパネル14Aへのタッチが解除されたタイミングにおける、移動先画像G14と案内画像G16の重なり方と、移動先画像G14と指示位置画像G15のずれ方と、に応じて、ボールに及ぼす作用の内容を決定する。移動先画像G14と案内画像G16の重なり方と、移動先画像G14と指示位置画像G15のずれ方と、の少なくとも一方が変わると、ボールに及ぼす作用の内容が変わる。即ち、ボールに及ぼす作用の内容は、移動先画像G14と案内画像G16の重なり方と、移動先画像G14と指示位置画像G15のずれ方と、の両方と相関関係がある。
重なり方とは、例えば、2つの画像の表示位置の近さである。また例えば、2つの画像が重なっている領域(ピクセル)の広さや割合のことである。例えば、画像Aの代表位置と、画像Bの代表位置と、の近さである。代表位置は、画像内の位置であればよく、例えば、中心点である。例えば、2つの画像の表示位置の違いである。また例えば、2つの画像のうちの片方だけが表示される領域(ピクセル)の広さや割合のことである。例えば、画像Aの代表位置と、画像Bの代表位置と、の遠さである。なお、ずれ方が小さくなると画像が重なるので、ずれ方と重なり方は、対義語として使用してもよい。このため、ずれが大きいとは重なりが小さいことを意味し、ずれが小さいとは重なりが大きいことを意味する。本実施形態で「ずれ」と記載した部分は対義語の「重なり」と読み替えることができ、「重なり」と記載した部分は対義語の「ずれ」と読み替えることができる。
作用の内容とは、例えば、作用が成功したか失敗したかである。また例えば、複数種類の作用を及ぼすことが可能な場合には、実際にオブジェクトに及ぼす種類のことである。例えば、重なり方及びずれ方の少なくとも一方が変わると、作用の内容が変わる。別の言い方をすれば、重なり方と作用の内容とに関連性があることである。例えば、重なり具合が小さいと作用が失敗し、重なり具合が大きいと作用が成功する。また例えば、ずれ方が大きいと作用が失敗し、ずれ方が小さいと作用が成功する。
本実施形態では、作用決定部111は、移動先画像G14と案内画像G16の重なり方に対応するタイミング判定値と、移動先画像G14と指示位置画像G15のずれ方に対応するずれ判定値と、を計算し、タイミング判定値とずれ判定値とに基づいて、ボールに及ぼす作用の内容を決定する場合を説明する。
タイミング判定値は、例えば、タッチが解除されたタイミングと、ジャストタイミングと、がどの程度ずれているかを示すものであり、これらのフレームの差に基づいて算出される。例えば、タイミング判定値は、タッチが解除されたタイミングと、ジャストタイミングと、の差が小さいほど高い値となる。例えば、作用決定部111は、タッチが解除されたタイミングと、ジャストタイミングと、の時間差(ここではフレーム差)を所定の数式に代入することでタイミング判定値を計算する。
ずれ判定値は、例えば、タッチが解除されたタイミングで移動先画像G14の表示位置と指示位置画像G15の表示位置とがどの程度ずれているかを示し、例えば、これらの画像の中心点の距離である。また例えば、移動先画像G14の中心点が指示位置画像G15の半径何%のところにあるかに基づいて、ずれ判定値が計算されてもよい。例えば、ずれ判定値は、これらの画像の表示位置のずれが小さいほど高い値となる。例えば、作用決定部111は、タッチが解除されたタイミングにおける移動先画像G14の表示位置と案内画像G16の表示位置との距離を所定の数式に代入することでずれ判定値を計算する。
例えば、作用決定部111は、タイミング判定値とずれ判定値に基づいて総合判定値を計算し、当該総合判定値に基づいて、キャッチが成功するか、パンチングが成功するか、セービングに失敗するか、を決定する。総合判定値は、タイミング判定値とずれ判定値を所定の数式に代入することで計算されるようにすればよい。また例えば、総合判定値と、キャッチ又はパンチングの成功率と、の関係は、数式形式、テーブル形式、又はプログラムコードの一部としてデータ記憶部100に記憶されるようにしてよい。作用決定部111は、総合判定値に関連付けられた成功率に基づいて、キャッチングをさせるか、パンチングをさせるか、セービングを失敗させるか、を決定する。
例えば、作用決定部111は、操作対象キャラクタの能力(例えば、ディフェンスパラメータ)に更に基づいて、ボールに作用を及ぼすのに成功するかを決定するようにしてもよい。例えば、作用決定部111は、操作対象キャラクタの能力が高いほどボールに作用を及ぼすのに成功させ、操作対象キャラクタの能力が低いほどボールに作用を及ぼすのに失敗させる。作用決定部111は、操作対象キャラクタの能力に基づいてキャッチ又はパンチングの成功率を変化させるようにしてよい。
また例えば、作用決定部111は、操作対象キャラクタの能力(例えば、ディフェンスパラメータ)に更に基づいて、ボールに及ぼす作用の内容を決定するようにしてもよい。例えば、能力と作用の内容との関係は、数式形式、テーブル形式、又はプログラムコードの一部としてデータ記憶部100に記憶されるようにしてよい。操作対象キャラクタの能力に関連付けられた内容をするように決定する。本実施形態では、ボールに及ぼす作用は、ボールを受け止める又は弾くことであるので、作用決定部111は、ボールを受け止めるか弾くかを決定することになる。例えば、作用決定部111は、操作対象キャラクタの能力が閾値以上の場合にキャッチを選択し、操作対象キャラクタの能力が閾値未満の場合にパンチングを選択してもよい。
[2−3.ゲーム制御装置において実行される処理]
実施形態2では、実施形態1で説明した処理(図20−図23)と同様の処理が実行されてよい。実施形態2では、守備時の処理を説明するので、実施形態1で説明を省略したS3の判定で守備時の操作が可能な状況になったと判定された場合の処理を説明する。
図39−図42は、ゲーム制御装置10で実行される処理の一例を示す図である。図20のS3において、守備時の操作が可能な状況になったと判定された場合(S3;守備)、図39に移行し、制御部11は、何れかのユーザキャラクタを操作対象キャラクタとして設定する(S50)。S50においては、制御部11は、ボールの最も近くにいるユーザキャラクタを操作対象キャラクタに設定するようにしてよい。
制御部11は、操作可能な状態になったことを示すメッセージM4を表示させ(S51)、その後に、操作対象キャラクタの足元にカーソルCを表示させる(S52)。S51の処理が実行されると、仮想世界画像G1は、図24のG1Jの状態となり、S52の処理が実行されると、仮想世界画像G1は、図24のG1Kの状態となる。
制御部11は、ピッチ上にセービング対象エリアA2を設定する(S53)。セービング対象エリアA2の位置及び形状は、予め記憶部12に記憶されるようにしてよい。Sにおいては、制御部11は、予め定められたセービング対象エリアA2を設定することになる。なお、セービング対象エリアA2は、操作対象キャラクタや対戦相手キャラクタの能力によって変わってもよい。
制御部11は、タッチパネル14Aの検出信号に基づいて、操作対象キャラクタを動作させる(S54)。S54においては、制御部11は、ユーザがフリック操作をした場合に、フリック方向に基づいて操作対象キャラクタにスライディングをさせ、ユーザが長押し操作をした場合に、対戦相手キャラクタにプレスをかける。また、制御部11は、操作対象キャラクタがボールを奪取した後に、ユーザがタップ操作をした場合に、操作対象キャラクタにクリアさせる。
制御部11は、対戦相手キャラクタがシュートをするかを判定する(S55)。操作対象キャラクタ以外のユーザキャラクタと対戦相手キャラクタは、予め定められたアルゴリズムに基づいて行動するため、S55においては、制御部11は、当該アルゴリズムにより対戦相手キャラクタにシュートの動作が選択されたかを判定することになる。
対戦相手キャラクタがシュートをすると判定されない場合(S55;N)、制御部11は、ユーザチームがボールを奪ったかを判定する(S56)。S56においては、制御部11は、ゲーム状況データDT1に基づいて、ユーザチームがボールを保有する状態から対戦相手チームがボールを保有する状態に変化したかを判定する。なお、ユーザチームがボールを保有する状態で、対戦相手キャラクタが所定距離未満まで近づくと、所与の確率のもとでボールが奪われるものとする。
ユーザチームがボールを奪ったと判定された場合(S56;Y)、制御部11は、ユーザが操作可能な期間が終了したかを判定する(S57)。S57の処理は、S13の処理と同様である。ユーザが操作可能な期間が終了したと判定された場合(S57;Y)、図20のS1の処理に戻り、再び試合が自動的に進行する。一方、ユーザが操作可能な期間が終了したと判定されない場合(S57;N)、S54の処理に戻る。この場合、例えば、ユーザチームがボールを奪ったり、ユーザチームが失点したりするまで、ユーザが操作可能な状態が継続されるようにしてよい。
一方、対戦相手キャラクタがシュートをすると判定された場合(S55;Y)、制御部11は、ゲーム状況データDT1に基づいて、セービング対象エリアA2内のシュートであるかを判定する(S58)。S58においては、制御部11は、ボールの現在位置がセービング対象エリアA2内であるかを判定することになる。セービング対象エリアA2内のシュートであると判定されない場合(S58;N)、S54の処理に戻る。この場合、特にセービングモードに移行することなく、対戦相手キャラクタがシュートし、ユーザは操作対象キャラクタを操作してディフェンスすることになる。
一方、セービング対象エリアA2内のシュートであると判定された場合(S58;Y)、制御部11は、シュートが所定の条件を満たすかを判定する(S59)。所定の条件は、セービングモードに移行するために定められた条件であり、例えば、シュートがゴールマウスに向かって移動する確率が高いことを示す条件である。例えば、シュートの移動先がゴールマウスの内部であること、キッカーの所定距離未満にユーザキャラクタがいないこと等である。
所定の条件を満たすと判定された場合、制御部11は、対戦相手キャラクタをアップにして所定の演出表示をし(図25のG1Mの状態)、対戦相手キャラクタの特殊能力通知N3を表示させる(S60)。なお、制御部11は、キャラクタデータDT2に基づいて、対戦相手キャラクタが特殊能力を有しているかを判定すればよい。対戦相手キャラクタが特殊能力を有していない場合には、対戦相手キャラクタがアップになるだけであり、特殊能力通知N3は表示されない。
図40に移り、制御部11は、操作対象キャラクタと対戦相手キャラクタとが重ならないように、仮想視点の位置及び視線方向を決定する(S61)。S61においては、制御部11は、操作対象キャラクタと対戦相手キャラクタとが仮想世界画像G1において重ならないように、仮想視点の位置及び視線方向を決定する。例えば、制御部11は、仮想視点から操作対象キャラクタに向けた線上に対戦相手キャラクタがないように、仮想視点の位置及び視線方向を決定する。
制御部11は、ボールの現在位置と対戦相手キャラクタの能力とに基づいて、ボールの移動先を決定する(S62)。S62においては、制御部11は、ゴールマウス内の各候補領域AC8〜AC11のうち、対戦相手キャラクタの能力に対応する何れかを選択し、その中の対戦相手キャラクタがいる側の任意の位置を移動先として決定する。
制御部11は、S62で決定した移動先に基づいて、移動先画像G14の表示位置を決定する(S63)。S63においては、制御部11は、ボールの現在位置とS62で決定した移動先とに基づいてボールの軌道を計算し、移動先から所定距離だけ手前の位置を操作点及びジャストタイミング点として取得する。制御部11は、ジャストタイミング点の3次元座標を2次元座標に変換した位置を、移動先画像G14の表示位置として決定する。操作点及びジャストタイミング点の3次元座標は、記憶部12に記録される。
制御部11は、操作対象キャラクタの表示位置、移動先画像G14の表示位置、及び操作対象キャラクタの能力に基づいて、指示位置画像G15の初期表示位置を決定する(S64)。S64においては、制御部11は、操作対象キャラクタの表示位置と移動先画像G14の表示位置を結ぶ線を特定する。そして、制御部11は、操作対象キャラクタの能力が高いほど移動先画像G14の表示位置に近い位置を指示位置画像G15の初期表示位置として決定し、操作対象キャラクタの能力が低いほど操作対象キャラクタの表示位置に近い位置を指示位置画像G15の初期表示位置として決定する。
制御部11は、操作対象キャラクタの能力に基づいて、指示位置画像G15の表示態様を決定する(S65)。S65においては、制御部11は、操作対象キャラクタの能力が高いほど指示位置画像G15のサイズが大きくなり、操作対象キャラクタの能力が低いほど指示位置画像G15のサイズが小さくなるように、指示位置画像G15の表示態様を決定する。
制御部11は、S61で決定した仮想視点に基づいて、仮想世界画像G1を表示させる(S66)。S66においては、制御部11は、ジオメトリ処理を実行して仮想世界画像G1(図25及び図26のG1Nの状態)を生成し、表示部15に表示させる。制御部11は、キャラクタデータDT2に基づいて、操作対象キャラクタの特殊能力通知N4を表示させる(S67)。なお、操作対象キャラクタが特殊能力を有していない場合には、特殊能力通知N4は表示されない。
制御部11は、ジャストタイミングを決定する(S68)。なお、ジャストタイミングは、予め固定されていてもよいが、ここでは、制御部11は、S65で決定した操作点に基づいて、ジャストタイミングを決定する。例えば、制御部11は、ボールの軌道から操作点を通過する時間を計算し、当該時間をジャストタイミングとして決定する。制御部11は、ボールの現在位置と操作点との距離と、ボールの予想速度と、に基づいて、操作点を通過する時間を計算し、ジャストタイミングとして決定すればよい。
制御部11は、タッチパネル14Aの検出信号に基づいて、ユーザがタッチしたかを判定する(S69)。タッチしたと判定されない場合(S69;N)、再びS69に戻り、ユーザのタッチが待ち受けられる。なお、ユーザが一定時間以上タッチしなかった場合は、制御部11は、タッチしたものとみなしてS70以降の処理に移行してもよい。
タッチしたと判定された場合(S69;Y)、図41に移り、制御部11は、案内画像G16を表示させ(S70)、案内画像G16の収縮を開始する(S71)。S70においては、制御部11は、移動先画像G14の表示位置と同じ位置に、最大サイズの案内画像G16を表示させる(図26のG1Oの状態及び図34のフレームF1の状態)。S29における収縮は、画像に設定される拡大率や幅を変更すればよい。
制御部11は、タッチパネル14Aの検出信号に基づいて、ユーザがスライド操作をしたかを判定する(S72)。S72の処理は、S30と同様であってよい。ユーザがスライド操作をしたと判定された場合(S72;Y)、制御部11は、スライド操作に基づいて、指示位置画像G15の表示位置を変更する(S73)。S73においては、制御部11は、スライド操作によるスライド方向に、指示位置画像G15の表示位置を変更する。制御部11は、スライド操作によるスライド量が増えるほど、指示位置画像G15の表示位置の変更量を多くする。
制御部11は、移動先画像G14と指示位置画像G15が重なったかを判定する(S74)。S74においては、制御部11は、移動先画像G14の表示位置と、指示位置画像G15の表示位置と、の距離が閾値未満になったかを判定する。例えば、制御部11は、移動先画像G14のボールの中心点と、指示位置画像G15の「+」マークの中心点と、の距離が閾値未満になったかを判定する。移動先画像G14と指示位置画像G15が重なったと判定された場合(S74;Y)、制御部11は、移動先画像G14の表示態様を変更し(S75)、指示位置画像G15の表示態様を変更する(S76)。S75においては、制御部11は、移動先画像G14の輪郭を光らせる。S76においては、制御部11は、指示位置画像G15の十字カーソルを光らせる。
制御部11は、タッチパネル14Aの検出信号に基づいて、ユーザがタッチを解除したかを判定する(S77)。S77の処理は、S32の処理と同様である。タッチを解除したと判定された場合(S77;Y)、制御部11は、現在のフレームがジャストタイミングであるかを判定する(S78)。S78においては、制御部11は、S69においてタッチされたと判定された時点のフレームを起点として、そこから経過したフレームをカウントする。そして、制御部11は、現時点のフレーム数を特定し、S68で決定したジャストタイミングに含まれるかを判定することになる。
現在のフレームがジャストタイミングであると判定された場合(S78;Y)、ジャストタイミング用の評価画像G17Bを表示させる(S79)。S35及びS36においては、制御部11は、「ジャスト!」という評価画像G17Bを移動先画像G14の付近に表示させる。一方、現在のフレームがジャストタイミングであると判定されない場合(S;N)、制御部11は、ジャストタイミング以外の評価画像G17A,G17Cを表示させる(S80)。S80においては、制御部11は、タッチが実際に解除されたタイミングとジャストタイミングとのずれに基づいて、「はやい!」という評価画像G17A又は「おそい!」という評価画像G17Cを、移動先画像G14の付近に表示させる。
制御部11は、セービング操作の成功度を示す総合判定値を計算する(S81)。S81においては、制御部11は、タッチを解除したタイミングとジャストタイミングとの差に基づいてタイミング判定値を計算する。また、制御部11は、移動先画像G14の表示位置と指示位置画像G15の表示位置との距離に基づいてずれ判定値を計算する。そして、制御部11は、タイミング判定値とずれ判定値を用いて総合判定値を計算する。例えば、タイミング判定値とずれ判定値を加算したり乗算したりして総合判定値を計算してもよい。また、他の計算式に基づいて総合判定値を計算してもよい。
図42に移り、制御部11は、総合判定値に基づいて、操作対象キャラクタの動作を決定する(S82)。S82においては、制御部11は、総合判定値に関連付けられたキャッチ及びパンチングの成功率に基づいて、操作対象キャラクタの動作を決定する。
操作対象キャラクタのキャッチが成功する場合(S82;キャッチ)、制御部11は、キャッチ用のモーションデータを再生することによって、操作対象キャラクタにキャッチングをさせ(S83)、S1の処理に戻る。S83においては、制御部11は、操作対象キャラクタにボールをキャッチさせ、ゴールを守るのに成功させる。なお、操作対象キャラクタがキャッチした後にS1の処理ではなくS54の処理に戻り、ユーザが操作可能な状態が継続されてもよい。この点は、S84及びS85の処理も同様である。
操作対象キャラクタのパンチングが成功する場合(S82;パンチング)、制御部11は、パンチング用のモーションデータを再生することによって、操作対象キャラクタにパンチングをさせ(S84)、S1の処理に戻る。S84においては、S83においては、制御部11は、操作対象キャラクタにボールをキャッチさせ、ゴールを守るのに成功させる。
操作対象キャラクタのセービングが失敗する場合(S82;失敗)、制御部11は、操作対象キャラクタに所定の動作をさせ(S85)、S1の処理に戻る。所定の動作は、失点したときの動作であり、例えば、操作対象キャラクタが飛びつく動作である。
一方、S77においてユーザがタッチを解除したと判定されない場合(S77;N)、制御部11は、最終フレームが訪れたかを判定する(S86)。S86においては、制御部11は、現時点のフレームが終了フレームになったかを判定する。最終フレームが訪れたと判定された場合(S86)、S85に移行する。
以上説明したゲーム制御装置10によれば、移動先画像G14と案内画像G16の重なり方と、移動先画像G14と指示位置画像G15のずれ方と、に応じてボールに対する作用の内容が決まるので、例えば、野球ゲームのような特有の事情がなかったとしても、難易度が難しくなりすぎることがなく、適度な難易度で遊ぶことができるようになる。また、移動先画像G14と案内画像G16の重なり方や移動先画像G14と指示位置画像G15のずれ方という直感的に理解できるものによって、操作をすべきタイミングが分かりやすくなる。更に、タッチパネル14Aをタッチしてタッチ位置を変更させてタッチを解除するという一連の操作により、ボールに対して作用を及ぼすための操作のステップ数を減らし、操作の冗長性を減らすことができる。
また、移動先画像G14のサイズに近づくように案内画像G16のサイズが変化するので、タッチを解除すべきタイミングをユーザに直感的に把握させることができる。
また、タッチパネル14Aにタッチしてからボールが移動を開始するので、タッチパネル14Aをタッチする前にボールが移動してしまい、ユーザが操作するまもなく失敗と判定されてしまうことを防止することができる。例えば、サッカーゲームでは、シュートしたボールの移動先、ゴールキーパーの配置位置、及びこれらの間の距離がシュートのたびに異なるので、ユーザにボールやゴールキーパーなどの位置関係を把握させる必要がある。このため、野球ゲームのようにコンピュータによって自動進行させる(例えば、CPU投手が所定のタイミングで投球開始する)と、位置関係を把握する時間が短くなる(特に、プレイ経験が短いユーザにとっては慣れていないので難易度が高くなりすぎる)ので、ユーザのタッチをトリガーとしてシュートさせるようにしている。
また、特殊能力通知N3により、対戦相手キャラクタの能力に基づいてオブジェクトが移動する場合に、当該能力をユーザに把握させることができる。更に、セービングモードに移行する場合に仮想世界画像G1の表示態様が変わることによって、ボールに作用を及ぼすための操作に移行することをユーザに把握させることができる。更に、その際に対戦相手キャラクタの能力を通知することで、より効果的に当該能力を把握させることができる。
また、シュートモードに移行し、ユーザがボールに作用を及ぼすための操作をする状況において、各キャラクタと指示位置画像G15が重ならないように仮想視点が制御されるので、キャラクタが邪魔な位置に表示されてしまうことを防止することができる。
また、特殊能力通知N4により、操作対象キャラクタの能力が操作の成否に係る場合に、当該能力をユーザに把握させることができる。例えば、指示位置画像G15付近で能力を通知すれば、より効果的に当該能力を把握させることができる。
また例えば、ボールの移動先を対戦相手キャラクタの能力に基づいて決めることで、移動先画像G14と指示位置画像G15の位置合わせの難易度を変えることができ、ゲームの興趣性が向上する。
また、移動先画像G14の表示位置と操作対象キャラクタの位置とに基づいて指示位置画像G15が決まるので、指示位置画像G15の初期表示位置がキャラクタから離れた不自然な位置になったり、移動先画像G14から離れた操作しにくい位置になったりすることを防止することができる。
また、ゲームの状況によって指示位置画像G15の初期表示位置が変わるので、その後の指示位置の調整について、難易度を調整することができ、ゲームの興趣性を効果的に向上させることができる。
また、操作対象キャラクタの能力によって指示位置画像G15の表示態様が変わるので、指示位置画像G15の表示態様によって操作対象キャラクタの能力を把握することができる。
また、移動先画像G14と指示位置画像G15とのずれ方によって、移動先画像G14及び指示位置画像G15の少なくとも一方の表示態様が変わるので、移動先画像G14と指示位置画像G15とのずれ方を分かりやすくすることができる。
また、評価画像G17によってタイミングの良し悪しをユーザに把握させることができる。このため、ユーザは、次回以降の操作において、どのようなタイミングでタッチを解除すればよいかを検討することができる。
また、ボールがゴールに向けて移動可能な状態でセービングモードに移行するので、ボールがゴールに向けて移動することができない状態にもかかわらず、ボールに作用を及ぼすための操作が要求されてしまうことを防止することができる。
また、操作対象キャラクタの能力がセービングの成否に影響するので、ゲームの興趣性を高めることができる。
また、タイミングを合わせて操作をするゲームでは、ユーザの操作が遅れがちであるが、実際の位置よりも先の位置にあるようにボールを表示させるので、ユーザの操作支援を効果的に行うことができる。
また、操作対象キャラクタは、オブジェクトを受け止めたり弾いたりするので、オブジェクトを受け止める又は弾く場合におけるゲームの難易度を適度なものにすることができる。
[2−4.実施形態2の変形例]
なお、実施形態2に係る発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
例えば、実施形態1と2を包含し、スライド操作によってユーザが指示位置を指示可能であり、ジャストタイミングでユーザがタッチを解除したかによって、所定のゲーム処理が実行されるようにしてもよい。この場合、タッチパネル14Aがタッチされた場合に、タッチを解除すべきタイミングを案内するための案内画像G12又はG16を変化させながら表示させる表示制御部105と、タッチパネル14Aがタッチされた状態でタッチ位置が変更された場合に、当該タッチ位置の変更に基づいて、ユーザの指示位置を示す指示位置画像の表示位置を変更する変更部106と、を有し、ゲーム制御装置10は、タッチパネル14Aへのタッチが解除されたタイミングにおける、移動先画像G14と案内画像G16との重なり方に対応するゲーム処理を実行するようにすればよい。ゲーム処理としては、実施形態で説明したようなボールの移動であってもよいし、得点を挙げるなどのゲームイベントを発生させる処理であってもよいし、画像の表示態様を変えるなどの表示制御処理であってもよいし、種々のゲーム処理であってよい。例えば、ゲーム処理は、ユーザの指示位置の位置合わせと、タッチを解除するタイミングのタイミング合わせと、の2つの結果によって、内容の変わる処理であればよい。
また例えば、対戦相手キャラクタが複数種類の移動方法でシュートを放つことができる場合には、移動先決定部109は、対戦相手キャラクタが放つシュートの移動方法に基づいて、移動先を決定するようにしてもよい。また例えば、カーブをかけたシュートや不規則な変化をする無回転シュートの場合には、移動先が動的に変わるようにしてもよい。また例えば、インプレイ中のシュートだけでなく、フリーキックやペナルティキック時において、実施形態2で説明したセービングモードが発動してもよい。
また例えば、特にタッチパネル14Aへのタッチをトリガーとせずに、対戦相手キャラクタがシュートを放ってもよい。また例えば、セービングモードに移行する場合に特に仮想世界画像G1の表示態様が切り替わらなくてもよい。また例えば、特に成否が決まる作用ではなく、作用決定部111が決定した内容の作用が問答無用で実行されるようにしてよい。また例えば、指示位置画像の初期表示位置は固定であってもよい。また例えば、指示位置画像G15の表示態様は、能力に応じて変わらないようにしてよい。同様に、また例えば、評価画像G17は表示させなくてもよい。また例えば、ジャストタイミングでタッチを解除しても特にエフェクトがなくてもよい。また例えば、仮想世界のボールの位置を特に変更せずそのまま表示させてもよい。
また例えば、ゲーム制御装置10において実現される各機能は、サーバ30において実現されてもよい。例えば、サーバ30によって、データ記憶部100が実現されてもよい。この場合、データ記憶部100は、記憶部32を主として実現される。ゲーム制御装置10は、サーバ30からデータを受信することによって、ゲームを実行する。ゲーム制御装置10は、ゲームの実行結果をサーバ30に送信することによって、サーバ30が記憶する各データが更新される。また例えば、移動先画像G14が画面内に収まるのであれば、操作対象キャラクタは画面内に入らなくてもよい。
また例えば、サーバ30において、ゲームの主な処理が実行されるようにしてもよい。この場合、サーバ30が本発明に係るゲーム制御装置に相当する。例えば、実施形態2において、初期表示位置決定部103、表示制御部105、変更部106、移動制御部107、移動先決定部109、移動可否判定部110、及び作用決定部111がサーバ30で実現される場合、これらは制御部31を主として実現される。この場合、ゲーム制御装置10は、サーバ30から画像データを受信して仮想世界画像G1を表示部15に表示させる。また、ゲーム制御装置10は、操作部14及びタッチパネル14Aが受け付けた指示を示すデータをサーバ30に送信する。サーバ30は、当該データを受信することで、ユーザの指示を特定し、ゲームを実行すればよい。また例えば、ゲーム制御装置10とサーバ30とで各機能が分担されてもよい。この場合、各機能ブロックの処理結果が、ゲーム制御装置10とサーバ30との間で送受信されるようにすればよい。
[3.実施形態3]
次に、本発明に係る別実施形態を説明する。実施形態3では、実施形態1及び2と同様のゲームが実行可能であってよく、実施形態1及び2と同様の部分については説明を省略する。先述したように、実施形態3では、シュートモードにおいて操作対象キャラクタとゴールとが重ならないようにするための仮想視点の制御と、セービングモードにおいて操作対象キャラクタと対戦相手キャラクタとが重ならないようにするための仮想視点の制御と、を説明する。なお、実施形態3でも、特に図面を参照する必要のないときは、ユーザキャラクタ、対戦相手キャラクタ、及びボールなどの符号を省略する。
[3−1.シュートモードにおける仮想視点の制御]
まず、シュートモードにおける仮想視点の制御を説明する。図43は、実施形態3の機能ブロック図である。図43に示すように、実施形態1及び2で説明したデータ記憶部100及び表示制御部105の他に、切替判定部112、視点制御部113、及び動作制御部114が実現される。なお、データ記憶部100及び表示制御部105は、実施形態1及び2で説明した機能と、実施形態3で説明する機能と、の少なくとも1つを有すればよい。また、視点制御部113の機能は、表示制御部105の一機能として組み込まれていてもよい。
[3−1−1.データ記憶部]
データ記憶部100は、実施形態1及び2と同様であってよく、例えば、ゲーム状況データDT1とキャラクタデータDT2を記憶する。
[3−1−2.表示制御部]
表示制御部105は、仮想世界でボールが移動するスポーツゲームにおいて、第1の視点に基づいて、仮想世界の様子を示す仮想世界画像G1を表示部15に表示させる。なお、本実施形態においても、ボールは、スポーツで用いられる移動物体を示す移動オブジェクトの一例である。このため、以降の説明でボールと記載した箇所は、移動オブジェクトと読み替えることができる。なお、移動オブジェクトは、スポーツゲームに応じたものであればよく、ボール以外にも、例えば、ホッケーであればパックであり、射撃であれば弾であり、ディスクスポーツであればフライングディスクである。
スポーツゲームは、例えば、現実世界のスポーツを模したゲーム、又は、現実には存在しない架空のスポーツのゲームであってよい。スポーツは、任意の競技であってよく、例えば、サッカー、野球、アメリカンフットボール、ホッケー、射撃、又はディスクスポーツなどであってよい。例えば、スポーツゲームは、1人以上のユーザキャラクタと、1人以上の対戦相手キャラクタと、が対戦するものであってよい。例えば、スポーツゲームは、チーム同士が対戦するものであってもよいが、特にチームは関係なく1対1の対戦であってもよいし、対戦形式ではなく各個人が挙げた得点を競うものであってもよい。
第1の視点は、第2の視点とは異なる視点であればよいが、例えば、第2の視点よりも仮想世界の様子(例えば、操作対象キャラクタ)が小さく表示される視点であってよい。例えば、第1の視点は、仮想世界の平面(例えば、ピッチ)との距離が基準距離以上であり、かつ、視線方向と平面とのなす角度が基準角度以上となる視点であり、仮想世界を斜め上から見下ろすいわゆる俯瞰視点であってよい。
[3−1−3.切替判定部]
切替判定部112は、制御部11を主として実現される。切替判定部112は、スポーツゲームのインプレイ中に、所定領域に向かってボールを移動させるための所定動作が行われる場合に第1の視点から第2の視点に切り替えるかを判定する。本実施形態では、シュートモード又はセービングモードに移行する場合に視点が切り替わるので、例えば、切替判定部112は、シュートモード又はセービングモードに移行するかを判定すればよい。
インプレイとは、例えば、試合が中断されていない状態であり、試合中(競技中)のことである。例えば、サッカーであれば、インプレイは、反則などが発生しておらず、試合が一時的に停止していない状態であり、試合が進行して試合時間が経過する状態である。例えば、ボールを奪い合うスポーツゲームの場合、インプレイは、ユーザキャラクタ及び対戦相手キャラクタが自由にボールを奪ってよい状態である。インプレイの反対語はアウトオブプレイであり、アウトオブプレイは、例えば、反則などが発生したために試合が中断された状態であり、試合が進行しておらず試合時間が停止する状態である。例えば、ボールを奪い合うスポーツゲームの場合、アプトオブプレイは、ユーザキャラクタ又は対戦相手キャラクタがボールを奪ってはいけない状態である。
所定領域とは、例えば、仮想世界の一部の領域であり、ボールが移動すると得点が発生する領域であってもよいし、ボールが移動すると試合を優位に進めることができる領域(例えば、ピッチ上のスペースなど)であってもよいし、ボールが移動すると勝利することができる領域であってもよい。なお、試合を優位に進めるとは、得点をしやすい状態になったり、勝利しやすい状態になったりすることである。本実施形態では、所定領域の一例としてゴールを説明する。このため、以降の説明でゴールと記載した部分については、「所定領域」と読み替えることができる。
所定動作とは、例えば、ボールに触れて移動させる動作であり、足で蹴ったり、手で投げたり、手で叩いたり、頭に当てたりすることである。例えば、サッカーゲームであれば、所定動作は、シュート、パス、又はセンタリングなどである。本実施形態では、所定動作の一例としてシュートを説明する。このため、以降の説明でシュートと記載した部分については、所定動作と読み替えることができる。
第2の視点とは、例えば、画像上において、操作対象キャラクタとゴール又は他のキャラクタとが重畳する領域がないような視点であってもよいし、これらが重畳する領域がごく一部だけとなるような視点であってもよい。ごく一部とは、例えば、重畳する領域の面積や割合が閾値未満(例えば、数十ピクセル未満又は数%未満)のことであり、操作の邪魔にならない程度のことを意味する。例えば、第2の視点は、第1の視点よりも仮想世界の様子(例えば、操作対象オブジェクト)が大きく表示される視点であってよい。即ち、第2の視点は、第1の視点よりも操作対象オブジェクトに近い視点であってよい。
なお、シュートモードでは、シュートは、操作対象キャラクタによって行われるので、例えば、第2の視点は、操作対象キャラクタと、ゴールと、ボールの移動を防ぐための動作を行う対戦相手キャラクタと、が重ならないような視点といえる。対戦相手キャラクタは、実施形態3に係る発明における非操作対象キャラクタの一例である。非操作対象キャラクタは、例えば、ユーザの操作対象ではないキャラクタであり、仲間のキャラクタであってもよいし、敵のキャラクタであってもよい。例えば、CPU(コンピュータ)が操作するキャラクタ(いわゆるノンプレイヤキャラクタ)であってもよいし、他のユーザが操作するキャラクタであってもよい。他のユーザが非操作対象キャラクタを操作する場合には、複数のユーザの各々のゲーム制御装置10によってオンライン対戦が行われることになる。以降の説明において、対戦相手キャラクタと記載した箇所は、非操作対象キャラクタと読み替えることができる。
ボールの移動を防ぐための動作とは、例えば、ボールの移動を妨げることであり、キャッチすることであってもよいし、抱え込むことであってもよいし、ボールの移動方向を変えることであってもよい。例えば、ボールの移動を防ぐための動作は、キャラクタの体をボールに当てることである。キャラクタは、ボールを手で弾いてもよいし足で弾いてもよいし胴体で弾いてもよい。
例えば、切替判定部112は、実行中のゲームが所定の条件を満たしたかを判定することによって、第1の視点から第2の視点に切り替えると判定する。所定の条件は、予め定められた条件であればよく、ここでは、シュートモードの移行条件又はセービングモードの移行条件である。例えば、所定の条件は、ユーザが所定の操作をすることであってもよいし、ゲーム状況データDT1の所定項目(例えば、ユーザキャラクタ又は対戦相手キャラクタの位置や移動方向など)の値が所定範囲であることであってもよいし、ユーザキャラクタ又は対戦相手キャラクタが所定動作を行うと決定されることであってもよい。ここでは、所定の条件は、シュートが可能な状態でユーザが所定の操作をすることである場合を説明する。実施形態1で説明したように、タップ操作が所定の操作に相当する場合を説明するが、フリック操作やスライド操作などの他の操作であってよい。なお、シュートが可能な状態とは、実施形態1で説明したように、ボールがシュート発動エリアA1内にあることであってもよいし、ボールがシュート発動エリアA1内にあり、かつ、ユーザキャラクタがシュート可能な状態であることを意味してもよい。
例えば、切替判定部112は、シュートが可能な状態でユーザがタップ操作をしたと判定した場合は第2の視点に切り替えると判定する。一方、例えば、ユーザキャラクタがシュート不可能な状態である場合、又は、シュートが可能な状態であるがユーザがタップ操作をしたと判定されない場合は、第2の視点に切り替えると判定しない。なお、切替判定部112は、ユーザキャラクタがシュートすると決定される前に判定処理を実行してもよいし、シュートをすると決定された後に判定処理を実行してもよいが、ここでは、シュートをする前に判定処理を実行する場合を説明する。
[3−1−4.視点制御部]
視点制御部113は、制御部11を主として実現される。視点制御部113は、切替判定部112により第2の視点に切り替えると判定された場合に、ボールを視野内に含み、かつ、ユーザの操作対象キャラクタと、ゴールと、が重ならないような第2の視点に切り替える。視野とは、例えば、視点から見える範囲であり、画像として表れる範囲である。例えば、視野は、仮想視点の画角内に収まる範囲であり、画角内をニアクリップとファークリップで切り取ったいわゆる視錐台である。なお、操作対象キャラクタは、ユーザの操作対象に設定されるオブジェクトの一例であり、ユーザの操作に応じて動作するオブジェクトの一例である点は、実施形態1及び2と同様である。
例えば、視点制御部113は、ゴールの正面方向に対する、操作対象キャラクタ又はボールの現在位置に基づいて、第2の視点を設定する。ゴールの正面方向とは、例えば、ゴールマウスの垂線方向である。視点制御部113は、ゴールの正面方向に対する操作対象キャラクタ又はボールの相対的な位置に基づいて第2の視点を設定する。相対的な位置とは、例えば、ゴールの正面方向(例えば、ゴールマウスの中心点P1を足とする垂線)に対してどれだけ離れた位置にいるかということであり、ゴールの正面方向と操作対象キャラクタ又はボールとの距離である。
例えば、ゴールの正面方向に対する操作対象キャラクタ又はボールの現在位置と、第2の視点の設定方法と、の関係は、数式形式、テーブル形式、又はプログラムコードの一部としてデータ記憶部100に記憶されるようにしてよい。設定方法とは、例えば、第2の視点の設定(例えば、位置、視線方向、及び画角)をどのように設定するかであり、これら各設定の計算方法である。視点制御部113は、ゴールの正面方向に対する操作対象キャラクタ又はボールの現在位置に関連付けられた設定方法で、第2の視点を設定する。
図44−図47は、第2の視点の設定方法を示す図である。図44−図47は、敵陣側(対戦相手チームのゴールGLがある側)のピッチPTを上方向から見た様子である。例えば、図44に示すように、ゴールGLの正面方向Vに基づいて、ピッチPTが左側領域LA、右側領域RA、及び中央領域CAに分けられている。例えば、左側領域LAは、ゴールマウスの中心点P1から正面方向Vの伸びた線から所定距離以上となり、かつ、当該線上からゴールマウスを見て左側の領域である。また例えば、右側領域RAは、ゴールマウスの中心点P1から正面方向Vの伸びた線から所定距離以上となり、かつ、当該線上からゴールマウスを見て右側の領域である。また例えば、中央領域CAは、ゴールマウスの中心点P1から正面方向Vの伸びた線から所定距離未満となる領域である。当該所定距離は、ゴールGLの幅であってもよいし、ゴールGLの幅とは異なってもよい。
例えば、視点制御部113は、ゲーム状況データDT1に基づいて、左側領域LA、右側領域RA、及び中央領域CAのうちの何れの領域に操作対象キャラクタUC又はボールBの現在位置が含まれるかを判定する。即ち、視点制御部113は、操作対象キャラクタUC又はボールBの現在位置が、ゴールGLの正面方向に対して左側にいるか、右側にいるか、正面方向付近にいるか、を判定する。視点制御部113は、判定結果に基づいて仮想視点の設定方法を変える。即ち、視点制御部113は、判定結果に基づいて、仮想視点と操作対象キャラクタUC又はボールBとの位置関係を変える。
例えば、操作対象キャラクタUC又はボールBの現在位置が左側領域LAに含まれると判定された場合、図45に示すように、視点制御部113は、操作対象キャラクタUCから後方(ゴールGLの正面方向V)に所定距離l4だけ離れており、かつ、ゴールGLに対して右方向に所定距離l5だけ離れた位置R1に仮想視点を設定する。即ち、視点制御部113は、操作対象キャラクタUCから見て背後であり、かつ、ピッチPTの内側となるように、仮想視点の位置を決定する。例えば、視点制御部113は、ゴールGLの左端部GL1と仮想視点とを結ぶ線上に、操作対象キャラクタUCが配置されないような位置に、仮想視点を設定してもよい。別の言い方をすれば、視点制御部113は、ゴールGLの左端部GL1と操作対象キャラクタUCとを結ぶ線よりも右側に、仮想視点を設定してもよい。
また例えば、操作対象キャラクタ又はボールの現在位置が右側領域RAに含まれると判定された場合、図46に示すように、視点制御部113は、操作対象キャラクタUCから後方(ゴールGLの正面方向V)に所定距離l6だけ離れており、かつ、ゴールGLに対して左方向に所定距離l7だけ離れた位置R2に視点を設定する。即ち、視点制御部113は、操作対象キャラクタUCから見て背後であり、かつ、ピッチPTの内側となるように、仮想視点の位置を決定する。例えば、視点制御部113は、ゴールの右端部GL2と仮想視点とを結ぶ線上に、操作対象キャラクタUCが配置されないような位置に、仮想視点を設定してもよい。別の言い方をすれば、視点制御部113は、ゴールGLの右端部GL2と操作対象キャラクタUCとを結ぶ線よりも左側に、仮想視点を設定してもよい。
また例えば、操作対象キャラクタ又はボールの現在位置が中央領域CAに含まれると判定された場合、図47に示すように、視点制御部113は、操作対象キャラクタUCから後方(ゴールGLの正面方向V)に所定距離l8だけ離れており、かつ、ゴールGLに対して左方向又は右方向に所定距離l9だけ離れた位置R3又はR4に視点を設定する。左方向と右方向の何れの方向に移動するかはランダムに決まってもよいが、本実施形態では、操作対象キャラクタUCは、ボールを足で移動させるキャラクタであるので、視点制御部113は、操作対象キャラクタUCの両足のうち、ボールを移動させる方の足に基づいて、第2の視点を設定する。なお、ボールを移動させる方の足とは、両足のうち、ボールに触れる方の足である。
例えば、操作対象キャラクタUCが右足と左足の何れでシュートするかはランダムに決まってもよいし、操作対象キャラクタUCの利き足によって決まってもよいし、操作対象キャラクタUCとボールBの位置関係によって決まってもよい。位置関係によって決まる場合には、例えば、操作対象キャラクタUCに対してボールBが右側にある場合には右足となり、左側にある場合には左足となってよい。視点制御部113は、右足でシュートする場合、ゴールGLに対して右方向に移動した位置とし、視点制御部113は、左足でシュートする場合、ゴールGLに対して左方向に移動した位置としてよい。なお、視点制御部113は、ゴールGLの左端部GL1と仮想視点とを結ぶ線上及びゴールGLの右端部GL2と仮想視点とを結ぶ線上に、操作対象キャラクタUCが配置されないような位置に、仮想視点を設定してもよい。
なお、操作対象キャラクタUC又はボールBの現在位置が何れの領域にあったとしても、仮想視点の視線方向は、ゴールGLの方を向けばよいが、例えば、視点制御部113は、ゴールGLの中心点P1から正面方向Vに対して所定距離の位置が注視点となるように、仮想視点の視線方向を制御するようにしてよい。また例えば、視点制御部113は、操作対象キャラクタ及びボールの少なくとも一方と、ゴールGLと、が視野内に入るように、仮想視点の視線方向を制御するようにしてよい。また、仮想視点の画角は、固定値であってもよいし、仮想視点の位置及び視線方向の少なくとも一方に応じた値となってもよいし、ゴールマウス全体が仮想世界画像G1内に収まるように調整されてもよい。
また例えば、視点制御部113は、仮想世界画像G1の左右の端部のうち、一方の端部側に操作対象キャラクタUCが表示され、かつ、他方の端部側にゴールが表示されるように、第2の視点を設定するようにしてよい。例えば、図45に示す仮想視点となる場合、視点制御部113は、仮想世界画像G1の左端部側(Xs座標値が0となる画素側)に操作対象キャラクタUCが表示され、かつ、右端部側(Xs座標値が最大値となる画素側)にゴールGLが表示されるように、第2の視点を設定するようにしてもよい。なお、端部側とは、表示領域の中央を境にして何れの側にあるかであり、例えば、左端部側は中央よりも左側であり、右端部側は中央よりも右側である。また例えば、図46に示す仮想視点となる場合、視点制御部113は、仮想世界画像G1の左端部側(Xs座標値が0となる画素側)にゴールGLが表示され、かつ、右端部側(Xs座標値が最大値となる画素側)に操作対象キャラクタUCが表示されるように、第2の視点を設定するようにしてもよい。なお、端部側とは、表示領域の中央を境にして何れの側にあるかであり、例えば、左端部側は中央よりも左側であり、右端部側は中央よりも右側である。
また例えば、表示制御部は、ゴールGLの端部のうち、操作対象キャラクタUCから遠い側にある端部が仮想世界画像G1に表示されるように、第2の視点を設定する。遠い側とは、例えば、距離的に離れている方である。例えば、操作対象キャラクタUCがゴールGLに対して左側にいる場合(図45の状態)には、表示制御部は、ゴールの右端部GL2が仮想世界画像G1に表示されるように第2の視点を設定する。また例えば、操作対象キャラクタUCがゴールGLに対して右側にいる場合(図46の状態)には、表示制御部は、ゴールの左端部GL1が仮想世界画像G1に表示されるように第2の視点を設定する。
[3−1−5.動作制御部]
動作制御部114は、制御部11を主として実現される。動作制御部114は、視点制御部113により第2の視点に切り替わった場合に、ユーザの操作に基づいて、操作対象キャラクタを動作させる。シュートモードでは、動作制御部114は、ユーザの操作に基づいて、操作対象キャラクタにシュートをさせることになる。例えば、動作制御部114は、ユーザの操作をトリガーにして操作対象キャラクタにシュート動作をさせてもよいし、ユーザの操作により指示された方向又は目標位置にシュートさせてもよい。
なお、実施形態3では、タッチパネル14Aからの操作は必須ではなく、実施形態3の操作は、操作部14から入力可能な操作であればよい。例えば、タッチパネル14Aから画面上の位置を指示する操作であってもよいし、タッチパネル14A以外の操作部14であるゲームコントローラのボタンを押したりレバーを傾けたりする操作であってもよい。更に、操作は、リモコン型の操作部14を傾ける操作であってもよい。例えば、動作制御部114は、実施形態1で説明した操作によって、操作対象キャラクタにシュートをさせてもよいが、実施形態3では、実施形態1で説明した操作に限られず、種々の操作によって、操作対象キャラクタにシュートをさせてよい。また、ここでの動作とは、仮想世界で取りうる行動であり、例えば、シュートモードのときはボールを移動させる動作(例えば、シュートやパスなど)であり、セービングモードのときはボールを防ぐ動作(例えば、キャッチやパンチングなど)である。
[3−2.シュートモードにおける仮想視点の制御処理]
実施形態3では、実施形態1と同様の処理(図20−図23)が実行されてよく、ここでは、図22に示すS18の処理の詳細を説明する。なお、実施形態1で説明したように、S18の処理は、S11、S14、及びS16において、ボールがシュート発動エリアA1内にあり、操作対象キャラクタがシュート可能な状態であり、かつ、ユーザがタップ操作をしたと判定された場合に実行される。即ち、これらの判定結果が肯定であり、第1の視点から第2の視点に切り替えると判定された場合に、S18の処理が実行される。
図48は、S18の処理の詳細を示す図である。図48に示すように、制御部11は、ゲーム状況データDT1に基づいて、操作対象キャラクタ又はボールの位置が左側領域LA、右側領域RA、又は中央領域CAの何れに含まれるかを判定する(S181)。左側領域LA、右側領域RA、又は中央領域CAを定義する座標値は、予め記憶部12に記憶されているものとする。
操作対象キャラクタ又はボールの位置が左側領域LAに含まれると判定された場合(S181;左側領域)、制御部11は、操作対象キャラクタの右足を蹴り足として決定する(S182)。S182においては、制御部11は、操作対象キャラクタの右足付近にボールが来るように、操作対象キャラクタ及びボールの少なくとも一方の位置を調整してよい。制御部11は、左側領域LA用の仮想視点(図45)を設定し(S183)、S19の処理に移行する。S182においては、制御部11は、仮想視点を位置R1に配置し、ゴールGLの中心点P1から正面方向Vに所定距離だけ離れた位置に仮想視点の注視点を設定し、注視点を向くように視線方向を決定する。
一方、操作対象キャラクタ又はボールの位置が右側領域RAに含まれると判定された場合(S181;右側領域)、制御部11は、操作対象キャラクタの左足を蹴り足として決定する(S184)。S184においては、制御部11は、操作対象キャラクタの左足付近にボールが来るように、操作対象キャラクタ及びボールの少なくとも一方の位置を調整してよい。制御部11は、右側領域RA用の仮想視点を設定する(S185)。S185においては、制御部11は、仮想視点を位置R2に配置し、ゴールGLの中心点P1から正面方向Vに所定距離だけ離れた位置に仮想視点の注視点を設定し、注視点を向くように視線方向を決定する。
一方、操作対象キャラクタ又はボールの位置が中央領域CAに含まれると判定された場合(S181;中央領域)、制御部11は、操作対象キャラクタの蹴り足を決定する(S186)。S186においては、制御部11は、キャラクタデータDT2に基づいて利き足を蹴り足として決定してもよいし、ランダムに蹴り足を決定してもよいし、ゲーム状況データDT1に基づいて操作対象キャラクタとボールの位置関係から蹴り足を決定してもよい。
右足が蹴り足として決定された場合(S186;右足)、S183の処理に移行し、左側領域LA用の仮想視点が設定される。この場合、図47に示すように、制御部11は、仮想視点を位置R3に配置し、ゴールGLの中心点P1から正面方向Vに所定距離だけ離れた位置に仮想視点の注視点を設定し、注視点を向くように視線方向を決定する。一方、左足が蹴り足として決定された場合(S186;左足)、S185の処理に移行し、右側領域RA用の仮想視点が設定される。この場合、図47に示すように、制御部11は、仮想視点を位置R4に配置し、ゴールGLの中心点P1から正面方向Vに所定距離だけ離れた位置に仮想視点の注視点を設定し、注視点を向くように視線方向を決定する。
[3−3.セービングモードにおける仮想視点の制御]
次に、セービングモードにおける仮想視点の制御を説明する。図49は、セービングモードにおける機能ブロック図である。図49に示すように、図43のシュートモードの機能ブロックに加えて、位置移動部115が実現される。なお、切替判定部112は、シュートモードで説明した機能と同様の機能が実現されてよいが、ここでは、セービングモードに移行するかを判定することになる。この判定は、対戦相手キャラクタがシュートをすると決定された場合に実行されてもよいし、対戦相手キャラクタの足がボールに当たったタイミングで実行されてもよい。また、表示制御部105、視点制御部113、及び動作制御部114は、シュートモードと以降説明するセービングモードの両方の機能が実現されてもよいし、何れか一方のみの機能が実現されるようにしてもよい。
実施形態2で説明したように、セービングモードでは、シュートは、対戦相手キャラクタによって行われ、操作対象キャラクタは、シュートのセービングをする。このため、操作対象キャラクタは、シュートをする対戦相手キャラクタとゴールとの仮想世界における位置関係での間に配置される。仮想世界における位置関係とは、例えば、仮想世界における相対的な位置であり、仮想世界における絶対座標の違いである。例えば、仮想世界が3次元であれば、3次元座標の違いであり、仮想世界が2次元であれば、2次元座標の違いである。セービングモードでは、操作対象キャラクタは、対戦相手キャラクタよりもゴールに近い位置に配置される。なお、セービングモードにおける第2の視点は、下記に説明するように、操作対象キャラクタと、シュートをする対戦相手キャラクタと、が重ならないような視点となる。
[3−3−1.位置移動部]
位置移動部115は、制御部11を主として実現される。位置移動部115は、判定部により第2の視点に切り替えると判定された場合に、ゴールの位置に基づいて、操作対象キャラクタの位置を移動させる。例えば、位置移動部115は、操作対象キャラクタがゴールに近づき、かつ、対戦相手キャラクタ又はボールから遠ざかるように、操作対象キャラクタの位置を移動させる。また例えば、位置移動部115は、対戦相手キャラクタ又はボールから操作対象キャラクタへの方向、又は、当該方向と所定角度未満となる方向に操作対象キャラクタを移動させる。なお、操作対象キャラクタの移動量は、固定値であってもよいし、可変値であってもよい。可変値である場合には、ゴールから所定距離の位置に移動するように移動量が決まってよい。
本実施形態では、対戦相手キャラクタ又はボールがいる位置によって操作対象キャラクタの移動方法が違うものとする。なお、ここでの移動方法とは、操作対象キャラクタの移動方向及び移動量の少なくとも一方を意味する。例えば、ゴールの正面方向に対する対戦相手キャラクタ又はボールの現在位置と、操作対象キャラクタの移動方法と、の関係は、数式形式、テーブル形式、又はプログラムコードの一部としてデータ記憶部100に記憶されるようにしてよい。位置移動部115は、ゴールの正面方向に対する操作対象キャラクタ又はボールの現在位置に関連付けられた移動方法で、操作対象キャラクタを移動させる。
図50−図52は、セービングモード移行時の操作対象キャラクタの移動方法を示す図である。図50−図52は、自陣側(ユーザチームのゴールGLがある側)のピッチPTを上方向から見た様子である。例えば、位置移動部115は、ゴールGLに対する対戦相手キャラクタOC又はボールBの相対的な位置に基づいて、操作対象キャラクタUCの移動方法を変える。即ち、位置移動部115は、ゲーム状況データDT1に基づいて、操作対象キャラクタUC又はボールBの現在位置が、ゴールGLの中心から見て左側にいるか、右側にいるか、正面方向付近にいるか、を判定する。位置移動部115は、判定結果に基づいて操作対象キャラクタの移動方法を変える。なお、シュートモードにおいて左側領域LA、右側領域RA、及び中央領域CAを用いて説明した方法と同様の方法で、ゴールGLに対する対戦相手キャラクタOC又はボールBの相対的な位置が特定されるようにすればよい。
例えば、ゴールGLから見て対戦相手キャラクタOC又はボールBが右側にいる場合、図50に示すように、位置移動部115は、操作対象キャラクタUCを後方に所定距離l10移動させ、左方向に所定距離l11移動させた位置R5に移動させる。即ち、位置移動部115は、対戦相手キャラクタOC又はボールBから見て操作対象キャラクタUCが遠ざかるように移動させる。
また例えば、ゴールGLから見て対戦相手キャラクタOC又はボールBが左側にいる場合、図51に示すように、位置移動部115は、操作対象キャラクタUCを後方に所定距離l14移動させ、右方向に所定距離l15移動させた位置R8に移動させる。即ち、位置移動部115は、対戦相手キャラクタOC又はボールBから見て操作対象キャラクタUCが遠ざかるように移動させる。
また例えば、ゴールGLから見て対戦相手キャラクタOC又はボールBが正面方向にいる場合、図52に示すように、位置移動部115は、操作対象キャラクタUCを後方に所定距離l18移動させ、左方向又は右方向に所定距離l19移動させた位置R10又はR13に移動させる。即ち、位置移動部115は、対戦相手キャラクタOC又はボールBから見て操作対象キャラクタUCが遠ざかるように移動させる。
なお、左方向と右方向の何れの方向に移動するかはランダムに決まってもよいが、本実施形態では、対戦相手キャラクタOCは、ボールBを足で移動させるキャラクタなので、位置移動部115は、対戦相手キャラクタOCの両足のうち、ボールBを移動させる方の足に基づいて、操作対象キャラクタUCを移動させるようにしてもよい。対戦相手キャラクタOCがボールBを蹴る足を決定する方法は、シュートモードにおいて、操作対象キャラクタUCがボールBを蹴る足を決定する方法と同じであってよい。
例えば、位置移動部115は、対戦相手キャラクタOCが右足でシュートする場合、ゴールGLから見て対戦相手キャラクタOC又はボールBが右側にいる場合と同様に操作対象キャラクタを移動させ、操作対象キャラクタUCを左方向に移動させてもよい。また例えば、位置移動部115は、対戦相手キャラクタOCが左足でシュートする場合、ゴールGLから見て対戦相手キャラクタOC又はボールBが左側にいる場合と同様に操作対象キャラクタを移動させ、操作対象キャラクタUCを右方向に移動させてもよい。
[3−3−2.視点制御部]
視点制御部113は、切替判定部112により第2の視点に切り替えると判定された場合に、対戦相手キャラクタが仮想世界画像G1に表示され、かつ、操作対象キャラクタが仮想世界画像G1に表示されないような第3の視点に切り替えた後に、第2の視点に切り替える。
第3の視点は、第1の視点又は第2の視点とは異なる視点であり、例えば、対戦相手キャラクタが第1の視点及び第2の視点よりも大きく表示される視点である。また例えば、第3の視点は、図50の位置R7、図51の位置R10、又は図52の位置R12のように操作対象キャラクタが視界に入らない視点である。先述した位置移動部115は、視点制御部113により後述する第3の視点が設定されている間に、操作対象キャラクタの位置を移動させるようにしてもよい。即ち、位置移動部115は、仮想世界画像G1に操作対象キャラクタが表示されていない間に、操作対象キャラクタの位置を移動させてもよい。
例えば、視点制御部113は、ゴールGLに対する対戦相手キャラクタ又はボールの相対的な位置に基づいて、仮想視点の設定方法を変える。即ち、視点制御部113は、ゲーム状況データDT1に基づいて、対戦相手キャラクタ又はボールの現在位置が、ゴールの正面方向に対して左側にいるか、右側にいるか、正面方向付近にいるか、を判定する。視点制御部113は、判定結果に基づいて仮想視点の制御方法を変える。即ち、視点制御部113は、判定結果に基づいて、操作対象キャラクタと対戦相手キャラクタ又はボールとの位置関係を変える。
例えば、ゴールGLから見て対戦相手キャラクタOC又はボールBが右側にいる場合、図50に示すように、視点制御部113は、操作対象キャラクタUCから後方(ゴールGLの正面方向Vの逆方向)に所定距離l12だけ離れており、かつ、左方向に所定距離l13だけ離れた位置R6に仮想視点を設定する。即ち、視点制御部113は、操作対象キャラクタUCの左後方から対戦相手キャラクタOC又はボールBを眺める位置に、仮想視点を設定する。例えば、視点制御部113は、対戦相手キャラクタOC又はボールBと仮想視点とを結ぶ線上に操作対象キャラクタUCが配置されないような位置に、仮想視点を設定してもよい。
また例えば、ゴールGLから見て対戦相手キャラクタOC又はボールBが左側にいる場合、図51に示すように、視点制御部113は、操作対象キャラクタUCから後方に所定距離l16だけ離れており、かつ、右方向に所定距離l17だけ離れた位置R8に仮想視点を設定する。即ち、視点制御部113は、操作対象キャラクタUCの右後方から対戦相手キャラクタOC又はボールBを眺める位置に、仮想視点を設定する。例えば、視点制御部113は、対戦相手キャラクタOC又はボールBと仮想視点とを結ぶ線上に操作対象キャラクタUCが配置されないような位置に、仮想視点を設定してもよい。
また例えば、ゴールGLから見て対戦相手キャラクタOC又はボールBが正面方向にいる場合、図52に示すように、視点制御部113は、操作対象キャラクタUCから後方に所定距離l20離れて、かつ、操作対象キャラクタUCを右方向又は左方向に所定距離l21だけ離れた位置R11又はR14に仮想視点を設定する。なお、右方向と左方向の何れの方向に移動するかはランダムに決まってもよいが、本実施形態では、対戦相手キャラクタOCは、ボールを足で移動させるキャラクタなので、視点制御部113は、対戦相手キャラクタOCの両足のうち、ボールを移動させる方の足に基づいて、第2の視点を設定するようにしてよい。
例えば、視点制御部113は、対戦相手キャラクタOCが右足でシュートする場合、ゴールGLから見て対戦相手キャラクタOC又はボールBが左側にいる場合と同様に仮想視点を移動させ、仮想視点を位置R11に移動させてよい。また例えば、視点制御部113は、対戦相手キャラクタOCが左足でシュートする場合、ゴールGLから見て対戦相手キャラクタOC又はボールBが右側にいる場合と同様に仮想視点を移動させ、仮想視点を位置R14に移動させてよい。
なお、仮想視点の視線方向は、操作対象キャラクタUC、対戦相手キャラクタOC、及びボールBの方を向けばよいが、例えば、視点制御部113は、シュートの軌道上の任意の点が注視点となるように、仮想視点の視線方向を制御するようにしてよい。また、仮想視点の画角は、固定値であってもよいし、仮想視点の位置及び視線方向の少なくとも一方に応じた値となってもよいし、ゴールマウス全体が仮想世界画像G1内に収まるように調整されてもよい。
また例えば、視点制御部113は、指示位置画像G15の初期表示位置に更に基づいて、第2の視点を設定するようにしてもよい。この場合、ゲーム制御装置10は、実施形態1又は2で説明した初期表示位置決定部103を含んでよい。例えば、視点制御部113は、指示位置画像G15と操作対象キャラクタUCとが重ならないように仮想視点を設定する。例えば、視点制御部113は、指示位置画像G15の初期表示位置に基づいて、操作対象キャラクタUCが画面上で重ならないような表示位置を計算し、当該表示位置を仮想世界の座標に変換することによって、仮想視点の位置を決定するようにしてよい。
また例えば、視点制御部113は、所定地点に更に基づいて、第2の視点を設定するようにしてもよい。所定地点は、例えば、ボールが移動を開始する位置と、ゴールと、の間にある任意の位置である。本実施形態では、所定地点が操作点である場合を説明する。例えば、視点制御部113は、操作点が注視点となるように、仮想視点の視線方向を決定する。操作点は、実施形態2で説明した通りである。なお、操作点がそのまま注視点とならなくてもよく、操作点から所定距離未満の点が注視点となってもよい。
[3−3−3.表示制御部]
表示制御部105は、視点制御部113により第2の視点に切り替わった場合に、位置移動部115により位置が移動された操作対象キャラクタを表示させる。即ち、表示制御部105は、位置移動部115により位置が移動された後の操作対象キャラクタを、第2の視点で表示させる。例えば、表示制御部は、視点制御部113により第2の視点に切り替わった場合に、操作により指示される指示位置を示す指示位置画像G15を表示させるようにしてよい。指示位置は、実施形態2で説明したように、ユーザが指示する画面上の位置である。
[3−3−4.動作制御部]
動作制御部114は、ユーザの操作に基づいて、操作対象キャラクタに、ボールがゴールに向かって移動するのを防ぐための動作をさせる。例えば、動作制御部114は、操作キャラクタにボールをキャッチさせたり、手や足でボールを弾く動作をさせたりする。この動作制御は、実施形態2で説明したものと同様であってよい。
また例えば、動作制御部114は、ボールがゴールに向けて移動する途中の操作点を通過するタイミングで操作が行われた場合に、ボールがゴールに移動するのを防ぐ動作を成功させるようにしてよい。例えば、実施形態2で説明したように、操作点に基づいてジャストタイミングが設定される場合には、動作制御部114は、ボールが操作点を通過するジャストタイミングでユーザが操作できたかを判定し、当該判定結果に基づいて、操作対象キャラクタを動作させるようにしてよい。この動作制御も、実施形態2で説明したものと同様であってよい。
[3−4.セービングモードにおける仮想視点の制御処理]
次に、実施形態2で説明した図40に示すS61の処理の詳細を説明する。図53は、S61の処理の詳細を示す図である。なお、実施形態2で説明したように、S18の処理は、S55、S58、及びS59において、対戦相手キャラクタがシュートすることが決定され、対戦相手キャラクタ又はボールがセービング対象エリアA2内にあり、かつ、シュートが所定の条件を満たすと判定された場合に実行される。即ち、これらの判定結果が肯定であり、第1の視点から第2の視点に切り替えると判定された場合に、S61の処理が実行される。また、S60では、対戦相手キャラクタがアップになる第3の視点が設定されているので、以降の処理は、操作対象キャラクタが表示されていない状態で実行されるようにしてよい。
図53に示すように、制御部11は、ゲーム状況データDT1に基づいて、ゴールから見て対戦相手キャラクタ又はボールが右側、左側、又は正面の何れの方向にいるかを判定する(S611)。S611の判定方法は、S181の判定方法と同様であってよい。
ゴールから見て対戦相手キャラクタ又はボールが右側にいると判定された場合(S611;右側)、制御部11は、右側用の位置に操作対象キャラクタを移動させ(S612)、右側用の仮想視点(図50)を設定する(S613)。S612においては、制御部11は、操作対象キャラクタを位置R5に移動し、S613においては、制御部11は、仮想視点を位置R6に配置し、仮想視点が操作点を向くように視線方向を決定する。なお、制御部11は、操作点を予め計算してもよいし、S612の処理をS63の処理の後に実行してもよい。
ゴールから見て対戦相手キャラクタ又はボールが左側にいると判定された場合(S611;左側)、制御部11は、左側用の位置に操作対象キャラクタを移動させ(S614)、左側用の仮想視点(図51)を設定する(S615)。S614においては、制御部11は、操作対象キャラクタを位置R8に移動し、S615においては、制御部11は、仮想視点を位置R9に配置し、仮想視点が操作点を向くように視線方向を決定する。なお、S613と同様、制御部11は、操作点を予め計算してもよいし、S615の処理をS63の処理の後に実行してもよい。
ゴールから見て対戦相手キャラクタ又はボールが正面にいると判定された場合(S611;正面)、制御部11は、対戦相手キャラクタの蹴り足を決定する(S616)。S616においては、制御部11は、キャラクタデータDT2に基づいて利き足を蹴り足として決定してもよいし、ランダムに蹴り足を決定してもよいし、ゲーム状況データDT1に基づいて対戦相手キャラクタとボールの位置関係に基づいて蹴り足を決定してもよい。
左足が蹴り足として決定された場合(S616;左足)、右側用の位置に操作対象キャラクタを移動させ(S617)、左側用の仮想視点(図52)を設定する(S618)。S617においては、制御部11は、操作対象キャラクタを位置R10に移動し、S618においては、制御部11は、仮想視点を位置R11に配置し、仮想視点が操作点を向くように視線方向を決定する。
一方、右足が蹴り足として決定された場合(S616;右足)、左側用の位置に操作対象キャラクタを移動させ(S619)、右側用の仮想視点(図52)を設定する(S620)。S619においては、制御部11は、操作対象キャラクタを位置R13に移動し、S620においては、制御部11は、仮想視点を位置R14に配置し、仮想視点が操作点を向くように視線方向を決定する。
以上説明したゲーム制御装置10によれば、第2の視点に切り替わった場合に、ボールを視野内に含み、かつ、操作対象キャラクタとゴール又は対戦相手キャラクタとが重ならないようになり、ボールが表示される仮想世界画像G1が見やすくなるので、臨場感があり、かつ、ユーザの操作に支障がないような視点制御をすることができる。
また、シュートモードにおいて、操作対象キャラクタとゴールと対戦相手キャラクタとが重ならないような視点となるので、ゴールが見やすくなり、ユーザが操作しやすいように視点制御をすることができる。
また、セービングモードにおいて、操作対象キャラクタと対戦相手キャラクタとが重ならないような視点となるので、ボールが見やすくなり、ユーザが操作しやすいように視点制御をすることができる。
また、シュートモードにおいて、操作対象キャラクタがゴールに向けてボールを移動させる場合に、ゴールの正面方向に対する操作対象キャラクタ又はボールの現在位置に応じた視点が設定されるので、ゴールに向けてボールを移動させやすい視点を設定することができ、操作しやすくするためにより効果的な視点制御をすることができる。
また、シュートモードにおいて、操作対象キャラクタがボールを移動させる方の手又は足に応じた視点が設定されるので、操作対象キャラクタの体が邪魔になってしまう見づらいアングルとなることを防止することができ、操作しやすくするためにより効果的な視点制御をすることができる。
また、シュートモードにおいて、操作対象キャラクタとゴールとが比較的離れた表示位置となるように第2の視点が設定されるので、表示領域のスペースを有効活用することで、例えばユーザが広いスペースの中で位置の指定をすることが可能になるので、操作しやすくするためにより効果的な視点制御をすることができる。
また、シュートモードにおいて、ゴールマウスの全体が視野に含まれるので、ボールの移動先であるゴールの一部が画面から切れてしまうことを防止することができる。
また、セービングモードにおいて、ボールが向かうゴールに応じた位置に操作対象キャラクタを配置することで、仮想世界画像G1をより見やすいものとすることができ、より操作しやすい仮想世界画像G1を提供することができる。
また、セービングモードにおいて、操作対象キャラクタが表示されない間に、操作対象キャラクタの位置が変わるので、操作対象キャラクタの位置が突然変わるような見た目の不自然さを防止することができる。
また、セービングモードにおいて、操作対象キャラクタと、ボールを移動させる対戦相手キャラクタと、の間にスペースが空くので、表示領域のスペースを有効活用することができ、例えばユーザが広いスペースの中で位置の指定をすることが可能になるので、より操作しやすくなる。
また、セービングモードにおいて、対戦相手キャラクタがボールを移動させる方の足に応じた視点が設定されるので、対戦相手キャラクタの体が邪魔になる見づらいアングルとなることを防止することができ、操作しやすくするためにより効果的な視点制御をすることができる。
また、セービングモードにおいて、指示位置画像の初期表示位置を考慮して視点制御をすることで、例えば、操作するために邪魔にならないような位置に指示位置画像を表示させることができる。
また、セービングモードにおいて、ユーザが操作をする際のタイミングの目印となる所定地点を視点制御に影響させることで、当該所定地点を見やすい状態で表示させることができる。
[3−5.実施形態3の変形例]
なお、実施形態3に係る発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
例えば、ゲーム制御装置10は、シュートモードの視点制御とセービングモードの視点制御との両方とも実行しなければならないわけではなく、何れか一方のみを実行してもよい。このため、視点制御部113は、切替判定部112により第2の視点に切り替えると判定された場合に、ボールを視野内に含み、かつ、ユーザの操作対象キャラクタと、ゴール及びシュートをする対戦相手キャラクタの少なくとも一方と、が重ならないような第2の視点に切り替えるようにすればよい。
また例えば、ハンドボールやバレーボールなどのように手でボールを移動させるゲームが実行される場合には、シュートモードにおいて、操作対象キャラクタは、操作対象キャラクタは手を使ってボールを移動させる。このため、視点制御部113は、操作対象キャラクタの両手のうち、ボールを移動させる方の手に基づいて、第2の視点を設定すればよい。ボールを移動させる方の手とは、例えば、両手のうち、ボールに触れる方の手であり、ボールを投げたり叩いたりする方の手である。一方、セービングモードにおいては、対戦相手キャラクタは手を使ってボールを移動させる。このため、視点制御部113は、対戦相手キャラクタの両手のうち、ボールを移動させる方の手に基づいて、第2の視点を設定する。
また例えば、シュートモードでは、操作対象キャラクタとゴールとが重ならないような仮想視点が設定されるようにすればよく、特に、ゴールの正面方向に対する操作対象キャラクタの現在位置に基づかずに仮想視点が設定されてもよい。また例えば、ボールが中央領域CAにある場合に、特に操作対象キャラクタの蹴り足に関係なく、左側領域用の視点制御と右側領域用の視点制御の何れかがランダムに選択されるようにしてよい。また例えば、ゴールの端部が必ずしも仮想世界画像G1に含まれなければならないわけではなく、ゴールの端部が少しだけ仮想世界画像G1から外れてもよい。
また例えば、セービングモードでは、操作対象キャラクタと対戦相手キャラクタとが重ならないような仮想視点が設定されるようにすればよく、操作対象キャラクタの位置が特に変更されなくてもよい。また例えば、ボールが中央方向にある場合に、特に対戦相手キャラクタの蹴り足に関係なく、左側用の視点制御と右側用の視点制御の何れかがランダムに選択されるようにしてよい。また例えば、指示位置画像G15の初期表示位置に特に基づかずに仮想視点が制御されるようにしてもよい。また例えば、仮想視点の注視点は特に操作点でなくてもよい。
また例えば、ゲーム制御装置10において実現される各機能は、サーバ30において実現されてもよい。例えば、サーバ30によって、データ記憶部100が実現されてもよい。この場合、データ記憶部100は、記憶部32を主として実現される。ゲーム制御装置10は、サーバ30からデータを受信することによって、ゲームを実行する。ゲーム制御装置10は、ゲームの実行結果をサーバ30に送信することによって、サーバ30が記憶する各データが更新される。
また例えば、サーバ30において、ゲームの主な処理が実行されるようにしてもよい。この場合、サーバ30が本発明に係るゲーム制御装置に相当する。例えば、実施形態3において、表示制御部105、切替判定部112、視点制御部113、動作制御部114、及び位置移動部115がサーバ30で実現される場合、これらは制御部31を主として実現される。この場合、ゲーム制御装置10は、サーバ30から画像データを受信して仮想世界画像G1を表示部15に表示させる。また、ゲーム制御装置10は、操作部14及びタッチパネル14Aが受け付けた指示を示すデータをサーバ30に送信する。サーバ30は、当該データを受信することで、ユーザの指示を特定し、ゲームを実行すればよい。また例えば、ゲーム制御装置10とサーバ30とで各機能が分担されてもよい。この場合、各機能ブロックの処理結果が、ゲーム制御装置10とサーバ30との間で送受信されるようにすればよい。
[4.その他変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。例えば、実施形態1、実施形態2、実施形態3、及び各実施形態で説明した変形例の2つ以上を組み合わせてもよい。
また例えば、サッカーゲームが実行される場合を説明したが、他のゲームに本発明に係る処理を適用してもよい。例えば、サッカーゲーム以外のスポーツゲーム(例えば、野球、テニス、アメリカンフットボール、バスケットボール、バレーボール等を題材としたゲーム)に本発明に係る処理を適用してもよい。また例えば、スポーツゲーム以外にも、アクションゲームやロールプレイングゲーム等のように、ゲーム形式・ジャンルを問わず種々のゲームに本発明に係る処理を適用してもよい。
[5.付記]
以上のような記載から、本発明は例えば以下のように把握される。
[5−1.実施形態1に係る発明]
1−1)本発明の一態様に係るゲーム制御装置(10)は、タッチパネルへのタッチを解除することでオブジェクトの移動を指示可能なゲームにおいて、前記タッチパネルがタッチされた場合に、タッチを解除すべきタイミングを案内するための案内画像を変化させながら表示させる表示制御手段(105)と、前記タッチパネルがタッチされた状態でタッチ位置が変更された場合に、当該タッチ位置の変更に基づいて、前記オブジェクトを移動させる目標位置を示す目標位置画像の表示位置を変更する変更手段(106)と、前記タッチパネルへのタッチが解除されたタイミングにおける、前記案内画像と前記目標位置画像との重なり方に対応する移動方法で前記オブジェクトを移動させる移動制御手段(107)と、を含むことを特徴とする。
1−20)本発明の一態様に係るゲームシステム(S)は、タッチパネルへのタッチを解除することでオブジェクトの移動を指示可能なゲームにおいて、前記タッチパネルがタッチされた場合に、タッチを解除すべきタイミングを案内するための案内画像を変化させながら表示させる表示制御手段(105)と、前記タッチパネルがタッチされた状態でタッチ位置が変更された場合に、当該タッチ位置の変更に基づいて、前記オブジェクトを移動させる目標位置を示す目標位置画像の表示位置を変更する変更手段(106)と、前記タッチパネルへのタッチが解除されたタイミングにおける、前記案内画像と前記目標位置画像との重なり方に対応する移動方法で前記オブジェクトを移動させる移動制御手段(107)と、を含むことを特徴とする。
1−21)本発明の一態様に係るプログラムは、1−1)〜1−19)の何れかに記載のゲーム制御装置(10)又は1−20)に記載のゲームシステム(S)としてコンピュータを機能させる。
1−22)本発明の一態様に係る情報記憶媒体は、1−21)のプログラムを記録したコンピュータで読み取り可能な情報記憶媒体である。
1−1)又は1−20)〜1−22)に係る発明によれば、オブジェクトを移動させるために、ユーザが指示した目標位置だけでなく、タッチが解除されたタイミングも考慮されるので、ユーザに要求する操作の難易度を高めることができ、ユーザがタッチパネルを使ってオブジェクトの移動を指示するゲームの興趣性を向上させることができる。また、オブジェクトの移動方法と、案内画像と目標位置画像との重なり方と、が対応することによって、オブジェクトの移動を、より直観的な方法でユーザに指示させることができる。更に、タッチパネルをタッチしてタッチ位置を変更させてタッチを解除するという一連の操作により、目標位置の指示とオブジェクトの移動の指示をすることができるので、オブジェクトを移動させるための操作のステップ数を減らし、操作の冗長性を減らすことができる。
1−2)本発明の一態様では、前記表示制御手段(105)は、前記タッチパネルがタッチされた場合に、前記案内画像と前記目標位置画像とが所定の範囲内に含まれる表示位置に表示させ、前記表示制御手段(105)は、前記変更手段(106)により前記目標位置画像の表示位置が変更された場合に、前記案内画像の表示位置を変更する、ことを特徴とする。1−2)の態様によれば、目標位置画像とともに案内画像の表示位置が変更され、ユーザは、目標位置画像を見ながら案内画像も見ることができるので、タッチを解除すべきタイミングをユーザに把握させやすくなる。
1−3)本発明の一態様では、前記表示制御手段(105)は、前記タッチパネルがタッチされた場合に、互いにサイズが異なる前記案内画像と前記目標位置画像とが所定の範囲内に含まれる表示位置に表示させ、前記表示制御手段(105)は、前記案内画像のサイズが前記目標位置画像のサイズに近づくように、前記案内画像を変化させる、ことを特徴とする。1−3)の態様によれば、目標位置画像のサイズに近づくように案内画像のサイズが変化するので、タッチを解除すべきタイミングをユーザに直感的に把握させることができる。
1−4)本発明の一態様では、タッチを解除すべきタイミングが訪れても前記タッチパネルへのタッチが解除されなかった場合は、タッチを解除すべき新たなタイミングが設定され、前記表示制御手段(105)は、前記新たなタイミングが設定された場合は、前記案内画像を初期状態に戻し、前記新たなタイミングを案内するように、前記案内画像を変化させる、ことを特徴とする。1−4)の態様によれば、タッチを解除すべきタイミングが訪れてもタッチが解除されなかった場合に新たなタイミングが設定されるので、ユーザが好きなタイミングでオブジェクトの移動を指示することができる。このため、ユーザが目標位置をじっくりと指定することができる。
1−5)本発明の一態様では、前記オブジェクトは、仮想世界において移動し、前記ゲーム制御装置(10)は、前記仮想世界の所定範囲内に前記オブジェクトがある場合に、前記移動制御手段(107)による移動を許可する許可手段(101)を更に含み、前記表示制御手段(105)は、前記仮想世界の様子を示す仮想世界画像を前記表示手段に表示させ、前記表示制御手段(105)は、前記所定範囲内に前記オブジェクトが移動した場合に、前記仮想世界画像において、前記許可手段(101)により移動が許可されたことを通知する、ことを特徴とする。1−5)の態様によれば、移動制御手段による移動が許可されているかどうかをユーザがゲームのプレイ中に容易に把握できるようになる。このため、当該移動が許可されていないような状況でタッチパネルに対して無駄な操作が行われてしまうことを防止することができる。
1−6)本発明の一態様では、前記表示制御手段(105)は、前記所定範囲内に前記オブジェクトがない場合に、前記仮想世界画像を第1の表示態様で表示させ、前記表示制御手段(105)は、前記所定範囲内に前記オブジェクトが移動し、かつ、前記タッチパネルに対して所定の操作が行われた場合に、前記仮想世界画像を第2の表示態様に切り替え、前記移動制御手段(107)は、前記仮想世界画像が前記第2の表示態様に切り替わった後に、前記タッチパネルがタッチされてタッチが解除された場合に、前記オブジェクトを移動させる、ことを特徴とする。1−6)の態様によれば、移動制御手段による移動が許可される状況において、ユーザが意志を持って所定の操作をした場合に、移動制御手段による移動のための操作に移行することができるので、特にユーザが必要ないと思うときに移動制御手段による移動が行われてしまうことを防止することができる。更に、仮想世界画像の表示態様が変わることによって、移動制御手段による移動のための操作に移行することをユーザに把握させることができる。
1−7)本発明の一態様では、前記オブジェクトは、キャラクタが移動させ、前記ゲーム制御装置(10)は、前記キャラクタの能力に基づいて、前記所定範囲を設定する範囲設定手段(102)を更に含む、ことを特徴とする。1−7)の態様によれば、キャラクタの能力によって移動制御手段(107)による移動が可能な範囲が変わるので、ゲームの興趣性を高めることができる。
1−8)本発明の一態様では、前記オブジェクトは、仮想世界においてキャラクタが移動させ、前記表示制御手段(105)は、前記仮想世界の様子を示す仮想世界画像を第1の表示態様で前記表示手段に表示させ、前記表示制御手段(105)は、前記タッチパネルに対して所定の操作が行われた場合に、前記仮想世界画像を前記第2の表示態様に切り替え、前記移動制御手段(107)は、前記仮想世界画像が前記第2の表示態様に切り替わった後に、前記タッチパネルがタッチされてタッチが解除された場合に、前記キャラクタの能力に更に基づいて、前記オブジェクトを移動させ、前記表示制御手段(105)は、前記仮想世界画像を前記第2の表示態様に切り替える場合に、前記キャラクタの能力を通知する、ことを特徴とする。1−8)の態様によれば、キャラクタの能力に基づいてオブジェクトが移動する場合に、当該能力をユーザに把握させることができる。また、ユーザが意志を持って所定の操作をした場合に、移動制御手段による移動のための操作に移行することができるので、特にユーザが必要ないと思うときに移動制御手段による移動が行われてしまうことを防止することができる。更に、仮想世界画像の表示態様が変わることによって、移動制御手段による移動のための操作に移行することをユーザに把握させることができる。更に、その際にキャラクタの能力を通知することで、より効果的に当該能力を把握させることができる。
1−9)本発明の一態様では、前記オブジェクトは、仮想世界においてキャラクタが移動させ、前記表示制御手段(105)は、前記仮想世界を仮想視点から見た様子を示す仮想世界画像を前記表示手段に表示させ、前記表示制御手段(105)は、前記タッチパネルがタッチされる場合に、前記仮想視点と前記キャラクタとの位置関係を所定の位置関係に設定する、ことを特徴とする。1−9)の態様によれば、ユーザがオブジェクトの移動を指示する状況において、仮想視点とキャラクタとが所定の位置関係となるので、例えば、キャラクタが邪魔な位置に表示されてしまうことを防止することができる。
1−10)本発明の一態様では、前記オブジェクトは、キャラクタが移動させ、前記表示制御手段(105)は、前記キャラクタの能力に基づいて、前記目標位置画像のサイズを決定する、ことを特徴とする。1−10)の態様によれば、目標位置画像のサイズにより、オブジェクトが目標位置からどれだけずれた位置に移動する可能性があるかを把握させることができる。また、目標位置画像のサイズによってキャラクタの能力をユーザに把握させることもできる。
1−11)本発明の一態様では、前記オブジェクトは、仮想世界において移動し、前記仮想世界には、前記オブジェクトの移動が制限される移動制限領域が設定され、前記変更手段(106)は、前記移動制限領域に前記目標位置が含まれないように、前記目標位置画像の表示位置を制限する、ことを特徴とする。1−11)の態様によれば、オブジェクトの移動が制限される位置を誤って目標位置として指定してしまうことを防止することができる。
1−12)本発明の一態様では、前記表示制御手段(105)は、前記タッチパネルがタッチされた場合に、前記オブジェクトの現在位置から前記目標位置までの予想軌道を示す軌道画像を表示させる、ことを特徴とする。1−12)の態様によれば、軌道画像によってオブジェクトがどのような軌道で移動するのかをユーザに把握させることができる。
1−13)本発明の一態様では、前記表示制御手段(105)は、前記タッチパネルへのタッチが解除された場合に、タッチが解除されたタイミングの評価を示す評価画像を表示させる、ことを特徴とする。1−13)の態様によれば、評価画像によって解除タイミングの良し悪しをユーザに把握させることができる。このため、ユーザは、次回以降の操作において、どのようなタイミングでタッチを解除すればよいかを検討することができる。
1−14)本発明の一態様では、前記表示制御手段(105)は、タッチが解除されたタイミングの評価が基準以上であった場合に、評価が基準以上であったことを通知する、ことを特徴とする。1−14)の態様によれば、解除タイミングが基準タイミングに近かったことをユーザが把握することができる。更に、ユーザは、この通知を見ることで、ユーザは自分の操作が良かったことを把握することができ、ユーザの満足度も高めることができる。
1−15)本発明の一態様では、前記ゲーム制御装置(10)は、ゲームの現在の状況に基づいて、前記目標位置画像の初期表示位置を決定する決定手段(103)、を更に含むことを特徴とする。1−15)の態様によれば、ゲームの状況によって目標位置の初期位置が変わるので、その後の目標位置の調整について、難易度を調整することができ、ゲームの興趣性を効果的に向上させることができる。
1−16)本発明の一態様では、前記ゲーム制御装置(10)は、前記タッチパネルがタッチされた場合に設定される前記オブジェクトの移動方法に基づいて、前記目標位置画像の初期表示位置を決定する決定手段(103)、を更に含むことを特徴とする。1−16)の態様によれば、オブジェクトの移動方法によって目標位置の初期位置が変わるので、その後の目標位置の調整について、難易度を調整することができ、ゲームの興趣性を効果的に向上させることができる。
1−17)本発明の一態様では、前記ゲーム制御装置(10)は、実行中のゲームの状況に基づいて、タッチを解除すべきタイミングを決定するタイミング決定手段(104)、を更に含むことを特徴とする。1−17)の態様によれば、ゲームの状況によってタッチを解除すべきタイミングが変わるので、操作が成功するかどうかの判断基準をゲームの状況に応じて変えることができ、ゲームの興趣性を効果的に向上させることができる。
1−18)本発明の一態様では、前記オブジェクトは、キャラクタが移動させ、前記移動制御手段(107)は、前記オブジェクトが実際に移動する位置と前記目標位置とのずれを、前記キャラクタの能力に基づいて決定する、ことを特徴とする。1−18)の態様によれば、キャラクタの能力によって、オブジェクトが目標位置からどれだけずれるかを変えることができ、ゲームの興趣性を効果的に向上させることができる。
1−19)本発明の一態様では、前記オブジェクトは、他のオブジェクトが配置された仮想世界で移動し、前記ゲーム制御装置(10)は、前記オブジェクトと前記他のオブジェクトとの当たり判定を実行する当たり判定実行手段(108)を更に含み、前記当たり判定実行手段(108)は、前記移動制御手段(107)により前記オブジェクトが移動する場合は、前記オブジェクトと前記他のオブジェクトとの当たり判定を省略する、ことを特徴とする。1−19)の態様によれば、オブジェクトが他のオブジェクトに当たらないような特殊な移動のさせ方をすることができる。その結果、例えば、ユーザがせっかく難易度の高い操作を成功させたにもかかわらず、オブジェクトが他のオブジェクトに当たってしまい、ユーザの思い通りに移動しなくなってしまうことを防止することができる。
[5−2.実施形態2に係る発明]
2−1)本発明の一態様に係るゲーム制御装置(10)は、オブジェクトが移動するゲームにおいて、前記オブジェクトの移動先を示す移動先画像を表示させ、タッチパネルがタッチされた場合に、タッチを解除すべきタイミングを案内するための案内画像を変化させながら表示させる表示制御手段(105)と、前記タッチパネルがタッチされた状態でタッチ位置が変更された場合に、当該タッチ位置の変更に基づいて、前記オブジェクトに対して作用を及ぼすための指示位置を示す指示位置画像の表示位置を変更する変更手段(106)と、前記タッチパネルへのタッチが解除されたタイミングにおける、前記移動先画像と前記案内画像の重なり方と、前記移動先画像と前記指示位置画像のずれ方と、に応じて、前記オブジェクトに及ぼす前記作用の内容を決定する決定手段(111)と、を含むことを特徴とする。
2−17)本発明の一態様に係るゲームシステム(S)は、オブジェクトが移動するゲームにおいて、前記オブジェクトの移動先を示す移動先画像を表示させ、タッチパネルがタッチされた場合に、タッチを解除すべきタイミングを案内するための案内画像を変化させながら表示させる表示制御手段(105)と、前記タッチパネルがタッチされた状態でタッチ位置が変更された場合に、当該タッチ位置の変更に基づいて、前記オブジェクトに対して作用を及ぼすための指示位置を示す指示位置画像の表示位置を変更する変更手段(106)と、前記タッチパネルへのタッチが解除されたタイミングにおける、前記移動先画像と前記案内画像の重なり方と、前記移動先画像と前記指示位置画像のずれ方と、に応じて、前記オブジェクトに及ぼす前記作用の内容を決定する決定手段(111)と、を含むことを特徴とする。
2−18)本発明の一態様に係るプログラムは、2−1)〜2−16)の何れかに記載のゲーム制御装置(10)又は2−17)に記載のゲームシステム(S)としてコンピュータを機能させる。
2−19)本発明の一態様に係る情報記憶媒体は、2−18)のプログラムを記録したコンピュータで読み取り可能な情報記憶媒体である。
2−1)又は2−17)〜2−19)に係る発明によれば、移動先画像と案内画像の重なり方と、移動先画像と指示位置画像のずれ方と、に応じてオブジェクトに対する作用の内容が決まるので、例えば、野球ゲームの特有の事情がなかったとしても、難易度が難しくなりすぎることがなく、適度な難易度で遊ぶことができるようになる。また、移動先画像と案内画像の重なり方や移動先画像と指示位置画像のずれ方という直感的に理解できるものによって、操作をすべきタイミングが分かりやすくなる。更に、タッチパネルをタッチしてタッチ位置を変更させてタッチを解除するという一連の操作により、オブジェクトに対して作用を及ぼすための操作のステップ数を減らし、操作の冗長性を減らすことができる。
2−2)本発明の一態様では、前記表示制御手段(105)は、互いにサイズが異なる前記移動先画像と前記案内画像とを、所定の範囲内に含まれる表示位置に表示させ、前記表示制御手段(105)は、前記案内画像のサイズが前記移動先画像のサイズに近づくように、前記案内画像を変化させる、ことを特徴とする。2−2)の態様によれば、移動先画像のサイズに近づくように案内画像のサイズが変化するので、タッチを解除すべきタイミングをユーザに直感的に把握させることができる。
2−3)本発明の一態様では、前記ゲーム制御装置(10)は、前記タッチパネルがタッチされた後に、前記移動先に向けて前記オブジェクトの移動を開始する移動制御手段(107)、を更に含むことを特徴とする。2−3)の態様によれば、タッチパネルをタッチする前にオブジェクトが移動してしまい、ユーザが操作するまもなく失敗と判定されてしまうことを防止することができる。
2−4)本発明の一態様では、前記オブジェクトは、仮想世界においてキャラクタが移動させ、前記ゲーム制御装置(10)は、前記キャラクタの能力に基づいて、前記オブジェクトを移動させる移動制御手段(107)を更に含み、前記表示制御手段(105)は、前記仮想世界の様子を示す仮想世界画像を第1の表示態様で前記表示手段に表示させ、前記表示制御手段(105)は、前記オブジェクトが前記移動先に移動する場合に、前記仮想世界画像を前記第2の表示態様に切り替え、前記表示制御手段(105)は、前記仮想世界画像を前記第2の表示態様に切り替える場合に、前記キャラクタの能力を通知する、ことを特徴とする。2−4)の態様によれば、キャラクタの能力に基づいてオブジェクトが移動する場合に、当該能力をユーザに把握させることができる。更に、仮想世界画像の表示態様が変わることによって、オブジェクトに作用を及ぼすための操作に移行することをユーザに把握させることができる。更に、その際にキャラクタの能力を通知することで、より効果的に当該能力を把握させることができる。
2−5)本発明の一態様では、前記オブジェクトは、仮想世界において、第1のキャラクタが移動させ、第2のキャラクタが前記作用を及ぼすものであり、前記表示制御手段(105)は、前記仮想世界を仮想視点から見た様子を示す仮想世界画像を前記表示手段に表示させ、前記表示制御手段(105)は、前記タッチパネルがタッチされる場合に、前記仮想世界画像において、前記第1のキャラクタ、前記第2のキャラクタ、及び前記指示位置画像が重ならないように、前記仮想視点を制御する、ことを特徴とする。2−5)の態様によれば、ユーザがオブジェクトに作用を及ぼすための操作をする状況において、各キャラクタと指示位置画像が重ならないように仮想視点が制御されるので、キャラクタが邪魔な位置に表示されてしまうことを防止することができる。
2−6)本発明の一態様では、前記オブジェクトは、キャラクタが前記作用を及ぼすものであり、前記決定手段(111)は、前記キャラクタの能力に更に基づいて、前記オブジェクトに前記作用を及ぼすのに成功するかを決定し、前記表示制御手段(105)は、前記キャラクタの能力を通知する、ことを特徴とする。2−6)の態様によれば、キャラクタの能力が操作の成否に係る場合に、当該能力をユーザに把握させることができる。例えば、指示位置画像付近で能力を通知すれば、より効果的に当該能力を把握させることができる。
2−7)本発明の一態様では、前記オブジェクトは、キャラクタが移動させるものであり、前記ゲーム制御装置(10)は、前記キャラクタの能力に基づいて、前記移動先を決定する移動先決定手段(109)、を更に含むことを特徴とする。2−7)の態様によれば、オブジェクトの移動先をキャラクタの能力に基づいて決めることで、移動先画像と指示位置画像の位置合わせの難易度を変えることができ、ゲームの興趣性が向上する。
2−8)本発明の一態様では、前記オブジェクトは、キャラクタが前記作用を及ぼすものであり、前記表示制御手段(105)は、前記キャラクタの表示位置と前記移動先画像の表示位置とに基づいて、前記指示位置画像の初期表示位置を決定する、ことを特徴とする。2−8)の態様によれば、指示位置画像の初期表示位置がキャラクタから離れた不自然な位置になったり、移動先画像から離れた操作しにくい位置になったりすることを防止することができる。
2−9)本発明の一態様では、前記ゲーム制御装置(10)は、前記ゲームの現在の状況に基づいて、前記指示位置画像の初期表示位置を決定する決定手段(103)、を更に含むことを特徴とする。2−9)の態様によれば、ゲームの状況によって指示位置画像の初期表示位置が変わるので、その後の指示位置の調整について、難易度を調整することができ、ゲームの興趣性を効果的に向上させることができる。
2−10)本発明の一態様では、前記オブジェクトは、キャラクタが前記作用を及ぼすものであり、前記決定手段(111)は、前記キャラクタの能力に更に基づいて、前記オブジェクトに前記作用を及ぼすのに成功するかを決定し、前記表示制御手段(105)は、前記キャラクタの能力に基づいて、前記指示位置画像の表示態様を決定する、ことを特徴とする。2−10)の態様によれば、指示位置画像の表示態様によってキャラクタの能力を把握することができる。
2−11)本発明の一態様では、前記表示制御手段(105)は、前記移動先画像と前記指示位置画像のずれ方に基づいて、前記移動先画像及び前記指示位置画像の少なくとも一方を変化させる、ことを特徴とする。2−11)の態様によれば、移動先画像と指示位置画像とのずれ方を分かりやすくすることができる。
2−12)本発明の一態様では、前記表示制御手段(105)は、前記タッチパネルへのタッチが解除された場合に、タッチが解除されたタイミングの評価を示す評価画像を表示させる、ことを特徴とする。2−12)の態様によれば、評価画像によってタイミングの良し悪しをユーザに把握させることができる。このため、ユーザは、次回以降の操作において、どのようなタイミングでタッチを解除すればよいかを検討することができる。
2−13)本発明の一態様では、前記ゲームは、前記オブジェクトが目標領域内に移動することを防ぐゲームであり、前記ゲーム制御装置(10)は、前記オブジェクトの現在位置に基づいて、前記目標領域に向けた移動が可能かを判定する判定手段(110)を更に含み、前記表示制御手段(105)、前記変更手段(106)、及び前記決定手段(111)は、前記判定手段(110)により前記目標領域に向けた移動が可能であると判定された場合に処理を実行する、ことを特徴とする。2−13)の態様によれば、オブジェクトが目標領域に向けて移動することができない状態にもかかわらず、オブジェクトに作用を及ぼすための操作が要求されてしまうことを防止することができる。
2−14)本発明の一態様では、前記オブジェクトは、キャラクタが前記作用を及ぼすものであり、前記決定手段(111)は、前記キャラクタの能力に更に基づいて、前記オブジェクトに及ぼす前記作用の内容を決定する、ことを特徴とする。2−14)の態様によれば、キャラクタの能力が成否に影響するので、ゲームの興趣性を高めることができる。
2−15)本発明の一態様では、前記表示制御手段(105)は、前記オブジェクトが前記移動先に向けて移動する場合に、現在位置よりも前記移動先に近い位置に前記オブジェクトが配置されているように、前記オブジェクトを表示させる、ことを特徴とする。タイミングを合わせて操作をするゲームでは、ユーザの操作が遅れがちであるが、2−15)の態様によれば、実際の位置よりも先の位置にあるようにオブジェクトを表示させるので、ユーザの操作支援を効果的に行うことができる。
2−16)本発明の一態様では、前記作用は、前記オブジェクトを受け止める又は弾くことであり、前記決定手段(111)は、前記オブジェクトを受け止めるか弾くかを決定する、ことを特徴とする。2−16)の態様によれば、オブジェクトを受け止める又は弾く場合におけるゲームの難易度を適度なものにすることができる。
なお、実施形態1に係る発明と実施形態2に係る発明を包含した態様に係るゲーム制御装置(10)又はゲームシステム(S)では、タッチパネルがタッチされた場合に、タッチを解除すべきタイミングを案内するための案内画像を変化させながら表示させる表示制御手段(105)と、タッチパネルがタッチされた状態でタッチ位置が変更された場合に、当該タッチ位置の変更に基づいて、ユーザの指示位置を示す指示位置画像の表示位置を変更する変更手段(106)と、タッチパネルへのタッチが解除されたタイミングにおける、指示位置画像と案内画像との重なり方に対応するゲーム処理を実行する処理実行手段(107,111)と、を含むことを特徴とする。
[5−3.実施形態3に係る発明]
3−1)本発明の一態様に係るゲーム制御装置(10)は、仮想世界で移動オブジェクトが移動するスポーツゲームにおいて、第1の視点に基づいて、前記仮想世界の様子を示す仮想世界画像を表示手段に表示させる表示制御手段(105)と、前記スポーツゲームのインプレイ中に、所定領域に向かって前記移動オブジェクトを移動させるための所定動作が行われる場合に前記第1の視点から第2の視点に切り替えるかを判定する判定手段(112)と、前記判定手段(112)により前記第2の視点に切り替えると判定された場合に、前記移動オブジェクトを視野内に含み、かつ、ユーザの操作対象オブジェクトと、前記所定領域及び前記所定動作をする非操作対象オブジェクトの少なくとも一方と、が重ならないような前記第2の視点に切り替える視点制御手段(113)と、前記視点制御手段(113)により前記第2の視点に切り替わった場合に、前記ユーザの操作に基づいて、前記操作対象オブジェクトを動作させる動作制御手段(114)と、を含むことを特徴とする。
3−14)本発明の一態様に係るゲームシステム(S)は、仮想世界で移動オブジェクトが移動するスポーツゲームにおいて、第1の視点に基づいて、前記仮想世界の様子を示す仮想世界画像を表示手段に表示させる表示制御手段(105)と、前記スポーツゲームのインプレイ中に、所定領域に向かって前記移動オブジェクトを移動させるための所定動作が行われる場合に前記第1の視点から第2の視点に切り替えるかを判定する判定手段(112)と、前記判定手段(112)により前記第2の視点に切り替えると判定された場合に、前記移動オブジェクトを視野内に含み、かつ、ユーザの操作対象オブジェクトと、前記所定領域及び前記所定動作をする非操作対象オブジェクトの少なくとも一方と、が重ならないような前記第2の視点に切り替える視点制御手段(113)と、前記視点制御手段(113)により前記第2の視点に切り替わった場合に、前記ユーザの操作に基づいて、前記操作対象オブジェクトを動作させる動作制御手段(114)と、を含むことを特徴とする。
3−15)本発明の一態様に係るプログラムは、3−1)〜3−13)の何れかに記載のゲーム制御装置(10)又は3−14)に記載のゲームシステム(S)としてコンピュータを機能させる。
3−16)本発明の一態様に係る情報記憶媒体は、3−15)のプログラムを記録したコンピュータで読み取り可能な情報記憶媒体である。
3−1)又は3−14)〜3−16)に係る発明によれば、第2の視点に切り替わった場合に、移動オブジェクトを視野内に含み、かつ、操作対象オブジェクトと所定領域又は非操作対象オブジェクトとが重ならないようになり、移動オブジェクトが表示される仮想世界画像が見やすくなるので、臨場感があり、かつ、ユーザの操作に支障がないような視点制御をすることができる。
3−2)本発明の一態様では、前記所定動作は、前記操作対象オブジェクトによって行われ、前記第2の視点は、前記操作対象オブジェクトと、前記所定領域と、前記移動オブジェクトの移動を防ぐための動作を行う非操作対象オブジェクトと、が重ならないような視点であり、前記動作制御手段(114)は、前記操作に基づいて、前記操作対象オブジェクトに前記所定動作をさせる、ことを特徴とする。3−2)の態様によれば、操作対象オブジェクトと所定領域と非操作対象オブジェクトとが重ならないような視点となるので、所定領域が見やすくなり、ユーザが操作しやすいように視点制御をすることができる。
3−3)本発明の一態様では、前記所定動作は、前記非操作対象オブジェクトによって行われ、前記操作対象オブジェクトは、前記所定動作をする非操作対象オブジェクトと前記所定領域との前記仮想世界における位置関係での間に配置され、前記第2の視点は、前記操作対象オブジェクトと、前記所定動作をする非操作対象オブジェクトと、が重ならないような視点であり、前記動作制御手段(114)は、前記操作に基づいて、前記操作対象オブジェクトに、前記移動オブジェクトが前記所定領域に向かって移動するのを防ぐための動作をさせる、ことを特徴とする。3−3)の態様によれば、操作対象オブジェクトと非操作対象オブジェクトとが重ならないような視点となるので、移動オブジェクトが見やすくなり、ユーザが操作しやすいように視点制御をすることができる。
3−4)本発明の一態様では、前記視点制御手段(113)は、前記所定領域の正面方向に対する、前記操作対象オブジェクト又は前記移動オブジェクトの現在位置に基づいて、前記第2の視点を設定する、ことを特徴とする。3−4)の態様によれば、操作対象オブジェクトが所定領域に向けて移動オブジェクトを移動させる場合に、所定領域の正面方向に対する操作対象オブジェクト又は移動オブジェクトの現在位置に応じた視点が設定されるので、所定領域に向けて移動オブジェクトを移動させやすい視点を設定することができ、操作しやすくするためにより効果的な視点制御をすることができる。
3−5)本発明の一態様では、前記操作対象オブジェクトは、前記移動オブジェクトを手又は足で移動させるキャラクタであり、前記視点制御手段(113)は、前記操作対象オブジェクトの両手又は両足のうち、前記移動オブジェクトを移動させる方の手又は足に基づいて、前記第2の視点を設定する、ことを特徴とする。3−5)の態様によれば、操作対象オブジェクトが移動オブジェクトを移動させる方の手又は足に応じた視点が設定されるので、操作対象オブジェクトの体が邪魔になってしまう見づらいアングルとなることを防止することができ、操作しやすくするためにより効果的な視点制御をすることができる。
3−6)本発明の一態様では、前記視点制御手段(113)は、前記仮想世界画像の左右の端部のうち、一方の端部側に前記操作対象オブジェクトが表示され、かつ、他方の端部側に前記所定領域が表示されるように、前記第2の視点を設定する、ことを特徴とする。3−6)の態様によれば、操作対象オブジェクトと所定領域とが比較的離れた表示位置となるように第2の視点が設定されるので、表示領域のスペースを有効活用することで、例えばユーザが広いスペースの中で位置の指定をすることが可能になるので、操作しやすくするためにより効果的な視点制御をすることができる。
3−7)本発明の一態様では、前記視点制御手段(113)は、前記所定領域の端部のうち、前記操作対象オブジェクトから遠い側にある端部が前記仮想世界画像に表示されるように、前記第2の視点を設定する、ことを特徴とする。3−7)の態様によれば、移動オブジェクトの移動先である所定領域の一部が画面から切れてしまうことを防止することができる。
3−8)本発明の一態様では、前記判定手段(112)により前記第2の視点に切り替えると判定された場合に、前記所定領域の位置に基づいて、前記操作対象オブジェクトの位置を移動させる位置移動手段(115)を更に含み、前記表示制御手段(105)は、前記視点制御手段(113)により前記第2の視点に切り替わった場合に、前記位置移動手段(115)により位置が移動された前記操作対象オブジェクトを表示させる、ことを特徴とする。3−8)の態様によれば、移動オブジェクトが向かう所定領域に応じた位置に操作対象オブジェクトを配置することで、仮想世界画像をより見やすいものとすることができ、より操作しやすい仮想世界画像を提供することができる。
3−9)本発明の一態様では、前記視点制御手段(113)は、前記判定手段(112)により前記第2の視点に切り替えると判定された場合に、前記非操作対象オブジェクトが前記仮想世界画像に表示され、かつ、前記操作対象オブジェクトが前記仮想世界画像に表示されないような第3の視点に切り替えた後に、前記第2の視点に切り替え、前記位置移動手段(115)は、前記視点制御手段(113)により前記第3の視点が設定されている間に、前記操作対象オブジェクトの位置を移動させる、ことを特徴とする。3−9)の態様によれば、操作対象オブジェクトが表示されない間に、操作対象オブジェクトの位置が変わるので、操作対象オブジェクトの位置が突然変わるような見た目の不自然さを防止することができる。
3−10)本発明の一態様では、前記位置移動手段(115)は、前記操作対象オブジェクトが前記所定領域に近づき、かつ、前記非操作対象オブジェクト又は前記移動オブジェクトから遠ざかるように、前記操作対象オブジェクトの位置を移動させる、ことを特徴とする。3−10)の態様によれば、操作対象オブジェクトと、移動オブジェクトを移動させる操作対象オブジェクトと、の間にスペースが空くので、表示領域のスペースを有効活用することができ、例えばユーザが広いスペースの中で位置の指定をすることが可能になるので、より操作しやすくなる。
3−11)本発明の一態様では、前記非操作対象オブジェクトは、前記移動オブジェクトを手又は足で移動させるキャラクタであり、前記視点制御手段(113)は、前記非操作対象オブジェクトの両手又は両足のうち、前記移動オブジェクトを移動させる方の手又は足に基づいて、前記第2の視点を設定する、ことを特徴とする。3−11)の態様によれば、非操作対象オブジェクトが移動オブジェクトを移動させる方の手又は足に応じた視点が設定されるので、非操作対象オブジェクトの体が邪魔になる見づらいアングルとなることを防止することができ、操作しやすくするためにより効果的な視点制御をすることができる。
3−12)本発明の一態様では、前記表示制御手段(105)は、前記視点制御手段(113)により前記第2の視点に切り替わった場合に、前記操作により指示される指示位置を示す指示位置画像を表示させ、前記視点制御手段(113)は、前記指示位置画像の初期表示位置に更に基づいて、前記第2の視点を設定する、ことを特徴とする。3−12)の態様によれば、指示位置画像の初期表示位置を考慮して視点制御をすることで、例えば、操作するために邪魔にならないような位置に指示位置画像を表示させることができる。
3−13)本発明の一態様では、前記動作制御手段(114)は、前記移動オブジェクトが前記所定領域に向けて移動する途中の所定地点を通過するタイミングで前記操作が行われた場合に、前記移動オブジェクトが前記所定領域に移動するのを防ぐ動作を成功させ、前記視点制御手段(113)は、前記所定地点に更に基づいて、前記第2の視点を設定する、ことを特徴とする。3−13)の態様によれば、ユーザが操作をする際のタイミングの目印となる所定地点を視点制御に影響させることで、当該所定地点を見やすい状態で表示させることができる。