特許法第30条第2項適用 REALITY株式会社が、令和4年7月22日から11月9日にわたって、ウェブサイトにて、渡邊匡志が発明したプログラム、情報処理方法及び情報処理システムについて公開した。
(第1実施形態)
以下、ゲーム処理装置、ゲーム制御方法、プログラム、情報処理装置及びゲーム制御システムの第1実施形態について説明する。
<情報処理システム>
図1を参照して、情報処理システム11について説明する。本実施形態において、情報処理システム11は、複数のユーザがオンラインで参加するゲームを実行するとともに、そのゲームの動画を配信及び視聴するためのシステムである。
情報処理システム11は、リアルタイムサーバ12、マルチゲームサーバ13、APIサーバ14及びユーザ装置20を備える。各サーバ12~14及びユーザ装置20は、インターネット等のネットワーク(図示略)を介してデータを送受信する。また、情報処理システム11は、ユーザ情報記憶部15及びゲーム情報記憶部16を備える。本実施形態においてリアルタイムサーバ12はゲーム管理部(ゲーム管理サーバ)、ゲーム制御装置、マルチゲームサーバ13は配信管理部(配信管理サーバ)に対応する。また、APIサーバ14は、ユーザ情報管理部(ユーザ情報管理サーバ)に対応する。
ユーザ装置20を用いて動画を配信するユーザを配信ユーザ、配信された動画を視聴するユーザを視聴ユーザという。ユーザは、配信ユーザ及び視聴ユーザの両方になることが可能である。つまり、ユーザは、動画を視聴する場合は視聴ユーザであり、動画を配信する場合は配信ユーザである。また、配信ユーザが用いるユーザ装置20を配信ユーザ装置21といい、視聴ユーザが用いるユーザ装置20を視聴ユーザ装置22という。本実施形態において配信ユーザ及び視聴ユーザを区別しないで説明する場合には単に「ユーザ」という。また、配信ユーザ装置21及び視聴ユーザ装置22を区別しないで説明する場合には、単にユーザ装置20という。
また、配信ユーザ装置21は、複数の配信ユーザが参加するゲームの動画を配信することが可能である。以下、ゲームを開始するためのルームを作成する配信ユーザをホストユーザ、ホストユーザが作成したルームに参加する配信ユーザをゲストユーザという。また、ホストユーザ及びゲストユーザがルームに参加することによりグループが形成される。また、本実施形態において、説明の便宜上、ホストユーザが用いる配信ユーザ装置21をホストユーザ装置21H、ゲストユーザが用いる配信ユーザ装置21をゲストユーザ装置21Gというとともに、これらを区別しない場合には単に配信ユーザ装置21という。
リアルタイムサーバ12は、ホストユーザ装置21H及びゲストユーザ装置21Gとの間で、ゲームを実行するためのデータを送受信する。リアルタイムサーバ12は、ホストユーザ装置21H及びゲストユーザ装置21Gからゲーム進行データを受信する。リアルタイムサーバ12は、ゲーム制御データをホストユーザ装置21H及びゲストユーザ装置21Gに送信する。
マルチゲームサーバ13は、視聴ユーザ装置22及び配信ユーザ装置21に接続する。マルチゲームサーバ13は、動画の配信に関するデータの中継を担う。マルチゲームサーバ13は、ゲーム動画の描画に必要な各種のデータを配信ユーザ装置21から受信する。また、マルチゲームサーバ13は、受信した各種のデータを、他の配信ユーザ装置21及び視聴ユーザ装置22に送信する。例えば、マルチゲームサーバ13は、ホストユーザ装置21Hから動画を描画するためのデータを受信したとき、ゲストユーザ装置21G及び視聴ユーザ装置22に対して動画を描画するためのデータ又は当該データを加工したデータを送信する。マルチゲームサーバ13は、リアルタイムサーバ12との間で、ゲーム動画に関するデータを送受信する。
APIサーバ14は、リアルタイムサーバ12等の要求に応じて、更新頻度が比較的低い情報の取得及び更新を行う。具体的には、APIサーバ14は、ユーザ情報記憶部15に記憶されたユーザ情報を取得及び更新する。また、APIサーバ14は、ゲーム情報記憶部16に記憶されたゲーム管理情報を取得及び更新する。
図2を参照して、ユーザ装置20のハードウェア構成を説明する。ユーザ装置20は、スマートフォン(多機能電話端末)、タブレット端末、パーソナルコンピュータ、コンソールゲーム機、ウェアラブルコンピュータ、又はこれらの装置以外の動画を再生可能な情報処理装置である。ウェアラブルコンピュータは、ユーザが動画を視聴可能な画面を備えていればよい。例えばユーザの頭部に装着されるヘッドマウントディスプレイ、又は眼鏡型のウェアラブル端末等である。ユーザ装置20は、単独で動作する装置、又は、互いに各種のデータを送受信可能に接続された複数の装置から構成されるものである。後者のユーザ装置20の一例として、例えばアウトサイドイン方式のトラッキングを行うシステムがある。
ユーザ装置20は、制御部25、ストレージ26(記憶媒体)、通信インターフェース(I/F)27を備える。制御部25は、1又は複数の処理回路を備える。処理回路は、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、NPU(Neural network Processing Unit)等、又はその組み合わせを含む。また、制御部25は、演算回路が読み出し及び書き込みが可能な主記憶装置(記憶媒体)であるメモリを備える。メモリは、半導体メモリ等から構成される。制御部25は、ストレージ26又は外部ストレージからオペレーティングシステムやその他のプログラムをメモリに読み込む。また、制御部25は、メモリから取り出した命令を実行する。通信I/F27は、ネットワーク(図示略)を介して、各サーバ12~14との間でデータを送受信することができる。ネットワークは、ローカルエリアネットワーク、インターネット等、各種のネットワークを含む。
ストレージ26は、補助記憶装置(記憶媒体)であり、例えば、磁気ディスク、光ディスク、半導体メモリ等の記憶媒体である。ストレージ26は、複数のストレージを組み合わせて用いることもできる。
制御部25は、ユーザの操作部31に対する入力操作に基づいて、ストレージ26に記録された各種プログラムを実行することにより、動画の配信に関する各処理及び視聴に関する各処理を実行する。以下、説明の便宜上、動画の配信を行う状態を配信モードといい、他の配信ユーザが配信する動画を視聴する状態を視聴モードという。
また、ユーザ装置20は、センサユニット28、スピーカ29、マイク30、操作部31、及びディスプレイ32を備える。センサユニット28、スピーカ29、マイク30、操作部31及びディスプレイ32の少なくとも一つは、制御部25と同じ装置内、又は制御部25を備える装置に接続する態様で設けられる。
センサユニット28は、ユーザの表情の変化を示すフェイスモーション、及びセンサユニット28に対するユーザの身体の相対位置の変化を示すボディモーションを検出する1又は複数のセンサである。フェイスモーションは、瞬きや口の開閉等の動きを含む。センサユニット28は、公知の物を使用することができる。センサユニット28の一例は、ユーザに向かって照射された光がユーザの顔等に反射して返ってくるまでの飛行時間(Time of Flight)を測定するToFセンサ、ユーザの顔を撮影するカメラ及びカメラが撮影したデータを画像処理する画像処理部を含むものである。また、センサユニット28は、可視光線を撮像するRGBカメラと、近赤外線を撮像する近赤外線カメラとを含んでいてもよい。RGBカメラや近赤外線カメラは、例えばトゥルーデプス(True Depth)、又は「iPad Pro(登録商標)」等の「LIDAR」(Light Detection and Ranging、又はLaser Imaging Detection and Ranging)や、スマートフォンに搭載されるその他のToFセンサを用いることが可能である。このカメラは、具体的には、ドットプロジェクタによってユーザの顔等に数万の不可視のドット(点)を投影する。そして、ドットパターンの反射光を検出し、分析して顔の深度マップを形成し、顔等の赤外線画像をキャプチャすることで、正確な顔データをキャプチャする。センサユニット28の演算処理部は、深度マップと赤外線画像に基づいて各種の情報を生成し、その情報を登録済みの参照データと比較して、顔の各ポイントの深度(各ポイントと近赤外線カメラとの間の距離)や深度以外の位置のずれを算出する。センサユニット28は、フェイスモーション及びボディモーションをトラッキングデータとして出力制御部52に送信する。なお、トラッキングデータはモーションデータの一例である。モーションデータは、アバターオブジェクトを動作させるためのデータである。
また、センサユニット28は、ユーザの顔だけでなく、手をトラッキングする(ハンドトラッキング)機能を有していてもよい。また、センサユニット28は、手以外の人間の部位の位置又は向きを検出するセンサを含んでいてもよい。センサユニット28は、加速度センサ等の速度や加速度を検出するセンサ、ジャイロセンサ等の方向や方位を検出するセンサ等のセンサをさらに含むものであってもよい。センサユニット28は、上記のToFセンサや公知の他のセンサの検出結果に基づきユーザが存在する現実空間の物体を認識し、認識した物体を空間地図にマッピングする空間マッピング機能を有していてもよい。
スピーカ29は、音声データを音声に変換して出力する。マイク30は、ユーザが発話した音声を入力し、音声データに変換する。ディスプレイ32は、制御部25の出力指示に応じて、各種画像を出力する。
操作部31は、ユーザ装置20の種類に応じたものを用いることができる。操作部31の一例は、ディスプレイ32と一体化されたタッチパネルである。また、操作部31の他の例は、ユーザ装置20の筐体等に設けられた操作ボタン、キーボード、マウス、ユーザが手で操作するコントローラ等である。コントローラは、加速度センサ、ジャイロ等の慣性計測センサ(IMU:Inertial Measurement Unit)等の公知の各種のセンサを内蔵していてもよい。また、操作部31の他の一例は、ユーザの手の動き、目の動き、頭部の動き、視線の方向等を特定するトラッキング装置であってもよい。この態様では、例えば、ユーザの手の動きに基づいて、ユーザの指示を判定し、動画の配信を開始又は終了したり、メッセージや動画への評価、所定のオブジェクトの表示等の各種操作を実行したりすることができる。なお、センサユニット28がハンドトラック機能等の入力インターフェース機能も有する場合には、操作部31は省略可能である。
各サーバ12~14のハードウェア構成について説明する。サーバ12~14は、ユーザが動画を配信及び視聴するサービスを提供するサービス提供者等が用いるものである。サーバ12~14は、制御部25、ストレージ26及び通信I/F27を備えている。これらの構成は、ユーザ装置20と同様である。リアルタイムサーバ12のストレージ26には、ゲームを制御するプログラムが記録されている。また、マルチゲームサーバ13のストレージ26には、配信に関する管理プログラムが記録されている。
<ゲームに用いられるデータの構成>
次に図3~図5を参照して、ゲームの実行及び動画の配信に用いられる各データについて、詳述する。
図3は、ユーザ情報35の一例を示す。ユーザ情報35は、ユーザ情報記憶部15に記録される。ユーザ情報35は、ユーザ毎に生成される情報であって、ユーザの識別子であるユーザID(識別子)、所持値、ブースト倍率、ゲームフィールド、図鑑及び設定値合計を含む。所持値は、ユーザに関連付けられたゲームパラメータの値である。ゲームパラメータは、ゲーム内で用いられ且つユーザに関連付けられたパラメータである。例えば、パラメータは、攻撃力、防御力、戦闘力、体力(ヒットポイント、スタミナ)、魔力(マジックポイント)、レベル、経験値、スキルを用いる時に消費されるポイントであるスキルポイント数、機敏性、メダル数、ポイント数、コイン数等である。また、ゲームパラメータは、ユーザに関連付けられたゲーム媒体の数又は量とも言い換えることができる。ゲーム媒体は、ゲームに使用される電子データであればよい。電子データは、ユーザによってゲーム内で取得、所有、使用、管理、交換、合成、強化、売却、廃棄、又は贈与等され得る。例えば、ゲーム媒体は、カード、アイテム、仮想通貨(メダル又はコイン)、チケット、キャラクタ、アバタ等の任意の媒体を含む。ゲーム媒体の利用態様は本明細書で明示されるものに限られない。
ブースト倍率は、ユーザに付与されるグループ報酬を増大させる倍率である。グループ報酬は、所定の報酬条件(第2報酬条件)が満たされた場合に、グループに属するユーザ全員に付与される報酬である。ゲームフィールドは、複数のゲームフィールドのうち、ユーザがプレイ可能なゲームフィールドを示す。ブースト倍率はゲームフィールドに関連付けて記録されている。本実施形態において、ブースト倍率は、ゲームが終了した場合には初期値となる。また、ゲームが中断された場合には、中断したときのブースト倍率が記録される。
図鑑は、ゲームでユーザが取得した移動オブジェクトのリスト(一覧)である。設定値合計は、ユーザがゲーム内で設定したゲームパラメータの設定値を合計した値である。本実施形態においては、設定値は、ゲーム内でユーザが賭けたメダル数(ベット額)である。ユーザは、メダル数を複数回賭けることができる。設定値合計は、ユーザが賭けたメダル数を合計した値である。
図4は、ゲーム環境情報36の一例を示す。ゲーム環境情報36は、マスターデータであってゲーム情報記憶部16に記録される。ゲーム環境情報36は、ゲームフィールド、オブジェクトID(識別子)、オブジェクト属性を含む。動画配信時に実行されるゲームの一つでは、ゲームフィールドを選択可能である。ゲームフィールドは、ゲーム内で実行可能な複数のゲームフィールドを示す。
ゲームフィールドには、そのゲームフィールドに出現する移動オブジェクトが定められている。オブジェクトIDは、移動オブジェクトの識別子であってゲームフィールドに関連付けられている。オブジェクト属性は、移動オブジェクトの属性情報である。例えば、オブジェクト属性は、レアリティ(希少度)、全長、重さを含む。また、オブジェクト属性は、オッズ(倍率)を含む。オッズは、その移動オブジェクトを取得する難度が高いほど大きくなる(例えば2倍、3倍等)。本実施形態において、オッズは、移動オブジェクトの種類に応じて、1倍以上の倍率と1倍未満の倍率とが設定されている。難度は、レアリティ、又は全長、重さ等の他のオブジェクト属性によって予め決定されている。その他にも、オブジェクト属性は、「火属性」、「水属性」等の属性、攻撃力、防御力、戦闘力、体力(ヒットポイント、スタミナ)、魔力(マジックポイント)、レベル、経験値、スキルを用いる時に消費されるポイントであるスキルポイント、機敏性等のうち少なくとも一つを含んでいてもよい。
図5は、ゲーム管理情報37の一例を示す。ゲーム管理情報37は、ルーム毎に生成される情報である。ゲーム管理情報37は、リアルタイムサーバ12のストレージ26及びゲーム情報記憶部16に記録される。
ゲーム管理情報37は、参加ユーザ情報、ゲームフィールド情報、ステージ、残り時間及びグループパラメータを含む。参加ユーザ情報は、ホストユーザ及びゲストユーザを識別する情報である。例えばホストユーザのユーザID、ゲストユーザのユーザIDである。ゲームフィールド情報は、ホストユーザに関連付けられたゲームフィールドのうち、ホストユーザが選択したゲームフィールドを示す。
ゲーム管理情報37のステージは、配信ユーザがプレイ中のステージを示す。本実施形態において、ゲームは、複数のステージを含む。ステージは、ゲームを複数に区切った構成単位である。一つのステージのミッションを達成すると次のステージに進む。各ステージには、複数のパートが含まれている。各パートは、勝敗が決まると終了する。また、複数のステージでは、共通のパラメータが用いられる。本実施形態では、第1ステージ及び第2ステージを含む。パートは、一つの移動オブジェクトとの対戦である。また、ステージ間で共通のパラメータは、ブースト倍率、所持メダル数である。つまり、第1ステージで所持するメダル数を、第2ステージに持ち越すことができる。さらに、ユーザは、複数のステージに亘って同じアイテムを用いることができる。
残り時間はゲームの残り時間を示す。第2ステージのゲームが実行されている場合には、第2ステージの残り時間がゲーム管理情報37に記録される。
グループパラメータは、ゲームに参加する各ユーザが協働して増加させる(又は減少させる)パラメータである。グループパラメータは、ゲームに参加する各配信ユーザによるゲームのプレイ状況に基づいて増加する。本実施形態では、グループパラメータは、ゲームパラメータとは異なるパラメータであるが、ゲームパラメータと同じパラメータであってもよい。グループパラメータは、例えば、攻撃力、防御力、戦闘力、体力等であってもよい。又は、グループパラメータは、メダル数、ポイント数、ゲーム媒体の数又は量であってもよい。ステージ、残り時間、及びグループパラメータはゲームの進捗に応じて変化する。
<サーバの機能>
図6を参照して、リアルタイムサーバ12の各機能について説明する。リアルタイムサーバ12の制御部25は、ストレージ26に記録されたプログラムを実行することにより、第1進行部40、設定値特定部41、倍率設定部42、第1報酬付与部43、判定部44、第2進行部45、第2報酬付与部46として機能する。第2進行部45はゲーム進行部及び判定部に対応する。
第1進行部40は、ゲームの第1ステージにおいて、グループに属する各配信ユーザの配信ユーザ装置21から受信したゲーム進行データに基づいて、ゲームを進行させる。また、第1進行部40は、第1ステージにおいて配信ユーザが所定の操作を行った場合に、ユーザ情報35の所持値から、設定値特定部41が特定した設定値を減少させる。さらに、第1進行部40は、配信ユーザが設定値を用いて所持値を更新した場合に、グループに関連付けられたグループパラメータを更新する。
また、第1進行部40は、配信ユーザ装置21から第1アクション実行要求を受け付けた場合に、グループに関連付けられたグループパラメータの値を増加させる。さらに、第1進行部40は、配信ユーザによる第2ゲーム内アクションが成功したと判定した場合に、配信ユーザに移動オブジェクトを関連付ける。
さらに、第1進行部40は、ゲームのプレイ状況が移動オブジェクトの取得条件を満たすか否かを判定する。取得条件を満たした場合、当該移動オブジェクトと配信ユーザとを関連付けて、APIサーバ14を介してユーザ情報記憶部15に記録する。
設定値特定部41は、配信ユーザが設定するゲームパラメータの値を設定値として特定する。
第1報酬付与部43は、第1ステージにおいて、配信ユーザのプレイ状況が第1報酬条件を満たした場合、個人報酬として付与する設定値に応じたゲームパラメータの値を特定する。そして、当該配信ユーザに関連付けられた前記ゲームパラメータの値である所持値を個人報酬に基づき変化させる。
倍率設定部42は、設定値特定部41が特定した設定値に応じて、各配信ユーザに関連付けられたブースト倍率を増加させる。第2報酬付与部46は、ブースト倍率に応じて、各配信ユーザにそれぞれ付与されるグループ報酬を増加させる。
判定部44は、第1ステージにおいて各ユーザのプレイ状況に基づきグループのミッションを達成したか否かを判定する。本実施形態では、判定部44は、グループパラメータの値が所定値に達した場合にグループのミッションが達成されたと判定する。
第2進行部45は、グループのミッションが達成された場合に、配信ユーザ装置21から受信したゲーム進行データに基づいて、第2ステージのゲームを進行させる。また、第2進行部45は、第2ゲーム内アクションが成功したと判定した場合に、配信ユーザに移動オブジェクトを関連付ける。さらに、第2進行部45は、グループパラメータを時間に応じて減少させ、グループパラメータが下限値に到達した場合に第2ステージを終了する。グループパラメータの減少速度は、一定、或いは、時間の経過に伴い大きくなったり小さくなったりしてもよい。
第2報酬付与部46は、第2ステージにおいて、グループに属する配信ユーザが第2報酬条件を満たした場合、グループに属する各配信ユーザの少なくとも一人をグループ報酬を付与する対象のユーザとして特定する。本実施形態は、グループ報酬を付与するユーザはグループに属する全ての配信ユーザ70である。さらに、グループ報酬を付与する対象のユーザ毎に、グループ報酬として付与するゲームパラメータの値を特定する。そして、グループ報酬を付与する対象の各ユーザの所持値をグループ報酬に基づき更新する。具体的には、所持値に、グループ報酬としてゲームパラメータの値をそれぞれ加算する。本実施形態では、所持値は、ゲームが終了したときに初期値に戻る。
本実施形態では第2報酬付与部46は、各配信ユーザに関連付けられたブースト倍率に応じたグループ報酬を配信ユーザに付与する。移動オブジェクトに関する第2報酬条件が満たされた場合、第2報酬付与部46は、ブースト倍率と移動オブジェクトに関連付けられたパラメータの値とに応じてグループ報酬を決定する。
<ユーザ装置の機能>
図7を参照して、ユーザ装置20の各機能について説明する。ユーザ装置20の制御部25は、動画アプリケーションを実行することにより、取得部50、操作検出部51、動作検出部54、出力制御部52、送信部53として機能する。出力制御部52は、第1出力制御部、第2出力制御部、第1報酬表示部及び第2報酬表示部に対応する。また、操作検出部51は操作受付部に対応し、送信部は、第1送信部及び第2送信部に対応する。
取得部50は、他のユーザ装置20からマルチゲームサーバ13を介して送信された表示制御データ、リアルタイムサーバ12から送信されたゲーム制御データ等の各種データを取得する。
取得部50がリアルタイムサーバ12から受信するゲーム制御データは、他の配信ユーザのゲーム内アクションを表すデータ、グループパラメータを示すデータ、個人報酬を示すデータ、グループ報酬を示すデータ、ゲームフィールド内のオブジェクトに関するデータの少なくとも一つを含む。ゲーム制御データは、ゲームの内容に応じて変化する。また、取得部50がマルチゲームサーバ13から取得する表示制御データは、他のユーザである配信ユーザが配信するゲームの動画を視聴するためのデータである。表示制御データは、他の配信ユーザに関連付けられたモーションデータを含む。表示制御データに含まれるデータは、動画の配信方式による。さらに取得部50は、マルチゲームサーバ13から、配信ユーザの音声データを取得する。
操作検出部51は、ユーザによる操作部31に対する入力操作を検出する。例えば、操作検出部51は、ユーザの操作を受け付ける。ユーザの操作は、ギフトオブジェクトの表示要求(ギフト表示要求)を送信する操作、動画に対するメッセージの投稿を行う操作、動画に対する評価(「いいね!」ボタン、又は「favorite」ボタンの選択等)を行う操作等である。
また、操作検出部51は、ゲームにおいて取得した移動オブジェクトを閲覧するためのユーザの操作を受け付ける。
動作検出部54は、ゲームの進行が撮影条件を満たした場合に、配信ユーザの表情及び上半身の動き等の動作を検出したトラッキングデータをセンサユニット28から取得する。トラッキングデータは、アバターオブジェクトを動作させるモーションデータに含まれる。
出力制御部52は、グループに属する配信ユーザの操作に基づいてゲーム画面を表示する。ゲーム画面は、ゲームの進行に伴い連続的に変化する。このゲーム画面を動画にしたデータが視聴ユーザ装置22に送信される。また、出力制御部52は、第1ステージにおいて、配信ユーザのプレイ状況が第1報酬条件を満たした場合、設定値に応じたゲームパラメータの値を用いて更新された所持値を、個人報酬が反映された所持値として表示する。
さらに、出力制御部52は、グループのミッションが達成された場合に、第2ステージのゲーム画面を表示する。第2ステージにおいてグループに属する配信ユーザが第2報酬条件を満たした場合、グループ報酬としてのゲームパラメータの値を用いて更新されたユーザの所持値を表示する。
また、出力制御部52は、ゲームで取得した移動オブジェクトと、マルチゲームサーバ13から取得した動画の配信状況とを含むオブジェクト表示画面を表示する。
送信部53は、ゲーム進行データをリアルタイムサーバ12等に送信する。ゲーム進行データは、ゲーム開始要求、配信ユーザが設定した設定値、ゲーム内アクションの実行要求、演出終了要求、及び撮影要求等を含みうる。また、送信部53は、ゲームの動画を他のユーザに配信するためのデータとして、動作検出部54が取得したモーションデータを含む表示制御データをマルチゲームサーバ13に送信する。
<動画の配信方式>
次に、動画の配信方式について説明する。動画の配信方式としては、クライアントレンダリング方式、ブラウザレンダリング方式、映像配信方式及びサーバ配信方式のうち一つを用いることができる。
クライアントレンダリング方式は、各ユーザ装置20が、描画に必要なデータをマルチゲームサーバ13から受信して動画を表示するものである。マルチゲームサーバ13から受信するデータには、モーションデータが含まれる。動画の描画は各ユーザ装置20が行う。また、各ユーザ装置20は、配信ユーザの発話に基づく音声データを取得し、動画と同期させて音声を出力する。この場合、各ユーザ装置20のストレージ26には、動画アプリケーション(プログラム)と、アバターオブジェクトを描画するモデルデータ等の各種データとが記録される。
ブラウザレンダリング方式は、配信ユーザ装置21及び視聴ユーザ装置22が、ストレージ26に格納したウェブブラウザプログラムを用いて、動画を表示する方法である。このとき、配信ユーザ装置21は、モーションデータ等を含む表示制御データをマルチゲームサーバ13に送信する。動画を表示するユーザ装置20は、HTML(Hyper Text Markup Language)等のマークアップ言語で記述されるとともに、CSS(Cascading Style Sheets)、JavaScript(登録商標)等が用いられたウェブページをマルチゲームサーバ13からダウンロードする。ユーザ装置20で起動されたウェブブラウザプログラムは、ブラウザ上で動作するJavaScriptによってアバターオブジェクトや他のオブジェクトを描画する。この方式では、ユーザ装置20は、動画を表示するためのウェブページのURL等のデータをストレージ26に記録する。つまり、アバターオブジェクトのモデルデータ等はユーザ装置20に記憶されない。
映像配信方式は、配信ユーザ装置21が動画データを生成する方式である。具体的には、配信ユーザ装置21は、動作検出部54が検出したモーションデータ等を用いて動画データを生成する。また、配信ユーザ装置21は、エンコードした動画データ及び音声データをマルチゲームサーバ13に送信する。マルチゲームサーバ13は、動画データ及び音声データを視聴ユーザ装置22に送信する。視聴ユーザ装置22は、配信ユーザ装置21から受信した動画データに基づいて動画をディスプレイ32に表示する。
サーバ配信方式は、マルチゲームサーバ13が動画データを生成する方式である。マルチゲームサーバ13は、モーションデータ、音声データを配信ユーザ装置21から受信する。そして、マルチゲームサーバ13は、それらのデータに基づいて動画データを生成する。マルチゲームサーバ13は、生成した動画データを配信ユーザ装置21及び視聴ユーザ装置22に送信する。配信ユーザ装置21及び視聴ユーザ装置22は、受信した動画データに基づき動画をディスプレイ32に出力する。
このように、ユーザ装置20及びマルチゲームサーバ13のいずれかが動画データの生成を担う。動画データの生成を担う装置は、配信方式に応じて変更可能である。
なお、配信ユーザ装置21及び視聴ユーザ装置22は互いに異なる方式で動画を表示してもよい。例えば配信ユーザ装置21がクライアントレンダリング方式で動画を表示する一方で視聴ユーザ装置22がブラウザレンダリング方式で動画を表示してもよい。また、動画を表示する方法をユーザが選択できるようにしてもよい。例えば、視聴ユーザ装置22のうち一部の装置はクライアントレンダリング方式で動画を表示し、他の装置はブラウザレンダリング方式で動画を表示してもよい。
本実施形態では、各ユーザ装置20がクライアントレンダリング方式で動画を配信する方法について説明する。クライアントレンダリング方式について詳述する。
ストレージ26は、アバターオブジェクト及び他のオブジェクトの三次元モデルデータ等を記録している。三次元モデルデータは、アバターオブジェクト本体を構成する本体パーツ、アバターオブジェクトに装着可能な装着パーツの描画データを含む。本体パーツは、アバターオブジェクトの部位を構成するパーツである。本体パーツを描画するデータは、ポリゴンデータ、及びアバターオブジェクトの動作を表現するための骨格データ(ボーン)、テクスチャデータ等を含む。本体パーツの少なくとも一部は、ユーザが任意に設定することができる。つまり、アバターオブジェクトの身長、体格等はユーザが選択することが可能である。装着パーツは、テクスチャデータ等を含む。配信ユーザは、自身に対応するアバターオブジェクトの装着パーツを好みのパーツに設定することができる。
配信ユーザ装置21の送信部53は、アバターオブジェクトのパーツを示す識別情報(パーツID)を表示制御データとしてマルチゲームサーバ13に送信する。また、送信部53は、取得部50が取得したモーションデータ、及びマイク30が集音した音声に基づく音声データをマルチゲームサーバ13に送信する。さらに、送信部53は、予め登録されたアバターオブジェクトの表現のうち、配信ユーザが選択した表現の識別情報を表示制御データとして送信する。このアバターオブジェクトの表現を、以下において「エモート」という。
また、配信ユーザは、仮想空間の仮想カメラの位置及び撮像範囲を調整可能である。配信ユーザ装置21は、ユーザの操作に基づいて、ゲームフィールドに設定された仮想カメラの角度又は位置を変更する。また、配信ユーザ装置21は、ユーザの操作に基づいて、ゲームフィールドに設定された仮想カメラの撮像範囲を拡大又は縮小する。送信部53は、仮想カメラの位置をマルチゲームサーバ13に送信してもよい。モーションデータ及び音声データには、タイムスタンプが付与されている。タイムスタンプは、制御部25の計時機能を有する回路(内部クロック)に基づく基準時間情報に基づいて生成される。又はタイムスタンプは、マルチゲームサーバ13から送信される基準時間情報、又は他の外部サーバから取得した基準時間情報に基づいて生成される。タイムスタンプは、基準とする時間からの経過時間を表していてもよいし、時刻を表していてもよい。
視聴ユーザ装置22は、配信ユーザのアバターオブジェクトのパーツIDを、動画の視聴を開始したタイミング等の所定のタイミングで予め受信している。出力制御部52は、モーションデータを含む表示制御データをマルチゲームサーバ13から受信する。そして、出力制御部52は、表示制御データを用いて、アバターオブジェクト、アバターオブジェクト以外のオブジェクトを含めてレンダリングを行う。ここでいうレンダリングは、仮想カメラの位置の取得、透視投影、オブジェクトの各々に関連付けられた深度情報に基づく隠面消去等が含まれる描画処理をいう。レンダリングは、これらのうち少なくとも一つの処理であってもよいし、シェーディング、テクスチャマッピング等の処理を含んでいてもよい。また、出力制御部52は、モーションデータを用いてアバターオブジェクトを動作させる。
また、出力制御部52は、他のユーザからが投稿したメッセージ等のデータをマルチゲームサーバ13から受信する。出力制御部52は、アバターオブジェクトや他のオブジェクトをレンダリングした画像と、投稿メッセージや通知等とを合成した動画データをディスプレイ32に出力する。また、出力制御部52は、タイムスタンプに基づいて音声データを動画データと同期させてスピーカ29から出力する。
<動作>
図8~図14を参照して、リアルタイムサーバ12、マルチゲームサーバ13及びユーザ装置20の動作について、ゲームの具体例に沿って説明する。
(ゲーム開始前)
動画アプリケーションでは、複数のゲームがユーザによって選択可能に提供されている。ユーザ装置20は、ユーザによるゲームの選択操作を受け付ける。
ユーザ装置20は、複数のユーザが参加可能なルームの生成をリアルタイムサーバ12に要求する。リアルタイムサーバ12は、当該ユーザをホストユーザとしてルームを生成する。また、リアルタイムサーバ12は、ルームの情報をホストユーザ装置21H及びマルチゲームサーバ13に送信する。ホストユーザ装置21Hは、ルームの情報を受信すると、ゲームが実行される前のロビー画面を表示する。
ゲームに参加可能である最少人数は1人(ホストユーザのみ)であり、最大人数は例えば4人(ホストユーザ1人、ゲストユーザ3人)である。ホストユーザが他のユーザを招待する際、ホストユーザ装置21Hは、ホストユーザの操作に基づいて、マルチゲームサーバ13(又はリアルタイムサーバ12)を介して他のユーザ装置20に参加要請を送信する。参加要請を受信した他のユーザ装置20が、他のユーザの操作に基づいて参加要求をリアルタイムサーバ12に送信すると、リアルタイムサーバ12は、そのユーザをゲストユーザとしてゲーム管理情報37に登録する。これにより、ゲームに参加する複数の配信ユーザからなるグループが作成される。
又は、ホストユーザ以外のユーザが用いるユーザ装置20は、受信したルームの情報をマルチゲームサーバ13から受信するとともに、ルームの情報を表示する。このユーザ装置20は、他のユーザの操作に基づき、ゲームへの参加要求をマルチゲームサーバ13(又はリアルタイムサーバ12)に送信する。マルチゲームサーバ13は、参加要求を送信したユーザの識別情報をホストユーザ装置21Hに送信する。ホストユーザ装置21Hは、参加要求を送信した他のユーザの識別情報を表示する。さらにホストユーザ装置21Hは、他のユーザの参加を承認した情報をリアルタイムサーバ12に送信する。これにより、リアルタイムサーバ12は、参加要求を行ったユーザをゲストユーザとしてゲーム管理情報37に登録する。なお、ホストユーザ及びゲストユーザは、ゲーム動画を配信する配信ユーザである。
ゲストユーザの配信ユーザ装置21及び視聴ユーザ装置22はロビー画面を表示する。ロビーは、ゲームを開始する前に、ゲームに参加するホストユーザ及びゲストユーザが集合する仮想空間である。ロビーにおいて、ホストユーザ及びゲストユーザは、音声通話又はチャットによりコミュニケーションを図ることができる。ロビー画面は、参加するホストユーザ及びゲストユーザにそれぞれ対応する各アバターオブジェクトを含む。出力制御部52は、配信ユーザのモーションデータを用いて各アバターオブジェクトを描画する。なお、配信ユーザ装置21及び視聴ユーザ装置22は、ゲームが終了した後にもロビー画面を表示してもよい。
ホストユーザ装置21Hは、ロビー画面に表示された操作オブジェクト等に対するホストユーザの所定の操作を受け付けて、ゲーム開始要求をリアルタイムサーバ12に送信する。リアルタイムサーバ12は、ゲーム開始要求を受信すると、選択されたゲームを進行するプログラムを実行することによりゲームを開始する。なお、ゲームはホストユーザだけでもプレイ可能である。
(ゲーム具体例)
図8を参照して、ゲームの具体例について、配信ユーザによって実行されるゲーム内アクションを中心に説明する。ゲームパラメータに関する処理及びグループパラメータに関する処理については別の処理として説明する。なお、ここではユーザ装置20を、タッチパネルを備えるものとして説明する。
まず第1ステージについて説明する。リアルタイムサーバ12の第1進行部40及び第2進行部45は、配信ユーザがゲームフィールド55で釣りを行うゲームを進行する。第1進行部40は、複数のゲームフィールド55(釣り場)をホストユーザによって選択可能に表示する。第1進行部40は、ホストユーザが選択したゲームフィールド55を示すゲームフィールド情報を、ゲーム管理情報37に記録する。また、第1進行部40及び第2進行部45は、ゲームフィールド55の描画に必要な各種のデータを各配信ユーザ装置21に送信する。ゲームフィールド55には、移動可能領域56が含まれている。第1進行部40及び第2進行部45は、移動可能領域56内での移動オブジェクト57の移動を制御する。移動可能領域56は、海、河川、湖等の水域である。移動可能領域56では移動オブジェクト57はシルエットとして表示されてもよい。又は、移動オブジェクト57は、その種類が識別可能な表示態様で表示されてもよい。移動オブジェクト57は魚を表現したオブジェクト又はそれ以外のオブジェクトである。
配信ユーザ装置21の操作検出部51は、所定のゲーム場面であって且つアイテム58が移動可能領域56に位置していない状態で、当該配信ユーザ装置21を用いる配信ユーザの第1アクション実行操作を受け付ける。具体的には、第1アクション実行操作は、タップ操作、スワイプ操作、フリック操作等のタッチ操作である。所定のゲーム場面は、第1ゲーム内アクションであるキャストを実行可能な場面である。キャストは、配信ユーザに関連付けられたアイテム58を移動可能領域56に配置(投下)するゲーム内アクションである。アイテム58は、ゲーム内においてユーザが所有又は使用可能なオブジェクトであって、少なくとも第1アクション実行操作が行われるときに、ユーザに関連付けられているオブジェクトである。このゲームにおいてアイテム58は、ウキ、餌、ルアー、釣り竿等の少なくとも一つを含む。アイテム58は、配信ユーザが選択することも可能である。
送信部53は、第1アクション実行要求を含むゲーム進行データをリアルタイムサーバ12に送信する。第1進行部40は、第1アクション実行要求を配信ユーザ装置21から受信すると、キャストを実行する(ゲーム工程P1)。
第1進行部40は、移動オブジェクト57の移動を制御するとともに、移動オブジェクト57とアイテム58との相対距離が所定距離以下に達するか否かを判定する。第1進行部40は、移動オブジェクト57とアイテム58との相対距離が所定距離以下に達すると、対戦条件が成立した(満たされた)と判定する(ゲーム工程P2:引っ掛け)。対戦条件が成立すると、移動オブジェクト57が対戦可能状態(選択可能状態)となる。取得部50は、リアルタイムサーバ12から対戦条件が成立したことを示す情報を含むゲーム制御データを受信する。出力制御部52は、操作を促すアイコン59の表示、アイテム58の動き、或いはユーザ装置20の振動又は音の出力等によって、移動オブジェクト57が選択可能となったことを通知する。なお、第1進行部40は、配信ユーザ装置21において対戦条件が成立していない状態で所定の操作(例えばタップ操作)が行われたと判定した場合には、アイテム58を移動可能領域56から初期位置へ戻すことによってキャストのやり直しを可能とする。
操作検出部51は、対戦条件が満たされてから所定時間内に行われる操作である第2アクション実行操作(例えば、タップ操作)を受け付けると、送信部53は第2アクション実行要求を含むゲーム進行データをリアルタイムサーバ12に送信する。第1進行部40は、第2アクション実行要求を受信すると、移動オブジェクト57との対戦(第2ゲーム内アクション)を実行する(ゲーム工程P3)。配信ユーザ装置21は、リアルタイムサーバ12から受信したゲーム制御データに基づいて、アバターオブジェクト60が、アイテム58に関連付けられた(引っ掛けられた)移動オブジェクト57を釣り上げようとする第2ゲーム内アクションの動作を表示する。
第1進行部40は、配信ユーザに関連付けられたパラメータと、移動オブジェクト57に関連付けられたパラメータとに基づいて、第2ゲーム内アクションが成功したか否かを判定する。例えば、第1進行部40は、移動オブジェクト57に関連付けられた取得確率、及び配信ユーザが設定した設定値である設定メダル数に基づいて成功率(抽選確率)を決定する。この場合、取得確率又は設定メダル数が大きいほど、成功率は高くなる。そして第1進行部40は、成功率に基づいて成功及び失敗のいずれかを決定する抽選を行う。なお、ゲームバランスを考慮することによって、設定メダル数が大きいほど、成功率を低くしてもよい。
第1進行部40は、配信ユーザが成功したと判定すると、取得した移動オブジェクト57(取得オブジェクト)を釣果として、その配信ユーザに関連付けられたユーザ情報35に記録する(ゲーム工程P4)。釣果は、アイテムに応じて変更するようにしてもよい。また、第1進行部40は、釣果に関する情報を含むゲーム制御データを配信ユーザ装置21に送信する。なお、釣果は、配信ユーザに関連付けられるものであるため、報酬(ゲーム報酬)としても機能する。
第1進行部40は、配信ユーザが失敗したと判定すると、釣果を関連付けずに、その対戦を終了する。また、第1進行部40は、失敗したことを示す情報を含むゲーム制御データを配信ユーザ装置21に送信する。そして、第1進行部40は、配信ユーザ装置21から第1アクション実行要求を受信すると、新たにキャストを実行する。
このようにゲーム工程P1~P4が繰り返される間、出力制御部52は、ゲーム制御データに基づいて移動オブジェクト57を動作させる。また、配信ユーザ装置21は、他の配信ユーザに関するゲーム制御データをリアルタイムサーバ12から受信する。そして、出力制御部52は、他の配信ユーザに関するゲーム制御データに基づき、他の配信ユーザ70に対応するアバターオブジェクト60を描画する。その結果、各配信ユーザ70に対応するアバターオブジェクト60は、キャストの動作、対戦を行う動作(引っ掛かった移動オブジェクト57を釣り上げようとする動作)、移動オブジェクト57を取得する動作を行う。なお、ゲーム制御データには、他の配信ユーザが選択したエモートを示すデータも含まれる。この場合、出力制御部52は、エモートに対応するモーションデータを用いてアバターオブジェクト60に選択されたエモートの動作を行わせる。視聴ユーザ装置22は、各配信ユーザ装置21から送信されたゲーム進行データに基づいて、配信ユーザ装置21と同様にアバターオブジェクト60を描画する。
また、第1進行部40は、第1ステージの途中でシーンを変更する。具体的にはゲーム画面の表示態様(背景の色等)を変更する。このとき、第1進行部40は、移動可能領域56を移動する移動オブジェクト57の種類を変更するようにしてもよい。
第2進行部45は、ゲーム進行データを配信ユーザ装置21から受信するとともに、ゲーム制御データを配信ユーザ装置21に送信する。第2進行部45は、移動可能領域に、通常の移動オブジェクト57と、特殊な移動オブジェクト57(以下、特殊オブジェクトという)とを配置する。なお、第1ステージでは特殊オブジェクトは配置されない。
(第1ステージ)
図9を参照して、第1ステージにおけるリアルタイムサーバ12の動作について、ゲームパラメータに関する処理及びグループパラメータに関する処理を中心に説明する。
第1進行部40が配信ユーザによる第1アクション実行操作(キャストの操作)を受け付けると、設定値特定部41は、その配信ユーザが設定した設定値を特定する(ステップS1)。設定値特定部41は、特定した設定値をAPIサーバ14に送信する。APIサーバ14は、設定値を設定値合計に加算する。
設定値であるゲームパラメータは、本実施形態ではメダル数である。設定値特定部41は、設定メダル数に応じて、ゲームスピードを設定する。ゲームスピードは、第1ゲーム内アクションが実行されてから対戦条件が成立するまで(又は移動オブジェクト57が対戦可能状態になるまで)の時間を短くする。
さらに設定値特定部41は、第1進行部40により第1ゲーム内アクションが実行された場合、所持値から設定値を減算する(ステップS2)。具体的には、設定値特定部41は、ユーザ情報35に記録された所持値である所持メダル数をAPIサーバ14から受信する。そして所持メダル数から設定メダル数を減算する。なお、対戦条件が成立せず、第1ゲーム内アクションをやり直す場合は設定メダル数を所持値に加算して元に戻す。
倍率設定部42は、特定した設定値を用いて倍率設定処理を行う(ステップS3)。倍率設定処理では、第2ステージで用いられるブースト倍率が設定される。倍率設定部42は、設定したブースト倍率を、APIサーバ14を介してユーザ情報35に記録する。なお、倍率設定処理は、所持値から設定値を減算する更新処理の後であって次の更新処理までに行われれば良い。
第1報酬付与部43は、第1報酬条件が満たされたか否かを判定する(ステップS4)。本実施形態では、第1報酬条件は、選択可能になった移動オブジェクト57に対するユーザの第2ゲーム内アクションが成功したことである。第1報酬条件は、ゲームの内容によって異なる。
第1報酬付与部43は、第1報酬条件が満たされていないと判定すると(ステップS4:NO)、ステップS6に進む。
第1報酬付与部43は、第1報酬条件が満たされたと判定すると(ステップS4:YES)、個人報酬を付与する(ステップS5)。具体的には、第1報酬付与部43は、設定メダル数と、ゲーム環境情報36に記録された移動オブジェクト57のオッズ(倍率)とを用いて個人報酬を決定する。オッズ(例えば「2倍」)が大きいほど、個人報酬であるメダル数は多くなる。また、設定メダル数が多いほど、個人報酬であるメダル数は多くなる。例えば、第1報酬付与部43は、設定メダル数とオッズとを乗算した値を用いて個人報酬を決定する。上述したように、オッズは、移動オブジェクト57に応じて、1倍以上の倍率と1倍未満の倍率とが設定されている。つまり、取得に成功した移動オブジェクト57に応じて、設定値以上の個人報酬が得られる場合と、設定値よりも小さい個人報酬が得られる場合とがある。オッズは、移動オブジェクト57の種類毎、又は属性(レアリティ等)毎に設定されていてもよい。又は、オッズは、一つの移動オブジェクト57毎に設定されていてもよい。つまり、同じ種類の複数の移動オブジェクト57に対し、それぞれ異なるオッズが設定されていてもよい。
第1報酬付与部43は、個人報酬であるメダル数を、個人報酬に関連付けられた配信ユーザ70のユーザIDとともにAPIサーバ14に送信する。APIサーバ14は、ユーザIDに基づいて、ユーザ情報35の所持値にメダル数を加算する。
なお、本実施形態において、個人報酬を決定する際に用いられる設定値は、第1ゲーム内アクション(キャスト)を実行したときの設定値である。しかし、個人報酬を決定する際に用いられる設定値を特定するタイミングは、配信ユーザが設定値を変更可能な期間に応じたものであればよい。例えば、対戦条件が満たされたときに特定した設定値を個人報酬の決定に用いてもよい。
第1進行部40は、グループパラメータを更新する(ステップS6)。グループパラメータは、第1ゲーム内アクションが実行される場合に更新される。又は、グループパラメータは、第2ゲーム内アクションが実行される場合に更新されてもよい。判定部44は、設定値に応じてグループパラメータの増加量を決定する。例えば、判定部44は、設定メダル数に予め関連付けられたグループパラメータの増加倍率に基づいて、グループパラメータの増加量を決定する。設定メダル数が多いほど、グループパラメータの増加量は大きくなる。第1進行部40は、グループパラメータの増加量をAPIサーバ14に送信する。APIサーバ14は、受信した増加量をゲーム管理情報37のグループパラメータの合計値に加算することによってグループパラメータを更新する。判定部44は、APIサーバ14からグループパラメータを適宜取得するとともに、その値が所定値に達したか否かを判定する。
判定部44は、グループのミッションが達成されたか否かに基づいて第1ステージが終了したか否かを判定する(ステップS7)。
判定部44は、グループのミッションが達成されていないと判定すると、第1ステージが終了していないとして(ステップS7:NO)、ステップS1に戻り、ゲームの進行に沿って、ステップS1~ステップS7が各機能によって実行される。
判定部44が、グループのミッションが達成されたと判定すると(ステップS7:YES)、第1ステージを終了する。第1進行部40は第2ステージに移行する要求を含むデータ制御データを配信ユーザ装置21に送信する。配信ユーザ装置21は、このデータ制御データを受信すると第2ステージの画面を表示する。なお、第1ステージが開始されてからの経過時間が制限時間に達した場合、第2ステージに移行せずにゲーム自体を終了してもよい。
(倍率設定処理)
図10を参照して、倍率設定処理について説明する。倍率設定部42は、設定値として設定値合計を特定する(ステップS10)。具体的には、倍率設定部42は、ユーザ情報35の設定値合計(例えば「1000」)をAPIサーバ14から取得する。また、倍率設定部42は、ステップS1で特定した設定メダル数(例えば「100」)を設定値合計に加算する(例えば「1100」)。
また、倍率設定部42は、ブースト倍率を更新するか否かを判定する(ステップS11)。設定値合計には複数の閾値(例えば、「1100」、「1200」)が段階的に設定されている。倍率設定部42は、設定値合計が新たな閾値に到達する度に、ブースト倍率を更新すると判定する。
倍率設定部42は、設定値合計が閾値に達したと判定すると(ステップS11:YES)、ブースト倍率を更新する(ステップS12)。このとき、倍率設定部42は、ブースト倍率の抽選を行う。つまり、複数のブースト倍率から一つのブースト倍率を選択する。このとき、倍率設定部42は、ユーザ情報35に記録されているブースト倍率よりも高い倍率を選択する。これにより、設定値合計が閾値に達する度に、ブースト倍率は大きくなる。倍率設定部42は抽選して得られたブースト倍率を、APIサーバ14を介してユーザ情報35に記録する。また、倍率設定部42は、ブースト倍率が更新された場合、ゲーム制御データにブースト倍率を含めて配信ユーザ装置21に送信する。
一方、倍率設定部42は、設定値合計が閾値に達していないと判定すると(ステップS11:NO)、処理を終了する。
(第2ステージ)
図11を参照して、第2ステージにおけるリアルタイムサーバ12の動作について、ゲームパラメータに関する処理及びグループパラメータに関する処理を中心に説明する。
設定値特定部41は、設定値を設定する。第2ステージにおいて、設定値特定部41は、設定値である設定メダル数を最大値に設定する。
第2報酬付与部46は、第2ステージにおいて第2ゲーム内アクションが成功したか否かを判定する(ステップS16)。第2報酬付与部46が、第2ゲーム内アクションが失敗したと判定すると(ステップS16:NO)、ステップS20に進む。
第2報酬付与部46は、第2ゲーム内アクションが成功したと判定すると(ステップS16:YES)、グループに属するいずれかの配信ユーザのプレイ状況により第2報酬条件が満たされたか否かを判定する(ステップS17)。第2報酬条件は、上記ゲームの具体例においては第2ゲーム内アクションの対象である移動オブジェクトが特殊オブジェクトであって且つ第2ゲーム内アクションが成功したことである。第2報酬条件はゲームによって異なる。
第2報酬付与部46は、第2報酬条件が満たされていないと判定すると(ステップS17:NO)、通常の移動オブジェクト57に対する第2ゲーム内アクションが成功したとして、個人報酬を付与する(ステップS21)。第2報酬付与部46は、第1ステージと同様に個人報酬を決定する。
第2報酬付与部46は、いずれかの配信ユーザのプレイ状況により第2報酬条件が満たされたと判定すると(ステップS17:YES)、配信ユーザ毎にグループ報酬を付与する(ステップS18)。第2報酬付与部46は、ユーザ情報35に記録された各配信ユーザのブースト倍率を、APIサーバ14を介して取得する。また、第2報酬付与部46は、ゲーム環境情報36に記録されたオッズのうち、配信ユーザが取得した移動オブジェクト57のオッズを、APIサーバ14を介して取得する。
そして、移動オブジェクト57に関連付けられたオッズと、各配信ユーザのブースト倍率とを用いて、配信ユーザ毎に、グループ報酬としてのゲームパラメータの値(メダル数)を決定する。特殊オブジェクトは通常オブジェクトに比べて高いオッズが設定されている。また、オッズが高くなるほど、各配信ユーザに付与されるゲームパラメータの値は大きくなる。また、配信ユーザのブースト倍率が高くなるほど、その配信ユーザに付与されるゲームパラメータの値は大きくなる。例えば、第2報酬付与部46は、設定メダル数を用いた定数、オッズ、ブースト倍率を乗算してグループ報酬を算出する。
第2報酬付与部46は、グループ報酬及びそのグループ報酬が関連付けられた配信ユーザ70のユーザIDを、APIサーバ14に送信する。APIサーバ14は、ユーザIDに基づいて、グループ報酬としてのゲームパラメータの値を各配信ユーザのユーザ情報35に含まれる所持値にそれぞれ加算する。
第2報酬付与部46は、配信ユーザ毎に決定したグループ報酬に関する情報に加え、特殊演出の実行要求をゲーム制御データに含めて配信ユーザ装置21に送信する(ステップS19)。このとき、ゲーム制御データに、グループ報酬としてのゲームパラメータの値を、そのグループ報酬が付与された配信ユーザ装置21に送信する。また、第2報酬付与部46は、ホストユーザと同じゲーム制御データを視聴ユーザ装置22に送信する。
配信ユーザ装置21及び視聴ユーザ装置22の出力制御部52は、ゲーム制御データに基づき、特殊演出の画面を出力する。特殊演出は、第2報酬条件を満たしたことを契機に出力される演出である。
第2報酬付与部46が、第2ゲーム内アクションが失敗したと判定した場合(ステップS16:NO)、又は通常の移動オブジェクト57に対する第2ゲーム内アクションが成功し(ステップS17:NO)、且つ個人報酬を付与したとき(ステップS21)、及び特殊演出の実行要求を送信した場合(ステップS19)、第2進行部45は第2ステージが終了したか否かを判断する(ステップS20)。第2ステージの終了条件は、グループパラメータが下限値に達したことである。
第2進行部45は、第2ステージを終了したと判断すると(ステップS20:YES)、ゲームを終了する。第2進行部45は、第2ステージを終了していないと判断すると(ステップS20:NO)、ステップS16に戻る。
図12を参照して、個人報酬を配信ユーザに付与する場合の具体例について説明する。図12の例では、ゲームには、2人の配信ユーザ70(ホストユーザ70H,ゲストユーザ70G)が参加しているものとする。また、リアルタイムサーバ12は、APIサーバ14との間で、設定値、所持値、設定値合計、ブースト倍率、残り時間、グループパラメータ等のデータを送受信しているものとする。
リアルタイムサーバ12の第1進行部40は、ホストユーザ70Hの配信ユーザ装置21から、ホストユーザ70Hが賭ける設定メダル数71(例えば「100」)を含むゲーム進行データを受信する。また、第1進行部40は、ゲストユーザ70Gが賭ける設定メダル数(例えば「200」)を含むゲーム進行データを受信する。
第1進行部40は、ホストユーザ70Hのメダル所持数(例えば「1000」)から設定メダル数を減算する(メダルの消費)ことによってホストユーザ70Hのメダル所持数を更新する(例えば「900」)。また、第1進行部40は、ゲストユーザ70Gのメダル所持数(例えば「1000」)から設定メダル数を減算することによってゲストユーザ70Gのメダル所持数を更新する(例えば「800」)。
第1報酬付与部43は、ホストユーザ70Hの移動オブジェクト57に対する対戦が成功したと判定すると、ホストユーザ70Hが賭けた設定メダル数71に応じた個人報酬72を付与する。第1報酬付与部43は、ホストユーザ70Hに関連付けられた所持メダル数に、個人報酬72として新たにメダル数(例えば「200」)を加算することによって所持値を更新する(例えば「1100」)。また、ホストユーザ70Hに移動オブジェクト57が関連付けられる。
ここで、ホストユーザ70Hに関連付けられた移動オブジェクト57と同じ移動オブジェクト57に対し、ゲストユーザ70Gの対戦が成功したとする。ゲストユーザ70Gの設定メダル数71(例えば「200」)が、ホストユーザ70Hの設定メダル数71よりも多い場合、ゲストユーザ70Gに付与される個人報酬72(例えば「400」)はホストユーザ70Hに付与される個人報酬72よりも大きくなる。第1報酬付与部43は、ゲストユーザ70Gに関連付けられた所持メダル数に、個人報酬72を加算することによって所持値を更新する(例えば「1200」)。なお、移動オブジェクト57との対戦に失敗した場合には、設定メダル数71が所持値から減算される一方で、個人報酬72が付与されない。
また、判定部44は、各配信ユーザ装置21からキャストの実行要求を受信すると、第2ゲーム内アクションが成功したか否かに関わらず、グループパラメータの合計値を増加させる。配信ユーザ装置21は、グループパラメータの合計値をグループゲージ73で表す。グループパラメータの単位は、独自の単位(例えば「1」,「2」)、又はメダル数でもよい。
このように第1ステージでは、配信ユーザ70は、基本的には個人で移動オブジェクト57との対戦を楽しむ。また、第1報酬付与部43は、対戦の結果に基づいて個人報酬72を付与する。一方、第1進行部40は、配信ユーザ70のキャストの実行に基づいてグループパラメータを増加させる。グループパラメータは対戦の結果に関わらず増加するため、ゲームのプレイ経験や配信ユーザのテクニック等に因らず、各配信ユーザの努力によって第2ステージに移行することができる。このため、ゲームに対するユーザの意欲を高めることができる。また、ゲームを初めてプレイするユーザも、既にゲームをプレイしているユーザとのプレイ経験の差を気にせずに、ゲームをプレイすることができる。さらに、ゲームに参加するユーザが多いほど、グループパラメータが早く増加する。このため、ホストユーザによる他のユーザへの参加要請を促すことができる。
図13を参照して、グループ報酬を配信ユーザに付与する場合の具体例について説明する。
第1ステージにおいて、リアルタイムサーバ12の倍率設定部42は、設定メダル数71に応じて各配信ユーザ70のブースト倍率74H,74Gを設定する。具体的には、倍率設定部42は、配信ユーザ70によるアクション実行操作を受け付けるたびに消費される設定メダル数71(例えば「100」、「200」、「300」)を配信ユーザ70毎に合計する(例えば「600」)。そして、倍率設定部42は、設定メダル数71の合計値が閾値(例えば「500」)に到達すると、ブースト倍率(例えば「×2」、「×3」…)から一つのブースト倍率74H,74Gを抽選する。このようにブースト倍率を抽選することによって、ランダム性が増し、ゲームの興趣性を高めることができる。
第2進行部45は、第1ステージでグループパラメータが最大値に達した場合、第2ステージでゲームを進行させる。なお、第2進行部45は、キャストが実行されても配信ユーザ70のメダル所持数から配信ユーザが設定したメダル数を減算しない。
図13において、例えばホストユーザ70Hのプレイ状況が第2報酬条件を満たしたとする。この場合、第2報酬付与部46は、ホストユーザ70Hに対して設定されているブースト倍率74H(例えば「×2」)を用いて、ホストユーザ70Hのグループ報酬75であるメダル数(例えば「5000」)を決定する。また、第2報酬付与部46は、ゲストユーザ70Gのブースト倍率74G(例えば「×4」)を用いて、ゲストユーザ70Gのグループ報酬75であるメダル数(例えば「10000」)を決定する。つまり、ホストユーザ70Hが第2報酬条件を満たす一方でゲストユーザ70Gが第2報酬条件を満たしていない場合であっても、ゲームに参加する全ての配信ユーザ70にグループ報酬75が付与される。また、各自に付与されるグループ報酬75は、各配信ユーザ70に関連付けられたブースト倍率74H,74Gに応じて決まるため、ゲストユーザ70Gに付与されるグループ報酬75が、第2報酬条件を満たしたホストユーザ70Hに付与されるグループ報酬75よりも高い場合もある。
このように、第2ステージでは、配信ユーザ自身だけでなく、グループに参加する他の配信ユーザ70が第2報酬条件を満たすことによりグループ報酬が付与される。よって、第2ステージでは、配信ユーザ70が賭けた設定メダル数71に応じた報酬を得る面白さに加え、配信ユーザ同士の連帯感を高めることができる。したがって、ゲームが単調であるとの印象を配信ユーザ70に与えることを抑制することができる。さらに、第2ステージでは第1ステージに比べメダル数が増加しやすい。このためメダル数が勢いよく増加していくことによる面白さを配信ユーザに体験させることが可能である。
また、第1ステージで設定メダル数71を多くすることで、第2ステージで用いられるブースト倍率が高くなりやすい。このため、第1ステージに対する各配信ユーザ70のモチベーションを高めることができる。また、このようにメダル数を賭けるゲームはランダム性を有するため、ランダム性を好まないユーザはそのゲームに参加しない傾向がある。しかし、このように複数のユーザでプレイするゲームとすることで、ユーザが楽しむことができる要素が増える。このため、ゲームのランダム性の印象を和らげることができる。
<特殊演出>
次に特殊演出(ステップS19)について詳述する。ここでは、第1ステージ及び第2ステージのゲームが実行される期間のうち、特殊演出が行われる期間を除く期間を、ゲーム進行期間という。特殊演出が行われる期間は、撮影が可能な期間(以下、撮影期間という)である。撮影期間は、取得条件である第2報酬条件が満たされることで開始される。
配信ユーザ装置21の出力制御部52は、リアルタイムサーバ12から特殊演出の実行要求を受信すると、アバターオブジェクト60の撮影を行う撮影期間を開始する。撮影期間においてゲームの進行は停止されている。例えば、リアルタイムサーバ12は、グループパラメータの減少を停止する。出力制御部52は、撮影期間においてゲーム画面の表示を停止する。また、出力制御部52は、動作検出部54が検出したトラッキングデータを用いて配信ユーザ70の表情等の動作を反映したアバターオブジェクト60を特殊演出画面に表示する。配信ユーザ70の表情等の動作を反映したアバターオブジェクト60は、第2表示態様のアバターオブジェクト60である。また、出力制御部52は、取得部50が取得した他の配信ユーザ70のトラッキングデータを用いて他の配信ユーザ70の表情等の動作を反映したアバターオブジェクト60を特殊演出画面に表示する。なお、出力制御部52は、自装置を用いる配信ユーザ70又は他の配信ユーザ70がエモート機能を選択した場合には、選択されたエモートに対応するモーションデータを用いてアバターオブジェクト60を表示する。
さらに出力制御部52は、撮影期間中に、配信ユーザ70の操作(撮影操作)に基づいてアバターオブジェクトを含む画像をストレージ26に記録する。撮影期間の終了条件は、操作検出部51が配信ユーザ70による特殊演出画面を閉じる操作を受け付けたこと、又は撮影期間を開始してから所定時間が経過したことである。
撮影期間が終了すると、出力制御部52は、撮影期間を終了してトラッキングデータを用いたアバターオブジェクト60の表示を終了するとともに、ゲーム進行期間を開始してゲーム画面を表示する。
撮影期間において、第2進行部45は、ゲームの進行を停止する一方で、第2ステージに係るゲーム処理の少なくとも一部を実行してもよい。例えば、撮影期間を開始する直前において、他の配信ユーザ70が対戦中であった場合には、成功率の算出、成功及び失敗の判定を実行してもよい。
また、出力制御部52は、ゲーム進行期間が再開されると、撮影期間を開始する直前のゲーム進行データに基づいて、ゲーム画面を表示してもよい。ゲーム進行データは、他の配信ユーザ70のプレイ状況を含む。例えば、撮影期間の直前において第2報酬条件を満たした配信ユーザ70以外の配信ユーザ70が第1ゲーム内アクション(キャスト)を行っていた場合、出力制御部52は、その配信ユーザ70が第1ゲーム内アクションを行った状態のゲーム画面を表示する。
又は、出力制御部52は、ゲーム進行期間が再開された場合、各配信ユーザ70のプレイ状況を、第1ゲーム内アクション(キャスト)が行われる前の初期状態としてもよい。
又は、第2進行部45は、一方の配信ユーザ70が第2報酬条件を満たしたときの撮影期間の直前に、他方の配信ユーザ70が第2報酬条件を満たすと判定した場合、特殊演出を連続して行ってもよい。
<図鑑>
図14を参照して、第1進行部40及び第2進行部45によって実行される図鑑への登録処理について説明する。図鑑への登録処理は、配信ユーザ70がオブジェクトの取得条件を満たしたことを契機に、その配信ユーザ70に関連付けられた図鑑に対して行われる。取得条件は、配信ユーザ70が、第2ゲーム内アクションが成功したことである。ここでは、第1ステージにおいて取得条件が満たされた場合に、第1進行部40が図鑑への登録を行うことについて説明する。なお、第2進行部45も同様に図鑑の登録処理を行う。
ゲームフィールド55は、ユーザに開放される順序が予め定められている。また、移動オブジェクト57はゲームフィールド55に関連付けられている。第1進行部40は、配信ユーザ70が、第2ゲーム内アクションが成功した場合、移動オブジェクト57を図鑑に登録する(ステップS26)。具体的には、第1進行部40は、APIサーバ14に移動オブジェクト57のオブジェクトID、移動オブジェクト57を取得した配信ユーザ70のユーザID及び登録要求を送信する。APIサーバ14は、ユーザIDに対応するユーザ情報35のうち、移動オブジェクト57に関連付けられたゲームフィールド55の図鑑に移動オブジェクト57のオブジェクトIDを登録する。
第1進行部40は、第2ゲーム内アクションが成功した配信ユーザに関連付けられた各ゲームフィールド55のうち、ステップS27で特定した図鑑の完成率を取得する(ステップS27)。具体的には、完成率は、図鑑に登録可能な登録可能数に対する、図鑑に登録された移動オブジェクト57の数の割合を表す。第1進行部40は、APIサーバ14が算出した完成率を取得してもよい。又は、第1進行部40は、登録可能数及び図鑑に登録された移動オブジェクト57の数をAPIサーバ14から取得するとともに完成率を算出してもよい。
第1進行部40は、完成率が所定率以上であるか否かを判定する(ステップS28)。完成率(例えば60%)が所定率(例えば80%)未満であると判定すると(ステップS28:NO)、配信ユーザ70が次の第2ゲーム内アクションを成功するまで処理を待機する。
一方、第1進行部40は、完成率(例えば85%)が所定率(例えば80%)以上であると判定すると(ステップS28:YES)、その配信ユーザ70に対し、予め定められた開放の順序に従って新たなゲームフィールド55を開放する(ステップS29)。例えば、未開放のゲームフィールド55の順序のうち、最も低い順序(割り振られた番号が小さい)のゲームフィールド55を開放する。第1進行部40は、開放したゲームフィールド55をユーザ情報35に記録する。これにより、配信ユーザ70は、ホストユーザ70Hになった場合に、開放されたゲームフィールド55でゲームを開始することができる。
ユーザは、基本的には自身に対して開放されたゲームフィールド55でゲームをプレイすることができる。しかし、上述したようにユーザがゲストユーザ70Gとしてゲームに参加した場合は、ゲストユーザ70Gには開放されていないゲームフィールド55であっても、ホストユーザ70Hに開放されたゲームフィールド55であれば、ゲームをプレイすることができる。また、ゲストユーザ70Gは、そのゲストユーザ70Gには開放されていないゲームフィールド55であっても、移動オブジェクト57をそのゲームフィールド55に関連付けられた図鑑に登録することができる。
ゲストユーザ70Gには開放されていないゲームフィールド55であっても、図鑑の完成率が所定率以上となった場合には、ゲストユーザ70Gがそのゲームフィールド55でゲームをプレイ可能な状態としてもよい。
<表示画面>
図15~図18を参照して、釣りを行うゲームが実行される場合において、ユーザ装置20のディスプレイ32に表示される各種画面の例について説明する。
図15は、配信ユーザ装置21が表示するゲーム画面80の一例を示す。図15の例は、第1ステージにおけるゲーム画面80を示す。出力制御部52は、APIサーバ14からゲーム環境情報36を受信する。また、出力制御部52は、リアルタイムサーバ12からゲーム制御データを受信する。さらに、出力制御部52は、マルチゲームサーバ13からアバターオブジェクト60を描画するための表示制御データを受信する。そして、出力制御部52は、これらの情報を用いてゲーム画面80を表示する。
ゲーム画面80は、ゲームフィールド55の背景を含む。また、ゲーム画面80は、アバターオブジェクト60、釣り竿81、アイテム58、移動可能領域56、移動オブジェクト57の画像を含む。図15の例では、二人の配信ユーザ70がゲームに参加しているものとする。
出力制御部52は、配信ユーザ70の操作に基づいて、予め定められたゲーム内アクションのモーションデータを用いてアバターオブジェクト60を描画する。ゲーム内アクションは、キャストの動作、移動オブジェクト57と対戦する動作、移動オブジェクト57を釣り上げる動作等である。ゲーム進行期間では、ユーザ装置20の処理負荷を軽減するため、出力制御部52は、配信ユーザ70の表情を検出したモーションデータを用いずにアバターオブジェクト60を描画する。
操作検出部51は、配信ユーザ70によるエモート機能の選択を受け付ける。なお、また、操作検出部51は、キャストを行った後は、対戦が終了するまで又は対戦を行わずにアイテムを回収するまで、配信ユーザのエモートの選択を受け付けない。出力制御部52は、選択されたエモートの種類に対応するモーションデータを用いてアバターオブジェクト60を描画する。また、出力制御部52は、他の配信ユーザ70が選択したエモートを指定する情報をマルチゲームサーバ13から受信する。そして他の配信ユーザ70が指定するモーションデータを用いてアバターオブジェクト60を描画する。
ゲーム画面80は、個人ゲージ82及びグループゲージ83を含む。個人ゲージ82は、設定メダル数を表す。図15の例では、操作検出部51が個人ゲージ82のプラスボタン及びマイナスボタンの操作を受け付けると、出力制御部52が個人ゲージ82のゲージ値を増大させる。また、送信部53は、設定メダル数をリアルタイムサーバ12に送信する。個人ゲージ82には、設定メダルを示すメダル数表示部84が隣接している。
出力制御部52は、APIサーバ14から受信したグループパラメータを用いてグループゲージ83を表示する。グループゲージ83は、グループパラメータの値を表す。第2ステージでは、個人ゲージ82は自動的に最大値となる。また、第2ステージが開始される場合にはグループゲージ83は最大値であるが、時間の経過に伴い低下する。
また、ゲーム画面80は、スピード表示部85、倍率表示部86、及び所持メダル表示部87を含む。出力制御部52は、APIサーバ14から受信したスピード値(図示略)、ブースト倍率、所持値に基づいてこれらを表示する。スピード表示部85は、グループパラメータが増加する速度を示している。倍率表示部86は、配信ユーザ70のブースト倍率を示す。所持メダル表示部87は、配信ユーザ70のユーザ情報35に記録された所持値であるメダル数を示す。なお、配信ユーザ装置21は、自装置を用いる配信ユーザ70に対応する個人ゲージ82、スピード表示部85、倍率表示部86、及び所持メダル表示部87を表示する。
さらに、ゲーム画面80は、図鑑表示ボタン88A、エモート選択ボタン88B、カメラボタン88Cを含む。送信部53は、図鑑表示ボタン88Aが配信ユーザ70によって選択されると、APIサーバ14にユーザID及び図鑑送信要求を送信する。取得部50は、APIサーバ14から図鑑に関する情報を受信するとともに、その配信ユーザ70に関連付けられた図鑑を表示する。出力制御部52は、エモート選択ボタン88Bが選択されると複数のエモートを選択可能に表示する。出力制御部52は、配信ユーザによって選択されたエモートを用いて、配信ユーザに対応するアバターオブジェクト60を描画する。また、送信部53は、選択されたエモートを指定する情報をマルチゲームサーバ13に送信する。出力制御部52は、カメラボタン88Cが選択されるとゲーム画面を撮影する。
視聴ユーザ装置22は、個人ゲージ82、倍率表示部86及び所持メダル表示部87を除き、配信ユーザ装置21と同様なゲーム画面(図示略)を表示する。視聴ユーザ装置22が表示するゲーム画面は、グループゲージ83及びスピード表示部85を含む。
また、視聴ユーザ装置22が表示するゲーム画面は、評価ボタン、ギフトボタン、カメラボタン及びコラボレーションボタン(いずれも図示略)を含む。評価ボタンは、視聴ユーザが配信に対する好評価(例えば「いいね!」等)を表現するボタンである。ギフトボタンは、配信ユーザ70にギフトを贈るためのボタンである。視聴ユーザによってギフトボタンが選択されると、視聴ユーザ装置22は、ギフト表示要求をマルチゲームサーバ13に送信する。マルチゲームサーバ13は、ゲームが終了した後、ギフト表示要求に対応するギフトオブジェクトを画面に表示する。カメラボタンは、画面をキャプチャするためのボタンである。コラボレーションボタンは、ゲームに参加するためのボタンである。
図15に例示するゲーム画面80は、メダル数表示部84と、グループゲージ83と、スピード表示部85とが、スマートフォンのような小さい画面でも見やすいように効率的な表示になっている。また、個人ゲージ82は、ユーザが片手で操作しやすい位置になっている。さらに、個人ゲージ82及びグループゲージ83は細長い形状を有している。個人ゲージ82の長手方向は第1の方向(横方向)であり、グループゲージ83の長手方向は第2の方向(縦方向)である。このため、ユーザは、ゲーム画面80内に複数のゲージがある場合であっても、それらを一目で見分けることができる。
図16は、配信ユーザ70に個人報酬が付与されたことを通知する報酬画面90の一例である。報酬画面90は、第1ステージの個人報酬の付与処理(ステップS5)、第2ステージの個人報酬の付与処理(ステップS21)で表示される。
報酬画面90は釣果表示部91を含む。釣果表示部91は、第2ゲーム内アクションが成功した移動オブジェクト57を釣果として表示する。報酬画面90には、移動オブジェクト57の属性(名称、大きさ、重さ)も表示されている。また、報酬画面90は、個人報酬であるメダル数92を含む。この画面は、配信ユーザ装置21を用いる配信ユーザ70自身に個人報酬が付与されたことを示す画面である。他の配信ユーザ70に個人報酬が付与された場合は、他の表示態様の報酬画面が表示される。例えば、この報酬画面では、釣果を取得した配信ユーザ70とその釣果とが関連付けて表示される。他の配信ユーザ70に付与された個人報酬の画像は、自装置を用いる配信ユーザ70が取得した個人報酬の画像に比べて、画像のサイズが小さくてもよい。或いは、他の配信ユーザ70に付与された個人報酬の画像に含まれる情報量が、自装置を用いる配信ユーザ70が取得した個人報酬の画像に含まれる情報量に比べて少なくてもよい。また、他の配信ユーザ70に付与された釣果に関する画像は、自装置を用いる配信ユーザ70が取得した釣果の画像に比べて、画像のサイズが小さくてもよく、情報量が少なくてもよい。複数の配信ユーザ70が個人報酬を取得する場合、個人報酬の画像が高い頻度で表示されるが、例えば、他の配信ユーザ70に付与された個人報酬の画像を小さくすることによって、自装置の配信ユーザ70のアクションや、各配信ユーザ70の動作が、その個人報酬の画像によって隠されたりすることを抑制することができる。また、画面が見難くなり、ゲームの進行が阻害されることを抑制することができる。
図17は、配信ユーザ装置21が表示する特殊演出画面95の一例を示す。特殊演出画面95は、特殊演出を行う処理(ステップS19)で表示される。
特殊演出画面95は、ゲームに参加したアバターオブジェクト60を含む。出力制御部52は、各アバターオブジェクト60を、ユーザから見て少なくとも表情が判別可能な大きさに表示する。また、出力制御部52は、配信ユーザ70の動作を示すモーションデータが反映されたアバターオブジェクト60を表示する。配信ユーザ70の動作は、配信ユーザ70の表情に加え、頭部(首)、腕、手、及び胴体の動作のうち少なくとも一つを含む。また、出力制御部52は、配信ユーザ70がエモート機能を選択した場合には、アバターオブジェクト60は、選択されたエモートに対応するモーションデータを用いてアバターオブジェクト60を表示する。なお、特殊演出画面95は、取得した特殊オブジェクト106(移動オブジェクト57)の画像を含んでいてもよい。また、取得した特殊オブジェクト106と、当該特殊オブジェクト106を取得したアバターオブジェクト60の所定の部位(例えば手)とを関連付けて表示するようにしてもよい。特殊オブジェクト106と所定の部位とが関連付けられることにより、所定の部位に特殊オブジェクト106が接触するように表示される。これにより、特殊オブジェクト106を持ったアバターオブジェクト60が表示される。
特殊演出画面95は、エモート選択ボタン88B、カメラボタン88C及び終了ボタン96を含む。エモート選択ボタン88Bが選択されると、ユーザ装置20の出力制御部52は、各エモートを示す複数のアイコンが表示されたエモート選択部(図示略)を表示する。配信ユーザ70は、エモート選択部に表示された各アイコンのうち一つを選択する。配信ユーザ装置21は、選択されたアイコンに対応するモーションデータを指定する情報をマルチゲームサーバ13に送信する。マルチゲームサーバ13は、他のユーザ装置20にモーションデータを示す情報を含む表示制御データを送信する。なお、マルチゲームサーバ13は、モーションデータ自体を送信するようにしてもよい。
配信ユーザ70によってカメラボタン88Cが選択されると、出力制御部52は、画面をキャプチャ(撮影)する。このとき、配信ユーザ装置21の出力制御部52は、各アイコンを消去して、画面をキャプチャするようにしてもよい。そして出力制御部52は、キャプチャした撮影画像をストレージ26に記録する。また、視聴ユーザによってカメラボタン(図示略)が選択されると、視聴ユーザ装置22は、画面をキャプチャ(撮影)するとともに、撮影画像をストレージ26に記録する。
ゲーム実行中にアバターオブジェクト60に配信ユーザ70の表情を反映すると、ユーザ装置20の処理負荷が大きくなる。配信方式がサーバレンダリング方式の場合は、マルチゲームサーバ13の処理負荷が大きくなる。また、ゲームの進行に対してアバターオブジェクト60に対する表情の反映が遅延する等、それらを同期させることが難しくなる。
よって、上述したように、ユーザからみてゲームを中断した状態で、アバターオブジェクト60の撮影時間を設けることによって、ユーザ装置20の処理負荷を軽減しつつ、同じゲーム空間を共有することの連帯感を配信ユーザ70に与えることができる。配信ユーザ70は、特殊演出画面95において多様なパフォーマンスを行うことができる。さらに、特殊演出画面95が表示されることで、視聴ユーザが動画を視聴することに飽きないようにすることができる。また、複数の配信ユーザがゲームに参加する場合、配信ユーザは、自分のゲームプレイに集中していることから、他の配信ユーザのプレイ状況を確認しにくい。上記のゲームでは、他の配信ユーザが第2ゲーム内アクションを成功させた場合に特殊演出を設けることで、他の配信ユーザが特殊オブジェクトを取得したことを称える時間を確保することができる。このため、配信ユーザ同士のコミュニケーションを図ることができる。
図18は、図鑑画面100の一例を示す。配信ユーザ装置21は、配信ユーザ70によって図鑑表示ボタン88A(例えば図15及び図16のゲーム画面80に含まれる)が選択された場合に、図鑑画面100を表示する。図鑑画面100は、オブジェクトの一覧を含む。本実施形態において、ゲーム実行中の配信ユーザ装置21の画面には、図鑑表示ボタン88Aが表示されている。配信ユーザ70はゲーム実行中において図鑑表示ボタン88Aを選択して図鑑画面100を表示してもよい。また、ロビー画面にも図鑑表示ボタン88Aが表示されている。配信ユーザ70はゲーム開始前及びゲーム終了後に、図鑑表示ボタン88Aを選択して図鑑画面100を表示してもよい。
図鑑画面100は、フィールド識別部101、オブジェクト表示部102を含む。出力制御部52は、フィールド識別部101が表すゲームフィールド55に関連付けて、配信ユーザ70が取得した移動オブジェクト57をオブジェクト表示部102として表示する。上述したように、ゲームフィールド55には、そのゲームフィールド55で取得可能な所定数の移動オブジェクト57が関連付けられている。オブジェクト表示部は、配信ユーザ70が既に取得した移動オブジェクト57を示す取得オブジェクト表示部102Aと、取得可能であるが未だ取得していない移動オブジェクト57を示す未取得オブジェクト表示部102Bとを含む。取得オブジェクト表示部102Aは、配信ユーザ70による操作を受け付け可能である。取得オブジェクト表示部102A及び未取得オブジェクト表示部102Bには、対応する移動オブジェクト57のレアリティ(希少度)103が関連付けて表示されている。
取得オブジェクト表示部102Aは、移動オブジェクト57の画像を含む。未取得オブジェクト表示部102Bは、移動オブジェクト57が非表示とされている。又は、図18に示すように、未取得オブジェクト表示部102Bは、移動オブジェクト57のシルエットのみ表示した状態等、一見しただけでは移動オブジェクト57の種類を判別できない表示態様であってもよい。また、図鑑画面100は、そのゲームフィールド55で取得可能である移動オブジェクト57の数と、取得された移動オブジェクト57の数とを表示したオブジェクト数表示部110を含む。
図19に示すように、出力制御部52は、配信ユーザ70が取得オブジェクト表示部102Aを選択する操作を受け付けると、オブジェクト表示画面105を表示する。取得部50は、オブジェクト表示画面105を表示するための情報をAPIサーバ14に要求するか、又は予め取得しておく。オブジェクト表示画面105は、移動オブジェクト57の画像のほか、移動オブジェクト57の名称、属性、レアリティ、及び移動オブジェクト57を取得した回数を含む。属性は、移動オブジェクト57の全長及び重さを含む。レアリティは、移動オブジェクト57の希少度である。レアリティが高いほど、配信ユーザ70が獲得できるメダル数は多くなってもよい。
配信ユーザ70は、図鑑に既に登録された移動オブジェクト57の種類と同じ種類であって、全長や重さといった属性が異なる移動オブジェクト57を取得する場合がある。第1進行部40又は第2進行部45は、既に図鑑に登録されている移動オブジェクト57を取得した場合、APIサーバ14を介して、同じ移動オブジェクト57を取得した回数を更新する。出力制御部52は、オブジェクト表示画面105に、移動オブジェクト57を釣った回数を表示する。この場合、第1進行部40又は第2進行部45は、複数の移動オブジェクト57を図鑑に登録するようにしてもよい。又は第1進行部40又は第2進行部45は、既に登録された移動オブジェクト57と、新たに取得された移動オブジェクト57との属性を比較する。そして、比較の結果、希少度が高い、若しくはパラメータが大きい(又は小さい)移動オブジェクト57を新たに図鑑に登録するようにしてもよい。例えば、同じ種類の移動オブジェクト57が取得された場合、属性に含まれる全長又は重さが大きい移動オブジェクト57を図鑑に登録するようにしてもよい。
視聴ユーザは、ホストユーザ70Hが図鑑画面100を表示した場合に、その図鑑画面100を視認することができる。例えば、配信ユーザ装置21及び視聴ユーザ装置22は、ゲーム終了後に表示されるロビー画面において、ホストユーザ70Hの図鑑画面100を表示する。このような図鑑画面100を表示することにより、移動オブジェクト57を集める面白さをユーザに感じさせることができる。
<ハードウェア構成>
図23を参照して、処理回路の一例について説明する。図23は、本明細書に開示したユーザ装置20の処理回路のブロック図である。処理回路200は、図2に示す制御部25、通信インターフェース27に対応する。なお、各サーバ12~14も同様の構成の制御回路を有する。
処理回路200は、本明細書に開示された制御プロセスのうちの1つ以上を実行するプロセッサであるCPU201及びメモリ202を含む。処理データ及び命令は、メモリ202に格納されてもよい。また、これらの処理データ及び命令は、ハードドライブ(HDD)又は可搬型記憶媒体等の記憶媒体ディスクであるストレージ26に格納されてもよいし、処理回路200とは別に設けられた記憶媒体に格納されてもよい。ストレージ26は、バス210及びストレージコントローラ203を介してCPU201に接続される。
本明細書に開示された各機能は、CPU201に限らず、開示された機能を実行するように構成又はプログラムされた汎用プロセッサ、特殊目的プロセッサ、集積回路、ASIC(Application Specific Integrated Circuits)、従来の回路及び/又はそれらの組み合わせを含み得る回路を使用して実装され得る。プロセッサは、その中にトランジスタ及び他の回路を含むので、処理回路又は回路である。プロセッサは、メモリに格納されたプログラムを実行するプログラムされたプロセッサであってよい。本開示において、処理回路、第1出力制御部等のユニット、又は手段は、言及された機能を実行する、又は実行するようにプログラムされたハードウェアである。ハードウェアは、本明細書に開示された、又はそうでなければ公知の、言及された機能を実行するようにプログラムされるか構成される任意のハードウェアであってよい。
さらに、プロセッサは、プロセスの命令が格納されるコンピュータ可読媒体の形態によって制限されない。例えば、命令は、CD、DVD、処理回路200が通信する情報処理装置のFLASHメモリ、RAM、ROM、PROM、EPROM、EEPROM、ハードディスク又は他の非一時的コンピュータ可読媒体、例えばサーバ又はコンピュータに格納されてもよい。また、プロセスは、ネットワークベースのストレージ、クラウドベースのストレージ、又は他のモバイルアクセス可能なストレージに格納され、処理回路200によって実行可能であってもよい。
本明細書に開示されたフローチャートにおける記述又はブロックは、プロセスにおける特定の論理機能又はステップを実装するための1つ又は複数の実行可能命令を含むコードのモジュール、セグメント又は部分を表すものとして理解することができる。また、上記記述又はブロックは、実質的に同時又は逆順等、図示又は明細書に記載した順序とは異なる順序で機能を実行することができる。
処理回路200を実現するためのハードウェア要素は、様々な回路要素によって実現され得る。さらに、上述した実施形態の各機能は、1つ又は複数の処理回路を含む回路によって実現されてもよい。
処理回路200はまた、ネットワークNWに接続するための、ネットワークコントローラ206を含む。ネットワークNWは、インターネット等の公衆ネットワーク、又はローカルエリアネットワーク(LAN)もしくはワイドエリアネットワーク(WAN)等のプライベートネットワーク、又はそれらの任意の組み合わせとすることができ、公衆交換電話網(PSTN)又は統合サービスデジタルネットワーク(ISDN、登録商標)サブネットワークも含むことができる。ネットワークNWはまた、イーサネット(登録商標)ネットワーク、ユニバーサルシリアルバス(USB)ケーブル等の有線とすることができ、又は3G、4G及び5G無線セルラーシステムを含むセルラーネットワーク等の無線とすることができる。また、無線ネットワークは、Wi-Fi(登録商標)、無線LAN、Bluetooth(登録商標)、又は公知の他の無線通信形態とすることができる。さらに、ネットワークコントローラ206は、Bluetooth(登録商標)、近距離無線通信(NFC)、赤外線等の他の直接通信規格に準拠することができる。
処理回路200は、さらに、ディスプレイコントローラ205、入出力インターフェース207を備える。これらはバス210に接続されている。ディスプレイコントローラ205は、ディスプレイ32に接続する。入出力インターフェース207は、タッチパネル208及び周辺機器209に接続する。周辺機器209は、例えばスピーカやマイクである。各サーバ12~14は、ディスプレイコントローラ205及び入出力インターフェース207を省略した構成とすることができる。
第1実施形態の効果について説明する。
(1-1)配信ユーザ70が賭けた設定値に応じて報酬が付与されるゲームにおいて、第2進行部45は、グループに属する配信ユーザ70が第2報酬条件を満たした場合に、グループに属する各配信ユーザ70にグループ報酬75をそれぞれ付与する。よって、ゲームに参加する各配信ユーザ70が連帯感を得やすい。このため、個人で設定値を賭けて報酬を取得するゲームに比べ、ゲームが単調であるとの印象をユーザに与えることを抑制するとともに、ゲームの興趣性を高めることができる。
(1-2)第1進行部40は、第1アクション実行操作に基づく第1ゲーム内アクションを実行することで、配信ユーザ70に関連付けられた所持値から設定値を減算させる。そして、第2ゲーム内アクションが成功した場合、所持値に、設定値に応じた個人報酬72を加算する。このため、設定値に応じて個人報酬72が増加する面白さを配信ユーザ70に与えることが可能となる。
(1-3)第1進行部40は、設定値に応じてブースト倍率を増加させる。また、第2報酬付与部46は、ブースト倍率に応じてグループ報酬75を増加させる。つまり、第1ステージにおける設定値を用いたプレイ状況がグループ報酬75に影響する。このため、配信ユーザ70に対し第1ステージをプレイする意欲を高めさせることができる。
(1-4)第2ステージにおいて、移動オブジェクト57のオッズが高いほど、グループ報酬75が多くなる。このため、オッズの高い移動オブジェクト57との対戦意欲を高めることができる。
(1-5)グループパラメータを時間に応じて減少させるとともに下限値に到達した場合に第2ステージを終了した。このため、緊張感のあるゲームを提供することができる。
(1-6)第1進行部40及び第2進行部45は、第1報酬条件及び第2報酬条件を満たすか否かを抽選によって決定するようにした。このため、ランダム性を有するゲームを提供することができる。
(1-7)出力制御部52は、配信ユーザ70のプレイ状況が撮影条件(本実施形態では第2ゲーム内アクションの成功)を満たした場合に、アバターオブジェクト60の撮影を行う撮影期間を開始した。また、撮影期間においてゲーム画面の進行を停止し、トラッキングデータを用いて配信ユーザ70の動作を反映した第2表示態様のアバターオブジェクト60を表示した。このため、配信ユーザ70はゲーム操作を中断して、多様なパフォーマンスを行うことができる。また、ゲームに複数の配信ユーザ70が参加している場合、各配信ユーザ70の間の連帯感を高めることができる。このとき、ゲーム進行期間においてはアバターオブジェクト60に配信ユーザ70の動作を反映しないため、ゲーム進行期間におけるユーザ装置20の処理負荷を軽減することができる。
(1-8)出力制御部52は、配信ユーザ70が第2報酬条件(撮影条件)を満たした場合、全ての配信ユーザ70のゲームの進行を停止するとともに、各配信ユーザ70の動作をそれぞれ反映したアバターオブジェクト60を表示する。撮影期間においては、ゲームに集中する必要が無いため、配信ユーザ70は他の配信ユーザ70との間でコミュニケーションをとりやすくなる。
(1-9)出力制御部52は、撮影画像を、配信ユーザ70が取得した移動オブジェクト57の画像と関連付けてストレージ26に記録する。このため、配信ユーザ70は、移動オブジェクト57を取得したときの記録を確認することができる。
(1-10)出力制御部52は、ホストユーザに関連付けられたゲームフィールド55がゲストユーザに関連付けられているか否かに関わらず、ゲームフィールド55でゲストユーザが移動オブジェクト57を取得した場合に、移動オブジェクト57をゲストユーザの図鑑に表示する。このため、複数のユーザがプレイ可能なゲームに参加する動機をユーザに与えることができる。
(第2実施形態)
以下、図20及び図21に従って、ゲーム処理装置、ゲーム制御方法、プログラム、情報処理装置及びゲーム制御システムの第2実施形態について説明する。第2実施形態は、配信ユーザ70が第2報酬条件を満たした場合に、ゲーム動画の配信に関する情報を図鑑に保存する点が第1実施形態と相違する。以下、第1実施形態と同様の部分については同一符号を付してその詳細な説明を省略する。
図20に示すように、マルチゲームサーバ13は、配信履歴情報115をゲーム情報記憶部16に記録している。配信履歴情報115は、ルームが作成されたときに記録される。マルチゲームサーバ13は、動画の配信が終了するまで又はゲームが終了するまで、ゲーム動画の配信状況に基づいて配信履歴情報115を更新する。配信状況は、配信ユーザ70に関する情報のほか、そのゲーム動画を視聴した視聴ユーザに関する情報を含む。
配信履歴情報115は、参加ユーザ情報、視聴ユーザ情報、ゲーム履歴情報、及びチャット情報を含む。参加ユーザ情報は、ゲームに参加したホストユーザ及びゲストユーザを識別する情報である。視聴ユーザ情報は、そのゲーム動画を視聴した視聴ユーザに関する情報である。例えば、視聴ユーザ情報は、視聴ユーザの数である。視聴ユーザの数は、ゲームを開始したときに視聴していた視聴ユーザの数、ゲームを終了したときに視聴していた視聴ユーザの数、途中で視聴を止めた視聴ユーザ及び配信の途中から視聴を開始した視聴ユーザを含む累積数等である。ゲーム履歴情報は、ゲームに用いたアイテム58、第1報酬条件又は第2報酬条件を満たしたときの設定メダル数等の情報を含む。チャット情報は、撮影期間内に行われたゲーム内チャットの内容を示すテキストデータ等である。チャット情報は、配信ユーザ同士で行われたチャットの内容を示すものであってもよい。又はチャット情報は、視聴ユーザから送信されたメッセージの内容を示すものであってもよい。配信履歴情報115は、その他に、配信日時、配信を開始した時刻から終了した時刻までの配信時間を含んでいてもよい。
出力制御部52は、図鑑のオブジェクト表示画面105を表示するためのユーザの操作を受け付けると、APIサーバ14及びマルチゲームサーバ13にオブジェクト表示画面105を表示するためのデータを要求する閲覧要求を、指定された移動オブジェクト57のオブジェクトIDとともに送信する。APIサーバ14は、図鑑に関する情報を配信ユーザ装置21に送信する。マルチゲームサーバ13は、配信履歴情報115を配信ユーザ装置21に送信する。出力制御部52は、受信した図鑑に関する情報及び配信履歴情報115に基づいて、図鑑のオブジェクト表示画面105を表示する。
なお、配信ユーザ装置21は、図鑑に関する情報及び配信履歴情報115の少なくとも一つをリアルタイムサーバ12から受信するようにしてもよい。リアルタイムサーバ12は、APIサーバ14及びマルチゲームサーバ13からそれらの情報を受信する。又は、配信ユーザ装置21は、図鑑に関する情報及び配信履歴情報115をAPIサーバ14から受信するようにしてもよい。この場合、APIサーバ14が配信履歴情報115をマルチゲームサーバ13から取得する。そして、APIサーバ14は、図鑑に関する情報及び配信履歴情報115を配信ユーザ装置21に送信する。又は、配信ユーザ装置21は、図鑑に関する情報及び配信履歴情報115をマルチゲームサーバ13から受信するようにしてもよい。この場合、マルチゲームサーバ13が図鑑に関する情報をAPIサーバ14から取得する。そして、マルチゲームサーバ13は、図鑑に関する情報及び配信履歴情報115を配信ユーザ装置21に送信する。
図21は、図鑑のオブジェクト表示画面105である。図21に示す移動オブジェクト57の画像は、特殊オブジェクト106の画像である。例えば、出力制御部52は、配信状況として、ユーザ識別情報116、ゲーム動画を視聴した視聴人数111、ゲーム履歴情報112(釣り情報)、チャット表示ボタン113、撮影画像114を含んでいてもよい。ユーザ識別情報116は、ゲームに参加した配信ユーザ70のアイコン又はユーザ名である。ユーザがアイコンを選択したとき、出力制御部52は、アイコンに対応する配信ユーザ70の詳細情報を表示する。ゲーム履歴情報112(釣り情報)は、ゲームに用いたアイテム58、第2ゲーム内アクションが成功したときの設定メダル数等の情報を含む。また、出力制御部52は、チャット表示ボタン113が選択されると、撮影期間内のチャット内容を表示する。表示されるチャット内容は、撮影期間中のチャットに限らず、撮影期間を開始したときから所定時間だけ前(過去)までの期間のチャット内容、撮影期間を終了したときから所定時間経過したときまでの期間のチャット内容であってもよい。これにより、特殊オブジェクト106と対戦中又は撮影が終了した後の配信ユーザ70間の会話の様子を記録することができる。また、チャットが投稿された投稿数又はチャット内容に含まれる文字数等が多くなる場合には、チャット表示ボタン113が選択されたとき、オブジェクト表示画面105とは別にチャット表示画面(図示略)を表示するようにしてもよい。これにより、チャット数等が多くても、チャット内容を見やすくすることができる。
撮影画像114は、移動オブジェクト57が特殊オブジェクトである場合にオブジェクト表示画面105に表示される。なお、通常の移動オブジェクト57のオブジェクト表示画面105には、撮影画像114は表示されない。撮影画像114は、特殊演出の際に撮影された画像である。このようにオブジェクト表示画面105にゲームのプレイ状況を記録しておくことで、ユーザはゲームをプレイする場合にそのプレイ状況を参考にすることができる。また、参加ユーザ、チャット、撮影画像114を記録しておくことで、他の配信ユーザ70のコミュニケーションの記録を残すことができる。
第2実施形態によれば、第1実施形態の(1-1)~(1-10)に記載の効果に加え、以下の効果を得ることができる。
(2-1)出力制御部52は、配信ユーザ70が移動オブジェクト57を取得したときの配信状況と、取得した移動オブジェクト57とを関連付けて、当該配信ユーザ70の図鑑に表示する。このため、配信ユーザ70は、移動オブジェクト57を取得したときの配信状況を確認することができる。
(2-2)出力制御部52は、配信状況として視聴ユーザに関する情報、ゲームに参加した他の配信ユーザ70の情報を図鑑に表示する。このため、配信ユーザ70は、移動オブジェクト57を取得した場面を視聴した視聴ユーザ数等を把握することができる。また、配信ユーザ70は、移動オブジェクト57を取得したときの他の配信ユーザ70の数等を把握することができる。
(2-3)出力制御部52は、配信状況として配信ユーザ70がゲームをプレイしたときの条件を図鑑のオブジェクト表示画面105に表示する。このため、移動オブジェクト57の取得に適した条件を確認することができる。
(2-4)出力制御部52は、配信状況として撮影期間のチャットの内容を図鑑に表示する。このため、配信ユーザ70は、移動オブジェクト57を取得したときに行われた配信ユーザ70同士のコミュニケーションについて確認することができる。
(2-5)出力制御部52は、視聴ユーザがゲーム動画を視聴している間のみホストユーザの図鑑を閲覧可能な状態とする。このため、配信状況に関する詳細な情報の閲覧を制限することができる。
上記各実施形態は、以下のように変更して実施することができる。上記実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
<ユーザ>
・上記各実施形態では、配信ユーザ70は、映像に関する情報及び音声に関する情報の少なくとも一方を送信する側のユーザを意味する。例えば、配信ユーザ70は、単独での動画配信、複数人が参加可能なコラボレーション配信を実行するユーザである。又は、配信ユーザ70は、複数人が参加及び視聴の少なくとも一方が可能なビデオチャット又はボイスチャット、複数人が参加及び視聴の少なくとも一方が可能な仮想空間上でのイベント(パーティ等)を主催又は開催するユーザであればよい。すなわち、配信ユーザ70は、ホストユーザ、主催ユーザ又は開催ユーザと言い換えることもできる。
一方で、視聴ユーザは、映像に関する情報及び音声に関する情報の少なくとも一方を受信する側のユーザを意味する。ただし、視聴ユーザは上記情報を受信するのみならず、リアクションを行い得る。例えば、視聴ユーザは、動画配信、コラボ配信を視聴するユーザである。又は視聴ユーザは、ビデオチャット、ボイスチャットやイベントに参加及び視聴の少なくとも一方を行うユーザであればよい。そのため、視聴ユーザは、ゲストユーザ70G、参加ユーザ、リスナー、観覧ユーザ、応援ユーザ等と言い換えることもできる。
・上記実施形態では、ホストユーザが、ロビーに集合したユーザを含むグループで、動画の配信を開始するようにした。これに代えて、仮想空間内に含まれるゲームフィールドで、配信中ではないユーザ同士が出会った場合に、ゲーム動画の配信を行うようにしてもよい。この場合、複数のユーザのうち第1のユーザは、ユーザ装置20を用いて配信要求をマルチゲームサーバ13又はその他のサーバに送信する。同様に、第2のユーザも、ユーザ装置20を用いて配信要求をマルチゲームサーバ13又はその他のサーバに送信してもよい。この態様においては、第1のユーザ及び第2のユーザが上記実施形態におけるホストユーザとなる。また、各ユーザ装置20は、当該ユーザ装置20を用いるユーザのアバターオブジェクト60に対応する仮想カメラを設定する。第1のユーザが用いるユーザ装置20は、第1のユーザのアバターオブジェクト60を中心に撮像する仮想カメラを設定する。第2のユーザが用いるユーザ装置20は、第2のユーザのアバターオブジェクト60を中心に撮像する仮想カメラを設定する。この態様によれば、偶発的に生じる契機によって動画を配信することができるので、動画の配信回数が増加することが期待できる。また、動画の配信をより気軽に行うことができる。
<コラボレーション配信>
・上記各実施形態において、配信ユーザ70が参加を許諾した場合又は配信ユーザ70が参加要請を他のユーザに送信した場合に、共演ユーザのコラボレーション配信への参加を可能とした。これに代えて若しくは加えて、ユーザの属性情報(レベル、パラメータ等)が所定条件を満たすことをゲームの参加条件としてもよい。
一態様として、マルチゲームサーバ13は、視聴ユーザの属性情報が所定条件を満たすか否かを判定する。そして、属性条件が所定条件を満たす視聴ユーザの視聴ユーザ装置22に判定結果を送信する。視聴ユーザ装置22は、属性条件が所定条件を満たすとの判定結果に基づいて、ゲームに参加する意思を示すための操作ボタン等の操作オブジェクトを表示する。視聴ユーザ装置22は、操作オブジェクトの操作を受け付けると、参加要求をリアルタイムサーバ12等に送信する。リアルタイムサーバ12は、参加要求を受信すると、配信ユーザ装置21に、参加要求、及び参加要求を送信した視聴ユーザのユーザIDを送信する。
他の態様として、配信ユーザ70が参加要請を他のユーザに送信する態様について説明する。この態様においてマルチゲームサーバ13は、各ユーザの属性情報が所定条件を満たすか否かを予め判定しておくようにしてもよい。判定の対象となるユーザは、例えば、配信ユーザ70との間で互いに認証を行った友達ユーザであってもよい。又は、判定対象のユーザは、例えば、配信ユーザ70と同じグループ(グループチャットのグループ、又はゲームをプレイするギルド)に属するユーザであってもよい。又は判定対象のユーザは、動画アプリケーションをインストールした全てのユーザ、又は動画配信サービスにユーザ登録した全てのユーザであってもよい。
マルチゲームサーバ13は、属性情報が所定条件を満たすか否かを判定した判定結果をユーザ装置20に予め送信する。また、マルチゲームサーバ13は、配信ユーザ70から受信した参加要請を各ユーザ装置20に送信する。ユーザ装置20は、予め受信した判定結果に基づき、ゲームに参加するための操作オブジェクトを表示する。つまり、ユーザ装置20は、判定結果に基づいてユーザの属性情報が所定条件を満たすと判断した場合に操作オブジェクトを表示する一方で、ユーザの属性情報が所定条件を満たさないと判断した場合に操作オブジェクトを表示しない。或いは、マルチゲームサーバ13は、配信ユーザ70が用いるユーザ装置20から参加要請を受信すると、判定対象のユーザのうち、ユーザの属性情報が所定条件を満たすユーザを選択する。そして、選択したユーザが用いるユーザ装置20のみに、参加要請を送信する。ユーザ装置20は、参加要請を受信すると、ゲームに参加するための操作オブジェクトを表示する。
<ゲームパラメータ>
・上記各実施形態では、設定値、個人報酬及びグループ報酬に用いられるゲームパラメータは、メダル数とした。上述したようにゲームパラメータは、これ以外のパラメータであってもよい。ゲームパラメータが、攻撃力、防御力、戦闘力、体力等、アバターオブジェクト60に関わる対戦パラメータである場合、第2ステージにおいて、これらの対戦パラメータを用いて対戦を行うようにしてもよい。また、ゲームパラメータは、複数の種類であってもよい。ユーザは、複数の種類のゲームパラメータのうち、設定値とするゲームパラメータを指定する。リアルタイムサーバ12は、ユーザが第2ゲーム内アクションを成功させたとき、消費されたゲームパラメータと同じゲームパラメータの報酬を付与する。これにより、ゲームのバリエーションを増やすことができる。
<レベル>
・ユーザ情報35は、ユーザのレベルを含んでいてもよい。第1進行部40及び第2進行部45は、ゲームのプレイ履歴に応じて、ユーザのレベルを高くする。例えば、設定値合計が大きくなるほどユーザのレベルを高くしてもよい。又は、移動オブジェクトの取得数、ゲームのプレイ回数、及びゲームのプレイ時間の少なくとも一つに応じてユーザのレベルを高くしてもよい。
さらに第1進行部40及び第2進行部45は、レベルに応じて、各種パラメータの値を以下のように変更してもよい。
例えば、設定値(BET額)の上限値である最大設定値(最大BET額)が予め決められている場合、レベルに応じて最大設定値を大きくするようにしてもよい。例えば、「レベル1」に対して最大設定値「10000」、「レベル2」に対して「15000」が設定されていてもよい。
例えば、ゲームを開始する際に設定されている設定値の初期値を、レベルに応じて大きくするようにしてもよい。
例えば、レベルに応じて、グループパラメータの増加倍率を変更するようにしてもよい。具体的には図22に示すように、設定値が同一であってレベルが異なる場合、レベルが高くなるに伴いグループパラメータの増加倍率が低くなるようにしてもよい。レベルが同一である場合、設定値が大きくなるに伴い増加倍率は大きくなる。また、図20の表では、レベルが高くなるに伴い、最大設定値は大きくなっている。これにより、高いレベルのユーザに付与されるゲームパラメータと、低いレベルのユーザに付与されるゲームパラメータとの差が過大となることを抑制することができる。その結果、ゲームバランスを良好に維持することができる。なお、増加倍率の値を調整することによって、レベルが高くなるに伴いグループパラメータの増加倍率を高くすることも可能である。
<所持値>
・上記各実施形態では、所持値は、ゲームが終了したときに初期値に戻る。これに代えて、所持値はゲームが終了した後も保持されるようにしてもよい(貯金箱)。例えば、所持値である所持メダルは、プレイヤがプレイ可能なゲーム内で使用できるものであってもよい。また、所持値には、最大値が設定されていてもよい。この場合、ゲームパラメータは最大値を超えることはできない。最大値は、上述したレベルに応じて高くなってもよい。
<設定値特定部>
・設定値特定部41は、キャストの実行等、所定のゲーム内アクションを実行した場合に設定値を所持値から減算するようにしたが、他のタイミングで設定値を所定値から減算してもよい。例えば、対戦条件が満たされたとき(ゲーム工程P2)に、設定値を所持値から減算するようにしてもよい。
<第1進行部>
・上記各実施形態では、第1進行部40は、成功率に基づいて第2ゲーム内アクションの成功及び失敗の抽選を行うようにした。これ以外に、例えば、第1進行部40は、配信ユーザ70に関連付けられたパラメータが、移動オブジェクト57に関連付けられたパラメータよりも大きい場合に、配信ユーザ70が第2ゲーム内アクションを成功させたと判定してもよい。つまり第2ゲーム内アクションの成功及び失敗の判定の際に、抽選処理を行わなくてもよい。
・上記各実施形態では、第1進行部40は、第1ゲーム内アクションを実行した場合に、配信ユーザに関連付けられた所持値から設定値を減算するようにした(例えばメダルの消費)。これに代えて、第1ゲーム内アクションに続けて第2ゲーム内アクションを実行したときに限り、配信ユーザに関連付けられた所持値から設定値を減算するようにしてもよい。
・第1進行部40は、移動オブジェクト57に関連付けられた取得確率、及び配信ユーザが設定した設定値である設定メダル数に基づいて成功率を決定するとともに、成功率に基づいて第2ゲーム内アクションが成功するか否かを決定する抽選を行うとした。これに代えて若しくは加えて、成功率は設定値以外に基づいて決定されるものであってもよい。例えば成功率は、移動オブジェクト57のレアリティに応じた成功率であってもよい。また、成功率は、ゲームを実行する時間帯によって決定されてもよい。
・上記各実施形態では、ゲームの具体例を釣りゲームとしたが、情報処理システム11は、これ以外のゲームの動画を配信するようにしてもよい。例えば、ロールプレイングゲーム、シューティングゲーム、アクションゲーム、レーシングゲーム、格闘ゲーム、育成シミュレーションゲーム、恋愛シミュレーションゲーム、パズルゲーム、カードゲーム、スポーツゲーム、リズムゲーム等であってもよい。
<判定部>
・判定部44は、設定値に応じてグループパラメータの増加量を決定した。これに代えて若しくは加えて、グループパラメータの増加量は設定値によらず一定であってもよい。又は、グループパラメータの増加量は、第1ステージが開始された時点からの経過時間に伴い大きくなるようにしてもよい。又は、グループパラメータの増加量は、キャストの回数の増加に伴い大きくなるようにしてもよい。
・判定部44は、グループパラメータが所定値に達した場合にグループのミッションが達成されたと判定した。これに代えて若しくは加えて、グループに属する各ユーザが収集するアイテムの合計個数が所定数に到達した場合に、グループのミッションを達成したと判定してもよい。又は、グループに属する各ユーザが対戦又は勝利した対戦相手の数が所定数に到達した場合に、グループのミッションを達成したと判定してもよい。
<第1報酬付与部>
・第1報酬付与部43は、第1ゲーム内アクションが成功したことを契機に、個人報酬を配信ユーザ70に付与してもよい。第1ゲーム内アクションは、配信ユーザ70の操作に基づくゲーム内のアクションであればよい。
・第1報酬付与部43は、設定値及びオッズに応じた個人報酬を付与するようにした。これに代えて若しくは加えて、第1報酬付与部43は、オッズを用いずに個人報酬であるゲームパラメータの値を決定するようにしてもよい。この場合、第1報酬付与部43は、設定値が大きいほど、ゲームパラメータの値を増加させる。また、第1報酬付与部43は、設定値と、移動オブジェクト57に関連付けられたパラメータのうち、オッズ以外のパラメータを用いて個人報酬であるゲームパラメータの値とを用いて個人報酬を決定するようにしてもよい。例えば、移動オブジェクト57に関連付けられた基本報酬(例えばメダル数)を用いて個人報酬を決定してもよい。
・上記各実施形態では、倍率設定部42は、ブースト倍率を抽選するようにした。これに代えて、設定値合計が閾値に達した場合に、その閾値に関連付けられたブースト倍率を設定するようにしてもよい。また、倍率設定部42は、設定値合計が閾値に達した場合にブースト倍率を更新するか否かを判断するようにした。これに代えて、倍率設定部42は、所持値から設定値を減算するたびにブースト倍率を更新するようにしてもよい。又は、倍率設定部42は、所持値から設定値を減算する回数が閾値に達した場合に、ブースト倍率を更新するようにしてもよい。又は、倍率設定部42は、配信ユーザが第2ゲーム内アクション等のゲーム内アクションを成功させた場合に、移動オブジェクト57に関連付けられたパラメータに基づいて、ブースト倍率を更新してもよい。
・上記各実施形態では、第1ステージにおいて決定したブースト倍率に基づいて第2ステージを実行するようにした。これに代えて若しくは加えて、第2ステージにおいてもブースト倍率を変化させるようにしてもよい。この場合、第2進行部45は、配信ユーザ70が取得したグループ報酬、又は個人報酬に応じてブースト倍率を変更するようにしてもよい。
・上記各実施形態では、移動オブジェクト57のオッズとして、1倍以上の倍率と1倍未満の倍率とを設定した。これに代えて、移動オブジェクト57のオッズは1倍以上又は1倍超の倍率が設定されていてもよい。
<第2進行部>
・第2進行部45は、キャストが実行されても配信ユーザ70のメダル所持数から配信ユーザが設定したメダル数を減算しないようにした。これに代えて若しくは加えて、キャスト等のゲーム内アクションが実行されたとき所持値から設定値を減算するようにしてもよい。このとき、第2ステージの設定値を第1ステージの設定値よりも大きくしてもよい。又は、第1ステージの設定値を第2ステージの設定値よりも大きくしてもよい。
・第2進行部45は、移動オブジェクト57として、特殊オブジェクト及び通常オブジェクトをゲームフィールド55に配置した。これに代えて若しくは加えて、第2進行部45は、特殊オブジェクトのみをゲームフィールド55に配置するようにしてもよい。
<第2報酬付与部>
・第2報酬付与部46は、第1ゲーム内アクションが成功したことを契機に個人報酬及びグループ報酬を配信ユーザ70に付与してもよい。第1ゲーム内アクションは、配信ユーザ70の操作に基づくゲーム内のアクションであればよい。
・第2報酬付与部46は、オッズ及びブースト倍率に応じたグループ報酬を付与するようにした。これに代えて若しくは加えて、第2報酬付与部46は、ブースト倍率と、対戦相手に関連付けられたオッズ以外のパラメータとに応じたグループ報酬を付与するようにしてもよい。オッズ以外のパラメータは、移動オブジェクト57に関連付けられた基本報酬(例えばメダル数)やレアリティ等である。
・上記実施形態では、第2報酬付与部46は、各配信ユーザ70に関連付けられたブースト倍率に応じたグループ報酬を配信ユーザ70に付与する。これに代えて、第2報酬付与部46は、一定のグループ報酬を配信ユーザ70に付与するようにしてもよい。
・上記各実施形態では、第2報酬付与部46は、グループに属するユーザである配信ユーザ70の全員にグループ報酬を付与するようにした。これに代えて若しくは加えて、グループに属するユーザの一部にグループ報酬を付与するようにしてもよい。グループ報酬を付与する対象となる複数のユーザは、第2報酬条件を満たしたユーザを含んでいてもよく、含んでいなくてもよい。又はグループ報酬を付与する対象となるユーザは、グループに属する一人であってもよい。グループ報酬を付与する対象となる複数のユーザは、ランダムに選ばれてもよく、メダル数等のパラメータが低い順(又は高い順)であってもよい。このようにすると、第2ステージにおいて、ゲームにランダム性を持たせることができる。
・上記各実施形態では、グループに属する一人のユーザが第2報酬条件を満たした場合に、グループに属する各ユーザにグループ報酬を付与するようにした。これに代えて、グループに属する2人以上の所定数のユーザが第2報酬条件を満たした場合に、グループに属する各ユーザにグループ報酬を付与するようにしてもよい。例えば、第2報酬付与部46は、第2報酬条件を満たしたユーザの数を累計する。そして、三人のユーザが第2報酬条件を満たしたと判定した場合に、累計数をリセットするとともに、各ユーザにグループ報酬を付与するようにしてもよい。
<特殊演出>
・特殊演出処理では、配信ユーザ70に対応するアバターオブジェクト60に加え、そのゲーム動画を視聴する視聴ユーザに対応するアバターオブジェクト60を表示するようにしてもよい。このとき、出力制御部52は、配信ユーザ70に対応するアバターオブジェクト60と、視聴ユーザに対応するアバターオブジェクト60とを異なる表示態様で描画してもよい。具体的には、視聴ユーザに対応するアバターオブジェクト60を小さく表示してもよい。又は、出力制御部52は、配信ユーザ70に対応するアバターオブジェクト60をその配信ユーザ70に対応するモーションデータを用いて描画する一方で、視聴ユーザに対応するアバターオブジェクト60を、モーションデータを用いずに描画するようにしてもよい。
・特殊演出処理では、出力制御部52は、撮影画像に対し、配信ユーザ70が入力した線画、配信ユーザ70が選択したスタンプ(図柄、キャラクタ画像)等を表示するようにしてもよい。
・各ユーザは、アバターオブジェクト60を任意の身長に設定することができる。このため、出力制御部52は、撮影期間において、撮影対象である複数のアバターオブジェクト60の身長に応じて仮想カメラの高さを自動的に調整するようにしてもよい。具体的には、出力制御部52は、撮影対象である複数のアバターオブジェクト60のうち、最も身長が低いアバターオブジェクト60と、最も身長が高いアバターオブジェクト60とを特定する。そして、これらのアバターオブジェクト60が撮影範囲に含まれるように、仮想カメラの高さを調整する。又は、出力制御部52は、仮想カメラの高さを一定としつつ、最も身長が低いアバターオブジェクト60又は最も身長が高いアバターオブジェクト60の高さ位置を調整して、見た目上の各アバターオブジェクト60の身長差を少なくしてもよい。このようにアバターオブジェクト60の身長に応じて仮想カメラの高さを調整することによって、ユーザが仮想カメラの操作に不慣れであったとしても苦渋することなく気軽に記念写真を撮像することができる。
<図鑑>
・第2実施形態では、配信ユーザ70が第2報酬条件を満たした場合、その配信ユーザ70の図鑑に関連付けて撮影画像114を記録した。このとき、第2報酬条件を満たした配信ユーザ70(以下、第1の配信ユーザという)以外の配信ユーザ70(以下、第2の配信ユーザという)の図鑑に関連付けて撮影画像114を記録してもよい。この場合、撮影画像114は、第2の配信ユーザ70の図鑑のうち、第1の配信ユーザ70が取得した移動オブジェクト57と同一の移動オブジェクト57に関連付けて記録される。第2の配信ユーザ70が、その移動オブジェクト57を取得していない場合には、未取得オブジェクト表示部102Bが表示される。取得されていない移動オブジェクト57に関連付けて記録される撮影画像114は、記録された時点から所定期間が経過した場合に消去されてもよい。取得されていない移動オブジェクト57に関連付けて撮影画像114が記録された場合に、第2の配信ユーザ70が新たに第2報酬条件を満たした場合、既に記録された撮影画像114を、そのときに撮影した撮影画像114で上書きしてもよい。
また、取得された移動オブジェクト57及び未取得の移動オブジェクト57に関連付けられる撮影画像114には、取得オブジェクト毎に上限が設けられてもよい。上限は、撮影画像114の数、複数の撮影画像114のデータの大きさを合計したデータ量(データサイズ)等である。新たに撮影画像114が取得されたことによって移動オブジェクトに関連付けられた撮影画像114の数や合計データ量が上限に達したとき、ユーザ装置20又はAPIサーバ14は、複数の撮影画像114のうち少なくとも一つを削除する削除処理を行う。削除処理は、例えば、記録した日時が早い(古い)順から所定数の撮影画像114を自動的に削除する処理であってもよい。又は、削除処理は、ユーザによって選択された画像を削除する処理であってもよい。このとき、ユーザ装置20は、上限に達したことを知らせる通知をディスプレイ32に表示してもよい。当該通知は「もういっぱいです!どれを削除しますか?」等のメッセージとともに、撮影画像114の一覧を表示するようにしてもよい。そして、ユーザに選択された1又は複数の撮影画像114を削除する。
又は、ユーザ装置20又はAPIサーバ14は、未取得の各移動オブジェクト57に関連付けられる撮影画像114を合計した合計数又は合計データ量が上限に達したか否かを判断するようにしてもよい。具体的には、未取得の「移動オブジェクトA」に4枚の撮影画像114が関連付けられ且つ未取得の「移動オブジェクトB」に6枚の撮影画像114が関連付けられているとする。新たに「移動オブジェクトA」に対して撮影画像114が取得された場合、ユーザ装置20又はAPIサーバ14は、新たな撮影画像114を加えた合計枚数である「11枚」が、未取得の移動オブジェクト57に関連付けられた撮影画像114の上限数(例えば10枚)に達しているか否かを判断する。そして、それらは、新たな撮影画像114を加えた合計枚数が上限数に達していると判断すると、上述した削除処理を行う。この場合、削除処理では、レアリティ等の属性が低い移動オブジェクト57に関連付けられた撮影画像114を自動的に削除するようにしてもよい。又は、削除処理では、レアリティ等の属性が低い順等、所定の順番で削除候補の撮影画像114をディスプレイ32に表示するようにしてもよい。そして、撮影画像114が選択された場合、その選択した撮影画像114を削除するようにしてもよい。
・上記各実施形態では、移動オブジェクト57の取得条件として、配信ユーザ70の第2ゲーム内アクションが成功したことを契機に、移動オブジェクトを図鑑に登録するようにした。第2ゲーム内アクションは、ゲーム内で実行されるアクションであればよく、キャストに限られない。ゲームに応じて変更可能である。また、第1ゲーム内アクションが成功したことを契機に、移動オブジェクトを図鑑に登録するようにしてもよい。
・上記各実施形態では、出力制御部52は、図鑑画面100において、配信ユーザ70自身が取得した移動オブジェクト57を示す取得オブジェクト表示部102Aとして表示した。これに代えて若しくは加えて、配信ユーザ70が参加したゲームにおいて、配信ユーザ70自身が未取得であって、グループに属する他の配信ユーザ70が取得した移動オブジェクト57を、取得オブジェクト表示部102Aと異なる表示態様(第1表示態様)で表示するようにしてもよい。出力制御部52は、配信ユーザ70自身が移動オブジェクトを取得した場合、第2表示態様である取得オブジェクト表示部102Aとして表示する。
・上記各実施形態では、予め定められた順序でゲームフィールド55を開放するようにした。これに代えて若しくは加えて、ユーザが開放されるゲームフィールド55を選択できるようにしてもよい。又は、ユーザに関連付けられたレベルが一定値に達すると、次のゲームフィールド55が開放されるようにしてもよい。初期レベルが「1」であり、レベルの上昇条件が満たされたとき「2」、「3」のように上昇していくとする。例えば、この場合、レベルが「1~9」である場合、「ゲームフィールドA」及び「ゲームフィールドB」が開放される。また、レベルが「10~19」である場合、「ゲームフィールドA」及び「ゲームフィールドB」に加え、「ゲームフィールドC」及び「ゲームフィールドD」が開放される。この態様によれば、ユーザは、開放されたゲームフィールドのうち、自身と相性の良いゲームフィールドを優先的にプレイした後、自身が苦手とするゲームフィールドをプレイするといったように作戦を練ることができる。
・上記各実施形態では、視聴ユーザは、ホストユーザ70Hが自身の図鑑をユーザ装置20に表示させた場合のみ、図鑑を閲覧できるようにした。これに代えて若しくは加えて、出力制御部52は、ロビー画面において、視聴ユーザ及び配信ユーザ70が選択可能な図鑑表示ボタン88Aを表示するようにしてもよい。ユーザ装置20は、図鑑表示ボタン88Aの操作を受け付けると、ホストユーザ70HのユーザID又はルームの識別情報とともに、APIサーバ14に閲覧要求を送信する。APIサーバ14は、閲覧要求を受信すると、ユーザID又はルームの識別情報に基づいて、ホストユーザ70Hに関連付けられた移動オブジェクト57を表示するための情報を取得して、閲覧要求を送信したユーザ装置20に送信する。これにより、視聴ユーザは、ホストユーザ70Hの図鑑をゲーム開始前の任意のタイミングで閲覧することができる。
又は、出力制御部52は、ロビー画面に表示された各アバターオブジェクト60に関連付けて図鑑表示ボタン88Aを表示するようにしてもよい。又は、配信ユーザ装置21及び視聴ユーザ装置22は、ホストユーザの図鑑画面100だけでなく、ゲストユーザ70Gの操作又はホストユーザ70Hの操作に基づき、ゲストユーザ70Gの図鑑画面100を表示してもよい。この場合、ゲストユーザ70Gは、ロビー画面に表示された図鑑を共有する操作オブジェクトを操作する。ゲストユーザ70Gの配信ユーザ装置21は、その操作を受け付けると、APIサーバ14に、ルームの識別情報、そのゲストユーザ70GのユーザID、及び終了したゲームで取得した移動オブジェクト57の情報を閲覧するための閲覧要求を送信する。APIサーバ14は、閲覧要求等を受信すると、マルチゲームサーバ13に、ルームの識別情報、ゲストユーザ70GのユーザID、終了したゲームで取得した移動オブジェクト57の情報を送信する。マルチゲームサーバ13は、そのゲストユーザ70G以外の配信ユーザの配信ユーザ装置21及び視聴ユーザ装置22に、移動オブジェクト57の情報を送信する。これにより、配信ユーザ装置21及び視聴ユーザ装置22は、ゲストユーザ70Gの図鑑画面100を閲覧することができる。また、そのゲストユーザ70Gが操作オブジェクトを操作することにより閲覧終了要求をマルチゲームサーバ13に送信すると、マルチゲームサーバ13は、閲覧終了要求をそのゲストユーザ70G以外の配信ユーザの配信ユーザ装置21及び視聴ユーザ装置22に送信する。これによれば、ゲーム終了時に、ホストユーザ70Hだけでなくゲストユーザ70Gの図鑑を、各ユーザが同時に閲覧することができる。又は、マルチゲームサーバ13は、ゲームに参加した配信ユーザ70が取得した移動オブジェクト57の各図鑑を、ユーザによって閲覧可能に画面に表示してもよい。ユーザが一つの図鑑のアイコンを選択すると、そのアイコンに対応する図鑑画面100が表示されてもよい。
また、動画を視聴する視聴期間以外の期間でオブジェクト表示画面を閲覧可能な状態で、ユーザが図鑑を閲覧できるようにしてもよい。例えば、各ユーザに関連付けられたホーム画面が視聴期間以外に閲覧可能である場合、第1のユーザが用いるユーザ装置20が、第2のユーザのホーム画面に、図鑑表示ボタン88Aを表示してもよい。そして、ユーザ装置20は、図鑑表示ボタン88Aの操作を受け付けると、第2のユーザに関連付けられた図鑑図面100を表示する。そして、ユーザ装置20は、図鑑図面100のうちオブジェクト表示部102の操作を受け付けることにより、オブジェクト表示画面105を表示する。この態様によれば、第1のユーザは、第2のユーザの図鑑を参照することで、第2のユーザのプレイ履歴や熟練度を把握することができる。
また、ロビー画面だけでなく、ゲーム進行中に、視聴ユーザ又は配信ユーザ70が図鑑を閲覧可能なタイミングを設けるようにしてもよい。例えば、出力制御部52は、第1ステージ及び第2ステージにおいて視聴ユーザ及び配信ユーザ70が選択可能な図鑑表示ボタン88Aを表示するようにしてもよい。この場合においても図鑑表示ボタン88Aを各アバターオブジェクト60に関連付けて表示するようにしてもよい。つまり、視聴ユーザは、図鑑表示ボタン88Aを選択することで、ゲームに参加している各配信ユーザ70にそれぞれ関連付けられた図鑑を閲覧することができる。
さらに、視聴ユーザが、ロビー画面が表示された状態又はその他の任意のタイミングでホストユーザ等の図鑑を閲覧する態様において、ユーザ装置20は、閲覧終了条件が満たされた場合に強制的に図鑑の表示を終了するようにしてもよい。閲覧終了条件は、例えばゲームに関する条件である。具体的にはロビーからゲームフィールドに移動してゲームを開始することである。この場合、視聴ユーザ装置22は、リアルタイムサーバ12からゲームの開始を示すデータを受信すると、図鑑の閲覧を終了すると判断する。又は閲覧終了条件は、実行中のゲームにおいてグループのミッションが満たされることにより第2ステージに移行することである。視聴ユーザ装置22は、リアルタイムサーバ12から第2ステージの開始を示すデータを受信すると、図鑑の閲覧を終了すると判断する。又は、閲覧終了条件は、ホストユーザから閲覧終了に対応するメッセージを受信することである。ホストユーザの所定の操作に基づいて、ホストユーザ装置21Hが、「これからゲームを開始します」等のメッセージをマルチゲームサーバ13等に送信する。このメッセージには、閲覧終了を示すコマンド(閲覧終了要求)が関連付けられている。視聴ユーザ装置22は、このメッセージをマルチゲームサーバ13から受信すると、図鑑の閲覧を終了すると判断する。
<特別報酬>
・第1報酬付与部43及び第2報酬付与部46は、特別報酬条件が満たされた場合、特別報酬を付与するようにしてもよい。特別報酬条件は、特殊オブジェクトを取得したこと、ユーザのレベルが所定レベルに達したこと等である。特別報酬は、動画アプリケーション内で使用可能なアイテム、又はその他のゲーム媒体であってもよい。例えば、特別報酬は、帽子等、アバターオブジェクト60が装着可能な装着オブジェクトである。又は、特別報酬は、ゲームフィールド55に表示可能である船等の移動体、又は移動体の表示に用いられるテクスチャデータである。テクスチャデータは移動体を装飾することができる。
<情報処理システム>
・センサユニット28は、ユーザの表情の変化及びユーザの上半身等の動きを検出した検出データを取得するとしたが、このうち少なくとも一つであってもよい。また、センサユニット28は、ユーザの表情の変化、上半身等の動きに加えて、若しくは代えて、それ以外の部位の動きを検出した検出データを取得してもよい。
・動画に表示される仮想空間は、拡張現実(AR;Augmented Reality)の空間であってもよい。例えば、視聴ユーザ装置22のカメラが撮影した現実世界の画像に、配信ユーザ装置21から送信されたデータに基づくアバターオブジェクト及びギフトオブジェクト等のアニメーションを重ねて表示してもよい。又は、配信ユーザ装置21が、自身のカメラが撮影した現実世界の画像に、アバターオブジェクト及びギフトオブジェクト等のアニメーションを重ねて表示することによって動画を生成し、動画をエンコードしてマルチゲームサーバ13に送信するようにしてもよい。
・上記各実施形態では、ユーザ装置20は、スマートフォン、携帯電話機、タブレット端末、パーソナルコンピュータ、コンソールゲーム機、ヘッドマウントディスプレイ等のウェアラブルコンピュータ等の情報処理装置とした。これに代えて、情報処理システム11を、動画配信用のスタジオに設けられたシステムとしてもよい。情報処理システム11は、情報処理装置、サーバ、配信ユーザ70の身体に装着されるセンサユニット、センサユニットの位置を検出するトラッキングシステム、操作部、スピーカ、ディスプレイ等を有する。トラッキングシステムは、同期用のパルスレーザ光を出射する多軸レーザエミッターを備えていてもよい。センサユニットは、レーザ光を検出するセンサを備え、同期パルスで同期をとりつつ、自らの位置及び向きを検出する。
・ユーザ装置20の制御部25は、動画アプリケーションの実行により、第1出力制御部、第2出力制御部、第1報酬表示部及び第2報酬制御部としての出力制御部52、送信部53として機能するようにした。これらのうち少なくとも一つは、リアルタイムサーバ12、マルチゲームサーバ13、又は情報処理システム11を構成する他の装置が実行するようにしてもよい。また、リアルタイムサーバ12の制御部25は、第1進行部、設定値特定部、第1報酬付与部、判定部、第2進行部、第2報酬付与部として機能するようにした。これらのうち少なくとも一つは、ユーザ装置20、マルチゲームサーバ13、APIサーバ14又は情報処理システム11を構成する他の装置が実行するようにしてもよい。
・リアルタイムサーバ12はゲーム管理部(ゲーム管理サーバ)、マルチゲームサーバ13は配信管理部(配信管理サーバ)に対応するとした。リアルタイムサーバ12及びマルチゲームサーバ13は、各プログラムが実行されることにより、各プロセスを実行し、サーバ機能を果たすものがあり、2台の装置にそれぞれの機能が割り当てられるとは限らない。つまり、リアルタイムサーバ12及びマルチゲームサーバ13は1台のサーバから構成されていてもよく、2台以上の複数のサーバから構成されていてもよい。同様に、リアルタイムサーバ12、マルチゲームサーバ13、APIサーバ14は、1台のサーバから構成されていてもよい。また、マルチゲームサーバ13及びAPIサーバ14は、1台のサーバから構成されていてもよい。また、リアルタイムサーバ12及びAPIサーバ14は1台のサーバから構成されていてもよい。
次に、上記実施形態及び別例から把握できる技術的思想について以下に追記する。
[1]
ゲームの第1ステージにおいて、グループに属するユーザの操作に基づいて前記ゲームを進行させる第1進行部と、
前記ユーザが設定するゲームパラメータの値を設定値として特定する設定値特定部と、
前記第1ステージにおいて、前記ユーザのプレイ状況が第1報酬条件を満たした場合、前記設定値に応じて個人報酬として付与する前記ゲームパラメータの値を特定し、当該ユーザに関連付けられた前記ゲームパラメータの値である所持値を前記個人報酬に基づき更新する第1報酬付与部と、
前記第1ステージにおいて前記ユーザのプレイ状況に基づき前記グループのミッションを達成したか否かを判定する判定部と、
前記グループのミッションが達成された場合に、第2ステージで前記ゲームを進行させる第2進行部と、
前記第2ステージにおいて前記グループに属する前記ユーザが第2報酬条件を満たした場合、前記グループに属する前記ユーザの少なくとも一人をグループ報酬を付与する対象の前記ユーザとして特定し、前記グループ報酬を付与する対象の前記ユーザ毎に前記グループ報酬として付与する前記ゲームパラメータの値を特定し、前記グループ報酬を付与する対象の前記ユーザの前記所持値を前記グループ報酬に基づき更新する第2報酬付与部と、を備えるゲーム制御装置。
[2]
前記ユーザが設定した前記設定値に応じて、当該ユーザに関連付けられた倍率を変更させる倍率設定部をさらに備え、
前記第2報酬付与部は、前記グループ報酬を付与する前記ユーザに関連付けられた前記倍率に応じて、前記ユーザにそれぞれ付与される前記グループ報酬を変更させる、[1]に記載のゲーム制御装置。
[3]
前記第2進行部は、移動オブジェクトに関する前記第2報酬条件を満たした場合、前記ユーザに前記移動オブジェクトを関連付け、
前記第2報酬付与部は、前記倍率と、前記移動オブジェクトに関連付けられたパラメータの値とに応じて、前記グループ報酬を決定する、[2]に記載のゲーム制御装置。
[4]
前記第1進行部は、前記第1ステージにおいて前記ユーザが所定のゲーム内アクションを行う場合に、前記所持値から前記設定値を減少させる、[1]~[3]のいずれか1項に記載のゲーム制御装置。
[5]
前記第2進行部は、前記ユーザが前記第2ステージでの前記ゲームを終了する前に前記ゲームが中断されたことを検出した場合に、当該ユーザに前記倍率を関連付けて記録する、[2]に記載のゲーム制御装置。
[6]
前記第1進行部は、前記ユーザが設定した前記設定値を用いて当該ユーザの前記所持値を更新した場合に前記グループに関連付けられたグループパラメータを更新し、
前記判定部は、前記グループパラメータが所定値に達した場合に、前記グループのミッションを達成したと判定する、[1]~[5]のいずれか1項に記載のゲーム制御装置。
[7]
前記第2進行部は、前記グループパラメータを時間に応じて減算させ、前記グループパラメータが下限値に到達した場合に前記第2ステージを終了する処理をさらに実行させる、[6]に記載のゲーム制御装置。
[8]
前記第1進行部は、前記ユーザのプレイ状況が前記第1報酬条件を満たすか否かを抽選によって決定する、[1]~[7]のいずれか1項に記載のゲーム制御装置。
[9]
前記第2進行部は、前記ユーザのプレイ状況が前記第2報酬条件を満たすか否かを抽選によって決定する、[1]~[8]のいずれか1項に記載のゲーム制御装置。
[10]
前記第1進行部は、
複数の移動オブジェクトが移動するゲームフィールドにおいて前記ユーザの操作による第1ゲーム内アクションを実行し、
前記第1報酬付与部は、
前記第1ゲーム内アクションに応じて選択可能状態になった前記移動オブジェクトに対する前記ユーザの第2ゲーム内アクションが成功であるか否かを判定し、
前記第2ゲーム内アクションが成功である場合に、前記第1報酬条件が満たされたと判定する、[1]~[9]のいずれか1項に記載のゲーム制御装置。
[11]
前記第2進行部は、
複数の移動オブジェクトが移動するゲームフィールドにおいて前記ユーザの操作による第1ゲーム内アクションを実行し、
前記第2報酬付与部は、
前記第1ゲーム内アクションに応じて選択可能状態になった前記移動オブジェクトに対する前記ユーザの第2ゲーム内アクションが成功であるか否かを判定し、
前記第2ゲーム内アクションが成功であって、且つ前記第2ゲーム内アクションの対象の前記移動オブジェクトが特殊オブジェクトである場合に、前記第2報酬条件が満たされたと判定する、[1]~[10]のいずれか1項に記載のゲーム制御装置。
[12]
1又は複数のコンピュータが、
ゲームの第1ステージにおいて、グループに属するユーザの操作に基づいて前記ゲームを進行させる第1進行処理と、
前記ユーザが設定するゲームパラメータの値を設定値として特定する設定値特定処理と、
前記第1ステージにおいて、前記ユーザのプレイ状況が第1報酬条件を満たした場合、前記設定値に応じて個人報酬として付与する前記ゲームパラメータの値を特定し、当該ユーザに関連付けられた前記ゲームパラメータの値である所持値を前記個人報酬に基づき更新する第1報酬付与処理と、
前記第1ステージにおいて前記ユーザのプレイ状況に基づき前記グループのミッションを達成したか否かを判定する判定処理と、
前記グループのミッションが達成された場合に、第2ステージで前記ゲームを進行させる第2進行処理と、
前記第2ステージにおいて前記グループに属する前記ユーザが第2報酬条件を満たした場合、前記グループに属する前記ユーザの少なくとも一人をグループ報酬を付与する対象の前記ユーザとして特定し、前記グループ報酬を付与する対象の前記ユーザ毎に前記グループ報酬として付与する前記ゲームパラメータの値を特定し、前記グループ報酬を付与する対象の前記ユーザの前記所持値を前記グループ報酬に基づき更新する第2報酬付与処理と、を実行するゲーム制御方法。
[13]
1又は複数のコンピュータを、
ゲームの第1ステージにおいて、グループに属するユーザの操作に基づいてゲーム画面を表示する第1出力制御部と、
前記ユーザが設定したゲームパラメータの値を設定値としてサーバに送信する送信部と、
前記第1ステージにおいて、前記ユーザのプレイ状況が第1報酬条件を満たした場合、前記設定値に応じて個人報酬として付与されたゲームパラメータの値を用いて更新された前記ユーザの所持値を表示する第1報酬表示部と、
前記グループのミッションが達成された場合に、第2ステージのゲーム画面を表示する第2出力制御部と、
前記第2ステージにおいて前記グループに属する他の前記ユーザが第2報酬条件を満たした場合、グループ報酬として付与された前記ゲームパラメータの値を用いて更新された前記ユーザの前記所持値を表示する第2報酬表示部と、して機能させるプログラム。
[14]
1又は複数のコンピュータが、
ゲームの第1ステージにおいて、グループに属するユーザの操作に基づいてゲーム画面を表示する第1出力制御処理と、
前記ユーザが設定したゲームパラメータの値を設定値としてサーバに送信する送信処理と、
前記第1ステージにおいて、前記ユーザのプレイ状況が第1報酬条件を満たした場合、前記設定値に応じて個人報酬として付与されたゲームパラメータの値を用いて更新された前記ユーザの所持値を表示する第1報酬表示処理と、
前記グループのミッションが達成された場合に、第2ステージのゲーム画面を表示する第2出力制御処理と、
前記第2ステージにおいて前記グループに属する他の前記ユーザが第2報酬条件を満たした場合、グループ報酬として付与された前記ゲームパラメータの値を用いて更新された前記ユーザの前記所持値を表示する第2報酬表示処理と、を実行する情報処理方法。
[15]
ゲームの第1ステージにおいて、グループに属するユーザの操作に基づいて前記ゲームを進行させる第1進行部と、
前記ユーザが設定するゲームパラメータの値を設定値として特定する設定値特定部と、
前記第1ステージにおいて、前記ユーザのプレイ状況が第1報酬条件を満たした場合、前記設定値に応じて個人報酬として付与する前記ゲームパラメータの値を特定し、当該ユーザに関連付けられた前記ゲームパラメータの値である所持値を前記個人報酬に基づき更新する第1報酬付与部と、
前記第1ステージにおいて前記ユーザのプレイ状況に基づき前記グループのミッションを達成したか否かを判定する判定部と、
前記グループのミッションが達成された場合に、第2ステージで前記ゲームを進行させる第2進行部と、
前記第2ステージにおいて前記グループに属する前記ユーザが第2報酬条件を満たした場合、前記グループに属する前記ユーザの少なくとも一人をグループ報酬を付与する対象の前記ユーザとして特定し、前記グループ報酬を付与する対象の前記ユーザ毎に前記グループ報酬として付与する前記ゲームパラメータの値を特定し、前記グループ報酬を付与する対象の前記ユーザの前記所持値を前記グループ報酬に基づき更新する第2報酬付与部と、を備えるゲーム制御システム。