以下、本発明の一実施の形態の例について図面を参照して説明する。
図1は、本発明の一実施の形態を示すビデオゲーム処理装置100の構成例を示すブロック図である。図1に示すように、ビデオゲーム処理装置100は、プログラム読取部10と、制御部11と、記憶部12と、表示部13と、音声出力部14と、操作受付部15とを含む。
プログラム読取部10は、各種ビデオゲームプログラムが格納された記憶媒体を内蔵する記憶媒体から必要なビデオゲームプログラムを読み出す機能を有する。なお、本例においては、プログラム読取部10は、ビデオゲームプログラムが格納された着脱可能なゲームカートリッジ20を装着する装着部を有し、プレイヤ(ビデオゲーム処理装置100の操作者(ユーザ))により装着部に装着されたゲームカートリッジ20の記憶媒体からゲームプログラムを読み出し、記憶部12に格納する。なお、本例で用いられるビデオゲームプログラムに従って実行されるビデオゲームは、RPG、シミュレーションゲーム、パズルゲーム、バトルゲームなど、プレイヤの操作に応じてビデオゲームの仮想空間内を移動するオブジェクトが存在するビデオゲームであればどのようなものであってもよい。
制御部11は、プログラム読取部10により読み取られ記憶部12に格納されたゲームプログラムを実行し、プレイヤの操作に応じてビデオゲームを進行するための各種の制御を実行する機能を有する。
記憶部12は、ビデオゲームを進行する際に必要なビデオゲームプログラムや各種のデータを記憶する記憶媒体である。記憶部12は、例えばRAMなどの不揮発性のメモリによって構成される。記憶部12には、ゲームの進行に従って登録・更新される各種の情報や、ゲームカートリッジ20に内蔵される記憶媒体から読み出されたゲームにおいて使用される各種の情報が格納される。
なお、ビデオゲーム処理装置100が、ビデオゲームプログラムを図示しないゲームプログラム提供サーバからインターネット等の通信ネットワークを介してダウンロードして記憶部12に格納する構成としてもよい。
本例では、記憶部12は、表示部13の表示画面に表示されるビデオゲームの仮想空間において所定のオブジェクト(本例においては、プレイヤが操作可能なプレイヤキャラクタ)に対する操作入力を受けつけるための仮想コントローラを表示画面に表示する際に参照される仮想コントローラ情報が格納される仮想コントローラ管理テーブル12aと、ゲームの進行状態を特定可能なゲーム進行状態情報が格納されるゲーム進行状態情報管理テーブル12bと、プレイヤの習熟度を示す習熟度情報が格納される習熟度情報テーブル12cと、プレイヤの習熟度を判定する際の判定ルールを示す習熟度判定情報が格納される習熟度判定情報テーブル12dと、仮想コントローラの透明度を判定する際の判定ルールを示す透明度判定情報が格納される透明度判定情報テーブル12eとを含む。
図2は、仮想コントローラ管理テーブル12aに記憶される仮想コントローラ情報の格納状態の例を示す説明図である。図2に示すように、仮想コントローラ情報は、プレイヤキャラクタを一意に特定するためのキャラクタIDと、プレイヤによる操作対象となっているプレイヤキャラクタに「1」が設定され、操作対象となっていないプレイヤキャラクタに「0」が設定される操作対象フラグと、表示部13の表示画面における仮想コントローラの表示位置を示す座標(本例においては、後述する「初期押下位置」の座標が設定される)と、プレイヤキャラクタの動作実行条件(条件が満たされた動作には「1」が設定され、条件が満たされていない動作には「0」が設定される。)とを含む情報である。
なお、プレイヤキャラクタの動作実行条件は、仮想コントローラを構成する操作部の位置に応じて充足され、本例においては、操作部の表示位置に応じてプレイヤキャラクタに歩行動作、または走行動作が設定されているものとする。
ここで、本例における仮想コントローラについて説明する。
図3は、本例における仮想コントローラの例を示す説明図である。図3(A)に示すように、仮想コントローラ101は、略円形に形成されたコントローラ本体102と、コントローラ本体102の中心位置から任意の方向に移動可能な操作部103とからなる。なお、仮想コントローラ101の形状や構成はこれに限定されない。
本例において、仮想コントローラ101は、ユーザにより表示画面が押下されたことに応じて(すなわち、表示画面に対する指での押下など(接触操作)による表示画面の押下を受け付けて)、押下位置(初期押下位置)を中心として固定表示される。なお、仮想コントローラ101の表示位置が、表示画面が押下された位置から少しずらした位置となる構成としてもよい。この場合、ユーザにより押下位置に対する仮想コントローラ101の表示位置が設定可能である構成としてもよい。
図3(A)は、表示画面に表示された直後の仮想コントローラ101を示す説明図である。図3(A)に示すように、操作部103は、コントローラ本体102の中心に配置され(操作部103の初期位置)、ユーザの操作(本例においては、表示画面を押下した状態を継続して、押下位置を変更する操作(ドラッグ操作))に応じて可動表示される。
すなわち、例えば、仮想コントローラ101が表示画面に表示された状態でプレイヤによる右方向へのドラッグ操作を受け付けると、図3(B)に示すように、操作部103が初期位置から右方向に移動して表示される。なお、操作部103の移動量と初期位置に対する移動方向は、所定の可動限界範囲内において、初期押下位置とドラッグ操作後の押下位置(現押下位置)との距離と方向に対応して決定される。すなわち、例えば初期押下位置と現押下位置との距離が長い程、操作部103が初期位置から大きくずれることとなる。
ここで、仮想コントローラ情報の説明にて説明したように(図2参照)、本例においては、操作部103の一部がコントローラ本体102の表示領域を超えているか否か(すなわち、操作部103の中心が可動領域105を超えているか否か)によりプレイヤキャラクタが実行する動作が異なる。また、操作部103がコントローラ本体102の表示領域の内側にある場合に、操作部103の中心が初期位置104から所定距離以上離れているか否かによってもプレイヤキャラクタが実行する動作が異なる。これらは、仮想コントローラ管理テーブル12aにて管理され、本例においては、操作部103の中心が初期位置104から所定距離以上離れた場合に「歩行動作」に「1」が設定され、操作部103の中心が可動領域105を越えた場合には、「歩行動作」に「0」が設定され、「走行動作」に「1」が設定されることとなる。なお、仮想コントローラ101に関する動作についてはビデオゲーム処理装置100の動作とあわせて詳しく説明する。
図4は、ゲーム進行状態情報管理テーブル12bに記憶されるゲーム進行状態情報の格納状態の例を示す説明図である。図4に示すように、ゲーム進行状態情報は、プレイヤの名称を示すプレイヤ名と、プレイヤを一意に特定可能なプレイヤIDと,プレイヤキャラクタの名称を示すキャラクタ名と、プレイヤキャラクタを一意に特定するためのキャラクタIDと、合計プレイ時間とを含む情報である。本例では、プレイヤの習熟度(熟練度)を決定する際に参照するゲームの進行状態を特定するための情報として、合計プレイ時間を用いることとしている。すなわち、ビデオゲームの合計プレイ時間が長ければ習熟度が高いとみなすこととしている。ゲーム進行状態情報は、ゲームの進行状態(本例では合計プレイ時間)が変化する毎に制御部11によって更新される。
図5は、習熟度情報テーブル12cに記憶される習熟度情報の格納状態の例を示す説明図である。図5に示すように、習熟度情報は、プレイヤの名称を示すプレイヤ名と、プレイヤを一意に特定可能なプレイヤIDと,プレイヤキャラクタの名称を示すキャラクタ名と、プレイヤキャラクタを一意に特定するためのキャラクタIDと、習熟度を示す値(習熟度値)とを含む情報である。
図6は、習熟度判定情報テーブル12dに記憶される習熟度判定情報の格納状態の例を示す説明図である。図6に示すように、習熟度判定情報は、合計プレイ時間と習熟度とが対応付けされた情報である。本例では、習熟度は0〜5の6段階に区分けされているものとし、習熟度が高いほど習熟度値が大きい値となるものとする。
図7は、透明度判定情報テーブル12eに記憶される透明度判定情報の格納状態の例を示す説明図である。図7に示すように、透明度判定情報は、プレイヤの習熟度と仮想コントローラの透明度とが対応付けされた情報である。本例では、習熟度の各段階毎に異なる透明度が対応付けされており、習熟度が高いほど透明度が高くなるものとする。本例では、習熟度が最も低い場合(習熟度値が0の場合)には透明度が0%(完全な不透明状態で表示される状態)とされ、習熟度が最も高い場合(習熟度値が5の場合)には透明度が100%(完全な透明状態となり、仮想コントローラが全く表示されない状態)とされるように透明度判定情報が設定されているものとする。
表示部13は、制御部11の制御に従って、プレイヤの操作に応じたゲーム画面を表示する表示装置である。表示部13は、例えば、液晶表示装置によって構成される。
音声出力部14は、制御部11の制御に従って、プレイヤの操作やキャラクタの動作に応じた音声を出力する機能を有する。
操作受付部15は、プレイヤ操作に応じた操作信号を受け付け、その結果を制御部11に通知する。本例においては、操作受付部15は、表示部13に設けられたタッチパネルを介してプレイヤの操作を受け付ける。なお、操作受付部15は、マウスやゲームパットなどのコントローラを介してプレイヤの操作を受け付ける構成とされていてもよい。
次に、本例のビデオゲーム処理装置100の動作について説明する。
図8は、ビデオゲーム処理装置100が実行する習熟度判定処理の例を示すフローチャートである。習熟度判定処理は、例えば、ゲームの進行中に定期的に実行される。ここでは、プレイヤPの習熟度を判定し、必要に応じてプレイヤPの習熟度を更新する場合を例に説明する。なお、本発明に関係しない動作や処理については、その内容を省略している場合がある。
習熟度判定処理において、制御部11は、先ず、ゲーム進行状態情報管理テーブル12bに記憶されているゲーム進行状態情報を参照し、プレイヤPについてのゲーム進行状態を確認する(ステップS10)。本例では、ゲーム進行状態として、プレイヤPの合計プレイ時間を確認する。
次に、制御部11は、習熟度判定情報テーブル12dに記憶されている習熟度判定情報を参照し、ステップS10にて確認したゲーム進行状態に応じてプレイヤPの習熟度を判定する(ステップS11)。本例では、習熟度判定情報を参照し、ステップS10にて確認したプレイヤPの合計プレイ時間に対応する習熟度がプレイヤPの習熟度であるものと判定する。
そして、制御部11は、習熟度情報テーブル12cに記憶されている習熟度情報を参照し、ステップS11にて判定したプレイヤPの習熟度と習熟度情報に設定されているプレイヤPの習熟度とが異なっている場合には、習熟度情報におけるプレイヤPの習熟度をステップS11にて判定した習熟度に更新する(ステップS12)。
上記のようにして、ゲーム進行状態に応じてプレイヤの習熟度を判定し、習熟度に変化があった場合に更新する処理が実行される。
図9は、ビデオゲーム処理装置100が実行するキャラクタ移動処理の例を示すフローチャートである。キャラクタ移動処理は、ゲームの進行に応じて、プレイヤPによってプレイヤキャラクタP1が操作可能な状態となったときに開始される。
キャラクタ移動処理では、仮想コントローラを用いてプレイヤPによる操作に応じて操作対象となるプレイヤキャラクタP1の動作を実行するための処理が実行される。なお、本発明に関係しない動作や処理については、その内容を省略している場合がある。
図10は、ビデオゲーム処理装置100の筐体100Aに設けられた表示部13の表示画面13Aに表示されたゲーム画面の例を示す説明図である。ここでは、図10に示すように、ゲームフィールドに、プレイヤPにより操作可能な状態にあるプレイヤキャラクタP1と、制御部11により操作されるノンプレイヤキャラクタP2とが存在する場合を例に説明を行なう。
キャラクタ移動処理において、制御部11は、プレイヤPにより表示画面13Aが押下されたか否か(すなわち、表示画面13Aに設けられたタッチパネルが押下された否か)を判定する(ステップS101)。
表示画面13Aが押下されたと判定すると(ステップS101のY)、制御部11は、表示画面13A(表示画面13Aに設けられたタッチパネル)の押下状態が終了したか否かを判定し(ステップS101A)、表示画面13Aの押下状態が終了していなければ(ステップS101AのN)、ステップS101にて表示画面13Aが押下されたと判定したときから所定時間(例えば、0.1秒)が経過したか否か判定する(ステップS101B)。所定時間が経過する前に表示画面13Aの押下状態が終了した場合には(ステップS101AのY)、ステップS101に戻る。このように、所定時間が経過する前に表示画面13Aの押下状態が終了した場合に処理を中止する構成としているので、表示画面13Aに瞬間的に触れるようなタップ操作などを排除することができ、不要な場合に仮想コントローラ101を表示しないようにすることが可能となる。なお、タップ操作は、仮想コントローラ101を表示するための操作とは別の入力操作として受け付けるようにすればよい。
表示画面13Aの押下状態が終了することなく所定時間が経過したと判定すると(ステップS101BのY)、制御部11は、押下位置を算出し、初期押下位置として仮想コントローラ管理テーブル12aに記憶する(ステップS102)。
次に、制御部11は、習熟度情報テーブル12cに記憶されている習熟度情報を参照し、プレイヤPの習熟度を確認する(ステップS103A)。プレイヤPの習熟度を確認すると、制御部11は、透明度判定情報テーブル12eを参照し、ステップS103Aにて確認したプレイヤPの習熟度に対応する透明度を仮想コントローラ101の透明度とすることに決定する(ステップS103B)。
次いで、制御部11は、ステップS102にて記憶した初期押下位置を中心として、ステップS103Bにて決定した透明度の仮想コントローラ101を表示画面13Aに表示する(ステップS103C)。
図11は、このときのゲーム画面の例を示す説明図である。図11に示すように、例えばプレイヤPの指201により表示画面13Aの一点が押下されると、押下位置を中心として仮想コントローラ101が表示される。なお、図11には表れていないが、ステップS103Bにて決定した透明度の仮想コントローラ101が表示画面13Aに表示され、透明度が0%でなければ、仮想コントローラ101の表示位置に表示されているゲームフィールド上の表示物が仮想コントローラ101を透過して視認可能に表示されることになる。また、透明度が100%である場合には、仮想コントローラ101が表示画面13A上には全く表れないこととなるが、そのような場合のプレイヤは習熟度が高いプレイヤであるため、仮想コントローラ101が表示画面13A上に表れているものとして操作することが可能となる。
仮想コントローラ101を表示すると、制御部Cは、プレイヤPによるドラッグ操作を受け付けたか否かを判定する(ステップS104)。
プレイヤPによるドラッグ操作を受け付けていないと判定すると(ステップS104のN)、制御部11は、表示画面13A(表示画面13Aに設けられたタッチパネル)の押下状態が終了したか否かを判定する(ステップS105)。ここで、表示画面13Aの押下状態が終了していないと判定すると(ステップS105のN)、制御部11は、ステップS104に遷移する。
一方、表示画面13Aの押下状態が終了したと判定すると(ステップS105のY)、制御部11は、仮想コントローラ101の表示を終了し、プレイヤキャラクタP1が歩行動作を実行している場合には歩行動作を終了して(ステップS106)、ステップS101に遷移する。
一方、ステップS104にて、プレイヤPによるドラッグ操作を受け付けたと判定すると(ステップS104のY)、制御部11は、初期位置に対する現押下位置に基づいて操作部103の表示位置を変更する(ステップS107)。
操作部103の表示位置を変更すると、制御部11は、仮想コントローラ管理テーブル12aを参照して、操作部103の位置が「歩行」を示しているか否かを判定する(ステップS108)。ここで、操作部103の位置が「歩行」を示していると判定すると(ステップS108のY)、制御部Cは、初期位置から見て操作部103が表示された方向(すなわち、初期押下位置から現押下位置への方向)に応じて、プレイヤキャラクタP1の歩行動作に必要な処理を開始(または継続)して(ステップS109)、ステップS104に遷移する。
図12は、このときのゲーム画面の例を示す説明図である。図12に示すように、初期押下位置からプレイヤPの指201による現押下位置までの方向と同じ方向に向かって、プレイヤキャラクタP1の歩行動作が実行される。
一方、操作部103の位置が「歩行」を示していないと判定すると(ステップS108のN)、制御部Cは、操作部103の位置が「走行」を示しているか否かを判定する(ステップS110)。ここで、操作部103の位置が「走行」を示していないと判定すると(ステップS110のN)、制御部10は、プレイヤキャラクタP1が歩行動作を実行している場合には歩行動作を終了して(ステップS111)、ステップS104に遷移する。
一方、操作部103の位置が「走行」を示していると判定すると(ステップS110のY)、制御部10は、ダッシュモード処理を実行して(ステップS112)、ステップS108に遷移する。
キャラクタ移動処理は、ゲームの進行に応じて、プレイヤPによるプレイヤキャラクタP1の操作が不能な状態となったときに終了する。
なお、本例におけるキャラクタ移動処理において、操作部103の表示位置は初期押下位置と現押下位置との距離に応じて、段階的に変化する構成とする。すなわち、例えば初期押下位置と現押下位置との距離が所定の距離以上となったときに、操作部103の表示位置が、初期位置から所定の位置に変更されるものとする。
次に、ダッシュモード処理について説明する。
図13は、ビデオゲーム処理装置100が実行するダッシュモード処理の例を示すフローチャートである。
ダッシュモード処理において、制御部11は、先ず、表示画面13Aに表示されるゲーム画面をダッシュモード画面に切り替える(ステップS201)。ここで、ダッシュモード画面とは、プレイヤキャラクタP1が走行動作を実行することをプレイヤPに明示するためのものであり、本例においては、仮想コントローラ101の透明度を、初期押下位置と現押下位置との距離に応じて増加あるいは減少させ、ダッシュモードに入っていることをフィードバックすると同時に、ゲーム画面の視認性を向上させたものを意味する。
ダッシュモード画面を表示すると、制御部11は、初期押下位置から見た現押下位置の方向に応じて、プレイヤキャラクタP1の走行動作を開始(または、継続)するために必要な処理を実行する(ステップS202)。
図14は、このときのゲーム画面の例を示す説明図である。図14に示すように、初期押下位置からプレイヤPの指201による現押下位置までの方向と同じ方向に向かって、プレイヤキャラクタP1が走行動作を実行する。なお、このとき、制御部11が、初期押下位置と現押下位置との距離が長い程、プレイヤキャラクタP1の移動速度を速くするものとする。
次いで、制御部11は、プレイヤPによりドラッグ操作により表示画面13Aの押下位置が変更されたか否かを判定する(ステップS203)。ここで、ドラッグ操作により押下位置が変更されたと判定すると(ステップS203のY)、制御部11は、初期押下位置と変更後の現押下位置とに応じて操作部103の表示位置を変更する(ステップS204)。
操作部103の表示位置を変更すると、制御部11は、操作部103の表示位置がプレイヤキャラクタP1の走行動作を示しているか否かを判定する(ステップS205)。ここで、操作部103の表示位置がプレイヤキャラクタP1の走行動作を示していないと判定すると(ステップS205のN)、制御部11は、ステップS202に遷移する。
一方、操作部103の表示位置がプレイヤキャラクタP1の走行動作を示していると判定すると(ステップS205のY)、制御部11は、ダッシュモード画面の表示を終了して(ステップS206)、キャラクタ移動処理におけるステップS108に遷移する(図9参照)。
一方、ステップS203にて、ドラッグ操作により押下位置が変更されていないと判定すると(ステップS203のN)、制御部11は、表示画面13A(表示画面13Aに設けられたタッチパネル)の押下状態が終了したか否かを判定する(ステップS207)。ここで、制御部11は、表示画面13Aの押下状態が終了していないと判定すると(ステップS207のN)、ステップS203に遷移し、表示画面13Aの押下状態が終了したと判定すると(ステップS207のY)、仮想コントローラの表示を終了して(ステップS208)、ステップS206に遷移する。
なお、上記の例では、ビデオゲーム処理装置100を例に説明していたが、タッチパネルなどの入力装置を用いたユーザインタフェース処理を行うデバイスであればどのようなデバイスであっても適用することができる。よって、ビデオゲーム以外の他のアプリケーションにおけるオブジェクト(ユーザインタフェース構成要素)の操作に関するユーザインタフェース処理においても、上述した各実施の形態と同様の処理を行うことが可能である。
また、上記の例では、プレイヤPにより表示画面13Aが押下されたときに仮想コントローラ101を表示する構成としていたが、仮想コントローラ101を表示画面13A上の所定位置に常に固定表示しておくようにしてもよい。また、仮想コントローラ101の主要な部品のみを表示するようにしてもよい。具体的には、エキスパートモードなどの特定のモードでのみ使用する部品を表示することなく、使用される可能性のある部品のみで構成される仮想コントローラ101を表示するようにすればよい。さらに、習熟度が低いときは仮想コントローラ101の表示位置を固定とし、習熟度が所定の値以上となったときに仮想コントローラ101の表示位置を非固定とするようにしてもよい。
また、上記の例では、習熟度を判定するためのゲーム進行状態として合計プレイ時間を用いる構成としていたが、合計プレイ時間とするのは一例であり、クリアしたステージ数、特定ステージのクリアの有無、特定の機能の実行回数などとしてもよい。また、アプリケーションにおける特定の操作(例えばダッシュ操作)が使用されていることや、あらかじめ設定された特定の条件(例えば壁に当ることなく走行していること)を満たしていること、あるいは1又は2以上の特定のアイテムを取得していること、ミスオペレーションの回数、最初のチュートリアルを終了しているか否か、プレイヤのミスによる繰り返し行動の検知回数、所定のユーザオプションの利用の有無など、プレイヤの行動内容をゲーム進行状態として習熟度を判定するようにしてもよい。
操作が上達していくと仮想コントローラ101を明確に表示しておく必要がなくなっていくと考えられ、例えば習熟度に応じて仮想コントローラ101の透明度を増加させていき、上級者に対しては非表示とするようにしても操作上の支障はないものと考えられる。特にビデオゲームなどのようなアプリケーションの場合には、ユーザはコントローラではなく画面に集中しているため、十字キーや仮想パッドなどの仮想コントローラが非表示となっていても操作に支障はないものと考えられる。
また、上記の例では、習熟度に応じて仮想コントローラ101の透明度を増加させていく場合について説明したが、仮想コントローラ101の操作状態が一定期間継続したか否かを監視し、操作状態が一定期間継続したことが検出されたことに応じて仮想コントローラ101の透明度を増加させる処理を行うようにしてもよい。同一の操作が一定期間継続しているときは、プレイヤは仮想コントローラ101を意識することなくゲームフィールドに注目していると考えられるため、仮想コントローラ101の操作状態が一定期間継続したことに応じて仮想コントローラ101の透明度を増加させるものとし、たとえ非表示とするようにしても操作上の支障はないものと考えられる。なお、仮想コントローラ101について同一の操作状態が継続している場合に、その継続期間が長くなるに従って仮想コントローラ101の透明度を増加させていくようにしてもよい。
以上に説明したように、上述した実施の形態では、アプリケーション(例えば、ビデオゲーム)を制御するユーザインタフェース処理装置(例えば、ビデオゲーム処理装置100)が、表示画面13Aにユーザインタフェース構成部品(例えば仮想コントローラ101)を表示し、表示画面13A上に表示されたユーザインタフェース構成部品の操作を受け付け、受け付けられた操作に応じてアプリケーションを制御し、ユーザインタフェース構成部品の透明度を決定し、決定された透明度でユーザインタフェース構成部品を表示する構成としたので、タッチデバイスの操作性を向上させることができるようになる。
また、上述した実施の形態において、アプリケーション(例えば、ビデオゲーム)を制御するユーザインタフェース処理装置(例えば、ビデオゲーム処理装置100)が、表示画面13Aに仮想コントローラ101を表示し、表示画面13A上に表示された仮想コントローラ101の操作を受け付け、受け付けられた操作に応じてアプリケーションを制御し、アプリケーションの制御状態(例えば、合計プレイ時間やクリアしたステージ数などのゲームの進行状態、プレイヤの行動に基づく制御状態)に応じてプレイヤの習熟度を判定し、判定された習熟度の高さに応じて透明度を増加した仮想コントローラ101を表示する構成としたので、タッチデバイスの操作性を向上させることができるようになる。
すなわち、例えば習熟度が高いプレイヤに対しては、画面を完全に覆うことなく仮想コントローラ101を表示したり、仮想コントローラ101を非表示とすることができるようになり、仮想コントローラ101が重畳されている仮想コントローラ101の仮想の表示状態(表示物)を視認可能に表示することが可能となる。よって、操作上の支障を来たすことなく、仮想コントローラ101によるアプリケーション画面上の占有率を軽減し、視認性を向上させることができ、画面を広く使うことができるようになるのである。
なお、例えば、プレイヤの習熟度が上がる前は例えば表示画面の左下領域に仮想コントローラ101を固定表示し、プレイヤの習熟度が上がった場合に上述した実施の形態のように仮想コントローラ101を任意の押下位置に表示するようにしてもよい。このような場合についても、プレイヤの習熟度等のビデオゲームにおけるゲームの様々な進行状況に応じて、仮想コントローラ101を半透明化あるいは透明化するようにすればよい。
また、上述した実施の形態において、ユーザインタフェース処理装置(例えば、ビデオゲーム処理装置100)が、受け付けているユーザインタフェース構成部品(例えば仮想コントローラ101)の操作状態が一定期間継続したことが検出されたことに応じて透明度を増加させることに決定する構成とした場合についても、タッチデバイスの操作性を向上させることができるようになる。
すなわち、同一の操作が一定期間継続しているときは、プレイヤは仮想コントローラ101を意識することなくゲームフィールドに注目していると考えられるため、画面を完全に覆うことなく仮想コントローラ101を表示したり、仮想コントローラ101を非表示とすることができる。このため、仮想コントローラ101が重畳されている仮想コントローラ101の仮想の表示状態(表示物)を視認可能に表示することが可能となる。よって、操作上の支障を来たすことなく、仮想コントローラ101によるアプリケーション画面上の占有率を軽減し、視認性を向上させることができ、画面を広く使うことができるようになるのである。
また、上述した実施の形態において、ユーザインタフェース処理装置(例えば、ビデオゲーム処理装置100)が、プレイヤのタッチパネルの接触操作による表示画面13Aの押下を受け付け、表示画面13Aの押下が受け付けられたときに、押下された表示画面13A上の位置である押下位置(例えば、初期押下位置)を検出し、表示画面13Aの押下が受け付けられたあと、その表示画面13Aの押下状態が終了したか否かを判定し、表示画面13Aの押下が受け付けられたことに基づいて、検出された押下位置に応じた所定位置(例えば、初期押下位置を中心とする位置)に仮想コントローラ101を表示し、押下状態が終了したと判定されたときに仮想コントローラ101の表示を終了する構成とした場合には、タッチデバイスの操作性を向上させることができるようになる。この場合、仮想コントローラ101は固定位置に表示されるものでないため、透明度を増加させることによる効果が高まることとなる。
すなわち、表示画面上の任意の点に仮想コントローラを表示し、タッチパネルの押下が終了するまでの押下位置の変化に応じて操作対象オブジェクトを操作することができるようになるので、例えば、ゲーム画面において重要でない部分に仮想コントローラを表示させることで重要な部分が死角となってしまうことを回避することなどができるようになる。
また、仮想コントローラを任意の位置に配置することができるため、ユーザの手の大きさやタッチデバイスの把持方法(例えば、タッチデバイスを横画面にして把持する場合と、縦画面にして把持する場合には、タッチ操作のしやすい位置が異なる場合がある)に応じてタッチデバイスの操作性が悪化するようなことがない。また、タッチデバイスを片手で把持した場合であって同様に、タッチデバイスの操作性が悪化するようなことがない。
また、上述した実施の形態では、ユーザインタフェース処理装置(例えば、ビデオゲーム処理装置100)が、表示画面13Aの押下が受け付けられたあと、表示画面13Aの押下状態が終了したか否かを判定し、押下状態が終了したと判定されたときに、仮想コントローラの表示を終了する構成としているので、ユーザによる仮想コントローラの操作が終了したときに仮想コントーラの表示を終了することができるようになる。すなわち、必要なときにだけ仮想コントローラを表示することができるようになり、仮想コントローラを非表示とすることにより画面を広く使えるためタッチデバイスの操作性を向上させることができるようになる。
また、上述した実施の形態では、ユーザインタフェース処理装置(例えば、ビデオゲーム処理装置100)が、表示画面13Aの押下が受け付けられたあと押下状態が終了するまで、押下位置を継続して検出し、表示画面13Aの押下が最初に受け付けられたときに検出された押下位置である初期押下位置から、初期押下位置が検出されたあとに検出された現在の表示画面13A上の押下位置である現押下位置までの方向によって特定される移動方向指示操作(例えば、ドラッグ操作)を受け付け、受け付けられた移動方向指示操作に応じて、アプリケーションにおけるオブジェクト(例えば、プレイヤキャラクタP1)を初期押下位置から現押下位置に向かう方向に移動させる制御を行う構成としているので、簡単な操作により表示画面に表示されたオブジェクトの移動方向指示操作を行うことができるようになる。
また、上述した実施の形態では、ユーザインタフェース処理装置(例えば、ビデオゲーム処理装置100)における仮想コントローラ101は、略円形に形成されたコントローラ本体102と、コントローラ本体102の中心位置から任意の方向に移動可能な操作部103とを備えており、初期押下位置に応じた所定位置(例えば、初期押下位置を中心とする位置)にコントローラ本体102を固定表示し、コントローラ本体102の中心位置を基点に初期押下位置から現押下位置に向かう方向に操作部103を可動表示する構成としているので、ユーザに対して、ユーザによる操作入力がどのように反映されているのかを容易に認識させることができるようになる。
また、上述した実施の形態では、ユーザインタフェース処理装置(例えば、ビデオゲーム処理装置100)が、初期押下位置から現押下位置までの距離によって特定される移動速度指示操作(例えば、ドラッグ操作)を受け付け、受け付けられた移動速度指示操作に応じて、オブジェクト(例えば、プレイヤキャラクタP1)を初期押下位置から現押下位置までの距離に応じた速度で移動させる制御を行う(例えば、初期押下位置から現押下位置までの距離に応じて表示位置が決定される操作部103の位置に応じて歩行動作もしくは走行動作を実行する)構成としているので、簡単な操作により操作対象となるオブジェクトの動作を変更することができるようになる。また、移動速度を、初期押下位置から現押下位置までの距離に応じてアナログ的に加算させる構成とすることにより、ユーザが操作対象となるオブジェクトの移動速度を調節しやすくなる。
なお、移動速度指示操作として、初期押下位置から現押下位置までの距離区間によってオブジェクトの移動速度が特定される所定数段階の操作を受け付けるようにしてもよいし、初期押下位置から現押下位置までの距離に応じてオブジェクトの移動速度がアナログ的に徐々に変化していくような操作を受け付けるようにしてもよい。後者の場合、例えば、初期押下位置から現押下位置までの距離が長くなっていくに従って、歩行、小走り、走行、ダッシュと徐々に変化していき、オブジェクトの移動速度が徐々に速くなっていくこととなる。
また、上述した実施の形態では、ユーザインタフェース処理装置(例えば、ビデオゲーム処理装置100)が、仮想コントローラ101は、略円形に形成されたコントローラ本体102と、コントローラ本体102の中心位置から任意の方向に移動可能な操作部103とを備えており、初期押下位置に応じた所定位置(例えば、初期押下位置を中心とする位置)にコントローラ本体102を固定表示し、コントローラ本体102の中心位置を基点に初期押下位置から現押下位置に向かう方向であって初期押下位置から現押下位置までの距離に応じて段階的に遠ざかる位置に操作部103を可動表示する構成としているので、ユーザに対して、ユーザによる操作入力がどのように反映されているのかを容易に認識させることができるようになる。
また、上述した実施の形態では、ユーザインタフェース処理装置(例えば、ビデオゲーム処理装置100)が、表示画面13Aの押下が最初に受け付けられたあとその表示画面13Aの押下状態が所定時間継続したことに応じて、仮想コントローラ101を表示する構成としているので、必要なときにだけ仮想コントローラ101を表示することができるようになり、操作者の混乱を招く恐れがなくなる。
なお、上述した実施の形態においては特に言及していないが、ビデオゲーム処理装置100は、仮想コントローラ101の操作に応じてプレイヤキャラクタP1に対する移動制御(例えば、歩行や走行)が実行されたことに応じて、ゲームにおける他のキャラクタとの会話などの所定のイベント発生条件が満たされた場合に、表示画面13Aに所定のイベントアイコンを表示して、イベントアイコンが表示されている状態で押下状態が終了した場合、またはイベントアイコンが選択された場合に、対応するイベントが実行される構成としてもよい。このような構成とすることにより、よりタッチデバイスの操作性を向上させることができるようになる。
以下、表示画面13Aに表示されたイベントアイコンが選択された場合に、対応するイベントを実行する場合について、図面を参照して説明する。
図15は、ビデオゲーム処理装置100が実行するイベントアイコン表示処理の例を示すフローチャートである。イベントアイコン表示処理は、ゲームの進行に応じて、プレイヤPによってプレイヤキャラクタP1が操作可能な状態となったときに開始される。
イベントアイコン表示処理では、先ず、制御部11が、プレイヤキャラクタP1がイベント発生領域内に位置しているか否かを判定する(ステップS301)。ここで、イベント発生領域とは、所定のイベント発生条件が満たされる領域であり、例えば「会話」のイベントであれば、他のキャラクタの表示位置から所定の距離以内の領域がイベント発生領域となる。
プレイヤキャラクタP1がイベント発生領域内に位置していると判定すると(ステップS301のY)、制御部11は、イベント発生領域に対応するイベントアイコンを表示画面13Aに表示する(ステップS302)。このとき、イベントアイコンを表示する位置は、イベント発生領域の近傍であってもよいし、仮想コントローラ101の近傍であってもよい。
図16は、このときのゲーム画面の例を示す説明図である。図16に示すように、表示画面13Aに表示されるゲーム画面は、プレイヤPの操作に応じて表示された仮想コントローラ101と、移動制御が実行されているプレイヤキャラクタP1と、ノンプレイヤキャラクタP2と、プレイヤキャラクタP1がノンプレイヤキャラクタP2に対するイベント発生領域内に位置していることに応じて表示されたイベントアイコン301とを含む。
イベントアイコンを表示すると、制御部11は、表示画面13A(表示画面13Aに設けられたタッチパネル)の押下状態が終了したか否かを判定する(ステップS303)。ここで、押下状態が終了していないと判定すると(ステップS303のN)、制御部11は、ステップS301に遷移する。
一方、押下状態が終了したと判定すると(ステップS303のY)、制御部11は、プレイヤキャラクタP1の動作(歩行動作または走行動作)と仮想コントローラの101の表示を終了し(ステップS304)、イベントアイコン301の表示位置が押下されることによるイベントアイコン301の選択を受け付ける(ステップS305)。ここで、イベントアイコン301の選択を受け付けない場合(ステップS305のN)、制御部11は、ステップS301に遷移する。
一方、イベントアイコン301の選択を受け付けると(ステップS305のY)、制御部11は、イベントアイコン301に対応するイベント、すなわちプレイヤキャラクタP1とノンプレイヤキャラクタP2との会話イベントに必要な処理を実行して(ステップS306)、ステップS301に遷移する。
なお、ステップS301にて、プレイヤキャラクタP1がイベント発生領域内に位置していないと判定すると(ステップS301のN)、制御部11は、イベントアイコン301が表示されている場合にはその表示を終了して(ステップS307)、ステップS301に遷移する。
上記のような構成とすることにより、よりタッチデバイスの操作性を向上させることができるようになる。