(57)【特許請求の範囲】
【請求項１】
表示部及び接触型位置入力部を有し、プレイヤによる前記接触型位置入力部上へのタッチに応じたタッチ位置を前記接触型位置入力部上の座標として検出する電子装置において実行されるプログラムであって、前記電子装置に、
イベントと関連付けられたオブジェクトを含む画面を前記表示部に表示するステップと、
前記接触型位置入力部上へのタッチを検出した場合において検出されたタッチ座標から所定距離以内に前記オブジェクトが２つ以上ある場合に、検出されたタッチを曖昧タッチとして検出するステップと、
前記曖昧タッチが検出された場合に、前記検出されたタッチ座標から前記所定距離以内の２つ以上の前記オブジェクトである候補オブジェクトを選択するステップと、
選択された前記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、前記候補イベントの各々の出現に関する重みを決定するステップと、
前記重みの一番大きい前記候補イベントを実行する、又は前記重みの一番大きい前記候補イベント実行の確認をプレイヤに提示するステップと、
を実行させ、
前記イベント履歴情報は、実行されたイベントの履歴における連続する２つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報を含む、プログラム。
【請求項２】
検出されたタッチを曖昧タッチとして検出するステップは、
検出されたタッチ座標が前記オブジェクトに対応する座標範囲内でない場合に実行されるステップであり、
前記プログラムは、前記電子装置に、
検出されたタッチ座標が前記オブジェクトに対応する座標範囲内である場合に、前記オブジェクトと関連付けられたイベントを実行するステップをさらに実行させる、請求項１に記載のプログラム。
【請求項３】
前記イベント頻度情報は、連続するＮ（Ｎ≧２）個以下のイベントからなるイベント列のパターンごとの出現頻度を示す情報を含むものであり、
前記重みを決定するステップは、
前記イベント頻度情報における前記候補イベント直前に実行されたイベント又はイベント列及び前記候補イベントからなる連続するｎ個（２≦ｎ≦Ｎ）のイベント列の出現頻度に基づいて前記候補イベントの各々についての出現可能性を示すスコアを算出するステップを含む、請求項１又は２に記載のプログラム。
【請求項４】
前記スコアを算出するステップは、
それぞれの前記候補イベントについて、前記スコアをｎ＝ｎ１〜ｎ２（２≦ｎ１＜ｎ２≦Ｎ）それぞれで算出し、算出されたスコアにｎの値の大きさに対応する所定の係数を掛け合わせて加算するステップを含む、請求項３に記載のプログラム。
【請求項５】
前記プログラムは、前記電子装置に、
実行されたイベントを記憶するステップをさらに実行させる、請求項１から４のいずれか１項に記載のプログラム。
【請求項６】
前記電子装置は、ネットワークを介してサーバに接続され、
前記プログラムは、前記電子装置に、
前記サーバから前記イベント履歴情報を受信するステップと、
前記サーバに、実行されたイベントを記憶させるために、前記サーバに対して実行されたイベントを含む情報を送信するステップをさらに実行させる、請求項１から５のいずれか１項に記載のプログラム。
【請求項７】
ネットワークを介してサーバに接続され、表示部及び接触型位置入力部を有し、並びにプレイヤによる前記接触型位置入力部上へのタッチに応じたタッチ位置を前記接触型位置入力部上の座標として検出する電子装置において実行されるプログラムであって、前記電子装置に、
イベントと関連付けられたオブジェクトを含む画面を前記表示部に表示するステップと、
前記接触型位置入力部上へのタッチを検出した場合において検出されたタッチ座標から所定距離以内に前記オブジェクトが２つ以上ある場合に、検出されたタッチを曖昧タッチとして検出するステップと、
前記曖昧タッチが検出された場合に、前記検出されたタッチ座標から前記所定距離以内の２つ以上の前記オブジェクトである候補オブジェクトを選択するステップと、
前記サーバに、選択された前記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、前記候補イベントの各々の出現に関する重みを決定させるために、前記サーバに対して前記候補イベントを含む情報を送信するステップと、
前記サーバから前記重みを受信するステップと、
前記重みの一番大きい前記候補イベントを実行する、又は前記重みの一番大きい前記候補イベント実行の確認をプレイヤに提示するステップと、
を実行させ、
前記イベント履歴情報は、実行された過去のイベントにおける連続する２つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報を含む、プログラム。
【請求項８】
検出されたタッチを曖昧タッチとして検出するステップは、
検出されたタッチ座標が前記オブジェクトに対応する座標範囲内でない場合に実行されるステップであり、
前記プログラムは、前記電子装置に、
検出されたタッチ座標が前記オブジェクトに対応する座標範囲内である場合に、前記オブジェクトと関連付けられたイベントを実行するステップをさらに実行させる、請求項７に記載のプログラム。
【請求項９】
前記プログラムは、前記電子装置に、
前記サーバに、実行されたイベントを記憶させるために、前記サーバに対して実行されたイベントを含む情報を送信するステップをさらに実行させる、請求項７又は８に記載のプログラム。
【請求項１０】
表示部及び接触型位置入力部を有する電子装置であって、
プレイヤによる前記接触型位置入力部上へのタッチに応じたタッチ位置を前記接触型位置入力部上の座標として検出するタッチ位置検出手段と、
イベントと関連付けられたオブジェクトを含む画面を前記表示部に表示する画面表示手段と、
前記接触型位置入力部上へのタッチを検出した場合において、検出されたタッチ座標から所定距離以内に前記オブジェクトが２つ以上ある場合に、検出されたタッチを曖昧タッチとして検出する曖昧タッチ検出手段と、
前記曖昧タッチが検出された場合に、前記検出されたタッチ座標から前記所定距離以内の２つ以上の前記オブジェクトである候補オブジェクトを選択する候補オブジェクト選択手段と、
選択された前記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、前記候補イベントの各々の出現に関する重みを決定する重み決定手段と、
前記重みの一番大きい前記候補イベントを実行する候補イベント実行手段、又は前記重みの一番大きい前記候補イベント実行の確認をプレイヤに提示する候補イベント提示手段と、
実行されたイベントを記憶する記憶手段と、を備え、
前記記憶手段は、前記記憶手段に記憶されたイベントの履歴における連続する２つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報を含むイベント履歴情報を作成する、電子装置。
【請求項１１】
サーバと、前記サーバにネットワークを介して接続され、表示部及び接触型位置入力部を備え、及びプレイヤによる前記接触型位置入力部上へのタッチに応じたタッチ位置を前記接触型位置入力部上の座標として検出する電子装置とを含むシステムであって、
イベントと関連付けられたオブジェクトを含む画面を前記表示部に表示する画面表示手段と、
前記接触型位置入力部上へのタッチを検出した場合において、検出されたタッチ座標から所定距離以内に前記オブジェクトが２つ以上ある場合に、検出されたタッチを曖昧タッチとして検出する曖昧タッチ検出手段と、
前記曖昧タッチが検出された場合に、前記検出されたタッチ座標から前記所定距離以内の２つ以上の前記オブジェクトである候補オブジェクトを選択する候補オブジェクト選択手段と、
選択された前記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、前記候補イベントの各々の出現に関する重みを決定する重み決定手段と、
前記重みの一番大きい前記候補イベントを実行する候補イベント実行手段、又は前記重みの一番大きい前記候補イベント実行の確認をプレイヤに提示する候補イベント提示手段と、
実行されたイベントを記憶する記憶手段と、
の各手段を前記サーバ又は前記電子装置が備え、
前記記憶手段は、前記記憶手段に記憶されたイベントの履歴における連続する２つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報を含むイベント履歴情報を作成する、システム。
【請求項１２】
前記曖昧タッチ検出手段は、
検出されたタッチ座標が前記オブジェクトに対応する座標範囲内でない場合に、前記曖昧タッチを検出する手段であり、
前記電子装置は、
検出されたタッチ座標が前記オブジェクトに対応する座標範囲内である場合に、前記オブジェクトと関連付けられたイベントを実行するイベント実行手段をさらに備える、請求項１１に記載のシステム。
【請求項１３】
前記イベント頻度情報は、連続するＮ（Ｎ≧２）個以下のイベントからなるイベント列のパターンごとの出現頻度を示す情報を含むものであり、
前記重み決定手段は、
前記イベント頻度情報における前記候補イベント直前に実行されたイベント又はイベント列及び前記候補イベントからなる連続するｎ個（２≦ｎ≦Ｎ）のイベント列の出現頻度に基づいて前記候補イベントの各々についての出現可能性を示すスコアを算出するスコア算出手段を備える、請求項１１又は１２に記載のシステム。
【請求項１４】
サーバと、前記サーバにネットワークを介して接続され、表示部及び接触型位置入力部を備え、及びプレイヤによる前記接触型位置入力部上へのタッチに応じたタッチ位置を前記接触型位置入力部上の座標として検出する電子装置とを含むシステムの制御方法であって、
イベントと関連付けられたオブジェクトを含む画面を前記表示部に表示するステップと、
前記接触型位置入力部上へのタッチを検出した場合において検出されたタッチ座標から所定距離以内に前記オブジェクトが２つ以上ある場合に、検出されたタッチを曖昧タッチとして検出するステップと、
前記曖昧タッチが検出された場合に、前記検出されたタッチ座標から前記所定距離以内の２つ以上の前記オブジェクトである候補オブジェクトを選択するステップと、
選択された前記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、前記候補イベントの各々の出現に関する重みを決定するステップと、
前記重みの一番大きい前記候補イベントを実行する、又は前記重みの一番大きい前記候補イベント実行の確認をプレイヤに提示するステップと、
を備え、各ステップは前記サーバ又は前記電子装置により実行され、
前記イベント履歴情報は、実行されたイベントの履歴における連続する２つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報を含む、制御方法。
【請求項１５】
検出されたタッチを曖昧タッチとして検出するステップは、
検出されたタッチ座標が前記オブジェクトに対応する座標範囲内でない場合に実行されるステップであり、
前記制御方法は、
検出されたタッチ座標が前記オブジェクトに対応する座標範囲内である場合に、前記オブジェクトと関連付けられたイベントを実行するステップをさらに備え、前記サーバ又は前記電子装置により実行される、請求項１４に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作履歴に基づいてタッチ対象を予測するプログラム、電子装置、システム及び制御方法に関する。
【背景技術】
【０００２】
近年のタッチパネル技術の向上に伴い、タッチパネル上のユーザインタフェースを介してユーザ入力を行う電子装置が広く普及してきた。そして、電子装置において実行されるゲームにおいては、従来型の物理的なコントローラによるユーザ入力に代えて、電子装置に備えられたタッチパネルを介してユーザ入力を行う形態が広く普及してきている。
【０００３】
特にスマートフォン等に代表される小型の携帯型電子装置の普及が急速に進み、このような携帯型電子装置上で実行されるゲームも数多くリリースされている。このようなゲームをプレイヤが指等で操作するとき、プレイヤが想定しているタップ位置と、電子装置が認識するタップイベントの位置が大きくずれることがある。
【０００４】
さらにプレイヤの操作上の自由度が高いゲームでは、選択可能なユーザインタフェースオブジェクトが多くなる一方、スマートフォンの画面には面積上の制約があるため、オブジェクトが密集する傾向にある。密集したオブジェクトへの操作においては、特定のユーザインタフェースオブジェクトの中心を正確にタップすることは難しく、誤入力が行われやすい。
【０００５】
誤入力に対する解決策として、既存技術は、操作モードを切り替えることによりタップ位置の認識方法を変更するアプローチ、及びソフトウェアキーボードのように静的にレイアウトされたユーザインタフェースにおいて誤タップに対する入力を補正する特許文献１のようなアプローチがある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−６６８１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、ゲームのように動的にレイアウトされるユーザインタフェースを対象として、操作モードを変更することなくシームレスに誤タップの補正を行う技術は実現されていない。
【０００８】
前述のとおり、密集したオブジェクトが配置される画面において操作する場合、プレイヤは特定のオブジェクトを正確にタップすることは難しいため、誤タップが行われる可能性が高い。具体的には、指の大きさ（１０〜１５ｍｍ）と、電子装置が認識するタップイベントの発生点の大きさ（１ポイント＝０．１６〜０．３５ｍｍ）を比較すると、３０倍〜１００倍ほどの大きさの違いがあるため、プレイヤが想定しているタップ位置と、電子装置が認識するタップイベントの位置は、大きくずれる可能性が高い。特に、３Ｄオブジェクトが画面上に密集して表示されるようなゲームにおいては、このタップ位置の認識のミスマッチにより意図しない制御が行われる可能性が高い。このようなミスマッチは、ディスプレイの高解像度化に伴い、より顕著に表れるようになってきており、プレイヤに本来ゲームが意図していないストレスを与え、ゲームによって作り出されている世界にプレイヤが没頭することを妨げる恐れがある。
【０００９】
本出願人は、どのオブジェクトが選択されたのか一意に判定しにくいタッチ（タップ）を曖昧性のあるタッチ（タップ）と定義し、上記の誤タップは曖昧性のあるタップに起因するものであると考えた。したがって本発明は、曖昧性のあるタッチが行われたときに、プレイヤが想定するタッチ位置を推定することによりタッチ操作の曖昧性を除去し、誤タッチの補正を行うことを目的とする。
【課題を解決するための手段】
【００１０】
本発明は上記の課題に鑑みてなされたものであり、以下のような特徴を有している。すなわち、本発明の一態様としてのプログラムは、表示部及び接触型位置入力部を有し、プレイヤによる上記接触型位置入力部上へのタッチに応じたタッチ位置を上記接触型位置入力部上の座標として検出する電子装置において実行されるプログラムであって、上記電子装置に、イベントと関連付けられたオブジェクトを含む画面を上記表示部に表示するステップと、上記接触型位置入力部上へのタッチを検出した場合において検出されたタッチ座標から所定距離以内に上記オブジェクトが２つ以上ある場合に、検出されたタッチを曖昧タッチとして検出するステップと、上記曖昧タッチが検出された場合に、上記検出されたタッチ座標から上記所定距離以内の２つ以上の上記オブジェクトである候補オブジェクトを選択するステップと、選択された上記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、上記候補イベントの各々の出現に関する重みを決定するステップと、上記重みの一番大きい上記候補イベントを実行する、又は上記重みの一番大きい上記候補イベント実行の確認をプレイヤに提示するステップと、を実行させるプログラムである。
【００１１】
本発明の一態様として、検出されたタッチを曖昧タッチとして検出するステップは、検出されたタッチ座標が上記オブジェクトに対応する座標範囲内でない場合に実行されるステップであり、上記プログラムは、上記電子装置に、検出されたタッチ座標が上記オブジェクトに対応する座標範囲内である場合に、上記オブジェクトと関連付けられたイベントを実行するステップをさらに実行させる。
【００１２】
本発明の一態様として、上記イベント履歴情報は、実行されたイベントの履歴における連続する２つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報を含む。
【００１３】
本発明の一態様として、上記イベント頻度情報は、連続するＮ（Ｎ≧２）個以下のイベントからなるイベント列のパターンごとの出現頻度を示す情報を含むものであり、上記重みを決定するステップは、上記イベント頻度情報における上記候補イベント直前に実行されたイベント又はイベント列及び上記候補イベントからなる連続するｎ個（２≦ｎ≦Ｎ）のイベント列の出現頻度に基づいて上記候補イベントの各々についての出現可能性を示すスコアを算出するステップを含む。
【００１４】
本発明の一態様として、上記スコアを算出するステップは、それぞれの上記候補イベントについて、上記スコアをｎ＝ｎ１〜ｎ２（２≦ｎ１＜ｎ２≦Ｎ）それぞれで算出し、算出されたスコアにｎの値の大きさに対応する所定の係数を掛け合わせて加算するステップを含む。
【００１５】
本発明の一態様として、上記プログラムは、上記電子装置に、実行されたイベントを記憶するステップをさらに実行させる。
【００１６】
本発明の一態様として、上記電子装置は、ネットワークを介してサーバに接続され、上記プログラムは、上記電子装置に、上記サーバから上記イベント履歴情報を受信するステップと、上記サーバに、実行されたイベントを記憶させるために、上記サーバに対して実行されたイベントを含む情報を送信するステップをさらに実行させる。
【００１７】
本発明の一態様としてのプログラムは、ネットワークを介してサーバに接続され、表示部及び接触型位置入力部を有し、並びにプレイヤによる上記接触型位置入力部上へのタッチに応じたタッチ位置を上記接触型位置入力部上の座標として検出する電子装置において実行されるプログラムであって、上記電子装置に、イベントと関連付けられたオブジェクトを含む画面を上記表示部に表示するステップと、上記接触型位置入力部上へのタッチを検出した場合において検出されたタッチ座標から所定距離以内に上記オブジェクトが２つ以上ある場合に、検出されたタッチを曖昧タッチとして検出するステップと、上記曖昧タッチが検出された場合に、上記検出されたタッチ座標から上記所定距離以内の２つ以上の上記オブジェクトである候補オブジェクトを選択するステップと、上記サーバに、選択された上記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、上記候補イベントの各々の出現に関する重みを決定させるために、上記サーバに対して上記候補イベントを含む情報を送信するステップと、上記サーバから上記重みを受信するステップと、上記重みの一番大きい上記候補イベントを実行する、又は上記重みの一番大きい上記候補イベント実行の確認をプレイヤに提示するステップと、を実行させるプログラムである。
【００１８】
本発明の一態様として、検出されたタッチを曖昧タッチとして検出するステップは、検出されたタッチ座標が上記オブジェクトに対応する座標範囲内でない場合に実行されるステップであり、上記プログラムは、上記電子装置に、検出されたタッチ座標が上記オブジェクトに対応する座標範囲内である場合に、上記オブジェクトと関連付けられたイベントを実行するステップをさらに実行させる。
【００１９】
本発明の一態様として、上記イベント履歴情報は、実行された過去のイベントにおける連続する２つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報を含む。
【００２０】
本発明の一態様として、上記プログラムは、上記電子装置に、上記サーバに、実行されたイベントを記憶させるために、上記サーバに対して実行されたイベントを含む情報を送信するステップをさらに実行させる。
【００２１】
本発明の一態様としての電子装置は、表示部及び接触型位置入力部を有する電子装置であって、プレイヤによる上記接触型位置入力部上へのタッチに応じたタッチ位置を上記接触型位置入力部上の座標として検出するタッチ位置検出手段と、イベントと関連付けられたオブジェクトを含む画面を上記表示部に表示する画面表示手段と、上記接触型位置入力部上へのタッチを検出した場合において、検出されたタッチ座標から所定距離以内に上記オブジェクトが２つ以上ある場合に、検出されたタッチを曖昧タッチとして検出する曖昧タッチ検出手段と、上記曖昧タッチが検出された場合に、上記検出されたタッチ座標から上記所定距離以内の２つ以上の上記オブジェクトである候補オブジェクトを選択する候補オブジェクト選択手段と、選択された上記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、上記候補イベントの各々の出現に関する重みを決定する重み決定手段と、上記重みの一番大きい上記候補イベントを実行する候補イベント実行手段、又は上記重みの一番大きい上記候補イベント実行の確認をプレイヤに提示する候補イベント提示手段と、を備える電子装置である。
【００２２】
本発明の一態様としてのシステムは、サーバと、上記サーバにネットワークを介して接続され、表示部及び接触型位置入力部を備え、及びプレイヤによる上記接触型位置入力部上へのタッチに応じたタッチ位置を上記接触型位置入力部上の座標として検出する電子装置とを含むシステムであって、イベントと関連付けられたオブジェクトを含む画面を上記表示部に表示する画面表示手段と、上記接触型位置入力部上へのタッチを検出した場合において、検出されたタッチ座標から所定距離以内に上記オブジェクトが２つ以上ある場合に、検出されたタッチを曖昧タッチとして検出する曖昧タッチ検出手段と、上記曖昧タッチが検出された場合に、上記検出されたタッチ座標から上記所定距離以内の２つ以上の上記オブジェクトである候補オブジェクトを選択する候補オブジェクト選択手段と、選択された上記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、上記候補イベントの各々の出現に関する重みを決定する重み決定手段と、上記重みの一番大きい上記候補イベントを実行する候補イベント実行手段、又は上記重みの一番大きい上記候補イベント実行の確認をプレイヤに提示する候補イベント提示手段と、の各手段を上記サーバ又は上記電子装置が備える、システムである。
【００２３】
本発明の一態様として、上記曖昧タッチ検出手段は、検出されたタッチ座標が上記オブジェクトに対応する座標範囲内でない場合に、上記曖昧タッチを検出する手段であり、上記電子装置は、検出されたタッチ座標が上記オブジェクトに対応する座標範囲内である場合に、上記オブジェクトと関連付けられたイベントを実行するイベント実行手段をさらに備える。
【００２４】
本発明の一態様として、上記システムは、実行されたイベントを記憶する記憶手段を上記サーバ又は上記電子装置がさらに備え、上記記憶手段は、上記記憶手段に記憶されたイベントの履歴における連続する２つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報を含むイベント履歴情報を作成する。
【００２５】
本発明の一態様として、上記イベント頻度情報は、連続するＮ（Ｎ≧２）個以下のイベントからなるイベント列のパターンごとの出現頻度を示す情報を含むものであり、上記重み決定手段は、上記イベント頻度情報における上記候補イベント直前に実行されたイベント又はイベント列及び上記候補イベントからなる連続するｎ個（２≦ｎ≦Ｎ）のイベント列の出現頻度に基づいて上記候補イベントの各々についての出現可能性を示すスコアを算出するスコア算出手段を備える。
【００２６】
本発明の一態様としての制御方法は、サーバと、上記サーバにネットワークを介して接続され、表示部及び接触型位置入力部を備え、及びプレイヤによる上記接触型位置入力部上へのタッチに応じたタッチ位置を上記接触型位置入力部上の座標として検出する電子装置とを含むシステムの制御方法であって、イベントと関連付けられたオブジェクトを含む画面を上記表示部に表示するステップと、上記接触型位置入力部上へのタッチを検出した場合において検出されたタッチ座標から所定距離以内に上記オブジェクトが２つ以上ある場合に、検出されたタッチを曖昧タッチとして検出するステップと、上記曖昧タッチが検出された場合に、上記検出されたタッチ座標から上記所定距離以内の２つ以上の上記オブジェクトである候補オブジェクトを選択するステップと、選択された上記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、上記候補イベントの各々の出現に関する重みを決定するステップと、上記重みの一番大きい上記候補イベントを実行する、又は上記重みの一番大きい上記候補イベント実行の確認をプレイヤに提示するステップと、を備え、各ステップは上記サーバ又は上記電子装置により実行される制御方法である。
【００２７】
本発明の一態様として、検出されたタッチを曖昧タッチとして検出するステップは、検出されたタッチ座標が上記オブジェクトに対応する座標範囲内でない場合に実行されるステップであり、上記制御方法は、検出されたタッチ座標が上記オブジェクトに対応する座標範囲内である場合に、上記オブジェクトと関連付けられたイベントを実行するステップをさらに備え、上記サーバ又は上記電子装置により実行される。
【発明の効果】
【００２８】
本発明によれば、プレイヤがタッチにより選択を所望するオブジェクトをプレイヤの過去の操作履歴に基づいて推定するユーザインタフェースを実現することで、ゲーム内のモード切り替え操作を行うことなく、密集したオブジェクト群の中から所望のオブジェクトをタッチで選択するのが難しいという状況を解決することができる。プレイヤの意図する動作の予測処理においては、膨大な組み合わせを持つ操作履歴を絞り込むことで行うが、物理的なタッチ位置から所定距離以内のオブジェクトを検索キーとして行うため、高速に絞り込むことができる。このようにリアルタイムかつ連続的にタッチ操作の予測と補正を行うことにより、高いレスポンス性能が要求されるゲーム分野において、ビッグデータのリアルタイムの利活用を実現し、プレイヤの次の操作を予測する行動予測エンジンの基盤を実現することができる。またプレイヤの操作履歴もリアルタイムで取得することで、プレイヤが明示的な設定を行わずとも、プレイヤのタッチ操作傾向を学習することができる。
【図面の簡単な説明】
【００２９】
【図１】本発明の１つの実施形態に係る電子装置のハードウェア構成を示す。
【図２】本発明の１つの実施形態に係る電子装置のタッチパネルの座標軸を示す図である。
【図３】本発明の１つの実施形態に係る電子装置の機能ブロック図を示す。
【図４】本発明の１つの実施形態に係る情報処理を示したフローチャートである。
【図５ａ】本発明の１つの実施形態に係るゲーム画面を示す図である。
【図５ｂ】本発明の１つの実施形態に係るゲーム画面をタッチした様子を示す図である。
【図５ｃ】人間の指によりタッチされうるエリアを示す図である。
【図５ｄ】本発明の１つの実施形態に係るゲーム画面における、曖昧なタッチの検出方法を示す図である。
【図６ａ】本発明の１つの実施形態に係るプレイヤの操作履歴を示す。
【図６ｂ】本発明の１つの実施形態に係るプレイヤの操作履歴をＮ個の連続する組み合わせに分割した様子を示す。
【図６ｃ】本発明の１つの実施形態に係るプレイヤの操作履歴をＮ個の連続する組み合わせ毎に出現頻度を集計しインデックスを作成した様子を示す。
【図７】本発明の１つの実施形態に係るｓｃｏｒｅ関数に用いられるｗｉ関数の一例を示す。
【図８】本発明の他の１つの実施形態に係る情報処理を示したフローチャートである。
【図９】本発明の実施形態に係るシステムの全体構成の一例を示す。
【図１０】本発明の実施形態に係るサーバのハードウェア構成を示す。
【図１１】本発明の１つの実施形態に係るシステムの機能ブロック図を示す。
【図１２】本発明の１つの実施形態に係るシステムのシステムアーキテクチャを示す。
【発明を実施するための形態】
【００３０】
以下、図面を参照して、本発明の実施形態を説明する。本実施形態に係るシステムは、ネットワークを介して複数の電子装置が接続されるシステムによって実現することができるが、一台の電子装置によっても実現することもできる。最初に一台の電子装置で実現する実施形態を説明し、その後ネットワークに接続されたシステムについて説明する。なお、ネットワークに接続されたシステムは、サーバ‐クライアントシステムを想定して説明しているが、ＰｔｏＰのようなサーバのないシステムで構成することもできる。
【００３１】
また本実施形態は主としてゲームシステムについて説明するが、他のシステムにおいて利用することもできる。本実施形態におけるゲームは、画面上に複数のオブジェクトが配置されるゲームである。オブジェクトはイベントと関連付けられたオブジェクトと、イベントと関連付けられていないオブジェクトとを含む。イベントと関連付けられたオブジェクトが選択されると、オブジェクトと関連付けられた所定のゲーム処理又は制御が行われる。イベントと関連付けられていないオブジェクトが選択された場合は、所定のゲーム処理又は制御は行われないものの、タッチしたことをプレイヤに示すことはできる。特に言及がない限り、以下で単にオブジェクトという場合は、イベントと関連付けられたオブジェクトを示すものとする。
【００３２】
［電子装置により実現される実施形態］
図１は本発明の実施形態に係る電子装置１００のハードウェア構成を示すブロック図である。電子装置１００は処理部１０１、表示部１０２、接触型入力部１０３、記憶部１０４、及び通信部１０５を備える。これらの各構成部はバス１１０によって接続されるが、それぞれが必要に応じて個別に接続される形態であってもかまわない。
【００３３】
電子装置１００は、好ましくはスマートフォンであるが、例えば、タブレット型コンピュータ、ビデオゲーム機、携帯型ビデオゲーム機、タッチパッド等の接触型入力装置を備えるコンピュータも含まれる。
【００３４】
処理部１０１は、プログラム１０６、接触型入力部１０３からの入力データ、又は通信部１０５から受信したデータに基づいて、ゲーム処理や画像生成処理などの各種の処理を行う。処理部１０１は、電子装置１００が備える各部を制御するプロセッサを備えており、プロセッサが含むレジスタや記憶部１０４をワーク領域として各種処理を行う。
【００３５】
記憶部１０４は、ハードディスク、メインメモリ、及びバッファメモリを含む。ハードディスクにはプログラム１０６が記憶される。ただしハードディスクは、情報を格納できるものであればいかなる不揮発性ストレージであってもよい。着脱可能なものであっても構わない。例えば電子装置１００がスマートフォンである場合はＲＯＭ及びＲＡＭを含む。記憶部１０４には、プログラム１０６や当該プログラムの実行に伴って参照され得る各種のデータが記憶される。当該プログラムは、オペレーティングシステム、又はビデオゲーム、ウェブブラウザ等のユーザ入力を要求するあらゆるアプリケーションのためのプログラムを含み、各種のデータには、例えばゲームに登場するオブジェクトなどの各種画像を表示するための画像データや、ゲーム中に記憶部１０４に書き込まれうる座標等のデータも含まれる。さらに記憶部１０４はプレイヤ操作の履歴情報や連続的に行われたプレイヤ操作の頻度情報に関するデータベース１０７を含む。好ましくは、データベース１０７は、実行されたイベントについての情報を含むイベント履歴情報に関するイベント履歴情報用データベースと、イベント履歴情報に基づいた連続する２つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報に関するイベント頻度情報用データベースとを有する。
【００３６】
通信部１０５はイーサネット（登録商標）ケーブル等を用いた有線通信や移動体通信、無線ＬＡＮ等の無線通信を行い、ネットワーク１０１へ接続する。
【００３７】
表示部（ディスプレイ）１０２は、実行されるプログラム１０６によって出力される画像を表示する。好ましくは液晶ディスプレイであるが、有機ＥＬを用いたディスプレイやプラズマディスプレイ等であってもよい。
【００３８】
接触型入力部１０３は例えばタッチパッドのように、プレイヤがタッチした位置に基づいた入力を電子装置１００に与える。好ましくは表示部１０２と接触型入力部１０３は一体としたタッチパネルであるが、別の位置に配置される別個の形態であっても構わない。例えば表示部１０２と接触型入力部１０３が一体となったタッチパネルである場合は、表示部１０２へのプレイヤのタッチによる入力を受け付け、接触型入力部１０３はプレイヤがタッチした位置に対応する座標を検出し、電子装置１００に与える。検出方式は、例えばタッチパネルにおける静電容量方式などのあらゆる方式を含みうるが、接触型入力部１０３は、２以上の点を同時にプレイヤの指などがタッチしたことを検出し、検出した位置に対応する各座標情報を電子装置１００に与えられるものであることが好ましい。
【００３９】
ここでタッチとは、指などが接触型入力部１０３、本実施形態においてはタッチパネルに接触する動作や状態である。なお本実施形態においては、プレイヤによるタッチはプレイヤの指によるものとして説明するが、どの指によるタッチでもよく、又は例えばスタイラスペンのような、その他のものであってもよい。一方、リリースとは指などがタッチパネルから離れる動作や状態である。プレイヤは主に電子装置１００をタッチやリリースすることにより操作する。このようなタッチ操作には、タッチ、ロングタッチ、マルチタッチ、リリース、スワイプ、タップ、ダブルタップ、ロングタップ、ドラッグ、及びフリックなどを含むことができる。例えばタップは、タッチに続いて、タッチ位置を移動させずにリリースをする操作である。好ましくは、処理部１０１が、指などのタッチパネルへの接触、接触位置、接触時間又は接触回数に基づいてタッチ操作の種類の一部又は全部を判別する。
【００４０】
例えば電子装置１００としてスマートフォンを用いた場合、表示部１０２と接触型入力部１０３は一体となったタッチパネル１０８である。接触型入力部１０３は、第１軸及び第１軸に実質的に直交する第２軸からなる座標平面を用いて、座標により位置が指定される。好ましくは図２に示すように、第１軸は略長方形であるタッチパネル１０８（接触型入力部１０３）の短辺と、第２軸はタッチパネル１０８の長辺と、実質的に平行であって、第１軸方向の座標軸（横軸）及び第２軸方向の座標軸（縦軸）により座標（ｘ，ｙ）として表される。処理部１０１はプログラム等を用いて、タッチパネル１０８により検出するタッチ位置を当該座標（ｘ，ｙ）データとして取得することができる。例えばタッチパネル１０８の検出精度が６４０ドット×１，１３６ドットである場合は、横軸方向に６４０ドット、縦軸方向に１，１３６ドットの分解能を有することができる。この場合のドットは１つの点であってもよいし、一定の領域（セル）であっても構わない。ただしドット間の距離は、通常タッチパネル（電子装置）毎に異なることに注意が必要である。本明細書において、特に言及が無い限り、「距離」は座標上の距離を表すものとする。なお図２に示す座標設定はこの一例であり、座標軸はプログラムにより設定することもできる。また極座標を設定することもできるし、座標変換により他の座標系を設定することもできる。
【００４１】
また例えば、表示部１０２と接触型入力部１０３が別の位置に配置される別個の形態である場合、接触型入力部１０３には上記のように座標を設定し、表示部１０２には接触型入力部１０３の座標に対応する座標を設定することができる。
【００４２】
図３は本発明の電子装置の機能ブロック図の一例を示す。電子装置１００は、タッチ位置検出手段３０１、画面表示手段３０２、曖昧タッチ検出手段３０３、候補オブジェクト選択手段３０４、重み決定手段３０５、イベント実行手段３０６、イベント提示手段３０７、記憶手段３０８、通信手段３０９、学習手段３１０、及び一時記憶手段３１１を備える。
【００４３】
タッチ位置検出手段３０１は、接触型位置入力部１０３上へのプレイヤによるタッチ位置を検出し、電子装置１００に与える機能を有する。画面表示手段３０２は、電子装置１００による出力を表示部１０２へ表示する機能を有し、イベントと関連付けられたオブジェクトを表示部１０２へ表示することができる。
【００４４】
曖昧タッチ検出手段３０３は、検出されたタッチのタッチ位置によりオブジェクトを１つに決定することができない場合に、当該検出されたタッチを曖昧なタッチ（曖昧タッチ）として検出する機能を有する。例えば、検出されたタッチ位置から所定距離以内にオブジェクトが２つ以上ある場合に、検出されたタッチを曖昧タッチとして検出することができる。
【００４５】
候補オブジェクト選択手段３０４は、曖昧なタッチとして検出されたタッチのタッチ位置に基づいて、プレイヤがタッチを意図した可能性があるオブジェクトである候補オブジェクトを選択する機能を有する。
【００４６】
重み決定手段３０５は、候補オブジェクトと関連付けられた候補イベント、直前に実行されたイベント又はイベント列（２つ以上の連続したイベント）、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、候補イベントの各々の出現に関する重みを決定する機能を有する。例えば出現に関する重みは、出現可能性を示すスコアであることもできるし、出現に関する優先度であることもできる。
【００４７】
イベント実行手段３０６は、検出されたタッチ位置によりオブジェクトを１つに決定することができる場合の当該オブジェクトと関連付けられたイベント、又は重みの一番大きい候補イベントを実行する機能を有する。一方イベント提示手段３０７は、重みの大きい候補イベントの方から実行の確認をプレイヤに提示する機能を有する。
【００４８】
記憶手段３０８は、プログラムやデータ等を記憶部１０４へ格納する機能を有する。記憶手段３０８が含む一時記憶手段３１１は、一時的にデータを蓄えるバッファ機能を有し、オブジェクトと関連付けられたイベントの実行された履歴をバッファに蓄積する。したがって曖昧タッチが検出された場合、一時記憶手段３１１は曖昧タッチが検出される直前までのイベント履歴情報を蓄積した状態にある。記憶手段３０８は、バッファに蓄積された履歴情報を、好ましくは定期的にイベント履歴情報としてイベント履歴情報用データベースへ蓄積する。さらに記憶手段３０８は、イベント履歴情報に基づいて連続する２つ以上のイベントからなるイベント列のパターンごとの出現頻度を集計し、当該出現頻度を示すイベント頻度情報をイベント頻度情報用データベースへ格納する。重み決定手段３０５は、バッファに蓄積されたイベント履歴情報をクエリとしてデータベース１０７に照会することで、重み決定に必要なイベント履歴情報又はイベント頻度情報を取得することができる。なお、本実施形態においては、イベント履歴情報とイベント頻度情報はそれぞれ別々のデータベースに格納されることが好ましいが、イベント頻度情報はイベント履歴情報に基づき作成される情報ゆえ、イベント履歴情報はイベント頻度情報を包含する広い概念の構成要素として解釈することができる。ただし、イベント頻度情報が作成される際には、本発明が実施されるゲームの種類や性質なども考慮し、何らかの別の情報をイベント履歴情報に加味しながら作成してもよい。イベント頻度情報は必ずしもイベント履歴情報のみから作成される情報ではない。
【００４９】
通信手段３０９は無線通信、有線通信を行う機能を有する。記憶手段３０８は、通信手段３０９を介して、サーバ、光学ディスク等からプログラム又はデータを取得して、格納することができる。
【００５０】
学習手段３１０は、プレイヤ操作を学習する機能を有する。具体的には、プレイヤから取得される操作の履歴情報に基づいて、データベース１０７が記憶する連続操作の頻度情報を変更することで、プレイヤ操作の行動予測の精度を向上させることができる。
【００５１】
電子装置１００は、プログラム１０６が実行されることによってこれらの機能が実現される。したがって、一つの手段の一部の機能を他の手段が有してもよい。なお、これらの機能の一部は電子回路等を構成することによっても実現できる。
【００５２】
本発明の１つの実施形態における、本発明の動作について説明する。本実施形態では、電子装置１００としてスマートフォンを用い、当該スマートフォンによって実行されるゲームにおいて、プレイヤによるタッチがオブジェクトを１つに決定できないような曖昧なタッチに対する制御を行う。当該フローにおけるタッチ操作は主としてタップを想定している。
【００５３】
図４は、本発明の１つの実施形態に係る情報処理を示したフローチャートである。本フロー開始時においては、スマートフォンは、ゲーム用プログラムが実行され、ユーザによってゲームがプレイされている状態にある。ステップ４０１において、スマートフォンは、イベントに関連付けられたオブジェクトを含む画面を表示する。図５ａは、タッチパネル１０８に表示されるゲーム画面の一例を示すものである。図５ａに表示されるオブジェクト（Ｏｂｊ１〜Ｏｂｊ７）５０１は、イベントに関連付けられたオブジェクトであり、プレイヤのタッチにより１つのオブジェクトが選択されると、オブジェクトと関連付けられた所定のゲーム処理又は制御が行われる。例えば、表示される各オブジェクトがアイテムである場合、プレイヤはタッチで選択することにより、各オブジェクトに対応するアイテムを選択することができる。この段階においては、スマートフォンは、プレイヤによるタッチパネルへのタッチを待ち受ける（ステップ４０２）。
【００５４】
図５ｂは、プレイヤの指がタッチパネルにタッチした様子を示す。ステップ４０２においてタッチパネルへのタッチを判定し、タッチしていると判定された場合はタッチ位置を座標として検出する（ステップ４０３）。
【００５５】
なお本実施形態においては電子装置１００としてスマートフォンを用いているが、一般的にスマートフォンは一定時間毎にタッチ検出を行い、一定時間毎に画面更新を行う。例えば画面更新単位時間は、１／３０秒、１／６０秒、１／１２０秒等にすることができる。本フローチャートにおいては、好ましくは、画面更新周期に併せてタッチ検出を行う。なお検出されたタッチ位置座標は、特に言及がない限り、一時的に又はフローによる処理が終了するまで記憶部に記憶する。また画面更新に併せて、プログラムが認識するオブジェクトの座標範囲も更新される。
【００５６】
続いてステップ４０４において、検出されたタッチが曖昧なタッチであるかどうかを判定する。ここで曖昧なタッチとは、プレイヤの意図を一意に決定できないタッチである。図５ｃは、人間の指５０２によりタッチされうるエリア５０３を示す。このようにタッチは、画面上でタッチ可能な複数のエリア５０４にまたがって指が接触することになる。前述のとおり、タッチ位置はタッチパネルの検出分解能に応じて検出されるが、一般的に、スマートフォン用のオペレーティングシステムは、指が画面に接触する複数のポイントのうちのいずれか１つをタッチポイントの識別に使うと利用者の直観に反することが多いため、指の実際の位置を推定してタッチ位置としている。しかしながら、想定される指の範囲や推定されるタッチ位置が複数の各オブジェクトの領域と重複している場合、タッチされたオブジェクトを一意に決定することが出来ない。したがって、このような場合に、検出されたタッチを曖昧なタッチであると判定する。
【００５７】
１つの実施形態に係る曖昧なタッチの検出方法を図５ｄに示す。図５ｄのタッチ位置５０５は、タッチされた指の中心位置から検出されたタッチ位置を示す。スマートフォンは、タッチ位置から所定距離５０６以内のオブジェクトを検出し、検出されたオブジェクトが２つ以上ある場合に、曖昧なタッチを検出する。ここで所定距離は、検出されたタッチ位置からプレイヤによるタッチが想定される範囲を示すタッチパネル座標上の距離を示すものである。検出されたオブジェクトが２つ以上ある場合、プレイヤによるタッチはどのオブジェクトへのタッチを意図したものであるかを決定することができない。したがって、タッチ位置から所定距離以内にオブジェクトが２つ以上ある場合に、検出されたタッチを曖昧タッチとして検出する。なお所定距離は、タッチパネルの検出精度や大きさに応じて異なる値に設定することができる。
【００５８】
曖昧タッチを検出しない場合は、ステップ４０５に進み、検出されたオブジェクトがない場合はそのまま終了となり、検出されたオブジェクトが１つある場合は、当該オブジェクトと関連付けられたイベント処理を実行する（ステップ４１４）。なおステップ４０５は、曖昧タッチ検出を実行するステップ４０４において、タッチ位置から所定距離以内のオブジェクトを検出するため、ステップ４０４と同時に実行することもできる。
【００５９】
曖昧タッチが検出されると、ステップ４０６において検出された候補オブジェクトを選択する。図５ｄに示すように、タッチされた位置から所定距離以内にあるＯｂｊ３、Ｏｂｊ４、Ｏｂｊ５を候補オブジェクトとして選択する。このように候補オブジェクトを絞り込むことにより、以降の情報処理に要する時間を短縮することができる。
【００６０】
続いてステップ４０７において、選択された候補オブジェクトそれぞれと関連付けられたイベントである候補イベントそれぞれの出現に関する重みを決定する。例えば出現に関する重みが出現可能性を示すスコアである場合は、候補イベントそれぞれの出現に関する重みとして候補イベントそれぞれのスコアを算出する。当該スコアは、プレイヤの操作履歴やその操作履歴の頻度情報に基づいて算出されるものであり、候補イベントそれぞれが出現する可能性を数値で表したものである。
【００６１】
本フローチャートにおいては、当該スコアを算出する。具体的には、候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、候補イベントの各々のスコアを算出する。
【００６２】
本実施形態においては、図６ａに示すようにプレイヤの操作履歴を記憶する。記憶される操作履歴はオブジェクトと関連付けられたイベントの履歴である。一時記憶手段３１１は、プレイヤの操作履歴であるオブジェクトと関連付けられたイベントの実行された履歴をイベント履歴情報としてバッファに蓄積し、記憶手段３０８は、蓄積されたデータをイベント履歴用データベースに格納する。好ましくは定期的に蓄積されたデータをイベント履歴用データベースに格納する。記憶手段３０８は、イベント履歴情報から、連続する２つ以上のイベントからなるイベント列のパターンごとの出現頻度を集計し、当該出現頻度を示すイベント頻度情報をイベント頻度情報用データベースに格納する。ただしプレイヤの操作履歴の対象であるイベントは、オブジェクトと関連付けられたものであるため、オブジェクトそのものと等価の概念を有することができる。したがって、例えば図６ａに示す記憶される操作履歴はオブジェクトの履歴であることもできる。なお記憶手段３０８は、バッファに蓄積されたイベント履歴情報をイベント履歴情報用データベースに格納しないようにすることもできる。この場合イベント履歴情報用データベースには予め取得されたイベント履歴情報が格納される。
【００６３】
スコアの算出においては、バッファに蓄積されたイベント履歴情報の一部又は全部に候補イベントを加えたイベント列をクエリとしてイベント頻度情報用データベースに照会する。
【００６４】
ステップ４０７は、プレイヤの過去の操作履歴又は過去の操作履歴の頻度情報に基づいた行動予測方法の処理全般を含むものであるが、１つの実施形態としてｎ‐ｇｒａｍを用いたスコア算出方法を説明する。
【００６５】
最初にデータベース１０７がイベント頻度情報として格納するデータについて説明する。プレイヤの直前の（Ｎ−１）個のタッチによるイベントログに基づいた次のタッチを予測するモデルとして、１つ前（Ｎ＝２）、２つ前（Ｎ＝３）、３つ前（Ｎ＝４）、といったイベントログの結びつきを分析するために、遡及回数に応じて操作頻度情報を蓄積するためのインデックスを作成する。前述のとおりプレイヤの操作履歴は、図６ａに示すように記憶されているが、図６ａの例では、Ａ→Ｂ→Ａ→Ｂ→Ｃ→Ｄという順序でプレイヤが操作を行ったことが記録されている。ｎ‐ｇｒａｍモデルでは、図６ｂに示すように、この操作履歴を、２‐ｇｒａｍ、３‐ｇｒａｍ、４‐ｇｒａｍ…というように、Ｎ個の連続する組み合わせ（イベント列）として分割し、それぞれの組み合わせの出現頻度を集計する。例えば、Ａ→Ｂ→Ａ→Ｂ→Ｃ→Ｄという操作履歴は、２‐ｇｒａｍでは、ＡＢ、ＢＡ、ＡＢ、ＢＣ、ＣＤという２要素の５種類の組み合わせに分割され、それぞれ対応する頻度情報に加えられる。３‐ｇｒａｍでは、ＡＢＡ、ＢＡＢ、ＡＢＣ、ＢＣＤという３要素の４種類の組み合わせに分割され、それぞれ対応する頻度情報に加えられる。このように、連続するＮ個の操作履歴を分割して出現頻度を計量することにより、図６ｃに示すように、出現頻度が高い組はプレイヤが頻繁に組み合わせる操作であることを意味するインデックスを作成することができる。例えば、図６ｃに示すインデックスのデータ構造Ｈは、次の通りである。
H:={<ngram1, frequency1>,<ngram2, frequency2>,…,<ngramk, frequencyk>}
ここで、ngramｋ、frequencyｋはｋ種類目のｎ‐ｇｒａｍであり、frequencyｋはそれに対応する頻度の値である。
【００６６】
続いてイベント頻度情報の照合方法について説明する。候補オブジェクトＸ、Ｙ、Ｚが選択されたときのスコア算出方法を示す。まず、候補オブジェクトそれぞれを、末尾に追加したｎ‐ｇｒａｍのキーを生成する。図６ａに示すように、Ａ→Ｂ→Ａ→Ｂ→Ｃ→Ｄという順序でプレイヤが操作を行ったとき、候補オブジェクトＸ、Ｙ、Ｚから生成されるｎ‐ｇｒａｍは、次の通りである。
候補オブジェクトＸについて、ＤＸ（２‐ｇｒａｍ）、ＣＤＸ（３‐ｇｒａｍ）、ＢＣＤＸ（４‐ｇｒａｍ）、以下、Ｎ個の組み合わせまで繰り返し組み合わせを生成する。
候補オブジェクトＹについて、ＤＹ（２‐ｇｒａｍ）、ＣＤＹ（３‐ｇｒａｍ）、ＢＣＤＹ（４‐ｇｒａｍ）、以下、Ｎ個の組み合わせまで繰り返し組み合わせを生成する。
候補オブジェクトＺについて、ＤＺ（２‐ｇｒａｍ）、ＣＤＺ（３‐ｇｒａｍ）、ＢＣＤＺ（４‐ｇｒａｍ）、以下、Ｎ個の組み合わせまで繰り返し組み合わせを生成する。
【００６７】
本システムは、生成したｎ‐ｇｒａｍをクエリとして、これまでに履歴用データベースが蓄積したすべての頻度情報との照合を行い、出現頻度が高ければ高いほど、また、ｎ‐ｇｒａｍのｎが大きければ大きいほど、候補オブジェクトへ高いスコア付けを行う。１つの実施形態に係るスコア算出のための関数ｓｃｏｒｅを式（１）に示す。
【数１】
0005906345.tif 000002
ここで、ｐはプレイヤが現時点までに入力した直前の（Ｎ−１）個のタッチ操作の列であり、ｘは候補オブジェクトであり、Ｈは、これまでに蓄積したすべての頻度情報のデータベースである。関数ｓｃｏｒｅは、内部で２つの関数を用いている。１つ目の関数は、ｑｕｅｒｙ（ｐ，ｉ，ｘ）である。この関数Ｑ（ｑｕｅｒｙ（ｐ，ｉ，ｘ））は、プレイヤが現時点までに入力した直前の（Ｎ−１）個のタッチ操作の列の末尾から、ｎ−１個の要素を取り出し、その取り出した要素の末尾にｘを追加した新しい組み合わせを生成する。これにより、前述のようなクエリとなるｇｒａｍを生成することができる。２つ目の関数はｆｒｅｑ（Ｈ，Ｑ）である。この関数は、ｑｕｅｒｙ（）関数により生成されたクエリが、頻度情報のデータベース内に出現する頻度を計算する関数である。また本実施形態においては、より長い組み合わせ（イベント列）にマッチすることは、プレイヤの意図により明確にマッチすると考え、インデックスのｎが大きいほど大きい係数を掛けることが好ましい。この係数が、数式中のｗｉである。ｉは、２からＮまで増加する変数であるため、ｉが増加すればするほど強くスコアに反映させる関数としてｗｉを実装することができる。例えば、図７に示すように、ｗｉはｉが増加すればするほど非線形に上昇する関数であることができる。
【００６８】
図４に示すフローチャートに戻る。ステップ４０７において決定された各候補イベントのスコアの中で一番大きいスコアが、所定の閾値以上であるかどうかを判定する（ステップ４０８）。当該ステップにおいては、各候補イベントのスコアをそのまま所定の閾値以上であるかを判定してもよい。なお閾値は、プレイヤの行動予測を高い確信度で判定するために算出されたスコアに対して用いる値であるため、２つ以上の候補イベントが閾値以上とはならない。スコアが所定の閾値以上である場合、当該スコアの候補イベントを実行する前に、プレイヤによる候補イベント実行のキャンセルを受け付ける画面を表示する（ステップ４０９）。キャンセル受け付け画面は所定時間表示され、所定時間以内にキャンセルボタンに対応する座標にタッチを検出しない場合（ステップ４１０）、イベント処理を実行する（ステップ４１４）。ステップ４０８においてスコアが所定の閾値未満である場合、又はステップ４１０において所定時間以内にキャンセルボタンに対応する座標にタッチを検出した場合、スコアの高い順番に候補オブジェクトをリスト化した画面を表示し（ステップ４１１）、プレイヤに選択させる（ステップ４１２）。いずれかの候補オブジェクトがプレイヤに選択された場合、選択された候補オブジェクトと関連付けられた候補イベントについて、プレイヤの行動履歴を学習し（ステップ４１３）、イベント処理を実行する（ステップ４１４）。ステップ４１２において、いずれの候補オブジェクトも選択されなかった場合は、そのまま終了となる。
【００６９】
ステップ４１３におけるプレイヤの行動履歴の学習は、ステップ４１０において所定時間以内にキャンセルボタンに対応する座標にタッチを検出した場合に、該当する頻度情報を変更する学習をすることができる。ただし、ステップ４１３は省略することもできる。
【００７０】
ステップ４１４におけるイベント処理を実行後、ステップ４１５において、図６ａに示すプレイヤの操作履歴における最新の履歴情報として、一番スコアの大きい候補イベント又はステップ４１２において選択された候補オブジェクトと関連付けられた候補イベントをバッファに蓄積する。また一定期間が経過した古い履歴情報をバッファから削除するか、又は一定個数以上の履歴情報がバッファに蓄積された場合に超過分の履歴情報を古い履歴情報から削除することができる。
【００７１】
図４のフローチャートにおける他の変形実施形態として、ステップ４０８〜ステップ４１３に代えて、ステップ４０７において候補イベントのスコアを決定後、決定された各候補イベントのスコアの中で一番大きいスコアの候補イベントを決定し、そのままステップ４１４において当該候補イベント処理を実行することもできる。
【００７２】
図８は、本発明の他の１つの実施形態に係る情報処理を示したフローチャートである。図８に示すとおり、ステップ４１６を実行する点を除き、図４のフローチャートと同じである。本フローチャートにおいては、ステップ４０３においてタッチ位置を検出した後、検出されたタッチによりオブジェクトを一意に決定できるかどうかを判定する。すなわち、検出されたタッチ位置がある１つのオブジェクトの座標範囲内のみに対応する位置であるかどうかを判定する。ある１つのオブジェクトのみに対応する位置である場合、ステップ４１４に進み、当該オブジェクトに対応するイベント処理を実行する。検出されたタッチ位置がある１つのオブジェクトの座標範囲内でない場合は、図４と同様にステップ４０４に進み、曖昧タッチであるかどうかを判定する。
【００７３】
図４のフローチャートが示す情報処理は、タッチを検出するとすぐに曖昧タッチの検出を行い、タッチ操作の予測と補正を行う点で、密集するオブジェクトが配置された画面においてプレイヤがタッチする場合に有効である。一方図８のフローチャートが示す情報処理は、タッチを検出するとすぐに当該タッチ位置に対応する唯一のオブジェクトの確認を行う点で、明らかに１つのオブジェクトを選択している場合に、曖昧タッチの検出をする前にオブジェクト選択を可能にする点で有効である。
【００７４】
［システムにより実現される実施形態］
図９は本発明の１つの実施形態に係るシステムの全体構成の一例を示す。システム９００は、複数の電子装置１００と、サーバ１０００と、を含んで構成される。これらはネットワーク９５０によって互いに接続されるが、それぞれが必要に応じて個別に接続される形態であってもかまわない。また複数の電子装置のうちの一台をサーバとしても機能させる場合、システム９００はサーバ１０００を含まない構成とすることもできる。またシステム９００は、さらにデータベース１１００を含むこともできる。システム９００がデータベース１１００を含む場合、データベース１１００はプレイヤ操作の履歴情報や連続的に行われたプレイヤ操作の頻度情報を格納し、電子装置１００又はサーバ１０００はデータベース１１００に照会することで、所望のデータを取得することができる。以下では主としてサーバ１０００内のデータベースの使用を想定しているが、ネットワークに直接接続されたデータベース１１００を使用した場合においても同様である。
【００７５】
図１０は本発明の実施形態に係るサーバ１０００のハードウェア構成を示すブロック図である。サーバ１０００は、処理部１００１、表示部１００２、入力部１００３、記憶部１００４及び通信部１００５を備える。これらの各構成部はバス１０１０によって接続されるが、それぞれが必要に応じて個別に接続される形態であってもかまわない。
【００７６】
処理部１００１は、サーバ１０００が備える各部を制御するプロセッサを備えており、記憶部１００４をワーク領域として各種処理を行う。表示部１００２は使用者に情報を表示する機能を有する。入力部１００３はキーボードやマウス等のように使用者からの入力を受け付ける機能を有するものである。
【００７７】
記憶部１００４は、ハードディスク、メインメモリ、及びバッファメモリを含む。ハードディスクにはプログラム１００６が記憶される。ただしハードディスクについては、情報を格納できるものであればいかなる不揮発性ストレージであってもよい。着脱可能なものであっても構わない。記憶部１００４には、プログラム１００６や当該プログラムの実行に伴って参照され得る各種のデータが記憶される。さらに記憶部１００４はプレイヤ操作の履歴情報や連続的に行われたプレイヤ操作の頻度情報に関するデータベース１００７を含むこともできる。この場合データベース１００７は、好ましくは、実行されたイベントについての情報を含むイベント履歴情報に関するイベント履歴情報用データベースと、イベント履歴情報に基づいた連続する２つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報に関するイベント頻度情報用データベースとを有する。通信部１００５はイーサネット（登録商標）ケーブル等を用いた有線通信や移動体通信、無線ＬＡＮ等の無線通信を行い、ネットワーク９５０へ接続する。
【００７８】
例えばサーバ１０００は、システム管理者等がゲームサービスを運営、管理する際に利用する情報処理装置であり、電子装置１００から各種のコマンド（リクエスト）を受信すると、電子装置１０００上で動作可能なゲームプログラム、又は電子装置３００の規格に合わせたマークアップ言語で作成されたＷｅｂページやゲーム画面等を配信（レスポンス）することができる。また例えばサーバ１０００は、データベースを有するゲームサーバであり、電子装置１００からの照会に応じてデータを出力することができる。
【００７９】
サーバ１０００は、プログラム１００６が実行されることによって様々な機能が実現されるが、これらの機能の一部は電子回路等を構成することによっても実現できる。
【００８０】
電子装置１００のハードウェア構成は図１に示すとおりである。
【００８１】
図１１は本発明のシステムの機能ブロック図の一例を示す。図１１が示す各機能は、図３に示すものと同等の機能を有する。電子装置１００及び／又はサーバ１０００が図１１に示す各種機能を備えることにより、システム９００は、図１１に示す各種機能を実現することができる。以下の実施形態においては電子装置１００又はサーバ１０００がデータベース１０７又は１００７を含む場合について説明するが、前述のとおり、システム９００は、電子装置１００やサーバ１０００とは別に、ネットワークに接続されたデータベース１１００を含むことができ、この場合、電子装置１００やサーバ１０００はデータベース１１００からデータを取得することができる。
【００８２】
１つの実施形態に係るシステムとして、電子装置１００は、タッチ位置検出手段９０１、画面表示手段９０２、曖昧タッチ検出手段９０３、候補オブジェクト選択手段９０４、イベント実行手段９０６、イベント提示手段９０７、記憶手段９０８、通信手段９０９、学習手段９１０、及び一時記憶手段９１１を備え、サーバ１０００は、重み決定手段９０５、記憶手段９０８、通信手段９０９、及び学習手段９１０を備える。本実施形態においては、データベース１００７を用いることを想定しており、データベース１０７及び１１００を含まない構成とすることが好ましい。例えばシステム９００は、図４のフローチャートに示す情報処理を実行することができるが、この場合、ステップ４０７以外を電子装置１００が実行し、ステップ４０７をサーバ１０００が実行する。サーバ１０００は、ステップ４０７で算出されたスコアを電子装置１００へ送信し、電子装置１００はスコアを受信することで、ステップ４０８以降の処理を継続して実行することができる。ここでプレイヤの操作履歴であるイベント履歴情報については、一時記憶手段９１１により電子装置１００のバッファに蓄積され、電子装置１００は通信手段９０９により蓄積されたデータをサーバ１０００へ、好ましくは定期的に、送信し、記憶手段９０８は受信したデータをデータベース１００７が有するイベント履歴情報用データベースに格納する。さらに記憶手段９０８は、イベント履歴情報から、連続する２つ以上のイベントからなるイベント列のパターンごとの出現頻度を集計し、当該出現頻度を示すイベント頻度情報をデータベース１００７が有するイベント頻度情報用データベースに格納することができる。またステップ４１３にて学習したプレイヤの行動履歴については、電子装置１００が該当する頻度情報の変更に関する情報をサーバ１０００へ送信することで、サーバ１０００は重みを決定する際に利用することができる。
【００８３】
他の１つの実施形態に係るシステムとして、電子装置１００はデータベース１０７を備えず、記憶手段９０８におけるデータベースに関する機能以外の各機能を備え、サーバ１０００はデータベース１００７を備え、記憶手段９０８及び通信手段９０９の機能を備える。例えばシステム９００は、図４のフローチャートに示す情報処理を実行することができるが、この場合、電子装置１００がすべてのステップを実行する。ただしステップ４０７においては、イベント履歴情報及び／又はイベント頻度情報をデータベース１００７に照会し、所望のデータを取得することで重みを決定する。プレイヤの操作履歴であるイベント履歴情報は、一時記憶手段９１１により電子装置１００のバッファに蓄積され、電子装置１００は通信手段９０９により蓄積されたデータをサーバ１０００へ、好ましくは定期的に、送信し、記憶手段９０８は受信したデータをデータベース１００７が有するイベント履歴情報用データベースに格納する。
【００８４】
上記のシステムについての実施形態においては、データベース１１００又は１００７は複数の電子装置１００とネットワーク９５０を介して接続されている。したがって記憶手段９０８は、操作しているプレイヤの操作履歴の他に、他の電子装置を操作する他のプレイヤの操作履歴であるイベント履歴情報もまた当該データベースに格納し、格納されたイベント履歴情報からイベント頻度情報を集計し、格納することもできる。この場合、操作するプレイヤだけではなく、一般的なプレイヤの次の操作を予測する行動予測エンジンとして、電子装置を機能させることができる。
【００８５】
またプレイヤの操作履歴のさらなる実施形態として、プレイヤの学習データが十分に蓄積され、ステップ４０８での閾値を超えるスコアを算出することができるようになったときに学習を完了させ、プレイヤに「スマート選択を有効化しますか？」などと、本機能の存在を通知することができる。これにより、プレイヤは、最初から十分な精度のタッチ位置補正を体験することになるため、満足度が高くなる。またゲーム序盤では、そもそも選択肢が少ないため本発明による曖昧タッチの自動補正の必要性は低いが、ゲーム序盤が終了しゲームが複雑化する段階で、その複雑さに伴うユーザエクスペリエンスの低下を防止することができる。
【００８６】
上記のとおり、本実施形態に係るシステムは、一台の電子装置によっても、ネットワークを介して複数の電子装置が接続されるシステムによっても実現することができる。当該システムは、図３又は図１１に示す機能を有するものであるが、１つの実施形態に係るシステムアーキテクチャ１２００は、図１２に示す８つのモジュールから構成することができる。このようにモジュール化を行うことにより、一部のモジュールを変更して各種のゲームに適用することが可能になる。
【００８７】
曖昧タップ検出器１２０１は、曖昧なタップを検出するモジュールであり、電子装置１００上で動作するゲームシステムの一部として実装される。本モジュールは、曖昧タッチ検出手段９０３に対応する機能を有するものである。タップ位置の曖昧性は、ゲーム内容に強く関係するものであるため、ゲームタイトルに応じて本モジュールを変更することが好ましい。
【００８８】
ＵＩオブジェクト位置バッファ１２０２は、ゲーム画面上に表示されているＵＩオブジェクトの位置を記録するバッファであり、短期記憶バッファ１２０３は、プレイヤの直前の（Ｎ−１）個の操作履歴を記録するバッファである。本モジュールは、記憶部が含むバッファに対応し、前述した記憶手段９０８の一部や一時記憶手段９１１に対応する機能を有するものである。曖昧タップ検出器１２０１は、ＵＩオブジェクト位置バッファ１２０２と短期記憶バッファ１２０３から得られる情報を用いて、曖昧なタップを検出する。
【００８９】
プレイヤ行動予測エンジン１２０４は、プレイヤの次の行動を予測するソフトウェアモジュールであり、重み決定手段９０５に対応する機能を有するものである。本モジュールは、行動予測時に大規模なデータである連続操作頻度データベース１２０５を使用するため、当該データベースと同じ装置に実装されることが好ましい。
【００９０】
連続操作頻度データベース１２０５は、連続的に行われた操作の頻度情報を格納するデータベースであり、データベース１００７などに対応し、記憶手段９０８の一部に対応する機能を有するものである。本システムでは、短期記憶バッファ１２０３に格納されている操作履歴を、定期的に連続操作頻度データベースへ送る又は送信するように構成される。
【００９１】
学習モジュール１２０６は、プレイヤからのフィードバック情報を用いて、連続操作頻度データベース１２０５の連続操作の頻度情報を変更するモジュールである。本モジュールは、学習手段９１０に対応する機能を有するものである。このフィードバック情報の反映は、本発明の実装に必要不可欠なものではないが、フィードバック情報を用いた学習により、プレイヤの行動予測の精度を向上させることができる。フィードバック情報は、予測行動キャンセルＵＩ１２０７や候補タップ可能要素選択ＵＩ１２０８から取得することができる。
【００９２】
予測行動キャンセルＵＩ１２０７は、プレイヤの行動予測を高い確信度で行い、システムが自動的にイベントを実行するときに、プレイヤが判定されたイベントをキャンセルするためのユーザインタフェースである。当該インタフェースは、図４に示すフローチャートの情報処理におけるステップ４０９〜４１０を実行する機能を有する手段に対応するものである。このＵＩを通じてプレイヤがイベントをキャンセルしたとき、本システムは、学習モジュール１２０６により該当する頻度情報を減少させる学習を行う。
【００９３】
候補タップ可能要素選択ＵＩ１２０８は、プレイヤの行動予測の確信度が十分でないときにプレイヤに再選択を促すためのユーザインタフェースであり、イベント提示手段に対応する機能を有するものである。具体的には、近傍のタップ可能要素を表示し、プレイヤに選択させる方法が考えられる。
【００９４】
以上に説明した処理又は動作において、あるステップにおいて、そのステップではまだ利用することができないはずのデータを利用しているなどの処理又は動作上の矛盾が生じない限りにおいて、処理又は動作を自由に変更することができる。また以上に説明してきた各実施例は、本発明を説明するための例示であり、本発明はこれらの実施例に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。
【符号の説明】
【００９５】
１００  電子装置
１０１、１００１  処理部
１０２、１００２  表示部
１０３、１００３  接触型入力部
１０４、１００４  記憶部
１０５、１００５  通信部
１０６、１００６  プログラム
１０７、１００７  データベース
１０８  タッチパネル
１１０  バス
３０１、９０１  タッチ位置検出手段
３０２、９０２  画面表示手段
３０３、９０３  曖昧タッチ検出手段
３０４、９０４  候補オブジェクト選択手段
３０５、９０５  重み決定手段
３０６、９０６  イベント実行手段
３０７、９０７  イベント提示手段
３０８、９０８  記憶手段
３０９、９０９  通信手段
３１０、９１０  学習手段
３１１、９１１  一時記憶手段
５０１  オブジェクト
５０２  指
５０３、５０４  エリア
５０５  タッチ位置
５０６  所定距離
９００  システム
９５０  ネットワーク
１０００  サーバ
１１００  データベース
１２００  システムアーキテクチャ
１２０１  曖昧タップ検出器
１２０２  ＵＩオブジェクト位置バッファ
１２０３  短期記憶バッファ
１２０４  プレイヤ行動予測エンジン
１２０５  連続操作頻度データベース
１２０６  学習モジュール
１２０７  予測行動キャンセルＵＩ
１２０８  候補タップ可能要素選択ＵＩ
【要約】
【課題】操作履歴に基づいてタッチ対象を予測する。
【解決手段】本発明は、表示部及び接触型位置入力部を有する電子装置に、イベントと関連付けられたオブジェクトを含む画面を表示部に表示するステップと、接触型位置入力部上へのタッチを検出した場合において検出されたタッチ座標から所定距離以内にオブジェクトが２つ以上ある場合に、検出されたタッチを曖昧タッチとして検出するステップと、曖昧タッチが検出された場合に、検出されたタッチ座標から所定距離以内の２つ以上のオブジェクトである候補オブジェクトを選択するステップと、選択された候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント列、及びイベント履歴情報に基づいて、候補イベントの各々の出現に関する重みを決定するステップと、重みの一番大きい候補イベントを実行又は提示するステップと、を実行させるプログラムである。
【選択図】図１【図１】
0005906345.tif 000003
【図２】
0005906345.tif 000004
【図３】
0005906345.tif 000005
【図４】
0005906345.tif 000006
【図５ａ】
0005906345.tif 000007
【図５ｂ】
0005906345.tif 000008
【図５ｃ】
0005906345.tif 000009
【図５ｄ】
0005906345.tif 000010
【図６ａ】
0005906345.tif 000011
【図６ｂ】
0005906345.tif 000012
【図６ｃ】
0005906345.tif 000013
【図７】
0005906345.tif 000014
【図８】
0005906345.tif 000015
【図９】
0005906345.tif 000016
【図１０】
0005906345.tif 000017
【図１１】
0005906345.tif 000018
【図１２】
0005906345.tif 000019