(57)【特許請求の範囲】
【請求項１】
コンピュータを、
所定の領域を有するタッチスクリーンにゲーム画面を表示するゲーム画面表示手段、
前記タッチスクリーンへのユーザのタップ操作を受け付ける操作受付手段、
ユーザの前記タップ操作に基づいてプレイヤキャラクタを動作させてゲームを進行させるゲーム進行手段、
前記タッチスクリーン上に所定の基準点を設定する基準点設定手段、
前記プレイヤキャラクタの移動方向に対応する複数の仮想操作子の前記タッチスクリーン上の表示位置を、前記基準点に基づき設定する操作子設定手段、及び、
複数の前記仮想操作子の夫々に対し、対応する当該仮想操作子より大きい操作領域を前記基準点に基づき設定する領域設定手段、
として機能させ、
前記ゲーム進行手段は、前記タッチスクリーンに対してタップ操作が行われると、今回の操作位置が前記仮想操作子の内外いずれであるかにかかわらず、今回の操作位置が含まれる前記操作領域に関連付けられた移動方向へ前記プレイヤキャラクタを移動させるゲーム進行処理を実行し、
前記基準点設定手段は、前記タッチスクリーン上の今回の操作位置が複数の前記仮想操作子の表示範囲から外れた位置である場合には、今回の操作位置に基づいて前記基準点を再設定し、
前記操作子設定手段は、再設定された前記基準点に基づき、今回の操作位置に対応する前記仮想操作子を、今回の操作位置を含む位置に表示するよう再設定し、かつ、再設定後すぐには前記仮想操作子を表示せず、再設定後に非操作状態が所定時間経過してから前記仮想操作子を表示し、
前記領域設定手段は、前記操作子設定手段によって再設定された複数の前記仮想操作子における中心から延びる線で前記タッチスクリーンを複数の前記仮想操作子の数だけ分割して得られる領域となるように、再設定された前記基準点に基づき、次回の操作に関する複数の前記操作領域を再設定する、
コンピュータプログラム。
【請求項２】
前記領域設定手段は、前記操作領域を、前記仮想操作子の表示範囲を含み、かつ、前記ゲーム画面の周縁部を含む範囲として設定する、請求項１に記載のコンピュータプログラム。
【請求項３】
請求項１又は２に記載のゲームプログラムを記憶したプログラム記憶部と、
前記プログラム記憶部に記憶されたプログラムを実行するコンピュータと、
を備えたゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間内で動作するキャラクタを、タッチスクリーンに表示された仮想操作子を介してユーザが操作するコンピュータプログラム、及びゲームシステムに関する。
【背景技術】
【０００２】
近年、ユーザの操作により仮想空間内でキャラクタを動作させてゲームを進行させるコンピュータプログラムが、携帯型ゲーム装置や携帯電話などの小型コンピュータ装置向けにも提供されている。このような小型コンピュータ装置では、表示画面をできるだけ大きくするために、物理操作子を省き、より大型のタッチスクリーンを搭載したものがある。この場合、省かれた物理操作子は、タッチスクリーンに表示した仮想操作子によって代替されている。例えば、上下左右の方向を示す十字キーの画像が、タッチスクリーンに仮想操作子として表示され、ユーザはこれを操作することで、ゲーム中のキャラクタの進行方向等を指示する。
【０００３】
しかし、タッチスクリーンは表面が平滑であり、仮想操作子には物理操作子のように指先で知覚できる凹凸がないため、ユーザは、十字キーのどこを操作しているのかを手元を見ずに認識することができない。そのため、ゲームに熱中していると、いつのまにか十字キーから離れた位置を操作していたり、十字キーの意図せぬ位置を操作していたり、といった事態が起きてしまう。
【０００４】
これに対し、非特許文献１には、固定的な仮想操作子に依らない操作入力が可能なアルゴリズムが開示されている。具体的に説明すると、ユーザがタッチスクリーン上をスワイプ操作した場合は、最初にタッチした位置を基準点とし、この基準点から指先のスライド方向にプレイヤキャラクタを移動させている。また、タッチスクリーン上を単にタップ操作した場合は、その操作位置にかかわらず、敵キャラクタに対する攻撃アクションが実行される。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ＣＯＬＯＰＬ  ＣＨＡＮＮＥＬ、“白猫プロジェクトぷにコン操作ムービー”、［ｏｎｌｉｎｅ］、２０１４年５月２８日、株式会社コロプラ、［２０１６年３月３１日検索］、インターネット＜URL : https://www.youtube.com/watch?v=2rpM017TGAE&feature=youtu.be＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら非特許文献１の場合、プレイヤキャラクタの移動をスワイプ操作により指示するためには、タッチおよびスライドという２つの操作を一連に行う必要がある。従って、プレイヤキャラクタを瞬時に移動させたい場合や、移動方向を頻繁に変更したい場合には操作が煩雑となってしまう。また、タッチスクリーンの外枠付近をタッチした場合、その後にタッチスクリーン外の方向にはスライド操作をできないという課題がある。
【０００７】
また、単なるタップ操作の場合は、タッチスクリーン上の操作位置が制限されない反面、どの位置をタップ操作しても単一の行動（攻撃アクション）が実行され、操作位置によって様々な行動指示をすることができない。このように、非特許文献１の技術であっても、特にアクションゲームにおけるユーザの操作性についてはいまだに改善の余地がある。
【０００８】
そこで本発明は、タッチスクリーンを媒体とする入力インタフェースにおいて、ユーザの操作性の向上を図ることができるコンピュータプログラム及びゲームシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るコンピュータプログラムは、コンピュータを、所定の領域を有するタッチスクリーンにゲーム画面を表示するゲーム画面表示手段、前記タッチスクリーンへのユーザの操作を受け付ける操作受付手段、ユーザの前記操作に基づいてゲームを進行させるゲーム進行手段、前記タッチスクリーン上に所定の基準点を設定する基準点設定手段、複数の仮想操作子の前記タッチスクリーン上の表示範囲を、前記基準点に基づき設定する操作子設定手段、及び、複数の前記仮想操作子の夫々に対し、対応する当該仮想操作子より大きい操作領域を前記基準点に基づき設定する領域設定手段、として機能させ、前記ゲーム進行手段は、前記タッチスクリーンに対する今回の操作に基づき、今回の操作位置が含まれる前記操作領域に関連付けられたゲーム進行処理を実行し、前記基準点設定手段は、前記タッチスクリーン上の今回の操作位置に基づいて前記基準点を再設定し、前記領域設定手段は、再設定された前記基準点に基づき、次回の操作に関する複数の前記操作領域を再設定する。
【００１０】
また、前記領域設定手段は、前記操作領域を、前記仮想操作子の表示範囲を含み、かつ、前記ゲーム画面の周縁部を含む範囲として設定することとしてもよい。
【００１１】
本発明に係るゲームシステムは、上記何れかのゲームプログラムを記憶したプログラム記憶部と、前記プログラム記憶部に記憶されたプログラムを実行するコンピュータと、を備える。
【発明の効果】
【００１２】
本発明によれば、タッチスクリーンを媒体とする入力インタフェースにおいて、ゲーム中であってもユーザが意図する操作を入力しやすいコンピュータプログラム及びゲームシステムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態に係るゲーム装置のハードウェア構成を示すブロック図である。
【図２】図１に示すゲーム装置の機能的な構成を示すブロック図である。
【図３】プレイ中のゲーム画像の一例を示す模式的図面である。
【図４】タップ操作時の再設定手順を説明するフローチャートである。
【図５】図４の設定手順の具体例を示すゲーム画面の模式図である。
【図６】長押し操作時の再設定手順を説明するフローチャートである。
【図７】図６の設定手順の具体例を示すゲーム画面の模式図である。
【図８】長押し操作時の他の再設定手順を説明するフローチャートである。
【図９】図８の設定手順の具体例を示すゲーム画面の模式図である。
【発明を実施するための形態】
【００１４】
（実施の形態）
以下、本発明の実施の形態に係るコンピュータプログラム及びゲームシステムについて、図面を参照しつつ説明する。
【００１５】
［ハードウェアの構成］
本発明に係るゲームシステムは、携帯型のビデオゲーム機や携帯電話などの小型のゲーム装置に適用でき、以下ではこのようなゲーム装置を例に、本発明の実施の形態について説明する。なお、本発明の適用対象は上記のような小型ゲーム装置に限られず、例えば、タッチスクリーンを有する操作デバイスと、仮想ゲーム空間を表示する液晶ディスプレイなどの表示デバイスとを別々に備えるゲームシステムにも適用可能である。
【００１６】
図１は、ゲーム装置１のハードウェア構成を示すブロック図である。図１に示すようにゲーム装置１は制御部３０を備え、該制御部３０には、ＣＰＵ１１、描画データ生成プロセッサ１２、ＲＡＭ（Random Access Memory）１３、ＲＯＭ（Read Only Memory）１４、描画処理プロセッサ１５、及び音声処理プロセッサ１６が含まれている。また、ゲーム装置１は更に、ＶＲＡＭ（Video-RAM）２０、仮想操作部入力インタフェース２１、タッチスクリーン２、アンプ２２、スピーカ２３、イヤホン端子２４、ＵＳＢ（Universal Serial Bus）インタフェース２６、及び無線通信モジュール２７を備えている。これらのうちＣＰＵ１１、描画データ生成プロセッサ１２、ＲＡＭ１３、ＲＯＭ１４、描画処理プロセッサ１５、音声処理プロセッサ１６、仮想操作部入力インタフェース２１、ＵＳＢインタフェース２６、及び無線通信モジュール２７が、バス１０を介して相互にデータ伝送可能に接続されている。
【００１７】
ゲーム装置１が備えるＵＳＢインタフェース２６は、ＵＳＢケーブルを介してゲーム装置１と他のコンピュータ装置とを接続し、接続されたコンピュータ装置（記録媒体の一種）からゲームプログラム（コンピュータプログラム）５ａ及びゲームデータ５ｂをロードする。このうちゲームプログラム５ａは、例えばプレイヤキャラクタと敵キャラクタとが仮想ゲーム空間にて対戦する内容のアクションゲームをゲーム装置１に実行させるものである。また、ゲームデータ５ｂには、上記ゲームを実行する上で必要なデータ（例えば、仮想ゲーム空間を構成する背景の画像データ、ステータスなどの情報表示用の画像データ、十字キーなどの仮想操作子の画像データ、効果音やＢＧＭなどの音声データ、文字や記号によるメッセージデータ等）が含まれている。
【００１８】
また、無線通信モジュール２７は、ＨＳＰＡ（High Speed Packet Access）などの通信規格に準拠した無線通信によって、インターネット上のサーバ装置との間でデータ通信を行う。このデータ通信により、サーバ装置からゲームプログラム５ａ及びゲームデータ５ｂをダウンロードでき、あるいは、他のゲーム装置１との間で通信できる。本実施の形態に係るゲーム装置１は、このようにＵＳＢインタフェース２６又は無線通信モジュール２７を介してロードしたゲームプログラム５ａ及びゲームデータ５ｂに基づき、アクションゲームを実行できる。また、無線通信モジュール２７によりインターネットを介して他のゲーム装置１との間で通信することにより、他のユーザが操作するキャラクタと対戦することも可能である。
【００１９】
制御部３０が備えるＲＡＭ１３には、ロードエリア及びワークエリアが設定されている。ロードエリアには、ＵＳＢインタフェース２６又は無線通信モジュール２７を介してロードしたゲームプログラム５ａ及びゲームデータ５ｂが格納される。ワークエリアは、ＣＰＵ１１がゲームプログラム５ａを実行する際に使用される。ＲＯＭ１４には、ＵＳＢインタフェース２６又は無線通信モジュール２７を介するローディング機能などのゲーム装置１の基本プログラムが記憶されている。
【００２０】
ＣＰＵ１１は、ＲＡＭ１３にロードしたゲームプログラム５ａを、後述する仮想操作子４２，４３（図３参照）に対するユーザの操作に応じて実行し、ゲーム進行を制御する。より具体的には、ユーザに操作されることによって仮想操作子４２，４３から操作信号が入力されると、ＣＰＵ１１は、ゲームプログラム５ａに従ってその操作信号に対応する所定のゲーム進行処理を行う。この処理結果は、ゲーム進行を示す画像（ゲーム画像，フレーム）としてタッチスクリーン２に表示され、必要に応じ、音声信号としてスピーカ２３やイヤホン端子２４から出力される。
【００２１】
ゲーム画像の描画は、ＣＰＵ１１の指示により描画処理プロセッサ１５が行う。すなわち、ＣＰＵ１１は、ユーザにより入力された操作信号に基づき、タッチスクリーン２に表示すべきゲーム画像の内容を決定し、その内容に対して必要な描画データを描画データ生成プロセッサ１２に生成させる。そして、その描画データを描画処理プロセッサ１５に転送して描画処理を行わせる。描画処理プロセッサ１５は、描画データに基づいて例えば１／６０秒毎にゲーム画像を生成し、生成したゲーム画像をＶＲＡＭ２０に書き込む。タッチスクリーン２は、半透過型カラー液晶ディスプレイとバックライトＬＥＤ（Light Emitting Diode）とを有し、ＶＲＡＭ２０に書き込まれたゲーム画像を表示する。
【００２２】
タッチスクリーン２は、上記液晶ディスプレイ及びバックライトＬＥＤの他に、該液晶ディスプレイ上に配設されたタッチパネル等の入力手段を有している。従って、ユーザが手の指先などでタッチスクリーン２上に接触すると、その接触位置に関する情報が、仮想操作部入力インタフェース２１及びバス１０を介してＣＰＵ１１へ入力される。また、後述するようにタッチスクリーン２にはボタンやレバー等の物理操作子を模した仮想操作子画像４２，４３が表示され（図３参照）、ユーザがこの仮想操作子４２，４３を操作するような態様でタッチスクリーン２に触れると、該仮想操作子４２，４３を介して所定の操作入力を行える。
【００２３】
また、ＣＰＵ１１は、ゲームの進行に応じて、スピーカ２３から出力すべき効果音やＢＧＭ等の音声を決定し、その音声を発音するための音声データをＲＡＭ１３から読み出して音声処理プロセッサ１６に入力する。すなわち、ＣＰＵ１１は、ゲームの進行に伴って発音イベントが発生すると、その発音イベントに応じた音声データ（ゲームデータ５ｂに含まれる音声データ）をＲＡＭ１３から読み出して音声処理プロセッサ１６に入力する。音声処理プロセッサ１６は、ＤＳＰ（Digital Signal Processor）で構成されており、ＣＰＵ１１によって入力された音声データに対して所定の効果（例えば、リバーブ、コーラスなど）を付与したのちアナログ信号に変換して、アンプ２２に出力する。アンプ２２は、音声処理プロセッサ１６から入力された音声信号を増幅したのち、スピーカ２３及びイヤホン端子２４に出力する。
【００２４】
［制御部の機能的構成］
図２は、上述したゲーム装置１の機能的な構成を示すブロック図である。図３は、ゲーム装置１でのゲームのプレイ中のゲーム画像の一例を示す模式的図面である。図２に示すように、ゲーム装置１の制御部３０は、ゲームプログラム５ａを実行することによって、ゲーム画面表示手段３１、操作受付手段３２、ゲーム進行手段３３、基準点設定手段３４、操作子設定手段３５、及び、領域設定手段３６等の機能を発揮する。
【００２５】
ゲーム画面表示手段３１は、仮想ゲーム空間４１を示す三次元データや、仮想ゲーム空間４１内で行動するプレイヤキャラクタＣ１及び敵キャラクタＣ２などの三次元データを、ゲームデータ５ｂに基づいて生成する。そして、これらのデータから図３に示すような二次元のゲーム画像を生成し、タッチスクリーン２に出力（表示）する。なお、仮想ゲーム空間４１やキャラクタＣ１，Ｃ２は三次元データではなく二次元データで構成してもよい。
【００２６】
ここで、上述の仮想ゲーム空間４１を示すデータには、ユーザがプレイヤキャラクタＣ１の動作等を指示する際の操作位置の目安となる、レバーやボタン等の画像から成る仮想操作子も含まれる。また、仮想操作子には、後述するようにユーザの操作に応じて、操作領域が再設定される第１仮想操作子４２と、操作領域が固定的に設定される第２仮想操作子４３とが含まれる。
【００２７】
なお、本実施の形態では、第１仮想操作子４２として、プレイヤキャラクタＣ１の移動方向などに関する指示を操作入力するためのいわゆる十字キーを例示しており、この第１仮想操作子４２は、上下左右の各方向に対応する仮想操作子４２ａ〜４２ｄの集合体となっている。また、第２仮想操作子４３は、プレイヤキャラクタＣ１の攻撃アクションの実行や特殊技の発動などに関する指示を操作入力するボタンキーである。
【００２８】
但し、第１仮想操作子４２および第２仮想操作子４３に他の指示内容を割り当ててもよい。例えば、仮想操作子４２ａに「ジャンプ」、仮想操作子４２ｂに「しゃがむ」、仮想操作子４２ｃに「キック」、仮想操作子４２ｄに「パンチ」、などの各指示を割り当ててもよい。なお、図３では、第１仮想操作子４２（十字キー）はタッチスクリーン２の左寄りに配置され、ユーザの左手の親指で操作される。第２仮想操作子４３（ボタンキー）はタッチスクリーン２の右寄りに配置され、ユーザの右手の親指で操作される。
【００２９】
操作受付手段３２は、ユーザがタッチスクリーン２に対して行った操作を受け付ける。より具体的には、例えばユーザがタッチスクリーン２に接触すると、操作受付手段３２はその接触位置を検出し、この接触位置を含む所定の操作領域への操作があったものと判断する。そして、ゲーム進行手段３３は、ユーザが操作した操作領域に関連付けられたゲーム進行処理（プレイヤキャラクタＣ１を動作させるなど）を行う。
【００３０】
また、詳しくは後述するが、基準点設定手段３４は、タッチスクリーン２上に所定の基準点を設定する。操作子設定手段３５は、この基準点に基づき、第１仮想操作子４２、つまり、複数の仮想操作子４２ａ〜４２ｄのタッチスクリーン２上の表示位置を設定する。また、領域設定手段３６は、基準点に基づいて、指示ごとに定められた操作受付範囲である操作領域４４を設定する。
［仮想操作子および操作領域について］
図３を参照して、仮想操作子および操作領域についてより詳しく説明する。まず、タッチスクリーン２上には４つの基準点Ｐａ〜Ｐｄが設定されており、これらの基準点Ｐａ〜Ｐｄに基づいて仮想操作子４２ａ〜４２ｄの表示位置が設定される。
【００３１】
本実施の形態では、タッチスクリーン２の左寄りの点Ｐ０から等しい距離にある上下左右の各位置に基準点Ｐａ〜Ｐｄが設定されている。そして、基準点Ｐａを含むように仮想操作子４２ａの表示位置が設定され、同様に、基準点Ｐｂ〜Ｐｄのそれぞれを含むように、対応する仮想操作子４２ｂ〜４２ｄの表示位置が設定される。
【００３２】
図３の場合、第１仮想操作子４２は全体として点Ｐ０を中心とする円形を成している。この第１仮想操作子４２は、点Ｐ０で直交する２本の斜めの線Ｌ１，Ｌ２により上下左右の４つの領域に区切られ、これらが仮想操作子４２ａ〜４２ｄとなっている。そして、各基準点Ｐａ〜Ｐｄは、対応する仮想操作子４２ａ〜４２ｄの中央付近に位置している。
【００３３】
一方、操作領域４４は、仮想操作子４２ａ〜４２ｄのそれぞれに対応する操作領域４４ａ〜４４ｄを有している。各操作領域４４ａ〜４４ｄは、対応する仮想操作子４２ａ〜４２ｄを含み、かつ、これらより大きい範囲に設定されている。図３の場合、タッチスクリーン２が、交差する２本の線Ｌ１，Ｌ２により上下左右の４つの領域に区切されており、これらの領域が操作領域４４ａ〜４４ｄに設定されている。従って、各操作領域４４ａ〜４４ｄは、対応する仮想操作子４２ａ〜４２ｄを含み、かつ、タッチスクリーン２（ゲーム画面）の周縁部を含む範囲に設定されている。
【００３４】
なお、タッチスクリーン２の周縁部分に装飾画像を表示して額縁風にし、その内側のみをゲーム画面としたり、タッチスクリーン２の一部をスコア表示の専用領域にしたりするなどして、ゲーム画面がタッチスクリーン２の一部の領域に限定される場合がある。このような場合に操作領域４４は、タッチスクリーン２の全面に設定せず、ゲーム画面として機能する範囲の全面に、あるいはその一部に、適宜設定すればよい。
【００３５】
このように、仮想操作子４２ａ〜４２ｄおよび操作領域４４ａ〜４４ｄは、いずれも基準点Ｐａ〜Ｐｄに対応付けられている。従って、例えば基準点Ｐａの位置が定まると、これに対応する仮想操作子４２ａの表示位置が操作子設定手段３５によって定められ、更に、操作領域４４ａも領域設定手段３６によって定められる。仮想操作子４２ｂ〜４２ｄおよび操作領域４４ｂ〜４４ｄも同様に、基準点Ｐｂ〜Ｐｄに基づいて定まる。
【００３６】
このような操作領域４４ａ〜４４ｄは、上述したように、ゲームに関する指示入力ごとに定められた操作受付範囲である。従って、ユーザにより操作領域４４ａ（仮想操作子４２ａの内外にかかわらず）がタッチされると、この操作領域４４ａに対応する指示入力（例えば、「上方向への移動」に関する指示入力）が、操作受付手段３２により受け付けられる。その結果、ゲーム進行手段３３が、プレイヤキャラクタＣ１を上方へ移動させるというゲーム進行処理を実行する。同様に、操作領域４４ｂ〜４４ｄがタッチされると、ゲーム装置１は、タッチされた操作領域に対応する指示入力を受け付けて、当該操作領域に対応するゲーム進行処理を実行する。
【００３７】
なお、領域設定手段３６は、第２仮想操作子４３に対応する操作領域４５も設定する。但し、本実施の形態では、この第２仮想操作子４３および操作領域４５は固定的に設定されており、対応する基準点は設けられていない。一方、基準点Ｐａ〜Ｐｄを有する仮想操作子４２ａ〜４２ｄおよび操作領域４４ａ〜４４ｄは、ユーザの操作性向上の観点から、ユーザによる操作（タップ操作や長押し操作）に応じて適宜再設定される。以下、この再設定について詳述する。なお、図３では説明の便宜上、操作領域４４の境界線（線Ｌ１，Ｌ２）を一点鎖線で示し、操作領域４５の輪郭線を二点鎖線で示し、点Ｐ０および基準点Ｐａ〜Ｐｄをドットで示しているが、実際のゲーム画面ではこのような境界線、輪郭線、および点を、ユーザに視認可能に表示する必要はない。
［タップ操作時の設定変更］
図４は、断続的な操作であるタップ操作が行われたときの、第１仮想操作子４２および操作領域４４の再設定手順を説明するフローチャートである。図５は、タップ操作時の処理の具体例を説明するゲーム画面の模式図である。なお、この図５では、図３の状態から操作領域４４ｄ内のある位置Ｐ１１が操作された場合を例示している。
【００３８】
はじめに、ゲーム装置１の操作受付手段３２は、ユーザがタッチスクリーン２を操作していない状態（図５（ａ）のゲーム画面Ｗ１１参照）で、ユーザによるタップ操作を受け付ける（ステップＳ１１）。例えば操作受付手段３２は、ユーザの指先Ｆがタッチスクリーン２に接触した後、所定の短時間（例；１〜数フレーム分の時間）で非接触状態になったことを検知したら、タップ操作がされたと判定する。このようにしてタップ操作を受け付けると、操作受付手段３２は今回のタップ操作の位置（タッチスクリーン２上の座標）を取得する（ステップＳ１２）。更に、ステップＳ１２で取得した操作位置に基づき、今回操作された操作領域４４を特定する（ステップＳ１３）。
【００３９】
すなわち、図５（ａ）の状態から、図５（ｂ）のゲーム画面Ｗ１２に示すようにユーザの指先Ｆにより操作領域４４ｄ内がタップ操作されると（ステップＳ１１：ＹＥＳ）、操作受付手段３２は、今回のタップ操作位置Ｐ１１を取得し（ステップＳ１２）、更に、その位置Ｐ１が含まれる操作領域を、操作領域４４ｄと特定する（ステップＳ１３）。
【００４０】
この結果を受けてゲーム進行手段３３は、操作された操作領域４４に関連付けられたゲーム進行処理を実行する（ステップＳ１４）。例えば、図５（ｂ）のように今回操作されたのが操作領域４４ｄであった場合、ゲーム進行手段３３は、プレイヤキャラクタＣ１を前進させたり、パンチアクションを実行させたり、といったゲーム進行処理を実行する。
【００４１】
一方、基準点設定手段３４は、ステップＳ１２で取得した操作位置に、ステップＳ１３で特定した操作領域４４に対応する基準点を再設定する（ステップＳ１５）。そして、再設定された基準点に基づき、操作子設定手段３５は仮想操作子４２の表示位置を再設定し、領域設定手段３６は操作領域４４を再設定する（ステップＳ１６）。
【００４２】
具体的には、図５（ｂ）のように操作領域４４ｄ内の位置Ｐ１１が操作されると、この位置Ｐ１１に、操作領域４４ｄに対応する基準点Ｐｄを再設定する（ステップＳ１５）。このとき、基準点Ｐｄの再設定と同時に、その他の基準点Ｐａ〜Ｐｃの位置も再設定する。例えば、各基準点Ｐａ〜Ｐｄの相対的な位置関係が、再設定の前後で同一となるように、新たな基準点の位置を設定する。
【００４３】
次に、この新たな基準点Ｐａ〜Ｐｄに基づき、対応する仮想操作子４２ａ〜４２ｄの表示位置および操作領域４４ａ〜４４ｄが再設定される（ステップＳ１６）。図５（ｃ）は、再設定された仮想操作子４２ａ〜４２ｄおよび操作領域４４ａ〜４４ｄを含むゲーム画面Ｗ１３を示している。ここでは、基準点Ｐａ〜Ｐｄおよび線Ｌ１，Ｌ２の相対的な位置関係が、再設定の前後において同一となっている（図５（ａ），（ｃ）参照）。
【００４４】
以上に説明したように、ユーザのタップ操作は、第１仮想操作子４２の狭い表示範囲に制限されず、より広い操作領域４４において受け付けられる。また、ユーザによる操作領域４４へのタップ操作毎に、その操作位置に基づき、次の操作に対する第１仮想操作子４２および操作領域４４の設定位置が更新される。従って、ユーザによるタップ操作が、操作のたびに位置ずれするような場合であっても、ユーザが意図する指示の入力が可能である。
【００４５】
なお、基準点Ｐａ〜Ｐｄ、仮想操作子４２ａ〜４２ｄ、および操作領域４４ａ〜４４ｄの各設定情報は、ゲーム装置１のＲＡＭ１３等の記憶部にて記憶され、再設定が行われるたびに記憶されていた設定情報は新たな設定情報に上書きされる。
【００４６】
また、上記のような再設定処理は、ユーザのタップ操作位置が、第１仮想操作子４２の表示範囲から外れた位置である場合にのみ行うこととしてもよい。つまり、図４のステップＳ１２で取得したタップ操作位置が、第１仮想操作子４２の表示範囲内であるか否か判定し、表示範囲外のときのみステップＳ１３以下の処理を行い、表示範囲内ときはこの再設定処理を中断してもよい。また、図４のフローのうち、ゲーム進行処理（ステップＳ１４）と、各種再設定処理（ステップＳ１５，Ｓ１６）とは、この順序に実行する必要はなく、同時並行的に実行してもよい。
【００４７】
また、上記説明では操作毎に第１仮想操作子４２の表示位置を再設定することについて言及したが、操作領域４４のみを再設定して第１仮想操作子４２の表示位置は再設定しなくてもよい。あるいは、操作毎に第１仮想操作子４２の表示位置を再設定する場合であっても、第１仮想操作子４２を、再設定した位置に毎回表示しなくてもよい。例えば、ユーザの非操作状態が所定時間経過したときなどに、直近に再設定した位置に表示することとし、それまでは最初のタップ操作前の表示を維持するか、最初のタップ操作後は非表示としてもよい。
【００４８】
また、第１仮想操作子４２を初期位置とは異なる位置に表示する場合、第１仮想操作子４２を表すアイコンの視認性を変更してもよい。例えば、アイコンの形状を変更したり、色相、明度、彩度、透明度のうち一又は複数を変更した画像を用いたりしてもよい。これにより、ユーザが手元を見たときに、操作位置のずれを認識することができる。
【００４９】
更に、上記ではユーザのタップ操作位置Ｐ１１に、操作された操作領域４４ｄの基準点Ｐｄの位置を再設定する態様を説明したが、これに限られない。例えば、タップ操作位置Ｐ１に、第１仮想操作子４２の代表基準点の位置を再設定することとしてもよい。この代表基準点としては、典型的には、第１仮想操作子４２の中央付近に位置し、各仮想操作子４２ａ〜４２ｄに対して中立的に存在する点Ｐ０（図３参照）を採用できる。ただし、代表基準点はこれに限られず、例えば、基準点Ｐａ〜Ｐｄの中から選択した１つを採用してもよい。
［長押し操作時の設定変更（１）］
図６は、継続的な操作である長押し操作が行われたときの、第１仮想操作子４２および操作領域４４の再設定手順を説明するフローチャートである。ここでは、長押し操作中の操作位置のずれに、第１仮想操作子４２および操作領域４４が、リアルタイムに追従移動する態様を説明する。
【００５０】
はじめに、操作受付手段３２は、ユーザによるタッチスクリーン２への長押し操作を受け付ける（ステップＳ２１）。例えば、ユーザの指先Ｆがタッチスクリーン２に接触した後、所定時間（例；１〜数フレーム分の時間）以上、接触状態が継続していることを検知したら、長押し操作がされたと判定する。このようにして長押し操作を受け付けると、操作受付手段３２は、所定の周期ごとに現在の操作位置（長押し操作している指先Ｆが、現在接触しているタッチスクリーン２上の座標）を取得する（ステップＳ２２）。
【００５１】
次に、ゲーム進行手段３３は、長押し操作の開始時に操作された操作領域に関連付けられたゲーム進行処理を継続する（ステップＳ２３）。また、基準点設定手段３４は、ステップＳ２２で取得した現在の操作位置に、基準点を再設定する（ステップＳ２４）。この基準点は、長押し操作の開始時に操作された操作領域に対応する基準点である。そして、この基準点に基づき、仮想操作子および操作領域を再設定する（ステップＳ２５）。以上のステップＳ２２〜Ｓ２５の処理を、長押し操作が終了するまで継続する（ステップＳ２６）。
【００５２】
上述した再設定の態様について具体例をあげて説明する。図７は、図６のフローチャートで示した長押し操作時の再設定処理の具体的態様を示すゲーム画面の模式図である。図７（ａ）のゲーム画面Ｗ２１に示すように、ここでは、仮想操作子４２ａを長押し操作している間に、その操作位置が軌跡Ｒ１に沿ってずれた場合について説明する。
【００５３】
図７（ａ）に示すように軌跡Ｒ１は、仮想操作子４２ａ内の位置Ｐ２１から操作領域４４ａ内を上方へ向かい、更に境界線Ｌ１を超えて右側へ向かい、操作領域４４ｄ内の位置Ｐ２２に至る軌跡である。この間、ゲーム装置１は、所定の周期で図６に示す一連の処理を繰り返す。つまり、長押し操作中は、操作領域４４ａに関連付けられたゲーム進行処理（例えば、ジャンプアクション）を継続的に実行する（ステップＳ２３）。また、長押し操作中に所定の周期で操作位置を取得（ステップＳ２２）する毎に、その操作位置（現在の操作位置）に基準点Ｐａを再設定（ステップＳ２４）すると共に、この基準点Ｐａに基づいて仮想操作子４２ａおよび操作領域４４ａを再設定（ステップＳ２５）する。
【００５４】
なお、基準点Ｐａを再設定する際、これと同時に他の基準点Ｐｂ〜Ｐｄも再設定すればよい。そして、仮想操作子４２ａおよび操作領域４４ａを再設定する際、これと同時に他の仮想操作子４２ｂ〜４２ｄおよび操作領域４４ｂ〜４４ｄも再設定すればよい。これにより、長押し操作中にユーザの指先Ｆが位置ずれすると、図７（ｂ）のゲーム画面Ｗ２２に示すように、移動する指先Ｆの位置（操作位置）にリアルタイムで追従するよう、第１仮想操作子４２の表示位置および操作領域４４の設定位置も移動する。なお、図７（ｂ）では、最新の操作位置（位置Ｐ２２）に対応する第１仮想操作子４２を実線で表し、長押し操作中の過去の第１仮想操作子４２の断続的な表示位置を破線により示している。
【００５５】
これにより、長押し操作位置が上下左右の何れの方向にずれても、最初にタッチした操作領域に関連付けられた操作が継続し、その操作に基づいたゲーム進行処理の実行が継続される。更に、図７（ａ）のように長押し操作位置が操作領域４４ａから操作領域４４ｄへずれた場合であっても、最初にタッチした操作領域４４ａに関連付けられた操作が継続し、その操作に基づいたゲーム進行処理の実行が継続される。従って、ユーザの長押し操作位置が途中でずれた場合に、その時点で長押し操作が解除されるなどし、ユーザが意図しない操作およびゲーム進行処理が実行されてしまうのを回避でき、操作性の高い入力インタフェースを実現することができる。
【００５６】
なお、ステップＳ２４の基準点の再設定は、ユーザによる操作位置が第１仮想操作子４２の範囲外へ最初に出た時点から実行することとしてもよい。つまり、長押し操作中の操作位置が、最初に操作した第１仮想操作子４２（仮想操作子４２ａ〜４２ｄの何れか）上にある間は、基準点の再設定を行わず、仮想操作子および操作領域の再設定も行わなくてもよい。
［長押し操作時の設定変更（２）］
図８は、長押し操作が行われたときの、第１仮想操作子４２および操作領域４４の再設定手順の他の態様を説明するフローチャートである。ここでは、長押し操作位置がずれても、仮想操作子４２の表示位置等をリアルタイムで変更（追従）させず、長押し操作の終了時に、第１仮想操作子４２および操作領域４４を再設定する態様を説明する。
【００５７】
はじめに、操作受付手段３２は、ユーザによるタッチスクリーン２への長押し操作を受け付け（ステップＳ３１）、所定の周期ごとに現在の操作位置を取得する（ステップＳ３２）。更に、その操作位置（現在の操作位置）が含まれる操作領域を特定する（ステップＳ３３）。次に、ゲーム進行手段３３は、この操作領域に関連付けられたゲーム進行処理を実行する（ステップＳ３４）。そして、以上のステップＳ３２〜Ｓ３４の処理を、長押し操作が終了するまで継続する（ステップＳ３５）。つまり、長押し操作中は、基準点、仮想操作子、および操作領域の再設定は行わない。
【００５８】
一方、長押し操作が終了すると（ステップＳ３５：ＹＥＳ）、その終了位置に基準点を設定する（ステップＳ３６）。この基準点は、長押し操作の開始時に設定されていた操作領域のうち、長押し操作の終了位置を含む操作領域、に対応する基準点である。そして、この基準点に基づいて、仮想操作子および操作領域を再設定する（ステップＳ３７）。
【００５９】
上述した再設定の態様について具体例をあげて説明する。図９は、図８のフローチャートで示した長押し操作時の再設定処理の具体的態様を示すゲーム画面の模式図である。図９（ａ）のゲーム画面Ｗ３１に示すように、ここでは、仮想操作子４２ａを長押し操作している間に、その操作位置が軌跡Ｒ２に沿ってずれた場合と、軌跡Ｒ３に沿ってずれた場合とについて説明する。
【００６０】
図９（ａ）に示すように軌跡Ｒ２は、仮想操作子４２ａ内の位置Ｐ２１から操作領域４４ａ内を上方へ向かって位置Ｐ２３に至る軌跡である。つまり、長押し操作は位置Ｐ２３で終了している。この場合、位置Ｐ２３に至るまでの長押し操作中、ゲーム装置１は図８のステップＳ３２〜Ｓ３５の処理を繰り返す。従って、長押し操作中は、所定の周期で取得される操作位置（現在の操作位置）に関連付けられたゲーム進行処理（例えば、ジャンプアクション）が行われるが、図９（ｂ）のゲーム画面Ｗ３２に示すように、基準点、仮想操作子、および操作領域の再設定は行われない。
【００６１】
一方、長押し操作が位置Ｐ２３で終了すると、この終了位置Ｐ２３に基準点が再設定される（ステップＳ３６）。ここで、終了位置Ｐ２３は、長押し操作の開始時に設定されている操作領域４４ａ〜４４ｄ（図９（ａ）参照）のうち操作領域４４ａに含まれるため、操作領域４４ａに対応する基準点Ｐａが、この位置Ｐ２３に再設定される（図９（ｂ）参照）。そして、再設定された基準点Ｐａに基づいて、第１仮想操作子４２および操作領域４４も再設定される（ステップＳ３７）。
【００６２】
次に、図９（ａ）に示すように軌跡Ｒ３は、仮想操作子４２ａ内の位置Ｐ２１から操作領域４４ａ内を右上方へ向かい、途中の位置Ｐ２４で境界線Ｌ１を越えて操作領域４４ｄ内の位置Ｐ２５に至る軌跡である。つまり、長押し操作の開始時と終了時とで操作領域が異なっており、長押し操作は位置Ｐ２５で終了している。この場合も、位置Ｐ２５に至るまでの長押し操作中、ゲーム装置１は図８のステップＳ３２〜Ｓ３５の処理を繰り返す。
【００６３】
但し、軌跡Ｒ３は位置Ｐ２４で境界線Ｌ１を跨いでいる。従って、ステップＳ３４にてゲーム進行手段３３は、現在の操作位置が操作領域４４ａにある間は、操作領域４４ａに関連付けられた操作を継続し、その操作に基づいてゲーム進行処理（例えば、ジャンプアクション）を実行する。そして、現在の操作位置が位置Ｐ２４を越えて操作領域４４ｄに入った後は、操作領域４４ｄに関連付けられた操作を継続し、その操作に基づいてゲーム進行処理（例えば、パンチアクション）を実行する。なお、この間、図９（ｃ）のゲーム画面Ｗ３３に示すように、基準点、仮想操作子、および操作領域の再設定は行われない。
【００６４】
一方、長押し操作が位置Ｐ２５で終了すると、この終了位置Ｐ２５に基準点が再設定される（ステップＳ３６）。ここで、終了位置Ｐ２５は、長押し操作の開始時に設定された操作領域４４ａ〜４４ｄ（図９（ａ）参照）のうち操作領域４４ｄに含まれるため、操作領域４４ｄに対応する基準点Ｐｄが、この位置Ｐ２５に再設定される（図９（ｃ）参照）。そして、再設定された基準点Ｐｄに基づいて、第１仮想操作子４２および操作領域４４も再設定される（ステップＳ３７）。
【００６５】
これにより、長押し操作位置がずれても、長押し操作開始時に設定された操作領域のうち、現在の操作位置を含む操作領域に関連付けられたゲーム進行処理の実行が継続される。更に、図９（ｃ）のように、長押し操作位置が異なる操作領域へ進入した場合にはゲーム進行処理の内容が切り替えられる。従って、ユーザの長押し操作位置のずれをある程度許容しつつ、大きな位置ずれが生じた場合にはユーザに気付かせることができる。
【００６６】
また、長押し操作中は、基準点Ｐａ〜Ｐｄ、第１仮想操作子４２、および操作領域４４の再設定を行わない。そのため、ユーザが手元を視認していない可能性の高いときには、再設定に要するゲーム装置１の処理負荷を低減することができる。一方、長押し操作の終了時点で再設定するため、ユーザが次に操作する際、第１仮想操作子４２の位置を確認することができる。
【００６７】
なお、図９の例では、長押し操作が、第１仮想操作子４２内の位置Ｐ２１で開始される場合を例示したが、これに限られない。例えば、操作領域４４ａにおいて仮想操作子４２ａの外側の範囲に含まれる位置が、最初に操作される場合であっても、上記と同様にして再設定処理を行うことができる。
【００６８】
また、ステップＳ３６で再設定する基準点は、長押し操作の開始時の操作領域において、長押し操作の終了位置を含む操作領域に対応する基準点に限られない。例えば、第１仮想操作子４２に適宜設定した代表基準点を採用してもよい。この代表基準点としては、典型的には、第１仮想操作子４２の中央付近に位置し、各仮想操作子４２ａ〜４２ｄに対して中立的に存在する点Ｐ０（図３参照）を採用できる。ただし、代表基準点はこれに限られず、例えば、基準点Ｐａ〜Ｐｄの中から選択した１つを採用してもよい。
【００６９】
また、長押し操作中はステップＳ３５，Ｓ３６の再設定処理は行わないものの、現在の操作位置を含む仮想操作子の表示態様を変更してもよい。例えば、長押し操作中、現在の操作位置が操作領域４４ａに含まれる場合、対応する仮想操作子４２ａの表示態様を変更する。表示態様の変更としては、仮想操作子４２ａを光らせたり、点滅させたり、色彩を変更させたり、などの態様が取り得る。これにより、どの仮想操作子に対する長押し操作が継続しているのかを、ユーザが把握できる。
【００７０】
またこの場合において、長押し操作の位置が他の操作領域へ移動した場合には、操作領域の変更に伴って、表示態様を変更する仮想操作子を変更してもよい。例えば、図９（ａ）の軌跡Ｒ３に沿って操作位置がずれた場合、位置Ｐ２４に至る前は仮想操作子４２ａの表示態様を変更し、位置Ｐ２４を通過した後は仮想操作子４２ｄの表示態様を変更する。これにより、長押し操作の途中で、長押し操作している操作領域が変わったことを、ユーザに報せることができる。
【００７１】
また、図９（ａ）の軌跡Ｒ３の例の場合、操作領域４４ａに対する長押し操作は、操作位置が位置Ｐ２４に達した時点で実質的に終了し、その後は操作領域４４ｄに対する長押し操作が開始される、と見ることもできる。従って、ある一の操作領域を長押し操作している間に、操作位置がずれて、他の一の操作領域との境界線上に達した場合は、その時点で、当初の操作領域に対する長押し操作は終了した（図８のステップＳ３５でＹＥＳ）と判定し、基準点の再設定（ステップＳ３６）、仮想操作子および操作領域の再設定（ステップＳ３７）を行ってもよい。
【００７２】
この場合、再設定される基準点は、境界線で接する他の一の操作領域に対応する基準点とすればよい。例えば図９（ａ）の軌跡Ｒ３のケースでいえば、長押し操作の操作位置が位置Ｐ２４に達した時点で、操作領域４４ａに対する長押し操作は終了したと判定し（ステップＳ３５）、この位置Ｐ２４に基準点Ｐｄを再設定し（ステップＳ３６）、この基準点Ｐｄに基づいて仮想操作子４２ｄおよび操作領域４４ｄ等を再設定すればよい（ステップＳ３７）。
［その他］
第１仮想操作子４２は、十字キーに限られず、２つや３つの仮想操作子の集合体としてもよい。また、操作領域の設定範囲を、タッチスクリーン２の一部の範囲に制限してもよい。例えば、第１仮想操作子４２の初期位置がタッチスクリーン２の左側である場合、その操作領域４４をタッチスクリーン２の左側の所定範囲内（典型的には左半分の範囲内）に制限してもよい。
【００７３】
また、図５（ａ）に示した例では、仮想操作子４２ｄの操作領域４４ｄと、第２仮想操作子４３の操作領域４５とが重複している。このような場合に、重複部分がタップ操作されたときには、操作領域４５への操作を優先的に受け付けることとしてもよい。同様に、図７（ａ）および図９（ａ）に示した例でも、仮想操作子４２ｄの操作領域４４ｄと、第２仮想操作子４３の操作領域４５とが重複している。従って、長押し操作位置がずれて重複部分に達した場合は、操作領域４５への操作を優先的に受け付けることとしてもよい。
【００７４】
また、上記図５，図７，図９のいずれの説明でも、ゲーム開始時の第１仮想操作子４２を、予め設定された初期位置に表示することとしていたが、これに限られない。例えば、ゲーム装置１の起動後、ゲームを開始させるトリガとして、ユーザにタッチスクリーン２を触れさせることとし、その接触位置を第１仮想操作子４２の表示の初期位置としてもよい。これにより、ユーザにとって操作性のよい位置をユーザ自身が選択し、そこに第１仮想操作子４２を表示させることができる。
【００７５】
ユーザの操作位置が仮想操作子内に位置している場合と仮想操作子外に位置している場合とで、仮想操作子の色を変化させたり、仮想操作子以外のタッチスクリーン２の表示態様を変化させたり（例えば、ゲーム画面の周囲を光らせるなど）してもよい。あるいは、ユーザの操作位置が仮想操作子内に位置している場合と仮想操作子外に位置している場合とで、音を変化させてもよい。例えば、仮想操作子内をタップしたときの効果音と、仮想操作子外をタップしたときの効果音とを異ならせる。これにより、操作位置が仮想操作子から外れた位置にあることを、ユーザに報せることができる。
【００７６】
また、仮想操作子４２ａ〜４２ｄごとに、ユーザによる操作を受け付けたときの効果音を異なるように設定しておいてもよい。これにより、ユーザは手元を見なくても、複数のうちどの仮想操作子を操作したのかを、操作効果音から把握することができる。
【産業上の利用可能性】
【００７７】
本発明は、タッチスクリーンを媒体とする入力インタフェースを実現するコンピュータプログラム、及び、当該入力インタフェースを備えるゲームシステムに適用することができる。
【符号の説明】
【００７８】
１      ゲーム機１（コンピュータ装置）
２      タッチスクリーン
５ａ    ゲームプログラム
３０    制御部
３１    ゲーム画面表示手段
３２    操作受付手段
３３    ゲーム進行手段
３４    基準点設定手段
３５    操作子設定手段
３６    領域設定手段
４２，４２ａ〜４２ｄ    仮想操作子
４４，４４ａ〜４４ｄ    操作領域
Ｃ１    プレイヤキャラクタ
Ｃ２    敵キャラクタ
Ｐａ〜Ｐｄ    基準点
【図１】
0006444927.tif 000002
【図２】
0006444927.tif 000003
【図３】
0006444927.tif 000004
【図４】
0006444927.tif 000005
【図５】
0006444927.tif 000006
【図６】
0006444927.tif 000007
【図７】
0006444927.tif 000008
【図８】
0006444927.tif 000009
【図９】
0006444927.tif 000010