〔実施形態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のそれぞれと、ネットワーク2を介して接続する。動作指図装置300は、ゲームシステム1に少なくとも1台設けられている。動作指図装置300は、サーバ200が提供するサービスを利用するユーザ端末100の数に応じて、複数台設けられていてもよい。1台のユーザ端末100に対して、1台の動作指図装置300が設けられていてもよい。複数台のユーザ端末100に対して、1台の動作指図装置300が設けられていてもよい。
動作指図装置300(NPC制御装置、キャラクタ制御装置)は、サーバ、デスクトップパソコン、ノートパソコン、または、タブレットなどのコンピュータ、および、これらを組み合わせたコンピュータ群であってもよい。動作指図装置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が備えることに代えて、または、加えて、モーションキャプチャ装置3020およびコントローラ3030がカメラと、測距センサとを有してしてもよい。
以上で説明したとおり、動作指図装置300は、該動作指図装置300に対して情報を入力する機構の一例として、通信IF33、入出力IF34、タッチスクリーン35を備える。必要に応じて、カメラ、および、測距センサをさらに備えていてもよい。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
操作部がタッチスクリーン35で構成されていてもよい。この場合、動作指図装置300は、タッチスクリーン35の入力部351に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信IF33で構成される場合、動作指図装置300は、コントローラ3030から送信される信号(例えば、出力値)をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力IF34で構成される場合、該入出力IF34と接続されるコントローラ3030とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
<ゲーム概要>
本実施形態に係るゲームシステム1が実行するゲーム(以下、本ゲーム)は、一例として、1以上のキャラクタを登場させて、そのキャラクタの少なくとも1つを動作指図データに基づいて動作させるゲームである。該ゲームに登場するキャラクタは、プレイヤキャラクタ(以下、PC)であってもよいし、ノンプレイヤキャラクタ(以下、NPC)であってもよい。PCは、ユーザが直接操作可能なキャラクタである。NPCは、ゲームプログラムおよび動作指図データにしたがって動作する、すなわち、ユーザが直接操作できないキャラクタである。以下では、両者を特に区別する必要がない場合には、総称として、“キャラクタ”を用いる。
一例として、本ゲームは、育成シミュレーションゲームである。具体的には、該育成シミュレーションゲームは、ユーザたる主人公が、キャラクタとの交流を深め、働きかけていくことで、該キャラクタを有名な動画配信者に仕立て上げ、該キャラクタが抱く夢を実現することを目的としている。さらに、該育成シミュレーションゲームは、主人公が、キャラクタとの交流を通じて親密度を高めることを目的とする恋愛シミュレーションゲームの要素を含んでいてもよい。
さらに、本ゲームには、一例として、ライブ配信パートが少なくとも含まれていることが好ましい。ゲームシステム1において、動作指図データが、本ゲームを実行中のユーザ端末100に対して、該ユーザ端末100以外の他の装置から、任意のタイミングで供給される。ユーザ端末100は、該動作指図データを受信したことをトリガにして、該動作指図データを解析する(レンダリングする)。ライブ配信パートとは、ユーザ端末100が、上述の解析された動作指図データにしたがって動作するキャラクタを、ユーザにリアルタイムに提示するパートである。これにより、ユーザは、キャラクタが本当に存在するかのような現実感を覚えることができ、より一層ゲームの世界に没入して本ゲームに興じることができる。
本実施形態では、ゲームは、複数のプレイパートで構成されていてもよい。この場合、1つのキャラクタが、あるパートでは、PCであって、別のパートでは、NPCである、というように、パートごとにキャラクタの性質が異なっていてもよい。
ゲームのジャンルは、特定のジャンルに限られない。ゲームシステム1は、あらゆるジャンルのゲームを実行し得る。例えば、テニス、卓球、ドッジボール、野球、サッカーおよびホッケーなどのスポーツを題材としたゲーム、パズルゲーム、クイズゲーム、RPG(Role-Playing Game)、アドベンチャーゲーム、シューティングゲーム、シミュレーションゲーム、育成ゲーム、ならびに、アクションゲームなどであってもよい。
また、ゲームシステム1において実行されるゲームのプレイ形態は、特定のプレイ形態に限られない。ゲームシステム1は、あらゆるプレイ形態のゲームを実行し得る。例えば、単一のユーザによるシングルプレイゲーム、および、複数のユーザによるマルチプレイゲーム、また、マルチプレイゲームの中でも、複数のユーザが対戦する対戦ゲーム、および、複数のユーザが協力する協力プレイゲームなどであってもよい。
<各装置のハードウェア構成要素>
プロセッサ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の機能的構成>
図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は、ゲームプログラム131、ゲーム情報132およびユーザ情報133を格納する。ゲームプログラム131は、ユーザ端末100、サーバ200および動作指図装置300が実行するゲームプログラムである。ゲーム情報132は、制御部110、210および310がゲームプログラム131を実行する際に参照するデータである。ユーザ情報133は、ユーザのアカウントに関するデータである。記憶部220および320において、ゲーム情報132およびユーザ情報133は、ユーザ端末100ごとに格納されている。記憶部320は、さらに、キャラクタ制御プログラム134を格納する。キャラクタ制御プログラム134は、動作指図装置300が実行するプログラムであり、上述のゲームプログラム131に基づくゲームに登場させるキャラクタの動作を制御するためのプログラムである。
(サーバ200の機能的構成)
制御部210は、記憶部220に格納されたゲームプログラム131を実行することにより、サーバ200を統括的に制御する。例えば、制御部210は、ユーザ端末100に各種データおよびプログラム等を送信する。制御部210は、ゲーム情報もしくはユーザ情報の一部または全部をユーザ端末100から受信する。ゲームがマルチプレイゲームである場合には、制御部210は、ユーザ端末100からマルチプレイの同期の要求を受信して、同期のためのデータをユーザ端末100に送信してもよい。また、制御部210は、必要に応じて、ユーザ端末100および動作指図装置300と通信して、情報の送受信を行う。
制御部210は、ゲームプログラム131の記述に応じて、進行支援部211および共有支援部212として機能する。制御部210は、実行するゲームの性質に応じて、ユーザ端末100におけるゲームの進行を支援するために、図示しないその他の機能ブロックとしても機能することができる。
進行支援部211は、ユーザ端末100と通信し、ユーザ端末100が、本ゲームに含まれる各種パートを進行するための支援を行う。例えば、進行支援部211は、ユーザ端末100が、ゲームを進行させるとき、該ゲームを進行させるために必要な情報をユーザ端末100に提供する。
共有支援部212は、複数のユーザ端末100と通信し、複数のユーザが、各々のユーザ端末100にて互いのデッキを共有し合うための支援を行う。また、共有支援部212は、オンラインのユーザ端末100と動作指図装置300とをマッチングする機能を有していてもよい。これにより、ユーザ端末100と動作指図装置300との間の情報の送受信が円滑に実施される。
(ユーザ端末100の機能的構成)
制御部110は、記憶部120に格納されたゲームプログラム131を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲームプログラム131およびユーザの操作にしたがって、ゲームを進行させる。また、制御部110は、ゲームを進行させている間、必要に応じて、サーバ200および動作指図装置300と通信して、情報の送受信を行う。
制御部110は、ゲームプログラム131の記述に応じて、操作受付部111、表示制御部112、ユーザインターフェース(以下、UI)制御部113、アニメーション生成部114、ゲーム進行部115、解析部116および進捗情報生成部117として機能する。制御部110は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
操作受付部111は、入力部151に対するユーザの入力操作を検知し受け付ける。操作受付部111は、タッチスクリーン15およびその他の入出力IF14を介したコンソールに対してユーザが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部110の各要素に出力する。
例えば、操作受付部111は、入力部151に対する入力操作を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部111は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部111は、連続して検知されていた入力が途切れると、タッチスクリーン15から接触入力が解除されたことを検知する。
UI制御部113は、UIを構築するために表示部152に表示させるUIオブジェクトを制御する。UIオブジェクトは、ユーザが、ゲームの進行上必要な入力をユーザ端末100に対して行うためのツール、または、ゲームの進行中に出力される情報をユーザ端末100から得るためのツールである。UIオブジェクトは、これには限定されないが、例えば、アイコン、ボタン、リスト、メニュー画面などである。
アニメーション生成部114は、各種オブジェクトの制御態様に基づいて、各種オブジェクトのモーションを示すアニメーションを生成する。例えば、アニメーション生成部114は、キャラクタがまるでそこにいるかのように動いたり、口を動かしたり、表情を変えたりする様子を表現したアニメーション等を生成してもよい。
表示制御部112は、タッチスクリーン15の表示部152に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部112は、アニメーション生成部114によって生成されたアニメーションを含むゲーム画面を表示部152に表示してもよい。また、表示制御部112は、UI制御部113によって制御される上述のUIオブジェクトを、該ゲーム画面に重畳して描画してもよい。
ゲーム進行部115は、ゲームを進行させる。本実施形態では、ゲーム進行部115は、本ゲームを、操作受付部111を介して入力されるユーザの入力操作に応じて進行させる。ゲーム進行部115は、ゲームの進行中、1以上のキャラクタを登場させ、該キャラクタを動作させる。ゲーム進行部115は、キャラクタを、事前にダウンロードされたゲームプログラム131にしたがって動作させてもよいし、ユーザの入力操作にしたがって動作させてもよいし、動作指図装置300から供給される動作指図データにしたがって動作させてもよい。
本ゲームが、第1パート、第2パート・・・というように複数のパートに分かれて構成されている場合、ゲーム進行部115は、パートごとの仕様にしたがってゲームを進行させる。
一例を挙げて具体的に説明すると、第1パートが、キャラクタと対話することによってゲーム中の物語が進行するストーリーパートであるとする。この場合、ゲーム進行部115は、以下のようにストーリーパートを進行させる。具体的には、ゲーム進行部115は、キャラクタを、予めダウンロードされたゲームプログラム131または同じく予めダウンロードされた動作指図データ(第1動作指図データ)などにしたがってキャラクタを動作させる。ゲーム進行部115は、操作受付部111が受け付けたユーザの入力操作に基づいて、該ユーザが選んだ選択肢を特定し、該選択肢に対応付けられている動作をキャラクタに行わせる。第2パートが、動作指図装置300から供給された動作指図データに基づいてキャラクタを動作させるライブ配信パートであるとする。この場合、ゲーム進行部115は、動作指図装置300から動作指図データに基づいて、キャラクタを動作させてライブ配信パートを進行させる。
解析部116は、動作指図データを解析して(レンダリングして)、解析結果に基づいてキャラクタを動作させるようにゲーム進行部115に指示する。本実施形態では、解析部116は、動作指図装置300によって供給された動作指図データが通信IF33を介して受信されたことをトリガにして、該動作指図データのレンダリングを開始する。動作指図装置300は、解析結果をゲーム進行部115に伝達し、すぐに動作指図データに基づいてキャラクタを動作させるよう指示する。すなわち、ゲーム進行部115は、動作指図データが受信されたことをトリガにして、該動作指図データに基づいてキャラクタを動作させる。これにより、リアルタイムで動作するキャラクタをユーザに見せることが可能となる。
進捗情報生成部117は、ゲーム進行部115が実行しているゲームの進捗を示す進捗情報を生成し、適時、サーバ200または動作指図装置300に送信する。進捗情報は、例えば、現在表示されているゲーム画面を指定する情報を含んでいてもよいし、ゲームの進捗を、時系列で文字および記号等によって示した進行ログを含んでいてもよい。ゲームシステム1において、サーバ200および動作指図装置300が進捗情報を必要としない実施形態では、進捗情報生成部117は省略されてもよい。
(動作指図装置300の機能的構成)
制御部310は、記憶部320に格納されたキャラクタ制御プログラム134を実行することにより、動作指図装置300を統括的に制御する。例えば、制御部310は、キャラクタ制御プログラム134およびオペレータの操作にしたがって、動作指図データを生成し、ユーザ端末100に供給する。制御部310は、必要に応じて、さらにゲームプログラム131を実行してもよい。また、制御部310は、サーバ200および本ゲームを実行中のユーザ端末100と通信して、情報の送受信を行う。
制御部310は、キャラクタ制御プログラム134の記述に応じて、操作受付部311、表示制御部312、UI制御部313、アニメーション生成部314、進捗模擬部315およびキャラクタ制御部316として機能する。制御部310は、ゲームシステム1において実行されるゲームの性質に応じて、該ゲームに登場するキャラクタを制御するために、図示しないその他の機能ブロックとしても機能することができる。
操作受付部311は、入力部351に対するオペレータの入力操作を検知し受け付ける。操作受付部311は、タッチスクリーン35およびその他の入出力IF34を介したコンソールに対して、オペレータが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部310の各要素に出力する。操作受付部311の機能の詳細は、ユーザ端末100における操作受付部111のそれとほぼ同様である。
UI制御部313は、表示部352に表示させるUIオブジェクトを制御する。
アニメーション生成部314は、各種オブジェクトの制御態様に基づいて、各種オブジェクトのモーションを示すアニメーションを生成する。例えば、アニメーション生成部314は、通信相手となるユーザ端末100上実際に表示されているゲーム画面を再現したアニメーション等を生成してもよい。
表示制御部312は、タッチスクリーン35の表示部352に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部312の機能の詳細は、ユーザ端末100における表示制御部112のそれとほぼ同様である。
進捗模擬部315は、ユーザ端末100から受信するゲームの進捗を示す進捗情報に基づいて、ユーザ端末100におけるゲームの進捗を把握する。そして、進捗模擬部315は、該ユーザ端末100の挙動を動作指図装置300において模擬的に再現することで、オペレータに対して、ユーザ端末100の進捗を提示する。
例えば、進捗模擬部315は、ユーザ端末100で表示されているゲーム画面を再現したものを自装置の表示部352に表示してもよい。また、進捗模擬部315は、ユーザ端末100において、ゲームの進捗を上述の進行ログとして表示部352に表示してもよい。
また、進捗模擬部315の機能の一部は、制御部310がゲームプログラム131を実行することにより実現されてもよい。例えば、まず進捗模擬部315は、進捗情報に基づいて、ユーザ端末100のゲームの進捗を把握する。そして、進捗模擬部315は、ユーザ端末100においてゲームプログラム131基づき現在表示されている、ゲーム画面を、完全にまたは簡略化して自装置の表示部352に再現してもよい。あるいは、進捗模擬部315は、現時点のゲームの進捗を把握し、ゲームプログラム131に基づいて現時点以降のゲーム進行を予測し、予測結果を表示部352に出力してもよい。
キャラクタ制御部316は、ユーザ端末100に表示させるキャラクタの挙動を制御する。具体的には、キャラクタを動作させるための動作指図データを生成し、ユーザ端末100に供給する。例えば、キャラクタ制御部316は、オペレータ(声優など)が、マイク3010を介して入力した音声データに基づいて、制御対象のキャラクタに発言させることを指示する動作指図データを生成する。このようにして生成された動作指図データには、上述の音声データが少なくとも含まれる。また、例えば、オペレータ(モデルなど)が、モーションキャプチャ装置3020を介して入力したモーションキャプチャデータに基づく動きを制御対象のキャラクタに行わせることを指示する動作指図データを生成する。このようにして生成された動作指図データには、上述のモーションキャプチャデータが少なくとも含まれる。また、例えば、オペレータが、コントローラ3030などの入力機構または入力部351などの操作部を介して入力した入力操作の履歴、すなわち、操作履歴データに基づいて、制御対象のキャラクタを動作させることを指示する動作指図データを生成する。このようにして生成された動作指図データには、上述の操作履歴データが少なくとも含まれる。操作履歴データは、例えば、表示部にどの画面が表示されているときに、オペレータが、コントローラ3030のどのボタンをどのタイミングで押したのかを示す操作ログが時系列で整理されている情報である。ここでの表示部は、コントローラ3030と連動した表示部であって、タッチスクリーン35の表示部352であってもよいし、入出力IF34を介して接続された別の表示部であってもよい。あるいは、キャラクタ制御部316は、オペレータが上述の入力機構または操作部を介して入力した入力操作に対応付けられた、キャラクタの動作を指示するコマンドを特定する。そして、キャラクタ制御部316は、該コマンドを入力された順に並べてキャラクタの一連の動作を示すモーションコマンド群を生成し、該モーションコマンド群にしたがってキャラクタを動作させることを指示する動作指図データを生成してもよい。このようにして生成された動作指図データには、上述のモーションコマンド群が少なくとも含まれる。
反応処理部317は、ユーザ端末100からユーザの反応についてフィードバックを受け付けて、これを動作指図装置300のオペレータに対して出力する。本実施形態では、例えば、ユーザ端末100は、上述の動作指図データにしたがってキャラクタを動作させている間、該キャラクタに宛てて、ユーザがコメントを作成することができる。反応処理部317は、該コメントのコメントデータを受け付けて、これを、出力する。反応処理部317は、ユーザのコメントに対応するテキストデータを、表示部352に表示してもよいし、ユーザのコメントに対応する音声データを、図示しないスピーカから出力してもよい。
なお、図2に示すユーザ端末100、サーバ200および動作指図装置300の機能は一例にすぎない。ユーザ端末100、サーバ200および動作指図装置300の各装置は、他の装置が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末100、サーバ200および動作指図装置300以外のさらに別の装置をゲームシステム1の構成要素とし、該別の装置にゲームシステム1における処理の一部を実行させてもよい。
すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末100、サーバ200、動作指図装置300およびそれ以外の別の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
なお、本実施形態では、進捗模擬部315は、省略されてもよい。また、本実施形態では、制御部310は、キャラクタ制御プログラム134の記述に応じて、反応処理部317として機能することができる。
<ゲームの構成>
図3は、本ゲームの基本的なゲーム進行についてその一例を示すフローチャートである。本ゲームは、例えば、2つのゲームプレイパートに分かれている。一例として、第1パートは、ストーリーパート、第2パートは、ライブ配信パートである。本ゲームには、その他にも、ユーザが保有する有価データと引き換えに、ゲームで利用可能なデジタルデータであるゲーム媒体をユーザに獲得させる獲得パートが含まれていてもよい。本実施形態では、各パートのプレイ順序は特に限定されない。図3には、ユーザ端末100が、ストーリーパート、獲得パート、ライブ配信パートの順にゲームを実行した場合が示されている。
ステップS1では、ゲーム進行部115は、ストーリーパートを実行する。ストーリーパートには、例えば、ユーザが操作する主人公とキャラクタとが対話するシーンが含まれる。本実施形態では、一例として、デジタルデータとしてひとまとめにされた「シナリオ」は、キャラクタにまつわる物語の1話分に対応し、サーバ200から供給されて、一旦記憶部120に格納される。ゲーム進行部115は、ストーリーパートにおいて、記憶部120に格納されているシナリオを1つ読み出し、結末を迎えるまで1つシナリオをユーザの入力操作に応じて進行させる。シナリオには、ユーザに選択させる選択肢、該選択肢に対応するキャラクタの応答パターンなどが含まれており、ユーザがどの選択肢を選択するのかによって、1つのシナリオの中でも、異なる結末が得られてもよい。具体的には、ゲーム進行部115は、主人公からキャラクタに対しての働きかけに対応する複数の選択肢をユーザが選択可能に提示し、該ユーザが選択した選択肢に応じて、シナリオを進行させる。
ステップS2では、ユーザが最後までシナリオをプレイすると、ゲーム進行部115は、結末に応じた報酬を該ユーザに獲得させてもよい。報酬は、例えば、ゲーム上で利用可能なデジタルデータであるゲーム媒体としてユーザに提供される。ゲーム媒体は、例えば、キャラクタに身に付けさせることができる服飾品などのアイテムであってもよい。ここで、「報酬をユーザに獲得させる」とは、一例として、ユーザに対応付けて管理されている報酬としてのゲーム媒体のステータスを、使用不可から使用可能に遷移させることであってもよい。あるいは、ゲーム媒体を、ユーザ識別情報またはユーザ端末IDなどに対応付けて、ゲームシステム1に含まれる少なくともいずれかのメモリ(メモリ11、メモリ21、メモリ31)に記憶させることであってもよい。
ステップS3では、ゲーム進行部115が獲得パートを実行する。獲得パートにおいて、ユーザに獲得させるゲーム媒体は、初回ダウンロード時にユーザ端末100に提供されるシナリオとは別の新しいシナリオであってもよい。以下では、前者のシナリオを固定シナリオ、後者のシナリオを獲得シナリオと称する。両者を区別する必要が無い場合は、単に、シナリオと称する。
獲得パートでは、例えば、ゲーム進行部115は、ユーザの有価データを消費することと引き換えに、ユーザがすでに保有している固定シナリオとは別の獲得シナリオをユーザに保有させる。ユーザに獲得させるシナリオは、ゲーム進行部115、または、サーバ200の進行支援部211によって、所定の規則にしたがって決定されてもよい。より具体的には、ゲーム進行部115、または、進行支援部211は、抽選を実行し、複数の獲得シナリオの中からランダムに、ユーザに獲得させるシナリオを決定してもよい。獲得パートは、ストーリーパートおよびライブ配信パートの前後の任意のタイミングで実行されてもよい。
ステップS4では、ゲーム進行部115は、ネットワークを介して外部の装置から、動作指図データを受信したか否かを判定する。動作指図データを外部の装置から受信しないうちは、ゲーム進行部115は、ステップS4のNOから、例えば、ステップS1に戻り、ストーリーパートを実行してもよい。あるいは、ゲーム進行部115は、ステップS3の獲得パートを実行してもよい。一方、動作指図データを外部の装置から受信した場合は、ゲーム進行部115は、ステップS4のYESからステップS5に進む。
ステップS5では、ゲーム進行部115は、ライブ配信パート(第2パート)を実行する。具体的には、ゲーム進行部115は、ステップS4にて受信した動作指図データにしたがってキャラクタを動作させることにより、ライブ配信パートを進行させる。ユーザは、ステップS1では、シナリオにおいて、決め打ちの反応を示すキャラクタと単にUIを介して対話するだけであった。しかし、ユーザは、ライブ配信パートにおいては、外部の装置から送信された動作指図データに基づいてリアルタイムに動作するキャラクタと自由にインタラクティブに対話することができる。より具体的には、解析部116は、ユーザの入力操作の内容に応じて生成された音声データおよびモーションデータを含む動作指図データを動作指図装置300から受信する。そして、ゲーム進行部115は、受信された動作指図データに含まれる音声データに基づいて、キャラクタに発話させるともに、上述のモーションデータに基づいてキャラクタに動きをつける。これにより、上述のユーザの入力操作に対するキャラクタの反応を、ユーザに提示することができる。
<処理概要>
本実施形態では、ユーザ端末100は、ゲームプログラム131に基づいて、ゲームの興趣性を向上させるために以下のステップを実行するように構成されている。具体的には、ユーザ端末100は、ユーザおよび他のユーザのいずれもが操作しないNPCの動作を指定する動作指図データであって、メモリ11に予め記憶されている第1動作指図データに基づいてNPCを動作させ、操作部(入出力IF14、タッチスクリーン15、カメラ17、測距センサ18)を介して入力されたユーザの入力操作に応じて第1パートを進行させるステップと、NPC制御装置(動作指図装置300)から受信した第2動作指図データに基づいてNPCを動作させることにより第2パートを進行させるステップと、を実行する。
上述の構成によれば、ユーザ端末100は、第1パートにおいて、予めダウンロードされた第1動作指図データに基づいてNPCを動作させる。これに加えて、ユーザ端末100は、動作指図装置300から第2動作指図データを受信し、第2パートにおいて、第2動作指図データに基づいてNPCを動作させる。動作指図装置300から受信した第2動作指図データに基づいてNPCを動作させることができるため、NPCの動作は、型にはまらず、その表現は大幅に広がる。そのため、ユーザは、ゲームプレイ中のNPCとの関わり合いを通じて、該NPCがまるで現実の世界にいるかのような現実感を覚えることができる。結果として、ゲームの世界への没入感を高め、該ゲームの興趣性を向上させるという効果を奏する。
<データ構造>
(動作指図データ)
図4は、本実施形態に係るゲームシステム1にて処理される動作指図データのデータ構造の一例を示す図である。一例として、動作指図データは、メタ情報である、「宛先」、「作成元」の各項目と、データの中身である、「キャラクタID」、「音声」、「動き」の各項目とを含んで構成されている。
項目「宛先」には、宛先指定情報が格納されている。宛先指定情報は、該動作指図データが、どの装置宛てに送信されたものであるのかを示す情報である。宛先指定情報は、例えば、ユーザ端末100固有のアドレスであってもよいし、ユーザ端末100が所属しているグループの識別情報であってもよい。ある条件を満たすすべてのユーザ端末100を宛先としていることを示す記号(例えば、「ALL」など)であってもよい。
項目「作成元」には、作成元情報が格納されている。作成元情報は、該動作指図データが、どの装置によって作成されたものであるのかを示す情報である。作成元情報は、例えば、ユーザID、ユーザ端末ID、ユーザ端末の固有アドレスなど、ある特定のユーザを特定可能な、ユーザに関連する情報(以下、ユーザ関連情報)である。作成元情報は、サーバ200または動作指図装置300を指し示すIDまたはアドレスであってもよいし、作成元が、サーバ200または動作指図装置300である場合には、該項目の値を空のままにしておいてもよいし、該項目自体を動作指図データに設けないようにしてもよい。
項目「キャラクタID」には、本ゲームに登場するキャラクタを一意に識別するためのキャラクタIDが格納されている。ここに格納されているキャラクタIDは、該動作指図データがどのキャラクタの動作を指示するためのものであるのかを表している。
項目「音声」には、キャラクタに発現させる音声データが格納されている。項目「動き」には、キャラクタの動きを指定するモーションデータが格納されている。モーションデータは、一例として、モーションキャプチャ装置3020を介して動作指図装置300が取得したモーションキャプチャデータであってもよい。モーションキャプチャデータは、アクターの体全体の動きを追跡したデータであってもよいし、アクターの顔の表情および口の動きを追跡したデータであってもよいし、その両方であってもよい。モーションデータは、他の例として、コントローラ3030を介して動作指図装置300のオペレータが入力した操作によって特定された、キャラクタの一連の動きを指示するモーションコマンド群であってもよい。例えば、コントローラ3030のボタンA、ボタンB、ボタンC、ボタンDにそれぞれ、「右手を上げる」、「左手を上げる」、「歩く」、「走る」のコマンドが割り付けられている場合に、オペレータが、ボタンA、ボタンB、ボタンC、ボタンDを続けて順に押したとする。この場合には、「右手を上げる」、「左手を上げる」、「歩く」、「走る」の各コマンドが上述の順に並べられたモーションコマンド群が、モーションデータとして、「動き」の項目に格納される。なお、本実施形態では、音声データとモーションデータとは同期がとれた状態で、動作指図データに含まれている。
このような動作指図データを受信することにより、ゲーム進行部115は、ゲームに登場するキャラクタを、該動作指図データの作成元の意図通りに動作させることができる。具体的には、ゲーム進行部115は、動作指図データに音声データが含まれている場合には、該音声データに基づいてキャラクタに発話させる。また、ゲーム進行部115は、動作指図データにモーションデータが含まれている場合には、該モーションデータに基づいてキャラクタを動かす、すなわち、モーションデータに基づく動きをするように該キャラクタのアニメーションを生成する。
(ゲーム情報)
図5は、本実施形態に係るゲームシステム1にて処理されるゲーム情報132のデータ構造の一例を示す図である。ゲーム情報132において設けられる項目は、ゲームのジャンル、性質、内容等に応じて適宜決定されるものであり、例示の項目は、本発明の範囲を限定するものではない。一例として、ゲーム情報132は、「プレイ履歴」、「アイテム」、「親密度」、「知名度」および「配信履歴」の各項目を含んで構成されている。これらの各項目は、ゲーム進行部115がゲームを進行させるときに適宜参照される。
項目「プレイ履歴」には、ユーザのプレイ
履歴が格納されている。プレイ履歴は、記憶部120に記憶されているシナリオごとに、ユーザのプレイが完遂しているかどうかを示す情報である。例えば、プレイ履歴は、プレイ初回にダウンロードされた固定シナリオのリストと、獲得パートにおいて後から獲得された獲得シナリオのリストとを含む。それぞれのリストにおいて、シナリオごとに、「プレイ済」、「未プレイ」、「プレイ可」、「プレイ不可」などのステータスが紐付けられている。
項目「アイテム」には、ユーザが保有するゲーム媒体としてのアイテム一覧が格納されている。本ゲームにおいて、アイテムは、一例として、キャラクタに身に付けさせる服飾品である。ユーザは、シナリオをプレイすることによって得られたアイテムを、キャラクタに身に付けさせ、キャラクタの見た目をカスタマイズすることができる。
項目「親密度」には、キャラクタのステータスの1つである親密度が格納されている。新密度は、ユーザのいわば分身である「主人公」を、キャラクタとの仲の良さを示すパラメータである。例えば、ゲーム進行部115は、親密度が高いほど、ゲームをユーザにとって有利に進行させてもよい。例えば、ゲーム進行部115は、シナリオのプレイ結果の良し悪しに応じて、親密度を増減してもよい。一例として、ゲーム進行部115は、ユーザがうまく選択肢を選び、シナリオにおいて迎えられた結末が良い内容であるほど、親密度を多く増分する。反対に、ゲーム進行部115は、ユーザが、シナリオをバッドエンドで迎えた場合には、親密度を減じてもよい。
項目「知名度」には、キャラクタのステータスの1つのである知名度が格納されている。知名度は、キャラクタが、動画配信者として持つ人気の高さおよび認知度などを示すパラメータである。キャラクタの動画配信活動を応援して、該キャラクタの知名度を上げ、該キャラクタの夢を実現することが本ゲームの目的の一つとなる。一例として、一定以上の知名度を達成することができたユーザに対しては、特別なシナリオが報酬として提供されてもよい。
項目「配信履歴」には、ライブ配信パートにおいて、過去にキャラクタからライブ配信された動画、いわゆるバックナンバーの一覧が格納されている。ライブ配信パートにおいて、リアルタイムにPUSH配信されている動画は、そのときにしか閲覧できない。一方、過去の配信分の動画は、サーバ200または動作指図装置300において録画されており、ユーザ端末100からのリクエストに応じて、PULL配信することが可能である。本実施形態では、一例として、バックナンバーは、ユーザが課金することにより、ダウンロードできるようにしてもよい。
<ストーリーパートの画面例>
図6は、ユーザ端末100の表示部152に表示されるクエスト提示画面400の一例を示す図である。ゲーム進行部115は、ストーリーパートにおいて、シナリオを進行中、ゲームプログラム131にしたがって、ユーザに対してクエストを提示する。具体的には、ゲーム進行部115は、主人公とキャラクタとの対話の中で、キャラクタから主人公に対して、クエストに相当する依頼事項を発言させる。このとき、例えば、ゲーム進行部115は、図6に示すクエスト提示画面400を表示部152に表示させてもよい。
「キャラクタに依頼事項を発言させる」という一連の動作を行うキャラクタを提示する方法は特に限定されない。例えば、ゲーム進行部115は、予め記憶部120に記憶されている、依頼事項に対応するテキストデータに基づいて、それを発話するキャラクタを静止画で表示してもよい。具体的には、ゲーム進行部115は、キャラクタ401と、キャラクタ401の発言であることを示す吹き出し402と、吹き出し402内に配置された依頼事項のテキストデータとを含むクエスト提示画面400を表示部152に表示させる。あるいは、ゲーム進行部115は、予め記憶部120に記憶されている、依頼事項を発話するシーンに対応する動作指図データに基づいて、それを発話するキャラクタのアニメーションを表示してもよい。具体的には、ゲーム進行部115は、キャラクタ401を、動作指図データに含まれるモーションキャプチャデータにしたがって動かしつつ、該動作指図データに含まれる音声データをユーザ端末100が備える図示しないスピーカから音声として出力する。
本実施形態では、一例として、ゲーム進行部115は、クエストを、ユーザ端末100の位置登録情報を利用した位置情報ゲームによって実現してもよい。ゲーム進行部115は、ユーザ端末100に備えられている不図示の位置登録システムから、ユーザ端末100の現在位置情報(例えば、住所情報、緯度経度情報など)を取得する。そして、取得した現在位置情報に基づいて、ユーザ端末100がある場所周辺の地図403を生成し、クエスト提示画面400に配置する。地図403を生成する元になる地図データは、地図データを提供する他のサービス提供装置(サーバ)からネットワークを介して取得する。なお、地図データは、予めユーザ端末100の記憶部120に記憶されているものであってもよい。
続いて、ゲーム進行部115は、依頼事項を解決できる事物(以下、目標物)を獲得できる位置(住所、緯度経度など)を決定し、決定した位置に対応する地図上の位置に、目標アイコン404を重畳表示させる。これにより、ユーザは、ユーザ端末100を持って、地図403上の目標アイコン404の位置まで移動すれば、目標物を獲得し、クエストをクリアできると理解することができる。目標物の位置について、ゲーム進行部115は、ランダムに決定してもよいし、シナリオ、クエスト、目標物の内容に応じて予め決定されていてもよい。
ユーザが、目標アイコン404の位置に相当する実際の位置にユーザ端末100を持ち込むと、ゲーム進行部115は、主人公が目標物に到達したと判定し、ユーザに、目標物を獲得させる。ゲーム進行部115は、これにより、クエストがクリアされたと判定する。
本実施形態では、ゲーム進行部115は、クエストがクリアされると、クエスト解決画面500を生成し、表示部152に表示させてもよい。図7は、ユーザ端末100の表示部152に表示されるクエスト解決画面500の一例を示す図である。一例として、クエスト解決画面500は、キャラクタ401を含む。例えば、ゲーム進行部115は、キャラクタ401に、「依頼事項が解決されたことについて主人公に対して礼を言う」という動作を行わせる。ゲーム進行部115は、この動作を、予め記憶されている動作指図データに基づいてキャラクタ401に行わせてもよい。あるいは、ゲーム進行部115は、キャラクタ401の静止画と発言内容に対応するテキストデータ501とをクエスト解決画面500に配置することにより、キャラクタ401がお礼を言っているシーンを再現してもよい。
本実施形態では、ゲーム進行部115は、クエストがクリアされた報酬として、依頼主であるキャラクタ401にまつわる新たな固定シナリオを1つ解放し、ユーザがプレイ可能な状態に遷移させてもよい。具体的には、ゲーム進行部115は、図5に示すプレイ履歴を読み出し、所定の固定シナリオのステータスを「プレイ不可」から「プレイ可」に更新する。
さらに、ゲーム進行部115は、クエストがクリアされたことに基づいて、主人公とキャラクタとの親密度を増分してもよい。ゲーム進行部115は、クエストのプレイ内容(所要時間、移動距離、獲得個数、キャラクタの喜びの度合い、獲得された目標物のレア度など)が良いほど、親密度を上げる構成であってもよい。
ユーザが1以上のクエストをクリアしたり、選択肢を選択したりすることにより、キャラクタとの対話が進み、シナリオが進行していく。シナリオが1つの結末を迎えると、ユーザは、シナリオのプレイを完遂したことになる。
ゲーム進行部115は、シナリオをユーザがプレイしたことの報酬として、アイテムをユーザに獲得させてもよい。アイテムは、例えば、キャラクタ401に身に付けさせる服飾品である。ゲーム進行部115は、ユーザに獲得させるアイテムを所定の規則に基づいて決定する。例えば、ゲーム進行部115は、プレイされたシナリオに予め対応付けられているアイテムをユーザに付与してもよいし、シナリオのプレイ内容(クエストクリアの所要時間、獲得された親密度、よい選択肢を選択したか、など)に応じて決定されたアイテムを付与してもよい。あるいは、ユーザに付与するアイテムは、複数の候補の中からランダムで決定されてもよい。
本実施形態では、ゲーム進行部115は、ユーザに獲得させたアイテムを通知するための報酬画面600を生成し、表示部152に表示させてもよい。図8は、ユーザ端末100の表示部152に表示される報酬画面600の一例を示す図である。一例として、報酬画面600は、獲得されたアイテムのアイコン601、および、該アイテムの名称602を含んでいてもよい。これにより、ユーザは、自身が獲得できたアイテムを確認することができる。また、ゲーム進行部115は、図5に示す項目「アイテム」に格納されているアイテムリストに、上述の獲得されたアイテムを追加する。
<ライブ配信パートの画面例>
ゲーム進行部115は、例えば動作指図装置300などの外部の装置から動作指図データを受信すると、ライブ配信パートにおいて、キャラクタを該動作指図データに基づいて動作させる。例えば、ライブ配信パートにおいて動作指図データに基づいて動作するキャラクタを含む動画再生画面800を生成し、表示部152に表示させる。
図9は、ユーザ端末100の表示部152に表示される動画再生画面800の一例を示す図である。動画再生画面800は、一例として、ストーリーパートで対話相手であったキャラクタ(図示の例では、キャラクタ802)を少なくとも含む。
本実施形態では、ゲーム進行部115は、外部の装置(以下、動作指図装置300とする)から供給された動作指図データに含まれているモーションキャプチャデータが示す動きをキャラクタ802の動きに反映させる。モーションキャプチャデータは、動作指図装置300の設置場所において、モデル702の動きを、モーションキャプチャ装置3020を介して取得したものである。したがって、モデル702の動きが、そのまま、表示部152に表示されるキャラクタ802の動きに反映される。
本実施形態では、ゲーム進行部115は、動作指図装置300から供給された動作指図データに含まれている音声データ801を、キャラクタ802が発した音声として、キャラクタ802の動きと同期して出力する。音声データは、動作指図装置300の設置場所において、声優701の音声700を、マイク3010を介して取得したものである。したがって、声優701が発した音声700に対応する音声データ801が、そのまま、ユーザ端末100のスピーカから出力される。
上述の構成によれば、動作指図装置300の設置場所において、実在する声優701およびモデル702の音声および動きが、そのまま、キャラクタ802の音声および動きに反映される。このような動作を行うキャラクタ802を見て、ユーザは、キャラクタ802に対して、まるで、現実の世界に存在するかのような現実感を覚えることができ、ゲームの世界に没入することができる。
さらに、本実施形態では、ゲーム進行部115は、ストーリーパート(第1パート)におけるユーザの入力操作に基づいて、ストーリーパートのプレイ結果を決定してもよい。そして、ゲーム進行部115は、ライブ配信パート(第2パート)において、動作指図データに基づいて動作させるキャラクタを、該プレイ結果に応じた表示態様にて、表示部152に表示させてもよい。
一例として、ゲーム進行部115は、これまでにプレイされたストーリーパートにおいて、上述のキャラクタに身に付けさせることが可能なアイテムが獲得されていれば、そのアイテムのオブジェクトをキャラクタ802のオブジェクトに合成することが好ましい。上述の構成によれば、ユーザがストーリーパートをプレイすることにより獲得したアイテムを、ライブ配信パートで動作するキャラクタ802の服飾品に反映させることができる。例えば、図8に示すとおり、ストーリーパートにおいてシナリオをプレイしたことによって服飾品としてのアイテム(例えば、うさみみバンド)が獲得されている。この場合には、ゲーム進行部115は、図5に示すゲーム情報132から、該服飾品の情報を読み出し、該アイテムのオブジェクト(図示の例では、服飾品803)を、キャラクタ802に合成する。
これにより、ユーザは、キャラクタ802により愛着を感じてライブ配信パートをより一層楽しむことができる。さらに、キャラクタ802の服飾品をバージョンアップさせたいというユーザの意欲を育むことができ、結果として、ストーリーパートをプレイする動機付けを強化することが可能となる。
さらに、本実施形態では、ゲーム進行部115は、キャラクタ802の動作に反応して、キャラクタ802に宛てたコメントを入力することが可能であってもよい。一例として、ゲーム進行部115は、動画再生画面800に、コメント入力ボタン804を配置する。ユーザは、コメント入力ボタン804にタッチして、コメントを入力するためのUIを呼び出し、該UIを操作して、キャラクタ802に宛てたコメントを入力する。該UIは、予め準備されたいくつかのコメントの中からユーザが所望のコメントを選択するためのものであってもよい。該UIは、ユーザが文字を編集してコメントを入力するためのものであってもよい。該UIは、ユーザが音声にてコメントを入力するためのものであってもよい。
<処理フロー>
図10は、ゲームシステム1を構成する各装置が実行する処理の流れを示すフローチャートである。
ステップS101にて、ユーザ端末100のゲーム進行部115は、ユーザからゲーム開始の入力操作を受け付けると、サーバ200にアクセスし、ログインの要求を行う。
ステップS102にて、サーバ200の進行支援部211は、ユーザ端末100のステータスがオンラインであることを確認し、ログインを受け付けた旨応答する。
ステップS103にて、ゲーム進行部115は、必要に応じて、サーバ200と通信しながら、ユーザの入力操作に応じてゲームを進行させる。ゲーム進行部115は、ストーリーパートを進行させてもよいし、新たなシナリオを獲得するための獲得パートを進行させてもよい。
ステップS104にて、進行支援部211は、必要に応じて、ユーザ端末100に対して必要な情報を提供するなどして、ユーザ端末100におけるゲーム進行を支援する。
ステップS105にて、ライブ配信時刻になると、サーバ200の共有支援部212は、ステップS105のYESからステップS106に進む。ライブ配信時刻は、例えば、ゲームマスターによって予め決定されており、サーバ200および動作指図装置300において管理されている。また、ユーザ端末100に対して、ライブ配信時刻は予め通知されていてもよいし、実際にライブ配信時刻になるまで秘密にされていてもよい。前者の場合、ユーザに対して安定的にライブ配信を供給することができ、後者の場合、サプライズ配信として、ユーザに特別な付加価値が付いたライブ配信を供給することが可能となる。
ステップS106にて、共有支援部212は、ライブ配信を受ける権利がある1以上のユーザ端末100を探索する。ライブ配信を受けられる条件は、適宜ゲームマスターが設定すればよいが、少なくとも、本ゲームのアプリケーションをインストールしていること、および、ライブ配信時刻時点でオンラインであることなどが条件として挙げられる。本実施形態では一例として、ライブ配信時刻時点でオンラインである、すなわち、本ゲームのアプリケーションを起動しているユーザ端末100を、ライブ配信を受ける権利があるユーザ端末100として探索する。あるいは、共有支援部212は、さらに、ライブ配信を受けるための対価を支払い済みのユーザが所有するユーザ端末100であることを条件に加えてもよい。あるいは、共有支援部212は、事前に、上述のライブ配信時刻において、ライブ配信を受ける旨の予約を行った特定のユーザ端末100を、ライブ配信を受ける権利があるユーザ端末100として探索してもよい。
ステップS107にて、共有支援部212は、検出した1以上のユーザ端末100を動作指図装置300に通知する。例えば、共有支援部212は、ユーザ端末100の端末ID、ユーザ端末100の所有者であるユーザのユーザID、および、ユーザ端末100のアドレスなどを動作指図装置300に通知してもよい。
一方、ステップS108にて、動作指図装置300のキャラクタ制御部316は、ライブ配信時刻になると、ステップS108のYESからステップS109〜S110に進む。ステップS109〜S110は、いずれが先に実行されても構わない。
ステップS109にて、キャラクタ制御部316は、声優などのアクターがマイク3010を介して入力した音声を音声データとして取得する。
ステップS110にて、キャラクタ制御部316は、モデルなどのアクターがモーションキャプチャ装置3020を介して入力した動きをモーションキャプチャデータとして取得する。
ステップS111にて、キャラクタ制御部316は、動作指図データ(第2動作指図データ)を生成する。具体的には、キャラクタ制御部316は、上述のライブ配信開始時刻に動画を配信させるキャラクタを特定し、該キャラクタのキャラクタIDを、動作指図データの「キャラクタID」の項目に格納する。いつの時刻にどのキャラクタの動画を配信するのかは、ゲームマスターによって予めスケジューリングされ、動作指図装置300に登録されていてもよい。あるいは、動作指図装置300のオペレータが、どのキャラクタの動作指図データを作成するのかを動作指図装置300に対して予め指定しておいてもよい。キャラクタ制御部316は、ステップS109で取得した音声データを、動作指図データの「音声」の項目に格納する。キャラクタ制御部316は、ステップS110で取得したモーションキャプチャデータを、動作指図データの「動き」の項目に格納する。キャラクタ制御部316は、音声データとモーションキャプチャデータとが同期するように、音声データとモーションキャプチャデータとを紐付ける。キャラクタ制御部316は、ステップS107にてサーバ200より通知された1以上のユーザ端末100が宛先となるように、これらのユーザ端末100のグループのグループ識別情報、または、1台のユーザ端末100のアドレスを、宛先指定情報として、動作指図データの「宛先」の項目に格納する。
ステップS112にて、キャラクタ制御部316は、通信IF33を介して、上述のように生成した動作指図データを、宛先として指定した各ユーザ端末100に送信する。キャラクタ制御部316は、アクターが声を出したり、動いたりして得られた音声データおよびモーションキャプチャデータを、取得してすぐさま動作指図データへとレンダリングし、リアルタイムで、各ユーザ端末100に配信することが望ましい。
ステップS113にて、ユーザ端末100の解析部116は、通信IF13を介して、上述の動作指図データを受信する。例えば、解析部116は、動作指図装置300またはサーバ200から予めライブ配信すると予告された時刻に、動作指図データを受信してもよい。
ステップS114にて、解析部116は、受信したことをトリガにして、受信した動作指図データを解析する。
ステップS115にて、ゲーム進行部115は、上述の動作指図データを受信したときに、ライブ配信パートを実行していなければ、該ライブ配信パートを開始する。このとき、ゲーム進行部115は、別のパートを実行していれば、該パートの進行を中断してから、ライブ配信パートを開始する。ここで、ゲーム進行部115は、ライブ配信が開始されたために実行中のパートを一時中断する旨のメッセージを表示部152に出力し、該パートの進捗を記憶部120に保存しておくことが望ましい。なお、上述の動作指図データを受信した時点で、すでに、ライブ配信パートを実行していれば、ゲーム進行部115は、ステップS115を省略してもよい。この場合、ゲーム進行部115は、動作指図データ(すなわち、キャラクタがライブ配信する体の動画)の配信が開始された旨のメッセージを表示部152に出力してもよい。
ステップS116にて、ゲーム進行部115は、解析部116によって解析された動画指図データに基づいてキャラクタを動作させることにより、ライブ配信パートを進行させる。具体的には、ゲーム進行部115は、図9に示す動画再生画面800などを表示部152に表示させる。ゲーム進行部115は、声優701、モデル702などのアクターが動作指図装置300の設置場所で、声を出したり、動いたりしているのとほぼ同時に、リアルタイムで、その音声および動きを、動画再生画面800におけるキャラクタ802の発言および動きに反映させる。解析部116およびゲーム進行部115は、リアルタイムの動画のレンダリングおよび再生を、動作指図装置300から動作指図データを継続して受信し続けている間継続する。具体的には、ゲーム進行部115は、ユーザから何の入力操作も受け付けず、動作指図データが受信されている間は、ステップS117のNOからステップS113に戻り、以降の各ステップを繰り返す。
ステップS117にて、動作指図データに基づいてキャラクタが動作している間に、操作受付部111が、ユーザから入力操作を受け付けると、ゲーム進行部115は、ステップS117のYESからステップS118に進む。例えば、操作受付部111は、動画再生画面800におけるコメント入力ボタン804に対する入力操作を受け付ける。
ステップS118にて、ゲーム進行部115は、上述の入力操作に応じて生成したコメントデータを動作指図装置300に送信する。具体的には、ゲーム進行部115は、選択されたコメントのコメントIDをコメントデータとして送信してもよい。あるいは、ゲーム進行部115は、ユーザにより入力された文章のテキストデータをコメントデータとして送信してもよい。あるいは、ゲーム進行部115は、ユーザにより入力された音声の音声データをコメントデータとして送信してもよい。あるいは、ゲーム進行部115は、ユーザにより入力された音声を認識し、テキストデータに変換したものをコメントデータとして送信してもよい。
ステップS119にて、動作指図装置300の反応処理部317は、通信IF33を介して、ユーザ端末100から送信されたコメントデータを受信する。
ステップS120にて、反応処理部317は、受信したコメントデータを、動作指図装置300に出力する。例えば、反応処理部317は、コメントデータに含まれるテキストデータを表示部352に表示する。これにより、オペレータは、自分たちが動かしたキャラクタに対して、ユーザがどのような反応を示したのかを示すフィードバックを受けることが可能となる。そして、オペレータは、このフィードバックに合わせて、さらなるキャラクタの動作を決定することができる。すなわち、動作指図装置300は、ステップS109に戻り、音声データおよびモーションキャプチャデータの取得を継続し、動作指図データをユーザ端末100に提供し続ける。ユーザ端末100は、自端末における入力操作の内容が動作指図装置300によって受信された後、該動作指図装置300から送信された動作指図データを受信する。具体的には、ユーザ端末100は、キャラクタの発言内容に対応する音声データ、および、キャラクタの動きに対応するモーションキャプチャデータなどが含まれた動作指図データを受信する。そして、ユーザ端末100は、継続的に、該動作指図データに基づいて、キャラクタを動作させる。結果として、ユーザに、キャラクタとのリアルタイムでインタラクティブなやりとりを体験させることが可能となる。なお、モーションキャプチャデータに代えて、キャラクタの動作を指示する1以上のコマンドが、動作指図装置300のオペレータが指示した順に並んでいるモーションコマンド群が、ユーザ端末100によって受信されてもよい。
〔実施形態2〕
<ゲーム概要>
実施形態2に係るゲームシステム1が実行するゲーム(以下、本ゲーム)は、一例として、全国各地にキャラクタを配置する位置情報ゲームの要素と、恋愛シミュレーションゲームの要素とを含んでいる。ここで、キャラクタとしては、例えば、呪いに掛けられ囚われの身となっているモンスターと、アクターの発声や動作に対応して声を発したり動いたりするアバターとを想定する。
なお、アバターは、実施形態1におけるキャラクタと同義であり、当該アバターの発話や動作の制御は、実施形態1におけるキャラクタの発話や動作の制御と同じである。なお、キャラクタは、オブジェクトと呼んでもよい。
ゲームが開始されると、ユーザ端末100は、位置登録システムを利用してユーザ端末100の現在位置情報(例えば、住所情報、緯度経度情報など)を特定し、当該現在位置情報に基づいて、ユーザ端末100がある場所周辺の地図を生成する。地図を生成するに際しては、現在位置情報をサーバ200に送信することにより、当該現在位置の周辺の地図データの転送を要求する。サーバ200は、地図データを提供する他のサービス提供装置(サーバ)からネットワークを介してユーザ端末100の周辺の地図データを取得するとともに、ユーザ端末100の周辺に配置されているキャラクタの位置情報とキャラクタIDとを取得し、当該位置情報および当該キャラクタIDをユーザ端末100の周辺の地図データとともにユーザ端末100に送信する。
ユーザ端末100は、当該地図データに基づく地図をタッチスクリーン15に表示し、当該地図データとともに受信したおよびキャラクタIDに基づいて、地図上にキャラクタに対応するアイコンを重畳させて表示する。図11(A)は、ユーザ端末100が所在する位置から所定範囲内の地図と、当該地図上に配置されているキャラクタに対応するアイコンと、ユーザ端末100の位置を示す指標とが表示されている例を説明するための図である。地図としては、ユーザ端末100が所在する現在位置を中心として、所定領域内の地図が表示される。キャラクタに対応するアイコンは、キャラクタIDから特定されて、キャラクタの位置情報に対応する位置に表示される。指標は、地図の中心位置に表示される。
図11(A)では、例えば、ユーザ端末100が特定の公園内に所在する場合を例示しており、公園内の歩行路が描かれた地図1001が表示され、アイコンIC1〜IC3が当該地図1001に重畳して表示され、指標US1が当該地図1001(タッチスクリーン15の表示領域)の中心位置に重畳して表示されている。ここで、アイコンIC1およびIC2の各々は、モンスターを模した画像であることから、モンスターが当該アイコンの位置に配置されていることを示している。また、アイコンIC3は、女性を模した画像であることから、アバターが当該アイコンの位置に配置されていることを示している。
ユーザ端末100が実際に所定量(例えば5m)移動すると、ユーザ端末100は、現在位置情報を再度サーバ200に送信して、ユーザ端末100の周辺のキャラクタの位置情報およびキャラクタIDと、ユーザ端末100の周辺の地図データとを取得する。タッチスクリーン15には、当該地図データに基づく地図が表示され、キャラクタの位置情報およびキャラクタIDに基づくアイコンが、地図上に重畳して表示される。即ち、タッチスクリーン15上の地図およびアイコンは、ユーザ端末100の移動に伴ってスクロールされる。
ユーザ端末100の位置周辺の所定範囲内(例えば当該ユーザ端末100を中心とする3mの範囲内)にキャラクタが配置されていれば、ユーザ端末100は、当該キャラクタに対応するアイコンをハイライト表示する。即ち、当該所定範囲内のキャラクタに対応するアイコンは、当該所定範囲外のキャラクタに対応するアイコンと異なる態様で表示されることにより、所定範囲外のキャラクタに対応するアイコンと区別可能に表示される。
図11(B)では、例えば、ユーザ端末100がアイコンIC1に対応するキャラクタから3m以内の距離に近づいた場合を例示しており、ここで、アイコンIC1は、ハイライト表示される。
地図上のアイコンのうち、ハイライトされているアイコンがタップされると、ユーザ端末100は、サーバ200に対して当該アイコンが表示されている位置のパノラマ画像(所定の画像)の転送を要求する。サーバ200は、ユーザ端末100が存在する位置における360°のパノラマ画像(全方位の写真画像)を、様々な場所で撮影されたパノラマ画像を提供する他のサービス提供装置(サーバ)から取得し、取得したパノラマ画像をユーザ端末100に送信する。なお、パノラマ画像は、360°の全方位の写真画像に限らず、180°など全方位ではない写真画像であってもよい。また、写真画像に限らず動画であってもよい。
このため、地図1001が表示されている場合において、ユーザ端末100がアイコンIC1の位置の周辺にある状態(図11(B)の状態)で、アイコンIC1に対するタップ操作が行われたときは、ユーザ端末100の位置における360°のパノラマ画像がサーバ200からユーザ端末100に転送される。
ユーザ端末100は、パノラマ画像を受信すると、図12に示す天球状(球体状)の仮想空間CS1を記憶部120に生成し、当該天球の内側(内周面)に、サーバ200から取得したパノラマ画像(360°画像)を貼り付ける。これによって、仮想空間データが生成される。アバターまたはモンスターは360°のパノラマ画像を背景に動く。仮想空間CS1の中心には仮想カメラCM1が配置され、当該仮想カメラCM1の視界領域は、ゲーム開始時に、コントローラ1020が有する加速度センサの出力に基づいて初期設定される。
具体的には、ユーザ端末100が備えるカメラ17の向きの実際の風景に対応するパノラマ画像がタッチスクリーン15に表示されるように、仮想カメラCM1の視界領域が設定される。これにより、仮想カメラCM1の視界領域は、タッチスクリーン15の表示領域の向きと関連付けられる。タッチスクリーン15には、仮想カメラCM1の視界領域に対応する一部のパノラマ画像が表示される。
また、タッチスクリーン15の表示領域をどの方向に向けても、仮想空間CS1内に貼付けられているパノラマ画像のうち視界領域に対応するパノラマ画像がタッチスクリーン15に表示され、さらにはアバターやモンスターを視認することができるため、ゲームに対する没入感の向上が図られるとともに、ゲームの興趣を向上させることができる。
ユーザ端末100の姿勢や向きが変化すると、加速度センサの出力に基づいて当該変化が特定される。仮想カメラCM1の視界領域ひいてはタッチスクリーン15に表示されるパノラマ画像は、当該変化に基づいて更新される。その結果、タッチスクリーン15の表示領域の裏面側にユーザ端末100が備えるカメラ17が取付けられているときには、当該カメラ17により撮影した画像をタッチスクリーン15の表示領域に表示しているかのような印象をユーザに抱かせることができる。
タップされたアイコンに対応するキャラクタがモンスターであれば、ユーザ端末100は、タッチスクリーン15の表示領域の中央位置(所定位置)において照準画像(基準画像)を表示した上で、仮想空間CS1のいずれか(どこか)に当該モンスターを配置する。このとき、仮想空間データは、パノラマ画像とモンスターとによって規定される。
当該モンスターは、当初、仮想空間CS1のうち、仮想カメラCM1の視界領域の外側となる位置に配置され、視界領域の内側に向けて移動するように制御される。
この結果、ユーザ端末100の姿勢や向きを変化させることによりモンスターを捜すといった面白みを提供できるとともに、ユーザ端末100の姿勢や向きを積極的に変化させずともモンスターをタッチスクリーン15内に表示することができる。図13(A)および図13(B)は、アイコンIC1がタップされた後であって、モンスターMST1が視界領域内に移動されたときの表示例を示している。図13(A)および図13(B)においては、パノラマ画像1101にモンスターMST1が重畳表示され、タッチスクリーン15の表示領域の中央位置において照準画像AM1が表示されている。
モンスターを呪いから開放するための開放条件は、モンスター画像を照準画像AM1内に所定時間継続して表示させることにより成立する。このとき、ユーザ端末100は、サーバ200に対して当該モンスターの開放を要求する。サーバ200は、当該要求に応じて、当該モンスターの位置情報とキャラクタIDとを、いずれのユーザに対しても取得不可能とする。なお、モンスター画像を照準画像AM1内に所定時間継続して表示させることにより、当該モンスターをユーザが保有するキャラクタとして付与するものであってもよい。
タッチスクリーン15上でタップされたアイコンに対応するキャラクタがアバターであれば、ユーザ端末100は、当該アバターを仮想空間CS1の中心付近に配置する。このとき、仮想空間データは、パノラマ画像とアバターとによって規定される。この結果、アイコンIC3がタップされると、タッチスクリーン15には、仮想カメラCM1の視界領域に応じて、図14(A)または図14(B)に示すような画像が表示される。図14(A)によれば、パノラマ画像1201にアバターAVT1が重畳される。この状態から例えば仮想カメラCM1の視界領域が左にパンニングされると、仮想空間CS1のうち視界領域が左側に移動するために、タッチスクリーン15に表示される画像は、仮想空間CS1に生成されている画像のうち図14(A)で示した画像の左側の画像(例えば図14(B))に更新される。
なお、パノラマ画像1201にアバターAVT1を重畳する処理は、実施形態1においてキャラクタを含む動画再生画面800を生成する処理(図9参照)と実質的に同じである。
タップされたアイコンに対応するキャラクタがアバターである場合、サーバ200は、ライブ配信を動作指図装置300に要求する。動作指図装置300は、アクターの音声および動きに基づいて動作指図データを生成し、当該動作指図データをユーザ端末100に送信する。ユーザ端末100は、当該動作指図データを解析することにより、アクターの音声および動きをアバターの発言および動きに反映させる。
ユーザは、ライブ配信中のアバターの発言や動きに共感したときなどに、投げ銭に対応する操作を行うことで、アバターを応援することができる。ユーザ端末100は、当該投げ銭に対応する操作が行われたとき、評価パラメータの更新をサーバ200に要求する。投げ銭に対応する操作とは、例えば、ユーザがゲームプレイで得られるアイテムをライブ配信中に消費する操作などをいう。この場合、アバターを動作させるモデル702、声優701の側では、どのユーザが、投げ銭に対応する操作を行ってアイテムを消費したかをモニタ等で確認することができる。これにより、アバターを動作させるモデル702および声優701と、ユーザとの相互作用を実現することができる。この他に、投げ銭に対応する操作とは、ユーザが課金処理により得たアイテムを消費して、ユーザ端末100に表示されるアイコンを選択する操作なども含み得る。この場合、各アイコンは、花束などを模した画像であり、それぞれのアイコンを購入するために必要なアイテムの消費量が異なることとしてもよい。ユーザに選択されたアイコンは、アバターを動作させるモデル702および声優701の側の装置のモニタに表示される。このような演出が行われつつ、評価パラメータが更新される。サーバ200は、ライブ配信中のアバターに関連付けられている評価パラメータを管理しており、ユーザ端末100からの要求に応じて当該評価パラメータを更新するととも、更新後の評価パラメータを動作指図装置300に送信する。
動作指図装置300は、通信IF33を介して、サーバ200から送信された評価パラメータに対応する数値を表示部352に表示する。動作指図装置300のオペレータは、自分たちが動かしたアバターに対して、ユーザがどのような反応を示したのかを示すフィードバックを受けることが可能となる。
ライブ配信中にユーザからコメントが入力されると、ユーザ端末100は、当該コメントに対応するコメントデータを動作指図装置300に送信する。動作指図装置300は、ユーザ端末100から送信されたコメントデータに対応するコメントを表示部352に表示する。これにより、オペレータは、自分たちが動かしたアバターに対して、ユーザがどのような反応を示したのかを示すフィードバックを受けることが可能となる。
<処理フロー>
図15および図16は、ゲームシステム1を構成する各装置が実行する処理の流れを示すフローチャートであり、図17は、当該フローチャートの処理と並列してユーザ端末100が実行する表示制御処理の流れを示すフローチャートである。
図15に示すステップS201において、ユーザ端末100のゲーム進行部115は、ユーザから位置情報ゲームを開始するための入力操作を受け付けると、位置登録システムからユーザ端末100の現在位置を取得し、当該ユーザ端末100の位置を中心とする周辺の地図を生成する元になる地図データの転送をサーバ200に要求する。当該要求には、ユーザ端末100のアドレスと、当該現在位置を特定可能な位置情報とが含まれる。
ステップS213において、サーバ200の進行支援部211は、当該位置情報に基づいて、当該地図を生成する元になる地図データを、ネットワークを介して、他のサービス提供装置(サーバ)から取得する。なお、地図データが記憶部220に記憶されているときには、進行支援部211は、当該記憶部220から取得するようにしてもよい。
全国各地には、複数種類のキャラクタが予め配置されており、記憶部220には、当該複数種類のキャラクタ各々の位置を特定可能な位置情報と当該キャラクタのキャラクタIDとが記憶されている。進行支援部211は、ステップS214において、ユーザ端末100の周辺に配置されているキャラクタの位置を特定可能な位置情報と当該キャラクタのキャラクタIDとを取得し、当該位置情報および当該キャラクタIDを当該地図データとともに要求元のユーザ端末100に送信する。ユーザ端末100の周辺に配置されているキャラクタは、ユーザ端末100のタッチスクリーン15に表示可能となる所定領域の地図内に配置されているために、タッチスクリーン15に表示可能となるキャラクタである。
ステップS202において、表示制御部112は、当該地図データに基づいて模式化された地図をタッチスクリーン15に表示し、当該地図データとともに送信された位置情報およびキャラクタIDに基づいて、地図上にアイコンを配置する。具体的には、表示制御部112は、当該キャラクタIDに対応するキャラクタ画像が描かれたアイコンを生成し、当該アイコンを当該位置情報に対応する位置に表示する。また、タッチスクリーン15に表示される地図は、ユーザ端末100の位置を中心とする所定領域を表し、当該地図の中心にはユーザ端末100の位置を示す指標が重畳される。この結果、例えば図11(A)に示す地図1001がタッチスクリーン15に表示され、アイコンIC1〜IC3および指標US1が当該地図1001に重畳される。
ステップS203において、ゲーム進行部115は、ユーザ端末100の位置周辺の所定範囲内(例えば当該ユーザ端末100を中心とする3mの範囲内)にキャラクタが配置されているか否かを、ステップS202で受信した位置情報に基づいて判定する。当該所定範囲内にキャラクタが配置されていると判定されなかったときは、ステップS206に進み、ユーザ端末100が所定量移動したか否かを、位置登録システムに基づいて判定する。当該ユーザ端末100が所定量移動したと判定されなかったときはステップS203に戻り、当該ユーザ端末100が所定量移動したと判定されたときはステップS201に戻る。この結果、タッチスクリーン15上の地図およびアイコンは、ユーザ端末100の移動に伴ってスクロールされる。
ステップS203において、ユーザ端末100の位置周辺の所定範囲内にキャラクタが配置されていると判定されたときは、ステップS204に進み、当該キャラクタに対応するアイコンをハイライト表示する。このため、ユーザ端末100がアイコンIC1に対応するキャラクタから3m以内の距離に近づくと、地図1001およびアイコンIC1は、図11(B)に示すように表示される。
ステップS205において、ゲーム進行部115は、ステップS204によりハイライトされたアイコンに対するタップ操作が行われたか否かを、タッチスクリーン15に対する入力操作に基づいて判定する。当該タップ操作が行われたと判定されなかったときはステップS206に進み、当該タップ操作が行われたと判定されたときはステップS207に進む。
ステップS207において、ゲーム進行部115は、サーバ200にパノラマ画像の転送を要求する。当該要求には、ユーザ端末100のアドレスと位置情報とが含まれる。ステップS215において、進行支援部211は、当該位置情報に基づいて、360°のパノラマ画像を、ネットワークを介して、他のサービス提供装置(サーバ)から取得する。なお、当該パノラマ画像が記憶部220に記憶されているときは、進行支援部211は、当該記憶部220から取得してもよい。
ステップS216において、進行支援部211は、当該パノラマ画像を要求元のユーザ端末100に送信する。ステップS208において、表示制御部112は、仮想空間CS1を表す天球の内周面に当該パノラマ画像を貼り付ける(図12参照)。即ち、ステップS208では、球体状の仮想空間CS1を記憶部120に生成して、球体の内側に360度画像を貼り付ける。これにより、仮想空間データが生成される。
ステップS209において、ゲーム進行部115は、タップされたアイコンに対応するキャラクタがモンスターであるか否かを、当該アイコンに対応するキャラクタIDに基づいて判定し、当該キャラクタがモンスターであると判定されたときは、ステップS210に進む。ステップS210において、ゲーム進行部115は、タップされたアイコンに対応するキャラクタ即ちモンスターを当該キャラクタIDに基づいて生成し、当該モンスターを、仮想空間CS1を表す天球の内側のうち仮想カメラCM1の視界領域の外側の位置に配置する。
図17に示す表示制御処理は、図15および図16に示す処理と並列して実行されるところ、仮想カメラCM1の視界領域は、図17のステップS301において初期設定され、ステップS307の処理によって更新される。ステップS210では、こうして規定される視界領域の外側の位置にモンスターを配置する。
なお、モンスターの初期位置は、仮想カメラCM1の視界領域に応じて決定されるものであれば、例えば、仮想カメラCM1の視界領域の外側の位置からランダムに決定するものであってもよく、当該視界領域の外側の予め定められている位置(例えば、視界領域と正反対の領域内の中央位置など)であってもよい。
なお、モンスターの初期位置は、仮想カメラCM1の視界領域のうち照準画像内となる位置以外であれば、視界領域内の位置であってもよい。また、モンスターの初期位置は、仮想カメラCM1の視界領域にかかわらず、仮想空間CS1内における所定位置に配置するようにしてもよい。所定位置は、例えば、仮想空間CS1内における複数の位置(例えば、方角として真北に相当する位置、真南に相当する位置、真東に相当する位置、真西に相当する位置など)を含み、視界領域にかかわらず複数の位置からランダムに決定される位置であってもよい。
ステップS211において、ゲーム進行部115は、当該モンスターについて開放条件が成立したか否かを、各種ゲームパラメータに基づいて判定する。当該開放条件は、照準画像がモンスターに合わせられた時間が所定時間に亘り継続したときに成立する。開放条件を成立させる所定時間は、モンスターの種類にかかわらず一定時間であってもよく、モンスターの種類(レア度合い等)に応じて異なるように定められているものであってもよい。当該開放条件が成立したと判定されなかったときはステップS211に戻り、当該開放条件が成立したと判定されたときはステップS212に進む。
ステップS212において、ゲーム進行部115は、当該モンスターの開放をサーバ200に要求する。当該要求には、当該モンスターに対応するキャラクタIDと、当該モンスターの位置情報とが含まれる。
ステップS217において、進行支援部211は、ユーザ端末100の位置周辺の所定範囲内に配置されているキャラクタはモンスターであるか否かを、ステップS213で受信したユーザ端末100の位置情報と、ステップS214で取得したキャラクタの位置情報およびキャラクタIDとに基づいて判定する。ユーザ端末100が存在する位置のキャラクタはモンスターであると判定されたときは、ステップS218に進む。
ステップS218において、進行支援部211は、ステップS217における判定対象となったキャラクタ即ちモンスターを、ゲーム進行部115から受信した要求に応じて開放する。この結果、当該モンスターの位置情報およびキャラクタIDは、以降のステップS214において取得不可能となる。
ステップS209において、タップされたアイコンに対応するキャラクタがモンスターであると判定されなかったときは(即ち、当該キャラクタがアバターであると判定されたときは)、ステップS219に進む。ステップS219において、ゲーム進行部115は、当該アバターをサーバ200から受信したキャラクタIDに基づいて生成し、仮想空間CS1を表す天球の予め定められた位置(例えば、中心付近)に配置する。ステップS219の処理が完了すると、ステップS220に進む。
一方、動作指図装置300のキャラクタ制御部316は、ステップS229において、ライブ配信時刻になったか否かを判定し、当該ライブ配信時刻になるとステップS230に進む。ステップS230において、キャラクタ制御部316は、声優などのアクターがマイク3010を介して入力した音声を音声データとして取得する。ステップS231において、キャラクタ制御部316は、モデルなどのアクターがモーションキャプチャ装置3020を介して入力した動きをモーションキャプチャデータとして取得する。
図15に示すステップS217において、ユーザ端末100が存在する位置のキャラクタはモンスターであると判定されなかったとき(即ち、当該キャラクタはアバターであると判定されたとき)、進行支援部211は、図16のステップS227に進み、ライブ配信を動作指図装置300に要求する。当該要求には、ステップS214で取得したキャラクタIDと、ステップS215において受信したユーザ端末100のアドレスとが含まれる。
ステップS232において、キャラクタ制御部316は、動作指図データを生成する。具体的には、キャラクタ制御部316は、サーバ200から受信した要求に含まれるキャラクタIDを、動作指図データの「キャラクタID」の項目に格納する。キャラクタ制御部316は、ステップS230で取得した音声データを、動作指図データの「音声」の項目に格納する。キャラクタ制御部316は、ステップS231で取得したモーションキャプチャデータを、動作指図データの「動き」の項目に格納する。キャラクタ制御部316は、音声データとモーションキャプチャデータとが同期するように、音声データとモーションキャプチャデータとを紐付ける。キャラクタ制御部316は、サーバ200から受信した要求に含まれるユーザ端末100のアドレスを、宛先指定情報として、動作指図データの「宛先」の項目に格納する。
ステップS233において、キャラクタ制御部316は、通信IF33を介して、上述のように生成した動作指図データを、宛先として指定したユーザ端末100に送信する。キャラクタ制御部316は、アクターが声を出したり、動いたりして得られた音声データおよびモーションキャプチャデータを、取得してすぐさま動作指図データへとレンダリングし、リアルタイムで、各ユーザ端末100に配信することが望ましい。
ステップS220において、ユーザ端末100の解析部116は、通信IF13を介して、上述の動作指図データを受信する。例えば、解析部116は、動作指図装置300またはサーバ200から予めライブ配信すると予告された時刻に、動作指図データを受信してもよい。ステップS221において、解析部116は、受信したことをトリガにして、受信した動作指図データを解析する。
ステップS222において、ゲーム進行部115は、上述の動作指図データを受信したときに、ライブ配信パートを実行していなければ、該ライブ配信パートを開始する。ステップS222において、ゲーム進行部115は、解析部116によって解析された動画指図データに基づいてアバターを動作させることにより、ライブ配信パートを進行させる。ゲーム進行部115は、声優701、モデル702などのアクターが動作指図装置300の設置場所で、声を出したり、動いたりしているのとほぼ同時に、リアルタイムで、その音声および動きを、仮想空間CS1に配置されたアバターの発言および動きに反映させる。解析部116およびゲーム進行部115は、リアルタイムの動画のレンダリングおよび再生を、動作指図装置300から動作指図データを継続して受信し続けている間継続する。
ユーザは、アバターの発言や動きに共感したときなどに、投げ銭に対応する操作を行うことで、アバターを応援することができる。ステップS223において、ゲーム進行部115は、当該投げ銭に対応する操作が行われたか否かをタッチスクリーン15に対する入力操作に基づいて判定する。
当該投げ銭に対応する操作が行われたと判定されると、ゲーム進行部115は、ステップS224において、評価パラメータの更新をサーバ200に要求する。当該要求には、ライブ配信中のアバターに対応するキャラクタIDが含まれる。ステップS228において、進行支援部211は、当該キャラクタIDに関連付けられている評価パラメータを更新するとともに、更新後の評価パラメータを動作指図装置300に送信する。
ステップS234において、動作指図装置300の反応処理部317は、通信IF33を介して、サーバ200から送信された評価パラメータを受信する。ステップS235において、反応処理部317は、受信した評価パラメータを出力する。例えば、反応処理部317は、評価パラメータに対応する数値を表示部352に表示する。この結果、動作指図装置300のオペレータは、自分たちが動かしたアバターに対して、ユーザがどのような反応を示したのかを示すフィードバックを受けることが可能となる。
ステップS223において投げ銭に対応する操作が行われたと判定されなかったとき、またはステップS224の処理が完了したとき、ゲーム進行部115は、ステップS225に進む。ステップS225において、ゲーム進行部115は、動作指図データに基づいてアバターが動作している間にユーザからコメントが入力されたか否かを、タッチスクリーン15に対する入力操作に基づいて判定する。当該コメントが入力されたと判定されなかったときはステップS220に戻り、当該コメントが入力されたと判定されたときはステップS226に進む。ステップS226において、ゲーム進行部115は、入力されたコメントに対応するコメントデータを動作指図装置300に送信する。
具体的には、ゲーム進行部115は、選択されたコメントのコメントIDをコメントデータとして送信してもよい。あるいは、ゲーム進行部115は、ユーザにより入力された文章のテキストデータをコメントデータとして送信してもよい。あるいは、ゲーム進行部115は、ユーザにより入力された音声の音声データをコメントデータとして送信してもよい。あるいは、ゲーム進行部115は、ユーザにより入力された音声を認識し、テキストデータに変換したものをコメントデータとして送信してもよい。
ステップS234において、動作指図装置300の反応処理部317は、通信IF33を介して、ユーザ端末100から送信されたコメントデータを受信する。ステップS235において、反応処理部317は、受信したコメントデータを出力する。例えば、反応処理部317は、コメントデータに含まれるテキストデータを表示部352に表示する。これにより、オペレータは、自分たちが動かしたアバターに対して、ユーザがどのような反応を示したのかを示すフィードバックを受けることが可能となる。
動作指図装置300は、ステップS230に戻り、音声データおよびモーションキャプチャデータの取得を継続し、動作指図データをユーザ端末100に提供し続ける。ユーザ端末100は、自端末における入力操作の内容が動作指図装置300によって受信された後、該動作指図装置300から送信された動作指図データを受信する。
具体的には、ユーザ端末100は、キャラクタの発言内容に対応する音声データ、および、キャラクタの動きに対応するモーションキャプチャデータなどが含まれた動作指図データを受信する。そして、ユーザ端末100は、継続的に、該動作指図データに基づいて、キャラクタを動作させる。結果として、ユーザに、キャラクタとのリアルタイムでインタラクティブなやりとりを体験させることが可能となる。
なお、モーションキャプチャデータに代えて、キャラクタの動作を指示する1以上のコマンドが、動作指図装置300のオペレータが指示した順に並んでいるモーションコマンド群が、ユーザ端末100によって受信されてもよい。
図17は、ステップS208またはS209によりモンスターまたはアバターが仮想空間CS1の内側に配置された後にユーザ端末100が実行する表示制御処理の流れを示すフローチャートである。
ステップS301において、表示制御部112は、仮想カメラCM1を仮想空間CS1の中心に配置し、コントローラ1020が有する加速度センサの出力に基づいて、当該仮想カメラCM1の視界領域を初期設定する。具体的には、ユーザ端末100が備えるカメラ17の向き(方角)を加速度センサの出力に基づいて特定し、当該方角の実際の風景に対応するパノラマ画像がタッチスクリーン15に表示されるように、仮想カメラCM1の視界領域を設定する。仮想カメラCM1の視界領域は、こうしてカメラ17の向き即ちタッチスクリーン15の表示領域の向きと関連付けられる。
ステップS302において、表示制御部112は、当該視界領域の画像をタッチスクリーン15に表示する。仮想空間CS1に配置されたキャラクタがモンスターであり、当該モンスターが当該視界領域の外側に位置する場合、タッチスクリーン15には、パノラマ画像だけが表示される。また、モンスターが当該視界領域の内側に位置する場合は、当該モンスターがパノラマ画像に重畳される。一方、仮想空間CS1に配置されたキャラクタがアバターであれば、仮想カメラCM1の視界領域の設定に応じて、当該アバターがパノラマ画像に重畳される。
ステップS303において、表示制御部112は、仮想空間CS1に配置されたキャラクタはモンスターであるか否かを、ステップS208またはS209の処理結果に基づいて判定する。当該キャラクタはモンスターであると判定されたときは、ステップS304に進み、当該キャラクタはモンスターであると判定されなかったときは(即ち、当該キャラクタはアバターであると判定されたときは)、ステップS306に進む。
ステップS304において、表示制御部112は、タッチスクリーン15に表示された視界領域の画像に照準画像を重畳する。ステップS305において、キャラクタ制御部316は、仮想空間CS1に配置されているモンスターを仮想カメラCM1の視界領域の方向に所定距離だけ移動させる。具体的には、ステップS305では、モンスターが当該視界領域内に配置されているか否かを判断し、当該モンスターが当該視界領域内にいない場合に、当該モンスターを視界領域内に配置される方向に移動させるように仮想空間データを更新する。
なお、ステップS305において、キャラクタ制御部316は、仮想空間CS1に配置されているモンスターを仮想カメラCM1の視界領域内のうちの照準画像の方向に所定距離ずつ移動させるものであってもよい。ステップS305の処理が完了すると、ステップS306に進む。
ステップS306において、表示制御部112は、例えば1/30秒に設定されている更新周期が到来したか否かを、図示しない計測部に基づいて判定する。当該更新周期が到来したと判定されなかったときはステップS306に戻り、当該更新周期が到来したと判定されたときはステップS307に進む。ステップS307において、表示制御部112は、加速度センサの出力に基づいてユーザ端末100の姿勢や向きの変化を特定し、当該変化に応じて仮想カメラCM1の視界領域を更新する。ステップS307の処理が完了すると、ステップS302に戻る。この結果、更新された視界領域の画像が、タッチスクリーン15に表示される。これにより、タッチスクリーン15に表示される画像は、ユーザ端末100の姿勢や向きに応じた視界領域に対応する画像に更新される。
この結果、仮想空間CS1に配置されたキャラクタがモンスターであると判定されたときは、パノラマ画像1101および照準画像AM1が表示され、モンスターMST1が表示されていない状態から、ユーザ端末100の姿勢や向きを変化させることや時間経過などに応じてモンスターMST1が表示されることになる。一方、仮想空間CS1に配置されたキャラクタがアバターであると判定されたときは、例えば、図14(A) に示すパノラマ画像1201がタッチスクリーン15に表示され、アバターAVT1が当該パノラマ画像1201に重畳される。
<本実施形態の効果>
本実施形態によれば、ユーザ端末100が存在する位置におけるパノラマ画像を関連付けた仮想空間を特定可能にするための仮想空間データが生成される。また、当該仮想空間に配置されたキャラクタがモンスターであると判定されたときは、当該仮想空間内にモンスターが配置される。仮想空間にはまた、仮想カメラが配置される。仮想カメラからの視界領域は、ユーザ端末100に対するユーザの操作に応じて制御され、タッチスクリーン15には、当該視界領域に対応する映像が表示される。モンスターが当該視界領域内に配置されていない場合、仮想空間データは、当該モンスターが当該視界領域内に配置される方向に移動するように更新される。
これによって、当該モンスターをタッチスクリーン15に継続して表示させるゲームにおいて、ユーザ端末100の向きを大きく変更する必要性を低減できる。その結果、ユーザの周囲に存在する人に迷惑をかける懸念や不審に思われてしまう懸念等を軽減することができる。即ち、ユーザは、周囲に居る第三者から不審者がられることなくゲームに集中することができる。
また、本実施形態によれば、モンスターをタッチスクリーン15に表示させて開放条件を成立させると、ユーザ端末100は、サーバ200に対して当該モンスターの開放をサーバ200に要求する。この結果、モンスターは、サーバ200により開放される。これによって、ユーザは、モンスターを探し出して開放するというゲームを楽しむことができる。
さらに、本実施形態によれば、仮想カメラの視界領域に対応する映像に重畳させて、タッチスクリーン15の所定位置に照準画像が表示される。開放条件は、モンスターを当該所定位置に表示させることにより成立する。これによって、ゲームの興趣を向上させることができる。
また、本実施形態によれば、仮想空間データを生成するときには、視界領域以外の領域にモンスターが配置され、または視界領域にかかわらず、仮想空間内における所定位置にモンスターが配置される。
視界領域以外の領域にモンスターを配置する場合には、モンスターが視界領域に現れるまで、ユーザに期待感を持たせることができる。一方、視界領域にかかわらず、仮想空間内における所定位置にモンスターを配置する場合には、ユーザ端末100の向き次第で、モンスターが視界領域に現れたり、現れなかったりする。これによって、モンスターの出現に意外性を持たせることができる。
さらに、本実施形態によれば、ユーザ端末100が存在する位置におけるパノラマ画像は、様々な場所で撮影されたパノラマ画像を提供する他のサービス提供装置(サーバ)と通信することにより取得される。
この結果、モンスターは、ユーザ端末100が備えるカメラ17により撮影された画像ではなく、他のサービス提供装置から取得されたパノラマ画像に重畳される。これによって、ユーザ端末100の処理負担を軽減することができる。また、カメラ17で風景等を撮影せずともゲームを進行できるため、盗撮やプライバシー侵害の疑いが掛けられてしまう懸念を低減できる。
<変形例>
以上説明した実施形態の変形例などを以下に列挙する。
(1) 上記実施形態2(以下では、単に実施形態ともいう)においては、仮想空間に配置されたキャラクタがモンスターであると判定されたときは、タッチスクリーン15の所定位置に、継続的に照準画像を表示させるようにしている。しかし、モンスターが仮想カメラの視界領域内に配置されていないときは照準画像を表示せず、モンスターが当該視界領域内に配置されているときには当該照準画像を表示するようにしてもよい。これによって、パノラマ画像の視認性を向上させつつ、モンスターを所定位置に表示させようという動機付けをユーザに働かせることができる。
また、照準画像の代わりに、モンスターを捕捉したときにスタートし、当該モンスターを逃したときにリセットされるタイマーを表示するようにしてもよい。この場合、ユーザは、開放条件が成立するまでの残り時間を、当該タイマーにより把握することができる。
さらに、モンスターが当該視界領域内に配置されているときに、特定報知(例えば、音声案内や効果音等)を行うようにしてもよい。これによって、モンスターが当該視界領域内に配置されていない状況において、ユーザがタッチスクリーン15に目を奪われ、他人とぶつかるなど周囲に迷惑をかけてしまう懸念を低減することができる。
(2) 上記実施形態においては、ユーザ端末100が存在する位置におけるパノラマ画像は、他のサービス提供装置(サーバ)から取得される。しかし、ユーザ端末100に設けられたカメラ17により撮影した画像を、当該パノラマ画像として仮想空間に関連付ける(具体的には、天球の内側に貼り付ける)ようにしてもよい。この場合、カメラ画像の貼り付け位置は、ユーザ端末100の向きに基づいて規定される。タッチスクリーン15の表示領域には当該カメラ画像が表示され、当該表示領域の中央位置には照準画像が重畳される。モンスターが当該表示領域内に配置されていない場合、当該モンスターは、当該表示領域内に配置される方向に移動する。これによって、パノラマ画像にリアリティを持たせることができる。
(3) 上記実施形態においては、仮想空間に関連付けられるパノラマ画像は、他のサービス提供装置(サーバ)から取得された画像に限られる。しかし、仮想空間に関連付けられるパノラマ画像は、ユーザ操作に応じて、他のサービス提供装置(サーバ)から取得された画像とカメラ画像との間で切り替えるようにしてもよい。即ち、周囲に人がおらず、他人とぶつかるなど周囲に迷惑をかけてしまう問題が起こり得ない場合には、ユーザの切り替え操作により、仮想空間に関連付けられるパノラマ画像をカメラ画像に切り替えるようにしてもよい。
(4) 上記実施形態においては、仮想カメラCM1の視界領域の外側の位置や、視界領域にかかわらず、仮想空間CS1内における所定位置が、モンスターの初期位置として特定される。このとき、当該初期位置は、モンスターの種類に応じて特定するようにしてもよい。即ち、ある種類のモンスターについては、仮想カメラCM1の視界領域の外側の位置を初期位置として特定し、他の種類のモンスターについては、視界領域にかかわらず、仮想空間CS1内における所定位置を初期位置として特定するようにしてもよい。
(5) 上記実施形態においては、予め撮影されて管理されているパノラマ画像のうち、ユーザ端末100の位置に応じたパノラマ画像を、ユーザ端末100からサーバ200に対して要求する例について説明した。しかし、管理者側(サーバ200)から特定の位置におけるパノラマ画像をユーザに対して要求し、当該要求に応じて撮影されたパノラマ画像を例えばサーバ200に登録して管理するようにしてもよい。また、特定の位置におけるパノラマ画像については、他のサービス提供装置ではなくサーバ200において管理するようにしてもよい。また、この場合、パノラマ画像を登録することにより、当該ユーザに特典(例えば、ゲーム内で使用できるコイン、特別なアイテム、所定のパラメータ増大等)を付与するようにしてもよい。特定の位置としては、例えば、所定期間(例えば3年前等)より前のパノラマ画像が管理されている位置や、パノラマ画像が未だ管理されていない位置、ビルの屋上位置、特定の施設内の位置等であってもよい。これによって、ユーザ側にとっては、特定の位置のパノラマ画像を撮影しようという動機づけを働かせることができ、ゲームの興趣を向上させることができる。また、管理者側にとっては、特定の位置における現時点のパノラマ画像を保有することができる。
(6) 上記実施形態においては、ユーザ端末100が存在する位置において撮影されたパノラマ画像が他のサービス提供装置に複数存在する場合、最新のパノラマ画像を当該ユーザ端末100に送信することを想定している。しかし、同じ位置におけるパノラマ画像が当該他のサービス提供装置に複数存在する場合には、例えば、ユーザの設定(現在モードとレトロモードなど)や、ゲームの進行状況(過去に遡るイベント発生時等)に応じて、最新とは異なる数年前や数十年前に撮影されたパノラマ画像を送信するようにしてもよい。これにより、表示するパノラマ画像のバリエーションを豊富にすることができる。
また、同じ位置におけるパノラマ画像が複数存在する場合には、例えば、パノラマ画像の要求があった時点での実状況(季節、日付、時間帯等)に応じて、当該実状況と極力合致するように、異なるパノラマ画像を送信するようにしてもよい。具体的に、現在が冬であるときには、冬に撮影されたパノラマ画像を送信するようしてもよく、また、現在が8月であるときには、8月に撮影されたかまたは8月に近い時期に撮影されたパノラマ画像を送信するようにしてもよい。また、現在の時間帯が昼であるときには、昼間に撮影されたパノラマ画像を送信し、夜であるときには、夜間に撮影されたパノラマ画像を送信するようにしてもよい。これにより、現在の状況に応じたパノラマ画像が表示されるため、リアリティーを高めることができる。
(7) 上記実施形態においては、取得したパノラマ画像をそのまま用いて、その上にキャラクタ画像等を重畳させてタッチスクリーン15に表示する例について説明した。しかし、パノラマ画像については、所定の加工・編集処理を行い、当該加工・編集処理が施されたパノラマ画像にキャラクタ画像等を重畳させてタッチスクリーン15に表示するようにしてもよい。所定の加工・編集処理は、例えば、現在の状況(例えば、時期、日付、時間等)に応じて、グラデーション、シャープネス、色補正、特殊効果等を行うようにしてもよい。また、パノラマ画像に重畳させる画像は、キャラクタ画像に限らず、これに替えてあるいは加えて、例えば、現在の状況(例えば、時期、日付、時間等)に応じて、デコレーション画像(クリスマスツリー、門松、浮き輪、スイカ等)であってもよい。
(8) 上記実施形態においては、キャラクタとして、アバターとモンスターとを想定しており、当該キャラクタが配置されている場所をユーザが訪れることで、当該キャラクタがタッチスクリーン15に表示可能となる。このうち、アバターを表示するパートはライブ配信パートとして捉えられるところ、「モンスターを呪いから開放」というクエストに相当する依頼事項をアバターに発言させ、当該依頼事項に応じてユーザがモンスターを探し出して呪いを開放するというストーリーを仕立て上げれば、モンスターを表示するパートはストーリーパートを構成する要素の1つとして捉えることが可能となる。
(9) 上記実施形態においては、他のサービス提供装置により提供される地図データは、サーバ200により獲得され、ユーザ端末100に提供される。しかし、ユーザ端末100は、地図データについては当該他のサービス提供装置から直接獲得する一方、キャラクタの位置情報およびキャラクタIDについてはサーバ200から取得し、ユーザ端末100側で合成表示するようにしてもよい。
(10) 上記実施形態においては、地図データは他のサービス提供装置により管理されるが、サーバ200が当該地図データを管理するようにしてもよい。
(11) 上記実施形態においては、360°のパノラマ画像が全天球状の仮想空間CS1の内周面に貼り付けられる。しかし、所定範囲に亘る画像を表示可能とするものである限り、例えば、仮想空間CS1は半天球状でもよい。また、パノラマ画像としても、天井部分に相当する画像を有していない帯状の360度パノラマ画像でもよく、左右180度にわたるパノラマ画像でもよい。
(12) 上記実施形態においては、ユーザ端末100が備えるカメラ17の向きにおける実際の風景に対応するパノラマ画像をタッチスクリーン15に表示するようにしている。しかし、カメラ17の向きに関係なく、一律に特定の向き(例えば北向き)の実際の風景に対応するパノラマ画像をタッチスクリーン15に表示するようにしてもよい。
(13) 上記実施形態においては、ユーザ端末100の位置情報に基づいてパノラマ画像を取得するようにしているが、当該パノラマ画像としては、タッチされたアイコンの位置から眺めた風景を表す画像や、ユーザ端末100の位置から眺めた風景を表す画像や、地図上のタッチ位置(地図が拡大表示されており、アイコンのサイズと指のサイズとが略一致するような場合を想定)から眺めた風景を表す画像などが想定される。
(14) 上記実施形態においては、キャラクタは天球の内側に配置されるが、天球の内周面にキャラクタ画像を貼り付けるようにしてもよい。
(15) 上記実施形態においては、ユーザ端末100の位置を示す指標をタッチスクリーン15上の地図の中心に固定的に表示し、ユーザ端末100が所定量移動する毎に当該地図を更新するようにしている。しかし、地図を固定とし、ユーザ端末100の移動に応じて指標を移動させるようにしてもよい。この場合、タッチスクリーン15上の地図は、スワイプ操作が行われることにより、または当該指標が当該地図の端部に近づいたことが特定されることにより、指標の移動方向の地図に更新される。
(16) 上記実施形態においては、ユーザ端末100の位置を中心とする所定領域の地図をタッチスクリーン15に表示するようにした上で、ユーザ端末100が所定量移動する毎にサーバ200から地図データを取得するようにしている。しかし、当該所定領域よりも広い領域(例えば9倍の領域)の地図データを取得し、ユーザ端末100が所定量移動する毎に当該所定領域の位置を移動させるようにすれば、サーバ200から地図データを取得する頻度を抑えることができる。
(17) 上記実施形態では、第1のオブジェクトとしてアイコンを例示し、第2のオブジェクトの例としてキャラクタやアバターを例示したが、第1のオブジェクトおよび第2のオブジェクトは、いずれも、2次元画像に限らず、3次元画像(例えば3Dモデル)等であってもよい。
(18) 上記実施形態では、視界領域をユーザ端末の姿勢や向きに応じて制御する例について説明したが、これに限らず、タッチスクリーン15に対するユーザからの操作に応じて視界領域を制御してもよい。例えば、タッチスクリーン15に対してスワイプ操作を受付けたときには、スワイプ操作の移動量に対応する量だけ、当該スワイプ操作がされた方向へ視界領域を移動させるように制御してもよく、また、タッチスクリーン15に対してフリック操作を受付けたときには、フリック操作の速度に応じた量だけ、当該フリック操作がされた方向へ視界領域を移動させるように制御してもよい。
<付記>
以上の各実施形態で説明した事項を、以下に付記する。
(付記1):
本開示に示す一実施形態のある局面によれば、プロセッサ、メモリ、入力部、および表示部を備える情報端末装置(図1のユーザ端末100)において実行されるゲームプログラムであって、前記ゲームプログラムは、前記プロセッサに、所定の画像を関連付けた仮想空間を特定可能にするための仮想空間データを生成し、当該仮想空間内にオブジェクト(モンスター)を配置させる第1ステップ(S207、S208、S210、S305)と、前記仮想空間に仮想カメラを配置する第2ステップ(S301)と、前記情報端末装置に対する前記ユーザの操作に応じて前記仮想カメラからの視界領域を制御する第3ステップ(S307)と、前記視界領域に対応する映像を前記表示部に表示する第4ステップ(S302、S304)とを実行させ、前記第1ステップは、前記オブジェクトが前記視界領域内に配置されていない場合に、前記オブジェクトを、前記視界領域内に配置される方向に移動させるように仮想空間データを更新する(S305)。
(付記2):
(付記1)において、前記ゲームプログラムは、前記プロセッサに、前記オブジェクトを前記表示部に表示させて予め定められた条件を成立させる(開放条件を成立させる)ことにより、当該オブジェクトに応じたゲーム処理を行う第5ステップ(S211、S212)を実行させる。
(付記3):
(付記2)において、前記第4ステップは、前記映像に重畳させて前記表示部の所定位置に基準画像を表示し(S304)、前記予め定められた条件は、前記所定位置に前記オブジェクトを表示させることにより成立する。
(付記4):
(付記3)において、前記第4ステップは、前記オブジェクトが前記視界領域内に配置されていないときに前記基準画像を表示せず、前記オブジェクトが前記視界領域内に配置されているときに前記基準画像を表示する。
(付記5):
(付記1)から(付記4)のいずれかにおいて、前記情報端末装置は撮像部(17)を備え、所定の画像は前記撮像部から出力された画像である。
(付記6):
(付記1)から(付記5)のいずれかにおいて、前記第1ステップは、前記仮想空間データを生成するときには、前記視界領域以外の領域に前記オブジェクトを配置する。
(付記7):
(付記1)から(付記6)のいずれかにおいて、前記第1ステップは、前記仮想空間データを生成するときには、前記視界領域にかかわらず、前記仮想空間内における予め定められた位置に前記オブジェクトを配置する。
(付記8):
(付記1)から(付記7)のいずれかにおいて、前記第1ステップは、前記オブジェクトが前記視界領域内に配置されているときに特定報知を行う。
(付記9):
(付記1)から(付記8)のいずれかにおいて、前記第1ステップは、各所の風景画像を管理するサーバと通信して、所定位置に対応する風景画像を前記所定の画像として取得する(S207)。
(付記10):
本開示に示す一実施形態のある局面によれば、プロセッサ、メモリ、入力部、および表示部を備える情報端末装置(図1のユーザ端末100)により実行されるゲーム方法であって、前記ゲーム方法は、前記コンピュータが、所定の画像を関連付けた仮想空間を特定可能にするための仮想空間データを生成し、当該仮想空間内にオブジェクト(モンスター)を配置させる第1ステップ(S207、S208、S210、S305)と、前記仮想空間に仮想カメラを配置する第2ステップ(S301)と、前記情報端末装置に対する前記ユーザの操作に応じて前記仮想カメラからの視界領域を制御する第3ステップ(S307)と、前記視界領域に対応する映像を前記表示部に表示する第4ステップ(S302、S304)とを備え、前記第1ステップは、前記オブジェクトが前記視界領域内に配置されていない場合に、前記オブジェクトを、前記視界領域内に配置される方向に移動させるように仮想空間データを更新する(S305)。
(付記11):
本開示に示す一実施形態のある局面によれば、情報処理装置(図1のユーザ端末100)であって、ゲームプログラムを記憶する記憶部(図2の120)と、前記ゲームプログラムを実行することにより、前記情報処理装置の動作を制御する制御部(図2の110)とを備え、前記制御部は、所定の画像を関連付けた仮想空間を特定可能にするための仮想空間データを生成し、当該仮想空間内にオブジェクト(モンスター)を配置させる第1ステップ(S207、S208、S210、S305)と、前記仮想空間に仮想カメラを配置する第2ステップ(S301)と、前記情報端末装置に対する前記ユーザの操作に応じて前記仮想カメラからの視界領域を制御する第3ステップ(S307)と、前記視界領域に対応する映像を前記表示部に表示する第4ステップ(S302、S304)とを実行し、前記第1ステップは、前記オブジェクトが前記視界領域内に配置されていない場合に、前記オブジェクトを、前記視界領域内に配置される方向に移動させるように仮想空間データを更新する(S305)。
〔ソフトウェアによる実現例〕
制御部110の制御ブロック(特に、操作受付部111、表示制御部112、UI制御
部113、アニメーション生成部114、ゲーム進行部115、解析部116および進捗情報生成部117)、制御部210の制御ブロック(特に、進行支援部211および共有支援部212)、ならびに、制御部310の制御ブロック(特に、操作受付部311、表示制御部312、UI制御部313、アニメーション生成部314、進捗模擬部315、キャラクタ制御部316および反応処理部317)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部110、制御部210または制御部310、もしくは、これらのうち複数を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。