(57)【特許請求の範囲】
【請求項１】
第１の操作部を備える１つの第１の入力装置と第２の操作部を備える１つの第２の入力装置とから構成される組を、それぞれ無線を介してゲーム装置に複数組接続し、当該第１の入力装置および当該第２の入力装置から取得された操作データに基づいてゲーム処理を行うゲームシステムであって、
前記第１の入力装置および前記第２の入力装置は、それぞれ、
前記操作データおよび前記組に関する情報を無線で通信する無線通信手段と、
前記第１の入力装置と前記第２の入力装置とに対して同じユーザによって所定の操作が行われていることを検出する検出手段とを備え、
前記検出手段による検出結果に応じて、前記組における前記第１の入力装置と前記第２の入力装置との組み合わせを制御する制御手段を備える、ゲームシステム。
【請求項２】
前記検出手段は、前記第１の入力装置および前記第２の入力装置にそれぞれ設けられた所定の端子同士が接続されることを検出する、請求項１に記載のゲームシステム。
【請求項３】
前記第１の入力装置および前記第２の入力装置は、それぞれＮＦＣチップを、さらに備え、
前記検出手段は、前記第１の入力装置のＮＦＣチップと前記第２の入力装置のＮＦＣチップとの間で近距離無線通信が可能となったことを検出する、請求項１に記載のゲームシステム。
【請求項４】
前記第１の入力装置および前記第２の入力装置は、それぞれユーザの人体を介して他の入力装置と通信を行う人体通信手段を、さらに備え、
前記検出手段は、前記第１の入力装置の人体通信手段と前記第２の入力装置の人体通信手段との間で人体通信が可能となることによって、前記第１の入力装置と前記第２の入力装置とが同じユーザによって操作されていることを検出する、請求項１に記載のゲームシステム。
【請求項５】
前記検出手段は、前記第１の入力装置および前記第２の入力装置にそれぞれ設けられた所定の操作ボタンが所定の時間以内にそれぞれ押下されたことを検出する、請求項１に記載のゲームシステム。
【請求項６】
前記第１の入力装置の無線通信手段は、前記第１の操作部に対する操作に応じた第１の操作データを、同じ組に属する前記第２の入力装置に無線送信し、
前記第２の入力装置の無線通信手段は、前記第２の操作部に対する操作に応じた第２の操作データおよび前記組に関する情報を、同じ組に属する前記第１の入力装置から受信した前記第１の操作データと共に前記ゲーム装置に無線送信する、請求項１乃至５のいずれか１つに記載のゲームシステム。
【請求項７】
前記第１の入力装置と前記第２の入力装置とが同じユーザによって所定の操作が行われていることを前記検出手段が検出した場合、前記制御手段は、同じユーザによって所定の操作が行われていることが検出された前記第１の入力装置と前記第２の入力装置とを前記ゲーム装置に接続する同じ組に設定し、
前記第１の入力装置の無線通信手段は、前記制御手段が設定した同じ組に属する前記第２の入力装置を前記第１の操作データの無線送信先に設定する、請求項６に記載のゲームシステム。
【請求項８】
前記第１の入力装置の無線通信手段は、前記第１の操作部に対する操作に応じた第１の操作データおよび前記組に関する情報を前記ゲーム装置に無線送信し、
前記第２の入力装置の無線通信手段は、前記第２の操作部に対する操作に応じた第２の操作データおよび前記組に関する情報を前記ゲーム装置に無線送信する、請求項１乃至５のいずれか１つに記載のゲームシステム。
【請求項９】
前記ゲーム装置は、前記第１の入力装置と前記第２の入力装置との組み合わせを示す情報を記憶する組み合わせ記憶手段を、さらに備え、
前記第１の入力装置と前記第２の入力装置とが同じユーザによって所定の操作が行われていることを前記検出手段が検出した場合、前記組み合わせ記憶手段は、同じユーザによって所定の操作が行われていることが検出された前記第１の入力装置と前記第２の入力装置とを同じ組み合わせにして前記組み合わせ情報を更新し、かつ、当該同じユーザによって所定の操作が行われていることが検出された前記第１の入力装置と前記第２の入力装置との一方に対して先に他の入力装置が組み合わせられていた場合、前記組み合わせ記憶手段は、当該一方と当該他の入力装置との組み合わせを解消して前記組み合わせ情報を更新する、請求項１に記載のゲームシステム。
【請求項１０】
前記第１の入力装置および前記第２の入力装置は、それぞれ、
表示部と、
前記表示部の表示態様を制御する表示制御部とを、さらに備え、
前記表示制御部は、前記制御手段が制御する前記組み合わせそれぞれに対応する表示態様となるように前記表示部の表示態様を制御し、
前記ゲーム装置は、前記操作データを前記組み合わせ毎にゲーム処理する、請求項１に記載のゲームシステム。
【請求項１１】
第１の操作部を備える１つの第１のユニットと第２の操作部を備える１つの第２のユニットとを組として構成されるコントローラであって、
前記第１のユニットは、
前記第１の操作部に対する操作に応じた第１の操作データを、同じ組に属する前記第２のユニットに無線送信する第１の無線通信手段と、
前記第１のユニットと前記第２のユニットとに対して同じユーザによって所定の操作が行われていることを検出する第１の検出手段とを備え、
前記第２のユニットは、
前記第２の操作部に対する操作に応じた第２の操作データおよび前記組に関する情報を、同じ組に属する前記第１のユニットから受信した前記第１の操作データと共にゲーム装置に無線送信する第２の無線通信手段と、
前記第１のユニットと前記第２のユニットとに対して同じユーザによって所定の操作が行われていることを検出する第２の検出手段と、
少なくとも前記第２の検出手段による検出結果に応じて、前記組における前記第１のユニットと前記第２のユニットとの組み合わせを制御する制御手段とを備える、コントローラ。
【請求項１２】
第１の操作部を備える１つの第１のユニットと第２の操作部を備える１つの第２のユニットとを組として構成されるコントローラであって、
前記第１のユニットは、
前記第１の操作部に対する操作に応じた第１の操作データおよび前記組に関する情報をゲーム装置に無線送信する第１の無線通信手段と、
前記第１のユニットと前記ユニットとに対して同じユーザによって所定の操作が行われていることを検出する第１の検出手段とを備え、
前記第２のユニットは、
前記第２の操作部に対する操作に応じた第２の操作データおよび前記組に関する情報を前記ゲーム装置に無線送信する第２の無線通信手段と、
前記第１のユニットと前記第２のユニットとに対して同じユーザによって所定の操作が行われていることを検出する第２の検出手段とを備え、
前記第１の無線通信手段および前記第２の無線通信手段の少なくとも一方は、前記第１のユニットと前記第２のユニットとが同じユーザによって所定の操作が行われていることを検出した検出結果も、前記組における前記第１のユニットと前記第２のユニットとの組み合わせを制御する制御手段を備える前記ゲーム装置へ無線送信する、コントローラ。
【請求項１３】
前記第１のユニットおよび前記第２のユニットは、それぞれ、
表示部と、
前記表示部の表示態様を制御する表示制御部とを、さらに備え、
前記表示制御部は、前記制御手段が制御する前記組み合わせそれぞれに対応する表示態様となるように前記表示部の表示態様を制御する、請求項１１または１２に記載のコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームシステムおよびコントローラに関し、より特定的には、方向入力に基づいて表示装置に表示されたオブジェクトを移動させるゲームシステムおよびコントローラに関する。
【背景技術】
【０００２】
従来、プレイヤが両手にそれぞれコントロールユニットを把持してゲーム操作するコントローラが開示されている（例えば、非特許文献１参照）。
【０００３】
非特許文献１に開示されたコントローラは、第１コントロールユニットの外部拡張コネクタに接続ケーブルを介して第２コントロールユニットを接続することによって構成される。そして、プレイヤは、第１コントロールユニットを一方の手（例えば、右手）で把持し、第２コントロールユニットを他方の手（例えば、左手）で把持することによって、ゲーム操作を行う。ここで、第１コントロールユニットおよび第２コントロールユニットは、それぞれハウジング上面や側面に操作ボタンやスティック等が配置されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“Ｗｉｉコントローラ”、拡張コントローラ、ヌンチャク、［ｏｎｌｉｎｅ］、任天堂株式会社、［平成２１年６月２２日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｎｉｎｔｅｎｄｏ．ｃｏ．ｊｐ／ｗｉｉ／ｃｏｎｔｒｏｌｌｅｒｓ／ｉｎｄｅｘ．ｈｔｍｌ＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記非特許文献１に開示されたコントローラは、第１コントロールユニットと第２コントロールユニットとが接続ケーブルで接続されているために、当該コントローラを把持してゲーム操作するプレイヤが、第１コントロールユニットおよび第２コントロールユニットを自由に動かせる範囲が限定されてしまう。また、上記接続ケーブルがない状態で複数のプレイヤが上記コントローラを用いてゲーム操作するようにした場合、第１コントロールユニットと第２コントロールユニットとの組がわかりにくくなるために、プレイヤが異なる組に属する第１コントロールユニットおよび第２コントロールユニットを用いて操作した場合に、プレイヤが意図する操作が不可能となる。
【０００６】
それ故に、本発明の目的は、完全に分離した２つのユニットで構成されるコントローラを用いる際、ゲーム装置に接続する当該ユニットの組み合わせを変更可能にするゲームシステムおよびコントローラを提供することである。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明は以下の構成を採用した。
【０００８】
本発明は、第１の操作部を備える１つの第１の入力装置と第２の操作部を備える１つの第２の入力装置とから構成される組を、それぞれ無線を介してゲーム装置に複数組接続し、当該第１の入力装置および当該第２の入力装置から取得された操作データに基づいてゲーム処理を行うゲームシステムである。第１の入力装置および第２の入力装置は、それぞれ、無線通信手段および検出手段を備える。無線通信手段は、操作データおよび組に関する情報を無線で通信する。検出手段は、第１の入力装置と第２の入力装置とが同じユーザによって操作されていることを検出するためのものである。具体的には、検出手段は、通常同じユーザによって行われることを前提とするような所定の操作を検出する。ゲームシステムは、制御手段を備える。制御手段は、検出手段による検出結果に応じて、組における第１の入力装置と第２の入力装置との組み合わせを制御する。
【０００９】
なお、上記検出手段は、例えば以下のような方法で第１の入力装置と第２の入力装置とが同じユーザによって操作されていることを検出する例を含んでいるが、あらゆる点において例示にすぎず、その範囲を限定しようとするものではない。第１の例として、第１の入力装置および第２の入力装置にそれぞれ設けられた所定の端子同士が接続されたことを検出することによって、第１の入力装置と第２の入力装置とが同じユーザによって操作されているとみなすことができる。第２の例として、第１の入力装置と第２の入力装置との間で近距離無線通信（例えば、ＮＦＣ）が可能となったことを検出することによって、第１の入力装置と第２の入力装置とが同じユーザによって操作されているとみなすことができる。いずれの場合も、同じユーザが左右の手でそれぞれ第１の入力装置と第２の入力装置とを把持し、それらを接続したり近づけたりするという操作によって行われることであるので、これらを同じユーザによって行われた操作とみなすことによって、簡単な操作によってユーザが現在把持している第１の入力装置と第２の入力装置とを組み合わせてゲームに使うように設定を変更することが可能になる。第３の例として、第１の入力装置と第２の入力装置との間で人体通信が可能となることを検出すれば、第１の入力装置と第２の入力装置とが同じユーザによって操作されていること自体を検出することができる。この例によれば、ユーザは、ゲームのために入力装置を把持するだけでそのままそれらの組み合わせを使ってゲームを行うことができるようになる。第４の例として、第１の入力装置および第２の入力装置にそれぞれ設けられた所定の操作ボタンが所定の時間以内にそれぞれ押下されることを検出することによって、第１の入力装置と第２の入力装置とが同じユーザによって操作されているとみなす。このことによれば、所定の時間以内にそれぞれのボタンを押すという操作を行う必要があるため、同じユーザが組み合わせを変更する目的で操作したものとみなしてよい。
【００１０】
上記によれば、ゲーム装置に接続する第１の入力装置と第２の入力装置との組み合わせを変更することが可能となる。
【００１１】
また、上記検出手段は、第１の入力装置および第２の入力装置にそれぞれ設けられた所定の端子同士が接続されることを検出してもよい。
【００１２】
上記によれば、ユーザが第１の入力装置の所定の端子と第２の入力装置の所定の端子とを接続することによって、当該ユーザが操作しているとみなすことができる第１の入力装置と第２の入力装置との組み合わせを検知することができる。
【００１３】
また、上記第１の入力装置および上記第２の入力装置は、それぞれＮＦＣチップを、さらに備えてもよい。この場合、検出手段は、第１の入力装置のＮＦＣチップと第２の入力装置のＮＦＣチップとの間で近距離無線通信が可能となったことを検出してもよい。
【００１４】
上記によれば、ユーザが第１の入力装置と第２の入力装置とを近接させることによって、当該ユーザが操作しているとみなすことができる第１の入力装置と第２の入力装置との組み合わせを検知することができる。
【００１５】
また、上記第１の入力装置および上記第２の入力装置は、それぞれユーザの人体を介して他の入力装置と通信を行う人体通信手段を、さらに備えていてもよい。この場合、検出手段は、第１の入力装置の人体通信手段と第２の入力装置の人体通信手段との間で人体通信が可能となることによって、第１の入力装置と第２の入力装置とが同じユーザによって操作されていることを検出してもよい。
【００１６】
上記によれば、ユーザが第１の入力装置と第２の入力装置とを把持することによって、当該ユーザが操作している第１の入力装置と第２の入力装置との組み合わせを検知することができる。
【００１７】
また、上記検出手段は、第１の入力装置および第２の入力装置にそれぞれ設けられた所定の操作ボタンが所定の時間以内にそれぞれ押下されたことを検出してもよい。
【００１８】
上記によれば、ユーザが第１の入力装置の所定の操作ボタンと第２の入力装置の所定の操作ボタンとを所定の時間以内に押下することによって、当該ユーザが操作しているとみなすことができる第１の入力装置と第２の入力装置との組み合わせを検知することができる。
【００１９】
また、上記第１の入力装置の無線通信手段は、第１の操作部に対する操作に応じた第１の操作データを、同じ組に属する第２の入力装置に無線送信してもよい。この場合、上記第２の入力装置の無線通信手段は、第２の操作部に対する操作に応じた第２の操作データおよび組に関する情報を、同じ組に属する第１の入力装置から受信した第１の操作データと共にゲーム装置に無線送信してもよい。
【００２０】
上記によれば、一方の入力装置から出力される操作データを他方の入力装置へ無線送信し、当該他方の入力装置が当該他方の入力装置から出力される操作データと共に当該一方の入力装置から出力された操作データをゲーム装置へ無線通信するような通信システムであっても、ゲーム装置に接続する第１の入力装置と第２の入力装置との組み合わせを変更することが可能となる。
【００２１】
また、第１の入力装置と第２の入力装置とが同じユーザによって所定の操作が行われていることを検出手段が検出した場合、上記制御手段は、同じユーザによって所定の操作が行われていることが検出された第１の入力装置と第２の入力装置とをゲーム装置に接続する同じ組に設定してもよい。この場合、第１の入力装置の無線通信手段は、制御手段が設定した同じ組に属する第２の入力装置を第１の操作データの無線送信先に設定してもよい。
【００２２】
上記によれば、制御手段が設定する組に応じて、無線通信する第１の入力装置と第２の入力装置とを制御することが可能となる。
【００２３】
また、上記第１の入力装置の無線通信手段は、第１の操作部に対する操作に応じた第１の操作データおよび組に関する情報をゲーム装置に無線送信してもよい。この場合、上記第２の入力装置の無線通信手段は、第２の操作部に対する操作に応じた第２の操作データおよび組に関する情報をゲーム装置に無線送信してもよい。
【００２４】
上記によれば、双方の入力装置からそれぞれ出力される操作データを、それぞれゲーム装置へ無線通信するような通信システムであっても、ゲーム装置に接続する第１の入力装置と第２の入力装置との組み合わせを変更することが可能となる。
【００２５】
また、上記ゲーム装置は、組み合わせ記憶手段を、さらに備えてもよい。組み合わせ記憶手段は、第１の入力装置と第２の入力装置との組み合わせを示す情報を記憶する。第１の入力装置と第２の入力装置とが同じユーザによって所定の操作が行われていることを検出手段が検出した場合、組み合わせ記憶手段は、同じユーザによって所定の操作が行われていることが検出された第１の入力装置と第２の入力装置とを同じ組み合わせにして組み合わせ情報を更新し、かつ、当該同じユーザによって所定の操作が行われていることが検出された第１の入力装置と第２の入力装置との一方に対して先に他の入力装置が組み合わせられていた場合、組み合わせ記憶手段は、当該一方と当該他の入力装置との組み合わせを解消して組み合わせ情報を更新してもよい。
【００２６】
上記によれば、ゲーム装置に記憶される組み合わせ情報に応じて、適切にゲーム装置に接続する第１の入力装置と第２の入力装置との組み合わせを管理することが可能となる。
【００２７】
また、上記第１の入力装置および上記第２の入力装置は、それぞれ、表示部および表示制御部を、さらに備えていてもよい。表示制御部は、表示部の表示態様を制御する。この場合、表示制御部は、制御手段が制御する組み合わせそれぞれに対応する表示態様となるように表示部の表示態様を制御してもよい。また、ゲーム装置は、操作データを組み合わせ毎にゲーム処理してもよい。
【００２８】
上記によれば、第１の入力装置と第２の入力装置との組み合わせを区別するための表示部が各入力装置に設けられている。そして、第１の入力装置と第２の入力装置との組み合わせが上記表示部に適宜表示されるため、完全に分離した第１の入力装置と第２の入力装置とで構成されるコントローラを用いる際の組み合わせが判別可能となる。
【００２９】
また、本発明は、上記ゲームシステムの一部を構成するコントローラの形態で実施されてもよい。
【発明の効果】
【００３０】
本発明によれば、完全に分離した第１の入力装置（第１のユニット）と第２の入力装置（第２のユニット）とで構成されるコントローラを用いる際、ゲーム装置に接続する当該入力装置（ユニット）の組み合わせを変更することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施形態に係るゲームシステム１の一例を示す外観図
【図２】図１のゲーム装置本体５の一例を示す機能ブロック図
【図３】図１のコントローラ７の外観構成の一例を示す斜視図
【図４】図３のコアユニット７０の上面後方から見た一例を示す斜視図
【図５】図３のコアユニット７０を下面前方から見た一例を示す斜視図
【図６】図３のコアユニット７０の上筐体を外した状態の一例を示す斜視図
【図７】図３のコアユニット７０の下筐体を外した状態の一例を示す斜視図
【図８】図３のサブユニット７６の一例を示す斜視図
【図９】図３のサブユニット７６の上筐体を外した状態の一例を示す斜視図
【図１０】図３のコアユニット７０の構成の一例を示すブロック図
【図１１】図３のサブユニット７６の構成の一例を示すブロック図
【図１２】複数のコントローラ７とゲーム装置本体５との間で構成される通信システム例を示すブロック図
【図１３】コアユニット７０とサブユニット７６との組み合わせを区別するための第１の表示態様例を示す図
【図１４】コアユニット７０とサブユニット７６との組み合わせを区別するための第２の表示態様例を示す図
【図１５】コアユニット７０とサブユニット７６との組み合わせを区別するための第３の表示態様例を示す図
【図１６】図１のゲーム装置本体５が行う組変更処理例の第１段階を示す図
【図１７】図１のゲーム装置本体５が行う組変更処理例の第２段階を示す図
【図１８】図１のゲーム装置本体５が行う組変更処理例の第３段階を示す図
【図１９】図２のゲーム装置本体５のメインメモリに記憶される主なデータの一例を示す図
【図２０】図１９のユニット組テーブルデータＤｃに格納されるユニット組テーブルの一例を示す図
【図２１】図１のゲーム装置本体５において実行される処理の流れの一例を示すフローチャート
【図２２】図２１におけるステップ４２の組設定処理の詳細な動作の一例を示すサブルーチン
【図２３】図２１におけるステップ４３の組変更処理の詳細な動作の一例を示すサブルーチン
【図２４】導電性の緩衝材（部材７１１）で覆われたコアユニット７０の一例を示す斜視図
【図２５】複数のコントローラ７とゲーム装置本体５との間で構成される通信システムの他の例を示すブロック図
【図２６】図１９のユニット組テーブルデータＤｃに格納されるユニット組テーブルの他の例を示す図
【図２７】図２１におけるステップ４２の組設定処理の詳細な動作の他の例を示すサブルーチン
【図２８】図２１におけるステップ４３の組変更処理の詳細な動作の他の例を示すサブルーチン
【発明を実施するための形態】
【００３２】
（第１の実施形態）
図１および図２を参照して、ゲームプログラムを実行する装置を含む本発明の第１の実施形態に係るゲームシステムについて説明する。以下、説明を具体的にするために、据置型のゲーム装置本体５を含むゲーム装置３を当該ゲームシステムの一例として説明する。なお、図１は据置型のゲーム装置３を含むゲームシステム１の一例を示す外観図であり、図２はゲーム装置本体５の一例を示すブロック図である。以下、当該ゲームシステム１について説明する。
【００３３】
図１において、ゲームシステム１は、表示手段の一例の家庭用テレビジョン受像機（以下、モニタと記載する）２と、当該モニタ２に接続コードを介して接続する据置型のゲーム装置３とから構成される。モニタ２は、ゲーム装置本体５から出力された音声信号を音声出力するためのスピーカ２ａを備える。また、ゲーム装置３は、ゲームプログラムを記録した光ディスク４と、当該光ディスク４のゲームプログラムを実行してゲーム画面をモニタ２に表示出力させるためのコンピュータを搭載したゲーム装置本体５と、ゲーム画面に表示されたキャラクタ等を操作するゲームに必要な操作情報をゲーム装置本体５に与えるためのコントローラ７とを備えている。
【００３４】
ゲーム装置本体５は、無線コントローラモジュール１９（図２参照）を内蔵する。無線コントローラモジュール１９は、コントローラ７から無線送信されるデータを受信し、ゲーム装置本体５からコントローラ７へデータを送信して、コントローラ７とゲーム装置本体５とを無線通信によって接続する。さらに、ゲーム装置本体５には、当該ゲーム装置本体５に対して交換可能に用いられる情報記憶媒体の一例の光ディスク４が脱着される。
【００３５】
また、ゲーム装置本体５には、セーブデータ等のデータを固定的に記憶するバックアップメモリとして機能するフラッシュメモリ１７（図２参照）が搭載される。ゲーム装置本体５は、光ディスク４に記憶されたゲームプログラム等を実行することによって、その結果をゲーム画像としてモニタ２に表示する。また、ゲームプログラム等は、光ディスク４に限らず、フラッシュメモリ１７に予め記憶されたものを実行するようにしてもよい。さらに、ゲーム装置本体５は、フラッシュメモリ１７に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をモニタ２に表示することもできる。そして、ゲーム装置本体５のプレイヤは、モニタ２に表示されたゲーム画像を見ながら、コントローラ７を操作することによって、ゲーム進行を楽しむことができる。
【００３６】
コントローラ７は、無線コントローラモジュール１９を内蔵するゲーム装置本体５へ、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）の技術を用いて操作情報等の送信データを無線送信する。コントローラ７は、分離した２つのコントロールユニット（コアユニット７０およびサブユニット７６）によって構成されており、主にモニタ２の表示画面に表示されるオブジェクト等を操作するための操作手段である。コアユニット７０およびサブユニット７６は、それぞれ片手で把持可能な程度の大きさのハウジングと、当該ハウジングの表面に露出して設けられた複数個の操作ボタン（十字キーやスティック等を含む）とが設けられている。また、後述により明らかとなるが、コアユニット７０は、当該コアユニット７０から見た画像を撮像する撮像情報演算部７４を備えている。また、撮像情報演算部７４の撮像対象の一例として、モニタ２の表示画面近傍に２つのＬＥＤモジュール（以下、マーカと記載する）８Ｌおよび８Ｒが設置される。これらマーカ８Ｌおよび８Ｒは、それぞれモニタ２の前方に向かって例えば赤外光を出力する。また、コアユニット７０は、ゲーム装置本体５の無線コントローラモジュール１９から無線送信された送信データを通信部７５で受信して、当該送信データに応じた音や振動を発生させることもできる。
【００３７】
なお、本実施例では、コアユニット７０とサブユニット７６とは、それぞれ無線ユニットを搭載しており、コアユニット７０とサブユニット７６との間には接続ケーブルが設けられていない。例えば、無線ユニットとしてＢｌｕｅｔｏｏｔｈ（登録商標）ユニットをコアユニット７０およびサブユニット７６にそれぞれ搭載することで、それぞれの操作データをゲーム装置本体５へ無線送信する。第１の例として、コアユニット７０およびサブユニット７６は、それぞれの操作データを直接ゲーム装置本体５へ無線送信する。第２の例として、サブユニット７６は、サブユニット７６で生じた操作データをコアユニット７０へ無線送信する。そして、コアユニット７０は、サブユニット７６から送信された操作データと共に、コアユニット７０で生じた操作データをゲーム装置本体５へ無線送信する。第３の例として、コアユニット７０は、コアユニット７０で生じた操作データをサブユニット７６へ無線送信する。そして、サブユニット７６は、コアユニット７０から送信された操作データと共に、サブユニット７６で生じた操作データをゲーム装置本体５へ無線送信する。
【００３８】
次に、図２を参照して、ゲーム装置本体５の内部構成について説明する。ゲーム装置本体５は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、システムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）１１、外部メインメモリ１２、ＲＯＭ／ＲＴＣ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ／Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）１３、ディスクドライブ１４、およびＡＶ−ＩＣ（Ａｕｄｉｏ  Ｖｉｄｅｏ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１５等を有する。
【００３９】
ＣＰＵ１０は、光ディスク４に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。ＣＰＵ１０は、システムＬＳＩ１１に接続される。システムＬＳＩ１１には、ＣＰＵ１０の他、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４、およびＡＶ−ＩＣ１５が接続される。システムＬＳＩ１１は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。なお、システムＬＳＩ１１の内部構成については、後述する。揮発性の外部メインメモリ１２は、光ディスク４から読み出されたゲームプログラムや、フラッシュメモリ１７から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、ＣＰＵ１０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ１３は、ゲーム装置本体５の起動用のプログラムが組み込まれるＲＯＭ（いわゆるブートＲＯＭ）と、時間をカウントするクロック回路（ＲＴＣ）とを有する。ディスクドライブ１４は、光ディスク４からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ３５または外部メインメモリ１２に読み出したデータを書き込む。
【００４０】
また、システムＬＳＩ１１には、入出力プロセッサ３１、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）３２、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）３３、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３４、および内部メインメモリ３５が設けられる。図示は省略するが、これらの構成要素３１〜３５は、内部バスによって互いに接続される。
【００４１】
ＧＰＵ３２は、描画手段の一部を形成し、ＣＰＵ１０からのグラフィクスコマンド（作画命令）に従って画像を生成する。ＶＲＡＭ３４は、ＧＰＵ３２がグラフィクスコマンドを実行するために必要なデータ（ポリゴンデータやテクスチャデータ等のデータ）を記憶する。画像が生成される際には、ＧＰＵ３２は、ＶＲＡＭ３４に記憶されたデータを用いて画像データを作成する。
【００４２】
ＤＳＰ３３は、オーディオプロセッサとして機能し、内部メインメモリ３５や外部メインメモリ１２に記憶されるサウンドデータや音波形（音色）データを用いて、音声データを生成する。
【００４３】
上述のように生成された画像データおよび音声データは、ＡＶ−ＩＣ１５によって読み出される。ＡＶ−ＩＣ１５は、ＡＶコネクタ１６を介して、読み出した画像データをモニタ２に出力するとともに、読み出した音声データをモニタ２に内蔵されるスピーカ２ａに出力する。これによって、画像がモニタ２に表示されるとともに音がスピーカ２ａから出力される。
【００４４】
入出力プロセッサ（Ｉ／Ｏプロセッサ）３１は、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ３１は、フラッシュメモリ１７、無線通信モジュール１８、無線コントローラモジュール１９、拡張コネクタ２０、および外部メモリカード用コネクタ２１に接続される。無線通信モジュール１８にはアンテナ２２が接続され、無線コントローラモジュール１９にはアンテナ２３が接続される。
【００４５】
入出力プロセッサ３１は、無線通信モジュール１８およびアンテナ２２を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ３１は、定期的にフラッシュメモリ１７にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、無線通信モジュール１８およびアンテナ２２を介して当該データをネットワークに送信する。また、入出力プロセッサ３１は、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ２２、および無線通信モジュール１８を介して受信し、受信したデータをフラッシュメモリ１７に記憶する。ＣＰＵ１０は、ゲームプログラムを実行することにより、フラッシュメモリ１７に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ１７には、ゲーム装置本体５と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置本体５を利用してプレイしたゲームのセーブデータ（ゲームの結果データまたは途中データ）が記憶されてもよい。
【００４６】
また、入出力プロセッサ３１は、アンテナ２３および無線コントローラモジュール１９を介して、コントローラ７から送信される操作データ等を受信し、内部メインメモリ３５または外部メインメモリ１２のバッファ領域に記憶（一時記憶）する。なお、内部メインメモリ３５には、外部メインメモリ１２と同様に、光ディスク４から読み出されたゲームプログラムや、フラッシュメモリ１７から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりしてもよく、ＣＰＵ１０のワーク領域やバッファ領域として用いられてもかまわない。
【００４７】
さらに、入出力プロセッサ３１には、拡張コネクタ２０および外部メモリカード用コネクタ２１が接続される。拡張コネクタ２０は、ＵＳＢやＳＣＳＩのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール１８に替えてネットワークとの通信を行ったりすることができる。外部メモリカード用コネクタ２１は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ３１は、拡張コネクタ２０や外部メモリカード用コネクタ２１を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【００４８】
また、ゲーム装置本体５（例えば、前部主面）には、当該ゲーム装置本体５の電源ボタン２４、ゲーム処理のリセットボタン２５、光ディスク４を脱着する投入口、およびゲーム装置本体５の投入口から光ディスク４を取り出すイジェクトボタン２６等が設けられている。電源ボタン２４およびリセットボタン２５は、システムＬＳＩ１１に接続される。電源ボタン２４がオンされると、ゲーム装置本体５の各構成要素に対して、図示しないＡＣアダプタを経て電力が供給される。リセットボタン２５が押されると、システムＬＳＩ１１は、ゲーム装置本体５の起動プログラムを再起動する。イジェクトボタン２６は、ディスクドライブ１４に接続される。イジェクトボタン２６が押されると、ディスクドライブ１４から光ディスク４が排出される。
【００４９】
次に、図３を参照して、コントローラ７について説明する。なお、図３は、コントローラ７の外観構成の一例を示す斜視図である。
【００５０】
図３において、コントローラ７は、コアユニット７０とサブユニット７６とによって構成されている。具体的には、コアユニット７０およびサブユニット７６は、接続ケーブル等によって互いに接続されている構成ではなく、互いに分離して構成されている。コアユニット７０は、ハウジング７１を有しており、当該ハウジング７１に複数の操作部７２が設けられている。また、コアユニット７０は、サブユニット７６との組み合わせを区別するための表示部の一例であるＬＥＤ７０２が設けられている。一方、サブユニット７６は、ハウジング７７を有しており、当該ハウジング７７に複数の操作部７８が設けられている。そして、サブユニット７６は、コアユニット７０との組み合わせを区別するための表示部の一例であるＬＥＤ７６２が設けられている。
【００５１】
次に、図４および図５を参照して、コアユニット７０について説明する。なお、図４は、コアユニット７０の上面後方から見た一例を示す斜視図である。図５は、コアユニット７０を下面前方から見た一例を示す斜視図である。
【００５２】
図４および図５において、コアユニット７０は、例えばプラスチック成型によって形成されたハウジング７１を有している。ハウジング７１は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
【００５３】
ハウジング７１上面の中央前面側に、十字キー７２ａが設けられる。この十字キー７２ａは、十字型の４方向プッシュスイッチであり、矢印で示す４つの方向（前後左右）に対応する操作部分が十字の突出片にそれぞれ９０°間隔で配置される。プレイヤが十字キー７２ａのいずれかの操作部分を押下することによって、前後左右いずれかの方向が選択される。例えばプレイヤが十字キー７２ａを操作することによって、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、カーソルの移動方向を指示したりすることができる。
【００５４】
なお、十字キー７２ａは、上述したプレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、リング状に４方向の操作部分を備えたプッシュスイッチとその中央に設けられたセンタスイッチとを複合した複合スイッチを上記十字キー７２ａの代わりに設けてもかまわない。また、ハウジング７１上面から突出した傾倒可能なスティックを倒すことによって、傾倒方向に応じて操作信号を出力する操作部を上記十字キー７２ａの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー７２ａの代わりに設けてもかまわない。また、タッチパッドを、上記十字キー７２ａの代わりに設けてもかまわない。また、少なくとも４つの方向（前後左右）をそれぞれ示すスイッチに対して、プレイヤによって押下されたスイッチに応じて操作信号を出力する操作部を上記十字キー７２ａの代わりに設けてもかまわない。
【００５５】
ハウジング７１上面の十字キー７２ａより後面側に、複数の操作ボタン７２ｂ〜７２ｇが設けられる。操作ボタン７２ｂ〜７２ｇは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン７２ｂ〜７２ｇに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン７２ｂ〜７２ｄには、１番ボタン、２番ボタン、およびＡボタン等としての機能が割り当てられる。また、操作ボタン７２ｅ〜７２ｇには、マイナスボタン、ホームボタン、およびプラスボタン等としての機能が割り当てられる。これら操作ボタン７２ｂ〜７２ｇは、ゲーム装置３が実行するゲームプログラムに応じてそれぞれの機能が割り当てられる。なお、図４に示した配置例では、操作ボタン７２ｂ〜７２ｄは、ハウジング７１上面の中央前後方向に沿って並設されている。また、操作ボタン７２ｅ〜７２ｇは、ハウジング７１上面の左右方向に沿って操作ボタン７２ｂおよび７２ｄの間に並設されている。そして、操作ボタン７２ｆは、その上面がハウジング７１の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【００５６】
また、ハウジング７１上面の十字キー７２ａより前面側に、操作ボタン７２ｈが設けられる。操作ボタン７２ｈは、遠隔からゲーム装置３本体の電源をオン／オフする電源スイッチである。この操作ボタン７２ｈも、その上面がハウジング７１の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【００５７】
また、ハウジング７１上面の操作ボタン７２ｃより後面側に、複数のＬＥＤ７０２が設けられる。後述により明らかとなるが、コントローラ７には、コアユニット７０とサブユニット７６との組み合わせを区別するために組番号が設けられている。例えば、ＬＥＤ７０２は、コアユニット７０に現在設定されている上記組番号をプレイヤに通知するために用いられる。具体的には、無線コントローラモジュール１９からコアユニット７０へ、複数のＬＥＤ７０２のうち、上記組番号に対応するＬＥＤを点灯させるための組表示データが送信される。そして、コアユニット７０は、複数のＬＥＤ７０２のうち、送信された組表示データに応じたＬＥＤを点灯させる。図４に示した例では、４つのＬＥＤ７０２がコアユニット７０の左右横方向に並設されており、その点灯箇所によって少なくとも４つの組み合わせを区別して表示することができる。なお、複数のＬＥＤ７０２を並設するレイアウトは、横方向でなくてもかまわない。例えば、他の方向（例えば、コアユニット７０の前後縦方向）に複数のＬＥＤ７０２を並設してもいいし、格子状に複数のＬＥＤ７０２を並設してもかまわない。
【００５８】
また、ハウジング７１上面には、操作ボタン７２ｂおよび操作ボタン７２ｅ〜７２ｇの間に後述するスピーカ（図６のスピーカ７０６）からの音を外部に放出するための音抜き孔が形成されている。
【００５９】
一方、ハウジング７１下面には、凹部が形成されている。ハウジング７１下面の凹部は、プレイヤがコアユニット７０を把持したときに当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の傾斜面には、操作ボタン７２ｉが設けられる。操作ボタン７２ｉは、例えばＢボタンとして機能する操作部である。
【００６０】
また、ハウジング７１前面には、撮像情報演算部７４の一部を構成する撮像素子７４３が設けられる。ここで、撮像情報演算部７４は、コアユニット７０が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大２００フレーム／秒程度のサンプリング周期であるため比較的高速なコアユニット７０の動きでも追跡して解析することができる。この撮像情報演算部７４の詳細な構成については、後述する。また、ハウジング７１の後面には、コネクタ７３が設けられている。コネクタ７３は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。また、本実施例においては、コネクタ７３は、コアユニット７０とサブユニット７６とを組とする組変更操作（ペアリング操作）において用いられる。具体的には、プレイヤが用いるコアユニット７０とサブユニット７６とを組とする組変更操作を行う際、当該プレイヤが用いるコアユニット７０のコネクタ７３とサブユニット７６のコネクタ７６３（図８、図９参照）とを、一時的に接続させることによって当該組変更操作が行われる。
【００６１】
次に、図６および図７を参照して、コアユニット７０の内部構造について説明する。なお、図６は、コアユニット７０の上筐体（ハウジング７１の一部）を外した状態の一例を後面側から見た斜視図である。図７は、コアユニット７０の下筐体（ハウジング７１の一部）を外した状態の一例を前面側から見た斜視図である。ここで、図７に示す基板７００は、図６に示す基板７００の裏面から見た斜視図となって示されている。
【００６２】
図６において、ハウジング７１の内部には基板７００が固設されており、当該基板７００の上主面上に操作ボタン７２ａ〜７２ｈ、加速度センサ７０１、ＬＥＤ７０２、およびアンテナ７５４等が設けられる。そして、これらは、基板７００等に形成された配線（図示せず）によってマイコン７５１等（図７、図１０参照）に接続される。また、図示しない無線モジュール７５３（図１０参照）およびアンテナ７５４によって、コアユニット７０がワイヤレスコントローラとして機能する。例えば、マイコン７５１は、複数のＬＥＤ７０２のうち、無線モジュール７５３およびアンテナ７５４が受信した組表示データに応じたＬＥＤを点灯させる。なお、ハウジング７１内部には図示しない水晶振動子が設けられており、後述するマイコン７５１の基本クロックを生成する。また、基板７００の上主面上に、スピーカ７０６およびアンプ７０８が設けられる。
【００６３】
また、加速度センサ７０１は、操作ボタン７２ｄの左側の基板７００上（つまり、基板７００の中央部ではなく周辺部）に設けられる。したがって、加速度センサ７０１は、コアユニット７０の長手方向を軸とした回転に応じて、重力加速度の方向変化に加え、遠心力による成分が含まれる加速度を検出することができるので、所定の演算により、検出される加速度データからコアユニット７０の動きを良好な感度でゲーム装置本体５等が判定することができる。例えば、コアユニット７０は、３軸の加速度センサ７０１を備えている。この３軸の加速度センサ７０１は、３方向、すなわち、上下方向、左右方向、および前後方向で直線加速度を検知する。そして、加速度センサ７０１でそれぞれ検知された加速度を示すデータは、マイコン７５１に出力される。なお、加速度センサ以外にも、さらにジャイロセンサを備える構成としてもよい。
【００６４】
一方、図７において、基板７００の下主面上の前端縁に撮像情報演算部７４が設けられる。撮像情報演算部７４は、コアユニット７０の前方から順に赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４によって構成されており、それぞれ基板７００の下主面に取り付けられる。また、基板７００の下主面上の後端縁にコネクタ７３が取り付けられる。さらに、基板７００の下主面上にサウンドＩＣ７０７およびマイコン７５１が設けられている。サウンドＩＣ７０７は、基板７００等に形成された配線によってマイコン７５１およびアンプ７０８と接続され、ゲーム装置本体５から送信されたサウンドデータに応じてアンプ７０８を介してスピーカ７０６に音声信号を出力する。そして、基板７００の下主面上には、バイブレータ７０４が取り付けられる。このバイブレータ７０４は、例えば振動モータやソレノイドである。バイブレータ７０４が作動することによってコアユニット７０に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。バイブレータ７０４は、ハウジング７１のやや前方寄りに配置されるため、プレイヤが把持している状態において、ハウジング７１が大きく振動することになり、振動を感じやすくなる。
【００６５】
図８および図９を参照して、サブユニット７６について説明する。なお、図８は、サブユニット７６の一例を示す斜視図である。図９は、図８のサブユニット７６の上筐体（ハウジング７７の一部）を外した状態の一例斜視図である。
【００６６】
図８において、サブユニット７６は、例えばプラスチック成型によって形成されたハウジング７７を有している。ハウジング７７は、その前後方向を長手方向とし、サブユニット７６において最太部となる頭部を前方に形成した流線型の立体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
【００６７】
ハウジング７７上面の上記最太部近傍に、スティック７８ａが設けられる。スティック７８ａは、ハウジング７７上面から突出した傾倒可能なスティックを倒すことによって、傾倒方向や傾倒量を検出し、それに応じて操作信号を出力する操作部である。例えば、プレイヤがスティック７８ａ先端を３６０°任意の方向に傾倒することによって任意の方向や位置を指定することができ、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示することができる。また、プレイヤは、スティック７８ａの傾倒量によって、プレイヤキャラクタ等の移動量を指示することができる。
【００６８】
なお、スティック７８ａは、プレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、上述した十字キーやリング状に４方向の操作部分を備えたプッシュスイッチとその中央に設けられたセンタスイッチとを複合した複合スイッチを上記スティック７８ａの代わりに設けてもかまわない。また、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記スティック７８ａの代わりに設けてもかまわない。また、タッチパッドを、上記スティック７８ａの代わりに設けてもかまわない。また、少なくとも４つの方向（前後左右）をそれぞれ示すスイッチに対して、プレイヤによって押下されたスイッチに応じて操作信号を出力する操作部を上記スティック７８ａの代わりに設けてもかまわない。
【００６９】
サブユニット７６のハウジング７７の前面に、複数の操作ボタン７８ｄおよび７８ｅが設けられる。操作ボタン７８ｄおよび７８ｅは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン７８ｄおよび７８ｅに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン７８ｄおよび７８ｅには、ＣボタンおよびＺボタン等としての機能が割り当てられる。これら操作ボタン７８ｄおよび７８ｅは、ゲーム装置本体５が実行するゲームプログラムに応じてそれぞれの機能が割り当てられる。なお、図８に示した配置例では、操作ボタン７８ｄおよび７８ｅは、ハウジング７７前面の上下方向に沿って並設されている。
【００７０】
ハウジング７７上面のスティック７８ａより後面側に、複数のＬＥＤ７６２が設けられる。コントローラ７には、コアユニット７０とサブユニット７６との組み合わせを区別するために組番号が設けられている。組番号は、ゲームにおいてはプレイヤ番号として用いられる。ＬＥＤ７６２は、サブユニット７６に現在設定されている上記組番号をプレイヤに通知するために用いられる手段の一例である。具体的には、無線コントローラモジュール１９からサブユニット７６へ、複数のＬＥＤ７６２のうち、上記組番号に対応するＬＥＤを点灯させるための組表示データが送信される。そして、コアユニット７０は、複数のＬＥＤ７６２のうち、送信された組表示データに応じたＬＥＤを点灯させる。図８に示した例では、４つのＬＥＤ７６２がサブユニット７６の左右横方向に並設されており、その点灯箇所によって少なくとも４つの組み合わせを区別して表示することができる。なお、複数のＬＥＤ７６２を並設するレイアウトは、コアユニット７０とサブユニット７６との組み合わせ表示を、直感的に認識可能とするために、コアユニット７０に設けられた複数のＬＥＤ７０２と同様のレイアウトにすることが望ましい。したがって、複数のＬＥＤ７６２を並設するレイアウトは、ＬＥＤ７０２と同様に、横方向でなくてもかまわない。例えば、他の方向（例えば、サブユニット７６の前後縦方向）に複数のＬＥＤ７６２を並設してもいいし、格子状に複数のＬＥＤ７６２を並設してもかまわない。
【００７１】
なお、組み合わせ表示を直感的に認識可能とする効果を期待しない場合、コアユニット７０に設けられた複数のＬＥＤ７０２のレイアウトと、サブユニット７６に設けられた複数のＬＥＤ７６２のレイアウトとが異なっていてもかまわない。例えば、ＬＥＤ毎の周辺に固定的に組番号を記述して各ＬＥＤ点灯時の組番号をそれぞれ通知可能に構成されていれば、ＬＥＤ７０２のレイアウトとＬＥＤ７６２のレイアウトとが異なっていてもプレイヤに組み合わせを表示することが可能となる。
【００７２】
また、サブユニット７６のハウジング７７の後面に、コネクタ７６３が設けられる。コネクタ７６３は、コアユニット７０のコネクタ７３と接続可能な、例えばエッジコネクタである。上述したように、本実施例においては、コネクタ７６３は、コアユニット７０とサブユニット７６とを組とする組変更操作において用いられ、プレイヤが用いるコアユニット７０のコネクタ７３とサブユニット７６のコネクタ７６３とを、一時的に接続させることによって当該組変更操作が行われる。なお、コネクタ形状は本実施例の形状に限らず、どのようなものであってもよい。また、単に互いに接触可能な端子であってもよい。本実施例では、コネクタ７３とコネクタ７６３とは、直接接続させることができるように構成されているが、別途ケーブル等を介して一時的に接続するようにしてもよい。
【００７３】
図９において、ハウジング７７の内部には基板が固設されており、当該基板の上主面上にスティック７８ａおよび加速度センサ７６１等が設けられる。また、ハウジング７７の内部における別の基板上には、複数のＬＥＤ７６２等が設けられる。そして、これらは、ハウジング７７の内部に形成された配線（図示せず）によってマイコン７６５等（図１１参照）に接続される。また、図示しない無線モジュール７６７およびアンテナ７６８（図１１参照）によって、サブユニット７６もワイヤレスコントローラとして機能する。例えば、マイコン７６５は、複数のＬＥＤ７６２のうち、無線モジュール７６７およびアンテナ７６８が受信した組表示データに応じたＬＥＤを点灯させる。加速度センサ７６１は、ハウジング７７の長手方向の中央部かつ短手方向の中央部に配置されるのが好ましい。例えば、サブユニット７６は、３軸の加速度センサ７６１を備えている。この３軸の加速度センサ７６１は、３方向、すなわち、上下方向、左右方向、および前後方向で直線加速度を検知する。そして、加速度センサ７６１でそれぞれ検知された加速度を示すデータは、マイコン７６５に出力される。
【００７４】
次に、図１０および図１１を参照して、コントローラ７の内部構成について説明する。なお、図１０は、コアユニット７０の構成の一例を示すブロック図である。図１１は、サブユニット７６の構成の一例を示すブロック図である。
【００７５】
図１０において、コアユニット７０は、上述した操作部７２、撮像情報演算部７４、加速度センサ７０１、ＬＥＤ７０２、バイブレータ７０４、スピーカ７０６、サウンドＩＣ７０７、およびアンプ７０８の他に、その内部に通信部７５を備えている。
【００７６】
撮像情報演算部７４は、赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４を含んでいる。赤外線フィルタ７４１は、コアユニット７０の前方から入射する光から赤外線のみを通過させる。レンズ７４２は、赤外線フィルタ７４１を透過した赤外線を集光して撮像素子７４３へ出射する。撮像素子７４３は、例えばＣＭＯＳセンサやあるいはＣＣＤのような固体撮像素子であり、レンズ７４２が集光した赤外線を撮像する。したがって、撮像素子７４３は、赤外線フィルタ７４１を通過した赤外線だけを撮像して画像データを生成する。撮像素子７４３で生成された画像データは、画像処理回路７４４で処理される。具体的には、画像処理回路７４４は、撮像素子７４３から得られた画像データを処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部７５へ出力する。なお、これらの撮像情報演算部７４は、コアユニット７０のハウジング７１に固設されており、ハウジング７１自体の方向を変えることによってその撮像方向を変更することができる。
【００７７】
通信部７５は、マイクロコンピュータ（Ｍｉｃｒｏ  Ｃｏｍｐｕｔｅｒ：マイコン）７５１、メモリ７５２、無線モジュール７５３、およびアンテナ７５４を含んでいる。マイコン７５１は、処理の際にメモリ７５２を記憶領域として用いながら、送信データを無線送信する無線モジュール７５３を制御する。また、マイコン７５１は、アンテナ７５４を介して無線モジュール７５３が受信したゲーム装置本体５からのデータに応じて、ＬＥＤ７０２、サウンドＩＣ７０７、およびバイブレータ７０４の動作を制御する。サウンドＩＣ７０７は、通信部７５を介してゲーム装置本体５から受信したサウンドデータ等を処理する。また、マイコン７５１は、通信部７５を介してゲーム装置本体５から受信した組表示データ等に応じて、ＬＥＤ７０２の点灯を制御する。また、マイコン７５１は、通信部７５を介してゲーム装置本体５から受信した振動データ（例えば、バイブレータ７０４をＯＮまたはＯＦＦする信号）等に応じて、バイブレータ７０４を作動させる。
【００７８】
コアユニット７０に設けられた操作部７２からの操作信号（コアキーデータ）、加速度センサ７０１からの加速度信号（コア加速度データ）、および撮像情報演算部７４からの処理結果データは、マイコン７５１に出力される。マイコン７５１は、入力した各データ（コアキーデータ、コア加速度データ、処理結果データ）を無線コントローラモジュール１９へ送信する送信データとして一時的にメモリ７５２に格納する。
【００７９】
図１１において、サブユニット７６は、上述した操作部７８、加速度センサ７６１、ＬＥＤ７６２、およびコネクタ７６３の他に、その内部に通信部７６４を備えている。
【００８０】
通信部７６４は、マイコン７６５、メモリ７６６、無線モジュール７６７、およびアンテナ７６８を含んでいる。マイコン７６５は、処理の際にメモリ７６６を記憶領域として用いながら、送信データを無線送信する無線モジュール７６７を制御する。また、マイコン７６５は、通信部７６４を介してゲーム装置本体５から受信した組表示データ等に応じて、ＬＥＤ７６２の点灯を制御する。
【００８１】
サブユニット７６に設けられた操作部７８からの操作信号（サブキーデータ）および加速度センサ７６１からの加速度信号（サブ加速度データ）は、マイコン７６５に出力される。マイコン７６５は、入力した各データ（サブキーデータ、サブ加速度データ）を無線コントローラモジュール１９へ送信する送信データとして一時的にメモリ７６６に格納する。
【００８２】
ここで、通信部７５および通信部７６４から無線コントローラモジュール１９への無線送信は、それぞれ所定の周期毎に行われるが、ゲームの処理は１／６０秒を単位として行われることが一般的であるので、それよりも短い周期でそれぞれデータを収集して送信を行うことが必要となる。具体的には、ゲームの処理単位は１６．７ｍｓ（１／６０秒）であり、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ；登録商標）で構成される通信部７５や通信部７６４の送信間隔は５ｍｓである。マイコン７５１は、無線コントローラモジュール１９への送信タイミングが到来すると、メモリ７５２に格納されている送信データを自機のＩＤ番号と共に一連のコア操作情報として、無線モジュール７５３へ出力する。そして、無線モジュール７５３は、例えばブルートゥース（登録商標）の技術に基づいて、所定周波数の搬送波を用いてコア操作情報で変調し、その微弱電波信号をアンテナ７５４から放射する。また、マイコン７６５は、無線コントローラモジュール１９への送信タイミングが到来すると、メモリ７６６に格納されている送信データを自機のＩＤ番号と共に一連のサブ操作情報として、無線モジュール７６７へ出力する。そして、無線モジュール７６７は、例えばブルートゥース（登録商標）の技術に基づいて、所定周波数の搬送波を用いてサブ操作情報で変調し、その微弱電波信号をアンテナ７６８から放射する。
【００８３】
つまり、コアユニット７０に設けられた操作部７２からのコアキーデータ、コアユニット７０に設けられた加速度センサ７０１からのコア加速度データ、および撮像情報演算部７４からの処理結果データは、無線モジュール７５３で微弱電波信号に変調されてコアユニット７０から放射される。また、サブユニット７６に設けられた操作部７８からのサブキーデータ、およびサブユニット７６に設けられた加速度センサ７６１からのサブ加速度データは、無線モジュール７６７で微弱電波信号に変調されてサブユニット７６から放射される。そして、ゲーム装置３の無線コントローラモジュール１９でそれら微弱電波信号を受信し、ゲーム装置３で当該微弱電波信号を復調や復号することによって、一連のコア操作情報（コアキーデータ、コア加速度データ、および処理結果データ）およびサブ操作情報（サブキーデータおよびサブ加速度データ）を送信元のＩＤ番号と共に取得することができる。そして、ゲーム装置３のＣＰＵ１０は、取得したコア操作情報およびサブ操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。
【００８４】
また、通信部７５は、コネクタ７３がサブユニット７６のコネクタ７６３と接続された場合、コアユニット７０に固有に予め設定されているユニークなデバイス番号（ＩＤ番号）を、コネクタ７３を介して接続されているサブユニット７６へ出力する。また、通信部７５は、コネクタ７３がサブユニット７６のコネクタ７６３と接続された場合、接続されているサブユニット７６から当該サブユニット７６に設定されているユニークなデバイス番号（ＩＤ番号）を、コネクタ７３を介して取得する。そして、後述により明らかとなるが、コネクタ７３がサブユニット７６のコネクタ７６３と接続された場合、通信部７５は、自機のＩＤ番号および取得したサブユニット７６のＩＤ番号と共に組変更操作が行われたことを示す接触データを、ゲーム装置本体５へ送信する。
【００８５】
一方、通信部７６４は、コネクタ７６３がコアユニット７０のコネクタ７３と接続された場合、サブユニット７６のＩＤ番号を、コネクタ７６３を介して接続されているコアユニット７０へ出力する。また、通信部７６４は、コネクタ７６３がコアユニット７０のコネクタ７３と接続された場合、接続されているコアユニット７０から当該コアユニット７０に設定されているＩＤ番号を、コネクタ７６３を介して取得する。そして、後述により明らかとなるが、コネクタ７６３がコアユニット７０のコネクタ７３と接続された場合、通信部７６４は、自機のＩＤ番号および取得したコアユニット７０のＩＤ番号と共に組変更操作が行われたことを示す接触データを、ゲーム装置本体５へ送信する。
【００８６】
次に、図１２を参照して、複数のコントローラ７とゲーム装置本体５との間で構成される通信システム例について説明する。図１２に示した例では、コアユニット７０とサブユニット７６との組が４組で構成された４つのコントローラ７と、ゲーム装置本体５との間の通信システム例が記載されている。なお、４組のコアユニット７０およびサブユニット７６を区別するために、それぞれコアユニット７０ａ、７０ｂ、７０ｃ、および７０ｄと、サブユニット７６ａ、７６ｂ、７６ｃ、および７６ｄとする。また、それぞれコアユニット７０ａ、７０ｂ、７０ｃ、および７０ｄと、サブユニット７６ａ、７６ｂ、７６ｃ、および７６ｄとの各構成要素についても、それぞれ同様に参照符号にａ〜ｄを付与して区別して説明する。
【００８７】
図１２に示した通信システム例では、ゲーム装置本体５が通信システムにおけるマスタデバイスとなり、コントローラ７が当該通信システムにおけるスレーブデバイスとなる。具体的には、ゲーム装置本体５が２つのマスタデバイス（マスタＡ、マスタＢ）を構成する。そして、コアユニット７０ａ、７０ｂ、７０ｃ、および７０ｄは、２つのマスタデバイスの一方（マスタＡ）に対応するスレーブデバイス（スレーブＡ１、Ａ２、Ａ３、Ａ４）となる。また、サブユニット７６ａ、７６ｂ、７６ｃ、および７６ｄは、２つのマスタデバイスの他方（マスタＢ）に対応するスレーブデバイス（スレーブＢ１、Ｂ２、Ｂ３、Ｂ４）となる。なお、本実施例においては、ゲーム装置本体５が２つのマスタデバイスを有するので、図２におけるアンテナ２３はそれぞれに対応する２つのアンテナから構成されるのが望ましい。無線コントローラモジュール１９は、２つであってもよいし、１つにまとめられていてもよい。
【００８８】
ゲーム装置本体５に構成される一方のマスタデバイス（マスタＡ）は、対応するスレーブデバイス（スレーブＡ１〜Ａ４）との間でピコネットを構成して通信を行う。また、ゲーム装置本体５に構成される他方のマスタデバイス（マスタＢ）は、対応するスレーブデバイス（スレーブＢ１〜Ｂ４）との間でピコネットを構成して通信を行う。すなわち、コアユニット７０ａ〜７０ｄがそれぞれゲーム装置本体５との間で通信を行うとともに、サブユニット７６ａ〜７６ｄもそれぞれゲーム装置本体５との間で通信を行うことになる。
【００８９】
次に、図１３〜図１５を参照して、コアユニット７０とサブユニット７６との組み合わせを区別するための表示態様について説明する。なお、図１３は、コアユニット７０とサブユニット７６との組み合わせを区別するための第１の表示態様例を示す図である。図１４は、コアユニット７０とサブユニット７６との組み合わせを区別するための第２の表示態様例を示す図である。図１５は、コアユニット７０とサブユニット７６との組み合わせを区別するための第３の表示態様例を示す図である。
【００９０】
図１３に示す第１の表示態様例では、コアユニット７０は、ゲーム装置本体５に構成される一方のマスタデバイス（マスタＡ）から送信された組表示データに応じて、それぞれ複数のＬＥＤ７０２の何れかを点灯することによって、サブユニット７６との組み合わせを区別している。一方、サブユニット７６は、ゲーム装置本体５に構成される他方のマスタデバイス（マスタＢ）から送信された組表示データに応じて、複数のＬＥＤ７６２の何れかを点灯することによって、コアユニット７０との組み合わせを区別している。具体的には、コアユニット７０ａは、複数のＬＥＤ７０２ａのうち、左端のＬＥＤを点灯させている。そして、サブユニット７６ａも、複数のＬＥＤ７６２ａのうち、左端のＬＥＤを点灯させている。つまり、コアユニット７０ａおよびサブユニット７６ａは、双方ともに複数のＬＥＤのうちの左端のＬＥＤを点灯させることによって、同じプレイヤ（例えば、プレイヤ１）に操作されるべきペア（同じ組）であることが示される。また、コアユニット７０ｂおよびサブユニット７６ｂは、双方ともに複数のＬＥＤのうちの左から２番目のＬＥＤを点灯させることによって、同じプレイヤ（例えば、プレイヤ２）に操作されるべきペアであることが示される。また、コアユニット７０ｃおよびサブユニット７６ｃは、双方ともに複数のＬＥＤのうちの右から２番目のＬＥＤを点灯させることによって、同じプレイヤ（例えば、プレイヤ３）に操作されるべきペアであることが示される。そして、コアユニット７０ｄおよびサブユニット７６ｄは、双方ともに複数のＬＥＤのうちの右端のＬＥＤを点灯させることによって、同じプレイヤ（例えば、プレイヤ４）に操作されるべきペアであることが示される。
【００９１】
なお、図１３に示した第１の表示態様例において、コアユニット７０とサブユニット７６との数が異なる場合等、ペアとならない（組に属さない）ユニットが存在する場合、当該ユニットについては上述した組み合わせを区別するための表示以外の態様でＬＥＤを点灯／消灯させる。例えば、サブユニット７６とのペアとならなかったコアユニット７０は、複数のＬＥＤ７０２を全て消灯させることによって、ペアとなるサブユニット７６が存在しないことが示される。また、コアユニット７０とのペアとならなかったサブユニット７６は、複数のＬＥＤ７６２を全て消灯させることによって、ペアとなるコアユニット７０が存在しないことが示される。
【００９２】
図１４に示す第２の表示態様例では、コアユニット７０には、サブユニット７６との組み合わせを区別するための表示部として、文字、記号、模様、画像等の少なくとも１つが表示可能な表示装置が設けられる。一例として、図１４に示すコアユニット７０ａ〜７０ｄには、数字、文字、記号等が表示可能な７セグ表示器７０３ａ〜７０３ｄがそれぞれ設けられている。また、サブユニット７６にも同様に、コアユニット７０との組み合わせを区別するための表示部として、文字、記号、模様、画像等の少なくとも１つが表示可能な表示装置が設けられる。一例として、図１４に示すサブユニット７６ａ〜７６ｄには、数字、文字、記号等が表示可能な７セグ表示器７７１ａ〜７７１ｄがそれぞれ設けられている。それ以外にも、たとえば液晶等による画面を設けて組み合わせを示すための表示を行うことができる。
【００９３】
例えば、コアユニット７０は、それぞれ７セグ表示器７０３に、ゲーム装置本体５に構成される一方のマスタデバイス（マスタＡ）から送信された組表示データに応じた組番号を表示することによって、サブユニット７６との組み合わせを区別している。一方、サブユニット７６は、それぞれ７セグ表示器７７１に、ゲーム装置本体５に構成される他方のマスタデバイス（マスタＢ）から送信された組表示データに応じた組番号を表示することによって、コアユニット７０との組み合わせを区別している。具体的には、コアユニット７０ａは、７セグ表示器７０３ａに数字「１」を表示している。そして、サブユニット７６ａも、７セグ表示器７７１ａに数字「１」を表示している。つまり、コアユニット７０ａおよびサブユニット７６ａは、双方ともに７セグ表示器７０３ａおよび７７１ａに数字「１」を表示することによって、同じプレイヤ（例えば、プレイヤ１）に操作されるべきペア（同じ組）であることが示される。また、コアユニット７０ｂおよびサブユニット７６ｂは、双方ともに７セグ表示器７０３ｂおよび７７１ｂに数字「２」を表示することによって、同じプレイヤ（例えば、プレイヤ２）に操作されるべきペアであることが示される。また、コアユニット７０ｃおよびサブユニット７６ｃは、双方ともに７セグ表示器７０３ｃおよび７７１ｃに数字「３」を表示することによって、同じプレイヤ（例えば、プレイヤ３）に操作されるべきペアであることが示される。そして、コアユニット７０ｄおよびサブユニット７６ｄは、双方ともに７セグ表示器７０３ｄおよび７７１ｄに数字「４」を表示することによって、同じプレイヤ（例えば、プレイヤ４）に操作されるべきペアであることが示される。
【００９４】
なお、図１４に示した第２の表示態様例において、コアユニット７０とサブユニット７６との数が異なる場合等、ペアとならない（組に属さない）ユニットが存在する場合、当該ユニットについては上述した組み合わせを区別するための表示以外の態様で７セグ表示器７０３および７７１を表示するか、もしくは未表示にする。例えば、サブユニット７６とのペアとならなかったコアユニット７０は、７セグ表示器７０３を未表示にすることによって、ペアとなるサブユニット７６が存在しないことが示される。また、コアユニット７０とのペアとならなかったサブユニット７６は、７セグ表示器７７１を未表示にすることによって、ペアとなるコアユニット７０が存在しないことが示される。未表示以外にも、たとえば７セグ表示器７０３や７セグ表示器７７１を点滅等することによってペアが存在しないことをしめすことができる。
【００９５】
また、コアユニット７０およびサブユニット７６の表示装置（例えば、７セグ表示器７０３および７７１）においては、それぞれ全く同じ表示態様にすることによって同じ組であることを示さなくてもかまわない。第１の例として、コアユニット７０およびサブユニット７６の一方の表示装置を漢数字で表示し、他方を算用数字で表示する。そして、漢数字が示す数字と算用数字が示す数字とが同じ場合に、当該数字を示すコアユニット７０とサブユニット７６とが同じ組であることを示す。第２の例として、コアユニット７０およびサブユニット７６の表示装置に、画像としては異なるが関連性が明確な画像を表示することによって、同じ組であることを示す。例えば、ゲーム上で関係が深い異なるキャラクタ画像（例えば、兄弟、仲間、ペア等の画像）や、ゲーム上で進化するキャラクタにおける進化前のキャラクタ画像と進化後のキャラクタ画像をそれぞれ表示することによって、当該２つのキャラクタ画像が表示されているユニットが同じ組であることを示す。第３の例として、コアユニット７０およびサブユニット７６の表示装置に、画像としては異なるが種類や類別が同じ画像を表示することによって、同じ組であることを示す。例えば、画像としては異なるが、魚、動物、植物、乗り物等を類別として、同じ類別に属する画像が表示されたコアユニット７０とサブユニット７６とが同じ組であることを示す。
【００９６】
図１５に示す第３の表示態様例では、コアユニット７０には、サブユニット７６との組み合わせを区別するための表示部として、複数の色が表示可能な表示装置が設けられる。一例として、図１５に示すコアユニット７０ａ〜７０ｄには、多色ＬＥＤ７０５ａ〜７０５ｄがそれぞれ設けられている。また、サブユニット７６にも同様に、コアユニット７０との組み合わせを区別するための表示部として、複数の色が表示可能な表示装置が設けられる。一例として、図１５に示すサブユニット７６ａ〜７６ｄには、多色ＬＥＤ７７２ａ〜７７２ｄがそれぞれ設けられている。
【００９７】
例えば、コアユニット７０は、それぞれ多色ＬＥＤ７０５に、ゲーム装置本体５に構成される一方のマスタデバイス（マスタＡ）から送信された組表示データに応じた色を表示することによって、サブユニット７６との組み合わせを区別している。一方、サブユニット７６は、それぞれ多色ＬＥＤ７７２に、ゲーム装置本体５に構成される他方のマスタデバイス（マスタＢ）から送信された組表示データに応じた色を表示することによって、コアユニット７０との組み合わせを区別している。具体的には、コアユニット７０ａは、多色ＬＥＤ７０５ａに青色を表示している。そして、サブユニット７６ａも、多色ＬＥＤ７７２ａに青色を表示している。つまり、コアユニット７０ａおよびサブユニット７６ａは、双方ともに多色ＬＥＤ７０５ａおよび７７２ａに青色を表示することによって、同じプレイヤ（例えば、プレイヤ１）に操作されるべきペア（同じ組）であることが示される。また、コアユニット７０ｂおよびサブユニット７６ｂは、双方ともに多色ＬＥＤ７０５ｂおよび７７２ｂに緑色を表示することによって、同じプレイヤ（例えば、プレイヤ２）に操作されるべきペアであることが示される。また、コアユニット７０ｃおよびサブユニット７６ｃは、双方ともに多色ＬＥＤ７０５ｃおよび７７２ｃに赤色を表示することによって、同じプレイヤ（例えば、プレイヤ３）に操作されるべきペアであることが示される。そして、コアユニット７０ｄおよびサブユニット７６ｄは、双方ともに多色ＬＥＤ７０５ｄおよび７７２ｄに黄色を表示することによって、同じプレイヤ（例えば、プレイヤ４）に操作されるべきペアであることが示される。
【００９８】
なお、図１４に示した第３の表示態様例において、コアユニット７０とサブユニット７６との数が異なる場合等、ペアとならない（組に属さない）ユニットが存在する場合、当該ユニットについては上述した組み合わせを区別するための表示以外の態様（たとえば白色、点滅等）で多色ＬＥＤ７０５および７７２を表示するか、もしくは未表示にする。例えば、サブユニット７６とのペアとならなかったコアユニット７０は、多色ＬＥＤ７０５を未表示にすることによって、ペアとなるサブユニット７６が存在しないことが示される。また、コアユニット７０とのペアとならなかったサブユニット７６は、多色ＬＥＤ７７２を未表示にすることによって、ペアとなるコアユニット７０が存在しないことが示される。
【００９９】
また、コアユニット７０およびサブユニット７６の表示装置（例えば、多色ＬＥＤ７０５および７７２）においては、それぞれ全く同じ色を表示することによって同じ組であることを示さなくてもかまわない。一般的に、プレイヤは、全く同じ色でなくても同じ系統の色であれば同じ組であることを区別することが可能であるし、表示装置の機差等によっても表現される色が若干異なる場合もあり得る。したがって、上記第３の表示態様例においては、コアユニット７０およびサブユニット７６の表示装置に同系色の色を表示することによって、同じプレイヤに操作されるべきペアであることを示してもかまわない。
【０１００】
上述したように、コアユニット７０およびサブユニット７６にそれぞれ設けられた、組み合わせを区別するための表示部を視認することによって、プレイヤがそれぞれ操作すべきコアユニット７０とサブユニット７６との組み合わせが明確となる。そして、ゲーム装置本体５は、それぞれのコアユニット７０とサブユニット７６との組み合わせが同じプレイヤによって操作されていることを前提として、ゲーム処理を行う。しかしながら、組が異なるコアユニット７０およびサブユニット７６をプレイヤが操作している場合、ゲーム装置本体５が組変更処理を行うことができる。以下、図１６〜図１８を参照して、ゲーム装置本体５が行う組変更処理の概要について説明する。なお、図１６は、ゲーム装置本体５が行う組変更処理例の第１段階を示す図である。図１７は、ゲーム装置本体５が行う組変更処理例の第２段階を示す図である。図１８は、ゲーム装置本体５が行う組変更処理例の第３段階を示す図である。なお、図１６〜図１８においては、コアユニット７０とサブユニット７６との組み合わせを区別するための表示部として、上記第２の表示態様例が用いられている。
【０１０１】
図１６において、ゲーム装置本体５では、現時点で設定されているコアユニット７０とサブユニット７６との間の組み合わせが管理されている。例えば、ゲーム装置本体５は、組番号毎に属するスレーブデバイス（コアユニット７０、サブユニット７６）が記述されたデータテーブルＴを管理している。図１６に示す状態では、組番号１にスレーブＡ１（コアユニット７０ａ）とスレーブＢ１（サブユニット７６ａ）とが属し、組番号２にスレーブＡ２（コアユニット７０ｂ）とスレーブＢ２（サブユニット７６ｂ）とが属し、組番号３にスレーブＡ３（コアユニット７０ｃ）とスレーブＢ３（サブユニット７６ｃ）とが属し、組番号４にスレーブＡ４（コアユニット７０ｄ）とスレーブＢ４（サブユニット７６ｄ）とが属している。その一方で、プレイヤ１がコアユニット７０ａとサブユニット７６ａとを操作し、プレイヤ２がコアユニット７０ｂとサブユニット７６ｄとを操作し、プレイヤ３がコアユニット７０ｃとサブユニット７６ｂとを操作し、プレイヤ４がコアユニット７０ｄとサブユニット７６ｃとを操作している。つまり、プレイヤ２〜４は、現時点で設定されているユニットの組において、それぞれ組が異なるコアユニット７０およびサブユニット７６を操作していることになる。
【０１０２】
このような状況において、プレイヤ２が組変更操作を行う。ここで、組変更操作は、プレイヤが操作しているコアユニット７０とサブユニット７６との組み合わせをゲーム装置本体５へ通知するための操作である。一例として、プレイヤは、コアユニット７０に設けられたコネクタ７３とサブユニット７６に設けられたコネクタ７６３とを接続させることによって、組変更操作を行う。組変更操作が行われた場合、コアユニット７０およびサブユニット７６は、接触データをゲーム装置本体５へ送信する。ここで、接触データは、当該接触データを送信する送信元情報（ＩＤ番号）と共に、組変更操作が行われた相手装置、すなわちコネクタ同士が接続された相手装置を示す情報（ＩＤ番号）を含むデータである。具体的には、図１６に示すようにコアユニット７０ｂとサブユニット７６ｄとの間で組変更操作が行われた場合、コアユニット７０ｂは、サブユニット７６ｄとの間で組変更操作が行われたことを示す接触データをゲーム装置本体５へ送信する。また、サブユニット７６ｄは、コアユニット７０ｂとの間で組変更操作が行われたことを示す接触データをゲーム装置本体５へ送信する。
【０１０３】
ゲーム装置本体５は、上記接触データを受信することによって、組変更操作が行われたこととともに、どのユニット間で組変更操作が行われたかを知ることができる。そして、ゲーム装置本体５は、組変更操作が行われたコアユニット７０とサブユニット７６との組み合わせが、現時点で同じプレイヤによって操作されている組み合わせであることを推定することができる。したがって、ゲーム装置本体５は、組変更操作が行われたコアユニット７０とサブユニット７６との組み合わせが同じ組番号に属するように、組変更処理を行う。
【０１０４】
例えば、ゲーム装置本体５は、コアユニット７０ｂとサブユニット７６ｄとの間で組変更操作が行われたことを示す接触データを受信した場合、コアユニット７０ｂおよびサブユニット７６ｄとが同じ組となるように組変更処理を行う（図１７の状態）。具体的には、ゲーム装置本体５は、サブユニット７６ｄ（スレーブＢ４）が属する組番号を、組番号４からコアユニット７０ｂ（スレーブＡ２）の組番号（すなわち、組番号２）に変更して、テーブルデータＴを更新する。これによって、サブユニット７６ｄ（スレーブＢ４）が組変更処理前に属していた組番号４に対応するサブユニットが空欄となる。また、サブユニット７６ｄ（スレーブＢ４）の組変更処理前に組番号２に属していたサブユニット７６ｂ（スレーブＢ２）は、一旦組設定が解除（組番号なし）される。
【０１０５】
そして、ゲーム装置本体５は、組変更処理によって変更された組番号を示す組表示データを、対象となるユニットへ送信する。具体的には、ゲーム装置本体５は、サブユニット７６ｄ（スレーブＢ４）に組番号が２に変更されたことを示す組表示データを送信する。この組表示データを受信することに応じて、サブユニット７６ｄは、７セグ表示器７７１に数字「２」を表示する。また、ゲーム装置本体５は、サブユニット７６ｂ（スレーブＢ２）に組番号が空番号に変更されたこと（組設定解除）を示す組表示データを送信する。この組表示データを受信することに応じて、サブユニット７６ｂは、７セグ表示器７７１を未表示にする。
【０１０６】
次に、プレイヤ３および４が組変更操作を行う。具体的には、図１７に示すコアユニット７０ｃとサブユニット７６ｂとの間およびコアユニット７０ｄとサブユニット７６ｃとの間でそれぞれ組変更操作が行われる。この場合、コアユニット７０ｃは、サブユニット７６ｂとの間で組変更操作が行われたことを示す接触データをゲーム装置本体５へ送信する。また、サブユニット７６ｂは、コアユニット７０ｃとの間で組変更操作が行われたことを示す接触データをゲーム装置本体５へ送信する。そして、コアユニット７０ｄは、サブユニット７６ｃとの間で組変更操作が行われたことを示す接触データをゲーム装置本体５へ送信する。また、サブユニット７６ｃは、コアユニット７０ｄとの間で組変更操作が行われたことを示す接触データをゲーム装置本体５へ送信する。
【０１０７】
ゲーム装置本体５は、コアユニット７０ｃとサブユニット７６ｂとの間で組変更操作が行われたことを示す接触データを受信した場合、コアユニット７０ｃとサブユニット７６ｂとが同じ組となるように組変更処理を行う。また、ゲーム装置本体５は、コアユニット７０ｄとサブユニット７６ｃとの間で組変更操作が行われたことを示す接触データを受信した場合、コアユニット７０ｄおよびサブユニット７６ｃとが同じ組となるように組変更処理を行う（図１８の状態）。具体的には、ゲーム装置本体５は、サブユニット７６ｂ（スレーブＢ２）が属する組番号を、空番号からコアユニット７０ｃ（スレーブＡ３）の組番号（すなわち、組番号３）に変更して、テーブルデータＴを更新する。また、ゲーム装置本体５は、サブユニット７６ｃ（スレーブＢ３）が属する組番号を、組番号３からコアユニット７０ｄ（スレーブＡ４）の組番号（すなわち、組番号４）に変更して、テーブルデータＴを更新する。
【０１０８】
そして、ゲーム装置本体５は、組変更処理によって変更された組番号を示す組表示データを、対象となるユニットへ送信する。具体的には、ゲーム装置本体５は、サブユニット７６ｂ（スレーブＢ２）に組番号が３に変更されたことを示す組表示データを送信する。この組表示データを受信することに応じて、サブユニット７６ｂは、７セグ表示器７７１に数字「３」を表示する。また、ゲーム装置本体５は、サブユニット７６ｃ（スレーブＢ３）に組番号が４に変更されたことを示す組表示データを送信する。この組表示データを受信することに応じて、サブユニット７６ｃは、７セグ表示器７７１に数字「４」を表示する。
【０１０９】
このように、コアユニット７０およびサブユニット７６を用いるプレイヤが組変更操作を行うことによって、当該操作前にコアユニット７０とサブユニット７６とが異なる組に属していたとしても同じ組となるように組変更処理が行われる。したがって、プレイヤが間違った組み合わせのコアユニット７０およびサブユニット７６を持ってゲームをしようとした場合であっても、簡単に組み合わせを変えることができ、コントローラを持ち替えずにゲームをすることができる。
【０１１０】
次に、図１９を参照して、ゲーム処理において用いられる主なデータについて説明する。なお、図１９は、ゲーム装置本体５の外部メインメモリ１２および／または内部メインメモリ３５（以下、２つのメインメモリを総称して、単にメインメモリと記載する）に記憶される主なデータの一例を示す図である。
【０１１１】
図１９に示すように、メインメモリのデータ記憶領域には、受信データＤａ、送信データＤｂ、およびユニット組テーブルデータＤｃ等が記憶される。なお、メインメモリには、図１９に示すデータの他、ゲームに登場するオブジェクト等に関するデータや仮想ゲーム世界に関するデータ等、ゲーム処理に必要なデータが記憶される。また、メインメモリのプログラム記憶領域には、ゲームプログラムを構成する各種プログラム群Ｐａが記憶される。
【０１１２】
受信データＤａは、コア操作データＤａ１、サブ操作データＤａ２、および接触データＤａ３等を含んでいる。コア操作データＤａ１は、コアユニット７０毎に操作された内容を示すデータであり、コアユニット７０から送信データとして送信されてくる一連のコア操作情報を示すデータがそれぞれ格納される。サブ操作データＤａ２は、サブユニット７６毎に操作された内容を示すデータであり、サブユニット７６から送信データとして送信されてくる一連のサブ操作情報を示すデータがそれぞれ格納される。接触データＤａ３は、プレイヤによって組変更操作されたコアユニット７０およびサブユニット７６を示すデータであり、当該組変更操作されたコアユニット７０およびサブユニット７６からそれぞれ送信されてくる接触データが格納される。
【０１１３】
なお、ゲーム装置本体５に備える無線コントローラモジュール１９は、コアユニット７０およびサブユニット７６からそれぞれ所定周期（例えば、１／２００秒毎）毎に送信される送信データを受信し、無線コントローラモジュール１９に備える図示しないバッファに蓄える。その後、例えば、上記バッファに蓄えられた送信データがゲーム装置本体５の処理周期である１フレーム毎（例えば、１／６０秒毎）に当該期間中に蓄えられたデータが読み出されて、メインメモリの受信データＤａが更新される。
【０１１４】
送信データＤｂは、組表示データＤｂ１を含んでいる。組表示データＤｂ１は、コアユニット７０とサブユニット７６との組み合わせ（組番号）を示して、当該組み合わせをコアユニット７０および／またはサブユニット７６に表示させるためのデータが格納される。
【０１１５】
なお、ゲーム装置本体５に備える無線コントローラモジュール１９は、送信データＤｂに格納された送信データを、当該送信データに記述された送信先となったコアユニット７０またはサブユニット７６へ、送信タイミング（例えば、１／２００秒毎）が到来した際に送信する。
【０１１６】
ユニット組テーブルデータＤｃは、現時点で設定されているコアユニット７０とサブユニット７６との間の組み合わせを管理するためのユニット組テーブルを示すデータが格納される。例えば、図２０に示すように、ユニット組テーブルは、ゲーム装置本体５が通信可能なコアユニット７０およびサブユニット７６に対して、それぞれのＩＤ番号、スレーブ番号、および組番号等が記述される。ここで、ＩＤ番号は、コアユニット７０およびサブユニット７６に対して、それぞれ固有に予め設定されているユニークなデバイス番号である。
【０１１７】
例えば、ユニット組テーブルデータＤｃには、ゲーム装置本体５の一方のマスタデバイス（マスタＡ）の通信先となるコアユニット７０（スレーブＡ）について、それぞれのＩＤ番号、スレーブ番号、および組番号等が記述される。具体的には、ＩＤ番号「ＡＸＸＸＸＸＸ」のコアユニット７０に対して、スレーブ番号「Ａ１」および組番号「１」が記述されている。また、ゲーム装置本体５の他方のマスタデバイス（マスタＢ）の通信先となるサブユニット７６（スレーブＢ）についても、それぞれのＩＤ番号、スレーブ番号、および組番号等が記述される。具体的には、ＩＤ番号「ａｘｘｘｘｘｘ」のサブユニット７６に対して、スレーブ番号「Ｂ１」および組番号「１」が記述されている。
【０１１８】
次に、図２１〜図２３を参照して、ゲーム装置本体５において行われる処理の詳細を説明する。なお、図２１は、ゲーム装置本体５において実行される処理の流れの一例を示すフローチャートである。図２２は、図２１におけるステップ４２の組設定処理の詳細な動作の一例を示すサブルーチンである。図２３は、図２１におけるステップ４３の組変更処理の詳細な動作の一例を示すサブルーチンである。なお、図２１〜図２３に示すフローチャートにおいては、ゲーム装置本体５において行われる処理のうち、コアユニット７０とサブユニット７６との組を設定する処理について説明し、本願発明と直接関連しない他の処理については詳細な説明を省略する。また、図２１〜図２３では、ＣＰＵ１０が実行する各ステップを「Ｓ」と略称する。
【０１１９】
ゲーム装置本体５の電源が投入されると、ゲーム装置本体５のＣＰＵ１０は、ブートＲＯＭ（例えば、ＲＯＭ／ＲＴＣ１３）に記憶されている起動プログラムを実行し、これによってメインメモリ等の各ユニットが初期化される。そして、光ディスク４に記憶されたゲームプログラムがメインメモリに読み込まれ、ＣＰＵ１０によって当該ゲームプログラムの実行が開始される。図２１〜図２３に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。
【０１２０】
図２１において、ＣＰＵ１０は、初期設定を行い（ステップ４１）、次のステップに処理を進める。例えば、上記ステップ４１における初期設定では、ＣＰＵ１０は、メインメモリに格納されている各パラメータを初期化（例えば、各ゲームパラメータを空値（Ｎｕｌｌ）に初期化）する。
【０１２１】
次に、ＣＰＵ１０は、組設定処理を行い（ステップ４２）、次のステップに処理を進める。なお、コアユニット７０のみを用いてゲームをすることも可能であるので、そのようなゲームにおいては以下のステップ４２やステップ４３を実行しなくともよいが、以下ではコアユニット７０とサブユニット７６を両方使い、組み合わせの変更が可能なゲームにおける例について説明をする。以下、図２２を参照して、上記ステップ４２で行う組設定処理について説明する。
【０１２２】
図２２において、ＣＰＵ１０は、コアユニット７０およびサブユニット７６の何れか１つから操作情報を受信したか否かを判断する（ステップ５１）。そして、ＣＰＵ１０は、コアユニット７０およびサブユニット７６の何れか１つから操作情報を受信した場合、送信されたＩＤ番号に基づいて当該操作情報を用いてコア操作データＤａ１またはサブ操作データＤａ２を更新して、次のステップ５２に処理を進める。一方、ＣＰＵ１０は、コアユニット７０およびサブユニット７６の何れからも操作情報を受信していない場合、次のステップ５８に処理を進める。
【０１２３】
ステップ５２において、ＣＰＵ１０は、操作情報を送信したコアユニット７０またはサブユニット７６が、既に何れかの組に設定されているか否かを判断する。例えば、ＣＰＵ１０は、ユニット組テーブルデータＤｃを参照して、送信されたＩＤ番号に相当するコアユニット７０またはサブユニット７６が既に記述されているか否かを判断し、既に送信されたＩＤ番号が記述されている場合に当該ＩＤ番号のコアユニット７０またはサブユニット７６が何れかの組に設定済みであるとする。そして、ＣＰＵ１０は、操作情報を送信したコアユニット７０またはサブユニット７６が何れの組にも設定されていない場合、次のステップ５３に処理を進める。一方、ＣＰＵ１０は、操作情報を送信したコアユニット７０またはサブユニット７６が何れかの組に設定されている場合、次のステップ５８に処理を進める。
【０１２４】
ステップ５３において、ＣＰＵ１０は、操作情報を送信したユニットがコアユニット７０であるか否かを判断する。そして、ＣＰＵ１０は、操作情報を送信したユニットがコアユニット７０である場合、次のステップ５４に処理を進める。一方、ＣＰＵ１０は、操作情報を送信したユニットがサブユニット７６である場合、次のステップ５６に処理を進める。
【０１２５】
ステップ５４において、ＣＰＵ１０は、コアユニット７０に対して未設定となっている組番号のうち、最若番号の組に操作情報を送信したコアユニット７０を設定し、次のステップに処理を進める。例えば、ＣＰＵ１０は、ユニット組テーブルデータＤｃを参照して、コアユニット７０のＩＤ番号が記述される組番号（例えば、マスタＡに対応する組番号）のうち、操作情報を送信したコアユニット７０を未設定の最若番号の組番号に割り当てる。そして、ＣＰＵ１０は、当該最若番号の組番号に操作情報を送信したコアユニット７０のＩＤ番号を記述して、適当なスレーブ番号を割り当てる。具体的には、図２０に示したユニット組テーブルデータＤｃでは、コアユニット７０の組番号「１」が、ＩＤ番号「ＡＸＸＸＸＸＸ」のコアユニット７０に割り当てられ、当該コアユニット７０にスレーブ番号「Ａ１」が割り当てられている。
【０１２６】
次に、ＣＰＵ１０は、上記ステップ５４で設定された組番号を示す組表示データを、操作情報を送信したコアユニット７０へ送信し（ステップ５５）、次のステップ５８に処理を進める。上記ステップ５５の処理によって送信された組表示データを受信することによって、操作情報を送信したコアユニット７０は、自機の組番号を知ると共に、当該組番号に応じたＬＥＤ７０２を点灯する。
【０１２７】
一方、ステップ５６において、ＣＰＵ１０は、サブユニット７６に対して未設定となっている組番号のうち、最若番号の組に操作情報を送信したサブユニット７６を設定し、次のステップに処理を進める。例えば、ＣＰＵ１０は、ユニット組テーブルデータＤｃを参照して、サブユニット７６のＩＤ番号が記述される組番号（例えば、マスタＢに対応する組番号）のうち、操作情報を送信したサブユニット７６を未設定の最若番号の組番号に割り当てる。そして、ＣＰＵ１０は、当該最若番号の組番号に操作情報を送信したサブユニット７６のＩＤ番号を記述して、適当なスレーブ番号を割り当てる。具体的には、図２０に示したユニット組テーブルデータＤｃでは、サブユニット７６の組番号「１」が、ＩＤ番号「ａｘｘｘｘｘｘ」のサブユニット７６に割り当てられ、当該サブユニット７６にスレーブ番号「Ｂ１」が割り当てられている。
【０１２８】
次に、ＣＰＵ１０は、上記ステップ５６で設定された組番号を示す組表示データを、操作情報を送信したサブユニット７６へ送信し（ステップ５７）、次のステップ５８に処理を進める。上記ステップ５７の処理によって送信された組表示データを受信することによって、操作情報を送信したサブユニット７６は、自機の組番号を知ると共に、当該組番号に応じたＬＥＤ７６２を点灯する。
【０１２９】
ステップ５８において、ＣＰＵ１０は、コアユニット７０とサブユニット７６との組設定処理を終了するか否かを判断する。組設定処理を終了する条件としては、例えば、プレイヤが組設定処理を終了する操作を行ったことや、予め定められた組設定処理を終了する条件が満たされたこと（例えば、組設定処理が開始されてから所定時間が経過したこと）等がある。そして、ＣＰＵ１０は、組設定処理を継続する場合、上記ステップ５１に戻って、処理を繰り返す。一方、ＣＰＵ１０は、組設定処理を終了する場合、次のステップ５９に処理を進める。
【０１３０】
ステップ５９において、ＣＰＵ１０は、上記ステップ５１〜ステップ５８の処理によって設定したコアユニット７０とサブユニット７６との組において、一方のみが属する組があるか否かを判断する。例えば、ＣＰＵ１０は、ユニット組テーブルデータＤｃを参照して、コアユニット７０およびサブユニット７６の一方のみが属している組番号があるか否かを判断する。そして、ＣＰＵ１０は、一方のみが属する組（組番号）がある場合、次のステップ６０に処理を進める。一方、ＣＰＵ１０は、一方のみが属する組（組番号）がない場合、当該サブルーチンによる処理を終了する。
【０１３１】
ステップ６０において、ＣＰＵ１０は、コアユニット７０およびサブユニット７６の一方のみが属する組設定を解除して、次のステップに処理を進める。例えば、ＣＰＵ１０は、ユニット組テーブルデータＤｃを参照して、コアユニット７０およびサブユニット７６の一方のみが属している組番号については、当該組番号に記述されている各パラメータ（例えば、ＩＤ番号）を削除する。
【０１３２】
次に、ＣＰＵ１０は、組番号が空番号であることを示す組表示データを、上記ステップ６０で組設定が解除されたユニット（コアユニット７０またはサブユニット７６）へ送信し（ステップ６１）、当該サブルーチンによる処理を終了する。上記ステップ６１の処理によって送信された組表示データを受信することによって、当該組表示データを受信したユニット（コアユニット７０またはサブユニット７６）は、自機が何れの組にも属していないことを知ると共に、ＬＥＤ７０２またはＬＥＤ７６２を用いて何れの組に属していないことを示す（例えば、ＬＥＤ７０２またはＬＥＤ７６２を全て消灯）。
【０１３３】
図２１に戻り、上記ステップ４２における組設定処理の後、ＣＰＵ１０は、組変更処理を行い（ステップ４３）、次のステップに処理を進める。以下、図２２を参照して、上記ステップ４３で行う組変更処理について説明する。
【０１３４】
図２３において、ＣＰＵ１０は、組変更処理を実行するか否かを判断する（ステップ８１）。例えば、プレイヤがコアユニット７０とサブユニット７６とを用いて上述した組変更操作を行って、コアユニット７０またはサブユニット７６から接触データを受信した場合、ＣＰＵ１０は、組変更処理を実行すると判断する。なお、ＣＰＵ１０が組変更処理を行うか否かを判断する方法は、他に様々な方法が考えられるが、他の方法例については後述する。そして、ＣＰＵ１０は、組変更処理を行う場合、次のステップ８２に処理を進める。一方、ＣＰＵ１０は、組変更処理を行わない場合、次のステップ８９に処理を進める。
【０１３５】
ステップ８２において、ＣＰＵ１０は、組変更操作が行われたコアユニット７０またはサブユニット７６から接触データを取得し、次のステップに処理を進める。例えば、ＣＰＵ１０は、受信した接触データの送信元のＩＤ番号に基づいて当該接触データを用いて接触データＤａ３を更新する。
【０１３６】
次に、ＣＰＵ１０は、上記ステップ８２で取得した接触データを参照して、組変更操作されたコアユニット７０およびサブユニット７６のペアがそれぞれ同じ組番号に属するか否かを判断する（ステップ８３）。例えば、ＣＰＵ１０は、ユニット組テーブルデータＤｃを参照して、上記ステップ８２で受信した接触データが示す送信元のＩＤ番号に対応する組番号と、当該接触データが示す接続相手のＩＤ番号に対応する組番号とが、同じであるか否かを判断する。そして、ＣＰＵ１０は、組変更操作されたペアがそれぞれ異なる組番号に属する、または少なくとも一方が何れの組にも属していない場合、次のステップ８４に処理を進める。一方、ＣＰＵ１０は、組変更操作されたペアがそれぞれ同じ組番号に属する場合、次のステップ８９に処理を進める。
【０１３７】
ステップ８４において、ＣＰＵ１０は、組変更操作されたサブユニット７６の組番号を、当該組変更操作された相手のコアユニット７０の組番号に変更し、次のステップに処理を進める。例えば、ＣＰＵ１０は、ユニット組テーブルデータＤｃを参照して、上記ステップ８２で取得した接触データが示すＩＤ番号のうち、コアユニット７０に相当するＩＤ番号に対応する組番号を抽出する。そして、ＣＰＵ１０は、ユニット組テーブルデータＤｃを参照して、上記ステップ８２で取得した接触データが示すＩＤ番号のうち、サブユニット７６に相当するＩＤ番号に対応する組番号を、上記抽出した組番号に変更する。上記ステップ８４の処理によって、ユニット組テーブルデータＤｃ上において、組変更処理されたコアユニット７０およびサブユニット７６のペアがそれぞれ同じ組番号に変更される。
【０１３８】
次に、ＣＰＵ１０は、上記ステップ８４で変更された組番号を示す組表示データを、組変更操作されたサブユニット７６へ送信し（ステップ８５）、次のステップに処理を進める。上記ステップ８５の処理によって送信された組表示データを受信することによって、当該組表示データを受信したサブユニット７６は、自機の組番号が変更されたことを知ると共に、当該変更後の組番号に応じたＬＥＤ７０２を点灯する。
【０１３９】
次に、ＣＰＵ１０は、上記ステップ８４の処理によって、組番号が重複しているサブユニット７６があるか否かを判断する（ステップ８６）。例えば、ＣＰＵ１０は、ユニット組テーブルデータＤｃを参照して、サブユニット７６に対してそれぞれ設定されている組番号に重複があるか否かを判断する。そして、ＣＰＵ１０は、サブユニット７６の組番号に重複がある場合、次のステップ８７に処理を進める。一方、ＣＰＵ１０は、サブユニット７６の組番号に重複がない場合、次のステップ８９に処理を進める。
【０１４０】
ステップ８７において、ＣＰＵ１０は、ユニット組テーブルデータＤｃを参照して、組番号が重複しているサブユニット７６のうち、上記ステップ８４およびステップ８５の処理の対象となっていないサブユニット７６（すなわち、組番号が変更されていないサブユニット７６）の組番号を空番号に変更し、次のステップに処理を進める。
【０１４１】
次に、ＣＰＵ１０は、組番号が空番号であることを示す組表示データを、上記ステップ８７で組番号が空番号に変更されたサブユニット７６へ送信し（ステップ８８）、次のステップ８９に処理を進める。上記ステップ８８の処理によって送信された組表示データを受信することによって、当該組表示データを受信したサブユニット７６は、自機が何れの組にも属していないことを知ると共に、ＬＥＤ７６２を用いて何れの組に属していないことを示す（例えば、ＬＥＤ７６２を全て消灯）。
【０１４２】
ステップ８９において、ＣＰＵ１０は、組変更処理を終了してゲーム処理を実行するか否かを判断する。ゲーム処理を実行する条件としては、例えば、プレイヤが組変更処理を終了する操作を行ったことや、当該ステップ４３の組変更処理を実行する前段階においてゲーム処理中であった場合は上記ステップ８１の判定において組変更処理を実行しないと判断されたこと等がある。そして、ＣＰＵ１０は、組変更処理を継続する場合、上記ステップ８１に戻って、処理を繰り返す。一方、ＣＰＵ１０は、ゲーム処理を実行する場合、当該サブルーチンによる処理を終了する。
【０１４３】
図２１に戻り、上記ステップ４３の組変更処理の後、ＣＰＵ１０は、ゲーム処理を行って（ステップ４４）、次のステップに処理を進める。ここで、上記ステップ４４においては、典型的には、コントローラ７、すなわちコアユニット７０およびサブユニット７６からそれぞれ出力される操作情報に基づいたゲーム処理が行われる。そして、ＣＰＵ１０は、上記ゲーム処理において、ユニット組テーブルデータＤｃに記述されている組番号が同じコアユニット７０とサブユニット７６との組毎に、それぞれ同じプレイヤによって操作されていることを前提として行う。すなわち、ＣＰＵ１０は、ユニット組テーブルデータＤｃに記述されているコアユニット７０とサブユニット７６との組み合わせに基づいて、操作情報を処理することになる。
【０１４４】
次に、ＣＰＵ１０は、ゲーム処理を終了するか否かを判断する（ステップ４５）。ゲーム処理を終了する条件としては、ゲームオーバーとなる条件が満たされたことや、プレイヤがゲームを終了する操作を行ったこと等がある。ＣＰＵ１０は、ゲームを終了しない場合に上記ステップ４３に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。
【０１４５】
このように、本実施形態に係るゲームシステムでは、同じプレイヤが用いるコアユニット７０とサブユニット７６とが同じ組になるように、ユニットの組み合わせを変更することが可能となる。例えば、属する組が異なるコアユニット７０およびサブユニット７６を用いてプレイヤが操作する場合、当該コアユニット７０とサブユニット７６とを用いて組変更操作を行うことによって、当該コアユニット７０とサブユニット７６とを同じ組になるように組み合わせを変更することが可能となる。したがって、プレイヤは、属する組が異なるコアユニット７０およびサブユニット７６を用いて操作する場合であっても、組変更操作を行うことによってプレイヤが意図する操作が可能となる。
【０１４６】
なお、上述した説明では、コアユニット７０のコネクタ７３とサブユニット７６のコネクタ７６３とを、一時的に接続（接触）させることによってプレイヤが組変更操作を行う一例を用いたが、他の方法で組変更操作が行われてもかまわない。ここで、組変更操作は、コアユニット７０とサブユニット７６とが同じプレイヤによって操作されていることを検出するためのものであり、通常同じプレイヤによって行われることを前提とするような所定の操作となる。例えば、上述したように、同じプレイヤが左右の手でそれぞれコアユニット７０とサブユニット７６とを把持し、それらを一時的に接続（接触）させるという操作によって行われることであるので、これらを同じプレイヤによって行われた操作とみなすことができ、簡単な操作によってプレイヤが現在把持しているコアユニット７０とサブユニット７６とを組み合わせてゲームに使うように設定を変更することが可能になる。
【０１４７】
組変更操作の第１の例として、プレイヤがコアユニット７０に設けられた所定の操作ボタンとサブユニット７６に設けられた所定の操作ボタンとを操作することによって、組変更操作が行われる。例えば、コアユニット７０およびサブユニット７６にそれぞれ設けられたプレイヤが不意に誤って押下することのないボタン（例えば、各ユニットの電池ケース付近等、コアユニット７０およびサブユニット７６の内部にそれぞれ設けられた操作ボタン等）を組変更操作用の操作ボタンに設定する。組変更操作用の操作ボタンが押下された場合、自機のＩＤ番号と共に当該操作ボタンが押下されたことを示す操作データが、ゲーム装置本体５へ送信される。そして、プレイヤは、コアユニット７０およびサブユニット７６の一方（例えば、コアユニット７０）の組変更操作用の操作ボタンを押下した後、所定時間以内にコアユニット７０およびサブユニット７６の他方（例えば、サブユニット７６）の組変更操作用の操作ボタンを押下することによって、組変更操作を行う。この場合、ＣＰＵ１０は、コアユニット７０およびサブユニット７６の一方における組変更操作用の操作ボタンが操作されたことを検出することによって、上記ステップ８１（図２３）において組変更処理を実行すると判断する。そして、ＣＰＵ１０は、上記一方における組変更操作用の操作ボタンが操作されたことを検出した後、所定時間以内にコアユニット７０およびサブユニット７６の他方における組変更操作用の操作ボタンが操作されたことを検出することによって、組変更操作されたコアユニット７０とサブユニット７６との組み合わせ（ＩＤ番号の組み合わせ）を認識する。このように、組変更操作の第１の例では、所定の時間以内にそれぞれの組変更操作用の操作ボタンを押すという操作を行う必要があるため、同じプレイヤが組み合わせを変更する目的で操作したものとみなすことができる。
【０１４８】
組変更操作の第２の例として、コアユニット７０とサブユニット７６との距離が所定距離以内であることをＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）の通信技術等の近距離無線通信技術を用いて検出し、当該所定距離以内となったコアユニット７０とサブユニット７６との組み合わせがゲーム装置本体５側で設定されている組み合わせと異なる場合に、組変更操作が行われる。例えば、コアユニット７０およびサブユニット７６それぞれにＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）チップを設け、ＮＦＣチップ間の近距離無線通信が可能となった場合に当該ＮＦＣチップ間で互いのＩＤ番号（コアユニット７０およびサブユニット７６のＩＤ番号）を交換する無線通信を行う。そして、ＮＦＣチップ間の近距離無線通信が成立した場合に、自機のＩＤ番号および当該近距離無線通信で得た通信相手のＩＤ番号と共に、当該近距離無線通信が成立した旨を示す操作データが、コアユニット７０およびサブユニット７６それぞれからゲーム装置本体５へ送信される。この場合、ＣＰＵ１０は、コアユニット７０またはサブユニット７６から上記近距離無線通信が成立した旨を示す操作データを受信し、当該近距離無線通信が成立したコアユニット７０とサブユニット７６との組み合わせが既に設定されている組み合わせと異なる場合に、上記ステップ８１（図２３）において組変更処理を実行すると判断する。そして、ＣＰＵ１０は、受信した上記近距離無線通信が成立した旨を示す操作データを用いて、組変更操作されたコアユニット７０とサブユニット７６との組み合わせ（ＩＤ番号の組み合わせ）を認識する。このように、組変更操作の第２の例では、同じプレイヤが左右の手でそれぞれコアユニット７０とサブユニット７６とを把持し、それらを近づけるという操作によって行われることであるので、これらを同じプレイヤによって行われた操作とみなすことができ、簡単な操作によってプレイヤが現在把持しているコアユニット７０とサブユニット７６とを組み合わせてゲームに使うように設定を変更することが可能になる。
【０１４９】
組変更操作の第３の例として、コアユニット７０とサブユニット７６との間で人体通信が可能であることを検出し、当該人体通信が可能となっているコアユニット７０とサブユニット７６との組み合わせがゲーム装置本体５側で設定されている組み合わせと異なる場合に、組変更操作が行われる。一例として、コアユニット７０およびサブユニット７６それぞれの本体の一部に、当該ユニットを把持するプレイヤの手と接触可能な導電体を露出させ、コアユニット７０およびサブユニット７６を把持するプレイヤの体内電流の変化を利用することによって、当該導電体間の人体通信を行う。他の例として、コアユニット７０およびサブユニット７６それぞれの本体の一部に、所定の絶縁体を介して、当該ユニットを把持するプレイヤの手と対向する導電体を設け、コアユニット７０およびサブユニット７６を把持するプレイヤの人体表面の電界の変化を利用することによって、当該導電体間の人体通信を行う。上記導電体を介して、他のユニットと通信可能（すなわち、ユニット間で人体通信可能）となった場合に、当該ユニット間で互いのＩＤ番号（コアユニット７０およびサブユニット７６のＩＤ番号）を交換する人体通信を行う。そして、上記人体通信が成立した場合に、自機のＩＤ番号および当該人体通信で得た通信相手のＩＤ番号と共に、当該人体通信が成立した旨を示す操作データが、コアユニット７０およびサブユニット７６それぞれからゲーム装置本体５へ送信される。この場合、ＣＰＵ１０は、コアユニット７０またはサブユニット７６から上記人体通信が成立した旨を示す操作データを受信し、当該人体通信が成立したコアユニット７０とサブユニット７６との組み合わせが既に設定されている組み合わせと異なる場合に、上記ステップ８１（図２３）において組変更処理を実行すると判断する。そして、ＣＰＵ１０は、受信した上記人体通信が成立した旨を示す操作データを用いて、組変更操作されたコアユニット７０とサブユニット７６との組み合わせ（ＩＤ番号の組み合わせ）を認識する。このように、組変更操作の第３の例では、同じプレイヤが左右の手でそれぞれコアユニット７０とサブユニット７６とを把持するという操作によって行われることであるので、これらを同じプレイヤによって行われた操作とみなすことができ、プレイヤは、ゲームのためにコアユニット７０とサブユニット７６とを把持するだけでそのままそれらの組み合わせを使ってゲームを行うことができるようになる。
【０１５０】
なお、上記第３の例では、コアユニット７０およびサブユニット７６にそれぞれの本体周りを覆う部材が装着された場合に、上記人体通信が不可能となることが考えられる。例えば、コアユニット７０およびサブユニット７６を把持しやすくすると共に、落下や他の部材との衝突時の緩衝材とするために、コアユニット７０およびサブユニット７６にそれぞれの本体周りをシリコンゴム等の非導電性の部材で覆うことがある。しかしながら、図２４に示すように、上述した非導電性の部材の代わりに導電性の緩衝材として部材７１１（例えば、導電性シリコンゴム）でユニット本体を覆うことによって、部材７１１を介して導電体とプレイヤの手とが接触、または部材７１１および所定の絶縁体を介してプレイヤの手と導電体とが対向することになるため、部材７１１で覆われたコアユニット７０およびサブユニット７６を用いた場合も上述した人体通信による組変更操作を実現することができる。以上のように、人体通信によって組み合わせを設定することによれば、コアユニット７０とサブユニット７６とをプレイヤが把持してゲームをするという基本的な前提を利用し、プレイヤが格別指示をせずとも自由にコアユニット７０とサブユニット７６とを持っただけでその組み合わせをゲームに使わせる組み合わせとして設定することが可能となる。
【０１５１】
また、組変更操作の上記第３の例の場合、コアユニット７０とサブユニット７６とを直接接触させることによって組変更操作することも可能である。例えば、コアユニット７０およびサブユニット７６それぞれに上記導電体が露出して設けられている場合、当該導電体同士を接触させることによって組変更操作することも可能となる。また、コアユニット７０およびサブユニット７６それぞれに所定の絶縁体を介して上記導電体が設けられている場合、当該導電体同士が対向するようにコアユニット７０とサブユニット７６とを接触させることによって組変更操作することも可能となる。さらに、コアユニット７０およびサブユニット７６の本体がそれぞれ上述した導電性の部材７１１で覆われている場合、部材７１１同士を接触させることによって組変更操作することも可能となる。
【０１５２】
（第２の実施形態）
次に、ゲームプログラムを実行する装置を含む本発明の第２の実施形態に係るゲームシステムについて説明する。上述した第１の実施形態に係るゲームシステムと比較して、第２の実施形態に係るゲームシステムは、複数のコントローラ７とゲーム装置本体５との間で構成される後述する通信システムが異なるだけであり、他の構成は第１の実施形態と同様である。例えば、コアユニット７０とサブユニット７６との組み合わせの表示の仕方等は、第１の実施形態と同じものを適用すればよい。したがって、第２の実施形態の説明において、上記第１の実施形態と同様の構成要素については、同一の参照符号を付して詳細な説明を省略する。
【０１５３】
図２５を参照して、第２の実施形態において、複数のコントローラ７とゲーム装置本体５との間で構成される通信システム例について説明する。図２５に示した例では、コアユニット７０とサブユニット７６との組が４組で構成された４つのコントローラ７と、ゲーム装置本体５との間の通信システム例が記載されている。なお、４組のコアユニット７０およびサブユニット７６を区別するために、それぞれコアユニット７０ａ、７０ｂ、７０ｃ、および７０ｄと、サブユニット７６ａ、７６ｂ、７６ｃ、および７６ｄとする。また、それぞれコアユニット７０ａ、７０ｂ、７０ｃ、および７０ｄと、サブユニット７６ａ、７６ｂ、７６ｃ、および７６ｄとの各構成要素についても、それぞれ同様に参照符号にａ〜ｄを付与して区別して説明する。
【０１５４】
図２５に示した通信システム例では、コアユニット７０とサブユニット７６との間で直接的な無線通信が行われる。そして、ゲーム装置本体５は、コアユニット７０とのみ無線通信を行い、サブユニット７６とは直接的には無線通信を行わない。ゲーム装置本体５とコアユニット７０との間の無線通信においては、ゲーム装置本体５が通信システムにおけるマスタデバイスとなり、コアユニット７０が当該通信システムにおけるスレーブデバイスとなる。そして、コアユニット７０とサブユニット７６との間の無線通信においては、コアユニット７０が通信システムにおけるマスタデバイスとなり、サブユニット７６が当該通信システムにおけるスレーブデバイスとなる。具体的には、ゲーム装置本体５とコアユニット７０との間の通信システムにおいては、ゲーム装置本体５がマスタデバイス（マスタＡ）を構成し、コアユニット７０ａ、７０ｂ、７０ｃ、および７０ｄが、マスタデバイス（マスタＡ）に対応するスレーブデバイス（スレーブＡ１、Ａ２、Ａ３、Ａ４）となる。また、コアユニット７０とサブユニット７６との間の通信システムにおいて、コアユニット７０ａ、７０ｂ、７０ｃ、および７０ｄがそれぞれマスタデバイス（マスタＢ〜Ｅ）を構成し、サブユニット７６ａ、７６ｂ、７６ｃ、および７６ｄが、マスタデバイス（マスタＢ〜Ｅ）にそれぞれ対応するスレーブデバイス（スレーブＢ１、Ｃ１、Ｄ１、Ｅ１）となる。
【０１５５】
ゲーム装置本体５に構成されるマスタデバイス（マスタＡ）は、対応するスレーブデバイス（スレーブＡ１〜Ａ４）との間でピコネットを構成して通信を行う。また、コアユニット７０ａ、７０ｂ、７０ｃ、および７０ｄにそれぞれ構成されるマスタデバイス（マスタＢ〜Ｅ）は、それぞれ対応するスレーブデバイス（スレーブＢ１、Ｃ１、Ｄ１、Ｅ１）との間でピコネットを構成して通信を行う。すなわち、コアユニット７０ａ〜７０ｄがそれぞれサブユニット７６ａ〜７６ｄとの間で通信を行うと共に、コアユニット７０ａ〜７０ｄがそれぞれゲーム装置本体５との間でも通信を行うことになる。
【０１５６】
図２５で示した通信システムを用いる場合、サブユニット７６に設けられた操作部７８からのサブキーデータ、およびサブユニット７６に設けられた加速度センサ７６１からのサブ加速度データは、自機のＩＤ番号と共に一連のサブ操作情報として無線モジュール７６７で微弱電波信号に変調されてサブユニット７６から放射される。そして、コアユニット７０の無線モジュール７５３でサブユニット７６から放射された微弱電波信号を受信し、コアユニット７０で当該微弱電波信号を復調や復号することによって、一連のサブ操作情報（サブキーデータ、サブ加速度データ、およびサブユニット７６のＩＤ番号）を一旦メモリ７５２に格納する。そして、マイコン７５１は、無線コントローラモジュール１９への送信タイミングが到来すると、メモリ７５２に格納されている送信データを自機のＩＤ番号およびペアとなっているサブユニット７６のＩＤ番号と共に一連のコア操作情報およびサブ操作情報として、無線モジュール７５３へ出力する。そして、無線モジュール７５３は、例えばブルートゥース（登録商標）の技術に基づいて、所定周波数の搬送波を用いてコア操作情報およびサブ操作情報で変調し、その微弱電波信号をアンテナ７５４からゲーム装置本体５へ放射する。そして、ゲーム装置本体５の無線コントローラモジュール１９でその微弱電波信号を受信し、ゲーム装置本体５で当該微弱電波信号を復調や復号することによって、一連のコア操作情報（コアキーデータ、コア加速度データ、および処理結果データ）およびサブ操作情報（サブキーデータおよびサブ加速度データ）を送信元のコアユニット７０のＩＤ番号およびペアとなったサブユニット７６のＩＤ番号と共に取得することができる。そして、ゲーム装置本体５のＣＰＵ１０は、取得したコア操作情報およびサブ操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。
【０１５７】
また、コアユニット７０の通信部７５は、プレイヤが組変更操作を行うことによってコネクタ７３がサブユニット７６のコネクタ７６３と接続された場合、当該サブユニット７６との間の無線通信におけるペアリングを確立すると共に、接続されたサブユニット７６から当該サブユニット７６のＩＤ番号を、コネクタ７３を介して取得する。そして、後述により明らかとなるが、コネクタ７３がサブユニット７６のコネクタ７６３と接続された場合、通信部７５は、自機のＩＤ番号および取得したサブユニット７６のＩＤ番号（ペアＩＤ番号）と共に組変更操作が行われたことを示す接触データを、ゲーム装置本体５へ送信する。
【０１５８】
また、コアユニット７０の通信部７５は、ゲーム装置本体５から指示された組番号に応じて、当該組番号に対応するＬＥＤを点灯させるための組表示データを、ペアリングされたサブユニット７６へ送信する。そして、サブユニット７６は、複数のＬＥＤ７６２のうち、コアユニット７０から送信された組表示データに応じたＬＥＤを点灯させる。
【０１５９】
次に、第２の実施形態におけるゲーム装置本体５のゲーム処理において用いられる主なデータについて説明する。なお、上述した第１の実施形態と比較して、第２の実施形態において用いられるデータは、ユニット組テーブルデータＤｃが異なるのみであり、他のデータは第１の実施形態と同様であるため詳細な説明を省略する。
【０１６０】
図２６において、第２の実施形態におけるユニット組テーブルデータＤｃは、現時点で設定されているコアユニット７０とサブユニット７６との間の組み合わせを管理するためのユニット組テーブルを示すデータが格納される。例えば、ユニット組テーブルは、ゲーム装置本体５が通信可能なコアユニット７０それぞれのＩＤ番号、スレーブ番号、および組番号と共に、コアユニット７０との間で無線通信のペアリングが行われているサブユニット７６のＩＤ番号（以下、ペアＩＤ番号と記載することがある）等が記述される。
【０１６１】
例えば、ユニット組テーブルデータＤｃには、ゲーム装置本体５のマスタデバイス（マスタＡ）の通信先となるコアユニット７０（スレーブＡ）について、それぞれのＩＤ番号、スレーブ番号、組番号、およびペアＩＤ番号等が記述される。具体的には、ＩＤ番号「ＡＸＸＸＸＸＸ」のコアユニット７０に対して、スレーブ番号「Ａ１」、組番号「１」、およびペアＩＤ番号「ａｘｘｘｘｘｘ」が記述されている。
【０１６２】
次に、第２の実施形態におけるゲーム装置本体５において行われる処理の詳細を説明する。なお、上述した第１の実施形態と比較して、第２の実施形態における処理では、組設定処理および組変更処理の動作が異なり、処理の全体の流れを示すフローチャート（図２１）は同じである。したがって、以下の説明においては、第２の実施形態における組設定処理および組変更処理の動作について説明する。なお、図２７は、図２１におけるステップ４２の組設定処理の詳細な第２の実施形態の動作の一例を示すサブルーチンである。図２８は、図２１におけるステップ４３の組変更処理の詳細な第２の実施形態の動作の一例を示すサブルーチンである。なお、図２７および図２８でも、ＣＰＵ１０が実行する各ステップを「Ｓ」と略称する。
【０１６３】
図２７において、ＣＰＵ１０は、コアユニット７０の何れか１つから操作情報を受信したか否かを判断する（ステップ９１）。そして、ＣＰＵ１０は、コアユニット７０の何れか１つから操作情報を受信した場合、送信されたＩＤ番号およびペアＩＤ番号に基づいて当該操作情報を用いてコア操作データＤａ１およびサブ操作データＤａ２を更新して、次のステップ９２に処理を進める。一方、ＣＰＵ１０は、コアユニット７０の何れからも操作情報を受信していない場合、次のステップ９６に処理を進める。
【０１６４】
ステップ９２において、ＣＰＵ１０は、上記ステップ９１で受信した操作情報にペアＩＤ番号が含まれているか否かを判断する。そして、ＣＰＵ１０は、受信した操作情報にペアＩＤ番号が含まれている場合、当該操作情報を送信したコアユニット７０がサブユニット７６との間で無線通信のペアリングが行われていると判断して、次のステップ９３に処理を進める。一方、ＣＰＵ１０は、受信した操作情報にペアＩＤ番号が含まれていない場合、当該操作情報を送信したコアユニット７０がサブユニット７６との間で無線通信のペアリングが行われていないと判断して、次のステップ９７に処理を進める。
【０１６５】
ステップ９３において、ＣＰＵ１０は、操作情報を送信したコアユニット７０が、既に何れかの組に設定されているか否かを判断する。例えば、ＣＰＵ１０は、ユニット組テーブルデータＤｃを参照して、送信されたＩＤ番号に相当するコアユニット７０が既に記述されているか否かを判断し、既に送信されたＩＤ番号が記述されている場合に当該ＩＤ番号のコアユニット７０が何れかの組に設定済みであるとする。そして、ＣＰＵ１０は、操作情報を送信したコアユニット７０が何れの組にも設定されていない場合、次のステップ９４に処理を進める。一方、ＣＰＵ１０は、操作情報を送信したコアユニット７０が何れかの組に設定されている場合、次のステップ９６に処理を進める。
【０１６６】
ステップ９４において、ＣＰＵ１０は、未設定となっている組番号のうち、最若番号の組に操作情報を送信したコアユニット７０を設定し、次のステップに処理を進める。例えば、ＣＰＵ１０は、ユニット組テーブルデータＤｃを参照して、操作情報を送信したコアユニット７０を未設定の最若番号の組番号に割り当てる。そして、ＣＰＵ１０は、当該最若番号の組番号に操作情報を送信したコアユニット７０のＩＤ番号および当該操作情報に含まれているペアＩＤ番号を記述して、適当なスレーブ番号をコアユニット７０に割り当てる。具体的には、図２６に示したユニット組テーブルデータＤｃでは、コアユニット７０の組番号「１」が、ＩＤ番号「ＡＸＸＸＸＸＸ」のコアユニット７０およびペアＩＤ番号「ａｘｘｘｘｘｘ」のサブユニット７６に割り当てられ、当該コアユニット７０にスレーブ番号「Ａ１」が割り当てられている。
【０１６７】
次に、ＣＰＵ１０は、上記ステップ９４で設定された組番号を示す組表示データを、操作情報を送信したコアユニット７０へ送信し（ステップ９５）、次のステップ９６に処理を進める。上記ステップ９４の処理によって送信された組表示データを受信することによって、操作情報を送信したコアユニット７０は、自機の組番号を知ると共に、当該組番号に応じたＬＥＤ７０２を点灯する。また、組表示データを受信したコアユニット７０は、自機と無線通信のペアリングが行われているサブユニット７６へ、上記ステップ９４で設定された組番号を示す組表示データを送信する。そして、コアユニット７０から送信された組表示データを受信したサブユニット７６は、自機の組番号を知ると共に、当該組番号に応じたＬＥＤ７６２を点灯する。
【０１６８】
一方、上記ステップ９２において、受信した操作情報にペアＩＤ番号が含まれていないと判断された場合、組番号が空番号であることを示す組表示データを、上記ステップ９１で操作情報を送信したコアユニット７０へ送信し（ステップ９７）、次のステップ９６に処理を進める。ここで、コアユニット７０から送信される操作情報にペアＩＤ番号が含まれていない場合は、当該操作情報を送信したコアユニット７０がサブユニット７６との間で無線通信のペアリングが行われていないことが考えられる。したがって、上記ステップ９７の処理によって送信された組表示データを受信することによって、当該組表示データを受信したコアユニット７０は、自機が無線通信のペアリングを行っておらず何れの組にも属していないことを知ると共に、ＬＥＤ７０２を用いて何れの組に属していないことを示す（例えば、ＬＥＤ７０２を全て消灯）。
【０１６９】
ステップ９６において、ＣＰＵ１０は、コアユニット７０とサブユニット７６との組設定処理を終了するか否かを判断する。組設定処理を終了する条件としては、例えば、プレイヤが組設定処理を終了する操作を行ったことや、予め定められた組設定処理を終了する条件が満たされたこと（例えば、組設定処理が開始されてから所定時間が経過したこと）等がある。そして、ＣＰＵ１０は、組設定処理を継続する場合、上記ステップ９１に戻って、処理を繰り返す。一方、ＣＰＵ１０は、組設定処理を終了する場合、当該サブルーチンによる処理を終了する。
【０１７０】
図２８において、ＣＰＵ１０は、組変更処理を実行するか否かを判断する（ステップ１０１）。例えば、プレイヤがコアユニット７０およびサブユニット７６を用いてコネクタ７３とコネクタ７６３とを接続する組変更操作を行うことによって、コアユニット７０から接触データを受信した場合、ＣＰＵ１０は、組変更処理を実行すると判断する。なお、ＣＰＵ１０が組変更処理を行うか否かを判断する方法は、他に様々な方法が考えられるが、他の方法例については後述する。そして、ＣＰＵ１０は、組変更処理を行う場合、次のステップ１０２に処理を進める。一方、ＣＰＵ１０は、組変更処理を行わない場合、次のステップ１０８に処理を進める。
【０１７１】
ステップ１０２において、ＣＰＵ１０は、組変更操作が行われたコアユニット７０から接触データを取得し、次のステップに処理を進める。例えば、ＣＰＵ１０は、受信した接触データの送信元のＩＤ番号に基づいて当該接触データを用いて接触データＤａ３を更新する。
【０１７２】
次に、ＣＰＵ１０は、上記ステップ１０２で取得した接触データを参照して、組変更操作されたコアユニット７０およびサブユニット７６のペアがそれぞれ同じ組番号に属するか否かを判断する（ステップ１０３）。例えば、ＣＰＵ１０は、ユニット組テーブルデータＤｃおよび上記ステップ１０２で取得した接触データを参照して、接触データの送信元のＩＤ番号と当該接触データが示すペアＩＤ番号とがそれぞれ同じ組番号に属するか否かを判断する。そして、ＣＰＵ１０は、組変更操作されたペアがそれぞれ異なる組番号に属する、または少なくとも一方が何れの組にも属していない場合、次のステップ１０４に処理を進める。一方、ＣＰＵ１０は、組変更操作されたペアがそれぞれ同じ組番号に属する場合、次のステップ１０８に処理を進める。
【０１７３】
ステップ１０４において、ＣＰＵ１０は、組変更操作されたコアユニット７０およびサブユニット７６のペアがそれぞれ同じ組番号に属するように組番号を変更し、次のステップに処理を進める。例えば、ＣＰＵ１０は、ユニット組テーブルデータＤｃを参照して、上記ステップ８２で取得した接触データの送信元のＩＤ番号（すなわち、接触データを送信したコアユニット７０のＩＤ番号）に対応するペアＩＤ番号を、当該接触データに含まれるペアＩＤ番号に変更する。上記ステップ１０４の処理によって、ユニット組テーブルデータＤｃ上において、組変更処理されたコアユニット７０およびサブユニット７６のペアがそれぞれ同じ組番号に変更される。
【０１７４】
次に、ＣＰＵ１０は、上記ステップ１０４で設定された組番号を示す組表示データを、組変更操作されたコアユニット７０へ送信し（ステップ１０５）、次のステップに処理を進める。上記ステップ１０５の処理によって送信された組表示データを受信することによって、当該組表示データを受信したコアユニット７０は、自機の組番号を知ると共に、当該組番号に応じたＬＥＤ７０２を点灯する。また、組表示データを受信したコアユニット７０は、自機と無線通信のペアリングが行われているサブユニット７６へ、上記ステップ１０５で設定された組番号を示す組表示データを送信する。そして、コアユニット７０から送信された組表示データを受信したサブユニット７６は、自機の組番号が変更されたことを知ると共に、当該変更された組番号に応じたＬＥＤ７６２を点灯する。
【０１７５】
ここで、上記組変更操作されたコアユニット７０は、当該組変更操作前に他のサブユニット７６と無線通信のペアリングが行われていたことが考えられる。しかしながら、上記組変更操作を行ったコアユニット７０は、当該組変更操作によって新たなサブユニット７６との無線通信のペアリングを行うと共に、当該組変更操作前のペアリングを解消（スレーブ登録を解除）する。したがって、上記組変更操作前にコアユニット７０とペアリングされていたサブユニット７６は、上記組変更操作によってコアユニット７０との間のスレーブ登録が解除されることによって、自機が何れの組にも属していないことを認識し、ＬＥＤ７６２を用いて自機が何れの組に属していないことを示す（例えば、ＬＥＤ７６２を全て消灯）。
【０１７６】
次に、ＣＰＵ１０は、上記ステップ１０４の処理によって、重複しているペアＩＤ番号があるか否かを判断する（ステップ１０６）。例えば、ＣＰＵ１０は、ユニット組テーブルデータＤｃを参照して、ペアＩＤ番号に重複があるか否かを判断する。そして、ＣＰＵ１０は、ペアＩＤ番号に重複がある場合、次のステップ１０７に処理を進める。一方、ＣＰＵ１０は、ペアＩＤ番号に重複がない場合、次のステップ１０８に処理を進める。
【０１７７】
ステップ１０７において、ＣＰＵ１０は、ユニット組テーブルデータＤｃを参照して、重複しているペアＩＤ番号のうち、上記ステップ１０４およびステップ１０５の処理の対象となっていない組番号（すなわち、ペアＩＤ番号が変更されていない組番号）のペアＩＤ番号を削除し、次のステップ１０８に処理を進める。
【０１７８】
ステップ１０８において、ＣＰＵ１０は、組変更処理を終了してゲーム処理を実行するか否かを判断する。ゲーム処理を実行する条件としては、例えば、プレイヤが組変更処理を終了する操作を行ったことや、当該ステップ４３の組変更処理を実行する前段階においてゲーム処理中であった場合は上記ステップ１０１の判定において組変更処理を実行しないと判断されたこと等がある。そして、ＣＰＵ１０は、組変更処理を継続する場合、上記ステップ１０１に戻って、処理を繰り返す。一方、ＣＰＵ１０は、ゲーム処理を実行する場合、当該サブルーチンによる処理を終了する。
【０１７９】
このように、第２の実施形態に係るゲームシステムでは、同じプレイヤが用いるコアユニット７０とサブユニット７６とが同じ組になるように、ユニットの組み合わせを変更することが可能となる。例えば、属する組が異なるコアユニット７０およびサブユニット７６を用いてプレイヤが操作する場合、当該コアユニット７０とサブユニット７６とを用いて組変更操作を行うことによって、当該コアユニット７０とサブユニット７６とを同じ組になるように組み合わせを変更することが可能となる。したがって、プレイヤは、属する組が異なるコアユニット７０およびサブユニット７６を用いて操作する場合であっても、組変更操作を行うことによってプレイヤが意図する操作が可能となる。
【０１８０】
なお、上述した第２の実施形態の説明では、コアユニット７０のコネクタ７３とサブユニット７６のコネクタ７６３とを、一時的に接続（接触）させることによってプレイヤが組変更操作を行う一例を用いたが、第２の実施形態においてはコアユニット７０とサブユニット７６との間で無線通信のペアリングが可能な方法であれば、他の方法で組変更操作が行われてもかまわない。
【０１８１】
組変更操作の第１の例として、プレイヤがコアユニット７０に設けられた所定の操作ボタンとサブユニット７６に設けられた所定の操作ボタンとを操作することによって、組変更操作が行われる。例えば、第１の実施形態と同様にコアユニット７０およびサブユニット７６にそれぞれに組変更操作用の操作ボタンに設定する。コアユニット７０およびサブユニット７６の一方の組変更操作用の操作ボタンが押下された後、所定時間以内にコアユニット７０およびサブユニット７６の他方の組変更操作用の操作ボタンが押下されることによって、組変更操作が行われる。このとき、組変更操作用の操作ボタンが押下されたコアユニット７０とサブユニット７６との間で無線通信のペアリングが行われて、両者間の無線通信が可能となる。そして、ペアリングが行われたサブユニット７６からコアユニット７０へ、サブユニット７６のＩＤ番号（ペアＩＤ番号）がコアユニット７０へ送信される。ペアＩＤ番号を取得したコアユニット７０は、自機のＩＤ番号およびペアＩＤ番号と共に組変更操作用の操作ボタンが押下されたことを示す操作データ（または、新たなペアリングが行われたことを示すデータ）が、ゲーム装置本体５へ送信する。この場合、ＣＰＵ１０は、コアユニット７０において組変更操作用の操作ボタンが操作されたことを検出することによって、上記ステップ１０１（図２８）において組変更処理を実行すると判断する。そして、ＣＰＵ１０は、コアユニット７０における組変更操作用の操作ボタンが操作されたことを検出することによって、組変更操作されたコアユニット７０とサブユニット７６との組み合わせ（ＩＤ番号の組み合わせ）を認識する。
【０１８２】
組変更操作の第２の例として、コアユニット７０とサブユニット７６との距離が所定距離以内であることをＲＦＩＤの通信技術等の近距離無線通信技術を用いて検出し、当該所定距離以内となったコアユニット７０とサブユニット７６との組み合わせがゲーム装置本体５側で設定されている組み合わせと異なる場合に、組変更操作が行われる。例えば、コアユニット７０およびサブユニット７６それぞれにＮＦＣチップを設け、ＮＦＣチップ間の近距離無線通信が可能となった場合に当該ＮＦＣチップ間で互いのＩＤ番号（コアユニット７０およびサブユニット７６のＩＤ番号）を交換する無線通信を行う。このとき、ＮＦＣチップ間の近距離無線通信が成立したコアユニット７０とサブユニット７６との間で無線通信のペアリングが行われて、両者間の無線通信が可能となる。そして、ＮＦＣチップ間の近距離無線通信が成立した場合に、自機のＩＤ番号および当該近距離無線通信で得た通信相手のＩＤ番号と共に、当該近距離無線通信が成立した旨を示す操作データが、コアユニット７０からゲーム装置本体５へ送信される。この場合、ＣＰＵ１０は、コアユニット７０から上記近距離無線通信が成立した旨を示す操作データを受信し、当該近距離無線通信が成立したコアユニット７０とサブユニット７６との組み合わせが既に設定されている組み合わせと異なる場合に、上記ステップ１０１（図２８）において組変更処理を実行すると判断する。そして、ＣＰＵ１０は、受信した上記近距離無線通信が成立した旨を示す操作データを用いて、組変更操作されたコアユニット７０とサブユニット７６との組み合わせ（ＩＤ番号の組み合わせ）を認識する。
【０１８３】
組変更操作の第３の例として、コアユニット７０とサブユニット７６との間で人体通信が可能であることを検出し、当該人体通信が可能となっているコアユニット７０とサブユニット７６との組み合わせがゲーム装置本体５側で設定されている組み合わせと異なる場合に、組変更操作が行われる。一例として、コアユニット７０およびサブユニット７６それぞれの本体の一部に、当該ユニットを把持するプレイヤの手と接触可能な導電体を露出させ、コアユニット７０およびサブユニット７６を把持するプレイヤの体内電流の変化を利用することによって、当該導電体間の人体通信を行う。他の例として、コアユニット７０およびサブユニット７６それぞれの本体の一部に、所定の絶縁体を介して、当該ユニットを把持するプレイヤの手と対向する導電体を設け、コアユニット７０およびサブユニット７６を把持するプレイヤの人体表面の電界の変化を利用することによって、当該導電体間の人体通信を行う。上記導電体を介して、他のユニットと通信可能（すなわち、ユニット間で人体通信可能）となった場合に、当該ユニット間で互いのＩＤ番号（コアユニット７０およびサブユニット７６のＩＤ番号）を交換する人体通信を行う。このとき、人体通信が成立したコアユニット７０とサブユニット７６との間で無線通信のペアリングが行われて、両者間の無線通信が可能となる。そして、上記人体通信が成立した場合に、当該人体通信が成立したコアユニット７０およびサブユニット７６のＩＤ番号と共に、当該人体通信が成立した旨を示す操作データが、コアユニット７０からゲーム装置本体５へ送信される。この場合、ＣＰＵ１０は、コアユニット７０から上記人体通信が成立した旨を示す操作データを受信し、当該人体通信が成立したコアユニット７０とサブユニット７６との組み合わせが既に設定されている組み合わせと異なる場合に、上記ステップ１０１（図２８）において組変更処理を実行すると判断する。そして、ＣＰＵ１０は、受信した上記人体通信が成立した旨を示す操作データを用いて、組変更操作されたコアユニット７０とサブユニット７６との組み合わせ（ＩＤ番号の組み合わせ）を認識する。
【０１８４】
また、組変更操作の上記第３の例の場合、コアユニット７０とサブユニット７６とを直接接触させることによって組変更操作することも可能である。例えば、コアユニット７０およびサブユニット７６それぞれに上記導電体が露出して設けられている場合、当該導電体同士を接触させることによって接触相手装置との間で無線通信のペアリングを行うと共に、組変更操作することも可能となる。また、コアユニット７０およびサブユニット７６それぞれに所定の絶縁体を介して上記導電体が設けられている場合、当該導電体同士が対向するようにコアユニット７０とサブユニット７６とを接触させることによって接触相手装置との間で無線通信のペアリングを行うと共に、組変更操作することも可能となる。さらに、コアユニット７０およびサブユニット７６の本体がそれぞれ上述した導電性の部材７１１で覆われている場合、部材７１１同士を接触させることによって接触相手装置との間で無線通信のペアリングを行うと共に、組変更操作することも可能となる。
【０１８５】
なお、上述した第２実施形態の説明では、何れの組変更操作例においても組変更操作が行われたことを示す操作データに基づいてゲーム装置本体５がコアユニット７０とサブユニット７６との組み合わせを変更する例を用いたが、他のデータに基づいてコアユニット７０とサブユニット７６との組み合わせを変更してもよい。例えば、上述した組変更操作例では、何れも組変更操作が行われたコアユニット７０とサブユニット７６との間で無線通信におけるペアリングが行われる。したがって、当該ペアリング後は、コアユニット７０からゲーム装置本体５へ送信される操作情報（コア操作情報およびサブ操作情報）に、当該ペアリングで設定された無線通信相手（ペアＩＤ番号）が含まれることになる。したがって、ゲーム装置本体５は、コアユニット７０から送信されてくる操作情報のペアＩＤ番号を注視して、当該ペアＩＤ番号が変更された場合に組変更操作が行われたと判断してもかまわない。この場合、コアユニット７０から送信される操作情報に基づいて、ゲーム装置本体５がコアユニット７０とサブユニット７６との組み合わせを変更することになる。
【０１８６】
また、上述した第１の実施形態および第２の実施形態の説明では、組番号が変更される場合にコアユニット７０の組番号の設定が優先される例を用いたが、サブユニット７６の組番号が優先されてもかまわない。この場合、コアユニット７０とサブユニット７６との組み合わせが変更される場合に、当該サブユニット７６の組番号に合うようにコアユニット７０の組番号を変更することになる。
【０１８７】
また、第２の実施形態においては、コアユニット７０とサブユニット７６との間の無線通信において、コアユニット７０が無線通信におけるマスタデバイスに設定される例を用いたが、サブユニット７６を無線通信におけるマスタデバイスに設定してもかまわない。この場合、コアユニット７０とサブユニット７６との間の無線通信では、コアユニット７０がスレーブデバイスに設定されることになる。また、ゲーム装置本体５は、サブユニット７６との間で無線通信を行い、サブユニット７６が当該無線通信におけるスレーブデバイスに設定されることになる。
【０１８８】
また、上述した説明では、複数のプレイヤがコントローラ７（コアユニット７０およびサブユニット７６）を操作することを前提にしているが、単一のプレイヤによる操作であっても本発明を実現できることは言うまでもない。単一のプレイヤが操作する場合であっても、コアユニット７０およびサブユニット７６の一方が複数存在する場合は、コアユニット７０とサブユニット７６との組み合わせを区別するための表示によって当該プレイヤが使用すべき組み合わせを判別することができるし、当該組み合わせを容易に変更することもできる。また、コアユニット７０およびサブユニット７６がそれぞれ１つずつ存在する場合であっても、プレイヤは、両者の組設定が有効に作用しているか否かを表示部によって判別することができ、無効の場合に容易に組設定を行うことも可能となる。
【０１８９】
また、上述した説明では、据置型のゲーム装置に本願発明を適用した例を説明したが、複数の入力装置によって操作される一般的なパーソナルコンピュータ等の情報処理装置にも適用することができる。
【０１９０】
また、上述したコアユニット７０およびサブユニット７６の形状や、それらに設けられている操作部７２の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した処理で用いられる処理順序等は、単なる一例に過ぎず他の処理順序であっても、本発明を実現できることは言うまでもない。
【０１９１】
また、本発明で用いられるプログラムは、光ディスク４等の外部記憶媒体を通じてゲーム装置本体５に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置本体５に供給されてもよい。また、上記プログラムは、ゲーム装置本体５内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体の他に、不揮発性半導体メモリでもよい。
【０１９２】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示にすぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【産業上の利用可能性】
【０１９３】
本発明に係るゲームシステムおよびコントローラは、完全に分離した２つのユニットで構成されるコントローラを用いる際、当該ユニットの組み合わせを変更可能にすることができ、２つのユニット等で構成されるコントローラや当該コントローラ等を含むシステムとして有用である。
【符号の説明】
【０１９４】
１…ゲームシステム
２…モニタ
２ａ、７０６…スピーカ
３…ゲーム装置
４…光ディスク
５…ゲーム装置本体
１０…ＣＰＵ
１１…システムＬＳＩ
１２…外部メインメモリ
１３…ＲＯＭ／ＲＴＣ
１４…ディスクドライブ
１５…ＡＶ−ＩＣ
１６…ＡＶコネクタ
１７…フラッシュメモリ
１８…無線通信モジュール
１９…無線コントローラモジュール
２０…拡張コネクタ
２１…外部メモリカード用コネクタ
２２、２３…アンテナ
２４…電源ボタン
２５…リセットボタン
２６…イジェクトボタン
３１…入出力プロセッサ
３２…ＧＰＵ
３３…ＤＳＰ
３４…ＶＲＡＭ
３５…内部メインメモリ
７…コントローラ
７０…コアユニット
７１、７７…ハウジング
７１１…部材
７２、７８…操作部
７３、７６３…コネクタ
７４…撮像情報演算部
７４１…赤外線フィルタ
７４２…レンズ
７４３…撮像素子
７４４…画像処理回路
７５、７６４…通信部
７５１、７６５…マイコン
７５２、７６６…メモリ
７５３、７６７…無線モジュール
７５４、７６８…アンテナ
７００…基板
７０１、７６１…加速度センサ
７０２、７６２…ＬＥＤ
７０３、７７１…７セグ表示器
７０４…バイブレータ
７０５、７７２…多色ＬＥＤ
７０７…サウンドＩＣ
７０８…アンプ
７６…サブユニット
８…マーカ
【図１】
0005469394.tif 000002
【図２】
0005469394.tif 000003
【図３】
0005469394.tif 000004
【図４】
0005469394.tif 000005
【図５】
0005469394.tif 000006
【図６】
0005469394.tif 000007
【図７】
0005469394.tif 000008
【図８】
0005469394.tif 000009
【図９】
0005469394.tif 000010
【図１０】
0005469394.tif 000011
【図１１】
0005469394.tif 000012
【図１２】
0005469394.tif 000013
【図１３】
0005469394.tif 000014
【図１４】
0005469394.tif 000015
【図１５】
0005469394.tif 000016
【図１６】
0005469394.tif 000017
【図１７】
0005469394.tif 000018
【図１８】
0005469394.tif 000019
【図１９】
0005469394.tif 000020
【図２０】
0005469394.tif 000021
【図２１】
0005469394.tif 000022
【図２２】
0005469394.tif 000023
【図２３】
0005469394.tif 000024
【図２４】
0005469394.tif 000025
【図２５】
0005469394.tif 000026
【図２６】
0005469394.tif 000027
【図２７】
0005469394.tif 000028
【図２８】
0005469394.tif 000029