(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-19
(45)【発行日】2024-03-28
(54)【発明の名称】プログラム、および情報処理装置
(51)【国際特許分類】
A63F 13/55 20140101AFI20240321BHJP
A63F 13/30 20140101ALI20240321BHJP
A63F 13/424 20140101ALI20240321BHJP
A63F 13/428 20140101ALI20240321BHJP
A63F 13/49 20140101ALI20240321BHJP
A63F 13/5378 20140101ALI20240321BHJP
A63F 13/54 20140101ALI20240321BHJP
【FI】
A63F13/55
A63F13/30
A63F13/424
A63F13/428
A63F13/49
A63F13/5378
A63F13/54
(21)【出願番号】P 2022100496
(22)【出願日】2022-06-22
(62)【分割の表示】P 2020036599の分割
【原出願日】2018-05-29
【審査請求日】2022-07-04
【前置審査】
(73)【特許権者】
【識別番号】509070463
【氏名又は名称】株式会社コロプラ
(74)【代理人】
【識別番号】100142365
【氏名又は名称】白井 宏紀
(72)【発明者】
【氏名】馬場 功淳
【審査官】宇佐田 健二
(56)【参考文献】
【文献】特開2015-184689(JP,A)
【文献】特開2015-097803(JP,A)
【文献】特開2018-073217(JP,A)
【文献】特開2012-181704(JP,A)
【文献】話題のVRアプリ「VRChat」その魅力と始め方を紹介,MoguLive[online],2018年01月22日,https://www.moguravr.com/vrchat-6/,[2019年11月20日検索]
【文献】新しいソーシャルVRアプリ「VRChat」2月1日リリース,MoguLive[online],2017年01月27日,https://www.moguravr.com/vrchat-2/,[2019年11月20日検索]
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98,9/24
(57)【特許請求の範囲】
【請求項1】
コンピュータであるユーザ端末を制御するプログラムであって、
前記ユーザ端末は、当該ユーザ端末が存在する空間とは物理的に離れた空間に存在する外部装置であって当該ユーザ端末のユーザとは異なる者でありイベントに登場する少なくとも1つのキャラクタを前記ユーザが視認できない空間で演じる演者からの入力に応じて当該キャラクタを制御する外部装置とネットワーク経由で通信可能に構成されており、
前記ユーザ端末を、
操作部を介して前記ユーザ端末に入力されたユーザの入力操作に応じて前記イベントを進行させる手段と、
前記外部装置に、前記イベントの進捗を示す情報として、進行中の前記イベントの進捗にかかわる画面であって、前記イベントの進捗が時系列に示される進行ログを含む進捗画面を表示可能にするための進捗情報を送信する手段と、
前記送信される進捗情報に基づき前記進捗画面を前記演者が視認可能となるようにリアルタイムに表示する前記外部装置により取得される音声データであって、前記演者から前記リアルタイムに表示される進捗画面に対して任意のタイミングで発せられる音声であってユーザが直接聞けない音声の音声データを、該外部装置から受信する手段と、
前記音声データを受信したことをトリガにして、前記イベントの進行中に登場する前記キャラクタに、少なくとも該音声データの内容を発話させることにより、該キャラクタを動作させる手段と、して機能させる、プログラム。
【請求項2】
イベントに登場する少なくとも1つのキャラクタを演じる演者からの入力に応じて当該キャラクタを制御するコンピュータであって、前記演者とは異なるユーザのユーザ端末が存在する空間とは物理的に離れており前記ユーザが前記演者を視認できない空間に存在し前記ユーザ端末とネットワーク経由で通信可能なコンピュータを制御するプログラムであって、
前記コンピュータを、
前記イベントを進行させるユーザ端末から送信される、進行中の前記イベントの進捗にかかわる
画面であって、前記イベントの進捗が時系列に示される進行ログを含む進捗画面を表示可能にするための進捗情報に基づいて、進行中の前記イベントの進捗画面を前記演者が視認可能となるように前記コンピュータの表示部においてリアルタイムに表示する手段と、
前記演者から前記リアルタイムに表示される進捗画面に対して任意のタイミングで発せられる音声であって前記ユーザが直接聞けない音声を受け付ける手段と、
受け付けられた音声の音声データを前記ユーザ端末に送信する手段と、して機能させる、プログラム。
【請求項3】
前記イベントは、複数のユーザが参加可能なマルチプレイイベントであり、
前記マルチプレイイベントに参加している複数のユーザ各々のユーザ端末からの進捗情報に基づいて表示可能となる進捗画面は、当該複数のユーザ毎の個別の進捗を含む、請求項1または請求項2に記載のプログラム。
【請求項4】
前記マルチプレイイベントはレースイベントであり、
前記進捗画面は、前記複数のユーザ毎の現在位置、順位、ラップ、および、トップとの差の少なくともいずれかを含む、請求項3に記載のプログラム。
【請求項5】
前記音声データは、ユーザ端末にて受信されたことをトリガにして、当該ユーザ端末において進行中のイベントのイベント画面に重畳させて前記キャラクタを表示させるデータである、請求項1~請求項4のいずれかに記載のプログラム。
【請求項6】
前記進捗情報を送信する手段は、前記演者によるライブ配信が開始されることにより、前記進捗情報を送信可能とする、請求項1、請求項3、請求項4、および、請求項5のいずれかに記載のプログラム。
【請求項7】
前記演者から前記リアルタイムに表示される進捗画面に対して任意のタイミングで発せられる音声には、前記イベントを進行させるために必要な情報を報せる音声を含み得る、請求項1~請求項6のいずれかに記載のプログラム。
【請求項8】
前記進捗情報は、前記ユーザ端末において表示されているイベント画面を示す第1の情報と、前記イベントの進捗を示す第2の情報とを含み、
前記進捗画面は、前記第1の情報に基づくイベント画面に関する第1の画像と、前記第2の情報に基づく前記イベントの進捗に関する第2の画像とを含む、請求項1~請求項7のいずれかに記載のプログラム。
【請求項9】
請求項1に記載のプログラムを記憶する記憶部と、
操作部と、
該プログラムを実行することにより、情報処理装置の動作を制御する制御部とを備えている、情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示はプログラム、および情報処理装置に関する。
【背景技術】
【0002】
従来、ユーザが選択した選択肢に応じて結末が異なるように物語が進行するゲームが広く知られている。例えば、非特許文献1には、女の子のキャラクタと仮想的に親睦を深めることを主たる目的とする恋愛シミュレーションゲームが開示されている。ユーザは、提示された選択肢の中からキャラクタに対する働きかけとして最適と思うものを選択し、その働きかけに対して該キャラクタが反応することを繰り返すことで物語が進行する。
【先行技術文献】
【非特許文献】
【0003】
【文献】“電撃オンライン - ゲーム・アプリ・漫画・アニメ情報サイト”、[online]、KADOKAWA CORPORATION、[2018年5月8日検索]、インターネット(URL:http://dengekionline.com/elem/000/000/279/279193/index-2.html)
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1に開示されているゲームでは、キャラクタの応答パターンが予め用意されている。そして、ユーザの入力操作に応じて、該キャラクタの応答が、該応答パターンの中から決定されて出力され、ゲームが進行する。したがって、キャラクタの動作のバリエーションは、予め用意されたデータの内容を超えて広がることがない。そのため、ユーザは、キャラクタとの関わり合いに対して、該キャラクタがまるで現実の世界にいるかのような現実感を覚えることができず、いずれ飽きるという問題がある。一般に、ユーザに長くプレイさせることを意図して開発されたゲームにおいては、ユーザがゲームに飽きるという問題に如何に対処するかが重要である。ゲームには、常に、ユーザにプレイを動機付けるような魅力的なコンテンツを提供することが求められる。例えば、ゲームに登場するキャラクタが、高い現実感を備えていれば、ユーザは、ゲームの世界に没入しやすくなり、キャラクタとの関わり合いにより興趣性を見出すと考えられる 。
【0005】
本開示の一態様は、イベントへの没入感を高め、該イベントの興趣性を向上させることを目的とする。
【課題を解決するための手段】
【0006】
本開示に係るプログラムは、ユーザ端末を制御するプログラムであって、ユーザ端末は、ユーザ端末が存在する空間とは物理的に離れた空間に存在する外部装置であってユーザ端末のユーザとは異なる者でありイベントに登場する少なくとも1つのキャラクタをユーザが視認できない空間で演じる演者からの入力に応じてキャラクタを制御する外部装置とネットワーク経由で通信可能に構成されており、プログラムは、操作部を介してユーザ端末に入力されたユーザの入力操作に応じてイベントを進行させる手段と、外部装置に、イベントの進捗を示す情報として、進行中の前記イベントの進捗にかかわる進捗画面を表示可能にするための進捗情報を送信する手段と、送信される進捗情報に基づき進捗画面を演者が視認可能となるようにリアルタイムに表示する外部装置により取得される音声データであって、演者からリアルタイムに表示される進捗画面に対して任意のタイミングで発せられる音声であってユーザが直接聞けない音声の音声データを、外部装置から受信する手段と、音声データを受信したことをトリガにして、イベントの進行中に登場するキャラクタに、少なくとも音声データの内容を発話させることにより、キャラクタを動作させる手段とを実行させる。
【0007】
本開示に係るプログラムは、イベントに登場する少なくとも1つのキャラクタを演じる演者からの入力に応じてキャラクタを制御するコンピュータであって、演者とは異なるユーザのユーザ端末が存在する空間とは物理的に離れておりユーザが演者を視認できない空間に存在しユーザ端末とネットワーク経由で通信可能なコンピュータを制御するプログラムであって、プログラムは、イベントを進行させるユーザ端末から送信される、進行中のイベントの進捗にかかわる進捗画面を表示可能にするための進捗情報に基づいて、進行中のイベントの進捗画面を演者が視認可能となるようにコンピュータの表示部においてリアルタイムに表示する手段と、演者からリアルタイムに表示される進捗画面に対して任意のタイミングで発せられる音声であってユーザが直接聞けない音声を受け付ける手段と、受け付けられた音声の音声データをユーザ端末に送信する手段とを実行させる。
【発明の効果】
【0008】
本開示の一態様によれば、イベントの興趣性を向上させる効果を奏する。
【図面の簡単な説明】
【0009】
【
図1】ゲームシステムのハードウェア構成を示す図である。
【
図2】ユーザ端末、サーバおよび動作指図装置の機能的構成を示すブロック図である。
【
図3】画面遷移情報のデータ構造の一例を示す図である。
【
図4】進捗情報のデータ構造の一例を示す図である。
【
図5】動作指図データのデータ構造の一例を示す図である。
【
図6】動作指図装置の表示部に表示される進捗画面の一例を示す図である。
【
図7】ユーザ端末の表示部に表示されるゲーム画面の一例を示す図である。
【
図8】ゲームシステムを構成する各装置が実行する処理の流れを示すフローチャートである。
【
図9】動作指図装置の表示部に表示される進捗画面の他の例を示す図である。
【
図10】ユーザ端末の表示部に表示されるゲーム画面の一例を示す図である。
【発明を実施するための形態】
【0010】
〔実施形態1〕
本開示に係るゲームシステムは、複数のユーザにゲームを提供するためのシステムである。以下、ゲームシステムについて図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
【0011】
<ゲームシステム1のハードウェア構成>
図1は、ゲームシステム1のハードウェア構成を示す図である。ゲームシステム1は図示の通り、複数のユーザ端末100と、サーバ200とを含む。各ユーザ端末100は、サーバ200とネットワーク2を介して接続する。ネットワーク2は、インターネットおよび図示しない無線基地局によって構築される各種移動通信システム等で構成される。この移動通信システムとしては、例えば、所謂3G、4G移動通信システム、LTE(Long Term Evolution)、および所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が挙げられる。
【0012】
サーバ200(コンピュータ、情報処理装置)は、ワークステーションまたはパーソナルコンピュータ等の汎用コンピュータであってよい。サーバ200は、プロセッサ20と、メモリ21と、ストレージ22と、通信IF23と、入出力IF24とを備える。サーバ200が備えるこれらの構成は、通信バスによって互いに電気的に接続される。
【0013】
ユーザ端末100(コンピュータ、情報処理装置)は、スマートフォン、フィーチャーフォン、PDA(Personal Digital Assistant)、またはタブレット型コンピュータ等の携帯端末であってよい。ユーザ端末100は、ゲームプレイに適したゲーム装置であってもよい。ユーザ端末100は図示の通り、プロセッサ10と、メモリ11と、ストレージ12と、通信インターフェース(IF)13と、入出力IF14と、タッチスクリーン15(表示部)と、カメラ17と、測距センサ18とを備える。ユーザ端末100が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、ユーザ端末100は、タッチスクリーン15に代えて、または、加えて、ユーザ端末100本体とは別に構成されたディスプレイ(表示部)を接続可能な入出力IF14を備えていてもよい。
【0014】
また、
図1に示すように、ユーザ端末100は、1つ以上のコントローラ1020と通信可能に構成されることとしてもよい。コントローラ1020は、例えば、Bluetooth(登録商標)等の通信規格に従って、ユーザ端末100と通信を確立する。コントローラ1020は、1つ以上のボタン等を有していてもよく、該ボタン等に対するユーザの入力操作に基づく出力値をユーザ端末100へ送信する。また、コントローラ1020は、加速度センサ、および、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値をユーザ端末100へ送信する。
【0015】
なお、ユーザ端末100がカメラ17および測距センサ18を備えることに代えて、または、加えて、コントローラ1020がカメラ17および測距センサ18を有していてもよい。
【0016】
ユーザ端末100は、例えばゲーム開始時に、コントローラ1020を使用するユーザに、該ユーザの名前またはログインID等のユーザ識別情報を、該コントローラ1020を介して入力させることが望ましい。これにより、ユーザ端末100は、コントローラ1020とユーザとを紐付けることが可能となり、受信した出力値の送信元(コントローラ1020)に基づいて、該出力値がどのユーザのものであるかを特定することができる。
【0017】
ユーザ端末100が複数のコントローラ1020と通信する場合、各コントローラ1020を各ユーザが把持することで、ネットワーク2を介してサーバ200などの他の装置と通信せずに、該1台のユーザ端末100でマルチプレイを実現することができる。また、各ユーザ端末100が無線LAN(Local Area Network)規格等の無線規格により互いに通信接続する(サーバ200を介さずに通信接続する)ことで、複数台のユーザ端末100によりローカルでマルチプレイを実現することもできる。1台のユーザ端末100によりローカルで上述のマルチプレイを実現する場合、ユーザ端末100は、さらに、サーバ200が備える後述する種々の機能の少なくとも一部を備えていてもよい。また、複数のユーザ端末100によりローカルで上述のマルチプレイを実現する場合、複数のユーザ端末100は、サーバ200が備える後述する種々の機能を分散して備えていてもよい。
【0018】
なお、ローカルで上述のマルチプレイを実現する場合であっても、ユーザ端末100はサーバ200と通信を行ってもよい。例えば、あるゲームにおける成績または勝敗等のプレイ結果を示す情報と、ユーザ識別情報とを対応付けてサーバ200に送信してもよい。
【0019】
また、コントローラ1020は、ユーザ端末100に着脱可能な構成であるとしてもよい。この場合、ユーザ端末100の筐体における少なくともいずれかの面に、コントローラ1020との結合部が設けられていてもよい。該結合部を介して有線によりユーザ端末100とコントローラ1020とが結合している場合は、ユーザ端末100とコントローラ1020とは、有線を介して信号を送受信する。
【0020】
図1に示すように、ユーザ端末100は、外部のメモリカード等の記憶媒体1030の装着を、入出力IF14を介して受け付けてもよい。これにより、ユーザ端末100は、記憶媒体1030に記録されるプログラム及びデータを読み込むことができる。記憶媒体1030に記録されるプログラムは、例えばゲームプログラムである。
【0021】
ユーザ端末100は、サーバ200等の外部の装置と通信することにより取得したゲームプログラムをユーザ端末100のメモリ11に記憶してもよいし、記憶媒体1030から読み込むことにより取得したゲームプログラムをメモリ11に記憶してもよい。
【0022】
以上で説明したとおり、ユーザ端末100は、該ユーザ端末100に対して情報を入力する機構の一例として、通信IF13、入出力IF14、タッチスクリーン15、カメラ17、および、測距センサ18を備える。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
【0023】
例えば、操作部が、カメラ17および測距センサ18の少なくともいずれか一方で構成される場合、該操作部が、ユーザ端末100の近傍の物体1010を検出し、当該物体の検出結果から入力操作を特定する。一例として、物体1010としてのユーザの手、予め定められた形状のマーカーなどが検出され、検出結果として得られた物体1010の色、形状、動き、または、種類などに基づいて入力操作が特定される。より具体的には、ユーザ端末100は、カメラ17の撮影画像からユーザの手が検出された場合、該撮影画像に基づき検出されるジェスチャ(ユーザの手の一連の動き)を、ユーザの入力操作として特定し、受け付ける。なお、撮影画像は静止画であっても動画であってもよい。
【0024】
あるいは、操作部がタッチスクリーン15で構成される場合、ユーザ端末100は、タッチスクリーン15の入力部151に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信IF13で構成される場合、ユーザ端末100は、コントローラ1020から送信される信号(例えば、出力値)をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力IF14で構成される場合、該入出力IF14と接続されるコントローラ1020とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
【0025】
本実施形態では、ゲームシステム1は、さらに、動作指図装置300を含む。動作指図装置300は、サーバ200およびユーザ端末100のそれぞれと、ネットワーク2を介して接続する。動作指図装置300は、ゲームシステム1に少なくとも1台設けられている。動作指図装置300は、サーバ200が提供するサービスを利用するユーザ端末100の数に応じて、複数台設けられていてもよい。1台のユーザ端末100に対して、1台の動作指図装置300が設けられていてもよい。複数台のユーザ端末100に対して、1台の動作指図装置300が設けられていてもよい。
【0026】
動作指図装置300(NPC制御装置、キャラクタ制御装置)は、サーバ、デスクトップパソコン、ノートパソコン、または、タブレットなどのコンピュータ、および、これらを組み合わせたコンピュータ群であってもよい。動作指図装置300は、図示の通り、プロセッサ30と、メモリ31と、ストレージ32と、通信IF33と、入出力IF34と、タッチスクリーン35(表示部)とを備える。動作指図装置300が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、動作指図装置300は、タッチスクリーン35に代えて、または、加えて、動作指図装置300本体とは別に構成されたディスプレイ(表示部)を接続可能な入出力IF34を備えていてもよい。
【0027】
また、
図1に示すように、動作指図装置300は、1つ以上のマイク3010、1つ以上のモーションキャプチャ装置3020、および、1つ以上のコントローラ3030などの周辺機器と、無線または有線を介して、通信可能に構成されてもよい。無線で接続される周辺機器は、例えば、Bluetooth(登録商標)等の通信規格に従って、動作指図装置300と通信を確立する。
【0028】
マイク3010は、周囲で発生した音声を取得し、これを電気信号に変換する。電気信号に変換された音声は、音声データとして、動作指図装置300に送信され、通信IF33を介して動作指図装置300に受け付けられる。
【0029】
モーションキャプチャ装置3020は、追跡対象(例えば、人)のモーション(顔の表情、口の動きなども含む)を追跡し、追跡結果としての出力値を動作指図装置300へ送信する。出力値であるモーションデータは、通信IF33を介して動作指図装置300に受け付けられる。モーションキャプチャ装置3020のモーションキャプチャ方式は特に限定されない。モーションキャプチャ装置3020は、採用された方式に応じて、カメラ、各種センサ、マーカー、モデル(人物)が着用するスーツ、信号送出器など、モーションをキャプチャするためのあらゆる機構を選択的に備えている。
【0030】
コントローラ3030は、1つ以上のボタン、レバー、スティック、ホイール等の物理的な入力機構を有していてもよい。コントローラ3030は、動作指図装置300のオペレータが、該入力機構に対して入力した入力操作に基づく出力値を動作指図装置300へ送信する。また、コントローラ3030は、加速度センサ、および、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値を動作指図装置300へ送信してもよい。上述の出力値は、通信IF33を介して動作指図装置300に受け付けられる。なお、以下では、動作指図装置300に備えられた操作部または動作指図装置300と通信可能に接続された各種の入力機構を用いて、動作指図装置300に対して、何らかの入力操作を行う人をオペレータと称する。オペレータには、入力部351、コントローラ3030などを用いて動作指図装置300を操作する人も含まれるし、マイク3010を介して音声を入力する声優も含まれるし、モーションキャプチャ装置3020を介して動きを入力するモデルも含まれる。
【0031】
動作指図装置300は、図示しない、カメラと、測距センサとを備えていてもよい。動作指図装置300が備えることに代えて、または、加えて、モーションキャプチャ装置3020およびコントローラ3030がカメラと、測距センサとを有してしてもよい。
【0032】
以上で説明したとおり、動作指図装置300は、該動作指図装置300に対して情報を入力する機構の一例として、通信IF33、入出力IF34、タッチスクリーン35を備える。必要に応じて、カメラ、および、測距センサをさらに備えていてもよい。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
【0033】
操作部がタッチスクリーン35で構成されていてもよい。この場合、動作指図装置300は、タッチスクリーン35の入力部351に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信IF33で構成される場合、動作指図装置300は、コントローラ3030から送信される信号(例えば、出力値)をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力IF34で構成される場合、該入出力IF34と接続されるコントローラ3030とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
【0034】
<ゲーム概要>
本実施形態では、一例として、ゲームシステム1において、サーバ200とユーザ端末100とが協働して、ゲームプログラム131を実行し、ユーザがプレイするゲームをユーザ端末100において進行させる。また、本実施形態では、ゲームシステム1において、動作指図装置300(キャラクタ制御装置)は、キャラクタ制御プログラム134を実行し、ユーザ端末100が実行するゲームに登場させる少なくとも一部のキャラクタの動作を制御することができる。
【0035】
ゲームシステム1は、特定のジャンルに限らず、あらゆるジャンルのゲームを実行するためのシステムであってもよい。例えば、テニス、卓球、ドッジボール、野球、サッカーおよびホッケーなどのスポーツを題材としたゲーム、パズルゲーム、クイズゲーム、RPG、アドベンチャーゲーム、シューティングゲーム、シミュレーションゲーム、育成ゲーム、ならびに、アクションゲームなどであってもよい。
【0036】
また、ゲームシステム1は、特定のプレイ形態に限らず、あらゆるプレイ形態のゲームを実行するためのシステムであってもよい。例えば、単一のユーザによるシングルプレイゲーム、および、複数のユーザによるマルチプレイゲーム、また、マルチプレイゲームの中でも、複数のユーザが対戦する対戦ゲーム、および、複数のユーザが協力する協力プレイゲームなどであってもよい。例えば、対戦ゲームには、上述のとおり、テニスまたは野球などスポーツを題材とした対戦ゲームが含まれていてもよい。また、対戦ゲームには、将棋、囲碁、チェス、オセロなどのように2人で対戦するボードゲームが含まれていてもよい。また、対戦ゲームには、複数のユーザがそれぞれ乗り物または選手などを操作して同じコースを周回し、そのタイムを競うレースゲームなどが含まれていてもよい。
【0037】
<各装置のハードウェア構成要素>
プロセッサ10は、ユーザ端末100全体の動作を制御する。プロセッサ20は、サーバ200全体の動作を制御する。プロセッサ30は、動作指図装置300全体の動作を制御する。プロセッサ10、20および30は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、およびGPU(Graphics Processing Unit)を含む。
【0038】
プロセッサ10は後述するストレージ12からプログラムを読み出し、後述するメモリ11に展開する。プロセッサ20は後述するストレージ22からプログラムを読み出し、後述するメモリ21に展開する。プロセッサ30は後述するストレージ32からプログラムを読み出し、後述するメモリ31に展開する。プロセッサ10、プロセッサ20およびプロセッサ30は展開したプログラムを実行する。
【0039】
メモリ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がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
【0040】
本実施形態においてプログラムとは、ゲームをユーザ端末100により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをユーザ端末100とサーバ200との協働により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをユーザ端末100とサーバ200と動作指図装置300との協働により実現するためのゲームプログラムであってもよい。なお、ユーザ端末100とサーバ200との協働により実現されるゲームおよびユーザ端末100とサーバ200と動作指図装置300との協働により実現されるゲームは、一例として、ユーザ端末100において起動されたブラウザ上で実行されるゲームであってもよい。あるいは、該プログラムは、該ゲームを複数のユーザ端末100の協働により実現するためのゲームプログラムであってもよい。また、各種データとは、ユーザ情報およびゲーム情報などのゲームに関するデータ、ならびに、ゲームシステム1の各装置間で送受信する指示または通知を含んでいる。
【0041】
ストレージ12、22および32は補助記憶装置である。ストレージ12、22および32は、フラッシュメモリまたはHDD(Hard Disk Drive)等の記憶装置で構成される。ストレージ12、22および32には、ゲームに関する各種データが格納される。
【0042】
通信IF13は、ユーザ端末100における各種データの送受信を制御する。通信IF23は、サーバ200における各種データの送受信を制御する。通信IF33は、動作指図装置300における各種データの送受信を制御する。通信IF13、23および33は例えば、無線LAN(Local Area Network)を介する通信、有線LAN、無線LAN、または携帯電話回線網を介したインターネット通信、ならびに近距離無線通信等を用いた通信を制御する。
【0043】
入出力IF14は、ユーザ端末100がデータの入力を受け付けるためのインターフェースであり、またユーザ端末100がデータを出力するためのインターフェースである。入出力IF14は、USB(Universal Serial Bus)等を介してデータの入出力を行ってもよい。入出力IF14は、例えば、ユーザ端末100の物理ボタン、カメラ、マイク、または、スピーカ等を含み得る。サーバ200の入出力IF24は、サーバ200がデータの入力を受け付けるためのインターフェースであり、またサーバ200がデータを出力するためのインターフェースである。入出力IF24は、例えば、マウスまたはキーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部とを含み得る。動作指図装置300の入出力IF34は、動作指図装置300がデータの入力を受け付けるためのインターフェースであり、また動作指図装置300がデータを出力するためのインターフェースである。入出力IF34は、例えば、マウス、キーボード、スティック、レバー等の情報入力機器、液晶ディスプレイなどの画像を表示出力する機器、および、周辺機器(マイク3010、モーションキャプチャ装置3020、および、コントローラ3030)との間でデータを送受信するための接続部を含み得る。
【0044】
ユーザ端末100のタッチスクリーン15は、入力部151と表示部152とを組み合わせた電子部品である。動作指図装置300のタッチスクリーン35は、入力部351と表示部352とを組み合わせた電子部品である。入力部151、351は、例えばタッチセンシティブなデバイスであり、例えばタッチパッドによって構成される。表示部152、352は、例えば液晶ディスプレイ、または有機EL(Electro-Luminescence)ディスプレイ等によって構成される。
【0045】
入力部151、351は、入力面に対しユーザの操作(主にタッチ操作、スライド操作、スワイプ操作、およびタップ操作等の物理的接触操作)が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部151、351は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
【0046】
図示していないが、ユーザ端末100は、該ユーザ端末100の保持姿勢を特定するための1以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、または、角速度センサ等であってもよい。ユーザ端末100がセンサを備えている場合、プロセッサ10は、センサの出力からユーザ端末100の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ10は、ユーザ端末100が縦向きに保持されているときには、縦長の画像を表示部152に表示させる縦画面表示としてもよい。一方、ユーザ端末100が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ10は、ユーザ端末100の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
【0047】
カメラ17は、イメージセンサ等を含み、レンズから入射する入射光を電気信号に変換することで撮影画像を生成する。
【0048】
測距センサ18は、測定対象物までの距離を測定するセンサである。測距センサ18は、例えば、パルス変換した光を発する光源と、光を受ける受光素子とを含む。測距センサ18は、光源からの発光タイミングと、該光源から発せられた光が測定対象物にあたって反射されて生じる反射光の受光タイミングとにより、測定対象物までの距離を測定する。測距センサ18は、指向性を有する光を発する光源を有することとしてもよい。
【0049】
ここで、ユーザ端末100が、カメラ17と測距センサ18とを用いて、ユーザ端末100の近傍の物体1010を検出した検出結果を、ユーザの入力操作として受け付ける例をさらに説明する。カメラ17および測距センサ18は、例えば、ユーザ端末100の筐体の側面に設けられてもよい。カメラ17の近傍に測距センサ18が設けられてもよい。カメラ17としては、例えば赤外線カメラを用いることができる。この場合、赤外線を照射する照明装置および可視光を遮断するフィルタ等が、カメラ17に設けられてもよい。これにより、屋外か屋内かにかかわらず、カメラ17の撮影画像に基づく物体の検出精度をいっそう向上させることができる。
【0050】
プロセッサ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は、ユーザが手をカメラの撮影方向に直交する方向に振っていると認識する。
【0051】
このように、プロセッサ10は、カメラ17の撮影画像に対する画像認識により、ユーザが手を握りこんでいるか否か(「グー」のジェスチャであるか、それ以外のジェスチャ(例えば「パー」)であるか)を検出する。また、プロセッサ10は、ユーザの手の形状とともに、ユーザがこの手をどのように移動させているかを検出する。また、プロセッサ10は、ユーザがこの手をユーザ端末100に対して接近させているのか遠ざけているのかを検出する。このような操作は、例えば、マウスまたはタッチパネルなどのポインティングデバイスを用いた操作に対応させることができる。ユーザ端末100は、例えば、ユーザの手の移動に応じて、タッチスクリーン15においてポインタを移動させ、ユーザのジェスチャ「グー」を検出する。この場合、ユーザ端末100は、ユーザが選択操作を継続中であると認識する。選択操作の継続とは、例えば、マウスがクリックされて押し込まれた状態が維持されること、または、タッチパネルに対してタッチダウン操作がなされた後タッチされた状態が維持されることに対応する。また、ユーザ端末100は、ユーザのジェスチャ「グー」が検出されている状態で、さらにユーザが手を移動させると、このような一連のジェスチャを、スワイプ操作(またはドラッグ操作)に対応する操作として認識することもできる。また、ユーザ端末100は、カメラ17の撮影画像によるユーザの手の検出結果に基づいて、ユーザが指をはじくようなジェスチャを検出した場合に、当該ジェスチャを、マウスのクリックまたはタッチパネルへのタップ操作に対応する操作として認識してもよい。
【0052】
<ゲームシステム1の機能的構成>
図2は、ゲームシステム1に含まれるユーザ端末100、サーバ200および動作指図装置300の機能的構成を示すブロック図である。ユーザ端末100、サーバ200および動作指図装置300のそれぞれは、図示しない、一般的なコンピュータとして機能する場合に必要な機能的構成、および、ゲームにおける公知の機能を実現するために必要な機能的構成を含み得る。
【0053】
ユーザ端末100は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、および入出力IF14等の協働によって、制御部110および記憶部120として機能する。
【0054】
サーバ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として機能する。
【0055】
動作指図装置300は、ユーザ端末100におけるキャラクタの動作を指示するための動作指図データを生成し、ユーザ端末100に供給する機能を有する。動作指図装置300は、プロセッサ30、メモリ31、ストレージ32、通信IF33、および入出力IF34等の協働によって、制御部310および記憶部320として機能する。
【0056】
記憶部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に基づくゲームに登場させるキャラクタの動作を制御するためのプログラムである。
【0057】
(サーバ200の機能的構成)
制御部210は、記憶部220に格納されたゲームプログラム131を実行することにより、サーバ200を統括的に制御する。例えば、制御部210は、ユーザ端末100に各種データおよびプログラム等を送信する。制御部210は、ゲーム情報もしくはユーザ情報の一部または全部をユーザ端末100から受信する。ゲームがマルチプレイゲームである場合には、制御部210は、ユーザ端末100からマルチプレイの同期の要求を受信して、同期のためのデータをユーザ端末100に送信してもよい。また、制御部210は、必要に応じて、ユーザ端末100および動作指図装置300と通信して、情報の送受信を行う。
【0058】
制御部210は、ゲームプログラム131の記述に応じて、進行支援部211および共有支援部212として機能する。制御部210は、実行するゲームの性質に応じて、ユーザ端末100におけるゲームの進行を支援するために、図示しないその他の機能ブロックとしても機能することができる。
【0059】
進行支援部211は、ユーザ端末100と通信し、ユーザ端末100が、本ゲームに含まれる各種パートを進行するための支援を行う。例えば、進行支援部211は、ユーザ端末100が、ゲームを進行させるとき、該ゲームを進行させるために必要な情報をユーザ端末100に提供する。
【0060】
共有支援部212は、複数のユーザ端末100と通信し、複数のユーザが、各々のユーザ端末100にて互いのデッキを共有し合うための支援を行う。また、共有支援部212は、オンラインのユーザ端末100と動作指図装置300とをマッチングする機能を有していてもよい。これにより、ユーザ端末100と動作指図装置300との間の情報の送受信が円滑に実施される。
【0061】
(ユーザ端末100の機能的構成)
制御部110は、記憶部120に格納されたゲームプログラム131を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲームプログラム131およびユーザの操作にしたがって、ゲームを進行させる。また、制御部110は、ゲームを進行させている間、必要に応じて、サーバ200および動作指図装置300と通信して、情報の送受信を行う。
【0062】
制御部110は、ゲームプログラム131の記述に応じて、操作受付部111、表示制御部112、ユーザインターフェース(以下、UI)制御部113、アニメーション生成部114、ゲーム進行部115、解析部116および進捗情報生成部117として機能する。制御部110は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
【0063】
操作受付部111は、入力部151に対するユーザの入力操作を検知し受け付ける。操作受付部111は、タッチスクリーン15およびその他の入出力IF14を介したコンソールに対してユーザが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部110の各要素に出力する。
【0064】
例えば、操作受付部111は、入力部151に対する入力操作を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部111は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部111は、連続して検知されていた入力が途切れると、タッチスクリーン15から接触入力が解除されたことを検知する。
【0065】
UI制御部113は、UIを構築するために表示部152に表示させるUIオブジェクトを制御する。UIオブジェクトは、ユーザが、ゲームの進行上必要な入力をユーザ端末100に対して行うためのツール、または、ゲームの進行中に出力される情報をユーザ端末100から得るためのツールである。UIオブジェクトは、これには限定されないが、例えば、アイコン、ボタン、リスト、メニュー画面などである。
【0066】
アニメーション生成部114は、各種オブジェクトの制御態様に基づいて、各種オブジェクトのモーションを示すアニメーションを生成する。例えば、アニメーション生成部114は、キャラクタがまるでそこにいるかのように動いたり、口を動かしたり、表情を変えたりする様子を表現したアニメーション等を生成してもよい。
【0067】
表示制御部112は、タッチスクリーン15の表示部152に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部112は、アニメーション生成部114によって生成されたアニメーションを含むゲーム画面を表示部152に表示してもよい。また、表示制御部112は、UI制御部113によって制御される上述のUIオブジェクトを、該ゲーム画面に重畳して描画してもよい。
【0068】
ゲーム進行部115は、ゲームを進行させる。本実施形態では、ゲーム進行部115は、本実施形態に係るゲームシステム1において実行されるゲーム(以下、本ゲーム)を、操作受付部111を介して入力されるユーザの入力操作に応じて進行させる。本ゲームが、第1パート、第2パート・・・というように複数のパートに分かれて構成されている場合、ゲーム進行部115は、パートごとの仕様にしたがってゲームを進行させる。
【0069】
一例を挙げると、本ゲームが、対戦テニスゲームであって、チュートリアルパート、対戦パート、および、抽選パートに分かれているとする。例えば、ゲーム進行部115は、チュートリアルパートにおいて、初心者のユーザが、その他のパート(対戦パートおよび抽選パート)をプレイするために必要な知識を提供したり、本ゲームのメインである対戦パートでのコア操作を習得するために簡単な練習モードを提供したりする。ゲーム進行部115は、チュートリアルパートを、ユーザの入力操作と、予め記憶部120にダウンロードされたゲームプログラム131とにしたがって進行させる。
【0070】
ゲーム進行部115は、対戦パートにおいて、ユーザが操作するテニス選手と、他のユーザが操作するテニス選手とを対戦させる。ゲーム進行部115は、サーバ200を介して、他のユーザが操作するユーザ端末100と情報を共有し、同期をとりながら、テニスの対戦を進行させる。すなわち、ゲーム進行部115は、対戦パートを、ユーザの入力操作と、他のユーザの入力操作と、ゲームプログラム131とにしたがって進行させる。
【0071】
ゲーム進行部115は、抽選パートにおいて、抽選を実行し、当選したゲーム媒体をユーザに獲得させる。ゲーム媒体は、本ゲームで利用可能なデジタルデータであり、例えば、対戦を有利にするために、ユーザが操作するテニス選手を強化できるアイテムなどである。ゲーム進行部115は、抽選パートを、ユーザの入力操作と、予め記憶部120にダウンロードされたゲームプログラム131と、サーバ200が実行する抽選結果とにしたがって進行させる。ここで、「ゲーム媒体をユーザに獲得させる」とは、一例として、ユーザに対応付けて管理されているゲーム媒体のステータスを、使用不可から使用可能に遷移させることであってもよい。あるいは、ゲーム媒体を、ユーザ識別情報またはユーザ端末IDなどに対応付けて、ゲームシステム1に含まれる少なくともいずれかのメモリ(メモリ11、メモリ21、メモリ31)に記憶させることであってもよい。
【0072】
解析部116は、動作指図データを解析して(レンダリングして)、解析結果に基づいてキャラクタを動作させるようにゲーム進行部115に指示する。本実施形態では、解析部116は、動作指図装置300によって供給された動作指図データが通信IF33を介して受信されたことをトリガにして、該動作指図データのレンダリングを開始する。動作指図装置300は、解析結果をゲーム進行部115に伝達し、すぐに動作指図データに基づいてキャラクタを動作させるよう指示する。すなわち、ゲーム進行部115は、動作指図データが受信されたことをトリガにして、該動作指図データに基づいてキャラクタを動作させる。これにより、リアルタイムで動作するキャラクタをユーザに見せることが可能となる。
【0073】
進捗情報生成部117は、ゲーム進行部115が実行しているゲームの進捗を示す進捗情報を生成し、適時、サーバ200または動作指図装置300に送信する。進捗情報は、例えば、現在表示されているゲーム画面を指定する情報を含んでいてもよいし、ゲームの進捗を、時系列で文字および記号等によって示した進行ログを含んでいてもよい。ゲームシステム1において、サーバ200および動作指図装置300が進捗情報を必要としない実施形態では、進捗情報生成部117は省略されてもよい。
【0074】
(動作指図装置300の機能的構成)
制御部310は、記憶部320に格納されたキャラクタ制御プログラム134を実行することにより、動作指図装置300を統括的に制御する。例えば、制御部310は、キャラクタ制御プログラム134およびオペレータの操作にしたがって、動作指図データを生成し、ユーザ端末100に供給する。制御部310は、必要に応じて、さらにゲームプログラム131を実行してもよい。また、制御部310は、サーバ200および本ゲームを実行中のユーザ端末100と通信して、情報の送受信を行う。
【0075】
制御部310は、キャラクタ制御プログラム134の記述に応じて、操作受付部311、表示制御部312、UI制御部313、アニメーション生成部314、進捗模擬部315およびキャラクタ制御部316として機能する。制御部310は、ゲームシステム1において実行されるゲームの性質に応じて、該ゲームに登場するキャラクタを制御するために、図示しないその他の機能ブロックとしても機能することができる。
【0076】
操作受付部311は、入力部351に対するオペレータの入力操作を検知し受け付ける。操作受付部311は、タッチスクリーン35およびその他の入出力IF34を介したコンソールに対して、オペレータが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部310の各要素に出力する。操作受付部311の機能の詳細は、ユーザ端末100における操作受付部111のそれとほぼ同様である。
【0077】
UI制御部313は、表示部352に表示させるUIオブジェクトを制御する。
【0078】
アニメーション生成部314は、各種オブジェクトの制御態様に基づいて、各種オブジェクトのモーションを示すアニメーションを生成する。例えば、アニメーション生成部314は、通信相手となるユーザ端末100上実際に表示されているゲーム画面を再現したアニメーション等を生成してもよい。
【0079】
表示制御部312は、タッチスクリーン35の表示部352に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部312の機能の詳細は、ユーザ端末100における表示制御部112のそれとほぼ同様である。
【0080】
進捗模擬部315は、ユーザ端末100から受信するゲームの進捗を示す進捗情報に基づいて、ユーザ端末100におけるゲームの進捗を把握する。そして、進捗模擬部315は、該ユーザ端末100の挙動を動作指図装置300において模擬的に再現することで、オペレータに対して、ユーザ端末100の進捗を提示する。
【0081】
例えば、進捗模擬部315は、ユーザ端末100で表示されているゲーム画面を再現したものを自装置の表示部352に表示してもよい。また、進捗模擬部315は、ユーザ端末100において、ゲームの進捗を上述の進行ログとして表示部352に表示してもよい。
【0082】
また、進捗模擬部315の機能の一部は、制御部310がゲームプログラム131を実行することにより実現されてもよい。例えば、まず進捗模擬部315は、進捗情報に基づいて、ユーザ端末100のゲームの進捗を把握する。そして、進捗模擬部315は、ユーザ端末100においてゲームプログラム131基づき現在表示されている、ゲーム画面を、完全にまたは簡略化して自装置の表示部352に再現してもよい。あるいは、進捗模擬部315は、現時点のゲームの進捗を把握し、ゲームプログラム131に基づいて現時点以降のゲーム進行を予測し、予測結果を表示部352に出力してもよい。
【0083】
キャラクタ制御部316は、ユーザ端末100に表示させるキャラクタの挙動を制御する。具体的には、キャラクタを動作させるための動作指図データを生成し、ユーザ端末100に供給する。例えば、キャラクタ制御部316は、オペレータ(声優など)が、マイク3010を介して入力した音声データに基づいて、制御対象のキャラクタに発言させることを指示する動作指図データを生成する。このようにして生成された動作指図データには、上述の音声データが少なくとも含まれる。また、例えば、オペレータ(モデルなど)が、モーションキャプチャ装置3020を介して入力したモーションキャプチャデータに基づく動きを制御対象のキャラクタに行わせることを指示する動作指図データを生成する。このようにして生成された動作指図データには、上述のモーションキャプチャデータが少なくとも含まれる。また、例えば、オペレータが、コントローラ3030などの入力機構または入力部351などの操作部を介して入力した入力操作の履歴、すなわち、操作履歴データに基づいて、制御対象のキャラクタを動作させることを指示する動作指図データを生成する。このようにして生成された動作指図データには、上述の操作履歴データが少なくとも含まれる。操作履歴データは、例えば、表示部にどの画面が表示されているときに、オペレータが、コントローラ3030のどのボタンをどのタイミングで押したのかを示す操作ログが時系列で整理されている情報である。ここでの表示部は、コントローラ3030と連動した表示部であって、タッチスクリーン35の表示部352であってもよいし、入出力IF34を介して接続された別の表示部であってもよい。あるいは、キャラクタ制御部316は、オペレータが上述の入力機構または操作部を介して入力した入力操作に対応付けられた、キャラクタの動作を指示するコマンドを特定する。そして、キャラクタ制御部316は、該コマンドを入力された順に並べてキャラクタの一連の動作を示すモーションコマンド群を生成し、該モーションコマンド群にしたがってキャラクタを動作させることを指示する動作指図データを生成してもよい。このようにして生成された動作指図データには、上述のモーションコマンド群が少なくとも含まれる。
【0084】
反応処理部317は、ユーザ端末100からユーザの反応についてフィードバックを受け付けて、これを動作指図装置300のオペレータに対して出力する。本実施形態では、例えば、ユーザ端末100は、上述の動作指図データにしたがってキャラクタを動作させている間、該キャラクタに宛てて、ユーザがコメントを作成することができる。反応処理部317は、該コメントのコメントデータを受け付けて、これを、出力する。反応処理部317は、ユーザのコメントに対応するテキストデータを、表示部352に表示してもよいし、ユーザのコメントに対応する音声データを、図示しないスピーカから出力してもよい。
【0085】
なお、
図2に示すユーザ端末100、サーバ200および動作指図装置300の機能は一例にすぎない。ユーザ端末100、サーバ200および動作指図装置300の各装置は、他の装置が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末100、サーバ200および動作指図装置300以外のさらに別の装置をゲームシステム1の構成要素とし、該別の装置にゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末100、サーバ200、動作指図装置300およびそれ以外の別の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
【0086】
<処理概要>
本実施形態では、ユーザ端末100は、ゲームプログラム131に基づいて、ゲームの興趣性を向上させるために以下のステップを実行するように構成されている。具体的には、ユーザ端末100は、操作部(例えば、入力部151)を介してユーザ端末100に入力されたユーザの入力操作に応じてゲームを進行させるステップと、ゲームに登場する少なくとも1つのキャラクタを制御する動作指図装置300に、ゲームの進捗を示す進捗情報を送信するステップと、動作指図装置300においてゲームの進捗に合わせて入力された、キャラクタの発言に対応する音声データを、動作指図装置300から受信するステップと、音声データを受信したことをトリガにして、ゲームの進行中に登場するキャラクタに、少なくとも該音声データの内容を発話させることにより、該キャラクタを動作させるステップとを実行する。
【0087】
また、本実施形態では、動作指図装置300は、キャラクタ制御プログラム134に基づいて、ゲームの興趣性を向上させるために以下のステップを実行するように構成されている。具体的には、動作指図装置300は、ゲームを進行させるユーザ端末100から受信した、該ゲームの進捗を示す進捗情報に基づいて、ゲームの進捗を示す進捗画面を表示部352に表示するステップと、表示部352に表示された前記進捗画面が示す前記ゲームの進捗に合わせて動作指図装置300に入力された、前記キャラクタの発言に対応する音声データを受け付けるステップと、受け付けられた前記音声データを前記ユーザ端末100に送信するステップとを実行する。
【0088】
上述の構成によれば、ユーザがゲームをプレイ中、ユーザ端末100におけるゲームの進捗が、動作指図装置300に報告される。したがって、動作指図装置300のオペレータは、ユーザがゲームをどこまで進めたのかを把握することができる。これにより、オペレータまたはオペレータから指示を受けた声優は、ユーザのゲームの進捗に合った音声データを動作指図装置300に入力することができる。進捗を踏まえてオペレータから動作指図装置300に入力された該音声データが、ユーザ端末100に供給される。ユーザ端末100は、ゲームの進行中に、該音声データの内容をキャラクタに発話させる。これにより、ユーザは、プレイ中のゲームの進捗に合った内容を発言してくれるキャラクタの存在を認識しつつ、ゲームをプレイすることができる。キャラクタにはゲームの進捗に合わせて発言させることができるので、ユーザは、キャラクタに対し、一緒にゲームをプレイしているかのような現実感を覚えることができる。結果として、ゲームの世界への没入感を高め、該ゲームの興趣性を向上させるという効果を奏する。
【0089】
<データ構造>
(画面遷移情報)
図3は、画面遷移情報のデータ構造の一例を示す図である。一例として、画面遷移情報は、「ゲームパート」および「画面情報」の各項目を含んで構成されている。
【0090】
項目「ゲームパート」には、本ゲームを構成する各パートの識別情報が格納されている。一例として、本ゲームは、対戦テニスゲームであり、チュートリアルパート、対戦パート、抽選パートの3つのパートで構成されている。
【0091】
項目「画面情報」には、各パートで表示される画面とその遷移を定義する情報が格納されている。例えば、本ゲームでは、チュートリアルパートでは、ID「0001」の導入画面が表示部152に表示され、次に、ID「0002」の練習画面が表示され、最後に、ID「0003」の説明画面が表示されて、該チュートリアルパートが終了する。
【0092】
本実施形態では、ユーザ端末100および動作指図装置300が、この画面遷移情報をそれぞれの記憶部に記憶して共有していてもよい。これにより、ユーザ端末100と動作指図装置300との間で画面IDを送受信するだけで、ユーザ端末100が現在どのパートのどのゲーム画面を表示中であるのかを簡単にユーザ端末100から動作指図装置300へ伝達することができる。
【0093】
(進捗情報)
図4は、ユーザ端末100の進捗情報生成部117が生成する進捗情報のデータ構造の一例を示す図である。一例として、進捗情報は、「画面ID」および「進行ログ」の各項目を含んで構成されている。
【0094】
項目「画面ID」には、上述の画面IDが格納される。進捗情報生成部117は、ゲーム進行部115が現在表示部152に表示させているゲーム画面を特定し、その画面IDを、該項目に格納する。
【0095】
項目「進行ログ」には、ゲーム進行部115によって実行されているゲームの進行ログが格納される。例えば、対戦パートが進行するにつれ、ゲーム進行部115は、進行ログを、定期的に、または、ログに残すべきイベントが発生する度に、記憶部120に記録する。進捗情報生成部117は、ゲーム進行部115によって記録された最新の進行ログを該項目に格納する。
【0096】
進行ログは、例えば、イベントが発生した時刻とそのイベントの内容とが紐付けられたレコードが、時系列に並べられたものである。進捗情報生成部117は、「進行ログ」の項目に、進行ログ全体を格納してもよいし、動作指図装置300へまだ報告されていない進行ログのレコードだけを格納してもよい。
【0097】
進捗情報は、さらに、ゲームの性質に応じて、ゲームの進捗を把握するのに必要な項目を含んでいてもよい。例えば、対戦テニスゲームの対戦パートにおいては、仮想のゲーム空間において、対戦中の選手の位置および選手たちが打ち合うボールの位置は、ユーザの入力操作に応じて変化する。上述の選手およびボールのように、ユーザの入力操作に応じて、オブジェクトの属性が変化するオブジェクトを以下では、動的オブジェクトと称する。オブジェクトの属性とは例えば、オブジェクトのゲーム空間における位置、大きさ、または、形状などを指している。そこで、本実施形態では、進捗情報は、さらに、「動的オブジェクト」の項目を含んで構成されていてもよい。
【0098】
項目「動的オブジェクト」には、動的オブジェクトの属性を特定するために必要な属性関連情報が格納される。属性関連情報は、例えば、動的オブジェクトのゲーム空間における位置特定するための座標情報であってもよい。あるいは、属性関連情報は、例えば、動的オブジェクトがボールである場合に、ボールの移動経路を特定するための情報であってもよい。例えば、進捗情報生成部117は、ラケットに衝突した直後のボールの速度ベクトル、回転軸、回転量等をゲーム進行部115から取得し、属性関連情報として「動的オブジェクト」の項目に格納してもよい。
【0099】
進捗情報生成部117は、上述の各項目を含む進捗情報を、ゲーム進行中に、定期的に、または、所定のイベントが発生する度に生成し、動作指図装置300に送信する。これにより、動作指図装置300は、ユーザ端末100におけるゲームの進捗を把握することが可能となる。
【0100】
(動作指図データ)
図5は、本実施形態に係るゲームシステム1にて処理される動作指図データのデータ構造の一例を示す図である。一例として、動作指図データは、メタ情報である、「宛先」、「作成元」の各項目と、データの中身である、「キャラクタID」、「音声」、「動き」、「注目箇所」の各項目とを含んで構成されている。
【0101】
項目「宛先」には、宛先指定情報が格納されている。宛先指定情報は、該動作指図データが、どの装置宛てに送信されたものであるのかを示す情報である。宛先指定情報は、例えば、ユーザ端末100固有のアドレスであってもよいし、ユーザ端末100が所属しているグループの識別情報であってもよい。ある条件を満たすすべてのユーザ端末100を宛先としていることを示す記号(例えば、「ALL」など)であってもよい。
【0102】
項目「作成元」には、作成元情報が格納されている。作成元情報は、該動作指図データが、どの装置によって作成されたものであるのかを示す情報である。作成元情報は、例えば、ユーザID、ユーザ端末ID、ユーザ端末の固有アドレスなど、ある特定のユーザを特定可能な、ユーザに関連する情報である。作成元情報は、サーバ200または動作指図装置300を指し示すIDまたはアドレスであってもよいし、作成元が、サーバ200または動作指図装置300である場合には、該項目の値を空のままにしておいてもよいし、該項目自体を動作指図データに設けないようにしてもよい。
【0103】
項目「キャラクタID」には、本ゲームに登場するキャラクタを一意に識別するためのキャラクタIDが格納されている。ここに格納されているキャラクタIDは、該動作指図データがどのキャラクタの動作を指示するためのものであるのかを表している。
【0104】
項目「音声」には、キャラクタに発現させる音声データが格納されている。項目「動き」には、キャラクタの動きを指定するモーションデータが格納されている。モーションデータは、一例として、モーションキャプチャ装置3020を介して動作指図装置300が取得したモーションキャプチャデータであってもよい。モーションキャプチャデータは、アクターの体全体の動きを追跡したデータであってもよいし、アクターの顔の表情および口の動きを追跡したデータであってもよいし、その両方であってもよい。モーションデータは、他の例として、コントローラ3030を介して動作指図装置300のオペレータが入力した操作によって特定された、キャラクタの一連の動きを指示するモーションコマンド群であってもよい。例えば、コントローラ3030のボタンA、ボタンB、ボタンC、ボタンDにそれぞれ、「右手を上げる」、「左手を上げる」、「歩く」、「走る」のコマンドが割り付けられている場合に、オペレータが、ボタンA、ボタンB、ボタンC、ボタンDを続けて順に押した場合には、「右手を上げる」、「左手を上げる」、「歩く」、「走る」の各コマンドが上述の順に並べられたモーションコマンド群が、モーションデータとして、「動き」の項目に格納される。なお、本実施形態では、音声データとモーションデータとは同期がとれた状態で、動作指図データに含まれている。
【0105】
項目「注目箇所」には、ユーザ端末100の表示部152に表示されているゲーム画面において、キャラクタとユーザとのやりとりの中で、ユーザに注目させたい箇所を特定するための注目情報が格納される。一例として、注目情報は、ゲーム画面上に配置されているオブジェクトのうちユーザに注目させたいオブジェクトを識別する識別情報、例えば、オブジェクトIDであってもよい。あるいは、注目情報は、ゲーム画面を表示する表示部152の特定の位置を示す位置座標(第2の位置座標)であってもよい。本実施形態では、動作指図装置300の進捗模擬部315は、表示部352に、ユーザ端末100の表示部152に表示されているゲーム画面を再現してもよい。この場合、動作指図装置300のオペレータは、入力部351を介して、ユーザに注目させたい箇所を入力操作で指定することができる。入力操作がなされた表示部352における第1の位置座標は、キャラクタ制御部316によって上述の第2の位置座標に変換される。例えば、キャラクタ制御部316は、上述の変換のために、予めユーザ端末100から取得されたタッチスクリーン15の仕様(画素数および縦横比など)と、表示部352における再現されたゲーム画面が表示されている位置とを参照する。参照したこれらの情報を用いて、キャラクタ制御部316は、自装置の表示部352における第1の位置座標に対応する、ユーザ端末100のタッチスクリーン15における第2の位置座標を求めることができる。
【0106】
例えば、表示部352と入力部351とはタッチスクリーン35を構成していてもよい。この場合、表示部352に表示された模擬画面に対してユーザが入力したタッチ操作(入力操作)の第1の位置座標は、入力部151を介してタッチスクリーン35における位置座標としてキャラクタ制御部316に取得される。別の実施形態では、入力部351と表示部352とは別々に形成されていてもよい。例えば、入力部351がマウスまたはキーボードなどのように表示部352とは別体で形成された入力装置である場合、表示部352に表示された模擬画面に対してユーザがマウスを用いて所定の位置をクリックする。模擬画面に対してユーザが入力したクリック操作(入力操作)の第1の位置座標は、クリック操作の入力タイミングと、そのときに表示部352に表示されていたカーソルの表示位置とに基づいて決定されキャラクタ制御部316に供給される。
【0107】
ユーザ端末100のゲーム進行部115が、「注目箇所」の情報を用いると、ゲーム進行部115は、ゲーム画面上のユーザに注目させたい箇所を、該ユーザに確実に伝えるための表示を行うことが可能となる。例えば、キャラクタの発話に、「これ」、「ここ」、「あそこ」、「こっち」などの指示語が含まれていても、ゲーム進行部115は、その指示語が指している箇所を把握し、それを強調表示することができる。そのため、ユーザは、指示語が指している箇所がどこなのかを正確に知ることができる。これにより、指示語を含む会話が、ユーザとキャラクタとの間で成立する。結果として、キャラクタがその場で一緒にプレイしているかのような、臨場感あふれるテンポの良い自然なコミュニケーションをユーザとキャラクタとの間で実現することができる。
【0108】
このような動作指図データを受信することにより、ゲーム進行部115は、ゲームに登場するキャラクタを、該動作指図データの作成元の意図通りに動作させることができる。具体的には、ゲーム進行部115は、動作指図データに音声データが含まれている場合には、該音声データに基づいてキャラクタに発話させ、動作指図データにモーションデータが含まれている場合には、該モーションデータに基づいてキャラクタを動かす、すなわち、モーションデータに基づく動きをするように該キャラクタのアニメーションを生成する。
【0109】
<画面例>
(進捗画面)
図6は、動作指図装置300の表示部352に表示される進捗画面の一例を示す図である。本実施形態では、進捗模擬部315は、ユーザ端末100から取得された進捗情報を、例えば、進捗画面400として表示部352に表示させる。
【0110】
進捗画面400は、一例として、模擬画面401および進行ログ402を含む。さらに、進捗画面400は、オペレータ(または声優)が、マイク3010を介して音声データを自装置に対して入力するためのUI部品403を含んでいてもよい。進捗画面400は、ユーザ端末100の表示部152に実際に表示されているのと同じ画面を模擬画面401として含んでいてもよいし、該画面を簡略化した模擬画面401を含んでいてもよい。
【0111】
進捗模擬部315は、ユーザ端末100から取得した進捗情報を解析する。進捗模擬部315は、進捗情報に含まれている画面IDに基づいて、ユーザ端末100において表示されているゲーム画面を特定する。進捗模擬部315は、特定したゲーム画面を表示部352に表示する。例えば、進捗模擬部315は、記憶部320に記憶されているゲーム情報132、ユーザ情報133およびゲームプログラム131に基づいて、上述のゲーム画面を詳細に再現してもよい。しかし、進捗模擬部315は、処理の負荷を低減するために、上述のゲーム画面を簡略化した模擬画面401を生成することが好ましい。模擬画面401は、上述のゲーム画面に配置されている情報のうち、動作指図装置300のオペレータが、ゲームの進捗を判断するために必要な最小限の情報だけを含んでいる。模擬画面401は、例えば、最小限の情報として、オブジェクトの外観の描画が省かれて、各オブジェクトのレイアウトと、各オブジェクトの機能の説明と、各オブジェクトのステータスとが含まれていてもよい。
【0112】
さらに、進捗模擬部315は、進捗情報に含まれている動的オブジェクトの属性関連情報に基づいて、ゲーム画面に配置されている動的オブジェクトの属性を模擬画面401において再現することが好ましい。例えば、進捗模擬部315は、動的オブジェクトであるボール404の属性関連情報に基づいてボール404の移動軌道を計算し、そのとおりにボール404を移動させてもよい。あるいは、進捗模擬部315は、動的オブジェクトである、ユーザが操作する選手405、および、対戦相手のユーザが操作する選手406の属性関連情報に基づいてゲーム空間における各選手の位置を特定する。そして、進捗模擬部315は、各選手と仮想カメラとの位置関係に基づいて、各選手の大きさを決定し、特定した位置にそれぞれの選手を配置する。あるいは、各選手の表示サイズは属性関連情報として予め定義されており、進捗模擬部315は、定義された表示サイズにしたがって各選手を配置してもよい。
【0113】
進捗模擬部315は、進捗情報に含まれている進行ログを進捗画面400に配置する。例えば、進捗模擬部315は、図示のとおり、イベントの発生時刻と、該イベントの内容とが紐付けられた各レコードをテキストデータとして含む進行ログ402を生成する。
【0114】
以上のように、動作指図装置300のオペレータは、進捗画面400を確認することにより、ユーザ端末100で実行されているゲームの進捗を把握することができる。
【0115】
さらに、進捗模擬部315は、ゲームプログラム131に基づいて、現時点のゲーム進捗から今後のゲーム展開を予測した予測結果を、進捗画面400に含めてもよい。進捗模擬部315は、予測結果を、模擬画面401に重畳させて表示してもよいし、予測結果を、模擬画面401と切り替えられるように表示してもよいし、模擬画面401と並べて表示してもよい。あるいは、進捗模擬部315は、予測結果を、進行ログ402に、追加して表示してもよい。この場合、進捗模擬部315は、すでに起こったイベントとは異なる表示態様、例えば、異なる文字色にて予測結果を表示することが好ましい。
【0116】
これにより、動作指図装置300のオペレータは、ユーザ端末におけるゲーム進捗に合わせて、今の状況に関することをキャラクタに発話させることに加えて、予測結果に基づいてこの先のことについてアドバイスすることができるようになる。例えば、対戦テニスゲームにおいて、ユーザがコンピュータと対戦するパートをプレイしているとする。この場合、ユーザの入力操作に基づいてボールが打ち返されたことを示す進捗情報がユーザ端末100から動作指図装置300に供給される。そして、進捗模擬部315は、この次に、コンピュータがどんな球を返すのかをゲームプログラム131に基づいて予測し、その返球軌道を、模擬画面401に重畳表示することができる。これを見たオペレータは、「すぐ右に移動して!こっちにくるよ!」などとキャラクタにアドバイスさせるように音声を入力したり、「こっち」が指す位置を指定したりすることができる。また、例えば、将棋やオセロなどの対戦ボードゲームであれば、進捗模擬部315は、進捗情報に基づいてユーザが指そうとしている1手を検出し、仮にその1手が実際に指された場合のその後の展開を予測する。進捗模擬部315は、その1手が、敗北が確定してしまう1手であると判断した場合、その旨のポップアップメッセージを模擬画面401上または進捗画面400のその他の余白領域に表示してもよい。これを見たオペレータは、「そこはやめといたほうがいいって!」とキャラクタにアドバイスさせるための音声を入力することができる。
【0117】
操作受付部311が、マイク3010の入力が無効となっているマイクオフの状態のときに、進捗画面400上に配置されたUI部品403に対するオペレータのタッチ操作を受け付けたとする。この場合、キャラクタ制御部316は、マイク3010からの入力を有効にし、マイク3010を介して入力された音声データを取得して、動作指図データに含める。操作受付部311が、マイク3010の入力が有効となっているマイクオンの状態のときに、進捗画面400上に配置されたUI部品403に対するオペレータのタッチ操作を受け付けたとする。この場合、キャラクタ制御部316は、再び、マイク3010からの入力を無効にする。
【0118】
以上のように、オペレータは、ゲームの進捗を確認した後、その進捗に合うように、その場で発話の内容を決定して、該発話の内容に対応する音声データを動作指図装置300に対して入力することができる。
【0119】
操作受付部311が、模擬画面401の表示領域に対するタッチ操作をオペレータから受け付けたとき、キャラクタ制御部316は、そのタッチ操作によって模擬画面401上のどのオブジェクトが指定されたのかを特定し、該オブジェクトの識別情報を取得してもよい。キャラクタ制御部316は、識別情報を、動作指図データの「注目箇所」の項目に格納してもよい。あるいは、キャラクタ制御部316は、タッチスクリーン35における上述のタッチ操作の第1の位置座標を、ユーザ端末100の表示部152の仕様に応じて、ユーザ端末100のタッチスクリーン15における第2の位置座標に変換する。キャラクタ制御部316は、オペレータのタッチ操作の位置を表示部152の座標系において示すための第2の位置座標を、動作指図データの「注目箇所」の項目に格納してもよい。
【0120】
以上のように、オペレータは、ゲームの進捗を確認し、その進捗に合うように、キャラクタの発話内容に対応する音声データを入力しつつ、その発話と同時にユーザに注目させたいゲーム画面上の注目箇所を指定することができる。
【0121】
(ゲーム画面)
ユーザ端末100のゲーム進行部115は、ゲームの進行中に、動作指図装置300から動作指図データを受信すると、表示中のゲーム画面に、該動作指図データによって指定されたキャラクタを重畳させて、該キャラクタを該動作指図データに基づいて動作させる。例えば、ゲーム進行部115が、チュートリアルパートの練習画面を表示しているときに動作指図データを受信したとする。この場合、ゲーム進行部115は、表示部152に表示中の練習画面800に、キャラクタ801を重畳させる。そして、ゲーム進行部115は、キャラクタ801を、受信した動作指図データに基づいて動作させる。
【0122】
図7は、ユーザ端末100の表示部152に表示されるゲーム画面の一例を示す図である。
図7では、表示部152に表示されるゲーム画面の一例として、本ゲームのチュートリアルパートにおいて、2番目に表示される練習画面800が図示されている。
【0123】
練習画面800のレイアウトは、一例として、対戦パートで表示される対戦画面のレイアウトとほぼ同様である。具体的には、ゲーム進行部115は、練習画面800において、ゲーム空間上のコートを描画する。そして、ゲーム進行部115は、ユーザが操作する選手802を手前に、対戦相手(チュートリアルパートではCOM)が操作する選手803を奥に配置する。ユーザは、練習画面800を見ながら、選手802を操作してチュートリアルパートをプレイすることにより、対戦パートでの本番さながらに、操作方法を習得することができる。進捗情報生成部117は、ゲーム進行部115がチュートリアルパートを進行させている間、進捗情報を適時に生成し、動作指図装置300に送信する。例えば、ラリーが続いて、スキルゲージが貯まり、選手802の状態が、スキルを発動可能な状態に遷移したとする。このとき、進捗情報生成部117は、スキル発動ボタン804が使用不可の状態から使用可に遷移したというイベントを含む進行ログを進捗情報に含めて動作指図装置300に送信する。
【0124】
ゲーム進行部115は、動作指図データが動作指図装置300から供給されないうちは、キャラクタ801を表示させなくてもよい。あるいは、本ゲームのアプリケーションをダウンロードしたときにあらかじめ供給された作り置きの動作指図データが記憶部120にゲームプログラム131とともに記憶されていてもよい。この場合、ゲーム進行部115は、ゲームプログラム131にしたがって、記憶部120から読み出した作り置きの動作指図データに基づいて、キャラクタ801を動作させてもよい。
【0125】
ユーザ端末100から進捗情報を受信した動作指図装置300は、進捗情報を先に説明した
図6に示す進捗画面400として表示部352に表示する。進捗画面400を確認したオペレータは、例えば、スキル発動ボタン804を使うことをユーザにアドバイスすればよいと判断することができる。オペレータまたは声優701は、ゲームの進捗に合ったアドバイスを含む音声700を、マイク3010を介して動作指図装置300に入力する。また、オペレータまたはモデル(人物)702は、必要に応じて、モーションキャプチャ装置3020を介してキャラクタの動きを動作指図装置300に入力してもよい。また、オペレータは、必要に応じて、タッチスクリーン35を介して模擬画面401を操作し、練習画面800においてユーザに注目させたい箇所を指定してもよい。こうして、少なくとも音声データと、必要に応じて追加されたモーションキャプチャデータと、注目情報とを含む動作指図データがキャラクタ制御部316によって生成され、ユーザ端末100に送信される。
【0126】
本実施形態では、解析部116が、動作指図装置300から、動作指図データを受信すると、これをトリガとして、ゲーム進行部115は、受信された動作指図データに基づいてキャラクタ801を練習画面800に重畳させる。そして、動作指図データに含まれているモーションキャプチャデータが示す動きをキャラクタ801の動きに反映させる。上述のとおり、モーションキャプチャデータは、動作指図装置300の設置場所において、モデル702の動きをモーションキャプチャ装置3020を介して取得したものである。したがって、モデル702の動きが、そのまま、表示部152に表示されるキャラクタ801の動きに反映される。
【0127】
また、ゲーム進行部115は、動作指図装置300から供給された動作指図データに含まれている音声データ805を、キャラクタ801が発した音声として、キャラクタ801の動きと同期して出力する。音声データは、動作指図装置300の設置場所において、声優701の音声700をマイク3010を介して取得したものである。したがって、声優701が発した音声700に対応する音声データ805が、そのまま、ユーザ端末100のスピーカから出力される。
【0128】
また、ゲーム進行部115は、上述の動作指図データに含まれている注目情報が指している練習画面800上の箇所を強調表示する。例えば、注目情報が、スキル発動ボタン804を指す識別情報であったり、スキル発動ボタン804が配置されている位置座標であったりする場合、ゲーム進行部115は、スキル発動ボタン804を強調表示する。例えば、ゲーム進行部115は、スキル発動ボタン804の表示態様を変更する。一例として、ゲーム進行部115は、スキル発動ボタン804の色を変更してもよいし、点滅、縁取り、上下左右に小刻みに動かすなどのアニメーションをスキル発動ボタン804に付してもよい。
【0129】
あるいは、ゲーム進行部115は、注目箇所を指定する指示オブジェクト806を練習画面800に重畳させてもよい。さらに、ゲーム進行部115は、指示オブジェクト806を、キャラクタ801の装備品として描画し、キャラクタ801が指示オブジェクト806を使ってスキル発動ボタン804を指している演出を出力してもよい。
【0130】
上述の構成によれば、動作指図装置300の設置場所において実在する声優701の音声が、ユーザ端末100におけるゲームの進捗に応じて発せられ、それがそのまま、キャラクタ801の音声に反映される。また、同様に、実在するモデル702の動きが動作指図装置300に入力され、音声データと併せてユーザ端末100に供給されてもよい。これにより、ゲームの進捗に応じて発話するキャラクタ801に合わせて、該キャラクタ801に動きをつけることができる。さらに、動作指図装置300の設置場所にて模擬画面401がタッチスクリーン35を介してオペレータにより操作されてもよい。この場合、キャラクタ801の発話内容に関連して、ユーザに注目させたい練習画面800上の箇所を、動作指図装置300からユーザ端末100へ伝えることができる。これにより、ゲームの進捗に応じてキャラクタ801が発話するのに合わせて、練習画面800上の注目箇所をユーザに対して知らせることができる。
【0131】
ゲームのプレイ中に、上述のように、ゲームの進捗に合うようにふるまうキャラクタ801を見て、ユーザは、キャラクタ801に対して、まるで、現実の世界に存在するかのような現実感を覚えることができる。さらに、キャラクタ801と一緒にゲームをプレイしているかのように感じることができ、結果として、ユーザは、より一層ゲームを楽しむことができる。
【0132】
さらに、ゲーム進行部115は、ゲーム進行中に表示させるキャラクタ801を、これまでのプレイ結果に応じた表示態様にて、表示部152に表示させてもよい。
【0133】
一例として、ゲーム進行部115は、これまでにプレイされた対戦パートまたは抽選パートにおいて、キャラクタ801に身に付けさせることが可能なアイテムが獲得されていれば、そのアイテムのオブジェクトをキャラクタ801に合成してもよい。上述の構成によれば、ユーザが本ゲームをプレイすることにより獲得したアイテムを、キャラクタ801の服飾品に反映させることができる。
【0134】
これにより、ユーザは、キャラクタ801により愛着を感じて、本ゲームをより一層楽しむことができる。さらに、キャラクタ801の服飾品をバージョンアップさせたいというユーザの意欲を育むことができ、結果として、ゲームをプレイする動機付けを強化することが可能となる。
【0135】
さらに、本実施形態では、ゲーム進行部115は、キャラクタ801の動作に反応して、キャラクタ801に宛てたコメントを入力することが可能であってもよい。一例として、ゲーム進行部115は、練習画面800に、コメント入力ボタン807を配置してもよい。ユーザは、コメント入力ボタン807にタッチして、コメントを入力するためのUIを呼び出し、該UIを操作して、キャラクタ801に宛てたコメントを入力する。該UIは、予め準備されたいくつかのコメントの中からユーザが所望のコメントを選択するためのものであってもよい。該UIは、ユーザが文字を編集してコメントを入力するためのものであってもよい。該UIは、ユーザが音声にてコメントを入力するためのものであってもよい。
【0136】
あるいは、対戦テニスゲームなどのように、ゲーム進行のために常にユーザの入力操作が必要であって、ユーザが、コメントを入力するための操作を行っている時間的余裕がないようなゲームでは、コメント入力ボタン807を設けずとも、常に、ユーザが音声を入力できるように構成されていてもよい。
【0137】
上述の構成によれば、ユーザは、リアルタイムに、キャラクタ801とのインタラクティブなやりとり楽しみながら、ゲームをプレイすることができる。
【0138】
<処理フロー>
図8は、ゲームシステム1を構成する各装置が実行する処理の流れを示すフローチャートである。
【0139】
ステップS101にて、ユーザ端末100のゲーム進行部115は、ユーザからゲーム開始の入力操作を受け付けると、サーバ200にアクセスし、ログインの要求を行う。
【0140】
ステップS102にて、サーバ200の進行支援部211は、ユーザ端末100のステータスがオンラインであることを確認し、ログインを受け付けた旨応答する。
【0141】
ステップS103にて、ゲーム進行部115は、必要に応じて、サーバ200と通信しながら、ユーザの入力操作に応じてゲームを進行させる。例えば、ゲーム進行部115は、チュートリアルパート、対戦パート、または、抽選パートを進行させる。
【0142】
ステップS104にて、進行支援部211は、必要に応じて、ユーザ端末100に対して必要な情報を提供するなどして、ユーザ端末100におけるゲーム進行を支援する。
【0143】
ステップS105にて、動作指図データが動作指図装置300からユーザ端末100へライブで配信されるライブ配信時刻になると、サーバ200の共有支援部212は、ステップS105のYESからステップS106に進む。ライブ配信時刻は、例えば、ゲームマスターによって予め決定されており、サーバ200および動作指図装置300において管理されていてもよい。また、ユーザ端末100に対して、ライブ配信時刻は予め通知されていてもよいし、実際にライブ配信時刻になるまで秘密にされていてもよい。前者の場合、ユーザに対して安定的にライブ配信を供給することができ、後者の場合、サプライズ配信として、ユーザに特別な付加価値が付いたライブ配信を供給することが可能となる。
【0144】
ステップS106にて、共有支援部212は、ライブ配信を受ける権利がある1以上のユーザ端末100を探索する。ライブ配信を受けられる条件は、適宜ゲームマスターが設定すればよいが、少なくとも、本ゲームのアプリケーションをインストールしていること、ライブ配信時刻時点で、オンラインであることが条件として挙げられる。本実施形態では一例として、共有支援部212は、事前に、上述のライブ配信時刻において、ライブ配信を受ける旨の予約を行った特定のユーザ端末100を、ライブ配信を受ける権利があるユーザ端末100として探索する。あるいは、共有支援部212は、ライブ配信時刻時点で、オンラインである、すなわち、本ゲームのアプリケーションを起動しているユーザ端末100を、ライブ配信を受ける権利があるユーザ端末100として探索してもよい。あるいは、共有支援部212は、さらに、ライブ配信を受けるための対価を支払い済みのユーザが所有するユーザ端末100であることを条件に加えてもよい。
【0145】
ステップS107にて、共有支援部212は、検出した1以上のユーザ端末100を動作指図装置300に通知する。例えば、共有支援部212は、ユーザ端末100の端末ID、ユーザ端末100の所有者であるユーザのユーザID、および、ユーザ端末100のアドレスなどを動作指図装置300に通知してもよい。
【0146】
ステップS108にて、共有支援部212は、ライブ配信の実行主体として特定した動作指図装置300を、ステップS106にて検出したユーザ端末100に通知する。共有支援部212は、例えば、動作指図装置300のアドレスまたは装置IDなどをユーザ端末100に通知してもよい。
【0147】
一方、ステップS109にて、動作指図装置300のキャラクタ制御部316は、ライブ配信時刻になると、ステップS108のYESからS111以降の処理に進む。あるいは、キャラクタ制御部316は、サーバ200から、ライブ配信を開始する旨の要求と、ライブ配信先のユーザ端末100についての情報とを受信したときに(ステップS107の後)、S111以降の処理を開始してもよい。
【0148】
なお、ライブ配信は、ユーザの要求に応じて開始される構成であってもよい。この場合、ユーザ端末100は、ユーザの入力操作にしたがって、動作指図データのライブ配信を希望する旨のリクエストをサーバ200に送信する。サーバ200は、このとき、ライブ配信に対応できる動作指図装置300があれば、ライブ配信が可能である旨のレスポンスをユーザ端末100に返す。また、マッチングが成立したユーザ端末100および動作指図装置300のそれぞれに通信相手の装置の情報を通知する。
【0149】
ステップS110にて、ユーザ端末100の進捗情報生成部117は、進捗情報を生成し、動作指図装置300に送信する。進捗情報生成部117は、ステップS103以降ゲーム進行部115によってゲームが進行している間、定期的にまたはイベントが発生する度に進行ログを更新して、適時、進捗情報を生成し、送信する。
【0150】
ステップS111にて、動作指図装置300の進捗模擬部315は、進捗情報に基づいて、ユーザ端末100におけるゲームの進捗を自装置においてシミュレーションする。例えば、進捗模擬部315は、進捗情報に基づいて、ユーザ端末100におけるゲームの進捗を示す進捗画面400を生成し、表示部352に表示する。一例として、進捗模擬部315は、
図6に示すように、進捗情報に含まれる進行ログ402を進捗画面400に配置する。また、進捗模擬部315は、進捗情報に含まれる画面IDに基づいて、ユーザ端末100において表示中のゲーム画面を特定し、該ゲーム画面の模擬画面401を進捗画面400に配置する。さらに、進捗模擬部315は、進捗情報に含まれる動的オブジェクトの属性関連情報に基づいて、動的オブジェクトを模擬画面401上に再現してもよい。
【0151】
ステップS112にて、キャラクタ制御部316は、声優などのアクターが発した音声をマイク3010を介して音声データとして受け付ける。
【0152】
ステップS113にて、キャラクタ制御部316は、モデルなどのアクターがモーションキャプチャ装置3020を介して入力した動きをモーションキャプチャデータとして取得する。
【0153】
ステップS114にて、キャラクタ制御部316は、オペレータがタッチスクリーン35の入力部351を介して入力したタッチ操作に基づいて、ゲーム画面上でユーザに注目してもらいたい箇所を特定する。
【0154】
なお、ステップS112~S114は、どの順番で実行されても構わない。
【0155】
ステップS115にて、キャラクタ制御部316は、動作指図データを生成する。具体的には、キャラクタ制御部316は、ユーザ端末100のゲーム画面に重畳させるキャラクタを特定し、該キャラクタのキャラクタIDを、動作指図データの「キャラクタID」の項目に格納する。どのキャラクタを重畳させるのかは、ゲームマスターによって予めスケジューリングされ、動作指図装置300に登録されていてもよい。あるいは、動作指図装置300のオペレータが、どのキャラクタの動作指図データを作成するのかを動作指図装置300に対して予め指定しておいてもよい。キャラクタ制御部316は、少なくとも、ステップS112で取得した音声データを、動作指図データの「音声」の項目に格納する。キャラクタ制御部316は、ステップS113で取得したモーションキャプチャデータがある場合、これを、動作指図データの「動き」の項目に格納する。キャラクタ制御部316は、音声データとモーションキャプチャデータとが同期するように、音声データとモーションキャプチャデータとを紐付けることが好ましい。キャラクタ制御部316は、ステップS114で受け付けられたタッチ操作がある場合、これに基づいて注目情報を生成し、動作指図データの「注目箇所」の項目に格納する。キャラクタ制御部316は、ステップS107にてサーバ200より通知された1以上のユーザ端末100が宛先となるように、これらのユーザ端末100のグループのグループ識別情報を、1台の場合は、ユーザ端末100のアドレスを、宛先指定情報として、動作指図データの「宛先」の項目に格納する。
【0156】
ステップS116にて、キャラクタ制御部316は、通信IF33を介して、上述のように生成した動作指図データを、宛先として指定した各ユーザ端末100に送信する。キャラクタ制御部316は、アクターが声を出したり、動いたりして得られた音声データおよびモーションキャプチャデータを、取得してすぐさま動作指図データへとレンダリングし、リアルタイムで、各ユーザ端末100に配信することが望ましい。
【0157】
なお、ステップS112~S116は、ステップS107以降、ステップS111に先行して実行されてもよい。
【0158】
ステップS117にて、ユーザ端末100の解析部116は、通信IF13を介して、上述の動作指図データを受信する。例えば、解析部116は、動作指図装置300またはサーバ200から予めライブ配信すると予告された時刻に、動作指図データを受信してもよい。
【0159】
ステップS118にて、解析部116は、受信したことをトリガにして、すぐさま、受信した動作指図データを解析する。
【0160】
ステップS119にて、ゲーム進行部115は、解析部116によって解析された動画指図データで指定されたキャラクタを、表示部152に表示中のゲーム画面に重畳させ、該キャラクタを、該動作指図データに基づいて動作させる。具体的には、ゲーム進行部115は、
図7に示す練習画面800などを表示部152に表示しているところに、キャラクタ801を重畳させる。ゲーム進行部115は、声優701、モデル702などのアクターが動作指図装置300の設置場所で、声を出したり、動いたりしているのとほぼ同時に、リアルタイムで、その音声および動きを、練習画面800におけるキャラクタ801の発言および動きに反映させる。解析部116およびゲーム進行部115は、リアルタイムの動画のレンダリングおよび再生を、動作指図装置300から動作指図データを継続して受信し続けている間継続する。具体的には、ゲーム進行部115は、ユーザから何の入力操作も受け付けず、動作指図データが受信されている間は、ステップS120のNOからステップS103に戻り、以降の各ステップを繰り返す。
【0161】
ステップS120にて、動作指図データに基づいてキャラクタが動作している間に、操作受付部111が、ユーザから入力操作を受け付けると、ゲーム進行部115は、ステップS120のYESからステップS121に進む。例えば、操作受付部111は、練習画面800におけるコメント入力ボタン807に対する入力操作を受け付ける。
【0162】
ステップS121にて、ゲーム進行部115は、上述の入力操作に応じて生成したコメントデータを動作指図装置300に送信する。具体的には、ゲーム進行部115は、選択されたコメントのコメントIDをコメントデータとして送信してもよい。あるいは、ゲーム進行部115は、ユーザにより入力された文章のテキストデータをコメントデータとして送信してもよい。あるいは、ゲーム進行部115は、ユーザにより入力された音声の音声データをコメントデータとして送信してもよい。あるいは、ゲーム進行部115は、ユーザにより入力された音声を認識し、テキストデータに変換したものをコメントデータとして送信してもよい。
【0163】
ステップS122にて、動作指図装置300の反応処理部317は、通信IF33を介して、ユーザ端末100から送信されたコメントデータを受信する。
【0164】
ステップS123にて、反応処理部317は、受信したコメントデータを、動作指図装置300に出力する。例えば、反応処理部317は、コメントデータに含まれるテキストデータを表示部352に表示する。これにより、オペレータまたはアクターは、自分たちが動かしたキャラクタに対して、ユーザがどのような反応を示したのかを示すフィードバックを受けることが可能となる。そして、オペレータまたはアクターは、このフィードバックに合わせて、さらなるキャラクタの動作を決定することができる。すなわち、動作指図装置300は、ステップS112に戻り、音声データ、および、必要に応じてモーションキャプチャデータの取得を継続し、動作指図データをユーザ端末100に提供し続ける。ユーザ端末100は、自端末における入力操作の内容が動作指図装置300によって受信された後、該動作指図装置300から送信された動作指図データを受信する。具体的には、ユーザ端末100は、キャラクタの発言内容に対応する音声データ、および、キャラクタの動きに対応するモーションキャプチャデータなどが含まれた動作指図データを受信する。そして、ユーザ端末100は、継続的に、該動作指図データに基づいて、キャラクタを動作させる。結果として、ユーザに、キャラクタとのリアルタイムでインタラクティブなやりとりを体験させることが可能となる。なお、モーションキャプチャデータに代えて、キャラクタの動作を指示する1以上のコマンドが、動作指図装置300のオペレータが指示した順に並んでいるモーションコマンド群が、ユーザ端末100によって受信されてもよい。モーションコマンド群もまたモーションキャプチャデータと同様に音声データと同期して紐付けられている。これによりユーザ端末100のゲーム進行部115は、音声データの内容を発話させるのに合わせて、モーションコマンド群にしたがってキャラクタを動かすことが可能となる。
【0165】
〔実施形態2〕
本実施形態では、動作指図装置300は、マルチプレイゲームに参加する複数のユーザ端末100と通信し、それぞれのユーザ端末100におけるゲームの進捗を、ユーザ端末100ごとの進捗情報に基づき把握する。そして、動作指図装置300は、全体の進捗に合ったふるまいをキャラクタに行わせるための動作指図データを生成し、各ユーザ端末100に配信する。
【0166】
本実施形態に係るゲームシステム1において実行されるゲーム(以下、本ゲーム)は、一例として、複数のユーザが、それぞれの乗り物を操作して同じコースを周回し、そのタイムを競うカーレースゲームである。
【0167】
本実施形態に係る動作指図装置300の進捗模擬部315は、同じレースに参加する複数のユーザ端末100のそれぞれから進捗情報を取得する。進捗模擬部315は、該レースの進行を支援し、同期制御を行っているサーバ200から、レース全体の進捗を示す統合された進捗情報を取得してもよい。進捗模擬部315は、取得したユーザごとの進捗情報を進捗画面に並べて配置してもよいし、それぞれの進捗情報を統合し、それにより得られる全体としての進捗を進捗画面に配置してもよい。あるいは、進捗模擬部315は、サーバ200から受信した既に統合された進捗情報を進捗画面に配置してもよい。
【0168】
キャラクタ制御部316は、上述のように生成した動作指図データを、同じレースに参加する複数のユーザ端末100に配信する。
【0169】
本実施形態では、ユーザ端末100ごとに個別の進捗情報は、例えば、「ユーザID」、「ユーザ名」、「現在位置」、「順位」、「ラップ」および「time(トップとの差)」の各項目を含んでいてもよい。また、サーバ200によって生成される、統合された進捗情報は、「経過時間」、「トップのラップ」、「コースマップ」および「各レースカーの現在位置」の各項目を含んでいてもよい。
【0170】
<画面例>
(進捗画面)
図9は、動作指図装置300の表示部352に表示される進捗画面の他の例を示す図である。本実施形態では、進捗模擬部315は、各ユーザ端末100から取得された進捗情報を統合し、進捗画面500を表示部352に表示させる。
【0171】
進捗画面500は、一例として、統合進捗
図501、個別進捗一覧502、および、統合進捗情報503を含む。さらに、進捗画面500は、オペレータ(または声優)が、マイク3010を介して音声データを自装置に対して入力するためのUI部品403を含んでいてもよい。
【0172】
進捗模擬部315は、ユーザ端末100およびサーバ200から取得した進捗情報を解析する。進捗模擬部315は、解析結果に基づいて、具体的には、以下のようにして統合進捗
図501を生成する。進捗模擬部315は、統合された進捗情報に含まれている「コースマップ」の情報に基づいてコースマップを描画し、「各レースカーの現在位置」の情報に基づいて、各ユーザが操作するレースカーのオブジェクトを、上述のコースマップ上にプロットする。
【0173】
また、進捗模擬部315は、以下のようにして個別進捗一覧502を生成する。進捗模擬部315は、個別の進捗情報から、「ユーザ名」、「順位」、「ラップ」、および、「time」の各項目を抽出する。そして、抽出された各項目がユーザごとに一覧されるように各項目の情報を配置して、個別進捗一覧502を生成する。
【0174】
進捗模擬部315は、統合された進捗情報から、「トップのラップ」の項目を抽出し、これを、統合進捗情報503に反映させてもよい。
【0175】
以上のように、動作指図装置300のオペレータは、進捗画面500を確認することにより、複数のユーザ端末100で実行されているゲームの進捗についてその全容を把握することができる。
【0176】
なお、進捗画面500には、UI部品403が設けられていてもよい。これにより、オペレータは、ゲームの全体的な進捗を確認した後、その進捗に合うように、その場で発話の内容を決定して、該発話の内容に対応する音声データを動作指図装置300に対して入力することができる。
【0177】
(ゲーム画面)
図10は、ユーザ端末100の表示部152に表示されるゲーム画面の一例を示す図である。
図10では、表示部152に表示されるゲーム画面の一例として、本ゲームにおいてレース進行中に表示されるレース画面600が図示されている。また、レース画面600は、一例として、レースのトップを走っているユーザのユーザ端末100において表示される画面を示している。
【0178】
ゲーム進行部115は、例えば、レース画面600において、ゲーム空間上のコースを描画する。そして、ゲーム進行部115は、ユーザが操作するレースカーを配置する。ゲーム空間上の仮想カメラ位置との位置関係で、他のユーザが操作するレースカーが画角に収まる場合には、ゲーム進行部115が、該他のユーザのレースカーをレース画面600に配置してもよい。
【0179】
進捗情報生成部117は、ゲーム進行部115がレースを進行させている間、進捗情報を適時に生成し、動作指図装置300に送信する。
【0180】
レースに参加する各ユーザ端末100から個別の進捗情報を受信し、レースの同期をとっているサーバ200から統合された進捗情報を受信した動作指図装置300は、これらの進捗情報をそのまま、あるいは、加工したものを、
図9に示す進捗画面500として表示部352に表示する。進捗画面500を確認したオペレータは、レースの状況を把握し、実況内容を決定することができる。オペレータまたは声優701は、レース展開に合った実況を含む音声を、マイク3010を介して動作指図装置300に入力する。また、オペレータまたはモデル702は、必要に応じて、モーションキャプチャ装置3020を介してキャラクタの動きを動作指図装置300に入力してもよい。
【0181】
本実施形態では、解析部116が、動作指図装置300から、動作指図データを受信すると、これをトリガとして、ゲーム進行部115は、受信された動作指図データに基づいてキャラクタ601をレース画面600に重畳させる。例えば、キャラクタ601を重畳可能な領域は、ゲーム画面ごとに、ユーザのプレイを妨げない場所に予め決定されていることが好ましい。そして、動作指図データに含まれているモーションキャプチャデータが示す動きをキャラクタ601の動きに反映させる。実施形態1と同様に、モーションキャプチャデータは、動作指図装置300の設置場所において、モデル702の動きをモーションキャプチャ装置3020を介して取得したものである。したがって、モデル702の動きが、そのまま、表示部152に表示されるキャラクタ801の動きに反映される。
【0182】
また、ゲーム進行部115は、動作指図装置300から供給された動作指図データに含まれている音声データ602を、キャラクタ601が発した音声として、キャラクタ601の動きと同期して出力する。実施形態1と同様に、音声データは、動作指図装置300の設置場所において、声優701の音声をマイク3010を介して取得したものである。したがって、声優701が発した音声に対応する音声データ602が、そのまま、ユーザ端末100のスピーカから出力される。
【0183】
動作指図装置300は、ゲームに参加するすべてのユーザ端末100に上述の動作指図データを送信することができる。したがって、参加するユーザ端末100の表示部152それぞれに、レース画面600とともにキャラクタ601が重畳表示される。
【0184】
上述の構成によれば、複数のユーザ端末100が参加するようなマルチプレイゲームにおいても、本発明を適用することが可能となる。
【0185】
〔ソフトウェアによる実現例〕
制御部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)を用いてソフトウェアによって実現してもよい。
【0186】
後者の場合、制御部110、制御部210または制御部310、もしくは、これらのうち複数を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0187】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【0188】
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
【0189】
(項目1) ゲームプログラム(131)について説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ(10)、メモリ(11)および操作部(通信IF13、入出力IF14、タッチスクリーン15、カメラ17、測距センサ18、入力部151など)を備えるコンピュータ(ユーザ端末100)により実行される。ゲームプログラムは、プロセッサに、操作部を介してコンピュータに入力されたユーザの入力操作に応じてゲームを進行させるステップ(S103)と、ゲームに登場する少なくとも1つのキャラクタ(801)を制御するキャラクタ制御装置(動作指図装置300)に、ゲームの進捗を示す進捗情報を送信するステップ(S110)と、キャラクタ制御装置においてゲームの進捗に合わせて入力された、キャラクタの発言に対応する音声データを、該キャラクタ制御装置から受信するステップ(S117)と、音声データを受信したことをトリガにして、ゲームの進行中に登場するキャラクタに、少なくとも該音声データの内容を発話させることにより、該キャラクタを動作させるステップ(S119)とを実行させる。これにより、ゲームの世界への没入感を高め、該ゲームの興趣性を向上させるという効果を奏する。
【0190】
(項目2) (項目1)において、受信するステップは、キャラクタ制御装置においてゲームの進捗に合わせて入力された、キャラクタの動きに対応するモーションキャプチャデータを、該キャラクタ制御装置から音声データとともに受信し、動作させるステップは、音声データの内容を発話させるのに合わせて、モーションキャプチャデータにしたがってキャラクタを動かしてもよい。
【0191】
上述の構成によれば、音声データに加えてモーションキャプチャデータも、キャラクタ制御装置からユーザ端末に供給される。ユーザ端末におけるゲームの進捗に合わせて、キャラクタ制御装置において入力された音声および動きを、ユーザの端末で表示されるキャラクタの音声および動きに反映させることができる。したがって、ユーザは、ゲームのプレイ中、まるでキャラクタが一緒にゲームに参加してくれているかのようなキャラクタとのやりとりを、現実の人とのやりとりと同様に楽しむことができ、キャラクタに対してユーザが覚える現実感をより一層高めることができる。
【0192】
(項目3) (項目1)において、受信するステップは、ゲームの進捗に合わせてキャラクタ制御装置に入力された入力操作により特定された、キャラクタの動作を指示するコマンドを1以上含むモーションコマンド群を、該キャラクタ制御装置から音声データとともに受信し、動作させるステップは、音声データの内容を発話させるのに合わせて、モーションコマンド群にしたがってキャラクタを動かしてもよい。例えば、オペレータが、ボタン、キーボード、マウス、ジョイスティック、タッチスクリーンなど、モーションキャプチャ装置以外の入力部を介して操作入力を行ってキャラクタの一連の動きを指示した場合、その操作入力によって確定した、キャラクタの一連の動きに対応するモーションコマンド群がユーザ端末に供給される。ユーザ端末は、モーションコマンド群にしたがってキャラクタを動かす。よって、ユーザ端末におけるゲームの進捗を踏まえて、キャラクタ制御装置においてオペレータによって指示された動きを、ユーザ端末で表示されるキャラクタの動きに反映させることができる。したがって、ユーザは、ゲームのプレイ中、まるでキャラクタが一緒にゲームに参加してくれているかのようなキャラクタとのやりとりを、現実の人とのやりとりと同様に楽しむことができ、キャラクタに対してユーザが覚える現実感をより一層高めることができる。
【0193】
(項目4) (項目1)から(項目3)までのいずれか1項目において、キャラクタ制御装置は、進捗情報に基づいて、ユーザ端末の表示部(152)に表示されている画面または該画面を簡略化した模擬画面(401)を該キャラクタ制御装置の表示部(352)に表示するものであり、受信するステップは、ゲームの進捗に合わせてキャラクタ制御装置に入力された入力操作により指定された画面上のオブジェクトを識別する識別情報(注目情報)を、該キャラクタ制御装置から音声データとともに受信し、動作させるステップは、音声データの内容を発話させるのに合わせて、識別情報により特定された画面上のオブジェクト(スキル発動ボタン804)を強調表示させてもよい。
【0194】
(項目5) (項目1)から(項目3)までのいずれか1項目において、キャラクタ制御装置は、進捗情報に基づいて、ユーザ端末の表示部に表示されている画面または該画面を簡略化した模擬画面を、ユーザ端末の表示部の仕様に合わせて該キャラクタ制御装置の表示部に表示するものであり、受信するステップは、キャラクタ制御装置の表示部に表示された画面または模擬画面に対して、ゲームの進捗に合わせて入力された入力操作の第1の位置座標に対応する、ユーザ端末の表示部における第2の位置座標を、該キャラクタ制御装置から音声データとともに受信し、動作させるステップは、音声データの内容を発話させるのに合わせて、第2の位置座標が示す箇所を強調表示させてもよい。
【0195】
(項目6) キャラクタ制御プログラム(134)について説明した。該キャラクタ制御プログラムは、ゲームに登場するキャラクタ(801)を制御するためのプログラムである。本開示のある局面によると、キャラクタ制御プログラムは、プロセッサ(30)、メモリ(31)および表示部(通信IF33、入出力IF34、タッチスクリーン35、表示部352など)を備える、キャラクタ制御装置としてのコンピュータ(動作指図装置300)により実行される。キャラクタ制御プログラムは、プロセッサに、ゲームを進行させるユーザ端末(100)から受信した、該ゲームの進捗を示す進捗情報に基づいて、ゲームの進捗を示す進捗画面(400)を表示部(352)に表示するステップ(S111)と、表示部に表示された進捗画面が示すゲームの進捗に合わせてコンピュータ(動作指図装置300)に入力された、キャラクタの発言に対応する音声データを受け付けるステップ(S112)と、受け付けられた音声データをユーザ端末に送信するステップ(S116)とを実行させる。これにより、ゲームの世界への没入感を高め、該ゲームの興趣性を向上させるという効果を奏する。
【0196】
(項目7) (項目6)において、表示するステップは、進捗情報に基づいて、ユーザ端末の表示部に表示されている画面または該画面を簡略化した模擬画面を含む進捗画面をキャラクタ制御装置の表示部に表示してもよい。上述の構成によれば、オペレータは、ユーザ端末で表示されているゲーム画面を確認しながらキャラクタの発話内容を決定することができる。これにより、臨場感あふれる発話をキャラクタに行わせることができる。
【0197】
(項目8) (項目6)または(項目7)において、表示するステップは、進捗情報に基づいて予測されたゲームの進行に係る予測結果を含む進捗画面をキャラクタ制御装置の表示部に表示してもよい。これにより、オペレータは、ユーザ端末におけるゲーム進捗に合わせて、今の状況についてキャラクタに発言させることに加えて、予測された未来のゲーム展開に応じたアドバイスをキャラクタに行わせることができる。
【0198】
(項目9) (項目6)から(項目8)までのいずれか1項目において、表示するステップは、ゲームを複数のユーザ端末間で同期して進行させる該複数のユーザ端末のそれぞれから受信した各進捗情報をキャラクタ制御装置の表示部に表示し、送信するステップは、音声データを、複数のユーザ端末のそれぞれに送信してもよい。
【0199】
(項目10) ゲームプログラム(131)を実行する方法を説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ(10)、メモリ(11)および操作部(通信IF13、入出力IF14、タッチスクリーン15、カメラ17、測距センサ18、入力部151など)を備える、ユーザ端末(100)としてのコンピュータにより実行される。該方法は、プロセッサが(項目1)に記載の各ステップを実行する方法である。(項目10)に係る方法は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。
【0200】
(項目11) 情報処理装置を説明した。本開示のある局面によると、該情報処理装置は、(項目1)に係るゲームプログラムを記憶する記憶部(120)と、操作部(通信IF13、入出力IF14、タッチスクリーン15、カメラ17、測距センサ18、入力部151など)と、該ゲームプログラムを実行することにより、情報処理装置(ユーザ端末100)の動作を制御する制御部(110)とを備える。(項目11)に係る情報処理装置は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。
【0201】
(項目12) キャラクタ制御プログラム(134)を実行する方法を説明した。本開示のある局面によると、キャラクタ制御プログラムは、プロセッサ(30)、メモリ(31)および表示部(通信IF33、入出力IF34、タッチスクリーン35、表示部352など)を備える、キャラクタ制御装置(動作指図装置300)としてのコンピュータにより実行される。該方法は、プロセッサが(項目6)に記載の各ステップを実行する方法である。(項目12)に係る方法は、(項目6)に係るキャラクタ制御プログラムと同様の作用効果を奏する。
【0202】
(項目13) 情報処理装置を説明した。本開示のある局面によると、該情報処理装置は、(項目6)に係るキャラクタ制御プログラムを記憶する記憶部(320)と、表示部(通信IF33、入出力IF34、タッチスクリーン35、表示部352など)と、該キャラクタ制御プログラムを実行することにより、情報処理装置の動作を制御する制御部(310)とを備える。(項目13)に係る情報処理装置は、(項目6)に係るキャラクタ制御プログラムと同様の作用効果を奏する。
【符号の説明】
【0203】
1 ゲームシステム、2 ネットワーク、10,20,30 プロセッサ、11,21,31 メモリ、12,22,32 ストレージ、13,23,33 通信IF(操作部)、14,24,34 入出力IF(操作部、表示部)、15,35 タッチスクリーン(表示部、操作部)、17 カメラ(操作部)、18 測距センサ(操作部)、100 ユーザ端末(コンピュータ、情報処理装置)、110,113,210,310 制御部、111,311 操作受付部、112,312 表示制御部、113,313 UI制御部、114,314 アニメーション生成部、115 ゲーム進行部、116 解析部、117 進捗情報生成部、120,220,320 記憶部、131 ゲームプログラム、132 ゲーム情報、133 ユーザ情報、134 キャラクタ制御プログラム、151,351 入力部(操作部)、152,352 表示部、200 サーバ(コンピュータ)、211 進行支援部、212 共有支援部、300 動作指図装置(コンピュータ、NPC制御装置、キャラクタ制御装置、情報処理装置)、315 進捗模擬部、316 キャラクタ制御部、317 反応処理部、1010 物体、1020,3030 コントローラ、1030 記憶媒体、3010 マイク、3020 モーションキャプチャ装置