(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0018】
以下、本発明の実施形態について、図面を用いて説明する。
【0019】
なお、以下において、単に「画像」と呼ぶ場合には、「動画像」と「静止画像」との両方を含むものとする。
また、「動画像」には、次の第1処理乃至第3処理の夫々により表示される画像を含むものとする。
第1処理とは、平面画像(2D画像)におけるオブジェクト(例えばゲームキャラクタ)の夫々の動作に対して、複数枚からなる一連の静止画像を時間経過と共に連続的に切り替えて表示させる処理をいう。具体的には例えば、2次元アニメーション、いわゆるパラパラ漫画的な処理が第1処理に該当する。
第2処理とは、立体画像(3Dモデルの画像)におけるオブジェクト(例えばゲームキャラクタ)の夫々の動作に対応するモーションを設定しておき、時間経過と共に当該モーションを変化させて表示させる処理をいう。具体的には例えば、3次元アニメーションが第2処理に該当する。
第3処理とは、オブジェクト(例えばゲームキャラクタ)の夫々の動作に対応した映像(即ち動画)を準備しておき、時間経過と共に当該映像を流していく処理をいう。
【0020】
図1は、本発明の一実施形態に係る情報処理装置10の構成を示している。
本実施形態における情報処理装置10は、コンピュータおよびその周辺装置に適用される。本実施形態における各部は、コンピュータおよびその周辺装置が備えるハードウェア並びに当該ハードウェアを制御するソフトウェアによって構成される。
【0021】
上記ハードウェアには、制御部としてのCPU(Central Processing Unit)の他、記憶部、通信部、表示部および入力部が含まれる。記憶部としては、例えば、メモリ(RAM:Random Access Memory、ROM:Read Only Memory等)、ハードディスクドライブ(HDD:Hard Disk Drive)、光ディスク(CD:Compact Disk、DVD:Digital Versatile Disk等)ドライブ等が挙げられる。通信部としては、例えば、各種有線および無線インターフェイス装置が挙げられる。表示部としては、例えば、液晶ディスプレイ等の各種ディスプレイが挙げられる。入力部としては、例えば、キーボードやポインティング・デバイス(マウス、トラッキングボール等)が挙げられる。
【0022】
本実施形態の情報処理装置10は、入力部と表示部とを兼ね備えた表示媒体として、タッチスクリーン40を設けている。
タッチスクリーン40の入力部は、例えば表示部の表示領域に積層される静電容量式又は抵抗膜式の位置入力センサにより構成され、タッチ操作がなされた位置の座標を検出する。ここで、タッチ操作とは、表示媒体たるタッチスクリーン40(正確にはそのうちの入力部)に対する物体(ユーザの指やタッチペン等)の接触又は近接の操作をいう。なお、以下、タッチ操作がなされた位置を「タッチ位置」といい、タッチ位置の座標を「タッチ座標」という。
【0023】
また、上記ソフトウェアには、上記ハードウェアを制御するコンピュータ・プログラムやデータが含まれる。コンピュータ・プログラムやデータは、記憶部により記憶され、制御部により適宜実行、参照される。また、コンピュータ・プログラムやデータは、通信回線を介して配布されることも可能であり、CD−ROM等のコンピュータ可読媒体に記録して配布されることも可能である。
【0024】
本実施形態の情報処理装置10は、このようなハードウェアとソフトウェアの協働による各種動作をすべく、
図1に示すような機能的構成を有している。
【0025】
情報処理装置10は、制御部30とタッチスクリーン40とを備える。制御部30は、入力検出部31と、推定部32と、表示制御部33と、コマンド確定部34と、アクション実行部35とを備える。
【0026】
入力検出部31は、タッチスクリーン40(入力部)に対するタッチ操作による入力イベントを検出する。
【0027】
推定部32は、入力検出部31における検出結果の履歴に基づいて、複数種類のコマンドのうち入力コマンドと推定されるものを、推定コマンドとして決定する。
即ち、推定コマンドは、入力コマンドであろうと推定されているものをいい、入力コマンドは、後述するコマンド確定部34によって確定されたものをいう。
具体的には、推定部32は、確率演算部321と推定コマンド決定部322とを備える。確率演算部321は、入力イベントの履歴に基づいて複数種類のコマンドの夫々の入力確率を演算する。ここで、入力確率(Input Probability)とは、所定コマンドが入力コマンドとなり得る確率をいう。
推定コマンド決定部322は、演算された入力確率が最高のコマンドを推定コマンドとして決定する。
【0028】
表示制御部33は、推定コマンドに関連する画像を表示媒体(例えばタッチスクリーン40の表示部)に表示させる制御を実行する。
具体的には例えば、表示制御部33は、推定部32において第1推定コマンドが決定された場合、当該第1推定コマンドに対応する第1画像を表示媒体に表示させる。その後、コマンド確定部34において入力コマンドが確定されるまでの間に、推定部32において第2推定コマンドが決定された場合、表示制御部33は、第1画像の表示を中止して、当該第2推定コマンドに対応する第2画像を表示媒体に表示させる。このような表示制御部33による表示制御の詳細や具体例については、
図2、
図3および
図4を参照して後述する。
【0029】
コマンド確定部34は、推定コマンドが所定の条件を満たした場合、当該推定コマンドを入力コマンドとして確定する。
所定の条件は、特に限定されないが、本実施形態では、入力確率が100%に達した推定コマンドであるという第1条件と、例えば所定の時間(例えば、30フレーム)が経過した時点での推定コマンドになっているという第2条件とが採用されている。なお、第1条件と第2条件は「Or条件」である。即ち、第1条件と第2条件の何れか一方が満たされた場合が、推定コマンドが所定の条件を満たした場合になる。
【0030】
アクション実行部35は、入力コマンドに対応するアクションを実行する。具体的には例えば、敵が存在するゲームの実行中においては、アクション実行部35は、入力コマンドに対応する、敵へのダメージ計算等を行い、その計算結果に応じた内容の画像を表示させる。
【0031】
さらに以下、
図2以降の図面を参照して、本実施形態の情報処理装置10をゲームに適用した場合について詳細に説明する。
本実施形態の情報処理装置10は、プレイヤーが入力しようとしているコマンドに曖昧性がある状況において、夫々のコマンドについて、入力されているコマンドを推定する確率として、上述の入力確率を連続的に計算する。そして、情報処理装置10は、その入力確率の変化に応じて、ゲーム内のキャラクターのモーションの再生処理、および、コマンドの実行処理をスケジューリングする。
ここで、スケジューリングとは、処理を加工したり変更することをいい、例えば、あるコマンドに対応するモーション再生の一部を省略する処理、入力確率の変化に応じて別のコマンドに対応する別のモーション再生を途中から開始する処理、モーションの再生を省略し、直ちにコマンドを実行してその結果を表示する処理、別のアクションに関する動画像を途中から再生する処理を含む。
このようなスケジューリングが行われるゲームにおいては、コマンド、モーション、およびアクションの用語は、次のような意味を有する。
コマンドは、ゲーム内において1つの機能に対応する入力イベントのシーケンスを示す。例えば本実施形態では、“攻撃”を行うためには画面を1回タップする、プレイヤー・キャラクターをジャンプさせるためには画面を2回タップする、道具を使うためには画面を長押しする、攻撃のためのターゲット選択のためには、敵キャラクターをタップする等、タッチスクリーン40に対する1以上のシーケンシャルなタッチ操作により、1のコマンドが表される。
モーションとは、画面上に表示されるキャラクターの動きを示す。モーションは、レンダリングされる2D/3D要素のみを示しており、実際の当たり判定(hit−testing)等は含まない。
アクションとは、コマンドを実行した結果行われる、実際の当たり判定等のゲーム上影響のある処理を示す。また、アクションは、当たり判定の成否の結果を画面上に表示する処理も含む。
【0032】
図2は、本発明の一実施形態に係る情報処理装置10における入力イベントの入力確率の変化の例を示す図である。
図3は、
図2の変化例に基づくスケジューリングの例を示す図である。
図4は、
図3のスケジューリングの結果の例を示す図である。
図5は、
図2乃至
図4の例にあわせて、
図1の情報処理装置10の各部の機能を模式的に示した図である。
【0033】
図2乃至
図5の例では、説明の便宜上、コマンドA(1回のタップ、即ち、シングルタップで発動するコマンド)と、コマンドB(2回のタップ、即ち、ダブルタップで発動するコマンド)とのみが定義されているものとする。
また、1つのコマンドの描画と実行とに30フレームを使用するものとする。なお、30フレームは、30FPS(Frames Per Second)のゲームでは1秒間に相当する。
【0034】
まず、プレイヤーは、タッチスクリーン40に対してスワイプし、キャラクター101を移動させる。このとき、コマンドA、および、コマンドBは、ともに発生確率が0%のままである。
【0035】
次に、プレイヤーは、タッチスクリーン40に対して1回のタップを行ったものとする。このとき、
図5の入力検出部31は、
図2に示すように、当該タップを入力イベント201として検出する。
そして、
図5の確率演算部321は、コマンドAとBの夫々の入力確率(夫々のコマンドA,Bが入力コマンドとなり得る各確率)を算出する。
ここで、コマンドAは、コマンドBよりも単純な操作で表される。このため、
図2に示すように、1回のタップが行われた時点では、コマンドAの入力確率の方が、コマンドBの入力確率よりも少しだけ高くなるように算出される。
従って、
図5の推定コマンド決定部322は、入力確率が最高のコマンドAを推定コマンドとして決定する。
そこで、
図3および
図4に示すように、
図5の表示制御部33は、コマンドAに対応するモーションの描画処理211を開始する。即ち、キャラクターの表示として、モーション表示102が開始される。
【0036】
その後も、確率演算部321は、入力検出部31における検出結果の履歴に基づいて、コマンドAとBの夫々の入力確率を逐次的に算出する。
即ち、入力イベント201が検出された後、後述する次の入力イベント202が検出されるまでの間は、1回のタップ(入力イベント201)が行われた後、所定時間の間には入力イベントが行われていない、という検出結果の履歴になる。
この場合、入力イベントが行われていない所定時間が長くなるほど、1回のタップで終了する確率が高くなる。従って、
図2の点線で示すように、コマンドAの入力確率は徐々に高くなっていく。これに対して、
図2の実線で示すように、コマンドBの入力確率は一定のままとなる。
従って、推定コマンド決定部322は、コマンドAを推定コマンドとする決定結果を維持する。このため、
図3および
図4に示すように、表示制御部33は、コマンドAに対応するモーションの描画処理211を継続する。つまり、キャラクターの表示は、モーション表示102のまま継続する。
【0037】
しかし、その後、例えば描画開始してから15フレーム後に、プレイヤーが2回目のタップを行ったものとする。
このとき、入力検出部31は、
図2に示すように、当該タップを入力イベント202として検出する。
この場合、2回のタップ(入力イベント201および202)が行われた、という検出結果の履歴になる。本例では、1回のタップのコマンドAと、2回のタップのコマンドBとしか定義されていないので、確率演算部321は、コマンドAの入力確率を0%と算出すると共に、コマンドBの入力確率を100%と算出する。
即ち、最高の入力確率が、コマンドAの入力確率から、コマンドBの入力確率に変化する。
そこで、
図3および
図4に示すように、表示制御部33は、コマンドAに対応するモーションの描画処理211を中止して、コマンドBに対応するモーションの描画処理212を開始する。つまり、キャラクターの表示は、モーション表示102からモーション表示103に変化する。
ここで、本実施形態では、コマンドBに対応するモーション表示103は、最初の15フレームはスキップされ、16フレーム目から開始される。
【0038】
より一般的にいえば、入力イベントの検出(本例では入力イベント201)からアクションの実行までの期間(本例では30フレーム)が予め規定されている。そして、コマンドAに対応する第1画像(本例ではモーション表示102に相当)と、コマンドBに対応する第2画像(本例ではモーション表示103に相当)とは、上記予め規定された期間(本例では30フレーム)の長さを有する動画像である。
上記期間内の所定タイミング(15フレーム描画後のタイミング)で推定コマンドがコマンドAからコマンドBに切り替わった場合、表示制御部33は、第2画像の表示開始点を上記期間の所定タイミング(15フレーム描画後のタイミングなので16フレーム目から)として、第2画像の表示を開始する。
【0039】
ただし、これは例示に過ぎず、例えば、第2画像(コマンドBのモーション)の最初の1フレーム目から30フレーム目までを、フレームの間引き再生(早送り再生)等を利用することで、15フレーム期間内に描画するようにしてもよい。
【0040】
ところで、入力イベント202の段階で、コマンドBの入力確率は100%となる。そこで、
図5のコマンド確定部34は、コマンドBを入力コマンドとして確定する。
【0041】
図5のアクション実行部35は、コマンドBのモーション表示103が30フレーム目まで描画された後(最初の入力イベント201から30フレーム分のモーション描画がなされた後)、コマンドBに従って所定のアクションの処理を実行する。
例えばコマンドBの攻撃による敵へのダメージ計算等が行われる。そして、
図3や
図4に示すように、そのダメージ計算等の結果に応じたキャラクターの表示104が適宜行われる。
【0042】
ここで、入力検出部31による入力イベントの検出結果の履歴は、
図6および
図7に示すような行列(以下、「タッチイベントマトリックス」と呼ぶ)として表すことで、推定部32の演算を容易かつ確実に行うことができるようになる。
【0043】
図6は、タッチイベントマトリックスの例を示す図である。
図7は、タッチイベントマトリックスの別の例を示す図である。
本実施形態において、例として示す
図6および
図7のタッチイベントマトリックスは、タッチスクリーン40を構成する各画素(ピクセル)に対する、ユーザからの入力イベントの発生有無を時系列順にメモリ上に記録したものとして構成される。
【0044】
図6及ぶ
図7の例のタッチイベントマトリックスは、列の要素(横軸の要素)として、表示媒体における入力イベントの検出単位(各画素)が採用され、行の要素(時間軸たる縦軸の要素)として、入力イベントの検出タイミングが採用されている。
具体的には、列の各要素(横軸の各要素)を示すpx[x,y]は、タッチスクリーン40の右上を原点としたとき、横x番目、縦y番目のピクセルを意味する。
例えば、px[0,0]は最も右上のピクセルを示し、px[1136,640]は、最も左下のピクセルを示すこととする。
行の要素(縦軸である時間軸の要素)は、入力イベントの検出タイミングを、ミリ秒、もしくは、フレーム数で示したものである。なお、情報処理システムをゲームに適用する場合、行の要素(縦軸の要素)は、フレーム数で示すことが好適である。
本例では、タッチイベントマトリックスの要素(ti,px[x,y])には、検出タイミングtiにおいてピクセルpx[x,y]に入力イベントが発生したときには、「1」が格納され、入力イベントが発生していないときには「0」が格納される。
なお、上記値の格納手法は、例示に過ぎず、例えば、あいまいな入力イベントへの対応や、タッチスクリーン40の静電容量を直接扱うことを目的として、0.5等の実数を格納する手法を採用してもよい。
【0045】
図6のタッチイベントマトリックスにおいて、画素px[0,2]についての要素群401から、継続する時間においてタップイベントが発生し、その後、発生していないことがわかる。即ち、要素群401は、画素px[0,2]におけるシングルタップの検出を示している。
一方、画素px[0,1]についての要素411および要素412からは、ある程度の時間間隔をおいて同一の(もしくは、近傍の)ピクセルへのタッチイベントが発生していることがわかる。即ち、要素411および要素412は、画素px[0,1]におけるダブルタップの検出を示している。
【0046】
また、
図7のタッチイベントマトリックスにおいては、画素px[0,2]についての要素群421から、同一場所に長時間にわたってタッチイベントが発生し続けていることがわかる。即ち、要素群421は、指等の物体が当該場所で押し付け続けられているタッチ操作、即ちいわゆる長押しの検出を示している。
【0047】
なお、タッチイベントマトリックスの構造は、
図6や
図7の構造に限定されず、以下のような構造であればよい。
即ち、入力イベントの検出タイミングを行又は列の一方の要素とし、表示媒体における入力イベントの検出単位を行又は列の他方の要素として構成される行列であって、検出タイミング毎の検出単位毎の検出結果を各要素値とする行列であれば、タッチイベントマトリックスとして採用することができる。
【0048】
次に、上記
図6や
図7の構造のタッチイベントマトリックスを対象として、ゲーム内で使用される夫々のコマンドについて、入力確率を演算する手法の概要を説明する。
ある1タイトルのゲームにおいて、n個(nは1以上の整数値)のコマンドが存在するとき、n個のコマンドの夫々についての入力確率を演算するためのn個の関数(以下、「確率計算関数」と呼ぶ)が用意される。
具体的には、i番目(iは1乃至nのうちの任意の整数値)のコマンドに対応する、確率計算関数fiは、式(1)に示すように、タッチイベントマトリックスであるMを引数として、0から1までの実数を返す関数として定義することができる。
fi(M,wi)→[0…1] ・・・(1)
【0049】
ここで、wiは、i番目のコマンドに対応する重み係数である。このような重み係数wiを設定することにより、入力しやすいコマンドと入力しにくいコマンドとの差を、入力確率の演算に反映することが可能になる。
具体的には例えば、
図2の例では、より単純なコマンドAが、複雑なコマンドBよりも、高い重み係数を有するようにすることができる。
なお、確率計算関数の実装方法は、ゲーム内容に依存するものであるため、ここでは詳細については規定しない。
【0050】
図5の確率演算部321は、タッチイベントマトリックスMと上記式(1)の確率計算関数fiとを用いて、n個のコマンドの夫々の入力確率を演算する。
推定コマンド決定部322は、n個のコマンドのうち、入力確率を最高のコマンドを推定コマンドとして決定し、当該推定コマンドの適切なフレーム番号からレンダリングを開始するよう、表示制御部33へ通知する。
また、推定コマンド決定部322は、確率演算部321によりある特定のコマンドの入力確率が100%と算出されたとき、当該特定のコマンドをコマンド確定部34に通知する。
【0051】
推定コマンド決定部322のさらに詳細な動作は次の通りである。
推定コマンド決定部322は、内部変数であるフレーム数カウンター(以下、「FC」と呼ぶ)をゼロに初期化する。
確率演算部321が算出したn個の入力確率の何れもが100%未満であったとき、即ち、曖昧性のある入力があったとき、推定コマンド決定部322は、最高の入力確率を有するコマンド(以下、「コマンドα」と呼ぶ)を推定コマンドとして選択し、当該コマンドαのモーションをFCが示す値のフレームから再生する旨を表示制御部33に通知する。
コマンドαのモーションが再生されている間に、もし、確率演算部321が算出した入力確率が最高となるコマンドが変化したとき、推定コマンド決定部322は、その変化後の最高の入力確率を有するコマンド(以下、「コマンドβ」と呼ぶ)を推定コマンドとして選択する。そして、推定コマンド決定部322は、現在再生中のコマンドαのモーションの再生を中断する旨を表示制御部33に通知し、さらに、再生したフレームの数をFCに加えた上で、コマンドβのモーションをFCが示す値のフレームから再生する旨を表示制御部33に通知する。
【0052】
表示制御部33は、推定コマンド決定部322からの上記通知に応じて、キャラクターのモーションを再生する。表示制御部33は、既存のゲーム・ソフトウェアが有するモーションの再生の拡張として実装することができる。なお、本例のようにモーションの状態をフレーム番号で識別する場合には、2D/3Dの何れのゲームにも適用することができる
【0053】
コマンド確定部34は、推定コマンド決定部322から通知されたコマンドを入力コマンドとして確定して、当該入力コマンドに対応するレンダリング(キャラクターのモーション表示)の終了後、当該入力コマンドに対応するアクションを実行するよう、アクション実行部35へ通知する。
【0054】
アクション実行部35は、コマンド確定部34から通知された入力コマンドに従って、所定のアクションを実行する。例えば、アクション実行部35は、実際の当たり判定等のゲーム上影響のある処理を実行する。また、アクション実行部35は、当たり判定の成否の結果を画面上に表示する制御を実行する。
なお、アクション実行部35は、既存のゲーム・ソフトウェアが有するアクションの実行機能を再利用し、実装することで実現できる。
【0055】
図8は、このような本実施形態の情報処理装置10の状態遷移の例を示す状態遷移図である。
図8を参照して、情報処理装置10によるコンテクストに応じたキャラクター・アクションのスケジューリングの実行手順を示す。
情報処理装置10は、入力イベントが検出されると、連続的に各コマンドの入力確率を演算するため、ループとして処理を実行する。このループにおける状態遷移モデルを示す
図8において、各状態は、1つの楕円形で示されており、その楕円形に引かれた“S”を含む符号により判別される。1つの状態から1つの状態への状態遷移は、所定の条件(以下、「状態遷移条件」という)が満たされると実行される。このような状態遷移条件は、
図8においては、1つの状態から1つの状態への遷移を表す矢印に、“A”を含む符号を付して表されている。
【0056】
本実施形態においては、
図8に示すように、初期状態S1が基本の状態になる。ユーザが所定の操作(例えば、ゲーム開始操作等)をすることで、図示せぬ別の状態から初期状態S1に遷移するものとする。
初期状態S1では、情報処理装置10は、入力検出部31の内部変数である、すべてのコマンドの入力確率をゼロに設定する。また、情報処理装置10は、内部変数であるFCをゼロに設定する。
【0057】
初期状態S1において、入力検出部31が、入力イベント(例えば、プレイヤーによる1回のタップ等)を検出すると、状態遷移条件A1が満たされる。すると、状態は、推定コマンド決定状態S2に遷移する。
【0058】
推定コマンド決定状態S2において、推定部32は、タッチイベントマトリックスを用いて、すべてのコマンドの入力確率を算出し、最高の入力確率を有するコマンドを推定コマンドに決定する。表示制御部33は、推定コマンドのモーションの描画を開始する。
【0059】
推定コマンド決定状態S2において、入力確率が100%に達しない限り、状態遷移条件A2が満たされたとみなされて、状態は、推定コマンド決定状態S2に戻る。即ち、推定コマンド決定状態S2が維持される。
推定コマンド決定状態S2が維持された状態で、入力確率が100%に達した推定コマンドが生じた場合、状態遷移条件A3が満たされる。すると、状態は、入力コマンド確定状態S3に遷移する。
【0060】
入力コマンド確定状態S3に遷移すると、コマンド確定部34は、入力確率が100%に達した推定コマンドを入力コマンドとして確定する。
すると、状態遷移条件A4が満たされて、状態は、アクション実行状態S4に遷移する。
【0061】
アクション実行状態S4に遷移すると、アクション実行部35は、アクションを実行する。
アクションの実行後に入力イベントが検出された場合、状態遷移条件A5が満たされ、状態は推定コマンド決定状態S2に遷移する。一方、アクションの実行後に入力イベントが検出されない場合、状態遷移条件A6が満たされ、状態は初期状態S1に遷移する。
【0062】
以上説明したように、本実施形態の情報処理装置10は、コンテクストに応じたキャラクター・アクションのスケジューリングによる、応答性の高いタッチスクリーン40用位置独立ユーザ・インターフェイスを実現することができる。即ち、情報処理装置10は、タッチスクリーン40上の任意の場所をタッチして操作する、位置独立型のユーザ・インターフェイスにおいて、多数のコマンドをサポートしながら、応答性を飛躍的に高めることができる。
さらに、本実施形態の情報処理装置10は、タッチスクリーン40から得られる入力イベントのシーケンスを対象として、ユーザの意図を推定する確率計算を連続的に実行し、その確率の変化に応じて、キャラクターのモーションの表示と、アクションの実行(攻撃の当たり判定やアイテムの消費等)をリアルタイムにスケジューリングすることができる。情報処理装置10によるスケジューリング方式は、コマンドの入力途中から即座にキャラクターのモーションを再生しながら、コマンドの入力の進行に応じて極めて高速にコマンドの曖昧性を排除するので、高い応答性の実現と多種のコマンドの正確な識別とを同時に実現することができる。
【0063】
即ち、本実施形態の情報処理装置10は、ユーザから見たときの応答性を損なうことなく、多種類のコマンドを位置独立型のユーザ・インターフェイスを用いて入力可能とすることができる。
ここで、従来の位置独立型のユーザ・インターフェイスは、ジェスチャー入力のようにゲームに適さないほどの長い時間の入力を要するコマンドや、ごく単純な入力イベントで表現されるコマンドを受け付けるものであり、限られた数のコマンドしか設定できない。
これに対して、本実施形態の情報処理装置10は、数倍から数十倍の数のコマンドを設定しても、入力の開始と共に推定コマンドを決定し、当該推定コマンドに対応するキャラクターの画像(モーション)の表示を開始することができるため、プレイヤーからみて高い応答性が実現できていると認識される。
【0064】
さらに、本実施形態の情報処理装置10は、他にも、次の利点を有する。
【0065】
本実施形態の情報処理装置10は、解像度に依存しないユーザ・インターフェイスを実現可能という利点を有する。即ち、本実施形態の情報処理装置10は、画面上に表示されるボタンを使用する必要がないため、タッチスクリーン40の解像度に依存しないユーザ・インターフェイスを実現可能である。従って、スマートフォンの機種ごとに解像度が異なる状況においても、同一の操作性を利用者に提供することができる。
【0066】
本実施形態の情報処理装置10は、既存のアセットを再利用可能であるという利点を有する。即ち、本実施形態の情報処理装置10は、モーションの状態をフレーム番号で識別することができれば、任意のアセット(ゲーム内で使用される静止画像や3Dオブジェクト)を使用することができる。そのため、本実施形態の情報処理装置10は、2D/3Dの何れのゲームにも適用することができ、さらに、既存のゲームのアセットをそのまま再利用することができる。
【0067】
本実施形態の情報処理装置10は、多ジャンルへ適用可能であるという利点を有する。即ち、本実施形態の情報処理装置10で実現可能になるスケジューリングは、特定のゲームジャンルに依存していない。従って、本実施形態の情報処理装置10は、アクションゲームやリアルタイムRPG、および、リアルタイム・シミュレーションゲーム等、ユーザがリアルタイムにコマンドを入力するゲームに幅広く適用可能である。
さらにいえば、本実施形態の情報処理装置10は、ゲームに特に限定する必要は無く、複数のコマンドに対応する複数のアクションを含むアルゴリズムを実行する際にも適用可能である。
【0068】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【0069】
例えば、推定コマンドの算出手法は、上述の実施形態では、各コマンドの入力確率を求める手法が採用されたが、特にこれに限定されず、分岐処理等で推定コマンドを絞り込んでいく手法等、任意のアルゴリズムに従った手法を採用することができる。
【0070】
換言すると、本発明が適用される、コンピュータによって実行される情報処理プログラムは、上述の
図1の実施形態としての情報処理装置10によって実行される情報処理プログラムを含め、次のような構成を有する各種各様の実施形態を取ることができる。
【0071】
即ち、本発明が適用される情報処理プログラムは、
入力イベントの所定のシーケンスにより表される所定のコマンドに対応するアクションを複数種類含むゲームを実行するコンピュータ(例えば
図1の情報処理装置10)に、
表示媒体への物体の接触又は近接の操作による入力イベントを検出する入力検出ステップ(例えば、本ステップを実行する
図1の入力検出部31)と、
前記入力検出ステップにおける検出結果の履歴に基づいて、前記複数種類のコマンドのうち入力コマンドと推定されるものを、推定コマンドとして決定する推定ステップ(例えば、本ステップを実行する
図1の推定部32)と、
前記推定コマンドに関連する画像を前記表示媒体に表示させる制御を実行する表示制御ステップ(例えば、本ステップを実行する
図1の表示制御部33)と、
前記推定コマンドが所定の条件を満たした場合、当該推定コマンドを前記入力コマンドとして確定するコマンド確定ステップ(例えば、本ステップを実行する
図1のコマンド確定部34)と、
確定された前記入力コマンドに対応するアクションを実行するアクション実行ステップ(例えば、本ステップを実行する
図1のアクション実行部35)と、
を含む制御処理を実行させる情報処理プログラムである。
【0072】
これにより、本発明に係る情報処理プログラムは、コンピュータに、位置独立型のユーザ・インターフェイスにおいて、多種のコマンドを確保し、かつ、ユーザからみたコマンドの高応答性を実現させることができる。
【0073】
また例えば上述の実施形態では、算出した入力確率のうち、最も高い値を有するコマンドのモーションの描画を開始するとされたが、特にこれに限定されず、すべてのコマンドの入力確率が、閾値(例えば、30%)を下回るときは、モーションの描画を行わずに、確率計算が次に実行されるのを待つ実施形態であってもよい。
これにより、情報処理装置10は、コマンドの応答性をリアルタイムに実現しながら、多種のコマンドのうち、プレイヤーの意図に合致した入力コマンドの推定をより確実に行うことができる。
【0074】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、
図1の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が情報処理プログラムに備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に
図1の例に限定されない。
また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【0075】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えばサーバの他汎用のスマートフォンやパーソナルコンピュータであってもよい。
【0076】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図示せぬリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。
【0077】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
【解決手段】制御部30は、入力イベントの所定のシーケンスにより表される所定のコマンドに対応するアクションを複数種類含むゲームを実行する際に機能する。入力検出部31は、タッチスクリーン40への物体の接触又は近接の操作による入力イベントを検出する。推定部32は、入力検出部31における検出結果の履歴に基づいて、複数種類のコマンドのうち入力コマンドと推定されるものを、推定コマンドとして決定する。表示制御部33は、推定コマンドに関連する画像をタッチスクリーン40に表示させる制御を実行する。コマンド確定部34は、推定コマンドが所定の条件を満たした場合、当該推定コマンドを入力コマンドとして確定する。アクション実行部35は、確定された入力コマンドに対応するアクションを実行する。