(57)【特許請求の範囲】
【請求項１】
ネットワークを介して複数の操作装置からの複数の操作信号が入力され、専用のゲーム装置のエミュレータまたはシミュレータにより再現される前記専用のゲーム装置の複数のポートを有するコントローラポートと、
前記各ポートに入力される前記各操作装置からの各操作信号に応じて前記専用のゲーム装置で実行されるように予め作成されたゲームプログラムを実行する実行手段と、
前記各ポートへ前記各操作装置を割り当てる割当手段と、を有し、
前記割当手段は、前記複数の操作装置のうちの１の操作装置を、前記複数のポートのうち少なくとも２のポートへ割り当てる、
ことを特徴とする情報処理システム。
【請求項２】
ネットワークを介して複数の操作装置からの複数の操作信号が入力され、専用のゲーム装置のエミュレータまたはシミュレータにより再現される前記専用のゲーム装置の複数のポートを有するコントローラポートと、
前記各ポートに入力される前記各操作装置からの各操作信号に応じて前記専用のゲーム装置で実行されるように予め作成されたゲームプログラムを実行する実行手段と、
前記各ポートへ前記各操作装置を割り当てる割当手段と、
前記実行手段の予め登録された前記ゲームプログラムの場面を表す実行状況を、画像処理、音声処理、または、前記実行手段のメモリ、レジスタ、またはプログラムカウンタの値に基づいて、検出する実行状況検出手段と、を有し、
前記割当手段は、前記検出された実行状況に基づいて、前記各ポートへの前記各操作装置の割り当てを変更する、
ことを特徴とする情報処理システム。
【請求項３】
前記情報処理システムは、更に、前記各ポートに対応した情報と前記各操作装置に対応した情報を関連付けた画像情報を生成する画像情報生成手段を有し、
前記割当手段は、更に、前記画像情報に応じたユーザの割り当て指示に基づいて、前記各ポートへの前記各操作装置の割り当てを変更することを特徴とする請求項１または２記載の情報処理システム。
【請求項４】
前記情報処理システムは、更に、前記各ポートと前記各操作装置の接続状況を表す接続情報を取得する接続情報取得手段を含み、
前記取得された接続情報に応じて、前記割当手段は、更に、前記各ポートへの前記各操作装置の割り当てを変更する、
ことを特徴とする請求項１乃至３のいずれかに記載の情報処理システム。
【請求項５】
前記割当手段は、前記各ポートを識別する各ポート識別情報が前記各操作装置を識別する各操作装置識別情報に関連付けて記憶された割当情報に基づいて、前記各ポートへの前記各操作装置の割り当てを変更することを特徴とする請求項１乃至４のいずれかに記載の情報処理システム。
【請求項６】
前記割当手段は、前記各ポートを識別する各ポート識別情報、前記各操作装置を識別する各操作装置識別情報、及び前記実行状況を識別する実行状況識別情報が関連付けて記憶された割当情報に基づいて、前記各ポートへの前記各操作装置の割り当てを変更することを特徴とする請求項２に記載の情報処理システム。
【請求項７】
実行手段が、ネットワークを介して複数の操作装置からの複数の操作信号が入力され、専用のゲーム装置のエミュレータまたはシミュレータにより再現される複数のポートを有するコントローラポートの前記各ポートに入力される前記各操作装置からの各操作信号に応じて前記専用のゲーム装置で実行されるように予め作成されたゲームプログラムを実行し、
割当手段が、前記各ポートへ前記各操作装置を割り当て、
前記割当手段は、前記複数の操作装置のうちの１の操作装置を、前記複数のポートのうち少なくとも２のポートへ割り当てる、
ことを特徴とする情報処理方法。
【請求項８】
ネットワークを介して複数の操作装置からの複数の操作信号が入力され、専用のゲーム装置のエミュレータまたはシミュレータにより再現される複数のポートを有するコントローラポート手段、
前記各ポートに入力される前記各操作装置からの各操作信号に応じて前記専用のゲーム装置で実行されるように予め作成されたゲームプログラムを実行する実行手段、及び、
前記各ポートへ前記各操作装置を割り当てる割当手段、としてコンピュータを機能させるための情報処理プログラムであって、
前記割当手段は、前記複数の操作装置のうちの１の操作装置を、前記複数のポートのうち少なくとも２のポートへ割り当てる
ことを特徴とする情報処理プログラム。
【請求項９】
実行手段により、ネットワークを介して複数の操作装置からの複数の操作信号が入力され、専用のゲーム装置のエミュレータまたはシミュレータにより再現される前記専用のゲーム装置の複数のポートを有するコントローラポートの前記各ポートに入力される前記各操作装置からの各操作信号に応じて前記専用のゲーム装置で実行されるように予め作成されたゲームプログラムを実行し、
割当手段が、前記各ポートへ前記各操作装置を割り当て、
実行状況検出手段が、前記実行手段の予め登録された前記ゲームプログラムの場面を表す実行状況を、画像処理、音声処理、または、前記実行手段のメモリ、レジスタ、またはプログラムカウンタの値に基づいて、を検出し、
前記割当手段が、前記検出された実行状況に基づいて、前記各ポートへの前記各操作装置の割り当てを変更する、
ことを特徴とする情報処理方法。
【請求項１０】
ネットワークを介して複数の操作装置からの複数の操作信号が入力され、専用のゲーム装置のエミュレータまたはシミュレータにより再現される前記専用のゲーム装置の複数のポートを有するコントローラポート手段、
前記各ポートに入力される前記各操作装置からの各操作信号に応じて前記専用のゲーム装置で実行されるように予め作成されたゲームプログラムを実行する実行手段、
前記各ポートへ前記各操作装置を割り当てる割当手段、及び、
前記実行手段の予め登録された前記ゲームプログラムの場面を表す実行状況を、画像処理、音声処理、または、前記実行手段のメモリ、レジスタ、またはプログラムカウンタの値に基づいて、検出する実行状況検出手段、としてコンピュータを機能させるための情報処理プログラムであって、
前記割当手段は、前記検出された実行状況に基づいて、前記各ポートへの前記各操作装置の割り当てを変更する、
ことを特徴とする情報処理プログラム。
【請求項１１】
請求項８または１０に記載した情報処理プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
情報処理システム、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
専用の装置で実行されるよう作成されたゲームプログラムを、エミュレータを用いて、異なる装置等で実行する技術が知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記のような場合において、当該ゲームプログラムが例えば１のプレイヤーのみでプレイされるよう作成されているような場合に、例えば、複数人でプレイしたい場合がある。また、当該ゲームプログラムが複数のプレイヤーが順番にボールを打つようなゴルフゲームである場合等において、サーバ型ゲーム実行システムにおいて当該ゴルフゲームを実行する場合、当該サーバと１のプレイヤーに対応する操作装置との接続が中断されたような場合には、当該ゴルフゲームを進行することが困難となる。また、当該ゲームプログラムが、例えば、１のコントローラの複数のボタンを用いて操作対象を操作するよう作成されているような場合に、当該複数のボタンを複数のユーザで分担して担当したい場合がある。
【０００４】
本発明は、専用の装置で実行されるよう作成されたゲームプログラムに新たな楽しみ方、例えば、複数人で１のゲームをプレイすることのできるソーシャルゲームを実現する等、を付加することのできる情報処理システム等を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の情報処理システムは、ネットワークを介して複数の操作装置からの複数の操作信号が入力される複数のポートを有するコントローラポートと、前記各ポートに入力される前記各操作装置からの各操作信号に応じてゲームプログラムを実行する実行手段と、前記各ポートへ前記各操作装置を割り当てる割当手段と、を有し、前記割当手段は、所定の場合に、前記各ポートへの前記各操作装置の割り当てを変更する、ことを特徴とする。
【０００６】
本発明の情報処理方法は、ネットワークを介して複数の操作装置からの複数の操作信号が入力される複数のポートを有するコントローラポートの前記各ポートに入力される前記各操作装置からの各操作信号に応じてゲームプログラムを実行し、前記各ポートへ前記各操作装置を割り当て、所定の場合に、前記各ポートへの前記各操作装置の割り当てを変更する、ことを特徴とする。
【０００７】
本発明の情報処理プログラムは、ネットワークを介して複数の操作装置からの複数の操作信号が入力される複数のポートを有するコントローラポート手段、前記各ポートに入力される前記各操作装置からの各操作信号に応じてゲームプログラムを実行する実行手段、及び、前記各ポートへ前記各操作装置を割り当てる割当手段、としてコンピュータを機能させるための情報処理プログラムであって、前記割当手段は、所定の場合に、前記各ポートへの前記各操作装置の割り当てを変更する、ことを特徴とする。
【発明の効果】
【０００８】
専用の装置で実行されるよう作成されたゲームプログラムに新たな楽しみ方、例えば、複数人で１のゲームをプレイすることのできるソーシャルゲームを実現する等、を付加することのできる情報処理システム等を提供できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態における情報処理システムについて説明するための図である。
【図２】端末の構成を説明するための図である。
【図３】端末の外観の一例を示す図である。
【図４】サーバの機能的な構成について説明するための図である。
【図５】操作情報取得部で取得される操作情報の一例について説明するための図である。
【図６】割当テーブルの一例を示す図である。
【図７Ａ】割当テーブルの他の一例を示す図である。
【図７Ｂ】割当テーブルの他の一例を示す図である。
【図８】本実施の形態における情報処理システムの処理のフローの一例を示す図である。
【図９Ａ】割当変更の際に表示される画面の一例を示す図である。
【図９Ｂ】割当変更の際に表示される画面の一例を示す図である。
【図９Ｃ】割当変更の際に表示される画面の一例を示す図である。
【図９Ｄ】割当変更の際に表示される画面の一例を示す図である。
【図１０Ａ】変更された割当テーブルの一例を示す図である。
【図１０Ｂ】変更された割当テーブルの一例を示す図である。
【図１１】本発明の変形例１における割当テーブルの一例を示す図である。
【図１２】本発明の変形例２における割当テーブルの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を参照しつつ説明する。なお、図面については、同一又は同等の要素には同一の符号を付し、重複する説明は省略する。
【００１１】
図１は、本発明の実施の形態における情報処理システムについて説明するための図である。図１に示すように、本発明の情報処理システムは、サーバ１０１、ネットワーク１０２、及び、複数の端末１０３を含む。サーバ１０１は、制御部１０４、記憶部１０５、通信部１０６を含む。各部１０４乃至１０５は、バス１０７を介して接続される。なお、図１においては、３の端末１０３を示しているが、当該端末１０３は異なる数であってもよい。
【００１２】
制御部１０４は、例えば、ＣＰＵやＭＰＵ等であって、記憶部１０５に格納されたプログラムに従って動作する。記憶部１０５は、例えば、ハードディスクドライブやＲＯＭやＲＡＭ等の情報記録媒体で構成され、制御部１０４によって実行されるプログラムを保持する情報記録媒体である。また、記憶部１０５は、制御部１０４のワークメモリとしても動作する。なお、上記制御部１０４で処理されるプログラムは、例えば、ネットワーク１０２を介して、ダウンロードされて提供されてもよいし、または、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のコンピュータで読み取り可能な各種の情報記録媒体によって提供されてもよい。
【００１３】
通信部１０６は、例えば、ネットワーク１０２インターフェースであって、制御部１０４からの指示にしたがって、ネットワーク１０２を介して、情報を送受信する。
【００１４】
図２は端末の構成を説明するための図である。図２に示すように、端末１０３は、制御部２０１、通信部２０２、記憶部２０３、表示部２０４、操作部２０５を含む。なお、各部２０１−２０５は、バス２０６を介して接続される。サーバ１０１と同様に、制御部２０１は、例えば、ＣＰＵやＭＰＵ等であって、記憶部２０３に格納されたプログラムに従って動作する。記憶部２０３は、例えば、ハードディスクやＲＯＭやＲＡＭ等の情報記録媒体で構成され、制御部２０１によって実行されるプログラムを保持する情報記録媒体である。また、記憶部２０３は、制御部２０１のワークメモリとしても動作する。なお、上記制御部２０１で処理されるプログラムは、例えば、ネットワーク１０２を介して、ダウンロードされて提供されてもよいし、または、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のコンピュータで読み取り可能な各種の情報記録媒体によって提供されてもよい。通信部２０２は、例えば、ネットワークインターフェースであって、制御部２０１からの指示にしたがって、ネットワーク１０２を介して、情報を送受信する。
【００１５】
操作部２０５は、例えば、キーボード、マウス、コントローラ、ボタン等のインターフェースで構成され、ユーザの指示操作に応じて、当該指示操作の内容を制御部２０１に出力する。なお、端末１０３は、複数の操作部２０５、例えば、２以上のコントローラ等、を有してもよい。また、特許請求の範囲に記載の操作装置は、例えば、当該操作部２０５に相当する。
【００１６】
表示部２０４は、例えば、液晶ディスプレイ、ＣＲＴディスプレイ、または有機ＥＬディスプレイ等であって、制御部２０１からの指示に従い、情報を表示する。なお、上記は端末１０３の構成の一例であってこれに限定されるものではない。
【００１７】
図３は、端末１０３の外観の一例を示す図である。図３に示すように、端末１０３は、例えば、操作部２０５として、方向キー３０１、複数のボタン３０２、アナログ操作部３０３を有し、また、表示部２０４として表示画面３０４を有する。
【００１８】
方向キー３０１は、例えば、上方向指示キー、下方向指示キー、右方向指示キー、左方向指示キーを有する。当該方向キー３０１により、ユーザは、例えば、例えばゲームにおける操作対象を、上下左右に移動する等を行う。また、複数のボタン３０２には、それぞれ、例えば、ａ、ｂ、ｃ、ｄ等の印をそれぞれ有する。ユーザは、例えば、これらのボタン３０２を押すことにより、実行されるゲームプログラムによって定められるそれぞれのボタンに応じた処理を実行することができる。
【００１９】
アナログ操作部３０３は、例えば、所定の基準位置からの傾倒操作が可能であり、ユーザは、アナログ操作部３０３の基準位置からの傾き量と傾き方向に応じた入力情報を入力する。例えば、ユーザは、アナログ操作部３０３を用いて、表示画面３０４上に表示された操作対象を、当該傾き量と傾き方向に応じて、所望の方向に所望の量だけ傾ける等を行うことができる。また、アナログ操作部３０３は、いわゆるアナログボタン、つまり、例えば、ユーザーにより所定の基準位置から押しこまれた量が入力されるボタンであり、当該押し込まれた量に応じて、操作対象を操作等できる構成としてもよい。また、表示画面３０４は、表示部２０４の表示画面３０４に相当し、例えば、ゲームプログラムに応じた画像等を表示する。
【００２０】
なお、図３に示した端末１０３の外観、操作部２０５及び表示部２０４の構成は、一例であって、これらに限られるものではない。例えば、操作部２０５は、表示部２０４に表示されたタッチパネルにより形成されてもよいし、表示部２０４は、ＣＲＴや液晶表示装置で形成されたモニタ等の表示画面であってもよい。更に、方向キー３０１、複数のボタン３０２、アナログ操作部３０３の数はその他の数であってもよいし、また、端末１０３は、スタートボタンやセレクトボタン（図示なし）等その他のボタンや加速度センサ等を有してもよい。また、端末１０３は、例えば、ユーザの手等に保持される操作部を有し、当該ユーザの手等の動きに応じて、操作対象を操作できるように構成してもよい。この場合、例えば、端末１０３が画像認識等により、当該操作部の位置情報を取得し、当該位置情報に応じた入力情報により操作対象が操作される。更に、端末１０３は、方向キー３０１、複数のボタン３０２、アナログ操作部３０３等で構成される操作部を複数有するように構成してもよい。
【００２１】
図４は、サーバの機能的な構成について説明するための図である。図４に示すように、サーバ１０１は、操作情報取得部４０１、接続状況監視部４０２、テーブル管理部４０３、コントローラポート４０４、実行部４０５、プログラム記憶部４０７、実行制御部４０８、実行状況検出部４０９、画像情報生成部４１０、画像情報送信部４１１、割当部４１２、割当テーブル記憶部４１３を含む。
【００２２】
操作情報取得部４０１は、例えば、各操作部２０５に入力された各操作情報を取得する。例えば、あるゲームプログラムがａ乃至ｆのボタン識別情報に対応した各ボタンを用いてプレイされる場合、操作情報取得部４０１は、操作部２０５毎に、図５に示すように、上記ボタン識別情報ａ乃至ｆに対応するボタンが押し下げされたか否か示す、例えば、１または０の値をそれぞれ例えば、所定期間毎（例えば、１フレーム期間毎）に取得する。
【００２３】
なお、上記においては各ボタンが押し下げられたか否かを示す１または０の操作情報について説明したが、例えば、アナログ操作部３０３が用いられる場合には、当該アナログ操作部３０３の基準位置からの傾き量と傾き方向に応じた操作情報や基準位置からのボタンが押し込まれた量に応じた操作情報（例えば、０から１００の間の値、または、アナログ値そのもの）、または上記位置情報に応じた操作情報が取得されるように構成してもよい。
【００２４】
接続状況監視部４０２は、各操作部２０５とサーバ１０１との接続状況を監視する。そして、例えば、接続されている端末１０３の操作部２０５から、所定の時間操作情報が入力されなかった場合等に、当該操作部２０５とサーバ１０１との接続が中断されたと判断する。
【００２５】
テーブル管理部４０３は、例えば、ユーザの対応する操作部２０５への指示等に応じて、割当テーブルの内容を設定、変更する。具体的には、例えば、図６に示すように、テーブル管理部４０３は、コントローラポート４０４のポート１Ｐに操作部識別情報（操作部ＩＤ）Ａが関連付けて記憶するよう割当テーブルを設定したり、その後の、更なるユーザの対応する操作部２０５への指示等に応じて、コントローラポート４０４のポート１Ｐに操作部識別情報Ｂを関連付けて記憶するように変更する等である。なお、ユーザの指示の他、あらかじめ割当テーブルを変更するルールを記憶しておき、当該ルールに応じて、テーブル管理部４０３が割当テーブルを変更するように構成してもよい。
【００２６】
実行部４０５は、プログラム記憶部４０７に記憶されたゲームプログラムを、コントローラポート４０４に入力された各操作情報に応じて実行する。ここで、実行部４０５とコントローラポート４０４は、当該ゲームプログラムを対象としたゲーム機器のエミュレータ４０６やシミュレータにより実現される。または、実行部４０５とコントローラポート４０４は、当該ゲーム機器自体で構成してもよい。
【００２７】
プログラム記憶部４０７は、１または複数のゲームプログラムを記憶する。そして、実行部４０５は、例えば、ユーザが選択したゲームプログラムをプログラム記憶部４０７から取得し、実行する。なお、上記エミュレータ４０６等により再現されるゲーム機器のメモリやレジスタの値を含むスナップショットデータを、例えば記憶部２０３や外部のデータベースに記憶しておき、実行部４０５が当該スナップショットデータを用いて対応するゲームプログラムを実行するようにしてもよい。この場合、例えば、ゲームプログラムの所定の時点、例えば、ある所定のステージやあるキャラクターが登場した時点等、からゲームプログラムを実行することができる。
【００２８】
コントローラポート４０４は、エミュレータ４０６やシミュレータにより再現されるゲーム機器のコントローラポート４０４、ゲーム機器自体が実装される場合は、当該ゲーム機器のコントローラポート４０４に相当する。よって、例えば、コントローラポート４０４は、ゲームプログラムのプレイヤー１についてのコントローラ１（第１の操作部２０５）が接続される１Ｐポート、ゲームプログラムのプレイヤー２についてのコントローラ２（第２の操作部２０５）が接続される２Ｐポート等、各操作部２０５の各操作情報が入力される各ポートを有する。なお、当該各操作部２０５からの各操作情報は、ゲームプログラムがあらかじめ想定している各操作情報に対応するようにあらかじめ設定する。
【００２９】
実行制御部４０８は、実行部４０５によるゲームプログラムの開始や終了を制御する。具体的には、例えば、ユーザの操作部２０５へのゲームの開始指示に応じて、ゲームプログラムの実行を開始したり、接続状況監視部４０２により、ゲームプレイ中のあるユーザに対応する操作部２０５との接続が中断されたと判断された場合には、当該ユーザに代わるユーザが設定されるまで、実行部４０５を停止する等である。また、実行制御部４０８は、後述する実行状況検出部４０９により、例えばゲームの終了画面等が認識されることで、ゲームの終了が検出された場合には、実行部４０５によるゲームプログラムの実行を終了するようにしてもよい。
【００３０】
実行状況検出部４０９は、ゲームの進行における所定の場面（所定のゲームの実行状況）、例えば、後述する割当テーブルに基づき、あるゲームにおけるステージ１からステージ２への移行した場合や、格闘ゲームにおいてあるキャラクターが倒された場合に当該キャラクターから他のキャラクターへの移行した場合、における画像情報、音声情報等を検出する。
【００３１】
具体的には、実行状況検出部４０９は、例えば、公知の画像認識技術により、あるゲームのステージがステージ１からステージ２に移行した場合に表示される画像、格闘ゲームにおいてあるキャラクターが登場または倒され次のキャラクターが表示される画像を、予め定められた種々の場面を検出する。
【００３２】
なお、上記画像認識技術の他、例えば、音声認識により所定の場面における音声を認識することで、当該所定の場面を認識してもよい。更に、所定の場面におけるエミュレータ４０６やシミュレータにより再現されるゲーム機器のメモリ、レジスタ、プログラムカウンタ等の値に基づいて、または、ゲーム機器が実装される場合には、当該ゲーム機器のメモリ、レジスタ、プログラムカウンタ等の値に基づいて、予め定められた種々の場面を検出するように構成してもよい。
【００３３】
より具体的には、例えば、予め定められた種々の場面における画像情報、音声情報、プログラムカウンタ等の値を、例えば、記憶部２０３やデータベース等に記憶しておき、実行部４０５から取得した画像情報、音声情報、プログラムカウンタ等の値と当該記憶された画像情報、音声情報、プログラムカウンタ等を比較することにより、上記所定の場面を検出するように構成する。
【００３４】
画像情報生成部４１０は、例えば、ゲームプログラムのプレイ画面に後述するコントローラ割り当てウィンドウやあるユーザに対応する操作部２０５との接続が中断されたことを示すウィンドウを重ねて表示するための画像情報を生成する。なお、画像情報生成部４１０は、上記ウィンドウの他、当該ゲームプログラムを現在プレイしているユーザを識別する情報、例えば、ユーザ名等、を上記プレイ画面に表示するための画像情報を生成してもよい。この場合、例えば、当該ゲームプログラムをプレイしているユーザや観戦しているユーザは、後述するようなユーザの変更や現在プレイしているユーザを把握することができる。
【００３５】
画像情報送信部４１１は、実行部４０５により生成されたゲームの画像情報や、画像情報生成部４１０により生成される上記画像情報を対応する各端末１０３に送信する。なお、画像情報送信部４１１は、当該画像情報を圧縮して対応する各端末１０３に送信してもよい。また、当該画像情報には、音声情報等が含まれてもよい。
【００３６】
割当部４１２は、割当テーブル記憶部４１３に記憶された割当テーブルに基づいて、上記操作情報取得部４０１で取得された各操作部２０５からの操作情報をコントローラポート４０４の各ポートに入力する。具体的には、例えば、割当テーブル記憶部４１３は、図６に示すように、コントローラポート４０４の各ポートを識別するポートＩＤと各操作部を識別する操作部ＩＤを関連付けた割当テーブルを記憶する。そして、割当部４１２は、当該割当テーブルに基づいて、各操作部２０５からの操作情報をコントローラポート４０４の各ポートに入力する。なお、各操作部２０５からの各操作情報は、所定期間毎に取得されるとともに、メモリ等の記憶手段（例えば記憶部１０５等）に保持され、当該記憶手段に保持された各操作部からの各操作情報がコントローラポート４０４に入力されるように構成してもよい。この場合、例えば、ゲームプログラムにおいて１フレーム期間毎に取得される操作情報により操作対象が操作等されるように設計されている場合、サーバ１０１における各操作部２０５からの各操作情報の取得が１フレーム期間よりも長い期間毎に行われる場合やネットワークの不具合等により操作情報のサーバ１０１における取得が遅延した場合等においても、当該記憶手段に保持された各操作情報を用いて、ゲームプログラムを実行することが可能となる。
【００３７】
例えば、図６の例を用いて説明すると、割当部４１２は、コントローラポート４０４のポート１Ｐに操作部ＩＤ、Ａの操作部２０５からの操作情報を出力し、コントローラポート４０４のポート２Ｐに操作部ＩＤ、Ｂの操作部２０５からの操作情報を出力する。なお。ポート３Ｐ及び４Ｐについても同様であるので、説明を省略する。このように構成することで、割当テーブルに基づいて、コントローラ割り当て（各操作部２０５の各ポートへの割り当て）を設定または変更することができる。
【００３８】
また、割当テーブル記憶部４１３は、上記所定の実行状況を識別する実行状況ＩＤ、ポートＩＤ及び操作部ＩＤを関連付けた割当テーブルを記憶してもよい。具体的には、図７Ａまたは図７Ｂに示の例を用いて説明する。なお、図７Ａは、例えば、当該ゲームプログラムが１のプレイヤーでプレイされるブロックくずしゲームの場合についての割当テーブルの一例、図７（Ｂ）が、例えば、当該ゲームプログラムが２のプレイヤーでプレイされる格闘ゲームの場合についての割当テーブルの一例を示すものとする。
【００３９】
図７Ａに示した割当テーブルにおいては、実行状況ＩＤ、ａ１について、ポートＩＤ、１Ｐ、及び、操作部ＩＤとしてＡ、実行状況ＩＤ、ａ２について、ポートＩＤ、１Ｐ、及び操作部ＩＤとしてＢが関連付けられている。なお、実行状況ＩＤがａ３以下については、同様であるので、説明を省略する。また、実行状況ＩＤは、例えば各ステージに対応しているものとする。具体的には、例えば、各実行状況ＩＤは、各ステージが開始される際の画像情報やプログラムカウンタの値等に関連付けられているものとする。
【００４０】
この場合、割当部４１２は、実行状況検出部４０９により、実行状況ＩＤに対応したステージが開始されたことが検出されると、割当テーブルに基づいて、操作情報取得部４０１で取得された各操作情報の出力のコントローラの各ポートへの割り当てを変更する。
【００４１】
具体的には、例えば、図７Ａの場合において、例えば、実行状況ＩＤ、ａ１乃至ａ４がそれぞれ第１ステージから第４ステージに対応しているとする。この場合、割当テーブルは実行状況ＩＤ、ａ１乃至ａ４の順に、ポートＩＤとして１Ｐ及び操作部ＩＤとしてＡ、Ｂ、Ａ、Ｂを関連付けて記憶しているので、割当部４１２は、第１ステージで操作部ＩＤがＡに対応する操作部２０５の操作情報を１Ｐのポートに出力し、第２ステージが開示されると、第２ステージで操作部ＩＤがＢに対応する操作部２０５の操作情報を１Ｐのポートに出力する。第３ステージ以降は同様であるので説明を省略する。
【００４２】
なお、上記においては、各操作部ＩＤは各ユーザＩＤに関連付けられているものとする。また、上記においては、実行状況ＩＤは、各ステージに対応するものとして説明したが、各プレイヤーが操作する各キャラクターや、コースを周回するレースゲーム等の場合において各周に対応する等その他の情報に対応していてもよい。
【００４３】
上記のように構成することで、例えば、プログラム記憶部４０７に記憶されているゲームプログラムが１のプレイヤーのみでプレイされるよう作成されていたとしても、ステージ毎に異なるユーザがプレイできるようにする等ゲームプログラムには含まれていない新たな楽しみ方を付加することができる。なお、上記においてどのステージをどのユーザがプレイするか、つまり、どのステージにつきどの操作部２０５の操作情報をどのポートに割り当てるか、については、例えば、各ユーザがチャット機能等を用いて、あらかじめ設定し、これに応じて、上記のような割当テーブルが記憶されるようにすればよい。
【００４４】
また、図７（Ｂ）に示した割当テーブルにおいては、各ポートＩＤについて、複数の実行状況ＩＤ及び複数の操作部ＩＤが関連付けて記憶されている。具体的には、例えば、図７（Ｂ）に示すように、ポートＩＤ、１Ｐについて、実行状況ＩＤ、ｂ１乃至ｂ４、及び、操作部ＩＤ、Ａ１乃至Ａ４が、ポートＩＤ、２Ｐについて、実行状況ＩＤ、ｃ１乃至ｃ４、及び、操作部ＩＤ、Ｂ１乃至Ｂ４が関連付けて記憶されている。また、実行状況ＩＤ、ｂ１乃至ｂ４には、プレイヤーが担当するキャラクターに関連する情報が対応付けられている。具体的には、例えば、実行状況ＩＤ、ｂ１は、あるキャラクターが登場する際の画像情報やプログラムカウンタの値、実行状況ＩＤ、ｂ２は、当該キャラクターが倒されて次のキャラクターが登場する際の画像情報やプログラムカウンタの値が関連付けられている。
【００４５】
これにより、実行状況検出部４０９が、例えば、上記画像情報等と、実行部４０５から取得される画像情報等とを比較することにより、キャラクターが登場した（キャラクターが変更した）ことを検出し、これに応じて、各操作部２０５からの各操作情報が出力される各ポートへの割当を変更することができる。これにより、例えば、ゲームプログラムが２のプレイヤーで対戦プレイされることを想定して作成されている場合であっても、キャラクター毎に当該キャラクターを操作するユーザを異ならせること等により、より多くの人数で対戦プレイする等が可能となる。
【００４６】
なお、どのキャラクターをどのユーザが担当するか、つまり、どのキャラクターにつきどの操作部２０５からの操作情報をどのポートに割り当てるか等、については、例えば、ゲームの開始前に各ユーザが、チャット機能等を用いてあらかじめ設定し、上記のような割当テーブルが設定されるように構成すればよい。また、上記に示したサーバ１０１の構成は一例であって、これに限定されるものではない。例えば、例えばサーバ１０１をいわゆるクラウドサービスのような、互いに通信可能に接続される複数のアプリケーションサーバ、データベースサーバ、ストレージデバイス等を用いた分散コンピューティング環境に基づいて実現してもよい。
【００４７】
次に、図８を用いて、ゲームプログラムが４のプレイヤーでプレイされるゴルフゲームである場合の例を用いて、本実施の形態における情報処理システムの処理のフローの他の一例について説明する。具体的には、割当テーブルが上記図６で示したように設定されている場合であって、当該ゴルフゲームのプレイ中に、例えば、操作部２０５識別情報Ａで識別される操作部２０５とサーバ１０１との接続が中断された場合の例を用いて説明する。なお、図６で示した割当テーブルは、上述のように、４のユーザ（ユーザＡ乃至Ｄと称する）にそれぞれ対応する操作部識別情報Ａ乃至Ｄで識別される操作部２０５からの各操作情報がそれぞれコントローラポート４０４の各ポートに割り当てられるための割当テーブルを示す。
【００４８】
例えば、操作部識別情報Ａで識別される操作部２０５からのゲーム開始指示により、実行部４０５は、プログラム記憶部４０７からゴルフゲームプログラムに保持されたゴルフゲームプログラムの実行を開始する（Ｓ１０１）。なお、ここでは、操作部識別情報Ａで識別される操作部２０５に対応するユーザＡがゲーム開始指示するとして説明したが、その他の操作部２０５に対応する他のユーザ、例えば、あらかじめ代表として設定されたユーザ、がゲーム開始指示するようにしてもよい。また、このとき、接続状況監視部４０２は、操作部識別情報Ａ乃至Ｄに対応する各操作部２０５とサーバ１０１との接続状況の監視を開始する（Ｓ１０２）。
【００４９】
そして、接続状況監視部４０２が、サーバ１０１とある操作部２０５との接続が中断されたと判断した場合には、画像情報生成部４１０は、例えば，図９Ａに示すような接続が中断された操作部を特定するとともに当該操作部との接続が中断されたことを示す中断ウィンドウを表示するための画像情報をゲームのプレイ画面に重畳した重畳画像を生成し、画像情報送信部４１１は、当該重畳画像を対応する端末１０３に送信する（Ｓ１０３）。具体的には、例えば、図９Ａに示す場合、操作部２０５とサーバ１０１との接続が中断されているので、他のユーザＢ乃至Ｄに対応する各操作部２０５に当該重畳画像を送信する。そして、当該各端末１０３は、当該重畳画像を表示する。
【００５０】
次に、画像情報生成部４１０は、例えば図９（Ｂ）に示すような、各操作部の各ポートへの割り当てを変更するためのコントローラ割り当てウィンドウを表示するための画像情報をゲームのプレイ画面に重畳した重畳画像を生成し、画像情報送信部４１１は、当該重畳画像を対応する端末１０３に送信する（Ｓ１０４）。具体的には、例えば、図９（Ｂ）に示す場合、例えば、上記のようにユーザＡとの接続が中断されているため、プレイヤー１Ｐに対応するユーザは「なし」と表示されている。
【００５１】
次に、接続が維持されているユーザ、例えばユーザＢ乃至Ｄのいずれかが、対応する操作部２０５を用いて、割り当てを変更するよう、各操作部２０５を介して、操作指示する（Ｓ１０５）。具体的には、例えば、図９（Ｂ）に示すように、ユーザＢが、対応する操作部２０５を用いて、コントローラ割り当てウィンドウに含まれる編集ボタン画像をクリック等することにより、１ＰにもユーザＢを割り当てる。図９（Ｃ）は、このようにして、コントローラ１ＰにユーザＢが割り当てられた様子を示す。
【００５２】
また、このとき、図１０Ａに示すように、テーブル管理部４０３は、割当テーブル記憶部４１３に記憶されている割当テーブルのポートＩＤが１Ｐに対応する操作部識別情報を、ユーザＢに変更する。なお、上記においては、具体例として、ユーザＢがコントローラ１ＰにユーザＢを割り当てる場合について説明したが、他のユーザがユーザＢまたはその他のユーザを割り当ててもよい。また、複数のユーザから管理者を設定し、当該ユーザのみが上記のような割り当てを行えるように構成してもよい。この場合、当該管理者は、システムがあらかじめ設定された規則等に従って設定するよう構成してもよいし、当該複数のユーザがチャット機能等を用いて設定できるように構成してもよい。
【００５３】
または、例えば、図９（Ｂ）において、接続が維持されている操作部２０５を操作するユーザ、ユーザＢ乃至Ｄのいずれか、がコントローラ割り当てウィンドウに含まれる募集ボタン画像を対応する操作部２０５を用いてクリック等することにより、現在当該ゴルフゲームをプレイしていないユーザ（例えばユーザＥ）が、対応する操作部２０５を用いて、当該ゴルフゲームのプレイヤー１Ｐとして参加できるようにしてもよい。図９（Ｄ）は、このようにして、１ＰにユーザＥが割り当てられた様子を示す。例えば、ユーザＥは、当該ユーザＡ乃至Ｄのプレイの様子を観戦しているユーザであってもよいし、対戦要求を出して参加可能なゲームを探している状態として登録等しているユーザであってもよい。
【００５４】
また、このとき、図１０（Ｂ）に示すように、テーブル管理部４０３は、割当テーブル記憶部４１３に記憶されている割当テーブルのポートＩＤが１Ｐに対応する操作部識別情報を、ユーザＥが操作する操作部２０５の識別情報である識別情報Ｅに変更する。
【００５５】
上記のように、割当テーブルが変更された後、実行部４０５は、ゲームを再開する（Ｓ１０６）。このとき、割当部４１２は、上記変更された割当テーブルに基づいて、各操作部２０５からの操作情報をコントローラポート４０４の各ポートに入力する。その後、Ｓ１０３乃至Ｓ１０６の処理を繰り返す。なお、ここで、当該ゲームプログラムの実行中にも、各プレイヤーに割り当てられているユーザを識別するための情報、例えば、ユーザ名等が、当該ゲームプログラムをプレイしているユーザや観戦しているユーザに対応した端末１０３の表示部２０４に表示されるように構成してもよい。この場合、例えば、当該ゲームプログラムをプレイしているユーザや観戦しているユーザは、ユーザの変更や現在プレイしているユーザを把握することができる。
【００５６】
上記のように、例えば、プレイを継続できなくなったユーザまたはプレイの継続を所望しなくなったユーザに代えて、他のユーザがプレイを継続することができる。具体的には、例えば、図１０Ａに示した場合、操作ＩＤ、Ａの操作部２０５からの操作情報から、操作ＩＤ、Ｂの操作情報を、ポート１Ｐに割り当てることで、プレイヤー１を担当していたユーザＡに代えて、ユーザＢがプレイヤー１と２を担当することができる。また、例えば、図１０（Ｂ）に示した場合、操作ＩＤ、Ａの操作部２０５からの操作情報から、操作ＩＤ、Ｅの操作情報を、ポート１Ｐに割り当てることで、プレイヤー１を担当していたユーザＡに代えて、ユーザＥがプレイヤー１を担当することができる。
【００５７】
上記のように構成することで、例えば、複数人で対戦プレイを行っている間に、１のユーザがオフライン等となりゲームの継続が困難になった場合、または当該１のユーザがゲームの継続を希望しなくなった場合であっても、割当テーブルの内容を変更して、他のユーザが当該１のユーザのプレイを引き継ぐことが可能となる。
【００５８】
なお、上記に示した処理のフローは一例であって、これに限定されるものではない。例えば、ユーザの指示に代えて、接続状況監視部４０２が、あるポートと１の操作部２０５との接続が中断されたと判断した場合には、あらかじめ設定された操作部２０５が当該ポートに接続されていた操作部２０５に代えて接続される等、ユーザの指示なしに、操作部２０５とポートとの割り当てが変更されるように構成してもよい。
【００５９】
次に、プログラム記憶部４０７に記憶されたゲームプログラムが１のプレイヤーでプレイされるブロックくずしゲームや、２のプレイヤーで対戦プレイされる格闘ゲームである場合を用いて、本実施の形態における情報処理システムの処理のフローの他の一例について説明する。
【００６０】
まず、上記のように、ゲームの開始前に、どのステージをどのユーザがプレイするかや、どのキャラクターについてどのユーザが担当するか等を、各ユーザが選択することにより、割当テーブル記憶部４１３は、例えば上述のような図７Ａ及び７Ｂに示すような割当テーブルを記憶している。
【００６１】
ゲームが開始されると、実行状況検出部４０９は、所定の実行状況の検出を開始する。上述のように、当該実行状況は、実行状況ＩＤに関連付けられている。例えば、図７Ａにおいては、ステージ１が実行状況ＩＤ、ａ１で、ステージ２が実行状況ＩＤ、ａ２等に対応し、図７Ｂにおいては、最初のキャラクターが実行状況ＩＤ、ｂ１に、次のキャラクターが実行状況ＩＤ、ｂ２等に対応している。
【００６２】
そして、実行状況検出部４０９により所定の実行状況（実行状況ＩＤに対応）が検出されると、割当テーブルに記憶された実行状況ＩＤに関連付けて記憶されている操作部ＩＤを有する操作部２０５からの操作情報を、関連付けて記憶されているポートＩＤで示されるポートへ入力するように変更する。
【００６３】
具体的には、図７Ａの例で説明すると、まず、ポートＩＤ、１Ｐで識別されるポートには、操作部ＩＤ、Ａからの操作情報が入力されている。次に、実行状況ＩＤ、ａ２に対応するステージ２に移行した画面を実行状況検出部４０９が画像認識等により検出すると、割当部４１２は、実行状況ＩＤ、ａ２に関連付けて記憶されている操作部ＩＤからの操作情報をポートＩＤ、１Ｐに入力する。以下同様であるので説明を省略する。これにより、例えばステージ１からステージ２に推移した場合に、ゲームプログラムの操作対象の操作を行う操作部を操作部ＩＤ、Ａの操作部から、操作部ＩＤ、Ｂの操作部に変更することができる。つまり、ステージに応じて、ゲームの操作対象の操作を行うユーザを変更することができる。
【００６４】
また、図７Ｂの例で説明すると、まず、ポートＩＤ、１Ｐで識別されるポートには、操作部ＩＤ、Ａ１を有する端末１０３からの操作情報が入力されている。次に、実行状況ＩＤ、ｂ２に対応するキャラクターが登場した画面を実行状況検出部４０９が画像認識等により検出すると、割当部４１２は、実行状況ＩＤ、ｂ２に関連付けて記憶されている操作部ＩＤを有する操作部２０５からの操作情報をポートＩＤ、１Ｐに入力する。以下同様であるので説明を省略する。これにより、例えば実行状況ＩＤ、ｂ１に対応するキャラクターが倒されて実行状況ＩＤ、ｂ２に対応するキャラクターが登場した場合に、ゲームプログラムの操作対象の操作を行う操作部を操作部ＩＤ、Ａ１の操作部から、操作部ＩＤ、Ａ２の操作部に変更することができる。
【００６５】
上記のように、所定の実行状況の検出、例えば、ステージが進んだ場合や最初のキャラクターが倒されて次のキャラクターが登場した場合等、に応じて、当該ゲームをプレイするユーザを、各操作部２０５に入力される各操作情報の各ポートへの割当を変更することで、変更することができる。なお、上記に示した処理のフローは一例であってこれに限定されるものではない。例えば、図７や図１０を用いて説明した処理を組み合わせて用いて、例えば、接続状況及び実行状況に応じて、各操作部の各ポートへの割当を変更する等としてもよい。
【００６６】
なお、本発明は、上記実施の形態に限定されるものではなく、種々の変形が可能である。例えば、上記実施の形態で示した構成と実質的に同一の構成、同一の作用効果を奏する構成又は同一の目的を達成することができる構成で置き換えることができる。
【００６７】
例えば、上記割当テーブルの変更は、上記のように１人用のゲームをステージ毎に交代してプレイする等の他、例えば、師匠に相当するユーザ、及び、弟子に相当するユーザ、をあらかじめ設定しておき、師匠が弟子のプレイ画面を観戦中に、師匠の操作部２０５を弟子の操作部２０５が接続されているポートへ、割当変更を指示することで、師匠が弟子の操作が適切でないと感じた際等にのみ、弟子が操作しているキャラクターを師匠が用いている操作部２０５を用いて操作できる等と構成してもよい。
【００６８】
更に、ゲームプログラムがパズルゲームや、シューティングゲーム等である場合において、随時交代しながらゲームを進めるように構成してもよい。具体的には、例えば、当該割り当ての変更は、上記のように所定のユーザの操作部２０５への指示や所定の場面の検出等に応じて随時交代しながらゲームを進行するように構成すればよい。ここで、ユーザの操作部２０５への指示に応じて交代する場合、割当変更のためのメニュー画面上で割当変更するように構成してもよいし、スムーズに切り換えられるよう、操作部２０５のあるボタンに切換えボタンを割り当てるように構成してもよい。また、例えば、あるユーザがいわゆる１Ｐ（プレイヤー１）としてゲームをプレイしている場合に、別のユーザが対戦申し込みすると、自動的にプレイヤー２としてゲームに参入できるようにしてもよい。この場合、当該別のユーザからの対戦申し込みに応じて、割当テーブルを、例えば、別のユーザが用いている操作部２０５からの操作情報が、ポート２Ｐに割り当てられるように変更するように構成すればよい。なお、この場合、対戦申し込み以前の割当テーブルは、プレイヤー１に対応するユーザが用いている操作部２０５からの操作情報が、ポート１Ｐに割り当てられるように設定されていたものとする。
【００６９】
更に、上記割り当ての変更は、例えばあらかじめ登録された複数のユーザの中で、一定時間毎に、どのユーザが用いる操作部２０５からの操作情報を有効にするか（ポートに割り当てるか）を所定の順番またはランダムで切り換えることができるように構成し、例えば、格闘ゲーム等において、チームやグループ同士等で対戦等できるように構成してもよい。
【００７０】
[変形例１]
次に、変形例１について、説明する。なお、下記において、上記実施の形態と同様である点については説明を省略する。また、下記においては、例えば、主に、実行されるゲームプログラムが、４の操作情報、例えば、１のプレイヤーが４のボタンを用いて操作対象を操作するよう作成されている場合を用いて説明するが、その他の数のボタンやアナログ操作部３０３や加速度センサ等からの操作情報により操作されるよう作成されていてもよい。
【００７１】
本変形例においては、割当テーブル記憶部４１３は、例えば、図１１に示すように、ポートＩＤに関連付けて、操作情報ＩＤ、操作部ＩＤ、入力情報ＩＤを記憶した割当テーブルを記憶する。ここで、操作情報ＩＤとは、ゲームプログラムにおいて想定されている各操作情報を識別するためのＩＤであって、例えばゲームプログラムにおいて１のプレイヤーが４のボタンを用いて操作されるよう作成されている場合、当該４つのボタンをそれぞれ識別する情報に相当し、入力情報ＩＤとは、操作部２０５に入力される各入力情報、例えば、上記４のボタンに対応付けられたボタン等をそれぞれ識別するための情報に相当する。
【００７２】
具体的には、例えば、図１１に示すように、ポートＩＤが１Ｐについては、操作情報ＩＤ、ａ乃至ｄ、及び入力情報ＩＤ、ａａ乃至ｄｄが関連付けられ、また、操作情報ＩＤ、ａ及びｂについては、操作部ＩＤ、Ａ及びＢがそれぞれ関連づけられている。なお、ポートＩＤ、２Ｐについても同様であるので説明を省略する。
【００７３】
割当部４１２は、当該割当テーブルに基づき、各入力情報ＩＤで示される各入力情報を、各操作情報ＩＤで示される各操作情報に、割り当てる。具体的には、例えば、図１１に示す場合、ポートＩＤ、１Ｐに入力される操作情報ＩＤ、ａ及びｂで識別される操作情報として、操作部ＩＤがＡで識別される操作部に入力され、入力情報ＩＤ、ａａ及びｂｂで識別される入力情報を割り当てる。また、ポートＩＤ、１Ｐに入力される操作情報ＩＤ、ｃ及びｄで識別される操作情報として、操作部ＩＤがＡで識別される操作部に入力される入力情報ＩＤ、ｃｃ及びｄｄで識別される入力情報を割り当てる。
【００７４】
このように構成することで、当該ゲームプログラムでプレイヤー１が操作する複数の操作情報を、複数のユーザで分担させることができる。具体的には、例えば、操作情報ＩＤ、ａ及びｂで示される各操作情報がゲームプログラムのプレイヤー１のボタンａ、ｂへ入力される情報に対応し、例えば、操作情報ＩＤ、ｃ及びｄで示される操作情報がゲームプログラムのプレイヤー１のボタンｃ、ｄへ入力される情報に対応する場合、当該ボタンａ、ｂをユーザＡが担当し、当該ボタンｃ、ｄをユーザＢが担当するように構成することができる。なお、当該ゲームプログラムのプレイヤー２についても同様であるので、説明を省略する。また、各操作部ＩＤは、各ユーザＩＤに関連付けられており、各ユーザは対応する各操作部２０５を用いて、入力情報ＩＤで識別される各入力情報を入力する。
【００７５】
次に、上記の例を用いて、本変形例における情報処理システムの処理のフローの一例について説明する。まず、例えば、上記のように、ゲームの開始前に、ゲームのどのプレイヤー（プレイヤー１または２）をどのユーザが担当するか、及び、どのプレイヤーのどのボタンをどのユーザが担当するか、について、各ユーザが選択することにより、割当テーブル記憶部４１３は、上記図１１に示すような割当テーブルを記憶する。
【００７６】
そして、ゲームが開始されると、割当部４１２は、上記のように設定された割当テーブルにしたがって、各操作部から入力された各入力情報識別ＩＤで識別される各識別情報を、各操作情報ＩＤで識別される各操作情報として割り当てる。具体的には、図１１に示した例を用いて説明すると、上記のように、コントローラポート４０４の１Ｐポートには、操作部ＩＤがＡとＢに相当する各操作部２０５からの情報が入力される。具体的には、１Ｐポートには操作情報ＩＤ、ａとｂの各操作情報として、操作部ＩＤがＡの操作部２０５に入力される入力情報ＩＤ、ａａ及びｂｂで示される各入力情報が入力され、ｃとｄの各操作情報として、操作部ＩＤがＡの操作部２０５に入力される入力情報ＩＤ、ｃｃ及びｄｄで示される各入力情報が入力される等である。
【００７７】
上記のように構成することで、複数の操作部２０５で入力された各入力情報をコントローラポート４０４の１のポートに入力される各操作情報として、入力することができる。したがって、例えば、ある操作対象の操作に使用される複数のボタン等をユーザ毎に分けて操作することが可能となる。具体的には、例えば、当該ゲームプログラムがシューティングゲームである場合、ユーザが操作する戦闘機の方向操作（例えば、ボタンａとｂに相当）については、ユーザＡが、２種類のミサイルの発射ボタン（例えば、ボタンｃとｄに相当）については、ユーザＢが担当する等が可能となる。これにより、例えば、１のプレイヤーを想定して作成されたゲームプログラムであっても、複数のプレイヤーが当該ゲームで用いられる１のコントローラに含まれる複数のボタン等をユーザ毎に（操作部毎に）分担してプレイするようないわゆる協力プレイ、分担プレイを実現することができる。
【００７８】
なお、本発明は、上記実施の形態または変形例１に限定されるものではなく、種々の変形が可能である。例えば、上記実施の形態または変形例１で示した構成と実質的に同一の構成、同一の作用効果を奏する構成又は同一の目的を達成することができる構成で置き換えることができる。例えば、上記実施の形態または変形例１を組み合わせて、例えば、ゲームの途中でのユーザの指示に応じて、または、上記のような所定の場面に応じて、例えば、ステージ毎、キャラクター毎に、または、所定の時間毎に、操作部２０５に入力される各入力情報の操作情報への割り当てを変更または設定等できるように構成してもよい。
【００７９】
[変形例２]
次に、変形例２について、説明する。なお、下記において、上記実施の形態または変形例１と同様である点については説明を省略する。また、変形例１と同様に、例えば、主に、実行されるゲームプログラムが、４の操作情報、例えば、１のプレイヤーが４のボタンを用いて操作対象を操作するよう作成されている場合を用いて説明するが、その他の数のボタンやアナログ操作部３０３や加速度センサ等からの操作情報により操作されるよう作成されていてもよい。
【００８０】
本変形例においては、変形例１と同様に、割当テーブル記憶部４１３は、例えば、図１２に示すように、ポートＩＤに関連付けて、操作情報ＩＤ、操作部ＩＤ、入力情報ＩＤを記憶した割当テーブルを記憶するが、本変形例においては、１の操作情報ＩＤに複数の操作部ＩＤが関連付けられている点が異なる。
【００８１】
具体的には、例えば、図１２に示すように、ポートＩＤ、１Ｐの操作情報ＩＤ、ｃについて、２の操作部ＩＤ、ＡとＢ、操作情報ＩＤ、ｄについて２の操作部ＩＤ、ＡとＢが関連付けられて記憶されている。
【００８２】
割当部４１２は、当該割当テーブルに基づき、各入力情報ＩＤで示される各入力情報を、各操作情報ＩＤで示される各操作情報に割り当てる。具体的には、例えば、図１２に示す場合、上記変形例１で説明したように、ポートＩＤ、１Ｐに入力される操作情報ＩＤ、ａ及びｂで識別される各操作情報として、操作部ＩＤがＡで識別される操作部に入力される入力情報ＩＤ、ａａ及びｂｂで示される入力情報を入力する。一方、ポートＩＤ、１Ｐに入力される操作情報ＩＤ、ｃ及びｄで識別される操作情報として、操作部ＩＤがＡ及びＢで識別される操作部に入力される入力情報ＩＤ、ｃｃ及びｄｄで示される入力情報を入力する。
【００８３】
このように構成することで、当該ゲームプログラムにおいてプレイヤー１が入力するよう作成された操作情報を、複数のユーザで分担させることができることに加え、プレイヤー１が入力する１または全部の入力情報を、異なるユーザに重複して分担させることができる。具体的には、上記の例の場合、例えば、操作情報ＩＤ、ｃ及びｄで示される操作情報がゲームプログラムのプレイヤー１のボタンｃ、ｄへ入力される情報に対応する場合、当該ボタンｃ、ｄをユーザＡ及びＢの両者が担当するように構成することができる。なお、当該ゲームプログラムのプレイヤー２についても同様であるので、説明を省略する。
【００８４】
次に、上記の例を用いて、本変形例における情報処理システムの処理のフローの一例について説明する。まず、例えば、上記のように、ゲームの開始前に、ゲームのどのプレイヤー（例えば、プレイヤー１または２）をどのユーザが担当するか、及び、どのプレイヤーのどのボタンをどのユーザが担当するか、について、各ユーザが選択することにより、割当テーブル記憶部４１３は、上記図１２に示すような割当テーブルを記憶する。
【００８５】
そして、ゲームが開始されると、割当部４１２は、上記のように設定された割当テーブルにしたがって、各操作部２０５から入力された各入力情報識別ＩＤで識別される各識別情報を、各操作情報ＩＤで識別される各操作情報として割り当てる。具体的には、図１２に示した例を用いて説明すると、上記のように、コントローラポート４０４の１Ｐポートには、操作部ＩＤがＡとＢに相当する各操作部２０５からの情報が入力される。具体的には、１Ｐポートには操作情報ＩＤ、ａとｂの各操作情報として、操作部ＩＤがＡの操作部２０５に入力される入力情報ＩＤ、ａａ及びｂｂで示される各入力情報が入力され、ｃとｄの各操作情報として、操作部ＩＤがＡ及びＢに対応する操作部２０５に入力される入力情報ＩＤ、ｃｃ及びｄｄで示される各入力情報が入力される等である。
【００８６】
上記のように構成することで、複数の操作部２０５からの操作情報をコントローラポート４０４の１のポートに、重複して入力することができる。したがって、例えば、当該ゲームプログラムがシューティングゲームである場合、自分の戦闘機の方向操作（例えば、ボタンａとｂに相当）については、ユーザＡが、２種類のミサイルの発射ボタン（例えば、ボタンｃとｄに相当）については、ユーザＡとＢの両者が担当する等が可能となる。これにより、例えば、発射ボタンの連打等が望まれるような場合には、ユーザＡとＢのボタンｃ、ｄの押し下げによる入力情報を重複して入力することにより、いわゆる協力プレイ、分担プレイ等を実現することが可能となる。例えば、クイズの早押しに関するゲームである場合には、同時にグループ毎の複数のユーザからの入力を有効とすることで、グループ毎のいわゆる協力、対戦プレイを実現することができる。
【００８７】
なお、本発明は、上記実施の形態または変形例１または２に限定されるものではなく、種々の変形が可能である。例えば、上記実施の形態または変形例１または２で示した構成と実質的に同一の構成、同一の作用効果を奏する構成又は同一の目的を達成することができる構成で置き換えることができる。例えば、上記実施の形態、変形例１及び２を組み合わせて、例えば、ゲームの途中でのユーザの指示に応じて、または、上記のような所定の場面に応じて、例えば、ステージ毎、キャラクター毎に、または、所定の時間毎に、操作部に入力される各入力情報の操作情報への割り当てを、上記のような割り当てが重複する場合も含めて、変更または設定等できるように構成してもよい。更に、上記においては、サーバ１０１及び各端末１０３等で構成される情報処理システムについて説明したが、端末１０３自体が、上記サーバ１０１の機能の一部または全部、例えば、上記実行部４０５、コントローラポート４０４、割当部４１２等を有することにより、当該端末１０３に接続される複数の端末１０３の当該コントローラポート４０４への割り当てを上記のように動的に変更できるように構成してもよい。
【符号の説明】
【００８８】
１０１  サーバ、１０２  ネットワーク、１０３  端末、１０４、２０１  制御部、１０５、２０３  記憶部、１０６、２０２  通信部、２０４  表示部、２０５  操作部、３０１  方向キー、３０２  複数のボタン、３０３  アナログ操作部、４０１  操作情報取得部、４０２  接続状況監視部、４０３  テーブル管理部、４０４  コントローラポート、４０５  実行部、４０７  プログラム記憶部、４０８  実行制御部、４０９  実行状況検出部、４１０  画像情報生成部、４１１  画像情報送信部、４１２  割当部、４１３  割当テーブル記憶部。
【図１】
0005398692.tif 000002
【図２】
0005398692.tif 000003
【図３】
0005398692.tif 000004
【図４】
0005398692.tif 000005
【図５】
0005398692.tif 000006
【図６】
0005398692.tif 000007
【図７Ａ】
0005398692.tif 000008
【図７Ｂ】
0005398692.tif 000009
【図８】
0005398692.tif 000010
【図９Ａ】
0005398692.tif 000011
【図９Ｂ】
0005398692.tif 000012
【図９Ｃ】
0005398692.tif 000013
【図９Ｄ】
0005398692.tif 000014
【図１０Ａ】
0005398692.tif 000015
【図１０Ｂ】
0005398692.tif 000016
【図１１】
0005398692.tif 000017
【図１２】
0005398692.tif 000018