(57)【特許請求の範囲】
【請求項１】
所与の画面が表示されるタッチパネルへのタッチ操作入力を受け付けるプログラムであって、
前記画面への前記タッチ操作入力されていない状態から当該タッチ操作入力された状態への状態変化を検出する第１の検出処理と当該タッチ操作入力が継続されてスライド操作入力されている間における前記画面へのタッチ操作入力の位置を指示位置として検出する第２の検出処理とを実行するタッチ操作入力検出処理手段、
前記スライド操作入力されている間に検出された前記指示位置に基づいて前記画面内に表示されている操作対象オブジェクトの移動操作制御を実行し、当該画面に表示されたタッチ操作入力オブジェクトマーカへのタッチ操作入力に基づいて当該操作対象オブジェクトの当該移動操作制御とは異なる特定の操作制御を行う操作制御手段、及び、
前記操作対象オブジェクトに対する前記特定の操作制御をするための所与の条件が具備された場合に、当該特定の操作制御に関する処理を実行する指示を検出するための前記タッチ操作入力オブジェクトマーカを、所与の状態から前記タッチ操作入力の前記指示位置に近接した前記画面上の近接位置に表示する表示制御処理を実行する操作入力オブジェクト表示制御手段、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１に記載のプログラムにおいて、
前記操作入力オブジェクト表示制御手段が、
前記所与の状態として所与の位置に予め表示されている前記タッチ操作入力オブジェクトマーカを、前記近接位置に移動させることによって前記表示制御処理を実行する、プログラム。
【請求項３】
請求項２に記載のプログラムにおいて、
前記操作入力オブジェクト表示制御手段が、
前記指示位置と前記タッチ操作入力オブジェクトマーカが表示されている前記所与の位置とが予め定められた条件を具備した場合に、前記所与の位置に表示されている前記タッチ操作入力オブジェクトマーカを、前記近接位置に移動させることによって前記表示制
御処理を実行する、プログラム。
【請求項４】
請求項１に記載のプログラムにおいて、
前記操作入力オブジェクト表示制御手段が、
前記所与の状態として非表示になっている前記タッチ操作入力オブジェクトマーカを前記近接位置に表示させることによって前記表示制御処理を実行する、プログラム。
【請求項５】
請求項１に記載のプログラムにおいて、
前記操作入力オブジェクト表示制御手段が、
前記所与の状態として所与の位置に予め表示されている前記タッチ操作入力オブジェクトマーカの色又は形状を、前記指示位置に近接する近接位置に接するまで変化させることによって前記表示制御処理を実行する、プログラム。
【請求項６】
請求項１〜５のいずれか１項に記載のプログラムにおいて、
前記操作入力オブジェクト表示制御手段が
前記所与の条件を具備した際に、前記特定の操作制御に関する処理が実行可能な場合には、前記表示制御処理の対象としてタッチ操作入力オブジェクトマーカを前記近接位置に表示し、
前記所与の条件を具備した際に、前記特定の操作制御に関する処理が実行不能な場合には、前記表示制御処理の非対象としてタッチ操作入力オブジェクトマーカを前記近接位置に非表示にする、プログラム。
【請求項７】
請求項１〜６のいずれか１項に記載のプログラムにおいて、 
前記操作入力オブジェクト表示制御手段が、
前記指示位置に指示位置入力オブジェクトマーカを表示させる、プログラム。
【請求項８】
請求項１〜７のいずれか１項に記載のプログラムにおいて、
前記特定の操作制御に関する処理に対する所与の条件が具備されて前記近接位置に前記タッチ操作入力オブジェクトマーカが表示される際に、前記表示制御処理には、他のタッチ操作入力オブジェクトマーカから識別するための識別表示を含む、プログラム。
【請求項９】
請求項８に記載のプログラムにおいて、
前記操作入力オブジェクト表示制御手段が
前記所与の条件を具備した際に、前記特定の操作制御に関する処理が実行可能な複数のタッチ操作入力オブジェクトマーカがある場合には、当該複数のタッチ操作入力オブジェクトマーカのそれぞれを前記識別表示しつつ、関連付けて表示する前記表示制御処理を実行する、プログラム。
【請求項１０】
請求項１〜９のいずれか１項に記載のプログラムにおいて、
前記操作入力オブジェクト表示制御手段が、
前記タッチ操作入力検出処理手段によって、前記スライド操作入力されている間に、前記画面へのタッチ操作入力されていない状態を検出した場合には、当該状態を検出してから予め定められた期間、前記指示位置に近接する近接位置に前記タッチ操作入力オブジェクトマーカを継続して表示する、プログラム。
【請求項１１】
請求項１〜１０のいずれか１項に記載のプログラムおいて、
前記タッチ操作入力オブジェクトマーカが前記指示位置に接触した場合に、当該タッチ操作入力オブジェクトマーカに対応する操作指示コマンドを実行するコマンド制御手段として前記コンピュータを機能させるプログラム。
【請求項１２】
請求項１〜１１のいずれか１項に記載のプログラムおいて、
前記タッチ操作入力オブジェクトマーカを前記所与の画面における予めタッチ操作入力を検出した位置に設定する設定手段として前記コンピュータを機能させるプログラム。
【請求項１３】
所与の画面が表示されるタッチパネルへのタッチ操作入力を受け付ける入力処理装置であって、
前記画面への前記タッチ操作入力されていない状態から当該タッチ操作入力された状態への状態変化を検出する第１の検出処理と当該タッチ操作入力が継続されてスライド操作入力されている間における前記画面へのタッチ操作入力の位置を指示位置として検出する第２の検出処理とを実行するタッチ操作入力検出処理手段、
前記スライド操作入力されている間に検出された前記指示位置に基づいて前記画面内に表示されている操作対象オブジェクトの移動操作制御を実行し、当該画面に表示されたタッチ操作入力オブジェクトマーカへのタッチ操作入力に基づいて当該操作対象オブジェクトの当該移動操作制御とは異なる特定の操作制御を行う操作制御手段、及び、
前記操作対象オブジェクトに対する前記特定の操作制御をするための所与の条件が具備された場合に、当該特定の操作制御に関する処理を実行する指示を検出するための前記タッチ操作入力オブジェクトマーカを、所与の状態から前記タッチ操作入力の前記指示位置に近接した前記画面上の近接位置に表示する表示制御処理を実行する操作入力オブジェクト表示制御手段、
を備えることを特徴とする入力処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力処理装置及びプログラムなどに関する。
【背景技術】
【０００２】
近年、タブレット型情報通信端末装置又はスマートフォンなどの情報通信端末装置（以下、「通信端末装置」という）の多機能化、機能向上及びその普及に伴い、これらの携帯端末装置においてもゲームを実行する機会が増えている。そして、これらの携帯端末装置の他にもゲームを実行する携帯用端末装置も種々提供されている。
【０００３】
このような端末装置においては、キーボードやテンキーなどによるコントローラを用いて操作するものの他に、表示画面にタッチパネルを備え、実行されたゲームを視認する画面にポインティングデバイスによって又は直接ユーザがタッチすることによって操作するものも登場してきている（以下、このような操作を「タッチ操作」という。）。
【０００４】
また、最近では、パーソナルコンピュータなどの端末装置だけでなく、種々のデバイスにおいても、表示画面へのタッチ操作を行うユーザインタフェースを有するものも多く登場してきており、ゲームを実行する装置においても、キーボードやテンキーなど従来のインターフェースを補完するだけでなく、それらに置き換わるインターフェースとして用いられるようになってきている。
【０００５】
一方、このようなタッチ操作によってゲームを実行するゲーム装置及びそのプログラムとしては、特許文献１〜３に記載のものが知られている。
【０００６】
例えば、特許文献１に記載のゲーム装置又はそのプログラムは、表示画面にタッチを行うと当該タッチした点を基準座標として設定し、その後に当該タッチ操作をスライドすることによって当該タッチが継続する間に、基準座標から当該操作（以下、「スライド操作」ともいう。）が継続されている際に操作検出されている座標（すなわち、指示座標）への方向、又は、当該基準座標から指示座標の距離に応じてゲームを制御する構成を有している。そして、このゲーム装置又はそのプログラムは、ユーザに視認させて操作性を向上させるために、基準座標の位置を画像として表示させるようになっている。
【０００７】
また、特許文献２に記載のゲーム装置又はそのプログラムは、タッチパネルの表示画面上に仮想コントローラを表示し、スライド操作などユーザの操作入力に応じた方向に対応して当該表示されている仮想コントローラの形態を変化させる構成を有している。
【０００８】
さらに、タッチ操作を行うゲーム装置においては、タッチパネルの表示画面上において操作ボタンをタッチ操作の位置に移動してくるようになっており、当該操作ボタンの操作性を向上させているものも知られている（例えば、特許文献３）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許３７３４８２０号公報
【特許文献２】特許５５６３６３３号公報
【特許文献３】特許５００１４１２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記特許文献３に記載のゲーム装置にあっては、上記の特許文献１又は２に記載のゲーム装置におけるスライド操作とタッチ操作とを連動することはできるものの、スライド操作に関連しないタッチ操作を移動させたとしも、操作を混乱させるだけであり、却ってユーザの利便性を低下させる場合もある。
【００１１】
本発明は、上記課題を解決するためになされたものであり、その目的は、特定の操作制御をするための所与の条件が具備された場合に、当該特定の操作制御に関連するタッチ操作を指示するためのマーカを操作し易い適切な位置に配置することによって、リアルタイム性が要求されるタッチ操作入力について明確に操作可能な状態を提供すること、及び、その操作を迅速にかつ的確に切り換えることが可能なプログラム及び入力処理装置などを提供することにある。
【課題を解決するための手段】
【００１２】
（１）上記課題を解決するため、本発明のプログラムは、
所与の画面が表示されるタッチパネルへのタッチ操作入力を受け付けるプログラムであって、
前記画面へのタッチ操作入力されていない状態からタッチ操作入力された状態への状態変化を検出する第１の検出処理と当該タッチ操作入力した位置を指示位置として検出する第２の検出処理とを実行するタッチ操作入力検出処理手段、
前記検出された指示位置に基づいて前記画面内に表示されている操作対象オブジェクトの操作制御を行う操作制御手段、及び、
前記操作対象オブジェクトに対する特定の操作制御をするための所与の条件が具備された場合に、当該特定の操作制御に関する処理を実行する指示を検出するためのタッチ操作入力オブジェクトマーカを、所与の状態から前記タッチ操作入力の指示位置に近接した前記画面上の近接位置に表示する表示制御処理を実行する操作入力オブジェクト表示制御手段、
としてコンピュータを機能させる、構成を有している。
【００１３】
また、本発明は、上記各手段を有する入力処理装置に関する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるためのプログラムを記憶した情報記憶媒体に関する。
【００１４】
この構成により、本発明のプログラムは、所与の条件が具備されなければ、タッチ操作入力をしている指示位置の近傍に特定の操作制御に関する処理を実行するためのタッチ操作入力オブジェクトマーカを表示させることはなく、所与の条件が具備された場合にのみ、タッチ操作入力オブジェクトマーカを表示させることができるので、例えば、指示位置への操作中に、不必要なマーカ表示を排除し、必要なマーカを操作し易い適切な位置に配置することができる。
【００１５】
例えば、スライド操作入力中に当該スライド操作入力から他のタッチ操作入力に切り換える際に、スライド操作入力を終了させた位置とその次にタッチ操作を入力すべき位置とが離れている場合には、迅速にかつ的確な操作を行うことができない場合が多い。また、スライド操作入力を終了させた位置とその次にタッチ操作を入力すべき位置とが重なっている場合でも、タッチ操作が難しくなるだけでなく当該タッチ操作の誤検出をも発生する。
【００１６】
その一方、全てのタッチ操作入力を行うマーカを、スライド操作入力を行っている位置の近傍に表示させたとしても、迅速な判断を行うゲームなどにおいては、却って迅速な操作の妨げとなる場合も多く、初心者になればなるほど、それによってパニック状態になり、ゲームなどの興趣性を著しく低下させることにもなる。
【００１７】
したがって、本発明のプログラムは、上述のように、必要なタッチ操作入力オブジェクトマーカを指示位置に近接する近接位置に表示することによって、ゲームなどのリアルタイム性が要求されるタッチ操作入力について明確に操作可能な状態を提供することができるとともに、その操作を迅速にかつ的確に切り換えることができる。
【００１８】
なお、「タッチ操作入力」には、
（１）ユーザの指によるタッチパネル上への直接的なタッチ操作、
（２）ポインティングデバイスなどのデバイスを介して実行される間接的なタッチパネル上へのタッチ操作、及び、
（３）タッチパネルに直接的及び間接的にタッチ操作することによって操作入力を検出せずに、タッチパネル上への擬似的な操作（接触及び非接触を含む）を検出することによって認識するタッチ操作、
も含まれる。
【００１９】
特に、擬似的なタッチ操作とは、例えば、
（３Ａ）赤外線などの光ビームをタッチパネル面と平行に当該タッチパネル面に近接した位置で照射し、当該タッチパネルの一端部に縦横方向に一定間隔に形成される複数の照射部と、各照射部と対を構成し、当該各照射部に対向するタッチパネルの他端部に設けられ、各照射された光ビームをそれぞれ受信する複数のセンサとによって、タッチパネルに接触又は近接した際に光ビームが遮断された縦横の座標を検出し、当該検出した座標に基づいて認識するタッチ操作、及び、
（３Ｂ）タッチパネルの表示面を撮像するカメラを設け、当該カメラによってユーザがタッチパネルに接触又は近接した位置座標を検出し、当該検出した位置座標に基づいて認識するタッチ操作又はスライド操作、
などタッチパネルとは別形状を有する検出手段を用いて実際にタッチパネルに接触することによって又は近接させることを検出することによって認識するタッチ操作を含む。
【００２０】
また、「近接位置」には、指示位置にタッチ操作入力オブジェクトが接触している位置も含む一方、指示位置と重なる位置やタッチ操作入力オブジェクトが指示位置と重なる位置は含まない。
【００２１】
さらに、「所与の条件」には、操作対象オブジェクトに対する特定の操作制御を行うための条件であって、例えばゲームにおいて
（Ａ）一定時間のタッチ操作入力やそのときまでの操作入力によって所与のエネルギーなどのパラメータが蓄積されたこと、
（Ｂ）提供されている特定のアイテムを取得したこと、及び、
（Ｃ）操作中又はそのときまでに特定のイベントが発動しこと、
など、種々の操作入力中の操作や実行された制御に伴って表示されたタッチ操作入力オブジェクトマーカに基づく制御の開始条件又は当該制御を行う上での必要な条件が含まれる。
【００２２】
特に、「特定の操作制御」には、特定の攻撃、防御、回復又はアイテムの使用などを行うための操作制御が含まれる。例えば、この「特定の操作制御」には、
（１）特定の攻撃や防御を行うためのコマンドの発動、
（２）プレーヤキャラクタや味方キャラクタの各種のパラメータの回復、及び、
（３）特別なステージ又は特別なマップの提供や特別なアイテムの取得
などプレーヤキャラクタがゲーム上有利に働く操作制御、又は、敵キャラクタに対して不利に働く操作制御が含まれる。
【００２３】
またさらに、「表示制御処理」には、
（ａ）所与の状態である予め定められた基準位置に表示されているタッチ操作入力オブジェクトマーカを近接位置に移動させて表示させること（すなわち、移動表示）、
（ｂ）所与の状態である非表示のタッチ操作入力オブジェクトマーカを近接位置に表示させること（すなわち、切り替え表示）、
（ｃ）所与の状態である予め定められた位置に表示されているタッチ操作入力オブジェクトマーカの大きさや形状を変化させて近接位置に表示させること（すなわち、形状変化表示）、及び、
（ｄ）所与の状態である指示位置に重なって表示されているタッチ操作入力オブジェクトマーカを当該指示位置に重ならない位置に移動させること、
などのタッチ操作入力オブジェクトマーカの各種の表示制御が含まれる。
【００２４】
（２）また、本発明のプログラムは、
前記操作入力オブジェクト表示制御手段が、
前記所与の状態として所与の位置に予め表示されている前記タッチ操作入力オブジェクトマーカを、前記近接位置に移動させることによって前記表示制御処理を実行する、構成を有している。
【００２５】
この構成により、本発明のプログラムは、予め設定された位置にタッチ操作入力オブジェクトマーカが表示されている場合であっても、タッチ操作入力中の指示位置やその近接位置に移動させることができるので、ゲームなどのリアルタイム性が要求されるタッチ操作入力について明確に操作可能な状態を提供することができるとともに、その操作を迅速にかつ的確に切り換えることができる。
【００２６】
（３）また、本発明のプログラムは、
前記操作入力オブジェクト表示制御手段が、
前記指示位置と前記タッチ操作入力オブジェクトマーカが表示されている前記所与の位置とが予め定められた条件を具備した場合に、前記所与の位置に表示されている前記タッチ操作入力オブジェクトマーカを、前記近接位置に移動させることによって前記表示制御処理を実行する、構成を有している。
【００２７】
この構成により、本発明のプログラムは、当該タッチ操作入力オブジェクトマーカの表示位置と指示位置との位置関係が一定の距離になったなど、予め定められた条件を具備した場合には、予め設定された位置に表示されているタッチ操作入力オブジェクトマーカを、タッチ操作入力中の指示位置やその近接位置に移動させることができる。
【００２８】
（４）また、本発明のプログラムは、
前記操作入力オブジェクト表示制御手段が、
前記所与の状態として非表示になっている前記タッチ操作入力オブジェクトマーカを前記近接位置に表示させることによって前記表示制御処理を実行する、構成を有している。
【００２９】
この構成により、本発明のプログラムは、タッチ操作入力オブジェクトマーカを予め表示しておく必要がないので、限りある表示領域を有効に使用することができるとともに、ゲームなどのリアルタイム性が要求される操作入力においてはその操作を迅速に、容易にかつ的確に切り換えることができる。
【００３０】
（５）また、本発明のプログラムは、
前記操作入力オブジェクト表示制御手段が、
前記所与の状態として所与の位置に予め表示されている前記タッチ操作入力オブジェクトマーカの色又は形状を、前記現指示位置に近接する近接位置に接するまで変化させるこ
とによって前記表示制御処理を実行する、構成を有している。
【００３１】
この構成により、本発明のプログラムは、予め設定された位置にタッチ操作入力オブジェクトマーカが表示されている場合であっても、スライド操作入力中に、スライド操作入力中の操作位置やその近接位置にタッチ可能に形成されるので、ゲームなどのリアルタイム性が要求される操作入力においてはその操作を迅速に、容易にかつ的確に切り換えることができる。
【００３２】
（６）また、本発明のプログラムは、
前記操作入力オブジェクト表示制御手段が
前記所与の条件を具備した際に、
当該タイミングで前記特定の処理に関する処理が実行可能な場合には、前記表示制御処理の対象としてタッチ操作入力オブジェクトマーカを前記近接位置に表示し、
当該タイミングで前記特定の処理に関する処理が実行不能な場合には、前記表示制御処理の非対象としてタッチ操作入力オブジェクトマーカを前記近接位置に非表示にする、構成を有している。
【００３３】
この構成により、本発明のプログラムは、例えば、当該スライド操作入力に伴って発動可能なコマンドを実行するためのマーカを近接位置に表示し、当該スライド操作入力においては発動不能なコマンドを実行するマーカについては近接位置に表示しないので、多くのタッチ操作入力オブジェクトマーカを用いる場合には、ユーザの誤操作を防止し、その操作性を向上させることができる。
【００３４】
（７）また、本発明のプログラムは、
前記操作入力オブジェクト表示制御手段が、
前記指示位置に指示位置入力オブジェクトマーカを表示させる、構成を有している。
【００３５】
この構成により、本発明のプログラムは、タッチ操作入力における指示位置もマーカとして表示し、視認させることができるので、より操作性を向上させることができる。
【００３６】
（８）また、本発明のプログラムは、
特定の処理に対する所与の条件が具備されて前記近接位置に表示される際に、前記表示制御処理には、他のタッチ操作入力オブジェクトマーカから識別するための識別表示を含む、構成を有している。
【００３７】
この構成により、本発明のプログラムは、多くのタッチ操作入力オブジェクトマーカを用いる場合には、他のタッチ操作入力オブジェクトマーカと識別することができるので、ユーザの誤操作を防止し、その操作性を向上させることができる。
【００３８】
（９）また、本発明のプログラムは、
前記操作入力オブジェクト表示制御手段が、
前記所与の条件を具備した際に、当該タイミングで前記特定の処理に関する処理が実行可能な複数のタッチ操作入力オブジェクトマーカがある場合には、当該複数のタッチ操作入力オブジェクトマーカのそれぞれを前記識別表示しつつ、関連付けて表示する前記表示制御処理を実行する、構成を有している。
【００３９】
この構成により、本発明のプログラムは、所与の条件が具備したタイミングで特定の処理に関する処理が実行可能な複数のタッチ操作入力オブジェクトマーカのそれぞれを識別表示し、かつ、それらを線で結ぶ、共通な色で表示する、又は、共通な表示（例えば、共通なマーカ）を含ませるなど関連付けて表示することができるので、ユーザの誤操作を防
止することができるとともに、ユーザの視認性及び当該ユーザの操作性を向上させることができる。
【００４０】
（１０）また、本発明のプログラムは、
前記操作入力オブジェクト表示制御手段が、
前記タッチ操作入力検出処理手段によって、前記スライド操作入力中に、前記画面へのタッチ操作入力されていない状態を検出した場合には、当該状態を検出してから予め定められた期間、前記現指示位置に近接する近接位置に前記タッチ操作入力オブジェクトマーカを継続して表示する、構成を有している。
【００４１】
この構成により、本発明のプログラムは、指示位置におけるタッチ操作入力を終了させたとしても、タッチ操作入力オブジェクトマーカの表示が継続されるので、指示位置への操作入力からタッチ操作入力オブジェクトマーカへのタッチ操作の切り換えをスムーズに実行することができる。
【００４２】
（１１）また、本発明のプログラムは、
前記タッチ操作入力オブジェクトマーカが前記現指示位置に接触した場合に、当該タッチ操作入力オブジェクトマーカに対応する操作指示コマンドを実行するコマンド制御手段として前記コンピュータを機能させる、構成を有している。
【００４３】
この構成により、本発明のプログラムは、指示位置へのタッチ操作入力中に、タッチ操作入力オブジェクトマーカを改めてタッチすることなく当該タッチ操作入力オブジェクトマーカに対応する操作指示コマンドを実行することができるので、ユーザの操作性をさらに向上させることができる。
【００４４】
（１２）また、本発明のプログラムは、
前記タッチ操作入力オブジェクトマーカを前記所与の画面における予めタッチ操作入力を検出した位置に設定する設定手段として前記コンピュータを機能させる構成を有している。
【００４５】
この構成により、本発明のプログラムは、事前にユーザによってタッチ操作入力オブジェクトマーカを画面内に自由に配置させてカスタマイズすることができるので、指示位置へのタッチ操作入力が実行された際に、当該配置された位置からタッチ操作入力オブジェクトマーカが近づいてくるなどの表示を実行することができる。
【００４６】
したがって、本発明のプログラムは、操作中に迅速な操作が要求される場合などにさらにタッチ操作入力の操作性を向上させることができる。
【００４７】
（１３）上記課題を解決するため、本発明の入力処理装置は、
所与の画面が表示されるタッチパネルへのスライド操作入力を受け付け、受け付けた操作入力に伴って所与の操作を受け付けるためのタッチ操作入力オブジェクトを前記画面上に表示する入力処理装置であって、
前記画面へのタッチ操作入力されていない状態からタッチ操作入力された状態への状態変化を検出する第１の検出処理を行うとともに、当該状態変化の検出後であって当該状態変化を検出した際のタッチ操作入力が継続されてスライド操作入力されている場合に、当該スライド操作入力の位置を指示位置として検出する第２の検出処理を行うタッチ操作入力検出処理手段と、
前記スライド操作入力の継続中に当該スライド操作入力に基づいて所与の条件を具備した際に、当該スライド操作入力によって変化する指示位置の現在位置を示す現指示位置に近接する近接位置に前記タッチ操作入力オブジェクトマーカを表示させる表示制御処理を
実行する操作入力オブジェクト表示制御手段と、
を備える、構成を有している。
【００４８】
この構成により、本発明の入力処理装置は、必要なタッチ操作入力オブジェクトマーカを指示位置に近接する近接位置にタッチ操作入力オブジェクトマーカを表示することによって、ゲームなどのリアルタイム性が要求されるタッチ操作入力について明確に操作可能な状態を提供することができるとともに、その操作を迅速にかつ的確に切り換えることができる。
【図面の簡単な説明】
【００４９】
【図１】一実施形態のゲームシステムの構成を示すシステム構成の一例を示す図である。
【図２】一実施形態におけるサーバ装置の構成を示す機能ブロック図の一例である。
【図３】一実施形態における端末装置の構成を示す機能ブロック図の一例である。
【図４】一実施形態における端末装置の外観構成を示す図の一例である。
【図５】一実施形態の仮想コントローラの表示制御について説明するための図である。
【図６】一実施形態に用いる起点マーカ、スライド操作マーカを含む仮想コントローラの一例である。
【図７】一実施形態における仮想コントローラのリセットを説明するための図である。
【図８】一実施形態における仮想コントローラの起点マーカの追従について説明するための図である。
【図９】一実施形態における非干渉処理として仮想コントローラを透明化する透明化処理について説明する図である。
【図１０】一実施形態における非干渉処理として仮想コントローラを非表示化する非表示化処理について説明する図である。
【図１１】一実施形態における非干渉処理として仮想コントローラの形状を変形する変形処理について説明する図である。
【図１２】一実施形態における指示位置マーカを有する仮想コントローラの一例である。
【図１３】一実施形態のタッチ操作入力中の操作コマンドの表示制御及び実行制御について説明するための図である。
【図１４】一実施形態のスライド操作中における操作コマンド用マーカの表示制御処理として移動制御処理について説明する図である。
【図１５】一実施形態のスライド操作中における操作コマンド用マーカの表示制御処理として表示切替制御処理について説明する図である。
【図１６】一実施形態のスライド操作中における操作コマンド用マーカの表示制御処理として形状変化表示制御処理について説明する図である。
【図１７】一実施形態のスライド操作中における操作コマンド用マーカの表示制御処理として追従処理について説明する図である。
【図１８】一実施形態の端末操作によって実行されるスライド操作入力時の操作コマンド用マーカの表示制御処理の動作を示すフローチャートである。
【発明を実施するための形態】
【００５０】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００５１】
［１］ゲームシステム
まず、図１を用いて本実施形態のゲームシステム１の概要及び概要構成について説明する。なお、図１は、本実施形態のゲームシステム１の構成を示すシステム構成の一例を示す図である。
【００５２】
本実施形態のゲームシステム１は、図１に示すように、ゲームサービスを提供するサーバ装置１０と、端末装置２０（例えば、端末装置２０Ａ、２０Ｂ、２０Ｃ）とが、インターネット（ネットワークの一例）に接続可能に構成されている。
【００５３】
ユーザは、端末装置２０からサーバ装置１０にアクセスすることにより、インターネットを介してサーバ装置１０から送信されてくるゲームをプレーすることができる。さらに、ユーザは端末装置２０からサーバ装置１０にアクセスすることにより、他のユーザとの間でコミュニケーションを図ることができるようになっている。
【００５４】
サーバ装置１０は、インターネットを介して通信接続された端末装置２０を用いて、ユーザにゲームをプレーさせるサービスを提供することが可能な情報処理装置である。また、サーバ装置１０は、コミュニケーション型のサービスを提供するＳＮＳサーバとして機能してもよい。ここで、ＳＮＳサーバとは、複数のユーザ間でコミュニケーションを提供することが可能なサービスを提供する情報処理装置であってもよい。
【００５５】
また、サーバ装置１０は、例えば、ＳＮＳサーバとして機能する場合には、提供するＳＮＳの動作環境（ＡＰＩ（アプリケーションプログラミングインタフェース）、プラットフォーム等）を利用して実行されるソーシャルゲーム（Ｓｏｃｉａｌ  Ｇａｍｅ）をと呼ばれるゲームを提供することができるようになっている。
【００５６】
特に、サーバ装置１０は、端末装置２０のＷｅｂブラウザ上で提供されるゲーム、例えばＨＴＭＬ、ＦＬＡＳＨ、ＣＧＩ、ＰＨＰ、ｓｈｏｃｋｗａｖｅ、Ｊａｖａ（登録商標）アプレット、ＪａｖａＳｃｒｉｐｔ（登録商標）など様々な言語で作られたブラウザゲーム（Ｗｅｂブラウザで設置サイトを開くだけで起動するゲーム）を提供することができるようになっている。
【００５７】
なお、ソーシャルゲームとは、既存のオンラインゲームとは違い、専用のクライアントソフトウェアを必要とせず、ＷｅｂブラウザとＳＮＳのアカウントのみで利用可能なゲームが含まれる。また、サーバ装置１０は、ネットワークを介して他のユーザの端末（スマートフォン、パソコン、ゲーム機など）と接続し、オンラインで同時に同じゲーム進行を共有することができるオンラインゲームを提供することが可能な構成を有している。
【００５８】
一方、サーバ装置１０は、１つの（装置、プロセッサ）で構成されていてもよいし、複数の（装置、プロセッサ）で構成されていてもよい。
【００５９】
そして、サーバ装置１０の記憶領域（後述する記憶部１４０）に記憶される課金情報、ゲーム情報等の情報を、ネットワーク（イントラネット又はインターネット）を介して接続されたデータベース（広義には記憶装置、メモリ）に記憶するようにしてもよいし、ＳＮＳサーバとして機能する場合には、記憶領域に記憶されるユーザ情報１４６等の情報を、ネットワーク（イントラネット又はインターネット）を介して接続されたデータベース（広義には記憶装置、メモリ）に記憶するようにしてもよい。
【００６０】
具体的には、本実施形態のサーバ装置１０は、端末装置２０のユーザ（すなわち、ゲームを実行するプレーヤ）の操作に基づく入力情報を受信し、受信した入力情報に基づいてゲーム処理を行うようになっている。そして、サーバ装置１０は、ゲーム処理結果を端末装置２０に送信し、端末装置２０は、サーバ装置１０から受信したゲーム処理結果を端末装置２０にユーザに閲覧可能に提供する各種の処理を行うようになっている。
【００６１】
端末装置２０は、スマートフォン、携帯電話、ＰＨＳ、コンピュータ、ゲーム装置、ＰＤＡ、携帯型ゲーム機等、画像生成装置などの情報処理装置であり、インターネット（Ｗ
ＡＮ）、ＬＡＮなどのネットワークを介してサーバ装置１０に接続可能な装置である。なお、端末装置２０とサーバ装置１０との通信回線は、有線でもよいし無線でもよい。
【００６２】
また、端末装置２０は、Ｗｅｂページ（ＨＴＭＬ形式のデータ）を閲覧可能なＷｅｂブラウザを備えている。すなわち、端末装置２０は、サーバ装置１０との通信を行うための通信制御機能、及びサーバ装置１０から受信したデータ（Ｗｅｂデータ、ＨＴＭＬ形式で作成されたデータなど）を用いて表示制御を行うとともに、ユーザ操作のデータをサーバ装置１０に送信するＷｅｂブラウザ機能などを備え、ゲーム画面をユーザに提供する各種の処理を実行し、ユーザによってゲームを実行させるようになっている。ただし、端末装置２０は、サーバ装置１０から提供されたゲーム制御情報を取得して所定のゲーム処理を実行し、ゲーム処理に基づくゲームを実行してもよい。
【００６３】
具体的には、端末装置２０は、所定ゲームを行う旨の要求をサーバ装置１０に対して行うと、サーバ装置１０のゲームサイトに接続され、ゲームが開始される。特に、端末装置２０は、必要に応じてＡＰＩを用いることにより、ＳＮＳサーバとして機能するサーバ装置１０に所定の処理を行わせ、又は、ＳＮＳサーバとして機能するサーバ装置１０が管理するＳＮＳユーザ情報１４６を取得させてゲームを実行する構成を有している。
【００６４】
［２］サーバ装置
次に、図２を用いて本実施形態のサーバ装置１０について説明する。なお、図２は、本実施形態のサーバ装置１０の機能ブロックを示す図である。また、本実施形態のサーバ装置１０は図２の構成要素（各部）の一部を省略した構成としてもよい。
【００６５】
サーバ装置１０は、管理者やその他の入力に用いるための入力部１２０、所定の表示を行う表示部１３０、所定の情報が記憶された情報記憶媒体１８０、端末装置２０やその他と通信を行う通信部１９６、主に提供するゲームに関する処理を実行する処理部１００、及び、主にゲームに用いる各種のデータを記憶する記憶部１４０を含む。
【００６６】
入力部１２０は、システム管理者等がゲームに関する設定やその他必要な設定、データの入力に用いるものである。例えば、本実施形態の入力部１２０は、マウスやキーボード等によって構成される。
【００６７】
表示部１３０は、システム管理者用の操作画面を表示するものである。例えば、本実施形態の表示部１３０は、液晶ディスプレイ等によって構成される。
【００６８】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などによって構成される。
【００６９】
通信部１９６は外部（例えば、端末、他のサーバや他のネットワークシステム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどによって構成される。
【００７０】
記憶部１４０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能は、ＲＡＭ（ＶＲＡＭ）などによって構成される。なお、記憶部１４０に記憶される情報は、データベースで管理してもよい。
【００７１】
また、本実施形態においては、記憶部１４０には、提供するゲームに関する情報を示すゲーム情報１４４、提供するゲームに関しプレーヤとしてのユーザに関する情報を示すユ
ーザ情報１４６、及び、その他ゲーム演算に必要な各種の情報が記憶される。
【００７２】
処理部１００は、記憶部１４０内の主記憶部１４２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００７３】
処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００７４】
例えば、処理部１００（プロセッサ）は、情報記憶媒体に記憶されているプログラムに基づいて、サーバ装置１０全体の制御を行うとともに、各部間におけるデータ等の受け渡しの制御などの各種の処理を行う。さらに、端末装置２０からの要求に応じた各種サービスを提供する処理を行う。
【００７５】
具体的には、本実施形態の処理部１００は、通信制御部１０１、Ｗｅｂ処理部１０２及びゲーム管理部１０４を少なくとも有している。
【００７６】
通信制御部１０１は、端末装置２０とネットワークを介してデータを送受信する処理を行う。すなわち、サーバ装置１０は、通信制御部１０１によって端末装置２０等から受信した情報に基づいて各種処理を行う。
【００７７】
特に、本実施形態の通信制御部１０１は、ユーザの端末装置２０からの要求に基づいて、ゲーム画面を、当該ユーザの端末装置２０に送信する処理を行う。
【００７８】
Ｗｅｂ処理部１０２は、Ｗｅｂサーバとして機能する。例えば、Ｗｅｂ処理部１０２は、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルを通じて、端末装置２０にインストールされているＷｅｂブラウザの要求に応じてデータを送信する処理、端末装置２０のＷｅｂブラウザによって送信されるデータを受信する処理を行う。
【００７９】
なお、本実施形態では、サーバ装置１０がＳＮＳサーバとしての機能も備えていている場合を例にとり説明するが、サーバ装置１０を、ゲーム用のサーバと、ＳＮＳ用のサーバと別々に形成してもよい。また、本実施形態のゲームの処理は、サーバ装置１０が一部又は全部を行ってもよいし、端末装置２０が一部を行ってもよい。
【００８０】
ゲーム管理部１０４は、端末装置２０と連動し、当該端末装置２０を介して入力されたプレーヤの操作に基づいて、各プレーヤにおいてロールプレーイングゲーム（ＲＰＧ）や対戦ゲームに関するゲーム処理を実行するとともに、各ユーザのゲームの進行状況やアイテム管理などの各ユーザにおいて使用するキャラクタ及び各種のアイテムを含むユーザ情報を管理する。
【００８１】
なお、ゲーム管理部１０４は、ユーザの操作に基づかず、ユーザが設定した各種のデータに基づいて自動的にゲームを実行するための自動演算処理を実行し、端末装置２０で再生するためのデータを生成し、生成したデータを端末装置２０に提供してもよい。
【００８２】
［３］端末装置
次に、図３及び図４を用いて本実施形態の端末装置２０について説明する。なお、図３は、本実施形態における端末装置の構成を示す機能ブロック図の一例であり、図４は、本
実施形態における端末装置の外観構成を示す図の一例である。また、本実施形態の端末装置２０は図３の構成要素（各部）の一部を省略した構成としてもよい。
【００８３】
入力部２６０は、プレーヤが操作データを入力するためのものであり、その機能は、タッチパネル又はタッチパネルディスプレイなどにより実現できる。すなわち、入力部２６０は、画像が表示される画面上における２次元の指示位置座標（ｘ，ｙ）を検出可能な検出部２６２を備えている。例えば、入力部２６０は、接触検出領域（タッチパネル）における、２次元の接触位置座標（ｘ，ｙ）を検出可能な検出部２６２を備えている。
【００８４】
本実施形態において、接触位置（基準位置及び指示位置の一例）は、プレーヤの接触操作（直接的な接触及びポインティングデバイスによる間接的な接触も含む）により、接触検出領域から得られる位置情報である。
【００８５】
なお、本実施形態のプレーヤの接触操作には、ユーザの指によるタッチパネル１２上への直接的なタッチ操作又はスライド操作、及び、ポインティングデバイスなどのデバイスを介して実行される間接的なタッチパネル１２上へのタッチ操作又はスライド操作の他に、タッチパネル１２に直接的及び間接的にタッチ操作又はスライド操作をせずに、タッチパネル１２上への擬似的なタッチ操作又はスライド操作も含まれる。
【００８６】
例えば、擬似的なタッチ操作又はスライド操作とは、
（１）赤外線などの光ビームをタッチパネル面と平行に当該タッチパネル面に近接した位置で照射し、当該タッチパネル１２の一端部に縦横方向に一定間隔に形成される複数の照射部と、各照射部と対を構成し、当該各照射部に対向するタッチパネルの他端部に設けられ、各照射された光ビームをそれぞれ受信する複数のセンサとによって、タッチパネル１２に接触又は近接した際に光ビームが遮断された縦横の座標を検出し、当該検出した座標に基づいて認識するタッチ操作又はスライド操作、及び、
（２）タッチパネル１２の表示面を撮像するカメラを設け、当該カメラによってユーザがタッチパネル１２に接触又は近接した位置座標を検出し、当該検出した位置座標に基づいて認識するタッチ操作又はスライド操作、
などタッチパネル１２に実際に接触することによって又は近接させて検出することによって認識するタッチ操作又はスライド操作を含む。
【００８７】
また、接触検出領域に同時に複数の接触位置が検出される場合には、いずれか１つの接触位置（先に検出された接触位置）を用いるようにしてもよいし、複数の接触位置を同時に処理してもよい。
【００８８】
なお、接触検出領域に複数の判定領域が存在する場合には、各判定領域において、１つの接触位置（先に検出された接触位置）を用いるようにしてもよい。また、判定領域とは、取得した接触位置のうち、移動制御など処理部２００で処理するための接触位置を予め特定する接触検出領域上の範囲である。
【００８９】
特に、本実施形態では、図４（Ａ）及び（Ｂ）に示す表示画面（ディスプレイ）１２が、液晶ディスプレイと、プレーヤ（操作者、ユーザ）の接触位置を検出するためのタッチパネルとが積層されたタッチパネルディスプレイとなっている。すなわち、本実施形態では、表示画面１２が入力部２６０として機能するとともに表示部２９０としても機能する（以下、「タッチパネル」ともいう。）。
【００９０】
なお、表示画面１２への接触操作は、指先を用いて行うようにしてもよいし、タッチペンなどの入力機器を用いて行うようにしてもよい。
【００９１】
また、入力部２６０は、指示位置以外の操作情報（操作信号）を入力可能なボタンやレバー、キーボード、ステアリング、マイク、加速度センサなどを備えていてもよい。
【００９２】
記憶部２７０は、処理部２００や通信部２９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。そして、本実施形態の記憶部２７０は、ワーク領域として使用される主記憶部２７１と、最終的な表示画像等が記憶される画像バッファ２７２とを含む。なお、これらの一部を省略する構成としてもよい。
【００９３】
特に、本実施形態の記憶部２７０には、タッチ検出処理部２１１において取得された基準位置及び指示位置と、各種のマーカの画像及び各種の判定処理において用いる条件を示す条件情報と、などを主記憶部２７１に記憶することができる。
【００９４】
情報記憶媒体２８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。
【００９５】
また、情報記憶媒体２８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶することができる。なお、処理部２００は、後述するように、情報記憶媒体２８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。
【００９６】
表示部２９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネルディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。
【００９７】
特に、本実施形態では表示部２９０は、タッチパネルディスプレイを用いることによりプレーヤがゲーム操作を行う入力部２６０としても機能する。ここでタッチパネルとして、例えば抵抗膜方式（４線式、５線式）、静電容量方式、電磁誘導方式、超音波表面弾性波方式、赤外線走査方式などのタッチパネルを用いることができる。
【００９８】
音出力部２９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００９９】
通信部２９６は、外部（例えばホスト装置や他の端末装置）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【０１００】
なお、端末装置２０は、サーバ装置１０が有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体２８０や記憶部２７０に記憶してもよい。このようにプログラムやデータを受信して端末装置２０を機能させる場合も本発明の範囲内に含めることができる。
【０１０１】
処理部２００（プロセッサ）は、入力部２６０からの入力データやプログラムなどに基づいて、サーバ装置１０と連動して、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。
【０１０２】
特に、本実施形態においては、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、プレーヤオブジェクト、敵オブジェ
クトなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などが含まれる。
【０１０３】
また、処理部２００は、記憶部２７０をワーク領域として各種処理を行う。処理部２００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【０１０４】
特に、本実施形態の処理部２００は、オブジェクト空間設定部２１０と、タッチ検出処理部２１１と、仮想コントローラ制御部２１２と、操作制御部２１３と、移動処理部２１４と、ゲーム演算部２１５と、仮想カメラ制御部２１６と、描画部２２０と、音処理部２３０とを含む。また、これらの一部を省略する構成としてもよい。
【０１０５】
なお、例えば、本実施形態のタッチ検出処理部２１１は、本発明のタッチ操作入力検出処理手段を構成し、仮想コントローラ制御部２１２は、操作入力オブジェクト表示制御手段及び設定手段を構成する。また、例えば、本実施形態の操作制御部２１３は、本発明の操作制御手段及びコマンド制御手段を構成する。
【０１０６】
オブジェクト空間設定部２１０は、オブジェクト（プレーヤオブジェクト、移動体、敵オブジェクト）、移動経路、建物、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（スプライト、ビルボード、ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。具体的にはオブジェクト空間設定部２１０は、オブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ）或いは（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ軸回りでの回転角度）或いは（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【０１０７】
ここで、オブジェクト空間とは、いわゆる仮想２次元空間、仮想３次元空間の両方を含む。２次元空間とは、例えば２次元座標（Ｘ，Ｙ）においてオブジェクトが配置される空間であり、３次元空間とは、例えば３次元座標（Ｘ，Ｙ，Ｚ）においてオブジェクトが配置される空間である。
【０１０８】
そしてオブジェクト空間を２次元空間とした場合には、複数のオブジェクトそれぞれについて設定された優先順位に基づいてオブジェクトを配置する。例えば、奥側にあるように見せたいオブジェクト（スプライト）から順にオブジェクトを配置し、手前側にあるように見せたいオブジェクトを重ねて配置する処理を行うことができる。
【０１０９】
また、描画サイズが大きなオブジェクトを画像の下方に配置し、描画サイズが小さなオブジェクトを画像の上方に配置すれば、画面の上方に対応するオブジェクト空間が奥側にあるように見せることができ、画面の下方に対応するオブジェクト空間が手前側にあるように見せることができる。
【０１１０】
また、オブジェクト空間を３次元空間とした場合には、ワールド座標系にオブジェクトを配置する。
【０１１１】
タッチ検出処理部２１１は、プレーヤが入力部２６０から入力した入力情報の認識処理を行う。具体的には、本実施形態のタッチ検出処理部２１１は、入力部２６０によって入力された指示位置を取得する。
【０１１２】
例えば、タッチ検出処理部２１１は、プレーヤの接触操作（以下、「タッチ操作」とも
いう。）を検出する接触検出領域（タッチパネル）における接触位置（２次元の接触位置座標）を指示位置として取得する。すなわち、タッチ検出処理部２１１は、プレーヤが指でタッチパネル１２にタッチ（以下、「タッチ操作入力」という。）し、そのまま指を移動して最後にタッチパネル１２から離す操作（以下、「スライド操作」という。）を行う期間に相当する接触操作期間中（スライド操作期間中）における接触位置（指示位置）を取得する。
【０１１３】
特に、タッチ検出処理部２１１は、
（１）画面へのタッチ操作入力されていない状態（以下、「無接触状態」という。）からタッチ操作入力された状態（以下、「接触状態」という。）への第１の変化（以下、「状態変化」という。）を検出するとともに、当該状態変化が実行された検出位置（以下、「基準位置」ともいう。）を検出する第１の検出処理、及び、
（２）第１の変化の検出後であって当該第１の変化を検出した際（すなわち、無接触状態から接触状態に状態変化した際）のタッチ操作入力が継続されて（すなわち、接触状態が継続されて）スライド操作による入力（以下、「スライド操作入力」という。）が実行されている場合に、当該スライド操作入力の変化（すなわち、指示位置及び当該指示位置の変化）を第２の変化として検出する第２の検出処理、
（３）スライド操作入力中に、画面へのタッチ操作入力がされていない状態（すなわち、スライド操作入力が終了して無接触状態となった場合）を検出する第３の検出処理
を実行する。
【０１１４】
また、タッチ検出処理部２１１は、所定の周期毎に入力された指示位置を取得する。具体的には、所定の周期とはフレーム毎、例えば、１／６０秒〜１／１２０秒程度とすることができる。
【０１１５】
なお、本実施形態においては、「基準位置」及び「指示位置」としては、上述のようにタッチ操作入力やスライド操作入力によって検出されたタッチパネル１２上の位置だけなく、検出位置から所定の距離離れた位置又はタッチパネル１２の隅などの所定のエリアに形成されたエリアなどの特定のタッチパネル１２上の位置に関連した所定位置も含む。
【０１１６】
仮想コントローラ制御部２１２は、タッチパネル（表示画面）上に、タッチ操作入力及びスライド操作入力をした際に、最上位層（すなわち、ゲームやその他の画像に重畳させてその最上位）に仮想的な操作コントローラを表示し、タッチ操作入力及びスライド操作入力のユーザへのサポートを行うとともに、当該表示された操作コントローラへの操作を検出し、検出した結果を操作制御部２１３などの他の部材に出力する。
【０１１７】
特に、仮想コントローラ制御部２１２は、
（１）スライド操作入力の起点となる基準位置に起点操作入力オブジェクトマーカ（以下、「起点マーカ」という。）を表示させる表示制御、
（２）基準位置を基準に指示位置の変化に応じてスライド操作入力中のスライド操作方向を視認させるためのスライド操作入力オブジェクトマーカ（以下、「スライド操作マーカ」という。）を表示させる表示制御、
（３）スライド操作入力中の指示位置に、スライド操作マーカとは異なる第２の操作入力オブジェクトマーカ（以下、「指示位置マーカ」という。）を表示させる表示制御、
（４）ユーザの指示（タッチ操作入力及びスライド操作入力）に基づいて表示画面内に配置された所定の操作コマンドを表示する表示制御、及び、
（５）スライド操作入力中に表示された起点マーカをスライド操作に従って追従させ、当該追従している起点マーカを表示する追従表示制御、
を実行する。
【０１１８】
また、仮想コントローラ制御部２１２は、起点マーカ、スライド操作マーカ及び指示位置マーカが表示されるタッチパネル１２上の表示エリアと、操作オブジェクトその他のゲームを実行する際に表示されるコンテンツ（以下、「表示コンテンツ」ともいう、）が表示される表示エリアとの干渉状況を判定する干渉状況判定処理を実行し、当該干渉状況が発生する場合には、各マーカの表示を制御して表示コンテンツの視認性を確保する非干渉処理を実行する。
【０１１９】
操作制御部２１３は、タッチ操作入力及びスライド操作入力に基づいて、オブジェクト空間に配置されたプレーヤキャラクタなどの操作対象オブジェクトを制御する。特に、操作制御部２１３は、仮想コントローラに従って入力された操作指示に基づいて操作対象オブジェクトを制御する。
【０１２０】
具体的には、操作制御部２１３は、
（１）起点マーカが表示されている基準位置を基準に、スライド操作入力によって変化する指示位置に伴って所与の画面内に表示されている操作対象オブジェクト（すなわち、オブジェクト空間に配置されている操作対象オブジェクト）の操作制御、
（２）タッチ操作入力された操作コマンドに基づいて、操作対象オブジェクトやその他のオブジェクトやゲームの進行に係わる操作制御、及び、
（３）スライド操作入力における移動量や移動速度など、スライド操作入力における起点位置から指示位置までの長さを示す操作量及び指示位置に基づく入力速度又は入力ベクトルを示すスライド操作入力における単位時間当たりの変化（すなわち、スライド操作入力における操作量（以下、「スライド操作量」ともいう。））を補正する補正処理、
を実行する。
【０１２１】
なお、「操作対象オブジェクト」には、ゲームなどにおけるプレーヤキャラクタや敵キャラクタなどの重要なキャラクタやオブジェクト空間内でユーザ操作の対象となる各種のオブジェクトが含まれるとともに、所定の画像や動画における重要な表示又はキーワードなどの重要なコンテンツ及び画像を形成するための各種のオブジェクトが含まれる。
【０１２２】
また、この「操作対象オブジェクト」には、直接的にユーザによって操作されるオブジェクトの他に、例えば、プレーヤキャラクタに装備されるアイテムなど、直接的に操作されるオブジェクトの動作に基づいて制御される間接的に操作されるオブジェクトも含まれる。
【０１２３】
さらに、上記の操作対象オブジェクト以外のオブジェクト空間に配置されるオブジェクトとしては、例えば、移動経路、建物、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクトが含まれる。
【０１２４】
移動処理部２１４は、オブジェクト空間内におけるオブジェクト（特に、キャラクタオブジェクト、移動体オブジェクト等の操作対象オブジェクト）の移動演算を行う。すなわち、移動処理部２１４は、操作制御部２１３の制御の下、仮想コントローラを含み、入力部２６０によりプレーヤが入力した入力データ又はプログラム（移動アルゴリズム）や各種データ（モーションデータ）などに基づいて、移動体オブジェクトをオブジェクト空間内で移動させ、又は、移動体オブジェクトの動作（モーション、アニメーション）を制御するための処理を行う。
【０１２５】
具体的には、本実施形態の移動処理部２１４は、オブジェクトの移動情報（移動方向、移動量、移動速度、位置、回転角度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム毎に順次求めるシミュレーション処理を行う。ここでフレームとは、オブジェクトの移動処理、動作処理（シミュレーション処理）や画
像生成処理を行う時間の単位である。そして、本実施形態では、フレームレートは、固定としてもよいし、処理負荷に応じて可変としてもよい。
【０１２６】
特に、本実施形態の移動処理部２１４は、操作制御部２１３の制御の下、仮想コントローラによって入力されたスライド操作量（補正量も含む）、スライド操作入力によって定まるスライド操作の方向及び操作コマンドに基づいて、オブジェクトを移動させる処理を行う。
【０１２７】
具体的には、移動処理部２１４は、
（１）スライド操作入力における操作方向に操作対象オブジェクトを移動させる処理、
（２）スライド操作入力におけるスライド操作量に応じて操作対象オブジェクトを移動させる処理、及び、
（３）操作コマンドに応じて操作対象オブジェクトを移動させる処理、
を実行する。
【０１２８】
なお、移動処理部２１４は、３次元のオブジェクト空間において入力方向に基づいてオブジェクトを移動させる処理を行ってもよい。例えば、予め、入力方向毎に移動方向を対応づけ、入力方向に対応する移動方向にオブジェクトを移動させる。
【０１２９】
ゲーム演算部２１５は、種々のゲーム演算処理を行う。例えば、ゲーム演算部２１５は、マップに基づくオブジェクト空間の形成、ＲＰＧの場合には、ユーザの操作に応じて予め設定されたシナリオに基づくゲームの進行、プレーヤオブジェクト（操作対象オブジェクト）と敵オブジェクトやその他のオブジェクト（操作非対象オブジェクト）との対戦、及び、当該対戦時のパラメータ管理などのゲームを実行する上で必要な演算処理を行う。
【０１３０】
なお、ゲーム演算部２１５は、サーバ装置１０と連動して実行されるが、その一部又は全部がサーバ装置１０に形成されていてもよい。
【０１３１】
仮想カメラ制御部２１６は、所与の視点から見える画像であって、奥行きがあるように見える画像を生成する。この場合に、仮想カメラ制御部が、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【０１３２】
例えば、仮想カメラによりオブジェクト（例えば、キャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。
【０１３３】
この場合には、移動処理部２１４で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。また、この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【０１３４】
なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【０１３５】
一方、仮想カメラ制御部は、上述のように、起点マーカ、スライド操作マーカ及び指示位置マーカが表示されるタッチパネル１２上の表示エリアや操作エリアと、操作オブジェクトその他のゲームを実行する際に表示される表示コンテンツが表示される表示エリアと
の干渉状況が発生する場合には、仮想カメラの位置、向き、及び、画角の少なくともいずれか一方を制御し、操作対象オブジェクトの視認性を確保するカメラ制御を実行する。
【０１３６】
描画部２２０は、処理部２００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部（ディスプレイ）２９０に出力する。描画部２２０が生成する画像は、いわゆる２次元画像であってもよいし、いわゆる３次元画像であってもよい。特に、描画部２２０は、オブジェクト空間における仮想カメラから見える画像であって、画面上に表示する画像を生成する。
【０１３７】
ここで２次元画像を生成する場合には、描画部２２０は、設定された優先度が低いオブジェクトから順に描画して、オブジェクト同士が重なる場合には、優先度の高いオブジェクトを上書きして描画する。
【０１３８】
また、３次元画像を生成する場合には、本実施形態の描画部２２０は、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【０１３９】
また、頂点処理では、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（フラグメント処理）が行われる。
【０１４０】
ピクセル処理では、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を画像バッファ２７２（フレームバッファ、ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。
【０１４１】
これにより、オブジェクト空間内に設定された仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【０１４２】
なお、描画部２２０が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【０１４３】
そして、描画部２２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【０１４４】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理を行う。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）を記憶部２７０に記憶する。
【０１４５】
テクスチャマッピングでは、記憶部２７０のテクスチャ記憶部に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングする処理を行う。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部２７０のテクスチャ記憶部からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出し、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【０１４６】
なお、本実施形態では、オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、マッピングされるテクスチャの色分布（テクセルパターン）を動的に変化させることができる。
【０１４７】
また、この場合において、色分布（ピクセルパターン）が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよい。
【０１４８】
隠面消去処理では、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行う。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照するとともに、当該参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【０１４９】
αブレンディング（α合成）では、描画部２２０は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）を行う。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【０１５０】
特に、本実施形態での描画部２２０は、接触検出領域に対応する表示領域に表示させる画像を生成してもよい。表示領域に表示させる画像とは、例えばオブジェクトを含む画像でもよい。
【０１５１】
音処理部２３０は、処理部２００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部２９２に出力する。
【０１５２】
なお、本実施形態の端末装置は、１人のプレーヤのみがプレーできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレーできるマルチプレーヤモードも備えるシステムにしてもよい。
【０１５３】
また、複数のプレーヤがプレーする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末装置２０を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末装置２０又はサーバ装置１０を用いて分散処理により生成してもよい。
【０１５４】
［４］本実施形態の手法
［４．１］仮想コントローラの表示制御
まずは、本実施形態の手法においては、その基準となる仮想コントローラの表示制御について説明する。
【０１５５】
［４．１．１］概要
次に、図５を用いて本実施形態の手法（仮想コントローラの表示制御）の概要について説明する。なお、図５は、本実施形態の仮想コントローラの表示制御について説明するための図である。
【０１５６】
本実施形態の端末装置２０は、所与の画面が表示されるタッチパネル１２へのスライド操作入力を受け付け、受け付けたスライド操作入力を視覚的にユーザに伝達し、操作を的確に行う際に必要な操作コマンド用のマーカやスライド操作マーカを含む仮想コントローラ（すなわち、操作入力オブジェクト）を、画面（タッチパネル１２）上に表示し、ユーザの操作性を向上させることができるようになっている。
【０１５７】
特に、端末装置２０は、プレーヤキャラクタ、プレーヤキャラクタに味方する味方キャラクタ、及び、プレーヤキャラクタと戦闘相手となる敵キャラクタなど、ゲームを実行する上（すなわち、コンテンツを表示する上）で重要な表示コンテンツの表示エリア（以下、「コンテンツ表示エリア」という。）ＤＣＡと、仮想コントローラが表示されている表示エリア（以下、「コントローラ表示エリア」という。）ＣＲＡと、がタッチパネル１２の表示上、干渉する場合には、表示コンテンツの視認性を確保するため、仮想コントローラを透明化する透明化処理、当該仮想コントローラを非表示化する非表示処理、又は、当該仮想コントローラを変形する変形処理などの非干渉処理を実行し、仮想コントローラの表示制御を行うようになっている。
【０１５８】
このようにタッチパネル上に仮想コントローラを表示する場合には、通常、タッチ操作入力やスライド操作入力が実行されたタッチパネル１２上の位置に表示されることになる。したがって、図５（Ａ）に示すように、当該仮想コントローラが表示されたエリアＣＲＡに、プレーヤキャラクタＰＣ、及び、プレーヤキャラクタと戦闘相手となる敵キャラクタＥＣなど、ゲームを実行する上で重要な表示コンテンツ上に表示されることになると、プレーヤキャラクタＰＣなどの動きを視認すること、又は、操作しているプレーヤキャラクタＰＣの周辺の状況を視認することなどができなくなり、操作性を向上させる仮想コントローラの表示がゲームの進行を妨げ、又は、ユーザに不利益を享受させることになる場合もある。なお、図５（Ａ）は、敵キャラクタＥＣが仮想コントローラと干渉していることを例示している。
【０１５９】
そこで、本実施形態の端末装置２０は、図５（Ｂ）に示すように、コントローラ表示エリアＣＲＡと、表示コンテンツエリアＤＣＡとの干渉状況を判定する干渉状況判定処理を実行し、当該干渉状況が発生する場合には、スライド操作マーカの表示を制御して表示コンテンツの視認性を確保する非干渉処理（図５（Ｂ）は透明化処理）を行うようになっている。
【０１６０】
特に、端末装置２０は、
（１）無接触状態から接触状態への第１の変化を検出する第１の検出処理を行うとともに、当該第１の変化の検出後であって当該第１の変化を検出した際のタッチ操作入力が継続されてスライド操作入力されている場合に、当該スライド操作入力の変化を第２の変化として検出し、
（２）第１の変化が検出された場合には、検出された基準位置（又はそれに関連付けられ
た所定位置）に仮想コントローラの一部を構成する起点マーカを表示する処理を実行し、第２の変化の検出に伴って、起点マーカの表示位置と、スライド操作入力によって変化するタッチ操作入力の現在の指示位置（以下、「現指示位置（又は、それに関連付けられた所定位置）という。）と、の間にスライド操作方向を視認させるための仮想コントローラの一部を構成するスライド操作マーカを表示制御する処理を実行し、
（３）スライド操作マーカの表示エリアと、表示コンテンツの表示エリアと、の干渉状況を判定し、
（４）干渉状況が発生する場合には、仮想コントローラ（具体的には、スライド操作マーカ）の表示を制御して表示コンテンツの視認性を確保する非干渉処理を行う、
構成を有している。
【０１６１】
また、この構成により、端末装置２０は、表示コンテンツの視認性を確保する制御を行うことができるので、スライド操作の表示が制限されたとしても、ゲームの進行などの表示内容を的確に把握すること、及び、それによって適切な操作を行うことができるようになっている。
【０１６２】
なお、「非干渉処理」には、スライド操作入力オブジェクトマーカの一部又は全部を透明化し、又は、半透明化する透明化処理、一部又は全体を非表示化する非表示処理及び一部又は全部の形状を変形する変形処理などが含まれる。
【０１６３】
また、本実施形態においては、起点マーカやスライド操作マーカを表示する際に、無接触状態を検出した際の位置である基準位置を用いているが、当該基準位置に代えて当該基準位置に関連付けられた所定位置、例えば、検出位置から所定の距離離れた位置又はタッチパネルの隅などの所定のエリアに形成されたエリアなど特定の表示位置を基準位置として用いてもよい。
【０１６４】
［４．１．２］仮想コントローラ
次に、図６〜図８を用いて本実施形態に用いる仮想コントローラについて説明する。なお、図６は、本実施形態に用いる起点マーカ、スライド操作マーカを含む仮想コントローラの一例であり、図７は、本実施形態における仮想コントローラのリセットを説明するための図である。また、図８は、本実施形態における仮想コントローラの起点マーカの追従について説明するための図である。
【０１６５】
（仮想コントローラの表示処理）
仮想コントローラ制御部２１２は、図６（Ａ）に示すように、第１の変化（すなわち、無接触状態から接触状態への状態変化）が検出された場合には、検出位置（基準位置）にスライド操作入力の起点となる起点マーカを表示する処理を実行する。
【０１６６】
また、仮想コントローラ制御部２１２は、図６（Ｂ）に示すように、第２の変化（すなわち、スライド操作入力の指示位置の変化）の検出に伴って、起点マーカの表示位置と、スライド操作入力によって変化するタッチ操作入力の現在の指示位置と、の間にスライド操作方向を視認させるためのスライド操作マーカを表示制御する処理を実行する。
【０１６７】
そして、仮想コントローラ制御部２１２は、スライド操作入力中においては、当該スライド操作入力に応じて（具体的には、変化する指示位置に応じて）スライド操作マーカを表示制御する。すなわち、仮想コントローラ制御部２１２は、スライド操作入力中においては、スライド操作入力によってなぞったタッチパネル１２上の軌跡にスライド操作マーカを表示制御する。
【０１６８】
なお、本実施形態においては、長時間にスライド操作入力が継続していると、タッチパ
ネル１２上がスライド操作マーカで埋まってしまうため、スライド操作中であっても、表示から所定の時間経過後のスライド操作マーカの部分を画面から順次削除してもよいし、後述するように、起点マーカをスライド操作入力の現指示位置に追従させてもよい。
【０１６９】
一方、仮想コントローラ制御部２１２は、図７（Ａ）及び（Ｂ）に示すように、スライド操作入力が終了して無接触状態が検出された場合には、起点マーカ及びスライド操作マーカを含む仮想コントローラの表示を中止して画面から削除する（リセットする）。このとき、仮想コントローラ制御部２１２は、主記憶部２７１に記憶されている基準位置をクリアする。
【０１７０】
（起点マーカの追従処理）
仮想コントローラ制御部２１２は、所与の条件に基づき、操作入力マーカがスライド操作入力によって変化するタッチ操作入力の現在位置に向けて、起点マーカを追従移動させてもよい。
【０１７１】
すなわち、この場合には、仮想コントローラ制御部２１２は、図８（Ａ）及び（Ｂ）に示すように、スライド操作入力中に、基準位置と現指示位置との位置的変位が所与の条件を具備した場合に、起点マーカ（すなわち、タッチ操作入力が検出されたときの基準位置）の移動を開始させるとともに、当該所与の条件を具備した後に検出される現指示位置に応じて当該起点マーカ（すなわち、基準位置）を移動させる。
【０１７２】
例えば、仮想コントローラ制御部２１２は、基準位置と検出されたスライド操作の位置とが予め定められた距離以上、又は、スライド操作入力の操作入力する際の速度若しくは加速度が予め定められた値以上になった場合に、起点マーカ（すなわち、タッチ操作入力が検出されたときの基準位置）の移動を開始させる。
【０１７３】
特に、タッチ検出処理部２１１によってスライド操作入力の起点としての基準位置と現指示位置に基づいて、スライド操作入力のスライド操作方向が検出されるので、又は、当該タッチ検出処理部２１１によって追従している起点マーカの位置（以下、「基準位置」ともいう。）と現指示位置と、に基づいて、スライド操作入力方向が検出されるので、仮想コントローラ制御部２１２は、当該検出されたスライド操作入力方向に沿って起点マーカ（すなわち、起点マーカのタッチパネル１２上の位置）を移動させる。
【０１７４】
また、仮想コントローラ制御部２１２は、基準位置と現指示位置との位置関係（離隔距離）、及び、移動速度の少なくともいずれか一方を維持しつつ、起点マーカを移動させる。そして、仮想コントローラ制御部２１２は、仮想コントローラの表示を中止する場合には、当然に起点マーカの追従も中止する。
【０１７５】
なお、例えば、スライド操作入力の基準位置（無接触状態から接触状態を検出した際のタッチ操作入力を検出した位置）とスライド操作入力を行っている現指示位置とが表示画面上遠い場合であって、そのスライド操作の操作方向を切り換えた場合に、当該操作制御の起点との関係においてスライド方向が検出されるので、スライド操作入力に基づく操作制御の起点とスライド操作を切り換えた位置が遠い場合には、当該切り換えた操作方向を判断するまでのスライド操作を行う距離が長くなり、かつ、当該判断するまでの時間も長くなる。
【０１７６】
したがって、上述のように、起点マーカを追従移動させる処理を実行することによって、スライド操作入力中にスライド操作する方向を切り換えた場合には、当該切り換えた際の操作方向を判断するまでの操作距離及び当該判断時間を短くすることができるので、リアルタイムに操作を行うこと、又は、瞬時の判断の下に操作を行うことが重要な処理に対
するスライド操作であっても的確な入力を行うことができるようになっている。
【０１７７】
［４．１．３］干渉状況判定処理
次に、本実施形態において実行される干渉状況判定処理について説明する。
【０１７８】
仮想コントローラ制御部２１２は、起点マーカ、スライド操作マーカ及び指示位置マーカが表示されるタッチパネル１２上のコントローラ表示エリアと、操作オブジェクトなどの表示コンテンツとが表示されるコンテンツ表示エリアとの干渉状況を判定する干渉状況判定処理を実行する。
【０１７９】
特に、本実施形態においては、表示コンテンツとしては、プレーヤキャラクタ、味方キャラクタ及び敵キャラクタなどのキャラクタオブジェクト、操作コマンドを表示するための表示用オブジェクト、自動車、船又は武器などのアイテム用オブジェクトが含まれる。
【０１８０】
また、コンテンツ表示エリアは、対象となるオブジェクトが表示される領域だけなく、当該オブジェクトが仮想コントローラの操作によって移動することが予測される範囲も含む。
【０１８１】
そして、仮想コントローラ制御部２１２は、図５（Ａ）及び（Ｂ）に示すように、コントローラ表示エリアの一部又は全部がコンテンツ表示エリアの一部又は全部に重畳してタッチパネル１２上に表示されるか否かを判定することによって干渉状況を判定する。
【０１８２】
具体的には、仮想コントローラ制御部２１２は、仮想カメラ制御部２１６から、操作オブジェクトのタッチパネル１２の画面上の表示座標を示すコンテンツ表示エリアの情報を取得し、スライド操作入力に基づいて、起点マーカ、スライド操作マーカ及び指示位置マーカが表示されるタッチパネル１２上の座標を示すコントローラ表示エリアと比較することによって干渉状況を判定する。
【０１８３】
特に、仮想コントローラ制御部２１２は、仮想カメラから見える３次元のオブジェクト空間の画像を生成する際に、仮想カメラ制御部２１６から出力された情報であって、操作オブジェクト（当該操作オブジェクトの移動が予測される範囲を含む）におけるオブジェクト空間の座標（例えば、３次元空間座標）からタッチパネル１２上の座標（すなわち、２次元座標）に座標変換された際の座標領域の情報を、コンテンツ表示エリアの情報として、取得する。
【０１８４】
そして、仮想コントローラ制御部２１２は、取得したコンテンツ表示エリアの情報と、起点マーカ、スライド操作マーカ及び指示位置マーカが表示されるタッチパネル１２上の座標を示すコントローラ表示エリアと、を比較し、コントローラ表示エリアとの一部又は全部の座標領域がコンテンツ表示エリアの情報の一部又は全部の座標領域に重なっている場合には、干渉状況が発生していると判定する。
【０１８５】
なお、図５（Ａ）及び（Ｂ）には、仮想コントローラ制御部２１２は干渉状況が発生していると判定した場合であって、表示される仮想コントローラの表示エリア（ＣＲＡ）がプレーヤキャラクタのコンテンツ表示エリア（ＤＣＡ）に重畳していることが示されている。
【０１８６】
また、仮想コントローラ制御部２１２は、コントローラ表示エリアの一部又は全部がコンテンツ表示エリアの一部又は全部に重畳した場合には、非干渉処理に用いるために、重畳している領域も検出してもよい。
【０１８７】
さらに、本実施形態においては、仮想コントローラ制御部２１２は、コントローラ表示エリアとの一部又は全部の座標がコンテンツ表示エリアの情報の一部又は全部に重なっている場合には、干渉状況が発生していると判定しているが、干渉状況の判定に、コントローラ表示エリアの一部の座標領域とするか全部の座標領域とするか、又は、コンテンツ表示エリア一部の座標領域とするか全部の座標領域とするかは、ゲームの状況やその他の設定において定められる。
【０１８８】
一方、仮想コントローラ制御部２１２は、表示コンテンツの属性に基づいて干渉状況の判定の対象である表示コンテンツか否かを判定し、当該干渉状況の対象である表示コンテンツの表示エリアと、スライド操作入力オブジェクトマーカの表示エリアとの干渉状況を判定してもよい。
【０１８９】
具体的には、仮想コントローラ制御部２１２は、オブジェクト空間に配置される各オブジェクトであって画面表示されているエリアに存在するオブジェクトの属性を示す属性情報を取得し、干渉状況判定処理を実行すべき属性情報を有するオブジェクトが当該エリアに存在する場合には、仮想コントローラの表示エリアとの干渉状況判定処理を実行する。
【０１９０】
例えば、干渉状況判定処理を実行する属性としては、プレーヤキャラクタ、味方キャラクタ及び敵キャラクタであり、干渉状況判定処理を実行しない属性としては、アイテム、背景や景色を構成するオブジェクトである。
【０１９１】
また、仮想コントローラ制御部２１２は、表示コンテンツの種類に応じて、干渉状況判定処理を実行するか否かを判断し、当該干渉状況判定処理を実行すると判断した場合に、スライド操作マーカの表示エリア（コントローラ表示エリア）とコンテンツ表示エリアとの干渉状況を判定してもよい。
【０１９２】
例えば、ゲーム空間（オブジェクト空間）に単に配置される背景を構成するオブジェクト、又は、静止画像や動画像における単なる背景部分などのコンテンツの種別については干渉状況判定処理を実行せずに、ゲームの中心になるプレーヤキャラクタや敵キャラクタなどの重要なキャラクタ、又は、所定の画像や動画における重要な表示又はキーワードなどの重要なコンテンツなどのコンテンツの種別については干渉状況判定処理を実行する。
【０１９３】
したがって、本実施形態においては、重要な表示コンテンツについてはスライド操作マーカを透明化又は非表示化してまでも表示する一方、重要でない表示コンテンツについてはスライド操作マーカを優先的に表示させることによって表示コンテンツの視認性の確保とスライド操作におけるユーザへのサポートの双方を両立させることができるようになっている。
【０１９４】
さらに、仮想コントローラ制御部２１２は、干渉状況判定処理を実行して干渉状況が発生する場合には、表示コンテンツの種類に応じてスライド操作マーカの表示態様を変化させる非干渉処理を実行してもよい。
【０１９５】
例えば、非干渉処理として、ゲーム空間（オブジェクト空間）に単に配置される背景を構成するオブジェクト、又は、静止画像や動画像における単なる背景部分などのコンテンツの種別についてはスライド操作入力オブジェクトマーカを半透明化し、その一部を非表示にし、又は、簡易な形状に変形し、ゲームの中心になるプレーヤキャラクタや敵キャラクタなどの重要なキャラクタ、又は、所定の画像や動画における重要な表示又はキーワードなどの重要なコンテンツなどのコンテンツの種別については、スライド操作マーカを完全に透明化し、その全体を非表示にし、又は、確実に表示コンテンツの視認性を確保するための形状に変形する。
【０１９６】
すなわち、本実施形態においては、重要な表示コンテンツについてはスライド操作入力オブジェクトマーカの表示よりも優先し、重要でない表示コンテンツについてはスライド操作入力オブジェクトマーカの表示も可能にすることによって表示コンテンツの視認性の確保とスライド操作におけるユーザへのサポートの双方を両立させることができるようになっている。
【０１９７】
他方、仮想コントローラ制御部２１２は、コントローラ表示エリアとコンテンツ表示エリアとが干渉していないと判定した場合には、非干渉処理を実行せずに、起点マーカ及びスライド操作マーカをタッチ操作入力及びスライド操作入力にしたがってタッチパネル１２上に表示する。
【０１９８】
また、仮想コントローラ制御部２１２は、スライド操作マーカが表示される画面上の領域に応じて、干渉状況判定処理の基準を変化させてもよい。
【０１９９】
例えば、右利きのユーザによってスライド操作を行う場合に、画面中央から右下の領域内での操作が主になるため、仮想コントローラ制御部２１２は、当該画面中央から右下の領域内でのスライド操作においては干渉状況判定処理を実行し、それ以外の領域、すなわち、画面中央から右上、左上及び左下の領域内では干渉状況判定処理を実行しないとして干渉状況判定処理の基準を変化させてもよい。
【０２００】
特に、本実施形態においては、干渉状況判定処理を実行する画面上の領域、又は、当該干渉状況判定処理を実行しない画面上の領域については、ユーザによって予め設定されてもよいし、仮想コントローラ制御部２１２が、過去のスライド操作入力に基づいて（例えば、過去１００回程度のスライド操作入力に基づいて）所定の割合以上（例えば、９０％以上）使用している画面上の領域について干渉状況判定処理を実行する領域と設定し、又は、所定の割合以下（例えば、５％以下）の使用しかしていない画面上の領域については干渉状況判定処理を実行しない領域と設定してもよい。
【０２０１】
さらに、仮想コントローラ制御部２１２は、上記に加えて、又は、上記に代えて、表示コンテンツの重要性に応じて、干渉状況判定処理の基準を変化させてもよい。
【０２０２】
例えば、プレーヤキャラクタや敵キャラクタなどの重要なオブジェクト以外の建物や道路を構成するオブジェクトについては、干渉状況判定処理を行っても却って表示処理が煩雑になる場合も多いので、仮想コントローラ制御部２１２は、プレーヤキャラクタや敵キャラクタなどの重要な特定のオブジェクトの属性又は種類については干渉状況判定処理を実行し、それ以外の属性又は種類のオブジェクトについては、干渉状況判定処理を実行しないとして干渉状況判定処理の基準を変化させてもよい。
【０２０３】
特に、本実施形態においては、干渉状況判定処理を実行する属性又は種類については、ユーザによって予め設定されてもよいし、仮想コントローラ制御部２１２が、ゲーム種別などやゲーム状況（ステージやレベルなど）に応じて、干渉状況判定処理を実行する属性又は種類、当該干渉状況判定処理を実行しない属性又は種類、又は、その双方を自動的に設定してもよい。
【０２０４】
なお、仮想コントローラ制御部２１２は、スライド操作入力によって変化するタッチ操作入力の現在位置に向けて、起点マーカを追従移動させる場合に、コントローラ表示エリアとして追従している起点マーカの表示エリアとコンテンツ表示エリアとの干渉状況を判定する干渉状況判定処理を実行してもよい。
【０２０５】
この場合においては、スライド操作における起点が当該スライド操作に従って追従した場合であっても、ゲームの進行などの表示内容を的確に把握すること、及び、それによって適切な操作を行うことができるようになっている。
【０２０６】
なお、ゲーム演算部２１５は、仮想コントローラ制御部２１２と連動し、干渉状況が発生する場合には、プレーヤキャラクタなどの操作入力マーカの操作の対象となる操作対象オブジェクトについて、敵キャラクタや障害物のオブジェクトなどのオブジェクト空間の他のオブジェクトとの当たり判定を行う際に用いる当たり判定エリアの大きさ、及び、パラメータの少なくともいずれか一方の値を変更してもよい。
【０２０７】
すなわち、本実施形態においては、ゲームにおけるプレーヤキャラクタなどの操作対象オブジェクトと、敵キャラクタなどのオブジェクト空間に存在する他のオブジェクトと、の攻撃範囲その他を決定するための当たり判定を行う際に用いられる当たり判定エリアの大きさ、又は、当該当たり判定によって実行される攻撃値や防御値などの当たり判定時に用いられる各種のパラメータを変更することができるようになっている。
【０２０８】
特に、ゲーム演算部２１５は、仮想コントローラ制御部２１２によってスライド操作入力オブジェクトマーカと操作対象オブジェクトである表示コンテンツの表示エリアが干渉していると判定された場合に、
（１）判定エリアを大きくし（具体的には、スライド操作入力オブジェクトマーカの表示エリアを越えた部分まで大きくし）、他のキャラクタとの攻撃が開始されること明確にすること、
（２）判定エリアを小さくし、干渉しない状態よりは視認性や操作性が劣る状況において他のキャラクタとの攻撃の機会を減少させて難しい操作を実行しなければならない状況を回避すること、及び、
（３）難しい操作を実行しなければならない状況での敵キャラクタの攻撃値や防御値の減少又はプレーヤキャラクタにおける攻撃値や防御値の増加など操作オブジェクトに対して有利に機能させること
などを実行する。
【０２０９】
［４．１．４］非干渉処理
次に、図９〜図１２を用いて本実施形態における非干渉処理について説明する。なお、図９は、本実施形態における非干渉処理として仮想コントローラを透明化する透明化処理について説明する図であり、図１０は、本実施形態における非干渉処理として仮想コントローラを非表示化する非表示化処理について説明する図である。また、図１１は、本実施形態における非干渉処理として仮想コントローラの形状を変形する変形処理について説明する図であり、図１２は、本実施形態における指示位置マーカを有する仮想コントローラの一例である。
【０２１０】
仮想コントローラ制御部２１２は、上述の干渉状況判定処理において干渉状況が発生すると判定した場合には、各マーカの表示を制御して表示コンテンツの視認性を確保する非干渉処理を実行する。
【０２１１】
具体的には、非干渉処理には、
（Ａ）操作入力マーカの一部又は全部を透明化する透明化処理、
（Ｂ）当該操作入力マーカの一部又は全体を非表示にする非表示処理、及び、
（Ｃ）当該操作入力マーカの一部又は全部の形状を変形する変形処理、
が含まれる。
【０２１２】
（透明化処理）
仮想コントローラ制御部２１２は、図９（Ａ）に示すように、スライド操作マーカの全体を透明化して仮想コントローラを表示し、又は、図９（Ｂ）に示すように、スライド操作マーカにおいてコンテンツ表示エリアと干渉（重畳）している一部のエリアのみ透明化して仮想コントローラを表示する。
【０２１３】
すなわち、仮想コントローラ制御部２１２は、全体又は一部の該当する部分を透明化したスライド操作マーカと、透明化されず通常の形態を有する起点マーカと、によって形成される仮想コントローラを表示する。
【０２１４】
なお、例えば、透明化処理としては、
（１）スライド操作マーカの外縁のみ表示してその他を透明（例えば、仮想コントローラに重畳している表示コンテンツの透過率が１００％）又は半透明にすること、
（２）スライド操作マーカの全体又は一部の該当箇所を半透明にすること、
（３）スライド操作マーカの一部の該当箇所を透明（例えば、仮想コントローラに重畳している表示コンテンツの透過率が１００％）にすること、
を含む。
【０２１５】
また、半透明とは、仮想コントローラに重畳している表示コンテンツが視認可能な透過率であれば特に数値には限定されない。
【０２１６】
（非表示化処理）
仮想コントローラ制御部２１２は、図１０（Ａ）に示すように、スライド操作マーカの全体を非表示にして仮想コントローラを表示し、又は、図１０（Ｂ）に示すように、スライド操作マーカにおいてコンテンツ表示エリアと干渉（重畳）している一部のエリアのみ非表示化して仮想コントローラを表示する。
【０２１７】
すなわち、仮想コントローラ制御部２１２は、全体又は一部の該当する部分を非表示化したスライド操作マーカと、非表示されず通常の形態を有する起点マーカと、によって形成される仮想コントローラを表示する。
【０２１８】
なお、例えば、非表示化処理としては、
（１）スライド操作マーカの全体を非表示にすること
（２）スライド操作マーカの一部の該当箇所を非表示にすること、
を含む。
【０２１９】
また、図１０（Ａ）に示すように、スライド操作マーカの全体が非表示にされた場合であっても、スライド操作入力をしているので、現指示位置と起点マーカによっておおよそのスライド操作のイメージをユーザに想起させることができる。
【０２２０】
（変形処理）
仮想コントローラ制御部２１２は、図１１（Ａ）に示すように、スライド操作マーカの全体を変形にして仮想コントローラを表示し、又は、図１１（Ｂ）に示すように、スライド操作マーカにおいてコンテンツ表示エリアと干渉（重畳）している一部のエリアのみ変形して仮想コントローラを表示する。
【０２２１】
すなわち、仮想コントローラ制御部２１２は、全体又は一部の該当する部分の形状を変形したスライド操作マーカと、変形されず通常の形態を有する起点マーカと、によって形成される仮想コントローラを表示する。
【０２２２】
なお、例えば、変形処理としては、
（１）スライド操作マーカの全体を細く又は小さくするなどその形状を変形すること、
（２）スライド操作マーカの一部の該当箇所の形状を細く又は小さくするなどその形状を変形すること、
（３）スライド操作マーカの一部又は全体を変形せずに、例えば、指示位置が頂点となる三角形状のマーカなど、そもそも、異なるスライド操作マーカなどの別オブジェクトに差し替えること、
が含まれる。
【０２２３】
また、本実施形態の変形処理は、上記に限らず、起点マーカから指示位置までコンテンツ表示エリアを表示可能に蛇行する形状やその他の表示コンテンツの視認性を確保することが可能な形状であればよい。
【０２２４】
（その他）
なお、スライド操作マーカを透明化、非表示化又は変形した場合に現指示位置に対する表示が無くなり、接触している位置によってのみ確認することになる場合がある。そこで、その場合であって、現指示位置の表示が必要な場合には、仮想コントローラ制御部２１２は、当該現指示位置を可視化するため、図１２に示すように、スライド操作入力における現指示位置に、指示位置マーカを表示させてもよい。
【０２２５】
この場合には、スライド操作マーカの透明化、非表示化又変形などの表示制御を実行した場合であっても、起点マーカとともに指示位置マーカを表示し、スライド操作入力を可視化することができるので、スライド操作を実行した状況をユーザに視認させることができるようになっている。
【０２２６】
［４．１．５］その他の処理
次に、本実施形態における仮想コントローラのその他の処理について説明する。
【０２２７】
仮想コントローラ制御部２１２は、スライド操作入力によって変化するタッチ操作入力の移動速度、すなわち、スライド操作における操作速度が所与の条件を上回った場合には、スライド操作マーカを非表示としてもよい。
【０２２８】
すなわち、このような場合には、スライド操作マーカを非表示にして表示コンテンツの視認性を確保する方がユーザサポートの観点からは有益性が高い。また、スライド操作入力によって制御される操作対象オブジェクトの状態を視認すれば移動方向や移動速度について認識可能となり、かつ、このような操作については極短期間であるので、その不利益も生じない。
【０２２９】
したがって、本実施形態においては、スライド操作の表示が制限されたとしても、ゲームの進行などの表示内容を的確に把握すること、及び、それによって適切な操作を行うことができるようになっており、結果的にユーザにおいて適切な操作を行うことができる。
【０２３０】
また、仮想コントローラ制御部２１２は、プレーヤキャラクタなどの操作対象オブジェクトがスライド操作入力にしたがって移動している場合であって、敵キャラクタや障害物などに接触する可能性があると判定した場合（例えば、操作対象オブジェクトの位置から移動方向において一定の範囲内にある場合）には、仮想コントローラの色や形状を変化させてもよい。
【０２３１】
また、仮想コントローラ制御部２１２は、プレーヤキャラクタなどの操作対象オブジェクトが表示している仮想コントローラの指示位置に近づいた場合（指示位置と操作対象オブジェクトとの位置が所定の距離になった場合）には、表示している仮想コントローラの
形状を小さくしてもよい。
【０２３２】
［４．２］タッチ操作入力中の操作コマンドの表示制御及び実行制御
次に、本実施形態の手法におけるタッチ操作入力中（指示位置検出中）の操作コマンドの表示制御及び実行制御について説明する。なお、以下の説明においては、指示位置を検出するタッチ操作入力としてスライド操作入力を用いて説明する。
【０２３３】
［４．２．１］概要
次に、図１３を用いて本実施形態の手法（タッチ操作入力中の操作コマンドの表示位置制御）の概要について説明する。なお、図１３は、本実施形態のタッチ操作入力中の操作コマンドの表示制御及び実行制御について説明するための図である。
【０２３４】
本実施形態の端末装置２０は、タッチ操作入力における指示位置を検出中、例えば、スライド操作入力の際のユーザの操作性の向上のために、起点マーカ及びスライド操作マーカによって形成される仮想コンコントローラの表示制御に加えて、スライド操作入力中に、タッチ操作入力を指示するための操作コマンド用マーカ（以下、「タッチ操作入力オブジェクトマーカ」ともいう。）を適切な位置に配置し、リアルタイム性が要求されるタッチ操作入力の操作を迅速に、容易にかつ的確に切り換えるための構成を有している。
【０２３５】
例えば、本実施形態の操作コマンド用マーカは、ゲームの進行中に複数のプレーヤキャラクタにおいて操作対象のプレーヤキャラクタの切り替え、及び、操作中のプレーヤキャラクタにおける技や武器の使用など特定の操作を行うための操作コマンドを発動するためのマーカであり、スライド操作入力によってプレーヤオブジェクトを操作中に当該操作コマンドを発動する必要がある場合がある。
【０２３６】
また、図１３（Ａ）に示すように、ゲームなどのリアルタイムに迅速な入力が求められる場合であって、スライド操作入力中に当該スライド操作入力から操作コマンドを操作する場合には、スライド操作入力を終了させた位置とその次にタッチ操作入力を入力すべき位置とが離れていると、迅速な操作を行うことができない場合が多い。また、スライド操作入力を終了させた位置とその次にタッチ操作入力を入力すべき位置とが重なっている場合でも、タッチ操作入力が難しくなるだけでなく当該タッチ操作入力の誤検出をも発生する。
【０２３７】
そこで、本実施形態の端末装置２０は、図１３（Ｂ）に示すように、例えば、スライド操作入力の継続中に当該スライド操作入力に基づいて所与の条件を具備した際に、当該スライド操作入力の現指示位置に近接する近接位置に、所与の状態である操作コマンド用のマーカ（以下、「操作コマンド用マーカ」という。）を表示させることによって、スライド操作入力を終了させた位置に操作コマンド用マーカを表示させることができるようになっている。
【０２３８】
すなわち、本実施形態の端末装置２０は、必要なタッチ操作入力オブジェクトマーカを指示位置に近接する近接位置に操作コマンドマーカを表示することによって、ゲームなどのリアルタイム性が要求されるタッチ操作入力について明確に操作可能な状態を提供することができるとともに、その操作を迅速にかつ的確に切り換えることができるようになっている。
【０２３９】
なお、「所与の条件」には、操作対象オブジェクトに対する特定の操作制御を行うための条件であって、例えばゲームにおいて、
（Ａ）一定時間のタッチ操作入力やそのときまでの操作入力によって所与のエネルギーなどのパラメータが蓄積されたこと、
（Ｂ）特定のアイテムを取得したこと、及び、
（Ｃ）当該スライド操作中などの操作入力中に又はその操作入力までに特定のイベントが発動しこと、
など、種々の操作入力中の操作や実行された制御に伴って表示されたタッチ操作入力オブジェクトマーカに基づく制御の開始条件又は当該制御を行う上での必要な条件が含まれる。
【０２４０】
また、「特定の操作制御」には、
（１）特定の攻撃や防御を行うためのコマンドの発動、
（２）プレーヤキャラクタや味方キャラクタの各種のパラメータの回復、及び、
（３）特別なステージ又は特別なマップの提供や特別なアイテムの取得
などプレーヤキャラクタがゲーム上有利に働く操作制御、又は、敵キャラクタに対して不利に働く操作制御が含まれる。
【０２４１】
またさらに、「表示制御処理」には、後述するようなタッチ操作入力オブジェクトマーカの各種の表示制御が含まれる。
【０２４２】
［４．２．２］スライド操作入力時の操作コマンド用マーカの表示制御処理
次に、図１４〜図１７を用いて本実施形態において実行されるスライド操作入力時の操作コマンド用マーカの表示制御処理について説明する。
【０２４３】
仮想コントローラ制御部２１２は、仮想コントローラが表示されてスライド操作入力が継続している入力継続中に、上記のような所定の条件が具備した場合に、当該スライド操作入力の現指示位置に近接する近接位置に、所与の状態である操作コマンド用マーカを表示させる表示制御処理を実行する。
【０２４４】
特に、仮想コントローラ制御部２１２は、
（１）所与の状態として予め定められた基準位置に表示されている操作コマンド用マーカを近接位置に移動させて表示する表示制御処理（以下、「移動表示制御処理」という。）、
（２）所与の状態として非表示の操作コマンド用マーカを近接位置に表示させる表示制御処理（以下、「表示切替制御処理」という。）、
（３）所与の状態として予め定められた位置に表示されている操作コマンド用マーカの大きさ、形状及び色を変化させて近接位置に表示させる表示制御処理（以下、「形状変化表示制御処理」という。）、及び、
（４）所与の状態として現指示位置に重なって表示されている操作コマンド用マーカを当該現指示位置に重ならない位置に移動させる表示制御処理（以下、「重畳解消表示制御処理」という。）
を実行する。
【０２４５】
なお、仮想コントローラ制御部２１２は、各操作コマンド用マーカをタッチパネル１２の画面における予めタッチ操作入力が検出された位置に設定する。すなわち、本実施形態においては、操作コマンド用マーカは、予めユーザの指示に基づいてタッチパネル１２の画面上に配置される。
【０２４６】
（移動表示制御処理）
仮想コントローラ制御部２１２は、スライド操作入力の継続中に、タッチ操作入力オブジェクトマーカの表示位置とスライド操作入力における指示位置（すなわち、現指示位置）との位置関係が一定の距離になった場合には、事前にユーザによって設定されたタッチパネル１２上の位置などの所与の位置に予め表示されている操作コマンド用マーカを、ス
ライド操作入力中の現指示位置に近接する近接位置に移動させることによって、移動表示制御処理を実行する。
【０２４７】
例えば、図１４（Ａ）に示すように、操作コマンド用マーカＣＭが位置Ａに表示されており、スライド操作入力中に、上記の所与の条件が具備された場合であって、操作コマンド用マーカＣＭの表示位置である位置Ａとスライド操作入力の現指示位置Ｂとの位置関係が予め定められた一定の距離になった場合に、仮想コントローラ制御部２１２は、図１４（Ｂ）に示すように、操作コマンド用マーカＣＭの位置を現指示位置Ｂの近接位置Ｃに移動させる。
【０２４８】
なお、本実施形態においては、「近接位置」には、図１４（Ｂ）に示す現指示位置や当該現指示位置に表示されるスライド操作マーカの近傍のみならず、当該スライド操作マーカＳＭに操作コマンド用マーカが接触している位置も含む。ただし、当該「近接位置」には、現指示位置と重なる位置や当該近接位置に表示される操作コマンド用マーカが現指示位置と重なる位置は含まない。
【０２４９】
また、本実施形態においては、予め設定された位置に操作コマンド用マーカが表示されている場合であっても、スライド操作入力中に、スライド操作入力中の操作位置やその近傍に移動させることができるので、ゲームなどのリアルタイム性が要求される操作入力においてはその操作を迅速に、容易にかつ的確に切り換えることができるようになっている。
【０２５０】
（表示切替制御処理）
仮想コントローラ制御部２１２は、上記の所与の条件が具備された場合に、現指示位置に近接する近接位置に、非表示になっている操作コマンド用マーカを表示させる表示切替制御処理を実行する。特に、仮想コントローラ制御部２１２は、このような表示切替制御処理を実行する場合には、タッチパネル１２上の位置などの所与の位置に事前に設定不能な操作コマンドを対象とし、又は、たとえ所与の位置に事前に設定されていたとしても無視して当該表示切替制御処理を実行する。
【０２５１】
例えば、図１５（Ａ）に示すように、操作コマンド用マーカＣＭが近接位置Ｃに非表示にされており、スライド操作入力中に、上記の所与の条件が具備された場合であって、当該操作コマンド用マーカの操作コマンドにおける開始条件が具備された場合に、仮想コントローラ制御部２１２は、図１５（Ｂ）に示すように、非表示の操作コマンド用マーカＣＭを近接位置Ｃに表示させる。
【０２５２】
なお、本実施形態においては、操作コマンド用マーカを予め表示しておく必要がないので、タッチパネル１２上の限りある表示領域を有効に使用することができるとともに、ゲームなどのリアルタイム性が要求される操作入力においてはその操作を迅速に、容易にかつ的確に切り換えることができるようになっている。
【０２５３】
（形状変化表示制御処理）
仮想コントローラ制御部２１２は、上記の所与の条件が具備された場合であって、事前にユーザによって設定されたタッチパネル１２上の位置などの所与の位置に予め表示されている操作コマンド用マーカの形状を、現指示位置に近接する近接位置に接するまで変化させる形状変化表示処理を実行する。
【０２５４】
例えば、図１６（Ａ）に示すように、操作コマンド用マーカＣＭが位置Ａに表示されており、スライド操作入力中に、上記の所与の条件が具備された場合であって、操作コマンド用マーカＣＭの表示位置である位置Ａとスライド操作入力の現指示位置Ｂとの位置関係
が予め定められた一定の距離になった場合に、仮想コントローラ制御部２１２は、図１６（Ｂ）に示すように、操作コマンド用マーカＣＭの形状を、現指示位置Ｂの近接位置Ｃに接するまで変化させる。
【０２５５】
なお、本実施形態においては、予め設定された位置に操作コマンド用マーカが表示されている場合であっても、スライド操作入力中に、スライド操作入力中の操作位置やその近傍にタッチ可能に形成されるので、ゲームなどのリアルタイム性が要求される操作入力においてはその操作を迅速に、容易にかつ的確に切り換えることができるようになっている。
【０２５６】
（重畳解消表示制御処理）
仮想コントローラ制御部２１２は、事前にユーザによって設定されたタッチパネル１２上の位置などの所与の位置に予め表示されている操作コマンド用マーカが、スライド操作入力中の現指示位置と重なっている場合に、当該現指示位置と重ならない位置であって当該位置に近接する近接位置に移動させることによって、重畳解消表示制御処理を実行する。
【０２５７】
（追従処理）
仮想コントローラ制御部２１２は、上述のように、移動表示制御処理、表示切替制御処理、形状変化表示制御処理及び重畳解消表示制御処理によって操作コマンド用マーカが現指示位置の近接位置に表示された場合であって、その後にスライド操作入力が継続した場合には、スライド操作入力中の当該スライド操作入力の現指示位置の変化に従って表示された操作コマンド用マーカを追従させる。
【０２５８】
例えば、仮想コントローラ制御部２１２は、図１７（Ａ）及び（Ｂ）に示すように、新たに検出された現指示位置と一定の距離を保ちつつ、スライド操作にしたがって操作コマンド用マーカＣＭを追従させる。すなわち、仮想コントローラ制御部２１２は、起点マーカとともに、図１７（Ｂ）に示すように、スライド操作入力に追従する。
【０２５９】
また、仮想コントローラ制御部２１２は、スライド操作入力が終了してタッチ検出処理部２１１によって無接触状態が検出された場合には、操作コマンド用マーカの追従を終了させ、終了した位置で表示する、事前に設定された位置に戻って表示する、非表示にする、又は、元の形状に戻って事前に設定された位置に表示する該当する各処理を実行する。
【０２６０】
なお、仮想コントローラ制御部２１２は、形状変化表示制御処理によって現指示位置の近接位置に形成されている場合であって追従する場合には、当該形状を変形させつつ、現指示位置に追従させる。
【０２６１】
（スライド操作マーカとの連動処理）
仮想コントローラ制御部２１２は、スライド操作入力が終了してタッチ検出処理部２１１によって無接触状態が検出された場合には、無接触状態を検出してから予め定められた期間（例えば、２秒程度）、現指示位置に近接する近接位置に操作コマンド用マーカを継続して表示する。
【０２６２】
スライド操作入力が終了したと同時に操作コマンド用マーカが非表示なると、スライド操作マーカの現指示位置に近接する位置に表示されているとはいえ、当該操作コマンド用マーカに対してタッチ操作入力を行うことが難しい。
【０２６３】
そこで、本実施形態においては、スライド操作入力からタッチ操作への切り換えをスムーズに実行するために、仮想コントローラ制御部２１２は、無接触状態を検出してから予
め定められた期間（例えば、２秒程度）、現指示位置に近接する近接位置に操作コマンド用マーカを継続して表示するようになっている。
【０２６４】
（非対象の操作コマンド用マーカの表示処理）
仮想コントローラ制御部２１２は、上述のような所与の条件を具備した際に、
（１）当該所与の条件を具備したタイミングで特定の処理に関する処理が実行可能な場合には、上記の各種の表示制御処理の対象として操作コマンド用マーカを近接位置に表示し、
（２）当該タイミングで特定の処理に関する処理が実行不能な場合には、表示制御処理の非対象として操作コマンド用マーカを近接位置に非表示にする。
【０２６５】
特に、仮想コントローラ制御部２１２は、複数の操作コマンド用マーカのうち、スライド操作入力中に所与の条件を具備して当該操作コマンド用マーカを移動、表示又は変形する際に、当該タイミングで実行可能な操作を指示するための操作コマンド用マーカを表示制御処理の対象とし、当該タイミングで実行不能な操作を指示するための操作コマンド用マーカを表示制御処理の非対象として上述のような表示制御処理を実行する。
【０２６６】
例えば、仮想コントローラ制御部２１２は、スライド操作入力に伴って発動可能なコマンドを実行するための操作コマンド用マーカを近接位置に表示し、当該スライド操作入力においては発動不能な操作コマンドを実行するマーカについては近接位置に表示せず、複数の操作コマンド用マーカのうちタッチ操作可能なマーカのみ近接位置に表示する。
【０２６７】
なお、本実施形態においては、複数の操作コマンド用マーカが存在する場合には、コマンドが発動しない操作コマンド用マーカへのタッチ操作入力やユーザが希望しない操作コマンド用マーカへのタッチ操作入力などのユーザの誤操作を防止し、その操作性を向上させることができるようになっている。
【０２６８】
一方、仮想コントローラ制御部２１２は、特定の処理に対する所与の条件が具備されて近接位置に操作コマンド用マーカを表示する際に、表示制御処理として、他の操作コマンド用マーカから識別するための識別表示を実行する。
【０２６９】
具体的には、仮想コントローラ制御部２１２は、プレーヤキャラクタがゲーム上有利に働く操作制御を行うためのコマンドや敵キャラクタに対して不利に働く操作制御を行うためのコマンド、例えば、
（１）格闘ゲームにおける対戦時の必殺技などの特定の攻撃や防御を行うためのコマンド、
（２）プレーヤキャラクタや味方キャラクタの各種のパラメータの回復を行うためのコマンド、又は
（３）特別なステージ又は特別なマップの提供や特別なアイテムの取得を行うコマンド
などをユーザに識別させるための識別表示を実行する。
【０２７０】
なお、仮想コントローラ制御部２１２は、上記のような所与の条件を具備したタイミングで上述のコマンドなどの特定の処理に関する処理が実行可能な複数の操作コマンド用マーカがある場合には、当該複数の操作コマンド用マーカのそれぞれを識別表示しつつ、それらを関連付けて表示してもよい。
【０２７１】
この場合には、仮想コントローラ制御部２１２は、複数の実行可能な操作コマンド用マーカを線で結ぶ、共通な色で表示する、共通な表示（マークその他）を含ませるなどそれらを関連付けて表示する。このような構成により、ユーザの誤操作を防止するとともに、ユーザの視認性及び当該ユーザの操作性を向上させることができるようになっている。
【０２７２】
［４．２．４］その他の処理
次に、本実施形態の操作コマンド用マーカに関する仮想コントローラ制御部２１２におけるその他の処理について説明する。
【０２７３】
本実施形態においては、上述のように、スライド操作入力における指示位置の近接位置に操作コマンド用マーカを表示しているが、仮想コントローラ制御部２１２は、当該近接位置に操作コマンド用マーカを表示した後にさらに現指示位置に近付け、当該操作コマンド用マーカを最終的に現指示位置（すなわち、タッチ操作入力が実行されている位置）に接触させる表示制御を実行してもよい。
【０２７４】
この場合には、操作コマンド用マーカには、タッチ操作入力が実行されるので、操作制御部２１３は、操作コマンド用マーカに対応する操作コマンドを発動する。
【０２７５】
また、仮想コントローラ制御部２１２は、スライド操作入力が終了してタッチ検出処理部２１１によって無接触状態が検出された場合には、操作コマンド用マーカを、そのタイミングで表示されている位置で表示する、事前に設定された位置に戻って表示する、非表示にする、又は、元の形状に戻って事前に設定された位置に表示するなどの該当する各処理を実行する。
【０２７６】
［５］本実施形態における動作
次に、図１８を用いて本実施形態の端末装置２０によって実行されるスライド操作入力時の操作コマンド用マーカの表示制御処理の動作について説明する。なお、図１８は、本実施形態の端末装置２０によって実行されるスライド操作入力時の操作コマンド用マーカの表示制御処理の動作を示すフローチャートである。
【０２７７】
本動作は、サーバ装置１０と連動してＲＰＧなどのゲームが実行されており、既にスライド操作入力が開始されているものとし、スライド操作に基づく操作コマンド用マーカの追従処理は実行しないものとする。
【０２７８】
また、本動作においては、移動表示制御処理を用いて説明するとともに、本動作は、各操作コマンド用マーカとそれぞれ実施される。
【０２７９】
まず、仮想コントローラ制御部２１２は、スライド操作入力を開始すると（ステップＳ１０１）、該当する操作コマンド用マーカとにおいて所与の条件を具備したか否かを判定する（ステップＳ１０２）。例えば、仮想コントローラ制御部２１２は、操作コマンド用マーカの表示位置とスライド操作入力の指示位置との位置関係が一定の距離になったか否かを判定する。
【０２８０】
このとき、仮想コントローラ制御部２１２は、該当する操作コマンド用マーカにおいても所与の条件を具備していないと判定した場合には、スライド操作入力が終了して無接触状態となったか否かを判定し（ステップＳ１０３）、無接触状態でないと判定した場合には、ステップＳ１０２の処理に戻るとともに、当該無接触状態であると判定した場合には、本動作を終了させる。
【０２８１】
一方、仮想コントローラ制御部２１２は、操作コマンド用マーカと所与の条件を具備したと判定した場合には、該当する操作コマンド用マーカをスライド操作入力における現指示位置の近接位置を設定し（ステップＳ１０４）、設定した近接位置に向けて操作コマンド用マーカを移動させる（ステップＳ１０５）。
【０２８２】
次いで、仮想コントローラ制御部２１２は、タッチ検出処理部２１１によって新たなスライド操作入力における現指示位置が検出されたか否かを判定する（ステップＳ１０６）。このとき、仮想コントローラ制御部２１２は、新たなスライド操作入力における現指示位置が検出されたと判定した場合には、ステップＳ１０４の処理に戻るとともに、新たなスライド操作入力における現指示位置が検出されたと判定されなかった場合には、ステップＳ１０７の処理に移行する。
【０２８３】
次いで、仮想コントローラ制御部２１２は、移動している操作コマンド用マーカが設定した近接位置に到達したか否かを判定する（ステップＳ１０７）。このとき、仮想コントローラ制御部２１２は、移動している操作コマンド用マーカが設定した近接位置に到達したと判定した場合には、ステップＳ１０２の処理に移行し、移動している操作コマンド用マーカが設定した近接位置に到達していないと判定した場合には、ステップＳ１０８の処理に移行する。
【０２８４】
次いで、仮想コントローラ制御部２１２は、再度、スライド操作入力が終了して無接触状態となったか否かを判定し（ステップＳ１０８）、無接触状態でないと判定した場合には、ステップＳ１０６の処理に戻り、当該無接触状態であると判定した場合には、本動作を終了させる。
【０２８５】
［６］その他
本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０２８６】
本実施形態では、ＲＰＧのゲームの操作入力として説明しているが、対戦型ゲーム又はシミュレーションゲームなどの他のゲームにおいても用いることがきる。
【０２８７】
また、ゲームに限らず、ユーザインタフェースとしてタッチ操作入力及びスライド操作入力を用いるものであれば適用可能である。
【０２８８】
また、本実施形態は、一のサーバ装置１０によって各ゲームを端末装置２０に提供してもよいし、複数のサーバ装置１０を連動させてサーバシステムを構築し、各ゲームを端末装置に提供してもよい。
【０２８９】
本発明は、実施形態で説明した構成と実質的に同一の構成（例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成）を含む。また、本発明は、実施形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施形態で説明した構成に公知技術を付加した構成を含む。
【０２９０】
上記のように、本発明の実施形態について詳細に説明したが、本発明の新規事項及び効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。したがって、このような変形例はすべて本発明の範囲に含まれるものとする。
【符号の説明】
【０２９１】
１０  …  サーバ装置
２０  …  端末装置
２００  …  処理部
１０１  …  通信制御部
１０２  …  Ｗｅｂ処理部
１０３  …ゲーム演算実行部
１０４  …ゲーム管理部
１２０  …  入力部
１３０  …  表示部
１４０  …  記憶部
１４２  …  主記憶部
１４４  …  ゲーム情報
１４６  …  ユーザ情報
１４８  …  自動演算情報
１８０  …  情報記憶媒体
１９６  …  通信部
２００  …  処理部
２１０  …  オブジェクト空間設定部
２１１  …  タッチ検出処理部
２１２  …  仮想コントローラ制御部
２１３  …  操作制御部
２１４  …  移動処理部
２１５  …  ゲーム演算部
２１６  …  仮想カメラ制御部
２２０  …  描画部
２３０  …  音処理部
２７０  …  記憶部
２７１  …  主記憶部
２７２  …  画像バッファ
２６０  …  入力部
２６２  …  検出部
２８０  …  情報記憶媒体
２９０  …  表示部
２９１  …  音出力部
【図１】
0006387299.tif 000002
【図２】
0006387299.tif 000003
【図３】
0006387299.tif 000004
【図４】
0006387299.tif 000005
【図５】
0006387299.tif 000006
【図６】
0006387299.tif 000007
【図７】
0006387299.tif 000008
【図８】
0006387299.tif 000009
【図９】
0006387299.tif 000010
【図１０】
0006387299.tif 000011
【図１１】
0006387299.tif 000012
【図１２】
0006387299.tif 000013
【図１３】
0006387299.tif 000014
【図１４】
0006387299.tif 000015
【図１５】
0006387299.tif 000016
【図１６】
0006387299.tif 000017
【図１７】
0006387299.tif 000018
【図１８】
0006387299.tif 000019