JP2004135778A - Radio communication game system - Google Patents
Radio communication game system Download PDFInfo
- Publication number
- JP2004135778A JP2004135778A JP2002301955A JP2002301955A JP2004135778A JP 2004135778 A JP2004135778 A JP 2004135778A JP 2002301955 A JP2002301955 A JP 2002301955A JP 2002301955 A JP2002301955 A JP 2002301955A JP 2004135778 A JP2004135778 A JP 2004135778A
- Authority
- JP
- Japan
- Prior art keywords
- time slot
- packet
- parent device
- data
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
【0001】
【産業上の利用分野】
この発明は、無線通信を利用するゲームシステムに関し、特にたとえば、新たにエントリする携帯ゲーム装置のエントリ処理に特徴のある無線通信ゲームシステム、およびエントリ処理方法、それに用いる携帯ゲーム装置ならびにゲームプログラムに関する。
【0002】
【従来の技術】
従来の無線通信ゲームシステムの一例が、たとえば、平成12年(2000)5月16日付で出願公開された特許文献1(国際分類:A63F13/00、H04L12/28)に開示されている。この先行技術では、新たなゲーム装置が通信ゲームにエントリ(参加)する場合に、他のゲーム装置からの通信データを受信して空きタイムスロットを確認し、空きタイムスロットにエントリ要求を送信する(第35段落参照)。
【0003】
【特許文献1】
特開2000−135380号公報
【0004】
【発明が解決しようとする課題】
上述の先行技術では、各ゲーム装置がそれぞれ独自に空きタイムスロットを検出するので、処理の無駄が大きく、また、通信状態が悪い場合には、空きタイムスロットの検出が正確にできない場合がある。また、特定のゲーム装置がエントリ処理に関して主導的な処理をするものではないので、エントリ処理に確実性がない。
【0005】
それゆえに、この発明の主たる目的は、新規な、無線通信ゲームシステム、エントリ処理方法、携帯ゲーム装置およびゲームプログラムを提供することである。
【0006】
この発明の他の目的は、迅速かつ確実にエントリ処理を行える、無線通信ゲームシステム、エントリ処理方法、携帯ゲーム装置およびゲームプログラムを提供することである。
【0007】
【課題を解決するための手段】
この発明は、複数の携帯ゲーム装置を用いる無線通信ゲームシステムである。携帯ゲーム装置は親機または子機となる(あるゲーム装置が予め固定的に親機または子機となるものでもよいし、親機と子機の両方になることができて選択的にいずれか一方になるものでもよい)。また、携帯ゲーム装置は、所定の通信周期で互いに無線通信可能である。この通信周期は第1タイムスロットと複数のサブタイムスロットを含む第2タイムスロットとによって構成される。親機は、第1タイムスロットで親機パケットをブロードキャストしかつ第2タイムスロットで子機パケットを受信する。親機は、さらに第1サブタイムスロット決定手段と、エントリ要求検出手段と、親機パケット設定手段とを備える。第1サブタイムスロット決定手段は、 複数のサブタイムスロットのうち新たな子機が使用すべき第1サブタイムスロットを決定する。エントリ要求検出手段は、 新たな子機が第1サブタイムスロットに送信したエントリ要求を検出する。親機パケット設定手段は、第1サブタイムスロットを指定する指定データを親機パケットに設定し、かつ、エントリ要求に応答して使用許可データを親機パケットに設定する。子機は、複数のサブタイムスロットのうち少なくとも1つのサブタイムスロットで子機パケットを送信し、第1タイムスロットで親機パケットを受信するものである。子機は、さらに、エントリ要求送信手段と成否判断手段を備える。エントリ要求送信手段は、 親機パケットに含まれる指定データが示す第1サブタイムスロットにエントリ要求を送信する。成否判断手段は、親機パケットの第1サブタイムスロットで使用許可データがブロードキャストされたかどうかに基づいてエントリの成否を判断する。
【0008】
請求項2の発明は、請求項1に従属するもので、使用許可データは各サブタイムスロット毎の使用許可データを含み、親機パケット設定手段は第1サブタイムスロットについての使用許可データを使用許可に設定し、成否判断手段はその第1サブタイムスロットについての使用許可データに基づいてエントリの成否を判断する。
【0009】
請求項3の発明は、請求項1または2に従属し、第1タイムスロットは、ゲームデータを送信するためのペイロードフィールドに加えて、指定データおよび使用許可データを送信するためのそれぞれ専用の第1フィールドおよび第2フィールドを含む。親機パケット設定手段は、指定データを第1フィールドに設定し、使用許可データを第2フィールドに設定する。
【0010】
請求項4の発明は、請求項3に従属し、親機パケット設定手段は、ゲーム実行中において第1フィールドに指定データを設定する。
【0011】
請求項5の発明は、請求項3または4に従属し、親機は、第1フィールドに所定データ(エントリを禁止することを意味するデータ)を設定することによって新たな子機のエントリを禁止する禁止手段をさらに備える。
【0012】
請求項6の発明は請求項1ないし5のいずれかに従属し、子機は自機の識別データを記憶する識別データ記憶手段をさらに備える。識別データは予め固定的に決定されていてもよいし、プログラム処理によって生成されてもよい。エントリ要求送信手段は第1サブタイムスロットに識別データを送信する識別データ送信手段を含み、エントリ要求検出手段は第1サブタイムスロットで送信された識別データを検出する検出手段を含む。
【0013】
請求項7の発明は、請求項6に従属し、親機パケット設定手段は第2フィールドに識別データ設定する手段を含み、成否判断手段は第2フィールドに識別データが存在するかどうか判断する判断手段を含む、無線通信ゲームシステムである。
【0014】
請求項8の発明は、請求項7に従属し、第2フィールドは、各サブタイムスロット毎のサブフィールドを含み、記親機パケット設定手段は第2フィールドのうち第1サブタイムスロットについてのサブフィールドに識別データを設定する手段を含み、成否判断手段は第2フィールドのうち第1サブタイムスロットについてのサブフィールドに識別データが存在するかどうか判断する手段を含む。
【0015】
請求項9の発明は、請求項8に従属し、子機は、新たに親機にエントリするときに、親機パケットの第2フィールドを参照して、第2フィールドに設定されている識別データとは異なる識別データを設定する識別データ設定手段を含む、無線通信ゲームシステムである。
【0016】
請求項10の発明は、請求項7に従属し、子機は、第2フィールドに自記の識別データが存在しなくなったことによって親機による接続切断を検出する接続切断検出手段をさらに備える。
【0017】
請求項11の発明は、請求項1ないし10のいずれかに従属し、親機は、1つの子機に対して割り当てるサブタイムスロットの最大数を、実行するゲームに応じて決定する個数決定手段をさらに備える。
【0018】
請求項12の発明は、請求項1ないし11のいずれかに従属し、親機は、エントリを許可する子機の最大数を、実行するゲームに応じて決定するエントリ数決定手段をさらに備える。
【0019】
請求項13の発明は、請求項1に従属し、使用許可データは、各サブタイムスロット毎の使用許可データを含む。また、各使用許可データは子機の識別データである。親機は、使用許可データに基づいて、接続中の子機のリストを表示する子機リスト表示手段をさらに備える。
【0020】
請求項14の発明は、請求項13に従属し、親機は、接続中の子機のうち接続の切断をユーザが希望する子機を子機リストから選択するための操作手段、操作手段によって選択された子機との接続を切断する切断手段、および切断手段が接続を切断した子機のデータを使用許可データから削除する削除手段を備える、無線通信ゲームシステムである。
【0021】
請求項15の発明は、無線通信ゲームシステムにおけるエントリ処理方法であって、次のステップを含む(無線通信ゲームシステムは、第1タイムスロットと複数のサブタイムスロットを含む第2タイムスロットとによって構成される通信周期で互いに無線通信可能であり、親機または子機となる複数の携帯ゲーム装置を用いるものである):(a) 親機は子機に使用させるべき第1サブタイムスロットを指定する指定データを含む親機パケットをブロードキャストし、(b) 子機は指定データで指定された第1サブタイムスロットでエントリ要求を送信し、(c) 親機は第1サブタイムスロットで子機から送信されたエントリ要求を検出し、(d) 親機はエントリ要求を許可する使用許可データを親機パケットに設定し、そして(e) 子機は親機パケットの使用許可データに基づいてエントリ要求の成否を判断する。
【0022】
請求項16の発明は、複数の携帯ゲーム装置を用いる無線通信ゲームシステムにおいて、携帯ゲーム装置のプロセサに次のステップを実行させるプログラムである。(携帯ゲーム装置は、第1タイムスロットと複数のサブタイムスロットを含む第2タイムスロットとによって構成される通信周期で互いに無線通信可能であり、親機または子機となる):(a) 親機のプロセサによって、子機に使用させるべき第1サブタイムスロットを指定する指定データを含む親機パケットをブロードキャストさせるブロードキャストステップ、(b) 子機のプロセサによって、指定データで指定された第1サブタイムスロットでエントリ要求を送信させる送信ステップ、(c) 親機のプロセサによって、第1サブタイムスロットで子機から送信されたエントリ要求を検出させる検出ステップ、(d) 親機のプロセサによって、エントリ要求を許可する使用許可データを親機パケットに設定させる設定ステップ、および(e) 子機のプロセサによって、親機パケットの使用許可データに基づいてエントリ要求の成否を判断させる成否判断ステップ。
【0023】
請求項17の発明は、請求項16に従属し、自機が親機になるか子機になるかを決定する親子決定ステップをさらに備え、親子決定ステップによって親機になることが決定された場合は、ステップ(a),(c) および (d )を携帯ゲーム装置のプロセサに実行させ、親子決定ステップによって子機になることが決定された場合は、ステップ(b) および (e) を携帯ゲーム装置のプロセサに実行させる。
請求項18の発明は、第1タイムスロットで親機から親機パケットをブロードキャストし、第2タイムスロットで子機から前記親機へ子機パケットを送信する、無線通信ゲームシステムにおいて、親機は接続中の子機の識別データを親機パケットに設定し、子機は、新たに親機にエントリするとき、親機パケットに既に設定されている識別データとは異なる識別データを自機の識別データとして決定し、該識別データを子機パケットで送信することを特徴とする。
【0024】
請求項19の発明は、複数の携帯ゲーム装置を用い、一方が親機となり他方が子機となり、親機は第1タイムスロットで親機パケットをブロードキャストしかつ第2タイムスロットで子機パケットを受信し、子機は第2タイムスロットに含まれる少なくとも1つのサブタイムスロットで子機パケットを送信しかつ第1タイムスロットで親機パケットを受信することによって無線通信ゲームをプレイする、携帯ゲーム装置であって、親機のために、第1タイムスロットで親機パケットをブロードキャストしかつ第2タイムスロットで子機パケットを受信するものであり、さらに (a) サブタイムスロットのうち新たな子機が使用すべき第1サブタイムスロットを決定する第1サブタイムスロット決定手段、(b) 新たな子機が第1サブタイムスロットに送信したエントリ要求を検出するエントリ要求検出手段、および (c) 第1サブタイムスロットを指定する指定データおよびエントリ要求に応答して設定される使用許可データを含む親機パケットを設定する親機パケット設定手段を備え、子機のために、サブタイムスロットのうち少なくとも1つのサブタイムスロットで子機パケットを送信し、第1タイムスロットで親機パケットを受信するものであり、(d) 親機パケットに含まれる指定データが示す第1サブタイムスロットにエントリ要求を送信するエントリ要求送信手段、および (e) 親機パケットの使用許可データに基づいてエントリの成否を判断する成否判断手段を備える。
【0025】
【作用】
無線通信ゲームシステムは、実施例では、少なくとも2台の携帯ゲーム装置(10:実施例で相当する参照符号。以下同じ。)を用いて構成される。実施例の携帯ゲーム装置(10)は、携帯ゲーム機(12)と、その携帯ゲーム機に装着された無線通信ユニット(14)とを含む。携帯ゲーム装置は、この無線通信ユニット(14)を用いて、親機の場合には、第1タイムスロット(親機スロット)で親機パケットをブロードキャストし、第2タイムスロットを構成するサブタイムスロット(子機スロット0−3)の1つで子機パケットを受信する。子機の場合には、第1タイムスロットで親機パケットを受信し、第2タイムスロットで子機パケットを親機に向けて送信する。
【0026】
第1タイムスロット決定手段は、実施例でいえば、携帯ゲーム機のプロセサ(20)とそれによって実行される図27のステップS1009を含み、このステップS1009において、プロセサは、親機パケットのEスロットフィールド(ESlot)に、使用していない、すなわち空いている、第1サブタイムスロットを指定する指定データ(具体的には、サブタイムスロット番号)を設定する。
【0027】
子機では、親機パケットに含まれるその指定データが示す第1サブタイムスロットに、エントリ要求を送信する。このエントリ要求は、実施例でいえば、自機の子機番号(CID)であり、子機となった携帯ゲーム装置のプロセサ(20)が図31のステップS3023で自機のCIDを第1サブタイムスロットで送信する。
【0028】
親機のエントリ要求検出手段は、実施例でいえば、プロセサ(20)とそのプロセサによって実行される図27のステップS1021を含み、このステップS1021において、プロセサは、指定データ(ESlot)が示す第1サブタイムスロットに子機から送信された子機CIDが受信できたかどうか判断する。このエントリ要求検出手段が子機からのエントリ要求を検出し、エントリ要求を許可する。
【0029】
そして、親機パケット設定手段によって設定される親機パケットは、指定データおよび使用許可データを含む。実施例でいえば図27のステップS1029に相当する親機パケット設定手段は、たとえばUスロットフィールド(USlot)のエントリスロット位置にエントリ要求をした子機のCIDを格納する。
【0030】
したがって、子機の成否判断手段は、実施例でいえば図31のステップS3029において親機パケットのそのフィールド(USlot)のエントリスロット位置に自己のCIDが存在するかどうか判断することによって、先に送出したエントリ要求が許可されたかどうか判断することができる。
【0031】
請求項2では、第1サブタイムスロットに使用許可データを設定するようにするので、エントリ要求に対する使用許可を与えるための特別なタイムスロットを必要としない。
【0032】
請求項3の第1フィールドおよび第2フィールドは実施例でいえばそれぞれ図11のフィールドESlotおよびUSlotであり、フィールドEslotに指定データが設定され、USlotに使用許可データが設定される。したがって、この請求項3によれば、親機パケットに指定データおよび使用許可データが含まれ、そのような親機パケットが、所定の通信周期でブロードキャストされるため、子機はいつの時点においてもエントリすることができる。
【0033】
請求項4では、ゲーム中に指定データが設定されるので、ゲーム中でも子機はエントリを要求し、その可否を判断できる。
【0034】
請求項5の禁止手段は、実施例でいえば、親機のプロセサとそれによって実行されるステップS31(図22)またはステップS69(図23)に相当し、第1フィールドに特定データ、たとえば「ffh」を設定する。したがって、請求項5によれば、エントリ禁止のために別途タイムスロットを確保する必要がない。
【0035】
請求項6の識別データ記憶手段は実施例でいえば図18に示す子機変数領域88の領域CIDであり、実施例のたとえばステップS3023(図31)で、エントリ要求のためにその領域に記憶されている識別データすなわちCIDを用いる。したがって、多数の子機が存在する状況においても個々の子機は識別データによって確実に同定されるので、混乱なくエントリ処理をすることができる。
【0036】
請求項7においても、実施例のたとえば1029(図27)で、使用許可データとして識別データを用いるので、請求項5と同様の効果が期待できる。
【0037】
請求項8では、図11で示すUスロットが具体的には図12に示すように各サブタイムスロット毎にサブフィールドを含み、親機パケット設定手段ではそのサブフィールドに識別データを設定する。したがって、子機の成否判断手段では、そのサブフィールドに自己の番号CIDが存在するかどうかによって、エントリの成否を判断する。この請求項8によっても、請求項7と同様の効果が期待できる。
【0038】
請求項9の識別データ設定手段は、実施例でいえば、子機のプロセサとそれによって実行されるステップS3011およびS3013(図30)を含み、それによって、既に他の子機で用いられている識別データの重複使用が確実に回避できる。また、子機の製造時に子機の識別データを設定する必要がないので、製造コストを下げることができる。
【0039】
請求項10は実施例でいえば、ステップS97,S101(図24)に相当する。そして、識別データをエントリ時のみに利用するのではなく、通信ゲーム実行中においても用いることにより、親機による切断の判断に利用することができる。
【0040】
請求項11は実施例でいえば、ステップS1001(図27)に相当するものであり、請求項12も実施例でいえばステップS1001)に相当する。つまり、実施例では、図27のステップS1001において、初期設定として、実行するゲームプログラムに応じて1つの子機の対して割り当てるサブタイムスロットの最大数(N)を設定するとともに、実行するゲームプログラムに応じてエントリを許可する子機の最大数(M)を設定する。
【0041】
そして、1つの子機に対して割り当てるサブタイムスロットの最大数や同時参加可能な子機の最大数をゲームに応じて決定することができるので、一定のサブタイムスロット数の中で、1つの子機に対して割り当てる個数を少なくして参加可能な子機の数を多くするか、または、1つの子機に対して割り当てる個数を多くしてデータレートを大きくするかのいずれかをゲームの内容に応じて決定することができる。たとえば、多くのプレイヤが参加する方が面白いゲームの場合には前者とし、通信量が多いゲームの場合は後者とする。
【0042】
請求項13は、実施例でいえばステップS1039(図28)に相当し、請求項14は、実施例でいえば、ステップS1013(図27)に相当する。それによって、親機が、通信ゲームをしたくない子機を選択して、通信を随意に切断することができる。
【0043】
請求項15や請求項16の発明によれば、請求項1の無線通信ゲームシステムと同様の効果が期待できる。ただし、請求項17では、同じ携帯ゲーム機を親機として、または子機として用いることができる。
【0044】
請求項18の発明においても、親機パケット(の第2フィールド)に既に設定されている識別データとは異なる識別データをエントリ要求に使うようにしたので、請求項9の発明と同様の効果が期待できる。
【0045】
請求項19の発明によれば、複数の同じ携帯ゲーム装置を用いて、一方が親機となりかつ他方が子機となる無線通信ゲームをプレイすることができる。
【0046】
【発明の効果】
この発明によれば、親機がエントリに関して主導的な働きをして、エントリ処理を確実に実行することができる。また、子機からは空きが確認されている第1サブタイムスロットに対してエントリ要求を出すので、エントリ要求のための専用のスロットが必要ない。
【0047】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【0048】
【実施例】
この発明が適用される無線通信ゲームシステムは、一例として、図1に示すような携帯ゲーム装置10を利用する。携帯ゲーム装置10は、この実施例では、たとえばゲームボーイアドバンス(GAMEBOY ADVANCE:商品名)のような携帯ゲーム機12と、その携帯ゲーム機12の通信コネクタ46に接続された無線通信ユニット14およびカートリッジコネクタ40に接続されたカートリッジ16を含む。つまり、この実施例においては、携帯ゲーム装置10は、携帯ゲーム機12,無線通信ユニット14およびカートリッジ16によって構成される。
【0049】
図1に示す携帯ゲーム機12は、プロセサ20を含み、このプロセサ20は、CPUコア22とそれに関連するブートROM24,LCDコントローラ26,WRAM(ワーキングRAM:以下同様)28,VRAM30および周辺回路32とを含む。ただし、周辺回路32は、音声(サウンド)回路、DMA(Direct Memory Access)回路、タイマ回路、入出力インタフェース(IO)などを含む。携帯ゲーム機12の前面に設けられたLCD18には、プロセサ20から表示信号、この実施例ではRGB信号が与えられ、したがって、LCD18ではゲーム画像がカラー表示される。そして、プロセサ20からは、サウンド回路34にオーディオ信号が与えられ、そのオーディオ信号によって、スピーカ36からゲーム音楽や効果音などの音声が出力される。また、携帯ゲーム機12の前面にLCD18を挟んで設けられる十字キーやスタートキー,セレクトキーおよびAボタンならびにBボタンがまとめて操作スイッチ38として示され、この操作スイッチ38からの操作信号がプロセサ20に入力される。したがって、プロセサ20は操作スイッチ38を通して与えられたユーザの指示に従った処理を実行する。
【0050】
携帯ゲーム機16はカートリッジコネクタ40を有し、このカートリッジコネクタ40には、カートリッジ16が接続または挿入される。カートリッジ16にはROM42およびバックアップRAM44が内蔵され、ROM42には携帯ゲーム機12で実行すべきゲームのためのゲームプログラムが、そのゲーム名とともに、予め設定されている。バックアップRAM44は、そのゲームの途中データやゲームの結果データを記憶する。
【0051】
携帯ゲーム機16にはさらに通信コネクタ46が設けられ、この通信コネクタ46には無線通信ユニット14のコネクタ48が接続される。なお、実施例で用いる携帯ゲーム機12は、一例としてゲームボーイアドバンス(商品名)であり、その場合、上述のカートリッジコネクタ40は、LCD18を前面(正面)としたときの上面奥側に設けられる32ピンコネクタであり、通信コネクタ46は上面手前側に設けられる6ピンコネクタである。
【0052】
無線通信ユニット14は、ベースバンドIC50を含み、このベースバンドIC50はROM52を含む。ROM52にはたとえばOCD(One−Cartridge Download)プログラムやその他のプログラムが内蔵され、ベースバンドIC50は、それらのプログラムに従って動作する。なお、ワンカートリッジダウンロードプログラムとは、OCモード(ワンカートリッジモード:親機にだけゲームカートリッジが装着されていて、子機はその親機カートリッジからの子機用プログラムのダウンロードを受けて動作するモード)において、子機へプログラムをダウンロードするためのプログラムである。
【0053】
無線通信ユニット14にはさらにEEPROM54が設けられ、このEEPROM54には、たとえば、ユーザ名が固有に設定される。ベースバンド(Base Band)IC50は、そのユーザ名を含んだデータを、RF(Radio Frequency)−IC56に送出し、RF−IC56は、そのデータを変調して、アンテナ58から電波を送信する。ただし、その電波強度は、非常に微弱で、電波法の規制の対象とならない程度の小さい値に設定されている。また、この無線通信ユニット14には電源回路60が設けられている。この電源回路60は典型的には電池であり、無線通信ユニット14の各コンポーネントに直流電源を供給する。
【0054】
無線通信ユニット14では、また、他の携帯ゲーム装置から送信された電波をアンテナ58で受信してRF−IC56によって復調し、復調信号がベースバンドIC50に入力される。したがって、ベースバンドIC50は、復調信号をデコードして、データを復元し、そのデータをコネクタ48および46を介して携帯ゲーム機12すなわちWRAM28に転送する。
【0055】
この発明に従った実施例の無線通信ゲームシステムでは、複数台の図1に示すような携帯ゲーム装置10を利用する。図2の点線64は自機携帯ゲーム装置62の通信可能範囲を示している。そして、携帯ゲーム装置62は、通信可能範囲64に存在する携帯ゲーム装置に対してエントリできる可能性がある。この通信可能範囲64が上述の微弱電波によって親機と子機との間のデータ通信が可能な範囲であり、この通信可能範囲64の中に存在する複数の携帯ゲーム装置は、どれでもが、任意に、親機となりまたは子機となることができる。図示の例では、その範囲64の内に、4台の親機と3台の子機と、1台の自機62とが存在する。
【0056】
そして、自機62がゲームに参加する場合、親機か子機になる必要がある。自機が子機になる場合には、参加可能な親機を探す必要がある。親機を探すときに、自機がカートリッジを持っているかどうかによって、異なる親機を探す必要がある。
【0057】
まず、自機62が図1に示すカートリッジ16を装着した携帯ゲーム装置である場合であって、かつ自機62の周囲のすべての親機を表示することを示す全表示フラグ(後述)を「1」に設定しているときには、図1に示す携帯ゲーム機12のLCD18上に、図3で示すような親機リスト18Aが表示される。この図3の親機リスト18Aには、通信可能範囲64(図2)内に存在するすべての親機、すなわち、ユーザ名がそれぞれ「太郎」,「一郎」および「二郎」の3台の親機が表示される。したがって、自機のユーザは、自機を子機として動作または機能させたいとき、その自機を接続したい親機を、操作キー38(図1)に含まれる十字キーでカーソルを動かして指定した後同じく操作キー38に含まれるAボタンを押すことによって、選択することができる。
【0058】
ただし、自機を親機として使いたい場合には、ユーザは、操作キー38に含まれるBボタンを押せばよい。
【0059】
図2では範囲64内に4台の親機が存在するにも拘わらず、図3の親機リスト18Aでは3台の親機だけが表示されるのは、次の理由による。ユーザ名が「三郎」の親機はエントリスロットESlotが「ffh」に設定されている。このエントリスロットESlotは、新しい子機を希望するかどうかを示すフラグであり、このエントリスロットESlotが「ffh」に設定されているときは、その親機は子機の新規参加を拒否しているので、そのような親機は表示されないのである。ユーザ名「三郎」の親機は、エントリ可能な最大子機数に達しているため、新しい子機を希望していない。
【0060】
また、図3の親機リスト18Aでは、ユーザ名「二郎」の親機に丸印(○)が付加されている。この丸印(○)は、OCモードでのゲームがプレイ可能なことを示す。
【0061】
さらに、全表示フラグがオフの場合には、LCD18には図4に示す親機リスト18Aが表示される。この場合には、自機のゲームカートリッジ、たとえばマリオカート−1(Mario Kart−1)と通信できる親機、この例ではユーザ名が「太郎」である親機だけが表示される。なぜなら、ユーザ名「太郎」の親機にはマリオカート−2(Mario Kart−2)のカートリッジが装着されていて、Mario Kart−1とMario Kart−2とは相互に通信可能であるからである。なお、通信可能範囲64内に、マリオカート−1のカートリッジが装着されている親機があれば、その親機も当然表示される。
【0062】
上の例では自機(子機)にMario Kart−1のカートリッジが装着されているが、自機にカートリッジを装着せず、OCモードでゲームをプレイしたい場合には、LCD18には、たとえば図5に示す親機リスト18Aが表示される。この図5の親機リスト18Aでは、OCモードに対応できる親機、この例ではユーザ名「二郎」の親機だけが表示される(「F−ZERO」はOCモード対応のゲームである)。ただし、この場合には自機にはカートリッジが装着されていないので、自機は親機になれない。したがって、「自分が親機になりたいときはBボタンを押してください」という図3や図4に示すメッセージは表示されない。
【0063】
次に図6−図8を参照して、ユーザ名「四郎」の親機が図2に示す通信可能範囲64に入り、その後、ユーザ名「一郎」の親機がその範囲64の外へ出た場合の自機62の表示の変化について説明する。ユーザ名「四郎」の親機が範囲外にある場合には、図6に示すように、自機62のLCD18上には図3と同じ親機リスト18Aが表示される。
【0064】
その後、ユーザ名「四郎」の親機が範囲内に進入してきたときには、図7で示す親機リスト18Aが表示される。ただし、自機62の全表示フラグがオンされているものとする。つまり、ユーザ名「四郎」の親機が、ユーザ名がそれぞれ「太郎」,「一郎」および「二郎」である親機に加えて表示される。
【0065】
そして、さらにユーザ名「一郎」の親機が範囲64外へ脱したときには、図8の親機リスト18Aが表示される。この親機リストにはユーザ名「一郎」の親機は表示されない。
【0066】
さらに、自機が親機であってかつ新たな子機の参加を待っているときには、LCD18には、図9に示す子機リスト18Bが表示される。この子機リスト18Bをみると、現在、ユーザ名がそれぞれ「五郎」,「六郎」および「七郎」の子機が自機に接続していることがわかる。ここで、本実施例は親機と子機とが微弱電波によって無線通信をしながらゲームを進行させる無線通信ゲームシステムであるので、本来的には「接続」の用語を用いるべきではない。しかしながら、親機となる携帯ゲーム装置と子機となる携帯ゲーム装置との間での通信可能な連係状態を表す用語として、有線通信の場合の用語を借りて、便宜上「接続」と表現することとする。
【0067】
次に、接続状態にある親機と子機とが無線通信する場合のデータパケットフォーマットについて、図10−図14を参照して説明する。図10で示すように、1つのデータサイクルが2ミリ秒で、そのデータサイクルは、1つの親機スロットと複数(この実施例では4つ)の子機スロットとを含む。親機スロットでは図11に具体的に示す親機パケットがブロードキャスト(Broadcast:放送)され、4つの子機スロットでは、それぞれ、図13に具体的に示す子機パケットの親機への送信が行われる。
【0068】
親機パケットは、図11に示すように、同期データを格納しておくためのフィールドsyncをその先頭に有し、その同期データフィールドsyncに後続してその親機の番号(識別コード)PID格納するためのフィールドPIDを有する。そのフィールドPIDに続いて、ユーザ名フィールドUserNameおよびゲーム名フィールドGameNameが形成される。ユーザ名フィールドUserNameには、EEPROM54(図1)から読み出されたユーザ名、上の例でいえば「太郎」,「一郎」などが登録され、ゲーム名フィールドGameNameにはゲーム名、上の例でいえばMarioKart−1,Mario Kart−2,F−Zero,Golf,…が登録される。ただし、カートリッジ16(図1)を装着すれば、このゲーム名フィールドGameNameにはROM42(図1)から読み出されたゲーム名(図16の68)が自動的に登録され得る。
【0069】
親機パケットはさらに、フラグOCを含み、このフラグOCは、先に述べたワンカートリッジ(OC)モードに対応できるかどうかを示すフラグである。具体的には、このフラグOCがリセットされているとき、すなわちOC=0のときには、そのときの親機のゲームカートリッジはOCモードに非対応であること、あるいは、OCモードに対応できるが現在は通常モードでプレイしていることを示す。フラグOCがセットされているとき、すなわち、OC=1のとき、OCモードに対応できかつ現在そのOCモードでプレイしていることを示す。したがって、カートリッジを持たないユーザは、このフラグOCが「1」である親機を探す必要がある。
【0070】
フラグOCに続いて、親機パケットは、フィールドESlot,USlotおよびPayloadを順次含む。EスロットフィールドESlotは、エントリ(参加)可能な子機スロットの番号が格納される。つまり、新規参加子機が使用できるスロット番号が格納される。UスロットフィールドUSlotには、子機スロットの使用状況が格納される。具体的には、図12に示す。すなわち、UスロットフィールドUSlotは、4つの領域を含み、この4つの領域の各々が子機スロット0,子機スロット1,子機スロット2および子機スロット3に対応する。そして、それぞれの領域には、該当する子機スロットが割り当てられた子機の番号(識別コード)CIDが格納される。該当する領域に対応する子機番号CIDが登録されているときには、その子機スロットが使用されていることがわかる。
【0071】
ペイロードフィールドPayloadは、ゲーム処理において必要となるゲームデータを送信するためのフィールドであり、親機から子機へ送信されるゲームデータを格納するためのフィールドである。
【0072】
子機から、その子機に割り当てられた子機スロットに送出される子機パケットが図13に示される。すなわち、子機パケットは、子機番号CIDを格納または登録する先頭のフィールドCIDとそれに後続するペイロードフィールドPayloadとを含む。ペイロードフィールドPayloadは子機から親機へ送信されるゲームデータを格納するためのフィールドである。
【0073】
図14が具体例を示す。この図14の例では、親機番号フィールドPIDに「58」が格納されていて、したがって、親機番号PIDが「58」であることがわかる。そして、この親機のユーザ名は「太郎」であり、ゲーム名はMario Kartであり、フラグOCが「0」で、EスロットフィールドESlotには「2」が登録されていて、UスロットフィールドUslotを参照することにより子機スロット0には「16」の子機番号(CID)を持った子機が、子機スロット1には「130」を持った子機がそれぞれ接続されているが、子機スロット2および3はともに「0h」であるので空きスロットであることがわかる。
【0074】
このような状態の親機に対して新たな子機が接続(Entry)を試みる場合には、親機のUスロットフィールドUSlotを参照すると子機番号CIDとして「16」および「130」が使用されているので、それ以外の子機番号CIDをたとえば乱数を発生させることによって決定する。一例として「86」が当該子機のCIDとして決定されたとする。したがって、その子機は、ESlotで指定される子機スロット(子機スロット2)にCID=86を送信する。
【0075】
そして、親機では、子機スロット2で「86」を受信することにより、子機番号CIDとして「86」を持つ子機がエントリしたい、ということを知る。そして、そのエントリを許可するかどうかを決定するわけであるが、許可する場合には、親機は、Uslotの子機スロット2に対応する領域に「86」を設定した図14の最下段に示す親機パケットをブロードキャストし、新たに「86」の子機番号CIDを持つ子機の参加を許可したことを知らしめる。同時に、新規参加した子機は、Uslotの子機スロット2に対応する領域に自己の子機番号としてCID=86があることを確認し、エントリが成功したことを判断できる。
【0076】
図15はOCモードに対応していないカートリッジのメモリマップを示し、図16はOCモードに対応できるカートリッジのメモリマップを示す。
【0077】
図15の実施例では、カートリッジ16に含まれるROM42(図1)は、ゲームプログラム領域62およびゲーム名領域64を含む。ゲームプログラム領域62には、共通プログラム66,親機プログラム68および子機プログラム70が予め格納される。共通プログラム66は、自機が親機であると子機であるとに拘わらず使用するプログラムである。すなわち、自機が親機の場合は共通プログラムと後述の親機プログラムが実行され、自機が子機の場合は共通プログラムと後述の子機プログラムが実行される。親機プログラム68は、自機が親機として機能するときにのみ作動するプログラムであり、変数MおよびNを含むとともに、「0」に設定された(つまりオフされた)フラグOCを含む。ただし、変数Mは、その親機に同時に接続可能な子機の最大数を示し、変数Nは1台の子機が使用できる最大スロット数を示す。これらの変数MおよびNは、ともに、ゲームに応じて変化することに留意されたい。子機プログラム70は、自機が子機として機能するときにのみ作動するプログラムであり、上述の変数Nを含む。ゲーム名領域64には、上記ゲームプログラムの名称、たとえばMario Kart−1,Golf,…などが予め格納される。
【0078】
図16の実施例でも、カートリッジ16のROM44は、ゲームプログラム領域62およびゲーム名領域64を含む。ゲームプログラム領域62には、図15と同じ共通プログラム66,親機プログラム68および子機プログラム70が設定されるとともに、OCモードに対応するためにOCモード用ゲームプログラム72が設定される。OCモード用ゲームプログラム72は親機プログラム74と転送用子機プログラム76とを含む。親機プログラム74は、フラグOCが「1」に設定されていることを除いて、先の親機プログラム68と同じである。転送用子機プログラム76は、OCモードでゲームプレイする子機へ転送するためのプログラムであり、変数Nを含む。OCモードでエントリする子機は、親機から転送(ダウンロード)されるこの転送用子機プログラム76を受けることによって、ゲームに参加できる。
【0079】
図17には図1に示す無線通信ユニット14のEEPROM54のメモリマップが示され、この図17に示すように、EEPROM54は、ユーザ名領域78を含み、このユーザ名領域78にユーザ名、上の例でいえば「太郎」,「一郎」…などが登録される。
【0080】
図18に示すメモリマップを参照すると、ゲーム機12のWRAM28(図1)は、親機リスト領域80,親機リストクリアタイマ82,子機リスト領域84,変数領域86および88,ゲーム変数領域90,送信バッファ領域92および受信バッファ領域94を含む。
【0081】
親機リスト領域80は、先に図3等で説明した親機リスト18Aを表示するためのデータ、たとえば親機番号(PID),ユーザ名(UserName),ゲーム名(GameName),フラグOC,EスロットフィールドESlotを一時的に記憶保持しておくための領域である。
【0082】
親機リストクリアタイマ82は、この親機リスト領域80のデータをクリアするまでの時間を計測するためのタイマであり、後述のように、このタイマ82がタイムアップすれば、親機リスト領域80は自動的にクリアされる。
【0083】
子機リスト領域84は、先に図9等で説明した子機リスト18Bを表示するためのデータ、たとえば子機番号(CID),ユーザ名(UserName)およびゲーム名(GameName)を一時的に記憶保持しておくための領域である。
【0084】
WRAM28はさらに、自機が親機として動作する(振舞う)ときに使用する変数をストアしておくための親機変数領域86および自機が子機として動作する(振舞う)ときに使用する変数をストアしておくための子機変数領域88を含む。
【0085】
親機変数領域86には、たとえば図11に示す各フィールドPID,USlotおよびESlotのためのデータや接続対象の子機の子機番号(CID)さらには、変数nおよびmが設定される。ここで、変数nは、1台の子機に現に実際に割り当てられているスロット数を示し、その最大数が先に説明した変数Nで与えられる。また、変数mは、1台の親機に現に実際に同時に接続されている子機数を示し、その最大数が上述の変数Mで与えられる。
【0086】
子機変数領域88には、たとえば図12に示すフィールドCIDのためのデータが設定されるとともに、接続結果を示す変数、復帰結果を示す変数、接続先の親機の親機番号(PID)、獲得したスロット番号(1つまたは複数)、同期タイマ、変数n、さらには、全表示フラグが設定される。
【0087】
ゲーム変数領域90はゲーム実行中のゲーム変数、たとえばクリアしたステージ数や獲得したアイテム等を示す変数をストアするための領域である。そして、送信バッファ92および受信バッファ94は、それぞれ、送信データおよび受信データを一時的にストアしておくための領域である。
【0088】
それぞれがこのような構成を有する2台以上の携帯ゲーム装置10がゲームシステムを構築するが、以下に、そのゲームシステムにおける各携帯ゲーム装置10の動作をフロー図を参照して説明する。
【0089】
詳細な説明に先立って、OCモードに対応できないカートリッジが自機に装着されている場合で、かつ、自機が親機になるときには、後述のステップS29(図21)−ステップS69(図23)の一連のステップを実行する。また、OCモードに対応できないカートリッジが自機に装着されている場合で、かつ、自機が子機となるときには、後述のステップS83−ステップS109(図24)の一連のステップを実行することになる。
【0090】
また、自機にOCモード対応可能なカートリッジが装着されてはいるが通常モード(OCモードではない)でゲームをプレイする場合には、自機を親機とするときには、ステップS29(図21)−ステップS69(図23)の一連のステップを実行し、自機を子機とするときには、上と同様に、ステップS83−ステップS109(図24)の一連のステップを実行することになる。
【0091】
さらに、自機にOCモード対応可能なカートリッジが装着されていて、OCモードでゲームをプレイする場合には、自機は親機としてしか機能できず、この場合には、ステップS75およびS77(図19)を経て、上述の親機の場合と同様に、図21に示すステップS29から図23に示すステップS69の一連のステップを実行する。
【0092】
そして、自機にカートリッジが装着されていない場合には、自機はOCモードでの子機にしかなれず、したがって、この場合には、ステップS111(図19)−ステップS147(図26)の一連のステップを実行することになる。
【0093】
図19は携帯ゲーム機12の動作を示す。携帯ゲーム機12の電源(図示せず)を投入すると図19の動作が開始され、最初は、ブート(Boot)ROM24内に設定された動作を実行する。つまり、最初のステップS1で、プロセサ20は、たとえばコネクタ40(図1)からの信号に基づいて、カートリッジ16が装着されているかどうかを検出する。そして、ステップS3でカートリッジがあると判断した場合には、カートリッジ16のROM42のプログラムに移行し、続くステップS5で、そのカートリッジがOCモードに対応可能なカートリッジかどうか判断する。このステップS5では、図15のカートリッジ(OCモードに対応不可能なカートリッジ)が装着されているか、図16のカートリッジ(OCモードに対応可能なカートリッジ)が装着されているかを判断する。
【0094】
ステップS5で“NO”が判断されたとき、すなわち自機にカートリッジは装着されているがそのカートリッジがOCモード対応カートリッジではないとき、図20のステップS7に進み、図18に示す親機リスト領域80をクリアするとともに、同じく図18に示す親機リストクリアタイマ82をリセットし、さらには図18の子機変数領域88に設定されている全表示フラグをオン(「1」を設定)する。なお、親機リストクリアタイマ82はリセット後自動的にタイマのカウントを開始する。
【0095】
その後、ステップS9において、図11で示すような親機パケットの受信を試みる。ステップS11で、親機パケットを成功裏に受信したかどうか判断する。そして、ステップS11で“YES”を判断したとき、続くステップS13において、その親機パケットをブロードキャストした親機は、親機リストに存在しない親機かどうか判断する。具体的には、このステップS13では、受信した親機パケットのデータ(図18に示すWRAM28の受信バッファ94に一時的にストアされているデータ)のうちの親機PIDやユーザ名が、親機リスト80(図18)に登録されている親機かどうか判断する。このステップS13で“YES”が判断されると、つまり、新規な親機の場合には、続くステップS15において、プロセサ20は、親機リスト80に、親機パケットに含まれた親機ID(PID),ユーザ名(UserName),ゲーム名(GameName),OCフラグ(OC)およびエントリスロット(ESlot)を新たに登録する。
【0096】
先のステップS11で“NO”を判断したとき、またはステップS15での登録を終えたとき、次のステップS17で、先のステップS7でリセットした親機リストクリアタイマ82(図18)の値が2秒以上になったかどうか判断する。“YES”なら、ステップS19で親機リスト80をクリアするとともに、親機リストクリアタイマ82をリセットする。ここで、親機リストクリアタイマ82をリセットするのは次の理由による。すなわち、図8を参照して前述したようにある親機(図8の「一郎」)が通信可能範囲から外れた場合に、その親機を親機リスト80から削除しなければならない。そのため、定期的に(この実施例では2秒ごとに)、親機リスト80をクリアして通信可能範囲の親機のリストへの登録を最初からおこなうことによって、通信可能範囲から外れた親機が親機リストに残らないようにしているのである。ステップS17で“NO”を判断したとき、またはステップS19を経た後、次のステップS21において、プロセサ20は、上述の全表示フラグがオン(「1」)かどうか判断する。なお、実施例では、この全表示フラグは、デフォルトとして、「1」またはオンに設定されている。全表示フラグがオンのとき、ステップS23で、親機リストに登録されている親機のうち、エントリスロットESlotが「ffh」でない親機、つまり、新たな子機のエントリを許容するすべて親機の情報(具体的には、ユーザ名UserNameおよびゲーム名GameName)を図3に示すように表示する。全表示フラグがオフ(「0」)のときには、ステップS25において、親機リストに登録されている親機のうち、エントリスロットESlotが「ffh」でなくしかも通信可能な(すなわち、親機のカートリッジのゲームと子機のカートリッジのゲームが所定の関係にあり通信可能な)親機の情報(ユーザ名UserNameおよびゲーム名GameName)を図4に示すように表示する。
【0097】
その後、図21のステップS27に進み、プロセサ20は、操作キー38からの信号を参照して、Bボタン(図示せず)が押されたかどうか判断する。Bボタンが押されたということは、その携帯ゲーム装置のユーザが、自機を親機として振舞わせることを決めたことを意味し、その場合には、変数MおよびNの範囲内で子機を募集するために、ステップS29の親機接続処理を実行する。ただし、1台の子機に与えられる最大スロット数を示す変数Nおよび最大参加可能子機数を示す変数Mは、それぞれ、ゲームによって変更可能である。たとえば、最大参加子機数Mを大きくするためには最大スロット数Nを小さくし、データレートを重視するなら最大スロット数Nを大きくし最大参加子機数Mを小さくすればよい。
【0098】
ここで、図27および図28を参照して、子機募集のためのステップS29における親機の接続処理について、詳細に説明する。図27の最初のステップS1001では、プロセサ20は、図18に示す子機リスト領域84をクリアするとともに、初期画面を表示させる。このステップS1001は初期設定ステップであり、上の処理に加えて、さらに、1つの子機の対して割り当てるサブタイムスロットの最大数(N)を設定するとともに、エントリを許可する子機の最大数(M)を設定する。ただし、これら最大数NおよびMは、それぞれ、実行すべきゲームプログラムに応じて決定できる。このように、1つの子機に対して割り当てるサブタイムスロットの最大数Nや同時参加可能な子機の最大数Mをゲームに応じて決定するようにすれば、一定のサブタイムスロット数の中で、1つの子機に対して割り当てる個数を少なくして参加可能な子機の数を多くするか、または、1つの子機に対して割り当てる個数を多くしてデータレートを大きくするかのいずれかをゲームの内容に応じて決定することができる。たとえば、多くのプレイヤが参加する方が面白いゲームの場合にはスロット数Nを小さくし参加子機数Mを大きくし、通信量が多いゲームの場合はスロット数Nを大きくし参加子機数Mを小さくすればよい。
【0099】
続くステップS1003では、プロセサ20は、親機変数領域86(図18)の親機PIDを設定するための領域PIDに擬似ランダム値を書き込む。そして、次のステップS1005において、領域86内の、親機(自機)に実際に接続している子機の数を示す変数mをゼロ(0)とし、続くステップS1007で、接続対象子機の番号を示す接続対象CIDの領域に「Null」を設定するとともに、領域86内の、現在接続処理中の子機に実際に付与しているスロット数を示す変数nにゼロ(0)を書き込む。なお、接続対象CIDとは、現在接続処理中の子機のCIDのことであり、エントリ処理において1つの子機に複数のスロットを付与する場合に、ある子機に対するスロットの付与を複数回連続しておこなうために、ある子機に対するスロットの付与が開始されたら、接続対象CID以外のCIDの子機からのエントリ要求を無視するためのものである。次のステップS1009において、領域86内の、エントリスロット領域ESlotに、空いているスロット番号のうちの1つを割り当てる。
【0100】
その後、ステップS1011において、プロセサ20は、操作キー38(図1)からの信号を検証して、Aボタン(図示せず)が押されたかどうか判断する。ステップS1011で“YES”なら、そのとき自機(親機)のユーザがその子機のエントリを拒否したことを意味するので(図9参照)、続くステップS1013において、プロセサ20は、図18の子機リスト領域84から、その選択された子機のデータ、USlotおよびCIDを削除する。その後、ステップS1015で、図9に示すように新たな子機リスト18Bを表示させる。
【0101】
そして、ステップS1011で“NO”が判断されたときには、すなわち親機のユーザがAボタンを押さなかったとき、またはステップS1015を実行した後には、ステップS1017において、プロセサ20は、操作キー38からの信号に基づいて、スタートキー(図示せず)が操作されたかどうか判断する。“YES”なら、そのままリターンする。しかしながら、“NO”なら、続くステップS1021において、図29に詳細に示す親機の送受信処理を実行する。
【0102】
図27のステップS1019で示す親機の送受信処理が、図29に詳細に示される。図29のステップS2001では、プロセサ20は、送信バッファ92(図18)に未送信データがあるかどうか判断する。“YES”なら、次のステップS2003において、図14の親機スロットに必要なデータ、たとえばPID,ユーザ名,ゲーム名,OCフラグ,Eスロット,Uスロットおよび、上記未送信データであるペイロードを送信する。そして、次のステップS2005で子機パケットを受信した後、リターンする。
【0103】
先のステップS2001で“NO”が判断されたときには、次のステップS2007で、プロセサ20は、過去64ミリ秒の間データ送信をしなかったかどうか判断する。なお、この「64ミリ秒」という時間は、タイマずれを解消できる数値の一例であり、当然この数値に限られるものではない。
【0104】
ステップS2007で“YES”を判断したときには、ステップS2009で、親機スロットを用いて、ペイロードを除く各データ、たとえばPID,ユーザ名,ゲーム名,OCフラグ,EスロットおよびUスロットを送信する。このステップS2009は子機からのエントリを可能にするために必要なステップであり、ペイロード(送信すべきデータ)がなくても、エントリ処理に必要なデータ(PID,ユーザー名,ゲーム名,OCフラグ,Eスロット,Uスロット)を定期的に送信しているため、子機は常にエントリ処理できるのである。このステップS2009では、ペイロードデータは送信しない。そして、ステップS2009の終了後、またはステップS2007で“NO”が判断されたとき、先のステップS2005を経てリターンする。
【0105】
図27に戻って、ステップS1019に続くステップS1021で、プロセサ20は、図11に示す親機パケットのフィールドESlotで指定したスロットで、子機番号CIDを受信できたかどうか判断する(すなわち、子機がエントリスロットを使用してエントリ要求をしてきたかどうかを判断する)。このステップS1021で“NO”の場合、先のステップS1011に戻り、“YES”の場合、次のステップS1023で、図18の子機変数領域86の接続対象子機CIDがNullかどうか判断する(すなわち、現在エントリ処理中の他の子機があるか否かを判断する)。“YES”なら、つまり、接続対象子機番号(CID)が登録されていなければ、ステップS1025で、ステップS1019で受信した子機CIDを接続対象子機番号(CID)として、図18の領域86内の接続対象子機CIDに登録する。
【0106】
先のステップS1023で“NO”のとき、またはステップS1025を終えたとき、ステップS1027において、プロセサ20は、受信したCIDが接続対象CIDと同じかどうか判断する(すなわち、受信したCIDが現在エントリ処理中の子機のCIDか否かを判断する)。“NO”なら先のステップS1011に戻るが、“YES”なら次のステップS1029で、図18の領域86内のUスロット領域USlotのエントリスロットを示す部分に、そのCIDを格納する。そして、ステップS1031で、実接続スロット数nをインクリメント(+1)し、ステップS1033で、n=Nかどうか、すなわち、実接続スロット数nが1台の子機に与える最大スロット数N(ゲーム毎に異なる)に達したかどうかを判断する。“YES”なら、その子機に対してそれ以上のスロットの付与は許容できないので、図28で示す次のステップS1035に進む。しかしながら、“NO”なら、その子機に対してさらにスロットを付与することが可能なので、ステップS1009に戻る。
【0107】
実付与スロット数nが最大付与可能スロット数Nに達したときには、その子機に対するエントリ処理を終了して、図28のステップS1035に進むが、このステップS1035では、親機となった携帯ゲーム機のプロセサ20は、エントリ処理が終了した子機のユーザ名、およびゲーム名等を受信する。この子機のユーザ名およびゲーム名がステップS1037において、子機リストに追加され、ステップS1039において、子機リスト18Bが、図9に示すように表示される。
【0108】
その後、親機のプロセサ20は、ステップS1041において、実接続子機数mをインクリメント(+1)し、ステップS1043において、その実接続子機数mが最大接続可能子機数M(ゲーム毎に異なる)と等しくなったかどうかを判断する。このステップS1043で“YES”が判断されると、つまり、それ以上子機を接続できないと判断したときには、そのままリターンする。
【0109】
逆に、1台以上の子機が未だ接続可能な場合、すなわちステップS1043で“NO”が判断された場合には、図27のステップS1007に戻る。
【0110】
このようにして、図21のステップS29での接続処理が実行され、さらに、図22のステップS31において、子機の募集を一旦打ち切り、他の子機の参加を禁止するために、エントリスロットESlotに「ffh」を書き込む。そして、ゲーム中に必要に応じて、子機を追加募集できるように、図18の領域86内の接続対象CIDをNull,実接続スロット数n=0としておく。
【0111】
その後、ステップS33においてゲームスタートかどうか、つまり、操作キー38に含まれるスタートボタン(図示せず)が押されたかどうか判断する。スタートボタンが押されると、次のステップS35において、プロセサ20は、図18に示す親機変数領域86のUスロット領域USlotを参照して、現に接続中の子機の数「m」を検出する。Uスロットの各領域のうち「0h」でない領域の数が現に接続中の子機の数mである。そして、ステップS37で、接続中の子機数mが最大接続可能数Mより小さいかどうか判断する。このステップS37で“YES”が判断されるということは、新規子機のエントリを許容できることを意味していて、したがって、この場合には、次のステップS39において、親機変数領域86のEスロット領域ESlotに、空いているスロット番号(Uスロットのうち「0h」である領域に対応するスロット番号)の1つを設定する。これによって、領域ESlotの「ffh」の状態設定が解除される。
【0112】
そして、ステップS41において、先に図29を参照して説明した親機の送受信処理を実行することによって、図11に示す親機パケットをブロードキャスト(送信)するとともに、各子機からの図13に示す子機データ(パケット)を受信する。
【0113】
その後、ステップS43において、プロセサ20は、一定時間t1以上、或る子機のデータを受信できなかったかどうか判断する。このステップS43で“YES”が判断されるということは、該当の子機が既に通信可能範囲64(図2)を離脱した可能性があることを意味し、その場合には、ステップS45において、プロセサ20は、該当の子機の子機番号CIDを親機変数領域86(図18)のUスロット領域USlotから削除する。この処理によって、離脱した子機が使用していた子機スロットが空きスロットになるので、離脱した子機の代わりに新たな子機のエントリが可能になる。
【0114】
ステップS43で“NO”が判断されたとき、またはステップS45を終えたとき、次のステップS47において、プロセサ20は、親機変数領域86のEスロット領域ESlotに「ffh」が設定されているかどうか判断する。“YES”なら、次のステップS49で、プロセサ20は、カートリッジ16のゲームプログラム62(図15)に従って、ゲーム処理を実行する。
【0115】
図22のステップS47で“NO”が判断されたときには、子機の途中参加を許容するために、プロセスは図23のステップS51に進む。このステップS51では、親機のプロセサ20は、EスロットフィールドESlotで指定したスロットで子機CIDを受信できたかどうか判断する。“YES”なら、次のステップS53において、図18の領域86内の接続対象CIDの領域に「Null」が書き込まれているかかどうか判断する。“YES”なら、つまり、接続対象子機のCIDが登録されていなければ、ステップS55で、Eスロットで指定したスロットで受信した子機CIDを接続対象CIDの領域に登録する。
【0116】
先のステップS53で“NO”のとき、またはステップS55を終えたとき、ステップS57において、プロセサ20は、受信した子機番号CIDが接続対象CIDと同じかどうか判断する。“YES”なら次のステップS59で、図18の領域86のUスロット領域USlotのエントリスロットを示す部分に、その子機番号CIDを格納する。そして、ステップS61で、実接続スロット数nをインクリメント(+1)し、ステップS63で、n=Nかどうか、すなわち、実接続スロット数nが1台の子機に与える最大スロット数Nに達したかどうかを判断する。“YES”なら、その子機にそれ以上のスロット付与は許容できないのでその子機に対するスロット付与を終了し、ステップS65で、領域86内の、接続対象CIDの領域に「Null」を設定するとともに、変数nにゼロ(0)を書き込む。
【0117】
その後、親機のプロセサ20は、ステップS67において、実接続子機数mが最大接続可能子機数Mと等しくなったかどうかを判断する。このステップS67で“YES”が判断されると、つまり、それ以上子機を接続できないと判断したときには、ステップS69において、Eスロット領域ESlotに「ffh」を書き込む。
【0118】
なお、ステップS69の後、または、ステップS51,S57,S63もしくはS67においてそれぞれ“NO”が判断されたときには、いずれの場合にも子機の途中参加処理をやめてゲーム処理に戻る(図22のステップS49に戻る)。
【0119】
以上が、自機にOCモード対応でないカートリッジが装着されている場合で、かつ自機が親機になる場合の携帯ゲーム装置の処理である。
【0120】
次に、自機にOCモード対応のカートリッジが装着されている場合の携帯ゲーム装置の処理を説明する。
【0121】
図19のステップS5において“YES”が判断されたとき、すなわち、自機に図16に示すOCモード対応のカートリッジを装着している場合には、次のステップS71で、プロセサ20は、モード選択画面(図示せず)を表示する。そして、ステップS73において、通常モードが選択されたかどうか判断する。“YES”なら、先のステップS5で“NO”を判断したときと同様に、図20のステップS7に進む。すなわち、OCモード対応でないカートリッジを装着している場合の処理と、OCモード対応のカートリッジを装着しているが通常モードを選択した場合の処理は同じである。
【0122】
自機にOCモード対応のカートリッジが装着されていてかつOCモードのゲームをプレイする場合には、自機は親機にしかなれない。詳しく述べると、ステップS73で“NO”なら、すなわち、OCモードが選択された場合には、次のステップS75において、先のステップS29(図21)と同様に、図27,図28を参照して詳しく説明した親機の接続処理を実行する。ただし、このときには、1台の子機の使用可能スロット数Nは「1」とし(N=1)、最大接続可能台数Mとしては、ゲームで許容されている数を設定する。その後、ステップS77で、プロセサ20は、図16に示す転送用子機プログラム76を子機に転送(ダウンロード)する。その後、図22のステップS31に進み、前述と同様にそれぞれ以降の各ステップを実行する。
【0123】
以上が、自機にOCモード対応のカートリッジが装着されている場合の携帯ゲーム装置の処理である。
【0124】
次に、自機にOCモード対応でないカートリッジが装着されている場合で、かつ自機が子機になる場合の携帯ゲーム装置の処理を説明する。
【0125】
図21のステップS27で“NO”が判断されたときには、つまり自機が親機になるという選択をしなかったときには、続くステップS79において、携帯ゲーム機12のプロセサ20は、操作キー38からの操作信号を検証して、Aボタン(図示せず)が操作されたかどうか、つまり、接続を希望する親機を選択したかどうかを判断する。このステップS79で“YES”を判断ときには、プロセサ20は、続いて、ステップS81において、当該選択した親機との間で通信可能かどうかを判断する。すなわち、親機のカートリッジと自機のカートリッジが所定の関係にあって通信可能かどうかを判断する。通信可能なときには、その後、図24のステップS83に進み、子機の接続処理を実行する。この子機の接続処理は、詳しくは、図30および図31に示される。
【0126】
図30の最初のステップS3001では、子機となった携帯ゲーム機のプロセサ20が、親機パケット(図11)の受信を試みる。そして、次のステップS3003において、メニュー画面(図3等)で選択した親機の、フレーム同期データsyncを受信できたかどうか判断する。具体的には、メニュー画面で選択した親機のPIDを含む親機パケットの同期データsyncを受信できたかどうか判断する。
【0127】
ステップS3003で“NO”が判断されたとき、つまり、選択した親機の親機パケットが受信できなかった場合には、ステップS3005において、タイムアウト(時間切れ)かどうか判断し、このステップS3005で“NO”なら先のステップS3001に戻るが、“YES”なら、ステップS3007で接続結果変数(図18の領域88内の)に「失敗」を書き込んでリターンする。
【0128】
ステップS3003で“YES”が判断されたとき、つまり、対象としている親機の同期信号を受信できたときには、ステップS3009で、子機のプロセサ20は、同期タイマ(領域88)をリセットし、次のステップS3011に進む。このステップS3011では、プロセサ20は、擬似ランダム値を子機のID番号CIDとする。そして、ステップS3013において、このときのCIDを持った子機が既に存在するかどうか判断する。すなわち、受信した親機パケットのUスロットを参照して、同一のCIDが既に存在するかどうか、判断する。ステップS3013で“YES”の場合には一旦付与した番号を変更する必要があり、したがって、この場合には、ステップS3011を再度実行し、新たな番号CIDを付与して、ステップS3013での検証を再度実行する。
【0129】
ステップS3013で“NO”が得られるまでこれらステップS3011およびS3013が繰り返され、“NO”が得られたとき、次のステップS3015に進む。ステップS3015では、実付与スロット数nをゼロ(0)とし、さらに、次のステップS3017で、親機パケットを受信するとともに、ステップS3019において、同期タイマを再度リセットする。そして、ステップS3021において、プロセサ20は、受信した親機パケットのEスロットESlot(図11参照)が「ffh」であるかどうか判断する。このステップS3021で“YES”が判断されると、子機のエントリは禁止されているので、先のステップS3007を経て、「失敗」としてリターンする。
【0130】
ステップS3021で“NO”が判断されたときには、子機のエントリは禁止されてはいないので、図31のステップS3023に進む。ステップS3023では、子機のCPUコアは、そのときの親機パケットのEスロットフィールドESlotで示されるスロットにステップS3011で得た番号CIDを送信する。そして、次のステップS3025において親機パケットを受信するとともに、ステップS3027において同期タイマを再度リセットする。
【0131】
そして、続くステップS3029において、子機のプロセサ20は、受信した親機パケットのUスロットフィールドのエントリスロット位置に自身の番号(CID)があるかどうか確認する。そして、このステップS3029で“NO”を判断すると、次のステップS3031で、プロセサ20は、タイムアウトかどうか判断する。タイムアウトではない場合には、先のステップS3017(図30)に戻るが、タイムアウトを生じた場合には、図30のステップS3007において「失敗」を接続結果変数に書き込んだ後にリターンする。
【0132】
ステップS3029で“YES”が判断されたとき、つまり、受信した親機パケットのUスロットのエントリスロット位置に自身の番号(CID)があったときには、続くステップS3033において実付与スロット数nをインクリメント(+1)した後、ステップS3035において、実付与スロット数nが1台の子機に付与できる最大スロット数N(ただし、このNは、ゲームによって変化し、たとえば1−4の値である。)と等しくなったかどうか判断する。このステップS3035で“NO”が判断されるときには、つまり、スロットが未だ付与できるときには、先のステップS3025に戻って親機パケットを受信する。
【0133】
しかしながら、ステップS3035で“YES”が判断されると、可能な数のスロットがすべて割り付けられたものとして、次のステップS3037において、接続結果変数に「成功」を登録し、次のステップS3039に進む。このステップS3039では、接続した親機の親機番号PIDおよび獲得したスロット番号を自身の内部RAM28(図18)の領域88に格納する。ただし、スロット数は複数の場合もあり、この実施例では「0」−「3」のいずれかの数値である。そして、その後図24のステップS85にリターンする。
【0134】
そのステップS85では、領域88の接続結果変数を参照して、接続結果が「成功」かどうか判断する。そして、“NO”の場合には、次のステップS87において、メッセージたとえば「接続できませんでした」を子機のLCD18(図1)に表示して図20のステップS7に戻る。
【0135】
親機への接続成功の場合には、次のステップS89において、子機のプロセサ20は、親機に対して、自身に付与された子機スロットを利用して、自身のユーザ名およびゲーム名を送信する。そして、ステップS91において、ゲームスタートかどうか、すなわち、操作キー38に含まれるスタートボタンが押されたかどうか判断する。このステップS91でスタートボタンのオンが検出されると、次のステップS93において、子機の送受信処理を実行する。
【0136】
図24のステップS93で示す子機の送受信処理が、図32に詳細に示される。図32のステップS4001で親機パケットを受信し、次のステップS4003で同期タイマ(図18)をリセットする。そして、ステップS4005では、子機のプロセサ20は、送信バッファ92(図18)に未送信データがあるかどうか判断する。“YES”なら、次のステップS4007において、既に割り付けられている子機スロットを用いて、必要なデータ、たとえばCIDおよびペイロードを送信する。そして、未送信データがない場合、またはステップS4007の後、プロセスは、図24のステップS95にリターンする。
【0137】
再び図24に戻って、ステップS95では、子機のプロセサ20は、時間t2以上の間にわたって親機からのデータを受信できなかったかどうか判断する。この時間t2は、先の図22のステップS43での時間t1より短い。すなわち、t1>t2である。なぜなら、t1は親機が通信異常の子機を切断する時間であり、t2は子機が復帰処理を開始する時間であるので、親機は子機の復帰処理を待ってから切断する必要があるためである。“NO”の場合には、さらに次のステップS97で、受信した親機パケットのUスロットフィールドに自身の番号CIDが含まれているかどうか判断する。ステップS97で“YES”の場合には、ステップS99において、図22のゲーム処理を実行する。ただし、ステップS97で“NO”が判断されたときは、すなわち、親機パケットのUスロットフィールドに自機の番号がない場合には、ステップS101において、メッセージたとえば「親機から切断されました」をLCDに表示し、図20のステップS7に戻る。
【0138】
先のステップS95で“YES”が判断されたときには、つまり、一定時間t2以上にわたって親機からのデータを受信できなかったときには、ステップS103においてメッセージたとえば「親機と通信できなくなりました。復帰を試みます」を表示した後、ステップS105で、復帰処理を実行する。
【0139】
この復帰処理の詳細が図33に示されていて、この図33の最初のステップS5001では、子機のプロセサ20は、復帰すべき親機パケットの受信を試みる。そして、ステップS5003では、その親機からのブロードキャストデータを受信できたかどうか判断する。ただし、自分が復帰すべき親機かどうかは、図18の領域88に登録されている「接続先のPID」をみればわかる。
【0140】
ステップS5003で“NO”が判断されたとき、つまり、復帰すべき親機パケットのデータを受信できなかったとき、次のステップS5005で、タイムアウトになったかどうか判断する。そして、“NO”なら、先のステップS5003に戻るが、タイムアウトになってしまったら、次のステップS5007で、図18に示す領域88に含まれる復帰結果変数に「失敗」を書き込み、リターンする。
【0141】
先のステップS5003で“YES”が判断されたとき、すなわち、対象としている親機からの親機パケットを受信できたときには、次のステップS5009で同期タイマをリセットし、さらに、ステップS5011で親機パケットを受信する。そして、ステップS5013において、その親機パケットのUスロットフィールドに自身の番号CIDがあるかどうか判断する。受信した親機パケットに自機の番号があるということは、時間t2以上にわたる通信不能状態の原因は、親機による意図的な切断ではないということであり、したがって、次のステップS5015において、領域88(図18)の復帰結果変数に「成功」を登録してリターンする。このように復帰処理をすることによって、例えば、親機と子機が誤って通信可能範囲を外れた場合や、通信状態が悪くて通信ができなかった場合、または、子機を操作しているプレイヤに用事ができて、その子機プレイヤが少しの間通信可能範囲を外れる必要がある場合等に、それらの要因が解消されて通信が可能になった後に、以前の通信状態に復帰することが可能になる。
【0142】
ただし、ステップS5003で“YES”になってもステップS5013で“NO”が判断されたときには、通信不能が親機の意思による切断が原因であったものとして、先のステップS5007を経て、リターンする。
【0143】
図33のサブルーチンから図24のステップS107にリターンすると、このステップS107では、領域88の復帰結果変数を参照して、復帰が「成功」したかどうか判断する。“YES”なら、ステップS99に進んでゲーム処理を実行する。しかしながら、“NO”なら、ステップS109でメッセージたとえば「復帰できませんでした」を表示した後、図20のステップS7に戻る。
【0144】
以上が、自機にOCモード対応でないカートリッジが装着されている場合で、かつ自機が子機になる場合の携帯ゲーム装置の処理である。
【0145】
次に、自機にカートリッジが装着されていない場合の携帯ゲーム装置の処理を説明する。ただし、この場合には、自機は、OCモード対応のゲームの子機として動作できるだけである。
【0146】
図19に戻って、ステップS3で“NO”が判断されたとき、すなわちその子機にカートリッジがないことを検出した場合は、ブートROM(図1の24)のプログラムであるステップS111において、無線通信ユニット14(図1)のROM52に設定されているOCDプログラム(親機から子機用プログラムをダウンロードするためのプログラム)を携帯ゲーム機12のプロセサ20に含まれるWRAM28に展開し、その後ステップS113において、子機のプロセサ20は、そのWRAM28上に展開されたOCDプログラムを起動する。
【0147】
その後、図25のステップS115において、子機のプロセサ20は、図18に示すような親機リスト領域80をクリアするとともに、親機リストクリアタイマ82をリセットする。ついで、ステップS117において、親機パケットの受信を試みる。そして、ステップS119において、親機パケットの受信が成功したかどうか判断し、“NO”ならステップS125に進み、“YES”なら、ステップS121に進む。ステップS121では、受信した親機パケットに含まれる親機番号PIDと図18に示す親機リスト領域80に登録されている番号PIDとを比較して、その親機パケットを送信した親機が親機リスト内に存在しないかどうか判断する。このステップS121で“YES”が判断されると、ステップS123において、親機リストに新たな親機を登録するように、親機パケットから読み出された、親機番号PID,ユーザ名,ゲーム名,OCフラグおよびEスロットを親機リスト領域80に追加する。その後ステップS125に進む。
【0148】
ステップS125では、ステップS115でリセットした親機リストクリアタイマ82の値が「2秒」以上になったかどうか判断する。“YES”なら、ステップS127で親機リストすなわち親機リスト領域80をクリアするとともに、親機リストクリアタイマ82をリセットする。その後、ステップS125で“NO”を判断した場合と同様に、ステップS127に進む。
【0149】
ステップS127では、親機リストの内、「Eスロットが「ffh」でなくかつOCフラグが「1」である親機、つまり、OCモードでのゲームがプレイできかつ子機の参加(エントリ)を拒否していない親機の情報(ユーザ名,ゲーム名)を表示する。それによって、当該子機のユーザに対して図5に示すような親機リスト18Aを作成し、自機が接続したい親機を選択させる。そして、ステップS131で、Aボタン(図示せず)が操作されたかどうか判断する。つまり、どれか1つの親機が選択されたかどうか判断する。ステップS127で“NO”なら、つまり親機を選択しなかったら、次のステップS133で、操作キー38に含まれる十字キー(図示せず)が操作されたかどうか判断する。十字キーの操作は、エントリを希望する親機の選択のためにカーソルを移動させるためであり、したがって、このステップS133で“YES”なら、次のステップS135でカーソルを移動させ、ステップS113に戻る。
【0150】
ステップS131で“YES”が判断されると、ステップS139に進んで子機の接続処理(図30,図31)を実行する。
【0151】
ステップS137で、既に詳細に説明した方法に従って、子機の接続処理を実行し、次のステップS139で、図18の領域88の接続結果変数を参照して、接続が成功したかどうか判断する。“NO”なら、ステップS141でメッセージたとえば「接続できませんでした」を表示して、ステップS111に戻る。
【0152】
ステップS139で“YES”が判断されると、プロセサ20は、当該子機と成功裏に接続された親機に対して、自機のユーザ名,ゲーム名を送信する。その後、図26のステップS145に進み、OCモードでゲームをプレイするために、転送用子機プログラムを親機から受信して自機のRAM28(図1)内に展開するとともに、そのプログラムを起動させる。そして、その後は、ステップS147において、先に説明した図24ステップS91−S109と同様の各ステップを実行する。
【0153】
以上が、自機にカートリッジが装着されていない場合の携帯ゲーム装置の処理である。
【0154】
なお、図21のステップS81で“NO”が判断されたとき、すなわち、親機の選択を試みたが通信できなかったときには、ステップS149において、メッセージたとえば「その親機は選択できません」を表示して図20のステップS9に戻る。
また、図21のステップS79で“NO”が判断されたとき、つまり、BボタンもAボタンも操作されなかったときには、次のステップS151において、十字キー(図示せず)が操作されたかどうか、判断する。“NO”なら、次のステップS153で、さらにスタートキー(図示せず)が操作されたかどうか判断する。セレクトキーが操作されていないときは、図20のステップS9に戻る。ステップS153で“YES”が判断されたときには、ステップS153で、全表示フラグのオン/オフを切替えた後、同様にステップS9に戻る(すなわち、セレクトキーは全表示フラグのオン/オフの制御に使用される)。ただし、ステップS151で“YES”が判断されたときには、その十字キーの指示に従ってカーソルを移動させた後、ステップS9に戻る。
【0155】
なお、上述の実施例では、プログラムの進行に合わせて自機を親機とするか子機とするかを選択するようにした。しかしながら、直ちにこのような選択をするようにしてもよい。この場合には、図34に示すように、スタート直後の最初のステップS201で親機または子機の選択画面(図示せず)を表示し、その表示に従ってユーザが親機または子機を選択する。したがって、プロセサ20は、次のステップS203で、ユーザが親機を選択したかどうか判断する。ステップS203で“YES”の場合には、それ以後、先の図21のステップS29以降のステップを実行する。“NO”の場合、すなわち子機を選択したときには、図21に示すステップS7−S25,S79,S151−S157,およびS81−S109を実行する。
【図面の簡単な説明】
【図1】図1はこの発明の一実施例の無線送信ゲームシステムに用いられる携帯ゲーム装置の一例を示すブロック図である。
【図2】図2は図1実施例の携帯ゲーム装置を用いたゲームシステムの概略を説明するための図解図である。
【図3】図3は図2実施例において自機の周りのすべての親機の情報を表示する全表示フラグがオンされている場合の表示画面例を示す図解図である。
【図4】図4は図2実施例において、全表示フラグがオンされていない場合において、自機の周りに存在しかつ自機との間で通信ゲームが可能な親機だけを表示する表示画面例を示す図解図である。
【図5】図5は図2実施例において自機の周りに存在しかつOC(ワンカートリッジ)モードでゲームがプレイできる親機のみを表示する表示画面例を示す図解図である。
【図6】図6は図2実施例における或る状況での親機リストの表示画面例を示す図解図である。
【図7】図7は図2実施例において図6の状況でユーザ名「四郎」の携帯ゲーム装置が通信範囲に入ったときの親機リストの表示画面例を示す図解図である。
【図8】図8は図2実施例において図7の状況でユーザ名「一郎」の携帯ゲーム装置が通信範囲外に出たときの親機リストの表示画面例を示す図解図である。
【図9】図9は図2実施例において自機が親機でありかつ子機の接続(エントリ)を待っている状態の子機リストの表示画面例を示す図解図である。
【図10】図10は図2実施例におけるデータサイクルの一例を示す図解図である。
【図11】図11は図10実施例における親機スロットに送出される親機パケットの一例を示す図解図である。
【図12】図12は図11におけるUスロットを詳細に示す図解図である。
【図13】図13は図10実施例における子機スロットに送出される子機パケットの一例を示す図解図である。
【図14】図14は図1実施例の或る状況における通信データの具体例を示す図解図である。
【図15】図15はOCモードには対応しないカートリッジのメモリマップの一例を示す図解図である。
【図16】図16はOCモードに対応するカートリッジのメモリマップの一例を示す図解図である。
【図17】図17は図1実施例の無線通信ユニットに含まれるEEPROMのメモリマップの一例を示す図解図である。
【図18】図18は図1実施例において携帯ゲーム装置を構成する携帯ゲーム機の内部RAMのメモリマップの一例を示す図解図である。
【図19】図19は図1実施例の携帯ゲーム機の動作を示すメインフローの一部を示すフロー図である。
【図20】図20は図19の続きを示すフロー図である。
【図21】図21は図20の続きを示すフロー図である。
【図22】図22は図21の続きを示すフロー図である。
【図23】図23は図22の続きを示すフロー図である。
【図24】図24は図21の続きを示すフロー図である。
【図25】図25は図19の続きを示すフロー図である。
【図26】図26は図25の続きを示すフロー図である。
【図27】図27は親機の接続処理の動作の一部を示すフロー図である。
【図28】図28は図27の続きを示すフロー図である。
【図29】図29は親機の送受信処理の動作を示すフロー図である。
【図30】図30は子機の接続処理の動作の一部を示すフロー図である。
【図31】図31は図30の続きを示すフロー図である。
【図32】図32は子機の送受信処理の動作を示すフロー図である。
【図33】図33は子機の復帰処理の動作を示すフロー図である。
【図34】図34は自機を親機とするか子機とするかの選択を最初に行う実施例の要部を示すフロー図である。
【符号の説明】
10 …携帯ゲーム装置
12 …携帯ゲーム機
14 …無線通信ユニット
16 …カートリッジ
18 …LCD
20 …プロセサ
22 …CPUコア
24 …ブートROM
28 …WRAM
38 …操作キー
42 …ROM
54 …EEPROM[0001]
[Industrial application fields]
The present invention relates to a game system using wireless communication, and more particularly to a wireless communication game system, an entry processing method, an entry processing method, and a portable game device and a game program used for the entry processing of a newly entered portable game device.
[0002]
[Prior art]
An example of a conventional wireless communication game system is disclosed in, for example, Patent Document 1 (International Classification: A63F13 / 00, H04L12 / 28) filed on May 16, 2000. In this prior art, when a new game device enters (joins) a communication game, it receives communication data from another game device, confirms an empty time slot, and transmits an entry request to the empty time slot ( (See paragraph 35).
[0003]
[Patent Document 1]
JP 2000-135380 A
[0004]
[Problems to be solved by the invention]
In the above-described prior art, since each game device independently detects an empty time slot, there is a case where processing is wasteful, and when the communication state is bad, the empty time slot cannot be detected accurately. In addition, since a specific game device does not perform leading processing regarding entry processing, there is no certainty in entry processing.
[0005]
Therefore, a main object of the present invention is to provide a novel wireless communication game system, an entry processing method, a portable game device, and a game program.
[0006]
Another object of the present invention is to provide a wireless communication game system, an entry processing method, a portable game device, and a game program that can perform entry processing quickly and reliably.
[0007]
[Means for Solving the Problems]
The present invention is a wireless communication game system using a plurality of portable game devices. A portable game device can be a parent device or a child device (a game device can be fixed in advance as a parent device or a child device, or both a parent device and a child device can be selectively selected. It may be one side). In addition, the portable game devices can wirelessly communicate with each other at a predetermined communication cycle. This communication cycle is composed of a first time slot and a second time slot including a plurality of sub time slots. The parent device broadcasts the parent device packet in the first time slot and receives the child device packet in the second time slot. The parent device further includes first sub time slot determination means, entry request detection means, and parent device packet setting means. The first sub time slot determining means determines a first sub time slot to be used by a new slave unit among the plurality of sub time slots. The entry request detection means detects an entry request transmitted from the new slave unit to the first sub time slot. The base unit packet setting means sets specification data for specifying the first sub time slot in the base unit packet, and sets use permission data in the base unit packet in response to the entry request. The slave unit transmits the slave unit packet in at least one sub time slot among the plurality of sub time slots, and receives the master unit packet in the first time slot. The slave unit further includes entry request transmission means and success / failure determination means. The entry request transmission means transmits the entry request to the first sub time slot indicated by the designation data included in the parent device packet. The success / failure determination means determines the success / failure of the entry based on whether or not the use permission data is broadcast in the first sub time slot of the parent device packet.
[0008]
The invention of
[0009]
The invention according to
[0010]
The invention of
[0011]
The invention of
[0012]
The invention of claim 6 is dependent on any one of
[0013]
The invention of
[0014]
The invention of
[0015]
The invention of
[0016]
A tenth aspect of the present invention is dependent on the seventh aspect, and the slave unit further includes connection disconnection detecting means for detecting disconnection by the master unit due to the absence of the identification data in the second field.
[0017]
The invention of
[0018]
A twelfth aspect of the present invention is dependent on any one of the first to eleventh aspects, and the parent device further includes entry number determining means for determining the maximum number of child devices that permit entry according to the game to be executed.
[0019]
The invention of
[0020]
The invention of
[0021]
The invention of
[0022]
The invention of
[0023]
The invention of
The invention according to
[0024]
The invention of
[0025]
[Action]
In the embodiment, the wireless communication game system is configured by using at least two portable game devices (10: reference numerals corresponding to the embodiments; the same applies hereinafter). The portable game device (10) of the embodiment includes a portable game machine (12) and a wireless communication unit (14) attached to the portable game machine. In the case of a parent device, the portable game device broadcasts the parent device packet in the first time slot (parent device slot) and uses the wireless communication unit (14) to form the second time slot. A handset packet is received at one of the handset slots 0-3. In the case of the slave unit, the master unit packet is received in the first time slot, and the slave unit packet is transmitted to the master unit in the second time slot.
[0026]
In the embodiment, the first time slot determining means includes a processor (20) of the portable game machine and step S1009 of FIG. 27 executed thereby. In this step S1009, the processor determines the E slot of the parent machine packet. In the field (ESlot), designation data (specifically, a sub time slot number) that designates a first sub time slot that is not used, that is, vacant is set.
[0027]
The slave unit transmits an entry request to the first sub time slot indicated by the designated data included in the master unit packet. In this embodiment, the entry request is the child device number (CID) of the own device, and the processor (20) of the portable game device serving as the child device sets the first CID of the own device in step S3023 of FIG. Transmit in sub time slot.
[0028]
In the embodiment, the entry request detection means of the master unit includes the processor (20) and step S1021 of FIG. 27 executed by the processor. In this step S1021, the processor indicates the first data indicated by the designated data (ESlot). It is determined whether or not the child device CID transmitted from the child device in one sub time slot has been received. This entry request detection means detects an entry request from the slave unit and permits the entry request.
[0029]
The parent device packet set by the parent device packet setting means includes designation data and use permission data. In the embodiment, the base unit packet setting means corresponding to step S1029 in FIG. 27 stores, for example, the CID of the slave unit that has requested entry in the entry slot position of the U slot field (USlot).
[0030]
Therefore, the success / failure determination means of the child device first determines whether or not its own CID exists at the entry slot position of the field (USlot) of the parent device packet in step S3029 in FIG. It can be determined whether or not the sent entry request is permitted.
[0031]
According to the second aspect, since the use permission data is set in the first sub time slot, a special time slot for giving the use permission for the entry request is not required.
[0032]
The first field and the second field of
[0033]
According to the fourth aspect, since the designated data is set during the game, the slave unit can request entry during the game and determine whether or not it is possible.
[0034]
In the embodiment, the prohibiting means according to
[0035]
The identification data storage means of claim 6 is the area CID of the
[0036]
Also in
[0037]
In the eighth aspect, the U slot shown in FIG. 11 specifically includes a subfield for each sub time slot as shown in FIG. 12, and the parent device packet setting means sets identification data in the subfield. Therefore, the success / failure determination means of the slave unit determines the success or failure of the entry depending on whether or not its own number CID exists in the subfield. According to the eighth aspect, the same effect as that of the seventh aspect can be expected.
[0038]
The identification data setting means of
[0039]
[0040]
[0041]
Since the maximum number of sub time slots assigned to one slave unit and the maximum number of slave units that can participate simultaneously can be determined according to the game, one sub time slot can be selected within a certain number of sub time slots. Either increase the data rate by increasing the number of slaves that can be assigned by reducing the number of slaves that can be assigned, or by increasing the number of slaves that can be assigned to one slave. It can be determined according to the content. For example, the former is used when the game is more interesting for many players to participate, and the latter is used when the game has a large amount of communication.
[0042]
[0043]
According to the fifteenth and sixteenth aspects of the invention, the same effect as the wireless communication game system of the first aspect can be expected. However, in
[0044]
Also in the invention of
[0045]
According to the nineteenth aspect of the present invention, it is possible to play a wireless communication game in which one is a parent device and the other is a child device using a plurality of the same portable game devices.
[0046]
【The invention's effect】
According to the present invention, the parent device can take a leading role with respect to the entry and reliably execute the entry process. Further, since an entry request is issued from the slave unit to the first sub time slot whose vacancy is confirmed, a dedicated slot for entry request is not required.
[0047]
The above object, other objects, features and advantages of the present invention will become more apparent from the following detailed description of embodiments with reference to the drawings.
[0048]
【Example】
As an example, the wireless communication game system to which the present invention is applied uses a
[0049]
A
[0050]
The
[0051]
The
[0052]
The
[0053]
The
[0054]
In the
[0055]
In the wireless communication game system of the embodiment according to the present invention, a plurality of
[0056]
When the
[0057]
First, in the case where the
[0058]
However, when the user wants to use his / her own device as the parent device, the user may press the B button included in the
[0059]
In FIG. 2, although there are four parent devices in the
[0060]
Further, in the
[0061]
Further, when the all display flag is OFF, the
[0062]
In the above example, the Mario Kart-1 cartridge is attached to the own device (slave device). However, if the player wants to play a game in the OC mode without attaching the cartridge to the own device, the
[0063]
Next, referring to FIG. 6 to FIG. 8, the master unit with the user name “Shiro” enters the
[0064]
Thereafter, when the parent device having the user name “Shiro” enters the range, the
[0065]
Then, when the parent device having the user name “Ichiro” moves out of the
[0066]
Further, when the own device is a parent device and is waiting for the participation of a new child device, the
[0067]
Next, a data packet format when wireless communication is performed between a parent device and a child device in a connected state will be described with reference to FIGS. As shown in FIG. 10, one data cycle is 2 milliseconds, and the data cycle includes one master unit slot and a plurality of (four in this embodiment) slave unit slots. In the parent device slot, the parent device packet specifically shown in FIG. 11 is broadcast (broadcast), and in each of the four child device slots, the child device packet specifically shown in FIG. 13 is transmitted to the parent device. Is called.
[0068]
As shown in FIG. 11, the base unit packet has a field sync for storing synchronization data at its head, and stores the number (identification code) PID of the base unit following the synchronization data field sync. Field PID for Following the field PID, a user name field UserName and a game name field GameName are formed. In the user name field UserName, the user name read from the EEPROM 54 (FIG. 1), such as “Taro” and “Ichiro” in the above example, is registered, and in the game name field GameName, the game name, the above example In other words, MarioKart-1, Mario Kart-2, F-Zero, Golf,... Are registered. However, if the cartridge 16 (FIG. 1) is mounted, the game name (68 in FIG. 16) read from the ROM 42 (FIG. 1) can be automatically registered in the game name field GameName.
[0069]
The parent device packet further includes a flag OC, and this flag OC is a flag indicating whether or not the one-cartridge (OC) mode described above can be supported. Specifically, when the flag OC is reset, that is, when OC = 0, the game machine of the parent machine at that time is not compatible with the OC mode, or can be compatible with the OC mode, but at present, Indicates that you are playing in normal mode. When the flag OC is set, that is, when OC = 1, it indicates that the OC mode can be supported and that the OC mode is currently being played. Therefore, a user who does not have a cartridge needs to search for a parent machine whose flag OC is “1”.
[0070]
Subsequent to the flag OC, the base unit packet includes fields ESlot, USlot, and Payload sequentially. The E slot field ESlot stores the number of the slave unit slot that can be entered (participated). That is, the slot number that can be used by the newly participating slave unit is stored. In the U slot field USlot, the usage status of the slave unit slot is stored. Specifically, it is shown in FIG. That is, U slot field USlot includes four areas, and each of the four areas corresponds to
[0071]
The payload field Payload is a field for transmitting game data necessary for the game process, and is a field for storing game data transmitted from the parent device to the child device.
[0072]
FIG. 13 shows a handset packet sent from the handset to the handset slot assigned to the handset. That is, the child device packet includes a head field CID for storing or registering the child device number CID and a payload field Payload subsequent thereto. The payload field Payload is a field for storing game data transmitted from the child device to the parent device.
[0073]
FIG. 14 shows a specific example. In the example of FIG. 14, it is understood that “58” is stored in the parent device number field PID, and therefore, the parent device number PID is “58”. The user name of the parent device is “Taro”, the game name is Mario Kart, the flag OC is “0”, “2” is registered in the E slot field ESlot, and the U slot field Uslot , A slave unit having a slave unit number (CID) of “16” is connected to the
[0074]
When a new slave unit tries to connect to the master unit in such a state, referring to the U slot field USlot of the master unit, “16” and “130” are used as the slave unit number CID. Therefore, the other handset number CID is determined by generating a random number, for example. As an example, assume that “86” is determined as the CID of the child device. Therefore, the slave unit transmits CID = 86 to the slave unit slot (slave unit slot 2) designated by ESlot.
[0075]
Then, by receiving “86” in the
[0076]
FIG. 15 shows a memory map of a cartridge that does not support the OC mode, and FIG. 16 shows a memory map of a cartridge that can support the OC mode.
[0077]
In the embodiment of FIG. 15, the ROM 42 (FIG. 1) included in the
[0078]
Also in the embodiment of FIG. 16, the ROM 44 of the
[0079]
FIG. 17 shows a memory map of the
[0080]
Referring to the memory map shown in FIG. 18, the WRAM 28 (FIG. 1) of the
[0081]
The base
[0082]
The base unit list
[0083]
The
[0084]
The
[0085]
In the base
[0086]
In the cordless
[0087]
The
[0088]
Two or more
[0089]
Prior to the detailed description, when a cartridge that is not compatible with the OC mode is mounted on the own device and when the own device becomes the parent device, Step S29 (FIG. 21) to Step S69 (FIG. 23) described later. Perform a series of steps. Further, when a cartridge that is not compatible with the OC mode is mounted on the own device and when the own device is a slave device, a series of steps from Step S83 to Step S109 (FIG. 24) described later is executed. Become.
[0090]
Further, when a game is played in the normal mode (not the OC mode) although the cartridge capable of supporting the OC mode is attached to the own device, when the own device is set as the parent device, step S29 (FIG. 21). -When a series of steps of Step S69 (FIG. 23) is executed and the own machine is used as a slave machine, a series of steps of Step S83 to Step S109 (FIG. 24) is executed in the same manner as above.
[0091]
Further, when a cartridge capable of supporting the OC mode is mounted on the own device and the game is played in the OC mode, the own device can only function as the parent device. In this case, steps S75 and S77 (see FIG. 19), a series of steps from Step S29 shown in FIG. 21 to Step S69 shown in FIG.
[0092]
If the cartridge is not attached to the own device, the own device can only be a slave device in the OC mode. Therefore, in this case, a series of steps S111 (FIG. 19) to step S147 (FIG. 26) is performed. The steps will be executed.
[0093]
FIG. 19 shows the operation of the
[0094]
When “NO” is determined in step S5, that is, when a cartridge is mounted in the own apparatus but the cartridge is not an OC mode compatible cartridge, the process proceeds to step S7 in FIG. 20, and the parent device list area shown in FIG. 18 is cleared, and the parent device list
[0095]
Thereafter, in step S9, an attempt is made to receive the parent device packet as shown in FIG. In step S11, it is determined whether the base unit packet has been successfully received. When “YES” is determined in step S11, in subsequent step S13, it is determined whether or not the parent device that broadcasts the parent device packet is a parent device that does not exist in the parent device list. Specifically, in step S13, the parent device PID and the user name in the received parent device packet data (data temporarily stored in the
[0096]
When “NO” is determined in the previous step S11, or when the registration in step S15 is completed, in the next step S17, the value of the parent device list clear timer 82 (FIG. 18) reset in the previous step S7 is set. Judge whether it is more than 2 seconds. If “YES”, the
[0097]
Thereafter, the process proceeds to step S27 in FIG. 21, and the
[0098]
Here, with reference to FIG. 27 and FIG. 28, the parent device connection processing in step S29 for recruiting the child devices will be described in detail. In the first step S1001 in FIG. 27, the
[0099]
In the subsequent step S1003, the
[0100]
Thereafter, in step S1011, the
[0101]
When “NO” is determined in
[0102]
The transmission / reception process of the master unit shown in step S1019 of FIG. 27 is shown in detail in FIG. In step S2001 in FIG. 29, the
[0103]
If “NO” is determined in the previous step S2001, in the next step S2007, the
[0104]
If “YES” is determined in step S2007, each data excluding the payload, for example, PID, user name, game name, OC flag, E slot, and U slot are transmitted using the parent machine slot in step S2009. This step S2009 is a step necessary for enabling entry from the slave unit, and even if there is no payload (data to be transmitted), data (PID, user name, game name, OC flag required for entry processing) , E slot, and U slot) are periodically transmitted, the slave unit can always perform entry processing. In step S2009, payload data is not transmitted. Then, after the end of step S2009 or when “NO” is determined in step S2007, the process returns through the previous step S2005.
[0105]
Returning to FIG. 27, in step S1021 following step S1019, the
[0106]
If “NO” in the previous step S1023 or when step S1025 is completed, in step S1027, the
[0107]
When the actual grant slot number n reaches the maximum grantable slot count N, the entry processing for the child device is terminated and the process proceeds to step S1035 in FIG. 28. In this step S1035, the portable game machine serving as the parent machine The
[0108]
Thereafter, the
[0109]
Conversely, if one or more slave units are still connectable, that is, if “NO” is determined in the step S1043, the process returns to the step S1007 in FIG.
[0110]
In this way, the connection process in step S29 in FIG. 21 is executed. Further, in step S31 in FIG. 22, the entry slot ESlot is used to temporarily cancel the recruitment of the slave units and prohibit the participation of other slave units. Write "ffh" to Then, the connection target CID in the
[0111]
Thereafter, in step S33, it is determined whether or not the game is started, that is, whether or not a start button (not shown) included in the
[0112]
In step S41, the base unit packet shown in FIG. 11 is broadcast (transmitted) by executing the transmission / reception process of the base unit described above with reference to FIG. Receives handset data (packet).
[0113]
Thereafter, in step S43, the
[0114]
When “NO” is determined in step S43 or when step S45 is completed, in the next step S47, the
[0115]
When “NO” is determined in step S47 of FIG. 22, the process proceeds to step S51 of FIG. 23 in order to allow the slave unit to join midway. In step S51, the
[0116]
When “NO” in the previous step S53 or when step S55 is completed, in step S57, the
[0117]
Thereafter, in step S67, the
[0118]
Note that after step S69, or when “NO” is determined in steps S51, S57, S63, or S67, in any case, the mid-participation process of the slave unit is stopped and the process returns to the game process (step of FIG. 22). Return to S49).
[0119]
The above is the processing of the portable game device when a cartridge that is not compatible with the OC mode is mounted on the own device and when the own device becomes the parent device.
[0120]
Next, a description will be given of the processing of the portable game device when the OC mode compatible cartridge is attached to the own device.
[0121]
If “YES” is determined in step S5 of FIG. 19, that is, if the cartridge corresponding to the OC mode shown in FIG. 16 is installed in the own apparatus, the
[0122]
When an OC mode compatible cartridge is attached to the player and an OC mode game is played, the player can only be a master. More specifically, if “NO” in the step S73, that is, if the OC mode is selected, in the next step S75, as in the previous step S29 (FIG. 21), refer to FIG. 27 and FIG. The base unit connection process described in detail above is executed. However, at this time, the number of usable slots N of one slave unit is set to “1” (N = 1), and the maximum allowable number M is set to a number allowed in the game. Thereafter, in step S77, the
[0123]
The above is the processing of the portable game device when a cartridge compatible with the OC mode is attached to the own device.
[0124]
Next, a description will be given of processing of the portable game device when a cartridge that is not compatible with the OC mode is attached to the player and when the player becomes a slave.
[0125]
When “NO” is determined in step S27 of FIG. 21, that is, when the player has not selected to become the parent machine, in the subsequent step S79, the
[0126]
In the first step S3001 in FIG. 30, the
[0127]
If “NO” is determined in step S3003, that is, if the parent device packet of the selected parent device cannot be received, it is determined in step S3005 whether a timeout (timeout) has occurred. If “NO”, the process returns to the previous step S3001. If “YES”, in the step S3007, “failure” is written in the connection result variable (in the
[0128]
If “YES” is determined in step S3003, that is, if the synchronization signal of the target parent device can be received, in step S3009, the
[0129]
These steps S3011 and S3013 are repeated until “NO” is obtained in step S3013. When “NO” is obtained, the process proceeds to the next step S3015. In step S3015, the number n of actual grant slots is set to zero (0). Further, in the next step S3017, the master unit packet is received, and in step S3019, the synchronization timer is reset again. In step S3021, the
[0130]
If “NO” is determined in the step S3021, the slave unit entry is not prohibited, and the process advances to the step S3023 in FIG. In step S3023, the CPU core of the child device transmits the number CID obtained in step S3011 to the slot indicated by the E slot field ESlot of the parent device packet at that time. In step S3025, the base unit packet is received, and in step S3027, the synchronization timer is reset again.
[0131]
In subsequent step S3029,
[0132]
When “YES” is determined in step S3029, that is, when the own slot number (CID) is in the entry slot position of the U slot of the received parent device packet, the number n of actually granted slots is incremented in the subsequent step S3033 ( In step S3035, the maximum number of slots N that can be granted to one slave unit (however, this N varies depending on the game, and is a value of 1-4, for example). Determine if they are equal. If “NO” is determined in this step S3035, that is, if the slot can still be assigned, the process returns to the previous step S3025 to receive the parent device packet.
[0133]
However, if “YES” is determined in step S3035, “success” is registered in the connection result variable in the next step S3037 on the assumption that all the possible number of slots have been allocated, and the process proceeds to the next step S3039. . In this step S3039, the base unit number PID of the connected base unit and the acquired slot number are stored in the
[0134]
In step S85, the connection result variable in
[0135]
If the connection to the parent device is successful, in the next step S89, the
[0136]
The slave transmission / reception process shown in step S93 in FIG. 24 is shown in detail in FIG. In step S4001 of FIG. 32, the base unit packet is received, and in the next step S4003, the synchronization timer (FIG. 18) is reset. In step S4005, the
[0137]
Returning to FIG. 24 again, in step S95, the
[0138]
When “YES” is determined in the previous step S95, that is, when data from the parent device cannot be received for a certain time t2 or longer, a message such as “Communication with the parent device is no longer possible. After "I will try" is displayed, a return process is executed in step S105.
[0139]
Details of the return processing are shown in FIG. 33. In the first step S5001 of FIG. 33, the
[0140]
If “NO” is determined in the step S5003, that is, if the data of the parent packet to be recovered cannot be received, it is determined whether or not a time-out has occurred in the next step S5005. If “NO”, the process returns to the previous step S5003, but if time-out occurs, in the next step S5007, “failure” is written in the return result variable included in the
[0141]
If “YES” is determined in the previous step S5003, that is, if a parent device packet from the target parent device can be received, the synchronization timer is reset in the next step S5009, and further, in step S5011, the parent device is reset. Receive the packet. In step S5013, it is determined whether or not its own number CID exists in the U slot field of the parent device packet. The fact that the received parent device packet has its own device number means that the cause of the communication disabled state over time t2 is not intentional disconnection by the parent device, and therefore, in the next step S5015, the region Register “success” in the return result variable 88 (FIG. 18) and return. By performing the return processing in this way, for example, when the parent device and the child device are out of the communication range by mistake, when the communication state is bad and communication is not possible, or the child device is operated. When the player can use the device and the child player needs to be out of the communication range for a while, the communication state can be restored after those factors are resolved and the communication state can be restored. It becomes possible.
[0142]
However, even if “YES” is determined in step S5003, if “NO” is determined in step S5013, it is determined that the communication failure is caused by the disconnection of the parent device, and the process returns through the previous step S5007. .
[0143]
When returning from the subroutine of FIG. 33 to step S107 of FIG. 24, in this step S107, it is determined whether or not the return is “successful” with reference to the return result variable in the
[0144]
The above is the processing of the portable game device when a cartridge that is not compatible with the OC mode is attached to the player and when the player becomes a child device.
[0145]
Next, the processing of the portable game device when the cartridge is not attached to the own device will be described. However, in this case, the own device can only operate as a child device of the OC mode compatible game.
[0146]
Returning to FIG. 19, when “NO” is determined in step S3, that is, when it is detected that there is no cartridge in the slave unit, wireless communication is performed in step S111 which is a program in the boot ROM (24 in FIG. 1). The OCD program (program for downloading the slave program from the parent device) set in the
[0147]
Thereafter, in step S115 in FIG. 25, the
[0148]
In step S125, it is determined whether or not the value of base unit list
[0149]
In step S127, the parent device in which the E slot is not “ffh” and the OC flag is “1” in the parent device list, that is, the game in the OC mode can be played and the child device participation (entry) is rejected. The information (user name, game name) of the parent device that is not used is displayed. Accordingly, the
[0150]
If “YES” is determined in the step S131, the process proceeds to a step S139 to execute a connection process (FIGS. 30 and 31) of the slave unit.
[0151]
In step S137, the slave unit connection process is executed according to the method already described in detail, and in the next step S139, it is determined whether or not the connection is successful by referring to the connection result variable in the
[0152]
If “YES” is determined in step S139, the
[0153]
The above is the processing of the portable game device when the cartridge is not attached to the own device.
[0154]
If “NO” is determined in step S81 of FIG. 21, that is, if the master unit is selected but communication is not possible, a message such as “The master unit cannot be selected” is displayed in step S149. Then, the process returns to step S9 in FIG.
When “NO” is determined in step S79 in FIG. 21, that is, when neither the B button nor the A button is operated, whether or not a cross key (not shown) is operated in the next step S151, to decide. If “NO”, it is determined in a next step S153 whether or not a start key (not shown) is further operated. When the select key is not operated, the process returns to step S9 in FIG. If “YES” is determined in step S153, after all display flags are switched on / off in step S153, the process similarly returns to step S9 (that is, the select key controls on / off of all display flags). used). However, if “YES” is determined in the step S151, the cursor is moved in accordance with the instruction of the cross key, and then the process returns to the step S9.
[0155]
In the above-described embodiment, it is selected whether the own device is a parent device or a child device in accordance with the progress of the program. However, such a selection may be made immediately. In this case, as shown in FIG. 34, a selection screen (not shown) for a parent device or a child device is displayed in the first step S201 immediately after the start, and the user selects the parent device or the child device according to the display. . Therefore, the
[Brief description of the drawings]
FIG. 1 is a block diagram showing an example of a portable game device used in a wireless transmission game system according to an embodiment of the present invention.
FIG. 2 is an illustrative view for explaining the outline of a game system using the portable game device of FIG. 1 embodiment;
3 is an illustrative view showing an example of a display screen in a case where an all display flag for displaying information of all parent devices around the own device is turned on in the embodiment in FIG. 2; FIG.
FIG. 4 is a display for displaying only the parent device that exists around the own device and is capable of a communication game with the own device when the all display flag is not turned on in the embodiment of FIG. 2; It is an illustration figure which shows the example of a screen.
5 is an illustrative view showing an example of a display screen that displays only a parent device that exists around the own device and can play a game in the OC (one cartridge) mode in the embodiment of FIG. 2; FIG.
6 is an illustrative view showing a display screen example of a parent device list in a certain situation in the embodiment of FIG. 2; FIG.
7 is an illustrative view showing a display screen example of a parent machine list when a portable game device with a user name “Shiro” enters a communication range in the situation of FIG. 6 in the embodiment of FIG. 2;
8 is an illustrative view showing a display screen example of a parent machine list when the portable game device having the user name “Ichiro” goes out of the communication range in the situation of FIG. 7 in the embodiment of FIG. 2;
9 is an illustrative view showing an example of a display screen of a slave unit list in a state where the own device is a master unit and waiting for connection (entry) of the slave unit in the embodiment of FIG. 2; FIG.
FIG. 10 is an illustrative view showing one example of a data cycle in the embodiment of FIG. 2;
FIG. 11 is an illustrative view showing one example of a parent device packet sent to a parent device slot in the embodiment of FIG. 10;
FIG. 12 is an illustrative view showing a U slot in FIG. 11 in detail.
FIG. 13 is an illustrative view showing one example of a handset packet sent to a handset slot in the embodiment in FIG. 10;
FIG. 14 is an illustrative view showing a specific example of communication data in a certain situation of FIG. 1 embodiment;
FIG. 15 is an illustrative view showing one example of a memory map of a cartridge not corresponding to the OC mode;
FIG. 16 is an illustrative view showing one example of a memory map of the cartridge corresponding to the OC mode;
FIG. 17 is an illustrative view showing one example of a memory map of an EEPROM included in the wireless communication unit of FIG. 1 embodiment;
FIG. 18 is an illustrative view showing one example of a memory map of an internal RAM of a portable game machine constituting the portable game device in FIG. 1 embodiment;
FIG. 19 is a flowchart showing a part of the main flow showing the operation of the portable game machine of FIG. 1 embodiment;
FIG. 20 is a flowchart showing the continuation of FIG. 19;
FIG. 21 is a flowchart showing the continuation of FIG. 20;
22 is a flowchart showing the continuation of FIG. 21. FIG.
FIG. 23 is a flowchart showing the continuation of FIG. 22;
24 is a flowchart showing a continuation of FIG. 21. FIG.
FIG. 25 is a flowchart showing the continuation of FIG. 19;
FIG. 26 is a flowchart showing the continuation of FIG. 25;
FIG. 27 is a flowchart showing a part of the operation of the base unit connection processing;
FIG. 28 is a flowchart showing the continuation of FIG. 27;
FIG. 29 is a flowchart showing an operation of transmission / reception processing of the master unit.
FIG. 30 is a flowchart showing a part of operation of connection processing of the slave unit.
FIG. 31 is a flowchart showing the continuation of FIG. 30;
FIG. 32 is a flowchart showing the operation of transmission / reception processing of the slave unit.
FIG. 33 is a flowchart showing operations of a slave unit return process;
FIG. 34 is a flowchart showing a main part of an embodiment in which selection of whether the own device is a parent device or a child device is first performed.
[Explanation of symbols]
10: Portable game device
12 ... portable game machine
14 ... Wireless communication unit
16 ... cartridge
18… LCD
20 ... Processor
22 ... CPU core
24: Boot ROM
28 ... WRAM
38 ... operation keys
42… ROM
54… EEPROM
Claims (19)
前記親機は、前記第1タイムスロットで親機パケットをブロードキャストしかつ前記第2タイムスロットで子機パケットを受信するものであり、さらに (a) 前記複数のサブタイムスロットのうち新たな子機が使用すべき第1サブタイムスロットを決定する第1サブタイムスロット決定手段、(b) 新たな子機が前記第1サブタイムスロットに送信したエントリ要求を検出するエントリ要求検出手段、および (c) 前記第1サブタイムスロットを指定する指定データおよび前記エントリ要求に応答して設定される使用許可データを含む親機パケットを設定する親機パケット設定手段を備え、
前記子機は、前記複数のサブタイムスロットのうち少なくとも1つのサブタイムスロットで子機パケットを送信し、前記第1タイムスロットで前記親機パケットを受信するものであり、(d) 前記親機パケットに含まれる前記指定データが示す前記第1サブタイムスロットに前記エントリ要求を送信するエントリ要求送信手段、および (e) 前記親機パケットの前記使用許可データに基づいてエントリの成否を判断する成否判断手段を備える、無線通信ゲームシステム。Wireless communication game system using a plurality of portable game devices that can be wirelessly communicated with each other in a communication cycle constituted by a first time slot and a second time slot including a plurality of sub time slots, and that serve as a parent device or a child device Because
The parent device broadcasts a parent device packet in the first time slot and receives a child device packet in the second time slot; and (a) a new child device among the plurality of sub time slots. (B) Entry request detection means for detecting an entry request transmitted to the first sub time slot by a new slave unit; and (c) A parent device packet setting means for setting a parent device packet including designation data designating the first sub time slot and use permission data set in response to the entry request;
The slave unit transmits a slave unit packet in at least one sub time slot among the plurality of sub time slots, and receives the master unit packet in the first time slot, and (d) the master unit Entry request transmitting means for transmitting the entry request to the first sub time slot indicated by the designated data included in the packet; and (e) success or failure of determining the success or failure of the entry based on the use permission data of the parent device packet. A wireless communication game system comprising a determination unit.
前記成否判断手段は前記第1サブタイムスロットについての使用許可データに基づいてエントリの成否を判断する、請求項1記載の無線通信ゲームシステム。The use permission data includes use permission data for each of the sub time slots, and the master packet setting unit sets the use permission data for the first sub time slot to use permission,
The wireless communication game system according to claim 1, wherein the success / failure determination unit determines whether the entry is successful based on use permission data for the first sub time slot.
前記親機パケット設定手段は、前記指定データおよび前記使用許可データをそれぞれ前記第1フィールドおよび前記第2フィールドに設定する、請求項1または2記載の無線通信ゲームシステム。The first time slot includes, in addition to a payload field for transmitting game data, a dedicated first field and a second field for transmitting the designated data and the use permission data,
The wireless communication game system according to claim 1 or 2, wherein the base unit packet setting means sets the designation data and the use permission data in the first field and the second field, respectively.
前記エントリ要求送信手段は前記第1サブタイムスロットに前記識別データを送信する識別データ送信手段を含み、
前記エントリ要求検出手段は前記第1サブタイムスロットで送信された前記識別データを検出する検出手段を含む、請求項1ないし5のいずれかに記載の無線通信ゲームシステム。The slave unit further includes identification data storage means for storing identification data of the own unit,
The entry request transmission means includes identification data transmission means for transmitting the identification data in the first sub time slot,
6. The wireless communication game system according to claim 1, wherein the entry request detection means includes detection means for detecting the identification data transmitted in the first sub time slot.
前記成否判断手段は前記第2フィールドに前記識別データが存在するかどうか判断する判断手段を含む、請求項6記載の無線通信ゲームシステム。The base unit packet setting means includes means for setting the identification data in the second field,
The wireless communication game system according to claim 6, wherein the success / failure determination unit includes a determination unit that determines whether the identification data exists in the second field.
前記親機パケット設定手段は前記第2フィールドのうち前記第1サブタイムスロットについてのサブフィールドに前記識別データを設定する手段を含み、
前記成否判断手段は前記第2フィールドのうち前記第1サブタイムスロットについてのサブフィールドに前記識別データが存在するかどうか判断する手段を含む、請求項7記載の無線通信ゲームシステム。The second field includes a subfield for each sub time slot;
The base unit packet setting means includes means for setting the identification data in a subfield for the first sub time slot in the second field,
8. The wireless communication game system according to claim 7, wherein the success / failure determination means includes means for determining whether or not the identification data exists in a subfield for the first sub time slot in the second field.
前記親機は、前記使用許可データの子機の識別データに基づいて、接続中の子機のリストを表示する子機リスト表示手段をさらに備える、請求項1記載の無線通信ゲームシステム。The use permission data includes use permission data for each sub time slot, and each use permission data is identification data of a slave unit,
The wireless communication game system according to claim 1, wherein the parent device further includes a child device list display unit that displays a list of connected child devices based on identification data of the child device in the use permission data.
(a) 親機は子機に使用させるべき第1サブタイムスロットを指定する指定データを含む親機パケットをブロードキャストし、
(b) 子機は前記指定データで指定された前記第1サブタイムスロットでエントリ要求を送信し、
(c) 親機は前記第1サブタイムスロットで子機から送信されたエントリ要求を検出し、
(d) 親機は前記エントリ要求を許可する使用許可データを親機パケットに設定し、そして
(e) 子機は親機パケットの前記使用許可データに基づいてエントリ要求の成否を判断する。In a wireless communication game system using a plurality of portable game devices that are wirelessly communicable with each other in a communication cycle constituted by a first time slot and a second time slot including a plurality of sub time slots and that serve as a parent device or a child device An entry processing method,
(A) The master unit broadcasts a master unit packet including designation data designating the first sub time slot to be used by the slave unit,
(B) The slave unit transmits an entry request in the first sub time slot designated by the designated data,
(C) The master unit detects the entry request transmitted from the slave unit in the first sub time slot,
(D) The master unit sets use permission data permitting the entry request in the master unit packet, and (e) the slave unit determines success or failure of the entry request based on the use permission data of the base unit packet.
(a) 親機のプロセサによって、子機に使用させるべき第1サブタイムスロットを指定する指定データを含む親機パケットをブロードキャストさせるブロードキャストステップ、
(b) 子機のプロセサによって、前記指定データで指定された前記第1サブタイムスロットでエントリ要求を送信させる送信ステップ、
(c) 親機のプロセサによって、前記第1サブタイムスロットで子機から送信されたエントリ要求を検出させる検出ステップ、
(d) 親機のプロセサによって、前記エントリ要求を許可する使用許可データを親機パケットに設定させる設定ステップ、および
(e) 子機のプロセサによって、親機パケットの前記使用許可データに基づいてエントリ要求の成否を判断させる成否判断ステップ。In a wireless communication game system using a plurality of portable game devices that are wirelessly communicable with each other in a communication cycle constituted by a first time slot and a second time slot including a plurality of sub time slots, and that serve as a parent device or a child device A program for causing the processor of the portable game device to execute the following steps:
(A) a broadcast step of broadcasting a master unit packet including designation data specifying a first sub time slot to be used by a slave unit by a processor of the master unit;
(B) a transmission step of transmitting an entry request in the first sub time slot designated by the designated data by a processor of the slave unit;
(C) a detection step of detecting an entry request transmitted from the slave unit in the first sub time slot by the processor of the master unit;
(D) a setting step in which use permission data for permitting the entry request is set in the base unit packet by the processor of the base unit; and (e) entry based on the use permission data in the base unit packet by the processor of the slave unit. Success / failure determination step for determining success / failure of the request.
前記親子決定ステップによって子機になることが決定された場合は、前記ステップ(b) および (e) を携帯ゲーム装置のプロセサに実行させる、請求項16記載のプログラム。A parent-child determination step for determining whether the own device becomes a parent device or a child device is further provided, and when the parent device determination step determines that the own device becomes a parent device, the steps (a), (c) and (D) is executed by the processor of the portable game device;
The program according to claim 16, wherein, when it is determined to become a child machine by the parent-child determination step, the program of the portable game device is caused to execute the steps (b) and (e).
前記親機は接続中の子機の識別データを前記親機パケットに設定し、
前記子機は、新たに親機にエントリするとき、前記親機パケットに既に設定されている識別データとは異なる識別データを自機の識別データとして決定し、該識別データを前記子機パケットで送信することを特徴とする、無線通信ゲームシステム。In a wireless communication game system, a base unit packet is broadcast from a base unit in a first time slot, and a base unit packet is transmitted from the slave unit to the base unit in a second time slot.
The master unit sets the identification data of the connected slave unit in the master unit packet,
When the child device newly enters the parent device, it determines identification data different from the identification data already set in the parent device packet as its own identification data, and the identification data is determined by the child device packet. A wireless communication game system, characterized by transmitting.
前記親機のために、前記第1タイムスロットで親機パケットをブロードキャストしかつ前記第2タイムスロットで子機パケットを受信するものであり、さらに(a) 前記サブタイムスロットのうち新たな子機が使用すべき第1サブタイムスロットを決定する第1サブタイムスロット決定手段、(b) 新たな子機が前記第1サブタイムスロットに送信したエントリ要求を検出するエントリ要求検出手段、および (c) 前記第1サブタイムスロットを指定する指定データおよび前記エントリ要求に応答して設定される使用許可データを含む親機パケットを設定する親機パケット設定手段を備え、
前記子機のために、前記サブタイムスロットのうち少なくとも1つのサブタイムスロットで子機パケットを送信し、前記第1タイムスロットで前記親機パケットを受信するものであり、(d) 前記親機パケットに含まれる前記指定データが示す前記第1サブタイムスロットに前記エントリ要求を送信するエントリ要求送信手段、および (e) 前記親機パケットの前記使用許可データに基づいてエントリの成否を判断する成否判断手段を備える、携帯ゲーム装置。Using a plurality of portable game devices, one is a parent device and the other is a child device, the parent device broadcasts a parent device packet in a first time slot and receives a child device packet in a second time slot, A portable game device for playing a wireless communication game by transmitting a child device packet in at least one sub time slot included in a second time slot and receiving the parent device packet in the first time slot,
Broadcasting a parent device packet in the first time slot and receiving a child device packet in the second time slot for the parent device; and (a) a new child device in the sub time slot (B) Entry request detection means for detecting an entry request transmitted to the first sub time slot by a new slave unit; and (c) A parent device packet setting means for setting a parent device packet including designation data designating the first sub time slot and use permission data set in response to the entry request;
For the child device, a child device packet is transmitted in at least one sub time slot among the sub time slots, and the parent device packet is received in the first time slot, and (d) the parent device Entry request transmitting means for transmitting the entry request to the first sub-time slot indicated by the designated data included in the packet; and (e) success or failure of determining the success or failure of the entry based on the use permission data of the parent device packet. A portable game device comprising a judging means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002301955A JP3824568B2 (en) | 2002-10-16 | 2002-10-16 | Wireless communication game system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002301955A JP3824568B2 (en) | 2002-10-16 | 2002-10-16 | Wireless communication game system |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004135778A true JP2004135778A (en) | 2004-05-13 |
JP2004135778A5 JP2004135778A5 (en) | 2006-01-05 |
JP3824568B2 JP3824568B2 (en) | 2006-09-20 |
Family
ID=32450165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002301955A Expired - Fee Related JP3824568B2 (en) | 2002-10-16 | 2002-10-16 | Wireless communication game system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3824568B2 (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008504733A (en) * | 2004-06-23 | 2008-02-14 | ソニー・コンピュータ・エンタテインメント・アメリカ・インク | Network participant status assessment |
JP2009540630A (en) * | 2006-06-02 | 2009-11-19 | クゥアルコム・インコーポレイテッド | Wireless subscriber stations for short-range ad hoc data communication |
JP2010507282A (en) * | 2006-10-16 | 2010-03-04 | マーベル インターナショナル リミテッド | Automatic ad hoc network formation and coalescence using WPS |
EP2164230A1 (en) | 2005-05-06 | 2010-03-17 | Nintendo Co., Limited | Communication game system, game apparatus, server, and game control method |
US7995478B2 (en) | 2007-05-30 | 2011-08-09 | Sony Computer Entertainment Inc. | Network communication with path MTU size discovery |
US8005957B2 (en) | 2007-12-04 | 2011-08-23 | Sony Computer Entertainment Inc. | Network traffic prioritization |
US8015300B2 (en) | 2008-03-05 | 2011-09-06 | Sony Computer Entertainment Inc. | Traversal of symmetric network address translator for multiple simultaneous connections |
US8060626B2 (en) | 2008-09-22 | 2011-11-15 | Sony Computer Entertainment America Llc. | Method for host selection based on discovered NAT type |
US8224985B2 (en) | 2005-10-04 | 2012-07-17 | Sony Computer Entertainment Inc. | Peer-to-peer communication traversing symmetric network address translators |
US8233456B1 (en) | 2006-10-16 | 2012-07-31 | Marvell International Ltd. | Power save mechanisms for dynamic ad-hoc networks |
US8619623B2 (en) | 2006-08-08 | 2013-12-31 | Marvell World Trade Ltd. | Ad-hoc simple configuration |
US8628420B2 (en) | 2007-07-03 | 2014-01-14 | Marvell World Trade Ltd. | Location aware ad-hoc gaming |
US9308455B1 (en) | 2006-10-25 | 2016-04-12 | Marvell International Ltd. | System and method for gaming in an ad-hoc network |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04354221A (en) * | 1991-05-31 | 1992-12-08 | Toshiba Corp | Satellite packet communication system |
JPH05183504A (en) * | 1991-12-27 | 1993-07-23 | Toshiba Corp | Method for radio communication |
JPH09139747A (en) * | 1995-09-11 | 1997-05-27 | Toshiba Corp | Communication controller and communication control method |
JPH1015245A (en) * | 1996-07-05 | 1998-01-20 | Kokusai Electric Co Ltd | Data transmission device, video game machine |
JPH1056417A (en) * | 1996-08-07 | 1998-02-24 | Nippon Telegr & Teleph Corp <Ntt> | Scheduling type dead channel control access method |
JPH10209956A (en) * | 1997-01-28 | 1998-08-07 | Nippon Telegr & Teleph Corp <Ntt> | Radio packet communication method |
JPH11103283A (en) * | 1997-09-25 | 1999-04-13 | Nec Eng Ltd | Tdma/tdd transmitting method |
JP2000135380A (en) * | 1999-01-26 | 2000-05-16 | Snk:Kk | Communication device for game and game devices |
JP2000165512A (en) * | 1998-11-24 | 2000-06-16 | Hitachi Ltd | Device and method for detecting illegal use and storage medium recording illegal use detection program and read by computer |
JP2001168873A (en) * | 1999-12-07 | 2001-06-22 | Sony Corp | Radio communication system, its method and radio communication equipment |
JP2002224449A (en) * | 2001-01-31 | 2002-08-13 | Tdk Corp | Video game device |
-
2002
- 2002-10-16 JP JP2002301955A patent/JP3824568B2/en not_active Expired - Fee Related
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04354221A (en) * | 1991-05-31 | 1992-12-08 | Toshiba Corp | Satellite packet communication system |
JPH05183504A (en) * | 1991-12-27 | 1993-07-23 | Toshiba Corp | Method for radio communication |
JPH09139747A (en) * | 1995-09-11 | 1997-05-27 | Toshiba Corp | Communication controller and communication control method |
JPH1015245A (en) * | 1996-07-05 | 1998-01-20 | Kokusai Electric Co Ltd | Data transmission device, video game machine |
JPH1056417A (en) * | 1996-08-07 | 1998-02-24 | Nippon Telegr & Teleph Corp <Ntt> | Scheduling type dead channel control access method |
JPH10209956A (en) * | 1997-01-28 | 1998-08-07 | Nippon Telegr & Teleph Corp <Ntt> | Radio packet communication method |
JPH11103283A (en) * | 1997-09-25 | 1999-04-13 | Nec Eng Ltd | Tdma/tdd transmitting method |
JP2000165512A (en) * | 1998-11-24 | 2000-06-16 | Hitachi Ltd | Device and method for detecting illegal use and storage medium recording illegal use detection program and read by computer |
JP2000135380A (en) * | 1999-01-26 | 2000-05-16 | Snk:Kk | Communication device for game and game devices |
JP2001168873A (en) * | 1999-12-07 | 2001-06-22 | Sony Corp | Radio communication system, its method and radio communication equipment |
JP2002224449A (en) * | 2001-01-31 | 2002-08-13 | Tdk Corp | Video game device |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7769409B2 (en) | 2004-06-23 | 2010-08-03 | Sony Computer Entertainment America Inc. | Network participant status evaluation |
JP4668268B2 (en) * | 2004-06-23 | 2011-04-13 | ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー | Network participant status assessment |
JP2008504733A (en) * | 2004-06-23 | 2008-02-14 | ソニー・コンピュータ・エンタテインメント・アメリカ・インク | Network participant status assessment |
US8014825B2 (en) | 2004-06-23 | 2011-09-06 | Sony Computer Entertainment America Llc | Network participant status evaluation |
EP2164230A1 (en) | 2005-05-06 | 2010-03-17 | Nintendo Co., Limited | Communication game system, game apparatus, server, and game control method |
US8224985B2 (en) | 2005-10-04 | 2012-07-17 | Sony Computer Entertainment Inc. | Peer-to-peer communication traversing symmetric network address translators |
JP2009540630A (en) * | 2006-06-02 | 2009-11-19 | クゥアルコム・インコーポレイテッド | Wireless subscriber stations for short-range ad hoc data communication |
US8571473B2 (en) | 2006-06-02 | 2013-10-29 | Qualcomm Incorporated | Wireless subscriber station for short range ad-hoc data communication |
KR101182571B1 (en) * | 2006-06-02 | 2012-09-12 | 콸콤 인코포레이티드 | Wireless subscriber station for short range ad-hoc data communication |
US9019866B2 (en) | 2006-08-08 | 2015-04-28 | Marvell World Trade Ltd. | Ad-hoc simple configuration |
US8619623B2 (en) | 2006-08-08 | 2013-12-31 | Marvell World Trade Ltd. | Ad-hoc simple configuration |
JP2014075830A (en) * | 2006-10-16 | 2014-04-24 | Marvel Internatl Ltd | Formation and coalescence of automatic ad-hoc network using wps |
JP2010507282A (en) * | 2006-10-16 | 2010-03-04 | マーベル インターナショナル リミテッド | Automatic ad hoc network formation and coalescence using WPS |
US8233456B1 (en) | 2006-10-16 | 2012-07-31 | Marvell International Ltd. | Power save mechanisms for dynamic ad-hoc networks |
US9444874B2 (en) | 2006-10-16 | 2016-09-13 | Marvell International Ltd. | Automatic Ad-Hoc network creation and coalescing using WPS |
US9374785B1 (en) | 2006-10-16 | 2016-06-21 | Marvell International Ltd. | Power save mechanisms for dynamic ad-hoc networks |
US9308455B1 (en) | 2006-10-25 | 2016-04-12 | Marvell International Ltd. | System and method for gaming in an ad-hoc network |
US7995478B2 (en) | 2007-05-30 | 2011-08-09 | Sony Computer Entertainment Inc. | Network communication with path MTU size discovery |
US8628420B2 (en) | 2007-07-03 | 2014-01-14 | Marvell World Trade Ltd. | Location aware ad-hoc gaming |
US8171123B2 (en) | 2007-12-04 | 2012-05-01 | Sony Computer Entertainment Inc. | Network bandwidth detection and distribution |
US8943206B2 (en) | 2007-12-04 | 2015-01-27 | Sony Computer Entertainment Inc. | Network bandwidth detection and distribution |
US8005957B2 (en) | 2007-12-04 | 2011-08-23 | Sony Computer Entertainment Inc. | Network traffic prioritization |
US8930545B2 (en) | 2008-03-05 | 2015-01-06 | Sony Computer Entertainment Inc. | Traversal of symmetric network address translator for multiple simultaneous connections |
US8015300B2 (en) | 2008-03-05 | 2011-09-06 | Sony Computer Entertainment Inc. | Traversal of symmetric network address translator for multiple simultaneous connections |
US8060626B2 (en) | 2008-09-22 | 2011-11-15 | Sony Computer Entertainment America Llc. | Method for host selection based on discovered NAT type |
Also Published As
Publication number | Publication date |
---|---|
JP3824568B2 (en) | 2006-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3830442B2 (en) | Wireless communication game system, game device, information storage medium, and program | |
JP2004136009A (en) | Radio communication game system | |
JP3824568B2 (en) | Wireless communication game system | |
JP3679111B2 (en) | Wireless communication game system | |
JP2005095697A5 (en) | ||
JP3699471B2 (en) | Wireless communication game system | |
JP3790257B2 (en) | Wireless communication game system, game device, information storage medium, and program | |
JP3790263B2 (en) | Wireless communication game system, game device, information storage medium, and program | |
JP3790264B2 (en) | Wireless communication game system, game device, information storage medium, and program | |
JP3790261B2 (en) | Wireless communication game system, game device, information storage medium, and program | |
JP4456611B2 (en) | Wireless communication game system, game device, and program | |
JP5358619B2 (en) | Wireless communication game system, game device, game program, and wireless communication method | |
JP4099482B2 (en) | Wireless communication game system, game device, information storage medium, and program | |
JP5427204B2 (en) | Wireless communication game system, game device, game program, and game processing method | |
JP3786369B2 (en) | Wireless communication game system, game device, information storage medium, and program | |
JP3798010B2 (en) | Wireless communication game system, game device, information storage medium, and program | |
JP4778999B2 (en) | Game device and program | |
JP6348547B2 (en) | Wireless communication game system | |
JP3790262B2 (en) | Wireless communication game system, game device, information storage medium, and program | |
JP6193948B2 (en) | Wireless communication game system | |
JP3790259B2 (en) | Wireless communication game system, game device, information storage medium, and program | |
JP3790260B2 (en) | Wireless communication game system | |
JP5358610B2 (en) | GAME DEVICE, GAME PROGRAM, AND GAME PROCESSING METHOD | |
JP5923082B2 (en) | Wireless communication game system | |
JP5856589B2 (en) | Wireless communication game system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051014 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051026 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20051026 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20051114 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051026 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060316 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060411 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060605 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060627 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060627 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3824568 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090707 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090707 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100707 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100707 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110707 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110707 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110707 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120707 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120707 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120707 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120707 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130707 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130707 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130707 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |