JP6578079B1 - 端末、サーバおよびプログラム - Google Patents

端末、サーバおよびプログラム Download PDF

Info

Publication number
JP6578079B1
JP6578079B1 JP2019036289A JP2019036289A JP6578079B1 JP 6578079 B1 JP6578079 B1 JP 6578079B1 JP 2019036289 A JP2019036289 A JP 2019036289A JP 2019036289 A JP2019036289 A JP 2019036289A JP 6578079 B1 JP6578079 B1 JP 6578079B1
Authority
JP
Japan
Prior art keywords
real
game
user input
time
game state
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.)
Active
Application number
JP2019036289A
Other languages
English (en)
Other versions
JP2020137845A (ja
Inventor
量生 川上
量生 川上
大樹 ▲高▼橋
大樹 ▲高▼橋
尚希 高島
尚希 高島
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.)
Dwango Co Ltd
Original Assignee
Dwango Co Ltd
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 Dwango Co Ltd filed Critical Dwango Co Ltd
Priority to JP2019036289A priority Critical patent/JP6578079B1/ja
Application granted granted Critical
Publication of JP6578079B1 publication Critical patent/JP6578079B1/ja
Publication of JP2020137845A publication Critical patent/JP2020137845A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

【課題】新規なリアルタイムコンテンツ体験を提供する。【解決手段】本発明の一態様によれば、端末は、リアルタイムコンテンツを再生可能であって、取得部と、送信部と、状態制御部と、描画部とを含む。取得部は、(1)リアルタイムコンテンツに含まれる仮想オブジェクト、および(2)リアルタイムコンテンツとともに再生されるコンテンツ、のうちの少なくとも1つの状態を制御するための第1のユーザ入力を取得する。送信部は、第1のユーザ入力をサーバへ送信する。状態制御部は、第1のユーザ入力のなされた画面内位置に基づいて状態を決定する。描画部は、決定された状態に応じて、仮想オブジェクトおよびコンテンツの少なくとも1つを、サーバから受信され、または端末によって作成されたリアルタイムコンテンツの映像データに単位時間毎に重畳して再描画する。【選択図】 図2

Description

本発明は、リアルタイムのコンテンツ体験に関する。
従来、動画などのコンテンツの生放送(配信)サービスでは、観客がコメントを投稿し、配信者が投稿されたコメントに反応するという双方向的な視聴体験が可能である。近年では、いわゆるギフト機能を実装した生放送サービスも提案されているが、これも双方向的な視聴体験に寄与すると考えられる。
さらに、一部の生放送サービスでは、従来のライブ動画と共に楽しむことのできるゲームが実験的に提供されている。例えば非特許文献1には、釣りをするシロクマをクリックおよびタップで操作しアイテムを釣り上げ、それに応じて得られるポイントを配信者と観客との間で競うことのできるゲームが紹介されている。
「つりっくまとは」、[online]、[2019年2月11日検索]、インターネット、<URL:http://dic.nicovideo.jp/a/つりっくま>
本発明は、新規なリアルタイムコンテンツ体験を提供することを目的とする。
本発明の第1の態様によれば、端末は、リアルタイムコンテンツを再生可能であって、取得部と、送信部と、受信部と、遷移制御部と、検出部と、描画部とを含む。取得部は、リアルタイムコンテンツの配信時に起動可能なリアルタイムゲームを第1のゲーム状態から第2のゲーム状態に遷移させるための第1のユーザ入力を取得する。送信部は、第1のユーザ入力をサーバへ送信する。受信部は、リアルタイムコンテンツを再生する1以上の他の端末によって取得された、リアルタイムゲームにおいてキャラクタの移動を制御するための第2のユーザ入力をサーバから受信する。遷移制御部は、第1のユーザ入力の履歴に基づいて、リアルタイムゲームの第1のゲーム状態から第2のゲーム状態への遷移を制御する。検出部は、キャラクタのうちリアルタイムゲームが第2のゲーム状態にある時に移動中であるキャラクタを第2のユーザ入力に基づいて検出する。描画部は、リアルタイムゲームが第1のゲーム状態にある間に、キャラクタのうちリアルタイムゲームが第2のゲーム状態にある時に移動中であるとして検出されなかったキャラクタを、第2のユーザ入力の履歴に依存して決まる位置に、サーバから受信され、または端末によって作成されたリアルタイムコンテンツの映像データに単位時間毎に重畳して再描画する。
本発明の第2の態様によれば、端末は、リアルタイムコンテンツを再生可能であって、取得部と、送信部と、受信部と、遷移制御部と、検出部と、描画部とを含む。取得部は、リアルタイムコンテンツの配信時に起動可能なリアルタイムゲームにおいて第1のキャラクタの移動を制御するための第1のユーザ入力を取得する。送信部は、第1のユーザ入力をサーバへ送信する。受信部は、リアルタイムコンテンツを再生する1以上の第1の端末によって取得された、リアルタイムゲームにおいて第1のキャラクタとは異なる1以上の第2のキャラクタの移動を制御するための第2のユーザ入力と、リアルタイムコンテンツを再生する第2の端末によって取得された、リアルタイムゲームを第1のゲーム状態から第2のゲーム状態へ遷移させるための第3のユーザ入力とをサーバから受信する。遷移制御部は、第3のユーザ入力の履歴に基づいて、リアルタイムゲームの第1のゲーム状態から第2のゲーム状態への遷移を制御する。検出部は、第1のキャラクタおよび第2のキャラクタのうちリアルタイムゲームが第2のゲーム状態にある時に移動中であるキャラクタを第1のユーザ入力および第2のユーザ入力に基づいて検出する。描画部は、リアルタイムゲームが第1のゲーム状態にある間に、第1のキャラクタおよび第2のキャラクタのうちリアルタイムゲームが第2のゲーム状態にある時に移動中であるとして検出されていないキャラクタを、第1のユーザ入力の履歴および第2のユーザ入力の履歴に依存して決まる位置に、サーバから受信され、または端末によって作成されたリアルタイムコンテンツの映像データに単位時間毎に重畳して再描画する。
本発明の第3の態様によれば、端末は、リアルタイムコンテンツを再生可能であって、受信部と、遷移制御部と、検出部と、描画部とを含む。受信部は、リアルタイムコンテンツを再生する第1の端末によって取得された、リアルタイムコンテンツの配信時に起動可能なリアルタイムゲームを第1のゲーム状態から第2のゲーム状態へ遷移させるための第1のユーザ入力と、リアルタイムコンテンツを再生する1以上の第2の端末によって取得された、リアルタイムゲームにおいてキャラクタの移動を制御するための第2のユーザ入力とをサーバから受信する。遷移制御部は、第1のユーザ入力の履歴に基づいて、リアルタイムゲームの第1のゲーム状態から第2のゲーム状態への遷移を制御する。検出部は、キャラクタのうちリアルタイムゲームが第2のゲーム状態にある時に移動中であるキャラクタを第2のユーザ入力に基づいて検出する。描画部は、リアルタイムゲームが第1のゲーム状態にある間に、キャラクタのうちリアルタイムゲームが第2のゲーム状態にある時に移動中であるとして検出されていないキャラクタを、第2のユーザ入力の履歴に依存して決まる位置に、サーバから受信され、または端末によって作成されたリアルタイムコンテンツの映像データに単位時間毎に重畳して再描画する。
本発明の第4の態様によれば、サーバは、リアルタイムコンテンツを配信可能であって、受信部と、遷移制御部と、検出部と、描画部と、送信部とを含む。受信部は、リアルタイムコンテンツの映像データをリアルタイムコンテンツのソースとなる第1の端末から受信し、リアルタイムコンテンツの配信時に起動可能なリアルタイムゲームを第1のゲーム状態から第2のゲーム状態へ遷移させるための第1のユーザ入力をリアルタイムコンテンツを再生する第2の端末から受信し、キャラクタの移動を制御するための第2のユーザ入力をリアルタイムコンテンツを再生する1以上の第3の端末から受信する。遷移制御部は、第1のユーザ入力の履歴に基づいて、リアルタイムゲームの第1のゲーム状態から第2のゲーム状態への遷移を制御する。検出部は、キャラクタのうちリアルタイムゲームが第2のゲーム状態にある時に移動中であるキャラクタを第2のユーザ入力に基づいて検出する。描画部は、リアルタイムゲームが第1のゲーム状態にある間に、キャラクタのうちリアルタイムゲームが第2のゲーム状態にある時に移動中であるとして検出されていないキャラクタを、第2のユーザ入力の履歴に依存して決まる位置に、単位時間毎にリアルタイムコンテンツの映像データに重畳して再描画する。送信部は、再描画されたキャラクタを重畳したリアルタイムコンテンツの映像データを第1の端末、第2の端末および第3の端末へ送信する。
本発明の第5の態様によれば、サーバは、リアルタイムコンテンツを配信可能であって、受信部と、遷移制御部と、管理部と、検出部と、送信部とを含む。受信部は、リアルタイムコンテンツの映像データをリアルタイムコンテンツのソースとなる第1の端末から受信し、リアルタイムコンテンツの配信時に起動可能なリアルタイムゲームを第1のゲーム状態から第2のゲーム状態へ遷移させるための第1のユーザ入力をリアルタイムコンテンツを再生する第2の端末から受信し、キャラクタの移動を制御するための第2のユーザ入力をリアルタイムコンテンツを再生する1以上の第3の端末から受信する。遷移制御部は、第1のユーザ入力の履歴に基づいて、リアルタイムゲームの第1のゲーム状態から第2のゲーム状態への遷移を制御する。管理部は、第2のユーザ入力の履歴に基づいて、キャラクタの位置を管理する。検出部は、キャラクタのうちリアルタイムゲームが第2のゲーム状態にある時に移動中であるキャラクタを第2のユーザ入力に基づいて検出する。送信部は、(a)リアルタイムコンテンツの映像データと、キャラクタの位置を示すデータと、キャラクタのうちリアルタイムゲームが第2のゲーム状態にある時に移動中であるとして検出されたキャラクタを示すデータとを第1の端末、第2の端末および第3の端末へ送信し、(b)リアルタイムゲームの第1のゲーム状態から第2のゲーム状態へ遷移する時に、リアルタイムゲームが第2のゲーム状態に遷移したことの通知を第1の端末、第2の端末および第3の端末へ送信する。
なお、第4および第5の態様に係るサーバにおいて、第2の端末は、配信者端末であってもよいし、観客端末であってもよい。前者の場合には第1の端末および第2の端末は同一であり、後者の場合には第1の端末および第2の端末は異なる。同様に、第3の端末は、配信者端末であってもよいし、観客端末であってもよい。前者の場合には第1の端末および第3の端末は同一であり、後者の場合には第1の端末および第3の端末は異なる。
本発明の第6の態様によれば、端末は、リアルタイムコンテンツを再生可能であって、取得部と、送信部と、状態制御部と、描画部とを含む。取得部は、(1)リアルタイムコンテンツに含まれる仮想オブジェクト、および(2)リアルタイムコンテンツとともに再生されるコンテンツ、のうちの少なくとも1つの状態を制御するための第1のユーザ入力を取得する。送信部は、第1のユーザ入力をサーバへ送信する。状態制御部は、第1のユーザ入力のなされた画面内位置に基づいて状態を決定する。描画部は、決定された状態に応じて、仮想オブジェクトおよびコンテンツの少なくとも1つを、サーバから受信され、または端末によって作成されたリアルタイムコンテンツの映像データに単位時間毎に重畳して再描画する。
本発明によれば、新規なリアルタイムコンテンツ体験を提供することを目的とすることができる。
第1の実施形態に係る配信者端末および観客端末を含むライブ動画配信システムを例示するブロック図。 第1の実施形態に係る配信者端末を例示するブロック図。 図2の配信者端末によって作成されるライブ動画を例示する図。 図3のライブ動画の配信時にリアルタイムゲームが起動されている場合に、図2の配信者端末の出力装置に表示される画面を例示する図。 図3のライブ動画の配信時にリアルタイムゲームが起動されている場合に、図2の配信者端末の出力装置に表示される画面を例示する図。 第1の実施形態に係る観客端末を例示するブロック図。 図3のライブ動画の配信時にリアルタイムゲームが起動されている場合に、図6の観客端末の出力装置に表示される画面を例示する図。 図2の配信者端末の動作を例示するフローチャート。 図6の観客端末の動作を例示するフローチャート。 第2の実施形態に係る動画配信サーバを例示するブロック図。 図10の動画配信サーバの動作を例示するフローチャート。
以下、図面を参照しながら実施形態の説明を述べる。なお、以降、説明済みの要素と同一または類似の要素には同一または類似の符号を付し、重複する説明については基本的に省略する。例えば、複数の同一または類似の要素が存在する場合に、各要素を区別せずに説明するために共通の符号を用いることがあるし、各要素を区別して説明するために当該共通の符号に加えて枝番号を用いることもある。
なお、実施形態の説明では、リアルタイムコンテンツとしてライブ動画を仮定するが、リアルタイムコンテンツは動画とは異なる種類のコンテンツ(例えば、静止画、テキスト、など)であってもよい。また、ライブ動画とは、動画ソース(例えば、配信者端末)から動画配信サーバへのアップロードと、その配信とがリアルタイムに行われる動画全般を指しており、その題材は特に限定されない。具体的には、ライブ動画は、配信者による単なる撮影動画(例えば、自撮り動画、定点カメラの映像、ドライブレコーダーの映像、など)、配信者の実演(例えば、配信者による、歌唱、ダンスなどのパフォーマンス、ゲームプレイ、トーク、など)を撮影した動画、配信者が例えばゲームなどの対象について実況/解説を行う実況動画、配信者の分身であるアバターが存在する仮想空間の映像を仮想カメラにより撮影したVR(Virtual Reality)動画、などであり得る。
(第1の実施形態)
第1の実施形態に係る配信者端末および観客端末は、図1に例示されるライブ動画配信システムに組み込むことができる。このシステムは、実施形態に係る配信者端末100と、観客端末200と、動画配信サーバ300とを含む。動画配信サーバ300は、各種端末と例えばインターネットなどのネットワーク経由で接続されており、互いにデータを送受信し得る。また、動画配信サーバ300は、他の図示されないサーバ、例えばWebサーバ、コメントサーバ、などともネットワーク経由で接続され、互いにデータを送受信し得る。
配信者端末100、観客端末200および動画配信サーバ300は、以下に説明するように、ライブ動画配信サービスを授受するための基本的な機能を有する。
配信者端末100は、逐次、例えば配信者端末100に接続されたカメラ/マイクロフォンによって生成された映像/音声データをエンコードし、エンコード済み(マルチメディア)データを動画配信サーバ300へ送信(アップロード)する。
配信者端末100は、コンピュータなどの電子デバイス、例えば、PC(Personal Computer)、モバイル端末(例えば、タブレット、スマートフォン、ラップトップ、フィーチャーフォン、ポータブルゲーム機、など)、VR端末、AR(Augmented Reality)端末、ゲーム機、テレビ受像機(インターネットテレビを含む)、などであり得るが、これらに限られない。
動画配信サーバ300は、配信者端末100からエンコード済みデータを受信し、これに対して、例えば、再エンコード、HLS(HTTP (Hypertext Transfer Protocol) Live Streaming)形式への変換、などの加工を必要に応じて行う。動画配信サーバ300は、(加工後の)エンコード済みデータを配信者端末100および観客端末200へ配信する。すなわち、動画配信サーバ300は、ライブ動画を含むリアルタイムコンテンツを配信可能なサーバである。
観客端末200は、動画配信サーバ300からエンコード済みデータを受信し、これをデコードし、ライブ動画(音声を含む)を再生する。すなわち、観客端末200は、ライブ動画を含むリアルタイムコンテンツを再生可能な端末である。配信者端末100も、観客端末200と同様に、動画配信サーバ300からエンコード済みデータを受信し、これをデコードし、ライブ動画を再生し得る。或いは、配信者端末100は、動画配信サーバ300からエンコード済みデータを受信せず、自ら作成したライブ動画の映像データを再生してもよい。すなわち、配信者端末100は、ライブ動画を含むリアルタイムコンテンツのソースであるとともにこれを再生可能な端末であり得る。
なお、観客端末200は、逐次、図示されないコメントサーバからライブ動画に対して当該観客端末200の操作者もしくはその他の観客、または配信者によって投稿されたコメントデータを受信し、当該コメントデータの示すコメントをライブ動画に重畳して表示してもよい。コメントは、ライブ動画の表示領域の右端から左端に向かって移動するように所定時間に亘って表示されてよい。他方、観客端末200は、ユーザからのテキスト入力に基づいてライブ動画に投稿するコメントデータを生成し、コメントサーバへ送信し得る。これにより、配信者および観客は、ライブ動画の配信中であってもテキストベースでコミュニケーションを取ることが可能となる。
観客端末200は、配信者端末100と同様の電子デバイスであり得る。ただし、観客端末200は、映像/音声データを取り込んだり、これをエンコードしたりする能力は必要とされない。
そして、第1の実施形態に係る配信者端末100および観客端末200は、かかるライブ動画配信サービスを授受するための基本的な機能に加えて、当該ライブ動画の配信時に起動可能な(リアルタイム)ゲームをプレイする機能を有する。
このゲームは、配信者のみが起動できるものであってもよいし、課金などの条件付きまたは無条件で観客が起動できるものであってもよいし、図1のライブ動画配信システムの運営者が起動できるものであってもよい。
このゲームの具体的態様は、特に制限されないが、例えば「だるまさんがころんだ」のような、プレイヤー間の心理戦を題材としたゲームであり得る。具体的には、かかるゲームでは、プレイヤー、すなわち配信者および観客は、第1の役割と第2の役割とに分かれる。典型的には、配信者が第1の役割を担うが、配信者以外の観客が第1の役割を担ってもよい。かかるゲームにおいて、第1の役割のプレイヤーは、ゲーム状態の転換点となるタイミング、すなわちゲーム状態が遷移するタイミングをある程度自由に決定し、第2の役割のプレイヤーはかかるタイミングを予測してリスクを冒しながら行動し、勝利または高得点を目指す。なお、第1の役割のプレイヤーは、1人に限らず複数人であってもよい。また、ゲームは、「鬼ごっこ」のようなリアルタイムに状況が変わる遊びを題材としてもよい。
「だるまさんがころんだ」を例に取れば、だるま(鬼)が第1の役割に相当し、参加者が第2の役割に相当する。だるまは、「だるまさんがころんだ」のかけ声を唱えた後に振り向き、その時点で移動を止めていないキャラクタ(参加者役のプレイヤーのアバター)を捕まえることができる。捕まえられたキャラクタはゲームから脱落する。全てのキャラクタが脱落すれば、だるま役のプレイヤーの勝利である。故に、だるま役のプレイヤーは、「だるまさんがころんだ」のかけ声を唱える速さに変化を付けて、参加者役のプレイヤーの予想しないタイミングでだるまを振り向かせようと試みる。他方、参加者役のプレイヤーは、当該プレイヤーが操作するキャラクタが他のキャラクタよりも早くだるまに触れれば勝利となる。故に、参加者役のプレイヤーは、だるまが振り向くタイミングを予想して、だるまが振り向かないうちにキャラクタを最大限に移動させる。
かかるゲームにおいて、第1の役割のプレイヤーのUI(以降、単に第1のUIと称する)と、第2の役割のプレイヤーのUI(以降、単に第2のUIと称する)とは異なっていてもよい。例えば、第1のUIには、ゲーム状態の遷移の進行度を表示するGUI(Graphical User Interface)部品(ウィジェット)、例えばシークバー、などが含まれてもよい。また、このGUI部品は、ゲーム状態を遷移させるためのユーザ入力に対応する入力イベントを発生させてもよい。例えば、かかるユーザ入力は、第1の役割のプレイヤーがシークバーのスライダの位置を動かす操作を行った時に発生してもよい。これにより、第1の役割のプレイヤーは、ゲーム状態の遷移の進行の速さなどを直感的に操ることができる。他方、第2のUIには、第1のUIに比べて粗い精度でゲーム状態の遷移の進行度を視覚的に把握させるためのGUI部品、画像、テキスト、などが表示されてもよいし、かかるGUI部品などが全く表示されなくてもよい。
第1の実施形態では、第1の役割のプレイヤーの端末(配信者端末100または観客端末200)、および第2の役割のプレイヤーの端末は、それぞれ取得したユーザ入力を互いに動画配信サーバ300を介して送信し合う。そして、各端末は、自ら取得したユーザ入力と動画配信サーバ300を介して受信したユーザ入力とに基づいて、ゲーム処理を分散的に行う。すなわち、各端末は、各キャラクタの状態(例えば、現在位置または移動量、脱落者か否かを表すフラグ、など)を管理し、ゲーム状態の遷移を制御し、ゲーム状態に応じたゲーム画面をライブ動画の映像データに重畳して描画する。なお、ユーザ入力は、動画配信サーバ300に限らず他のサーバ、例えばゲームサーバを介してやり取りされてもよい。
なお、後述するように、第2の実施形態では、動画配信サーバ300が、各端末からユーザ入力を受信し、ゲーム処理を集中的に行う。すなわち、動画配信サーバ300は、各キャラクタの状態を管理し、ゲーム状態の遷移を制御し、ゲーム状態に応じたゲーム画面をライブ動画の映像データに重畳して再描画してこれを各端末へ送信する。なお、ここで説明したゲーム処理またはその一部は、動画配信サーバ300に限らず他のサーバ、例えばゲームサーバによって行われてもよい。
なお、図1において示される各装置の数は、例示に過ぎない。例えば、観客端末200の数は、時々刻々と変化するので、0となることがあり得るし、数百、数千となることもあり得る。また、図1のライブ動画配信システムは、複数のライブ動画を並列的に生放送することができるので、配信者端末100の数も複数となり得る。さらに、図1に示されないWebサーバ、コメントサーバなどがさらに設けられてもよい。
以下、図2乃至図5を用いて、第1の役割のプレイヤーの端末としての配信者端末100の構成について詳しく説明する。なお、以降の説明では、配信者が第1の役割のプレイヤーであることを前提としているが、観客が第1の役割のプレイヤーであってもよくかかる場合の端末の構成についても必要に応じて説明を加える。
配信者端末100は、コンピュータであって、例えば、入出力制御、通信制御、そしてゲーム処理を行うプロセッサを含む。ここで、プロセッサは、典型的にはCPU(Central Processing Unit)および/またはGPU(Graphics Processing Unit)であるが、マイコン、FPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)、またはその他の汎用または専用のプロセッサなどであってもよい。
また、配信者端末100は、かかる処理を実現するためにプロセッサによって実行されるプログラムおよび当該プロセッサによって使用されるデータ、例えばユーザ入力(イベントデータ)、映像データ、ゲームデータ、などを一時的に格納するメモリを含んでいる。メモリは、かかるプログラム/データが展開されるワークエリアを有するRAM(Random Access Memory)を含み得る。
なお、配信者端末100は、全てのデータをオンメモリの状態で扱ってもよいし、一部のデータが補助記憶装置に退避されていてもよい。補助記憶装置は、例えば、配信者端末100に内蔵または外付けされたHDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリなどであってもよいし、配信者端末100からアクセス可能なデータベースサーバであってもよい。
また、配信者端末100は、複数のコンピュータの組み合わせであってよい。例えば、配信者端末100の機能部、例えば図2に示される機能部が別個のコンピュータに分散して実装されてもよい。
次に、図2を用いて配信者端末100の構成例の説明を続ける。図2の配信者端末100は、通信I/F(インタフェース) 101と、入力装置102と、出力装置103と、受信データ取得部111と、デコーダ112と、映像データ記憶部113と、出力制御部114と、ユーザ入力取得部115と、送信制御部116と、遷移制御部117と、キャラクタ管理部118と、脱落者検出部119と、描画部120と、ゲームデータ記憶部121と、映像データ取得部122と、エンコーダ123とを含む。
通信I/F 101は、ネットワーク経由で、外部装置、例えば、動画配信サーバ300またはその他のサーバ、などと通信をするためのモジュールであり得る。例えば、通信I/F 101は、Wi−Fiモジュール、4Gモジュール、5Gモジュール、などの一部または全部を含み得る。通信I/F 101は、配信者端末100に内蔵されてもよいし、配信者端末100に外付けされてもよい。
通信I/F 101は、共通のライブ動画を再生する他の端末において取得された、ゲームに関するユーザ入力(イベントデータ)を動画配信サーバ300からネットワーク経由で受信し、これを受信データ取得部111へ送る。なお、図2の例では、観客は全て第2の役割のプレイヤーであるので、かかるユーザ入力は、典型的にはゲームにおいてキャラクタの移動を制御するためのものであり得る。また、通信I/F 101は、ライブ動画の映像データを動画配信サーバ300からネットワーク経由で受信し、これを受信データ取得部111へ送ってもよい。なお、前述のように、配信者端末100は、自ら作成したライブ動画の映像データを再生してもよい。この場合には、通信I/F 101は映像データを動画配信サーバ300から受信しない。代わりに、映像データ取得部122がエンコード前の映像データを映像データ記憶部113へ送るか、エンコーダ123がエンコード済みの映像データをデコーダ112へ送ることになる。
通信I/F 101は、ユーザ入力取得部115によって取得された、ゲームに関するユーザ入力(イベントデータ)を送信制御部116から受け取り、これを動画配信サーバ300へネットワーク経由で送信する。なお、図2の例では、配信者が第1の役割のプレイヤーであるので、かかるユーザ入力は、ゲームを第1のゲーム状態、例えばだるまが振り向いていない状態、から第2のゲーム状態、例えばだるまが振り向いた状態に遷移させるためのものであり得る。
さらに、通信I/F 101は、ライブ動画のエンコードされた映像データを送信制御部116から受け取り、これを動画配信サーバ300へネットワーク経由で送信する。なお、観客が第1の役割のプレイヤーである場合には、その観客端末の通信I/Fはかかる機能を必要としない。
入力装置102は、例えば、タッチスクリーン、キーボード、マウス、テンキー、マイクロフォン、カメラ、慣性センサ、などであり得る。入力装置102は、配信者端末100に内蔵されてもよいし、配信者端末100に外付けされてもよい。
入力装置102は、第1の役割のプレイヤーとしての配信者からゲームに関する操作、例えばタッチ、タップ、スワイプ、ドラグ、クリック、などを受け付け、これに応じたユーザ入力(イベントデータ)を発生する。そして、入力装置102は、このユーザ入力をユーザ入力取得部115へ送る。
また、例えば入力装置102としてのカメラは、配信者または他の被写体を撮影して映像データを生成する。そして、この入力装置102は、映像データを映像データ取得部122へ送る。かかる映像データは、特に限定されないが、例えば図3に示される配信者の自撮り映像であってもよい。なお、観客が第1の役割のプレイヤーである場合には、その観客端末の入力装置はかかる機能を必要としない。
出力装置103は、少なくともディスプレイを含み、このほかにスピーカ、バイブレータ、などを含んでもよい。出力装置103は、配信者端末100に内蔵されてもよいし、配信者端末100に外付けされてもよい。
出力装置103は、出力制御部114から映像データを受け取り、これを出力(表示)する。また、出力装置103は、出力制御部114から音声データを受け取ってこれを出力してもよい。
受信データ取得部111は、例えば前述のプロセッサに相当し得る。受信データ取得部111は、ライブ動画のエンコードされた映像データを通信I/F 101から取得し、これをデコーダ112へ送る。また、受信データ取得部111は、このライブ動画を再生する他の端末において取得された、ゲームに関するユーザ入力、例えば当該ゲームにおいてキャラクタの移動を制御するためのユーザ入力、を通信I/F 101から取得し、これをキャラクタ管理部118へ送る。
デコーダ112は、例えば前述のプロセッサまたは専用の回路に相当し得る。デコーダ112は、ライブ動画のエンコードされた映像データを受信データ取得部111から受け取る。デコーダ112は、エンコードされた映像データを適切なコーデックに従ってデコードして映像データを再生する。なお、デコーダ112は、ビデオデコーダに加えて音声デコーダを含んでいてもよい。デコーダ112は、再生した映像データを映像データ記憶部113に書き込む。
映像データ記憶部113は、例えば前述のメモリに相当し得る。映像データ記憶部113は、デコーダ112によって再生された、ライブ動画の映像データを保存する。ゲームの非プレイ時には、この映像データは、出力制御部114によって適時、すなわち当該映像データに対応する出力タイミングの到来前に、読み出される。他方、ゲームのプレイ時に、この映像データは、後述されるように、描画部120によってゲーム画面を重畳して更新される。そして、ゲーム画面が重畳された、ライブ動画の映像データは、出力制御部114によって適時に読み出される。
出力制御部114は、例えば前述のプロセッサに相当し得る。出力制御部114は、映像データ記憶部113に保存された映像データを適時に読み出し、これを出力装置103へ送る。
ユーザ入力取得部115は、例えば前述のプロセッサに相当し得る。ユーザ入力取得部115は、ゲームに関するユーザ入力、例えばゲームを第1のゲーム状態から第2のゲーム状態に遷移させるためのユーザ入力、を入力装置102から取得する。ユーザ入力取得部115は、このユーザ入力を送信制御部116および遷移制御部117へ送る。
送信制御部116は、例えば前述のプロセッサに相当し得る。送信制御部116は、ユーザ入力取得部115によって取得されたユーザ入力、例えばゲームを第1のゲーム状態から第2のゲーム状態に遷移させるためのユーザ入力、をユーザ入力取得部115から受け取り、これを通信I/F 101へ送る。
また、送信制御部116は、ライブ動画のエンコードされた映像データをエンコーダ123から受け取り、これを通信I/F 101へ送る。なお、観客が第1の役割のプレイヤーである場合には、その観客端末の送信制御部はかかる機能を必要としない。
遷移制御部117は、例えば前述のプロセッサに相当し得る。遷移制御部117は、ユーザ入力取得部115によって取得された、ゲームを第1のゲーム状態から第2のゲーム状態に遷移させるためのユーザ入力を受け取る。遷移制御部117は、このユーザ入力の履歴に基づいて、ゲームの第1のゲーム状態から第2のゲーム状態への遷移を制御する。遷移制御部117は、ゲームが第2のゲーム状態へ遷移すると、これをキャラクタ管理部118および描画部120に通知する。なお、第1の役割のプレイヤーが複数人存在する場合には、当該プレイヤーの端末からも、ゲームを第1のゲーム状態から第2のゲーム状態に遷移させるためのユーザ入力が受信され得る。この場合には、かかるユーザ入力は、受信データ取得部111から遷移制御部117へ送られ得る。
具体的には、遷移制御部117は、このユーザ入力の履歴に基づいて、第1のゲーム状態から第2のゲーム状態への遷移の進行度を算出し、この進行度が予め定められた値に到達するとゲームを第2のゲーム状態へ遷移させてもよい。
例えば、遷移制御部117は、ユーザ入力のなされた位置、回数、強度、持続時間、などに依存して、進行度を単位時間毎に再計算し得る。ここで、単位時間は、ゲームのフレーム時間であってよい。ゲームのフレーム時間は、ライブ動画のフレーム時間と同一であってもよいし、異なっていてもよい。例えば、ゲームのフレームレートをライブ動画のフレームレートよりも低くすることで、プレイヤー間の同期を容易にするとともに、配信者端末100および観客端末200における処理負荷を軽減できる。
なお、遷移制御部117は、進行度が予め定められた値に到達してからゲームを第2のゲーム状態へ遷移させるまでの間にディレイを設けてもよい。このディレイは、例えば人間の反応時間、通信の遅延時間、などに基づいて定められ得る。
また、遷移制御部117は、この進行度を描画部120へ送り、描画部120が第1の役割のプレイヤーに進行度を視覚的に把握させるための描画を行ってもよい。この具体例については後述する。
キャラクタ管理部118は、例えば前述のプロセッサに相当し得る。キャラクタ管理部118は、ゲームに登場するキャラクタの状態を管理する。なお、キャラクタ管理部118は、配信者端末100が行うゲームの仕様次第では不要となり得る。
具体的には、キャラクタ管理部118は、受信データ取得部111から、ゲームにおいて各キャラクタの移動を制御するためのユーザ入力を受け取り、この履歴に基づいて当該キャラクタの現在位置または移動量を計算する。例えば、キャラクタ管理部118は、単位時間毎に各キャラクタの移動を制御するためのユーザ入力を受け取り、これに基づいて各キャラクタの移動の有無、または当該単位時間あたりの移動量を決定し、当該キャラクタの現在位置または移動量を更新し得る。キャラクタ管理部118は、描画対象となるキャラクタの状態を示すデータを描画部120へ送る。
また、キャラクタ管理部118は、遷移制御部117によりゲームが第2のゲーム状態へ遷移したことを通知されると、各キャラクタの移動を制御するためのユーザ入力を脱落者検出部119へ送る。そして、キャラクタ管理部118は、ゲームが第2のゲーム状態にある時に移動中であるキャラクタ、すなわち脱落者に該当するキャラクタを識別するデータ(例えば、識別子)を受け取る。キャラクタ管理部118は、受け取ったデータによって識別されるキャラクタの脱落者フラグを有効にする。キャラクタ管理部118は、脱落者フラグが有効であるキャラクタを描画対象から除外してもよいししなくてもよい。例えば、かかるキャラクタは、だるまの捕虜として描画されてもよい。
なお、キャラクタ管理部118は、描画対象となるキャラクタを例えばその総数が所定数(例えば20人)以下になるように選定してもよい。これにより、ゲームの参加者数が所定数を超えて増えたとしても、ゲーム画面の描画負荷の増加を抑制できる。
描画対象となるキャラクタの選定は、例えばターン毎に行われ得る。故に、ターンの切り替わり時に、ゲーム画面中に描画されるキャラクタが追加、削除または変更されてもよい。ここで、ターンとは、例えば、だるまがキャラクタに背を向け(この状態を第3のゲーム状態と呼ぶこともできる)、だるまがかけ声を新たに唱え(第1のゲーム状態)、だるまが振り向き(第2のゲーム状態)、だるまがまたキャラクタに背を向ける(第3のゲーム状態)までのゲームサイクルを意味する。なお、第3のゲーム状態は、第1のゲーム状態と区別されてもよいし区別されなくてもよい。1ターンでゲームが終了しなければ、複数ターンに亘ってゲームは継続することになる。キャラクタ管理部118は、描画対象となるキャラクタをランダムに選定してもよいし、だるまに近い位置に居るキャラクタを優先的に選択してもよい。
さらに、キャラクタ管理部118は、全てのキャラクタが脱落者として検出された場合には、キャラクタの敗北、またはだるまの勝利を表現する演出画像の描画を描画部120に命令してもよい。他方、キャラクタ管理部118は、いずれかのキャラクタが予め定められた位置に到達し場合に、キャラクタの勝利、またはだるまの敗北を表現する演出画像の描画を描画部120に命令してもよい。
脱落者検出部119は、例えば前述のプロセッサに相当し得る。なお、脱落者検出部119は、配信者端末100が行うゲームのルール次第では不要となり得る。脱落者検出部119は、ゲームが第2のゲーム状態に遷移すると、キャラクタ管理部118から各キャラクタの移動を制御するためのユーザ入力を受け取る。脱落者検出部119は、このユーザ入力に基づいて脱落者を検出し、脱落者に該当するキャラクタを識別するデータをキャラクタ管理部118に返す。脱落者検出部119は、例えば、ユーザ入力に基づいて決定される単位時間あたりの移動量が閾値(これは、0であってもよい)を超えたキャラクタを脱落者として検出し得る。
描画部120は、例えば前述のプロセッサに相当し得る。描画部120は、キャラクタ管理部118から描画対象となるキャラクタの状態を示すデータを受け取り、ゲームデータ記憶部121からゲームデータ、例えばキャラクタおよびだるまの素材データなど、を読み出す。描画部120は、単位時間毎に、映像データ記憶部113からリアルタイムコンテンツの映像データを読み出し、当該映像データに重畳してゲーム画面を描画する。
描画部120は、現在のゲーム状態に関わらず、ゲーム画面の一部として、第1の役割のプレイヤーのための種々のUIを描画し得る。例えば、描画部120は、遷移制御部117から受け取った進行度をスライダの位置によって表現するシークバーを描画してもよい。これにより、第1の役割のプレイヤーは、現在の進行度を視覚的に把握することができる。なお、このシークバーは、第1の役割のプレイヤーからスライダの位置を動かす操作に応じてゲームを第1のゲーム状態から第2のゲーム状態に遷移させるためのユーザ入力を発生させるためにも利用され得る。或いは、描画部120はボタンを描画してもよく、このボタンが第1の役割のプレイヤーが当該ボタンを選択する操作(例えば、タッチ、タップ、クリック、スワイプ、など)に応じてゲームを第1のゲーム状態から第2のゲーム状態に遷移させるためのユーザ入力を発生させるために利用されてもよい。なお、描画部120によって描画されたボタンの代わりに、入力装置102に含まれる物理ボタンがかかるユーザ入力を発生させるために利用されてもよい。
例えば、描画部120は、ゲームが第1のゲーム状態にある間は、描画対象のキャラクタのうち脱落者を除くキャラクタの描画位置を、当該キャラクタの現在位置(これは、このキャラクタの移動を制御する入力の履歴に依存して決まる)を示すデータに従って再描画する。
これにより、例えば図4に例示されるように、各キャラクタが対応するプレイヤーの操作に応じて移動するゲーム画面を演出することができる。図4のゲーム画面は、キャラクタおよびだるまの画像に加えて、第1の役割のプレイヤー用のUIとして、前述のシークバーを含む。これにより、第1の役割のプレイヤーは、現在の進行度を視覚的に把握することができる。また、このゲーム画面では、だるまが唱えるかけ声が記載されたテキスト表示部がシークバーと平行に配置されており、このテキストはスライダ位置を基準に左側と右側とで表示態様(例えばフォント、色など)が異なる。このテキストは、シークバー内の位置がかけ声のどの部分に対応するかを第1の役割のプレイヤーが把握するのに役立つ。他方、かかるシークバーおよびテキストは、ゲームの緊張感を保つために第2の役割のプレイヤーのUIからは省略されてよい。
また、図4のゲーム画面は、第1の役割のプレイヤーおよび第2の役割のプレイヤー共通のUIとして、だるまが唱えるかけ声のうち現在どの部分(文字または単語)を読み上げているかを示す吹き出しをさらに含む。これにより、第2の役割のプレイヤーも第1の役割のプレイヤーに比べて粗い精度ではあるものの、現在の進行度を視覚的に把握することができる。なお、吹き出しは一例に過ぎず、その他のテキストまたは画像に置き換えられてよいし、かけ声が音声で読みあげられてもよい。さらに、このゲーム画面は、キャラクタの目標地点となるゴールラインがキャラクタとだるまとの間に配置されている。これにより、第2の役割のプレイヤーがどこまで移動すれば勝利できるのかを理解できる。加えて、このゲーム画面は、ターン終了までの残り時間の表示部も含む。この残り時間が0になると、ターンが強制的に終了する(すなわち、ゲームが第1のゲーム状態から第3のゲーム状態に遷移する)。
さらに、図4のゲーム画面は、「フェイント」ボタンを含む。前述の第3のゲーム状態の間に、第1の役割のプレイヤーがこのボタンを選択する操作をすると、ゲームは第2のゲーム状態へ再遷移する。すなわち、移動中のキャラクタが脱落者に追加され得る。第2の役割のプレイヤーからすると、だるまが元の姿勢に復帰した後に、すぐに新たにかけ声を唱え始めるのか(第1のゲーム状態に遷移するのか)、それともフェイントを入れて振り向いてくるかが判らないので、リスクを取って移動すべきか否かの駆け引きを楽しむことができる。なお、第3のゲーム状態の間に、第1の役割のプレイヤーがシークバーをタップするなどの操作をすると、ゲームは第1のゲーム状態に遷移する。
そして、描画部120は、遷移制御部117によりゲームが第2のゲーム状態へ遷移したことを通知されると、例えば図5に例示されるように、だるまが振り向いた画像を含むゲーム画面を描画してもよい。また、描画部120は、描画対象のキャラクタのうち脱落者として検出されたキャラクタを、ゲーム画面から消去してもよいし、例えばだるまの捕虜として描画し続けてもよい。また、このゲーム画面では、前述のスライダはシークバーの終点(右端)に位置している。さらに、このゲーム画面では、かけ声の最後の文字である「だ」が読み上げられたことを示す吹き出しを含む。
さらに、描画部120は、キャラクタ管理部118からの命令に従って、前述のキャラクタの敗北、もしくはだるまの勝利を表現する演出画像、または前述のキャラクタの勝利、またはだるまの敗北を表現する演出画像を描画し得る。
ゲームデータ記憶部121は、例えば前述のメモリに相当し得る。ゲームデータ記憶部121は、ゲーム(アプリケーション)によって使用される種々のゲームデータを保存する。ゲームデータは、例えばゲーム画面の描画および出力音声を制御するために必要とされる素材データを含み得る。素材データは、例えば、キャラクタ、オブジェクト、背景、ビジュアルエフェクト(Visual Effect)などの画像データ、効果音(SE:Sound Effect)、BGM(Background Music)、キャラクターボイス(Character Voice)、などの音声データ、振動パターン、などであり得る。なお、後述される第2の実施形態では、配信者端末100および観客端末200は、ゲーム画面の描画/出力音声の制御を行わないので、素材データを保存しなくてもよい。ゲームデータは、ゲームの開始時にダウンロードされゲームデータ記憶部121に一時的に書き込まれてもよいし、ゲームのインストールまたはアップデート時にゲームデータ記憶部121に書き込まれ、または書き換えられ得る。ゲームデータは、描画部120によって読み出される。
映像データ取得部122は、例えば前述のプロセッサに相当し得る。ライブ動画の映像データを例えば入力装置102としてのカメラまたはその他の映像ソースから取得し、これをエンコーダ123へ送る。なお、観客が第1の役割のプレイヤーである場合には、その観客端末は映像データ取得部122に相当する機能部を必要としない。
エンコーダ123は、例えば前述のプロセッサまたは専用の回路に相当し得る。エンコーダ123は、ライブ動画の映像データを映像データ取得部122から受け取り、これを適切なコーデックに従ってエンコードする。そして、エンコーダ123は、ライブ動画のエンコードされた映像データを送信制御部116へ送る。なお、観客が第1の役割のプレイヤーである場合には、その観客端末はエンコーダ123に相当する機能部を必要としない。
次に、図6および図7を用いて、第2の役割のプレイヤーの端末としての観客端末200の構成について詳しく説明する。観客端末200は、コンピュータであって、配信者端末100と同様のハードウェア構成、例えばプロセッサおよびメモリ、を有し得る。また、観客端末200は、複数のコンピュータの組み合わせであってよい。例えば、観客端末200の機能部、例えば図6に示される機能部が別個のコンピュータに分散して実装されてもよい。
次に、図6を用いて観客端末200の構成例の説明を続ける。図6の観客端末200は、通信I/F 201と、入力装置202と、出力装置203と、受信データ取得部211と、デコーダ212と、映像データ記憶部213と、出力制御部214と、ユーザ入力取得部215と、送信制御部216と、遷移制御部217と、キャラクタ管理部218と、脱落者検出部219と、描画部220と、ゲームデータ記憶部221とを含む。
図6の出力装置203、デコーダ212、映像データ記憶部213、出力制御部214、脱落者検出部219およびゲームデータ記憶部221はそれぞれ、図2の出力装置103、デコーダ112、映像データ記憶部113、出力制御部114、脱落者検出部119およびゲームデータ記憶部121と同一または類似の構成であってよいので説明を省略する。
通信I/F 201は、前述の通信I/F 101と同様のハードウェアであり得る。通信I/F 201は、観客端末200に内蔵されてもよいし、観客端末200に外付けされてもよい。
通信I/F 201は、共通のライブ動画を再生する他の端末において取得された、ゲームに関するユーザ入力を動画配信サーバ300からネットワーク経由で受信し、これを受信データ取得部211へ送る。なお、かかるユーザ入力は、ゲームにおいてキャラクタの移動を制御するためのものと、ゲームを第1のゲーム状態から第2のゲーム状態に遷移させるためのものとであり得る。また、通信I/F 201は、ライブ動画の映像データを動画配信サーバ300からネットワーク経由で受信し、これを受信データ取得部211へ送る。
通信I/F 201は、ユーザ入力取得部215によって取得された、ゲームに関するユーザ入力を送信制御部216から受け取り、これを動画配信サーバ300へネットワーク経由で送信する。なお、図6の例では、観客端末200の操作者である観客は第2の役割のプレイヤーであるので、かかるユーザ入力は、当該観客に対応するキャラクタの移動を制御するためのものであり得る。
入力装置202は、前述の入力装置102と同様のハードウェアであり得る。入力装置202は、観客端末200に内蔵されてもよいし、観客端末200に外付けされてもよい。入力装置202は、第1の役割のプレイヤーとしての配信者からゲームに関する操作を受け付け、これに応じたユーザ入力を発生する。そして、入力装置202は、このユーザ入力をユーザ入力取得部215へ送る。
受信データ取得部211は、例えば前述のプロセッサに相当し得る。受信データ取得部211は、ライブ動画のエンコードされた映像データを通信I/F 201から取得し、これをデコーダ212へ送る。また、受信データ取得部211は、このライブ動画を再生する他の端末(第2の役割のプレイヤーの端末)において取得された、ゲームに関するユーザ入力、例えば当該ゲームにおいてキャラクタの移動を制御するためのユーザ入力、を通信I/F 201から取得し、これをキャラクタ管理部218へ送る。さらに、受信データ取得部211は、このライブ動画を再生する他の端末(第1の役割のプレイヤーの端末)において取得された、ゲームに関するユーザ入力、例えば当該ゲームを第1のゲーム状態から第2のゲーム状態に遷移させるためのユーザ入力、を通信I/F 201から取得し、これを遷移制御部217へ送る。
ユーザ入力取得部215は、例えば前述のプロセッサに相当し得る。ユーザ入力取得部215は、ゲームに関するユーザ入力、例えば観客端末200の操作者に対応するキャラクタの移動を制御するためのユーザ入力、を入力装置202から取得する。ユーザ入力取得部215は、このユーザ入力を送信制御部216およびキャラクタ管理部218へ送る。
送信制御部216は、例えば前述のプロセッサに相当し得る。送信制御部216は、ユーザ入力取得部215によって取得されたユーザ入力、例えばゲームにおいてキャラクタの移動を制御するためのユーザ入力、をユーザ入力取得部215から受け取り、これを通信I/F 201へ送る。
遷移制御部217は、例えば前述のプロセッサに相当し得る。遷移制御部217は、ゲームを第1のゲーム状態から第2のゲーム状態に遷移させるためのユーザ入力を受信データ取得部211から受け取る。遷移制御部217は、このユーザ入力の履歴に基づいて、ゲームの第1のゲーム状態から第2のゲーム状態への遷移を制御する。遷移制御部217は、ゲームが第2のゲーム状態へ遷移すると、これをキャラクタ管理部218および描画部220に通知する。かかるユーザ入力の履歴に基づいて遷移制御部217によって行われる処理は、前述の遷移制御部117と同一または類似であってよい。
キャラクタ管理部218は、例えば前述のプロセッサに相当し得る。キャラクタ管理部218は、ゲームに登場するキャラクタの状態を管理する。なお、キャラクタ管理部218は、観客端末200が行うゲームの仕様次第では不要となり得る。
具体的には、キャラクタ管理部218は、受信データ取得部211およびユーザ入力取得部215から、ゲームにおいて各キャラクタの移動を制御するためのユーザ入力を受け取り、この履歴に基づいて当該キャラクタの現在位置または移動量を計算する。ここで、キャラクタ管理部218によって行われる処理は、基本的に前述のキャラクタ管理部118と同一または類似であってよい。
ただし、オプションとして、キャラクタ管理部218は、観客端末200の操作者に対応するキャラクタを、当該キャラクタが脱落者として検出されない限りは描画対象のキャラクタとして選定するようにしてもよい。これにより、ゲームの参加者数が所定数を超えて増えたとしても、ゲーム画面の描画負荷の増加を抑制しつつ各プレイヤーは自らのキャラクタの現在位置を視認しながらゲームをプレイすることが可能となる。
描画部220は、例えば前述のプロセッサに相当し得る。描画部220は、キャラクタ管理部218から描画対象となるキャラクタの状態を示すデータを受け取り、ゲームデータ記憶部221からゲームデータ、例えばキャラクタおよびだるまの素材データなど、を読み出す。描画部220は、単位時間毎に、映像データ記憶部213からリアルタイムコンテンツの映像データを読み出し、当該映像データに重畳してゲーム画面を描画する。
描画部220は、現在のゲーム状態に関わらず、ゲーム画面の一部として、第2の役割のプレイヤーのための種々のUIを描画し得る。例えば、描画部220は、図7に例示されるように「進む」ボタンを描画してもよく、このボタンが第2の役割のプレイヤーが当該ボタンを選択する操作(例えば、タッチ、タップ、クリップ、など)に応じて当該プレイヤーに対応するキャラクタの移動を制御するためのユーザ入力を発生させるために利用されてもよい。なお、描画部220によって描画されたボタンの代わりに、入力装置202に含まれる物理ボタンがかかるユーザ入力を発生させるために利用されてもよい。
例えば、描画部220は、ゲームが第1のゲーム状態にある間は、描画対象のキャラクタのうち脱落者を除くキャラクタの描画位置を、当該キャラクタの現在位置を示すデータに従って再描画する。
これにより、例えば図7に例示されるように、各キャラクタが対応するプレイヤーの操作に応じて移動するゲーム画面を演出することができる。図7のゲーム画面は、図4および図5のゲーム画面とは異なり、第1の役割のプレイヤー向けのUI、例えば、シークバーおよびこれと平行に配置されたテキスト表示部、および「フェイント」ボタンを含まない。また、観客端末200の操作者に対応するキャラクタと他の参加者に対応するキャラクタとを容易に区別できるようにするために、両者の表示態様を異ならせている。他方、図7のゲーム画面では、図4および図5のゲーム画面と同様に、第1の役割のプレイヤーおよび第2の役割のプレイヤー共通のUI、例えば、吹き出しおよび残り時間の表示部を含む。
なお、観客は、ゲームに参加せずにゲームを視聴することもできる。かかる観客向けの観客端末200は、当該観客自身からのゲームに関するユーザ入力を扱う必要がないので、前述のユーザ入力取得部215および送信制御部216の機能の一部または全部を必要としない。
また、配信者は、第2の役割のプレイヤーとしてゲームに参加してもよい。かかる配信者向けの配信者端末100は、図2の機能部の一部を変形すればよい。例えば、受信データ取得部111は、第1の役割のプレイヤーの観客端末200から受信された、ゲームを第1のゲーム状態から第2のゲーム状態に遷移させるためのユーザ入力を取得するので、これを遷移制御部117へ送ればよい。また、ユーザ入力取得部115は、配信者に対応するキャラクタの移動を制御するユーザ入力を取得するので、これをキャラクタ管理部118へ送ればよい。さらに、配信者は、ゲームに参加せずにゲームを視聴することもできる。かかる配信者向けの配信者端末100は、当該配信者自身からのゲームに関するユーザ入力を扱う必要がないので、前述のユーザ入力取得部115および送信制御部116の機能の一部または全部を必要としない。
次に、図8を用いて、第1の役割のプレイヤーの端末としての配信者端末100の動作を説明する。図8の動作は、ステップS401から開始する。
ステップS401において、キャラクタ管理部118および描画部120は、ターン開始処理を行う。具体的には、キャラクタ管理部118は、描画対象となるキャラクタを選定し、選定したキャラクタの状態を示すデータを描画部120へ送る。描画部120は、このデータに基づいてゲーム画面を描画する。ステップS401の後に、処理はステップS402へ進む。
ステップS402において、入力装置102およびユーザ入力取得部115は、例えばUIに含まれるシークバーへの操作に応じて、ゲームを第1のゲーム状態から第2のゲーム状態に遷移させるためのユーザ入力を取得し、送信制御部116および通信I/F 101はこれを動画配信サーバ300へ送信する。他方、通信I/F 101および受信データ取得部111は、他の端末(第2の役割のプレイヤーの端末)において取得されたユーザ入力を受信する(ステップS403)。
遷移制御部117は、ステップS402において取得されたユーザ入力に基づいて、第1のゲーム状態から第2のゲーム状態への進行度を算出する(ステップS404)。遷移制御部117は、ステップS404において算出した進行度に基づいて、ゲームを第2のゲーム状態へ遷移させるか否かを決定する(ステップS405)。ゲームを第2のゲーム状態へ遷移させる場合には処理はステップS411へ進み、そうでなければ処理はステップS406へ進む。
ステップS406において、キャラクタ管理部118はステップS403において受信したユーザ入力に基づいて各キャラクタの現在位置を更新し、いずれかのキャラクタがゲームをクリアしたか否か、例えば予め定められたゴールラインに到達したキャラクタが存在するか否か、を判定する。いずれかのキャラクタがゲームをクリアしたと判定された場合には処理はステップS409へ進み、そうでなければ処理はステップS407へ進む。
ステップS407において、描画部120は、各キャラクタの現在位置に応じたゲーム画面を描画する。そして、出力制御部114および出力装置103はステップS407において描画された1単位時間分のゲーム画面が重畳されたライブ動画の映像データを出力する(ステップS408)。ステップS408の後に、処理はステップS402に戻る。
ステップS409において、描画部120は、キャラクタの勝利、またはだるまの敗北を表現する演出画像を含むゲーム画面を描画する。そして、出力制御部114および出力装置103はステップS409において描画された1単位時間分のゲーム画面が重畳されたライブ動画の映像データを出力する(ステップS410)。ステップS410の後に、図8の動作は終了する。
ステップS411において、脱落者検出部119はステップS402において受信されたユーザ入力に基づいて脱落者を検出する。次に、キャラクタ管理部118は、ステップS411の結果、全てのキャラクタが脱落者として検出されたか否かを判定する(ステップS412)。全員が脱落したならば処理はステップS415へ進み、そうでなければ処理はステップS413へ進む。
ステップS413において、描画部120は、例えばだるまが振り向いた画像を含むゲーム画面を描画する。そして、出力制御部114および出力装置103はステップS413において描画された1単位時間分のゲーム画面が重畳されたライブ動画の映像データを出力する(ステップS414)。ステップS414の後に、処理はステップS401に戻る。
ステップS415において、描画部120は、キャラクタの敗北、またはだるまの処理を表現する演出画像を含むゲーム画面を描画する。そして、出力制御部114および出力装置103はステップS415において描画された1単位時間分のゲーム画面が重畳されたライブ動画の映像データを出力する(ステップS416)。ステップS416の後に、図8の動作は終了する。
次に、図9を用いて、第2の役割のプレイヤーの端末としての観客端末200の動作を説明する。なお、図9のステップS501、ステップS505、およびステップS507乃至ステップS516は、図8のステップS401、ステップS405、およびステップS407乃至ステップS416とそれぞれ同一または類似の処理であってよいので説明を省略する。
ステップS502において、入力装置202およびユーザ入力取得部215は、例えばUIに含まれる「進む」ボタンへの操作に応じて、この観客端末200の操作者に対応するキャラクタの移動を制御するためのユーザ入力を取得し、送信制御部216および通信I/F 201はこれを動画配信サーバ300へ送信する。他方、通信I/F 201および受信データ取得部211は、他の端末(第1の役割のプレイヤーの端末または第2の役割のプレイヤーの端末)において取得されたユーザ入力を受信する(ステップS503)。
遷移制御部217は、ステップS503において受信された、ゲームを第1のゲーム状態から第2のゲーム状態に遷移させるためのユーザ入力に基づいて、第1のゲーム状態から第2のゲーム状態への進行度を算出する(ステップS504)。
ステップS506において、キャラクタ管理部218は、ステップS502において取得したユーザ入力と、ステップS503において受信した、キャラクタの移動を制御するためのユーザ入力とに基づいて各キャラクタの現在位置を更新し、いずれかのキャラクタがゲームをクリアしたか否かを判定する。いずれかのキャラクタがゲームをクリアしたと判定された場合には処理はステップS509へ進み、そうでなければ処理はステップS507へ進む。
以上説明したように、第1の実施形態に係る端末は、リアルタイムコンテンツの配信時に起動可能なリアルタイムゲームに関するユーザ入力を取得し、当該リアルタイムコンテンツを再生中の他の端末へサーバを介して送信する。そして、各端末は、自ら取得したユーザ入力および/またはサーバを介して受信したユーザ入力に基づいて、ゲーム状態の遷移を制御し、ゲーム状態に応じたゲーム画面をリアルタイムコンテンツの映像データに重畳して描画する。故に、この端末によれば、リアルタイムコンテンツの配信者および視聴者が、当該リアルコンテンツと共に楽しむことのできるゲーム体験を提供することができる。
さらに、第1の役割のプレイヤーの端末は、当該プレイヤーのUIとして、ゲーム状態の遷移の進行度を表示するGUI部品、例えばシークバー、などを含み得る。これにより、第1の役割のプレイヤーは、ゲーム状態の遷移の進行の速さなどを直感的に操ることができる。
なお、本実施形態において、サーバは、ゲームのプレイヤーの端末から受信したユーザ入力を全てそのままプレイヤーおよび視聴者の端末へ送信することを前提に説明したが、これは一例に過ぎない。サーバは、受信したユーザ入力の一部をフィルタリング、例えば破棄、してから各端末へ送信してもよいし、受信したユーザ入力の一部または全部を要約してから各端末へ送信してもよい。ここで、要約とは、例えばサーバがあるキャラクタを単位距離移動させるユーザ入力を3回受信した場合に、これをあるキャラクタを3単位距離移動させる1つのユーザ入力に変換する処理、などであり得る。サーバは、かかるフィルタリングおよび/または要約を、定常的に行ってもよいし、対象となるゲームに関わるデータ通信量が閾値を超えている場合、などの条件付きで行ってもよい。
(第2の実施形態)
第2の実施形態では、動画配信サーバ300が、各端末からユーザ入力を受信し、ゲーム処理を集中的に行う。故に、配信者端末100および観客端末200は、ゲームに関するユーザ入力を取得し、動画配信サーバ300へ送信する以外の機能を必要としない。故に、配信者端末100から、図2の遷移制御部117、キャラクタ管理部118、脱落者検出部119、描画部120およびゲームデータ記憶部121は省略され得る。同様に、観客端末200から図6の遷移制御部217、キャラクタ管理部218、脱落者検出部219、描画部220およびゲームデータ記憶部221は省略され得る。
次に、図10を用いて、第2の実施形態に係る動画配信サーバ300の構成について詳しく説明する。
動画配信サーバ300は、コンピュータであって、配信者端末100および/または観客端末200と同様のハードウェア構成、例えばプロセッサおよびメモリ、を有し得る。また、動画配信サーバ300は、複数のコンピュータの組み合わせであってよい。例えば、動画配信サーバ300の機能部、例えば図10に示される機能部が別個のコンピュータに分散して実装されてもよい。
次に、図10を用いて動画配信サーバ300の構成例の説明を続ける。図10の動画配信サーバ300は、通信I/F 301と、受信データ取得部311と、デコーダ312と、映像データ記憶部313と、送信制御部316と、遷移制御部317と、キャラクタ管理部318と、脱落者検出部319と、描画部320と、ゲームデータ記憶部321と、エンコーダ323とを含む。
図10のデコーダ312、遷移制御部317、脱落者検出部319およびゲームデータ記憶部321は、それぞれ図6のデコーダ212、遷移制御部217、脱落者検出部219およびゲームデータ記憶部221と同一または類似の構成であってよいので説明を省略する。
通信I/F 301は、前述の通信I/F 101および/または通信I/F 201と同様のハードウェアであり得る。通信I/F 301は、動画配信サーバ300に内蔵されてもよいし、動画配信サーバ300に外付けされてもよい。
通信I/F 301は、共通のライブ動画を再生する各端末において取得された、ゲームに関するユーザ入力を動画配信サーバ300からネットワーク経由で受信し、これを受信データ取得部311へ送る。なお、かかるユーザ入力は、ゲームにおいてキャラクタの移動を制御するためのものと、ゲームを第1のゲーム状態から第2のゲーム状態に遷移させるためのものとであり得る。また、通信I/F 301は、ライブ動画の映像データを配信者端末100からネットワーク経由で受信し、これを受信データ取得部311へ送ってもよい。
通信I/F 301は、ライブ動画のエンコードされた映像データを送信制御部316から受け取り、これを当該ライブ動画を再生中の各端末へネットワーク経由で送信する。ゲームのプレイ時には、この映像データには描画部320によってゲーム画面が重畳されている。
受信データ取得部311は、例えば前述のプロセッサに相当し得る。受信データ取得部311は、ライブ動画のエンコードされた映像データを通信I/F 301から取得し、これをデコーダ312へ送る。また、受信データ取得部311は、このライブ動画を再生する各端末(第2の役割のプレイヤーの端末)において取得された、ゲームに関するユーザ入力、例えば当該ゲームにおいてキャラクタの移動を制御するためのユーザ入力、を通信I/F 301から取得し、これをキャラクタ管理部318へ送る。さらに、受信データ取得部311は、このライブ動画を再生する配信者端末100または観客端末200(第1の役割のプレイヤーの端末)において取得された、ゲームに関するユーザ入力、例えば当該ゲームを第1のゲーム状態から第2のゲーム状態に遷移させるためのユーザ入力、を通信I/F 301から取得し、これを遷移制御部317へ送る。
映像データ記憶部313は、例えば前述のメモリに相当し得る。映像データ記憶部313は、デコーダ312によって再生された、ライブ動画の映像データを保存する。ゲームの非プレイ時には、この映像データは、エンコーダ323によって適時、すなわち当該映像データに対応する送信タイミングの到来前に、読み出される。他方、ゲームのプレイ時に、この映像データは、後述されるように、描画部320によってゲーム画面を重畳して更新される。そして、ゲーム画面が重畳された、ライブ動画の映像データは、エンコーダ323によって適時に読み出される。
送信制御部316は、ライブ動画のエンコードされた映像データをエンコーダ323から受け取り、これを通信I/F 301へ送る。前述のように、ゲームのプレイ時には、この映像データには描画部320によってゲーム画面が重畳されている。
キャラクタ管理部318は、例えば前述のプロセッサに相当し得る。キャラクタ管理部318は、ゲームに登場するキャラクタの状態を管理する。なお、キャラクタ管理部318は、観客端末200が行うゲームの仕様次第では不要となり得る。
具体的には、キャラクタ管理部318は、受信データ取得部311から、ゲームにおいて各キャラクタの移動を制御するためのユーザ入力を受け取り、この履歴に基づいて当該キャラクタの現在位置または移動量を計算する。ここで、キャラクタ管理部318によって行われる処理は、基本的に前述のキャラクタ管理部118またはキャラクタ管理部218と同一または類似であってよい。
描画部320は、例えば前述のプロセッサに相当し得る。描画部320は、キャラクタ管理部318から描画対象となるキャラクタの状態を示すデータを受け取り、ゲームデータ記憶部321からゲームデータ、例えばキャラクタおよびだるまの素材データなど、を読み出す。描画部320は、単位時間毎に、映像データ記憶部313からリアルタイムコンテンツの映像データを読み出し、当該映像データに重畳してゲーム画面を描画する。
なお、前述のように、第1の役割のプレイヤーと第2の役割のプレイヤーとでUIは異なり得る。故に、描画部320は、各プレイヤー共通のゲーム画面を描画し、プレイヤー間で異なるUI部分は各端末において描画されてもよい。或いは、動画配信サーバ300は、第1の役割のプレイヤー用の映像データと、第2の役割のプレイヤー用の映像データとを並列的に描画し、配信してもよい。
エンコーダ323は、例えば前述のプロセッサまたは専用の回路に相当し得る。エンコーダ323は、映像データ記憶部313に保存された映像データを適時に読み出し、これを適切なコーデックに従ってエンコードする。そして、エンコーダ323は、ライブ動画のエンコードされた映像データを送信制御部316へ送る。
次に、図11を用いて、動画配信サーバ300の動作を説明する。なお、図11のステップS605、ステップS607、ステップS609、ステップS611乃至ステップS613およびステップS615は、図8のステップS405、ステップS407、ステップS409、ステップS411乃至ステップS413およびステップS415とそれぞれ同一または類似の処理であってよいので説明を省略する。
図11の動作は、ステップS601から開始する。ステップS601において、キャラクタ管理部318および描画部320は、ターン開始処理を行う。ステップS601の後に、処理はステップS603へ進む。
ステップS603において、通信I/F 301および受信データ取得部311は、各端末において取得されたユーザ入力を受信する。
遷移制御部317は、ステップS603において受信された、ゲームを第1のゲーム状態から第2のゲーム状態に遷移させるためのユーザ入力に基づいて、第1のゲーム状態から第2のゲーム状態への進行度を算出する(ステップS604)。
ステップS606において、キャラクタ管理部318は、ステップS603において受信した、キャラクタの移動を制御するためのユーザ入力に基づいて各キャラクタの現在位置を更新し、いずれかのキャラクタがゲームをクリアしたか否かを判定する。いずれかのキャラクタがゲームをクリアしたと判定された場合には処理はステップS609へ進み、そうでなければ処理はステップS607へ進む。
ステップS608において、エンコーダ323は、ステップS607において描画されたゲーム画面が重畳されたライブ動画の映像データをエンコードし、送信制御部316および通信I/F 301はこれを各端末へ送信する。ステップS608の後に、処理はステップS603に戻る。
ステップS610において、エンコーダ323は、ステップS609において描画されたゲーム画面が重畳されたライブ動画の映像データをエンコードし、送信制御部316および通信I/F 301はこれを各端末へ送信する。ステップS610の後に、図11の動作は終了する。
ステップS614において、エンコーダ323は、ステップS613において描画されたゲーム画面が重畳されたライブ動画の映像データをエンコードし、送信制御部316および通信I/F 301はこれを各端末へ送信する。ステップS614の後に、処理はステップS601に戻る。
ステップS616において、エンコーダ323は、ステップS613において描画されたゲーム画面が重畳されたライブ動画の映像データをエンコードし、送信制御部316および通信I/F 301はこれを各端末へ送信する。ステップS616の後に、図11の動作は終了する。
以上説明したように、第2の実施形態に係るサーバは、リアルタイムコンテンツの配信時に起動可能なリアルタイムゲームに関するユーザ入力を当該ゲームの参加者の各端末から受信する。そして、このサーバは、受信したユーザ入力に基づいて、ゲーム状態の遷移を制御し、ゲーム状態に応じたゲーム画面をリアルタイムコンテンツの映像データに重畳して描画する。それから、このサーバは、ゲーム画面を重畳した、リアルタイムコンテンツの映像データを、当該リアルタイムコンテンツを再生中の各端末へ送信する。故に、このサーバによれば、リアルタイムコンテンツの配信者および視聴者が、当該リアルコンテンツと共に楽しむことのできるゲーム体験を提供することができる。
また、本実施形態において、サーバは必ずしも全てのゲーム処理を担当せずともよく、サーバおよび端末は必要に応じてゲーム処理を分担してもよい。具体的には、サーバは、ユーザ入力の処理、例えば、ゲーム状態の制御、キャラクタの状態の管理、脱落者の検出、その他の判定処理、など、を行い、描画に必要なデータを生成して端末に送信してもよい。そして、端末は、サーバから受信したデータに基づいて、残りの処理、例えば描画処理、を行ってもよい。この場合に、動画配信サーバ300は、遷移制御部317、キャラクタ管理部318、および脱落者検出部319を備える必要があるものの、描画部320を備えなくてもよい。他方、配信者端末100は、描画部120を備える必要があるものの、遷移制御部117、キャラクタ管理部118、および脱落者検出部119を備えなくてもよい。同様に、観客端末200は、描画部220を備える必要があるものの、遷移制御部217、キャラクタ管理部218、および脱落者検出部219を備えなくてもよい。
(変形例)
実施形態の説明では、ゲーム画面およびリアルタイムコンテンツが2D映像であることとした。しかしながら、これらは、3D映像であってもよい。例えば、VR、ARまたはMR(Mixed Reality)などの3次元空間に、2次元または3次元のゲーム画面が描画されてもよい。
また、実施形態の説明では、ライブ動画の配信時に実行されるリアルタイムゲームについて説明したが、ライブ動画以外のコンテンツ、例えば、予め作成され動画配信サーバに保存されている動画の映像データの再生時に、当該動画の観客がかかるゲームを実行できるようにしてもよい。
また、実施形態の説明では、ライブ動画の配信時に起動可能なリアルタイムゲームを主に説明した。しかしながら、例えば前述のシークバーなどの第1の役割のプレイヤーのUIは、リアルタイムコンテンツに付随する様々な対象の状態を直感的に操るためのユーザ入力を受け付ける汎用UIとしても応用可能である。
この場合に、端末または動画配信サーバは、かかるユーザ入力のなされる度に、その画面内位置、例えばスライダの位置、に基づいて、対象の状態を決定する状態制御部を備えていてもよい。この状態制御部は、例えばプロセッサに相当し得る。また、これらの端末または動画配信サーバにおいて、描画部は、決定された状態に応じて、対象を単位時間毎にリアルタイムコンテンツの映像データに重畳して再描画してもよい。
具体的には、リアルタイムコンテンツ、例えば仮想空間のライブ動画、に含まれる仮想オブジェクト、例えば、アバター、動物、ロボット、乗り物、などの状態、例えば、速度、加速度、姿勢、位置、などを制御するために、このUIが使用されてもよい。
また、リアルタイムコンテンツとともに再生可能なコンテンツ、例えば、ライブ動画において引用された他の非ライブ動画、などの状態、例えば、再生位置、再生速度、コマ送り位置、コマ送り速度、などを制御するためにこのUIが使用されてもよい。
なお、UIは、シークバーのような1次元の位置情報を扱うものに限られず、2次元以上の位置情報を扱うものであってもよい。例えば、ある2次元位置を指定するユーザ入力がなされた場合に、X座標に基づいて対象の速度を制御し、Y座標に基づいて対象の加速度を制御してもよい。
上述の実施形態は、本発明の概念の理解を助けるための具体例を示しているに過ぎず、本発明の範囲を限定することを意図されていない。実施形態は、本発明の要旨を逸脱しない範囲で、様々な構成要素の付加、削除または転換をすることができる。
上述の実施形態では、いくつかの機能部を説明したが、これらは各機能部の実装の一例に過ぎない。例えば、1つの装置に実装されると説明された複数の機能部が複数の別々の装置に亘って実装されることもあり得るし、逆に複数の別々の装置に亘って実装されると説明された機能部が1つの装置に実装されることもあり得る。
上記各実施形態において説明された種々の機能部は、回路を用いることで実現されてもよい。回路は、特定の機能を実現する専用回路であってもよいし、プロセッサのような汎用回路であってもよい。
上記各実施形態の処理の少なくとも一部は、例えば汎用のコンピュータに搭載されたプロセッサを基本ハードウェアとして用いることでも実現可能である。上記処理を実現するプログラムは、コンピュータで読み取り可能な記録媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記録媒体に記憶される。記録媒体としては、磁気ディスク、光ディスク(CD−ROM、CD−R、DVD等)、光磁気ディスク(MO等)、半導体メモリなどである。記録媒体は、プログラムを記憶でき、かつ、コンピュータが読み取り可能であれば、何れであってもよい。また、上記処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。
100・・・配信者端末
101,201,301・・・通信I/F
102,202・・・入力装置
103,203・・・出力装置
111,211,311・・・受信データ取得部
112,212,312・・・デコーダ
113,213,313・・・映像データ記憶部
114,214・・・出力制御部
115,215・・・ユーザ入力取得部
116,216,316・・・送信制御部
117,217,317・・・遷移制御部
118,218,318・・・キャラクタ管理部
119,219,319・・・脱落者検出部
120,220,320・・・描画部
121,221,321・・・ゲームデータ記憶部
122・・・映像データ取得部
123,323・・・エンコーダ
200・・・観客端末
300・・・動画配信サーバ

Claims (11)

  1. リアルタイムコンテンツを再生可能な端末であって、
    前記リアルタイムコンテンツの配信時に起動可能なリアルタイムゲームを第1のゲーム状態から第2のゲーム状態に遷移させるための第1のユーザ入力を取得する取得部と、
    前記第1のユーザ入力をサーバへ送信する送信部と、
    前記リアルタイムコンテンツを再生する1以上の他の端末によって取得された、前記リアルタイムゲームにおいてキャラクタの移動を制御するための第2のユーザ入力を前記サーバから受信する受信部と、
    前記第1のユーザ入力の履歴に基づいて、前記リアルタイムゲームの前記第1のゲーム状態から前記第2のゲーム状態への遷移を制御する遷移制御部と、
    前記キャラクタのうち前記リアルタイムゲームが前記第2のゲーム状態にある時に移動中であるキャラクタを前記第2のユーザ入力に基づいて検出する検出部と、
    前記リアルタイムゲームが前記第1のゲーム状態にある間に、前記キャラクタのうち前記リアルタイムゲームが前記第2のゲーム状態にある時に移動中であるとして検出されなかったキャラクタを、前記第2のユーザ入力の履歴に依存して決まる位置に、前記サーバから受信され、または前記端末によって作成された前記リアルタイムコンテンツの映像データに単位時間毎に重畳して再描画する描画部と
    を具備する、端末。
  2. 前記遷移制御部は、前記第1のユーザ入力の履歴に基づいて、前記第1のゲーム状態から前記第2のゲーム状態への遷移の進行度を算出し、
    前記描画部は、前記進行度を表示するGUI(Graphical User Interface)部品をさらに描画する、
    請求項1に記載の端末。
  3. 前記GUI部品は、前記進行度をスライダの位置によって表現するシークバーであって、
    前記第1のユーザ入力は、前記スライダの位置を動かす操作である、
    請求項2に記載の端末。
  4. 前記第1のユーザ入力は、前記端末に備えられた物理ボタン、または前記描画部によって描画されたボタンを選択する操作であって、
    前記遷移制御部は、前記第1のユーザ入力が行われた持続時間を前記第1のゲーム状態から前記第2のゲーム状態への遷移の進行度としてカウントし、
    前記描画部は、前記進行度を表すテキストまたは画像をさらに描画する、
    請求項1に記載の端末。
  5. 前記描画部は、前記キャラクタの全てが前記リアルタイムゲームが前記第2のゲーム状態にある時に移動中であるとして検出された場合に、前記キャラクタが敗北したことを示す画像を描画する、請求項1に記載の端末。
  6. 前記描画部は、前記キャラクタのいずれかが予め定められた位置に到達した場合に、当該キャラクタが勝利したことを示す画像を描画する、請求項1に記載の端末。
  7. リアルタイムコンテンツを再生可能な端末であって、
    前記リアルタイムコンテンツの配信時に起動可能なリアルタイムゲームにおいて第1のキャラクタの移動を制御するための第1のユーザ入力を取得する取得部と、
    前記第1のユーザ入力をサーバへ送信する送信部と、
    前記リアルタイムコンテンツを再生する1以上の第1の端末によって取得された、前記リアルタイムゲームにおいて前記第1のキャラクタとは異なる1以上の第2のキャラクタの移動を制御するための第2のユーザ入力と、前記リアルタイムコンテンツを再生する第2の端末によって取得された、前記リアルタイムゲームを第1のゲーム状態から第2のゲーム状態へ遷移させるための第3のユーザ入力とを前記サーバから受信する受信部と、
    前記第3のユーザ入力の履歴に基づいて、前記リアルタイムゲームの前記第1のゲーム状態から前記第2のゲーム状態への遷移を制御する遷移制御部と、
    前記第1のキャラクタおよび前記第2のキャラクタのうち前記リアルタイムゲームが前記第2のゲーム状態にある時に移動中であるキャラクタを前記第1のユーザ入力および前記第2のユーザ入力に基づいて検出する検出部と、
    前記リアルタイムゲームが前記第1のゲーム状態にある間に、前記第1のキャラクタおよび前記第2のキャラクタのうち前記リアルタイムゲームが前記第2のゲーム状態にある時に移動中であるとして検出されていないキャラクタを、前記第1のユーザ入力の履歴および前記第2のユーザ入力の履歴に依存して決まる位置に、前記サーバから受信され、または前記端末によって作成された前記リアルタイムコンテンツの映像データに単位時間毎に重畳して再描画する描画部と
    を具備する、端末。
  8. リアルタイムコンテンツを再生可能な端末であって、
    前記リアルタイムコンテンツを再生する第1の端末によって取得された、前記リアルタイムコンテンツの配信時に起動可能なリアルタイムゲームを第1のゲーム状態から第2のゲーム状態へ遷移させるための第1のユーザ入力と、前記リアルタイムコンテンツを再生する1以上の第2の端末によって取得された、前記リアルタイムゲームにおいてキャラクタの移動を制御するための第2のユーザ入力とをサーバから受信する受信部と、
    前記第1のユーザ入力の履歴に基づいて、前記リアルタイムゲームの前記第1のゲーム状態から前記第2のゲーム状態への遷移を制御する遷移制御部と、
    前記キャラクタのうち前記リアルタイムゲームが前記第2のゲーム状態にある時に移動中であるキャラクタを前記第2のユーザ入力に基づいて検出する検出部と、
    前記リアルタイムゲームが前記第1のゲーム状態にある間に、前記キャラクタのうち前記リアルタイムゲームが前記第2のゲーム状態にある時に移動中であるとして検出されていないキャラクタを、前記第2のユーザ入力の履歴に依存して決まる位置に、前記サーバから受信され、または前記端末によって作成された前記リアルタイムコンテンツの映像データに単位時間毎に重畳して再描画する描画部と
    を具備する、端末。
  9. リアルタイムコンテンツを配信可能なサーバであって、
    前記リアルタイムコンテンツの映像データを前記リアルタイムコンテンツのソースとなる第1の端末から受信し、前記リアルタイムコンテンツの配信時に起動可能なリアルタイムゲームを第1のゲーム状態から第2のゲーム状態へ遷移させるための第1のユーザ入力を前記リアルタイムコンテンツを再生する第2の端末から受信し、キャラクタの移動を制御するための第2のユーザ入力を前記リアルタイムコンテンツを再生する1以上の第3の端末から受信する受信部と、
    前記第1のユーザ入力の履歴に基づいて、前記リアルタイムゲームの前記第1のゲーム状態から前記第2のゲーム状態への遷移を制御する遷移制御部と、
    前記キャラクタのうち前記リアルタイムゲームが前記第2のゲーム状態にある時に移動中であるキャラクタを前記第2のユーザ入力に基づいて検出する検出部と、
    前記リアルタイムゲームが前記第1のゲーム状態にある間に、前記キャラクタのうち前記リアルタイムゲームが前記第2のゲーム状態にある時に移動中であるとして検出されていないキャラクタを、前記第2のユーザ入力の履歴に依存して決まる位置に、単位時間毎に前記リアルタイムコンテンツの映像データに重畳して再描画する描画部と、
    再描画された前記キャラクタを重畳した前記リアルタイムコンテンツの映像データを前記第1の端末、前記第2の端末および前記第3の端末へ送信する送信部と
    を具備する、サーバ。
  10. リアルタイムコンテンツを配信可能なサーバであって、
    前記リアルタイムコンテンツの映像データを前記リアルタイムコンテンツのソースとなる第1の端末から受信し、前記リアルタイムコンテンツの配信時に起動可能なリアルタイムゲームを第1のゲーム状態から第2のゲーム状態へ遷移させるための第1のユーザ入力を前記リアルタイムコンテンツを再生する第2の端末から受信し、キャラクタの移動を制御するための第2のユーザ入力を前記リアルタイムコンテンツを再生する1以上の第3の端末から受信する受信部と、
    前記第1のユーザ入力の履歴に基づいて、前記リアルタイムゲームの前記第1のゲーム状態から前記第2のゲーム状態への遷移を制御する遷移制御部と、
    前記第2のユーザ入力の履歴に基づいて、前記キャラクタの位置を管理する管理部と、
    前記キャラクタのうち前記リアルタイムゲームが前記第2のゲーム状態にある時に移動中であるキャラクタを前記第2のユーザ入力に基づいて検出する検出部と、
    (a)前記リアルタイムコンテンツの映像データと、前記キャラクタの位置を示すデータと、前記キャラクタのうち前記リアルタイムゲームが前記第2のゲーム状態にある時に移動中であるとして検出されたキャラクタを示すデータとを前記第1の端末、前記第2の端末および前記第3の端末へ送信し、(b)前記リアルタイムゲームの前記第1のゲーム状態から前記第2のゲーム状態へ遷移する時に、前記リアルタイムゲームが前記第2のゲーム状態に遷移したことの通知を前記第1の端末、前記第2の端末および前記第3の端末へ送信する送信部と
    を具備する、サーバ。
  11. リアルタイムコンテンツを再生可能な端末を、
    前記リアルタイムコンテンツの配信時に起動可能なリアルタイムゲームを第1のゲーム状態から第2のゲーム状態に遷移させるための第1のユーザ入力を取得する手段、
    前記第1のユーザ入力をサーバへ送信する手段、
    前記リアルタイムコンテンツの映像データと、前記リアルタイムコンテンツを再生する1以上の他の端末によって取得された、前記リアルタイムゲームにおいてキャラクタの移動を制御するための第2のユーザ入力を前記サーバから受信する手段、
    前記第1のユーザ入力の履歴に基づいて、前記リアルタイムゲームの前記第1のゲーム状態から前記第2のゲーム状態への遷移を制御する手段、
    前記キャラクタのうち前記リアルタイムゲームが前記第2のゲーム状態にある時に移動中であるキャラクタを前記第2のユーザ入力に基づいて検出する手段、
    前記リアルタイムゲームが前記第1のゲーム状態にある間に、前記キャラクタのうち前記リアルタイムゲームが前記第2のゲーム状態にある時に移動中であるとして検出されなかったキャラクタを、前記第2のユーザ入力の履歴に依存して決まる位置に、前記サーバから受信され、または前記端末によって作成された前記リアルタイムコンテンツの映像データに単位時間毎に重畳して再描画する手段
    として機能させるプログラム。
JP2019036289A 2019-02-28 2019-02-28 端末、サーバおよびプログラム Active JP6578079B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019036289A JP6578079B1 (ja) 2019-02-28 2019-02-28 端末、サーバおよびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019036289A JP6578079B1 (ja) 2019-02-28 2019-02-28 端末、サーバおよびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019152549A Division JP2020137997A (ja) 2019-08-23 2019-08-23 端末、サーバおよびプログラム

Publications (2)

Publication Number Publication Date
JP6578079B1 true JP6578079B1 (ja) 2019-09-18
JP2020137845A JP2020137845A (ja) 2020-09-03

Family

ID=67982893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019036289A Active JP6578079B1 (ja) 2019-02-28 2019-02-28 端末、サーバおよびプログラム

Country Status (1)

Country Link
JP (1) JP6578079B1 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004015224A (ja) * 2002-06-04 2004-01-15 Sharp Corp テレビジョン受信機
WO2013065221A1 (ja) * 2011-11-04 2013-05-10 パナソニック株式会社 送信端末、受信端末および情報伝達方法
JP2017118381A (ja) * 2015-12-25 2017-06-29 シャープ株式会社 通信サーバ、端末装置、通信方法、および、プログラム

Also Published As

Publication number Publication date
JP2020137845A (ja) 2020-09-03

Similar Documents

Publication Publication Date Title
JP7194785B2 (ja) ストリーミングビデオデータの管理
US20200222803A1 (en) Virtual playbook with user controls
CN103885768B (zh) 第二用户对第一用户的游戏玩法的远程控制
CN107029429B (zh) 用于实现云游戏系统的时移辅导的系统、方法及可读媒体
JP5417111B2 (ja) ゲームシステム、ゲームシステムの制御方法、及びプログラム
CN111447979B (zh) 游戏运行装置及终端服务器
JP2020099729A (ja) 共有インターフェースを介してアクセスされるミニゲーム
JP6232423B2 (ja) 情報処理装置、描画装置、方法及びプログラム
JP2020044136A (ja) 視聴プログラム、配信プログラム、視聴プログラムを実行する方法、配信プログラムを実行する方法、情報処理装置、および情報処理システム
US20170282075A1 (en) Methods, system and nodes for handling media streams relating to an online game
JP7325209B2 (ja) サーバシステム、プレイデータコミュニティシステムおよび制御方法
JP6624766B1 (ja) ゲームシステム
JP2019141162A (ja) コンピュータシステム
US20220277493A1 (en) Content generation system and method
JP2013051552A (ja) 視聴管理装置、視聴装置、視聴管理プログラム、及び視聴プログラム
JP6578079B1 (ja) 端末、サーバおよびプログラム
WO2017026170A1 (ja) クライアント機器、サーバ機器、表示処理方法、及び、データ配信方法
JP6533022B1 (ja) 端末、サーバおよびプログラム
US11577163B2 (en) Computer server, a method and computer program product
JP2020137997A (ja) 端末、サーバおよびプログラム
JP2021087789A (ja) 視聴プログラム、配信プログラム、視聴プログラムを実行する方法、配信プログラムを実行する方法、情報処理装置、および情報処理システム
WO2022113327A1 (ja) 方法、コンピュータ可読媒体、コンピュータシステム、および情報処理装置
WO2022137340A1 (ja) 情報処理方法、コンピュータ可読媒体、および情報処理装置
JP6923726B1 (ja) 方法、コンピュータ可読媒体、および情報処理装置
JP2020140684A (ja) 端末、サーバおよびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190228

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190228

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190710

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: 20190806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190823

R150 Certificate of patent or registration of utility model

Ref document number: 6578079

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250