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