(58)【調査した分野】(Int.Cl.,DB名)
前記追従制御手段は、前記タッチスクリーンにユーザが最初に触れた位置から接触状態を保ちながら前記タッチスクリーン上をスライド操作することにより、前記タッチスクリーンにユーザが触れている位置が前記第1領域の一部の領域である第4領域内に位置した場合、前記第4領域内における前記起点表示体の移動を行わない、請求項1に記載のゲームプログラム。
前記追従制御手段は、前記仮想操作子の位置と前記起点表示体の中心位置と間に所定のオブジェクトが位置している場合、前記起点表示体が前記オブジェクトに重ならないように、前記起点表示体の追従を停止する、請求項1または2に記載のゲームプログラム。
【発明を実施するための形態】
【0017】
[実施の形態1]
以下、本発明の実施の形態1に係るゲームプログラムおよびゲームシステムについて、図面を参照しつつ説明する。
【0018】
[ハードウェアの構成]
本実施の形態におけるゲームシステムは、携帯型のビデオゲーム機または携帯電話等のタッチスクリーンを備えた小型のゲーム装置に適用できる。以下ではこのようなゲーム装置を例に、本発明の実施の形態について説明する。
【0019】
図1は、本発明の実施の形態1に係るゲーム装置1のハードウェア構成を示すブロック図である。
図1に示すようにゲーム装置1は制御部30を備えている。制御部30は、CPU11、描画データ生成プロセッサ12、RAM(Random Access Memory)13、ROM(Read Only Memory)14、描画処理プロセッサ15、および音声処理プロセッサ16を備えている。さらに、ゲーム装置1は、VRAM(Video-RAM)20、操作入力インタフェース21、タッチスクリーン2、アンプ22、スピーカ23、イヤホン端子24、外部バスインタフェース26、および無線通信モジュール27を備えている。CPU11、描画データ生成プロセッサ12、RAM13、ROM14、描画処理プロセッサ15、音声処理プロセッサ16、操作入力インタフェース21、外部バスインタフェース26、および無線通信モジュール27が、バス10を介して相互にデータ伝送可能に接続されている。
【0020】
外部バスインタフェース26は、ゲーム装置1をUSB(Universal Serial Bus)ケーブル等の外部バスを介して他のコンピュータ装置と接続する。外部バスインタフェース26は、接続された他のコンピュータ装置(記録媒体の一種)からゲームプログラム5aおよびゲームデータ5bをロードする。ゲームプログラム5aは、例えばプレイヤキャラクタと敵キャラクタとが仮想ゲーム空間にて対戦する内容のアクションゲームをゲーム装置1に実行させるためのコンピュータプログラムである。また、ゲームデータ5bには、上記ゲームを実行する上で必要なデータが含まれている。例えば、ゲームデータ5bは、仮想ゲーム空間を構成する背景の画像データ、ステータス等の情報表示用の画像データ、十字キー等の仮想操作子の画像データ、効果音またはBGM等の音声データ、文字または記号によるメッセージデータ等を含む。
【0021】
無線通信モジュール27は、HSPA(High Speed Packet Access)等の通信規格に準拠した無線通信によって、インターネット上のサーバ装置との間でデータ通信を行う。このデータ通信により、サーバ装置からゲームプログラム5aおよびゲームデータ5bをダウンロードでき、あるいは、他のゲーム装置1との間で通信できる。本実施の形態におけるゲーム装置1は、外部バスインタフェース26または無線通信モジュール27を介してロードしたゲームプログラム5aおよびゲームデータ5bに基づいて、ゲームを実行することができる。また、無線通信モジュール27により他のゲーム装置1との間でインターネットを介して通信することにより、他のユーザが操作するキャラクタと対戦することも可能である。
【0022】
RAM13には、ロードエリアおよびワークエリアが設定されている。ロードエリアには、外部バスインタフェース26または無線通信モジュール27を介してロードしたゲームプログラム5aおよびゲームデータ5bが格納される。ワークエリアは、CPU11がゲームプログラム5aを実行する際に使用される。ROM14には、外部バスインタフェース26または無線通信モジュール27を介するローディング機能等のゲーム装置1の基本プログラムが記憶されている。
【0023】
CPU11は、RAM13にロードしたゲームプログラム5aを、後述する仮想操作子B1(
図3参照)に対するユーザの操作に応じて実行し、ゲーム進行を制御する。すなわち、ユーザに操作されることによって仮想操作子B1から操作信号が入力されると、CPU11は、ゲームプログラム5aに従ってその操作信号に対応する所定のゲーム進行処理を行う。この処理結果は、ゲーム進行を示す画像(フレーム毎のゲーム画面)としてタッチスクリーン2に表示される。この際、CPU11は、必要に応じて、音声信号を出力し、スピーカ23またはイヤホン端子24から音声を出力させる。
【0024】
より具体的には、CPU11は、ユーザにより入力された操作信号に基づき、タッチスクリーン2に表示すべきゲーム画面の内容を決定する。描画データ生成プロセッサ12は、CPU11が決定した内容に対して必要な描画データを生成し、描画処理プロセッサ15に転送する。描画処理プロセッサ15は、描画データに基づいてゲーム画面の描画処理を行う。例えば、描画処理プロセッサ15は、描画データに基づいて1/60秒毎にゲーム画面を生成し、生成したゲーム画面をVRAM20に書き込む。タッチスクリーン2は、半透過型カラー液晶ディスプレイとバックライトLED(Light Emitting Diode)とを有し、VRAM20に書き込まれたゲーム画面を表示する。
【0025】
タッチスクリーン2は、上記液晶ディスプレイおよびバックライトLEDの他に、液晶ディスプレイ上に配設されたタッチパネル等の入力手段を有している。したがって、ユーザが手の指先等でタッチスクリーン2上に接触することにより、その接触位置に関する情報が、操作入力インタフェース21およびバス10を介してCPU11へ入力される。後述するように、ユーザが予め定められた操作態様で操作するようにタッチスクリーン2に触れることにより、タッチスクリーン2にボタンまたはレバー等の物理操作子を模した仮想操作子B1が表示され、ユーザの操作態様に応じた所定の操作入力を行うことができる。
【0026】
また、CPU11は、ゲームの進行に応じて、スピーカ23から出力すべき効果音またはBGM等の音声を決定し、その音声を発音するための音声データ(ゲームデータ5bに含まれる音声データ)をRAM13から読み出して音声処理プロセッサ16に入力する。音声処理プロセッサ16は、DSP(Digital Signal Processor)で構成されている。音声処理プロセッサ16は、CPU11によって入力された音声データに対して所定の効果(例えば、リバーブ、コーラス等)を付与した後、アナログ信号に変換して、アンプ22に出力する。アンプ22は、音声処理プロセッサ16から入力された音声信号を増幅し、スピーカ23およびイヤホン端子24から音声を出力させる。
【0027】
[制御部の機能的構成]
図2は、
図1に示すゲーム装置1の機能的な構成を示すブロック図である。
図3は、
図1に示すゲーム装置1でのゲームのプレイ中のゲーム画面の一例を示す模式図である。上述したように、ゲーム装置1は、CPU11、描画データ生成プロセッサ12、RAM13、ROM14、描画処理プロセッサ15、および音声処理プロセッサ16等を含む制御部30を備えたコンピュータとして動作する。
図2に示すように、ゲーム装置1の制御部30は、ゲームプログラム5aを実行することによって、ゲーム画面表示手段31、操作対象表示手段32、操作受付手段33、ゲーム制御手段34、基準点設定手段35、操作子表示手段36、起点表示体表示手段37、追従制御手段38、移動速度設定手段39、および、仮想空間生成手段40等の機能を発揮する。
【0028】
仮想空間生成手段40は、プレイヤキャラクタP1が行動する仮想空間(仮想ゲーム空間)Sを生成する。仮想空間Sには、プレイヤキャラクタP1およびその他のオブジェクトが配置される。その他のオブジェクトには、例えば、後述する味方キャラクタP2または敵キャラクタ等の移動オブジェクトおよび岩または木等の固定オブジェクトが含まれる。仮想空間生成手段40は、プレイヤキャラクタP1の移動に伴って、ゲームデータ5bに含まれるオブジェクトおよびテクスチャなどのデータを読み出し、三次元の仮想空間Sを生成する。
【0029】
ゲーム画面表示手段31は、仮想空間Sに配置された所定の仮想カメラで仮想空間Sを撮影したときの二次元画像を生成し、タッチスクリーン2の第1領域A1にゲーム画面Dとして表示する。
【0030】
操作対象表示手段32は、ゲーム画面にユーザの操作対象であるプレイヤキャラクタP1を表示する。操作対象表示手段32は、ゲームデータ5bに含まれるプレイヤキャラクタP1のデータを読み出し、ゲーム画面に表示する。ゲーム制御手段34は、後述するユーザの操作に基づいてゲームを制御する。特に、ゲーム制御手段34は、ユーザの操作に基づいてプレイヤキャラクタP1の動作を制御する。これによりゲーム画面に表示されるプレイヤキャラクタP1が仮想空間S内で行動する。
【0031】
操作受付手段33は、ユーザがタッチスクリーン2に対して行った操作を受け付ける。より具体的には、例えばユーザがタッチスクリーン2の第1領域A1の一部の領域である第3領域A3に接触すると、操作受付手段33はその接触位置を検出し、この接触位置を含む所定の操作領域への操作があったものと判断する。なお、本明細書におけるタッチ操作(タッチスクリーン2への接触による操作)には、タッチスクリーン2への指等の接近を検知する近接検知に基づく操作が含まれる。
【0032】
基準点設定手段35は、タッチスクリーン2上に所定の基準点Rを設定する。操作子表示手段36は、仮想操作子B1の第1領域A1上の位置を、ユーザの操作に基づき設定する。操作子表示手段36は、設定された第1領域A1上の位置に仮想操作子B1を表示する。起点表示体表示手段37は、基準点Rに基づいて第1領域A1上に初期位置Biが設定される起点表示体B2を表示する。
【0033】
仮想操作子B1はユーザの操作に基づいて移動する。追従制御手段38は、仮想操作子B1が第1領域A1上を移動した場合に、起点表示体B2の中心位置C2が仮想操作子B1の中心位置C1に近づくように追従して移動させる追従制御を行う。移動速度設定手段39は、起点表示体B2の追従時の移動速度vを設定する。仮想操作子B1および起点表示体B2の設定および追従制御については以下で詳述する。
【0034】
[仮想操作子および起点表示体の表示態様]
図3および
図4A〜
図4Eを参照して、仮想操作子B1および起点表示体B2の表示態様についてより詳しく説明する。
図4A〜
図4Eは、実施の形態1における仮想操作子の表示手順を模式的に示す図である。
【0035】
本実施の形態において、第3領域A3は、ゲーム画面Dの全域に設定される第1領域A1の左半分の領域に設定される。
図4Aに示されるように、操作子表示手段36は、第3領域A3においてタッチスクリーン2にユーザが触れている位置(
図4Aにおいてはユーザの親指Uの位置)を仮想操作子B1の位置に設定する。この際、基準点設定手段35は、第3領域A3においてタッチスクリーン2にユーザが最初に触れた位置(その操作において最初に触れた位置)に基づいて基準点Rを設定する。
【0036】
起点表示体表示手段37は、基準点Rの位置に起点表示体B2の中心位置C2が位置するように起点表示体B2の初期位置Biを設定し、その初期位置Biに起点表示体B2を表示する。すなわち、ユーザの操作入力の開始時において、ユーザが最初に触れた位置を中心位置として仮想操作子B1および起点表示体B2が第3領域A3にそれぞれ表示される。
【0037】
本実施の形態において、仮想操作子B1は所定の径を有する円である。起点表示体B2は、仮想操作子B1より大きい径を有する円である。仮想操作子B1および起点表示体B2が重なって表示されることにより、現実のゲームコントローラのレバー状の操作子が模擬されている。
【0038】
操作受付手段33は、第3領域A3においてタッチスクリーン2にユーザが最初に触れた位置から接触状態を保ちながらタッチスクリーン2上をスライド操作(例えばドラッグ操作)したときの操作方向に応じた操作入力を操作方向に応じて異なる操作入力として受け付ける。本実施の形態において、仮想操作子B1は、プレイヤキャラクタP1の移動操作を行うための操作子として構成される。例えば、ユーザが、最初に触れた位置から右上方向にスライド操作した場合、操作受付手段33は、プレイヤキャラクタP1を右上に移動させる操作入力として受け付ける。その他の方向への操作入力についても同様である。
【0039】
図4Bまたは
図4Cに示されるように、操作子表示手段36は、このような操作入力に応じて、仮想操作子B1の位置を移動させる。すなわち、操作子表示手段36は、ユーザが触れている位置が仮想操作子B1の中心位置C1となるように、仮想操作子B1を移動させる。一方、基準点設定手段35は、ユーザのタッチスクリーン2への接触が継続している限り、基準点Rの位置を保持する(変更しない)。これにより、基準点Rに対する仮想操作子B1の位置(中心位置C1)の方向が操作方向となる。
【0040】
追従制御手段38は、起点表示体B2の中心位置C2が仮想操作子B1の中心位置C1に近づくように追従して移動させる。すなわち、起点表示体B2は、仮想操作子B1の移動に遅れてその移動に追従するように移動する。例えば、ユーザの親指Uが最初に触れた位置(基準点R)からある距離離れた位置までスライド操作した後、接触状態を維持しつつ停止している場合、起点表示体B2の追従制御により、起点表示体B2の中心位置C2が仮想操作子B1の中心位置C1へ近づいて行き、再び仮想操作子B1の中心位置C1に位置する。このような状態であっても基準点Rの位置は変更されないため、基準点Rに対する仮想操作子B1の位置の方向が操作方向となる操作入力が継続される。
【0041】
起点表示体B2の追従制御中(起点表示体B2の中心位置C2が仮想操作子B1の中心位置C1に位置していない状態)において、スライド操作の方向が変化した場合、起点表示体B2の追従方向もスライド操作の方向に応じて変化する。すなわち、起点表示体B2は、中心位置C2が基準点Rと仮想操作子B1の中心位置C1とを結ぶ仮想線分F(
図4C参照)上に位置するように追従制御される。なお、各領域A1〜A4(後述)、基準点R、各中心位置C1,C2、起点表示体B2の初期位置Bi、仮想線分Fは、ゲーム画面Dには表示されない。
【0042】
本実施の形態において、
図4Cに示されるように、仮想操作子B1は、起点表示体B2の外部に移動可能である。すなわち、仮想操作子B1は、起点表示体B2から離れて位置可能である。ただし、両者の距離があまり離れすぎると、ユーザがどのような操作入力が行われているかを仮想操作子B1と起点表示体B2の位置関係により確認することが難しくなる。そこで、上記のような起点表示体B2の追従制御を行うことにより、両者の位置関係が分かり易くなるようにしている。
【0043】
ここで、移動速度設定手段39は、起点表示体B2の中心位置C2に基づいて設定される第2領域A2外に仮想操作子B1が位置している場合における起点表示体B2の移動速度v2を、第2領域A2内に仮想操作子B1が位置している場合における起点表示体B2の移動速度v1より速い速度に設定する。
【0044】
より具体的には、移動速度設定手段39は、
図4Bに示されるように、起点表示体B2の中心位置C1に基づいて設定される第2領域A2内に仮想操作子B1が位置している場合に、起点表示体B2の移動速度vを第1速度範囲内の速度v1に設定する。また、移動速度設定手段39は、
図4Cに示されるように、第2領域A2外に仮想操作子B1が位置している場合に、起点表示体B2の移動速度vを第2速度範囲内の速度v2に設定する。第1速度範囲内の速度v1は、0より速い速度を下限値とし、第2速度範囲の下限値より遅い速度を上限値とする。第2速度範囲内の速度v2は、第1速度範囲の上限値より速い速度を下限値とする。
【0045】
本実施の形態において、第1速度範囲内の速度v1は、起点表示体B2の中心位置C2と仮想操作子B1の中心位置C1との間の距離および仮想操作子B1の移動速度(スライド操作の速度)にかかわらず所定の第1速度に固定される(以下、第1速度v1と表記する)。例えば、第1速度v1は、第1速度範囲の上限値に設定される。
【0046】
また、第2速度範囲内の速度v2は、起点表示体B2の中心位置C2と仮想操作子B1の中心位置C1との間の距離および仮想操作子B1の移動速度(スライド操作の速度)にかかわらず第1速度v1より速い第2速度に固定される(以下、第2速度v2と表記する)。例えば、第2速度v2は、第2速度範囲の上限値に設定される。
【0047】
第2領域A2は、起点表示体B2を画する境界線(円)の内部の領域として設定される。
図4においては、見易くするために起点表示体B2の内側に第2領域A2の境界線が示されている。前述の通り、第2領域A2は、起点表示体B2の中心位置C2に基づいて設定される。このため、第2領域A2は、起点表示体B2の移動とともに移動する。
【0048】
本実施の形態によれば、仮想操作子B1の位置(中心位置C1)と起点表示体B2の位置(中心位置C2)との距離が遠い場合には、起点表示体B2が仮想操作子B1の位置に早く近づくように、追従するための移動速度が速く設定される。一方で、仮想操作子B1の位置と起点表示体B2の位置との距離が近い場合には、その距離が遠い場合に比べて、起点表示体B2が仮想操作子B1の位置にゆっくり近づくように、追従するための移動速度が遅く設定される。
【0049】
これにより、ユーザの操作による現在の接触位置に対応する仮想操作子B1の位置が、ユーザの操作の起点となる基準点Rの方向の目安として表示される起点表示体B2から離れている場合には起点表示体B2が仮想操作子B1に速く追従する。したがって、両者の距離が早く近づき、起点に対する操作方向の把握が容易となる。
【0050】
また、両者の距離が近い場合には、起点表示体B2を遅く追従させることにより、仮想操作子B1が起点表示体B2の中心位置C2に位置することを遅らせることができる。したがって、起点に対する操作方向の把握が可能な時間を長くすることができる。
【0051】
このように、本実施の形態によれば、タッチスクリーン2に表示された仮想操作子B1を介してユーザが操作するゲームにおいて、ユーザが行った操作入力に対する視認性の向上を図ることができる。
【0052】
なお、本実施の形態において、スライド操作後、ユーザとタッチスクリーン2との接触状態が解除された場合、追従制御手段38は、起点表示体B2の追従制御を継続し、起点表示体B2の中心位置C2が仮想操作子B1の中心位置C1に位置させる。その後、さらに所定時間経過後、操作子表示手段36は、仮想操作子B1を非表示とする。これに合わせて、起点表示体表示手段37は、起点表示体B2を非表示とする。なお、プレイヤキャラクタP1は、ユーザとタッチスクリーン2との接触状態が解除された時点で今回の操作入力に基づく行動(左上方向への移動)を停止する。
【0053】
[追従制限領域の設定]
さらに、
図4Dに示すように、追従制御手段38は、タッチスクリーン2にユーザが最初に触れた位置から接触状態を保ちながらタッチスクリーン2上をスライド操作することにより、タッチスクリーン2にユーザが触れている位置が第1領域A1の一部の領域である第4領域A4内に位置した場合、第4領域A4内における起点表示体B2の移動を行わないようにする。なお、
図4Dでは、プレイヤキャラクタP1の図示を省略している。
【0054】
本実施の形態において、起点表示体B2の追従制限領域として設定される第4領域A4は、ゲーム画面Dの全域に設定される第1領域A1の右半分の領域に設定される。操作子表示手段36は、ユーザのスライド操作によりユーザがタッチスクリーン2に触れている位置が第4領域A4に移動した場合、第4領域A4のその位置に仮想操作子B1を移動(表示)させる。
【0055】
この場合、追従制御手段38は、起点表示体B2を第4領域A4内に進入させずに、進入方向(仮想線分Fに沿った方向)における第4領域A4の境界線E1に起点表示体B2が接触した時点で起点表示体B2を停止させる。
【0056】
さらに、仮想操作子B1がユーザのスライド操作に基づいて第4領域A4内で移動した場合、追従制御手段38は、第1領域A1内の第4領域A4外の領域である第3領域A3内において、起点表示体B2を追従制御する。例えば、
図4Dに示すように、仮想操作子B1が第4領域A4内で上方に移動した場合、起点表示体B2は、第4領域A4と第3領域A3との境界線E1に沿って(境界線E1に起点表示体B2が接した状態で)上方に移動する。この場合であっても、起点表示体B2は、中心位置C2が基準点Rと仮想操作子B1の中心位置C1とを結ぶ仮想線分F上に位置するように追従制御される。
【0057】
このように、起点表示体B2が進入できない領域が形成されることにより、起点表示体B2をゲーム画面D上に表示することにより、ゲーム画面Dにおいて起点表示体B2がプレイヤキャラクタP1等の主要要素に近接して見難くなることを防止することができる。
【0058】
[干渉防止処理]
さらに、追従制御手段38は、仮想操作子B1の位置(中心位置C1)と起点表示体B2の中心位置C2と間に所定のオブジェクトが位置している場合、起点表示体B2がオブジェクトに重ならないように、起点表示体B2の追従を停止する。例えば
図4Eに示すように、本ゲームにおいて、ゲーム中に所定のアイテムを獲得した場合、プレイヤキャラクタP1に並んで行動するノンプレイヤキャラクタ(味方キャラクタ)P2がゲーム画面Dの第1領域A1に表示される。
図5Eにおいては、味方キャラクタP2は、第3領域A3に表示される。
【0059】
このため、第3領域A3に表示される仮想操作子B1および起点表示体B2が味方キャラクタP2に重なる可能性が生じる。本実施の形態において、仮想操作子B1はユーザのタッチスクリーン2との接触位置に位置する。したがって、仮想操作子B1が味方キャラクタP2に重なっている状態において、仮想操作子B1および味方キャラクタP2上がユーザの接触位置となる(ユーザの指が置かれている)。このため、仮想操作子B1が味方キャラクタP2に重なっている状態においては、味方キャラクタP2上にユーザの指があるため、あまり問題にならない(いずれにしてもよく見えない)。
【0060】
一方、起点表示体B2において、上記のような追従制御を行う場合、
図4Cに示されるように、仮想操作子B1から離れた位置に起点表示体B2が位置する可能性が生じる。より詳しくは、仮想操作子B1の中心位置C1と基準点Rとを結ぶ仮想線分F上に味方キャラクタP2が位置する可能性が生じる。
【0061】
このような場合に、上記追従制御をそのまま実行すると、味方キャラクタP2と起点表示体B2とがゲーム画面D上において重なってしまい、ゲームの操作性向上のための補助表示である起点表示体B2のために、味方キャラクタP2が見え難くなってしまう。このため、ゲーム画面Dにおける視認性が悪化し、かえってゲームの操作性が悪化してしまう恐れがある。
【0062】
このような課題を解決するために、本実施の形態において、追従制御手段38は、仮想操作子B1の位置(中心位置C1)と起点表示体B2の中心位置C2と間に所定のオブジェクトとして設定される味方キャラクタP2が位置している場合、起点表示体B2が味方キャラクタP2に重ならないように、干渉防止処理として起点表示体B2の追従を停止する。
【0063】
より具体的には、追従制御手段38は、起点表示体B2の境界部(外周部)と、基準点Rと仮想操作子B1の中心位置C1とを結ぶ仮想線分Fとの交点が味方キャラクタP2に設定されている当たり判定領域内に位置したか否かを判定する。追従制御手段38は、起点表示体B2の境界部と仮想線分Fと交点が味方キャラクタP2の当たり判定領域内に位置したと判定した場合、起点表示体B2の追従を停止する。
【0064】
このような態様によれば、起点表示体B2の仮想操作子B1への追従制御を行いつつ、起点表示体B2が味方キャラクタP2に重なって表示されることが防止される。したがって、起点表示体B2の移動により味方キャラクタP2が見え難くなってゲーム画面Dにおける視認性が悪化することを防止することができる。
【0065】
[実施の形態2]
次に、本発明の実施の形態2に係るゲームプログラムおよびゲームシステムについて、図面を参照しつつ説明する。本実施の形態に係るゲーム装置1のハードウェア構成および機能的な構成は、実施の形態1における
図1および
図2と同様であるため、説明を省略する。
【0066】
図5は、本発明の実施の形態2におけるゲームのプレイ中のゲーム画面の一例を示す模式図である。本実施の形態において、実施の形態1と同様の構成は同じ符号を付し、説明を省略する。
図5の上側に示す第1状態G1は、ユーザがタッチ操作を行う前の状態を示し、
図5の下側に示す第2状態G2は、ユーザがタッチスクリーン2の第3領域A3に最初に触れたときの状態を示している。
【0067】
本実施の形態が実施の形態1と異なる点は、基準点Rの設定態様である。より具体的には、本実施の形態において、基準点設定手段35は、第3領域A3において予め定められた位置に基準点Rを設定する。すなわち、基準点Rは、ユーザのタッチスクリーン2への接触位置に関係なく第3領域A3上の予め定められた位置に固定される。
【0068】
起点表示体表示手段37は、基準点Rに基づいて設定される初期位置Biに起点表示体B2を表示する。本実施の形態において、ユーザの第3領域A3への操作がない場合、起点表示体B2は、予め基準点Rに基づいて設定される初期位置Biにおいて予め表示されている(第1状態G1)。一方、操作子表示手段36は、実施の形態1と同様に、第3領域A3においてタッチスクリーン2にユーザが触れている位置を仮想操作子B1の位置に設定する。この結果、ユーザの操作入力の初期段階において、ユーザが最初に触れた位置を中心位置として表示される仮想操作子B1の位置とは関係なく起点表示体B2が第3領域A3の所定位置に表示される(第2状態G2)。
【0069】
操作受付手段33は、基準点Rの位置(すなわち、起点表示体B2の初期位置Biの中心位置)に対する仮想操作子B1の位置(中心位置C1)の方向(相対的な方向)に応じた操作入力を相対的な方向に応じて異なる操作入力として受け付ける。
【0070】
例えば、ユーザが、初めに触れた位置が基準点Rから右上方向に位置した場合、操作受付手段33は、プレイヤキャラクタP1を右上に移動させる操作入力として受け付ける。その他の方向への操作入力についても同様である。さらに、タッチスクリーン2にユーザが最初に触れた位置から接触状態を保ちながらタッチスクリーン2上をスライド操作(例えばドラッグ操作)したときも、操作受付手段33は、上記相対的な方向に応じた操作入力として受け付ける。
【0071】
実施の形態1と同様に、第2領域A2は、起点表示体B2の中心位置C2に基づいて設定される。このため、ユーザの操作の初期段階において、ユーザのタッチスクリーン2への接触位置が第2領域A2外に位置する場合が生じ得る。本実施の形態においても、追従制御手段38は、起点表示体B2の仮想操作子B1に対する追従制御を行う。移動速度設定手段39は、起点表示体B2の追従制御における移動速度vを起点表示体B2に基づいて設定される第2領域A2内か否かに応じて設定する。
【0072】
以上より、ユーザのタッチスクリーン2への最初の接触位置が第2領域A2外である場合、起点表示体B2の追従制御における移動速度vが初めから第1速度v1より速い第2速度v2となり得る。このように、ユーザのタッチスクリーン2への最初の接触位置が第2領域A2内か否かで初めから起点表示体B2の追従制御における移動速度vが異なる。
【0073】
本実施の形態によっても、仮想操作子B1の位置(中心位置C1)と起点表示体B2の位置(中心位置C2)との距離が遠い場合には、起点表示体B2が仮想操作子B1の位置に早く近づくように、追従するための移動速度vが速く設定される。一方で、仮想操作子B1の位置と起点表示体B2の位置との距離が近い場合には、その距離が遠い場合に比べて、起点表示体B2が仮想操作子B1の位置にゆっくり近づくように、追従するための移動速度vが遅く設定される。
【0074】
したがって、本実施の形態によっても、タッチスクリーン2に表示された仮想操作子B1を介してユーザが操作するゲームにおいて、ユーザが行った操作入力に対する視認性の向上を図ることができる。特に、本実施の形態においては、固定位置として設定される基準点Rに基づいた起点表示体B2とユーザのタッチスクリーン2への接触位置に設定される仮想操作子B1との距離が初めから離れた位置となり易い。このような場合に、起点表示体B2を仮想操作子B1に速く追従させることができ、両者の距離が近づいた後は、起点表示体B2を遅く追従させることにより、仮想操作子B1が起点表示体B2の中心位置C2に位置することを遅らせることができる。
【0075】
このように、本実施の形態によっても、タッチスクリーン2に表示された仮想操作子B1を介してユーザが操作するゲームにおいて、ユーザが行った操作入力に対する視認性の向上を図ることができる。
【0076】
なお、本実施の形態において、ユーザの接触操作後、ユーザとタッチスクリーン2との接触状態が解除された場合、追従制御手段38は、起点表示体B2の追従制御を停止し、起点表示体B2を初期位置Bi(基準点Rに基づいて設定される位置)にリセットして表示させる。プレイヤキャラクタP1は、ユーザとタッチスクリーン2との接触状態が解除された時点で移動を停止する。
【0077】
また、本実施の形態においても、実施の形態1で説明した、追従制限領域(第4領域A4)の設定(
図4D)および/または味方キャラクタP2と起点表示体B2との干渉防止処理(
図4E)を適用可能である。
【0078】
以上をまとめると、上記実施の形態は、コンピュータ(ゲーム装置1)を、第1領域A1を有するタッチスクリーン2にゲーム画面Dを表示するゲーム画面表示手段31、前記タッチスクリーン2へのユーザの操作を受け付ける操作受付手段33、ユーザの前記操作に基づいてゲームを制御するゲーム制御手段34、前記第1領域A1上に所定の基準点Rを設定する基準点設定手段35、前記ユーザの操作に基づいて仮想操作子B2の前記第1領域A1上の位置を設定し、前記仮想操作子B1を表示する操作子表示手段36、前記基準点Rに基づいて前記第1領域A1上に初期位置Biが設定される起点表示体B2を表示する起点表示体表示手段37、前記仮想操作子B1が前記第1領域A1上を移動した場合に、前記起点表示体B2の中心位置C2が前記仮想操作子B1の中心位置C1に近づくように追従して移動させる追従制御手段38、および前記起点表示体B2の追従時の移動速度vを設定する移動速度設定手段39、として機能させ、前記移動速度設定手段39は、前記起点表示体B2の中心位置C2に基づいて設定される第2領域A2外に前記仮想操作子B1が位置している場合における前記起点表示体B2の移動速度(第2移動速度v2)を、前記第2領域A2内に前記仮想操作子B1が位置している場合における前記起点表示体B2の移動速度(第1移動速度v1)より速い速度に設定する、ゲームプログラムである。
【0079】
[発明の効果]
上記各実施の形態におけるゲームプログラムによれば、仮想操作子B1の位置(中心位置C1)と起点表示体B2の位置(中心位置C2)との距離が遠い場合には、起点表示体B2が仮想操作子B1の位置に早く近づくように、追従するための移動速度が速く設定される。一方で、仮想操作子B1の位置と起点表示体B2の位置との距離が近い場合には、その距離が遠い場合に比べて、起点表示体B2が仮想操作子B1の位置にゆっくり近づくように、追従するための移動速度が遅く設定される。
【0080】
これにより、ユーザの操作による現在の接触位置に対応する仮想操作子B1の位置が、ユーザの操作の起点となる基準点Rの方向の目安として表示される起点表示体B2から離れている場合には起点表示体B2が仮想操作子B1に速く追従する。したがって、両者の距離が早く近づき、起点に対する操作方向の把握が容易となる。
【0081】
また、両者の距離が近い場合には、起点表示体B2を遅く追従させることにより、仮想操作子B1が起点表示体B2の中心位置C2に位置することを遅らせることができる。したがって、起点に対する操作方向の把握が可能な時間を長くすることができる。
【0082】
このように、上記各実施の形態によれば、タッチスクリーン2に表示された仮想操作子B1を介してユーザが操作するゲームにおいて、ユーザが行った操作入力に対する視認性の向上を図ることができる。
【0083】
[他の実施形態]
以上、本発明の実施の形態について説明したが、本発明は上記実施の形態に限定されるものではなく、その趣旨を逸脱しない範囲内で種々の改良、変更、修正が可能である。
【0084】
また、上記実施の形態において、第2領域A2は、起点表示体B2を画する境界線の内部の領域として設定される例を示したが、これに限られない。例えば、第2領域A2は、起点表示体B2を画する境界線より大きい領域(より大径の円)に設定されてもよいし、起点表示体B2を画する境界線より小さい領域に設定されてもよい。また、第2領域A2の形状は、起点表示体B2と相似形状であってもよいし、相似形状でなくてもよい。例えば、起点表示体B2はひし形または多角形の境界線を有し、第2領域A2は所定の半径を有する円として設定されてもよい。
【0085】
また、上記実施の形態において、第1速度範囲内の速度v1は、起点表示体B2の中心位置C2と仮想操作子B1の中心位置C1との間の距離および仮想操作子B1の移動速度(スライド操作の速度)にかかわらず第1速度範囲の上限値の速度(第1速度)に固定され、第2速度範囲内の速度v2は、起点表示体B2の中心位置C2と仮想操作子B1の中心位置C1との間の距離および仮想操作子B1の移動速度(スライド操作の速度)にかかわらず第2速度範囲の上限値の速度(第2速度)に固定される態様を例示した。
【0086】
本発明は、これに限られず、第1速度範囲内の速度v1および/または第2速度範囲内の速度v2は、起点表示体B2の中心位置C2と仮想操作子B1の中心位置C1との間の距離または仮想操作子B1の移動速度(スライド操作の速度)に応じて変化してもよい。
【0087】
例えば、第2領域A2内における仮想操作子B1の移動速度が第1速度範囲の上限値の速度より遅く下限値の速度より速い場合、仮想操作子B1の移動速度に基づいて起点表示体B2の移動速度(追従速度)が設定されてもよい。この時の追従速度は、仮想操作子B1の移動速度と同じでもよいし、仮想操作子B1の移動速度より速い速度または遅い速度としてもよい。追従速度を仮想操作子B1の移動速度より速い速度または遅い速度とする場合、例えば仮想操作子B1の移動速度に所定の係数を掛けた値または加えた値としてもよい。
【0088】
同様に、例えば、第2領域A2外における仮想操作子B1の移動速度が第2速度範囲の上限値の速度より遅く下限値の速度より速い場合、仮想操作子B1の移動速度に基づいて起点表示体B2の移動速度(追従速度)が設定されてもよい。
【0089】
なお、起点表示体B2の追従速度が仮想操作子B1の移動速度に基づいて設定される場合においても、仮想操作子B1の移動速度は、各速度範囲内に設定される。すなわち、例えば、第2領域A2内における仮想操作子B1の移動速度が第1速度範囲の上限値を超える速度である場合、起点表示体B2の追従速度は第1速度範囲の上限値に設定される。また、例えば、第2領域外における仮想操作子B1の移動速度が第2速度範囲の下限値未満の速度である場合、起点表示体B2の追従速度は第2速度範囲の下限値に設定される。
【0090】
また、例えば、起点表示体B2の中心位置C2と仮想操作子B1の中心位置C1との間の距離が長い(遠い)ほど、起点表示体B2の追従速度を各速度範囲内においてより速い速度に設定してもよい。
【0091】
また、上記実施の形態において、仮想操作子B1の移動は、第4領域A4に進入することも許容される態様を例示した。これに代えて、仮想操作子B1の第4領域への移動を禁止してもよい。この場合、タッチスクリーン2にユーザが触れている位置(スライド操作位置)が第3領域A3を越えて第4領域A4に進入しても仮想操作子B1および起点表示体B2は第3領域A3内で停止した状態となる。このとき、ユーザのスライド操作を有効として、プレイヤキャラクタP1を引き続き移動させてもよい。これに代えて、ユーザが触れている位置が第4領域A4に進入した時点でユーザのスライド操作を無効としてもよい。
【0092】
また、このような第4領域A4を設定しないようにしてもよい。すなわち、起点表示体B2が進入できない領域を設けないようにしてもよい。
【0093】
また、上記実施の形態において、味方キャラクタP2と起点表示体B2との干渉防止処理(
図4E)が行われる態様について例示したが、このような干渉防止処理は行わなくてもよい。また、起点表示体B2を味方キャラクタP2に重ならないように停止させる態様に代えて、起点表示体B2が味方キャラクタP2に重なっている間は起点表示体B2を非表示とする干渉防止処理を行ってもよい。
【0094】
さらに、起点表示体B2に対して仮想操作子B1に追従させる制御を行うことにより、味方キャラクタP2と起点表示体B2とがゲーム画面D上において重なってしまうという課題を解決するために、上記のような干渉防止処理を行うという観点からは、起点表示体B2の追従制御において仮想操作子B1が第2領域A2内に位置しているか否かに応じて移動速度vを変更する制御は必須ではない。すなわち、干渉防止処理を行うためには、コンピュータを、移動速度設定手段39として機能させなくてもよい。
【0095】
また、上記実施の形態において、味方キャラクタP2と起点表示体B2との間で干渉防止処理を行う態様を説明したが、味方キャラクタP2以外の所定のオブジェクトと起点表示体B2との間で同様の干渉防止処理を行ってもよい。例えば、所定のオブジェクトには、操作対象となるプレイヤキャラクタP1等の操作対象オブジェクト、敵キャラクタ等のノンプレイヤキャラクタ、壁等の固定オブジェクト、アイテム等、ゲーム画面Dに表示される何れのオブジェクトも含まれ得る。複数種類のオブジェクトに対して干渉防止処理を行ってもよい。
【0096】
干渉防止処理において、追従制御手段38は、起点表示体B2の仮想操作子B1への追従を停止した後、起点表示体B2と味方キャラクタP2との接触が解除された場合、起点表示体B2の追従を再開してもよいし、そのまま追従動作を終了していもよい。追従が再開された場合、移動速度設定手段39は、起点表示体B2の移動速度vを再開時における仮想操作子B1と第2領域A2との位置関係に応じて再設定する。
【0097】
これに代えて、起点表示体B2の移動速度vは、干渉防止処理が行われない場合に比べて速い速度で移動させてもよい。例えば、移動速度設定手段39は、再開時における仮想操作子B1と第2領域A2との位置関係に応じた移動速度に所定の係数を掛けた値または加えた値を再開後の移動速度vに設定してもよい。
【0098】
また、干渉防止処理において、起点表示体B2の仮想操作子B1への追従を停止するために、起点表示体B2の追従制御に基づく位置演算は継続する一方で、ゲーム画面Dに表示される起点表示体B2の移動を停止させてもよい。この場合、追従再開後は、追従再開時において、干渉防止処理が行われていなかった場合において位置しているはずの起点表示体B2の位置に位置するまで、第2速度範囲の上限値より速い第3速度で起点表示体B2を移動させてもよい。
【0099】
また、干渉防止処理の変形例として、追従制御手段38は、起点表示体B2の追従時において、起点表示体B2が味方キャラクタ(所定のオブジェクト)P2に重なったか否かを判定し、起点表示体B2が味方キャラクタP2に重なったと判定した場合に、起点表示体B2の移動を停止し、起点表示体B2の移動停止後、起点表示体B2が味方キャラクタP2に重ならなくなったと判定された場合に、起点表示体B2の移動を再開してもよい。この場合、移動速度設定手段39は、起点表示体B2の移動再開時における移動速度vを再開時における仮想操作子B1と第2領域A2との位置関係に応じて再設定する。
【0100】
起点表示体B2および味方キャラクタP2には、それぞれ表示領域に相当する範囲に、当たり判定領域が設定されている。追従制御手段38は、起点表示体B2の当たり判定領域と味方キャラクタP2の当たり判定領域とが重なった場合に、両者が重なったと判定する。
【0101】
このような制御態様において、起点表示体B2および味方キャラクタP2のそれぞれに設定される当たり判定領域を用いて両者が重なったと判定されると、起点表示体B2が一時停止する。この際、起点表示体B2の追従方向(仮想線分Fに沿った方向)と、起点表示体B2と味方キャラクタP2との重なりの方向とは必ずしも一致しない。このため、味方キャラクタP2と起点表示体B2とが互いに近接している状態では、味方キャラクタP2の移動または仮想操作子B1の移動に伴って起点表示体B2と味方キャラクタP2との重なりおよび重なり解除が断続的に行われ得る。この場合、味方キャラクタP2の当たり判定領域の外周に沿って起点表示体B2が移動および停止を繰り返す。この結果、起点表示体B2は味方キャラクタP2に接触しながら少しずつ移動する。
【0102】
その後、起点表示体B2が味方キャラクタP2の当たり判定領域から離れた位置に位置すると、両者の重なり解除が継続され、移動速度設定手段39によって設定される移動速度vで起点表示体B2の追従が再開される。
【0103】
このような態様によっても、起点表示体B2の仮想操作子B1への追従制御を行いつつ、起点表示体B2が味方キャラクタP2に重なって表示されることが防止される。したがって、起点表示体B2の移動により味方キャラクタP2が見え難くなってゲーム画面Dにおける視認性が悪化することを防止することができる。
【0104】
また、実施の形態1において、スライド操作後、ユーザとタッチスクリーン2との接触状態が解除された場合、起点表示体B2の追従制御を継続させた後、追従制御完了後所定時間経過の後に仮想操作子B1および起点表示体B2を非表示とする態様を例示した。これに代えて、追従制御が完了したか否か(起点表示体B2の中心位置C2が仮想操作子B1の中心位置C1に位置したか否か)にかかわらず、接触状態が解除されてから所定時間経過後に仮想操作子B1および起点表示体B2を非表示としてもよい。
【0105】
あるいは、接触状態が解除された時点で、追従制御を停止し、仮想操作子B1および起点表示体B2を非表示としてもよい。また、何れの場合であっても、仮想操作子B1および起点表示体B2の表示を継続してもよい。
【0106】
また、実施の形態2において、スライド操作後、ユーザとタッチスクリーン2との接触状態が解除された場合、起点表示体B2の追従制御を停止し、起点表示体B2を初期位置Bi(基準点Rに基づいて設定される位置)にリセットして表示させる態様を例示した。これに代えて、実施の形態1と同様に、接触状態が解除された後も起点表示体B2の追従制御を継続してもよい。
【0107】
また、上記実施の形態において、仮想操作子B1に対応する操作入力が許容される第3領域A3は、第1領域A1の左半分の領域に設定される態様を説明した。これに代えて、第3領域A3は、右半分、左下部分、または右下部分等、タッチ操作が可能な第1領域A1内であれば自由に設定可能である。第1領域A1全域が第3領域A3に設定されてもよい。この場合、第1領域A1と第3領域A3とが同じ領域となる。
【0108】
また、上記実施の形態において、第1領域A1は、ゲーム画面Dの全面に設定されているが、ゲーム画面Dの一部の領域を、ユーザがタッチ操作可能な第1領域A1として設定されてもよい。この場合、ゲーム画面Dにおける第1領域A1に設定されていない領域には、ゲームスコア、ゲームのステータス等を表示する表示領域、または、装飾画像等が表示され得る。
【0109】
また、上記実施の形態において、仮想操作子B1および起点表示体B2の形状が円である態様を例示したが、これに限られず、これらの形状を多角形等の種々の形状とすることができる。
【0110】
また、上記実施の形態において、仮想操作子B1と起点表示体B2とが別体として表示されている。これに代えて、仮想操作子B1と起点表示体B2とが一体的に表示されていてもよい。例えば仮想操作子B1が操作スティック状の仮想操作子の先端部として構成され、起点表示体B2が操作スティック状の仮想操作子の基端部として構成され、先端部と基端部とが棒状のオブジェクトによって接続されたような表現としてもよい。
【0111】
また、仮想操作子B1および起点表示体B2は、例えば、非透過に表示されてもよいし、仮想空間Sの映像が透過するように半透明に表示されてもよい。また、仮想操作子B1および起点表示体B2のいずれか一方が非透過に表示され、他方が半透明に表示されてもよい。
【0112】
また、起点表示体B2は、例えば基準点Rを中心とする円が基準点Rから所定の大きさとなるまで徐々に拡大(拡径)する等の所定の表示態様を経て表示されてもよい。
【0113】
また、上記実施の形態において、操作対象がプレイヤキャラクタP1である場合を説明したが、操作対象は、例えば乗物等、ユーザがゲームにおいて操作するオブジェクトであればこれに限定されない。
【0114】
また、上記実施の形態において、仮想操作子B1による操作入力は、プレイヤキャラクタP1の移動方向を入力するための操作入力である例を示したが、これに限られない。例えば、仮想操作子B1による操作入力を、プレイヤキャラクタP1に基づいて仮想空間S内に配置される仮想カメラの向きを入力するための操作入力としてもよい。また、例えば、仮想操作子B1による操作入力を、攻撃等の所定の動作を行う方向を入力するための操作入力としてもよい。
【0115】
また、上記実施の形態では、第3領域A3に仮想操作子B1が設定される態様に基づいて例示したが、第3領域A3に設定される仮想操作子(第1仮想操作子)B1に加えて第4領域A4に別の仮想操作子(第2仮想操作子)が設定されてもよい。この場合、第2仮想操作子も上記実施の形態における表示態様で表示されてもよい。
【0116】
また、上記実施の形態において、仮想空間Sが二次元である場合を例示したが、仮想空間Sは、三次元であってもよい。この場合、プレイヤキャラクタおよびその他のオブジェクトも三次元のデータが用いられる。また、上記実施の形態においては、総対象としてプレイヤキャラクタP1が表示されるゲームを例示したが、操作対象がゲーム画面D上に表示されないゲームであってもよい。例えば、仮想空間S内の仮想カメラの撮像領域をユーザの視点としてゲーム画面Dに表示するFPSゲーム等にも上記実施の形態で説明した仮想操作子B1および起点表示体B2の制御態様を適用可能である。
【0117】
また、上記実施の形態の適用対象として、小型のゲーム装置に適用する例を示したが、これに限られない。上記実施の形態は、例えば、タッチスクリーンを有する操作デバイスと、仮想ゲーム空間を表示する液晶ディスプレイ等の表示デバイスとを別々に備えるゲームシステムにも適用可能である。
【0118】
これらの他の実施形態を採用した場合においても、本発明の作用効果は発揮される。また、上記実施の形態1または2と他の実施形態、および他の実施形態同士を適宜組み合わせることも可能である。