(57)【要約】【課題】識別情報を交換した友達とネットワークを介して通信できるので、安全で気軽に参加し易いネットワークゲームを実現する。【解決手段】通信ゲームシステムはたとえば互いに無線通信可能な複数のゲーム装置を含む。ゲーム装置は、近距離無線通信でまたは手入力で取得された相手の識別情報をお友達リストに登録する。その後、ゲーム装置はインターネットに接続し、お友達リストの相手とネットワーク通信可能か否かをたとえばサーバに問い合わせる。通信可能と判定された場合、ゲーム装置は当該相手のアドレスを取得してネットワーク通信をする。他のゲーム装置から接続されたときに既に通信中の相手が存在する場合、ゲーム装置はそれらの識別情報を送信して通信相手同士を紹介する。紹介を受けたゲーム装置は、当該紹介された相手とネットワークを介して通信し、必要があれば相手の識別情報をお友達リストに追加する。【選択図】図７
2020054820.tif 000002
【特許請求の範囲】
【請求項１】
複数のゲーム装置を含む通信ゲームシステムであって、
各ゲーム装置は、
自己の識別情報を記憶する第１記憶手段、
他の前記ゲーム装置の前記識別情報である相手識別情報を登録する登録手段、
ネットワーク通信を行うためにネットワークにアクセス可能なアクセスポイントに接続するネットワーク接続手段、
前記ネットワーク接続手段によって前記アクセスポイントを介して前記ネットワークに接続している場合において、前記登録手段によって登録された前記相手識別情報に対応する前記他のゲーム装置とネットワーク通信可能であるか否かを判定する判定手段、および
前記判定手段によってネットワーク通信可能であると判定された前記他のゲーム装置との間でネットワーク通信を行う第１通信手段を備える、通信ゲームシステム。
【請求項２】
前記各ゲーム装置は、前記他のゲーム装置と近距離無線によって通信を行う第２通信手段をさらに備え、
前記登録手段は、前記第２通信手段による前記通信で前記他のゲーム装置から受信した前記相手識別情報を第２記憶手段に記憶する、請求項１記載の通信ゲームシステム。
【請求項３】
前記ネットワーク上のサーバをさらに備え、
前記各ゲーム装置は、
前記自己の識別情報を含み前記ネットワークに接続中であることを示す通知を前記サーバに送信する通知手段、および
前記第２記憶手段に記憶されている前記相手識別情報に対応する前記他のゲーム装置が前記ネットワークに接続中であるか否かの問合せを前記サーバに送信する問合せ手段をさらに備えていて、
前記サーバは、
前記通知に基づいて前記ネットワークに接続中である前記ゲーム装置の少なくとも前記自己の識別情報およびアドレスを第３記憶手段に記憶する接続中リスト記憶手段、
前記問合せを受信したとき当該受信した前記相手識別情報が前記第３記憶手段に記憶されているか否かを検出する第１検出手段、および
前記第１検出手段によって前記相手識別情報が前記第３記憶手段に記憶されていることが検出されたとき、当該相手識別情報に対応する前記ゲーム装置の前記アドレスを、前記問合せを送信した前記ゲーム装置に送信する応答手段を備えていて、
前記判定手段は、前記サーバから受信した前記問合せに対する結果に基づいて、前記他のゲーム装置が前記ネットワークに接続中であるか否かを判定し、
前記第１通信手段は、前記判定手段によって前記他のゲーム装置が前記ネットワークに接続中であると判定されるとき、前記サーバから受信した前記アドレスに基づいて前記他のゲーム装置との間でネットワーク通信を行う、請求項２記載の通信ゲームシステム。
【請求項４】
前記各ゲーム装置は、ユーザの操作に応じて入力された相手識別情報を取得する相手入力手段をさらに備え、
前記登録手段は、前記相手入力手段によって取得された前記相手識別情報を第２記憶手段に記憶する、請求項１または２記載の通信ゲームシステム。
【請求項５】
前記ネットワーク上のサーバをさらに備え、
前記各ゲーム装置は、
前記自己の識別情報を含み前記ネットワークに接続中であることを示す通知を前記サーバに送信する通知手段、および
前記第２記憶手段に記憶されている前記相手識別情報を前記サーバに送信する登録相手送信手段をさらに備えていて、
前記サーバは、
前記通知に基づいて前記ネットワークに接続中である前記ゲーム装置の少なくとも前記自己の識別情報およびアドレスを第３記憶手段に記憶する接続中リスト記憶手段、
前記ゲーム装置から受信した前記相手識別情報を当該ゲーム装置ごとに第４記憶手段に記憶する登録相手記憶手段、
前記相手識別情報を受信したとき、当該受信した前記相手識別情報が前記第３記憶手段に記憶され、かつ、当該相手識別情報を送信した前記ゲーム装置の前記識別情報が、当該相手識別情報に対応する前記ゲーム装置にとっての前記相手識別情報として前記第４記憶手段に記憶されているか否かを検出する第２検出手段、および
前記第２検出手段によって、前記受信した相手識別情報が前記第３記憶手段に記憶され、かつ、当該相手識別情報を送信した前記ゲーム装置の前記識別情報が、当該相手識別情報に対応する前記ゲーム装置にとっての前記相手識別情報として前記第４記憶手段に記憶されていることが検出されたとき、当該相手識別情報に対応する前記ゲーム装置の前記アドレスを、当該相手識別情報を送信した前記ゲーム装置に送信する応答手段を備えていて、
前記判定手段は、前記サーバから受信したデータに基づいて、前記第２記憶手段に記憶されている前記相手識別情報に対応する前記他のゲーム装置が前記ネットワークに接続中であり、かつ、前記自己の識別情報が当該他のゲーム装置にとっての前記相手識別情報として登録されているか否かを判定し、
前記第１通信手段は、前記判定手段によって前記他のゲーム装置が前記ネットワークに接続中であり、かつ、前記自己の識別情報が前記他のゲーム装置の前記相手識別情報として登録されていると判定されるとき、前記サーバから受信した前記アドレスに基づいて前記他のゲーム装置との間でネットワーク通信を行う、請求項４記載の通信ゲームシステム。
【請求項６】
前記各ゲーム装置は前記自己の識別情報を表示する第１表示手段をさらに備える、請求項４または５記載の通信ゲームシステム。
【請求項７】
前記各ゲーム装置のうち、第１のゲーム装置は、第２のゲーム装置とネットワーク通信中の状態にある場合に、第３のゲーム装置から通信接続されたとき、前記第３のゲーム装置に前記第２のゲーム装置に対応する前記相手識別情報を送信するとともに、前記第２のゲーム装置に前記第３のゲーム装置に対応する前記相手識別情報を送信する紹介手段をさらに備える、請求項１ないし６のいずれかに記載の通信ゲームシステム。
【請求項８】
前記各ゲーム装置のうち、第１のゲーム装置は、第２のゲーム装置とネットワーク通信中の状態にある場合に、前記第２のゲーム装置から第３のゲーム装置に対応する前記相手識別情報を受信したとき、前記第３のゲーム装置との間でネットワーク通信を行う第３通信手段をさらに備える、請求項１ないし７のいずれかに記載の通信ゲームシステム。
【請求項９】
前記第１のゲーム装置は、
前記第３通信手段によってネットワーク通信を行った前記第３のゲーム装置に対応する前記相手識別情報を前記第２記憶手段に記憶するか否かを判断する登録判断手段、および
前記登録判断手段によって記憶すると判断されたとき、当該第３のゲーム装置に対応する前記相手識別情報を前記第２記憶手段に追加的に記憶する追加登録手段をさらに備える、請求項８記載の通信ゲームシステム。
【請求項１０】
前記各ゲーム装置は、前記第１通信手段によるネットワーク通信を行うか前記第２通信
手段による近距離無線通信を行うかを選択する通信方法選択手段をさらに備える、請求項２ないし９のいずれかに記載の通信ゲームシステム。
【請求項１１】
複数のゲーム装置がネットワークを介して通信する通信ゲームシステムにおいて用いられるゲーム装置であって、
自己の識別情報を記憶する第１記憶手段、
他の前記ゲーム装置の識別情報である相手識別情報を登録する登録手段、
ネットワーク通信を行うために前記ネットワークにアクセス可能なアクセスポイントに接続するネットワーク接続手段、
前記ネットワーク接続手段によって前記アクセスポイントを介して前記ネットワークに接続している場合において、前記登録手段によって登録された前記相手識別情報に対応する前記他のゲーム装置とネットワーク通信可能であるか否かを判定する判定手段、および
前記判定手段によってネットワーク通信可能であると判定された前記他のゲーム装置との間でネットワーク通信を行う第１通信手段を備える、ゲーム装置。
【請求項１２】
複数のゲーム装置がネットワークを介して通信する通信ゲームシステムにおいて用いられ、少なくとも自己の識別情報を記憶する第１記憶手段を備えるゲーム装置のゲームプログラムであって、
前記ゲーム装置のプロセサに、
他の前記ゲーム装置の識別情報である相手識別情報を登録する登録ステップ、
ネットワーク通信を行うためにネットワークにアクセス可能なアクセスポイントに接続するネットワーク接続ステップ、
前記ネットワーク接続ステップによって前記アクセスポイントを介して前記ネットワークに接続している場合において、前記登録ステップによって登録された前記相手識別情報に対応する前記他のゲーム装置とネットワーク通信可能であるか否かを判定する判定ステップ、および
前記判定ステップによってネットワーク通信可能であると判定された前記他のゲーム装置との間でネットワーク通信を行う第１通信ステップを実行させる、ゲームプログラム。
【請求項１３】
複数のゲーム装置がネットワークを介して通信する通信ゲームシステムにおいて用いられるサーバであって、
各ゲーム装置は、自己の識別情報を記憶する第１記憶手段と他の前記ゲーム装置の識別情報である相手識別情報を記憶する第２記憶手段を備えていて、
前記ネットワークに接続中である前記ゲーム装置から受信した少なくとも前記自己の識別情報およびアドレスを第３記憶手段に記憶する接続中リスト記憶手段、
前記ゲーム装置から受信した前記相手識別情報を当該ゲーム装置ごとに第４記憶手段に記憶する登録相手記憶手段、
前記相手識別情報を受信したとき、当該相手識別情報が前記第３記憶手段に記憶され、かつ、当該相手識別情報を送信した前記ゲーム装置の前記識別情報が、当該相手識別情報に対応する前記ゲーム装置にとっての前記相手識別情報として前記第４記憶手段に記憶されているか否かを検出する第２検出手段、および
前記第２検出手段によって、前記相手識別情報が前記第３記憶手段に記憶され、かつ、当該相手識別情報を送信した前記ゲーム装置の前記識別情報が、当該相手識別情報に対応する前記ゲーム装置にとっての前記相手識別情報として前記第４記憶手段に記憶されていることが検出されたとき、当該相手識別情報に対応する前記ゲーム装置の前記アドレスを、当該相手識別情報を送信した前記ゲーム装置に送信する応答手段を備える、サーバ。
【請求項１４】
複数のゲーム装置がネットワークを介して通信する通信ゲームシステムにおいて用いられるサーバの通信処理プログラムであって、
各ゲーム装置は、自己の識別情報を記憶する第１記憶手段と他の前記ゲーム装置の識別情報である相手識別情報を記憶する第２記憶手段を備えていて、
前記サーバのプロセサに、
前記ネットワークに接続中である前記ゲーム装置から受信した少なくとも前記自己の識別情報およびアドレスを第３記憶手段に記憶する接続中リスト記憶ステップ、
前記ゲーム装置から受信した前記相手識別情報を当該ゲーム装置ごとに第４記憶手段に記憶する登録相手記憶ステップ、
前記相手識別情報を受信したとき、当該相手識別情報が前記第３記憶手段に記憶され、かつ、当該相手識別情報を送信した前記ゲーム装置の前記識別情報が、当該相手識別情報に対応する前記ゲーム装置にとっての前記相手識別情報として前記第４記憶手段に記憶されているか否かを検出する第２検出ステップ、および
前記第２検出ステップによって、前記相手識別情報が前記第３記憶手段に記憶され、かつ、当該相手識別情報を送信した前記ゲーム装置の前記識別情報が、当該相手識別情報に対応する前記ゲーム装置にとっての前記相手識別情報として前記第４記憶手段に記憶されていることが検出されたとき、当該相手識別情報に対応する前記ゲーム装置の前記アドレスを、当該相手識別情報を送信してきた前記ゲーム装置に送信する応答ステップを実行させる、サーバの通信処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信ゲームシステムならびにそれに用いられるゲーム装置、ゲーム装置のゲームプログラム、サーバおよびサーバの通信処理プログラムに関し、特にたとえば、複数のゲーム装置がネットワークを介して通信する通信ゲームシステム、ならびにそれに用いられるゲーム装置、ゲーム装置のゲームプログラム、サーバおよびサーバの通信処理プログラムに関する。
【背景技術】
【０００２】
従来のネットワークゲームシステムないしオンラインゲームシステムでは、たとえば、プレイヤは、端末（パーソナルコンピュータ、ゲーム専用機など）からネットワークを介してサーバに接続し、当該サーバに接続している他の端末のプレイヤの中からゲームの相手を決定して、当該プレイヤと一緒にゲーム（対戦ゲーム、ロールプレイングゲーム等）をプレイしていた。この種のネットワークゲームシステムの一例はたとえば特許文献１に開示されている。ネットワークゲームをプレイするプレイヤ達は基本的には全く見知らぬ者同士である。各プレイヤは、たとえばチャットルームでコミュニケーションをとってゲームをプレイするか否かを決定したり、あるいはいきなり見知らぬプレイヤとゲームをプレイしたりしていた。また、友達同士でネットゲームをプレイしたいプレイヤ達は、予め、時刻やプレイ場所（サーバ、ロビーまたはルーム等）等の予定を示し合わせておいて、当該予定の通りに各自の端末からサーバに接続して友達とともにゲームをプレイするようにしていた。
【０００３】
一方、本件出願人による特許文献２には、近距離無線によって通信ゲームを行うゲームシステムの一例が開示されている。特許文献２の技術では、通信可能範囲内に存在する他のゲーム装置を探索して複数のゲーム装置間で通信対戦ゲームが行われる。
【特許文献１】特開２００２−４５５７３号公報
【特許文献２】特開２００５−６７６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のネットワークゲームシステムでは、見知らぬ相手とも通信できるようになっているので、相手が通信するために必要な自分の情報を持っていれば、自分が相手を全く知らなくても相手から一方的に接続されることがあった。このように、見知らぬ相手といきなりゲームをプレイしなければならないので、匿名性による一部の人間の荒らし行為などのようなルールおよびマナー違反等への不安もあって、一般的なゲームユーザにとっては取っ付き難いという面があった。また、友達同士でプレイするためには予め時刻等を電話やメール等で連絡し合っておいて当該予定通りに行動する必要があるので、面倒であるという問題があった。
【０００５】
このように従来のネットワークゲームは、ユーザに不安を抱かせたり煩わしさを感じさせたりする要素を含んでおり、一般のゲームユーザにとって必ずしも参加し易いものではなく、安全にまたは気軽に楽しむことができなかった。
【０００６】
一方、特許文献２の技術では、近距離無線通信を行うことによって、近くにいる相手とたとえば互いの顔を見ながら通信ゲームを行うことができるので、安全かつ気軽にゲームを楽しむことができた。しかしながら、無線通信可能な範囲内でしかゲームをプレイすることができないので、プレイヤ達は、帰宅等によって相手と離れた場所に移動してしまうと当該通信ゲームを楽しむことができなかった。
【０００７】
それゆえに、この発明の主たる目的は、新規な、通信ゲームシステムならびにそれに用いられるゲーム装置、ゲームプログラム、サーバおよびサーバの通信処理プログラムを提供することである。
【０００８】
この発明の他の目的は、参加し易いネットワークゲームを実現できる、通信ゲームシステムおよびそれに用いられるゲーム装置、ゲームプログラム、サーバおよびサーバの通信処理プログラムを提供することである。
【０００９】
この発明の更なる目的は、識別情報を登録した相手とだけネットワーク通信をすることができる、通信ゲームシステムおよびそれに用いられるゲーム装置、ゲームプログラム、サーバおよびサーバの通信処理プログラムを提供することである。
【００１０】
この発明のその他の目的は、近距離無線によって通信を行った相手と離れた場所でも通信することのできる、通信ゲームシステムならびにそれに用いられるゲーム装置、ゲームプログラム、サーバおよびサーバの通信処理プログラムを提供することである。
【課題を解決するための手段】
【００１１】
第１の発明（請求項１の発明）は、複数のゲーム装置を含む通信ゲームシステムである。各ゲーム装置は、第１記憶手段、登録手段、ネットワーク接続手段、判定手段、および第１通信手段を備える。第１記憶手段は自己の識別情報を記憶する。登録手段は、他のゲーム装置の識別情報である相手識別情報を登録する。ネットワーク接続手段は、ネットワーク通信を行うためにネットワークにアクセス可能なアクセスポイントに接続する。判定手段は、ネットワーク接続手段によってアクセスポイントを介してネットワークに接続している場合において、登録手段によって登録された相手識別情報に対応する他のゲーム装置とネットワーク通信可能であるか否かを判定する。第１通信手段は、判定手段によってネットワーク通信可能であると判定された他のゲーム装置との間でネットワーク通信を行う。
【００１２】
請求項１の発明では、通信ゲームシステムは、たとえばインターネットのようなネットワークを介して通信ゲームを行うためのものであり、複数のゲーム装置（１０：後述する実施例で相当する参照符号。以下同じ。）を含む。各ゲーム装置において、第１記憶手段（４８、７４）は、自己の識別情報を記憶する。実施例では、識別情報としてのＩＤやプレイヤ名が記憶される。登録手段（４２、４８、２８ｂ、８０、Ｓ２１、Ｓ４７、Ｓ４９、Ｓ２８９‐Ｓ２９３）は、他のゲーム装置の識別情報である相手識別情報を登録する。相手識別情報は、他のゲーム装置またはそのプレイヤとの交換によって取得され、実施例ではお友達リストデータとして記憶される。交換のため、たとえばゲーム装置は自己の識別情報を出力してよい。相手識別情報は、たとえば、近距離無線によって通信した他のゲーム装置から取得されてよい。あるいは、相手プレイヤとの間で事前に識別情報を教え合うことによって取得された相手識別情報がプレイヤによって入力されるようにしてもよい。相手プレイヤに教えるために、自己の識別情報はたとえば表示されてよい。ネットワーク接続手段（４２、６４、Ｓ６５）は、ネットワーク通信を行うためにアクセスポイント（７０）に接続する。アクセスポイントはたとえば家庭内にまたは公衆無線ＬＡＮに設けられた無線ＬＡＮアクセスポイントであり、ゲーム装置はアクセスポイントを介してインターネットのようなネットワークに接続する。判定手段（４２、Ｓ８３、Ｓ３０３）は、アクセスポイントを介してネットワークに接続している場合において、登録手段によって登録された相手識別情報に対応する他のゲーム装置とネットワーク通信可能であるか否かを判定する。たとえば接続中であるゲーム装置を示す接続中情報を管理するサーバ（７２）がネットワーク上に設けられる場合には、当該サーバに問い合わせて、その結果から判定を行ってよい。第１通信手段（４２、６４、Ｓ９３、Ｓ９５、Ｓ３０５、Ｓ３０７）は
、ネットワーク通信可能であると判定された他のゲーム装置との間でネットワーク通信を行う。
【００１３】
請求項１の発明によれば、相手識別情報を登録できるようにした。また、アクセスポイントを介してネットワークにアクセスして、当該登録した相手識別情報に対応する他のゲーム装置とネットワーク通信可能であるか否かを判定するようにした。そして、ネットワーク通信可能であると判定されるときには、当該相手との間でネットワークを介して通信できるようにした。このように、各ゲーム装置は、識別情報を登録した相手との間でネットワーク通信可能か否かを判定し、可能であるときには当該登録した相手との間でネットワーク通信を行うことができる。したがって、識別情報を登録した相手とのみ通信ゲームを行うことができるので、ネットワークゲームに安全かつ気軽に参加することが可能になり、ネットワークゲームを避けていたような一般的なゲームユーザなどにとって参加し易いネットワークゲームを実現できる。また、友達の識別情報を登録するだけで簡単に当該友達とネットワーク通信を行うことが可能になる。
【００１４】
請求項２の発明は、請求項１の発明に従属し、各ゲーム装置は、他のゲーム装置と近距離無線によって通信を行う第２通信手段をさらに備える。登録手段は、第２通信手段による通信で他のゲーム装置から受信した相手識別情報を第２記憶手段に記憶する。
【００１５】
請求項２の発明では、ゲーム装置の第２通信手段（４２、６４、Ｓ２１、Ｓ３９、Ｓ４１、Ｓ４５、Ｓ４７）は、他のゲーム装置との間で近距離無線によって通信を行う。登録手段（Ｓ４９）は、近距離無線通信で他のゲーム装置から受信した相手識別情報を第２記憶手段（４８、２８ｂ、８０）に記憶する。このように、近距離無線によって通信した相手の識別情報を取得して登録することができる。したがって、近距離無線によって通信した友達と離れた後でも、ネットワークを介して通信することができる。
【００１６】
請求項３の発明は、請求項２の発明に従属し、ネットワーク上のサーバをさらに備える。各ゲーム装置は、通知手段、および問合せ手段をさらに備えている。通知手段は、自己の識別情報を含みネットワークに接続中であることを示す通知をサーバに送信する。問合せ手段は、第２記憶手段に記憶されている相手識別情報に対応する他のゲーム装置がネットワークに接続中であるか否かの問合せをサーバに送信する。サーバは、接続中リスト記憶手段、第１検出手段、および応答手段を備えている。接続中リスト記憶手段は、通知に基づいてネットワークに接続中であるゲーム装置の少なくとも自己の識別情報およびアドレスを第３記憶手段に記憶する。第１検出手段は、問合せを受信したとき当該受信した相手識別情報が第３記憶手段に記憶されているか否かを検出する。応答手段は、第１検出手段によって相手識別情報が第３記憶手段に記憶されていることが検出されたとき、当該相手識別情報に対応するゲーム装置のアドレスを、問合せを送信したゲーム装置に送信する。ゲーム装置の判定手段は、サーバから受信した問合せに対する結果に基づいて、他のゲーム装置がネットワークに接続中であるか否かを判定する。第１通信手段は、判定手段によって他のゲーム装置がネットワークに接続中であると判定されるとき、サーバから受信したアドレスに基づいて他のゲーム装置との間でネットワーク通信を行う。
【００１７】
請求項３の発明では、通信ゲームシステムは、ネットワーク上に設けられた、つまり、ネットワークを介して接続可能なサーバ（７２）をさらに含む。ゲーム装置の通知手段（４２、Ｓ６７、Ｓ７１、Ｓ１７１）は、自己の識別情報を含みネットワークに接続中であることを示す通知をサーバに送信する。実施例では、通知データは、ＩＤ、プレイヤ名、接続アドレスやゲーム名等を含み、たとえば一定時間ごとに送信される。サーバの接続中リスト記憶手段（Ｓ２０３）は、たとえば、通知に基づいて管理され、ネットワークに接続中のゲーム装置の少なくとも識別情報およびアドレスを第３記憶手段（８４）に記憶する。実施例では、接続中ゲーム装置のＩＤ、プレイヤ名、接続アドレスやゲーム名等を含
む接続中リストデータが記憶される。このように、サーバがネットワークに接続中であるゲーム装置の情報を管理する。ゲーム装置の問合せ手段（４２、６４、Ｓ７７、Ｓ３０１）は、登録されている識別情報に対応する他のゲーム装置がネットワークに接続中であるか否かをサーバに問い合わせる。問合せ対象は、登録されているすべての相手識別情報であってもよいし、たとえばプレイヤに選択された一部の相手識別情報であってもよい。実施例では、問合せ対象のゲーム装置の少なくともＩＤを含む問合せデータが送信される。サーバの第１検出手段（Ｓ２０７、Ｓ２０９、Ｓ３２３、Ｓ３２５）は、問合せを受信したとき、当該受信した相手識別情報が第３記憶手段に記憶されているか否か、つまり、当該相手識別情報に対応するゲーム装置がネットワークに接続中であるか否かを検出する。応答手段（Ｓ２１１、Ｓ２１３、Ｓ３３１、Ｓ３３３）は、相手識別情報が第３記憶手段に記憶されていることが検出されたとき、当該相手識別情報に対応する他のゲーム装置のアドレスを、当該問合せを送信してきたゲーム装置に送信する。また、実施例では、問合せ対象のゲーム装置が接続中でないことが検出されたときには、通信不可を示すデータが送信される。ゲーム装置の判定手段は、サーバから受信した問合せ結果に基づいて、登録されている相手識別情報に対応する他のゲーム装置がネットワークに接続中であるか否かを判定する。つまり、近距離無線によって登録された相手識別情報に対応する他のゲーム装置との間でネットワーク通信可能であるか否かが判定される。第１通信手段（４２、６４、Ｓ９３、Ｓ９５、Ｓ３０５、Ｓ３０７）は、登録された相手識別情報に対応する他のゲーム装置がネットワークに接続中であると判定されるとき、サーバから受信したアドレスに基づいて、当該他のゲーム装置との間でネットワーク通信を行う。このように、ネットワークに接続中のゲーム装置の識別情報をサーバで管理するようにしたので、近距離無線によって登録された相手が接続中であるか否かをサーバで検出することができる。そして、当該相手が接続中であるときには当該相手に接続するための情報（アドレス）をサーバの応答によって取得できる。したがって、近距離無線通信を行って識別情報を登録した相手と離れた場合でも、ネットワークを介して通信することができる。
【００１８】
請求項４の発明は、請求項１または２の発明に従属し、各ゲーム装置は、ユーザの操作に応じて入力された相手識別情報を取得する相手入力手段をさらに備える。登録手段は、相手入力手段によって取得された相手識別情報を第２記憶手段に記憶する。
【００１９】
請求項４の発明では、相手入力手段（Ｓ２８９）は、ユーザないしプレイヤによって入力された他のゲーム装置の識別情報を取得する。登録手段（Ｓ２９３）は、入力された相手識別情報を第２記憶手段（４８、２８ｂ、８０）に記憶する。このように、相手の識別情報を手入力によって登録することができる。したがって、遠くに住んでいたりして会えない友達や近距離無線通信を行えない友達とも、識別情報を教え合って手入力で登録することによって、ネットワークを介して通信することができる。
【００２０】
請求項５の発明は、請求項４の発明に従属し、ネットワーク上のサーバをさらに備える。各ゲーム装置は、通知手段、および登録相手送信手段をさらに備えている。通知手段は、自己の識別情報を含みネットワークに接続中であることを示す通知をサーバに送信する。登録相手送信手段は、第２記憶手段に記憶されている相手識別情報をサーバに送信する。サーバは、接続中リスト記憶手段、登録相手記憶手段、第２検出手段、および応答手段を備えている。接続中リスト記憶手段は、通知に基づいてネットワークに接続中であるゲーム装置の少なくとも自己の識別情報およびアドレスを第３記憶手段に記憶する。登録相手記憶手段は、ゲーム装置から受信した相手識別情報を当該ゲーム装置ごとに第４記憶手段に記憶する。第２検出手段は、相手識別情報を受信したとき、当該受信した相手識別情報が第３記憶手段に記憶され、かつ、当該相手識別情報を送信したゲーム装置の識別情報が、当該相手識別情報に対応するゲーム装置にとっての相手識別情報として第４記憶手段に記憶されているか否かを検出する。応答手段は、第２検出手段によって、受信した相手識別情報が第３記憶手段に記憶され、かつ、当該相手識別情報を送信したゲーム装置の識
別情報が、当該相手識別情報に対応するゲーム装置にとっての相手識別情報として第４記憶手段に記憶されていることが検出されたとき、当該相手識別情報に対応するゲーム装置のアドレスを、当該相手識別情報を送信したゲーム装置に送信する。判定手段は、サーバから受信したデータに基づいて、第２記憶手段に記憶されている相手識別情報に対応する他のゲーム装置がネットワークに接続中であり、かつ、自己の識別情報が当該他のゲーム装置にとっての相手識別情報として登録されているか否かを判定する。第１通信手段は、判定手段によって他のゲーム装置がネットワークに接続中であり、かつ、自己の識別情報が他のゲーム装置の相手識別情報として登録されていると判定されるとき、サーバから受信したアドレスに基づいて他のゲーム装置との間でネットワーク通信を行う。
【００２１】
請求項５の発明では、通信ゲームシステムは、ネットワーク上に設けられた、つまり、ネットワークを介して接続可能なサーバ（７２）をさらに含む。ゲーム装置の通知手段（４２、Ｓ６７、Ｓ７１、Ｓ１７１）は、自己の識別情報を含みネットワークに接続中であることを示す通知をサーバに送信する。実施例では、通知データは、ＩＤ、プレイヤ名、接続アドレスやゲーム名等を含み、たとえば一定時間ごとに送信される。サーバの接続中リスト記憶手段（Ｓ２０３）は、たとえば、通知に基づいて管理され、ネットワークに接続中のゲーム装置の少なくとも識別情報およびアドレスを第３記憶手段（８４）に記憶する。実施例では、接続中ゲーム装置のＩＤ、プレイヤ名、接続アドレスやゲーム名等を含む接続中リストデータが記憶される。このように、サーバがネットワークに接続中であるゲーム装置の情報を管理する。ゲーム装置の登録相手送信手段（４２、６４、Ｓ７７、Ｓ３０１）は、登録されている相手識別情報をサーバに送信する。第２記憶手段に記憶されている全ての相手識別情報を含む問合せデータが送信されてよい。サーバの登録相手記憶手段（Ｓ３２１）は、ゲーム装置から受信した相手識別情報を当該ゲーム装置ごとに第４記憶手段（８４）に記憶する。実施例では、受信した相手識別情報は、接続中リストデータにおいて、各ゲーム装置ごとのお友達リストデータとして記憶される。このように、サーバは、ネットワークに接続中であるゲーム装置のお友達リストデータも記憶している。第２検出手段（Ｓ３２３−Ｓ３２９）は、相手識別情報を受信したとき、当該受信した相手識別情報が第３記憶手段に記憶され、かつ、相手識別情報を送信してきたゲーム装置の識別情報が、相手識別情報に対応するゲーム装置にとっての相手識別情報として第４記憶手段に記憶されているか否かを検出する。つまり、相手識別情報に対応するゲーム装置がネットワークに接続中であり、かつ、相手識別情報を送信したゲーム装置の識別情報が、当該相手識別情報に対応するゲーム装置のお友達リストデータに登録されているか否かが検出される。応答手段（Ｓ３３１、Ｓ３３３、Ｓ３３７）は、受信した相手識別情報が第３記憶手段に記憶され、かつ、相手識別情報を送信したゲーム装置の識別情報が、当該相手識別情報に対応するゲーム装置にとっての相手識別情報として第４記憶手段に記憶されていることが検出されたとき、受信した相手識別情報に対応するゲーム装置のアドレスを、当該相手識別情報を送信してきたゲーム装置に送信する。また、実施例では、受信した相手識別情報に対応するゲーム装置が接続中でないことが検出されたとき、または、送信してきたゲーム装置の識別情報が、受信した相手識別情報に対応するゲーム装置にとっての相手識別情報として登録されていないことが検出されたときには、当該相手識別情報に対応する他のゲーム装置との通信不可を示すデータが送信される。ゲーム装置の判定手段（４２、Ｓ８３、Ｓ３０３）は、サーバから受信したデータに基づいて、第２記憶手段に記憶されている相手識別情報に対応する他のゲーム装置がネットワークに接続中であり、かつ、自己の識別情報が他のゲーム装置にとっての相手識別情報として登録されているか否かを判定する。このように、識別情報を手入力可能にしている場合には、ネットワーク通信を行うための条件として、互いに識別情報を登録していることを要求するようにしている。このような条件設定によって、互いに識別情報を教え合った友達との間でだけネットワーク通信を行うことができる。また、たとえば、一方が相手の識別情報を不正に取得したような場合にネットワーク通信が行われるのを防止することができる。第１通信手段（４２、６４、Ｓ９３、Ｓ９５、Ｓ３０５、Ｓ３０７）は、登録されている他のゲーム装
置がネットワークに接続中であり、かつ、自己の識別情報が当該他のゲーム装置にとっての相手識別情報として登録されていると判定されるとき、サーバから受信したアドレスに基づいて他のゲーム装置との間でネットワーク通信を行う。このように、ネットワークに接続中のゲーム装置の識別情報をサーバで管理し、かつ、各ゲーム装置のお友達リストをサーバで記憶するようにした。したがって、手入力によってまたは近距離無線によって登録された相手が接続中であるか否かをサーバで検出することができるとともに、自己の識別情報が当該相手にとっての相手識別情報として登録されているか否かをサーバで検出することができる。そして、当該相手とネットワーク通信可能であるときには当該相手に接続するための情報（アドレス）をサーバから取得できる。したがって、たとえば、手入力によって識別情報を登録した遠くの友達であっても、または近距離無線通信を行った相手と離れた場合でも、ネットワークを介して通信することができる。
【００２２】
請求項６の発明は、請求項４または５の発明に従属し、各ゲーム装置は自己の識別情報を表示する第１表示手段をさらに備える。
【００２３】
請求項６の発明では、ゲーム装置の第１表示手段（４２、５０、５２、６０、１２、１４、Ｓ２４３−Ｓ２４７）は、自己の識別情報を表示する。表示される識別情報、すなわち、手入力によって登録されることになる識別情報は、暗号化された識別情報であってもよい。暗号化された識別情報を表示する場合には、登録手段は取得した識別情報を復号化して登録する。このように、自己の識別情報を表示するようにしたので、各ユーザは、自分の所有するゲーム装置の識別情報を知ることができて友達に伝えることができる。
【００２４】
請求項７の発明は、請求項１ないし６のいずれかの発明に従属し、各ゲーム装置のうち、第１のゲーム装置は、第２のゲーム装置とネットワーク通信中の状態にある場合に、第３のゲーム装置から通信接続されたとき、第３のゲーム装置に第２のゲーム装置に対応する相手識別情報を送信するとともに、第２のゲーム装置に第３のゲーム装置に対応する相手識別情報を送信する紹介手段をさらに備える。
【００２５】
請求項７の発明では、第１のゲーム装置は、紹介手段（４２、Ｓ１１７、Ｓ１１９、Ｓ１２１）によって、自己の通信相手同士（第２のゲーム装置と第３のゲーム装置）を引き合わせることができる。このように、第１のゲーム装置は、自己の通信相手に登録されていない相手の識別情報に提供することができるので、第２のゲーム装置および第３のゲーム装置は、たとえば、近くで通信したことのない相手や、まだ知り合ってない友達の友達とも、ネットワーク通信可能になる。したがって、ネットワーク通信において通信可能な相手の範囲を広げることができる。
【００２６】
請求項８の発明は、請求項１ないし７のいずれかの発明に従属し、各ゲーム装置のうち、第１のゲーム装置は、第２のゲーム装置とネットワーク通信中の状態にある場合に、第２のゲーム装置から第３のゲーム装置に対応する相手識別情報を受信したとき、第３のゲーム装置との間でネットワーク通信を行う第３通信手段をさらに備える。
【００２７】
請求項８の発明では、第１のゲーム装置は、第３通信手段（４２、６４、Ｓ９７、Ｓ９９、Ｓ１０１、Ｓ１０３）によって、通信相手（第２のゲーム装置）から他のゲーム装置（第３のゲーム装置）の識別情報を取得することができ、当該紹介された他のゲーム装置との間でネットワークを介して通信することができる。したがって、たとえば、近くで通信したことのない相手や、まだ知り合っていない友達の友達とも、ネットワークを介して通信することが可能になるので、ネットワーク通信において通信可能な相手の範囲を広げることができる。
【００２８】
請求項９の発明は、請求項８の発明に従属し、第１のゲーム装置は、登録判断手段およ
び追加登録手段をさらに備える。登録判断手段は、第３通信手段によってネットワーク通信を行った第３のゲーム装置に対応する相手識別情報を第２記憶手段に記憶するか否かを判断する。追加登録手段は、登録判断手段によって記憶すると判断されたとき、当該第３のゲーム装置に対応する相手識別情報を第２記憶手段に追加的に記憶する。
【００２９】
請求項９の発明では、第１のゲーム装置の登録判断手段（４２、Ｓ１０５、Ｓ１０７）は、第３通信手段で通信した、つまり、通信相手から紹介された他のゲーム装置の識別情報を第２記憶手段に登録するか否かを判断する。実施例では、当該識別情報がお友達リストデータに既に登録されているか否かが判断され、また、未登録である場合にはたとえばプレイヤの操作に応じてお友達リストに追加するか否かが判断される。追加登録手段（４２、Ｓ１０９）は、登録すると判断されたとき、当該識別情報を第２記憶手段のお友達リストデータに追加する。したがって、識別情報を未だ交換していない相手とネットワークを介して紹介を受けて通信した場合には、その相手の識別情報をお友達リストに登録するか否かを選択することができるので、たとえばプレイヤの希望する相手の識別情報のみを登録することができる。
【００３０】
請求項１０の発明は、請求項２ないし９のいずれかの発明に従属し、各ゲーム装置は、第１通信手段によるネットワーク通信を行うか第２通信手段による近距離無線通信を行うかを選択する通信方法選択手段をさらに備える。
【００３１】
請求項１０の発明では、通信方法選択手段（４２、Ｓ７−Ｓ１３、Ｓ１７、Ｓ１９）によって、近距離無線通信かネットワーク通信かを選択することができる。実施例では、無線ＬＡＮアクセスポイントの有無、お友達リストの有無、およびプレイヤの操作に応じて、通信方法が選択される。したがって、近くの相手との通信および遠くの相手との通信を選択的に実行することができる。
【００３２】
第２の発明（請求項１１の発明）は、複数のゲーム装置がネットワークを介して通信する通信ゲームシステムにおいて用いられるゲーム装置である。ゲーム装置は、第１記憶手段、登録手段、ネットワーク接続手段、判定手段、および第１通信手段を備える。第１記憶手段は、自己の識別情報を記憶する。登録手段は、他のゲーム装置の識別情報である相手識別情報を登録する。ネットワーク接続手段は、ネットワーク通信を行うためにネットワークにアクセス可能なアクセスポイントに接続する。判定手段は、ネットワーク接続手段によってアクセスポイントを介してネットワークに接続している場合において、登録手段によって登録された相手識別情報に対応する他のゲーム装置とネットワーク通信可能であるか否かを判定する。第１通信手段は、判定手段によってネットワーク通信可能であると判定された他のゲーム装置との間でネットワーク通信を行う。
【００３３】
請求項１１の発明は、上述のような通信ゲームシステムに用いられるゲーム装置であり、上述の第１の発明と同様に、近距離無線通信や手入力等で登録された友達とのみネットワーク通信することができ、また、友達から紹介されたその友達とネットワーク通信を行うことができる。したがって、誰もが参加し易いネットワークゲームを実現できる。
【００３４】
第３の発明（請求項１２の発明）は、複数のゲーム装置がネットワークを介して通信する通信ゲームシステムにおいて用いられ、少なくとも自己の識別情報を記憶する第１記憶手段を備えるゲーム装置のゲームプログラムである。ゲームプログラムは、ゲーム装置のプロセサに、登録ステップ、ネットワーク接続ステップ、判定ステップ、および第１通信ステップを実行させる。登録ステップは、他のゲーム装置の識別情報である相手識別情報を登録する。ネットワーク接続ステップは、ネットワーク通信を行うためにネットワークにアクセス可能なアクセスポイントに接続する。判定ステップは、ネットワーク接続ステップによってアクセスポイントを介してネットワークに接続している場合において、登録
ステップによって登録された相手識別情報に対応する他のゲーム装置とネットワーク通信可能であるか否かを判定する。第１通信ステップは、判定ステップによってネットワーク通信可能であると判定された他のゲーム装置との間でネットワーク通信を行う。
【００３５】
請求項１２の発明は、上述のような通信ゲームシステムに用いられるゲーム装置のゲームプログラムであり、上述の第１の発明および第２の発明と同様の効果を奏する。
【００３６】
第４の発明（請求項１３の発明）は、複数のゲーム装置がネットワークを介して通信する通信ゲームシステムにおいて用いられるサーバである。各ゲーム装置は、自己の識別情報を記憶する第１記憶手段と他のゲーム装置の識別情報である相手識別情報を記憶する第２記憶手段を備えている。サーバは、接続中リスト記憶手段、登録相手記憶手段、第２検出手段、および応答手段を備える。接続中リスト記憶手段は、ネットワークに接続中であるゲーム装置から受信した少なくとも自己の識別情報およびアドレスを第３記憶手段に記憶する。登録相手記憶手段は、ゲーム装置から受信した相手識別情報を当該ゲーム装置ごとに第４記憶手段に記憶する。第２検出手段は、相手識別情報を受信したとき、当該相手識別情報が第３記憶手段に記憶され、かつ、当該相手識別情報を送信したゲーム装置の識別情報が、当該相手識別情報に対応するゲーム装置にとっての相手識別情報として第４記憶手段に記憶されているか否かを検出する。応答手段は、第２検出手段によって相手識別情報が第３記憶手段に記憶され、かつ、当該相手識別情報を送信したゲーム装置の識別情報が、当該相手識別情報に対応するゲーム装置の相手識別情報として第４記憶手段に記憶されていることが検出されたとき、当該相手識別情報に対応するゲーム装置のアドレスを、当該相手識別情報を送信してきたゲーム装置に送信する。
【００３７】
請求項１３の発明では、サーバは、上述のような複数のゲーム装置がネットワークを介して通信する通信ゲームシステムにおいて用いられる。各ゲーム装置は、上述の第１の発明と同様に、第１記憶手段に自己の識別情報を記憶するとともに、第２記憶手段に相手識別情報を記憶している。このサーバは、各ゲーム装置でプレイヤによる手入力で相手識別情報を登録可能な場合に適用される。サーバの接続中リスト記憶手段（Ｓ２０３）は、ネットワークに接続中であるゲーム装置から受信した少なくとも自己の識別情報およびアドレスを第３記憶手段（８４）に記憶する。つまり、サーバはネットワークに接続中であるゲーム装置の識別情報を管理している。実施例では、ゲーム装置の識別情報に対応付けられた接続アドレス、プレイヤ名等を含む接続中リストデータが記憶される。登録相手記憶手段（Ｓ３２１）は、ゲーム装置から受信した相手識別情報をゲーム装置ごとに第４記憶手段（８４）に記憶する。つまり、サーバは、各ゲーム装置のお友達リストも記憶する。実施例では、相手識別情報は、接続中リストデータにおいて当該相手識別情報を送信してきたゲーム装置の識別情報に対応付けて記憶される。第２検出手段（Ｓ３２３−Ｓ３２９）は、相手識別情報を受信したとき、相手識別情報が第３記憶手段に記憶され、かつ、相手識別情報を送信したゲーム装置の識別情報が、相手識別情報に対応するゲーム装置にとっての相手識別情報として第４記憶手段に記憶されているか否かを検出する。つまり、相手識別情報に対応するゲーム装置がネットワークに接続中であり、かつ、相手識別情報に対応するゲーム装置でも、当該相手識別情報を送信したゲーム装置の識別情報を登録しているのか否かが検出される。応答手段（Ｓ３３１、Ｓ３３３、Ｓ３３７）は、受信した相手識別情報が第３記憶手段に記憶され、かつ、相手識別情報を送信したゲーム装置の識別情報が、相手識別情報に対応するゲーム装置にとっての相手識別情報として第４記憶手段に記憶されていることが検出されたとき、受信した相手識別情報に対応するゲーム装置のアドレスを、当該相手識別情報を送信したゲーム装置に送信する。つまり、相手識別情報に対応するゲーム装置と当該相手識別情報を送信してきたゲーム装置とがネットワーク通信可能であると判断されるときには、相手識別情報に対応するゲーム装置に接続するための情報を、当該相手識別情報を送信してきたゲーム装置に返信する。また、ネットワーク通信可能でないと判断されるときには、通信不可を示すデータが返信される。このように
、サーバで、接続中のゲーム装置の識別情報を管理し、かつ、各ゲーム装置のお友達リストを記憶するようにした。そして、互いの識別情報が互いのゲーム装置で登録されていることが検出されるときに、接続するための情報を返信するようにした。したがって、互いに識別情報を登録しているゲーム装置間でだけネットワーク通信を行わせることができる。このため、たとえば、一方が相手の識別情報を不正に取得して手入力で登録したような場合や、相手識別情報を近距離無線や伝達等で正当に交換したが一方が他方との通信を拒否して登録しなかったような場合等に、ネットワーク通信が行われることを防止することができる。したがって、お互いが識別情報を登録している場合のみネットワークを介して通信を行うことができるので、安全かつ気軽に参加することが可能なネットワークゲームを実現できる。
【００３８】
第５の発明（請求項１４の発明）は、複数のゲーム装置がネットワークを介して通信する通信ゲームシステムにおいて用いられるサーバの通信処理プログラムである。各ゲーム装置は、自己の識別情報を記憶する第１記憶手段と他のゲーム装置の識別情報である相手識別情報を記憶する第２記憶手段を備えている。この通信処理プログラムは、サーバのプロセサに、接続中リスト記憶ステップ、登録相手記憶ステップ、第２検出ステップ、および応答ステップを実行させる。接続中リスト記憶ステップは、ネットワークに接続中であるゲーム装置から受信した少なくとも自己の識別情報およびアドレスを第３記憶手段に記憶する。登録相手記憶ステップは、ゲーム装置から受信した相手識別情報を当該ゲーム装置ごとに第４記憶手段に記憶する。第２検出ステップは、相手識別情報を受信したとき、当該相手識別情報が第３記憶手段に記憶され、かつ、当該相手識別情報を送信したゲーム装置の識別情報が、当該相手識別情報に対応するゲーム装置にとっての相手識別情報として第４記憶手段に記憶されているか否かを検出する。応答ステップは、第２検出ステップによって相手識別情報が第３記憶手段に記憶され、かつ、当該相手識別情報を送信したゲーム装置の識別情報が、当該相手識別情報に対応するゲーム装置にとっての相手識別情報として第４記憶手段に記憶されていることが検出されたとき、当該相手識別情報に対応するゲーム装置のアドレスを、当該相手識別情報を送信してきたゲーム装置に送信する。
【００３９】
請求項１４の発明は、上述の第４の発明のサーバに対応するプログラムであり、上述の第４の発明と同様な効果を奏する。
【発明の効果】
【００４０】
この発明によれば、他のゲーム装置の識別情報を登録し、当該登録した識別情報に対応するゲーム装置との間でネットワーク通信可能であると判定される場合に、当該相手とネットワーク通信をするようにした。したがって、識別情報を登録した相手とだけネットワーク通信することができるので、参加し易いネットワークゲームを実現できる。
【００４１】
近距離無線によって通信した相手との間で識別情報を交換して登録する場合には、その後インターネットなどのネットワークに接続し、たとえばサーバを介して識別情報に基づいて相手が接続中であると判定されるときには当該相手と通信するようにした。したがって、識別情報を交換した相手とネットワークを介して通信することができるので、近距離無線通信によって通信ゲームを行った相手と離れた場所に存在することとなっても通信ゲームを行うことができる。
【００４２】
手入力によって相手の識別情報を登録する場合には、相手も自分の識別情報を登録していればネットワークを介して通信可能であると判定される。したがって、直接会えないような友達や知り合いとも識別情報を交換して登録することによってネットワークを介して通信することができる。
【００４３】
また、ネットワーク通信において、通信相手に別の通信中の相手を紹介するようにした
。したがって、通信可能な相手の範囲を広げることができ、また、紹介された相手の識別情報を登録することによって友達の輪を広げることができる。
【００４４】
このように、ネットワーク通信の相手が近距離で通信するような身近な人や識別情報を伝えることのできる知り合いなどから始まって徐々に友達の友達に広がるようにしているので、ネットワークゲームに安全かつ気軽に参加することが可能になる。したがって、ネットワークゲームを避けていたような一般的なゲームユーザなどにとって参加し易いネットワークゲームを実現できる。
【００４５】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００４６】
【図１】この発明の一実施例の通信ゲームシステムに用いられるゲーム装置の一例を示す外観図である。
【図２】図１実施例のゲーム装置の電気的な構成を示すブロック図である。
【図３】図１実施例のゲーム装置を用いて近距離無線による通信ゲームを実行する場合の通信ゲームシステムの一例を示す図解図である。
【図４】図１実施例のゲーム装置を用いてネットワーク通信による通信ゲームを実行する場合の通信ゲームシステムの一例を示す図解図である。
【図５】ゲーム装置のＲＡＭのメモリマップの一例を示す図解図である。
【図６】サーバのメモリマップの一例を示す図解図である。
【図７】インターネット通信処理の概要の一例を示す図解図である。
【図８】ゲーム装置の動作の一例を示すフロー図である。
【図９】通信範囲選択画面の一例を示す図解図であり、図９（Ａ）はネットワークゲームを実行可能な場合に表示される画面を示し、図９（Ｂ）はネットワークゲームを実行不可能な場合に表示される画面を示す。
【図１０】図８の無線通信処理における動作の一例を示すフロー図である。
【図１１】図８のインターネット通信処理における動作の一例の一部を示すフロー図である。
【図１２】図１１の続きの一部を示すフロー図である。
【図１３】図１２の続きの一部を示すフロー図である。
【図１４】図１３の続きを示すフロー図である。
【図１５】図１１のアクセスポイント確認処理の動作の一例を示すフロー図である。
【図１６】図１１の通知処理の動作の一例を示すフロー図である。
【図１７】通信相手選択画面の一例を示す図解図である。
【図１８】サーバの通信処理の動作の一例を示すフロー図である。
【図１９】サーバのオンライン確認処理の動作の一例を示すフロー図である。
【図２０】他の実施例のゲーム装置における自己ＩＤ表示モードの動作の一例を示すフロー図である。
【図２１】自己ＩＤ生成モードの動作の一例を示すフロー図である。
【図２２】プレイヤ名設定モードの動作の一例を示すフロー図である。
【図２３】相手ＩＤ入力モードの動作の一例を示すフロー図である。
【図２４】通信ゲームモードの動作の一例を示すフロー図である。
【図２５】図２４のインターネット通信処理の動作の一例の一部を示すフロー図である。
【図２６】図２５の続きの一部を示すフロー図である。
【図２７】他の実施例のサーバのメモリマップの一例を示す図解図である。
【図２８】他の実施例のサーバにおける通信処理の動作の一例を示すフロー図である。
【図２９】無線通信処理の動作の変形例を示すフロー図である。
【発明を実施するための形態】
【００４７】
図１を参照して、この発明の実施例であるゲーム装置１０は、第１の液晶表示器（ＬＣＤ）１２および第２のＬＣＤ１４を含む。このＬＣＤ１２およびＬＣＤ１４は、所定の配置位置となるようにハウジング1６に収納される。この実施例では、ハウジング１６は、
上側ハウジング１６ａと下側ハウジング１６ｂとによって構成され、ＬＣＤ１２は上側ハウジング１６ａに収納され、ＬＣＤ１４は下側ハウジング１６ｂに収納される。したがって、ＬＣＤ１２とＬＣＤ１４とは縦（上下）に並ぶように近接して配置される。
【００４８】
なお、この実施例では、表示器としてＬＣＤを用いるようにしてあるが、ＬＣＤに代えて、ＥＬ(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるよう
にしてもよい。
【００４９】
図１からも分かるように、上側ハウジング１６ａは、ＬＣＤ１２の平面形状よりも少し大きな平面形状を有し、一方主面からＬＣＤ１２の表示面を露出するように開口部が形成される。一方、下側ハウジング１６ｂは、その平面形状が上側ハウジング１６ａよりも横長に選ばれ、横方向の略中央部にＬＣＤ１４の表示面を露出するように開口部が形成される。また、下側ハウジング１６ｂには、音抜き孔１８が形成されるとともに、操作スイッチ２０（２０ａ，２０ｂ，２０ｃ，２０ｄ，２０ｅ，２０Ｌおよび２０Ｒ）が設けられる。
【００５０】
また、上側ハウジング１６ａと下側ハウジング１６ｂとは、上側ハウジング１６ａの下辺（下端）と下側ハウジング１６ｂの上辺（上端）の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、ＬＣＤ１２の表示面とＬＣＤ１４の表示面とが対面するように、上側ハウジング１６ａを回動させて折りたたんでおけば、ＬＣＤ１２の表示面およびＬＣＤ１４の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング１６ａと下側ハウジング１６ｂとは、回動可能に連結せずに、それらを一体的（固定的）に設けたハウジング１６を形成するようにしてもよい。
【００５１】
操作スイッチ２０は、方向指示スイッチ（十字スイッチ）２０ａ，スタートスイッチ２０ｂ、セレクトスイッチ２０ｃ、動作スイッチ（Ａボタン）２０ｄ、動作スイッチ（Ｂボタン）２０ｅ、動作スイッチ（Ｌボタン）２０Ｌおよび動作スイッチ（Ｒボタン）２０Ｒを含む。スイッチ２０ａ，２０ｂおよび２０ｃは、下側ハウジング１６ｂの一方主面において、ＬＣＤ１４の左側に配置される。また、スイッチ２０ｄおよび２０ｅは、下側ハウジング１６ｂの一方主面において、ＬＣＤ１４の右側に配置される。さらに、スイッチ２０Ｌおよびスイッチ２０Ｒは、それぞれ、下側ハウジング１６ｂの上端（天面）の一部であり上側ハウジング１６ａとの連結部以外の部分において、当該連結部を挟むようにして左右に配置される。
【００５２】
方向指示スイッチ２０ａは、ディジタルジョイスティックとして機能する。４つの押圧部の１つを操作することによって、プレイヤによって操作可能なプレイヤキャラクタ(ま
たはプレイヤオブジェクト)やカーソルの移動方向の指示等が可能である。スタートスイ
ッチ２０ｂは、プッシュボタンで構成され、ゲームの開始（再開）、や一時停止等のために用いられる。セレクトスイッチ２０ｃは、プッシュボタンで構成され、ゲームモードの選択等のために用いられる。
【００５３】
動作スイッチ２０ｄすなわちＡボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ（パンチ）、投げる、つかむ（取得）、乗る
、ジャンプする、切る等の任意の動作（アクション）をさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(ＲＰＧ)やシミュレーションＲＰＧにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ２０ｅすなわちＢボタンは、プッシュボタンで構成され、セレクトスイッチ２０ｃで選択したゲームモードの変更やＡボタン２０ｄで決定したアクションの取り消し等のために用いられる。
【００５４】
動作スイッチ２０Ｌ（Ｌボタン）および動作スイッチ２０Ｒ（Ｒボタン）は、プッシュボタンで構成され、Ｌボタン２０ＬおよびＲボタン２０Ｒは、Ａボタン２０ｄおよびＢボタン２０ｅと同様の操作に用いることができ、また、Ａボタン２０ｄおよびＢボタン２０ｅの補助的な操作に用いることができる。
【００５５】
また、ＬＣＤ１４の上面には、タッチパネル２２が装着される。タッチパネル２２としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル２２は、その上面をスティック２４ないしはペン（スタイラスペン）或いは指（以下、これらを「スティック２４等」という場合がある。）で、押圧したり、撫でたり、触れたり、叩いたりすることにより操作すると、スティック２４等によって操作された（つまり、タッチ入力された）位置の座標を検出して、検出した座標（検出座標）に対応する座標データを出力する。
【００５６】
なお、この実施例では、ＬＣＤ１４（ＬＣＤ１２も同じ、または略同じ。）の表示面の解像度は２５６ｄｏｔ×１９２ｄｏｔであり、タッチパネル２２の検出精度（操作面）も表示画面に対応して２５６ｄｏｔ×１９２ｄｏｔとしてある。ただし、図１では、タッチパネル２２を分かり易く示すために、タッチパネル２２をＬＣＤ１４と異なる大きさで示してあるが、ＬＣＤ１４の表示画面の大きさとタッチパネル２２の操作面の大きさとは同じ大きさである。なお、タッチパネル２２の検出精度は、表示画面の解像度よりも低くてもよく、高くてもよい。
【００５７】
ＬＣＤ１２およびＬＣＤ１４には異なるゲーム画面が表示され得る。たとえば、レースゲームでは一方のＬＣＤに運転席からの視点による画面を表示し、他方のＬＣＤにレース（コース）全体の画面を表示することができる。また、ＲＰＧでは、一方のＬＣＤにマップやプレイヤキャラクタ等のキャラクタを表示し、他方のＬＣＤにプレイヤキャラクタが所有するアイテムを表示することができる。さらに、一方のＬＣＤ（この実施例では、ＬＣＤ１２）にゲームのプレイ画面を表示し、他方のＬＣＤ（この実施例では、ＬＣＤ１４）に当該ゲームを操作するための文字情報やアイコン等の画像を含むゲーム画面（操作画面）を表示することができる。さらには、２つのＬＣＤ１２およびＬＣＤ１４を合わせて１つの画面として用いることにより、プレイヤキャラクタが倒さなければならない巨大な怪物（敵キャラクタ）を表示することもできる。
【００５８】
したがって、プレイヤはスティック２４等でタッチパネル２２を操作することにより、ＬＣＤ１４の画面に表示されるプレイヤキャラクタ、敵キャラクタ、アイテムキャラクタ、文字情報、アイコン等のキャラクタ画像を指示したり、コマンドを選択したりすることができる。
【００５９】
なお、ゲームの種類によっては、その他の入力指示、たとえばＬＣＤ１４に表示されたアイコンの選択または操作、座標入力指示等に用いることもできる。
【００６０】
このように、ゲーム装置１０は、２画面分の表示部となるＬＣＤ１２およびＬＣＤ１４を有し、いずれか一方（この実施例では、ＬＣＤ１４）の上面にタッチパネル２２が設け
られるので、２画面（１２，１４）と２系統の操作部（２０，２２）とを有する構成になっている。
【００６１】
また、この実施例では、スティック２４は、たとえば上側ハウジング１６ａの側面（右側面）近傍に設けられる収納部（穴ないし凹部）２６に収納することができ、必要に応じて取り出される。ただし、スティック２４を設けない場合には、収納部２６を設ける必要もない。
【００６２】
さらに、ゲーム装置１０はメモリカード（またはゲームカートリッジ）２８を含む。このメモリカード２８は着脱自在であり、下側ハウジング１６ｂの裏面ないしは底面（下端）に設けられる挿入口３０から挿入される。図１では省略するが、挿入口３０の奥部には、メモリカード２８の挿入方向先端部に設けられるコネクタ（図示せず）と接合するためのコネクタ４６（図２参照）が設けられており、したがって、メモリカード２８が挿入口３０に挿入されると、コネクタ同士が接合され、ゲーム装置１０のＣＰＵコア４２（図２参照）がメモリカード２８にアクセス可能となる。
【００６３】
なお、図１では表現できないが、下側ハウジング１６ｂの音抜き孔１８と対応する位置であり、この下側ハウジング１６ｂの内部には、スピーカ３２（図２参照）が設けられる。
【００６４】
また、図１では省略するが、たとえば、下側ハウジング１６ｂの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング１６ｂの底面側には、電源スイッチ、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなども設けられる。
【００６５】
図２はゲーム装置１０の電気的な構成を示すブロック図である。図２を参照して、ゲーム装置１０は電子回路基板４０を含み、この電子回路基板４０にはＣＰＵコア４２等の回路コンポーネントが実装される。ＣＰＵコア４２は、バス４４を介してコネクタ４６に接続されるとともに、ＲＡＭ４８、第１のグラフィック処理ユニット（ＧＰＵ）５０、第２のＧＰＵ５２、入出カインターフェイス回路（以下、「Ｉ／Ｆ回路」という。）５４、ＬＣＤコントローラ６０およびワイヤレス通信部６４に接続される。
【００６６】
コネコタ４６には、上述したように、メモリカード２８が着脱自在に接続される。メモリカード２８は、ＲＯＭ２８ａおよびＲＡＭ２８ｂを含み、図示は省略するが、ＲＯＭ２８ａおよびＲＡＭ２８ｂは、互いにバスで接続され、さらに、コネクタ４６と接合されるコネクタ（図示せず）に接続される。したがって、上述したように、ＣＰＵコア４２は、ＲＯＭ２８ａおよびＲＡＭ２８ｂにアクセスすることができるのである。
【００６７】
ＲＯＭ２８ａは、ゲーム装置１０で実行すべきゲーム（仮想ゲーム）のためのゲームプログラム、画像（キャラクタ画像、背景画像、アイテム画像、アイコン（ボタン）画像、メッセージ画像など）データおよびゲームに必要な音（音楽）のデータ（音データ）等を予め記憶する。ＲＡＭ（バックアップＲＡＭ）２８ｂは、そのゲームの途中データやゲームの結果データを記憶（セーブ）する。
【００６８】
ＲＡＭ４８は、バッファメモリないしはワーキングメモリとして使用される。つまり、ＣＰＵコア４２は、メモリカード２８のＲＯＭ２８ａに記憶されたゲームプログラム、画像データおよび音データ等をＲＡＭ４８にロードし、ロードしたゲームプログラムを実行する。また、ＣＰＵコア４２は、ゲームの進行に応じて発生または取得されるデータ（ゲームデータやフラグデータ等）をＲＡＭ４８に記憶しつつゲーム処理を実行する。
【００６９】
なお、ゲームプログラム、画像データおよび音データ等は、ＲＯＭ２８ａから一度に全
部または必要に応じて部分的にかつ順次的に読み出され、ＲＡＭ４８に記憶される。
【００７０】
ただし、メモリカード２８のＲＯＭ２８ａには、ゲーム以外の他のアプリケーションについてのプログラムおよび当該アプリケーションの実行に必要な画像データ等が記憶される。また、必要に応じて、音（音楽）データが記憶されてもよい。かかる場合には、ゲーム装置１０では、当該アプリケーションが実行される。
【００７１】
ＧＰＵ５０およびＧＰＵ５２は、それぞれ、描画手段の一部を形成し、たとえばシングルチップＡＳＩＣで構成され、ＣＰＵコア４２からのグラフィックスコマンド（graphics
command ：作画命令）を受け、そのグラフィックスコマンドに従ってゲーム画像データ
を生成する。ただし、ＣＰＵコア４２は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム（ゲームプログラムに含まれる。）をＧＰＵ５０およびＧＰＵ５２のそれぞれに与える。
【００７２】
また、ＧＰＵ５０には、第１のビデオＲＡＭ（以下、「ＶＲＡＭ」という。）５６が接続され、ＧＰＵ５２には、第２のＶＲＡＭ５８が接続される。ＧＰＵ５０およびＧＰＵ５２が作画コマンドを実行するにあたって必要なデータ（画像データ：キャラクタデータやテクスチャ等のデータ）は、ＧＰＵ５０およびＧＰＵ５２が、それぞれ、第１のＶＲＡＭ５６および第２のＶＲＡＭ５８にアクセスして取得する。ただし、ＣＰＵコア４２は、描画に必要な画像データをＲＡＭ４８から読み出し、ＧＰＵ５０およびＧＰＵ５２を介して第１のＶＲＡＭ５６および第２のＶＲＡＭ５８に書き込む。ＧＰＵ５０はＶＲＡＭ５６にアクセスして表示のためのゲーム画像データを作成し、その画像データをＶＲＡＭ５６の描画バッファに記憶する。ＧＰＵ５２はＶＲＡＭ５８にアクセスして描画のためのゲーム画像データを作成し、その画像データをＶＲＡＭ５８の描画バッファに記憶する。描画バッファとしてはフレームバッファまたはラインバッファ等が採用されてよい。
【００７３】
ＶＲＡＭ５６およびＶＲＡＭ５８は、ＬＣＤコントローラ６０に接続される。ＬＣＤコントローラ６０はレジスタ６２を含み、レジスタ６２はたとえば１ビットで構成され、ＣＰＵコア４２の指示によって「０」または「１」の値（データ値）を記憶する。ＬＣＤコントローラ６０は、レジスタ６２のデータ値が「０」である場合には、ＧＰＵ５０によって作成されたゲーム画像データをＬＣＤ１２に出力し、ＧＰＵ５２によって作成されたゲーム画像データをＬＣＤ１４に出力する。一方、レジスタ６２のデータ値が「１」である場合には、ＬＣＤコントローラ６０は、ＧＰＵ５０によって作成されたゲーム画像データをＬＣＤ１４に出力し、ＧＰＵ５２によって作成されたゲーム画像データをＬＣＤ１２に出力する。
【００７４】
なお、ＬＣＤコントローラ６０は、ＶＲＡＭ５６およびＶＲＡＭ５８から直接画像データを読み出すことができるし、あるいはＧＰＵ５０およびＧＰＵ５２を介してＶＲＡＭ５６およびＶＲＡＭ５８から画像データを読み出すこともできる。
【００７５】
また、ＶＲＡＭ５６およびＶＲＡＭ５８はＲＡＭ４８に設けられてもよいし、あるいはその描画バッファおよびＺバッファがＲＡＭ４８に設けられてもよい。
【００７６】
Ｉ／Ｆ回路５４には、操作スイッチ２０，タッチパネル２２およびスピーカ３２が接続される。ここで、操作スイッチ２０は、上述したスイッチ２０ａ，２０ｂ，２０ｃ，２０ｄ，２０ｅ，２０Ｌおよび２０Ｒであり、操作スイッチ２０が操作されると、対応する操作信号（操作データ）がＩ／Ｆ回路５４を介してＣＰＵコア４２に入力される。また、タッチパネル２２から出力される操作データ（座標データ）がＩ／Ｆ回路５４を介してＣＰＵコア４２に入力される。さらに、ＣＰＵコア４２は、ゲーム音楽（ＢＧＭ）、効果音またはゲームキャラクタの音声（擬制音）などのゲームに必要な音データをＲＡＭ４８から
読み出し、Ｉ／Ｆ回路５４を介してスピーカ３２からその音を出力する。
【００７７】
ワイヤレス通信部６４は他のゲーム装置１０や通信機器との間で無線によってデータを送受信するための通信手段である。ワイヤレス通信部６４は、相手方への通信データを無線信号に変調してアンテナから送信し、また、相手方からの無線信号を同じアンテナで受信して通信データに復調する。このワイヤレス通信部６４を介して、ゲーム装置１０は、他のゲーム装置１０との間でデータを通信して通信ゲームを実行する。ワイヤレス通信部６４は、たとえばＩＥＥＥ８０２．１１（Ｗｉ−Ｆｉ）に対応しており、無線ＬＡＮによって他のゲーム装置１０や通信機器とデータを通信することが可能である。ゲーム装置１０は、たとえば近くに存在する他のゲーム装置１０との間で無線ＬＡＮによって通信ゲームを実行してよい。また、ゲーム装置１０は、ＴＣＰ／ＩＰプロトコルを用いてインターネットを介して他のコンピュータ、サーバおよびゲーム装置１０等とデータを通信することができる。したがって、ゲーム装置１０は、たとえば家庭内ＬＡＮや公衆無線ＬＡＮの無線ＬＡＮアクセスポイントからインターネットサービスプロバイダ（ＩＳＰ）にアクセスし、ＩＳＰを介してインターネットないしＷＡＮ（Wide Area Network）のようなネッ
トワークに接続し、離れた場所でインターネットに接続している他のゲーム装置１０との間で通信ゲームを実行することができる。
【００７８】
なお、この実施例では、ワイヤレス通信部６４が無線ＬＡＮ規格に従って動作する場合を説明するが、他の実施例では、たとえばBluetoothのような他の無線通信規格に従うも
のであってもよい。
【００７９】
また、このワイヤレス通信部６４は、たとえば時分割多元接続方式をベースとした無線通信を実行することも可能である。近くの他のゲーム装置１０との間での通信ゲームはこの無線通信方式で実行されてよい。たとえば、各ゲーム装置１０には１通信サイクル中にタイムスロットが割り当てられ、割り当てられたスロットで自己のデータを送信する。なお、このような無線通信の技術は、本件出願人による特開２００４−１３５７７８号公報および特開２００４−１３６００９号公報などに詳細に開示されるので参照されたい。
【００８０】
複数台の上述のようなゲーム装置１０を用いて、この実施例の通信ゲームシステムが構成される。この通信ゲームシステムにおいては、図３に示すような近距離の場合でも図４に示すような遠距離の場合でも、複数のゲーム装置１０間で通信ゲームが行われる。
【００８１】
まず、図３に示すように、複数のゲーム装置１０が互いに近くに存在する場合に、複数のゲーム装置１０間で近距離無線通信によって通信ゲームが実行される。たとえば、複数のゲーム装置１０のうちの１つが親機となり、その他は子機となって、親機と子機との間でデータが通信される。各プレイヤは自機が親機になるか子機になるかをたとえば選択画面で選択する。ゲーム装置１０は、親機として機能する場合、通信可能範囲内に存在する子機を探して接続し、子機として機能する場合には通信可能範囲内に存在する参加可能な親機を探して接続する。
【００８２】
この近距離の場合の通信ゲームが実行されると、ゲーム装置１０の識別情報が複数のゲーム装置１０間で自動的または各プレイヤの選択操作に応じて交換される。つまり、各ゲーム装置１０は、近距離の場合の通信ゲームによって、当該通信ゲームに参加した相手のゲーム装置１０の識別情報を取得できる。たとえば、このような近距離範囲内の通信ゲームは、友達同士の間で行われることが想定されるので、各プレイヤは、友達同士で集まって通信ゲームを行うことによって、友達の所有するゲーム装置１０の識別情報を取得できる。取得された他のゲーム装置１０の識別情報は、お友達リストデータとして記憶される。
【００８３】
この近距離の通信ゲームによって取得できる識別情報は、遠距離の場合の通信のための識別情報である。したがって、近距離の通信ゲームを行って相手の識別情報を取得したプレイヤは、その後相手と離れても、たとえばインターネット等を介した通信によって通信ゲームを行うことができる。
【００８４】
図４に示すように、遠距離の場合の通信ゲームは、複数のゲーム装置１０間でインターネット等のネットワークを介して実行される。たとえば、各ゲーム装置１０は、無線ＬＡＮアクセスポイントのような各アクセスポイント７０を介してインターネットにアクセスする。また、この実施例では、通信ゲームシステムはインターネット上のサーバ７２を含み、このサーバ７２は各ゲーム装置１０のマッチングサーバとして機能する。サーバ７２はコンピュータであり、ＣＰＵ、メモリ、ネットワーク通信のための通信装置等を含み、メモリに記憶されたプログラムに従って動作する。
【００８５】
たとえば、ゲーム装置１０はアクセスポイント７０を介してサーバ７２に接続し、自己の識別情報を含みオンライン中（接続中または通信中）であることを示す通知データをサーバ７２に送信する。サーバ７２は、この通知データを受信することによって、当該識別情報に対応するゲーム装置１０が接続中であることを把握する。サーバ７２は、受信した識別情報を接続中リストデータとして記憶する。ゲーム装置１０による通知データの送信はたとえば一定時間ごとに実行され、サーバ７２は通知データを受信しなくなったことに基づいて当該ゲーム装置１０が通信中ではなくなったことを把握でき、接続中リストデータを更新する。
【００８６】
そして、ゲーム装置１０は、友達リストの識別情報を含む問合せデータをサーバ７２に送信し、識別情報に対応する他のゲーム装置１０がサーバ７２に接続中であるか否かを問い合わせる。サーバ７２は、問合せの識別情報が接続中リストにある否かを検出し、接続中であると判断される場合には、当該ゲーム装置１０の接続アドレスを問い合わせてきたゲーム装置１０に返信する。したがって、ゲーム装置１０は、相手のゲーム装置１０が接続中であることを示す問合せ結果データを受信した場合には、受信したデータから取得した当該相手の接続アドレスに基づいて当該相手のゲーム装置１０に接続して、通信ゲームを行うことができる。
【００８７】
図５には、ゲーム装置１０のＲＡＭ４８のメモリマップの一例が示される。ＲＡＭ４８は、自己識別データ記憶領域７４、サーバアドレス記憶領域７６、ゲームデータ記憶領域７８、お友達リスト記憶領域８０および通信相手情報記憶領域８２等を含む。なお、図５にはメモリマップの一部のみが示されており、ＲＡＭ４８にはゲームの進行に必要な各種データが記憶される。
【００８８】
自己識別データ記憶領域７４には、自己のＩＤ、接続アドレス、プレイヤ名等の情報が記憶される。ＩＤは、通信ゲームにおけるゲーム装置１０の識別情報である。このＩＤは、たとえば、メモリカード２８のＲＯＭ２８ａ、ゲーム装置１０のＲＡＭ４８に含まれる不揮発性メモリ等に予め記憶されていてもよい。しかし、この実施例では、メモリカード２８の所有者またはゲーム装置１０の所有者が変更した場合に変更可能にするために、ＩＤは、たとえば、この通信ゲームのためのメモリカード２８がゲーム装置１０に装着されて初期設定としてプレイヤ名の設定が行われるときに生成される。あるいは、ＩＤは、ゲーム装置１０の所有者名の設定が行われるとき等に生成されてＲＡＭ４８の不揮発性メモリ等に記憶されてもよい。このＩＤの設定方法は任意であるが、ＩＤは唯一無二の値ないし番号に設定される必要がある。一例として、ＩＤは、ゲーム装置１０のEthernet（登録商標）デバイスとしても機能するワイヤレス通信部６４のＭＡＣアドレスに、当該ＩＤが生成される際の時刻情報を付加することによって生成されてよい。時刻情報はたとえばＣＰＵコア４２に接続される図示しない時計ＩＣから取得されてよい。
【００８９】
また、接続アドレスは、ゲーム装置１０がインターネットに接続する際に使用するＩＰアドレスである。送信データにはこの接続アドレスが送信元ＩＰアドレスとして含められる。接続アドレスは、この実施例ではプライベートＩＰアドレスである。たとえば、接続アドレスは、無線ＬＡＮアクセスポイント７０のＤＨＣＰ（Dynamic Host Configuration
Protocol）サーバ機能によって割り当てられワイヤレス通信部６４のＤＨＣＰクライア
ント機能によって取得されて、ＲＡＭ４８に記憶される。あるいは、接続アドレスは、ゲーム装置１０において当該プレイヤによって手動設定されてもよい。プレイヤの契約しているＩＳＰあるいは公衆無線ＬＡＮのアクセスポイント７０の接続されるＩＳＰ等がプライベートＩＰアドレスをＤＨＣＰ等で割り振る場合には、送信データの送信元ＩＰアドレスは当該ＩＳＰのゲートウェイでグローバルＩＰアドレスに変換される。一方、プレイヤの契約しているＩＳＰあるいは公衆無線ＬＡＮのアクセスポイント７０の接続されるＩＳＰ等がグローバルＩＰアドレスをＤＨＣＰまたはＰＰＰｏＥ等で割り振りまたは固定のグローバルＩＰアドレスを配布するような場合には、無線ＬＡＮアクセスポイント７０が、ＮＡＰＴ（Network Address Port Translation）またはＩＰマスカレード機能を用いて、送信データの送信元ＩＰアドレスを、プライベートアドレスからグローバルアドレスに変換し、またポート番号も変換する。
【００９０】
また、プレイヤ名は、たとえば初期設定でプレイヤの操作によって入力される。通信ゲームでは、このプレイヤ名データの含まれた送信データを受信することによって、ゲーム装置１０では相手のプレイヤ名を表示することが可能になる。
【００９１】
サーバアドレス記憶領域７６には、サーバ７２またはサーバ７２を管理するコンピュータのグローバルＩＰアドレスおよびポート番号等が記憶される。サーバアドレスは、メモリカード２８のＲＯＭ２８ａに予め記憶されていてもよいし、プレイヤの操作によって入力されてもよい。サーバ７２にデータを送信する場合には、このサーバアドレスが宛先ＩＰアドレスとして送信データに含められる。
【００９２】
ゲームデータ記憶領域７８には、通信ゲームを実行するためのゲームプログラム、ゲーム画面を生成するための画像データ、音声を出力するための音声データ等が記憶される。
【００９３】
お友達リスト記憶領域８０には、プレイヤと通信ゲームを行った相手の識別情報を含むお友達リストデータが記憶される。お友達リストデータは、相手のゲーム装置１０のＩＤおよび相手のプレイヤ名の情報等を含む。お友達リストデータは、近距離無線通信で通信ゲームを行った場合に、プレイヤの選択操作に応じてまたは自動的に生成される。さらに、お友達リストデータには、インターネット通信でお友達の紹介を受けた相手（すなわち、友達の友達）の識別情報も、プレイヤの選択操作に応じてまたは自動的に追加され得る。生成または更新されたお友達リストデータは、メモリカード２８の不揮発性メモリであるＲＡＭ２８ｂに保存される。通信ゲームの開始時等にメモリカード２８のＲＡＭ２８ｂにお友達リストデータが保存されている場合には、当該データが読み出されてお友達リスト記憶領域８０に記憶される。
【００９４】
通信相手情報記憶領域８２には、インターネット通信ないしネットワーク通信で通信ゲームをするまたは通信中の状態にある通信相手の情報が記憶される。通信相手情報は、相手のゲーム装置１０のＩＤ、接続アドレスおよびプレイヤ名等を含む。接続アドレスは、通信相手のゲーム装置１０のグローバルＩＰアドレスである。既にお友達リストに登録されている通信相手の接続アドレスは、問合せに応じてサーバ７２から取得されて記憶される。また、インターネット通信で通信相手からその友達を紹介された場合には、その友達の情報は、通信相手のゲーム装置１０から取得されて記憶される。インターネット通信ゲームで通信相手にデータを送信する際には、この接続アドレスが宛先ＩＰアドレスに設定
される。送信データの宛先ＩＰアドレスは、ＩＳＰまたは無線ＬＡＮアクセスポイント７０等において、対応するゲーム装置１０のプライベートＩＰアドレス等に変換されるので、送信データは通信相手ゲーム装置１０に届けられることとなる。
【００９５】
図６には、サーバ７２のメモリのメモリマップの一例が示される。サーバ７２のメモリは接続中リスト記憶領域８４等を含む。なお、図６にはサーバ７２のメモリマップの一部のみが示されており、当該メモリには必要な各種データが生成または取得されて記憶される。
【００９６】
接続中リストデータとしては、インターネットに接続中であるゲーム装置１０の情報が記憶される。具体的には、接続中のゲーム装置１０のＩＤ、接続アドレスおよびプレイヤ名等が記憶される。各ゲーム装置１０は、インターネットに接続したとき、サーバ７２に接続中であることを示す通知データを定期的に送信する。通知データには、当該ゲーム装置のＩＤ、プレイヤ名および接続アドレスが含まれる。サーバ７２は通知データを受信したときに接続中リストデータを生成しまたは更新する。なお、サーバ７２は１つの通信ゲームの管理のために設けられてよい。しかし、サーバ７２が複数種類のゲームを管理する場合には、上述の接続中の各ゲーム装置１０の情報は、図６に示すように、ゲーム名（ゲーム識別情報）に関連付けて記憶される。
【００９７】
この通信ゲームシステムでは、上述のように、近距離無線通信で通信ゲームを共に実行した相手のゲーム装置１０の識別情報がお友達リストとして記憶される。その後、ゲーム装置１０は、インターネットに接続してサーバ７２に問い合わせた結果、お友達リストに登録された相手のゲーム装置１０がインターネットに接続している場合には、サーバ７２から当該ゲーム装置１０の接続アドレスを取得して当該ゲーム装置１０との間でインターネットを介して通信ゲームを実行することができる。さらに、この実施例では、あるゲーム装置１０の友達リストに登録されている友達同士が友達ではない場合には、両者を紹介するようにしている。つまり、ゲーム装置１０は、通信ゲームを行った友達の友達であるゲーム装置１０がインターネットに接続中である場合には、友達からその友達のゲーム装置１０の情報を取得することができる。そして、紹介された友達同士で通信ゲームを実行することができ、お友達リストデータに相手の識別情報を登録することができる。したがって、この通信ゲームシステムでは、プレイヤたちの友達の輪を広げつつネットワークゲームを実行することができる。
【００９８】
たとえば、図７にこのインターネット通信ゲームの概要が示される。図７では、ゲーム装置Ｂ（プレイヤ名：「ひろし」）とゲーム装置Ｃ（プレイヤ名：「みか」）とが互いのお友達リストデータに登録されており、友達同士である。また、ゲーム装置Ａ（プレイヤ名：「じろう」）とゲーム装置Ｂもお互いのお友達リストに登録された友達同士である。しかし、ゲーム装置Ａとゲーム装置Ｃとは友達同士ではない。図７では、ゲーム装置Ｂとゲーム装置Ｃとがインターネットを介して通信中である場合が示されている。この場合において、ゲーム装置Ａがインターネットに接続して、サーバ７２からゲーム装置Ｂが接続中であるとの問合せ結果を受信したとき、ゲーム装置Ａはゲーム装置Ｂに接続要求を送信して、ゲーム装置Ｂと通信接続して通信ゲームを実行することが可能である。一方、ゲーム装置Ｂは、ゲーム装置Ｃとも通信中の状態にあるので、たとえばゲーム装置Ａと通信ゲームを実行した後に、ゲーム装置Ａとゲーム装置Ｃを引き合わせる。つまり、ゲーム装置Ｂは、ゲーム装置Ｃの接続アドレス等を含む情報をゲーム装置Ａに送信するとともに、ゲーム装置Ａの接続アドレス等を含む情報をゲーム装置Ｃに送信する。したがって、ゲーム装置Ａとゲーム装置Ｃとは、ゲーム装置Ｂから紹介を受けると、相手に通信接続して通信ゲームを実行することができる。
【００９９】
この通信ゲームシステムにおいて通信ゲームを実行する際の動作をフロー図を参照しな
がら説明する。図８にはゲーム装置１０のゲーム動作の一例が示される。ゲーム処理が開示されると、図８の最初のステップＳ１で、ＣＰＵコア４２は、操作スイッチ２０からの操作入力データまたはタッチパネル２２からの入力データ等に基づいてプレイヤ名設定を実行する。プレイヤ名の設定はこの通信ゲームを最初にプレイする場合やプレイヤ名を変更する場合等に行われる。ＣＰＵコア４２は生成したプレイヤ名データを自己識別データ記憶領域７４に記憶する。なお、既にプレイヤ名が設定されてメモリカード２８のＲＡＭ２８ｂに記憶されている場合には、ＣＰＵコア４２は、先にＲＡＭ２８ｂからプレイヤ名データを読み出してＲＡＭ４８に記憶しておく。
【０１００】
次に、ステップＳ３で、ＣＰＵコア４２はＩＤ生成処理を実行する。たとえば、ＣＰＵコア４２は、ワイヤレス通信部６４のＭＡＣアドレスおよび時計ＩＣの時刻情報等に基づいて、ゲーム装置１０のＩＤを生成して、ＩＤデータを自己識別データ記憶領域７４に記憶する。ＩＤの生成は、プレイヤ名が最初に設定される場合やプレイヤ名が変更される場合等に実行される。既にＩＤが生成済みでありメモリカード２８のＲＡＭ２８ｂに記憶されている場合には、ＣＰＵコア４２は、先にＲＡＭ２８ｂからＩＤデータを読み出してＲＡＭ４８に記憶しておく。
【０１０１】
続いて、ＣＰＵコア４２は、ステップＳ５で、たとえば操作スイッチ２０からの操作入力データまたはタッチパネル２２からのタッチ入力データ等に基づいて、通信ゲームを開始するか否かを判断する。ステップＳ５で“ＮＯ”であれば、つまり、たとえばゲーム開始を指示する入力データが所定時間経過しても検出されなかった場合等には、ゲーム処理を終了する。
【０１０２】
ステップＳ５で“ＹＥＳ”であれば、つまり、ゲーム開始を指示する入力データが検出された場合には、ＣＰＵコア４２は、ステップＳ７で、ワイヤレス通信部６４から取得されるデータに基づいて、無線通信可能範囲に無線ＬＡＮアクセスポイント７０が存在するか否かを判断する。たとえば、ワイヤレス通信部６４は、無線ＬＡＮアクセスポイント７０の発する電波を検出した場合には、その存在を示すデータをＣＰＵコア４２に与える。
【０１０３】
ステップＳ７で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ９でＲＡＭ４８にお友達リストデータが記憶されているか否かを判断する。ステップＳ９で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ１１で、ＧＰＵ５０または５２およびＬＣＤコントローラ等を用いて、遠近両方の友達を選択可能な通信範囲選択画面をＬＣＤ１２または１４に表示する。この通信範囲選択画面では、図９（Ａ）に示すように、「近くにいる友達」と「遠くにいる友達」の両方が選択可能に表示され、操作スイッチ２０またはタッチパネル２２の操作によってカーソルで選択することによって、いずれか一方を選択することができる。「近くにいる友達」は、近距離無線通信による通信ゲームに対応し、「遠くにいる友達」はインターネットを介したネットワーク通信ゲームに対応する。この選択画面によって、近くの人と通信するかまたは遠くの人と通信するかをプレイヤに選択させることができる。
【０１０４】
続いて、ステップＳ１３で、ＣＰＵコア４２は、操作スイッチ２０またはタッチパネル２２からの入力データ等に基づいて、選択肢「遠くにいる友達」が選択されたか否かを判断する。ステップＳ１３で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ１５で、インターネット通信処理を実行する。この処理によって、インターネットを介した通信ゲームが実行される。このインターネット通信処理の動作は、後述する図１１から図１４に示される。
【０１０５】
一方、ステップＳ７で“ＮＯ”であれば、つまり、無線ＬＡＮアクセスポイント７０が検出されなかった場合には、処理はステップＳ１７へ進む。また、ステップＳ９で“ＮＯ
”であれば、つまり、お友達リストデータが未だ生成されていない場合には、処理はステップＳ１７へ進む。
【０１０６】
ステップＳ１７では、ＣＰＵコア４２は、近くの友達のみを選択可能な通信範囲選択画面を表示する。この通信範囲選択画面では、図９（Ｂ）に示すように、「近くにいる友達」のみが選択可能に表示され、「遠くにいる友達」は選択不可能な状態（たとえば薄い色や反転した状態等）で表示され、または表示されなくてもよい。無線ＬＡＮアクセスポイント７０が検出されない場合には、ゲーム装置１０がインターネットに接続することができず、インターネット通信を実行することができないので、通信ゲームの選択肢からネットワークゲームが外される。また、お友達リストが未だ記憶されていない場合にも、インターネットを介した通信ゲームを実行する相手が存在しないので、同様に、選択画面の選択肢からネットワークゲームが外される。
【０１０７】
また、ステップＳ１３で“ＮＯ”である場合、またはステップＳ１７を終了すると、ＣＰＵコア４２は、ステップＳ１９で、操作スイッチ２０またはタッチパネル２２からの入力データ等に基づいて、選択肢「近くにいる友達」が選択されたか否かを判断する。ステップＳ１９で“ＮＯ”であれば、処理はステップＳ７へ戻る。
【０１０８】
一方、ステップＳ１９で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ２１で無線通信処理を実行する。この処理によって、近距離無線通信による通信ゲームが実行される。この無線通信処理の動作は、後述する図１０に示される。ステップＳ１５またはステップＳ２１を終了すると、このゲーム処理を終了する。
【０１０９】
図１０には、図８のステップＳ２１における無線通信処理の動作の一例が示される。ＣＰＵコア４２は、まず、ステップＳ３１で、無線通信可能範囲に存在する他のゲーム装置１０を検索する。たとえば、ＣＰＵコア４２は、ワイヤレス通信部６４を用いて、所定のデータをブロードキャスト送信するとともに、他のゲーム装置１０から送信される所定のデータの受信を試みる。
【０１１０】
次に、ステップＳ３３で、ＣＰＵコア４２は、検索の結果、他のゲーム装置１０が見つかったか否かを、ワイヤレス通信部６４から取得したデータに基づいて判断する。ステップＳ３３で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ３５で、発見されたゲーム装置１０に接続するか否かを、たとえば操作スイッチ２０またはタッチパネル２２からの入力データに基づいて判断する。なお、プレイヤに指示によらずに自動的に接続するか否かを判断してもよい。
【０１１１】
一方、ステップＳ３３で“ＮＯ”であれば、つまり、他のゲーム装置１０からのデータが検出されない場合には、処理はステップＳ３７に進む。また、ステップＳ３５で“ＮＯ”であれば、つまり、たとえば見つかったゲーム装置１０に対する接続を指示する入力データが検出されていない場合には、処理はステップＳ３７に進む。ステップＳ３７では、ＣＰＵコア４２は、検索を継続するか否かをたとえば操作スイッチ２０またはタッチパネル２２からの入力データに基づいて判断する。なお、プレイヤの指示によらずに、たとえば所定時間の経過を検出することによって自動的に、検索を継続するか否かを判断してもよい。ステップＳ３７で“ＮＯ”であれば、つまり、たとえば検索の中止を指示する入力データが検出された場合には、この無線通信処理を終了する。一方、ステップＳ３７で“ＹＥＳ”であれば、処理はステップＳ３１に戻る。
【０１１２】
また、ステップＳ３５で“ＹＥＳ”であれば、つまり、たとえば接続を指示する入力データが検出された場合には、ＣＰＵコア４２は、ステップＳ３９で、ワイヤレス通信部６４を介して、当該他のゲーム装置１０との接続処理を実行して、接続を確立する。
【０１１３】
続いて、ステップＳ４１で、ＣＰＵコア４２は、ワイヤレス通信部６４を介して、通信ゲーム処理を実行する。これによって、接続された他のゲーム装置１０との間でデータを送受信しつつ、ゲームやアプリケーションが実行される。
【０１１４】
そして、ステップＳ４３で、ＣＰＵコア４２はＩＤを交換するか否かを判断する。たとえば操作スイッチ２０またはタッチパネル２２からの入力データ等に基づいて、交換が指示されたか否かが判断される。なお、プレイヤの指示によらずに自動的に交換するか否かを判断してもよい。
【０１１５】
ステップＳ４３で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ４５で、自己識別データ記憶領域７４に記憶されている自己のＩＤとプレイヤ名とを含むデータを、ワイヤレス通信部６４を介して他のゲーム装置１０に送信する。なお、複数の他のゲーム装置１０との間で通信ゲームを実行した場合には、これら複数のゲーム装置１０に自己の識別情報を送信する。
【０１１６】
また、ステップＳ４７で、ＣＰＵコア４２は、他のゲーム装置１０から送信されたＩＤとプレイヤ名とを含むデータを、ワイヤレス通信部６４を介して受信して、ＲＡＭ４８に記憶する。なお、複数の他のゲーム装置１０との間で通信ゲームを実行した場合には、これら複数のゲーム装置１０の識別情報を受信する。
【０１１７】
そして、ステップＳ４９で、ＣＰＵコア４２は、受信したデータからＩＤとプレイヤ名とを抽出して、当該ＩＤとプレイヤ名とを対応付けてお友達リスト記憶領域８０に追加的に記憶する。なお、既にお友達リストデータに登録されている場合には、当該識別情報は追加されない。
【０１１８】
一方、ステップＳ４３で“ＮＯ”であれば、ＩＤ交換をしないで処理はステップＳ５１に進む。ステップＳ５１では、通信ゲームを終了するか否かを、たとえば操作スイッチ２０またはタッチパネル２２からの入力データに基づいて判断する。ステップＳ５１で“ＮＯ”であれば、処理はステップＳ４１に戻る。一方、ステップＳ５１で“ＹＥＳ”であれば、この無線通信処理を終了する。なお、図示は省略されるが、ステップＳ４９で、お友達リストに新たなＩＤ等が追加された場合には、終了処理等の際に、ＣＰＵコア４２は、当該お友達リストデータを、他のセーブすべきゲームデータとともにメモリカード２８のＲＡＭ２８ｂに保存する。
【０１１９】
図１１には、図８のステップＳ１５におけるインターネット通信処理の動作の一例が示される。図１１の最初のステップＳ６１で、ＣＰＵコア４２は、図８のステップＳ７と同様にして、無線通信可能範囲内に無線ＬＡＮアクセスポイント７０が存在するか否かを判断する。ステップＳ６１で“ＮＯ”であれば、インターネットにアクセスできないので、ステップＳ６３で、ＣＰＵコア４２はエラー表示処理を実行して、ＬＣＤ１２またはＬＣＤ１４にたとえば「アクセスポイントがありません」のようなエラーメッセージを表示して、このインターネット通信処理を終了する。
【０１２０】
一方、ステップＳ６１で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ６５で、ワイヤレス通信部６４を介して、無線ＬＡＮアクセスポイント７０への接続処理を実行し、無線ＬＡＮアクセスポイント７０と接続を確立する。たとえば、この処理によって、ゲーム装置１０は、接続アドレス（プライベートＩＰアドレス）を無線ＬＡＮアクセスポイント７０から取得して、自己識別データ記憶領域７４に記憶する。
【０１２１】
続いて、ステップＳ６７で、ＣＰＵコア４２は、自己識別データ記憶領域７４に記憶さ
れている自己のＩＤ、接続アドレスおよびプレイヤ名等の情報を含む接続情報データを、ワイヤレス通信部６４を介してサーバ７２に送信する。この送信データの宛先ＩＰアドレスにはサーバアドレス記憶領域７６に記憶されているサーバアドレスが設定され、送信元ＩＰアドレスには自己識別データ記憶領域７４の接続アドレスが設定される。接続アドレスは、たとえば、無線ＬＡＮアクセスポイント７０またはＩＳＰ等でグローバルＩＰアドレスに変換されるので、サーバ７２はゲーム装置１０のグローバルＩＰアドレスを接続アドレスとしてメモリに記憶でき、当該ゲーム装置１０宛にデータを送信できる。
【０１２２】
そして、ステップＳ６９で、ＣＰＵコア４２は、アクセスポイント確認処理を開始する。この処理によって、ゲーム装置１０の通信可能範囲に無線ＬＡＮアクセスポイント７０が存在しているか否かを常時確認する。ＣＰＵコア４２はアクセスポイント確認処理を他の処理と並列的に実行する。アクセスポイント確認処理の動作の一例が図１５に示される。
【０１２３】
図１５のステップＳ１５１で、ＣＰＵコア４２は、図８のステップＳ７と同様にして、無線通信可能範囲内に無線ＬＡＮアクセスポイント７０が存在するか否かを判断する。ステップＳ１５１で“ＹＥＳ”であれば、ＣＰＵコア４２はステップＳ１５３で一定時間が経過したか否かを判断する。ステップＳ１５３で“ＮＯ”であれば一定時間の経過を待ち、“ＹＥＳ”であればステップＳ１５１へ戻る。
【０１２４】
一方、ステップＳ１５１で“ＮＯ”であれば、ＣＰＵコア４２はステップＳ１５５でタイムアウトであるか否かを判断する。たとえば、無線ＬＡＮアクセスポイント７０を検出できなくなってから所定時間が経過したか否かを判断する。ステップＳ１５５で“ＮＯ”であればステップＳ１５１へ戻る。一方、ステップＳ１５５で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ１５７で必要なゲームデータをメモリカード２８のＲＡＭ２８ｂに保存する。また、ステップＳ１５９で、ＣＰＵコア４２は、図１１のステップＳ６３と同様にして、エラーを表示して、このアクセスポイント確認処理およびインターネット通信処理を終了する。
【０１２５】
図１１に戻って、ステップＳ７１では、ＣＰＵコア４２は通知処理を開始する。この処理によって、ゲーム装置１０が接続中であることをサーバ７２に常時通知する。ＣＰＵコア４２は通知処理を他の処理と並列的に実行する。通知処理の動作の一例が図１６に示される。
【０１２６】
図１６のステップＳ１７１で、ＣＰＵコア４２は、通信中ないし接続中であることを示す通知データを、ワイヤレス通信部６４を介して、サーバ７２に送信する。通知データには、当該ゲーム装置１０の識別情報が含まれるので、サーバ７２は通知データを受信することによって、当該ゲーム装置１０が接続中であるか否かを把握することができる。続いて、ステップＳ１７３で、ＣＰＵコア４２は、一定時間が経過したか否かを判断する。ステップＳ１７３で“ＮＯ”であれば、一定時間の経過を待ち、“ＹＥＳ”であれば、ステップＳ１７１へ戻る。なお、ＣＰＵコア４２はインターネット通信処理を終了するときはこの通知処理も終了する。
【０１２７】
図１１に戻って、ステップＳ７３では、ＣＰＵコア４２は、お友達リストデータに基づいて、リストに登録されている相手のプレイヤ名を、ＧＰＵ５０または５２およびＬＣＤコントローラ６０等を用いてＬＣＤ１２または１４に表示する。
【０１２８】
続いて、ステップＳ７５で、ＣＰＵコア４２は、操作スイッチ２０またはタッチパネル２２からの入力データとプレイヤ名の表示位置データ等に基づいて、表示されたお友達リストから通信ゲームの相手が選択されたか否かを判断する。なお、プレイヤの意思によら
ずにたとえばランダムでまたは順に相手を選択するようにしてもよい。あるいは、お友達リストの中から複数の相手を選択して一括して問合せをするようにしてもよいし、またはリスト中の全ての相手を選択して一括して問い合わせるようにしてもよい。
【０１２９】
ステップＳ７５で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ７７で選択相手のＩＤを含む問合せデータを、ワイヤレス通信部６４を介してサーバ７２に送信する。このように、お友達リストの中から任意の相手を選択して、当該選択相手について問合せを行うことができる。
【０１３０】
ステップＳ７５で“ＮＯ”である場合、またはステップＳ７７を終了すると、ＣＰＵコア４２は、ステップＳ７９で、問合せの結果をワイヤレス通信部６４を介してサーバ７２から受信したか否かを判断する。ステップＳ７９で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ８１で受信データをＲＡＭ４８に記憶する。サーバ７２に問い合わせたゲーム装置１０が接続中である場合には、受信データには当該ゲーム装置１０の接続アドレスが含まれ、接続中でない場合には受信データには接続アドレスが含まれていない。続くステップＳ８３で、ＣＰＵコア４２は、選択相手の接続アドレスを取得したか否かを判断し、“ＮＯ”であれば処理は図１２のステップＳ８５へ進む。一方、ステップＳ８３で“ＹＥＳ”であれば、つまり、選択相手が接続中である場合には、処理は図１２のステップＳ８９へ進む。
【０１３１】
図１２のステップＳ８５では、ＣＰＵコア４２は、操作スイッチ２０またはタッチパネル２２からの入力データ等に基づいて、通信ゲームのキャンセルであるか否かを判断する。ステップＳ８５で“ＹＥＳ”であれば、つまり、たとえばキャンセルを指示する入力データが検出された場合等には、ＣＰＵコア４２は、ステップＳ８７で通信ゲームをキャンセルする処理を実行して、このインターネット通信処理を終了する。一方、ステップＳ８５で“ＮＯ”であれば、処理はステップＳ９１へ進む。
【０１３２】
また、図１２のステップＳ８９では、ＣＰＵコア４２は、相手のプレイヤ名を通信相手選択画面に表示する。この画面の一例が図１７に示され、画面中には、通信可能な友達としてインターネットに接続中であるゲーム装置１０に対応するプレイヤ名が表示される。プレイヤは操作スイッチ２０またはタッチパネル２２を操作して、プレイヤ名をカーソルで指示および決定することによって、この画面で通信ゲームを実行する相手を選択することができる。
【０１３３】
続いて、ステップＳ９１で、ＣＰＵコア４２は、操作スイッチ２０またはタッチパネル２２からの入力データとプレイヤ名の表示位置データ等に基づいて、図１７の画面で通信相手が選択されたか否かを判断する。ステップＳ９１で“ＮＯ”であれば、つまり、たとえば通信相手選択画面で通信相手が選択されていない場合には、処理はステップＳ９７へ進む。
【０１３４】
一方、ステップＳ９１で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ９３で、選択された通信相手（便宜上、ゲーム装置ｘと呼ぶものとする。）への接続処理を実行する。なお、ＣＰＵコア４２は、選択された通信相手の識別情報、つまり、ＩＤ、プレイヤ名および接続アドレス等を通信相手情報記憶領域８２に記憶する。たとえば、ＣＰＵコア４２は、通信相手情報記憶領域８２に記憶された当該ゲーム装置ｘの接続アドレスを宛先ＩＰアドレスとした接続要求を、ワイヤレス通信部６４を介して送信し、ゲーム装置ｘから接続応答を受信することによって、当該ゲーム装置ｘと接続する。
【０１３５】
そして、ステップＳ９５でＣＰＵコア４２はワイヤレス通信部６４を介してゲーム装置ｘとの間での通信ゲーム処理を実行する。これによって、接続された通信相手との間でデ
ータを送受信しつつ、ゲームやアプリケーション（チャットなども含む。）が実行される。
【０１３６】
続くステップＳ９７で、ＣＰＵコア４２は通信相手情報記憶領域８２に記憶されている通信相手から他のゲーム装置（便宜上、ゲーム装置ｙと呼ぶものとする。）の情報を受信したか否かを判断する。この実施例では、通信相手に通信中の状態にあるゲーム装置ｙが存在する場合には、通信相手が仲介者となって紹介を行うようにしているので、当該ゲーム装置ｙの情報が通信相手から送信されてくる。図７の例で言えば、ゲーム装置Ｃにゲーム装置Ｂからゲーム装置Ａの情報が送信されてくる場合に相当する。
【０１３７】
ステップＳ９７で“ＮＯ”であれば、つまり、通信相手に通信中の他のゲーム装置ｙがいない場合には、処理は図１３のステップＳ１１１へ進む。一方、ステップＳ９７で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ９９で、受信したゲーム装置ｙの情報をＲＡＭ４８に記憶する。受信データには、ゲーム装置ｙのＩＤ、プレイヤ名、および接続アドレス等の識別情報が含まれるので、ＣＰＵコア４２は、当該ゲーム装置ｙの識別情報を通信相手情報記憶領域８２に記憶（追加）する。続くステップＳ１０１で、ＣＰＵコア４２は、ステップＳ９３と同様にして、ゲーム装置ｙへの接続処理を実行して、当該ゲーム装置ｙと接続する。そして、ステップＳ１０３で、ＣＰＵコア４２は、ステップＳ９５と同様にして、ゲーム装置ｙとの間で通信ゲーム処理を実行する。このように、ネットワーク通信ゲームにおいては、通信可能な相手の範囲を広げることができ、したがって、近距離無線通信によって識別情報を交換していない相手とも、インターネットを介して通信ゲームを行うことができる。ステップＳ１０３を終了すると、処理は図１３のステップＳ１０５へ進む。
【０１３８】
図１３のステップＳ１０５では、ＣＰＵコア４２は、ゲーム装置ｙの情報がお友達リストデータに登録されているか否かを判断する。ステップＳ１０５で“ＮＯ”であれば、ＣＰＵコア４２は、ステップＳ１０７でお友達リストに当該ゲーム装置ｙの情報を登録するか否かを判断する。たとえば、操作スイッチ２０またはタッチパネル２２から登録を指示する入力データが検出されたか否かを判断する。この場合には、プレイヤは希望する相手の識別情報のみをお友達リストに登録することができる。なお、プレイヤの意思に委ねずに、未登録の場合には自動的にお友達リストに登録するものと判断するようにしてもよい。
【０１３９】
ステップＳ１０７で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ１０９で、ゲーム装置ｙの情報、すなわち、ＩＤおよびプレイヤ名をお友達リスト記憶領域８０に追加する。このようにして、友達から紹介を受けたゲーム装置ｙの情報を新たな友達の情報として友達リストに加えることができる。ステップＳ１０９を終了すると処理はステップＳ１１１へ進む。なお、紹介を受けたゲーム装置ｙからもさらに紹介を受けるようにする場合には、ステップＳ１０９の後、図１２のステップＳ９７へ戻るようにしてもよい。また、ステップＳ１０５で“ＹＥＳ”である場合、またはステップＳ１０７で“ＮＯ”である場合には、処理はそのままステップＳ１１１へ進む。
【０１４０】
ステップＳ１１１では、ＣＰＵコア４２は、ワイヤレス通信部６４を介して、他のゲーム装置（便宜上ゲーム装置ｚと呼ぶものとする。）から接続要求を受信したか否かを判断する。接続要求は、ステップＳ９３、ステップＳ１０１等のゲーム装置１０への接続処理において送信されるデータである。図７の例で言えば、たとえば、ゲーム装置Ｃにゲーム装置Ａが接続要求を送信する場合に相当する。
【０１４１】
ステップＳ１１１で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ１１３で、ゲーム装置ｚへの接続処理を実行して、ゲーム装置ｚに接続する。なお、接続要求として受
信したデータには、ゲーム装置ｚのＩＤ、プレイヤ名、および接続アドレス等の情報が含まれるので、ＣＰＵコア４２はＩＤ、プレイヤ名および接続アドレスを通信相手情報記憶領域８２に記憶（追加）する。したがって、当該接続アドレスを宛先ＩＰアドレスとしてデータを送信することで、ＣＰＵコア４２はたとえばゲーム装置ｚに接続応答を送信できる。そして、ステップＳ１１５で、ＣＰＵコア４２は、図１２のステップＳ９５と同様にして、ゲーム装置ｚとの間での通信ゲーム処理を実行する。
【０１４２】
続いて、ステップＳ１１７で、ＣＰＵコア４２は、他に通信中の相手（便宜上ゲーム装置ｗと呼ぶものとする。）が存在するか否かを、通信相手情報記憶領域８２のデータに基づいて判断する。つまり、ゲーム装置ｚに対して紹介すべき通信中のゲーム装置ｗが存在するか否かを判断している。ステップＳ１１７で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ１１９で、ゲーム装置ｗの情報（ＩＤ、プレイヤ名および接続アドレス等）を通信相手情報記憶領域８２から読み出して、ワイヤレス通信部６４を介してゲーム装置ｚに送信する。また、ステップＳ１２１で、ＣＰＵコア４２は、ゲーム装置ｚの情報（ＩＤ、プレイヤ名および接続アドレス等）を通信相手情報記憶領域８２から読み出して、ワイヤレス通信部６４を介してゲーム装置ｗに送信する。このようにして、ゲーム装置ｚとゲーム装置ｗとを仲介することができる。
【０１４３】
ステップＳ１１１で“ＮＯ”である場合、ステップＳ１１７で“ＮＯ”である場合、またはステップＳ１２１を終了すると、処理は図１４のステップＳ１２３へ進む。
【０１４４】
図１４のステップＳ１２３では、ＣＰＵコア４２は、通信ゲームを終了するか否かを判断する。たとえば、操作スイッチ２０またはタッチパネル２２から終了を指示する入力データが検出されたか否かを判断する。ステップＳ１２３で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ１２５で、通信相手情報記憶領域８２に記憶されている相手に、ワイヤレス通信部６４を介して、自己のＩＤ等を含む終了通知を送信する。そして、ステップＳ１２７でＣＰＵコア４２は相手との通信終了処理を実行して、このインターネット通信処理を終了する。
【０１４５】
一方、ステップＳ１２３で“ＮＯ”であれば、ＣＰＵコア４２は、ステップＳ１２９で終了通知を受信したか否かを判断する。ステップＳ１２９で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ１３１で、受信した相手との通信終了処理を実行する。たとえば、終了通知から相手のＩＤ等を抽出して、当該ＩＤ等に対応する通信相手のデータを通信相手情報記憶領域８２から削除する。ステップＳ１３１を終了し、またはステップＳ１２９で“ＮＯ”であれば、ネットワークを介した通信ゲームを継続すべく、処理は図１１のステップＳ７５へ戻る。
【０１４６】
この実施例では、サーバ７２は、接続中リストの管理、および問合せに対する応答などの機能を果している。具体的には、ゲーム装置１０がインターネットに接続したときに、接続中リストに当該ゲーム装置１０の識別情報を登録する。また、友達リストのゲーム装置１０が接続中であるか否かの問合せがあったとき、当該問合せられたゲーム装置１０が接続中であるか否かを検出して、その結果を応答する。また、接続中のゲーム装置１０から定期的に送信される通知に基づいて、接続中リストを更新する。
【０１４７】
図１８には、サーバ７２の通信処理の動作の一例が示される。この通信処理は一定時間ごとに繰り返し実行される。図１８の最初のステップＳ２０１で、サーバ７２の図示しないＣＰＵは、ゲーム装置１０から接続情報を受信したか否かを判断する。この接続情報は、インターネットに接続したゲーム装置１０から図１１のステップＳ６７で送信される。
【０１４８】
ステップＳ２０１で“ＹＥＳ”であれば、サーバ７２のＣＰＵは、当該ゲーム装置を接
続中リストに登録する。具体的には、メモリの接続中リスト記憶領域８４に、ＩＤ、接続アドレス、およびプレイヤ名を記憶（追加）する。なお、このサーバ７２が複数種類のゲームを管理する場合には、ゲーム名を含む接続情報を受信するので、ゲームごとに接続中リストデータを作成して管理する。
【０１４９】
ステップＳ２０３を終了し、または、ステップＳ２０１で“ＮＯ”であれば、サーバ７２のＣＰＵは、ステップＳ２０５で、ゲーム装置１０から問合せを受信したか否かを判断する。この問合せは図１１のステップＳ７７で送信される。ステップＳ２０５で“ＹＥＳ”であれば、サーバ７２のＣＰＵは、ステップＳ２０７で、問合せデータに含まれるＩＤ等と、接続中リスト記憶領域８４の接続中リストに登録されているＩＤ等とを照合する。
【０１５０】
そして、ステップＳ２０９で、サーバ７２のＣＰＵは、問合せＩＤがリストに登録されているか否かを判断する。ステップＳ２０９で“ＹＥＳ”であれば、つまり、問合せられたゲーム装置１０が通信中である場合には、サーバ７２のＣＰＵは、ステップＳ２１１で、問合せＩＤに対応する接続アドレスを接続中リスト記憶領域８４から読み出して、当該接続アドレス等含む問合せ結果データを、この問合せを送信してきたゲーム装置１０に送信する。
【０１５１】
一方、ステップＳ２０９で“ＮＯ”であれば、サーバ７２のＣＰＵは、ステップＳ２１３で問合せＩＤに対する通信不可を示す問合せ結果データを、この問合せを送信してきたゲーム装置１０に送信する。ステップＳ２１１またはステップＳ２１３を終了し、または、ステップＳ２０５で“ＮＯ”であればこの通知処理を終了する。
【０１５２】
図１９には、サーバ７２のオンライン確認処理の動作の一例が示される。このオンライン確認処理は一定時間ごとに繰り返し実行される。図１９の最初のステップＳ２２１で、サーバ７２のＣＰＵは、ゲーム装置１０から通信中を示す通知データを受信したか否かを判断する。ゲーム装置１０からの通知は、図１６のステップＳ１７１で送信される。
【０１５３】
ステップＳ２２１で“ＹＥＳ”であれば、サーバ７２のＣＰＵは、ステップＳ２２３で、当該ゲーム装置１０についての通知の受信時刻を、たとえば図示しない時計ＩＣの出力データから取得して、メモリに記憶する。
【０１５４】
ステップＳ２２３を終了し、またはステップＳ２２１で“ＮＯ”であれば、サーバ７２のＣＰＵは、ステップＳ２２５で通知を受信してから所定時間を経過したゲーム装置が存在するか否かを、時計ＩＣから取得した現時刻とメモリに記憶されている最後の受信時刻とに基づいて、判断する。ステップＳ２２５で“ＹＥＳ”であれば、サーバ７２のＣＰＵは、ステップＳ２２７で、接続中リスト記憶領域８４から当該ゲーム装置１０の情報を削除して、接続中リストデータを更新する。ステップＳ２２７を終了し、または、ステップＳ２２５で“ＮＯ”であれば、このオンライン確認処理を終了する。
【０１５５】
この実施例によれば、近距離無線通信によってデータを送受信した相手との間で識別情報を交換し、相手の識別情報を登録できるようにした。その後、互いに離れた場所に存在する場合には、インターネットなどのネットワークにアクセスして、たとえばサーバ７２を介して当該識別情報に基づいて相手が接続中であるか否かを検出し、相手が接続中である場合には当該相手の接続アドレスを取得して、当該相手とデータを送受信することができる。このように、各ゲーム装置は、識別情報を登録した相手との間でネットワーク通信可能か否かを判定し、可能であるときには当該登録した相手との間でネットワーク通信を行うことができる。したがって、識別情報を交換して登録した相手とのみネットワーク通信することができるので、ネットワークゲームに安全かつ気軽に参加することが可能になり、一般的なゲームユーザなどにとって参加し易いネットワークゲームを実現できる。ま
た、近距離無線通信によって通信ゲームを行った相手と離れた場所に存在することとなってもネットワークを介して通信ゲームを行うことができる。また、近距離無線通信によって友達の識別情報を取得して登録するだけで、簡単に当該友達とネットワーク通信を行うことが可能になる。
【０１５６】
また、ネットワーク通信においては、通信相手に別の通信中の相手が存在する場合には、紹介によって当該別の相手の識別情報を取得することができるので、これまでに知らなかった相手とも通信を行うことができる。したがって、ネットワーク通信によって通信可能な相手の範囲を広げることができる。また、紹介された相手の識別情報をお友達リストに登録することができるので、ネットワーク通信ゲームによって友達の輪を広げることができる。
【０１５７】
したがって、この通信ゲームシステムによれば、近くの友達とローカル通信するだけで友達の識別情報を取得してセーブしておくことができるので、その後は距離に関係なく離れた場所であってもその友達と通信ゲームを遊べるようになる。また、ネットワーク通信を行えば、友達の紹介で次々と友達の輪が広まって行くので、最初は友達が少なくてもプレイヤにネットワークゲームを楽しんでもらうことが可能である。しかも、身近な人から徐々に輪が広がるようにしているので、安全である。また、上述の実施例のように無線ＬＡＮ機能を搭載する場合には、公衆無線ＬＡＮでも家庭でもインターネットに繋がるので、気軽にネットワーク通信を楽しんでもらうことができる。このように、この通信ゲームシステムによれば、ネットワークゲームに安全かつ気軽に参加することが可能になるので、これまでネットゲームを避けていた一般的なゲームユーザなど、幅広い層の人達に楽しんでもらえる、参加し易いネットワークゲームを実現し提供することができる。
【０１５８】
なお、上述の実施例では、近距離無線通信を行った相手から取得した当該相手の識別情報をお友達リストに登録するようにした。しかし、相手の識別情報の取得方法は、近距離無線通信に限られない。他の実施例では、たとえば、お友達リストには、ユーザの手動で入力された識別情報を登録するようにしてもよい。このようにすれば、遠くに住んでいたり予定が合わなかったりして滅多に会えない友達や知人との間でも電話やメール等で識別情報を交換して手入力で簡単に当該相手の識別情報を登録することができるので、直接に会うことのできない友達や知人であっても簡単にネットワークを介して通信ゲームをプレイすることができる。
【０１５９】
具体的には、この実施例では、相手の識別情報が手入力で登録されるので、各プレイヤは、相手に識別情報を伝えるために、自己の識別情報を知る必要がある。このため、この実施例では、自己ＩＤ表示モードが準備される。たとえばゲーム開始時のメニュー画面（図示しない）において、プレイヤによる所定の操作スイッチ２０またはタッチパネル２２の操作によって自己ＩＤ表示モードを示す項目またはアイコン等が選択されると、画面上に自己の識別情報が表示される。
【０１６０】
たとえば図２０に自己ＩＤ表示モードにおける動作の一例が示される。図２０のステップＳ２４１で、ＣＰＵコア４２はＩＤを表示するか否かを判断する。つまり、ＣＰＵコア４２は、操作スイッチ２０からの操作データまたはタッチパネル２２からのタッチ入力データ等に基づいて、自己ＩＤ表示モードが選択されたか否かを判断する。
【０１６１】
このステップＳ２４１で“ＹＥＳ”であれば、つまり、操作データまたはタッチ入力データが自己ＩＤ表示モードの実行を指示するデータであった場合には、ＣＰＵコア４２は、ステップＳ２４３で、自己のＩＤデータをＲＡＭ４８の自己識別データ記憶領域７４からワークエリアに読み出す。
【０１６２】
次に、ステップＳ２４５で、ＣＰＵコア４２は、自己のＩＤを暗号化してユーザキーを生成する。このユーザキーは表示用のＩＤである。このように、この実施例では、セキュリティのため、ＩＤをそのまま表示しないで、ＩＤを暗号化した記号列ないし文字列（ユーザキー）を生成して表示するようにしている。
【０１６３】
そして、ステップＳ２４７で、ＣＰＵコア４２は、生成したユーザキーとプレイヤ名とを含む画面（図示しない）をＧＰＵ５０等を用いて生成してＬＣＤ１２または１４に表示する。プレイヤ名は自己識別データ記憶領域７４に記憶されている。なお、各種画面の画像データはＲＯＭ２８ａに予め記憶されている。
【０１６４】
ステップＳ２４７を終了すると、この自己ＩＤ表示モードの処理を終了する。なお、ステップＳ２４１で“ＮＯ”であれば、つまり、ＩＤ表示モードが選択されていない場合には、ＩＤ表示ための処理を実行せず、メイン処理に戻る。
【０１６５】
このように、自己のＩＤ（正確には暗号化したＩＤ）を表示することができるので、プレイヤは自己のＩＤをプレイヤ名とともに友人等に伝えることができる。
【０１６６】
なお、この実施例では、自己のＩＤは自己ＩＤ生成モードで生成され、自己のプレイヤ名はプレイヤ名設定モードで入力される。自己ＩＤ生成モードの動作の一例が図２１に示され、これは上述の実施例における図８のステップＳ３での処理に相当する。また、プレイヤ名設定モードの動作の一例が図２２に示され、これは図８のステップＳ１での処理に相当する。上述の実施例では自己ＩＤ生成モード、プレイヤ名設定モードおよび通信ゲームモードを１つのフロー図（図８）にまとめて記載していたが、この実施例では、分かり易くするために各モードでフロー図を分けて記載している。メイン処理では各モードの処理が実行され、各モードの実質的な処理は当該モードの起動条件が満足されたと判定されたときに実行される。
【０１６７】
自己ＩＤ生成モードは、たとえば、ゲーム処理の開始が初めて指示されたとき、ゲーム装置１０の所有者名の設定がされるとき、あるいは、この通信ゲームのプレイヤ名の設定がされるとき等に実行される。
【０１６８】
図２１のステップＳ２５１で、ＣＰＵコア４２は、ＩＤを生成するか否かを判断する。具体的には、ＣＰＵコア４２は、操作データまたはタッチ入力データ等に基づいて、ＩＤ生成指示と見なせる操作があったか否かを判断する。たとえば、通信ゲームの開始が初めて指示されたか否か、ゲーム装置１０の所有者名が入力設定されたか否か、もしくは通信ゲームのプレイヤ名が入力設定されたか否か等が判断される。
【０１６９】
ステップＳ２５１で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ２５３で、ＩＤを生成する。ＩＤは、たとえば、ＭＡＣアドレス、現時刻および任意のパスワード等を組み合わせることによって生成される。
【０１７０】
そして、ステップＳ２５５で、ＣＰＵコア４２は、生成したＩＤをＲＡＭ４８の不揮発性メモリ（たとえばフラッシュメモリ）に記憶する。なお、メモリカード２８が装着されてゲーム処理が実行されている場合には、生成ＩＤはＲＡＭ４８の自己識別データ記憶領域７４だけでなくメモリカード２８のＲＡＭ２８ｂにも記憶される。既にＩＤが記憶されている場合には上書きされる。
【０１７１】
ステップＳ２５５を終了すると、この自己ＩＤ生成モードを終了する。なお、ステップＳ２５１で“ＮＯ”であれば、つまり、ＩＤ生成が指示されていないと見なせる場合には、ＩＤ生成のための処理を実行しない。また、一旦ＩＤを生成した後にゲーム処理が再起
動された場合には、自己ＩＤデータは、たとえば初期設定で、ＲＡＭ４８の不揮発性メモリまたはメモリカード２８のＲＡＭ２８ｂからＲＡＭ４８の自己識別データ記憶領域７４に読み出されることとなる。
【０１７２】
また、プレイヤ名設定モードは、たとえば、ゲーム開始時のメニュー画面において、プレイヤによる所定の操作スイッチ２０またはタッチパネル２２の操作によってプレイヤ名設定モードを示す項目またはアイコン等が選択されるときに実行される。
【０１７３】
たとえば図２２にプレイヤ名設定モードの動作の一例が示される。図２２のステップＳ２６１で、ＣＰＵコア４２は、プレイヤ名を入力するか否かを判断する。つまり、ＣＰＵコア４２は、操作スイッチ２０からの操作データまたはタッチパネル２２からのタッチ入力データ等に基づいて、プレイヤ名設定モードが選択されたか否かを判断する。
【０１７４】
ステップＳ２６１で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ２６３で、ＧＰＵ５０等を用いてプレイヤ名入力画面（図示しない）をＬＣＤ１２または１４に表示する。また、たとえば、タッチパネル２２の設けられるＬＣＤ１４にキーボードの画像を表示する。プレイヤはこのソフトウェアキーボードへのタッチ入力もしくは操作スイッチ２０での入力によって、プレイヤ名を入力することができる。
【０１７５】
続いて、ステップＳ２６５で、ＣＰＵコア４２は、入力完了であるか否かを判断する。たとえば、操作データまたはタッチ入力データ等に基づいて入力完了を示すアイコンが選択されたか否かを判断する。ステップＳ２６５で“ＮＯ”であれば、ＣＰＵコア４２は、ステップＳ２６７で入力キャンセルであるか否かを判断する。たとえば、操作データまたはタッチ入力データ等に基づいてキャンセルを示すアイコンが選択されたか否かを判断する。ステップＳ２６７で“ＮＯ”であれば、処理はステップＳ２６３に戻ってプレイヤによる入力の受付を継続する。また、ステップＳ２６７で“ＹＥＳ”であれば、プレイヤ名の入力がキャンセルされたので、このプレイヤ名設定モードの処理を終了する。
【０１７６】
一方、ステップＳ２６５で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ２６９で、入力されたプレイヤ名を取得して、ＲＡＭ４８の自己識別データ記憶領域７４に記憶する。なお、プレイヤ名はメモリカード２８のＲＡＭ２８ｂにも記憶されてよい。既にプレイヤ名が記憶されている場合には上書きされる。
【０１７７】
ステップＳ２６９を終了すると、このプレイヤ名設定モードの処理を終了する。なお、ステップＳ２６１で“ＮＯ”であれば、プレイヤ名設定のための処理を実行せず、メイン処理に戻る。また、一旦プレイヤ名を設定した後にゲーム処理が再起動された場合には、プレイヤ名データは、たとえば初期設定で、メモリカード２８のＲＡＭ２８ｂからＲＡＭ４８の自己識別データ記憶領域７４に読み出されることとなる。
【０１７８】
プレイヤは、相手から識別情報を教えてもらうと、その識別情報を自分の所有するゲーム装置１０に手入力で登録する。したがって、この実施例では、相手ＩＤ入力モードが準備されている。たとえばゲーム開始時のメニュー画面において、プレイヤによる所定の操作スイッチ２０またはタッチパネル２２の操作によって相手ＩＤ入力モードを示す項目またはアイコン等が選択されると、相手ＩＤ入力モードが実行される。この入力モードが選択されると、ＩＤ入力画面（図示しない）が表示される。ＩＤ入力画面では、プレイヤは、たとえばＬＣＤ１４に表示されたソフトウェアキーボードをタッチパネル２２で操作して、あるいは操作スイッチ２０を操作して、相手の識別情報を入力することができる。入力された相手の識別情報はお友達リスト記憶領域８０に追加される。なお、プレイヤによって入力される識別情報はユーザキーであるので、ユーザキーを復号化することによってＩＤを取得し、このＩＤをお友達リストに記憶する。
【０１７９】
図２３に相手ＩＤ入力モードの動作の一例が示される。図２３の最初のステップＳ２８１で、ＣＰＵコア４２は、他のゲーム装置１０のＩＤを入力するか否かを判定する。つまり、ＣＰＵコア４２は、操作スイッチ２０からの操作データまたはタッチパネル２２からのタッチ入力データ等に基づいて、相手ＩＤ入力モードが選択されたか否かを判断する。
【０１８０】
ステップＳ２８１で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ２８３で、ＧＰＵ５０等を用いてＩＤ入力画面をＬＣＤ１２または１４に表示する。また、上述のプレイヤ名の入力の場合と同様に、たとえば、タッチパネル２２の設けられるＬＣＤ１４にキーボードの画像を表示し、ソフトウェアキーボードへのタッチ入力もしくは操作スイッチ２０での入力によって、相手ＩＤを入力することができるようにする。
【０１８１】
続いて、ステップＳ２８５で、ＣＰＵコア４２は、入力完了であるか否かを判断する。たとえば、操作データまたはタッチ入力データ等に基づいて入力完了を示すアイコンが選択されたか否かを判断する。ステップＳ２８５で“ＮＯ”であれば、ＣＰＵコア４２は、ステップＳ２８７で入力キャンセルであるか否かを判断する。たとえば、操作データまたはタッチ入力データ等に基づいてキャンセルを示すアイコンが選択されたか否かを判断する。ステップＳ２８７で“ＮＯ”であれば、処理はステップＳ２８３に戻ってプレイヤによる入力の受付を継続する。また、ステップＳ２８７で“ＹＥＳ”であれば、相手ＩＤの入力がキャンセルされたので、この相手ＩＤ入力モードの処理を終了する。
【０１８２】
一方、ステップＳ２８５で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ２８９で、入力されたユーザキーとプレイヤ名を取得してＲＡＭ４８のワークエリアに記憶する。続いて、ステップＳ２９１で、ＣＰＵコア４２は、取得したユーザキーを復号化して、相手のＩＤを取得する。そして、ステップＳ２９３で、ＣＰＵコア４２は、取得したＩＤとプレイヤ名とを対応付けて、お友達リスト記憶領域８０に追加する。なお、メモリカード２８のＲＡＭ２８ｂにお友達リストが記憶されている場合には、当該ＲＡＭ２８ｂのお友達リストにも、取得した相手のＩＤおよびプレイヤ名を追加的に記憶する。
【０１８３】
ステップＳ２９３を終了すると、この相手ＩＤ入力モードを終了する。なお、ステップＳ２８１で“ＮＯ”であれば、相手ＩＤ入力のための処理を実行せず、メイン処理に戻る。また、一旦お友達リストデータが生成された後にゲーム処理が再起動された場合には、お友達リストデータは、たとえば初期設定で、メモリカード２８のＲＡＭ２８ｂからＲＡＭ４８のお友達リスト記憶領域８０に読み出されることとなる。
【０１８４】
このようにして、友達から知らせてもらった識別情報を、手入力で自分のゲーム装置１０に登録することができる。なお、この実施例では、セキュリティのため、識別情報としてＩＤ自体ではなく、ＩＤを暗号化して得たユーザキーを表示し、また入力させるようにしたが、他の実施例では、ＩＤをそのまま表示し入力させるようにしてもよい。
【０１８５】
図２４には通信ゲームモードの動作の一例が示される。たとえばゲーム開始時のメニュー画面において、プレイヤによる所定の操作スイッチ２０またはタッチパネル２２の操作によって通信ゲームモードを示す項目またはアイコン等が選択されると、通信ゲームモードが実行される。この図２４の通信ゲームモードの処理は、上述の図８のステップＳ５からステップＳ２１の処理と同様であり、同一の参照符号を付して、重複する説明を省略する。
【０１８６】
なお、この実施例では、手入力とともに近距離無線通信処理でも相手の識別情報をお友達リストに登録することができるようにしている。しかし、他の実施例では、手入力のみで相手の識別情報を登録するようにしてもよい。その場合、ゲーム装置１０は近距離無線
通信のための機能を備えなくてよい。
【０１８７】
通信ゲームモードにおいてネットワーク通信が選択された場合には、ゲーム装置１０は、自己のＩＤや接続アドレス等の接続情報のほかに、お友達リスト記憶領域８０のお友達リストデータをサーバ７２に送信する。この実施例では、お友達リストデータの送信は、当該お友達リストに登録されている他のゲーム装置１０とネットワーク通信可能であるか否かの問合せを兼ねている。お友達リストデータを送信するのは、サーバ７２でゲーム装置１０同士が互いに相手の識別情報を登録しているか否かをチェックするためである。
【０１８８】
この実施例では、ネットワーク通信の相手の識別情報を、近距離無線通信だけでなく手入力でも登録可能にしたので、たとえば、識別情報が漏れた場合や不正に取得された場合等には、片方のゲーム装置１０だけが相手の識別情報を登録しているという事態になり得る。このような片方登録の場合にネットワーク通信が実行されてしまうのを防止するために、サーバ７２で各ゲーム装置１０のお友達リストを管理し、双方のゲーム装置１０がそれぞれ相手の識別情報を登録しているか否かをチェックする。なお、直接の伝達や近距離無線通信等で正当に相手の識別情報を交換したにもかかわらず相手または自分が識別情報を登録しなかった場合にも、当該相手と自分との間ではネットワーク通信が実行されない。このように、プレイヤは相手とのネットワーク通信を拒否したい場合には、当該相手の識別情報を取得しても登録しなければよい。
【０１８９】
たとえば図２５および図２６にこの実施例のインターネット通信処理における動作の一例の一部が示される。図２５のステップＳ６１からステップＳ７１の処理は上述の実施例と同様であり、同一の参照符号を付して重複する説明を省略する。
【０１９０】
ステップＳ７１で通知処理を開始した後、ＣＰＵコア４２は、続くステップＳ３０１で、お友達リスト記憶領域８０に登録されている相手のＩＤおよびプレイヤ名を含む問合せをワイヤレス通信部６４を介してサーバ７２に送信する。なお、送信される問合せデータには、少なくとも自己のＩＤがさらに含まれる。この実施例では、お友達リストに登録されている全ての相手のＩＤおよびプレイヤ名を送信する、つまり、お友達リストデータを送信することによって、お友達リスト中の全ての他のゲーム装置１０についてネットワーク通信可能であるか否かの問合せを送信する。なお、他の実施例では、お友達リストに記憶されている相手のＩＤのみを送信するようにしてもよい。
【０１９１】
続いて、ステップＳ７９で、ＣＰＵコア４２は、ステップＳ３０１で送信した問合せに対する結果をサーバ７２から受信したか否かを判断する。ステップＳ７９で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ８１で、受信データをＲＡＭ４８のワークエリアに記憶する。
【０１９２】
続くステップＳ３０３で、ＣＰＵコア４２は、相手の接続アドレスを取得したか否かを判断する。たとえば、サーバ７２は、問合せＩＤに対応する他のゲーム装置１０とネットワーク通信可能であると判定される場合には、当該ＩＤに対応付けて当該相手の接続アドレスを送信し、問合せＩＤに対応する他のゲーム装置１０とネットワーク通信不可であると判定される場合には、当該ＩＤに対応付けて通信不可を示すデータを送信する。このため、ここでは、ＣＰＵコア４２は、受信データにおいて、少なくとも１つの接続アドレスが問合せＩＤに対応付けられて記憶されているか否かを判断する。このようにして、受信した問合せ結果に基づいて、お友達リストに登録されている他のゲーム装置との間でネットワーク通信可能であるか否かを判定する。
【０１９３】
なお、ステップＳ３０３で“ＮＯ”の場合、またはステップＳ７９で“ＮＯ”の場合には、処理は図２６のステップＳ８５へ進む。
【０１９４】
一方、ステップＳ３０３で“ＹＥＳ”であれば、ＣＰＵコア４２は、図２６のステップＳ３０５で、接続アドレスを取得できた相手（便宜上、ゲーム装置ｘと呼ぶものとする。）への接続処理を実行する。複数の接続アドレスを取得できた場合には、複数のゲーム装置ｘのそれぞれに対して通信接続する。なお、ＣＰＵコア４２は、接続アドレスを取得できた相手の識別情報、つまり、ＩＤ、プレイヤ名および接続アドレス等を通信相手情報記憶領域８２に記憶する。そして、ステップＳ３０７で、ＣＰＵコア４２はワイヤレス通信部６４を介してゲーム装置ｘとの間での通信ゲーム処理を実行する。複数のゲーム装置１０と通信接続できた場合には、複数のゲーム装置ｘのそれぞれとの間で通信ゲーム処理を実行する。
【０１９５】
ステップＳ３０７を終了すると、処理はステップＳ９７へ進む。また、ステップＳ８５で“ＮＯ”であれば、つまり、ユーザの操作によってキャンセルが選択されていなかったり問合せが未だタイムアウトになっていなかったりする場合等には、処理はステップＳ９７へ進む。ステップＳ９７以降の処理は上述の実施例と同様であり、また、ステップＳ１０３の続きおよびステップＳ９７で“ＮＯ”である場合の続きも上述の実施例（図１３および図１４）と同様であり、重複する説明は省略する。
【０１９６】
ゲーム装置１０からお友達リストデータが送信されると、サーバ７２は、各ゲーム装置１０ごとにそのデータを記憶する。たとえば図２７に示すように、サーバ７２は、接続中リスト記憶領域８４において、ゲーム装置１０のＩＤ等に対応付けて、当該ゲーム装置１０のお友達リストを記憶する。お友達リストは、相手のＩＤおよびプレイヤ名を含む。つまり、この実施例では、サーバ７２は、接続中リストでネットワークに接続中のゲーム装置１０のＩＤ、プレイヤ名および接続アドレスを管理するばかりでなく、当該ゲーム装置１０のお友達リストも記憶している。したがって、サーバ７２でゲーム装置１０同士が互いに相手の識別情報を登録しているか否かをチェックして、識別情報を相互に登録していないゲーム装置１０同士の間ではネットワーク通信が実行されないようにすることができる。
【０１９７】
サーバ７２は、お友達リストすなわち問合せを送信してきたゲーム装置１０が、当該お友達リストに登録されている他のゲーム装置１０との間でネットワーク通信が可能であるか否かを判断する。具体的には、サーバ７２は、受信したお友達リスト中の相手ＩＤのそれぞれが、接続中のゲーム装置１０のＩＤとして接続中リストデータに記憶されているか否かを検出する。さらに、サーバ７２は、接続中であることが検出された他のゲーム装置１０のお友達リストのなかに、問合せを送信してきたゲーム装置１０のＩＤが登録されているか否かを検出する。サーバ７２は、お友達リストに登録されている相手が接続中であり、かつ、当該相手のお友達リストに当該ゲーム装置１０の識別情報が登録されていると判定される場合には、当該相手とネットワーク通信が可能であると判定して、当該相手の接続アドレスを当該ゲーム装置１０に返信する。一方、お友達リストに登録されている相手が接続中ではない場合、および問合せを送信してきたゲーム装置１０が相手のお友達リストに登録されていない場合には、当該相手とネットワーク通信が不可であると判定して、当該相手とは通信不可である旨を返信する。
【０１９８】
たとえば図２８に、この実施例のサーバ７２の通信処理における動作の一例が示される。図２８のステップＳ２０１からステップＳ２０５の処理は、上述の図１８と同様であり、同一の参照符号を付して重複する説明を省略する。
【０１９９】
図２８のステップＳ２０５で“ＹＥＳ”であれば、つまり、ゲーム装置１０から問合せを受信した場合には、サーバ７２のＣＰＵは、当該ゲーム装置１０のお友達リストを接続中リストに登録する。つまり、ＣＰＵは、問合せデータ（お友達リストデータを含む）を
受信して、当該受信データから当該ゲーム装置１０のお友達リストデータを抽出する。そして、当該ゲーム装置１０のＩＤに対応付けて、お友達リストデータに含まれる全ての相手のＩＤおよびプレイヤ名を接続中リスト記憶領域８４に記憶する。
【０２００】
なお、サーバ７２のＣＰＵは、受信したお友達リスト中の相手のＩＤが正規の番号ないし文字列であるか否かをチェックし、正規と判定されたＩＤだけを接続中リストのお友達リストとして記憶するようにしてよい。また、接続中リストデータにおけるお友達リストには、相手のプレイヤ名を記憶せずに相手のＩＤのみを記憶するようにしてもよい。
【０２０１】
続いて、ステップＳ３２３で、サーバ７２のＣＰＵは、問合せデータに含まれる相手のＩＤと、接続中リスト記憶領域８４に記憶されている接続中のゲーム装置１０のＩＤとを照合して、お友達リストに含まれる相手が接続中であるか否かを検出する。なお、問合せデータに複数の相手ＩＤが含まれる場合、１つのＩＤを選択して、当該１つのＩＤについて検出を行う。
【０２０２】
そして、ステップＳ３２５で、サーバ７２のＣＰＵは、問合せられたＩＤが接続中リストに登録されているか否かを判断する。ステップＳ３２５で“ＹＥＳ”であれば、つまり、問合せられたゲーム装置１０がネットワークに接続中である場合には、サーバ７２のＣＰＵは、ステップＳ３２７で、当該登録されているＩＤのお友達リストを参照する。つまり、当該接続中と判定されたＩＤに対応付けられたお友達リストに登録されているＩＤと、問合せを送信してきたゲーム装置１０のＩＤとを照合して、相手のお友達リストに当該問合せを送信してきたゲーム装置１０のＩＤが登録されているか否かを検出する。
【０２０３】
続くステップＳ３２９で、サーバ７２のＣＰＵは、問合せをしたゲーム装置１０のＩＤが、接続中と判定された他のゲーム装置１０のお友達リストに登録されているか否かを判断する。ステップＳ３２９で“ＹＥＳ”であれば、サーバ７２のＣＰＵは、当該問合せられた接続中のＩＤに対応する接続アドレスを、接続中リスト記憶領域８４から読み出して、当該問合せられたＩＤに対して当該接続アドレスを問合せ結果として記憶する。つまり、問い合わせられたＩＤに対応付けてその接続アドレスを記憶した問合せ結果データを生成する。
【０２０４】
一方、ステップＳ３２９で“ＮＯ”であれば、つまり、問合せられたＩＤが接続中リストに記憶されているが、当該問合せＩＤのお友達リストに問合せを送信してきたゲーム装置１０のＩＤが登録されていない場合には、一方のゲーム装置１０のみで相手の識別情報が登録されているに過ぎないので、識別情報が交換されていないもの、または他方がネットワーク通信を拒否しているものと見なして、処理はステップＳ３３３に進む。
【０２０５】
また、ステップＳ３２５で“ＮＯ”であれば、つまり、問い合わせられたＩＤがネットワークに接続していない場合には、処理はステップＳ３３３に進む。
【０２０６】
ステップＳ３３３では、サーバ７２のＣＰＵは、当該問い合わせられたＩＤに対して通信不可を問合せ結果として記憶する。つまり、問い合わせられたＩＤに対応付けて通信不可を示すデータを記憶した問合せ結果データを生成する。
【０２０７】
ステップＳ３３１またはステップＳ３３３を終了すると、サーバ７２のＣＰＵは、ステップＳ３３５で、全ての問合せＩＤについてネットワーク通信の可否の確認済みであるか否かを判断する。ステップＳ３３５で“ＮＯ”であれば、つまり、ステップＳ３２１で取得したお友達リストに含まれるＩＤのうちステップＳ３２３からステップＳ３３３の処理を実行していないＩＤが残っている場合には、処理はステップＳ３２３へ戻って、残りの問合せＩＤについての確認を行う。このようにして、各問合せＩＤに対する通信の可否が
記憶された問合せ結果データが生成される。
【０２０８】
そして、ステップＳ３３５で“ＹＥＳ”であれば、サーバ７２のＣＰＵは、ステップＳ３３７で、生成した問合せ結果データを、問合せを送信してきたゲーム装置１０に送信する。ステップＳ３３７を終了するとこの通信処理を終了する。
【０２０９】
この実施例によれば、手入力で相手の識別情報を登録することができるので、直接に会うことのできない遠く離れた友達であっても、ネットワークを介して通信ゲームを行うことができる。また、お互いに相手の識別情報をお友達リストに登録していることをネットワーク通信の条件としたので、全く知らない相手からいきなり通信接続されてしまったり、識別情報を不正に入手した見知らぬ相手と通信してしまったりすることを防止できる。
【０２１０】
また、上述の各実施例では、ゲーム装置１０の近距離無線通信において、通信ゲーム処理を実行した後に識別情報の交換を行うようにしていた。具体的には、図１０に示すように、ＣＰＵコア４２は、ステップＳ４１で通信ゲーム処理を実行した後、ステップＳ４３からステップＳ４９で識別情報の交換を実行していた。しかし、他の実施例では、近距離無線通信では、特にゲームやアプリケーションなどの通信ゲーム処理を行わなくても、識別情報の交換のみを行えるようにしてもよい。このようにすれば、通信ゲームやアプリケーションを実行しなくても、相手の識別情報を簡単に取得して、お友達リストに簡単に登録することが可能になる。
【０２１１】
この他の実施例の無線通信処理における動作の一例が図２９に示される。図２９では、図１０の各ステップと同様な処理には、同一の参照符号を付して、重複する説明を省略する。
【０２１２】
図２９のステップＳ３９で他のゲーム装置１０との接続処理を実行した後、ＣＰＵコア４２は、ステップＳ４３で、当該他のゲーム装置１０との間でＩＤを交換するか否かを判断する。ＣＰＵコア４２は、ステップＳ４３で“ＹＥＳ”であれば、ステップＳ４５からステップＳ４９でＩＤの交換およびお友達リストへの登録を実行し、“ＮＯ”であれば、そのままステップＳ３５１へ進む。
【０２１３】
ステップＳ３５１では、ＣＰＵコア４２は、通信ゲームを継続するか否かを判断する。たとえば、ＣＰＵコア４２は、操作スイッチ２０またはタッチパネル２２からの入力データ等に基づいて、通信ゲームの継続が指示されたか否かを判断する。
【０２１４】
ステップＳ３５１で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ３５３で、図１０のステップＳ４１と同様にして通信ゲーム処理を実行する。続いて、ＣＰＵコア４２はステップＳ５１で通信ゲームを終了するか否かを判断し、“ＮＯ”であれば処理はステップＳ４３へ戻る。一方、ステップＳ５１で“ＹＥＳ”の場合、または、ステップＳ３５１で“ＮＯ”の場合には、この無線通処理を終了する。
【０２１５】
また、上述の各実施例では、ネットワーク上にサーバ７２を設けて、サーバ７２で接続中リストへの識別情報の登録および削除などの接続中リストの管理、問合せに応じた接続リストの照合（問合せＩＤに対する接続可否の検出）および検出結果の送信などの処理を実行していた。しかし、他の実施例では、ネットワーク上にサーバ７２を設けずに、たとえば、複数のゲーム装置１０のうちのいずれかもしくは幾つかが、あるいは、複数のゲーム装置１０のそれぞれが、サーバ７２としての機能を実行するようにしてもよい。
【符号の説明】
【０２１６】
１０  …ゲーム装置
１２，１４…ＬＣＤ
２８  …メモリカード
２８ａ  …ＲＯＭ
２８ｂ  …ＲＡＭ
４２  …ＣＰＵコア
４８  …ＲＡＭ
５０，５２  …ＧＰＵ
５６，５８  …ＶＲＡＭ
６０  …ＬＣＤコントローラ
６４  …ワイヤレス通信部
７０  …無線ＬＡＮアクセスポイント
７２  …サーバ
【図１】
2020054820.tif 000003
【図２】
2020054820.tif 000004
【図３】
2020054820.tif 000005
【図４】
2020054820.tif 000006
【図５】
2020054820.tif 000007
【図６】
2020054820.tif 000008
【図７】
2020054820.tif 000009
【図８】
2020054820.tif 000010
【図９】
2020054820.tif 000011
【図１０】
2020054820.tif 000012
【図１１】
2020054820.tif 000013
【図１２】
2020054820.tif 000014
【図１３】
2020054820.tif 000015
【図１４】
2020054820.tif 000016
【図１５】
2020054820.tif 000017
【図１６】
2020054820.tif 000018
【図１７】
2020054820.tif 000019
【図１８】
2020054820.tif 000020
【図１９】
2020054820.tif 000021
【図２０】
2020054820.tif 000022
【図２１】
2020054820.tif 000023
【図２２】
2020054820.tif 000024
【図２３】
2020054820.tif 000025
【図２４】
2020054820.tif 000026
【図２５】
2020054820.tif 000027
【図２６】
2020054820.tif 000028
【図２７】
2020054820.tif 000029
【図２８】
2020054820.tif 000030
【図２９】
2020054820.tif 000031
【手続補正書】
【提出日】令和1年12月5日(2019.12.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のゲーム装置を含む通信ゲームシステムであって、
各ゲーム装置は、
自己の識別情報を記憶する第１記憶手段、
他の前記ゲーム装置の前記識別情報である相手識別情報を登録する登録手段、
ネットワーク通信を行うためにネットワークにアクセス可能なアクセスポイントに接続するネットワーク接続手段、
前記ネットワーク接続手段によって前記アクセスポイントを介して前記ネットワークに接続している場合において、前記登録手段によって登録された前記相手識別情報に対応する前記他のゲーム装置とネットワーク通信可能であるか否かを判定する判定手段、および
前記判定手段によってネットワーク通信可能であると判定された前記他のゲーム装置との間でネットワーク通信を行う第１通信手段を備える、通信ゲームシステム。
【請求項２】
前記各ゲーム装置は、前記他のゲーム装置と近距離無線によって通信を行う第２通信手段をさらに備え、
前記登録手段は、前記第２通信手段による前記通信で前記他のゲーム装置から受信した前記相手識別情報を第２記憶手段に記憶する、請求項１記載の通信ゲームシステム。
【請求項３】
前記各ゲーム装置は、ユーザの操作に応じて入力された相手識別情報を取得する相手入力手段をさらに備え、
前記登録手段は、前記相手入力手段によって取得された前記相手識別情報を第２記憶手段に記憶する、請求項１または２記載の通信ゲームシステム。
【請求項４】
前記各ゲーム装置は前記自己の識別情報を表示する第１表示手段をさらに備える、請求項３記載の通信ゲームシステム。
【請求項５】
前記各ゲーム装置のうち、第１のゲーム装置は、第２のゲーム装置とネットワーク通信中の状態にある場合に、前記第２のゲーム装置から第３のゲーム装置に対応する前記相手識別情報を受信したとき、前記第３のゲーム装置との間でネットワーク通信を行う第３通信手段をさらに備える、請求項１ないし４のいずれかに記載の通信ゲームシステム。
【請求項６】
前記第１のゲーム装置は、
前記第３通信手段によってネットワーク通信を行った前記第３のゲーム装置に対応する前記相手識別情報を前記第２記憶手段に記憶するか否かを判断する登録判断手段、および
前記登録判断手段によって記憶すると判断されたとき、当該第３のゲーム装置に対応する前記相手識別情報を前記第２記憶手段に追加的に記憶する追加登録手段をさらに備える、請求項５記載の通信ゲームシステム。
【請求項７】
前記各ゲーム装置は、前記第１通信手段によるネットワーク通信を行うか前記第２通信手段による近距離無線通信を行うかを選択する通信方法選択手段をさらに備える、請求項２ないし６のいずれかに記載の通信ゲームシステム。
【請求項８】
複数のゲーム装置がネットワークを介して通信する通信ゲームシステムにおいて用いられるゲーム装置であって、
自己の識別情報を記憶する第１記憶手段、
他の前記ゲーム装置の識別情報である相手識別情報を登録する登録手段、
ネットワーク通信を行うために前記ネットワークにアクセス可能なアクセスポイントに接続するネットワーク接続手段、
前記ネットワーク接続手段によって前記アクセスポイントを介して前記ネットワークに接続している場合において、前記登録手段によって登録された前記相手識別情報に対応する前記他のゲーム装置とネットワーク通信可能であるか否かを判定する判定手段、および
前記判定手段によってネットワーク通信可能であると判定された前記他のゲーム装置との間でネットワーク通信を行う第１通信手段を備える、ゲーム装置。