(58)【調査した分野】(Int.Cl.,DB名)
前記第2送信手段は、前記第2アプリケーション画像をブロードキャストまたはマルチキャストで前記第2情報処理装置へ送信する、請求項1または2に記載の情報処理システム。
前記第2送信手段は、前記第2アプリケーション画像に加えて、前記アプリケーション処理により生成される音声データを前記第2情報処理装置へ送信する、請求項1〜3のいずれか1項に記載の情報処理システム。
前記第2送信手段は、前記第2アプリケーション画像に加えて、前記アプリケーション処理により生成される振動データを前記第2情報処理装置へ送信する、請求項1〜4のいずれか1項に記載の情報処理システム。
前記第2送信手段は、前記第2アプリケーション画像を、所定の解像度に変換した上で、前記第2情報処理装置へ送信する、請求項1〜8のいずれか1項に記載の情報処理システム。
前記第3情報処理装置は、前記ディスプレイに前記第2アプリケーション画像が表示されている状態で、自装置の前記操作部により受け付けた操作に応答して、自装置の前記操作部により受け付けた操作情報の前記第1情報処理装置への送信は有効化する手段をさらに含む、請求項11に記載の情報処理システム。
前記第3情報処理装置は、前記操作情報の前記第1情報処理装置への送信の有効化後も、前記第2アプリケーション画像の表示を継続する、請求項12に記載の情報処理システム。
前記第1情報処理装置は、前記第2情報処理装置が前記操作情報を前記第1情報処理装置へ送信することを開始させるためのメッセージを送信する手段をさらに含む、請求項1〜13のいずれか1項に記載の情報処理システム。
前記第2情報処理装置は、前記第1情報処理装置から送信されるメッセージのうち、予め定められた条件を満たすものだけを有効化する、請求項14に記載の情報処理システム。
前記第2情報処理装置は、前記第1情報処理装置から送信されるメッセージを特定のアプリケーションが実行されていない状態で受信可能に構成される、請求項14または15に記載の情報処理システム。
前記第1情報処理装置から送信されるメッセージは、前記第2情報処理装置の種類に応じて通信方式が異なる、請求項14〜18のいずれか1項に記載の情報処理システム。
前記第1情報処理装置は、ユーザ操作に従って、前記第2情報処理装置が前記操作情報を前記第1情報処理装置へ送信することを許可するか否かを決定する、請求項14〜20のいずれか1項に記載の情報処理システム。
第1情報処理装置および1つ以上の第2情報処理装置を備える情報処理システムにおける情報処理方法であって、前記第1情報処理装置および第2情報処理装置の各々は、ディスプレイと、操作部と、無線通信部とを含み、前記情報処理方法は、
前記第2情報処理装置の各々が、自装置の前記操作部により受け付けた操作情報を前記無線通信部により前記第1情報処理装置へ直接送信するステップと、
前記第1情報処理装置が、自装置の前記操作部により受け付けた操作情報と前記第2情報処理装置からの操作情報とに基づいて、アプリケーション処理を実行するステップと、
前記第1情報処理装置が、前記アプリケーション処理の実行結果を含む、自装置用の第1アプリケーション画像および前記第2情報処理装置毎の第2アプリケーション画像を生成するステップと、
前記第1アプリケーション画像を、自装置の前記ディスプレイに表示するステップと、
前記第1情報処理装置が、前記第2アプリケーション画像を、自装置の前記無線通信部により前記第2情報処理装置へ直接送信するステップと、
前記第2情報処理装置が、前記第1情報処理装置からの当該第2情報処理装置用の第2アプリケーション画像を自装置の前記ディスプレイに表示するステップとを備える、情報処理方法。
1つ以上の他の情報処理装置との間で無線通信可能な情報処理装置で実行される情報処理プログラムであって、前記情報処理装置は、ディスプレイと、操作部と、無線通信部とを含み、前記情報処理プログラムは、前記情報処理装置を
自装置の前記操作部により受け付けた操作情報と前記他の情報処理装置からの操作情報とに基づいて、アプリケーション処理を実行する実行手段と、
前記アプリケーション処理の実行結果を含む、自装置用の第1アプリケーション画像および前記他の情報処理装置毎の第2アプリケーション画像を生成する画像生成手段と、
前記第1アプリケーション画像を、自装置の前記ディスプレイに表示制御手段と、
前記第2アプリケーション画像を、前記他の情報処理装置のディスプレイに表示させるために、自装置の前記無線通信部により前記他の情報処理装置へ直接送信する送信手段として機能させる、情報処理プログラム。
1つ以上の他の情報処理装置との間で無線通信可能な情報処理装置における情報処理方法であって、前記情報処理装置は、ディスプレイと、操作部と、無線通信部とを含み、前記情報処理方法は、
自装置の前記操作部により受け付けた操作情報と前記他の情報処理装置からの操作情報とに基づいて、アプリケーション処理を実行するステップと、
前記アプリケーション処理の実行結果を含む、自装置用の第1アプリケーション画像および前記他の情報処理装置毎の第2アプリケーション画像を生成するステップと、
前記第1アプリケーション画像を、自装置の前記ディスプレイに表示するステップと、
前記第2アプリケーション画像を、前記他の情報処理装置のディスプレイに表示させるために、自装置の前記無線通信部により前記他の情報処理装置へ直接送信するステップとを含む、情報処理方法。
【発明を実施するための形態】
【0031】
本実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0032】
[A.情報処理システム1]
まず、本実施の形態に従う情報処理システム1の概要について説明する。
図1は、本実施の形態に従う情報処理システム1の概要を説明するための図である。
【0033】
図1を参照して、情報処理システム1は、無線通信により互いに情報を遣り取り可能な複数の情報処理装置100,200−1,200−2,…,300−1,300−2,…を含む。
図1に示される複数の情報処理装置は、各装置の動作モードに応じて、マスター(親機)として機能する情報処理装置100(以下、「マスター」と略称することもある。)と、クライアント(子機)として機能する情報処理装置200−1,200−2,…(以下、「情報処理装置200」とも総称する。あるいは、「クライアント」と略称することもある。)と、オーディエンスとして機能する情報処理装置300−1,300−2,…(以下、「情報処理装置300」とも総称する。あるいは、「オーディエンス」と略称することもある。)とに区分される。
【0034】
図1には、以下に説明するような動作モードの相違に注目して各情報処理装置を区分している例を示すが、情報処理装置100,200,300は、典型的には、ハードウェア的に実質的に同一の構成を有する。但し、情報処理装置100,200,300は、それぞれハードウェア上の構成が異なっていてもよい。
【0035】
以下、マスター、クライアント、オーディエンスの各動作モードを含む、情報処理装置100での処理について概略する。
【0036】
本実施の形態に従う情報処理システム1は、例えば、複数のユーザが共通のゲームフィールドに参加して、ゲームを楽しむような用途に応用される。マスターとして機能する情報処理装置100が、自装置ならびに、クライアントおよびオーディエンスを含む複数の情報処理装置での表示に必要な処理を実行する。すなわち、マスターは、情報処理システム1に含まれるクライアントおよびオーディエンスに表示されるアプリケーション画像などを生成し、各情報処理装置へ直接送信する。
【0037】
本明細書において、「アプリケーション画像」は、アプリケーション処理の実行結果を含む動画像および静止画像であり、仮想カメラを用いたレンダリング、コンピュータグラフィックス、実映像のいずれであってもよい。以下の説明では、「アプリケーション画像」としては、ゲーム処理の進行に伴う表現を例に説明するが、アプリケーションの種類は問わない。
【0038】
クライアントおよびオーディエンスは、いずれもマスターから送信されるアプリケーション画像を受信し、それぞれ表示する。クライアントは、マスターにて実行されるアプリケーションに参加することが可能であるが、オーディエンスは、マスターにて実行されるアプリケーションへの参加はできなくなっている。すなわち、クライアントは、自装置に対するユーザ操作を受け付けて、その操作情報をマスターへ直接送信する。マスターでは、1または複数のクライアントからそれぞれ送信される操作情報に応じて、アプリケーション処理を実行する。一方、オーディエンスは、マスターおよびクライアントのユーザが参加して進行されるアプリケーションの画像(アプリケーション画像)を表示する。但し、オーディエンスのユーザが何らかの操作を行なっても、そのオーディエンスの情報処理装置300が受け付けた操作情報は、マスターへは送信されない。後述するように、オーディエンスのユーザが所定の操作を行なうことで、マスターにて実行されているアプリケーションに参加できるような動作モード、すなわちクライアントへ切り替わることもできる。
【0039】
情報処理システム1における典型的な処理としては、マスターおよびクライアントは、それぞれのユーザから操作を受け付ける((1)操作)。クライアントの各々は、受け付けた操作の内容を示す操作情報をマスターへ送信する((2)送信)。マスターは、自装置が受け付けた操作の内容を示す操作情報、および、各クライアントから受信した操作情報に従って、アプリケーション処理を実行する((3)アプリケーション処理)。そして、マスターは、アプリケーション処理の実行結果を含むアプリケーション画像をクライアントおよびオーディエンスへ送信する((4)アプリケーション画像)。情報処理システム1では、
図1に示す(1)〜(4)の処理が、繰り返される。
【0040】
情報処理システム1においては、マスターとクライアントとの間、クライアントとオーディエンスとの間、マスターとオーディエンスとの間は、相互に切り替え可能になっていてもよい。例えば、クライアントとして動作している情報処理装置が、明示的または黙示的な指示に応答して、マスターとして動作するようになってもよい。
【0041】
[B.情報処理装置100,200,300のハードウェア構成]
次に、情報処理システム1に含まれる情報処理装置100,200,300のハードウェア構成について説明する。情報処理装置100,200,300は、いずれも同一のハードウェア構成を有しているとし、以下では、情報処理装置100を例にして説明する。
【0042】
図2は、本実施の形態に従う情報処理システム1に含まれる情報処理装置100のハードウェア構成を示す模式図である。情報処理装置100は、無線通信機能を有する任意のコンピュータを用いることができるが、以下では、主として、携帯型ゲーム装置として実装した例について説明する。別の実装例としては、携帯電話、あるいはスマートデバイス等といった、携帯型(可搬型とも言う)の装置であってもよいし、パーソナルコンピュータや家庭用ゲーム機等といった据置型の装置であってもよい。
【0043】
図2を参照して、情報処理装置100は、プロセッサ102と、主記憶部104と、補助記憶部106と、外部インターフェイス112と、ディスプレイ114と、操作部116と、音声出力部118と、無線通信部120と、加速度センサ122と、ジャイロセンサ124とを含む。これらのコンポーネントは、バス126を介して、互いにデータ通信可能に接続されている。
【0044】
プロセッサ102は、情報処理装置100が提供する処理を実行するための処理主体(処理手段)である。プロセッサ102は、補助記憶部106に格納されているオペレーティングシステム(OS)108およびアプリケーションプログラム110を読み込んで主記憶部104に展開して、後述するような情報処理を実行する。
【0045】
主記憶部104は、プロセッサ102がアクセス可能な任意の記憶装置(記憶媒体)であり、例えば、DRAM(Dynamic Random Access Memory)などの揮発性記憶装置を用いて実装される。
【0046】
補助記憶部106は、例えば、ハードディスクやフラッシュメモリなどの不揮発性記憶媒体を用いて実装される。あるいは、補助記憶部106は、例えば、光ディスクおよびカートリッジ等の情報処理装置100に着脱可能な記憶媒体を用いて実装してもよい。この場合、情報処理装置100と任意の記憶媒体との組み合わせが情報処理システムとして構成されてもよい。
【0047】
外部インターフェイス112は、任意のメモリカードまたは外部装置などとの間のデータの遣り取りを仲介する。外部インターフェイス112は、例えば、メモリカードと電気的に接続してデータの読み書きを行なうリーダライタ、外部装置との間でデータを遣り取りするUSB(Universal Serial Bus)インターフェイスなどを用いて実装される。
【0048】
ディスプレイ114は、プロセッサ102で実行される情報処理の結果として生成される画像を表示する。ディスプレイ114には、他の装置から受信した画像が表示される場合もある。ディスプレイ114の数は複数であってもよい。また、1または複数の他のディスプレイを情報処理装置100が利用する構成であってもよい。
【0049】
操作部116は、主として、情報処理装置100のユーザからの操作を受け付ける。操作部116は、例えば、押ボタン、操作レバー、タッチパネル、マウスなどを用いて実装される。あるいは、操作部116としては、情報処理装置100とは別体の、有線または無線で接続されるコントローラであってもよい。
【0050】
音声出力部118は、プロセッサ102で実行される情報処理の結果として生成される音声を出力する。音声出力部118には、他の装置から受信した音声が出力される場合もある。音声出力部118は、例えば、ディスプレイ周辺に配置された1または複数のスピーカと、当該スピーカを駆動するアンプとを用いて実装される。あるいは、音声出力部118は、ヘッドフォンと電気的に接続するためのコネクタと、コネクタと介して接続されるヘッドフォンを駆動するアンプとを用いて実装されてもよい。
【0051】
無線通信部120は、他の装置との間で無線信号を介してデータを送受信する。無線通信部120は、例えば、802.11規格に従う無線LAN(Local Area Network)、Bluetooth(登録商標)規格に従う近距離無線、赤外線通信、LTE(Long Term Evolution)規格などに従うモバイル通信、などを用いて実装される。
図2には、無線通信部120のブロックを集合的に描くが、複数種類の無線通信機能が実装されていてもよいし、単一種類の無線通信機能が通信相手先に応じて複数用意されていてもよい。なお、無線通信部120はプロセッサ102と一体化されていてもよい。
【0052】
加速度センサ122は、情報処理装置100に生じる加速度を検出するデバイスである。ジャイロセンサ124は、情報処理装置100の傾きなどを検出するデバイスである。加速度センサ122およびジャイロセンサ124の少なくとも一方もしくは両方を用いて、情報処理装置100を把持してユーザが行なう動作を検出することができる。
【0053】
図2には、情報処理装置100を一体の装置として描くが、複数の装置の集合体として実装してもよい。すなわち、情報処理装置100を複数の独立した装置の組み合わせによって実装してもよい。例えば、プロセッサ102、ディスプレイ114、操作部116、および、音声出力部118に相当するエレメントを有する第1の装置と、無線通信部120に相当するエレメントを有する第2の装置とを着脱可能に接続される構成であってもよい。このような構成は、情報処理装置に代えて、情報処理システムと称されてもよい。あるいは、プロセッサ102、主記憶部104、補助記憶部106に相当するエレメントを有する本体装置と、ディスプレイ114、操作部116、音声出力部118を有する端末装置とが別体である構成を採用してもよい。
【0054】
他の実施形態として、情報処理装置100において実行される情報処理の少なくとも一部が、ネットワーク(広域ネットワークおよび/またはローカルネットワーク)上に分散配置された1または複数の他の装置によって実行されるようにしてもよい。
【0055】
また、
図1などには、情報処理装置同士が直接無線通信によりデータを遣り取りする構成例を示すが、必要に応じて、一部または全部の情報処理装置との間のデータの遣り取りを、別の通信方式により行なってもよい。例えば、アクセスポイントを経由した通信、インターネットを経由した通信を採用してもよい。この場合には、無線通信部120または通信に関連するコンポーネントとして、当該通信方式に応じたものを採用することが好ましい。
【0056】
[C.アプリケーション処理の実行]
次に、本実施の形態に従う情報処理システム1に含まれる情報処理装置(マスター、クライアントおよびオーディエンス)の各々において実行される処理について説明する。
図3は、本実施の形態に従う情報処理システム1に含まれる情報処理装置100,200,300で実行されるプログラムを示す模式図である。
【0057】
図3を参照して、マスターとして機能する情報処理装置100では、後述するような処理を実現するためのゲームプログラム140が実行される。ゲームプログラム140のインストールは、任意の記憶媒体(例えば、半導体記憶装置または通信回線)を介して行なわれる。一方、クライアントとして機能する情報処理装置200、および、オーディエンスとして機能する情報処理装置300では、ゲームプログラム140に比較して処理内容が簡易(すなわち、含まれる命令コードの量がより少ない)インターフェイスプログラム240および340がそれぞれ実行される。
【0058】
インターフェイスプログラム240とインターフェイスプログラム340との間で、プログラム自体は同一としておき、動作モードに応じて、その実行内容を切り替えるようにしてもよい。さらに、ゲームプログラム140、インターフェイスプログラム240、およびインターフェイスプログラム340のすべてを含むプログラムを各情報処理装置にインストールしておき、ユーザが指定する動作モードに応じて、対応するプログラムを選択的に実行するようにしてもよい。
【0059】
インターフェイスプログラム240および340は、複数のアプリケーション(ゲームプログラム)のいずれにおいても実行可能に構成されることが好ましい。例えば、インターフェイスプログラム240および340は、情報処理装置に予めインストールされるランチャーなどの基本アプリケーションまたはOSなどの一部として実装されてもよい。あるいは、情報処理装置200上で実行される別のゲームプログラム上で実行されるようにしてもよい。この場合、インターフェイスプログラム240とインターフェイスプログラム340は、一種のプログラムモジュールとして実装され、他のプログラムから任意のタイミングで呼び出される。
【0060】
図4は、本実施の形態に従う情報処理システム1に含まれる情報処理装置100,200,300を実現するためのソフトウェア構成を示す模式図である。
図4に示す各情報処理装置に含まれるモジュールは、典型的には、プロセッサ102(
図2)が
図3に示す対応するプログラムを実行することで実現される。すなわち、
図4に示す各情報処理装置に含まれるモジュールは、ソフトウェアモジュールとして実装されてもよい。これに限られず、その全部または一部をASIC(Application Specific Integrated Circuit)などのハードウェアを用いて実装してもよい。
【0061】
図4を参照して、マスターとして機能する情報処理装置100は、無線通信モジュール150と、ローカル入力モジュール152と、リモート入力モジュール154と、アプリケーション実行モジュール160と、ローカル出力モジュール172と、リモート出力モジュール174とを含む。これらのモジュールは、情報処理装置100がゲームプログラム140を実行することで実現される。
【0062】
無線通信モジュール150は、リモート入力モジュール154およびリモート出力モジュール174と、クライアントとして機能する情報処理装置200およびオーディエンスとして機能する情報処理装置300との間で無線信号を介したデータの遣り取りを仲介する。無線通信モジュール150は、無線通信部120(
図2)による無線信号の遣り取りの結果に応じて、より上位層での処理を実行するレイヤーに相当する。
【0063】
ローカル入力モジュール152は、自装置の操作部116(
図2)が受け付けたユーザからの操作に応じて生成される操作情報Mをアプリケーション実行モジュール160へ出力する。リモート入力モジュール154は、無線通信モジュール150を介して、クライアントとして機能する情報処理装置200の各々からの操作情報C1,C2,…を受信し、アプリケーション実行モジュール160へ出力する。操作情報の生成元を区別するため、マスターとして機能する情報処理装置の操作部116により生成された操作情報を「操作情報M」と記し、クライアントとして機能する情報処理装置の操作部116により生成された操作情報を「操作情報C1,C2,…」と記す。
【0064】
アプリケーション実行モジュール160は、自装置の操作部116により受け付けた操作情報とクライアントとして機能する情報処理装置200からの操作情報とに基づいて、アプリケーション処理を実行する。より具体的には、アプリケーション実行モジュール160は、マスターおよびクライアントのユーザ間での同時プレイを実現する。アプリケーション実行モジュール160は、ゲーム空間162およびキャラクタデータ164などを保持しており、マスターからの操作情報Mおよびクライアントからの操作情報C1,C2,…に基づいて、アプリケーション処理を実行する。すなわち、アプリケーション実行モジュール160は、ゲームに参加しているユーザからの操作情報に基づいて、ゲーム処理を進行する。
【0065】
ローカル出力モジュール172およびリモート出力モジュール174は、アプリケーション実行モジュール160によるアプリケーション処理の実行結果を出力する。すなわち、ローカル出力モジュール172は、アプリケーション処理の実行結果を含むアプリケーション画像を生成し、当該アプリケーション画像を、自装置のディスプレイ114に表示する。リモート出力モジュール174は、当該アプリケーション画像を、自装置の無線通信部120によりクライアントとして機能する情報処理装置200へ送信する。
【0066】
ローカル出力モジュール172は、アプリケーション処理の実行に生成されるアプリケーション画像をディスプレイ114(
図2)へ出力し、音声データを音声出力部118(
図2)へ出力する。リモート出力モジュール174は、無線通信モジュール150を介して、アプリケーション処理の実行に生成されるアプリケーション画像および音声データをクライアントおよびオーディエンスとして機能する情報処理装置へ送信する。すなわち、リモート出力モジュール174は、アプリケーション画像に加えて、アプリケーション処理により生成される音声データをクライアントとして機能する情報処理装置200へ送信する。
【0067】
アプリケーション画像および音声は、所定の圧縮方法で情報圧縮された上で、クライアントとして機能する情報処理装置200へ送信されてもよい。アプリケーション画像および音声にそれぞれ適した異なる圧縮方法が採用されてもよいし、同一の圧縮方法でアプリケーション画像および音声の両方を圧縮してもよい。
【0068】
アプリケーション処理の内容によっては、音声データが出力されず、アプリケーション画像のみが出力される場合もある。あるいは逆に、アプリケーション画像が出力されず、音声データのみが出力される場合もある。
【0069】
クライアントとして機能する情報処理装置200では、マスターとして機能する情報処理装置100で実行されるゲームプログラム140に比較して簡易なプログラムであるインターフェイスプログラム240が実行されることになる。本実施の形態に従う情報処理システム1においては、アプリケーション処理に必要な主たる演算は、マスターとして機能する情報処理装置100において実行され、クライアントとして機能する情報処理装置200では、基本的には、ユーザインターフェイスに係る入出力処理のみが実行される。
【0070】
より具体的には、情報処理装置200は、無線通信モジュール250と、入力モジュール252と、出力モジュール254とを含む。無線通信モジュール250は、入力モジュール252および出力モジュール254と、マスターとして機能する情報処理装置100との間で無線信号を介したデータの遣り取りを仲介する。無線通信モジュール250は、無線通信部120(
図2)による無線信号の遣り取りの結果に応じて、より上位層での処理を実行するレイヤーに相当する。
【0071】
入力モジュール252は、自装置の操作部116(
図2)により受け付けたユーザからの操作に応じて生成される操作情報を、無線通信モジュール250を介して、マスターとして機能する機能する情報処理装置100へ送信する。
【0072】
出力モジュール254は、マスターとして機能する機能する情報処理装置100から、無線通信モジュール250を介してアプリケーション画像および音声データを受信し、アプリケーション画像をディスプレイ114(
図2)へ出力し、音声データを音声出力部118(
図2)へ出力する。
【0073】
オーディエンスとして機能する情報処理装置300は、マスターとして機能する情報処理装置100で実行されるゲームプログラム140、および、クライアントとして機能する情報処理装置200で実行されるインターフェイスプログラム240のいずれにも比較して簡易なインターフェイスプログラム340が実行されることになる。オーディエンスとして機能する情報処理装置300は、他のユーザがプレイしている状況を確認する機能のみを提供することになる。
【0074】
より具体的には、情報処理装置300は、無線通信モジュール350と、出力モジュール352とを含む。無線通信モジュール350は、クライアントとして機能する情報処理装置200の無線通信モジュール250と同様であり、出力モジュール352は、クライアントとして機能する情報処理装置200の出力モジュール254と同様である。
【0075】
但し、情報処理装置300には、入力モジュール252に相当する機能は有効化されておらず、情報処理装置300の操作部116に対するユーザ操作に応じた操作情報は、マスターとして機能する情報処理装置100へは送信されない。すなわち、情報処理装置300は、自装置の操作部116により受け付けた操作情報の情報処理装置100への送信は無効化される一方で、情報処理装置100からのアプリケーション画像を自装置のディスプレイ114に表示する機能を有している。
【0076】
本実施の形態に従う情報処理システム1を構成するために必要なプログラムは、それぞれ対応する情報処理装置に予め格納されていてもよい。すなわち、マスターとして機能する情報処理装置100は、記憶部(例えば、
図2に示す補助記憶部106または主記憶部104など)にゲームプログラム140を予め記憶しておいてもよい。また、クライアントとして機能する情報処理装置200は、簡易なプログラムであるインターフェイスプログラム240を記憶部に予め記憶しておいてもよく、同様に、オーディエンスとして機能する情報処理装置300は、簡易なプログラムであるインターフェイスプログラム340を記憶部に予め記憶しておいてもよい。
【0077】
[D.マスターとクライアントおよびオーディエンスとの間の通信方式]
本実施の形態に従う情報処理システム1において、クライアントとして機能する情報処理装置200の各々は、マスターとして機能する情報処理装置100から見ると、ディスプレイ114、操作部116および音声出力部118に相当する機能を含む一種の操作端末に相当する。また、オーディエンスとして機能する情報処理装置300の各々は、マスターとして機能する情報処理装置100から見ると、ディスプレイ114および音声出力部118に相当する機能を含む一種の表示端末に相当する。
【0078】
マスターでは、各クライアントから送信される操作情報を識別して、アプリケーション処理を実行する必要がある。すなわち、マスターの入力処理としては、いずれかのクライアントから何らかの操作情報を受信すると、その受信した操作情報の内容およびその受信した操作情報の送信元を特定する必要がある。これに対して、マスターの典型的な出力処理としては、同一のアプリケーション画像および音声データを複数の情報処理装置へ送信することになる。
【0079】
そこで、本実施の形態に従う情報処理システム1においては、一形態として、クライアントとして機能する情報処理装置200から操作情報を送信する通信方式と、マスターとして機能する情報処理装置100からアプリケーション画像および音声データを送信する通信方式とをそれぞれその目的に適したものとしている。
【0080】
図5は、本実施の形態に従う情報処理システム1における情報処理装置間の通信方式を説明するための図である。
図5を参照して、クライアント1,2,…,Nからそれぞれ送信される操作情報1,2,…,Nは、送信先が指定されているユニキャスト形式のデータ601,602,…,60Nとして送信される。データ601,602,…,60Nは、対応する操作情報1,2,…,Nに加えて、送信元のクライアントを特定するための識別情報1,2,…,Nを含んでいる。なお、識別情報1,2,…,Nは、データフレームに明示的に含まれる場合もあるし、パケットヘッダなどに含まれる場合もある。識別情報がパケットヘッダに含まれる場合には、無線通信部120が予め定められたプロトコルに従って識別情報を組み入れるので、クライアントとして機能する情報処理装置200にて実行されるインターフェイスプログラム240が、識別情報をデータフレームに組み入れる明示的な処理を行なう必要はない。
【0081】
クライアントとして機能する情報処理装置200の無線通信部120は、操作情報をユニキャストでマスターとして機能する情報処理装置100へ送信する。このようなユニキャスト形式の送信データを用いることで、マスターとして機能する情報処理装置100は、受信したデータに含まれる操作情報の内容、およびその操作情報の送信元を特定して、アプリケーション処理(典型的には、ゲーム処理)610を実行する。
【0082】
そして、マスターとして機能する情報処理装置100は、アプリケーション処理の実行結果を含むアプリケーション画像および音声データを、クライアントおよび/またはオーディエンスへ送信する。いずれの情報処理装置がオーディエンスとして機能しているのかをマスター側にて事前に把握していない場合も想定される。また、マスターから無線通信可能な範囲にいる任意の情報処理装置に対して、オーディエンスとして参加を促すような用途も想定される。
【0083】
そのため、本実施の形態に従う情報処理システム1においては、マスターとして機能する情報処理装置100の無線通信部120は、生成したアプリケーション画像および音声データを、ブロードキャストまたはマルチキャストで他の情報処理装置へ送信する(符号620)。ブロードキャスト形式では、マスターから送出される無線信号を受信できるすべての情報処理装置にて、受信したデータの使用が可能である。マルチキャスト形式では、マスターが複数の送信先を指定した上で、生成したアプリケーション画像および音声データを送信する。すなわち、マスターにより送信先として指定された複数の情報処理装置の間で、同一のデータを使用することができる。
【0084】
ユニキャスト形式では、同時に遣り取りできる情報処理装置の数は、ある上限数までに限られるが、ブロードキャスト形式およびマルチキャスト形式では、データを受信および使用可能な情報処理装置の数は、ユニキャスト形式の場合に比較して多く、場合によっては、接続可能数には制限がない。
【0085】
このように、マスターとクライアントおよびオーディエンスとの間の通信方式をそれぞれ最適化することで、クライアントから送信される操作情報に基づくアプリケーション処理(ゲーム処理)の進行をより安定化できるとともに、オーディエンスとして参加可能な情報処理装置の数を増加させて、より多くのユーザに参加を呼び掛けるようなアプリケーションへの適用も容易化できる。
【0086】
[E.動作モードの遷移]
次に、マスター、クライアント、オーディエンスの各動作モード間の遷移処理について説明する。
図6は、本実施の形態に従う情報処理システム1における動作モードの遷移を説明するための図である。
図6を参照して、本実施の形態に従う情報処理装置は、ユーザ操作に応じて、マスター、クライアント、オーディエンスのいずれの動作モードにもなり得る。
【0087】
例えば、ゲームプログラム140(
図3)がインストールされた情報処理装置のユーザがゲームの開始を指示する((1)ゲーム開始指示)と、その情報処理装置は、マスターとして機能する。情報処理装置がマスターとして機能する場合には、典型的には、アプリケーション処理180および通知処理182が実行される。通知処理182は、他の情報処理装置に対して、アプリケーション処理(ゲーム処理)を利用可能であることを通知する処理である。
【0088】
マスターとして機能する情報処理装置100からの通知メッセージを受けた情報処理装置のユーザがゲームへの参加を指示する((2)ゲーム参加指示)と、その情報処理装置は、クライアントとして機能する。情報処理装置がクライアントとして機能する場合には、典型的には、通知受信表示処理280、画像・音声出力処理282、操作情報送信処理284が実行される。通知受信表示処理280は、マスターとして機能する情報処理装置100からの通知メッセージを表示する処理である。画像・音声出力処理282は、マスターとして機能する情報処理装置100からのアプリケーション画像を表示するとともに、音声データを出力する処理である。操作情報送信処理284は、操作部116(
図2)が受け付けたユーザからの操作に応じて生成される操作情報をマスターとして機能する情報処理装置100へ送信する処理である。
【0089】
あるいは、マスターとして機能する情報処理装置100からの通知メッセージを受けた情報処理装置のユーザがゲームの観戦を指示する((3)オーディエンス参加指示)と、その情報処理装置は、オーディエンスとして機能する。情報処理装置がオーディエンスとして機能する場合には、典型的には、通知受信表示処理380および画像・音声出力処理382が実行される。通知受信表示処理380および画像・音声出力処理382は、通知受信表示処理280および画像・音声出力処理282とそれぞれ同一である。オーディエンスとして機能する情報処理装置300のユーザがゲームへの参加を指示する((4)ゲーム参加指示)と、その情報処理装置は、オーディエンスからクライアントへ動作モードが切り替わる。
【0090】
マスターおよびクライアントの間でアプリケーション処理(ゲーム処理)が実行された後、マスターのユーザがゲームの終了を指示する((5)ゲーム終了指示)と、その情報処理装置はマスターとしての機能を終了する。但し、クライアントとして機能していたいずれの情報処理装置200にゲームプログラム140(
図3)がインストールされていれば、ユーザがアプリケーション処理(ゲーム処理)を引継ぐことを指示する((6)引継ぎ指示)と、その情報処理装置は、クライアントからマスターへ動作モードが切り替わる。
【0091】
[F.ユーザインターフェイス画面]
次に、情報処理装置上で提供されるユーザインターフェイス画面の一例について説明する。
図7は、ゲームプログラム140(
図3)がインストールされた情報処理装置上で提供されるユーザインターフェイス画面例を示す模式図である。
図8および
図9は、ゲームプログラム140(
図3)またはインターフェイスプログラム240,340(
図3)がインストールされた情報処理装置上で提供されるユーザインターフェイス画面例を示す模式図である。
【0092】
ユーザがゲームプログラム140(
図3)を実行すると、
図7(A)に示すメニュー画面400がディスプレイ114に表示される。メニュー画面400は、複数の選択項目402,403,404を含み、ユーザは、カーソル401を操作して、いずれかの選択項目を選択することになる。
【0093】
選択項目402には、「1.1人プレイ」のメッセージが付与されており、この選択項目が選択されると、ユーザはコンピュータを対戦相手としてゲームをプレイすることができる。
【0094】
一方、選択項目403には、「2.対戦プレイ」のメッセージが付与されており、この選択項目が選択されると、当該情報処理装置はマスターとして機能することになる。すなわち、
図6に示す「(1)ゲーム開始指示」が情報処理装置に与えられる。この場合、
図7(B)〜
図7(D)に示すような画面が順次表示されることになる。
【0095】
また、選択項目404には、「3.参加できるゲームを探す」のメッセージが付与されており、この選択項目が選択されると、当該情報処理装置はクライアントまたはオーディエンスとして機能することになる。すなわち、
図6に示す「(2)ゲーム参加指示」または「(3)オーディエンス参加指示」が情報処理装置に与えられる。この場合、
図8(A)〜
図8(D)に示すような画面が順次表示されることになる。
【0096】
図7(A)に示すメニュー画面400において選択項目403が選択されると、情報処理装置はマスターとして機能することになり、通知メッセージが他の情報処理装置へ送信される(
図6の「通知メッセージ」)。そして、マスターとして機能する情報処理装置100では、
図7(B)に示すステータス画面410がディスプレイ114に表示される。ステータス画面410には、ゲームへの参加を選択しているユーザ411,412が一覧表示されている。
【0097】
通知メッセージを他の情報処理装置へ送信してから所定期間経過後、あるいは、参加ユーザが予め定められた数に到達した場合には、
図7(C)に示す確認画面420がディスプレイ114に表示される。確認画面420には、ゲームに参加するユーザの名前421が表示されるとともに、「ゲームを開始します…」といった確認メッセージが表示されている。マスターとして機能する情報処理装置100のユーザが確認ボタン422を選択すると、複数のユーザが参加したゲームが開始される。すなわち、
図7(D)に示すようなゲーム進行画面430がゲームに参加しているそれぞれの情報処理装置に表示される。
【0098】
一方、
図7(A)に示すメニュー画面400において選択項目404が選択されると、情報処理装置はクライアントまたはオーディエンスとして機能することになり、
図8(A)に示すステータス画面440がディスプレイ114に表示される。ステータス画面440には、参加者を募集しているゲーム441,442が一覧表示されている。ユーザは、カーソル443を操作して、参加を希望するゲームを選択することになる。
【0099】
ステータス画面440においては、参加者を募集しているゲームの詳細情報(例えば、ゲームタイトル、ゲーム内容の説明など)が含まれていてもよい。また、現在参加しているユーザ名なども表示されるようにしてもよい。
【0100】
図8(A)に示すステータス画面440において、いずれかのゲームが選択されると、
図8(B)に示す選択画面450がディスプレイ114に表示される。選択画面450には、「1.参加する」という選択項目451と、「2.様子を見る」という選択項目452とが表示される。
【0101】
ユーザがカーソル453を操作して選択項目451を選択すると、情報処理装置は、クライアントとして機能することになる。すなわち、
図6に示す「(2)ゲーム参加指示」が情報処理装置に与えられる。
【0102】
一方、ユーザがカーソル453を操作して選択項目452を選択すると、情報処理装置は、オーディエンスとして機能することになる。すなわち、
図6に示す「(3)オーディエンス参加指示」が情報処理装置に与えられる。
【0103】
図8(B)に示す選択画面450においていずれかの選択項目が選択されると、
図8(C)に示すようなゲーム進行画面460がディスプレイに表示される。ゲーム進行画面460は、マスターとして機能する情報処理装置100によって生成される。ユーザがプレイヤとしてゲームに参加している情報処理装置200(クライアント)では、ユーザによる操作が有効化されている。
【0104】
これに対して、ユーザがゲームを観戦している情報処理装置300(オーディエンス)では、ユーザによる操作が無効化されている。但し、所定のユーザ操作に応答して、
図8(D)に示す選択画面470がディスプレイに表示される。選択画面470では、「ゲームに参加する?」というメッセージとともに、「YES」ボタン472および「NO」ボタン473が表示されている。ユーザが「YES」ボタン472を選択すると、ユーザはゲームに参加することができる。すなわち、
図6に示す「(4)ゲーム参加指示」が情報処理装置に与えられる。これによって、情報処理装置は、オーディエンスからクライアントへ切り替わる。このとき、当該情報処理装置では、ディスプレイ114にアプリケーション画像が表示されている状態で、自装置の操作部116により受け付けた操作に応答して、自装置の操作部116により受け付けた操作情報の情報処理装置100への送信する機能は有効化されることになる。このとき、当該情報処理装置100は、操作情報の情報処理装置100への送信の有効化後も、アプリケーション画像の表示を継続する。
【0105】
マスターとして機能する情報処理装置100から通知メッセージを受けた情報処理装置では、
図9に示すような通知画面480がディスプレイ114に表示される。通知画面480には、ゲームへの参加者を募集している旨のメッセージとともに、「1.参加する」という選択項目481と、「2.様子を見る」という選択項目482と、「3.今はやめておく」という選択項目483とが表示される。
【0106】
ユーザがカーソル484を操作して選択項目481を選択すると、情報処理装置は、クライアントとして機能することになる。すなわち、
図6に示す「(2)ゲーム参加指示」が情報処理装置に与えられる。一方、ユーザがカーソル484を操作して選択項目482を選択すると、情報処理装置は、オーディエンスとして機能することになる。すなわち、
図6に示す「(3)オーディエンス参加指示」が情報処理装置に与えられる。
【0107】
これに対して、ユーザがカーソル484を操作して選択項目483を選択すると、情報処理装置は、クライアントおよびオーディエンスのいずれにもならない。
【0108】
[G.通知機能]
次に、マスターから通知メッセージを送信する通知機能について説明する。通知メッセージは、マスターとして機能する情報処理装置100から送信され、情報処理装置200が操作情報を情報処理装置100へ送信することを開始させるためのものである。すなわち、マスターとして機能する情報処理装置100以外の情報処理装置を操作するユーザに対して、マスターへの接続を促すメッセージである。通知メッセージは、典型的には、ビーコンとして任意のタイミングで情報処理装置100から送信される。
【0109】
(g1:通知メッセージの受信側)
マスターとして機能する情報処理装置100以外の情報処理装置は、通知メッセージを受信すると、当該通知メッセージの受信をユーザへ認知させるための処理を実行する。例えば、本体またはその一部を振動させる、インジケータを点滅または点灯させる、あるいは、スピーカなどから所定の音声を発生させる、といった任意の方法を採用できる。ユーザは、通知メッセージの受信に伴う情報処理装置のアクションにより、対戦可能あるいは観戦可能なゲームが周囲に存在していることを知ることができる。典型的には、情報処理装置を持ち歩いているユーザが、何らかの認知アクションに気付いて、低消費電力の状態(あるいは、スリープ状態)から当該情報処理装置を復帰させて、ゲームでの対戦またはゲームの観戦を楽しむことができる。
【0110】
(g2:通知されるメッセージ)
図10は、本実施の形態に従う情報処理システム1において用いられるビーコンのデータ構造の一例を示す図である。
図10を参照して、管理フレームに相当するビーコン500は、例えば、送信元アドレス502と、BSSID(Basic Service Set Identifier)504と、ゲームID506と、接続数508と、最大接続数510と、接続済みリスト512と、観戦許可フラグ514とを含む。
【0111】
送信元アドレス502は、ビーコン500の送信元であるマスターとして機能する情報処理装置100のMAC(Media Access Control address)アドレスまたはIP(Internet Protocol)アドレスなどを含む。BSSID504は、ビーコン500の送信元であるマスターとして機能する情報処理装置100の無線ネットワーク上の識別子を含む。ゲームID506は、参加者を募集しているゲームを特定するための識別情報を含む。接続数508は、参加者を募集しているゲームへの現在の参加者の数を示す。最大接続数510は、参加者を募集しているゲームへの参加可能な最大数を示す。接続済みリスト512は、マスターとして機能する情報処理装置100に接続している情報処理装置を特定するための情報を含む。観戦許可フラグ514は、参加を募集しているゲームへのオーディエンスとしての参加を許可するか否かのフラグを含む。
【0112】
このようなビーコンを採用することで、ユーザの参加を募集するための通知メッセージを送信する処理を容易に実現できる。
【0113】
上述したように、通知メッセージを受信した情報処理装置は、本体またはその一部を振動させることで、通知メッセージの受信を、当該情報処理装置を持っているユーザへ通知する。つまり、通知メッセージは、送信先の情報処理装置での振動を発生させるためのトリガとなる。このように、情報処理装置100のリモート出力モジュール174は、アプリケーション画像に加えて、アプリケーション処理により生成される振動データを、クライアントとして機能する情報処理装置200へ送信する。
【0114】
なお、通知メッセージには任意の情報を含めてもよい。例えば、
図10に示すビーコン500では、ゲームID506のみが含まれるが、参加者を募集しているゲームのより詳細な情報を含めるようにしてもよい。例えば、ゲームのタイトル、ゲーム内容の説明、ゲーム内に登場するキャラクタ名、ゲームの現在の状態値(パワーゲージ、各キャラクタのレベル、キャラクタ残存数など)、参加者または参加予定者からのコメント、過去の参加者からのレーティング、ゲーム内で利用可能なアイテムまたはキャラクタなどを通知メッセージに含めてもよい。
【0115】
さらに、通知メッセージは、参加者を募集するゲームの内容だけではなく、任意の情報を含ませてもよい。例えば、新たなアプリケーション(ゲーム)がリリースされたような場合には、その内容を示す画像などとともに、広告メッセージを含めるようにしてもよい。つまり、通知メッセージは、広告情報を含んでいてもよい。または、あるゲームの進行中に、ゲームが進行中なので観戦して欲しい旨のメッセージなどを含ませてもよい。
【0116】
このように、マスターとして機能する情報処理装置100は、通知メッセージを任意のタイミングで送信できるので、情報処理装置100と無線信号を介して通信可能な他の情報処理装置に対して、さまざまな用途のメッセージを配布することができる。また、通知メッセージの送信タイミングについても、ランダムに決定してもよいし、あるいは、新たな情報処理装置がマスターとして機能する情報処理装置100に接近したことをイベントとして、通知メッセージを送信するようにしてもよい。
【0117】
後述するように、ビーコンは、無線LANまたはBluetooth Low Energy(BLE)などを用いて送信することができる。このようなビーコンは、情報処理装置がどのような状況であっても受信できることが好ましい。そのため、本実施の形態に従う情報処理装置は、マスターとして機能する情報処理装置100から送信される通知メッセージを特定のアプリケーションが実行されていない状態であっても受信可能に構成される。
【0118】
いずれの通信方式を用いるかについては、クライアントまたはオーディエンスとして機能する情報処理装置のハードウェアに依存して決定される。すなわち、マスターとして機能する情報処理装置100から送信される通知メッセージは、クライアントまたはオーディエンスとして機能する情報処理装置の種類に応じて通信方式を異ならせてもよい。
【0119】
(g3:通知メッセージに対するフィルタリング)
マスターからは任意のタイミングで通知メッセージが送信される場合もある。このような通知メッセージを受信する側のユーザは、特定の送信元からの通知メッセージのみを受信したいといった要望もある。この場合、クライアントまたはオーディエンスとして機能する情報処理装置は、マスターとして機能する情報処理装置100から送信される通知メッセージのうち、予め定められた条件を満たすものだけを有効化するように構成される。
【0120】
具体的には、以下に説明するような、通知メッセージに対するフィルタリング機能を実装することが好ましい。このようなフィルタリング機能については、送信する通知メッセージに特定の識別情報を含める方法、および/または、受信側で受信対象の通知メッセージを識別する方法などが想定される。
【0121】
例えば、送信する通知メッセージに特定の識別情報を含める方法としては、通知メッセージを開封するために必要なキーワードまたは合言葉を予め設定しておき、当該キーワードまたは合言葉を知っているユーザのみが開封できるようにしてもよい。あるいは、通知メッセージをある暗号化キーを用いて暗号化した上で送信し、対応する復号化キーを予め有しているユーザのみが復号できるようにしてもよい。
【0122】
このように、特定のユーザ間で共有されている情報を通知メッセージに付加しておくことで、通知メッセージの内容が第三者に通知される事態を防止できる。
【0123】
また、受信側で受信対象の通知メッセージを識別する方法としては、通知メッセージに含まれる識別情報が予め登録されたユーザ(例えば、友達関係になっているユーザまたはアドレス帳などに登録のあるユーザ)の識別情報と一致する場合に限って、その内容を表示するようにしてもよい。
【0124】
あるいは、受信側のユーザが受信可能な送信元を明示的に設定するようにしてもよいし、通知メッセージに含まれる内容、属性などについて予め受信対象になる条件を設定しておいてもよい。
【0125】
このような受信側でフィルタ設定をすることで、受信側のユーザが希望しない不要な通知メッセージの受信を抑制できる。
【0126】
(g4:無線LAN)
無線通信部120(
図2)として、802.11規格に従う無線LANを用いる場合には、
図10に示すようなビーコンは、アクションフレーム(Action Frames)とともに送信することができる。アクションフレームは、管理フレームの一種であり、何らかの指定されたアクション(処理)の実行をトリガーさせるために用いられる。このアクションフレーム内に特定の処理を記述することで、マスターとして機能する情報処理装置100と無線通信可能な情報処理装置に対して、指定された処理を実行させることができる。
【0127】
また、アクションフレームは、情報処理装置が低消費電力の状態(例えば、スリープ状態またはスタンバイ状態)であっても、無線LANインターフェイスを提供する無線通信部120の物理層およびデータリンク層がアクティブでいれば、イベント的に受信することができる。また、情報処理装置が何らかのアプリケーションを実行している場合であっても、バックグラウンドで受信することもできる。
【0128】
802.11規格に従う無線LANには、現時点では、2.4GHz帯域および5GHz帯域の周波数が割り当てられており、本実施の形態に従う情報処理装置では、この2つの周波数帯域の両方を利用可能であるとする。但し、ハードウェアの制約上、2.4GHz帯域および5GHz帯域を同時使用できない場合もあり、このような場合には、使用する周波数帯域を適宜切り替えながら使用することが好ましい。
【0129】
図11は、本実施の形態に従う情報処理装置での無線LANが使用する周波数帯域の切り替えの一例を示す図である。
図11に示すように、例えば、アクションフレームは、2.4GHz帯域にて送信されており、比較的データ容量の大きなアプリケーション画像は、5GHz帯域にて送信されているとする。
【0130】
つまり、マスターとして機能する情報処理装置100は、アプリケーション画像および通知メッセージをそれぞれ異なる周波数帯域で送信するように構成されている。このような場合、クライアントまたはオーディエンスとして機能する情報処理装置は、無線通信部120が有効に通信する周波数帯域を順次切り替えることで、アプリケーション画像の受信と通知メッセージの受信とを行なう。
【0131】
より具体的には、クライアントおよびオーディエンスとして機能する情報処理装置は、主として、アプリケーション画像の受信のために、5GHz帯域で通信をすることになるが、アクションフレームの有無を確認するために、所定周期または所定イベント毎に2.4GHz帯域で送信されるフレームを受信する。
【0132】
このような周波数帯域の切り替えを行ないながら、無線LANでの通信を行なうことで、ディスプレイ表示に必要なアプリケーション画像を受信しつつ、アクションフレームの探索および受信も可能になる。
【0133】
あるいは、同一の周波数帯域に含まれる異なるチャネルを用いて、2種類の情報を選択的に受信するようにしてもよい。例えば、ある周波数帯域の通信チャネル1にて、アプリケーション画像を受信し、当該周波数帯域の通信チャネル2にて、アクションフレームを受信するようにしてもよい。この場合には、同一周波数帯域に含まれるチャネルの交互に有効化することで、ディスプレイ表示に必要なアプリケーション画像を受信しつつ、アクションフレームの探索および受信も行なうことができる。
【0134】
上述したような、無線LANのアクションフレームには、専用命令を埋込むことができるので、情報処理システム1を構成する情報処理装置100により適した処理を実行させることができる。
【0135】
(g5:Bluetooth Low Energy(BLE))
無線通信部(
図2)として、Bluetoothを用いる場合には、Bluetooth4.0規格にて定義されている、Bluetooth Low Energy(BLE)を用いて、
図10に示すようなビーコンを送信することができる。BLEを用いることで、無線LANに比較して、より少ない消費電力で、ビーコンを送信することができる。
【0136】
上述したようなBLEを用いることで、ハードウェア的に異なる複数種類の情報処理装置の間であっても、ビーコンの遣り取りを行なうことができる。
【0137】
なお、BLEを用いた通知メッセージの送受信によって、ある情報処理装置がクライアントまたはオーディエンスとして機能することになると、無線LANによって送信されるアプリケーション画像および音声データを受信することになる。すなわち、通知メッセージの通信方式は、情報処理装置の種類に応じて異ならせてもよいが、接続が確立すると、マスターとして機能する情報処理装置100は、通知メッセージの送信後、同一の通信方式でアプリケーション画像および音声データを送信することになる。
【0138】
[H.処理手順]
次に、本実施の形態に従う情報処理システム1を構成する各情報処理装置での処理手順について説明する。
【0139】
(h1:マスターとして機能する情報処理装置)
図12は、本実施の形態に従うゲームプログラム140がインストールされた情報処理装置100での処理手順を示すフローチャートである。
図12に示す各ステップは、典型的には、プロセッサ102がゲームプログラム140を実行することで実現される。
【0140】
図12を参照して、ユーザ操作に応答して、情報処理装置100は、
図7(A)に示すようなメニュー画面400をディスプレイ114に表示し(ステップS100)、メニュー画面400に対するユーザ操作を受け付ける(ステップS102)。
【0141】
メニュー画面400上で「1.1人プレイ」の選択項目402が選択されると(ステップS102において「1人プレイ」)、情報処理装置100は、コンピュータを対戦相手とするゲーム処理の進行を開始する(ステップS104)。その後、情報処理装置100は、ゲーム処理の終了が指示されたか否かを判断する(ステップS106)。ゲーム処理の終了が指示されていなければ(ステップS106においてNOの場合)、ステップS106以下の処理が繰り返される。これに対して、ゲーム処理の終了が指示されると(ステップS106においてYESの場合)、ゲーム処理は終了する。
【0142】
メニュー画面400上で「2.対戦プレイ」の選択項目402が選択されると(ステップS102において「対戦プレイ」)、情報処理装置100は、マスターとしての機能を開始する。すなわち、情報処理装置100は、ゲームプログラム140にて実行されるゲームの内容を含む通知メッセージの送信を開始し(ステップS110)、いずれかの情報処理装置からゲームへの参加要求のメッセージの受信を待つ(ステップS112)。ゲームへの参加要求のメッセージを受信すると(ステップS112においてYESの場合)、情報処理装置100は、
図7(B)に示すステータス画面410の表示内容を更新する(ステップS114)。そして、情報処理装置100は、ゲームの開始が指示されたか否かを判断する(ステップS116)。すなわち、情報処理装置100は、
図7(C)に示す確認画面420において、確認ボタン422が選択されたか否かを判断する。ゲームの開始が指示されていなければ(ステップS116においてNOの場合)、ステップS112以下の処理が繰り返される。
【0143】
これに対して、ゲームの開始が指示されていれば(ステップS116においてYESの場合)、情報処理装置100は、自装置および1または複数のクライアントからそれぞれ操作情報を取得し(ステップS118)、その取得した操作情報に基づいてゲーム処理を開始する(ステップS120)。そして、情報処理装置100は、ゲーム処理の実行結果を含むアプリケーション画像および音声データをクライアントおよびオーディエンスへ送信する(ステップS122)。
【0144】
その後、情報処理装置100は、ゲーム処理の終了が指示されたか否かを判断する(ステップS124)。ゲーム処理の終了が指示されていなければ(ステップS124においてNOの場合)、ステップS118以下の処理が繰り返される。これに対して、ゲーム処理の終了が指示されると(ステップS124においてYESの場合)、ゲーム処理は終了する。
【0145】
メニュー画面400上で「3.参加できるゲームを探す」の選択項目403が選択されると(ステップS102において「参加できるゲームを探す」)、
図13に示す処理が実行される。
【0146】
(h2:クライアント/オーディエンスとして機能する情報処理装置)
図13は、本実施の形態に従うインターフェイスプログラム240,340がインストールされた情報処理装置での処理手順を示すフローチャートである。
図13に示す各ステップは、典型的には、プロセッサ102がインターフェイスプログラム240,340を実行することで実現される。
【0147】
図13を参照して、情報処理装置200,300は、マスターとして機能するいずれかの情報処理装置100から通知メッセージを受信したか否かを判断する(ステップS200)。通知メッセージを受信していなければ(ステップS200においてNOの場合)、ステップS200の処理が繰り返される。
【0148】
通知メッセージを受信していれば(ステップS200においてYESの場合)、情報処理装置200,300は、
図8(A)に示すステータス画面440をディスプレイ114に表示する(ステップS202)。情報処理装置200,300は、いずれかのゲームが選択されたか否かを判断する(ステップS204)。いずれかのゲームが選択されると(ステップS204においてYESの場合)、情報処理装置200,300は、選択画面450を表示するとともに、選択画面450に対するユーザ操作を受け付ける(ステップS206)。
【0149】
選択画面450上で「1.参加する」の選択項目451が選択されると(ステップS206において「参加する」)、情報処理装置200は、クライアントとしてゲームに参加する旨のメッセージをマスターとして機能する情報処理装置100へ直接送信する(ステップS208)。そして、情報処理装置200は、ゲームが開始されると、操作部116が受け付けたユーザからの操作に応じた操作情報を取得し、その取得した操作情報をマスターとして機能する情報処理装置100へ直接送信する(ステップS210)。また、情報処理装置200は、マスターとして機能する情報処理装置100から受信したアプリケーション画像および音声データを出力する(ステップS212)。その後、情報処理装置200は、ゲーム処理の終了が指示されたか否かを判断する(ステップS214)。ゲーム処理の終了が指示されていなければ(ステップS214においてNOの場合)、ステップS208以下の処理が繰り返される。これに対して、ゲーム処理の終了が指示されると(ステップS214においてYESの場合)、ゲーム処理は終了する。
【0150】
これに対して、選択画面450上で「2.様子を見る」という選択項目452が選択されると(ステップS202において「様子を見る」)、情報処理装置300は、ゲームが開始された後、マスターとして機能する情報処理装置100から受信したアプリケーション画像および音声データを出力する(ステップS222)。また、情報処理装置300は、ユーザ操作に応じて、
図8(D)に示す選択画面470をディスプレイ114に表示する(ステップS224)とともに、ゲームに参加するか否かのユーザ操作を受け付ける(ステップS226)。ゲームへの参加がユーザによって指示されると(ステップS226においてYESの場合)、情報処理装置はクライアントとして機能することになり、ステップS208以降の処理が実行される。これに対して、ゲームへの参加がユーザによって指示されていなければ(ステップS226においてNOの場合)、情報処理装置200は、ゲーム観戦の終了が指示されたか否かを判断する(ステップS228)。ゲーム観戦の終了が指示されていなければ(ステップS228においてNOの場合)、ステップS222以下の処理が繰り返される。これに対して、ゲーム観戦の終了が指示されると(ステップS228においてYESの場合)、オーディエンスとしての機能は終了する。
【0151】
[I.ユーザ参加の承認]
本実施の形態に従う情報処理システム1では、マスターとして機能する情報処理装置100がゲームへの参加を呼び掛けて、それに呼応して参加を希望するユーザがゲームに参加することになる。多くのユーザに対してゲームの参加を呼び掛けるという特徴は、ゲームに参加できるユーザに対する障壁を低減する観点からは好ましいが、特定の仲間だけでゲームを楽しみたいといったニーズには適合しない。このような場合には、マスターのユーザが参加を希望するユーザに対する承認を与えるか否かを判断できるようにしてもよい。
【0152】
図14は、マスターとして機能する情報処理装置上で提供されるユーザインターフェイス画面例を示す模式図である。
図14を参照して、いずれかの情報処理装置からゲームへの参加希望を示す要求を受信すると、マスターとして機能する情報処理装置100のディスプレイ114には、
図14に示すような承認画面490が表示される。承認画面490には、ゲームへの参加を希望しているユーザの情報を含むメッセージ491とともに、「YES」ボタン492および「NO」ボタン493が表示されている。マスターのユーザが「YES」ボタン492を選択すると、当該参加を希望しているユーザはゲームに参加することができる。これに対して、マスターのユーザが「NO」ボタン493を選択すると、当該参加を希望しているユーザのゲームへの参加は拒絶される。
【0153】
このように、マスターとして機能する情報処理装置100は、ユーザ操作に従って、ある情報処理装置が操作情報を情報処理装置100へ送信すること、すなわちクライアントとして接続することを許可するか否かを決定する。
【0154】
このような処理を採用することで、特定の仲間だけでゲームを楽しみたいといったニーズを満たすことができる。
【0155】
[J.アプリケーション画像および音声データの送信]
本実施の形態に従う情報処理システム1においては、マスターとして機能する情報処理装置100から1または複数の情報処理装置に対して、アプリケーション画像および音声データが送信される。このアプリケーション画像および音声データの送信処理に際して、以下のような形態を採用してもよい。
【0156】
(j1:複数画面の一括送信)
複数のユーザが共通のゲームに参加する場合、ゲームの種類に依存して、すべてのユーザに対して同一のアプリケーション画像が提供されるような形態が採用されてもよいし、ユーザ(情報処理装置)毎に異なるアプリケーション画像が提供されるような形態が採用されてもよい。以下では、ユーザ(情報処理装置)毎に異なるアプリケーション画像を提供するための処理例について説明する。
【0157】
ユーザ(情報処理装置)毎に異なるアプリケーション画像としては、ゲーム空間にそれぞれ配置される各ユーザの視点毎に生成される画像を含み得る。あるいは、同一の視点であっても、各ユーザが操作するキャラクタ名やパワーゲージなどのゲーム進行に係る表示がユーザ別になっている。このようなユーザ毎に固有のアプリケーション画像を提供する方法について説明する。
【0158】
図15は、本実施の形態に従う情報処理システム1において情報処理装置別にアプリケーション画像を生成および送信する方法を説明するための図である。
図15には、マスターとして機能する情報処理装置100に対して、4つの情報処理装置200−1〜200−4がクライアントとして機能する構成について例示する。
【0159】
図15に示すように、マスターとして機能する情報処理装置100は、情報処理装置200−1〜200−4のそれぞれに向けたアプリケーション画像を含むアプリケーション画像530を生成する。アプリケーション画像530に含まれる部分画像531〜534は、情報処理装置200−1〜200−4のそれぞれに向けたアプリケーション画像に相当する。
【0160】
情報処理装置200−1〜200−4の各々には、アプリケーション画像530に含まれるいずれの部分画像を表示すべきかを示す識別情報ID01〜ID04が予め付与されている。情報処理装置200−1〜200−4の各々は、予め付与された識別情報に基づいて、受信したアプリケーション画像530のうち、特定の領域の画像(部分画像)をディスプレイに表示する。
【0161】
このように、マスターとして機能する情報処理装置100は、複数の情報処理装置200毎に生成されるそれぞれのアプリケーション画像を一体化したアプリケーション画像を送信する。これに対して、情報処理装置200は、当該一体化したアプリケーション画像のうち、自装置に対応する領域の画像をディスプレイ114に表示する。
【0162】
図15に示すように、複数の情報処理装置200−1〜200−4のそれぞれで表示されるべき複数の部分画像を含むアプリケーション画像を生成および送信することで、ゲームの多様性および趣向性を高めることができる。
【0163】
(j2:時分割送信)
上述したような、複数の部分画像を含むアプリケーション画像を送信する形態に代えて、クライアントとして機能する情報処理装置200毎にアプリケーション画像を送信するようにしてもよい。
【0164】
図16は、本実施の形態に従う情報処理システム1において情報処理装置別にアプリケーション画像を生成および送信する方法を説明するための図である。
図16には、マスターとして機能する情報処理装置100に対して、4つの情報処理装置200−1〜200−4がクライアントとして機能する構成について例示する。
【0165】
図16(A)には、上述の
図15に示すような送信方法に相当するタイムチャートを示す。マスターとして機能する情報処理装置100は、1つのアプリケーション画像540と1つの音声データ550との組を1フレームとして周期的に送信する。
【0166】
図16(B)には、時分割による送信方法に相当するタイムチャートを示す。マスターとして機能する情報処理装置100は、クライアントとして機能する情報処理装置200−1〜200−4のそれぞれに対して、アプリケーション画像541〜544を生成し、各フレーム周期内で所定順序に並べて送信する。1フレームには、アプリケーション画像541〜544に加えて、音声データ550も含まれる。
【0167】
情報処理装置200−1〜200−4の各々には、1フレーム内のいずれの位置に含まれるアプリケーション画像を抽出するのかを示す識別情報ID01〜ID04が予め付与されている。情報処理装置200−1〜200−4の各々は、予め付与された識別情報に基づいて、受信した1フレームのうち、特定のアプリケーション画像を抽出し、ディスプレイに表示する。
【0168】
このように、複数のアプリケーション画像を所定順序に従って送信することで、複数の情報処理装置200−1〜200−4のそれぞれにおいて、ユーザ別のアプリケーション画像を表示させることができる。これによって、ゲームの多様性および趣向性を高めることができる。
【0169】
(j3:解像度の最適化)
上述の説明では、ハードウェア的に実質的に同一の構成を有する情報処理装置がクライアントとして機能する例について説明したが、クライアントとして機能する情報処理装置のハードウェア上のスペックが異なっている場合もある。この場合には、送信するアプリケーション画像の解像度を最適化することが好ましい。
【0170】
図17は、本実施の形態に従う情報処理システム1において情報処理装置別にアプリケーション画像の解像度を最適化する方法を説明するための図である。
図17には、マスターとして機能する情報処理装置100に対して、3つの情報処理装置200−1〜200−3がクライアントとして機能する構成について例示する。ここで、情報処理装置200−1〜200−3の間では表示解像度が異なっているとする。
【0171】
例えば、情報処理装置200−1の表示解像度がD1(W1×H1)であり、情報処理装置200−2の表示解像度がD2(W2×H2)であり、情報処理装置200−3の表示解像度がD3(W3×H3)である。ここで、情報処理装置200−3の表示解像度D3が最も低い(低スペックである)とする。
【0172】
このような場合には、マスターとして機能する情報処理装置100は、最も低い表示解像度に適合するようにアプリケーション画像を生成するようにしてもよい。この例では、表示解像度D3(W3×H3)のアプリケーション画像を生成して、各クライアントへ送信する。すなわち、マスターとして機能する情報処理装置100は、アプリケーション画像を、所定の解像度に変換した上で、情報処理装置200へ送信してもよい。このように、情報処理装置200−1〜200−3がどのような種類の装置であっても一律に解像度を低下させた上で送信するようにしてもよい。逆に、情報処理装置200−1〜200−3のそれぞれにおける表示解像度に応じて、複数種類の解像度をもつアプリケーション画像をそれぞれ個別に生成するようにしてもよい。
【0173】
上述したように、クライアントとして機能する情報処理装置200は、情報処理装置100に対して操作情報をそれぞれ送信するので、この操作情報の送信に併せて、搭載しているディスプレイに表示可能な最大画像サイズ、すなわち表示解像度の情報を送信するようにしてもよい。
【0174】
あるいは、クライアントとして機能する情報処理装置200がマスターとして機能する情報処理装置100に接続する手続きにおいて、表示解像度をネゴーシエーションするようにしてもよい。
【0175】
このような構成を採用することで、ハードウェア上のスペックが異なる複数のクライアントが参加している場合であっても、そのスペック差を意識することなく、複数のユーザがゲームを楽しむことができる。
【0176】
なお、逆の思想として、マスターとして機能する情報処理装置100は、複数のクライアントのうち、最も高い表示解像度に合わせてアプリケーション画像を生成し、それを送信するようにしてもよい。そして、各クライアントでは、受信したアプリケーション画像を表示可能な画像サイズにリダクションした上で、ディスプレイに表示する。
【0177】
このような構成を採用することで、ハードウェア上のスペックが高いクライアントでは、そのスペックに応じた映像を享受することができるとともに、ハードウェア上のスペックが低いクライアントであっても、ゲームに参加することができる。
【0178】
(j4:アプリケーション画像の送信先の制限)
本実施の形態に従う情報処理システム1では、マスターとして機能する情報処理装置100は、アプリケーション画像をブロードキャストまたはマルチキャストで送信する。そのため、基本的には、マスターとして機能する情報処理装置100と無線通信可能な装置であれば、アプリケーション画像の表示が可能となる。このような任意の装置でアプリケーション画像を表示できるという特徴は、ゲームに参加できるユーザに対する障壁を低減する観点からは好ましいが、特定の仲間だけでゲームを楽しみたいといったニーズには適合しない。このような場合には、特定の情報処理装置のみがアプリケーション画像を表示できるような仕組みを採用してもよい。
【0179】
図18は、本実施の形態に従う情報処理システム1においてアプリケーション画像の送信先を制限する方法を説明するための図である。
図18には、アプリケーション画像の送信先を制限する方法として、アプリケーション画像560を暗号化してブロードキャスト送信するとともに、当該アプリケーション画像の表示を許可する情報処理装置300に対してのみ、当該アプリケーション画像560を復号化するための復号化キー561,562,563を予め配布しておく。
【0180】
図18に示す構成において、情報処理装置300−1〜300−4の各々は、マスターとして機能する情報処理装置100から受信した暗号化されたアプリケーション画像560を受信する。情報処理装置300−1〜300−4のうち、情報処理装置300−1〜300−3のみが復号化キー561〜563をそれぞれ有しており、受信したアプリケーション画像を復号することができる。これにより、情報処理装置300−1〜300−3については、アプリケーション画像が表示されることになる。これに対して、情報処理装置300−4は、復号化キーを有していないので、受信したアプリケーション画像を復号化することができない。
【0181】
復号化キーを予め配布する方法は、任意の方法を採用することができる。例えば、SNS(ソーシャルネットワーク)といったユーザ間のコミュニティネットワーク上で、復号化キーを配布するようにしてもよい。この場合、公開暗号化方式などに従う、暗号化キーおよび復号化キーのセットを利用するようにしてもよい。
【0182】
あるいは、上述のインターフェイスプログラムを含む各種プログラムを有料または無料でダウンロードするサイトにアクセスして復号化キーを取得するようにしてもよい。または、ゲームの販売店やコンビニエンスストアー内に無線信号を介して暗号化キーが配信されており、このような場所で暗号化キーを取得するようにしてもよい。
【0183】
このような暗号化キーを用いて、アプリケーション画像を表示可能な情報処理装置を制限することで、閉じたユーザコミュニティにいるユーザ同士でのみゲームを共有して楽しむことができる。また、特定の場所でなければ暗号化キーを取得できないようにすることで、一種のレア感を生み出すことができる。
【0184】
[K.汎用デバイスのクライアント/オーディエンスとしての利用]
本実施の形態に従う情報処理システム1においては、マスターとして機能する情報処理装置100においてゲームプログラム140(
図3)が実行されていれば、クライアントまたはオーディエンスとして機能する情報処理装置では、マスターとの遣り取りに係る処理のみが実行されればよい。すなわち、クライアントまたはオーディエンスとして機能する情報処理装置では、比較的簡易なプログラムのみが実行されることになる。そのため、マスターとして機能する情報処理装置100との間で無線通信可能な任意の情報処理装置を、クライアントまたはオーディエンスとして用いることができる。
【0185】
すなわち、スマートフォンやタブレットといったスマートデバイス、または、パーソナルコンピュータなどの汎用デバイスをクライアントまたはオーディエンスとして利用することができる。この場合には、クライアントまたはオーディエンスとして機能させるためのインターフェイスプログラムを汎用デバイスにインストールする必要がある。このようなインターフェイスプログラムは、公知の方法で配布およびインストールすればよい。
【0186】
例えば、インターフェイスプログラムを光学ディスクなどの記憶媒体に格納して配布するようにしてもよいし、配信サーバ上にインターフェイスプログラムを格納しておき、この配信サーバにアクセスすることで、インターフェイスプログラムをダウンロードするようにしてもよい。
【0187】
図19は、本実施の形態に従う情報処理システム1において汎用デバイスに対するインターフェイスプログラムをインストールする方法を説明するための図である。
【0188】
図19(A)には、マスターとして機能する情報処理装置100から送信される通知メッセージにインターフェイスプログラムのダウンロード先を特定する情報を含める構成例を示す。より具体的には、情報処理装置100は、汎用デバイスである情報処理装置200にて利用可能なインターフェイスプログラムのダウンロード先を示すURL(Uniform Resource Locator)を含む通知メッセージを任意の方法で送信する。情報処理装置200では、マスターからの通知メッセージを受信すると、その内容が表示される。なお、通知メッセージとしては、電子メール、SMS(Short Message Service)、各種メッセージサービスといった任意の方法で送信されてもよい。
【0189】
情報処理装置200のユーザが受信された通知メッセージに含まれるURLへのアクセスを指示すると、情報処理装置200は、指定されたダウンロードサイトへアクセスし、指定されたインターフェイスプログラムをダウンロードおよびインストールする。
【0190】
このような一連の処理によって、汎用デバイスのユーザであっても、本実施の情報処理システム1に容易に参加して、複数のユーザの間でゲームを楽しむことができる。
【0191】
図19(B)には、NFC(Near Field radio Communication)などの近距離無線通信を介して、マスターとして機能する情報処理装置100から情報処理装置200に対して、インターフェイスプログラムをダウンロードする構成例を示す。より具体的には、マスターとして機能する情報処理装置100は、汎用デバイスのOS別に1または複数のインターフェイスプログラムを予め保持している。情報処理装置100および情報処理装置200は、いずれもNFC機能を有しており、両装置のNFC機能を有効化した状態で、両装置を接近させると、互いに情報を遣り取りしつつ、情報処理装置100から情報処理装置200に対して、適切なインターフェイスプログラムが送られる。
【0192】
あるいは、情報処理装置100がカードエミュレーション機能によりNFCタグとなり、情報処理装置200がリーダライタとして情報処理装置100からタグの情報(URL)を読み取るようにしてもよい。
【0193】
なお、情報処理装置100から情報処理装置200へのインターフェイスプログラムの送信は、NFCに限られることなく、赤外線通信、無線LAN、Bluetooth(登録商標)といった公知の方法を採用できる。
【0194】
このような手順によって、情報処理装置200のユーザは、インターフェイスプログラムの存在をあまり意識することなく、情報処理装置100によって提供されるゲームに参加することができる。
【0195】
[L.汎用デバイスのマスターとしての利用]
上述の説明では、汎用デバイスをクライアントまたはオーディエンスとして利用する場合について例示したが、汎用デバイスをマスターとして利用するようにしてもよい。この場合には、汎用デバイスで実行されるゲームプログラム140を用意する必要があるが、クライアントまたはオーディエンスとして利用される情報処理装置はどのような種類のものであってもよい。
【0196】
[M.変形例]
上述した実施の形態において、以下のような変形例を採用してもよい。
【0197】
マスターとして機能する情報処理装置100は、クライアントとして機能する複数の情報処理装置200(および、オーディエンスとして機能する情報処理装置300)に対して、共通のアプリケーション画像を送信するようにしてもよい。逆に、マスターとして機能する情報処理装置100は、クライアントとして機能する複数の情報処理装置200(および、オーディエンスとして機能する情報処理装置300)に対して、それぞれ個別のアプリケーション画像を送信するようにしてもよい。
【0198】
さらに、上述の2つの送信方法を組み合わせてもよい。この場合には、クライアントとして機能する情報処理装置200は、受信した共通のアプリケーション画像と個別のアプリケーション画像とを合成して表示するようにしてもよい。より具体的な応用例としては、個別のアプリケーション画像が共通のゲームフィールドの画像であり、個別のアプリケーション画像が、複数の情報処理装置200の各々を操作するユーザに関連付けられたキャラクタ名、パワーゲージ、保持しているアイテム群などの画像であってもよい。
【0199】
共通のアプリケーション画像および個別のアプリケーション画像は、ブロードキャスト(または、マルチキャスト)で同時に送信されてもよい。あるいは、共通のアプリケーション画像をブロードキャスト(または、マルチキャスト)で送信する一方、個別のアプリケーション画像はユニキャストで対象の情報処理装置200へ個々に送信してもよい。
【0200】
このような共通のアプリケーション画像と個別のアプリケーション画像との組み合わせを採用することで、スループットに制約がある場合であっても、冗長なデータ送信を抑制しつつ、複数のユーザ別の画面を提供することができる。
【0201】
[N.利点]
本実施の形態に従う情報処理システム1においては、マスターとして機能する情報処理装置でゲームプログラムが利用可能であればよく、他の情報処理装置においては、マスターとして機能する情報処理装置との遣り取りを行なう簡易なプログラムのみが利用可能であればよい。すなわち、本実施の形態においては、複数のユーザが同一のゲームを楽しむのに必要なハードウェア的な制限を緩和することができる。
【0202】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。