(57)【要約】【課題】  アドホックネットワークを利用した通信グループの親機を適切に設定することができるプログラム、情報記憶媒体、ゲーム機及び通信ゲームシステムを提供する。【解決手段】  通信グループの親機としての参加を要求するための親機希望要求パケットを自機の通信可能範囲に対して通信部に送信させ、送信された親機希望要求パケットに対して自機の通信可能範囲内に存在する他のゲーム機から送信された返答パケットを通信部が受信した場合に、受信した返答パケットに基づいて親機スロットの設定状態を確認し、その確認結果に基づいて空き親機スロットがあると判断された場合には、自機を空き親機スロットの親機として設定する。また自機から送信された親機希望要求パケットに対する他のゲーム機からの返答パケットを所定時間内に通信部が受信しなかった場合には、空き親機スロットがあると判断し、自機を空き親機スロットの親機として設定する。【選択図】      図１８
2007020717.tif 000002
【特許請求の範囲】
【請求項１】
他のゲーム機と無線通信可能なゲーム機のためのプログラムであって、
通信グループの親機としての参加を要求するための親機希望要求パケットを自機の通信可能範囲に対して通信部に送信させる通信制御部と、
送信された親機希望要求パケットに対して自機の通信可能範囲内に存在する他のゲーム機から送信された返答パケットを前記通信部が受信した場合に、受信した返答パケットに基づいて親機スロットの設定状態を確認し、その確認結果に基づいて空き親機スロットがあると判断された場合には、自機を空き親機スロットの親機として設定する親機設定部として、
ゲーム機を機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記親機設定部が、
自機から送信された前記親機希望要求パケットに対する他のゲーム機からの返答パケットを所定時間内に前記通信部が受信しなかった場合には、空き親機スロットがあると判断し、自機を空き親機スロットの親機として設定することを特徴とするプログラム。
【請求項３】
請求項１または２において、
前記通信制御部が、
自機が通信グループの親機として設定された後に、自機の通信可能範囲内に対して、自機が設定された親機スロットのスロット情報と自機の識別情報とを含む状態確認パケットを前記通信部に送信させ、
前記親機設定部が、
他の親機から送信された状態確認パケットを前記通信部が受信した場合に、受信した状態確認パケットに含まれる識別情報に基づき特定される他の親機のスロット情報と自機のスロット情報とを比較し、その比較結果に基づいて、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除する親機設定解除処理を行うことを特徴とするプログラム。
【請求項４】
請求項１〜３のいずれかにおいて、
前記通信制御部が、
自機と他機との間でブロードキャスト方式により少なくとも前記親機希望要求パケットを前記通信部に送受信させ、
自機を含む通信グループ内で無線通信を利用したゲームが開始された後は、その通信グループに参加する他機との間でユニキャスト方式またはマルチキャスト方式によりゲーム情報パケットを前記通信部に送受信させることを特徴とするプログラム。
【請求項５】
請求項１〜４のいずれかにおいて、
親機あるいは子機のいずれとして通信グループに参加するかを選択させるための選択メニューを表示部に表示させる表示制御部としてコンピュータを機能させ、
前記通信制御部が、
親機として参加する旨の選択入力が行われたことを条件に、前記親機希望要求パケットを自機の通信可能範囲に対して前記通信部に送信させることを特徴とするプログラム。
【請求項６】
他のゲーム機と無線通信可能なゲーム機のためのプログラムであって、
自機が通信グループの親機として設定された後に、自機の通信可能範囲内に対して、自機が設定された親機スロットのスロット情報と自機の識別情報とを含む状態確認パケットを通信部に送信させる通信制御部と、
他の親機から送信された状態確認パケットを前記通信部が受信した場合に、受信した状態確認パケットに含まれる識別情報に基づき特定される他の親機のスロット情報と自機のスロット情報とを比較し、その比較結果に基づいて、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除する親機設定解除処理を行う親機設定部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項７】
請求項３〜６のいずれかにおいて、
前記親機設定部が、
同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合に、自機と他の親機との優先順位を判定し、その判定結果に基づいて他の親機より優先順位が低いと判断される場合には前記親機設定解除処理を行うことを特徴とするプログラム。
【請求項８】
請求項７において、
前記親機設定部が、
自機の識別情報と、受信した状態確認パケットに含まれる他の親機の識別情報とを比較することによって前記優先順位を判定することを特徴とするプログラム。
【請求項９】
請求項７において、
前記状態確認パケットが、
自機の親機設定に関連づけられた時間情報を含み、
前記親機設定部が、
自機の時間情報と、受信した状態確認パケットに含まれる他の親機の時間情報とを比較することによって前記優先順位を判定することを特徴とするプログラム。
【請求項１０】
コンピュータにより読取可能な情報記憶媒体であって、請求項１〜９のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
【請求項１１】
他のゲーム機と無線通信可能なゲーム機であって、
無線通信により他のゲーム機との間でパケットの送受信を行う通信部と、
通信グループの親機としての参加を要求するための親機希望要求パケットを自機の通信可能範囲に対して前記通信部に送信させる通信制御部と、
送信された親機希望要求パケットに対して自機の通信可能範囲内に存在する他のゲーム機から送信された返答パケットを前記通信部が受信した場合に、受信した返答パケットに基づいて親機スロットの設定状態を確認し、その確認結果に基づいて空き親機スロットがあると判断された場合には、自機を空き親機スロットの親機として設定する親機設定部と、
を含むゲーム機。
【請求項１２】
他のゲーム機と無線通信可能なゲーム機であって、
無線通信により他のゲーム機との間でパケットの送受信を行う通信部と、
自機が通信グループの親機として設定された後に、自機の通信可能範囲内に対して、自機が設定された親機スロットのスロット情報と自機の識別情報とを含む状態確認パケットを前記通信部に送信させる通信制御部と、
他の親機から送信された状態確認パケットを前記通信部が受信した場合に、受信した状態確認パケットに含まれる識別情報に基づき特定される他の親機のスロット情報と自機のスロット情報とを比較し、その比較結果に基づいて、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除する親機設定解除処理を行う親機設定部と、
を含むゲーム機。
【請求項１３】
複数のゲーム機の間で無線通信を行う通信ゲームシステムであって、
各ゲーム機が、
無線通信により他のゲーム機との間でパケットの送受信を行う通信部と、
通信グループの親機としての参加を要求するための親機希望要求パケットを自機の通信可能範囲に対して前記通信部に送信させる通信制御部と、
送信された親機希望要求パケットに対して自機の通信可能範囲内に存在する他のゲーム機から送信された返答パケットを前記通信部が受信した場合に、受信した返答パケットに基づいて親機スロットの設定状態を確認し、その確認結果に基づいて空き親機スロットがあると判断された場合には、自機を空き親機スロットの親機として設定する親機設定部と、
を含み、
前記各ゲーム機のうちいずれかのゲーム機が親機として設定された後において、
前記親機の通信制御部が、
自機の通信可能範囲内に対して、自機が設定された親機スロットのスロット情報と自機の識別情報とを含む状態確認パケットを前記通信部に送信させ、
前記親機の親機設定部が、
他の親機から送信された状態確認パケットを前記通信部が受信した場合に、受信した状態確認パケットに含まれる識別情報に基づき特定される他の親機のスロット情報と自機のスロット情報とを比較し、その比較結果に基づいて、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除する親機設定解除処理を行うことを特徴とする通信ゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、ゲーム機および通信ゲームシステムに関する。
【背景技術】
【０００２】
従来、複数のゲーム機の間で無線通信を行って、対戦プレイあるいは協力プレイをすることが可能な通信ゲームシステムが知られている。近年では、携帯ゲーム機（携帯情報端末）の普及により専用のサーバーあるいは専用のルーターを経由せずに各ゲーム機が自律分散的にネットワークを構築するアドホックネットワークを利用した通信ゲームシステムが登場している。
【０００３】
このような通信ゲームシステムでは、無線通信によりアドホックネットワークを構築するため、通信環境により各ゲーム機からの送信情報が伝わらないゲーム機が存在する可能性がある。またアドホックネットワークを利用して通信対戦プレイや通信協力プレイなどを行う際には、ゲーム情報を各ゲーム機で個別に管理させるとすると、各ゲーム機で保持する情報が食い違うおそれがある。このためアドホックネットワークに参加するゲーム機の中から１台のゲーム機を親機として設定し、その他のゲーム機を子機として設定し、親機側で管理情報を保持することが行われている。
【０００４】
ところで複数のゲーム機が集まってアドホックネットワークを構築する際に、いずれのゲーム機が親機になるかを決定することが必要となる。従来からクラスタ（通信グループ）形成時に最初にクラスタに参加した無線通信端末をクラスタマスタ（親機）として選定するようなアドホックネットワークの構築手法が知られている（特許文献１参照）。また同一の通信グループに参加する複数のゲーム装置を順番に親機として設定する手法も知られている（特許文献２参照）。
【特許文献１】特開２００３−３１８９１７号公報
【特許文献２】特開２００４−１７４０９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような従来の手法で親機を決める場合、他のゲーム機のプレーヤが親機となることを希望しているにもかかわらず、親機となることを希望していなかったプレーヤのゲーム機が親機として設定されてしまうという問題がある。
【０００６】
本発明は上記事情に鑑みてなされたものであり、その目的は、アドホックネットワークを利用した通信グループの親機を適切に設定することができるプログラム、情報記憶媒体、ゲーム機及び通信ゲームシステムを提供することにある。
【課題を解決するための手段】
【０００７】
（１）本発明は、他のゲーム機と無線通信可能なゲーム機であって、無線通信により他のゲーム機との間でパケットの送受信を行う通信部と、通信グループの親機としての参加を要求するための親機希望要求パケットを自機の通信可能範囲に対して通信部に送信させる通信制御部と、送信された親機希望要求パケットに対して自機の通信可能範囲内に存在する他のゲーム機から送信された返答パケットを前記通信部が受信した場合に、受信した返答パケットに基づいて親機スロットの設定状態を確認し、その確認結果に基づいて空き親機スロットがあると判断された場合には、自機を空き親機スロットの親機として設定する親機設定部と、を含むゲーム機に関係する。また本発明は、上記各部としてゲーム機を機能させるプログラムに関係する。また本発明は、ゲーム機で読み取り可能な情報記憶媒体であって、上記各部としてゲーム機を機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００８】
「自機」とはプレーヤの所有するゲーム機である。「親機」とは、無線通信を使って他のゲーム機と対戦プレイあるいは協力プレイを行うゲームを主催するゲーム機である。また「親機」は、同一通信グループに参加（所属）する子機（ゲーム機）を管理するゲーム機である。すなわち「子機」とは、親機と同一の通信グループに参加（所属）するゲーム機である。また通信グループは、原則として親機として設定されたゲーム機が作ることができる。
【０００９】
本発明によれば、親機希望要求パケットに対する返答パケットに基づいて親機スロットの設定状態を確認して、空き親機スロットがあると判断された場合に、自機を空き親機スロットの親機として設定するようにしたので、親機となることを希望していなかったプレーヤのゲーム機が親機として設定されてしまうという事態を回避することができ、アドホックネットワークを利用した通信グループの親機を適切に設定することができるようになる。
【００１０】
（２）また本発明のゲーム機、プログラム及び情報記憶媒体では、前記親機設定部が、自機から送信された前記親機希望要求パケットに対する他のゲーム機からの返答パケットを所定時間内に前記通信部が受信しなかった場合には、空き親機スロットがあると判断し、自機を空き親機スロットの親機として設定するようにしてもよい。無線通信では、通信環境によって他のゲーム機からの返答パケットが受信できない場合があり、また自機の通信可能範囲内に他のゲーム機が存在しない場合には、いつまで待っても返答パケットは返ってこない場合がある。従って、返答パケットを所定時間内に前記通信部が受信しなかった場合には、空き親機スロットがあると判断するようにすることで、返答パケットを受信できないことによって、親機として設定してもよいか否かの判断ができない状態が長期間続く事態を回避することができる。
【００１１】
（３）また本発明のゲーム機、プログラム及び情報記憶媒体では、前記通信制御部が、
自機が通信グループの親機として設定された後に、自機の通信可能範囲内に対して、自機が設定された親機スロットのスロット情報と自機の識別情報とを含む状態確認パケットを前記通信部に送信させ、前記親機設定部が、他の親機から送信された状態確認パケットを前記通信部が受信した場合に、受信した状態確認パケットに含まれる識別情報に基づき特定される他の親機のスロット情報と自機のスロット情報とを比較し、その比較結果に基づいて、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除する親機設定解除処理を行うようにしてもよい。無線通信では、通信不良により返答パケットの受信が遅れて同じ親機スロットに複数のゲーム機が親機として設定される事態や同じ親機スロットに設定された複数の親機同士が接近することによりスロットが競合する事態などが発生しうる。このような事態を放置すると、各通信グループに参加する子機がいずれの親機の通信グループに参加していたのかを正しく認識できなくなるという不都合がある。従って、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除するようにすることで、子機が自機の参加する通信グループを誤認識するという不都合を回避することができる。
【００１２】
（４）また本発明のゲーム機、プログラム及び情報記憶媒体では、前記通信制御部が、
自機と他機との間でブロードキャスト方式により少なくとも前記親機希望要求パケットを前記通信部に送受信させ、自機を含む通信グループ内で無線通信を利用したゲームが開始された後は、その通信グループに参加する他機との間でユニキャスト方式またはマルチキャスト方式によりゲーム情報パケットを前記通信部に送受信させるようにしてもよい。このようにすれば、ゲームを開始した後は、通信グループ内のゲーム機同士で通信対象のゲーム機を特定したユニキャスト方式あるいはマルチキャスト方式によるパケット通信が行われるので、複数の通信グループ間でゲーム情報パケットの混信が生じる事態を回避することができる。
【００１３】
（５）また本発明のゲーム機では、親機あるいは子機のいずれとして通信グループに参加するかを選択させるための選択メニューを表示部に表示させる表示制御部を含み、前記通信制御部が、親機として参加する旨の選択入力が行われたことを条件に、前記親機希望要求パケットを自機の通信可能範囲に対して前記通信部に送信させるようにしてもよい。また本発明のプログラム及び情報記憶媒体では、上記表示制御部及び前記通信制御部としてゲーム機を機能させてもよい。このようにすれば、プレーヤは自機を親機として参加させるに当たって、選択メニューを通じて親機として参加する旨の選択入力を行うだけよいため、プレーヤの入力インターフェース環境の向上を図ることができる。
【００１４】
（６）また本発明は、他のゲーム機と無線通信可能なゲーム機であって、無線通信により他のゲーム機との間でパケットの送受信を行う通信部と、自機が通信グループの親機として設定された後に、自機の通信可能範囲内に対して、自機が設定された親機スロットのスロット情報と自機の識別情報とを含む状態確認パケットを通信部に送信させる通信制御部と、他の親機から送信された状態確認パケットを前記通信部が受信した場合に、受信した状態確認パケットに含まれる識別情報に基づき特定される他の親機のスロット情報と自機のスロット情報とを比較し、その比較結果に基づいて、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除する親機設定解除処理を行う親機設定部と、を含むゲーム機に関係する。また本発明は、上記各部としてゲーム機を機能させるプログラムに関係する。また本発明は、ゲーム機で読み取り可能な情報記憶媒体であって、上記各部としてゲーム機を機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００１５】
本発明によれば、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除するようにすることで、子機が自機の参加する通信グループを誤認識するという不都合を回避することができる。
【００１６】
（７）また本発明のゲーム機、プログラム及び情報記憶媒体では、前記親機設定部が、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合に、自機と他の親機との優先順位を判定し、その判定結果に基づいて他の親機より優先順位が低いと判断される場合には前記親機設定解除処理を行うようにしてもよい。このようにすれば、優先順位が他の親機より高い場合には、親機設定が解除されないため、無線通信を利用したゲームを継続して行うことができる。
【００１７】
（８）また本発明のゲーム機、プログラム及び情報記憶媒体では、前記親機設定部が、
自機の識別情報と、受信した状態確認パケットに含まれる他の親機の識別情報とを比較することによって前記優先順位を判定するようにしてもよい。例えば、識別番号の大小や識別番号の末尾の大小や識別番号の末尾が偶数であるか奇数であるか等によって、優先順位を判定するようにしてもよい。
【００１８】
（９）また本発明のゲーム機、プログラム及び情報記憶媒体では、前記状態確認パケットが、自機の親機設定に関連づけられた時間情報を含み、前記親機設定部が、自機の時間情報と、受信した状態確認パケットに含まれる他の親機の時間情報とを比較することによって前記優先順位を判定するようにしてもよい。例えば、親機としての参加希望を他のゲーム機に要求した時間や親機として設定された時間等を時間情報として管理しておき、先に通信グループへの参加要求を行ったゲーム機や先に親機として通信グループを形成したゲーム機の優先順位が高いと判定するようにしてもよい。
【００１９】
（１０）また本発明は、複数のゲーム機の間で無線通信を行う通信ゲームシステムであって、各ゲーム機が、無線通信により他のゲーム機との間でパケットの送受信を行う通信部と、通信グループの親機としての参加を要求するための親機希望要求パケットを自機の通信可能範囲に対して前記通信部に送信させる通信制御部と、送信された親機希望要求パケットに対して自機の通信可能範囲内に存在する他のゲーム機から送信された返答パケットを前記通信部が受信した場合に、受信した返答パケットに基づいて親機スロットの設定状態を確認し、その確認結果に基づいて空き親機スロットがあると判断された場合には、自機を空き親機スロットの親機として設定する親機設定部と、を含み、前記各ゲーム機のうちいずれかのゲーム機が親機として設定された後において、前記親機の通信制御部が、
自機の通信可能範囲内に対して、自機が設定された親機スロットのスロット情報と自機の識別情報とを含む状態確認パケットを前記通信部に送信させ、前記親機の親機設定部が、
他の親機から送信された状態確認パケットを前記通信部が受信した場合に、受信した状態確認パケットに含まれる識別情報に基づき特定される他の親機のスロット情報と自機のスロット情報とを比較し、その比較結果に基づいて、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除する親機設定解除処理を行う通信ゲームシステムに関係する。
【００２０】
本発明によれば、親機となることを希望していなかったプレーヤのゲーム機が親機として設定されてしまうという事態を回避することができ、アドホックネットワークを利用した通信グループの親機を適切に設定することができるようになるとともに、子機が自機の参加する通信グループを誤認識するという不都合を回避することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２２】
１．構成
図１及び図２は、本実施形態の通信ゲームシステムのシステム構成を示す図である。
【００２３】
本実施形態の通信ゲームシステムでは、複数のゲーム機ＧＴ１〜ＧＴ３の間で無線通信を行って、各ゲーム機ＧＴ１〜ＧＴ３の所有者が対戦プレイや協力プレイを行うことができる。
【００２４】
無線通信の態様としては、図１に示すように、各ゲーム機ＧＴ１〜ＧＴ３が自律分散的にネットワークを構築し、直接的にゲーム情報等を含むパケットの送受信を行うアドホックモードと、図２に示すように、各ゲーム機ＧＴ１〜ＧＴ３がアクセスポイントＡＣＳＰを介して間接的にゲーム情報等を含むパケットの送受信を行うインフラストラクチャモードとがある。インフラストラクチャモードでは、アクセスポイントＡＣＳＰを介してインターネットＩｎｅｔ（公衆通信網）にアクセスすることができる。そして、各ゲーム機ＧＴ１〜ＧＴ３は、インターネットＩｎｅｔに接続されたゲームサーバーＧＳとの間でゲーム情報あるいはファームウェアのアップデート情報等を含むパケットをアクセスポイントＡＣＳＰを介して送受信することができる。
【００２５】
また図１に示すアドホックモードでは、以下のようにして通信対戦プレイや通信協力プレイを行う通信グループ（クラスタ）を形成する。
【００２６】
まず他のゲーム機との通信プレイを希望するプレーヤが、自機（プレーヤの所有するゲーム機）を通信モードに設定すると、図３（Ａ）に示すように、ロビー基本サービスセット（Ｌ−ＩＢＳＳ）に接続される。
【００２７】
基本サービスセット（BSS；Basic Service Set）とは、各ゲーム機の通信グループの単位である。各ゲーム機は、任意の基本サービスセットに接続することができるが、同一の基本サービスセットに接続しているゲーム機同士でのみ無線通信をすることができる。
【００２８】
また基本サービスセットには、各基本サービスセットを識別するためのサービスセットＩＤ（SSID；Service Set ID）が付与されており、各ゲーム機は、サービスセットＩＤを指定してネットワークに接続する。なお、基本サービスセットは、ゲームアプリケーション毎に異なっていてもよく、その場合には、ゲームアプリケーション毎に異なるサービスセットＩＤが付与される。
【００２９】
ロビー基本サービスセットＬ−ＩＢＳＳ（広義には、第１の基本サービスセット）は、ゲームアプリケーションでの通信モード起動時に最初にゲーム機が参加する基本サービスセットであって、他のゲーム機の探索や対戦／協力のプレイ交渉（マッチング）を行う通信グループである。上述したようにロビー基本サービスセットＬ−ＩＢＳＳにも、固有のサービスセットＩＤが付与される。
【００３０】
そして、ロビー基本サービスセットＬ−ＩＢＳＳに参加しているゲーム機の間でマッチングが済み、対戦プレイや協力プレイ等が開始されると、図３（Ｂ）に示すように、無線通信を利用して対戦プレイや協力プレイを行う通信グループを構成するゲーム機ＧＴ１〜ＧＴ４は、ロビー基本サービスセットＬ−ＩＢＳＳとは、異なる基本サービスセットに所属することになる。この基本サービスセットが、ゲーム基本サービスセットＧ−ＩＢＳＳ（広義には、第２の基本サービスセット）である。ゲーム基本サービスセットＧ−ＩＢＳＳは、ロビー基本サービスセットＬ−ＩＢＳＳでのマッチングにより対戦プレイや協力プレイに合意したゲーム機ＧＴ１〜ＧＴ４からなるグループが使用するための基本サービスセットであって、ロビー基本サービスセットＬ−ＩＢＳＳから独立した基本サービスセットである。ゲーム基本サービスセットＧ−ＩＢＳＳでは、グループ内のゲーム機ＧＴ１〜ＧＴ４同士で個別に無線通信を行うことができる。上述したようにゲーム基本サービスセットＧ−ＩＢＳＳにも、固有のサービスセットＩＤが付与される。なお、本実施形態の通信ゲームシステムでは、マッチングが終了して、ゲーム基本サービスセットＧ−ＩＢＳＳの所属メンバーが決定した後、ゲーム基本サービスセットＧ−ＩＢＳＳの親機がゲームの開始を宣言するパケットを子機に送信して、対戦プレイや協力プレイが開始する時点で、各ゲーム機がロビー基本サービスセットＬ−ＩＢＳＳにおける通信からゲーム基本サービスセットＧ−ＩＢＳＳにおける通信に移行する。
【００３１】
このように本実施形態の通信ゲームシステムでは、通信グループを形成するための交渉の場としてのロビー基本サービスセットＬ−ＩＢＳＳと、実際にグループ内で無線通信を利用した対戦プレイや協力プレイを行うためのゲーム基本サービスセットＧ−ＩＢＳＳとを独立した基本サービスセットとしているので、無関係なトラフィックによる通信環境の劣化を防止している。
【００３２】
図４は、本実施形態の通信ゲームシステムを構成するゲーム機の外観図である。
【００３３】
本実施形態のゲーム機ＧＴは、ディスプレイ１２（液晶ディスプレイ等）、方向キー１４、操作ボタン１６、補助操作ボタン１７Ｒ，１７Ｌ、セレクトボタン１８、スタートボタン２０、アナログスティック４０などの入力インターフェースを備えている。またゲーム機ＧＴには、プレーヤが音入力（音声入力）を行うための音入力装置（マイク）が入力インターフェースとして設けられていてもよい。
【００３４】
ディスプレイ１２（表示部）には種々の画像（ゲーム画像、表示物）が表示される。即ちプレーヤが操作するプレーヤキャラクタ（広義には移動オブジェクト）や、オブジェクト（例えばブロック、また広義には移動オブジェクト、ターゲットオブジェクト）や、背景などの画像が表示される。また得点、ポイント、ステータスなどの各種ゲーム状況情報を知らせる画像が表示される。
【００３５】
プレーヤは、ディスプレイ１２に表示されるゲーム画像を見ながら、左手と右手で方向キー１４や操作ボタン１６を操作してゲームを行う。またディスプレイ１２がタッチパネル機能を有している場合、プレーヤは、ディスプレイ１２に触れることで入力を行うことができる。なおディスプレイ１２がタッチパネル機能を有している場合、プレーヤが手でディスプレイ１２に触れることにより入力が行われてもよいし、スタイラス（入力ペン）の先端でディスプレイ１２に触れることにより入力が行われてもよい。
【００３６】
また図２に示すように、本実施形態のゲーム機ＧＴは側部に、無線通信スイッチ５０を備えている。本実施形態のゲーム機ＧＴでは、無線通信スイッチ５０が、オンにされることにより、他のゲーム機との無線通信が可能となる通信モードに設定される。無線通信の方式としては、無線ＬＡＮ、ブルートゥース（Bluetooth；登録商標）、赤外線（ＩｒＤＡ）などの各種方式が考えられる。特に本実施形態のゲーム機ＧＴは、IEEE802.11プロトコルに準拠した無線ＬＡＮ機能を備えており、無線通信スイッチ５０のオン状態において、上述したアドホックモードあるいはインフラストラクチャモードによる無線ＬＡＮ通信を行うことができる。
【００３７】
また本実施形態のゲーム機ＧＴは側部に、メモリカード用スロット６０（携帯型情報記憶媒体用スロット）を備えている。このメモリカード用スロット６０にメモリカードを挿入することで、メモリカード内にゲームのセーブデータ等を保存したり、セーブデータ等を読み込んでゲームアプリケーションで使用したりすることができる。
【００３８】
なお図２では、本発明を携帯型ゲーム機に適用した場合について示しているが、本発明は、業務用ゲーム機（代価を支払って、ゲームを行うことができる機器）や、携帯型以外の家庭用ゲーム機などにも適用できる。
【００３９】
図５は、本実施形態のゲーム機（画像生成システム）の機能ブロック図の例を示す。なお、本実施形態のゲーム機は、図５の構成要素（各部）を全て含む必要はなく、その一部を省略した構成としてもよい。
【００４０】
入力インターフェース１６０は、プレーヤが行った操作等をデータとして入力するためのものであり、その機能は、コントローラ、操作ボタン、操作レバー、タッチパネル或いはマイク（音入力装置）などのハードウェアにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００４１】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ等）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）や携帯型情報記憶媒体１９４から読み出されたデータなどに基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。また携帯型情報記憶媒体１９４には、プレーヤの個人データやゲームのセーブデータ等、本実施形態の各部としてコンピュータを機能させるためのプログラムのための補助データ（付加データ）が記憶される。なお携帯型情報記憶媒体１９４は、メモリカード、磁気カード、ＩＣカード、バーコードが印字されたカード等であってもよい。また携帯型情報記憶媒体１９４の代替品として、携帯型ゲーム機や携帯電話等の携帯情報端末のメモリ等を用いてもよい。
【００４２】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴディスプレイ、ＬＣＤ（液晶ディスプレイ）、ＯＥＬＤ(有機ＥＬディスプレイ)、ＰＤＰ（プラズマディスプレイパネル）、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
【００４３】
通信部１９６は、外部（例えばホスト装置や他のゲーム機）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４４】
特に本実施形態のゲーム機ＧＴでは、通信部１９６が無線ＬＡＮ機能を備えている。ゲーム機ＧＴが内蔵する無線ＬＡＮ機能は、IEEE 802.11規格（例えば、IEEE 802.11b）に準拠しており、ブロードキャスト方式、ユニキャスト方式、あるいはマルチキャスト方式によるパケット通信（データ通信）を行うことができる。
【００４５】
ブロードキャスト（Broadcast）方式とは、図６（Ａ）に示すように、自機(ゲーム機ＧＴ１)の通信可能範囲ＮＡ１内に存在する不特定多数の相手（ノード）に向かってデータ(データを含むパケット)を送信する通信方式である。この方式では、自機（ゲーム機ＧＴ１）の通信可能範囲ＮＡの全体を意味する特殊なネットワークアドレスを指定することによってデータの送信を行う。そして図６（Ａ）に示す例では、ゲーム機ＧＴ２，ＧＴ３が、ゲーム機ＧＴ１からブロードキャスト方式で送信された同じデータ（データを含むパケット）を受信することができる。
【００４６】
またユニキャスト（Unicast）方式とは、自機の通信可能範囲内で、単一のネットワークアドレスを指定して特定の相手（ノード）にデータ（データを含むパケット）を送信する通信方式であって、マルチキャスト（Multicast）方式とは、自機の通信可能範囲内で、複数の相手（ノード）のネットワークアドレスを指定して同じデータ（データを含むパケット）を送信する通信方式である。図６（Ｂ）に示す例では、ゲーム機ＧＴ１が自機（ゲーム機ＧＴ１）の通信可能範囲ＮＡ１内に存在するゲーム機ＧＴ２，ＧＴ３にデータ（データを含むパケット）をマルチキャスト方式で送信しており、ゲーム機ＧＴ２，ＧＴ３は、それぞれの通信可能範囲ＮＡ２，ＮＡ３内に存在するゲーム機ＧＴ１のみを指定したユニキャスト方式でゲーム機ＧＴ１に対してデータ（データを含むパケット）送信していることになる。
【００４７】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（ゲームサーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０）に配信するようにしてもよい。このようなホスト装置（ゲームサーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００４８】
処理部１００（プロセッサ）は、入力インターフェース１６０からの入力データやプログラムなどに基づいて、ゲーム演算処理、通信処理、画像生成処理、或いは音生成処理などの各種の処理を行う。処理部１００は記憶部１７０をワーク領域として各種処理を行う。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）やＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラム（ゲームプログラム）により実現できる。
【００４９】
処理部１００は、ゲーム演算部１１０、通信制御部１１２、親機設定部１１４、画像生成部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００５０】
ゲーム演算部１１０は、ゲーム開始条件が満たされた場合にゲームを開始させる処理、ゲームを進行させる処理、キャラクタなどの表示物（オブジェクト）を配置する処理、表示物を表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了させる処理などをゲーム演算処理として行う。
【００５１】
またゲーム演算部１１０は、入力インターフェース１６０や表示部１９０からの入力情報やプログラム等に基づき、ゲーム空間内でプレーヤキャラクタの位置／動作を演算し、ゲーム空間内でプレーヤキャラクタが移動／動作するゲーム演算を行う。例えば、表示制御処理や移動・動作処理やゲーム情報受け取り処理やゲーム情報送信処理等を行う。
【００５２】
表示制御処理としては、表示部１９０に表示される画像（オブジェクト）の表示制御を行うことができる。具体的には、表示すべきオブジェクト（キャラクタ、標的、車、ボール、アイテム、建物、樹木、柱、壁、マップ）を発生させたり、オブジェクトの表示や表示位置を指示したり、オブジェクトを消滅させたりするなどの表示制御を行う。即ち発生したオブジェクトをオブジェクトリストに登録したり、オブジェクトリストを画像生成部１２０等に転送したり、消滅したオブジェクトをオブジェクトリストから削除したりするなどの表示制御を行う。
【００５３】
また表示制御処理としては、プレーヤの入力情報等により、プレーヤキャラクタやオブジェクトの移動や動作が発生した場合に、発生した移動や動作の画像を表示部１９０に表示するための制御を行う。
【００５４】
移動・動作処理としては、ゲームフィールド（ゲーム空間、２次元又は３次元のオブジェクト空間）でオブジェクト（２次元又は３次元のオブジェクト）を移動させるための処理を行うことができる。即ち入力インターフェース１６０からプレーヤが入力した入力データや、プログラム（移動アルゴリズム）や、各種データ（オブジェクトリスト）などに基づいて、オブジェクトを移動させる処理を行う。更に具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）を、１フレーム（１／６０秒）毎に順次求める処理を行う。また移動・動作処理としては、オブジェクトを動作させるための処理も行うことができる。即ち入力インターフェース１６０を用いてプレーヤが入力した入力データや、プログラム（動作アルゴリズム）や、各種データ（モーションデータ、アニメーションデータ）などに基づいて、オブジェクトを動作（モーション、アニメーション）させる処理を行う。更に具体的には、オブジェクトの動作情報（各パーツオブジェクトの位置、回転角度、或いは形状）を、１フレーム（１／６０秒）毎に順次求める処理を行う。なおフレームは、オブジェクトの移動制御処理や動作制御処理や画像生成処理を行う時間の単位である。
【００５５】
特に、本実施形態のゲーム機ＧＴでは、ゲーム演算部１１０が表示制御処理を行う場合（表示制御部として機能する場合）、親機あるいは子機のいずれとして通信グループに参加するかを選択させるための選択メニューを表示部１９０に表示させる処理などを行う。またゲーム機ＧＴが親機として設定された場合には、子機の参加状況を表示部１９０に表示させる処理を行う。またゲーム機ＧＴが子機として通信グループに参加する際には、複数存在しうる通信グループのいずれに参加するかをプレーヤに選択させるためのグループ選択メニューを表示部１９０に表示させる処理を行う。グループ選択メニューの画面には、各通信グループへの参加の可否、各通信グループを構成する親機・子機の情報などが表示される。
【００５６】
通信制御部１１２は、他のゲーム機に送信するパケットを生成する処理、パケット送信先のゲーム機のネットワークアドレスを指定する処理、受信したパケットを記憶部１７０に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する通信部１９６の制御処理等を行う。
【００５７】
そして本実施形態のゲーム機ＧＴでは、通信制御部１１２は、通信グループの親機としての参加を要求するための親機希望要求パケット（広義には、第１のパケット）を自機の通信可能範囲に対して通信部１９６に送信させる処理を行う。具体的には、プレーヤにより入力インターフェース１６０を介した親機として参加する旨の選択入力が行われたことを条件に、親機希望要求パケットを自機の通信可能範囲に対して通信部１９６に送信させる。また親機希望要求パケットを通信部１９６にて受信した場合には、返答パケット（広義には、第２のパケット）を通信部１９６に送信させる処理を行う。本実施形態では、既に親機として設定されたゲーム機が親機希望要求パケットに対する返答パケットを送信することができる。返答パケットには、親機の設定状態の情報が含まれる。具体的には、どの親機スロットにどのゲーム機が親機として設定されているかの情報が返答パケットに含まれる。なお、子機が親機希望要求パケットを受信した場合に、返答パケットを送信することができるようにしてもよい。また返答パケットは、親機希望要求パケットを送信したゲーム機にユニキャスト方式で送信されてもよいし、親機希望要求パケットを受信したら相手を特定せずにブロードキャスト方式で送信されてもよい。
【００５８】
また通信制御部１１２は、自機が通信グループの親機として設定された後においては、自機の通信可能範囲内に対して、自機が設定された親機スロットのスロット情報と自機の識別情報とを含む状態確認パケット（広義には、第３のパケット）を通信部１９６に送信させる処理を行う。スロット情報とは、ゲーム機毎に割り当てられるパケット送受信のためのタイムスロットの情報である。タイムスロットには、スロット識別番号が割り当てられており、状態確認パケットは、スロット識別番号をスロット情報として含むことが出来る。また状態確認パケットは、自機の識別情報として、プレーヤの所有するゲーム機毎に与えられた固有の情報であって、ネットワークアドレス、ユーザーＩＤ、シリアルナンバーなどを含むことができる。
【００５９】
また通信制御部１１２は、自機と他機との間でブロードキャスト方式により少なくとも親機希望要求パケットを通信部１９６に送受信させ、自機を含む通信グループ内で無線通信を利用したゲームが開始された後は、その通信グループに参加する他機との間でユニキャスト方式またはマルチキャスト方式によりゲーム情報パケットを通信部１９６に送受信させる処理を行う。
【００６０】
親機設定部１１４は、自機の通信部１９６から送信された親機希望要求パケットに対して自機の通信可能範囲内に存在する他のゲーム機から送信された返答パケットを通信部が受信した場合に、受信した返答パケットに基づいて親機スロットの設定状態を確認し、その確認結果に基づいて空き親機スロットがあると判断された場合には、自機を空き親機スロットの親機として設定する処理を行う。
【００６１】
また親機設定部１１４は、自機の通信部１９６から送信された親機希望要求パケットに対する他のゲーム機からの返答パケットを所定時間内に通信部１９６が受信しなかった場合には、空き親機スロットがあると判断し、自機を空き親機スロットの親機として設定する処理を行う。
【００６２】
また親機設定部１１４は、他の親機から送信された状態確認パケットを通信部１９６が受信した場合に、受信した状態確認パケットに含まれる識別情報に基づき特定される他の親機のスロット情報と自機のスロット情報とを比較し、その比較結果に基づいて、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除する親機設定解除処理を行う。
【００６３】
また親機設定部１１４は、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合に、自機と他の親機との優先順位を判定し、その判定結果に基づいて他の親機より優先順位が低いと判断される場合には親機設定解除処理を行う。
【００６４】
具体的には、自機の識別情報と、受信した状態確認パケットに含まれる他の親機の識別情報とを比較することによって優先順位を判定することができる。識別情報が番号である場合には、番号の大小や、番号の先頭や末尾が奇数であるか偶数であるか等によって優先順位を判定することができる。また状態確認パケットが、自機の親機設定に関連づけられた時間情報を含む場合には、自機の時間情報と、受信した状態確認パケットに含まれる他の親機の時間情報とを比較することによって優先順位を判定する。自機の親機設定に関連づけられた時間情報としては、例えば、親機希望要求パケットを送信した時間、親機として設定された時間等がある。この場合には、時間の早い順あるいは遅い順によって優先順位を判定することができる。なお優先順位は、プレーヤのゲーム履歴や乱数を用いた抽選等によって判定してもよい。
【００６５】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。この場合、画像生成部１２０が生成する画像は、いわゆる２次元画像であってもよいし、３次元画像であってもよい。そして３次元画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を描画バッファ（フレームバッファあるいは中間バッファなどのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００６６】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００６７】
なお、本実施形態のゲームシステムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて生成してもよい。
【００６８】
２．本実施形態の手法
２．１  親機の設定手法
本実施の形態では、通信グループに親機として参加しようとするゲーム機が親機希望要求パケットをブロードキャスト送信し、他のゲーム機から送信された親機希望要求パケットに対する返答パケットに基づいて親機スロットの空き状態を確認して、親機設定の可否を判断する手法を採用する。
【００６９】
図７に本実施形態の通信ゲームシステムで各ゲーム機が構成する通信グループについてのタイムスロットの状態図を模式的に示す。
【００７０】
本実施形態の通信ゲームシステムでは、ゲームアプリケーションにおいて２つの通信グループＧ−ＩＢＳＳ１，Ｇ−ＩＢＳＳ２が併存可能とされており、各通信グループＧ−ＩＢＳＳ１，Ｇ−ＩＢＳＳ２に参加可能なゲーム機は、親機と子機とを含めて４台とされている。すなわち、各通信グループＧ−ＩＢＳＳ１，Ｇ−ＩＢＳＳ２には、１台の親機と３台の子機とが参加可能である。
【００７１】
図７に示すように、各通信グループＧ−ＩＢＳＳ１，Ｇ−ＩＢＳＳ２に対しては、それぞれ１台分の親機スロットＰＳ１，ＰＳ２が割り当てられ、各親機スロットＰＳ１，ＰＳ２には、スロット識別番号（スロット情報）として「Ｐ００１」，「Ｐ００２」が割り当てられている。また各通信グループＧ−ＩＢＳＳ１，Ｇ−ＩＢＳＳ２に対しては、それぞれ３台分の子機スロットＣＳ１，ＣＳ２が割り当てられ、スロット識別番号として「Ｃ１０１」，「Ｃ１０２」，「Ｃ１０３」，「Ｃ２０１」，「Ｃ２０２」，「Ｃ２０３」が割り当てられている。各通信グループＧ−ＩＢＳＳ１，Ｇ−ＩＢＳＳ２に参加したゲーム機は、これらの親機スロットあるいは子機スロットに対応するタイムスロットを使用して無線によるパケット通信を行うことができる。
【００７２】
そして、図８に示すように、ゲーム機ＧＴ１が親機として通信グループに参加しようとする場合、自機の通信可能範囲ＮＡ１の全体に親機希望要求パケットＰＲＰをブロードキャスト方式で送信する。すなわち、自機が親機として設定できるか否かの問い合わせを行う。
【００７３】
このときゲーム機ＧＴ１の通信可能範囲ＮＡ１内にいるゲーム機ＧＴ２が親機であったとすると、ゲーム機ＧＴ２は、ゲーム機ＧＴ１からの親機希望要求パケットＰＲＰを受信したことを条件に、ゲーム機ＧＴ１に対して返答パケットＡＰをユニキャスト方式で送信する。なお、返答パケットＡＰは、ゲーム機ＧＴ２の通信可能範囲ＮＡ２の全体にブロードキャスト方式で送信されてもよい。なお図８に示す例において親機であるゲーム機ＧＴ２から送信される返答パケットＡＰには、ゲーム機ＧＴ２が既に親機として設定されていることを通知する情報と、ゲーム機ＧＴ２がどの親機スロットに設定されているのかを通知する情報とが含まれている。
【００７４】
そして図９（Ａ）に示すように、ゲーム機ＧＴ１が自機から送信した親機希望要求パケットＰＲＰに対するゲーム機ＧＴ２からの返答パケットＡＰを受信すると、受信した返答パケットＡＰを解析して、親機の設定状態、言い換えれば親機スロットの空き状態を確認する。この場合には、１台分の空き親機スロットがあると判断できるため、ゲーム機ＧＴ１は、ゲーム機ＧＴ２が設定されている親機スロットとは異なる親機スロットに自機を親機として設定する処理を行う。
【００７５】
また本実施形態の通信ゲームシステムは、無線ＬＡＮを利用しているため、通信不良等によりゲーム機ＧＴ２から返答パケットＡＰが届かない場合がある。このとき、ゲーム機ＧＴ１は、所定時間をカウントして、所定時間が経過するまで返答パケットＡＰが受信できなかった場合には、２台分の空き親機スロットがあるものと判断して自機をいずれかの空き親機スロットの親機として設定する。このようにすることで、返答パケットＡＰを受信できないことによって、親機として設定してもよいか否かの判断ができない状態が長期間続く事態を回避することができる。
【００７６】
次に図１０に示す例では、親機としての参加を希望するゲーム機ＧＴ１の通信可能範囲ＮＡ１内に他の親機であるゲーム機ＧＴ２が存在しており、ゲーム機ＧＴ２の通信可能範囲ＮＡ２内で、かつゲーム機ＧＴ１の通信可能範囲ＮＡ１外に他の親機であるゲーム機ＧＴ７が存在している。
【００７７】
ここで、親機であるゲーム機ＧＴ２，ＧＴ７は、それぞれ自機の通信可能範囲ＮＡ２，ＮＡ７に対して状態確認パケットＳＣＰ２，ＳＣＰ７をブロードキャスト方式で送信している。状態確認パケットは、自機の識別情報（例えば、シリアルナンバー、ネットワークアドレス等）と、自機が設定された親機スロットのスロット情報（例えば、スロット識別番号「Ｐ００１」あるいは「Ｐ００２」）とを含むパケットである。すなわちゲーム機ＧＴ２は、ゲーム機ＧＴ７から送信された状態確認パケットＳＰＣ７を受信して、そのパケットの内容を解析することにより、自機の通信可能範囲ＮＡ２内に存在するゲーム機ＧＴ７がどの親機スロットに設定されているのかを確認することができる。またゲーム機ＧＴ７は、ゲーム機ＧＴ２から送信された状態確認パケットＳＰＣ２を受信して、そのパケットの内容を解析することにより、自機の通信可能範囲ＮＡ７内に存在するゲーム機ＧＴ２がその親機スロットに設定されているのかを確認することができる。このように本実施の形態の手法では、親機同士が状態確認パケットを通じて互いの親機スロットの設定状態を確認しあうことができる。
【００７８】
そして、図１０に示す例では、ゲーム機ＧＴ２がゲーム機ＧＴ１が送信した親機希望要求パケットＰＲＰを受信した場合に、自機（ゲーム機ＧＴ２）の親機スロットのスロット情報と、状態確認パケットＳＰＣ７の受信によって取得したゲーム機ＧＴ７の親機スロットのスロット情報とを返答パケットＡＰに含めてゲーム機ＧＴ１に送信する。
【００７９】
すると、ゲーム機ＧＴ２からの返答パケットＡＰを受信したゲーム機ＧＴ１は、受信した返答パケットＡＰを解析することにより２台分の親機スロットが既に設定済みであることを把握することができ、図１１に示すように、自機(ゲーム機ＧＴ１)を親機として設定できないと判断することができる。
【００８０】
このように本実施形態の親機の設定手法によれば、親機希望要求パケットＰＲＰに対する返答パケットＡＰに基づいて親機スロットＰＳ１，ＰＳ２の設定状態を確認して、空き親機スロットがあると判断された場合に、自機を空き親機スロットの親機として設定するようにしたので、親機となることを希望していなかったプレーヤのゲーム機が親機として設定されてしまうという事態を回避することができ、アドホックネットワークを利用した通信グループの親機を適切に設定することができるようになる。
【００８１】
２．２  親機の設定解除手法
本実施形態の通信ゲームシステムでは、無線通信を利用して対戦プレイや協力プレイを行わせる構成を採用しているため、互いの通信可能範囲内に存在する複数の親機が同一の親機スロットに設定されている競合状態が発生する可能性がある。
【００８２】
例えば、図１２（Ａ）に示すように、ゲーム機ＧＴ１が親機としての参加を希望して、親機希望要求パケットＰＲＰを通信可能範囲ＮＡ１の全体に送信したが、通信可能範囲ＮＡ１内に存在する既に親機スロットＰＳ１に親機として設定されているゲーム機ＧＴ２に通信不良等によりゲーム機ＧＴ１の送信した親機希望要求パケットＰＲＰが届かなかったとすると、ゲーム機ＧＴ１が親機スロットＰＳ１に親機として設定された場合に、親機スロットＰＳ１に関して競合状態が発生する。
【００８３】
また例えば、図１２（Ｂ）に示すように、親機としての参加を希望するゲーム機ＧＴ１からの親機要求パケットＰＲＰは、ゲーム機ＧＴ１の通信可能範囲ＮＡ１内に存在する親機スロットＰＳ１に設定されたゲーム機ＧＴ２に届いたが、ゲーム機ＧＴ２からの返答パケットＡＰが通信不良等により所定時間内にゲーム機ＧＴ１に届かずに親機スロットＰＳ１が空き状態であると誤って判断されて、ゲーム機ＧＴ１が親機スロットＰＳ１に親機として設定されてしまうと、親機スロットＰＳ１に関して競合状態が発生する。
【００８４】
また親機の設定処理時には問題がなくても、事後的に親機スロットの競合状態が発生する場合もある。
【００８５】
例えば、図１３（Ａ）に示すように、ゲーム機ＧＴ１及びゲーム機ＧＴ２が、互いの通信可能範囲ＮＡ１，ＮＡ２内に存在せず、ともに正常に親機スロットＰＳ１に設定されていた場合に、図１３（Ｂ）に示すように、ゲーム機ＧＴ１がゲーム機ＧＴ２の通信可能範囲ＮＡ２内に移動してくることによって、ゲーム機ＧＴ１，ＧＴ２が互いの通信可能範囲ＮＡ１，ＮＡ２に存在することになってしまった場合に親機スロットＰＳ１に関して競合状態が発生する。
【００８６】
このように親機スロットの競合状態が発生すると、子機は自らが参加する通信グループの親機が正しく認識することが出来なくなり、パケットの混信等の悪影響を招くという不都合がある。
【００８７】
そこで本実施形態では、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除する親機設定解除処理を行う手法を採用する。
【００８８】
具体的には、自機が通信グループの親機として設定された後に、自機の通信可能範囲内に対して、自機が設定された親機スロットのスロット情報と自機の識別情報とを含む状態確認パケットをブロードキャスト送信している。例えば、図１４に示すように、それぞれ親機として設定されたゲーム機ＧＴ１〜ＧＴ３は、自機の通信可能範囲ＮＡ１〜ＮＡ３に状態確認パケットＳＣＰ１〜ＳＣＰ３をブロードキャスト送信している。
【００８９】
そして状態確認パケットを受信した場合に、受信した状態確認パケットに含まれる識別情報に基づき特定される他の親機のスロット情報と自機のスロット情報とを比較する。そして比較結果に基づいて、自機の親機の設定を解除するべきか否かを判断している。
【００９０】
図１４によれば、ゲーム機ＧＴ１は、自機の通信可能範囲ＮＡ１内に存在するゲーム機ＧＴ２から送信された状態確認パケットＳＣＰ２を受信する。ゲーム機ＧＴ２は、自機の通信可能範囲ＮＡ２内に存在するゲーム機ＧＴ１から送信された状態確認パケットＳＣＰ１とゲーム機ＧＴ３から送信された状態確認パケットＳＣＰ３とを受信する。ゲーム機ＧＴ３は、自機の通信可能範囲ＮＡ３内に存在するゲーム機ＧＴ２から送信された状態確認パケットＳＣＰ２を受信する。
【００９１】
そして、ゲーム機ＧＴ１〜ＧＴ３は、受信した状態確認パケットを解析して、送信元の親機の親機スロットが自機の親機スロットと競合（重複）するかどうかを判断する。図１５（Ａ）によれば、ゲーム機ＧＴ１とゲーム機ＧＴ２とは、ともに同一の親機スロットＰＳ１に設定されているため、スロット競合が生じていると判断する。ゲーム機ＧＴ３は、ゲーム機ＧＴ２との間では、スロット競合が生じていないと判断する。そして、図１５（Ａ）に示す場合では、同一の親機スロットＰＳ１に重複して親機設定されたと判断したゲーム機ＧＴ１，ＧＴ２が親機スロットＰＳ１への親機設定を解除する。この場合、ゲーム機ＧＴ１を親機とする通信グループおよびゲーム機ＧＴ３を親機とする通信グループは解散されることになる。しかしながら、この手法によれば、各通信グループに参加していた子機が自機の参加する通信グループの親機がゲーム機ＧＴ１，ＧＴ２のいずれであるのか正しく認識できなくなるような異常な事態を回避することができる。
【００９２】
一方で図１５（Ａ）に示すような手法であると、スロット競合が生じた親機の通信グループは全て解散されてしまい多くのプレーヤがその影響を受ける。このため、スロット競合が生じた場合に、いずれかの親機が設定を解除するようにすれば、親機の設定解除による影響を受けるプレーヤの数を少なくすることができる。
【００９３】
そこで、図１５（Ｂ）に示すように、ゲーム機ＧＴ１，ＧＴ２間で親機スロットＰＳ１の競合状態が確認されたら、ゲーム機ＧＴ１，ＧＴ２間の優先順位を比較して、下位のゲーム機のみが親機の設定を解除するようにする手法が考えられる。図１５（Ｂ）に示す例では、ゲーム機ＧＴ１の方がゲーム機ＧＴ２に対して優先順位が下位であると判定されて、ゲーム機ＧＴ１が親機スロットＰＳ１への親機設定を解除している。
【００９４】
ゲーム機間の優先順位の判定手法としては、様々な手法が考えられる。例えば、通信グループの親機としての参加を要求したタイミングが早い順あるいは遅い順、通信グループの親機として設定されたタイミングが早い順あるいは遅い順、ゲーム機のシリアルナンバー等のゲーム機に固有の識別番号が大きい順あるいは小さい順、ゲーム機に固有の識別番号の末尾が偶数であるかあるいは奇数であるか、または乱数を用いた抽選等によってゲーム機に優先順位をつけてその上下によって親機の設定を解除すべきであるか否かを各ゲーム機が判断するようにすることができる。
【００９５】
２．３  表示制御手法
図１６（Ａ）〜図１６（Ｅ）に、親機として通信グループに参加する際の表示画面の例を示す。
【００９６】
本実施形態の表示制御手法では、図１６（Ａ）に示すように、通信グループに親機あるいは子機のいずれとして参加するのかをプレーヤに選択させるためのアイコン２０１，２０２を含む選択メニューを表示する。アイコン２０１は、親機として通信グループに参加することを選択させるためのアイコンである。アイコン２０２は、子機として通信グループに参加することを選択させるためのアイコンである。プレーヤは、選択マーク２１０を上下に移動させる入力を行って、アイコン２０１，２０２を選択することができる。そして、プレーヤがアイコン２０１に選択マーク２１０を合わせて、決定入力を行うと、親機希望要求パケットをブロードキャスト送信して、親機設定の可否を問い合わせる親機設定処理が行われ、自機を親機として設定できた場合には、図１６（Ｂ）の画面が表示される。
【００９７】
図１６（Ｂ）に示す画面では、子機の参加を待機するメッセージ表示を含む通信グループの参加メンバーリスト２２０が表示される。図１６（Ｂ）に示す場合は、まだ子機が参加していないため、自機のユーザー名「ああああ」のみが参加メンバーとして表示されている。そして自機の通信グループに子機が参加してくると、図１６（Ｃ）に示すように、参加メンバーリスト２２０の表示内容が更新され、新たに参加してきた子機のユーザー名「いいいい」が表示される。子機は、通信グループの定員になるまで受け付けられ、親機および子機の総数が定員数に達すると、図１６（Ｄ）に示すように、参加メンバーリスト２２０には、参加メンバー全員のユーザー名が表示されるとともに、通信グループの参加者が定員に達した旨を通知するメッセージ表示がなされる。
【００９８】
また、プレーヤが親機として参加することを希望して、図１６（Ａ）に示す選択メニューにおいて、アイコン２０１を選択したにもかかわらず、空き親機スロットがないために、自機を親機として設定することが出来ない場合には、図１６（Ｅ）に示すように、空き親機スロットがないことを通知するメッセージ表示２３０が選択メニュー画面にて表示される。
【００９９】
本実施形態の表示制御手法では、選択メニューでアイコンの選択入力を行うだけで、親機希望要求パケットをブロードキャスト送信する処理を含む親機設定処理が開始されるようにしているので、プレーヤの入力インターフェース環境を向上させることができる。
【０１００】
図１７（Ａ）及び図１７（Ｂ）に、親機として通信グループに参加する際の表示画面の例を示す。
【０１０１】
図１７（Ａ）に示すように、選択メニューにおいて、プレーヤがアイコン２０２に選択マーク２１０を合わせて、決定入力を行うと、親機の探索が行われる。すなわち親機がブロードキャスト送信している状態確認パケットの取得を試みて、状態確認パケットが受信できた場合には、図１７（Ｂ）の画面を表示する。
【０１０２】
図１７（Ｂ）に示すように、状態確認パケットが受信されると、受信した状態確認パケットに基づいて、通信グループに対応した通信グループの参加メンバーリスト２４１，２４２が表示される。プレーヤは、選択マーク２５０を左右に移動させて、参加を希望する通信グループの参加メンバーリスト２４２に選択マーク２５０を合わせて決定入力を行うことで、子機としての参加を完了する。なお、図１７（Ｂ）に示す例では、参加メンバーリスト２４１に対応する通信グループは参加メンバー数が定員数に達しているので、その通信グループには参加することができない旨を通知するメッセージ表示がなされる。
【０１０３】
本実施形態の表示制御手法では、通信グループへの参加の可否とともに、参加メンバーを表示する参加メンバーリストを子機としての参加を希望するゲーム機のディスプレイに表示するようにしたので、プレーヤが自機の通信可能範囲に存在する任意の通信グループに参加することができるようになる。
【０１０４】
３．本実施形態の処理
次に、本実施形態の処理の詳細例について、図１８〜図２２のフローチャートを用いて説明する。
【０１０５】
図１８は、親機設定処理の一例を示すフローチャートである。
【０１０６】
まずプレーヤから親機希望の選択入力が行われると（ステップＳ１０でＹ）、自機の通信可能範囲に対して親機希望要求パケットをブロードキャスト方式で送信し（ステップＳ１１）、送信した親機希望要求パケットに対する返答パケットの受信を待機する（ステップＳ１２、ステップＳ１６）。
【０１０７】
そして、返答パケットを受信した場合には（ステップＳ１２でＹ）、受信した返答パケットを解析して親機の設定状態を確認する（ステップＳ１３）。親機の設定状態を確認した結果、空き親機スロットがあると判断される場合には（ステップＳ１４でＹ）、空き親機スロットに自機を親機として設定する（ステップＳ１５）。なお空き親機スロットがないと判断される場合には（ステップＳ１４でＮ）、親機設定処理を終了する。
【０１０８】
一方、通信不良や自機の通信可能範囲内に他のゲーム機が存在しないために、所定時間を経過しても返答パケットを受信しなかった場合には（ステップＳ１２でＮ、ステップＳ１６でＹ）、空き親機スロットがあると判断し、自機を空き親機スロットの親機として設定する（ステップＳ１５）。
【０１０９】
図１９は、親機設定解除処理の一例を示すフローチャートである。
【０１１０】
まず親機として設定されたゲーム機は、自機の通信可能範囲内に自機の識別情報と、自機が設定された親機スロットのスロット情報とを含む状態確認パケットをブロードキャスト方式で送信する（ステップＳ２０）。
【０１１１】
次に、他の親機から状態確認パケットを受信した場合には（ステップＳ２１でＹ）、自機の親機スロットのスロット情報と、受信した状態確認パケットに基づき特定される他の親機の親機スロットのスロット情報とを比較して、親機スロットの重複（競合）が生じているか否かを判断する（ステップＳ２２）。
【０１１２】
そして、自機の親機スロットと他の親機の親機スロットとが重複していると判断される場合には（ステップＳ２２でＹ）、自機の親機スロットへの設定を解除し（ステップＳ２３）、親機の設定を解除した旨を通知するパケット（親機設定解除通知パケット）をブロードキャスト方式で送信する（ステップＳ２４）。これにより通信を終了し、通信グループは解散となる。
【０１１３】
なお、ステップＳ２０〜Ｓ２２までの処理は、プレーヤがゲームの開始を決定する入力を行うまで繰返し行われる（ステップＳ２５でＮ）。一方、ゲームが開始した場合には（ステップＳ２５でＹ）、ユニキャスト方式によるグループ内通信でゲーム情報パケットの送受信を行う処理ルーチンへ移行する。
【０１１４】
図２０は、親機設定解除処理の他の一例を示すフローチャートである。図２０については、図１９のフローチャートと同じ処理については詳細な説明を省略し、相違点のみを説明する。
【０１１５】
この処理例では、自機の親機スロットと他の親機の親機スロットとが重複していると判断された場合に（ステップＳ２０でＹ）、自機と他の親機との優先順位を比較する処理を行い（ステップＳ２２１）、比較の結果、相手より優先順位が下であった場合には（ステップＳ２２でＹ）、親機の設定を解除している（ステップＳ２３）。優先順位は、各親機に固有の識別情報や各親機の設定に関連する時間情報等に基づいて、その上下を判定することができる。
【０１１６】
図２１は、ユニキャスト方式でのグループ内通信を行う際のゲーム情報パケットの送信処理の一例を示すフローチャートである。
【０１１７】
子機あるいは親機へのゲーム情報パケットの送信処理（ステップＳ３１）は、パケットの送信タイミングが到来した場合（ステップＳ３０でＹ）に行われる。パケットの送信タイミングは、ゲーム情報パケットに含まれるデータによって様々である。例えば、親機がゲームの開始を宣言するためのパケットについては、親機のプレーヤがゲーム開始の決定入力を行った場合に送信タイミングが到来したと判断される。またゲームの管理情報を含むパケットなどは、ゲームの進行に合わせて定期あるいは不定期にパケットの送信タイミングが到来する。また通信グループ内のゲーム機間でゲームの進行状況の同期を図るための同期情報を含むパケット等はフレーム更新毎に定期的にパケットの送信タイミングが到来する。
【０１１８】
図２２は、ユニキャスト方式でのグループ内通信を行う際のゲーム情報パケットの受信エラー処理の一例を示すフローチャートである。無線通信では通信不良を放置すると、プレーヤを混乱させることになるため、ゲーム情報パケットの受信に際して、タイムアウト期間を予め定めている。
【０１１９】
具体的には、子機あるいは親機からゲーム情報パケットを受信できなかった場合には（ステップＳ４１でＮ）、タイムアウトカウンタのカウントダウン処理を行う（ステップＳ４２）。そして、タイムアウトカウンタのカウント値が０になるまでにゲーム情報パケットが受信できなかった場合には（ステップＳ４３でＹ）、通信エラーと判断されてエラー処理に移行する。一方、タイムアウトカウンタのカウント値が０になる前に、子機あるいは親機からゲーム情報パケットを受信できた場合には（ステップＳ４０でＹ）、タイムアウトカウンタをリセットする（ステップＳ４１）。
【０１２０】
なお、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１２１】
例えば、明細書又は図面中の記載において広義や同義な用語（通信グループ、ロビー基本サービスセット、ゲーム基本サービスセット、親機希望要求パケット、返答パケット、状態確認パケット、スロット識別番号等）として引用された用語（クラスタ、第１の基本サービスセット、第２の基本サービスセット、第１のパケット、第２のパケット、第３のパケット、スロット情報等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１２２】
また、本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、あるいは携帯電話等の種々のゲームシステム（画像生成システム）に適用できる。
【図面の簡単な説明】
【０１２３】
【図１】本実施形態の通信ゲームシステムのシステム構成例を示す図。
【図２】本実施形態の通信ゲームシステムのシステム構成例を示す図。
【図３】本実施形態の通信ゲームシステムの通信グループの構成例を示す図。
【図４】本実施形態のゲーム機の外観図。
【図５】本実施形態のゲーム機の機能ブロック図。
【図６】本実施形態のゲーム機の無線通信機能の説明図。
【図７】本実施形態の親機の設定手法の説明図。
【図８】本実施形態の親機の設定手法の説明図。
【図９】本実施形態の親機の設定手法の説明図。
【図１０】本実施形態の親機の設定手法の説明図。
【図１１】本実施形態の親機の設定手法の説明図。
【図１２】本実施形態の親機の設定解除手法の説明図。
【図１３】本実施形態の親機の設定解除手法の説明図。
【図１４】本実施形態の親機の設定解除手法の説明図。
【図１５】本実施形態の親機の設定解除手法の説明図。
【図１６】本実施形態の表示制御手法の説明図。
【図１７】本実施形態の表示制御手法の説明図。
【図１８】本実施形態の具体的な処理例を示すフローチャート。
【図１９】本実施形態の具体的な処理例を示すフローチャート。
【図２０】本実施形態の具体的な処理例を示すフローチャート。
【図２１】本実施形態の具体的な処理例を示すフローチャート。
【図２２】本実施形態の具体的な処理例を示すフローチャート。
【符号の説明】
【０１２４】
ＧＴ，ＧＴ１〜ＧＴ９  ゲーム機、
ＡＣＳＰ  アクセスポイント、Ｉｎｅｔ  インターネット、ＧＳ  ゲームサーバー、
Ｌ−ＩＢＳＳ  ロビー基本サービスセット、Ｇ−ＩＢＳＳ  ゲーム基本サービスセット、
ＰＳ１，ＰＳ２  親機スロット、ＣＳ１，ＣＳ２  子機スロット、
ＮＡ１〜ＮＡ３，ＮＡ７  通信可能範囲、
ＰＲＰ  親機希望要求パケット、ＡＰ  返答パケット、ＳＣＰ  状態確認パケット、
１２  ディスプレイ（表示部）、１４  方向キー、１６  操作ボタン、
１７Ｒ，１７Ｌ  補助操作ボタン、１８  セレクトボタン、２０  スタートボタン、
４０  アナログスティック、５０  無線通信スイッチ、６０  メモリカード用スロット、
１００  処理部、
１１０  ゲーム演算部、１１２  通信制御部、１１４  親機設定部、
１２０  画像生成部、１３０  音生成部、
１６０  入力インターフェース、１７０  記憶部、１８０  情報記憶媒体、
１９０  表示部、１９２  音出力部、１９４  携帯型情報記憶媒体、１９６  通信部
【図１】
2007020717.tif 000003
【図２】
2007020717.tif 000004
【図３】
2007020717.tif 000005
【図４】
2007020717.tif 000006
【図５】
2007020717.tif 000007
【図６】
2007020717.tif 000008
【図７】
2007020717.tif 000009
【図８】
2007020717.tif 000010
【図９】
2007020717.tif 000011
【図１０】
2007020717.tif 000012
【図１１】
2007020717.tif 000013
【図１２】
2007020717.tif 000014
【図１３】
2007020717.tif 000015
【図１４】
2007020717.tif 000016
【図１５】
2007020717.tif 000017
【図１６】
2007020717.tif 000018
【図１７】
2007020717.tif 000019
【図１８】
2007020717.tif 000020
【図１９】
2007020717.tif 000021
【図２０】
2007020717.tif 000022
【図２１】
2007020717.tif 000023
【図２２】
2007020717.tif 000024