(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のようなゲームでは、タッチ操作を行う際に対象オブジェクトが指(或いは、タッチペン等)に隠れてしまい、プレーヤが対象オブジェクトを視認し難くなるといった問題があった。
【0005】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、タッチ操作による移動制御の対象となる移動体が指等に隠れ難くすることが可能なプログラム及びサーバを提供することにある。
【課題を解決するための手段】
【0006】
(1)本発明は、
タッチパネルで検出された接触位置に基づいて、ゲーム空間における移動体の移動を制御する移動制御部と、
前記移動体を含む画像を前記タッチパネルに表示させる制御を行う表示制御部としてコンピュータを機能させ、
前記表示制御部は、
前記移動体を中心とする第1の円と、前記移動体を中心とし前記第1の円よりも径が大きい第2の円とを前記タッチパネルに表示させる制御を行い、
前記移動制御部は、
前記移動体と前記接触位置とを結ぶ方向に基づき前記移動体の向きを制御し、前記移動体から前記接触位置までの距離が前記第1の円の半径以上であって前記第2の円の半径以下である場合には、前記移動体の加速度の絶対値又は速度を当該距離に応じた値とし、当該距離が前記第1の円の半径よりも小さい場合には、前記移動体の加速度の絶対値又は速度を所定の最小値とし、当該距離が前記第2の円の半径よりも大きい場合には、前記移動体の加速度の絶対値又は速度を所定の最大値とすることを特徴とするプログラムに関する。
【0007】
また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるためのプログラムを記憶した情報記憶媒体に関する。また本発明は、タッチパネルを備えた端末とネットワークを介して接続されたサーバであって、上記各部を含むサーバに関する。
【0008】
本発明によれば、移動体を中心とする第1の円と第1の円よりも径が大きい第2の円とをタッチパネルに表示させ、移動体から接触位置までの距離に基づき移動体の加速度(或いは、速度)を制御する際に、当該距離が第1の円の半径以上であって第2の円の半径以
下である場合(第1の円と第2の円の間の領域をタッチする操作が行われた場合)には、移動体の加速度の絶対値を当該距離に応じた値とし、当該距離が第1の円の半径よりも小さい場合(第1の円の内側をタッチする操作が行われた場合)には、移動体の加速度の絶対値を最小値に固定するように制御する。このようにすると、移動体の加速度を変化させるためには、第1の円の外側の領域においてタッチ操作すればよく、第1の円の内側をタッチ操作する必要が無くなるため、移動体がプレーヤの指等に隠れるような状況になり難くすることができる。
【0009】
(2)また本発明に係るプログラム、情報記憶媒体及びサーバでは、
前記移動制御部は、
前記接触位置が、前記第1の円の内側の領域と前記第1の円と第2の円の間の領域と前記第2の円の外側の領域とを含む領域を二分した一方の領域であって前記移動体の前方に設定される第1領域に含まれる場合には、前記移動体から前記接触位置への方向を前記移動体が向くように制御するとともに前記移動体の加速度を正の値又は0とし、前記接触位置が、前記第1領域以外の第2領域に含まれる場合には、前記接触位置から前記移動体への方向を前記移動体が向くように制御するとともに前記移動体の加速度を負の値又は0としてもよい。
【0010】
本発明によれば、プレーヤは、移動体の前方に設定された第1領域をタッチ操作することで、移動体から接触位置への方向に応じて移動体の向きを制御しつつ、移動体から接触位置までの距離に応じて移動体を加速(又は等速)させ、第1領域以外の第2領域をタッチ操作することで、接触位置から移動体への方向に応じて移動体の向きを制御しつつ、移動体から接触位置までの距離に応じて移動体を減速(又は等速)させることができ、移動体の向きと加減速を直感的に操作することが可能なゲームを実現することができる。
【0011】
(3)また本発明に係るプログラム、情報記憶媒体及びサーバでは、
前記移動制御部は、
前記接触位置が前記第1領域に含まれる場合には、前記第1領域の面積を大きくし、前記接触位置が前記第2領域に含まれる場合には、前記第1領域の面積を小さくする制御を行ってもよい。
【0012】
本発明によれば、第1領域においてタッチ操作が行われた場合には、第1領域の面積を大きくし、第2領域においてタッチ操作が行われた場合には、第1領域の面積を小さくする(第2領域の面積を大きくする)ことで、第1領域をタッチ操作しているつもりが、意図せずに第2領域をタッチ操作してしまうといった誤操作を抑制することができる。
【0013】
(4)また本発明に係るプログラム、情報記憶媒体及びサーバでは、
前記表示制御部は、
ゲーム状況に応じて前記移動体を拡大して表示させる際に、前記第1の円の径を小さくする制御を行ってもよい。
【0014】
ここで、第1の円の径を小さくするとは、第1の円の径を0とする(第1の円を消去する)場合を含む。以降の記載においても同様である。
【0015】
本発明によれば、移動体が拡大して表示されることで移動体が指等で隠れて見えなくなる問題が起こり難くなる状況下において、第1の円の径を小さくして第1の円と第2の円の間の領域を大きくすることで、プレーヤが移動体の加減速を制御し易くすることができる。
【0016】
(5)また本発明に係るプログラム、情報記憶媒体及びサーバでは、
前記表示制御部は、
前記移動体の速度が所定の条件を満たす場合に、前記第1の円の径を小さくする制御を行ってもよい。
【0017】
本発明によれば、移動体の速度が所定の条件を満たす場合に、第1の円の径を小さくして第1の円と第2の円の間の領域を大きくすることで、所定の条件下においてプレーヤが移動体の加減速を制御し易くすることができる。
【0018】
(6)また本発明に係るプログラム、情報記憶媒体及びサーバでは、
前記移動制御部は、
前記移動体を前記ゲーム空間に設定されたコース上で移動させる制御を行い、
前記表示制御部は、
前記移動体の進行方向のコース形状が所定の条件を満たす場合に、前記第1の円の径を小さくする制御を行ってもよい。
【0019】
本発明によれば、移動体の進行方向のコース形状が所定の条件を満たす場合に、第1の円の径を小さくして第1の円と第2の円の間の領域を大きくすることで、所定の条件下においてプレーヤが移動体の加減速を制御し易くすることができる。
【0020】
(7)また本発明に係るプログラム、情報記憶媒体及びサーバでは、
前記表示制御部は、
プレーヤのゲーム履歴が所定の条件を満たす場合に、前記第1の円の径を小さくする制御を行ってもよい。
【0021】
本発明によれば、プレーヤのゲーム履歴が所定の条件を満たす場合に、第1の円の径を小さくして第1の円と第2の円の間の領域を大きくすることで、所定の条件下においてプレーヤが移動体の加減速を制御し易くすることができる。
【発明を実施するための形態】
【0023】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必要構成要件であるとは限らない。
【0024】
1.構成
図1に本実施形態のゲーム装置の機能ブロック図の一例を示す。なお本実施形態のゲーム装置は
図1の構成要素(各部)の一部を省略した構成としてもよい。
【0025】
入力部150は、ユーザによる接触入力を検出するためのものであり、接触位置の座標値を連続的に検出し、処理部100に出力する。入力部150の機能は、タッチパネル(タッチパネル型ディスプレイ)により実現することができる。タッチパネル方式としては、静電容量結合方式、抵抗膜方式(4線式、5線式)、超音波表面弾性波方式、赤外線走査方式などがある。タッチパネルへの接触操作(タッチ操作)は、指先を用いて行ってもよいし、タッチペンなどの入力部材を用いて行ってもよい。なお、ゲーム装置は、入力部150として、方向キーやボタン、慣性センサ(加速度センサ、角速度センサなど)、キーボード、マウス等を更に備えていてもよい。
【0026】
記憶部170は、処理部100の各部としてコンピュータを機能させるためのプログラムや各種データを記憶するとともに、処理部100のワーク領域として機能する。記憶部170の機能はハードディスク、RAMなどにより実現できる。記憶部170は、プレーヤのゲーム履歴(操作履歴、ゲーム成績等)を記憶してもよい。
【0027】
表示部190は、処理部100で生成されたゲーム画像を出力するものであり、その機能は、入力部150としても機能するタッチパネルにより実現できる。
【0028】
音出力部192は、処理部100で生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0029】
通信部196はサーバや他のゲーム装置との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0030】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている処理部100の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを記憶部170に記憶してもよい。このようにプログラムやデータを受信してゲーム装置を機能させる場合も本発明の範囲内に含む。
【0031】
処理部100(プロセッサ)は、入力部150からの入力情報(タッチパネルで検出された接触位置の座標値)、プログラム、通信部196を介して受信したデータなどに基づいて、ゲーム処理、画像生成処理、音生成処理、などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0032】
処理部100は、移動制御部110、表示制御部112、画像生成部120、音生成部130を含む。
【0033】
移動制御部110は、入力部150(タッチパネル)で検出された接触位置に基づいて、ゲーム空間における移動体の移動を制御する。ここで、ゲーム空間とは、2次元ないしは3次元の仮想空間である。また、移動制御部110は、前記移動体と前記接触位置とを結ぶ方向に基づき前記移動体の向きを制御し、前記移動体から前記接触位置までの距離に基づき前記移動体の加速度又は速度を制御する。
【0034】
表示制御部112は、前記移動体を含む画像を表示部190(タッチパネル)に表示させる制御を行う。また、表示制御部112は、前記移動体を中心とする第1の円と、前記移動体を中心とし前記第1の円よりも径が大きい第2の円とを表示部190に表示させる制御を行う。
【0035】
また、移動制御部110は、前記移動体から前記接触位置までの距離が前記第1の円の半径以上であって前記第2の円の半径以下である場合には、前記移動体の加速度の絶対値(又は速度、以下同様)を当該距離に応じた値(所定の最小値から所定の最大値までの範囲内の値)とし、当該距離が前記第1の円の半径よりも小さい場合には、前記移動体の加速度の絶対値を所定の最小値とし、当該距離が前記第2の円の半径よりも大きい場合には、前記移動体の加速度の絶対値を所定の最大値とする。ここで、前記移動体から前記接触位置までの距離が前記第1の円の半径と等しい場合と、当該距離が前記第1の円の半径よりも小さい場合とで、前記移動体の加速度の絶対値を同一の値としてもよい。また、前記移動体から前記接触位置までの距離が前記第2の円の半径と等しい場合と、当該距離が前記第2の円の半径よりも大きい場合とで、前記移動体の加速度の絶対値を同一の値としてもよい。なお、所定の最小値とは、0以上の値であり、所定の最大値とは、所定の最小値よりも大きな値である。
【0036】
また、移動制御部110は、前記接触位置が、前記移動体の前方に設定される第1領域(前記第1の円の内側の領域と前記第1の円と第2の円の間の領域と前記第2の円の外側の領域とを含む領域を二分した一方の領域)に含まれる場合には、前記移動体から前記接触位置への方向を前記移動体が向くように制御するとともに、前記距離に基づき求める前記移動体の加速度を正の値又は0とする。また、移動制御部110は、前記接触位置が、前記第1領域以外の第2領域に含まれる場合には、前記接触位置から前記移動体への方向を前記移動体が向くように制御するとともに、前記距離に基づき求める前記移動体の加速度を負の値又は0とする。
【0037】
また、表示制御部112は、ゲーム状況に応じて前記移動体を拡大して表示させる制御を行ってもよい。また、表示制御部112は、ゲーム状況に応じて前記移動体を拡大して表示させる際に、前記第1の円の径を小さくする制御を行ってもよい。この場合、移動制御部110は、径の大きさが変更された変更後の第1の円に基づいて前記移動体の加速度を制御する。以下の説明においても同様である。
【0038】
また、表示制御部112は、前記移動体の速度が所定の条件を満たす場合に、前記第1の円の径を小さくする制御を行ってもよい。
【0039】
また、移動制御部110は、前記移動体を前記ゲーム空間に設定されたコース上で移動させる制御を行い、表示制御部112は、前記移動体の進行方向のコース形状が所定の条件を満たす場合に、前記第1の円の径を小さくする制御を行ってもよい。
【0040】
また、移動制御部110は、記憶部170に記憶されたプレーヤのゲーム履歴が所定の条件を満たす場合に、前記第1の円の径を小さくする制御を行ってもよい。
【0041】
画像生成部120は、処理部100で行われる種々の処理の結果に基づいて描画処理を行い、これによりゲーム画像(移動体、第1の円、第2の円、コース等を含むゲーム画像)を生成し、表示部190に出力する。画像生成部120は、ゲーム画像として、2次元画像を生成してもよいし、オブジェクト空間(ゲーム空間)内において仮想カメラ(所与の視点)から見える画像(いわゆる3次元画像)を生成してもよい。
【0042】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0043】
また処理部100は、ゲームを開始した場合には、ゲームを開始したことを通知するための情報をサーバに送信し、ゲームが終了した場合には、ゲーム結果や各種ゲームパラメ
ータに関するゲーム結果情報をサーバに送信してもよい。サーバは、ゲーム装置から送信された、ゲーム結果情報に基づいて、各プレーヤに対応付けられた各種データの更新処理を行ってもよい。
【0044】
また、本実施形態のゲーム装置をサーバシステム(サーバ)として構成してもよい。サーバシステムは、1又は複数のサーバ(認証サーバ、ゲーム処理サーバ、通信サーバ、課金サーバ、データベースサーバ等)により構成することができる。この場合には、サーバシステムは、ネットワークを介して接続された1又は複数の端末(タッチパネルを備えたスマートフォン、携帯電話、携帯型ゲーム機、PC等)から送信された操作入力(タッチパネルで検出された接触位置)に基づいて、移動制御部110と表示制御部112の処理を行って、画像を生成するための画像生成用データを生成し、生成した画像生成用データを各端末に対して送信する。ここで、画像生成用データとは、本実施形態の手法により生成された画像を各端末において表示するためのデータであり、画像データそのものでもよいし、各端末が画像を生成するために用いる各種データ(オブジェクトデータ、ゲーム処理結果データ等)であってもよい。
【0045】
2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【0046】
本実施形態のゲーム装置は、タッチパネルに対するプレーヤの操作入力に基づいて移動体(自動車)をコースに沿って走行させるレースゲームを実行するように構成されている。
【0047】
図2は、本実施形態のゲーム装置で生成されるゲーム画面(ゲーム画像)の一例を示す図である。ゲーム画面GIは、表示部190(タッチパネル)に表示され、プレーヤは、指先やタッチペン等をタッチパネルに接触させる操作を行うことで操作入力を行うことができる。
【0048】
図2に示すように、ゲーム画面GIには、ゲーム空間GS(ゲームフィールド)に設定されたコースCSと、コースCS上を走行する移動体MOが表示されている。ここでは、ゲーム画面GIにコースCSの一部を表示し、コースCS上を走行する移動体MOが常にゲーム画面GIの中心に位置するように表示しているが、ゲーム画面GIにコースCS全体を表示するようにしてもよい。
【0049】
また、ゲーム画面GIには、移動体MOを中心とする第1の円C1と、移動体MOを中心とし第1の円C1よりも径が大きい第2の円C2が表示されている。第1の円C1は、移動体MOを内包する(第1の円C1と移動体MOとが交差しない)ように設定される。
【0050】
プレーヤは、ゲーム画面GIの任意の位置をタッチ操作することで、移動体MOの向き(移動方向)と移動体MOの加速度とを制御することができる。具体的には、移動体MO(移動体MOの代表点の位置)とタッチ操作された位置(接触位置)とを結ぶ方向に基づき移動体MOの向きが制御され、移動体MOから接触位置までの距離に基づき移動体MOの加速度が制御される。
【0051】
本実施形態では、接触位置が、移動体MOの前方に設定される第1領域に含まれるか、或いは第1領域以外の第2領域に含まれるかによって異なる制御が行われる。第1領域は、ゲーム画面GIに表示される領域(第1の円C1の内側の領域と、第1の円C1と第2の円C2の間の領域と、第2の円C2の外側の領域とを含む領域)を二分した一方の領域であって移動体MOの前方に設定される。例えば、
図3に示すように、移動体MOの向きMDと直交し移動体MOの代表点を通る線分LNを境として、移動体MOの前方を第1領
域(図中網掛けで示す領域)とし、移動体MOの後方を第2領域とする。
【0052】
図4に示すように、接触位置CPが移動体MO前方の第1領域に含まれる場合には、移動体MOの向きMDを、移動体MOから接触位置CPに向かう方向TDに変化させる制御が行われる。
【0053】
また、接触位置CPが第1領域に含まれる場合において、移動体MOから接触位置CPまでの距離Lが第1の円C1の半径よりも小さい場合(接触位置CPが第1の円C1の内側の領域に含まれる場合)には、移動体MOの加速度は所定の最小値A
min(A
minは、0又は正の値)とされ、距離Lが第1の円C1の半径以上であって第2の円C2の半径以下である場合(接触位置CPが第1の円C1と第2の円C2の間の領域に含まれる場合)には、移動体MOの加速度は距離Lに応じて最小値A
min〜最大値A
max(A
maxは、正の値)間の値とされ、距離Lが第2の円C2の半径よりも大きい場合(接触位置CPが第2の円C2の外側の領域に含まれる場合)には、移動体MOの加速度は所定の最大値A
maxとされる。具体的には、距離Lが第1の円C1の半径以上であって第2の円C2の半径以下である場合には、移動体MOの加速度Aを、次式(1)により算出する。
【0054】
A=(L−Cr
1)/(Cr
2−Cr
1)×A
max (1)
ここで、Cr
1は、第1の円C1の半径であり、Cr
2は、第2の円C2の半径である。式(1)によれば、距離Lが第1の円C1の半径Cr
1と等しければ加速度Aは、A=0(最小値A
minの一例)となり、距離Lが第2の円C2の半径Cr
2に近いほど加速度AはA
maxに近い値となり、距離Lが第2の円C2の半径Cr
2と等しければ加速度Aは、A=A
maxとなる。
【0055】
すなわち、接触位置CPが第1領域に含まれる場合には、接触位置CPが移動体MOから遠ざかるほど移動体MOを大きく加速させる制御が行われる。
【0056】
一方、
図5に示すように、接触位置CPが移動体MO後方の第2領域に含まれる場合には、移動体MOの向きMDを、接触位置CPから移動体MOに向かう方向TDに変化させる制御が行われる。
【0057】
また、接触位置CPが第2領域に含まれる場合において、移動体MOから接触位置CPまでの距離Lが第1の円C1の半径よりも小さい場合には、移動体MOの加速度は−A
min(−A
minは、0又は負の値)とされ、距離Lが第1の円C1の半径以上であって第2の円C2の半径以下である場合には、移動体MOの加速度は距離Lに応じて−A
min〜−A
max(−A
maxは、負の値)間の値とされ、距離Lが第2の円C2の半径よりも大きい場合には、移動体MOの加速度は−最大値A
maxとされる。具体的には、距離Lが第1の円C1の半径以上であって第2の円C2の半径以下である場合には、移動体MOの加速度Aの絶対値を、式(1)により算出し、算出した値に負の符号をつけた値を移動体MOの加速度Aとする。
【0058】
これにより、距離Lが第1の円C1の半径Cr
1と等しければ加速度Aは、A=0となり、距離Lが第2の円C2の半径Cr
2に近いほど加速度Aは−A
maxに近い値となり、距離Lが第2の円C2の半径Cr
2と等しければ加速度Aは、A=−A
maxとなる。
【0059】
すなわち、接触位置CPが第2領域に含まれる場合には、接触位置CPが移動体MOから遠ざかるほど移動体MOを大きく減速させる制御が行われる。
【0060】
このように、本実施形態によれば、プレーヤは、移動体MO前方の第1領域における任
意の位置をタッチ操作することで、移動体MOから接触位置CPへの方向に応じて移動体MOの向きを制御しつつ、移動体MOから接触位置CPまでの距離Lに応じて移動体MOを加速(又は等速)させ、また、移動体MO後方の第2領域における任意の位置をタッチ操作することで、接触位置CPから移動体MOへの方向に応じて移動体MOの向きを制御しつつ、移動体MOから接触位置CPまでの距離Lに応じて移動体MOを減速(又は等速)させることができ、移動体MOの向きと加減速を直感的に操作することができる。
【0061】
また、本実施形態によれば、第1の円C1と第2の円C2の間の領域においてタッチ操作された場合には、移動体MOの加速度の絶対値は移動体MOから接触位置CPまでの距離Lに応じて最小値から最大値までの範囲の値となり、第1の円C1の内側の領域においてタッチ操作された場合には、移動体MOの加速度の絶対値は最小値に固定される。このようにすると、移動体MOの加速度を変化させるためには、第1の円C1の外側の領域においてタッチ操作すればよく、第1の円C1の内側(移動体MOが表示される領域)をタッチ操作する必要が無くなるため、移動体MOがプレーヤの指等に隠れてしまいプレーヤが移動体MOを視認できないような状況になり難くすることができる。
【0062】
なお、上記説明では、接触位置が第1領域に含まれる場合と接触位置が第1領域に含まれる場合とで、加速度の最大値の絶対値(A
max)が同一である場合について説明したが、接触位置が第1領域に含まれる場合の正の加速度の最大値の絶対値と、接触位置が第2領域に含まれる場合の負の加速度の最大値の絶対値とを異なる値としてもよい。例えば、接触位置が第1領域に含まれる場合には、式(1)の「A
max」を「A1
max」とし、接触位置が第2領域に含まれる場合には、式(1)の「A
max」を「−A2
max」として、移動体MOの加速度Aを算出してもよい。
【0063】
また、移動体MOから接触位置までの距離に基づき移動体MOの加速度を算出することに代えて、移動体MOから接触位置までの距離に基づき移動体MOの速度を算出してもよい。例えば、移動体MOから接触位置までの距離が大きいほど移動体MOの速度の絶対値が大きくなるようにし、接触位置が第1領域に含まれる場合には、移動体MOの速度を正の値とし(移動体MOを前進させ)、接触位置が第2領域に含まれる場合には、移動体MOの速度を負の値とし(移動体MOを後退させ)てもよい。また、接触位置が第1領域に含まれるか否かとは無関係に、移動体MOから接触位置までの距離が大きいほど移動体MOの速度が大きくなるようにしてもよい。
【0064】
本実施形態において、接触位置CPに応じて第1領域の面積を変更するように構成してもよい。具体的には、
図6に示すように、接触位置CPが第1領域(図中網掛けで示す領域)に含まれる場合には、
図3に示す場合よりも第1領域の面積を大きくする(第2領域の面積を小さくする)制御を行う。
図6に示す例では、第1領域と第2領域の境界となる線分であって移動体MOから左右方向に延びる2つの線分LN1、LN2のそれぞれと、移動体MOの向きMDとがなす角度を、90°より大きくすることで第1領域の面積を大きくしている。
【0065】
一方、
図7に示すように、接触位置CPが第2領域(図中網掛けで示す第1領域以外の領域)に含まれる場合には、
図3に示す場合よりも第1領域の面積を小さく(第2領域の面積を大きく)する制御を行う。
図7に示す例では、第1領域と第2領域の境界となる線分であって移動体MOから左右方向に延びる2つの線分LN1、LN2のそれぞれと、移動体MOの向きMDとがなす角度を、90°より小さくすることで第1領域の面積を小さくしている。
【0066】
このように、接触位置CPが第1領域に含まれる場合には第1領域の面積を大きくし、接触位置CPが第2領域に含まれる場合には第1領域の面積を小さくする制御を行うこと
で、第1領域をタッチ操作しているつもりが意図せずに第2領域をタッチ操作してしまう、或いは第2領域をタッチ操作しているつもりが意図せずに第1領域をタッチ操作してしまうといった誤操作を抑制することができる。このような制御を行うことは、移動体MOの向きMDと移動ベクトルとのずれ(或いは、移動体MOの向きと、接触位置CPと移動体MOを結ぶ方向TDとのずれ)が大きい場合に特に有効である。
【0067】
また本実施形態において、ゲーム状況に応じて移動体MOを拡大して表示するように構成してもよい。例えば、移動体MOの速度が所定の値以下となった場合(例えば、移動体MOが停止した場合)や、移動体MOがヘアピンカーブに差し掛かった場合、移動体MOが他の移動体に囲まれた場合に、
図8に示すように、移動体MO(及びコースCS)を拡大して表示する制御を行う。なお、移動体MOを拡大して表示させる際にも、第2の円C2については拡大しない。
【0068】
ここで、移動体MOを拡大して表示させる際に、第1の円C1の径を小さくする制御を行ってもよい。
図8に示す例では、第1の円C1の径を小さくする制御の一例として、第1の円C1をゲーム画面GIから消去する(第1の円C1の径を0とする)制御を行っている。なお、第1の円C1を消去した場合には、第1の円C1が移動体MOの代表点にあるものと見做して、上述した移動制御(移動体MOの加速度の制御)を行う。移動体MOを拡大して表示させると、移動体MOがプレーヤの指等に隠れて見えなくなってしまう問題は起こり難くなるため、このときに第1の円C1の径を小さくしても(或いは、第1の円C1を消去しても)問題はない。また、上述したように、プレーヤは第1の円C1と第2の円C2の間の領域においてタッチ操作を行うことで移動体MOの加減速を制御(調節)するため、第1の円C1の径を小さくして第1の円C1と第2の円C2の間の領域を大きくすることで、プレーヤが移動体MOの加減速を制御し易くすることができる。
【0069】
また、移動体MOを拡大して表示しない場合であっても、ゲーム状況に応じて第1の円C1の径を小さくする制御を行ってもよく、移動体MOの速度が所定の条件を満たす場合に、第1の円C1の径を小さくしてもよい。例えば、移動体MOの速度が高い速度で維持されている場合(移動体MOの速度が所定値以上である状態が所定時間継続した場合)に所定の条件を満たすと判断して、第1の円C1の径を小さくする。移動体MOの速度が高い速度で維持されている場合には、第1の円C1付近におけるタッチ操作が行われ難いと考えられるため、このような場合に、第1の円C1の径を小さくことで、プレーヤが移動体MOの加減速を制御し易くする。
【0070】
また、移動体MOの進行方向のコース形状が所定の条件を満たす場合に、第1の円C1の径を小さくしてもよい。例えば、移動体MOの進行方向のコース形状が直線である場合に、所定の条件を満たすと判断して、第1の円C1の径を小さくする。移動体MOの進行方向のコース形状が直線である場合には、第1の円C1付近におけるタッチ操作が行われ難いと考えられるため、このような場合に、第1の円C1の径を小さくことで、プレーヤが移動体MOの加減速を制御し易くする。
【0071】
また、プレーヤのゲーム履歴が所定の条件を満たす場合に、第1の円C1の径を小さくしてもよい。例えば、プレーヤのゲーム履歴(例えば、操作履歴)を参照して、第1の円付近におけるタッチ操作を行う頻度が低いプレーヤであると判断できる場合に、第1の円C1の径を小さくする。また、プレーヤのゲーム履歴(例えば、ゲーム成績)に基づき当該プレーヤのレベルを判断し、当該プレーヤのレベルが低い場合に、第1の円C1の径を小さくする。このように、第1の円C1付近におけるタッチ操作を行う頻度が低いと考えられるプレーヤがプレイしている場合に、第1の円C1の径を小さくことで、プレーヤが移動体MOの加減速を制御し易くする。
【0072】
3.処理
次に、本実施形態のゲーム装置の処理の一例について
図9のフローチャートを用いて説明する。
【0073】
まず、移動制御部110は、入力部150(タッチパネル)で接触位置が検出されたか否かを判断し(ステップS10)、接触位置が検出された場合(ステップS10のY)には、検出された接触位置が第1領域に含まれるか否かを判断する(ステップS12)。接触位置が検出されない場合(ステップS10のN)には、ステップS28に移行する。
【0074】
検出された接触位置が第1領域に含まれる場合(ステップS12のY)には、移動制御部110は、移動体MOから接触位置への方向(
図4に示す方向TD)を移動体MOが向くように制御する(ステップS14)。一方、検出された接触位置が第2領域に含まれる場合(ステップS12のN)には、移動制御部110は、接触位置から移動体MOへの方向(
図5に示す方向TD)を移動体MOが向くように制御する(ステップS16)。
【0075】
次に、移動制御部110は、移動体MOから接触位置までの距離Lが、第1の円の半径Cr
1以上であって第2の円の半径Cr
2以下であるか否かを判断し(ステップS18)、距離Lが半径Cr
1以上であって半径Cr
2以下である(接触位置が第1の円C1と第2の円C2の間の領域にある)場合(ステップS18のY)には、距離Lに基づき移動体MOの加速度Aを制御する(ステップS20)。すなわち、移動体MOの加速度Aの絶対値を式(1)により算出し、接触位置が第1領域に含まれる場合には、式(1)により算出した絶対値に正の符号をつけた値を移動体MOの加速度Aとし、接触位置が第2領域に含まれる場合には、式(1)により算出した絶対値に負の符号をつけた値を移動体MOの加速度Aとする。
【0076】
また、距離Lが半径Cr
1以上かつ半径Cr
2以下でない場合(ステップS18のN)には、距離Lが半径Cr
1よりも小さいか否かを判断する(ステップS22)。距離Lが半径Cr
1よりも小さい(接触位置が第1の円C1の内側の領域にある)場合(ステップS22のY)であって、接触位置が第1領域に含まれる場合(ステップS24のY)には、所定の最小値A
minに正の符号をつけた値を移動体MOの加速度Aとし(ステップS26)、接触位置が第2領域に含まれる場合(ステップS24のN)には、最小値A
minに負の符号をつけた値を移動体MOの加速度Aとする(ステップS28)。
【0077】
また、距離Lが半径Cr
2よりも大きい(接触位置が第2の円C2の外側の領域にある)場合(ステップS22のN)であって、接触位置が第1領域に含まれる場合(ステップS30のY)には、所定の最大値A
maxに正の符号をつけた値を移動体MOの加速度Aとし(ステップS32)、接触位置が第2領域に含まれる場合(ステップS30のN)には、最大値A
maxに負の符号をつけた値を移動体MOの加速度Aとする(ステップS34)。
【0078】
次に、移動制御部110は、ステップS14或いはS16で決定した移動体MOの向き(移動ベクトルの向き)と、ステップS20、S26、S28、S32或いはS34で決定した移動体MOの加速度Aに基づいて、ゲーム空間における移動体MOの位置及び向きを更新する移動演算を行う(ステップS36)。
【0079】
次に、画像生成部120(表示制御部112)は、移動体MO、第1の円C1及び第2の円C2を含むゲーム画像を生成し、生成したゲーム画像を表示部190(タッチパネル)に出力する(ステップS38)。
【0080】
次に、処理部100は、処理を継続するか否かを判断し(ステップS40)、処理を継続する場合(ステップS40のY)には、ステップS10に移行し、ステップS10以降
の処理を1フレーム(例えば、1/60)毎に繰り返す。
【0081】
4.変形例
本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0082】
例えば、上記実施形態では、本発明を、レースゲームに適用した場合について説明したが、本発明は、タッチパネルに対する操作入力に基づきゲーム空間において移動体を移動体させるあらゆるゲームに適用することができる。例えば、本発明は、戦闘機等の移動体を移動させるシューティングゲームやシミュレーションゲーム、キャラクタを移動させるアクションゲームやロールプレイングゲーム或いはスポーツゲーム等に適用することができる。