〔実施形態1〕
本開示に係るゲームシステムは、複数のユーザにゲームを提供するためのシステムである。以下、ゲームシステムについて図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
<ゲームシステム1のハードウェア構成>
図1は、ゲームシステム1のハードウェア構成を示す図である。ゲームシステム1は図示の通り、複数のユーザ端末100と、サーバ200とを含む。各ユーザ端末100は、サーバ200とネットワーク2を介して接続する。ネットワーク2は、インターネットおよび図示しない無線基地局によって構築される各種移動通信システム等で構成される。この移動通信システムとしては、例えば、所謂3G、4G移動通信システム、LTE(Long Term Evolution)、および所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が挙げられる。
サーバ200(コンピュータ、情報処理装置)は、ワークステーションまたはパーソナルコンピュータ等の汎用コンピュータであってよい。サーバ200は、プロセッサ20と、メモリ21と、ストレージ22と、通信IF23と、入出力IF24とを備える。サーバ200が備えるこれらの構成は、通信バスによって互いに電気的に接続される。
ユーザ端末100(コンピュータ、情報処理装置)は、スマートフォン、フィーチャーフォン、PDA(Personal Digital Assistant)、またはタブレット型コンピュータ等の携帯端末であってよい。ユーザ端末100は、ゲームプレイに適したゲーム装置であってもよい。ユーザ端末100は図示の通り、プロセッサ10と、メモリ11と、ストレージ12と、通信インターフェース(IF)13と、入出力IF14と、タッチスクリーン15(表示部)と、カメラ17と、測距センサ18とを備える。ユーザ端末100が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、ユーザ端末100は、タッチスクリーン15に代えて、または、加えて、ユーザ端末100本体とは別に構成されたディスプレイ(表示部)を接続可能な入出力IF14を備えていてもよい。
また、図1に示すように、ユーザ端末100は、1つ以上のコントローラ1020と通信可能に構成されることとしてもよい。コントローラ1020は、例えば、Bluetooth(登録商標)等の通信規格に従って、ユーザ端末100と通信を確立する。コントローラ1020は、1つ以上のボタン等を有していてもよく、該ボタン等に対するユーザの入力操作に基づく出力値をユーザ端末100へ送信する。また、コントローラ1020は、加速度センサ、および、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値をユーザ端末100へ送信する。
なお、ユーザ端末100がカメラ17および測距センサ18を備えることに代えて、または、加えて、コントローラ1020がカメラ17および測距センサ18を有していてもよい。
ユーザ端末100は、例えばゲーム開始時に、コントローラ1020を使用するユーザに、該ユーザの名前またはログインID等のユーザ識別情報を、該コントローラ1020を介して入力させることが望ましい。これにより、ユーザ端末100は、コントローラ1020とユーザとを紐付けることが可能となり、受信した出力値の送信元(コントローラ1020)に基づいて、該出力値がどのユーザのものであるかを特定することができる。
ユーザ端末100が複数のコントローラ1020と通信する場合、各コントローラ1020を各ユーザが把持することで、ネットワーク2を介してサーバ200などの他の装置と通信せずに、該1台のユーザ端末100でマルチプレイを実現することができる。また、各ユーザ端末100が無線LAN(Local Area Network)規格等の無線規格により互いに通信接続する(サーバ200を介さずに通信接続する)ことで、複数台のユーザ端末100によりローカルでマルチプレイを実現することもできる。1台のユーザ端末100によりローカルで上述のマルチプレイを実現する場合、ユーザ端末100は、さらに、サーバ200が備える後述する種々の機能の少なくとも一部を備えていてもよい。また、複数のユーザ端末100によりローカルで上述のマルチプレイを実現する場合、複数のユーザ端末100は、サーバ200が備える後述する種々の機能を分散して備えていてもよい。
なお、ローカルで上述のマルチプレイを実現する場合であっても、ユーザ端末100はサーバ200と通信を行ってもよい。例えば、あるゲームにおける成績または勝敗等のプレイ結果を示す情報と、ユーザ識別情報とを対応付けてサーバ200に送信してもよい。
また、コントローラ1020は、ユーザ端末100に着脱可能な構成であるとしてもよい。この場合、ユーザ端末100の筐体における少なくともいずれかの面に、コントローラ1020との結合部が設けられていてもよい。該結合部を介して有線によりユーザ端末100とコントローラ1020とが結合している場合は、ユーザ端末100とコントローラ1020とは、有線を介して信号を送受信する。
図1に示すように、ユーザ端末100は、外部のメモリカード等の記憶媒体1030の装着を、入出力IF14を介して受け付けてもよい。これにより、ユーザ端末100は、記憶媒体1030に記録されるプログラム及びデータを読み込むことができる。記憶媒体1030に記録されるプログラムは、例えばゲームプログラムである。
ユーザ端末100は、サーバ200等の外部の装置と通信することにより取得したゲームプログラムをユーザ端末100のメモリ11に記憶してもよいし、記憶媒体1030から読み込むことにより取得したゲームプログラムをメモリ11に記憶してもよい。
以上で説明したとおり、ユーザ端末100は、該ユーザ端末100に対して情報を入力する機構の一例として、通信IF13、入出力IF14、タッチスクリーン15、カメラ17、および、測距センサ18を備える。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
例えば、操作部が、カメラ17および測距センサ18の少なくともいずれか一方で構成される場合、該操作部が、ユーザ端末100の近傍の物体1010を検出し、当該物体の検出結果から入力操作を特定する。一例として、物体1010としてのユーザの手、予め定められた形状のマーカーなどが検出され、検出結果として得られた物体1010の色、形状、動き、または、種類などに基づいて入力操作が特定される。より具体的には、ユーザ端末100は、カメラ17の撮影画像からユーザの手が検出された場合、該撮影画像に基づき検出されるジェスチャ(ユーザの手の一連の動き)を、ユーザの入力操作として特定し、受け付ける。なお、撮影画像は静止画であっても動画であってもよい。
あるいは、操作部がタッチスクリーン15で構成される場合、ユーザ端末100は、タッチスクリーン15の入力部151に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信IF13で構成される場合、ユーザ端末100は、コントローラ1020から送信される信号(例えば、出力値)をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力IF14で構成される場合、該入出力IF14と接続されるコントローラ1020とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
本実施形態では、ゲームシステム1は、さらに、配信端末300を含む。配信端末300は、サーバ200からユーザ端末100に提供されるゲームに登場する少なくとも1つのキャラクタの動作を制御する。一例として、配信端末300は、キャラクタが動作するシーンを含む動画をレンダリングして生成し、各ユーザ端末100に配信してもよいし、キャラクタの動作を規定した動作指図データを各ユーザ端末100に配信してもよい。後者の場合は、ユーザ端末100において、動作指図データをレンダリングし、キャラクタが動作するシーンを含む動画を自端末で再生できるように生成する。
配信端末300は、サーバ200およびユーザ端末100のそれぞれと、ネットワーク2を介して接続する。配信端末300は、ゲームシステム1に少なくとも1台設けられている。配信端末300は、サーバ200が提供するサービスを利用するユーザ端末100の数に応じて、複数台設けられていてもよい。1台のユーザ端末100に対して、1台の配信端末300が設けられていてもよい。複数台のユーザ端末100に対して、1台の配信端末300が設けられていてもよい。
配信端末300(配信装置)は、サーバ、デスクトップパソコン、ノートパソコン、または、タブレットなどのコンピュータ、および、これらを組み合わせたコンピュータ群であってもよい。配信端末300は、図示の通り、プロセッサ30と、メモリ31と、ストレージ32と、通信IF33と、入出力IF34と、タッチスクリーン35(表示部)とを備える。配信端末300が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、配信端末300は、タッチスクリーン35に代えて、または、加えて、配信端末300本体とは別に構成されたディスプレイ(表示部)を接続可能な入出力IF34を備えていてもよい。
また、図1に示すように、配信端末300は、1つ以上のマイク3010、1つ以上のモーションキャプチャ装置3020、および、1つ以上のコントローラ3030などの周辺機器と、無線または有線を介して、通信可能に構成されてもよい。無線で接続される周辺機器は、例えば、Bluetooth(登録商標)等の通信規格に従って、配信端末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は、図示しない、カメラと、測距センサとを備えていてもよい。配信端末300が備えることに代えて、または、加えて、モーションキャプチャ装置3020およびコントローラ3030がカメラと、測距センサとを有してしてもよい。
以上で説明したとおり、配信端末300は、該配信端末300に対して情報を入力する機構の一例として、通信IF33、入出力IF34、タッチスクリーン35を備える。必要に応じて、カメラ、および、測距センサをさらに備えていてもよい。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
操作部がタッチスクリーン35で構成されていてもよい。この場合、配信端末300は、タッチスクリーン35の入力部351に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信IF33で構成される場合、配信端末300は、コントローラ3030から送信される信号(例えば、出力値)をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力IF34で構成される場合、該入出力IF34と接続されるコントローラ3030とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
配信端末300における、動作指図データを生成するための機能と、上述の各種の周辺機器、マイク3010、モーションキャプチャ装置3020、および、コントローラ3030は、図示しないHMD(Head-Mounted Device)システムとして構築されてもよい。
<各装置のハードウェア構成要素>
プロセッサ10は、ユーザ端末100全体の動作を制御する。プロセッサ20は、サーバ200全体の動作を制御する。プロセッサ30は、配信端末300全体の動作を制御する。プロセッサ10、20および30は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、およびGPU(Graphics Processing Unit)を含む。
プロセッサ10は後述するストレージ12からプログラムを読み出し、後述するメモリ11に展開する。プロセッサ20は後述するストレージ22からプログラムを読み出し、後述するメモリ21に展開する。プロセッサ30は後述するストレージ32からプログラムを読み出し、後述するメモリ31に展開する。プロセッサ10、プロセッサ20およびプロセッサ30は展開したプログラムを実行する。
メモリ11、21および31は主記憶装置である。メモリ11、21および31は、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がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
本実施形態においてプログラムとは、ゲームをユーザ端末100により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをユーザ端末100とサーバ200との協働により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをユーザ端末100とサーバ200と配信端末300との協働により実現するためのゲームプログラムであってもよい。なお、ユーザ端末100とサーバ200との協働により実現されるゲームおよびユーザ端末100とサーバ200と配信端末300との協働により実現されるゲームは、一例として、ユーザ端末100において起動されたブラウザ上で実行されるゲームであってもよい。あるいは、該プログラムは、該ゲームを複数のユーザ端末100の協働により実現するためのゲームプログラムであってもよい。また、各種データとは、ユーザ情報およびゲーム情報などのゲームに関するデータ、ならびに、ゲームシステム1の各装置間で送受信する指示または通知を含んでいる。
ストレージ12、22および32は補助記憶装置である。ストレージ12、22および32は、フラッシュメモリまたはHDD(Hard Disk Drive)等の記憶装置で構成される。ストレージ12、22および32には、ゲームに関する各種データが格納される。
通信IF13は、ユーザ端末100における各種データの送受信を制御する。通信IF23は、サーバ200における各種データの送受信を制御する。通信IF33は、配信端末300における各種データの送受信を制御する。通信IF13、23および33は例えば、無線LAN(Local Area Network)を介する通信、有線LAN、無線LAN、または携帯電話回線網を介したインターネット通信、ならびに近距離無線通信等を用いた通信を制御する。
入出力IF14は、ユーザ端末100がデータの入力を受け付けるためのインターフェースであり、またユーザ端末100がデータを出力するためのインターフェースである。入出力IF14は、USB(Universal Serial Bus)等を介してデータの入出力を行ってもよい。入出力IF14は、例えば、ユーザ端末100の物理ボタン、カメラ、マイク、または、スピーカ等を含み得る。サーバ200の入出力IF24は、サーバ200がデータの入力を受け付けるためのインターフェースであり、またサーバ200がデータを出力するためのインターフェースである。入出力IF24は、例えば、マウスまたはキーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部とを含み得る。配信端末300の入出力IF34は、配信端末300がデータの入力を受け付けるためのインターフェースであり、また配信端末300がデータを出力するためのインターフェースである。入出力IF34は、例えば、マウス、キーボード、スティック、レバー等の情報入力機器、液晶ディスプレイなどの画像を表示出力する機器、および、周辺機器(マイク3010、モーションキャプチャ装置3020、および、コントローラ3030)との間でデータを送受信するための接続部を含み得る。
ユーザ端末100のタッチスクリーン15は、入力部151と表示部152とを組み合わせた電子部品である。配信端末300のタッチスクリーン35は、入力部351と表示部352とを組み合わせた電子部品である。入力部151、351は、例えばタッチセンシティブなデバイスであり、例えばタッチパッドによって構成される。表示部152、352は、例えば液晶ディスプレイ、または有機EL(Electro-Luminescence)ディスプレイ等によって構成される。
入力部151、351は、入力面に対しユーザの操作(主にタッチ操作、スライド操作、スワイプ操作、およびタップ操作等の物理的接触操作)が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部151、351は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
図示していないが、ユーザ端末100は、該ユーザ端末100の保持姿勢を特定するための1以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、または、角速度センサ等であってもよい。ユーザ端末100がセンサを備えている場合、プロセッサ10は、センサの出力からユーザ端末100の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ10は、ユーザ端末100が縦向きに保持されているときには、縦長の画像を表示部152に表示させる縦画面表示としてもよい。一方、ユーザ端末100が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ10は、ユーザ端末100の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
カメラ17は、イメージセンサ等を含み、レンズから入射する入射光を電気信号に変換することで撮影画像を生成する。
測距センサ18は、測定対象物までの距離を測定するセンサである。測距センサ18は、例えば、パルス変換した光を発する光源と、光を受ける受光素子とを含む。測距センサ18は、光源からの発光タイミングと、該光源から発せられた光が測定対象物にあたって反射されて生じる反射光の受光タイミングとにより、測定対象物までの距離を測定する。測距センサ18は、指向性を有する光を発する光源を有することとしてもよい。
ここで、ユーザ端末100が、カメラ17と測距センサ18とを用いて、ユーザ端末100の近傍の物体1010を検出した検出結果を、ユーザの入力操作として受け付ける例をさらに説明する。カメラ17および測距センサ18は、例えば、ユーザ端末100の筐体の側面に設けられてもよい。カメラ17の近傍に測距センサ18が設けられてもよい。カメラ17としては、例えば赤外線カメラを用いることができる。この場合、赤外線を照射する照明装置および可視光を遮断するフィルタ等が、カメラ17に設けられてもよい。これにより、屋外か屋内かにかかわらず、カメラ17の撮影画像に基づく物体の検出精度をいっそう向上させることができる。
プロセッサ10は、カメラ17の撮影画像に対して、例えば以下の(1)~(5)に示す処理のうち1つ以上の処理を行ってもよい。(1)プロセッサ10は、カメラ17の撮影画像に対し画像認識処理を行うことで、該撮影画像にユーザの手が含まれているか否かを特定する。プロセッサ10は、上述の画像認識処理において採用する解析技術として、例えばパターンマッチング等の技術を用いてよい。(2)また、プロセッサ10は、ユーザの手の形状から、ユーザのジェスチャを検出する。プロセッサ10は、例えば、撮影画像から検出されるユーザの手の形状から、ユーザの指の本数(伸びている指の本数)を特定する。プロセッサ10はさらに、特定した指の本数から、ユーザが行ったジェスチャを特定する。例えば、プロセッサ10は、指の本数が5本である場合、ユーザが「パー」のジェスチャを行ったと判定する。また、プロセッサ10は、指の本数が0本である(指が検出されなかった)場合、ユーザが「グー」のジェスチャを行ったと判定する。また、プロセッサ10は、指の本数が2本である場合、ユーザが「チョキ」のジェスチャを行ったと判定する。(3)プロセッサ10は、カメラ17の撮影画像に対し、画像認識処理を行うことにより、ユーザの指が人差し指のみ立てた状態であるか、ユーザの指がはじくような動きをしたかを検出する。(4)プロセッサ10は、カメラ17の撮影画像の画像認識結果、および、測距センサ18の出力値等の少なくともいずれか1つに基づいて、ユーザ端末100の近傍の物体1010(ユーザの手など)とユーザ端末100との距離を検出する。例えば、プロセッサ10は、カメラ17の撮影画像から特定されるユーザの手の形状の大小により、ユーザの手がユーザ端末100の近傍(例えば所定値未満の距離)にあるのか、遠く(例えば所定値以上の距離)にあるのかを検出する。なお、撮影画像が動画の場合、プロセッサ10は、ユーザの手がユーザ端末100に接近しているのか遠ざかっているのかを検出してもよい。(5)カメラ17の撮影画像の画像認識結果等に基づいて、ユーザの手が検出されている状態で、ユーザ端末100とユーザの手との距離が変化していることが判明した場合、プロセッサ10は、ユーザが手をカメラ17の撮影方向において振っていると認識する。カメラ17の撮影範囲よりも指向性が強い測距センサ18において、物体が検出されたりされなかったりする場合に、プロセッサ10は、ユーザが手をカメラの撮影方向に直交する方向に振っていると認識する。
このように、プロセッサ10は、カメラ17の撮影画像に対する画像認識により、ユーザが手を握りこんでいるか否か(「グー」のジェスチャであるか、それ以外のジェスチャ(例えば「パー」)であるか)を検出する。また、プロセッサ10は、ユーザの手の形状とともに、ユーザがこの手をどのように移動させているかを検出する。また、プロセッサ10は、ユーザがこの手をユーザ端末100に対して接近させているのか遠ざけているのかを検出する。このような操作は、例えば、マウスまたはタッチパネルなどのポインティングデバイスを用いた操作に対応させることができる。ユーザ端末100は、例えば、ユーザの手の移動に応じて、タッチスクリーン15においてポインタを移動させ、ユーザのジェスチャ「グー」を検出する。この場合、ユーザ端末100は、ユーザが選択操作を継続中であると認識する。選択操作の継続とは、例えば、マウスがクリックされて押し込まれた状態が維持されること、または、タッチパネルに対してタッチダウン操作がなされた後タッチされた状態が維持されることに対応する。また、ユーザ端末100は、ユーザのジェスチャ「グー」が検出されている状態で、さらにユーザが手を移動させると、このような一連のジェスチャを、スワイプ操作(またはドラッグ操作)に対応する操作として認識することもできる。また、ユーザ端末100は、カメラ17の撮影画像によるユーザの手の検出結果に基づいて、ユーザが指をはじくようなジェスチャを検出した場合に、当該ジェスチャを、マウスのクリックまたはタッチパネルへのタップ操作に対応する操作として認識してもよい。
<ゲーム概要>
本実施形態では、一例として、ゲームシステム1において、サーバ200とユーザ端末100と配信端末300とが協働して、ゲームプログラムを実行し、ゲームプログラムに基づくゲームを、ゲームシステム1の各装置において進行させる。
本ゲームは、少なくとも、複数のユーザが参加するマルチプレイゲームの要素を含む第1ゲームパートと、特定のユーザ端末100のユーザと、第1ゲームパートで登場したキャラクタとが、リアルタイムで交流することができるライブ配信の要素を含む第2ゲームパートとを含む。第2ゲームパートにおいては、キャラクタの動作が、配信端末300のオペレータによって制御され、そのように動作するキャラクタのシーンが、特定のユーザ端末100にリアルタイムで配信される。
第1ゲームパートは、一例として、ビンゴゲームである。例えば、上述のキャラクタは、ビンゴゲームの司会進行役として、該ビンゴゲームに登場し、ユーザ端末100のユーザは、ビンゴゲームに挑戦する1プレイヤとして、該ビンゴゲームに参加する。第1ゲームパートにおいて登場するキャラクタの動作は、配信端末300を操作するオペレータによってリアルタイムに制御されてもよいし、予め準備されている動作指図データとプログラムとによって制御されてもよい。いずれの場合でも、キャラクタの動作に係る情報は、ビンゴゲームに参加するすべてのユーザ端末100に対して、共通の内容を送信される。すなわち、ビンゴゲームに参加するすべてのユーザのユーザ端末100において、キャラクタは同じ動作を行う。
第2ゲームパートは、一例として、ビンゴゲームに参加した複数のユーザの中から選ばれた特定のユーザと、上述のキャラクタとが交流する対話ゲームである。例えば、配信端末300と、特定のユーザ端末100とが通信を確立し、配信端末300のオペレータが制御するキャラクタと、特定のユーザ端末100のユーザとが、リアルタイムに対話することができる。このパートでは、キャラクタの動作に係る情報は、特定のユーザ端末100にだけ配信される。本実施形態では、一例として、第2ゲームパートにおけるライブ配信は、上述の特定のユーザ端末100以外の他のユーザ端末100は視聴できないものとする。すなわち、第2ゲームパートにおけるライブ配信は、完全なプライベートライブ配信として実現される。
<ゲームシステム1の機能的構成>
図2は、ゲームシステム1に含まれるユーザ端末100、サーバ200および配信端末300の機能的構成を示すブロック図である。ユーザ端末100、サーバ200および配信端末300のそれぞれは、図示しない、一般的なコンピュータとして機能する場合に必要な機能的構成、および、ゲームにおける公知の機能を実現するために必要な機能的構成を含み得る。
ユーザ端末100は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、および入出力IF14等の協働によって、制御部110および記憶部120として機能する。
サーバ200は、各ユーザ端末100と通信して、ユーザ端末100がゲームを進行させるのを支援する機能を有する。例えば、ユーザ端末100が本ゲームに係るアプリケーションを始めてダウンロードするときには、初回ゲーム開始時にユーザ端末100に記憶させておくべきデータをユーザ端末100に提供する。例えば、サーバ200は、キャラクタを動作させるための動作指図データをユーザ端末100に送信する。動作指図データは、予め、モデルなどのアクターの動きを取り込んだモーションキャプチャデータを含んでいてもよいし、声優などのアクターの音声を録音した音声データを含んでいてもよいし、キャラクタを動作させるための入力操作の履歴を示す操作履歴データを含んでいてもよいし、上述の一連の入力操作に対応付けられたコマンドを時系列に並べたモーションコマンド群を含んでいてもよい。本ゲームがマルチプレイゲームである場合には、サーバ200は、ゲームに参加する各ユーザ端末100と通信して、ユーザ端末100同士のやりとりを仲介する機能および同期制御機能を有していてもよい。また、サーバ200は、各ユーザ端末100と配信端末300とやりとりを仲介する機能を備えている。これにより、配信端末300は、適時に、宛先を誤ることなく、ユーザ端末100または複数のユーザ端末100のグループに対して動作指図データを供給することが可能となる。サーバ200は、プロセッサ20、メモリ21、ストレージ22、通信IF23、および入出力IF24等の協働によって、制御部210および記憶部220として機能する。
配信端末300は、ユーザ端末100におけるキャラクタの動作を指示するための動作指図データを生成し、ユーザ端末100に供給する機能を有する。配信端末300は、プロセッサ30、メモリ31、ストレージ32、通信IF33、および入出力IF34等の協働によって、制御部310および記憶部320として機能する。
記憶部120、220および320は、ゲームプログラム、ゲーム情報132およびユーザ情報133を格納する。ゲームプログラム131は、ユーザ端末100が実行するゲームプログラムである。ゲームプログラム231は、サーバ200が実行するゲームプログラムである。ゲームプログラム331は、配信端末300が実行するゲームプログラムである。
ゲームプログラム131は、ユーザ端末100を操作するユーザをビンゴゲームに参加させ、ユーザにビンゴゲームをプレイさせる機能を有する。ゲームプログラム331は、配信端末300を操作するオペレータにキャラクタを操作させ、該キャラクタをビンゴゲームの司会進行役として登場させる機能を有する。ゲームプログラム231は、ユーザ端末100と、配信端末300とを仲介して1つのビンゴゲームを矛盾なく進行させる機能を有する。
記憶部320は、さらに、キャラクタ制御プログラム334を格納する。キャラクタ制御プログラム334は、リアルタイムにキャラクタを動作させるための動作指図データを生成する機能を有する。キャラクタ制御プログラム334は、さらに、動作指図データを生成するための、オペレータの入出力を支援する機能を有する。
ゲーム情報132は、制御部110、210および310がゲームプログラムを実行する際に参照するデータである。ユーザ情報133は、ユーザのアカウントに関するデータである。記憶部220および320において、ゲーム情報132およびユーザ情報133は、ユーザ端末100ごとに格納されている。
(サーバ200の機能的構成)
制御部210は、記憶部220に格納されたゲームプログラム231を実行することにより、サーバ200を統括的に制御する。例えば、制御部210は、ユーザ端末100および配信端末300に各種データおよびプログラム等を送信する。制御部210は、ゲーム情報もしくはユーザ情報の一部または全部をユーザ端末100および配信端末300から受信する。ゲームがマルチプレイゲームである場合には、制御部210は、ユーザ端末100および配信端末300からマルチプレイの同期の要求を受信して、同期のためのデータをユーザ端末100および配信端末300に送信してもよい。
制御部210は、ゲームプログラム231の記述に応じて、進行支援部211、同期制御部212、および、ログ収集部213として機能する。制御部210は、実行するゲームの性質に応じて、ユーザ端末100におけるゲームの進行を支援するために、図示しないその他の機能ブロックとしても機能することができる。
進行支援部211は、ユーザ端末100および配信端末300と通信し、ユーザ端末100および配信端末300が、本ゲームに含まれる各種のプレイパートを進行させるための支援を行う。例えば、上述の各プレイパートのいずれが実行されているのかに応じて、そのときにユーザ端末100および配信端末300が参照すべき情報を適宜提供する。
同期制御部212は、複数のユーザ端末100および配信端末300と通信し、複数のユーザと、オペレータとが、1つのビンゴゲーム会場およびビンゴゲームの進捗を共有し合うための支援を行う。また、同期制御部212は、オンラインのユーザ端末100と配信端末300とをマッチングする機能を有していてもよい。これにより、ユーザ端末100と配信端末300との間の情報の送受信が円滑に実施される。
ログ収集部213は、ゲームに参加する各ユーザ端末100から、ゲームの進捗を示すログを収集する。本ゲームが、一例として、ビンゴゲームである場合、ログは、ユーザ端末100のユーザが所有するビンゴカードにおいて、いつ、どのマスがオープンされたかを示す情報を含む。ログ収集部213は、ログを、定期的にユーザ端末100から一斉受信してもよいし、ユーザ端末100において進捗に変化があったとき、例えば、いずれかのマスがオープンされたときに、ユーザ端末100から個別に受信してもよい。ログ収集部213は、ビンゴゲームの開始から終了まですべてのユーザのログをユーザごとに収集して記憶部320に記憶させておく。収集したログ群は、ビンゴゲームが終了したあと、該ビンゴゲームにおいて第2ゲームパートに参加させる第1ユーザを特定するために利用される。
(ユーザ端末100の機能的構成)
制御部110は、記憶部120に格納されたゲームプログラム131を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲームプログラム131およびユーザの操作にしたがって、ゲームを進行させる。また、制御部110は、ゲームを進行させている間、必要に応じて、サーバ200および配信端末300と通信して、情報の送受信を行う。
制御部110は、ゲームプログラム131の記述に応じて、通信制御部111、ゲーム実行部112、および、対話制御部113として機能する。
なお、制御部110は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
さらに、制御部110は、図示しない操作受付部、および、表示制御部などとしても機能する。操作受付部は、入力部151に対するユーザの入力操作を検知し受け付ける。例えば、操作受付部は、上述の入力操作の、入力部151における入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部は、例えば、タッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。表示制御部は、タッチスクリーン15の表示部152に対して、制御部110の各部によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部は、制御部110の各部によって生成された映像を含むゲーム画面を表示部152に表示してもよい。また、表示制御部は、グラフィカルユーザインターフェース(以下、GUI)を、該ゲーム画面に重畳して描画してもよい。
通信制御部111は、外部装置、例えば、サーバ200および配信端末300と、ユーザ端末100との通信を制御する。
具体的には、通信制御部111は、ユーザ端末100におけるビンゴゲームの進捗を示すログを配信端末300に送信する。なお、ログは、サーバ200に送信され、サーバ200を介して配信端末300に送信されてもよい。
あるいは、通信制御部111は、ユーザ端末100のユーザが、プライベートライブ配信を視聴する資格を有する第1ユーザとして選ばれた場合に、サーバ200または配信端末300からプライベートライブ配信に係る通知、具体的には、配信端末300が配信するライブ映像の視聴を上述のユーザに促す招待メッセージを受信する。また、通信制御部111は、招待メッセージに対して、ライブ映像を視聴することを指示するユーザの入力操作に応答して、配信端末300との通信を確立する。そして、通信制御部111は、ライブ映像を再生するために必要なコンテンツデータを配信端末300から受信する。ライブ映像を再生するために必要なコンテンツデータは、レンダリング済みのキャラクタが動作するシーンを含む動画データであってもよいし、レンダリング前のキャラクタの動作を規定する動作指図データであってもよい。
ゲーム実行部112は、第1ゲームパートの一例として、ビンゴゲームを実行する。具体的には、ゲーム実行部112は、ユーザ端末100のユーザを、配信端末300が開催するビンゴゲームに参加させるための各種処理を実行する。配信端末300は、サーバ200において、ビンゴゲームを実行するための部屋、すなわち、ビンゴゲーム会場を開設する。ビンゴゲーム会場への入室を促す通知が、配信端末300またはサーバ200から、各ユーザ端末100に送信されてもよい。ゲーム実行部112は、サーバ200にアクセスして、参加者を募集しているビンゴゲーム会場を抽出してユーザに提示する。ゲーム実行部112は、ユーザに指定されたビンゴゲーム会場に入室する手続きをサーバ200を介して行い、該ユーザを、指定されたビンゴゲーム会場で実施されるビンゴゲームに参加させる。その後は、ゲーム実行部112は、該ビンゴゲーム会場でのビンゴゲームの進行にしたがって、該ビンゴゲームを実行する。例えば、キャラクタが引いた番号が、該ユーザに配布されたビンゴカードのマスに設定されている番号の1つと一致すれば、該マスをオープンする。
対話制御部113は、第2ゲームパートの一例として、第1ゲームパートに登場したキャラクタとの対話ゲームを実行する。具体的には、対話制御部113は、受信されたコンテンツデータを処理して、キャラクタが動作するシーンが含まれたライブ映像を再生する。また、ユーザの入力操作を受け付けて、該ユーザのリアクションを示すリアクションデータを生成し、通信制御部111を介して、配信端末300に送信する。リアクションデータは、ユーザの音声をデジタル化した音声データであってもよいし、ユーザが入力した文字からなるテキストデータであってもよいし、ユーザを撮像して得られた動画データまたは写真などの静止画データであってもよいし、あらかじめ作り置きされた短いメッセージ、または、スタンプなどであってもよいし、これらの組み合わせであってもよい。
(配信端末300の機能的構成)
制御部310は、記憶部320に格納されたゲームプログラム331およびキャラクタ制御プログラム334の各プログラムを実行することにより、配信端末300を統括的に制御する。例えば、制御部310は、ゲームプログラム331およびキャラクタ制御プログラム334、ならびに、オペレータの操作にしたがって、キャラクタの動作を制御して、ゲームを進行させる。また、制御部310は、ゲームを進行させている間、必要に応じて、サーバ200およびユーザ端末100と通信して、情報の送受信を行う。
制御部310は、各プログラムの記述に応じて、通信制御部311、ゲーム進行部312、決定部313、要約部314、表示制御部315、入力制御部316、および、コンテンツ生成部317として機能する。制御部310は、必要に応じて、台本生成部318として機能してもよい。
なお、制御部310は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
さらに、制御部310は、図示しない操作受付部などとしても機能する。操作受付部は、入力部151に対するユーザの入力操作を検知し受け付ける。例えば、操作受付部は、上述の入力操作の、入力部151における入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部は、例えば、タッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。
通信制御部311は、外部装置、例えば、サーバ200およびユーザ端末100と、配信端末300との通信を制御する。
具体的には、通信制御部311は、配信端末300が開催したビンゴゲームに参加する複数のユーザのユーザ端末から送信された複数のログを、サーバ200のログ収集部213から取得する。
あるいは、通信制御部311は、プライベートライブ配信を視聴する資格を有する第1ユーザのユーザ端末宛てに招待メッセージを送信する。また、該招待メッセージを受け入れたユーザ端末100との間で、通信を確立し、通信が確立された第1ユーザのユーザ端末にコンテンツデータを配信する。
ゲーム進行部312は、サーバ200およびユーザ端末100と通信してマルチプレイゲームを進行させる。具体的には、ゲーム進行部312は、サーバ200と通信してビンゴゲーム会場を開設し、該ビンゴゲーム会場に入室したユーザ端末100のユーザを参加者として、ビンゴゲームを進行させる。より具体的には、ゲーム進行部312は、キャラクタをビンゴゲームに登場させて、該キャラクタにビンゴゲームの司会進行役を務めさせる。ゲーム進行部312は、司会進行役のキャラクタの動作、すなわち、動きや発話内容を、キャラクタ制御プログラム334にしたがって、自動で決定してもよいし、オペレータの入力操作にしたがって、決定してもよい。
決定部313は、通信制御部311によって取得された、ユーザごとの複数のログに基づいて、第2ゲームパートにおけるライブ映像を視聴させる第1ユーザを決定する。決定部313は、第1ユーザを複数人選んでもよいが、本実施形態では、一例として、第1ユーザを1人選ぶものとする。例えば、決定部313は、最初にビンゴを出したユーザを第1ユーザとして決定する。なお、最初にビンゴを出したユーザが同時に複数人いる場合には、決定部313は、その全員を第1ユーザとして決定してもよいし、その複数人の中から第1ユーザを所定の規則に基づいて1人決定してもよい。例えば、開いているマスが最も多いユーザを第1ユーザと決定してもよいし、開いているマスが最も少ないユーザを第1ユーザと決定してもよいし、同時にビンゴになった複数人に、ジャンケンのミニゲームをプレイさせて、ジャンケンに勝った1人を第1ユーザと決定してもよい。
決定部313は、第1ゲームパートとして実行されるゲームの性質に応じて、任意の方法で第1ユーザを決定することができる。例えば、決定部313は、ゲームにおいて成績が優秀なユーザを第1ユーザとして決定する。より具体的には、例えば、第1ゲームパートのゲームが、複数のユーザで構成されるチーム対チームの対戦ゲームである場合、勝利したチームのうち、勝利に最も貢献したとされるユーザを第1ユーザとして決定してもよい。あるいは、第1ゲームパートのゲームが、複数のユーザでタイムを競うようなレースゲームである場合、タイムが最も早かったユーザを第1ユーザとして決定してもよい。あるいは、第1ゲームパートのゲームが、複数のユーザでハイスコアを競うようなゲームである場合、最も高得点を獲得したユーザを第1ユーザとして決定してもよい。
要約部314は、決定された第1ユーザのログに基づいて、該第1ユーザのゲームのプレイ内容を要約した要約データを生成する。
ゲームが、ビンゴゲームである場合、例えば、ログには、ビンゴゲームの開始時間から終了時間までの間において、ユーザに配布されたビンゴカードのどのマスがいつオープンされたかを示す情報が含まれている。一例として、ログにおいて、マスがオープンされた時刻と、オープンされたマスを特定する情報とが関連付けられていてもよい。あるいは、ログにおいて、キャラクタが番号を選ぶためのくじ引き動作を行った回数が何回目であるかを示す試行回数と、オープンされたマスを特定する情報とが関連付けられていてもよい。一例として、要約部314は、ログの中から、ビンゴを構成するマスがオープンされた時刻と、オープンされたマスとが関連付けられたレコードを抽出する。さらに、要約部314は、該時刻におけるビンゴカードの状態を示すカード画像を生成したり、または、ログから抽出してもよい。要約部314は、抽出されたレコードまたは抽出されたカード画像に基づいて要約データを生成する。
表示制御部315は、タッチスクリーン15の表示部152に対して、制御部310の各部によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部は、制御部310の各部によって生成された映像を含むゲーム画面を表示部152に表示してもよい。また、表示制御部は、グラフィカルユーザインターフェース(以下、GUI)を、該ゲーム画面に重畳して描画してもよい。
具体的には、表示制御部315は、要約部314によって要約された第1ユーザのプレイ内容を、配信端末300のオペレータに提示するためのゲーム画面を表示部152に表示する。
あるいは、表示制御部315は、オペレータから音声および動きの入力を受け付けるためのGUIを表示部152に表示してもよい。また、表示制御部315は、後述の台本生成部318が生成する台本データを表示部152に表示してもよい。
入力制御部316は、オペレータから、キャラクタの動作を指示する入力を受け付けて、デジタルデータに変換する。具体的には、入力制御部316は、第1ユーザのプレイ内容に基づく発話内容の入力を受け付ける。発話内容は、テキストとして入力されてもよいが、本実施形態では、音声で入力されるものとする。
オペレータは、表示部152に表示された、第1ユーザのプレイ内容の要約を確認しながら、第1ユーザに宛てて、キャラクタに喋らせる発話内容を発話する。オペレータによって発話された音声は、マイク3010を通じて、入力制御部316に入力され、入力制御部316によって、デジタルデータである音声データに変換される。生成された音声データは、コンテンツ生成部317に供給される。
さらに、本実施形態では、入力制御部316は、上述の発話に合わせたキャラクタの動きに関して、オペレータからの入力を受け付けてもよい。具体的には、オペレータは、発話内容に合わせたキャラクタの動きを、モーションキャプチャ装置3020を介して入力する。入力制御部316は、該動きを示すモーションデータを、コンテンツ生成部317に供給する。
コンテンツ生成部317は、キャラクタに上述の発話内容を喋らせるライブ映像をユーザ端末100において再生するために必要なコンテンツデータを生成する。コンテンツ生成部317は、入力制御部316から供給された音声データとモーションデータとをレンダリングして、動画データを、コンテンツデータとして生成してもよい。あるいは、コンテンツ生成部317は、音声データとモーションデータとを同期させてパッケージングし、動作指図データを、コンテンツデータとして生成してもよい。生成されたコンテンツデータは、通信制御部311を介して、第1ユーザのユーザ端末100宛てに配信される。
台本生成部318は、キャラクタに喋らせる発話内容をオペレータに提示するための台本データを、要約されたプレイ内容に基づいて生成する。例えば、台本生成部318は、要約されたプレイ内容を解析して、ビンゴを構成する各マスが、どのようなタイミングでオープンされたのかを把握し、把握した内容に即して、キャラクタが発話する体裁で、セリフを自動生成する。例えば、台本生成部318は、ビンゴゲームをプレイしてくれたことに対する感謝の言葉が含まれるように、キャラクタのセリフを生成してもよい。あるいは、台本生成部318は、ビンゴになったことに対する第1ユーザへの祝辞や賛辞の言葉が含まれるように、キャラクタのセリフを生成してもよい。あるいは、台本生成部318は、ビンゴゲームの序盤、中盤、終盤のそれぞれにおける第1ユーザの立ち回りをキャラクタが解説するようなセリフを生成してもよいし、キャラクタがインタビュアーとしてゲーム内容を第1ユーザとともに振り返るようなセリフを生成してもよい。
なお、図2に示すサーバ200、ユーザ端末100および配信端末300の機能は一例にすぎない。サーバ200は、ユーザ端末100または配信端末300が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末100は、サーバ200または配信端末300が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末100、サーバ200および配信端末300以外の他の装置をゲームシステム1の構成要素とし、該他の装置にゲームシステム1における処理の一部を実行させてもよい。
とりわけ、サーバ200および配信端末300は、配信装置として、1のコンピュータで実現されてもよく、該配信装置が、サーバ200および配信端末300の機能を果たしてもよい。
すなわち、本実施形態においてゲームプログラムおよびキャラクタ制御プログラムを実行するコンピュータは、ユーザ端末100、サーバ200、配信端末300および他の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
<発明概要>
本実施形態では、システムは、ユーザにゲームへの継続的な参加を促すために、ユーザ端末を動作させるプログラムと、該ユーザ端末にデータを配信する配信装置とを備える。ユーザ端末100は、ゲームプログラム131に基づいて、以下のステップを実行するように構成されている。具体的には、ユーザ端末100は、キャラクタが登場する、複数のユーザが参加するゲームに、ユーザ端末を操作するユーザを参加させて該ゲームを実行するステップと、キャラクタのライブ映像の視聴をユーザに促す招待メッセージを受信するステップと、招待メッセージに対する、ライブ映像を視聴することを指示するユーザの入力操作に応答して、ライブ映像を再生するために必要な第1コンテンツデータを配信装置から受信するステップと、受信した第1コンテンツデータを処理してライブ映像を再生するステップとを実行する構成である。また、配信装置(サーバ200および配信端末300の少なくともいずれか一方)は、ゲームのログを取得する取得部と、取得されたログに基づいて、ライブ映像を視聴させる第1ユーザを決定する決定部と、ログに基づいて、該第1ユーザのゲームのプレイ履歴を作成する作成部と、第1ユーザのユーザ端末に招待メッセージを送信する送信部と、プレイ履歴を配信装置のオペレータに提示する第1提示部と、オペレータから、プレイ履歴に基づく発話内容の入力を受け付ける受付部と、少なくとも、キャラクタに発話内容を喋らせるライブ映像を再生するために必要な第1コンテンツデータを生成する第1生成部と、第1ユーザのユーザ端末に第1コンテンツデータを配信する配信部と、を備える構成である。
<データ構造>
(ログ)
ログの一例を、図13のログ402として示す。ログは、ユーザ端末100のユーザが所有するビンゴカードにおいて、いつ、どのマスがオープンされたかを示す情報を含む。
本実施形態では、一例として、ログは、ビンゴゲームの進捗ごとに生成されたレコードの集合である。1つのレコードには、ユーザに配布されたビンゴカードのうちの1つのマスがオープンされた時刻と、オープンされたマスの位置を特定する情報と、該マスがオープンされたことによって、ビンゴカードにおけるステータスに変更があった場合には該ステータスを示す情報とが関連付けられている。
時刻に代えて、キャラクタがくじ引きを行った試行回数が記録されていてもよい。
マスの位置を特定する情報において、マスの位置は、例えば、ビンゴカードが3×3のマトリクスで構成されている場合、左端から順に1~3で示されるX座標と上から順に1~3で示されるY座標との組み合わせで特定されてもよい。例えば、「2-2」は、ビンゴカードの中央のマスを意味し、「1-3」は、ビンゴカードの左下のマスを意味する。
ステータスは、例えば、一列がリーチの状態であることを示す「リーチ」、二列がリーチの状態であることを示す「Wリーチ」、ビンゴになったことを示す「ビンゴ」などのタグによって指定される。
(要約データ)
要約データの一例を、図13の要約データ401として示す。要約データは、第1ユーザのログから、プレイ内容の注目すべき局面、いわゆるハイライトシーンが抽出された内容で構成される。
本実施形態では、一例として、要約部314は、ビンゴを構成する3マスがそれぞれオープンされたときの時刻と、そのときのビンゴカードの状態を示すカード画像とを含む要約データを生成する。
(台本データ)
台本データの一例を、図13の台本データ403として示す。台本データは、プライベートライブ配信中に、キャラクタに喋らせるセリフの候補を複数含む。セリフは、第1ユーザ専用に生成され、第1ユーザにだけ宛てられる内容となっている。台本生成部318は、要約データ401およびログ402に基づいて、例えば、第1ユーザに対する感謝、祝辞、賛辞、第1ユーザによるプレイ内容の解説、および、該プレイ内容に関する質疑などの内容を含むセリフを自動で生成する。
(動作指図データ)
図3は、動作指図データのデータ構造の一例を示す図である。一例として、動作指図データは、メタ情報である、「宛先」、「作成元」の各項目と、データの中身である、「キャラクタID」、「音声」、「動き」の各項目とを含んで構成されている。
項目「宛先」には、宛先指定情報が格納されている。宛先指定情報は、該動作指図データが、どの装置宛てに送信されたものであるのかを示す情報である。宛先指定情報は、例えば、ユーザ端末100固有のアドレスであってもよいし、ユーザ端末100が所属しているグループの識別情報であってもよい。ある条件を満たすすべてのユーザ端末100を宛先としていることを示す記号(例えば、「ALL」など)であってもよい。
例えば、第1ゲームパートでは、司会進行役のキャラクタの動作指図データの宛先指定情報として、配信端末300が開設したビンゴゲーム会場に入室したすべてのユーザ端末100を宛先とする「ALL」が設定される。
また、例えば、第2ゲームパートでは、ライブ映像におけるキャラクタの動作指図データの宛先指定情報として、配信端末300によって選ばれた第1ユーザのユーザ端末100固有のアドレスが設定される。
項目「作成元」には、作成元情報が格納されている。作成元情報は、該動作指図データが、どの装置によって作成されたものであるのかを示す情報である。作成元情報は、例えば、オペレータID、配信端末ID、配信端末の固有アドレスなど、ある特定の配信端末300を特定可能な情報である。作成元情報は、サーバ200または配信端末300ユーザ端末100のいずれかを指し示すIDまたはアドレスであってもよいし、作成元が、サーバ200である場合、または、配信端末300であって、ゲームシステム1において配信端末300が1台しか存在しない場合配信端末300には、該項目の値を空のままにしておいてもよいし、該項目自体を動作指図データに設けないようにしてもよい。
項目「キャラクタID」には、本ゲームに登場するキャラクタを一意に識別するためのキャラクタIDが格納されている。ここに格納されているキャラクタIDは、該動作指図データがどのキャラクタの動作を指示するためのものであるのかを表している。ゲームに登場するキャラクタが1つしかない場合には、該項目自体が省略されてもよい。
項目「音声」には、キャラクタに発話させる音声データが格納されている。項目「動き」には、キャラクタの動きを指定するモーションデータが格納されている。モーションデータは、一例として、モーションキャプチャ装置3020を介して配信端末300が取得したモーションキャプチャデータであってもよい。モーションキャプチャデータは、アクターの体全体の動きを追跡したデータであってもよいし、アクターの顔の表情および口の動きを追跡したデータであってもよいし、その両方であってもよい。モーションデータは、他の例として、コントローラ3030を介して配信端末300のオペレータが入力した操作によって特定された、キャラクタの一連の動きを指示するモーションコマンド群であってもよい。例えば、コントローラ3030のボタンA、ボタンB、ボタンC、ボタンDにそれぞれ、「右手を上げる」、「左手を上げる」、「歩く」、「走る」のコマンドが割り付けられている場合に、オペレータが、ボタンA、ボタンB、ボタンC、ボタンDを続けて順に押した場合には、「右手を上げる」、「左手を上げる」、「歩く」、「走る」の各コマンドが上述の順に並べられたモーションコマンド群が、モーションデータとして、「動き」の項目に格納される。なお、本実施形態では、音声データとモーションデータとは同期がとれた状態でパッケージングされ、動作指図データに含まれている。
ユーザ端末100の対話制御部113は、このような動作指図データを受信することにより、ゲームに登場するキャラクタを、該動作指図データの作成元、すなわち、配信端末300のオペレータの意図通りに動作させることができる。具体的には、対話制御部113は、動作指図データに音声データが含まれている場合には、該音声データに基づいてキャラクタに発話させ、動作指図データにモーションデータが含まれている場合には、該モーションデータに基づいてキャラクタを動かす、すなわち、モーションデータに基づく動きをするように該キャラクタのアニメーションを生成する。
そして、第1ユーザにプライベートに配信されるライブ映像には、ゲームに登場するキャラクタが該第1ユーザのゲームのプレイ内容に触れた発言を行うシーンが、少なくとも含まれる。第1ユーザは、ゲームに登場するキャラクタが、自分だけのために、自分のプレイ内容に触れたおしゃべりをリアルタイムでしてくれるライブ映像を視聴することができる。さらに、キャラクタと、リアルタイムで双方向のコミュニケーションをとることが可能である。具体的には、第1ユーザと、キャラクタとの間で、リアルタイムの会話が成立する。結果として、第1ユーザは、キャラクタと同じ空間に居合わせているかのような、臨場感あふれるテンポの良い自然なコミュニケーションをキャラクタとの間で楽しむことができる。このことに対して、第1ユーザは、そのゲームの中で特別な待遇を受けていると感じることができ、該第1ユーザのゲームにおける達成感、満足感を格段に向上させることができる。第1ユーザは、また、このようなライブ映像を視聴したいと願うようになる。結果として、第1ユーザに、さらなるゲームプレイを動機付けることができる。
<キャラクタが登場するビンゴゲームについて>
図4は、ユーザ端末100の表示部152に表示されるゲーム画面の一例を示す図である。図4では、表示部152に表示されるゲーム画面の一例として、本ビンゴゲームにおいて、ビンゴゲーム会場に入室中に表示されるゲーム画面800が図示されている。
ゲーム画面800は、一例として、ビンゴゲーム会場に対応するゲーム空間(ビンゴゲーム会場と称する)を描画する第1領域810と、ユーザに配布されたビンゴカードを表示する第2領域820とを含む。
ユーザ端末100のゲーム実行部112は、ゲームの進行中に、配信端末300から動作指図データを受信すると、表示中のゲーム画面に、該動作指図データによって指定されたキャラクタを配置して、該キャラクタを該動作指図データに基づいて動作させる。例えば、ゲーム実行部112が、ビンゴゲーム会場に入室したときに動作指図データを受信したとする。この場合、ゲーム実行部112は、ゲーム画面800の第1領域810に、キャラクタ811を配置する。そして、ゲーム実行部112は、キャラクタ811を、受信した動作指図データに基づいて動作させる。
また、ビンゴゲーム会場に、オープンするマスの番号をくじで決定するための小道具に対応するオブジェクトが配置されている場合には、ゲーム実行部112は、該オブジェクトも第1領域810に描画する。小道具は、例えば、番号が付されたビンゴボールを収納する抽選箱812であってもよく、キャラクタ811が抽選箱812からビンゴボールを1つ取り出せるように、抽選箱812は、開口部が設けられているように描画される。
なお、小道具は、電子的にまたは物理的に番号を無作為に決定する機能を有しているものであればなんでもよく、当該小道具を模したデジタルデータとしてのオブジェクトがビンゴゲーム会場に配置される。小道具のアニメーションとしても、現実の小道具の動きを模した動きが適宜採用され得る。
第2領域820には、ユーザ端末100のユーザに対して一意に配布されたビンゴカード821が配置される。ビンゴカード821には、3×3の合計9個のマス822が配置されており、各マス822には、数字が重複しないようにランダムに設定される。
ゲーム実行部112は、動作指図データが配信端末300から供給されないうちは、キャラクタ811を表示させなくてもよい。あるいは、本ゲームのアプリケーションをダウンロードしたときにあらかじめ供給された作り置きの動作指図データが記憶部120にゲームプログラム131とともに記憶されていてもよい。この場合、ゲーム実行部112は、ゲームプログラム131にしたがって、記憶部120から読み出した作り置きの動作指図データに基づいて、キャラクタ811を動作させてもよい。
ユーザ端末100のログを、ユーザ端末100から直接またはサーバ200を介して受信した配信端末300は、ログを表示部352に表示する。参加するユーザのログを確認しながら、オペレータは、ビンゴゲームをどのように取り仕切ればよいかを判断することができる。オペレータまたは声優701は、ビンゴゲームの進捗に合ったセリフを含む音声700を、マイク3010を介して配信端末300に入力する。また、オペレータまたはモデル702は、必要に応じて、モーションキャプチャ装置3020を介してキャラクタの動きを配信端末300に入力してもよい。こうして、少なくとも音声データと、必要に応じて追加されたモーションキャプチャデータとを含む動作指図データがコンテンツ生成部317によって生成され、参加するユーザの各ユーザ端末100に送信される。
本実施形態では、通信制御部111が、配信端末300から、動作指図データを受信すると、これをトリガとして、ゲーム実行部112は、受信された動作指図データに基づいてキャラクタ811をゲーム画面800の第1領域810に表示させる。そして、動作指図データに含まれているモーションキャプチャデータが示す動きをキャラクタ811の動きに反映させる。上述のとおり、モーションキャプチャデータは、配信端末300およびモーションキャプチャ装置3020の設置場所、例えば、収録スタジオなどにおいて、モデル702の動きをモーションキャプチャ装置3020を介して取得したものである。したがって、モデル702の動きが、そのまま、表示部152に表示されるキャラクタ811の動きに反映される。
また、ゲーム実行部112は、配信端末300から供給された動作指図データに含まれている音声データ805を、キャラクタ811が発した音声として、キャラクタ811の動きと同期して出力する。音声データは、配信端末300およびマイク3010の設置場所、例えば、上述の収録スタジオなどにおいて、声優701の音声700をマイク3010を介して取得したものである。したがって、声優701が発した音声700に対応する音声データ805が、そのまま、ユーザ端末100のスピーカから出力される。
上述の構成によれば、配信端末300の設置場所において実在する声優701の音声が、ユーザ端末100におけるゲームの進捗に応じて発せられ、それがそのまま、キャラクタ811が発話したという体裁で出力される音声に反映される。また、同様に、実在するモデル702の動きが配信端末300に入力され、音声データと併せてユーザ端末100に供給されてもよい。これにより、ゲームの進捗に応じて発話するキャラクタ811に合わせて、該キャラクタ811に動きをつけることができる。
ゲームのプレイ中に、上述のように、ゲームの進捗に合うようにふるまうキャラクタ811を見て、ユーザは、キャラクタ811に対して、まるで、現実の世界に存在するかのような現実感を覚えることができる。さらに、キャラクタ811と一緒にゲームをプレイしているかのように感じることができ、結果として、ユーザは、より一層ゲームを楽しむことができる。
さらに、ゲーム実行部112は、ゲーム進行中に表示させるキャラクタ811を、これまでのプレイ結果に応じた表示態様にて、表示部152に表示させてもよい。
一例として、ゲーム実行部112は、これまでにプレイされた第1ゲームパートまたは第2ゲームパートにおいて、キャラクタ811に身に付けさせることが可能なアイテムが獲得されていれば、そのアイテムのオブジェクトをキャラクタ811に合成してもよい。上述の構成によれば、ユーザが本ゲームをプレイすることにより獲得したアイテムを、キャラクタ811の服飾品に反映させることができる。
これにより、ユーザは、キャラクタ811により愛着を感じて、本ゲームをより一層楽しむことができる。さらに、キャラクタ811の服飾品をバージョンアップさせたいというユーザの意欲を育むことができ、結果として、ゲームをプレイする動機付けを強化することが可能となる。
さらに、本実施形態では、ゲーム実行部112は、キャラクタ811の動作に反応して、キャラクタ811または参加する他のユーザに宛てたコメントを入力することが可能であってもよい。一例として、ゲーム実行部112は、ゲーム画面800に、コメント入力ボタン807を配置してもよい。ユーザは、コメント入力ボタン807にタッチして、コメントを入力するためのUIを呼び出し、該UIを操作して、キャラクタ811または参加する他のユーザに宛てたコメントを入力する。該UIは、予め準備されたいくつかのコメントの中からユーザが所望のコメントを選択するためのものであってもよい。該UIは、ユーザが文字を編集してコメントを入力するためのものであってもよい。該UIは、ユーザが音声にてコメントを入力するためのものであってもよい。
例えば、ビンゴゲームでは、オープンしたい番号をつぶやいてもよいし、リーチになったことを報告してもよいし、なかなかマスがオープンされない状況に不満をもらしてもよい。予め準備された作り置きのコメントも、上述のように、ビンゴゲームで使用が想定される内容を考慮して作成される。
あるいは、レースゲーム、シューティングゲーム、スポーツの対戦ゲームなどのように、ゲーム進行のために常にユーザの入力操作が必要であって、ユーザが、コメントを入力するための操作を行っている時間的余裕がないようなゲームでは、コメント入力ボタン807を設けずとも、常に、ユーザが音声を入力できるボイスチャット機能を実現するプログラムをゲームプログラム131に含めてもよい。
上述の構成によれば、ユーザは、リアルタイムに、キャラクタ811または参加している他のユーザとのインタラクティブなやりとり楽しみながら、ゲームをプレイすることができる。
<処理フロー>
(第1ゲームパートの流れ)
図5は、ゲームシステム1が提供するゲームにおける第1ゲームパートを進行させるための各装置の処理の流れを示すフローチャートである。
ステップS101では、まず、配信端末300のゲーム進行部312が、オペレータの入力操作に応じて、ビンゴゲームを実施するための第1ゲーム空間であるビンゴゲーム会場を開設したことを、サーバ200に対して通知する。
ステップS102では、サーバ200の進行支援部211は、配信端末300がビンゴゲーム会場を開設したことを把握する。ここで、サーバ200または配信端末300は、新たに、ビンゴゲーム会場が開設された旨を、ユーザ端末100に通知してもよい。
ステップS103では、ユーザ端末100のゲーム実行部112は、入室可能なビンゴゲーム会場を問い合わせるクエリを、サーバ200に対して発行する。
ステップS104では、同期制御部212は、ビンゴゲームの主催者側の配信端末300と、ビンゴゲームの参加者側のユーザ端末100とのマッチングを行い、マッチング結果の通知を、ユーザ端末100および配信端末300のそれぞれに行う。具体的には、同期制御部212は、ユーザ端末100に、入室した先のビンゴゲーム会場の情報を送信する。また、同期制御部212は、ビンゴゲームを主催する配信端末300に、ビンゴゲーム会場に入室したユーザ端末100の情報を送信する。
ステップS105では、ゲーム進行部312は、マッチング結果を取得し、該マッチング結果を、開設したビンゴゲーム会場に反映させるとともに、表示部352に表示させる。オペレータは、表示部352に表示されたマッチング結果からユーザの参加状況を確認して、募集を締め切ってビンゴゲームを開始するか否かを判断することができる。
ステップS106では、ゲーム進行部312は、ビンゴゲームの開始を指示するオペレータの入力操作に応じて、ビンゴゲームを開始する。ゲーム進行部312は、開始通知を、参加する各ユーザ端末100に送信する。
ステップS107では、ユーザ端末100のゲーム実行部112は、マッチング結果を取得し、該マッチング結果に基づいて、自端末において配信端末300が開設したビンゴゲーム会場を再現するとともに、表示部152に表示させる。ユーザは、ビンゴゲームが開始されるまでの間、ビンゴゲーム会場の様子や、他のユーザの参加状況などを確認することができる。この間、ゲーム実行部112は、参加をキャンセルするための入力操作をユーザから受け付けてもよい。
ステップS108では、ゲーム実行部112は、開始通知を配信端末300から受け付けて、ビンゴゲームを開始する。
ステップS109およびS110では、配信端末300のゲーム進行部312と、ユーザ端末100のゲーム実行部112とは、互いに通信して、ビンゴゲームを進行させる。
ステップS111では、ビンゴゲームが進行する間、ユーザ端末100の通信制御部111は、定期的に、または、配信端末300からの要求に応じて、または、自端末においてビンゴゲームの進捗に変化があったときに、ゲームの進捗を示すログをサーバ200に送信する。ログは、配信端末300に直接送信されてもよい。
ステップS112では、ビンゴゲームが進行する間、サーバ200のログ収集部213は、各ユーザ端末100から送信されるログを収集する。ログ収集部213は、ビンゴゲームが進行する間、必要に応じて、ログを配信端末300に送信してもよい。
ステップS113では、配信端末300のゲーム進行部312は、各ユーザのログに基づいて、ビンゴゲームを終了すべきか否かを判定する。本実施形態では、最初に1以上のユーザにビンゴが出た時点で、本ビンゴゲームを終了するものとする。ビンゴが出ないうちは、ゲーム進行部312は、ステップS113のNOからステップS109に戻って、ビンゴゲームの進行を継続する。ビンゴが出た場合には、ゲーム進行部312は、ステップS113のYESからステップS114に進む。
ステップS114では、ゲーム進行部312は、ビンゴゲームの終了通知およびビンゴゲームの結果発表をサーバ200と各ユーザ端末100のそれぞれに送信する。これにより、配信端末300において、第1ゲームパートが終了する。なお、ビンゴゲームの結果発表は、例えば、ビンゴ出したユーザのユーザIDまたはユーザ名、および、ビンゴになるまでの試行回数などの情報を含んでいてもよい。
ステップS115では、ゲーム実行部112は、ビンゴゲームの終了通知を受信したか否かを判定する。ビンゴゲームの終了通知を受信しないうちは、ゲーム実行部112は、ステップS115のNOからステップS110に戻って、ビンゴゲームの実行を継続する。ビンゴゲームの終了通知を受信した場合には、ゲーム実行部112は、ステップS115のYESからステップS116に進む。
ステップS116では、ゲーム実行部112は、受信したビンゴゲームの結果発表に基づいてビンゴゲームの結果を表示部152に表示する。これにより、ユーザ端末100において、第1ゲームパートが終了する。
ステップS117では、サーバ200の進行支援部211は、ビンゴゲームの終了通知を受信したか否かを判定する。ビンゴゲームの終了通知を受信しないうちは、進行支援部211は、ステップS117のNOからステップS112に戻って、ビンゴゲームのログの収集を継続する。ビンゴゲームの終了通知を受信した場合には、進行支援部211は、ステップS117のYESから後述するステップS118に進む。
(第2ゲームパートの流れ)
図6は、ゲームシステム1が提供するゲームにおける第1ゲームパートを進行させるための各装置の処理の流れを示すフローチャートである。
ステップS118では、サーバ200のログ収集部213は、各ユーザ端末100から収集したログ群を、配信端末300に供給する。
ステップS119では、配信端末300の通信制御部311は、供給されたログ群を取得する。
ステップS120では、決定部313は、ログ群を解析して、第2ゲームパートでライブ映像を視聴する資格を有する第1ユーザを決定する。例えば、決定部313は、最初にビンゴを出したユーザを第1ユーザとして決定する。
ステップS121では、要約部314は、第1ユーザのログから、ハイライトシーンに対応するレコードを抽出して、要約データを生成する。例えば、要約部314は、ビンゴを構成する各マスがオープンされたときのレコードと、そのときのビンゴカードの状態を示すカード画像とを含む要約データを生成する。
ステップS122では、台本生成部318は、生成された要約データに基づいて、キャラクタに発話させるセリフの候補をいくつか自動で生成する。台本生成部318は、第1ユーザに個別に宛てた内容のセリフを生成する。
ステップS123では、通信制御部311は、第2ゲームパートにおいてプライベートライブ配信を行うための第2ゲーム空間であるプライベートルームを開設し、その旨をサーバ200に対して通知する。
ステップS124では、サーバ200の進行支援部211は、配信端末300においてプライベートルームが開設されたことを把握する。
ステップS125では、通信制御部311は、決定された第1ユーザのユーザ端末100の宛てに、プライベートルームへの入室を促す招待メッセージを送信する。招待メッセージには、少なくとも、プライベートルームに入室するために必要な情報が含まれる。プライベートルームに入室するために必要な情報は、プライベートルームを特定するルームIDであってもよいし、入室の有資格者を認証するためのパスワードであってもよい。
ステップS126では、第1ユーザのユーザ端末100の通信制御部111は、配信端末300から招待メッセージを受信する。
ステップS127では、対話制御部113は、招待メッセージとともに、招待を受けるか否かをユーザが選択するためのUI部品を表示部152に表示する。「招待を受ける」とは、ここでは、ステップS124にて開設されたプライベートルームに入室を希望することを意味する。「プライベートルームに入室する」とは、具体的には、配信端末300との間でプライベートな通信を確立し、配信端末300において定義されたプライベートルームと同期する第2ゲーム空間を自端末において定義して、配信端末300から配信される動画を視聴することを意味する。
ステップS128では、対話制御部113は、UI部品に対するユーザの入力操作を受け付ける。具体的には、ユーザが「招待を受ける」ことを選択した場合、対話制御部113は、ステップS128のYESからステップS129に進む。
ステップS129では、対話制御部113は、ユーザ端末100が、招待されたプライベートルームへ入室できるように、サーバ200に対して要求する。
ステップS130では、サーバ200の同期制御部212は、要求に応答してユーザ端末100のユーザを開設されたプライベートルームに入室させて、ユーザ端末100と配信端末300との間で、互いのゲーム空間が同期をとるようにプライベートライブ配信のための通信を確立させる。
ステップS131では、通信制御部311は、通信が確立され、同期がとれていることを示すマッチング結果を取得し、表示制御部315は、該マッチング結果を自端末のプライベートルームに反映させるとともに、その内容を表示部352に表示させる。オペレータは、表示部352に表示されたマッチング結果からユーザの参加状況を確認して、プライベートライブ配信を開始するか否かを判断することができる。
ステップS132では、ユーザ端末100の対話制御部113は、マッチング結果を取得し、該マッチング結果に基づいて、配信端末300のプライベートルームと同期がとれたゲーム空間を定義し、表示部152に表示させる。ユーザは、プライベートライブ配信が開始されるまでの間の状況などを確認することができる。この間、ゲーム実行部112は、視聴をキャンセルするための入力操作をユーザから受け付けてもよい。
ステップS133では、配信端末300は、通信制御部311を介して、ユーザ端末100との通信が確立されると、ライブ映像の配信を開始する。具体的には、表示制御部315は、第1ユーザのログ402と、要約データ401と、台本データ403とを表示部352に表示する。入力制御部316は、すくなくとも、オペレータ、特に声優から受け付けた音声に基づいて音声データを生成する。さらに、入力制御部316は、オペレータ、特にモデルから、モーションキャプチャデータを取得してもよい。コンテンツ生成部317は、音声データおよびモーションキャプチャデータを含む動作指図データに基づいて、キャラクタをユーザ端末100において動作させるために必要なコンテンツデータを生成する。コンテンツデータは、動作指図データそのものであってもよいし、動作指図データをレンダリングして得られた動画データであってもよい。通信制御部311は、生成されたコンテンツデータ、すなわち、ライブ映像をユーザ端末100に宛ててリアルタイムで配信する。
ステップS134では、ユーザ端末100の通信制御部111を介して受信されたライブ映像を、対話制御部113が再生し、表示部152に出力する。具体的には、対話制御部113は、コンテンツデータが動作指図データである場合、該動作指図データをレンダリングして、動作データを生成し、表示部152に逐次出力する。
また、対話制御部113は、ユーザの入力操作を受け付けて、該ユーザのリアクションを示すリアクションデータを生成し、通信制御部111を介して、配信端末300に送信する。
<第1ゲームパートのゲーム空間と画面図>
(ゲーム空間)
図7の(A)および(B)は、第1ゲームパートを進行させるための第1ゲーム空間を模式的に示す図である。第1ゲーム空間は、ビンゴゲーム会場に対応している。図7の(A)は、第1ゲーム空間の斜視図である。図7(B)は、第1ゲーム空間の上面図である。とりわけ、図7の(A)に示す第1ゲーム空間500は、配信端末300において定義される第1ゲーム空間を示し、図7の(B)に示す第1ゲーム空間510は、ユーザ端末100において定義される第1ゲーム空間を示す。これらの第1ゲーム空間500および第1ゲーム空間510Bは、同期している。
図7の(A)に示すとおり、配信端末300において定義される第1ゲーム空間500には、一例として、以下の各種のオブジェクトが配置される。具体的には、仮想カメラ501、キャラクタ811、抽選箱812、パネル813、および、移動ボタン814のオブジェクトが配置される。
仮想カメラ501は、キャラクタ811の視界を定めるために、キャラクタ811の頭部付近に配置される。仮想カメラ501の向きは、キャラクタ811が向いている方向と合うように制御される。
キャラクタ811は、第1ゲームパートに登場するキャラクタであり、本ビンゴゲームの司会進行役として配置される。キャラクタ811の動作、具体的には、発話および動きは、図4に基づいて説明したとおり、配信端末300のオペレータによって制御される。
抽選箱812は、内部に複数のビンゴボール815を収容する、例えば、直方体状のオブジェクトである。抽選箱812の上面には、開口部816が設けられており、この開口部816にキャラクタ811の手を近づけることで、仮想的に、キャラクタ811が抽選箱812内部に手を入れるシーンを実現することができる。さらに、キャラクタ811の手が抽選箱812に挿入された状態のときに、図4に示すモデル702の手に取り付けられたモーションセンサが、手で何かをつかむ動きと手を引き抜く動きとを検知した場合には、ランダムに決定された番号のビンゴボール815を取り出すシーンを実現することができる。
なお、ビンゴボール815のそれぞれには、番号が設定されており、その番号は表面にあらかじめ描かれていてもよいし、ビンゴボール815が取り出されたシーンにおいて、取り出されたときに、ランダムで当選した番号が描かれてもよい。設定される番号は、基本的に、参加する各ユーザに配布されるビンゴカードのマスに対応付けられる数値のいずれかである。ただし、マスに対応付けられることがない番号が設定されたビンゴボール815が、抽選箱812の中に混ぜられていてもよい。
パネル813は、例えば、板状の形状を有したオブジェクトである。パネル813には、第1ゲームパートに関する情報、例えば、ビンゴゲームのルールを説明する文章などが書かれてあり、パネル813を仮想カメラの視界に入れることで、該文章を視認することが可能となる。
移動ボタン814は、キャラクタ811を制御するオペレータが、第1ゲームパートを終了させて第2ゲームパートに移行することを指示するためのUI部品である。当該UI部品を、態々第1ゲーム空間500に配置することにより、仮想的にキャラクタ811に操作させるシーンを見せることが可能となり、第1ゲームパートが終了し、第2ゲームパートに移行することを、ユーザに視覚的に認識させる効果がある。
一方、UI部品は、現実的には、オペレータの操作支援のために設けられているものであるので、ビンゴゲーム会場にUI部品が設けられている様子が、該会場に居合わせているユーザやオペレータに視認されると、ゲームへの没入感が損なわれる虞がある。したがって、UI部品としての移動ボタン814は、ビンゴゲーム会場にそぐう態様、例えば、出口のドアなどを模して設けられることが好ましい。あるいは、移動ボタン814は、ユーザ端末100が定義する第1ゲーム空間510においては不可視のオブジェクトとして取り扱われてもよい。
なお、ユーザの視界を定義するための仮想カメラ511は、配信端末300が定義する第1ゲーム空間500には配置されずともよいし、配置されたとしても、不可視のオブジェクトとして取り扱われ、配信端末300において表示される視野画像に仮想カメラ511が含まれないようにしてもよい。
図7の(B)に示すとおり、ユーザ端末100において定義される第1ゲーム空間510には、一例として、以下の各種オブジェクトが配置される。具体的には、仮想カメラ511、キャラクタ811、抽選箱812、パネル813、および、移動ボタン814のオブジェクトが配置される。
仮想カメラ511は、第1ゲーム空間510の所定の位置に配置される。例えば、第1ゲーム空間510の、パネル813が配置されている側をビンゴゲーム会場の前方とした場合、パネル813と対向する位置、すなわち、ビンゴゲーム会場の後方に配置される。仮想カメラ511は、各ユーザ端末100において定義される第1ゲーム空間510ごとに配置されるので、ユーザ端末100のユーザが、仮想カメラ511の位置および向きを制御できるように設けられてもよい。
なお、キャラクタ811の視界を定義する仮想カメラ501は、ユーザ端末100が定義する第1ゲーム空間510には配置されずともよいし、配置されたとしても、不可視のオブジェクトとして取り扱われ、ユーザ端末100において表示される視野画像には含まれないようにしてもよい。
第1ゲーム空間510において、仮想カメラ511を除く上述の各種のオブジェクトは、第1ゲーム空間500と同期しており、第1ゲーム空間500におけるふるまいと同じふるまいをするようにユーザ端末100においても制御される。
(画面図)
図8の(A)は、第1ゲーム空間500における仮想カメラ501の視野領域を示す視野画像の一例を示す図である。仮想カメラ501の視野領域を示す視野画像900は、配信端末300の表示部352に表示される。図8の(B)は、ユーザ端末100の表示部152に表示部に表示されるゲーム画面の一例を示す図である。
図8の(A)に示すとおり、一例として、視野画像900は、第1ゲーム空間500における仮想カメラ501の位置および向きに基づいて生成され、一例として、抽選箱812と、移動ボタン814とを含む。モデル702の手の動きにしたがって、キャラクタ811の手が仮想カメラ501の視界に入る場合には、さらに、視野画像900には、キャラクタ811の仮想右手811Rと、仮想左手811Lとが含まれる。なお、表示制御部315は、視野画像900に、ユーザ数情報817を重畳させてもよい。ユーザ数情報817は、進行中のビンゴゲームに参加しているユーザ数を示す。
キャラクタ811の仮想右手811Rおよび仮想左手811Lが視野画像900に含まれていると、オペレータ、特に、モデル702は、仮想右手811Rおよび仮想左手811Lと、抽選箱812の開口部816との位置関係を把握することができ、ビンゴボール815を取り出す動作を容易に行うことが可能となる。
図8の(A)に示す視野画像900は、ビンゴゲームが開始されるときに生成された視野画像を示している。このような視野画像900が生成されたタイミングで、オペレータ、特に、声優701は、第1ゲームパートであるビンゴゲームを開始することを通知する動作として、「ビンゴゲームを始めるよ」という音声を発してもよい。これにより、キャラクタ811が、音声データ805を発話するように、配信端末300およびユーザ端末100の各装置が制御される。なお、第1ゲームパートを開始することの通知は、音声に限らず、手振り等キャラクタ811のジェスチャによってなされてもよいし、単に、ビンゴゲームを開始する旨のメッセージを含むUI部品が各装置に表示部に表示されることでなされてもよい。
図8の(B)に示すゲーム画面800は、第1ゲーム空間510における仮想カメラ511の視野領域を示す視野画像910を表示するための第1領域810と、ユーザに配布されたビンゴカードを表示する第2領域820とを含む。
視野画像910は、第1ゲーム空間510における仮想カメラ511の位置および向きに基づいて、視野画像900と同じくビンゴゲームが開始されるときに生成され、一例として、キャラクタ811と、抽選箱812と、パネル813と、移動ボタン814とを含む。
また、キャラクタ811の手の位置が、仮想カメラ511の視野領域に含まれている場合には、キャラクタ811の仮想右手811Rおよび仮想左手811Lが視野画像910に含まれている。これにより、ユーザは、仮想右手811Rおよび仮想左手811Lと抽選箱812との位置関係を把握し、キャラクタ811が行うビンゴボール815を取り出す動作に注目することができる。
一例として、抽選箱812は、仮想的に、中が見えない不透明な材質で構成されているように描画され、内部に収容されているビンゴボール815が見えないようになっている。本実施形態では、ビンゴボール815のそれぞれは、抽選箱812の中で、第1ゲーム空間500における位置が定められており、ビンゴボール815と、仮想右手811Rまたは仮想左手811Lとの接触判定が行われる。この接触判定の結果に基づいて、当選するビンゴボール815、すなわち、オープンされるマスの番号が決定される。
パネル813は、キャラクタ811の背後に、情報が書かれた面がユーザの位置、すなわち、仮想カメラ511に対向するように配置されている。一例として、パネル813には、第1ゲームパートに関する情報、すなわち、ビンゴゲームの説明が書かれている。より具体的には、ビンゴゲームのルール、ビンゴの成立条件、ビンゴが成立したときの報酬、第2ゲームパートに参加できる条件などが書かれていてもよい。
第2領域820には、少なくとも、ビンゴカード821が配置される。ビンゴカード821は、ビンゴカードに対するユーザの入力操作を受け付けるためのUI部品として機能する。具体的には、ビンゴカード821は、上述したとおり、3×3の9個のマス822を含む。例えば、各マス822には、1~100までの範囲の何れかの整数が一意に設定される。各マス822は、通常、入力操作を受け付けない状態で維持される。そして、特定の条件を満たしたときにだけ、当該マスをオープンするための入力操作を受け付けることができる状態に遷移する。特定の条件としては、「マス822に設定されている番号と同じ番号が付されたビンゴボール815が、キャラクタ811によって抽選箱812から取り出された場合」が想定されている。
例えば、キャラクタ811が取り出したビンゴボール815に「54」が付されている場合、ユーザは、例えば、54の番号が設定されたマス822をタッチして、54のマスを、オープンされた状態に遷移させることができる。
上述のとおり、声優701が、「ビンゴゲームを始めるよ」という音声を発したとき、配信端末300において該音声に対応する音声データ805が生成され、該音声データ805を含む動作指図データが、配信端末300からユーザ端末100に送信される。ユーザ端末100は、該音声データ805を受信すると、視野画像910に含まれるキャラクタ811が、音声データ805を発声するようにキャラクタ811の動作を制御する。これにより、ユーザは、キャラクタ811が音声データ805を発声したことに応じてビンゴゲームが開始されることを認識することができる。
図9の(A)は、配信端末300の表示部352に表示される視野画像900の他の例を示す図である。図9の(B)は、ユーザ端末100の表示部152に表示されるゲーム画面800の他の例を示す図である。
図9における視野画像900および視野画像910は、一例として、キャラクタ811が一つのビンゴボール815を抽選箱812から取り出したときに生成される視野画像である。
図9の(A)に示す例では、視野画像900には、キャラクタ811が1つのビンゴボール815を選択した様子が描画されている。さらに、視野画像900には、ビンゴゲームの進捗に関する各種の情報が重畳されてもよい。例えば、ビンゴボール815を引いた試行回数を示す試行回数801と、現行の回で当選した番号のマスをオープンしたユーザ数を示すオープン数802と、現行の回まででリーチになっているユーザ数を示すリーチ数803とが重畳されてもよい。
配信端末300のゲーム進行部312は、モデル702の動作に応じて、第1ゲーム空間500を制御する。そして、ゲーム進行部312は、キャラクタ811の仮想右手811Rによって、抽選箱812の内部からビンゴボール815の何れかが取り出される様子を描画する。なお、視野画像900では、抽選箱812の内部にあるビンゴボール815が表示されていないため、オペレータは、何れの番号が描かれたビンゴボール815が当選するのかは、取り出すまで認識できないものとする。
図示の例では、仮想右手811Rによって選択されたビンゴボール815には、「54」の番号が付されている様子が示されている。オペレータ、特に、声優701は、当選した番号が判明した時点で、キャラクタ811に当選した番号「54」を発話させるよう、音声を入力してもよい。これにより、キャラクタ811が、「54」と発話する音声データ806が生成され、配信端末300の図示しないスピーカから出力されるとともに、各ユーザ端末100へ配信される。
なお、ゲーム進行部312は、オープン数802およびリーチ数803に対するオペレータの入力操作を受け付けたことに応答して、これらの詳細な情報を表示してもよい。例えば、現行の回でマスをオープンしたユーザのユーザ名、または、現行の回まででリーチになったユーザのユーザ名を一覧表示してもよい。
また、オペレータ、特に、声優701は、試行回数801~リーチ数803の各種の情報を確認しつつ、キャラクタ811に、ビンゴゲームの進捗に関して何らかの発話をさせてもよい。例えば、「54が開いた人、14人です!」、「リーチの人1人出ました」といった音声を、マイク3010を介して入力する。
また、リーチ数803から、リーチになったユーザのユーザ名を確認できる場合には、声優701は、「太郎さん、リーチです!」などといった内容の音声を入力してもよい。これにより、キャラクタ811が、上述のように発話する動画が、配信端末300およびユーザ端末100において再生される。すなわち、音声データ808が、各端末のスピーカから出力される。
ユーザ端末100のゲーム実行部112は、配信端末300から、ビンゴボール815「54」を選択する動作を表す動作指図データを受信すると、図9の(B)に示す視野画像910を描画する。ゲーム実行部112は、キャラクタ811によって選択されたビンゴボール815に設定されている番号「54」が、ユーザに視認されるよう、番号の印字面が仮想カメラ511に対向するように、ビンゴボール815を第1ゲーム空間510に配置する。
また、配信端末300から、音声データ806を発声する動作を表す動作指図データが受信されると、視野画像910に含まれるキャラクタ811が、音声データ806を発声するよう制御される。
これにより、ユーザは、キャラクタ811によって、自身のビンゴカードに含まれる数値「54」が描かれたビンゴボール815が選択されたことを認識することができる。
ゲーム実行部112は、番号「54」が当選したことに応じて、「54」が設定されたマス822を操作可能な状態に遷移させる。ゲーム実行部112は、操作可能な状態に変化したマス822を、操作可能であることを表す態様に変化させてもよい。ユーザは、「54」を含むマス822に対する操作を行うことにより、マス822を開けることができる。これにより、「54」が設定されたマス822は、開いた状態を表す態様で表示される。開いた状態を表す態様とは、例えば、開いた状態を表す色に変化した態様、当該マスの領域に穴があけられた様子を表す態様等であってもよいが、これらに限られない。
このように、ユーザは、自身のビンゴカード821に含まれる数値が描かれたビンゴボール815が選択されることを所望しながら、キャラクタ811の動作に注目することができ、ビンゴゲーム会場にいるかのような臨場感を覚えつつ、ビンゴゲームに参加することができる。
また、通信制御部111が、配信端末300から、音声データ808を発声する動作を表す動作指図データを受信すると、ゲーム実行部112は、視野画像910に含まれるキャラクタ811が、音声データ808を発声するよう制御する。これにより、ユーザは、他のユーザがリーチに至ったことを認識でき、他のユーザと共にビンゴゲームに参加していることかのような臨場感および一体感を味わうことができる。また、音声データ808に、リーチに到達したユーザ、または、現行の回でマスを開けたユーザのユーザ名が含まれる場合、そのユーザは、ビンゴゲーム会場で自分が注目されているかのような特別感を味わうことができる。
図10の(A)は、配信端末300の表示部352に表示される視野画像900のさらに他の例を示す図である。図10の(B)は、ユーザ端末100の表示部152に表示されるゲーム画面800のさらに他の例を示す図である。
図10における視野画像900および視野画像910は、一例として、キャラクタ811が一つのビンゴボール815を抽選箱812から取り出した後、ビンゴが成立した人が出たときに生成される視野画像である。
図10の(A)に示すとおり、配信端末300における視野画像900において、取り出されたビンゴボール815に描かれた数値が更新されている。また、試行回数801、オープン数802、および、リーチ数803の各種情報が更新されている。加えて、視野画像900には、ビンゴが成立したユーザ数を示すビンゴ数804が重畳されてもよい。
図示の例では、キャラクタ811が、モデル702の動作に応じて、抽選箱812の内部から番号「25」のビンゴボール815を取り出したものとする。
声優701は、ビンゴボール815の番号を発話した音声をマイク3010を介して配信端末300に入力する。これにより、該音声の音声データが、キャラクタ811が発話する体裁で、各端末において出力される。
例えば、25番がオープンされたことにより、参加者の一人がビンゴを成立させたとする。ビンゴが成立したユーザのユーザ端末100は、ビンゴが成立したという進捗を含むログを、配信端末300に送信する。
配信端末300のゲーム進行部312は、上述のログを受信すると、ビンゴ数804を視野画像900に重畳させる。
オペレータは、ビンゴ数804を確認し、ビンゴゲームを終了させると判断する。このタイミングで、声優701は、例えば、「出ましたビンゴ!ここで、ビンゴ終了です!」といった音声を、マイク3010を介して配信端末300に入力してもよい。これにより、該音声の音声データが、キャラクタ811が発話する体裁で、各端末において出力される。
一方、ユーザ端末100のゲーム実行部112は、配信端末300から、25番のビンゴボール815を選択する動作を表す動作指図データを受信すると、図10の(B)に示す視野画像910を描画する。ゲーム実行部112は、キャラクタ811によって選択されたビンゴボール815に設定されている番号「25」が、ユーザに視認されるよう、番号の印字面が仮想カメラ511に対向するように、ビンゴボール815を第1ゲーム空間510に配置する。
ゲーム実行部112は、番号「25」が当選したことに応じて、「25」が設定されたマス822を操作可能な状態に遷移させる。ゲーム実行部112は、操作可能な状態に変化したマス822を、操作可能であることを表す態様に変化させてもよい。ユーザは、「25」を含むマス822に対する操作を行うことにより、マス822を開けることができる。
ゲーム実行部112は、番号「25」のマス822がオープンされたことにより、リーチまたはビンゴが成立した場合には、そのことを示すログを、配信端末300に送信するとともに、そのことを示すアイコン823を、第2領域820に表示する。
これにより、配信端末300のオペレータ、および、ユーザ端末100のユーザは、該ユーザが、リーチまたはビンゴを成立させたことを認識することができる。
ビンゴが成立したことに伴い、ユーザ端末100において、キャラクタ811が発話する体裁で、ビンゴゲームが終了した旨の音声データが出力されると、ユーザは、第1ゲームパートが終了したことを認識する。
<第1ゲームパートから第2ゲームパートへ移行するときの画面図>
図11の(A)は、配信端末300の表示部352に表示される視野画像900のさらに他の例を示す図である。図11の(B)は、ユーザ端末100の表示部152に表示されるゲーム画面800のさらに他の例を示す図である。
図11における視野画像900および視野画像910は、一例として、ビンゴゲームが終了した後、キャラクタ811が第1ゲームパートが実行されたビンゴゲーム会場から、第2ゲームパートが実行されるプライベートルームに移動する直前に生成される視野画像である。
配信端末300の決定部313は、ログに基づいてビンゴを成立させた第1ユーザを決定すると、通信制御部311は、決定部313によって特定された第1ユーザのユーザ端末100だけに宛てて、招待メッセージを送信する。キャラクタ811が招待メッセージを送信する動作が第1ゲーム空間500および510において描画されてもよい。
また、招待メッセージを送信することを指示するためのUI部品が、図11の(A)に示す視野画像900に重畳され、該UI部品対するオペレータの操作を受け付けたことに応じて、通信制御部311が招待メッセージを送信してもよい。
また、このタイミングで、声優701は、ビンゴが成立した人だけを第2ゲームパートに招待される主旨の発言を行って、音声を入力してもよい。入力された音声に基づいて生成された音声データ850は、キャラクタ811が発話する体裁で、各端末から出力される。
モデル702が、音声データ850が出力されたときに、移動ボタン814を押下する動きを入力すると、第1ゲーム空間500においてキャラクタ811が、移動ボタン814を押す動作が描画される。これをトリガにして、ゲーム進行部312は、キャラクタ811を、ビンゴゲーム会場から退室させる。退室させる動作の演出は、どのようなものであっても構わない。例えば、ドアから出ていくシーンが描画されてもよいし、手品や魔法のように姿が消えるようなシーンが描画されてもよい。
一方、ユーザ端末100のゲーム実行部112は、配信端末300から、キャラクタ811が音声データ850の発話を行いながら、移動ボタン814を押下するシーンを再現するための動作指図データを受信すると、図11の(B)に示す視野画像910を描画する。
続けて、ゲーム実行部112は、配信端末300から、移動ボタン814押下後の動作指図データを受信すると、視野画像910に含まれるキャラクタ811を、ビンゴゲーム会場から退室するように制御する。
さらに、ゲーム実行部112は、配信端末300から招待メッセージを受信すると、第2領域820に、招待メッセージ824を表示する。招待メッセージ824は、第2ゲームパートを進行させるためのプライベートルームに入室することを指示するための入室指示ボタン825と、プライベートルームへの入室を拒否することを指示するための入室拒否ボタン826とを含む。招待メッセージ824は、プライベートルームへの入室を、ユーザに対して促す文章を含んでいてもよい。
入室を希望するユーザが、入室指示ボタン825に対してタッチ操作などの入力操作を行うと、対話制御部113は、サーバ200に対して、開設されているプライベートルームへの入室を要求する。ここで、サーバ200から、入室の有資格者を確認するために、IDまたはパスワードなどの入力を求められた場合には、対話制御部113は、それに応じたUI部品を第2領域820に提示して、求められたパスワードなどの入力をユーザに促してもよい。
対話制御部113は、サーバ200を介して配信端末300との通信を確立すると、配信端末300が定義した、第2ゲームパートを進行させるための第2ゲーム空間、すなわち、プライベートルームを自端末において定義し、プライベートルームで得られる視野画像を、第1領域810に表示する。
なお、ユーザが、第2ゲームパートのプレイを希望しない場合には、ユーザによって入室拒否ボタン826が押下され、ユーザ端末100と配信端末300とは通信が確立されないまま、一連のビンゴゲームが終了する。
<第2ゲームパートのゲーム空間と画面図>
(ゲーム空間)
図12の(A)は、第1ゲーム空間500の斜視図であり、キャラクタ811が退室した後の状態を示す図である。図12の(B)は、第2ゲーム空間600の斜視図であり、キャラクタ811と、第1ユーザとが入室した後の状態を示す図である。
図12の(A)に示すとおり、キャラクタ811が退室した後は、キャラクタ811および仮想カメラ501は、第1ゲーム空間500から削除される。これにより、ビンゴゲーム会場を映すキャラクタ811目線の視野画像900は、配信端末300の表示部352には表示されなくなり、また、キャラクタ811は、ユーザ端末100の表示部152に表示されている視野画像910からも消去される。
図12の(B)に示すとおり、配信端末300において、第2ゲーム空間600としてのプライベートルームが定義されると、移動ボタン814が押下された後、キャラクタ811は、第2ゲーム空間600に配置される。プライベートルームにおけるキャラクタ811目線の視野画像が必要ない場合には、仮想カメラ501の配置は省略される。
ユーザ端末100が配信端末300との通信を確立すると、対話制御部113は、第2ゲーム空間600と同期する第2ゲーム空間を自端末において定義する。以下では、配信端末300に定義されている第2ゲーム空間600と、ユーザ端末100に定義されている第2ゲーム空間とを特に区別する必要がない場合は、一律、第2ゲーム空間600と称する。
ユーザがプライベートルームへ入室すると、ユーザの目線に対応する仮想カメラ511が、第2ゲーム空間600に配置される。仮想カメラ511の位置および向きは、ユーザによって操作されてもよいし、配信端末300のオペレータによって操作されてもよいし、予め定められた位置および向きに固定されていてもよい。
仮想カメラ511の視野領域を示す視野画像は、ユーザ端末100の表示部152に表示される。
キャラクタ811は、図示のように、第1ゲーム空間500に存在していたときと異なる態様で表示されてもよい。異なる態様とは、例えば、洋服、持ち物(ここでは、マイク)が異なることであってもよいが、これに限られない。キャラクタ811が異なる態様で表示されることにより、第2ゲーム空間600において進行する第2ゲームパートの特別感が向上する。
(配信端末の画面図)
図13は、第2ゲームパート進行時に配信端末300の表示部352に表示される支援画面の一例を示す図である。図13に示すとおり、第2ゲームパート進行時に表示部352に表示される支援画面400は、一例として、要約データ401、ログ402、台本データ403、および、音声入力ボタン404を含む。なお、第2ゲーム空間600において、キャラクタ811に目線に対応する仮想カメラ501が配置される場合には、支援画面400は、仮想カメラ501の視野領域に対応する視野画像を、含んでいてもよい。
要約データ401は、第1ゲームパートにおけるユーザのプレイ内容の注目すべき局面、いわゆるハイライトシーンが抽出された内容で構成されている。図示の例では、要約データ401として、ユーザに配布されたビンゴカード821において、ビンゴを成立させた3マスがそれぞれオープンされたときの時刻と、そのときのビンゴカードの状態を示すカード画像とが示される。
これにより、オペレータ、とりわけ、声優701は、要約データ401を確認して、ユーザのプレイ内容のうち、特に、ハイライトシーンに着目したセリフを、リアルタイムに即興で発言することができる。
ログ402は、第1ゲームパートが開始されてから終了するまでの間のユーザのログを一覧表示したものである。ログ402は、ユーザが所有するビンゴカードにおいて、いつ、どのマスがオープンされたか、また、いつ、リーチまたはビンゴになったのかを示す情報を含む。
これにより、オペレータ、とりわけ、声優701は、ログ402を確認して、ユーザのプレイ内容の全体を振り返り、プレイ内容に即したセリフを、リアルタイムに即興で発言することができる。
なお、ログ402において、オペレータが着目するログを選択した場合に、該ログに対する局面のカード画像が要約データ401に含まれていれば、表示制御部315は、該カード画像を、図示のように強調表示してもよい。
台本データ403は、台本生成部318によって生成されたセリフの候補を一覧表示したものである。セリフの候補は、台本生成部318が、ユーザのログ402および要約データ401と、キャラクタに事前に設定されているパーソナリティとを考慮して、生成したものである。
これにより、オペレータ、とりわけ、声優701は、台本データ403を確認して、キャラクタ811に発話させる内容を、時間をかけて考えずとも、自然に、流暢に発言することができる。
音声入力ボタン404は、オペレータ、特に声優701が、マイク3010を介して音声を配信端末300に対して入力するためのUI部品である。
入力制御部316が、マイク3010の入力が無効となっているマイクオフの状態のときに、支援画面400上に配置された音声入力ボタン404に対するオペレータのタッチ操作を受け付けたとする。この場合、入力制御部316は、マイク3010からの入力を有効にし、マイク3010を介して入力された音声に基づいて音声データを取得して、動作指図データに含める。入力制御部316が、マイク3010の入力が有効となっているマイクオンの状態のときに、音声入力ボタン404に対するオペレータのタッチ操作を受け付けたとする。この場合、入力制御部316は、再び、マイク3010からの入力を無効にする。
以上のように、声優701は、ユーザのプレイ内容を確認しつつ、そのプレイ内容に合うように、また、ユーザからのリアクションに自然に対応するように、その場で発話の内容を決定して、該発話の内容に対応する音声を配信端末300に対して入力することができる。
(ユーザ端末の画面図)
図14は、第2ゲームパート進行時にユーザ端末100の表示部152に表示されるゲーム画面の一例を示す図である。図14に示すとおり、第2ゲームパート進行時に表示部152に表示されるゲーム画面890は、少なくとも、第2ゲーム空間600に配置された仮想カメラ511の視野領域を示す視野画像920を含む。
視野画像920は、第2ゲーム空間600に配置されたキャラクタ811を少なくとも含む。
対話制御部113は、ユーザがリアクションを入力するためのUI部品である、コメント入力ボタン807と、音声入力ボタン827とを、視野画像920に重畳させてもよい。視野画像920は、ビンゴを成立させた第1ユーザのみが視聴できるライブ映像である。
配信端末300において、声優701がマイク3010を介して入力した音声は、音声データ851に変換され、モーションキャプチャデータと同期がとれた動作指図データとして、第1ユーザのユーザ端末100に配信される。ユーザ端末100の対話制御部113は、動作指図データをレンダリングし、音声データ851を図示しないスピーカを介して出力する。
ユーザは、ライブ映像を見て、キャラクタ811に対して何かリアクションを起こしたくなった場合には、コメント入力ボタン807を操作して、テキストを入力するためのUIを呼び出したり、音声入力ボタン827を操作して、音声を入力したりすることができる。
対話制御部113は、受け付けたテキストに基づいてテキストデータを生成し、また、受け付けた音声を音声データに変換して、これらの、テキストデータまたは音声データをリアクションデータとして、配信端末300に送信する。
リアクションデータは、配信端末300の各部によって処理される。具体的には、テキストデータは、表示制御部315によって、テキストとして表示部352に表示され、音声データは、音声として、図示しないスピーカから出力される。
以上のとおり、オペレータとユーザとは、第2ゲームパートにおいて、プライベートな対話を、リアルタイムで楽しむことができる。
具体的には、図13に示す、上述の入出力の支援によって、オペレータ、特に、声優701は、ユーザだけに宛てた特別な内容のセリフを容易に思いつき、キャラクタ811に、自然な間で、該セリフを喋らせることができる。
ユーザは、ゲームに登場するキャラクタ811が、自分だけのために、自分のプレイ内容に触れたおしゃべりをリアルタイムでしてくれるライブ映像を視聴することができる。キャラクタ811の発言の中に、ユーザのユーザ名が含まれていれば、その発話が、ユーザにのみ向かって発話されていることがより明確になり、これを聞いたユーザは、一層特別感を味わうことができる。
さらに、ユーザは、図14に示す、上述の入出力の支援によって、キャラクタ811と、リアルタイムで双方向のコミュニケーションをとることが可能である。
具体的には、ユーザと、キャラクタとの間で、リアルタイムの会話が成立する。結果として、ユーザは、キャラクタと同じ空間に居合わせているかのような、臨場感あふれるテンポの良い自然なコミュニケーションをキャラクタとの間で楽しむことができる。このことに対して、ユーザは、そのゲームの中で特別な待遇を受けていると感じることができ、該ユーザのゲームにおける達成感、満足感を格段に向上させることができる。ユーザは、また、このようなライブ映像を視聴したいと願うようになる。結果として、ユーザに、さらなるゲームプレイを動機付けることができる。また、プレイ内容のログを要約した要約データに基づいて生成された台本データを声優が参考にすることができるので、キャラクタに発話させる内容として声優が吹き込んだ音声は、ユーザのゲーム内容を反映したものになりやすい。よって、ユーザは自身のゲーム内行動に応じた発言をキャラクタから聞くことができるので、ゲームプレイに対する満足感がより向上する。このことからも、ユーザに、さらなるゲームプレイを動機付けることができる。
〔変形例〕
(第1ゲームパートのゲームジャンル)
ゲームシステム1において実行される第1ゲームパートのゲームは、特定のジャンルに限らず、あらゆるジャンルのゲームであってもよい。例えば、テニス、卓球、ドッジボール、野球、サッカーおよびホッケーなどのスポーツを題材としたゲーム、パズルゲーム、クイズゲーム、RPG、アドベンチャーゲーム、シューティングゲーム、シミュレーションゲーム、育成ゲーム、ならびに、アクションゲームなどであってもよい。
第1ゲームパートのゲームは、マルチプレイゲームの中でも、複数のユーザが対戦する対戦ゲーム、および、複数のユーザが協力する協力プレイゲームなどであってもよい。例えば、第1ゲームパートのゲームは、複数のユーザがチームに分かれて、チーム同士で対戦する対戦ゲームであってもよい。この場合、ログには、対戦ゲームにおいてユーザが所属するチームの勝敗と、該チームが勝利した場合の該ユーザの勝利への貢献度とが含まれており、決定部313は、対戦ゲームで勝利したチームに所属する複数のユーザの貢献度に基づいて、第1ユーザを決定することができる。
あるいは、例えば、対戦ゲームには、テニスまたは野球などスポーツを題材とした対戦ゲームが含まれていてもよい。また、対戦ゲームには、将棋、囲碁、チェス、オセロ、格闘ゲームなどのように2人で対戦するゲームが含まれていてもよく、4人以上のユーザでトーナメント戦を行うようなゲームであってもよい。また、対戦ゲームは、複数のユーザが同時に競技を行って成績を競う対戦ゲームであってもよい。このような対戦ゲームの例としては、ビンゴゲームの他にも、例えば、複数のユーザがそれぞれ乗り物または選手などを操作して同じコースを周回し、そのタイムを競うレースゲームなどが想定される。
あるいは、第1ゲームパートのゲームは、シューティングゲーム、パズルゲーム、アクションゲームなど、1人のユーザがより高いスコアでのステージクリアを目指してプレイしたり、タイムアタックしたりするシングルプレイゲームであってもよい。この場合、第1ゲームパートに参加する複数のユーザが個々にステージをプレイし、獲得したスコアの高さや所要タイムを競う。決定部313は、ログに含まれているスコアやタイムなどに基づいて第1ユーザを決定することができる。
(第1ユーザ決定方法)
配信端末300の表示制御部315は、サーバ200のログ収集部213から受け取ったログ群を表示部352に表示してもよい。これにより、オペレータは、提示された、参加ユーザの各ログを確認して、プレイ内容が最も良かったユーザ、いわゆる、MVP(most valuable player)を決定することができる。表示制御部315は、オペレータが、MVPを指定するためのUI部品を提示する。オペレータが、該UI部品を操作してMVPを指定すると、決定部313は、MVPに指定されたユーザを、第1ユーザとして決定する。
(ボイスチャット機能)
ユーザ端末100のゲーム実行部112は、第1ゲームパートにおいて、マルチプレイゲームを実行している間、ユーザの音声を配信端末300に送信する音声通話機能を無効にする。具体的には、ゲーム実行部112は、音声入力ボタン827を非表示にするか、押下できない態様で表示するか、押下されても図示しないマイクまたは入出力IF14が駆動しないようにして音声を受け付けないようにする。一方、対話制御部113は、第2ゲームパートにおいて、ライブ映像を再生している間、該音声通話機能を有効にする。
(第1ゲームパートにおけるキャラクタ制御方法)
第1ゲームパートにおけるキャラクタの制御方法は、実施形態1に記載の方法に限られない。つまり、第1ゲームパートでは、キャラクタ811は、モーションキャプチャや音声入力によってリアルタイムでその動きや発言が制御されることは必須ではない。キャラクタ811は、配信端末300にインストールされているゲームプログラム331にしたがって、オペレータの操作を全く必要とせずに完全に自動で動作するNPC(non player character)であってもよい。あるいは、キャラクタ811は、配信端末300にインストールされているゲームプログラム331にしたがって、オペレータをプレイヤとして、該プレイヤが選択したコマンドに応じて動作するPC(player character)であってもよい。
(第2ゲームパートの実行タイミング)
第2ゲームパートの実行タイミングは、実施形態1で説明したとおり、第1ゲームパートが終了した後、すぐに実行されることが好ましい。
具体的には、通信制御部311は、ビンゴゲームなどの第1ゲームパートが終了した直後に招待メッセージを、第1ユーザのユーザ端末100に送信する。そして、コンテンツ生成部317は、招待メッセージを介して通信が確立された第1ユーザのユーザ端末100宛てに、ライブ映像を再生するためのコンテンツデータを生成し、通信制御部311は、該コンテンツデータの配信をすぐさま開始する。
あるいは、第2ゲームパートは、第1ゲームパートが終了した後、所定期間をおいて、配信端末300のオペレータが指定した日時に開始されてもよい。
具体的には、通信制御部311は、オペレータの指示にしたがって、コンテンツデータの配信開始日時として、前記ゲームが終了した時点から所定期間経過後の日時が指定された招待メッセージを、第1ユーザのユーザ端末100に送信する。そして、コンテンツ生成部317は、招待メッセージにおいて指定された配信開始日時になると、コンテンツデータを生成し、通信制御部311が該コンテンツデータの配信を開始する。
〔ソフトウェアによる実現例〕
制御部310の制御ブロック(特に、通信制御部311、ゲーム進行部312、決定部313、要約部314、表示制御部315、入力制御部316、コンテンツ生成部317、および、台本生成部318)、制御部210の制御ブロック(特に、進行支援部211、同期制御部212、および、ログ収集部213)、ならびに、制御部110の制御ブロック(特に、通信制御部111、ゲーム実行部112、および、対話制御部113)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部310、制御部210または制御部110、もしくは、複数のこれらの機能を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
(項目1) システムについて説明した。本開示のある局面によると、システムは、ユーザ端末(100)を動作させるプログラム(ゲームプログラム131)と、該ユーザ端末にデータを配信する配信装置(サーバ200および配信端末300の少なくとも一方)とを備える。プログラムは、ユーザ端末としてのコンピュータに、キャラクタが登場する、複数のユーザが参加するゲームに、ユーザ端末を操作するユーザを参加させて該ゲームを実行するステップ(S110)と、キャラクタのライブ映像の視聴をユーザに促す招待メッセージを受信するステップ(S126)と、招待メッセージに対する、ライブ映像を視聴することを指示するユーザの入力操作に応答して、ライブ映像を再生するために必要な第1コンテンツデータを配信装置から受信するステップ(S134)と、受信した第1コンテンツデータを処理してライブ映像を再生するステップ(S134)とを実行させる。配信装置は、ゲームのログを取得する取得部(通信制御部311)と、取得されたログに基づいて、ライブ映像を視聴させる第1ユーザを決定する決定部(313)と、ログに基づいて、該第1ユーザのゲームのプレイ履歴を作成する作成部(要約部314)と、第1ユーザのユーザ端末に招待メッセージを送信する送信部(通信制御部311)と、プレイ履歴を配信装置のオペレータに提示する第1提示部(表示制御部315)と、オペレータから、プレイ履歴に基づく発話内容の入力を受け付ける受付部(入力制御部316)と、少なくとも、キャラクタに発話内容を喋らせるライブ映像を再生するために必要な第1コンテンツデータを生成する第1生成部(コンテンツ生成部317)と、第1ユーザのユーザ端末に第1コンテンツデータを配信する配信部(通信制御部311)と、を備える。
上述の構成によれば、第1ユーザにプライベートに配信されるライブ映像には、ゲームに登場するキャラクタが該第1ユーザのゲームのプレイ履歴に触れた発言を行うシーンが、少なくとも含まれる。第1ユーザは、ゲームに登場するキャラクタが自分だけのために、自分のプレイ履歴に触れたおしゃべりをしてくれる様子を楽しむことができ、その上、該キャラクタと、リアルタイムで双方向のコミュニケーションをとることが可能となる。第1ユーザは、このような体験を通じて、そのゲームの中で特別な待遇を受けていると感じることができ、第1ユーザのゲームにおける達成感・満足感を格段に向上させることができる。第1ユーザは、また、上述の体験をしたいと望むようになり、結果として、第1ユーザに、さらなるゲームプレイを動機付けることができる。
(項目2) (項目1)において、ゲームは、複数のユーザが同時に参加してリアルタイムで進行するマルチプレイゲームであり、配信装置は、さらに、キャラクタの動きおよび発話の少なくともいずれか一方を制御する動作指図データを少なくとも含む第2コンテンツデータを、ゲームに参加する複数のユーザのユーザ端末それぞれにリアルタイムで配信し、該キャラクタをゲームに参加させて、該ゲームを進行させる進行部(ゲーム進行部312)を備えていてもよい。
(項目3) (項目2)において、ログには、マルチプレイゲームにおいてユーザが修めた成績が含まれており、決定部は、マルチプレイゲームに参加する複数のユーザの成績に基づいて、1人の第1ユーザまたは複数の第1ユーザの候補を決定してもよい。
(項目4) (項目2)または(項目3)において、配信装置は、さらに、マルチプレイゲームにおいてユーザが修めた成績を含むログを、マルチプレイゲームに参加するユーザごとにオペレータに提示する第2提示部(表示制御部315)を備え、決定部は、オペレータにより指定されたユーザを、第1ユーザとして決定してもよい。
(項目5) (項目2)から(項目4)までのいずれか1項目において、ゲームを実行するステップでは、マルチプレイゲームを実行している間、ユーザの音声を配信装置に送信する音声通話機能を無効にし、再生するステップでは、ライブ映像を再生している間、音声通話機能を有効にすることが好ましい。
(項目6) (項目1)において、ゲームを実行するステップでは、配信装置から予め配信された、キャラクタの動作を制御する命令文を含むゲームプログラム(131)に基づいて、キャラクタを動作させることにより、ゲームを進行させ、配信部は、プレイ履歴に基づく発話内容をキャラクタに喋らせるように、キャラクタの発話を制御する音声データ、および、キャラクタの動きを制御するモーションデータを含む動作指図データを、第1コンテンツデータとして、第1ユーザのユーザ端末にリアルタイムで配信してもよい。
上述の構成によれば、第1ユーザは、ライブ映像を通じて、ゲーム中では、ゲームプログラムにしたがって動作するしかないキャラクタ、せいぜいユーザのコマンドのしたがってコマンドに対応する決まった動作をするしかないキャラクタが、自分だけのために、自分のプレイ履歴に触れたおしゃべりをしてくれる様子を楽しむことができる。さらに、第1ユーザは、該キャラクタと、リアルタイムで双方向のコミュニケーションをとることが可能となる。このような体験を通じて、第1ユーザのゲームにおける達成感・満足感をより一層格段に向上させることができる。第1ユーザは、また、このような体験をしたいと強く所望するようになる。結果として、第1ユーザに、さらなるゲームプレイを動機付けることができる。
(項目7) (項目6)において、ゲームは、複数のユーザがチームに分かれて、チーム同士で対戦する対戦ゲームであり、ログには、対戦ゲームにおいてユーザが所属するチームの勝敗と、該チームが勝利した場合の該ユーザの勝利への貢献度とが含まれており、決定部は、対戦ゲームで勝利したチームに所属する複数のユーザの貢献度に基づいて、第1ユーザを決定してもよい。
(項目8) (項目7)において、ゲームを実行するステップでは、対戦ゲームを実行している間、ユーザの音声を配信装置に送信する音声通話機能を無効にし、再生するステップでは、ライブ映像を再生している間、音声通話機能を有効にすることが好ましい。
(項目9) (項目1)から(項目8)までのいずれか1項目において、配信装置は、さらに、キャラクタに喋らせる発話内容をオペレータに提示するための台本データを、作成されたプレイ履歴に基づいて生成する第2生成部(台本生成部318)を備えていてもよい。
(項目10) (項目9)において、台本データは、第1ユーザのプレイを褒めるセリフ、および、ゲームがプレイされたことを第1ユーザに感謝するセリフの少なくともいずれか一方を含んでいてもよい。
(項目11) (項目1)から(項目10)までのいずれか1項目において、送信部は、ゲームが終了した直後に招待メッセージを送信し、配信部は、ゲームが終了した直後に、招待メッセージを介して通信が確立された第1ユーザのユーザ端末宛てに、第1コンテンツデータの配信を開始してもよい。
(項目12) (項目1)から(項目10)までのいずれか1項目において、送信部は、第1コンテンツデータの配信開始日時として、ゲームが終了した時点から所定期間経過後の日時が指定された招待メッセージを送信し、配信部は、招待メッセージにおいて指定された配信開始日時に、第1コンテンツデータの配信を開始してもよい。