(57)【特許請求の範囲】
【請求項１】
表示面への物体の接触の操作に応じて動作を変化させるゲームキャラクタを含む画像を、当該表示面に表示させる表示媒体と、
前記表示面への物体の接触度合に応じて変化する、当該表示媒体に関する所定の物理量を検出する第１検出手段と、
を備える端末を制御対象とするコンピュータに、
前記第１検出手段の検出結果を所定のラチェット関数に入力して、当該ラチェット関数の出力量を、外部に出力するラチェット関数出力ステップと、
前記ラチェット関数の出力量に応じて、前記ゲームキャラクタの動作の所定量を決定する動作量決定ステップと、
前記動作量決定ステップの処理で決定された前記所定量で、前記ゲームキャラクタの動作を変化させる制御を実行する動作制御実行ステップと、
前記第１検出手段の検出結果を入力し、当該検出結果が示す前記所定の物理量の変化時間及び変化量に基づいて割り込みをするか否かを判定し、割り込みをしないと判定した場合、当該検出結果を前記ラチェット関数出力ステップに提供し、割り込みをすると判定した場合、当該検出結果を前記ラチェット関数出力ステップに提供することを禁止するか、若しくは当該検出結果を加工して前記ラチェット関数出力ステップに提供する割り込み可否判定ステップと、
を含む制御処理を実行させ、
前記動作制御実行ステップは、前記割り込み可否判定ステップの処理において前記割り込みをすると判定された場合、前記ゲームキャラクタの動作に対する所定の割り込み処理を実行するステップを含む、
プログラム。
【請求項２】
前記ゲームキャラクタの前記動作量決定ステップは、前記ラチェット関数の出力量を前記ゲームキャラクタの動作の所定量に変換する１種以上のパターンのうち、所定種類のパターンを用いて、前記ゲームキャラクタの動作の前記所定量を決定するステップを含む、
請求項１に記載のプログラム。
【請求項３】
前記端末は、さらに、前記表示媒体の前記表示面への物体の接触の位置を検出する第２検出手段をさらに備え、
前記動作制御実行ステップは、
前記第２検出手段の検出結果に基づいて、前記ゲームキャラクタの動作の変化方向を決定する変化方向決定ステップと、
前記変化方向決定ステップの処理で決定された前記変化方向に、前記動作量決定ステップの処理で決定された前記所定量で、前記ゲームキャラクタの動作を変化させる制御を実行するゲームキャラクタ動作制御実行ステップと、
を含む請求項１又は２に記載のプログラム。
【請求項４】
前記第２検出手段の検出結果に基づいて、前記表示媒体への前記物体の接触が開始された第１状態から、前記表示媒体への接触が維持されて前記物体が移動する第２状態を経て、前記表示媒体への前記物体の接触が解除される第３状態に至るまでの一連の操作を検出する操作検出ステップと、
前記ゲームキャラクタの動作を指示操作するための所定の形状のコントローラを、前記表示媒体の前記表示面への前記第１状態における前記物体の接触の位置に、その中心又は重心がくるように配置させて、前記表示媒体に表示させる制御を実行する表示制御ステップと、
をさらに前記コンピュータに実行させ、
前記変化方向決定ステップは、前記第２状態における前記物体の移動方向に基づいて、前記ゲームキャラクタの動作の変化方向を決定するステップを含み、
前記動作量決定ステップは、前記第２状態における前記ラチェット関数の出力量に応じて、前記ゲームキャラクタの動作の所定量を決定するステップを含む、
請求項３に記載のプログラム。
【請求項５】
表示面への物体の接触の操作に応じて動作を変化させるゲームキャラクタを含む画像を、当該表示面に表示させる表示媒体と、
前記表示面への物体の接触の度合に応じて変化する、当該表示媒体に関する所定の物理量を検出する検出手段と、
を備える情報処理装置が実行する情報処理方法であって、
前記検出手段の検出結果を所定のラチェット関数に入力して、当該ラチェット関数の出力量を、外部に出力するラチェット関数出力ステップと、
前記ラチェット関数の出力量に応じて、前記ゲームキャラクタの動作の所定量を決定する動作量決定ステップと、
前記動作量決定ステップの処理で決定された前記所定量で、前記ゲームキャラクタの動作を変化させる制御を実行する動作制御実行ステップと、
前記検出手段の検出結果を入力し、当該検出結果が示す前記所定の物理量の変化時間及び変化量に基づいて割り込みをするか否かを判定し、割り込みをしないと判定した場合、当該検出結果を前記ラチェット関数出力ステップに提供し、割り込みをすると判定した場合、当該検出結果を前記ラチェット関数出力ステップに提供することを禁止するか、若しくは当該検出結果を加工して前記ラチェット関数出力ステップに提供する割り込み可否判定ステップと、
を含む制御処理を実行させ、
前記動作制御実行ステップは、前記割り込み可否判定ステップの処理において前記割り込みをすると判定された場合、前記ゲームキャラクタの動作に対する所定の割り込み処理を実行するステップを含む、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム及び情報処理方法に関する。
【背景技術】
【０００２】
従来、据置型のゲーム装置では、操作器具として、実物体のコントローラがゲーム装置本体とは別途設けられていた。
このような実物体のコントローラは、スマートフォン等の携帯端末で実行されるゲームの操作用途としては不適である。このため、携帯端末で実行されるゲームの操作用に、当該携帯端末のタッチパネルに表示される仮想コントローラが用いられている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】２０１４−４５９６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、携帯端末のタッチパネルに表示される従来の仮想コントローラは、当該携帯端末の画面上の比較的広い面積を占有してしまうと、ゲームキャラクタを含むゲーム内のオブジェクトの視認性を失うという問題がある。
特に、ゲームキャラクタの動作を指示操作する用途の従来の仮想コントローラは、当該仮想コントローラの中心からの指の移動距離に応じて、ゲームキャラクタの移動速度等を設定する指示操作を採用している。直感的にゲームキャラクタを移動させることができるからである。しかしながら、ゲームキャラクタの移動速度等を大きくしようとすると、その分だけ指の移動面積が大きくなるため、より視認性を損なうことになる。
従って、プレイヤーにとって指の移動面積を小さくしつつ、かつ、直感的にゲームキャラクタを移動させることができる仮想コントローラの実現が要求されている。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、プレイヤーにとって指の移動面積を小さくしつつ、かつ、直感的にゲームキャラクタを移動させることが可能となる仮想コントローラを実現可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一態様のプログラムは、
表示面への物体の接触の操作に応じて動作を変化させるゲームキャラクタを含む画像を、当該表示面に表示させる表示媒体と、
前記表示面への物体の接触度合に応じて変化する、当該表示媒体に関する所定の物理量を検出する第１検出手段と、
を備える端末を制御対象とするコンピュータに、
前記第１検出手段の検出結果を所定のラチェット関数に入力して、当該ラチェット関数の出力量を、外部に出力するラチェット関数出力ステップと、
前記ラチェット関数の出力量に応じて、前記ゲームキャラクタの動作の所定量を決定する動作量決定ステップと、
前記動作量決定ステップの処理で決定された前記所定量で、前記ゲームキャラクタの動作を変化させる制御を実行する動作制御実行ステップと、
を含む制御処理を実行させるものである。
【０００７】
本発明の一態様の上記情プログラムに対応する情報処理方法も、本発明の一態様の情報処理方法として提供される。
【発明の効果】
【０００８】
本発明によれば、プレイヤーにとって指の移動面積を小さくしつつ、かつ、直感的にゲームキャラクタを移動させることが可能となる仮想コントローラが実現可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係るプレイヤー端末１のハードウェア構成を示すブロック図である。
【図２】図１のプレイヤー端末１に表示されるバーチャルパッドによるキャラクターの基本的な操作方法を示す図である。
【図３】図２のキャラクタの移動速度の決定手法を説明する図である。
【図４】図３の決定手法で用いられるラチェット関数により、操作の連続性を確保できることを説明する図である。
【図５】割り込み処理の振る舞いを表した図である。
【図６】図１のプレイヤー端末の機能的構成の一例を示す機能ブロック図である。
【図７】図６の機能的構成のプレイヤー端末のうち割り込み可否判定部に適用された、割り込みの要否の判定手法の一例を説明する図である。
【図８】図６の機能的構成のプレイヤー端末のうちゲームキャラクタ動作量決定部に適用される、トランスミッション関数の各種例を表す図である。
【図９】図６の機能的構成のプレイヤー端末のうちゲームキャラクタ動作量決定部に適用される、トランスミッション関数の各種例を表す図である。
【図１０】図６の機能的構成のプレイヤー端末のうちゲームキャラクタ動作制御実行部による、キャラクタの動作の制御の具体例を示す図である。
【図１１】図６の機能的構成を有するプレイヤー端末１が実行する処理の流れの一例を説明するフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を用いて説明する。
【００１１】
なお、以下において、単に「画像」と呼ぶ場合には、「動画像」と「静止画像」との両方を含むものとする。
また、「動画像」には、次の第１処理乃至第３処理の夫々により表示される画像を含むものとする。
第１処理とは、平面画像（２Ｄ画像）におけるオブジェクト（例えばゲームキャラクタ）の夫々の動作に対して、複数枚からなる一連の静止画像を時間経過と共に連続的に切り替えて表示させる処理をいう。具体的には例えば、２次元アニメーション、いわゆるパラパラ漫画的な処理が第１処理に該当する。
第２処理とは、立体画像（３Ｄモデルの画像）におけるオブジェクト（例えばゲームキャラクタ）の夫々の動作に対応するゲームキャラクタの動作を設定しておき、時間経過と共に当該ゲームキャラクタの動作を変化させて表示させる処理をいう。具体的には例えば、３次元アニメーションが第２処理に該当する。
第３処理とは、オブジェクト（例えばゲームキャラクタ）の夫々の動作に対応した映像（即ち動画）を準備しておき、時間経過と共に当該映像を流していく処理をいう。
【００１２】
図１は、本発明の一実施形態に係るプレイヤー端末１のハードウェア構成を示すブロック図である。
【００１３】
プレイヤー端末１は、スマートフォン等で構成される。
プレイヤー端末１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２３と、バス２４と、入出力インターフェース２５と、タッチ操作入力部２６と、表示部２７と、入力部２８と、記憶部２９と、通信部３０と、ドライブ３１と、タッチ圧検出部４１、タッチ位置検出部４２を備えている。
【００１４】
ＣＰＵ２１は、ＲＯＭ２２に記録されているプログラム、又は、記憶部２９からＲＡＭ２３にロードされたプログラムに従って各種の処理を実行する。
ＲＡＭ２３には、ＣＰＵ２１が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【００１５】
ＣＰＵ２１、ＲＯＭ２２及びＲＡＭ２３は、バス２４を介して相互に接続されている。このバス２４にはまた、入出力インターフェース２５も接続されている。入出力インターフェース２５には、タッチ操作入力部２６、表示部２７、入力部２８、記憶部２９、通信部３０、及びドライブ３１が接続されている。
【００１６】
タッチ操作入力部２６は、タッチ圧検出部４１及びタッチ位置検出部４２を含み、プレイヤーにより入力されるタッチ操作を検出する。
ここで、タッチ操作とは、タッチ操作入力部２６に対する物体の接触の操作をいう。タッチ操作入力部２６に対して接触する物体は、例えばプレイヤーの指やタッチペン等である。なお、以下、タッチ操作がなされた位置を「タッチ位置」と呼び、タッチ位置の座標を「タッチ座標」と呼ぶ。
タッチ圧検出部４１は、例えば感圧センサにより構成され、タッチ操作入力部２６に対するタッチ操作により生じた圧力（以下、「タッチ圧」と呼ぶ）を検出する。
タッチ位置検出部４２は、例えば表示部２７に積層される静電容量式又は抵抗膜式（感圧式）の位置入力センサにより構成され、タッチ座標を検出する。
表示部２７は、液晶等のディスプレイにより構成され、ゲームに関する画像等、各種画像を表示する。
このように、本実施形態では、タッチ操作入力部２６及び表示部２７により、タッチパネルが構成されている。
なお、本明細書で「表示媒体」と呼ぶ場合、単に表示部２７を意味せず、タッチ操作入力部２６及び表示部２７から構成される「タッチパネル」を意味する。
【００１７】
ここで、タッチパネルにおけるタッチ操作の種類としては、例えば、スワイプとフリックが存在する。
ただし、スワイプもフリックも、表示媒体への物体の接触が開始された第１状態から、表示媒体への接触が維持されて物体の位置が変化又は維持する第２状態（タッチ位置が変化又は維持する第２状態）を経て、表示媒体への物体の接触が解除される第３状態（物体が表示媒体から離間する第３状態）まで至る一連の操作である点は変わらない。そこで、本明細書では、このような一連の操作をまとめて「スワイプ」と呼ぶことにする。
換言すると、本明細書でいう「スワイプ」は、一般的に呼ばれるスワイプの他、上述のフリック等も含まれる広義な概念である。
【００１８】
入力部２８は、各種ハードウェア釦等で構成され、プレイヤーの指示操作に応じて各種情報を入力する。
記憶部２９は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、各種データを記憶する。
通信部３０は、図示せぬインターネットを含むネットワークを介して他の装置（図示せぬサーバや図示せぬ他のプレイヤー端末）との間で行う通信を制御する。
【００１９】
ドライブ３１は、必要に応じて設けられる。ドライブ３１には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなる、リムーバブルメディア３２が適宜装着される。ドライブ３１によってリムーバブルメディア３２から読み出されたプログラムは、必要に応じて記憶部２９にインストールされる。また、リムーバブルメディア３２は、記憶部２９に記憶されている各種データも、記憶部２９と同様に記憶することができる。
【００２０】
このような図１のプレイヤー端末１の各種ハードウェアと各種ソフトウェアとの協働により、プレイヤー端末１でゲームの実行が可能になる。
例えば本実施形態では、図２に示すような３ＤバーチャルパッドＶＰを用いてゲームキャラクタＣを操作するゲームが、プレイヤー端末１で実行可能になる。
即ち、図２は、図１のプレイヤー端末１に表示される３ＤバーチャルパッドＶＰによるゲームキャラクタＣの基本的な操作方法を説明する図である。
【００２１】
図２の左方には、プレイヤーがタッチパネルでスワイプを行うことでゲームキャラクタＣの移動を指示操作するための仮想コントローラとして、３ＤバーチャルパッドＶＰが表されている。
ここで、３ＤバーチャルパッドＶＰとは、物理的な十字ボタンを模したＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）である。本実施形態の３ＤバーチャルパッドＶＰは、円の形状を有しており、その中心に対するプレイヤーのタッチ位置の方向により、ゲームキャラクタＣの移動方向を指示すると共に、当該プレイヤーのタッチ操作がなされた際のタッチ圧により、ゲームキャラクタＣの移動速度（加減速）を指示するためのＧＵＩである。
【００２２】
図２の右方には、プレイヤーのタッチパネルへのスワイプに応じて、ゲーム内の仮想空間を移動するゲームキャラクタＣが表されている。
ここで、ゲームキャラクタＣとは、ゲーム内のオブジェクトのうち、プレイヤーが操作可能なオブジェクトを意味する。つまり、ここでいう「ゲームキャラクタＣ」とは、図２に示す人間を模したオブジェクトだけでなく、自動車や飛行機、球技におけるボール等の無生物的なオブジェクトも含む広義の概念である。
【００２３】
本実施形態では、タッチパネルから離間していたプレイヤーの指等が当該タッチパネルに接触した時点、即ちスワイプの第１状態の時点では、３ＤバーチャルパッドＶＰは、プレイヤーが視認可能な状態ではないものとする。
その後、スワイプの第２状態に移行すると、図２の上方に示すように、スワイプの第１状態におけるタッチ位置を表示面上の中心或いは重心として、３ＤバーチャルパッドＶＰがプレイヤーに視認可能な状態で表示される。
つまり、プレイヤーにとっては、タッチパネルに対する最初のタッチ位置に、３ＤバーチャルパッドＶＰがあたかも出現したかのように視認される。
そして、プレイヤーが所定方向にスワイプをすると（スワイプの第２状態に移行すると）、ゲーム内の仮想空間において、所定方向に対応する方向にゲームキャラクタＣが低速で歩き始める。
【００２４】
さらに、本実施形態では、スワイプの第２状態（指を離間させない状態、即ちスワイプの第３状態に移行する前の状態）において、プレイヤーがタッチパネルを強く押下すると、タッチ圧（タッチ圧検出部４１の出力値）が大きくなる。これにより、図２の下方に示す様に、そのタッチ圧の強さに応じた移動速度となるように、ゲームキャラクタＣは加速して移動するようになる。
【００２５】
このように、タッチパネルを強く押し続けてゲームキャラクタＣが加速させていく操作は、例えば、自動車運転でのアクセル操作に類似するため、プレイヤーにとって直感的な操作である。
また、プレイヤーにとっては、タッチパネルに対するスワイプに加えて押下度合の強弱の操作をするだけで、ゲームキャラクタＣを縦横無尽に加減速させながら走らせることができる。これにより、３ＤバーチャルパッドＶＰは、既存の仮想コントローラと比べ、プレイヤーの指がタッチパネルの画面上で移動する範囲が小さくなるため、タッチパネルの画面上に表示されているオブジェクト（ゲームキャラクタＣ含む）の視認性を損なわせないようにすることができる。
即ち、スマートフォンのように比較的小さな表示画面を持つ端末をプレイヤー端末１として採用するとき、画面上に一時に表示できる量には限りがある。しかし、本実施形態のように、タッチパネルを指一本で押下するだけでゲームキャラクタＣを自在に動かせることができるようにして、プレイヤーの指の移動面積を小さくすることができれば、ゲーム実行中の表示面において、オブジェクト（ゲームキャラクタＣ含む）の視認性を確保することができる。
【００２６】
上述した様に、本実施形態では、タッチ圧（タッチ圧検出部４１の出力値）に応じて、ゲームキャラクタＣの移動速度（加減速量）が変化する。しかしながら、タッチ圧の生データの時系列は、プレイヤーが自然人である以上、安定せずに非連続（振動を繰り返したもの）になる。従って、タッチ圧の生データそのものを用いてゲームキャラクタＣの移動速度を決定すると、ゲームキャラクタＣの移動（加減速）は不安定となってしまう。
そこで、本実施形態では、図３に示す様に、タッチ圧を入力パラメータとしてラチェット関数に入力し、当該ラチェット関数の出力を用いてゲームキャラクタＣの移動速度を決定する、という手法が採用されている。
【００２７】
ここで、ラチェット関数とは、所定の物理量を入力パラメータとして入力する関数であって、当該所定の物理量が変動しても、これまでに入力された当該所定の物理量の最大量を出力する関数をいう。
【００２８】
図３の左方に示されているグラフは、タッチ圧（タッチ圧検出部４１の出力値）の生データの時系列の推移を示している。即ち、図３の左方において、縦軸はタッチ圧（タッチ圧検出部４１の出力値）を示し、横軸は時間を示している。つまり、グラフが連続している横軸の長さは、プレイヤーの指等がタッチパネルに接触している時間の長さを表す。
このように、タッチ圧（タッチ圧検出部４１の出力値）の生データの時系列は、非連続（振動が激しい）ことから、タッチ圧の生データをゲームキャラクタＣの移動速度の設定に用いると、ゲームキャラクタＣが不必要に加減速してしまい（加減速が非連続になってしまい）、不適である。
そこで、本実施形態では、図３に示すように、タッチ圧をラチェット関数の入力パラメータとして入力して、当該ラチェット関数の出力値を、ゲームキャラクタＣの移動速度の設定に用いる、という手法が採用される。
【００２９】
これにより、図４に示す様に、ラチェット関数の出力値、即ちタッチ圧の最大値を用いて、ゲームキャラクタＣの移動速度を決定することが可能になる。
つまり、ラチェット関数を適用することにより、図４の左方に示す非連続的なタッチ圧の変化を、図４の右方に示すように連続的な変化に変換することができる。このような連続的な変化を用いて、ゲームキャラクタＣの移動速度を設定することで、ゲームキャラクタＣは連続した加減速をすることができる。具体的には例えばタッチ圧が下がっても、タッチパネルからプレイヤーの指等が離間されない限り、ゲームキャラクタＣは、タッチ圧の最大値に応じた速度で、即ち不用意に移動速度を低下させずに、走り続けることができる。
このようにして、プレイヤーは、表示画面上の少ない面積の指の移動をするだけで、プレイヤー端末１のタッチパネルを強く押し続けなくても、直感的にゲームキャラクタＣの移動操作をすることができる。
【００３０】
さらに、このようなラチェット関数を適用することで、図５に示す様に、ゲームキャラクタＣの移動速度を制御しながら、当該ゲームキャラクタＣをジャンプさせる等の割り込み処理を適切に行うこともできる。
図５は、割り込み処理の振る舞いを表した図である。
【００３１】
ここで、割り込み処理とは、所定の処理実行中に、実行要求が外部（所定の処理の実行要求とは別の場所）から与えられる別の処理をいう。なお、外部から与えられる実行要求を、以下「割り込み」と呼ぶ。
本実施形態では、所定の処理としては、設定された移動方向に設定された移動速度でゲームキャラクタＣを移動させる処理が採用される。そして、例えばゲームキャラクタＣをジャンプさせる処理が、割り込み処理として採用される。つまり、設定された移動方向に設定された移動速度でゲームキャラクタＣが移動している最中に、割り込み処理が発生すると、当該ゲームキャラクタＣはジャンプすることになる。
なお、本実施形態では、割り込み処理はゲームキャラクタＣをジャンプさせる処理とするが、特にこれに限定されず、例えばゲームキャラクタＣの移動速度を減速させる処理でもよいし、また例えばゲームキャラクタＣに所定の攻撃動作をさせる処理でもよい。
【００３２】
ここで、割り込みの発生の条件は、特に限定されないが、本実施形態では、プレイヤーの指がタッチパネルに接触されている状態（それゆえ、ラチェット関数の出力値に応じた移動速度でゲームキャラクタＣが移動している状態）で、極短時間（例えば１００ミリ秒）だけタッチパネルへの押下度合を強め、その後押下度合を弱める操作が検出されるという条件が採用されている。
ここで、極短時間だけタッチパネルへの押下度合を強めて、その後押下度合を弱める操作をした場合、図５の左方のグラフのように、極短時間だけタッチ圧が急激に変化する。
図５に示す様に、この極短時間のタッチ圧の急激な変化が検出された場合、割り込みが発生する。これにより、ゲームキャラクタＣはジャンプすることになる。
ここで、この極短時間のタッチ圧の変化がそのままラチェット関数に入力（適用）されてしまうと、当該ラチェット関数の出力が変化してしまうことになる。そこで、この極短時間のタッチ圧の急激な変化が検出された場合、タッチ圧（生データ）はラチェット関数に入力されず、予め決められた所定値（例えば０）が入力される。これにより、ラチェット関数の出力値は変化せず、割り込みが発生しても、ゲームキャラクタＣは等速度運動を続けることができる。
【００３３】
このように本実施形態では、タッチ圧を、ラチェット関数の入力パラメータとして用いると共に、割り込みの発生要否を判定するものとして用いる。
これにより、プレイヤーは、タッチパネルに指を接触させた後、当該タッチパネルに対する押下度合の強弱を変化させる操作をするだけで、ゲームキャラクタＣが移動する際の加速及び瞬発的な動き（ジャンプ等）の両方を指示することができる。そして、このような指示操作をするＧＵＩが、３ＤバーチャルパッドＶＰである。
即ち、ゲームキャラクタＣの加速と瞬間的な動きの両方の操作を、タッチパネル上の３ＤバーチャルパッドＶＰに対する押下度合の加減で実現することができる。例えば、プレイヤーは、３ＤバーチャルパッドＶＰに対して、ある程度長い時間（例えば３００ミリ秒）押下度合を強めていくことでゲームキャラクタＣを加速させ、また、瞬間的（例えば１００ミリ秒程度の短時間）に強く押してすぐに弱めることで当該ゲームキャラクタＣに瞬発的な動き（ジャンプ等）をさせることができる。
このように３ＤバーチャルパッドＶＰは、スマートフォン等の表示面の少ない面積の指の移動で、ゲームキャラクタＣの移動の加減速命令と瞬発的な移動命令を途切れなく入力することができるＧＵＩである。
【００３４】
以上説明したラチェット関数や割り込みを適用したゲームキャラクタＣの移動の制御処理は、プレイヤー端末１におけるハードウェアとソフトウェアの協働により実現される。この場合、プレイヤー端末１は、例えば、図６に示す機能的構成を有することができる。
【００３５】
図６に示すように、プレイヤー端末１のＣＰＵ２１においては、割り込み可否判定部５１と、ラチェット関数出力部５２と、ゲームキャラクタ動作量決定部５３と、ゲームキャラクタ動作制御実行部５４と、表示制御部５５とが機能する。
さらに、記憶部２９の一領域として、トランスミッション関数ＤＢ６１が設けされている。
なお、図示はしないが、前提として、３ＤバーチャルパッドＶＰによるゲームキャラクタＣを操作するゲームについて、その実行を制御する機能ブロック（ゲーム実行部）がＣＰＵ２１において機能しているものとする。
【００３６】
タッチ圧検出部４１は、上述した様に、タッチパネル（表示部２７）への指の押下度合に応じて変化する、タッチ圧を検出する。
タッチ位置検出部４２は、タッチパネルへのタッチ位置（タッチ座標）を検出する。
具体的には、タッチ操作入力部２６のうち、タッチ位置検出部４２は、プレイヤーのタッチ座標（ｘ、ｙ）を検出し、タッチ圧検出部４１は、プレイヤーのタッチ操作時のタッチ圧を示す値（ｚ＝０〜１）を検出する。ここで、ｚ＝０はタッチ圧がないことを意味し、ｚ＝１はタッチ圧が検出可能な最大値であることを意味する。
【００３７】
割り込み可否判定部５１は、タッチ圧検出部４１の検出結果（タッチ圧）を入力し、当該検出結果の変化時間及び変化量に基づいて割り込み処理をするか否かを判定する。
本実施形態では、割り込み可否判定部５１は、タッチ圧検出部４１の検出結果に基づいて、「極短時間（例えば１００ミリ秒）だけタッチパネルへの押下度合を強め、その後押下度合を弱める操作」がなされたか否かを検出することで、割り込み処理をするか否かを判定する。
ここで、「極短時間だけタッチパネルへの押下度合を強め、その後押下度合を弱める操作」の検出手法は、タッチ圧検出部４１の検出結果（タッチ圧）の変化時間及び変化量に基づく手法であれば足りる。
例えば、本実施形態では図７に示す手法が採用されている。
即ち、図７は、図６の機能的構成のプレイヤー端末のうち割り込み可否判定部５１に適用された、割り込みの要否の判定手法の一例を説明する図である。
【００３８】
図７において、縦軸がタッチ圧を表し、横軸が時間を表している。なお、縦軸の最低値は、必ずしもタッチ圧が０を意味せず、所定の値であるものとする。
図７に示すように、タッチ圧の局地的変化が時間α内に起きており（変化時間が時間α内であり）、変化量ｄが閾値βを上回る場合、割り込み可否判定部５１は、「極短時間だけタッチパネルへの押下度合を強め、その後押下度合を弱める操作」であると検出し、割り込みをすると判定する、それ以外の場合割り込みをしないと判定する。
なお、時間αと閾値βは、設計者等が任意に変更可能な値である。
【００３９】
図６に戻り、割り込み可否判定部５１は、割り込みをしないと判定した場合、タッチ圧検出部４１の検出結果（タッチ圧）をそのままラチェット関数出力部５２に提供する。
【００４０】
これに対して、割り込み可否判定部５１は、割り込みをすると判定した場合、ゲームキャラクタ動作制御実行部５４に対して割り込みをする。この場合、割り込み可否判定部５１は、タッチ圧検出部４１の検出結果（タッチ圧）をラチェット関数出力部５２に提供することを禁止するか、若しくは当該検出結果を加工してラチェット関数出力部５２に提供する。
具体的には例えばタッチ圧検出部４１の検出結果（タッチ圧）が上述のようにｚ＝０〜１の値で与えられる場合、割り込み可否判定部５１は、割り込み処理をすると判定すると、当該検出結果を加工した値として「０」をラチェット関数出力部５２に提供する。
ここで、割り込みが発生する場合にも、タッチ圧がそのまま、ラチェット関数出力部５２に提供されると、次のような不具合が生じる。即ち、プレイヤーは割り込み（ゲームキャラクタＣのジャンプ指示等）のためにタッチ圧を強めただけなのに、当該タッチ圧がそのままラチェット関数に入力されると、最大値が更新されてしまう場合があり得る。このような場合、ラチェット関数の出力が上昇し、それに伴いゲームキャラクタＣの移動速度が上昇してしまう。つまり、プレイヤーは加速の指示操作をしていないと思っているにも関わらず、ゲームキャラクタＣが加速してしまうことになる、といった不具合が生じる。
そこで、このような不具合が生ずることを防止すべく、本実施形態では、割り込みをすると判定されたた場合、タッチ圧そのものではなく、その加工値「０」がラチェット関数出力部５２に供給される。これにより、プレイヤーが加速指示ではなく割り込み指示（ゲームキャラクタＣのジャンプ指示等）をした場合に、ラチェット関数の出力が不用意に上昇してしまうことを防止し、その結果、ゲームキャラクタＣの移動速度を等速度に保持することができる。
【００４１】
ラチェット関数出力部５２は、タッチ圧検出部４１の検出結果（より正確には割り込みをする場合には「０」等の加工値）を所定のラチェット関数に入力して、当該ラチェット関数の出力値を、ゲームキャラクタ動作量決定部５３に供給する。
ゲームキャラクタ動作量決定部５３は、ラチェット関数の出力に応じて、ゲームキャラクタＣの移動速度を決定する。
【００４２】
ここで、移動速度の決定手法は、ラチェット関数の出力量に基づいて決定する手法であれば足り、特に限定されない。
本実施形態では、ラチェット関数の出力をゲームキャラクタＣの移動速度に変換する関数（以下、「トランスミッション関数」と呼ぶ）として、複数種類のパターンが予めトランスミッション関数ＤＢ６１に保持されている。そして、これらの複数のパターンの中から所定のパターンのトランスミッション関数を抽出して、抽出したトランスミッション関数を利用してゲームキャラクタＣの移動速度を決定する、という手法が採用されている。
【００４３】
図８及び図９は、図６の機能的構成のプレイヤー端末１のうちゲームキャラクタ動作量決定部５３に適用される、トランスミッション関数の各種例を表す図である。
図８及び図９において、縦軸がトランスミッション関数の出力、即ちゲームキャラクタＣの移動速度を表し、横軸がトランスミッション関数の入力、即ちラチェット関数の出力を表している。
図８（Ａ）の例のトランスミッション関数は、人間のゲームキャラクタＣが走るときの加速の様子を模したものである。
図８（Ｂ）の例のトランスミッション関数は、自動車の加速の様子を模したもの、即ち、多段階のギアチェンジを模したものである。
図８（Ｃ）の例のトランスミッション関数は、飛行機の加速の様子を模したもの、即ち所定の瞬間まで徐々に加速し、当該所定の瞬間から指数関数的に一気に加速するようなジェットエンジンの振る舞いを模したものである。
【００４４】
このように、図８の例のトランスミッション関数は、ラチェット関数の出力が増大するほど、ゲームキャラクタＣの移動速度も増えていく各種パターン、即ち、加速をさせるパターンの例であった。
しかしながら、トランスミッション関数は、加速をさせるパターンに特に限定されず、図９に示す様に、減速を伴うパターンやリミットを伴うパターン、換言すると非線形なパターンを採用することもできる。
図９（Ａ）の例のトランスミッション関数は、ブレーキによる減速処理を行うような振る舞いを模したものである。
図９（Ｂ）に示すトランスミッション関数は、加速の後に減速する乗り物の制御を行うような振る舞いを模したものである。
図９（Ｃ）に示すトランスミッション関数は、例えば重い荷物を持っているために一定以上のスピードで走れない人間を表すような振る舞いを模したもの、即ち、移動速度にリミットを設けたものである。
なお、図８及び図９に示すトランスミッション関数は、例示に過ぎず、多種多彩な状況やゲームキャラクタＣの特徴に応じて、各種各様なパターンのものを採用することができる。
このように、複数パターンのトランスミッション関数を選択的に切り替えて使用することにより、人間、自動車、飛行機等、様々なゲームキャラクタＣの移動用に適用することが容易にできる。
また、敵に魔法をかけられて、移動が遅くなった状態等、ゲーム内の各種状態に応じた移動速度についても、複数パターンのトランスミッション関数を選択的に切り替えて使用することで容易に実現可能になる。
【００４５】
図６に戻り、ゲームキャラクタ動作制御実行部５４は、ゲームキャラクタ動作量決定部５３で決定された移動速度で、タッチ位置検出部４２の検出結果に基づく移動方向に、ゲームキャラクタＣを移動させる制御を実行する。
つまり、ゲームキャラクタ動作制御実行部５４は、ゲームキャラクタ動作量決定部５３により選択された加速や減速方法（トランスミッション関数の所定パターン）に基づいて決定される移動速度で、タッチ位置検出部４２により検出されたタッチ位置で決定される方向へ、ゲームキャラクタＣを移動させる制御を実行する。
また、このようなキャラクタの移動中に割り込み可否判定部５１からの割り込みが発生した場合、ゲームキャラクタ動作制御実行部５４は、所定の割り込み処理（例えばゲームキャラクタＣをジャンプさせる制御処理）を実行する。
【００４６】
表示制御部５５は、ゲームキャラクタ動作制御実行部５４で動作が制御されたゲームキャラクタＣを、ゲーム内の仮想空間に配置して表示部２７に表示させる制御を実行する。
【００４７】
表示制御部５５はまた、３ＤバーチャルパッドＶＰを表示部２７に表示させる制御も実行する。
即ち、ゲームキャラクタ動作制御実行部５４は、タッチ位置検出部４２の検出結果に基づいて、スワイプを検出し、そのスワイプの状態を表示制御部５５に通知する。
表示制御部５５は、３ＤバーチャルパッドＶＰを、表示部２７の表示面のうちスワイプの第１状態におけるタッチ位置に、その中心がくるように配置させて、当該表示部２７に表示させる制御を実行する。
ゲームキャラクタ動作制御実行部５４は、当該スワイプの第２状態における物体の移動方向（バーチャルパッドＶＰの中心から現在の指のタッチ位置に向かう方向）に基づいて、ゲームキャラクタＣの移動方向を決定する。
また、ゲームキャラクタ動作量決定部５３は、当該スワイプの第２状態におけるラチェット関数の出力に応じて、ゲームキャラクタＣの移動速度を決定する。
【００４８】
図１０は、ゲームキャラクタ動作制御実行部５４によるゲームキャラクタＣの動作の制御の具体例を示す図である。
図１０において、縦軸はタッチ圧又は移動速度を示し、横軸は時間を示す。点線ＴＰは、タッチ圧（タッチ圧検出部４１の出力値）の時間推移を表している。実線ＣＳは、当該タッチ圧を入力した際のラチェット関数の出力の時間推移を示している。図１０の例では、図８（Ａ）のトランスミッション関数が採用されている。つまり、実線ＣＳは、そのままゲームキャラクタＣの移動速度も示しているといえる。
【００４９】
図１０に示すように、本実施例では、プレイヤーがタッチパネルへの押下度合を徐々に増加させ、一定の押下度合になったところで、押下度合を緩める操作をしている。プレイヤーは、自然人であるので、押下度合を徐々に増加させているつもりでも、実際のタッチ圧ＴＰは変動して不連続になる。しかしながら、ラチェット関数を採用しているので、その出力に基づく移動速度ＣＳは、連続的に増加していく。つまり、ゲームキャラクタＣは、自然に加速していくことができる。
そして、プレイヤーが押下度合を緩める直前がタッチ圧ＴＰの最大値となるため、それ以降、移動速度ＣＳは定速度になる。つまり、ゲームキャラクタＣは、等速で走り続けることになる。
このように、ラチェット関数を採用することで、プレイヤーは、ゲームキャラクタＣが目的の速度に達した後は、タッチパネルへの押下度合を弱めることができるため、その後、割り込みを発生させるための瞬間的な押圧操作をすることができるようになる。ここで、瞬間的な押圧操作とは、上述したように、極短時間（例えば１００ミリ秒）だけタッチパネルへの押下度合を強めて、その後押下度合を弱める操作を意味する。
図１０の例では、プレイヤーは、３回の瞬間的な押圧操作をしていることがわかる。この瞬間的な押圧操作は、図７を用いて上述した様に、タッチ圧ＴＰの局地的変化が時間α内に起きており（変化時間が時間α内であり）、変化量ｄが閾値βを上回るという条件が満たされたときに検出される。そして、このような瞬間的な押圧操作が検出されると、割り込みが発生し、ゲームキャラクタＣはジャンプする。
ここで注意すべきは、ゲームキャラクタＣの移動速度は、０になるわけではく（即ちゲームキャラクタＣは静止するわけではなく）、一定速度を保持している（即ちゲームキャラクタＣは等速で走り続けながらジャンプをする）という点である。この点は、上述した様に、タッチ圧ＴＰの値をそのままラチェット関数に入力させるわけではなく、タッチ圧ＴＰの加工値（例えば０）をラチェット関数に入力させることで可能になる。
【００５０】
ここで、従来のハードウェアのコントローラ等を用い、テレビジョン受像機等をモニタとして用いるゲームでは、ゲームキャラクタＣを走らせながらジャンプをする等の指示操作は２本の指により行っていた。つまり、プレイヤーは、ゲームキャラクタＣの移動（移動方向及び移動速度）の指示は右手の指で、ゲームキャラクタＣのジャンプは左手の指で、別々にコントローラ等を操作することで、ゲームキャラクタＣを走らせながらジャンプをする等の指示操作を実現していた。
しかしながら、タッチパネルの表示面積がさほど大きくないスマートフォン等のプレイヤー端末１において、指２本を用いたタッチ操作を採用することは、ゲームキャラクタＣ等の表示を妨げることとなり不適である。
そこで、本実施形態のようにラチェット関数を採用することで、プレイヤーは、従来からあるスワイプと、押下度合の強弱操作とを組合せたタッチ操作、つまり、指一本のタッチ操作をするだけで、ゲームキャラクタＣを走らせながらジャンプをする等の操作指示をすることが容易にできるようになる。
【００５１】
次に、図１１を参照して、図６の機能的構成を有するプレイヤー端末１が実行する処理の流れについて説明する。
即ち、図１１は、図６の機能的構成を有するプレイヤー端末１が実行する処理の流れの一例を説明するフローチャートである。
【００５２】
ステップＳ１において、図３のタッチ圧検出部４１及びタッチ位置検出部４２は、プレイヤーの指又は物体がタッチパネルの画面上に接しているかどうかを検出する。
プレイヤーの指又は物体が画面上に接していない状態では、ステップＳ１においてＮＯであると判断されて、処理終了となる。
即ち、３ＤバーチャルパッドＶＰを用いたゲームキャラクタＣの動作を入力することは、プレイヤーの指又は物体が画面上に接していることが処理開始の条件であり、プレイヤーの指又は物体が画面上から離れることが処理終了の条件となっている。
従って、タッチ圧検出部４１及びタッチ位置検出部４２がプレイヤーの指又は物体が画面上に接している状態を検出した場合は、ステップＳ１においてＹＥＳであると判定されて、処理はステップＳ２に進む。
【００５３】
ステップＳ２において、タッチ圧検出部４１は、タッチ圧を検出し、タッチ位置検出部４２は、タッチ位置を検出する。
【００５４】
ステップＳ３において、割り込み可否判定部５１は、タッチ圧検出部４１の検出結果（タッチ圧の変化時間及び変化量）に基づいて、割り込み処理をするか否かを判定する。ステップＳ３の判定手法は、図７を用いて説明した通りであるので、ここではその説明は省略する。
割り込み可否判定部５１が割り込み処理をすると判定した場合には、ステップＳ３においてＹＥＳと判断されて、処理はステップＳ４に進む。
ステップＳ４において、割り込み可否判定部５１は、ゲームキャラクタ動作制御実行部５４に対して割り込みをする。即ち、割り込み可否判定部５１は、割り込み用のゲームキャラクタ動作（例えばジャンプ）を設定し、ゲームキャラクタ動作制御実行部５４に要求する。その後、処理はステップＳ１０に進む。なお、ステップＳ１０については後述する。
【００５５】
これに対して、割り込み可否判定部５１が割り込み処理をしないと判定した場合には、ステップＳ３においてＮＯと判断され、ステップＳ２で検出されたタッチ圧がラチェット関数出力部５２に提供されて、処理はステップＳ５に進む。
ステップＳ５において、ラチェット関数出力部５２は、ステップＳ２で検出されたタッチ圧の最大値が変化したかどうかを判定する。
タッチ圧の最大値が変化した場合には、ステップＳ５においてＹＥＳであると判断されて、処理はステップＳ６に進む。ステップＳ６において、ラチェット関数出力部５２は、タッチ圧の最大値を更新し、更新後の値でラチェット関数の出力をする。
これに対して、タッチ圧の最大値が変化していない場合には、ステップＳ５においてＮＯと判断されて、処理はステップＳ７に進む。ステップＳ７において、ラチェット関数出力部５２は、これまでに記録されたタッチ圧の最大値を用いて、ラチェット関数の出力をする。つまり、ラチェット関数の出力は変化しない。
このようにして、ステップＳ６又はＳ７の処理でラチェット関数の出力がなされると、処理はステップＳ８に進む。
【００５６】
ステップＳ８において、ゲームキャラクタ動作量決定部５３は、ラチェット関数出力部５２から出力されたラチェット関数の出力量に応じて、ゲームキャラクタＣの移動速度を決定する。
具体的には本実施形態では、ゲームキャラクタ動作量決定部５３は、ゲームの状況やゲームキャラクタＣの特徴等に基づいて、トランスミッション関数ＤＢ６１から所定パターンのトランスミッション関数を抽出する。ゲームキャラクタ動作量決定部５３は、ラチェット関数の出力量を入力パラメータとして、抽出したトランスミッション関数に入力させる。ゲームキャラクタ動作量決定部５３は、当該トランスミッション関数の出力値を、ゲームキャラクタＣの移動速度として決定する。
【００５７】
ステップＳ９において、ゲームキャラクタ動作量決定部５３は、ゲームキャラクタ動作制御実行部５４に対し、決定されたゲームキャラクタＣの移動速度での移動を、ゲームキャラクタ動作として設定し、ゲームキャラクタ動作制御実行部５４に要求する。
【００５８】
ステップＳ１０において、ゲームキャラクタ動作制御実行部５４は、ステップＳ４又はＳ０において要求されたゲームキャラクタ動作を実行するように制御する。
その後、処理はステップＳ１に戻され、それ以降の処理が繰り返される。即ち、プレイヤーの指又は物体が画面上から離れない限りは、ステップＳ１乃至Ｓ１０のループ処理が繰り返される。
【００５９】
以上、本発明の一実施例について説明したが、本発明は、上述の実施例に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【００６０】
例えば、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図６の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が情報処理システムに備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図６の例に限定されない。また、機能ブロックの存在場所も、図６に特に限定されず、任意でよい。
具体的には例えば、図６に示す各機能ブロックは、上述の実施形態ではネイティブアプリケーションとしてプレイヤー端末１に備えられていたが、ＨＴＭＬとＪａｖａＳｃｒｉｐｔ（登録商標）を用いてＷｅｂアプリケーションとして実装することで、図示せぬサーバ等に備えることもできる。
また、１つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【００６１】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えばサーバの他汎用のスマートフォンやパーソナルコンピュータであってもよい。
【００６２】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図示せぬリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。
【００６３】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
【００６４】
また例えば上述の例では、ゲームキャラクタＣの移動速度は、タッチ圧を入力する所定のラチェット関数の出力量に基づいて設定されていたが、特にこれに限定されない。
即ち、ラチェット関数の出力量に基づいて設定される量は、移動速度である必要は特に無く、ゲームキャラクタＣの動作の所定量であれば足りる。
また、ラチェット関数の入力パラメータも、タッチ圧である必要は特になく、タッチパネルの表示面への物体の接触度合に応じて変化する、当該タッチパネルに関する所定の物理量であれば足りる。例えば、タッチパネルに対する力覚や、タッチパネル（プレイヤー端末１）の振動量を、ラチェット関数の入力パラメータとして採用してもよい。
【００６５】
換言すると、本発明が適用されるプログラムは、上述の図１のプレイヤー端末１を含め、次のような構成を有する端末を制御対象とするコンピュータに実行させるものであれば足りる。
即ち、本発明が適用されるプログラムは、
表示面への物体の接触の操作に応じて動作を変化させるゲームキャラクタ（例えば図２等のキャラクタＣ）を含む画像を、当該表示面に表示させる表示媒体（例えば図１のタッチパネル、特に表示部２７）と、
前記表示面への物体の接触度合に応じて変化する、当該表示媒体に関する所定の物理量（例えば上述のタッチ圧）を検出する第１検出手段（例えば図１のタッチ圧検出部４１）と、
を備える端末を制御対象とするコンピュータに実行させるプログラムである。
このプログラムは、
前記第１検出手段の検出結果を所定のラチェット関数に入力して、当該ラチェット関数の出力量を、外部に出力するラチェット関数出力ステップ（例えば図６のラチェット関数出力部５２が実行するステップ）と、
前記ラチェット関数の出力量に応じて、前記ゲームキャラクタの動作の所定量を決定する動作量決定ステップ（例えば図６のゲームキャラクタ動作量決定部５３が実行するステップ）と、
前記動作量決定ステップの処理で決定された前記所定量で、前記ゲームキャラクタの動作を変化させる制御を実行する動作制御実行ステップ（例えば図６のゲームキャラクタ動作制御実行部５４が実行するステップ）と、
を含む。
【００６６】
このように、プレイヤーは表示面への指等の物体の移動距離ではなく、物体の接触度合を変化させるだけで、ゲームキャラクタの動作の所定量を変化さえることができる。つまり、プレイヤーにとって指の移動面積を小さくしつつ、かつ、直感的にゲームキャラクタを移動させることが可能となる仮想コントローラを実現可能とすることができる。
ここで、表示面への物体の接触度合に応じて変化する、当該表示媒体に関する所定の物理量は、プレイヤーが自然人である以上、非連続となってしまう（振動をしてしまう）。従って、当該所定の物理量をそのまま、ゲームキャラクタの動作の所定量の設定に用いると、ゲームキャラクタの動作の所定量の変化も非連続になってしまい不適である。
そこで、当該所定の物理量を所定のラチェット関数に入力して、当該ラチェット関数の出力量を、ゲームキャラクタの動作の所定量の設定に用いている。これにより、ゲームキャラクタの動作の所定量の変化が連続的になり好適である。
【００６７】
ここで、本発明が適用されるプログラムは、
前記第１検出手段の検出結果を入力し、当該検出結果が示す前記所定の物理量の変化時間及び変化量に基づいて割り込みをするか否かを判定し、割り込みをしないと判定した場合、当該検出結果を前記ラチェット関数出力ステップに提供し、割り込みをすると判定した場合、当該検出結果を前記ラチェット関数出力ステップに提供することを禁止するか、若しくは当該検出結果を加工して前記ラチェット関数出力ステップに提供する割り込み可否判定ステップ（例えば図６の割り込み可否判定部５１が実行するステップ）を
含む制御処理をさらに実行させ、
前記動作制御実行ステップは、前記割り込み可否判定ステップの処理において前記割り込みをすると判定された場合、前記ゲームキャラクタの動作に対する所定の割り込み処理を実行するステップを含む
ようにすることができる。
【００６８】
これにより、ゲームキャラクタの動作の所定量（移動速度等）を一定にしつつ、当該ゲームキャラクタの別動作をさせる割り込み処理を容易に実現することができる。
【００６９】
この割り込み処理による別動作は、特に限定されず、上述した様にジャンプ等を採用してもよい。この場合、ゲームキャラクタの動作の所定量（移動速度等）の指示操作と、当該ゲームキャラクタの別動作（ジャンプ等）の指示操作等を、指１本だけのタッチ操作で実現できるようになる。
具体的には例えば、ゲームキャラクタの動作の所定量として移動速度が採用されているときには、プレイヤーは、最初、徐々に指を押す力を強めていく操作をすることで、ゲームキャラクタを加速させていき、その後力を弱めることで、ラチェット関数の機能により、当該ゲームキャラクタを等速移動させることができる。
さらに、プレイヤーは、瞬間的に指の力を込める操作をすることで、割り込み処理として当該ゲームキャラクタに別動作（ジャンプ等）をさせることができる。
ここで、割り込みの場合、第１検出手段の検出結果をラチェット関数に入力することを禁止するか、若しくは当該検出結果を加工してラチェット関数に入力することになる。その結果、ゲームキャラクタは、等速移動を止めることなく、別動作（ジャンプ等）をすることもできる。
【００７０】
また、割り込み処理による別動作として、減速（ブレーキ）を採用してもよい。この場合、例えばゲームキャラクタの動作の所定量として移動速度が採用されているときには、プレイヤーは、上述の操作と同様にして、ゲームキャラクタを加速させて、一定速度になった後は等速移動させることができる。
さらに、プレイヤーは、瞬間的に指の力を込める操作をすることで、割り込み処理として当該ゲームキャラクタに対して減速命令（ブレーキ）を与えることができる。これにより、１本の指の押下力の増減だけで、キャラクタ移動の加速命令（“走る”等）と減速命令とを同時に実現できる。
つまり、プレイヤーにとって指の移動面積を小さくしつつ、かつ、直感的にゲームキャラクタを移動させることが可能となる仮想コントローラをより容易かつ適切に実現可能とすることができる。
【００７１】
また、本発明が適用されるプログラムにおいて、
前記ゲームキャラクタの動作量決定ステップは、前記ラチェット関数の出力量を前記ゲームキャラクタの動作の所定量に変換する１種以上のパターン（例えばトランスミッション関数のパターン）のうち、所定種類のパターンを用いて、前記ゲームキャラクタの動作の前記所定量を決定するステップを含む、
ようにすることができる。
【００７２】
これにより、拡張性やカスタマイズ性に優れた、ゲームキャラクタの動作の制御を容易に実現することができる。
即ち、パターン（トランスミッション関数のパターン等）を書き換えたり、選択的に用いることにより、人間、自動車、飛行機等、様々なゲームキャラクタの動作の指示操作を実現することができる。また、敵に魔法をかけられて、移動が遅くなった状態等、ゲーム内の状態に応じたゲームキャラクタの動作の制御も容易に実現可能になる。
【００７３】
また、本発明が適用されるプログラムにおいて、
前記端末は、さらに、前記表示媒体の前記表示面への物体の接触の位置を検出する第２検出手段（例えば図１等のタッチ位置検出部４２）をさらに備え、
前記動作制御実行ステップは、
前記第２検出手段の検出結果に基づいて、前記ゲームキャラクタの動作の変化方向を決定する変化方向決定ステップと、
前記変化方向決定ステップの処理で決定された前記変化方向に、前記動作量決定ステップの処理で決定された前記所定量で、前記ゲームキャラクタの動作を変化させる制御を実行する動作制御実行ステップと、
を含むようにすることができる。
【００７４】
これにより、ゲームキャラクタの動作の所定量（移動速度等）だけでなく、動作の変化方向（移動方向）等の制御も容易に実現可能になるので、多種多様な動作をするゲームキャラクタを含むゲームの実現が可能になる。
【００７５】
また、本発明が適用されるプログラムは、
前記第２検出手段の検出結果に基づいて、前記表示媒体への前記物体の接触が開始された第１状態から、前記表示媒体への接触が維持されて前記物体が移動する第２状態を経て、前記表示媒体への前記物体の接触が解除される第３状態に至るまでの一連の操作（上述のスワイプ）を検出する操作検出ステップと、
前記ゲームキャラクタの動作を指示操作するための所定の形状のコントローラ（例えば図２の円形状の３ＤバーチャルパッドＶＰ）を、前記表示媒体の前記表示面への前記第１状態における前記物体の接触の位置に、その中心又は重心がくるように配置させて、前記表示媒体に表示させる制御を実行する表示制御ステップと、
をさらに前記コンピュータに実行させ、
前記変化方向決定ステップは、前記第２状態における前記物体の移動方向に基づいて、前記ゲームキャラクタの動作の変化方向を決定するステップを含み、
前記動作量決定ステップは、前記第２状態における前記ラチェット関数の出力量に応じて、前記ゲームキャラクタの動作の所定量を決定するステップを含む、
ようにすることができる。
【００７６】
上述した様に、仮想のコントローラの形状は、上述した実施形態では図２に示すように円形状とされたが、特にこれに限定されず、ゲームキャラクタの動作を指示操作することが可能であれば任意の形状とすることができる。
また、表示制御ステップの制御により、仮想のコントローラを表示媒体に表示させるタイミングは、特に限定されない。
即ち、上述した実施形態では、タッチパネルから離間していたプレイヤーの指等が当該タッチパネルに接触した時点、即ちスワイプの第１状態の時点では、仮想のコントローラの一例である３ＤバーチャルパッドＶＰは、プレイヤーが視認可能な状態ではないものとされた。そして、スワイプの第２状態に移行すると、図２の上方に示すように、スワイプの第１状態におけるタッチ位置を表示面上の中心或いは重心として、３ＤバーチャルパッドＶＰがプレイヤーに視認可能な状態で表示された。
しかしながら、このような表示は例示に過ぎない。即ち、３ＤバーチャルパッドＶＰ等の仮想のコントローラは、プレイヤーのタッチ操作とは独立して、表示媒体の所定位置に元々表示されていてもよい。つまりプレイヤーから常に視認可能な場所に、仮想のコントローラを表示させておくこともできる。
【００７７】
このようにして、プレイヤーにとって指の移動面積を小さくしつつ、かつ、直感的にゲームキャラクタを移動させることが可能となる仮想コントローラはより簡単に実現可能になる。
さらに、このようにして実現される仮想のコントローラは、既存のバーチャルパッドとの互換性に優れたものである。
即ち、画面上に表示されるＵＩとして、既存のバーチャルパッドと全く同一のものを採用することができるため、既存のバーチャルパッドと同じ操作性で使用することができる。従って、このようにして実現される仮想のコントローラは、第１検出手段（感圧センサ等）を有しないスマートフォン上では、既存のバーチャルパッドとしてふるまうことができる。つまり、このようにして実現される仮想のコントローラは、既存のバーチャルパッドの上位互換技術として使用することが可能になる。
【符号の説明】
【００７８】
１・・・プレイヤー端末、２１・・・ＣＰＵ、４１・・・タッチ圧検出部、４２・・・タッチ位置検出部、５１・・・割り込み可否判定部、５２・・・ラチェット関数出力部、５３・・・ゲームキャラクタ動作量決定部、５４・・・ゲームキャラクタ動作制御実行部、５５・・・表示制御部、６１・・・トランスミッション関数ＤＢ
【要約】
【課題】プレイヤーにとって指の移動面積を小さくしつつ、かつ、直感的にゲームキャラクタを移動させることが可能となる仮想コントローラを実現可能とすること。
【解決手段】タッチ圧検出部４１は、表示部２７の表示面へのタッチ操作の度合に応じて変化する、タッチ圧を検出する。割り込み可否判定部５１は、タッチ圧の変化時間及び変化量に基づいて割り込みをするか否かを判定する。ラチェット関数出力部５２は、割り込みをしない場合、タッチ圧を所定のラチェット関数に入力して、当該ラチェット関数の出力量をゲームキャラクタ動作量決定部５３に供給する。ゲームキャラクタ動作量決定部５３は、ラチェット関数の出力量に応じて、ゲームキャラクタＣのゲームキャラクタの移動速度を決定する。
【選択図】図６【図１】
0006005831.tif 000002
【図２】
0006005831.tif 000003
【図３】
0006005831.tif 000004
【図４】
0006005831.tif 000005
【図５】
0006005831.tif 000006
【図６】
0006005831.tif 000007
【図７】
0006005831.tif 000008
【図８】
0006005831.tif 000009
【図９】
0006005831.tif 000010
【図１０】
0006005831.tif 000011
【図１１】
0006005831.tif 000012