(57)【要約】【課題】ゲームの興趣性を向上させる。【解決手段】ゲームプログラム（１３１）は、プロセッサ（１０）に、操作部を介してコンピュータ（１００）に入力されたユーザの入力操作に応じてゲームを進行させるステップ（Ｓ１０３）と、ゲームに登場する少なくとも１つのキャラクタ（８０１）を制御するキャラクタ制御装置（３００）に、ゲームの進捗を示す進捗情報を送信するステップ（Ｓ１１０）と、キャラクタ制御装置においてゲームの進捗に合わせて入力された、キャラクタの発言に対応する音声データを、該キャラクタ制御装置から受信するステップ（Ｓ１１７）と、音声データを受信したことをトリガにして、ゲームの進行中に登場するキャラクタに、少なくとも該音声データの内容を発話させることにより、該キャラクタを動作させるステップ（Ｓ１１９）とを実行させる。【選択図】図８
2020093116.tif 000002
【特許請求の範囲】
【請求項１】
ゲームプログラムであって、
前記ゲームプログラムは、プロセッサ、メモリおよび操作部を備えるユーザ端末としてのコンピュータにより実行されるものであり、
前記ゲームプログラムは、前記プロセッサに、
前記操作部を介して前記コンピュータに入力されたユーザの入力操作に応じてゲームを進行させるステップと、
前記ゲームに登場する少なくとも１つのキャラクタを制御するキャラクタ制御装置に、前記ゲームの進捗を示す進捗情報を送信するステップと、
前記キャラクタ制御装置において前記ゲームの進捗に合わせて入力された、前記キャラクタの発言に対応する音声データを、該キャラクタ制御装置から受信するステップと、
前記音声データを受信したことをトリガにして、前記ゲームの進行中に登場する前記キャラクタに、少なくとも該音声データの内容を発話させることにより、該キャラクタを動作させるステップとを実行させる、ゲームプログラム。
【請求項２】
前記受信するステップは、前記キャラクタ制御装置において前記ゲームの進捗に合わせて入力された、前記キャラクタの動きに対応するモーションキャプチャデータを、該キャラクタ制御装置から前記音声データとともに受信し、
前記動作させるステップは、前記音声データの内容を発話させるのに合わせて、前記モーションキャプチャデータにしたがって前記キャラクタを動かす、請求項１に記載のゲームプログラム。
【請求項３】
前記受信するステップは、前記ゲームの進捗に合わせて前記キャラクタ制御装置に入力された入力操作により特定された、前記キャラクタの動作を指示するコマンドを１以上含むモーションコマンド群を、該キャラクタ制御装置から前記音声データとともに受信し、
前記動作させるステップは、前記音声データの内容を発話させるのに合わせて、前記モーションコマンド群にしたがって前記キャラクタを動かす、請求項１に記載のゲームプログラム。
【請求項４】
前記キャラクタ制御装置は、前記進捗情報に基づいて、前記ユーザ端末の表示部に表示されている画面または該画面を簡略化した模擬画面を該キャラクタ制御装置の表示部に表示するものであり、
前記受信するステップは、前記ゲームの進捗に合わせて前記キャラクタ制御装置に入力された入力操作により指定された前記画面上のオブジェクトを識別する識別情報を、該キャラクタ制御装置から前記音声データとともに受信し、
前記動作させるステップは、前記音声データの内容を発話させるのに合わせて、前記識別情報により特定された前記画面上のオブジェクトを強調表示させる、請求項１から３のいずれか１項に記載のゲームプログラム。
【請求項５】
前記キャラクタ制御装置は、前記進捗情報に基づいて、前記ユーザ端末の表示部に表示されている画面または該画面を簡略化した模擬画面を、前記ユーザ端末の表示部の仕様に合わせて該キャラクタ制御装置の表示部に表示するものであり、
前記受信するステップは、前記キャラクタ制御装置の表示部に表示された前記画面または前記模擬画面に対して、前記ゲームの進捗に合わせて入力された入力操作の第１の位置座標に対応する、前記ユーザ端末の表示部における第２の位置座標を、該キャラクタ制御装置から前記音声データとともに受信し、
前記動作させるステップは、前記音声データの内容を発話させるのに合わせて、前記第２の位置座標が示す箇所を強調表示させる、請求項１から３のいずれか１項に記載のゲームプログラム。
【請求項６】
ゲームに登場するキャラクタを制御するためのキャラクタ制御プログラムであって、
前記キャラクタ制御プログラムは、プロセッサ、メモリおよび表示部を備えるキャラクタ制御装置としてのコンピュータにより実行されるものであり、
前記キャラクタ制御プログラムは、前記プロセッサに、
前記ゲームを進行させるユーザ端末から受信した、該ゲームの進捗を示す進捗情報に基づいて、ゲームの進捗を示す進捗画面を前記表示部に表示するステップと、
前記表示部に表示された前記進捗画面が示す前記ゲームの進捗に合わせて前記コンピュータに入力された、前記キャラクタの発言に対応する音声データを受け付けるステップと、
受け付けられた前記音声データを前記ユーザ端末に送信するステップとを実行させる、キャラクタ制御プログラム。
【請求項７】
前記表示するステップは、前記進捗情報に基づいて、前記ユーザ端末の表示部に表示されている画面または該画面を簡略化した模擬画面を含む前記進捗画面を前記キャラクタ制御装置の表示部に表示する、請求項６に記載のキャラクタ制御プログラム。
【請求項８】
前記表示するステップは、前記進捗情報に基づいて予測された前記ゲームの進行に係る予測結果を含む前記進捗画面を前記キャラクタ制御装置の表示部に表示する、請求項６または７に記載のキャラクタ制御プログラム。
【請求項９】
前記表示するステップは、前記ゲームを複数のユーザ端末間で同期して進行させる該複数のユーザ端末のそれぞれから受信した各進捗情報を前記キャラクタ制御装置の表示部に表示し、
前記送信するステップは、前記音声データを、前記複数のユーザ端末のそれぞれに送信する、請求項６から８のいずれか１項に記載のキャラクタ制御プログラム。
【請求項１０】
コンピュータがゲームプログラムを実行する方法であって、
前記コンピュータは、プロセッサ、メモリおよび操作部を備え、
前記プロセッサが請求項１に記載の各ステップを実行する方法。
【請求項１１】
情報処理装置であって、
前記情報処理装置は、
請求項１に記載のゲームプログラムを記憶する記憶部と、
操作部と、
該ゲームプログラムを実行することにより、情報処理装置の動作を制御する制御部とを備えている、情報処理装置。
【請求項１２】
コンピュータがキャラクタ制御プログラムを実行する方法であって、
前記コンピュータは、プロセッサ、メモリおよび表示部を備え、
前記プロセッサが請求項６に記載の各ステップを実行する方法。
【請求項１３】
情報処理装置であって、
前記情報処理装置は、
請求項６に記載のキャラクタ制御プログラムを記憶する記憶部と、
表示部と、
該キャラクタ制御プログラムを実行することにより、情報処理装置の動作を制御する制御部とを備えている、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はゲームプログラム、ゲームプログラムを実行する方法および情報処理装置、ならびに、キャラクタ制御プログラム、キャラクタ制御プログラムを実行する方法および情報処理装置に関する。
【背景技術】
【０００２】
従来、ユーザが選択した選択肢に応じて結末が異なるように物語が進行するゲームが広く知られている。例えば、非特許文献１には、女の子のキャラクタと仮想的に親睦を深めることを主たる目的とする恋愛シミュレーションゲームが開示されている。ユーザは、提示された選択肢の中からキャラクタに対する働きかけとして最適と思うものを選択し、その働きかけに対して該キャラクタが反応することを繰り返すことで物語が進行する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“電撃オンライン - ゲーム・アプリ・漫画・アニメ情報サイト”、[online］、KADOKAWA CORPORATION、[２０１８年５月８日検索]、インターネット（ＵＲＬ：http://dengekionline.com/elem/000/000/279/279193/index-2.html）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
非特許文献１に開示されているゲームでは、キャラクタの応答パターンが予め用意されている。そして、ユーザの入力操作に応じて、該キャラクタの応答が、該応答パターンの中から決定されて出力され、ゲームが進行する。したがって、キャラクタの動作のバリエーションは、予め用意されたデータの内容を超えて広がることがない。そのため、ユーザは、キャラクタとの関わり合いに対して、該キャラクタがまるで現実の世界にいるかのような現実感を覚えることができず、いずれ飽きるという問題がある。一般に、ユーザに長くプレイさせることを意図して開発されたゲームにおいては、ユーザがゲームに飽きるという問題に如何に対処するかが重要である。ゲームには、常に、ユーザにプレイを動機付けるような魅力的なコンテンツを提供することが求められる。例えば、ゲームに登場するキャラクタが、高い現実感を備えていれば、ユーザは、ゲームの世界に没入しやすくなり、キャラクタとの関わり合いにより興趣性を見出すと考えられる 。
【０００５】
本開示の一態様は、ゲームの世界への没入感を高め、該ゲームの興趣性を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
本開示に係るゲームプログラムは、プロセッサ、メモリおよび操作部を備える、ユーザ端末としてのコンピュータにより実行される。ゲームプログラムは、プロセッサに、操作部を介してコンピュータに入力されたユーザの入力操作に応じてゲームを進行させるステップと、ゲームに登場する少なくとも１つのキャラクタを制御するキャラクタ制御装置に、ゲームの進捗を示す進捗情報を送信するステップと、キャラクタ制御装置においてゲームの進捗に合わせて入力された、キャラクタの発言に対応する音声データを、該キャラクタ制御装置から受信するステップと、音声データを受信したことをトリガにして、ゲームの進行中に登場するキャラクタに、少なくとも該音声データの内容を発話させることにより、該キャラクタを動作させるステップとを実行させる。
【０００７】
本開示に係るキャラクタ制御プログラムは、ゲームに登場するキャラクタを制御するためのキャラクタ制御プログラムであって、該キャラクタ制御プログラムは、プロセッサ、メモリおよび表示部を備える、キャラクタ制御装置としてのコンピュータにより実行される。キャラクタ制御プログラムは、プロセッサに、ゲームを進行させるユーザ端末から受信した、該ゲームの進捗を示す進捗情報に基づいて、ゲームの進捗を示す進捗画面を表示部に表示するステップと、表示部に表示された進捗画面が示すゲームの進捗に合わせてコンピュータに入力された、キャラクタの発言に対応する音声データを受け付けるステップと、受け付けられた音声データをユーザ端末に送信するステップとを実行させる。
【発明の効果】
【０００８】
本開示の一態様によれば、ゲームの興趣性を向上させる効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】ゲームシステムのハードウェア構成を示す図である。
【図２】ユーザ端末、サーバおよび動作指図装置の機能的構成を示すブロック図である。
【図３】画面遷移情報のデータ構造の一例を示す図である。
【図４】進捗情報のデータ構造の一例を示す図である。
【図５】動作指図データのデータ構造の一例を示す図である。
【図６】動作指図装置の表示部に表示される進捗画面の一例を示す図である。
【図７】ユーザ端末の表示部に表示されるゲーム画面の一例を示す図である。
【図８】ゲームシステムを構成する各装置が実行する処理の流れを示すフローチャートである。
【図９】動作指図装置の表示部に表示される進捗画面の他の例を示す図である。
【図１０】ユーザ端末の表示部に表示されるゲーム画面の一例を示す図である。
【発明を実施するための形態】
【００１０】
〔実施形態１〕
本開示に係るゲームシステムは、複数のユーザにゲームを提供するためのシステムである。以下、ゲームシステムについて図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
【００１１】
＜ゲームシステム１のハードウェア構成＞
図１は、ゲームシステム１のハードウェア構成を示す図である。ゲームシステム１は図示の通り、複数のユーザ端末１００と、サーバ２００とを含む。各ユーザ端末１００は、サーバ２００とネットワーク２を介して接続する。ネットワーク２は、インターネットおよび図示しない無線基地局によって構築される各種移動通信システム等で構成される。この移動通信システムとしては、例えば、所謂３Ｇ、４Ｇ移動通信システム、ＬＴＥ（Long Term Evolution）、および所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク（例えばWi-Fi（登録商標））等が挙げられる。
【００１２】
サーバ２００（コンピュータ、情報処理装置）は、ワークステーションまたはパーソナルコンピュータ等の汎用コンピュータであってよい。サーバ２００は、プロセッサ２０と、メモリ２１と、ストレージ２２と、通信ＩＦ２３と、入出力ＩＦ２４とを備える。サーバ２００が備えるこれらの構成は、通信バスによって互いに電気的に接続される。
【００１３】
ユーザ端末１００（コンピュータ、情報処理装置）は、スマートフォン、フィーチャーフォン、ＰＤＡ（Personal Digital Assistant）、またはタブレット型コンピュータ等の携帯端末であってよい。ユーザ端末１００は、ゲームプレイに適したゲーム装置であってもよい。ユーザ端末１００は図示の通り、プロセッサ１０と、メモリ１１と、ストレージ１２と、通信インターフェース（ＩＦ）１３と、入出力ＩＦ１４と、タッチスクリーン１５（表示部）と、カメラ１７と、測距センサ１８とを備える。ユーザ端末１００が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、ユーザ端末１００は、タッチスクリーン１５に代えて、または、加えて、ユーザ端末１００本体とは別に構成されたディスプレイ（表示部）を接続可能な入出力ＩＦ１４を備えていてもよい。
【００１４】
また、図１に示すように、ユーザ端末１００は、１つ以上のコントローラ１０２０と通信可能に構成されることとしてもよい。コントローラ１０２０は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の通信規格に従って、ユーザ端末１００と通信を確立する。コントローラ１０２０は、１つ以上のボタン等を有していてもよく、該ボタン等に対するユーザの入力操作に基づく出力値をユーザ端末１００へ送信する。また、コントローラ１０２０は、加速度センサ、および、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値をユーザ端末１００へ送信する。
【００１５】
なお、ユーザ端末１００がカメラ１７および測距センサ１８を備えることに代えて、または、加えて、コントローラ１０２０がカメラ１７および測距センサ１８を有していてもよい。
【００１６】
ユーザ端末１００は、例えばゲーム開始時に、コントローラ１０２０を使用するユーザに、該ユーザの名前またはログインＩＤ等のユーザ識別情報を、該コントローラ１０２０を介して入力させることが望ましい。これにより、ユーザ端末１００は、コントローラ１０２０とユーザとを紐付けることが可能となり、受信した出力値の送信元（コントローラ１０２０）に基づいて、該出力値がどのユーザのものであるかを特定することができる。
【００１７】
ユーザ端末１００が複数のコントローラ１０２０と通信する場合、各コントローラ１０２０を各ユーザが把持することで、ネットワーク２を介してサーバ２００などの他の装置と通信せずに、該１台のユーザ端末１００でマルチプレイを実現することができる。また、各ユーザ端末１００が無線ＬＡＮ（Local Area Network）規格等の無線規格により互いに通信接続する（サーバ２００を介さずに通信接続する）ことで、複数台のユーザ端末１００によりローカルでマルチプレイを実現することもできる。１台のユーザ端末１００によりローカルで上述のマルチプレイを実現する場合、ユーザ端末１００は、さらに、サーバ２００が備える後述する種々の機能の少なくとも一部を備えていてもよい。また、複数のユーザ端末１００によりローカルで上述のマルチプレイを実現する場合、複数のユーザ端末１００は、サーバ２００が備える後述する種々の機能を分散して備えていてもよい。
【００１８】
なお、ローカルで上述のマルチプレイを実現する場合であっても、ユーザ端末１００はサーバ２００と通信を行ってもよい。例えば、あるゲームにおける成績または勝敗等のプレイ結果を示す情報と、ユーザ識別情報とを対応付けてサーバ２００に送信してもよい。
【００１９】
また、コントローラ１０２０は、ユーザ端末１００に着脱可能な構成であるとしてもよい。この場合、ユーザ端末１００の筐体における少なくともいずれかの面に、コントローラ１０２０との結合部が設けられていてもよい。該結合部を介して有線によりユーザ端末１００とコントローラ１０２０とが結合している場合は、ユーザ端末１００とコントローラ１０２０とは、有線を介して信号を送受信する。
【００２０】
図１に示すように、ユーザ端末１００は、外部のメモリカード等の記憶媒体１０３０の装着を、入出力ＩＦ１４を介して受け付けてもよい。これにより、ユーザ端末１００は、記憶媒体１０３０に記録されるプログラム及びデータを読み込むことができる。記憶媒体１０３０に記録されるプログラムは、例えばゲームプログラムである。
【００２１】
ユーザ端末１００は、サーバ２００等の外部の装置と通信することにより取得したゲームプログラムをユーザ端末１００のメモリ１１に記憶してもよいし、記憶媒体１０３０から読み込むことにより取得したゲームプログラムをメモリ１１に記憶してもよい。
【００２２】
以上で説明したとおり、ユーザ端末１００は、該ユーザ端末１００に対して情報を入力する機構の一例として、通信ＩＦ１３、入出力ＩＦ１４、タッチスクリーン１５、カメラ１７、および、測距センサ１８を備える。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
【００２３】
例えば、操作部が、カメラ１７および測距センサ１８の少なくともいずれか一方で構成される場合、該操作部が、ユーザ端末１００の近傍の物体１０１０を検出し、当該物体の検出結果から入力操作を特定する。一例として、物体１０１０としてのユーザの手、予め定められた形状のマーカーなどが検出され、検出結果として得られた物体１０１０の色、形状、動き、または、種類などに基づいて入力操作が特定される。より具体的には、ユーザ端末１００は、カメラ１７の撮影画像からユーザの手が検出された場合、該撮影画像に基づき検出されるジェスチャ（ユーザの手の一連の動き）を、ユーザの入力操作として特定し、受け付ける。なお、撮影画像は静止画であっても動画であってもよい。
【００２４】
あるいは、操作部がタッチスクリーン１５で構成される場合、ユーザ端末１００は、タッチスクリーン１５の入力部１５１に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信ＩＦ１３で構成される場合、ユーザ端末１００は、コントローラ１０２０から送信される信号（例えば、出力値）をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力ＩＦ１４で構成される場合、該入出力ＩＦ１４と接続されるコントローラ１０２０とは異なる入力装置（図示せず）から出力される信号をユーザの入力操作として特定し、受け付ける。
【００２５】
本実施形態では、ゲームシステム１は、さらに、動作指図装置３００を含む。動作指図装置３００は、サーバ２００およびユーザ端末１００のそれぞれと、ネットワーク２を介して接続する。動作指図装置３００は、ゲームシステム１に少なくとも１台設けられている。動作指図装置３００は、サーバ２００が提供するサービスを利用するユーザ端末１００の数に応じて、複数台設けられていてもよい。１台のユーザ端末１００に対して、１台の動作指図装置３００が設けられていてもよい。複数台のユーザ端末１００に対して、１台の動作指図装置３００が設けられていてもよい。
【００２６】
動作指図装置３００（ＮＰＣ制御装置、キャラクタ制御装置）は、サーバ、デスクトップパソコン、ノートパソコン、または、タブレットなどのコンピュータ、および、これらを組み合わせたコンピュータ群であってもよい。動作指図装置３００は、図示の通り、プロセッサ３０と、メモリ３１と、ストレージ３２と、通信ＩＦ３３と、入出力ＩＦ３４と、タッチスクリーン３５（表示部）とを備える。動作指図装置３００が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、動作指図装置３００は、タッチスクリーン３５に代えて、または、加えて、動作指図装置３００本体とは別に構成されたディスプレイ（表示部）を接続可能な入出力ＩＦ３４を備えていてもよい。
【００２７】
また、図１に示すように、動作指図装置３００は、１つ以上のマイク３０１０、１つ以上のモーションキャプチャ装置３０２０、および、１つ以上のコントローラ３０３０などの周辺機器と、無線または有線を介して、通信可能に構成されてもよい。無線で接続される周辺機器は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の通信規格に従って、動作指図装置３００と通信を確立する。
【００２８】
マイク３０１０は、周囲で発生した音声を取得し、これを電気信号に変換する。電気信号に変換された音声は、音声データとして、動作指図装置３００に送信され、通信ＩＦ３３を介して動作指図装置３００に受け付けられる。
【００２９】
モーションキャプチャ装置３０２０は、追跡対象（例えば、人）のモーション（顔の表情、口の動きなども含む）を追跡し、追跡結果としての出力値を動作指図装置３００へ送信する。出力値であるモーションデータは、通信ＩＦ３３を介して動作指図装置３００に受け付けられる。モーションキャプチャ装置３０２０のモーションキャプチャ方式は特に限定されない。モーションキャプチャ装置３０２０は、採用された方式に応じて、カメラ、各種センサ、マーカー、モデル（人物）が着用するスーツ、信号送出器など、モーションをキャプチャするためのあらゆる機構を選択的に備えている。
【００３０】
コントローラ３０３０は、１つ以上のボタン、レバー、スティック、ホイール等の物理的な入力機構を有していてもよい。コントローラ３０３０は、動作指図装置３００のオペレータが、該入力機構に対して入力した入力操作に基づく出力値を動作指図装置３００へ送信する。また、コントローラ３０３０は、加速度センサ、および、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値を動作指図装置３００へ送信してもよい。上述の出力値は、通信ＩＦ３３を介して動作指図装置３００に受け付けられる。なお、以下では、動作指図装置３００に備えられた操作部または動作指図装置３００と通信可能に接続された各種の入力機構を用いて、動作指図装置３００に対して、何らかの入力操作を行う人をオペレータと称する。オペレータには、入力部３５１、コントローラ３０３０などを用いて動作指図装置３００を操作する人も含まれるし、マイク３０１０を介して音声を入力する声優も含まれるし、モーションキャプチャ装置３０２０を介して動きを入力するモデルも含まれる。
【００３１】
動作指図装置３００は、図示しない、カメラと、測距センサとを備えていてもよい。動作指図装置３００が備えることに代えて、または、加えて、モーションキャプチャ装置３０２０およびコントローラ３０３０がカメラと、測距センサとを有してしてもよい。
【００３２】
以上で説明したとおり、動作指図装置３００は、該動作指図装置３００に対して情報を入力する機構の一例として、通信ＩＦ３３、入出力ＩＦ３４、タッチスクリーン３５を備える。必要に応じて、カメラ、および、測距センサをさらに備えていてもよい。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
【００３３】
操作部がタッチスクリーン３５で構成されていてもよい。この場合、動作指図装置３００は、タッチスクリーン３５の入力部３５１に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信ＩＦ３３で構成される場合、動作指図装置３００は、コントローラ３０３０から送信される信号（例えば、出力値）をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力ＩＦ３４で構成される場合、該入出力ＩＦ３４と接続されるコントローラ３０３０とは異なる入力装置（図示せず）から出力される信号をユーザの入力操作として特定し、受け付ける。
【００３４】
＜ゲーム概要＞
本実施形態では、一例として、ゲームシステム１において、サーバ２００とユーザ端末１００とが協働して、ゲームプログラム１３１を実行し、ユーザがプレイするゲームをユーザ端末１００において進行させる。また、本実施形態では、ゲームシステム１において、動作指図装置３００（キャラクタ制御装置）は、キャラクタ制御プログラム１３４を実行し、ユーザ端末１００が実行するゲームに登場させる少なくとも一部のキャラクタの動作を制御することができる。
【００３５】
ゲームシステム１は、特定のジャンルに限らず、あらゆるジャンルのゲームを実行するためのシステムであってもよい。例えば、テニス、卓球、ドッジボール、野球、サッカーおよびホッケーなどのスポーツを題材としたゲーム、パズルゲーム、クイズゲーム、ＲＰＧ、アドベンチャーゲーム、シューティングゲーム、シミュレーションゲーム、育成ゲーム、ならびに、アクションゲームなどであってもよい。
【００３６】
また、ゲームシステム１は、特定のプレイ形態に限らず、あらゆるプレイ形態のゲームを実行するためのシステムであってもよい。例えば、単一のユーザによるシングルプレイゲーム、および、複数のユーザによるマルチプレイゲーム、また、マルチプレイゲームの中でも、複数のユーザが対戦する対戦ゲーム、および、複数のユーザが協力する協力プレイゲームなどであってもよい。例えば、対戦ゲームには、上述のとおり、テニスまたは野球などスポーツを題材とした対戦ゲームが含まれていてもよい。また、対戦ゲームには、将棋、囲碁、チェス、オセロなどのように２人で対戦するボードゲームが含まれていてもよい。また、対戦ゲームには、複数のユーザがそれぞれ乗り物または選手などを操作して同じコースを周回し、そのタイムを競うレースゲームなどが含まれていてもよい。
【００３７】
＜各装置のハードウェア構成要素＞
プロセッサ１０は、ユーザ端末１００全体の動作を制御する。プロセッサ２０は、サーバ２００全体の動作を制御する。プロセッサ３０は、動作指図装置３００全体の動作を制御する。プロセッサ１０、２０および３０は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、およびＧＰＵ（Graphics Processing Unit）を含む。
【００３８】
プロセッサ１０は後述するストレージ１２からプログラムを読み出し、後述するメモリ１１に展開する。プロセッサ２０は後述するストレージ２２からプログラムを読み出し、後述するメモリ２１に展開する。プロセッサ３０は後述するストレージ３２からプログラムを読み出し、後述するメモリ３１に展開する。プロセッサ１０、プロセッサ２０およびプロセッサ３０は展開したプログラムを実行する。
【００３９】
メモリ１１、２１および３１は主記憶装置である。メモリ１１、２１および３１は、ＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）等の記憶装置で構成される。メモリ１１は、プロセッサ１０が後述するストレージ１２から読み出したプログラムおよび各種データを一時的に記憶することにより、プロセッサ１０に作業領域を提供する。メモリ１１は、プロセッサ１０がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ２１は、プロセッサ２０が後述するストレージ２２から読み出した各種プログラムおよびデータを一時的に記憶することにより、プロセッサ２０に作業領域を提供する。メモリ２１は、プロセッサ２０がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ３１は、プロセッサ３０が後述するストレージ３２から読み出した各種プログラムおよびデータを一時的に記憶することにより、プロセッサ３０に作業領域を提供する。メモリ３１は、プロセッサ３０がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
【００４０】
本実施形態においてプログラムとは、ゲームをユーザ端末１００により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをユーザ端末１００とサーバ２００との協働により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをユーザ端末１００とサーバ２００と動作指図装置３００との協働により実現するためのゲームプログラムであってもよい。なお、ユーザ端末１００とサーバ２００との協働により実現されるゲームおよびユーザ端末１００とサーバ２００と動作指図装置３００との協働により実現されるゲームは、一例として、ユーザ端末１００において起動されたブラウザ上で実行されるゲームであってもよい。あるいは、該プログラムは、該ゲームを複数のユーザ端末１００の協働により実現するためのゲームプログラムであってもよい。また、各種データとは、ユーザ情報およびゲーム情報などのゲームに関するデータ、ならびに、ゲームシステム１の各装置間で送受信する指示または通知を含んでいる。
【００４１】
ストレージ１２、２２および３２は補助記憶装置である。ストレージ１２、２２および３２は、フラッシュメモリまたはＨＤＤ（Hard Disk Drive）等の記憶装置で構成される。ストレージ１２、２２および３２には、ゲームに関する各種データが格納される。
【００４２】
通信ＩＦ１３は、ユーザ端末１００における各種データの送受信を制御する。通信ＩＦ２３は、サーバ２００における各種データの送受信を制御する。通信ＩＦ３３は、動作指図装置３００における各種データの送受信を制御する。通信ＩＦ１３、２３および３３は例えば、無線ＬＡＮ（Local Area Network）を介する通信、有線ＬＡＮ、無線ＬＡＮ、または携帯電話回線網を介したインターネット通信、ならびに近距離無線通信等を用いた通信を制御する。
【００４３】
入出力ＩＦ１４は、ユーザ端末１００がデータの入力を受け付けるためのインターフェースであり、またユーザ端末１００がデータを出力するためのインターフェースである。入出力ＩＦ１４は、ＵＳＢ（Universal Serial Bus）等を介してデータの入出力を行ってもよい。入出力ＩＦ１４は、例えば、ユーザ端末１００の物理ボタン、カメラ、マイク、または、スピーカ等を含み得る。サーバ２００の入出力ＩＦ２４は、サーバ２００がデータの入力を受け付けるためのインターフェースであり、またサーバ２００がデータを出力するためのインターフェースである。入出力ＩＦ２４は、例えば、マウスまたはキーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部とを含み得る。動作指図装置３００の入出力ＩＦ３４は、動作指図装置３００がデータの入力を受け付けるためのインターフェースであり、また動作指図装置３００がデータを出力するためのインターフェースである。入出力ＩＦ３４は、例えば、マウス、キーボード、スティック、レバー等の情報入力機器、液晶ディスプレイなどの画像を表示出力する機器、および、周辺機器（マイク３０１０、モーションキャプチャ装置３０２０、および、コントローラ３０３０）との間でデータを送受信するための接続部を含み得る。
【００４４】
ユーザ端末１００のタッチスクリーン１５は、入力部１５１と表示部１５２とを組み合わせた電子部品である。動作指図装置３００のタッチスクリーン３５は、入力部３５１と表示部３５２とを組み合わせた電子部品である。入力部１５１、３５１は、例えばタッチセンシティブなデバイスであり、例えばタッチパッドによって構成される。表示部１５２、３５２は、例えば液晶ディスプレイ、または有機ＥＬ（Electro-Luminescence）ディスプレイ等によって構成される。
【００４５】
入力部１５１、３５１は、入力面に対しユーザの操作（主にタッチ操作、スライド操作、スワイプ操作、およびタップ操作等の物理的接触操作）が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部１５１、３５１は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
【００４６】
図示していないが、ユーザ端末１００は、該ユーザ端末１００の保持姿勢を特定するための１以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、または、角速度センサ等であってもよい。ユーザ端末１００がセンサを備えている場合、プロセッサ１０は、センサの出力からユーザ端末１００の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ１０は、ユーザ端末１００が縦向きに保持されているときには、縦長の画像を表示部１５２に表示させる縦画面表示としてもよい。一方、ユーザ端末１００が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ１０は、ユーザ端末１００の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
【００４７】
カメラ１７は、イメージセンサ等を含み、レンズから入射する入射光を電気信号に変換することで撮影画像を生成する。
【００４８】
測距センサ１８は、測定対象物までの距離を測定するセンサである。測距センサ１８は、例えば、パルス変換した光を発する光源と、光を受ける受光素子とを含む。測距センサ１８は、光源からの発光タイミングと、該光源から発せられた光が測定対象物にあたって反射されて生じる反射光の受光タイミングとにより、測定対象物までの距離を測定する。測距センサ１８は、指向性を有する光を発する光源を有することとしてもよい。
【００４９】
ここで、ユーザ端末１００が、カメラ１７と測距センサ１８とを用いて、ユーザ端末１００の近傍の物体１０１０を検出した検出結果を、ユーザの入力操作として受け付ける例をさらに説明する。カメラ１７および測距センサ１８は、例えば、ユーザ端末１００の筐体の側面に設けられてもよい。カメラ１７の近傍に測距センサ１８が設けられてもよい。カメラ１７としては、例えば赤外線カメラを用いることができる。この場合、赤外線を照射する照明装置および可視光を遮断するフィルタ等が、カメラ１７に設けられてもよい。これにより、屋外か屋内かにかかわらず、カメラ１７の撮影画像に基づく物体の検出精度をいっそう向上させることができる。
【００５０】
プロセッサ１０は、カメラ１７の撮影画像に対して、例えば以下の（１）〜（５）に示す処理のうち１つ以上の処理を行ってもよい。（１）プロセッサ１０は、カメラ１７の撮影画像に対し画像認識処理を行うことで、該撮影画像にユーザの手が含まれているか否かを特定する。プロセッサ１０は、上述の画像認識処理において採用する解析技術として、例えばパターンマッチング等の技術を用いてよい。（２）また、プロセッサ１０は、ユーザの手の形状から、ユーザのジェスチャを検出する。プロセッサ１０は、例えば、撮影画像から検出されるユーザの手の形状から、ユーザの指の本数（伸びている指の本数）を特定する。プロセッサ１０はさらに、特定した指の本数から、ユーザが行ったジェスチャを特定する。例えば、プロセッサ１０は、指の本数が５本である場合、ユーザが「パー」のジェスチャを行ったと判定する。また、プロセッサ１０は、指の本数が０本である（指が検出されなかった）場合、ユーザが「グー」のジェスチャを行ったと判定する。また、プロセッサ１０は、指の本数が２本である場合、ユーザが「チョキ」のジェスチャを行ったと判定する。（３）プロセッサ１０は、カメラ１７の撮影画像に対し、画像認識処理を行うことにより、ユーザの指が人差し指のみ立てた状態であるか、ユーザの指がはじくような動きをしたかを検出する。（４）プロセッサ１０は、カメラ１７の撮影画像の画像認識結果、および、測距センサ１８の出力値等の少なくともいずれか１つに基づいて、ユーザ端末１００の近傍の物体１０１０（ユーザの手など）とユーザ端末１００との距離を検出する。例えば、プロセッサ１０は、カメラ１７の撮影画像から特定されるユーザの手の形状の大小により、ユーザの手がユーザ端末１００の近傍（例えば所定値未満の距離）にあるのか、遠く（例えば所定値以上の距離）にあるのかを検出する。なお、撮影画像が動画の場合、プロセッサ１０は、ユーザの手がユーザ端末１００に接近しているのか遠ざかっているのかを検出してもよい。（５）カメラ１７の撮影画像の画像認識結果等に基づいて、ユーザの手が検出されている状態で、ユーザ端末１００とユーザの手との距離が変化していることが判明した場合、プロセッサ１０は、ユーザが手をカメラ１７の撮影方向において振っていると認識する。カメラ１７の撮影範囲よりも指向性が強い測距センサ１８において、物体が検出されたりされなかったりする場合に、プロセッサ１０は、ユーザが手をカメラの撮影方向に直交する方向に振っていると認識する。
【００５１】
このように、プロセッサ１０は、カメラ１７の撮影画像に対する画像認識により、ユーザが手を握りこんでいるか否か（「グー」のジェスチャであるか、それ以外のジェスチャ（例えば「パー」）であるか）を検出する。また、プロセッサ１０は、ユーザの手の形状とともに、ユーザがこの手をどのように移動させているかを検出する。また、プロセッサ１０は、ユーザがこの手をユーザ端末１００に対して接近させているのか遠ざけているのかを検出する。このような操作は、例えば、マウスまたはタッチパネルなどのポインティングデバイスを用いた操作に対応させることができる。ユーザ端末１００は、例えば、ユーザの手の移動に応じて、タッチスクリーン１５においてポインタを移動させ、ユーザのジェスチャ「グー」を検出する。この場合、ユーザ端末１００は、ユーザが選択操作を継続中であると認識する。選択操作の継続とは、例えば、マウスがクリックされて押し込まれた状態が維持されること、または、タッチパネルに対してタッチダウン操作がなされた後タッチされた状態が維持されることに対応する。また、ユーザ端末１００は、ユーザのジェスチャ「グー」が検出されている状態で、さらにユーザが手を移動させると、このような一連のジェスチャを、スワイプ操作（またはドラッグ操作）に対応する操作として認識することもできる。また、ユーザ端末１００は、カメラ１７の撮影画像によるユーザの手の検出結果に基づいて、ユーザが指をはじくようなジェスチャを検出した場合に、当該ジェスチャを、マウスのクリックまたはタッチパネルへのタップ操作に対応する操作として認識してもよい。
【００５２】
＜ゲームシステム１の機能的構成＞
図２は、ゲームシステム１に含まれるユーザ端末１００、サーバ２００および動作指図装置３００の機能的構成を示すブロック図である。ユーザ端末１００、サーバ２００および動作指図装置３００のそれぞれは、図示しない、一般的なコンピュータとして機能する場合に必要な機能的構成、および、ゲームにおける公知の機能を実現するために必要な機能的構成を含み得る。
【００５３】
ユーザ端末１００は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末１００は、プロセッサ１０、メモリ１１、ストレージ１２、通信ＩＦ１３、および入出力ＩＦ１４等の協働によって、制御部１１０および記憶部１２０として機能する。
【００５４】
サーバ２００は、各ユーザ端末１００と通信して、ユーザ端末１００がゲームを進行させるのを支援する機能を有する。例えば、ユーザ端末１００が本ゲームに係るアプリケーションを始めてダウンロードするときには、初回ゲーム開始時にユーザ端末１００に記憶させておくべきデータをユーザ端末１００に提供する。例えば、サーバ２００は、キャラクタを動作させるための動作指図データをユーザ端末１００に送信する。動作指図データは、予め、モデルなどのアクターの動きを取り込んだモーションキャプチャデータを含んでいてもよいし、声優などのアクターの音声を録音した音声データを含んでいてもよいし、キャラクタを動作させるための入力操作の履歴を示す操作履歴データを含んでいてもよいし、上述の一連の入力操作に対応付けられたコマンドを時系列に並べたモーションコマンド群を含んでいてもよい。本ゲームがマルチプレイゲームである場合には、サーバ２００は、ゲームに参加する各ユーザ端末１００と通信して、ユーザ端末１００同士のやりとりを仲介する機能および同期制御機能を有していてもよい。また、サーバ２００は、ユーザ端末１００と動作指図装置３００とを仲介する機能を備えている。これにより、動作指図装置３００は、適時に、宛先を誤ることなく、ユーザ端末１００または複数のユーザ端末１００のグループに対して動作指図データを供給することが可能となる。サーバ２００は、プロセッサ２０、メモリ２１、ストレージ２２、通信ＩＦ２３、および入出力ＩＦ２４等の協働によって、制御部２１０および記憶部２２０として機能する。
【００５５】
動作指図装置３００は、ユーザ端末１００におけるキャラクタの動作を指示するための動作指図データを生成し、ユーザ端末１００に供給する機能を有する。動作指図装置３００は、プロセッサ３０、メモリ３１、ストレージ３２、通信ＩＦ３３、および入出力ＩＦ３４等の協働によって、制御部３１０および記憶部３２０として機能する。
【００５６】
記憶部１２０、２２０および３２０は、ゲームプログラム１３１、ゲーム情報１３２およびユーザ情報１３３を格納する。ゲームプログラム１３１は、ユーザ端末１００、サーバ２００および動作指図装置３００が実行するゲームプログラムである。ゲーム情報１３２は、制御部１１０、２１０および３１０がゲームプログラム１３１を実行する際に参照するデータである。ユーザ情報１３３は、ユーザのアカウントに関するデータである。記憶部２２０および３２０において、ゲーム情報１３２およびユーザ情報１３３は、ユーザ端末１００ごとに格納されている。記憶部３２０は、さらに、キャラクタ制御プログラム１３４を格納する。キャラクタ制御プログラム１３４は、動作指図装置３００が実行するプログラムであり、上述のゲームプログラム１３１に基づくゲームに登場させるキャラクタの動作を制御するためのプログラムである。
【００５７】
（サーバ２００の機能的構成）
制御部２１０は、記憶部２２０に格納されたゲームプログラム１３１を実行することにより、サーバ２００を統括的に制御する。例えば、制御部２１０は、ユーザ端末１００に各種データおよびプログラム等を送信する。制御部２１０は、ゲーム情報もしくはユーザ情報の一部または全部をユーザ端末１００から受信する。ゲームがマルチプレイゲームである場合には、制御部２１０は、ユーザ端末１００からマルチプレイの同期の要求を受信して、同期のためのデータをユーザ端末１００に送信してもよい。また、制御部２１０は、必要に応じて、ユーザ端末１００および動作指図装置３００と通信して、情報の送受信を行う。
【００５８】
制御部２１０は、ゲームプログラム１３１の記述に応じて、進行支援部２１１および共有支援部２１２として機能する。制御部２１０は、実行するゲームの性質に応じて、ユーザ端末１００におけるゲームの進行を支援するために、図示しないその他の機能ブロックとしても機能することができる。
【００５９】
進行支援部２１１は、ユーザ端末１００と通信し、ユーザ端末１００が、本ゲームに含まれる各種パートを進行するための支援を行う。例えば、進行支援部２１１は、ユーザ端末１００が、ゲームを進行させるとき、該ゲームを進行させるために必要な情報をユーザ端末１００に提供する。
【００６０】
共有支援部２１２は、複数のユーザ端末１００と通信し、複数のユーザが、各々のユーザ端末１００にて互いのデッキを共有し合うための支援を行う。また、共有支援部２１２は、オンラインのユーザ端末１００と動作指図装置３００とをマッチングする機能を有していてもよい。これにより、ユーザ端末１００と動作指図装置３００との間の情報の送受信が円滑に実施される。
【００６１】
（ユーザ端末１００の機能的構成）
制御部１１０は、記憶部１２０に格納されたゲームプログラム１３１を実行することにより、ユーザ端末１００を統括的に制御する。例えば、制御部１１０は、ゲームプログラム１３１およびユーザの操作にしたがって、ゲームを進行させる。また、制御部１１０は、ゲームを進行させている間、必要に応じて、サーバ２００および動作指図装置３００と通信して、情報の送受信を行う。
【００６２】
制御部１１０は、ゲームプログラム１３１の記述に応じて、操作受付部１１１、表示制御部１１２、ユーザインターフェース（以下、ＵＩ）制御部１１３、アニメーション生成部１１４、ゲーム進行部１１５、解析部１１６および進捗情報生成部１１７として機能する。制御部１１０は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
【００６３】
操作受付部１１１は、入力部１５１に対するユーザの入力操作を検知し受け付ける。操作受付部１１１は、タッチスクリーン１５およびその他の入出力ＩＦ１４を介したコンソールに対してユーザが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部１１０の各要素に出力する。
【００６４】
例えば、操作受付部１１１は、入力部１５１に対する入力操作を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部１１１は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部１１１は、連続して検知されていた入力が途切れると、タッチスクリーン１５から接触入力が解除されたことを検知する。
【００６５】
ＵＩ制御部１１３は、ＵＩを構築するために表示部１５２に表示させるＵＩオブジェクトを制御する。ＵＩオブジェクトは、ユーザが、ゲームの進行上必要な入力をユーザ端末１００に対して行うためのツール、または、ゲームの進行中に出力される情報をユーザ端末１００から得るためのツールである。ＵＩオブジェクトは、これには限定されないが、例えば、アイコン、ボタン、リスト、メニュー画面などである。
【００６６】
アニメーション生成部１１４は、各種オブジェクトの制御態様に基づいて、各種オブジェクトのモーションを示すアニメーションを生成する。例えば、アニメーション生成部１１４は、キャラクタがまるでそこにいるかのように動いたり、口を動かしたり、表情を変えたりする様子を表現したアニメーション等を生成してもよい。
【００６７】
表示制御部１１２は、タッチスクリーン１５の表示部１５２に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部１１２は、アニメーション生成部１１４によって生成されたアニメーションを含むゲーム画面を表示部１５２に表示してもよい。また、表示制御部１１２は、ＵＩ制御部１１３によって制御される上述のＵＩオブジェクトを、該ゲーム画面に重畳して描画してもよい。
【００６８】
ゲーム進行部１１５は、ゲームを進行させる。本実施形態では、ゲーム進行部１１５は、本実施形態に係るゲームシステム１において実行されるゲーム（以下、本ゲーム）を、操作受付部１１１を介して入力されるユーザの入力操作に応じて進行させる。本ゲームが、第１パート、第２パート・・・というように複数のパートに分かれて構成されている場合、ゲーム進行部１１５は、パートごとの仕様にしたがってゲームを進行させる。
【００６９】
一例を挙げると、本ゲームが、対戦テニスゲームであって、チュートリアルパート、対戦パート、および、抽選パートに分かれているとする。例えば、ゲーム進行部１１５は、チュートリアルパートにおいて、初心者のユーザが、その他のパート（対戦パートおよび抽選パート）をプレイするために必要な知識を提供したり、本ゲームのメインである対戦パートでのコア操作を習得するために簡単な練習モードを提供したりする。ゲーム進行部１１５は、チュートリアルパートを、ユーザの入力操作と、予め記憶部１２０にダウンロードされたゲームプログラム１３１とにしたがって進行させる。
【００７０】
ゲーム進行部１１５は、対戦パートにおいて、ユーザが操作するテニス選手と、他のユーザが操作するテニス選手とを対戦させる。ゲーム進行部１１５は、サーバ２００を介して、他のユーザが操作するユーザ端末１００と情報を共有し、同期をとりながら、テニスの対戦を進行させる。すなわち、ゲーム進行部１１５は、対戦パートを、ユーザの入力操作と、他のユーザの入力操作と、ゲームプログラム１３１とにしたがって進行させる。
【００７１】
ゲーム進行部１１５は、抽選パートにおいて、抽選を実行し、当選したゲーム媒体をユーザに獲得させる。ゲーム媒体は、本ゲームで利用可能なデジタルデータであり、例えば、対戦を有利にするために、ユーザが操作するテニス選手を強化できるアイテムなどである。ゲーム進行部１１５は、抽選パートを、ユーザの入力操作と、予め記憶部１２０にダウンロードされたゲームプログラム１３１と、サーバ２００が実行する抽選結果とにしたがって進行させる。ここで、「ゲーム媒体をユーザに獲得させる」とは、一例として、ユーザに対応付けて管理されているゲーム媒体のステータスを、使用不可から使用可能に遷移させることであってもよい。あるいは、ゲーム媒体を、ユーザ識別情報またはユーザ端末ＩＤなどに対応付けて、ゲームシステム１に含まれる少なくともいずれかのメモリ（メモリ１１、メモリ２１、メモリ３１）に記憶させることであってもよい。
【００７２】
解析部１１６は、動作指図データを解析して（レンダリングして）、解析結果に基づいてキャラクタを動作させるようにゲーム進行部１１５に指示する。本実施形態では、解析部１１６は、動作指図装置３００によって供給された動作指図データが通信ＩＦ３３を介して受信されたことをトリガにして、該動作指図データのレンダリングを開始する。動作指図装置３００は、解析結果をゲーム進行部１１５に伝達し、すぐに動作指図データに基づいてキャラクタを動作させるよう指示する。すなわち、ゲーム進行部１１５は、動作指図データが受信されたことをトリガにして、該動作指図データに基づいてキャラクタを動作させる。これにより、リアルタイムで動作するキャラクタをユーザに見せることが可能となる。
【００７３】
進捗情報生成部１１７は、ゲーム進行部１１５が実行しているゲームの進捗を示す進捗情報を生成し、適時、サーバ２００または動作指図装置３００に送信する。進捗情報は、例えば、現在表示されているゲーム画面を指定する情報を含んでいてもよいし、ゲームの進捗を、時系列で文字および記号等によって示した進行ログを含んでいてもよい。ゲームシステム１において、サーバ２００および動作指図装置３００が進捗情報を必要としない実施形態では、進捗情報生成部１１７は省略されてもよい。
【００７４】
（動作指図装置３００の機能的構成）
制御部３１０は、記憶部３２０に格納されたキャラクタ制御プログラム１３４を実行することにより、動作指図装置３００を統括的に制御する。例えば、制御部３１０は、キャラクタ制御プログラム１３４およびオペレータの操作にしたがって、動作指図データを生成し、ユーザ端末１００に供給する。制御部３１０は、必要に応じて、さらにゲームプログラム１３１を実行してもよい。また、制御部３１０は、サーバ２００および本ゲームを実行中のユーザ端末１００と通信して、情報の送受信を行う。
【００７５】
制御部３１０は、キャラクタ制御プログラム１３４の記述に応じて、操作受付部３１１、表示制御部３１２、ＵＩ制御部３１３、アニメーション生成部３１４、進捗模擬部３１５およびキャラクタ制御部３１６として機能する。制御部３１０は、ゲームシステム１において実行されるゲームの性質に応じて、該ゲームに登場するキャラクタを制御するために、図示しないその他の機能ブロックとしても機能することができる。
【００７６】
操作受付部３１１は、入力部３５１に対するオペレータの入力操作を検知し受け付ける。操作受付部３１１は、タッチスクリーン３５およびその他の入出力ＩＦ３４を介したコンソールに対して、オペレータが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部３１０の各要素に出力する。操作受付部３１１の機能の詳細は、ユーザ端末１００における操作受付部１１１のそれとほぼ同様である。
【００７７】
ＵＩ制御部３１３は、表示部３５２に表示させるＵＩオブジェクトを制御する。
【００７８】
アニメーション生成部３１４は、各種オブジェクトの制御態様に基づいて、各種オブジェクトのモーションを示すアニメーションを生成する。例えば、アニメーション生成部３１４は、通信相手となるユーザ端末１００上実際に表示されているゲーム画面を再現したアニメーション等を生成してもよい。
【００７９】
表示制御部３１２は、タッチスクリーン３５の表示部３５２に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部３１２の機能の詳細は、ユーザ端末１００における表示制御部１１２のそれとほぼ同様である。
【００８０】
進捗模擬部３１５は、ユーザ端末１００から受信するゲームの進捗を示す進捗情報に基づいて、ユーザ端末１００におけるゲームの進捗を把握する。そして、進捗模擬部３１５は、該ユーザ端末１００の挙動を動作指図装置３００において模擬的に再現することで、オペレータに対して、ユーザ端末１００の進捗を提示する。
【００８１】
例えば、進捗模擬部３１５は、ユーザ端末１００で表示されているゲーム画面を再現したものを自装置の表示部３５２に表示してもよい。また、進捗模擬部３１５は、ユーザ端末１００において、ゲームの進捗を上述の進行ログとして表示部３５２に表示してもよい。
【００８２】
また、進捗模擬部３１５の機能の一部は、制御部３１０がゲームプログラム１３１を実行することにより実現されてもよい。例えば、まず進捗模擬部３１５は、進捗情報に基づいて、ユーザ端末１００のゲームの進捗を把握する。そして、進捗模擬部３１５は、ユーザ端末１００においてゲームプログラム１３１基づき現在表示されている、ゲーム画面を、完全にまたは簡略化して自装置の表示部３５２に再現してもよい。あるいは、進捗模擬部３１５は、現時点のゲームの進捗を把握し、ゲームプログラム１３１に基づいて現時点以降のゲーム進行を予測し、予測結果を表示部３５２に出力してもよい。
【００８３】
キャラクタ制御部３１６は、ユーザ端末１００に表示させるキャラクタの挙動を制御する。具体的には、キャラクタを動作させるための動作指図データを生成し、ユーザ端末１００に供給する。例えば、キャラクタ制御部３１６は、オペレータ（声優など）が、マイク３０１０を介して入力した音声データに基づいて、制御対象のキャラクタに発言させることを指示する動作指図データを生成する。このようにして生成された動作指図データには、上述の音声データが少なくとも含まれる。また、例えば、オペレータ（モデルなど）が、モーションキャプチャ装置３０２０を介して入力したモーションキャプチャデータに基づく動きを制御対象のキャラクタに行わせることを指示する動作指図データを生成する。このようにして生成された動作指図データには、上述のモーションキャプチャデータが少なくとも含まれる。また、例えば、オペレータが、コントローラ３０３０などの入力機構または入力部３５１などの操作部を介して入力した入力操作の履歴、すなわち、操作履歴データに基づいて、制御対象のキャラクタを動作させることを指示する動作指図データを生成する。このようにして生成された動作指図データには、上述の操作履歴データが少なくとも含まれる。操作履歴データは、例えば、表示部にどの画面が表示されているときに、オペレータが、コントローラ３０３０のどのボタンをどのタイミングで押したのかを示す操作ログが時系列で整理されている情報である。ここでの表示部は、コントローラ３０３０と連動した表示部であって、タッチスクリーン３５の表示部３５２であってもよいし、入出力ＩＦ３４を介して接続された別の表示部であってもよい。あるいは、キャラクタ制御部３１６は、オペレータが上述の入力機構または操作部を介して入力した入力操作に対応付けられた、キャラクタの動作を指示するコマンドを特定する。そして、キャラクタ制御部３１６は、該コマンドを入力された順に並べてキャラクタの一連の動作を示すモーションコマンド群を生成し、該モーションコマンド群にしたがってキャラクタを動作させることを指示する動作指図データを生成してもよい。このようにして生成された動作指図データには、上述のモーションコマンド群が少なくとも含まれる。
【００８４】
反応処理部３１７は、ユーザ端末１００からユーザの反応についてフィードバックを受け付けて、これを動作指図装置３００のオペレータに対して出力する。本実施形態では、例えば、ユーザ端末１００は、上述の動作指図データにしたがってキャラクタを動作させている間、該キャラクタに宛てて、ユーザがコメントを作成することができる。反応処理部３１７は、該コメントのコメントデータを受け付けて、これを、出力する。反応処理部３１７は、ユーザのコメントに対応するテキストデータを、表示部３５２に表示してもよいし、ユーザのコメントに対応する音声データを、図示しないスピーカから出力してもよい。
【００８５】
なお、図２に示すユーザ端末１００、サーバ２００および動作指図装置３００の機能は一例にすぎない。ユーザ端末１００、サーバ２００および動作指図装置３００の各装置は、他の装置が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末１００、サーバ２００および動作指図装置３００以外のさらに別の装置をゲームシステム１の構成要素とし、該別の装置にゲームシステム１における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末１００、サーバ２００、動作指図装置３００およびそれ以外の別の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
【００８６】
＜処理概要＞
本実施形態では、ユーザ端末１００は、ゲームプログラム１３１に基づいて、ゲームの興趣性を向上させるために以下のステップを実行するように構成されている。具体的には、ユーザ端末１００は、操作部（例えば、入力部１５１）を介してユーザ端末１００に入力されたユーザの入力操作に応じてゲームを進行させるステップと、ゲームに登場する少なくとも１つのキャラクタを制御する動作指図装置３００に、ゲームの進捗を示す進捗情報を送信するステップと、動作指図装置３００においてゲームの進捗に合わせて入力された、キャラクタの発言に対応する音声データを、動作指図装置３００から受信するステップと、音声データを受信したことをトリガにして、ゲームの進行中に登場するキャラクタに、少なくとも該音声データの内容を発話させることにより、該キャラクタを動作させるステップとを実行する。
【００８７】
また、本実施形態では、動作指図装置３００は、キャラクタ制御プログラム１３４に基づいて、ゲームの興趣性を向上させるために以下のステップを実行するように構成されている。具体的には、動作指図装置３００は、ゲームを進行させるユーザ端末１００から受信した、該ゲームの進捗を示す進捗情報に基づいて、ゲームの進捗を示す進捗画面を表示部３５２に表示するステップと、表示部３５２に表示された前記進捗画面が示す前記ゲームの進捗に合わせて動作指図装置３００に入力された、前記キャラクタの発言に対応する音声データを受け付けるステップと、受け付けられた前記音声データを前記ユーザ端末１００に送信するステップとを実行する。
【００８８】
上述の構成によれば、ユーザがゲームをプレイ中、ユーザ端末１００におけるゲームの進捗が、動作指図装置３００に報告される。したがって、動作指図装置３００のオペレータは、ユーザがゲームをどこまで進めたのかを把握することができる。これにより、オペレータまたはオペレータから指示を受けた声優は、ユーザのゲームの進捗に合った音声データを動作指図装置３００に入力することができる。進捗を踏まえてオペレータから動作指図装置３００に入力された該音声データが、ユーザ端末１００に供給される。ユーザ端末１００は、ゲームの進行中に、該音声データの内容をキャラクタに発話させる。これにより、ユーザは、プレイ中のゲームの進捗に合った内容を発言してくれるキャラクタの存在を認識しつつ、ゲームをプレイすることができる。キャラクタにはゲームの進捗に合わせて発言させることができるので、ユーザは、キャラクタに対し、一緒にゲームをプレイしているかのような現実感を覚えることができる。結果として、ゲームの世界への没入感を高め、該ゲームの興趣性を向上させるという効果を奏する。
【００８９】
＜データ構造＞
（画面遷移情報）
図３は、画面遷移情報のデータ構造の一例を示す図である。一例として、画面遷移情報は、「ゲームパート」および「画面情報」の各項目を含んで構成されている。
【００９０】
項目「ゲームパート」には、本ゲームを構成する各パートの識別情報が格納されている。一例として、本ゲームは、対戦テニスゲームであり、チュートリアルパート、対戦パート、抽選パートの３つのパートで構成されている。
【００９１】
項目「画面情報」には、各パートで表示される画面とその遷移を定義する情報が格納されている。例えば、本ゲームでは、チュートリアルパートでは、ＩＤ「０００１」の導入画面が表示部１５２に表示され、次に、ＩＤ「０００２」の練習画面が表示され、最後に、ＩＤ「０００３」の説明画面が表示されて、該チュートリアルパートが終了する。
【００９２】
本実施形態では、ユーザ端末１００および動作指図装置３００が、この画面遷移情報をそれぞれの記憶部に記憶して共有していてもよい。これにより、ユーザ端末１００と動作指図装置３００との間で画面ＩＤを送受信するだけで、ユーザ端末１００が現在どのパートのどのゲーム画面を表示中であるのかを簡単にユーザ端末１００から動作指図装置３００へ伝達することができる。
【００９３】
（進捗情報）
図４は、ユーザ端末１００の進捗情報生成部１１７が生成する進捗情報のデータ構造の一例を示す図である。一例として、進捗情報は、「画面ＩＤ」および「進行ログ」の各項目を含んで構成されている。
【００９４】
項目「画面ＩＤ」には、上述の画面ＩＤが格納される。進捗情報生成部１１７は、ゲーム進行部１１５が現在表示部１５２に表示させているゲーム画面を特定し、その画面ＩＤを、該項目に格納する。
【００９５】
項目「進行ログ」には、ゲーム進行部１１５によって実行されているゲームの進行ログが格納される。例えば、対戦パートが進行するにつれ、ゲーム進行部１１５は、進行ログを、定期的に、または、ログに残すべきイベントが発生する度に、記憶部１２０に記録する。進捗情報生成部１１７は、ゲーム進行部１１５によって記録された最新の進行ログを該項目に格納する。
【００９６】
進行ログは、例えば、イベントが発生した時刻とそのイベントの内容とが紐付けられたレコードが、時系列に並べられたものである。進捗情報生成部１１７は、「進行ログ」の項目に、進行ログ全体を格納してもよいし、動作指図装置３００へまだ報告されていない進行ログのレコードだけを格納してもよい。
【００９７】
進捗情報は、さらに、ゲームの性質に応じて、ゲームの進捗を把握するのに必要な項目を含んでいてもよい。例えば、対戦テニスゲームの対戦パートにおいては、仮想のゲーム空間において、対戦中の選手の位置および選手たちが打ち合うボールの位置は、ユーザの入力操作に応じて変化する。上述の選手およびボールのように、ユーザの入力操作に応じて、オブジェクトの属性が変化するオブジェクトを以下では、動的オブジェクトと称する。オブジェクトの属性とは例えば、オブジェクトのゲーム空間における位置、大きさ、または、形状などを指している。そこで、本実施形態では、進捗情報は、さらに、「動的オブジェクト」の項目を含んで構成されていてもよい。
【００９８】
項目「動的オブジェクト」には、動的オブジェクトの属性を特定するために必要な属性関連情報が格納される。属性関連情報は、例えば、動的オブジェクトのゲーム空間における位置特定するための座標情報であってもよい。あるいは、属性関連情報は、例えば、動的オブジェクトがボールである場合に、ボールの移動経路を特定するための情報であってもよい。例えば、進捗情報生成部１１７は、ラケットに衝突した直後のボールの速度ベクトル、回転軸、回転量等をゲーム進行部１１５から取得し、属性関連情報として「動的オブジェクト」の項目に格納してもよい。
【００９９】
進捗情報生成部１１７は、上述の各項目を含む進捗情報を、ゲーム進行中に、定期的に、または、所定のイベントが発生する度に生成し、動作指図装置３００に送信する。これにより、動作指図装置３００は、ユーザ端末１００におけるゲームの進捗を把握することが可能となる。
【０１００】
（動作指図データ）
図５は、本実施形態に係るゲームシステム１にて処理される動作指図データのデータ構造の一例を示す図である。一例として、動作指図データは、メタ情報である、「宛先」、「作成元」の各項目と、データの中身である、「キャラクタＩＤ」、「音声」、「動き」、「注目箇所」の各項目とを含んで構成されている。
【０１０１】
項目「宛先」には、宛先指定情報が格納されている。宛先指定情報は、該動作指図データが、どの装置宛てに送信されたものであるのかを示す情報である。宛先指定情報は、例えば、ユーザ端末１００固有のアドレスであってもよいし、ユーザ端末１００が所属しているグループの識別情報であってもよい。ある条件を満たすすべてのユーザ端末１００を宛先としていることを示す記号（例えば、「ＡＬＬ」など）であってもよい。
【０１０２】
項目「作成元」には、作成元情報が格納されている。作成元情報は、該動作指図データが、どの装置によって作成されたものであるのかを示す情報である。作成元情報は、例えば、ユーザＩＤ、ユーザ端末ＩＤ、ユーザ端末の固有アドレスなど、ある特定のユーザを特定可能な、ユーザに関連する情報である。作成元情報は、サーバ２００または動作指図装置３００を指し示すＩＤまたはアドレスであってもよいし、作成元が、サーバ２００または動作指図装置３００である場合には、該項目の値を空のままにしておいてもよいし、該項目自体を動作指図データに設けないようにしてもよい。
【０１０３】
項目「キャラクタＩＤ」には、本ゲームに登場するキャラクタを一意に識別するためのキャラクタＩＤが格納されている。ここに格納されているキャラクタＩＤは、該動作指図データがどのキャラクタの動作を指示するためのものであるのかを表している。
【０１０４】
項目「音声」には、キャラクタに発現させる音声データが格納されている。項目「動き」には、キャラクタの動きを指定するモーションデータが格納されている。モーションデータは、一例として、モーションキャプチャ装置３０２０を介して動作指図装置３００が取得したモーションキャプチャデータであってもよい。モーションキャプチャデータは、アクターの体全体の動きを追跡したデータであってもよいし、アクターの顔の表情および口の動きを追跡したデータであってもよいし、その両方であってもよい。モーションデータは、他の例として、コントローラ３０３０を介して動作指図装置３００のオペレータが入力した操作によって特定された、キャラクタの一連の動きを指示するモーションコマンド群であってもよい。例えば、コントローラ３０３０のボタンＡ、ボタンＢ、ボタンＣ、ボタンＤにそれぞれ、「右手を上げる」、「左手を上げる」、「歩く」、「走る」のコマンドが割り付けられている場合に、オペレータが、ボタンＡ、ボタンＢ、ボタンＣ、ボタンＤを続けて順に押した場合には、「右手を上げる」、「左手を上げる」、「歩く」、「走る」の各コマンドが上述の順に並べられたモーションコマンド群が、モーションデータとして、「動き」の項目に格納される。なお、本実施形態では、音声データとモーションデータとは同期がとれた状態で、動作指図データに含まれている。
【０１０５】
項目「注目箇所」には、ユーザ端末１００の表示部１５２に表示されているゲーム画面において、キャラクタとユーザとのやりとりの中で、ユーザに注目させたい箇所を特定するための注目情報が格納される。一例として、注目情報は、ゲーム画面上に配置されているオブジェクトのうちユーザに注目させたいオブジェクトを識別する識別情報、例えば、オブジェクトＩＤであってもよい。あるいは、注目情報は、ゲーム画面を表示する表示部１５２の特定の位置を示す位置座標（第２の位置座標）であってもよい。本実施形態では、動作指図装置３００の進捗模擬部３１５は、表示部３５２に、ユーザ端末１００の表示部１５２に表示されているゲーム画面を再現してもよい。この場合、動作指図装置３００のオペレータは、入力部３５１を介して、ユーザに注目させたい箇所を入力操作で指定することができる。入力操作がなされた表示部３５２における第１の位置座標は、キャラクタ制御部３１６によって上述の第２の位置座標に変換される。例えば、キャラクタ制御部３１６は、上述の変換のために、予めユーザ端末１００から取得されたタッチスクリーン１５の仕様（画素数および縦横比など）と、表示部３５２における再現されたゲーム画面が表示されている位置とを参照する。参照したこれらの情報を用いて、キャラクタ制御部３１６は、自装置の表示部３５２における第１の位置座標に対応する、ユーザ端末１００のタッチスクリーン１５における第２の位置座標を求めることができる。
【０１０６】
例えば、表示部３５２と入力部３５１とはタッチスクリーン３５を構成していてもよい。この場合、表示部３５２に表示された模擬画面に対してユーザが入力したタッチ操作（入力操作）の第１の位置座標は、入力部１５１を介してタッチスクリーン３５における位置座標としてキャラクタ制御部３１６に取得される。別の実施形態では、入力部３５１と表示部３５２とは別々に形成されていてもよい。例えば、入力部３５１がマウスまたはキーボードなどのように表示部３５２とは別体で形成された入力装置である場合、表示部３５２に表示された模擬画面に対してユーザがマウスを用いて所定の位置をクリックする。模擬画面に対してユーザが入力したクリック操作（入力操作）の第１の位置座標は、クリック操作の入力タイミングと、そのときに表示部３５２に表示されていたカーソルの表示位置とに基づいて決定されキャラクタ制御部３１６に供給される。
【０１０７】
ユーザ端末１００のゲーム進行部１１５が、「注目箇所」の情報を用いると、ゲーム進行部１１５は、ゲーム画面上のユーザに注目させたい箇所を、該ユーザに確実に伝えるための表示を行うことが可能となる。例えば、キャラクタの発話に、「これ」、「ここ」、「あそこ」、「こっち」などの指示語が含まれていても、ゲーム進行部１１５は、その指示語が指している箇所を把握し、それを強調表示することができる。そのため、ユーザは、指示語が指している箇所がどこなのかを正確に知ることができる。これにより、指示語を含む会話が、ユーザとキャラクタとの間で成立する。結果として、キャラクタがその場で一緒にプレイしているかのような、臨場感あふれるテンポの良い自然なコミュニケーションをユーザとキャラクタとの間で実現することができる。
【０１０８】
このような動作指図データを受信することにより、ゲーム進行部１１５は、ゲームに登場するキャラクタを、該動作指図データの作成元の意図通りに動作させることができる。具体的には、ゲーム進行部１１５は、動作指図データに音声データが含まれている場合には、該音声データに基づいてキャラクタに発話させ、動作指図データにモーションデータが含まれている場合には、該モーションデータに基づいてキャラクタを動かす、すなわち、モーションデータに基づく動きをするように該キャラクタのアニメーションを生成する。
【０１０９】
＜画面例＞
（進捗画面）
図６は、動作指図装置３００の表示部３５２に表示される進捗画面の一例を示す図である。本実施形態では、進捗模擬部３１５は、ユーザ端末１００から取得された進捗情報を、例えば、進捗画面４００として表示部３５２に表示させる。
【０１１０】
進捗画面４００は、一例として、模擬画面４０１および進行ログ４０２を含む。さらに、進捗画面４００は、オペレータ（または声優）が、マイク３０１０を介して音声データを自装置に対して入力するためのＵＩ部品４０３を含んでいてもよい。進捗画面４００は、ユーザ端末１００の表示部１５２に実際に表示されているのと同じ画面を模擬画面４０１として含んでいてもよいし、該画面を簡略化した模擬画面４０１を含んでいてもよい。
【０１１１】
進捗模擬部３１５は、ユーザ端末１００から取得した進捗情報を解析する。進捗模擬部３１５は、進捗情報に含まれている画面ＩＤに基づいて、ユーザ端末１００において表示されているゲーム画面を特定する。進捗模擬部３１５は、特定したゲーム画面を表示部３５２に表示する。例えば、進捗模擬部３１５は、記憶部３２０に記憶されているゲーム情報１３２、ユーザ情報１３３およびゲームプログラム１３１に基づいて、上述のゲーム画面を詳細に再現してもよい。しかし、進捗模擬部３１５は、処理の負荷を低減するために、上述のゲーム画面を簡略化した模擬画面４０１を生成することが好ましい。模擬画面４０１は、上述のゲーム画面に配置されている情報のうち、動作指図装置３００のオペレータが、ゲームの進捗を判断するために必要な最小限の情報だけを含んでいる。模擬画面４０１は、例えば、最小限の情報として、オブジェクトの外観の描画が省かれて、各オブジェクトのレイアウトと、各オブジェクトの機能の説明と、各オブジェクトのステータスとが含まれていてもよい。
【０１１２】
さらに、進捗模擬部３１５は、進捗情報に含まれている動的オブジェクトの属性関連情報に基づいて、ゲーム画面に配置されている動的オブジェクトの属性を模擬画面４０１において再現することが好ましい。例えば、進捗模擬部３１５は、動的オブジェクトであるボール４０４の属性関連情報に基づいてボール４０４の移動軌道を計算し、そのとおりにボール４０４を移動させてもよい。あるいは、進捗模擬部３１５は、動的オブジェクトである、ユーザが操作する選手４０５、および、対戦相手のユーザが操作する選手４０６の属性関連情報に基づいてゲーム空間における各選手の位置を特定する。そして、進捗模擬部３１５は、各選手と仮想カメラとの位置関係に基づいて、各選手の大きさを決定し、特定した位置にそれぞれの選手を配置する。あるいは、各選手の表示サイズは属性関連情報として予め定義されており、進捗模擬部３１５は、定義された表示サイズにしたがって各選手を配置してもよい。
【０１１３】
進捗模擬部３１５は、進捗情報に含まれている進行ログを進捗画面４００に配置する。例えば、進捗模擬部３１５は、図示のとおり、イベントの発生時刻と、該イベントの内容とが紐付けられた各レコードをテキストデータとして含む進行ログ４０２を生成する。
【０１１４】
以上のように、動作指図装置３００のオペレータは、進捗画面４００を確認することにより、ユーザ端末１００で実行されているゲームの進捗を把握することができる。
【０１１５】
さらに、進捗模擬部３１５は、ゲームプログラム１３１に基づいて、現時点のゲーム進捗から今後のゲーム展開を予測した予測結果を、進捗画面４００に含めてもよい。進捗模擬部３１５は、予測結果を、模擬画面４０１に重畳させて表示してもよいし、予測結果を、模擬画面４０１と切り替えられるように表示してもよいし、模擬画面４０１と並べて表示してもよい。あるいは、進捗模擬部３１５は、予測結果を、進行ログ４０２に、追加して表示してもよい。この場合、進捗模擬部３１５は、すでに起こったイベントとは異なる表示態様、例えば、異なる文字色にて予測結果を表示することが好ましい。
【０１１６】
これにより、動作指図装置３００のオペレータは、ユーザ端末におけるゲーム進捗に合わせて、今の状況に関することをキャラクタに発話させることに加えて、予測結果に基づいてこの先のことについてアドバイスすることができるようになる。例えば、対戦テニスゲームにおいて、ユーザがコンピュータと対戦するパートをプレイしているとする。この場合、ユーザの入力操作に基づいてボールが打ち返されたことを示す進捗情報がユーザ端末１００から動作指図装置３００に供給される。そして、進捗模擬部３１５は、この次に、コンピュータがどんな球を返すのかをゲームプログラム１３１に基づいて予測し、その返球軌道を、模擬画面４０１に重畳表示することができる。これを見たオペレータは、「すぐ右に移動して！こっちにくるよ！」などとキャラクタにアドバイスさせるように音声を入力したり、「こっち」が指す位置を指定したりすることができる。また、例えば、将棋やオセロなどの対戦ボードゲームであれば、進捗模擬部３１５は、進捗情報に基づいてユーザが指そうとしている１手を検出し、仮にその１手が実際に指された場合のその後の展開を予測する。進捗模擬部３１５は、その１手が、敗北が確定してしまう１手であると判断した場合、その旨のポップアップメッセージを模擬画面４０１上または進捗画面４００のその他の余白領域に表示してもよい。これを見たオペレータは、「そこはやめといたほうがいいって！」とキャラクタにアドバイスさせるための音声を入力することができる。
【０１１７】
操作受付部３１１が、マイク３０１０の入力が無効となっているマイクオフの状態のときに、進捗画面４００上に配置されたＵＩ部品４０３に対するオペレータのタッチ操作を受け付けたとする。この場合、キャラクタ制御部３１６は、マイク３０１０からの入力を有効にし、マイク３０１０を介して入力された音声データを取得して、動作指図データに含める。操作受付部３１１が、マイク３０１０の入力が有効となっているマイクオンの状態のときに、進捗画面４００上に配置されたＵＩ部品４０３に対するオペレータのタッチ操作を受け付けたとする。この場合、キャラクタ制御部３１６は、再び、マイク３０１０からの入力を無効にする。
【０１１８】
以上のように、オペレータは、ゲームの進捗を確認した後、その進捗に合うように、その場で発話の内容を決定して、該発話の内容に対応する音声データを動作指図装置３００に対して入力することができる。
【０１１９】
操作受付部３１１が、模擬画面４０１の表示領域に対するタッチ操作をオペレータから受け付けたとき、キャラクタ制御部３１６は、そのタッチ操作によって模擬画面４０１上のどのオブジェクトが指定されたのかを特定し、該オブジェクトの識別情報を取得してもよい。キャラクタ制御部３１６は、識別情報を、動作指図データの「注目箇所」の項目に格納してもよい。あるいは、キャラクタ制御部３１６は、タッチスクリーン３５における上述のタッチ操作の第１の位置座標を、ユーザ端末１００の表示部１５２の仕様に応じて、ユーザ端末１００のタッチスクリーン１５における第２の位置座標に変換する。キャラクタ制御部３１６は、オペレータのタッチ操作の位置を表示部１５２の座標系において示すための第２の位置座標を、動作指図データの「注目箇所」の項目に格納してもよい。
【０１２０】
以上のように、オペレータは、ゲームの進捗を確認し、その進捗に合うように、キャラクタの発話内容に対応する音声データを入力しつつ、その発話と同時にユーザに注目させたいゲーム画面上の注目箇所を指定することができる。
【０１２１】
（ゲーム画面）
ユーザ端末１００のゲーム進行部１１５は、ゲームの進行中に、動作指図装置３００から動作指図データを受信すると、表示中のゲーム画面に、該動作指図データによって指定されたキャラクタを重畳させて、該キャラクタを該動作指図データに基づいて動作させる。例えば、ゲーム進行部１１５が、チュートリアルパートの練習画面を表示しているときに動作指図データを受信したとする。この場合、ゲーム進行部１１５は、表示部１５２に表示中の練習画面８００に、キャラクタ８０１を重畳させる。そして、ゲーム進行部１１５は、キャラクタ８０１を、受信した動作指図データに基づいて動作させる。
【０１２２】
図７は、ユーザ端末１００の表示部１５２に表示されるゲーム画面の一例を示す図である。図７では、表示部１５２に表示されるゲーム画面の一例として、本ゲームのチュートリアルパートにおいて、２番目に表示される練習画面８００が図示されている。
【０１２３】
練習画面８００のレイアウトは、一例として、対戦パートで表示される対戦画面のレイアウトとほぼ同様である。具体的には、ゲーム進行部１１５は、練習画面８００において、ゲーム空間上のコートを描画する。そして、ゲーム進行部１１５は、ユーザが操作する選手８０２を手前に、対戦相手（チュートリアルパートではＣＯＭ）が操作する選手８０３を奥に配置する。ユーザは、練習画面８００を見ながら、選手８０２を操作してチュートリアルパートをプレイすることにより、対戦パートでの本番さながらに、操作方法を習得することができる。進捗情報生成部１１７は、ゲーム進行部１１５がチュートリアルパートを進行させている間、進捗情報を適時に生成し、動作指図装置３００に送信する。例えば、ラリーが続いて、スキルゲージが貯まり、選手８０２の状態が、スキルを発動可能な状態に遷移したとする。このとき、進捗情報生成部１１７は、スキル発動ボタン８０４が使用不可の状態から使用可に遷移したというイベントを含む進行ログを進捗情報に含めて動作指図装置３００に送信する。
【０１２４】
ゲーム進行部１１５は、動作指図データが動作指図装置３００から供給されないうちは、キャラクタ８０１を表示させなくてもよい。あるいは、本ゲームのアプリケーションをダウンロードしたときにあらかじめ供給された作り置きの動作指図データが記憶部１２０にゲームプログラム１３１とともに記憶されていてもよい。この場合、ゲーム進行部１１５は、ゲームプログラム１３１にしたがって、記憶部１２０から読み出した作り置きの動作指図データに基づいて、キャラクタ８０１を動作させてもよい。
【０１２５】
ユーザ端末１００から進捗情報を受信した動作指図装置３００は、進捗情報を先に説明した図６に示す進捗画面４００として表示部３５２に表示する。進捗画面４００を確認したオペレータは、例えば、スキル発動ボタン８０４を使うことをユーザにアドバイスすればよいと判断することができる。オペレータまたは声優７０１は、ゲームの進捗に合ったアドバイスを含む音声７００を、マイク３０１０を介して動作指図装置３００に入力する。また、オペレータまたはモデル（人物）７０２は、必要に応じて、モーションキャプチャ装置３０２０を介してキャラクタの動きを動作指図装置３００に入力してもよい。また、オペレータは、必要に応じて、タッチスクリーン３５を介して模擬画面４０１を操作し、練習画面８００においてユーザに注目させたい箇所を指定してもよい。こうして、少なくとも音声データと、必要に応じて追加されたモーションキャプチャデータと、注目情報とを含む動作指図データがキャラクタ制御部３１６によって生成され、ユーザ端末１００に送信される。
【０１２６】
本実施形態では、解析部１１６が、動作指図装置３００から、動作指図データを受信すると、これをトリガとして、ゲーム進行部１１５は、受信された動作指図データに基づいてキャラクタ８０１を練習画面８００に重畳させる。そして、動作指図データに含まれているモーションキャプチャデータが示す動きをキャラクタ８０１の動きに反映させる。上述のとおり、モーションキャプチャデータは、動作指図装置３００の設置場所において、モデル７０２の動きをモーションキャプチャ装置３０２０を介して取得したものである。したがって、モデル７０２の動きが、そのまま、表示部１５２に表示されるキャラクタ８０１の動きに反映される。
【０１２７】
また、ゲーム進行部１１５は、動作指図装置３００から供給された動作指図データに含まれている音声データ８０５を、キャラクタ８０１が発した音声として、キャラクタ８０１の動きと同期して出力する。音声データは、動作指図装置３００の設置場所において、声優７０１の音声７００をマイク３０１０を介して取得したものである。したがって、声優７０１が発した音声７００に対応する音声データ８０５が、そのまま、ユーザ端末１００のスピーカから出力される。
【０１２８】
また、ゲーム進行部１１５は、上述の動作指図データに含まれている注目情報が指している練習画面８００上の箇所を強調表示する。例えば、注目情報が、スキル発動ボタン８０４を指す識別情報であったり、スキル発動ボタン８０４が配置されている位置座標であったりする場合、ゲーム進行部１１５は、スキル発動ボタン８０４を強調表示する。例えば、ゲーム進行部１１５は、スキル発動ボタン８０４の表示態様を変更する。一例として、ゲーム進行部１１５は、スキル発動ボタン８０４の色を変更してもよいし、点滅、縁取り、上下左右に小刻みに動かすなどのアニメーションをスキル発動ボタン８０４に付してもよい。
【０１２９】
あるいは、ゲーム進行部１１５は、注目箇所を指定する指示オブジェクト８０６を練習画面８００に重畳させてもよい。さらに、ゲーム進行部１１５は、指示オブジェクト８０６を、キャラクタ８０１の装備品として描画し、キャラクタ８０１が指示オブジェクト８０６を使ってスキル発動ボタン８０４を指している演出を出力してもよい。
【０１３０】
上述の構成によれば、動作指図装置３００の設置場所において実在する声優７０１の音声が、ユーザ端末１００におけるゲームの進捗に応じて発せられ、それがそのまま、キャラクタ８０１の音声に反映される。また、同様に、実在するモデル７０２の動きが動作指図装置３００に入力され、音声データと併せてユーザ端末１００に供給されてもよい。これにより、ゲームの進捗に応じて発話するキャラクタ８０１に合わせて、該キャラクタ８０１に動きをつけることができる。さらに、動作指図装置３００の設置場所にて模擬画面４０１がタッチスクリーン３５を介してオペレータにより操作されてもよい。この場合、キャラクタ８０１の発話内容に関連して、ユーザに注目させたい練習画面８００上の箇所を、動作指図装置３００からユーザ端末１００へ伝えることができる。これにより、ゲームの進捗に応じてキャラクタ８０１が発話するのに合わせて、練習画面８００上の注目箇所をユーザに対して知らせることができる。
【０１３１】
ゲームのプレイ中に、上述のように、ゲームの進捗に合うようにふるまうキャラクタ８０１を見て、ユーザは、キャラクタ８０１に対して、まるで、現実の世界に存在するかのような現実感を覚えることができる。さらに、キャラクタ８０１と一緒にゲームをプレイしているかのように感じることができ、結果として、ユーザは、より一層ゲームを楽しむことができる。
【０１３２】
さらに、ゲーム進行部１１５は、ゲーム進行中に表示させるキャラクタ８０１を、これまでのプレイ結果に応じた表示態様にて、表示部１５２に表示させてもよい。
【０１３３】
一例として、ゲーム進行部１１５は、これまでにプレイされた対戦パートまたは抽選パートにおいて、キャラクタ８０１に身に付けさせることが可能なアイテムが獲得されていれば、そのアイテムのオブジェクトをキャラクタ８０１に合成してもよい。上述の構成によれば、ユーザが本ゲームをプレイすることにより獲得したアイテムを、キャラクタ８０１の服飾品に反映させることができる。
【０１３４】
これにより、ユーザは、キャラクタ８０１により愛着を感じて、本ゲームをより一層楽しむことができる。さらに、キャラクタ８０１の服飾品をバージョンアップさせたいというユーザの意欲を育むことができ、結果として、ゲームをプレイする動機付けを強化することが可能となる。
【０１３５】
さらに、本実施形態では、ゲーム進行部１１５は、キャラクタ８０１の動作に反応して、キャラクタ８０１に宛てたコメントを入力することが可能であってもよい。一例として、ゲーム進行部１１５は、練習画面８００に、コメント入力ボタン８０７を配置してもよい。ユーザは、コメント入力ボタン８０７にタッチして、コメントを入力するためのＵＩを呼び出し、該ＵＩを操作して、キャラクタ８０１に宛てたコメントを入力する。該ＵＩは、予め準備されたいくつかのコメントの中からユーザが所望のコメントを選択するためのものであってもよい。該ＵＩは、ユーザが文字を編集してコメントを入力するためのものであってもよい。該ＵＩは、ユーザが音声にてコメントを入力するためのものであってもよい。
【０１３６】
あるいは、対戦テニスゲームなどのように、ゲーム進行のために常にユーザの入力操作が必要であって、ユーザが、コメントを入力するための操作を行っている時間的余裕がないようなゲームでは、コメント入力ボタン８０７を設けずとも、常に、ユーザが音声を入力できるように構成されていてもよい。
【０１３７】
上述の構成によれば、ユーザは、リアルタイムに、キャラクタ８０１とのインタラクティブなやりとり楽しみながら、ゲームをプレイすることができる。
【０１３８】
＜処理フロー＞
図８は、ゲームシステム１を構成する各装置が実行する処理の流れを示すフローチャートである。
【０１３９】
ステップＳ１０１にて、ユーザ端末１００のゲーム進行部１１５は、ユーザからゲーム開始の入力操作を受け付けると、サーバ２００にアクセスし、ログインの要求を行う。
【０１４０】
ステップＳ１０２にて、サーバ２００の進行支援部２１１は、ユーザ端末１００のステータスがオンラインであることを確認し、ログインを受け付けた旨応答する。
【０１４１】
ステップＳ１０３にて、ゲーム進行部１１５は、必要に応じて、サーバ２００と通信しながら、ユーザの入力操作に応じてゲームを進行させる。例えば、ゲーム進行部１１５は、チュートリアルパート、対戦パート、または、抽選パートを進行させる。
【０１４２】
ステップＳ１０４にて、進行支援部２１１は、必要に応じて、ユーザ端末１００に対して必要な情報を提供するなどして、ユーザ端末１００におけるゲーム進行を支援する。
【０１４３】
ステップＳ１０５にて、動作指図データが動作指図装置３００からユーザ端末１００へライブで配信されるライブ配信時刻になると、サーバ２００の共有支援部２１２は、ステップＳ１０５のＹＥＳからステップＳ１０６に進む。ライブ配信時刻は、例えば、ゲームマスターによって予め決定されており、サーバ２００および動作指図装置３００において管理されていてもよい。また、ユーザ端末１００に対して、ライブ配信時刻は予め通知されていてもよいし、実際にライブ配信時刻になるまで秘密にされていてもよい。前者の場合、ユーザに対して安定的にライブ配信を供給することができ、後者の場合、サプライズ配信として、ユーザに特別な付加価値が付いたライブ配信を供給することが可能となる。
【０１４４】
ステップＳ１０６にて、共有支援部２１２は、ライブ配信を受ける権利がある１以上のユーザ端末１００を探索する。ライブ配信を受けられる条件は、適宜ゲームマスターが設定すればよいが、少なくとも、本ゲームのアプリケーションをインストールしていること、ライブ配信時刻時点で、オンラインであることが条件として挙げられる。本実施形態では一例として、共有支援部２１２は、事前に、上述のライブ配信時刻において、ライブ配信を受ける旨の予約を行った特定のユーザ端末１００を、ライブ配信を受ける権利があるユーザ端末１００として探索する。あるいは、共有支援部２１２は、ライブ配信時刻時点で、オンラインである、すなわち、本ゲームのアプリケーションを起動しているユーザ端末１００を、ライブ配信を受ける権利があるユーザ端末１００として探索してもよい。あるいは、共有支援部２１２は、さらに、ライブ配信を受けるための対価を支払い済みのユーザが所有するユーザ端末１００であることを条件に加えてもよい。
【０１４５】
ステップＳ１０７にて、共有支援部２１２は、検出した１以上のユーザ端末１００を動作指図装置３００に通知する。例えば、共有支援部２１２は、ユーザ端末１００の端末ＩＤ、ユーザ端末１００の所有者であるユーザのユーザＩＤ、および、ユーザ端末１００のアドレスなどを動作指図装置３００に通知してもよい。
【０１４６】
ステップＳ１０８にて、共有支援部２１２は、ライブ配信の実行主体として特定した動作指図装置３００を、ステップＳ１０６にて検出したユーザ端末１００に通知する。共有支援部２１２は、例えば、動作指図装置３００のアドレスまたは装置ＩＤなどをユーザ端末１００に通知してもよい。
【０１４７】
一方、ステップＳ１０９にて、動作指図装置３００のキャラクタ制御部３１６は、ライブ配信時刻になると、ステップＳ１０８のＹＥＳからＳ１１１以降の処理に進む。あるいは、キャラクタ制御部３１６は、サーバ２００から、ライブ配信を開始する旨の要求と、ライブ配信先のユーザ端末１００についての情報とを受信したときに（ステップＳ１０７の後）、Ｓ１１１以降の処理を開始してもよい。
【０１４８】
なお、ライブ配信は、ユーザの要求に応じて開始される構成であってもよい。この場合、ユーザ端末１００は、ユーザの入力操作にしたがって、動作指図データのライブ配信を希望する旨のリクエストをサーバ２００に送信する。サーバ２００は、このとき、ライブ配信に対応できる動作指図装置３００があれば、ライブ配信が可能である旨のレスポンスをユーザ端末１００に返す。また、マッチングが成立したユーザ端末１００および動作指図装置３００のそれぞれに通信相手の装置の情報を通知する。
【０１４９】
ステップＳ１１０にて、ユーザ端末１００の進捗情報生成部１１７は、進捗情報を生成し、動作指図装置３００に送信する。進捗情報生成部１１７は、ステップＳ１０３以降ゲーム進行部１１５によってゲームが進行している間、定期的にまたはイベントが発生する度に進行ログを更新して、適時、進捗情報を生成し、送信する。
【０１５０】
ステップＳ１１１にて、動作指図装置３００の進捗模擬部３１５は、進捗情報に基づいて、ユーザ端末１００におけるゲームの進捗を自装置においてシミュレーションする。例えば、進捗模擬部３１５は、進捗情報に基づいて、ユーザ端末１００におけるゲームの進捗を示す進捗画面４００を生成し、表示部３５２に表示する。一例として、進捗模擬部３１５は、図６に示すように、進捗情報に含まれる進行ログ４０２を進捗画面４００に配置する。また、進捗模擬部３１５は、進捗情報に含まれる画面ＩＤに基づいて、ユーザ端末１００において表示中のゲーム画面を特定し、該ゲーム画面の模擬画面４０１を進捗画面４００に配置する。さらに、進捗模擬部３１５は、進捗情報に含まれる動的オブジェクトの属性関連情報に基づいて、動的オブジェクトを模擬画面４０１上に再現してもよい。
【０１５１】
ステップＳ１１２にて、キャラクタ制御部３１６は、声優などのアクターが発した音声をマイク３０１０を介して音声データとして受け付ける。
【０１５２】
ステップＳ１１３にて、キャラクタ制御部３１６は、モデルなどのアクターがモーションキャプチャ装置３０２０を介して入力した動きをモーションキャプチャデータとして取得する。
【０１５３】
ステップＳ１１４にて、キャラクタ制御部３１６は、オペレータがタッチスクリーン３５の入力部３５１を介して入力したタッチ操作に基づいて、ゲーム画面上でユーザに注目してもらいたい箇所を特定する。
【０１５４】
なお、ステップＳ１１２〜Ｓ１１４は、どの順番で実行されても構わない。
【０１５５】
ステップＳ１１５にて、キャラクタ制御部３１６は、動作指図データを生成する。具体的には、キャラクタ制御部３１６は、ユーザ端末１００のゲーム画面に重畳させるキャラクタを特定し、該キャラクタのキャラクタＩＤを、動作指図データの「キャラクタＩＤ」の項目に格納する。どのキャラクタを重畳させるのかは、ゲームマスターによって予めスケジューリングされ、動作指図装置３００に登録されていてもよい。あるいは、動作指図装置３００のオペレータが、どのキャラクタの動作指図データを作成するのかを動作指図装置３００に対して予め指定しておいてもよい。キャラクタ制御部３１６は、少なくとも、ステップＳ１１２で取得した音声データを、動作指図データの「音声」の項目に格納する。キャラクタ制御部３１６は、ステップＳ１１３で取得したモーションキャプチャデータがある場合、これを、動作指図データの「動き」の項目に格納する。キャラクタ制御部３１６は、音声データとモーションキャプチャデータとが同期するように、音声データとモーションキャプチャデータとを紐付けることが好ましい。キャラクタ制御部３１６は、ステップＳ１１４で受け付けられたタッチ操作がある場合、これに基づいて注目情報を生成し、動作指図データの「注目箇所」の項目に格納する。キャラクタ制御部３１６は、ステップＳ１０７にてサーバ２００より通知された１以上のユーザ端末１００が宛先となるように、これらのユーザ端末１００のグループのグループ識別情報を、１台の場合は、ユーザ端末１００のアドレスを、宛先指定情報として、動作指図データの「宛先」の項目に格納する。
【０１５６】
ステップＳ１１６にて、キャラクタ制御部３１６は、通信ＩＦ３３を介して、上述のように生成した動作指図データを、宛先として指定した各ユーザ端末１００に送信する。キャラクタ制御部３１６は、アクターが声を出したり、動いたりして得られた音声データおよびモーションキャプチャデータを、取得してすぐさま動作指図データへとレンダリングし、リアルタイムで、各ユーザ端末１００に配信することが望ましい。
【０１５７】
なお、ステップＳ１１２〜Ｓ１１６は、ステップＳ１０７以降、ステップＳ１１１に先行して実行されてもよい。
【０１５８】
ステップＳ１１７にて、ユーザ端末１００の解析部１１６は、通信ＩＦ１３を介して、上述の動作指図データを受信する。例えば、解析部１１６は、動作指図装置３００またはサーバ２００から予めライブ配信すると予告された時刻に、動作指図データを受信してもよい。
【０１５９】
ステップＳ１１８にて、解析部１１６は、受信したことをトリガにして、すぐさま、受信した動作指図データを解析する。
【０１６０】
ステップＳ１１９にて、ゲーム進行部１１５は、解析部１１６によって解析された動画指図データで指定されたキャラクタを、表示部１５２に表示中のゲーム画面に重畳させ、該キャラクタを、該動作指図データに基づいて動作させる。具体的には、ゲーム進行部１１５は、図７に示す練習画面８００などを表示部１５２に表示しているところに、キャラクタ８０１を重畳させる。ゲーム進行部１１５は、声優７０１、モデル７０２などのアクターが動作指図装置３００の設置場所で、声を出したり、動いたりしているのとほぼ同時に、リアルタイムで、その音声および動きを、練習画面８００におけるキャラクタ８０１の発言および動きに反映させる。解析部１１６およびゲーム進行部１１５は、リアルタイムの動画のレンダリングおよび再生を、動作指図装置３００から動作指図データを継続して受信し続けている間継続する。具体的には、ゲーム進行部１１５は、ユーザから何の入力操作も受け付けず、動作指図データが受信されている間は、ステップＳ１２０のＮＯからステップＳ１０３に戻り、以降の各ステップを繰り返す。
【０１６１】
ステップＳ１２０にて、動作指図データに基づいてキャラクタが動作している間に、操作受付部１１１が、ユーザから入力操作を受け付けると、ゲーム進行部１１５は、ステップＳ１２０のＹＥＳからステップＳ１２１に進む。例えば、操作受付部１１１は、練習画面８００におけるコメント入力ボタン８０７に対する入力操作を受け付ける。
【０１６２】
ステップＳ１２１にて、ゲーム進行部１１５は、上述の入力操作に応じて生成したコメントデータを動作指図装置３００に送信する。具体的には、ゲーム進行部１１５は、選択されたコメントのコメントＩＤをコメントデータとして送信してもよい。あるいは、ゲーム進行部１１５は、ユーザにより入力された文章のテキストデータをコメントデータとして送信してもよい。あるいは、ゲーム進行部１１５は、ユーザにより入力された音声の音声データをコメントデータとして送信してもよい。あるいは、ゲーム進行部１１５は、ユーザにより入力された音声を認識し、テキストデータに変換したものをコメントデータとして送信してもよい。
【０１６３】
ステップＳ１２２にて、動作指図装置３００の反応処理部３１７は、通信ＩＦ３３を介して、ユーザ端末１００から送信されたコメントデータを受信する。
【０１６４】
ステップＳ１２３にて、反応処理部３１７は、受信したコメントデータを、動作指図装置３００に出力する。例えば、反応処理部３１７は、コメントデータに含まれるテキストデータを表示部３５２に表示する。これにより、オペレータまたはアクターは、自分たちが動かしたキャラクタに対して、ユーザがどのような反応を示したのかを示すフィードバックを受けることが可能となる。そして、オペレータまたはアクターは、このフィードバックに合わせて、さらなるキャラクタの動作を決定することができる。すなわち、動作指図装置３００は、ステップＳ１１２に戻り、音声データ、および、必要に応じてモーションキャプチャデータの取得を継続し、動作指図データをユーザ端末１００に提供し続ける。ユーザ端末１００は、自端末における入力操作の内容が動作指図装置３００によって受信された後、該動作指図装置３００から送信された動作指図データを受信する。具体的には、ユーザ端末１００は、キャラクタの発言内容に対応する音声データ、および、キャラクタの動きに対応するモーションキャプチャデータなどが含まれた動作指図データを受信する。そして、ユーザ端末１００は、継続的に、該動作指図データに基づいて、キャラクタを動作させる。結果として、ユーザに、キャラクタとのリアルタイムでインタラクティブなやりとりを体験させることが可能となる。なお、モーションキャプチャデータに代えて、キャラクタの動作を指示する１以上のコマンドが、動作指図装置３００のオペレータが指示した順に並んでいるモーションコマンド群が、ユーザ端末１００によって受信されてもよい。モーションコマンド群もまたモーションキャプチャデータと同様に音声データと同期して紐付けられている。これによりユーザ端末１００のゲーム進行部１１５は、音声データの内容を発話させるのに合わせて、モーションコマンド群にしたがってキャラクタを動かすことが可能となる。
【０１６５】
〔実施形態２〕
本実施形態では、動作指図装置３００は、マルチプレイゲームに参加する複数のユーザ端末１００と通信し、それぞれのユーザ端末１００におけるゲームの進捗を、ユーザ端末１００ごとの進捗情報に基づき把握する。そして、動作指図装置３００は、全体の進捗に合ったふるまいをキャラクタに行わせるための動作指図データを生成し、各ユーザ端末１００に配信する。
【０１６６】
本実施形態に係るゲームシステム１において実行されるゲーム（以下、本ゲーム）は、一例として、複数のユーザが、それぞれの乗り物を操作して同じコースを周回し、そのタイムを競うカーレースゲームである。
【０１６７】
本実施形態に係る動作指図装置３００の進捗模擬部３１５は、同じレースに参加する複数のユーザ端末１００のそれぞれから進捗情報を取得する。進捗模擬部３１５は、該レースの進行を支援し、同期制御を行っているサーバ２００から、レース全体の進捗を示す統合された進捗情報を取得してもよい。進捗模擬部３１５は、取得したユーザごとの進捗情報を進捗画面に並べて配置してもよいし、それぞれの進捗情報を統合し、それにより得られる全体としての進捗を進捗画面に配置してもよい。あるいは、進捗模擬部３１５は、サーバ２００から受信した既に統合された進捗情報を進捗画面に配置してもよい。
【０１６８】
キャラクタ制御部３１６は、上述のように生成した動作指図データを、同じレースに参加する複数のユーザ端末１００に配信する。
【０１６９】
本実施形態では、ユーザ端末１００ごとに個別の進捗情報は、例えば、「ユーザＩＤ」、「ユーザ名」、「現在位置」、「順位」、「ラップ」および「time（トップとの差）」の各項目を含んでいてもよい。また、サーバ２００によって生成される、統合された進捗情報は、「経過時間」、「トップのラップ」、「コースマップ」および「各レースカーの現在位置」の各項目を含んでいてもよい。
【０１７０】
＜画面例＞
（進捗画面）
図９は、動作指図装置３００の表示部３５２に表示される進捗画面の他の例を示す図である。本実施形態では、進捗模擬部３１５は、各ユーザ端末１００から取得された進捗情報を統合し、進捗画面５００を表示部３５２に表示させる。
【０１７１】
進捗画面５００は、一例として、統合進捗図５０１、個別進捗一覧５０２、および、統合進捗情報５０３を含む。さらに、進捗画面５００は、オペレータ（または声優）が、マイク３０１０を介して音声データを自装置に対して入力するためのＵＩ部品４０３を含んでいてもよい。
【０１７２】
進捗模擬部３１５は、ユーザ端末１００およびサーバ２００から取得した進捗情報を解析する。進捗模擬部３１５は、解析結果に基づいて、具体的には、以下のようにして統合進捗図５０１を生成する。進捗模擬部３１５は、統合された進捗情報に含まれている「コースマップ」の情報に基づいてコースマップを描画し、「各レースカーの現在位置」の情報に基づいて、各ユーザが操作するレースカーのオブジェクトを、上述のコースマップ上にプロットする。
【０１７３】
また、進捗模擬部３１５は、以下のようにして個別進捗一覧５０２を生成する。進捗模擬部３１５は、個別の進捗情報から、「ユーザ名」、「順位」、「ラップ」、および、「time」の各項目を抽出する。そして、抽出された各項目がユーザごとに一覧されるように各項目の情報を配置して、個別進捗一覧５０２を生成する。
【０１７４】
進捗模擬部３１５は、統合された進捗情報から、「トップのラップ」の項目を抽出し、これを、統合進捗情報５０３に反映させてもよい。
【０１７５】
以上のように、動作指図装置３００のオペレータは、進捗画面５００を確認することにより、複数のユーザ端末１００で実行されているゲームの進捗についてその全容を把握することができる。
【０１７６】
なお、進捗画面５００には、ＵＩ部品４０３が設けられていてもよい。これにより、オペレータは、ゲームの全体的な進捗を確認した後、その進捗に合うように、その場で発話の内容を決定して、該発話の内容に対応する音声データを動作指図装置３００に対して入力することができる。
【０１７７】
（ゲーム画面）
図１０は、ユーザ端末１００の表示部１５２に表示されるゲーム画面の一例を示す図である。図１０では、表示部１５２に表示されるゲーム画面の一例として、本ゲームにおいてレース進行中に表示されるレース画面６００が図示されている。また、レース画面６００は、一例として、レースのトップを走っているユーザのユーザ端末１００において表示される画面を示している。
【０１７８】
ゲーム進行部１１５は、例えば、レース画面６００において、ゲーム空間上のコースを描画する。そして、ゲーム進行部１１５は、ユーザが操作するレースカーを配置する。ゲーム空間上の仮想カメラ位置との位置関係で、他のユーザが操作するレースカーが画角に収まる場合には、ゲーム進行部１１５が、該他のユーザのレースカーをレース画面６００に配置してもよい。
【０１７９】
進捗情報生成部１１７は、ゲーム進行部１１５がレースを進行させている間、進捗情報を適時に生成し、動作指図装置３００に送信する。
【０１８０】
レースに参加する各ユーザ端末１００から個別の進捗情報を受信し、レースの同期をとっているサーバ２００から統合された進捗情報を受信した動作指図装置３００は、これらの進捗情報をそのまま、あるいは、加工したものを、図９に示す進捗画面５００として表示部３５２に表示する。進捗画面５００を確認したオペレータは、レースの状況を把握し、実況内容を決定することができる。オペレータまたは声優７０１は、レース展開に合った実況を含む音声を、マイク３０１０を介して動作指図装置３００に入力する。また、オペレータまたはモデル７０２は、必要に応じて、モーションキャプチャ装置３０２０を介してキャラクタの動きを動作指図装置３００に入力してもよい。
【０１８１】
本実施形態では、解析部１１６が、動作指図装置３００から、動作指図データを受信すると、これをトリガとして、ゲーム進行部１１５は、受信された動作指図データに基づいてキャラクタ６０１をレース画面６００に重畳させる。例えば、キャラクタ６０１を重畳可能な領域は、ゲーム画面ごとに、ユーザのプレイを妨げない場所に予め決定されていることが好ましい。そして、動作指図データに含まれているモーションキャプチャデータが示す動きをキャラクタ６０１の動きに反映させる。実施形態１と同様に、モーションキャプチャデータは、動作指図装置３００の設置場所において、モデル７０２の動きをモーションキャプチャ装置３０２０を介して取得したものである。したがって、モデル７０２の動きが、そのまま、表示部１５２に表示されるキャラクタ８０１の動きに反映される。
【０１８２】
また、ゲーム進行部１１５は、動作指図装置３００から供給された動作指図データに含まれている音声データ６０２を、キャラクタ６０１が発した音声として、キャラクタ６０１の動きと同期して出力する。実施形態１と同様に、音声データは、動作指図装置３００の設置場所において、声優７０１の音声をマイク３０１０を介して取得したものである。したがって、声優７０１が発した音声に対応する音声データ６０２が、そのまま、ユーザ端末１００のスピーカから出力される。
【０１８３】
動作指図装置３００は、ゲームに参加するすべてのユーザ端末１００に上述の動作指図データを送信することができる。したがって、参加するユーザ端末１００の表示部１５２それぞれに、レース画面６００とともにキャラクタ６０１が重畳表示される。
【０１８４】
上述の構成によれば、複数のユーザ端末１００が参加するようなマルチプレイゲームにおいても、本発明を適用することが可能となる。
【０１８５】
〔ソフトウェアによる実現例〕
制御部１１０の制御ブロック（特に、操作受付部１１１、表示制御部１１２、ＵＩ制御部１１３、アニメーション生成部１１４、ゲーム進行部１１５、解析部１１６および進捗情報生成部１１７）、制御部２１０の制御ブロック（特に、進行支援部２１１および共有支援部２１２）、ならびに、制御部３１０の制御ブロック（特に、操作受付部３１１、表示制御部３１２、ＵＩ制御部３１３、アニメーション生成部３１４、進捗模擬部３１５、キャラクタ制御部３１６および反応処理部３１７）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【０１８６】
後者の場合、制御部１１０、制御部２１０または制御部３１０、もしくは、これらのうち複数を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１８７】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１８８】
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
【０１８９】
（項目１）  ゲームプログラム（１３１）について説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ（１０）、メモリ（１１）および操作部（通信ＩＦ１３、入出力ＩＦ１４、タッチスクリーン１５、カメラ１７、測距センサ１８、入力部１５１など）を備えるコンピュータ（ユーザ端末１００）により実行される。ゲームプログラムは、プロセッサに、操作部を介してコンピュータに入力されたユーザの入力操作に応じてゲームを進行させるステップ（Ｓ１０３）と、ゲームに登場する少なくとも１つのキャラクタ（８０１）を制御するキャラクタ制御装置（動作指図装置３００）に、ゲームの進捗を示す進捗情報を送信するステップ（Ｓ１１０）と、キャラクタ制御装置においてゲームの進捗に合わせて入力された、キャラクタの発言に対応する音声データを、該キャラクタ制御装置から受信するステップ（Ｓ１１７）と、音声データを受信したことをトリガにして、ゲームの進行中に登場するキャラクタに、少なくとも該音声データの内容を発話させることにより、該キャラクタを動作させるステップ（Ｓ１１９）とを実行させる。これにより、ゲームの世界への没入感を高め、該ゲームの興趣性を向上させるという効果を奏する。
【０１９０】
（項目２）  （項目１）において、受信するステップは、キャラクタ制御装置においてゲームの進捗に合わせて入力された、キャラクタの動きに対応するモーションキャプチャデータを、該キャラクタ制御装置から音声データとともに受信し、動作させるステップは、音声データの内容を発話させるのに合わせて、モーションキャプチャデータにしたがってキャラクタを動かしてもよい。
【０１９１】
上述の構成によれば、音声データに加えてモーションキャプチャデータも、キャラクタ制御装置からユーザ端末に供給される。ユーザ端末におけるゲームの進捗に合わせて、キャラクタ制御装置において入力された音声および動きを、ユーザの端末で表示されるキャラクタの音声および動きに反映させることができる。したがって、ユーザは、ゲームのプレイ中、まるでキャラクタが一緒にゲームに参加してくれているかのようなキャラクタとのやりとりを、現実の人とのやりとりと同様に楽しむことができ、キャラクタに対してユーザが覚える現実感をより一層高めることができる。
【０１９２】
（項目３）  （項目１）において、受信するステップは、ゲームの進捗に合わせてキャラクタ制御装置に入力された入力操作により特定された、キャラクタの動作を指示するコマンドを１以上含むモーションコマンド群を、該キャラクタ制御装置から音声データとともに受信し、動作させるステップは、音声データの内容を発話させるのに合わせて、モーションコマンド群にしたがってキャラクタを動かしてもよい。例えば、オペレータが、ボタン、キーボード、マウス、ジョイスティック、タッチスクリーンなど、モーションキャプチャ装置以外の入力部を介して操作入力を行ってキャラクタの一連の動きを指示した場合、その操作入力によって確定した、キャラクタの一連の動きに対応するモーションコマンド群がユーザ端末に供給される。ユーザ端末は、モーションコマンド群にしたがってキャラクタを動かす。よって、ユーザ端末におけるゲームの進捗を踏まえて、キャラクタ制御装置においてオペレータによって指示された動きを、ユーザ端末で表示されるキャラクタの動きに反映させることができる。したがって、ユーザは、ゲームのプレイ中、まるでキャラクタが一緒にゲームに参加してくれているかのようなキャラクタとのやりとりを、現実の人とのやりとりと同様に楽しむことができ、キャラクタに対してユーザが覚える現実感をより一層高めることができる。
【０１９３】
（項目４）  （項目１）から（項目３）までのいずれか１項目において、キャラクタ制御装置は、進捗情報に基づいて、ユーザ端末の表示部（１５２）に表示されている画面または該画面を簡略化した模擬画面（４０１）を該キャラクタ制御装置の表示部（３５２）に表示するものであり、受信するステップは、ゲームの進捗に合わせてキャラクタ制御装置に入力された入力操作により指定された画面上のオブジェクトを識別する識別情報（注目情報）を、該キャラクタ制御装置から音声データとともに受信し、動作させるステップは、音声データの内容を発話させるのに合わせて、識別情報により特定された画面上のオブジェクト（スキル発動ボタン８０４）を強調表示させてもよい。
【０１９４】
（項目５）  （項目１）から（項目３）までのいずれか１項目において、キャラクタ制御装置は、進捗情報に基づいて、ユーザ端末の表示部に表示されている画面または該画面を簡略化した模擬画面を、ユーザ端末の表示部の仕様に合わせて該キャラクタ制御装置の表示部に表示するものであり、受信するステップは、キャラクタ制御装置の表示部に表示された画面または模擬画面に対して、ゲームの進捗に合わせて入力された入力操作の第１の位置座標に対応する、ユーザ端末の表示部における第２の位置座標を、該キャラクタ制御装置から音声データとともに受信し、動作させるステップは、音声データの内容を発話させるのに合わせて、第２の位置座標が示す箇所を強調表示させてもよい。
【０１９５】
（項目６）  キャラクタ制御プログラム（１３４）について説明した。該キャラクタ制御プログラムは、ゲームに登場するキャラクタ（８０１）を制御するためのプログラムである。本開示のある局面によると、キャラクタ制御プログラムは、プロセッサ（３０）、メモリ（３１）および表示部（通信ＩＦ３３、入出力ＩＦ３４、タッチスクリーン３５、表示部３５２など）を備える、キャラクタ制御装置としてのコンピュータ（動作指図装置３００）により実行される。キャラクタ制御プログラムは、プロセッサに、ゲームを進行させるユーザ端末（１００）から受信した、該ゲームの進捗を示す進捗情報に基づいて、ゲームの進捗を示す進捗画面（４００）を表示部（３５２）に表示するステップ（Ｓ１１１）と、表示部に表示された進捗画面が示すゲームの進捗に合わせてコンピュータ（動作指図装置３００）に入力された、キャラクタの発言に対応する音声データを受け付けるステップ（Ｓ１１２）と、受け付けられた音声データをユーザ端末に送信するステップ（Ｓ１１６）とを実行させる。これにより、ゲームの世界への没入感を高め、該ゲームの興趣性を向上させるという効果を奏する。
【０１９６】
（項目７）  （項目６）において、表示するステップは、進捗情報に基づいて、ユーザ端末の表示部に表示されている画面または該画面を簡略化した模擬画面を含む進捗画面をキャラクタ制御装置の表示部に表示してもよい。上述の構成によれば、オペレータは、ユーザ端末で表示されているゲーム画面を確認しながらキャラクタの発話内容を決定することができる。これにより、臨場感あふれる発話をキャラクタに行わせることができる。
【０１９７】
（項目８）  （項目６）または（項目７）において、表示するステップは、進捗情報に基づいて予測されたゲームの進行に係る予測結果を含む進捗画面をキャラクタ制御装置の表示部に表示してもよい。これにより、オペレータは、ユーザ端末におけるゲーム進捗に合わせて、今の状況についてキャラクタに発言させることに加えて、予測された未来のゲーム展開に応じたアドバイスをキャラクタに行わせることができる。
【０１９８】
（項目９）  （項目６）から（項目８）までのいずれか１項目において、表示するステップは、ゲームを複数のユーザ端末間で同期して進行させる該複数のユーザ端末のそれぞれから受信した各進捗情報をキャラクタ制御装置の表示部に表示し、送信するステップは、音声データを、複数のユーザ端末のそれぞれに送信してもよい。
【０１９９】
（項目１０）  ゲームプログラム（１３１）を実行する方法を説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ（１０）、メモリ（１１）および操作部（通信ＩＦ１３、入出力ＩＦ１４、タッチスクリーン１５、カメラ１７、測距センサ１８、入力部１５１など）を備える、ユーザ端末（１００）としてのコンピュータにより実行される。該方法は、プロセッサが（項目１）に記載の各ステップを実行する方法である。（項目１０）に係る方法は、（項目１）に係るゲームプログラムと同様の作用効果を奏する。
【０２００】
（項目１１）  情報処理装置を説明した。本開示のある局面によると、該情報処理装置は、（項目１）に係るゲームプログラムを記憶する記憶部（１２０）と、操作部（通信ＩＦ１３、入出力ＩＦ１４、タッチスクリーン１５、カメラ１７、測距センサ１８、入力部１５１など）と、該ゲームプログラムを実行することにより、情報処理装置（ユーザ端末１００）の動作を制御する制御部（１１０）とを備える。（項目１１）に係る情報処理装置は、（項目１）に係るゲームプログラムと同様の作用効果を奏する。
【０２０１】
（項目１２）  キャラクタ制御プログラム（１３４）を実行する方法を説明した。本開示のある局面によると、キャラクタ制御プログラムは、プロセッサ（３０）、メモリ（３１）および表示部（通信ＩＦ３３、入出力ＩＦ３４、タッチスクリーン３５、表示部３５２など）を備える、キャラクタ制御装置（動作指図装置３００）としてのコンピュータにより実行される。該方法は、プロセッサが（項目６）に記載の各ステップを実行する方法である。（項目１２）に係る方法は、（項目６）に係るキャラクタ制御プログラムと同様の作用効果を奏する。
【０２０２】
（項目１３）  情報処理装置を説明した。本開示のある局面によると、該情報処理装置は、（項目６）に係るキャラクタ制御プログラムを記憶する記憶部（３２０）と、表示部（通信ＩＦ３３、入出力ＩＦ３４、タッチスクリーン３５、表示部３５２など）と、該キャラクタ制御プログラムを実行することにより、情報処理装置の動作を制御する制御部（３１０）とを備える。（項目１３）に係る情報処理装置は、（項目６）に係るキャラクタ制御プログラムと同様の作用効果を奏する。
【符号の説明】
【０２０３】
１  ゲームシステム、２  ネットワーク、１０，２０，３０  プロセッサ、１１，２１，３１  メモリ、１２，２２，３２  ストレージ、１３，２３，３３  通信ＩＦ（操作部）、１４，２４，３４  入出力ＩＦ（操作部、表示部）、１５，３５  タッチスクリーン（表示部、操作部）、１７  カメラ（操作部）、１８  測距センサ（操作部）、１００  ユーザ端末（コンピュータ、情報処理装置）、１１０，１１３，２１０，３１０  制御部、１１１，３１１  操作受付部、１１２，３１２  表示制御部、１１３，３１３  ＵＩ制御部、１１４，３１４  アニメーション生成部、１１５  ゲーム進行部、１１６  解析部、１１７  進捗情報生成部、１２０，２２０，３２０  記憶部、１３１  ゲームプログラム、１３２  ゲーム情報、１３３  ユーザ情報、１３４  キャラクタ制御プログラム、１５１，３５１  入力部（操作部）、１５２，３５２  表示部、２００  サーバ（コンピュータ）、２１１  進行支援部、２１２  共有支援部、３００  動作指図装置（コンピュータ、ＮＰＣ制御装置、キャラクタ制御装置、情報処理装置）、３１５  進捗模擬部、３１６  キャラクタ制御部、３１７  反応処理部、１０１０  物体、１０２０，３０３０  コントローラ、１０３０  記憶媒体、３０１０  マイク、３０２０  モーションキャプチャ装置
【図１】
2020093116.tif 000003
【図２】
2020093116.tif 000004
【図３】
2020093116.tif 000005
【図４】
2020093116.tif 000006
【図５】
2020093116.tif 000007
【図６】
2020093116.tif 000008
【図７】
2020093116.tif 000009
【図８】
2020093116.tif 000010
【図９】
2020093116.tif 000011
【図１０】
2020093116.tif 000012