JP6449647B2 - 入力処理装置及びプログラム - Google Patents

入力処理装置及びプログラム Download PDF

Info

Publication number
JP6449647B2
JP6449647B2 JP2014266680A JP2014266680A JP6449647B2 JP 6449647 B2 JP6449647 B2 JP 6449647B2 JP 2014266680 A JP2014266680 A JP 2014266680A JP 2014266680 A JP2014266680 A JP 2014266680A JP 6449647 B2 JP6449647 B2 JP 6449647B2
Authority
JP
Japan
Prior art keywords
operation input
slide operation
marker
display
starting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014266680A
Other languages
English (en)
Other versions
JP2016126514A (ja
Inventor
卓 枡谷
卓 枡谷
有也 勝谷
有也 勝谷
啓太 飯塚
啓太 飯塚
顕 桑原
顕 桑原
恩田 明生
明生 恩田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Bandai Namco Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Bandai Namco Entertainment Inc filed Critical Namco Ltd
Priority to JP2014266680A priority Critical patent/JP6449647B2/ja
Publication of JP2016126514A publication Critical patent/JP2016126514A/ja
Application granted granted Critical
Publication of JP6449647B2 publication Critical patent/JP6449647B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、入力処理装置及びプログラムなどに関する。
近年、タブレット型情報通信端末装置又はスマートフォンなどの情報通信端末装置(以下、「通信端末装置」という)の多機能化、機能向上及びその普及に伴い、これらの携帯端末装置においてもゲームを実行する機会が増えている。そして、これらの携帯端末装置の他にもゲームを実行する携帯用端末装置も種々提供されている。
このような端末装置においては、キーボードやテンキーなどによるコントローラを用いて操作するものの他に、表示画面にタッチパネルを備え、実行されたゲームを視認する画面にポインティングデバイスによって又は直接ユーザがタッチすることによって操作するものも登場してきている(以下、このような操作を「タッチ操作」という。)。
また、最近では、パーソナルコンピュータなどの端末装置だけでなく、種々のデバイスにおいても、表示画面へのタッチ操作を行うユーザインタフェースを有するものも多く登場してきており、ゲームを実行する装置においても、キーボードやテンキーなど従来のインターフェースを補完するだけでなく、それらに置き換わるインターフェースとして用いられるようになってきている。
一方、このようなタッチ操作によってゲームを実行するゲーム装置及びそのプログラムとしては、特許文献1及び2に記載のものが知られている。
例えば、特許文献1に記載のゲーム装置又はそのプログラムは、表示画面にタッチを行うと当該タッチした点を基準座標として設定し、その後に当該タッチ操作をスライドすることによって当該タッチが継続する間に、基準座標から当該操作(以下、「スライド操作」ともいう。)が継続されている際に操作検出されている座標(すなわち、指示座標)への方向、又は、当該基準座標から指示座標の距離に応じてゲームを制御する構成を有している。そして、このゲーム装置又はそのプログラムは、ユーザに視認させて操作性を向上させるために、基準座標の位置を画像として表示させるようになっている。
また、スライド操作を行うゲーム装置においては、スライド操作の起点がスライド操作に従って追従するものも知られている(例えば、特許文献2)。
特許3734820号公報 特許5487262号公報
しかしながら、上記特許文献2に記載のゲーム装置にあっては、単にスライド操作が実行されると起点が最新のタッチ位置に追従するだけであり、起点が動くタイミングその他の条件については言及されていない。そのため、上記特許文献2に記載のゲーム装置にあっては、複雑なスライド操作が実行された場合には、却ってユーザの操作を混乱させることにもなる。
本発明は、上記課題を解決するためになされたものであり、その目的は、所与の条件を具備した場合に、スライド操作に伴って起点位置の移動を開始させ、リアルタイムに操作を行うこと、又は、瞬時の判断の下に操作を行うことが重要な処理に対するスライド操作であっても的確な入力を行うことが可能なプログラム及び入力処理装置などを提供することにある。
(1)上記課題を解決するため、本発明のプログラムは、
所与の画面が表示されるタッチパネルへのスライド操作入力を受け付けるためのプログラムであって、
前記画面へのタッチ操作入力されていない状態からタッチ操作入力された状態への状態変化及び当該状態変化が実行された検出位置を検出する第1の検出処理を行うとともに、当該状態変化の検出後であって当該状態変化を検出した際のタッチ操作入力が継続されてスライド操作入力されている場合に、当該スライド操作入力の位置を指示位置として検出する第2の検出処理を行うタッチ操作入力検出処理手段、
(A)前記状態変化の検出位置に関連付けられた所定位置、又は、所与のタイミングにおける前記スライド操作入力の位置に関連付けられた所定位置である起点位置に、前記スライド操作入力の基準となる起点操作入力オブジェクトマーカを表示する処理、及び (B)前記起点位置と前記スライド操作入力によって変化する指示位置の現在位置を示す現指示位置に関連付けられた所定位置との間にスライド操作入力方向を視認させるためのスライド操作入力オブジェクトマーカを表示する処理を実行する操作入力オブジェクト表示制御手段、及び、
前記スライド操作入力中に、前記起点位置と前記現指示位置との位置的変位が所与の条件を具備した場合に、前記起点位置の移動を開始させるとともに、当該所与の条件を具備した後に検出される前記現指示位置に応じて当該起点位置を移動させる起点制御手段、
としてコンピュータを機能させ、
前記操作入力オブジェクト表示制御手段が、
前記起点位置の移動に応じて前記起点操作入力オブジェクトマーカを表示する、構成を有している。
また、本発明は、上記各手段を有する入力処理装置に関する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるためのプログラムを記憶した情報記憶媒体に関する。
この構成により、本発明のプログラムは、例えば、スライド操作入力の操作速度(スライドする際の速度)が速くなった場合又はスライド操作入力の操作距離が長くなった場合など所与の条件を具備した場合に、スライド操作入力に伴って起点位置の移動を開始させ、その表示を行うことができる。
その一方、本発明のプログラムは、スライド操作入力が短い場合や操作速度が遅い場合など、所与の条件を具備しない場合には、起点位置を移動させずに、スライド操作入力を行うことになる。しかしながら、例えば、スライド操作入力が短い場合に起点位置が追従すれば、スライド操作入力における遊び部分がなくなり、誤操作を生じさせるとともに、スライド操作入力の操作速度が遅い場合には、通常緻密な操作が要求され、その場合に起点位置がスライド操作入力に伴って移動すると(起点位置が「ぶれる」と)、集中して行っているスライド操作入力を邪魔することにもなりかねない。
なお、「タッチ操作入力」及び「スライド操作入力」には、
(1)ユーザの指によるタッチパネル上への直接的なタッチ操作又はスライド操作、
(2)ポインティングデバイスなどのデバイスを介して実行される間接的なタッチパネル
上へのタッチ操作又はスライド操作、及び、
(3)タッチパネルに直接的及び間接的にタッチ操作又はスライド操作することによって操作入力を検出せずに、タッチパネル12上への擬似的な操作(接触及び非接触を含む)を検出することによって認識するタッチ操作又はスライド操作、
も含まれる。
特に、擬似的なタッチ操作又はスライド操作とは、例えば、
(3A)赤外線などの光ビームをタッチパネル面と平行に当該タッチパネル面に近接した位置で照射し、当該タッチパネルの一端部に縦横方向に一定間隔に形成される複数の照射部と、各照射部と対を構成し、当該各照射部に対向するタッチパネルの他端部に設けられ、各照射された光ビームをそれぞれ受信する複数のセンサとによって、タッチパネルに接触又は近接した際に光ビームが遮断された縦横の座標を検出し、当該検出した座標に基づいて認識するタッチ操作又はスライド操作、及び、
(3B)タッチパネルの表示面を撮像するカメラを設け、当該カメラによってユーザがタッチパネルに接触又は近接した位置座標を検出し、当該検出した位置座標に基づいて認識するタッチ操作又はスライド操作、
などタッチパネルとは別形状を有する検出手段を用いて実際にタッチパネルに接触することによって又は近接させることを検出することによって認識するタッチ操作又はスライド操作を含む。
本発明のプログラムは、上述のように起点を移動させてかつ移動している起点を表示することによって、複雑な入力、緻密な入力又は慎重にスライド操作入力を行う際に、そのサポートを行うことができるとともに、当該切り換えた操作方向を容易に判断することができるので、ゲームなどのリアルタイムに操作を行うこと又は瞬時の判断の下に操作を行うことが重要な処理に対するスライド操作入力であっても的確な入力を行うことができる。
(2)また、本発明のプログラムは、
前記起点制御手段が、
前記移動中の起点位置と現指示位置との離隔距離を検出し、当該検出した離隔距離と予め離隔距離毎に前記起点位置の移動中の条件が規定された移動条件情報とに基づいて、移動中の前記起点位置の移動制御を行う、構成を有している。
この構成により、本発明のプログラムは、例えば、起点位置の移動中に当該起点位置と現指示位置との離隔距離が変化した場合に、移動条件情報に規定された該当する離隔距離に対応する起点位置の移動速度、起点位置の移動可能距離、停止条件、現指示位置からの最大離隔距離に基づいて、起点位置を移動させることができる。
したがって、本発明のプログラムは、スライド操作入力を容易にするために、移動中の起点位置を当該スライド操作に的確に追従させることができる。
例えば、本発明のプログラムは、スライド操作入力の移動速度が速く実行された場合には、追従開始時その他のときよりも、離隔距離を長くし、スライド操作入力の移動速度が遅く実行された場合には、追従開始時その他のときよりも、離隔距離を短くし、スライド操作を視覚的に示すこともできる。
また、本発明のプログラムは、例えば、スライド操作入力中に、スライド操作方向が±90度以上になった場合や±180度以上になった場合などスライド操作中に大規模な方向転換が行われるような場合には、起点マーカの移動を停止させることによって、却ってスライド操作入力を容易にし、かつ、ユーザの視認性を向上させることができる。
したがって、本発明のプログラムは、起点位置と現指示位置との離隔距離の違いやスライド操作入力の操作速度の違い及びスライド操作入力の操作軌跡に応じて起点位置の移動を適切に制御することができる。
なお、起点位置の移動可能距離とは、起点位置の移動開始後最大限移動することができる距離を示し、停止条件とは、スライド操作方向が切り替わった場合(例えば±90度以上になった場合)に、移動している起点位置を停止させるか否かを定める条件を示し、現指示位置からの最大離隔距離とは、スライド操作入力の継続中に当該距離よりは起点位置が現指示位置から離隔しない距離を示す。
また、離隔距離毎に規定された移動条件情報とは、ある程度の幅のある離隔距離毎、すなわち、離隔距離範囲毎に規定されている移動条件情報を含む。
(3)また、本発明のプログラムは、
前記起点位置に対応する前記タッチ操作入力された画面上の位置に基づいて前記所与の条件が異なる、構成を有している。
この構成により、本発明のプログラムは、例えば、画面の右隅や左隅など画面中心ではなく、少なくともいずれか一方の画面端部に近い位置が起点位置となるなど、スライド操作入力を行うことが可能な領域(の広狭)が変化した場合であっても、その位置に応じて起点位置と現指示位置の離隔距離を変化させることがでる。
例えば、本発明のプログラムは、例えば、(A)スライド操作入力におけるスライド操作方向への操作可能領域が狭い場合には、
[A1]通常のタイミングよりも早めに起点位置の移動を開始させ、又は、
[A2]起点位置と現指示位置との離隔距離を短くして当該起点位置を移動させる、
ことができる。
また、本発明のプログラムは、例えば、(B)スライド操作入力におけるスライド操作方向への操作可能領域が広い場合には、
[B1]通常のタイミングよりも遅めに起点位置の移動を開始させ、
[B2]起点位置と現指示位置の離隔距離を長くして当該起点位置を移動させる、
ことができる。
したがって、本発明のプログラムは、起点を適切な位置に配置及びその移動を実行させることができるので、スライド操作入力の操作性を向上させることができる。
(4)また、本発明のプログラムは、
前記タッチ入力検出処理手段が、
前記スライド操作入力の現指示位置に基づいて前記スライド操作入力を行う際のスライド操作量を算出し、
前記起点制御手段が、
前記算出されたスライド操作量が所与の条件を具備した場合には、前記移動開始した起点位置を予め定められた一定の速度によって移動させる、構成を有している。
この構成により、本発明のプログラムは、急な速度によってスライド操作入力が実行された場合であっても、起点を適切に移動させることができる。
例えば、スライド操作入力の入力ミスや起点移動を移動させる必要がない操作、又は、
敵キャラクタと戦闘中の敵のボスキャラクタの登場などのゲーム中の急な状況変化(すなわち、特殊イベントの発生)によって、急な速度によるスライド操作入力が実行された場合には、当該スライド操作入力に応じて起点を移動させるよりは、通常通り移動させる方がその後のスライド操作入力を的確に行う上で必要である。
したがって、本発明のプログラムは、急な速度によってスライド操作入力が実行された場合には、このような状況であると判断して一定の速度で起点を移動させることによって、的確なスライド操作入力を実現することができる。
なお、「スライド操作量」には、スライド操作入力における起点位置から指示位置までの長さを示す操作量及びスライド操作入力における単位時間当たりの変化(指示位置に基づく入力速度又は入力ベクトル)が含まれる。
(5)また、本発明のプログラムは、
前記タッチ操作入力検出処理手段が
前記起点位置と前記現指示位置、及び、当該現指示位置と当該現指示位置とは異なる同一のスライド操作入力中の指示位置のいずれかに基づいて、前記スライド操作入力のスライド操作入力方向を検出し、
前記起点制御手段が、
前記スライド操作入力中に、前記検出されたスライド操作入力方向に沿って前記起点位置を移動させる、構成を有している。
この構成により、本発明のプログラムは、スライド操作入力中に、起点位置を、スライド操作入力が実行される方向に追従させることができるので、スライド操作入力が長くなった場合(例えば単に距離長さが長い場合やそもそも一連のスライド操作が長続きするような場合を含む。)に、又は、複雑なスライド操作入力を行った場合に、スライド操作入力の操作方向を切り換えたとしても、当該起点位置を、スライド操作入力の近傍に配置させることができる。
したがって、本発明のプログラムは、スライド操作入力の操作方向を容易に判断することができる。
なお、「スライド操作入力方向」を検出する際の「起点位置と現指示位置」とは、当該検出する時点の「起点位置」であり、スライド操作入力の最初の起点の位置だけでなく、既に移動している場合の起点の位置を含む。
また、「現指示位置とは異なる同一のスライド操作入力中の指示位置」とは、例えば、一のスライド操作入力中において、現指示位置の検出タイミングよりも過去に検出された指示位置を示す。
(6)また、本発明のプログラムは、
前記起点制御手段が、
前記起点位置と前記現指示位置との位置関係、速度及び前記起点位置から前記現指示位置までの移動ベクトルの大きさの少なくともいずれか一方を維持しつつ、前記起点位置を移動させる、構成を有している。
この構成により、本発明のプログラムは、スライド操作入力中に、
(1)起点位置をスライド操作入力の現指示位置と一定の距離を保持しつつ移動させること、(2)起点位置を現指示位置の移動量と同一の移動量によって移動させること、
(3)当該スライド操作入力においてスライドさせる速度(すなわち、スライド速度)と
同一の速度で移動させること、又は、
(4)(1)〜(3)の2以上を実行させること、
ができるので、スライド操作入力中に常に適した位置に起点を移動させることができる。
(7)また、本発明のプログラムは、
前記タッチ操作入力検出処理手段によって、前記スライド操作入力中に、前記画面へのタッチ操作入力されていない状態を検出した場合には、
前記操作入力オブジェクト表示制御手段が、
前記スライド操作入力オブジェクトマーカ、前記起点操作入力オブジェクトマーカ及び前記現指示位置に関連付けられた所定位置に表示される指示位置オブジェクトマーカの順に表示を終了させる、構成を有している。
この構成により、本発明のプログラムは、前記スライド操作入力中に、前記画面へのタッチ操作入力されていない状態を検出した場合に、スライド操作入力オブジェクトマーカ、起点操作入力オブジェクトマーカ及び指示位置オブジェクトマーカの順に表示を終了させる(すなわち、表示を消す)ことができるので、ユーザに指示位置を認識させることができるとともに、当該指示位置に対比する起点位置もユーザに印象に残すことができる。
したがって、本発明のプログラムは、指示位置を基準に又は当該指示位置及び起点を基準に次の操作を行う場合など、これらの位置を認識させ、又は、印象に残すことによって、その後のユーザの操作を的確に実行することができる。
(8)また、本発明のプログラムは、
前記操作入力オブジェクト表示制御手段が、
所与の表示中断条件を具備した場合に、前記スライド操作入力マーカの表示を中断すること構成を有している。
この構成により、本発明のプログラムは、
(1)画面上又はプログラム上の起点位置の強制的な移動、
(2)ゲームにおけるプレーヤキャラクタや敵キャラクタなどの重要なキャラクタとの干渉、
(3)所定の画像や動画における重要な表示やキーワードなどの重要なコンテンツとの表示との干渉、又は、
(4)プログラム上の重要な演出の表示、
などの所与の表示中断条件を具備した場合に、スライド操作入力マーカの表示を中断することができるので、ゲームの進行などの表示内容を的確に把握すること、及び、それによって適切な操作を行うことができる。
(9)また、本発明のプログラムは、
前記操作入力オブジェクト表示制御手段が、
前記起点位置の移動中に前記起点操作入力オブジェクトマーカの表示処理を実行している場合に、当該起点操作入力オブジェクトマーカの一部又は全部の表示態様を、当該起点位置の停止中の表示態様と異なる態様によって表示する、構成を有している。
この構成により、本発明のプログラムは、起点位置の移動中は、例えば、起点操作入力オブジェクトマーカの表示を透明にし、又は、当該マーカの表示色や形状を変化させるなど、当該起点位置の停止中の表示態様と異なる態様によって表示することができるので、起点位置が移動中であることを明示し、その視認性を向上させることができる。
(10)また、本発明のプログラムは、
前記起点制御手段が、
前記スライド操作入力の操作対象となる操作対象オブジェクトにおける種別、属性及びパラメータの少なくともいずれか一方に基づいて、前記所与の条件を変えて起点位置の移動を開始させる、構成を有している。
この構成により、本発明のプログラムは、例えば、
(1)表示サイズの大きな操作対象オブジェクトや操作範囲が大きい操作対象オブジェクトに対しては移動を開始するまでの離隔距離を長くし、若しくは、移動速度を遅くし、
(2)操作範囲が小さい操作対象オブジェクトや俊敏な操作が必要な操作対象オブジェクトに対しては移動開始するまでの離隔距離を短くし、若しくは、移動速度を速くし、又は、
(3)俊敏性を示すパラメータ(俊敏性の能力)が高い(低い)操作対象オブジェクトに対しては、移動開始するまでの離隔距離を短く(長く)し、若しくは、移動速度を速く(遅く)し、
操作対象オブジェクト毎に適した条件を設定することができるので、当該操作対象オブジェクトに対する操作性を向上させることができる。
なお、「操作対象オブジェクト」には、ゲームなどにおけるプレーヤキャラクタや敵キャラクタなどの重要なキャラクタやオブジェクト空間内でユーザ操作の対象となる各種のオブジェクトが含まれるとともに、所定の画像や動画における重要な表示又はキーワードなどの重要なコンテンツ及び画像を形成するための各種のオブジェクトが含まれる。
また、この「操作対象オブジェクト」には、直接的にユーザによって操作されるオブジェクトの他に、例えば、プレーヤキャラクタに装備されるアイテムなど、直接的に操作されるオブジェクトの動作に基づいて制御されるオブジェクト、すなわち、間接的に操作されるオブジェクトも含まれる。
(11)また、本発明のプログラムは、
前記操作入力オブジェクト表示制御手段が、
前記スライド操作入力の操作対象となる操作対象オブジェクトの操作中の状態に基づいて、前記起点スライド操作入力マーカの一部又は全部の表示態様を変化させる、構成を有している。
この構成により、本発明のプログラムは、例えば、ゲームなどにおける操作対象のキャラクタのヒットポイントが著しく低下している場合、又は、攻撃パラメータが低く発揮可能な能力が低下している場合に、起点位置や可視化されたスライド操作入力を透明化し、又は、その形状や色を変化させるなど、操作対象オブジェクトの操作中の状態に基づいて、起点操作入力オブジェクトマーカやスライド操作入力オブジェクトマーカの一部又は全部の表示態様を変化させことができる。
したがって、本発明のプログラムは、操作対象オブジェクトの操作中の状態を容易に視認させることができる。
(12)上記課題を解決するため、本発明の入力処理装置は、
所与の画面が表示されるタッチパネルへのスライド操作入力を受け付ける入力処理装置であって、
前記画面へのタッチ操作入力されていない状態からタッチ操作入力された状態への状態変化及び当該状態変化が実行された検出位置を検出する第1の検出処理を行うとともに、当該状態変化の検出後であって当該状態変化を検出した際のタッチ操作入力が継続されてスライド操作入力されている場合に、当該スライド操作入力の位置を指示位置として検出する第2の検出処理を行うタッチ操作入力検出処理手段と、
(A)前記状態変化の検出位置に関連付けられた所定位置、又は、所与のタイミングにおける前記スライド操作入力の位置に関連付けられた所定位置である起点位置に、前記スライド操作入力の基準となる起点操作入力オブジェクトマーカを表示する処理、及び、(B)前記起点位置と前記スライド操作入力によって変化する指示位置の現在位置を示す現指示位置に関連付けられた所定位置との間にスライド操作入力方向を視認させるためのスライド操作入力オブジェクトマーカを表示する処理を実行する操作入力オブジェクト表示制御手段と、
前記スライド操作入力中に、前記起点位置と前記現指示位置との位置的変位が所与の条件を具備した場合に、前記起点位置の移動を開始させるとともに、当該所与の条件を具備した後に検出される前記現指示位置に応じて当該起点位置を移動させる起点制御手段と、
を備え、
前記操作入力オブジェクト表示制御手段が、
前記起点位置の移動に応じて前記起点操作入力オブジェクトマーカを表示する、構成を有している。
このような構成により、本発明の入力処理装置は、起点を移動させてかつ移動している起点を表示することによって、複雑な入力、緻密な入力又は慎重にスライド操作入力を行う際に、そのサポートを行うことができるとともに、当該切り換えた操作方向を容易に判断することができるので、ゲームなどのリアルタイムに操作を行うこと又は瞬時の判断の下に操作を行うことが重要な処理に対するスライド操作入力であっても的確な入力を行うことができる。
一実施形態のゲームシステムの構成を示すシステム構成の一例を示す図である。 一実施形態におけるサーバ装置の構成を示す機能ブロック図の一例である。 一実施形態における端末装置の構成を示す機能ブロック図の一例である。 一実施形態における端末装置の外観構成を示す図の一例である。 一実施形態の仮想コントローラの表示制御について説明するための図である。 一実施形態に用いる起点マーカ、スライド操作マーカを含む仮想コントローラの一例である。 一実施形態における仮想コントローラのリセットを説明するための図である。 一実施形態における非干渉処理として仮想コントローラを透明化する透明化処理について説明する図である。 一実施形態における非干渉処理として仮想コントローラを非表示化する非表示化処理について説明する図である。 一実施形態における非干渉処理として仮想コントローラの形状を変形する変形処理について説明する図である。 一実施形態における指示位置マーカを有する仮想コントローラの一例である。 一実施形態における仮想コントローラの起点マーカの追従について説明するための図である。 一実施形態における基準位置に基づく起点マーカの追従開始処理について説明するための図である。 一実施形態の端末装置によって実行される起点マーカの追従処理の動作を示すフローチャートである。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
[1]ゲームシステム
まず、図1を用いて本実施形態のゲームシステム1の概要及び概要構成について説明する。なお、図1は、本実施形態のゲームシステム1の構成を示すシステム構成の一例を示す図である。
本実施形態のゲームシステム1は、図1に示すように、ゲームサービスを提供するサーバ装置10と、端末装置20(例えば、端末装置20A、20B、20C)とが、インターネット(ネットワークの一例)に接続可能に構成されている。
ユーザは、端末装置20からサーバ装置10にアクセスすることにより、インターネットを介してサーバ装置10から送信されてくるゲームをプレイすることができる。さらに、ユーザは端末装置20からサーバ装置10にアクセスすることにより、他のユーザとの間でコミュニケーションを図ることができるようになっている。
サーバ装置10は、インターネットを介して通信接続された端末装置20を用いて、ユーザにゲームをプレイさせるサービスを提供することが可能な情報処理装置である。また、サーバ装置10は、コミュニケーション型のサービスを提供するSNSサーバとして機能してもよい。ここで、SNSサーバとは、複数のユーザ間でコミュニケーションを提供することが可能なサービスを提供する情報処理装置であってもよい。
また、サーバ装置10は、例えば、SNSサーバとして機能する場合には、提供するSNSの動作環境(API(アプリケーションプログラミングインタフェース)、プラットフォーム等)を利用して実行されるソーシャルゲーム(Social Game)をと呼ばれるゲームを提供することができるようになっている。
特に、サーバ装置10は、端末装置20のWebブラウザ上で提供されるゲーム、例えばHTML、FLASH、CGI、PHP、shockwave、Java(登録商標)アプレット、JavaScript(登録商標)など様々な言語で作られたブラウザゲーム(Webブラウザで設置サイトを開くだけで起動するゲーム)を提供することができるようになっている。
なお、ソーシャルゲームとは、既存のオンラインゲームとは違い、専用のクライアントソフトウェアを必要とせず、WebブラウザとSNSのアカウントのみで利用可能なゲームが含まれる。また、サーバ装置10は、ネットワークを介して他のユーザの端末(スマートフォン、パソコン、ゲーム機など)と接続し、オンラインで同時に同じゲーム進行を共有することができるオンラインゲームを提供することが可能な構成を有している。
一方、サーバ装置10は、1つの(装置、プロセッサ)で構成されていてもよいし、複数の(装置、プロセッサ)で構成されていてもよい。
そして、サーバ装置10の記憶領域(後述する記憶部140)に記憶される課金情報、ゲーム情報等の情報を、ネットワーク(イントラネット又はインターネット)を介して接続されたデータベース(広義には記憶装置、メモリ)に記憶するようにしてもよいし、SNSサーバとして機能する場合には、記憶領域に記憶されるユーザ情報146等の情報を、ネットワーク(イントラネット又はインターネット)を介して接続されたデータベース(広義には記憶装置、メモリ)に記憶するようにしてもよい。
具体的には、本実施形態のサーバ装置10は、端末装置20のユーザ(すなわち、ゲームを実行するプレーヤ)の操作に基づく入力情報を受信し、受信した入力情報に基づいてゲーム処理を行うようになっている。そして、サーバ装置10は、ゲーム処理結果を端末
装置20に送信し、端末装置20は、サーバ装置10から受信したゲーム処理結果を端末装置20にユーザに閲覧可能に提供する各種の処理を行うようになっている。
端末装置20は、スマートフォン、携帯電話、PHS、コンピュータ、ゲーム装置、PDA、携帯型ゲーム機等、画像生成装置などの情報処理装置であり、インターネット(WAN)、LANなどのネットワークを介してサーバ装置10に接続可能な装置である。なお、端末装置20とサーバ装置10との通信回線は、有線でもよいし無線でもよい。
また、端末装置20は、Webページ(HTML形式のデータ)を閲覧可能なWebブラウザを備えている。すなわち、端末装置20は、サーバ装置10との通信を行うための通信制御機能、及びサーバ装置10から受信したデータ(Webデータ、HTML形式で作成されたデータなど)を用いて表示制御を行うとともに、ユーザ操作のデータをサーバ装置10に送信するWebブラウザ機能などを備え、ゲーム画面をユーザに提供する各種の処理を実行し、ユーザによってゲームを実行させるようになっている。ただし、端末装置20は、サーバ装置10から提供されたゲーム制御情報を取得して所定のゲーム処理を実行し、ゲーム処理に基づくゲームを実行してもよい。
具体的には、端末装置20は、所定ゲームを行う旨の要求をサーバ装置10に対して行うと、サーバ装置10のゲームサイトに接続され、ゲームが開始される。特に、端末装置20は、必要に応じてAPIを用いることにより、SNSサーバとして機能するサーバ装置10に所定の処理を行わせ、又は、SNSサーバとして機能するサーバ装置10が管理するSNSユーザ情報146を取得させてゲームを実行する構成を有している。
[2]サーバ装置
次に、図2を用いて本実施形態のサーバ装置10について説明する。なお、図2は、本実施形態のサーバ装置10の機能ブロックを示す図である。また、本実施形態のサーバ装置10は図2の構成要素(各部)の一部を省略した構成としてもよい。
サーバ装置10は、管理者その他の入力に用いるための入力部120、所定の表示を行う表示部130、所定の情報が記憶された情報記憶媒体180、端末装置20その他と通信を行う通信部196、主に提供するゲームに関する処理を実行する処理部100、及び、主にゲームに用いる各種のデータを記憶する記憶部140を含む。
入力部120は、システム管理者等がゲームに関する設定やその他必要な設定、データの入力に用いるものである。例えば、本実施形態の入力部120は、マウスやキーボード等によって構成される。
表示部130は、システム管理者用の操作画面を表示するものである。例えば、本実施形態の表示部130は、液晶ディスプレイ等によって構成される。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などによって構成される。
通信部196は、外部(例えば、端末、他のサーバや他のネットワークシステム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどによって構成される。
記憶部140は、処理部100や通信部196などのワーク領域となるもので、その機
能は、RAM(VRAM)などによって構成される。なお、記憶部140に記憶される情報は、データベースで管理してもよい。
また、本実施形態においては、記憶部140には、提供するゲームに関する情報を示すゲーム情報144、提供するゲームに関しプレーヤとしてのユーザに関する情報を示すユーザ情報146、及び、その他ゲーム演算に必要な各種の情報が記憶される。
処理部100は、記憶部140内の主記憶部142をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
例えば、処理部100(プロセッサ)は、情報記憶媒体に記憶されているプログラムに基づいて、サーバ装置10全体の制御を行うとともに、各部間におけるデータ等の受け渡しの制御などの各種の処理を行う。さらに、端末装置20からの要求に応じた各種サービスを提供する処理を行う。
具体的には、本実施形態の処理部100は、通信制御部101、Web処理部102及びゲーム管理部104を少なくとも有している。
通信制御部101は、端末装置20とネットワークを介してデータを送受信する処理を行う。すなわち、サーバ装置10は、通信制御部101によって端末装置20等から受信した情報に基づいて各種処理を行う。
特に、本実施形態の通信制御部101は、ユーザの端末装置20からの要求に基づいて、ゲーム画面を、当該ユーザの端末装置20に送信する処理を行う。
Web処理部102は、Webサーバとして機能する。例えば、Web処理部102は、HTTP(Hypertext Transfer Protocol)等の通信プロトコルを通じて、端末装置20にインストールされているWebブラウザの要求に応じてデータを送信する処理、及び、端末装置20のWebブラウザによって送信されるデータを受信する処理を行う。
なお、本実施形態では、サーバ装置10がSNSサーバとしての機能も備えていている場合を例にとり説明するが、サーバ装置10を、ゲーム用のサーバと、SNS用のサーバと別々に形成してもよい。また、本実施形態のゲームの処理は、サーバ装置10が一部又は全部を行ってもよいし、端末装置20が一部を行ってもよい。
ゲーム管理部104は、端末装置20と連動し、当該端末装置20を介して入力されたプレーヤの操作に基づいて、各プレーヤにおいてロールプレーイングゲーム(RPG)や対戦ゲームに関するゲーム処理を実行するとともに、各ユーザのゲームの進行状況やアイテム管理などの各ユーザにおいて使用するキャラクタ及び各種のアイテムを含むユーザ情報を管理する。
なお、ゲーム管理部104は、ユーザの操作に基づかず、ユーザが設定した各種のデータに基づいて自動的にゲームを実行するための自動演算処理を実行し、端末装置20で再
生するためのデータを生成し、生成したデータを端末装置20に提供してもよい。
[3]端末装置
次に、図3及び図4を用いて本実施形態の端末装置20について説明する。なお、図3は、本実施形態における端末装置の構成を示す機能ブロック図の一例であり、図4は、本実施形態における端末装置の外観構成を示す図の一例である。また、本実施形態の端末装置20は、図3の構成要素(各部)の一部を省略した構成としてもよい。
入力部260は、プレーヤが操作データを入力するためのものであり、その機能は、タッチパネル又はタッチパネルディスプレイなどにより実現できる。すなわち、入力部260は、画像が表示される画面上における2次元の指示位置座標(x,y)を検出可能な検出部262を備えている。例えば、入力部260は、接触検出領域(タッチパネル)における、2次元の接触位置座標(x,y)を検出可能な検出部262を備えている。
本実施形態において、接触位置(基準位置及び指示位置の一例)は、プレーヤの接触操作(直接的な接触及びポインティングデバイスによる間接的な接触も含む)により、接触検出領域から得られる位置情報である。
なお、本実施形態のプレーヤの接触操作には、ユーザの指によるタッチパネル12上への直接的なタッチ操作又はスライド操作、及び、ポインティングデバイスなどのデバイスを介して実行される間接的なタッチパネル12上へのタッチ操作又はスライド操作の他に、タッチパネル12に直接的及び間接的にタッチ操作又はスライド操作をせずに、タッチパネル12上への擬似的なタッチ操作又はスライド操作も含まれる。
例えば、擬似的なタッチ操作又はスライド操作とは、
(1)赤外線などの光ビームをタッチパネル面と平行に当該タッチパネル面に近接した位置で照射し、当該タッチパネル12の一端部に縦横方向に一定間隔に形成される複数の照射部と、各照射部と対を構成し、当該各照射部に対向するタッチパネルの他端部に設けられ、各照射された光ビームをそれぞれ受信する複数のセンサとによって、タッチパネル12に接触又は近接した際に光ビームが遮断された縦横の座標を検出し、当該検出した座標に基づいて認識するタッチ操作又はスライド操作、及び、
(2)タッチパネル12の表示面を撮像するカメラを設け、当該カメラによってユーザがタッチパネル12に接触又は近接した位置座標を検出し、当該検出した位置座標に基づいて認識するタッチ操作又はスライド操作、
などタッチパネル12に実際に接触することによって又は近接させて検出することによって認識するタッチ操作又はスライド操作を含む。
また、接触検出領域に同時に複数の接触位置が検出される場合には、いずれか1つの接触位置(先に検出された接触位置)を用いるようにしてもよいし、複数の接触位置を同時に処理してもよい。
なお、接触検出領域に複数の判定領域が存在する場合には、各判定領域において、1つの接触位置(先に検出された接触位置)を用いるようにしてもよい。また、判定領域とは、取得した接触位置のうち、移動制御など処理部200で処理するための接触位置を予め特定する接触検出領域上の範囲である。
特に、本実施形態では、図4(A)及び(B)に示す表示画面(ディスプレイ)12が、液晶ディスプレイと、プレーヤ(操作者、ユーザ)の接触位置を検出するためのタッチパネルとが積層されたタッチパネルディスプレイとなっている。すなわち、本実施形態では、表示画面12が入力部260として機能するとともに表示部290としても機能する
(以下、「タッチパネル」ともいう。)。
なお、表示画面12への接触操作は、指先を用いて行うようにしてもよいし、タッチペンなどの入力機器を用いて行うようにしてもよい。
また、入力部260は、指示位置以外の操作情報(操作信号)を入力可能なボタンやレバー、キーボード、ステアリング、マイク、加速度センサなどを備えていてもよい。
記憶部270は、処理部200や通信部296などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。そして、本実施形態の記憶部270は、ワーク領域として使用される主記憶部271と、最終的な表示画像等が記憶される画像バッファ272とを含む。なお、これらの一部を省略する構成としてもよい。
特に、本実施形態の記憶部270には、タッチ検出処理部211において取得された基準位置及び指示位置、及び、各種のマーカの画像及び各種の判定処理において用いる条件を示す条件情報などを主記憶部271に記憶することができる。
情報記憶媒体280(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。
また、情報記憶媒体280には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)を記憶することができる。なお、処理部200は、後述するように、情報記憶媒体280に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。
表示部290は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネルディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。
特に、本実施形態では表示部290は、タッチパネルディスプレイを用いることによりプレーヤがゲーム操作を行う入力部260としても機能する。ここでタッチパネルとして、例えば抵抗膜方式(4線式、5線式)、静電容量方式、電磁誘導方式、超音波表面弾性波方式、赤外線走査方式などのタッチパネルを用いることができる。
音出力部292は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
通信部296は、外部(例えばホスト装置や他の端末装置)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお、端末装置20は、サーバ装置10が有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体280や記憶部270に記憶してもよい。このようにプログラムやデータを受信して端末装置20を機能させる場合も本発明の範囲内に含めることができる。
処理部200(プロセッサ)は、入力部260からの入力データやプログラムなどに基
づいて、サーバ装置10と連動して、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。
特に、本実施形態においては、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、プレーヤオブジェクト、敵オブジェクトなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などが含まれる。
また、処理部200は、記憶部270をワーク領域として各種処理を行う。処理部200の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
特に、本実施形態の処理部200は、オブジェクト空間設定部210と、タッチ検出処理部211と、仮想コントローラ制御部212と、操作制御部213と、移動処理部214と、ゲーム演算部215と、仮想カメラ制御部216と、描画部220と、音処理部230とを含む。また、これらの一部を省略する構成としてもよい。
なお、例えば、本実施形態のタッチ検出処理部211は、本発明のタッチ操作入力検出処理手段を構成し、仮想コントローラ制御部212は、操作入力オブジェクト表示制御手段及び起点制御手段を構成する。
オブジェクト空間設定部210は、オブジェクト(プレーヤオブジェクト、移動体、敵オブジェクト)、移動経路、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(スプライト、ビルボード、ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。具体的にはオブジェクト空間設定部210は、オブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y)或いは(X、Y、Z)にその回転角度(X、Y軸回りでの回転角度)或いは(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
ここで、オブジェクト空間とは、いわゆる仮想2次元空間、仮想3次元空間の両方を含む。2次元空間とは、例えば2次元座標(X,Y)においてオブジェクトが配置される空間であり、3次元空間とは、例えば3次元座標(X,Y,Z)においてオブジェクトが配置される空間である。
そしてオブジェクト空間を2次元空間とした場合には、複数のオブジェクトそれぞれについて設定された優先順位に基づいてオブジェクトを配置する。例えば、奥側にあるように見せたいオブジェクト(スプライト)から順にオブジェクトを配置し、手前側にあるように見せたいオブジェクトを重ねて配置する処理を行うことができる。
また、描画サイズが大きなオブジェクトを画像の下方に配置し、描画サイズが小さなオブジェクトを画像の上方に配置すれば、画面の上方に対応するオブジェクト空間が奥側にあるように見せることができ、画面の下方に対応するオブジェクト空間が手前側にあるように見せることができる。
また、オブジェクト空間を3次元空間とした場合には、ワールド座標系にオブジェクトを配置する。
タッチ検出処理部211は、プレーヤが入力部260から入力した入力情報の認識処理
を行う。具体的には、本実施形態のタッチ検出処理部211は、入力部260によって入力された指示位置を取得する。
例えば、タッチ検出処理部211は、プレーヤの接触操作(以下、「タッチ操作」ともいう。)を検出する接触検出領域(タッチパネル)における接触位置(2次元の接触位置座標)を指示位置として取得する。すなわち、タッチ検出処理部211は、プレーヤが指でタッチパネル12にタッチ(以下、「タッチ操作入力」という。)し、そのまま指を移動して最後にタッチパネル12から離す操作(以下、「スライド操作」という。)を行う期間に相当する接触操作期間中(スライド操作期間中)における接触位置(指示位置)を取得する。
特に、タッチ検出処理部211は、
(1)画面へのタッチ操作入力されていない状態(以下、「無接触状態」という。)からタッチ操作入力された状態(以下、「接触状態」という。)への第1の変化(以下、「状態変化」という。)を検出するとともに、当該状態変化が実行された検出位置(以下、「基準位置」ともいう。)を検出する第1の検出処理、及び、
(2)第1の変化の検出後であって当該第1の変化を検出した際(すなわち、無接触状態から接触状態に状態変化した際)のタッチ操作入力が継続されて(すなわち、接触状態が継続されて)スライド操作による入力(以下、「スライド操作入力」という。)が実行されている場合に、当該スライド操作入力の変化(すなわち、指示位置及び当該指示位置の変化)を第2の変化として検出する第2の検出処理、
(3)スライド操作入力中に、画面へのタッチ操作入力がされていない状態(すなわち、スライド操作入力が終了して無接触状態となった場合)を検出する第3の検出処理
を実行する。
また、タッチ検出処理部211は、所定の周期毎に入力された指示位置を取得する。具体的には、所定の周期とはフレーム毎、例えば、1/60秒〜1/120秒程度とすることができる。
なお、本実施形態においては、「基準位置」及び「指示位置」としては、上述のようにタッチ操作入力やスライド操作入力によって検出されたタッチパネル12上の位置だけなく、検出位置から所定の距離離れた位置又はタッチパネル12の隅などの所定のエリアに形成されたエリアなどの特定のタッチパネル12上の位置に関連した所定位置も含む。
仮想コントローラ制御部212は、タッチパネル(表示画面)上に、タッチ操作入力及びスライド操作入力をした際に、最上位層(すなわち、ゲームその他の画像に重畳させてその最上位)に仮想的な操作コントローラを表示し、タッチ操作入力及びスライド操作入力のユーザへのサポートを行うとともに、当該表示された操作コントローラへの操作を検出し、検出した結果を操作制御部213などの他の部材に出力する。
特に、仮想コントローラ制御部212は、
(1)スライド操作入力の起点となる基準位置に起点操作入力オブジェクトマーカ(以下、「起点マーカ」という。)を表示させる表示制御、
(2)基準位置を基準に指示位置の変化に応じてスライド操作入力中のスライド操作方向を視認させるためのスライド操作入力オブジェクトマーカ(以下、「スライド操作マーカ」という。)を表示させる表示制御、
(3)スライド操作入力中の指示位置に、スライド操作マーカとは異なる第2の操作入力オブジェクトマーカ(以下、「指示位置マーカ」という。)を表示させる表示制御、
(4)ユーザの指示(タッチ操作入力及びスライド操作入力)に基づいて表示画面内に配置された所定の操作コマンドを表示する表示制御、及び、
(5)スライド操作入力中に表示された起点マーカをスライド操作に従って追従させ、当該追従している起点マーカを表示する追従表示制御、
を実行する。
また、仮想コントローラ制御部212は、起点マーカ、スライド操作マーカ及び指示位置マーカが表示されるタッチパネル12上の表示エリアと、操作オブジェクトその他のゲームを実行する際に表示されるコンテンツ(以下、「表示コンテンツ」ともいう、)が表示される表示エリアとの干渉状況を判定する干渉状況判定処理を実行し、当該干渉状況が発生する場合には、各マーカの表示を制御して表示コンテンツの視認性を確保する非干渉処理を実行する。
操作制御部213は、タッチ操作入力及びスライド操作入力に基づいて、オブジェクト空間に配置されたプレーヤキャラクタなどの操作対象オブジェクトを制御する。特に、操作制御部213は、仮想コントローラに従って入力された操作指示に基づいて操作対象オブジェクトを制御する。
具体的には、操作制御部213は、
(1)起点マーカが表示されている基準位置を基準に、スライド操作入力によって変化する指示位置に伴って所与の画面内に表示されている操作対象オブジェクト(すなわち、オブジェクト空間に配置されている操作対象オブジェクト)の操作制御、
(2)タッチ操作入力された操作コマンドに基づいて、操作対象オブジェクトその他のオブジェクトやゲームの進行に係わる操作制御、及び、
(3)スライド操作入力における移動量や移動速度など、スライド操作入力における起点位置から指示位置までの長さを示す操作量及び指示位置に基づく入力速度又は入力ベクトルを示すスライド操作入力における単位時間当たりの変化(すなわち、スライド操作入力における操作量(以下、「スライド操作量」ともいう。))を補正する補正処理、
を実行する。
なお、「操作対象オブジェクト」には、ゲームなどにおけるプレーヤキャラクタや敵キャラクタなどの重要なキャラクタやオブジェクト空間内でユーザ操作の対象となる各種のオブジェクトが含まれるとともに、所定の画像や動画における重要な表示又はキーワードなどの重要なコンテンツ及び画像を形成するための各種のオブジェクトが含まれる。
また、この「操作対象オブジェクト」には、直接的に操作するオブジェクトの他に、例えば、プレーヤキャラクタに装備されるアイテムなど、直接的に操作されるオブジェクトの動作に基づいて制御される間接的に操作されるオブジェクトも含まれる。
さらに、上記の操作対象オブジェクト以外のオブジェクト空間に配置されるオブジェクトとしては、例えば、移動経路、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクトが含まれる。
移動処理部214は、オブジェクト空間内におけるオブジェクト(特に、キャラクタオブジェクト、移動体オブジェクト等の操作対象オブジェクト)の移動演算を行う。すなわち、移動処理部214は、操作制御部213の制御の下、仮想コントローラを含み、入力部260によりプレーヤが入力した入力データ又はプログラム(移動アルゴリズム)や各種データ(モーションデータ)などに基づいて、移動体オブジェクトをオブジェクト空間内で移動させ、又は、移動体オブジェクトの動作(モーション、アニメーション)を制御するための処理を行う。
具体的には、本実施形態の移動処理部214は、オブジェクトの移動情報(移動方向、
移動量、移動速度、位置、回転角度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム毎に順次求めるシミュレーション処理を行う。ここでフレームとは、オブジェクトの移動処理、動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。そして、本実施形態では、フレームレートは、固定としてもよいし、処理負荷に応じて可変としてもよい。
特に、本実施形態の移動処理部214は、操作制御部213の制御の下、仮想コントローラによって入力されたスライド操作量(補正量も含む)、スライド操作入力によって定まるスライド操作の方向及び操作コマンドに基づいて、オブジェクトを移動させる処理を行う。
具体的には、移動処理部214は、
(1)スライド操作入力における操作方向に操作対象オブジェクトを移動させる処理、
(2)スライド操作入力におけるスライド操作量に応じて操作対象オブジェクトを移動させる処理、及び、
(3)操作コマンドに応じて操作対象オブジェクトを移動させる処理、
を実行する。
なお、移動処理部214は、3次元のオブジェクト空間において入力方向に基づいてオブジェクトを移動させる処理を行ってもよい。例えば、予め、入力方向毎に移動方向を対応づけ、入力方向に対応する移動方向にオブジェクトを移動させる。
ゲーム演算部215は、種々のゲーム演算処理を行う。例えば、ゲーム演算部215は、マップに基づくオブジェクト空間の形成、RPGの場合には、ユーザの操作に応じて予め設定されたシナリオに基づくゲームの進行、プレーヤオブジェクト(操作対象オブジェクト)と敵オブジェクトやその他のオブジェクト(操作非対象オブジェクト)との対戦、及び、当該対戦時のパラメータ管理などのゲームを実行する上で必要な演算処理を行う。
なお、ゲーム演算部215は、サーバ装置10と連動して実行されるが、その一部又は全部がサーバ装置10に形成されていてもよい。
仮想カメラ制御部216は、所与の視点から見える画像であって、奥行きがあるように見える画像を生成する。この場合に、仮想カメラ制御部が、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。
例えば、仮想カメラによりオブジェクト(例えば、キャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。
この場合には、移動処理部214で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。また、この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
一方、仮想カメラ制御部は、上述のように、起点マーカ、スライド操作マーカ及び指示位置マーカが表示されるタッチパネル12上の表示エリアや操作エリアと、操作オブジェクトその他のゲームを実行する際に表示される表示コンテンツが表示される表示エリアとの干渉が発生する場合には、仮想カメラの位置、向き、及び、画角の少なくともいずれか一方を制御し、操作対象オブジェクトの視認性を確保するカメラ制御を実行する。
描画部220は、処理部200で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部(ディスプレイ)290に出力する。描画部220が生成する画像は、いわゆる2次元画像であってもよいし、いわゆる3次元画像であってもよい。特に、描画部220は、オブジェクト空間における仮想カメラから見える画像であって、画面上に表示する画像を生成する。
ここで2次元画像を生成する場合には、描画部220は、設定された優先度が低いオブジェクトから順に描画して、オブジェクト同士が重なる場合には、優先度の高いオブジェクトを上書きして描画する。
また、3次元画像を生成する場合には、本実施形態の描画部220は、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
また、頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。
ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を画像バッファ272(フレームバッファ、ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。
これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
なお、描画部220が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
そして、描画部220は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理を行う。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)を記憶部270に記憶する。
テクスチャマッピングでは、記憶部270のテクスチャ記憶部に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理を行う。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部270のテクスチャ記憶部からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出し、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
なお、本実施形態では、オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、マッピングされるテクスチャの色分布(テクセルパターン)を動的に変化させることができる。
また、この場合において、色分布(ピクセルパターン)が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよい。
隠面消去処理では、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行う。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照するとともに、当該参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
αブレンディング(α合成)では、描画部220は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)を行う。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
特に、本実施形態での描画部220は、接触検出領域に対応する表示領域に表示させる画像を生成してもよい。表示領域に表示させる画像とは、例えばオブジェクトを含む画像でもよい。
音処理部230は、処理部200で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部292に出力する。
なお、本実施形態の端末装置は、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム
画像やゲーム音を、1つの端末装置20を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末装置20又はサーバ装置10を用いて分散処理により生成してもよい。
[4]本実施形態の手法
[4.1]仮想コントローラの表示制御
まずは、本実施形態の手法においては、その基準となる仮想コントローラの表示制御について説明する。
[4.1.1]概要
次に、図5を用いて本実施形態の手法(仮想コントローラの表示制御)の概要について説明する。なお、図5は、本実施形態の仮想コントローラの表示制御について説明するための図である。
本実施形態の端末装置20は、所与の画面が表示されるタッチパネル12へのスライド操作入力を受け付け、受け付けたスライド操作入力を視覚的にユーザに伝達し、操作を的確に行う際に必要な操作コマンド用のマーカやスライド操作マーカを含む仮想コントローラ(すなわち、操作入力オブジェクト)を、画面(タッチパネル12)上に表示し、ユーザの操作性を向上させることができるようになっている。
特に、端末装置20は、プレーヤキャラクタ、プレーヤキャラクタに味方する味方キャラクタ、及び、プレーヤキャラクタと戦闘相手となる敵キャラクタなど、ゲームを実行する上(すなわち、コンテンツを表示する上)で重要な表示コンテンツの表示エリア(以下、「コンテンツ表示エリア」という。)DCAと、仮想コントローラが表示されている表示エリア(以下、「コントローラ表示エリア」という。)CRAと、がタッチパネル12の表示上、干渉する場合には、表示コンテンツの視認性を確保するため、仮想コントローラを透明化する透明化処理、当該仮想コントローラを非表示化する非表示処理、又は、当該仮想コントローラを変形する変形処理などの非干渉処理を実行し、仮想コントローラの表示制御を行うようになっている。
このようにタッチパネル上に仮想コントローラを表示する場合には、通常、タッチ操作入力やスライド操作入力が実行されたタッチパネル12上の位置に表示されることになる。したがって、図5(A)に示すように、当該仮想コントローラが表示されたエリアCRAに、プレーヤキャラクタPC、及び、プレーヤキャラクタと戦闘相手となる敵キャラクタECなど、ゲームを実行する上で重要な表示コンテンツ上に表示されることになると、プレーヤキャラクタPCなどの動きを視認すること、又は、操作しているプレーヤキャラクタPCの周辺の状況を視認することなどができなくなる。そして、操作性を向上させる仮想コントローラの表示がゲームの進行を妨げ、又は、ユーザに不利益を享受させることになる場合もある。なお、図5(A)は、敵キャラクタECが仮想コントローラと干渉していることを例示している。
そこで、本実施形態の端末装置20は、図5(B)に示すように、コントローラ表示エリアCRAと、表示コンテンツエリアDCAとの干渉状況を判定する干渉状況判定処理を実行し、当該干渉状況が発生する場合には、スライド操作マーカの表示を制御して表示コンテンツの視認性を確保する非干渉処理(図5(B)は透明化処理)を行うようになっている。
特に、端末装置20は、
(1)無接触状態から接触状態への第1の変化を検出する第1の検出処理を行うとともに、当該第1の変化の検出後であって当該第1の変化を検出した際のタッチ操作入力が継続
されてスライド操作入力されている場合に、当該スライド操作入力の変化を第2の変化として検出し、
(2)第1の変化が検出された場合には、検出された基準位置(又はそれに関連付けられた所定位置)に仮想コントローラの一部を構成する起点マーカを表示する処理を実行し、第2の変化の検出に伴って、起点マーカの表示位置と、スライド操作入力によって変化するタッチ操作入力の現在の指示位置(以下、「現指示位置(又は、それに関連付けられた所定位置)」という。)と、の間にスライド操作方向を視認させるための仮想コントローラの一部を構成するスライド操作マーカを表示制御する処理を実行し、
(3)スライド操作マーカの表示エリアと、表示コンテンツの表示エリアと、の干渉状況を判定し、
(4)干渉状況が発生する場合には、仮想コントローラ(具体的には、スライド操作マーカ)の表示を制御して表示コンテンツの視認性を確保する非干渉処理を行う、
構成を有している。
また、この構成により、端末装置20は、表示コンテンツの視認性を確保する制御を行うことができるので、スライド操作の表示が制限されたとしても、ゲームの進行などの表示内容を的確に把握すること、及び、それによって適切な操作を行うことができるようになっている。
なお、「非干渉処理」には、スライド操作入力オブジェクトマーカの一部又は全部を透明化し、又は、半透明化する透明化処理、一部又は全体を非表示化する非表示処理及び一部又は全部の形状を変形する変形処理などが含まれる。
また、本実施形態においては、起点マーカやスライド操作マーカを表示する際に、無接触状態を検出した際の位置である基準位置を用いているが、当該基準位置に代えて当該基準位置に関連付けられた所定位置、例えば、検出位置から所定の距離離れた位置又はタッチパネルの隅などの所定のエリアに形成されたエリアなど特定の表示位置を基準位置として用いてもよい。
[4.1.2]仮想コントローラ
次に、図6及び図7を用いて本実施形態に用いる仮想コントローラについて説明する。なお、図6は、本実施形態に用いる起点マーカ、スライド操作マーカを含む仮想コントローラの一例であり、図7は、本実施形態における仮想コントローラのリセットを説明するための図である。
(仮想コントローラの表示処理)
仮想コントローラ制御部212は、図6(A)に示すように、第1の変化(すなわち、無接触状態から接触状態への状態変化)が検出された場合には、検出位置(基準位置)にスライド操作入力の起点となる起点マーカを表示する処理を実行する。
また、仮想コントローラ制御部212は、図6(B)に示すように、第2の変化(すなわち、スライド操作入力の指示位置の変化)の検出に伴って、起点マーカの表示位置と、スライド操作入力によって変化するタッチ操作入力の現在の指示位置と、の間にスライド操作方向を視認させるためのスライド操作マーカを表示制御する処理を実行する。
そして、仮想コントローラ制御部212は、スライド操作入力中においては、当該スライド操作入力に応じて(具体的には、変化する指示位置に応じて)スライド操作マーカを表示制御する。すなわち、仮想コントローラ制御部212は、スライド操作入力中においては、スライド操作入力によってなぞったタッチパネル12上の軌跡にスライド操作マーカを表示制御する。
なお、本実施形態においては、長時間にスライド操作入力が継続していると、タッチパネル12上がスライド操作マーカで埋まってしまうため、スライド操作中であっても、表示から所定の時間経過後のスライド操作マーカの部分を画面から順次削除してもよい。
一方、仮想コントローラ制御部212は、図7(A)及び(B)に示すように、スライド操作入力が終了して無接触状態が検出された場合には、起点マーカ及びスライド操作マーカを含む仮想コントローラの表示を終了して画面から削除する(リセットする)。このとき、仮想コントローラ制御部212は、主記憶部271に記憶されている基準位置をクリアする。
[4.1.3]干渉状況判定処理
次に、本実施形態において実行される干渉状況判定処理について説明する。
仮想コントローラ制御部212は、起点マーカ、スライド操作マーカ及び指示位置マーカが表示されるタッチパネル12上のコントローラ表示エリアと、操作オブジェクトなどの表示コンテンツとが表示されるコンテンツ表示エリアとの干渉状況を判定する干渉状況判定処理を実行する。
特に、本実施形態においては、表示コンテンツとしては、プレーヤキャラクタ、味方キャラクタ及び敵キャラクタなどのキャラクタオブジェクト、操作コマンドを表示するための表示用オブジェクト、自動車、船又は武器などのアイテム用オブジェクトが含まれる。
また、コンテンツ表示エリアは、対象となるオブジェクトが表示される領域だけなく、当該オブジェクトが仮想コントローラの操作によって移動することが予測される範囲も含む。
そして、仮想コントローラ制御部212は、図5(A)及び(B)に示すように、コントローラ表示エリアの一部又は全部がコンテンツ表示エリアの一部又は全部に重畳してタッチパネル12上に表示されるか否かを判定することによって干渉状況を判定する。
具体的には、仮想コントローラ制御部212は、仮想カメラ制御部216から、操作オブジェクトのタッチパネル12の画面上の表示座標を示すコンテンツ表示エリアの情報を取得し、スライド操作入力に基づいて、起点マーカ、スライド操作マーカ及び指示位置マーカが表示されるタッチパネル12上の座標を示すコントローラ表示エリアと比較することによって干渉状況を判定する。
特に、仮想コントローラ制御部212は、仮想カメラから見える3次元のオブジェクト空間の画像を生成する際に、仮想カメラ制御部216から出力された情報であって、操作オブジェクト(当該操作オブジェクトの移動が予測される範囲を含む)におけるオブジェクト空間の座標(例えば、3次元空間座標)からタッチパネル12上の座標(すなわち、2次元座標)に座標変換された際の座標領域の情報を、コンテンツ表示エリアの情報として、取得する。
そして、仮想コントローラ制御部212は、取得したコンテンツ表示エリアの情報と、起点マーカ、スライド操作マーカ及び指示位置マーカが表示されるタッチパネル12上の座標を示すコントローラ表示エリアと、を比較し、コントローラ表示エリアとの一部又は全部の座標領域がコンテンツ表示エリアの情報の一部又は全部の座標領域に重なっている場合には、干渉状況が発生していると判定する。
なお、図5(A)及び(B)には、仮想コントローラ制御部212は干渉状況が発生していると判定した場合であって、表示される仮想コントローラの表示エリア(CRA)がプレーヤキャラクタのコンテンツ表示エリア(DCA)に重畳していることが示されている。
また、仮想コントローラ制御部212は、コントローラ表示エリアの一部又は全部がコンテンツ表示エリアの一部又は全部に重畳した場合には、非干渉処理に用いるために、重畳している領域も検出してもよい。
さらに、本実施形態においては、仮想コントローラ制御部212は、コントローラ表示エリアとの一部又は全部の座標がコンテンツ表示エリアの情報の一部又は全部に重なっている場合には、干渉状況が発生していると判定しているが、干渉状況の判定に、コントローラ表示エリアの一部の座標領域とするか全部の座標領域とするか、又は、コンテンツ表示エリア一部の座標領域とするか全部の座標領域とするかは、ゲームの状況やその他の設定において定められる。
一方、仮想コントローラ制御部212は、表示コンテンツの属性に基づいて当該表示コンテンツの表示エリアと、スライド操作入力オブジェクトマーカの表示エリアとの干渉状況を判定してもよい。
具体的には、仮想コントローラ制御部212は、オブジェクト空間に配置される各オブジェクトであって画面表示されているエリアに存在するオブジェクトの属性を示す属性情報を取得し、干渉状況判定処理を実行すべき属性情報を有するオブジェクトが当該エリアに存在する場合には、仮想コントローラの表示エリアとの干渉状況判定処理を実行する。
例えば、干渉状況判定処理を実行する属性としては、プレーヤキャラクタ、味方キャラクタ及び敵キャラクタであり、干渉状況判定処理を実行しない属性としては、アイテム、背景や景色を構成するオブジェクトである。
また、仮想コントローラ制御部212は、表示コンテンツの種類に応じて、干渉状況判定処理を実行するか否かを判断し、当該干渉状況判定処理を実行すると判断した場合に、スライド操作マーカの表示エリア(コントローラ表示エリア)とコンテンツ表示エリアとの干渉状況を判定してもよい。
例えば、ゲーム空間(オブジェクト空間)に単に配置される背景を構成するオブジェクト、又は、静止画像や動画像における単なる背景部分などのコンテンツの種別については干渉状況判定処理を実行せずに、ゲームの中心になるプレーヤキャラクタや敵キャラクタなどの重要なキャラクタ、又は、所定の画像や動画における重要な表示又はキーワードなどの重要なコンテンツなどのコンテンツの種別については干渉状況判定処理を実行する。
したがって、本実施形態においては、重要な表示コンテンツについてはスライド操作マーカを透明化又は非表示化してまでも表示する一方、重要でない表示コンテンツについてはスライド操作マーカを優先的に表示させることによって表示コンテンツの視認性の確保とスライド操作におけるユーザへのサポートの双方を両立させることができるようになっている。
さらに、仮想コントローラ制御部212は、干渉状況判定処理を実行して干渉状況が発生する場合には、表示コンテンツの種類に応じてスライド操作マーカの表示態様を変化させる非干渉処理を実行してもよい。
例えば、非干渉処理として、ゲーム空間(オブジェクト空間)に単に配置される背景を構成するオブジェクト、又は、静止画像や動画像における単なる背景部分などのコンテンツの種別についてはスライド操作入力オブジェクトマーカを半透明化し、その一部を非表示にし、又は、簡易な形状に変形し、ゲームの中心になるプレーヤキャラクタや敵キャラクタなどの重要なキャラクタ、又は、所定の画像や動画における重要な表示又はキーワードなどの重要なコンテンツなどのコンテンツの種別については、スライド操作マーカを完全に透明化し、その全体を非表示にし、又は、確実に表示コンテンツの視認性を確保するための形状に変形する。
すなわち、本実施形態においては、重要な表示コンテンツについてはスライド操作入力オブジェクトマーカの表示よりも優先し、重要でない表示コンテンツについてはスライド操作入力オブジェクトマーカの表示も可能にすることによって表示コンテンツの視認性の確保とスライド操作におけるユーザへのサポートの双方を両立させることができるようになっている。
他方、仮想コントローラ制御部212は、コントローラ表示エリアとコンテンツ表示エリアとが干渉していないと判定した場合には、非干渉処理を実行せずに、起点マーカ及びスライド操作マーカをタッチ操作入力及びスライド操作入力にしたがってタッチパネル12上に表示する。
また、仮想コントローラ制御部212は、スライド操作マーカが表示される画面上の領域に応じて、干渉状況判定処理の基準を変化させてもよい。
例えば、右利きのユーザによってスライド操作を行う場合に、画面中央から右下の領域内での操作が主になるため、仮想コントローラ制御部212は、当該画面中央から右下の領域内でのスライド操作においては干渉状況判定処理を実行し、それ以外の領域、すなわち、画面中央から右上、左上及び左下の領域内では干渉状況判定処理を実行しないとして干渉状況判定処理の基準を変化させてもよい。
特に、本実施形態においては、干渉状況判定処理を実行する画面上の領域、又は、当該干渉状況判定処理を実行しない画面上の領域については、ユーザによって予め設定されてもよいし、仮想コントローラ制御部212が、過去のスライド操作入力に基づいて(例えば、過去100回程度のスライド操作入力に基づいて)所定の割合以上(例えば、90%以上)使用している画面上の領域について干渉状況判定処理を実行する領域と設定し、又は、所定の割合以下(例えば、5%以下)の使用しかしていない画面上の領域については干渉状況判定処理を実行しない領域と設定してもよい。
さらに、仮想コントローラ制御部212は、上記に加えて、又は、上記に代えて、表示コンテンツの重要性に応じて、干渉状況判定処理の基準を変化させてもよい。
例えば、プレーヤキャラクタや敵キャラクタなどの重要なオブジェクト以外の建物や道路を構成するオブジェクトについては、干渉状況判定処理を行っても却って表示処理が煩雑になる場合も多いので、仮想コントローラ制御部212は、プレーヤキャラクタや敵キャラクタなどの重要な特定のオブジェクトの属性又は種類については干渉状況判定処理を実行し、それ以外の属性又は種類のオブジェクトについては、干渉状況判定処理を実行しないとして干渉状況判定処理の基準を変化させてもよい。
特に、本実施形態においては、干渉状況判定処理を実行する属性又は種類については、ユーザによって予め設定されてもよいし、仮想コントローラ制御部212が、ゲーム種別などやゲーム状況(ステージやレベルなど)に応じて、干渉状況判定処理を実行する属性
又は種類、当該干渉状況判定処理を実行しない属性又は種類、又は、その双方を自動的に設定してもよい。
なお、仮想コントローラ制御部212は、スライド操作入力によって変化するタッチ操作入力の現在位置に向けて、起点マーカを追従移動させる場合に、コントローラ表示エリアとして追従している起点マーカの表示エリアとコンテンツ表示エリアとの干渉状況を判定する干渉状況判定処理を実行してもよい。
この場合においては、スライド操作における起点が当該スライド操作に従って追従した場合であっても、ゲームの進行などの表示内容を的確に把握すること、及び、それによって適切な操作を行うことができるようになっている。
なお、ゲーム演算部215は、仮想コントローラ制御部212と連動し、干渉状況が発生する場合には、プレーヤキャラクタなどの操作入力マーカの操作の対象となる操作対象オブジェクトについて、敵キャラクタや障害物のオブジェクトなどのオブジェクト空間の他のオブジェクトとの当たり判定を行う際に用いる当たり判定エリアの大きさ、及び、パラメータの少なくともいずれか一方の値を変更してもよい。
すなわち、本実施形態においては、ゲームにおけるプレーヤキャラクタなどの操作対象オブジェクトと、敵キャラクタなどのオブジェクト空間に存在する他のオブジェクトと、の攻撃範囲その他を決定するための当たり判定を行う際に用いられる当たり判定エリアの大きさ、又は、当該当たり判定によって実行される攻撃値や防御値などの当たり判定時に用いられる各種のパラメータを変更することができるようになっている。
特に、ゲーム演算部215は、仮想コントローラ制御部212によってスライド操作入力オブジェクトマーカと操作対象オブジェクトである表示コンテンツの表示エリアが干渉していると判定された場合に、
(1)判定エリアを大きくし(具体的には、スライド操作入力オブジェクトマーカの表示エリアを越えた部分まで大きくし)、他のキャラクタとの攻撃が開始されること明確にすること、
(2)判定エリアを小さくし、干渉しない状態よりは視認性や操作性が劣る状況において他のキャラクタとの攻撃の機会を減少させて難しい操作を実行しなければならない状況を回避すること、及び、
(3)難しい操作を実行しなければならない状況での敵キャラクタの攻撃値や防御値の減少又はプレーヤキャラクタにおける攻撃値や防御値の増加など操作オブジェクトに対して有利に機能させること、
などを実行する。
[4.1.4]非干渉処理
次に、図8〜図11を用いて本実施形態における非干渉処理について説明する。なお、図8は、本実施形態における非干渉処理として仮想コントローラを透明化する透明化処理について説明する図であり、図9は、本実施形態における非干渉処理として仮想コントローラを非表示化する非表示化処理について説明する図である。また、図10は、本実施形態における非干渉処理として仮想コントローラの形状を変形する変形処理について説明する図であり、図11は、本実施形態における指示位置マーカを有する仮想コントローラの一例である。
仮想コントローラ制御部212は、上述の干渉状況判定処理において干渉状況が発生すると判定した場合には、各マーカの表示を制御して表示コンテンツの視認性を確保する非干渉処理を実行する。
具体的には、非干渉処理には、
(A)操作入力マーカの一部又は全部を透明化する透明化処理、
(B)当該操作入力マーカの一部又は全体を非表示にする非表示処理、及び、
(C)当該操作入力マーカの一部又は全部の形状を変形する変形処理、
が含まれる。
(透明化処理)
仮想コントローラ制御部212は、図8(A)に示すように、スライド操作マーカの全体を透明化して仮想コントローラを表示し、又は、図8(B)に示すように、スライド操作マーカにおいてコンテンツ表示エリアと干渉(重畳)している一部のエリアのみ透明化して仮想コントローラを表示する。
すなわち、仮想コントローラ制御部212は、全体又は一部の該当する部分を透明化したスライド操作マーカと、透明化されず通常の形態を有する起点マーカと、によって形成される仮想コントローラを表示する。
なお、例えば、透明化処理としては、
(1)スライド操作マーカの外縁のみ表示してその他を透明(例えば、仮想コントローラに重畳している表示コンテンツの透過率が100%)又は半透明にすること、
(2)スライド操作マーカの全体又は一部の該当箇所を半透明にすること、
(3)スライド操作マーカの一部の該当箇所を透明(例えば、仮想コントローラに重畳している表示コンテンツの透過率が100%)にすること、
を含む。
また、半透明とは、仮想コントローラに重畳している表示コンテンツが視認可能な透過率であれば特に数値には限定されない。
(非表示化処理)
仮想コントローラ制御部212は、図9(A)に示すように、スライド操作マーカの全体を非表示にして仮想コントローラを表示し、又は、図9(B)に示すように、スライド操作マーカにおいてコンテンツ表示エリアと干渉(重畳)している一部のエリアのみ非表示化して仮想コントローラを表示する。
すなわち、仮想コントローラ制御部212は、全体又は一部の該当する部分を非表示化したスライド操作マーカと、非表示されず通常の形態を有する起点マーカと、によって形成される仮想コントローラを表示する。
なお、例えば、非表示化処理としては、
(1)スライド操作マーカの全体を非表示にすること
(2)スライド操作マーカの一部の該当箇所を非表示にすること、
を含む。
また、図9(A)に示すように、スライド操作マーカの全体が非表示にされた場合であっても、スライド操作入力をしているので、現指示位置と起点マーカによっておおよそのスライド操作のイメージをユーザに想起させることができる。
(変形処理)
仮想コントローラ制御部212は、図10(A)に示すように、スライド操作マーカの全体を変形にして仮想コントローラを表示し、又は、図10(B)に示すように、スライ
ド操作マーカにおいてコンテンツ表示エリアと干渉(重畳)している一部のエリアのみ変形して仮想コントローラを表示する。
すなわち、仮想コントローラ制御部212は、全体又は一部の該当する部分の形状を変形したスライド操作マーカと、変形されず通常の形態を有する起点マーカと、によって形成される仮想コントローラを表示する。
なお、例えば、変形処理としては、
(1)スライド操作マーカの全体を細く又は小さくするなどその形状を変形すること、
(2)スライド操作マーカの一部の該当箇所の形状を細く又は小さくするなどその形状を変形すること、
(3)スライド操作マーカの一部又は全体を変形せずに、例えば、指示位置が頂点となる三角形状のマーカなど、そもそも、異なるスライド操作マーカなどの別オブジェクトに差し替えること、
が含まれる。
(その他)
なお、スライド操作マーカを透明化、非表示化又は変形した場合に現指示位置に対する表示が無くなり、接触している位置によってのみ確認することになる場合がある。そこで、その場合であって、現指示位置の表示が必要な場合には、仮想コントローラ制御部212は、当該現指示位置を可視化するため、図11に示すように、スライド操作入力における現指示位置に、指示位置マーカを表示させてもよい。
この場合には、スライド操作マーカの透明化、非表示化又変形などの表示制御を実行した場合であっても、起点マーカとともに指示位置マーカを表示し、スライド操作入力を可視化することができるので、スライド操作を実行した状況をユーザに視認させることができるようになっている。
[4.1.5]その他の処理
次に、本実施形態における仮想コントローラのその他の処理について説明する。
仮想コントローラ制御部212は、スライド操作入力によって変化するタッチ操作入力の移動速度、すなわち、スライド操作における操作速度が所与の条件を上回った場合には、スライド操作マーカを非表示としてもよい。
すなわち、このような場合には、スライド操作マーカを非表示にして表示コンテンツの視認性を確保する方がユーザサポートの観点からは有益性が高い。また、スライド操作入力によって制御される操作対象オブジェクトの状態を視認すれば移動方向や移動速度について認識可能となり、かつ、このような操作については極短期間であるので、その不利益も生じない。
したがって、本実施形態においては、スライド操作の表示が制限されたとしても、ゲームの進行などの表示内容を的確に把握すること、及び、それによって適切な操作を行うことができるようになっており、結果的にユーザにおいて適切な操作を行うことができる。
また、仮想コントローラ制御部212は、プレーヤキャラクタなどの操作対象オブジェクトがスライド操作入力にしたがって移動している場合であって、敵キャラクタや障害物などに接触する可能性があると判定した場合(例えば、操作対象オブジェクトの位置から移動方向において一定の範囲内にある場合)には、仮想コントローラの色や形状を変化させてもよい。
また、仮想コントローラ制御部212は、プレーヤキャラクタなどの操作対象オブジェクトが表示している仮想コントローラの指示位置に近づいた場合(指示位置と操作対象オブジェクトとの位置が所定の距離になった場合)には、表示している仮想コントローラの形状を小さくしてもよい。
[4.2]起点マーカの追従表示制御
次に、本実施形態の手法におけるスライド操作入力中の起点マーカの追従表示制御について説明する。
[4.2.1]概要
まず、本実施形態の手法(スライド操作入力中の起点マーカの追従表示制御)の概要について説明する。
本実施形態の端末装置20は、スライド操作入力中に、起点位置と現指示位置との位置的変位(スライド操作量及びその操作速度を含む)が所与の条件を具備した場合に、起点位置の移動を開始させるとともに、当該所与の条件を具備した後に検出される現指示位置に応じて当該起点位置を移動させ、その表示を行う構成を有している。
この構成により、端末装置20は、例えば、スライド操作入力の操作速度(スライドする際の速度で、「移動速度」ともいう。)が速くなった場合又はスライド操作入力の操作距離が長くなった場合など所与の条件(以下、「追従開始条件」という。)を具備した場合に、スライド操作入力に伴って起点位置の移動を開始させることができる。
このため、端末装置20は、スライド操作入力が短い場合や操作速度が遅い場合など、所与の条件を具備しない場合には、起点位置を移動させずに、スライド操作入力を行うことになる。
その一方で、例えば、スライド操作入力が短い場合に起点位置が追従すれば、スライド操作入力における「遊び部分」がなくなり、誤操作を生じさせるとともに、スライド操作入力の操作速度が遅い場合には、通常緻密な操作が要求され、その場合に起点位置がスライド操作入力に伴って移動すると(起点位置が「ぶれる」と)、集中して行っているスライド操作入力を邪魔することにもなりかねない。
そこで、本実施形態の端末装置20は、上述のように構成することによって、スライド操作入力が長くなった場合(例えば単純な長さが長い場合やそもそも一連のスライド操作が長続きするような場合を含む。)に、スライド操作入力に伴って起点位置の移動を開始させることによって、スライド操作入力の操作方向を容易に判断することができるとともに、複雑な入力、緻密な入力又は慎重にスライド操作入力を行う際に、そのサポートを行うことができるようになっている。
したがって、本実施形態の端末装置20は、当該切り換えた操作方向を短期間にかつ容易に判断すること、及び、その結果、ゲームなどのリアルタイムに操作を行うこと、又は、瞬時の判断の下に操作を行うことが重要な処理に対するスライド操作入力であっても的確な入力を行うことができるようになっている。
なお、本実施形態においては、「追従開始条件」には、例えば、起点位置と検出されたスライド操作入力の位置とが予め定められた距離以上になった場合、又は、スライド操作入力の操作入力する際の速度若しくは加速度が予めになった値以上になった場合などが含まれる。
[4.2.2]起点マーカの追従処理(追従開始処理)
次に、図12及び図13を用いて本実施形態におけるスライド操作入力中の起点マーカの追従処理(追従開始処理)について説明する。なお、図12は、本実施形態におけるスライド操作入力中の起点マーカの追従処理(追従開始処理)について説明するための図であり、図13は、本実施形態における基準位置に基づく起点マーカの追従開始処理について説明するための図である。
(基本的な追従開始処理)
仮想コントローラ制御部212は、例えば、起点位置と検出されたスライド操作入力の位置とが予め定められた距離以上になった場合、又は、スライド操作入力の操作入力する際の速度若しくは加速度が予めになった値以上になった場合に、追従開始条件を具備したと判断すると、操作入力マーカがスライド操作入力によって変化するタッチ操作入力の現在位置に向けて、起点マーカの移動を開始さる。
そして、仮想コントローラ制御部212は、スライド操作入力中に、当該追従開始条件を具備した後に検出される現指示位置に応じて当該起点マーカ(すなわち、基準位置)を移動させ、その表示(当該現在位置の変化に起点マーカを追従移動及び当該追従移動の表示)を実行させる。
特に、仮想コントローラ制御部212は、図12(A)及び(B)に示すように、スライド操作入力中に、基準位置と現指示位置との位置的変位が追従開始条件を具備した場合に、起点マーカの位置(すなわち、タッチ操作入力が検出されたときの基準位置)と現指示位置、又は、当該現指示位置と当該現指示位置とは異なる同一のスライド操作入力中の指示位置(過去の指示位置)に基づいて、スライド操作入力のスライド操作入力方向を検出し、当該スライド操作入力中に、検出されたスライド操作入力方向に沿って起点位置を移動させる。
例えば、起点位置と検出されたスライド操作入力の位置とが予め定められた距離L以上になった場合に追従開始条件を具備する場合であって、起点マーカの移動が開始される場合において、仮想コントローラ制御部212は、スライド操作マーカの長さSが距離Lに満たない場合には、起点マーカの移動を開始させないが(図12(A)のスライド操作マーカの状態1)、スライド操作マーカの長さSが距離Lと同一になった場合には、起点マーカ(すなわち、起点マーカのタッチパネル12上の位置)の移動を開始させる(図12(A)のスライド操作マーカの状態2)。
そして、仮想コントローラ制御部212は、その後もスライド操作入力が継続する場合には、当該タッチ検出処理部211によって追従している起点マーカの位置(すなわち、基準位置)と現指示位置に基づいて、検出されたスライド操作方向に従って、スライド操作マーカの長さを一定に保ちつつ、スライド操作入力の移動速度と同一の速度によって、起点マーカを追従させ、その表示を行う(図12(B)のスライド操作マーカの状態3)。
(起点マーカの追従時の速度及び離隔距離)
仮想コントローラ制御部212は、基本的には、起点マーカの位置を、当該起点マーカの位置と現指示位置との位置関係、速度及び起点マーカの位置から現指示位置までの移動ベクトルの大きさの少なくともいずれか一方を維持しつつ、起点マーカの位置を移動させる。
すなわち、仮想コントローラ制御部212は、スライド操作入力中に、
(1)起点マーカの位置をスライド操作入力の現指示位置と一定の距離(すなわち、スライド操作入力による現指示位置との離隔距離(以下、「追従距離」という。))を保持しつつ移動させる移動制御、
(2)現指示位置の移動量(すなわち、移動ベクトルの大きさ)を保持しつつ移動させる移動制御、
(3)当該スライド操作入力においてスライドさせる速度(すなわち、スライド速度)と同一の速度で移動させる移動制御、又は、
(4)(1)〜(3)の2以上を実行させる移動制御、
を実行する。
具体的には、仮想コントローラ制御部212は、追従距離を可変にし、起点マーカの移動速度(以下、「追従速度」という。)を一定にして移動させてもよい。すなわち、仮想コントローラ制御部212は、スライド操作入力における移動速度と追従速度を同一にすることなく、追従距離を可変にすることによって異なる速度で起点マーカを追従させてもよい。
また、仮想コントローラ制御部212は、追従開始条件を具備する際における、すなわち、起点マーカの移動開始時において、スライド操作入力の移動速度(スライド速度)、又は、起点マーカと現指示位置との離隔距離に基づいて、予め設定された複数の追従速度又は追従距離の中から一の追従速度又は一の追従距離を決定し、決定した追従速度又は追従距離によって起点マーカの位置を移動させてもよい。
特に、追従開始条件が基準位置と現指示位置との離隔距離の場合であって、当該離隔距離が長い場合には、仮想コントローラ制御部212は、速い追従速度(例えば、標準的な速度より速い速度)によって起点マーカの位置を移動させる。
そして、追従開始条件が基準位置と現指示位置との離隔距離の場合であって、当該離隔距離が短い場合には、仮想コントローラ制御部212は、遅い追従速度(例えば、標準的な速度より遅い速度)によって起点マーカの位置を移動させる。
また、追従開始条件がスライド操作入力の移動速度(スライド速度)の場合であって、当該スライド速度が速い場合には、仮想コントローラ制御部212は、短めの追従距離(例えば、標準的な距離より短い距離)によって起点マーカの位置を移動させる。
そして、追従開始条件がスライド操作入力の移動速度(スライド速度)の場合であって、当該スライド速度が遅い場合には、仮想コントローラ制御部212は、長めの追従距離(例えば、標準的な距離より短い距離)によって起点マーカの位置を移動させる。
なお、追従開始条件が離隔距離及びスライド速度とも複数設定されている場合には、ユーザの指示、実行ステージのレベルやプレーヤキャラクタの特性などゲーム状況、スライド操作入力の基準位置におけるタッチパネル12上の位置によって一の追従開始条件が設定される。特に、基準位置におけるタッチパネル12上の位置によって一の追従開始条件が設定される点については後述する。
(基準位置に基づく起点マーカの追従開始処理)
本実施形態の仮想コントローラ制御部212は、タッチ操作入力のタッチパネル12上の位置に基づいて、複数の追従開始条件の中から一の追従開始条件を選択し、起点マーカの追従開始処理を実行してもよい。
例えば、タッチパネル12の画面の右隅や左隅など画面中心ではなく、少なくともいず
れか一方の画面端部に近い位置が起点位置となるなど、スライド操作入力を行うことが可能な領域(の広狭)が起点位置を基準に著しく変化する場合がある。
そこで、仮想コントローラ制御部212は、このような場合であっても、その位置に応じて起点位置と現指示位置の離隔距離を変化させて追従開始処理を実行することができるので、スライド操作入力の操作性を向上させることができるようになっている。
例えば、仮想コントローラ制御部212は、図13(A)に示すように、スライド操作入力におけるスライド操作方向への操作可能領域が狭い場合には、
[A1]起点位置を通常のタイミングよりも早めに移動を開始させ、又は、
[A2]起点位置と現指示位置の離隔距離を短くして当該起点位置を移動させる。
なお、図13(A)は、タッチパネル12の左側(紙面に向かって右側)に近い位置で左方向に向かって(紙面に向かって右方向に向かって)スライド操作入力が行われる場合の例を示している。
また、仮想コントローラ制御部212は、図13(B)に示すように、スライド操作入力におけるスライド操作方向への操作可能領域が広い場合には、
[B1]起点位置と通常のタイミングよりも遅めに移動を開始させ、又は、
[B2]起点位置と現指示位置の離隔距離を長くして当該起点位置を移動させる。
なお、図13(B)は、タッチパネル12の右側(紙面に向かって左側)に近い位置で左方向に向かって(紙面に向かって右方向に向かって)スライド操作入力が行われた場合の例を示している。
(急激なスライド操作に基づく起点マーカの追従開始処理)
操作制御部213によって、検出されたスライド操作入力の現指示位置に基づいてスライド操作入力を行う際のスライド操作量が算出された場合であって、当該算出されたスライド操作量が所与の条件を具備した場合には、仮想コントローラ制御部212は、移動開始した起点位置を予め定められた一定の速度によって移動させてもよい。
例えば、スライド操作入力の入力ミス、又は、敵キャラクタと戦闘中のボスキャラクタの登場などゲーム中の急な状況変化(すなわち、特殊イベントの発生)など、起点移動を移動させる必要がないスライド操作や急な操作速度によるスライド操作入力が実行された場合には、当該スライド操作入力に応じて起点を移動させるよりは、通常通り移動させる方がその後のスライド操作入力を的確に行う上で必要である。
なお、本実施形態の仮想コントローラ制御部212は、例えば、急な速度によってスライド操作入力が実行された場合にはこのような状況であると判断して一定の速度で起点を移動させることによって、的確なスライド操作入力を実現することができるようになっている。
[4.2.3]起点マーカの追従処理(追従開始後の追従処理)
次に、本実施形態におけるスライド操作入力中の起点マーカの追従処理(追従開始後の追従処理)について説明する。
本実施形態の仮想コントローラ制御部212は、基本的には、上述したように、タッチ検出処理部211によって追従している起点マーカの位置(基準位置)と現指示位置に基づいて、検出されたスライド操作方向に従って、スライド操作マーカの長さを一定に保ちつつ、スライド操作入力の移動速度と同一の速度によって、起点マーカを追従させ、その
表示を行う。
また、タッチ検出処理部211によってスライド操作入力の起点としての基準位置と現指示位置に基づいて、又は、当該現指示位置と当該現指示位置とは異なる同一のスライド操作入力中の指示位置(すなわち、過去の指示位置)に基づいて、スライド操作入力のスライド操作方向が検出されるので、仮想コントローラ制御部212は、当該検出されたスライド操作入力方向に沿って起点マーカを移動させる。
特に、仮想コントローラ制御部212は、現指示位置をそれぞれ主記憶部271に順次記憶し、移動速度に応じて、かつ、追従距離を一定に維持しつつ、起点マーカを、当該現指示位置の軌跡に沿って移動させる。
具体的には、仮想コントローラ制御部212は、現指示位置として記憶された指示位置と、当該現指示位置を基準に過去に記憶された指示位置(例えば、前2つの指示位置)と、に基づいて所定の条件を具備するか否かを判定し、当該所定の条件を具備した場合には、当該前指示位置のうち時間的に古い前指示位置から現指示位置までの最短の軌跡を当該起点マーカの追従軌跡として新たに生成し、当該新たに生成した追従軌跡に沿って起点マーカを移動させる。
なお、所定の条件とは、現指示位置として記憶された指示位置と、当該現指示位置を基準に過去に記憶された指示位置(例えば、前2つの指示位置)と、によって形成される軌跡において、頂点角を構成する頂点の角度が一定角度(例えば、±45度)以上であるか否かを含む。
すなわち、仮想コントローラ制御部212は、頂点角を構成する頂点の角度が45度以下ならば、指示位置の軌跡に沿って移動させ、当該角度が45度より大きい場合には、当該前指示位置のうち時間的に古い前指示位置から現指示位置までの最短の軌跡を当該起点マーカの追従軌跡として新たに生成し、当該新たに生成した追従軌跡に沿って起点マーカを移動させる。
また、仮想コントローラ制御部212は、上記の起点マーカの移動に代えて、
(1)記憶された指示位置の軌跡を追従軌跡として用いることによって、
(2)新たに生成された追従軌跡を既に生成された追従軌跡に接合する際には当該接合部分が頂点とならないように(接合部分で凸かつ曲線となるように)最適な曲率を算出するとともに、当該算出された曲率に基づいて記憶された指示位置の軌跡及び新たに生成された追従軌跡を接合し、追従軌跡を生成することによって、当該起点マーカの移動を制御してもよい。
さらに、仮想コントローラ制御部212は、スライド操作入力中、基準位置と現指示位置との位置関係(一定の離隔距離)を維持しつつ起点マーカを移動させる点に代えて、一定の移動速度を維持しつつ起点マーカを移動させてもよい。
一方、仮想コントローラ制御部212は、移動中の起点マーカの位置とスライド操作入力における現指示位置との離隔距離を検出し、当該検出した離隔距離と、予め離隔距離毎に起点マーカの移動中の条件が規定された移動条件情報と、に基づいて、移動中の起点マーカの位置の移動制御を行ってもよい。すなわち、仮想コントローラ制御部212は、離隔距離を可変に移動中の起点マーカの位置の移動制御を行ってもよい。
具体的には、仮想コントローラ制御部212は、スライド操作入力の移動速度が速く実行された場合には、追従開始時その他のときよりも、離隔距離を長くなり、スライド操作
入力の移動速度が遅く実行された場合には、追従開始時その他のときよりも、離隔距離を短くする。
また、仮想コントローラ制御部212は、スライド操作方向が±90度以上になった場合には、起点マーカの移動を停止し、その後は、上述の追従開始処理に準じて起点マーカの移動を開始する。すなわち、仮想コントローラ制御部212は、例えば、スライド操作方向が±90度以上になった場合には、起点マーカの移動を停止することによって、起点位置が追従するよりはスライド操作入力を容易にし、かつ、ユーザの視認性を向上させることができるようになっている。
なお、仮想コントローラ制御部212は、±10度以上±90度以下のスライド操作方向の変更が生じた場合には、現指示位置と最短の距離を追従してもよいし、そのときの起点マーカの移動速度、離隔距離、及び、スライド操作方向の角度差に応じて追従ルートを決定して追従してもよい。この場合には、仮想コントローラ制御部212は、スライド操作入力が円弧を描くように操作された場合には、起点マーカがその軌跡をたどるように追従させることもできるようになっている。
[4.2.4]起点マーカの追従処理(追従処理の終了)
次に、本実施形態における起点マーカの追従処理の終了について説明する。
仮想コントローラ制御部212は、仮想コントローラの表示を中止する場合には、すなわち、タッチ検出処理部211によって、スライド操作入力中に、画面へのタッチ操作入力されていない状態(無接触状態)が検出された場合には、仮想コントローラを非表示にするとともに当然起点マーカの追従及びその表示も中止する。
また、仮想コントローラ制御部212は、スライド操作マーカ、起点マーカ及び指示位置マーカの順に表示を終了させて画面から削除してもよい。すなわち、仮想コントローラ制御部212は、スライド操作入力中に、画面へのタッチ操作入力されていない状態を検出した場合に、スライド操作入力オブジェクトマーカ、起点操作入力オブジェクトマーカ及び指示位置オブジェクトマーカの順に表示を消すことができるようになっている。
したがって、本実施形態においては、ユーザに指示位置を認識させることができるとともに、当該指示位置に対比する起点位置もユーザに印象に残すことができるので、指示位置を基準に又は当該指示位置及び起点を基準に次の操作を行う場合など、これらの位置を認識させ、又は、印象に残すことによって、その後のユーザの操作を的確に実行することができるようになっている。
[4.2.5]起点マーカの追従処理(その他)
次に、本実施形態における起点マーカの追従処理に関する上記以外の点ついて説明する。
(追従停止)
仮想コントローラ制御部212は、スライド操作入力中に、例えば、
(1)連続する指示位置が変化しない場合、又は、
(2)スライド操作中に大規模な方向転換が行われた場合、
には、所定の条件を具備するとして、スライド操作中であっても起点マーカの移動を停止させる。
具体的には、仮想コントローラ制御部212は、連続する2以上の指示位置がタッチパネル12上の同一の座標又は同一の位置と判断可能な座標範囲である場合には、スライド
操作入力自体が停止しているとして起点マーカの追従を停止させ、当該停止させた位置に起点マーカを表示させる。
また、仮想コントローラ制御部212は、スライド操作方向が所定の角度(具体的には、±90度や±180度)以上になった場合などスライド操作中に大規模な方向転換が行われるような場合には、スライド操作入力自体が停止しているとして起点マーカの追従を停止させて停止させた位置に起点マーカを表示させる。
特に、仮想コントローラ制御部212は、現指示位置の1つ前の指示位置(以下、「前指示位置」という。)までのスライド操作方向と前指示位置から現指示位置までのスライド操作方向が所定の角度(具体的には、±90度や±180度)以上になった場合に、スライド操作中に大規模な方向転換であること検出する。
なお、仮想コントローラ制御部212は、スライド操作中に起点マーカを停止する際に、条件が具備された際に起点マーカを即時停止させてもよいし、数フレーム〜数十フレームを用いて移動速度を徐々に減速させて停止させてもよい。
(起点マーカの追従表示の中断)
仮想コントローラ制御部212は、所与の表示中断条件を具備した場合に、スライド操作入力マーカの表示を中断(一時的な表示中止)する。例えば、仮想コントローラ制御部212は、所与の表示中断条件としては発生したイベントその他のゲーム状況に応じて仮想コントローラに対して強制的に表示位置を変更しなければならない場合、スライド操作マーカ上に敵オブジェクトその他の表示すべきコンテンツが表示される場合、又は、所与の演出が発動した場合など、起点マーカの表示やスライド操作マーカの表示を行うことができない場合に、スライド操作入力マーカの表示を中断(一時的な表示中止)する。
(起点マーカの表示態様)
仮想コントローラ制御部212は、起点マーカの移動中に、当該起点マーカの一部又は全部の表示態様を、当該起点マーカの停止中の表示態様と異なる態様によって表示する。例えば、仮想コントローラ制御部212は、起点マーカの停止中の表示態様が点灯している場合には、移動中の起点マーカを点滅する態様によって表示してもよいし、移動中の起点マーカを停止中の起点マーカの色によって表示してもよい。また、仮想コントローラ制御部212は、起点マーカの移動中には、起点マーカの表示を透明にし、又は、形状を変化させるなど、当該起点マーカの停止中の表示態様と異なる態様によって表示すればよい。
また、仮想コントローラ制御部212は、スライド操作入力の操作対象となる操作対象オブジェクトの操作中の状態に基づいて、起点マーカの一部又は全部の表示態様を変化させてもよい。
例えば、仮想コントローラ制御部212は、操作対象のプレーヤキャラクタのヒットポイントが著しく低下している場合、又は、攻撃パラメータが低く発揮可能な能力が低下している場合に、起点マーカや可視化されたスライド操作マーカを透明化し、又は、その形状や色を変化させるなど、操作対象オブジェクトの操作中の状態に基づいて、起点マーカやスライド操作マーカの一部又は全部の表示態様を変化させてもよい。
(操作態様オブジェクトの種別又は属性に基づく起点マーカの追従処理の相違)
仮想コントローラ制御部212は、スライド操作入力の操作対象となる操作対象オブジェクトにおける種別、属性及びパラメータの少なくともいずれか一方に基づいて、追従開始条件を代えて起点マーカの位置の移動を開始させてもよい。
具体的には、仮想コントローラ制御部212は、例えば、
(1)表示サイズの大きな操作対象オブジェクトや操作範囲が大きい操作対象オブジェクトに対しては移動を開始するまでの離隔距離を長くし、若しくは、移動速度を遅くする、(2)操作範囲が小さい操作対象オブジェクトや俊敏な操作が必要な操作対象オブジェクトに対しては移動開始するまでの離隔距離を短くし、若しくは、移動速度を速くする、又は、
(3)俊敏性を示すパラメータ(俊敏性の能力)が高い(低い)操作対象オブジェクトに対しては、移動開始するまでの離隔距離を短く(長く)し、若しくは、移動速度を速く(遅く)する、
など、操作対象オブジェクト毎に適した条件を設定し、追従開始条件を変えて起点マーカの位置の移動を開始させてもよい。
[5]本実施形態における動作
次に、図14を用いて本実施形態の端末装置20によって実行される起点マーカの追従処理の動作について説明する。なお、図14は、本実施形態の端末装置20によって実行される起点マーカの追従処理の動作を示すフローチャートである。
本動作は、サーバ装置10と連動してRPGなどのゲームが実行されているものとし、順次ユーザのタッチ操作入力及びスライド操作入力が行われているものとする。
また、本動作においては、追従開始後の起点マーカの位置の追従は一定の離隔距離においてスライド操作入力における移動速度に応じて追従しているものとする。
まず、タッチ検出処理部211は、入力部260を介してタッチ操作入力を検出すると(ステップS101)、当該タッチ操作入力が検出されたタッチパネル12上の位置座標(基準位置の位置座標)を検出して主記憶部271に記憶する(ステップS102)。
次いで、仮想コントローラ制御部212は、主記憶部271に記憶された基準位置に起点マーカを表示する(ステップS104)。
次いで、タッチ検出処理部211は、スライド操作入力が終了して無接触状態となったか否かを判定し(ステップS105)、無接触状態となった判定した場合には、仮想コントローラ制御部212は、仮想コントローラの表示及び主記憶部172に記憶されている値をリセットして(ステップS110)本動作を終了させる。
一方、タッチ検出処理部211は、スライド操作入力が終了しておらず無接触状態となっていないと判定した場合には、タッチ操作入力による位置座標を検出し、スライド操作入力の変化の有無を判定する(ステップS106)。
すなわち、タッチ検出処理部211は、直前に主記憶部172に記憶された位置座標と、ステップS106の処理において検出した位置座標の同一性を判定し、同一の位置座標でないと判定した場合に、スライド操作入力が変化した、すなわち、スライド操作入力が実行されたと判定する。
また、このとき、タッチ検出処理部211は、スライド操作入力が実行されていないと判定した場合には、ステップS105の処理に移行し、スライド操作入力が実行されたと判定した場合にはステップS107の処理に移行する。
なお、ステップS106の処理においては、タッチ検出処理部211は、検出した位置
座標を主記憶部172に記憶する。
次いで、仮想コントローラ制御部212は、主記憶部172に記憶されている基準位置と直前に記憶された現指示位置に基づいて仮想コントローラの表示エリアを決定し、決定したコントローラ表示エリアにスライド操作マーカを表示する(ステップS107)。
次いで、仮想コントローラ制御部212は、起点マーカの位置を追従させる追従開始条件を具備したか否かを判定し(ステップS108)、追従開始条件を具備していないと判定した場合には、ステップS105の処理に移行する。
一方、仮想コントローラ制御部212は、追従開始条件を具備したと判定した場合には、所定の速度及び所定の離隔距離によって起点マーカの位置の移動を開始(追従の開始)し(ステップS109)、ステップS105の処理に移行する。
[6]その他
本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
本実施形態では、RPGのゲームの操作入力として説明しているが、対戦型ゲーム又はシミュレーションゲームなどの他のゲームにおいても用いることがきる。
また、ゲームに限らず、ユーザインタフェースとしてタッチ操作入力及びスライド操作入力を用いるものであれば適用可能である。
また、本実施形態は、一のサーバ装置10によって各ゲームを端末装置20に提供してもよいし、複数のサーバ装置10を連動させてサーバシステムを構築し、各ゲームを端末装置に提供してもよい。
本発明は、実施形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施形態で説明した構成に公知技術を付加した構成を含む。
上記のように、本発明の実施形態について詳細に説明したが、本発明の新規事項及び効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。したがって、このような変形例はすべて本発明の範囲に含まれるものとする。
10 … サーバ装置
20 … 端末装置
200 … 処理部
101 … 通信制御部
102 … Web処理部
103 …ゲーム演算実行部
104 …ゲーム管理部
120 … 入力部
130 … 表示部
140 … 記憶部
142 … 主記憶部
144 … ゲーム情報
146 … ユーザ情報
148 … 自動演算情報
180 … 情報記憶媒体、
196 … 通信部
200 … 処理部
210 … オブジェクト空間設定部
211 … タッチ検出処理部
212 … 仮想コントローラ制御部
213 … 操作制御部
214 … 移動処理部
215 … ゲーム演算部
216 … 仮想カメラ制御部
220 … 描画部
230 … 音処理部
270 … 記憶部
271 … 主記憶部
272 … 画像バッファ
260 … 入力部
262 … 検出部
280 … 情報記憶媒体
290 … 表示部
291 … 音出力部

Claims (11)

  1. 所与の画面が表示されるタッチパネルへのスライド操作入力を受け付けるためのプログラムであって、
    前記画面へのタッチ操作入力されていない状態からタッチ操作入力された状態への状態変化及び当該状態変化が実行された検出位置を検出する第1の検出処理を行うとともに、当該状態変化の検出後であって当該状態変化を検出した際のタッチ操作入力が継続されてスライド操作入力されている場合に、当該スライド操作入力の位置を指示位置として検出する第2の検出処理を行うタッチ操作入力検出処理手段、
    (A)前記状態変化の検出位置に関連付けられた所定位置、又は、所与のタイミングにおける前記スライド操作入力の位置に関連付けられた所定位置である起点位置に、前記スライド操作入力の基準となる起点操作入力オブジェクトマーカを表示する処理、及び、(B)前記起点位置と前記スライド操作入力によって変化する指示位置の現在位置を示す現指示位置に関連付けられた所定位置との間にスライド操作入力方向を視認させるためのスライド操作入力オブジェクトマーカを表示する処理を実行する操作入力オブジェクト表示制御手段、
    前記スライド操作入力中に、前記起点位置と前記現指示位置との位置的変位が所与の条件を具備した場合に、前記起点位置の移動を開始させるとともに、当該所与の条件を具備した後に検出される前記現指示位置に応じて当該起点位置を移動させる起点制御手段、及び、
    前記画面上に表示されているオブジェクトであってオブジェクト空間に配置されている所与のオブジェクトの当該画面上の第1の表示エリアと、前記検出された指示位置に基づいて表示されている前記起点操作入力オブジェクトマーカ及び前記スライド操作入力オブジェクトマーカの当該画面上の第2の表示エリアと、の干渉状況を判定する干渉状況判定処理を行う干渉状況判定処理手段、
    としてコンピュータを機能させ、
    前記操作入力オブジェクト表示制御手段が、
    前記起点位置の移動に応じて前記起点操作入力オブジェクトマーカを表示し、
    前記干渉状況判定処理によって前記第1の表示エリアと前記第2の表示エリアとが干渉すると判定された場合には、前記スライド操作入力オブジェクトマーカ及び前記起点操
    作入力オブジェクトマーカを含む仮想コントローラの少なくとも一部の表示を変更することを特徴とするプログラム。
  2. 請求項1に記載のプログラムにおいて、
    前記起点制御手段が、
    前記移動中の起点位置と現指示位置との離隔距離を検出し、当該検出した離隔距離と予め離隔距離毎に前記起点位置の移動中の条件が規定された移動条件情報とに基づいて、移動中の前記起点位置の移動制御を行うプログラム。
  3. 請求項1又は2に記載のプログラムにおいて、
    前記起点位置に対応する前記タッチ操作入力された画面上の位置に基づいて前記所与の条件が異なるプログラム。
  4. 請求項1〜3のいずれか1項に記載のプログラムにおいて、
    前記タッチ操作入力検出処理手段が、
    前記スライド操作入力の現指示位置に基づいて前記スライド操作入力を行う際のスライド操作量を算出し、
    前記起点制御手段が、
    前記算出されたスライド操作量が所与の条件を具備した場合には、前記移動開始した起点位置を予め定められた一定の速度によって移動させるプログラム。
  5. 請求項1〜4のいずれか1項に記載のプログラムにおいて、
    前記タッチ操作入力検出処理手段が
    前記起点位置と前記現指示位置、及び、当該現指示位置と当該現指示位置とは異なる同一のスライド操作入力中の指示位置のいずれかに基づいて、前記スライド操作入力のスライド操作入力方向を検出し、
    前記起点制御手段が、
    前記スライド操作入力中に、前記検出されたスライド操作入力方向に沿って前記起点位置を移動させるプログラム。
  6. 請求項1〜5のいずれか1項に記載のプログラムにおいて、
    前記起点制御手段が、
    前記起点位置と前記現指示位置との位置関係及び速度の少なくともいずれか一方を維持しつつ、前記起点位置を移動させるプログラム。
  7. 請求項1〜6のいずれか1項に記載のプログラムにおいて、
    前記タッチ操作入力検出処理手段によって、前記スライド操作入力中に、前記画面へのタッチ操作入力されていない状態を検出した場合には、
    前記操作入力オブジェクト表示制御手段が、
    前記スライド操作入力オブジェクトマーカ、前記起点操作入力オブジェクトマーカ及び前記現指示位置に関連付けられた所定位置に表示される指示位置オブジェクトマーカの順に表示を終了させるプログラム。
  8. 請求項1〜7のいずれか1項に記載のプログラムにおいて、
    前記操作入力オブジェクト表示制御手段が、
    所与の表示中断条件を具備した場合に、前記スライド操作入力オブジェクトマーカの表示を中断するプログラム。
  9. 請求項1〜8のいずれか1項に記載のプログラムにおいて、
    前記操作入力オブジェクト表示制御手段が、
    前記起点位置の移動中に前記起点操作入力オブジェクトマーカの表示処理を実行している場合に、当該起点操作入力オブジェクトマーカの一部又は全部の表示態様を、当該起点位置の停止中の表示態様と異なる態様によって表示するプログラム。
  10. 請求項1〜9のいずれか1項に記載のプログラムにおいて、
    前記起点制御手段が、
    前記スライド操作入力の操作対象となる操作対象オブジェクトにおける種別及び属性の少なくともいずれか一方に基づいて、前記所与の条件を変えて起点位置の移動を開始させるプログラム。
  11. 所与の画面が表示されるタッチパネルへのスライド操作入力を受け付ける入力処理装置であって、
    前記画面へのタッチ操作入力されていない状態からタッチ操作入力された状態への状態変化及び当該状態変化が実行された検出位置を検出する第1の検出処理を行うとともに、当該状態変化の検出後であって当該状態変化を検出した際のタッチ操作入力が継続されてスライド操作入力されている場合に、当該スライド操作入力の位置を指示位置として検出する第2の検出処理を行うタッチ操作入力検出処理手段と、
    (A)前記状態変化の検出位置に関連付けられた所定位置、又は、所与のタイミングにおける前記スライド操作入力の位置に関連付けられた所定位置である起点位置に、前記スライド操作入力の基準となる起点操作入力オブジェクトマーカを表示する処理、及び、(B)前記起点位置と前記スライド操作入力によって変化する指示位置の現在位置を示す現指示位置に関連付けられた所定位置との間にスライド操作入力方向を視認させるためのスライド操作入力オブジェクトマーカを表示する処理を実行する操作入力オブジェクト表示制御手段と、
    前記スライド操作入力中に、前記起点位置と前記現指示位置との位置的変位が所与の条件を具備した場合に、前記起点位置の移動を開始させるとともに、当該所与の条件を具備した後に検出される前記現指示位置に応じて当該起点位置を移動させる起点制御手段と、
    前記画面上に表示されているオブジェクトであってオブジェクト空間に配置されている所与のオブジェクトの当該画面上の第1の表示エリアと、前記検出された指示位置に基づいて表示されている前記起点操作入力オブジェクトマーカ及び前記スライド操作入力オブジェクトマーカの当該画面上の第2の表示エリアと、の干渉状況を判定する干渉状況判定処理を行う干渉状況判定処理手段と、
    を備え、
    前記操作入力オブジェクト表示制御手段が、
    前記起点位置の移動に応じて前記起点操作入力オブジェクトマーカを表示し、
    前記干渉状況判定処理によって前記第1の表示エリアと前記第2の表示エリアとが干渉すると判定された場合には、前記スライド操作入力オブジェクトマーカ及び前記起点操作入力オブジェクトマーカを含む仮想コントローラの少なくとも一部の表示を変更することを特徴とする入力処理装置。
JP2014266680A 2014-12-26 2014-12-26 入力処理装置及びプログラム Active JP6449647B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014266680A JP6449647B2 (ja) 2014-12-26 2014-12-26 入力処理装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014266680A JP6449647B2 (ja) 2014-12-26 2014-12-26 入力処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2016126514A JP2016126514A (ja) 2016-07-11
JP6449647B2 true JP6449647B2 (ja) 2019-01-09

Family

ID=56359400

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014266680A Active JP6449647B2 (ja) 2014-12-26 2014-12-26 入力処理装置及びプログラム

Country Status (1)

Country Link
JP (1) JP6449647B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6180610B1 (ja) * 2016-11-01 2017-08-16 株式会社コロプラ ゲーム方法およびゲームプログラム
JP6143934B1 (ja) 2016-11-10 2017-06-07 株式会社Cygames 情報処理プログラム、情報処理方法、及び情報処理装置
JP6244445B1 (ja) * 2016-12-22 2017-12-06 株式会社コロプラ 情報処理方法、装置、及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP6872401B2 (ja) * 2017-03-30 2021-05-19 株式会社バンダイナムコエンターテインメント ゲームシステム及びプログラム
JP6963188B2 (ja) * 2019-04-24 2021-11-05 株式会社カプコン ゲームプログラム、およびゲームシステム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3734819B1 (ja) * 2004-07-26 2006-01-11 任天堂株式会社 ゲームプログラム、ゲーム装置、および入力装置
JP2007050180A (ja) * 2005-08-19 2007-03-01 Snk Playmore Corp ゲーム装置
JP5576061B2 (ja) * 2009-05-28 2014-08-20 株式会社バンダイナムコゲームス プログラム及びゲーム装置
JP5552947B2 (ja) * 2010-07-30 2014-07-16 ソニー株式会社 情報処理装置、表示制御方法及び表示制御プログラム
JP2012252627A (ja) * 2011-06-06 2012-12-20 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
US20130002600A1 (en) * 2011-07-01 2013-01-03 Mccracken David Harold Touch sensitive device adaptive scaling
JP5414764B2 (ja) * 2011-10-21 2014-02-12 株式会社ソニー・コンピュータエンタテインメント 入力制御装置、入力制御方法、及び入力制御プログラム
JP2013127683A (ja) * 2011-12-16 2013-06-27 Namco Bandai Games Inc プログラム、情報記憶媒体、端末、サーバ及びネットワークシステム
JP5487262B2 (ja) * 2012-08-03 2014-05-07 株式会社コナミデジタルエンタテインメント 操作端末、操作制御方法、操作制御プログラム

Also Published As

Publication number Publication date
JP2016126514A (ja) 2016-07-11

Similar Documents

Publication Publication Date Title
JP6643776B2 (ja) 端末装置及びプログラム
JP6605225B2 (ja) 端末装置及びプログラム
EP2466445B1 (en) Input direction determination terminal, method and computer program product
JP6616072B2 (ja) 入力処理装置及びプログラム
JP6427414B2 (ja) 入力処理装置及びプログラム
JP6449647B2 (ja) 入力処理装置及びプログラム
JP6928060B2 (ja) 入力処理装置及びプログラム
JP6387299B2 (ja) 入力処理装置及びプログラム
JP6872401B2 (ja) ゲームシステム及びプログラム
JP7245605B2 (ja) ゲームシステム、ゲーム提供方法及びプログラム
JP6744727B2 (ja) プログラム及びゲーム装置
JP6623008B2 (ja) ゲーム装置及びプログラム
JP6637662B2 (ja) ゲーム装置及びプログラム
JP6385272B2 (ja) 入力処理装置及びプログラム
JP2019166218A (ja) プログラム及びゲーム装置
JP6543488B2 (ja) ゲーム装置及びプログラム
JP7079593B2 (ja) ゲームシステム、ゲーム提供方法及びプログラム
JP6900208B2 (ja) ゲームシステム及びプログラム
JP2017113170A (ja) プログラム及びゲーム装置
JP2019063178A (ja) ゲームシステム及びプログラム
JP6956209B2 (ja) 端末装置及びプログラム
JP7079595B2 (ja) ゲームシステム、ゲーム提供方法及びプログラム
JP2019097699A (ja) ゲームシステム及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170825

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181026

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181206

R150 Certificate of patent or registration of utility model

Ref document number: 6449647

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250