(57)【要約】    【構成】  ゲームシステム１０は、複数のゲーム装置１２を含み、マッチングサーバ１６は、ゲーム装置１２からのリクエストに応じて、プレイヤのゲーム装置（Ａ、Ｂ）をマッチングするとともに、ゲームマスタのゲーム装置（Ｃ−Ｅ）をマッチングする。ゲームプレイ中では、ゲーム装置（Ａ、Ｂ）への操作入力に応じた操作データは、ゲーム装置（Ｃ−Ｅ）に送信され、ゲーム装置（Ｃ−Ｅ）でゲーム処理が実行される。ゲーム処理の結果データは、ゲーム装置（Ａ、Ｂ）に送信される。データセーブするとき、暗号化されたゲームデータが、ゲーム装置（Ｃ−Ｅ）からゲーム装置（Ａ、Ｂ）に送信され、セーブされる。    【効果】  ゲームサーバを設けずに、ゲーム処理の負荷を分散することができる。【選択図】  図１
2013111437.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上でそれぞれ接続可能な同種の第１ゲーム装置、第２ゲーム装置および第３ゲーム装置を含み、前記第１ゲーム装置と前記第２ゲーム装置との間で第１通信ゲームをプレイする、ゲームシステムであって、
前記第１ゲーム装置は、
第１ユーザの入力に応じて、当該入力に対応する第１入力データを前記第３ゲーム装置に送信する第１入力データ送信手段を備え、
前記第２ゲーム装置は、
第２ユーザの入力に応じて、当該入力に対応する第２入力データを前記第３ゲーム装置に送信する第２入力データ送信手段を備え、
前記第１通信ゲームをプレイしない前記第３ゲーム装置は、
前記第１入力データ送信手段によって送信された第１入力データおよび前記第２入力データ送信手段によって送信された第２入力データに基づいてゲーム処理を実行する第１ゲーム処理実行手段を備える、ゲームシステム。
【請求項２】
複数のゲーム装置の中から第１ゲーム装置、第２ゲーム装置および第３ゲーム装置をマッチングする第１マッチング手段をさらに備える、請求項１記載のゲームシステム。
【請求項３】
少なくとも前記第３ゲーム装置と接続可能な第４ゲーム装置をさらに含み、
前記第１マッチング手段は、少なくとも前記第３ゲーム装置および第４ゲーム装置をマッチングし、
前記第３ゲーム装置は、前記第１ゲーム処理実行手段によって前記ゲーム処理を実行している場合に、前記第１ゲーム装置および前記第２ゲーム装置とは異なる第４ゲーム装置との間で第２通信ゲームをプレイする、請求項２記載のゲームシステム。
【請求項４】
少なくとも前記第１ゲーム装置と接続可能な第５ゲーム装置および第６ゲーム装置をさらに含み、前記第５ゲーム装置と前記第６ゲーム装置との間で第３通信ゲームをプレイし、
前記第５ゲーム装置は、
第３ユーザの入力に応じて、当該入力に対応する第３入力データを前記第１ゲーム装置に送信する第３入力データ送信手段を備え、
前記第６ゲーム装置は、
第４ユーザの入力に応じて、当該入力に対応する第４入力データを前記第１ゲーム装置に送信する第４入力データ送信手段を備え、
少なくとも前記第３通信ゲームをプレイしない前記第１ゲーム装置は、
前記第３入力データ送信手段によって送信された第３入力データおよび前記第４入力データ送信手段によって送信された第４入力データに基づいてゲーム処理を実行する第２ゲーム処理実行手段をさらに備える、請求項２または３記載のゲームシステム。
【請求項５】
複数の前記第３ゲーム装置をさらに含み、
前記複数の第３ゲーム装置の各々は、
前記第１ゲーム処理実行手段によって実行されたゲーム処理の結果データを前記第１ゲーム装置および前記第２ゲーム装置に送信する結果データ送信手段をさらに備え、
前記第１ゲーム装置および前記第２ゲーム装置の各々は、
前記複数の第３ゲーム装置の前記結果データ送信手段によって送信された結果データを受信する結果データ受信手段、および
前記結果データ受信手段によって受信された複数の前記結果データのうち、適正な前記結果データを出力装置に出力させる出力制御手段をさらに備える、請求項１ないし４のいずれかに記載のゲームシステム。
【請求項６】
少なくとも３台の前記第３ゲーム装置を含み、
前記出力制御手段は、前記結果データ受信手段によって受信された複数の前記結果データを比較し、等しいデータの数が多い前記結果データを出力させる、請求項５記載のゲームシステム。
【請求項７】
前記第３ゲーム装置の控えの第７ゲーム装置をさらに含み、
前記第７ゲーム装置は、
前記第３ゲーム装置の接続が切断された場合に、当該第３ゲーム装置の代わりに、前記第１入力データ送信手段によって送信された第１入力データおよび前記第２入力データによって送信された第２入力データに基づいてゲーム処理を実行する代替ゲーム処理実行手段を備える、請求項１ないし６のいずれかに記載のゲームシステム。
【請求項８】
少なくとも前記第３ゲーム装置と接続可能な暗号化装置をさらに含み、
前記第３ゲーム装置は、
前記第１ゲーム処理実行手段によって実行されたゲーム処理に応じて変化されるゲームデータを前記暗号化装置に送信する第１ゲームデータ送信手段をさらに備え、
前記暗号化装置は、
前記第１ゲームデータ送信手段によって送信されたゲームデータを暗号化する暗号化手段、および
前記暗号化手段によって暗号化された暗号化ゲームデータを前記第３ゲーム装置に送信する第１暗号化データ送信手段を備え、
前記第３ゲーム装置は、
前記第１暗号化データ送信手段によって送信された暗号化ゲームデータを前記第１ゲーム装置および前記第２ゲーム装置に送信する第２暗号化データ送信手段をさらに備え、
前記第１ゲーム装置および前記第２ゲーム装置の各々は、
前記第２暗号化データ送信手段によって送信された暗号化ゲームデータを記憶する記憶手段をさらに備える、請求項１記載のゲームシステム。
【請求項９】
ネットワーク上でそれぞれ接続可能な複数の同種のゲーム装置をマッチングする第２マッチング手段をさらに備え、
前記暗号化手段は、前記第１ゲームデータ送信手段によって送信されたゲームデータでゲームプレイする前記第１ゲーム装置、前記第２ゲーム装置および前記第３ゲーム装置の組み合わせが、前記第２マッチング手段によってマッチングされている場合に、当該ゲームデータを暗号化する、請求項８記載のゲームシステム。
【請求項１０】
少なくとも前記第３ゲーム装置と接続可能な復号装置をさらに含み、
前記第１ゲーム装置および前記第２ゲーム装置の各々は、
前記記憶手段によって記憶された暗号化ゲームデータを前記第３ゲーム装置に送信する第３暗号化データ送信手段をさらに備え、
前記第３ゲーム装置は、
前記第３暗号化データ送信手段によって送信された前記暗号化ゲームデータを前記復号装置に送信する第４暗号化データ送信手段をさらに備え、
前記復号装置は、
前記第４暗号化データ送信手段によって送信された前記暗号化ゲームデータを復号する復号手段、および
前記復号手段によって復号されたゲームデータを前記第３ゲーム装置に送信する第２ゲームデータ送信手段をさらに備える、請求項８または９記載のゲームシステム。
【請求項１１】
前記復号手段は、前記第４暗号化データ送信手段によって送信された前記暗号化ゲームデータのゲームデータでゲームプレイする前記第１ゲーム装置、前記第２ゲーム装置および前記第３ゲーム装置の組み合わせが、前記第２マッチング手段によってマッチングされている場合に当該暗号化ゲームデータを復号する、請求項１０記載のゲームシステム。
【請求項１２】
前記第１ゲーム処理実行手段は、前記第１入力データ送信手段によって送信された第１入力データ、前記第２入力データ送信手段によって送信された第２入力データおよび前記第２ゲームデータ送信手段によって送信されたゲームデータに基づいて、前記ゲーム処理を実行する、請求項１０または１１記載のゲームシステム。
【請求項１３】
ネットワーク上で同種の第１ゲーム装置および第２ゲーム装置とそれぞれ接続可能であり、当該第１ゲーム装置と当該第２ゲーム装置との間でプレイされる通信ゲームのゲーム処理を当該通信ゲームをプレイせずに実行する、ゲーム装置であって、
前記第１ゲーム装置からの第１入力データおよび前記第２ゲーム装置からの第２入力データに基づいてゲーム処理を実行するゲーム処理実行手段、および
前記ゲーム処理実行手段によって実行されたゲーム処理の結果データを、前記第１ゲーム装置および前記第２ゲーム装置に送信する結果データ送信手段を備える、ゲーム装置。
【請求項１４】
ネットワーク上で同種の第１ゲーム装置および第２ゲーム装置とそれぞれ接続可能であり、当該第１ゲーム装置と当該第２ゲーム装置との間でプレイされる通信ゲームのゲーム処理を当該通信ゲームをプレイせずに実行する、ゲーム装置のゲームプログラムであって、
前記ゲーム装置のコンピュータを、
前記第１ゲーム装置からの第１入力データおよび前記第２ゲーム装置からの第２入力データに基づいてゲーム処理を実行するゲーム処理実行手段、および
前記ゲーム処理実行手段によって実行されたゲーム処理の結果データを、前記第１ゲーム装置および前記第２ゲーム装置に送信する結果データ送信手段として機能させる、ゲームプログラム。
【請求項１５】
ネットワーク上で同種の第１ゲーム装置および第２ゲーム装置とそれぞれ接続可能であり、当該第１ゲーム装置と当該第２ゲーム装置との間でプレイされる通信ゲームのゲーム処理を当該通信ゲームをプレイせずに実行する、ゲーム装置のゲーム制御方法であって、
前記ゲーム装置のコンピュータは、
（ａ）前記第１ゲーム装置からの第１入力データおよび前記第２ゲーム装置からの第２入力データに基づいてゲーム処理を実行し、そして
（ｂ）前記ステップ（ａ）において実行したゲーム処理の結果データを、前記第１ゲーム装置および前記第２ゲーム装置に送信する、ゲーム制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はゲームシステム、ゲーム装置、ゲームプログラムおよびゲーム制御方法に関し、特にたとえば、複数のゲーム装置間でデータのやり取りを行う、ゲームシステム、ゲーム装置、ゲームプログラムおよびゲーム制御方法に関する。
【背景技術】
【０００２】
この種のゲームシステムの一例が特許文献１に開示されている。この特許文献１には、複数のゲーム装置とゲームサーバとを含むゲームシステムにおいて、複数のゲーム装置から入力データがゲームサーバに送信され、ゲームサーバでは、入力データに基づいてゲーム処理を実行することが記載されている。
【特許文献１】特開２０１１−７８６３４［A63F 13/12］
【発明の概要】
【発明が解決しようとする課題】
【０００３】
この特許文献１に開示されたゲームシステムでは、ゲームサーバで集中的にゲーム処理を実行するようになっていた。
【０００４】
それゆえに、この発明の主たる目的は、新規な、ゲームシステム、ゲーム装置、ゲームプログラムおよびゲーム制御方法を提供することである。
【０００５】
また、この発明の他の目的は、ゲームサーバを用意することなく、ゲーム処理の負荷を分散することができる、ゲームシステム、ゲーム装置、ゲームプログラムおよびゲーム制御方法を提供することである。
【課題を解決するための手段】
【０００６】
第１の発明は、ネットワーク上でそれぞれ接続可能な同種の第１ゲーム装置、第２ゲーム装置および第３ゲーム装置を含み、第１ゲーム装置と第２ゲーム装置との間で第１通信ゲームをプレイする、ゲームシステムである。第１ゲーム装置は、第１ユーザの入力に応じて、当該入力に対応する第１入力データを第３ゲーム装置に送信する第１入力データ送信手段を備える。第２ゲーム装置は、第２ユーザの入力に応じて、当該入力に対応する第２入力データを第３ゲーム装置に送信する第２入力データ送信手段を備える。第１通信ゲームをプレイしない第３ゲーム装置は、第１入力データ送信手段によって送信された第１入力データおよび第２入力データ送信手段によって送信された第２入力データに基づいてゲーム処理を実行するゲーム処理実行手段を備える。つまり、第１ゲーム装置および第２ゲーム装置は、ユーザの入力に応じた入力データを第３ゲーム装置に送信するだけであり、第１ゲーム装置と第２ゲーム装置との間でプレイされる第１通信ゲームのプレイヤとして参加していない第３ゲーム装置が、第１通信ゲームのゲーム処理を実行する。
【０００７】
第１の発明によれば、通信ゲームをプレイする第１ゲーム装置および第２ゲーム装置は、入力データを第３ゲーム装置に送信するだけであり、ゲーム処理は第３ゲーム装置で実行されるため、ゲームサーバを用意することなく、ゲーム処理の負荷を分散させることができる。
【０００８】
第２の発明は、第１の発明に従属し、ゲームシステムは、第１マッチング手段をさらに備える。第１マッチング手段は、複数のゲーム装置の中から第１ゲーム装置、第２ゲーム装置および第３ゲーム装置をマッチングする。たとえば、第１ゲーム装置と第２ゲーム装置とは、ゲームレベル（経験値）や総プレイ時間が近似するユーザのゲーム装置同士である。また、第１ゲーム装置および第２ゲーム装置以外のゲーム装置であって、他の２つのグループの通信ゲームの処理を実行するゲーム装置または控えのゲーム装置として割り当てられていないゲーム装置が第３ゲーム装置としてマッチングされる。
【０００９】
第２の発明によれば、第１−第３ゲーム装置は、ゲームシステムに含まれるもののうち、当該第１−第３ゲーム装置ではない第１マッチング手段によって、複数のゲーム装置の中から選択的にマッチングされるので、たとえば、通信ゲームをプレイする度に異なる相手と対戦することができ、そのゲーム処理は不特定のゲーム装置によって実行される。したがって、通信ゲームをプレイする度に、対戦相手が異なるため、通信ゲームの面白味を増大させることができる。また、ゲーム処理を実行する第３ゲーム装置も固定されないため、ゲーム処理の実行可能なゲーム装置を割り当てることができ、処理可能な資源を有効に利用することができる。
【００１０】
第３の発明は、第２の発明に従属し、ゲームシステムは、少なくとも第３ゲーム装置と接続可能な第４ゲーム装置をさらに含む。第１マッチング手段は、少なくとも第３ゲーム装置および第４ゲーム装置をマッチングする。第３ゲーム装置は、第１ゲーム処理実行手段によってゲーム処理を実行している場合に、第１ゲーム装置および第２ゲーム装置とは異なる第４ゲーム装置との間で第２通信ゲームをプレイする。たとえば、第２通信ゲームは、第１通信ゲームと同じ種類または異なる種類の通信ゲームである。
【００１１】
第３の発明によれば、第３ゲーム装置は、第１ゲーム装置と第２ゲーム装置との間で実行される通信ゲームのゲーム処理を実行するとともに、他のゲーム装置との間で通信ゲームをプレイすることができる。
【００１２】
第４の発明は、第２または第３の発明に従属し、ゲームシステムは、少なくとも第１ゲーム装置と接続可能な第５ゲーム装置および第６ゲーム装置をさらに含む。第５ゲーム装置と第６ゲーム装置との間で第３通信ゲームがプレイされる。たとえば、第３通信ゲームは、第１通信ゲームまたは第２通信ゲームと同じ種類または異なる種類の通信ゲームである。第５ゲーム装置は、第３ユーザの入力に応じて、当該入力に対応する第３入力データを第１ゲーム装置に送信する第３入力データ送信手段を備える。第６ゲーム装置は、第４ユーザの入力に応じて、当該入力に対応する第４入力データを第１ゲーム装置に送信する第４入力データ送信手段を備える。少なくとも第３通信ゲームをプレイしない第１ゲーム装置は、第３入力データ送信手段によって送信された第３入力データおよび第４入力データ送信手段によって送信された第４入力データに基づいてゲーム処理を実行する第２ゲーム処理実行手段をさらに備える。つまり、第１通信ゲームをプレイする第１通信ゲーム装置は、第４ゲーム装置と第５ゲーム装置との間でプレイされる第３通信ゲームのゲーム処理を実行する。
【００１３】
第４の発明によれば、或るグループで実行される第１通信ゲームにプレイヤとして参加するゲーム装置は、他のグループで実行される第３通信ゲームにプレイヤとして参加せずに、当該第３通信ゲームのゲーム処理を実行することができる。
【００１４】
第５の発明は、第１ないし第４の発明のいずれかに従属し、ゲームシステムは、複数の第３ゲーム装置をさらに含む。複数の第３ゲーム装置の各々は、第１ゲーム処理実行手段によって実行されたゲーム処理の結果データを第１ゲーム装置および第２ゲーム装置に送信する結果データ送信手段をさらに備える。一方、第１ゲーム装置および第２ゲーム装置の各々は、複数の第３ゲーム装置の結果データ送信手段によって送信された結果データを受信する結果データ受信手段、および結果データ受信手段によって受信された複数の結果データのうち、適正な結果データを出力装置に出力させる出力制御手段をさらに備える。
【００１５】
第５の発明によれば、第１ゲーム装置および第２ゲーム装置は、各第３ゲーム装置から得られた結果データのうち、適正な結果データを出力するので、改変されたゲームデータを用いてゲーム処理を行うような不正行為によって得られた結果データが通信ゲームに反映されるのを防止することができる。
【００１６】
第６の発明は、第５の発明に従属し、ゲームシステムは、少なくとも３台の第３ゲーム装置を含む。第１ゲーム装置および第２ゲーム装置の出力制御手段は、結果データ受信手段によって受信された複数の結果データを比較し、等しいデータの数が多い結果データを出力させる。つまり、多数決により選択（決定）された結果データが出力される。
【００１７】
第６の発明によれば、多数決のような簡単な手法によって不正行為を防止することができる。
【００１８】
第７の発明は、第１ないし第６の発明のいずれかに従属し、ゲームシステムは、第３ゲーム装置の控えの第７ゲーム装置をさらに含む。第７ゲーム装置は、第３ゲーム装置の接続が切断された場合に、当該第３ゲーム装置の代わりに、第１入力データ送信手段によって送信された第１入力データおよび第２入力データによって送信された第２入力データに基づいてゲーム処理を実行する代替ゲーム処理実行手段を備える。つまり、代替ゲーム処理実行手段は、少なくとも第１ゲーム処理実行手段と同一の機能を有している。
【００１９】
第７の発明によれば、控えのゲーム装置を用意しておくので、第３ゲーム装置が切断されることにより、通信ゲームが中断されるのを防止することができる。
【００２０】
第８の発明は、第１の発明に従属し、ゲームシステムは、少なくとも第３ゲーム装置と接続可能な暗号化装置をさらに含む。第３ゲーム装置は、第１ゲーム処理実行手段によって実行されたゲーム処理に応じて変化されるゲームデータを暗号化装置に送信する第１ゲームデータ送信手段をさらに備える。つまり、第３ゲーム装置は、他の機器にゲームデータの暗号化を依頼する。暗号化装置は、第１ゲームデータ送信手段によって送信されたゲームデータを暗号化する暗号化手段、および暗号化手段によって暗号化された暗号化ゲームデータを第３ゲーム装置に送信する第１暗号化データ送信手段を備える。つまり、暗号化装置は、第３ゲーム装置からゲームデータの依頼を受けて、当該ゲームデータを暗号化し、暗号化ゲームデータを依頼元の第３ゲーム装置に送信する。
【００２１】
第３ゲーム装置は、第１暗号化データ送信手段によって送信された暗号化ゲームデータを第１ゲーム装置および第２ゲーム装置に送信する第２暗号化データ送信手段をさらに備える。第１ゲーム装置および第２ゲーム装置の各々は、第２暗号化データ送信手段によって送信された暗号化ゲームデータを記憶する記憶手段をさらに備える。つまり、第３ゲーム装置は、暗号化ゲームデータを受信すると、当該暗号化ゲームデータを第１ゲーム装置および第２ゲーム装置に送信する。そして、第１ゲーム装置および第２ゲーム装置は、それぞれ、暗号化ゲームデータを受信して、セーブする。
【００２２】
第８の発明によれば、通信ゲームをプレイする場合に使用するゲームデータを暗号化してゲーム装置に記憶するので、当該通信ゲームをプレイするゲーム装置が当該ゲームデータを直接読み取ることができない。したがって、ゲームデータの改変（改竄）を出来る限り防止することができ、通信ゲームにおける不正行為を未然に防止することができる。
【００２３】
第９の発明は、第８の発明に従属し、ゲームシステムは、ネットワーク上でそれぞれ接続可能な複数の同種のゲーム装置をマッチングする第２マッチング手段をさらに備える。暗号化手段は、第１ゲームデータ送信手段によって送信されたゲームデータでゲームプレイする第１ゲーム装置、第２ゲーム装置および第３ゲーム装置の組み合わせが、第２マッチング手段によってマッチングされている場合に、当該ゲームデータを暗号化する。つまり、通信ゲームをプレイするゲーム装置と、そのゲーム処理を実行するゲーム装置の組み合わせが正しい場合に、ゲームデータが暗号化される。
【００２４】
第９の発明によれば、暗号化の依頼元のゲーム装置が、通信ゲームをプレイするゲーム装置に対して正しく組み合わされている場合に、ゲームデータを暗号化するので、不正な依頼に対して、ゲームデータが暗号化されることはない。よって、その後に、不正なゲームデータを用いて通信ゲームがプレイされることはない。
【００２５】
第１０の発明は、第８または第９の発明に従属し、ゲームシステムは、少なくとも第３ゲーム装置と接続可能な復号装置をさらに含む。第１ゲーム装置および第２ゲーム装置の各々は、記憶手段によって記憶された暗号化ゲームデータを第３ゲーム装置に送信する第３暗号化データ送信手段をさらに備える。つまり、第１ゲーム装置および第２ゲーム装置は、それぞれ、通信ゲームの開始に先立って、セーブされた暗号化ゲームデータを第３ゲーム装置に送信する。
【００２６】
第３ゲーム装置は、第３暗号化データ送信手段によって送信された暗号化ゲームデータを復号装置に送信する第４暗号化データ送信手段をさらに備える。復号装置は、第４暗号化データ送信手段によって送信された暗号化ゲームデータを復号する復号手段、および復号手段によって復号されたゲームデータを第３ゲーム装置に送信する第２ゲームデータ送信手段をさらに備える。つまり、第３ゲーム装置は、暗号化ゲームデータを受信すると、復号装置に暗号化ゲームデータの復号を依頼する。これに応じて、復号装置は、暗号化ゲームデータを復号し、復号したゲームデータを依頼元の第３ゲーム装置に送信する。したがって、第３ゲーム装置では、復号されたゲームデータを用いて、第１ゲーム装置と第２ゲーム装置との間でプレイされる通信ゲームのゲーム処理を実行する。
【００２７】
第１０の発明によれば、暗号化ゲームデータを第１ゲーム装置および第２ゲーム装置のそれぞれで記憶しておき、通信ゲームをプレイする際に、第３ゲーム装置の依頼に応じて復号装置で暗号化ゲームデータを復号するので、通信ゲームをプレイする相手は固定される必要がなく、様々な相手と通信ゲームをプレイすることができる。
【００２８】
第１１の発明は、第１０の発明に従属し、復号手段は、第４暗号化データ送信手段によって送信された暗号化ゲームデータのゲームデータでゲームプレイする第１ゲーム装置、第２ゲーム装置および第３ゲーム装置の組み合わせが、第２マッチング手段によってマッチングされている場合に当該暗号化ゲームデータを復号する。
【００２９】
第１１の発明によれば、通信ゲームをプレイするゲーム装置に対して正しく組み合わされている場合に、暗号化ゲームデータを復号するので、不正に作成された暗号化ゲームデータが復号されたり、正しい組み合わせでないゲーム装置からの依頼に応じて暗号化ゲームデータが復号されたりするのを防止することができる。
【００３０】
第１２の発明は、第１０または第１１の発明に従属し、第１ゲーム処理実行手段は、第１入力データ送信手段によって送信された第１入力データ、第２入力データ送信手段によって送信された第２入力データおよび第２ゲームデータ送信手段によって送信されたゲームデータに基づいて、ゲーム処理を実行する。
【００３１】
第１２の発明によれば、第３ゲーム装置は、復号したゲームデータを用いて、第１ゲーム装置および第２ゲーム装置からの入力データに従って、ゲーム処理を実行することができる。したがって、ゲーム処理の負荷を分散させることができる。
【００３２】
第１３の発明は、ネットワーク上で同種の第１ゲーム装置および第２ゲーム装置とそれぞれ接続可能であり、当該第１ゲーム装置と当該第２ゲーム装置との間でプレイされる通信ゲームのゲーム処理を当該通信ゲームをプレイせずに実行する、ゲーム装置であって、第１ゲーム装置からの第１入力データおよび第２ゲーム装置からの第２入力データに基づいてゲーム処理を実行するゲーム処理実行手段、およびゲーム処理実行手段によって実行されたゲーム処理の結果データを、第１ゲーム装置および第２ゲーム装置に送信する結果データ送信手段を備える、ゲーム装置である。
【００３３】
第１４の発明は、ネットワーク上で同種の第１ゲーム装置および第２ゲーム装置とそれぞれ接続可能であり、当該第１ゲーム装置と当該第２ゲーム装置との間でプレイされる通信ゲームのゲーム処理を当該通信ゲームをプレイせずに実行する、ゲーム装置のゲームプログラムであって、ゲーム装置のコンピュータを、第１ゲーム装置からの第１入力データおよび第２ゲーム装置からの第２入力データに基づいてゲーム処理を実行するゲーム処理実行手段、およびゲーム処理実行手段によって実行されたゲーム処理の結果データを、第１ゲーム装置および第２ゲーム装置に送信する結果データ送信手段として機能させる、ゲームプログラムである。
【００３４】
第１５の発明は、ネットワーク上で同種の第１ゲーム装置および第２ゲーム装置とそれぞれ接続可能であり、当該第１ゲーム装置と当該第２ゲーム装置との間でプレイされる通信ゲームのゲーム処理を当該通信ゲームをプレイせずに実行する、ゲーム装置のゲーム制御方法であって、ゲーム装置のコンピュータは、（ａ）第１ゲーム装置からの第１入力データおよび第２ゲーム装置からの第２入力データに基づいてゲーム処理を実行し、そして（ｂ）ステップ（ａ）において実行したゲーム処理の結果データを、第１ゲーム装置および第２ゲーム装置に送信する、ゲーム制御方法である。
【００３５】
第１３ないし第１５の発明においても、第１の発明と同様に、ゲームサーバを用意することなく、ゲーム処理の負荷を分散させることができる。
【発明の効果】
【００３６】
この発明によれば、ゲームサーバを用意することなく、ゲーム処理の負荷を分散させることができる。
【００３７】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００３８】
【図１】図１はこの発明のゲームシステムの一例を示す。
【図２】図２は図１に示すゲーム装置の電気的な構成の一例を示すブロック図である。
【図３】図３は通信ゲームをプレイする場合にプレイヤおよびゲームマスタとしてマッチングされたゲーム装置で構成されるピアツーピアネットワークの一例を示す。
【図４】図４はデータロードする場合のプレイヤのゲーム装置、ゲームマスタのゲーム装置、復号サーバおよびマッチングサーバの大まかな処理の流れの一例を示す。
【図５】図５は通信ゲームをプレイする場合のプレイヤのゲーム装置およびゲームマスタのゲーム装置の大まかな処理の流れの一例を示す。
【図６】図６はデータセーブする場合のプレイヤのゲーム装置、ゲームマスタのゲーム装置、暗号化サーバおよびマッチングサーバの大まかな処理の流れの一部を示す。
【図７】図７はデータセーブする場合のプレイヤのゲーム装置、ゲームマスタのゲーム装置、暗号化サーバおよびマッチングサーバの大まかな処理の流れの続きを示す。
【図８】図８はバックアップノードを昇格およびマッチングする場合のプレイヤのゲーム装置、ゲームマスタのゲーム装置、バックアップノードのゲーム装置およびマッチングサーバの大まかな処理の流れの一部を示す。
【図９】図９はバックアップノードを昇格およびマッチングする場合のプレイヤのゲーム装置、ゲームマスタのゲーム装置、バックアップノードのゲーム装置およびマッチングサーバの大まかな処理の流れの続きを示す。
【図１０】図１０は図１に示したマッチングサーバに内蔵されるＲＡＭのメモリマップの一例を示す図である。
【図１１】図１１は図２に示したゲーム装置に内蔵されるＲＡＭのメモリマップの一例を示す図解図である。
【図１２】図１２は図１１に示すデータ記憶領域の具体的な内容を示す図である。
【図１３】図１３はマッチングサーバのプロセッサのマッチング処理の一例を示すフロー図である。
【図１４】図１４はマッチングサーバのプロセッサの正規判定処理の一例を示すフロー図である。
【図１５】図１５はマッチングサーバのプロセッサのバックアップ処理の一例を示すフロー図である。
【図１６】図１６は復号サーバのプロセッサの復号処理の一例を示すフロー図である。
【図１７】図１７は暗号化サーバのプロセッサの暗号化処理の一例を示すフロー図である。
【図１８】図１８はプレイヤのゲーム装置のＣＰＵのゲームプレイ処理の一部を示すフロー図である。
【図１９】図１９はプレイヤのゲーム装置のＣＰＵのゲームプレイ処理の他の一部を示すフロー図である。
【図２０】図２０はプレイヤのゲーム装置のＣＰＵのゲームプレイ処理のその他の一部を示すフロー図である。
【図２１】図２１はプレイヤのゲーム装置のＣＰＵのデータセーブ処理の一例を示すフロー図である。
【図２２】図２２はゲームマスタのゲーム装置のＣＰＵのデータロード処理の一例を示すフロー図である。
【図２３】図２３はゲームマスタのゲーム装置のＣＰＵのゲームプレイ処理の一例を示すフロー図である。
【図２４】図２４はゲームマスタのゲーム装置のＣＰＵの昇格処理を示すフロー図である。
【図２５】図２５はゲーマスタのゲーム装置のＣＰＵのデータセーブ処理の一例を示すフロー図である。
【発明を実施するための形態】
【００３９】
図１を参照して、この発明の一実施例であるゲームシステム１０は複数のゲーム装置１２を含み、複数のゲーム装置１２はネットワーク１４を介してマッチングサーバ１６、復号サーバ１８および暗号化サーバ２０と通信可能に接続される。
【００４０】
図２は、図１に示すゲーム装置１２の電気的な構成を示すブロック図である。図２に示すように、ゲーム装置１２は、ＣＰＵ３０を含み、ＣＰＵ３０には、ＲＡＭ３２、フラッシュメモリ３４、無線通信モジュール３６、入力装置３８、表示ドライバ４０およびＤ／Ａ変換器４４が接続される。また、表示ドライバ４０には、表示装置４２が接続され、Ｄ／Ａ変換器４４には、スピーカ４６が接続される。
【００４１】
ＣＰＵ３０は、ゲーム装置１２の全体制御を司る。ＲＡＭ３２は、ＣＰＵ３０のワークメモリやバッファメモリとして使用される。フラッシュメモリ３４は、ゲームのようなアプリケーションのプログラムを記憶したり、各種のデータを記憶（セーブ）したりするために使用される。
【００４２】
無線通信モジュール３６は、無線ＬＡＮに接続する機能を有する。したがって、ゲーム装置１２は、他のゲーム装置１２やコンピュータ（サーバ１６、１８、２０など）と直接またはネットワーク１４を介して通信することができる。
【００４３】
入力装置３８は、たとえば、ゲーム装置１０に設けられる各種の押しボタンないしスイッチであり、ユーザによって、メニュー選択やゲーム操作などの各種の操作に用いられる。ただし、入力装置３８としては、タッチパネルなどのポインティングデバイス、マイクおよびカメラなどの入力手段が、押しボタンないしスイッチに代えて、または、押しボタンないしスイッチとともに設けられてもよい。
【００４４】
表示ドライバ４０は、ＣＰＵ３０の指示の下、表示装置４２にゲーム画像などの各種画像を表示するために使用される。図示は省略するが、表示ドライバ４０は、ビデオＲＡＭ（ＶＲＡＭ）を内蔵している。
【００４５】
Ｄ／Ａ変換器４４は、ＣＰＵ３０から与えられる音声データをアナログのゲーム音声に変換し、スピーカ４６に出力する。ただし、ゲーム音声は、ゲームキャラクタの擬制音、効果音、音楽（ＢＧＭ）のようなゲームに必要な音を意味する。
【００４６】
なお、図２に示すゲーム装置１２の電気的な構成は単なる一例であり、これに限定される必要はない。
【００４７】
また、図示および詳細な説明は省略するが、図１に示すマッチングサーバ１６、復号サーバ１８および暗号化サーバ２０は、汎用のサーバであり、ＣＰＵのようなプロセッサ、メモリ（ＨＤＤ、ＲＯＭおよびＲＡＭなど）および通信モジュールなどのコンポーネントを備えている。このように、復号サーバ１８および暗号化サーバ２０を設けるのは、ゲーム装置１２以外の装置によって復号や暗号化を行うことにより、後述するように暗号化されたゲームデータがゲーム装置１２で不正に復号されるのを防止するためである。したがって、暗号化方式は任意の方式を採用することができるが、その方式などについては公開されない。
【００４８】
このようなゲームシステム１０においては、マッチングサーバ１６は、各ゲーム装置１２からの参加要求を受け付け、通信ゲームをプレイするプレイヤのゲーム装置１２をマッチングするとともに、その通信ゲームのゲームマスタとしてのゲーム装置１２をマッチングする。ただし、この実施例では、ゲーム装置１２（ＣＰＵ３０等）は、プレイヤとしての処理と、異なる２つの通信ゲーム（グループ）のゲームマスタとしての処理が可能である。したがって、ゲーム装置１２は、或るグループの通信ゲームにプレイヤとして参加するとともに、他のグループの通信ゲームにゲームマスタとして参加することができる。詳細な説明は省略するが、プレイヤとして参加する通信ゲームと、ゲームマスタとして参加する通信ゲームとは、同じ種類でも異なる種類でも構わない。
【００４９】
たとえば、ゲームレベル（経験値）や総プレイ時間が近似するユーザのゲーム装置１２同士がプレイヤのゲーム装置１２としてマッチングされる。ただし、ゲームレベル（経験値）や総プレイ時間については、ユーザ（ゲーム装置１２）毎に、マッチングサーバ１６で管理されている。また、プレイヤとしてマッチングされたゲーム装置１２以外のゲーム装置１２であって、２つのグループのゲームマスタまたは後述するバックアップノードとして割り当てられていないゲーム装置１２がゲームマスタのゲーム装置１２としてマッチングされる。以下、ゲーム装置１２が２つのグループのゲームマスタとして機能する場合には、一方のグループについてのゲームマスタを「第１ゲームマスタ」といい、他方のグループについてのゲームマスタを「第２ゲームマスタ」ということにする。
【００５０】
また、マッチングサーバ１６は、マッチングしたプレイヤのゲーム装置１２とゲームマスタのゲーム装置１２とを１つのグループとして管理される。この実施例では、各グループの端末リストが生成され、メモリに記憶される。端末リストには、ゲーム装置１２の識別情報に対応して、このゲーム装置１２の接続情報およびマッチングされたプレイヤおよびゲームマスタの別（種類）が記述される。以下、この実施例では、ゲーム装置１２の識別情報および接続情報をまとめて端末情報ということがある。
【００５１】
たとえば、ゲーム装置１２の識別情報は、当該ゲーム装置１２に内蔵される無線通信モジュールのＭＡＣアドレス、当該ゲーム装置１２に付された固有の識別記号、当該ゲーム装置１２に付された名称（ユーザ名など）である。また、ゲーム装置１２の接続情報は、当該ゲーム装置１２に割り当てられたＩＰアドレスである。
【００５２】
マッチングサーバ１６では、このようなグループが参加要求のあったゲーム装置１２の数に応じて生成される。以下、この実施例では、１つのグループに着目してゲーム処理などについて説明するが、他のグループについても同様である。
【００５３】
この実施例では、ゲームマスタのゲーム装置１２は、プレイヤのゲーム装置１２と同種のゲーム装置１２であり、主として、自身がプレイヤとして参加していない通信ゲームをプレイするプレイヤのゲーム装置１２からの操作データに従ってゲーム処理を実行するゲーム装置１２を意味する。また、この実施例では、ゲームマスタのゲーム装置１２は、通信ゲームの開始に先立ってプレイヤのゲーム装置１２から送信されたセーブデータ（暗号化ゲームデータ）の復号を復号サーバ１８に依頼したり、プレイヤのゲーム装置１２からの指示に従ってゲーム処理によって生成されたゲームデータの暗号化を暗号化サーバ２０に依頼したりする。
【００５４】
なお、この実施例では、マッチングサーバ１６が、プレイヤのゲーム装置１２とゲームマスタのゲーム装置１２の両方をマッチングするようにしたが、プレイヤのゲーム装置１２とゲームマスタのゲーム装置１２を異なるサーバでマッチングするようにしてもよい。ただし、プレイヤのゲーム装置１２とゲームマスタのゲーム装置１２とを互いに関連付けるなどして、それらを１つのグループとして管理する必要がある。
【００５５】
この実施例では、１つのグループでは、２台のプレイヤのゲーム装置１２がマッチングされ、これらに関連して、３台のゲームマスタのゲーム装置１２がマッチングされる。そして、１つのグループを構成するプレイヤのゲーム装置１２およびゲームマスタのゲーム装置１２によって、図３に示すように、ピアツーピアネットワークが構築される。以下、この実施例では、各ゲーム装置１２を区別する必要がある場合には、２台のプレイヤのゲーム装置１２を、ゲーム装置Ａおよびゲーム装置Ｂと呼び、３台のゲームマスタのゲーム装置１２を、ゲーム装置Ｃ、ゲーム装置Ｄおよびゲーム装置Ｅと呼ぶことにする。
【００５６】
このように、プレイヤのゲーム装置１２およびゲームマスタのゲーム装置１２がマッチングされ、ピアツーピアネットワークが構築されると、ゲームプレイの処理については、マッチングされたゲーム装置１２間で実行される。したがって、ゲームサーバを用意することなく、ゲーム処理の負荷を分散させることができる。
【００５７】
また、ゲームプレイの処理をマッチングされてゲーム装置１２間で実行するため、マッチングサーバ１６は、端末リストを生成すると、グループ内の各ゲーム装置１２に生成した端末リストを送信する。したがって、各ゲーム装置１２に端末リストが記憶される。
【００５８】
この実施例では、ゲーム装置１２は、通信ゲームについてのゲームデータを暗号化した状態で記憶してある。ただし、ゲーム装置１２で復号できない形式で暗号化されたゲームデータ（以下、「暗号化ゲームデータ」）という。）が記憶（セーブ）される。このようにするのは、ゲーム装置１２のユーザによって生（平文）のゲームデータが改変（改竄）されるのを防止するためである。したがって、この実施例では、復号されたゲームデータは、ゲームマスタのゲーム装置１２に記憶され、ゲームマスタのゲーム装置１２のそれぞれが、プレイヤのゲーム装置１２からの操作データに基づいてゲーム処理を実行する。つまり、ゲームマスタのゲーム装置１２のそれぞれは、プレイヤのゲーム装置１２からの操作データに従い、そのゲームデータを用いて、ゲーム処理を実行するようにしてある。そして、処理結果（結果データ）をプレイヤのゲーム装置１２に送信する。
【００５９】
なお、仮に暗号化ゲームデータが改竄されてしまったとしても、復号する機器（この実施例では、復号サーバ１８）で復号することができないため、不正なゲームデータによってゲーム処理が行われることはほとんど無い。
【００６０】
この実施例では、ゲームデータは、プレイヤキャラクタや所持アイテムなどについてのパラメータ（種類、力、強さ、すばやさなど）のデータであり、操作データを含まないデータであるが、これに限定される必要はなく、改変(改竄）されることにより、通信ゲームを有利にまたは不利に進めることが可能なデータである。
【００６１】
したがって、プレイヤのゲーム装置１２に暗号化ゲームデータすなわちセーブデータが記憶されている場合には、通信ゲームの開始に先立って、データロードの処理を実行する。このデータロードの処理は、プレイヤのゲーム装置１２（Ａ、Ｂ）、ゲームマスタのゲーム装置１２（Ｃ−Ｅ）、マッチングサーバ１６および復号サーバ１８によって実行される。
【００６２】
なお、通信ゲームを初めてプレイする場合には、セーブデータは記憶されていないため、データロードの処理は実行されずに、ゲームマスタのゲーム装置１２（Ｃ−Ｅ）に初期値（デフォルト値）に基づくゲームデータが記憶される。
【００６３】
図４に示すように、プレイヤのゲーム装置Ａ、Ｂは、それぞれ、セーブデータ(暗号化ゲームデータ）をゲームマスタのゲーム装置Ｃ−Ｅの各々に送信する。以下、ゲーム装置Ａに記憶されている暗号化ゲームデータを「暗号化ゲームデータＡ」といい、ゲーム装置Ｂに記憶されている暗号化ゲームデータを「暗号化ゲームデータＢ」ということがある。
【００６４】
ただし、暗号化ゲームデータには、それを記憶しているゲーム装置Ａ、Ｂの識別情報がヘッダ情報（メタ情報）として付加されている。
【００６５】
ゲームマスタのゲーム装置Ｃ−Ｅは、それぞれ、暗号化ゲームデータＡを受信し、暗号化ゲームデータＢを受信する。次に、ゲーム装置Ｃ−Ｅは、それぞれ、暗号化ゲームデータＡの復号を依頼し、暗号化ゲームデータＢの復号を依頼する。具体的には、ゲーム装置Ｃ−Ｅは、それぞれ、復号の依頼と暗号化ゲームデータＡを復号サーバ１８に送信し、復号の依頼と暗号化ゲームデータＢを復号サーバ１８に送信する。
【００６６】
ただし、ゲームマスタのゲーム装置Ｃ−Ｅは、暗号化ゲームデータＡおよび暗号化ゲームデータＢを同時に受信したり、同時に復号を依頼したりする必要はない。
【００６７】
復号サーバ１８は、ゲームマスタのゲーム装置Ｃ−Ｅからの依頼が正規の依頼であるかどうかをマッチンングサーバ１６に問い合わせる。ただし、依頼毎に問い合わせを行う。具体的には、復号サーバ１８は、暗号化ゲームデータのメタ情報からプレイヤのゲーム装置１２の端末情報（以下、説明の都合上、「プレイヤ端末情報」という。）を取得するとともに、復号の依頼元の端末情報（以下、説明の都合上、「復号依頼元端末情報」という。）を取得し、プレイヤ端末情報と復号依頼元端末情報とを含む問い合わせをマッチングサーバ１６に送信する。
【００６８】
マッチングサーバ１６は、その問い合わせを受信すると、正規にマッチングされたゲームマスタかどうかを判定する。つまり、プレイヤのゲーム装置１２とゲームマスタのゲーム装置１２との組み合わせが正しいかどうかを判断する。具体的には、マッチングサーバ１６は、プレイヤ端末情報が示すゲーム装置１２と、復号依頼元端末情報が示すゲーム装置１２とが同一グループに属し、プレイヤ端末情報が示すゲーム装置１２がプレイヤとしてマッチングされ、復号依頼元端末情報が示すゲーム装置１２がゲームマスタとしてマッチングされているかどうかを判定する。そして、マッチングサーバ１６は、判定結果を復号サーバ１８に送信する。
【００６９】
復号サーバ１８は、判定結果を受信し、正規にマッチングされたゲームマスタであれば、暗号化ゲームデータを復号し、復号されたゲームデータを復号の依頼元であるゲームマスタのゲーム装置１２に送信する。
【００７０】
したがって、復号の依頼元であるゲームマスタのゲーム装置１２は、復号されたゲームデータを受信し、ＲＡＭ３２に記憶する。これによって、正規にマッチングされたゲームマスタのゲーム装置１２は、プレイヤのゲーム装置Ａおよびゲーム装置Ｂのそれぞれについてのゲームデータを得る。以下、説明の都合上、暗号化ゲームデータＡを復号したゲームデータを「ゲームデータＡ」といい、暗号化ゲームデータＢを復号したゲームデータを「ゲームデータＢ」という。
【００７１】
データロードの処理が終了すると、通信ゲームが開始される。通信ゲームが開始されると、プレイヤのゲーム装置Ａ、Ｂと、ゲームマスタのゲーム装置Ｃ−Ｅとによって、ゲームプレイの処理が実行される。
【００７２】
図５に示すように、ゲームプレイの処理では、プレイヤのゲーム装置Ａへの操作入力に応じた操作データ（以下、説明の都合上、「操作データＡ」という。）は、ゲーム装置Ｃ−Ｅのそれぞれに送信され、プレイヤのゲーム装置Ｂへの操作入力に応じた操作データ（以下、説明の都合上、「操作データＢ」という。）は、ゲーム装置Ｃ−Ｅのそれぞれに送信される。
【００７３】
ゲームマスタのゲーム装置Ｃ−Ｅのそれぞれは、操作データＡおよび操作データＢの両方を受信すると、この操作データＡおよび操作データＢに従うとともに、ゲームデータＡおよびゲームデータＢを用いて、通信ゲームのゲーム処理を実行する。そして、ゲーム処理の結果（結果データ）を、プレイヤのゲーム装置Ａおよびゲーム装置Ｂのそれぞれに送信する。
【００７４】
なお、ゲームマスタのゲーム装置Ｃ−Ｅは、プレイヤのゲーム装置Ａ、Ｂで行われる通信ゲームのゲーム処理を実行するためのゲームプログラムを予め記憶している。たとえば、プレイヤのゲーム装置Ａ、Ｂで行われる通信ゲームのゲーム処理を実行するためのゲームプログラムは、マッチングサーバ１６からダウロードされる。
【００７５】
ゲーム装置Ａおよびゲーム装置Ｂは、それぞれ、結果データを受信し、当該結果データを出力する。たとえば、ゲーム装置Ａおよびゲーム装置Ｂは、結果データに基づいて、ゲーム画像を描画（更新）および出力（表示）したり、ゲーム音声を生成および出力したりする。ただし、上述したように、プレイヤのゲーム装置１２は、全ゲームマスタのゲーム装置１２に操作データを送信し、全ゲームマスタのゲーム装置１２においてゲーム処理が実行され、この全ゲームマスタのゲーム装置１２の各々からの結果データを受信する。このため、プレイヤのゲーム装置１２では、受信したすべての（ここでは、３つの）結果データのうち、適正な結果データを採用して出力する。この実施例では、３つの結果データのうち、等しい結果データが適正な結果データとして採用される。つまり、多数決により、出力する結果データが決定される。
【００７６】
このように、等しい結果データを採用して出力するのは、正規にマッチングされたゲームマスタのゲーム装置１２ではあるものの、ゲームマスタのゲーム装置１２は、ゲーム処理を担当する通信ゲームにおけるプレイヤのゲーム装置１２の生のゲームデータにアクセスすることができ、その改変（改竄）が可能だからである。よって、上記のように、多数決により、１つの結果データを採用することにより、不正なゲームデータに基づくゲーム処理の結果データが通信ゲームに反映されるのを出来るだけ防止しているのである。これにより、他人の通信ゲームを邪魔するような不正行為を回避することができる。また、多数決により、採用する結果データを決定するのは、少数のユーザによって不正行為が行われていることを考慮するためである。これらのことは、後述する暗号化ゲームデータを多数決により決定する場合についても同様である。
【００７７】
ゲームが終了するまでは、上記のような処理が繰り返し実行される。ゲーム中に所定のイベントが発生したり、プレイヤの指示が入力されたりすることに応じて、または、ゲームが終了したことに応じて、データセーブの処理が実行される。データセーブの処理は、プレイヤのゲーム装置ＡおよびＢ、ゲームマスタのゲーム装置Ｃ−Ｅ、マッチングサーバ１６および暗号化サーバ２０によって実行される。
【００７８】
具体的には、図６に示すように、プレイヤのゲーム装置Ａ、Ｂは、データセーブの依頼を、ゲームマスタのゲーム装置Ｃ−Ｅのそれぞれに送信する。
【００７９】
ゲームマスタのゲーム装置Ｃ−Ｅは、それぞれ、データセーブの依頼を受信すると、ゲームデータの暗号化を暗号化サーバ２０に依頼する。具体的には、ゲーム装置Ｃ−Ｅの各々は、暗号化の依頼と、依頼元のプレイヤのゲーム装置１２のゲームデータとを暗号化サーバ２０に送信する。ただし、ゲームデータには、ゲーム装置Ａまたはゲーム装置Ｂの識別情報がヘッダ情報（メタ情報）として付加されている。
【００８０】
暗号化サーバ２０は、暗号化の依頼およびゲームデータを受信すると、正規の依頼かどうかをマッチングサーバ１６に問い合わせる。具体的には、暗号化サーバ２０は、ゲームデータのメタ情報からプレイヤ端末情報を取得するとともに、暗号化の依頼元の端末情報（以下、説明の都合上、「暗号化依頼元端末情報」という。）を取得し、プレイヤ端末情報と暗号化依頼元端末情報とを含む問い合わせをマッチングサーバ１６に送信する。
【００８１】
マッチングサーバ１６は、その問い合わせを受信すると、正規にマッチングされたゲームマスタかどうかを判定する。具体的には、マッチングサーバ１６は、プレイヤ端末情報が示すゲーム装置１２と、暗号化依頼元端末情報が示すゲーム装置１２とが同一グループに属し、プレイヤ端末情報が示すゲーム装置１２がプレイヤとしてマッチングされ、暗号化依頼元端末情報が示すゲーム装置１２がゲームマスタとしてマッチングされているかどうかを判定する。そして、マッチングサーバ１６は、判定結果を暗号化サーバ２０に送信する。
【００８２】
暗号化サーバ２０は、判定結果を受信し、正規にマッチングされたゲームマスタであれば、ゲームデータを暗号化し、図７に示すように、暗号化ゲームデータを暗号化の依頼元であるゲームマスタのゲーム装置１２に送信する。さらに、ゲームマスタのゲーム装置１２は、暗号化ゲームデータを受信すると、データセーブの依頼元であるプレイヤのゲーム装置１２に暗号化ゲームデータを送信する。当然のことではあるが、暗号化サーバ２０では、復号サーバ１８で復号可能な形式で、ゲームデータが暗号化される。
【００８３】
したがって、データセーブを依頼したプレイヤのゲーム装置１２は、暗号化ゲームデータを受信する。ただし、上述したように、プレイヤのゲーム装置１２は、全ゲームマスタのゲーム装置１２にデータセーブの依頼を送信しているため、正規にマッチングされている場合には、全ゲームマスタのゲーム装置１２から暗号化ゲームデータが送信される。このため、プレイヤのゲーム装置１２では、受信したすべての（ここでは、３つの）暗号化ゲームデータのうち、適正な暗号化ゲームデータを採用してセーブする。この実施例では、３つの暗号化ゲームデータのうち、等しい暗号化ゲームデータが適正な暗号化ゲームデータとして採用される。つまり、多数決により、セーブする１つの暗号化ゲームデータが決定される。
【００８４】
また、ゲーム中に、ゲームマスタのゲーム装置１２が接続（通信）を切断することがある。このような場合であっても、通信ゲームを継続するために、控えのゲーム装置１２（以下、「バックアップノード」という。）を用意しておいてもよい。かかる場合には、マッチングサーバ１６は、ゲーム装置１２からの参加要求に応じて、プレイヤのゲーム装置１２とゲームマスタのゲーム装置１２とをマッチングする際に、さらに、バックアップノードのゲーム装置１２をマッチング（決定）する。したがって、マッチングサーバ１６で生成され、各ゲーム装置１２に送信される端末リストには、バックアップノードのゲーム装置１２についての識別情報、接続情報およびその種類（バックアップノード）が含まれる。このバックアップノードのマッチング方法は、ゲームマスタのマッチング方法と同じであるため、重複した説明は省略する。
【００８５】
ゲームマスタのゲーム装置１２の接続が切断されると、バックアップノードのゲーム装置１２がゲームマスタとして昇格され、そして、新たにバックアップノードのゲーム装置１２がマッチングされる。
【００８６】
図８および図９を用いて、バックアップノードの昇格およびマッチングの処理について具体的に説明するが、ここでは、ゲーム装置Ｄが切断されたと仮定する。また、バックアップノードのゲーム装置１２は「ゲーム装置Ｆ」と呼ぶことにする。さらに、新たにマッチングされるバックアップノードのゲーム装置１２は「ゲーム装置Ｇ」と呼ぶことにする。
【００８７】
図８に示すように、プレイヤのゲーム装置Ａ、Ｂは、それぞれ、ゲーム装置Ｄの切断を検知する。この実施例では、プレイヤのゲーム装置１２は、ゲームマスタのゲーム装置１２に操作データを送信してから所定時間（たとえば、１０秒）を経過しても、結果データが得られない場合に、当該結果ゲームを得ることができないゲーム装置１２との接続が切断したことを検知する。
【００８８】
ゲーム装置Ａ、Ｂは、ゲーム装置Ｄの切断を検知すると、その旨を他方のゲーム装置Ｂ、Ａに通知する。したがって、ゲーム装置Ａ、Ｂは、他方のゲーム装置Ｂ、Ａからゲーム装置Ｄが切断した旨の通知を受信する。つまり、プレイヤのゲーム装置Ａ、Ｂ間で、ゲーム装置Ｄの切断が確認される。そして、ゲーム装置Ａ、Ｂは、それぞれ、バックアップノード（ゲーム装置Ｆ）の昇格を、接続が切断されていないゲームマスタのゲーム装置Ｃ、Ｅに通知する。
【００８９】
ゲーム装置Ｃ、Ｅは、バックアップノードの昇格の通知を受けると、それぞれ、ゲームデータをバックアップノードのゲーム装置Ｆに送信する。ゲーム装置Ｆは、バックアップノードとして待機しており、ゲームデータを受信すると、ゲームマスタに昇格する。ただし、実際には、バックアップノードのゲーム装置１２は、後述するように、端末リストが更新されたときに、ゲームマスタに昇格する。
【００９０】
また、プレイヤのゲーム装置Ａ、Ｂは、バックアップノードの昇格を、切断されていないゲームマスタのゲーム装置Ｃ、Ｅに通知すると、図９に示すように、新たなバックアップノードのマッチングをマッチングサーバ１６に依頼する。ただし、この依頼には、ゲーム装置Ｄが切断された旨の通知も含まれている。したがって、マッチングサーバ１６は、ゲーム装置Ｄがゲーム装置Ａおよびゲーム装置Ｂを含むグループから離脱したことを知ることができる。
【００９１】
マッチングサーバ１６は、新たなバックアップノードのマッチングの依頼を受信すると、新たなバックアップノードのゲーム装置１２（ここでは、ゲーム装置Ｇ）をマッチングする。このマッチング方法は、上述したゲームマスタ（バックアップノード）のゲーム装置１２をマッチングする方法と同じである。マッチングサーバ１６は、新たなバックアップノードのゲーム装置Ｇをマッチングすると、端末リストを更新する。ここでは、ゲーム装置Ｄの識別情報、接続情報および種類（ゲームマスタ）を削除し、ゲーム装置Ｆの種類をゲームマスタに変更し、そして、ゲーム装置Ｆの識別情報、接続情報および種類（バックアップノード）を追記する。その後、マッチングサーバ１６は、更新した端末リストをグループの各ゲーム装置１２（ゲーム装置Ａ−Ｃ、Ｅ−Ｇ）に送信する。
【００９２】
ゲーム装置Ａ−Ｃ、Ｅ−Ｇは、当該グループについての端末リストを受信し、当該グループについての端末リストを更新する。したがって、プレイヤのゲーム装置Ａ、Ｂは、ゲームマスタのゲーム装置Ｃ、Ｅ、Ｆと通信することにより、通信ゲームを継続する。つまり、バックアップノードを用意しておければ、ゲームマスタのゲーム装置１２が切断（離脱）したとしても、通信ゲームが終了（強制終了）されたり、再起動されたりすることがない。
【００９３】
図１０はマッチングサーバ１６に内蔵されるＲＡＭのメモリマップ１００の一例を示す。図１０に示すように、マッチングサーバ１６に内蔵されるＲＡＭは、プログラム記憶領域１０２およびデータ記憶領域１０４を含む。プログラム記憶領域１０２には、情報処理プログラムが記憶され、情報処理プログラムは、メイン処理プログラム１０２ａ、通信プログラム１０２ｂ、マッチング処理プログラム１０２ｃおよび判定処理プログラム１０２ｄなどによって構成される。
【００９４】
メイン処理プログラム１０２ａは、マッチングサーバ１６のメインルーチンを処理するためのプログラムである。通信処理プログラム１０２ｂは、ゲーム装置１２、復号サーバ１８および暗号化サーバ２０などの装置やコンピュータと直接またはネットワーク１４を介して通信するためのプログラムである。
【００９５】
マッチング処理プログラム１０２ｃは、プレイヤのゲーム装置１２、ゲームマスタのゲーム装置１２およびバックアップノードのゲーム装置１２をマッチングし、グループ毎の端末リストデータを作成するためのプログラムである。判定処理プログラム１０２ｄは、暗号化ゲームデータの復号やゲームデータの暗号化の依頼元のゲーム装置１２が正規のゲームマスタであるかどうかを判定するためのプログラムである。
【００９６】
図示は省略するが、プログラム記憶領域１０２には、ゲーム装置１２にダウンロードするためのゲームプログラムなども記憶される。
【００９７】
データ記憶領域１０４には、参加者リストデータ１０４ａおよびマッチングデータ１０４ｂなどが記憶される。参加者リストデータ１０４ａは、通信ゲームへの参加を受け付けた全ゲーム装置１２の端末情報（識別情報および接続情報）をリスト（テーブル）で示したデータである。
【００９８】
マッチングデータ１０４ｂは、プレイヤ、ゲームマスタおよびバックアップノードとしてマッチングしたゲーム装置１２の端末リストをグループ単位で記憶したデータである。つまり、マッチングデータ１０４ｂは、第１グループ端末リストデータ１０４０、第２グループ端末リストデータ１０４２、…を含む。各端末リストデータ（１０４０、１０４２、…）は、グループに含まれる各ゲーム装置１２の端末情報が、マッチングされた情報（プレイヤ、ゲームマスタおよびバックアップノードの別）とともに記述されたリスト（テーブル）のデータである。
【００９９】
図示は省略するが、データ記憶領域１０４には、情報処理プログラムの実行に必要な他のデータが記憶されたり、タイマ（カウンタ）やフラグが設けられたりする。
【０１００】
図１１および図１２は図２に示したゲーム装置１２に内蔵されるＲＡＭ３２のメモリマップ２００の一例を示す。図１１に示すように、ＲＡＭ３２は、プログラム記憶領域２０２およびデータ記憶領域２０４を含む。プログラム記憶領域２０２は、ゲームプログラムを記憶し、ゲームプログラムは、メイン処理プログラム２０２ａ、通信プログラム２０２ｂ、プレイヤ用ゲーム処理プログラム２０２ｃ、第１ゲームマスタ用ゲーム処理プログラム２０２ｄ、第２ゲームマスタ用ゲーム処理プログラム２０２ｅ、データロード処理プログラム２０２ｆおよびセーブ処理プログラム２０２ｇなどによって構成される。
【０１０１】
なお、ゲームプログラムは、フラッシュメモリ３４からロードされたり、ネットワーク１４を介して接続されるコンピュータないしサーバからダウロードされたり、ゲームカートリッジやＳＤカードのような記憶媒体からロードされたりする。
【０１０２】
メイン処理プログラム２０２ａは、通信ゲームのメインルーチンを処理するためのプログラムである。通信プログラム２０２ｂは、他のゲーム装置（１２）やコンピュータと直接またはネットワーク１４を介して通信するためのプログラムである。
【０１０３】
プレイヤ用ゲーム処理プログラム２０２ｃは、プレイヤとして機能する場合のゲーム処理プログラムであり、主として、ゲームマスタからの結果データに基づいてゲーム画像を描画および表示したり、ゲーム音声を生成および出力したりして、通信ゲームを進行させる。
【０１０４】
第１ゲームマスタ用ゲーム処理プログラム２０２ｄは、第１ゲームマスタとして機能する場合のゲーム処理プログラムであり、主として、第１ゲームマスタとして参加しているグループの各プレイヤのゲーム装置１２からの操作データに従って、ゲームデータ（後述する第１ゲームマスタ用ゲームデータ２１２ｃ）を用いてゲーム処理を実行する。
【０１０５】
第２ゲームマスタ用ゲーム処理プログラム２０２ｅは、第２ゲームマスタとして機能する場合のゲーム処理プログラムであり、主として、第２ゲームマスタとして参加しているグループの各プレイヤのゲーム装置１２からの操作データに従って、ゲームデータ（後述する第２ゲームマスタ用ゲームデータ２１４ｃ）を用いてゲーム処理を実行する。
【０１０６】
データロード処理プログラム２０２ｆは、プレイヤとして機能する場合と、ゲームマスタとして機能する場合のデータロード処理を実行するためのプログラムである。具体的には、当該ゲーム装置１２がプレイヤとして機能する場合には、データロード処理プログラム２０２ｆは、通信ゲームの開始に先立って、ゲームマスタの各ゲーム装置１２にデータロードを依頼する。また、当該ゲーム装置１２がゲームマスタとして機能する場合には、データロード処理プログラム２０２ｆは、プレイヤのゲーム装置１２からのデータロードの依頼に応じて、復号サーバ１８に暗号化ゲームデータの復号を依頼し、これに応じて、復号サーバ１８で復号されたゲームデータ（第１ゲームマスタ用ゲームデータ２１２ｃ、第２ゲームマスタ用ゲームデータ２１４ｃ）をデータ記憶領域２０４に記憶する。
【０１０７】
セーブ処理プログラム２０２ｇは、プレイヤとして機能する場合と、ゲームマスタとして機能する場合のセーブ処理を実行するためのプログラムである。具体的には、当該ゲーム装置１２がプレイヤとして機能する場合には、セーブ処理プログラム２０２ｇは、所定のイベントの発生やプレイヤの指示またはゲーム終了に応じて、データセーブを全ゲームマスタのゲーム装置１２の各々に依頼し、これに応じて、各ゲームマスタのゲーム装置１２から送信される暗号化ゲームデータを受信し、等しい暗号化ゲームデータをフラッシュメモリ３４に記憶（セーブ）する。また、当該ゲーム装置１２がゲームマスタとして機能する場合には、セーブ処理プログラム２０２ｇは、プレイヤのゲーム装置１２からデータセーブの依頼があると、暗号化サーバ２０にゲームデータの暗号化を依頼し、これに応じて、暗号化サーバ２０から送信された暗号化ゲームデータを受信し、データセーブの依頼元のプレイヤのゲーム装置１２に送信する。
【０１０８】
図示は省略するが、プログラム記憶領域２０２には、画像表示プログラムや音声出力プログラムなども記憶される。
【０１０９】
図１２に示すように、データ記憶領域２０４は、さらに、プレイヤ用の記憶領域２１０、第１ゲームマスタ用の記憶領域２１２および第２ゲームマスタ用の記憶領域２１４を含む。
【０１１０】
プレイヤ用の記憶領域２１０には、操作データバッファ２１０ａおよびプレイヤ用送受信データバッファ２１０ｂが設けられる。操作データバッファ２１０ａは、入力装置３８からの操作データを記憶する。プレイヤ用送受信データバッファ２１０ｂは、ゲームマスタのゲーム装置１２やマッチングサーバ１６とやり取りするデータを記憶する。
【０１１１】
また、プレイヤ用の記憶領域２１０には、プレイヤ用端末リストデータ２１０ｃが記憶される。プレイヤ用端末リストデータ２１０ｃは、当該ゲーム装置１２がプレイヤとして参加しているグループの端末リストについてのデータである。
【０１１２】
さらに、プレイヤ用の記憶領域２１０には、タイマ２１０ｄが設けられる。このタイマ２１０ｄは、ゲームマスタのゲーム装置１２との接続が切断されたかどうかを判断するための所定時間（たとえば、１０秒）をカウントするために用いられる。
【０１１３】
図示は省略するが、プレイヤ用の記憶領域２１０には、プレイヤのゲーム装置１２として機能する場合に必要な他のデータが記憶されたり、他のタイマ(カウンタ）やフラグが設けられたりする。
【０１１４】
第１ゲームマスタ用の記憶領域２１２には、第１ゲームマスタ用送受信データバッファ２１２ａが設けられる。この第１ゲームマスタ用送受信データバッファ２１２ａは、当該ゲーム装置１２が第１ゲームマスタとして機能する場合に、プレイヤのゲーム装置１２、マッチングサーバ１６、復号サーバ１８および暗号化サーバ２０との間でやり取りするデータを記憶する。
【０１１５】
また、第１ゲームマスタ用の記憶領域２１２には、第１ゲームマスタ用端末リストデータ２１２ｂおよび第１ゲームマスタ用ゲームデータ２１２ｃが記憶される。第１ゲームマスタ用端末リストデータ２１２ｂは、当該ゲーム装置１２が第１ゲームマスタとしてマッチングされているグループについての端末リストのデータである。第１ゲームマスタ用ゲームデータ２１２ｃは、当該ゲーム装置１２が第１ゲームマスタとしてマッチングされているグループにおける各プレイヤのゲーム装置１２のゲームデータである。この実施例では、プレイヤのゲーム装置１２は２台であるため、第１ゲームマスタ用ゲームデータ２１２ｃには、２種類のゲームデータ（上記のゲームデータＡおよびゲームデータＢに相当する。）が含まれる。後述する第２ゲームマスタ用ゲームデータ２１４ｃも同様である。
【０１１６】
図示は省略するが、第１ゲームマスタ用の記憶領域２１２には、第１ゲームマスタのゲーム装置１２として機能する場合に必要な他のデータが記憶されたり、他のタイマ(カウンタ）やフラグが設けられたりする。
【０１１７】
第２ゲームマスタ用の記憶領域２１４には、第２ゲームマスタ用送受信データバッファ２１４ａが設けられる。この第２ゲームマスタ用送受信データバッファ２１４ａは、当該ゲーム装置１２が第２ゲームマスタとして機能する場合に、プレイヤのゲーム装置１２、マッチングサーバ１６、復号サーバ１８および暗号化サーバ２０との間でやり取りするデータを記憶する。
【０１１８】
また、第２ゲームマスタ用の記憶領域２１４には、第２ゲームマスタ用端末リストデータ２１４ｂおよび第２ゲームマスタ用ゲームデータ２１４ｃが記憶される。第２ゲームマスタ用端末リストデータ２１４ｂは、当該ゲーム装置１２が第２ゲームマスタとしてマッチングされているグループについての端末リストのデータである。第２ゲームマスタ用ゲームデータ２１４ｃは、当該ゲーム装置１２が第２ゲームマスタとしてマッチングされているグループにおける各プレイヤのゲーム装置１２のゲームデータである。
【０１１９】
図示は省略するが、第２ゲームマスタ用の記憶領域２１４には、第２ゲームマスタのゲーム装置１２として機能する場合に必要な他のデータが記憶されたり、他のタイマ(カウンタ）やフラグが設けられたりする。
【０１２０】
以下、ゲーム装置１２、マッチングサーバ１６、復号サーバ１８、暗号化サーバ２０のそれぞれで実行される具体的な処理について説明する。
【０１２１】
図１３、図１４および図１５は、マッチングサーバ１６のプロセッサのマッチング処理、正規判定処理および追加処理をそれぞれ示す。これらの処理は、それぞれ異なるタスクで実行される。図１３に示すマッチング処理は、所定時間（たとえば、１０分）毎に実行され、図１４に示す正規判定処理および図１５に示す追加処理は、ゲーム装置１２からの要求に応じて実行される。したがって、ゲーム装置１２からの要求があれば、要求毎にタスクが起動（実行）される。
【０１２２】
図１３は、マッチングサーバのプロセッサのマッチング処理の一例を示すフロー図である。図１３に示すように、マッチングサーバ１６のプロセッサはマッチング処理を開始すると、ステップＳ１で、ゲーム装置１２からの参加要求を受け付ける。詳細な説明は省略するが、ゲーム装置１２からの参加要求は、当該ゲーム装置１２の識別情報および接続情報を含む。
【０１２３】
次のステップＳ３では、参加要求のあったゲーム装置１２の中から、２台のプレイヤのゲーム装置１２をマッチングする。続いて、ステップＳ５では、３台のゲームマスタのゲーム装置１２をマッチングする。さらに、ステップＳ７で、バックアップノードのゲーム装置１２をマッチングする。
【０１２４】
次のステップＳ９では、端末リストを生成する。つまり、マッチングサーバ１６のプロセッサは、ステップＳ３でマッチングされた２台のプレイヤのゲーム装置１２、ステップＳ５でマッチングされた３台のゲームマスタのゲーム装置１２およびステップＳ７でマッチングされた１台のバックアップノードのゲーム装置１２で構成されるグループについての端末リストを作成する。そして、ステップＳ１１で、マッチングされた全ゲーム装置１２に端末リストを送信して、マッチング処理を終了する。
【０１２５】
また、マッチングサーバ１６のプロセッサは、復号サーバ１８または暗号化サーバ２０から判定処理の依頼があると、図１４に示すように、正規判定の処理を開始し、ステップＳ２１で、データロードを依頼または暗号化ゲームデータを送信したプレイヤのゲーム装置１２の識別情報（プレイヤ端末情報）と、依頼元のゲームマスタのゲーム装置１２の識別情報（復号依頼元端末情報または暗号化依頼元端末情報）を取得する。次のステップＳ２３では、正規にマッチングされているかどうかを判定する。つまり、マッチングサーバ１６のプロセッサは、マッチングデータ１０４ｂを参照して、ステップＳ２１で取得したプレイヤのゲーム装置１２の識別情報と、依頼元のゲームマスタのゲーム装置１２の識別情報とが、同じグループに属し、プレイヤおよびゲームマスタが正しくマッチングされているかどうかを判定する。
【０１２６】
続くステップＳ２５では、正規にマッチングされているかどうかを判断する。ステップＳ２５で“ＹＥＳ”であれば、つまり正規にマッチングされていれば、ステップＳ２７で、正規にマッチングされていることを問い合わせ元の復号サーバ１８または暗号化サーバ２０に通知して、正規判定処理を終了する。一方、ステップＳ２５で“ＮＯ”であれば、つまり正規にマッチングされていなければ、ステップＳ２９で、正規にマッチングされていないことを問い合わせ元の復号サーバ１８または暗号化サーバ２０に通知して、正規判定処理を終了する。
【０１２７】
また、マッチングサーバ１６のプロセッサは、プレイヤのゲーム装置１２からの新たなバックアップノードのマッチングの依頼があると、図１５に示すように、追加処理を開始し、ステップＳ４１で、新たなバックアップノードのゲーム装置１２をマッチングする。
【０１２８】
なお、上述したように、バックアップノードのマッチングの依頼には、接続が切断されたゲーム装置１２の識別情報も含まれる。
【０１２９】
次のステップＳ４３では、当該グループの端末リストを更新する。上述したように、マッチングサーバ１６のプロセッサは、端末リストにおいて、切断されたゲーム装置１２の識別情報、接続情報および種類を削除し、バックアップノードのゲーム装置１２（ゲーム装置Ｆ）の種類をバックアップノードからゲームマスタに変更するとともに、ステップＳ４１でマッチングしたゲーム装置１２（ゲーム装置Ｇ）の識別情報、接続情報および種類（バックアップノード）を追加する。
【０１３０】
そして、ステップＳ４５で、更新した端末リストを当該グループの全ゲーム装置１２に送信する。したがって、後述するゲーム装置１２の処理において、端末リストが更新され、その後は、更新された端末リストに従って、プレイヤのゲーム装置１２とゲームマスタのゲーム装置１２とが通信し、通信ゲームが進行される。
【０１３１】
図１６は、復号サーバ１８のプロセッサの復号処理を示すフロー図である。プレイヤのゲーム装置１２から暗号化ゲームデータとともに復号の依頼を受信すると、復号サーバ１８のプロセッサは、復号処理を開始し、ステップＳ６１で、正規の依頼であるかどうかをマッチングサーバ１６に問い合わせる。
【０１３２】
続くステップＳ６３では、マッチングサーバ１６から判定結果を受信したかどうかを判断する。ステップＳ６３で“ＮＯ”であれば、つまりマッチングサーバ１６からの判定結果を受信していなければ、同じステップＳ６３に戻る。つまり、復号サーバ１８のプロセッサは、判定結果を受信するのを待機する。一方、ステップＳ６３で“ＹＥＳ”であれば、つまりマッチングサーバ１６からの判定結果を受信すれば、ステップＳ６５で、正規の依頼であるかどうかを判断する。つまり、復号サーバ１８のプロセッサは、受信した判定結果が正規の依頼であることを示すかどうかを判断する。
【０１３３】
ステップＳ６５で“ＮＯ”であれば、つまり正規の依頼でなければ、そのまま復号処理を終了する。つまり、暗号化ゲームデータは復号されないため、正規にマッチングされていないゲーム装置１２に、生のゲームデータが送信されることはない。一方、ステップＳ６５で“ＹＥＳ”であれば、つまり正規の依頼であれば、ステップＳ６７で、暗号化ゲームデータを復号して、ステップＳ６９で、ゲームデータを、復号の依頼元であるゲームマスタのゲーム装置１２に送信して、復号処理を終了する。
【０１３４】
上述したように、復号の依頼は、各グループの全ゲームマスタのゲーム装置１２の各々から送信されるため、このような復号処理は、復号の依頼毎に実行される。したがって、同時期に復号の依頼がある場合には、各復号処理が並列的に実行される。
【０１３５】
図１７は、暗号化サーバ２０のプロセッサの暗号化処理を示すフロー図である。ゲームマスタのゲーム装置１２からゲームデータとともに暗号化の依頼を受信すると、暗号化サーバ２０のプロセッサは、暗号化処理を開始し、ステップＳ８１で、正規の依頼であるかどうかをマッチングサーバ１６に問い合わせる。
【０１３６】
続くステップＳ８３では、マッチングサーバ１６から判定結果を受信したかどうかを判断する。ステップＳ８３で“ＮＯ”であれば、つまりマッチングサーバ１６からの判定結果を受信していなければ、同じステップＳ８３に戻る。つまり、暗号化サーバ２０のプロセッサは、判定結果を受信するのを待機する。一方、ステップＳ８３で“ＹＥＳ”であれば、つまりマッチングサーバ１６からの判定結果を受信すれば、ステップＳ８５で、正規の依頼であるかどうかを判断する。つまり、暗号化サーバ２０のプロセッサは、受信した判定結果が正規の依頼であることを示すかどうかを判断する。
【０１３７】
ステップＳ８５で“ＮＯ”であれば、つまり正規の依頼でなければ、そのまま暗号化処理を終了する。つまり、ゲームデータは暗号化されないため、正規にマッチングされていないゲーム装置１２に、暗号化ゲームデータが送信されることはない。一方、ステップＳ８５で“ＹＥＳ”であれば、つまり正規の依頼であれば、ステップＳ８７で、ゲームデータを暗号化して、ステップＳ８９で、暗号化ゲームデータを、暗号化の依頼元であるゲームマスタのゲーム装置１２に送信して、暗号化処理を終了する。
【０１３８】
上述したように、暗号化の依頼は、各グループの全ゲームマスタのゲーム装置１２の各々から送信されるため、このような暗号化処理は、暗号化の依頼毎に実行される。したがって、同時期に暗号化の依頼がある場合には、各暗号化処理が並列的に実行される。
【０１３９】
図１８−図２０は、プレイヤのゲーム装置１２のＣＰＵ３０のゲームプレイ処理を示すフロー図である。図２１は、プレイヤのゲーム装置１２のＣＰＵ３０のデータセーブ処理を示すフロー図である。図２２は、ゲームマスタのゲーム装置１２のＣＰＵ３０のデータロード処理を示すフロー図である。図２３は、ゲームマスタのゲーム装置１２のＣＰＵ３０のゲームプレイ処理を示すフロー図である。図２４は、ゲームマスタのゲーム装置１２のＣＰＵ３０の追加処理を示すフロー図である。図２５は、ゲームマスタのゲーム装置１２のＣＰＵ３０のデータセーブ処理を示すフロー図である。
【０１４０】
以下、１つのグループに含まれるプレイヤのゲーム装置１２のＣＰＵ３０の処理とゲームマスタのゲーム装置１２のＣＰＵ３０の処理として説明する。ただし、上述したように、１台のゲーム装置１２は、或るグループのプレイヤと、他の２つのグループのゲームマスタまたはバックアップノードとして機能する。このため、１台のゲーム装置１２に着目すると、図１８−図２４に示す各処理は、当該ゲーム装置１２で実行される場合がある。また、２つのグループのゲームマスタとして機能する場合には、２つのグループのそれぞれについて、図２２−図２５に示す各処理が実行される。
【０１４１】
なお、図示および詳細な説明は省略するが、上述したように、プレイヤのゲーム装置１２は、通信ゲーム（ゲームプレイ）の開始に先立って、暗号化ゲームデータを各ゲームマスタのゲーム装置１２に送信する、データロードの処理を実行する。
【０１４２】
図１８に示すように、プレイヤのゲーム装置１２のＣＰＵ３０は、ゲームプレイ処理を開始すると、ステップＳ１０１で、操作入力があるかどうかを判断する。ここでは、ＣＰＵ３０は、操作データバッファ２１０ａに、操作データが記憶されているかどうかを判断する。ステップＳ１０１で“ＮＯ”であれば、つまり操作入力が無ければ、ステップＳ１１７に進む。一方、ステップＳ１０１で“ＹＥＳ”であれば、つまり操作入力が有れば、ステップＳ１０３で、操作データを各ゲームマスタのゲーム装置１２に送信し、ステップＳ１０５で、タイマ２１０ｄをリセットおよびスタートする。
【０１４３】
続いて、ステップＳ１０７では、全ゲームマスタのゲーム装置１２から結果データを受信したかどうかを判断する。ステップＳ１０７で“ＮＯ”であれば、つまり結果データが送信されないゲームマスタのゲーム装置１２が存在する場合には、図１９に示すステップＳ１１９に進む。一方、ステップＳ１０７で“ＹＥＳ”であれば、つまり全ゲームマスタのゲーム装置１２から結果データを受信すれば、ステップＳ１０９で、等しい結果データを採用する。そして、ステップＳ１１１で、採用された結果データを反映する。つまり、ＣＰＵ３０は、採用された結果データに基づいてゲーム画像を描画および表示装置４２に出力（表示）したり、ゲーム音声を生成およびスピーカ４６に出力したりして、ゲームを進行させる。
【０１４４】
そして、ステップＳ１１７では、ゲーム終了かどうかを判断する。ＣＰＵ３０は、ステップＳ１１７では、ゲーム終了の指示が入力されたり、ゲームオーバになったりしたかどうかを判断する。ステップＳ１１７で“ＮＯ”であれば、つまりゲーム終了でなければ、そのままステップＳ１０１に戻る。一方、ステップＳ１１７で“ＹＥＳ”であれば、ゲームプレイ処理を終了する。
【０１４５】
上述したように、結果データが送信されないゲームマスタのゲーム装置１２が存在する場合には、図１９に示すステップＳ１１９で、所定時間を経過したかどうかを判断する。つまり、ＣＰＵ３０は、タイマ２１０ｄのカウント値が所定時間を経過したかどうかを判断する。ステップＳ１１９で“ＮＯ”であれば、つまり所定時間を経過していなければ、そのまま図１８に示したステップＳ１０７に戻る。つまり、ＣＰＵ３０は、結果データを受信するのを待機する。
【０１４６】
一方、ステップＳ１１９で“ＹＥＳ”であれば、つまり所定時間を経過すれば、ステップＳ１２１で、結果データが送信されないゲーム装置１２を、切断されたゲーム装置１２として検知する。次のステップＳ１２３で、切断されたゲーム装置１２を他方のプレイヤのゲーム装置１２に通知する。そして、ステップＳ１２５で、他方のプレイヤのゲーム装置１２から切断通知があるかどうかを判断する。ステップＳ１２５で“ＮＯ”であれば、つまり他方のゲーム装置１２からの切断通知が無ければ、そのままステップＳ１２５に戻る。
【０１４７】
なお、この実施例では、他方のゲーム装置１２からの切断通知が無ければ、そのままステップＳ１２５に戻るようにしてあるが、所定時間（たとえば、１０秒）を経過しても、切断通知が無い場合には、誤って切断されたゲーム装置１２を検知した可能性があるため、再度結果データの受信を行うために、ステップＳ１０７に戻るようにしてもよい。もしくは、他方のプレイヤのゲーム装置１２が切断されている可能性があるため、ゲームプレイ処理を強制的に終了するようにしてもよい。
【０１４８】
また、ステップＳ１２５で“ＹＥＳ”であれば、つまり他方のプレイヤのゲーム装置１２からの切断通知が有れば、図２０に示すステップＳ１２７で、切断されていないゲームマスタのゲーム装置１２にバックアップノードの昇格を通知する。次のステップＳ１２９では、マッチングサーバ１６にバックアップノードのマッチングの依頼を送信する。このとき、ＣＰＵ３０は、切断されたゲーム装置１２の識別情報も送信する。
【０１４９】
そして、ステップＳ１３１では、端末リストを受信したかどうかを判断する。ステップＳ１３１で“ＮＯ”であれば、つまり端末リストを受信していなければ、同じステップＳ１３１に戻る。一方、ステップＳ１３１で“ＹＥＳ”であれば、つまり端末リストを受信すれば、ステップＳ１３３で、端末リストを更新して、図１８に示したステップＳ１１７に戻る。ステップＳ１３３では、プレイヤ用端末リストデータ２１０ｃが示す端末リストが、受信した端末リストに置き換えられる。
【０１５０】
図２１は、プレイヤのゲーム装置１２のＣＰＵ３０のデータセーブ処理を示すフロー図である。ゲームプレイ中に所定のイベントが発生したり、ゲームプレイ中にデータセーブの指示が入力されたり、ゲームプレイ処理を終了したりすることに応じて、データセーブ処理が開始される。
【０１５１】
プレイヤのゲーム装置１２のＣＰＵ３０は、データセーブ処理を開始すると、図２１に示すように、ステップＳ１５１で、データセーブの依頼を各ゲームマスタのゲーム装置１２に送信する。次のステップＳ１５３では、全ゲームマスタのゲーム装置１２から暗号化ゲームデータを受信したかどうかを判断する。
【０１５２】
ステップＳ１５３で“ＮＯ”であれば、つまり暗号化ゲームデータを送信していないゲームマスタのゲーム装置１２が存在する場合には、そのままステップＳ１５３に戻る。一方、ステップＳ１５３で“ＹＥＳ”であれば、つまり全ゲームマスタのゲーム装置１２から暗号化ゲームデータを受信すれば、ステップＳ１５５で、等しい暗号化ゲームデータを採用し、ステップＳ１５７で、採用した暗号化ゲームデータをフラッシュメモリ３４にセーブして、データセーブ処理を終了する。
【０１５３】
なお、この実施例では、ステップＳ１５３で“ＮＯ”の場合には、そのまま同じステップＳ１５３の処理を繰り返すようにしたが、これに限定される必要はない。所定時間を経過しても、暗号化ゲームデータを受信しない場合には、データセーブの失敗を通知して、強制的にデータセーブ処理を終了するようにしてもよい。または、ゲームプレイの場合と同様に、所定時間を経過しても、暗号化ゲームデータを受信しない場合には、暗号化ゲームデータを送信しないゲームマスタのゲーム装置１２の切断を検知し、バックアップノードをゲームマスタに昇格させて、データセーブ処理を続行するようにしてもよい。
【０１５４】
図２２は、ゲームマスタのゲーム装置１２のＣＰＵ３０のデータロード処理を示すフロー図である。ただし、ここでは、第１ゲームマスタとして機能する場合について説明するが、第２ゲームマスタとして機能する場合も同様である。後述するゲームプレイ処理およびデータセーブ処理についても同様に、第１ゲームマスタとして機能する場合について説明する。
【０１５５】
プイレヤのゲーム装置１２から暗号化ゲームデータとともにデータロードの依頼を受信すると、ゲームマスタのゲーム装置１２のＣＰＵ３０は、データロード処理を開始し、図２２に示すように、ステップＳ１７１で、暗号化ゲームデータおよび復号の依頼を復号サーバ１８に送信する。
【０１５６】
続くステップＳ１７３では、ゲームデータを受信したかどうかを判断する。ステップＳ１７３で“ＮＯ”であれば、つまりゲームデータを受信していなければ、そのまま同じステップＳ１７３に戻る。一方、ステップＳ１７３で“ＹＥＳ”であれば、つまりゲームデータを受信すれば、ステップＳ１７５で、ゲームデータを記憶して、データロード処理を終了する。つまり、ステップＳ１７５では、ＣＰＵ３０は、第１ゲームマスタ用の記憶領域２１２に設けられた第１ゲームマスタ用送受信データバッファ２１２ａに記憶されたゲームデータを、第１ゲームマスタ用ゲームデータ２１２ｃとして記憶する。ただし、プレイヤのゲーム装置１２は２台であるため、各プレイヤのゲーム装置１２からの依頼に応じて、データロードの処理がそれぞれ実行される。
【０１５７】
図２３は、ゲームマスタのゲーム装置１２のＣＰＵ３０のゲームプレイ処理のフロー図である。ゲームマスタのゲーム装置１２のＣＰＵ３０は、全プレイヤのゲーム装置１２からの操作データを受信すると、ゲームプレイ処理を開始し、ステップＳ１９１で、ゲーム処理を実行する。このとき、第１ゲームマスタ用ゲームデータ２１２ｃに対応するパラメータが用いられる。そして、ステップＳ１９３で、結果データを各プレイヤのゲーム装置１２に送信して、ゲームプレイ処理を終了する。
【０１５８】
図２４は、ゲームマスタのゲーム装置１２のＣＰＵ３０の昇格処理のフロー図である。ゲームマスタのゲーム装置１２のＣＰＵ３０は、プレイヤのゲーム装置１２からバックアップノードの昇格の通知を受信すると、昇格処理を開始し、ステップＳ２１１で、バックアップノードのゲーム装置１２にゲームデータを送信する。ただし、ここで送信されるのは、第１ゲームマスタ用ゲームデータ２１２ｃの複製である。
【０１５９】
次のステップＳ２１３では、端末リストを受信したかどうかを判断する。ステップＳ２１３で“ＮＯ”であれば、つまり端末リストを受信していなければ、そのまま同じステップＳ２１３に戻る。一方、ステップＳ２１３で“ＹＥＳ”であれば、つまり端末リストを受信すれば、ステップＳ２１５で、端末リストを更新して、昇格処理を終了する。ステップＳ２１５では、第１ゲームマスタ用端末リストデータ２１２ｂが示す端末リストが、受信した端末リストに置き換えられる。
【０１６０】
図２５は、ゲームマスタのゲーム装置１２のＣＰＵ３０のデータセーブ処理のフロー図である。ゲームマスタのゲーム装置１２のＣＰＵ３０は、プレイヤのゲーム装置１２からデータセーブの依頼を受信すると、データセーブ処理を開始し、ステップＳ２３１で、ゲームデータおよび暗号化の依頼を暗号化サーバ２０に送信する。
【０１６１】
次のステップＳ２３３では、暗号化ゲームデータを受信したかどうかを判断する。ステップＳ２３３で“ＮＯ”であれば、つまり暗号化ゲームデータを受信していなければ、そのまま同じステップＳ２３３に戻る。一方、ステップＳ２３３で“ＹＥＳ”であれば、つまり暗号化ゲームデータを受信すれば、ステップＳ２３５で、暗号化ゲームデータを、データセーブの依頼元であるプレイヤのゲーム装置１２に送信してデータセーブ処理を終了する。
【０１６２】
この実施例によれば、ゲーム装置はゲームプレイとして或る通信ゲームに参加するとともに、他の通信ゲームにゲームマスタとして参加することができ、少なくとも、プレイヤのゲーム装置およびゲームマスタのゲーム装置をマッチングし、マッチングされたゲーム装置間でゲームプレイの処理を実行するので、ゲームサーバを用意することなく、処理の負荷を分散させることができる。
【０１６３】
また、この実施例によれば、プレイヤのゲーム装置とは異なるゲームマスタのゲーム装置にゲームデータが記憶され、ゲームマスタのゲーム装置はプレイヤのゲーム装置から操作データを受信すると、このゲームデータに対応するパラメータを用いてゲーム処理を実行し、その結果をプレイヤのゲーム装置に送信するので、プレイヤのゲーム装置にゲームデータが記憶されないため、ゲームサーバを設けなくても、ゲームデータが改変されるのを出来る限り防止することができる。
【０１６４】
さらに、この実施例によれば、ゲーム装置にセーブされるのは暗号化ゲームデータであるため、これが改変されたとしても、復号サーバで復号できないため、改変されたゲームデータを用いたゲーム処理が実行されることもない。
【０１６５】
なお、この実施例では、ゲームマスタとして３台のゲーム装置をマッチングするようにしたが、ゲームマスタのゲーム装置の数は、１台または２台でもよい。または、ゲーム装置の能力があれば、４台以上マッチングすることも可能である。ただし、ゲームマスタのゲーム装置の数が１台の場合には、プレイヤのゲーム装置は、当該ゲームマスタのゲーム装置からの結果データや暗号化ゲームデータを受信するだけである。また、ゲームマスタのゲーム装置の数が２台の場合には、プレイヤのゲーム装置は、それらのゲームマスタのゲーム装置からの結果データや暗号化ゲームデータが一致する場合にのみ、その結果データや暗号化データを採用することになる。さらに、ゲームマスタのゲーム装置の数が４台以上の偶数の場合には、等しいものと等しくないものとの数が同じである場合には、等しいものを採用してもよいし、採用しなくてもよい。
【０１６６】
また、この実施例では、携帯型のゲーム装置についてのみ説明したが、通信機能を備える他の携帯可能な情報処理装置、たとえばノートＰＣ，ＰＤＡ，携帯電話機に適用することも可能である。また、携帯可能でない情報処理装置、たとえばデスクトップＰＣ，据置型のゲーム装置などにも適用することも可能である。
【０１６７】
さらに、この実施例では、マッチングサーバ、復号サーバおよび暗号化サーバをそれぞれ別に設けるようにしたが、これらのうちの２つの以上の機能を備える１または２つのサーバを設けるようにしてもよい。
【０１６８】
さらにまた、この実施例では、ゲームデータの暗号化を暗号化サーバで行い、暗号化ゲームデータの復号を復号サーバで行うようにしたが、ゲームマスタのゲーム装置で暗号化や復号を行うようにしてもよい。ユーザが気付かないうちに当該ユーザのゲーム装置がゲームマスタとなっているため、そのゲーム装置で暗号化や復号が行われたとしても、そのゲーム装置で不正行為が行われる可能性は低くなる。
【符号の説明】
【０１６９】
１０  …ゲームシステム
１２  …ゲーム装置
１６  …マッチングサーバ
１８  …復号サーバ
２０  …暗号化サーバ
３０  …ＣＰＵ
３２  …ＲＡＭ
３４  …フラッシュメモリ
３６  …無線通信モジュール
３８  …入力装置
４２  …表示装置
４６  …スピーカ
【図１】
2013111437.tif 000003
【図２】
2013111437.tif 000004
【図３】
2013111437.tif 000005
【図４】
2013111437.tif 000006
【図５】
2013111437.tif 000007
【図６】
2013111437.tif 000008
【図７】
2013111437.tif 000009
【図８】
2013111437.tif 000010
【図９】
2013111437.tif 000011
【図１０】
2013111437.tif 000012
【図１１】
2013111437.tif 000013
【図１２】
2013111437.tif 000014
【図１３】
2013111437.tif 000015
【図１４】
2013111437.tif 000016
【図１５】
2013111437.tif 000017
【図１６】
2013111437.tif 000018
【図１７】
2013111437.tif 000019
【図１８】
2013111437.tif 000020
【図１９】
2013111437.tif 000021
【図２０】
2013111437.tif 000022
【図２１】
2013111437.tif 000023
【図２２】
2013111437.tif 000024
【図２３】
2013111437.tif 000025
【図２４】
2013111437.tif 000026
【図２５】
2013111437.tif 000027