(57)【要約】【課題】アイテムの投入などの応援を視聴者に対して喚起することができる配信プログラム、配信方法、配信サーバおよび視聴端末を提供する。【解決手段】コンピュータは、所定の達成条件を成立させることによりクリアとなるゲームのゲームプレイ映像をユーザ端末において表示可能とするためのデータを配信する。このとき、コンピュータは、ゲームプレイ映像を表示しているユーザ端末の数、即ち視聴者数を特定し、当該視聴数に応じて、当該達成条件を成立させる難易度を調整する。【選択図】図２１
2020141813.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサおよびメモリを備え、所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を視聴端末において表示可能とするためのデータを配信するコンピュータにより実行される配信プログラムであって、
前記配信プログラムは、前記プロセッサに、
前記ゲームプレイ映像を表示している視聴端末の視聴数を特定するステップと、
当該視聴数に応じて、前記所定条件を成立させる難易度を調整するステップとを実行させる、配信プログラム。
【請求項２】
前記配信プログラムは、前記プロセッサに、
視聴者による所定操作に基づき前記視聴端末から送信される操作情報を受信したことに応じて、前記所定条件の成立を支援する支援作用を及ぼすステップを実行させる、請求項１に記載の配信プログラム。
【請求項３】
前記所定操作は、前記視聴者に関連付けられている仮想通貨の消費を伴う操作である、請求項２に記載の配信プログラム。
【請求項４】
前記配信プログラムは、前記プロセッサに、
前記視聴数に応じて前記支援作用の大きさを変化させるステップを実行させる、請求項２または請求項３に記載の配信プログラム。
【請求項５】
前記変化させるステップは、前記視聴数が第１数であるときには当該第１数よりも小さい第２数であるときよりも前記支援作用が小さくなるように変化させる、請求項４に記載の配信プログラム。
【請求項６】
前記ゲームは、前記操作情報を受信することにより、ポイントが関連付けられたアイテムを出現させるゲームであり、
前記及ぼすステップは、当該アイテムに応じた支援作用を及ぼし、
前記配信プログラムは、前記プロセッサに、
前記アイテムに関連付けられたポイントを配信者に付与するステップと、
配信者に付与されたポイントが所定値に到達することにより、前記所定条件が成立する可能性を向上させる向上作用を及ぼすステップとを実行させる、請求項２〜請求項５のいずれかに記載の配信プログラム。
【請求項７】
前記配信プログラムは、前記プロセッサに、
前記視聴数に応じて、前記所定値を変化させるステップを実行させる、請求項６に記載の配信プログラム。
【請求項８】
前記配信プログラムは、前記プロセッサに、
前記視聴数に応じて、前記配信者に付与するポイントの量を変化させるステップを実行させる、請求項６または請求項７に記載の配信プログラム。
【請求項９】
前記所定操作は、前記視聴者に関連付けられている仮想通貨の消費を伴う操作であり、
前記アイテムに関連付けられるポイントの量は、当該アイテムの出現に要する仮想通貨の消費量に応じて設定されている、請求項６〜請求項８のいずれかに記載の配信プログラム。
【請求項１０】
前記調整するステップは、ゲームが開始されるときの前記視聴数に応じて、前記難易度を調整する、請求項１〜請求項９のいずれかに記載の配信プログラム。
【請求項１１】
前記ゲームは、各々に所定条件が関連付けられた複数のステージを含み、
前記調整するステップは、前記複数のステージの各々が開始されるときの前記視聴数に応じて、当該ステージに関連付けられた所定条件を成立させる難易度を調整する、請求項１０に記載の配信プログラム。
【請求項１２】
前記データは、配信者の動きを示すモーションデータを少なくとも含み、
前記ゲームは、前記モーションデータに基づいて動作するプレイヤオブジェクトが他のオブジェクトと戦うゲームであり、
前記調整するステップは、前記視聴数に応じて、前記プレイヤオブジェクトの能力、前記他のオブジェクトの能力、および前記他のオブジェクトの出現量の少なくともいずれかを変化させることにより、前記難易度を調整する、請求項１〜請求項１１のいずれかに記載の配信プログラム。
【請求項１３】
前記配信プログラムは、前記プロセッサに、
前記調整するステップにより調整される難易度に応じた態様で、ゲームの進行を制御するステップと、
前記ゲームの進行に応じて配置されるゲームオブジェクトの種類および位置を特定するためのオブジェクト情報を生成するステップと、
前記ゲームの進行に応じて更新されるゲームパラメータを特定するためのパラメータ情報を生成するステップと、を更に実行させ、
前記データは、前記オブジェクト情報と前記パラメータ情報とを少なくとも含む、請求項１〜請求項１２のいずれかに記載の配信プログラム。
【請求項１４】
前記配信プログラムは、前記プロセッサに、
視聴者による所定操作に応じて前記視聴端末から送信される操作情報を受信したときに、前記所定条件の成立を阻害する阻害作用を及ぼすステップと、
前記視聴数に応じて前記阻害作用の大きさを変化させるステップとを実行させる、請求項１に記載の配信プログラム。
【請求項１５】
前記データは、配信者の動きを示すモーションデータを少なくとも含み、
前記ゲームは、前記モーションデータに基づいて動作するプレイヤオブジェクトが他のオブジェクトと戦うゲームであり、
前記及ぼすステップは、前記プレイヤオブジェクトが不利になるようにゲームパラメータを更新する、請求項１４に記載の配信プログラム。
【請求項１６】
プロセッサおよびメモリを備え、所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を視聴端末において表示可能とするためのデータを配信するコンピュータにより実行される配信方法であって、
前記配信方法は、前記コンピュータが、
前記ゲームプレイ映像を表示している視聴端末の視聴数を特定するステップと、
当該視聴数に応じて、前記所定条件を成立させる難易度を調整するステップとを備える、配信方法。
【請求項１７】
所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を視聴端末において表示可能とするためのデータを配信するコンピュータであって、
配信プログラムを記憶する記憶部と、
前記配信プログラムを実行することにより、前記コンピュータの動作を制御する制御部とを備え、
前記制御部は、
前記ゲームプレイ映像を表示している視聴端末の視聴数を特定するステップと、
当該視聴数に応じて、前記所定条件を成立させる難易度を調整するステップとを実行する、コンピュータ。
【請求項１８】
プロセッサ、メモリ、および表示部を備える視聴端末により実行される視聴プログラムであって、
前記視聴プログラムは、前記プロセッサに、
ゲームをクリアさせるための所定条件を成立させる難易度を前記ゲームのゲームプレイ映像を表示する視聴端末の視聴数に応じて調整するコンピュータに対して、前記視聴数を特定可能とするための情報を送信するステップと、
前記コンピュータから、前記難易度が調整された前記ゲームのゲームプレイ映像を前記視聴端末において表示可能とするためのデータを受信するステップと、
前記データに基づいて、前記難易度が調整された前記ゲームのゲームプレイ映像を表示するステップとを実行させる、視聴プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、配信プログラム、配信方法、コンピュータ、および視聴端末に関する。
【背景技術】
【０００２】
特許文献１には、ライブ動画を視聴端末に配信する情報処理システムが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１２００９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の従来技術には、コンテンツに対する視聴者の好趣性をより高めることができる余地がある。
【０００５】
本発明は、かかる実情に鑑み考え出されたものであり、その目的は、コンテンツに対する視聴者の好趣性をより高めることができる、配信プログラム、配信方法、コンピュータ、および視聴端末を提供することである。
【課題を解決するための手段】
【０００６】
本開示に示す一実施形態のある局面によれば、プロセッサおよびメモリを備え、所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を視聴端末において表示可能とするためのデータを配信するコンピュータにより実行される配信プログラムが提供される。配信プログラムは、プロセッサに、ゲームプレイ映像を表示している視聴端末の視聴数を特定するステップと、当該視聴数に応じて、所定条件を成立させる難易度を調整するステップとを実行させる。
【０００７】
一実施形態のある局面によれば、プロセッサおよびメモリを備え、所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を視聴端末において表示可能とするためのデータを配信するコンピュータにより実行される配信方法が提供される。配信方法は、コンピュータが、ゲームプレイ映像を表示している視聴端末の視聴数を特定するステップと、当該視聴数に応じて、所定条件を成立させる難易度を調整するステップとを備える。
【０００８】
一実施形態のある局面によれば、所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を視聴端末において表示可能とするためのデータを配信するコンピュータが提供される。コンピュータは、配信プログラムを記憶する記憶部と、配信プログラムを実行することにより、コンピュータの動作を制御する制御部とを備え、制御部は、ゲームプレイ映像を表示している視聴端末の視聴数を特定するステップと、当該視聴数に応じて、所定条件を成立させる難易度を調整するステップとを実行する。
【０００９】
一実施形態のある局面によれば、プロセッサ、メモリ、および表示部を備える視聴端末により実行される視聴プログラムが提供される。視聴プログラムは、プロセッサに、所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を特定可能とするためのデータを配信しているサーバに対して、当該ゲームプレイ映像を表示している視聴端末の視聴数を特定可能とするための情報を送信するステップと、サーバからの情報に基づいて、所定条件を成立させる難易度が視聴端末の視聴数に応じて調整されたゲームのゲームプレイ映像を表示するステップとを実行させる。
【発明の効果】
【００１０】
本発明によれば、コンテンツに対する視聴者の好趣性をより高めることができる。
【図面の簡単な説明】
【００１１】
【図１】ある実施の形態に従うＨＭＤシステムの構成の概略を表す図である。
【図２】ある実施の形態に従うコンピュータのハードウェア構成の一例を表すブロック図である。
【図３】ある実施の形態に従うＨＭＤに設定されるｕｖｗ視野座標系を概念的に表す図である。
【図４】ある実施の形態に従う仮想空間を表現する一態様を概念的に表す図である。
【図５】ある実施の形態に従うＨＭＤを装着するユーザの頭部を上から表した図である。
【図６】仮想空間において視界領域をＸ方向から見たＹＺ断面を表す図である。
【図７】仮想空間において視界領域をＹ方向から見たＸＺ断面を表す図である。
【図８】ある実施の形態に従うＨＭＤセットにおいて規定される仮想空間と、当該仮想空間に配置されるオブジェクトとの一例を示す図である。
【図９】（Ａ）は、ある実施の形態に従うコントローラの概略構成を表す図であり、（Ｂ）は、ある実施の形態に従うユーザの右手に対して規定されるヨー、ロール、ピッチの各方向の一例を示す図である。
【図１０】ある実施の形態に従うサーバのハードウェア構成の一例を表すブロック図である。
【図１１】ある実施の形態に従うコンピュータをモジュール構成として表わすブロック図である。
【図１２】ある実施の形態に従うコンピュータのモジュールの詳細構成を表わすブロック図である。
【図１３】ある実施の形態に従うユーザ端末のハードウェア構成を示す図である。
【図１４】（Ａ）は、ある実施の形態に従うユーザ端末において規定される仮想空間と、当該仮想空間に配置されるオブジェクトとの一例を示す図であり、（Ｂ）は、当該ユーザ端末において表示される視界画像の一例を示す図である。
【図１５】ある実施の形態に従うＨＭＤシステムに含まれるユーザ端末、サーバおよびＨＭＤセットの機能的構成を示すブロック図である。
【図１６】ある実施の形態に従うユーザ端末に含まれる仮想空間制御部の詳細な構成を示す図である。
【図１７】ある実施の形態に従うＨＭＤセットに含まれる仮想空間制御部の詳細な構成を示す図である。
【図１８】（Ａ）は、ユーザ端末において表示される視界画像の他の一例を示す図であり、（Ｂ）は、ユーザ端末において表示される視界画像のその他の一例を示す図であり、（Ｃ）は、ユーザ端末において表示される視界画像のさらにその他の一例を示す図であり、（Ｄ）は、ユーザ端末において表示される視界画像の他の一例を示す図である。
【図１９】アイテム投入操作に応じたユーザ端末およびコンピュータの動作の一部を示すタイミングチャートである。
【図２０】ＨＭＤシステムにおいて実行される処理の流れの一部を示すフローチャートである。
【図２１】ＨＭＤシステムにおいて実行される処理の流れの他の一部を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、この技術的思想の実施の形態について図面を参照しながら詳細に説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。本開示において示される１以上の実施形態において、各実施形態が含む要素を互いに組み合わせることができ、かつ、当該組み合わせられた結果物も本開示が示す実施形態の一部をなすものとする。
【００１３】
［ＨＭＤシステムの構成］
図１を参照して、ＨＭＤ（Head-Mounted  Device）システム１００の構成について説明する。図１は、本実施の形態に従うＨＭＤシステム１００の構成の概略を表す図である。ＨＭＤシステム１００は、家庭用のシステムとしてあるいは業務用のシステムとして提供される。
【００１４】
ＨＭＤシステム１００は、サーバ６００と、ＨＭＤセット１１０と、外部機器７００と、ネットワーク２と、複数のユーザ端末８００とを含む。ＨＭＤセット１１０は、ネットワーク２を介してサーバ６００や外部機器７００やユーザ端末８００と通信可能に構成される。ＨＭＤセット１１０は、ＨＭＤ１２０と、コンピュータ２００と、ＨＭＤセンサ４１０と、ディスプレイ４３０と、コントローラ３００とを備える。ＨＭＤ１２０は、モニタ１３０と、注視センサ１４０と、第１カメラ１５０と、第２カメラ１６０と、マイク１７０と、スピーカ１８０とを含む。コントローラ３００は、モーションセンサ４２０を含み得る。
【００１５】
ある局面において、コンピュータ２００は、インターネットその他のネットワーク２に接続可能であり、ネットワーク２に接続されているサーバ６００その他のコンピュータと通信可能である。その他のコンピュータとしては、例えば、ユーザ端末８００、外部機器７００、他のＨＭＤセット１１０のコンピュータなどが挙げられる。別の局面において、ＨＭＤ１２０は、ＨＭＤセンサ４１０の代わりに、センサ１９０を含み得る。
【００１６】
ＨＭＤ１２０は、プレイヤ５の頭部に装着され、動作中に仮想空間をプレイヤ５に提供し得る。より具体的には、ＨＭＤ１２０は、右目用の画像および左目用の画像をモニタ１３０にそれぞれ表示する。プレイヤ５の各目がそれぞれの画像を視認すると、プレイヤ５は、両目の視差に基づき当該画像を３次元画像として認識し得る。ＨＭＤ１２０は、モニタを備える所謂ヘッドマウントディスプレイと、スマートフォンその他のモニタを有する端末を装着可能なヘッドマウント機器のいずれをも含み得る。ＨＭＤ１２０は、例えば、所定の達成条件を成立させることによりクリアとなるゲームをプレイヤ５にプレイさせるための仮想空間を提供する。プレイヤ５は、ゲームのプレイ画面をユーザ端末８００において表示可能とするためのデータを配信するため、配信者ともいう。
【００１７】
なお、ゲームのジャンルは、特定のジャンルに限られず、ＨＭＤシステム１００は、あらゆるジャンルのゲームを実行し得る。例えば、テニス、卓球、ドッジボール、野球、サッカーおよびホッケーなどのスポーツを題材としたゲーム、パズルゲーム、クイズゲーム、ＲＰＧ（Role-Playing Game）、アドベンチャーゲーム、シューティングゲーム、シミュレーションゲーム、育成ゲーム、ならびに、アクションゲームなどであってもよい。
【００１８】
また、本ゲームのプレイ形態は、特定のプレイ形態に限られない。ＨＭＤシステム１００は、あらゆるプレイ形態のゲームをプレイさせる仮想空間を提供し得る。例えば、単一のプレイヤ５によるシングルプレイゲーム、および、複数のプレイヤ５によるマルチプレイゲーム、また、マルチプレイゲームの中でも、複数のプレイヤ５が対戦する対戦ゲーム、および、複数のプレイヤ５が協力する協力プレイゲームなどであってもよい。
【００１９】
モニタ１３０は、例えば、非透過型の表示装置として実現される。ある局面において、モニタ１３０は、プレイヤ５の両目の前方に位置するようにＨＭＤ１２０の本体に配置されている。したがって、プレイヤ５は、モニタ１３０に表示される３次元画像を視認すると、仮想空間に没入することができる。ある局面において、仮想空間には、例えば、プレイヤ５が操作可能なアバターオブジェクトや、他のオブジェクトが配置される。ある局面において、モニタ１３０は、所謂スマートフォンその他の情報表示端末が備える液晶モニタまたは有機ＥＬ（Electro  Luminescence）モニタとして実現され得る。
【００２０】
別の局面において、モニタ１３０は、透過型の表示装置として実現され得る。この場合、ＨＭＤ１２０は、図１に示されるようにプレイヤ５の目を覆う密閉型ではなく、メガネ型のような開放型であり得る。透過型のモニタ１３０は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。モニタ１３０は、仮想空間を構成する画像の一部と、現実空間とを同時に表示する構成を含んでいてもよい。例えば、モニタ１３０は、ＨＭＤ１２０に搭載されたカメラで撮影した現実空間の画像を表示してもよいし、一部の透過率を高く設定することにより現実空間を視認可能にしてもよい。
【００２１】
ある局面において、モニタ１３０は、右目用の画像を表示するためのサブモニタと、左目用の画像を表示するためのサブモニタとを含み得る。別の局面において、モニタ１３０は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、モニタ１３０は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
【００２２】
ある局面において、ＨＭＤ１２０は、図示せぬ複数の光源を含む。各光源は例えば、赤外線を発するＬＥＤ（Light  Emitting  Diode）により実現される。ＨＭＤセンサ４１０は、ＨＭＤ１２０の動きを検出するためのポジショントラッキング機能を有する。より具体的には、ＨＭＤセンサ４１０は、ＨＭＤ１２０が発する複数の赤外線を読み取り、現実空間内におけるＨＭＤ１２０の位置および傾きを検出する。
【００２３】
別の局面において、ＨＭＤセンサ４１０は、カメラにより実現されてもよい。この場合、ＨＭＤセンサ４１０は、カメラから出力されるＨＭＤ１２０の画像情報を用いて、画像解析処理を実行することにより、ＨＭＤ１２０の位置および傾きを検出することができる。
【００２４】
別の局面において、ＨＭＤ１２０は、位置検出器として、ＨＭＤセンサ４１０の代わりに、あるいはＨＭＤセンサ４１０に加えてセンサ１９０を備えてもよい。ＨＭＤ１２０は、センサ１９０を用いて、ＨＭＤ１２０自身の位置および傾きを検出し得る。例えば、センサ１９０が角速度センサ、地磁気センサ、あるいは加速度センサである場合、ＨＭＤ１２０は、ＨＭＤセンサ４１０の代わりに、これらの各センサのいずれかを用いて、自身の位置および傾きを検出し得る。一例として、センサ１９０が角速度センサである場合、角速度センサは、現実空間におけるＨＭＤ１２０の３軸周りの角速度を経時的に検出する。ＨＭＤ１２０は、各角速度に基づいて、ＨＭＤ１２０の３軸周りの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、ＨＭＤ１２０の傾きを算出する。
【００２５】
注視センサ１４０は、プレイヤ５の右目および左目の視線が向けられる方向を検出する。つまり、注視センサ１４０は、プレイヤ５の視線を検出する。視線の方向の検出は、例えば、公知のアイトラッキング機能によって実現される。注視センサ１４０は、当該アイトラッキング機能を有するセンサにより実現される。ある局面において、注視センサ１４０は、右目用のセンサおよび左目用のセンサを含むことが好ましい。注視センサ１４０は、例えば、プレイヤ５の右目および左目に赤外線を照射するとともに、照射光に対する角膜および虹彩からの反射光を受けることにより各眼球の回転角を検出するセンサであってもよい。注視センサ１４０は、検出した各回転角に基づいて、プレイヤ５の視線を検知することができる。
【００２６】
第１カメラ１５０は、プレイヤ５の顔の下部を撮影する。より具体的には、第１カメラ１５０は、プレイヤ５の鼻および口などを撮影する。第２カメラ１６０は、プレイヤ５の目および眉などを撮影する。ＨＭＤ１２０のプレイヤ５側の筐体をＨＭＤ１２０の内側、ＨＭＤ１２０のプレイヤ５とは逆側の筐体をＨＭＤ１２０の外側と定義する。ある局面において、第１カメラ１５０は、ＨＭＤ１２０の外側に配置され、第２カメラ１６０は、ＨＭＤ１２０の内側に配置され得る。第１カメラ１５０および第２カメラ１６０が生成した画像は、コンピュータ２００に入力される。別の局面において、第１カメラ１５０と第２カメラ１６０とを１台のカメラとして実現し、この１台のカメラでプレイヤ５の顔を撮影するようにしてもよい。
【００２７】
マイク１７０は、プレイヤ５の発話を音声信号（電気信号）に変換してコンピュータ２００に出力する。スピーカ１８０は、音声信号を音声に変換してプレイヤ５に出力する。別の局面において、ＨＭＤ１２０は、スピーカ１８０に替えてイヤホンを含み得る。
【００２８】
コントローラ３００は、有線または無線によりコンピュータ２００に接続されている。コントローラ３００は、プレイヤ５からコンピュータ２００への命令の入力を受け付ける。ある局面において、コントローラ３００は、プレイヤ５によって把持可能に構成される。別の局面において、コントローラ３００は、プレイヤ５の身体あるいは衣類の一部に装着可能に構成される。さらに別の局面において、コントローラ３００は、コンピュータ２００から送信される信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するように構成されてもよい。さらに別の局面において、コントローラ３００は、プレイヤ５から、仮想空間に配置されるオブジェクトの位置や動きを制御するための操作を受け付ける。
【００２９】
ある局面において、コントローラ３００は、複数の光源を含む。各光源は例えば、赤外線を発するＬＥＤにより実現される。ＨＭＤセンサ４１０は、ポジショントラッキング機能を有する。この場合、ＨＭＤセンサ４１０は、コントローラ３００が発する複数の赤外線を読み取り、現実空間内におけるコントローラ３００の位置および傾き、即ちプレイヤの身体の動きを検出する。別の局面において、ＨＭＤセンサ４１０は、カメラにより実現されてもよい。この場合、ＨＭＤセンサ４１０は、カメラから出力されるコントローラ３００の画像情報を用いて、画像解析処理を実行することにより、コントローラ３００の位置および傾きを検出することができる。
【００３０】
モーションセンサ４２０は、ある局面において、プレイヤ５の手に取り付けられて、プレイヤ５の手の動きを検出する。例えば、モーションセンサ４２０は、手の回転速度、回転数等を検出する。検出された信号は、コンピュータ２００に送られる。モーションセンサ４２０は、例えば、コントローラ３００に設けられている。ある局面において、モーションセンサ４２０は、例えば、プレイヤ５に把持可能に構成されたコントローラ３００に設けられている。別の局面において、現実空間における安全のため、コントローラ３００は、手袋型のようにプレイヤ５の手に装着されることにより容易に飛んで行かないものに装着される。さらに別の局面において、プレイヤ５に装着されないセンサがプレイヤ５の手の動きを検出してもよい。例えば、プレイヤ５を撮影するカメラの信号が、プレイヤ５の動作を表わす信号として、コンピュータ２００に入力されてもよい。モーションセンサ４２０とコンピュータ２００とは、一例として、無線により互いに接続される。無線の場合、通信形態は特に限られず、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）その他の公知の通信手法が用いられる。
【００３１】
ディスプレイ４３０は、モニタ１３０に表示されている画像と同様の画像を表示する。これにより、ＨＭＤ１２０を装着しているプレイヤ５以外のデータ配信にかかわる者（プレイヤ５と同様に配信者ともいう）にも当該プレイヤ５と同様の画像を視聴させることができる。ディスプレイ４３０に表示される画像は、３次元画像である必要はなく、右目用の画像や左目用の画像であってもよい。ディスプレイ４３０としては、例えば、液晶ディスプレイや有機ＥＬモニタなどが挙げられる。
【００３２】
サーバ６００は、コンピュータ２００にプログラムを送信し得る。別の局面において、サーバ６００は、コンピュータ２００から提供された仮想空間を表示可能にするためのデータを、サーバ６００と接続可能な複数のユーザ端末（例えばユーザ端末８００Ａ、８００Ｃ、８００Ｄ）に配信し得る。なお、コンピュータ２００は、サーバ６００を介することなく、当該データを配信するようにしてもよい。
【００３３】
サーバ６００は、他のプレイヤによって使用されるＨＭＤ１２０に仮想現実を提供するための他のコンピュータ２００と通信し得る。例えば、アミューズメント施設において、複数のプレイヤが参加型のゲームを行なう場合、各コンピュータ２００は、各プレイヤの動作に基づく信号をサーバ６００を介して他のコンピュータ２００と通信して、同じ仮想空間において複数のプレイヤが共通のゲームを楽しむことを可能にする。各コンピュータ２００は、各プレイヤの動作に基づく信号をサーバ６００を介さずに他のコンピュータ２００と通信するようにしてもよい。
【００３４】
外部機器７００は、コンピュータ２００と通信可能な機器であればどのような機器であってもよい。外部機器７００は、例えば、ネットワーク２を介してコンピュータ２００と通信可能な機器であってもよいし、近距離無線通信や有線接続によりコンピュータ２００と直接通信可能な機器であってもよい。外部機器７００としては、例えば、スマートデバイス、ＰＣ（Personal  Computer）、及びコンピュータ２００の周辺機器などが挙げられるが、これらに限定されるものではない。
【００３５】
［コンピュータのハードウェア構成］
図２を参照して、本実施の形態に係るコンピュータ２００について説明する。図２は、本実施の形態に従うコンピュータ２００のハードウェア構成の一例を表すブロック図である。コンピュータ２００は、主たる構成要素として、プロセッサ２１０と、メモリ２２０と、ストレージ２３０と、入出力インターフェース（以下、ＩＦ）２４０と、通信ＩＦ２５０とを備える。各構成要素は、それぞれ、バス２６０に接続されている。
【００３６】
プロセッサ２１０は、コンピュータ２００に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ２２０またはストレージ２３０に格納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ２１０は、ＣＰＵ（Central  Processing  Unit）、ＧＰＵ（Graphics  Processing  Unit）、ＭＰＵ（Micro  Processor  Unit）、ＦＰＧＡ（Field-Programmable  Gate  Array）その他のデバイスとして実現される。
【００３７】
メモリ２２０は、プログラムおよびデータを一時的に保存する。プログラムは、例えば、ストレージ２３０からロードされる。データは、コンピュータ２００に入力されたデータと、プロセッサ２１０によって生成されたデータとを含む。ある局面において、メモリ２２０は、ＲＡＭ（Random  Access  Memory）その他の揮発メモリとして実現される。
【００３８】
ストレージ２３０は、プログラムおよびデータを永続的に保持する。ストレージ２３０は、例えば、ＲＯＭ（Read-Only  Memory）、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。ストレージ２３０に格納されるプログラムは、ＨＭＤシステム１００において仮想空間を提供するためのプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、他のコンピュータ２００との通信を実現するためのプログラムを含む。ストレージ２３０に格納されるデータは、仮想空間を規定するためのデータおよびオブジェクト等を含む。
【００３９】
別の局面において、ストレージ２３０は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の局面において、コンピュータ２００に内蔵されたストレージ２３０の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使用する構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のＨＭＤシステム１００が使用される場面において、プログラムやデータの更新を一括して行なうことが可能になる。
【００４０】
入出力ＩＦ２４０は、ＨＭＤ１２０、ＨＭＤセンサ４１０、モーションセンサ４２０およびディスプレイ４３０との間で信号を通信する。ＨＭＤ１２０に含まれるモニタ１３０，注視センサ１４０，第１カメラ１５０，第２カメラ１６０，マイク１７０およびスピーカ１８０は、ＨＭＤ１２０の入出力ＩＦ２４０を介してコンピュータ２００との通信を行ない得る。ある局面において、入出力ＩＦ２４０は、ＵＳＢ（Universal  Serial  Bus）、ＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High-Definition  Multimedia  Interface）その他の端子を用いて実現される。入出力ＩＦ２４０は上述のものに限られない。
【００４１】
ある局面において、入出力ＩＦ２４０は、さらに、コントローラ３００と通信し得る。例えば、入出力ＩＦ２４０は、コントローラ３００およびモーションセンサ４２０から出力された信号の入力を受ける。別の局面において、入出力ＩＦ２４０は、プロセッサ２１０から出力された命令を、コントローラ３００に送る。当該命令は、振動、音声出力、発光等をコントローラ３００に指示する。コントローラ３００は、当該命令を受信すると、その命令に応じて、振動、音声出力または発光のいずれかを実行する。
【００４２】
通信ＩＦ２５０は、ネットワーク２に接続されて、ネットワーク２に接続されている他のコンピュータ（例えば、サーバ６００）と通信する。ある局面において、通信ＩＦ２５０は、例えば、ＬＡＮ（Local  Area  Network）その他の有線通信ＩＦ、あるいは、ＷｉＦｉ（Wireless  Fidelity）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Near  Field  Communication）その他の無線通信ＩＦとして実現される。通信ＩＦ２５０は上述のものに限られない。
【００４３】
ある局面において、プロセッサ２１０は、ストレージ２３０にアクセスし、ストレージ２３０に格納されている１つ以上のプログラムをメモリ２２０にロードし、当該プログラムに含まれる一連の命令を実行する。当該１つ以上のプログラムは、コンピュータ２００のオペレーティングシステム、仮想空間を提供するためのアプリケーションプログラム、仮想空間で実行可能なゲームソフトウェア等を含み得る。プロセッサ２１０は、入出力ＩＦ２４０を介して、仮想空間を提供するための信号をＨＭＤ１２０に送る。ＨＭＤ１２０は、その信号に基づいてモニタ１３０に映像を表示する。
【００４４】
図２に示される例では、コンピュータ２００は、ＨＭＤ１２０の外部に設けられる構成が示されているが、別の局面において、コンピュータ２００は、ＨＭＤ１２０に内蔵されてもよい。一例として、モニタ１３０を含む携帯型の情報通信端末（例えば、スマートフォン）がコンピュータ２００として機能してもよい。
【００４５】
コンピュータ２００は、複数のＨＭＤ１２０に共通して用いられる構成であってもよい。このような構成によれば、例えば、複数のプレイヤに同一の仮想空間を提供することもできるので、各プレイヤは同一の仮想空間で他のプレイヤと同一のアプリケーションを楽しむことができる。
【００４６】
ある実施の形態において、ＨＭＤシステム１００では、現実空間における座標系である実座標系が予め設定されている。実座標系は、現実空間における鉛直方向、鉛直方向に直交する水平方向、並びに、鉛直方向および水平方向の双方に直交する前後方向にそれぞれ平行な、３つの基準方向（軸）を有する。実座標系における水平方向、鉛直方向（上下方向）、および前後方向は、それぞれ、ｘ軸、ｙ軸、ｚ軸と規定される。より具体的には、実座標系において、ｘ軸は現実空間の水平方向に平行である。ｙ軸は、現実空間の鉛直方向に平行である。ｚ軸は現実空間の前後方向に平行である。
【００４７】
ある局面において、ＨＭＤセンサ４１０は、赤外線センサを含む。赤外線センサが、ＨＭＤ１２０の各光源から発せられた赤外線をそれぞれ検出すると、ＨＭＤ１２０の存在を検出する。ＨＭＤセンサ４１０は、さらに、各点の値（実座標系における各座標値）に基づいて、ＨＭＤ１２０を装着したプレイヤ５の動きに応じた、現実空間内におけるＨＭＤ１２０の位置および傾き（向き）を検出する。より詳しくは、ＨＭＤセンサ４１０は、経時的に検出された各値を用いて、ＨＭＤ１２０の位置および傾きの時間的変化を検出できる。
【００４８】
ＨＭＤセンサ４１０によって検出されたＨＭＤ１２０の各傾きは、実座標系におけるＨＭＤ１２０の３軸周りの各傾きに相当する。ＨＭＤセンサ４１０は、実座標系におけるＨＭＤ１２０の傾きに基づき、ｕｖｗ視野座標系をＨＭＤ１２０に設定する。ＨＭＤ１２０に設定されるｕｖｗ視野座標系は、ＨＭＤ１２０を装着したプレイヤ５が仮想空間において物体を見る際の視点座標系に対応する。
【００４９】
［ｕｖｗ視野座標系］
図３を参照して、ｕｖｗ視野座標系について説明する。図３は、ある実施の形態に従うＨＭＤ１２０に設定されるｕｖｗ視野座標系を概念的に表す図である。ＨＭＤセンサ４１０は、ＨＭＤ１２０の起動時に、実座標系におけるＨＭＤ１２０の位置および傾きを検出する。プロセッサ２１０は、検出された値に基づいて、ｕｖｗ視野座標系をＨＭＤ１２０に設定する。
【００５０】
図３に示されるように、ＨＭＤ１２０は、ＨＭＤ１２０を装着したプレイヤ５の頭部を中心（原点）とした３次元のｕｖｗ視野座標系を設定する。より具体的には、ＨＭＤ１２０は、実座標系を規定する水平方向、鉛直方向、および前後方向（ｘ軸、ｙ軸、ｚ軸）を、実座標系内においてＨＭＤ１２０の各軸周りの傾きだけ各軸周りにそれぞれ傾けることによって新たに得られる３つの方向を、ＨＭＤ１２０におけるｕｖｗ視野座標系のピッチ軸（ｕ軸）、ヨー軸（ｖ軸）、およびロール軸（ｗ軸）として設定する。
【００５１】
ある局面において、ＨＭＤ１２０を装着したプレイヤ５が直立し、かつ、正面を視認している場合、プロセッサ２１０は、実座標系に平行なｕｖｗ視野座標系をＨＭＤ１２０に設定する。この場合、実座標系における水平方向（ｘ軸）、鉛直方向（ｙ軸）、および前後方向（ｚ軸）は、ＨＭＤ１２０におけるｕｖｗ視野座標系のピッチ軸（ｕ軸）、ヨー軸（ｖ軸）、およびロール軸（ｗ軸）に一致する。
【００５２】
ｕｖｗ視野座標系がＨＭＤ１２０に設定された後、ＨＭＤセンサ４１０は、ＨＭＤ１２０の動きに基づいて、設定されたｕｖｗ視野座標系におけるＨＭＤ１２０の傾きを検出できる。この場合、ＨＭＤセンサ４１０は、ＨＭＤ１２０の傾きとして、ｕｖｗ視野座標系におけるＨＭＤ１２０のピッチ角（θｕ）、ヨー角（θｖ）、およびロール角（θｗ）をそれぞれ検出する。ピッチ角（θｕ）は、ｕｖｗ視野座標系におけるピッチ軸周りのＨＭＤ１２０の傾き角度を表す。ヨー角（θｖ）は、ｕｖｗ視野座標系におけるヨー軸周りのＨＭＤ１２０の傾き角度を表す。ロール角（θｗ）は、ｕｖｗ視野座標系におけるロール軸周りのＨＭＤ１２０の傾き角度を表す。
【００５３】
ＨＭＤセンサ４１０は、検出されたＨＭＤ１２０の傾きに基づいて、ＨＭＤ１２０が動いた後のＨＭＤ１２０におけるｕｖｗ視野座標系を、ＨＭＤ１２０に設定する。ＨＭＤ１２０と、ＨＭＤ１２０のｕｖｗ視野座標系との関係は、ＨＭＤ１２０の位置および傾きに関わらず、常に一定である。ＨＭＤ１２０の位置および傾きが変わると、当該位置および傾きの変化に連動して、実座標系におけるＨＭＤ１２０のｕｖｗ視野座標系の位置および傾きが変化する。
【００５４】
ある局面において、ＨＭＤセンサ４１０は、赤外線センサからの出力に基づいて取得される赤外線の光強度および複数の点間の相対的な位置関係（例えば、各点間の距離など）に基づいて、ＨＭＤ１２０の現実空間内における位置を、ＨＭＤセンサ４１０に対する相対位置として特定してもよい。プロセッサ２１０は、特定された相対位置に基づいて、現実空間内（実座標系）におけるＨＭＤ１２０のｕｖｗ視野座標系の原点を決定してもよい。
【００５５】
［仮想空間］
図４を参照して、仮想空間についてさらに説明する。図４は、ある実施の形態に従う仮想空間１１を表現する一態様を概念的に表す図である。仮想空間１１は、中心１２の３６０度方向の全体を覆う全天球状の構造を有する。図４では、説明を複雑にしないために、仮想空間１１のうちの上半分の天球が例示されている。仮想空間１１では各メッシュが規定される。各メッシュの位置は、仮想空間１１に規定されるグローバル座標系であるＸＹＺ座標系における座標値として予め規定されている。コンピュータ２００は、仮想空間１１に展開可能なパノラマ画像１３（静止画、動画等）を構成する各部分画像を、仮想空間１１において対応する各メッシュにそれぞれ対応付ける。
【００５６】
ある局面において、仮想空間１１では、中心１２を原点とするＸＹＺ座標系が規定される。ＸＹＺ座標系は、例えば、実座標系に平行である。ＸＹＺ座標系における水平方向、鉛直方向（上下方向）、および前後方向は、それぞれＸ軸、Ｙ軸、Ｚ軸として規定される。したがって、ＸＹＺ座標系のＸ軸（水平方向）が実座標系のｘ軸と平行であり、ＸＹＺ座標系のＹ軸（鉛直方向）が実座標系のｙ軸と平行であり、ＸＹＺ座標系のＺ軸（前後方向）が実座標系のｚ軸と平行である。
【００５７】
ＨＭＤ１２０の起動時、すなわちＨＭＤ１２０の初期状態において、仮想カメラ１４が、仮想空間１１の中心１２に配置される。ある局面において、プロセッサ２１０は、仮想カメラ１４が撮影する画像をＨＭＤ１２０のモニタ１３０に表示する。仮想カメラ１４は、現実空間におけるＨＭＤ１２０の動きに連動して、仮想空間１１を同様に移動する。これにより、現実空間におけるＨＭＤ１２０の位置および傾きの変化が、仮想空間１１において同様に再現され得る。
【００５８】
仮想カメラ１４には、ＨＭＤ１２０の場合と同様に、ｕｖｗ視野座標系が規定される。仮想空間１１における仮想カメラ１４のｕｖｗ視野座標系は、現実空間（実座標系）におけるＨＭＤ１２０のｕｖｗ視野座標系に連動するように規定されている。したがって、ＨＭＤ１２０の傾きが変化すると、それに応じて、仮想カメラ１４の傾きも変化する。仮想カメラ１４は、ＨＭＤ１２０を装着したプレイヤ５の現実空間における移動に連動して、仮想空間１１において移動することもできる。
【００５９】
コンピュータ２００のプロセッサ２１０は、仮想カメラ１４の位置と傾き（基準視線１６）とに基づいて、仮想空間１１における視界領域１５を規定する。視界領域１５は、仮想空間１１のうち、ＨＭＤ１２０を装着したプレイヤ５が視認する領域に対応する。つまり、仮想カメラ１４の位置は、仮想空間１１におけるプレイヤ５の視点と言える。
【００６０】
注視センサ１４０によって検出されるプレイヤ５の視線は、プレイヤ５が物体を視認する際の視点座標系における方向である。ＨＭＤ１２０のｕｖｗ視野座標系は、プレイヤ５がモニタ１３０を視認する際の視点座標系に等しい。仮想カメラ１４のｕｖｗ視野座標系は、ＨＭＤ１２０のｕｖｗ視野座標系に連動している。したがって、ある局面に従うＨＭＤシステム１００は、注視センサ１４０によって検出されたプレイヤ５の視線を、仮想カメラ１４のｕｖｗ視野座標系におけるプレイヤ５の視線とみなすことができる。
【００６１】
［プレイヤの視線］
図５を参照して、プレイヤ５の視線の決定について説明する。図５は、ある実施の形態に従うＨＭＤ１２０を装着するプレイヤ５の頭部を上から表した図である。
【００６２】
ある局面において、注視センサ１４０は、プレイヤ５の右目および左目の各視線を検出する。ある局面において、プレイヤ５が近くを見ている場合、注視センサ１４０は、視線Ｒ１およびＬ１を検出する。別の局面において、プレイヤ５が遠くを見ている場合、注視センサ１４０は、視線Ｒ２およびＬ２を検出する。この場合、ロール軸ｗに対して視線Ｒ２およびＬ２が成す角度は、ロール軸ｗに対して視線Ｒ１およびＬ１が成す角度よりも小さい。注視センサ１４０は、検出結果をコンピュータ２００に送信する。
【００６３】
コンピュータ２００が、視線の検出結果として、視線Ｒ１およびＬ１の検出値を注視センサ１４０から受信した場合には、その検出値に基づいて、視線Ｒ１およびＬ１の交点である注視点Ｎ１を特定する。一方、コンピュータ２００は、視線Ｒ２およびＬ２の検出値を注視センサ１４０から受信した場合には、視線Ｒ２およびＬ２の交点を注視点として特定する。コンピュータ２００は、特定した注視点Ｎ１の位置に基づき、プレイヤ５の視線Ｎ０を特定する。コンピュータ２００は、例えば、プレイヤ５の右目Ｒと左目Ｌとを結ぶ直線の中点と、注視点Ｎ１とを通る直線の延びる方向を、視線Ｎ０として検出する。視線Ｎ０は、プレイヤ５が両目により実際に視線を向けている方向である。視線Ｎ０は、視界領域１５に対してプレイヤ５が実際に視線を向けている方向に相当する。
【００６４】
別の局面において、ＨＭＤシステム１００は、テレビジョン放送受信チューナを備えてもよい。このような構成によれば、ＨＭＤシステム１００は、仮想空間１１においてテレビ番組を表示することができる。
【００６５】
さらに別の局面において、ＨＭＤシステム１００は、インターネットに接続するための通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。
【００６６】
［視界領域］
図６および図７を参照して、視界領域１５について説明する。図６は、仮想空間１１において視界領域１５をＸ方向から見たＹＺ断面を表す図である。図７は、仮想空間１１において視界領域１５をＹ方向から見たＸＺ断面を表す図である。
【００６７】
図６に示されるように、ＹＺ断面における視界領域１５は、領域１８を含む。領域１８は、仮想カメラ１４の位置と基準視線１６と仮想空間１１のＹＺ断面とによって定義される。プロセッサ２１０は、仮想空間における基準視線１６を中心として極角αを含む範囲を、領域１８として規定する。
【００６８】
図７に示されるように、ＸＺ断面における視界領域１５は、領域１９を含む。領域１９は、仮想カメラ１４の位置と基準視線１６と仮想空間１１のＸＺ断面とによって定義される。プロセッサ２１０は、仮想空間１１における基準視線１６を中心とした方位角βを含む範囲を、領域１９として規定する。極角αおよびβは、仮想カメラ１４の位置と仮想カメラ１４の傾き（向き）とに応じて定まる。
【００６９】
ある局面において、ＨＭＤシステム１００は、コンピュータ２００からの信号に基づいて、視界画像１７をモニタ１３０に表示させることにより、プレイヤ５に仮想空間１１における視界を提供する。視界画像１７は、パノラマ画像１３のうち視界領域１５に対応する部分に相当する画像である。プレイヤ５が、頭部に装着したＨＭＤ１２０を動かすと、その動きに連動して仮想カメラ１４も動く。その結果、仮想空間１１における視界領域１５の位置が変化する。これにより、モニタ１３０に表示される視界画像１７は、パノラマ画像１３のうち、仮想空間１１においてプレイヤ５が向いた方向の視界領域１５に重畳する画像に更新される。プレイヤ５は、仮想空間１１における所望の方向を視認することができる。
【００７０】
このように、仮想カメラ１４の傾きは仮想空間１１におけるプレイヤ５の視線（基準視線１６）に相当し、仮想カメラ１４が配置される位置は、仮想空間１１におけるプレイヤ５の視点に相当する。したがって、仮想カメラ１４の位置または傾きを変更することにより、モニタ１３０に表示される画像が更新され、プレイヤ５の視界が移動される。
【００７１】
プレイヤ５は、ＨＭＤ１２０を装着している間、現実世界を視認することなく、仮想空間１１に展開されるパノラマ画像１３のみを視認できる。そのため、ＨＭＤシステム１００は、仮想空間１１への高い没入感覚をプレイヤ５に与えることができる。
【００７２】
ある局面において、プロセッサ２１０は、ＨＭＤ１２０を装着したプレイヤ５の現実空間における移動に連動して、仮想空間１１において仮想カメラ１４を移動し得る。この場合、プロセッサ２１０は、仮想空間１１における仮想カメラ１４の位置および傾きに基づいて、ＨＭＤ１２０のモニタ１３０に投影される画像領域（視界領域１５）を特定する。
【００７３】
ある局面において、仮想カメラ１４は、２つの仮想カメラ、すなわち、右目用の画像を提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含み得る。プレイヤ５が３次元の仮想空間１１を認識できるように、適切な視差が、２つの仮想カメラに設定される。別の局面において、仮想カメラ１４を１つの仮想カメラにより実現してもよい。この場合、１つの仮想カメラにより得られた画像から、右目用の画像と左目用の画像とを生成するようにしてもよい。本実施の形態においては、仮想カメラ１４が２つの仮想カメラを含み、２つの仮想カメラのロール軸が合成されることによって生成されるロール軸（ｗ）がＨＭＤ１２０のロール軸（ｗ）に適合されるように構成されているものとして、本開示に係る技術思想を例示する。
【００７４】
［仮想空間に配置されるオブジェクト］
図８を参照して、仮想空間１１の一例について説明する。仮想空間１１には、複数種類のオブジェクトが配置される。複数種類のオブジェクトには、プレイヤ５の分身であるアバターオブジェクト６、コントローラ３００によって操作される仮想手などの操作オブジェクト、キャラクタオブジェクト、ゲームのストーリーの進行に従って配置される森、山その他を含む風景、街並み、動物等の背景オブジェクトなどが含まれる。図８には、アバターオブジェクト６、およびオブジェクトＡ〜Ｄが配置されている例が示されている。オブジェクトＡ〜Ｄとしては、例えば、キャラクタオブジェクトや背景オブジェクトなどが挙げられるが、これらに限定されるものではない。アバターオブジェクト６は、プレイヤ５の動きに応じた位置において動作・配置される。また、オブジェクトＡ〜Ｄなど（以下、他のオブジェクトともいう）は、ゲームプログラムに基づき、ゲームの進行に応じた位置において動作・配置される。
【００７５】
例えば、アバターオブジェクト６を敵キャラクタと対戦させる対戦ゲームでは、敵キャラクタのオブジェクト、当該敵キャラクタの攻撃を妨害する障害物のオブジェクト等が、他のオブジェクトに相当する。また、アバターオブジェクトにブロックの配置を並び替えさせるパズルゲームでは、色や形状が異なる複数のブロックのオブジェクト等が、他のオブジェクトに相当する。
【００７６】
さらに、アバターオブジェクトを密室から脱出させる脱出ゲームでは、室内に配置される家具（テーブル、椅子、タンス、ベッド等）のオブジェクト、脱出のためのアイテム（鍵や日記）のオブジェクト等が、他のオブジェクトに相当する。また、アバターオブジェクトに楽器を弾かせる音楽ゲームでは、楽器（ピアノ、バイオリン等）のオブジェクト、当該アバターオブジェクトとともに共演する他のキャラクタのオブジェクト等が、他のオブジェクトに相当する。
【００７７】
［コントローラ］
図９を参照して、コントローラ３００の一例について説明する。図９は、ある実施の形態に従うコントローラ３００の概略構成を表す図である。
【００７８】
図９に示されるように、ある局面において、コントローラ３００は、右コントローラ３００Ｒと図示せぬ左コントローラとを含み得る。右コントローラ３００Ｒは、プレイヤ５の右手で操作される。左コントローラは、プレイヤ５の左手で操作される。ある局面において、右コントローラ３００Ｒと左コントローラとは、別個の装置として対称に構成される。したがって、プレイヤ５は、右コントローラ３００Ｒを把持した右手と、左コントローラを把持した左手とをそれぞれ自由に動かすことができる。別の局面において、コントローラ３００は両手の操作を受け付ける一体型のコントローラであってもよい。以下、右コントローラ３００Ｒについて説明する。
【００７９】
右コントローラ３００Ｒは、グリップ３１０と、フレーム３２０と、天面３３０とを備える。グリップ３１０は、プレイヤ５の右手によって把持されるように構成されている。たとえば、グリップ３１０は、プレイヤ５の右手の掌と３本の指（中指、薬指、小指）とによって保持され得る。
【００８０】
グリップ３１０は、ボタン３４０，３５０と、モーションセンサ４２０とを含む。ボタン３４０は、グリップ３１０の側面に配置され、右手の中指による操作を受け付ける。ボタン３５０は、グリップ３１０の前面に配置され、右手の人差し指による操作を受け付ける。ある局面において、ボタン３４０，３５０は、トリガー式のボタンとして構成される。モーションセンサ４２０は、グリップ３１０の筐体に内蔵されている。プレイヤ５の動作がカメラその他の装置によってプレイヤ５の周りから検出可能である場合には、グリップ３１０は、モーションセンサ４２０を備えなくてもよい。
【００８１】
フレーム３２０は、その円周方向に沿って配置された複数の赤外線ＬＥＤ３６０を含む。赤外線ＬＥＤ３６０は、コントローラ３００を使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線ＬＥＤ３６０から発せられた赤外線は、右コントローラ３００Ｒと左コントローラとの各位置や姿勢（傾き、向き）を検出するために使用され得る。図９に示される例では、二列に配置された赤外線ＬＥＤ３６０が示されているが、配列の数は図９に示されるものに限られない。一列あるいは３列以上の配列が使用されてもよい。
【００８２】
天面３３０は、ボタン３７０，３８０と、アナログスティック３９０とを備える。ボタン３７０，３８０は、プッシュ式ボタンとして構成される。ボタン３７０，３８０は、プレイヤ５の右手の親指による操作を受け付ける。アナログスティック３９０は、ある局面において、初期位置（ニュートラルの位置）から３６０度任意の方向への操作を受け付ける。当該操作は、たとえば、仮想空間１１に配置されるオブジェクトを移動するための操作を含む。
【００８３】
ある局面において、右コントローラ３００Ｒおよび左コントローラは、赤外線ＬＥＤ３６０その他の部材を駆動するための電池を含む。電池は、充電式、ボタン型、乾電池型などを含むが、これらに限定されない。別の局面において、右コントローラ３００Ｒと左コントローラは、たとえば、コンピュータ２００のＵＳＢＩＦに接続され得る。この場合、右コントローラ３００Ｒおよび左コントローラは、電池を必要としない。
【００８４】
図９の状態（Ａ）および状態（Ｂ）に示されるように、例えば、プレイヤ５の右手に対して、ヨー、ロール、ピッチの各方向が規定される。プレイヤ５が親指と人差し指とを伸ばした場合に、親指の伸びる方向がヨー方向、人差し指の伸びる方向がロール方向、ヨー方向の軸およびロール方向の軸によって規定される平面に垂直な方向がピッチ方向として規定される。
【００８５】
［サーバのハードウェア構成］
図１０を参照して、本実施の形態に係るサーバ６００について説明する。図１０は、ある実施の形態に従うサーバ６００のハードウェア構成の一例を表すブロック図である。サーバ６００は、主たる構成要素として、プロセッサ６１０と、メモリ６２０と、ストレージ６３０と、入出力ＩＦ６４０と、通信ＩＦ６５０とを備える。各構成要素は、それぞれ、バス６６０に接続されている。
【００８６】
プロセッサ６１０は、サーバ６００に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ６２０またはストレージ６３０に格納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ６１０は、ＣＰＵ、ＧＰＵ、ＭＰＵ、ＦＰＧＡその他のデバイスとして実現される。
【００８７】
メモリ６２０は、プログラムおよびデータを一時的に保存する。プログラムは、例えば、ストレージ６３０からロードされる。データは、サーバ６００に入力されたデータと、プロセッサ６１０によって生成されたデータとを含む。ある局面において、メモリ６２０は、ＲＡＭその他の揮発メモリとして実現される。
【００８８】
ストレージ６３０は、プログラムおよびデータを永続的に保持する。ストレージ６３０は、例えば、ＲＯＭ、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。ストレージ６３０に格納されるプログラムは、ＨＭＤシステム１００およびユーザ端末８００の各々において仮想空間を提供するためのプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、コンピュータ２００およびユーザ端末８００との通信を実現するためのプログラムを含んでもよい。ストレージ６３０に格納されるデータは、仮想空間を規定するためのデータおよびオブジェクト等を含んでもよい。
【００８９】
別の局面において、ストレージ６３０は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の局面において、サーバ６００に内蔵されたストレージ６３０の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使用する構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のＨＭＤシステム１００が使用される場面において、プログラムやデータの更新を一括して行なうことが可能になる。
【００９０】
入出力ＩＦ６４０は、入出力機器との間で信号を通信する。ある局面において、入出力ＩＦ６４０は、ＵＳＢ、ＤＶＩ、ＨＤＭＩ（登録商標）その他の端子を用いて実現される。入出力ＩＦ６４０は上述のものに限られない。
【００９１】
通信ＩＦ６５０は、ネットワーク２に接続されて、ネットワーク２に接続されているコンピュータ２００およびユーザ端末８００の各々と通信する。ある局面において、通信ＩＦ６５０は、例えば、ＬＡＮその他の有線通信ＩＦ、あるいは、ＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣその他の無線通信ＩＦとして実現される。通信ＩＦ６５０は上述のものに限られない。
【００９２】
ある局面において、プロセッサ６１０は、ストレージ６３０にアクセスし、ストレージ６３０に格納されている１つ以上のプログラムをメモリ６２０にロードし、当該プログラムに含まれる一連の命令を実行する。当該１つ以上のプログラムは、サーバ６００のオペレーティングシステム、仮想空間を提供するためのアプリケーションプログラム、仮想空間で実行可能なゲームソフトウェア等を含み得る。プロセッサ６１０は、入出力ＩＦ６４０を介して、仮想空間を提供するための信号をコンピュータ２００およびユーザ端末８００の各々に送ってもよい。
【００９３】
［ＨＭＤの制御装置］
図１１を参照して、ＨＭＤ１２０の制御装置について説明する。ある実施の形態において、制御装置は周知の構成を有するコンピュータ２００によって実現される。図１１は、ある実施の形態に従うコンピュータ２００をモジュール構成として表わすブロック図である。
【００９４】
図１１に示されるように、コンピュータ２００は、コントロールモジュール５１０と、レンダリングモジュール５２０と、メモリモジュール５３０と、通信制御モジュール５４０とを備える。ある局面において、コントロールモジュール５１０とレンダリングモジュール５２０とは、プロセッサ２１０によって実現される。別の局面において、複数のプロセッサ２１０がコントロールモジュール５１０とレンダリングモジュール５２０として作動してもよい。メモリモジュール５３０は、メモリ２２０またはストレージ２３０によって実現される。通信制御モジュール５４０は、通信ＩＦ２５０によって実現される。
【００９５】
コントロールモジュール５１０は、プレイヤ５に提供される仮想空間１１を制御する。コントロールモジュール５１０は、仮想空間１１を表す仮想空間データを用いて、ＨＭＤシステム１００における仮想空間１１を規定する。仮想空間データは、例えば、メモリモジュール５３０に記憶されている。コントロールモジュール５１０が、仮想空間データを生成したり、サーバ６００などから仮想空間データを取得するようにしたりしてもよい。
【００９６】
コントロールモジュール５１０は、オブジェクトを表すオブジェクトデータ（オブジェクトを配置（表示）するための配置用データ（表示用データ））を用いて、仮想空間１１にオブジェクトを配置する。オブジェクトデータは、例えば、メモリモジュール５３０に記憶されている。コントロールモジュール５１０が、オブジェクトデータを生成したり、サーバ６００などからオブジェクトデータを取得するようにしたりしてもよい。
【００９７】
コントロールモジュール５１０は、プレイヤ５を含む画像に基づいて、プレイヤ５を模したアバターオブジェクトを仮想空間１１に配置する。ある局面において、コントロールモジュール５１０は、複数種類のアバターオブジェクト（例えば、動物を模したオブジェクトや、デフォルメされた人のオブジェクト）の中からプレイヤ５による選択を受け付けたアバターオブジェクトを仮想空間１１に配置する。ある局面において、コントロールモジュール５１０は、ネットワーク２を介して接続される他のコンピュータ２００のプレイヤ５のアバターオブジェクトを仮想空間１１に配置する。別の局面において、コントロールモジュール５１０は、プレイヤ５のアバターオブジェクトを仮想空間１１に配置してもよい。
【００９８】
コントロールモジュール５１０は、ＨＭＤセンサ４１０の出力に基づいてＨＭＤ１２０の傾きを特定する。別の局面において、コントロールモジュール５１０は、モーションセンサとして機能するセンサ１９０の出力に基づいてＨＭＤ１２０の傾きを特定する。コントロールモジュール５１０は、第１カメラ１５０および第２カメラ１６０が生成するプレイヤ５の顔の画像から、プレイヤ５の顔を構成する器官（例えば、口，目，眉）を検出する。コントロールモジュール５１０は、検出した各器官の動き（形状）を検出する。
【００９９】
コントロールモジュール５１０は、注視センサ１４０からの信号に基づいて、プレイヤ５の仮想空間１１における視線を検出する。コントロールモジュール５１０は、検出したプレイヤ５の視線と仮想空間１１の天球とが交わる視点位置（ＸＹＺ座標系における座標値）を検出する。より具体的には、コントロールモジュール５１０は、ｕｖｗ座標系で規定されるプレイヤ５の視線と、仮想カメラ１４の位置および傾きとに基づいて、視点位置を検出する。コントロールモジュール５１０は、検出した視点位置をサーバ６００に送信する。別の局面において、コントロールモジュール５１０は、プレイヤ５の視線を表す視線情報をサーバ６００に送信するように構成されてもよい。係る場合、サーバ６００が受信した視線情報に基づいて視点位置を算出し得る。
【０１００】
コントロールモジュール５１０は、ＨＭＤセンサ４１０が検出するプレイヤ５の身体の動きをアバターオブジェクトに反映する。例えば、コントロールモジュール５１０は、プレイヤ５がしゃがみこんだことを検知して、アバターオブジェクトをしゃがみこませる。コントロールモジュール５１０は、検出した顔器官の動作を、仮想空間１１に配置されるアバターオブジェクトの顔に反映させる。ある局面において、コントロールモジュール５１０は、コントローラ３００の動きをアバターオブジェクトや操作オブジェクトに反映する。この場合、コントローラ３００は、コントローラ３００の動きを検知するためのモーションセンサ、加速度センサ、または複数の発光素子（例えば、赤外線ＬＥＤ）などを備える。別の局面において、コントロールモジュール５１０は、サーバ６００から他のプレイヤ５の視線情報を受信し、当該他のプレイヤ５のアバターオブジェクトの視線に反映させてもよい。
【０１０１】
コントロールモジュール５１０は、仮想空間１１においてプレイヤ５の操作を受け付けるための操作オブジェクトを含むオブジェクトを仮想空間１１に配置する。プレイヤ５は、操作オブジェクトを操作することにより、例えば、仮想空間１１に配置されるオブジェクトを操作する。ある局面において、操作オブジェクトは、例えば、プレイヤ５の手に相当する仮想手である手オブジェクト等を含み得る。ある局面において、コントロールモジュール５１０は、モーションセンサ４２０の出力に基づいて現実空間におけるプレイヤ５の手の動きに連動するように仮想空間１１において手オブジェクトを動かす。ある局面において、操作オブジェクトは、アバターオブジェクトの手の部分に相当し得る。
【０１０２】
コントロールモジュール５１０は、仮想空間１１に配置されるオブジェクトのそれぞれが、他のオブジェクトと衝突した場合に、当該衝突を検出する。コントロールモジュール５１０は、例えば、あるオブジェクトのコリジョンエリアと、別のオブジェクトのコリジョンエリアとが触れたタイミングを検出することができ、当該検出がされたときに、予め定められた処理を行なう。コントロールモジュール５１０は、オブジェクトとオブジェクトとが触れている状態から離れたタイミングを検出することができ、当該検出がされたときに、予め定められた処理を行なう。コントロールモジュール５１０は、オブジェクトとオブジェクトとが触れている状態であることを検出することができる。例えば、コントロールモジュール５１０は、操作オブジェクトと、他のオブジェクトとが触れたときに、これら操作オブジェクトと他のオブジェクトとが触れたことを検出して、予め定められた処理を行なう。
【０１０３】
ある局面において、コントロールモジュール５１０は、ＨＭＤ１２０のモニタ１３０における画像表示を制御する。例えば、コントロールモジュール５１０は、仮想空間１１に仮想カメラ１４を配置する。コントロールモジュール５１０は、仮想空間１１における仮想カメラ１４の位置と、仮想カメラ１４の傾き（向き）を制御する。コントロールモジュール５１０は、ＨＭＤ１２０を装着したプレイヤ５の頭部の傾きと、仮想カメラ１４の位置に応じて、視界領域１５を規定する。レンダリングモジュール５２０は、決定された視界領域１５に基づいて、モニタ１３０に表示される視界画像１７を生成する。レンダリングモジュール５２０により生成された視界画像１７は、通信制御モジュール５４０によってＨＭＤ１２０に出力される。
【０１０４】
コントロールモジュール５１０は、ＨＭＤ１２０から、プレイヤ５のマイク１７０を用いた発話を検出すると、当該発話に対応する音声データの送信対象のコンピュータ２００を特定する。音声データは、コントロールモジュール５１０によって特定されたコンピュータ２００に送信される。コントロールモジュール５１０は、ネットワーク２を介して他のユーザのコンピュータ２００から音声データを受信すると、当該音声データに対応する音声（発話）をスピーカ１８０から出力する。
【０１０５】
メモリモジュール５３０は、コンピュータ２００が仮想空間１１をプレイヤ５に提供するために使用されるデータを保持している。ある局面において、メモリモジュール５３０は、空間情報と、オブジェクト情報と、プレイヤ情報とを保持している。
【０１０６】
空間情報は、仮想空間１１を提供するために規定された１つ以上のテンプレートを保持している。
【０１０７】
オブジェクト情報は、仮想空間１１を構成する複数のパノラマ画像１３、仮想空間１１にオブジェクトを配置するためのオブジェクトデータを含む。パノラマ画像１３は、静止画像および動画像を含み得る。パノラマ画像１３は、非現実空間の画像と現実空間の画像とを含み得る。非現実空間の画像としては、例えば、コンピュータグラフィックスで生成された画像が挙げられる。
【０１０８】
プレイヤ情報は、プレイヤ５を識別するプレイヤＩＤを保持する。プレイヤＩＤは、例えば、プレイヤが使用するコンピュータ２００に設定されるＩＰ（Internet  Protocol）アドレスまたはＭＡＣ（Media  Access  Control）アドレスであり得る。別の局面において、プレイヤＩＤはプレイヤによって設定され得る。プレイヤ情報は、ＨＭＤシステム１００の制御装置としてコンピュータ２００を機能させるためのプログラム等を含む。
【０１０９】
メモリモジュール５３０に格納されているデータおよびプログラムは、ＨＭＤ１２０のプレイヤ５によって入力される。あるいは、プロセッサ２１０が、当該コンテンツを提供する事業者が運営するコンピュータ（例えば、サーバ６００）からプログラムあるいはデータをダウンロードして、ダウンロードされたプログラムあるいはデータをメモリモジュール５３０に格納する。
【０１１０】
通信制御モジュール５４０は、ネットワーク２を介して、サーバ６００その他の情報通信装置と通信し得る。
【０１１１】
ある局面において、コントロールモジュール５１０及びレンダリングモジュール５２０は、例えば、ユニティテクノロジーズ社によって提供されるＵｎｉｔｙ（登録商標）を用いて実現され得る。別の局面において、コントロールモジュール５１０及びレンダリングモジュール５２０は、各処理を実現する回路素子の組み合わせとしても実現され得る。
【０１１２】
コンピュータ２００における処理は、ハードウェアと、プロセッサ２１０により実行されるソフトウェアとによって実現される。このようなソフトウェアは、ハードディスクその他のメモリモジュール５３０に予め格納されている場合がある。ソフトウェアは、ＣＤ−ＲＯＭその他のコンピュータ読み取り可能な不揮発性のデータ記録媒体に格納されて、プログラム製品として流通している場合もある。あるいは、当該ソフトウェアは、インターネットその他のネットワークに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。このようなソフトウェアは、光ディスク駆動装置その他のデータ読取装置によってデータ記録媒体から読み取られて、あるいは、通信制御モジュール５４０を介してサーバ６００その他のコンピュータからダウンロードされた後、記憶モジュールに一旦格納される。そのソフトウェアは、プロセッサ２１０によって記憶モジュールから読み出され、実行可能なプログラムの形式でＲＡＭに格納される。プロセッサ２１０は、そのプログラムを実行する。
【０１１３】
［モジュールの詳細構成］
図１２を参照して、コンピュータ２００のモジュール構成の詳細について説明する。図１２は、ある実施の形態に従うコンピュータ２００のモジュールの詳細構成を表わすブロック図である。図１２に示されるように、コントロールモジュール５１０は、仮想オブジェクト生成モジュール１４２１、仮想カメラ制御モジュール１４２２、操作オブジェクト制御モジュール１４２３、アバターオブジェクト制御モジュール１４２４、動き検出モジュール１４２５、衝突検出モジュール１４２６、および仮想オブジェクト制御モジュール１４２７を備えている。
【０１１４】
仮想オブジェクト生成モジュール１４２１は、各種の仮想オブジェクトを仮想空間１１に配置するためのデータを生成する。ある局面において、仮想オブジェクトは、例えば、ゲームのストーリーの進行に従って配置される森、山その他を含む風景、街並み、動物等を含み得る。ある局面において、仮想オブジェクトは、アバターオブジェクト、操作オブジェクト、およびステージオブジェクトを含み得る。
【０１１５】
仮想カメラ制御モジュール１４２２は、仮想空間１１における仮想カメラ１４の挙動を制御する。仮想カメラ制御モジュール１４２２は、例えば、仮想空間１１における仮想カメラ１４の配置位置と、仮想カメラ１４の向き（傾き）とを制御する。
【０１１６】
操作オブジェクト制御モジュール１４２３は、仮想空間１１においてプレイヤ５の操作を受け付けるための操作オブジェクトを制御する。プレイヤ５は、操作オブジェクトを操作することによって、例えば、仮想空間１１に配置される仮想オブジェクトを操作する。ある局面において、操作オブジェクトは、例えば、ＨＭＤ１２０を装着したプレイヤ５の手に相当する手オブジェクト（仮想手）等を含み得る。ある局面において、操作オブジェクトは、後述するアバターオブジェクトの手の部分に相当し得る。
【０１１７】
アバターオブジェクト制御モジュール１４２４は、ＨＭＤセンサ４１０が検出するプレイヤ５の動きをアバターオブジェクトに反映する。例えば、アバターオブジェクト制御モジュール１４２４は、プレイヤ５がしゃがみこんだことを検知して、アバターオブジェクトをしゃがみこませるためのデータを生成する。ある局面において、アバターオブジェクト制御モジュール１４２４は、コントローラ３００の動きをアバターオブジェクトに反映する。この場合、コントローラ３００は、コントローラ３００の動きを検知するためのモーションセンサ、加速度センサ、または複数の発光素子（例えば、赤外線ＬＥＤ）などを備える。アバターオブジェクト制御モジュール１４２４は、動き検出モジュール１４２５が検出した顔器官の動作を、仮想空間１１に配置されるアバターオブジェクトの顔に反映させる。つまり、アバターオブジェクト制御モジュール１４２４は、プレイヤ５の顔の動作をアバターオブジェクトに反映する。
【０１１８】
動き検出モジュール１４２５は、プレイヤ５の動きを検出する。動き検出モジュール１４２５は、例えば、コントローラ３００の出力に応じて、プレイヤ５の手の動きを検出する。動き検出モジュール１４２５は、例えば、ＨＭＤセンサ４１０の出力に応じて、プレイヤ５の身体の動きを検出する。動き検出モジュール１４２５は、プレイヤ５の顔器官の動作を検出することもできる。
【０１１９】
衝突検出モジュール１４２６は、仮想空間１１に配置される仮想オブジェクトのそれぞれが、他の仮想オブジェクトと衝突した場合に、当該衝突を検出する。衝突検出モジュール１４２６は、例えば、ある仮想オブジェクトと、別の仮想オブジェクトとが触れたタイミングを検出することができる。衝突検出モジュール１４２６は、ある仮想オブジェクトと他の仮想オブジェクトとが触れている状態から離れたタイミングを検出することができる。衝突検出モジュール１４２６は、ある仮想オブジェクトと他の仮想オブジェクトとが触れている状態であることを検出することもできる。衝突検出モジュール１４２６は、例えば、操作オブジェクトと、他の仮想オブジェクトとが触れたときに、これら操作オブジェクトと他のオブジェクトとが触れたことを検出する。衝突検出モジュール１４２６は、これらの検出結果に基づいて、予め定められた処理を実行する。
【０１２０】
仮想オブジェクト制御モジュール１４２７は、仮想空間１１において、アバターオブジェクトを除く仮想オブジェクトの挙動を制御する。一例として、仮想オブジェクト制御モジュール１４２７は、仮想オブジェクトを変形させる。別の例として、仮想オブジェクト制御モジュール１４２７は、仮想オブジェクトの配置位置を変更する。別の例として、仮想オブジェクト制御モジュール１４２７は、仮想オブジェクトを移動させる。
【０１２１】
［ユーザ端末のハードウェア構成］
図１３を参照して、本実施の形態に係るユーザ端末（視聴者端末）８００について説明する。図１３は、ある実施の形態に従うユーザ端末８００のハードウェア構成の一例を表すブロック図である。ユーザ端末８００（コンピュータ、情報処理装置）は、スマートフォン、フィーチャーフォン、ＰＤＡ（Personal Digital Assistant）、またはタブレット型コンピュータ等の携帯端末であってよい。ユーザ端末８００は、ゲームプレイに適したゲーム装置であってもよい。ユーザ端末８００は図示の通り、プロセッサ８１０と、メモリ８２０と、ストレージ８３０と、通信ＩＦ１３と、入出力ＩＦ８４０と、タッチスクリーン８７０（表示部）と、カメラ８６０と、測距センサ８８０とを備える。ユーザ端末８００が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、ユーザ端末８００は、タッチスクリーン８７０に代えて、または、加えて、ユーザ端末８００本体とは別に構成されたディスプレイ（表示部）を接続可能な入出力ＩＦ８４０を備えていてもよい。
【０１２２】
また、図１３に示すように、ユーザ端末８００は、１つ以上のコントローラ１０２０と通信可能に構成されることとしてもよい。コントローラ１０２０は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の通信規格に従って、ユーザ端末８００と通信を確立する。コントローラ１０２０は、１つ以上のボタン等を有していてもよく、該ボタン等に対するユーザ８の入力操作に基づく出力値をユーザ端末８００へ送信する。なお、ユーザ８は、配信されるコンテンツを視聴する者でもあるため、視聴者ともいう。また、コントローラ１０２０は、加速度センサ、および、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値をユーザ端末８００へ送信する。
【０１２３】
なお、ユーザ端末８００がカメラ８６０および測距センサ８８０を備えることに代えて、または、加えて、コントローラ１０２０がカメラ８６０および測距センサ８８０を有していてもよい。
【０１２４】
ユーザ端末８００は、例えばゲーム（あるいは視聴）開始時に、コントローラ１０２０を使用するユーザ８に、該ユーザ８の名前またはログインＩＤ等のユーザ識別情報を、該コントローラ１０２０を介して入力させることが望ましい。これにより、ユーザ端末８００は、コントローラ１０２０とユーザ８とを紐付けることが可能となり、受信した出力値の送信元（コントローラ１０２０）に基づいて、該出力値がどのユーザ８のものであるかを特定することができる。
【０１２５】
ユーザ端末８００が複数のコントローラ１０２０と通信する場合、各コントローラ１０２０を各ユーザ８が把持することで、ネットワーク２を介してサーバ６００などの他の装置と通信せずに、該１台のユーザ端末８００でマルチプレイを実現することができる。また、各ユーザ端末８００が無線ＬＡＮ規格等の無線規格により互いに通信接続する（サーバ６００を介さずに通信接続する）ことで、複数台のユーザ端末８００によりローカルでマルチプレイを実現することもできる。１台のユーザ端末８００によりローカルで上述のマルチプレイを実現する場合、ユーザ端末８００は、さらに、サーバ６００が備える後述する種々の機能の少なくとも一部を備えていてもよい。また、複数のユーザ端末８００によりローカルで上述のマルチプレイを実現する場合、複数のユーザ端末８００は、サーバ６００が備える後述する種々の機能を分散して備えていてもよい。
【０１２６】
なお、ローカルで上述のマルチプレイを実現する場合であっても、ユーザ端末８００はサーバ６００と通信を行ってもよい。例えば、あるゲームにおける成績または勝敗等のプレイ結果を示す情報と、ユーザ識別情報とを対応付けてサーバ６００に送信してもよい。
【０１２７】
また、コントローラ１０２０は、ユーザ端末８００に着脱可能な構成であるとしてもよい。この場合、ユーザ端末８００の筐体における少なくともいずれかの面に、コントローラ１０２０との結合部が設けられていてもよい。該結合部を介して有線によりユーザ端末８００とコントローラ１０２０とが結合している場合は、ユーザ端末８００とコントローラ１０２０とは、有線を介して信号を送受信する。
【０１２８】
図１３に示すように、ユーザ端末８００は、外部のメモリカード等の記憶媒体１０３０の装着を、入出力ＩＦ８４０を介して受け付けてもよい。これにより、ユーザ端末８００は、記憶媒体１０３０に記録されるプログラム及びデータを読み込むことができる。記憶媒体１０３０に記録されるプログラムは、例えばゲームプログラムである。
【０１２９】
ユーザ端末８００は、サーバ６００等の外部の装置と通信することにより取得したゲームプログラムをユーザ端末８００のメモリ８２０に記憶してもよいし、記憶媒体１０３０から読み込むことにより取得したゲームプログラムをメモリ８２０に記憶してもよい。
【０１３０】
以上で説明したとおり、ユーザ端末８００は、該ユーザ端末８００に対して情報を入力する機構の一例として、通信ＩＦ８５０、入出力ＩＦ８４０、タッチスクリーン８７０、カメラ８６０、測距センサ８８０、およびスピーカ８９０を備える。入力する機構としての上述の各部は、ユーザ８の入力操作を受け付けるように構成された操作部と捉えることができる。
【０１３１】
例えば、操作部が、カメラ８６０および測距センサ８８０の少なくともいずれか一方で構成される場合、該操作部が、ユーザ端末８００の近傍の物体１０１０を検出し、当該物体の検出結果から入力操作を特定する。一例として、物体１０１０としてのユーザ８の手、予め定められた形状のマーカーなどが検出され、検出結果として得られた物体１０１０の色、形状、動き、または、種類などに基づいて入力操作が特定される。より具体的には、ユーザ端末８００は、カメラ８６０の撮影画像からユーザ８の手が検出された場合、該撮影画像に基づき検出されるジェスチャ（ユーザ８の手の一連の動き）を、ユーザ８の入力操作として特定し、受け付ける。なお、撮影画像は静止画であっても動画であってもよい。
【０１３２】
あるいは、操作部がタッチスクリーン８７０で構成される場合、ユーザ端末８００は、タッチスクリーン８７０の入力部８７０１に対して実施されたユーザ８の操作をユーザ８の入力操作として特定し、受け付ける。あるいは、操作部が通信ＩＦ８５０で構成される場合、ユーザ端末８００は、コントローラ１０２０から送信される信号（例えば、出力値）をユーザ８の入力操作として特定し、受け付ける。あるいは、操作部が入出力ＩＦ８４０で構成される場合、該入出力ＩＦ８４０と接続されるコントローラ１０２０とは異なる入力装置（図示せず）から出力される信号をユーザ８の入力操作として特定し、受け付ける。
【０１３３】
プロセッサ８１０は、ユーザ端末８００全体の動作を制御する。プロセッサ８１０は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、およびＧＰＵ（Graphics Processing Unit）を含む。
【０１３４】
プロセッサ８１０はストレージ８３０からプログラムを読み出し、メモリ８２０に展開する。プロセッサ８１０は展開したプログラムを実行する。
【０１３５】
メモリ８２０は主記憶装置である。メモリ８２０は、ＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）等の記憶装置で構成される。メモリ８２０は、プロセッサ８１０が後述するストレージ８３０から読み出したプログラムや仮想空間データ、オブジェクトデータ等を一時的に記憶することにより、プロセッサ８１０に作業領域を提供する。メモリ８２０は、プロセッサ８１０がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
【０１３６】
本実施形態においてプログラムとは、ゲームをユーザ端末８００により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをユーザ端末８００とサーバ６００との協働により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをユーザ端末８００とサーバ６００とＨＭＤセット１１０との協働により実現するためのゲームプログラムであってもよい。なお、ユーザ端末８００とサーバ６００との協働により実現されるゲームおよびユーザ端末８００とサーバ６００とＨＭＤセット１１０との協働により実現されるゲームは、一例として、ユーザ端末８００において起動されたブラウザ上で実行されるゲームであってもよい。あるいは、該プログラムは、該ゲームを複数のユーザ端末８００の協働により実現するためのゲームプログラムであってもよい。また、各種データとは、ユーザ情報およびゲーム情報などのゲームに関するデータ、ならびに、ＨＭＤシステム１００の各装置間で送受信する指示または通知を含んでいる。
【０１３７】
ストレージ８３０は補助記憶装置である。ストレージ８３０は、フラッシュメモリまたはＨＤＤ（Hard Disk Drive）等の記憶装置で構成される。ストレージ８３０には、仮想空間データおよびオブジェクトデータ等が格納される。当該仮想空間データおよびオブジェクトデータ等は、ユーザ端末８００が本ゲームに係るアプリケーション（視聴用のアプリケーションを含む）を初めてダウンロードするときや、本ゲームに係るアプリケーション（視聴用のアプリケーションを含む）を更新するときなどに、サーバ６００から当該ユーザ端末８００に提供される。
【０１３８】
通信ＩＦ８５０は、ユーザ端末８００における各種データの送受信を制御する。通信ＩＦ８５０は、例えば、無線ＬＡＮを介する通信、有線ＬＡＮ、無線ＬＡＮ、または携帯電話回線網を介したインターネット通信、ならびに近距離無線通信等を用いた通信を制御する。
【０１３９】
入出力ＩＦ８４０は、ユーザ端末８００がデータの入力を受け付けるためのインターフェースであり、またユーザ端末８００がデータを出力するためのインターフェースである。入出力ＩＦ８４０は、ＵＳＢ等を介してデータの入出力を行ってもよい。入出力ＩＦ８４０は、例えば、ユーザ端末８００の物理ボタン、カメラ、マイク、または、スピーカ等を含み得る。
【０１４０】
ユーザ端末８００のタッチスクリーン８７０は、入力部８７０１と表示部８７０２とを組み合わせた電子部品である。入力部８７０１は、例えばタッチセンシティブなデバイスであり、例えばタッチパッドによって構成される。表示部８７０２は、例えば液晶ディスプレイ、または有機ＥＬディスプレイ等によって構成される。入力部８７０１は、入力面に対しユーザ８の操作（主にタッチ操作、スライド操作、スワイプ操作、およびタップ操作等の物理的接触操作）が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部８７０１は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
【０１４１】
ＨＭＤセット１１０のディスプレイ４３０は、ユーザ端末８００のタッチスクリーン８７０と同様に、入力部と表示部とを組み合わせたタッチスクリーンによって構成されていてもよい。
【０１４２】
図示していないが、ユーザ端末８００は、該ユーザ端末８００の保持姿勢を特定するための１以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、または、角速度センサ等であってもよい。ユーザ端末８００がセンサを備えている場合、プロセッサ８１０は、センサの出力からユーザ端末８００の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ８１０は、ユーザ端末８００が縦向きに保持されているときには、縦長の画像を表示部８７０２に表示させる縦画面表示としてもよい。一方、ユーザ端末８００が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ８１０は、ユーザ端末８００の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
【０１４３】
スピーカ８９０は、音声データに基づき音声を出力する。カメラ８６０は、イメージセンサ等を含み、レンズから入射する入射光を電気信号に変換することで撮影画像を生成する。
【０１４４】
測距センサ８８０は、測定対象物までの距離を測定するセンサである。測距センサ８８０は、例えば、パルス変換した光を発する光源と、光を受ける受光素子とを含む。測距センサ８８０は、光源からの発光タイミングと、該光源から発せられた光が測定対象物にあたって反射されて生じる反射光の受光タイミングとにより、測定対象物までの距離を測定する。測距センサ８８０は、指向性を有する光を発する光源を有することとしてもよい。
【０１４５】
ここで、ユーザ端末８００が、カメラ８６０と測距センサ８８０とを用いて、ユーザ端末８００の近傍の物体１０１０を検出した検出結果を、ユーザ８の入力操作として受け付ける例をさらに説明する。カメラ８６０および測距センサ８８０は、例えば、ユーザ端末８００の筐体の側面に設けられてもよい。カメラ８６０の近傍に測距センサ８８０が設けられてもよい。カメラ８６０としては、例えば赤外線カメラを用いることができる。この場合、赤外線を照射する照明装置および可視光を遮断するフィルタ等が、カメラ８６０に設けられてもよい。これにより、屋外か屋内かにかかわらず、カメラ８６０の撮影画像に基づく物体の検出精度をいっそう向上させることができる。
【０１４６】
プロセッサ８１０は、カメラ８６０の撮影画像に対して、例えば以下の（１）〜（５）に示す処理のうち１つ以上の処理を行ってもよい。（１）プロセッサ８１０は、カメラ８６０の撮影画像に対し画像認識処理を行うことで、該撮影画像にユーザ８の手が含まれているか否かを特定する。プロセッサ８１０は、上述の画像認識処理において採用する解析技術として、例えばパターンマッチング等の技術を用いてよい。（２）また、プロセッサ８１０は、ユーザ８の手の形状から、ユーザ８のジェスチャを検出する。プロセッサ８１０は、例えば、撮影画像から検出されるユーザ８の手の形状から、ユーザ８の指の本数（伸びている指の本数）を特定する。プロセッサ８１０はさらに、特定した指の本数から、ユーザ８が行ったジェスチャを特定する。例えば、プロセッサ８１０は、指の本数が５本である場合、ユーザ８が「パー」のジェスチャを行ったと判定する。また、プロセッサ８１０は、指の本数が０本である（指が検出されなかった）場合、ユーザ８が「グー」のジェスチャを行ったと判定する。また、プロセッサ８１０は、指の本数が２本である場合、ユーザ８が「チョキ」のジェスチャを行ったと判定する。（３）プロセッサ８１０は、カメラ８６０の撮影画像に対し、画像認識処理を行うことにより、ユーザ８の指が人差し指のみ立てた状態であるか、ユーザ８の指がはじくような動きをしたかを検出する。（４）プロセッサ８１０は、カメラ８６０の撮影画像の画像認識結果、および、測距センサ８８０の出力値等の少なくともいずれか１つに基づいて、ユーザ端末８００の近傍の物体１０１０（ユーザ８の手など）とユーザ端末８００との距離を検出する。例えば、プロセッサ８１０は、カメラ８６０の撮影画像から特定されるユーザ８の手の形状の大小により、ユーザ８の手がユーザ端末８００の近傍（例えば所定値未満の距離）にあるのか、遠く（例えば所定値以上の距離）にあるのかを検出する。なお、撮影画像が動画の場合、プロセッサ８１０は、ユーザ８の手がユーザ端末８００に接近しているのか遠ざかっているのかを検出してもよい。（５）カメラ８６０の撮影画像の画像認識結果等に基づいて、ユーザ８の手が検出されている状態で、ユーザ端末８００とユーザ８の手との距離が変化していることが判明した場合、プロセッサ８１０は、ユーザ８が手をカメラ８６０の撮影方向において振っていると認識する。カメラ８６０の撮影範囲よりも指向性が強い測距センサ８８０において、物体が検出されたりされなかったりする場合に、プロセッサ８１０は、ユーザ８が手をカメラの撮影方向に直交する方向に振っていると認識する。
【０１４７】
このように、プロセッサ８１０は、カメラ８６０の撮影画像に対する画像認識により、ユーザ８が手を握りこんでいるか否か（「グー」のジェスチャであるか、それ以外のジェスチャ（例えば「パー」）であるか）を検出する。また、プロセッサ８１０は、ユーザ８の手の形状とともに、ユーザ８がこの手をどのように移動させているかを検出する。また、プロセッサ８１０は、ユーザ８がこの手をユーザ端末８００に対して接近させているのか遠ざけているのかを検出する。このような操作は、例えば、マウスまたはタッチパネルなどのポインティングデバイスを用いた操作に対応させることができる。ユーザ端末８００は、例えば、ユーザ８の手の移動に応じて、タッチスクリーン８７０においてポインタを移動させ、ユーザ８のジェスチャ「グー」を検出する。この場合、ユーザ端末８００は、ユーザ８が選択操作を継続中であると認識する。選択操作の継続とは、例えば、マウスがクリックされて押し込まれた状態が維持されること、または、タッチパネルに対してタッチダウン操作がなされた後タッチされた状態が維持されることに対応する。また、ユーザ端末８００は、ユーザ８のジェスチャ「グー」が検出されている状態で、さらにユーザ８が手を移動させると、このような一連のジェスチャを、スワイプ操作（またはドラッグ操作）に対応する操作として認識することもできる。また、ユーザ端末８００は、カメラ８６０の撮影画像によるユーザ８の手の検出結果に基づいて、ユーザ８が指をはじくようなジェスチャを検出した場合に、当該ジェスチャを、マウスのクリックまたはタッチパネルへのタップ操作に対応する操作として認識してもよい。
【０１４８】
＜ユーザ端末８００における仮想空間＞
図１４は、ユーザ端末８００において規定される仮想空間１１及び視界画像１４００の一例を模式的に示す図である。図１４（Ａ）では、仮想空間１１に、アバターオブジェクト６と他のオブジェクトＡ〜Ｄとが配置される。コンピュータ２００は、図８に示す仮想空間１１におけるアバターオブジェクト６および他のオブジェクトＡ〜Ｄの配置・動作等を特定するための動作指図データ（後述）を、ユーザ端末８００に配信する。このため、図１４に示す仮想空間１１におけるアバターオブジェクト６および他のオブジェクトＡ〜Ｄの配置や動きは、図８に示す仮想空間１１におけるアバターオブジェクト６および他のオブジェクトＡ〜Ｄの配置や動きと一致する。ユーザ８Ａは、左手にユーザ端末８００Ａを把持している。図１４の例では、ユーザ８Ａは、アバターオブジェクト６が実演する番組であるライブゲーム進行パートを、ユーザ端末８００Ａの画面を視認しながら視聴する。
【０１４９】
ユーザ端末８００において規定される仮想空間１１において、アバターオブジェクト６は、動作指図データに基づいて、図８に示す仮想空間１１におけるアバターオブジェクト６の動きと同じ動きをする。ユーザ８Ａは、ユーザ端末８００Ａの画面を通じて、ライブゲーム進行パートの参加者としてアバターオブジェクト６のパフォーマンスを視聴する。また、他のユーザ８Ｃ、８Ｄは、他のユーザ端末８００Ｃ、８００Ｄの画面を通じて、ライブゲーム進行パートの参加者としてアバターオブジェクト６のパフォーマンスを視聴する。このように、アバターオブジェクト６によって進行するライブゲーム進行パートは、複数のユーザ８に対して同時に配信される。
【０１５０】
図１４（Ａ）の例では、ユーザ端末８００Ａにより規定された仮想空間１１において、アバターオブジェクト６の前方に、仮想カメラ２０Ａが配置される。仮想カメラ２０Ａは、当該仮想カメラ２０Ａの位置および向きに応じた視界領域２１を規定する。プロセッサ８１０は、視界領域２１に対応する視界画像１４００を生成して、図１４（Ｂ）に示すように、タッチスクリーン８７０の表示部８７０２に表示する。即ち、視界領域２１は、仮想カメラ２０Ａの視点で規定され、視界画像１４００も仮想カメラ２０Ａの視点で表示される。視界画像１４００には、パフォーマンスを実行するアバターオブジェクト６が少なくとも含まれる。ユーザ８Ａは、視界画像１４００を視認することによって、アバターオブジェクト６と、アバターオブジェクト６が登場する仮想空間１１の一部とを、視認する。これにより、ユーザ８Ａは、あたかもアバターオブジェクト６が実際の配信者であるかのような仮想体験を、得ることができる。
【０１５１】
＜ＨＭＤシステム１００の機能的構成＞
図１５は、ＨＭＤシステム１００に含まれるＨＭＤセット１１０、ユーザ端末８００、およびサーバ６００の機能的構成を示すブロック図である。ＨＭＤセット１１０、ユーザ端末８００、サーバ６００のそれぞれは、図示しない、一般的なコンピュータとして機能する場合に必要な機能的構成、および、ゲームにおける公知の機能を実現するために必要な機能的構成を含み得る。
【０１５２】
ＨＭＤセット１１０は、図８に示す仮想空間１１にオブジェクトを配置・動作等させるとともに、当該オブジェクトを図１４に示す仮想空間１１に配置・動作等させるための動作指図データを生成し、ユーザ端末８００に供給する機能を有する。当該動作指図データは、アバターオブジェクト６によって進行するライブゲーム進行パートにおけるゲームプレイ映像をユーザ端末８００において表示可能とするためのデータであればよく、例えば、プレイヤ５（モデルなど）の動きをモーションセンサ４２０を介して入力したモーションキャプチャデータ（モーションデータともいう）を含んでいてもよいし、プレイヤ５（声優など）の音声を録音した音声データを含んでいてもよいし、プレイヤ５によって他のオブジェクトを動作させるための入力操作の履歴を示す操作履歴データを含んでいてもよいし、一連の入力操作に対応付けられたコマンドや、ゲームプログラムに基づいてオブジェクトを仮想空間１１に配置したり移動させるコマンドを時系列に並べたモーションコマンド群を含んでいてもよい。ＨＭＤセット１１０は、プロセッサ２１０、メモリ２２０、ストレージ２３０、通信ＩＦ２５０、および入出力ＩＦ２４０等の協働によって、制御部２１００（コントロールモジュール５１０、レンダリングモジュール５２０）および記憶部２２００（メモリモジュール５３０）として機能する。
【０１５３】
ユーザ端末８００は、ユーザ８の入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末８００は、プロセッサ８１０、メモリ８２０、ストレージ８３０、通信ＩＦ８５０、および入出力ＩＦ８４０等の協働によって、制御部８１００および記憶部８２００として機能する。
【０１５４】
サーバ６００は、各ユーザ端末８００と通信して、ユーザ端末８００におけるゲーム画像の視聴を支援する機能を有する。例えば、ユーザ端末８００が本ゲームに係るアプリケーションを初めてダウンロードするときや更新するときには、ゲームプレイ映像を表示するためにユーザ端末８００において記憶させておくべきデータであって、ゲームプレイ映像に含まれ得るオブジェクトのデータ（オブジェクト表示用データ、オブジェクトデータともいう）をユーザ端末８００に提供する。
【０１５５】
サーバ６００は、ユーザ端末８００とＨＭＤセット１１０とを仲介する機能を備えている。これにより、ＨＭＤセット１１０は、適時に、宛先を誤ることなく、ユーザ端末８００または複数のユーザ端末８００のグループに対して動作指図データを供給することが可能となる。サーバ６００は、プロセッサ６１０、メモリ６２０、ストレージ６３０、通信ＩＦ６５０、および入出力ＩＦ６４０等の協働によって、制御部６１００および記憶部６２００として機能する。
【０１５６】
なお、本ゲームがマルチプレイゲームである場合には、サーバ６００は、ゲームに参加する各ＨＭＤセット１１０と通信して、ＨＭＤセット１１０同士のやりとりを仲介する機能および同期制御機能を有していてもよい。
【０１５７】
記憶部２２００は、ゲームプログラム２３１を格納する。記憶部８２００は、ゲームプログラム８３１を格納する。記憶部６２００は、ゲームプログラム６３１を格納する。ゲームプログラム２３１は、ＨＭＤセット１１０が実行するゲームプログラムである。ゲームプログラム８３１は、ユーザ端末８００が実行するゲームプログラムである。ゲームプログラム６３１は、サーバ６００が実行するゲームプログラムである。ゲームプログラム２３１、６３１、８３１に基づいて各装置が協働して動作することにより、ＨＭＤシステム１００に係るゲームが実現される。なお、ゲームプログラム２３１、８３１は、記憶部６２００に格納され、記憶部２２００、８２００にそれぞれダウンロードされる構成でもよい。
【０１５８】
また、記憶部２２００、８２００および６２００は、それぞれ、ゲーム情報１３２およびユーザ情報１３３を格納する。ゲーム情報１３２は、制御部２１００、８１００および６１００が、ゲームプログラム２３１、８３１、６３１をそれぞれ実行する際に参照するデータである。ユーザ情報１３３は、ユーザ８のアカウントに関するデータである。記憶部２２００および６２００において、ゲーム情報１３２およびユーザ情報１３３は、ユーザ端末８００ごとに格納されている。なお、ユーザ情報１３３には、仮想通貨（課金アイテム）の購入履歴、特定のアイテムの購入または取得履歴が含まれていてもよい。
【０１５９】
（ＨＭＤセット１１０の機能的構成）
制御部２１００は、記憶部２２００に格納されたゲームプログラム２３１を実行することにより、ＨＭＤセット１１０を統括的に制御する。例えば、制御部２１００は、ゲームプログラム２３１およびプレイヤ５の操作に従って図８に示す仮想空間１１にオブジェクトを配置・動作等させるとともに、当該配置・動作に伴う動作指図データを生成し、ユーザ端末８００に供給する。制御部２１００は、必要に応じて、さらにゲームプログラム２３１を実行してもよい。また、制御部２１００は、サーバ６００および本ゲームを実行中のユーザ端末８００と通信して、情報の送受信を行う。
【０１６０】
制御部２１００は、ゲームプログラム２３１の記述に応じて、操作受付部２１０１、表示制御部２１０２、ＵＩ制御部２１０３、アニメーション生成部２１０４、ゲーム進行部２１０５、仮想空間制御部２１０６、および反応処理部２１０７として機能する。制御部２１００は、ＨＭＤシステム１００において実行されるゲームの性質に応じて、該ゲームに登場するオブジェクトを制御するために、図示しないその他の機能ブロックとしても機能することができる。
【０１６１】
操作受付部２１０１は、プレイヤ５の入力操作を検知し受け付ける。入力操作は、例えば、ＨＭＤ１２０、モーションセンサ４２０、ディスプレイ４３０がタッチスクリーンである場合に表示部と一体に形成された入力部、マウス（図示せず）、キーボード（図示せず）等の各種の入力装置から、入出力ＩＦ３４を介して入力される。操作受付部２１０１は、プレイヤ５が及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部２１００の各要素に出力する。
【０１６２】
ユーザインターフェース（以下、ＵＩ）制御部２１０３は、ＨＭＤ１２０又はディスプレイ４３０に表示させるＵＩ画像を制御する。
【０１６３】
アニメーション生成部２１０４は、各種オブジェクトの制御態様に基づいて、各種オブジェクトのモーションを示すアニメーションを生成する。例えば、アニメーション生成部２１０４は、通信相手となるユーザ端末８００上実際に表示されているゲーム画面を再現したアニメーション等を生成してもよい。
【０１６４】
表示制御部２１０２は、ＨＭＤ１２０又はディスプレイ４３０に対して、上述の各要素によって実行された処理結果が反映された画像を出力する。
【０１６５】
ゲーム進行部２１０５は、プレイヤ５による入力操作に応じたアバターオブジェクト６と、ユーザ端末８００のユーザ８の操作とに基づいて、ゲームを進行する。例えば、ゲーム進行部２１０５は、アバターオブジェクト６が所定の動作を行った場合に、所定のゲーム処理を行う。また、例えば、ゲーム進行部２１０５は、ユーザ端末８００におけるユーザ８の操作を表す情報を受信し、当該ユーザ８の操作に基づいてゲーム処理を行う。ゲーム進行部２１０５は、当該ゲーム処理に基づいて各種のゲームパラメータを更新する。当該ゲームパラメータを含むゲーム情報は、サーバ６００を介してユーザ端末８００に供給される。
【０１６６】
仮想空間制御部２１０６は、図１２を参照して説明したコントロールモジュール５１０のモジュール１４２１〜１４２７を含む。これらの詳細については、既に説明した通りである。
【０１６７】
仮想空間制御部２１０６は、ユーザ端末８００との間で仮想空間１１を共有するための各種の制御を行う。図１６は、仮想空間制御部２１０６の詳細な構成を示す図である。図１６に示すように、仮想空間制御部２１０６は、図１２を参照して説明したモジュール１４２１〜１４２７を含む。仮想空間制御部２１０６は、これらのモジュール１４２１〜１４２７の動作により、当該ＨＭＤセット１１０において、アバターオブジェクト６を動作させるとともに仮想オブジェクトの挙動を制御する。また、仮想空間制御部２１０６は、モジュール１４２１〜１４２７の動作に基づいて、ユーザ端末８００においてアバターオブジェクト６を動作させるための動作指図データ、各仮想オブジェクトの挙動を制御するための動作指図データを生成する。これらの動作指図データは、サーバ６００を介してユーザ端末８００に供給される。例えば、仮想空間制御部２１０６は、プレイヤ５（声優など）が、マイク１７０を介して入力した音声データに基づいて、制御対象のオブジェクトに発言させることを指示する動作指図データを生成する。このようにして生成された動作指図データには、上述の音声データが少なくとも含まれる。また、例えば、プレイヤ５（モデルなど）が、モーションセンサ４２０を介して入力したモーションキャプチャデータに基づく動きを、制御対象のオブジェクトに行わせることを指示する動作指図データを生成する。このようにして生成された動作指図データには、上述のモーションキャプチャデータが少なくとも含まれる。また、例えば、プレイヤ５が、コントローラ３００などの入力機構またはタッチスクリーン、マウス、キーボード等の操作部を介して入力した入力操作の履歴、すなわち、操作履歴データに基づいて、制御対象のオブジェクトを動作させることを指示する動作指図データを生成する。このようにして生成された動作指図データには、上述の操作履歴データが少なくとも含まれる。操作履歴データは、例えば、ＨＭＤ１２０にどの画面が表示されているときに、プレイヤ５が、コントローラ３００のどのボタンをどのタイミングで押したのかを示す操作ログが時系列で整理されている情報である。あるいは、仮想空間制御部２１０６は、プレイヤ５が上述の入力機構または操作部を介して入力した入力操作に対応付けられた、オブジェクトの動作を指示するコマンドを特定する。そして、仮想空間制御部２１０６は、該コマンドを入力された順に並べてオブジェクトの一連の動作を示すモーションコマンド群を生成し、該モーションコマンド群にしたがってオブジェクトを動作させることを指示する動作指図データを生成してもよい。このようにして生成された動作指図データには、上述のモーションコマンド群が少なくとも含まれる。
【０１６８】
反応処理部２１０７は、ユーザ端末８００からユーザ８の反応についてフィードバックを受け付けて、これをＨＭＤセット１１０のプレイヤ５に対して出力する。本実施形態では、例えば、ユーザ端末８００は、上述の動作指図データに従ってオブジェクトを動作させている間、該オブジェクトに宛てて、ユーザ８がコメントを作成することができる。反応処理部２１０７は、該コメントのコメントデータを受け付けて、これを、出力する。反応処理部２１０７は、ユーザ８のコメントに対応するテキストデータを、表示部３５２に表示してもよいし、ユーザ８のコメントに対応する音声データを、図示しないスピーカから出力してもよい。
【０１６９】
（サーバ６００の機能的構成）
制御部６１００は、記憶部６２００に格納されたゲームプログラム６３１を実行することにより、サーバ６００を統括的に制御する。例えば、制御部６１００は、ユーザ端末８００に各種データおよびプログラム等を送信する。制御部６１００は、ゲーム情報もしくはユーザ情報の一部または全部をユーザ端末８００から受信する。ゲームがマルチプレイゲームである場合には、制御部６１００は、ＨＭＤセット１１０からマルチプレイの同期の要求を受信して、同期のためのデータをＨＭＤセット１１０に送信してもよい。また、制御部６１００は、必要に応じて、ユーザ端末８００およびＨＭＤセット１１０と通信して、情報の送受信を行う。
【０１７０】
制御部６１００は、ゲームプログラム６３１の記述に応じて、進行支援部６１０１および共有支援部６１０２として機能する。制御部６１００は、実行するゲームの性質に応じて、ユーザ端末８００におけるゲームの進行を支援するために、図示しないその他の機能ブロックとしても機能することができる。
【０１７１】
進行支援部６１０１は、ユーザ端末８００と通信し、ユーザ端末８００が、本ゲームに含まれる各種パートを進行するための支援を行う。例えば、進行支援部６１０１は、ユーザ端末８００が、ゲームを進行させるとき、該ゲームを進行させるために必要な情報をユーザ端末８００に提供する。
【０１７２】
共有支援部６１０２は、複数のユーザ端末８００及びＨＭＤセット１１０と通信し、これらの装置間でゲームの進行及び仮想空間１１を共有するための支援を行う。また、共有支援部６１０２は、オンラインのユーザ端末８００とＨＭＤセット１１０とをマッチングする機能を有していてもよい。これにより、ユーザ端末８００とＨＭＤセット１１０との間の情報の送受信が円滑に実施される。
【０１７３】
（ユーザ端末８００の機能的構成）
制御部８１００は、記憶部８２００に格納されたゲームプログラム８３１を実行することにより、ユーザ端末８００を統括的に制御する。例えば、制御部８１００は、ゲームプログラム８３１およびユーザ８の操作に従って、プレイヤ５によるゲームの進行を支援する。また、制御部８１００は、プレイヤ５によるゲームの進行中、必要に応じて、サーバ６００を介してＨＭＤセット１１０と通信して、情報の送受信を行う。
【０１７４】
制御部８１００は、ゲームプログラム８３１の記述に応じて、操作受付部８１０１、表示制御部８１０２、ＵＩ制御部１１３、アニメーション生成部８１０４、ゲーム進行部８１０５、仮想空間制御部８１０６、および進捗情報生成部８１０７として機能する。制御部８１００は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
【０１７５】
操作受付部８１０１は、入力部８７０１に対するユーザ８の入力操作を検知し受け付ける。操作受付部８１０１は、タッチスクリーン８７０およびその他の入出力ＩＦ１４を介したコンソールに対してユーザ８が及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部８１００の各要素に出力する。操作受付部８１０１の機能の詳細は、ＨＭＤセット１１０における操作受付部２１０１のそれとほぼ同様である。
【０１７６】
例えば、操作受付部８１０１は、入力部８７０１に対する入力操作を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部８１０１は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部８１０１は、連続して検知されていた入力が途切れると、タッチスクリーン８７０から接触入力が解除されたことを検知する。
【０１７７】
ＵＩ制御部８１０３は、ＵＩを構築するために表示部８７０２に表示させるＵＩ画像を制御する。ＵＩ画像は、ユーザ８が、ゲームの進行上必要な入力をユーザ端末８００に対して行うためのツール、または、ゲームの進行中に出力される情報をユーザ端末８００から得るためのツールである。ＵＩ画像は、これには限定されないが、例えば、アイコン、ボタン、リスト、メニュー画面などである。
【０１７８】
アニメーション生成部８１０４は、各種オブジェクトの制御態様に基づいて、各種オブジェクトのモーションを示すアニメーションを生成する。例えば、アニメーション生成部８１０４は、オブジェクトがまるでそこにいるかのように動いたり、口を動かしたり、表情を変えたりする様子を表現したアニメーション等を生成してもよい。
【０１７９】
表示制御部８１０２は、タッチスクリーン８７０の表示部８７０２に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部８１０２は、アニメーション生成部８１０４によって生成されたアニメーションを含むゲーム画面を表示部８７０２に表示してもよい。また、表示制御部８１０２は、ＵＩ制御部８１０３によって制御される上述のＵＩ画像を、該ゲーム画面に重畳して描画してもよい。さらに、表示制御部８１０２は、ＨＭＤセット１１０から供給されたゲーム情報に基づいて、各種ゲームパラメータを該ゲーム画面に重畳して描画してもよい。
【０１８０】
仮想空間制御部８１０６は、ＨＭＤセット１１０との間で仮想空間１１を共有するための各種の制御を行う。図１７は、仮想空間制御部８１０６の詳細な構成を示す図である。図１７に示すように、仮想空間制御部８１０６は、仮想オブジェクト生成モジュール８１２１と、仮想カメラ制御モジュール８１２２と、アバターオブジェクト制御モジュール８１２４と、仮想オブジェクト制御モジュール８１２７とを含む。
【０１８１】
仮想オブジェクト生成モジュール８１２１は、図１２を参照して説明した仮想オブジェクト生成モジュール１４２１と同様に構成される。ここで、ユーザ端末８００において生成される仮想オブジェクトは、ＨＭＤセット１１０において生成される仮想オブジェクトに同期する。ただし、各仮想オブジェクトを同期するか否かは、仮想オブジェクト毎に定められていてもよい。例えば、ＨＭＤセット１１０で生成された仮想オブジェクトのうち、ユーザ端末８００では生成されないものがあってもよい。また、ＨＭＤセット１１０で生成された仮想オブジェクトのうち、ユーザ端末８００において異なる表示形態で生成されるものがあってもよい。表示形態とは、例えば、色、透明度等であってもよいが、これらに限られない。さらに、ユーザ端末８００において生成される仮想空間１１においては、ＨＭＤセット１１０で生成された仮想オブジェクト以外の仮想オブジェクトが含まれるものであってもよい。
【０１８２】
仮想カメラ制御モジュール８１２２は、図１２を参照して説明した仮想カメラ制御モジュール１４２２と同様に構成される。ここで、ユーザ端末８００Ａ、８００Ｃ、８００Ｄにおいて実現される仮想空間１１Ａ、１１Ｃ、１１Ｄに配置される仮想カメラ２０Ａ、２０Ｃ、２０Ｄは、ＨＭＤセット１１０において実現される仮想空間１１に配置される仮想カメラ１４とは異なるものである。つまり、ＨＭＤセット１１０及びユーザ端末８００間で共有される仮想空間１１の視界画像は、ＨＭＤセット１１０及びユーザ端末８００間で異なり得る。
【０１８３】
ユーザ端末８００Ａ、８００Ｃ、８００Ｄにおいて、仮想カメラ２０Ａ、２０Ｃ、２０Ｄの位置及び方向は、ユーザ８Ａ、８Ｃ、８Ｄによって操作可能であってもよいし、操作不能であってもよい。また、操作不能である場合、仮想カメラ２０Ａ、２０Ｃ、２０Ｄの位置及び方向は、同一であってもよい。この場合、複数のユーザ８は、各ユーザ端末８００を通して、共通の視界画像を視聴することになる。つまり、この場合、複数のユーザ８は、共通の仮想カメラで撮影された視界画像（ライブ映像）を視聴することができる。
【０１８４】
本実施形態では、仮想カメラ２０Ａ、２０Ｃ、２０Ｄの位置及び方向がユーザ８Ａ、８Ｃ、８Ｄによって操作可能であり、複数のユーザ８が互いに異なる視界画像を視聴する例を中心に説明する。ある局面では、仮想カメラ２０Ａの位置および方向は、ユーザ端末８００Ａのタッチスクリーンに対するスライド操作（あるいはスワイプ操作）等に応じて変化する。例えば、仮想カメラ２０Ａの位置は、左方向へのスライド操作に応じて左方向に移動し、右方向へのスライド操作に応じて右方向に移動し、上方向へのスライド操作に応じて上方向に移動し、下方向へのスライド操作に応じて下方向に移動する。このとき、仮想カメラ２０Ａの向きは、例えば、アバターオブジェクト６が視界領域２１に収まるように（具体的にはアバターオブジェクト６が視界領域２１の中心となるように）調整される。
【０１８５】
アバターオブジェクト制御モジュール８１２４は、図１２を参照して説明したアバターオブジェクト制御モジュール１４２４に対して、ＨＭＤ１２０の動き又はコントローラ３００の動きに応じて動作することに替えて、動作指図データに応じて動作する点が異なる他は、同様に構成される。動作指図データは、ＨＭＤ１２０動き又はコントローラ３００の動きに応じてＨＭＤセット１１０において生成され、ユーザ端末８００に配信される。
【０１８６】
仮想オブジェクト制御モジュール８１２７は、図１２を参照して説明した仮想オブジェクト制御モジュール１４２７に対して、動作指図データに応じて動作する点が異なる他は、同様に構成される。動作指図データは、ＨＭＤセット１１０におけるアバターオブジェクト６以外の仮想オブジェクトの挙動を表すようＨＭＤセット１１０において生成され、ユーザ端末８００に配信される。
【０１８７】
このように、仮想空間制御部８１０６は、動作指図データを解析して（レンダリングして）、解析結果に基づいてアバターオブジェクト６および仮想オブジェクトなどを動作させる。本実施形態では、仮想空間制御部８１０６は、ＨＭＤセット１１０によって供給された動作指図データが通信ＩＦ３３を介して受信されたことをトリガにして、該データに基づいてアバターオブジェクト６又は他の仮想オブジェクトを動作させる。これにより、リアルタイムで動作するアバターオブジェクト６及び他の仮想オブジェクトを、ユーザ８に見せることが可能となる。
【０１８８】
ゲーム進行部８１０５は、操作受付部８１０１を介して入力されるユーザ８の入力操作に応じて、ＨＭＤセット１１０のプレイヤ５によるゲームの進行を支援する。例えば、ゲーム進行部８１０５は、ゲームの進行中に、アイテムオブジェクトを仮想空間１１に配置することにより、プレイヤ５によるゲームの進行を支援する。
【０１８９】
進捗情報生成部８１０７は、ゲーム進行部８１０５が実行しているゲーム支援の進捗を示す進捗情報を生成し、適時、サーバ６００またはＨＭＤセット１１０に送信する。進捗情報は、例えば、現在表示されているゲーム画面を指定する情報を含んでいてもよいし、ゲームの進捗を、時系列で文字および記号等によって示した進行ログを含んでいてもよい。ＨＭＤシステム１００において、サーバ６００およびＨＭＤセット１１０が進捗情報を必要としない実施形態では、進捗情報生成部８０１７は省略されてもよい。
【０１９０】
なお、図１５に示すＨＭＤセット１１０、サーバ６００およびユーザ端末８００の機能は一例にすぎない。ＨＭＤセット１１０、サーバ６００およびユーザ端末８００の各装置は、他の装置が備える機能の少なくとも一部を備えていてもよい。さらに、ＨＭＤセット１１０、サーバ６００およびユーザ端末８００以外のさらに別の装置をＨＭＤシステム１００の構成要素とし、該別の装置にＨＭＤシステム１００における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ＨＭＤセット１１０、サーバ６００およびユーザ端末８００およびそれ以外の別の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
【０１９１】
なお、図１５に示すサーバ６００およびユーザ端末８００の機能は一例にすぎない。サーバ６００は、ユーザ端末８００が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末８００は、サーバ６００が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末８００およびサーバ６００以外の他の装置をＨＭＤシステム１００の構成要素とし、該他の装置にＨＭＤシステム１００における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末８００、サーバ６００、および他の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
【０１９２】
＜ゲーム概要＞
図１８（Ａ）〜図１８（Ｄ）を参照して、本実施形態に係るＨＭＤシステム１００が実行するゲーム（以下、本ゲーム）は、一例として、銃、ナイフ等の武器を操作するアバターオブジェクト６と、複数の敵オブジェクト２３とを仮想空間１１に登場させ、アバターオブジェクト６に敵オブジェクト２３との対戦を行わせるゲームである。アバターオブジェクト６の体力、使用可能なマガジンの数、銃の残弾数、敵オブジェクト２３の残数等の各種ゲームパラメータは、ゲームの進行に応じて更新される。
【０１９３】
本ゲームには、複数のステージが用意されており、プレイヤ５は、各ステージに関連付けられている所定の達成条件を成立させることにより、当該ステージをクリアすることができる。所定の達成条件としては、例えば、出現する敵オブジェクト２３をすべて倒すことや、出現する敵オブジェクト２３のうちボスオブジェクトを倒すこと、所定のアイテムを獲得すること、所定位置に到達することなどにより成立する条件を含むものであってもよい。
【０１９４】
本ゲームでは、ＨＭＤセット１１０及び複数のユーザ端末８００の間で仮想空間１１を共有するために、上記各種ゲームパラメータを含むゲーム情報と、オブジェクトを配置・動作等させるための動作指図データとが、所定時間毎に複数のユーザ端末８００にライブ配信される。
【０１９５】
この結果、ゲームを視聴中のユーザ端末８００のタッチスクリーン８７０には、仮想空間１１のうち、ユーザ端末８００に対応する仮想カメラ２０によって規定される視界領域２１の視界画像１４００が表示される。また、視界画像１４００の右上段および左上段には、アバターオブジェクト６の体力、使用可能なマガジンの数、銃の残弾数、敵オブジェクト２３の残数等を表すパラメータ画像が重畳的に表示される。
【０１９６】
動作指図データの詳細は次のとおりである。即ち、ライブ配信中、ＨＭＤセット１１０のコンピュータ２００は、プレイヤ５の操作に応じてアバターオブジェクト６の動作を制御するための動作指図データ、ゲームプログラムに従って敵オブジェクト２３等の他のオブジェクトの配置・動作等を制御するための動作指図データなどを生成し、当該動作指図データをサーバ６００を介して複数のユーザ端末８００に配信する。複数のユーザ端末８００の各々は、当該動作指図データを受信したことをトリガにして、当該動作指図データを解析する（レンダリングする）。
【０１９７】
即ち、当該動作指図データは、配置するオブジェクトの種別、オブジェクトの位置、姿勢、向き等を特定するための情報を含んでおり、ユーザ端末８００は、当該動作指図データを解析することにより、どのオブジェクトを仮想空間１１内のどの位置にどのような姿勢・向きで配置するか等を特定する。
【０１９８】
ユーザ端末８００のメモリ８２０には、アバターオブジェクト６、敵オブジェクト２３等のオブジェクトデータが予め記憶されている。ユーザ端末８００は、当該オブジェクトデータを用いて、当該動作指図データの解析結果に応じた種別のオブジェクトを、当該解析結果に応じた仮想空間１１内の位置に、当該解析結果に応じた姿勢・向き等で配置する。ユーザ端末８００により規定された仮想空間１１におけるアバターオブジェクト６、敵オブジェクト２３等の配置や動きは、コンピュータ２００により規定された仮想空間１１におけるアバターオブジェクト６、敵オブジェクト２３等の配置や動きと一致する。
【０１９９】
ＨＭＤセット１１０のコンピュータ２００は、本ゲームを視聴中のユーザ端末８００の数（視聴者数）に応じて、本ゲームの難易度に相当するレベルデザインを変動させる。即ち、コンピュータ２００は、複数のステージの各々が開始される際の視聴者数に応じて、当該ステージに関連付けられた達成条件を成立させる難易度を調整する。ある局面では、コンピュータ２００は、視聴者数が多くなると後述するように視聴者から多くの支援を期待できる結果、プレイヤ５がゲームを簡単にクリアしてしまうことを防止するために、ゲームの難易度を高くする。
【０２００】
当該難易度は、例えば、敵オブジェクト２３の戦闘能力および出現量と、アバターオブジェクト６の戦闘能力とに基づいて規定される。ある局面では、コンピュータ２００は、視聴者数が０人であるとき、敵オブジェクト２３の戦闘能力および出現量、アバターオブジェクト６の戦闘能力の各々を初期値に設定し、視聴者数が多くなるほど、敵オブジェクト２３の戦闘能力や出現量の各々を当該初期値から増大させたりしてもよいし、アバターオブジェクト６の戦闘能力を当該初期値から減少させたりしてもよい。初期値が設定される視聴者の人数は、視聴者数が０人である場合でなく、０人以外の任意の人数である場合としてもよい。
【０２０１】
ある局面では、敵オブジェクト２３の戦闘能力は、当該敵オブジェクト２３の移動速度（俊敏さ）および体力により規定され、敵オブジェクト２３の出現量は、現ステージに出現する敵オブジェクト２３の総数および出現頻度により規定される。また、アバターオブジェクト６の戦闘能力は、当該アバターオブジェクト６の移動速度（俊敏さ）、体力、および装備する武器・防具の種類による補正値などにより規定される。
【０２０２】
ユーザ端末８００のタッチスクリーン８７０においては、アバターオブジェクト６を支援するためのアイテム投入操作をユーザ８から受け付けるためのＵＩ画像２２が、仮想空間１１を表す画像に重畳して表示される。ＵＩ画像２２には、例えば、マガジン、救急箱、障害物（三角コーン、バリケード等）のアイコンが描かれており、アイテム投入操作は、いずれかのアイコンをタップする操作に相当する。
【０２０３】
ユーザ８が当該アイテム投入操作を行うと、ユーザ端末８００は、ユーザ８が購入して所有している仮想通貨（価値アイテム）を消費し、プレゼント箱のような予め定められた演出オブジェクト２４（図１８（Ｃ）参照）を仮想空間１１に配置する。演出オブジェクト２４による演出（以下、投入時演出ともいう）は、所定時間（例えば２秒）に亘り実行される。当該投入時演出は、例えば、プレゼント箱を配置すると同時にカウントダウンを表示し、カウント値が０になったタイミングで当該プレゼント箱の蓋を開くというものである。なお、当該プレゼント箱の大きさ、形、色等は、投入されたアイテムの種別にかかわらず同じであってもよく、アイテムの種別や消費した仮想通貨の量に応じて異なるものであってもよい。仮想通貨は、例えば課金やゲーム内のクエストクリア等によりユーザ８に関連付けられる。仮想通貨は、有償であってもよいし、無償であってもよい。
【０２０４】
また、図１９を参照して、ユーザ端末８００は、当該アイテム投入操作に応じて、アイテム投入情報をサーバ６００を介してコンピュータ２００に送信する。当該アイテム投入情報には、アイテム投入操作により指定されたアイテムの種別を特定するための情報や、コンピュータ２００が当該アイテムを仮想空間１１に配置し、または仮想空間１１内で使用可能とするという支援効果（支援作用）を発動させるタイミングを特定するための情報が含まれる。ここで、当該支援効果の発動タイミングは、演出オブジェクト２４による演出が終了するタイミング（即ち、演出オブジェクト２４が仮想空間１１に配置されてから当該所定時間が経過したタイミング）と一致するように定められている。なお、演出を行わず、アイテム投入が行われてから、即時あるいは一定時間経過後に当該アイテムの支援効果を発動するようにしてもよい。
【０２０５】
投入するアイテムが障害物であれば、ユーザ端末８００は、仮想カメラ２０の視野内の一部の範囲をアイテム投入範囲として特定する。このとき、当該アイテム投入情報には、当該アイテム投入範囲を特定するための情報が含まれる。なお、アイテム投入範囲は、例えばアバターオブジェクト６の周辺の範囲である。
【０２０６】
アイテム投入情報を受信したとき、コンピュータ２００は、アバターオブジェクト６を支援するべく、当該アイテム投入情報から特定されるアイテム種別に対応するアイテムを、当該アイテム投入情報から特定される発動タイミング（より具体的には、当該アイテム投入情報を受信してから当該所定時間が経過したタイミング）で、仮想空間１１に配置し、または仮想空間１１内で使用可能とする。
【０２０７】
この結果、当該アイテム種別がマガジンであれば、コンピュータ２００は、アバターオブジェクト６が使用する銃の残弾数を、当該発動タイミングで回復させる。また、当該アイテム種別が救急箱であれば、コンピュータ２００は、アバターオブジェクト６の体力を、当該発動タイミングで回復させる。さらに、当該アイテム種別が障害物であれば、コンピュータ２００は、当該アイテム投入情報から特定されるアイテム投入範囲内のいずれかの位置をアイテム投入位置として特定し、当該障害物を表すオブジェクトを当該発動タイミングで当該アイテム投入位置に配置する。障害物は、例えば、敵オブジェクト２３の進行や攻撃を阻害する機能を有するアイテムである。このため、障害物は、障害物を配置することにより、アバターオブジェクト６を支援するアイテムであるといえる。
【０２０８】
コンピュータ２００は、現ステージが開始される際の視聴者数に応じて、当該支援効果の程度（大きさ）を調整する。ある局面では、コンピュータ２００は、視聴者数が０人であるとき、当該支援効果の程度を初期値に設定し、視聴者数が多くなるほど、当該支援効果の程度を減少させる。当該支援効果の程度は、アバターオブジェクト６が使用する銃の残弾数およびアバターオブジェクト６の体力については回復量により規定され、障害物については大きさ、強度、重さ等により規定される。
【０２０９】
このため、当該支援効果の程度が増大されると、銃の残弾数の回復量またはアバターオブジェクト６の体力の回復量が増大し、障害物の大きさ、強度、重さ等が増大する。銃の残弾数の回復量またはアバターオブジェクト６の体力の回復量の増大は、アバターオブジェクト６の戦闘時間の延長をもたらし、障害物の大きさ、強度、重さ等の増大は、敵オブジェクト２３がアバターオブジェクト６に到達するまでの時間の長期化をもたらす。
【０２１０】
投入されたアイテムが障害物であるとき、コンピュータ２００は、当該障害物のオブジェクトの種別、当該オブジェクトの位置および姿勢を特定するための情報を含む動作指図データを生成し、当該動作指図データをサーバ６００を介して複数のユーザ端末８００に配信する（図１９参照）。
【０２１１】
各ユーザ端末８００は、当該動作指図データを解析することにより、配置するアイテムオブジェクトの種別、アイテムオブジェクトの位置および姿勢を特定する。また、各ユーザ端末８００は、当該解析結果に基づき、メモリ８２０に予め記憶されているオブジェクトデータを用いて、アイテムオブジェクトを仮想空間１１に配置する。
【０２１２】
このように、オブジェクトデータを予めユーザ端末８００側において格納し、オブジェクトを配置させる際には、動画データよりも格段にデータ量が少ない動作指図データを複数のユーザ端末８００に送信する。その結果、アイテムが投入されてからアイテムオブジェクトをユーザ端末８００において表示させるまでの期間を短縮しつつ、アイテムオブジェクトの配置タイミングを複数のユーザ端末８００各々において同期させることができる。また、アイテム投入操作を行ったユーザ端末８００においては、演出オブジェクト２４による演出が終了すると同時に、当該アイテムオブジェクトが仮想空間１１に配置される。
【０２１３】
（動作について）
図２０および図２１は、本ゲームの基本的なゲーム進行についてその一例を示すフローチャートである。ここで、図２０に示すフローチャートに従う処理は、ユーザ端末８００の制御部８１００に設けられた操作受付部８１０１、表示制御部８１０２、ＵＩ制御部８１０３、アニメーション生成部８１０４、ゲーム進行部８１０５、仮想空間制御部８１０６、進捗情報生成部８１０７が協働することにより実行される。また、図２１に示すフローチャートに従う処理は、コンピュータ２００の制御部２１００に設けられた操作受付部２１０１、表示制御部２１０２、ＵＩ制御部２１０３、アニメーション生成部２１０４、ゲーム進行部２１０５、仮想空間制御部２１０６、反応処理部２１０７が協働することにより、所定時間（例えば１／６０秒）毎に実行される。
【０２１４】
なお、図２０および図２１に示すフローチャートの処理の一部はサーバ６００において実行し、処理結果をユーザ端末８００またはコンピュータ２００に送信するようにしてもよい。また、ユーザ端末８００とコンピュータ２００との間での情報の送受信は、サーバ６００を介して実行されるものであるが、これに限らず、サーバ６００を介することなく実行されるものであってもよい。
【０２１５】
図２０を参照して、ステップＳ０１では、ユーザ８によって視聴開始操作が行われたか否かを、タッチスクリーン８７０からの操作入力に基づいて判定する。視聴開始操作が行われたと判定されると、ステップＳ０２に進み、コンピュータ２００に対して視聴開始情報を送信する。ステップＳ０３では、ストレージ８３０に記憶されている仮想空間データに基づいて仮想空間１１を規定する。ステップＳ０４では、仮想カメラ２０を当該仮想空間１１の予め定められた初期位置に配置する。仮想カメラ２０の初期位置は、例えば、図４に示す仮想空間１１の中心１２を斜め上から捉える位置である。
【０２１６】
ステップＳ０５では、コンピュータ２００から配信された動作指図データおよびゲーム情報を受信する。ステップＳ０６では、当該動作指図データを解析することにより、アバターオブジェクト６、敵オブジェクト２３等の仮想オブジェクトをどの位置にどのような姿勢で配置するかを特定する。ステップＳ０６では、当該解析結果とメモリ８２０に記憶されているオブジェクトデータとに基づいて、アバターオブジェクト６、敵オブジェクト２３等の仮想オブジェクトを仮想空間１１に配置し、または既に配置されている仮想オブジェクトを動作させる。ステップＳ０６では、アバターオブジェクト６の体力、使用可能なマガジンの数、銃の残弾数、敵オブジェクト２３の残数等の各種ゲームパラメータ値を、当該ゲーム情報に基づいて特定する。
【０２１７】
後述するように、動作指図データおよびゲーム情報は、コンピュータ２００から所定時間（１／６０秒）毎に送信される。このため、ステップＳ０６においては、受信した動作指図データに基づき仮想空間１１内のオブジェクトを当該所定時間毎に更新し、受信したゲーム情報に基づき各種ゲームパラメータ値を当該所定時間毎に更新する。なお、仮想空間１１に配置されるオブジェクトには、ユーザ８により投入されたアイテムのオブジェクトも含まれる。
【０２１８】
ステップＳ０７では、現在の仮想カメラ２０の位置および向きに応じた視界領域２１を規定し、当該視界領域２１に対応する視界画像１４００を生成する。ステップＳ０８では、アイテム投入操作をユーザ８から受け付けるためのＵＩ画像２２と、上記の各種ゲームパラメータ値を表すパラメータ画像とを、当該視界画像１４００に重畳し、タッチスクリーン８７０に表示する（図１８参照）。この結果、タッチスクリーン８７０には、本ゲームのゲームプレイ映像が表示される。
【０２１９】
ＵＩ画像２２には、ユーザ８からアイテム投入操作を受け付けるためのアイコン等が描かれる。ある局面では、アイテムは、アバターオブジェクト６が使用する銃のマガジン、アバターオブジェクト６の体力を回復させるための救急箱、敵オブジェクト２３の攻撃を妨害するための三角コーンやバリケード等の障害物を含む。
【０２２０】
なお、各々のアイテムには、当該アイテムの投入するために必要な仮想通貨の消費量と、アバターオブジェクト６を応援するためのポイントとが関連付けられている。アイテムに関連付けられているポイントは、当該アイテムの投入するために必要な仮想通貨の消費量に応じた値が定められており、例えば、仮想通貨の消費量が大きい程、大きなポイントが定められている。
【０２２１】
また、アバターオブジェクト６の体力、使用可能なマガジンの数、銃の残弾数を表すパラメータ画像は、視界画像１４００の右上段に重畳して表示され、敵オブジェクト２３の残数を表すパラメータ画像は、視界画像１４００の左上段に重畳して表示される。
【０２２２】
ステップＳ０９では、ＵＩ画像２２上でアイテム投入操作が行われたか否かを、タッチスクリーン８７０からの操作入力に基づいて判定する。当該アイテム投入操作が行われたと判定されたときは、ステップＳ１０に進む。
【０２２３】
ステップＳ１０では、ユーザ８所有の仮想通貨のうちから、投入したアイテムに対応する仮想通貨を消費する。即ち、仮想通貨は、アイテム投入操作が行われると当該アイテムに応じた量だけ消費される。
【０２２４】
アイテム投入操作により指定されたアイテムが障害物であれば、ステップＳ１１において、仮想カメラ２０の位置および向き（視点）に基づいて、視界画像１４００内の一部の範囲をアイテム投入範囲として特定する。例えば、図１８（Ｂ）に示すように、仮想カメラ２０がアバターオブジェクト６の右側から仮想空間１１を広角で捉えている状況では、アバターオブジェクト６の前方の床面をアイテム投入範囲として特定する。ステップＳ１１の処理が完了すると、ステップＳ１２に進む。また、アイテム投入操作により指定されたアイテムがマガジンまたは救急箱であれば、ステップＳ１１の処理を実行することなくステップＳ１２に進む。
【０２２５】
ステップＳ１２では、アイテム投入情報をコンピュータ２００に対して送信する。アイテム投入情報には、アイテム投入操作により指定されたアイテムの種別、当該アイテムによる支援効果を発動させるタイミング、当該アイテムに関連付けられたポイントの量、当該アイテム投入操作を行ったユーザ８のＩＤを特定するための情報が含まれる。また、ステップＳ１１の処理が実行された場合、当該アイテム投入情報には、当該アイテム投入範囲（仮想カメラ２０の視点）を特定するための情報も含まれる。なお、当該アイテムに関連付けられたポイントの量をコンピュータ２００で管理する場合、当該ポイントの量はアイテム投入情報に含まれていなくてもよい。
【０２２６】
ステップＳ１３では、投入されたアイテムとは異なる（投入アイテムにかかわらない）所定の演出オブジェクト２４を仮想空間１１に配置する。演出オブジェクト２４は、例えば、仮想空間１１における仮想カメラ２０の位置とアバターオブジェクト６の位置との間に配置される。ここで、演出オブジェクト２４は、例えば、プレセント箱である。当該演出オブジェクト２４による演出では、プレゼント箱が配置されると同時にカウントダウンが開始され、カウント値が０になると蓋が開かれる。また、当該演出は、演出オブジェクト２４が仮想空間１１に配置されてから所定時間（２秒）が経過したタイミングで終了する。
【０２２７】
図１９を参照して、アイテム投入操作により指定されたアイテムのオブジェクトは、当該オブジェクトに対応する動作指図データをコンピュータ２００から受信することにより、複数のユーザ端末８００の各々において規定された仮想空間１１に配置される。
【０２２８】
即ち、アイテム投入操作を行ったユーザ端末８００においては、当該ユーザ端末８００により規定される仮想空間１１において、当該アイテム投入操作に応じて演出オブジェクト２４が配置され、当該配置から所定時間が経過したときに送信される動作指図データに基づいてアイテムオブジェクトが配置される。一方、他のユーザ端末８００においては、演出オブジェクト２４が仮想空間１１に配置されることはなく、アイテム投入操作を行ったユーザ端末８００においてアイテムオブジェクトが配置されるタイミングと同じタイミングで、当該アイテムオブジェクトが当該仮想空間１１に配置される。ステップＳ１３の処理が完了したとき、またはステップＳ０９でアイテム投入操作が行われたと判定されなかったときは、ステップＳ１４に進む。
【０２２９】
なお、ユーザ８は、ユーザ端末８００を操作することによりアバターオブジェクト６に対するコメントを入力して送信することも可能である。当該コメントは、視聴している期間（例えばステップＳ０５〜Ｓ１４の処理が実行される期間）にコンピュータ２００に送信される。コンピュータ２００は、ユーザ端末８００から当該コメントを受信したとき、ユーザ名をディスプレイ４３０に表示可能である。プレイヤ５は、当該コメントに対するコメントを入力できる。ユーザおよびプレイヤ５が入力したコメントは、コンピュータ２００から複数のユーザ端末８００に配信される。各ユーザ端末８００において、当該コメントは、視界画像１４００に重畳してタッチスクリーン８７０に表示される。
【０２３０】
ステップＳ１４では、ユーザ８によって視聴終了操作が行われたか否かを、タッチスクリーン８７０からの操作入力に基づいて判定する。視聴終了操作が行われたと判定されなかったときは、ステップＳ０５に戻る。これにより、コンピュータ２００から動作指図データを受信する毎に、オブジェクトの動きや配置などを制御する処理が繰返し実行される。
【０２３１】
一方、視聴終了操作が行われたと判定されたときは、ステップＳ１５でコンピュータ２００に対して視聴終了情報を送信し、その後に処理を終了する。
【０２３２】
図２１を参照して、ステップＳ２１では、本ゲームのステージが開始されるタイミングであるか否かを、ゲームの進行状況を示すゲームパラメータに基づいて判定する。ステージが開始されるタイミングであると判定されたときは、ステップＳ２２に進む。ステップＳ２２では、ユーザ端末８００から視聴開始時に送信（図２０のステップＳ０２）される視聴開始情報と、ユーザ端末８００から視聴終了時に送信（図２０のステップＳ１５）される視聴終了情報とに基づいて、現在の視聴者数、即ち現時点でゲームを視聴しているユーザ端末８００の数を特定する。
【０２３３】
ステップＳ２３では、ユーザ８により投入されたアイテムに関連付けられているポイントをプラス（増大）方向に調整するためのポイント調整量を、当該視聴者数に応じて特定する。具体的には、視聴者数が増大するほど、ポイント調整量を増大させる。例えば、視聴者数が０人のときは、ポイント調整量を０％増に設定し、視聴者数が１人以上１００人未満のときは、ポイント調整量を５％増に設定し、視聴者数が１０１人以上２００人未満のときは、ポイント調整量は１０％増に設定し、視聴者数が２０１人以上のときは、ポイント調整量を２０％増に設定する。
【０２３４】
後述するように、当該ポイントは、アバターオブジェクト６に付与される。アバターオブジェクト６は、付与されたポイントが所定値に到達したときにガチャ操作を行うことによって、アイテムを取得できる。当該アバターオブジェクト６は、取得したアイテムを用いることにより、達成条件を成立させる可能性を高めることが可能となり、ゲームの進行をプレイヤにとって有利にすることができる。
【０２３５】
ステップＳ２４では、今から開始するステージの難易度と、アバターオブジェクト６を支援するための支援効果の程度とを、当該ステージを視聴する視聴者数に応じて調整する。具体的に、ステージの難易度については、視聴者数が多くなるほど、敵オブジェクト２３の戦闘能力や出現量を増大させ、アバターオブジェクト６の戦闘能力を減少させることにより、達成条件が成立し難くなるように調整する。また、支援効果の程度については、視聴者数が多くなるほど、銃の残弾数の回復量またはアバターオブジェクト６の体力の回復量を減少させ、障害物の大きさ、強度、重さ等を減少させることにより、当該支援効果を減少させる。
【０２３６】
例えば、視聴者数が０人のときは、敵オブジェクト２３の戦闘能力および出現量、アバターオブジェクト６の戦闘能力、銃の残弾数の回復量、アバターオブジェクト６の体力の回復量、障害物の大きさ、強度、重さを初期値に設定する。視聴者数が１人以上１００人未満のときは、敵オブジェクト２３の戦闘能力および出現量を初期値に対して５％増に設定し、アバターオブジェクト６の戦闘能力を初期値に対して５％減に設定し、銃の残弾数の回復量、アバターオブジェクト６の体力の回復量、障害物の大きさ、強度、重さを初期値に対して５％減に設定する。
【０２３７】
視聴者数が１０１人以上２００人未満のときは、敵オブジェクト２３の戦闘能力および出現量を初期値に対して１０％増に設定し、アバターオブジェクト６の戦闘能力を初期値に対して１０％減に設定し、銃の残弾数の回復量、アバターオブジェクト６の体力の回復量、障害物の大きさ、強度、重さを初期値に対して１０％減に設定する。視聴者数が２０１人以上のときは、敵オブジェクト２３の戦闘能力および出現量を初期値に対して２０％増に設定し、アバターオブジェクト６の戦闘能力を初期値に対して２０％減に設定し、銃の残弾数の回復量、アバターオブジェクト６の体力の回復量、障害物の大きさ、強度、重さを初期値に対して２０％減に設定する。
【０２３８】
なお、敵オブジェクト２３の戦闘能力は、例えば、敵オブジェクト２３の移動速度（俊敏さ）や現ステージの戦闘開始時の体力により規定される。また、敵オブジェクト２３の出現量は、例えば、現ステージに出現する敵オブジェクト２３の総数や、現ステージにおける敵オブジェクト２３の出現頻度により規定される。アバターオブジェクト６の戦闘能力は、例えば、アバターオブジェクト６の移動速度（俊敏さ）、現ステージの戦闘開始時の体力、装備する武器・防具の種類による補正値などにより規定される。
【０２３９】
ステップＳ２４の処理が完了すると、ステップＳ２５に進む。また、ステップＳ２１でステージが開始されたと判定されなかったときは、ステップＳ２２〜Ｓ２４の処理を実行することなくステップＳ２５に進む。
【０２４０】
ステップＳ２５では、ユーザ端末８００からアイテム投入情報を受信したか否かを、通信ＩＦ２５０からの入力に基づいて判定する。当該アイテム投入情報を受信したと判定されたときは、ステップＳ２６に進み、アバターオブジェクト６に応援ポイントを付与する。具体的には、アイテム投入情報に含まれているポイントの量をステップＳ２３で特定されたポイント調整量に基づいて補正し、補正されたポイントの量をアバターオブジェクト６に付与する。例えば、アイテム投入情報に含まれているポイントの量が５０ポイントで、ステップＳ２３で特定されたポイント調整量が１０％増であれば、５５ポイント（＝５０×１．１）が応援ポイントとしてアバターオブジェクト６に付与される。
【０２４１】
ステップＳ２７では、アイテム投入範囲を特定するための情報が当該アイテム投入情報に含まれている場合に、当該アイテム投入範囲内の任意の位置をアイテム投入位置として特定する。ただし、アイテム投入範囲の中央位置を当該アイテム投入位置として特定するようにしてもよく、アイテム投入範囲内の位置のうちアバターオブジェクト６と敵オブジェクト２３との位置関係に応じた位置（例えば、アバターオブジェクト６と、アバターオブジェクト６に最も近い敵オブジェクト２３との間の位置）を当該アイテム投入位置として特定するようにしてもよい。
【０２４２】
ステップＳ２７の処理が完了すると、ステップＳ２８に進む。また、アイテム投入範囲を特定するための情報が当該アイテム投入情報に含まれていなければ、ステップＳ２７の処理を実行することなく、ステップＳ２８に進む。ステップＳ２８では、当該アイテム投入情報に基づいて、アイテム投入操作により指定されたアイテムの種別と、アイテムオブジェクトを仮想空間１１に配置させて支援効果を発動させるタイミングとを特定する。具体的には、図示しない発動管理テーブルに、当該アイテムの種別と、当該支援効果の発動タイミング（即ち、当該アイテム投入情報を受信してから当該所定時間が経過したタイミング）とを設定する。
【０２４３】
ステップＳ２８の処理が完了すると、ステップＳ２９に進む。また、ステップＳ２５でアイテム投入情報を受信したと判定されなかったときも、ステップＳ２９に進む。ステップＳ２９では、当該発動管理テーブルに設定されている発動タイミング（アイテムオブジェクトの配置タイミング）が到来したか否かを、コンピュータ２００に設けられているタイマ（図示せず）に基づいて判定する。
【０２４４】
アイテム投入情報を未だ受信していないときや、アイテム投入情報を受信したものの当該発動タイミングが到来していないときは、ステップＳ２９において発動タイミングが到来したとは判定されない。このときは、ステップＳ３０の処理を実行することなくステップＳ３１に進む。
【０２４５】
一方、当該発動タイミングが到来したと判定されたときは、ステップＳ３０に進み、発動管理テーブルに設定されているアイテムの種別に応じた支援効果を発動させる。このとき、アイテムを投入したユーザのユーザＩＤを複数のユーザ端末８００に配信するようにしてもよい。各ユーザ端末８００において、当該ユーザＩＤを表す画像は、視界画像１４００に重畳してタッチスクリーン８７０に表示される。
【０２４６】
ステップＳ３０では、具体的には、当該アイテムがマガジンであれば、アバターオブジェクト６が使用する銃の残弾数を回復させてゲーム進行をプレイヤ５に有利にし、当該アイテムが救急箱であれば、アバターオブジェクト６の体力を回復させてゲーム進行をプレイヤ５に有利にする。また、当該アイテムが障害物であれば、仮想空間１１内の位置のうちステップＳ２７で特定したアイテム投入位置に、当該障害物のオブジェクトを配置してゲーム進行をプレイヤ５に有利にする。なお、弾数や体力の回復量、障害物の大きさ、強度、重さ等は、ステップＳ２４で調整された支援効果の程度に応じて規定される。ステップＳ３０の処理が完了すると、ステップＳ３１に進む。
【０２４７】
ステップＳ３１では、アバターオブジェクト６によりガチャ操作が行われたか否かを、コントローラ３００またはモーションセンサ４２０からの入力に基づいて判定する。ガチャ操作は、アバターオブジェクト６に付与された応援ポイントが所定値に到達することにより可能となる。当該ガチャ操作が行われたと判定されたときは、ステップＳ３２に進み、アバターオブジェクト６に付与された応援ポイントを消費してアイテムを取得する。
【０２４８】
ガチャ操作により取得するアイテムは、例えば、ユーザ８により投入可能なアイテムと異なるユニークなアイテムを含む。また、ガチャ操作により取得するアイテムは、ユーザの支援の有無にかかわらず使用できるアイテムを含む。なお、取得するアイテムは、ユーザ８により投入可能なアイテムと同じアイテムであったり、ユーザ８による支援により使用可能となるアイテムであってもよい。
【０２４９】
ステップＳ３３では、取得したアイテムに応じた成立可能性向上効果（達成条件が成立する可能性を向上させる向上作用）を発動させる。具体的には、当該アイテム（例えばナイフ）のオブジェクトをアバターオブジェクト６の前方の床面に配置する（例えば、ナイフを落下）。アバターオブジェクト６は、当該オブジェクトを使用して敵オブジェクト２３と対戦できる。これにより、ゲームをクリアする可能性を高めることができる。なお、当該オブジェクトの威力（例えば、大きさ）は、ステップＳ２４で調整された支援効果の程度に応じて規定するようにしてもよい。
【０２５０】
ステップＳ３３の処理が完了すると、ステップＳ３４に進む。また、ステップＳ３１でガチャ操作が行われたと判定されなかったときは、ステップＳ３２およびＳ３３の処理を実行することなく、ステップＳ３４に進む。ステップＳ３４では、ゲームプログラムに基づいてゲームを進行させる。具体的には、ステップＳ２４で調整された難易度に応じた態様で、アバターオブジェクト６、敵オブジェクト２３、その他オブジェクト（ステップＳ３０で投入されたアイテムオブジェクトを含む）について、仮想空間１１内における配置・移動・変更等の更新を行う。また、当該難易度に応じた態様で、アバターオブジェクト６の体力、使用可能なマガジンの数、銃の残弾数、敵オブジェクト２３の残数等の各種ゲームパラメータを初期設定または更新等する。
【０２５１】
ステップＳ３５では、ステップＳ３４において更新された仮想空間１１内のオブジェクトに基づいて、アバターオブジェクト６の配置・動作等や、敵オブジェクト２３等の他のオブジェクトの配置・動作等を特定可能にするための動作指図データを生成し、当該動作指図データを複数のユーザ端末８００に配信する。ステップＳ３０の処理によって障害物のオブジェクトが仮想空間１１に配置された場合、当該オブジェクトが配置されたことを特定するための動作指図データは、このステップで配信する。ステップＳ３５では、ステップＳ３４において初期設定または更新等された各種ゲームパラメータを含むゲーム情報を生成し、当該ゲーム情報を複数のユーザ端末８００に配信する。
【０２５２】
上述のように、図２１に示すフローチャートに従う処理は、所定時間（１／６０秒）毎に実行される。このため、動作指図データおよびゲーム情報は、当該所定時間毎に、サーバ６００を介して複数のユーザ端末８００に配信される。各ユーザ端末８００においては、当該動作指図データおよびゲーム情報に基づいて、ゲームプレイ映像がタッチスクリーン８７０に表示される。ステップＳ３５の処理が完了すると、リターンする。
【０２５３】
＜本実施形態の効果＞
本実施形態によれば、仮想空間１１に登場するアバターオブジェクト６が所定の達成条件を成立させることによりクリアとなるゲームのゲームプレイ映像は、コンピュータ２００から配信される動作指図データに基づいて、複数のユーザ端末８００の各々に表示される。コンピュータ２００は、ゲームプレイ映像を表示しているユーザ端末８００の数、即ち視聴者数を特定し、当該視聴者数に応じて達成条件を成立させる難易度を調整する。
【０２５４】
これによって、アイテムの投入などの応援を視聴者に対して喚起することができる。即ち、視聴者数が多い程、難易度が高くなるため、多くの視聴者がアイテムを投入することによる仮想通貨の消費量の増大が期待できる。
【０２５５】
また、本実施形態によれば、ユーザ８によるアイテム投入操作に応じてユーザ端末８００からアイテム投入情報を受信すると、コンピュータ２００は、達成条件の成立を支援する支援効果を発動させる。これによって、ユーザ８はプレイヤ５によるゲームプレイに積極的に関与することができ、ひいてはゲームの好趣および視聴意欲を向上させることができる。
【０２５６】
さらに、本実施形態によれば、当該アイテム投入操作は、ユーザ８所有の仮想通貨の消費を伴う操作である。この結果、ユーザ８は、アバターオブジェクト６によるゲームの進行状況や他のユーザ８による支援状況を見極めながら、慎重にアイテム投入操作を行うこととなり、無制限にアイテム投入を可能とする場合よりもゲーム展開を面白くすることができる。
【０２５７】
また、本実施形態によれば、達成条件の成立を支援する支援効果の程度が、視聴者数に応じて調整される。具体的には、視聴者数が多い程、支援効果の程度が小さくなる。これによって、視聴者数が多い場合には、視聴者からの支援機会が多くなることを期待できるものの、難易度が高くなるとともに支援効果の程度が小さくなる。一方、視聴者数が少ない場合には、視聴者からの支援機会が少なくなることが予想されるものの、難易度が低くなるとともに支援効果の程度が大きくなる。その結果、視聴者数にかかわらず、プレイヤ５がゲームをクリアできる可能性を一定範囲内に収束させることを期待でき、プレイヤ５によりゲームクリアの可能性を視聴者数に応じて極端に変化させてしまう（簡単あるいは難しくなる）ことなどを防止できる。
【０２５８】
さらに、本実施形態によれば、投入されるアイテムにはポイントが関連付けられており、当該ポイントは、アイテム投入操作によってアバターオブジェクト６に付与される。付与されたポイントが所定値に到達すると、アバターオブジェクト６はガチャ操作によりアイテムを仮想空間１１に投入可能となる。プレイヤ５がゲームをクリアできる可能性は、当該ガチャ操作によりアイテムを投入することにより向上する。また、アバターオブジェクト６に付与されるポイントのプラス方向の調整量は、視聴者数に応じて変化する。具体的には、視聴者数が増大するほど、当該プラス方向の調整量を増大させる。このため、視聴者を増やしてアイテム投入によりポイントをより多く獲得できるようにすべく、よりレベルの高いゲームプレイ映像や視聴者にとって面白いゲームプレイ映像を配信しようとする動機をプレイヤ５に働かせることができる。
【０２５９】
さらに、本実施形態によれば、アイテムに関連付けられるポイントの量は、当該アイテムを投入するときに消費される仮想通貨の量に応じた量に設定される。これによって、ユーザ８の思い（支援する気持ちの大きさ）をアバターオブジェクト６に付与されるポイントの量に反映させることができる。
【０２６０】
また、本実施形態によれば、ゲームは、各々に達成条件が関連付けられた複数のステージを含み、各ステージの難易度は、当該ステージが開始される際の視聴者数に応じて調整される。これによって、例えば最初のステージの開始時の視聴者数に応じて難易度を調整するようなものと比較して、きめ細かく難易度を調整することができる。また、ステージ途中であっても視聴者数を随時特定して難易度を調整するようなものと比較して、難易度を調整するための処理負担を軽減できる。
【０２６１】
さらに、本実施形態によれば、ゲームは、アバターオブジェクト６が敵オブジェクト２３と対戦する対戦ゲームであり、アバターオブジェクト６の戦闘能力、敵オブジェクト２３の戦闘能力および出現量は、視聴者数に応じて調整される。具体的には、視聴者数が少ない程、アバターオブジェクト６の戦闘能力が高くなり、視聴者数が多い程、敵オブジェクト２３の戦闘能力が高くなるとともに、敵オブジェクト２３の出現量が多くなる。これによって、視聴者数が少ないために、プレイヤ５がゲームをなかなかクリアできないといった状況を生じさせ難くすることができる。また、視聴者に対してプレイヤ５を支援する動機を適正に働かせることができる。
【０２６２】
また、本実施形態によれば、難易度に応じた態様でゲームが進行し、当該ゲームの進行状況を表すゲームパラメータを含むゲーム情報がユーザ端末８００に配信される。これによって、アバターオブジェクト６の体力、使用可能なマガジンの数、銃の残弾数、敵オブジェクト２３の残数等をユーザ端末８００において表示することが可能となる。
【０２６３】
また、本実施形態によれば、視聴者数に応じて難易度を調整するため、アバターオブジェクト６を操作するプレイヤ５においては、ゲーム操作を上達させてよりレベルの高いゲームプレイ映像や視聴者にとって面白いゲームプレイ映像を配信することにより、視聴者数をさらに増やし、さらに難易度の高くレベルの高いゲームプレイ映像等を配信するという動機付けが働く。この結果、ゲーム操作の上達→視聴者数の増大→ゲーム操作の上達→…といった好循環が促される。さらに、難易度を調整することにより、ゲームの展開を視聴者によって予測されてしまうことが困難になるため、ゲームプレイ映像の好趣および視聴者側の視聴意欲を向上させることができる。
【０２６４】
本実施形態によれば、ユーザ端末８００は、本ゲームの仮想空間１１を表すゲームプレイ映像をタッチスクリーン８７０に表示する。また、当該仮想空間１１に配置するアイテムオブジェクトを指定するためのアイテム投入操作をユーザ８から受け付けると、当該ユーザ８のユーザ端末８００は、アイテム投入情報をサーバ６００を介してコンピュータ２００に送信するとともに、演出オブジェクト２４による演出画像をタッチスクリーン８７０に表示する。
【０２６５】
コンピュータ２００は、アイテム投入情報に応じたタイミングでアイテムを仮想空間に配置するとともに、当該アイテムに関する動作指図データを生成し、当該動作指図データをサーバ６００を介して複数のユーザ端末８００に配信する。ゲームを視聴中のユーザ端末８００は、当該動作指図データに基づいて、ユーザが指定したアイテムオブジェクトを仮想空間１１に配置する。また、動作指図データのデータ量は、例えばオブジェクトデータなどに比べて格段に少なく、当該動作指図データの生成および送信に要する時間を短縮できる。これにより、複数のユーザ端末８００の間でアイテムオブジェクトの配置に関して同期させることができるとともに、アイテム投入操作からアイテムオブジェクトが配置されるまでの期間を極力短縮できる。
【０２６６】
また、アイテム投入操作が行われたユーザ端末８００において規定された仮想空間１１においては、アイテムオブジェクトが配置されるまでの間において、演出オブジェクト２４による演出画像が表示される。これによって、ユーザがアイテム投入操作を行ってからアイテムオブジェクトが仮想空間１１に配置されるまでの間を持たせることができるとともに、ユーザに違和感を抱かせてしまうことを防止できる。
【０２６７】
また、本実施形態によれば、演出画像は、演出オブジェクト２４を仮想空間１１に配置することにより表示される。このため、仮想オブジェクト以外の画像（例えばアイテムを投入したユーザ８のユーザＩＤや、ユーザやプレイヤが入力したコメントなどを表す画像）を視界画像１４００に重畳して表示される場合であっても、当該重畳された仮想オブジェクト以外の画像が当該演出オブジェクト２４によって隠れて確認できなくなってしまうことを防止でき、ゲームプレイ映像の好趣が低下してしまうことを防止することができる。
【０２６８】
さらに、本実施形態によれば、アイテムオブジェクトが複数種類設けられている一方、演出オブジェクト２４は、投入されたアイテムオブジェクトの種類にかかわらないオブジェクトに定められている。これによって、ユーザ端末８００の処理負担を極力軽くすることができる。
【０２６９】
また、本実施形態によれば、仮想空間１１にオブジェクトを表示するための表示用データは、仮想空間１１に配置するタイミングにおいて受信するものではなく、ストレージ８３０に予め記憶されている。ゲームを視聴中の複数のユーザ端末８００の各々は、動作指図データに基づいて、当該表示用データを用いてアイテムオブジェクトを仮想空間１１に配置する。また、アイテム投入操作が行われたユーザ端末８００は、所定時間に亘り演出オブジェクト２４による演出を実行する。
【０２７０】
ここで、アイテム投入情報には、演出オブジェクト２４による演出が終了するタイミング（支援効果の発動タイミング）が含まれ、ユーザ端末８００は、アイテム投入操作を受け付けたときに当該アイテム投入情報をサーバ６００を介してコンピュータ２００に送信する。これによって、コンピュータ２００は、アイテム投入情報から特定されるタイミングでアイテムオブジェクトを仮想空間１１に配置するとともに動作指図データを生成して複数のユーザ端末８００各々に送信する。この結果、アイテム投入操作を行ったユーザ端末８００においては、演出オブジェクト２４による演出が終了すると同時に、アイテムオブジェクトを仮想空間１１に配置することができる。即ち、演出オブジェクト２４による演出とアイテムオブジェクトの配置とをシームレスでつなげることができる。
【０２７１】
また、本実施形態によれば、ユーザ端末８００は、仮想空間１１に仮想カメラ２０を配置し、当該仮想カメラ２０の視界を表す視界画像１４００をタッチスクリーン８７０に表示する。このとき、ユーザ端末８００は、当該視界画像１４００の範囲に応じてアイテム投入範囲を特定し、当該アイテム投入範囲を含むアイテム投入情報をサーバ６００を介してコンピュータ２００に送信する。これによって、仮想カメラ２０の視界にアイテムオブジェクトを配置することができる。また、アイテム投入範囲は、ユーザの操作により仮想カメラ２０の位置および向きに伴って変更される。これによって、アバターオブジェクト６と敵オブジェクト２３との間の位置に障害物オブジェクトを投入するなどの戦略的な支援が可能となる。
【０２７２】
さらに、本実施形態によれば、投入されたアイテムオブジェクトを配置する位置は、アイテム投入範囲のうちからコンピュータ２００により決定される。この際、コンピュータ２００は、既に配置されている他のオブジェクトとの位置関係を考慮して位置を決定することができ、当該決定された位置を特定するための動作指図データを配信できる。その結果、ユーザ８の操作により投入されたアイテムオブジェクトと既に配置されている他のオブジェクトとの間で予期しない衝突ないし干渉が発生することを未然に防止することができる。
【０２７３】
＜変形例＞
以上説明した実施形態の変形例などを以下に列挙する。
【０２７４】
（１）  上記実施形態においては、アバターオブジェクト６に付与されるポイントの量を、視聴者数に応じて変化させるようにしている。しかし、当該ポイントを変化させることに替えてあるいは加えて、アバターオブジェクト６がガチャ操作を行うために到達する必要がある所定値を視聴者数に応じて変化させるようにしてもよい。
【０２７５】
（２）  上記実施形態においては、演出オブジェクト２４による演出が終了するタイミングがアイテム投入情報に含まれ、ユーザ端末８００は、アイテム投入操作を受付けたときに、当該アイテム投入情報をサーバ６００を介してコンピュータ２００に送信する。しかし、当該演出の終了タイミングをアイテム投入情報に含めることなく、当該演出が終了するとき（所定時間が経過したとき）に、当該アイテム投入情報をサーバ６００を介してコンピュータ２００に送信するようにしてもよい。この場合、コンピュータ２００は、アイテム投入情報を受信したときに対応するアイテムを配置等させ、動作指図データを生成・配信するようにしてもよい。動作指図データのデータ量は、オブジェクトデータに比べて格段に少ない。このため、演出が終了するときにアイテム投入情報を送信することによっても、演出オブジェクト２４による演出の終了とほぼ同時にアイテムオブジェクトを仮想空間１１に配置するとともに動作指図データを複数のユーザ端末８００各々に送信することができる。また、演出オブジェクト２４による演出時間が固定的であり、当該演出時間がコンピュータ２００側で既知であれば、演出の終了タイミングをアイテム投入情報に含めなくても、演出オブジェクト２４による演出の終了と同時にアイテムオブジェクトを仮想空間１１に配置するとともに動作指図データを複数のユーザ端末８００各々に送信することが可能となる。
【０２７６】
（３）  上記実施形態においては、アイテム投入操作が行われると、ユーザ８所有の仮想通貨が消費される。ここで、仮想通貨の消費額は、視聴者数に応じて変動させるようにしてもよい。同じアイテムを投入する場合であっても、例えば、視聴者数が多い程、多くの仮想通貨が必要となる（消費量が多くなる）ようにしてもよい。この場合、アイテムに関連付けられているポイントの量は、仮想通貨の消費量にかかわらず、固定的に設定するようにしてもよい。
【０２７７】
（４）  上記実施形態においては、難易度を低くする際に、敵キャラクタの戦闘能力および出現量のいずれも減少させるようにしている。しかし、当該戦闘能力および当該出現量に基づいて難易度を総合的に評価し、当該難易度が低くなる限り、戦闘能力を上げる一方で出現量を減らしたり、戦闘能力を下げる一方で出現量を増やすようにしてもよい。また、難易度を調整する際に、当該戦闘能力および出現量のいずれか一方のみを変化させるようにしてもよい。
【０２７８】
（５）  上記実施形態においては、現ステージの視聴者数がゲームプレイ映像上に表示されることはない。しかし、当該視聴者数を当該ゲームプレイ映像上に表示するようにしてもよい。また、これに替えてあるいは加えて、視聴者数に応じた難易度を特定可能な情報を当該ゲームプレイ映像上に表示するようにしてもよい。
【０２７９】
（６）  上記実施形態においては、プレイヤ５は、ＨＭＤセット１１０を装着してアバターオブジェクト６の動作を制御する。しかし、プレイヤ５は、デスクトップＰＣ用のモニタのような据え置き型モニタにアバターオブジェクト６を表示させ、ハンドコントローラやキーボードによって当該アバターオブジェクト６の動作を制御するようにしてもよい。また、携帯情報端末の画面にアバターオブジェクト６を表示させ、当該画面に対するタッチ操作によってアバターオブジェクト６の動作を制御するようにしてもよい。
【０２８０】
（７）  上記実施形態においては、ＵＩ画像２２上のアイコンに対するタップ操作に応じて、アイテムオブジェクトが仮想空間１１に投入される。しかし、フリック操作やスワイプ操作に応じてアイテムオブジェクトを仮想空間１１に投入するようにしてもよい。この場合、アイテム投入範囲は、フリック操作の態様（操作方向）やスワイプ操作の態様（速度、タッチ操作された時間あるいは距離）に基づいて特定するようにしてもよい。さらに、画面に対するタッチ操作ではなく、声入力に応じてアイテムオブジェクトを仮想空間１１に投入するようにしてもよい。
【０２８１】
（８）  上記実施形態においては、ユーザ端末８００においてアイテム投入範囲が特定され、コンピュータ２００において当該アイテム投入範囲内のいずれかの位置がアイテム投入位置として特定される。しかし、ユーザ端末８００において投入されるアイテムオブジェクトを配置する位置（アイテム投入位置）そのものを直接的に特定するようにしてもよい。この場合、フリック操作またはスワイプ操作に応じてアイテムオブジェクトを仮想空間１１に投入するのであれば、当該フリック操作またはスワイプ操作の態様（速度、タッチ操作された時間あるいは距離）に基づいてアイテム投入位置を特定するようにしてもよい。また、アイテム投入位置は、投入したいアイテムをタッチ操作により選択した後、続けて当該アイテムを配置したい位置をタッチ操作することや、投入したいアイテムを選択したタッチ操作の位置を配置したい位置まで移動させて解除することなどにより特定するようにしてもよい。
【０２８２】
（９）  上記実施形態においては、視点変更操作が行われると、仮想カメラ２０の視点が変更されるが、このとき、特定の視点変更操作（所定の視点変更アイコンへのタッチ操作など）に応じて、仮想カメラ２０の視点をアバターオブジェクト６の視点または敵オブジェクト２３の視点に設定するようにしてもよい。また、当該視点が敵オブジェクト２３の視点である場合において、当該敵オブジェクト２３が倒されたときには、仮想カメラ２０の視点は、初期位置に配置するか、または他の敵オブジェクト２３の視点に設定するようにしてもよい。
【０２８３】
（１０）  上記実施形態においては、視聴者数が多いほど、敵オブジェクト２３の戦闘能力や出現量を増大させ、アバターオブジェクト６の戦闘能力を減少させ、アバターオブジェクト６を支援するための支援効果を減少させる例について説明した。しかし、これに代えて、視聴者数が多いほど、敵オブジェクト２３の戦闘能力や出現量を減少させ、アバターオブジェクト６の戦闘能力を増大させ、アバターオブジェクト６を支援するための支援効果を増大させるようにしてもよい。即ち、プレイヤ５がゲームの達成条件を成立させる難易度は、視聴者数が多いほど低くなり、視聴者数が少ないほど高くなるようにしてもよい。
【０２８４】
（１１）  上記実施形態においては、アバターオブジェクト６または敵オブジェクト２３の戦闘能力を現ステージの戦闘開始時の体力に基づいて規定し、当該体力を視聴者数に応じて増減させるようにしている。しかし、当該体力を増減させることに替えてあるいは加えて、ダメージを受けたことによる当該体力の減少量を視聴者数に応じて増減させるようにしてもよい。
【０２８５】
（１２）  上記実施形態においては、敵オブジェクト２３は、ゲームプログラムに従って動作し、プレイヤ５が直接操作できないノンプレイヤオブジェクトである。しかし、敵オブジェクト２３は、他のプレイヤ５が直接操作可能なプレイヤオブジェクトであってもよい。この場合、ある敵オブジェクト２３が、あるステージではプレイヤオブジェクトとなり、別のステージではノンプレイヤオブジェクトとなるといったように、ステージごとに敵オブジェクト２３の性質を異ならせるようにしてもよい。また、敵オブジェクト２３は、あるユーザがユーザ端末を用いて操作可能なプレイヤオブジェクトであってもよい。
【０２８６】
（１３）  上記実施形態においては、アバターオブジェクト６に付与されるポイントのプラス方向の調整量は、視聴者数が多いほど増大される。しかし、視聴者数が減少するほど、当該プラス方向の調整量を増大させるようにしてもよい。この場合、ユーザ８には、人気のないアバターオブジェクト６を積極的に応援して、当該ユーザ８のことをプレイヤ５に覚えて貰おうという動機付けが働く。
【０２８７】
（１４）  上記実施形態においては、ユーザ端末８００においてアイテム投入操作が行われると、投入されるアイテムにかかわらない所定のプレゼント箱のような演出オブジェクト２４を当該ユーザ端末８００における仮想空間１１に配置するようにしている。しかし、アイテム投入操作が行われたときには、演出オブジェクト２４の代わりに、投入されたアイテムのオブジェクトを所定位置に表示するようにしてもよい。この場合、アイテム投入操作から所定時間が経過すると、当該演出オブジェクト２４による演出が終了し、コンピュータ２００から配信された動作指図データに基づくオブジェクトが当該仮想空間１１に配置される。
【０２８８】
（１５）  上記実施形態においては、アバターオブジェクト６を敵オブジェクト２３と対戦させるゲームのゲームプレイ映像をユーザ端末８００において表示することを想定している。しかし、単にお喋りをするアバターオブジェクトをユーザ端末８００において表示するようにしてもよい。
【０２８９】
（１６）  上記実施形態においては、ユーザ８により投入されたアイテムのオブジェクトを仮想空間１１に配置するタイミングは、アイテム投入操作を行ったユーザ端末８００と他のユーザ端末８００とのいずれにおいても、コンピュータ２００から配信された動作指図データに基づいて特定される。しかし、アイテム投入操作を行ったユーザ端末８００については、当該動作指図データに基づかなくても、当該配置タイミングを特定することができる。このため、アイテム投入操作を行ったユーザ端末８００と他のユーザ端末８００とで異なる処理を実行することにより、アイテムオブジェクトを仮想空間１１に配置するようにしてもよい。具体的には、アイテム投入操作を行ったユーザ端末８００については、アイテム投入操作から所定時間後に当該アイテムオブジェクトを配置する処理を行う一方、その他のユーザ端末８００については、コンピュータ２００から配信された動作指図データに基づいて当該アイテムオブジェクトを配置する処理を行うようにしてもよい。
【０２９０】
（１７）  上記実施形態においては、複数のステージを用意し、各ステージが開始される際の視聴者数に応じてゲームの難易度を調整するようにしている。しかし、当該視聴者数をリアルタイムで（あるいは一定時間（１分）毎に）把握し、ステージの途中でも難易度を調整するようにしてもよい。
【０２９１】
（１８）  上記実施形態においては、ユーザ８の操作（アイテム投入操作等）により、アバターオブジェクト６により進行するゲームにおける達成条件の成立を支援することを想定している。しかし、ユーザ８の操作により、アバターオブジェクト６により進行するゲームにおける達成条件の成立を阻害する（プレイヤ５にとって不利にする）阻害作用を及ぼすものであってもよい。具体的には、ユーザ８の操作により、上記実施形態における敵オブジェクト２３に救急箱を提供して当該敵オブジェクト２３の体力に関するゲームパラメータを回復させたり、当該敵オブジェクト２３が使用可能な斧や鍬を仮想空間１１に投入して当該敵オブジェクト２３の攻撃力に関するゲームパラメータを高めたりして、アバターオブジェクト６によるゲーム進行を阻害する（即ち、ゲーム進行をプレイヤ５に不利にする）ものであってもよい。
【０２９２】
（１９）  上記実施形態においては、視聴者数を１００人単位で分類し、２００人以下の範囲において視聴者数が多くなるほど、難易度の増大量を大きくするようにしている。しかし、難易度の増大量は、必ずしも視聴者数の増大に対応させる必要はない。即ち、視聴者数が１人以上１００人未満のときの難易度の増大量を、視聴者数が１０１人以上２００人未満のときの難易度の増大量よりも大きくするようにしてもよい。また、難易度は、視聴者数１００人単位で調整するものに限らず、視聴者数１人単位で調整するものであってもよく、また、視聴者数が多くなるほど大きな単位（０人〜１０人、１１人〜５０人、５１人〜１５０人、１５１人〜３００人等）で調整するものであってもよい。
【０２９３】
（２０）  上記実施形態においては、アバターオブジェクト６が敵オブジェクト２３と対戦する対戦ゲームを想定し、敵オブジェクト２３の戦闘能力および出現量と、アバターオブジェクト６の戦闘能力とに基づいて難易度を規定するとともに、アバターオブジェクト６を支援するために、ユーザ８が投入可能なアイテムとして、マガジン、救急箱、障害物等のアイテムを設けている。
【０２９４】
しかし、アバターオブジェクト６にブロックの配置を並び替えさせるパズルゲームを本ゲームとして想定した場合、難易度は、達成条件を成立させるために必要なブロック数、ブロックの大きさ、ブロックの種類等に基づいて規定し、ユーザ８が投入可能なアイテムとして、邪魔なオブジェクト（不要なブロック、壁、置物）を破壊するためのハンマーや爆弾を設けるようにしてもよい。
【０２９５】
また、アバターオブジェクト６を密室から脱出させる脱出ゲームを本ゲームとして想定した場合、難易度は、室内の配置物の多様性、脱出するための鍵の位置、鍵の在り処を示唆する脱出支援アイテムの数等に基づいて規定し、ユーザ８が投入可能なアイテムとして、当該脱出支援アイテムのいずれかを設けるようにしてもよい。なお、この場合、支援効果の程度は、投入可能な脱出支援アイテムの数に基づいて規定される。
【０２９６】
（２１）  上記実施形態においては、演出オブジェクト２４は、アバターオブジェクト６と重複しない位置であってアバターオブジェクト６の視認性を阻害しない位置に演出画像が表示されるように配置される例について説明した。しかし、演出オブジェクト２４は、アバターオブジェクト６と一部が重複する位置に表示されるように配置してもよく、また、透過性を有するオブジェクト（例えば半透明のオブジェクト）としてもよ。
【０２９７】
（２２）  上記実施形態においては、演出画像は、演出オブジェクト２４を仮想空間１１に配置することにより表示するようにしている。しかし、演出オブジェクト２４を仮想空間１１に配置することに替えて、演出画像を視界画像１４００に重畳することにより、当該演出画像をタッチスクリーン８７０に表示するようにしてもよい。
【０２９８】
（２３）  上記実施形態においては、当該アイテム投入情報には、当該アイテム投入範囲を特定するための情報が含まれる。しかし、アイテム投入範囲を特定するための情報に替えて、仮想カメラ２０の視点を特定するための情報をアイテム投入情報に含めるようにしてもよい。
【０２９９】
（２４）  上記実施形態においては、コンピュータ２００は、図８に示す仮想空間１１においてアイテムオブジェクトを配置する際には、当該アイテムオブジェクトを配置する前の段階において、当該配置および配置タイミングを特定可能にするための動作指図データを生成し、ユーザ端末８００に配信するようにしてもよい。この場合、当該動作指図データには、当該アイテムオブジェクトの配置・動作等を特定するための情報に加えて、当愛アイテムオブジェクトを配置するタイミングを特定するための情報も含まれる。また、ユーザ端末８００は、当該タイミングで図１４に示す仮想空間１１にオブジェクトを配置する。
【０３００】
（２５）  上記実施形態においては、コンピュータ２００は、動作指図データを所定時間毎に複数のユーザ端末８００に配信する。しかし、動作指図データは、図８に示す仮想空間１１においてオブジェクトに変化が生じたときに配信するようにしてもよい。
【０３０１】
（２６）  上記実施形態においては、アバターオブジェクト６に応援ポイントを付与する際、アイテム投入情報に含まれているポイントの量をステップＳ２３で特定されたポイント調整量に基づいて補正するようにしている。しかし、ステップＳ２３で特定されたポイント調整量は、ゲーム情報に含めてユーザ端末８００に配信し、アイテムに応じてポイント調整量（あるいは調整後のポイント）を視界画像１４００に重畳して表示するようにしてもよい。この場合、ユーザは、アバターオブジェクト６に付与されるポイントがどの程度調整されるのか（あるいは調整後のポイント）をアイテム投入操作の前に把握することができる。
【０３０２】
（２７）  上記実施形態においては、ゲームの難易度がコンピュータ２００において調整されるところ、当該難易度はゲーム情報に含めてユーザ端末８００に配信し、視界画像１４００に重畳して表示したり、ユーザ８が投入できるアイテムの種類・数などを当該難易度に応じて異ならせるようにしてもよい。
【０３０３】
（２８）  上記実施形態においては、複数のステージがゲームに用意されており、各ステージの開始時の視聴者数に応じて難易度が調整される。しかし、ゲームに用意するステージを１つとして、当該ステージの開始時の視聴者数に応じて当該難易度を調整するようにしてもよい。また、ステージ数にかかわらず、ゲームの進行における所定のタイミングの視聴者数に応じて、当該難易度を調整するようにしてもよい。
【０３０４】
＜付記＞
以上の各実施形態で説明した事項を、以下に付記する。
【０３０５】
（付記１）：
本開示に示す一実施形態のある局面によれば、プロセッサおよびメモリを備え、所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を視聴端末（８００）において表示可能とするためのデータを配信するコンピュータ（２００）により実行される配信プログラムであって、前記配信プログラムは、前記プロセッサに、前記ゲームプレイ映像を表示している視聴端末の視聴数を特定するステップ（Ｓ２２）と、当該視聴数に応じて、前記所定条件を成立させる難易度を調整するステップ（Ｓ２４）とを実行させる。
【０３０６】
（付記２）：
（付記１）において、前記配信プログラムは、前記プロセッサに、視聴者による所定操作に基づき前記視聴端末から送信される操作情報を受信したことに応じて、前記所定条件の成立を支援する支援作用を及ぼすステップ（Ｓ３０）を実行させる。
【０３０７】
（付記３）：
（付記２）において、前記所定操作は、前記視聴者に関連付けられている仮想通貨の消費を伴う操作である。
【０３０８】
（付記４）：
（付記２）または（付記３）において、前記配信プログラムは、前記プロセッサに、前記視聴数に応じて前記支援作用の大きさを変化させるステップ（Ｓ２４）を実行させる。
【０３０９】
（付記５）：
（付記４）において、前記変化させるステップは、前記視聴数が第１数であるときには当該第１数よりも小さい第２数であるときよりも前記支援作用が小さくなるように変化させる。
【０３１０】
（付記６）：
（付記２）から（付記５）のいずれかにおいて、前記ゲームは、前記操作情報を受信することにより、ポイントが関連付けられたアイテムを出現させるゲームであり、前記及ぼすステップは、当該アイテムに応じた支援作用を及ぼし、前記配信プログラムは、前記プロセッサに、前記アイテムに関連付けられたポイントを配信者に付与するステップ（Ｓ２６）と、配信者に付与されたポイントが所定値に到達することにより、前記所定条件が成立する可能性を向上させる向上作用を及ぼすステップ（Ｓ３３）とを実行させる。
【０３１１】
（付記７）：
（付記６）において、前記配信プログラムは、前記プロセッサに、前記視聴数に応じて、前記所定値を変化させるステップを実行させる。
【０３１２】
（付記８）：
（付記６）から（付記７）において、前記配信プログラムは、前記プロセッサに、前記視聴数に応じて、前記配信者に付与するポイントの量を変化させるステップ（Ｓ２３）を実行させる。
【０３１３】
（付記９）：
（付記６）から（付記８）のいずれかにおいて、前記所定操作は、前記視聴者に関連付けられている仮想通貨の消費を伴う操作であり、前記アイテムに関連付けられるポイントの量は、当該アイテムの出現に要する仮想通貨の消費量に応じて設定されている。
【０３１４】
（付記１０）：
（付記１）から（付記９）のいずれかにおいて、前記調整するステップは、ゲームが開始されるときの前記視聴数に応じて、前記難易度を調整する。
【０３１５】
（付記１１）：
（付記１０）において、前記ゲームは、各々に所定条件が関連付けられた複数のステージを含み、前記調整するステップは、前記複数のステージの各々が開始されるときの前記視聴数に応じて、当該ステージに関連付けられた所定条件を成立させる難易度を調整する。
【０３１６】
（付記１２）：
（付記１）から（付記１１）のいずれかにおいて、前記データは、配信者の動きを示すモーションデータを少なくとも含み、前記ゲームは、前記モーションデータに基づいて動作するプレイヤオブジェクトが他のオブジェクトと戦うゲームであり、前記調整するステップは、前記視聴数に応じて、前記プレイヤオブジェクトの能力、前記他のオブジェクトの能力、および前記他のオブジェクトの出現量の少なくともいずれかを変化させることにより、前記難易度を調整する。
【０３１７】
（付記１３）
（付記１）から（付記１２）のいずれかにおいて、前記配信プログラムは、前記プロセッサに、前記調整するステップにより調整される難易度に応じた態様で、ゲームの進行を制御するステップ（Ｓ３４）と、前記ゲームの進行に応じて配置されるゲームオブジェクトの種類および位置を特定するためのオブジェクト情報を生成するステップ（Ｓ３５）と、前記ゲームの進行に応じて更新されるゲームパラメータを特定するためのパラメータ情報を生成するステップ（Ｓ３５）と、を更に実行させ、前記データは、前記オブジェクト情報と前記パラメータ情報とを少なくとも含む。
【０３１８】
（付記１４）：
（付記１）において、前記配信プログラムは、前記プロセッサに、視聴者による所定操作に応じて前記視聴端末から送信される操作情報を受信したときに、前記所定条件の成立を阻害する阻害作用を及ぼすステップと、前記視聴数に応じて前記阻害作用の大きさを変化させるステップとを実行させる。
【０３１９】
（付記１５）：
（付記１４）において、前記データは、配信者の動きを示すモーションデータを少なくとも含み、前記ゲームは、前記モーションデータに基づいて動作するプレイヤオブジェクトが他のオブジェクトと戦うゲームであり、前記及ぼすステップは、前記プレイヤオブジェクトが不利になるようにゲームパラメータを更新する。
【０３２０】
（付記１６）：
本開示に示す一実施形態のある局面によれば、プロセッサおよびメモリを備え、所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を視聴端末（８００）において表示可能とするためのデータを配信するコンピュータ（２００）により実行される配信方法であって、前記配信方法は、前記コンピュータが、前記ゲームプレイ映像を表示している視聴端末の視聴数を特定するステップ（Ｓ２２）と、当該視聴数に応じて、前記所定条件を成立させる難易度を調整するステップ（Ｓ２４）とを備える。
【０３２１】
（付記１７）：
本開示に示す一実施形態のある局面によれば、所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を視聴端末（８００）において表示可能とするためのデータを配信するコンピュータ（２００）であって、配信プログラムを記憶する記憶部（２２００）と、前記配信プログラムを実行することにより、前記コンピュータの動作を制御する制御部（２１００）とを備え、前記制御部は、前記ゲームプレイ映像を表示している視聴端末の視聴数を特定するステップ（Ｓ２２）と、当該視聴数に応じて、前記所定条件を成立させる難易度を調整するステップ（Ｓ２４）とを実行する。
【０３２２】
（付記１８）：
本開示に示す一実施形態のある局面によれば、プロセッサ、メモリ、および表示部を備える視聴端末（８００）により実行される視聴プログラムであって、前記視聴プログラムは、前記プロセッサに、ゲームをクリアさせるための所定条件を成立させる難易度を前記ゲームのゲームプレイ映像を表示する視聴端末の視聴数に応じて調整するコンピュータに対して、前記視聴数を特定可能とするための情報を送信するステップ（Ｓ０２、Ｓ１５）と、前記コンピュータから、前記難易度が調整された前記ゲームのゲームプレイ映像を前記視聴端末において表示可能とするためのデータを受信するステップ（Ｓ０５）と、前記データに基づいて、前記難易度が調整された前記ゲームのゲームプレイ映像を表示するステップ（Ｓ０６〜Ｓ０８）とを実行させる。
【０３２３】
〔ソフトウェアによる実現例〕
制御部２１００、６１００、および８１００の各制御ブロックは、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【０３２４】
後者の場合、制御部２１００、６１００、および８１００の少なくとも１つ備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０３２５】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０３２６】
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０３２７】
２  ネットワーク、５  プレイヤ、６  アバターオブジェクト、８  ユーザ、１１  仮想空間、１２  中心、１３  パノラマ画像、１４，２０  仮想カメラ、１５，２１  視界領域、１６  基準視線、１７，１４００  視界画像、１８，１９  領域、１００  ＨＭＤシステム、１１０  ＨＭＤセット、１２０  ＨＭＤ、１３０  モニタ、１４０  注視センサ、１５０  第１カメラ、１６０  第２カメラ、１７０  マイク、１８０  スピーカ、１９０  センサ、２００  コンピュータ、２１０，６１０，８１０  プロセッサ、２２０，６２０，８２０  メモリ、２３０，６３０，８３０  ストレージ、２４０，６４０，８４０  入出力インターフェイス、２５０，６５０，８５０  通信インターフェイス、２６０，６６０  バス、３００  コントローラ、３００Ｒ  右コントローラ、３００Ｌ  左コントローラ、３１０  グリップ、３２０  フレーム、３３０  天面、３４０，３５０，３７０，３８０  ボタン、３６０  赤外線ＬＥＤ、３９０  アナログスティック、４１０  ＨＭＤセンサ、４２０  モーションセンサ、４３０  ディスプレイ、５１０  コントロールモジュール、５２０  レンダリングモジュール、５３０  メモリモジュール、５４０  通信制御モジュール、６００  サーバ、７００  外部機器、１４２１，８１２１  仮想オブジェクト生成モジュール、１４２２，８１２２  仮想カメラ制御モジュール、１４２３  操作オブジェクト制御モジュール、１４２４，８１２４  アバターオブジェクト制御モジュール、１４２５  動き検出モジュール、１４２６  衝突検出モジュール、１４２７，８１２７  仮想オブジェクト制御モジュール、８００  ユーザ端末、８６０  カメラ、８７０  タッチスクリーン、８８０  測距センサ、２１００，６１００，８１００  制御部、２２００，６２００，８２００  記憶部  ２１０１，８１０１  操作受付部、２１０２，８１０２  表示制御部、２１０３，８１０３  ＵＩ制御部、２１０４，８１０４  アニメーション生成部、２１０５，８１０５  ゲーム進行部、２１０６，８１０６  仮想空間制御部、２１０７  反応処理部、８１０７  進捗情報生成部、６１０１  進行支援部、６１０２  共有支援部、２３１，６３１，８３１  ゲームプログラム、１３２  ゲーム情報、１３３  ユーザ情報、１０２０  コントローラ、１０３０  記憶媒体
【図１】
2020141813.tif 000003
【図２】
2020141813.tif 000004
【図３】
2020141813.tif 000005
【図４】
2020141813.tif 000006
【図５】
2020141813.tif 000007
【図６】
2020141813.tif 000008
【図７】
2020141813.tif 000009
【図８】
2020141813.tif 000010
【図９】
2020141813.tif 000011
【図１０】
2020141813.tif 000012
【図１１】
2020141813.tif 000013
【図１２】
2020141813.tif 000014
【図１３】
2020141813.tif 000015
【図１４】
2020141813.tif 000016
【図１５】
2020141813.tif 000017
【図１６】
2020141813.tif 000018
【図１７】
2020141813.tif 000019
【図１８】
2020141813.tif 000020
【図１９】
2020141813.tif 000021
【図２０】
2020141813.tif 000022
【図２１】
2020141813.tif 000023
【手続補正書】
【提出日】令和2年5月25日(2020.5.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサおよびメモリを備え、所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を視聴端末において表示可能とするためのデータを配信するコンピュータにより実行される配信プログラムであって、
前記配信プログラムは、前記プロセッサに、
前記ゲームプレイ映像を表示している視聴端末の視聴数を特定するステップと、
視聴者による所定操作に基づき前記視聴端末から送信される操作情報を受信したことに応じて、前記所定条件の成立を支援する支援作用を及ぼすステップと、
前記視聴数が第１数であるときには当該第１数よりも小さい第２数であるときよりも前記支援作用が小さくなるように変化させるステップとを実行させる、配信プログラム。
【請求項２】
前記所定操作は、前記視聴者に関連付けられている仮想通貨の消費を伴う操作である、請求項１に記載の配信プログラム。
【請求項３】
前記ゲームは、前記操作情報を受信することにより、ポイントが関連付けられたアイテムを出現させるゲームであり、
前記及ぼすステップは、当該アイテムに応じた支援作用を及ぼし、
前記配信プログラムは、前記プロセッサに、
前記アイテムに関連付けられたポイントを配信者に付与するステップと、
配信者に付与されたポイントが所定値に到達することにより、前記所定条件が成立する可能性を向上させる向上作用を及ぼすステップとを実行させる、請求項１または請求項２に記載の配信プログラム。
【請求項４】
前記配信プログラムは、前記プロセッサに、
前記視聴数に応じて、前記所定値を変化させるステップを実行させる、請求項３に記載の配信プログラム。
【請求項５】
前記配信プログラムは、前記プロセッサに、
前記視聴数に応じて、前記配信者に付与するポイントの量を変化させるステップを実行させる、請求項３または請求項４に記載の配信プログラム。
【請求項６】
前記所定操作は、前記視聴者に関連付けられている仮想通貨の消費を伴う操作であり、
前記アイテムに関連付けられるポイントの量は、当該アイテムの出現に要する仮想通貨の消費量に応じて設定されている、請求項３〜請求項５のいずれかに記載の配信プログラム。
【請求項７】
前記配信プログラムは、前記プロセッサに、
前記視聴数に応じて、前記所定条件を成立させる難易度を調整するステップを実行させ、
前記調整するステップは、ゲームが開始されるときの前記視聴数に応じて、前記難易度を調整する、請求項１〜請求項６のいずれかに記載の配信プログラム。
【請求項８】
前記ゲームは、各々に所定条件が関連付けられた複数のステージを含み、
前記調整するステップは、前記複数のステージの各々が開始されるときの前記視聴数に応じて、当該ステージに関連付けられた所定条件を成立させる難易度を調整する、請求項７に記載の配信プログラム。
【請求項９】
前記データは、配信者の動きを示すモーションデータを少なくとも含み、
前記ゲームは、前記モーションデータに基づいて動作するプレイヤオブジェクトが他のオブジェクトと戦うゲームであり、
前記配信プログラムは、前記プロセッサに、
前記視聴数に応じて、前記所定条件を成立させる難易度を調整するステップを実行させ、
前記調整するステップは、前記視聴数に応じて、前記プレイヤオブジェクトの能力、前記他のオブジェクトの能力、および前記他のオブジェクトの出現量の少なくともいずれかを変化させることにより、前記難易度を調整する、請求項１〜請求項８のいずれかに記載の配信プログラム。
【請求項１０】
前記配信プログラムは、前記プロセッサに、
前記視聴数に応じて、前記所定条件を成立させる難易度を調整するステップと、
前記調整するステップにより調整される難易度に応じた態様で、ゲームの進行を制御するステップと、
前記ゲームの進行に応じて配置されるゲームオブジェクトの種類および位置を特定するためのオブジェクト情報を生成するステップと、
前記ゲームの進行に応じて更新されるゲームパラメータを特定するためのパラメータ情報を生成するステップと、を更に実行させ、
前記データは、前記オブジェクト情報と前記パラメータ情報とを少なくとも含む、請求項１〜請求項９のいずれかに記載の配信プログラム。
【請求項１１】
プロセッサおよびメモリを備え、所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を視聴端末において表示可能とするためのデータを配信するコンピュータにより実行される配信方法であって、
前記配信方法は、前記コンピュータが、
前記ゲームプレイ映像を表示している視聴端末の視聴数を特定するステップと、
視聴者による所定操作に基づき前記視聴端末から送信される操作情報を受信したことに応じて、前記所定条件の成立を支援する支援作用を及ぼすステップと、
前記視聴数が第１数であるときには当該第１数よりも小さい第２数であるときよりも前記支援作用が小さくなるように変化させるステップとを備える、配信方法。
【請求項１２】
所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を視聴端末において表示可能とするためのデータを配信するコンピュータであって、
配信プログラムを記憶する記憶部と、
前記配信プログラムを実行することにより、前記コンピュータの動作を制御する制御部とを備え、
前記制御部は、
前記ゲームプレイ映像を表示している視聴端末の視聴数を特定するステップと、
視聴者による所定操作に基づき前記視聴端末から送信される操作情報を受信したことに応じて、前記所定条件の成立を支援する支援作用を及ぼすステップと、
前記視聴数が第１数であるときには当該第１数よりも小さい第２数であるときよりも前記支援作用が小さくなるように変化させるステップとを実行する、コンピュータ。
【請求項１３】
プロセッサ、メモリ、および表示部を備える視聴端末により実行される視聴プログラムであって、
前記視聴プログラムは、前記プロセッサに、
ゲームをクリアさせるための所定条件の成立を支援する支援作用を視聴者による所定操作に基づいて及ぼすコンピュータであって、前記ゲームのゲームプレイ映像を表示する視聴端末の視聴数に応じて、前記視聴数が第１数であるときには当該第１数よりも小さい第２数であるときよりも前記支援作用が小さくなるように変化させるコンピュータに対して、前記視聴数を特定可能とするための情報を送信するステップと、
前記コンピュータから、前記支援作用が変化させられた前記ゲームのゲームプレイ映像を前記視聴端末において表示可能とするためのデータを受信するステップと、
前記データに基づいて、前記支援作用が変化させられた前記ゲームのゲームプレイ映像を表示するステップとを実行させる、視聴プログラム。