〔ゲーム装置の構成〕
図1は、本発明に係るゲームプログラムを適用しうるコンピュータの一例としての携帯ゲーム機1の外観図である。また、図2は、携帯ゲーム機1の一例としての制御ブロック図である。
携帯ゲーム機1は、図1に示すように、主に、本体2と、液晶モニタ部3と、基本操作部4と、マイク5と、スピーカ6とを備えている。モニタ部3は、本体2に設けられており、液晶モニタ30を有している。ここでは、たとえば、液晶モニタ30が、静電接触入力式のモニタすなわちタッチパネル式のモニタになっている。この液晶モニタ30では、タッチパネルの表面全体に電界が形成されている。そして、この状態のタッチパネルの表面に、指示手段たとえば指や導電性を有するペン等を、接触させると、液晶表面の表面電荷が変化する。そして、この表面電荷の変化が捕捉され、タッチパネル上の指やペン等の位置が検出される。ここでは、投影型のタッチパネルが用いられており、このタッチパネルでは多点同時検出が可能である。
基本操作部4は、ホームボタン4a、ボリュームポタン4b、およびスリープボタン4cを有している。ホームボタン4aは、本体2のタッチパネルの下部に設けられている。このホームボタン4aが押されると、ホーム画面が表示されたり、携帯ゲーム機1がスリープ状態から復帰したりする。ボリュームポタン4bは、本体2の側面上部に設けられている。このボリュームポタン4bの上部が押されると、音量が増加し、このボリュームポタン4bの下部が押されると、音量が減少する。スリープボタン4cは、本体2の上面に設けられている。このスリープボタン4cが押されると、携帯ゲーム機1がスリープ状態に移行する。
マイク5は、音出力用のマイク5aと、音入力用のマイク5bとを有している。音出力用のマイク5aは、本体2のタッチパネルの上部に設けられている。ゲームを実行する時や、電話通信する時や、音楽を聞く時等には、この音出力用のマイク5aから音が出力される。音入力用のマイク5bは、本体2に内蔵されており、本体2の下面に出力口が設けられている。電話通信する時や録音を行う時等には、この音入力用のマイク5bから音声が入力される。
スピーカ6は、本体2に内蔵されており、本体2の下面に出力口が設けられている。ゲームを実行する時や、音楽を聞く時や、録音を聞く時等には、このスピーカ6から音が出力される。なお、ゲーム機1には、イヤホンジャック等も設けられているが、これらについては説明を省略する。
また、携帯ゲーム機1は、図2に示すように、主に、制御部すなわち制御装置10と、通信部16と、記憶装置17と、センサ部18とを、内部に有している。制御装置10は、マイクロプロセッサを利用したCPU(Central Processing Unit)11と、主記憶装置としてのROM(Read Only Memory)12と、RAM(Random Access Memory)13と、画像処理回路14と、サウンド処理回路15と、を有している。これらは、バス16を介してそれぞれが接続されている。
CPU11は、ゲームプログラムからの命令を解釈し、各種のデータ処理や制御を行う。ROM12は、ゲーム機1の基本的な制御(たとえば起動制御)に必要なプログラム等を格納する。RAM13(記憶部)は、CPU11に対する作業領域を確保する。画像処理回路14は、CPU11からの描画指示に応じてモニタ部3を制御して、液晶モニタ30に所定の画像を表示する。また、画像処理回路14にはタッチ入力検出回路14aが含まれている。タッチパネルに指示手段たとえば指等を接触させたときに、接触信号がタッチ入力検出回路14aからCPU11へと供給され、接触位置がCPU11に認識される。また、液晶パネルに表示された対象画像の位置において、タッチパネルに指示手段を接触させると、対象画像の選択信号がタッチ入力検出回路14aからCPU11へと供給され、対象画像がCPU11に認識される。
サウンド処理回路15は、CPU11からの発音指示に応じたアナログ音声信号を生成して、音出力用のマイク5aおよび/又はスピーカ6に出力する。また、音入力用のマイク5bから音が入力されたときに、アナログ音声信号をデジタル音声信号に変換する。
通信部16は、ゲーム実行時にデータ通信するための通信機能や、携帯電話として通信するための通信機能等を有している。データ通信用の通信機能には、ローカルワイヤレスネットーワーク機能や、ワイヤレスLANによるインターネット接続機能等が、含まれている。
通信部16は、通信制御回路20と通信インターフェイス21とを有している。通信制御回路20および通信インターフェイス21は、バス16を介してCPU11に接続されている。通信制御回路20および通信インターフェイス21は、CPU11からの命令に応じて、ゲーム機1をローカルワイヤレスネットーワーク又はワイヤレスLANによるインターネットに接続するための接続信号を制御し発信する。また、電話による通話時には、通信制御回路20および通信インターフェイス21は、CPU11からの命令に応じて、ゲーム機1を電話回線に接続するための接続信号を制御し発信する。
記憶装置17は、本体2に内蔵されており、バス16に接続される。たとえば、記憶装置17には、記憶媒体としてのハードディスクやフラッシュメモリドライブ等が用いられる。
センサ部18は、加速度センサ19を有しており、ゲーム機1に内蔵されている。加速度センサ19には、たとえば、ピエゾ抵抗型、静電容量型、および磁気センサ型等がある。このような加速度センサ19は、ゲーム機1が移動したときに、ゲーム機1の移動に応じて加速度の大きさが測定され出力される。ここで用いられている加速度センサ19は、3軸加速度センサであり、ゲーム機1の移動に応じて3軸方向の加速度の大きさが測定される。この加速度データを制御部10に認識・処理させることにより、3次元空間におけるゲーム機1の動きを制御部10に認識させることができる。なお、ここでは、3軸加速度センサが用いられる場合の例が示されているが、加速度センサ19は、3軸以上であれば、どのようなものでも良い。たとえば、加速度センサ19として、6軸加速度センサを用いても良い。
また、ゲーム機1には、図示しない振動機構たとえば振動モータが、内蔵されている。振動モータには、たとえば、円筒型とボタン型とがある。この振動モータは、制御部10からの振動制御データに対応するモータ用信号に基づいて、モータ回転子が回転する。そして、このモータ回転子の回転数に応じて振動モータが振動する。
なお、バス16と各要素との間には必要に応じてインターフェイス回路が介在しているが、ここではそれらの図示は省略した。
以上のような構成のゲーム機1では、記憶装置17に格納されたゲームプログラムがロードされ、ロードされたゲームプログラムがCPU11で実行されることにより、プレイヤは様々なジャンルのゲームをモニタ部3上で遊戯することができる。また、通信制御回路20を介して、ワイヤレスネットワークにゲーム機1を接続したり、他のゲーム機と通信ケーブル等を介して接続したりすることで、他のゲーム機との間でデータのやり取りや対戦型のゲームを行うことができる。
〔本ゲームシステムにおける各種処理概要〕
本ゲームシステムでは、各種のプログラムおよび各種のデータは、携帯ゲーム機1(データ送受信装置)の記憶装置17に格納されている。各種のプログラムは、携帯ゲーム機1の制御部10において実行され、各種のデータは、携帯ゲーム機1の制御部10において認識され利用される。
以下では、第1携帯ゲーム機の記号に「a」を付し、第2携帯ゲーム機の記号に「b」を付すことにより、第1携帯ゲーム機および第2携帯ゲーム機を区別する。また、上述した各携帯ゲーム機の構成も、この記号により区別する。
第1携帯ゲーム機1aは、第2携帯ゲーム機1bと無線で通信可能である。第1携帯ゲーム機1aの制御部10は、以下の手段を備えている。また、第2携帯ゲーム機1bの制御部10も同様に、以下の手段を備えている。なお、以下では、第1携帯ゲーム機1aを主たるゲーム機であるものとして、手段の説明を行う。
ゲーム開始命令発行手段50は、ゲームを開始するための命令を発行する機能を備えている。
この手段では、ゲームを開始するためのゲーム開始命令を発行する処理が、制御部10aにおいて実行される。たとえば、プレイヤが、ゲームを開始するために、モニタ30に表示されたゲーム用のアイコンを選択すると、ゲームを開始するためのゲーム開始命令が制御部10aから発行され、ゲームを開始する処理が制御部10aにおいて実行される。また、ゲーム用のアイコンが選択されたときには、ゲーム用の識別データIDg(k)に、所定の値を割り当てる処理が、制御部10aにおいて実行される。そして、このゲーム用の識別データIDg(k)が、記憶部13aに格納される。
なお、ここで識別データIDg(k)に割り当てられる値は、ゲームごとに用意された所定の値である。この値は、ゲームプログラムにおいて予め規定されており、記憶部13aに格納されている。
信号データ認識手段51は、第2携帯ゲーム機1bを認識するための信号データを、第2携帯ゲーム機1bから受信し認識する機能を備えている。
この手段では、第1携帯ゲーム機1aにおいて、第2携帯ゲーム機1bを認識するための信号データを、第2携帯ゲーム機1bから受信し認識する処理が、制御部10aにおいて実行される。なお、この信号データには、ゲームの種類を識別するためのゲーム用の識別データIDg(k)が含まれており、このゲーム用の識別データIDg(k)は、信号データの受信時に、記憶部13aに格納される。
識別情報格納手段52は、第2携帯ゲーム機1bを識別するための装置情報を、記憶部13aに格納する機能を備えている。
この手段では、第2携帯ゲーム機1bを識別するための装置情報が、記憶部13aに格納する処理が、制御部10aにおいて実行される。具体的には、第1携帯ゲーム機1aでは、第2携帯ゲーム機1bの装置情報たとえば装置用の識別データIDd(2)を、第2携帯ゲーム機1bから受信する処理が、制御部10aにおいて実行される。そして、この装置用の識別データIDd(2)を記憶部13aに格納する処理が、制御部10aにおいて実行される。一方で、第2携帯ゲーム機1bでは、第1携帯ゲーム機1aの装置情報たとえば装置用の識別データIDd(1)を、第1携帯ゲーム機1aから受信する処理が、制御部10bにおいて実行される。そして、この装置用の識別データIDd(1)を記憶部13bに格納する処理が、制御部10bにおいて実行される。
なお、装置情報たとえば装置用の識別データIDd(k)は、信号データに含まれており、RAM13a,13bに格納されている。また、ここで用いられる装置用の識別データIDd(k)は、装置固有の値であり、携帯ゲーム機1a,1bごとに所定の値が割り当てられている。
信号データ判断手段53は、第1携帯ゲーム機1aにおいて開始されたゲームと、第2携帯ゲーム機1bにおいて開始されたゲームとが一致するか否かを、判断する機能を備えている。
この手段では、第1携帯ゲーム機1aにおいて開始されたゲームと、第2携帯ゲーム機1bにおいて開始されたゲームとが一致するか否かを判断する処理が、制御部10aにおいて実行される。具体的には、第1携帯ゲーム機1aにおいて開始されたゲーム用の識別データIDg(1)と、第2携帯ゲーム機1bにおいて開始されたゲーム用の識別データIDg(2)とが一致するか否かを判断する処理が、制御部10aにおいて実行される。
装置検出手段54は、信号データに基づいて、第1携帯ゲーム機1aの最も近くに存在する第2携帯ゲーム機1bを、検出する機能を備えている。
この手段では、信号データに基づいて、第1携帯ゲーム機1aの最も近くに存在する第2携帯ゲーム機1bを、検出する処理が、制御部10aにおいて実行される。具体的には、第1携帯ゲーム機1aにおいて開始されたゲーム用の識別データIDg(1)と、第2携帯ゲーム機1bにおいて開始されたゲーム用の識別データIDg(2)とが一致した場合に、信号データに基づいて、各ゲーム機1から放たれる信号の強度を示す信号強度データを算出する処理が、制御部10aにおいて実行される。そして、信号強度データが最大である第2携帯ゲーム機1bを、第1携帯ゲーム機1aの最も近くに存在する第2携帯ゲーム機1bとして、検出する処理が、制御部10aにおいて実行される。
検知データ認識手段55は、第1携帯ゲーム機1aの最も近くに存在する第2携帯ゲーム機1bとともに第1携帯ゲーム機1aが移動した場合に、第1携帯ゲーム機1aおよび第2携帯ゲーム機1bが移動した第1時点を基準として、第1時点と第1時点から所定の時間が経過した第2時点との間に検知される検知データを、認識する機能を備えている。
この手段では、第1携帯ゲーム機1aの最も近くに存在する第2携帯ゲーム機1bとともに第1携帯ゲーム機1aが移動した場合に、第1携帯ゲーム機1aおよび第2携帯ゲーム機1bが移動した第1時点を基準として、第1時点と第1時点から所定の時間が経過した第2時点との間に検知される加速度データを、認識する処理が、制御部10aにおいて実行される。
具体的には、ここで認識される加速度データは、第1携帯ゲーム機1aが、第2携帯ゲーム機1bに衝突したときに検知される加速度データ、又は第1携帯ゲーム機1aと第2携帯ゲーム機1bとを手に持って同時に振ったときに検知される加速度データである。すなわち、ここでは、第1携帯ゲーム機1aが第2携帯ゲーム機1bとともに移動した場合とは、第1携帯ゲーム機1aが第2携帯ゲーム機1bに衝突したときの移動、又は第1携帯ゲーム機1aと第2携帯ゲーム機1bとを手に持って同時に振ったときの移動を示す文言である。この場合、第1携帯ゲーム機1aおよび第2携帯ゲーム機1bが移動を開始した第1時点と、この第1時点から所定の時間が経過した第2時点との間に検知される加速度データが、閾値より大きかった場合に、この加速度データを認識する処理が、制御部10aにおいて実行され、この加速度データが記憶部13aに格納される。なお、加速度データは、各ゲーム機1に内蔵されたセンサ部18において検知される。
検知データ判断手段56は、第1携帯ゲーム機1aの検知データと、第2携帯ゲーム機1bから受信した検知データとが一致するか否かを、判断する機能を備えている。
この手段では、第1携帯ゲーム機1aの加速度データと、第2携帯ゲーム機1bから受信した加速度データとが一致するか否かを、判断する処理が、制御部10aにおいて実行される。具体的には、第1携帯ゲーム機1aの加速度データおよび第2携帯ゲーム機1bの加速度データを、記憶部13aから読み出し、これら携帯ゲーム機1a,1bの加速度データが一致するか否かを、判断する処理が、制御部10aにおいて実行される。なお、ここで用いられる「一致する」という文言は、「所定の範囲内において一致する」という意味で用いられている。
選択画面表示手段57は、検知データの認識時に、第1携帯ゲーム機1aと、第1携帯ゲーム機1aの最も近くに存在する第2携帯ゲーム機1bとの接続を決定するための選択画面を、表示する機能を備えている。
この手段では、検知データの認識時に、第1携帯ゲーム機1aと、第1携帯ゲーム機1aの最も近くに存在する第2携帯ゲーム機1bとの接続を決定するための選択画面を、モニタ30に表示する処理が、制御部10aにおいて実行される。具体的には、第1携帯ゲーム機1aの加速度データと、第2携帯ゲーム機1bから受信した加速度データとが一致した場合に、第1携帯ゲーム機1aと、第1携帯ゲーム機1aの最も近くに存在する第2携帯ゲーム機1bとの接続を決定するための選択画面、たとえば「接続しますか?」「Yes」「No」という画像を、モニタ30に表示する処理が、制御部10aにおいて実行される。なお、この画像を表示するための画像データは、記憶部13aに格納されており、この画像データを記憶部13aから読み出すことにより、画像がモニタ30に表示される。
接続確立手段58は、第1携帯ゲーム機1aの検知データと、第2携帯ゲーム機1bから受信した検知データとが一致した場合に、第2携帯ゲーム機1bを、接続対象のゲーム機1b’として、認識する機能を備えている。
この手段では、第1携帯ゲーム機1aの検知データと、第2携帯ゲーム機1bから受信した検知データとが一致した場合に、第2携帯ゲーム機1bを、接続対象のゲーム機1b’として、認識する処理が、制御部10aにおいて実行される。具体的には、選択画面がモニタ30に表示されているときに、第1携帯ゲーム機1aと第2携帯ゲーム機1bとを接続するための入力が、認識された場合、第2携帯ゲーム機1bを、接続対象のゲーム機1b’として、認識する処理が、制御部10aにおいて実行される。より具体的には、「接続しますか?」「Yes」「No」という画像が、第1携帯ゲーム機1aのモニタ30に表示されているときに、モニタ30上の「Yes」が選択されると、第1携帯ゲーム機1aの最も近くに存在する第2携帯ゲーム機1bを、接続対象のゲーム機1b’として、認識する処理が、制御部10aにおいて実行される。
通信データ送受信手段59は、接続対象のゲーム機1b’からゲーム用のデータを受信する処理、および接続対象のゲーム機1b’へゲーム用のデータを送信する処理の少なくともいずれか一方を、実行する機能を備えている。
この手段では、接続対象のゲーム機1b’からゲーム用のデータを受信する処理、および接続対象のゲーム機1b’へゲーム用のデータを送信する処理の少なくともいずれか一方が、制御部10aにおいて実行される。このように、接続対象のゲーム機1b’に対してゲーム用のデータを送受信することによって、第1携帯ゲーム機1aでは、接続対象のゲーム機1b’との間で、通信用のゲームが実行される。同様に、接続対象のゲーム機1b’でも、第1携帯ゲーム機1aとの間で、通信用のゲームが実行される。
信号データ再認識手段60は、ゲーム用のデータの送受信中に、接続対象のゲーム機1b’からのゲーム用のデータの受信が中断した場合、接続対象のゲーム機1b’の装置情報に対応する信号データを、再認識する機能を備えている。
この手段では、ゲーム用のデータの送受信中に、接続対象のゲーム機1b’からのゲーム用のデータの受信が中断した場合、接続対象のゲーム機1b’の装置情報に対応する信号データを、再認識する処理が、制御部10aにおいて実行される。具体的には、ゲーム用のデータの送受信中に、接続対象のゲーム機1b’からのゲーム用のデータの受信が中断した場合、装置用の識別データIDd(2)を有する信号データを、検出する処理が、制御部10aにおいて実行される。そして、この信号データが検出された場合、この信号データを、接続対象のゲーム機1b’の信号データとして再認識する処理が、制御部10aにおいて実行される。
〔通信ゲームにおける装置接続システムの説明〕
次に、通信対戦ゲームにおける装置接続システムの具体的な内容について説明する。また、図10および図11に示すフローについても同時に説明する。なお、図10は通信対戦ゲームの全体概要を説明するためのフローであり、図11は上記システムを説明するためのフローである。なお、ここでは、通信対戦ゲームとして、野球ゲームが実行された場合の例を、一例として説明を行う。
まず、携帯ゲーム機1の電源が投入され、携帯ゲーム機1が起動されると、野球ゲームプログラムが、記憶装置17たとえばハードディスクから、RAM13にロードされ格納される。このときには、野球ゲームを実行する上で必要となる各種の基本ゲームデータも、同時に、記憶装置17からRAM13にロードされ格納される(S1)。
たとえば、基本ゲームデータには、ゲーム空間用の各種の画像に関するデータが含まれている。ゲーム空間用の各種の画像に関するデータには、たとえば、スタジアム用のモデルデータ、選手キャラクタ用のモデルデータ、および各種のオブジェクトのモデルデータ等が、含まれている。また、基本ゲームデータには、ゲーム空間用のモデルデータをゲーム空間に配置するための位置座標データが、含まれている。また、基本ゲームデータには、ゲーム空間に配置されたモデルを、モニタ30に表示するための画像データが、含まれている。さらに、基本ゲームデータには、本システムで用いられる他の各種データも、含まれている。
なお、上記のモデルが、モデル用の位置座標データが示す位置において、ゲーム空間に配置されると、このモデルは、ゲーム空間に配置された仮想カメラにより1フレームごとに撮影され、ここで撮影されたモデル用の画像データが、RAM13に格納される。すると、このモデル用の画像データを用いて、モデル画像がモニタ30に表示される。これら一連の処理を実行するための命令は、CPU11から指示される。
続いて、RAM13に格納された野球ゲームプログラムが、基本ゲームデータに基づいて、CPU11により実行される(S2)。すると、野球ゲームの起動画面がモニタ30に表示される。すると、野球ゲームを実行するための各種の設定画面がモニタ30に表示される。ここでは、たとえば、野球ゲームのプレイモードを選択するためのモード選択画面が、モニタ30に表示される(図示しない)。このモード選択画面に表示された複数のプレイモードの中から、いずれか1つのプレイモードを選択することによって、プレイモードが決定される(S3)。プレイモードには、たとえば、12球団の中からチームを選択して1試合の対戦を楽しむ対戦モード、12球団の中からチームを選択してペナントレースを戦うペナントモード、および他のプレイヤと通信対戦を行う通信モード等が、用意されている。ここでは、各モード用のボタンの位置において、指をモニタ30に接触させることによって、プレイモードは選択される。
続いて、モード選択画面で選択されたプレイモードにおいて、各種のイベントが、CPU11により実行される(S4)。ここで実行される各種のイベントには、たとえば、自動制御プログラム(AIプログラム、Artificial Intelligence Program)に基づいてCPU11により自動制御されるイベントや、プレイヤがモニタ30に指を接触することによって入力された入力情報(信号)に基づいてプレイヤにより手動制御されるイベントがある。また、選手キャラクタの制御には、自動制御プログラムに基づいて選手キャラクタに命令を自動的に指示する制御(自動制御)や、モニタ30からの入力信号に基づいて選手キャラクタに命令を指示する制御(手動制御)等がある。このように、本野球ゲームでは、モニタ30からの指示や自動制御プログラムからの指示に応じて、イベントが制御されたり、選手キャラクタに命令が指示されたりする。
なお、ここに示す自動制御プログラムは、野球ゲームプログラムに含まれている。また、この自動制御プログラムとは、プレイヤに代わって、イベントに関する命令および選手キャラクタに対する命令を自動的に制御するためのプログラムである。この自動制御プログラムは、プレイ状況に応じて、各種命令をCPU11に指示する。なお、各プレイ状況に対応する命令は、自動制御プログラムにおいて予め規定されている。
続いて、選択されたプレイモードが終了したか否かが、CPU11により判断される(S5)。具体的には、プレイモードが終了したことを示す命令が発行されたか否かが、CPU11により判断される。そして、プレイモードが終了したことを示す命令が発行されたとCPU11により判断された場合(S5でYes)、ゲーム継続用のデータをRAM13に格納する処理が、CPU11により実行される。そして、ゲーム継続用のデータがRAM13に格納されると、この野球ゲームを終了するか否かを選択する選択画面が、モニタ30に表示される(S6)。そして、この選択画面において、プレイヤが自分の指をモニタ30に接触させることにより、野球ゲームの終了を示す項目が選択されると(S6でYes)、野球ゲームを終了するための処理がCPU11により実行される(S7)。一方で、この選択画面において、プレイヤが自分の指をモニタ30に接触させることにより、野球ゲームの継続を示す項目が選択されると(S6でNo)、ステップ3(S3)のモード選択画面が、モニタ30に再表示される。
なお、プレイモードが終了するための命令が発行されたとCPU11に判断されない限り(S5でNo)、モード選択画面で選択されたプレイモードにおいて、各種のイベントがCPU11により繰り返し実行される(S4)。
次に、プレイモードとして通信モードが選択された場合を一例として、装置接続システムの詳細を説明する。以下では、たとえば、あるプレイヤ(Aプレイヤ)が第1携帯ゲーム機1aを操作し、通信対戦を希望するプレイヤ(Bプレイヤ)が第2携帯ゲーム機1bを操作する場合の例が、示される。なお、通信対戦を希望するプレイヤは、1人である必要はなく、複数人であっても良い。ここでは、図4に示すように、通信対戦を希望するプレイヤが複数人である場合を想定して、説明を行う。なお、無線および通信で用いられるものとしては、たとえば、無線通信でデータの送受信を行う無線LAN、およびデジタル機器用の近距離無線通信規格の1つであるBluetooth(登録商標)等がある。
Aプレイヤが、ゲームを開始するために、モニタ30aに表示された野球ゲーム用のアイコンを選択すると(図5を参照)、ゲームを開始するためのゲーム開始命令がCPU11aから発行され、野球ゲームが開始される(S20)。図5では、Tアイコンが、野球ゲーム用のアイコンになっている。
野球ゲームが開始されると、野球ゲーム用の初期設定がCPU11aにより実行される。たとえば、ゲームの種類を識別するためのゲーム用の識別データIDg(k)を設定する処理が、CPU11aにより実行される(S21)。たとえば、ゲーム用の識別データIDg(k)に所定の値を割り当てる処理が、CPU11aにより実行される。ゲーム用の識別データIDg(k)は、ゲーム固有のデータであり、このゲーム用の識別データIDg(k)にデータに割り当てられる値は、ゲームプログラムにおいて予め規定されている。たとえば、野球ゲームが実行された場合は数値「1」が、ゲーム用の識別データIDg(1)に割り当てられ、サッカーゲームが実行された場合は数値「2」が、ゲーム用の識別データIDg(1)に割り当てられる。ここでは、野球ゲームが選択されたので、ゲーム用の識別データIDg(1)には、数値「1」が割り当てられる。すると、このゲーム用の識別データIDg(1)が、RAM13aに格納される。
なお、ここで用いられているkは、各携帯ゲーム機1a,1bを区別するためのものである。たとえば、第1携帯ゲーム機1aでは、kの値として1が割り当てられ、第2携帯ゲーム機1bでは、kの値として2が割り当てられる。
続いて、プレイモードとして通信モードが選択されると(S22)、第1携帯ゲーム機1aでは、第2携帯ゲーム機1bから送信された信号データSD(2,i)を、第2携帯ゲーム機1bから受信し認識する処理が、CPU11aにおいて実行される(図4を参照、S23)。信号データSD(k,i)には、開始されたゲームの種類を識別するためのゲーム用の識別データIDg(2)が、含まれており、このゲーム用の識別データIDg(2)は、信号データSD(k,i)の受信時に、RAM13aに格納される。また、信号データSD(k,i)には、装置を特定するための装置情報、たとえば装置用の識別データIDd(k,i)が、含まれており、この装置用の識別データIDd(k,i)およびゲーム用の識別データIDg(2)は、信号データの受信時に、RAM13aに格納される。
なお、iは、自然数であり、iの最大値は、第1携帯ゲーム機1aの周りに存在する複数の第2携帯ゲーム機1bの全数に対応する。このiにより、各ゲーム機のデータが識別される。また、図4には、第1携帯ゲーム機1aが、信号データSD(2,i)を受信する場合の例を示しているが、第1携帯ゲーム機1aは、信号データSD(1,i)を送信する。
続いて、第1携帯ゲーム機1aにおいて開始されたゲーム(第1ゲーム)と、第1携帯ゲーム機1aの周りに存在する複数の第2携帯ゲーム機1bそれぞれにおいて開始されたゲーム(第2ゲーム)とが一致するか否かを判断する処理が、CPU11aにおいて実行される(S24)。ここでは、第1携帯ゲーム機1aにおいて開始されたゲーム用の識別データIDg(1)の値と、複数の第2携帯ゲーム機1bの中の少なくともいずれか1つのゲーム用の識別データIDg(2)の値とが一致するか否かが、CPU11aにより判断される。
そして、第1携帯ゲーム機1aのゲーム用の識別データIDg(1)の値と、第2携帯ゲーム機1bのゲーム用の識別データIDg(2)の値とが一致した場合(S24でYes)、第1携帯ゲーム機1aのゲーム用の識別データIDg(1)の値と同じ値を有する第2携帯ゲーム機1bを検出する処理が、CPU11aにより実行される(S25)。具体的には、第1携帯ゲーム機1aのゲーム用の識別データIDg(1)の値と同じ値を有する第2携帯ゲーム機1bの装置情報、たとえば装置用の識別データIDd(2,m)が、CPU11aにより検出され、RAM13aに格納される。このようにして、第1携帯ゲーム機1aのゲームと同じゲームを実行中の第2携帯ゲーム機1bが、検出される。
ここでは、第1携帯ゲーム機1aのゲームと同じゲームを実行中の第2携帯ゲーム機1bが、存在することを前提にしているので、第1携帯ゲーム機1aのゲームと同じゲームを実行中の第2携帯ゲーム機1bが、検出されなかった場合(S24でNo)は、ステップ23(S23)が、CPU11aにより再実行される。また、所定の時間たとえば300フレーム(5sec)の間、ステップ23(S23)とステップ24(S24)とを実行しても、第1携帯ゲーム機1aのゲームと同じゲームを実行中の第2携帯ゲーム機1bが、検出されなかった場合は、通信モードを終了し(図11には図示しない)、図10のステップ6(S6)の処理が、CPU11aにより実行される。
なお、mは、自然数であり、mの最大値は、検出された第2携帯ゲーム機1bの数に対応する。このmの値によって、検出された各第2携帯ゲーム機1bが、区別される。このmの値によって、検出された各第2携帯ゲーム機1bが、区別される。ここでは、iとmとの間には、「i≧m」の関係がある。
図4には、i=1,2,3に対応する装置用の識別データを有する第2携帯ゲーム機1bが、第1携帯ゲーム機1aのゲーム用の識別データIDg(1)の値と同じ値を有する携帯ゲーム機である場合の例が、示されている。すなわち、この場合、mの最大値は3である。
続いて、ここでRAM13aに格納された装置用の識別データIDd(2,m)を有する第2携帯ゲーム機1bにおいて、各ゲーム機1から放たれる信号の強度を示す信号強度データ、たとえばRSSIデータ(Received Signal Strength Indicator Data)が、信号データを用いて、CPU11aにより算出される(S26)。すると、検出された第2携帯ゲーム機1bのRSSIデータ(m個のRSSIデータ)の中から、RSSIデータの最大値が、CPU11aにより検索される(図6を参照、S27)。すると、RSSIデータが最大である第2携帯ゲーム機1bの装置用の識別データIDd(2,m’)が、CPU11aに認識される。図6では、m=2のときのRSSIデータ(斜線部のデータ)が最大となっているので、図6においてCPU11aに認識される装置用の識別データは、IDd(2,2)となる。
このようにして、装置用の識別データIDd(2,m’)が設定されると、この装置用の識別データIDd(2,m’)を有する第2携帯ゲーム機1b’が、第1携帯ゲーム機1aの最も近くに存在する第2携帯ゲーム機1b’として、決定される(S28)。このようにして、第1携帯ゲーム機1aの最も近くに存在する第2携帯ゲーム機1b’が、決定されると、この後は、この第2携帯ゲーム機1b’がCPU11aにより監視される。なお、ここでは、m’は、信号強度データが最大である第2携帯ゲーム機1b’を特定するための定数である。
このように、本実施形態では、信号データに基づいて、まず、第2携帯ゲーム機1bの数を、実行中のゲームの種類によって絞り込み、次に、第2携帯ゲーム機1bの数を、信号強度データの大きさによって、最終的に1つに絞り込む。そして、最終的に1つに絞り込まれた第2携帯ゲーム機1b’を、監視する。このように、多段階に第2携帯ゲーム機1bの数を絞り込むと、1段階で処理するよりも、各段階において対象となる第2携帯ゲーム機1bの数が少なくなるので、時系列で見ると各段階のリソースの使用率は小さくなる。すなわち、各段階の使用リソースを低減することができる。
続いて、第1携帯ゲーム機1aの最も近くに存在する第2携帯ゲーム機1b’とともに第1携帯ゲーム機1aが移動したか否かを判断する処理が、CPU11aより実行される(S29)。具体的には、第1携帯ゲーム機1aが第2携帯ゲーム機1b’に衝突したか、又は第1携帯ゲーム機1aと第2携帯ゲーム機1b’とが手に持って同時に振られたかした場合(図7を参照、S29でYes)、第1携帯ゲーム機1aおよび第2携帯ゲーム機1b’が移動を開始した第1時点を基準として、第1時点と第1時点から所定の時間が経過した第2時点との間に検知される加速度データA(k,n)、たとえば第1携帯ゲーム機1aで検知された加速度データK(1,n)が、1フレームごとに、RAM13aに格納される(S30)。ここで、nは、第1時点を基準としたフレーム数を示す。
ここで、所定の時間たとえば300フレーム(5sec)の間、第1携帯ゲーム機1aが第2携帯ゲーム機1b’に衝突したり、第1携帯ゲーム機1aと第2携帯ゲーム機1b’とが手に持って同時に振られたりしなかった場合(S29でNo)、ここまでの処理はキャンセルされ、ステップ23(S23)の処理が、CPU11aにより実行される。
そして、所定の時間の間に検知された加速度データK(1,n)、たとえば2(sec)の間に検知された120フレーム分の加速度データK(1,n)それぞれが、RAM13aから読み出され、各加速度データの絶対値が閾値Pより大きいか否かが、CPU11aにより判断される(S31)。そして、閾値Pより大きな加速度データK(1,n’)の絶対値が存在した場合(S31でYes)、閾値Pより大きな加速度データK(1,n’)の絶対値が、CPU11aにより検出され、RAM13aに格納される(S32)。ここで、閾値Pより大きな加速度データK(1,n’)の絶対値が全く存在しない場合(S31でNo)、誤作動と判断され、ステップ29(S29)の処理が、CPU11aにより実行される。
なお、この場合のnの最大値は、120となる。また、閾値Pは、ゲームプログラムにおいて所定の値に設定されており、RAM13aに格納されている。
図8には、第1携帯ゲーム機1aが第2携帯ゲーム機1b’に衝突した場合(あるいは、第1携帯ゲーム機1aが第2携帯ゲーム機1b’のそれぞれの保有者が、自分のゲーム機を手に持って互いに軽くぶつけた場合)の例(図8(a))、および第1携帯ゲーム機1aと第2携帯ゲーム機1b’とを手に持ってスイングした場合の例(図8(b))が、示されている。
図8(a)は、第1携帯ゲーム機1aが第2携帯ゲーム機1b’に衝突した場合の、フレーム数(時間)と加速度データK(1,n’)の絶対値との関係を示す図である。この場合、第1携帯ゲーム機1aが第2携帯ゲーム機1b’に衝突したときの値、たとえばフレーム数fが1のときの加速度データK(1,n’)の絶対値が、最大になる。そして、フレーム数fが大きくなるにつれて、加速度データK(1,n’)の絶対値は小さくなる。
また、図8(b)は、第1携帯ゲーム機1aと第2携帯ゲーム機1b’とを手に持ってスイングした場合の、フレーム数(時間)と加速度データK(1,n’)の絶対値との関係を示す図である。この場合、フレーム数fが大きくなるにつれて、加速度データK(1,n’)の絶対値は大きくなり、加速度データK(1,n’)の絶対値が最大値を記録した後、加速度データK(1,n’)の絶対値は低下する。
なお、図8では、閾値Pより大きな加速度データK(1,n’)の絶対値が、斜線で示されている。この斜線の部分の値が、閾値Pより大きな加速度データK(1,n’)の絶対値として、CPU11aにより検出される。f1は、加速度データK(1,n)の値が閾値Pに等しくなったときのフレーム数である。なお、図8に示された各フレーム数fに対応する加速度データK(1,n’)は、RAM13に格納されている。
続いて、RAM13aに格納された加速度データK(1,n’)の絶対値(閾値Pより大きな加速度データの絶対値)の中から最大値が、CPU11aにより検索される(S33)。ここで、この最大値を有する加速度データをK(1,n_max)と記すと、この最大の加速度データK(1,n_max)の絶対値が、所定の時間の間に検知された代表の加速度データの絶対値として、RAM13aに格納される。ここで、n’は、閾値Pより大きな加速度データを定義するための変数あり、n_maxは、最大の加速度データを定義するための変数である。図8では、n_maxが、丸記号で示されている。
なお、第2携帯ゲーム機1b’においても、第1携帯ゲーム機1aと同じ処理が実行されている。そして、最大の加速度データK(2,n_max)の絶対値が、所定の時間の間に検知された代表の加速度データの絶対値として、RAM13bに格納される。
続いて、所定の時間が経過すると、第1携帯ゲーム機1aでは、通信部16を介して、第1携帯ゲーム機1b’の代表の加速度データK(1,n_max)の絶対値が、第2携帯ゲーム機1b’へと送信される。また、第1携帯ゲーム機1aでは、通信部16を介して、第2携帯ゲーム機1b’の代表の加速度データK(2,n_max)の絶対値が受信され、第2携帯ゲーム機1b’の代表の加速度データK(2,n_max)の絶対値がRAM13aに格納される。そして、第1携帯ゲーム機1aの代表の加速度データK(1,n_max)の絶対値および第2携帯ゲーム機1bの代表の加速度データK(2,n_max)の絶対値を、記憶部13aから読み出し、これら携帯ゲーム機1a,1bの加速度データK(1,n_max),K(2,n_max)の絶対値が一致するか否かが、CPU11aにより判断される(S34)。
具体的には、第2携帯ゲーム機1bの代表の加速度データK(2,n_max)の絶対値が、第1携帯ゲーム機1aの代表の加速度データK(1,n_max)の絶対値を基準とした所定の範囲内に入っているか否かが、CPU11aにより判断される。より具体的には、第1携帯ゲーム機1aの代表の加速度データK(1,n_max)の絶対値を基準として、第2携帯ゲーム機1bの代表の加速度データK(2,n_max)の絶対値が、第1携帯ゲーム機1aの代表の加速度データK(1,n_max)の絶対値の上下5%の範囲内に入っているか否かが、CPU11aにより判断される。ここでは、「0.95×|K(1,n_max)|≦|K(2,n_max)|≦1.05×|K(1,n_max)|」の関係が満足しているか否かが、判断される。そして、第2携帯ゲーム機1bの代表の加速度データK(2,n_max)の絶対値が、第1携帯ゲーム機1aの代表の加速度データK(1,n_max)の絶対値の上下5%の範囲内に入っていた場合、第1携帯ゲーム機1aの代表の加速度データK(1,n_max)の絶対値と、第2携帯ゲーム機1bの代表の加速度データK(2,n_max)の絶対値とが一致したと判断する。すなわち、ここでの判断における「一致」という意味は、「所定の範囲内において一致」という意味で用いられている。
続いて、第1携帯ゲーム機1aの代表の加速度データK(1,n_max)と、第2携帯ゲーム機1bから受信した代表の加速度データK(2,n_max)とが一致した場合(S34でYes)、図9に示すように、第1携帯ゲーム機1aと、第1携帯ゲーム機1aの最も近くに存在する第2携帯ゲーム機1bとの接続を決定するための選択画面70、たとえば「接続しますか?」「Yes」「No」という画像が、モニタ30aに表示される(S35、S36)。
そして、「接続しますか?」「Yes」「No」という画像が、モニタ30aに表示されているときに、モニタ30a上の「Yes」が選択されると(S36でYes)、第1携帯ゲーム機1aの最も近くに存在する第2携帯ゲーム機1bを、接続対象のゲーム機1b’として、認識する処理が、制御部10aにおいて実行される(S37)。具体的には、装置用の識別データIDd(2,m’)を、接続対象のゲーム機1b’の装置用の識別データとしてCPU11aに認識させることにより、第1携帯ゲーム機1aの最も近くに存在する第2携帯ゲーム機1bが、接続対象のゲーム機1b’として設定される。なお、ここで、モニタ30a上の「No」が選択されると(S36でNo)、ステップ23(S23)の処理が、CPU11aにより実行される。
この選択画面は、第1携帯ゲーム機1aと第2携帯ゲーム機1bとにおいて同期されており、第1携帯ゲーム機1aにおいて「Yes」又は「No」が選択された場合、第1携帯ゲーム機1aにおいて選択された項目(「Yes」又は「No」)が第2携帯ゲーム機1bのモニタ30aにおいて自動的に選択される。また、第2携帯ゲーム機1bにおいて、第1携帯ゲーム機1aよりも早く、「Yes」又は「No」が選択された場合は、第1携帯ゲーム機1aにおいてプレイヤが項目(「Yes」又は「No」)を選択しなくても、第2携帯ゲーム機1aにおいて選択された項目(「Yes」又は「No」)が第1携帯ゲーム機1aのモニタ30a上において自動的に選択される。このように、いずれか一方の携帯ゲーム機1a,1bにおいて、「Yes」又は「No」が選択されると、いずれか他方の携帯ゲーム機1a,1bにおいても、同じ項目(「Yes」又は「No」)が選択される。
なお、第1携帯ゲーム機1aの代表の加速度データK(1,n_max)と、第2携帯ゲーム機1bから受信した代表の加速度データK(2,n_max)とが一致しなかった場合(S34でNo)、選択画面70は、モニタ30aには表示されず、ステップ25(S25)の処理が、CPU11aにより実行される。
ここで、第1携帯ゲーム機1aおよび第2携帯ゲーム機1bに、誤入力が行われてしまったケースを考える。たとえば、AプレイヤとBプレイヤが、偶然同じ時刻に自分の携帯ゲーム機1a,1bを、相手の携帯ゲーム機1b,1aではなく、壁や床等の物体に衝突させてしまった場合、上述した本実施形態では、第1携帯ゲーム機1aと第2携帯ゲーム機1bとが衝突した、又は第1携帯ゲーム機1aと第2携帯ゲーム機1bとが同時に移動した(スイング移動した)と、判断されてしまうおそれがある。つまり、この場合、誤入力であるにもかかわらず、各携帯ゲーム機1a,1bは、衝突又はスイング移動が発生したと判断してしまう。また、何らかのパルスノイズを携帯ゲーム機が拾ってしまい、同様の不具合が生じることも考えられる。
このため、ここでは、この問題すなわち誤入力やノイズ等による誤判断の発生を、防ぐことを考える。まず、第1携帯ゲーム機1aにおいて検知された加速度データK(1,n_max)の最大値を基準として、その最大値以降の所定のフレーム数たとえば5フレーム分の間の加速度データK(1,n)を、RAM13aから読み出す処理が、CPU11aにより実行される。そして、この第1携帯ゲーム機1aにおける5フレーム分の加速度データK(1,n)が、同時刻に第2携帯ゲーム機1bにおいて検知された5フレームの加速度データK(2,n)と一致するか否かが、CPU11aにより判断される。ここで、第1携帯ゲーム機1aの各フレームの加速度データK(1,n)と、第2携帯ゲーム機1bの各フレームの加速度データK(2,n)とが一致した場合、第1携帯ゲーム機1aと第2携帯ゲーム機1bとが衝突した、又は第1携帯ゲーム機1aと第2携帯ゲーム機1bとが同時に移動した(スイング移動した)と、判断する。つまり、この場合、所定のフレーム数すべての加速度データK(1,n),K(2,n)が一致しない限り、衝突が発生した、又はスイング移動が発生したと判断されないので、上述した本実施形態の場合と比較して、誤入力による誤判断の発生を、大幅に低減することができる。
ここに示した、第2携帯ゲーム機1bにおいて検知された所定のフレーム数の加速度データK(2,n)は、次のようにして、第1携帯ゲーム機1aのRAM13aに格納される。第1携帯ゲーム機1aは、加速度データK(1,n_max)の最大値を検知した時刻データと、この時刻データを基準とした5フレーム分の加速度データK(2,n)の送信を依頼するための送信依頼データを、第2携帯ゲーム機1bに送信する。そして、これらデータを受信した第2携帯ゲーム機1bは、送信依頼データの値が1であった場合、すなわちフラグが立っていた場合、時刻データが示す時刻を基準とした5フレームの加速度データK(2,n)を、第1携帯ゲーム機1aに送信する。すると、第1携帯ゲーム機1aにおいて加速度データK(1,n_max)の最大値を検知した時刻を基準とした、第2携帯ゲーム機1bにおける所定のフレーム数の加速度データK(2,n)、たとえば第2携帯ゲーム機1bの5フレーム分の加速度データK(2,n)が、第1携帯ゲーム機1aのRAM13aに格納される。
なお、このケースは頻繁に発生するものではないため、以下では、引き続き、上述したように、加速度データK(1,n_max)の最大値、たとえば加速度データK(1,n_max)の最大値の絶対値を用いて、第1携帯ゲーム機1aと第2携帯ゲーム機1bとが衝突したか、又は第1携帯ゲーム機1aと第2携帯ゲーム機1bとが同時に移動したか(スイング移動したか)を、判断する場合の例が、示される。
続いて、接続対象のゲーム機1b’が設定されると、接続対象のゲーム機1b’からゲーム用のデータを受信する処理、および接続対象のゲーム機1b’へゲーム用のデータを送信する処理が、制御部10aにおいて実行される(S38)。このように、接続対象のゲーム機1b’に対するゲーム用のデータの送受信によって、第1携帯ゲーム機1aでは、接続対象のゲーム機2b’を対戦相手のゲーム機として、野球ゲームのイベントが実行される(S39、図10のS4)。同様に、接続対象のゲーム機1b’においても、第1携帯ゲーム機1aを対戦相手のゲーム機として、野球ゲームのイベントが実行される(図10のS4)。なお、ゲーム用のデータは、ゲームイベントを実行する上で必要となるデータである。
野球ゲームのイベントが実行されると、まず、投手キャラクタと打者キャラクタとが対峙した状態の画像が、第1携帯ゲーム機1aのモニタ30a、および接続対象のゲーム機1b’のモニタ30aに、表示される。ここで、各プレイヤにより、投球および打撃に関する命令が指示されると、この指示に基づいて、投手キャラクタおよび打者キャラクタがモニタ30a,30bにおいて動作する。すると、プレイ結果が、モニタ30a,30bに表示される。
このように野球ゲームのイベントが実行されている場合には、上述したようにゲーム用のデータが、第1携帯ゲーム機1aと接続対象のゲーム機2b’との間で送受信されている。これにより、第1携帯ゲーム機1aの野球ゲームと接続対象のゲーム機2b’の野球ゲームのイベントとが、同期される。同期中には、第1携帯ゲーム機1aでは、接続対象のゲーム機1b’からのゲーム用のデータが継続的に受信されているか否かを判断する処理が、CPU11aにより実行されている。たとえば、接続対象のゲーム機1b’からのゲーム用のデータが、所定の時間たとえば1フレーム(1/60sec)ごとに、通信部16に到達しているか否かが、CPU11aにより監視されている(S40)。
ここで、接続対象のゲーム機1b’からのゲーム用のデータが途切れた場合、たとえば、接続対象のゲーム機1b’からのゲーム用のデータが所定の時間たとえば60フレーム(1sec)の間、途切れた場合、RAM13aに格納された接続対象のゲーム機1b’の装置用の識別データIDd(2,m’)が、CPU11aに認識され、この装置用の識別データIDd(2,m’)に対応する信号データを、検出する処理が、CPU11aにより実行される。そして、この信号データが検出された場合、この信号データを、接続対象のゲーム機1b’の信号データとして再認識する処理が、CPU11aにより実行される。なお、受信が途切れた間のゲーム用のデータは、接続が回復したときに、接続対象のゲーム機1b’から受信する。
ここでは、装置用の識別データIDd(2,m’)がRAM13aに格納されているので、この装置用の識別データIDd(2,m’)をRAM13aから読み出すことにより、通信対戦中に、ゲーム用のデータの送受信が途切れたとしても、接続対象のゲーム機1b’を容易に検出して、ゲームを再開することができる。
最後に、イベントが終了すると、図10で説明したステップ5(S5)からステップ7(S7)までの処理が、CPU11aにより実行される。
上記では、第1携帯ゲーム機1aが、主たるゲーム機であるものとして、本システムの説明を行った。本システムは、各携帯ゲーム機に実装されているので、第1携帯ゲーム機1aだけでなく、他の携帯ゲーム機たとえば第2携帯ゲーム機1b,1b’においても、上記の第1携帯ゲーム機1aと同じ処理が、実行される。このように、第1携帯ゲーム機1a、および接続対象のゲーム機1b’を含む全ての第2携帯ゲーム機1bにおいて、上記の処理を実行することにより、第1携帯ゲーム機1aと接続対象のゲーム機2b’との間に接続を確立し、野球ゲームを各ゲーム機1a,1bにおいて同期しながら実行することができる。
このような本実施形態では、第1携帯ゲーム機1aの最も近くに存在する第2携帯ゲーム機1bを常に監視しているので、プレイヤが所望する第2携帯ゲーム機1bをモニタ上で選択しなくても、第1携帯ゲーム機1aを第2携帯ゲーム機1bに衝突させたり、第1携帯ゲーム機1aと第2携帯ゲーム機1bとを手に持って同時に振ったりするだけで、第1携帯ゲーム機1aと第2携帯ゲーム機1b(接続対象のゲーム機1b’)との接続を確立し、第1携帯ゲーム機1aと接続対象のゲーム機1b’との間で、ゲーム用のデータの送受信を行うことができる。
また、第1携帯ゲーム機1aを第2携帯ゲーム機1bに衝突させた場合、又は第1携帯ゲーム機1aと第2携帯ゲーム機1bとを手に持って同時に振った場合にのみ、第1携帯ゲーム機1aが第2携帯ゲーム機1bと接続されるので、第1携帯ゲーム機1aの近くに、複数の第2携帯ゲーム機1bが存在していたとしても、プレイヤが所望する第2携帯ゲーム機1bとの接続を、確実に確立することができる。
このように、本実施形態では、Aプレイヤの第1携帯ゲーム機1aをBプレイヤ(通信相手)の第2携帯ゲーム機1b’と容易且つ確実に接続し、ゲームを実行することができる。また、本実施形態では、第1携帯ゲーム機1aの最も近くに存在する第2携帯ゲーム機1bだけを監視しているので、第1携帯ゲーム機1aの近くに存在する全ての第2携帯ゲーム機1bを監視する場合と比較して、ゲーム実行時に必要なリソースを低減することができる。
〔他の実施形態〕
(a)前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例として、携帯ゲーム機を用いた場合の例を示したが、コンピュータは、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
(b)本発明には、前述したようなゲームを実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、CD−ROM、DVD、MO、ROMカセット、その他のものが挙げられる。
本発明の一態様によるゲームプログラムは、第2のプレイヤによって操作される第2データ送受信装置と無線で通信可能な、第1のプレイヤによって操作される第1データ送受信装置の制御部に、以下の機能を実現させるためのプログラムである。
(1)第2データ送受信装置を認識するための信号データを直接的に受信し、この信号データを認識する信号データ認識機能。
(2)信号データに基づいて、第1データ送受信装置の最も近くに存在する第2データ送受信装置を、検出する装置検出機能。
(3)第1データ送受信装置の最も近くに存在する第2データ送受信装置とともに第1データ送受信装置が移動した場合に、第1データ送受信装置および第2データ送受信装置が移動した第1時点を基準として、第1時点と第1時点から所定の時間が経過した第2時点との間に検知される、第1データ送受信装置の動き及び第2データ送受信装置の動きを評価するための検知データを、認識する検知データ認識機能。
(4)第1データ送受信装置の検知データと、第2データ送受信装置から受信した検知データとが一致するか否かを、判断する検知データ判断機能。
(5)第1データ送受信装置の検知データと、第2データ送受信装置から受信した検知データとが一致した場合に、この第2データ送受信装置を、接続対象のデータ送受信装置として、認識する接続確立機能。
(6)接続対象のデータ送受信装置から通信データを受信する処理、および接続対象のデータ送受信装置へ通信データを送信する処理の少なくともいずれか一方を、実行する通信データ送受信機能。
このゲームプログラムでは、まず、第1データ送受信装置の周りに存在する第2データ送受信装置を認識するための信号データが、第2データ送受信装置から受信されると、この信号データに基づいて、第1データ送受信装置の最も近くに存在する第2データ送受信装置が、制御部において検出される。次に、この第2データ送受信装置とともに第1データ送受信装置が移動した場合に、第1データ送受信装置および第2データ送受信装置が移動した第1時点と、この第1時点から所定の時間が経過した第2時点との間に検知される検知データを認識する処理が、制御部において実行される。続いて、第1データ送受信装置の検知データと、第2データ送受信装置から受信した検知データとが一致するか否かが、制御部において判断される。そして、第1データ送受信装置の検知データと、第2データ送受信装置から受信した検知データとが一致した場合に、この第2データ送受信装置が、接続対象のデータ送受信装置として認識する処理が、制御部において実行される。すると、接続対象のデータ送受信装置から通信データを受信する処理、および接続対象のデータ送受信装置へ通信データを送信する処理の少なくともいずれか一方が、制御部において実行される。
この場合、第1データ送受信装置において、第1データ送受信装置の最も近くに存在する第2データ送受信装置が、制御部において検出される。これにより、第1データ送受信装置の最も近くに存在する第2データ送受信装置が、第1データ送受信装置に自動的に認識される。たとえば、B1データ送受信装置がB2データ送受信装置より第1データ送受信装置に近づくと、B1データ送受信装置が第1データ送受信装置に自動認識される。この状態において、B1データ送受信装置とB2データ送受信装置との位置関係が変わって、B2データ送受信装置がB1データ送受信装置より第1データ送受信装置に近づくと、B2データ送受信装置が第1データ送受信装置に自動認識される。
このように第2データ送受信装置が第1データ送受信装置に自動認識された状態において、第1データ送受信装置およびこの第2データ送受信装置が移動すると、第1データ送受信装置の移動後の検知データと第2データ送受信装置の移動後の検知データとが一致するか否かが、制御部において判断される。そして、第1および第2データ送受信装置の移動後の検知データが一致した場合、この第2データ送受信装置を接続対象のデータ送受信装置として認識する処理が、制御部において実行される。これにより、たとえば、第1データ送受信装置と第2データ送受信装置とを手に持って同時に振った場合等に、ここで第1データ送受信装置と同時に移動した第2データ送受信装置が、接続対象のデータ送受信装置として、第1データ送受信装置に認識される。
このようにして、接続対象のデータ送受信装置が第1データ送受信装置に認識されると、接続対象のデータ送受信装置から通信データを受信する処理、および接続対象のデータ送受信装置へ通信データを送信する処理の少なくともいずれか一方が、制御部において実行される。これにより、たとえば、第1データ送受信装置は、接続対象のデータ送受信装置(第2データ送受信装置)へと通信データを送信したり、この接続対象のデータ送受信装置から通信データを受信したりすることができる。
以上のように、本発明では、第1データ送受信装置の最も近くに存在する第2データ送受信装置を常に監視しているので、プレイヤが所望する第2データ送受信装置をモニタ上で選択しなくても、第1データ送受信装置を第2データ送受信装置とともに移動するだけで、第1データ送受信装置と第2データ送受信装置(接続対象のデータ送受信装置)との接続を確立し、第1データ送受信装置と接続対象のデータ送受信装置との間で、データの送受信を行うことができる。また、第1データ送受信装置を第2データ送受信装置とともに移動してはじめて、第1データ送受信装置は第2データ送受信装置と接続を確立するので、第1データ送受信装置の近くに、複数の第2データ送受信装置が存在していたとしても、プレイヤが所望する第2データ送受信装置との接続を、確実に確立することができる。このように、本発明では、プレイヤのデータ送受信装置(第1データ送受信装置)を通信相手のデータ送受信装置(第2データ送受信装置)と容易且つ確実に接続し、ゲームを実行することができる。また、本発明では、第1データ送受信装置の最も近くに存在する第2データ送受信装置だけを監視しているので、第1データ送受信装置の近くに存在する全ての第2データ送受信装置を監視する場合と比較して、ゲーム実行時に必要なリソースを低減することができる。
また、このゲームプログラムでは、検知データ認識機能が、第1データ送受信装置の検知データ、及び第2データ送受信装置から直接的に受信した検知データを、認識する。また、第1データ送受信装置と第2データ送受信装置とがプレイヤのいずれかの手に持たれて同時に振られた場合に検知される加速度データを、検知データとして、認識する。この場合、第1データ送受信装置と第2データ送受信装置とがプレイヤのいずれかの手に持たれて同時に振られた場合に、第1データ送受信装置で検知された加速度データと、第1データ送受信装置が受信した第2データ送受信装置の加速度データとは、一致する。このため、各データ送受信装置において、加速度データを検知データとして検知することにより、第1データ送受信装置と第2データ送受信装置とがプレイヤのいずれかの手に持たれて同時に振られたか否かを、確実に判断することができる。
また、上記のゲームプログラムは、以下の機能をさらに実現させるためのプログラムであってもよい。
(7)ゲームを開始するための命令を、発行するゲーム開始命令発行機能。
(8)第1データ送受信装置において開始されたゲームと、第2データ送受信装置において開始されたゲームとが一致するか否かを、判断する信号データ判断機能。
このゲームプログラムでは、ゲーム開始命令発行機能が、ゲームを開始するための命令を、発行する。信号データ判断機能は、第1データ送受信装置において開始されたゲームと、第2データ送受信装置において開始されたゲームとが一致するか否かを、判断する。装置検出機能は、第1データ送受信装置において開始されたゲームと、第2データ送受信装置において開始されたゲームとが一致した場合に、信号データに基づいて、第1データ送受信装置の最も近くに存在する第2データ送受信装置を、検出する。
この場合、各データ送受信装置においてゲームが開始された状態において、第1データ送受信装置において開始されたゲームと、第2データ送受信装置において開始されたゲームとが一致した場合に、信号データに基づいて、第1データ送受信装置の最も近くに存在する第2データ送受信装置が検出され、第1データ送受信装置と第2データ送受信装置との接続が確立される。
たとえば、第1データ送受信装置が、ある第2データ送受信装置と接続して、通信ゲームを実行しようとした場合、第1データ送受信装置とこの第2データ送受信装置とにおいて実行中のゲームが同じであるか否かが、判別される。そして、これらのゲームが同じであった場合に、第1データ送受信装置と第2データ送受信装置との接続が確立される。
これにより、第1データ送受信装置で実行中のゲームが、たとえば野球ゲームであった場合に、第2データ送受信装置で実行中のゲームも野球ゲームである場合は、両者の通信接続が確立される。一方で、第1データ送受信装置で実行中のゲームが、たとえば野球ゲームであった場合に、第2データ送受信装置で実行中のゲームがサッカーゲームである場合は、通信対戦が成立しなくなるため、両者の通信接続が確立されない。
このように、本発明では、第1データ送受信装置で実行中のゲームと、第2データ送受信装置で実行中のゲームとが同じである場合にのみ、両者の通信接続が確立されるので、第1データ送受信装置と第2データ送受信装置とにおいて、プレイヤは、特別な手続きを行うことなく、同じ通信ゲームを互いにプレイすることができる。
また、上記のゲームプログラムは、以下の機能をさらに実現させるためのプログラムであってもよい。
(9)検知データの認識時に、第1データ送受信装置と、第1データ送受信装置の最も近くに存在する第2データ送受信装置との接続を決定するための画面を、表示する選択画面表示機能。
このゲームプログラムでは、選択画面表示機能が、検知データの認識時に、第1データ送受信装置と、第1データ送受信装置の最も近くに存在する第2データ送受信装置との接続を決定するための画面を、表示する。接続確立機能は、画面が表示されているときに、第1データ送受信装置と第2データ送受信装置とを接続するための入力が、認識された場合に、第1データ送受信装置の最も近くに存在する第2データ送受信装置を、接続対象のデータ送受信装置として、認識する。
この場合、第1データ送受信装置と、第1データ送受信装置の最も近くに存在する第2データ送受信装置との接続を行うか否かを確認する画面を表示する処理が、画像表示部において実行される。たとえば、第1データ送受信装置の検知データと、第2データ送受信装置から受信した検知データとが一致した場合に、「接続しますか?」という画面を表示する処理が、画像表示部において実行される。そして、第1データ送受信装置を第2データ送受信装置に接続するための入力、たとえば所定のボタン入力やタッチパネルの場合はモニタへの接触入力によって、第1データ送受信装置の最も近くに存在する第2データ送受信装置を、接続対象のデータ送受信装置として認識する処理が、制御部において実行される。これにより、第1データ送受信装置と第2データ送受信装置との接続を、視覚的に確認しながら、実行することができる。
また、上記のゲームプログラムは、以下の機能をさらに実現させるためのプログラムであってもよい。
(10)第2データ送受信装置を識別するための装置情報を、記憶部に格納する識別情報格納機能。
(11)通信データの送受信中に、接続対象のデータ送受信装置からの通信データの受信が中断した場合、装置情報に対応する信号データを、再認識する信号データ再認識機能。
このゲームプログラムでは、識別情報格納機能が、第2データ送受信装置を識別するための装置情報を、記憶部に格納する。信号データ再認識機能は、通信データの送受信中に、接続対象のデータ送受信装置からの通信データの受信が中断した場合、装置情報に対応する信号データを、再認識する。
この場合、接続対象のデータ送受信装置の装置情報が、記憶部に格納されており、通信データの送受信中に、接続対象のデータ送受信装置からの通信データの受信が中断した場合、装置情報に対応する信号データを、再認識する処理が、制御部において実行される。このため、通信データの送受信中に、たとえば、接続対象のデータ送受信装置との接続が中断してしまうことがあったとしても、装置情報に基づいて、接続対象のデータ送受信装置を検索し、この接続対象のデータ送受信装置に対応する信号データを再認識し、第1データ送受信装置を、接続対象のデータ送受信装置に再接続することができる。
このように、本発明では、装置情報たとえばID情報や装置番号等を記憶部に格納しておくだけで、第1データ送受信装置を、接続対象のデータ送受信装置に容易に再接続することができる。また、ここで必要な情報は、接続対象のデータ送受信装置の装置情報だけであるので、少ないリソースで、第1データ送受信装置を第2データ送受信装置に再接続することができる。
本発明の他の一態様によるデータ送受信装置は、第2のプレイヤによって操作される他のデータ送受信装置と無線で通信可能な、第1のプレイヤによって操作されるデータ送受信装置である。このデータ送受信装置の制御部は、他のデータ送受信装置を認識するための信号データを、他のデータ送受信装置から直接的に受信し、この信号データを認識する信号データ認識手段と、信号データに基づいて、データ送受信装置の最も近くに存在する他のデータ送受信装置を、検出する装置検出手段と、データ送受信装置の最も近くに存在する他のデータ送受信装置とともに他のデータ送受信装置が移動した場合に、データ送受信装置および他のデータ送受信装置が移動した第1時点を基準として、第1時点と第1時点から所定の時間が経過した第2時点との間に検知される、データ送受信装置の動き及び他のデータ送受信装置の動きを評価するための検知データを、認識する検知データ認識手段と、データ送受信装置の検知データと、他のデータ送受信装置から受信した検知データとが一致するか否かを、判断する検知データ判断手段と、データ送受信装置の検知データと、他のデータ送受信装置から受信した検知データとが一致した場合に、データ送受信装置の最も近くに存在する他のデータ送受信装置を、接続対象のデータ送受信装置として、認識する接続確立手段と、接続対象のデータ送受信装置から通信データを受信する処理、および接続対象のデータ送受信装置へ通信データを送信する処理の少なくともいずれか一方を、実行する通信データ送受信手段と、を備えている。
ここで、上記データ送受信装置では、検知データ認識手段が、データ送受信装置の検知データ、及び他のデータ送受信装置から直接的に受信した検知データを、認識する。また、検知データ認識手段は、データ送受信装置と他のデータ送受信装置とがプレイヤのいずれかの手に持たれて同時に振られた場合に検知される加速度データを、検知データとして、認識する。
本発明の他の一態様によるゲームシステムは、第1のプレイヤによって操作される第1データ送受信装置と、第2のプレイヤによって操作される第2データ送受信装置との間で、ゲーム用のデータを無線通信するためのゲームシステムである。このゲームシステムでは、第1データ送受信装置の制御部が、第2データ送受信装置を認識するための信号データを、第2データ送受信装置から直接的に受信し、この信号データを認識する信号データ認識機能と、信号データに基づいて、第1データ送受信装置の最も近くに存在する第2データ送受信装置を、検出する装置検出機能と、第1データ送受信装置の最も近くに存在する第2データ送受信装置とともに第1データ送受信装置が移動した場合に、第1データ送受信装置および第2データ送受信装置が移動した第1時点を基準として、第1時点と第1時点から所定の時間が経過した第2時点との間に検知される、第1データ送受信装置の動き及び第2データ送受信装置の動きを評価するための検知データを、認識する検知データ認識機能と、第1データ送受信装置の検知データと、第2データ送受信装置から受信した検知データとが一致するか否かを、判断する検知データ判断機能と、第1データ送受信装置の検知データと、第2データ送受信装置から受信した検知データとが一致した場合に、第2データ送受信装置を、接続対象のデータ送受信装置として、認識する接続確立機能と、接続対象のデータ送受信装置から通信データを受信する処理、および接続対象のデータ送受信装置へ通信データを送信する処理の少なくともいずれか一方を、実行する通信データ送受信機能と、を備えている。
また、このゲームシステムでは、第2データ送受信装置の制御部が、第1データ送受信装置を認識するための信号データを、第1データ送受信装置から直接的に受信し、この信号データを認識する信号データ認識機能と、信号データに基づいて、第2データ送受信装置の最も近くに存在する第1データ送受信装置を、検出する装置検出機能と、第2データ送受信装置の最も近くに存在する第1データ送受信装置とともに第2データ送受信装置が移動した場合に、第1データ送受信装置および第2データ送受信装置が移動した第1時点を基準として、第1時点と第1時点から所定の時間が経過した第2時点との間に検知される検知データを、認識する検知データ認識機能と、第2データ送受信装置の検知データと、第1データ送受信装置から受信した検知データとが一致するか否かを、判断する検知データ判断機能と、第2データ送受信装置の検知データと、第1データ送受信装置から受信した検知データとが一致した場合に、第1データ送受信装置を、接続対象のデータ送受信装置として、認識する接続確立機能と、接続対象のデータ送受信装置から通信データを受信する処理、および接続対象のデータ送受信装置へ通信データを送信する処理の少なくともいずれか一方を、実行する通信データ送受信機能と、を備えている。
ここで、上記ゲームシステムでは、検知データ認識機能が、第1データ送受信装置の検知データ、及び第2データ送受信装置から直接的に受信した検知データを、認識する。また、検知データ認識機能が、第1データ送受信装置と第2データ送受信装置とがプレイヤのいずれかの手に持たれて同時に振られた場合に検知される加速度データを、検知データとして、認識する。
本発明では、第1データ送受信装置の最も近くに存在する第2データ送受信装置を常に監視しているので、プレイヤが所望する第2データ送受信装置をモニタ上で選択しなくても、第1データ送受信装置を第2データ送受信装置とともに移動するだけで、第1データ送受信装置と第2データ送受信装置(接続対象のデータ送受信装置)との接続を確立し、第1データ送受信装置と接続対象のデータ送受信装置との間で、データの送受信を行うことができる。また、第1データ送受信装置を第2データ送受信装置とともに移動してはじめて、第1データ送受信装置は第2データ送受信装置と接続を確立するので、第1データ送受信装置の近くに、複数の第2データ送受信装置が存在していたとしても、プレイヤが所望する第2データ送受信装置との接続を、確実に確立することができる。このようにして、本発明では、プレイヤのデータ送受信装置(第1データ送受信装置)を通信相手のデータ送受信装置(第2データ送受信装置)と容易且つ確実に接続し、ゲームを実行することができる。また、本発明では、第1データ送受信装置の最も近くに存在する第2データ送受信装置だけを監視しているので、第1データ送受信装置の近くに存在する全ての第2データ送受信装置を監視する場合と比較して、ゲーム実行時に必要なリソースを低減することができる。
本発明の他の一態様によるゲームプログラムは、第2のプレイヤによって操作される第2データ送受信装置と無線で通信可能な、第1のプレイヤによって操作される第1データ送受信装置の制御部に、前記第2データ送受信装置を認識するための信号データを、前記第2データ送受信装置から直接的に受信し、前記信号データを認識する信号データ認識機能と、前記信号データに基づいて、前記第1データ送受信装置の最も近くに存在する前記第2データ送受信装置を、検出する装置検出機能と、前記第1データ送受信装置の最も近くに存在する前記第2データ送受信装置とともに前記第1データ送受信装置が移動した場合に、前記第1データ送受信装置および前記第2データ送受信装置が移動した第1時点を基準として、前記第1時点と前記第1時点から所定の時間が経過した第2時点との間に検知される、前記第1データ送受信装置の動き及び前記第2データ送受信装置の動きを評価するための検知データを、認識する検知データ認識機能と、前記第1データ送受信装置の前記検知データと、前記第2データ送受信装置から受信した検知データとが一致するか否かを、判断する検知データ判断機能と、前記第1データ送受信装置の前記検知データと、前記第2データ送受信装置から受信した検知データとが一致した場合に、前記第2データ送受信装置を、接続対象のデータ送受信装置として、認識する接続確立機能と、前記接続対象のデータ送受信装置から通信データを受信する処理、および前記接続対象のデータ送受信装置へ通信データを送信する処理の少なくともいずれか一方を、実行する通信データ送受信機能と、を実現させ、前記検知データ認識機能は、前記第1データ送受信装置の前記検知データ、及び前記第2データ送受信装置から直接的に受信した前記検知データを、認識し、前記第1データ送受信装置と前記第2データ送受信装置とが前記プレイヤのいずれかの手に持たれて同時に振られた場合に検知される加速度データを、前記検知データとして、認識する、ゲームプログラムである。
本発明の他の一態様によるデータ送受信装置は、第2のプレイヤによって操作される他のデータ送受信装置と無線で通信可能な、第1のプレイヤによって操作されるデータ送受信装置であって、前記データ送受信装置の制御部は、他の前記データ送受信装置を認識するための信号データを、他の前記データ送受信装置から直接的に受信し、前記信号データを認識する信号データ認識手段と、前記信号データに基づいて、前記データ送受信装置の最も近くに存在する他の前記データ送受信装置を、検出する装置検出手段と、前記データ送受信装置の最も近くに存在する他の前記データ送受信装置とともに他の前記データ送受信装置が移動した場合に、前記データ送受信装置および他の前記データ送受信装置が移動した第1時点を基準として、前記第1時点と前記第1時点から所定の時間が経過した第2時点との間に検知される、前記データ送受信装置の動き及び他の前記データ送受信装置の動きを評価するための検知データを、認識する検知データ認識手段と、前記データ送受信装置の前記検知データと、他の前記データ送受信装置から受信した検知データとが一致するか否かを、判断する検知データ判断手段と、前記データ送受信装置の前記検知データと、他の前記データ送受信装置から受信した検知データとが一致した場合に、前記データ送受信装置の最も近くに存在する他の前記データ送受信装置を、接続対象のデータ送受信装置として、認識する接続確立手段と、前記接続対象のデータ送受信装置から通信データを受信する処理、および前記接続対象のデータ送受信装置へ通信データを送信する処理の少なくともいずれか一方を、実行する通信データ送受信手段と、を備え、前記検知データ認識手段は、前記データ送受信装置の前記検知データ、及び他の前記データ送受信装置から直接的に受信した前記検知データを、認識し、前記データ送受信装置と他の前記データ送受信装置とが前記プレイヤのいずれかの手に持たれて同時に振られた場合に検知される加速度データを、前記検知データとして、認識する。
本発明の他の態様によるゲームシステムは、第1のプレイヤによって操作される第1データ送受信装置と、第2のプレイヤによって操作される第2データ送受信装置との間で、ゲーム用のデータを無線通信するためのゲームシステムであって、前記第1データ送受信装置の制御部は、前記第2データ送受信装置を認識するための信号データを、前記第2データ送受信装置から直接的に受信し、前記信号データを認識する信号データ認識機能と、前記信号データに基づいて、前記第1データ送受信装置の最も近くに存在する前記第2データ送受信装置を、検出する装置検出機能と、前記第1データ送受信装置の最も近くに存在する前記第2データ送受信装置とともに前記第1データ送受信装置が移動した場合に、前記第1データ送受信装置および前記第2データ送受信装置が移動した第1時点を基準として、前記第1時点と前記第1時点から所定の時間が経過した第2時点との間に検知される、前記第1データ送受信装置の動き及び前記第2データ送受信装置の動きを評価するための検知データを、認識する検知データ認識機能と、前記第1データ送受信装置の前記検知データと、前記第2データ送受信装置から受信した検知データとが一致するか否かを、判断する検知データ判断機能と、前記第1データ送受信装置の前記検知データと、前記第2データ送受信装置から受信した検知データとが一致した場合に、前記第2データ送受信装置を、接続対象のデータ送受信装置として、認識する接続確立機能と、前記接続対象のデータ送受信装置から通信データを受信する処理、および前記接続対象のデータ送受信装置へ通信データを送信する処理の少なくともいずれか一方を、実行する通信データ送受信機能と、を備え、前記第2データ送受信装置の制御部は、前記第1データ送受信装置を認識するための信号データを、前記第1データ送受信装置から直接的に受信し、前記信号データを認識する信号データ認識機能と、前記信号データに基づいて、前記第2データ送受信装置の最も近くに存在する前記第1データ送受信装置を、検出する装置検出機能と、
前記第2データ送受信装置の最も近くに存在する前記第1データ送受信装置とともに前記第2データ送受信装置が移動した場合に、前記第1データ送受信装置および前記第2データ送受信装置が移動した第1時点を基準として、前記第1時点と前記第1時点から所定の時間が経過した第2時点との間に検知される検知データを、認識する検知データ認識機能と、前記第2データ送受信装置の前記検知データと、前記第1データ送受信装置から受信した検知データとが一致するか否かを、判断する検知データ判断機能と、前記第2データ送受信装置の前記検知データと、前記第1データ送受信装置から受信した検知データとが一致した場合に、前記第1データ送受信装置を、接続対象のデータ送受信装置として、認識する接続確立機能と、前記接続対象のデータ送受信装置から通信データを受信する処理、および前記接続対象のデータ送受信装置へ通信データを送信する処理の少なくともいずれか一方を、実行する通信データ送受信機能と、を備え、前記検知データ認識機能は、前記第1データ送受信装置の前記検知データ、及び前記第2データ送受信装置から直接的に受信した前記検知データを、認識し、前記第1データ送受信装置と前記第2データ送受信装置とが前記プレイヤのいずれかの手に持たれて同時に振られた場合に検知される加速度データを、前記検知データとして、認識する。
本発明の他の一態様によるゲームシステムは、第1ゲーム機の動きを検知する第1検知データ認識手段と、第2ゲーム機の動きを検知する第2検知データ認識手段と、前記第1ゲーム機が振られた又はスイングによって移動した場合に前記第1検知データ認識手段によって検知される第1検知データと、前記第2ゲーム機が振られた又はスイングによって移動した場合に前記第2検知データ認識手段によって検知される第2検知データとを比較する検知データ判断手段と、前記検知データ判断手段によって、前記第1検知データと前記第2検知データとの比較結果が一致すると判断された場合に、前記第1ゲーム機と前記第2ゲーム機とを接続対象として設定する接続確立手段と、を備える。
上記の構成において、前記検知データ判断手段による、前記第1検知データと前記第2検知データとの比較は、前記第1ゲーム機が前記第2ゲーム機とともに移動を開始した第1時点と、当該第1時点から所定の時間が経過した第2時点との間の期間を対象とすることが好ましい。
上記の構成において、前記第1ゲーム機において開始されたゲームと、前記第2ゲーム機において開始されたゲームとが一致するか否かを判断するゲーム一致判断手段をさらに備え、前記ゲーム一致判断手段によって前記ゲームが一致したと判断された場合に、前記第1検知データ認識手段および前記第2検知データ認識手段が各々、前記第1ゲーム機および前記第2ゲーム機の動きを検出することが好ましい。
上記の構成において、前記第1検知データ認識手段は、前記第1ゲーム機が前記第2ゲーム機とともに移動した場合に検知される前記第1ゲーム機の動きを評価するための加速度データを前記第1検知データとして認識し、前記第2検知データ認識手段は、前記第2ゲーム機が前記第1ゲーム機とともに移動した場合に検知される前記第2ゲーム機の動きを評価するための加速度データを前記第2検知データとして認識することが好ましい。
上記の構成において、前記接続確立手段は、前記第1検知データの最大値と前記第2検知データの最大値とが、前記検知データ判断手段によって一致すると判断された場合に、前記第1ゲーム機と前記第2ゲーム機とを接続対象として設定することが好ましい。
上記の構成において、前記接続確立手段は、前記第1検知データの最大値以降の所定期間の前記第1検知データと、当該所定期間の前記第2検知データとが、前記検知データ判断手段によって一致すると判断された場合に、前記第1ゲーム機と前記第2ゲーム機とを接続対象として設定することが好ましい。
上記の構成において、前記第1ゲーム機と前記第2ゲーム機とは、直接的に無線で通信を行うことが好ましい。
上記の構成において、前記第1ゲーム機が前記第2ゲーム機から受信する信号に基づいて、前記1ゲーム機の最も近くに存在する前記第2ゲーム機を検出する検出手段をさらに備え、前記第2検知データ認識手段は、前記検出手段によって検出された、前記第1ゲーム機の最も近くに存在する前記第2ゲーム機の動きを検知することが好ましい。
本発明の他の一態様によるゲームシステムは、第1ゲーム機の動きを検知する第1検知データ認識手段と、第2ゲーム機の動きを検知する第2検知データ認識手段と、前記第1検知データ認識手段によって検知される第1検知データと、前記第2検知データ認識手段によって検知される第2検知データとを比較する検知データ判断手段と、前記検知データ判断手段による、同じ時間内における前記第1検知データと前記第2検知データとの比較結果に基づいて、同時に振られたと判断された前記第1ゲーム機と前記第2ゲーム機とを接続対象として設定する接続確立手段と、を備えている。
本発明の他の一態様によるゲーム制御方法は、ゲームシステムに含まれるコンピュータが、第1ゲーム機の動きを検知する第1検知データ認識ステップと、第2ゲーム機の動きを検知する第2検知データ認識ステップと、前記第1ゲーム機が振られた又はスイングによって移動した場合に前記第1検知データ認識ステップによって検知される第1検知データと、前記第2ゲーム機が振られた又はスイングによって移動した場合に前記第2検知データ認識ステップによって検知される第2検知データとを比較する検知データ判断ステップと、前記検知データ判断ステップによって、前記第1検知データと前記第2検知データとの比較結果が一致すると判断された場合に、前記第1ゲーム機と前記第2ゲーム機とを接続対象として設定する接続確立ステップと、を実行する。
本発明の他の一態様によるプログラムは、コンピュータを上記の何れかの構成のゲームシステムとして動作させるためのプログラムであって、前記コンピュータを前記ゲームシステムが備えている各手段として機能させるためのプログラムである。