以下、本発明の実施の形態のゲーム機器について説明する。まず、本発明の実施の形態のゲーム機器による処理の概要を、図1に示す本発明の実施の形態のゲーム機器の位置関係を示す図を参照して、説明する。なお、本発明の実施の形態では、携帯型ゲーム機器について詳細に説明するが、この携帯型ゲーム機器を、複数の処理のうちの一つの処理としてゲームプログラムを実行する電子機器にも適用することができる。
ゲーム機器An、Bn、Cn(n=1、2、3)は、他のゲーム機器と無線通信を行う。ゲーム機器A2による他のゲーム機器との無線通信を例に挙げて、ゲーム機器An、Bn、Cnによる無線通信について説明する。ゲーム機器A2は、自端末の所在位置を中心とする伝送距離R1の範囲内(以下、第1エリアR1と称する)で無線通信を行うことができる無線通信機能と、自端末の所在位置を中心とする伝送距離R2の範囲内(以下、第2エリアR2と称する)で無線通信を行うことができる別の無線通信機能と、それぞれを備えている。
近年、様々なサービスに利用される各種データの送受信を実現するために、様々な通信方式による無線通信機能を備えた電子機器が普及しており、その中には通信方式の異なる複数の無線通信機能を備えた電子機器(例えば、携帯電話やノート型パソコンに代表される持ち運び可能な情報処理端末)が普及している。本発明の実施の形態のゲーム機器は、RFID(Radio frequency identification)、IrDA(Infrared Data Association)による赤外線通信、IEEE 802.11シリーズやWi−Fi(Wireless Fidelity)などの通信規格に代表される無線LAN通信、WiMAX(Worldwide Interoperability for Microwave Access)規格の無線通信、特定小電力無線通信、などの通信を実現する装置(あるいは、回路)が少なくとも2つ搭載されているものとする。なお、本発明の実施の形態のゲーム機器An、Bn、Cnを説明するにあたって、伝送距離10〜30〔m〕(第1エリアR1の伝送距離に相当)、伝送速度4.0〔Mbps〕、使用周波数帯2.4〔GHz〕のWi−Fi規格の無線通信機能と、伝送距離100〜300〔m〕(第2エリアR2の伝送距離に相当)、伝送速度9.6〔kbps〕、使用周波数帯426〔MHz〕の特定小電力無線通信機能と、を搭載しているものを例として挙げる。
Wi−Fi規格の無線通信機能と特定小電力無線通信機能とを備えるゲーム機器A2は、第1エリアR1内に存在する他のゲーム機器(図1では、A2を除くゲーム機器An、Bn、Cn)とはWi−Fi規格の無線通信機能および特定小電力無線通信機能のいずれか一方、または両方を利用して無線通信を行うことができ、第1エリアR1外かつ第2エリアR2内に存在する他のゲーム機器(図1では、ゲーム機器B1、B2、C1、C2、C3)とは特定小電力無線通信機能を利用して無線通信を行うことができる。なお、図1において、ゲーム機器間を結ぶ実線は、Wi−Fi規格の無線通信機能によって通信していることを表しており、一方、ゲーム機器間を結ぶ点線は、特定小電力無線通信機能によって通信していることを表している。
一方、A2を除くゲーム機器An、Bn、Cnは、グループA(A1およびA2)、グループB(B1、B2、B3)、グループC(C1、C2、C3)の3つのグループに分かれており、各グループ毎のゲーム機器間でWi−Fi規格の無線通信機能を利用して受信したプログラムまたは各種データを利用して、ゲームプログラムを実行している。ゲーム機器An、Bn、Cnは、Wi−Fi規格の無線通信に利用される周波数(チャネル)がグループA、グループB、グループC毎に異なるもの(グループAに属するゲーム機器はCH A、グループBに属するゲーム機器はCH B、グループCに属するゲーム機器はCH Cの周波数)に設定されている。以降の説明では、「グループ」との表現を、Wi−Fi規格の無線通信に利用される周波数が共通のものに設定されている、複数のゲーム機器によって構成される集合、と定義したものとして用いることにする。この結果、ある周波数によりWi−Fi規格の無線通信を利用しているゲーム機器B1、B2、B3およびゲーム機器C1、C2、C3は、グループBおよびグループCを構成することになり、一方、ゲーム機器A2は、Wi−Fi規格の無線通信に利用される周波数のうちの一つにより無線通信をしていることができれば、その周波数により特定されるグループに新たに参加したことになる。以下、いずれのグループにも参加していないゲーム機器A2が、ゲーム機器A1、A3により構成されるグループA内でのWi−Fi規格の無線通信に参加する際の、ゲーム機器A2による処理の概要を説明する。
ゲーム機器A2は、まず、第2エリアR2内での無線通信を実現する特定小電力無線通信機能を利用して、特定小電力無線通信用に他のゲーム機器が発信する、ゲーム機器毎に異なる周波数の電波に対してチャネルサーチを行う。そして、ゲーム機器A2は、他のゲーム機器An、Bn、Cn(ただし、A2は除く)がある周波数にて発信している電波を検知すると、その電波の電波強度に基づいて、ゲーム機器A2と他のゲーム機器An、Bn、Cnそれぞれとの距離(図1における点線の長さに該当)を算出し、その距離から他のゲーム機器An、Bn、Cnが第1エリアR1内に存在しているか否かを判定する。
ゲーム機器A2は、第1エリアR1内に存在していると判定したゲーム機器A1、A3、B1と特定小電力無線通信による通信を行い、ゲーム機器A1、A3、B1が属するグループがWi−Fi規格の無線通信に利用している周波数に関する情報を受信する。そして、ゲーム機器A2は、その周波数に関する情報により、グループAを識別して、ゲーム機器A1、A3との間でのWi−Fi規格の無線通信を行うことになる。一方、ゲーム機器B1が属するグループBもまた、ゲーム機器A2がWi−Fi規格の無線通信を行う候補となるが、グループBに属するゲーム機器B2、B3が第1エリアR1外に存在しているため、ゲーム機器A2は、グループBとの間でのWi−Fi規格の無線通信を行わない。
従来のゲーム機器では、複数台の他のゲーム機器がWi−Fi規格の無線通信により送受信するデータを基に共通のゲームプログラムを実行している場合に、それらの複数台の他のゲーム機器により実行されているゲームに参加するためには、Wi−Fi規格の無線通信のみによってその処理を行う必要があったため、その処理に時間がかかったり、ゲームプログラムの実行に先立って他のゲーム機器に関する情報を登録しておく必要があり、ゲーム機器利用者は快適に複数人との間でゲームを楽しむことができなかった。
本発明の実施の形態のゲーム機器によれば、複数台の他のゲーム機器がWi−Fi規格の無線通信により送受信するデータを基に共通のゲームプログラムを実行している場合に、それらの複数台の他のゲーム機器との距離がWi−Fi規格の無線通信の通信可能圏内にあれば、特定小電力無線通信を利用して受信した、Wi−Fi規格の無線通信を行うために必要な情報を基にWi−Fi規格の無線通信を行うため、それらの複数台の他のゲーム機器により実行されているゲームに簡易に参加することができる。以下、本発明の実施の形態のゲーム機器をいくつかの実施形態に分けて、より詳細に説明する。
(第1実施形態)
以下、本発明の第1実施形態のゲーム機器について説明する。図2に、本発明の第1実施形態のゲーム機器の機能ブロック図を示す。本発明の第1実施形態のゲーム機器は、ゲーム処理ユニット10、第1無線通信ユニット11、第2無線通信ユニット12、を含んで構成される。また、本発明の第1実施形態のゲーム機器は、カートリッジ13を挿抜可能な構造を有しており、ゲーム毎に異なるプログラムおよびデータが記憶されたカートリッジ13を差し替えることができる。
ゲーム処理ユニット10は、CPU、ブートROM、LCDコントローラ、ワーキングRAM、ビデオRAMなどによって構成される制御装置101、液晶表示パネル(LCD)102、操作キー103、スピーカ104、データ入力用インタフェース105を含んでいる。制御装置101は、LCD102への表示出力制御、操作キー103により受け付けた操作の検出、スピーカ104への音出力制御、カートリッジ13からのデータの入力制御、第1無線ユニット11および第2無線ユニットによって受信したデータを入力したり、第1無線ユニット11および第2無線ユニットによって送信すべきデータを出力する無線通信制御を行う。
具体的には、制御装置101は、ゲーム処理ユニット10に装着されたカートリッジ13が備えるROMおよびRAMに電気的に接続され、カートリッジ13からプログラムやデータを読み取り、制御装置101が備えるブートROMに起動用プログラムを記憶する。カートリッジ13が装着された制御装置101は、ブートROMに記録された起動用プログラムを実行し、カートリッジ13から読み出したプログラムやデータに基づいてデータ処理を実行する。さらに制御装置101は、操作キー103からの操作入力を受け付けた場合にはその操作入力を反映したデータ処理を実行し、処理中のデータをワーキングRAMに記憶させ、また画像データをビデオRAMに記憶させる。制御装置101は、ワーキングRAMおよびビデオRAMに記憶された表示用データを用いてLCD102に画像を表示させるようLCDコントローラを制御し、また、プログラム処理した結果生じる音出力用データをスピーカ104に出力させる。さらに、制御装置101は、ワーキングRAMに記憶されたデータを第1無線ユニット11や第2無線ユニットに出力して、他のゲーム機器に送信させる、あるいは、第1無線ユニット11や第2無線ユニットが他のゲーム機器から受信したデータを入力して、そのデータをワーキングRAMに記憶させ、そのワーキングRAMに記憶されたデータを処理中のプログラムに利用する。
第1無線通信ユニット11は、ベースバンドIC111、ROM(Read Only Memory)112、およびRF−IC(Radio Frequency IC)113を含んで構成される。第1無線通信ユニット11は、受信したデータをゲーム処理ユニット10に出力し、また送信すべきデータをゲーム処理ユニット10から入力する。第1無線通信ユニット11の処理を具体的に説明すると、ベースバンドIC111は、ゲーム処理ユニット10から他のゲーム機器に送信すべきデータを入力すると、そのデータをエンコードしてRF−IC113に出力する。RF−IC113は、ベースバンドIC111から入力したデータによって、無線通信に利用する搬送波を変調した電波をアンテナから送信する。一方、RF−IC113は、他のゲーム機器から送信された所定の周波数帯の電波をアンテナを介して受信すると、その電波を復調し、復調した信号をベースバンドIC111に出力する。ベースバンドIC111は、入力した信号をデコードし、デコードして得られたデータをゲーム処理ユニット10に出力する。また、ROM112には、ゲーム処理ユニット10によりあるゲームプログラムを実行する場合に、同ゲームプログラムを実行する複数台のゲーム機器を識別する識別IDや、複数台のゲーム機器に割り当てられるスロット番号を記憶する(識別IDおよびスロット番号については、後述する。)。なお、本発明の第1実施形態では、第1無線通信ユニット11は、Wi−Fi規格の無線通信機能を実現するものとする。
第2無線通信ユニット12は、ベースバンドIC121、ROM(Read Only Memory)122、およびRF−IC(Radio Frequency IC)123を含んで構成される。第2無線通信ユニット12は、受信したデータをゲーム処理ユニット10に出力し、また送信すべきデータをゲーム処理ユニット10から入力する。第2無線通信ユニット12におけるベースバンドIC121、ROM122、およびRF−IC123の処理は、第1無線通信ユニット11における同一名称の部材とほぼ同様であるが、ROM122は特に、無線認証に用いる自端末の識別IDおよび無線認証のためにペアリングされた相手端末の識別IDをさらに記憶している(これらの識別IDは、第1無線通信ユニット11のROM112に記憶される識別IDと共通)。第2無線通信ユニット12は、特定小電力無線通信機能を実現するものとする。
なお、本発明の第1実施形態のゲーム機器では、ROM122に記憶させる自端末の識別IDおよび相手端末の識別IDは、例えば、あるゲームプログラムを提供するカートリッジ13を購入した利用者にのみ割り当てられるIDであって、本発明のゲーム機器は、この識別IDを記憶しておくことにより、カートリッジ13を購入した複数の利用者の間で、そのカートリッジ13により提供されるゲームプログラムに必要なデータを共有化し、多人数参加型のゲームを利用者に提供することができる。
カートリッジ13は、ROMおよびRAMを備え、ROMにはゲームプログラム、そのゲームプログラムに利用する各種データが記憶され、RAMにはゲーム処理ユニット10によってゲームプログラムを実行することにより生じるデータが一時的に記憶される。
次に、本発明の第1実施形態のゲーム機器によるゲームプログラム実行時にゲーム処理ユニット10がWi−Fi規格の無線通信によって送受信するデータのデータ構造について、図3(a)に示す、本発明の第1実施形態のゲーム機器がWi−Fi規格の無線通信に用いるデータのデータ構造を参照して説明する。
ゲーム処理ユニット10の制御装置101は、第1無線通信ユニット11のベースバンドIC111からデータを入力すると、所定のデータサイズによって1つのデータ群を形成する、同期スロットを先頭のスロットとした1フレームを抽出する。1つのフレームは、同期スロット、スロット1、スロット2、スロット3、…、スロットn、および制御スロットにより構成される。同期スロットは、あるゲームプログラムを同時期に実行している複数台のうちのあるゲーム機器が、その複数台のうちの他のゲーム機器と時分割してデータを送受信するために同期を取るためのスロットである。スロット1からスロットnは、各スロットごとに、あるゲームプログラムを同時期に実行している複数台のゲーム機器が割り当てられており、主にゲームプログラム実行時にそのゲームの進行に関わるデータが格納されている。制御スロットには、既にゲーム機器に割り当て済みのスロット番号(スロット番号は、上述のnに対応する)や、スロット1、2…nとゲーム機器を識別するIDとの対応テーブルが、データとして格納されている。
一方、ゲーム処理ユニット10の制御装置101は、他のゲーム機器にデータを送信すべく第1無線通信ユニット11のベースバンドIC111にデータを出力する場合には、1フレームのうちの、同期スロット、自身のゲーム機器に割り当てられたスロットn、および制御スロットの期間毎に、それぞれ対応するデータをベースバンドIC111に出力する。
例えば、ゲーム機器A1、A3により構成されるグループA内(周波数CH A)で、スロット1が割り当てられたゲーム機器A1と、スロット3が割り当てられたゲーム機器A3がWi−Fi規格の無線通信を行って時分割したデータを送受信する場合の処理について説明する。ゲーム機器A1は、1フレームのうちの、同期スロット、スロット1、および制御スロットの期間にはそれぞれのスロットに対応するデータを送信し、それ以外のスロット(スロット2、3、・・・n)の期間は他のゲーム機器から送信されるデータを受信する。同様に、ゲーム機器A3も、1フレームのうちの、同期スロット、スロット3、および制御スロットの期間にはそれぞれのスロットに対応するデータを送信し、それ以外のスロット(スロット1、2、4、・・・n)の期間は他のゲーム機器から送信されるデータを受信する。
また、本発明の第1実施形態のゲーム機器によるゲームプログラム実行時にゲーム処理ユニット10が特定小電力無線通信によって送受信するデータのデータ構造について、図3(b)に示す、本発明の第1実施形態のゲーム機器が特定小電力無線通信に用いるデータのデータ構造を参照して説明する。
ゲーム処理ユニット10の制御装置101は、第2無線通信ユニット12のベースバンドIC121からデータを入力すると、所定のデータサイズによって1つのデータ群を形成する、同期スロットを先頭のスロットとした1フレームを抽出する。1つのフレームは、同期スロット、スロット1、スロット2、スロット3、…、スロットn、および制御スロットにより構成される。同期スロットは、あるゲームプログラムを同時期に実行している複数台のうちのあるゲーム機器が、その複数台のうちの他のゲーム機器と時分割してデータを送受信するために同期を取るためのスロットである。スロット1からスロットnは、各スロットごとに、あるゲームプログラムを同時期に実行している複数台のゲーム機器が割り当てられており、主にそのゲームの概要(例えば、名称、ゲームのルール、参加可能人数などの、そのゲームへの参加をまだ参加していないユーザに促すための情報)に関するデータが格納されている。制御スロットには、既にゲーム機器に割り当て済みのスロット番号(スロット番号は、上述のnに対応する)、スロット1、2…nとゲーム機器を識別する識別IDとの対応テーブル、およびその送信元のゲーム機器があるグループに属している場合にそのグループを特定する周波数(チャネル)が、少なくとも格納されている。
一方、ゲーム処理ユニット10の制御装置101は、他のゲーム機器にデータを送信すべく第2無線通信ユニット12のベースバンドIC121にデータを出力する場合には、1フレームのうちの、同期スロット、自身のゲーム機器に割り当てられたスロットn、および制御スロットの期間毎に、それぞれ対応するデータをベースバンドIC121に出力する。
例えば、グループAに属する、スロット1が割り当てられたゲーム機器A1とスロット3が割り当てられたゲーム機器A3が特定小電力無線通信を行って時分割したデータを送受信する場合の処理について説明する。なお、グループAに参加しているゲーム機器は、周波数「CH A」にてWi−Fi規格の無線通信を行うと共に、周波数「CH 1」にて特定小電力無線通信を行うものとする。ゲーム機器A1は、1フレームのうちの、同期スロット、スロット1、および制御スロットの期間にはそれぞれのスロットに対応するデータを周波数「CH 1」の特定小電力無線通信により送信し、それ以外のスロット(スロット2、3、・・・n)の期間は周波数「CH 1」の特定小電力無線通信により他のゲーム機器から送信されるデータを受信する。同様に、ゲーム機器A3も、1フレームのうちの、同期スロット、スロット3、および制御スロットの期間にはそれぞれのスロットに対応するデータを周波数「CH 1」の特定小電力無線通信により送信し、それ以外のスロット(スロット1、2、4、・・・n)の期間は周波数「CH 1」の特定小電力無線通信により他のゲーム機器から送信されるデータを受信する。特に、ゲーム機器A1は、グループAを特定する周波数(CH A)が格納された制御スロットを含むフレームを特定小電力無線通信により送信する。
[グループ形成処理]
以上のようなWi−Fi規格の無線通信および特定小電力無線通信によりデータを送受信するゲーム機器であって、いずれのグループにも参加していないゲーム機器A2が、Wi−Fi規格の無線通信に参加する際の処理について、図1および図4を参照して説明する。図4に、本発明の第1実施形態のゲーム機器による、Wi−Fi規格の無線通信を利用したゲームプログラムを実行するまでの処理フローを示す。なお、図1において、グループAに属するゲーム機器A1、A3は周波数「CH 1」にて特定小電力無線通信を行い、グループBに属するゲーム機器B1、B2、B3は周波数「CH 2」にて特定小電力無線通信を行い、グループCに属するゲーム機器C1、C2、C3は周波数「CH 3」にて特定小電力無線通信を行うものとする。
電源を投入されたゲーム機器A2は、まず、第2無線通信ユニットを起動して、特定小電力無線通信用に他のゲーム機器が発信する、グループ毎に異なる周波数の電波に対してチャネルサーチを行う(ステップ401)。そして、ゲーム機器A2は、特定小電力無線に用いられる周波数帯域において発信している電波を検知できなかった場合(つまり、特定小電力無線通信圏内(第2エリアR2内)に他のゲーム機器An、Bn、Cnが存在しない場合。ステップ402、N)、自身(ゲーム機器A2)のみによって形成されるグループAを生成すべく、自身(ゲーム機器A2)が割り当てられ、ゲームの概要に関するデータが格納されたスロット2、およびグループAを特定する周波数(CH A)が格納された制御スロット、を含むフレームを周波数CH 1の特定小電力無線通信により送信を開始する(ステップ403)。なお、「グループ」との表現を、Wi−Fi規格の無線通信に利用される周波数が共通のものに設定されている、複数のゲーム機器によって構成される集合、と定義したが、別のゲーム機器と新たな集合を生成すべく、Wi−Fi規格の無線通信に利用される周波数を特定のものに設定している1台のゲーム機器もまた、「グループ」との表現に含むものとする。
一方、ゲーム機器A2は、他のゲーム機器An、Bn、Cn(ただし、A2は除く)がある周波数「CH 1」、「CH 2」、「CH 3」にて発信している電波を検知すると(ステップ402、Y)、検知したその周波数の電波を発信する各ゲーム機器との間で特定小電力無線通信を開始する(ステップ404)。ここで、ステップ401、ステップ402およびステップ404において、ゲーム機器A2と、ゲーム機器A1、A3がそれぞれ行う処理について具体的に説明する。
まず、ゲーム機器A2は、特定小電力無線に用いる無線電波の周波数をある間隔で切り替えながら、定期的にサーチ信号を送信する。周波数「CH 1」にて特定小電力無線通信を行うことが設定されているゲーム機器A1、A3は、ゲーム機器A2から周波数「CH 1」の無線電波により送信されたサーチ信号を受信すると、周波数「CH 1」の無線電波によりサーチ応答を送信する。ゲーム機器A2は、ある周波数の無線電波によりサーチ信号を送信した後、ある時間間隔以内に同じ周波数の無線電波により送信されたサーチ応答を受信すると、その周波数が特定小電力無線通信を行うことができるものと判別する(ステップ402、Y)。同様に、ゲーム機器A2は、その他の周波数「CH 2」、「CH 3」の無線電波によりサーチ信号を送信し、他のゲーム機器Bn、Cn(n=1、2、3)からサーチ応答を受信することになる。一方、ゲーム機器A2は、ある周波数の無線電波によりサーチ信号を送信した後、ある時間間隔以内に同じ周波数の無線電波により送信されたサーチ応答を受信しなければ、別の周波数の無線電波によりサーチ信号を送信し、以後、この処理を特定小電力無線に用いる周波数帯域にて行う。ゲーム機器A2は、いずれの周波数の無線電波によりサーチ信号を送信してもサーチ応答を受信しない場合には、特定小電力無線を行うことができるゲーム機器が存在しないと判別して(ステップ402、N)、ステップ403の処理に移行することになる。
ステップ402の処理の後、ゲーム機器A2は、特定小電力無線通信を行うことができると判別した周波数のうちの1つの無線電波により通信接続要求を送信する。ゲーム機器A2が、例えば、周波数「CH 1」の無線電波により通信接続要求を送信すると、通信接続要求を受信したゲーム機器A1、A3は、制御スロットに格納されたデータを参照して、ゲーム機器に新たに割り当て可能なスロット番号の有無を判定し、新に割り当て可能なスロットが有れば通信接続許可を周波数「CH 1」の無線電波により送信する。その後、ゲーム機器A2は、無線通信を確立するための既存の各種処理を実施した後、ゲーム機器A1およびゲーム機器A3との間で特定小電力無線による通信を確立する(ステップ404)。無線通信を確立するための既存の各種処理の一例としては、ゲーム機器A2は、ゲーム機器A1、A3から送信される特定小電力無線によるフレームを受信し、そのフレームの制御スロットに格納された、既にゲーム機器に割り当て済みのスロット番号を読み取り、まだ割り当てられていないスロット番号を特定する。そして、ゲーム機器A2は、まだ割り当てられていないスロット番号のうちの任意の1つのスロットに通信接続要求信号を格納したフレームを生成し、送信する。ゲーム機器A2は、グループAに属する他のゲーム機器A1、A3の全てから、ゲーム機器A2が通信接続要求信号を送信する際に利用したスロットに確認信号(ACK)が格納され、かつ、制御スロットにそのスロット番号とゲーム機器A2の識別IDとの対応が追加して格納されたフレームを受信すると、特定小電力無線による通信が確立したことになる。
ステップ404の処理の後、ゲーム機器A2は、ゲーム機器A1およびゲーム機器A3それぞれからフレームを受信し、そのフレームに含まれる制御スロットを抽出して(ステップ405)、ゲーム機器A2による特定小電力無線通信圏内において、周波数「CH A」のチャネルでのWi−Fi規格の無線通信を利用したゲームプログラムが、周波数「CH 1」にて特定小電力無線通信を実施している他のゲーム機器にて実行されていることを認識する(ステップ406)。さらにゲーム機器A2は、ゲーム機器A1およびゲーム機器A3が送信するフレームのうち、スロット1およびスロット3を送信する時の電波の受信強度を測定して、ゲーム機器A2とゲーム機器A1との距離およびゲーム機器A2とゲーム機器A3との距離をそれぞれ区別して算出する(ステップ407)。ゲーム機器A2による、ゲーム機器A1、A3との距離を算出する処理の一例としては、第2無線通信ユニット12のRF−IC123が検出した、他のゲーム機器An、Bn、Cn(ただし、A2は除く)が所定の周波数にて発信している電波の受信強度をゲーム処理ユニット10の制御装置101に出力させ、その制御装置101が受信強度と距離との対応テーブルを基にゲーム機器A1およびゲーム機器A3との距離を算出する。
また、ゲーム機器A2は、ステップ404からステップ407の処理を、ゲーム機器Bnおよびゲーム機器Cnに対しても行う。すなわち、ゲーム機器A2が、周波数「CH 2」または「CH 3」の無線電波により通信接続要求を送信すると、通信接続要求を受信したゲーム機器Bnまたはゲーム機器Cnは、制御スロットに格納されたデータを参照して、ゲーム機器に新に割り当て可能なスロット番号の有無を判定し、新に割り当て可能なスロットが有れば通信接続許可を周波数「CH 2」または「CH 3」の無線電波により送信する。その後、ゲーム機器A2は、無線通信を確立するための既存の各種処理を実施した後、ゲーム機器Bnとの間、またはゲーム機器Cnとの間で特定小電力無線による通信を確立する(ステップ404)。ステップ404の処理の後、ゲーム機器A2は、ゲーム機器Bnのそれぞれまたはゲーム機器Cnのそれぞれからフレームを受信し、そのフレームに含まれる制御スロットを抽出して(ステップ405)、ゲーム機器A2による特定小電力無線通信圏内において、周波数「CH B」または「CH C」のチャネルでのWi−Fi規格の無線通信を利用したゲームプログラムが、周波数「CH 2」または「CH 3」にて特定小電力無線通信を実施している他のゲーム機器にて実行されていることを認識する(ステップ406)。さらにゲーム機器A2は、ゲーム機器Bnのそれぞれおよびゲーム機器Cnのそれぞれが送信するフレームのうち各ゲーム機器に割り当てられたスロットを送信する時の電波の受信強度を測定して、ゲーム機器A2とゲーム機器Bnそれぞれとの距離およびゲーム機器A2とゲーム機器Cnそれぞれとの距離を算出する(ステップ407)。
ゲーム機器A2は、「CH 1」、「CH 2」、「CH 3」の各周波数毎に、算出した他のゲーム機器との距離のうちの最長のもの(つまり、受信強度の最も弱いもの)が、Wi−Fi規格の無線通信範囲(第1エリアR1)より小さいか否かを判定する(ステップ408)。ゲーム機器A2は、例えば「CH 1」の場合、算出したゲーム機器A1およびゲーム機器A3との距離のうちの最長のものが、Wi−Fi規格の無線通信範囲(第1エリアR1)より小さいか否かを判定する(ステップ408)。ゲーム機器A2は、最長の距離がWi−Fi規格の無線通信範囲(第1エリアR1内)よりも大きければ(つまり、あるグループに属するゲーム機器の中に、ゲーム機器A2とWi−Fi規格の無線通信を行うことができないゲーム機器が一台でもある場合。ステップ408、N)、「CH 1」により特定されるグループとWi−Fi規格の無線通信を行うことができない旨やその最大距離をLCD102に表示して(ステップ409)、再度Wi−Fi規格の無線通信範囲(第1エリアR1)より大きいか否かを判定する(ステップ408)。一方、ゲーム機器A2は、最長の距離がWi−Fi規格の無線通信範囲(第1エリアR1内)よりも小さければ(つまり、あるグループに属するゲーム機器の中に、ゲーム機器A2とWi−Fi規格の無線通信を行うことができないものがない場合。ステップ408、Y)、「CH 1」により特定されるグループとWi−Fi規格の無線通信を行うことができる旨をLCD102に表示して、そのグループへの参加を促す。なお、ゲーム機器A2は、Wi−Fi規格の無線通信を行うことができるグループが複数あれば、いずれか1つのグループを選択を促す画面を表示する。
ゲーム機器A2は、Wi−Fi規格の無線通信に行うことができるグループがWi−Fi規格の無線通信に用いている周波数からいずれか1つのチャネルを選択すると(ステップ410)、第1無線通信ユニット11を起動して、その周波数を用いてWi−Fi規格の無線通信を行っているゲーム機器とのWi−Fi規格の無線通信を開始する(ステップ411)。
なお、ステップ407、ステップ408およびステップ410の一連の処理では、ゲーム機器A2は、ゲーム機器A2と特定小電力無線通信可能な範囲に存在するゲーム機器との距離を算出した後(ステップ407)、ゲーム機器A2とWi−Fi規格の無線通信を行うことができる範囲内に全てのゲーム機器が存在しているグループがあれば、そのグループにて実施されているゲームに参加できる旨を通知して、そのグループが選択されるすることになるが(ステップ410)、ステップ407とステップ410の順序が逆であっても構わない。
すなわち、ゲーム機器A2は、特定小電力無線通信圏内において、周波数「CH A」、「CH B」、「CH C」のチャネルでのWi−Fi規格の無線通信を利用したゲームプログラムが実行されていることを認識すると(ステップ406)、周波数「CH A」、「CH B」、「CH C」のチャネルからいずれか1つのチャネルを選択することを促す画面を表示して、(ステップ410)、その選択されたチャネルが制御スロットに格納されたフレームを送信したゲーム機器との距離を算出する(ステップ407)。例えば、ゲーム機器A2は、周波数「CH A」を選択した場合、A1、A3それぞれとの距離を算出する(ステップ407)。ゲーム機器A2とWi−Fi規格の無線通信を行うことができる範囲内に、周波数「CH A」により特定されるグループAのゲーム機器A1およびA3が存在していれば(ステップ408、Y)、ゲーム機器は、第1無線通信ユニット11を起動して、その周波数を用いてWi−Fi規格の無線通信を行っているゲーム機器とのWi−Fi規格の無線通信を開始する(ステップ411)。一方、ゲーム機器A2とWi−Fi規格の無線通信を行うことができる範囲内に、周波数「CH A」により特定されるグループAのゲーム機器A1およびA3が存在していなければ(ステップ408、N)「CH A」により特定されるグループAとWi−Fi規格の無線通信を行うことができない旨やその最大距離をLCD102に表示して(ステップ409)、再度、周波数「CH B」、「CH C」のチャネルからいずれか1つのチャネルを選択することを促す画面を表示して、(ステップ410)、その選択されたチャネルが制御スロットに格納されたフレームを送信したゲーム機器との距離を算出する(ステップ407)。
どちらの処理であっても、これから参加しようとしてるゲーム機器を中心とするWi−Fi規格の無線通信可能範囲内に、あるグループに属する全てのゲーム機器が存在していれば、参加しようとしてるゲーム機器は、そのグループに参加することができる。
ステップ411の処理を、図5に示す、本発明の第1実施形態のゲーム機器における、Wi−Fi規格の無線通信開始時の処理フローを参照して、詳細に説明する。ここでは、ゲーム機器A2がグループAに属するゲーム機器A1、A3との間でWi−Fi規格の無線通信を開始する処理について説明する。ゲーム機器A2は、第1無線通信ユニット11を起動すると、ステップ410の処理で選択した周波数「CH A」に周波数を合わせてWi−Fi規格のフレームを受信する(ステップ501)。そして、ゲーム機器A2は、そのフレームの制御スロットに格納された、既にゲーム機器に割り当て済みのスロット番号を読み取り(ステップ502)、まだ割り当てられていないスロット番号を特定する(ステップ503)。そして、ゲーム機器A2は、まだ割り当てられていないスロット番号のうちの任意の1つのスロットにグループ参加信号(周波数「CH A」により特定されるグループに参加することを要求する信号)を格納したフレームを生成し(ステップ504)、第1無線通信ユニット11に送信させる(ステップ505)。ゲーム機器A2は、グループAに属する他のゲーム機器A1、A3の全てから、ゲーム機器A2がグループ参加信号を送信する際に利用したスロットに確認信号(ACK)が格納され、かつ、制御スロットにそのスロット番号とゲーム機器A2の識別IDとの対応が追加して格納されたフレームを受信すると(ステップ506、Y)、グループAへの新規ゲーム機器の追加処理が完了したことになる。その後、ゲーム機器A2は、グループAに属するゲーム機器A1、A3との間でWi−Fi規格の無線通信機能を利用して受信したプログラムまたは各種データを利用して、ゲームプログラムを実行することになる(ステップ412。以下、あるゲーム機器が、あるグループに属する他のゲーム機器との間でWi−Fi規格の無線通信機能を利用して受信したプログラムまたは各種データを利用して、ゲームプログラムを実行している状態を「対戦モード」と称する)。
なお、[グループ形成処理]では、ゲーム機器A2が既に形成されたグループA、B、Cのいずれかに参加する処理を行うために、各グループに属するゲーム機器それぞれと特定小電力無線通信により通信を行うように説明した。しかし、ゲーム機器A2は、各グループに属するゲーム機器の少なくとも1機との間で特定小電力無線通信により通信を行い、制御スロットに格納されたデータを参照してそのグループがWi−Fi規格の無線通信に用いている周波数を特定できればよい。このとき、ゲーム機器A2は、図4におけるステップ403の処理のように、そのグループを最初に形成したゲーム機器や親機となるゲーム機器との間でのみ特定小電力無線通信により通信を行うことが好ましい。
[グループ離脱処理]
次に、ステップ412の処理によって対戦モードに移行したゲーム機器A2が、ゲームプログラムの実行を終了して、参加していたグループから離脱するときの処理について説明する。図6に、本発明の第1実施形態のゲーム機器による、対戦モード終了時の処理フローを示す。対戦モードに移行したゲーム機器A2は、グループAを特定する周波数「CH A」を制御スロットに格納したフレームを生成し(ステップ601)、対戦モードを実行するためのWi−Fi規格の無線通信と並行して、その生成したフレームを特定小電力無線通信にて送信する(ゲーム機器A2は周波数CH 2の特定小電力無線通信により送信する。ステップ602)。ゲーム機器A2は、対戦モードにある期間中(ステップ603、N)、このフレームを特定小電力無線通信にて送信し続ける。これにより、ゲーム機器A2から特定小電力無線にて送信されたフレームを受信した他のゲーム機器によって、ゲーム機器A2は、グループAに属するゲーム機器との間で対戦モードにあることを認識され続けることになる。
その後、ゲーム機器A2は、ゲームプログラムの実行を終了する操作を操作キー103により受け付けると(ステップ603、Y)、対戦モード時に属していたグループを離脱することになる。グループを離脱するときのゲーム機器A2の処理は、以下の通りである。すなわち、ゲーム機器A2は、対戦モード時に利用していたスロットにグループ離脱信号(周波数「CH A」により特定されるグループから離脱することを要求する信号)を格納したフレームを生成し(ステップ604)、第1無線通信ユニット11に送信させる(ステップ605)。ゲーム機器A2は、グループAに属する他のゲーム機器A1、A3の全てから、グループ離脱信号を送信する際に利用したスロットに確認信号(ACK)が格納され、かつ、制御スロットにそのスロット番号とゲーム機器A2の識別IDとが削除された対応テーブルが格納されたフレームを受信し(ステップ606、Y)、さらに、特定小電力無線通信によるフレームの送信を終了すると(ステップ607)、グループAからの離脱処理が完了したことになる(対戦モードの終了)。その後、ゲーム機器A2は、再度対戦モードに移行する場合には、ステップ401からステップ412の処理を実行することになる。
以上、本発明の第1実施形態のゲーム機器によれば、あるゲーム機器が、複数の他のゲーム機器により構成される、既に対戦モードにあるグループに、新たに参加し、そのグループ内で共通のゲームプログラムを実行する場合に、対戦モード中の他のゲーム機器がWi−Fi規格の無線通信に利用している所定の周波数を特定小電力無線通信にて受信し、その周波数を基にして同グループに参加する。このため、ゲーム機器利用者は、特定小電力無線通信圏内において対戦モードにある、不特定の他のゲーム機器により構成されるグループを検出し、そのグループのWi−Fi規格の無線通信圏内に入れば自動的に参加してゲームプログラムを実行することができるため、従来のようにグループに参加する(あるいは新たなグループを形成する)ためにグループ参加者が行っていた操作を簡素化することができる。
(第2実施形態)
次に、本発明の第2実施形態のゲーム機器について詳細に説明する。第1実施形態のゲーム機器では、あるグループに属しているゲーム機器は、図3(b)の特定小電力無線のデータ構造に示す、そのグループを特定する周波数(チャネル)が格納されている制御スロットを用いてグループを形成、あるいはグループから離脱する処理について説明した。第2実施形態のゲーム機器では、第1実施形態では用途を言及していなかった、図3(b)のデータ構造におけるスロットn(n=1、2、・・・)を効果的に利用することにより、ゲーム機器利用者によるグループの形成を円滑に進めることができる構成について詳細に説明する。なお、第2実施形態でも、グループAを構成するゲーム機器A1、A2、A3による処理を1例に挙げて説明する。
第1実施形態の[グループ形成処理]を経て対戦モードに移行したゲーム機器は、ステップ601の処理において、グループAを特定する周波数「CH A」を制御スロットに格納し、さらに、対戦モード中に実行している一部のデータをスロットnに格納したフレームを生成する。対戦モード中に実行している一部のデータとは、操作キー103からの操作入力を受け付けてゲームプログラムを実行した結果得られるデータ(パラメータ)や、制御装置101のワーキングRAMおよびビデオRAMに記憶された表示用データなどの、対戦モード中のゲーム機器によるある時点でのゲームプログラムの演算結果を指す。このとき、この演算結果は、ゲームプログラムのゲーム内容の特徴を表す、画像データやスコアなどであることが好ましい。第2実施形態のゲーム機器は、グループAを特定する周波数「CH A」を制御スロットに格納し、さらにゲームプログラムのゲーム内容の特徴を表すデータをスロットnに格納したフレームを生成し、その生成したフレームを特定小電力無線により送信する。
続いて、いずれのグループにも参加していないゲーム機器A2が、上述のゲームプログラムのゲーム内容の特徴を表すデータを利用して、Wi−Fi規格の無線通信に参加する際の処理について、図1および図7を参照して説明する。図7に、本発明の第2実施形態のゲーム機器による、Wi−Fi規格の無線通信を利用したゲームプログラムを実行するまでの処理フローを示す。なお、図4の処理フローと同様の参照符号を割り当てている処理は、第1実施形態で説明したとおりであるため、説明を省略する。
ゲーム機器A2は、他のゲーム機器An、Bn、Cn(ただし、A2は除く)がある周波数にて発信している電波を検知すると(ステップ402、Y)、検知したその周波数にて各ゲーム機器との間で特定小電力無線通信を行い(ステップ404)、他のゲーム機器An、Bn、Cnそれぞれからフレームを受信する(ステップ405)。ゲーム機器A2は、受信したフレームの制御スロットから対戦モードにあるグループを特定する周波数「CH A」、「CH B」、「CH C」を抽出すると伴に、同フレームのスロットnからゲームプログラムのゲーム内容の特徴を表す画像データを抽出する(ステップ701)。
そして、ゲーム機器A2は、抽出した周波数「CH A」、「CH B」、「CH C」毎に、その周波数を抽出したフレームと同一のフレームから抽出した画像データとを対応させてLCD102に表示し、これらの周波数の1つを選択するよう促す(ステップ702)。図8に、対戦モードにあるグループを特定する周波数とゲームプログラムのゲーム内容の特徴を表す画像データとを表示した表示例を示す。ゲーム機器A2は、図1に示す位置関係に他のゲーム機器An、Bn、Cnが存在する場合、ゲーム機器A1、A2、B1、B2、B3、C1、C2、C3それぞれから受信したフレームから、周波数と画像データを抽出することになるが、図8のように周波数と画像データを表示する際には、周波数「CH A」に対応する画像データとしてはゲーム機器A1、A2のいずれか1つから受信した画像データ(図8の表示例では、グループAにおいて実施中のゲーム「SOCCER GAME」の概要を表示している)を表示させ、周波数「CH B」に対応する画像データとしてはゲーム機器B1、B2、B3のいずれか1つから受信した画像データ(図8の表示例では、グループBにおいて実施中のゲーム「オセロ GAME」の概要を表示している)を表示させ、周波数「CH C」に対応する画像データとしてはゲーム機器C1、C2、C3のいずれか1つから受信した画像データ(図8の表示例では、グループCにおいて実施中のゲーム「麻雀」の概要を表示している)を表示させる。また、図8では、周波数「CH A」、「CH B」、「CH C」の表示領域をカーソル81が操作キー103の操作に応じて可動し、いずれか1つの周波数を選択するようになっている。
ステップ702の処理のように、ゲーム機器A2は、ゲーム機器A2近辺にて対戦モードにある他のグループA、B、Cからゲームの内容やゲームの進行状況を特定できるデータを受信することにより、利用者はそのデータを確認してからいずれのグループに参加するかを選択することができるため、利用者にとって最もゲームを楽しむことができるグループに参加することが可能となる。
さらにゲーム機器A2は、他のゲーム機器An、Bn、Cnのそれぞれが送信するフレームのうち各ゲーム機器に割り当てられたスロットを送信する時の電波の受信強度を測定して、ゲーム機器A2と他のゲーム機器それぞれとの距離を算出する(ステップ407)。
ゲーム機器A2は、「CH 1」、「CH 2」、「CH 3」の各周波数毎に、算出した他のゲーム機器との距離のうちの最長のもの(つまり、受信強度の最も弱いもの)が、Wi−Fi規格の無線通信範囲(第1エリアR1)より小さいか否かを判定する(ステップ408)。そして、ゲーム機器A2は、あるグループに属するゲーム機器との最長の距離がWi−Fi規格の無線通信範囲(第1エリアR1内)よりも小さいグループに対応する1つの周波数が選択されると(ステップ408、Y、かつ、ステップ703、Y)、その後、ゲーム機器A2は、ステップ411からステップ412の処理を行うことになる。
一方、ステップ703の処理において、いずれの周波数も選択されないことも想定される(ステップ703、N)。このような場合、ゲーム機器A2は、ステップ403の処理を行うか否かをLCD102に表示し(ステップ704)、自身(ゲーム機器A2)のみによって新たなグループを形成する旨の操作を受け付けると(ステップ704、Y)、ステップ403の処理を実行する。一方、ゲーム機器A2は、グループを形成しない旨の操作を受け付けると(ステップ704、N)、ステップ405およびステップ701の処理を再度実行し、周波数「CH A」、「CH B」、「CH C」毎に画像データを更新し、LCD102に表示する(ステップ702)。このように、対戦モードに移行せずにステップ405移行の処理を繰り返し行い、特定小電力無線により受信した、対戦モード中の他のゲーム機器から送られてくる最新の画像データ(ゲーム内容の特徴を表すデータ)を表示している状態のことを、以下「観戦モード」と称する。
以上、本発明の第2実施形態のゲーム機器によれば、当該ゲーム機器近辺にて対戦モードにある他のグループからゲームの概要やゲームの進行状況を特定できるデータを受信することにより、利用者はそのデータを確認してからいずれのグループに参加するかを選択することができるため、利用者にとって最もゲームを楽しむことができるグループに参加することが可能となる。また、対戦モードに移行してゲームを楽しむつもりのない利用者もまた、観戦モードに移行することによって、対戦モード中の他のゲーム機器から送られてくるゲームの概要やゲームの進行状況を見て楽しむことができるという新たなゲームシステムを実現する。