以下、本発明の実施形態の例を図面に基づいて説明する。
[1.ゲームシステムの構成]図1は本発明の実施形態に係るゲームシステムの構成を示す。図1に示すように、本実施形態に係るゲームシステム1はゲーム端末10とサーバ30とを含む。ゲーム端末10はサーバ30とネットワークNを介して相互にデータ通信を行うことが可能である。なお、図1では、1台のゲーム端末10のみが示されているが、複数のゲーム端末10がゲームシステム1に含まれてもよい。
ゲーム端末10は、ユーザがゲームをプレイするために使用するコンピュータである。例えば、ゲーム端末10は、携帯電話機(スマートフォンを含む)又は携帯情報端末(タブレット型コンピュータを含む)等である。
図1に示すように、ゲーム端末10は制御部11、記憶部12、通信部13、操作部14、表示部15、及び音出力部16を含む。制御部11は少なくとも1つのマイクロプロセッサを含み、記憶部12に記憶されたプログラムに従って情報処理を実行する。記憶部12は主記憶部(例えばRAM)及び補助記憶部(例えば、不揮発性の半導体メモリ、ハードディスクドライブ、又はソリッドステートドライブ)を含み、プログラムやデータを記憶する。通信部13は、ネットワークNを介して他の装置とデータ通信するためのものである。
操作部14は、ユーザが各種操作を行うためのものである。表示部15は各種画像を表示するためのものであり、例えば液晶ディスプレイ又は有機ELディスプレイ等である。音出力部16は音データを出力するためのものであり、例えばスピーカ又はヘッドホン等である。図1に示すように、操作部14と表示部15とはタッチパネルTPとして一体的に形成される。タッチパネルTPは、ユーザの部位(指等)又は物体(タッチペン等)によってタッチされた位置を検出可能である。各種方式のタッチパネルをタッチパネルTPとして採用できる。「タッチ」とは、ユーザの部位又は物体がタッチパネルTPに触れることである。ただし、ユーザの部位又は物体がタッチパネルTPに触れていなくても、タッチパネルTPがタッチされたと判定される場合があってもよい。例えば、静電容量方式等においては、ユーザの部位等とタッチパネルTPとの間の距離を検出して、当該距離が閾値未満であれば、タッチされたと判定してもよい。また、タッチパネルTPは、ユーザの部位又は物体の3次元的な位置による入力を受け付けてもよい。以下では、ユーザの部位又は物体によってタッチされている位置としてタッチパネルTPによって検出された位置のことを「タッチ位置」と呼ぶ。
サーバ30は例えばサーバコンピュータである。図1に示すように、サーバ30は制御部31、記憶部32、及び通信部33を含む。制御部31、記憶部32、及び通信部33はゲーム端末10の制御部11、記憶部12、及び通信部13と同様である。サーバ30はデータベースDBにアクセスできる。データベースDBはサーバ30内に構築されてもよいし、サーバ30とは別のサーバコンピュータ内に構築されてもよい。
プログラムやデータはネットワークNを介してゲーム端末10又はサーバ30に供給されて、記憶部12又は記憶部32に記憶される。なお、情報記憶媒体(例えば光ディスク又はメモリカード等)に記憶されたプログラムやデータを読み取るための構成要素(例えば光ディスクドライブ又はメモリーカードスロット等)がゲーム端末10又はサーバ30に備えられてもよい。そして、プログラムやデータが情報記憶媒体を介してゲーム端末10又はサーバ30に供給されてもよい。
[2.ゲームの概要]ゲーム端末10では、アクションゲーム、スポーツゲーム、又はロールプレイングゲーム等の各種ゲームを実行することが可能である。
ゲーム端末10で実行されるゲームでは、ユーザはタッチパネルTPにタッチすることによって操作を行う。図2は、ユーザがゲームをプレイする際のゲーム端末10の持ち方の一例を示す。
図2に示す例では、ユーザは、ユーザから見てゲーム端末10の左端部及び右端部をそれぞれ左手LH及び右手RHで把持している。タッチパネルTPは矩形状を有しており、タッチパネルTPの上辺USの中点MP−1と下辺BSの中点MP−2とを結ぶ第1線SL−1と、タッチパネルTPの左辺LSの中点MP−3と右辺RSの中点MP−4とを結ぶ第2線SL−2とによってタッチパネルTPを右上領域URと左上領域ULと右下領域BRと左下領域BLとの4つの領域に分割した場合、ユーザの左手LHの親指LTは左下領域BLをタッチしやすい状態になり、ユーザの右手RHの親指RTは右下領域BRをタッチしやすい状態になる。この場合、ユーザは親指LT,RTでタッチパネルTPをタッチすることによって操作を行う。
図2では、ゲーム端末10を横持ちにした状態、すなわち、ゲーム端末10の横幅(上辺US又は下辺BSの長さ)が縦幅(左辺LS又は右辺RSの長さ)よりも長い状態でゲームをプレイする例を示しているが、ゲーム端末10を縦持ちにした状態、すなわち、ゲーム端末10の縦幅が横幅よりも長い状態でゲームをプレイしてもよい。
表示部15の表示領域には、所定の位置(例えば、表示領域の左上)を原点Osとし、互いに直交するXs軸及びYs軸(スクリーン座標系の座標軸)が設定される。表示領域とは、例えば、表示部15の画面全体のことである。表示領域上の位置は、スクリーン座標系の座標値により特定される。本実施形態では、タッチパネルTPが検出したタッチ位置もスクリーン座標系の座標値によって示されるものとするが、タッチ位置は別の座標軸の座標値で示されてもよい。
ゲーム端末10で実行されるゲームでは、タッチパネルTPをタッチすることによって行われる操作に応じて、ユーザの操作対象オブジェクトが動作する。ここで、「操作対象オブジェクト」とは、ユーザによる操作の対象となるオブジェクトである。すなわち、「操作対象オブジェクト」とは、ユーザの操作に従って動作したり、状態が変化したりするオブジェクトである。「オブジェクト」とは、表示部15に表示されるものであって、ユーザによる操作の対象になり得るものである。例えば、ユーザの操作に従って動作するゲームキャラクタ又は乗物や、ユーザの操作に従って移動するカーソル等が「オブジェクト」の一例に相当する。
以下では、ゲーム端末10で実行されるゲームの一例として、ユーザによって操作されるゲームキャラクタと対戦相手によって操作されるゲームキャラクタとが仮想世界で戦うゲームについて説明する。
ここで、「仮想世界」とはゲームの中の世界である。「仮想世界」は3次元的な空間であってもよいし、2次元的な平面であってもよい。「仮想世界」はゲーム空間又は仮想空間と言い換えることができる。また、「対戦相手」は、コンピュータ(CPU)であってもよいし、他のユーザであってもよい。また、ゲームはゲーム端末10単体によって実行される方式(スタンドアロン方式)のゲームであってもよいし、ゲーム端末10と他のゲーム端末10又はサーバ30との間でデータ通信が行われることによって実行される方式(ピアツーピア方式又はクライアント/サーバ方式)のゲームであってもよい。以下では、説明の簡便のため、基本的に、対戦相手がコンピュータ(CPU)であり、ゲームがスタンドアロン方式で実行される場合を例として説明する。
図3は仮想世界の一例を示す図である。図3に示すように、仮想世界VWには、所定の位置を原点Owとし、互いに直交するXw軸、Yw軸、及びZw軸(ワールド座標系の座標軸)が設定される。Yw軸の正方向が仮想世界VWにおける重力方向と逆の方向と一致するようにして、Yw軸は設定されている。仮想世界VWにおける位置は、ワールド座標系の座標値により特定される。
図3に示すように、仮想世界VWには、ゲームキャラクタの戦いが行われるフィールドの3DモデルであるフィールドFDがXw−Zw平面と平行になるように配置される。また、フィールドFD上には、それぞれゲームキャラクタの3Dモデルである4体のゲームキャラクタGC−1,GC−2,GC−3,GC−4が配置される。ゲームキャラクタGC−1はユーザによって操作されるゲームキャラクタであり、ゲームキャラクタGC−2,GC−3,GC−4は対戦相手によって操作されるゲームキャラクタである。
仮想世界VWには仮想視点VCが設定される。仮想視点VCは、仮想世界VWに設定される視点であり、例えば、仮想カメラである。仮想視点VCの位置及び視線方向は、ユーザの操作対象であるゲームキャラクタGC−1が視野内(例えば視野の中心)に含まれるように制御される。なお、仮想視点VCの位置及び視線方向は固定されてもよい。ゲームが開始すると、仮想視点VCから仮想世界VWを見た様子を示す仮想世界画像が表示部15に表示される。
図4は仮想世界画像の一例を示す図である。仮想世界画像G1は、仮想世界VWのうち、仮想視点VCの視野内の様子が座標変換されることで表示される。図4は、ゲームキャラクタGC−1〜GC−4が仮想視点VCの視野内に含まれている場合を示しているため、仮想世界画像G1はゲームキャラクタGC−1〜GC−4を含んでいる。
図4に示すように、ゲージP10−1,P10−2,P10−3,P10−4が仮想世界画像G1上の所定位置に表示される。このゲームでは、ゲーム開始時に、ゲームキャラクタGC−1〜GC−4の各々の体力パラメータが所定の初期値(例えば100)に設定される。また、ゲームキャラクタGC−1が他のゲームキャラクタGC−2,GC−3,GC−4からの攻撃によってダメージを受けると、ゲームキャラクタGC−1の体力パラメータが減少する。そして、ゲームキャラクタGC−1の体力パラメータが零まで減少すると、ゲームキャラクタGC−1は敗北したことになる。ゲームキャラクタGC−2,GC−3,GC−4に関しても同様に、他のゲームキャラクタからの攻撃によってダメージを受けると、体力パラメータが減少し、体力パラメータが零まで減少すると、そのゲームキャラクタは敗北したことになる。なお、このゲームでは、体力パラメータの値が増加する効果を有するゲームアイテムが仮想世界VWに配置される場合があり(後述の図6参照)、ユーザはゲームキャラクタGC−1にゲームアイテムを拾わせると、ゲームキャラクタGC−1の体力パラメータの値が所定量増加(回復)する。
ゲージP10−1はゲームキャラクタGC−1の体力パラメータの現在値を示す。具体的には、ゲージP10−1は伸縮部(斜線部分)を含み、伸縮部の長さがゲームキャラクタGC−1の体力パラメータの現在値を示す。すなわち、伸縮部の長さはゲームキャラクタGC−1の体力パラメータの値の変化に応じて変化し、伸縮部の長さはゲームキャラクタGC−1の体力パラメータの現在値に対応する長さに設定される。例えば、伸縮部が長いほど、ゲームキャラクタGC−1の体力パラメータの現在値が大きいことを示す。ゲームキャラクタGC−1の体力パラメータの値の減少に応じて、伸縮部は短くなり、ゲームキャラクタGC−1の体力パラメータの値の増加に応じて、伸縮部は長くなる。
同様に、ゲージP10−2はゲームキャラクタGC−2の体力パラメータの現在値を示す。また、ゲージP10−3はゲームキャラクタGC−3の体力パラメータの現在値を示す。さらに、ゲージP10−4はゲームキャラクタGC−4の体力パラメータの現在値を示す。ゲージP10−2〜P10−4はゲージP10−1と同様である。
また図4に示すように、パーツP11が仮想世界画像G1上の所定位置に表示される。このゲームでは制限時間が設定され、制限時間が経過した時点で、体力パラメータが零でないゲームキャラクタが複数残っている場合には、それらのゲームキャラクタのうちで、体力パラメータの値が最も高いゲームキャラクタが勝者となる。なお、制限時間が経過する前に、3体のゲームキャラクタの体力パラメータが零になると、残りの1体のゲームキャラクタが勝者となる。パーツP11は、制限時間が経過するまでの残り時間を示す。
また図4に示すように、ユーザがゲームキャラクタGC−1を操作するための仮想的な操作部材として、方向パッドP12、第1ボタンP13−1、第2ボタンP13−2、第3ボタンP13−3の画像が仮想世界画像G1上に表示される。また、ゲージP14が第2ボタンP13−2に関連付けて表示される。
方向パッドP12は、方向指示操作を受け付けるための仮想的な操作部材であり、ユーザが方向を指示するために用いられる。本実施形態では、ゲーム開始時点では方向パッドP12は表示されておらず、ユーザが親指LT等でタッチパネルTPをタッチオンした場合に方向パッドP12が表示される。「タッチオン」とは、タッチパネルTPへのタッチを開始することである。
ただし、タッチオンした際のタッチ位置がボタン領域A15内に含まれる場合には、方向パッドP12は表示されない。ボタン領域A15は、第1ボタンP13−1、第2ボタンP13−2、及び第3ボタンP13−3の表示領域とその周辺領域と含む領域である。ユーザがボタン領域A15内をタッチオンした場合、ユーザは、方向指示操作を行うためではなく、第1ボタンP13−1、第2ボタンP13−2、及び第3ボタンP13−3のいずれかをタップするためにタッチオンを行ったと考えられる。このため、ユーザの意思に反して方向パッドP12を表示することによってユーザの操作を邪魔してしまうことがないようにすべく、タッチオンした際のタッチ位置がボタン領域A15内に含まれる場合には方向パッドP12を有効にしないようにしている。
なお、タッチ位置と第1ボタンP13−1、第2ボタンP13−2、又は第3ボタンP13−3との位置関係(距離等)に基づき、その都度、方向パッドP12を有効にすべきか否かを判定するようにしてもよい。例えば、タッチ位置と第1ボタンP13−1との間の距離と、タッチ位置と第2ボタンP13−2との間の距離と、タッチ位置と第3ボタンP13−3との間の距離とのうちの少なくとも一つが閾値以下である場合に、方向パッドP12を有効にしないようにしてもよい。この場合、第1ボタンP13−1からの距離が閾値以下である領域と、第2ボタンP13−2からの距離が閾値以下である領域と、第3ボタンP13−3からの距離が閾値以下である領域とが、ボタン領域A15の代わりとなる領域として設定されているということもできる。なお、タッチ位置と第1ボタンP13−1との間の距離とは、タッチ位置と第1ボタンP13−1の基準点(中心点等)との間の距離であってもよいし、タッチ位置と第1ボタンP13−1の外縁との間の距離であってもよい。タッチ位置と第2ボタンP13−2又は第3ボタンP13−3との間の距離に関しても同様である。
また、タッチオンした際のタッチ位置が情報領域A16−1,A16−2内に含まれる場合にも、方向パッドP12は表示されない。情報領域A16−1は、ゲージP10−1〜P10−4の表示領域とその周辺領域と含む領域であり、情報領域A16−2は、パーツP11の表示領域とその周辺領域とを含む領域である。ゲージP10−1〜P10−4やパーツP11の示す情報はユーザにとって重要な情報であるところ、上記のような場合に方向パッドP12を表示してしまうと、方向パッドP12によってこれらの情報が見えにくくなってしまうため、上記のような場合にも方向パッドP12を表示しないようにしている。ただし、この場合、方向パッドP12は表示されないが、方向パッドP12は内部的に(不可視の状態で)有効になっているため、ユーザは方向指示操作を行うことができる。
なお、タッチ位置とゲージP10−1〜P10−4又はパーツP11との位置関係(距離等)に基づき、その都度、方向パッドP12を表示すべきか否かを判定するようにしてもよい。例えば、タッチ位置とゲージP10−1との間の距離と、タッチ位置とゲージP10−2との間の距離と、タッチ位置とゲージP10−3との間の距離と、タッチ位置とパーツP11との間の距離とのうちの少なくとも一つが閾値以下である場合に、方向パッドP12を表示しないようにしてもよい。この場合、タッチ位置とゲージP10−1との間の距離が閾値以下である領域と、タッチ位置とゲージP10−2との間の距離が閾値以下である領域と、タッチ位置とゲージP10−3との間の距離が閾値以下である領域と、タッチ位置とパーツP11との間の距離が閾値以下である領域とが、情報領域A16−1,A16−2の代わりとなる領域として設定されているということもできる。なお、「タッチ位置とゲージP10−1との間の距離」とは、タッチ位置とゲージP10−1の基準点(中心点等)との間の距離であってもよいし、タッチ位置とゲージP10−1の外縁との間の距離であってもよい。タッチ位置とゲージP10−2、ゲージP10−3、又はパーツP11との間の距離に関しても同様である。
図5A及び図5Bは方向パッドP12について説明するための図である。図5Aは、タッチオンされた時点の方向パッドP12を示す。図5Aに示すように、方向パッドP12はベース部P120とポインタ部P122とを含む。ベース部P120は方向パッドP12の本体に相当し、図5Aに示す例では、中心点P121を中心とする円形形状を有している。また、方向パッドP12では、ユーザのタッチ位置に応じた位置が、方向指示のための操作位置OPとして取得され、後述するように、中心点P121と操作位置OPとに基づいて指示方向が判定される。ポインタ部P122は操作位置OPを示し、図5Aに示す例では、中心点P123を中心とする円形形状を有している。ポインタ部P122は、中心点P123が操作位置OPと一致するようにして配置される。なお、ここで示す例ではベース部P120とポインタ部P122とがともに円形形状を有しているが、ベース部P120とポインタ部P122とは円形形状でなくてもよいし、互いに異なる形状であってもよい。また、本実施形態では、タッチ位置自体を操作位置OPとして取得することとして説明するが、タッチ位置と所定の関係を有するようなタッチ位置以外の位置を操作位置OPとして取得するようにしてもよい。
先述したように、本実施形態では、ゲーム開始時点では方向パッドP12は表示されておらず、ユーザが親指LT等でタッチパネルTPをタッチオンした場合に方向パッドP12が表示される。方向パッドP12の表示位置は、タッチオンされた時点のタッチ位置に基づいて設定される。具体的には、方向パッドP12は、ベース部P120の中心点P121がタッチオンされた時点のタッチ位置と一致するようにして配置される。また、本実施形態ではタッチ位置自体が操作位置OPとして取得されるため、方向パッドP12が表示された直後では操作位置OPがベース部P120の中心点P121と一致する。このため、図5Aに示すように、ポインタ部P122は、ポインタ部P122の中心点P123が中心点P121と一致するようにして配置される。なお、ベース部P120の中心点P121は方向パッドP12全体の中心点に相当しているため、以下では、中心点P121を方向パッドP12の中心点と記載する場合がある。
ユーザがスライド操作を行うことによってタッチ位置を移動させた場合、移動後のタッチ位置が操作位置OPとして取得され、ポインタ部P122の中心点P123が新たに取得された操作位置OPと一致するようにしてポインタ部P122の位置が更新される。このようにして、ポインタ部P122はタッチ位置の移動に応じて移動する。「スライド操作」とは、ユーザが親指LT等をタッチパネルTPにタッチさせた状態のまま当該親指LT等を移動させ、移動後においてもタッチを維持する操作である。
図5Bは、ユーザがタッチ位置を移動させた場合を示す。具体的には、図5Bは、ユーザがタッチ位置をベース部P120の中心点P121に対して上側に移動させた場合を示している。この場合、ベース部P120の中心点P121に対して上側に移動したタッチ位置が操作位置OPとして取得され、ポインタ部P122の中心点P123が操作位置OPと一致するようにしてポインタ部P122が移動するため、図5Bでは、ポインタ部P122の中心点P123も中心点P121に対して上側に移動している。
方向パッドP12では、中心点P121から操作位置OP(ポインタ部P122の中心点P123)への方向Dが指示方向として判定される。このため、例えば図5Bに示すように、ユーザは、操作位置OPが中心点P121に対して上側の位置となるようにタッチ位置を移動させる(すなわち、タッチ位置を中心点P121に対して上側の位置に移動させる)ことによって、上方向を指示できる。また例えば、ユーザは、操作位置OPが中心点P121に対して右側の位置となるようにタッチ位置を移動させる(すなわち、タッチ位置を中心点P121に対して右側の位置に移動させる)ことによって、右方向を指示できる。
なお、ユーザが指示可能な方向は上、下、左、右の四方向に限られるわけではない。例えば、ユーザは中心点P121を中心として360度どの方向も指示できる。ただし、ユーザが指示可能な方向を八方向(上、下、左、右、左上、右上、左下、右下)等の有限数の方向に限定してもよい。例えば、ユーザが指示可能な方向を八方向に限定する場合であれば、八方向のうちで上記方向Dに最も近い方向を指示方向として判定するような構成、又は、中心点P121を基準として八方向にそれぞれ対応する八つの領域を設定しておき、操作位置OPが含まれる領域に対応する方向を指示方向として判定するような構成等を採用すればよい。
ユーザの操作対象であるゲームキャラクタGC−1は指示方向への動作を行う。方向パッドP12における各方向は、仮想世界VWの各方向と対応付けられている。例えば、方向パッドP12における上方向、下方向、右方向、左方向は、仮想世界VWのYw軸正方向、Yw負方向、Xw正方向、Xw負方向とそれぞれ対応付けられる。
このため、例えば、ユーザが右方向を方向パッドP12で指示すると、ゲームキャラクタGC−1は右方向(Xw軸正方向)への移動動作を行う。一方、ユーザが左方向を方向パッドP12で指示すると、ゲームキャラクタGC−1は左方向(Xw軸負方向)への移動動作を行う。
なお、ゲームキャラクタGC−1の移動速度は、方向パッドP12の中心点P121と操作位置OP(ポインタ部P122の中心点P123)との間の距離Lに基づいて設定される。例えば、距離Lと移動速度との対応関係を示す対応関係情報が設定されており、この対応関係情報と距離Lとに基づいて、ゲームキャラクタGC−1の移動速度が設定される。この対応関係情報は、距離Lが長いほど移動速度が速くなるように設定される。例えば、距離Lが閾値未満である場合には、ゲームキャラクタGC−1の移動速度が第1移動速度(通常移動)に設定され、距離Lが閾値以上である場合には、ゲームキャラクタGC−1の移動速度が第1移動速度よりも速い第2移動速度(ダッシュ移動)に設定される。このため、ユーザは、中心点P121と操作位置OP(ポインタ部P122の中心点P123)との間の距離を調整することによって、ゲームキャラクタGC−1の移動方向とともに移動速度も指示することができる。
また、例えば、ユーザが真上方向又は斜め上方向を方向パッドP12で指示すると、ゲームキャラクタGC−1は真上方向(Yw軸正方向)又は斜め上方向へのジャンプ動作を行う。先述の通り、ユーザは中心点P121を中心として360度どの方向も指示できるため、ユーザが真上方向から少しずれた方向を方向パッドP12で指示すると、ゲームキャラクタGC−1は当該方向へのジャンプ動作を行う。このため、ユーザは操作位置OP(ポインタ部P122の中心点P123)を調整することによって、ゲームキャラクタGC−1のジャンプ方向を細かく指示できる。
なお、ゲームキャラクタGC−1のジャンプ動作は上記距離Lが閾値以上である場合に行われる。すなわち、真上方向や斜め上方向が指示された場合であっても、上記距離Lが閾値未満であれば、ゲームキャラクタGC−1にジャンプ動作を行わせない。方向パッドP12のような仮想的な操作部材の場合、ユーザは操作部材を操作している感触を得ることができないため、方向パッドP12の中心点P121と操作位置OP(ポインタ部P122の中心点P123)との位置関係を正確に把握できなくなる場合がある。このため、ユーザがゲームキャラクタGC−1にジャンプ動作を行わせる意図がないにもかかわらず、操作位置OP(ポインタ部P122の中心点P123)が中心点P121に対して上側の位置になる場合もある。この点、上記のようにすることによって、ユーザがゲームキャラクタGC−1にジャンプ動作を行わせる意図を有している可能性が高い場合に限って、ゲームキャラクタGC−1にジャンプ動作を行わせるようになっている。
図4に戻り、第1ボタンP13−1、第2ボタンP13−2、及び第3ボタンP13−3について説明する。これらのボタンの各々は、ユーザの操作対象であるゲームキャラクタGC−1が行う特定種類の動作と関連付けられている。また、これらのボタンは、タッチパネルTPの右下領域BR内に表示されているため、主に、ユーザの右手RHの親指RTでタッチされる。
第1ボタンP13−1は、真上方向へのジャンプ動作と関連付けられている。このため、ユーザが第1ボタンP13−1へのタップ操作を行うと、ゲームキャラクタGC−1が真上方向へのジャンプ動作を行う。「タップ操作」とは、タッチパネルTPをタッチオンする操作であってもよいし、タッチパネルTPをタッチオンしてタッチオフする操作であってもよい。すなわち、第1ボタンP13−1がタッチオンされた時点で第1ボタンP13−1がタップされたと判定してもよいし、第1ボタンP13−1がタッチオンされてタッチオフされた時点で第1ボタンP13−1がタップされたと判定してもよい。なお、「タッチオフ」とは、タッチパネルTPにタッチした指等をタッチパネルTPから離す操作である。また、「真上方向」とは、ゲームキャラクタGC−1から見て真上への方向である。図2〜4に示す例では、仮想世界VWの重力方向の真逆方向であるYw軸正方向、フィールドFDの直方向(法線方向)や、Ys軸負方向が「真上方向」に相当する。
先述のように、ユーザは方向パッドP12によって、任意の方向へのジャンプ動作をゲームキャラクタGC−1に行わせることができ、ゲームキャラクタGC−1のジャンプ方向を細かく指示できる。このため、ユーザは方向パッドP12によって、真上方向へのジャンプ動作をゲームキャラクタGC−1に行わせることもできる。しかしながら、方向パッドP12のような仮想的な操作部材の場合、ユーザは操作部材を操作している感触を得ることができないため、方向パッドP12の中心点P121と操作位置OP(ポインタ部P122の中心点P123)との位置関係を正確に把握できなくなる場合があり、方向パッドP12で正確に真上方向を指示することが困難である場合がある。この点、ユーザは第1ボタンP13−1へのタップ操作を行うことによって、容易に、真上方向へのジャンプ動作をゲームキャラクタGC−1に行わせることができる。すなわち、ユーザは、ジャンプ方向を細かく任意に指示したい場合と、ジャンプ方向として真上方向を容易に指示したい場合とで、方向パッドP12と第1ボタンP13−1とを使い分けることができる。
また、ジャンプ動作という同一種類の動作をゲームキャラクタGC−1に行わせるための操作として複数種類の操作が用意されていることによって、場面(ゲームの状況)に応じて、それらの操作を使い分けることも可能になる。例えば、ゲームキャラクタGC−1にジャンプ動作を行わせた後で直ちに攻撃動作も行わせたい場面では、親指LTで方向パッドP12を操作しながら、親指RTで後述の第2ボタンP13−2をタップするようにし、ゲームキャラクタGC−1に回避動作を行わせた後で直ちにジャンプ動作も行わせたい場面では、ゲームキャラクタGC−1に回避動作を行わせるための操作(例えばフリック操作)を親指LTで行いながら、親指RTで第1ボタンP13−1をタップするというようなことも可能になる。なお、「回避動作」とは、他のゲームキャラクタGC−2〜GC−4からの攻撃を回避する動作であり、本実施形態では、フリック操作に応じて、ゲームキャラクタGC−1は、フリック方向への回避動作として、フリック方向へステップする動作を行うようになっている。また、「フリック操作」とは、タッチパネルTPにタッチした指等を任意の方向にはらうように移動させる操作である。フリック操作の代わりに、方向パッドP12の操作に応じて、ゲームキャラクタGC−1が方向パッドP12で指示された方向への回避動作を行うようにしてもよい。
なお、ゲームキャラクタGC−1が右方向又は左方向へ移動している状態(右方向又は左方向が方向パッドP12で指示されている状態)で第1ボタンP13−1へのタップ操作が行われた場合には、真上方向へのジャンプ動作に対して、方向パッドP12での指示方向が反映されることにより、ゲームキャラクタGC−1は右斜め上方向又は左斜め上方向へのジャンプ動作を行うようになっている。
また、ゲームキャラクタGC−1がフィールドFDに接触していない間(例えば、ゲームキャラクタGC−1がジャンプしている間、又はゲームキャラクタGC−1が攻撃を受けて吹き飛ばされている間等)には、左方向又は右方向への移動指示による移動や攻撃の勢いの慣性が働くようにしてゲームキャラクタGC−1を移動させる。例えば、ゲームキャラクタGC−1のジャンプ中にユーザが右方向を方向パッドP12で指示をした場合、ジャンプ中のゲームキャラクタGC−1が空中で右方向に移動するようになっており、その後、ユーザが右方向の指示を止めても、慣性が働くことにより、右方向へのゲームキャラクタGC−1の移動が継続するようになっている。この状態でユーザが第1ボタンP13−1をタップした場合(又はユーザが方向パッドP12で真上方向を指示した場合)、ゲームキャラクタGC−1に真上方向へのジャンプ動作を行わせるようになっている。すなわち、ユーザが右方向の指示を止めた後、右方向へのゲームキャラクタGC−1の移動が継続している間に、第1ボタンP13−1がタップされた場合(又は方向パッドP12で真上方向が指示された場合)には、上記の慣性が消えるように右方向へのゲームキャラクタGC−1の移動の継続を止めて、別の方向(真上方向)へゲームキャラクタGC−1を移動させるようになっている。このため、上記のような慣性が働いている間にユーザは第1ボタンP13−1をタップする(又は方向パッドP12で真上方向を指示する)ことによって真上方向へのジャンプ動作をゲームキャラクタGC−1に行わせることにより、ゲームキャラクタGC−1の着地位置を調整できる。
なお、ユーザが方向パッドP12によってゲームキャラクタGC−1にジャンプ動作を開始させた場合には、所定期間(第1所定期間)が経過するまでの間(例えば方向パッドP12によるジャンプ指示操作と第1ボタンP13−1によるジャンプ指示操作とが略同時に行われたと判定されるような非常に短い時間等)に、ユーザが第1ボタンP13−1をタップしたとしても、ゲームキャラクタGC−1にジャンプ動作を行わせない。逆に、ユーザが第1ボタンP13−1によってゲームキャラクタGC−1にジャンプ動作を開始させた場合には、所定期間(第1所定期間)が経過するまでの間に、ユーザが真上方向又は斜め上方向を方向パッドP12で指示したとしても、ゲームキャラクタGC−1にジャンプ動作を行わせない。このようにすることによって、方向パッドP12によるジャンプ指示操作と第1ボタンP13−1によるジャンプ指示操作との両方が略同時に行われることによってゲームキャラクタGC−1の動作が不自然になってしまわないように図っている。また、方向パッドP12によるジャンプ指示操作と第1ボタンP13−1によるジャンプ指示操作との両方が略同時に行われた場合には誤操作である可能性が高いところ、上記のようにすることによって、誤操作をゲームに反映させずに無視できるようになり、その結果として、ユーザの操作性を向上できる。なお、ユーザが方向パッドP12によってゲームキャラクタGC−1にジャンプ動作を開始させた場合に、当該ジャンプ動作が完了するまでの間(所定期間の他の一例)、ユーザが第1ボタンP13−1をタップしたとしても、ゲームキャラクタGC−1にジャンプ動作を行わせないようにしたり、ユーザが第1ボタンP13−1によってゲームキャラクタGC−1にジャンプ動作を開始させた場合に、当該ジャンプ動作が完了するまでの間(所定期間の他の一例)、ユーザが真上方向又は斜め上方向を方向パッドP12で指示したとしても、ゲームキャラクタGC−1にジャンプ動作を行わせないようにしたりしてもよい。
また、ユーザが方向パッドP12によってゲームキャラクタGC−1にジャンプ動作を開始させた場合に、所定期間(第2所定期間)が経過するまでの間(例えば当該方向パッドP12によるジャンプ指示操作と略同時に行われたと判定されるような非常に短い時間等)、ユーザが真上方向又は斜め上方向を方向パッドP12で再度指示したとしても、ゲームキャラクタGC−1にジャンプ動作を行わせないようにしてもよい。同様に、ユーザが第1ボタンP13−1によってゲームキャラクタGC−1にジャンプ動作を開始させた場合に、所定期間(第2所定期間)が経過するまでの間に、ユーザが第1ボタンP13−1を再度タップしたとしても、ゲームキャラクタGC−1にジャンプ動作を行わせないようにしてもよい。このようにすることによって、方向パッドP12によるジャンプ指示操作が短い時間に連続して行われたり、第1ボタンP13−1によるジャンプ指示操作が短い時間に連続して行われたりすることによってゲームキャラクタGC−1の動作が不自然になってしまわないように図ることができる。なお、上記の第1所定期間の長さと上記の第2所定期間の長さとを異ならせてもよい。例えば、方向パッドP12によるジャンプ指示操作と第1ボタンP13−1によるジャンプ指示操作との異なる二種類の操作が略同時に行われた場合には誤操作である可能性が高いため、第1所定期間を第2所定期間よりも長く設定してもよい。また、方向パッドP12によってゲームキャラクタGC−1にジャンプ動作を開始させた場合に、当該ジャンプ動作が完了するまでの間(所定期間の他の一例)、ユーザが真上方向又は斜め上方向を方向パッドP12で再度指示したとしても、ゲームキャラクタGC−1にジャンプ動作を行わせないようにしたり、ユーザが第1ボタンP13−1によってゲームキャラクタGC−1にジャンプ動作を開始させた場合に、当該ジャンプ動作が完了するまでの間(所定期間の他の一例)、ユーザが第1ボタンP13−1を再度タップしたとしても、ゲームキャラクタGC−1にジャンプ動作を行わせないようにしたりしてもよい。
第2ボタンP13−2は攻撃動作と関連付けられている。このため、ゲームキャラクタGC−1が他のゲームキャラクタ(例えばゲームキャラクタGC−2)の方を向いている状態でユーザが第2ボタンP13−2へのタップ操作を行うと、ゲームキャラクタGC−1が当該他のゲームキャラクタへの攻撃動作を行う。
なお、ユーザは第2ボタンP13−2を長くタッチすることによって、攻撃動作の威力を高め、他のゲームキャラクタに与えるダメージを大きくすることができる。図4に示すように、ゲージP14が第2ボタンP13−2に関連付けて表示される。ユーザが第2ボタンP13−2をタッチオンすると、ゲージP14内の伸張部(斜線部分)が伸張し始める。ユーザが第2ボタンP13−2をタッチしている間、ゲージP14内の伸張部は最大長になるまで徐々に伸張する。伸張部が最大長になった状態でユーザがタッチオフすると、通常よりも威力の大きい別の攻撃動作が行われる。このように、ユーザは第2ボタンP13−2を長くタッチすることによって、攻撃動作の威力を高めることができる。
図4に示す例では、ゲージP14が円弧状の形状を有し、円形形状の第2ボタンP13−2の円周の一部分に沿って配置されている。このような形状・配置になっていることによって、直線状のゲージを配置する場合に比べて、長いゲージを少ないスペースで配置できる。また、ゲージP14は、第2ボタンP13−2を挟んで、タッチパネルTPの右下側部分(右手RHによって把持される部分)と対向する位置に表示されている。このような配置になっていることによって、第2ボタンP13−2をタッチしている親指RT(右手RH)によってゲージP14が隠れないようになっている。
第3ボタンP13−3は特別攻撃動作と関連付けられている。特別攻撃動作は、第2ボタンP13−2に関連付けられた通常の攻撃動作よりも大きなダメージを他のゲームキャラクタに与えることが可能な特別な攻撃動作(例えば必殺技等)である。
特別攻撃動作を実行可能な機会は限られている。例えば、ゲーム開始時には、特別攻撃動作をゲームキャラクタGC−1に行わせることはできず、所定条件が満足された場合に、特別攻撃動作を実行可能な状態になる。例えば、所定時間が経過した場合に、特別攻撃動作を実行可能な状態になる。この状態でユーザが第3ボタンP13−3へのタップ操作を行うと、ゲームキャラクタGC−1が特別攻撃動作を行う。なお、特別攻撃動作をゲームキャラクタGC−1に行わせると、特別攻撃動作を実行できない状態に戻る。それからさらに所定時間が経過すると、再度、特別攻撃動作を実行可能な状態になる。なお、本実施形態では、上記の所定条件を、所定時間が経過したか否かの条件としているが、他の条件(例えば、ゲームキャラクタGC−1が他のゲームキャラクタに与えたダメージが所定量に達したか否かの条件、又は、ゲームキャラクタGC−1が他のゲームキャラクタから受けたダメージが所定量に達したか否かの条件等)としてもよい。
ゲーム開始時には、第3ボタンP13−3は第1状態で表示され、時間経過とともに、第3ボタンP13−3は第1状態から第2状態へと徐々に変化する。そして、特別攻撃動作を実行可能な状態になるタイミングで第3ボタンP13−3は第2状態になる。また、この状態で特別攻撃動作をゲームキャラクタGC−1に行わせると、第3ボタンP13−3は第1状態に戻る。
本実施形態では、第3ボタンP13−3全体に対して斜線が付された状態が「第1状態」に相当し、第3ボタンP13−3に斜線が付されていない状態が「第2状態」に相当する。このため、ゲーム開始時に、斜線が全体に付された状態で第3ボタンP13−3が表示され、時間が経過するのに応じて、第3ボタンP13−3のうちの、斜線が付されていない部分の面積が徐々に大きくなっていく。図4に示す例では、円形状である第3ボタンP13−3のうちの、斜線が付されていない部分の面積が扇状に広がっていくようになっている。そして、特別攻撃動作を実行可能な状態になるタイミングで、第3ボタンP13−3は、斜線が付されていない状態になる、ユーザは第3ボタンP13−3の状態を参照することによって、特別攻撃動作を実行可能な状態であるか否かを把握できる。
先述したように、表示部15には、仮想視点VCの視野を示す仮想世界画像G1が表示される。このため、他のゲームキャラクタが仮想視点VCの視野外に位置している状態では当該他のゲームキャラクタは表示部15に表示されない。また先述したように、本実施形態では、ゲームアイテムが仮想世界VWに配置される場合があるが、ゲームアイテムが仮想視点VCの視野外に位置している状態では当該ゲームアイテムは表示部15に表示されない。
図6は上記のような状態の一例を示す。図6では、ゲームキャラクタGC−3とゲームアイテムGIとが仮想視点VCの視野VF外に位置している状態を示している。図7は、図6に示す状態で表示部15に表示される仮想世界画像G1の一例を示す。
図6に示す状態では、ゲームキャラクタGC−3が仮想視点VCの視野VF外に位置しているため、図7に示すように、ゲームキャラクタGC−3は表示部15に表示されない。このような場合、仮想視点VCの視野VF外に位置しているゲームキャラクタGC−3の位置を示すパーツP17−1が仮想世界画像G1に表示される。パーツP17−1は、ゲームキャラクタGC−3(当該パーツP17−1に対応するゲームキャラクタ)の位置に応じた態様で表示される。例えば、パーツP17−1の位置を、ゲームキャラクタGC−3の位置に応じた仮想世界画像G1内の位置に設定してもよい。また例えば、パーツP17−1を固定的な位置に配置し、パーツP17−1の態様(位置以外の態様)を、ゲームキャラクタGC−3への方向を示すような態様に設定してもよい。
図7に示す例では、ユーザの操作対象であるゲームキャラクタGC−1の位置からゲームキャラクタGC−3の位置への方向に伸ばした直線と、仮想世界画像G1の端部との交点に付近に、パーツP17−1が表示されている。また図7に示す例では、パーツP17−1のうちの「3」は、仮想視点VCの視野VF外に位置しているのがゲームキャラクタGC−3であることを識別する情報に相当する。なお、パーツP17−1の形状、色、又は模様等によって、仮想視点VCの視野VF外に位置しているのがどのゲームキャラクタであるのかを識別するようにしてもよい。また、パーツP17−1のうちの「>>」は、ゲームキャラクタGC−3が位置している方向を示す。例えば、ユーザの操作対象であるゲームキャラクタGC−1の位置からゲームキャラクタGC−3の位置への方向を示す。ゲームキャラクタGC−1の位置やゲームキャラクタGC−3の位置は、ワールド座標系(XwYwZw座標系)の位置であってもよいし、スクリーン座標系(XsYs座標系)の位置であってもよい。
パーツP17−1の表示態様は、ゲームキャラクタGC−3の状態に応じた表示態様に設定される。例えば、ゲームキャラクタGC−3が攻撃動作(又は特別攻撃動作)を行った場合には、パーツP17−1の表示態様が、ゲームキャラクタGC−3が攻撃動作(又は特別攻撃動作)を行ったことを示す態様に変化する。例えば、パーツP17−1が点滅したり、パーツP17−1の色が変化したり、パーツP17−1のサイズが大きくなったりする。このようにすることによって、ユーザはパーツP17−1の表示態様を頼りに、表示部15に表示されていないゲームキャラクタGC−3の状態(攻撃動作を行ったこと等)を把握できる。
また図6に示す状態では、ゲームアイテムGIが仮想視点VCの視野VF外に位置しているため、図7に示すように、ゲームアイテムGIは表示部15に表示されない。この場合、仮想視点VCの視野VF外に位置しているゲームアイテムGIの位置を示すパーツP17−2が仮想世界画像G1に表示される。パーツP17−1と同様、パーツP17−2は、ゲームアイテムGIの位置に応じた態様で表示される。図7に示す例では、ユーザの操作対象であるゲームキャラクタGC−1の位置からゲームアイテムGIの位置への方向に伸ばした直線と、仮想世界画像G1の端部との交点に付近に、パーツP17−2が表示されている。
図7に示す例の場合、パーツP17−2のうちの「I」は、仮想視点VCの視野VF外に位置しているのがゲームアイテムGIであることを識別する情報に相当する。なお、パーツP17−2の形状、色、又は模様等によって、仮想視点VCの視野VF外に位置しているのがゲームアイテムGIであることを識別するようにしてもよい。また、パーツP17−2は、ゲームアイテムGIの種類、名称、又は効果を示すようにしてもよい。また、パーツP17−2のうちの「<<」は、ゲームアイテムGIが位置している方向を示す。例えば、ユーザの操作対象であるゲームキャラクタGC−1の位置からゲームアイテムGIの位置への方向を示す。
パーツP17−2の表示態様は、ゲームアイテムGIの状態に応じた表示態様に設定される。例えば、仮想世界VWに配置されたゲームアイテムGIは、制限時間が経過すると消えるため、パーツP17−2の表示態様は、制限時間が経過するまでの残り時間に基づいて変化する。例えば、制限時間が経過するまでの残り時間が閾値以下になった場合に、パーツP17−2の表示態様が、残り時間が閾値以下になったことを示す態様に変化する。例えば、パーツP17−2が点滅したり、パーツP17−2の色が変化したり、パーツP17−2のサイズが大きくなったりする。このようにすることによって、ユーザはパーツP17−2の表示態様を頼りに、表示部15に表示されていないゲームアイテムGIの状態(消えるまでの残り時間が少なくなったこと等)を把握できる。
なお、パーツP17−1,P17−2は、第1ボタンP13−1、第2ボタンP13−2、第3ボタンP13−3と重なるような位置に表示してもよい。また、パーツP17−1は、ゲージP10−1〜P10−4やパーツP11と重ならないような位置に表示するとよい。
[3.機能ブロック]以上に説明したようなゲームを実現するための構成について説明する。図8は、ゲームシステム1で実現される主な機能ブロックを示す機能ブロック図である。図8に示すように、ゲームシステム1は、ゲームデータ記憶部100、表示制御部110、基準位置設定部120、操作位置取得部130、指示方向判定部140、第1動作制御部150、第2動作制御部160、第1制限部170、第2制限部180、及び第3制限部190を含む。
例えば、これらの機能ブロックはゲーム端末10(ゲーム制御装置の一例)で実現される。すなわち、ゲームデータ記憶部100は記憶部12によって実現され、他の機能ブロックは制御部11によって実現される。なお、ゲームデータ記憶部100はゲーム端末10からアクセス可能な他の装置の記憶部によって実現されてもよい。また、上記の機能ブロックはサーバ30(ゲーム制御装置の他の一例)で実現されてもよい。あるいは、上記の機能ブロックのうちの一部がゲーム端末10で実現され、残りがサーバ30で実現されてもよい。
[3−1]ゲームデータ記憶部100はゲームを実行するために必要なデータを記憶する。ここでは、ゲームデータ記憶部100に記憶されるデータの一例として、ゲーム状況データD101及び操作状況データD102について説明する。
[3−1−1]ゲーム状況データD101は実行中のゲームの状況を示すデータである。ゲーム状況データD101はゲームの実行中に繰り返し更新される。
例えば、ゲーム状況データD101は、仮想世界VWの現在の状況を示す状況データを含む。仮想世界VWの状況データは、ゲームキャラクタGC−1〜GC−4の各々の状態を示す状態データ、ゲームアイテムGIの状態を示す状態データや、仮想視点VCの状態を示す状態データを含む。
ゲームキャラクタGC−1〜GC−4の状態データは、ゲームキャラクタGC−1〜GC−4の各々の位置、向き、姿勢、実行中の動作の種類(再生中のモーションデータの種類及び現在フレーム)、及び、体力パラメータの現在値等を示すデータを含む。また、ゲームアイテムGIの状態データは、ゲームアイテムGIの位置、種類や、制限時間が経過するまで(消えるまで)の残り時間等を示すデータを含む。また、仮想視点VCの状態データは、仮想視点VCの位置、視線方向、画角等を示すデータを含む。
また例えば、ゲーム状況データD101は、対戦の戦況を示す戦況データを含む。戦況データは、制限時間が経過するまでの残り時間等を示すデータを含む。
[3−1−2]操作状況データD102はユーザの操作状況を示すデータである。例えば、操作状況データD102は、タッチパネルTPへのタッチ状況を示すデータを含む。このデータは、タッチパネルTPへのタッチが開始されてから現在までの間のタッチ位置の履歴を示すデータも含む。
また、操作状況データD102は、方向パッドP12の状態を示すデータを含む。このデータは、方向パッドP12を表示すべきか否か、方向パッドP12の中心点P121の現在位置や、ポインタ部P122の中心点P123の現在位置等を示すデータを含む。
さらに、操作状況データD102は、第1ボタンP13−1、第2ボタンP13−2、第3ボタンP13−3、及びゲージP14の状態を示すデータを含む。このデータは、第1ボタンP13−1、第2ボタンP13−2、及び第3ボタンP13−3がタッチされているか否か、ゲージP14の現在の長さや、第3ボタンP13−3が第1状態と第2状態との間のどの状態にあるのか等を示すデータを含む。
なお、ゲームデータ記憶部100に記憶されるデータは上記の例に限られない。例えば、ゲームキャラクタGC−1〜GC−4の各々のモデルデータ、モーションデータや、能力パラメータデータ等が記憶される。また例えば、ゲームアイテムGIの効果データ等も記憶される。
[3−2]表示制御部110は操作対象オブジェクトを表示部15に表示させる。
「操作対象オブジェクト」とは、ユーザによる操作の対象となるオブジェクトである。すなわち、「操作対象オブジェクト」とは、ユーザの操作に従って動作したり、状態が変化したりするオブジェクトである。なお、「オブジェクト」とは、表示部15に表示されるものであって、ユーザによる操作の対象となり得るものである。例えば、ユーザの操作に従って動作するキャラクタ又は乗物や、ユーザの操作に従って移動するカーソル等が「オブジェクト」の一例に相当する。先述のゲームの例では、ゲームキャラクタGC−1が「操作対象オブジェクト」の一例に相当する。
「操作対象オブジェクトを表示部15に表示させる」とは、操作対象オブジェクトを含むゲーム画像を生成して表示部15に表示させることである。なお、「操作対象オブジェクトを表示部15に表示させる」とは、操作対象オブジェクトを含むゲーム画像のデータを他の装置に送信することによって、操作対象オブジェクトを含むゲーム画像を他の装置に含まれる表示部に表示させることであってもよい。また、「ゲーム画像のデータ」は、ゲーム画像そのものを示すデータであってもよいし、ゲーム画像を生成するためのデータであってもよい。先述のゲームの例では、仮想世界画像G1が「ゲーム画像」の一例に相当する。
表示制御部110は、操作対象オブジェクトと他のオブジェクトとが配置されるゲーム空間のうちの表示対象領域を表示部15に表示させる。また、他のオブジェクトが表示対象領域外に位置している場合に、表示制御部110は、当該他のオブジェクトの位置を示す位置画像を表示部15に表示させる。さらに、表示制御部110は、他のオブジェクトの状態に基づいて、位置画像の表示態様を設定する。
「他のオブジェクト」とは、例えば、操作対象オブジェクトと対立する敵オブジェクトである。また例えば、「他のオブジェクト」とは、操作対象オブジェクトの味方オブジェクトであってもよい。また例えば、「他のオブジェクト」とは、ゲームアイテムであってもよい。
「位置画像」とは、表示対象領域外に位置している他のオブジェクトの位置をユーザが把握できるようにするために表示される画像である。例えば、「位置画像」は、ゲーム空間又は表示部15の所定位置(例えば操作対象オブジェクトの位置)から他のオブジェクトの位置への方向に伸びる直線と、ゲーム空間の表示対象領域又は表示部15の表示領域の境界との交点に基づく位置に表示される。
「位置画像の表示態様」とは、位置画像の種類、色、形状、大きさ、明るさ、又は、点滅の有無等である。
「他のオブジェクトの状態に基づいて、位置画像の表示態様を設定する」とは、位置画像の表示態様を、他のオブジェクトの状態に対応する表示態様に設定することである。言い換えれば、「他のオブジェクトの状態に基づいて、位置画像の表示態様を設定する」とは、他のオブジェクトの状態の変化に応じて、位置画像の表示態様を変化させることである。例えば、表示制御部110は、他のオブジェクト(敵オブジェクト)が操作対象オブジェクトへの攻撃動作を行った場合に、位置画像の表示態様を通常の表示態様から変化させる。また例えば、表示制御部110は、他のオブジェクト(味方オブジェクト)がピンチの状態になった場合に、位置画像の表示態様を通常の表示態様から変化させる。また例えば、表示制御部110は、他のオブジェクト(ゲームアイテム)が消えるまでの残り時間に応じて、位置画像の表示態様を変化させる。
先述のゲームの例では、対戦相手によって操作されるゲームキャラクタGC−2〜GC−4が「他のオブジェクト(敵オブジェクト)」の一例に相当する。また、ゲームアイテムGIも「他のオブジェクト」の一例に相当する。また、仮想視点VCの視野VFが「表示対象領域」の一例に相当し、パーツP17−1,P17−1が「位置画像」の一例に相当する。
このため、図6に示すように、ゲームキャラクタGC−3が仮想視点VCの視野VF外に位置している場合に、図7に示すように、表示制御部110は、ゲームキャラクタGC−3の位置を示すパーツP17−1を表示部15に表示させる。そして、ゲームキャラクタGC−3が攻撃動作を行った場合に、表示制御部110は、パーツP17−1の表示態様を、ゲームキャラクタGC−3が攻撃動作を行ったことを示す態様に設定する。
また図6に示すように、ゲームアイテムGIが仮想視点VCの視野VF外に位置している場合に、図7に示すように、表示制御部110は、ゲームアイテムGIの位置を示すパーツP17−2を表示部15に表示させる。そして、表示制御部110は、ゲームアイテムGIが消えるまでの残り時間に基づいて、パーツP17−2の表示態様を変化させる。
[3−3]基準位置設定部120はタッチパネルTPの特定の位置を基準位置として設定する。
「タッチパネルTPの特定の位置」とは、タッチパネルTPの入力検出位置としての座標系における特定の座標のことである。
「基準位置」とは、指示方向を判定する際の基準として用いられる位置である。例えば、方向指示操作を受け付けるための仮想的な操作部材(バーチャルパッド:仮想的な方向指示ボタン又は方向指示レバー等)を表示部15に表示する場合、当該仮想的な操作部材の代表的な点の位置が「基準位置」に相当する。具体的には、例えば、仮想的な操作部材の中心点が「基準位置」に相当する。仮想的な操作部材の中心点以外の位置が「基準位置」に相当してもよい。なお、先述のゲームの例では、方向パッドP12が「仮想的な操作部材」の一例に相当し、方向パッドP12の中心点P121が「基準位置」の一例に相当する。
「タッチパネルTPの特定の位置を基準位置として設定する」とは、例えば、タッチパネルTPへのタッチ位置に基づいて特定される位置を基準位置として設定することである。具体的には、タッチオンされた場合に、タッチ位置に基づいて特定される位置を基準位置として設定してもよい。例えば、タッチオンされた時点のタッチ位置(タッチ開始位置)を基準位置として設定してもよい。
なお、予め定められた特定の位置を基準位置として設定しておき、タッチオンされた場合に、タッチオンされた時点のタッチ位置に基づいて特定される位置に基準位置を変更してもよい。例えば、予め定められた基準位置と、タッチオンされた時点のタッチ位置との間の距離が閾値以上である場合に、当該タッチ位置に基準位置を変更してもよい。また、スライド操作によってタッチ位置が移動した結果として、基準位置とタッチ位置との間の距離が閾値以上になった場合にも、当該タッチ位置に基準位置を変更してもよい。
また、タッチ位置に関係なく、タッチパネルTPの予め定められた位置を基準位置として固定的に設定してもよい。
先述のゲームの例では、基準位置設定部120は、タッチオンされた時点のタッチ位置を基準位置として設定する。そして、タッチオンされた時点のタッチ位置と方向パッドP12の中心点P121とが一致するようにして、方向パッドP12が表示される。なお、基準位置設定部120は、タッチパネルTPの予め定められた位置を基準位置として固定的に設定してもよく、方向パッドP12がタッチパネルTPの予め定められた位置に固定的に表示されてもよい。
[3−4]操作位置取得部130は、タッチパネルTPのタッチ位置に応じた操作位置を取得する。
「操作位置」とは、方向を指示するための位置である。言い換えれば、「操作位置」とは、指示方向を示す位置である。
「タッチ位置に応じた操作位置を取得する」とは、例えば、タッチ位置自体を操作位置として取得することである。または、「タッチ位置に応じた操作位置を取得する」とは、タッチ位置以外の位置であって、かつ、タッチ位置に基づいて得られる位置を操作位置として取得することであってもよい。例えば、タッチ位置と所定の関係を有する位置を操作位置として取得することであってもよい。
先述のゲームの例では、操作位置取得部130は、タッチパネルTPのタッチ位置自体を操作位置OPとして取得し、当該操作位置OPにポインタ部P122の中心点P123を設定する。
[3−5]指示方向判定部140は、基準位置と操作位置との位置関係に応じた指示方向を判定する。
「基準位置と操作位置との位置関係」とは、例えば、基準位置から操作位置への方向である。また、「基準位置と操作位置との位置関係」とは、例えば、基準位置と操作位置との間の距離であってもよい。「指示方向」とは、ユーザによって指示された位置(タッチ位置)に基づいて判定される方向である。「基準位置と操作位置との位置関係に応じた指示方向を判定する」とは、基準位置と操作位置との位置関係に対応する方向を指示方向として判定することである。例えば、基準位置から操作位置への方向に対応する方向を指示方向として判定することである。なお、「方向Xに対応する方向」とは、方向Xと同じ方向又は略同じ方向である。「略同じ方向」とは、例えば、方向Xからユーザが認識できない程度に小さくずれた方向である。
先述のゲームの例では、図5Bに示したように、指示方向判定部140は、方向パッドP12の中心点P121(基準位置の一例)から操作位置OP(ポインタ部P122の中心点P123)への方向Dを指示方向として判定する。
なお、タッチ位置がボタン領域A15内である場合には、操作位置取得部130は、当該タッチ位置に応じた位置を操作位置OPとして取得せず、指示方向判定部140は、方向パッドP12の中心点P121から操作位置OPへの方向Dを指示方向として判定しないようになっている。
[3−6]第1動作制御部150は、基準位置と操作位置との位置関係に基づいて、所定種類の動作を操作対象オブジェクトに行わせる。
「所定種類の動作」とは、予め定められた特定の種類の動作である。例えば、「ジャンプ動作」、「回避動作」、「移動動作」、又は「攻撃動作」等が「所定種類の動作」の一例に相当する。また例えば、スポーツゲームにおける「パス動作」又は「シュート動作」等も「所定種類の動作」の一例に相当する。
なお、「所定種類の動作」は、ゲームの状況に応じて変化してもよい。ここで、「ゲームの状況」とは、例えば、操作対象オブジェクトの状態(位置又はパラメータの値等)、操作対象オブジェクトと他のオブジェクトとの位置関係、又は、制限時間が経過するまでの残り時間等である。例えば、スポーツゲームにおいて、通常の場合には、基準位置と操作位置との位置関係(例えば方向)に基づいて、パス動作を操作対象のゲームキャラクタに行わせ、操作対象オブジェクトが敵チームによって守備されるゴールから基準距離以下の領域に位置している場合には、基準位置と操作位置との位置関係(例えば方向)に基づいて、シュート動作を操作対象のゲームキャラクタに行わせるようにしてもよい。
一方、第2動作制御部160は、タッチパネルTPの所定領域へのタッチ操作に基づいて、所定種類の動作を操作対象オブジェクトに行わせる。
「所定領域」とは、予め定められた固定の領域である。すなわち、「所定領域」とは、予め定められた位置に固定された領域である。言い換えれば、「所定位置」とは、ユーザのタッチ位置に関係なく(ユーザのタッチ位置に影響されることなく)、予め定められた領域であって、ユーザのタッチ位置の座標が予め定められた領域(座標範囲)に含まれるか否かのみによって、特定のゲーム操作が行われたか否かを判定するために設定されるような領域(座標範囲)である。具体的には、仮想的なボタン等の操作部材が表示された領域が「所定領域」の一例に相当する。
例えば、「所定領域」は、タッチパネルTPの上辺US及び下辺BSの中点MP−1,MP−2を結んでなる第1線SL−1と、タッチパネルTPの左辺LS及び右辺RSの中点MP−3,MP−4を結んでなる第2線SL−2とによって、タッチパネルTPを右上領域URと左上領域ULと右下領域BRと左下領域BLとの4つの領域に分割した場合の右下領域BR又は左下領域BL内に設定される。先述のゲームの例では、第1ボタンP13−1の領域が「所定領域」の一例に相当する。このため、「所定領域」がタッチパネルTPの右下領域BRに設定されている。なお、左利きのユーザに対しては、第1ボタンP13−1、第2ボタンP13−2、及び第3ボタンP13−3をタッチパネルTPの左下領域BLに表示してもよい。すなわち、「所定領域」をタッチパネルTPの左下領域BLに設定してもよい。
「所定領域へのタッチ操作」とは、所定領域へのタッチを行うことである。例えば、「所定領域へのタッチ操作」とは、所定領域をタップする操作である。なお、「所定領域をタップする操作」とは、所定領域をタッチオンする操作のことであってもよいし、所定領域をタッチオンしてタッチオフする操作であってもよい。すなわち、所定領域がタッチオンされた時点で「所定領域へのタッチ操作」が行われたと判定するようにしてもよいし、所定領域がタッチオンされた後、タッチオフされた時点で「所定領域へのタッチ操作」が行われたと判定するようにしてもよい。なお、「所定領域へのタッチ操作」とは、所定領域を複数回タップする操作であってもよいし、所定領域を長押しする操作(すなわち、所定領域をタッチオンし、所定時間以上にわたってタッチを継続させる操作)であってもよい。
「所定領域へのタッチ操作に基づいて、所定種類の動作を操作対象オブジェクトに行わせる」とは、第1動作制御部150が操作対象オブジェクトに行わせる動作の種類と同じ種類の動作を、所定領域へのタッチ操作に基づいて、操作対象オブジェクトに行わせることである。例えば、所定領域へのタッチ操作が行われた場合に(すなわち、所定領域へのタッチ操作が行われたことをトリガとして)、所定種類の動作を操作対象オブジェクトに行わせることである。具体的には、所定領域がタッチオンされた時点で、所定種類の動作を操作対象オブジェクトに行わせることである。また例えば、所定領域がタッチオンされた後、タッチオフされた場合に、所定種類の動作を操作対象オブジェクトに行わせるようにしてもよい。
[3−7]例えば、第1動作制御部150は、指示方向判定部140によって判定された指示方向(基準位置と操作位置との位置関係に応じた方向)への所定種類の動作を操作対象オブジェクトに行わせる。
例えば、「所定種類の動作」が「ジャンプ動作」である場合、指示方向に向けてジャンプする動作が「指示方向への所定種類の動作」の一例に相当する。また例えば、「所定種類の動作」が「移動動作」である場合、指示方向に向けて移動する動作が「指示方向への所定種類の動作」の一例に相当する。また例えば、「所定種類の動作」が「攻撃動作」である場合、指示方向に向けて攻撃を行う動作が「指示方向への所定種類の動作」の一例に相当する。また例えば、「所定種類の動作」が「パス動作」である場合、指示方向に向けてパスを行う動作が「指示方向への所定種類の動作」の一例に相当する。また例えば、「所定種類の動作」が「シュート動作」である場合、指示方向に向けてシュートを行う動作が「指示方向への所定種類の動作」の一例に相当する。
一方、第2動作制御部160は、タッチパネルTPの所定領域へのタッチ操作に基づいて、所定方向への所定種類の動作を操作対象オブジェクトに行わせる。
「所定方向」とは、例えば、予め定められた特定の方向である。具体的には、「所定方向」とは、操作対象オブジェクトから見て真上方向又は真横方向である。ここで、「真上方向」とは、操作対象オブジェクトが配置されるゲーム空間(仮想世界VW)における重力方向と真逆の方向ということもできる。また、「真上方向」とは、操作対象オブジェクトが平面(フィールド又は地面)上に配置されている場合における当該平面の法線方向ということもできる。一方、「真横方向」とは、操作対象オブジェクトが配置されるゲーム空間(仮想世界VW)における重力方向と直交する方向ということもできる。また、「真横方向」とは、操作対象オブジェクトが平面(フィールド又は地面)上に配置されている場合における当該平面と平行な方向ということもできる。
または、「所定方向」とは、表示部15の垂直方向又は水平方向であってもよい。ここで、「垂直方向」とは、ユーザから見た表示部15の縦軸方向と一致する方向ということもできる。また、「垂直方向」とは、スクリーン座標系のYs軸方向と一致する方向ということもできる。一方、「水平方向」とは、ユーザから見た表示部15の横軸方向と一致する方向ということもできる。また、「水平方向」とは、スクリーン座標系のXs軸方向と一致する方向ということもできる。
なお、「所定方向」とは、例えば、操作対象オブジェクトの向き又は移動方向に応じた方向であってもよい。あるいは、「所定方向」とは、例えば、他のオブジェクト(例えば敵)との位置関係に応じた方向であってもよい。
「所定方向への所定種類の動作」とは、第1動作制御部150が操作対象オブジェクトに行わせる動作の種類と同じ種類の動作であって、所定方向に向けて行われる動作である。また、「所定方向に向けて行われる動作」とは、ユーザのタッチ操作の態様によらずに定まる方向(すなわち、ユーザのタッチ位置に応じた操作位置と基準位置との位置関係に関係なく予め定められた方向)に向けて行われる動作である。
「所定領域へのタッチ操作に基づいて、所定方向への所定種類の動作を操作対象オブジェクトに行わせる」とは、例えば、所定領域へのタップ操作が行われた場合に、所定方向への所定種類の動作を操作対象オブジェクトに行わせることである。具体的には、所定領域がタッチオンされた時点で、所定方向への所定種類の動作を操作対象オブジェクトに行わせることである。また例えば、所定領域がタッチオンされた後、タッチオフされた場合に、所定方向への所定種類の動作を操作対象オブジェクトに行わせるようにしてもよい。
先述のゲームの例では、ジャンプ動作が「所定種類の動作」の一例に相当する。第1動作制御部150は、指示方向判定部140によって判定された指示方向(方向パッドP12の中心点P121から操作位置OP(ポインタ部P122の中心点P123)への方向D)が真上方向又は斜め上方向である場合に、真上方向又は斜め上方向へのジャンプ動作をゲームキャラクタGC−1に行わせる。一方、第2動作制御部160は、第1ボタンP13−1へのタップ操作が行われた場合に、真上方向へのジャンプ動作をゲームキャラクタGC−1に行わせる。
また、ゲームキャラクタGC−1が右方向へ移動している状態(右方向が方向パッドP12で指示されている状態)で第1ボタンP13−1へのタップ操作が行われた場合には、第2動作制御部160は、真上方向(所定方向)へのジャンプ動作に対して、方向パッドP12での指示方向を反映させる。すなわち、第2動作制御部160は、真上方向(所定方向)のベクトルと右方向(方向パッドP12での指示方向)のベクトルとを合成してなる合成ベクトルの示す方向(すなわち右斜め上方向)へのジャンプ動作をゲームキャラクタGC−1に行わせる。ジャンプ方向の調整とジャンプ動作の実行指示との両方を片手で行うような操作はユーザによっては困難な場合があるが、上記のようにすれば、ユーザは一方の手(左手LH)でジャンプ方向の調整を行いながら、他方の手(右手RH)でジャンプ動作の実行指示を行うことができるため、ゲームキャラクタGC−1にジャンプ動作を行わせるための操作を単純化でき、操作性を向上させることができる。
なお、回避動作が「所定種類の動作」の一例に相当するようにしてもよい。すなわち、指示方向判定部140は、フリック操作の方向(例えば、フリック操作の起点(基準位置の一例)からフリック操作の終点(操作位置の一例)への方向)に応じた指示方向を判定し、第1動作制御部150は、指示方向判定部140によって判定された指示方向への回避動作(ステップ動作)をゲームキャラクタGC−1に行わせ、第2動作制御部160は、ボタン領域A15内に表示されるボタンへのタップ操作が行われた場合に、所定方向(例えば、ゲームキャラクタGC−1と、ゲームキャラクタGC−1への攻撃動作を行う他のゲームキャラクタとの位置関係とに基づき予め定められた規則によって定まる方向)への回避動作をゲームキャラクタGC−1に行わせるようにしてもよい。
[3−8]第1制限部170は、第1動作制御部150と第2動作制御部160との一方が所定種類の動作を操作対象オブジェクトに開始させた後、所定期間が経過するまで、第1動作制御部150と第2動作制御部160との他方が所定種類の動作を操作対象オブジェクトに行わせることを制限する。
「所定期間」とは、例えば、予め定められた短い期間(すなわち、第1動作制御部150によって所定種類の動作を操作対象オブジェクトに行わせるための操作と、第2動作制御部160によって所定種類の動作を操作対象オブジェクトに行わせるための操作とが略同時に行われたと判定されるような非常に短い期間)、又は、操作対象オブジェクトが所定種類の動作を完了するまでの期間である。また、「所定期間」とは、例えば、操作対象オブジェクトが所定種類の動作を完了した後、所定時間が経過するまでの期間であってもよい。
例えば、第1制限部170は、第1動作制御部150が指示方向への所定種類の動作を操作対象オブジェクトに開始させた後、所定期間が経過するまで、タッチパネルTPの所定領域へのタッチ操作がなされたとしても、第2動作制御部160によって所定方向への所定種類の動作を操作対象オブジェクトに行わせないようにする。
また例えば、第1制限部170は、第2動作制御部160が所定方向への所定種類の動作を操作対象オブジェクトに開始させた後、所定期間が経過するまで、指示方向が判定されたとしても、第1動作制御部150によって指示方向への所定種類の動作を操作対象オブジェクトに行わせないようにする。
先述のゲームの例では、ユーザが真上方向又は斜め上方向を方向パッドP12で指示することによってゲームキャラクタGC−1にジャンプ動作を行わせた後、所定期間が経過するまでの間に、ユーザが第1ボタンP13−1をタップしたとしても、第1制限部170は、ゲームキャラクタGC−1にジャンプ動作を行わせないようにする。逆に、ユーザが第1ボタンP13−1へのタップ操作を行うことによってゲームキャラクタGC−1にジャンプ動作を行わせた後、所定期間が経過するまでの間に、ユーザが真上方向又は斜め上方向を方向パッドP12で指示したとしても、第1制限部170は、ゲームキャラクタGC−1にジャンプ動作を行わせないようにする。
[3−9]基準位置設定部120は、タッチパネルTPへのタッチ操作に基づいて、基準位置を設定するようにしてもよい。ここでの「タッチパネルTPへのタッチ操作」とは、タッチパネルTPをタッチする操作であり、具体的には、例えば、タッチパネルTPをタッチオンする操作、又は、タッチパネルTPにタッチした指等をスライド移動させる操作(スライド操作)等である。例えば、基準位置設定部120は、タッチパネルTPがタッチオンされた場合に(タッチパネルTPがタッチオンされたことをトリガとして)、タッチオンされた際のタッチ位置に基づいて、基準位置を設定するようにしてもよい。また例えば、基準位置設定部120は、タッチパネルTPがタッチオンされた後のスライド操作に基づいて、基準位置を変更するようにしてもよい。具体的には、スライド操作によってタッチ位置が移動した結果としてタッチ位置と基準位置とが所定距離以上離れた場合に、基準位置設定部120は、タッチ位置に基づいて、基準位置を変更するようにしてもよい。
第2制限部180は、タッチ位置が所定条件を満足する場合に、当該タッチ位置に基づく基準位置の設定を制限する。なお、基準位置の設定が制限されることによって、指示方向判定部140による指示方向の判定や、第1動作制御部150による動作制御も制限されることになるため、第2制限部180は、タッチ位置が所定条件を満足する場合に、指示方向判定部140による指示方向の判定や、第1動作制御部150による動作制御を制限するものであるということもできる。
ここでの「所定条件」とは、タッチ位置に関する条件であり、基準位置の設定を制限すべきであるようなタッチ位置を示す条件である。例えば、「所定条件」として、タッチ位置と所定領域(第2動作制御部160における「所定領域」)との位置関係(例えば距離等)に関する条件が設定される。具体的には、例えば、所定領域を含む設定制限領域内にタッチ位置が含まれるとの条件が「所定条件」として設定される。すなわち、第2制限部180は、タッチ位置が設定制限領域内に含まれる場合に、該タッチ位置に基づく基準位置の設定を制限する。言い換えれば、第2制限部180は、所定領域を含む設定制限領域へのタッチ操作に基づく基準位置の設定を制限する。
「設定制限領域」とは、所定領域を含むように設定された領域である。例えば、「設定制限領域」とは、所定領域と所定領域の周辺領域とを含む領域である。また、「設定制限領域へのタッチ操作」とは、設定制限領域をタッチする操作であり、具体的には、例えば、設定制限領域をタッチオンする操作である。「設定制限領域へのタッチ操作」は、タッチパネルTPにタッチした指等を設定制限領域内にスライド移動させる操作(設定制限領域内へのスライド操作)等であってもよい。また、「設定制限領域へのタッチ操作に基づく基準位置の設定を制限する」とは、設定制限領域へのタッチ操作が行われたとしても、基準位置を設定させないことである。
先述のゲームの場合、タッチオンされた際のタッチ位置がボタン領域A15内に含まれるとの条件が「所定条件」の一例に相当し、ボタン領域A15が「設定制限領域」の一例に相当する。このため、第2制限部180は、ボタン領域A15がタッチオンされた場合には、方向パッドP12を有効にしないようにする。なお、タッチ位置と、第1ボタンP13−1、第2ボタンP13−2、又は第3ボタンP13−3との間の距離が閾値以下であるとの条件を「所定条件」としてもよい。すなわち、第2制限部180は、タッチ位置と、第1ボタンP13−1、第2ボタンP13−2、又は第3ボタンP13−3との間の距離が閾値以下である場合に、方向パッドP12を有効にしないようにしてもよい。
[3−10]表示制御部110は、基準位置設定部120によって設定される基準位置に所定画像を表示させる。また、第3制限部190は、基準位置が所定条件を満足する場合に、所定画像の表示を制限する。なお、所定画像の表示が制限されている場合であっても、第1動作制御部150は、基準位置と操作位置との位置関係に基づいて、所定種類の動作を操作対象オブジェクトに行わせる。
「所定画像」とは、基準位置に表示される画像である。例えば、方向を指示するための仮想的操作部材(仮想的な方向指示ボタン又は方向指示レバー等のバーチャルパッド)が「所定画像」の一例に相当する。先述のゲームの例では、方向パッドP12が「所定画像」の一例に相当する。
「所定条件」とは、基準位置に関する条件であり、所定画像の表示を制限すべきであるような基準位置を示す条件である。例えば、「所定条件」として、基準位置と、表示部15のうちの所定情報が表示される領域との位置関係(例えば距離等)に関する条件が設定される。具体的には、例えば、表示部15のうちの所定情報が表示される領域を含む表示制限領域内に基準位置が含まれるとの条件が「所定条件」として設定される。すなわち、第3制限部190は、基準位置が表示制限領域内に含まれる場合に、所定画像の表示を制限する。
「所定情報」とは、ユーザにとって重要な情報であり、この情報が見えにくくなってしまうとユーザにとって不利になってしまうような情報である。例えば、操作対象オブジェクトの状態に関する情報や、制限時間が経過するまでの残り時間に関する情報等が「所定情報」の一例に相当する。先述のゲームの例では、ゲージP10−1〜P10−4が示す情報(ゲームキャラクタGC−1〜GC−4の体力パラメータ)や、パーツP11が示す情報(制限時間が経過するまでの残り時間)が「所定情報」の一例に相当する。
「表示制限領域」とは、所定情報が表示される領域を含むように設定された領域である。例えば、「表示制限領域」とは、所定情報が表示される領域と当該領域の周辺領域とを含む領域である。先述のゲームの場合、情報領域A16−1,A16−2が「表示制限領域」の一例に相当する。
「所定画像の表示を制限する」とは、所定画像を表示させないことである。なお、「所定画像の表示を制限する」とは、所定情報が見えにくくならない程度に所定画像の透明度を高めて表示することであってもよい。
先述のゲームの例では、表示制御部110は、通常、タッチオンされた時点のタッチ位置と方向パッドP12の中心点P121とが一致するようにして、方向パッドP12を表示部15に表示させる。しかしながら、タッチオンされた時点のタッチ位置が情報領域A16−1,A16−2に含まれる場合に、第3制限部190は、表示制御部110に方向パッドP12を表示部15に表示させない。ただし、この場合にも、方向パッドP12は内部的に(不可視な状態で)有効になっているため、第1動作制御部150は、タッチオンされた時点のタッチ位置(内部的に設定された方向パッドP12の中心点P121)から操作位置OP(内部的に設定された方向パッドP12のポインタ部P122の中心点P123)への方向Dが真上方向又は斜め上方向である場合に、真上方向又は斜め上方向へのジャンプ動作をゲームキャラクタGC−1に行わせる。
[4.処理]次に、ゲームシステム1で実行される処理について説明する。
[4−1]ゲーム端末10では、タッチパネルTPをタッチオンすること(DOWNアクション)、タッチパネルTPをタッチしている指等をスライド移動させること(MOVEアクション)、又は、タッチパネルTPをタッチしていた指等をタッチパネルTPから離してタッチオフすること(UPアクション)等の各アクションが行われるごとに、OnTouchイベント(割り込み)が発生する。図9は、ゲーム中にOnTouchイベントが発生した場合に実行される処理について示すフロー図である。
図9に示すように、OnTouchイベントが発生した場合、制御部11は、OnTouchイベントにおけるアクションがDOWNアクションであるか否かを判定する(S100)。OnTouchイベントにおけるアクションがDOWNアクションである場合とは、ユーザがタッチパネルTPをタッチオンした場合である。この場合、制御部11はDOWN処理を実行する(S102)。DOWN処理は、DOWNアクションの場合に実行する処理である。詳細については後述する(図10A及び図10B参照)。
また制御部11は、OnTouchイベントにおけるアクションがMOVEアクションであるか否かを判定する(S104)。OnTouchイベントにおけるアクションがMOVEアクションである場合とは、ユーザがタッチパネルTPをタッチしている指等をスライド移動させた場合である。この場合、制御部11はMOVE処理を実行する(S106)。MOVE処理は、MOVEアクションの場合に実行する処理である。詳細については後述する(図11参照)。
また制御部11は、OnTouchイベントにおけるアクションがUPアクションであるか否かを判定する(S108)。OnTouchイベントにおけるアクションがUPアクションである場合とは、ユーザがタッチパネルTPをタッチしていた指等をタッチパネルTPから離してタッチオフした場合である。この場合、制御部11はUP処理を実行する(S110)。UP処理は、UPアクションの場合に実行する処理である。詳細については後述する(図12A及び図12B参照)。
[4−2]図10A及び図10Bは、ステップS102で実行されるDOWN処理の一例を示すフロー図である。図10Aに示すように、制御部11はユーザのタッチ位置のXsYs座標を取得する(S10200)。そして、制御部11はタッチ位置のXsYs座標がボタン領域A15内であるか否かを判定する(S10202)。タッチ位置のXsYs座標がボタン領域A15内でない場合(S10202:No)、制御部11は第1IDがNULLであるか否かを判定する(S10204)。
ゲーム端末10では、タッチパネルTPがタッチされるごとに、当該タッチに対してIDが割り当てられ、当該タッチの位置が当該IDと関連付けて管理される。当該タッチの位置が移動しても当該タッチとIDとの関連付けは維持され、当該タッチに関して発生したOnTouchイベントには当該IDが関連付けられる。図10Aにおいて、「現在ID」は、発生したOnTouchイベントに関連付けられたIDのことである。また、「第1ID」は、ボタン領域A15以外の領域内をタッチ開始位置とするタッチ(言い換えれば、ボタン領域A15以外の領域がタッチオンされた場合のタッチ)のIDを保持するためのものである。すなわち、「第1ID」は、第1ボタンP13−1、第2ボタンP13−2、及び第3ボタンP13−3へのタップ操作を行うためではなく、方向指示操作を行う(方向パッドP12を操作する)ために行われたタッチのIDを保持するためのものである。第1IDがNULLでなく、第1IDにIDがセットされている状態は、ボタン領域A15以外の領域内をタッチ開始位置とするタッチが維持されている状態である。一方、第1IDがNULLである状態は、ボタン領域A15以外の領域内をタッチ開始位置とするタッチが維持されていない状態である。
ステップS10204において第1IDがNULLでないと判定される場合(S10204:No)とは、ボタン領域A15以外の領域内をタッチ開始位置とするタッチが存在されている状態で、さらに、ボタン領域A15以外の領域内が新たにタッチオンされた場合であり、当該新たなタッチのIDが現在IDとなっている場合である。本実施形態ではこのような新たなタッチを無視して本処理を終了する。
一方、ステップS10204において第1IDがNULLであると判定された場合(S10204:Yes)、制御部11は第1IDに現在IDをセットする(S10206)。さらに、制御部11は方向パッド有効フラグをONにし(S10208)、方向パッドP12の中心点P121及びポインタ部P122の中心点P123の座標として、ステップS10200で取得された座標をセットする(S10210)。方向パッド有効フラグは、方向パッドP12による方向指示操作の受付を有効にするか否かを示すものである。試合開始時において方向パッド有効フラグはOFFになっており、方向パッド有効フラグがOFFである場合には方向パッドP12による方向指示操作の受付は行われない。一方、方向パッド有効フラグがONである場合には方向パッドP12による方向指示操作の受付が行われる。
また、制御部11は、ステップS10200でタッチ位置のXsYs座標が情報領域A16−1,A16−2内であるか否かを判定する(S10212)。タッチ位置のXsYs座標が情報領域A16−1,A16−2内でない場合(S10212:No)、制御部11は方向パッド表示フラグをONにする(S10214)。方向パッド表示フラグは、方向パッドP12を表示するか否かを示すものである。試合開始時において方向パッド表示フラグはOFFになっており、方向パッド表示フラグがOFFである場合には方向パッドP12は表示されない。一方、方向パッド表示フラグがONである場合には方向パッドP12が表示される。この際、方向パッドP12は、ステップS10210でセットされた座標を中心点P121として表示される。なお、方向パッド表示フラグがOFFになっている場合には方向パッドP12は表示されないが、方向パッド有効フラグがONになっていれば、方向パッドP12が内部的に(不可視の状態で)有効になっており、方向パッドP12による方向指示操作は受け付けられる。
ステップS10202においてタッチ位置のXsYs座標がボタン領域A15内であると判定された場合(S10202:Yes)、図10Bに示すように、制御部11は第2IDがNULLであるか否かを判定する(S10216)。ここで、「第2ID」は、ボタン領域A15内をタッチ開始位置とするタッチ(言い換えれば、ボタン領域A15がタッチオンされた場合のタッチ)のIDを保持するためのものである。すなわち、「第2ID」は、第1ボタンP13−1、第2ボタンP13−2、及び第3ボタンP13−3へのタップ操作を行うために行われたタッチのIDを保持するためのものである。第2IDがNULLでなく、第2IDにIDがセットされている状態は、ボタン領域A15内をタッチ開始位置とするタッチが維持されている状態である。一方、第2IDがNULLである状態は、ボタン領域A15内をタッチ開始位置とするタッチが維持されていない状態である。
ステップS10216において第2IDがNULLでないと判定される場合(S10216:No)とは、ボタン領域A15内をタッチ開始位置とするタッチが維持されている状態で、さらに、ボタン領域A15内が新たにタッチオンされた場合であり、当該新たなタッチのIDが現在IDとなっている場合である。本実施形態ではこのような新たなタッチを無視してDOWN処理を終了する。
一方、ステップS10216において第2IDがNULLであると判定された場合(S10216:Yes)、制御部11は第2IDに現在IDをセットする(S10218)。さらに、制御部11は、ステップS10200で取得されたタッチ位置のXsYs座標が第1ボタンP13−1の領域内であるか否かを判定する(S10220)。ここで、「第1ボタンP13−1の領域」とは、第1ボタンP13−1が表示された領域であってもよいし、第1ボタンP13−1に対して設定された別個の不可視(非表示)の領域であってもよい。
タッチ位置のXsYs座標が第1ボタンP13−1の領域内である場合(S10220:Yes)、制御部11は、第1ボタンP13−1のフラグをセットする(S10222)。例えば、制御部11は第1ボタンP13−1のオン状態フラグをONにし、タッチオンフラグをONにし、タッチオフフラグをOFFにする。ステップS10222が実行された後、本処理は終了する。
なお、第1ボタンP13−1の「オン状態フラグ」とは、第1ボタンP13−1がタッチされているか否かを示すフラグである。このオン状態フラグは、第1ボタンP13−1がタッチされていない場合にOFFに設定され、第1ボタンP13−1がタッチされている場合にONに設定される。試合開始時に第1ボタンP13−1のオン状態フラグはOFFに初期設定される。
また、第1ボタンP13−1の「タッチオンフラグ」とは、第1ボタンP13−1がタッチオンされたか否か(第1ボタンP13−1がタッチされていない状態から、第1ボタンP13−1がタッチされた状態へと変化したか否か)を示すフラグである。このタッチオンフラグは、第1ボタンP13−1がタッチオンされた場合にONに設定される。なお、試合開始時に第1ボタンP13−1のタッチオンフラグはOFFに初期設定される。
また、第1ボタンP13−1の「タッチオフフラグ」とは、第1ボタンP13−1がタッチオフされたか否か(第1ボタンP13−1をタッチしていた指等がタッチパネルTPから離れたか否か)を示すフラグである。このタッチオフフラグは、第1ボタンP13−1がタッチオフされた場合にONに設定される。なお、試合開始時に第1ボタンP13−1のタッチオフフラグはOFFに初期設定される。
ステップS10220においてタッチ位置のXsYs座標が第1ボタンP13−1の領域内でないと判定された場合(S10220:No)、制御部11は、ステップS10200で取得されたタッチ位置のXsYs座標が第2ボタンP13−2の領域内であるか否かを判定する(S10224)。ここで、「第2ボタンP13−2の領域」とは、第1ボタンP13−1の領域と同様である。
タッチ位置のXsYs座標が第2ボタンP13−2の領域内である場合(S10224:Yes)、制御部11は、第2ボタンP13−2のフラグをセットする(S10226)。例えば、制御部11は、第2ボタンP13−2のオン状態フラグをONにし、タッチオンフラグをONにし、タッチオフフラグをOFFにする。なお、第2ボタンP13−2のオン状態フラグ、タッチオンフラグ、及びタッチオフフラグは第1ボタンP13−1のオン状態フラグ、タッチオンフラグ、及びタッチオフフラグと同様であるため、ここでは説明を省略する。ステップS10226が実行された後、本処理は終了する。
ステップS10224においてタッチ位置のXsYs座標が第2ボタンP13−2の領域内でないと判定された場合(S10224:No)、制御部11は、ステップS10200で取得されたタッチ位置のXsYs座標が第3ボタンP13−3の領域内であるか否かを判定する(S10228)。ここで、「第3ボタンP13−3の領域」とは、第1ボタンP13−1の領域と同様である。
タッチ位置のXsYs座標が第3ボタンP13−3の領域内である場合(S10228:Yes)、制御部11は、第3ボタンP13−3が有効であるか否かを判定する(S10230)。すなわち、制御部11は、特別攻撃動作をゲームキャラクタGC−1に行わせることが可能な状態であるか否かを判定する。第3ボタンP13−3が有効である場合(S10230:Yes)とは、特別攻撃動作を実行可能な状態にある場合であり、この場合、制御部11は、第3ボタンP13−3のフラグをセットする(S10232)。例えば、制御部11は、第3ボタンP13−3のオン状態フラグをONにし、タッチオンフラグをONにし、タッチオフフラグをOFFにする。なお、第3ボタンP13−3のオン状態フラグ、タッチオンフラグ、及びタッチオフフラグは第1ボタンP13−1のオン状態フラグ、タッチオンフラグ、及びタッチオフフラグと同様であるため、ここでは説明を省略する。
ステップS10232が実行された後、本処理は終了する。なお、タッチ位置のXsYs座標が第3ボタンP13−3の領域内でない場合(S10228:No)や、第3ボタンP13−3が有効でない場合(S10230:No)、ステップS10232を実行することなく、本処理は終了する。
[4−3]図11は、ステップS106で実行されるMOVE処理の一例を示すフロー図である。図11に示すように、まず、制御部11は、発生したOnTouchイベント(MOVEアクション)の対象のタッチ位置のXsYs座標を取得する(S10600)。また、制御部11は現在IDが第1IDであるか否かを判定する(S10602)。ここで、「現在ID」とは、発生したOnTouchイベントに関連付けられたIDであり、MOVEアクションの対象のタッチのIDである。
現在IDが第1IDである場合(S10602:Yes)とは、発生したOnTouchイベント(MOVEアクション)が、方向パッドP12をタッチしている指等(親指LT)の移動に関するものである場合である。この場合、制御部11は、方向パッド有効フラグがONであるか否かを判定する(S10604)。そして、方向パッド有効フラグがONである場合(S10604:Yes)、制御部11は、ポインタ部P122の中心点P123の座標として、ステップS10600で取得された座標をセットし(S10606)、本処理を終了する。方向パッド有効フラグがONでない場合(S10604:No)、ステップS10606を実行することなく、本処理は終了する。
[4−4]図12A及び図12Bは、ステップS110で実行されるUP処理の一例を示すフロー図である。図12Aに示すように、まず、制御部11は現在IDが第1IDであるか否かを判定する(S11000)。ここで、「現在ID」とは、発生したOnTouchイベントに関連付けられたIDであり、UPアクションの対象のタッチのIDである。UPアクションとは、タッチオフされること(すなわち、タッチパネルTPをタッチしていた指がタッチパネルTPから離れること)であるため、「現在ID」とは、タッチオフされたタッチのIDである。
ステップS11000において現在IDが第1IDであると判定される場合(S11000:Yes)とは、方向パッドP12をタッチしていた指等(親指LT)がタッチパネルTPから離れた場合である。この場合、制御部11は第1IDをNULLにし(S11002)、方向パッド有効フラグ及び方向パッド表示フラグをOFFにし(S11004)、本処理を終了する。
一方、ステップS11000において現在IDが第1IDでないと判定された場合(S11000:No)、制御部11は現在IDが第2IDであるか否かを判定する(S11006)。ステップS11008において現在IDが第2IDであると判定される場合(S11006:Yes)とは、第1ボタンP13−1、第2ボタンP13−2、又は第3ボタンP13−3をタッチしていた指等(親指RT)がタッチパネルTPから離れた場合である。この場合、制御部11は第2IDをNULLにする(S11008)。
また制御部11は、第1ボタンP13−1のオン状態フラグがONであるか否かを判定する(S11010)。ここで、第1ボタンP13−1のオン状態フラグがONであると判定される場合(S11010:Yes)とは、第1ボタンP13−1をタッチしていた指等(親指RT)がタッチパネルTPから離れた場合である。この場合、制御部11は第1ボタンP13−1のオン状態フラグをOFFにし、第1ボタンP13−1のタッチオフフラグをONにし(S11012)、本処理を終了する。
ステップS11010において第1ボタンP13−1のオン状態フラグがONでないと判定された場合(S11010:No)、制御部11は、第2ボタンP13−2のオン状態フラグがONであるか否かを判定する(S11014)。ここで、第2ボタンP13−2のオン状態フラグがONであると判定される場合(S11014:Yes)とは、第2ボタンP13−2をタッチしていた指等(親指RT)がタッチパネルTPから離れた場合である。この場合、制御部11は第2ボタンP13−2のオン状態フラグをOFFにし、第2ボタンP13−2のタッチオフフラグをONにし(S11016)、本処理を終了する。
ステップS11014において第2ボタンP13−2のオン状態フラグがONでないと判定された場合(S11014:No)、制御部11は、第3ボタンP13−3のオン状態フラグがONであるか否かを判定する(S11018)。ここで、第3ボタンP13−3のオン状態フラグがONであると判定される場合(S11018:Yes)とは、第3ボタンP13−3をタッチしていた指等(親指RT)がタッチパネルTPから離れた場合である。この場合、制御部11は第3ボタンP13−3のオン状態フラグをOFFにし、第3ボタンP13−3のタッチオフフラグをONにし(S11020)、本処理を終了する。なお、ステップS11018において第3ボタンP13−3のオン状態フラグがONでないと判定された場合(S11018:No)、ステップS11020を実行することなく、本処理は終了する。
[4−5]図13は、ゲーム中にゲーム端末10で繰り返し実行される処理について示すフロー図である。図13に示すように、まず、制御部11はゲーム処理を実行する(S120)。ゲーム処理ではゲーム状況データD101が更新される。
例えば、ゲーム処理では、ユーザの操作対象であるゲームキャラクタGC−1の状態データが更新される。図14は、ゲームキャラクタGC−1の状態データを更新するための処理の一例を示す。
図14に示すように、まず、制御部11は方向パッド有効フラグがONであるか否かを判定する(S12000)。方向パッド有効フラグがONである場合(S12000:Yes)、制御部11は指示方向を判定する(S12002)。すなわち、制御部11は、方向パッドP12の中心点P121から操作位置OP(ポインタ部P122の中心点P123)への方向Dを指示方向として判定する。この場合、第1IDと関連付けられたタッチ位置自体が操作位置OPとして取得される。また制御部11は、方向パッドP12の中心点P121と操作位置OP(ポインタ部P122の中心点P123)との間の距離Lを算出する(S12004)。
そして、制御部11は、ステップS12002で判定された指示方向や、ステップS12004で算出された距離に基づいて、ゲームキャラクタGC−1の状態データを更新する(S12006)。
例えば、制御部11は、ステップS12002で判定された指示方向に基づいて、ゲームキャラクタGC−1の向きを更新する。
また例えば、ステップS12002で判定された指示方向が右方向又は左方向である場合、制御部11は、指示方向への移動動作(すなわち、指示方向に対応する仮想世界VWの方向への移動動作)をゲームキャラクタGC−1に行わせるために、ゲームキャラクタGC−1の状態データを更新する。
また例えば、ステップS12002で判定された指示方向が真上方向又は斜め上方向であり、かつ、ステップS12004で算出された距離が閾値以上である場合、制御部11は、指示方向へのジャンプ動作(すなわち、指示方向に対応する仮想世界VWの方向へのジャンプ動作)をゲームキャラクタGC−1に行わせるために、ゲームキャラクタGC−1の状態データを更新する。
ステップS12006の実行後、又は、ステップS12000において方向パッド有効フラグがONでないと判定された場合(S12000:No)、制御部11は、第1ボタンP13−1のタッチオンフラグがONであるか否かを判定する(S12008)。第1ボタンP13−1のタッチオンフラグがONである場合(S12008:Yes)、制御部11は、真上方向へのジャンプ動作をゲームキャラクタGC−1に行わせるために、ゲームキャラクタGC−1の状態データを更新する(S12010)。なお、例えば、ステップS12002で判定された指示方向が右方向又は左方向である場合、制御部11は、真上方向と右方向又は左方向とを合成してなる方向(右斜め上方向又は左斜め上方向)へのジャンプ動作をゲームキャラクタGC−1に行わせるために、ゲームキャラクタGC−1の状態データを更新する。また、ここでは、第1ボタンP13−1がタッチオンされた時点でステップS12010を実行するようになっているが、第1ボタンP13−1がタッチオンされタッチオフされた時点でステップS12010を実行するようにしてもよい。この場合、ステップS12008では、第1ボタンP13−1のタッチオフフラグがONであるか否かを判定することになる。
第1ボタンP13−1のタッチオンフラグがONでないと判定された場合(S12008:No)、制御部11は、第2ボタンP13−2のタッチオフフラグがONであるか否かを判定する(S12012)。第2ボタンP13−2のタッチオフフラグがONである場合(S12012:Yes)、制御部11は、攻撃動作をゲームキャラクタGC−1に行わせるために、ゲームキャラクタGC−1の状態データを更新する(S12014)。なお、この場合、制御部11は、ステップS12002で判定された指示方向に対応する方向を、攻撃動作の方向として設定する。また、この場合、制御部11は、第2ボタンP13−2がタッチされていた間に経過した時間に基づいて、攻撃動作の威力を決定する。
第2ボタンP13−2のタッチオフフラグがONでないと判定された場合(S12012:No)、制御部11は、第3ボタンP13−3のタッチオンフラグがONであるか否かを判定する(S12016)。第3ボタンP13−3のタッチオンフラグがONである場合(S12016:Yes)、制御部11は、特別攻撃動作をゲームキャラクタGC−1に行わせるために、ゲームキャラクタGC−1の状態データを更新する(S12018)。この場合、制御部11は、ステップS12002で判定された指示方向に対応する方向を、特別攻撃動作の方向として設定する。一方、第3ボタンP13−3のタッチオンフラグがONでないと判定された場合(S12016:No)、本処理は終了する。なお、ここでは、第3ボタンP13−3がタッチオンされた時点でステップS12018を実行するようになっているが、第3ボタンP13−3がタッチオンされタッチオフされた時点でステップS12018を実行するようにしてもよい。この場合、ステップS12016では、第3ボタンP13−3のタッチオフフラグがONであるか否かを判定することになる。
ゲーム処理(S120)では、以上に説明した処理(図14)の他にも、ゲームキャラクタGC−2〜GC−4の状態データを更新する処理や、いずれかのゲームキャラクタが他のゲームキャラクタの攻撃動作によってダメージを受けたか否かを判定し、判定結果に基づいて、ゲームキャラクタの体力パラメータを減少させる処理等も実行される。
図13に示すように、ステップS120の実行後、制御部11は入力クリア処理を実行する(S122)。例えば、第1ボタンP13−1、第2ボタンP13−2や、第3ボタンP13−3の各々のタッチオンフラグやタッチオフフラグがOFFにリセットされる。
また、制御部11は描画処理を実行する(S124)。例えば、仮想視点VCが設定され、仮想視点VCから見た仮想世界VWを表す仮想世界画像G1がバックバッファに描画される。また、ゲージP10−1〜P10−4、パーツP11、第1ボタンP13−1、第2ボタンP13−2、第3ボタンP13−3や、ゲージP14の画像が、バックバッファに描画された仮想世界画像G1上に描画される。さらに、方向パッド表示フラグがONである場合には、方向パッドP12の画像も、バックバッファに描画された仮想世界画像G1上に描画される。また、仮想視点VCの視野外に位置しているゲームキャラクタ又はゲームアイテムが存在していれば、パーツP17−1,P17−2の画像も、バックバッファに描画された仮想世界画像G1上に描画される。なお、ゲージP10−1〜P10−4、パーツP11、方向パッドP12、第1ボタンP13−1、第2ボタンP13−2、第3ボタンP13−3、ゲージP14や、パーツP17−1,P17−2の画像を仮想世界画像G1と半透明合成してもよい。
そして、制御部11はVブランク割り込みが発生するのを待ち(S126)、Vブランク割り込みが発生したら、バックバッファからフロントバッファに切り替える(S128)。この切り替えによって、ステップS124でバックバッファに描画された画像が表示部15に表示される。ステップS128の実行後、ステップS120に戻る。このようにして、ゲーム中には、以上に説明したステップS120〜S128の処理が繰り返し実行される。
[5.まとめ]以上に説明したゲームシステム1では、方向パッドP12によってジャンプ動作をゲームキャラクタGC−1に行わせることができ、かつ、第1ボタンP13−1によってもジャンプ動作をゲームキャラクタGC−1に行わせることができる。その結果、ユーザは行いやすい方の操作でジャンプ動作をゲームキャラクタGC−1に行わせることができ、ユーザの操作性を向上することができる。
また、ゲームシステム1では、方向パッドP12によって、任意の方向へのジャンプ動作をゲームキャラクタGC−1に行わせることができ、かつ、第1ボタンP13−1によって、真上方向へのジャンプ動作をゲームキャラクタGC−1に行わせることができる。すなわち、任意の方向へのジャンプ動作をゲームキャラクタGC−1に行わせたい場合には、方向パッドP12によって、ジャンプ動作の方向を細かく指示することができ、一方、真上方向へのジャンプ動作をゲームキャラクタGC−1に行わせたい場合には、第1ボタンP13−1によって、容易に、真上方向へのジャンプ動作をゲームキャラクタGC−1に行わせることができる。
方向パッドP12によれば、ジャンプ方向を任意に調整できる一方、微妙な操作を要求されるため、初心者のユーザにとっては難しい場合がある。この点、以上のようにすれば、ジャンプ動作を行わせるための操作として、細かい調整が可能な操作と、簡単な操作との両方が用意されるため、ユーザは行いやすい方を選択できる。
また、方向パッドP12でゲームキャラクタGC−1にジャンプ動作を連続して行わせる場合に、指が動くことによって所望の方向を入力しにくくなるため、ユーザによっては難しい場合がある。この点、ゲームシステム1によれば、方向パッドP12の操作と第1ボタンP13−1のタップ操作とを交互に行ったり、第1ボタンP13−1を繰り返しタップしたりすることによって、ゲームキャラクタGC−1にジャンプ動作を連続して行わせることが容易になる。
また、ユーザはゲームの状況を考慮して、ジャンプ動作を行わせるための操作として、方向パッドP12と第1ボタンP13−1とを使い分けることができる。例えば、ユーザは、ゲームキャラクタGC−1にジャンプ動作を行わせた後で直ちに攻撃動作も行わせたい場合に、左手LHの親指LTで方向パッドP12を操作しながら、右手RHの親指RTで第2ボタンP13−2をタップするようにし、ゲームキャラクタGC−1に回避動作を行わせた後で直ちにジャンプ動作も行わせたい場合に、左手LHの親指LTでフリック操作(又は方向パッドP12に対する操作)を行いながら、右手RHの親指RTで第1ボタンP13−1をタップするというようなことができる。
ゲーム端末10を手で把持してゲームをプレイする場合、一般的にユーザはゲーム端末10を把持した手の親指でタッチパネルTPにタッチすることになる。この場合、ユーザの親指は弧を描くように動く傾向があるため、ユーザが真上方向を指示したつもりでも、実際の指示方向は真上方向からずれやすい。この点、ゲームシステム1によれば、上述の通り、第1ボタンP13−1によって、容易に、真上方向へのジャンプ動作をゲームキャラクタGC−1に行わせることができる。
また、ゲームシステム1では、第1ボタンP13−1がタッチパネルTPの右下領域BRに表示されるため、ゲーム端末10を把持している右手RHの親指RTで第1ボタンP13−1をタッチしやすくなっている。
また、ゲームシステム1では、ボタン領域A15がタッチオンされた場合には方向パッドP12が設定されないため、第1ボタンP13−1、第2ボタンP13−2、第3ボタンP13−3をタップしようとしているユーザの意思に反して、方向パッドP12が設定されてしまう事態が生じないように図ることができる。
また、ゲームシステム1では、情報領域A16−1,A16−2がタッチオンされた場合には方向パッドP12が表示されないため、ゲージP10−1〜P10−4の情報(ゲームキャラクタGC−1〜GC−4の体力パラメータ)やパーツP11の情報(制限時間が経過するまでの残り時間)が方向パッドP12によって見えにくくなってしまうことを抑制できる。ただし、方向パッドP12が表示されない場合であっても、方向パッドP12は内部的(不可視)に設定されているため、方向パッドP12が表示されている場合と同様に、移動動作やジャンプ動作をゲームキャラクタGC−1に行わせることができる。
また、ゲームシステム1では、図6に示すように、ゲームキャラクタGC−3やゲームアイテムGIが仮想視点VCの視野VF外に位置しており、ゲームキャラクタGC−3やゲームアイテムGIが表示部15に表示されない場合に、パーツP17−1,P17−2が表示されるため、ゲームキャラクタGC−3やゲームアイテムGIの位置を把握できる。また、ゲームキャラクタGC−3が攻撃動作(又は特別攻撃動作)を行った場合には、パーツP17−1の表示態様が、ゲームキャラクタGC−3が攻撃動作(又は特別攻撃動作)を行ったことを示す態様に変化するため、ユーザはパーツP17−1の表示態様を頼りに、表示部15に表示されていないゲームキャラクタGC−3が攻撃動作(又は特別攻撃動作)を行ったことを把握できる。また、ゲームアイテムGIが消えるまでの残り時間が閾値以下になった場合には、パーツP17−2の表示態様が、残り時間が閾値以下になったことを示す態様に変化するため、ユーザはパーツP17−2の表示態様を頼りに、表示部15に表示されていないゲームアイテムGIが消えるまでの残り時間が少なくなったことを把握できる。
[6.変形例]本発明は以上に説明した実施形態に限定されるものではない。
[6−1]方向パッドP12を表示する代わりに、フリック操作を受け付けるようにしてもよい。
例えば、ユーザが親指LTで右方向又は左方向へのフリック操作を行った場合に、右方向又は左方向への移動動作をゲームキャラクタGC−1に行わせるようにしてもよい。また例えば、ユーザが親指LTで真上方向又は斜め上方向へのフリック操作を行った場合に、真上方向又は斜め上方向へのジャンプ動作をゲームキャラクタGC−1に行わせるようにしてもよい。
すなわち、第1動作制御部150は、フリック操作の方向(基準位置と操作位置との位置関係の一例)に基づいて、所定種類の動作を操作対象オブジェクトに行わせるようにしてもよい。
このようにすれば、フリック操作によって、任意の方向へのジャンプ動作をゲームキャラクタGC−1に行わせることができ、かつ、第1ボタンP13−1によって、真上方向へのジャンプ動作をゲームキャラクタGC−1に行わせることもできる。すなわち、任意の方向へのジャンプ動作をゲームキャラクタGC−1に行わせたい場合には、フリック操作によって、ジャンプ動作の方向を細かく調整することができ、一方、真上方向へのジャンプ動作をゲームキャラクタGC−1に行わせたい場合には、第1ボタンP13−1によって、容易に、真上方向へのジャンプ動作をゲームキャラクタGC−1に行わせることができる。
フリック操作によれば、ジャンプ方向を任意に調整できる一方、微妙な操作を要求されるため、初心者のユーザにとっては難しい場合がある。この点、以上のようにすれば、ジャンプ動作を行わせるための操作として、細かい調整が可能な操作と、簡単な操作との両方が用意されるため、ユーザは行いやすい方を選択できる。
また、フリック操作でゲームキャラクタGC−1にジャンプ動作を連続して行わせる場合に、指が動くことによって所望の方向を入力しにくくなるため、ユーザによっては難しい場合がある。この点、以上のようにすれば、フリック操作と第1ボタンP13−1のタップ操作とを交互に行ったり、第1ボタンP13−1を繰り返しタップしたりすることによって、繰り返し、ジャンプ動作をゲームキャラクタGC−1に行わせることが容易になる。
また、ユーザはゲームの状況を考慮して、ジャンプ動作を行わせるための操作として、フリック操作と第1ボタンP13−1のタップ操作とを使い分けることができる。例えば、ユーザは、ゲームキャラクタGC−1にジャンプ動作を行わせた後で直ちに攻撃動作も行わせたい場合に、左手LHの親指LTでフリック操作を行いながら、右手RHの親指RTで第2ボタンP13−2をタップするようにし、ゲームキャラクタGC−1に回避動作を行わせた後で直ちにジャンプ動作も行わせたい場合に、左手LHの親指LTでフリック操作を行いながら、右手RHの親指RTで第1ボタンP13−1をタップするというようなことができる。
[6−2]第2動作制御部160は、第1動作制御部150が指示方向への所定種類の動作を操作対象オブジェクトに行わせた場合に、当該指示方向を「所定方向」として設定するようにしてもよい。すなわち、「所定方向」とは、例えば、所定種類の動作が前回行われた際の方向と同じ方向であってもよい。このようにすれば、指示方向へのジャンプ動作(所定種類の動作)をゲームキャラクタGC−1に行わせた後、第1ボタンP13−1をタップすることによって、容易に、指示方向へのジャンプ動作をゲームキャラクタGC−1に連続して行わせることができる。
[6−3]第1ボタンP13−1のような仮想的なボタンの画像を表示しないようにしてもよい。例えば、ユーザがダブルタップ操作又は長押し操作を行った場合に、真上方向へのジャンプ動作をゲームキャラクタGC−1に行わせるようにしてもよい。なお、「ダブルタップ操作」とは、タップ操作を2回続けて行う操作である。また、「長押し操作」とは、同じ位置又は略同じ位置を所定時間にわたってタッチし続ける操作である。
すなわち、第2動作制御部160は、タッチパネルTPの一部領域への複数回のタッチ操作、又は、タッチパネルTPの一部領域を所定時間にわたってタッチし続ける操作に基づいて、所定種類の動作を操作対象オブジェクトに行わせるようにしてもよい。
「タッチパネルの一部領域への複数回のタッチ操作」とは、例えば、同一位置又は略同一位置への複数回のタッチ操作である。例えば、ダブルタップ操作が当該「操作」の一例に相当する。一方、「タッチパネルの一部領域を所定時間にわたってタッチし続ける操作」とは、例えば、同一位置又は略同一位置の長押し操作である。
このようにすれば、ユーザは、ジャンプ方向を細かく任意に指示したい場合と、ジャンプ方向として真上方向を容易に指示したい場合とで、方向パッドP12と、ダブルタップ操作又は長押し操作とを使い分けることができる。
[6−4]ユーザが方向パッドP12の中心点P121を長押し操作した場合に、ゲームキャラクタGC−1に所定種類の動作(例えば防御動作)を行わせ、ユーザがタッチパネルTPの右下領域BRに表示したボタンをタップした場合にも、ゲームキャラクタGC−1に同じ種類の動作(例えば防御動作)を行わせるようにしてもよい。
また例えば、方向パッドP12の中心点P121と操作位置OP(ポインタ部P122の中心点P123)との間の距離Lが閾値以上になった場合に、ゲームキャラクタGC−1に所定種類の動作(例えば攻撃動作)を行わせ、ユーザがタッチパネルTPの右下領域BRに表示したボタン(第2ボタンP13−2)をタップした場合にも、ゲームキャラクタGC−1に同じ種類の動作(例えば攻撃動作)を行わせるようにしてもよい。
すなわち、第1動作制御部150は、基準位置と操作位置との位置関係が所定条件を満足した場合に(すなわち、基準位置と操作位置との位置関係が所定条件を満足したことをトリガとして)、所定種類の動作を操作対象オブジェクトに行わせ、第2動作制御部160は、タッチパネルTPの所定領域へのタッチ操作に基づいて、同じ種類の動作を操作対象オブジェクトに行わせるようにしてもよい。
例えば、第1動作制御部150は、基準位置と操作位置との間の距離が閾値以下である状態が所定時間にわたって経過した場合に、所定種類の動作を操作対象オブジェクトに行わせ、第2動作制御部160は、タッチパネルTPの所定領域へのタッチ操作に基づいて、同じ種類の動作を操作対象オブジェクトに行わせるようにしてもよい。このようにすれば、基準位置と操作位置との間の距離が閾値以下の状態を所定時間にわたって継続させる(すなわち、基準位置又は基準位置付近の位置を長押しする)ことによって、所定種類の動作を操作対象オブジェクトに行わせることができ、かつ、タッチパネルの所定領域へのタッチ操作を行うことによっても、所定種類の動作を操作対象オブジェクトに行わせることができるような構成とすることができる。この場合、ユーザは行いやすい方の操作で所定種類の動作を操作対象オブジェクトに行わせることもできる。
また例えば、第1動作制御部150は、基準位置と操作位置との間の距離を閾値以上になった場合に、所定種類の動作を操作対象オブジェクトに行わせ、第2動作制御部160は、タッチパネルTPの所定領域へのタッチ操作に基づいて、同じ種類の動作を操作対象オブジェクトに行わせるようにしてもよい。このようにすれば、基準位置と操作位置との間の距離を閾値以上にすることによって、所定種類の動作を操作対象オブジェクトに行わせることができ、かつ、タッチパネルの所定領域へのタッチ操作を行うことによっても、所定種類の動作を操作対象オブジェクトに行わせることができるような構成とすることもできる。この場合、ユーザは行いやすい方の操作で所定種類の動作を操作対象オブジェクトに行わせることもできる。
[6−5]方向パッドP12の中心点P121(基準位置)と操作位置OPとの距離Lが閾値未満である場合には、第1速度の移動動作(通常の移動動作)をゲームキャラクタGC−1に行わせ、上記距離Lが閾値以上である場合には、第1速度よりも速い第2速度の移動動作(ダッシュ動作)をゲームキャラクタGC−1に行わせ、タッチパネルTPの右下領域BRに表示したボタンがタップされた場合にも、第2速度の移動動作(ダッシュ動作)をゲームキャラクタGC−1に行わせるようにしてもよい。
また、方向パッドP12の中心点P121(基準位置)と操作位置OPとの距離Lが閾値未満である場合には、第1高さのジャンプ動作をゲームキャラクタGC−1に行わせ、上記距離Lが閾値以上である場合には、第1高さよりも高い第2高さのジャンプ動作をゲームキャラクタGC−1に行わせ、第1ボタンP13−1がタップされた場合にも、第2高さのジャンプ動作をゲームキャラクタGC−1に行わせるようにしてもよい。
すなわち、第1動作制御部150は、基準位置と操作位置との位置関係に応じた態様で所定種類の動作を操作対象オブジェクトに行わせ、第2動作制御部160は、タッチパネルの所定領域へのタッチ操作に基づいて、所定態様で所定種類の動作を操作対象オブジェクトに行わせるようにしてもよい。先述したように、第1動作制御部150は、基準位置と操作位置との位置関係に基づいて、所定種類の動作を操作対象オブジェクトに行わせるものであるが、「基準位置と操作位置との位置関係に基づいて、所定種類の動作を操作対象オブジェクトに行わせる」とは、例えば、基準位置と操作位置との位置関係に応じた態様で所定種類の動作を操作対象オブジェクトに行わせることであってもよい。
「基準位置と操作位置との位置関係に応じた態様で所定種類の動作を操作対象オブジェクトに行わせる」とは、例えば、基準位置と操作位置との位置関係に応じた速さの所定種類の動作(移動動作等)を操作対象オブジェクトに行わせることである。例えば、基準位置と操作位置との距離が閾値未満である場合には、第1速度の移動動作を操作対象オブジェクトに行わせ、基準位置と操作位置との距離が閾値以上である場合には、第1速度よりも速い第2速度の移動動作を操作対象オブジェクトに行わせることである。
または、「基準位置と操作位置との位置関係に応じた態様で所定種類の動作を操作対象オブジェクトに行わせる」とは、例えば、基準位置と操作位置との位置関係に応じた高さの所定種類の動作(ジャンプ動作等)を操作対象オブジェクトに行わせることである。例えば、基準位置と操作位置との距離が閾値未満である場合には、第1高さのジャンプ動作を操作対象オブジェクトに行わせ、基準位置と操作位置との距離が閾値以上である場合には、第1高さよりも高い第2高さのジャンプ動作を操作対象オブジェクトに行わせることである。
「所定態様」とは、例えば、予め定められた特定の態様である。
具体的には、例えば、基準位置と操作位置との距離が閾値未満である場合には、第1速度の移動動作を操作対象オブジェクトに行わせ、基準位置と操作位置との距離が閾値以上である場合には、第1速度よりも速い第2速度の移動動作を操作対象オブジェクトに行わせるようになっているゲームの場合、「第2速度」が「所定態様」として設定される。
また例えば、基準位置と操作位置との距離が閾値未満である場合には、第1高さのジャンプ動作を操作対象オブジェクトに行わせ、基準位置と操作位置との距離が閾値以上である場合には、第1高さよりも高い第2高さのジャンプ動作を操作対象オブジェクトに行わせるようになっているゲームの場合、「第2高さ」が「所定態様」として設定される。
また例えば、「所定態様」とは、所定種類の動作が前回行われた際の態様と同じ態様であってもよい。また例えば、「所定態様」とは、操作対象オブジェクトの向き又は移動方向に応じた態様であってもよい。また例えば、「所定態様」とは、他のオブジェクト(例えば敵オブジェクト)との位置関係に応じた態様であってもよい。
このようにすれば、任意の態様で所定種類の動作を操作対象オブジェクトに行わせたい場合には、基準位置と操作位置との位置関係を調整することによって、所定種類の動作の態様を細かく指示することができ、一方、所定態様で所定種類の動作を操作対象オブジェクトに行わせたい場合には、タッチパネルTPの所定領域へのタッチ操作を行うことによって、容易に、所定態様で所定種類の動作を操作対象オブジェクトに行わせることができる。その結果、ユーザの操作性を向上することができる。
[6−6]クライアント/サーバ方式のゲームの場合には、ユーザの操作情報をゲーム端末10で取得し、取得した操作情報をサーバ30に送信し、ゲーム処理をサーバ30で実行してもよい。そして、ゲーム処理の結果に基づいて、仮想世界画像G1の生成・更新をゲーム端末10で実行してもよい。ピアツーピア方式のゲームの場合、ゲーム端末10では、ユーザの操作情報を取得し、取得した操作情報を他のゲーム端末10に送信し、他のゲーム端末10から受信した操作情報に基づいてゲーム処理を実行し、仮想世界画像G1の生成・更新を実行するようにしてもよい。
[6−7]以上では、複数のゲームキャラクタが戦うゲームに対して本発明を適用した例について主に説明したが、本発明は他の各種ゲームにも適用することが可能である。例えば、本発明は、サッカーゲーム等のスポーツゲームにも適用することが可能である。
[7.付記]以上のような記載から、本発明は例えば以下のように把握される。なお、本発明の理解を容易にするために、適宜図面に記載された符号を括弧書きで記載するが、それにより本発明が図示の態様に限定されるものではない。
1)本発明の一態様に係るゲーム制御装置(10又は30)は、操作対象オブジェクト(GC−1)を表示手段(15)に表示させる表示制御手段(110)と、タッチパネル(TP)の特定の位置を基準位置(P121)として設定する基準位置設定手段(120)と、前記タッチパネルのタッチ位置に応じた操作位置(OP)を取得する操作位置取得手段(130)と、前記基準位置と前記操作位置との位置関係に基づいて、所定種類の動作(例えばジャンプ動作)を前記操作対象オブジェクトに行わせる第1動作制御手段(150)と、前記タッチパネルの所定領域(P13−1)へのタッチ操作に基づいて、前記所定種類の動作(例えばジャンプ動作)を前記操作対象オブジェクトに行わせる第2動作制御手段(160)と、を含む。
13)本発明の一態様に係るゲーム制御装置(10又は30)は、操作対象オブジェクト(GC−1)を表示手段(15)に表示させる表示制御手段(110)と、タッチパネル(TP)の特定の位置を基準位置(P121)として設定する基準位置設定手段(120)と、前記タッチパネルのタッチ位置に応じた操作位置(OP)を取得する操作位置取得手段(130)と、前記基準位置と前記操作位置との位置関係に基づいて、所定種類の動作(例えばジャンプ動作)を前記操作対象オブジェクトに行わせる第1動作制御手段(150)と、前記タッチパネルの一部領域への複数回のタッチ操作、又は、前記タッチパネルの一部領域を所定時間にわたってタッチし続ける操作に基づいて、前記所定種類の動作(例えばジャンプ動作)を前記操作対象オブジェクトに行わせる第2動作制御手段(160)と、を含む。
14)本発明の一態様に係るゲームシステム(1)は、操作対象オブジェクト(GC−1)を表示手段(15)に表示させる表示制御手段(110)と、タッチパネル(TP)の特定の位置を基準位置(P121)として設定する基準位置設定手段(120)と、前記タッチパネルのタッチ位置に応じた操作位置(OP)を取得する操作位置取得手段(130)と、前記基準位置と前記操作位置との位置関係に基づいて、所定種類の動作(例えばジャンプ動作)を前記操作対象オブジェクトに行わせる第1動作制御手段(150)と、前記タッチパネルの所定領域(P13−1)へのタッチ操作に基づいて、前記所定種類の動作(例えばジャンプ動作)を前記操作対象オブジェクトに行わせる第2動作制御手段(160)と、を含む。
15)本発明の一態様に係るゲームシステム(1)は、操作対象オブジェクト(GC−1)を表示手段(15)に表示させる表示制御手段(110)と、タッチパネル(TP)の特定の位置を基準位置(P121)として設定する基準位置設定手段(120)と、前記タッチパネルのタッチ位置に応じた操作位置(OP)を取得する操作位置取得手段(130)と、前記基準位置と前記操作位置との位置関係に基づいて、所定種類の動作(例えばジャンプ動作)を前記操作対象オブジェクトに行わせる第1動作制御手段(150)と、前記タッチパネルの所定領域(P13−1)へのタッチ操作に基づいて、前記所定種類の動作(例えばジャンプ動作)を前記操作対象オブジェクトに行わせる第2動作制御手段(160)と、を含む。
16)本発明の一態様に係るプログラムは、1)〜13)のいずれかに記載のゲーム制御装置(10又は30)、又は、14)又は15)に記載のゲームシステム(1)としてコンピュータを機能させるためのプログラムである。
17)本発明の一態様に係る情報記憶媒体は、16)に記載のプログラムを記録したコンピュータで読み取り可能な情報記憶媒体である。
18)本発明の一態様に係るゲーム制御方法は、操作対象オブジェクト(GC−1)を表示手段(15)に表示させる表示制御ステップ(S124)と、タッチパネル(TP)の特定の位置を基準位置(P121)として設定する基準位置設定ステップ(S10210)と、前記タッチパネルのタッチ位置に応じた操作位置(OP)を取得する操作位置取得ステップ(S10200又はS10600)と、前記基準位置と前記操作位置との位置関係に基づいて、所定種類の動作(例えばジャンプ動作)を前記操作対象オブジェクトに行わせる第1動作制御ステップ(S12006)と、前記タッチパネルの所定領域(P13−1)へのタッチ操作に基づいて、前記所定種類の動作(例えばジャンプ動作)を前記操作対象オブジェクトに行わせる第2動作制御ステップ(S12010)と、を含む。
19)本発明の一態様に係るゲーム制御方法は、操作対象オブジェクト(GC−1)を表示手段(15)に表示させる表示制御ステップ(S124)と、タッチパネル(TP)の特定の位置を基準位置(P121)として設定する基準位置設定ステップ(S10210)と、前記タッチパネルのタッチ位置に応じた操作位置(OP)を取得する操作位置取得ステップ(S10200又はS10600)と、前記基準位置と前記操作位置との位置関係に基づいて、所定種類の動作(例えばジャンプ動作)を前記操作対象オブジェクトに行わせる第1動作制御ステップ(S12006)と、前記タッチパネルの一部領域への複数回のタッチ操作、又は、前記タッチパネルの一部領域を所定時間にわたってタッチし続ける操作に基づいて、前記所定種類の動作(例えばジャンプ動作)を前記操作対象オブジェクトに行わせる第2動作制御ステップ(S12010)と、を含む。
1)、13)〜19)に記載の発明によれば、基準位置と操作位置との位置関係に基づいて、所定種類の動作を操作対象オブジェクトに行わせることができ、かつ、タッチパネルの所定領域へのタッチ操作(又は、タッチパネルの一部領域への複数回のタッチ操作、或いは、タッチパネルの一部領域を所定時間にわたってタッチし続ける操作)を行うことによっても、所定種類の動作を操作対象オブジェクトに行わせることができる。その結果、ユーザは行いやすい方の操作で所定種類の動作を操作対象オブジェクトに行わせることができ、ユーザの操作性を向上することができる。
2)本発明の一態様では、前記基準位置と前記操作位置との位置関係に応じた指示方向(D)を判定する指示方向判定手段(140)を含み、前記第1動作制御手段(150)は、前記指示方向への前記所定種類の動作を前記操作対象オブジェクトに行わせ、前記第2動作制御手段(160)は、前記タッチパネルの前記所定領域へのタッチ操作に基づいて、所定方向(例えば真上方向)への前記所定種類の動作を前記操作対象オブジェクトに行わせるようにしてもよい。
2)に記載の発明によれば、基準位置と操作位置との位置関係を調整することによって、任意の方向への所定種類の動作を操作対象オブジェクトに行わせることができ、かつ、タッチパネルの所定領域へのタッチ操作を行うことによって、所定方向への所定種類の動作を操作対象オブジェクトに行わせることもできる。すなわち、任意の方向への所定種類の動作を操作対象オブジェクトに行わせたい場合には、基準位置と操作位置との位置関係を調整することによって、所定種類の動作の方向を細かく指示することができ、一方、所定方向への所定種類の動作を操作対象オブジェクトに行わせたい場合には、タッチパネルの所定領域へのタッチ操作を行うことによって、容易に、所定方向への所定種類の動作を操作対象オブジェクトに行わせることができる。
3)本発明の一態様では、前記所定方向は、前記操作対象オブジェクトから見て真上方向又は真横方向であってもよい。
3)に記載の発明によれば、基準位置と操作位置との位置関係を調整することによって、所定種類の動作の方向を細かく指示することができ、かつ、タッチパネルの所定領域へのタッチ操作を行うことによって、容易に、真上方向又は真横方向への所定種類の動作を操作対象オブジェクトに行わせることができる。例えば、スマートフォンやタブレット型コンピュータを手で把持してゲームをプレイする場合、一般的にユーザはスマートフォン等を把持した手の親指でタッチパネルにタッチすることになる。この場合、ユーザの親指は弧を描くように動く傾向があるため、ユーザが真上方向又は真横方向を指示したつもりでも、実際の指示方向は真上方向又は真横方向からずれやすい。この点、本発明によれば、上述の通り、タッチパネルの所定領域へのタッチ操作を行うことによって、容易に、真上方向又は真横方向への所定種類の動作を操作対象オブジェクトに行わせることができる。その結果、ユーザの操作性を向上することができる。
4)本発明の一態様では、前記所定方向は、前記表示手段の垂直方向又は水平方向であってもよい。
4)に記載の発明によれば、基準位置と操作位置との位置関係を調整することによって、所定種類の動作の方向を細かく指示することができ、かつ、タッチパネルの所定領域へのタッチ操作を行うことによって、容易に、表示手段の垂直方向又は水平方向への所定種類の動作を操作対象オブジェクトに行わせることができる。例えば、スマートフォンやタブレット型コンピュータを両手で把持してゲームをプレイする場合、一般的にユーザは親指でタッチパネルにタッチすることになる。この場合、ユーザの親指は弧を描くように動く傾向があるため、ユーザが表示手段の垂直方向又は水平方向を指示したつもりでも、実際の指示方向は表示手段の垂直方向又は水平方向からずれやすい。この点、本発明によれば、上述の通り、タッチパネルの所定領域へのタッチ操作を行うことによって、容易に、表示手段の垂直方向又は水平方向への所定種類の動作を操作対象オブジェクトに行わせることができる。その結果、ユーザの操作性を向上することができる。
5)本発明の一態様では、前記第2動作制御手段(160)は、前記第1動作制御手段(150)が前記指示方向への前記所定種類の動作を前記操作対象オブジェクトに行わせた場合に、当該指示方向を前記所定方向として設定するようにしてもよい。
5)に記載の発明によれば、第1動作制御手段が指示方向への所定種類の動作を操作対象オブジェクトに行わせた場合に、当該指示方向を所定方向として設定するため、タッチパネルの所定領域へのタッチ操作を行うことによって、容易に、指示方向への所定種類の動作を操作対象オブジェクトに連続して行わせることができる。
6)本発明の一態様では、前記第1動作制御手段(150)は、前記基準位置と前記操作位置との間の距離が閾値以下である状態が所定時間にわたって経過した場合、又は、前記基準位置と前記操作位置との間の距離が閾値以上になった場合に、前記所定種類の動作を前記操作対象オブジェクトに行わせるようにしてもよい。
6)に記載の発明によれば、基準位置と操作位置との位置関係が所定条件を満足するように調整することによって、所定種類の動作を操作対象オブジェクトに行わせることができ、かつ、タッチパネルの所定領域へのタッチ操作を行うことによっても、所定種類の動作を操作対象オブジェクトに行わせることができる。例えば、基準位置と操作位置との間の距離が閾値以下の状態を所定時間にわたって継続させる(すなわち、基準位置又は基準位置付近の位置を長押しする)ことによって、所定種類の動作を操作対象オブジェクトに行わせることができ、かつ、タッチパネルの所定領域へのタッチ操作を行うことによっても、所定種類の動作を操作対象オブジェクトに行わせることができるような構成とすることができる。この場合、ユーザは行いやすい方の操作で所定種類の動作を操作対象オブジェクトに行わせるようなこともできる。また例えば、基準位置と操作位置との間の距離を閾値以上にすることによって、所定種類の動作を操作対象オブジェクトに行わせることができ、かつ、タッチパネルの所定領域へのタッチ操作を行うことによっても、所定種類の動作を操作対象オブジェクトに行わせることができるような構成とすることもできる。この場合、ユーザは行いやすい方の操作で所定種類の動作を操作対象オブジェクトに行わせることもできる。
7)本発明の一態様では、前記第1動作制御手段(150)は、前記基準位置と前記操作位置との位置関係に応じた態様で前記所定種類の動作を前記操作対象オブジェクトに行わせ、前記第2動作制御手段(170)は、前記タッチパネルの前記所定領域へのタッチ操作に基づいて、所定態様で前記所定種類の動作を前記操作対象オブジェクトに行わせるようにしてもよい。
7)に記載の発明によれば、基準位置と操作位置との位置関係を調整することによって、任意の態様で所定種類の動作を操作対象オブジェクトに行わせることができ、かつ、タッチパネルの所定領域へのタッチ操作を行うことによって、所定態様で所定種類の動作を操作対象オブジェクトに行わせることもできる。すなわち、任意の態様で所定種類の動作を操作対象オブジェクトに行わせたい場合には、基準位置と操作位置との位置関係を調整することによって、所定種類の動作の態様を細かく指示することができ、一方、所定態様で所定種類の動作を操作対象オブジェクトに行わせたい場合には、タッチパネルの所定領域へのタッチ操作を行うことによって、容易に、所定態様で所定種類の動作を操作対象オブジェクトに行わせることができる。その結果、ユーザの操作性を向上することができる。
8)本発明の一態様では、前記第1動作制御手段(150)と前記第2動作制御手段(160)との一方が前記所定種類の動作を前記操作対象オブジェクトに開始させた後、所定期間が経過するまで、前記第1動作制御手段(150)と前記第2動作制御手段(160)との他方が前記所定種類の動作を前記操作対象オブジェクトに行わせることを制限する制限手段(170)をさらに含むようにしてもよい。
8)に記載の発明によれば、第1動作制御手段と第2動作制御手段との一方によって所定種類の動作を操作対象オブジェクトに開始させた後、所定期間が経過するまで、第1動作制御手段と第2動作制御手段との他方によって所定種類の動作を操作対象オブジェクトに行わせることを制限するため、下記のような不都合の発生を抑制できる。すなわち、第1動作制御手段と第2動作制御手段との一方によって所定種類の動作を操作対象オブジェクトに行わせている最中に、第1動作制御手段と第2動作制御手段との他方によって所定種類の動作を操作対象オブジェクトに行わせてしまうと、操作対象オブジェクトの動作が不自然になってしまうおそれがあるが、本発明によれば、このような不都合の発生を抑制できる。
9)本発明の一態様では、前記タッチパネルは矩形状を有し、前記所定領域は、前記タッチパネルの上辺及び下辺の中点を結んでなる第1線と、前記タッチパネルの左辺及び右辺の中点を結んでなる第2線とによって、前記タッチパネルを右上領域と左上領域と右下領域と左下領域との4つの領域に分割した場合の前記右下領域又は前記左下領域内に設定されるようにしてもよい。
9)に記載の発明によれば、スマートフォンやタブレット型コンピュータを把持してゲームをプレイする場合に、スマートフォンやタブレット型コンピュータを把持している手の親指で、所定領域へのタッチ操作を行いやすくなる。
10)本発明の一態様では、前記基準位置設定手段(120)は、前記タッチパネルへのタッチ操作に基づいて、前記基準位置を設定し、前記ゲーム制御装置(10又は30)は、前記所定領域を含む設定制限領域(A15)へのタッチ操作に基づく前記基準位置の設定を制限する手段(180)を含むようにしてもよい。
10)に記載の発明によれば、タッチパネルの所定領域へのタッチ操作を行うことによって所定種類の動作を操作対象オブジェクトに行わせようとしているユーザの意思に反して、基準位置と操作位置との位置関係に基づいて所定種類の動作を操作対象オブジェクトが行ってしまうような事態が生じないように図ることができる。
11)本発明の一態様では、前記表示制御手段(110)は、前記基準位置に所定画像(P12)を表示させ、前記ゲーム制御装置(10又は30)は、前記表示手段(15)のうちの所定情報(P10−1〜P10−4,P11)が表示される領域を含む表示制限領域(A16−1,A16−2)内に前記基準位置が含まれる場合に、前記所定画像の表示を制限する手段(190)を含み、前記所定画像の表示が制限されている場合であっても、前記第1動作制御手段(150)は、前記基準位置と前記操作位置との位置関係に基づいて、前記所定種類の動作を前記操作対象オブジェクトに行わせるようにしてもよい。
11)に記載の発明によれば、基準位置に所定画像を表示手段に表示させることによって、ユーザにとって基準位置を把握しやすくなる。また、本発明によれば、所定情報が表示される領域を含む表示制限領域内に基準位置が含まれる場合に、所定画像が表示されなくなるため、所定画像によって所定情報が見えにくくなってしまうことを抑制できる。ただし、所定画像の表示が制限されている場合であっても、基準位置と操作位置との位置関係に基づいて、所定種類の動作が操作対象オブジェクトによって行われるため、所定種類の動作を操作対象オブジェクトに行わせることができるように担保しつつ、所定画像によって所定の情報が見えにくくなってしまうことを抑制できる。
12)本発明の一態様では、前記表示制御手段(110)は、前記操作対象オブジェクトと他のオブジェクト(GC−2〜GC−4,GI)とが配置されるゲーム空間(VW)のうちの表示対象領域(VF)を前記表示手段(15)に表示させ、前記他のオブジェクトが前記表示対象領域外に位置している場合に、前記他のオブジェクトの位置を示す位置画像(P17−1,P17−2)を前記表示手段(15)に表示させ、前記他のオブジェクトの状態に基づいて、前記位置画像の表示態様を設定するようにしてもよい。
12)に記載の発明によれば、他のオブジェクトが表示対象領域外に位置している場合に、当該他のオブジェクトの位置を示す位置画像が表示手段に表示されるため、ユーザは表示対象領域外に位置している他のオブジェクトの位置を把握できる。さらに、本発明によれば、他のオブジェクトの状態に基づいて、位置画像の表示態様を設定するため、ユーザは位置画像の表示態様を参照することによって、表示対象領域外に位置している他のオブジェクトの状態を把握することもできる。