本開示に係る支援システムは、コンテンツの視聴者が、該コンテンツの配信者のゲームプレイを支援するためのシステムである。以下、支援システムについて図面を参照しつつ説明する。なお、本発明は以降の説明および図面における例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。なお、以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
〔実施形態1〕
<支援システム1の動作概要>
図1は、本実施形態に係る支援システム1の概要を示す図である。支援システム1は、配信システム2と、視聴端末100と、ゲームシステム3とから成る。配信システム2、視聴端末100、およびゲームシステム3は、それぞれ複数あってもよい。
(配信システム2と視聴端末100)
配信システム2は、視聴端末100にコンテンツをリアルタイムに配信するためのシステムである。配信システム2は、1台以上の配信サーバ200と、1台以上の配信端末300とを含む。以降、コンテンツをリアルタイムで配信することを、「ライブ配信」とも称する。
配信端末300は、コンテンツをライブ配信する主体となる装置である。配信端末300は、例えばパーソナルコンピュータ(PC)またはスマートフォン等で実現される。配信端末300は、配信端末300のユーザによる入力操作に応じて、ライブ配信用のコンテンツを作成する。以降、配信端末300のユーザのことを、「配信者」と称する。また、配信端末300が作成するコンテンツのことを単に「コンテンツ」と称する。配信端末300はコンテンツを配信サーバ200にリアルタイムで転送する。
コンテンツは、少なくとも、配信者のアバターと、配信者が、後述するゲーム端末400を用いて今プレイしているゲームのプレイ画面と、を含んでいる。コンテンツは、例えば、プレイ画面を参照しながら、配信者が音声、アバターの仕草、および字幕等を通じてゲームプレイの感想等を話す、所謂「ゲーム実況」のライブ番組であってもよい。
以降、特段の記載が無い限り、「ゲーム」とは、配信者がプレイ中のゲームであって、コンテンツにプレイ画面が含まれているゲームのことを指す。ゲームのジャンルや内容は特に限定されない。しかしながら、ゲームは、後述する支援効果を引き起こすことが可能なゲーム、すなわち、配信システム2と連携しているゲームである。
配信サーバ200は、配信端末300からリアルタイムに受信したコンテンツを、視聴端末100にストリーミング技術を用いて配信する、ストリーミングサーバである。また、配信サーバ200は、視聴端末100と配信端末300との間の各種情報の送受信を仲介するサーバでもある。
視聴端末100は、コンテンツをリアルタイムに受信して再生する、すなわち、コンテンツをストリーミング再生する装置である。視聴端末100は、例えばPCまたはスマートフォン等で実現される。視聴端末100は、視聴端末100のユーザによる入力操作に応じて、配信サーバ200からコンテンツを受信してストリーミング再生する。以降、視聴端末100のユーザのことを、「視聴者」と称する。
(配信システム2と視聴端末100との間の情報の送受信)
視聴端末100は、コンテンツを再生するだけでなく、視聴者の入力操作によって指定された、または入力された情報を、配信サーバ200を介して配信端末300に送信することも可能であってよい。
例えば、視聴端末100は、視聴者の第1入力操作を受け付ける。第1入力操作とは、ゲーム内において配信者を支援する効果を起こすための入力操作である。以降、ゲーム内において配信者を支援する効果のことを、「支援効果」と称する。また、ゲーム内において配信者を支援することを、「配信者支援」とも称する。
支援効果の具体的な内容は特に限定されない。例えば、ゲームがアクションゲームである場合、支援効果は、配信者の操作キャラクタの体力値を回復させる効果であってよい。また例えば、ゲームがスポーツゲームである場合、支援効果は、配信者の操作するキャラクタまたはチームが試合において有利になるようなフィールド効果であってもよい。また例えば、ゲームがガンシューティングゲームである場合、支援効果は、配信者または配信者の操作キャラクタの銃をリロードする効果であってよい。また例えば、ゲームが所定のキャラクタまたはアイテムを、抽選等によりプレイヤーに獲得させるゲームである場合、支援効果は、該抽選を行う権利をプレイヤー、すなわち配信者に付与する効果であってよい。
視聴端末100は、第1入力操作を受け付けると、配信システム2に対して該入力操作に応じた入力情報を送信する。入力情報の詳細は後述する。なお、視聴端末100は、視聴者が保有する有価データ、または特定のアイテムの消費と引き換えに、該入力情報を配信サーバ200に送信してもよい。つまり、視聴端末100は、視聴者が有価データまたは特定のアイテムを消費しないと、配信者を支援することができないようにしてもよい。
配信サーバ200は入力情報を受信すると、ゲームシステム3に対して支援指示を送信する。支援指示とは、支援効果を引き起こさせるための指示である。
なお、配信サーバ200は、1台以上の視聴端末100からライブ配信に係る各種情報を収集して、該各種情報を配信端末300に送信してもよい。例えば、配信サーバ200は、現在コンテンツをストリーミング再生している視聴端末100の台数、すなわち、現在の視聴者数を集計して配信端末300に送信してもよい。また、配信サーバ200は、コンテンツの配信開始からの、累計の視聴者数を集計して、配信端末300に送信してもよい。また、配信サーバ200は、前述した入力情報を送信した視聴端末100を特定し、該視聴端末100を示す情報を配信端末300に送信してもよい。
(ゲームシステム3)
ゲームシステム3は、ゲームを提供するためのシステムである。ゲームシステム3は、1台以上のゲーム端末400と、1台以上のゲームサーバ500とを含む。本実施形態において、ゲーム端末400およびゲームサーバ500はそれぞれゲームプログラムを記憶しており、該ゲームプログラムを実行することによって、ゲームを実現する。
例えば、ゲーム端末400およびゲームサーバ500は、複数のゲーム端末400が同時にゲームに参加する、オンラインゲームを実現させてもよい。また例えば、ゲーム端末400およびゲームサーバ500は、ゲーム端末400において起動されたブラウザ上で実行されるゲームを実現してもよい。
ゲームサーバ500は、ゲーム端末400と協働することでゲームを実現するサーバである。ゲームサーバ500は例えば、ゲーム端末400とユーザ情報およびゲーム情報等のゲームに係るデータを送受信したり、複数のゲーム端末400の間の同期処理を行ったりする。ユーザ情報およびゲーム情報については後述する。また、ゲームサーバ500は、配信端末300から支援指示を受信すると、該支援指示をゲーム端末400に送信する。すなわち、ゲームサーバ500は、配信端末300とゲーム端末400との間の指示伝達を仲介する。
なお、ゲームサーバ500はゲームの進行に直接は関与せず、ログイン処理等、ゲーム端末400においてゲームを開始するための処理を実行してもよい。また、ゲームサーバ500はゲームの進行に直接は関与せず、複数のゲーム端末400を仲介する処理を実行してもよい。そして、複数のゲーム端末400の協働により、ゲームが実現されてもよい。また、ゲームサーバ500は、所定のタイミングで、配信サーバ200に、受信した支援指示を実行した旨を示すレスポンスを返してもよい。所定のタイミングとは、例えば、配信端末300から支援指示を受信したタイミング、該支援指示をゲーム端末400に送信したタイミング、または、ゲームサーバ500において該支援指示による支援効果を発動させたタイミングである。
ゲーム端末400は、ゲームをプレイするための端末装置であって、配信者が実際に操作する装置である。ゲーム端末400は、例えばPC、またはコンシューマゲームの筐体およびコントローラ等で実現される。ゲーム端末400は、有線または無線で配信端末300と通信する。具体的には、ゲーム端末400は、作成したゲーム画面の画像を配信端末300に送信する。これにより、配信端末300は、ゲーム端末400におけるゲームの実行状況を示すプレイ画面を取得し、コンテンツに含めることができる。
なお、ゲーム端末400は、配信端末300からゲーム画面の送信指示等の、各種指示を受信してもよい。また、ゲーム端末400は、配信端末300の入力装置等を介してなされた入力操作を示す情報を配信端末300から受信し、該情報に基づいてゲームを進行させてもよい。換言すると、配信者が配信端末300を介して、ゲーム端末400をリモート操作することが可能であってもよい。
ゲーム端末400は、ゲームサーバ500を介して配信サーバ200からの支援指示を受信すると、該支援指示に応じて、実行中のゲームにおいて支援効果を起こす。つまり、視聴端末100においてなされた第1入力操作に対する反応として、ゲーム端末400が実行しているゲームにおいて支援効果が発生する。
ここで、図示のように、視聴端末100とゲーム端末400とは直接接続されていない。また、視聴端末100は、上述のようにコンテンツを視聴するための端末であり、ゲームの実行に直接関与していない。換言すると、視聴者は、視聴端末100を用いて配信者とともにゲームをプレイしているわけではない。
このように、本実施形態に係る支援システム1によれば、配信者とゲームをしていない視聴者の、視聴端末100に対する第1入力操作に応じて、配信者のゲームのプレイを支援することができる。つまり、視聴者はライブ配信を見て第1入力操作をするだけで、コンテンツに含まれているゲームの進行に介入することができる。したがって、コンテンツの興趣性を向上させることができる。
本実施形態では、配信サーバ200と配信端末300とが別個の装置である例について説明する。しかしながら、配信サーバ200と配信端末300は一体の装置であってよい。例えば、1台のPCが、配信サーバ200としての機能と、配信端末300としての機能とを兼ね備えていてもよい。
本実施形態では、ゲーム端末400とゲームサーバ500とが別個の装置である例について説明する。しかしながら、ゲーム端末400とゲームサーバ500は一体の装置であってよい。例えば、1台のPCが、ゲーム端末400としての機能と、ゲームサーバ500としての機能とを兼ね備えていてもよい。
本実施形態では、配信端末300とゲーム端末400とが別個の装置である例について説明する。しかしながら、配信端末300とゲーム端末400は一体の装置であってよい。例えば、1台のPCが、配信端末300としての機能と、ゲーム端末400としての機能とを兼ね備えていてもよい。
本実施形態では、配信サーバ200とゲームサーバ500とが別個の装置である例について説明する。しかしながら、配信サーバ200とゲームサーバ500は一体の装置であってよい。例えば、1台のサーバが、配信サーバ200としての機能と、ゲームサーバ500としての機能とを兼ね備えていてもよい。
<支援システム1のハードウェア構成>
図1は、支援システム1のハードウェア構成を示す図である。支援システム1は図示の通り、配信サーバ200と、ゲームサーバ500と、複数の視聴端末100と、配信端末300と、ゲーム端末400と、を含む。視聴端末100、配信端末300、およびゲームサーバ500は、配信サーバ200とネットワーク4を介して接続する。なお、ゲーム端末400も配信サーバ200とネットワーク4を介して接続してもよい。ゲーム端末400は、ゲームサーバ500とネットワーク4を介して接続する。なお、ゲーム端末400は、配信端末300とネットワーク4を介して接続してもよい。
(ネットワーク4)
ネットワーク4は、インターネットおよび図示しない無線基地局によって構築される各種移動通信システム等で構成される。この移動通信システムとしては、例えば、所謂3G、4G移動通信システム、LTE(Long Term Evolution)、および所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が挙げられる。
(配信サーバ200)
配信サーバ200(コンピュータ、情報処理装置)は、ワークステーションまたはパーソナルコンピュータ等の汎用コンピュータであってよい。配信サーバ200は、プロセッサ20と、メモリ21と、ストレージ22と、通信IF23と、入出力IF24とを備える。配信サーバ200が備えるこれらの構成は、通信バスによって互いに電気的に接続される。
(ゲームサーバ500)
ゲームサーバ500(コンピュータ、情報処理装置)は、ワークステーションまたはパーソナルコンピュータ等の汎用コンピュータであってよい。ゲームサーバ500は、プロセッサ50と、メモリ51と、ストレージ52と、通信IF53と、入出力IF54とを備える。ゲームサーバ500が備えるこれらの構成は、通信バスによって互いに電気的に接続される。
(視聴端末100)
視聴端末100(コンピュータ、情報処理装置)は、スマートフォン、フィーチャーフォン、PDA(Personal Digital Assistant)、またはタブレット型コンピュータ等の携帯端末であってよい。視聴端末100は、コンテンツの再生に適した再生装置であってもよい。視聴端末100は図示の通り、プロセッサ10と、メモリ11と、ストレージ12と、通信インターフェース(IF)13と、入出力IF14と、タッチスクリーン15(表示部)と、を備える。視聴端末100が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、視聴端末100は、タッチスクリーン15に代えて、または、加えて、視聴端末100本体とは別に構成されたディスプレイ(表示部)を接続可能な入出力IF14を備えていてもよい。
また、図2に示すように、視聴端末100は、1つ以上のコントローラ1020と通信可能に構成されることとしてもよい。コントローラ1020は、例えば、Bluetooth(登録商標)等の通信規格に従って、視聴端末100と通信を確立する。コントローラ1020は、1つ以上のボタン等を有していてもよく、該ボタン等に対するユーザの入力操作に基づく出力値を視聴端末100へ送信する。また、コントローラ1020は、加速度センサ、および、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値を視聴端末100へ送信する。
また、コントローラ1020は、視聴端末100に着脱可能な構成であるとしてもよい。この場合、視聴端末100の筐体における少なくともいずれかの面に、コントローラ1020との結合部が設けられていてもよい。該結合部を介して有線により視聴端末100とコントローラ1020とが結合している場合は、視聴端末100とコントローラ1020とは、有線を介して信号を送受信する。
図2に示すように、視聴端末100は、外部のメモリカード等の記憶媒体1030の装着を、入出力IF14を介して受け付けてもよい。これにより、視聴端末100は、記憶媒体1030に記録されるプログラム及びデータを読み込むことができる。記憶媒体1030に記録されるプログラムは、例えば視聴プログラムである。
視聴端末100は、配信サーバ200等の外部の装置と通信することにより取得した視聴プログラムを視聴端末100のメモリ11に記憶してもよいし、記憶媒体1030から読み込むことにより取得した視聴プログラムをメモリ11に記憶してもよい。
以上で説明したとおり、視聴端末100は、該視聴端末100に対して情報を入力する機構の一例として、通信IF13、入出力IF14、およびタッチスクリーン15を備える。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
例えば、操作部がタッチスクリーン15で構成される場合、視聴端末100は、タッチスクリーン15の入力部151に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信IF13で構成される場合、視聴端末100は、コントローラ1020から送信される信号(例えば、出力値)をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力IF14で構成される場合、該入出力IF14と接続されるコントローラ1020とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
(配信端末300)
配信端末300(コンピュータ、情報処理装置)は、スマートフォン、PDA(Personal Digital Assistant)、またはタブレット型コンピュータ等の携帯端末であってよい。また、配信端末300は、サーバ、デスクトップパソコン、ノートパソコン、または、タブレットなどのコンピュータ、および、これらを組み合わせたコンピュータ群であってもよい。
配信端末300は、表示装置、入力装置、情報処理装置が、ライブ配信に適するように接続された装置群であってもよい。配信端末300は図示の通り、プロセッサ30と、メモリ31と、ストレージ32と、通信インターフェース(IF)33と、入出力IF34と、タッチスクリーン35(表示部)とを備える。配信端末300が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、配信端末300は、タッチスクリーン35に代えて、または、加えて、配信端末300本体とは別に構成されたディスプレイ(表示部)を接続可能な入出力IF34を備えていてもよい。
また、図1に示すように、配信端末300は、1つ以上のマイク3010、1つ以上のモーションキャプチャ装置3020、および、1つ以上のコントローラ3030などの周辺機器と、無線または有線を介して、通信可能に構成されてもよい。無線で接続される周辺機器は、例えば、Bluetooth(登録商標)等の通信規格に従って、配信端末300と通信を確立する。また、これらの周辺機器を含めた装置群を、1セットの配信端末300と捉えてもよい。
マイク3010は、周囲で発生した音声を取得し、これを電気信号に変換する。電気信号に変換された音声は、音声データとして、配信端末300に送信され、通信IF33を介して配信端末300に受け付けられる。
モーションキャプチャ装置3020は、追跡対象(例えば、人)のモーション(顔の表情、口の動きなども含む)を追跡し、追跡結果としての出力値を配信端末300へ送信する。出力値であるモーションデータは、通信IF33を介して配信端末300に受け付けられる。モーションキャプチャ装置3020のモーションキャプチャ方式は特に限定されない。モーションキャプチャ装置3020は、採用された方式に応じて、カメラ、各種センサ、マーカー、モデル(人物)が着用するスーツ、信号送出器など、モーションをキャプチャするためのあらゆる機構を選択的に備えている。
コントローラ3030は、1つ以上のボタン、レバー、スティック、ホイール等の物理的な入力機構を有していてもよい。コントローラ3030は、配信端末300のオペレータが、該入力機構に対して入力した入力操作に基づく出力値を配信端末300へ送信する。また、コントローラ3030は、加速度センサ、および、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値を配信端末300へ送信してもよい。上述の出力値は、通信IF33を介して配信端末300に受け付けられる。なお、以下では、配信端末300に備えられた操作部または配信端末300と通信可能に接続された各種の入力機構を用いて、配信端末300に対して、何らかの入力操作を行う人をオペレータと称する。オペレータには、入力部351、コントローラ3030などを用いて配信端末300を操作する人も含まれるし、マイク3010を介して音声を入力する声優も含まれるし、モーションキャプチャ装置3020を介して動きを入力するモデルも含まれる。
配信端末300は、図示しない、カメラと、測距センサとを備えていてもよい。配信端末300が備えることに代えて、または、加えて、モーションキャプチャ装置3020およびコントローラ3030がカメラと、測距センサとを有してしてもよい。
以上で説明したとおり、配信端末300は、該配信端末300に対して情報を入力する機構の一例として、通信IF33、入出力IF34、タッチスクリーン35を備える。必要に応じて、カメラ、および、測距センサをさらに備えていてもよい。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
操作部がタッチスクリーン35で構成されていてもよい。この場合、配信端末300は、タッチスクリーン35の入力部351に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信IF33で構成される場合、配信端末300は、コントローラ3030から送信される信号(例えば、出力値)をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力IF34で構成される場合、該入出力IF34と接続されるコントローラ3030とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
(ゲーム端末400)
ゲーム端末400(コンピュータ、情報処理装置)は、スマートフォン、フィーチャーフォン、PDA(Personal Digital Assistant)、またはタブレット型コンピュータ等の携帯端末であってよい。ゲーム端末400は、ゲームプレイに適したゲーム装置であってもよい。ゲーム端末400は図示の通り、プロセッサ40と、メモリ41と、ストレージ42と、通信インターフェース(IF)43と、入出力IF44と、タッチスクリーン45(表示部)と、カメラ47と、測距センサ48とを備える。ゲーム端末400が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、ゲーム端末400は、タッチスクリーン15に代えて、または、加えて、ゲーム端末400本体とは別に構成されたディスプレイ(表示部)を接続可能な入出力IF14を備えていてもよい。
また、図2に示すように、ゲーム端末400は、1つ以上のコントローラ4020と通信可能に構成されることとしてもよい。コントローラ4020は、例えば、Bluetooth(登録商標)等の通信規格に従って、ゲーム端末400と通信を確立する。コントローラ4020は、1つ以上のボタン等を有していてもよく、該ボタン等に対するユーザの入力操作に基づく出力値をゲーム端末400へ送信する。また、コントローラ4020は、加速度センサ、および、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値をゲーム端末400へ送信する。
なお、ゲーム端末400がカメラ47および測距センサ48を備えることに代えて、または、加えて、コントローラ4020がカメラ47および測距センサ48を有していてもよい。
ゲーム端末400は、例えばゲーム開始時に、コントローラ4020を使用するユーザに、該ユーザの名前またはログインID等のユーザ識別情報を、該コントローラ4020を介して入力させることが望ましい。これにより、ゲーム端末400は、コントローラ4020とユーザとを紐付けることが可能となり、受信した出力値の送信元(コントローラ4020)に基づいて、該出力値がどのユーザのものであるかを特定することができる。
ゲーム端末400が複数のコントローラ4020と通信する場合、各コントローラ4020を各ユーザが把持することで、ネットワーク4を介してゲームサーバ500などの他の装置と通信せずに、該1台のゲーム端末400でマルチプレイを実現することができる。また、各ゲーム端末400が無線LAN(Local Area Network)規格等の無線規格により互いに通信接続する(ゲームサーバ500を介さずに通信接続する)ことで、複数台のゲーム端末400によりローカルでマルチプレイを実現することもできる。1台のゲーム端末400によりローカルで上述のマルチプレイを実現する場合、ゲーム端末400は、さらに、ゲームサーバ500が備える後述する種々の機能の少なくとも一部を備えていてもよい。また、複数のゲーム端末400によりローカルで上述のマルチプレイを実現する場合、複数のゲーム端末400は、ゲームサーバ500が備える後述する種々の機能を分散して備えていてもよい。
なお、ローカルで上述のマルチプレイを実現する場合であっても、ゲーム端末400はゲームサーバ500と通信を行ってもよい。例えば、あるゲームにおける成績または勝敗等のプレイ結果を示す情報と、ユーザ識別情報とを対応付けてゲームサーバ500に送信してもよい。
また、コントローラ4020は、ゲーム端末400に着脱可能な構成であるとしてもよい。この場合、ゲーム端末400の筐体における少なくともいずれかの面に、コントローラ4020との結合部が設けられていてもよい。該結合部を介して有線によりゲーム端末400とコントローラ4020とが結合している場合は、ゲーム端末400とコントローラ4020とは、有線を介して信号を送受信する。
図2に示すように、ゲーム端末400は、外部のメモリカード等の記憶媒体4030の装着を、入出力IF44を介して受け付けてもよい。これにより、ゲーム端末400は、記憶媒体4030に記録されるプログラム及びデータを読み込むことができる。記憶媒体4030に記録されるプログラムは、例えばゲームプログラムである。
ゲーム端末400は、ゲームサーバ500等の外部の装置と通信することにより取得したゲームプログラムをゲーム端末400のメモリ41に記憶してもよいし、記憶媒体4030から読み込むことにより取得したゲームプログラムをメモリ41に記憶してもよい。
以上で説明したとおり、ゲーム端末400は、該ゲーム端末400に対して情報を入力する機構の一例として、通信IF43、入出力IF44、タッチスクリーン45、カメラ47、および、測距センサ48を備える。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
例えば、操作部が、カメラ47および測距センサ48の少なくともいずれか一方で構成される場合、該操作部が、ゲーム端末400の近傍の物体4010を検出し、当該物体の検出結果から入力操作を特定する。一例として、物体4010としてのユーザの手、予め定められた形状のマーカーなどが検出され、検出結果として得られた物体4010の色、形状、動き、または、種類などに基づいて入力操作が特定される。より具体的には、ゲーム端末400は、カメラ47の撮影画像からユーザの手が検出された場合、該撮影画像に基づき検出されるジェスチャ(ユーザの手の一連の動き)を、ユーザの入力操作として特定し、受け付ける。なお、撮影画像は静止画であっても動画であってもよい。
あるいは、操作部がタッチスクリーン45で構成される場合、ゲーム端末400は、タッチスクリーン45の入力部451に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信IF43で構成される場合、ゲーム端末400は、コントローラ4020から送信される信号(例えば、出力値)をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力IF44で構成される場合、該入出力IF44と接続されるコントローラ4020とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
<各装置のハードウェア構成要素>
プロセッサ10は、視聴端末100全体の動作を制御する。プロセッサ20は、配信サーバ200全体の動作を制御する。プロセッサ30は、配信端末300全体の動作を制御する。プロセッサ40は、ゲーム端末400全体の動作を制御する。プロセッサ50は、ゲームサーバ500全体の動作を制御する。プロセッサ10、20、30、40、および50は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、およびGPU(Graphics Processing Unit)を含む。
プロセッサ10は後述するストレージ12からプログラムを読み出し、後述するメモリ11に展開する。プロセッサ20は後述するストレージ22からプログラムを読み出し、後述するメモリ21に展開する。プロセッサ30は後述するストレージ32からプログラムを読み出し、後述するメモリ31に展開する。プロセッサ40は後述するストレージ42からプログラムを読み出し、後述するメモリ41に展開する。プロセッサ50は後述するストレージ52からプログラムを読み出し、後述するメモリ51に展開する。プロセッサ10、プロセッサ20、プロセッサ30、プロセッサ40、およびプロセッサ50は、展開したプログラムを実行する。
メモリ11、21、31、41、および51は主記憶装置である。メモリ11、21、31、41、および51は、ROM(Read Only Memory)およびRAM(Random Access Memory)等の記憶装置で構成される。メモリ11は、プロセッサ10が後述するストレージ12から読み出したプログラムおよび各種データを一時的に記憶することにより、プロセッサ10に作業領域を提供する。メモリ11は、プロセッサ10がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ21は、プロセッサ20が後述するストレージ22から読み出した各種プログラムおよびデータを一時的に記憶することにより、プロセッサ20に作業領域を提供する。メモリ21は、プロセッサ20がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ31は、プロセッサ30が後述するストレージ32から読み出した各種プログラムおよびデータを一時的に記憶することにより、プロセッサ30に作業領域を提供する。メモリ31は、プロセッサ30がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ41は、プロセッサ40が後述するストレージ42から読み出したプログラムおよび各種データを一時的に記憶することにより、プロセッサ40に作業領域を提供する。メモリ41は、プロセッサ40がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ51は、プロセッサ50が後述するストレージ52から読み出したプログラムおよび各種データを一時的に記憶することにより、プロセッサ50に作業領域を提供する。メモリ51は、プロセッサ50がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
本実施形態において、プロセッサ30が実行するプログラムは、コンテンツのライブ配信を実現するための配信プログラムであってもよい。本実施形態において、プロセッサ10が実行するプログラムは、コンテンツのストリーミング再生の機能、および視聴端末100から配信者のゲームのプレイを支援する機能を実現するための、視聴プログラムであってもよい。以降、配信者のゲームのプレイを支援する機能のことを、単に「支援機能」と称する。
本実施形態において、プロセッサ20が実行するプログラムは、上述の配信プログラムであってもよいし、上述の視聴プログラムであってもよい。プロセッサ20は、視聴端末100または配信端末300からの要求等に応じて、配信プログラムと視聴プログラムとのいずれか、または両方を実行する。なお、配信プログラムと視聴プログラムは、並行して実行されてもよい。
すなわち、配信プログラムは、ライブ配信を配信サーバ200と配信端末300との協働により実現するための配信プログラムであってもよい。また、視聴プログラムは、ストリーミング再生機能および支援機能を、視聴端末100と配信サーバ200との協働により実現するための視聴プログラムであってもよい。
本実施形態において、プロセッサ40およびプロセッサ50が実行するプログラムは、ゲームをゲーム端末400により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをゲーム端末400とゲームサーバ500との協働により実現するためのゲームプログラムであってもよい。ゲーム端末400とゲームサーバ500との協働により実現されるゲームは、一例として、ゲーム端末400において起動されたブラウザ上で実行されるゲームであってもよい。
あるいは、該プログラムは、該ゲームを複数のゲーム端末400の協働により実現するためのゲームプログラムであってもよい。また、各種データとは、ユーザ情報およびゲーム情報などのゲームに関するデータ、ならびに、ゲームシステム3の各装置間で送受信する指示または通知を含んでいる。
ストレージ12、22、32、42、および52は補助記憶装置である。ストレージ12、22、32、42、および52は、フラッシュメモリまたはHDD(Hard Disk Drive)等の記憶装置で構成される。ストレージ12、22、32、42、および52には、ゲームに関する各種データが格納される。
通信IF13は、視聴端末100における各種データの送受信を制御する。通信IF23は、配信サーバ200における各種データの送受信を制御する。通信IF33は、配信端末300における各種データの送受信を制御する。通信IF43は、ゲーム端末400における各種データの送受信を制御する。通信IF53は、ゲームサーバ500における各種データの送受信を制御する。通信IF13、23、33、43、および53は例えば、無線LAN(Local Area Network)を介する通信、有線LAN、無線LAN、または携帯電話回線網を介したインターネット通信、ならびに近距離無線通信等を用いた通信を制御する。
視聴端末100の入出力IF14は、視聴端末100がデータの入力を受け付けるためのインターフェースであり、また視聴端末100がデータを出力するためのインターフェースである。入出力IF14は、USB(Universal Serial Bus)等を介してデータの入出力を行ってもよい。入出力IF14は、例えば、視聴端末100の物理ボタン、カメラ、マイク、または、スピーカ等を含み得る。配信サーバ200の入出力IF24は、配信サーバ200がデータの入力を受け付けるためのインターフェースであり、また配信サーバ200がデータを出力するためのインターフェースである。入出力IF24は、例えば、マウスまたはキーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部とを含み得る。配信端末300の入出力IF34は、配信端末300がデータの入力を受け付けるためのインターフェースであり、また配信端末300がデータを出力するためのインターフェースである。入出力IF34は、例えば、マウス、キーボード、スティック、レバー等の情報入力機器、液晶ディスプレイなどの画像を表示出力する機器、および、周辺機器(マイク3010、モーションキャプチャ装置3020、および、コントローラ3030)との間でデータを送受信するための接続部を含み得る。
ゲーム端末400の入出力IF44は、ゲーム端末400がデータの入力を受け付けるためのインターフェースであり、またゲーム端末400がデータを出力するためのインターフェースである。入出力IF44は、USB(Universal Serial Bus)等を介してデータの入出力を行ってもよい。入出力IF44は、例えば、視聴端末100の物理ボタン、カメラ、マイク、または、スピーカ等を含み得る。
ゲームサーバ500の入出力IF54は、ゲームサーバ500がデータの入力を受け付けるためのインターフェースであり、またゲームサーバ500がデータを出力するためのインターフェースである。入出力IF54は、例えば、マウスまたはキーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部とを含み得る。
視聴端末100のタッチスクリーン15は、入力部151と表示部152とを組み合わせた電子部品である。配信端末300のタッチスクリーン35は、入力部351と表示部352とを組み合わせた電子部品である。ゲーム端末400のタッチスクリーン45は、入力部451と表示部452とを組み合わせた電子部品である。入力部151、351、451は、例えばタッチセンシティブなデバイスであり、例えばタッチパッドによって構成される。表示部152、352、452は、例えば液晶ディスプレイ、または有機EL(Electro-Luminescence)ディスプレイ等によって構成される。
入力部151、351、451は、入力面に対しユーザの操作(主にタッチ操作、スライド操作、スワイプ操作、およびタップ操作等の物理的接触操作)が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部151、351、451は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
図示していないが、視聴端末100およびゲーム端末400は、該視聴端末100および該ゲーム端末400の保持姿勢を特定するための1以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、または、角速度センサ等であってもよい。視聴端末100またはゲーム端末400がセンサを備えている場合、プロセッサ10またはプロセッサ40は、センサの出力から視聴端末100またはゲーム端末400の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ10またはプロセッサ40は、視聴端末100またはゲーム端末400が縦向きに保持されているときには、縦長の画像を表示部152または452に表示させる縦画面表示としてもよい。一方、視聴端末100またはゲーム端末400が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ10またはプロセッサ40は、視聴端末100またはゲーム端末400の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
カメラ47は、イメージセンサ等を含み、レンズから入射する入射光を電気信号に変換することで撮影画像を生成する。
測距センサ48は、測定対象物までの距離を測定するセンサである。測距センサ48は、例えば、パルス変換した光を発する光源と、光を受ける受光素子とを含む。測距センサ48は、光源からの発光タイミングと、該光源から発せられた光が測定対象物にあたって反射されて生じる反射光の受光タイミングとにより、測定対象物までの距離を測定する。測距センサ48は、指向性を有する光を発する光源を有することとしてもよい。
<支援システム1の機能的構成>
図3は、支援システム1に含まれる視聴端末100、配信サーバ200、配信端末300、ゲーム端末400、およびゲームサーバ500の機能的構成を示すブロック図である。視聴端末100、配信サーバ200、配信端末300、ゲーム端末400、およびゲームサーバ500のそれぞれは、図示しない、一般的なコンピュータとして機能する場合に必要な機能的構成、および、ゲームにおける公知の機能を実現するために必要な機能的構成を含み得る。
視聴端末100は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。視聴端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、および入出力IF14等の協働によって、制御部110および記憶部120として機能する。
配信サーバ200は、配信端末300および視聴端末100と通信して、配信端末300が視聴端末100に対してコンテンツをライブ配信することを支援する機能を有する。配信サーバ200は、プロセッサ20、メモリ21、ストレージ22、通信IF23、および入出力IF24等の協働によって、制御部210および記憶部220として機能する。
配信端末300は、コンテンツを作成して、該コンテンツを、配信サーバ200を介して視聴端末100にライブ配信する機能を有する。配信端末300は、プロセッサ30、メモリ31、ストレージ32、通信IF33、および入出力IF34等の協働によって、制御部310および記憶部320として機能する。
ゲーム端末400は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ゲーム端末400は、プロセッサ40、メモリ41、ストレージ42、通信IF43、および入出力IF44等の協働によって、制御部410および記憶部420として機能する。
ゲームサーバ500は、ゲーム端末400と通信して、ゲーム端末400がゲームを進行させるのを支援する機能を有する。また、ゲームサーバ500は、配信サーバ200とゲーム端末400とを仲介する機能を備えている。ゲームサーバ500は、プロセッサ50、メモリ51、ストレージ52、通信IF53、および入出力IF54等の協働によって、制御部510および記憶部520として機能する。
(各装置の記憶部が格納するデータ)
記憶部120は、視聴プログラム131と、視聴端末100に対応する視聴者の視聴者情報132とを格納する。記憶部320は、配信プログラム331と、配信端末300に対応する配信者の配信者情報332とを格納する。記憶部220は、視聴プログラム131と、視聴者情報132と、配信プログラム331と、配信者情報332と、を格納する。記憶部220は、各配信端末300から収集した配信者情報332をまとめて記憶する。記憶部220は、各視聴端末100から収集した視聴者情報132をまとめて記憶する。
視聴プログラム131は、視聴端末100および配信サーバ200が実行するプログラムである。一方、配信プログラム231は、配信端末300および配信サーバ200が実行するプログラムである。
なお、配信サーバ200による視聴プログラム131および配信プログラム331の実行は、必須ではない。例えば視聴端末100が単独で視聴プログラム131を実行することで、コンテンツのストリーミング再生機能および支援機能を実現可能である場合、配信サーバ200は、視聴プログラム131を実行しなくてもよい。また例えば、配信端末300が単独で配信プログラム331を実行することでライブ配信を実現可能である場合、配信サーバ200は、配信プログラム331を実行しなくてもよい。
視聴者情報132は、制御部110が視聴プログラム131を実行する際に参照するデータである。視聴者情報132は、視聴者毎に管理されるデータである。例えば、視聴者情報132には視聴者の名称、すなわち、視聴端末100が対応する視聴者のアカウントの名称、該アカウントが保有する有価データの保有量、または該アカウントが保有する特定のアイテムの数量等を示す情報が含まれていてもよい。また、視聴者情報132には、視聴端末100に対応する視聴者のアカウントにおける、コンテンツの閲覧履歴、メッセージの送受信の履歴、および、第1入力操作の入力履歴が含まれていてもよい。また、視聴者情報132には、有価データの購入履歴、特定のアイテムの購入または取得履歴が含まれていてもよい。
配信者情報332は、制御部210が配信プログラム231を実行する際に参照するデータである。配信者情報332は、配信者毎に管理されるデータである。例えば、配信者情報332には、配信端末300が対応する配信者のアカウントの名称を示す情報が含まれていてもよい。また、配信者情報332には、配信端末300に対応する配信者のアカウントにおける、コンテンツの配信履歴、配信したコンテンツの再生数等、配信したコンテンツに係る各種情報、およびメッセージの送受信の履歴が含まれていてもよい。
記憶部420および記憶部520は、ゲームプログラム431、ゲーム情報432、およびユーザ情報433を格納する。記憶部420は、ゲーム端末400に対応するユーザのユーザ情報433を記憶する。一方、記憶部520は、各ゲーム端末400から収集したユーザ情報433をまとめて記憶する。
ゲームプログラム431は、ゲーム端末400およびゲームサーバ500が実行するゲームプログラムである。ゲーム情報432は、制御部410および制御部510がゲームプログラム431を実行する際に参照するデータである。ユーザ情報433は、ユーザのアカウント毎に管理されるデータである。
(配信サーバ200の機能的構成)
制御部210は、記憶部220に格納された配信プログラム231を実行することにより、配信サーバ200を統括的に制御する。例えば、制御部210は、配信端末300からにコンテンツをリアルタイムに受信して、該コンテンツを視聴端末100にライブ配信する。制御部210は、必要に応じて、視聴端末100および配信端末300と通信して、各種情報の送受信を行う。
制御部210は、配信プログラム231の記述に応じて、送受信部211、サーバ処理部212、および、データ管理部213として機能する。制御部210は、配信端末300からのコンテンツのライブ配信、ならびに、視聴端末100による該コンテンツのストリーミング再生および配信者支援を支援するために、図示しないその他の機能ブロックとしても機能することができる。
送受信部211は、配信端末300から各種データおよびリクエストを受信する。例えば、送受信部211は、配信者情報332の一部または全部を、配信端末300から受信する。送受信部211は、配信端末300に対し各種データおよびリクエストを送信する。
また、送受信部211は、視聴端末100から各種データおよびリクエストを受信する。例えば、送受信部211は、視聴端末100からのライブ配信の要求を受信する。送受信部211は、視聴端末100に対し各種情報を送信する。例えば、送受信部211は、視聴端末100に対しコンテンツをライブ配信する。
サーバ処理部212は、コンテンツのライブ配信およびストリーミング再生、ならびに配信者支援のために必要な演算処理を行う。サーバ処理部212は送受信部211に対し、各種データの送信を指示する。サーバ処理部212は、データ管理部213に対し、各種情報の追加、更新、または削除を指示する。
データ管理部213は、記憶部220に格納されているデータを管理する。データ管理部213は、サーバ処理部212からの指示に応じて配信者情報132および視聴者情報132に含まれる各種情報の、追加、更新、または削除を実行する。データ管理部213は、サーバ処理部212の指示に従って、記憶部220から配信者情報132および視聴者情報132のうち少なくとも一方の情報を読み出してもよい。
(視聴端末100の機能的構成)
制御部110は、記憶部120に格納された視聴プログラム131を実行することにより、視聴端末100を統括的に制御する。例えば、制御部110は、視聴プログラム131およびユーザの操作にしたがって、コンテンツのストリーミング再生を実行する。また、制御部110は、コンテンツの再生中に、必要に応じて、配信サーバ200と通信して、情報の送受信を行う。
制御部110は、視聴プログラム131の記述に応じて、操作受付部111、再生部112、表示制御部113、通信部114、および支援指示部115として機能する。制御部110は、ストリーミング再生および配信者支援を実現するために、図示しないその他の機能ブロックとしても機能することができる。
操作受付部111は、入力部151に対するユーザの入力操作を検知し受け付ける。操作受付部111は、タッチスクリーン15およびその他の入出力IF14を介したコンソールに対してユーザが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部110の各要素に出力する。
例えば、操作受付部111は、入力部151に対する入力操作を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部111は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部111は、連続して検知されていた入力が途切れると、タッチスクリーン15から接触入力が解除されたことを検知する。
再生部112は、ストリーミング再生を実行する。再生部112は、通信部114を介して配信サーバ200から受信するコンテンツを再生する。
表示制御部113は、再生部112がストリーミング再生するコンテンツを、表示部152に表示させる。なお、表示制御部113は、UI(user interface)を構築するための2Dまたは3Dのゲームオブジェクト(UIオブジェクト)を制御および描画してもよい。例えば、表示制御部113は、コンテンツの視聴および配信者支援のための種々の操作に必要なUIオブジェクトを、コンテンツと重畳、またはコンテンツとともに表示部152の画面に表示してもよい。UIオブジェクトとは、例えば、アイコン、ボタン、リスト、メニュー画面等である。UIオブジェクトとは、コンテンツの視聴および配信者支援において視聴者が視聴端末100に対して行うためのツールである。また、UIオブジェクトとは、視聴端末100におけるコンテンツの再生中に、視聴端末100から視聴者に、各種情報を通知するためのツールである。
通信部114は、配信サーバ200に対し各種データおよびリクエストを送信する。例えば、通信部114は配信サーバ200に対し、コンテンツの配信の要求と、視聴者情報132の一部または全部とを送信する。通信部114は、配信サーバ200からライブ配信に係る各種情報を受信する。例えば、通信部114は、配信サーバ200からコンテンツと、配信者情報332の一部または全部とを受信する。
支援指示部115は、操作受付部111が第1入力操作を受け付けた場合に、第1入力操作に応じた入力情報を作成して、配信サーバ200に送信する。入力情報の詳細については後述する。支援指示部115は、有価データまたは特定のアイテムの消費と引き換えに、入力情報を作成および送信してもよい。これにより、視聴者による配信者支援の回数に限度を設けることができるため、視聴者に、配信者支援のタイミングおよび回数を考えさせることができる。したがって、コンテンツの興趣性が向上する。
(配信端末300の機能的構成)
制御部310は、記憶部320に格納された配信プログラム331を実行することにより、配信端末300を統括的に制御する。例えば、制御部310は、配信プログラム331および配信者の操作にしたがって、コンテンツを作成し、配信サーバ200を介して視聴端末100に供給する。制御部310は、配信サーバ200およびゲーム端末400と通信して、情報の送受信を行う。
制御部310は、配信プログラム331の記述に応じて、操作受付部311、配信部312、表示制御部313、および通信部314として機能する。制御部310は、配信システム2において配信するコンテンツの性質に応じて、図示しないその他の機能ブロックとしても機能することができる。
操作受付部311は、入力部351に対するオペレータの入力操作を検知し受け付ける。操作受付部311は、タッチスクリーン35およびその他の入出力IF34を介したコンソールに対して、オペレータが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部310の各要素に出力する。操作受付部311の機能の詳細は、視聴端末100における操作受付部111のそれとほぼ同様である。
配信部312は、コンテンツの配信に係る各種処理を実行する。配信部312は、配信画面作成部312Aと、コンテンツ作成部312Bと、通知部312Cと、を含む。
配信画面作成部312Aは、配信者によるコンテンツ作成のオペレーティングを支援するための、配信者向けの画面を作成する。以降、配信者向けの画面のことを、配信画面とも称する。配信画面の構成については、特に限定しない。例えば、配信画面作成部312Aは、アバター、ゲーム画面、各種パラメータ表示等のコンテンツに含まれる各種構成要素を一覧可能な配信画面を作成する。配信画面作成部312Aが作成した配信画面は、表示制御部313を介してタッチスクリーン35に表示される。
コンテンツ作成部312Bは、ライブ配信するコンテンツを作成する。コンテンツ作成部312Bによるコンテンツ作成の具体的な方法については、後述する。
通知部312Cは、配信者に向けた各種通知を作成および出力する。例えば、通知部312Cは、配信者支援がなされたことを、配信者に通知する。
表示制御部313は、タッチスクリーン35の表示部352に対して、上述の各要素によって実行された処理結果が反映された表示画面を出力する。表示制御部313の機能の詳細は、視聴端末100における表示制御部113のそれとほぼ同様である。例えば、表示制御部313は、ライブ配信のための種々の操作に必要なUIオブジェクトを、コンテンツと重畳、またはコンテンツとともに表示部352の画面に表示してもよい。
通信部314は、配信サーバ200に対し各種データおよびリクエストを送信する。例えば、通信部314は配信サーバ200に対し、コンテンツと、配信者情報332の一部または全部を送信する。通信部314は、配信サーバ200からライブ配信に係る各種情報を受信する。例えば、通信部314は、配信サーバ200から視聴者情報132の一部または全部を受信する。また、通信部314は、配信端末300とゲーム端末400との通信を行う。例えば、通信部314は、ゲーム端末400からゲーム画面の画像をリアルタイムで受信する。
(ゲーム端末400の機能的構成)
制御部410は、記憶部420に格納されたゲームプログラム431を実行することにより、ゲーム端末400を統括的に制御する。例えば、制御部410は、ゲームプログラム431およびユーザの操作にしたがって、ゲームを進行させる。また、制御部410は、ゲームを進行させている間、必要に応じて、ゲームサーバ500と通信して、情報の送受信を行う。
制御部410は、ゲームプログラム431の記述に応じて、操作受付部411、ゲーム進行部412、表示制御部413、および通信部414として機能する。制御部410は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
操作受付部411は、入力部451に対するユーザの入力操作を検知し受け付ける。操作受付部411は、タッチスクリーン45およびその他の入出力IF44を介したコンソールに対してユーザが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部410の各要素に出力する。
例えば、操作受付部411は、入力部451に対する入力操作を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部411は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部411は、連続して検知されていた入力が途切れると、タッチスクリーン45から接触入力が解除されたことを検知する。
ゲーム進行部412は、ゲームの進行に係る各種処理を行う。例えば、ゲーム進行部412は、操作受付部411が受け付けた入力操作の位置の座標と、操作の種類と、ゲームの進行状況とに基づいて、ユーザの指示内容を特定する。また、ゲーム進行部412は、ゲームの進行に係る各種判定処理を行う。また、ゲーム進行部412は、記憶部420に記憶されたゲーム情報432およびユーザ情報433に含まれる、各種情報の追加、更新、または削除を行う。
表示制御部413はゲーム画面の画像を作成して、該画像を、通信部414を介して配信端末300にリアルタイムで送信する。表示制御部413は、例えば、ゲームオブジェクトと、該ゲームオブジェクトの背景となる背景画像とを含む画像を生成して、配信端末300に送信する。なお、表示制御部413は、ゲーム画面の画像を表示部452に表示させてもよい。
なお、表示制御部413は、UI(user interface)を構築するための2Dまたは3Dのゲームオブジェクト(UIオブジェクト)を制御および描画してもよい。例えば、表示制御部413は、背景画像にアイコン、ボタン、リスト、メニュー画面等、ゲームの種々の操作に必要なUIオブジェクトを重畳したゲーム画面を表示させてもよい。UIオブジェクトとは、ユーザが、ゲームの進行上必要な入力をゲーム端末400に対して行うためのツールである。また、UIオブジェクトとは、ユーザが、ゲームの進行中に出力される情報をゲーム端末400から得るためのツールである。
通信部414は、ゲームサーバ500に対し各種データおよびリクエストを送信する。例えば、通信部414はゲームサーバ500に対し、ゲーム情報432もしくはユーザ情報433の一部または全部を送信する。通信部414は、ゲームサーバ500から各種データおよびリクエストを受信する。例えば、通信部414はゲームサーバ500から、ゲーム情報432もしくはユーザ情報433の一部または全部を受信する。
また、通信部414は、ゲーム端末400と配信端末300との通信を行う。例えば、通信部414は、表示制御部413が作成したゲーム画面の画像を、配信端末300にリアルタイムで送信する。
(ゲームサーバ500の機能的構成)
制御部510は、記憶部520に格納されたゲームプログラム431を実行することにより、ゲームサーバ500を統括的に制御する。また、制御部510は、複数のゲーム端末400と通信して、ゲーム端末400同士のデータのやりとりを仲介してもよい。
制御部510は、ゲームプログラム431の記述に応じて、送受信部511、サーバ処理部512、および、データ管理部513として機能する。制御部510は、実行するゲームの性質に応じて、ゲーム端末400におけるゲームの進行を支援するために、図示しないその他の機能ブロックとしても機能することができる。
送受信部511は、ゲーム端末400から各種データおよびリクエストを受信する。例えば、送受信部511は、ゲーム情報432もしくはユーザ情報433の一部または全部を、ゲーム端末400から受信する。
送受信部511は、ゲーム端末400に対し各種データおよびリクエストを送信する。例えば、送受信部511は、配信サーバ200から受信した支援指示をゲーム端末400に送信する。
サーバ処理部512は、ゲームを提供するために必要な演算処理を行う。サーバ処理部512は送受信部511に対し、各種データの送信を指示する。サーバ処理部512は、データ管理部513に対し、ゲーム情報432、およびユーザ情報433に含まれる各種情報の追加、更新、または削除を指示する。
データ管理部513は、記憶部520に格納されているデータを管理する。データ管理部513は、サーバ処理部512からの指示に応じてゲーム情報432およびユーザ情報433に含まれる各種情報の、追加、更新、または削除を実行する。データ管理部513は、サーバ処理部512の指示に従って、記憶部520からゲーム情報432およびユーザ情報433のうち少なくとも一方の情報を読み出してもよい。データ管理部513は、ゲームプログラム431のうち、あるゲーム端末400で実行する分のプログラムを記憶部520から読み出して、該ゲーム端末400に送信してもよい。
なお、図3に示す視聴端末100、配信サーバ200、配信端末300、ゲーム端末400、およびゲームサーバ500の機能は一例にすぎない。例えば、配信サーバ200は、視聴端末100または配信端末300が備える機能の少なくとも一部を備えていてもよい。また例えば、視聴端末100または配信端末300は、配信サーバ200が備える機能の少なくとも一部を備えていてもよい。また例えば、ゲームサーバ500は、ゲーム端末400が備えるが備える機能の少なくとも一部を備えていてもよい。また例えば、ゲーム端末400は、ゲームサーバ500が備える機能の少なくとも一部を備えていてもよい。
また、視聴端末100は、上述した構成要素以外の他の構成要素、または視聴端末100と接続された他の装置と協働してもよい。例えば、視聴端末100は他の構成要素または他の装置に、視聴端末100における処理の一部を実行させてもよい。
また、配信システム2は、配信サーバ200、および配信端末300以外の他の装置を配信システム2の構成要素とし、該他の装置に配信システム2における処理の一部を実行させてもよい。すなわち、本実施形態において配信プログラム231を実行するコンピュータは、配信サーバ200、配信端末300、および他の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
また、ゲームシステム3は、ゲーム端末400、およびゲームサーバ500以外の他の装置をゲームシステム3の構成要素とし、該他の装置にゲームシステム3における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラム431を実行するコンピュータは、ゲーム端末400、ゲームサーバ500、および他の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
<配信処理の流れ>
図4は、コンテンツを作成してライブ配信する場合の、装置間のデータの送受信および処理の流れの一例を示すシーケンス図である。なお、ゲームサーバ500については、コンテンツの作成から配信までの流れにおいて必須の処理が存在しないため、図4に記載していない。
ステップS100において、ゲーム端末400のゲーム進行部412は、ゲームを開始させる。ゲーム進行部412は、例えば、操作受付部411がゲームの開始を指示する入力操作を受け付けた場合に、ゲームを開始させる。ゲーム進行部412は、ゲームの進行に応じたゲーム画面を作成するよう、表示制御部413に指示する。表示制御部413は該指示を受けて、ゲーム画面を作成する。
ステップS102において、通信部414は、表示制御部413が作成したゲーム画面の画像を、配信端末300にリアルタイムで送信する。なお、ゲーム画面はゲーム端末400の表示部452に表示されてもよい。
ステップS104において、配信端末300の通信部314は、ゲーム画面の画像をリアルタイムに受信する。通信部314は受信したゲーム画面の画像を随時、配信部312に送る。
ステップS106において、配信部312は、コンテンツを作成して、該コンテンツを、通信部314を介して配信サーバ200にリアルタイムで送信する。コンテンツの作成方法については、後で詳述する。以降、配信部312は、例えば、操作受付部311が、ライブ配信の終了を指示する入力操作を受け付けるまで、コンテンツのライブ配信を継続する。
ステップS108において、配信サーバ200の送受信部211は、コンテンツをリアルタイムで受信する。送受信部211は、受信したコンテンツを、一時的または非一時的に、記憶部220に記憶させてもよい。配信サーバ200は、視聴端末100からライブ配信の要求を受け付けるまで待機する。
ステップS110において、視聴端末100の操作受付部111は、視聴者の、コンテンツの視聴を指示する入力操作を受け付ける。操作受付部111が該指示を受け付けると、再生部112は、ステップS112を実行する。
ステップS112において、再生部112は、通信部114を介してコンテンツの配信を要求する。
ステップS114において、配信サーバ200のサーバ処理部212は、送受信部211を介して配信の要求を受信する。サーバ処理部212は該要求を受信すると、ステップS116の処理を実行する。
ステップS116において、サーバ処理部212は、配信端末300から受信しているコンテンツを、視聴端末100にリアルタイムで配信する。以降、サーバ処理部212は、例えば、送受信部211が配信端末300からコンテンツを受信しなくなるまで、または、視聴端末100から視聴終了の旨を通知されるまで、コンテンツのライブ配信を継続する。
ステップS118において、視聴端末100の通信部114は、コンテンツをリアルタイムに受信する。
ステップS120において、再生部112は、通信部114が随時受信するコンテンツをストリーミング再生する。以降、再生部112は、ステップS122でYESまたはステップS124でYESと判定されるまで、ストリーミング再生を継続して行う。
ステップS122において、制御部110は、操作受付部111が視聴終了を指示する入力操作を受け付けたか否か判定する。ステップS122でYESの場合、すなわち、操作受付部111が視聴終了を指示する入力操作を受け付けた場合、再生部112は、ステップS126を実行する。
ステップS126において、再生部112は、コンテンツのストリーミング再生を終了させる。また、再生部112は通信部114を介して、視聴終了の旨を配信サーバ200に通知する。配信サーバ200のサーバ処理部212は該通知を受信した場合、視聴端末100へのライブ配信を停止する。
一方、ステップS122でNOの場合、すなわち、操作受付部111が視聴終了を指示する入力操作を受け付けていない場合、制御部110はさらに、ステップS124の処理を実行する。
ステップS124において、制御部110は、ライブ配信が終了したか否かを判定する。例えば、制御部110は通信部114におけるコンテンツの受信が終了した場合に、ライブ配信が終了したと判定してよい。ステップS124でNOの場合、制御部110はステップS122からの処理を繰り返す。一方、ステップS124でYESの場合、再生部112は、ステップS126の処理を実行する。すなわち、再生部112は、コンテンツのストリーミング再生を終了させる。
以上の処理によれば、ゲーム端末400で進行中のゲームのプレイ画面と、配信者のアバターとを含むコンテンツがリアルタイムで作成および配信される。これにより、視聴者は、視聴端末100を介してコンテンツを視聴することで、配信者のアバターと、配信者がプレイしているゲームのプレイ画面とを見ることができる。
(コンテンツの作成と再生画面)
図5は、配信者によるコンテンツ作成の様子と、視聴端末100において該コンテンツが再生された場合の表示画面の一例とを示す図である。以降、視聴端末100においてコンテンツを再生しているときの表示画面のことを、「再生画面」と称する。なお、以降の説明では、ゲームシステム3が実現するゲームは、敵を射撃して倒すことでステージをクリアしていく、ガンシューティングゲームであることとする。また、以降の説明では、第1入力操作に応じて、支援効果として、前述のガンシューティングゲーム内における配信者の残弾数を増加させる効果、すなわち、銃をリロードする効果が発動されることとする。
図5の状態(A)は、配信者によるコンテンツ作成の様子を示す図である。配信者701は、配信端末300に対し各種入力を行うことで、コンテンツを作成する。例えば、配信者701は、自分の音声700を、マイク3010を介して配信端末300に入力する。
また、配信端末300には、配信者の一部であるモデル702のモーションキャプチャデータが入力されてもよい。配信部312は、モーションキャプチャ装置3020から供給されたモーションキャプチャデータが示す動きを、配信者のアバターの動きに反映させる。モーションキャプチャデータとは、モデル702の動きを、モーションキャプチャ装置3020を介して取得したものである。
さらに、配信端末300には、前述したようにゲーム端末400からゲーム画面が随時供給される。配信端末300のコンテンツ作成部312Bは、これらリアルタイムに入力される音声、モーションキャプチャデータ、およびゲーム画面に基づいて、コンテンツを順次合成する。
例えば、コンテンツ作成部312Bは、配信者のアバターを示すキャラクタオブジェクトの画像を描画する。このとき、コンテンツ作成部312Bは、該キャラクタオブジェクトの姿勢を、モーションキャプチャデータが示すモデル702の動きに対応した姿勢に動かす。
コンテンツ作成部312Bは、前述のキャラクタオブジェクトの画像と、ゲーム画面とを合成する。これにより、配信者のアバターと、配信者がプレイしているゲームのプレイ画面とを含むコンテンツを作成することができる。
また、コンテンツ作成部312Bは、配信者701が発した音声700と同内容の音声をコンテンツに合成してもよい。ここで、「同内容の音声」とは、該音声700自体、音声700に所定の音声加工を施した音声、または、音声700の内容を読み上げソフト等で機械発声させた音声を意味する。また、コンテンツ作成部312Bは、配信端末300のタッチスクリーン35等を介して入力された文字列等をコンテンツに合成してもよい。
図5の状態(B)は、視聴端末100における再生画面の一例を示す図である。再生画面800には、少なくとも、配信者のアバター801と、ゲームのプレイ画面802とが含まれている。また、再生画面800には、視聴者の保有する有価データまたは特定のアイテムの量を表示する欄807が含まれていてもよい。また、再生画面800には、第1入力操作を受け付けるためのボタン805およびボタン806が含まれていてもよい。ボタン805とボタン806とは、それぞれ異なる支援効果を引き起こすためのボタンである。換言すると、ボタン805に対する第1入力操作と、ボタン806に対する第1入力操作とは、制御部110において、異なる種類の第1入力操作として受け付けられる。なお、再生画面800にはボタン805およびボタン806一方のみ含まれていてもよい。このように、第1入力操作を受け付けるためのUIオブジェクトを再生画面800に含めて表示させることで、視聴者に、配信者支援を簡易な操作で実行させることができる。
また、再生画面800には、配信者に対しメッセージを送信するためのボタン804が含まれていてもよい。また、視聴端末100は、スピーカ等の出力装置から、配信者が入力した音声と同内容の音声803を出力してもよい。
<支援処理の流れ>
図6は、ライブ配信中に視聴者が配信者のゲームプレイを支援する場合の、装置間のデータの送受信および処理の流れの一例を示すシーケンス図である。図6に示すシーケンス図は、配信サーバ200および配信端末300がコンテンツをライブ配信しており、かつ、視聴端末100が該コンテンツを再生している場合における、シーケンス図である。換言すると、図6に示すシーケンス図は、図4に示すシーケンス図の、ステップS120からステップS122までの間に実行される、データの送受信および処理の流れの一例を示している。
ステップS200において、制御部110は、操作受付部111が第1入力操作を受け付けたか否か判定する。ステップS200でNOの場合、すなわち、操作受付部111が第1入力操作を受け付けていない場合、制御部110は、再生部112によりコンテンツを再生しながら、第1入力操作の受け付けを待つ。ステップS200でYESの場合、すなわち、操作受付部111が第1入力操作を受け付けた場合、支援指示部115は、ステップS202を実行する。第1入力操作とは、例えば、図5に示した再生画面800に含まれる、ボタン805または806に対する入力操作である。
図7は、視聴者による第1入力操作がなされる前と後との、再生画面800の変化の例を示す図である。図7の状態(A)は、視聴者Aによってボタン805に対する第1入力操作が行われる前の再生画面800を示している。一方、図7の状態(B)は、第1入力操作が行われた後の再生画面800を示している。
図7の状態(A)に示すように、ボタン805に対する入力操作、例えば、タッチスクリーン15におけるボタン805の表示領域を押下する入力操作が行われた場合、操作受付部111は、該入力操作を、第1入力操作として受け付ける。第1入力操作が受け付けられると、支援指示部115は、ステップS202を実行する。
ステップS202において、支援指示部115は、第1入力操作の種類に応じた入力情報を作成して、該入力情報を配信サーバ200に送信する。例えば、支援指示部115は、再生画面800に含まれる、ボタン805および806のいずれかのボタンに対し行われた入力操作を受け付けて、いずれのボタンに対する入力操作かを特定した上で、各ボタンに応じた入力情報を作成する。
入力情報は、少なくとも視聴端末100において第1入力操作があった旨を通知できる情報であればよい。入力情報は、配信端末300が支援指示を作成する際に必要な情報が含まれていれば、データ構造は特に限定されない。
図8は、入力情報のデータ構造の一例を示す図である。図示の例では、入力情報は、「ユーザID」列と、「ユーザ名」列と、「日時」列と、「指示」列と、「消費量」列の情報を含む。図8の入力情報は、図7の状態(A)において、ボタン805に対する入力操作を受け付けた場合に生成される入力情報の一例である。
「ユーザID」列には、視聴者を特定するための情報が格納される。「ユーザ名」列には、視聴者のアカウントの名称、例えばハンドルネームを示す情報が格納される。以降、視聴者のアカウントの名称のことを、視聴者名とも称する。「日時」列には、第1入力操作がなされた日時を示す情報が格納される。なお、日時は制御部110の制御クロック等を用いて計時されてよい。「指示」列には、第1入力操作の種類を示す情報が格納される。図8の例では、入力情報は、指示Aを示す第1入力操作が行われた場合の入力情報である。「消費量」列には、第1入力操作が受け付けられて入力情報が作成された場合に消費された、有価データまたは特定のアイテムの量を示す情報が格納される。なお、配信者支援のために有価データおよび特定のアイテムの両方が使用可能な場合、「消費量」列には、消費されたものの種類、すなわち、消費された有価データおよび特定のアイテムの種類を示す情報も格納されることが望ましい。
ステップS204において、支援指示部115は、表示制御部113を介して、配信者を支援した旨をユーザに通知する。例えば、支援指示部115は表示制御部113に、第1入力操作を受け付けた旨の通知を含む再生画面800を作成するよう指示する。また例えば、支援指示部115は表示制御部113に、第1入力操作による有価データまたは特定のアイテムの消費量の通知を含む再生画面800を作成するよう指示する。また例えば、支援指示部115は表示制御部113に、該第1入力操作によって引き起こされた、支援効果を通知するポップアップ画像等を表示させる。なお、再生部112は音声等によって前述した各種通知を実行してもよい。
ステップS206において、配信サーバ200のサーバ処理部212は、入力情報を受信する。サーバ処理部212は、受信した入力情報に基づいて支援指示を作成する。なお、支援指示は、ゲーム端末400の制御部410に支援効果を実現させるために必要な情報が含まれていれば、そのデータ構造は特に限定されない。例えば、配信サーバ200は記憶部220に、第1入力操作の種類、すなわち視聴端末100における指示の種類と、配信者支援の内容とを対応付けた情報である、支援情報を格納していてよい。そして、サーバ処理部212は該支援情報を参照することで、入力情報が示す第1入力操作から支援効果の内容を特定する。そして、サーバ処理部212は特定した支援効果の内容を示す支援指示を作成する。
図9は、配信サーバ200のサーバ処理部212が作成する、支援指示のデータ構造の一例を示す図である。図9に示す支援指示のデータは、図7に示した入力情報に対応して作成された支援指示を示す。図示の例では、支援指示は、「支援効果」列と、「効果量」列とを含む。
「支援効果」列には、支援効果の内容を規定する情報が格納される。なお、支援効果が、ゲームに関する所定のゲーム内パラメータの数値を変更するような効果である場合、「支援効果」列には、変化させるパラメータを示す情報が格納される。さらに、該パラメータの数値の変動量が可変である場合、「支援効果」列には、該パラメータをどのように変化させるのかを示す情報が格納される。なお、「支援効果」列には、該パラメータの変化量を示す情報が含まれていてもよい。
例えば、図示の例では、「支援効果」列に格納された情報において、ゲーム内の「弾丸」という所持アイテムの数量というゲーム内パラメータを、「リロードする」、すなわち、増加させることが規定されている。なお、図示の例では、弾丸の数量は変数xと仮定されている。
「効果量」列には、ゲームに関する所定のパラメータの変更量、すなわち、支援効果の効果量を示す情報が格納される。図示の例では、効果量は10で固定であるが、例えば有価データまたは特定のアイテムの消費量に応じて、効果量が規定されてもよい。具体的には、特定のアイテムを2個消費したときは、1個消費したときに比べて、2倍の効果量が規定されてもよい。なお、「支援効果」列に、パラメータの変化量を示す情報が含まれている場合、支援指示に「効果量」列の情報は含まれていなくてもよい。
入力情報に、支援効果の内容を規定する情報が含まれていてもよい。例えば、図8に示した入力情報に、「指示」列が示す情報の代わりに、または該情報とともに、図9に示す「支援効果」列および「効果」列が示す情報が含まれていてもよい。この場合、視聴端末100の記憶部120が、支援情報を記憶している。また、支援指示部115が、第1入力操作に応じた支援効果の内容を特定して、該内容を含んだ入力情報を作成する。この場合、サーバ処理部212は、受信した入力情報をそのまま支援指示としてゲームサーバ500に送信してよい。またこの場合、配信サーバ200に支援情報は含まれていなくてもよい。
支援指示に、支援効果の内容ではなく、第1入力操作の種類を示す情報が含まれていてもよい。例えば、図9に示す「支援効果」列および「効果」列が示す情報の代わりに、図8に示した入力情報の「指示」列が示す情報が含まれていてもよい。この場合、ゲームサーバ500の記憶部520またはゲーム端末400の記憶部420が、支援情報を記憶している。また、支援情報を記憶しているゲームサーバ500またはゲーム端末400のいずれかにおいて、第1入力操作に応じた支援効果の内容が特定される。ゲームサーバ500が支援効果の内容を特定した場合、ゲームサーバ500からゲーム端末400に該内容が伝達される。この場合、配信サーバ200には支援情報は含まれていなくてもよい。
ステップS208において、サーバ処理部212は、作成した支援指示をゲームサーバ500に送信する。
ステップS210において、ゲームサーバ500は、支援指示を受信する。
ステップS212において、ゲームサーバ500は、支援指示をゲーム端末400に送信する。すなわち、ゲームサーバ500は、配信サーバ200から受信した支援指示を、ゲーム端末400に転送する。
ステップS214において、ゲーム端末400のゲーム進行部412は、通信部414を介し支援指示を受信する。
ステップS216において、ゲーム進行部412は、支援指示が示す支援効果を、進行中のゲーム内において発動させる。ここで、表示制御部413が作成するゲーム画面は、随時配信端末300に送信されている。したがって、ゲーム進行部412が支援効果を発動させたことは、配信端末300に送信されるゲーム画面に反映される。
ステップS218において、ゲーム端末400の表示制御部413は、通信部414を介して配信端末300にゲーム画面を送信する。
ステップS220において、配信端末300の配信部312は、ゲーム画面を受信する。配信端末300のコンテンツ作成部312Bは、受信したゲーム画面、すなわち配信者のゲームのプレイ画面を含むコンテンツを作成し、配信サーバ200を介してライブ配信する。再生部112および表示制御部113は該コンテンツを含む再生画面をタッチスクリーン15に表示させる。これにより、視聴端末100のタッチスクリーン15には、支援効果が発動された後のプレイ画面が表示される。
(第1入力操作の後の再生画面)
図7の状態(B)は、ボタン805に対する入力操作がなされた後の再生画面800を示している。ボタン805に対する入力操作、すなわち第1入力操作がなされると、支援指示部115は、視聴者Aの保有する有価データまたは特定のアイテムを所定量減少させる。そして、有価データまたは特定のアイテムの消費と引き換えに、上述した入力情報を作成して、配信サーバ200に送信する。
例えば、支援指示部115は、視聴者情報132に記憶されている、視聴者の有価データまたは特定のアイテムの保有量を更新する。該保有量は、再生部112および表示制御部113による再生画面800の作成時に参照される。そのため、図7の状態(B)に示す通り、再生画面800の欄807に表示されている、有価データまたは特定のアイテムの保有量も更新される。図示の例では、視聴者の有価データ(ジェム)の保有数が10個減少している。
入力情報は、支援指示部115から配信サーバ200に送信される。そして、配信サーバ200において支援指示が作成され、該支援指示に基づいて、ゲームシステム3のゲーム端末400において、支援効果が発動される。
これにより、ガンシューティングゲームにおいて、プレイヤー、すなわち配信者の残弾数が増加する。換言すると、視聴者Aは、ボタン805に対して入力操作を行うことによって、有価データを消費して、ゲーム内における配信者の銃のリロードを手伝うことができる。再生画面800のゲーム画面802には、銃の残弾を示す欄802Aが含まれている。図示の例では、支援効果によって、銃の残弾数が10個増加している。
また、図6の状態(B)に示す通り、再生画面800には、ボタン805に対する入力操作によって消費された有価データの量、および、該入力操作によって引き起こされた、支援効果を通知するポップアップ808が表示されていてもよい。
ところで、配信サーバ200は、ステップS208において支援指示を送信する際に、ステップS222も実行する。
ステップS222において、配信サーバ200のサーバ処理部212は、配信端末300に入力情報を送信する。
ステップS224において、配信端末300の配信部312は入力情報を受信する。これにより、配信部312は、配信者支援がなされたことを認識することができる。
ステップS226において、配信部312の通知部312Cは、配信者支援がなされたことを、配信者に通知する。入力情報に視聴者名が含まれている場合、通知部312Cは、配信者支援がなされた旨の通知とともに、該配信者支援を行った視聴者の視聴者名も通知することが好ましい。
なお、ステップS226における通知の方法は特に限定しない。例えば、通知部312Cは、配信端末300のスピーカから、配信者支援がなされたことを音声で配信者に通知してもよい。また、通知部312Cは、配信画面作成部312Aが作成および表示させる配信画面に、配信者支援がなされたことを示すポップアップ画像等を表示させることにより、配信者支援がなされたことを通知してもよい。
以上の説明では、ステップS208〜ステップS220の処理の後に、ステップS222〜ステップS226の処理について説明した。しかしながら、ステップS208の処理と、ステップS222の処理との処理順は特に限定されない。また、ステップS208とステップS222とは並行して実行されてもよい。
したがって、ステップS210〜S220の処理と、ステップS224〜ステップS226の処理との処理順も、特に限定されない。例えば、配信端末300は、支援効果が発動した後のゲーム画面を受信してから、支援された旨を配信者に通知してもよい。すなわち、ステップS200の処理の後に、ステップS226の処理が実行されてもよい。
また、ステップS222における、配信サーバ200から配信端末300への入力情報の送信は必須ではない。例えば、ゲーム端末400は、ステップS216において支援効果を発動させた場合、配信端末300に、該支援効果を発動させた旨を通知してもよい。この場合、配信端末300は、ゲーム端末400から該通知を受信すると、ステップS226における通知を行う。
このように、本実施形態に係る支援システム1によれば、視聴端末100に対する第1入力操作に応じて、配信者のゲームのプレイを支援することができる。つまり、視聴者はライブ配信を見て第1入力操作をすることで、配信者のゲームプレイに介入することができる。したがって、コンテンツの興趣性を向上させることができる。
<コンテンツの変形例>
以上の説明では、ゲームシステム3が提供するゲームは、配信システム2が配信するコンテンツとは独立したものであり、ゲーム端末400から配信端末300にゲーム画面が取り込まれることによって、該ゲーム画面がコンテンツに含まれることとした。
しかしながら、支援システム1は、配信システム2とゲームシステム3とを一体としたシステムであってもよい。例えば、配信端末300とゲーム端末400が一体に構成されており、配信画面作成部312Aが、ゲーム進行部412およびゲームサーバ500等と協働して、ゲーム画面兼配信画面を作成することとしてもよい。そして、配信画面作成部312Aは、ゲーム進行部412およびゲームサーバ500等と協働して、配信者または配信者のアバターが該配信画面でプレイするためのゲームを提供してもよい。この場合、コンテンツに含まれるゲームのプレイ画面とは、配信者のアバターを含む、コンテンツそのものとなる。
図10は、再生画面の他の一例を示す図である。図10に示す再生画面900には、配信者のアバター901を含む、ゲーム画面としてのコンテンツが表示される。再生画面900には、配信者のアバター901が含まれる。また、再生画面900には、第1入力操作を受け付けるためのボタン905が含まれる。また、再生画面900には、ゲームの進行に関連するオブジェクト902および908、有価データまたは特定のアイテムの保有量を示す欄907、ならびに、配信者に対しメッセージを送信するためのボタン904が含まれていてもよい。
操作受付部111は、再生画面900において、ボタン905をタッチする入力操作等の第1入力操作を受け付ける。以降の処理は、前述した処理と同様である。例えば、支援システム1は、ボタン905に対する第1入力操作に応じて、支援効果として、配信端末300において実現されている図示のゲームにおける、残り時間を増加させてもよい。
〔実施形態2〕
視聴端末100の操作受付部111は、視聴者の、配信者に対するメッセージの送信を指示する入力操作である第2入力操作を受け付けてもよい。また、視聴端末100の制御部110は、第2入力操作を受け付けた場合、配信システム2にメッセージを送信してもよい。また、表示制御部113は、タッチスクリーン15に、コンテンツと、第1入力操作を受け付けるためのUIオブジェクトとともに、視聴端末100から配信システム2へ送信したメッセージ、および、視聴者以外の他の視聴者により、他の視聴端末100から送信されたメッセージを表示させてもよい。
また、表示制御部113は、タッチスクリーン15に、コンテンツと、第1入力操作を受け付けるためのUIオブジェクトとともに、第2入力操作を受け付けるためのUIオブジェクトを表示させてもよい。以下、本発明の実施形態2について説明する。なお、実施形態1にて説明した内容と同じ内容については、その説明を繰り返さない。
(メッセージの送信と表示)
図11は、視聴端末100においてメッセージの入力および送信を行う場合の、再生画面の一例を示す図である。なお、以下の例では、視聴者情報132に記憶されたユーザ名が「A男」である視聴者の視聴端末100、すなわちA男の視聴端末100における再生画面850を例にとり説明する。
図11の状態(A)は、第2入力操作を受け付けるときの再生画面850を示す図である。本実施形態に係る配信端末300のコンテンツ作成部312Bは、視聴者からのメッセージの表示領域を含んだコンテンツを作成し、ライブ配信する。該表示領域には、各視聴端末100からのメッセージが随時表示される。
視聴端末100の再生部112は、上述の表示領域を含むコンテンツを再生する。したがって、再生画面には、図示の再生画面850のように、視聴者からのメッセージを表示する表示領域810が含まれる。
視聴端末100の表示制御部113は、操作受付部111が視聴者の所定の入力操作を受け付けた場合、メッセージを入力するためのソフトウェアキーボードであるUIオブジェクト811と、メッセージの入力欄812とを再生画面850に表示させる。なお、所定の入力操作とは、例えば図5の状態(B)等に示した再生画面800におけるボタン804に対する入力操作である。
視聴端末100の操作受付部111は、配信者に対するメッセージの送信を指示する入力操作である第2入力操作を受け付ける。図示の例では、第2入力操作とは、入力されたメッセージを確定する入力操作、すなわち、ソフトウェアキーボード811の決定ボタンに対する入力操作である。図示のように、入力欄812に「頑張って!」と入力された状態で、ソフトウェアキーボード811の決定ボタンに対する入力操作が行われたとする。この場合、制御部110は、視聴者情報132に記憶されている視聴者名を読み出し、該視聴者名と、確定されたメッセージ、すなわち「頑張って!」という文字列を示す情報とを、配信システム2の配信サーバ200に送信する。
なお、メッセージの宛先は配信者であるが、該メッセージの内容自体は特に限定されない。例えば、メッセージの内容は、コンテンツに対する感想、または、他の視聴者のコメントへの返信コメント等であってもよい。
この場合、配信サーバ200のサーバ処理部212は、送受信部211を介して、A男の視聴端末100からメッセージおよび視聴者名を受信する。サーバ処理部212は、受信した視聴者名およびメッセージを配信端末300に転送する。
配信端末300の配信部312は、配信サーバ200からの視聴者名およびメッセージを受信する。コンテンツ作成部312Bは、該メッセージが、メッセージの宛先、すなわち視聴者名とともに、コンテンツにおけるメッセージの表示領域に表示されるよう、メッセージおよび視聴者名のテキスト文字列と、UI画像、ゲーム画面、アバター等のコンテンツの構成要素とを合成し、ライブ配信する。
視聴端末100の再生部112は、ライブ配信されたコンテンツを受信し再生する。これにより、図11の状態(B)に示す再生画面850が、タッチスクリーン15に表示される。図11の状態(B)は、同図の状態(A)に示す「頑張って!」というメッセージがA男の視聴端末100から送信された後の、A男の視聴端末100における再生画面850を示す図である。例えば、再生画面850の表示領域810に、メッセージ810Aと該メッセージを送信したユーザ名(A男)とが対応付けられて表示される。
視聴端末100は複数存在し得るため、配信システム2の配信サーバ200は、複数の視聴端末100から、上述したような流れで視聴者名およびメッセージを受信して配信端末300に転送する。そして、配信端末300のコンテンツ作成部312Bは、それらのメッセージが、表示領域に該メッセージを送信した視聴者名とともに表示されるよう、メッセージおよび視聴者名を、他のコンテンツの構成要素と合成してコンテンツを作成する。したがって、例えばA男の視聴端末100における再生画面850には、コンテンツに含まれているA男のメッセージ以外のメッセージも表示され得る。
図11の状態(C)は、B太がA男の視聴端末100以外の他の視聴端末100、すなわち、B太の視聴端末100を用いてメッセージを送信した場合の、A男の視聴端末100における再生画面850を示す図である。図示の通り、A男の視聴端末100は、表示領域810に、A男以外の他の視聴者(B太)により送信されたメッセージ810Bが表示された再生画面850を表示する。
以上の処理によれば、視聴端末100は、視聴者に、該視聴者が送信を指示したメッセージと、該視聴者以外の他の視聴者が、他の視聴端末100から送信したメッセージとを示すことができる。このように、ある視聴者に対し、他の視聴者のメッセージを示すことで、コンテンツ視聴中に、該ある視聴者に、同じコンテンツを視聴している他者の存在を認識させることができる。例えば、図11の状態(C)に示す再生画面850を見たA男は、同じコンテンツをB太が視聴していることを認識することができる。また、A男とB太は、互いにメッセージを送信し合うことで、会話することもできる。これにより、複数人でコンテンツを視聴していることを視聴者に体感させることができる。また、視聴者は、メッセージで配信者または他者に反応することができるため、コンテンツの興趣性が向上する。
なお、配信端末300の配信画面作成部312Aは、視聴端末100から受信したメッセージおよび該メッセージを送信した視聴者名を、配信画面に表示させてもよい。もしくは、配信部312は、配信端末300のスピーカ等を介して、視聴端末100から受信したメッセージの内容および視聴者名を、音声で配信者に通知してもよい。
これにより、配信者は誰が、どのようなメッセージを送信したのか認識することができる。そのため、例えば図11の状態(C)に示すように、メッセージに対して、音声813等で返答することができる。これにより、視聴者と配信者との交流を活性化することができ、コンテンツの興趣性がより向上する。
(支援通知のための処理の流れ)
視聴端末100の表示制御部113は、他の視聴端末100からの入力情報によって、配信システム2からゲームシステム3に対して支援指示が送信された場合、他の視聴端末100に対応する他の視聴者の名称と、該他の視聴者が配信者のゲームプレイを支援した旨と、を視聴者に通知してもよい。
図12は、他の視聴者が配信者のゲームプレイを支援した旨を視聴者に通知するための、装置間のデータの送受信と、処理の流れとの一例を示すシーケンス図である。図12では一例として、A男とC助という2人の視聴者が、それぞれの視聴端末100を用いてコンテンツを視聴中の場面で、C助が配信者支援を実行した場合の処理の流れを示している。
図12のステップS300〜ステップS326の処理は、図6におけるステップS200〜ステップS226の処理の流れと同様である。ただし、図12の例において、視聴端末100は、ユーザIDおよび視聴者名を含んだ入力情報を配信サーバ200に送信する。また、ステップS326において、配信端末300の通知部312Cは、配信者支援がなされた旨の通知とともに、該配信者支援を行った視聴者の視聴者名も通知する。
配信サーバ200は、ステップS308において支援指示をゲームサーバ500に送信した後、または、ステップS322において入力情報を配信端末300に送信した後、ステップS328を実行する。
ステップS328において、配信サーバ200のサーバ処理部212は、コンテンツを再生中の視聴端末100のうち、入力情報の送信元である視聴端末100以外の視聴端末100に、支援内容と、支援を行った視聴者名とを通知する。例えば、サーバ処理部212は、受信した入力情報が示すユーザIDと対応付けられている視聴端末100以外の視聴端末100に前述の通知を送る。
図12の例では、サーバ処理部212はA男の視聴端末100に、支援内容と、支援を行った視聴者名を通知する。なお、配信サーバ200は、コンテンツを再生中の視聴端末100全てに支援通知と、支援を行った視聴者名とを通知してもよい。
ステップS330において、A男の視聴端末100の制御部110は、配信サーバ200からの通知を受信する。
ステップS332において、A男の視聴端末100の表示制御部113は、ステップS330において受信した通知を再生画面に反映させる。表示制御部113は、例えば、配信者支援を行ったC助の名前と、C助の指示により実行された配信者支援の内容とを示すポップアップ画像を作成し、再生画面に重畳表示させる。
なお、ゲーム端末400は、ステップS216において支援効果を発動させた場合、配信端末300に、該支援効果を発動させた旨を通知してもよい。また、配信端末300は、ゲーム端末400から該通知を受信した場合に、配信サーバ200に該通知を転送してもよい。そして、配信サーバ200のサーバ処理部212は、送受信部211において該通知を受信した場合に、ステップS328を実行してもよい。これにより、実際にゲームで支援効果が発動したことを契機に、各視聴端末100に支援内容等を通知することができる。したがって、各視聴端末100においても、実際にゲームで支援効果が発動したときに、再生画面に、支援内容および支援した視聴者のアカウントの名称を表示させることができる。
(支援通知の表示)
図13は、他の視聴者に対応する他の視聴端末100が配信者支援を実行した場合の、視聴端末100における再生画面の一例を示す図である。図13の状態(A)〜(C)に示す再生画面860は、図11の状態(C)に示した再生画面850の後に、A男の視聴端末100に表示される再生画面である。
図13の状態(A)は、他の視聴者であるC助が、C助の端末から配信者支援を実行した場合の再生画面を示している。図12で説明したように、C助の視聴端末100から入力情報が配信サーバ200に送信されると、配信サーバ200はゲームサーバ500に支援指示を送信するとともに、A男の視聴端末100を含む視聴端末100に対し、支援を指示したC助の名前と、支援内容とを通知する。
A男の視聴端末100の表示制御部113は、配信者支援を行ったC助の名前と支援の内容とを示すポップアップ画像814を作成し、再生画面に重畳表示させる。このように、ある視聴者に対し、他の視聴者による支援が行われたこと、ならびに、支援内容および支援者の名称を示すことで、コンテンツ視聴中の該ある視聴者に、同じコンテンツを視聴している他者の存在を認識させることができる。例えば、図13の状態(A)の例では、A男に、C助が同じコンテンツを視聴していて、配信者支援を行ったという事を認識させることができる。これにより、複数人でコンテンツを視聴していることを視聴者に体感させることができる。また、ある視聴者が配信者支援を実行したことを他の視聴者に認識させることで、該他の視聴者の競争心を煽って、配信者支援を行うよう促すことができる。
また、図12のステップS326で説明したように、配信者には配信者支援を実行した視聴者名が通知される。これにより、配信者は、図13の状態(A)に示すように、配信者支援を実行した視聴者に向けて、音声815等で返答を返すことができる。さらに言えば、配信者は配信者支援を実行した視聴者名を認識できるので、図示の音声815のように、名前を読んで返答を行うことができる。
音声815はコンテンツとして、全視聴端末100に同様に配信される。そのため、配信者が音声815のような返答を返した場合、C助はコンテンツを視聴することで、配信者支援した自身への返答を聞いたり、見たりすることができる。したがって、C助は単にコンテンツを視聴するのみならず、コンテンツの配信者と双方向の交流を行うことができる。したがって、コンテンツの興趣性が向上する。
また、C助以外の視聴者、例えばA男は、自身の視聴端末100において、配信者がC助の名前を取り上げて返答したことを認識することができる。このように、ある視聴者に、配信者と他の視聴者との交流を見せることにより、該ある視聴者にも、配信者支援を通じて、主体的にコンテンツに関わるよう促すことができる。
図13の状態(B)は、同図の状態(A)の後、A男が配信者支援を実行した場合の、A男の視聴端末100における再生画面を示す図である。図示の通り、A男が配信者支援を実行した場合、自身の支援を行った旨が、再生画面860に例えばポップアップ816として表示される。C助の場合と同様、配信者には配信者支援を実行した視聴者名が通知されるため、配信者は、例えば音声817のように、A男に対しても返答を返すことができる。
図13の状態(C)は、同図の状態(B)の後、C助がさらに配信者支援を実行した場合の、A男の視聴端末100における再生画面を示す図である。図示のように、各視聴者が配信者支援を実行した旨を示すポップアップ814、816、および818は、再生画面860においてある方向に時系列に並べられて表示されてもよい。図示の例では、再生画面860の下部にいくほど新しい通知を示すポップアップが表示されている。なお、表示制御部113は、これらのポップアップを一定時間が経過後に再生画面860から消去してもよい。
なお、視聴端末100はステップS304において、配信者支援を実行した日時をユーザ、すなわち視聴者に通知してもよい。また、配信サーバ200は、図12のステップS328において、配信者支援がなされた日時を各視聴端末100に送信してもよい。この場合、配信サーバ200は、配信者支援がなされた日時を入力情報から特定すればよい。
そして、各視聴端末100は、ステップS332において、配信者支援がなされた日時を再生画面860に表示してもよい。例えば、表示制御部113は、図13の各図に示すポップアップ814、816、および818に、配信者支援がなされた日時を含めて表示してよい。
また、配信サーバ200から視聴端末100に支援内容と視聴者名とを通知して、視聴端末100の再生画面において該通知の内容を示すのではなく、配信端末300においてコンテンツ自体に該通知の内容と同内容を含めて配信してもよい。例えば、配信サーバ200および視聴端末100は図12のステップS328〜ステップS332を実行しなくてもよい。この場合、配信端末300のコンテンツ作成部312Bは、ステップS326で受信した通知の内容、すなわち、配信者支援を実行した視聴者名と、該支援の内容とを示す、音声または画像での通知をコンテンツに含めてもよい。これにより、各視聴端末100は該コンテンツを再生することで、上述の通知を再生画面に反映させることができる。
(配信者画面)
配信システム2は、配信者のアバターと、ゲームシステム3に含まれるゲーム端末400を用いて前記配信者がプレイしているゲームのプレイ画面と、を含むコンテンツをリアルタイムに配信してもよい。配信システム2は、1台以上の視聴端末100から、第1入力操作に基づく入力情報であって、視聴端末100に対応付けられた視聴者名を含む入力情報を受信してよい。配信システム2は、入力情報に対応する支援指示を、ゲームシステム3に対して送信することで、ゲーム内で配信者を支援する効果を引き起こさせてもよい。そして、配信システム2は、入力情報を受信した場合、視聴者名と、支援効果の内容と、を配信者に通知してもよい。
例えば、配信端末300の配信画面作成部312Aは、通信部314が入力情報を受信した場合、該入力情報に含まれる視聴者名と、支援効果の内容とを配信画面において配信者に示してもよい。
図14は、配信画面作成部312Aが作成する配信画面の一例を示す図である。なお、図示の配信画面950は、図13の状態(C)に示した再生画面860に表示されているコンテンツを作成するときの、配信画面を示している。
配信画面950には、例えば、配信者のアバター951と、ゲームのプレイ画面952とが含まれる。アバター951の配置位置、姿勢、および表情等は、再生画面における表示態様と同様に表示されてよい。これにより、配信者は配信画面950を通じて、再生画面においてアバターがどのように表示されるのかを確認することができる。
また、配信画面950には、例えば、視聴者からのメッセージを表示する表示領域960と、各視聴者から送信されたメッセージ960Aおよび960Bが含まれていてよい。配信サーバ200および配信端末300はライブ配信中、随時メッセージを受け付けるため、表示領域960には、リアルタイムでメッセージが表示されていく。なお、各メッセージには図示の通り、メッセージの送信元の視聴者名が付記されていてよい。
また、配信画面950には、配信者支援を実行した視聴者名と、該配信者支援による支援効果の内容とを表示する表示領域955が設けられていてもよい。なお、表示領域955には、配信者支援が実行された日時も併記されてよい。これにより、配信者は配信者支援がなされたことを認識することができるため、例えば該配信者支援を行った視聴者に対して返答を返すことができる。したがって、視聴者と配信者との交流が活性化し、コンテンツの興趣性が向上する。
また、配信画面950には、現在コンテンツを視聴中の視聴者の人数、および該コンテンツの視聴者の人数の累計の少なくとも一方を表示する欄953が設けられていてもよい。そして、欄953の数字はリアルタイムで更新されてもよい。これにより、配信者は配信画面950を通じて、コンテンツを見ている視聴者数を把握することができる。
また、配信画面950には、該コンテンツの視聴者が、該コンテンツにおいて配信者支援のために消費した有価データまたは特定のアイテムの量を表示する欄954が設けられていてもよい。そして、欄954の数字はリアルタイムで更新されてもよい。これにより、配信者は配信画面950を通じて、配信者支援の実施状況を量的な観点から把握することができる。
〔実施形態3〕
支援システム1に係る視聴端末100は、ゲーム端末としての機能を備えていてもよい。ここで言う「ゲーム端末としての機能」とは、ゲーム端末400が実現するゲームと同一のゲームを実現する機能であってもよいし、該ゲームとは異なる他のゲームを実現する機能であってもよい。ここで、「他のゲーム」とは、例えば視聴端末100に備えられた、図示しないGPS受信機の受信情報、すなわち、位置情報に応じた報酬を視聴者に付与するゲームであってもよい。
本実施形態に係る視聴端末100の支援指示部115は、有価データ、または特定のアイテムの消費と引き換えに、第1入力操作を受け付ける。また、本実施形態に係る視聴端末100の制御部110は、視聴者の入力操作に応じて、ゲーム端末400が実現するゲームと同一のゲーム、または他のゲームを進行させる。制御部110はさらに、第1入力操作を実行するために消費される有価データまたは特定のアイテムを、前述のゲームまたは他のゲームの進行状況に応じて、視聴者に付与する。
前記の構成によれば、視聴者がゲームまたは他のゲームをプレイしたことの報酬として、支援に必要な有価データまたは特定のアイテムを付与することができる。換言すると、視聴者は、コンテンツの配信予定までに、予めゲームまたは他のゲームをプレイしておくことで、コンテンツ視聴時に配信者を支援するために必要な、有価データまたは特定のアイテムを確保しておくことができる。
これにより、視聴者は、有価データまたは特定のアイテムを獲得して配信者のゲームプレイを支援することができる。したがって、視聴者による配信者のゲームプレイの支援をより容易にすることができる。これにより、視聴者と配信者との交流をさらに活性化することができる。また、これにより、視聴者にゲームおよび他のゲームをプレイする動機を与えることができる。
〔実施形態4〕
視聴端末100は、配信システム2から配信者が所定の操作を実行したことを示す操作情報を受信してもよい。また、視聴端末100は、操作情報を受信した場合に、第1入力操作を受け付けるためのUIオブジェクトを表示させてもよい。または、視聴端末100は、操作情報を受信した場合に、上述のUIオブジェクトに対する第1入力操作の受け付けを有効にしてもよい。
なお、配信者の「所定の操作」の具体例は特に限定されない。例えば、配信者の「所定の操作」は、配信端末300に対する入力操作、例えばコンテンツの作成に係る入力操作であってもよい。例えば、所定の操作は、配信端末300がタッチスクリーン35等に対して行った入力操作、またはマイク3010を用いた音声入力操作であってよい。なお、音声入力操作を受け付ける場合、制御部310は、該入力された音声を音声認識して、操作内容を特定する。
例えば、ゲームが前述のガンシューティングゲームであった場合、配信者が図5の音声700のように「弾が足りない」とマイクに向かって発話すると、配信端末300の操作受付部311はこれを受け付け、制御部310は音声認識により、該音声に対応する入力操作を特定する。該入力操作が、前述の所定の入力操作に該当する場合、制御部310は、配信サーバ200に所定の操作を実行したことを示す操作情報を送信する。
また、配信者の「所定の操作」は、配信者がゲーム端末400に対して行う操作、すなわち、ゲームの進行に係る入力操作であってもよい。例えば、ゲームが前述のガンシューティングゲームであった場合、プレイするステージを決定する入力操作を前述の所定の操作としてもよい。また例えば、ゲームが敵との戦闘を含むアクションゲームである場合、該ゲーム内で所定のチャットアイコンを選択する入力操作を、前述の所定の操作としてもよい。これらの場合、ゲーム端末400の操作受付部411が、受け付けた入力操作が所定の操作であるか否かを判定する。所定の操作でない場合、ゲーム端末400は特段の処理は行わない。一方、所定の操作であった場合、ゲーム端末400の通信部414は、配信端末300に対して配信者が所定の操作を実行したことを示す操作情報を送信する。配信端末300の通信部314は該操作情報を受信すると、配信サーバ200に該操作情報を転送する。
配信サーバ200の送受信部211は該操作情報を受信すると、該操作情報を、コンテンツを視聴中の視聴端末100に転送する。視聴端末100の通信部114は操作情報を受信する。通信部114が操作情報を受信すると、表示制御部113は、例えば図5におけるボタン805および806のような、第1入力操作を受け付けるためのUIオブジェクトを再生画面に表示させる。もしくは、表示制御部113は、再生画面に表示しているUIオブジェクトに対する第1入力操作の受け付けを有効にする。
これにより、配信者は、視聴端末100における第1入力操作、すなわち配信者支援のための操作の受け付け可否を、自身の入力操作によって制御することができる。例えば、配信者は、視聴者に介入してほしくない期間、または視聴に専念して欲しい期間は、ボタン805および806等を非表示、または入力操作の受付無効とすることができる。
また、配信者がゲームにおいて実行した入力操作に応じて、配信者支援のための操作の受け付け可否を制御することができる。したがって、適切なタイミングで、配信者支援を受け付けることができる。
また、視聴者は、UIオブジェクトの表示および非表示、または該UIオブジェクトに対する入力操作の受け付け可否によって、配信者支援すべきタイミングを容易に判断することができる。したがって、視聴者による配信者支援をより活性化させることができる。
なお、配信者の所定の操作は、複数種類あってもよい。そして、視聴端末100の表示制御部113は、操作情報が示す所定の操作の種類に応じたUIオブジェクトを表示させてもよい。または、表示制御部113は、該種類に応じたUIオブジェクトに対する第1入力操作の受け付けを有効にしてもよい。例えば、図5のボタン805および806は、それぞれ異なる所定の操作に応じて、表示または入力操作の受け付け可否が制御されてもよい。これにより、配信者支援の方法が複数種類ある場合に、それらの受け付け可否を配信者の操作に応じて、別個に制御することができる。したがって、視聴者に、より適切なタイミングで、適切な配信者支援を実行させることができる。
〔実施形態5〕
視聴端末100は、配信システム2から、配信者によるゲームの進行状況が所定の状況になったことを示す進行情報を受信してもよい。また、視聴端末100は進行情報を受信した場合に、第1入力操作を受け付けるためのUIオブジェクトを表示させてもよい。または、視聴端末100は、進行情報を受信した場合に、上述のUIオブジェクトに対する第1入力操作の受け付けを有効にしてもよい。
この場合、ゲーム端末400のゲーム進行部412は、ゲームの進行状況が所定の状況になったか否かを判定し、該所定の状況になった場合、該所定の状況になったことを示す情報である進行情報を作成して、配信端末300に送信する。
なお、前述の「所定の状況」の具体例は特に限定されない。例えば、ゲームが前述のガンシューティングゲームであった場合、ゲーム進行部412は、ゲームにおいて配信者が操作するキャラクタの保有する弾丸数、すなわち、残弾数が一定値以下になった場合に、進行情報を作成および送信してもよい。また例えば、ゲームが敵との戦闘を含むアクションゲームである場合、ゲーム進行部412は、配信者の操作するキャラクタの体力値が一定値以下になった場合に、進行情報を作成および送信してもよい。また例えば、ゲーム進行部412は、ゲームにおいて所定のイベントを開始した場合に、該進行情報を作成および送信してもよい。
配信端末300の通信部314は該進行情報を受信すると、配信サーバ200に該進行情報を転送する。
配信サーバ200の送受信部211は該進行情報を受信すると、該進行情報を、コンテンツを視聴中の視聴端末100に転送する。視聴端末100の通信部114は進行情報を受信する。通信部114が進行情報を受信すると、表示制御部113は、例えば図5におけるボタン805および806のような、第1入力操作を受け付けるためのUIオブジェクトを再生画面に表示させる。もしくは、表示制御部113は、再生画面に表示しているUIオブジェクトに対する第1入力操作の受け付けを有効にする。
これにより、配信者によるゲームプレイの状況に応じて、配信者支援のための操作の受け付け可否を制御することができる。したがって、配信者は、ゲームプレイにおける適切なタイミングで、配信者支援を受け付けることができる。また、視聴者は、UIオブジェクトの表示および非表示、または該UIオブジェクトに対する入力操作の受け付け可否によって、配信者支援すべきタイミングを容易に判断することができる。したがって、視聴者による配信者支援をより活性化させることができる。
〔その他の変形例〕
上記の実施形態では、視聴端末100が受信したコンテンツに重畳させる形で、配信者への支援指示を視聴端末100のユーザから受け付けるためのボタン805等を表示している。この他に、視聴端末100で表示されるゲーム画面中のオブジェクトに対して視聴端末100のユーザがタッチ操作等を行うことに応答して、支援指示を行えることとしてもよい。例えば、配信端末300は、配信サーバ200を介して、(1)配信者のモーションキャプチャデータ、(2)配信者がゲーム端末400で行った操作内容のデータ(例えば、ゲームコントローラの所定のボタンを押下したタイミングなど)およびゲームの進行状況のデータ(どのクエストをプレイしているか等)、(3)配信者が発した音声700などを視聴端末100へ送信する。視聴端末100では、配信端末300から逐次受信する(1)配信者のモーションキャプチャデータに基づき配信者のアバター801を動作させる。仮想空間に配信者のアバター801を配置して、モーションキャプチャデータに基づきリアルタイムにレンダリングする。また、視聴端末100では、ゲーム端末400で動作するゲームプログラム431と同等のゲームプログラムを動作させるためのエミュレータプログラムを保持している。視聴端末100では、(2)配信者がゲーム端末400で行なった操作内容のデータと、配信者のゲームの進行状況のデータとに基づいて、リアルタイムに配信者のゲームプレイ状況を再現することができ、再現した結果を視聴端末100のタッチスクリーン等に表示させることができる。そのため、視聴端末100は、タッチスクリーン等のポインティングデバイスへのユーザの操作に基づき、ゲーム画面中のどのオブジェクトが視聴端末100のユーザによって指定されたかを特定することができる。視聴端末100は、ユーザが特定したオブジェクトの情報を、配信サーバ200を介してゲームサーバ500へ送信する。ここで、ユーザが指定可能なオブジェクトごとに、支援指示の効果が対応付けられていることとしてもよい。例えば、図11の例では、欄802Aへの視聴端末100のユーザのタッチ操作を検出することにより、残弾を補充する支援効果をゲームに反映させることができる。他にも、ゲーム画面中の体力バーへの視聴端末100のユーザのタッチ操作を検出することにより、体力を回復させる支援効果をゲームに反映させることができる。その他、アバター801へのタッチ操作を検出することで、所定の支援効果を発揮させられることとしてもよい。
また、配信者がプレイするゲームは、シングルプレイのゲームであってもよい。配信者がシングルプレイのゲームで行なえる所定の行動(例えば、回復動作、残弾の補充動作など)を、視聴者が配信者に代わって行うことで配信者を支援することができる。
〔ソフトウェアによる実現例〕
制御部110、210、310、410、および510の各制御ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部110、210、310、410、および510の少なくとも1つ備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
(項目1)
視聴プログラム(131)について説明した。本開示のある局面によると、視聴プログラムは、プロセッサ(10)およびメモリ(11)を備える視聴端末(100)としてのコンピュータにより実行される。前記視聴プログラムは、前記プロセッサに、配信システムを用いてリアルタイムに配信されるコンテンツであって、前記コンテンツの配信者のアバターと、ゲームシステムに含まれるゲーム端末を用いて前記配信者がプレイしているゲームのプレイ画面と、を含むコンテンツを受信するステップ(ステップS118)と、前記コンテンツを再生するステップ(ステップS120)と、前記視聴端末を用いて前記コンテンツを視聴している視聴者の、第1入力操作を受け付けるステップ(ステップS200)と、前記第1入力操作を受け付けた場合、前記第1入力操作に応じた入力情報を前記配信システムに対し送信することで、前記配信システムから前記ゲームシステムに対して、前記ゲーム内で前記配信者を支援する効果を引き起こさせるための指示である支援指示を送信させるステップ(ステップS202)と、を実行させる。
以上の処理によれば、第1入力操作に応じて、配信者のゲームのプレイを支援することができる。つまり、視聴者はリアルタイムに配信されるコンテンツを視聴して第1入力操作をすることにより、配信者のゲームプレイに介入することができる。したがって、コンテンツの興趣性を向上させることができる。
(項目2) (項目1)において、前記支援指示を送信させるステップは、前記第1入力操作を受け付けた場合、前記視聴者の有価データ、または特定のアイテムの消費と引き換えに、前記第1入力操作に応じた入力情報を送信してもよい。
以上の処理によれば、視聴者による配信者支援の回数に限度を設けることができるため、視聴者に、配信者支援のタイミングおよび回数を考えさせることができる。したがって、コンテンツの興趣性が向上する。
(項目3) (項目2)において、前記視聴プログラムは、前記プロセッサに、さらに、前記ゲームと同一のゲーム、または前記ゲームと異なる他のゲームを進行させるステップと、前記有価データまたは前記特定のアイテムを、前記ゲームまたは前記他のゲームの進行状況に応じて前記視聴者に付与するステップと、を実行させてもよい。
以上の処理によれば、視聴者がゲームまたは他のゲームをプレイしたことに応じて、支援に必要な有価データまたは特定のアイテムを付与することができる。このため、例えば視聴者は、コンテンツの配信予定までに、予めゲームまたは他のゲームをプレイしておくことで、コンテンツ視聴時に配信者を支援するために必要な、有価データまたは特定のアイテムを確保しておくことができる。
これにより、視聴者は、有価データまたは特定のアイテムを獲得して配信者のゲームプレイを支援することができる。したがって、視聴者による配信者のゲームプレイの支援をより容易にすることができる。これにより、視聴者と配信者との交流をさらに活性化することができる。また、これにより、視聴者にゲームおよび他のゲームをプレイする動機を与えることができる。
(項目4) (項目1)から(項目3)までのいずれか1項目において、前記視聴プログラムは、前記プロセッサに、さらに、前記視聴端末の表示部に、前記再生するステップにおいて再生する前記コンテンツと、前記第1入力操作を受け付けるためのUI(user interface)オブジェクトと、を表示させてもよい。以上の処理によれば、視聴者に、配信者支援を簡易な操作で実行させることができる。
(項目5) (項目4)において、前記視聴プログラムは、前記プロセッサに、さらに、前記配信システムから、前記配信者が所定の操作を実行したことを示す操作情報を受信するステップと、前記操作情報を受信するステップにおいて前記操作情報を受信した場合に、前記UIオブジェクトを表示するステップを実行させる、または、前記UIオブジェクトを表示するステップにおいて表示された前記UIオブジェクトに対する前記第1入力操作の受け付けを有効にするステップと、を実行させてもよい。
以上の処理によれば、配信者は、視聴端末100における第1入力操作、すなわち配信者支援のための操作の受け付け可否を、自身の入力操作によって制御することができる。例えば、配信者は、視聴者に介入してほしくない期間、または視聴に専念して欲しい期間は、UIオブジェクトを非表示、または入力操作の受付無効とすることができる。また、配信者がゲームにおいて実行した入力操作に応じて、配信者支援のための操作の受け付け可否を制御することができる。したがって、適切なタイミングで、配信者支援を受け付けることができる。
また、視聴者は、UIオブジェクトの表示および非表示、または該UIオブジェクトに対する入力操作の受け付け可否によって、配信者を支援すべきタイミングを容易に判断することができる。したがって、視聴者による配信者支援をより活性化させることができる。
(項目6) (項目4)または(項目5)において、前記視聴プログラムは、前記プロセッサに、さらに、前記配信システムから、前記配信者によるゲームの進行状況が所定の状況になったことを示す進行情報を受信するステップと、前記進行情報を受信するステップにおいて前記進行情報を受信した場合に、前記UIオブジェクトを表示するステップを実行させる、または、前記UIオブジェクトを表示するステップにおいて表示された前記UIオブジェクトに対する前記第1入力操作の受け付けを有効にするステップと、を実行させてもよい。
以上の処理によれば、これにより、配信者によるゲームプレイの状況に応じて、配信者支援のための操作の受け付け可否を制御することができる。したがって、配信者は、ゲームプレイにおける適切なタイミングで、配信者支援を受け付けることができる。また、視聴者は、UIオブジェクトの表示および非表示、または該UIオブジェクトに対する入力操作の受け付け可否によって、配信者を支援すべきタイミングを容易に判断することができる。したがって、視聴者による配信者支援をより活性化させることができる。
(項目7) (項目4)から(項目6)までのいずれか1項目において、前記視聴プログラムは、前記プロセッサに、さらに、前記視聴者の入力操作であって、前記配信者に対するメッセージの送信を指示する入力操作である第2入力操作を受け付けるステップと、前記第2入力操作を受け付けた場合に、前記配信システムに前記メッセージを送信するステップと、を実行させ、前記表示させるステップは、前記コンテンツと、前記UIオブジェクトとともに、前記メッセージを送信するステップにおいて送信された前記メッセージ、および、前記視聴者以外の他の視聴者により、他の視聴端末から送信されたメッセージを表示させてもよい。
以上の処理によれば、視聴者に、該視聴者が送信を指示したメッセージと、該視聴者以外の他の視聴者が、他の視聴端末から送信したメッセージとを示すことができる。このように、ある視聴者に対し、他の視聴者のメッセージを示すことで、コンテンツ視聴中に、該ある視聴者に、同じコンテンツを視聴している他者の存在を認識させることができる。これにより、複数人でコンテンツを視聴していることを視聴者に体感させることができるため、コンテンツの興趣性が向上する。
(項目8) (項目7)において、前記視聴プログラムは、前記プロセッサに、さらに、前記他の視聴端末からの入力情報によって、前記配信システムから前記ゲームシステムに対して前記支援指示が送信された場合、前記他の視聴端末に対応する前記他の視聴者の名称と、該他の視聴者が前記配信者のゲームプレイを支援した旨と、を通知してもよい。
以上の処理によれば、ある視聴者に対し、他の視聴者による支援が行われたこと、ならびに、支援内容および支援者の名称を示すことができるので、コンテンツ視聴中のある視聴者に、同じコンテンツを視聴している他者の存在を認識させることができる。これにより、複数人でコンテンツを視聴していることを視聴者に体感させることができる。また、ある視聴者が配信者支援を実行したことを他の視聴者に認識させることで、該他の視聴者の競争心を煽って、配信者を支援するようよう促すことができる。したがって、視聴者による配信者支援を活性化させることができる。
(項目9) 配信プログラム(331)について説明した。本開示のある局面によると、配信プログラムは、プロセッサ(20、30)およびメモリ(21、31)をそれぞれ1つ以上含んだ配信システム(2)により実行される。配信プログラムは、プロセッサに、配信者のアバターと、ゲームシステムに含まれるゲーム端末を用いて前記配信者がプレイしているゲームのプレイ画面と、を含むコンテンツをリアルタイムに配信するステップ(ステップS116)と、1台以上の、(項目1)〜(項目8)のいずれか1項目に記載の視聴端末(100)から、前記第1入力操作に基づく入力情報であって、前記視聴端末に対応付けられた視聴者の名称を含む入力情報を受信するステップ(ステップS306)と、前記入力情報に対応する前記支援指示を、前記ゲームシステムに対して送信することで、前記ゲーム内で前記配信者を支援する効果を引き起こさせるステップ(ステップS308)と、前記入力情報を受信した場合、前記視聴者の名称と、前記引き起こさせるステップにおいて送信される前記支援指示によって引き起こされる前記効果の内容と、を前記配信者に通知するステップ(ステップS326)と、を実行させる。
以上の処理によれば、配信者は支援されたことを認識することができるため、例えば該配信者を支援した視聴者に対して返答を返すことができる。したがって、視聴者と配信者との交流が活性化し、コンテンツの興趣性が向上する。
(項目10) コンピュータが視聴プログラムを実行する方法を説明した。本開示のある局面によると、視聴プログラム(131)は、プロセッサ(10)およびメモリ(11)を備えるコンピュータにより実行される。該方法は、プロセッサが(項目1)に記載の各ステップを実行する方法である。(項目10)に係る方法は、(項目1)に係る視聴プログラムと同様の作用効果を奏する。
(項目11) コンピュータが配信プログラムを実行する方法を説明した。本開示のある局面によると、配信プログラム(331)は、プロセッサ(20、30)およびメモリ(21、31)を備えるコンピュータにより実行される。該方法は、プロセッサが(項目9)に記載の各ステップを実行する方法である。(項目11)に係る方法は、(項目9)に係る配信プログラムと同様の作用効果を奏する。
(項目12) 情報処理装置を説明した。本開示のある局面によると、該情報処理装置は、(項目1)に係る視聴プログラムを記憶するメモリ(11)と、該視聴プログラムを実行することにより、情報処理装置(視聴端末100)の動作を制御するプロセッサ(10)とを備える。(項目12)に係る情報処理装置は、(項目1)に係る視聴プログラムと同様の作用効果を奏する。
(項目13) 情報処理システムを説明した。本開示のある局面によると、該情報処理システムは、(項目9)に係る配信プログラムを記憶するメモリ(21、31)と、該配信プログラムを実行することにより、情報処理システム(配信システム2)の動作を制御するプロセッサ(20、30)と、をそれぞれ1つ以上備えている。(項目13)に係る情報処理システムは、(項目9)に係る配信プログラムと同様の作用効果を奏する。