(57)【特許請求の範囲】
【請求項１】
入力イベントの所定のシーケンスにより表される所定のコマンドに対応するアクションを複数種類含むゲームを実行するコンピュータに、
表示媒体への物体の接触又は近接の操作による入力イベントを検出する入力検出ステップと、
前記入力検出ステップにおける検出結果の履歴に基づいて、前記複数種類のコマンドのうち入力コマンドと推定されるものを、推定コマンドとして決定する推定ステップと、
前記推定コマンドに関連する画像を前記表示媒体に表示させる制御を実行する表示制御ステップと、
前記推定コマンドが所定の条件を満たした場合、当該推定コマンドを前記入力コマンドとして確定するコマンド確定ステップと、
確定された前記入力コマンドに対応するアクションを実行するアクション実行ステップと、
を含む制御処理を実行させる情報処理プログラムであって、
前記表示制御ステップとして、
前記推定ステップにおいて第１推定コマンドが決定された場合、当該第１推定コマンドに対応する第１画像を前記表示媒体に表示させ、
その後、前記コマンド確定ステップにおいて前記入力コマンドが確定されるまでの間に、前記推定ステップにおいて第２推定コマンドが決定された場合、前記第１画像の表示を中止して、当該第２推定コマンドに対応する第２画像を前記表示媒体に表示させる
制御処理を実行させる情報処理プログラム。
【請求項２】
前記入力イベントの検出から前記アクションの実行までの期間が予め規定されており、
前記第１画像および前記第２画像は、前記期間の長さを有する動画像であり、
前記期間内の所定タイミングで前記第１推定コマンドから前記第２推定コマンドに切り替わった場合、前記表示制御ステップとして、前記第２画像の表示開始点を前記期間のうち前記所定タイミングとして、前記第２画像の表示を開始する
制御処理を実行させる請求項１に記載の情報処理プログラム。
【請求項３】
情報処理装置が実行する、入力イベントの所定のシーケンスにより表される所定のコマンドに対応するアクションを複数種類含む情報処理方法において、
表示媒体への物体の接触又は近接の操作による入力イベントを検出する入力検出ステップと、
前記入力検出ステップにおける検出結果の履歴に基づいて、前記複数種類のコマンドのうち入力コマンドと推定されるものを、推定コマンドとして決定する推定ステップと、
前記推定コマンドに関連する画像を前記表示媒体に表示させる制御を実行する表示制御ステップと、
前記推定コマンドが所定の条件を満たした場合、当該推定コマンドを前記入力コマンドとして確定するコマンド確定ステップと、
確定された前記入力コマンドに対応するアクションを実行するアクション実行ステップと、
を含み、
前記表示制御ステップとして、
前記推定ステップにおいて第１推定コマンドが決定された場合、当該第１推定コマンドに対応する第１画像を前記表示媒体に表示させ、
その後、前記コマンド確定ステップにおいて前記入力コマンドが確定されるまでの間に、前記推定ステップにおいて第２推定コマンドが決定された場合、前記第１画像の表示を中止して、当該第２推定コマンドに対応する第２画像を前記表示媒体に表示させる
制御を実行するステップを含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラムおよび情報処理方法に関する。
【背景技術】
【０００２】
従来より、携帯機器には、表示装置と入力装置とを兼ね備えたタッチスクリーンが多用されている。
タッチスクリーンを用いた入力インターフェイスとしては、図９に示すボタン表示型のユーザ・インターフェイスと、図１０に示す位置独立型のユーザ・インターフェイスとが存在する。
【０００３】
ボタン表示型のユーザ・インターフェイスでは、図９に示すように、入力用のボタンや十字キーの他入力イベントに関連する各種特定表示５０１乃至５１０が、主要な画像（人や風景の画像）の上に重畳表示される。そして、ボタンを示す特定表示５０１や十字キーを示す特定表示５０２等の限られた場所に、プレイヤーの指がタッチされた場合にのみ、入力イベントが検出される。
【０００４】
これに対して、位置独立型のユーザ・インターフェイスでは、図１０に示すように、特定表示５０１乃至５１０は存在せず、主要な画像（人や風景の画像）が隠されずに表示された状態で、画面（タッチスクリーン）の任意の場所にプレイヤーの指６０１がタッチされると、入力イベントが検出される。
【０００５】
このように、画面（タッチスクリーン）上の任意の場所をタッチ操作できる位置独立型のユーザ・インターフェイスは、画面上にボタンや十字キーを常時表示する必要があるボタン表示型のユーザ・インターフェイスと比較して、画面サイズに制限のあるスマートフォン等の携帯端末でゲームを実行する場合に特に有効である。
【０００６】
ただし、位置独立型のユーザ・インターフェイスを採用するゲームでは、ユーザの１つのタッチ操作から、１つのアクションをユニークに（一意に）決定することができない。
例えば、ユーザが画面上の一部をタッチした瞬間では、その場所に表示されているアイテムやキャラクターを選択するためのワンタップ操作であったのか、それとも、スクリーンを連続的にタップする操作の開始なのか、それとも、方向指示を行うためのスワイプ操作の開始なのかを一意に特定することは困難である。
そのため、従来の位置独立型ユーザ・インターフェイスでは、すべての操作を一意に決定できるように、ユーザが入力する内容を著しく制限する手法や、タップするエリアを大まかに分類する手法、入力内容をリアルタイムに画面上にフィードバックすることにより、ユーザが誤入力を直ちに認識できるようにする手法等が採用されてきた（例えば特許文献１参照）。
【０００７】
また、ゲームとは異なる分野では、位置独立型のユーザ・インターフェイスとして、ジェスチャー入力がよく知られている。例えば、特許文献２には、円、四角等の図形、チェックマークやクエスチョンマーク等の記号、アルファベット等の文字を組み合わせたジェスチャーを認識する機能、および、ユーザが独自にジェスチャーをカスタマイズする機能を有するユーザ・インターフェイスが開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１１−０７６５８８号公報
【特許文献２】米国特許第８３７９０９８号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１および２を含む従来の技術では、入力イベントのシーケンスから表されるコマンドを即座に識別することができないため、アクションゲームやリアルタイム性の高いＲＰＧゲームのユーザ・インターフェイスとしては、不適切である。
そこで、コマンドの多様性とユーザ視点での高応答性を実現可能な位置独立型ユーザ・インターフェイスの実現が、スマートフォン等の携帯機器向け用ゲームにおいて要求されている。
【００１０】
本発明は、このような状況に鑑みてなされたものであり、コマンドの多様性とユーザ視点での高応答性を実現可能な位置独立型ユーザ・インターフェイスを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明の一態様の情報処理プログラムは、
入力イベントの所定のシーケンスにより表される所定のコマンドに対応するアクションを複数種類含むゲームを実行するコンピュータに、
表示媒体への物体の接触又は近接の操作による入力イベントを検出する入力検出ステップと、
前記入力検出ステップにおける検出結果の履歴に基づいて、前記複数種類のコマンドのうち入力コマンドと推定されるものを、推定コマンドとして決定する推定ステップと、
前記推定コマンドに関連する画像を前記表示媒体に表示させる制御を実行する表示制御ステップと、
前記推定コマンドが所定の条件を満たした場合、当該推定コマンドを前記入力コマンドとして確定するコマンド確定ステップと、
確定された前記入力コマンドに対応するアクションを実行するアクション実行ステップと、
を含む制御処理を実行させる情報処理プログラムであって、
前記表示制御ステップとして、
前記推定ステップにおいて第１推定コマンドが決定された場合、当該第１推定コマンドに対応する第１画像を前記表示媒体に表示させ、
その後、前記コマンド確定ステップにおいて前記入力コマンドが確定されるまでの間に、前記推定ステップにおいて第２推定コマンドが決定された場合、前記第１画像の表示を中止して、当該第２推定コマンドに対応する第２画像を前記表示媒体に表示させる
制御処理を実行させる。
【００１２】
このように、入力コマンドの確定前に、入力イベントの履歴に基づいて推定コマンドが決定されて、推定コマンドに関連する画像が表示媒体に表示される。そして、所定の条件を満たした推定コマンドが入力コマンドとして確定されて、当該入力コマンドに対応するアクションが実行される。これにより、多種のコマンドの確保が容易になると共に、（推定コマンドの画像の表示切替等により）ユーザ視点でのコマンドの高応答性が実現できる。従って、コマンドの多様性とユーザ視点での高応答性を実現可能な位置独立型ユーザ・インターフェイスを提供することができる。
さらに、推定コマンドが何であるのかを、リアルタイムかつ適切にプレイヤーに提示することができるので、コマンドの多様性とユーザ視点での高応答性をより適切に実現することが可能になる。
【００１３】
本発明の別の態様の情報処理プログラムにおいて、前記入力イベントの検出から前記アクションの実行までの期間が予め規定されており、
前記第１画像および前記第２画像は、前記期間の長さを有する動画像であり、
前記期間内の所定タイミングで前記第１推定コマンドから前記第２推定コマンドに切り替わった場合、前記表示制御ステップとして、前記第２画像の表示開始点を前記期間のうち前記所定タイミングとして、前記第２画像の表示を開始する
制御処理を実行させる。
【００１４】
これにより、アクションの実行までの期間において、推定コマンドの動画像が違和感なく表示され、推定コマンドの動画像が終了すると、最後の動画像に対応するコマンドが入力コマンドとしてアクションが実行される。これにより、ユーザにとって違和感なく、ゲームを実行させることができる。
【００１５】
本発明の一態様の情報処理方法は、上述の本発明の一態様の情報処理プログラムに対応する情報処理方法である。
【発明の効果】
【００１６】
本発明によれば、コマンドの多様性とユーザ視点での高応答性を実現可能な位置独立型ユーザ・インターフェイスを提供できる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態に係る情報処理装置の機能的構成を示す機能ブロック図である。
【図２】図１の情報処理装置における入力イベントの入力確率の変化の例を示す図である。
【図３】図２の変化例に基づくスケジューリングの例を示す図である。
【図４】図３のスケジューリングの結果の例を示す図である。
【図５】、図２乃至図４の例にあわせて、図１の情報処理装置の各部の機能を模式的に示した図である。
【図６】図１の情報処理装置が用いるタッチイベントマトリックスの例を示す図である。
【図７】図１の情報処理装置が用いるタッチイベントマトリックスの別の例を示す図である。
【図８】図１の情報処理装置の状態遷移の例を示す状態遷移図である。
【図９】ボタン表示型のユーザ・インターフェイスを説明する図である。
【図１０】位置独立型のユーザ・インターフェイスを説明する図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について、図面を用いて説明する。
【００１９】
なお、以下において、単に「画像」と呼ぶ場合には、「動画像」と「静止画像」との両方を含むものとする。
また、「動画像」には、次の第１処理乃至第３処理の夫々により表示される画像を含むものとする。
第１処理とは、平面画像（２Ｄ画像）におけるオブジェクト（例えばゲームキャラクタ）の夫々の動作に対して、複数枚からなる一連の静止画像を時間経過と共に連続的に切り替えて表示させる処理をいう。具体的には例えば、２次元アニメーション、いわゆるパラパラ漫画的な処理が第１処理に該当する。
第２処理とは、立体画像（３Ｄモデルの画像）におけるオブジェクト（例えばゲームキャラクタ）の夫々の動作に対応するモーションを設定しておき、時間経過と共に当該モーションを変化させて表示させる処理をいう。具体的には例えば、３次元アニメーションが第２処理に該当する。
第３処理とは、オブジェクト（例えばゲームキャラクタ）の夫々の動作に対応した映像（即ち動画）を準備しておき、時間経過と共に当該映像を流していく処理をいう。
【００２０】
図１は、本発明の一実施形態に係る情報処理装置１０の構成を示している。
本実施形態における情報処理装置１０は、コンピュータおよびその周辺装置に適用される。本実施形態における各部は、コンピュータおよびその周辺装置が備えるハードウェア並びに当該ハードウェアを制御するソフトウェアによって構成される。
【００２１】
上記ハードウェアには、制御部としてのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の他、記憶部、通信部、表示部および入力部が含まれる。記憶部としては、例えば、メモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＲＯＭ：Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ等）、ハードディスクドライブ（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、光ディスク（ＣＤ：Ｃｏｍｐａｃｔ  Ｄｉｓｋ、ＤＶＤ：Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ等）ドライブ等が挙げられる。通信部としては、例えば、各種有線および無線インターフェイス装置が挙げられる。表示部としては、例えば、液晶ディスプレイ等の各種ディスプレイが挙げられる。入力部としては、例えば、キーボードやポインティング・デバイス（マウス、トラッキングボール等）が挙げられる。
【００２２】
本実施形態の情報処理装置１０は、入力部と表示部とを兼ね備えた表示媒体として、タッチスクリーン４０を設けている。
タッチスクリーン４０の入力部は、例えば表示部の表示領域に積層される静電容量式又は抵抗膜式の位置入力センサにより構成され、タッチ操作がなされた位置の座標を検出する。ここで、タッチ操作とは、表示媒体たるタッチスクリーン４０（正確にはそのうちの入力部）に対する物体（ユーザの指やタッチペン等）の接触又は近接の操作をいう。なお、以下、タッチ操作がなされた位置を「タッチ位置」といい、タッチ位置の座標を「タッチ座標」という。
【００２３】
また、上記ソフトウェアには、上記ハードウェアを制御するコンピュータ・プログラムやデータが含まれる。コンピュータ・プログラムやデータは、記憶部により記憶され、制御部により適宜実行、参照される。また、コンピュータ・プログラムやデータは、通信回線を介して配布されることも可能であり、ＣＤ−ＲＯＭ等のコンピュータ可読媒体に記録して配布されることも可能である。
【００２４】
本実施形態の情報処理装置１０は、このようなハードウェアとソフトウェアの協働による各種動作をすべく、図１に示すような機能的構成を有している。
【００２５】
情報処理装置１０は、制御部３０とタッチスクリーン４０とを備える。制御部３０は、入力検出部３１と、推定部３２と、表示制御部３３と、コマンド確定部３４と、アクション実行部３５とを備える。
【００２６】
入力検出部３１は、タッチスクリーン４０（入力部）に対するタッチ操作による入力イベントを検出する。
【００２７】
推定部３２は、入力検出部３１における検出結果の履歴に基づいて、複数種類のコマンドのうち入力コマンドと推定されるものを、推定コマンドとして決定する。
即ち、推定コマンドは、入力コマンドであろうと推定されているものをいい、入力コマンドは、後述するコマンド確定部３４によって確定されたものをいう。
具体的には、推定部３２は、確率演算部３２１と推定コマンド決定部３２２とを備える。確率演算部３２１は、入力イベントの履歴に基づいて複数種類のコマンドの夫々の入力確率を演算する。ここで、入力確率（Ｉｎｐｕｔ  Ｐｒｏｂａｂｉｌｉｔｙ）とは、所定コマンドが入力コマンドとなり得る確率をいう。
推定コマンド決定部３２２は、演算された入力確率が最高のコマンドを推定コマンドとして決定する。
【００２８】
表示制御部３３は、推定コマンドに関連する画像を表示媒体（例えばタッチスクリーン４０の表示部）に表示させる制御を実行する。
具体的には例えば、表示制御部３３は、推定部３２において第１推定コマンドが決定された場合、当該第１推定コマンドに対応する第１画像を表示媒体に表示させる。その後、コマンド確定部３４において入力コマンドが確定されるまでの間に、推定部３２において第２推定コマンドが決定された場合、表示制御部３３は、第１画像の表示を中止して、当該第２推定コマンドに対応する第２画像を表示媒体に表示させる。このような表示制御部３３による表示制御の詳細や具体例については、図２、図３および図４を参照して後述する。
【００２９】
コマンド確定部３４は、推定コマンドが所定の条件を満たした場合、当該推定コマンドを入力コマンドとして確定する。
所定の条件は、特に限定されないが、本実施形態では、入力確率が１００％に達した推定コマンドであるという第１条件と、例えば所定の時間（例えば、３０フレーム）が経過した時点での推定コマンドになっているという第２条件とが採用されている。なお、第１条件と第２条件は「Ｏｒ条件」である。即ち、第１条件と第２条件の何れか一方が満たされた場合が、推定コマンドが所定の条件を満たした場合になる。
【００３０】
アクション実行部３５は、入力コマンドに対応するアクションを実行する。具体的には例えば、敵が存在するゲームの実行中においては、アクション実行部３５は、入力コマンドに対応する、敵へのダメージ計算等を行い、その計算結果に応じた内容の画像を表示させる。
【００３１】
さらに以下、図２以降の図面を参照して、本実施形態の情報処理装置１０をゲームに適用した場合について詳細に説明する。
本実施形態の情報処理装置１０は、プレイヤーが入力しようとしているコマンドに曖昧性がある状況において、夫々のコマンドについて、入力されているコマンドを推定する確率として、上述の入力確率を連続的に計算する。そして、情報処理装置１０は、その入力確率の変化に応じて、ゲーム内のキャラクターのモーションの再生処理、および、コマンドの実行処理をスケジューリングする。
ここで、スケジューリングとは、処理を加工したり変更することをいい、例えば、あるコマンドに対応するモーション再生の一部を省略する処理、入力確率の変化に応じて別のコマンドに対応する別のモーション再生を途中から開始する処理、モーションの再生を省略し、直ちにコマンドを実行してその結果を表示する処理、別のアクションに関する動画像を途中から再生する処理を含む。
このようなスケジューリングが行われるゲームにおいては、コマンド、モーション、およびアクションの用語は、次のような意味を有する。
コマンドは、ゲーム内において１つの機能に対応する入力イベントのシーケンスを示す。例えば本実施形態では、“攻撃”を行うためには画面を１回タップする、プレイヤー・キャラクターをジャンプさせるためには画面を２回タップする、道具を使うためには画面を長押しする、攻撃のためのターゲット選択のためには、敵キャラクターをタップする等、タッチスクリーン４０に対する１以上のシーケンシャルなタッチ操作により、１のコマンドが表される。
モーションとは、画面上に表示されるキャラクターの動きを示す。モーションは、レンダリングされる２Ｄ／３Ｄ要素のみを示しており、実際の当たり判定（ｈｉｔ−ｔｅｓｔｉｎｇ）等は含まない。
アクションとは、コマンドを実行した結果行われる、実際の当たり判定等のゲーム上影響のある処理を示す。また、アクションは、当たり判定の成否の結果を画面上に表示する処理も含む。
【００３２】
図２は、本発明の一実施形態に係る情報処理装置１０における入力イベントの入力確率の変化の例を示す図である。図３は、図２の変化例に基づくスケジューリングの例を示す図である。図４は、図３のスケジューリングの結果の例を示す図である。
図５は、図２乃至図４の例にあわせて、図１の情報処理装置１０の各部の機能を模式的に示した図である。
【００３３】
図２乃至図５の例では、説明の便宜上、コマンドＡ（１回のタップ、即ち、シングルタップで発動するコマンド）と、コマンドＢ（２回のタップ、即ち、ダブルタップで発動するコマンド）とのみが定義されているものとする。
また、１つのコマンドの描画と実行とに３０フレームを使用するものとする。なお、３０フレームは、３０ＦＰＳ（Ｆｒａｍｅｓ  Ｐｅｒ  Ｓｅｃｏｎｄ）のゲームでは１秒間に相当する。
【００３４】
まず、プレイヤーは、タッチスクリーン４０に対してスワイプし、キャラクター１０１を移動させる。このとき、コマンドＡ、および、コマンドＢは、ともに発生確率が０％のままである。
【００３５】
次に、プレイヤーは、タッチスクリーン４０に対して１回のタップを行ったものとする。このとき、図５の入力検出部３１は、図２に示すように、当該タップを入力イベント２０１として検出する。
そして、図５の確率演算部３２１は、コマンドＡとＢの夫々の入力確率（夫々のコマンドＡ，Ｂが入力コマンドとなり得る各確率）を算出する。
ここで、コマンドＡは、コマンドＢよりも単純な操作で表される。このため、図２に示すように、１回のタップが行われた時点では、コマンドＡの入力確率の方が、コマンドＢの入力確率よりも少しだけ高くなるように算出される。
従って、図５の推定コマンド決定部３２２は、入力確率が最高のコマンドＡを推定コマンドとして決定する。
そこで、図３および図４に示すように、図５の表示制御部３３は、コマンドＡに対応するモーションの描画処理２１１を開始する。即ち、キャラクターの表示として、モーション表示１０２が開始される。
【００３６】
その後も、確率演算部３２１は、入力検出部３１における検出結果の履歴に基づいて、コマンドＡとＢの夫々の入力確率を逐次的に算出する。
即ち、入力イベント２０１が検出された後、後述する次の入力イベント２０２が検出されるまでの間は、１回のタップ（入力イベント２０１）が行われた後、所定時間の間には入力イベントが行われていない、という検出結果の履歴になる。
この場合、入力イベントが行われていない所定時間が長くなるほど、１回のタップで終了する確率が高くなる。従って、図２の点線で示すように、コマンドＡの入力確率は徐々に高くなっていく。これに対して、図２の実線で示すように、コマンドＢの入力確率は一定のままとなる。
従って、推定コマンド決定部３２２は、コマンドＡを推定コマンドとする決定結果を維持する。このため、図３および図４に示すように、表示制御部３３は、コマンドＡに対応するモーションの描画処理２１１を継続する。つまり、キャラクターの表示は、モーション表示１０２のまま継続する。
【００３７】
しかし、その後、例えば描画開始してから１５フレーム後に、プレイヤーが２回目のタップを行ったものとする。
このとき、入力検出部３１は、図２に示すように、当該タップを入力イベント２０２として検出する。
この場合、２回のタップ（入力イベント２０１および２０２）が行われた、という検出結果の履歴になる。本例では、１回のタップのコマンドＡと、２回のタップのコマンドＢとしか定義されていないので、確率演算部３２１は、コマンドＡの入力確率を０％と算出すると共に、コマンドＢの入力確率を１００％と算出する。
即ち、最高の入力確率が、コマンドＡの入力確率から、コマンドＢの入力確率に変化する。
そこで、図３および図４に示すように、表示制御部３３は、コマンドＡに対応するモーションの描画処理２１１を中止して、コマンドＢに対応するモーションの描画処理２１２を開始する。つまり、キャラクターの表示は、モーション表示１０２からモーション表示１０３に変化する。
ここで、本実施形態では、コマンドＢに対応するモーション表示１０３は、最初の１５フレームはスキップされ、１６フレーム目から開始される。
【００３８】
より一般的にいえば、入力イベントの検出（本例では入力イベント２０１）からアクションの実行までの期間（本例では３０フレーム）が予め規定されている。そして、コマンドＡに対応する第１画像（本例ではモーション表示１０２に相当）と、コマンドＢに対応する第２画像（本例ではモーション表示１０３に相当）とは、上記予め規定された期間（本例では３０フレーム）の長さを有する動画像である。
上記期間内の所定タイミング（１５フレーム描画後のタイミング）で推定コマンドがコマンドＡからコマンドＢに切り替わった場合、表示制御部３３は、第２画像の表示開始点を上記期間の所定タイミング（１５フレーム描画後のタイミングなので１６フレーム目から）として、第２画像の表示を開始する。
【００３９】
ただし、これは例示に過ぎず、例えば、第２画像（コマンドＢのモーション）の最初の１フレーム目から３０フレーム目までを、フレームの間引き再生（早送り再生）等を利用することで、１５フレーム期間内に描画するようにしてもよい。
【００４０】
ところで、入力イベント２０２の段階で、コマンドＢの入力確率は１００％となる。そこで、図５のコマンド確定部３４は、コマンドＢを入力コマンドとして確定する。
【００４１】
図５のアクション実行部３５は、コマンドＢのモーション表示１０３が３０フレーム目まで描画された後（最初の入力イベント２０１から３０フレーム分のモーション描画がなされた後）、コマンドＢに従って所定のアクションの処理を実行する。
例えばコマンドＢの攻撃による敵へのダメージ計算等が行われる。そして、図３や図４に示すように、そのダメージ計算等の結果に応じたキャラクターの表示１０４が適宜行われる。
【００４２】
ここで、入力検出部３１による入力イベントの検出結果の履歴は、図６および図７に示すような行列（以下、「タッチイベントマトリックス」と呼ぶ）として表すことで、推定部３２の演算を容易かつ確実に行うことができるようになる。
【００４３】
図６は、タッチイベントマトリックスの例を示す図である。図７は、タッチイベントマトリックスの別の例を示す図である。
本実施形態において、例として示す図６および図７のタッチイベントマトリックスは、タッチスクリーン４０を構成する各画素（ピクセル）に対する、ユーザからの入力イベントの発生有無を時系列順にメモリ上に記録したものとして構成される。
【００４４】
図６及ぶ図７の例のタッチイベントマトリックスは、列の要素（横軸の要素）として、表示媒体における入力イベントの検出単位（各画素）が採用され、行の要素（時間軸たる縦軸の要素）として、入力イベントの検出タイミングが採用されている。
具体的には、列の各要素（横軸の各要素）を示すｐｘ［ｘ，ｙ］は、タッチスクリーン４０の右上を原点としたとき、横ｘ番目、縦ｙ番目のピクセルを意味する。
例えば、ｐｘ［０，０］は最も右上のピクセルを示し、ｐｘ［１１３６，６４０］は、最も左下のピクセルを示すこととする。
行の要素（縦軸である時間軸の要素）は、入力イベントの検出タイミングを、ミリ秒、もしくは、フレーム数で示したものである。なお、情報処理システムをゲームに適用する場合、行の要素（縦軸の要素）は、フレーム数で示すことが好適である。
本例では、タッチイベントマトリックスの要素（ｔｉ，ｐｘ［ｘ，ｙ］）には、検出タイミングｔｉにおいてピクセルｐｘ［ｘ，ｙ］に入力イベントが発生したときには、「１」が格納され、入力イベントが発生していないときには「０」が格納される。
なお、上記値の格納手法は、例示に過ぎず、例えば、あいまいな入力イベントへの対応や、タッチスクリーン４０の静電容量を直接扱うことを目的として、０．５等の実数を格納する手法を採用してもよい。
【００４５】
図６のタッチイベントマトリックスにおいて、画素ｐｘ［０，２］についての要素群４０１から、継続する時間においてタップイベントが発生し、その後、発生していないことがわかる。即ち、要素群４０１は、画素ｐｘ［０，２］におけるシングルタップの検出を示している。
一方、画素ｐｘ［０，１］についての要素４１１および要素４１２からは、ある程度の時間間隔をおいて同一の（もしくは、近傍の）ピクセルへのタッチイベントが発生していることがわかる。即ち、要素４１１および要素４１２は、画素ｐｘ［０，１］におけるダブルタップの検出を示している。
【００４６】
また、図７のタッチイベントマトリックスにおいては、画素ｐｘ［０，２］についての要素群４２１から、同一場所に長時間にわたってタッチイベントが発生し続けていることがわかる。即ち、要素群４２１は、指等の物体が当該場所で押し付け続けられているタッチ操作、即ちいわゆる長押しの検出を示している。
【００４７】
なお、タッチイベントマトリックスの構造は、図６や図７の構造に限定されず、以下のような構造であればよい。
即ち、入力イベントの検出タイミングを行又は列の一方の要素とし、表示媒体における入力イベントの検出単位を行又は列の他方の要素として構成される行列であって、検出タイミング毎の検出単位毎の検出結果を各要素値とする行列であれば、タッチイベントマトリックスとして採用することができる。
【００４８】
次に、上記図６や図７の構造のタッチイベントマトリックスを対象として、ゲーム内で使用される夫々のコマンドについて、入力確率を演算する手法の概要を説明する。
ある１タイトルのゲームにおいて、ｎ個（ｎは１以上の整数値）のコマンドが存在するとき、ｎ個のコマンドの夫々についての入力確率を演算するためのｎ個の関数（以下、「確率計算関数」と呼ぶ）が用意される。
具体的には、ｉ番目（ｉは１乃至ｎのうちの任意の整数値）のコマンドに対応する、確率計算関数ｆｉは、式（１）に示すように、タッチイベントマトリックスであるＭを引数として、０から１までの実数を返す関数として定義することができる。
ｆｉ（Ｍ，ｗｉ）→［０…１］      ・・・（１）
【００４９】
ここで、ｗｉは、ｉ番目のコマンドに対応する重み係数である。このような重み係数ｗｉを設定することにより、入力しやすいコマンドと入力しにくいコマンドとの差を、入力確率の演算に反映することが可能になる。
具体的には例えば、図２の例では、より単純なコマンドＡが、複雑なコマンドＢよりも、高い重み係数を有するようにすることができる。
なお、確率計算関数の実装方法は、ゲーム内容に依存するものであるため、ここでは詳細については規定しない。
【００５０】
図５の確率演算部３２１は、タッチイベントマトリックスＭと上記式（１）の確率計算関数ｆｉとを用いて、ｎ個のコマンドの夫々の入力確率を演算する。
推定コマンド決定部３２２は、ｎ個のコマンドのうち、入力確率を最高のコマンドを推定コマンドとして決定し、当該推定コマンドの適切なフレーム番号からレンダリングを開始するよう、表示制御部３３へ通知する。
また、推定コマンド決定部３２２は、確率演算部３２１によりある特定のコマンドの入力確率が１００％と算出されたとき、当該特定のコマンドをコマンド確定部３４に通知する。
【００５１】
推定コマンド決定部３２２のさらに詳細な動作は次の通りである。
推定コマンド決定部３２２は、内部変数であるフレーム数カウンター（以下、「ＦＣ」と呼ぶ）をゼロに初期化する。
確率演算部３２１が算出したｎ個の入力確率の何れもが１００％未満であったとき、即ち、曖昧性のある入力があったとき、推定コマンド決定部３２２は、最高の入力確率を有するコマンド（以下、「コマンドα」と呼ぶ）を推定コマンドとして選択し、当該コマンドαのモーションをＦＣが示す値のフレームから再生する旨を表示制御部３３に通知する。
コマンドαのモーションが再生されている間に、もし、確率演算部３２１が算出した入力確率が最高となるコマンドが変化したとき、推定コマンド決定部３２２は、その変化後の最高の入力確率を有するコマンド（以下、「コマンドβ」と呼ぶ）を推定コマンドとして選択する。そして、推定コマンド決定部３２２は、現在再生中のコマンドαのモーションの再生を中断する旨を表示制御部３３に通知し、さらに、再生したフレームの数をＦＣに加えた上で、コマンドβのモーションをＦＣが示す値のフレームから再生する旨を表示制御部３３に通知する。
【００５２】
表示制御部３３は、推定コマンド決定部３２２からの上記通知に応じて、キャラクターのモーションを再生する。表示制御部３３は、既存のゲーム・ソフトウェアが有するモーションの再生の拡張として実装することができる。なお、本例のようにモーションの状態をフレーム番号で識別する場合には、２Ｄ／３Ｄの何れのゲームにも適用することができる
【００５３】
コマンド確定部３４は、推定コマンド決定部３２２から通知されたコマンドを入力コマンドとして確定して、当該入力コマンドに対応するレンダリング（キャラクターのモーション表示）の終了後、当該入力コマンドに対応するアクションを実行するよう、アクション実行部３５へ通知する。
【００５４】
アクション実行部３５は、コマンド確定部３４から通知された入力コマンドに従って、所定のアクションを実行する。例えば、アクション実行部３５は、実際の当たり判定等のゲーム上影響のある処理を実行する。また、アクション実行部３５は、当たり判定の成否の結果を画面上に表示する制御を実行する。
なお、アクション実行部３５は、既存のゲーム・ソフトウェアが有するアクションの実行機能を再利用し、実装することで実現できる。
【００５５】
図８は、このような本実施形態の情報処理装置１０の状態遷移の例を示す状態遷移図である。図８を参照して、情報処理装置１０によるコンテクストに応じたキャラクター・アクションのスケジューリングの実行手順を示す。
情報処理装置１０は、入力イベントが検出されると、連続的に各コマンドの入力確率を演算するため、ループとして処理を実行する。このループにおける状態遷移モデルを示す図８において、各状態は、１つの楕円形で示されており、その楕円形に引かれた“Ｓ”を含む符号により判別される。１つの状態から１つの状態への状態遷移は、所定の条件（以下、「状態遷移条件」という）が満たされると実行される。このような状態遷移条件は、図８においては、１つの状態から１つの状態への遷移を表す矢印に、“Ａ”を含む符号を付して表されている。
【００５６】
本実施形態においては、図８に示すように、初期状態Ｓ１が基本の状態になる。ユーザが所定の操作（例えば、ゲーム開始操作等）をすることで、図示せぬ別の状態から初期状態Ｓ１に遷移するものとする。
初期状態Ｓ１では、情報処理装置１０は、入力検出部３１の内部変数である、すべてのコマンドの入力確率をゼロに設定する。また、情報処理装置１０は、内部変数であるＦＣをゼロに設定する。
【００５７】
初期状態Ｓ１において、入力検出部３１が、入力イベント（例えば、プレイヤーによる１回のタップ等）を検出すると、状態遷移条件Ａ１が満たされる。すると、状態は、推定コマンド決定状態Ｓ２に遷移する。
【００５８】
推定コマンド決定状態Ｓ２において、推定部３２は、タッチイベントマトリックスを用いて、すべてのコマンドの入力確率を算出し、最高の入力確率を有するコマンドを推定コマンドに決定する。表示制御部３３は、推定コマンドのモーションの描画を開始する。
【００５９】
推定コマンド決定状態Ｓ２において、入力確率が１００％に達しない限り、状態遷移条件Ａ２が満たされたとみなされて、状態は、推定コマンド決定状態Ｓ２に戻る。即ち、推定コマンド決定状態Ｓ２が維持される。
推定コマンド決定状態Ｓ２が維持された状態で、入力確率が１００％に達した推定コマンドが生じた場合、状態遷移条件Ａ３が満たされる。すると、状態は、入力コマンド確定状態Ｓ３に遷移する。
【００６０】
入力コマンド確定状態Ｓ３に遷移すると、コマンド確定部３４は、入力確率が１００％に達した推定コマンドを入力コマンドとして確定する。
すると、状態遷移条件Ａ４が満たされて、状態は、アクション実行状態Ｓ４に遷移する。
【００６１】
アクション実行状態Ｓ４に遷移すると、アクション実行部３５は、アクションを実行する。
アクションの実行後に入力イベントが検出された場合、状態遷移条件Ａ５が満たされ、状態は推定コマンド決定状態Ｓ２に遷移する。一方、アクションの実行後に入力イベントが検出されない場合、状態遷移条件Ａ６が満たされ、状態は初期状態Ｓ１に遷移する。
【００６２】
以上説明したように、本実施形態の情報処理装置１０は、コンテクストに応じたキャラクター・アクションのスケジューリングによる、応答性の高いタッチスクリーン４０用位置独立ユーザ・インターフェイスを実現することができる。即ち、情報処理装置１０は、タッチスクリーン４０上の任意の場所をタッチして操作する、位置独立型のユーザ・インターフェイスにおいて、多数のコマンドをサポートしながら、応答性を飛躍的に高めることができる。
さらに、本実施形態の情報処理装置１０は、タッチスクリーン４０から得られる入力イベントのシーケンスを対象として、ユーザの意図を推定する確率計算を連続的に実行し、その確率の変化に応じて、キャラクターのモーションの表示と、アクションの実行（攻撃の当たり判定やアイテムの消費等）をリアルタイムにスケジューリングすることができる。情報処理装置１０によるスケジューリング方式は、コマンドの入力途中から即座にキャラクターのモーションを再生しながら、コマンドの入力の進行に応じて極めて高速にコマンドの曖昧性を排除するので、高い応答性の実現と多種のコマンドの正確な識別とを同時に実現することができる。
【００６３】
即ち、本実施形態の情報処理装置１０は、ユーザから見たときの応答性を損なうことなく、多種類のコマンドを位置独立型のユーザ・インターフェイスを用いて入力可能とすることができる。
ここで、従来の位置独立型のユーザ・インターフェイスは、ジェスチャー入力のようにゲームに適さないほどの長い時間の入力を要するコマンドや、ごく単純な入力イベントで表現されるコマンドを受け付けるものであり、限られた数のコマンドしか設定できない。
これに対して、本実施形態の情報処理装置１０は、数倍から数十倍の数のコマンドを設定しても、入力の開始と共に推定コマンドを決定し、当該推定コマンドに対応するキャラクターの画像（モーション）の表示を開始することができるため、プレイヤーからみて高い応答性が実現できていると認識される。
【００６４】
さらに、本実施形態の情報処理装置１０は、他にも、次の利点を有する。
【００６５】
本実施形態の情報処理装置１０は、解像度に依存しないユーザ・インターフェイスを実現可能という利点を有する。即ち、本実施形態の情報処理装置１０は、画面上に表示されるボタンを使用する必要がないため、タッチスクリーン４０の解像度に依存しないユーザ・インターフェイスを実現可能である。従って、スマートフォンの機種ごとに解像度が異なる状況においても、同一の操作性を利用者に提供することができる。
【００６６】
本実施形態の情報処理装置１０は、既存のアセットを再利用可能であるという利点を有する。即ち、本実施形態の情報処理装置１０は、モーションの状態をフレーム番号で識別することができれば、任意のアセット（ゲーム内で使用される静止画像や３Ｄオブジェクト）を使用することができる。そのため、本実施形態の情報処理装置１０は、２Ｄ／３Ｄの何れのゲームにも適用することができ、さらに、既存のゲームのアセットをそのまま再利用することができる。
【００６７】
本実施形態の情報処理装置１０は、多ジャンルへ適用可能であるという利点を有する。即ち、本実施形態の情報処理装置１０で実現可能になるスケジューリングは、特定のゲームジャンルに依存していない。従って、本実施形態の情報処理装置１０は、アクションゲームやリアルタイムＲＰＧ、および、リアルタイム・シミュレーションゲーム等、ユーザがリアルタイムにコマンドを入力するゲームに幅広く適用可能である。
さらにいえば、本実施形態の情報処理装置１０は、ゲームに特に限定する必要は無く、複数のコマンドに対応する複数のアクションを含むアルゴリズムを実行する際にも適用可能である。
【００６８】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【００６９】
例えば、推定コマンドの算出手法は、上述の実施形態では、各コマンドの入力確率を求める手法が採用されたが、特にこれに限定されず、分岐処理等で推定コマンドを絞り込んでいく手法等、任意のアルゴリズムに従った手法を採用することができる。
【００７０】
換言すると、本発明が適用される、コンピュータによって実行される情報処理プログラムは、上述の図１の実施形態としての情報処理装置１０によって実行される情報処理プログラムを含め、次のような構成を有する各種各様の実施形態を取ることができる。
【００７１】
即ち、本発明が適用される情報処理プログラムは、
入力イベントの所定のシーケンスにより表される所定のコマンドに対応するアクションを複数種類含むゲームを実行するコンピュータ（例えば図１の情報処理装置１０）に、
表示媒体への物体の接触又は近接の操作による入力イベントを検出する入力検出ステップ（例えば、本ステップを実行する図１の入力検出部３１）と、
前記入力検出ステップにおける検出結果の履歴に基づいて、前記複数種類のコマンドのうち入力コマンドと推定されるものを、推定コマンドとして決定する推定ステップ（例えば、本ステップを実行する図１の推定部３２）と、
前記推定コマンドに関連する画像を前記表示媒体に表示させる制御を実行する表示制御ステップ（例えば、本ステップを実行する図１の表示制御部３３）と、
前記推定コマンドが所定の条件を満たした場合、当該推定コマンドを前記入力コマンドとして確定するコマンド確定ステップ（例えば、本ステップを実行する図１のコマンド確定部３４）と、
確定された前記入力コマンドに対応するアクションを実行するアクション実行ステップ（例えば、本ステップを実行する図１のアクション実行部３５）と、
を含む制御処理を実行させる情報処理プログラムである。
【００７２】
これにより、本発明に係る情報処理プログラムは、コンピュータに、位置独立型のユーザ・インターフェイスにおいて、多種のコマンドを確保し、かつ、ユーザからみたコマンドの高応答性を実現させることができる。
【００７３】
また例えば上述の実施形態では、算出した入力確率のうち、最も高い値を有するコマンドのモーションの描画を開始するとされたが、特にこれに限定されず、すべてのコマンドの入力確率が、閾値（例えば、３０％）を下回るときは、モーションの描画を行わずに、確率計算が次に実行されるのを待つ実施形態であってもよい。
これにより、情報処理装置１０は、コマンドの応答性をリアルタイムに実現しながら、多種のコマンドのうち、プレイヤーの意図に合致した入力コマンドの推定をより確実に行うことができる。
【００７４】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図１の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が情報処理プログラムに備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図１の例に限定されない。
また、１つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【００７５】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えばサーバの他汎用のスマートフォンやパーソナルコンピュータであってもよい。
【００７６】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図示せぬリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。
【００７７】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
【符号の説明】
【００７８】
１０・・・情報処理装置、３０・・・制御部、３１・・・入力検出部、３２・・・推定部、３３・・・表示制御部、３４・・・コマンド確定部、３５・・・アクション実行部、４０・・・タッチスクリーン、３２１・・確率演算部、３２２・・推定コマンド決定部
【要約】
【課題】コマンドの多様性とユーザ視点での高応答性を実現可能な位置独立型ユーザ・インターフェイスを提供すること。
【解決手段】制御部３０は、入力イベントの所定のシーケンスにより表される所定のコマンドに対応するアクションを複数種類含むゲームを実行する際に機能する。入力検出部３１は、タッチスクリーン４０への物体の接触又は近接の操作による入力イベントを検出する。推定部３２は、入力検出部３１における検出結果の履歴に基づいて、複数種類のコマンドのうち入力コマンドと推定されるものを、推定コマンドとして決定する。表示制御部３３は、推定コマンドに関連する画像をタッチスクリーン４０に表示させる制御を実行する。コマンド確定部３４は、推定コマンドが所定の条件を満たした場合、当該推定コマンドを入力コマンドとして確定する。アクション実行部３５は、確定された入力コマンドに対応するアクションを実行する。
【選択図】図１【図１】
0005784259.tif 000002
【図２】
0005784259.tif 000003
【図３】
0005784259.tif 000004
【図４】
0005784259.tif 000005
【図５】
0005784259.tif 000006
【図６】
0005784259.tif 000007
【図７】
0005784259.tif 000008
【図８】
0005784259.tif 000009
【図９】
0005784259.tif 000010
【図１０】
0005784259.tif 000011