(58)【調査した分野】(Int.Cl.,DB名)
前記通知させる処理は、前記取得された情報により示される操作入力に対応する処理結果が反映されるまで、該操作入力に対応する操作内容の通知態様を順次異ならせながら前記通知手段に通知させる請求項1に記載のプログラム。
前記通知させる処理は、第1の時点においてなされた操作入力に対応する操作内容と、前記第1の時点より後の第2の時点においてなされた操作入力に対応する操作内容とを、前記通知手段に通知させる請求項1または2に記載のプログラム。
タッチ入力に対応する位置が前記所定の検出領域外に移動する場合に、前記所定の検出領域を該タッチ入力に対応する位置に応じて変更する処理を、前記コンピュータにさらに実行させる請求項9に記載のプログラム。
前記所定の検出領域がタッチ入力に対応する位置に応じて変更された後に、前記継続していると判断するタッチ入力が前記検出手段により検出されなくなった場合に、位置を変更した前記所定の検出領域を変更前の位置に戻す処理を、前記コンピュータにさらに実行させる請求項10に記載のプログラム。
前記取得する処理は、前記所定の検出領域をタッチ入力に対応する位置に応じて変更した後に、前記継続していると判断するタッチ入力が前記検出手段により検出されなくなり、該位置を変更した前記所定の検出領域へのタッチ入力が前記検出手段によりさらに検出された場合に、前記継続していると判断するタッチ入力と同一の種別のタッチ入力がなされているものと判断して、前記タッチ入力を示す情報を取得する請求項10乃至12のいずれか1項に記載のプログラム。
前記取得する処理は、位置を変更した前記所定の検出領域へのタッチ入力が前記検出手段によりさらに検出された際に、該タッチ入力に対応する位置に別の操作内容のタッチ入力に係る検出領域が割り当てられている場合に、該タッチ入力の種別に応じて取得するタッチ入力を示す情報を異ならせる請求項13に記載のプログラム。
前記取得する処理は、位置を変更した前記所定の検出領域へのタッチ入力が前記検出手段によりさらに検出された際に、該タッチ入力に対応する位置に別の操作内容のタッチ入力に係る検出領域が割り当てられている場合に、該タッチ入力が継続していると判断される時間の長さに応じて取得するタッチ入力を示す情報を異ならせる請求項13または14に記載のプログラム。
【発明を実施するための形態】
【0014】
[実施形態1]
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、情報処理装置の一例としての、クライアント装置においてなされた操作入力に基づいてゲーム画面を描画してクライアント装置に提供するサーバと、なされた操作入力対応する操作内容の通知をゲーム画面に重畳して表示することが可能なクライアント装置を含むゲームシステムに、本発明を適用した例を説明する。しかし、本発明は、表示出力(画面)に限らず、なされた操作入力に対応する操作内容を通知することが可能な任意の機器に適用可能である。
【0015】
また、本実施形態では操作入力がなされてから、ゲーム画面に該操作入力に対応する処理結果が反映されるまでに要する時間(遅延量、応答遅延)が比較的顕著な例として、ネットワークを通じた通信を含む例を説明するが、本発明の実施はこれに限られるものではない。即ち、上述したように操作入力に対応する処理結果が反映されるまでの遅延は、通信を要しない場合であっても、並行実行されている処理や操作入力に基づく処理の演算量等によっても生じ得るため、本発明は本実施形態のシステム構成に限定されるものでないことは容易に理解されよう。
【0016】
本明細書において、「操作内容」とは、ゲームコンテンツの利用においてユーザが使用したユーザインタフェースについて、例えばいずれのボタンが使用されたことを示す情報、いずれのコマンドが受け付けられたことを示す情報、あるいは所謂アナログスティックの入力位置や入力方向がいずれであるかを示す情報等、操作入力に係り処理上判定される入力内容を示すものとする。
【0017】
《ゲームシステムの構成》
図1は、本発明の実施形態に係るゲームシステムのシステム構成を示した図である。
【0018】
本実施形態のゲームシステムでは、クライアント装置200を使用するユーザは、該装置をサーバ100に接続させることで、ゲームコンテンツの利用に係るサービス提供を受けることができる。本実施形態のゲームシステムでは、クライアント装置200に表示されるゲームコンテンツに係るゲーム画面は、サーバ100により描画され、ネットワーク300を介してクライアント装置200に提供される。即ち、ゲームコンテンツに係る各種処理及びゲーム画面の描画処理はサーバ100において実行され、クライアント装置200ではユーザによりなされた操作入力の検出及び該操作入力を示す情報のサーバ100への送信と、サーバ100から受信したゲーム画面の表示処理が行われる。
【0019】
また、図示されるように本実施形態のゲームシステムではサーバ100には複数のクライアント装置200が接続可能であり、サーバ100においてその複数のクライアント装置200の各々から受信した操作入力を示す情報を並行して処理可能に構成されてよい。各クライアント装置200について行われる処理は、該クライアント装置200のユーザのみがプレイするゲームコンテンツに係るものであってもよいし、複数のクライアント装置200のユーザが同時期にプレイするゲームコンテンツに係るものであってもよい。
【0020】
〈サーバ100の構成〉
以下、サーバ100の機能構成について、
図2のブロック図を参照して説明する。
【0021】
サーバ制御部101は、例えばCPU等の制御装置であり、サーバ100が有する各ブロックの動作を制御する。サーバ制御部101は、例えばサーバ記憶媒体102に記憶されている各ブロックの動作プログラムを読み出し、サーバメモリ103に展開して実行することにより各ブロックの動作を制御する。
【0022】
サーバ記憶媒体102は、例えば不揮発性メモリやHDD等の恒久的に情報を記憶する記憶装置である。サーバ記憶媒体102は、サーバ100が有する各ブロックの動作プログラムに加え、クライアント装置200に対して提供するゲームコンテンツに係るプログラム、該ゲームコンテンツに係るゲーム画面を生成するための各種データ、またサービス利用者を管理するための情報等を記憶する。サーバメモリ103は、例えばRAM等の一時的なデータの記憶領域として用いられる記憶装置である。サーバメモリ103は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データの格納領域として用いられてもよい。またサーバメモリ103は、サーバ描画部104によるゲーム画面生成用の領域としての用途を兼ねるものであってもよい。
【0023】
サーバ描画部104は、例えばGPU等の描画装置である。サーバ描画部104は、サーバ制御部101により実行されたゲームコンテンツに係る処理(ゲーム処理)の演算結果に基づいて発行された描画命令に基づき、各クライアント装置200に送信するゲーム画面の描画処理を行う。ゲーム画面の生成において必要なデータは、例えばサーバ制御部101よりサーバ記憶媒体102から読み出されて、不図示のサーバ描画部104のキャッシュメモリ等に格納され、サーバ描画部104は該データを描画命令に基づき演算した結果をゲーム画面として描画する。
【0024】
なお、本実施形態では簡単のため、サーバ100においてゲーム画面の描画処理が行われるものとして説明するが、描画処理は描画サーバ等の外部装置に描画命令及びデータを送信することにより行われるものであってもよい。この場合、ゲーム画面は該外部装置からクライアント装置200に送信されるものであってもよい。
【0025】
サーバ計測部105は、各クライアント装置200においてなされた操作入力について、該操作入力がゲーム画面に反映されるまでの時間を計測する。操作入力がゲーム画面に反映されるまでの時間は、本実施形態では簡単のため、「クライアント装置200において操作入力が検出されてから、サーバ100が該操作入力を示す情報に基づく処理結果が反映されたゲーム画面を生成し、送信が完了するまでの時間」により定義されるものとして説明するが、本発明の実施はこれに限られるものではない。例えば、操作入力がゲーム画面に反映されるまでの時間は、「クライアント装置200において操作入力が検出されてから、該操作入力を示す情報に基づく処理結果が反映されたゲーム画面がクライアント装置200において表示されるまでの時間」として定義されてもよい。この場合、該時間の計測はクライアント装置200において行われるものであってもよい。あるいは、操作入力を示す情報に対応するフレーム番号やタイムスタンプ等の取得したタイミングを識別する情報を付して送信し、処理結果が反映された操作入力の該情報がゲーム画面のヘッダ等に付されて送信されることで計測されるものであってもよい。あるいは、操作入力がゲーム画面に反映されるまでの時間は、現在の通信状況やサーバ100における並行処理数を考慮して、最大遅延量を考慮した固定値として定義されてもよい。この場合、クライアント装置200において受信されたゲーム画面は、操作入力がなされてから所定の時間が経過した後に表示されるように、強制的に表示タイミングが制御されればよい。あるいは、同地域から接続している、同一のサービスプロバイダを経由してサーバ100にアクセスしている、あるいは同一のゲームコンテンツを利用しているクライアント装置200については、他のクライアント装置200について予め計測されたあるいは定められた時間が、操作入力がゲーム画面に反映されるまでの時間として設定されるものであってもよい。
【0026】
サーバ通信部106は、サーバ100が有する通信インタフェースである。サーバ通信部106は、ネットワーク300を介してクライアント装置200と接続し、クライアント装置200との間でデータの送受信を行う。なお、ゲーム画面の送信にあたり、サーバ通信部106は複数のフレームのゲーム画面に基づいて、対象のゲーム画面の符号化を行い送信してもよい。
【0027】
〈クライアント装置200の構成〉
次にクライアント装置200の機能構成について、
図3のブロック図を参照して説明する。
【0028】
制御部201は、例えばCPU等の制御装置であり、クライアント装置200が有する各ブロックの動作を制御する。制御部201は、例えば記憶媒体202に記憶されている各ブロックの動作プログラムを読み出し、メモリ203に展開して実行することにより各ブロックの動作を制御する。なお、サーバ100から受信するゲーム画面が符号化されている場合、制御部201は復号処理を行い、フレームに係るゲーム画像を生成するよう構成されていてもよい。
【0029】
記憶媒体202は、例えば不揮発性メモリやHDD等の恒久的に情報を記憶する記憶装置である。記憶媒体202は、クライアント装置200が有する各ブロックの動作プログラムに加え、サーバ100から受信したゲーム画面に対して重畳する用の、なされた操作入力に対応する操作内容を通知するためのグラフィックユーザインタフェース(GUI)画像等を記憶する。メモリ203は、例えばRAM等の一時的なデータの記憶領域として用いられる記憶装置である。メモリ203は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データの格納領域として用いられてもよい。またメモリ203は、描画部204によるゲーム画面生成用の領域としての用途を兼ねるものであってもよい。
【0030】
描画部204は、例えばGPU等の描画装置である。描画部204は、サーバ100から受信したゲーム画面に対して、所定のGUI画像を重畳する等の簡易的な描画処理を行うものであればよく、サーバ100のサーバ描画部104と同等の描画性能を持つものである必要はない。描画部204は、所謂オンボードGPU等であってもよい。
【0031】
表示部205は、例えばLCD等の表示装置である。表示部205は、クライアント装置200と一体型のものであってもよいし、クライアント装置200に着脱可能にされる外部の表示装置であってもよい。
【0032】
操作入力部206は、所定のゲームパッドやキーボード等、クライアント装置200が有するユーザインタフェースである。本実施形態ではクライアント装置200には、入力装置としてのハードウェアが接続されており、該ハードウェア上のボタンやアナログスティック(スティック状部材の上下左右等の傾斜により示されるxy座標をアナログ値として出力)等の物理的な操作部材が、各々ユーザインタフェースとして機能する。操作入力部206は、各種ユーザインタフェースに対してなされた操作入力を検出すると、該操作入力に対応する制御信号を制御部201に出力する。
【0033】
通信部207は、クライアント装置200が有する通信インタフェースである。通信部207は、ネットワーク300を介してサーバ100と接続し、サーバ100との間でデータの送受信を行う。
【0034】
《操作内容の通知態様》
次に、本実施形態のゲームシステムにおけるサービス提供において、各クライアント装置200のユーザに対して提示されるゲーム画面における操作内容の通知態様について、図面を用いて説明する。
【0035】
上述したように、本実施形態のクライアント装置200では、サーバ100から受信したゲーム画面に対して、なされた操作入力に対応する操作内容を通知するGUI画像を重畳した画面が出力画面として表示部205に表示される。通信遅延やサーバ100における処理負荷等により操作入力に対応する処理結果が反映されるまでの時間が遅延するため、受信したゲーム画面に反映されている操作入力は、現在の判断時点(フレーム)において操作入力部206に検出された操作入力とは異なる。従って、本実施形態では描画部204は、受信したゲーム画面に反映されている操作入力に対応する操作内容を通知するGUI画像を該ゲーム画面に重畳する。即ち、現在のフレームにおけるゲーム画面には、該ゲーム画面に処理結果が反映された操作入力に対応する操作内容を通知するGUI画像が重畳されるため、ユーザによりなされた操作入力に対応する操作内容は遅延して出力画面上に通知されることになる。このようにすることで、ユーザが行った操作入力のうちのいずれの入力が現在のフレームのゲーム画面に反映されているかを、ユーザに少なくとも通知することができる。
【0036】
また本実施形態ではこれに加え、現在のフレームにおいて検出された操作入力に対応する操作内容も出力画面において通知する。即ち、出力画面では、少なくとも現在なされた操作入力に対応する操作内容と、現在のフレームのゲーム画面に反映されている操作入力に対応する操作内容とが、識別可能な態様で通知される。このようにすることで、ユーザが表示されたゲーム画像を観て行った操作入力が受け付けられていることを、ユーザにさらに通知することができる。なお、現在のフレームにおいて検出される操作入力とは、現在のフレームにおいて検出されたものとして扱われる操作入力であってもよく、この場合操作入力がなされた時点は、例えば1フレーム前等、現在のフレームと異なる期間内になされた操作入力であってもよい。
【0037】
さらに、本実施形態では操作入力がなされてから、該操作入力に対応する処理結果がゲーム画面に反映されるまでの時間や処理状況、あるいは遅延時間をユーザに通知するために、該操作入力に対応する操作内容の通知に係るGUI画像を、時間経過とともに順次その通知態様を異ならせながら出力画面において表示させる。このようにすることで、ユーザが行った1つの操作入力に対応する処理結果が反映されるまでの時間や処理遅延状況を、ユーザにさらに通知することができる。
【0038】
これらの通知態様を総合することで、本実施形態のゲームシステムでは、操作入力に対応する処理結果が反映されるまでに処理や通信による遅延を生じるものであったとしても、ユーザに処理結果の反映の遅延を示す情報を通知することができる。故に、反映されるまでの遅延を考慮し、処理結果を予測しながら操作を行うことをユーザに通知することが可能であるため、操作性を向上させることができる。
【0039】
例えば、本実施形態のクライアント装置200においてユーザによるアナログスティックを左方向に傾斜させる操作入力がなされた場合、操作入力部206により検出された該操作入力の操作内容、即ち左方向への位置移動や方向選択等の通知に係る
図4AのようなGUI画像が、現在のフレームのゲーム画面に重畳される。
図4Aの例では、GUI画像は入力がなされたことを示すために、円形のサークル400内の左方向に相当する位置に、所定の面積及び輝度を有するGUI画像401が表示される。その後、描画部204は、取得した処理結果が反映されるまでの時間(反映時間)の情報に基づいて、例えば
図4B→4Cのように順次面積及び輝度を変化(増大)させたGUI画像402及び403を通知する。そして最終的に処理結果が反映されたフレームのゲーム画像について、反映がなされたことを明示するような面積及び輝度を有するGUI画像404(
図4D)が表示されるように通知態様を変化させた後、次のフレームあるいは予め定められたフレーム経過後の出力画面においてその通知が消去される(
図4E)ようにすればよい。
図4Aから
図4Dまでの通知態様の変化は、サーバ100より受信した反映時間の情報に基づいて、操作入力の受け付けから該操作入力に対応する処理結果がゲーム画面に反映されるまでの期間において段階的に通知態様が変化するように制御される。この一連の通知態様の変化により、なされた操作入力が受け付けられていること、操作入力に対応する処理結果が反映されるまでの時間間隔、及び該処理結果が反映されたことをユーザに通知することができる。
【0040】
なお、
図4A〜4Eに示した例は、説明を簡単にするため、1度の操作入力がなされてから該操作入力が反映されるまでに他の入力がなされなかったものとしているが、本発明の実施はこれに限られるものではない。即ち、連続したフレームについて、あるいは間欠的に操作入力がなされる場合、各フレーム期間や、操作入力部206のサンプリングレートによって定まる各入力期間等、各判断時点において検出された操作入力が順次、対応するフレームのゲーム画像に入力されたことを示す通知に係るGUI画像を重畳するようにしてもよい。またこのようにして順次検出された操作入力が、所定の反映時間の経過後に反映されたことの通知が順次なされるため、ユーザは通知される操作内容から自身の行ったいずれの操作入力が反映されているかを容易に理解することができる。
【0041】
また、通知態様は
図4A〜4Eに示される態様に限られるものである必要はないことは言うまでもない。即ち、本発明の実施においてなされた操作入力に対応する操作内容の通知態様は、対応する操作入力がなされてから処理結果の反映までに所定の時間分遅延して反映されることをユーザに認識可能ならしめるものであればどのようなものであってもよい。つまり、例えばユーザが間欠的に異なる操作入力を行うような場合では、所定の時間遅延して
図4Dのように操作入力に対応する操作内容を通知する構成であっても、ユーザにはその遅延時間を把握させることができる。また、遅延に係る時間経過に応じて通知態様を異ならせる場合は、
図4A〜4Eに示したような遷移手法やGUI画像に限らず、操作入力がなされてから対応する処理結果が反映されるまでをユーザに知覚させることが可能ないずれの遷移手法やGUI画像が用いられてよい。また、
図4A〜4Eの例では反映されたことを明示するような面積及び輝度を有する
図4DのようなGUI画像404を表示させることで、反映がなされたことをユーザに通知するとしたが、さらにGUI画像の色変化や、反映がなされたことを示す文字列や記号等を用いて明示させるようにしてもよい。
【0042】
《反映時間取得処理》
ここで、上述の構成をもつ本実施形態のサーバ100において実行される反映時間取得処理について、
図5のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、サーバ制御部101が、例えばサーバ記憶媒体102に記憶されている対応する処理プログラムを読み出し、サーバメモリ103に展開して実行することにより実現することができる。なお、本反映時間取得処理は、例えば反映時間の取得タイミングであるものとサーバ制御部101が判断した際に開始されるものとして説明する。反映時間の取得タイミングは、例えばクライアント装置200の各々からサービス提供要求がなされた際またはサービス提供の開始後に最初の操作入力を示す情報を受信した際、サーバ100のサービス提供するクライアント装置200の数に変動があった際、サーバ100における総演算量の変動があった際、反映時間の計測を行うとして予め定められた時間が経過した際等であってよい。
【0043】
S501で、サーバ計測部105はサーバ制御部101の制御の下、現在サーバ100において行われている処理を考慮し、なされた操作入力を示す情報が新たに受信された場合に、操作入力に対応する処理結果を反映したゲーム画面を生成するまでに要する時間(反映画面生成時間)を取得する。該時間は、例えば予め定められた関数等により算出される推定値であってもよいし、実際に処理を行って計測される実測値であってもよい。
【0044】
S502で、サーバ計測部105は、操作入力を示す情報に対応するクライアント機器についての通信により生じる遅延時間を取得する。通信により生じる遅延時間は、例えばなされた操作入力を示す情報の受信、及び該情報により示される操作入力に基づいて生成されたゲーム画面の送信に要する時間を算出し、加算することで得られるものであってよい。なお、遅延時間の情報の取得はこれに限られるものである必要はなく、上述したように操作入力を示す情報に含まれるタイムスタンプの参照や、ping発信等、クライアント装置200からの通信に要した実測時間のフィードバック等により取得されるものであってもよい。
【0045】
S503で、サーバ計測部105は、S501において取得した反映画面生成時間とS502において取得した遅延時間とを加算し、反映時間としてサーバメモリ103に格納する。
【0046】
S504で、サーバ制御部101は、サーバメモリ103に格納された反映時間の情報を読み出してサーバ通信部106に伝送し、対応するクライアント装置200に送信させ、本反映時間取得処理を完了する。
【0047】
なお、上述したように本反映時間取得処理により得られた反映時間の情報は、使用するクライアント機器の種別が同一、通信環境が同一、あるいはサービス利用するゲームコンテンツが同一等、流用が可能な一部のクライアント装置200に対しても提供されるものとしてもよい。
【0048】
また、本実施形態の反映時間取得処理では、サーバ100側にて反映時間の計測を行うものとして説明したが、例えばping発信のように、ダミーの操作入力を示す情報を送信し、該情報に対応する処理結果が反映されたダミー画面が受信されるまでの時刻を計測できるような応答プロトコルがゲームシステムに設けられていてもよい。この場合、クライアント装置200とサーバ100との初回通信時等、上述したような取得タイミングにクライアント装置200が該プロトコルを用いて反映時間の計測を行ってメモリ203に情報を格納するものであってもよい。
【0049】
《出力画面生成処理》
次に、本実施形態のクライアント装置200において実行される出力画面生成処理について、
図6のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部201が、例えば記憶媒体202に記憶されている対応する処理プログラムを読み出し、メモリ203に展開して実行することにより実現することができる。なお、本出力画面生成処理は、表示部205への表示に係る画面のリフレッシュレートに基づいて、各フレームについての処理を実行するタイミングで開始されるものとする。
【0050】
S601で、制御部201は、現在のフレームの出力画像に対応する期間内になされた操作入力を示す情報と該操作入力がなされた時刻(処理上の経過時間であってもよい)の情報とを取得する。なお、本実施形態では説明を簡単にするため、操作入力部206のサンプリングレートが表示リフレッシュレートより高い場合であっても、クライアント装置200からサーバ100には所定の期間内になされた操作入力の情報がまとめて送信されるものとして説明する。
【0051】
S602で、制御部201は、S601において取得した操作入力を示す情報とそのなされた時刻の情報とを関連付けて、メモリ203内の操作入力履歴テーブルに記憶する。操作入力履歴テーブルは、例えば
図7に示されるように、まだゲーム画面にその操作入力に対応する処理結果の反映がなされていない操作入力の一覧を管理するテーブルであり、例えば1つの操作入力について1レコードが生成され、操作入力がなされた時刻(検出時刻)の順に管理される情報であってよい。なお、本実施形態では実測値に基づく遅延がなるべく操作内容の通知に反映されるよう、
図7に示したような操作入力がなされた時刻を操作入力履歴テーブルに含めるものとして説明するが、これらは例えばフレーム番号や同時期に表示されるゲーム画面のタイムコード等を用いるものであってもよいことは言うまあでもない。
【0052】
S603で、制御部201は、サーバ100からの現在のフレームのゲーム画面が所定の時間内に受信されたか否かを判断する。サーバ100において生成されたゲーム画面は通信部207により受信され、メモリ203に格納されるものとする。1フレームに係る出力画面の生成をフレーム時間内に完了させるために、本ステップにおいて制御部201は、所定の時間内にゲーム画面が受信されたかを判断する。制御部201は、現在のフレームのゲーム画面が所定の時間内に受信されたと判断した場合は、S604でメモリ203に新たに格納されたゲーム画面を出力画面用のゲーム画面として選択して処理をS606に移す。また制御部201は、現在のフレームのゲーム画面が所定の時間内に受信されていないと判断した場合は、S605でメモリ203に直近に格納されたゲーム画面を出力画面用のゲーム画面として選択して処理をS606に移す。
【0053】
S606で、描画部204は制御部201の制御の下、操作入力履歴テーブルに格納されている各操作入力の操作内容を通知するためのGUI画像をゲーム画面に対して重畳し、出力画面を生成する。操作内容を通知するためのGUI画像は、上述したように操作入力がなされてからの経過時間に応じてその表示態様が異なせるように制御されてよい。例えば操作内容を通知するためのGUI画像が
図4A〜4Eのように円形画像(401、402、403、404)として生成される場合、その半径r(i)(iは操作入力履歴テーブル上のレコードID)は、経過時間telapsedとサーバ100から受信した反映時間treflectを用いて、
(1)telapsed≦treflectの場合
r(i) = rdefault * (1 - (telapsed - treflect) / treflect)
(2)telapsed>treflectの場合
r(i) = rdefault
として算出されてもよい。なお、本実施形態ではGUI画像はゲーム画面に重畳されるものとして説明するが、出力画面の構成はこれに限られるものではない。例えば出力画面の領域内においてゲーム画面とGUI画像とを表示させる領域は分離されており、本ステップにおいて描画部204は、ゲーム画面とは重複しない領域にGUI画像を表示させるようにしてもよい。
【0054】
S607で、制御部201は、S606において生成された出力画面を表示部205に伝送し、表示させる。
【0055】
S608で、制御部201は、操作入力履歴テーブルに格納されている各操作入力の入力がなされた時刻を参照し、サーバ100から受信した反映時間を越えているレコードを削除し、再度操作入力履歴テーブルを時系列順に更新して本出力画面生成処理を完了する。
【0056】
なお、本実施形態ではサーバ100において反映時間の情報を取得し、クライアント装置200において操作内容を通知するGUI画像をゲーム画面に重畳して出力画像を生成する処理を行うものとして説明したが、本発明の実施はこれに限られるものではない。上述したように反映時間の計測や判断は、クライアント装置200において行ってもよい。また、現在の判断時点においてなされている操作入力に対応する操作内容の通知以外は、サーバ100においても可能であり、例えば反映時間を考慮した操作内容の通知を含んだ出力画面がサーバ100において生成されてクライアント装置200に送信されるものであってもよい。
【0057】
また、本発明の実施は
図1に示したようなクラウド型のゲーム提供サービスを行うゲームシステムに限定されるものである必要がないことは容易に理解されよう。即ち、本発明の実施においてゲーム画面や出力画面の生成を行うエンティティはいずれであってもよく、単になされた操作入力が遅延して反映されることを示す通知を表示装置等の通知機器にさせることが可能な装置であれば本発明は適用可能である。
【0058】
以上説明したように、本実施形態に係るプログラムでは、操作入力に対するレスポンスを考慮してユーザの操作性を向上させることができる。具体的にはコンピュータにおいて実行されるプログラムは、なされた操作入力を示す情報を取得する処理と、取得された情報により示される操作入力に対応する操作内容を、所定の時間遅らせて通知させる処理と、を実行させる。
【0059】
[実施形態2]
ところで近年、表示装置の表示領域上へのタッチ入力検出インタフェースを備える電子機器等も普及してきており、このような機器において操作入力インタフェースを示すGUI画像をゲーム画面等に重畳するような表示態様は一般的になってきている。しかしながら、このように操作入力インタフェースを示すGUI画像が実行されるコンテンツに係る画面上に配置されて表示される場合、タッチ入力中は操作に係る運指によって画面の一部が遮蔽されることになるため、画面の視認性が低減し、ひいてはユーザの操作性が低減し得る。
【0060】
一方で、実施形態1において上述したように、なされた操作入力に対応する操作内容の通知に際し、出力画面においてゲーム画面に重畳される該通知に係るGUI画像の面積を低減するように構成することで、ゲーム画面の視認性は担保することができる。
【0061】
しかしながら、タッチ入力検出インタフェースを有する電子機器の多くは小型の表示装置を備えるものであるため、ゲーム画面の視認性を担保した場合、操作入力インタフェースに係る画像を表示する領域は制限されることになる。つまり、例えば所謂アナログスティックに相当するような継続したタッチ入力が用いられる操作入力は、ゲーム画面上あるいは画面外の、従来よりも狭い検出領域内でユーザはタッチ入力に係る運指を行わなければならない。この場合、所望の操作が困難になる、あるいは検出領域が狭いが故にゲームプレイに集中している際には無意識に非検出領域に指が移動し、そもそも操作が不能な状態となってしまう等の問題が発生し得る。
【0062】
従って、本実施形態ではこのように操作入力インタフェースに係る画像が、表示領域内の限定的なタッチ入力の検出領域に配置される場合であったとしても、ユーザの操作性を担保し得る態様について説明する。以下では、実施形態1と同様の機能構成を有するクライアント装置200を例に、該態様を説明する。なお、本実施形態ではクライアント装置200の表示部205上には、表示領域上のいずれの位置にタッチ入力がなされたかを検出するセンサが配置され、操作入力部206が該センサによる検出結果を取得するものとする。
【0063】
《タッチ入力判断処理》
以下、本実施形態のクライアント装置200において実行されるタッチ入力判断処理について、
図8のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部201が、例えば記憶媒体202に記憶されている対応する処理プログラムを読み出し、メモリ203に展開して実行することにより実現することができる。なお、本タッチ入力判断処理は、表示部205の表示領域内に設けられた所定の操作入力に係る検出領域(対象検出領域)内に対するタッチ入力がなされた際に開始されるものとして説明する。
【0064】
また、以下の説明では説明を簡単にするため、操作入力インタフェースに係り設定される検出領域は対象検出領域のみであるものとする。また、対象検出領域内に対してなされたタッチ入力は、該領域の中心とタッチ入力位置との位置関係に応じて入力方向が定まる、アナログスティックに係る操作入力として判断されるものとして説明する。しかしながら、本発明の実施はアナログスティックに係るタッチ入力に限定されるものでなく、継続したタッチ入力がなされる特定の操作入力インタフェースに係る画像について設けられた検出領域についても同様に適用可能であることは容易に理解されよう。
【0065】
S801で、制御部201は、操作入力部206によりタッチ入力が検出されたか否かを判断する。制御部201は、タッチ入力が検出されたと判断した場合は処理をS802に移し、なされていないと判断した場合は処理をS806に移す。
【0066】
S802で、制御部201は、検出されたタッチ入力が、それ以前になされた対象検出領域内へのタッチ入力が継続していることによる入力であるか否かを判断する。制御部201は、対象検出領域内のタッチ入力が継続していることによるタッチ入力であると判断した場合は処理をS803に移し、継続していることによるタッチ入力ではないと判断した場合は処理をS808に移す。
【0067】
S803で、制御部201は、継続しているタッチ入力に対応する検出位置が、対象検出領域内であるか否かを判断する。対象検出領域の情報は、例えば記憶媒体202に予め定められているものであってよい。また後述するように対象検出領域を移動する処理がなされる場合は例えばメモリ203に移動後の対象検出領域の情報が格納されるため、メモリ203内に移動後の対象検出領域の情報が格納されている場合、本ステップで制御部201は該情報を参照してタッチ入力の有無を判断するものであってよい。なお、この対象検出領域の判断は以降のステップにおいても同様であり、移動前の対象検出領域の情報を参照する必要がある場合は、「予め定められた対象検出領域」と都度明示することとする。制御部201は、検出位置が対象検出領域内であると判断した場合は処理をS805に移し、対象検出領域外であると判断した場合は処理をS804に移す。
【0068】
S804で、制御部201は、継続しているタッチ入力がそれ以前になされた対象検出領域内へのタッチ入力と同様に判断されるように、継続しているタッチ入力に対応する検出位置に応じて対象検出領域の位置を移動させる。即ち、出力画面内の
図9Aに示されるような位置に対象検出領域901が配置されている場合、本ステップにおいて制御部201は、同種の操作入力に係るタッチ入力がなされているものと判断できるように、
図9Bに示されるように対象検出領域901の位置を、タッチ入力の検出位置902に応じて移動する。なお、対象検出領域の位置の移動とは、例えば
図9A及び9Bのように対象検出領域が矩形領域である場合、メモリ203に移動後の対象検出領域を規定するための対角頂点の座標の情報を一時的に格納あるいは更新することにより行われてよい。このようにすることで、継続しているタッチ入力を行っている最中にユーザが無意識に対象検出領域外への運指を行ってしまった場合であっても、後述の入力内容を判断する処理において操作入力が継続しているものと判断することが可能となる。また、移動後の対象検出領域の位置は、例えば予め定められた対象検出領域の中心位置と、タッチ入力の検出位置とで規定されるベクトルの方向及び大きさに応じて、該検出位置が移動後の対象検出領域内に含まれるように決定されるものであってよい。
【0069】
S805で、制御部201は、予め定められた対象検出領域の中心位置と、タッチ入力の検出位置とに応じて、アナログスティック操作入力に係る入力方向及び必要に応じてその大きさを判断し、判断結果として出力する。その後、制御部201はタッチ入力のサンプリングレート基づいて次のサンプリング時間まで待機した後、処理をS801に戻す。
【0070】
一方、S801において対象検出領域へのタッチ入力がなされていないと判断した場合、制御部201はS806で、対象検出領域が予め定められた位置から移動されているか否かを判断する。制御部201は、対象検出領域が予め定められた位置から移動していると判断した場合は処理をS807に移し、移動していないと判断した場合は次のサンプリング時間まで待機した後、処理をS801に戻す。
【0071】
S807で、制御部201は、対象検出領域を予め定められた位置に順次戻すための移動関数を設定し、該移動関数に基づいてメモリ203に格納されている対象検出領域の位置を更新する処理を実行する。あるいは既に移動関数が定められている場合は、制御部201は同様に該移動関数に基づいてメモリ203に格納されている対象検出領域の位置を更新する処理を実行する。移動関数は、例えば対象検出領域の中心位置と予め定められた対象検出領域の中心位置とを結ぶ直線上を指数関数的に移動するよう定められるものであってもよい。また、誤って運指が中断された場合等の再度の中断位置付近へのタッチ入力を検出可能なように、移動関数は中断時から所定の期間、予め定められた位置への移動を行わないよう構成されてもよい。なお、本ステップにおいて対象検出領域の位置が予め定められた位置に戻ったものと判断する場合、制御部201はメモリ203から対象検出領域の位置の情報を削除すればよい。その後、制御部201は、次のサンプリング時間まで待機した後、処理をS801に戻す。
【0072】
一方、S802において検出されたタッチ入力が、以前になされた対象検出領域内へのタッチ入力が継続していることによる入力ではないと判断した場合、制御部201はS808で、継続しているタッチ入力に対応する検出位置が、対象検出領域内であるか否かを判断する。制御部201は、検出位置が対象検出領域内であると判断した場合は処理をS805に移し、対象検出領域外であると判断した場合は処理をS806に移す。
【0073】
なお、本実施形態のタッチ入力判断処理では、対象検出領域が移動している場合は該移動後の領域にタッチ入力がなされなければ、対応する操作入力がなされたものと判断しないものとしてフローチャートを構成したが、対象検出領域が移動されている状態であっても、予め定められた対象検出領域へのタッチ入力がなされた場合、制御部201はメモリ203に格納されている移動後の対象検出領域の情報を削除し、予め定められた対象検出領域の情報に基づいて判断処理を行えばよい。
【0074】
また、このように判断されたタッチ入力に係る操作入力についても、実施形態1と同様に出力画面生成処理を行うことで、操作入力に対するレスポンスを考慮してユーザの操作性を向上させることができる。この場合、移動後の対象検出領域周辺に操作入力の操作内容を通知するGUI画像を配置することはゲーム画像の視認性を低減することにもなり得るため、操作内容を通知するGUI画像は、予め定められた対象検出領域周辺に重畳されるようにすればよい。このように、操作内容を通知するGUI画像の表示位置は固定であるため、画面の視認性が確保され、ユーザの操作性を向上させることができる。またGUI画像の表示位置が固定であっても対応するタッチ入力の対象検出領域は運指に応じて移動し、検出を可能ならしめるものであるため、ユーザの操作性は同様に向上させることができる。
【0075】
また、本実施形態では予め定められた対象検出領域の中心位置を基準として、タッチ入力によりいずれの操作入力がなされたか否かを判断するものとして説明するが、本発明の実施はこれに限られるものではない。例えば、
図9Aのように出力画面左下に予め定められた対象検出領域が配置される場合、アナログスティック操作入力に係る左あるいは下方向の入力を行うためには、対象検出領域が移動している場合、ユーザはタッチ入力を行っている位置を大幅に変更するような運指を行わなければならない可能性がある。この場合、クライアント装置200の持ち替えを行う必要がある等ユーザにとって煩雑な操作を強いることになり得るため、例えば連続するサンプリング時点間でタッチ入力の検出位置の左方向あるいは下方向への移動成分が大きい場合には、制御部201は移動後の対象検出領域の中心を基準に操作入力の判断を行うように制御してもよい。
【0076】
[変形例1]
上述した実施形態2では、対象検出領域をタッチ入力がなされている位置に応じて移動させる例について説明したが、本発明の実施はこれに限られず、例えばタッチ入力がなされている位置に応じて、タッチ入力が継続してなされているものである場合は該位置を含むように、対象検出領域の大きさを一時的に拡張するものであってもよい。
【0077】
[変形例2]
上述した実施形態2では、簡単のため操作入力インタフェースに係り設定される検出領域が対象検出領域のみであるものとして説明したが、本発明の実施はこれに限られるものではない。複数種別の操作入力インタフェースに係るGUI画像が出力画面上に配置される場合、通常その各々について検出領域が重複しないように設定される。
【0078】
しかしながら実施形態2では、検出されたタッチ入力が、以前になされた対象検出領域内へのタッチ入力が継続していることによる入力であると判断された場合は、対象検出領域外に検出位置があったとしても対象検出領域を移動させて入力判断を行うものとした。このように対象検出領域を移動させる場合、移動後の対象検出領域が他の種別の操作入力インタフェースに係るGUI画像の検出領域と重複する可能性がある。即ち、対象検出領域の移動後に一度タッチ入力が中断され、再びタッチ入力がなされた場合に、2つの検出領域のいずれに対するタッチ入力であるかが判断不能となる可能性がある。
【0079】
この場合、制御部201は例えば、検出されたタッチ入力が継続してなされている時間が所定の閾値時間を超えるか否かに応じてユーザがいずれの検出領域に係る操作入力を所望しているかを判別するようにしてもよい。即ち、タッチ入力が継続してなされている時間が閾値時間を超えない場合は、ユーザが所定の操作入力インタフェースに係るGUI画像を単に1回タッチする操作を所望しているものと考えられるため、制御部201は該タッチ入力を対象検出領域ではない検出領域、つまり他の種別の操作入力に係るタッチ入力であるものとして判断すればよい。またタッチ入力が継続してなされている時間が閾値時間を超える場合は、継続させていたタッチ入力がユーザの意図に反して中断され、再びユーザが継続させていた操作入力を所望しているものと考えられるため、制御部201は該タッチ入力を対象検出領域に対するタッチ入力であるものとして判断すればよい。
【0080】
[変形例3]
上述した実施形態2では、タッチ入力検出インタフェースが設けられた表示装置を有する電子機器では、出力画像において操作入力インタフェースに係るGUI画像がゲーム画像に重畳された場合に、ゲーム画面の視認性が低下し、操作性を低減し得る。
【0081】
一方で、ゲームプレイ時間や所望の行動をとるために適切なタッチ入力を行っている等、ユーザがタッチ入力検出インタフェースを使用した操作入力を習熟したと判断した場合には、操作入力インタフェースに係るGUI画像を面積の小さな簡易表示に切り替える、あるいは透過度を増大させる等、制御部201はゲーム画面の視認性を向上させるためにGUI画像の表示態様を異ならせるよう、描画部204を制御してもよい。あるいは、頻繁に操作入力の誤入力と思われる操作を行っており、操作入力を習熟していないと判断した場合には、ゲーム画面ではなく特定の操作入力インタフェースのGUI画像の視認性が向上するように、制御部201は描画部204を制御してもよい。
【0082】
[変形例4]
変形例3では、ユーザの操作入力に係る習熟度に応じてGUI画像の表示態様を変更するものとして説明したが、本発明の実施はこれに限られるものではない。
【0083】
例えば、ゲームコンテンツについて設けられている操作入力には、重要度や使用頻度が予め定められており、特定のシーンにおいては出力画面に表示している必要性が少ないGUI画像も存在し得、このようなGUI画像は単に視認性を低減させるだけの存在との印象をユーザに与える可能性がある。また、例えば配置されるGUI画像の面積が大きいほどゲーム画面の視認性を低減させうる。
【0084】
従って、制御部201はさらに、GUI画像に対応する操作内容について予め定められた重要度、操作内容のタッチ入力の使用頻度、及び操作内容のタッチ入力の検出領域を示す画像の大きさの少なくともいずれかに応じて、変形例2と同様にGUI画像の表示態様を変化させるよう描画部204を制御してもよい。また、これらの変更はコンテンツ内で設定されるモードやユーザ設定等により段階的に変更可能なように構成されてもよい。
【0085】
[その他の実施形態]
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係る情報処理装置は、1以上のコンピュータを該情報処理装置として機能させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供/配布することができる。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【0086】
本願は、2014年9月10日提出の日本国特許出願特願2014−184621を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。