JP2023018712A - プログラム、情報処理システム - Google Patents

プログラム、情報処理システム Download PDF

Info

Publication number
JP2023018712A
JP2023018712A JP2021122912A JP2021122912A JP2023018712A JP 2023018712 A JP2023018712 A JP 2023018712A JP 2021122912 A JP2021122912 A JP 2021122912A JP 2021122912 A JP2021122912 A JP 2021122912A JP 2023018712 A JP2023018712 A JP 2023018712A
Authority
JP
Japan
Prior art keywords
terminal
viewing
game
user
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021122912A
Other languages
English (en)
Other versions
JP7463322B2 (ja
Inventor
亮二 角田
Ryoji Tsunoda
夏葉 松原
Natsuha Matsubara
純希 澤田
Junki Sawada
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Colopl Inc
Original Assignee
Colopl Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Colopl Inc filed Critical Colopl Inc
Priority to JP2021122912A priority Critical patent/JP7463322B2/ja
Publication of JP2023018712A publication Critical patent/JP2023018712A/ja
Application granted granted Critical
Publication of JP7463322B2 publication Critical patent/JP7463322B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】ゲームプレイに対する過剰な干渉を抑制する。【解決手段】コンピュータに、仮想空間を定義することと、前記仮想空間に1以上のオブジェクトを配置することと、前記仮想空間を使用するゲームを、第1ユーザが第1端末を使用してプレイできるようにすることと、前記第1ユーザのゲームプレイに応じた配信情報を、第2ユーザが使用する第2端末へ送信することによって、当該第2端末を使用して前記ゲームプレイに応じた動画を視聴できるようにすることと、前記第2端末が第2操作を受け付けた場合に、当該第2端末が送信する第2操作情報を受信すること(S306)と、前記第2端末から受信した前記第2操作情報に基づいて、前記仮想空間に配置された第1オブジェクトへの影響を特定すること(S308)と、前記第1オブジェクトへの影響を示す情報を、前記第1端末に表示させず、かつ前記第2端末に表示させること(S324)と、を実行させる。【選択図】図7

Description

本開示は、プログラム、コンピュータ、システム、及び方法に関する。
特許文献1は、第1ユーザのゲームプレイを含む動画を、第2ユーザが視聴できるように構成されたゲームシステムを開示する。ゲームシステムにおいて、第2ユーザは、第1ユーザがゲームを行う仮想空間に配置された攻撃用タワーから、モンスターを射撃できる。つまり、第2ユーザは、第1ユーザのゲームプレイに、間接的に参加できる。このため、第2ユーザは、動画を視聴することとは違った楽しさを得ることができる。
特開2015-77299号公報
従来のゲームシステムにおいて、第2ユーザのプレイ結果は、第1ユーザが行うゲームに反映されることによって、第1ユーザと第2ユーザとで共有される。このため、第1ユーザは、自分のゲームプレイが第2ユーザよって過剰に干渉された場合に、それを不快に感じる虞がある。
本開示の一態様に係るプログラムは、コンピュータに、仮想空間を定義することと、前記仮想空間に1以上のオブジェクトを配置することと、前記仮想空間を使用するゲームを、第1ユーザが第1端末を使用してプレイできるようにすることと、前記第1ユーザのゲームプレイに応じた配信情報を、第2ユーザが使用する第2端末へ送信することによって、当該第2端末を使用して前記ゲームプレイに応じた動画を視聴できるようにすることと、前記第2端末が第2操作を受け付けた場合に、当該第2端末が送信する第2操作情報を受信することと、前記第2端末から受信した前記第2操作情報に基づいて、前記仮想空間に配置された第1オブジェクトへの影響を特定することと、前記第1オブジェクトへの影響を示す情報を、前記第1端末に表示させず、かつ前記第2端末に表示させることと、を実行させる。
本開示によれば、ゲームプレイに対する過剰な干渉を抑制することができる。
第1実施形態における、ゲームシステムの概要を示す図。 図1のゲームシステムが含む端末のモジュール構成の一例を示す図。 図1のゲームシステムが含むサーバのモジュール構成の一例を示す図。 図2の端末における、画面遷移の一例を示す図。 第1実施形態における、配信処理、及び視聴処理の流れの一例を示す図。 第1実施形態における、マッチング処理、及びゲーム処理の流れの一例を示す図。 第1実施形態における、射撃処理の流れの一例を示す図。 第1実施形態における、仮想カメラの位置及び向きを特定するための仮想球面の一例を示す図。 第1実施形態における、仮想空間の一例を示す図。 図2の一般端末又は配信端末における、ホーム画面の一例を示す図。 図2の一般端末又は配信端末における、マッチング画面の一例を示す図。 図2の一般端末又は配信端末における、バトル画面の一例を示す図。 図2の視聴端末における、視聴画面の一例を示す図。 図2の視聴端末における、視聴画面の一例を示す図。 図2の視聴端末における、視聴画面の一例を示す図。 図2の視聴端末における、視聴画面の一例を示す図。 図2の視聴端末における、視聴画面の一例を示す図。 図2の視聴端末における、リザルト画面の一例を示す図。 図2の視聴端末における、リザルト画面の一例を示す図。 第2実施形態における、射撃処理の流れの一例を示す図。 第2実施形態の一般端末又は配信端末における、バトル画面の一例を示す図。 第2実施形態の視聴端末における、視聴画面の一例を示す図。
本開示に係るゲームシステムについて図面を参照しつつ説明する。
(第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に格納されるプログラムは、ゲームプログラム、配信プログラム、視聴プログラム、及び、通信プログラムを含む。ゲームプログラムは、仮想空間の1つであるゲーム空間の提供と、当該ゲーム空間におけるゲームプレイを提供するゲーム機能を実現する。一例として、ゲームプレイは、ゲーム空間に配置されるオブジェクトを操作することを含む。一例として、端末100を使用して操作されるオブジェクトは、端末100を使用するユーザに対応するキャラクタである。このキャラクタは、端末100を使用するユーザのアバターである。
配信プログラムは、ゲーム空間におけるゲームのプレイ状況に応じた動画(以下、プレイ動画と示す)を含む視聴用コンテンツを配信する配信機能を実現する。この配信機能を実現している間、端末100は、配信端末100Bとなる。視聴プログラムは、仮想空間の1つである視聴空間の提供と、当該視聴空間を介した視聴用コンテンツの視聴を提供する視聴機能を実現する。この視聴機能を実現している間、端末100は、視聴端末100Cとなる。一例として、視聴用コンテンツの視聴は、プレイ動画を視聴することを含む。通信プログラムは、他のコンピュータ(例えば、サーバ200)と通信する機能を実現する。ストレージ130に格納されるプログラムは、オペレーティングシステム、シミュレーションプログラム、ユーザ認証プログラム、及びその他のプログラムを含んでもよい。
例えば、ストレージ130に格納されるデータは、仮想空間の定義データ、及び仮想空間に配置される各種のオブジェクトを定義するオブジェクトデータを含む。端末100A~100Cにおいて、仮想空間は、同じオブジェクトデータを使用して、1以上のオブジェクトが配置される。つまり、端末100A~100Cは、仮想空間における事象の一部又は全部を共有し得る。仮想空間は、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におけるゲーム空間の提供と、ゲーム空間を複数のユーザで共有したゲームプレイを提供する機能を実現する。配信プログラムは、ゲームシステム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以上のアバターの種類情報、アバターの座標情報、アバターのアクション情報、及びその他の情報を含み得る。アバターは、ゲーム空間においてユーザが操作する対象となるオブジェクトである。アバターは、ユーザの分身となるキャラクタである。一例として、アバターの座標情報は、ゲーム空間における位置を示す。一例として、アクション情報は、アバターのアクション内容を示す。一例として、アバターのアクションは、アバターの姿勢、アイテムの使用、スキルの使用、攻撃、防御、回避、又はジャンプなどを含み得る。進行情報は、アバターの設定に関する設定情報を含み得る。一例として、アバターの設定は、ゲーム空間において、又はゲーム空間へ移動する前段階において、ユーザが変更し得る。一例として、アバターの設定は、アバターの種類、アバターの装備、又はアバターの容姿などを含み得る。
一例として、配信情報は、ゲーム空間における事象を、視聴空間に再現するための情報を含む。一例として、配信情報は、進行情報に含まれる情報の一部又は全部を含む。一例として、配信情報は、ゲーム空間におけるゲームの進行状況を視聴空間に再現するための情報として、ゲーム空間に配置された1以上のアバターの種類情報、アバターの座標情報、アバターのアクション情報、及びその他の情報を含んでもよい。配信情報は、アバターの設定に関する設定情報を含んでもよい。一例として、ユーザ情報は、ユーザ名、アカウントID、性別、年齢、及び住所等を含み得る。
ゲームモジュール101Aは、ゲームを進行させるための処理を行う。ゲームモジュール101Aは、メモリモジュール105からゲーム空間の定義データを読み出す。ゲームモジュール101Aは、読み出した定義データに応じて、ゲーム空間を定義する。ゲームモジュール101Aは、オブジェクトデータをメモリモジュール105から読み出す。ゲームモジュール101Aは、読み出したオブジェクトデータに応じて、ゲーム空間にオブジェクトを配置する。ゲームモジュール101Aは、入出力モジュール107が受け付けた入力位置の座標と、入力操作の種類と、進行情報(ゲームの進行状況)と、に応じて、ユーザの指示を特定する。
ゲームの進行状況は、ゲーム空間における自分のアバターの種類情報、座標情報、及びアクション情報を含み得る。ゲームの進行状況は、ゲーム空間における他ユーザのアバターの種類情報、座標情報、及びアクション情報を含み得る。ゲームの進行状況は、自分のアバターの設定情報を含み得る。ゲームの進行状況は、他ユーザのアバターの設定情報を含み得る。
ゲームモジュール101Aは、ゲームの進行に関する各種の判定を行う。ゲームモジュール101Aは、ゲームの進行に関する各種の抽選を行う。ゲームモジュール101Aは、ユーザの指示、各種の判定結果、及び各種の抽選結果に応じて、各種の要求、及びプレイ情報を生成する。ゲームモジュール101Aが生成した各種の要求、及びプレイ情報は、通信モジュール106によってサーバ200へ送信される。
配信モジュール101Bは、視聴用コンテンツ(プレイ動画)を配信するための処理を行う。配信モジュール101Bは、入出力モジュール107が受け付けた入力位置の座標と、入力操作の種類と、ゲームの進行状況と、に応じて、ユーザの指示を特定する。配信モジュール101Bは、ユーザの指示内容に応じて、視聴用コンテンツの配信開始要求、及び配信終了要求を生成し得る。配信モジュール101Bは、ユーザの指示に応じて、視聴用コンテンツの配信内容を変更する要求を生成し得る。配信モジュール101Bが生成した各種の要求は、通信モジュール106によってサーバ200へ送信される。
視聴モジュール101Cは、配信ユーザが配信する視聴用コンテンツ(プレイ動画)を視聴するための処理を行う。視聴モジュール101Cは、メモリモジュール105から視聴空間の定義データを読み出す。視聴モジュール101Cは、読み出した定義データに応じて、視聴空間を定義する。視聴モジュール101Cは、オブジェクトデータをメモリモジュール105から読み出す。視聴モジュール101Cは、読み出したオブジェクトデータに応じて、視聴空間にオブジェクトを配置する。一例として、定義データ及びオブジェクトデータは、ゲーム空間と視聴空間とで同じ内容である。つまり、ゲーム空間及び視聴空間は、1つの仮想空間として兼用されるように構成されてもよい。
視聴モジュール101Cは、入出力モジュール107が受け付けた入力位置の座標と、入力操作の種類と、配信情報(ゲームの進行状況)と、に応じて、ユーザの指示を特定する。視聴モジュール101Cは、ユーザの指示に応じて、視聴用コンテンツの視聴開始要求、及び視聴終了要求を生成する。視聴モジュール101Cは、ユーザの指示に応じて、視聴用コンテンツの配信内容を変更する要求を生成する。視聴モジュール101Cが生成した各種の要求は、通信モジュール106によってサーバ200へ送信される。
レンダリングモジュール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は、ゲーム空間におけるゲームプレイの様子を、複数のユーザが視聴できる環境を提供するための処理を行う。配信モジュール201Bは、メモリモジュール205から、視聴空間の定義データを読み出す。配信モジュール201Bは、読み出した定義データに応じて、視聴空間を定義する。一例として、配信モジュール201Bは、オブジェクトデータをメモリモジュール205から読み出す。一例として、配信モジュール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パートにおいて、視聴ユーザは、配信ユーザが配信する視聴用コンテンツを視聴し得る。視聴用コンテンツは、第1パート及び第2パートのうち少なくとも第2パートにおけるゲームのプレイ動画を含み得る。
一例として、第2パートは、複数の陣営が何らかの基準に基づいて勝敗を決めるパートである。複数の陣営は、それぞれ複数のユーザを含み得る。複数のユーザが所属するものは、陣営であることに限らず、パーティ、グループ、チーム、又は組などであってもよい。一例として、第2パートは、複数のパーティが何らかの基準に基づいて勝敗を決めるパートであってもよい。一例として、第2パートは、複数のユーザが何らかの基準に基づいて勝敗を決めるパートであってもよい。
第2パートにおいて、一般ユーザ及び配信ユーザは、ゲーム空間における第1ゲームに参加できる。第1ゲームは、アバターを移動させることを含む。視聴ユーザは、第1ゲームのプレイ動画を視聴している場合に、視聴空間における第2ゲームに参加できる。第2ゲームは、アバターを移動させることを含まない。ゲーム空間における事象は、視聴空間において、リアルタイムで再現され得る。つまり、第2ゲームは、第1ゲームと並行して実行される。第2ゲームは、第1ゲームに付随する。
一例として、複数の陣営には、第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以上の標的オブジェクトを射撃する「射撃ゲーム」である。一例として、標的オブジェクトは、一般ユーザのアバター、及び配信ユーザのアバターとは異なるオブジェクトである。これに限らず、標的オブジェクトは、一般ユーザのアバター、又は配信ユーザのアバターであってもよい。射撃ゲームは、オブジェクトに影響を与えることの一例として、特定オブジェクトを標的オブジェクトに接触させることを含んでもよい。射撃ゲームは、オブジェクトに影響を与えることの一例として、特定オブジェクトを標的オブジェクトに命中させることを含んでもよい。射撃ゲームは、標的オブジェクトに照準を合わせることを含んでもよい。照準は、特定オブジェクトの移動先を指示することの一例である。詳しくは後述するが、特定オブジェクトが標的オブジェクトに命中したか否かは、標的オブジェクトが特定オブジェクトの移動線上に配置されているか否かに応じて特定される。一例として、移動線は、特定オブジェクトの射線である。
射撃ゲームは、特定オブジェクトを標的オブジェクトに命中させることに応じて、特定条件を成立させることを含んでもよい。一例として、特定条件は、標的オブジェクトごとに定められたパラメータ値を特定値にすることであってもよい。一例として、パラメータ値は、標的オブジェクトの耐久値Pdであり、特定値は、0であるとよい。
一例として、射撃ゲームでは、当該ゲームに参加できる視聴ユーザの最大数が定められていない。つまり、バトルゲームのプレイ動画を視聴している全ての視聴ユーザは、そのバトルゲームに付随する射撃ゲームに参加できる。射撃ゲームでは、当該ゲームに参加できる視聴ユーザの最大数が定められていてもよい。この場合、射撃ゲームに参加できる視聴ユーザの最大数は、バトルゲームに参加できるユーザの最大数と同じでもよく、多くてもよく、少なくてもよい。射撃ゲームに参加できる視聴ユーザの最大数は、1つの視聴用コンテンツを視聴できる視聴ユーザの最大数と同じでもよく、少なくてもよい。
一例として、射撃ゲームは、バトルゲームと並行して実行される。一例として、射撃ゲームは、バトルゲームと間接的に共通化された仮想空間を使用して実行される。詳しくは後述するが、標的オブジェクトは、サーバ200、又は視聴端末100Cによって定義された仮想空間の1つである視聴空間に配置される。標的オブジェクトは、サーバ200、一般端末100A、又は配信端末100Bによって定義された仮想空間の1つであるゲーム空間に配置されなくてもよい。
仮想空間における事象には、バトルゲームに関連したバトル関連事象と、射撃ゲームに関連した射撃関連事象と、バトルゲーム及び射撃ゲームで共通化された共通事象と、がある。バトル関連事象は、仮想空間におけるアバターの位置、アバターのアクション、アバターの設定、アバターのステータス、及びアバターのヒットポイントを含み得る。射撃関連事象は、標的オブジェクトの位置、標的オブジェクトの耐久値Pd、特定オブジェクトの位置、特定オブジェクトが標的オブジェクトに命中したか否か、及び特定オブジェクトの移動線を含み得る。射撃関連事象は、後述する命中情報を含み得る。共通事象は、仮想空間において、バトルゲーム及び射撃ゲームの舞台を構成するフィールドを含み得る。一例として、ゲーム空間は、バトル関連事象、及び共通事象を含み得る。一例として、ゲーム空間は、射撃関連情報を含まない。一例として、視聴空間は、バトル関連事象、射撃関連事象、及び共通事象を含み得る。
射撃ゲームにおいて、特定オブジェクトが標的オブジェクトに命中したか否かは、バトルゲームの結果に直接的な影響を及ぼさない。射撃ゲームでは、標的オブジェクトについて特定条件が成立した場合に、視聴ユーザに対して報酬が付与され得る。一例として、報酬は、第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で行うゲームプレイに応じたプレイ情報を、配信端末100Bから受信する。これに限らず、サーバ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は、視聴ユーザが使用する端末を使用して、ゲームプレイに応じた動画を視聴できるようにすることの一例である。より好ましくは、プレイ動画を視聴できるようにすることは、複数の視聴端末100Cが存在する場合に、複数の視聴端末100Cのそれぞれにおいてプレイ動画を視聴できるようにすることである。
ステップ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以上のオブジェクトを配置することの一例である。1以上のオブジェクトを配置することは、第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から、プレイ情報を受信し得る。プレイ情報は、配信端末100Bが、アバターの移動を指示する操作を受け付けた場合に、当該配信端末100Bが送信する第1操作情報の一例である。ステップS222は、第1操作情報を受信することの一例である。
一例として、ステップS222において、サーバ200のプロセッサ210は、ゲームモジュール201Aとして、プレイ情報に応じて、ゲーム空間におけるアバターの移動動作を管理する。プロセッサ210は、アバターが第2状態である場合に、プレイ情報に応じてアバターを移動させない。プロセッサ210は、アバターが第1状態である場合に、プレイ情報に応じてアバターを移動させる。これに限定されず、アバターが第2状態である場合に、一般端末100A及び配信端末100Bのプロセッサ110は、アバターの移動を指示する操作を受け付けないように構成されてもよい。アバターが第2状態である場合に、一般端末100A及び配信端末100Bのプロセッサ110は、アバターの移動を指示する操作を受け付けても、アバターの移動を指示するプレイ情報を送信しないように構成されてもよい。
一例として、ステップS222において、サーバ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へ送信する。ステップS222は、仮想空間80を使用するゲームを、配信ユーザが配信端末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の撮影範囲に入る部分をレンダリングし、モニタ166に表示する。
一例として、図8に示すように、仮想空間80のうち視聴空間80Bには、仮想カメラ85の位置、及び向きを特定するための仮想球面85Aが定義される。仮想球面85Aは、その中心85Cに基準キャラクタが位置するように定義される。仮想球面85Aは、基準キャラクタに対する相対的な位置が固定される。視聴空間80Bにおいて、基準キャラクタが移動する場合に、仮想球面85Aは、その基準キャラクタと一緒に移動する。一例として、基準キャラクタは、配信ユーザが所属する味方陣営又は味方パーティに所属するユーザの中から、視聴ユーザが選択したユーザのアバターである。これに限らず、基準キャラクタは、視聴空間80Bに配置されたフィールドオブジェクトであってもよく、敵方陣営又は敵方パーティに所属するユーザのアバターであってもよい。
一例として、仮想カメラ85の位置は、視聴端末100Cを使用したカメラ操作に応じて、仮想球面85Aに沿って、上下方向Dv及び水平方向Dhへ移動させることができる。一例として、仮想カメラ85の向きは、常に、仮想球面85A内に定められた撮影点85Pに向かう方向に保たれる。撮影点85Pは、中心85Cと重なる位置に定められていてもよく、中心85Cより上方に定められていてもよい。つまり、仮想カメラ85は、基準キャラクタに向かう向きに維持される。
視聴端末100Cでは、視聴空間80Bのうち、撮影範囲85Dに含まれる1以上のオブジェクトがレンダリングされ、プレイ動画としてモニタ166に表示される。撮影範囲85Dは、仮想カメラ85を頂点とした錐体状の空間である。仮想カメラ85から、撮影範囲85Dを上下方向Dvに二等分する平面と、撮影範囲85Dを水平方向Dhに二等分する平面との交線85dに沿って延びる方向を、仮想カメラ85の視線方向Dsと示す。仮想カメラ85の視線方向Dsは、仮想カメラ85と撮影点85Pとを結んだ直線に沿った方向である。仮想カメラ85から見た場合に、視線方向Dsにおける撮影範囲85Dの長さを表示可能距離と示す。一例として、撮影範囲85Dは、仮想カメラ85を起点として、視線方向Dsに沿った表示可能距離までの有限の範囲である。
ここで、特定オブジェクトの移動線について説明する。
視聴空間80Bには、特定オブジェクト87の移動線86が設定される。視聴空間80Bにおいて、特定オブジェクト87は、始点86Aと終点86Bとを結んだ移動線86に沿って、始点86Aから終点86Bまで移動される。一例として、移動線86は、始点86Aと終点86Bとを結んだ線分又は直線である。一例として、移動線86は、放物線であってもよく、らせん状の曲線であってもよい。移動線86は、特定オブジェクト87を弾丸と見立てた場合の射線である。
一例として、始点86Aは、仮想カメラ85の配置位置に設定される。一例として、終点86Bは、交線85d上にある位置であって、かつ、始点86Aから視線方向Dsに離れた位置に定められる。つまり、移動線86は、仮想カメラ85の視線方向Dsと一致する。移動線86は、仮想カメラ85の撮影範囲85Dに対する相対的な位置が固定される。
これに限らず、移動線86は、仮想カメラ85の視線方向Dsと一致しなくてもよい。一例として、始点86Aは、仮想カメラ85の配置位置とは異なる位置に設定されてもよい。始点86Aは、基準キャラクタの配置位置に設定されてもよく、基準キャラクタの前方位置に配置されてもよい。一例として、終点86Bは、視線方向Dsとは異なる位置に設定されていてもよい。始点86Aから終点86Bまでの距離は、特定オブジェクト87が到達可能な距離となる。以下の説明では、始点86Aから終点86Bまでの距離を、特定オブジェクト87の射程と示す。また、移動線86は、仮想カメラ85の撮影範囲85Dに対する相対的な位置が固定されなくてもよい。一例として、移動線86は、配信ユーザによる操作に応じて、撮影範囲85Dに対する相対的な位置が変更されてもよい。
図7及び図8に示すように、ステップS302において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、射撃操作を受け付けたか否かを判定する。ステップS302において、視聴端末100Cのプロセッサ110は、射撃操作を受け付けていない場合に、ステップS330へ進む。この場合に、視聴端末100Cのプロセッサ110は、レンダリングモジュール104として、特定オブジェクト87をモニタ166に表示しない。つまり、視聴端末100Cのモニタ166では、特定オブジェクト87の発射が開始されない。
ステップS302において、視聴端末100Cのプロセッサ110は、射撃操作を受け付けた場合に、ステップS304へ進む。この場合に、視聴端末100Cのプロセッサ110は、レンダリングモジュール104として、特定オブジェクト87が移動線86に沿って移動する様子をモニタ166に表示する。つまり、視聴端末100Cのモニタ166では、特定オブジェクト87の発射が開始される。
ステップS304において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、射撃情報をサーバ200へ送信する。一例として、射撃情報は、視聴空間80Bにおける移動線86の位置を特定可能な情報であるとよい。一例として、射撃情報は、特定オブジェクト87を使用した射撃の開始を特定可能な情報であってもよい。
ステップS306において、サーバ200のプロセッサ210は、配信モジュール201Bとして、射撃情報を受信する。ステップS306は、視聴端末100Cが射撃操作を受け付けた場合に、当該視聴端末100Cが送信する射撃情報を受信することの一例である。射撃情報は、第2操作情報の一例である。射撃操作は、第2操作の一例である。次に、ステップS308において、サーバ200のプロセッサ210は、配信モジュール201Bとして、特定オブジェクト87が標的オブジェクト88に命中したか否かを判定する。以下の説明では、ステップS308の判定を、命中判定と示す。ステップS308は、視聴端末100Cから受信した射撃情報に基づいて、仮想空間80に配置された標的オブジェクト88への影響を特定することの一例である。仮想空間80に配置された標的オブジェクト88への影響を特定することは、配信端末100Bから受信したプレイ情報に基づいて実行されない。
一例として、ステップS308において、プロセッサ210は、受信された射撃情報に応じて、視聴空間80Bにおける移動線86の位置を特定する。プロセッサ210は、移動線86が、視聴空間80Bにおける標的オブジェクト88を通過するか否かを特定する。プロセッサ210は、移動線86が標的オブジェクト88を通過すると特定された場合に、特定オブジェクト87が標的オブジェクト88に命中したと判定する。プロセッサ210は、移動線86が標的オブジェクト88を通過しないと特定された場合に、特定オブジェクト87が標的オブジェクト88に命中していないと判定する。このように、射撃情報は、仮想空間80の一例である視聴空間80Bにおける特定オブジェクト87の移動を示す。
これに限らず、サーバ200のプロセッサ210は、視聴空間80Bにおける位置を特定された移動線86の一部又は全部が、視聴空間80Bにおける標的オブジェクト88に含まれるか否かを特定してもよい。この場合、プロセッサ210は、移動線86の一部又は全部が標的オブジェクト88に含まれる場合に、特定オブジェクト87が標的オブジェクト88に命中したと判定するとよい。
また、サーバ200のプロセッサ210は、移動線86を軸心とした柱状の空間(以下、当たり判定空間と示す)の一部又は全部が、視聴空間80Bにおける標的オブジェクト88に含まれるか否かを特定してもよい。この場合、プロセッサ210は、当たり判定空間の一部又は全部が標的オブジェクト88に含まれる場合に、特定オブジェクト87が標的オブジェクト88に命中したと判定するとよい。移動線86と直交する平面で当たり判定空間を切断したと仮定した場合における当たり判定空間の断面積は、移動線86と直交する平面で切断したと仮定した場合における特定オブジェクト87の断面積のうち最も広い断面積と同じであることが好ましい。
図7に示すように、ステップS308において、サーバ200のプロセッサ210は、配信モジュール201Bとして、特定オブジェクト87が標的オブジェクト88に命中していないと判定された場合に、ステップS332へ進む。サーバ200のプロセッサ210は、配信モジュール201Bとして、特定オブジェクト87が標的オブジェクト88に命中したと判定された場合に、ステップS310へ進む。
ステップS310において、サーバ200のプロセッサ210は、配信モジュール201Bとして、特定オブジェクト87が命中した標的オブジェクト88の耐久値Pdを減少させる。一例として、標的オブジェクト88への影響は、仮想空間80の一例である視聴空間80Bにおいて、特定オブジェクト87が標的オブジェクト88に命中すると生じる。次に、ステップS312において、サーバ200のプロセッサ210は、配信モジュール201Bとして、効果表示指示を視聴端末100Cへ送信する。一例として、効果表示指示は、標的オブジェクト88の耐久値Pdを示す情報を含んでもよい。
一例として、ステップS312において、サーバ200のプロセッサ210は、配信モジュール201Bとして、同じ視聴用コンテンツを視聴している視聴端末100Cが複数ある場合に、当該複数の視聴端末100Cへ効果表示指示を送信する。これに限らず、プロセッサ210は、ステップS306において受信された射撃情報を送信した視聴端末100Cに対してのみ効果表示指示を送信してもよい。ステップS312を終了すると、サーバ200のプロセッサ210は、ステップS318へ進む。
ステップS314において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、効果表示指示を受信する。ステップS316において、視聴端末100Cのプロセッサ110は、レンダリングモジュール104として、特定オブジェクト87が標的オブジェクト88に命中したことを示す表示(以下、効果表示と示す)をモニタ166にて行う。一例として、効果表示は、特定オブジェクト87が標的オブジェクト88に命中したことを示す情報(以下、命中情報と示す)をモニタ166に表示することである。
一例として、命中情報は、特定オブジェクト87が爆発する様子を示すオブジェクト(画像)である。命中情報は、標的オブジェクト88への影響を示す情報の一例である。上述のように、効果表示指示は、同じ視聴用コンテンツを視聴している視聴端末100Cが複数ある場合に、当該複数の視聴端末100Cへ送信され得る。つまり、標的オブジェクト88への影響を示す情報は、複数の視聴端末100Cにおいて表示され得る。
ステップS318において、サーバ200のプロセッサ210は、配信モジュール201Bとして、特定オブジェクト87が命中した標的オブジェクト88の耐久値Pdが、規定値の一例である0となったか否かを判定する。耐久値Pdが規定値となっていない場合に、サーバ200のプロセッサ210は、配信モジュール201Bとして、ステップS332へ進む。耐久値Pdが規定値となっている場合に、サーバ200のプロセッサ210は、ステップS320へ進む。
ステップS320において、サーバ200のプロセッサ210は、配信モジュール201Bとして、視聴ユーザが保有する報酬ポイントPを増加させる。一例として、プロセッサ210は、報酬ポイントPを増加させる視聴ユーザと、報酬ポイントPの増加量と、を特定する。プロセッサ210は、特定された視聴ユーザが保有する報酬ポイントPを、特定された増加量に応じて増加させる。なお、サーバ200のメモリ220は、メモリモジュール205として、ユーザごとに区別して報酬ポイントPを記憶する。
ステップS320において、サーバ200のプロセッサ210は、配信モジュール201Bとして、耐久値Pdが規定値となった標的オブジェクト88を、視聴空間80Bから取り除くとよい。標的オブジェクト88の耐久値Pdが規定値となった場合に、当該標的オブジェクト88は、同じ視聴用コンテンツを視聴している全ての視聴端末100Cにおいて、視聴空間80Bから取り除かれるとよい。これに限らず、標的オブジェクト88は、耐久値Pdを規定値とした視聴端末100Cのみを対象として、視聴空間80Bから取り除かれるように構成されてもよい。
ステップS324において、サーバ200のプロセッサ210は、配信モジュール201Bとして、ポイント獲得指示を視聴端末100Cへ送信する。ポイント獲得指示は、同じ視聴用コンテンツを視聴している全ての視聴端末100Cに対して送信されるように構成されるとよい。これに限らず、ポイント獲得指示は、耐久値Pdを規定値とした視聴端末100Cのみに対して送信されるように構成されてもよい。ステップS326において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、ポイント獲得指示を受信する。一例として、ポイント付与要求は、視聴ユーザが保有する報酬ポイントPの増加量を示す情報を含む。
ステップS328において、視聴端末100Cのプロセッサ110は、レンダリングモジュール104として、報酬ポイントPを獲得したことを報知する表示(以下、ポイント獲得表示と示す)をモニタ166にて行う。一例として、ポイント獲得表示は、報酬ポイントPを獲得したことを示す情報(以下、報酬獲得情報と示す)をモニタ166に表示することである。ステップS328が終了すると、視聴端末100Cのプロセッサ110は、ステップS330へ進む。
ステップS330において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、第2パートの終了条件が満たされたか否かを判定する。一例として、第2パートの終了条件は、第2パートの制限時間が経過する前に、1以上の陣営が勝利条件を満たした場合、又は、第2パートの制限時間が経過した場合に成立する。一例として、視聴端末100Cのプロセッサ110は、サーバ200から受信した配信情報が、第2パートの終了を示す情報を含むか否かによって、第2パートの終了条件が満たされたか否かを特定する。視聴端末100Cのプロセッサ110は、第2パートのゲームの終了条件が満たされていない場合、ステップS300へ進む。視聴端末100Cのプロセッサ110は、第2パートのゲームの終了条件が満たされた場合、射撃処理を終了する。
ステップS332において、サーバ200のプロセッサ210は、配信モジュール201Bとして、第2パートの終了条件が満たされたか否かを判定する。サーバ200のプロセッサ210は、第2パートのゲームの終了条件が満たされていない場合、ステップS306へ進む。サーバ200のプロセッサ210は、射撃情報を受信するまで待機する。サーバ200のプロセッサ210は、配信モジュール201Bとして、第2パートのゲームの終了条件が満たされた場合、射撃処理を終了する。
[端末における表示画面の一例と表示に関する処理の流れ]
[仮想空間の概略]
図9に示すように、サーバ200(ゲームモジュール201A)によって定義されたゲーム空間80Aにおける事象は、各端末100A,100Bのそれぞれによって定義されたゲーム空間80Aにおいて、リアルタイムで再現され得る。各端末100A,100Bは、同じバトルゲームに参加するユーザが使用する端末100である。
サーバ200が管理するゲーム空間80Aにおける事象は、各端末100A,100Bから受信するプレイ情報に応じて更新される。サーバ200は、ゲーム空間80Aにおける事象を更新した結果に応じて、進行情報を各端末100A,100Bへ送信する。各端末100A,100Bが管理するゲーム空間80Aにおける事象は、サーバ200から受信する進行情報に応じて、その都度、更新され得る。一例として、ゲーム空間80Aでは、ゲーム関連事象及び共通事象が再現される。
サーバ200(ゲームモジュール201A)によって定義されたゲーム空間80Aにおける事象は、サーバ200(配信モジュール201B)によって定義された視聴空間80Bにおいて、リアルタイムで再現され得る。サーバ200によって定義された視聴空間80Bにおける事象は、各視聴端末100Cのそれぞれによって定義された視聴空間80Bにおいて、リアルタイムで再現され得る。各視聴端末100Cは、同じバトルゲームのプレイ動画の視聴に使用されている端末100である。
サーバ200が管理する視聴空間80Bにおける事象は、生成された進行情報に応じて更新される。サーバ200は、進行情報に応じて生成された配信情報を、視聴端末100Cへ送信する。視聴端末100Cが管理する視聴空間80Bにおける事象は、サーバ200から受信する配信情報に応じて、その都度、更新され得る。一例として、視聴空間80Bでは、ゲーム関連事象、射撃関連事象、及び共通事象が再現される。
以上のように、仮想空間80では、当該仮想空間80における事象の一部又は全部が、サーバ200及び端末100A~100Cにおいて共有される。以下の説明において、単に「仮想空間80」と示す場合、ゲーム空間80Aと視聴空間80Bとを区別しない意図である。
仮想空間80に配置され得る各種のオブジェクトは、ユーザのアバター81を含む。一例として、複数のアバター81は、第1陣営に所属する1以上のユーザに対応するキャラクタとして、アバター811Aを含んでもよい。例えば、アバター811Aは、配信ユーザに対応するキャラクタである。一例として、複数のアバター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のヒットポイントを増加させるオブジェクトを含んでもよい。
視聴空間80Bに配置され得る各種のオブジェクトは、特定オブジェクト87を含んでもよい。視聴空間80Bに配置され得る各種のオブジェクトは、標的オブジェクト88を含んでもよい。一例として、特定オブジェクト87及び標的オブジェクト88は、ゲーム空間80Aに配置されない。つまり、特定オブジェクト87及び標的オブジェクト88は、視聴端末100Cのモニタ166に表示され得る。特定オブジェクト87及び標的オブジェクト88は、一般端末100A及び配信端末100Bのモニタ166に表示されない。これに限らず、特定オブジェクト87及び標的オブジェクト88は、ゲーム空間80Aに配置され得るが、レンダリングモジュール104によるレンダリングの対象とならず、モニタ166に表示されない構成であってもよい。
[ホーム画面]
図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,100Bのプロセッサ110は、準備ウィンドウ(不図示)に対する操作を受け付けると、その操作に応じて、アバター81の設定を変更する。上述したように、アバター81の設定は、アバターの種類、アバターの装備、又はアバターの容姿などを含み得る。一例として、配信開始アイコン407が表示されている部分をタップ操作することによって、配信開始を指示する操作を行うことができる。
[マッチング画面]
図11に示すように、サーバ200がマッチング処理(ステップS206)を実行している場合に、一般端末100A又は配信端末100Bのモニタ166には、マッチング画面45が表示される。マッチング画面45は、各種のオブジェクトを含み得る。マッチング画面45は、ユーザのアバター81を表示するアバターウィンドウ451を含む。一例として、アバターウィンドウ451には、自分のアバター81が表示されてもよいし、自分のアバター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は、ゲーム空間80Aにおいて、アバター81の頭上後方に仮想カメラ85を配置することによって、当該仮想カメラ85の撮影範囲に収められる範囲をモニタ166に表示する。これに限らず、バトル画面50A,50Bにおける仮想カメラ85は、アバター81の頭部からフィールド82Aを見た一人称視点となる位置、又はアバター81を中心としてフィールド82Aを見た俯瞰視点となる位置であってもよい。
一般端末100A又は配信端末100Bのプロセッサ110は、サーバ200から受信する進行情報に応じて、味方陣営のアバター81、及び敵方陣営のアバター81をゲーム空間80Aに配置する。一般端末100A又は配信端末100Bのプロセッサ110は、仮想カメラ85の撮影範囲に他ユーザのアバター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、及び獲得数アイコン706を含み得る。
一例として、チャットウィンドウ704には、視聴ユーザ間で送受信される文字データを表示するとよい。一例として、視聴端末100Cのプロセッサ110は、他の視聴端末100Cから送信される文字データを、サーバ200経由で受信し、受信した文字データを、時系列順にモニタ166に表示する。一例として、視聴端末100Cのプロセッサ110は、視聴ユーザの入力操作により指示される文字データを、他の視聴端末100Cへサーバ200経由で送信する。一例として、獲得数アイコン706は、今回の射撃ゲームを通して視聴ユーザが獲得した報酬ポイントPを特定可能な数字データを含むとよい。
視聴ウィンドウ701には、配信端末100Bにおけるゲームのプレイ動画が表示され得る。一例として、視聴ウィンドウ701には、視聴中のゲームが第1パートである場合に、配信ユーザのアバター81が表示される。視聴ウィンドウ701には、視聴中のゲームが第2パートのバトルゲームである場合に、ゲーム空間80Aにおけるバトルの様子が表示される。
視聴端末100Cのプロセッサ110は、サーバ200から受信する配信情報(配信モジュール201B)に応じて、フィールドオブジェクト82を視聴空間80Bに配置する。つまり、視聴空間80Bは、ゲーム空間80Aと同様に、フィールド82Aを含む。視聴端末100Cのプロセッサ110は、サーバ200から受信する配信情報に応じて、一般ユーザのアバター81、及び配信ユーザのアバター81を視聴空間80Bに配置する。つまり、視聴空間80Bは、ゲーム空間80Aと同様に、各ユーザのアバター81を含む。視聴端末100Cのプロセッサ110は、視聴空間80Bにおいて、基準キャラクタに対応する初期位置に仮想カメラ85を配置し、当該仮想カメラ85の撮影範囲85Dに収められる範囲をモニタ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の撮影範囲85Dに1以上のアバター81が収まる場合に、その1以上のアバターを、モニタ166に表示し得る。1以上のアバター81は、モニタ166に表示される場合に、配信情報に含まれるアクション情報に応じたアクションを伴う。つまり、視聴ウィンドウ701には、配信ユーザが行うゲームのプレイ動画が表示され得る。ゲームシステム10では、仮想空間80のうち、当該仮想空間80に配置された仮想カメラ85の視野に入る部分が、プレイ動画として視聴端末100Cに表示される。
視聴ウィンドウ701は、照準オブジェクト89を含む。一例として、照準オブジェクト89は、照準フレーム89Aと、照準マーク89Bと、を含む。一例として、照準フレーム89Aは、四角形である。これに限らず、照準フレーム89Aは、円形であってもよく、三角形や五角形といった多角形であってもよい。照準マーク89Bは、移動線86に沿って特定オブジェクト87が移動したと仮定した場合に、当該特定オブジェクト87が到達する位置を示す。つまり、特定オブジェクト87は、視聴ウィンドウ701において、照準マーク89Bと標的オブジェクト88とが重なった状態である場合に、標的オブジェクト88に命中し得る。照準マーク89Bは、標的オブジェクト88に照準を合わせるための情報(以下、照準情報と示す)の一例である。
一例として、照準マーク89Bは、照準フレーム89Aの中央を示す十字型の記号である。これに限らず、照準マーク89Bは、丸、点、又は矢印であってもよい。照準マーク89Bは、色調を他の部分と異ならせることで形成されてもよい。つまり、照準マーク89Bは、視聴ユーザが特定オブジェクト87の到達位置を認識可能であれば、どのような態様であってもよい。一例として、照準マーク89Bは、視聴ウィンドウ701に対する相対的な位置及び範囲が固定されている。これに限らず、照準マーク89Bは、視聴ユーザの操作に応じて、視聴ウィンドウ701に対する相対的な位置及び範囲を変更可能であってもよい。
上述のように、一例として、ステップS308の命中判定において、サーバ200のプロセッサ210は、視聴空間80Bにおいて、移動線86が標的オブジェクト88を通過する場合に、特定オブジェクト87が標的オブジェクト88に命中したと判定する。移動線86は、プレイ動画に標的オブジェクト88が含まれ、かつ標的オブジェクト88を表示している領域と照準マーク89Bを表示している領域とが重なる部分が生じる場合に、標的オブジェクト88を通過する。
これに限らず、ステップS308において、サーバ200のプロセッサ210は、プレイ動画に標的オブジェクト88が含まれ、かつ標的オブジェクト88を表示している領域と照準マーク89Bを表示している領域とが重なる部分が生じる場合に、特定オブジェクト87が標的オブジェクト88に命中したと判定してもよい。ステップS308において、サーバ200のプロセッサ210は、照準マーク89Bを含む仮想平面に対して、当該仮想平面と直交する方向から標的オブジェクト88を投影した場合、当該投影された部分に照準マーク89Bが入っているときに、特定オブジェクト87が標的オブジェクト88に命中したと判定してもよい。
一例として、ステップS308において、サーバ200のプロセッサ210は、移動線86の延長線上に標的オブジェクト88があっても、標的オブジェクト88が特定オブジェクト87の射程を超えた位置にある場合に、特定オブジェクト87が標的オブジェクト88に命中していないと判定してもよい。特定オブジェクト87の射程は、仮想カメラ85の表示可能距離と比べて、長くてもよく、短くてもよく、同じであってもよい。
一例として、ステップS302において、視聴端末100Cのプロセッサ110は、プレイ動画に標的オブジェクト88が含まれており、かつ、標的オブジェクト88の表示領域と照準フレーム89Aの表示領域とが重なる部分が生じる場合に、射撃操作を受け付けたと判定する。ステップS302において、視聴端末100Cのプロセッサ110は、プレイ動画に標的オブジェクト88が含まれていない場合に、射撃操作を受け付けていないと判定する。ステップS302において、視聴端末100Cのプロセッサ110は、プレイ動画に標的オブジェクト88が含まれていても、標的オブジェクト88の表示領域と照準フレーム89Aの表示領域とが重なる部分が生じない場合に、射撃操作を受け付けていないと判定する。つまり、標的オブジェクト88が照準フレーム89Aに入るように仮想カメラ85の位置及び向きを調整するカメラ操作は、射撃操作の一例となる。射撃操作は、標的オブジェクト88と照準マーク89Bとが重なるように、仮想カメラ85の位置及び向きを調整するカメラ操作を含む。
視聴端末100Cのプロセッサ110は、射撃操作を受け付けている場合に、レンダリングモジュール104として、特定オブジェクト87が移動線86に沿って移動する様子をモニタ166に表示する。つまり、視聴端末100Cでは、特定オブジェクト87を使用した射撃が開始される。視聴端末100Cのプロセッサ110は、射撃操作を受け付けていない場合に、特定オブジェクト87が移動線86に沿って移動する様子をモニタ166に表示しない。このように、標的オブジェクト88が照準フレーム89Aに入ると、射撃開始条件が満たされて、特定オブジェクト87を使用した射撃が開始される。標的オブジェクト88が照準フレーム89Aから出ると、射撃開始条件が満たされず、特定オブジェクト87を使用した射撃が停止される。
一例として、標的オブジェクト88は、バトルゲームを構成するための各種のオブジェクトとは異なるオブジェクトである。一例として、標的オブジェクト88は、第1陣営に所属するユーザに対応する1以上のアバター81の何れとも異なるオブジェクトである。一例として、標的オブジェクト88は、第2陣営に所属するユーザに対応する1以上のアバター81の何れとも異なるオブジェクトである。一例として、標的オブジェクト88は、第2状態となったアバターを示す墓標オブジェクト81Dとは異なるオブジェクトである。一例として、標的オブジェクト88は、フィールドオブジェクト82とは異なるオブジェクトである。一例として、標的オブジェクト88は、味方陣営及び敵方陣営の双方にとって共通の敵方キャラクタとは異なるオブジェクトである。例えば、標的オブジェクト88は、弓で射る的である。これに限らず、標的オブジェクト88は、果実、動物、又は乗り物であってもよい。なお、標的オブジェクト88は、複数のフィールドオブジェクト82のうち1つ又は複数であってもよい。標的オブジェクト88は、共通の敵方キャラクタのうち、1つ又は複数であってもよい。
一例として、視聴ウィンドウ701は、耐久値ゲージ89Cを含み得る。耐久値ゲージ89Cは、標的オブジェクト88の耐久値Pdの残量を、視聴ユーザが認識できるようにする情報(以下、残量情報と示す)の一例である。これに限らず、残量情報は、耐久値Pdの残量を示す数字データであってもよい。ステップS316において、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、効果表示指示に基づいて耐久値Pdの残量を特定するとよい。プロセッサ110は、レンダリングモジュール104として、特定された残量に応じた耐久値ゲージ89Cをモニタ166に表示するとよい。
例えば、図14は、標的オブジェクト88の全体が、照準オブジェクト89に入っていない状態を示す。つまり、標的オブジェクト88の全体が、照準フレーム89Aと重なっておらず、かつ、照準マーク89Bと重なっていない。この場合に、視聴端末100Cのプロセッサ110は、射撃操作を受け付けていないと判定する。視聴端末100Cのプロセッサ110は、レンダリングモジュール104として、特定オブジェクト87が移動線86に沿って移動する様子をモニタ166に表示しない。視聴端末100Cのプロセッサ110は、耐久値ゲージ89Cをモニタ166に表示しない。また、サーバ200のプロセッサ210は、ステップS308の命中判定を否定と判定する。視聴端末100Cのプロセッサ110は、カメラ操作を受け付けると、当該カメラ操作に応じて、仮想カメラ85の位置又は向きを変更する。
図15は、仮想カメラ85の位置又は向きの変更に応じて、標的オブジェクト88の一部又は全部が、照準フレーム89Aに入っており、かつ、照準マーク89Bと重なっていない状態を示す。この場合に、視聴端末100Cのプロセッサ110は、射撃操作を受け付けていると判定する。視聴端末100Cのプロセッサ110は、レンダリングモジュール104として、特定オブジェクト87が移動線86に沿って移動する様子をモニタ166に表示する。また、サーバ200のプロセッサ210は、ステップS308の命中判定を否定と判定する。視聴端末100Cのプロセッサ110は、照準フレーム89Aに入っている標的オブジェクト88の耐久値ゲージ89Cをモニタ166に表示する。視聴端末100Cのプロセッサ110は、カメラ操作を受け付けると、当該カメラ操作に応じて、仮想カメラ85の位置又は向きを変更する。
図16は、仮想カメラ85の位置又は向きの変更に応じて、標的オブジェクト88の一部又は全部が、照準フレーム89Aに入っており、かつ、照準マーク89Bと重なっている状態を示す。この場合に、視聴端末100Cのプロセッサ110は、射撃操作を受け付けていると判定する。視聴端末100Cのプロセッサ110は、レンダリングモジュール104として、特定オブジェクト87が移動線86に沿って移動する様子をモニタ166に表示する。また、サーバ200のプロセッサ210は、ステップS308の命中判定を肯定と判定する。
ステップS316において、視聴端末100Cのプロセッサ110は、効果表示指示に基づいて、レンダリングモジュール104として、命中情報の一例であるエフェクトオブジェクト87Aをモニタ166に表示する。一例として、エフェクトオブジェクト87Aは、特定オブジェクト87が爆発する様子を示すオブジェクト(画像)である。視聴ユーザは、エフェクトオブジェクト87Aが表示された状況から、特定オブジェクト87が標的オブジェクト88に命中したことを認識できる。つまり、視聴ユーザは、標的オブジェクト88に影響を与えたことを認識できる。
ここで、特定オブジェクト87、標的オブジェクト88、及び照準オブジェクト89は、視聴空間80Bに配置されるが、ゲーム空間80Aに配置されない。また、視聴端末100Cから送信され得る射撃情報は、進行情報及びプレイ情報の何れにも含まれない。つまり、これらのオブジェクト87~89は、視聴端末100Cのモニタ166に表示されるが、一般端末100A及び配信端末100Bのモニタ166に表示されない。
ステップS312において、サーバ200のプロセッサ210は、配信モジュール201Bとして、効果表示指示を視聴端末100Cへ送信するが、一般端末100A及び配信端末100Bへ送信しない。よって、エフェクトオブジェクト87Aは、視聴端末100Cのモニタ166に表示され得るが、一般端末100A及び配信端末100Bのモニタ166に表示されない。ステップS312は、標的オブジェクト88への影響を示す命中情報を、配信端末100Bに表示させず、かつ視聴端末100Cに表示させることの一例である。
図17は、特定オブジェクト87が標的オブジェクト88に命中したことに応じて、標的オブジェクト88の耐久値Pdが0になった状態を示す。視聴ユーザは、耐久値ゲージ89Cに示される耐久値Pdの残量が0になった状況から、当該標的オブジェクト88についての特定条件が満たされたことを認識できる。
この場合に、ステップS328において、視聴端末100Cのプロセッサ110は、レンダリングモジュール104として、標的オブジェクト88から星709が飛び出した様子をモニタ166に表示する。星709が飛び出した様子を示す表示は、ポイント獲得表示の一例である。視聴ユーザは、ポイント獲得表示が行われた状況から、報酬ポイントPを獲得したことを認識できる。星709は、報酬獲得情報の一例である。
ポイント獲得表示は、標的オブジェクト88の特定条件を成立させた視聴端末100Cにおいてのみ行われてもよい。ポイント獲得表示は、同じ視聴用コンテンツの視聴に使用されている複数の視聴端末100Cにおいてのみ行われてもよい。ポイント獲得表示は、さらに、一般端末100A、又は配信端末100Bにおいて行われてもよい。ポイント獲得表示を行うためのオブジェクトは、ポイント獲得表示を実行しようとする端末100において定義された視聴空間80Bに配置されるとよい。
[リザルト画面]
第2パートが終了し、第1パートに移行する場合に、各端末100A,100Bのモニタ166には、それぞれ第1リザルト画面55が表示される。第1リザルト画面55は、各種のオブジェクトを含み得る。第1リザルト画面55は、第2パートで勝利した陣営を示すアイコン、スコアの獲得数が最も多いユーザを示すアイコン、又はアバターの討伐数が最も多いユーザを示すアイコン等の情報を含み得る。
図18に示すように、第2パートが終了し、第1パートに移行する場合に、視聴端末100Cのモニタ166には、第2リザルト画面60が表示される。第2リザルト画面60は、各種のオブジェクトを含み得る。第2リザルト画面60は、第2パートで勝利した陣営を示すアイコン、スコアの獲得数が最も多いユーザを示すアイコン、又はアバターの討伐数が最も多いユーザを示すアイコン等の情報を含み得る。
図19に示すように、第2リザルト画面60は、獲得ポイントパネル605を含み得る。獲得ポイントパネル605は、今回の射撃ゲームを通して、視聴ユーザが獲得した報酬ポイントPを、当該視聴ユーザが認識できるようにする情報の一例である。
視聴端末100Cのプロセッサ110は、第2パートの終了を示す配信情報を受信した場合に、レンダリングモジュール104として第2リザルト画面60をモニタ166に表示する。配信情報には、今回の射撃ゲームを通して視聴ユーザが獲得した報酬ポイントPが含まれ得る。視聴端末100Cのプロセッサ110は、視聴情報に示される報酬ポイントPに応じて、獲得ポイントパネル605をモニタ166に表示する。
第1実施形態の効果について説明する。
(1-1)視聴ユーザは、視聴者として、配信ユーザが配信するプレイ動画を視聴することができる。視聴ユーザは、仮想空間80(視聴空間80B)に配置された標的オブジェクト88に対して影響を与えることができる。よって、視聴ユーザは、プレイ動画を視聴することとは違った楽しみを得ることができる。一方、標的オブジェクト88への影響を示す命中情報は、配信ユーザが使用する配信端末100Bに表示されないが、視聴ユーザが使用する視聴端末100Cに表示される。よって、ゲームプレイに対する過剰な干渉を抑制することができる。
(1-2)視聴ユーザは、特定オブジェクト87を標的オブジェクト88に命中させることによって、標的オブジェクト88に対して影響を与えることができる。よって、プレイ動画を視聴することとは違った楽しさを増すことができる。
(1-3)配信ユーザが使用する配信端末100Bには、特定オブジェクト87が標的オブジェクト88に命中したことを示す命中情報が表示されない。よって、配信ユーザの不快感をさらに抑制することができる。
(1-4)標的オブジェクト88への影響を示す命中情報は、複数の視聴端末100Cにおいて表示される。よって、視聴者である複数の視聴ユーザは、標的オブジェクト88に対する影響を共有することができる。
(1-5)配信ユーザは、標的オブジェクト88に対して影響を与えることができない。このため、配信ユーザができることと、視聴ユーザができることと、を明確に区別できる。
(1-6)視聴ユーザは、味方陣営のアバターの中から基準キャラクタを変更できる。よって、視聴ユーザは、様々な視点から、標的オブジェクト88を射撃できる。また、配信ユーザのアバターとは異なるアバターを基準とした視点から、視聴ユーザが配信ユーザのプレイを視聴する機会を増やすことができる。
(1-7)配信端末100Bでは、特定オブジェクト87、エフェクトオブジェクト87A、照準オブジェクト89、標的オブジェクト88、及び星709が表示されない。配信端末100Bでは、視聴端末100Cにおける仮想カメラ85の位置及び向きを示す情報が表示されない。つまり、配信ユーザは、視聴ユーザが何れの標的オブジェクト88を射撃しているかを特定できない。
(1-8)射撃ゲームは、ゲーム空間80Aにおける事象が同期された仮想空間80(視聴空間80B)を使用して実行される。つまり、射撃ゲームは、配信ユーザのプレイ動画を利用して実行される。よって、視聴ユーザは、配信ユーザがバトルを繰り広げている様子を視認しながら、並行して射撃ゲームをプレイできる。このため、プレイ動画を配信する意欲が減退することを抑制しながら、プレイ動画を視聴することとは違った楽しさを与えることができる。
(第2実施形態)
ゲームシステム10は、標的オブジェクト88への影響が特定された場合に、報酬ポイントPを付与することに加えて、又は代えて、第3オブジェクトを仮想空間80に配置するように構成されてもよい。第2実施形態において、標的オブジェクト88は、一般端末100A及び配信端末100Bのモニタ166に表示されてもよい。
図20に示すように、サーバ200のプロセッサ210は、配信モジュール201Bとして、ステップS324を終了すると、ステップS325へ進む。ステップS325において、サーバ200のプロセッサ210は、ゲームモジュール201Aとして、第3オブジェクトの一例である特殊オブジェクトをゲーム空間80Aに配置する。つまり、視聴ユーザは、標的オブジェクト88に影響を与えることによって、特殊オブジェクトを生成できる。特殊オブジェクトは、第2パートにおいて、仮想空間80に配置されることができる。特殊オブジェクトは、第1パートにおいて発生しない。
特殊オブジェクトは、視聴空間80Bに配置されてもよく、視聴空間80Bに配置されなくてもよい。ステップS325は、ステップS212とともに、1以上のオブジェクトを配置することの一例を構成する。また、ステップS325は、標的オブジェクト88への影響が特定された場合に、特殊オブジェクトを仮想空間80に配置することの一例である。ステップS325は、ステップS320に続けて実行されてもよく、ステップS318に続けて実行されてもよい。
ステップS222において、サーバ200のプロセッサ210は、ゲームモジュール201Aとして、特殊オブジェクトの効果を発揮させる条件(以下、効果発揮条件と示す)が満たされたか否かを判定する。一例として、効果発揮条件は、アバター81が特殊オブジェクトに接触したことであってもよく、アバター81の攻撃が命中したことであってもよい。サーバ200のプロセッサ210は、ゲームモジュール201Aとして、特殊オブジェクトの効果発揮条件が満たされたと判定した場合に、当該特殊オブジェクトの効果をアバター81に対して発揮させる。
特殊オブジェクトの効果発揮条件を成立させ得るアバター81は、特殊オブジェクトを生成させた視聴ユーザからみて、視聴対象の配信ユーザ、又は当該配信ユーザの味方ユーザのアバター81であるとよい。この場合に、特殊オブジェクトの効果は、アバター81のヒットポイントを回復させる効果であってもよく、アバター81のステータスを向上させる効果であってもよく、アバター81にスキルを覚えさせる効果であってもよい。つまり、特殊オブジェクトは、配信ユーザに対応するキャラクタに対して効果を発揮することができるとよい。また、特殊オブジェクトは、味方ユーザに対応するキャラクタに対して効果を発揮することができてもよい。
これに限らず、特殊オブジェクトの効果発揮条件を成立させ得るアバター81は、視聴対象の配信ユーザから見て敵方ユーザのアバター81であるとよい。この場合に、特殊オブジェクトの効果は、アバター81のヒットポイントを減少させる効果であってもよく、アバター81のステータスを低下させる効果であってもよく、アバター81のスキルを使用不能にする効果であってもよい。つまり、特殊オブジェクトは、敵方ユーザに対応するキャラクタに対して効果を発揮することができてもよい。
一例として、図21及び図22に示すように、標的オブジェクト88は、端末100A~100Cのモニタ166に表示され得るフィールドオブジェクト82のうち、リンゴ88Aとすることができる。リンゴ88Aの耐久値Pdが0になると、特殊オブジェクト88Bの一例として、アバター81のヒットポイントを回復させる効果を有する回復アイテムが一般端末100A及び配信端末100Bに表示されるとよい。つまり、視聴ユーザは、射撃ゲームを通じて、配信ユーザに対して特殊オブジェクト88Bを提供できる。
一般端末100A及び配信端末100Bのモニタ166では、特殊オブジェクト88Bが出現する場合に、特殊オブジェクト88Bが出現することを示す情報(以下、出現情報88Cと示す)が表示される。一例として、出現情報88Cは、リンゴ88Aが木から落ちる様子を示す動画であってもよい。
第2実施形態の効果について説明する。
(2-1)視聴ユーザは、標的オブジェクト88に対して影響を与えることによって、特殊オブジェクト88Bを新たに出現させることができる。よって、プレイ動画を視聴することとは違った楽しみを増すことができる。
(2-2)特殊オブジェクト88Bは、配信ユーザに対応するキャラクタに対して効果を発揮し得る。よって、配信ユーザの不快感を抑制しながら、視聴ユーザの参加意欲を高めることができる。
(2-3)特殊オブジェクト88Bは、第2パートで出現させることができる。しかしながら、特殊オブジェクトは、第1パートで出現させることができない。つまり、特殊オブジェクト88Bが出現する場面が制限されるから、特殊オブジェクト88Bの希少性を高めることができる。よって、配信ユーザの不快感を抑制しながら、視聴ユーザの参加意欲を高めることができる。
上記実施形態は、以下のように変更して実施することができる。上記実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・標的オブジェクト88は、仮想空間80を構成するゲーム空間80A及び視聴空間80Bの両方に配置されてもよい。本変更例において、標的オブジェクト88は、一般端末100A及び配信端末100Bにおけるレンダリングの対象とされてもよいし、レンダリングの対象とされなくてもよい。つまり、標的オブジェクト88は、一般端末100A及び配信端末100Bのモニタ166に表示されてもよく、表示されなくてもよい。本変更例において、エフェクトオブジェクト87Aは、一般端末100A及び配信端末100Bのモニタ166に表示されないとよい。つまり、エフェクトオブジェクト87Aは、ゲーム空間80Aに配置されない構成であってもよく、ゲーム空間80Aに配置されるがレンダリングの対象とならない構成であってもよい。
・ゲームシステム10は、ゲーム空間80A及び視聴空間80Bの両方として機能し得る仮想空間80を備えてもよい。本変更例において、エフェクトオブジェクト87Aは、視聴端末100Cのモニタ166に表示されるが、一般端末100A及び配信端末100Bのモニタ166に表示されないように構成されるとよい。
・端末100A,100Bのモニタ166では、エフェクトオブジェクト87Aは表示されないが、端末100A,100Bのスピーカ162では、標的オブジェクト88に対して影響が与えられたことを示す音声を出力してもよい。
・標的オブジェクト88は、視聴端末100Cのモニタ166に表示されないオブジェクト(以下、隠れオブジェクトと示す)を含んでもよい。サーバ200のプロセッサ210は、特定オブジェクト87が隠れオブジェクトに命中したと判定した場合に、報酬ポイントPとは異なる特別な報酬を視聴ユーザに付与してもよい。視聴空間80Bには、複数の隠れオブジェクトが配置されてもよい。この場合に、特別な報酬は、複数の隠れオブジェクトの全てに特定オブジェクト87を命中させた場合に付与されるとよい。
・標的オブジェクト88は、1種類であることに限定されず、複数種類あってもよい。本変更例において、標的オブジェクト88の種類に応じて、耐久値Pdの初期値が異なっていてもよい。標的オブジェクト88の種類に応じて、特定条件が成立した場合に視聴ユーザが獲得可能な報酬ポイントPが異なっていてもよい。
・ステップS308において、サーバ200のプロセッサ210が特定する標的オブジェクト88への影響は、特定オブジェクト87が標的オブジェクト88に命中することに限定されない。つまり、サーバ200のプロセッサ210が特定する標的オブジェクト88への影響は、視聴ユーザによる操作に応じて標的オブジェクト88に生じ得る影響であれば、どのような影響であってもよい。一例として、サーバ200のプロセッサ210が特定する標的オブジェクト88への影響は、標的オブジェクト88の位置又は姿勢が変更されることであってもよく、標的オブジェクト88の種類又は機能が変更されることであってもよい。
・標的オブジェクト88は、耐久値Pdを備えなくてもよい。本変更例において、サーバ200のプロセッサ210は、特定オブジェクト87が標的オブジェクト88に命中した回数(以下、命中回数と示す)を管理するとよい。そして、プロセッサ210は、命中回数が予め定めた回数に達した場合に、標的オブジェクト88の特定条件が成立したと判定するとよい。
・標的オブジェクト88の耐久値Pdは、予め定めた条件(以下、変化条件と示す)に応じて変化してもよい。一例として、耐久値Pdは、配信ユーザが獲得した報酬ポイントPの合計値、バトルゲームが開始されてからの経過時間、及び配信ユーザのアバターとして設定されているキャラクタの種類のうち、1つ又は複数の事柄に応じて変化してもよい。つまり、耐久値Pdは、同じ種類の標的オブジェクト88であっても、変化条件に応じて、第1耐久値である場合と、当該第1耐久値よりも多い第2耐久値である場合とが生じ得るとよい。
・第2リザルト画面60は、報酬ポイントPに応じた視聴ユーザの順位を示す情報を含んでもよい。視聴画面70は、報酬ポイントPに応じた視聴ユーザの順位を示す情報を含んでもよい。報酬ポイントPが多いことは、標的オブジェクト88に多くの影響を与えたことと同じ意味であるとよい。
・視聴画面70は、視聴空間80Bに配置された標的オブジェクト88の残り個数を示す情報(以下、標的個数情報と示す)を含んでもよい。標的個数情報は、標的オブジェクト88の残り個数を示す数字データであってもよく、標的オブジェクト88の残り個数と同じ個数のアイコンであってもよい。標的個数情報は、バトルゲームが開始されるときに表示されてもよく、バトルゲームを通して表示されてもよい。
・視聴画面70は、射撃ゲームのプレイ方法を示す情報(以下、プレイ方法情報と示す)を含んでもよい。プレイ方法情報は、射撃ゲームにおいて報酬を獲得する方法を示す情報を含むとよい。
・視聴画面70は、視聴ユーザが影響を与え得るオブジェクトであることを示す情報(以下、標的情報と示す)を含んでもよい。一例として、標的情報は、標的オブジェクト88を囲う枠であってもよく、標的オブジェクト88の色調を変更させることであってもよい。視聴ユーザは、同じ種類のオブジェクトであっても、標的オブジェクト88となっているか否かを明確に把握できる。
・視聴画面70は、視聴ユーザが獲得し得る報酬の内容を示す情報(以下、報酬内容情報と示す)を含んでもよい。報酬内容情報は、標的オブジェクト88について特定条件が成立された場合に視聴ユーザが獲得し得る報酬の内容を示す。
・視聴画面70は、視聴ユーザが射撃ゲームにおいて使用可能な特定オブジェクト87の残り個数を示す情報(以下、残数情報と示す)を含んでもよい。本変更例において、視聴端末100Cのプロセッサ110は、特定オブジェクト87の残り個数が0である場合に、射撃操作を受け付けないように構成されてもよく、射撃情報をサーバ200へ送信しないように構成されてもよい。特定オブジェクト87の残り個数は、予め定めた条件(以下、補充条件と示す)が満たされると補充されるように構成されるとよい。一例として、補充条件は、予め定められた時間が経過する毎に成立してもよく、視聴ウィンドウ701に補充オブジェクトが表示された場合に成立してもよい。
・射撃操作は、カメラ操作に加えて、又は代えて、所定の操作(以下、射撃開始操作と示す)を含んでもよい。射撃開始操作は、照準フレーム89Aが表示されている部分をタップ操作することであってもよく、標的オブジェクト88が表示されている部分をタップ操作することであってもよい。射撃開始操作は、射撃開始操作をするための発射ボタンを操作することであってもよい。
・射撃操作は、視聴ウィンドウ701のうち標的オブジェクト88が表示されている部分をタップ操作することであってもよい。この場合に、視聴端末100Cのプロセッサ110は、照準オブジェクト89を表示しないように構成されてもよい。
・ゲームシステム10は、配信ユーザが、視聴ユーザに影響を与えて欲しいと考える標的オブジェクトを、配信ユーザが視聴ユーザに対して通知できるように構成されていてもよい。本変更例では、第2バトル画面50Bにおいて、標的オブジェクト88が表示されることを前提とする。配信端末100Bのプロセッサ110は、レンダリングモジュール104として、標的オブジェクト88をモニタ166に表示する。配信端末100Bのプロセッサ110は、ゲームモジュール101Aとして、標的オブジェクト88を指定する操作(以下、標的指定操作と示す)を受け付けた場合に、第1指定情報をサーバ200へ送信する。一例として、標的指定操作は、モニタ166のうち、標的オブジェクト88が表示された部分をタップ操作することによって行うことができる。サーバ200のプロセッサ210は、配信モジュール201Bとして、受信された第1指定情報に応じて、第2指定情報を視聴端末100Cへ送信する。視聴端末100Cのプロセッサ110は、第2指定情報を受信した場合に、当該情報に示される標的オブジェクト88に対して、上記標的情報を付加してモニタ166に表示する。本変更例において、配信ユーザは、視聴ユーザに対して、標的オブジェクト88を指定し、影響を与えて貰えるように依頼できる。
・仮想空間80に配置された標的オブジェクト88への影響を特定する手法は、上記実施形態とは異なる手法に変更してもよい。
例えば、視聴端末100Cのプロセッサ110は、視聴モジュール101Cとして、特定オブジェクト87が標的オブジェクト88に命中したか否かの命中判定を行ってもよい。視聴端末100Cのプロセッサ110は、特定オブジェクト87が標的オブジェクト88に命中したと判定した場合に、その旨を示す情報(以下、命中判定情報と示す)をサーバ200へ送信する。サーバ200のプロセッサ210は、配信モジュール201Bとして、命中判定情報を受信した場合に、特定オブジェクト87が標的オブジェクト88に命中したと特定する影響特定ステップを実行するとよい。この場合に、影響特定ステップは、視聴端末100Cから受信した第2操作情報に基づいて、仮想空間80に配置された標的オブジェクト88への影響を特定することの一例となる。本変更例において、命中判定情報は、第2操作情報の一例である。
例えば、視聴端末100Cのプロセッサ110は、上記命中判定において、特定オブジェクト87が標的オブジェクト88に命中したと判定した場合に、標的オブジェクト88の耐久値Pdを減少させる。視聴端末100Cのプロセッサ110は、減少後の耐久値Pdが0になった場合に、その旨を示す情報(以下、特定条件成立情報と示す)をサーバ200へ送信してもよい。サーバ200のプロセッサ210は、配信モジュール201Bとして、特定条件成立情報を受信した場合に、標的オブジェクト88の耐久値Pdが0になったと特定する影響特定ステップを実行するとよい。この場合に、影響特定ステップは、視聴端末100Cから受信した第2操作情報に基づいて、仮想空間80に配置された標的オブジェクト88への影響を特定することの一例となる。本変更例において、特定条件成立情報は、第2操作情報の一例である。
・標的オブジェクト88には、特定条件を第1回数にわたって成立させることができるオブジェクトと、特定条件を、第1回数と比べて多い第2回数にわたって成立させることができるオブジェクトとがあってもよい。一例として、第1回数は、1回であってもよく、第2回数は、2回以上であってもよい。つまり、1回しか報酬ポイントPを獲得できないオブジェクトと、2回以上、報酬ポイントPを獲得できるオブジェクトと、が存在してもよい。よって、標的オブジェクト88に影響を与える遊びにバリエーションを持たせることができる。
・基準キャラクタは、視聴対象である配信ユーザのアバターが第2状態となった場合に、当該配信ユーザが所属する陣営に所属するユーザのアバターの中から選択できなくてもよい。本変更例において、基準キャラクタは、第2状態となった配信ユーザのアバター81を示す墓標オブジェクト81Dに固定されてもよい。本変更例において、基準キャラクタは、配信ユーザが仮想空間80に配置した特殊オブジェクトの中から選択できてもよい。
・仮想空間80には、標的オブジェクト88が複数段階にわたって配置されてもよい。一例として、サーバ200のプロセッサ210は、耐久値Pdが0になったことを特定した場合に、視聴ユーザに対して報酬ポイントP1を付与するとよい。視聴空間80Bには、標的オブジェクト88の耐久値Pdが0になった場合に、星、コイン、又は風船などのように、標的オブジェクト88とは異なる追加オブジェクトが配置されるとよい。一例として、サーバ200のプロセッサ210は、特定オブジェクト87が追加オブジェクトに命中したと判定した場合に、視聴ユーザに対して報酬ポイントP2を付与するとよい。本変更例において、報酬ポイントP2は、報酬ポイントP1と比べて、多くてもよく、少なくてもよく、同じであってもよい。
・追加オブジェクトは、標的オブジェクト88の耐久値Pdを0にさせた視聴端末100Cにおいてのみ表示されてもよい。一例として、追加オブジェクトは、配信ユーザのプレイ動画の視聴に使用されている複数の視聴端末100Cにおいてのみ表示されてもよい。追加オブジェクトは、さらに、一般端末100A、及び配信端末100Bにおいて表示されてもよい。追加オブジェクトは、当該追加オブジェクトを表示しようとする端末100において定義された仮想空間80に配置されるとよい。
・特定オブジェクト87が命中したときの耐久値Pdの減少量は、耐久値Pdが最後に0にされてから時間が経過するほど減少されてもよい。特定オブジェクト87が命中したときの耐久値Pdの減少量は、耐久値Pdが最後に0にされてから時間が経過するほど増加されてもよい。
・特定オブジェクト87が命中したときの耐久値Pdの減少量は、標的オブジェクト88が仮想カメラ85から離間するほど減少されてもよい。特定オブジェクト87が命中したときの耐久値Pdの減少量は、標的オブジェクト88が仮想カメラ85から離間するほど増加されてもよい。
・射撃ゲームは、バトルゲームを実行中である期間のうち一部の期間において実行されてもよい。
・射撃ゲームでは、基礎報酬の一例として、予め定めた報酬ポイントPを視聴ユーザに対して付与してもよい。一例として、サーバ200のプロセッサ210は、配信モジュール201Bとして、第2パートのゲームが終了するときに、耐久値Pdを0にした標的オブジェクト88の個数に依存せず、予め定めた報酬ポイントPを視聴ユーザへ付与するとよい。
・報酬ポイントPは、補助ポイントPaが規定ポイントに達する毎に付与されてもよい。一例として、サーバ200のプロセッサ210は、標的オブジェクト88の耐久値Pdが0にされた場合に、補助ポイントPaを視聴ユーザに付与する。プロセッサ210は、補助ポイントPaが規定ポイントに達すると、報酬ポイントPを視聴ユーザに付与するとよい。
・報酬ポイントPは、配信ユーザが特定ユーザである場合に、配信ユーザが特定ユーザではないときと比べて、増加されてもよい。一例として、サーバ200のプロセッサ210は、配信ユーザが特定ユーザであると決定している場合に、特定ユーザであると決定していないときに比べて、標的オブジェクト88への影響が特定されるごとに付与する報酬ポイント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,80A,80B)を定義すること(S210)と、前記仮想空間に1以上のオブジェクトを配置すること(S212,S325)と、前記仮想空間を使用するゲームを、第1ユーザが第1端末(100B)を使用してプレイできるようにすること(S222)と、前記第1ユーザのゲームプレイに応じた配信情報を、第2ユーザが使用する第2端末(100C)へ送信することによって、当該第2端末を使用して前記ゲームプレイに応じた動画を視聴できるようにすること(S128)と、前記第2端末が第2操作を受け付けた場合に、当該第2端末が送信する第2操作情報を受信すること(S306)と、前記第2端末から受信した前記第2操作情報に基づいて、前記仮想空間に配置された第1オブジェクト(88)への影響を特定すること(S308)と、前記第1オブジェクトへの影響を示す情報(87A)を、前記第1端末に表示させず、かつ前記第2端末に表示させること(S324)と、を実行させるプログラム。
(付記2)前記第2操作情報は、前記仮想空間(80,80A,80B)における第2オブジェクト(87)の移動を示し、前記第1オブジェクト(88)への影響は、前記仮想空間において、前記第2オブジェクトが前記第1オブジェクトに命中すると生じる付記1に記載のプログラム。
(付記3)前記第1オブジェクト(88)への影響を示す情報(87A)は、前記第2オブジェクト(87)が前記第1オブジェクトに命中したことを示す情報である付記2に記載のプログラム。
(付記4)前記動画を視聴できるようにすることは、複数の前記第2端末(100C)が存在する場合に、複数の前記第2端末のそれぞれにおいて前記動画を視聴できるようにすることであり、前記第1オブジェクト(88)への影響を示す情報(87A)は、複数の前記第2端末において表示される付記1~付記3のうち何れか一項に記載のプログラム。
(付記5)前記1以上のオブジェクトを配置すること(S212,S325)は、前記第1オブジェクトへの影響が特定された場合に、第3オブジェクトを前記仮想空間に配置することを含む付記1~付記4のうち何れか一項に記載のプログラム。
(付記6)前記1以上のオブジェクトを配置すること(S212,S325)は、前記第1ユーザに対応するキャラクタ(81)を配置することを含み、前記第3オブジェクトは、前記第1ユーザに対応するキャラクタに対して効果を発揮することができる付記5に記載のプログラム。
(付記7)前記ゲームは、第1パートと、第2パートと、を含み、前記第3オブジェクトは、前記第2パートにおいて、前記仮想空間(80,80A,80B)に配置されることができる付記5又は付記6に記載のプログラム。
(付記8)前記第1端末(100B)が第1操作を受け付けた場合に、当該第1端末が送信する第1操作情報を受信すること(S222)、をさらに実行させ、前記第1オブジェクト(88)への影響を特定することは、前記第2端末(100C)から受信した前記第2操作情報に基づいて実行され、かつ前記第1端末から受信した前記第1操作情報に基づいて実行されない付記1~付記7のうち何れか一項に記載のプログラム。
(付記9)付記1~付記8のうち何れか一項に記載のプログラムを記憶した記憶装置(220)と、前記記憶装置が記憶したプログラムを実行するプロセッサ(210)と、を備えるコンピュータ(200)。
(付記10)請求項9に記載のコンピュータ(200)を備えるシステム(10)。
(付記11)コンピュータ(200)が、仮想空間(80,80A,80B)を定義すること(S210)と、前記仮想空間に1以上のオブジェクトを配置すること(S212,S325)と、前記仮想空間を使用するゲームを、第1ユーザが第1端末(100B)を使用してプレイできるようにすること(S222)と、前記第1ユーザのゲームプレイに応じた配信情報を、第2ユーザが使用する第2端末(100C)へ送信することによって、当該第2端末を使用して前記ゲームプレイに応じた動画を視聴できるようにすること(S128)と、前記第2端末が第2操作を受け付けた場合に、当該第2端末が送信する第2操作情報を受信すること(S306)と、前記第2端末から受信した前記第2操作情報に基づいて、前記仮想空間に配置された第1オブジェクト(88)への影響を特定すること(S308)と、前記第1オブジェクトへの影響を示す情報(87A)を、前記第1端末に表示させず、かつ前記第2端末に表示させることと、を実行する方法。
本発明がその技術的思想から逸脱しない範囲で他の特有の形態で具体化されてもよいということは当業者にとって明らかであろう。例えば、実施形態(あるいはその1つ又は複数の態様)において説明した部品のうちの一部を省略してもよいし、いくつかの部品を組合せてもよい。本発明の範囲は、添付の請求の範囲を参照して、請求の範囲が権利を与えられる均等物の全範囲と共に確定されるべきである。
Dh…水平方向、Ds…視線方向、Dv…上下方向、10…ゲームシステム、40A…第1ホーム画面、40B…第2ホーム画面、45…マッチング画面、50A…第1バトル画面、50B…第2バトル画面、55…第1リザルト画面、60…第2リザルト画面、61…HPバー、62…HPバー、65…リスト画面、70…視聴画面、80…仮想空間、80A…ゲーム空間、80B…視聴空間、81…アバター、81D…墓標オブジェクト、82…フィールドオブジェクト、82A…フィールド、85…仮想カメラ、85A…仮想球面、85C…中心、85D…撮影範囲、85d…交線、85P…撮影点、86…移動線、86A…始点、86B…終点、87…特定オブジェクト、87A…エフェクトオブジェクト、88…標的オブジェクト、88A…リンゴ、88B…特殊オブジェクト、88C…出現情報、89…照準オブジェクト、89A…照準フレーム、89B…照準マーク、89C…耐久値ゲージ、90…ネットワーク、100…端末、100A…一般端末、100B…配信端末、100C…視聴端末、101…コントロールモジュール、101A…ゲームモジュール、101B…配信モジュール、101C…視聴モジュール、104…レンダリングモジュール、105…メモリモジュール、106…通信モジュール、107…入出力モジュール、110…プロセッサ、120…メモリ、130…ストレージ、140…通信インターフェース、150…入出力インターフェース、160…マイク、162…スピーカ、164…タッチスクリーン、166…モニタ、167…タッチセンサ、180…通信バス、190…入出力機器、200…サーバ、200A…ゲームサーバ、200B…配信サーバ、201…コントロールモジュール、201A…ゲームモジュール、201B…配信モジュール、205…メモリモジュール、206…通信モジュール、207…入出力モジュール、210…プロセッサ、220…メモリ、230…ストレージ、240…通信インターフェース、250…入出力インターフェース、280…通信バス、401…アバターウィンドウ、404…バトルアイコン、406…キャラクタアイコン、407…配信開始アイコン、451…アバターウィンドウ、605…獲得ポイントパネル、701…視聴ウィンドウ、703…メンバーアイコン、704…チャットウィンドウ、705…ボタン、706…獲得数アイコン、709…星、811A…アバター、812A…アバター。
本開示は、プログラム、及び情報処理システムに関する。
本開示の一態様に係るプログラムは、コンピュータ、仮想空間に1以上のオブジェクト配置されるゲームを、第1ユーザが第1端末を使用してプレイできるように実行する実行手段と、前記第1ユーザのプレイに係る配信情報を、第2ユーザが使用する第2端末へ送信する送信手段と、前記第2端末が送信する第2操作情報を受信する受信手段と、記第2操作情報に基づいて、前記仮想空間に配置された第1オブジェクトへ与え得る影響を示す情報を、前記第1端末に表示させず、かつ前記第2端末に表示させる表示制御手段と、として機能させる。

Claims (11)

  1. コンピュータに、
    仮想空間を定義することと、
    前記仮想空間に1以上のオブジェクトを配置することと、
    前記仮想空間を使用するゲームを、第1ユーザが第1端末を使用してプレイできるようにすることと、
    前記第1ユーザのゲームプレイに応じた配信情報を、第2ユーザが使用する第2端末へ送信することによって、当該第2端末を使用して前記ゲームプレイに応じた動画を視聴できるようにすることと、
    前記第2端末が第2操作を受け付けた場合に、当該第2端末が送信する第2操作情報を受信することと、
    前記第2端末から受信した前記第2操作情報に基づいて、前記仮想空間に配置された第1オブジェクトへの影響を特定することと、
    前記第1オブジェクトへの影響を示す情報を、前記第1端末に表示させず、かつ前記第2端末に表示させることと、を実行させるプログラム。
  2. 前記第2操作情報は、前記仮想空間における第2オブジェクトの移動を示し、
    前記第1オブジェクトへの影響は、前記仮想空間において、前記第2オブジェクトが前記第1オブジェクトに命中すると生じる請求項1に記載のプログラム。
  3. 前記第1オブジェクトへの影響を示す情報は、前記第2オブジェクトが前記第1オブジェクトに命中したことを示す情報である請求項2に記載のプログラム。
  4. 前記動画を視聴できるようにすることは、複数の前記第2端末が存在する場合に、複数の前記第2端末のそれぞれにおいて前記動画を視聴できるようにすることであり、
    前記第1オブジェクトへの影響を示す情報は、複数の前記第2端末において表示される請求項1~請求項3のうち何れか一項に記載のプログラム。
  5. 前記1以上のオブジェクトを配置することは、前記第1オブジェクトへの影響が特定された場合に、第3オブジェクトを前記仮想空間に配置することを含む請求項1~請求項4のうち何れか一項に記載のプログラム。
  6. 前記1以上のオブジェクトを配置することは、前記第1ユーザに対応するキャラクタを配置することを含み、
    前記第3オブジェクトは、前記第1ユーザに対応するキャラクタに対して効果を発揮することができる請求項5に記載のプログラム。
  7. 前記ゲームは、第1パートと、第2パートと、を含み、
    前記第3オブジェクトは、前記第2パートにおいて、前記仮想空間に配置されることができる請求項5又は請求項6に記載のプログラム。
  8. 前記第1端末が第1操作を受け付けた場合に、当該第1端末が送信する第1操作情報を受信すること、をさらに実行させ、
    前記第1オブジェクトへの影響を特定することは、前記第2端末から受信した前記第2操作情報に基づいて実行され、かつ前記第1端末から受信した前記第1操作情報に基づいて実行されない請求項1~請求項7のうち何れか一項に記載のプログラム。
  9. 請求項1~請求項8のうち何れか一項に記載のプログラムを記憶した記憶装置と、
    前記記憶装置が記憶したプログラムを実行するプロセッサと、を備えるコンピュータ。
  10. 請求項9に記載のコンピュータを備えるシステム。
  11. コンピュータが、
    仮想空間を定義することと、
    前記仮想空間に1以上のオブジェクトを配置することと、
    前記仮想空間を使用するゲームを、第1ユーザが第1端末を使用してプレイできるようにすることと、
    前記第1ユーザのゲームプレイに応じた配信情報を、第2ユーザが使用する第2端末へ送信することによって、当該第2端末を使用して前記ゲームプレイに応じた動画を視聴できるようにすることと、
    前記第2端末が第2操作を受け付けた場合に、当該第2端末が送信する第2操作情報を受信することと、
    前記第2端末から受信した前記第2操作情報に基づいて、前記仮想空間に配置された第1オブジェクトへの影響を特定することと、
    前記第1オブジェクトへの影響を示す情報を、前記第1端末に表示させず、かつ前記第2端末に表示させることと、を実行する方法。
JP2021122912A 2021-07-28 2021-07-28 プログラム、情報処理システム Active JP7463322B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021122912A JP7463322B2 (ja) 2021-07-28 2021-07-28 プログラム、情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021122912A JP7463322B2 (ja) 2021-07-28 2021-07-28 プログラム、情報処理システム

Publications (2)

Publication Number Publication Date
JP2023018712A true JP2023018712A (ja) 2023-02-09
JP7463322B2 JP7463322B2 (ja) 2024-04-08

Family

ID=85160457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021122912A Active JP7463322B2 (ja) 2021-07-28 2021-07-28 プログラム、情報処理システム

Country Status (1)

Country Link
JP (1) JP7463322B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5513905B2 (ja) 2010-01-18 2014-06-04 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム処理方法、ならびに、プログラム
JP6599080B2 (ja) 2013-10-17 2019-10-30 株式会社ソニー・インタラクティブエンタテインメント ゲームシステム、ゲーム制御方法、及びゲーム制御プログラム
JP6858737B2 (ja) 2018-09-19 2021-04-14 株式会社コロプラ 視聴プログラム、配信プログラム、視聴プログラムを実行する方法、配信プログラムを実行する方法、情報処理装置、および情報処理システム
JP7398873B2 (ja) 2019-03-29 2023-12-15 株式会社バンダイナムコエンターテインメント サーバシステムおよび動画配信システム

Also Published As

Publication number Publication date
JP7463322B2 (ja) 2024-04-08

Similar Documents

Publication Publication Date Title
US9731196B2 (en) Apparatus and method for displaying player character showing special movement state in network game
JP5989621B2 (ja) ゲームシステム、サーバシステム及びプログラム
EP2463000A2 (en) Network video game system for executing event in network video game
CN111744191A (zh) 游戏系统以及与对战游戏相关的信息的提供方法
JP2014147558A (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム
JP2022019979A (ja) ゲームプログラム、およびゲームシステム
JP6494176B2 (ja) プログラム、ゲーム装置及びサーバシステム
JP2023087059A (ja) コンピュータシステム、ゲームシステム、ゲーム実行制御方法及びプログラム
WO2023024880A1 (zh) 虚拟场景中的表情显示方法、装置、设备以及介质
JP7463322B2 (ja) プログラム、情報処理システム
WO2023058482A1 (ja) プログラム、コンピュータ、システム、方法
WO2023054247A1 (ja) プログラム、コンピュータ、システム、方法
WO2023032267A1 (ja) プログラム、コンピュータ、システム、方法
JP2023030902A (ja) プログラム、情報処理システム
JP7434381B2 (ja) プログラム、システム
WO2022254846A1 (ja) プログラム、コンピュータ、システム、方法
JP2022184545A (ja) プログラム、コンピュータ、システム、方法
WO2022130972A1 (ja) プログラム、コンピュータ、システム、方法
US20230330544A1 (en) Storage medium, computer, system, and method
WO2024071030A1 (ja) プログラム、ゲームシステム
JP2024036918A (ja) プログラム、ゲームシステム
JP6908866B1 (ja) 情報処理装置、情報処理方法及びプログラム
US20230302367A1 (en) Computer-readable non-transitory storage medium having game program stored therein, game apparatus, game system, and game processing method
JP2023083428A (ja) プログラム
JP2020058512A (ja) ゲームプログラム、方法、および情報処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230125

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240313

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240327

R150 Certificate of patent or registration of utility model

Ref document number: 7463322

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150