本開示に係るゲームシステムについて図面を参照しつつ説明する。
(第1実施形態)
[ゲームシステムの概要]
図1に示すように、ゲームシステム10は、ネットワーク90と、複数の端末100と、1以上のサーバ200と、を含む。ゲームシステム10は、家庭用のシステムとして、又は業務用のシステムとして提供される。複数の端末100は、ネットワーク90を介してサーバ200と通信するように構成される。一例として、ゲームシステム10は、マルチプレイヤゲームを提供する。以下の説明において、単に「ゲーム」と示す場合、ゲームシステム10が提供するゲームを意味する。複数の端末100は、コンピュータの一例である。1以上のサーバ200は、コンピュータの一例である。
[ネットワーク]
一例として、ネットワーク90は、インターネット、及び無線基地局を含む移動通信システムで構成される。一例として、移動通信システムは、3G、4G、5G移動通信システム、LTE(Long Term Evolution)、又は、アクセスポイントによってインターネットに接続可能な無線ネットワークとして実現できる。
[端末のハードウェア構成]
複数の端末100は、ゲームを行うゲーム端末として使用され得る。ゲーム端末として使用される端末100は、ゲームシステム10が提供するゲームをプレイするゲーム機能をユーザに提供する。いくつかの端末100は、一般端末100Aとして使用され得る。一般端末100Aは、ゲーム端末として使用され得る。一般端末100Aは、配信ユーザ、及び視聴ユーザ以外の一般ユーザによって使用される。
いくつかの端末100は、配信端末100Bとして使用され得る。配信端末100Bは、視聴用コンテンツを配信する配信機能をユーザに提供する。視聴用コンテンツは、配信ユーザによるゲームプレイに応じた動画を含む。配信端末100Bは、配信ユーザによって使用される。配信ユーザは、ゲームのプレイヤである。つまり、配信端末100Bは、ゲーム端末でもある。いくつかの端末100は、視聴端末100Cとして使用され得る。視聴端末100Cは、配信ユーザが配信する視聴用コンテンツを視聴する視聴機能をユーザに提供する。視聴端末100Cは、視聴者である視聴ユーザによって使用される。配信ユーザは、第1ユーザの一例である。視聴ユーザは、第2ユーザの一例である。1人の視聴ユーザを基準とした場合に、当該視聴ユーザが視聴している視聴用コンテンツを配信しているユーザは、視聴対象の配信ユーザである。
一例として、端末100は、スマートフォンである。端末100は、フィーチャーフォン、PDA(Personal Digital Assistant)、又はタブレット型コンピュータといった、携帯端末装置であってもよい。端末100は、パーソナルコンピュータ(PC)、又はワークステーションといった、固定端末装置であってもよい。例えば、端末100は、プロセッサ110と、メモリ120と、ストレージ130と、を備える。端末100は、さらに、通信インターフェース(IF)140と、入出力IF150と、を備えてもよい。端末100は、さらに、マイク160と、スピーカ162と、タッチスクリーン164と、を備えてもよい。端末100が備える複数の構成要素の各々は、通信バス180に接続される。
プロセッサ110は、端末100に与えられる信号に応じて、又は予め定めた条件が成立したことに応じて、メモリ120又はストレージ130に記憶されているプログラムに含まれる一連の命令を実行する。例えば、プロセッサ110は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、MPU(Micro Processor Unit)、FPGA(Field-Programmable Gate Array)、又は、その他の演算装置として実現される。
メモリ120は、プログラム、及びデータを一時的に保存する。一例として、プログラムは、ストレージ130から読み出される。データは、端末100へ送信されたデータと、プロセッサ110によって生成されたデータと、を含み得る。例えば、メモリ120は、RAM(Random Access Memory)、又はその他の揮発性メモリとして実現される。
ストレージ130は、プログラム、及びデータを永続的に保持する。例えば、ストレージ130は、ROM(Read-Only Memory)、ハードディスク装置、フラッシュメモリ、又はその他の不揮発性記憶装置として実現される。ストレージ130は、メモリカードのように、着脱可能な記憶装置として実現されてもよい。
ストレージ130に格納されるプログラムは、ゲームプログラム、配信プログラム、視聴プログラム、及び、通信プログラムを含む。ゲームプログラムは、仮想空間の提供と、当該仮想空間におけるゲームプレイを提供するゲーム機能を実現する。一例として、ゲームプレイは、仮想空間に配置されるオブジェクトを操作することを含む。一例として、端末100を使用して操作されるオブジェクトは、端末100を使用するユーザに対応するキャラクタである。このキャラクタは、端末100を使用するユーザのアバターである。
配信プログラムは、仮想空間におけるゲームのプレイ状況に応じた動画(以下、プレイ動画という)を含む視聴用コンテンツを配信する配信機能を実現する。この配信機能を実現している間、端末100は、配信端末100Bとなる。視聴プログラムは、仮想空間の提供と、当該仮想空間を介した視聴用コンテンツの視聴を提供する視聴機能を実現する。この視聴機能を実現している間、端末100は、視聴端末100Cとなる。一例として、視聴用コンテンツの視聴は、プレイ動画を視聴することを含む。通信プログラムは、他のコンピュータ(例えば、サーバ200)と通信する機能を実現する。ストレージ130に格納されるプログラムは、オペレーティングシステム、シミュレーションプログラム、ユーザ認証プログラム、及びその他のプログラムを含んでよい。
例えば、ストレージ130に格納されるデータは、仮想空間の定義データ、及び仮想空間に配置される各種のオブジェクトを定義するオブジェクトデータを含む。端末100A~100Cにおいて、仮想空間は、同じオブジェクトデータを使用して、1以上のオブジェクトが配置される。つまり、端末100A~100Cは、1つの仮想空間を共有し得る。仮想空間は、3次元で表現される空間に限らない。例えば、仮想空間は、2次元で表現される空間、又は、静止画で表現される空間でもよい。例えば、仮想空間は、音や声、又は文字データなどの入力データによって表現される空間でもよい。
通信IF140は、ネットワーク90に接続される。通信IF140は、ネットワーク90に接続されている他のコンピュータ(例えば、サーバ200)と通信する。例えば、通信IF140は、LAN(Local Area Network)、又はその他の有線通信IFとして実現される。例えば、通信IF140は、Wi-Fi(登録商標)、Bluetooth(登録商標)、NFC(Near Field Communication)、又はその他の無線通信IFとして実現される。通信IF140は、上述のものに限られない。
入出力IF150は、外部の入出力機器190と通信する。例えば、入出力IF150は、USB(Universal Serial Bus)、DVI(Digital Visual Interface)、HDMI(登録商標)(High-Definition Multimedia Interface)、又はその他の有線通信IFとして実現される。例えば、入出力IF150は、Bluetooth(登録商標)、又はその他の無線通信IFとして実現される。
一例として、入出力機器190は、コントローラである。例えば、入出力IF150は、プロセッサ110から出力された命令を、コントローラへ送信する。この命令は、振動、音声出力、又は発光をコントローラに指示する。コントローラは、命令を受信すると、この命令に応じて、振動、音声出力、又は発光を実行する。コントローラは、1以上の操作パーツを有する。例えば、1以上の操作パーツは、ボタン、キー、スイッチ、ハンドル、バー、タッチパッド、又はスティックを含む。コントローラは、操作パーツに対するユーザの操作に基づく出力値を端末100へ送信する。一例として、コントローラは、加速度センサ、又は角速度センサといったモーションセンサを備えてもよい。コントローラは、モーションセンサの出力値を端末100へ送信するように構成されてもよい。コントローラは、端末100に対して取付け、及び取外しできてもよい。
入出力機器190は、上述のものに限られない。例えば、入出力機器190は、カメラであってもよい。カメラは、ユーザを撮影した撮影画像を端末100へ送信するように構成されてもよい。例えば、入出力機器190は、測距センサであってもよい。測距センサは、ユーザの手、又はマーカー等の検知に基づく出力値を端末100へ送信するように構成されてもよい。
マイク160は、ユーザの発話を音声信号(電気信号)に変換してプロセッサ110へ送信する。スピーカ162は、音声信号を音声に変換してユーザへ出力する。各端末100は、スピーカ162に加えて、又は代えて、イヤホン、又はイヤホンを接続できるイヤホンジャックを備えてもよい。
タッチスクリーン164は、モニタ166と、タッチセンサ167と、を含むとよい。モニタ166は、透過型又は非透過型の表示装置として実現される。例えば、モニタ166は、液晶モニタ、有機EL(Electro Luminescence)モニタ、又はその他の表示装置として実現される。モニタ166は、各種の画像を表示する。モニタ166に表示する画像は、背景、ユーザのアバター、その他のキャラクタ、障害物、ウィンドウ、ボタン、メニュー、リスト、及びアイコンといった各種のオブジェクトを含む。モニタ166は、上述のものに限られない。例えば、モニタ166は、左目用の画像を表示するサブモニタと、右目用の画像を表示するサブモニタと、を含む3Dモニタであってもよい。
タッチセンサ167は、モニタ166に対するユーザの操作に基づく出力値をプロセッサ110へ送信する。一例として、タッチセンサ167は、静電容量式タッチセンサ、抵抗膜式タッチセンサ(感圧式タッチセンサ)、超音波式タッチセンサ、又はその他のタッチセンサとして実現される。一例として、タッチセンサ167の入力面は、モニタ166の表示面の一部又は全部である。タッチセンサ167は、ユーザの入力操作を受け付けるように構成された操作部として使用され得る。例えば、操作部がタッチセンサ167である場合、プロセッサ110は、タッチセンサ167の入力面に対するユーザの物理的な接触操作をユーザの入力操作として受け付ける。例えば、タッチセンサ167に対するユーザの入力操作は、タッチ操作、スライド操作、スワイプ操作、タップ操作、ドラッグ操作、及びその他の態様による操作を含み得る。
操作部は、上述した構成に限られない。例えば、操作部が通信IF140である場合、プロセッサ110は、ネットワーク90を介して接続された操作機器(不図示)から送信される信号を、ユーザの入力操作として受け付ける。例えば、操作部が入出力IF150である場合、プロセッサ110は、外部の入出力機器190から送信される信号をユーザの入力操作として受け付ける。例えば、入出力機器190がカメラ及び測距センサである場合、プロセッサ110は、受信した撮影画像からユーザの手が検出されると、撮影画像及び出力値に基づき検出されるジェスチャ(ユーザの手の一連の動き)をユーザの入力操作として受け付ける。例えば、入出力機器190がコントローラである場合、プロセッサ110は、コントローラから送信される出力値をユーザの入力操作として受け付ける。
[サーバのハードウェア構成]
サーバ200は、ワークステーション、又はPC等の汎用コンピュータであってもよい。サーバ200は、プロセッサ210と、メモリ220と、ストレージ230と、通信IF240と、入出力IF250と、を備える。サーバ200が備える複数の構成要素の各々は、通信バス280に接続される。
プロセッサ210は、サーバ200に与えられる信号に応じて、又は予め定めた条件が成立したことに応じて、メモリ220又はストレージ230に格納されているプログラムに含まれる一連の命令を実行する。例えば、プロセッサ210は、CPU、GPU、MPU、FPGA、又はその他の演算装置として実現される。
メモリ220は、プログラム、及びデータを一時的に保存する。一例として、プログラムは、ストレージ230から読み出される。データは、サーバ200へ送信されたデータと、プロセッサ210によって生成されたデータと、を含み得る。例えば、メモリ220は、RAM、又はその他の揮発性メモリとして実現される。
ストレージ230は、プログラム、及びデータを永続的に保持する。例えば、ストレージ230は、ROM、ハードディスク装置、フラッシュメモリ、又はその他の不揮発性記憶装置として実現される。ストレージ230は、メモリカードのように、着脱可能な記憶装置として実現されてもよい。サーバ200は、ストレージ230に代えて、外部の記憶装置に格納されているプログラムを使用してもよい。例えば、アミューズメント施設のように、複数のゲームシステム10が使用される場面において、プログラム及びデータの更新を一括して行なうことができる。
ストレージ230に格納されるプログラムは、ゲームプログラム、配信プログラム、及び、通信プログラムを含む。ゲームプログラムは、ゲームシステム10における仮想空間の提供と、仮想空間を複数のユーザで共有したゲームプレイを提供する機能を実現する。配信プログラムは、配信ユーザのプレイ動画を含む視聴用コンテンツを、視聴端末100Cへ配信する機能を実現する。通信プログラムは、他のコンピュータ(例えば、端末100A~100C)と通信する機能を実現する。ストレージ230に格納されるプログラムは、オペレーティングシステム、シミュレーションプログラム、ユーザ認証プログラム、及びその他のプログラムを含んでよい。例えば、ストレージ130に格納されるデータは、仮想空間を定義するデータ、及び仮想空間に配置される各種のオブジェクトを定義するオブジェクトデータを含み得る。
通信IF240は、ネットワーク90に接続される。通信IF240は、ネットワーク90に接続されている他のコンピュータ(例えば、端末100A~100C)と通信する。例えば、通信IF240は、LAN、又はその他の有線通信IFとして実現される。例えば、通信IF240は、Wi-Fi(登録商標)、Bluetooth(登録商標)、NFC、又はその他の無線通信IFとして実現される。通信IF240は、上述のものに限られない。
入出力IF250は、外部の入出力機器と通信する。例えば、入出力IF250は、USB、DVI、HDMI、又はその他の有線通信IFとして実現される。例えば、入出力IF250は、Bluetooth(登録商標)、又はその他の無線通信IFとして実現される。
サーバ200は、上述した構成に限らない。例えば、サーバ200は、仮想空間におけるゲームを提供するためのゲームサーバ200Aと、視聴用コンテンツの配信を行う配信サーバ200Bと、を含んでよい。ゲームプログラムは、ゲームサーバ200Aのストレージ230に格納される。ゲームプログラムは、ゲームサーバ200Aのプロセッサ210によって実行される。配信プログラムは、配信サーバ200Bのストレージ230に格納される。配信プログラムは、配信サーバ200Bのプロセッサ210によって実行される。ゲームサーバ200Aは、通信IF240を介して、配信サーバ200Bとの間で、各種の情報、及び各種の要求を送受信する。ゲームサーバ200Aは、通信IF240を介して、端末100A,100Bとの間で、各種の情報、及び各種の要求の送受信を行う。配信サーバ200Bは、通信IF240を介して、視聴端末100Cとの間で、各種の情報、及び各種の要求の送受信を行う。
[端末のモジュール構成]
図2に示すように、端末100は、コントロールモジュール101と、レンダリングモジュール104と、メモリモジュール105と、通信モジュール106と、入出力モジュール107と、を備える。コントロールモジュール101は、ゲームモジュール101Aと、配信モジュール101Bと、視聴モジュール101Cと、を備える。
ゲームモジュール101A、配信モジュール101B、視聴モジュール101C、及びレンダリングモジュール104は、プロセッサ110によって実現される。メモリモジュール105は、メモリ120、及びストレージ130によって実現される。通信モジュール106は、通信IF140によって実現される。入出力モジュール107は、プロセッサ110、タッチセンサ167、及び入出力IF150によって実現される。
入出力モジュール107は、タッチセンサ167に対するユーザの入力操作、及び、入出力IF150を介した外部の操作機器に対するユーザの入力操作を検知し、受け付ける。一例として、入出力モジュール107は、タッチセンサ167に対するユーザの入力操作を受け付けた場合、入力位置の座標を検出することによって、当該入力操作の種類を特定する。例えば、入出力モジュール107が特定できる入力操作の種類は、タッチ操作、スライド操作、スワイプ操作、タップ操作、ドラッグ操作、及びその他の態様による操作を含み得る。入出力モジュール107は、連続して検知されていた入力操作が途切れると、タッチセンサ167から接触入力が解除されたことを検知する。
通信モジュール106は、1以上のサーバ200から、各種の情報、及び各種の要求を受信する。一例として、通信モジュール106がサーバ200から受信する情報は、進行情報、配信情報、及びユーザ情報を含み得る。一例として、進行情報、及び配信情報は、ゲームの進行状況を示す。一例として、進行情報、及び配信情報は、仮想空間に配置された1以上のアバターの種類情報、アバターの座標情報、アバターのアクション情報、及びその他の情報を含み得る。アバターは、仮想空間においてユーザが操作する対象となるオブジェクトである。アバターは、ユーザの分身となるキャラクタである。一例として、アバターの座標情報は、仮想空間における位置を示す。一例として、アクション情報は、アバターのアクション内容を示す。一例として、アバターのアクションは、アバターの姿勢、アイテムの使用、スキルの使用、攻撃、防御、回避、又はジャンプなどを含み得る。進行情報、及び配信情報は、アバターの設定に関する設定情報を含み得る。一例として、アバターの設定は、仮想空間において、又は仮想空間へ移動する前段階において、ユーザが変更し得る。一例として、アバターの設定は、アバターの種類、アバターの装備、又はアバターの容姿などを含み得る。一例として、ユーザ情報は、ユーザ名、アカウントID、性別、年齢、及び住所等を含み得る。
ゲームモジュール101Aは、ゲームを進行させるための処理を行う。ゲームモジュール101Aは、メモリモジュール105から仮想空間の定義データを読み出す。ゲームモジュール101Aは、読み出した定義データに応じて、仮想空間を定義する。ゲームモジュール101Aは、オブジェクトデータをメモリモジュール105から読み出す。ゲームモジュール101Aは、読み出したオブジェクトデータに応じて、仮想空間にオブジェクトを配置する。ゲームモジュール101Aは、入出力モジュール107が受け付けた入力位置の座標と、入力操作の種類と、進行情報(ゲームの進行状況)と、に応じて、ユーザの指示を特定する。
ゲームの進行状況は、仮想空間における自分のアバターの種類情報、座標情報、及びアクション情報を含み得る。ゲームの進行状況は、仮想空間における他ユーザのアバターの種類情報、座標情報、及びアクション情報を含み得る。ゲームの進行状況は、自分のアバターの設定情報を含み得る。ゲームの進行状況は、他ユーザのアバターの設定情報を含み得る。
ゲームモジュール101Aは、ゲームの進行に関する各種の判定を行う。ゲームモジュール101Aは、ゲームの進行に関する各種の抽選を行う。ゲームモジュール101Aは、ユーザの指示、各種の判定結果、及び各種の抽選結果に応じて、各種の要求、及びプレイ情報を生成する。ゲームモジュール101Aが生成した各種の要求、及びプレイ情報は、通信モジュール106によってサーバ200へ送信される。
配信モジュール101Bは、視聴用コンテンツ(プレイ動画)を配信するための処理を行う。配信モジュール101Bは、入出力モジュール107が受け付けた入力位置の座標と、入力操作の種類と、ゲームの進行状況と、に応じて、ユーザの指示を特定する。配信モジュール101Bは、ユーザの指示内容に応じて、視聴用コンテンツの配信開始要求、及び配信終了要求を生成し得る。配信モジュール101Bは、ユーザの指示に応じて、視聴用コンテンツの配信内容を変更する要求を生成し得る。配信モジュール101Bが生成した各種の要求は、通信モジュール106によって送信される。
視聴モジュール101Cは、配信ユーザが配信する視聴用コンテンツ(プレイ動画)を視聴するための処理を行う。視聴モジュール101Cは、メモリモジュール105から仮想空間の定義データを読み出す。視聴モジュール101Cは、読み出した定義データに応じて、仮想空間を定義する。視聴モジュール101Cは、オブジェクトデータをメモリモジュール105から読み出す。視聴モジュール101Cは、読み出したオブジェクトデータに応じて、仮想空間にオブジェクトを配置する。視聴モジュール101Cは、入出力モジュール107が受け付けた入力位置の座標と、入力操作の種類と、配信情報(ゲームの進行状況)と、に応じて、ユーザの指示を特定する。視聴モジュール101Cは、ユーザの指示に応じて、視聴用コンテンツの視聴開始要求、及び視聴終了要求を生成する。視聴モジュール101Cは、ユーザの指示に応じて、視聴用コンテンツの配信内容を変更する要求を生成する。視聴モジュール101Cが生成した各種の要求は、通信モジュール106によって送信される。
レンダリングモジュール104は、所定の画面画像を作成する。レンダリングモジュール104は、通信モジュール106が受信した進行情報、配信情報、及び各種の要求に応じて所定の画面画像を作成する。レンダリングモジュール104は、ゲームモジュール101Aが生成したプレイ情報、及び各種の要求に応じて所定の画面画像を作成する。レンダリングモジュール104は、視聴モジュール101Cが生成した情報、及び各種の要求に応じて所定の画面画像を作成する。
レンダリングモジュール104は、作成した画面画像をモニタ166に表示する。レンダリングモジュール104は、入出力IF150を介して、外部の表示装置に画面画像を表示するように構成されてもよい。レンダリングモジュール104は、通信IF140を介して、外部の表示装置に画面画像を表示するように構成されてもよい。画面画像は、2D、又は3Dのオブジェクトを制御、及び描画した画像である。上述したように、画面画像として描画されるオブジェクトは、アバター(キャラクタ)、背景、及び障害物等を含み得る。
レンダリングモジュール104は、UI(User Interface)を構築するための2D、又は3Dのゲームオブジェクト(UIオブジェクト)を制御、及び描画してもよい。レンダリングモジュール104は、アイコン、ボタン、リスト、ウィンドウ、及びメニューといった、ユーザの入力操作に必要なUIオブジェクトを含む画面画像を作成する。UIオブジェクトは、ゲームを進行するために必要なユーザの入力操作を補助する。また、UIオブジェクトは、ゲームの進行中に生成される情報を端末100から得るために必要なユーザの入力操作を補助する。本開示で示す各種のUIオブジェクトは、何れも1つの例に過ぎず、それらの態様に限らない。
端末100における各種の処理は、ハードウェアと、プロセッサ110により実行されるソフトウェアと、によって実現される。このようなソフトウェアは、ハードディスク等のメモリモジュール105に予め格納されていてもよい。ソフトウェアは、CD-ROM等のように、コンピュータが読み取りできる不揮発性のデータ記録媒体に格納されて、プログラム製品として流通してもよい。このソフトウェアは、インターネット等のネットワークに接続されているデータ提供事業者体によって、ダウンロードできるプログラム製品として提供されてもよい。このようなソフトウェアは、光ディスク駆動装置等のデータ読取装置によってデータ記録媒体から読み取られて、又は、通信モジュール106を介してサーバ200といった他のコンピュータからダウンロードされた後、メモリモジュールに一旦格納される。そのソフトウェアは、プロセッサ110によってメモリモジュールから読み出され、実行可能なプログラムの形式でRAM等に格納される。プロセッサ110は、そのプログラムを実行する。
[サーバのモジュール構成]
図3に示すように、サーバ200は、コントロールモジュール201と、メモリモジュール205と、通信モジュール206と、入出力モジュール207と、を備える。コントロールモジュール201は、ゲームモジュール201Aと、配信モジュール201Bと、を備える。ゲームモジュール201A、及び配信モジュール201Bは、プロセッサ210によって実現される。メモリモジュール205は、メモリ220、及びストレージ230によって実現される。通信モジュール206は、通信IF240によって実現される。入出力モジュール207は、プロセッサ210、及び入出力IF250によって実現される。
通信モジュール206は、各端末100から、各種の情報、及び各種の要求を受信する。一例として、通信モジュール206が各端末100から受信する情報は、プレイ情報、及びユーザ情報を含み得る。通信モジュール206は、各端末100に対して、各種の情報、及び各種の要求を送信する。一例として、通信モジュール206が各端末100へ送信する情報は、進行情報、及びユーザ情報を含み得る。入出力モジュール107は、入出力IF250を介した外部の操作機器に対するユーザの入力操作を検知し、受け付ける。
ゲームモジュール201Aは、直接的又は間接的に1つの仮想空間を複数のユーザによって共有する環境を提供するための処理を行う。ゲームモジュール201Aは、メモリモジュール205から、仮想空間の定義データを読み出す。ゲームモジュール201Aは、読み出した定義データに応じて、仮想空間を定義する。ゲームモジュール201Aは、オブジェクトデータをメモリモジュール205から読み出す。ゲームモジュール201Aは、読み出したオブジェクトデータに応じて、ゲームに参加するユーザのアバターを除く各種のオブジェクトを仮想空間に配置する。
ゲームモジュール201Aは、複数の端末100から通信モジュール206が受信したプレイ情報に含まれる座標情報に応じて、複数のユーザの各々に対応するアバターを仮想空間に配置する。ゲームモジュール201Aは、複数の端末100から通信モジュール206が受信したプレイ情報に含まれるアクション情報、及びアバターの設定情報に応じて、アバター同士の相互作用を判定する。相互作用は、1のアバターがアクションを行った場合に別のアバターが受ける影響である。ゲームモジュール201Aは、これらの処理の結果に応じて、進行情報を生成する。通信モジュール206は、進行情報を1以上の端末100へ送信する。ゲームモジュール201Aは、生成した進行情報を配信モジュール201Bへ送信する。
配信モジュール201Bは、ゲームモジュール201Aが生成した進行情報に応じて、配信情報を生成する。通信モジュール206は、配信情報を1以上の端末100へ送信する。一例として、配信情報は、進行情報を含んでもよい。一例として、配信情報は、進行情報そのものであってもよい。配信モジュール201Bは、通信モジュール206が視聴端末100Cから受信した各種の要求に応じて、各種の要求をゲームモジュール201Aへ送信する。配信モジュール201Bは、通信モジュール206が端末100から受信した各種の情報に応じて、各種の情報をゲームモジュール201Aへ送信する。
サーバ200は、上述したモジュール構成に限らない。例えば、ゲームモジュール201Aは、ゲームサーバ200Aが備えてもよい。例えば、配信モジュール201Bは、配信サーバ200Bが備えてもよい。ゲームモジュール201Aは、通信モジュール206を介して、配信モジュール201Bとの間で、各種の情報、及び各種の要求の送受信を行う。
サーバ200における処理は、ハードウェアと、プロセッサ210により実行されるソフトウェアと、によって実現される。このようなソフトウェアは、ハードディスク等のメモリモジュール205に予め格納されてもよい。ソフトウェアは、CD-ROM等のように、コンピュータが読み取りできる不揮発性のデータ記録媒体に格納されて、プログラム製品として流通してもよい。このソフトウェアは、インターネット等のネットワークに接続されているデータ提供事業者体によって、ダウンロードできるプログラム製品として提供されてもよい。このようなソフトウェアは、光ディスク駆動装置等のデータ読取装置によってデータ記録媒体から読み取られて、又は、通信モジュール206を介して外部記憶装置といった他のコンピュータからダウンロードされた後、メモリモジュールに一旦格納される。そのソフトウェアは、プロセッサ210によってメモリモジュールから読み出され、実行可能なプログラムの形式でRAM等のメモリに格納される。プロセッサ210は、そのプログラムを実行する。
[ゲームの概要]
一例として、本開示に係るゲームは、性質が異なる複数のパートを含む。一例として、複数のパートは、第1パートと、第2パートと、を含む。第1パートにおいて、配信ユーザ、及び一般ユーザは、第2パートのための準備を行い得る。第1パートにおいて、視聴ユーザは、配信ユーザが配信する視聴用コンテンツを視聴し得る。視聴用コンテンツは、各パートにおけるゲームのプレイ動画を含み得る。
一例として、第2パートは、複数の陣営が何らかの基準に基づいて勝敗を決めるパートである。複数の陣営は、それぞれ複数のユーザを含み得る。複数のユーザが所属するものは、陣営であることに限らず、パーティ、グループ、チーム、又は組などであってもよい。一例として、第2パートは、複数のパーティが何らかの基準に基づいて勝敗を決めるパートであってもよい。一例として、第2パートは、複数のユーザが何らかの基準に基づいて勝敗を決めるパートであってもよい。
第2パートにおいて、配信ユーザ、及び一般ユーザの各々は、仮想空間で自分のアバターを移動させることを含む第1ゲームに参加できる。視聴ユーザは、第1ゲームに付随した第2ゲームに参加できる。第2ゲームは、仮想空間に配置された特定オブジェクトに対する照準状態を確立させることを含む。第2ゲームでは、視聴ユーザのアバターが仮想空間に配置されない。つまり、第2ゲームは、自分のアバターを移動させることを含まない。
一例として、複数の陣営には、第1陣営と、第2陣営と、を含む。各陣営には、第1ゲームに参加する1以上の配信ユーザ、及び第1ゲームに参加する1以上の一般ユーザの、一方又は両方が所属する。第1陣営に所属することは、第1属性であることの一例である。第2陣営に所属することは、第2属性であることの一例である。これに限らず、属性は、フレンド登録がされているか否か、複数のユーザが所属し得るギルドが同じであるか否か、又は複数のパーティが所属し得るユニオンが同じであるか否かなどであってもよい。
一例として、ゲームの第2パートは、以下のような仕様である。
第1ゲームの一例について説明する。
第1ゲームは、複数の陣営が勝敗を争う対戦型のゲームである。第1ゲームは、自分のアバターと敵方ユーザのアバターとでバトルを行うバトルゲームである。配信ユーザ、及び一般ユーザの一方又は両方は、1つのパーティを形成してバトルゲームに参加する。つまり、複数の陣営は、バトルゲームに参加する1以上のパーティをそれぞれ含む。複数の陣営は、それぞれ複数のパーティを含んでもよい。
第1ゲームでは、1つのパーティに所属できるユーザの最大数が定められている。一例として、1つのパーティに所属できるユーザの最大数は、6人である。1つのパーティに所属できるユーザの最大数は、2人~5人であってもよく、7人以上であってもよい。一例として、第1ゲームにおけるパーティは、別のパートにおいて構成された少人数グループやフレンド等の関係にあった者同士によって構成される少人数のグループを所属させることも可能である。ある2人グループと3人グループと個人ユーザを組み合わせて上限人数6人のパーティとして構成させてもよいし、個人プレイヤ6人を所属させて第2パートにおけるパーティとしてもよい。
第2パートにおいて、勝敗を決めるための基準は、1つの陣営が、この陣営と敵対する敵方陣営よりも先に、予め定めた勝利条件を満たすことである。勝利条件は、第1ゲームにおいて、敵方陣営の全アバターの状態が、第1状態から第2状態へ変更されることを含む。アバターの状態は、予め定めた変更条件が成立した場合に、第1状態から第2状態へ変更される。一例として、変更条件は、アバターのヒットポイントが0になることである。この場合、第1状態は、生存状態である。第2状態は、死亡状態である。つまり、勝利条件は、敵方陣営のアバターを全滅させることである。バトルゲームにおいて、各ユーザは、自分のアバターを移動させたり、敵方陣営のアバターを攻撃したりできる。自分のアバターのヒットポイントは、敵方陣営のアバターによる攻撃が命中した場合に減少する。敵方陣営のアバターのヒットポイントは、味方陣営のアバターによる攻撃が命中した場合に減少する。
第2パートは、敵方陣営のアバターが全滅していなくても、予め定めた制限時間が経過した場合に終了する。勝利条件は、第2パートの制限時間が経過する時点において、1つの陣営が、敵方陣営よりも多くのスコアを獲得していることを含む。スコアは、第1ゲームにおいて、仮想空間に配置された特別オブジェクトを回収することで獲得できる。
第2パートにおける第1ゲームは、上述した仕様に限らない。例えば、第1ゲームは、サッカー、テニス、卓球、ボクシング、又はバスケットボール等のスポーツであってもよい。例えば、第1ゲームは、カーレース、ヨットレース、スキーレース、又は飛行レース等のレースであってもよい。
第2ゲームの一例について説明する。
第2ゲームは、1以上の視聴ユーザが、第1ゲームにおける特定の場面を目撃するというミッションに挑戦する「目撃ミッションゲーム」である。一例として、特定の場面は、配信ユーザのアバター、又は一般ユーザのアバターが、特定のアクションをしている場面を含み得る。一例として、目撃ミッションゲームにおいて、特定オブジェクトに対する照準状態(注目状態)が確立された状態は、視聴ユーザが特定の場面を目撃した状態として定められている。以下の説明において、単に「対象アバター」と示す場合、1の視聴ユーザを基準とした場合に、当該1の視聴ユーザとは異なる視聴ユーザに対してプレイ動画を配信している配信ユーザのアバター、及び一般ユーザのアバターを意図する。対象アバターは、特定オブジェクトの一例である。
一例として、目撃ミッションゲームでは、当該ゲームに参加できる視聴ユーザの最大数が定められていない。つまり、バトルゲームのプレイ動画を視聴している全ての視聴ユーザは、そのバトルゲームに付随する目撃ミッションゲームに参加できる。目撃ミッションゲームでは、当該ゲームに参加できる視聴ユーザの最大数が定められていてもよい。この場合、目撃ミッションゲームに参加できる視聴ユーザの最大数は、バトルゲームに参加できるユーザの最大数と同じでもよく、多くてもよく、少なくてもよい。
目撃ミッションゲームは、バトルゲームと並行して実行される。目撃ミッションゲームは、直接的又は間接的に、バトルゲームと共通化された仮想空間を使用して実行される。目撃ミッションゲームにおいて、照準状態が確立されたか否かは、バトルゲームの結果に影響を及ぼさない。目撃ミッションゲームにおいて、特定オブジェクトに対する照準状態の確立が特定された場合に、視聴ユーザに対して報酬が付与され得る。一例として、報酬は、第1パート、又は第2パートで消費可能な報酬ポイントPである。ユーザは、報酬ポイントPを消費することで、アイテム、武器、防具、通貨、称号、又はキャラクタを獲得可能であるとよい。これに限らず、報酬は、ゲーム内で使用可能なアイテム、武器、防具、通貨、称号、又はキャラクタそのものであってもよい。
一例として、第1パートは、以下のような仕様である。
第1パートにおいて、配信ユーザ、及び一般ユーザは、第2パートが含むバトルゲームの準備を行う。バトルゲームの準備は、ユーザが所持するキャラクタの中から、自分のアバターとして、バトルゲームにおいて使用するキャラクタを選択することを含む。バトルゲームの準備は、アバターの装備、アバターのスキル、及びアバターの所持アイテムの追加、交換、及び削除を含む。バトルゲームの準備は、アバターの容姿を変更することを含んでよい。例えば、アバターの容姿は、種族、性別、体形、髪型、又は表情を含む。バトルゲームの準備は、アバターの設定を変更することである。
[端末における画面遷移の概要]
図4に示すように、一例として、各端末100における表示画面には、第1ホーム画面40A、第2ホーム画面40B、マッチング画面45、第1バトル画面50A、及び第2バトル画面50Bを含み得る。一例として、各端末100における表示画面には、第1リザルト画面55、第2リザルト画面60、リスト画面65、及び視聴画面70を含み得る。ここでは、画面遷移の概要について説明する。各表示画面の具体的な一例については後述する。
第1ホーム画面40Aは、ゲームが第1パートである場合であって、端末100が初期状態である場合に表示される。初期状態は、配信状態、及び視聴状態の何れでもない状態である。初期状態である場合に、端末100は、一般端末100Aになる。配信状態である場合に、端末100は、配信端末100Bになる。視聴状態である場合に、端末100は、視聴端末100Cになる。第2ホーム画面40Bは、ゲームが第1パートである場合であって、端末100が配信状態である場合に表示される。
マッチング画面45は、ゲームが第1パートから、第2パートのバトルゲームへ移行する場合に表示される。第1バトル画面50Aは、ゲームが第2パートのバトルゲームである場合であって、かつ端末100が初期状態であるときに表示される。第2バトル画面50Bは、ゲームが第2パートのバトルゲームである場合であって、かつ端末100が配信状態であるときに表示される。第1リザルト画面55は、ゲームが第2パートから第1パートへ移行するときに表示される。なお、第1リザルト画面55において、続けて第2パートのゲームを実行することを指示する操作がされた場合に、ホーム画面40A,40Bを経由せずに、マッチング画面45が表示されてもよい。
リスト画面65は、画面が第1ホーム画面40Aから視聴画面70へ移行する場合に表示される。リスト画面65は、その時点で視聴できる1以上の視聴用コンテンツのリストを含む。ユーザは、リストから任意の視聴用コンテンツを選択することによって、その視聴用コンテンツを視聴することができる。
視聴画面70は、ゲームが第1パートである場合であって、端末100が視聴状態である場合に表示される。視聴画面70において視聴できる視聴用コンテンツは、リスト画面65において、ユーザによって選択された視聴用コンテンツである。視聴画面70において視聴できる視聴用コンテンツは、その視聴用コンテンツを配信する配信端末100Bにおけるゲームの状況に応じたプレイ動画を含み得る。
視聴画面70において、視聴ユーザは、第1パートのゲームにおける配信ユーザのゲームプレイを視聴できる。視聴画面70において、視聴ユーザは、第2パートのバトルゲームにおける配信ユーザのゲームプレイを視聴できる。つまり、視聴画面70は、バトルゲームのプレイ動画を視聴できる。第2リザルト画面60は、配信ユーザがプレイするゲームが第2パートから第1パートへ移行するときに表示される。第2リザルト画面60が表示された後には、視聴画面70へ移行することによって、視聴ユーザは、第1パートにおける配信ユーザのゲームプレイを視聴できる。
[配信処理、及び視聴処理の流れ]
視聴用コンテンツを配信するための配信処理、及び視聴用コンテンツを視聴するための視聴処理の流れの一例について説明する。
図5に示すように、ステップS100において、配信端末100Bのプロセッサ110は、配信モジュール101Bとして、配信開始を指示する操作を受け付けた場合に、配信開始要求をサーバ200へ送信する。
ステップS102において、ゲームが第1パートである場合に、配信端末100Bのプロセッサ110は、ゲームモジュール101Aとして、プレイ情報をサーバ200へ送信する。プレイ情報は、アバターの種類情報、座標情報、アクション情報、設定情報、及びその他の情報を含み得る。
ステップS104において、サーバ200のプロセッサ210は、配信モジュール201Bとして、配信開始要求を受信する。ステップS106において、サーバ200のプロセッサ210は、ゲームモジュール201Aとして、プレイ情報を受信する。つまり、サーバ200は、配信ユーザが配信端末100Bで行うゲームプレイに応じたプレイ情報を、配信端末100から受信する。これに限らず、サーバ200のプロセッサ210は、配信モジュール201Bとして、プレイ情報を受信してもよい。
ステップS108において、サーバ200のプロセッサ210は、配信モジュール201Bとして、配信情報を生成する。ステップS110において、サーバ200のプロセッサ210は、配信モジュール201Bとして、配信リストを生成する。一例として、配信リストは、配信中である視聴用コンテンツのリストである。一例として、配信リストは、視聴用コンテンツを配信中である配信ユーザのリストであってもよい。
ステップS114において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、配信リストの表示を指示するリスト表示操作を受け付けた場合に、配信リスト要求をサーバ200へ送信する。
ステップS116において、サーバ200のプロセッサ210は、配信モジュール201Bとして、配信リスト要求を受信する。ステップS118において、サーバ200のプロセッサ210は、配信モジュール201Bとして、配信リストを視聴端末100Cへ送信する。
ステップS120において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、配信リストを受信する。ステップS122において、視聴端末100Cのプロセッサ110は、レンダリングモジュール104として、配信リストをモニタ166に表示する。
ステップS124において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、視聴を開始する視聴用コンテンツを指示する配信開始操作を受け付けた場合に、視聴開始要求をサーバ200へ送信する。一例として、視聴開始要求は、視聴端末100Cへの配信を要求する視聴用コンテンツを示す情報を含む。
ステップS126において、サーバ200のプロセッサ210は、配信モジュール201Bとして、視聴開始要求を受信する。ステップS128において、サーバ200のプロセッサ210は、配信モジュール201Bとして、配信情報を視聴端末100Cへ送信する。つまり、サーバ200は、受信したプレイ情報に応じて、配信情報を1以上の視聴端末100Cへ送信する。サーバ200は、配信ユーザによるゲームのプレイ動画を含む視聴用コンテンツを、視聴端末100Cを使用する視聴ユーザが視聴できるようにする。ステップS128は、仮想空間における配信ユーザのゲームプレイに応じた配信情報を、視聴ユーザが使用する端末へ送信することの一例である。ステップS128は、視聴ユーザが使用する端末を使用して、ゲームプレイに応じた動画を視聴できるようにすることの一例である。
ステップS130において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、配信情報を受信する。ステップS132において、視聴端末100Cのプロセッサ110は、レンダリングモジュール104として、配信情報に応じて視聴用コンテンツを含む視聴画面70をモニタ166に表示する。
視聴端末100Cのプロセッサ110は、配信端末100Bがゲームの第1パートを配信している場合、第1パートにおけるゲームのプレイ動画を含む視聴画面70をモニタ166に表示する。視聴端末100Cのプロセッサ110は、配信端末100Bが第2パートの第1ゲームを配信している場合、第2パートにおける第1ゲームのプレイ動画を含む視聴画面70をモニタ166に表示する。視聴画面70は、配信ユーザによるゲームのプレイ動画を含む視聴用コンテンツの一例である。
視聴端末100Cのプロセッサ110は、配信端末100Bにおけるゲームが第2パートから第1パートへ移行した場合、レンダリングモジュール104として、第2リザルト画面60をモニタ166に表示する。つまり、配信情報は、第2パートの終了を示す情報を含み得る。その後、視聴端末100Cのプロセッサ110は、レンダリングモジュール104として、第1パートにおけるゲームのプレイ動画を含む視聴画面70をモニタ166に表示する。
[マッチング処理、及びゲーム処理の流れ]
マッチング処理、及びゲーム処理の流れの一例について説明する。
以下の説明では、特に断らない限り、一般ユーザ又は配信ユーザと示す場合に、同じバトルゲームに参加している各ユーザを意図する。また、特に断らない限り、視聴ユーザと示す場合に、同じ配信ユーザによって配信されている視聴用コンテンツを視聴しているユーザを意図する。視聴ユーザは、目撃ミッションゲームに参加しているユーザでもある。
図6に示すように、ステップS200において、ゲームが第1パートである場合に、端末100のプロセッサ110は、レンダリングモジュール104として、第1ホーム画面40A、又は第2ホーム画面40Bをモニタ166に表示する。プロセッサ110は、初期状態である場合に、第1ホーム画面40Aをモニタ166に表示する。プロセッサ110は、配信状態である場合に、第2ホーム画面40Bをモニタ166に表示する。
ステップS202において、端末100のプロセッサ110は、ゲームモジュール101Aとして、第2パートの開始を指示する開始操作を受け付けた場合に、マッチング開始要求をサーバ200へ送信する。一例として、プロセッサ110は、端末100のユーザが所属するパーティに、規定数のユーザが所属している場合に、開始操作を受け付ける。つまり、プロセッサ110は、端末100のユーザが所属するパーティに、規定数のユーザが所属していない場合に、開始操作を受け付けない。一例として、規定数は、1人でもよく、2人以上であってもよく、1つのパーティに所属できるユーザの最大数であってもよい。マッチング開始要求を送信した場合に、プロセッサ110は、レンダリングモジュール104として、マッチング画面45をモニタ166に表示する。
ステップS204において、サーバ200のプロセッサ210は、ゲームモジュール101Aとして、マッチング開始要求を受信する。ステップS206において、サーバ200のプロセッサ210は、マッチング処理を行う。マッチング処理において、プロセッサ210は、ゲームモジュール201Aとして、マッチング待ち状態である1以上のパーティの中から、端末100を使用するユーザが所属するパーティと対戦するための条件に適合するパーティを検索する。マッチング待ち状態は、マッチング開始要求を受信済みであり、かつ対戦相手となるパーティが決定されていない状態である。
ステップS208において、サーバ200のプロセッサ210は、ゲームモジュール201Aとして、条件に適合するパーティを敵方陣営のパーティとして決定してから、マッチングを完了する。つまり、プロセッサ210は、1つの第2パートのゲームに参加する複数のパーティを決定する。この複数のパーティは、味方陣営に所属する1以上の味方パーティと、敵方陣営に所属する1以上の敵方パーティと、を含むとよい。以下の説明では、1つの第1ゲームに参加する複数のパーティを「参加パーティ」と示す。参加パーティは、第1陣営に所属する1以上の第1パーティと、第2陣営に所属する1以上の第2パーティと、を含む。
ステップS210において、サーバ200のプロセッサ210は、ゲームモジュール201Aとして、仮想空間を定義する。ステップS210は、仮想空間を定義することの一例である。ステップS212において、サーバ200のプロセッサ210は、ゲームモジュール201Aとして、仮想空間に1以上のオブジェクトを配置する。1以上のオブジェクトは、複数の参加パーティのそれぞれに所属するユーザのアバターを含む。同じ陣営に所属するユーザ同士は、同じ属性を有する味方ユーザである。互いに敵対する複数の陣営に分かれて所属するユーザ同士は、異なる属性を有する敵方ユーザである。
ステップS212では、1人のユーザから見たときに、この1人のユーザのアバター、味方ユーザのアバター、及び敵方ユーザのアバターが、仮想空間に配置される。一例として、1以上のオブジェクトは、バトルゲームの舞台を構成するフィールドオブジェクトを含んでよい。つまり、仮想空間は、アバターの移動を許容するフィールドを含み得る。一例として、1以上のオブジェクトは、複数の陣営にとって共通の敵方キャラクタを含んでよい。一例として、1以上のオブジェクトは、複数の陣営にとって共通である障害物、又は共通であるトラップを含んでよい。ステップS212は、仮想空間に1以上のオブジェクトを配置することの一例である。
ステップS214において、サーバ200のプロセッサ210は、ゲームモジュール201Aとして、第2パート開始要求を端末100へ送信する。プロセッサ210は、第2パート開始要求を、参加パーティに所属するユーザが使用する全ての端末100A,100Bへ送信する。
ステップS216において、端末100のプロセッサ110は、ゲームモジュール101Aとして、第2パート開始要求を受信する。ステップS218において、端末100のプロセッサ110は、レンダリングモジュール104として、第1バトル画面50A又は第2バトル画面50Bをモニタ166に表示する。プロセッサ110は、初期状態である場合に、第1バトル画面50Aをモニタ166に表示する。プロセッサ110は、配信状態である場合に、第2バトル画面50Bをモニタ166に表示する。つまり、第2パートのゲームに使用される1以上の端末100において、ゲームは、第1パートから第2パートへ移行する。ステップS216,S218は、一般端末100A又は配信端末100Bで実行される。
ステップS220において、端末100のプロセッサ110は、ゲームモジュール101Aとして、端末側のゲーム処理を行う。一例として、端末100A,100Bのプロセッサ110は、ゲームモジュール101Aとして、自分のアバターの移動を指示する操作、他のアバターへの攻撃を指示する操作、又は所定のオブジェクトへの攻撃を指示する操作を受け付けた場合に、各々の操作内容を示すプレイ情報をサーバ200へ送信する。
一例として、一般端末100A又は配信端末100Bのプロセッサ110は、進行情報を受信する。一般端末100Aのプロセッサ110は、レンダリングモジュール104として、進行情報に応じて、第1バトル画面50Aをモニタ166に表示する。配信端末100Bのプロセッサ110は、レンダリングモジュール104として、進行情報に応じて、第2バトル画面50Bをモニタ166に表示する。
ステップS222において、サーバ200のプロセッサ210は、ゲームモジュール201Aとして、サーバ側のゲーム処理を行う。ステップS222において、サーバ200のプロセッサ210は、ゲームモジュール201Aとして、1以上の一般端末100A、及び1以上の配信端末100Bから、プレイ情報を受信し得る。
一例として、サーバ200のプロセッサ210は、ゲームモジュール201Aとして、プレイ情報に応じて、仮想空間におけるアバターの移動動作を管理する。プロセッサ210は、アバターが第2状態である場合に、プレイ情報に応じてアバターを移動させない。プロセッサ210は、アバターが第1状態である場合に、プレイ情報に応じてアバターを移動させる。これに限定されず、アバターが第2状態である場合に、一般端末100A及び配信端末100Bのプロセッサ110は、アバターの移動を指示する操作を受け付けないように構成されてもよい。アバターが第2状態である場合に、一般端末100A及び配信端末100Bのプロセッサ110は、アバターの移動を指示する操作を受け付けても、アバターの移動を指示するプレイ情報を送信しないように構成されてもよい。
一例として、サーバ200のプロセッサ210は、ゲームモジュール201Aとして、プレイ情報に応じて、仮想空間におけるアバターの攻撃動作を管理する。プロセッサ210は、アバターが第2状態である場合に、プレイ情報に応じて攻撃動作を行わせない。プロセッサ210は、アバターが第1状態である場合に、プレイ情報に応じて攻撃動作を行わせる。これに限定されず、アバターが第2状態である場合に、一般端末100A及び配信端末100Bのプロセッサ110は、攻撃を指示する操作を受け付けない構成であってもよい。アバターが第2状態である場合に、一般端末100A及び配信端末100Bのプロセッサ110は、攻撃を指示する操作を受け付けたとしても、攻撃を指示するプレイ情報を送信しない構成であってもよい。
一例として、プロセッサ210は、敵方陣営のアバターに、攻撃が命中したか否かを判定する。プロセッサ210は、敵方陣営のアバターに、攻撃が命中したと判定した場合に、そのアバターのヒットポイントを減少させる。つまり、プロセッサ210は、1人のユーザから見たときに、当該1人のユーザのアバター、味方陣営のアバター、及び敵方陣営のアバターの各々に対応するヒットポイントを管理する。アバターの攻撃は、フィールドオブジェクトに命中する場合がある。また、フィールドオブジェクトの効果が、アバターに発揮される場合がある。
このように、サーバ200のプロセッサ210は、ゲームモジュール201Aとして、プレイ情報に応じて、アバターの移動動作、及び攻撃動作を管理することによって、アバター同士の相互作用を特定する。そして、プロセッサ210は、その特定結果に応じて進行情報を生成する。プロセッサ210は、生成した進行情報を、各端末100A,100Bへ送信する。なお、サーバ200のプロセッサ210は、ステップS222において生成した進行情報を使用して、ステップS128において配信情報を生成する。
ステップS224において、サーバ200のプロセッサ210は、第2パートの終了条件が満たされた場合に、ゲームモジュール201Aとして、同じ第2パートのゲームに参加するユーザがそれぞれ使用する全ての端末100へ、第2パート終了要求を送信する。一例として、第2パートの終了条件は、第2パートの制限時間が経過する前に1以上の陣営が勝利条件を満たした場合、又は、第2パートの制限時間が経過した場合に成立する。なお、第2パートの終了条件が満たされた場合に、サーバ200のプロセッサ210は、配信モジュール201Bとして、ステップS128において、第2パートの終了を示す情報を含む配信情報を生成し、視聴端末100Cへ送信するとよい。
ステップS226において、端末100のプロセッサ110は、ゲームモジュール101Aとして、第2パート終了要求を受信する。ステップS228において、一般端末100Aのプロセッサ110は、レンダリングモジュール104として、第1バトル画面50Aの表示を終了するとともに、第1リザルト画面55をモニタ166に表示する。その後、一般端末100Aのプロセッサ110は、レンダリングモジュール104として、第1ホーム画面40Aをモニタ166に表示する。ステップS228において、配信端末100Bのプロセッサ110は、レンダリングモジュール104として、第2バトル画面50Bの表示を終了するとともに、第1リザルト画面55をモニタ166に表示する。その後、配信端末100Bのプロセッサ110は、レンダリングモジュール104として、第2ホーム画面40Bをモニタ166に表示する。つまり、端末100A,100Bにおいて、ゲームは、第2パートから第1パートへ移行する。
[照準処理]
照準処理の流れの一例について説明する。照準処理は、目撃ミッションゲームを実行するための処理の一例である。
図7に示すように、ステップS300において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、カメラ処理を実行する。カメラ処理において、プロセッサ110は、視聴モジュール101Cとして、仮想空間における仮想カメラの配置情報を取得する。仮想カメラの配置情報は、仮想空間における仮想カメラの位置を示す情報、仮想カメラの向き(角度)を示す情報を含む。プロセッサ110は、視聴モジュール101Cとして、視聴ユーザによるカメラ操作を受け付けると、そのカメラ操作に応じて、仮想カメラの配置情報を更新する。プロセッサ110は、レンダリングモジュール104として、仮想カメラ85の配置情報に基づいて、仮想空間のうち、仮想カメラ85の視野角内である撮影範囲85D1に入る部分をレンダリングし、モニタ166に表示する。
一例として、図8に示すように、仮想空間80には、仮想カメラ85の位置、及び向きを特定するための仮想球面85Aが定義される。仮想球面85Aは、その中心85Cに基準キャラクタが位置するように定義される。仮想球面85Aは、基準キャラクタに対する相対的な位置が固定される。仮想空間80において、基準キャラクタが移動する場合に、仮想球面85Aは、その基準キャラクタと一緒に移動する。一例として、基準キャラクタは、配信ユーザが所属する味方陣営又は味方パーティに所属するユーザの中から、視聴ユーザが選択したユーザのアバターである。これに限らず、基準キャラクタは、仮想空間80に配置されたフィールドオブジェクトであってもよく、敵方陣営又は敵方パーティに所属するユーザのアバターであってもよい。
一例として、仮想カメラ85の位置は、視聴端末100Cを使用したカメラ操作に応じて、仮想球面85Aに沿って、上下方向Dv及び水平方向Dhへ移動させることができる。一例として、仮想カメラ85の向きは、常に、仮想球面85A内に定められた撮影点85Pに向かう方向に保たれる。撮影点85Pは、中心85Cと重なる位置に定められていてもよく、中心85Cより上方に定められていてもよい。つまり、仮想カメラ85は、基準キャラクタに向かう向きに維持される。
視聴端末100Cでは、仮想空間80のうち、撮影範囲85D1に含まれる1以上のオブジェクトがレンダリングされ、プレイ動画としてモニタ166に表示される。撮影範囲85D1は、仮想カメラ85を頂点とした錐体状の空間である。仮想カメラ85から、撮影範囲85D1を上下方向Dvに二等分する平面、及び撮影範囲85D1を水平方向Dhに二等分する平面の交線に沿って延びる方向を、仮想カメラ85の視線方向Dsと示す。仮想カメラ85の視線方向Dsは、仮想カメラ85と撮影点85Pとを結んだ直線に沿った方向である。仮想カメラ85から見た場合に、視線方向Dsにおける撮影範囲85D1の長さを第1長さと示す。一例として、撮影範囲85D1は、仮想カメラ85を起点として、視線方向Dsに沿った第1長さまでの有限の範囲である。
図7に示すように、ステップS302において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、仮想カメラ85の配置情報に基づいて、特定オブジェクトに対して照準が合っているか否かを判定する。一例として、視聴端末100Cのプロセッサ110は、1つの特定オブジェクトが予め定めた照準範囲85D2に入っている場合に、その特定オブジェクトに対して照準が合っていると判定する。照準が合っているか否かの判定は、視聴ユーザが特定オブジェクトに対して注目しているか否かの判定(以下、注目判定という)と把握できる。照準範囲85D2の詳細については後述する。
視聴端末100Cのプロセッサ110は、特定オブジェクトに対して照準が合っていないと判定した場合に、ステップS304へ進む。ステップS304において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、特定オブジェクトに対して照準が合っている時間(以下、照準時間Taという)をクリアする。一例として、プロセッサ110は、照準時間Taに、初期値の一例である零を設定する。ステップS304を終了すると、プロセッサ110は、ステップS322へ進む。
ステップS302において、視聴端末100Cのプロセッサ110は、特定オブジェクトに対して照準が合っていると判定した場合に、ステップS306へ進む。ステップS306において、視聴端末100Cのプロセッサ110は、照準時間Taを計測する。一例として、プロセッサ110は、照準処理を実行するごとに、照準処理の実行間隔に相当する時間を加算することによって、照準時間Taを計測してもよい。一例として、プロセッサ110は、照準処理とは異なる計測処理を実行することによって、照準時間Taを計測してもよい。
次に、ステップS308において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、照準状態が確立されたか否かを判定する。ステップS308において、プロセッサ110は、照準時間Taが規定時間Tに達した場合に肯定判定する。プロセッサ110は、照準時間Taが規定時間Tに達した場合に、ステップS310へ進む。プロセッサ110は、照準時間Taが規定時間Tに達していない場合に否定判定する。プロセッサ110は、照準時間Taが規定時間Tに達していない場合に、ステップS322へ進む。
ステップS310において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、ポイント付与要求をサーバ200へ送信する。ステップS312において、サーバ200のプロセッサ210は、配信モジュール201Bとして、ポイント付与要求を受信する。一例として、ポイント付与要求は、報酬ポイントPを増加させる対象である視聴ユーザを示す情報を含む。一例として、ポイント付与要求は、視聴ユーザが保有する報酬ポイントPの増加量を示す情報を含む。
ステップS314において、サーバ200のプロセッサ210は、配信モジュール201Bとして、視聴ユーザが保有する報酬ポイントPを増加させる。一例として、プロセッサ210は、ポイント付与要求に基づいて、報酬ポイントPを増加させる視聴ユーザと、報酬ポイントPの増加量と、を特定する。プロセッサ210は、特定された視聴ユーザが保有する報酬ポイントPを、特定された増加量に応じて増加させる。なお、サーバ200のメモリ220は、メモリモジュール205として、ユーザごとに区別して報酬ポイントPを記憶する。
視聴端末100Cが受け付けるカメラ操作は、照準操作の一例である。ステップS312は、視聴端末100Cが照準操作を受け付けた場合に当該視聴端末100Cが送信する照準情報を受信することの一例である。ポイント付与要求は、照準情報の一例である。ステップS312は、照準情報に応じて、特定オブジェクトに対する照準状態の確立を特定することの一例となる。ステップS314は、照準情報に応じて、特定オブジェクトに対する照準状態の確立が特定された場合に、視聴ユーザに対して報酬を付与することの一例である。一例として、特定オブジェクトに対する照準状態の確立は、仮想カメラの視野に特定オブジェクトが入った状態が、規定期間としての規定時間Tにわたって維持された場合に特定される。
ステップS316において、サーバ200のプロセッサ210は、配信モジュール201Bとして、ポイント更新要求を視聴端末100Cへ送信する。ステップS318において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、ポイント更新要求を受信する。
ステップS320において、視聴端末100Cのプロセッサ110は、レンダリングモジュール104として、照準状態の確立によって報酬を獲得したことを報知する表示(以下、報酬獲得表示という)をモニタ166にて行う。ステップS320が終了すると、視聴端末100Cのプロセッサ110は、ステップS322へ進む。
ステップS322において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、第2パートの終了条件が満たされたか否かを判定する。一例として、第2パートの終了条件は、第2パートの制限時間が経過する前に、1以上の陣営が勝利条件を満たした場合、又は、第2パートの制限時間が経過した場合に成立する。一例として、視聴端末100Cのプロセッサ110は、サーバ200から受信した配信情報が、第2パートの終了を示す情報を含むか否かによって、第2パートの終了条件が満たされたか否かを特定する。視聴端末100Cのプロセッサ110は、第2パートのゲームの終了条件が満たされていない場合、ステップS300へ進む。視聴端末100Cのプロセッサ110は、第2パートのゲームの終了条件が満たされた場合、照準処理を終了する。
[端末における表示画面の一例と表示に関する処理の流れ]
[仮想空間の概略]
図9に示すように、サーバ200によって定義された仮想空間80、及びこの仮想空間80における事象は、同じバトルゲームに参加するユーザが使用する全ての端末100A,100Bにおいて、同時進行で再現され得る。つまり、サーバ200が管理する仮想空間80、及びこの仮想空間80における事象は、各端末100A,100Bから受信するプレイ情報に応じて更新される。サーバ200は、仮想空間80、及び仮想空間80における事象を更新した結果に応じて、進行情報を各端末100A,100Bへ送信する。各端末100A,100Bが管理する仮想空間80、及びこの仮想空間80における事象は、サーバ200から受信する進行情報に応じて、その都度、更新され得る。
また、サーバ200によって定義された仮想空間80、及びこの仮想空間80における事象は、同じバトルゲームのプレイ動画を視聴する視聴ユーザが使用する全ての視聴端末100Cにおいて、同時進行で再現され得る。サーバ200は、仮想空間80、及び仮想空間80における事象を更新した結果に応じて、配信情報を1以上の視聴端末100Cへ送信する。1以上の視聴端末100Cが管理する仮想空間80、及びこの仮想空間80における事象は、サーバ200から受信する配信情報に応じて、その都度、更新され得る。
以下の説明において、単に仮想空間80と示す場合、サーバ200及び複数の端末100A~100Cによって共有された仮想空間80を示すものとする。
仮想空間80に配置され得る各種のオブジェクトは、ユーザのアバター81を含む。一例として、複数のアバター81は、第1陣営に所属する1以上のユーザに対応するキャラクタとして、各アバター811A,811Bを含んでよい。例えば、アバター811Aは、配信ユーザに対応するキャラクタであり、アバター811Bは、一般ユーザに対応するキャラクタである。一例として、複数のアバター81は、第2陣営に所属する1以上のユーザに対応するキャラクタとして、1以上のアバター812Aを含んでよい。仮想空間80に配置され得る各種のオブジェクトは、第2状態となったアバター81を示すオブジェクトの一例として、墓標オブジェクト81Dを含んでよい。
仮想空間80に配置され得る各種のオブジェクトは、フィールド82Aを構成するための、1以上の地形オブジェクト82を含んでよい。一例として、地形オブジェクト82は、アバター81の移動に影響を与えるオブジェクトを含んでよい。例えば、地形オブジェクト82は、樹木、岩、川、海、及び山など、アバター81の移動を制限するオブジェクトを含んでよい。例えば、地形オブジェクト82は、沼地など、アバター81の移動速度を減少させるオブジェクトを含んでよい。例えば、地形オブジェクト82は、氷床など、アバター81の移動速度を増加させるオブジェクトを含んでよい。一例として、地形オブジェクト82は、アバター81のパラメータ値に影響を与えるオブジェクトを含んでよい。例えば、地形オブジェクト82は、毒沼など、アバター81のヒットポイントを減少させるオブジェクトを含んでよい。例えば、地形オブジェクト82は、回復の泉など、アバター81のヒットポイントを増加させるオブジェクトを含んでよい。
[ホーム画面]
図10に示すように、ゲームの第1パートにおいて、一般端末100Aのモニタ166には、第1ホーム画面40Aが表示される。ゲームの第1パートにおいて、配信端末100Bのモニタ166には、第2ホーム画面40Bが表示される。ホーム画面40A,40Bは、各種のオブジェクトを含み得る。一例として、ホーム画面40A,40Bは、アバターウィンドウ401、バトルアイコン404、及びキャラクタアイコン406を含み得る。ホーム画面40A,40Bは、プレイ動画を配信する場合に使用する配信開始アイコン407を含み得る。第2ホーム画面40Bは、プレイ動画の配信を終了する場合に使用する配信終了アイコン、及び、プレイ動画を配信中であることを示す配信中アイコンを含んでもよい。
一例として、アバターウィンドウ401には、自分のアバター81が表示される。アバター81の外観は、第1パートのゲームプレイを通して、アバターの設定が変更されることに応じて変化する。一例として、バトルアイコン404が表示されている部分をタップ操作することによって、第2パートの開始を指示する開始操作を行うことができる。一例として、キャラクタアイコン406が表示されている部分をタップ操作することによって、バトルゲームの準備を行うための準備ウィンドウ(不図示)の表示を指示する操作を行うことができる。各端末100A,100Cのプロセッサ110は、準備ウィンドウ(不図示)に対する操作を受け付けると、その操作に応じて、アバター81の設定を変更する。上述したように、アバター81の設定は、アバターの種類、アバターの装備、又はアバターの容姿などを含み得る。一例として、配信開始アイコン407が表示されている部分をタップ操作することによって、配信開始を指示する操作を行うことができる。
[マッチング画面]
図11に示すように、サーバ200がマッチング処理(ステップS206)を実行している場合に、一般端末100A又は配信端末100Bのモニタ166には、マッチング画面45が表示される。マッチング画面45は、各種のオブジェクトを含み得る。マッチング画面45は、ユーザのアバター81を表示するアバターウィンドウ451を含む。一例として、アバターウィンドウ451には、自分のアバター81が表示される。マッチング画面45は、マッチングを行っていることを示す文字データ等の情報を含む。
[バトル画面]
図12に示すように、第2パートのバトルゲームにおいて、一般端末100Aのモニタ166には、第1バトル画面50Aが表示される。第2パートのバトルゲームにおいて、配信端末100Bのモニタ166には、第2バトル画面50Bが表示される。バトル画面50A,50Bは、各種のオブジェクトを含む。一例として、バトル画面50A,50Bは、それぞれ端末100を使用するユーザのアバター81を含む。一例として、バトル画面50A,50Bは、ユーザが所属する陣営のスコア表示欄、自分のアバターのヒットポイントを示すHPバー61、及び他人のアバターのヒットポイントを示すHPバー62を含み得る。第1バトル画面50Aは、プレイ動画を配信する場合に使用する配信開始アイコン(不図示)を含んでもよい。第2バトル画面50Bは、プレイ動画の配信を終了する場合に使用する配信終了アイコン(不図示)、及び、プレイ動画を配信中であることを示す配信中アイコン(不図示)を含んでもよい。
一例として、ステップS220において、一般端末100A又は配信端末100Bのプロセッサ110は、レンダリングモジュール104として、その端末100を使用するユーザのアバター81をモニタ166の中央に表示する。一般端末100A又は配信端末100Bのプロセッサ110は、仮想空間80において、アバター81の頭上後方に仮想カメラ85を配置することによって、仮想カメラ85の撮影範囲85D1に収められる範囲をモニタ166に表示する。これに限らず、バトル画面50A,50Bにおける仮想カメラ85は、アバター81の頭部からフィールドを見た一人称視点となる位置、又はアバター81を中心としてフィールドを見た俯瞰視点となる位置であってもよい。
一般端末100A又は配信端末100Bのプロセッサ110は、サーバ200から受信する進行情報に応じて、味方陣営のアバター81、及び敵方陣営のアバター81を仮想空間80に配置する。一般端末100A又は配信端末100Bのプロセッサ110は、仮想カメラ85の撮影範囲85D1に他ユーザのアバター81が収まる場合に、それらアバター81を、モニタ166に表示し得る。それらアバター81は、モニタ166に表示される場合に、アクション情報に応じたアクションを伴う。また、一般端末100A又は配信端末100Bのプロセッサ110は、レンダリングモジュール104として、敵方陣営のアバター81を表示する場合に、そのアバターのヒットポイントを示すHPバー62を、モニタ166に表示する。一例として、HPバー62は、敵方陣営のアバター81の頭上に配置される。HPバー62は、味方陣営のアバター81の頭上に配置されてもよい。
[視聴画面]
図13に示すように、視聴画面70は、視聴端末100Cのモニタ166に表示される。視聴画面70は、各種のオブジェクトを含み得る。一例として、視聴画面70は、視聴ウィンドウ701を含む。一例として、視聴画面70は、メンバーアイコン703、チャットウィンドウ704、及び戻るボタン705を含み得る。
一例として、チャットウィンドウ704には、視聴ユーザ間で送受信される文字データを表示するとよい。一例として、視聴端末100Cのプロセッサ110は、他の視聴端末100Cから送信される文字データを、サーバ200経由で受信し、受信した文字データを、時系列順にモニタ166に表示する。一例として、視聴端末100Cのプロセッサ110は、視聴ユーザの入力操作により指示される文字データを、他の視聴端末100Cへサーバ200経由で送信する。
視聴ウィンドウ701には、配信端末100Bにおけるゲームのプレイ動画が表示される。一例として、視聴ウィンドウ701には、視聴中のゲームが第1パートである場合に、配信ユーザのアバター81が表示される。視聴ウィンドウ701には、視聴中のゲームが第2パートのバトルゲームである場合に、仮想空間80におけるバトルの様子が表示される。
視聴端末100Cのプロセッサ110は、サーバ200(配信モジュール201B)から受信する配信情報に応じて、一般ユーザのアバター81、及び配信ユーザのアバター81を仮想空間80に配置する。視聴端末100Cのプロセッサ110は、仮想空間80において、基準キャラクタに対応する初期位置に仮想カメラ85を配置し、当該仮想カメラ85の撮影範囲85D1に収められる範囲をモニタ166に表示する。
一例として、メンバーアイコン703は、配信ユーザと同じ陣営に所属する各ユーザを示すとよい。メンバーアイコン703が表示されている部分をタップ操作することによって、基準キャラクタとして設定するアバター81を変更する操作(以下、キャラクタ変更操作という)を行うことができる。視聴端末100Cのプロセッサ110は、キャラクタ変更操作を受け付けると、当該操作によって指定されたユーザのアバター81を基準キャラクタとして設定する。視聴端末100Cのプロセッサ110は、変更後の基準キャラクタに応じた仮想球面85A上に仮想カメラ85を配置する。
視聴端末100Cのプロセッサ110は、カメラ操作を受け付けた場合に、当該カメラ操作に応じて、仮想カメラ85を、仮想球面85Aに沿って上下方向Dv及び水平方向Dhへ移動させる。視聴端末100Cのプロセッサ110は、仮想球面85A内に定められた撮影点85Pに向かう方向に、仮想カメラ85の向きを保つ。一例として、撮影点85Pは、基準キャラクタが配置される位置である。よって、基準キャラクタは、視聴ウィンドウ701の中央に表示される。
視聴端末100Cのプロセッサ110は、仮想カメラ85の撮影範囲85D1に1以上のアバター81が収まる場合に、その1以上のアバターを、モニタ166に表示し得る。1以上のアバター81は、モニタ166に表示される場合に、アクション情報に応じたアクションを伴う。つまり、視聴ウィンドウ701には、配信ユーザが行うゲームのプレイ動画が表示され得る。ゲームシステム10では、仮想空間80のうち、当該仮想空間80に配置された仮想カメラ85の視野に入る部分が、プレイ動画として視聴端末100Cに表示される。
視聴ウィンドウ701には、照準範囲85D2が定められている。照準範囲85D2は、視聴ウィンドウ701のうち一部である。一例として、照準範囲85D2は、四角形の領域である。これに限らず、照準範囲85D2は、円形の領域でもよく、三角形や五角形といった多角形の領域であってもよい。照準範囲85D2は、視聴ウィンドウ701に占める相対的な位置及び範囲が固定されている。これに限らず、照準範囲85D2は、視聴ユーザの操作に応じて、視聴ウィンドウ701に占める相対的な位置及び範囲を変更可能であってもよい。
一例として、視聴ウィンドウ701は、視聴ユーザが照準範囲85D2を認識できるように可視化するための情報(以下、照準情報という)を含む。一例として、照準情報は、照準器を模した注目カーソル707である。これに限らず、注目カーソル707は、視聴ユーザが照準範囲85D2を認識可能であれば、どのような態様であってもよい。例えば、照準情報は、照準範囲85D2の色調を照準範囲85D2とは異なる部分と異ならせることでもよく、照準範囲85D2を指し示す矢印などの画像であってもよく、照準範囲85D2の中心を指し示す記号などの画像であってもよい。
ステップS302の注目判定において、視聴端末100Cのプロセッサ110は、視聴ウィンドウ701に表示するプレイ動画に特定オブジェクトが含まれ、かつ特定オブジェクトを表示している領域と照準範囲85D2とが重なる領域が生じる場合に、その特定オブジェクトに対して照準が合っていると判定する。これに限らず、プロセッサ110は、特定オブジェクトを表示している領域の全体が照準範囲85D2に入っている場合に、その特定オブジェクトに対して照準が合っていると判定してもよい。
一例として、ステップS302における注目判定は、注目カーソル707を仮想カメラ85側の端面とし、かつ視線方向Dsに沿って広がるように延びる錐台状空間に、特定オブジェクトが入っているか否かを判定することであってもよい。ステップS302における注目判定は、注目カーソル707を含む仮想平面に対して、当該仮想平面と直交する方向から特定オブジェクトを投影した場合に、当該投影された部分が注目カーソル707に入っているか否かを判定することであってもよい。
一例として、ステップS302において、視聴端末100Cのプロセッサ110は、仮想空間80における、特定オブジェクトと仮想カメラ85との距離が第2長さを超える場合に、照準が合っていないと判定してもよい。つまり、照準状態の確立は、特定オブジェクトが、仮想カメラ85から第2長さを超えて離れている場合に特定されなくてもよい。第2長さは、第1長さと比べて、長くてもよく、短くてもよく、同じであってもよい。
一例として、特定オブジェクトの一例である対象アバターは、第1陣営に所属するユーザに対応する1以上のアバターのうち、基準キャラクタとして選択されているアバターを除いたアバターを含んでよい。一例として、対象アバターは、第2陣営に所属するユーザに対応する1以上のアバターを含んでよい。一例として、特定オブジェクトは、第2状態となったアバターを示す墓標オブジェクト81Dを含んでよい。
一例として、視聴ウィンドウ701は、照準時間ゲージ708を含む。照準時間ゲージ708は、照準時間Taが規定時間Tに達するまでの残り時間を、視聴ユーザが認識できるようにする残量情報の一例である。これに限らず、残量情報は、照準時間Taが規定時間Tに達するまでの残り時間を示す数字データであってもよい。視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、照準時間Taと規定時間Tとに基づいて上記残り時間を特定する。プロセッサ110は、特定された残り時間に応じた残量情報をモニタ166に表示するとよい。
例えば、図14は、特定オブジェクトの一例であるアバター812Aの全体が、照準範囲85D2に入っていない状態を示す。つまり、アバター812Aの全体が、注目カーソル707と重なっていない。この場合に、視聴端末100Cのプロセッサ110は、ステップS302の注目判定を否定と判定する。プロセッサ110は、照準時間Taを計測しない。また、視聴端末100Cのプロセッサ110は、カメラ操作を受け付けると、当該カメラ操作に応じて、仮想カメラ85の位置又は向きを変更する。
図15は、仮想カメラ85の位置又は向きの変更に応じて、アバター812Aの一部又は全部が、照準範囲85D2に入っている状態を示す。つまり、アバター812Aの一部又は全部が、注目カーソル707と重なっている。この場合に、視聴端末100Cのプロセッサ110は、ステップS302の注目判定を肯定と判定する。プロセッサ110は、照準時間Taを計測する。視聴端末100Cのプロセッサ110は、照準時間Taが規定時間Tに達するまでの残り時間の減少に連動して、照準時間ゲージ708が減少していく様子をモニタ166に表示する。なお、アバター812Aの全体が、照準範囲85D2に入っていない状態となった場合に、ステップS304において、視聴端末100Cのプロセッサ110は、照準時間Taを初期値にクリアする。
なお、照準範囲85D2に入っている特定オブジェクトが複数である場合に、視聴端末100Cのプロセッサ110は、各特定オブジェクトのそれぞれについて、照準時間Taを計測する。視聴モジュール101Cのプロセッサ110は、各特定オブジェクトのそれぞれについて、照準時間ゲージ708をモニタ166に表示する。
図16は、アバター812Aの一部又は全部が、照準範囲85D2に入っており、かつ、照準時間Taが規定時間Tに達した状態を示す。照準時間Taが規定時間Tに達した状態は、特定オブジェクトに対する照準状態の確立が特定された状態である。視聴ユーザは、照準時間ゲージ708に示される残り時間が零になった状況から、特定オブジェクトに対する照準状態が確立されたことを認識できる。
この場合に、ステップS320において、視聴端末100Cのプロセッサ110は、レンダリングモジュール104として、アバター812Aから星709が飛び出した様子をモニタ166に表示する。星709が飛び出した様子を示す表示は、報酬獲得表示の一例である。視聴ユーザは、報酬獲得表示が行われた状況から、報酬ポイントPを獲得したことを認識できる。
報酬獲得表示は、特定オブジェクトに対する照準状態を確立させた視聴端末100Cにおいてのみ行われてもよい。報酬獲得表示は、同じ視聴用コンテンツの視聴に使用されている複数の視聴端末100Cにおいてのみ行われてもよい。報酬獲得表示は、さらに、一般端末100A、又は配信端末100Bにおいて行われてもよい。報酬獲得表示を行うためのオブジェクトは、報酬獲得表示を実行しようとする端末100において定義された仮想空間80に配置されるとよい。
配信ユーザは、プレイ動画を配信している場合に、自分が活躍している場面を視聴ユーザに目撃されたい。一例として、自分が活躍している場面は、配信ユーザのアバターの攻撃が敵方アバターに命中した場面、又は配信ユーザのアバターが敵方アバターの攻撃を回避した場面である。
視聴ユーザは、報酬ポイントPを獲得するために、特定オブジェクトに対する照準状態を確立させる必要がある。照準状態は、特定オブジェクトが照準範囲85D2に、規定時間Tにわたって留まると確立される。つまり、視聴ユーザは、特定オブジェクトが注目カーソル707内に表示され続けるように、カメラ操作をしなければならない。必然的に、視聴ユーザは、配信ユーザが配信するプレイ動画に注目する。その結果、視聴ユーザは、配信ユーザが活躍する場面を目撃し易い。このように、照準操作は、仮想空間80における仮想カメラ85の位置及び角度のうち一方又は両方を変更することである。
[リザルト画面]
図17に示すように、第2パートが終了し、第1パートに移行する場合に、各端末100A,100Bのモニタ166には、それぞれ第1リザルト画面55が表示される。第1リザルト画面55は、各種のオブジェクトを含み得る。第1リザルト画面55は、第2パートで勝利した陣営を示すアイコン、スコアの獲得数が最も多いユーザを示すアイコン、又はアバターの討伐数が最も多いユーザを示すアイコン等の情報を含み得る。
第2パートが終了し、第1パートに移行する場合に、視聴端末100Cのモニタ166には、第2リザルト画面60が表示される。第2リザルト画面60は、各種のオブジェクトを含み得る。第2リザルト画面60は、第2パートで勝利した陣営を示すアイコン、スコアの獲得数が最も多いユーザを示すアイコン、又はアバターの討伐数が最も多いユーザを示すアイコン等の情報を含み得る。
図18に示すように、第2リザルト画面60は、獲得ポイントパネル605を含む。獲得ポイントパネル605は、今回の目撃ミッションゲームを通して、視聴ユーザが獲得した報酬ポイントPを、当該視聴ユーザが認識できるようにする情報の一例である。
視聴端末100Cのプロセッサ110は、第2パートの終了を示す配信情報を受信した場合に、レンダリングモジュール104として第2リザルト画面60をモニタ166に表示する。配信情報には、今回の目撃ミッションゲームを通して視聴ユーザが獲得した報酬ポイントPが含まれ得る。視聴端末100Cのプロセッサ110は、視聴情報に示される報酬ポイントPに応じて、獲得ポイントパネル605をモニタ166に表示する。
第1実施形態の効果について説明する。
(1-1)視聴ユーザは、視聴者として、配信ユーザが配信するプレイ動画を視聴することができる。配信されるプレイ動画は、仮想空間80における配信ユーザのゲームプレイを含む。そして、視聴ユーザは、仮想空間80に配置された特定オブジェクトに対する照準状態が確立された場合に、報酬を獲得することができる。つまり、視聴ユーザは、報酬を獲得するために、配信されるプレイ動画から目を離す必要がない。よって、配信されるプレイ動画に対して、視聴者が注目し難くなる状況の発生を抑制することができる。
(1-2)視聴ユーザは、特定オブジェクトに対する照準状態を確立するために、仮想カメラ85の撮影範囲85D1に特定オブジェクトが入った状態を維持するように、仮想カメラ85の位置及び角度を調整する必要がある。よって、視聴ユーザは、配信されるプレイ動画に対して注視するようになる。
(1-3)視聴ユーザが、プレイ動画に注視し易くなる。このため、各ユーザに対し、プレイ動画を配信することに対するモチベーションを高めることができる。
(1-4)視聴ユーザは、味方陣営のアバターの中から基準キャラクタを変更できる。よって、視聴ユーザは、様々な視点から、特定オブジェクトに対する照準状態を確立できる。また、配信ユーザのアバターとは異なるアバターを基準とした視点から、視聴ユーザが配信ユーザのプレイを視聴する機会を増やすことができる。
(1-5)配信端末100Bのモニタ166には、星709及び注目カーソル707が表示されない。配信端末100Bのモニタ166には、視聴端末100Cにおける仮想カメラ85の位置及び向きを示す情報が表示されない。つまり、配信ユーザは、視聴ユーザが何れの特定オブジェクトに対して注目しているかを特定できない。
(第2実施形態)
上記実施形態において、規定時間Tは、一定であったが、これに限らず、予め定めた条件に応じて変化してもよい。一例として、規定時間Tは、特定オブジェクトの属性、特定オブジェクトの状態、及び特定オブジェクトに対する照準状態の確立回数のうち、1つ又は複数の事柄に応じて変化してもよい。つまり、規定時間Tは、予め定めた条件に応じて、第1時間である場合と、当該第1時間よりも長い第2時間である場合とが生じ得る。
視聴端末100Cのメモリ120は、メモリモジュール105として、特定オブジェクトごとに、属性を示す情報、状態を示す情報、及び照準状態の確立回数を示す情報を記憶する。ステップS308において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、メモリ120に記憶されている情報に基づいて、照準時間Taを計測中である特定オブジェクトの属性、状態、及び照準状態の確立回数を特定する。プロセッサ110は、特定された特定オブジェクトの属性、状態、及び照準状態の確立回数に基づいて、規定時間Tを特定する。プロセッサ110は、特定された規定時間Tに基づいて、照準時間Taが規定時間Tに達したか否かを判定する。
視聴ユーザは、照準状態を確立させるために、特定オブジェクトが照準範囲85D2に入っている状態を、規定時間Tにわたって維持する必要がある。よって、照準状態は、規定時間Tが第1時間である場合、第2時間であるときに比して確立させ易い。
視聴ユーザは、キャラクタ変更操作によって、視聴対象である配信ユーザが所属する陣営の中から、仮想カメラ85の位置を規定する基準キャラクタを選択できる。このため、視聴ユーザは、照準時間を確立させ易い特定オブジェクトを探して、基準キャラクタを切り替えることができる。よって、視聴ユーザは、配信ユーザのアバターとは異なるアバターを基準とした視点から配信ユーザのプレイを見る機会を、意識せずに獲得できる。
図19に示すように、一例として、味方陣営に所属するユーザのアバターである場合の規定時間Tは、敵方陣営に所属するユーザのアバターである場合の規定時間Tに比して、長い時間であってもよく、短い時間であってもよい。一例として、同じ特定オブジェクトであっても、第1状態(生存状態)である場合の規定時間Tは、第2状態(死亡状態)である場合の規定時間Tに比して、長い時間であってもよく、短い時間であってもよい。
一例として、同じ特定オブジェクトであっても、照準状態の確立回数が第1回数である場合の規定時間Tは、第1回数よりも多い第2回数である場合の規定時間Tに比して、長い時間であってもよく、短い時間であってもよい。これに限らず、規定時間Tは、特定オブジェクトの属性、特定オブジェクトの状態、及び、照準状態の確立回数のうち、任意に選択できる1つ又は2つに応じて異なっていてもよい。
例えば、規定時間Tの基準時間をT0とする。そして、規定時間Tは、基準時間T0に所定のパラメータ値を乗じた時間であってもよい。一例として、特定オブジェクトの属性に関するパラメータ値はmである。特定オブジェクトの状態に関するパラメータ値はnである。特定オブジェクトに対する照準状態の確立回数に関するパラメータ値はoである。この場合に、規定時間Tは、[T(秒)=m×n×o×T0(秒)]の関係式によって求められるとよい。
一例として、特定オブジェクトが味方陣営に所属するユーザのアバターである場合に、パラメータmの値は、1であり、敵方陣営に所属するユーザのアバターである場合に、パラメータmの値は、2である。特定オブジェクトが第1状態である場合に、パラメータnの値は、1であり、第2状態である場合に、パラメータnの値は、2である。照準状態の確立回数が0回である場合に、パラメータoの値は、1であり、照準状態の成立回数が1回以上である場合に、パラメータoの値は、50である。
第2実施形態の効果について説明する。
(2-1)規定時間Tは、特定オブジェクトの属性、特定オブジェクトの状態、又は、照準状態の確立回数に応じて変化する。したがって、視聴ユーザは、できるだけ効率よく照準状態を確立できる特定オブジェクトを探すため、プレイ動画に注視する。よって、各ユーザに対し、プレイ動画を配信することに対するモチベーションを高めることができる。
(2-2)視聴ユーザは、仮想カメラ85の位置を規定する基準キャラクタを任意に変更できる。よって、別のアバターを基準とした視点から配信ユーザのプレイを、視聴ユーザが視聴する機会を増やすことができる。
(第3実施形態)
配信ユーザ又は一般ユーザは、アバターとして使用するキャラクタを変更できてもよい。一例として、アバターとして使用できるキャラクタは、第1キャラクタと、第1キャラクタと比べて入手困難な第2キャラクタと、を含む。一例として、第1ゲームは、ガチャを含む。配信ユーザ又は一般ユーザは、ガチャによって、アバターとして使用可能なキャラクタを獲得できる。ガチャは、抽選によって決定されたキャラクタをユーザに提供するゲームである。一例として、第2キャラクタは、第1キャラクタと比べて、ガチャによって獲得できる確率が低くてもよい。一例として、第2キャラクタは、アバターとして使用可能なキャラクタの中で、ガチャによって獲得できる確率が最も低くてもよい。
図20に示すように、一例として、規定時間Tは、配信ユーザがアバターとして使用するキャラクタの種類に応じて異なってもよい。つまり、規定時間Tは、配信ユーザがアバターとして使用するキャラクタの種類に応じて、第1時間である場合と、当該第1時間よりも長い第2時間である場合とが生じ得る。規定時間Tは、配信ユーザがアバターとして使用するキャラクタの入手困難度に応じて、第1時間である場合と、第2時間である場合とが生じ得る。
視聴端末100Cのメモリ120は、メモリモジュール105として、バトルゲームにおいて、配信ユーザがアバターとして使用しているキャラクタの種類を示す情報を記憶する。ステップS308において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、メモリ120に記憶されている情報に基づいて、配信ユーザのアバターとして使用されているキャラクタの種類を特定する。プロセッサ110は、特定されたキャラクタの種類に基づいて、規定時間Tを特定する。プロセッサ110は、特定された規定時間Tに基づいて、照準時間Taが規定時間Tに達したか否かを判定する。
視聴ユーザは、照準状態を確立させるために、特定オブジェクトが照準範囲85D2に入っている状態を、規定時間Tにわたって維持する必要がある。よって、照準状態は、規定時間Tが第1時間である場合、第2時間であるときに比して確立させ易い。つまり、配信ユーザのアバターとして使用されているキャラクタの種類に応じて、照準状態を確立させる場合の難易度が変化する。
図20に示すように、一例として、規定時間Tは、配信ユーザのアバターとして使用されているキャラクタの種類が種類C又は種類Dである場合に、種類A又は種類Bであるときと比べて、長い時間であってもよく、短い時間であってもよい。一例として、規定時間Tは、配信ユーザのアバターとして使用されているキャラクタの種類が種類C又は種類Dである場合、種類Bである場合、及び種類Aである場合の順に、長い時間であってもよく、短い時間であってもよい。
例えば、規定時間Tの基準時間をT0とする。そして、規定時間Tは、基準時間T0に所定のパラメータ値を乗じた時間であってもよい。一例として、配信ユーザのアバターとして使用されているキャラクタの種類に関するパラメータ値はpである。この場合に、規定時間Tは、[T(秒)=p×T0(秒)]の関係式によって求められる。
一例として、キャラクタの入手困難度は、キャラクタの種類A=種類B<種類C<種類Dの順に高い。つまり、キャラクタの希少性は、種類A=種類B<種類C<種類Dの順に高い。一例として、配信ユーザのアバターとして使用されているキャラクタの種類が種類A又は種類Bである場合に、パラメータpの値は、1であり、種類Cである場合に、パラメータpの値は、3であり、種類Dである場合に、パラメータpの値は、4である。このように、配信ユーザのアバターとして仮想空間80に配置され得るキャラクタは、第1キャラクタと、第2キャラクタと、が存在する。第2キャラクタの希少性は、第1キャラクタの希少性と比べて高い。配信ユーザのアバターが第2キャラクタである場合の規定時間Tは、配信ユーザのアバターが第1キャラクタである場合の規定時間Tと比べて長い。
第3実施形態の効果について説明する。
(3-1)配信ユーザは、希少性の高いキャラクタを使用することによって、照準状態を確立するために注目しなければならない規定期間としての規定時間Tを長くできる。配信ユーザは、希少性の高いキャラクタを使用できることについて、注目されたいと考えている。よって、配信ユーザは、動画を配信する意欲が高められる。
(第4実施形態)
図21に示すように、第3実施形態と同様に、配信ユーザ又は一般ユーザは、アバターとして使用するキャラクタを変更できてもよい。そして、特定オブジェクトに対する照準状態が確立された場合に、視聴ユーザに対して付与される特典は、配信ユーザのアバターとして使用されているキャラクタの種類に応じて異なっていてもよい。つまり、報酬ポイントPは、配信ユーザがアバターとして使用するキャラクタの種類に応じて、第1ポイントである場合と、当該第1ポイントよりも多い第2ポイントである場合とが生じ得る。報酬ポイントPは、配信ユーザがアバターとして使用するキャラクタの入手困難度に応じて、第1ポイントである場合と、第2ポイントである場合とが生じ得る。
視聴端末100Cのメモリ120は、メモリモジュール105として、バトルゲームにおいて、配信ユーザがアバターとして使用しているキャラクタの種類を示す情報を記憶する。ステップS310において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、メモリ120に記憶されている情報に基づいて、配信ユーザのアバターとして使用されているキャラクタの種類を特定する。プロセッサ110は、特定されたキャラクタの種類に基づいて、報酬ポイントPを特定する。プロセッサ110は、報酬ポイントPを示すポイント付与要求をサーバ200へ送信する。
図21に示すように、一例として、報酬ポイントPは、配信ユーザのアバターとして使用されているキャラクタの種類が種類C又は種類Dである場合に、種類A又は種類Bであるときと比べて、多くてもよく、少なくてもよい。一例として、報酬ポイントPは、配信ユーザのアバターとして使用されているキャラクタの種類が種類C又は種類Dである場合、種類Bである場合、及び種類Aである場合の順に、多くてもよく、少なくてもよい。
例えば、報酬ポイントPの基準ポイントをP0とする。そして、報酬ポイントPは、基準ポイントP0に所定のパラメータ値を乗じた時間であってもよい。一例として、配信ユーザのアバターとして使用されているキャラクタの種類に関するパラメータ値はpである。この場合に、報酬ポイントPは、[P=p×P0]の関係式によって求められる。
一例として、キャラクタの入手困難度は、キャラクタの種類A=種類B<種類C<種類Dの順に高い。つまり、キャラクタの希少性は、種類A=種類B<種類C<種類Dの順に高い。一例として、配信ユーザのアバターとして使用されているキャラクタの種類が種類A又は種類Bである場合に、パラメータpの値は、1であり、種類Cである場合に、パラメータpの値は、2であり、種類Dである場合に、パラメータpの値は、5である。
さらに、報酬ポイントPは、照準状態が確立された特定オブジェクトに関する各種のパラメータ値を備えてもよい。一例として、特定オブジェクトの属性に関するパラメータ値はmである。特定オブジェクトの状態に関するパラメータ値はnである。特定オブジェクトに対する照準状態の確立回数に関するパラメータ値はoである。この場合に、報酬ポイントPは、[P=m×n×o×p×P0]の関係式によって求められる。
一例として、特定オブジェクトが味方陣営に所属するユーザのアバターである場合に、パラメータmの値は、2であり、敵方陣営に所属するユーザのアバターである場合に、パラメータmの値は、1である。特定オブジェクトが第1状態である場合に、パラメータnの値は、2であり、第2状態である場合に、パラメータnの値は、1である。照準状態の確立回数が0回である場合に、パラメータoの値は、2であり、照準状態の成立回数が1回以上である場合に、パラメータoの値は、1である。
このように、配信ユーザのアバターとして仮想空間80に配置され得るキャラクタは、第1キャラクタと、第2キャラクタと、が存在する。第2キャラクタの希少性は、第1キャラクタの希少性と比べて高い。報酬の一例である報酬ポイントPは、第1報酬の一例である第1ポイントと、第2報酬の一例である第2ポイントと、が存在する。第2報酬の価値は、第1報酬の価値と比べて高い。視聴ユーザに対して報酬を付与すること(S314)は、配信ユーザのアバターが第1キャラクタである場合に、第1報酬を付与し、配信ユーザのアバターが第2キャラクタである場合に、第2報酬を付与することである。
第4実施形態の効果について説明する。
(4-1)配信ユーザは、希少性の高いキャラクタを使用することによって、視聴ユーザが獲得できる報酬の価値を高めることができる。配信ユーザは、希少性の高いキャラクタを使用できることについて、注目されたいと考えている。視聴ユーザは、より高い価値の報酬を獲得したいと考えている。つまり、配信ユーザの願望と、視聴ユーザの願望とが合致する。配信ユーザは、動画を配信する意欲が高められる。そして、視聴ユーザは、配信されるプレイ動画に対して注視する。
(第5実施形態)
特定オブジェクトに対する照準状態の確立は、照準時間Taが規定時間Tに達したことに加えて、照準時間Taの間に、照準範囲85D2において特定の場面が発生した場合に特定されるようにしてもよい。一例として、特定の場面とは、特定オブジェクトが特定の動作を行っている場面であるとよい。
一例として、特定の動作は、味方アバターが敵方アバターに対して、通常攻撃を行うことを含んでよい。特定の動作は、味方アバターが敵方アバターに対して、通常攻撃又は攻撃スキルを命中させたことを含んでよい。特定の動作は、味方アバターが敵方アバターを第2状態にしたことを含んでよい。特定の動作は、味方アバターが回復スキルを使用して、味方アバターのヒットポイントを回復させたことを含んでよい。
特定の動作は、配信ユーザのアバターの通常攻撃又は攻撃スキルを、敵方アバターが受けたことを含んでよい。この場合、敵方アバターは、所定オブジェクトの一例となる。これに限らず、所定オブジェクトは、フィールドオブジェクトであってもよく、味方陣営及び敵方陣営の双方にとって共通の敵方キャラクタであってもよく、特別オブジェクトであってもよい。特定の動作は、配信ユーザの回復スキルを、味方アバターが受けたことを含んでよい。特定の動作は、味方アバターの墓標オブジェクトに対して、味方アバターが祈ったことを含んでよい。特定の動作は、配信ユーザのアバターの墓標オブジェクトに対して、味方アバターが祈ったことを含んでよい。
特定の動作は、仮想空間80に配信ユーザが配置した特殊オブジェクトの第1効果が、味方アバターに発揮されたことを含んでよい。特定の動作は、配信ユーザが仮想空間80に配置した特殊オブジェクトの第2効果が、敵方アバターに発揮されたことを含んでよい。一例として、特殊オブジェクトは、アイテムオブジェクト、武器オブジェクト、又は地形オブジェクトである。特殊オブジェクトは、アバターが第2状態となった場合に、当該アバターを操作していたユーザが配置できるとよい。
特殊オブジェクトの第1効果は、味方アバターのヒットポイントを回復させること、味方アバターのステータスを向上させること、又は、味方アバターが使用可能なスキルの種類を増やすことであるとよい。特殊オブジェクトの第2効果は、敵方アバターのヒットポイントを減少させること、敵方アバターのステータスを低下させること、又は、敵方アバターが使用可能なスキルの種類を減らすことであるとよい。一例として、特殊オブジェクトは、配信ユーザのゲームプレイをアシストするオブジェクトである。
ステップS306において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、照準範囲85D2に入った特定オブジェクトが特定の動作を行っているか否かを判定する。プロセッサ110は、特定オブジェクトが特定の動作を行っている場合に、特定の動作が行われたことを示す情報をメモリ120に記憶する。プロセッサ110は、特定オブジェクトが特定の動作を行っていない場合に、特定の動作が行われたことを示す情報をメモリ120に記憶しない。
ステップS308において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、メモリ120に記憶された情報に基づいて、特定の動作が行われたか否かを判定する。特定の動作が行われた場合に、プロセッサ110は、ステップS310において、ポイント付与要求をサーバ200へ送信する。特定の動作が行われなかった場合に、プロセッサ110は、ポイント付与要求をサーバ200へ送信しない。
このように、特定オブジェクトに対する照準状態の確立は、さらに、仮想カメラ85の視野に入った特定オブジェクトが特定の動作を行っている場合に特定される。一例として、特定の動作は、配信ユーザのアバターとして仮想空間80に配置され得るキャラクタが、所定オブジェクトに対して攻撃を行うことである。敵方ユーザのアバターは、所定のオブジェクトの一例である。
第5実施形態の効果について説明する。
(5-1)視聴ユーザは、特定オブジェクトに対する照準状態を確立するために、特定オブジェクトが特定の動作を行う瞬間を探す必要がある。よって、視聴ユーザは、配信される動画に対して、継続的に注視するようになる。
(5-2)何かを攻撃する場面は、配信ユーザが注目されたいと考える場面の1つである。つまり、視聴ユーザが注目する場面と、配信ユーザが注目されたいと考える場面と、が一致する。よって、配信ユーザは、配信する意欲が高められる。
上記実施形態は、以下のように変更して実施することができる。上記実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・照準状態が確立されたか否かを特定するための手法は、上記実施形態とは異なる態様に変更してもよい。以下、上記実施形態と異なる部分について詳しく説明する。
図22に示すように、ステップS300において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、カメラ操作を受け付ける。プロセッサ110は、カメラ操作に応じて、仮想カメラ85の配置情報を更新する。ステップS301Aにおいて、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、仮想カメラ85の更新後の配置情報をサーバ200へ送信する。
ステップS301Bにおいて、サーバ200のプロセッサ210は、配信モジュール204として、仮想カメラ85の配置情報を受信する。サーバ200のプロセッサ210は、配信モジュール201Bとして、受信した仮想カメラ85の配置情報に基づいて、上述したステップS302~S308と同様の内容を実行する。
ステップS308において、サーバ200のプロセッサ210は、配信モジュール201Bとして、照準状態が確立されたと判定した場合に、ステップS314へ進む。ステップS308において、サーバ200のプロセッサ210は、配信モジュール201Bとして、照準状態が確立されていないと判定した場合に、ステップS324へ進む。サーバ200のプロセッサ210は、配信モジュール201Bとして、ステップS304を終了すると、ステップS324へ進む。サーバ200のプロセッサ210は、配信モジュール201Bとして、ステップS316を終了すると、ステップS324へ進む。ステップS302~S308,S314,S316において、サーバ200のプロセッサ210は、上記実施形態におけるステップS302~S308,S314,S316と同様の内容を実行する。したがって、詳細な説明は省略する。
ステップS324において、サーバ200のプロセッサ210は、配信モジュール201Bとして、第2パートのゲームの終了条件が満たされたか否かを判定する。第2パートのゲームの終了条件が満たされていない場合、プロセッサ210は、ステップS301Bに戻り、仮想カメラ85の配置情報を受信するまで待機する。第2パートのゲームの終了条件が満たされた場合、プロセッサ210は、照準処理を終了する。
この場合、サーバ200のプロセッサ210は、配信モジュール201Bとして、第2パートのゲームの終了条件が満たされたと判定した場合に、第2パートの終了要求を視聴端末100Cヘ送信してもよい。そして、ステップS322において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、第2パート終了要求を受信した場合に、第2パートのゲームの終了条件が満たされたと判定するとよい。
本変更例において、ステップS301Bは、視聴端末100Cが照準操作を受け付けた場合に当該視聴端末100Cが送信する照準情報を受信することの一例である。視聴端末100Cが受け付けるカメラ操作は、照準操作の一例である。仮想カメラ85の配置情報は、照準情報の一例である。ステップS308は、照準情報に応じて、特定オブジェクトに対する照準状態の確立を特定することの一例である。ステップS314は、照準情報に応じて、特定オブジェクトに対する照準状態の確立が特定された場合に、視聴ユーザに対して報酬を付与することの一例である。
・特定オブジェクトには、照準状態を第1回数にわたって確立させることができるオブジェクトと、照準状態を、第1回数と比べて多い第2回数にわたって確立させることができるオブジェクトとがあってもよい。一例として、第1回数は、1回であってもよく、第2回数は、2回以上であってもよい。つまり、1回しか報酬ポイントPを獲得できないオブジェクトと、2回以上、報酬ポイントPを獲得できるオブジェクトと、が存在してもよい。よって、照準状態を確立させる遊びにバリエーションを持たせることができる。
・特定オブジェクト又は対象アバターは、配信ユーザのアバターを含んでもよい。本変更例において、照準状態の確立は、基準キャラクタとして、配信ユーザのアバターとは異なるアバターが選択されている場合に特定されうるとよい。つまり、基準キャラクタが配信ユーザのアバターとは異なるアバターである状態であり、かつ、配信ユーザのアバターが照準範囲85D2に入っている場合に、配信ユーザのアバターに対する照準状態が確立されうる。本変更例において、配信ユーザのアバターの規定時間Tは、他ユーザのアバターの規定時間Tに比べて、長くてもよく、短くてもよく、同じであってもよい。
・配信ユーザのアバターに対する照準状態の確立が特定された場合における報酬ポイントPは、他ユーザのアバターに対する照準状態の確立が特定された場合における報酬ポイントPに比べて、多くてもよく、少なくてもよく、同じであってもよい。
・基準キャラクタは、視聴対象である配信ユーザのアバターが第2状態となった場合に、当該配信ユーザが所属する陣営に所属するユーザのアバターの中から選択できなくてもよい。本変更例において、基準キャラクタは、第2状態となった配信ユーザのアバター81を示す墓標オブジェクト81Dに固定されてもよい。本変更例において、基準キャラクタは、配信ユーザが仮想空間80に配置した特殊オブジェクトの中から選択できてもよい。
・特定オブジェクトは、アバターであることに限定されない。一例として、仮想空間80には、味方アバター、又は敵方アバターが特定の動作を行った場合に、特定オブジェクトが配置されてもよい。一例として、特定オブジェクトは、星、コイン、又は風船などのように、アバターとは異なるオブジェクト(以下、追加オブジェクトという)であるとよい。一例として、追加オブジェクトは、仮想空間80において移動してもよい。本変更例では、視聴者に仮想カメラ85を移動させ、特定オブジェクトの一例である追加オブジェクトを追いかけるという、積極的な操作をさせることができる。
・仮想空間80には、特定オブジェクトが複数段階にわたって配置されてもよい。一例として、サーバ200のプロセッサ210は、対象アバターに対する照準状態の確立を特定した場合に、視聴ユーザに対して報酬ポイントP1を付与するとよい。対象アバターは、第1特定オブジェクトの一例である。
仮想空間80には、対象アバターに対する照準状態が確立され、かつ、対象アバターが特定の動作を行っていた場合に、星、コイン、又は風船などのように、アバターとは異なる追加オブジェクトが配置されるとよい。追加オブジェクトは、第2特定オブジェクトの一例である。一例として、サーバ200のプロセッサ210は、追加オブジェクトに対する照準状態の確立を特定した場合に、視聴ユーザに対して報酬ポイントP2を付与するとよい。本変更例において、報酬ポイントP2は、報酬ポイントP1と比べて、多くてもよく、少なくてもよく、同じであってもよい。
・第2特定オブジェクトは、第1特定オブジェクトに対する照準状態を確立させた視聴端末100Cにおいてのみ表示されてもよい。一例として、第2特定オブジェクトは、配信ユーザのプレイ動画の視聴に使用されている複数の視聴端末100Cにおいてのみ表示されてもよい。第2特定オブジェクトは、さらに、一般端末100A、及び配信端末100Bにおいて表示されてもよい。第2特定オブジェクトは、当該第2特定オブジェクトを表示しようとする端末100において定義された仮想空間80に配置されるとよい。
・規定時間Tは、最後に照準状態の確立が特定されてから時間が経過するほど短縮されてもよい。規定時間Tは、最後に照準状態の確立が特定されてから時間が経過するほど延長されてもよい。
・規定時間Tは、特定オブジェクトが仮想カメラ85から離間するほど短縮されてもよい。規定時間Tは、特定オブジェクトが仮想カメラ85から離間するほど延長されてもよい。
・目撃ミッションゲームでは、基礎報酬の一例として、予め定めた報酬ポイントPを視聴ユーザに対して付与してもよい。一例として、サーバ200のプロセッサ210は、配信モジュール201Bとして、第2パートのゲームが終了するときに、照準状態の確立回数に依存せず、予め定めた報酬ポイントPを視聴ユーザへ付与するとよい。
・報酬ポイントPは、補助ポイントPaが規定ポイントに達する毎に付与されてもよい。一例として、サーバ200のプロセッサ210は、特定オブジェクトに対する照準状態の確立を特定した場合に、補助ポイントPaを視聴ユーザに付与する。プロセッサ210は、補助ポイントPaが規定ポイントに達すると、報酬ポイントPを視聴ユーザに付与するとよい。
・照準状態が確立されたと特定するための条件は、上記実施形態に限定されない。一例として、サーバ200のプロセッサ210は、配信モジュール201Bとして、照準時間Taが規定時間Tに達しており、かつ、視聴ユーザによる所定の操作(以下、特定操作という)が行われた場合に、照準状態が確立されたと特定してもよい。一例として、特定操作は、視聴端末100Cのモニタ166のうち、特定オブジェクトが表示されている部分をタップ操作することであってもよい。本変更例において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、照準時間Taが規定時間Tに達した場合に、特定操作をすれば照準状態が確立されることを示す情報をモニタ166に表示するとよい。また、視聴端末100Cのプロセッサ110は、特定操作を受け付けた場合に、特定操作がされたことを示す特定操作情報をサーバ200へ送信する。サーバ200のプロセッサ110は、特定操作情報を受信した場合に、特定操作がされたことを特定する。
・報酬ポイントPは、配信ユーザが特定ユーザである場合に、配信ユーザが特定ユーザではないときと比べて、増加されてもよい。一例として、サーバ200のプロセッサ210は、配信ユーザが特定ユーザであると決定している場合に、特定ユーザであると決定していないときに比べて、照準状態の確立を特定するごとに付与する報酬ポイントPを多くする。サーバ200のプロセッサ210は、複数の配信ユーザの中から、抽選によって、1以上の特定ユーザを決定するとよい。
・一般端末100A、配信端末100B、及び視聴端末100Cは、互いに構成が異なるコンピュータとして実現されてもよい。
・サーバ200のプロセッサ210は、配信モジュール201Bとして、受信したプレイ情報に応じてゲームのプレイ動画を生成し、ストリーミング配信するように構成されてもよい。視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、ストリーミング配信されるゲームのプレイ動画を、視聴ウィンドウ701に表示してもよい。
・視聴用コンテンツは、配信ユーザの音声を含んでよい。配信端末100Bのプロセッサ110は、配信モジュール101Bとして、マイク160から受信する音声信号を音声データに変換し、その音声データをサーバ200へ送信する。サーバ200のプロセッサ210は、配信モジュール201Bとして、受信した音声データに応じて配信情報を生成する。視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、配信情報に応じた音声をスピーカ162から出力する。
・視聴用コンテンツは、一般ユーザの音声を含んでよい。一般端末100Aのプロセッサ110は、配信モジュール101Bとして、マイク160から受信する音声信号を音声データに変換し、その音声データをサーバ200へ送信する。サーバ200のプロセッサ210は、配信モジュール201Bとして、一般端末100Aから受信した音声データに応じて配信情報を生成する。
・視聴用コンテンツは、文字データを含んでよい。配信端末100Bのプロセッサ110は、配信モジュール101Bとして、文字データの入力操作を受け付けると、当該入力操作によって指示された文字データをサーバ200へ送信する。サーバ200のプロセッサ210は、配信モジュール201Bとして、受信した文字データを視聴端末100Cへ送信する。視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、受信した文字データをモニタ166に表示する。
・コントロールモジュール101,201が備える1以上のモジュールは、ASIC、PLD、FPGA、MCU等の回路により実現してもよい。
・コントロールモジュール101,201が備える1以上のモジュールは、プロセッサを用いるソフトウェアによって実現してもよい。コントロールモジュール101,201の少なくとも1つを備えるコンピュータは、プロセッサ、メモリ、及びストレージを備える。上記プログラム及び各種のデータは、プロセッサが読み取りできるように、ストレージに記録される。プログラムは、メモリに展開される。そして、プロセッサが上記プログラムをストレージから読み取り、実行することにより、本開示の作用が実現される。ストレージは、既に説明の通り、不揮発性の記憶装置として実現され得る。
・プログラムは、このプログラムを伝送可能な任意の伝送媒体(通信ネットワーク、又は放送波等)を介して上記コンピュータに供給されてもよい。
・プログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ等)等の記録媒体に記録してもよい。
本開示は以下の実施例を包含する。限定のためでなく理解の補助として実施形態の構成要素の参照符号を付した。
(付記1)コンピュータ(200)に、ゲームを提供するための仮想空間(80)を定義すること(S210)と、前記仮想空間に1以上のオブジェクト(81)を配置すること(S212)と、前記仮想空間における第1ユーザのゲームプレイに応じた配信情報を、第2ユーザが使用する端末(100C)へ送信することによって、当該端末を使用して前記ゲームプレイに応じた動画を視聴できるようにすること(S128)と、前記端末が照準操作を受け付けた場合に当該端末が送信する照準情報を受信すること(S312,S301B)と、前記照準情報に応じて、特定オブジェクトに対する照準状態の確立が特定された場合に、前記第2ユーザに対して報酬を付与すること(S314)と、を実行させるプログラム。
(付記2)前記仮想空間(80)のうち、当該仮想空間に配置された仮想カメラ(85)の視野(85D1)に入る部分が、前記動画として前記端末(100C)に表示され、前記照準操作は、前記仮想空間における前記仮想カメラの位置及び角度のうち一方又は両方を変更することであり、前記特定オブジェクト(81)に対する照準状態の確立は、前記仮想カメラの視野に前記特定オブジェクトが入った状態が、規定期間にわたって維持された場合に特定される付記2に記載のプログラム。
(付記3)前記特定オブジェクト(81)に対する照準状態の確立は、さらに、前記仮想カメラ(85)の視野(85D1)に入った前記特定オブジェクトが特定の動作を行っている場合に特定される付記2に記載のプログラム。
(付記4)前記特定の動作は、前記第1ユーザのアバター(81)として前記仮想空間(80)に配置され得るキャラクタが、所定オブジェクト(81)に対して攻撃を行うことである付記3に記載のプログラム。
(付記5)前記第1ユーザのアバター(81)として前記仮想空間(80)に配置され得るキャラクタは、第1キャラクタと、第2キャラクタと、が存在し、前記第2キャラクタの希少性は、前記第1キャラクタの希少性と比べて高く、前記報酬は、第1報酬と、第2報酬と、が存在し、前記第2報酬の価値は、前記第1報酬の価値と比べて高く、前記第2ユーザに対して報酬を付与することは、前記第1ユーザのアバターが前記第1キャラクタである場合に、前記第1報酬を付与し、前記第1ユーザのアバターが前記第2キャラクタである場合に、前記第2報酬を付与することである付記2~付記4のうち何れか一項に記載のプログラム。
(付記6)前記第1ユーザのアバター(81)として前記仮想空間(80)に配置され得るキャラクタは、第1キャラクタと、第2キャラクタと、が存在し、前記第2キャラクタの希少性は、前記第1キャラクタの希少性と比べて高く、前記第1ユーザのアバターが前記第2キャラクタである場合の前記規定期間は、前記第1ユーザのアバターが前記第1キャラクタである場合の前記規定期間と比べて長い付記2~付記5のうち何れか一項に記載のプログラム。
(付記7)付記1~付記6のうち何れか一項に記載のプログラムを記憶した記憶装置(220)と、前記記憶装置が記憶したプログラムを実行するプロセッサ(210)と、を備えるコンピュータ(200)。
(付記8)付記7に記載のコンピュータ(200)を備えるシステム(10)。
(付記9)コンピュータ(200)が、ゲームを提供するための仮想空間(80)を定義すること(S210)と、前記仮想空間に1以上のオブジェクト(81)を配置すること(S212)と、前記仮想空間における第1ユーザのゲームプレイに応じた配信情報を、第2ユーザが使用する端末(100C)へ送信することによって、当該端末を使用して前記ゲームプレイを含む動画を視聴できるようにすること(S128)と、前記端末が照準操作を受け付けた場合に、当該端末が送信する照準情報を受信すること(S312,S301B)と、前記照準情報に応じて、特定オブジェクトに対する照準状態の確立が特定された場合に、前記第2ユーザに対して報酬を付与すること(S314)と、を実行する方法。
本発明がその技術的思想から逸脱しない範囲で他の特有の形態で具体化されてもよいということは当業者にとって明らかであろう。例えば、実施形態(あるいはその1つ又は複数の態様)において説明した部品のうちの一部を省略してもよいし、いくつかの部品を組合せてもよい。本発明の範囲は、添付の請求の範囲を参照して、請求の範囲が権利を与えられる均等物の全範囲と共に確定されるべきである。