(58)【調査した分野】(Int.Cl.,DB名)
表示部及び接触型位置入力部を有し、プレイヤによる前記接触型位置入力部上へのタッチに応じたタッチ位置を前記接触型位置入力部上の座標として検出する電子装置において実行されるプログラムであって、前記電子装置に、
イベントと関連付けられたオブジェクトを含む画面を前記表示部に表示するステップと、
前記接触型位置入力部上へのタッチを検出した場合において検出されたタッチ座標から所定距離以内に前記オブジェクトが2つ以上ある場合に、検出されたタッチを曖昧タッチとして検出するステップと、
前記曖昧タッチが検出された場合に、前記検出されたタッチ座標から前記所定距離以内の2つ以上の前記オブジェクトである候補オブジェクトを選択するステップと、
選択された前記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、前記候補イベントの各々の出現に関する重みを決定するステップと、
前記重みの一番大きい前記候補イベントを実行する、又は前記重みの一番大きい前記候補イベント実行の確認をプレイヤに提示するステップと、
を実行させ、
前記イベント履歴情報は、実行されたイベントの履歴における連続する2つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報を含む、プログラム。
ネットワークを介してサーバに接続され、表示部及び接触型位置入力部を有し、並びにプレイヤによる前記接触型位置入力部上へのタッチに応じたタッチ位置を前記接触型位置入力部上の座標として検出する電子装置において実行されるプログラムであって、前記電子装置に、
イベントと関連付けられたオブジェクトを含む画面を前記表示部に表示するステップと、
前記接触型位置入力部上へのタッチを検出した場合において検出されたタッチ座標から所定距離以内に前記オブジェクトが2つ以上ある場合に、検出されたタッチを曖昧タッチとして検出するステップと、
前記曖昧タッチが検出された場合に、前記検出されたタッチ座標から前記所定距離以内の2つ以上の前記オブジェクトである候補オブジェクトを選択するステップと、
前記サーバに、選択された前記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、前記候補イベントの各々の出現に関する重みを決定させるために、前記サーバに対して前記候補イベントを含む情報を送信するステップと、
前記サーバから前記重みを受信するステップと、
前記重みの一番大きい前記候補イベントを実行する、又は前記重みの一番大きい前記候補イベント実行の確認をプレイヤに提示するステップと、
を実行させ、
前記イベント履歴情報は、実行された過去のイベントにおける連続する2つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報を含む、プログラム。
サーバと、前記サーバにネットワークを介して接続され、表示部及び接触型位置入力部を備え、及びプレイヤによる前記接触型位置入力部上へのタッチに応じたタッチ位置を前記接触型位置入力部上の座標として検出する電子装置とを含むシステムであって、
イベントと関連付けられたオブジェクトを含む画面を前記表示部に表示する画面表示手段と、
前記接触型位置入力部上へのタッチを検出した場合において、検出されたタッチ座標から所定距離以内に前記オブジェクトが2つ以上ある場合に、検出されたタッチを曖昧タッチとして検出する曖昧タッチ検出手段と、
前記曖昧タッチが検出された場合に、前記検出されたタッチ座標から前記所定距離以内の2つ以上の前記オブジェクトである候補オブジェクトを選択する候補オブジェクト選択手段と、
選択された前記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、前記候補イベントの各々の出現に関する重みを決定する重み決定手段と、
前記重みの一番大きい前記候補イベントを実行する候補イベント実行手段、又は前記重みの一番大きい前記候補イベント実行の確認をプレイヤに提示する候補イベント提示手段と、
実行されたイベントを記憶する記憶手段と、
の各手段を前記サーバ又は前記電子装置が備え、
前記記憶手段は、前記記憶手段に記憶されたイベントの履歴における連続する2つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報を含むイベント履歴情報を作成する、システム。
サーバと、前記サーバにネットワークを介して接続され、表示部及び接触型位置入力部を備え、及びプレイヤによる前記接触型位置入力部上へのタッチに応じたタッチ位置を前記接触型位置入力部上の座標として検出する電子装置とを含むシステムの制御方法であって、
イベントと関連付けられたオブジェクトを含む画面を前記表示部に表示するステップと、
前記接触型位置入力部上へのタッチを検出した場合において検出されたタッチ座標から所定距離以内に前記オブジェクトが2つ以上ある場合に、検出されたタッチを曖昧タッチとして検出するステップと、
前記曖昧タッチが検出された場合に、前記検出されたタッチ座標から前記所定距離以内の2つ以上の前記オブジェクトである候補オブジェクトを選択するステップと、
選択された前記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、前記候補イベントの各々の出現に関する重みを決定するステップと、
前記重みの一番大きい前記候補イベントを実行する、又は前記重みの一番大きい前記候補イベント実行の確認をプレイヤに提示するステップと、
を備え、各ステップは前記サーバ又は前記電子装置により実行され、
前記イベント履歴情報は、実行されたイベントの履歴における連続する2つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報を含む、制御方法。
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、ゲームのように動的にレイアウトされるユーザインタフェースを対象として、操作モードを変更することなくシームレスに誤タップの補正を行う技術は実現されていない。
【0008】
前述のとおり、密集したオブジェクトが配置される画面において操作する場合、プレイヤは特定のオブジェクトを正確にタップすることは難しいため、誤タップが行われる可能性が高い。具体的には、指の大きさ(10〜15mm)と、電子装置が認識するタップイベントの発生点の大きさ(1ポイント=0.16〜0.35mm)を比較すると、30倍〜100倍ほどの大きさの違いがあるため、プレイヤが想定しているタップ位置と、電子装置が認識するタップイベントの位置は、大きくずれる可能性が高い。特に、3Dオブジェクトが画面上に密集して表示されるようなゲームにおいては、このタップ位置の認識のミスマッチにより意図しない制御が行われる可能性が高い。このようなミスマッチは、ディスプレイの高解像度化に伴い、より顕著に表れるようになってきており、プレイヤに本来ゲームが意図していないストレスを与え、ゲームによって作り出されている世界にプレイヤが没頭することを妨げる恐れがある。
【0009】
本出願人は、どのオブジェクトが選択されたのか一意に判定しにくいタッチ(タップ)を曖昧性のあるタッチ(タップ)と定義し、上記の誤タップは曖昧性のあるタップに起因するものであると考えた。したがって本発明は、曖昧性のあるタッチが行われたときに、プレイヤが想定するタッチ位置を推定することによりタッチ操作の曖昧性を除去し、誤タッチの補正を行うことを目的とする。
【課題を解決するための手段】
【0010】
本発明は上記の課題に鑑みてなされたものであり、以下のような特徴を有している。すなわち、本発明の一態様としてのプログラムは、表示部及び接触型位置入力部を有し、プレイヤによる上記接触型位置入力部上へのタッチに応じたタッチ位置を上記接触型位置入力部上の座標として検出する電子装置において実行されるプログラムであって、上記電子装置に、イベントと関連付けられたオブジェクトを含む画面を上記表示部に表示するステップと、上記接触型位置入力部上へのタッチを検出した場合において検出されたタッチ座標から所定距離以内に上記オブジェクトが2つ以上ある場合に、検出されたタッチを曖昧タッチとして検出するステップと、上記曖昧タッチが検出された場合に、上記検出されたタッチ座標から上記所定距離以内の2つ以上の上記オブジェクトである候補オブジェクトを選択するステップと、選択された上記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、上記候補イベントの各々の出現に関する重みを決定するステップと、上記重みの一番大きい上記候補イベントを実行する、又は上記重みの一番大きい上記候補イベント実行の確認をプレイヤに提示するステップと、を実行させるプログラムである。
【0011】
本発明の一態様として、検出されたタッチを曖昧タッチとして検出するステップは、検出されたタッチ座標が上記オブジェクトに対応する座標範囲内でない場合に実行されるステップであり、上記プログラムは、上記電子装置に、検出されたタッチ座標が上記オブジェクトに対応する座標範囲内である場合に、上記オブジェクトと関連付けられたイベントを実行するステップをさらに実行させる。
【0012】
本発明の一態様として、上記イベント履歴情報は、実行されたイベントの履歴における連続する2つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報を含む。
【0013】
本発明の一態様として、上記イベント頻度情報は、連続するN(N≧2)個以下のイベントからなるイベント列のパターンごとの出現頻度を示す情報を含むものであり、上記重みを決定するステップは、上記イベント頻度情報における上記候補イベント直前に実行されたイベント又はイベント列及び上記候補イベントからなる連続するn個(2≦n≦N)のイベント列の出現頻度に基づいて上記候補イベントの各々についての出現可能性を示すスコアを算出するステップを含む。
【0014】
本発明の一態様として、上記スコアを算出するステップは、それぞれの上記候補イベントについて、上記スコアをn=n1〜n2(2≦n1<n2≦N)それぞれで算出し、算出されたスコアにnの値の大きさに対応する所定の係数を掛け合わせて加算するステップを含む。
【0015】
本発明の一態様として、上記プログラムは、上記電子装置に、実行されたイベントを記憶するステップをさらに実行させる。
【0016】
本発明の一態様として、上記電子装置は、ネットワークを介してサーバに接続され、上記プログラムは、上記電子装置に、上記サーバから上記イベント履歴情報を受信するステップと、上記サーバに、実行されたイベントを記憶させるために、上記サーバに対して実行されたイベントを含む情報を送信するステップをさらに実行させる。
【0017】
本発明の一態様としてのプログラムは、ネットワークを介してサーバに接続され、表示部及び接触型位置入力部を有し、並びにプレイヤによる上記接触型位置入力部上へのタッチに応じたタッチ位置を上記接触型位置入力部上の座標として検出する電子装置において実行されるプログラムであって、上記電子装置に、イベントと関連付けられたオブジェクトを含む画面を上記表示部に表示するステップと、上記接触型位置入力部上へのタッチを検出した場合において検出されたタッチ座標から所定距離以内に上記オブジェクトが2つ以上ある場合に、検出されたタッチを曖昧タッチとして検出するステップと、上記曖昧タッチが検出された場合に、上記検出されたタッチ座標から上記所定距離以内の2つ以上の上記オブジェクトである候補オブジェクトを選択するステップと、上記サーバに、選択された上記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、上記候補イベントの各々の出現に関する重みを決定させるために、上記サーバに対して上記候補イベントを含む情報を送信するステップと、上記サーバから上記重みを受信するステップと、上記重みの一番大きい上記候補イベントを実行する、又は上記重みの一番大きい上記候補イベント実行の確認をプレイヤに提示するステップと、を実行させるプログラムである。
【0018】
本発明の一態様として、検出されたタッチを曖昧タッチとして検出するステップは、検出されたタッチ座標が上記オブジェクトに対応する座標範囲内でない場合に実行されるステップであり、上記プログラムは、上記電子装置に、検出されたタッチ座標が上記オブジェクトに対応する座標範囲内である場合に、上記オブジェクトと関連付けられたイベントを実行するステップをさらに実行させる。
【0019】
本発明の一態様として、上記イベント履歴情報は、実行された過去のイベントにおける連続する2つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報を含む。
【0020】
本発明の一態様として、上記プログラムは、上記電子装置に、上記サーバに、実行されたイベントを記憶させるために、上記サーバに対して実行されたイベントを含む情報を送信するステップをさらに実行させる。
【0021】
本発明の一態様としての電子装置は、表示部及び接触型位置入力部を有する電子装置であって、プレイヤによる上記接触型位置入力部上へのタッチに応じたタッチ位置を上記接触型位置入力部上の座標として検出するタッチ位置検出手段と、イベントと関連付けられたオブジェクトを含む画面を上記表示部に表示する画面表示手段と、上記接触型位置入力部上へのタッチを検出した場合において、検出されたタッチ座標から所定距離以内に上記オブジェクトが2つ以上ある場合に、検出されたタッチを曖昧タッチとして検出する曖昧タッチ検出手段と、上記曖昧タッチが検出された場合に、上記検出されたタッチ座標から上記所定距離以内の2つ以上の上記オブジェクトである候補オブジェクトを選択する候補オブジェクト選択手段と、選択された上記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、上記候補イベントの各々の出現に関する重みを決定する重み決定手段と、上記重みの一番大きい上記候補イベントを実行する候補イベント実行手段、又は上記重みの一番大きい上記候補イベント実行の確認をプレイヤに提示する候補イベント提示手段と、を備える電子装置である。
【0022】
本発明の一態様としてのシステムは、サーバと、上記サーバにネットワークを介して接続され、表示部及び接触型位置入力部を備え、及びプレイヤによる上記接触型位置入力部上へのタッチに応じたタッチ位置を上記接触型位置入力部上の座標として検出する電子装置とを含むシステムであって、イベントと関連付けられたオブジェクトを含む画面を上記表示部に表示する画面表示手段と、上記接触型位置入力部上へのタッチを検出した場合において、検出されたタッチ座標から所定距離以内に上記オブジェクトが2つ以上ある場合に、検出されたタッチを曖昧タッチとして検出する曖昧タッチ検出手段と、上記曖昧タッチが検出された場合に、上記検出されたタッチ座標から上記所定距離以内の2つ以上の上記オブジェクトである候補オブジェクトを選択する候補オブジェクト選択手段と、選択された上記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、上記候補イベントの各々の出現に関する重みを決定する重み決定手段と、上記重みの一番大きい上記候補イベントを実行する候補イベント実行手段、又は上記重みの一番大きい上記候補イベント実行の確認をプレイヤに提示する候補イベント提示手段と、の各手段を上記サーバ又は上記電子装置が備える、システムである。
【0023】
本発明の一態様として、上記曖昧タッチ検出手段は、検出されたタッチ座標が上記オブジェクトに対応する座標範囲内でない場合に、上記曖昧タッチを検出する手段であり、上記電子装置は、検出されたタッチ座標が上記オブジェクトに対応する座標範囲内である場合に、上記オブジェクトと関連付けられたイベントを実行するイベント実行手段をさらに備える。
【0024】
本発明の一態様として、上記システムは、実行されたイベントを記憶する記憶手段を上記サーバ又は上記電子装置がさらに備え、上記記憶手段は、上記記憶手段に記憶されたイベントの履歴における連続する2つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報を含むイベント履歴情報を作成する。
【0025】
本発明の一態様として、上記イベント頻度情報は、連続するN(N≧2)個以下のイベントからなるイベント列のパターンごとの出現頻度を示す情報を含むものであり、上記重み決定手段は、上記イベント頻度情報における上記候補イベント直前に実行されたイベント又はイベント列及び上記候補イベントからなる連続するn個(2≦n≦N)のイベント列の出現頻度に基づいて上記候補イベントの各々についての出現可能性を示すスコアを算出するスコア算出手段を備える。
【0026】
本発明の一態様としての制御方法は、サーバと、上記サーバにネットワークを介して接続され、表示部及び接触型位置入力部を備え、及びプレイヤによる上記接触型位置入力部上へのタッチに応じたタッチ位置を上記接触型位置入力部上の座標として検出する電子装置とを含むシステムの制御方法であって、イベントと関連付けられたオブジェクトを含む画面を上記表示部に表示するステップと、上記接触型位置入力部上へのタッチを検出した場合において検出されたタッチ座標から所定距離以内に上記オブジェクトが2つ以上ある場合に、検出されたタッチを曖昧タッチとして検出するステップと、上記曖昧タッチが検出された場合に、上記検出されたタッチ座標から上記所定距離以内の2つ以上の上記オブジェクトである候補オブジェクトを選択するステップと、選択された上記候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、上記候補イベントの各々の出現に関する重みを決定するステップと、上記重みの一番大きい上記候補イベントを実行する、又は上記重みの一番大きい上記候補イベント実行の確認をプレイヤに提示するステップと、を備え、各ステップは上記サーバ又は上記電子装置により実行される制御方法である。
【0027】
本発明の一態様として、検出されたタッチを曖昧タッチとして検出するステップは、検出されたタッチ座標が上記オブジェクトに対応する座標範囲内でない場合に実行されるステップであり、上記制御方法は、検出されたタッチ座標が上記オブジェクトに対応する座標範囲内である場合に、上記オブジェクトと関連付けられたイベントを実行するステップをさらに備え、上記サーバ又は上記電子装置により実行される。
【発明の効果】
【0028】
本発明によれば、プレイヤがタッチにより選択を所望するオブジェクトをプレイヤの過去の操作履歴に基づいて推定するユーザインタフェースを実現することで、ゲーム内のモード切り替え操作を行うことなく、密集したオブジェクト群の中から所望のオブジェクトをタッチで選択するのが難しいという状況を解決することができる。プレイヤの意図する動作の予測処理においては、膨大な組み合わせを持つ操作履歴を絞り込むことで行うが、物理的なタッチ位置から所定距離以内のオブジェクトを検索キーとして行うため、高速に絞り込むことができる。このようにリアルタイムかつ連続的にタッチ操作の予測と補正を行うことにより、高いレスポンス性能が要求されるゲーム分野において、ビッグデータのリアルタイムの利活用を実現し、プレイヤの次の操作を予測する行動予測エンジンの基盤を実現することができる。またプレイヤの操作履歴もリアルタイムで取得することで、プレイヤが明示的な設定を行わずとも、プレイヤのタッチ操作傾向を学習することができる。
【発明を実施するための形態】
【0030】
以下、図面を参照して、本発明の実施形態を説明する。本実施形態に係るシステムは、ネットワークを介して複数の電子装置が接続されるシステムによって実現することができるが、一台の電子装置によっても実現することもできる。最初に一台の電子装置で実現する実施形態を説明し、その後ネットワークに接続されたシステムについて説明する。なお、ネットワークに接続されたシステムは、サーバ‐クライアントシステムを想定して説明しているが、PtoPのようなサーバのないシステムで構成することもできる。
【0031】
また本実施形態は主としてゲームシステムについて説明するが、他のシステムにおいて利用することもできる。本実施形態におけるゲームは、画面上に複数のオブジェクトが配置されるゲームである。オブジェクトはイベントと関連付けられたオブジェクトと、イベントと関連付けられていないオブジェクトとを含む。イベントと関連付けられたオブジェクトが選択されると、オブジェクトと関連付けられた所定のゲーム処理又は制御が行われる。イベントと関連付けられていないオブジェクトが選択された場合は、所定のゲーム処理又は制御は行われないものの、タッチしたことをプレイヤに示すことはできる。特に言及がない限り、以下で単にオブジェクトという場合は、イベントと関連付けられたオブジェクトを示すものとする。
【0032】
[電子装置により実現される実施形態]
図1は本発明の実施形態に係る電子装置100のハードウェア構成を示すブロック図である。電子装置100は処理部101、表示部102、接触型入力部103、記憶部104、及び通信部105を備える。これらの各構成部はバス110によって接続されるが、それぞれが必要に応じて個別に接続される形態であってもかまわない。
【0033】
電子装置100は、好ましくはスマートフォンであるが、例えば、タブレット型コンピュータ、ビデオゲーム機、携帯型ビデオゲーム機、タッチパッド等の接触型入力装置を備えるコンピュータも含まれる。
【0034】
処理部101は、プログラム106、接触型入力部103からの入力データ、又は通信部105から受信したデータに基づいて、ゲーム処理や画像生成処理などの各種の処理を行う。処理部101は、電子装置100が備える各部を制御するプロセッサを備えており、プロセッサが含むレジスタや記憶部104をワーク領域として各種処理を行う。
【0035】
記憶部104は、ハードディスク、メインメモリ、及びバッファメモリを含む。ハードディスクにはプログラム106が記憶される。ただしハードディスクは、情報を格納できるものであればいかなる不揮発性ストレージであってもよい。着脱可能なものであっても構わない。例えば電子装置100がスマートフォンである場合はROM及びRAMを含む。記憶部104には、プログラム106や当該プログラムの実行に伴って参照され得る各種のデータが記憶される。当該プログラムは、オペレーティングシステム、又はビデオゲーム、ウェブブラウザ等のユーザ入力を要求するあらゆるアプリケーションのためのプログラムを含み、各種のデータには、例えばゲームに登場するオブジェクトなどの各種画像を表示するための画像データや、ゲーム中に記憶部104に書き込まれうる座標等のデータも含まれる。さらに記憶部104はプレイヤ操作の履歴情報や連続的に行われたプレイヤ操作の頻度情報に関するデータベース107を含む。好ましくは、データベース107は、実行されたイベントについての情報を含むイベント履歴情報に関するイベント履歴情報用データベースと、イベント履歴情報に基づいた連続する2つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報に関するイベント頻度情報用データベースとを有する。
【0036】
通信部105はイーサネット(登録商標)ケーブル等を用いた有線通信や移動体通信、無線LAN等の無線通信を行い、ネットワーク101へ接続する。
【0037】
表示部(ディスプレイ)102は、実行されるプログラム106によって出力される画像を表示する。好ましくは液晶ディスプレイであるが、有機ELを用いたディスプレイやプラズマディスプレイ等であってもよい。
【0038】
接触型入力部103は例えばタッチパッドのように、プレイヤがタッチした位置に基づいた入力を電子装置100に与える。好ましくは表示部102と接触型入力部103は一体としたタッチパネルであるが、別の位置に配置される別個の形態であっても構わない。例えば表示部102と接触型入力部103が一体となったタッチパネルである場合は、表示部102へのプレイヤのタッチによる入力を受け付け、接触型入力部103はプレイヤがタッチした位置に対応する座標を検出し、電子装置100に与える。検出方式は、例えばタッチパネルにおける静電容量方式などのあらゆる方式を含みうるが、接触型入力部103は、2以上の点を同時にプレイヤの指などがタッチしたことを検出し、検出した位置に対応する各座標情報を電子装置100に与えられるものであることが好ましい。
【0039】
ここでタッチとは、指などが接触型入力部103、本実施形態においてはタッチパネルに接触する動作や状態である。なお本実施形態においては、プレイヤによるタッチはプレイヤの指によるものとして説明するが、どの指によるタッチでもよく、又は例えばスタイラスペンのような、その他のものであってもよい。一方、リリースとは指などがタッチパネルから離れる動作や状態である。プレイヤは主に電子装置100をタッチやリリースすることにより操作する。このようなタッチ操作には、タッチ、ロングタッチ、マルチタッチ、リリース、スワイプ、タップ、ダブルタップ、ロングタップ、ドラッグ、及びフリックなどを含むことができる。例えばタップは、タッチに続いて、タッチ位置を移動させずにリリースをする操作である。好ましくは、処理部101が、指などのタッチパネルへの接触、接触位置、接触時間又は接触回数に基づいてタッチ操作の種類の一部又は全部を判別する。
【0040】
例えば電子装置100としてスマートフォンを用いた場合、表示部102と接触型入力部103は一体となったタッチパネル108である。接触型入力部103は、第1軸及び第1軸に実質的に直交する第2軸からなる座標平面を用いて、座標により位置が指定される。好ましくは
図2に示すように、第1軸は略長方形であるタッチパネル108(接触型入力部103)の短辺と、第2軸はタッチパネル108の長辺と、実質的に平行であって、第1軸方向の座標軸(横軸)及び第2軸方向の座標軸(縦軸)により座標(x,y)として表される。処理部101はプログラム等を用いて、タッチパネル108により検出するタッチ位置を当該座標(x,y)データとして取得することができる。例えばタッチパネル108の検出精度が640ドット×1,136ドットである場合は、横軸方向に640ドット、縦軸方向に1,136ドットの分解能を有することができる。この場合のドットは1つの点であってもよいし、一定の領域(セル)であっても構わない。ただしドット間の距離は、通常タッチパネル(電子装置)毎に異なることに注意が必要である。本明細書において、特に言及が無い限り、「距離」は座標上の距離を表すものとする。なお
図2に示す座標設定はこの一例であり、座標軸はプログラムにより設定することもできる。また極座標を設定することもできるし、座標変換により他の座標系を設定することもできる。
【0041】
また例えば、表示部102と接触型入力部103が別の位置に配置される別個の形態である場合、接触型入力部103には上記のように座標を設定し、表示部102には接触型入力部103の座標に対応する座標を設定することができる。
【0042】
図3は本発明の電子装置の機能ブロック図の一例を示す。電子装置100は、タッチ位置検出手段301、画面表示手段302、曖昧タッチ検出手段303、候補オブジェクト選択手段304、重み決定手段305、イベント実行手段306、イベント提示手段307、記憶手段308、通信手段309、学習手段310、及び一時記憶手段311を備える。
【0043】
タッチ位置検出手段301は、接触型位置入力部103上へのプレイヤによるタッチ位置を検出し、電子装置100に与える機能を有する。画面表示手段302は、電子装置100による出力を表示部102へ表示する機能を有し、イベントと関連付けられたオブジェクトを表示部102へ表示することができる。
【0044】
曖昧タッチ検出手段303は、検出されたタッチのタッチ位置によりオブジェクトを1つに決定することができない場合に、当該検出されたタッチを曖昧なタッチ(曖昧タッチ)として検出する機能を有する。例えば、検出されたタッチ位置から所定距離以内にオブジェクトが2つ以上ある場合に、検出されたタッチを曖昧タッチとして検出することができる。
【0045】
候補オブジェクト選択手段304は、曖昧なタッチとして検出されたタッチのタッチ位置に基づいて、プレイヤがタッチを意図した可能性があるオブジェクトである候補オブジェクトを選択する機能を有する。
【0046】
重み決定手段305は、候補オブジェクトと関連付けられた候補イベント、直前に実行されたイベント又はイベント列(2つ以上の連続したイベント)、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、候補イベントの各々の出現に関する重みを決定する機能を有する。例えば出現に関する重みは、出現可能性を示すスコアであることもできるし、出現に関する優先度であることもできる。
【0047】
イベント実行手段306は、検出されたタッチ位置によりオブジェクトを1つに決定することができる場合の当該オブジェクトと関連付けられたイベント、又は重みの一番大きい候補イベントを実行する機能を有する。一方イベント提示手段307は、重みの大きい候補イベントの方から実行の確認をプレイヤに提示する機能を有する。
【0048】
記憶手段308は、プログラムやデータ等を記憶部104へ格納する機能を有する。記憶手段308が含む一時記憶手段311は、一時的にデータを蓄えるバッファ機能を有し、オブジェクトと関連付けられたイベントの実行された履歴をバッファに蓄積する。したがって曖昧タッチが検出された場合、一時記憶手段311は曖昧タッチが検出される直前までのイベント履歴情報を蓄積した状態にある。記憶手段308は、バッファに蓄積された履歴情報を、好ましくは定期的にイベント履歴情報としてイベント履歴情報用データベースへ蓄積する。さらに記憶手段308は、イベント履歴情報に基づいて連続する2つ以上のイベントからなるイベント列のパターンごとの出現頻度を集計し、当該出現頻度を示すイベント頻度情報をイベント頻度情報用データベースへ格納する。重み決定手段305は、バッファに蓄積されたイベント履歴情報をクエリとしてデータベース107に照会することで、重み決定に必要なイベント履歴情報又はイベント頻度情報を取得することができる。なお、本実施形態においては、イベント履歴情報とイベント頻度情報はそれぞれ別々のデータベースに格納されることが好ましいが、イベント頻度情報はイベント履歴情報に基づき作成される情報ゆえ、イベント履歴情報はイベント頻度情報を包含する広い概念の構成要素として解釈することができる。ただし、イベント頻度情報が作成される際には、本発明が実施されるゲームの種類や性質なども考慮し、何らかの別の情報をイベント履歴情報に加味しながら作成してもよい。イベント頻度情報は必ずしもイベント履歴情報のみから作成される情報ではない。
【0049】
通信手段309は無線通信、有線通信を行う機能を有する。記憶手段308は、通信手段309を介して、サーバ、光学ディスク等からプログラム又はデータを取得して、格納することができる。
【0050】
学習手段310は、プレイヤ操作を学習する機能を有する。具体的には、プレイヤから取得される操作の履歴情報に基づいて、データベース107が記憶する連続操作の頻度情報を変更することで、プレイヤ操作の行動予測の精度を向上させることができる。
【0051】
電子装置100は、プログラム106が実行されることによってこれらの機能が実現される。したがって、一つの手段の一部の機能を他の手段が有してもよい。なお、これらの機能の一部は電子回路等を構成することによっても実現できる。
【0052】
本発明の1つの実施形態における、本発明の動作について説明する。本実施形態では、電子装置100としてスマートフォンを用い、当該スマートフォンによって実行されるゲームにおいて、プレイヤによるタッチがオブジェクトを1つに決定できないような曖昧なタッチに対する制御を行う。当該フローにおけるタッチ操作は主としてタップを想定している。
【0053】
図4は、本発明の1つの実施形態に係る情報処理を示したフローチャートである。本フロー開始時においては、スマートフォンは、ゲーム用プログラムが実行され、ユーザによってゲームがプレイされている状態にある。ステップ401において、スマートフォンは、イベントに関連付けられたオブジェクトを含む画面を表示する。
図5aは、タッチパネル108に表示されるゲーム画面の一例を示すものである。
図5aに表示されるオブジェクト(Obj1〜Obj7)501は、イベントに関連付けられたオブジェクトであり、プレイヤのタッチにより1つのオブジェクトが選択されると、オブジェクトと関連付けられた所定のゲーム処理又は制御が行われる。例えば、表示される各オブジェクトがアイテムである場合、プレイヤはタッチで選択することにより、各オブジェクトに対応するアイテムを選択することができる。この段階においては、スマートフォンは、プレイヤによるタッチパネルへのタッチを待ち受ける(ステップ402)。
【0054】
図5bは、プレイヤの指がタッチパネルにタッチした様子を示す。ステップ402においてタッチパネルへのタッチを判定し、タッチしていると判定された場合はタッチ位置を座標として検出する(ステップ403)。
【0055】
なお本実施形態においては電子装置100としてスマートフォンを用いているが、一般的にスマートフォンは一定時間毎にタッチ検出を行い、一定時間毎に画面更新を行う。例えば画面更新単位時間は、1/30秒、1/60秒、1/120秒等にすることができる。本フローチャートにおいては、好ましくは、画面更新周期に併せてタッチ検出を行う。なお検出されたタッチ位置座標は、特に言及がない限り、一時的に又はフローによる処理が終了するまで記憶部に記憶する。また画面更新に併せて、プログラムが認識するオブジェクトの座標範囲も更新される。
【0056】
続いてステップ404において、検出されたタッチが曖昧なタッチであるかどうかを判定する。ここで曖昧なタッチとは、プレイヤの意図を一意に決定できないタッチである。
図5cは、人間の指502によりタッチされうるエリア503を示す。このようにタッチは、画面上でタッチ可能な複数のエリア504にまたがって指が接触することになる。前述のとおり、タッチ位置はタッチパネルの検出分解能に応じて検出されるが、一般的に、スマートフォン用のオペレーティングシステムは、指が画面に接触する複数のポイントのうちのいずれか1つをタッチポイントの識別に使うと利用者の直観に反することが多いため、指の実際の位置を推定してタッチ位置としている。しかしながら、想定される指の範囲や推定されるタッチ位置が複数の各オブジェクトの領域と重複している場合、タッチされたオブジェクトを一意に決定することが出来ない。したがって、このような場合に、検出されたタッチを曖昧なタッチであると判定する。
【0057】
1つの実施形態に係る曖昧なタッチの検出方法を
図5dに示す。
図5dのタッチ位置505は、タッチされた指の中心位置から検出されたタッチ位置を示す。スマートフォンは、タッチ位置から所定距離506以内のオブジェクトを検出し、検出されたオブジェクトが2つ以上ある場合に、曖昧なタッチを検出する。ここで所定距離は、検出されたタッチ位置からプレイヤによるタッチが想定される範囲を示すタッチパネル座標上の距離を示すものである。検出されたオブジェクトが2つ以上ある場合、プレイヤによるタッチはどのオブジェクトへのタッチを意図したものであるかを決定することができない。したがって、タッチ位置から所定距離以内にオブジェクトが2つ以上ある場合に、検出されたタッチを曖昧タッチとして検出する。なお所定距離は、タッチパネルの検出精度や大きさに応じて異なる値に設定することができる。
【0058】
曖昧タッチを検出しない場合は、ステップ405に進み、検出されたオブジェクトがない場合はそのまま終了となり、検出されたオブジェクトが1つある場合は、当該オブジェクトと関連付けられたイベント処理を実行する(ステップ414)。なおステップ405は、曖昧タッチ検出を実行するステップ404において、タッチ位置から所定距離以内のオブジェクトを検出するため、ステップ404と同時に実行することもできる。
【0059】
曖昧タッチが検出されると、ステップ406において検出された候補オブジェクトを選択する。
図5dに示すように、タッチされた位置から所定距離以内にあるObj3、Obj4、Obj5を候補オブジェクトとして選択する。このように候補オブジェクトを絞り込むことにより、以降の情報処理に要する時間を短縮することができる。
【0060】
続いてステップ407において、選択された候補オブジェクトそれぞれと関連付けられたイベントである候補イベントそれぞれの出現に関する重みを決定する。例えば出現に関する重みが出現可能性を示すスコアである場合は、候補イベントそれぞれの出現に関する重みとして候補イベントそれぞれのスコアを算出する。当該スコアは、プレイヤの操作履歴やその操作履歴の頻度情報に基づいて算出されるものであり、候補イベントそれぞれが出現する可能性を数値で表したものである。
【0061】
本フローチャートにおいては、当該スコアを算出する。具体的には、候補イベント、直前に実行されたイベント又はイベント列、及び実行されたイベントについての情報を含むイベント履歴情報に基づいて、候補イベントの各々のスコアを算出する。
【0062】
本実施形態においては、
図6aに示すようにプレイヤの操作履歴を記憶する。記憶される操作履歴はオブジェクトと関連付けられたイベントの履歴である。一時記憶手段311は、プレイヤの操作履歴であるオブジェクトと関連付けられたイベントの実行された履歴をイベント履歴情報としてバッファに蓄積し、記憶手段308は、蓄積されたデータをイベント履歴用データベースに格納する。好ましくは定期的に蓄積されたデータをイベント履歴用データベースに格納する。記憶手段308は、イベント履歴情報から、連続する2つ以上のイベントからなるイベント列のパターンごとの出現頻度を集計し、当該出現頻度を示すイベント頻度情報をイベント頻度情報用データベースに格納する。ただしプレイヤの操作履歴の対象であるイベントは、オブジェクトと関連付けられたものであるため、オブジェクトそのものと等価の概念を有することができる。したがって、例えば
図6aに示す記憶される操作履歴はオブジェクトの履歴であることもできる。なお記憶手段308は、バッファに蓄積されたイベント履歴情報をイベント履歴情報用データベースに格納しないようにすることもできる。この場合イベント履歴情報用データベースには予め取得されたイベント履歴情報が格納される。
【0063】
スコアの算出においては、バッファに蓄積されたイベント履歴情報の一部又は全部に候補イベントを加えたイベント列をクエリとしてイベント頻度情報用データベースに照会する。
【0064】
ステップ407は、プレイヤの過去の操作履歴又は過去の操作履歴の頻度情報に基づいた行動予測方法の処理全般を含むものであるが、1つの実施形態としてn‐gramを用いたスコア算出方法を説明する。
【0065】
最初にデータベース107がイベント頻度情報として格納するデータについて説明する。プレイヤの直前の(N−1)個のタッチによるイベントログに基づいた次のタッチを予測するモデルとして、1つ前(N=2)、2つ前(N=3)、3つ前(N=4)、といったイベントログの結びつきを分析するために、遡及回数に応じて操作頻度情報を蓄積するためのインデックスを作成する。前述のとおりプレイヤの操作履歴は、
図6aに示すように記憶されているが、
図6aの例では、A→B→A→B→C→Dという順序でプレイヤが操作を行ったことが記録されている。n‐gramモデルでは、
図6bに示すように、この操作履歴を、2‐gram、3‐gram、4‐gram…というように、N個の連続する組み合わせ(イベント列)として分割し、それぞれの組み合わせの出現頻度を集計する。例えば、A→B→A→B→C→Dという操作履歴は、2‐gramでは、AB、BA、AB、BC、CDという2要素の5種類の組み合わせに分割され、それぞれ対応する頻度情報に加えられる。3‐gramでは、ABA、BAB、ABC、BCDという3要素の4種類の組み合わせに分割され、それぞれ対応する頻度情報に加えられる。このように、連続するN個の操作履歴を分割して出現頻度を計量することにより、
図6cに示すように、出現頻度が高い組はプレイヤが頻繁に組み合わせる操作であることを意味するインデックスを作成することができる。例えば、
図6cに示すインデックスのデータ構造Hは、次の通りである。
H:={<ngram1, frequency1>,<ngram2, frequency2>,…,<ngramk, frequencyk>}
ここで、ngramk、frequencykはk種類目のn‐gramであり、frequencykはそれに対応する頻度の値である。
【0066】
続いてイベント頻度情報の照合方法について説明する。候補オブジェクトX、Y、Zが選択されたときのスコア算出方法を示す。まず、候補オブジェクトそれぞれを、末尾に追加したn‐gramのキーを生成する。
図6aに示すように、A→B→A→B→C→Dという順序でプレイヤが操作を行ったとき、候補オブジェクトX、Y、Zから生成されるn‐gramは、次の通りである。
候補オブジェクトXについて、DX(2‐gram)、CDX(3‐gram)、BCDX(4‐gram)、以下、N個の組み合わせまで繰り返し組み合わせを生成する。
候補オブジェクトYについて、DY(2‐gram)、CDY(3‐gram)、BCDY(4‐gram)、以下、N個の組み合わせまで繰り返し組み合わせを生成する。
候補オブジェクトZについて、DZ(2‐gram)、CDZ(3‐gram)、BCDZ(4‐gram)、以下、N個の組み合わせまで繰り返し組み合わせを生成する。
【0067】
本システムは、生成したn‐gramをクエリとして、これまでに履歴用データベースが蓄積したすべての頻度情報との照合を行い、出現頻度が高ければ高いほど、また、n‐gramのnが大きければ大きいほど、候補オブジェクトへ高いスコア付けを行う。1つの実施形態に係るスコア算出のための関数scoreを式(1)に示す。
【数1】
ここで、pはプレイヤが現時点までに入力した直前の(N−1)個のタッチ操作の列であり、xは候補オブジェクトであり、Hは、これまでに蓄積したすべての頻度情報のデータベースである。関数scoreは、内部で2つの関数を用いている。1つ目の関数は、query(p,i,x)である。この関数Q(query(p,i,x))は、プレイヤが現時点までに入力した直前の(N−1)個のタッチ操作の列の末尾から、n−1個の要素を取り出し、その取り出した要素の末尾にxを追加した新しい組み合わせを生成する。これにより、前述のようなクエリとなるgramを生成することができる。2つ目の関数はfreq(H,Q)である。この関数は、query()関数により生成されたクエリが、頻度情報のデータベース内に出現する頻度を計算する関数である。また本実施形態においては、より長い組み合わせ(イベント列)にマッチすることは、プレイヤの意図により明確にマッチすると考え、インデックスのnが大きいほど大きい係数を掛けることが好ましい。この係数が、数式中のwiである。iは、2からNまで増加する変数であるため、iが増加すればするほど強くスコアに反映させる関数としてwiを実装することができる。例えば、
図7に示すように、wiはiが増加すればするほど非線形に上昇する関数であることができる。
【0068】
図4に示すフローチャートに戻る。ステップ407において決定された各候補イベントのスコアの中で一番大きいスコアが、所定の閾値以上であるかどうかを判定する(ステップ408)。当該ステップにおいては、各候補イベントのスコアをそのまま所定の閾値以上であるかを判定してもよい。なお閾値は、プレイヤの行動予測を高い確信度で判定するために算出されたスコアに対して用いる値であるため、2つ以上の候補イベントが閾値以上とはならない。スコアが所定の閾値以上である場合、当該スコアの候補イベントを実行する前に、プレイヤによる候補イベント実行のキャンセルを受け付ける画面を表示する(ステップ409)。キャンセル受け付け画面は所定時間表示され、所定時間以内にキャンセルボタンに対応する座標にタッチを検出しない場合(ステップ410)、イベント処理を実行する(ステップ414)。ステップ408においてスコアが所定の閾値未満である場合、又はステップ410において所定時間以内にキャンセルボタンに対応する座標にタッチを検出した場合、スコアの高い順番に候補オブジェクトをリスト化した画面を表示し(ステップ411)、プレイヤに選択させる(ステップ412)。いずれかの候補オブジェクトがプレイヤに選択された場合、選択された候補オブジェクトと関連付けられた候補イベントについて、プレイヤの行動履歴を学習し(ステップ413)、イベント処理を実行する(ステップ414)。ステップ412において、いずれの候補オブジェクトも選択されなかった場合は、そのまま終了となる。
【0069】
ステップ413におけるプレイヤの行動履歴の学習は、ステップ410において所定時間以内にキャンセルボタンに対応する座標にタッチを検出した場合に、該当する頻度情報を変更する学習をすることができる。ただし、ステップ413は省略することもできる。
【0070】
ステップ414におけるイベント処理を実行後、ステップ415において、
図6aに示すプレイヤの操作履歴における最新の履歴情報として、一番スコアの大きい候補イベント又はステップ412において選択された候補オブジェクトと関連付けられた候補イベントをバッファに蓄積する。また一定期間が経過した古い履歴情報をバッファから削除するか、又は一定個数以上の履歴情報がバッファに蓄積された場合に超過分の履歴情報を古い履歴情報から削除することができる。
【0071】
図4のフローチャートにおける他の変形実施形態として、ステップ408〜ステップ413に代えて、ステップ407において候補イベントのスコアを決定後、決定された各候補イベントのスコアの中で一番大きいスコアの候補イベントを決定し、そのままステップ414において当該候補イベント処理を実行することもできる。
【0072】
図8は、本発明の他の1つの実施形態に係る情報処理を示したフローチャートである。
図8に示すとおり、ステップ416を実行する点を除き、
図4のフローチャートと同じである。本フローチャートにおいては、ステップ403においてタッチ位置を検出した後、検出されたタッチによりオブジェクトを一意に決定できるかどうかを判定する。すなわち、検出されたタッチ位置がある1つのオブジェクトの座標範囲内のみに対応する位置であるかどうかを判定する。ある1つのオブジェクトのみに対応する位置である場合、ステップ414に進み、当該オブジェクトに対応するイベント処理を実行する。検出されたタッチ位置がある1つのオブジェクトの座標範囲内でない場合は、
図4と同様にステップ404に進み、曖昧タッチであるかどうかを判定する。
【0073】
図4のフローチャートが示す情報処理は、タッチを検出するとすぐに曖昧タッチの検出を行い、タッチ操作の予測と補正を行う点で、密集するオブジェクトが配置された画面においてプレイヤがタッチする場合に有効である。一方
図8のフローチャートが示す情報処理は、タッチを検出するとすぐに当該タッチ位置に対応する唯一のオブジェクトの確認を行う点で、明らかに1つのオブジェクトを選択している場合に、曖昧タッチの検出をする前にオブジェクト選択を可能にする点で有効である。
【0074】
[システムにより実現される実施形態]
図9は本発明の1つの実施形態に係るシステムの全体構成の一例を示す。システム900は、複数の電子装置100と、サーバ1000と、を含んで構成される。これらはネットワーク950によって互いに接続されるが、それぞれが必要に応じて個別に接続される形態であってもかまわない。また複数の電子装置のうちの一台をサーバとしても機能させる場合、システム900はサーバ1000を含まない構成とすることもできる。またシステム900は、さらにデータベース1100を含むこともできる。システム900がデータベース1100を含む場合、データベース1100はプレイヤ操作の履歴情報や連続的に行われたプレイヤ操作の頻度情報を格納し、電子装置100又はサーバ1000はデータベース1100に照会することで、所望のデータを取得することができる。以下では主としてサーバ1000内のデータベースの使用を想定しているが、ネットワークに直接接続されたデータベース1100を使用した場合においても同様である。
【0075】
図10は本発明の実施形態に係るサーバ1000のハードウェア構成を示すブロック図である。サーバ1000は、処理部1001、表示部1002、入力部1003、記憶部1004及び通信部1005を備える。これらの各構成部はバス1010によって接続されるが、それぞれが必要に応じて個別に接続される形態であってもかまわない。
【0076】
処理部1001は、サーバ1000が備える各部を制御するプロセッサを備えており、記憶部1004をワーク領域として各種処理を行う。表示部1002は使用者に情報を表示する機能を有する。入力部1003はキーボードやマウス等のように使用者からの入力を受け付ける機能を有するものである。
【0077】
記憶部1004は、ハードディスク、メインメモリ、及びバッファメモリを含む。ハードディスクにはプログラム1006が記憶される。ただしハードディスクについては、情報を格納できるものであればいかなる不揮発性ストレージであってもよい。着脱可能なものであっても構わない。記憶部1004には、プログラム1006や当該プログラムの実行に伴って参照され得る各種のデータが記憶される。さらに記憶部1004はプレイヤ操作の履歴情報や連続的に行われたプレイヤ操作の頻度情報に関するデータベース1007を含むこともできる。この場合データベース1007は、好ましくは、実行されたイベントについての情報を含むイベント履歴情報に関するイベント履歴情報用データベースと、イベント履歴情報に基づいた連続する2つ以上のイベントからなるイベント列のパターンごとの出現頻度を示すイベント頻度情報に関するイベント頻度情報用データベースとを有する。通信部1005はイーサネット(登録商標)ケーブル等を用いた有線通信や移動体通信、無線LAN等の無線通信を行い、ネットワーク950へ接続する。
【0078】
例えばサーバ1000は、システム管理者等がゲームサービスを運営、管理する際に利用する情報処理装置であり、電子装置100から各種のコマンド(リクエスト)を受信すると、電子装置1000上で動作可能なゲームプログラム、又は電子装置300の規格に合わせたマークアップ言語で作成されたWebページやゲーム画面等を配信(レスポンス)することができる。また例えばサーバ1000は、データベースを有するゲームサーバであり、電子装置100からの照会に応じてデータを出力することができる。
【0079】
サーバ1000は、プログラム1006が実行されることによって様々な機能が実現されるが、これらの機能の一部は電子回路等を構成することによっても実現できる。
【0080】
電子装置100のハードウェア構成は
図1に示すとおりである。
【0081】
図11は本発明のシステムの機能ブロック図の一例を示す。
図11が示す各機能は、
図3に示すものと同等の機能を有する。電子装置100及び/又はサーバ1000が
図11に示す各種機能を備えることにより、システム900は、
図11に示す各種機能を実現することができる。以下の実施形態においては電子装置100又はサーバ1000がデータベース107又は1007を含む場合について説明するが、前述のとおり、システム900は、電子装置100やサーバ1000とは別に、ネットワークに接続されたデータベース1100を含むことができ、この場合、電子装置100やサーバ1000はデータベース1100からデータを取得することができる。
【0082】
1つの実施形態に係るシステムとして、電子装置100は、タッチ位置検出手段901、画面表示手段902、曖昧タッチ検出手段903、候補オブジェクト選択手段904、イベント実行手段906、イベント提示手段907、記憶手段908、通信手段909、学習手段910、及び一時記憶手段911を備え、サーバ1000は、重み決定手段905、記憶手段908、通信手段909、及び学習手段910を備える。本実施形態においては、データベース1007を用いることを想定しており、データベース107及び1100を含まない構成とすることが好ましい。例えばシステム900は、
図4のフローチャートに示す情報処理を実行することができるが、この場合、ステップ407以外を電子装置100が実行し、ステップ407をサーバ1000が実行する。サーバ1000は、ステップ407で算出されたスコアを電子装置100へ送信し、電子装置100はスコアを受信することで、ステップ408以降の処理を継続して実行することができる。ここでプレイヤの操作履歴であるイベント履歴情報については、一時記憶手段911により電子装置100のバッファに蓄積され、電子装置100は通信手段909により蓄積されたデータをサーバ1000へ、好ましくは定期的に、送信し、記憶手段908は受信したデータをデータベース1007が有するイベント履歴情報用データベースに格納する。さらに記憶手段908は、イベント履歴情報から、連続する2つ以上のイベントからなるイベント列のパターンごとの出現頻度を集計し、当該出現頻度を示すイベント頻度情報をデータベース1007が有するイベント頻度情報用データベースに格納することができる。またステップ413にて学習したプレイヤの行動履歴については、電子装置100が該当する頻度情報の変更に関する情報をサーバ1000へ送信することで、サーバ1000は重みを決定する際に利用することができる。
【0083】
他の1つの実施形態に係るシステムとして、電子装置100はデータベース107を備えず、記憶手段908におけるデータベースに関する機能以外の各機能を備え、サーバ1000はデータベース1007を備え、記憶手段908及び通信手段909の機能を備える。例えばシステム900は、
図4のフローチャートに示す情報処理を実行することができるが、この場合、電子装置100がすべてのステップを実行する。ただしステップ407においては、イベント履歴情報及び/又はイベント頻度情報をデータベース1007に照会し、所望のデータを取得することで重みを決定する。プレイヤの操作履歴であるイベント履歴情報は、一時記憶手段911により電子装置100のバッファに蓄積され、電子装置100は通信手段909により蓄積されたデータをサーバ1000へ、好ましくは定期的に、送信し、記憶手段908は受信したデータをデータベース1007が有するイベント履歴情報用データベースに格納する。
【0084】
上記のシステムについての実施形態においては、データベース1100又は1007は複数の電子装置100とネットワーク950を介して接続されている。したがって記憶手段908は、操作しているプレイヤの操作履歴の他に、他の電子装置を操作する他のプレイヤの操作履歴であるイベント履歴情報もまた当該データベースに格納し、格納されたイベント履歴情報からイベント頻度情報を集計し、格納することもできる。この場合、操作するプレイヤだけではなく、一般的なプレイヤの次の操作を予測する行動予測エンジンとして、電子装置を機能させることができる。
【0085】
またプレイヤの操作履歴のさらなる実施形態として、プレイヤの学習データが十分に蓄積され、ステップ408での閾値を超えるスコアを算出することができるようになったときに学習を完了させ、プレイヤに「スマート選択を有効化しますか?」などと、本機能の存在を通知することができる。これにより、プレイヤは、最初から十分な精度のタッチ位置補正を体験することになるため、満足度が高くなる。またゲーム序盤では、そもそも選択肢が少ないため本発明による曖昧タッチの自動補正の必要性は低いが、ゲーム序盤が終了しゲームが複雑化する段階で、その複雑さに伴うユーザエクスペリエンスの低下を防止することができる。
【0086】
上記のとおり、本実施形態に係るシステムは、一台の電子装置によっても、ネットワークを介して複数の電子装置が接続されるシステムによっても実現することができる。当該システムは、
図3又は
図11に示す機能を有するものであるが、1つの実施形態に係るシステムアーキテクチャ1200は、
図12に示す8つのモジュールから構成することができる。このようにモジュール化を行うことにより、一部のモジュールを変更して各種のゲームに適用することが可能になる。
【0087】
曖昧タップ検出器1201は、曖昧なタップを検出するモジュールであり、電子装置100上で動作するゲームシステムの一部として実装される。本モジュールは、曖昧タッチ検出手段903に対応する機能を有するものである。タップ位置の曖昧性は、ゲーム内容に強く関係するものであるため、ゲームタイトルに応じて本モジュールを変更することが好ましい。
【0088】
UIオブジェクト位置バッファ1202は、ゲーム画面上に表示されているUIオブジェクトの位置を記録するバッファであり、短期記憶バッファ1203は、プレイヤの直前の(N−1)個の操作履歴を記録するバッファである。本モジュールは、記憶部が含むバッファに対応し、前述した記憶手段908の一部や一時記憶手段911に対応する機能を有するものである。曖昧タップ検出器1201は、UIオブジェクト位置バッファ1202と短期記憶バッファ1203から得られる情報を用いて、曖昧なタップを検出する。
【0089】
プレイヤ行動予測エンジン1204は、プレイヤの次の行動を予測するソフトウェアモジュールであり、重み決定手段905に対応する機能を有するものである。本モジュールは、行動予測時に大規模なデータである連続操作頻度データベース1205を使用するため、当該データベースと同じ装置に実装されることが好ましい。
【0090】
連続操作頻度データベース1205は、連続的に行われた操作の頻度情報を格納するデータベースであり、データベース1007などに対応し、記憶手段908の一部に対応する機能を有するものである。本システムでは、短期記憶バッファ1203に格納されている操作履歴を、定期的に連続操作頻度データベースへ送る又は送信するように構成される。
【0091】
学習モジュール1206は、プレイヤからのフィードバック情報を用いて、連続操作頻度データベース1205の連続操作の頻度情報を変更するモジュールである。本モジュールは、学習手段910に対応する機能を有するものである。このフィードバック情報の反映は、本発明の実装に必要不可欠なものではないが、フィードバック情報を用いた学習により、プレイヤの行動予測の精度を向上させることができる。フィードバック情報は、予測行動キャンセルUI1207や候補タップ可能要素選択UI1208から取得することができる。
【0092】
予測行動キャンセルUI1207は、プレイヤの行動予測を高い確信度で行い、システムが自動的にイベントを実行するときに、プレイヤが判定されたイベントをキャンセルするためのユーザインタフェースである。当該インタフェースは、
図4に示すフローチャートの情報処理におけるステップ409〜410を実行する機能を有する手段に対応するものである。このUIを通じてプレイヤがイベントをキャンセルしたとき、本システムは、学習モジュール1206により該当する頻度情報を減少させる学習を行う。
【0093】
候補タップ可能要素選択UI1208は、プレイヤの行動予測の確信度が十分でないときにプレイヤに再選択を促すためのユーザインタフェースであり、イベント提示手段に対応する機能を有するものである。具体的には、近傍のタップ可能要素を表示し、プレイヤに選択させる方法が考えられる。
【0094】
以上に説明した処理又は動作において、あるステップにおいて、そのステップではまだ利用することができないはずのデータを利用しているなどの処理又は動作上の矛盾が生じない限りにおいて、処理又は動作を自由に変更することができる。また以上に説明してきた各実施例は、本発明を説明するための例示であり、本発明はこれらの実施例に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。
【解決手段】本発明は、表示部及び接触型位置入力部を有する電子装置に、イベントと関連付けられたオブジェクトを含む画面を表示部に表示するステップと、接触型位置入力部上へのタッチを検出した場合において検出されたタッチ座標から所定距離以内にオブジェクトが2つ以上ある場合に、検出されたタッチを曖昧タッチとして検出するステップと、曖昧タッチが検出された場合に、検出されたタッチ座標から所定距離以内の2つ以上のオブジェクトである候補オブジェクトを選択するステップと、選択された候補オブジェクトの各々と関連付けられたイベントである候補イベント、直前に実行されたイベント列、及びイベント履歴情報に基づいて、候補イベントの各々の出現に関する重みを決定するステップと、重みの一番大きい候補イベントを実行又は提示するステップと、を実行させるプログラムである。