(57)【要約】【課題】コンピュータ環境による対戦参加への影響を低減させ、自動設定機能を有していないルータの利用者であっても、自ら対戦相手の募集をかけることができるようにすることにある。【解決手段】本プログラムでは、あるプレイヤのルータ４ａ（第１クライアント２ａのルータ４ａ）が、ポートを開放する能力を有していない場合、ポートを開放する能力を有するルータに接続されたクライアント２ｂ，２ｃ（第２クライアント）が、サーバ１の制御部１０１に検出される。すると、あるプレイヤがゲームへの参加者を募集していることを示す情報が、第２クライアント２ｂ，２ｃに報知される。そして、この情報を見たプレイヤが、ゲームへの参加者の募集に対して応答すると、第１クライアント２ａと、第１クライアント２ａからの募集に応答した第２クライアント２ｂとが、サーバ１の制御部１０１によりマッチングされる。【選択図】図３
2010170176.tif 000002
【特許請求の範囲】
【請求項１】
サーバと、ルータを介してネットワーク用のゲームを実行する複数のクライアントとから構成されるゲーム用のネットワークシステムであって、
サーバへの接続命令がクライアントの制御部から発行されたときに、クライアントを識別するための識別データを、サーバの制御部に認識させることにより、クライアントの認証を行うクライアント認証機能と、
クライアントがサーバに認証された場合に、クライアントが接続されたルータの通信能力を示す通信能力データを、サーバの制御部に認識させることにより、ポートを開放する能力の有無を、管理するルータ情報管理機能と、
クライアントの入力部からの入力信号に基づいて、前記ゲームへの参加者を募集するための募集命令が、クライアントの制御部から発行されたときに、前記募集命令を発行したクライアントの識別データを、サーバの制御部に認識させることにより、前記募集命令を発行したクライアントを、第１クライアントとして設定する第１クライアント設定機能と、
前記第１クライアント用の通信能力データに基づいて、前記第１クライアントのルータが、ポートを開放する能力を有しているか否かを、サーバの制御部に認識させることにより、前記第１クライアントの通信能力を、判断する通信能力判断機能と、
前記第１クライアントのルータが、ポートを開放する能力を有していないと、サーバの制御部に判断された場合、ポートを開放する能力を有するルータに接続されたクライアントの識別データを、サーバの制御部に検出させることにより、ポートを開放する能力を有するルータに接続された前記クライアントを、第２クライアントとして設定する第２クライアント設定機能と、
前記第１クライアントの存在を報知する信号を、前記第２クライアントに送信する処理を、サーバの制御部に実行させることにより、前記第１クライアントの存在を、前記第２クライアントに報知する募集者報知機能と、
前記第２クライアントの入力部からの入力信号に基づいて、前記第１クライアントからの募集に応答する応答命令が、前記第２クライアントの制御部から発行されたときに、前記第１クライアントと、前記第１クライアントからの募集に応答した第２クライアントとをマッチングする処理を、サーバの制御部に実行させることにより、前記ゲームへの参加者を決定する参加者決定機能と、
を備えるゲーム用のネットワークシステム。
【請求項２】
前記第１クライアントと、前記第１クライアントからの募集に応答した第２クライアントとのマッチング処理が、サーバの制御部により実行された後に、通信を確立するためのデータを、前記第１クライアントからの募集に応答した第２クライアントから、前記第１クライアントへと送信する処理を、前記第１クライアントからの募集に応答した第２クライアントの制御部に、実行させることにより、前記第１クライアントと、前記第１クライアントからの募集に応答した第２クライアントとの一対一の通信を、確立する通信確立機能、
をさらに備える請求項１に記載のゲーム用のネットワークシステム。
【請求項３】
前記第１クライアントと、前記第１クライアントからの募集に応答した第２クライアントとの通信が、確立された後に、前記ゲームを同期する処理を、前記第１クライアントの制御部および前記第１クライアントからの募集に応答した第２クライアントの制御部それぞれに実行させることにより、前記ゲームのイベントを、前記第１クライアントおよび前記第１クライアントからの募集に応答した第２クライアントそれぞれにおいて開始するイベント実行機能、
をさらに備える請求項２に記載のゲーム用のネットワークシステム。
【請求項４】
前記第１クライアントの存在を報知する信号を、前記第２クライアントの制御部に認識させることにより、前記第１クライアントの存在を報知する画像を、前記第２クライアントの画像表示部に表示する募集者表示機能、
をさらに備える請求項１から３のいずれかに記載のゲーム用のネットワークシステム。
【請求項５】
ルータを介してネットワーク用のゲームを実行する複数のクライアント用のコンピュータが接続されるサーバ用のコンピュータに、
サーバへの接続命令がクライアントの制御部から発行されたときに、クライアントを識別するための識別データを、サーバの制御部に認識させることにより、クライアントの認証を行うクライアント認証機能と、
クライアントがサーバに認証された場合に、クライアントが接続されたルータの通信能力を示す通信能力データを、サーバの制御部に認識させることにより、ポートを開放する能力の有無を、管理するルータ情報管理機能と、
クライアントの入力部からの入力信号に基づいて、前記ゲームへの参加者を募集するための募集命令が、クライアントの制御部から発行されたときに、前記募集命令を発行したクライアントの識別データを、サーバの制御部に認識させることにより、前記募集命令を発行したクライアントを、第１クライアントとして設定する第１クライアント設定機能と、
前記第１クライアント用の通信能力データに基づいて、前記第１クライアントのルータが、ポートを開放する能力を有しているか否かを、サーバの制御部に認識させることにより、前記第１クライアントの通信能力を、判断する通信能力判断機能と、
前記第１クライアントのルータが、ポートを開放する能力を有していないと、サーバの制御部に判断された場合、ポートを開放する能力を有するルータに接続されたクライアントの識別データを、サーバの制御部に検出させることにより、ポートを開放する能力を有するルータに接続された前記クライアントを、第２クライアントとして設定する第２クライアント設定機能と、
前記第１クライアントの存在を報知する信号を、前記第２クライアントに送信する処理を、サーバの制御部に実行させることにより、前記第１クライアントの存在を、前記第２クライアントに報知する募集者報知機能と、
前記第２クライアントの入力部からの入力信号に基づいて、前記第１クライアントからの募集に応答する応答命令が、前記第２クライアントの制御部から発行されたときに、前記第１クライアントと、前記第１クライアントからの募集に応答した第２クライアントとをマッチングする処理を、サーバの制御部に実行させることにより、前記ゲームへの参加者を決定する参加者決定機能と、
を実現するためのネットワーク用のプログラム。
【請求項６】
ルータを介してネットワーク用のゲームを実行する複数のクライアント用のコンピュータが接続されるサーバ用のコンピュータであって、
サーバへの接続命令がクライアントの制御部から発行されたときに、クライアントを識別するための識別データを、サーバの制御部に認識させることにより、クライアントの認証を行うクライアント認証手段と、
クライアントがサーバに認証された場合に、クライアントが接続されたルータの通信能力を示す通信能力データを、サーバの制御部に認識させることにより、ポートを開放する能力の有無を、管理するルータ情報管理手段と、
クライアントの入力部からの入力信号に基づいて、前記ゲームへの参加者を募集するための募集命令が、クライアントの制御部から発行されたときに、前記募集命令を発行したクライアントの識別データを、サーバの制御部に認識させることにより、前記募集命令を発行したクライアントを、第１クライアントとして設定する第１クライアント設定手段と、
前記第１クライアント用の通信能力データに基づいて、前記第１クライアントのルータが、ポートを開放する能力を有しているか否かを、サーバの制御部に認識させることにより、前記第１クライアントの通信能力を、判断する通信能力判断手段と、
前記第１クライアントのルータが、ポートを開放する能力を有していないと、サーバの制御部に判断された場合、ポートを開放する能力を有するルータに接続されたクライアントの識別データを、サーバの制御部に検出させることにより、ポートを開放する能力を有するルータに接続された前記クライアントを、第２クライアントとして設定する第２クライアント設定手段と、
前記第１クライアントの存在を報知する信号を、前記第２クライアントに送信する処理を、サーバの制御部に実行させることにより、前記第１クライアントの存在を、前記第２クライアントに報知する募集者報知手段と、
前記第２クライアントの入力部からの入力信号に基づいて、前記第１クライアントからの募集に応答する応答命令が、前記第２クライアントの制御部から発行されたときに、前記第１クライアントと、前記第１クライアントからの募集に応答した第２クライアントとをマッチングする処理を、サーバの制御部に実行させることにより、前記ゲームへの参加者を決定する参加者決定手段と、
を備えるサーバ用のコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム用のネットワークシステム、特に、サーバと、ルータを介してネットワーク用のゲームを実行する複数のクライアントとから構成されるゲーム用のネットワークシステムに関する。また、このネットワークシステムにおいて機能するネットワーク用のプログラム、およびネットワーク用のプログラムを実行可能なサーバ用のコンピュータに関する。
【背景技術】
【０００２】
従来から、様々なゲームが提案されている。これらゲームは、ゲーム装置において実行されるようになっている。たとえば、一般的なゲーム装置は、モニタと、モニタとは別体のゲーム装置本体と、ゲーム装置本体とは別体の入力装置たとえばコントローラとを有している。コントローラには、複数の入力釦が配置されている。なお、通信ゲームを実行する場合は、ゲーム装置を、サーバやネットワーク等に接続する必要があるため、一般的には、ゲーム装置と、サーバやネットワーク等との間には、ルータが配置される。
【０００３】
一般的には、ゲームの実行形態には、ある１人のプレイヤのゲーム装置においてのみゲームが実行される場合と、あるプレイヤのゲーム装置と他のプレイヤのゲーム装置とにおいてゲームが実行される場合とがある。たとえば、ある１人のプレイヤが、自分のゲーム装置においてのみ野球ゲームを実行する場合、プレイヤは、様々なタイプのモードを選択することができる。たとえば、プレイヤが、対戦モードを選択した場合、コントローラを操作することによって、自分が指揮するチームの各選手キャラクタに対して、命令が指示される。また、相手チームの各選手キャラクタに対しては、自動制御プログラムに基づいて、命令が指示される。
【０００４】
一方で、あるプレイヤと他のプレイヤとが、ネットワークを介して２台のゲーム装置において野球ゲームを実行する場合も、プレイヤが１人だけで野球ゲーム実行する場合と同様に、各プレイヤは、様々なタイプのモードを選択することができる。たとえば、２人のプレイヤが、対戦モードを選択した場合、各自が自分のコントローラを操作することによって、自分が指揮するチームの各選手キャラクタに対して命令が指示される。
【０００５】
このようにして、従来の野球ゲームでは、プレイヤは、個人的に対戦ゲームを楽しんだり、他のプレイヤと通信型の対戦ゲームを楽しんだりすることができるようになっていた（非特許文献１を参照）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】プロ野球スピリッツ５、コナミ株式会社、２００８年４月１日、PlayStation版
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来の野球ゲームにおいて、あるプレイヤ（Ａプレイヤ）が、他のプレイヤと通信対戦ゲームを実行しようとした場合、Ａプレイヤは、対戦相手を募集する必要がある。ここで、Ａプレイヤが自分の端末から対戦相手を募集すると、この要求を受けたサーバは、対戦相手を募集中のＡプレイヤの情報たとえばＡプレイヤのニックネームを、他のサーバ接続中のプレイヤの端末に報知する。すると、Ａプレイヤのニックネームが、他のプレイヤのゲーム装置のモニタに表示される。
【０００８】
そして、モニタに表示されたＡプレイヤのニックネームを見た他のプレイヤ（Ｂプレイヤ）が、Ａプレイヤの対戦相手として名乗りを上げた場合、サーバは、Ｂプレイヤの情報たとえばＢプレイヤのニックネームを、Ａプレイヤに報知する。すると、Ｂプレイヤのニックネームが、Ａプレイヤのゲーム装置のモニタに表示される。ここで、ＡプレイヤがＢプレイヤとの対戦を望んだ場合、サーバは、ＡプレイヤとＢプレイヤとの対戦の成立を示す情報を、ＡプレイヤとＢプレイヤとに対して報知する。すると、Ａプレイヤのゲーム装置およびＢプレイヤのゲーム装置では、サーバを介することなく相互に同期を取りながら、野球ゲームが実行される。
【０００９】
このような通信対戦ゲームにプレイヤが参加するためには、このプレイヤは、自分のゲーム装置をルータに接続する必要がある。そして、プレイヤが、自分のゲーム装置をルータに接続すると、このルータを介して、ゲーム装置が、サーバや他のゲーム装置のような外部装置に接続される。言い換えると、ゲーム装置を外部機器に接続するためには、ルータを利用する必要がある。
【００１０】
このため、プレイヤは、自分のゲーム装置と、サーバや他のプレイヤのゲーム装置との間で、データ通信を相互に行うために、ルータの設定をしておく必要がある。ルータの設定には、たとえば、ポート番号の設定およびＩＰアドレスの割り当て等がある。このようなルータの設定は、通信の知識に乏しいプレイヤにとっては負担になることが多いため、近年のルータには、ルータの設定を自動的に実行可能な機能が、付加されている。この機能の１つに、ＵＰｎＰ（Universal Plug & Play）がある。この機能は、プレイヤがゲーム装置をルータに接続したときに、ルータの設定を自動的に実行する。これにより、この機能が付加されたルータを利用するプレイヤは、ルータの設定を特別に意識することなく、外部ネットワークを介して外部機器とデータを交換することができる。
【００１１】
一方で、現実的には、プレイヤが、上記の機能が付加されていないルータを、利用している場合もある。この場合、このプレイヤが、ゲーム装置をルータに接続しても、ルータの設定を手動で行わない限り、ルータの設定が行われない。特に、通信の知識に乏しいプレイヤが、上記の機能が付加されていないルータを、設定できずに利用している場合、このプレイヤは、自分のゲーム装置から他のゲーム装置へとデータを送信することができない。
【００１２】
したがって、従来、このプレイヤは自らが対戦相手の募集をかけることはできず、上記機能を有するルータを利用している他のプレイヤがかけた募集に応じて対戦ペアの相手となることしかできなかった。このように、利用するルータによって対戦参加の選択肢に大きな差異が生じるのは、ハード的な環境要因であるとは言え、プレイヤ間の不公平感も生じせしめる可能性があり、好ましくない。
【００１３】
本発明は、このような問題に鑑みてなされたものであり、コンピュータ環境による対戦参加への影響を低減させ、上記機能を有さないルータの利用者であっても、自ら対戦相手の募集をかけることの可能な通信ゲームシステムを提供することにある。
【課題を解決するための手段】
【００１４】
請求項１に係るゲーム用のネットワークシステムは、サーバと、ルータを介してネットワーク用のゲームを実行する複数のクライアントとから構成されるゲーム用のネットワークシステムである。このゲーム用のネットワークシステムは、以下の機能を備えている。
（１）サーバへの接続命令がクライアントの制御部から発行されたときに、クライアントを識別するための識別データを、サーバの制御部に認識させることにより、クライアントの認証を行うクライアント認証機能。
（２）クライアントがサーバに認証された場合に、クライアントが接続されたルータの通信能力を示す通信能力データを、サーバの制御部に認識させることにより、ポートを開放する能力の有無を、管理するルータ情報管理機能。
（３）クライアントの入力部からの入力信号に基づいて、ゲームへの参加者を募集するための募集命令が、クライアントの制御部から発行されたときに、募集命令を発行したクライアントの識別データを、サーバの制御部に認識させることにより、募集命令を発行したクライアントを、第１クライアントとして設定する第１クライアント設定機能。
（４）第１クライアント用の通信能力データに基づいて、第１クライアントのルータが、ポートを開放する能力を有しているか否かを、サーバの制御部に認識させることにより、第１クライアントの通信能力を、判断する通信能力判断機能。
（５）第１クライアントのルータが、ポートを開放する能力を有していないと、サーバの制御部に判断された場合、ポートを開放する能力を有するルータに接続されたクライアントの識別データを、サーバの制御部に検出させることにより、ポートを開放する能力を有するルータに接続されたクライアントを、第２クライアントとして設定する第２クライアント設定機能。
（６）第１クライアントの存在を報知する信号を、第２クライアントに送信する処理を、サーバの制御部に実行させることにより、第１クライアントの存在を、第２クライアントに報知する募集者報知機能。
（７）第２クライアントの入力部からの入力信号に基づいて、第１クライアントからの募集に応答する応答命令が、第２クライアントの制御部から発行されたときに、第１クライアントと、第１クライアントからの募集に応答した第２クライアントとをマッチングする処理を、サーバの制御部に実行させることにより、ゲームへの参加者を決定する参加者決定機能。
【００１５】
本請求項１によるネットワークシステムでは、第１クライアントが対戦相手の募集をかけるときに、この第１クライアントのルータがポートを開放する能力を有していない場合には、サーバがポートを開放する能力を有しているルータを利用している第２クライアントのみを対戦相手の候補として抽出する。この結果、第１クライアントの対戦相手は、必ずポート開放の能力を有するクライアントとなるので、第１クライアントのルータがポートを開放する能力がなくても対戦を行なうことができる。従って、従来であれば、上記第１クライアントは自分からは対戦の募集をかけることができなかったが、本請求項１によれば、自分から対戦相手の募集をかけることができるようになり、コンピュータ環境による対戦参加への影響を低減できる。
【００１６】
以下、より具体的に説明する。まず、サーバに接続するために、プレイヤがコントローラを操作すると、サーバへの接続命令がクライアントの制御部から発行される。すると、このクライアントを識別するための識別データが、サーバの制御部に認識される。ここで、クライアントの認証が、サーバにおいて行われる。そして、クライアントがサーバに認証されると、このクライアントが接続されたルータの通信能力を示す通信能力データが、サーバの制御部に認識される。この通信能力データに基づいて、ルータがポートを開放する能力を有しているか否かが、サーバにおいて管理される。
【００１７】
次に、ゲームへの参加者を募集するために、プレイヤがコントローラを操作すると、募集命令がクライアントの制御部から発行される。すると、募集命令を発行したクライアントの識別データが、サーバの制御部に認識される。ここで、募集命令を発行したクライアントを、第１クライアントとして設定すると、この第１クライアント用の通信能力データに基づいて、第１クライアントのルータが、ポートを開放する能力を有しているか否かが、サーバの制御部に認識される。そして、第１クライアントのルータが、ポートを開放する能力を有していないと、サーバの制御部に判断された場合に、ポートを開放する能力を有するルータに接続されたクライアントの識別データが、サーバの制御部に検出される。ここで、検出されたクライアントが、第２クライアントとして設定される。
【００１８】
続いて、第１クライアントの存在を報知する信号を、第２クライアントに送信する処理が、サーバの制御部により実行される。ここで、第１クライアントからの募集に応答するために、第２クライアントを操作するプレイヤが、コントローラを操作すると、応答命令が、第２クライアントの制御部から発行される。すると、第１クライアントと、第１クライアントからの募集に応答した第２クライアントとをマッチングする処理が、サーバの制御部により実行される。これにより、ゲームへの参加者が、決定される。
【００１９】
この場合、あるプレイヤがゲームへの参加者を募集すると、このプレイヤのルータ（第１クライアントのルータ）が、ポートを開放する能力を有しているか否かが、サーバの制御部に認識される。そして、第１クライアントのルータが、ポートを開放する能力を有していない場合、ポートを開放する能力を有するルータに接続されたクライアント（第２クライアント）が、サーバの制御部に検出される。すると、あるプレイヤがゲームへの参加者を募集していることを示す情報が、第２クライアントに報知される。そして、この情報を見た他のプレイヤが、ゲームへの参加者の募集に対して応答すると、第１クライアントと、第１クライアントからの募集に応答した第２クライアントとをマッチングする処理が、サーバの制御部により実行される。このようにして、ゲームへの参加者が、決定される。
【００２０】
このように、本発明では、第１クライアントのルータが、ポートを開放する能力を有していない場合、ルータがポートを開放する能力を有するような第２クライアントが、サーバの制御部により検出される。このため、ポートを開放する能力を有していない第１クライアントが、ゲームへの参加者を募集することができるようにしても、ゲームへの参加者のルータ（第２クライアントのルータ）は、必ずポートを開放する能力を有しているので、第１クライアントと第２クライアントとは、ネットワーク用のゲームを実行することができる。本発明では、ポートを開放する能力を有していないルータを使用しているプレイヤであっても、ゲームへの参加者を募集することができ、通信ゲームを実行することができる。
【００２１】
請求項２に係るゲーム用のネットワークシステムは、請求項１に記載のゲーム用のネットワークシステムにおいて、通信確立機能をさらに備える。この通信確立機能では、第１クライアントと、第１クライアントからの募集に応答した第２クライアントとのマッチング処理が、サーバの制御部により実行されると、通信を確立するためのデータを、第１クライアントからの募集に応答した第２クライアントから、第１クライアントへと送信する処理が、第１クライアントからの募集に応答した第２クライアントの制御部により、実行される。これにより、第１クライアントと、第１クライアントからの募集に応答した第２クライアントとの一対一の通信が、確立される。
【００２２】
このネットワークシステムを具体的に説明すると、第１クライアントと、第１クライアントからの募集に応答した第２クライアントとが、マッチングされると、通信を確立するためのデータが、第１クライアントからの募集に応答した第２クライアントから、第１クライアントへと送信される。すると、このデータに基づいて、ポートを開放する処理が、ルータの制御部により実行される。たとえば、通信を確立するためのデータには、第２クライアントのルータが開放したポート番号が、含まれている。このポート番号が、第１クライアントの制御部に認識される。すると、このポート番号に対応するポートを開放する命令が、第１クライアントの制御部から発行される。すると、ポートを開放する処理が、ルータの制御部により実行される。これにより、第１クライアントと、第１クライアントからの募集に応答した第２クライアントとの一対一の通信が、確立される。
【００２３】
このように、本発明では、マッチング後の最初のデータ送信を、ポートを開放する能力を有するルータに接続されたクライアント（第２クライアント）から、第１クライアントへと行うことによって、第１クライアントのルータが、ポートを開放する能力を有していなくても、第１クライアントと第２クライアントとの通信を、確実に確立することができる。
【００２４】
請求項３に係るゲーム用のネットワークシステムは、請求項２に記載のゲーム用のネットワークシステムにおいて、イベント実行機能をさらに備える。このイベント実行機能では、第１クライアントと、第１クライアントからの募集に応答した第２クライアントとの通信が、確立されると、ゲームを同期する処理が、第１クライアントの制御部および第１クライアントからの募集に応答した第２クライアントの制御部それぞれにより、実行される。これにより、ゲームのイベントが、第１クライアントおよび第１クライアントからの募集に応答した第２クライアントそれぞれにおいて、開始される。
【００２５】
このネットワークシステムを具体的に説明すると、第１クライアントと第２クライアントとの通信が確立されると、各クライアントにおいてゲームが同期され、ゲームのイベントが、各クライアントにおいて開始される。たとえば、ネットワークシステムにおいて実行されるゲームが、野球ゲームである場合、第１クライアントと第２クライアントとの通信が確立されると、各クライアントにおいて野球ゲームが同期され、各クライアントにおいて対戦イベントたとえば試合イベントが開始される。
【００２６】
これにより、本発明では、第１クライアントのルータが、ポートを開放する能力を有していなくても、第１クライアントと第２クライアントとの通信を確実に確立し、第１クライアントと第２クライアントにおいて試合イベントを開始することができる。
【００２７】
請求項４に係るゲーム用のネットワークシステムは、請求項１から３のいずれかに記載のゲーム用のネットワークシステムにおいて、募集者表示機能をさらに備える。この募集者表示機能では、第１クライアントの存在を報知する信号が、第２クライアントの制御部に認識される。これにより、第１クライアントの存在を報知する画像が、第２クライアントの画像表示部に、表示される。
【００２８】
このネットワークシステムを具体的に説明すると、第１クライアントがゲームへの参加者を募集していることを示す画像が、第２クライアントの画像表示部に、表示される。言い換えると、第１クライアントがゲームへの参加者を募集していることを示す画像は、ポートを開放する能力を有するルータに接続されたクライアントの画像表示部には、表示されるが、ポートを開放する能力を有しないルータに接続されたクライアントの画像表示部には、表示されない。
【００２９】
このため、この画像を見たプレイヤ（第２クライアントを操作するプレイヤ）が、ゲームへの参加を希望した場合、このプレイヤは、このゲームに確実に参加することができる。また、ゲームへの参加者を募集したプレイヤ（第１クライアントを操作するプレイヤ）の立場で考えると、このプレイヤは、参加者が決定された場合には、この参加者（第２クライアントを操作するプレイヤ）と、ゲームを確実に実行することができる。
【００３０】
なお、第２クライアントの画像表示部には、ルータがポートを開放する能力を有していない第１クライアントの情報（第１画像）だけでなく、ルータがポートを開放する能力を有している第１クライアントの情報（第２画像）も、表示できる。
【００３１】
この場合、第１画像を第２画像よりも優先的に第２クライアントの画像表示部に表示することにより、ポートを開放する能力を有していない第１クライアントを、第２クライアントのプレイヤに選択してもらいやすくすることができる。たとえば、第１画像を第２画像よりもリストの上位に表示することにより、ポートを開放する能力を有していない第１クライアントを、第２クライアントのプレイヤに選択してもらいやすくすることができる。
【００３２】
たとえば、第１クライアントおよび第２クライアントが共に複数表示される場合には、第１画像（以下、第１画像のクライアント）を上位（行ごとに縦に表示する場合は１行目）から順次下方に並べて行き、第２画像（以下、第２画像のクライアント）をその下に順次並べるというようにする。このように、第１画像のクライアントの方が選択されやすい構成とすることにより、単純に第１画像および第２画像を混在させて表示した場合に比べて、サーバの負荷を低減できる。この理由は以下の通りである。
【００３３】
まず、対戦の募集を行なった各クライアントは、対戦相手が決定するまでは、サーバの管理下に置かれている。この状態では、第１画像のクライアントは、第２画像のクライアントと比較して、対戦相手が決まりにくい傾向にある。これは、第１画像のクライアントが対戦できる相手は、第２画像のクライアントのみに限定されるためである。言い換えると、第２画像のクライアントの対戦相手は、第１画像のクライアントおよび他の第２画像のクライアントであるのに対して、第１画像のクライアントが対戦できる相手は、第２クライアントだけである。すなわち、第１画像のクライアントが対戦できる相手が、第２画像のクライアントより少ない。
【００３４】
ここで、仮に、第１画像のクライアントのみが表示されている場合と第２画像のクライアントのみが表示されている場合とを想定し、両者を比較すると、上述したように、第１画像のクライアントが対戦できる相手は、第２画像のクライアントより少ないので、第１画像のクライアントのみが表示されている場合の方が、第２画像のクライアントのみが表示されている場合より、対戦相手が決定されるまでの時間が長くかかる。このため、第１画像のクライアントのみが表示されている場合の方が、第２画像のクライアントのみが表示されている場合に比べ、サーバに負荷がかかる。実際には、第１画像のクライアントおよび第２画像のクライアントとも存在するが、その場合でも、第１画像のクライアントが多いほど、サーバにかかる負荷は大きくなってしまう。そのため、プレイヤが第１画像のクライアントの方を選択する可能性を高くすれば、選択された第１画像のクライアントはサーバの管理下から外れることになるので、結果的に、サーバ負荷を低減することができる。
【００３５】
また、別の観点、すなわち、新規に対戦募集をしたいと思っているプレイヤのゲームへの参戦のし易さという点からも、第１画像のクライアントが、早期に選択されるほうが望ましい。すなわち、サーバが管理できるクライアント数には限界があるので、その制限されたクライアント数の中で、対戦相手が決まりにくい第１画像のクライアントが残っていると、その分、新規のプレイヤの参加ができなくなるためである。従って、この点でも第１画像のクライアントが、早くサーバの管理下から外れることが望ましい。また、第１画像のクライアントにとっても、早く対戦相手が決定することは望ましいことであるため、何ら不利な点は生じない。
【００３６】
請求項５に係るネットワーク用のプログラムは、複数のクライアント用のコンピュータが接続されるサーバ用のコンピュータにおいて、以下の機能を実現するためのプログラムである。複数のクライアント用のコンピュータそれぞれにおいては、ルータを介してネットワーク用のゲームが実行可能になっている。
【００３７】
このネットワーク用のプログラムは、サーバへの接続命令がクライアントの制御部から発行されたときに、クライアントを識別するための識別データを、サーバの制御部に認識させることにより、クライアントの認証を行うクライアント認証機能と、クライアントがサーバに認証された場合に、クライアントが接続されたルータの通信能力を示す通信能力データを、サーバの制御部に認識させることにより、ポートを開放する能力の有無を、管理するルータ情報管理機能と、クライアントの入力部からの入力信号に基づいて、ゲームへの参加者を募集するための募集命令が、クライアントの制御部から発行されたときに、募集命令を発行したクライアントの識別データを、サーバの制御部に認識させることにより、募集命令を発行したクライアントを、第１クライアントとして設定する第１クライアント設定機能と、第１クライアント用の通信能力データに基づいて、第１クライアントのルータが、ポートを開放する能力を有しているか否かを、サーバの制御部に認識させることにより、第１クライアントの通信能力を、判断する通信能力判断機能と、第１クライアントのルータが、ポートを開放する能力を有していないと、サーバの制御部に判断された場合、ポートを開放する能力を有するルータに接続されたクライアントの識別データを、サーバの制御部に検出させることにより、ポートを開放する能力を有するルータに接続されたクライアントを、第２クライアントとして設定する第２クライアント設定機能と、第１クライアントの存在を報知する信号を、第２クライアントに送信する処理を、サーバの制御部に実行させることにより、第１クライアントの存在を、第２クライアントに報知する募集者報知機能と、第２クライアントの入力部からの入力信号に基づいて、第１クライアントからの募集に応答する応答命令が、第２クライアントの制御部から発行されたときに、第１クライアントと、第１クライアントからの募集に応答した第２クライアントとをマッチングする処理を、サーバの制御部に実行させることにより、ゲームへの参加者を決定する参加者決定機能と、を備えている。
【００３８】
請求項６に係るサーバ用のコンピュータは、複数のクライアント用のコンピュータが接続されるコンピュータである。このサーバ用のコンピュータには、ルータを介してネットワーク用のゲームを実行する複数のクライアント用のコンピュータが、接続される。
【００３９】
このサーバ用のコンピュータは、サーバへの接続命令がクライアントの制御部から発行されたときに、クライアントを識別するための識別データを、サーバの制御部に認識させることにより、クライアントの認証を行うクライアント認証手段と、クライアントがサーバに認証された場合に、クライアントが接続されたルータの通信能力を示す通信能力データを、サーバの制御部に認識させることにより、ポートを開放する能力の有無を、管理するルータ情報管理手段と、クライアントの入力部からの入力信号に基づいて、ゲームへの参加者を募集するための募集命令が、クライアントの制御部から発行されたときに、募集命令を発行したクライアントの識別データを、サーバの制御部に認識させることにより、募集命令を発行したクライアントを、第１クライアントとして設定する第１クライアント設定手段と、第１クライアント用の通信能力データに基づいて、第１クライアントのルータが、ポートを開放する能力を有しているか否かを、サーバの制御部に認識させることにより、第１クライアントの通信能力を、判断する通信能力判断手段と、第１クライアントのルータが、ポートを開放する能力を有していないと、サーバの制御部に判断された場合、ポートを開放する能力を有するルータに接続されたクライアントの識別データを、サーバの制御部に検出させることにより、ポートを開放する能力を有するルータに接続されたクライアントを、第２クライアントとして設定する第２クライアント設定手段と、第１クライアントの存在を報知する信号を、第２クライアントに送信する処理を、サーバの制御部に実行させることにより、第１クライアントの存在を、第２クライアントに報知する募集者報知手段と、第２クライアントの入力部からの入力信号に基づいて、第１クライアントからの募集に応答する応答命令が、第２クライアントの制御部から発行されたときに、第１クライアントと、第１クライアントからの募集に応答した第２クライアントとをマッチングする処理を、サーバの制御部に実行させることにより、ゲームへの参加者を決定する参加者決定手段と、を備えている。
【発明の効果】
【００４０】
本発明では、第１クライアントのルータが、ポートを開放する能力を有していない場合、ルータがポートを開放する能力を有するような第２クライアントが、サーバの制御部により検出される。このため、ポートを開放する能力を有していない第１クライアントが、ゲームへの参加者を募集することができるようにしても、ゲームへの参加者のルータ（第２クライアントのルータ）は、必ずポートを開放する能力を有しているので、第１クライアントと第２クライアントとは、ネットワーク用のゲームを実行することができる。すなわち、本発明では、ポートを開放する能力を有していないルータを利用しているプレイヤであっても、自分からゲームへの参加者を募集することができ、通信ゲームを実行することができる。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施形態によるゲーム用のネットワークシステムの概略構成を示す図。
【図２】前記ゲーム装置のハードウェア構成を示す図。
【図３】サーバおよびゲーム装置（クライアント）において実現される機能を示す図。
【図４】野球ゲームにおいて対戦形式を選択するための対戦形式選択画面を示す図。
【図５】ゲーム装置の識別データと通信能力データとの対応関係を示す図。
【図６】対戦相手を募集するプレイヤの情報が、対戦可能なプレイヤのモニタに表示されたときの図。
【図７】対戦を希望したプレイヤの情報が、対戦を募集したプレイヤのモニタに表示されたときの図。
【図８】対戦を募集する側のゲーム装置と、対戦に応募する側のゲーム装置との通信を確立するための処理を説明するための図。
【図９Ａ】野球ゲームにおけるネットワークシステムを示すフロー。
【図９Ｂ】野球ゲームにおけるネットワークシステムを示すフロー。
【図９Ｃ】野球ゲームにおけるネットワークシステムを示すフロー。
【発明を実施するための形態】
【００４２】
〔サーバの構成および動作、ゲーム装置の構成および動作〕
図１は、本発明に係るゲームシステムの概略構成を示す説明図である。このゲームシステムは、サーバ１と複数のゲーム装置２（クライアント：２ａ，２ｂ，・・・）とを含んでいる。ここでは、各ゲーム装置２が、家庭用ビデオゲーム装置である場合の例が示される。各ゲーム装置２は、たとえば、各ルータ４（４ａ，４ｂ，・・・）を介して、インターネットなどの外部ネットワーク３に接続される。外部ネットワーク３には、サーバ１が接続されている。
【００４３】
サーバ１は、プレイヤごとの個人データを記憶し、ゲーム装置２の認証を行う。また、サーバ１は、ゲーム装置２からの要求に応じて、個人データを要求元のゲーム装置２に送信する。
【００４４】
サーバ用のＣＰＵ１０１（制御部）は、データ蓄積部１０３（記憶部）に格納されている制御プログラムを読み出し、この制御プログラムを実行する。ＲＡＭ１０２（記憶部）は、ゲームを行うにあたりプレイヤが個人的に設定するデータや、過去の戦績に基づくデータなど、ゲーム毎に異なる個人データを一時的に記憶する。データ蓄積部１０３には、たとえば、ハードディスクが用いられる。このデータ蓄積部１０３には、ＲＡＭ１０２に展開されるデータ、制御プログラム、ゲーム装置２から送信されてくる個人データなどが蓄積される。通信部１０４は、外部ネットワーク３を介して、ゲーム装置２とデータの送受信を行う。
【００４５】
上記の構成を有するサーバ１は、各ゲーム装置２から、個人データやゲームデータ等を受信すると、各ゲーム装置２においてゲームが実行されるときに必要となる各種のゲームデータが、サーバ１から各ゲーム装置２へと送信される。
【００４６】
ゲーム装置２たとえば家庭用ビデオゲーム装置は、家庭用ゲーム機本体および家庭用テレビジョンを備える。家庭用ゲーム機本体には、記録媒体が装填可能となっており、記録媒体からゲームデータが適宜読み出されてゲームが実行される。そして、ゲームが実行されると、実行中のゲームの内容が、家庭用テレビジョンに表示される。
【００４７】
ゲーム装置２では、サーバ１から取得したゲーム用のデータに基づいて、他のゲーム装置２と外部ネットワーク３を介して、ゲームが実行される。
【００４８】
図２は、ゲーム装置２のハードウェア構成を示す。
【００４９】
ゲーム装置用のＣＰＵ２０１は、後述するハードディスク２０３に記憶されている制御プログラムを、実行する。ＲＡＭ２０２は、各種変数やパラメータなどを一時的に記憶する。ハードディスク２０３は、制御プログラムや各種パラメータなどを記憶する。通信部２０４は、外部ネットワーク３を介して、サーバ１や他のゲーム装置２とデータの送受信を行う。モニタ２０６は、ゲーム画像を表示する。描画処理部２０５は、モニタ２０６に表示する画像データを生成する。スピーカ２０８は、ゲーム実行中やデモ画面表示中のサウンドを出力する。音声再生部２０７は、スピーカ２０８に発音させるためのサウンドデータを生成する。
【００５０】
外部機器制御部２１０は、後述する、入力操作部（入力部）２１１、記録媒体リーダ・ライタ２１２、および起動ボタン２１４等の外部機器を制御する。入力操作部２１１は、ジョイスティックや操作ボタンなどから構成されたコントローラに対応しており、プレイヤの指示入力を受け付ける。記録媒体リーダ・ライタ２１２は、挿入される記録媒体たとえば、ＣＤ−ＲＯＭ、ＤＶＤ、および磁気カード等に対して、データの読取・書込処理を実行する。起動ボタン２１４は、ゲーム装置２を起動するためのボタンである。このボタンは、ゲーム装置本体の外部に露出して設けられている。このボタンの押下により、ゲーム装置は起動する。
【００５１】
外部入出力制御部２０９は、外部機器に対する制御信号を生成する。また、入力操作部２１１、記録媒体リーダ・ライタ２１２、および起動ボタン２１４などの外部機器からの信号を受信してＣＰＵ２０１に送出する。
【００５２】
ルータ４は、ゲーム装置２の通信部２０４に接続され、ネットワーク上を流れるデータを、他のネットワークに中継する機器である。ルータ４は、制御部たとえばＣＰＵを有しており、このＣＰＵによりネットワーク層やトランスポート層の一部のプロトコルが解析され、データの転送が行われる。
【００５３】
また、ルータ４には、ＵＰｎＰ（Universal Plug and Play）に対応したルータと、ＵＰｎＰ（Universal Plug and Play）に対応していないルータとが、存在する。たとえば、ルータ４が、ＵＰｎＰに対応している場合、ゲーム装置２をルータ４に接続するだけで、ルータ４を自動的に設定することができる。一方で、ルータ４が、ＵＰｎＰに対応していない場合、ゲーム装置２をルータ４に接続するだけでは、ルータ４の設定を実行することができないため、ルータ４の設定は手動で行う必要がある。
【００５４】
ＵＰｎＰは、ゲーム装置２をルータ４に接続するだけで、ゲーム装置２を外部ネットワーク３に参加することを可能にするプロトコルである。たとえば、ＵＰｎＰに対応したルータ４では、ゲーム装置２を外部ネットワーク３に接続するために必要な設定を、自動的に実行する。ルータ４の設定には、たとえば、ポート番号の設定、およびＩＰアドレスの割り当て等がある。
【００５５】
たとえば、ゲーム装置２を、ＵＰｎＰに対応したルータ４に接続すると、このルータ４のポート番号が、所定の番号に設定される。より具体的には、ゲーム装置２を、ＵＰｎＰに対応したルータ４に接続すると、ゲーム装置２において、ルータ４の設定を行うためのプログラムが実行される。すると、このプログラムに基づいて、ポートの開放するための命令が、ゲーム装置２のＣＰＵ２０１から発行される。すると、この命令に基づいて、ルータ４のポート番号が、所定の番号たとえば「１００００」に設定される。このようにして、ルータ４のポートの開放が、実行される。
【００５６】
〔本ゲームシステムにおける各種処理概要〕
本ゲームシステムにおいて実行されるゲームは、たとえばネットワーク対応の野球ゲームである。本ゲームシステムは、サーバ１と、ルータ４と、複数のゲーム装置２（クライアント）とから構成される。複数のゲーム装置２それぞれでは、ルータ４を介して、ネットワーク用の野球ゲームが、実行可能になっている。図３は、本発明で主要な役割を果たす機能を説明するための機能ブロック図である。
【００５７】
接続申請手段５０は、サーバ１への接続を申請する機能を備えている。
【００５８】
この手段では、サーバ１への接続申請に対応する操作がプレイヤにより実行されると、この操作に対応する入力信号が、ゲーム装置２のＣＰＵ２０１に認識される。すると、この入力信号に基づいて、サーバ１への接続命令がゲーム装置２のＣＰＵ２０１から発行される。すると、ゲーム装置２を識別するための識別データをサーバ１に送信する命令が、ゲーム装置２のＣＰＵ２０１から発行される。すると、識別データが、ゲーム装置２からサーバ１へと送信される。このようにして、ゲーム装置２からサーバ１への接続申請が、実行される。
【００５９】
クライアント認証手段５１は、ゲーム装置２の認証を行う機能を備えている。
【００６０】
この手段では、ゲーム装置２を識別するための識別データが、ゲーム装置２からサーバ１へと送信されると、この識別データ（ゲーム装置２からサーバ１へと送信された識別データ）と、サーバ１のデータ蓄積部１０３に格納された各プレイヤの識別データとが一致するか否かが、サーバ１のＣＰＵ１０１により実行される。そして、ゲーム装置２からサーバ１へと送信された識別データと、サーバ１のデータ蓄積部１０３に格納された各プレイヤの識別データとが一致した場合、この識別データが、サーバ１のＣＰＵ１０１に認識される。このようにして、ゲーム装置２の認証が、サーバ１において実行される。
【００６１】
ルータ情報送信手段５２は、ポートを開放する能力の有無を示す情報を、サーバ１に送信する機能を備えている。
【００６２】
この手段では、ゲーム装置２がサーバ１に認証された場合に、認証の完了を示す認証データをゲーム装置２に送信する命令が、サーバ１のＣＰＵ１０１から発行される。そして、サーバ１から送信された認証データが、ゲーム装置２のＣＰＵ２０１に認識されると、ゲーム装置２が接続されたルータ４の通信能力を示す通信能力データを、サーバ１に送信する命令が、ゲーム装置２のＣＰＵ２０１から発行される。すると、通信能力データが、ゲーム装置２からサーバ１へと送信され、サーバ１のデータ蓄積部１０３に格納される。このようにして、ポートを開放する能力の有無を示す情報が、サーバ１へと送信される。
【００６３】
ルータ情報管理手段５３は、ポートを開放する能力の有無を、管理する機能を備えている。
【００６４】
この手段では、ゲーム装置２がサーバ１に認証され、ゲーム装置２が接続されたルータ４の通信能力を示す通信能力データが、ゲーム装置２からサーバ１へと送信されると、この通信能力データが、サーバ１のＣＰＵ１０１に認識される。この通信能力データに基づいて、ポートを開放する能力をルータ４が有しているか否かが、サーバ１によって管理される。
【００６５】
参加者募集手段５４は、野球ゲームへの参加者を募集する機能を備えている。
【００６６】
この手段では、野球ゲームにおける対戦相手を募集するために、プレイヤがゲーム装置２のコントローラ２１１を操作すると、この操作に対応する入力信号が、ゲーム装置２のＣＰＵ２０１に認識される。すると、この入力信号に基づいて、対戦相手を募集するための募集命令が、ゲーム装置２のＣＰＵ２０１から発行される。すると、この募集命令を発行したゲーム装置２ａの識別データをサーバ１に再送信する命令が、ゲーム装置２ａのＣＰＵ２０１から発行される。すると、この募集命令を発行したゲーム装置２ａの識別データが、このゲーム装置２ａからサーバ１へと再送信される。このようにして、野球ゲームへの参加者が、募集される。
【００６７】
第１クライアント設定手段５５は、募集命令を発行したゲーム装置２ａを、第１ゲーム装置２ａとして設定する機能を備えている。
【００６８】
この手段では、募集命令を発行したゲーム装置２ａの識別データが、このゲーム装置２ａからサーバ１へと再送信されると、この識別データが、サーバ１のＣＰＵ１０１に認識される。すると、この識別データに対応するゲーム装置２ａが、対戦相手を募集したゲーム装置（第１ゲーム装置）として、サーバ１のＣＰＵ１０１に認識される。このようにして、第１ゲーム装置２ａが、設定される。
【００６９】
通信能力判断手段５６は、第１ゲーム装置２ａが接続されたルータ４の通信能力を、判断する機能を備えている。
【００７０】
この手段では、第１ゲーム装置２ａが設定されると、この第１ゲーム装置２ａが接続されたルータ４の通信能力データが、サーバ１のＣＰＵ１０１により参照される。そして、この通信能力データに基づいて、第１ゲーム装置２ａのルータ４が、ポートを開放する能力を有しているか否かが、サーバ１のＣＰＵ１０１に認識される。このようにして、第１ゲーム装置２ａが接続されたルータ４の通信能力が、サーバ１において判断される。
【００７１】
第２クライアント設定手段５７は、ポートを開放する能力を有するルータ４に接続されたゲーム装置２ｂを、第２ゲーム装置２ｂとして設定する機能を備えている。
【００７２】
この手段では、第１ゲーム装置２ａのルータ４が、ポートを開放する能力を有していないと、サーバ１のＣＰＵ１０１に判断された場合、ポートを開放する能力を有するルータ４に接続されたゲーム装置２ｂの識別データが、サーバ１のＣＰＵ１０１に検出される。すると、この識別データに対応するゲーム装置２ｂが、ポートを開放する能力を有するゲーム装置（第２ゲーム装置）として、サーバ１のＣＰＵ１０１に認識される。このようにして、第２ゲーム装置２ｂが、設定される。
【００７３】
募集者報知手段５８は、第１ゲーム装置２ａの存在を、第２ゲーム装置２ｂに報知する機能を備えている。
【００７４】
この手段では、第２ゲーム装置２ｂが設定されると、第１ゲーム装置２ａの存在を報知する信号を、第２ゲーム装置２ｂに送信する処理が、サーバ１のＣＰＵ１０１により実行される。これにより、第１ゲーム装置２ａの存在が、第２ゲーム装置２ｂに報知される。
【００７５】
募集者表示手段５９は、第１ゲーム装置２ａの存在を報知する画像を、第２ゲーム装置２ｂのモニタ２０６に表示する機能を備えている。
【００７６】
この手段では、第１ゲーム装置２ａの存在を報知する信号が、第２ゲーム装置２ｂのＣＰＵ２０１に認識されると、第１ゲーム装置２ａの存在を報知するための報知画像、たとえばあるプレイヤが対戦相手を募集していることを示す情報が、画像データを用いて、第２ゲーム装置２ｂのモニタ２０６に表示される。
【００７７】
参加報知手段６０は、野球ゲームへの参加をサーバ１に報知する機能を備えている。
【００７８】
この手段では、対戦相手を募集するプレイヤの情報を見た他のプレイヤ（第２ゲーム装置２ｂを操作するプレイヤ）が、対戦相手を募集するプレイヤの募集に応答するために、第２ゲーム装置２ｂのコントローラ２１１を操作すると、この操作に対応する入力信号が、第２ゲーム装置２ｂのＣＰＵ２０１に認識される。すると、この入力信号に基づいて、対戦相手を募集するプレイヤの募集（第１ゲーム装置２ａからの募集）に応答する応答命令が、第１ゲーム装置２ａの募集に応答した第２ゲーム装置２ｂのＣＰＵ２０１から発行される。すると、この応答命令を発行したゲーム装置２ｂの識別データが、このゲーム装置２ｂからサーバ１へと再送信される。このようにして、野球ゲームへの参加希望者が、サーバ１へと報知される。
【００７９】
参加者決定手段６１は、野球ゲームへの参加者を決定する機能を備えている。
【００８０】
この手段では、第１ゲーム装置２ａからの募集に応答する応答命令が、第２ゲーム装置２ｂのＣＰＵ２０１から発行されると、この応答命令が、サーバ１のＣＰＵ１０１に認識される。すると、第１ゲーム装置２ａと、第１ゲーム装置２ａの募集に応答した第２ゲーム装置２ｂとをマッチングする処理が、サーバ１のＣＰＵ１０１により実行される。
【００８１】
たとえば、第１ゲーム装置２ａと第２ゲーム装置２ｂとをマッチングするときに行われる処理としては、対戦相手を紹介する処理がある。具体的には、第１ゲーム装置２ａと第２ゲーム装置２ｂとに対して、対戦相手を紹介するためのデータを送信する命令が、サーバ１のＣＰＵ１０１から発行される。すると、第１ゲーム装置２ａと第２ゲーム装置２ｂとにおいて、対戦相手の決定を示す報知画像と、対戦相手の情報を示す情報画像とが、各ゲーム装置２ａ，２ｂのモニタ２０６に表示される。
【００８２】
なお、報知画像用の画像データと、情報画像用の画像データとは、ゲーム装置２のＲＡＭ２０２に格納されている。
【００８３】
通信確立手段６２は、第１ゲーム装置２ａと、第１ゲーム装置２ａからの募集に応答した第２ゲーム装置２ｂとの一対一の通信を、確立する機能を備えている。
【００８４】
この手段では、第１ゲーム装置２ａと、第１ゲーム装置２ａからの募集に応答した第２ゲーム装置２ｂとのマッチング処理が、サーバ１のＣＰＵ１０１により実行されると、通信を確立するための初期データが、第１ゲーム装置２ａからの募集に応答した第２ゲーム装置２ｂから、第１ゲーム装置２ａへと送信する処理が、第２ゲーム装置２ｂのＣＰＵ２０１により、実行される。ここで、初期データには、第２ゲーム装置２ｂのポート番号が含まれている。
【００８５】
そして、この初期データを第１ゲーム装置２ａが受信すると、この初期データが、第１ゲーム装置２ａのＲＡＭ２０２に格納される。そして、この初期データに含まれるポート番号が、第１ゲーム装置２ａのＣＰＵ２０１により参照される。そして、このポート番号と同じ番号のポートを開放するポート開放命令が、第１ゲーム装置２ａのＣＰＵ２０１から発行される。すると、このポート開放命令に対応する信号が、第１ゲーム装置２ａから、第１ゲーム装置２ａが接続されたルータ４ａへと送信される。すると、このルータ４ａのポートが、開放される。なお、ここで開放されるルータ４ａのポート番号は、第２ゲーム装置２ｂのポート番号と同じである。
【００８６】
このようにして、第１ゲーム装置２ａのポートが開放されると、この第１ゲーム装置２ａのポートと、開放済みの第２ゲーム装置２ｂのポートとを通じて、第１ゲーム装置２ａと第２ゲーム装置２ｂとの一対一の通信が、確立される。なお、この通信が確立された後には、サーバ１は、この通信には介在しない。
【００８７】
イベント実行手段６３は、野球ゲームのイベントを、第１ゲーム装置２ａおよび第１ゲーム装置２ａからの募集に応答した第２ゲーム装置２ｂそれぞれにおいて開始する機能を備えている。
【００８８】
この手段では、第１ゲーム装置２ａと、第１ゲーム装置２ａからの募集に応答した第２ゲーム装置２ｂとの通信が、確立されると、野球ゲームを同期する処理が、第１ゲーム装置２ａのＣＰＵ２０１および第２ゲーム装置２ｂのＣＰＵ２０１それぞれにより、実行される。たとえば、試合イベントを開始するタイミングを、同期する処理が、各ゲーム装置２ａ，２ｂにおいて実行される。そして、試合イベントが、各ゲーム装置２ａ，２ｂそれぞれにおいて開始される。
【００８９】
〔ネットワーク用の野球ゲームにおける対戦相手検出システムの概要〕
次に、野球ゲームにおける対戦相手検出システムの具体的な内容について説明する。また、図９に示すフローについても同時に説明する。
【００９０】
本システムにおいて実行されるゲームは、たとえばネットワーク対応の野球ゲームである。本ゲームシステムは、図１に示すように、サーバ１と、ルータ４（４ａ，４ｂ，・・・）と、複数のゲーム装置２（２ａ，２ｂ，・・・）とから構成される。各ゲーム装置２では、ルータ４を介して、ネットワーク用の野球ゲームが、実行可能になっている。
【００９１】
まず、ゲーム装置２の電源が投入され、ゲーム装置２が起動されると、ネットワーク用の野球ゲームプログラムが、記録媒体リーダ・ライタ２１２に挿入された記録媒体１０からＲＡＭ２０２にロードされる。このときに、野球ゲームを実行する上で必要となる各種の基本ゲームデータも、記録媒体からＲＡＭ２０２にロードされる。
【００９２】
たとえば、基本ゲームデータには、３次元ゲーム空間用の各種の画像に関するデータが含まれている。３次元ゲーム空間用の各種の画像に関するデータには、たとえば、スタジアム用のモデルデータ、選手キャラクタ用のモデルデータ、および各種のオブジェクトのモデルデータ等が、含まれている。また、基本ゲームデータには、３次元ゲーム空間用のモデルデータを３次元ゲーム空間に配置するための位置座標データが、含まれている。また、基本ゲームデータには、３次元ゲーム空間に配置されたモデルを、ゲーム装置２のモニタ２０６に表示するための画像データが、含まれている。また、基本ゲームデータには、各種の設定画面用の画像データが、含まれている。さらに、基本ゲームデータには、野球ゲームを制御するためのデータや、上記システムで用いられる各種のデータ等が、含まれている。
【００９３】
続いて、ゲーム装置２のＲＡＭ２０２に格納された野球ゲームプログラムが、基本ゲームデータに基づいて、ＣＰＵ７により実行される（Ｓ１）。すると、野球ゲームの起動画面がモニタ２０６に表示される。すると、野球ゲームを実行するための各種の設定画面がモニタ２０６に表示される。ここでは、たとえば、図４に示すように、野球ゲームの対戦形式を選択するための対戦形式選択画面が、モニタ２０６に表示される。この対戦形式選択画面において、プレイヤがコントローラ２１１を操作することにより、プレイの対戦形式が決定される（Ｓ２）。プレイの対戦形式には、たとえば、プレイヤが１人で野球ゲームを楽しむ１人対戦と、プレイヤが他のプレイヤと野球ゲームを通信対戦する通信対戦とが、用意されている。ここで、プレイヤが、コントローラ２１１を操作して、１人対戦および通信対戦のいずれか一方を選択すると、選択された対戦形式で、野球ゲームが、ゲーム装置２のＣＰＵ２０１により実行される。
【００９４】
ここで、１人対戦が選択された場合（Ｓ２でＮｏ）、野球ゲームのプレイモードを選択するためのモード選択画面が、モニタ２０６に表示される（図示しない）。このモード選択画面において、プレイヤがコントローラ２１１を操作することにより、プレイモードが決定される（Ｓ３）。ここでは、プレイモードには、たとえば、１２球団の中からチームを選択して１試合の対戦を楽しむ対戦モードと、プレイヤがある１人の選手キャラクタの立場になって野球ゲームを体感する成長体感モードとが、用意されている。そして、プレイモードが決定されると、後述する試合イベントが開始される（Ｓ２３）。
【００９５】
一方で、通信対戦が選択された場合（Ｓ２でＮｏ）、たとえば、１２球団の中から１チームを選択して１試合の対戦を楽しむ対戦モードを開始する命令が、ゲーム装置２のＣＰＵ２０１から発行される（Ｓ４）。すると、サーバ１への接続命令がゲーム装置２のＣＰＵ２０１から発行される。すると、ゲーム装置２を識別するための識別データＩＤが、ゲーム装置２からサーバ１へと送信される（Ｓ５）。ここでの処理は、通信用の対戦モードが開始された全てのゲーム装置２において、実行される。たとえば、複数のゲーム装置２において、通信用の対戦モードが開始された場合は、各ゲーム装置２の識別データＩＤが、複数のゲーム装置２それぞれからサーバ１へと送信される。このようにして、ゲーム装置２からサーバ１への接続申請が、実行される。
【００９６】
以下では、図１に示したように、複数のゲーム装置２（２ａ，２ｂ，２ｃ，２ｄ）が、サーバ１に対して、接続申請を実行した場合の例が示される。
【００９７】
続いて、ゲーム装置２を識別するための識別データＩＤが、ゲーム装置２からサーバ１へと送信されると、この識別データＩＤと、サーバ１のデータ蓄積部１０３に格納された各プレイヤの識別データＩＤとが一致するか否かが、サーバ１のＣＰＵ１０１により実行される（Ｓ６）。そして、ゲーム装置２からサーバ１へと送信された識別データＩＤと、サーバ１のデータ蓄積部１０３に格納された各プレイヤの識別データＩＤとが一致した場合（Ｓ６でＹｅｓ）、サーバ１への接続が許可される。すなわち、通信対戦がサーバ１により許可される。すると、サーバ１への接続が許可されたゲーム装置２の識別データＩＤが、サーバ１のＣＰＵ１０１に認識される。このようにして、ゲーム装置２の認証が、サーバ１において実行される。
【００９８】
識別データＩＤとしては、たとえば、各ゲーム装置２の装置番号、ソフトのシリアル番号、アカウント、パスワード等が、用いられる。また、各プレイヤの情報、たとえばプレイヤの識別データＩＤは、図５に示すように、サーバ１のデータ蓄積部１０３に予め格納されている。ここでは、複数のゲーム装置２ａ，２ｂ，２ｃ，２ｄそれぞれの識別データＩＤには、「１」，「２」，「３」，「４」，および「５」が、割り当てられている。
【００９９】
ここでは、ゲーム装置２が識別データＩＤを用いて自動的にサーバ１に認証される場合の例が示されているが、サーバ１へ接続は、ログイン等の手続きを実行するようにしても良い。この場合、たとえば、プレイヤは、アカウントおよびパスワード等の個人情報（識別データＩＤに対応）を入力したときに、この個人情報をサーバ１の情報と照合する処理が、サーバ１のＣＰＵ１０１により実行される。そして、この個人情報がサーバ１の情報と一致した場合、サーバ１へのゲーム装置２の接続が許可される。
【０１００】
なお、ゲーム装置２からサーバ１へと送信された識別データＩＤと、サーバ１のデータ蓄積部１０３に格納された各プレイヤの識別データＩＤとが一致しなかった場合（Ｓ６でＮｏ）、サーバ１への接続が拒否され、ステップ２（Ｓ２）の処理を再実行する命令が、サーバ１からゲーム装置２へと送信される。そして、ステップ２（Ｓ２）の処理が、ゲーム装置２のＣＰＵ２０１により実行される。
【０１０１】
続いて、ゲーム装置２がサーバ１に認証された場合（Ｓ６でＹｅｓ）、認証の完了を示す認証データが、サーバ１からゲーム装置２へと送信される（Ｓ７）。そして、サーバ１から送信された認証データが、ゲーム装置２のＣＰＵ２０１に認識されると、ゲーム装置２が接続されたルータ４の通信能力を示す通信能力データＴＤ（ＩＤ）が、ゲーム装置２からサーバ１へと送信される（Ｓ８）。そして、通信能力データＴＤ（ＩＤ）が、サーバ１のデータ蓄積部１０３に格納される。そして、この通信能力データＴＤ（ＩＤ）が、サーバ１のＣＰＵ１０１に認識される。
【０１０２】
たとえば、通信能力データＴＤ（ＩＤ）には、ルータ４がポートを開放する能力があるか否かを示すフラグデータＴＦ（ＩＤ）が、含まれている。ルータ４がポートを開放する能力がある場合、このフラグデータＴＦ（ＩＤ）には、数値「１」がゲーム装置２のＣＰＵ２０１により割り当てられ、このフラグデータＴＦ（ＩＤ）が、サーバ１へと送信される。一方で、ルータ４がポートを開放する能力がない場合、このフラグデータＴＦ（ＩＤ）には、数値「０」がゲーム装置２のＣＰＵ２０１により割り当てられ、このフラグデータＴＦ（ＩＤ）が、サーバ１へと送信される。
【０１０３】
このようにして、ポートを開放する能力の有無を示す情報すなわちフラグデータＴＦ（ＩＤ）が、サーバ１へと送信される。すると、図５に示すように、識別データＩＤとフラグデータＴＦ（ＩＤ）との対応関係を示す対応テーブルが、サーバ１のＣＰＵ１０１により生成される。そして、サーバ１のデータ蓄積部１０３に格納される。そして、このフラグデータＴＦ（ＩＤ）が、サーバ１のＣＰＵ１０１に認識される。このようにして、フラグデータＴＦ（ＩＤ）に基づいて、ポートを開放する能力をルータ４が有しているか否かの管理が、サーバ１において開始される（Ｓ９）。
【０１０４】
なお、ここでは、ルータ４がポートを開放する能力があるか否かは、ルータ４がＵＰｎＰに対応したルータであるか否かによって区別される。たとえば、ルータ４がＵＰｎＰに対応したルータである場合、ルータ４がポートを開放する能力があることになり、フラグデータＴＦ（ＩＤ）に数値「１」が割り当てられる。また、ルータ４がＵＰｎＰに対応していないルータである場合、ルータ４がポートを開放する能力がないことになり、フラグデータＴＦ（ＩＤ）に数値「０」が割り当てられる。
【０１０５】
図５を参照すると、ゲーム装置２ａ，２ｄのルータ４ａ，４ｄは、ＵＰｎＰに対応していないルータであることがわかる。また、ゲーム装置２ｂ，２ｃのルータ４ｂ，４ｃは、ＵＰｎＰに対応したルータであることがわかる。
【０１０６】
続いて、ゲーム装置２ａを用いて野球ゲームをプレイするプレイヤが、対戦相手を募集するために、コントローラ２１１を操作すると、対戦相手を募集するための募集命令が、ゲーム装置２のＣＰＵ２０１から発行される（Ｓ１０）。たとえば、ゲーム装置２ａから募集命令が発行された場合、このゲーム装置２ａの識別データＩＤａ（＝１）が、このゲーム装置２ａからサーバ１に再送信される。このようにして、対戦相手の募集が、サーバ１に依頼される。すると、対戦相手を募集したゲーム装置２ａの識別データＩＤａが、サーバ１のＣＰＵ１０１に認識される。ここで、対戦相手を募集するプレイヤ（募集者）のゲーム装置２ａが、第１ゲーム装置として設定され、この第１ゲーム装置２ａを操作する募集者が、サーバ１に特定され認識される（Ｓ１１）。
【０１０７】
すると、この第１ゲーム装置２ａが接続されたルータ４ａの通信能力データＴＤ（ＩＤａ）が、サーバ１のＣＰＵ１０１により参照される。より具体的には、第１ゲーム装置２ａのフラグデータＴＦ（ＩＤａ）が、サーバ１のＣＰＵ１０１により参照される。そして、この第１ゲーム装置２ａのフラグデータＴＦ（ＩＤａ）に基づいて、第１ゲーム装置２ａのルータ４ａが、ポートを開放する能力を有しているか否かが、サーバ１のＣＰＵ１０１に判断される（Ｓ１２）。
【０１０８】
第１ゲーム装置２ａのルータ４ａの通信能力、たとえばポートを開放する能力の有無は、次のようにして、サーバ１において判断される。
【０１０９】
たとえば、このフラグデータＴＦ（ＩＤａ）の値が「１」であった場合（Ｓ１２でＹｅｓ）、ルータ４ａは、ポートを開放する能力があることになる。すると、第１ゲーム装置２ａを除く全てのゲーム装置２ｂ，２ｃ，２ｄが、対戦相手の候補として、サーバ１のＣＰＵ１０１に認識される。言い換えると、この場合は、第１ゲーム装置２ａのルータ４ａが、ポートを開放する能力を有しているので、無条件で、他のゲーム装置２ｂ，２ｃ，２ｄのルータ４ｂ，４ｃ，４ｄが、対戦相手の候補として設定される。そして、これらの候補に対して、対戦相手を募集するゲーム装置２ａ（第１ゲーム装置）の存在を報知する信号が、サーバ１からゲーム装置２ｂ，２ｃ，２ｄへと送信される。すると、対戦相手を募集するプレイヤの情報が、画像データを用いて、第２ゲーム装置２ｂ，２ｃ，２ｄのモニタ２０６に表示される。すなわち、この場合（ＴＦ（ＩＤａ）＝１）、後述するステップ１４（Ｓ１４）およびステップ１５（Ｓ１５）の処理が、実行される。
【０１１０】
一方で、フラグデータＴＦ（ＩＤａ）の値が「０」であった場合（Ｓ１２でＮｏ）、ルータ４ａは、ポートを開放する能力がないことになる。たとえば、図５を参照すると、本実施形態では、第１ゲーム装置２ａのルータ４ａが、ポートを開放する能力を有していないと、サーバ１のＣＰＵ１０１に判断される。この場合（ＴＦ（ＩＤａ）＝０）、ポートを開放する能力を有するルータ４に接続されたゲーム装置の識別データＩＤが、サーバ１のＣＰＵ１０１により検出される（Ｓ１３）。たとえば、フラグデータＴＦ（ＩＤ）の値が「１」であるゲーム装置の識別データＩＤが、サーバ１のＣＰＵ１０１により検出される。すると、この識別データＩＤに対応するゲーム装置が、対戦相手の候補となるゲーム装置として、サーバ１のＣＰＵ１０１に認識される。このようにして、対戦相手の候補であるゲーム装置が検出され、このゲーム装置が、第２ゲーム装置（ポートを開放する能力を有するゲーム装置）として、設定される（Ｓ１４）。
【０１１１】
図５では、ゲーム装置２ｂ，２ｃが、第２ゲーム装置に対応している。なお、フラグデータＴＦ（ＩＤ）と識別データＩＤとの対応関係は、対応テーブルに基づいて、規定されている。この対応テーブルは、フラグデータＴＦ（ＩＤ）および識別データＩＤそれぞれをサーバ１が受信したときに、サーバ１において生成され、データ蓄積部１０３に格納される。
【０１１２】
続いて、第２ゲーム装置２ｂ，２ｃが設定されると、第１ゲーム装置２ａの存在を報知する信号を、第２ゲーム装置２ｂ，２ｃに送信する処理が、サーバ１のＣＰＵ１０１により実行される。言い換えると、対戦相手を募集するゲーム装置２ａ（第１ゲーム装置）の存在を報知する信号が、サーバ１から第２ゲーム装置２ｂ，２ｃへと送信される。より具体的には、対戦相手を募集するプレイヤの存在が、対戦相手の候補であるプレイヤに対して、報知される。
【０１１３】
そして、第１ゲーム装置２ａの存在を報知する信号が、第２ゲーム装置２ｂ，２ｃ，２ｄのＣＰＵ２０１に認識されると、第１ゲーム装置２ａの存在を報知するための報知画像、たとえば対戦相手を募集するプレイヤの情報が、画像データを用いて、第２ゲーム装置２ｂ，２ｃのモニタ２０６に表示される（Ｓ１５）。より具体的には、図６に示すように、「募集中」という報知画像、募集者が希望する対戦回数の情報画像、およびコメント用の画像等が、第２ゲーム装置２ｂ，２ｃのモニタ２０６、すなわち対戦相手の候補であるプレイヤのモニタ２０６に、表示される。
【０１１４】
なお、ここでは、１台のゲーム装置２ａだけが、対戦相手を応募した場合の例が示されているが、複数台のゲーム装置が、対戦相手を応募することも可能である。この場合は、複数のプレイヤの募集情報が、対戦相手の候補であるプレイヤのモニタ２０６に、表示される。
【０１１５】
ここで、対戦相手を募集するプレイヤの情報を見た他のプレイヤ、たとえば第２ゲーム装置２ｂを操作するプレイヤが、対戦相手を募集するプレイヤの募集に応答するために、第２ゲーム装置２ｂのコントローラ２１１を操作すると、対戦相手を募集するプレイヤの募集（第１ゲーム装置２ａからの募集）に応答する応答命令が、第２ゲーム装置２ｂのＣＰＵ２０１から発行される。すると、この応答命令を発行した第２ゲーム装置２ｂの識別データＩＤｂが、この第２ゲーム装置２ｂからサーバ１へと再送信される。このようにして、野球ゲームへの参加希望者が、サーバ１へと報知される（Ｓ１６）。
【０１１６】
そして、野球ゲームへの参加希望者が、サーバ１へと報知されると、対戦相手の情報を示すデータが、サーバ１から、第１ゲーム装置２ａへと送信される。すると、図７に示すように、対戦相手の情報が、野球ゲームへの参加希望者が操作する第２ゲーム装置２ｂの存在を報知するための報知画像、たとえば対戦相手の情報が、画像データを用いて、第１ゲーム装置２ａのモニタ２０６に表示される（Ｓ１７）。より具体的には、「応募者あり」という報知画像、応募者が希望する対戦回数の情報画像、およびコメント用の画像等が、対戦相手を募集したプレイヤのモニタ２０６に表示される。
【０１１７】
ここで、この対戦相手の情報を見たプレイヤ（募集者）、すなわち第１ゲーム装置２ａを操作するプレイヤが、対戦希望者に応答するために、第１ゲーム装置２ａのコントローラ２１１を操作すると、対戦相手を決定する対戦決定命令が、第１ゲーム装置２ａのＣＰＵ２０１から発行される。すると、この対戦決定命令を発行した第１ゲーム装置２ａの識別データＩＤが、この第１ゲーム装置２ａからサーバ１へと再送信される。このようにして、野球ゲームへの参加希望者の選択結果が、サーバ１へと報知される（Ｓ１８）。
【０１１８】
なお、ここでは、１台のゲーム装置２ｂだけが、対戦を希望した場合の例が示されているが、複数台のゲーム装置が、対戦を希望することも可能である。この場合は、複数のプレイヤの情報が、第１ゲーム装置２ａのモニタ２０６、すなわち対戦相手を募集したプレイヤのモニタ２０６に、表示される。
【０１１９】
そして、野球ゲームへの参加希望者の選択結果が、サーバ１へと報知されると、第１ゲーム装置２ａと、第１ゲーム装置２ａの募集に応答した第２ゲーム装置２ｂとをマッチングする処理が、サーバ１のＣＰＵ１０１により実行される（Ｓ１９）。より具体的には、野球ゲームへの参加を募集したプレイヤと、野球ゲームへの参加募集に応募したプレイヤとを、マッチングする処理が、サーバ１のＣＰＵ１０１により実行される。
【０１２０】
たとえば、第１ゲーム装置２ａと第２ゲーム装置２ｂとをマッチングするときに行われる処理の１つとして、各プレイヤに対して対戦相手を紹介する処理がある。具体的には、対戦の決定を報知するための信号が、サーバ１から、第１ゲーム装置２ａおよび第２ゲーム装置２ｂへと送信される。すると、第１ゲーム装置２ａと第２ゲーム装置２ｂとにおいて、対戦相手の決定を示す報知画像が、各ゲーム装置２ａ，２ｂのモニタ２０６に表示される（図示しない）。これにより、野球ゲームへの参加を募集したプレイヤと、野球ゲームへの参加募集に応募したプレイヤとは、対戦相手が決定したことを、視認することができる。
【０１２１】
続いて、このようなマッチング処理が終了すると、第１ゲーム装置２ａ（募集側のゲーム装置）と第２ゲーム装置２ｂ（応募側のゲーム装置）との通信を確立するための処理が、各ゲーム装置２ａ，２ｂのＣＰＵ２０１によって実行される（Ｓ２０）。
【０１２２】
具体的には、図８に示すように、まず、第２ゲーム装置２ｂの通信情報を含む通信確立用のデータＰＤ１が、第２ゲーム装置２ｂから第１ゲーム装置２ａへと送信される。この通信確立用のデータＰＤ１には、第２ゲーム装置２ｂのポート番号が含まれている。そして、この通信確立用のデータＰＤ１を第１ゲーム装置２ａが受信すると、この通信確立用のデータＰＤ１に含まれるポート番号が、第１ゲーム装置２ａのＣＰＵ２０１に認識される。そして、このポート番号と同じ番号のポートを開放するポート開放命令が、第１ゲーム装置２ａのＣＰＵ２０１から発行される。すると、このポート開放命令に対応する信号が、第１ゲーム装置２ａからルータ４ａへと送信される。すると、第２ゲーム装置２ｂのポート番号と同じポート番号が割り当てられた、ルータ４ａのポートが、開放される。このポートの開放処理は、ルータ４のＣＰＵにより実行される。
【０１２３】
続いて、図８に示すように、第１ゲーム装置２ａの通信情報を含む通信確立用のデータＰＤ２が、第１ゲーム装置２ａから第２ゲーム装置２ｂへと送信される。この通信確立用のデータＰＤ２には、第１ゲーム装置２ａのポート番号が含まれている。そして、この通信確立用のデータＰＤ２を第２ゲーム装置２ｂが受信すると、この通信確立用のデータＰＤ２に含まれるポート番号が、第２ゲーム装置２ｂのＣＰＵ２０１に認識される。
【０１２４】
このようにして、第１ゲーム装置２ａのルータ４ａのポートを開放し、第１ゲーム装置２ａのＣＰＵ２０１と第２ゲーム装置２ｂのＣＰＵ２０１とに、相手のゲーム装置２ｂ，２ａのルータ４ｂ，４ａのポート番号を認識させることによって、第１ゲーム装置２ａと第２ゲーム装置２ｂとの一対一の通信が、確立される。言い換えると、ここで開放された第１ゲーム装置２ａのポートと、開放済みの第２ゲーム装置２ｂのポートとを通じて、第１ゲーム装置２ａと第２ゲーム装置２ｂとの間で、データ通信が可能となる。
【０１２５】
なお、サーバ１においてマッチング処理が終了した後は、サーバ１は、第１ゲーム装置２ａと第２ゲーム装置２ｂとのデータ通信に介在しない。このため、図８では、サーバ１の部分を、破線にて示している。
【０１２６】
続いて、第１ゲーム装置２ａと第２ゲーム装置２ｂとの間において、通信が確立されると、スターティングメンバーを設定するためのメンバー設定画面が、モニタ２０６に表示される（図示しない）。このメンバー設定画面において、スターティングメンバーの選択が、各ゲーム装置２ａ，２ｂを操作するプレイヤにより、実行される（Ｓ２１）。
【０１２７】
そして、スターティングメンバーの選択が終了すると、試合イベントを開始するタイミング、および対戦相手の各選手キャラクタのデータ等が、各ゲーム装置２ａ，２ｂにおいて同期される（Ｓ２２）。そして、試合イベントが、各ゲーム装置２ａ，２ｂそれぞれにおいて開始される（Ｓ２３）。このような同期処理を各ゲーム装置２ａ，２ｂにおいて実行した後に、通信用の対戦モードの試合イベントを各ゲーム装置２ａ，２ｂにおいて開始することにより、ネットワーク用の野球ゲームを、複数のゲーム装置２ａ，２ｂにおいて確実に実行することができる。
【０１２８】
続いて、試合イベントが開始されると、各プレイヤがコントローラ２１１を操作することによって、自分が指揮するチームの選手キャラクタに対して各種の命令が指示される。すると、このコントローラ２１１からの命令に基づいて、各選手キャラクタが動作する状態が、モニタ２０６に表示される。
【０１２９】
続いて、１プレイごとに、試合イベントが終了したか否かが、各ゲーム装置２ａ，２ｂのＣＰＵ２０１により判断される（Ｓ２４）。そして、試合イベントが終了した場合（Ｓ２４でＹｅｓ）、試合結果のデータが、各ゲーム装置２ａ，２ｂのＲＡＭ２０２に格納される（Ｓ２５）。そして、このような試合イベントを終了するための後処理が、各ゲーム装置２ａ，２ｂにおいて完了すると、野球ゲームを終了するための命令が、各ゲーム装置２ａ，２ｂのＣＰＵ２０１から発行され、野球ゲームが終了される（Ｓ２６）。一方で、試合イベントが継続している場合（Ｓ２４でＮｏ）、ステップ２３（Ｓ２３）以降の処理が、各ゲーム装置２ａ，２ｂのＣＰＵ２０１により再実行される。
【０１３０】
なお、ここでは、試合イベントが終了したときに、野球ゲームも同時に終了する場合の例が示されているが、試合イベントを連続して実行できるようにしても良い。
【０１３１】
上記のように、本実施形態では、第１ゲーム装置２ａ（第１クライアント）のルータ４ａが、ポートを開放する能力を有していない場合、ルータ４ｂがポートを開放する能力を有するような第２ゲーム装置２ｂ（第２クライアント）が、サーバ１のＣＰＵ１０１により検出される。このため、ポートを開放する能力を有していない第１ゲーム装置２ａが、ゲームへの参加者を募集することができるようにしても、野球ゲームへの参加者のルータ４ｂ（第２クライアントのルータ）は、必ずポートを開放する能力を有しているので、第１ゲーム装置２ａと第２ゲーム装置２ｂとは、ネットワーク用の野球ゲームを確実に実行することができる。すなわち、ポートを開放する能力を有していないルータを利用しているプレイヤであっても、自分からネットワーク用の野球ゲームへの参加者を募集することができ、野球ゲームを実行することができる。
【０１３２】
なお、上述した実施形態では、「データがサーバ１からゲーム装置２へ送信される」や、「データがゲーム装置２からサーバ１へと送信される」等のように記載されている部分がある。しかしながら、この記載は、厳密には、「データがサーバ１からルータ４を介してゲーム装置２へ送信される」や、「データがゲーム装置２からルータ４を介してサーバ１へと送信される」等のように解釈されるべきものである。
【０１３３】
〔他の実施形態〕
（ａ）前記実施形態では、対戦相手を募集するプレイヤが１人である場合の例が示されているが、対戦相手を募集するプレイヤは、前記実施形態に限定されず、複数人であっても良い。この場合、複数の「募集中」という報知リストが、図６に示したモニタ２０６に、表示される。
（ｂ）前記実施形態では、ゲーム装置２ｂのプレイヤが、対戦希望者として応募した場合の例が示されているが、対戦希望者は前記実施形態に限定されず、ポートを開放するルータ４を有しているプレイヤであれば、対戦希望者として応募することができる。
（ｃ）前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての開発用のビデオゲーム装置を用いた場合の例を示したが、コンピュータは、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
（ｄ）本発明には、前述したようなゲームを実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＯＭカセット、その他のものが挙げられる。
【産業上の利用可能性】
【０１３４】
本発明は、サーバと、ルータを介してネットワーク用のゲームを実行する複数のクライアントとから構成されるゲーム用のネットワークシステムにおいて、利用することができる。また、本発明は、このネットワークシステムにおいて機能するネットワーク用のプログラム、およびネットワーク用のプログラムを実行可能なサーバ用のコンピュータにおいて、利用することができる。
【符号の説明】
【０１３５】
１  サーバ
１０１  サーバ用のＣＰＵ（制御部）
２  ゲーム装置
２０１  ゲーム装置用のＣＰＵ（制御部）
２０２  ゲーム装置用のＲＡＭ
２１１  ゲーム装置用のコントローラ（入力部）
２０６  ゲーム装置用のモニタ
４  ルータ
５０  接続申請手段
５１  クライアント認証手段
５２  ルータ情報送信手段
５３  ルータ情報管理手段
５４  参加者募集手段
５５  第１クライアント設定手段
５６  通信能力判断手段
５７  第２クライアント設定手段
５８  募集者報知手段
５９  募集者表示手段
６０  参加報知手段
６１  参加者決定手段
６２  通信確立手段
６３  イベント実行手段
ＩＤ  識別データ
ＴＤ（ＩＤ）  通信能力データ
ＴＦ（ＩＤ）  フラグデータ
ＰＤ１，ＰＤ２  通信確立用のデータ
【図１】
2010170176.tif 000003
【図２】
2010170176.tif 000004
【図３】
2010170176.tif 000005
【図４】
2010170176.tif 000006
【図５】
2010170176.tif 000007
【図６】
2010170176.tif 000008
【図７】
2010170176.tif 000009
【図８】
2010170176.tif 000010
【図９Ａ】
2010170176.tif 000011
【図９Ｂ】
2010170176.tif 000012
【図９Ｃ】
2010170176.tif 000013