以下、図面を適宜参照し、本発明の様々な実施形態を説明する。複数の図面において同一の又は類似する構成要素には同じ参照符号が付される。
図1から図3を参照して、一実施形態によるゲーム処理システムについて説明する。図1は、一実施形態によるゲーム処理システム1を示すブロック図であり、図2は、ゲーム処理システム1において用いられるヘッドマウントディスプレイ10(以下、「HMD10」という。)の模式図であり、図3は、プレイヤ5に装着されたHMD10を模式的に示す図である。
一実施形態によるゲーム処理システム1は、一実施形態によるゲーム処理プログラムを実行することにより様々なゲームを実現する。プレイヤは、ゲームシステム1を利用して、ゲーム媒体を用いた各種ゲームをプレイすることができる。ゲーム媒体は、ゲームに使用される電子データであり、ユーザによってゲーム内で取得、所有、使用、管理、交換、合成、強化、売却、廃棄、又は贈与、又は前記以外の方法で使用され得る。ゲーム媒体には、例えば、カード、アイテム、仮想通貨、チケット、キャラクタ、アバタ、レベル情報、ステータス情報、パラメータ情報(体力値や攻撃力など)、能力情報、スキル、アビリティ、呪文、ジョブ及びこれら以外のゲームで利用可能な各種電子データを含む。ゲーム処理システム1で利用可能なゲーム媒体及びその利用態様は本明細書で明示されるものに限られない。ゲーム処理システム1は、例えば、仮想空間において仮想キャラクタとプレイヤとがインタラクションを行うゲームを実現することができる。ゲーム処理システム1により実現されるゲームは、第1モードと第2モードとを有する。第1モードの例はチャットモードであり、第2モードの例はVRモードである。第1モード及び第2モードについては後述される。
ゲーム処理システム1は、HMD10と、サーバ50と、を備える。HMD10とサーバ50とは、ネットワーク40を介して相互に通信可能に接続されている。
HMD10は、図2に示されているように、人間の頭部に装着される装着具11と、この装着具11に取り付けられる情報処理装置20と、を備えている。
装着具11は、開口11dが形成されたゴーグル型の筐体11aと、この筐体11aに取り付けられた第1ベルト11b及び第2ベルト11cと、蓋11eと、を有する。蓋11eは、筐体11aに開閉自在に取り付けられている。筐体11aの前方には開口11dが形成されている。図2においては、蓋11eは開放されている。HME10の使用時には、蓋11eは、開口11dを閉塞するように閉じられる。
情報処理装置20は、HMD10の蓋11eの内側に、着脱可能に設けられる。情報処理装置20は、ディスプレイ24を備えている。情報処理装置20は、蓋11eが閉じられたときに、ディスプレイ24が筐体11aの内側を向くように蓋11eに取り付けられる。情報処理装置20は、HMD10の使用時に装着具11に取り付けられる。情報処理装置20は、HMD10を使用しないときには、装着具11から取り外される。
図示の実施形態において、情報処理装置20は、スマートフォンである。情報処理装置20は、スマートフォン以外に、携帯電話機、タブレット端末、パーソナルコンピュータ、電子書籍リーダー、ウェアラブルコンピュータ、ゲーム用コンソール、及びこれら以外の各種情報処理装置であってもよい。HMD10から取り外された情報処理装置20は、後述のように、第1モードにおいてプレイヤ5により操作される。HMD10から取り外された情報処理装置20は、ゲーム以外にも、その本来の目的に応じて通話やインターネットアクセスのために利用される。
情報処理装置20は、上記のように、ディスプレイ24を備えている。図示の実施形態においては、情報処理装置20が装着具11に取り付けられたときに、ディスプレイ24がHMD10における画像表示のための装置として機能する。よって、HMD10を用いてゲームをプレイする場合には、ディスプレイ24に当該ゲームの仮想空間、仮想キャラクタ、及びこれら以外のゲームに関連する画像が表示される。
装着具11の形状は、図示されたゴーグル型に限られない。装着具11は、装着されたプレイヤの頭部の動きに追従して動き、装着されたときにディスプレイ24を装着者の眼前に配置できる任意の形状の構造体を含み得る。装着具11は、例えば眼鏡を模した形状、帽子を模した形状、又はヘルメットを模した形状であってもよい。プレイヤの没入感を向上させるために、HMD10は、装着具11がプレイヤの頭部に装着されたときに、ディスプレイ24が当該プレイヤの両目を覆うように構成されてもよい。
HMD10は、使用時において、図3に示されているように、装着具11を介してプレイヤ5の頭部に取り付けられる。プレイヤ5の頭部に装着されている装着具11には、情報処理装置20が取り付けられている。
再び図1を参照して、情報処理装置20についてさらに説明する。図示のように、一実施形態において、情報処理装置20は、コンピュータプロセッサ21、メモリ22、通信I/F23、ディスプレイ24、センサユニット25、集音装置26、及びストレージ27を備えている。
コンピュータプロセッサ21は、ストレージ27又はそれ以外のストレージからオペレーティングシステムやゲームロジックを実現する様々なプログラムをメモリ22にロードし、ロードしたプログラムに含まれる命令を実行する演算装置である。コンピュータプロセッサ21は、例えば、CPU、MPU、DSP、GPU、これら以外の各種演算装置、又はこれらの組み合わせである。プロセッサ21は、ASIC、PLD、FPGA、MCU等の集積回路により実現されてもよい。図1においては、コンピュータプロセッサ21が単一の構成要素として図示されているが、コンピュータプロセッサ21は複数の物理的に別体のコンピュータプロセッサの集合であってもよい。本明細書において、コンピュータプロセッサ21によって実行されるとして説明されるプログラム又は当該プログラムに含まれる命令は、単一のコンピュータプロセッサで実行されてもよいし、複数のコンピュータプロセッサにより分散して実行されてもよい。また、コンピュータプロセッサ21によって実行されるプログラム又は当該プログラムに含まれる命令は、複数の仮想コンピュータプロセッサにより実行されてもよい。
メモリ22は、コンピュータプロセッサ21が実行する命令及びそれ以外の各種データを格納するために用いられる。一実施形態によるゲーム処理プログラムの少なくとも一部は、ゲームの進行に応じて、随時メモリ22にロードされる。メモリ22は、例えば、コンピュータプロセッサ21が高速にアクセス可能な主記憶装置(メインメモリ)である。メモリ22は、例えば、DRAMやSRAM等のRAMによって構成される。
通信I/F23は、ハードウェア、ファームウェア、又はTCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装される。情報処理装置20は、通信I/F23を介して、他の装置とデータを送受信することができる。
ディスプレイ24は、表示パネル24aと、タッチパネル24bと、を有する。例えば、タッチパネル24bは、表示パネル24aの上面又は下面に積層されている。表示パネル24aは、液晶パネル、有機ELパネル、無機ELパネル、又はこれら以外の画像を表示可能な任意の表示パネルである。タッチパネル24bは、プレイヤのタッチ操作(接触操作)を検出することができるように構成されている。タッチパネル24bは、プレイヤのタップ、ダブルタップ、ドラッグ等の各種タッチ操作を検出することができる。タッチパネル24bは、静電容量式の近接センサを備え、プレイヤの非接触操作を検出可能に構成されてもよい。
センサユニット25は、一又は複数のセンサを備える。センサユニット25は、例えば、ジャイロセンサ、加速度センサ、および地磁気センサのうち少なくとも1つのセンサを含む。センサユニット25は、プレイヤの眼球の動きを直接的に検出するアイトラッキングセンサを備えてもよい。アイトラッキングセンサは、例えば、虹彩内に近赤外光を入射しその反射光を検出する視線検出センサである。後述するように、センサユニット25により検出された検出情報に基づいて、HMD10を装着したプレイヤ5の頭部の位置及び向きが特定される。センサユニット25を構成する各種センサの少なくとも一部は、装着具11及び/又は装着具11以外の情報処理装置20とは異なる部材に設けられてもよい。
集音装置26は、音声を集音することができるように構成されている。集音装置26は、例えば、マイクロフォンである。集音装置26により集音された音声情報に基づいて、プレイヤ5の音声が検出される。
ストレージ27は、コンピュータプロセッサ21によりアクセスされる外部記憶装置である。ストレージ27は、例えば、磁気ディスク、光ディスク、半導体メモリ、又はデータを記憶可能な前記以外の各種記憶装置である。ストレージ27には、ゲーム処理プログラム等の様々なプログラムが記憶される。また、ストレージ27には、ゲームにおいて用いられる各種データも記憶される。ストレージ27に記憶され得るプログラム及び各種データの少なくとも一部は、情報処理装置20とは物理的に別体のストレージに格納されてもよい。
図示の実施形態において、ストレージ27には、画像データ28a、チャットデータ28b、シナリオデータ28c、パラメータデータ28d、中断条件データ28e、ゲーム進行データ28f、及び前記以外のゲームの進行のために必要な様々なデータが記憶される。
画像データ28aには、ゲームの行われる仮想空間の背景を描画するためのデータ、仮想キャラクタを描画するためのデータ、及びゲームで用いられる仮想キャラクタ以外のオブジェクトを描画するためのデータが含まれる。画像データ28aには、仮想空間内におけるオブジェクトの位置情報を含んでもよい。
チャットデータ28bには、仮想キャラクタのアイコンを描画するためのデータ、プレイヤ5のアイコンを描画するためのデータ、仮想キャラクタの複数のメッセージを特定するためのデータ、当該仮想キャラクタの複数のメッセージの各々に対する応答メッセージの選択肢を示すデータ、及びこれら以外のチャットモードで用いられるデータが含まれる。仮想キャラクタの複数のメッセージは、各メッセージに対応するノードを有し、当該ノード同士がアークで接続されたツリー構造で定義されてもよい。このツリー構造では、例えば、最上位のルートノードである開始メッセージから複数のアークが伸びており、各アークが下位ノードに接続される。この下位ノードからもアークが延び、当該アークがさらに下位のノードに接続される。下位ノードの各々は、開始メッセージよりも後に表示され得る仮想キャラクタのメッセージの候補に対応する。また、チャットデータ28bには、チャットモードからVRモードへの移行を開始する条件であるモード移行条件が含まれてもよい。モード移行条件には、例えば、ゲームがチャットモードで開始されてからの経過時間が所定時間以上であること、ツリー構造のメッセージにおいて末端のノードまでチャットが進行したこと、及びこれら以外の条件が含まれる。チャットデータ28bには、移行オブジェクトの選択が完了しなかった後に再開されたチャットモードで表示されるメッセージを示すデータが含まれてもよい。
シナリオデータ28cには、ゲームの第2モード(例えば、VRモード)においてプレイヤ5によって体験されるシナリオを定義するデータが含まれる。ゲームにおいてプレイヤ5によって体験されるシナリオが複数ある場合、シナリオデータ28cは、複数のシナリオの各々についてシナリオデータを定義してもよい。
図4を参照して、一実施形態におけるゲーム処理システムにおいて用いられるシナリオデータについて説明する。図4は、ゲーム処理システム1において用いられるシナリオデータ28cを模式的に示す。シナリオデータ28cは、VRモードにおいて実行されるシナリオを規定するためのデータセットである。図示の実施形態において、シナリオデータ28cは、第1シナリオ~第5シナリオにそれぞれ対応する第1シナリオデータ28c1~第5シナリオデータ28c5を有する。VRモードにおけるシナリオは6つ以上であってもよく4つ以下であってもよい。以下では、第1シナリオに対応する第1シナリオデータ28c1のデータ構造について説明する。以下の第1シナリオデータ28c1に関する説明は、第2シナリオデータ28c2~第5シナリオデータ28c5にも当てはまる。
図示の実施形態において、第1シナリオデータ28c1は、開始シーンデータA1と、基本シーンデータB1~B3と、追加シーンデータC1~C3と、終了シーンデータD1~D2と、を含んでいる。一実施形態において、開始シーンデータA1、基本シーンデータB1~B3、追加シーンデータC1~C3、及び終了シーンデータD1~D2に含まれるデータの各々は、各シーンにおける仮想キャラクタのアクションに関するデータ、各シーンで用いられる動画像に関するデータ、各シーンにおいて仮想キャラクタに対してプレイヤが取ることができるアクションに関するデータ、及びこれら以外の各シーンの実行に必要なデータを含み得る。
図示の実施形態において、開始シーンデータA1は、第1シナリオの開始後に実行される開始シーンにおける仮想キャラクタのアクションに関するデータ、開始シーンで用いる動画像に関するデータ、開始シーンにおいて仮想キャラクタに対してプレイヤが取ることができるアクションに関するデータ、及びこれら以外の開始シーンの実行に必要なデータを含み得る。
基本シーンデータB1~B3は、開始シーンの後に行われる基本シーンにおける仮想キャラクタのアクションに関するデータ、開始シーンで用いる動画像に関するデータ、開始シーンにおいて仮想キャラクタに対してプレイヤが取ることができるアクションに関するデータ、及びこれら以外の開始シーンの実行に必要なデータを含み得る。基本シーンデータB1~B3の各々には、追加シーンへの移行可否を判定するための追加シーン移行条件を示す情報が含まれてもよい。追加シーン移行条件は、基本シーンごとに定められ得る。追加シーン移行条件は、例えば、所定のオブジェクトを所定時間以上注視すること、所定の方向を注視しないこと、及び所定のアクションを取ることである。これら以外にも追加シーン移行条件は、シナリオのストーリー、仮想空間に登場するオブジェクトの種類、及びこれら以外の要素に応じて適宜定められ得る。
追加シーンデータC1~C3は、追加シーンにおける仮想キャラクタのアクションに関するデータ、開始シーンで用いる動画像に関するデータ、開始シーンにおいて仮想キャラクタに対してプレイヤが取ることができるアクションに関するデータ、及びこれら以外の開始シーンの実行に必要なデータを含み得る。追加シーンは、基本シーンの実行中又は実行後に追加シーン移行条件が成立したか否かが判定され、その判定結果に応じて実行される。
終了シーンデータD1~D2は、第2モードの終了前に実行される終了シーンの実行に必要なデータを含み得る。終了シーンデータD1~D2は、終了シーンにおける仮想キャラクタのアクションに関するデータ、開始シーンで用いる動画像に関するデータ、開始シーンにおいて仮想キャラクタに対してプレイヤが取ることができるアクションに関するデータ、及びこれら以外の開始シーンの実行に必要なデータを含み得る。
パラメータデータ28dには、ゲーム処理システム1において実現されるゲームに関するゲームパラメータが含まれる。このゲームパラメータは、プレイヤキャラクタに関するパラメータであってもよい。このプレイヤキャラクタに関するパラメータには、ノンプレイヤーキャラクタである仮想キャラクタのユーザキャラクタに対する好感度を表すパラメータが含まれてもよい。ゲームパラメータは、ゲームの進行に応じて随時更新される。プレイヤキャラクタに関するパラメータは、仮想キャラクタのユーザキャラクタに対する好感度を表すパラメータには限られない。プレイヤキャラクタに関するパラメータは、ゲームの種類、性質、世界観又はこれら以外の要素に応じて適宜定められる。
中断条件データ28eは、VRモードで実行されているゲーム又はそのゲームにおいて実行されているアクションを中断する条件である中断条件を定めるデータである。中断条件は、例えば、仮想空間内に設定された禁止領域が注視されたこと、プレイヤ5が仮想キャラクタに対して同じアクションを所定回数以上繰り返したこと、プレイヤ5が仮想キャラクタの所定の部位に対するアクションを所定回数以上行ったこと、プレイヤが禁止アクションを行ったこと、パラメータデータ28dに含まれる所定のパラメータが所定の閾値以上であること、又は、当該閾値以下であること、及びこれら以外のVRモードでのゲームの実行を中断するために定められる条件を含む。中断条件データ28eは、上記の禁止領域を示す座標に関するデータ及び禁止アクションを特定するためのデータを含んでもよい。プレイヤ5が同じアクションを行うたびにポイントを積算し、積算ポイントが所定ポイント以上となることを中断条件としてもよい。また、プレイヤ5に所定の初期ポイントを割り当てておき、プレイヤ5が同じアクションを行うたびに初期ポイントから所定のポイントを減じてプレイヤ5の保持ポイントを算出し、当該保持ポイントが所定の値以下となることを中断条件としてもよい。積算ポイント及び保持ポイントは、ゲームの途中でリセットされてもよい。
ゲーム進行データ28fには、ゲームの進行の管理に用いられるデータが含まれる。ゲーム進行データ28fは、ゲームの進行に応じて更新されてもよい。ゲーム進行データ28fには、例えば、ゲームにおいてプレイヤが獲得したポイントに関するデータ、プレイヤ5が仮想キャラクタに対して行ったアクションを示すデータ、及びこれら以外のゲームの進行に応じて変化しえる各種データが含まれ得る。プレイヤ5が仮想キャラクタに対して行ったアクションを示すデータには、当該アクションが行われた仮想キャラクタの部位(例えば、頭部、肩、腕、又はこれら以外の部位)を示すデータが含まれてもよい。
図1に示されている情報処理装置20の構成要素及び機能は例示である。本発明に適用可能な情報処理装置20は、図示されていない様々な構成要素を備え得る。例えば、情報処理装置20は、ゲームの効果音や仮想キャラクタの音声を出力するスピーカを備えてもよい。
続いて、HMD10の機能について説明する。図示の実施形態においては、情報処理装置20のコンピュータプロセッサ21においてコンピュータ読み取り可能な命令を実行することにより、HMD10の各種機能が実現される。コンピュータプロセッサ21において実行される命令には、一実施形態によるゲーム処理プログラムに含まれる命令が含まれる。
コンピュータプロセッサ21によって一実施形態によるゲーム処理プログラムが実行されることにより、ゲーム処理システム1において第1モード及び当該第1モードとは異なる第2モードを有するゲームが実現される。ゲーム処理システム1において実現されるゲームは、第1モード及び第2モード以外のモードを有していてもよい。
ゲーム処理システム1において実現されるゲームの第1モードでは、HMD10がプレイヤ5に装着されていないときに、すなわち、情報処理装置20が装着具11から取り外されているときに、情報処理装置20により検出された第1検出情報に応じてゲームに関する処理が行われる。この第1検出情報には、情報処理装置20のタッチパネル24bにより検出されるプレイヤ5のタッチ操作に関する情報、集音装置26により検出されるプレイヤの音声に関する情報、及びHMD10がプレイヤ5に装着されていない場合に情報処理装置20において検出可能な前記以外の検出情報を含み得る。プレイヤ5は、第1モードにおいては、装着具11から取り外された情報処理装置20を用いてゲームに関する操作を行うことができる。第1モードにおいては、HMD10がプレイヤ5に装着されていないときにゲームを進行させることが想定されているため、ディスプレイ24には、立体視画像以外の画像が表示されてもよい。
ゲーム処理システム1において実現されるゲームの第2モードでは、プレイヤ5の頭部に装着されたHMD10によって検出される第2検出情報を用いてゲームが進行される。この第2検出情報は、例えば、センサユニット25によって検出される検出情報である。この第2検出情報に基づいて、プレイヤ5の頭部の向きを特定するためのヘッドトラッキング情報が算出される。ヘッドトラッキング情報は、プレイヤ5の頭部の向きに加えて、その位置を示す情報であってもよい。第2モードにおけるゲームの進行のための処理は、例えば、第2検出情報に基づいて算出されたヘッドトラッキング情報に基づいて実行される。第2モードにおけるゲームの進行のための処理は、ヘッドトラッキング情報に加えて、当該ヘッドトラッキング情報以外の情報も用いて実行されてもよい。プレイヤ5は、第2モードでゲームをプレイする準備として、情報処理装置20を装着具11に取付け、この情報処理装置20が取り付けられた装着具11を頭部に装着する。このように、第2モードにおいては、HMD10がプレイヤ5に装着されているときにゲームを進行させることが想定されているため、一実施形態において、第2モードでは、プレイヤ5によって立体視される立体視画像がディスプレイ24に表示される。立体視画像は、例えば、視差バリア方式によって、ディスプレイ24に表示される。視差バリア方式においては、左目用画像及び右目用画像がディスプレイ24に表示される。このように、立体視画像は、ディスプレイに表示されることによって、左右の目の視差を利用して立体視されるように構成された左目用画像及び右目用画像を含む画像のセットである。
第1モードは、例えば、チャットモードである。チャットモードは第1モードの例示である。チャットモードにおいては、プレイヤが仮想キャラクタとテキストメッセージを介してチャットする機能が実現される。プレイヤは、第1モードにおいては、仮想キャラクタとチャットを行うことにより、当該仮想キャラクタとのインタラクションを体験することができる。チャットモードにおける処理の具体的な内容は後述される。インタラクションとは、広義には、プレイヤが実行したアクションに対して仮想キャラクタがリアクションすることを意味する。仮想キャラクタとのインタラクションには、仮想キャラクタとの会話などによるコミュニケーションとしてなされるインタラクションが含まれる。本明細書においては、仮想キャラクタとのコミュニケーションとして行われるインタラクションをコミュニケーティブインタラクションと呼ぶことがある。仮想キャラクタとのインタラクションには、コミュニケーティブインタラクションの他に、仮想キャラクタとの対戦、仮想キャラクタと協力してゲームをプレイする協力プレイ、及びこれら以外の仮想キャラクタとの相互作用が含まれ得る。本明細書においては、仮想キャラクタとの対戦として行われるインタラクションを対戦インタラクションと呼ぶことがある。本明細書においては、仮想キャラクタとの協力プレイとして行われるインタラクションを協力インタラクションと呼ぶことがある。
第2モードは、例えば、VRモードである。VRモードにおいては、情報処理装置20のディスプレイに表示される仮想空間に登場するノンプレイヤーキャラクターである仮想キャラクタと様々なインタラクションを行うための機能が実現される。VRモードにおける処理の具体的な内容は後述される。VRモードは第2モードの例示であり、第2モードには、ヘッドトラッキング情報を用いてゲーム進行のための処理が行われる任意のゲームモードが含まれ得る。
一実施形態において、ゲーム処理システム1で実現される第1モード及び第2モードを有するゲームは、仮想キャクタとコミュニケーティブインタラクション以外のインタラクションを行うゲームであってもよい。ゲーム処理システム1で実現されるゲームでは、コミュニケーティブインタラクションが行われなくともよい。一実施形態におけるゲームでは、第1モードでは2次元空間でプレイされ、第2モードでは3次元空間でプレイされる。一実施形態におけるゲームでは、第1モードでは3次元空間でプレイされ、第2モードでは当該第1モードの3次元空間とは異なる表示態様で表示される(又は当該第1モードの3次元空間とは異なる態様で構成される)3次元空間でプレイされる。一実施形態において、ゲーム処理システム1で実現されるゲームは、第1モード及び第2モードで共通のゲーム媒体を使用するものであってもよい。このゲーム媒体に関連付けられたパラメータは、第1モードと第2モードとの間で引き継がれてもよい。例えば、第1モードでのプレイ中に特定のゲーム媒体のパラメータが変更され、その後に第2モードへ移行した場合には、変更後のパラメータが設定された当該特定のゲーム媒体が第2モードで用いられる。一実施形態において、特定のゲーム媒体のパラメータは、第1モードから第2モードへの移行時及び第2モードから第1モードへの移行時の少なくとも一方において、変更されてもよい。このゲーム媒体のパラメータの変更は、プレイヤ5にとってゲームの進行上有利となる変更であってもよいし、不利となる変更であってもよい。一実施形態において、第1モードでのプレイ結果が第2モードでのゲームに反映されてもよいし、第2モードでのプレイ結果が第1モードでのゲームに反映されてもよい。例えば、第1モードで獲得されたプレイヤ5の経験値が第2モードにおいて引き継がれてもよい。
上記のとおり、ゲーム処理システム1において実現されるゲームの第1モードと第2モードとは互いから識別されるモードである。つまり、第1モードは第2モードと異なるモードである。一実施形態においては、ゲーム処理システム1において実現されるゲームが第1モードでプレイされる場合には、HMD10がプレイヤ5の頭部に装着されないのに対し、当該ゲームが第2モードでプレイされる場合には、HMD10がプレイヤ5の頭部の頭部に装着される。この場合、第1モードにおいては、プレイヤ5の頭部に装着されていない情報処理装置20により検出された第1検出情報に応じてゲームの処理が行われ、第2モードにおいては、プレイヤ5の頭部に装着されたHMD10により検出された第2検出情報に応じてゲームの処理が行われる。
一実施形態において、第2モードでは、立体視画像がディスプレイ24に表示されるのに対し、第1モードでは上述したように立体視画像以外の画像がディスプレイ24に表示される。第2モードでは、ゲーム用の画像のうち少なくとも仮想キャラクタの画像が立体視画像として表示され、第1モードでは、仮想キャラクタの画像が立体視画像以外の画像として表示される。
一実施形態において、第1モードにおいては第2検出情報に基づいて算出されるヘッドトラッキング情報を用いずにゲームを進行させる処理がなされるのに対して、第2モードにおいては当該ヘッドトラッキング情報に基づいてゲームを進行させる処理がなされる。
一実施形態において、第1モードにおいてはタッチパネル24bにより検出されるタッチ操作に応じてゲームを進行させる処理がなされるのに対して、第2モードにおいてはタッチパネル24bのタッチ操作に応じた処理はなされない。
一実施形態において、ゲーム処理システム1において実現されるゲームにおいて仮想キャラクタとのインタラクションが提供される場合には、第1モードにおいては、プレイヤ5の頭部に装着されていない情報処理装置20により検出された第1検出情報に応じた当該仮想キャラクタとのインタラクションが提供され、第2モードにおいては、プレイヤ5の頭部に装着されたHMD10により検出された第2検出情報に応じた当該仮想キャラクタとのインタラクションが提供される。
ゲームを開始した後には、上記のように区別される第1モードと第2モードとの間での移行が可能となる。図5を参照して、ゲーム処理システム1により処理されるゲームのモード移行の概略を説明する。図示のように、ステップS1においてゲームが開始されると、ステップS2において第1モードであるチャットモードS2が開始される。このチャットモードにおいて、第2モードであるVRモードへ移行するための移行処理が開始されると、ステップS3に移行し、第2モードへの移行処理が行われる。移行処理が完了すると、ステップS4において第2モードであるVRモードが開始される。VRモードが終了又は中断されると、チャットモードへの復帰処理が行われる。
次に、コンピュータプロセッサ21により実現される機能についてより具体的に説明する。コンピュータプロセッサ21は、ゲーム処理プログラムに含まれるコンピュータ読み取り可能な命令を実行することにより、チャットモード実行部21a、移行処理部21b、VRモード実行部21c、及びパラメータ管理部21dとして機能する。コンピュータプロセッサ21により実現される機能の少なくとも一部は、ゲームシステム1のコンピュータプロセッサ21以外のコンピュータプロセッサにより実現されてもよい。コンピュータプロセッサ21により実現される機能の少なくとも一部は、例えば、サーバ50に搭載されているコンピュータプロセッサにより実現されてもよい。
チャットモード実行部21aは、一実施形態によるゲーム処理プログラムを実行することにより、第1モードであるチャットモードでゲームを提供するための処理を行う。チャットモード実行部21aは、プレイヤ5と(又はプレイヤ5のキャラクタと)ノンプレイヤーキャラクタである仮想キャラクタとの間でチャットを行うための機能を実現する。チャットモード実行部21aは、チャットモードへのログイン後に、仮想キャラクタからのメッセージ及びプレイヤ5により入力又は選択されたメッセージをディスプレイ24に表示し、当該仮想キャラクタとプレイヤ5との間でチャットを行わせることができる。チャットモード実行部21aは、仮想キャラクタのメッセージに続けて、当該メッセージ対するプレイヤ5の応答に関する複数の選択肢をディスプレイ24に表示してもよい。当該複数の選択肢からプレイヤ5の操作に応じて一つの選択肢が選択され、この選択された選択肢に対応するメッセージが、ディスプレイ24にプレイヤ5のメッセージとして表示される。プレイヤ5は、タッチパネル24bへのタッチ操作により、表示された選択肢のうち所望のものを選択することができる。仮想キャラクタのメッセージ及び当該メッセージに対するプレイヤの選択肢は、ゲーム処理プログラムに従って、チャットデータ28bを参照して特定することができる。仮想キャラクタのメッセージは、当該仮想キャラクタの画像とともに表示されてもよく、プレイヤ5のメッセージには、当該プレイヤ5の画像とともに表示されてもよい。仮想キャラクタのメッセージは、第2モードであるVRモードへの移行を促すメッセージ、当該VRモードにおける設定をプレイヤ5に選択させるためのメッセージ、及びこれら以外の当該VRモードに関連づけられたメッセージが含まれていてもよい。
チャットモードにおいては、チャットの進行に応じて、第2モードであるVRモードへの移行を開始するための移行開始オブジェクトが表示される。移行開始オブジェクトの表示は、ゲーム処理プログラムに従って、モード移行条件が成立したときに行われる。チャットモード実行部21aは、タッチパネル24b又はそれ以外のユーザインタフェースからの検出信号に基づいて移行開始オブジェクトが選択されたことを検知することができる。移行開始オブジェクトが選択されたことが検知されると、第2モードであるVRモードへの移行処理が開始される。
移行処理部21bは、第1モードから第2モードへ移行するための移行処理を行う。この移行処理には、情報処理装置20を装着具11へ装着するように促すガイダンスをディスプレイ24に表示すること、及び、プレイヤの注視によって選択可能な移行オブジェクトをディスプレイ24に表示させること、を含んでもよい。この移行オブジェクトを表示させた後、移行処理部21bは、センサユニット25又はそれ以外のセンサの検出信号を受信し、この検出信号に基づいて移行オブジェクトが注視によって選択されたか否かを判定することができる。この判定のために、移行処理部21bは、センサユニット25の検出信号に基づいてHMD10の位置及び向きを算出し、この算出されたHMD10の位置及び向きに基づいて、プレイヤ5の注視位置を特定する。注視位置の特定は、様々な公知の方法により行われ得る。例えば、アイトラッキングセンサの検出信号に基づいて注視位置を特定してもよい。移行処理部21bは、例えば、注視位置が移行開始オブジェクト上にある時間(注視時間)を計測し、この注視時間が所定時間に達したときに、移行開始オブジェクトの選択が完了したと判断する。移行処理部21bは、移行オブジェクトの選択が完了したと判断すると第2モードであるVRモードを開始させる。
VRモード実行部21cは、ゲーム処理プログラムに従って、仮想空間に仮想キャラクタの画像を表示し、この仮想キャラクタとプレイヤ5との間でのインタラクションを実現する。VRモード実行部21cは、プロセッサ21によって一実施形態におけるゲーム処理プログラムが実行されることにより、シーン選択部21c1、検出部21c2、アクション特定部21c3、画像生成部21c4、及び中断判定部21c5として機能する。
シーン選択部21c1は、シナリオデータ28c及び必要に応じてこれ以外の情報に基づいて、実行すべきゲームシーンを選択する。シーン選択部21c1は、VRモードへのログイン後に、開始シーンを選択する。シーン選択部21c1は、開始シーンが実行された後に、HMD10による検出情報、ストレージ27に記憶されている情報(例えば、パラメータデータ28d)、、及び必要に応じてこれら以外の情報に基づいて、次に実行すべきシゲームーンを選択する。
検出部21c2は、HMD10のセンサユニット25の検出信号に基づいてHMD10の向き及び位置の少なくとも一方を特定するためのヘッドトラッキング情報を算出する。ヘッドトラッキング情報は、HMDのHMD10の向き及び位置の少なくとも一方を示す情報である。ヘッドトラッキング情報は、センサユニット25による検出情報に基づいて特定される。具体的にはヘッドトラッキング情報は、頭部に装着されているHMD10の位置及び向きが、三次元直交座標系での位置および各軸回りの角度として算出される。この三次元直交座標系は、例えば、前後方向に沿ったロール軸、上下方向に沿ったヨー軸、左右方向に沿ったピッチ軸から成る直交座標系である。検出部21c2は、特定されたHMD10の位置及び向きの少なくとも一方に応じた仮想空間を構成し、この仮想空間を表示するための画像情報をディスプレイ24に出力する。検出部21c2は、例えば、HMD10の位置及び向きの少なくとも一方に基づいて注視方向又は注視位置を算出することができる。
アクション特定部21c3は、ヘッドトラッキング情報に基づいてプレイヤ5のHMD10を用いたアクションを特定する。また、アクション特定部21c3は、特定されたプレイヤ5のアクションに応じて仮想キャラクタの仮想空間内での行動(リアクション)を決定してもよい。HMD10を装着したプレイヤ5によるアクションには、うなずく、首を横に振る、又はこれら以外の頭部の動きを伴う動作、並びに視線の動きが含まれる。仮想キャラクタにリアクションを行わせるためのプレイヤ5のアクションには、視線を動かすことが含まれてもよい。このような視線の動きは、センサユニット25に含まれるアイトラッキングセンサによって検出され得る。
画像生成部21c4は、仮想空間全体のうち検出部21c2により特定された注視位置又は注視方向を中心として画角等により定められる描画領域の画像情報を生成する。このようにして生成された画像情報に基づいて、ディスプレイ24に仮想空間の描画領域の画像が表示される。画像情報の生成には、例えば、ストレージ27に記憶された画像データ28a、シナリオデータ28c、パラメータデータ28d、ゲーム進行データ28f、及びこれら以外のデータが用いられ得る。描画領域に仮想キャラクタが存在する場合には、画像生成部21c4は、アクション特定部21c3により特定された動作を行う仮想キャラクタを含む仮想空間の画像情報を生成し、このようにして生成された画像情報は、立体視画像としてディスプレイ24に出力される。これにより、ディスプレイ24には、プレイヤ5のアクションに応じて決定された行動を行う仮想キャラクタの画像を含む仮想空間の画像が表示される。画像生成部21c4は、この仮想キャラクタの行動及び仮想空間の描画領域に対応する音声情報を生成してもよい。当該音声情報はHMD10が有するスピーカに出力される。
中断判定部21c5は、中断条件データ28eに基づき、中断条件が成立したか否かを判定する。例えば、中断条件が仮想空間内に設定された禁止領域が注視されたことである場合には、中断判定部21c5は、HMD10により検出された検出情報に基づいて仮想空間におけるプレイヤ5の注視位置を特定し、この注視位置が禁止領域内にあるか否かを判定する。プレイヤ5の注視位置が当該禁止領域内にあれば中断条件が成立したと判断される。
中断条件が、プレイヤ5が仮想キャラクタに対して同じアクションを3回以上繰り返したことである場合には、中断判定部21c5は、ゲーム進行データ28fを参照して、直前2回のプレイヤ5の仮想キャラクタに対するアクションを特定し、この直前2回のアクションが互いに同じアクションであるか否かを判定する。この直前2回のアクションが同じでアクションである場合には、アクション特定部21c3において特定された最新のアクションが当該直前2回のアクションと同じであるか否かを判定する。この最新のアクションが当該直前2回のアクションと同じであれば中断条件が成立したと判断される。
中断条件が、プレイヤ5が仮想キャラクタの頭部に対するアクションを3回以上行ったことである場合には、中断判定部21c5は、ゲーム進行データ28fを参照して、最新のアクションにより頭部へのアクションが3回目に達したか否かを判定する。この最新のアクションにより頭部へのアクションが3回目となる場合には中断条件が成立したと判断される。
中断条件がプレイヤにより禁止アクションが行われたことである場合には、中断判定部21c5は、最新のアクションが禁止アクションに該当するか否かを判定する。禁止アクションには、所定の上限値以上の加速度で頭部を動かすことが含まれてもよい。禁止アクションが所定値以上の加速度で頭部を動かすことである場合には、中断判定部21c5は、センサユニット25によって検出された加速度が当該上限値以上であるか否かを判定し、当該加速度が上限値以上である場合には中断条件が成立したと判断し、当該加速度が上限値未満である場合には中断条件が成立しなかったと判断する。
中断条件がパラメータデータ28dに含まれるパラメータが所定の閾値以上又は所定の閾値以下であることである場合には、中断判定部21c5は、パラメータデータ28dを参照して、中断条件が成立したか否かを判定する。このパラメータが仮想キャラクタのユーザキャラクタに対する好感度を表すパラメータであり、中断条件が当該好感度を示すパラメータが所定の閾値以下であることである場合には、中断判定部21c5は、ストレージ27から好感度を示すパラメータを読み出し、読み出した好感度を示すパラメータが当該所定の閾値以下であるか否かを判定する。好感度を示すパラメータが当該所定の閾値以下である場合には中断条件が成立したと判断され、当該所定の閾値より大きい場合には中断条件が成立しなかったと判断される。
中断判定部21c5は、ゲームが実行されている間の任意の時点で、中断条件が成立したか否かを判定することができる。一実施形態においては、中断判定部21c5は、プレイヤ5が仮想キャラクタに対するアクションを行ったことに応じて、中断条件が成立したか否かを判定することができる。
以上のように、VRモード実行部21cにより、ディスプレイ24には、仮想空間内で仮想キャラクタが動く画像が表示され、スピーカからは仮想キャラクタの動きに対応した音声が出力される。例えば、仮想キャラクタがプレイヤ5に話しかける場合には、仮想キャラクタの頭部及び口が動く画像がディスプレイ24に表示され、仮想キャラクタの発言に対応する音声がスピーカから出力される。一実施形態において、VRモード及びチャットモードの各々においてプレイヤ5とインタラクトする仮想キャラクタは、同じ仮想キャラクタである。例えば、VRモードに登場する仮想キャラクタとチャットモードに登場するキャラクタと同じ名前を有し、同一のキャラクタと認識できる程度の外観上の共通性を有する。ただし、VRモードにおいては仮想キャラクタの画像が立体視画像として表示されるのに対し、チャットモードにおいては仮想キャラクタの画像が立体視画像以外の画像として表示される点で、両モードにおける仮想キャラクタの画像は互いと相違している。しかし、このような表現形式の差異は、仮想キャラクタの同一性を妨げることはない。
パラメータ管理部21dは、ゲームの進行に応じて、パラメータデータ28dを更新する。パラメータ管理部21dは、ゲームが第1モードで提供されている場合には、当該第1モードにおけるゲームの進行に応じてパラメータデータ28dを更新し、ゲームが第2モードで提供されている場合には、当該第2モードにおけるゲームの進行に応じてパラメータデータ28dを更新する。
パラメータデータ28dに仮想キャラクタのユーザキャラクタに対する好感度を表すパラメータが含まれる場合には、パラメータ管理部21dは、第1モード及び第2モードにおけるプレイヤ5のアクションに応じて当該パラメータを増減させてもよい。第1モードがチャットモードである場合には、当該チャットモードにおいてプレイヤ5に提供されるメッセージの選択肢ごとに好感度の変化量(例えば、増加量又は減少量)又は変化率(増加率又は減少率)が定められていてもよい。この場合、パラメータ管理部21dは、プレイヤ5によって選択された選択肢に応じて好感度の変化量又は変化率を特定し、この特定した好感度の変化量又は変化率に基づいてパラメータデータ28dを更新する。VRモードにおいては、プレイヤ5のアクションごとに好感度の変化量又は変化率が定められていてもよい。パラメータ管理部21dは、プレイヤ5のアクションに応じて好感度の変化量又は変化率を特定し、この特定した好感度の変化量又は変化率に基づいて、パラメータデータ28dを更新する。
第2モードがVRモードである場合には、当該VRモードにおいて、プレイヤ5のアクションについて禁止アクションが定められていてもよい。禁止アクションには、所定値以上の加速度で頭部を動かすこと、仮想空間内の禁止領域に視線を向けること、及び所定回数以上同じアクションを繰り返すことが含まれていてもよい。本明細書においては、プレイヤ5のアクションのうち、禁止アクション以外のアクションを正常アクションと呼ぶことがある。パラメータ管理部21dは、プレイヤ5によって禁止アクションが行われた場合には、好感度が減少するようにパラメータデータ28dを更新する。パラメータ管理部21dは、プレイヤ5によって正常アクションが取られた場合には、その正常アクションに応じて好感度が増加又は減少するようにパラメータデータ28dを更新する。
VRモードでゲームが処理されているときに、VRモードにおいて準備されている終了シーンを経ることなく、VRモードが異常終了することがある。例えば、HMD10の電源がなくなる、システムプログラムの機能によりゲーム処理プログラムが強制的に終了させられる、などの要因でVRモードは異常終了し得る。VRモードが異常終了された場合、パラメータ管理部21dは、好感度が減少するようにパラメータデータ28dを更新する。
VRモード実行部21cは、終了条件が満たされるとVRモードを終了するための終了処理を行う。終了条件は、例えば、VRモードの開始から所定時間(例えば、1分)経過したこと、終了対象操作が検知されたこと、VRモードで実行されているシナリオに含まれる最後のイベントが終了したこと、及びこれら以外の条件である。終了条件が満たされたときに行われる終了処理には、情報処理装置20を装着具11から取り外すよう促すガイダンスをディスプレイ24に表示すること、及び、第1モードであるチャットモードへのログイン画面を表示させることが含まれてもよい。
次に、図6及び図7a~図7dを参照して、チャットモードにおけるチャット処理について説明する。図6は、一実施形態におけるチャットモードでの処理の流れを示すフロー図であり、図7aから図7dは、チャットモードにおける表示画像の例を示す。チャットモードの開始時においては、HMD10はプレイヤ5の頭部に装着されておらず、また、情報処理装置20は装着具11から取り外されていることが想定されている。
ゲーム処理システム1において、上述したように、ゲームは、チャットモードで開始される。ステップS11では、チャットモードへログインするためのログイン画面が情報処理装置20のディスプレイ24に表示される。プレイヤ5によってログイン処理がなされると、当該チャット処理は、ステップS12に移行する。
ステップS12においては、プレイヤ5と仮想キャラクタとの間でメッセージが交換され、これにより両者の間でチャットが行われる。具体的には、チャットモードへのログイン後に、プレイヤ5と仮想キャラクタとの間で行われるチャットを表示するためのチャット表示画像が生成され、当該チャット表示画像がディスプレイ24に表示される。図7aは、ディスプレイ24に表示されるチャット表示画像の一例であるチャット表示画像70を示す。チャット表示画像70は、プレイヤ5に対応するアイコン73と、仮想キャラクタに対応するアイコン74と、プレイヤ5のメッセージ75aと、仮想キャラクタのメッセージ76a,76bと、を含むチャット表示領域71を含む。また、チャット表示画像70は、チャット表示領域71の上部に配されたメニュー領域72を含む。仮想キャラクタのメッセージ76a,76bは、ゲーム処理プログラムに従って、ストレージ72に記憶されているチャットデータ28b及びこれ以外のデータに基づいて特定される。例えば、仮想キャラクタのメッセージは、ツリー構造で定義されているチャットデータ28bを参照して、ルートノードにあるメッセージから順に表示される。ノードの分岐点においては、分岐条件に応じたノードが選択され、当該選択されたノードに対応するメッセージが表示される。
ステップS12においては、プレイヤ5によって選択された選択肢に応じて、プレイヤ5について設定されているパラメータが増減されてもよい。パラメータの増減量又は増減率は、上記のように、メッセージの選択肢ごとに定められているパラメータの変化量(例えば、増加量又は減少量)又は変化率(増加率又は減少率)に基づいて定められる。パラメータの変化量又は変化率が特定されると、この特定された好感度の変化量又は変化率に基づいて、パラメータデータ28dが更新される。
図7aのチャット表示画像70は、チャット表示領域71の下部に、プレイヤ5のメッセージの選択肢77を示す表示を含んでいる。プレイヤ5は、表示されている選択肢77のうちの一つを選択することができる。この選択は、例えば、ディスプレイ24において選択したい選択肢が表示されている領域を指で接触することで行われる。この選択がなされると、図7bに示すように、選択された選択肢に対応するメッセージ75bが、プレイヤ5のメッセージとしてチャット表示領域71に新たに表示される。
図7cに示すように、チャットの過程で、第2モードであるVRモードでの設定の選択を促すメッセージ76c,76dが仮想キャラクタのメッセージとして表示されてもよい。メッセージ76cは、VRモードにおけるシナリオの選択を促すメッセージであり、メッセージ76dは、VRモードで仮想キャラクタが使用するアイテム(例えば、仮想キャラクタがVRモードの仮想空間内で着用する服)の選択を促すメッセージである。つまり、第2モードにおける設定には、VRモードにおけるシナリオ、及び、VRモードで仮想キャラクタが使用するアイテムが含まれる。シナリオの選択を促すメッセージ76cが表示された後には、ディスプレイ24にシナリオの選択肢が表示される。例えば、第1シナリオ~第5シナリオが選択肢として表示される。プレイヤ5は、この選択肢の中から好みのシナリオを選択することができる。アイテムの選択を促すメッセージ76dが表示された後には、ディスプレイ24にアイテムの選択肢が表示される。プレイヤ5は、この選択肢の中から好みのアイテムを選択することができる。チャットの過程で、第2モードへの移行を促すメッセージが仮想キャラクタのメッセージとして表示されてもよい。
ステップS13では、第1モードから第2モードへのモード移行条件が成立したか否かが判定される。第1モードから第2モードへのモード移行条件として、例えば、チャットモード開始から所定時間(例えば、1分)が経過したことという条件が用いられる。チャットモード開始からの経過時間は、例えばシステムクロックを用いて計測される。モード移行条件が成立したと判断されるまで、ステップS12に戻ってチャット処理が継続される。他方、モード移行条件が成立したと判断されると、チャット処理は、ステップS14に移行する。
ステップS14においては、移行開始オブジェクト78がディスプレイ24に表示され、チャット処理は、ステップS15に進む。図7dに示されているように、移行開始オブジェクト78は、例えばチャット領域71内に、外縁が円形のオブジェクトとして表示される。ステップS15において、移行開始オブジェクト78の選択が確認されると、チャット処理は、ステップS16に進む。他方、移行開始オブジェクト78が表示されてから所定時間(例えば、10秒)経過しても移行開始オブジェクト78の選択が確認されない場合には、移行開始オブジェクトの選択がなされなかったと判定され、チャット処理が終了する。移行開始オブジェクトの選択がなされなかったと判定されたときに、ステップS12に戻り、チャットを再開するための処理が行われてもよい。移行開始オブジェクト78の選択がなされたか否かは、タッチパネル24bへの操作に応じて判断されてもよい。例えば、移行開始オブジェクト78の表示領域と重複する位置へのタッチ操作(例えば、タップ操作)がなされたことがタッチパネル24bによる検出信号から検出されたときに、当該移行開始オブジェクト78が選択されたと判断される。移行開始オブジェクト78の選択は、非接触操作によりなされてもよい。
ステップS16では、第2モードであるVRモードへの移行処理が開始される。移行処理が開始されると、チャット処理は終了する。
以上のチャット処理は、例えば、チャットモード実行部21aにより実行される。チャットモード実行部21aは、単独で又は他の機能と適宜協働して、上記のチャット処理を実行することができる。チャット処理の実行に際しては、ストレージ27に格納されているデータ以外にも、必要に応じて、他のストレージに格納されているデータ、各種センサによって検出された検出情報、またはこれら以外のデータが用いられ得る。
次に、第1モードであるチャットモードから第2モードであるVRモードへのモード移行処理について、図8及び図9a~図9bを参照して説明する。図8は、一実施形態におけるモード移行処理の流れを示すフロー図である。
移行処理が開始されると、ステップ31において、HMD10を装着するように促すガイダンスが、情報処理装置20のディスプレイ24に表示される。当該ガイダンスを含むガイダンス表示画像の例であるガイダンス表示画像80が図9aに示されている。ガイダンス表示画像80には、情報処理装置20を装着具11に取り付けることを促すガイダンス、HMD10を頭部に装着するように促すガイダンス、及びこれら以外のVRモードを開始するために必要な各種のガイダンスを含むことができる。図9aに示されているガイダンス表示画像80には、情報処理装置20を装着具11に取り付けることを促すガイダンス81が含まれている。このガイダンスには、情報処理装置20の装着具11に対する取付方法に関するインストラクションが含まれてもよい。上記ガイダンスの表示後に所定時間が経過すると、モード移行処理はステップS32へ進む。
ステップS32では、移行オブジェクトがディスプレイ24に表示される。移行オブジェクトを含む移行処理画像の例が図9bに示されている。図9bに示されている移行処理画像85には、移行オブジェクト86が含まれている。移行処理画像85は、立体視画像で表示されてもよい。一実施形態においては、モード移行処理の開始時又はモード移行処理開始後の所定のタイミングにおいて、ディスプレイ24へ表示される画像が、立体視画像以外の画像から、立体視画像に切り替えられる。例えば、チャットモードにおいて表示される画像は立体視画像以外の画像として表示され、移行処理開始以後に表示される画像は立体視画像として表示される。
次に、ステップS33においては、移行オブジェクト86の選択が完了したか否かが判定される。移行オブジェクト86は、例えば、プレイヤ5が所定時間継続して注視することにより選択される。したがって、移行オブジェクト86を選択するためには、プレイヤ5はHMD10を装着していることが前提となる。一実施形態においては、移行オブジェクト86の選択が完了したか否かは、HMD10による検出信号に基づいて算出される注視位置が移行オブジェクト86上に所定時間以上あるか否かによって判定される。注視位置は、上記のように、HMD10に備えられたセンサユニット25によって検出された情報に基づいて算出され得る。上記の判定は、注視位置が移行オブジェクト86上に存在する注視時間をシステムクロックを用いて計測し、この計測された注視時間が所定時間に達したか否かによって判定され得る。例えば、注視時間が所定時間に達した場合には移行オブジェクト86の選択が完了したと判定され、モード移行処理はステップS34に進む。他方、移行オブジェクト86が表示されてから所定時間が経過しても移行オブジェクト86の選択が完了したことが検知されない場合には、移行オブジェクト86の選択は完了しなかったと判定され、モード移行処理はステップS35に進む。
ステップS34では、第2モードであるVRモードが開始される。VRモードにおける具体的な処理については後述される。
ステップS35では、VRモードへの移行が選択されなかったため、チャットモードへ復帰するための処理が開始される。チャットモードへの復帰処理が完了すると、チャットモードが再開される。この再開されたチャットモードにおいては、VRモードへの移行がなされなかったことに関連する仮想キャラクタからのメッセージが表示されてもよい。
以上のモード移行処理は、例えば、移行処理部21bにより実行される。移行処理部21bは、単独で又は他の機能と適宜協働して、上記のモード移行処理を実行することができる。
次に、図10から図12を参照して、VRモードにおけるVR処理について説明する。図10は、一実施形態におけるVRモードでのVR処理の流れを示すフロー図であり、図11は、VRモードにおける表示画像の例を示し、図12は、VRモードで実行されているシーンにおける仮想キャラクタのアクションの流れを模式的に示す。上記のように、モード移行処理において移行オブジェクト86を選択するために、プレイヤ5はHMD10を装着している。VRモードの開始時においては、HMD10はプレイヤ5の頭部に装着されていることが想定されている。以下では、第1シナリオが選択されていることを前提にVR処理の説明を行う。VR処理においては、適宜、パラメータデータ28dが参照される。一実施形態において、VR処理の開始時におけるパラメータデータ28dに含まれる各パラメータの値は、チャット処理の終了時におけるパラメータデータ28dに含まれる各パラメータの値に等しい。つまり、VR処理においては、チャット処理において更新されたパラメータデータ28dが引き継がれる。
VRモードが開始されると、ステップS41において、開始シーンが実行される。具体的には、開始シーンに応じた仮想空間の画像情報が生成され、当該画像情報に対応する画像がディスプレイ24に出力される。開始シーンにおいては、仮想空間において仮想キャラクタが所定のアクションをおこなっても良い。
図11に、ディスプレイ24に表示された開始シーンのVR画像の例が示されている。図11に示されているVR画像90は、仮想キャラクタを示す仮想キャラクタ画像91、背景に相当するオブジェクトを示す画像92a~92c、及びこれら以外の各種オブジェクトを示す画像を含んでいる。VR画像90は、第1シナリオ用の仮想空間の所定の範囲に対応する画像である。VR画像90に対応する仮想空間の範囲は、HMD10の向きに基づいて仮想空間における注視位置を算出し、この算出された注視位置を中心として例えば画角により定められる範囲とすることができる。画像情報の生成には、画像データ28aが用いられる。VR画像90及びこれら以外のVRモードにおいて表示される画像は、立体視画像として表示される。
仮想キャラクタ画像91は、例えば開始シーンデータA1により特定されるアクションを仮想空間内で行うことができる。例えば、仮想キャラクタ画像91のアクションには、プレイヤ5に向かって(仮想空間内のプレイヤ5の位置に向かって)話しかける、仮想空間内を移動する、仮想空間内に配置されたオブジェクトを手に取る、及びこれら以外の仮想空間内における様々なアクションが含まれる。
開始シーンにおいて仮想キャラクタが行う一連のアクションについて、図12を参照して説明する。図12は、VRモードで実行されるシーンにおける仮想キャラクタのアクションの流れを模式的に示す図である。図12では、開始シーンにおけるアクションの流れが例示されている。図示のように、開始シーンにおいて、仮想キャラクタは、まずアクションA11に対応するアクションを行う。アクションA11は、仮想キャラクタが開始シーンにおいて行うことができるアクションに対応する。
アクションA11は、分岐可能なアクションとして規定されている。具体的には、アクションA11は、アクションA21、アクションA22、及びアクションA23に分岐している。例えば、アクションA11には、アクションA21へ移行するための第1移行条件、アクションA22へ移行するための第2移行条件、及びアクションA23へ移行するための第3移行条件が設定されており、第1移行条件が成立すると仮想キャラクタのアクションはアクションA21へ移行し、第2移行条件が成立すると仮想キャラクタのアクションはアクションA22へ移行し、第3移行条件が成立すると仮想キャラクタのアクションはアクションA23へ移行する。第1移行条件、第2移行条件、及び第3移行条件のうちの少なくとも一つは、仮想キャラクタのユーザキャラクタに対する好感度が所定の閾値以上であることであってもよい。
第1移行条件、第2移行条件、及び第3移行条件として様々な条件が設定され得る。例えば、第1移行条件、第2移行条件、及び第3移行条件は、アクションA11として規定されていたアクションが終了したこと、プレイヤ5が仮想キャラクタに対して所定のアクション(例えば、仮想キャラクタの所定部位の注視)を行ったこと、プレイヤ5が仮想キャラクタからの質問に回答すること、を含んでもよい。第1移行条件、第2移行条件、及び第3移行条件は、互いに異なっている。プレイヤ5は、うなずく動き、首を横に振る動き、又はこれら以外の頭部の動きによって、仮想キャラクタからの質問に回答することができる。具体的には、仮想キャラクタから質問がなされたときに、プレイヤ5によって頭部の動きによるアクションがなされると、HMD10のセンサユニット25によって当該頭部の動きが検出され、この検出された頭部の動きに応じたプレイヤ5の回答が特定される。例えば、うなずく動きが検出されたときにはプレイヤ5は肯定的な回答を行ったと判断され、首を横に振る動きが検出されたときにはプレイヤ5は否定的な回答を行ったと判断されてもよい。また、仮想キャラクタからの質問の後にプレイヤ5の頭部の動きが所定時間検出されなかった場合、プレイヤ5は仮想キャラクタからの質問に対して回答しなかったと判断されてもよい。プレイヤ5のアクションは、アクション特定部21c3の機能により特定されてもよい。
アクションA21は、さらにアクションA31及びアクションA32に分岐している。アクションA21において所定の移行条件が成立した場合に、当該成立した移行条件に応じてアクションA21からアクションA31又はアクションA32への移行が行われる。アクションA22の下流には、アクションA33のみが対応付けられている。つまり、アクションA22は分岐していない。この場合、アクションA22が終了すると、アクションA33が開始される。アクションA23の下流には、より下層のアクションは設定されていない。図12に示されているアクションの構造は一例であり、各シーンで実現したいストーリーに応じて、当該シーンに含まれるアクションの種類や数及びそれらのアクションの構造は適宜設定され得る。
アクションA11,A21~A23,A31~A33の各々は、仮想キャラクタがプレイヤ5に所定の話題について話しかけるアクションであってもよい。アクションA11,A21~A23,A31~A33における仮想キャラクタのアクションは、開始シーンデータA1に基づいて定められ得る。開始シーンデータA1には、アクションA11,A21~A23,A31~A33の各々における仮想キャラクタのアクションを規定するデータ、開始シーンにおいて仮想キャラクタに対してプレイヤが取ることができるアクションに関するデータが含まれている。例えば、アクションA11は、開始シーンデータA1のうち、アクションA11における仮想キャラクタのアクションを規定するデータ及びアクションA11において仮想キャラクタに対してプレイヤが取ることができるアクションに関するデータを含んでいる。アクションA11は、開始シーンデータA1のうち、アクションA11に関するデータに基づいて実行される。
開始シーンが、アクションA11→アクションA21→アクションA31の順で実行される場合には、仮想キャラクタは、アクションA11においてある話題について会話を行うためのアクションを行い、次にアクションA21において別の話題について会話を行うためのアクションを行い、次にアクションA31においてさらに別の話題について会話を行うためのアクションを行う。一つのアクションから他のアクションへの移行は、プレイヤ5に移行が感知されないように、シームレスに行われてもよい。
アクションA11,A21~A23,A31~A33の各々が実行されている間、プレイヤ5は、仮想キャラクタの所定の部位を注視すること又はこれ以外の方法により、当該仮想キャラクタに対してアクションを行うことができる。このようなプレイヤ5の仮想キャラクタへのアクションに対して、仮想キャラクタは、開始シーンデータA1に基づいて定められるリアクションを取ることができる。このように、アクションA11,A21~A23,A31~A33の各々は、プレイヤ5のアクション及び開始シーンデータA1に基づいて実行される。
アクションA11,A21~A23,A31~A33の各々の実行と並行して、中断判定も行われる。アクションA11,A21~A23,A31~A33の実行中におけるプレイヤ5のアクションにより、中断条件が満たされることがある。アクションA11,A21~A23,A31~A33のうちのいずれかのアクションの実行中に中断条件が満たされていると判定された場合には、その実行中のアクションを中断するための中断処理A41が行われる。この中断条件が満たされたか否かの判定は、例えば、中断判定部21c5によって行われる。
アクションA11,A21~A23,A31~A33の各々は、メインアクションと、割込アクションと、復帰アクションと、を有する。図12に示されている例では、アクションA21が、メインアクションA211と、割込アクションA212と、復帰アクションA213と、を有している。アクションA21以外の各アクションも、同様に、メインアクションと、割込アクションと、復帰アクションと、含み得る。メインアクション、割込アクション、及び復帰アクションについて、以下では、アクションA21を例に説明する。
メインアクションA211は、ゲームの進行の基調となる仮想キャラクタの一連のアクションである。例えば、開始シーンが、プレイヤ5と仮想キャラクタとの間での会話を行うシーンである場合、このメインアクションA211は仮想キャラクタがプレイヤ5に対して一連の会話を行うというアクションである。
割込アクションA212は、メインアクションA211の実行中にプレイヤ5が仮想キャラクタに対して特定アクションを行った場合に、当該メインアクションA211を一時中断して実行される仮想キャラクタのアクションである。本明細書においては、メインアクションの実行中にプレイヤ5によって行われるアクションを特定アクションと呼ぶことがある。割込アクションA212は、プレイヤ5の特定アクションに対するリアクションであってもよい。例えば、特定アクションが仮想キャラクタの頭部に触れるというアクションである場合には、割込アクションA212は、それに対して驚いた動きをするというアクションであってもよい。特定アクションが行われたことによって中断条件が成立する場合には、割込アクションA212ではなく中断処理A41が行われる。
割込アクションA212が実行された後は、復帰アクションA213が行われ、その後にメインアクションA211に復帰する。復帰アクションA213は、メインアクションA211の会話へ自然に復帰するためのアクションである。割込アクションA212によってメインアクションA211の実行が一時中断されているため、割込アクションA212からメインアクションA211へ直接復帰するのではなく、復帰アクションA213を介在させることでメインアクションA211へより自然に復帰させることができる。
復帰アクションA213は、例えば、仮想キャラクタが「それでね」といった口語の接続詞を話すことである。メインアクションA211へ復帰する直前に口語の接続詞を話すことにより、メインアクションA211における会話へ自然に復帰することができる。メインアクションA211は、特定アクションにより中断された時点から再開される。
上記のように、アクションA11,A21~A23,A31~A33の各々の実行と並行して中断判定も行われ、これらのアクションのうちのいずれかのアクションの実行中に中断条件が満たされていると判定された場合には、その実行中のアクションを中断するための中断処理A41が行われる。中断処理A41においては、実行中のメインアクションが中断される。また、中断処理A41においては、別のアクション、別のシーン、又は別のモードへ移行することをプレイヤ5に了知させるために、シーン間の移行時に表示されるシーン移行画面が表示されてもよい。シーン移行画面については後述する。
一実施形態において、アクションA21について中断処理A41がなされた後に、中断されたアクションA21の下流にあるアクション(例えば、アクションA31)からゲームが再開されてもよい。例えば、アクションA21を中断する中断処理A41においてシーン移行画面が表示された後に、アクションA31が実行されてもよい。これにより、中断条件が満たされたアクションA21は、中断条件が満たされたと判定され中断処理A41が行われた後スキップされ、下流にある他のアクション(例えば、アクションA31)が開始される。
他の実施形態において、アクションA21について中断処理A41がなされた後に、シーン終了処理A51が実行されてもよい。つまり、中断条件が成立したと判定されたことに応じて、実行中のアクションA21を含む開始シーンを終了させる終了処理が行われてもよい。シーン終了処理A51においては、アクションA21が行われる開始シーンが終了され、VR処理はステップS42へ移行し、このステップS42において開始シーンの後段にある基本シーンを実行するための処理が開始される。
さらに他の実施形態において、アクションA21について中断処理A41がなされた後に、VR終了処理A61が実行されてもよい。VR終了処理A61においては、VRモードを終了し、チャットモードへ移行するための処理が行われる。このVR終了処理A61は、後述するステップS48における終了処理と同じ処理である。
中断処理A41が行われない場合(すなわち、開始シーンにおいて中断条件が満たされなかった場合)には、最下流のアクションであるアクションA31、アクションA32、アクションA33、又はアクションA23が終了すると、開始シーンは終了し、VR処理はステップS42へ移行する。
ステップS42では、複数の候補の中から、実行されるべき基本シーンが選択される。実行されるべき基本シーンの選択は、第1シナリオのために準備されている基本シーンの複数の候補の中から、例えばパラメータデータ28dに応じて行われる。第1シナリオにおいては、図4の基本シーンデータB1~B3に対応する3つの基本シーンが準備されている。一実施形態においては、この3つの基本シーンの中から、パラメータデータ28dとして記憶されている仮想キャラクタのプレイヤ5に対する好感度に基づいて、実行されるべき基本シーンが選択される。例えば、好感度が第1閾値以上である場合には、基本シーンデータB1に対応する基本シーンが選択され、好感度が第2閾値未満である場合には、基本シーンデータB3に対応する基本シーンが選択され、好感度が第2閾値以上で第1閾値未満である場合には、基本シーンデータB2に対応する基本シーンが選択される。基本シーンの選択は、上記以外の方法で行われても良い。例えば、基本シーンはランダムに選択されてもよい。基本シーンは、好感度が高いほど一部の基本シーン(例えば、基本シーンデータB1に対応する第1基本シーン)が選択される確率が高くなるように重み付けを行った上で、ランダムに選択されてもよい。基本シーンの選択方法は、本明細書で明示的に説明された方法には限定されない。基本シーンが選択されると、VR処理は、ステップS43に移行する。
ステップS43では、ステップS42で選択された基本シーンが実行される。具体的には、基本シーンに応じた仮想空間の画像情報が生成され、当該画像情報に対応する画像がディスプレイ24に出力される。基本シーンにおいては、仮想空間において仮想キャラクタが所定のアクションをおこなっても良い。基本シーンにおける仮想キャラクタのアクションは、開始シーンと同様に、分岐可能な一連のアクションとして規定されてもよい。基本シーンにおける分岐可能な一連のアクションは、図12に示されているデータ構造と同様のデータ構造を有していてもよい。開始シーンと同様に、基本シーンにおいても、アクションの実行と並行して中断判定が行われてもよい。この中断判定において中断条件が満たされたと判断されると、実行中のアクションを中断するための中断処理が行われる。この基本シーンにおける中断処理は、開始シーンにおける中断処理A41と同様の処理であってもよい。開始シーンと同様に、基本シーンにおける中断判定の後には、中断されたアクションよりも下流にあるアクションへの移行するための処理、基本シーンの終了処理、又はVRモードの終了処理が行われてもよい。基本シーンに関しては、移行条件が設定されている。基本シーンの最下流にあるアクションが終了すると、基本シーンは終了し、VR処理はステップS44へ移行する。
ステップS44においては、ステップS43で実行された基本シーンについて設定されている追加シーン移行条件が成立したか否かが判定される。この判定は、ステップS43で実行された基本シーンに対応する基本シーンデータ(例えば、基本シーンデータB1)に含まれる追加シーン移行条件をストレージ27から読み出し、ステップS43で実行された基本シーンにおいて当該移行条件が成立したか否かが判定される。例えば、仮想空間にあるドアを表すオブジェクトを3秒以上注視することが移行条件である場合には、仮想空間内でのプレイヤ5の注視位置が当該ドアを表すオブジェクト上に位置する時間をカウントし、このカウントされた時間が3秒以上である場合に、移行条件が成立したと判定される。仮想空間内でのプレイヤ5の注視位置は、センサユニット25の検出情報に基づいてHMD10の向きを算出し、この算出したHMD10の向きに基づいて特定される。追加シーン移行条件は、基本シーンの実行時に、プレイヤ5に明示的に提示されてもよいし、提示されなくともよい。例えば、基本シーンにおいて、仮想キャラクタが、追加シーン移行条件に対応する台詞をプレイヤ5に語りかけてもよい。
移行条件が成立しなかったと判定された場合、VR処理はステップS45に移行し、移行条件が成立したと判定された場合、VR処理はステップS46に移行する。
ステップS45においては、第1終了シーンが実行される。具体的には、第1終了シーンに応じた仮想空間の画像情報が生成され、当該画像情報に対応する画像がディスプレイ24に出力される。
ステップS46においては、追加シーンが実行される。具体的には、第1終了シーンに応じた仮想空間の画像情報が生成され、当該画像情報に対応する画像がディスプレイ24に出力される。追加シーンにおける仮想キャラクタのアクションは、開始シーンと同様に、分岐可能な一連のアクションとして規定されてもよい。追加シーンにおける分岐可能な一連のアクションは、図12に示されているデータ構造と同様のデータ構造を有していてもよい。追加シーンの最下流にあるアクションが終了すると、追加シーンは終了し、VR処理はステップS47へ移行する。
ステップS47においては、第2終了シーンが実行される。具体的には、第2終了シーンに応じた仮想空間の画像情報が生成され、当該画像情報に対応する画像がディスプレイ24に出力される。第2終了シーンにおいて表示される画像は第1終了シーンにおいて表示される画像と同じでもよいし異なっていてもよい。
開始シーン及び基本シーンと同様に、追加シーン、第1終了シーン、及び第2終了シーンにおいても、アクションの実行と並行して中断判定が行われてもよい。この中断判定において中断条件が満たされたと判断されると、実行中のアクションを中断するための中断処理が行われる。追加シーン、第1終了シーン、及び第2終了シーンにおける中断処理は、開始シーンにおける中断処理A41と同様の処理であってもよい。開始シーンと同様に、追加シーン、第1終了シーン、及び第2終了シーンにおける中断判定の後には、中断されたアクションよりも下流にあるアクションへの移行するための処理、実行中のシーンの終了処理、又はVRモードの終了処理が行われてもよい。
上記のVR処理において、シーン間の移行時には、シーン移行画面が生成され、当該シーン移行画面がディスプレイ24に表示されてもよい。シーン移行画面は、シーンが移行することをプレイヤ5に了知させることができる任意の画面である。例えば、シーン移行画面は、画像全体が黒一色で構成されるフェードアウト画面であってもよい。このフェードアウト画面は、開始シーンから基本シーンへの移行時(基本シーンにおけるVR画面の表示前)、基本シーンから第1終了シーンへの移行時(第1終了シーンにおけるVR画面の表示前)、基本シーンから追加シーンへの移行時(追加シーンにおけるVR画面の表示前)、及び追加シーンから第2終了シーンへの移行時(第2終了シーンにおけるVR画面の表示前)から選択される少なくとも一つの時点で表示され得る。
VR画像90がディスプレイ24に表示されている間に、HMD10のセンサユニット25によってプレイヤ5の頭部の動きが検出されると、この検出された頭部の動きに基づいてプレイヤ5のアクションが特定される。そして、特定されたプレイヤ5のアクションに応じた仮想キャラクタの行動(リアクション)が決定され、この決定された行動を行う仮想キャラクタ画像91の画像情報が生成される。このようにして生成された画像情報は、ディスプレイ24に出力される。例えば、プレイヤ5のうなずく動作が検出されると、プレイヤ5のうなずくという動作へのリアクションを取る仮想キャラクタ画像91の画像情報が生成され、当該画像情報がディスプレイ24に表示される。このように、VRモードでは、仮想キャラクタの立体視画像を用いて、プレイヤ5と当該仮想キャラクタとの間でのインタラクションが実現される。
以上のステップS41,S43,S45~S47においては、プレイヤ5のアクションに応じて、プレイヤ5について設定されているパラメータが増減されてもよい。パラメータの増減量又は増減率は、上記のように、プレイヤ5のアクションごとに定められているパラメータの変化量(例えば、増加量又は減少量)又は変化率(増加率又は減少率)に基づいて定められてもよい。パラメータの変化量又は変化率が特定されると、この特定された好感度の変化量又は変化率に基づいて、パラメータデータ28dが更新される。
ステップS48では、VRモードの終了処理がなされる。この終了処理には、情報処理装置20を装着具11から取り外すよう促すガイダンスをディスプレイ24に表示すること、及び、第1モードであるチャットモードへのログイン画面を表示させることが含まれてもよい。
以上のVR処理は、VRモード実行部21cにより実行される。VRモード実行部21cは、単独で又は他の機能と適宜協働して、上記のVR処理を実行することができる。
続いて、他の実施形態によるゲーム処理システムについて図13を参照して説明する。図13は、他の実施形態によるゲーム処理システム101を示すブロック図である。ゲーム処理システム101は、情報処理装置20、HMD110、及びHMD110を備えている。ゲーム処理システム101は、情報処理装置20をHMD110に取り付けることなくVRモードを提供できる点で、ゲーム処理システム1と異なっている。以下、ゲーム処理システム101について、ゲーム処理システム1と相違する点に着目して説明する。
HMD110と、情報処理装置20と、サーバ50とは、ネットワーク40を介して相互に通信可能に接続されている。HMD110と情報処理装置20とは、ネットワーク40を介さずに、Bluetooth(登録商標)などの近距離無線方式に従って通信可能に接続されていてもよい。HMD110は、情報処理装置20が取り付けられなくともVRモードを提供可能な点で、ゲーム処理システム1のHMD10と異なっている。
HMD110は、コンピュータプロセッサ121と、メモリ122と、通信I/F123と、ディスプレイ124と、センサユニット125と、集音装置126と、ストレージ127と、を備えている。コンピュータプロセッサ121、メモリ122、通信I/F123、ディスプレイ124、センサユニット125、集音装置126、及びストレージ127は、情報処理装置20のコンピュータプロセッサ21、メモリ22、通信I/F23、ディスプレイ24、センサユニット25、集音装置26、及びストレージ27と同様に構成される。ただし、ディスプレイ124は、タッチパネルを備えなくともよい。
チャットモード実行部21a、移行処理部21b、及びVRモード実行部21cの機能は、情報処理装置20とHMD110とで分担して担われる。具体的には、チャットモード実行部21aの機能は情報処理装置20において実現され、VRモード実行部21cの機能はHMD110において実現される。移行処理部21bの機能は、その一部が情報処理装置20で実現され、残部がHMD110において実現される。パラメータ管理部21dの機能は、情報処理装置20及びHMD110の両方で実現される。
画像データ28a、チャットデータ28b、シナリオデータ28c、パラメータデータ28d、中断条件データ28e、及びゲーム進行データ28fは、ストレージ27及びストレージ127の一方又は両方に記憶される。これらのデータは、ストレージ27及びストレージ127以外のストレージに記憶されてもよい。
ゲーム処理システム101においてゲームを開始するときには、プレイヤ5は、情報処理装置20を用いてチャットモードを開始する。このチャットモードの処理は、情報処理装置20のチャットモード実行部21aにより行われる。
チャットモードにおいてモード移行条件が成立し、移行開始オブジェクトが選択された場合には、VRモードへのモード移行処理が開始される。このモード移行処理において、ステップ移行処理部21bにより行われる。当該モード移行処理において、上記のステップS31に相当するガイダンスの表示は、情報処理装置20において行われる。例えば、HMD110を装着するように促すガイダンスが、情報処理装置20のディスプレイ24に表示される。他方、ステップS32に相当する移行オブジェクト86の表示及びこれ以後の処理は、HMD110において実行される。
VRモードが開始されたときには、当該VRモードの処理は、HMD110のVRモード実行部21cにより行われる。
他の実施形態においては、ゲーム処理システム1又はゲーム処理システム101により、仮想キャラクタとのインタラクションを提供するゲーム以外のゲーム、例えば、ロールプレイイングゲーム、シューティングゲーム、及びこれらの以外の各種ゲームの処理が実行される。この他の実施形態におけるゲームは、複数のゲームシーンによってそのゲームシナリオが構成される。図14に、他の実施形態におけるゲームを構成する複数のシーンを模式的に示す。図14に示されているように、他の実施形態におけるゲームは、シーンB11,B21~B23,B31~35の9個のシーンを含む複数のシーンにより構成される。この複数のシーンの各々は、複数のシーンに分岐していてもよい。例えば、シーンB11は、シーンB21~シーンB23の3つのシーンに分岐している。このゲームが実行される場合には、各分岐点において、プレイヤ5の選択、各種パラメータの値、及びこれら以外の各種条件に応じて、移行先のシーンが選択される。各シーンにおいては、予め、ストレージ27、ストレージ127、又はこれら以外のストレージに記憶されたコマンドセットに従ってゲームが進行される。各シーンのコマンドセットは、当該シーンにおいてプレイヤキャラクタが取り得る行動、当該シーンにおいてノンプレイヤキャラクタが取り得る行動、当該シーンにおいて表示されるオブジェクトの画像及び位置に関するデータ、及びこれら以外の当該シーンの実行に必要な情報を含む。当該実施形態において、中断条件データ28eは、VRモードで実行されているゲーム又はそのゲームにおいて実行されているシーンを中断する条件であるシーン中断条件を定めるデータを含んでもよい。シーン中断条件は、アクションを中断する条件である中断条件と同じであってもよい。
シーン中断条件が成立したか否かの判定は、シーンB11,B21~B23,B31~35及びこれら以外のシーンの処理と並行しておこなわれてもよい。シーン中断条件の判定は、例えば、中断判定部21c5によって行われてもよい。あるシーンにおいてシーン中断条件が成立したと判定された場合には、当該シーンの処理を中断する中断処理が行われる。この中断処理の後に、中断されたシーンの下流にあるシーンからゲームが再開されてもよい。例えば、シーンB21が中断された場合には、その下流にあるシーンB31又はシーン32からゲームが再開されてもよい。あるシーンについて中断処理がなされた後に、VRモードを終了させるための処理を行ってもよい。また、シーンを中断する中断処理においては、別のシーン又は別のモードへ移行することをプレイヤ5に了知させるためにシーン移行画面が表示されてもよい。
上記の実施形態によれば、以下の効果が得られる。上記のゲーム処理システム1,101によれば、所定のシーンにおける所定のアクション(例えば、開始シーンにおけるアクションA21)の実行中に中断条件が満たされると、当該アクションが中断される。このため、中断条件を満たした後のプレイヤのアクションに対する仮想キャラクタのリアクションを定めておく必要がなくなる。これにより、プレイヤのアクションに対する仮想キャラクタのアクションを規定するデータ又は各シーンのコマンドセットのデータ量(例えば、シナリオデータ28cのデータ量)の増加を抑制することができる。
また、上記のゲーム処理システム1,101によれば、アクション又はシーンを中断する際にシーン移行画面が表示されるので、アクション又はシーンを自然に中断することができる。
現実世界では不適切とされるアクションを禁止アクションとすることにより、かかるアクションが仮想キャラクタになされた場合に、ゲームの実行を中断することができる。このような現実世界において不適切とされるアクションが行われた場合の仮想キャラクタの対応を予め定めておくことは困難である。他方、不適切とされるアクションに対して仮想キャラクタが通常のリアクションをとってしまうか又は何らリアクションを行わない設定とすると、かかる通常のリアクションは、現実世界において不適切とされるアクションに対するリアクションとしては不自然となる。上記のゲーム処理システム1,101によれば、現実世界では不適切とされるアクションがなされたときにゲームの実行を中断することにより、仮想キャラクタが不自然なリアクションを行う(または何らリアクションを取らない)ことを回避できる。これにより、仮想キャラクタとのコミュニケーションのリアリティを増加させることができる。
本発明の実施形態は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で様々な変更が可能である。例えば、コンピュータプロセッサ21及びコンピュータプロセッサ121で実行される機能の一部又は全部は、発明の趣旨を逸脱しない限り、上記の実施形態では図示されていないコンピュータプロセッサにより実現されてもよい。例えば、ゲーム処理システム1及びゲーム処理システム101は、ゲーム処理プログラムの少なくとも一部を実行するゲーム機を備えてもよく、コンピュータプロセッサ21又はコンピュータプロセッサ121の処理によって実現される機能の一部は、当該ゲーム機における処理によって実現されてもよい。
本願発明の実施形態には、上記以外にも様々な装置、デバイス、及び電子部品を備えることができる。例えば、ゲーム処理システム1及びゲーム処理システム101は、情報処理装置20及びHMD10,110以外に、プレイヤ5の操作を受け付けるための操作機器を備えてもよい。ゲーム処理システム1及びゲーム処理システム101は、当該操作機器によってプレイヤ5の操作を検出し、当該検出した操作に応じてゲームの処理をおこなっても良い。
本明細書において説明された処理手順、特にフロー図を用いて説明された処理手順においては、その処理手順を構成する工程(ステップ)の一部を省略すること、その処理手順を構成する工程として明示されていない工程を追加すること、及び/又は当該工程の順序を入れ替えることが可能であり、このような省略、追加、順序の変更がなされた処理手順も本発明の趣旨を逸脱しない限り本発明の範囲に含まれる。
以下に、本願の原出願の出願時の特許請求の範囲に記載された発明を付記する。
[1]
仮想キャラクタのアクションを特定するための一又は複数のアクションデータを記憶するストレージと、一又は複数のコンピュータプロセッサと、を備えたゲームの処理を行うゲーム処理システムであって、
前記ゲームは、プレイヤの頭部に装着されていない情報処理装置からの入力に応じて前記ゲームを進行させる第1モードと、前記プレイヤの頭部に装着されたヘッドマウントディスプレイにより検出された検出情報に応じて前記ゲームを進行させる第2モードと、を有し、
前記一又は複数のコンピュータプロセッサは、コンピュータ読み取り可能な命令を実行することにより、
前記第2モードにおいて、前記プレイヤの頭部に装着された前記ヘッドマウントディスプレイにより検出された前記検出情報に基づいて前記仮想キャラクタに対する前記プレイヤのアクションを特定し、
前記第2モードにおいて、前記プレイヤのアクション及び前記一又は複数のアクションデータのうちの第1アクションデータに基づいて前記仮想キャラクタに第1アクションを実行させ、
前記第1アクションの実行中に中断条件が満たされた場合に、前記第2モードを中断して前記第1モードへ移行するための移行処理を行う、
ゲーム処理システム。
[2]
前記ゲームは、第1シーン及び第2シーンを有し、
前記第1アクションは、前記第1シーンにおいて実行され、
前記一又は複数のコンピュータプロセッサは、前記中断条件が満たされた場合に、前記第1シーンの実行を中断させる、
[1]に記載のゲーム処理システム。
[3]
前記第1アクションは、前記仮想キャラクタの一連のアクションで構成されるメインアクションと、前記メインアクションを中断して実行される割込アクションと、前記割込アクションの実行後に行われる復帰アクションと、を有する、
[1]又は[2]に記載のゲーム処理システム。
[4]
前記一又は複数のコンピュータプロセッサは、前記第1アクションの実行中に前記プレイヤから特定アクションがなされたことに応じて前記中断条件が満たされたか否かの判定を行い、前記中断条件が満たされていないと判定された場合に前記割込アクションを実行する、
[3]に記載のゲーム処理システム。
[5]
前記中断条件は、前記検出情報から特定された注視位置が仮想空間内に設定された禁止領域上にあること、を含む、
[1]から[4]のいずれか1項に記載のゲーム処理システム。
[6]
前記中断条件は、前記プレイヤが同じアクションを所定回数以上繰り返したこと、を含む、
[1]から[5]のいずれか1項に記載のゲーム処理システム。
[7]
前記中断条件は、前記プレイヤが前記仮想キャラクタの所定の部位に対するアクションを所定回数以上行ったこと、を含む、
[1]から[6]のいずれか1項に記載のゲーム処理システム。
[8]
前記中断条件は、前記プレイヤが禁止アクションに該当するアクションを行ったこと、を含む、
[1]から[7]のいずれか1項に記載のゲーム処理システム。
[9]
前記ストレージは、パラメータ及び前記パラメータを記憶しており、
前記一又は複数のコンピュータプロセッサは、前記プレイヤのアクションに応じて前記パラメータを更新し、
前記中断条件は、前記パラメータに関する条件を含む、
[1]から[8]のいずれか1項に記載のゲーム処理システム。
[10]
一又は複数のコンピュータプロセッサがコンピュータ読み取り可能な命令を実行することにより仮想キャラクタとのインタラクションを提供するゲームの処理を行うゲーム処理方法であって、
前記ゲームは、プレイヤの頭部に装着されていない情報処理装置からの入力に応じて前記ゲームを進行させる第1モードと、前記プレイヤの頭部に装着されたヘッドマウントディスプレイにより検出された検出情報に応じて前記ゲームを進行させる第2モードと、を有し、
前記第2モードにおいて、前記プレイヤの頭部に装着された前記ヘッドマウントディスプレイにより検出された前記検出情報に基づいて前記仮想キャラクタに対する前記プレイヤのアクションを特定する工程と、
前記第2モードにおいて、前記プレイヤのアクション及び前記仮想キャラクタのアクションを特定するための一又は複数のアクションデータのうちの第1アクションデータに基づいて前記仮想キャラクタに第1アクションを実行させる工程と、
前記第1アクションの実行中に中断条件が満たされた場合に、前記第2モードを中断して前記第1モードへ移行するための移行処理を行う工程と、
を備えるゲーム処理方法。
[11]
一又は複数のコンピュータプロセッサに実行されることにより仮想キャラクタとのインタラクションを提供するゲームの処理を行うためのゲーム処理プログラムであって、
前記ゲームは、プレイヤの頭部に装着されていない情報処理装置からの入力に応じて前記ゲームを進行させる第1モードと、前記プレイヤの頭部に装着されたヘッドマウントディスプレイにより検出された検出情報に応じて前記ゲームを進行させる第2モードと、を有し、
前記一又は複数のコンピュータプロセッサに、
前記第2モードにおいて、前記プレイヤの頭部に装着された前記ヘッドマウントディスプレイにより検出された前記検出情報に基づいて前記仮想キャラクタに対する前記プレイヤのアクションを特定する工程と、
前記第2モードにおいて、前記プレイヤのアクション及び前記仮想キャラクタのアクションを特定するための一又は複数のアクションデータのうちの第1アクションデータに基づいて前記仮想キャラクタに第1アクションを実行させる工程と、
前記第1アクションの実行中に中断条件が満たされた場合に、前記第2モードを中断して前記第1モードへ移行するための移行処理を行う工程と、
を実行させるゲーム処理プログラム。