(57)【要約】【課題】ネットワークゲーム全体の進行を管理するサーバ装置に多大な負荷をかけることなく、複数のプレイヤがネットワークゲームに参加できる。【解決手段】戦闘区毎に区切られてゲームが行われるが、同じ戦闘区でゲームを行うビデオゲーム装置でビデオゲーム装置群１４０、１５０、…を形成する。サーバ装置２００は、ビデオゲーム装置群１４０、１５０、…に属するビデオゲーム装置のうちから何れかをフロントエンドサーバに指定する。フロントエンドサーバに指定されたビデオゲーム装置が、ノンプレイヤキャラクタの動作の決定や各プレイヤキャラクタのパラメータの変化値の算出、同じビデオゲーム装置群１４０、１５０、…に属するビデオゲーム装置間でのゲームの進行に関する情報の送受信を一元的に制御する。戦闘区毎のゲームの進行状況に関する情報のサーバ装置２００への送信も、一元的に行う。フロントエンドサーバの指定は、所定時間毎に変更される。【選択図】図１
2010029723.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置と、各々が所定のネットワークを介して該サーバ装置に接続可能であると共に、前記サーバ装置を介することなく前記所定のネットワークを介して互いに接続可能な複数のクライアント装置から構成されるクライアント群とを備えるネットワークゲームシステムであって、
前記サーバ装置は、
前記複数のクライアント装置の各々の接続状況を管理する接続状況管理手段と、
前記複数のクライアント装置の各々におけるゲームの進行状況を管理するゲーム進行状況管理手段と、
前記クライアント群に属する複数のクライアント装置のうちの任意のクライアント装置を、ゲームを進行するための処理のうちの所定の処理を実行するための実行クライアントとして指定し、該実行クライアントの指定に関する情報を、該指定に関わるクライアント装置に前記所定のネットワークを介して通知する実行クライアント指定手段と、
前記クライアント群に属する複数のクライアント装置のうちの任意のクライアント装置を、該クライアント群におけるゲームの進行に関する情報をやりとりするための管理クライアントとして指定し、該指定に関わるクライアント装置に前記所定のネットワークを介して通知する管理クライアント指定手段と、
前記管理クライアント指定手段により指定した前記管理クライアントから前記クライアント群におけるゲーム進行情報を受信する対クライアント群受信手段と、
前記対クライアント群受信手段により受信されたゲーム進行情報に基づいて、前記ゲーム進行状況管理手段により管理されている前記複数のクライアント装置の各々におけるゲームの進行状況を更新するゲーム進行状況更新手段とを備え、
前記複数のクライアント装置は、それぞれ、
プレイヤの操作により、ゲームを進行するための所定の入力を行う入力手段と、
前記実行クライアント指定手段により前記実行クライアントとして指定されたときに、前記所定の処理を実行する所定処理実行手段と、
前記クライアント群に属する各クライアント装置についての前記入力手段からの入力に応じたゲーム入力情報と、前記所定処理実行手段による前記所定の処理の実行に応じたゲーム実行情報とに応じたクライアント群内ゲーム情報を、前記クライアント群に属する他のクライアント装置との間で前記所定のネットワークを介して互いに送受信するクライアント群内送受信手段と、
前記管理クライアント指定手段により前記管理クライアントとして指定されたときに、前記クライアント群に属する各クライアント装置についての前記ゲーム入力情報と前記ゲーム実行情報とに応じた前記ゲーム進行情報を前記所定のネットワークを介して前記サーバ装置に送信する対サーバ装置送信手段とを備え、
前記実行クライアント指定手段は、所定の期間毎に、前記クライアント群に属する複数のクライアント装置のうちで前記実行クライアントとして指定するクライアント装置を変更する
ことを特徴とするネットワークゲームシステム。
【請求項２】
前記実行クライアント指定手段が前記実行クライアントとして指定するクライアント装置と、前記管理クライアント指定手段が前記管理クライアントとして指定するクライアント装置は、同一のクライアント装置である
ことを特徴とする請求項１に記載のネットワークゲームシステム。
【請求項３】
前記実行クライアント指定手段は、前記クライアント群に属する複数のクライアント装置のうちの２以上のクライアント装置を前記実行クライアントとして指定する複数指定手段を含む
ことを特徴とする請求項１または２に記載のネットワークゲームシステム。
【請求項４】
前記サーバ装置は、前記クライアント群に属する複数のクライアント装置のうちで少なくとも前記実行クライアントとして指定しているクライアント装置との通信が切断されたかどうかを判定する切断判定手段をさらに備え、
前記実行クライアント指定手段は、前記実行クライアントとして指定しているクライアント装置との通信が切断されたと前記切断判定手段により判定されたときに、前記クライアント群に属する他のクライアント装置を前記指定クライアントとして指定する
ことを特徴とする請求項１乃至３のいずれか１項に記載のネットワークゲームシステム。
【請求項５】
前記ネットワークゲームシステムは、前記サーバ装置を介することなく前記所定のネットワークを介して前記クライアント群に属する任意のクライアント装置に接続可能な群外クライアント装置をさらに含み、
前記複数のクライアント装置は、それぞれ、前記クライアント群に属さない他のクライアント装置に前記クライアント群内ゲーム情報を送信するクライアント群外送信手段をさらに備え、
前記群外クライアント装置は、
前記クライアント群外送信手段から送信されたクライアント群内ゲーム情報を受信するクライアント群内ゲーム情報受信手段と、
前記クライアント群内ゲーム情報受信手段の受信したクライアント群内ゲーム情報に基づいて、前記クライアント群におけるゲームの進行状況を示す情報を出力するゲーム進行状況出力手段を備える
ことを特徴とする請求項１乃至４のいずれか１項に記載のネットワークゲームシステム。
【請求項６】
他のコンピュータ装置を介することなく所定のネットワークを介して互いに接続可能な複数のクライアント装置から構成されるクライアント群に属する各クライアント装置と前記所定のネットワークを介して接続可能なコンピュータ装置を、
前記複数のクライアント装置の各々の接続状況を管理する接続状況管理手段、
前記複数のクライアント装置の各々におけるゲームの進行状況を管理するゲーム進行状況管理手段、
前記クライアント群に属する複数のクライアント装置のうちの任意のクライアント装置を、ゲームを進行するための処理のうちの所定の処理を実行するための実行クライアントとして指定し、該実行クライアントの指定に関する情報を、該指定に関わるクライアント装置に前記所定のネットワークを介して通知する実行クライアント指定手段、
前記クライアント群に属する複数のクライアント装置のうちの任意のクライアント装置を、該クライアント群におけるゲームの進行に関する情報をやりとりするための管理クライアントとして指定し、該指定に関わるクライアント装置に前記所定のネットワークを介して通知する管理クライアント指定手段、
前記管理クライアント指定手段により指定した前記管理クライアントから前記クライアント群におけるゲーム進行情報を受信するゲーム進行情報受信手段、及び、
前記ゲーム進行情報受信手段により受信されたゲーム進行情報に基づいて、前記ゲーム進行状況管理手段により管理されている前記複数のクライアント装置の各々におけるゲームの進行状況を更新するゲーム進行状況更新手段として機能させ、
前記実行クライアント指定手段は、所定の期間毎に、前記クライアント群に属する複数のクライアント装置のうちで前記実行クライアントとして指定するクライアント装置を変更する
ことを特徴とするプログラム。
【請求項７】
所定のネットワークを介してサーバ装置に接続可能であると共に、前記サーバ装置を介することなく前記所定のネットワークを介して同一のコンピュータ装置群に属する他のコンピュータ装置に接続可能なコンピュータ装置を、
プレイヤの操作により入力手段から入力されたゲームを進行するための所定の入力を受け付ける入力受付手段、
前記サーバ装置からの通知に基づいて、前記コンピュータ装置群に属するコンピュータ装置の中でゲームを進行するための処理のうちの所定の処理を実行するための実行コンピュータ装置として指定されたときに、該所定の処理を実行する所定処理実行手段、
前記入力受付手段が受け付けた入力に応じたゲーム入力情報と、前記所定処理実行手段による前記所定の処理の実行に応じたゲーム実行情報とに応じた群内ゲーム情報を、前記コンピュータ群に属する他のコンピュータ装置との間で前記所定のネットワークを介して互いに送受信する群内送受信手段、及び、
前記サーバ装置からの通知に基づいて、前記コンピュータ装置群におけるゲームの進行に関する情報を該サーバ装置とやりとりするための管理コンピュータ装置として指定されたときに、当該コンピュータ群に属する各コンピュータ装置についての前記ゲーム入力情報と前記ゲーム実行情報とに応じた前記ゲーム進行情報を前記所定のネットワークを介して前記サーバ装置に送信する対サーバ装置送信手段
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプレイヤが参加してゲームが進行するネットワークゲームに関するものである。
【背景技術】
【０００２】
近年のネットワーク技術の進歩に伴い、複数のプレイヤが参加してゲームが進行するネットワークゲーム（オンラインゲーム）が盛んに行われるようになってきている。ネットワークゲームを行うためのシステムは、ネットワークゲームを運営する者が管理するサーバ装置と、このサーバ装置にインターネットなどのネットワークを介して接続可能な各プレイヤのクライアント装置とから構成されるものとなっている。
【０００３】
ネットワークゲームでも、プレイヤは、プレイヤキャラクタに対する指示をビデオゲーム装置等のクライアント装置において入力装置から入力し、これに従ってゲームを進行するものとなっている。もっとも、ネットワークゲームは、一人のプレイヤだけでゲームを進行させるものではなく、他のプレイヤのプレイヤキャラクタも登場してゲームを進行させるものとなっている。さらに、何れのプレイヤのプレイヤキャラクタでもないノンプレイヤキャラクタがゲームの進行において登場するネットワークゲームもある。これらは、何れのプレイヤのクライアント装置においても同様に動作するものでなければならない。
【０００４】
つまり、多数のプレイヤのプレイヤキャラクタの動作やノンプレイヤキャラクタの動作が、矛盾しないように各プレイヤのクライアント装置に通知される必要があるため、従来のネットワークゲームでは、プレイヤキャラクタの動作に関する指示が全てのクライアント装置からサーバ装置に集められ、ノンプレイヤキャラクタの動作の決定などのゲームの進行のために必要な処理をサーバ装置がまとめて行い、その処理結果に応じた情報を各クライアント装置に配信するものとしていた（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−３２５９８４号公報（段落００５９、００６０等）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１のように、ゲームを進行するための処理をサーバ装置が全て行わなければならないものとすると、サーバ装置にかかる処理負荷が大きくなってしまうという問題があった。特に、複数のプレイヤキャラクタの動作がゲームの進行に相互に影響し合うようなゲームであると、プレイヤの増加に対して、サーバ装置の処理の計算量が２乗以上のオーダーで増加してしまうこともあった。
【０００７】
さらに、各プレイヤキャラクタの動作がノンプレイヤキャラクタの動作に影響を与えたり、各ノンプレイヤキャラクタの動作が各プレイヤキャラクタや他のノンプレイヤキャラクタの動作に影響を与えたりするものであると、全体としてのキャラクタの数に対する計算量の増加が顕著になってしまうという問題があった。この問題を解決するには、サーバ装置の処理能力を高めるか、プレイヤキャラクタやノンプレイヤキャラクタの数を制限するということが考えられるが、前者の場合にはコストがかかり、後者の場合にはネットワークゲームとしての面白味を半減させてしまうという問題があった。
【０００８】
また、ネットワークゲームは、一般に、不特定多数の者が参加するものであるため、ネットワークゲームをプレイするプレイヤの中には、例えば、サーバ装置に不正アクセスするなどしてゲームにおける不正行為をするものが存在する場合もある。このような者の存在は、他の多くのプレイヤに迷惑をかけてしまうこととなるので、多くの人にゲームを楽しんで貰おうとするならば、不正を行う者を早急に排除する必要がある。ネットワークゲームの運営者にとっては、そのための管理コストも馬鹿にならないという問題があった。
【０００９】
本発明は、ネットワークゲーム全体の進行を管理するサーバ装置に多大な負荷をかけることなく、複数のプレイヤがネットワークゲームに参加することのできるネットワークゲームシステム等を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明の第１の観点にかかるネットワークゲームシステムは、サーバ装置と、各々が所定のネットワークを介して該サーバ装置に接続可能であると共に、前記サーバ装置を介することなく前記所定のネットワークを介して互いに接続可能な複数のクライアント装置から構成されるクライアント群とを備えるネットワークゲームシステムであって、前記サーバ装置は、前記複数のクライアント装置の各々の接続状況を管理する接続状況管理手段と、前記複数のクライアント装置の各々におけるゲームの進行状況を管理するゲーム進行状況管理手段と、前記クライアント群に属する複数のクライアント装置のうちの任意のクライアント装置を、ゲームを進行するための処理のうちの所定の処理を実行するための実行クライアントとして指定し、該実行クライアントの指定に関する情報を、該指定に関わるクライアント装置に前記所定のネットワークを介して通知する実行クライアント指定手段と、前記クライアント群に属する複数のクライアント装置のうちの任意のクライアント装置を、該クライアント群におけるゲームの進行に関する情報をやりとりするための管理クライアントとして指定し、該指定に関わるクライアント装置に前記所定のネットワークを介して通知する管理クライアント指定手段と、前記管理クライアント指定手段により指定した前記管理クライアントから前記クライアント群におけるゲーム進行情報を受信する対クライアント群受信手段と、前記対クライアント群受信手段により受信されたゲーム進行情報に基づいて、前記ゲーム進行状況管理手段により管理されている前記複数のクライアント装置の各々におけるゲームの進行状況を更新するゲーム進行状況更新手段とを備え、前記複数のクライアント装置は、それぞれ、プレイヤの操作により、ゲームを進行するための所定の入力を行う入力手段と、前記実行クライアント指定手段により前記実行クライアントとして指定されたときに、前記所定の処理を実行する所定処理実行手段と、前記クライアント群に属する各クライアント装置についての前記入力手段からの入力に応じたゲーム入力情報と、前記所定処理実行手段による前記所定の処理の実行に応じたゲーム実行情報とに応じたクライアント群内ゲーム情報を、前記クライアント群に属する他のクライアント装置との間で前記所定のネットワークを介して互いに送受信するクライアント群内送受信手段と、前記管理クライアント指定手段により前記管理クライアントとして指定されたときに、前記クライアント群に属する各クライアント装置についての前記ゲーム入力情報と前記ゲーム実行情報とに応じた前記ゲーム進行情報を前記所定のネットワークを介して前記サーバ装置に送信する対サーバ装置送信手段とを備え、前記実行クライアント指定手段は、所定の契機毎に、前記クライアント群に属する複数のクライアント装置のうちで前記実行クライアントとして指定するクライアント装置を変更することを特徴とする。
【００１１】
上記ネットワークゲームシステムは、複数のクライアント装置を含んでおり、各クライアント装置のプレイヤは、その操作により入力手段から所定の入力を行うことによってゲームを進行することができる。また、上記ネットワークゲームシステムは、サーバ装置を含んでおり、各クライアント装置の各々の接続状況とゲームの進行状況がサーバ装置において管理されているので、複数のプレイヤの参加によって進行するゲームの全体がサーバ装置において一元的に管理されるものとなっている。
【００１２】
もっとも、ゲームを実際に進行する際には、複数のクライアント装置により構成されるクライアント群の中から任意のクライアント装置が実行クライアントとしてサーバ装置によって指定される。ゲームを進行するための処理のうちの所定の処理は、実行クライアントとして指定されたクライアント装置において行われる。また、ゲーム入力情報、ゲーム実行情報などのクライアント群内ゲーム情報は、クライアント群に属するクライアント装置同士で送受信される。このため、サーバ装置に多大な処理負荷をかけることなく、複数のプレイヤが各自のクライアント装置から参加するゲームを実現することができるものとなる。
【００１３】
また、ゲームを実際に進行する際には、複数のクライアント装置により構成されるクライアント群の中から任意のクライアント装置が管理クライアントとしてサーバ装置によって指定される。ゲームの進行状況をサーバ装置において一元管理するためには、ゲーム進行情報をサーバ装置に送る必要があるが、これは、管理クライアントからまとめてサーバ装置に送られるため、このような情報を複数のクライアント装置の各々から送信する場合よりも通信トラフィックを軽減することができ、また、サーバ装置の処理負荷も軽減することができる。
【００１４】
さらに、クライアント群に属する複数のクライアント装置のうちで実行クライアントとして指定されるクライアント装置は、所定の期間毎に変更されるものとなっている。このため、ある時点の実行クライアントに不正アクセスしてゲームにおける不正行為が行われることがあったとしても、新たに所定の期間が到来して別のクライアント装置が実行クライアントとして指定されてしまえば、不正行為を働いたことが無駄になってしまう。このため、ゲームにおける不正行為がされるのを防止することができる。
【００１５】
さらに、実行クライアントとして指定されていたクライアント装置がゲームから離脱して所定の処理が実行されなくなってしまっても、新たに所定の期間が到来して別のクライアント装置が実行クライアントとして指定されれば、当該新たに実行クライアントとして指定されたクライアント装置によって所定の処理を実行して、ゲームを進行させることができるものとなる。このため、実行クライアントとして指定されたクライアント装置がゲームから離脱してしまっても、長期間に亘ってゲームの進行に障害が生じることはない。また、実行クライアントとして指定されたクライアント装置のプレイヤがゲームに参加し続けることを強いられることがなく、各クライアント装置のプレイヤは、任意にゲームに参加／離脱することができるものとなる。
【００１６】
なお、前記サーバ装置は、単体のコンピュータ装置により構成されるものだけではなく、複数のコンピュータ装置からなるコンピュータ装置群によって構成されるものであってもよい。また、前記実行クライアント指定手段が実行クライアントの指定を変更する所定の契機は、所定の期間が到来することとしてもよい。この所定の期間は、固定の期間であってもよいし、可変の期間であってもよい。
【００１７】
上記ネットワークゲームシステムにおいて、前記実行クライアント指定手段が前記実行クライアントとして指定するクライアント装置と、前記管理クライアント指定手段が前記管理クライアントとして指定するクライアント装置は、同一のクライアント装置であってもよい。
【００１８】
この場合、サーバ装置は、クライアント群に属する複数のクライアント装置のうちから実行クライアントと管理クライアントとを別々に指定しなくてもよいので、クライアント装置の指定の処理が容易になる。
【００１９】
上記ネットワークゲームシステムにおいて、前記実行クライアント指定手段は、前記クライアント群に属する複数のクライアント装置のうちの２以上のクライアント装置を前記実行クライアントとして指定する複数指定手段を含むものとすることができる。
【００２０】
この場合、ゲームを進行させるための所定の処理の処理負荷が比較的大きなものであっても、その所定の処理を実行クライアントとして指定された２以上のクライアント装置で分散して行えばよいので、１台のクライアント装置にかかる処理負荷だけが大きくなり過ぎずに済むものとなる。
【００２１】
上記ネットワークゲームシステムにおいて、前記サーバ装置は、前記クライアント群に属する複数のクライアント装置のうちで少なくとも前記実行クライアントとして指定しているクライアント装置との通信が切断されたかどうかを判定する切断判定手段をさらに備えていてもよい。この場合において、前記実行クライアント指定手段は、前記実行クライアントとして指定しているクライアント装置との通信が切断されたと前記切断判定手段により判定されたときに、前記クライアント群に属する他のクライアント装置を前記指定クライアントとして指定するものとすることができる。
【００２２】
この場合は、実行クライアントとして指定しているクライアント装置との通信が切断されたと判定されると、直ちに新たなクライアント装置が実行クライアントとして指定されるので、ゲームを進行させるための所定の処理が行われない空白期間をさらに小さくすることができ、長期間に亘ってゲームの進行に障害が生じることはない。
【００２３】
上記ネットワークゲームシステムは、前記サーバ装置を介することなく前記所定のネットワークを介して前記クライアント群に属する任意のクライアント装置に接続可能な群外クライアント装置をさらに含んでいてもよい。この場合において、前記複数のクライアント装置は、それぞれ、前記クライアント群に属さない他のクライアント装置に前記クライアント群内ゲーム情報を送信するクライアント群外送信手段をさらに備えるものとすることができ、前記群外クライアント装置は、前記クライアント群外送信手段から送信されたクライアント群内ゲーム情報を受信するクライアント群内ゲーム情報受信手段と、前記クライアント群内ゲーム情報受信手段の受信したクライアント群内ゲーム情報に基づいて、前記クライアント群におけるゲームの進行状況を示す情報を出力するゲーム進行状況出力手段とを備えるものとすることができる。
【００２４】
この場合、クライアント群に属するクライアント装置のプレイヤ同士で行われているゲームに積極的に参加したい訳ではないが、他のプレイヤの行っているゲームを閲覧したい者がいる場合は、その者の群外クライアント装置は、クライアント群に属する任意のクライアント装置に接続させるものとすればよい。クライアント群に属する複数のクライアント装置のうちで実行クライアントとしても管理クライアントとしても指定されていないクライアント装置は、比較的処理負荷が軽いので、このようなクライアント装置に群外クライアント装置を接続させることによって、非常に多くの者に対してゲームを閲覧させることができるようになる。
【００２５】
上記目的を達成するため、本発明の第２の観点にかかるプログラムは、他のコンピュータ装置を介することなく所定のネットワークを介して互いに接続可能な複数のクライアント装置から構成されるクライアント群に属する各クライアント装置と前記所定のネットワークを介して接続可能なコンピュータ装置を、前記複数のクライアント装置の各々の接続状況を管理する接続状況管理手段、前記複数のクライアント装置の各々におけるゲームの進行状況を管理するゲーム進行状況管理手段、前記クライアント群に属する複数のクライアント装置のうちの任意のクライアント装置を、ゲームを進行するための処理のうちの所定の処理を実行するための実行クライアントとして指定し、該実行クライアントの指定に関する情報を、該指定に関わるクライアント装置に前記所定のネットワークを介して通知する実行クライアント指定手段、前記クライアント群に属する複数のクライアント装置のうちの任意のクライアント装置を、該クライアント群におけるゲームの進行に関する情報をやりとりするための管理クライアントとして指定し、該指定に関わるクライアント装置に前記所定のネットワークを介して通知する管理クライアント指定手段、前記管理クライアント指定手段により指定した前記管理クライアントから前記クライアント群におけるゲーム進行情報を受信するゲーム進行情報受信手段、及び、前記ゲーム進行情報受信手段により受信されたゲーム進行情報に基づいて、前記ゲーム進行状況管理手段により管理されている前記複数のクライアント装置の各々におけるゲームの進行状況を更新するゲーム進行状況更新手段として機能させ、前記実行クライアント指定手段は、所定の期間毎に、前記クライアント群に属する複数のクライアント装置のうちで前記実行クライアントとして指定するクライアント装置を変更することを特徴とする。
【００２６】
上記目的を達成するため、本発明の第３の観点にかかるプログラムは、所定のネットワークを介してサーバ装置に接続可能であると共に、前記サーバ装置を介することなく前記所定のネットワークを介して同一のコンピュータ装置群に属する他のコンピュータ装置に接続可能なコンピュータ装置を、プレイヤの操作により入力手段から入力されたゲームを進行するための所定の入力を受け付ける入力受付手段、前記サーバ装置からの通知に基づいて、前記コンピュータ装置群に属するコンピュータ装置の中でゲームを進行するための処理のうちの所定の処理を実行するための実行コンピュータ装置として指定されたときに、該所定の処理を実行する所定処理実行手段、前記入力受付手段が受け付けた入力に応じたゲーム入力情報と、前記所定処理実行手段による前記所定の処理の実行に応じたゲーム実行情報とに応じた群内ゲーム情報を、前記コンピュータ群に属する他のコンピュータ装置との間で前記所定のネットワークを介して互いに送受信する群内送受信手段、及び、前記サーバ装置からの通知に基づいて、前記コンピュータ装置群におけるゲームの進行に関する情報を該サーバ装置とやりとりするための管理コンピュータ装置として指定されたときに、当該コンピュータ群に属する各コンピュータ装置についての前記ゲーム入力情報と前記ゲーム実行情報とに応じた前記ゲーム進行情報を前記所定のネットワークを介して前記サーバ装置に送信する対サーバ装置送信手段として機能させることを特徴とする。
【００２７】
上記第２、第３の観点にかかるプログラムは、コンピュータ読み取り可能な記録媒体に記録して提供することができる。このコンピュータ読み取り可能な記録媒体は、上記コンピュータ装置に着脱可能に構成され、上記コンピュータ装置とは別個に提供される記録媒体としてもよい。このコンピュータ読み取り可能な記録媒体は、上記コンピュータ装置内に設けられ、上記コンピュータ装置と共に提供される固定ディスク装置などの記録媒体としてもよい。上記第２、第３の観点にかかるプログラムは、ネットワーク上に存在するサーバ装置から、そのデータ信号を搬送波に重畳して、ネットワークを通じて上記コンピュータ装置に配信することもできる。
【００２８】
また、上記第１の観点にかかるネットワークゲームシステムを構成するサーバ装置及びクライアント装置は、それぞれ単体でも本発明の範囲に含まれるものである。また、上記第２、第３の観点にかかるプログラムにより実現される各手段を備えるコンピュータ装置も、本発明の範囲に含まれるものである。また、上記第１の観点にかかるネットワークシステムに含まれる各手段の実行する処理を各ステップの処理として実行する方法、並びに上記第２、第３の観点にかかるプログラムに含まれる各手段の実行する処理を各ステップの処理として実行する方法も、本発明の範囲に含まれる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態にかかるネットワークゲームシステムの構成を示すブロック図である。
【図２】図１のビデオゲーム装置の構成を示すブロック図である。
【図３】図１のサーバ装置の構成を示すブロック図である。
【図４】図１、図３のサーバ装置において管理されるテーブル群を示す図である。
【図５】本発明の実施の形態にかかるネットワークゲームの進行を模式的に示す図である。
【図６】本発明の実施の形態にかかるネットワークゲームの進行を模式的に示す図である。
【図７】図１、図３のサーバ装置において実行される処理を示すフローチャートである。
【図８】図１、図３のサーバ装置において実行される処理を示すフローチャートである。
【図９】図１、図２のビデオゲーム装置において、ネットワークゲームに参加する場合に実行される処理を示すフローチャートである。
【図１０】図１、図２のビデオゲーム装置において、ネットワークゲームに参加する場合に実行される処理を示すフローチャートである。
【発明を実施するための形態】
【００３０】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【００３１】
図１は、この実施の形態にかかるネットワークゲームが行われるネットワークシステムの構成を示すブロック図である。図示するように、この実施の形態にかかるネットワークゲームシステムは、インターネット等のネットワーク（物理的な接続のみで論理的な接続がされてないものは図示せず）に接続される複数のビデオゲーム装置１００（１４１〜１４３、１５１〜１５３、…）と、サーバ装置２００とから構成される。複数のビデオゲーム装置１００のうちの任意の２以上のビデオゲーム装置１００同士で、ビデオゲーム装置群１４０、１５０、…が形成される。
【００３２】
サーバ装置２００は、この実施の形態にかかるネットワークゲームの全体の進行を管理するものであり、各ビデオゲーム装置１００の接続状況と各ビデオゲーム装置１００にて行われているゲームの状況を管理している。ビデオゲーム装置１００は、いずれもネットワークを介してサーバ装置２００に接続することが可能である。もっとも、同一のビデオゲーム装置群１４０、１５０、…に属するビデオゲーム装置１００同士では、サーバ装置２００を介さずに、ネットワークを介してピアツーピアで互いに接続することが可能である。
【００３３】
ビデオゲーム装置群１４０、１５０、…のそれぞれに属する２以上のビデオゲーム装置１００のうちで何れか１つのビデオゲーム装置１４１、１５１、…が、サーバ装置２００からの指定によってフロントエンドサーバとなる（もっとも、サーバ装置２００との関係ではクライアント）。フロントエンドサーバとなるビデオゲーム装置１４１、１５１、…は、サーバ装置２００からの指定によって所定期間毎に変更される。ビデオゲーム装置１４１、１５１、…がフロントエンドサーバとなるのに対して、サーバ装置２００は、バックエンドサーバとなる。また、他のビデオゲーム装置１４２、１５２、…は、フロントエンドサーバとなるビデオゲーム装置１４１、１５１、…に対するクライアントとなる。
【００３４】
この実施の形態にかかるネットワークゲームは、ビデオゲーム装置１００の各プレイヤがＡチームとＢチームとに別れ、チームで対戦するゲームである。ゲームのマップ上には、複数の戦闘区が設定されており、ビデオゲーム装置１００の各プレイヤは、自らのプレイヤキャラクタを所属させるチームと戦闘区とを決め、ゲームに参加する。ビデオゲーム装置群１４０、１５０、…は、この戦闘群毎に設けられるものである。同一のビデオゲーム装置群１４０、１５０、…に属するビデオゲーム装置１００は、互いにサーバ装置２００を介さずにネットワークを介してピアツーピアで情報を交換しながら、当該戦闘区におけるゲームを進めるものとなる。
【００３５】
もっとも、フロントエンドサーバとなるビデオゲーム装置１４１、１５１、…だけは、ネットワークを介してサーバ装置２００と接続し、戦闘の進行状況に関する情報を随時サーバ装置２００に送信するものとしている。また、フロントエンドサーバとなるビデオゲーム装置１４１、１５１、…だけは、サーバ装置２００がゲームの進行を制御するために必要な情報があれば、これをサーバ装置２００から受信するものとしている。
【００３６】
ビデオゲーム装置１００の各プレイヤは、選択した戦闘区におけるマップ上でプレイヤキャラクタの位置を順次指定していき、指定した位置にプレイヤキャラクタが達するまでに敵チームのキャラクタに遭遇すると自動的に戦闘を開始する。各々のプレイヤキャラクタの遭遇した敵チームのキャラクタに対する戦闘行動を決めるためのＡＩルーチンは、ビデオゲーム装置１００のそれぞれで実行されるゲームプログラムに含まれているが、これは、当該プレイヤキャラクタに対応するプレイヤのビデオゲーム装置１００において実行される。
【００３７】
また、この実施の形態にかかるネットワークゲームでは、ビデオゲーム装置群１４０、１５０、…毎に、各プレイヤの操作に従って動作するプレイヤキャラクタ以外にノンプレイヤキャラクタが登場する。ノンプレイヤキャラクタは、ＡＩルーチンの実行によりプレイヤの操作によらずに自動的に動作するものである。ビデオゲーム装置１００のそれぞれで実行されるゲームプログラムが、このＡＩルーチンを含んでいる。もっとも、ノンプレイヤキャラクタを動作させるためのＡＩルーチンを実行するビデオゲーム装置１００は、フロントエンドサーバとなっているビデオゲーム装置１４１、１５１、…だけである。
【００３８】
また、フロントエンドサーバとなるビデオゲーム装置１４１、１５１、…は、同一のビデオゲーム装置群１４０、１５０、…に属する他のビデオゲーム装置１４２、１５２、…からプレイヤキャラクタの位置や戦闘行動などの情報を収集し、ノンプレイヤキャラクタの動作も含めて、各プレイヤキャラクタのパラメータの変化値を計算する。各プレイヤのパラメータの変化値や、ノンプレイヤキャラクタの動作に関する情報も、同一のビデオゲーム装置群１４０、１５０、…に属するビデオゲーム装置１００同士がサーバ装置２００を介さずにピアツーピアで交換し合うものである。
【００３９】
さらに、この実施の形態にかかるネットワークゲームでは、ゲームそのものには参加せずに他人の行っているゲームを戦闘区毎に閲覧することができる。他人の行っているゲームを閲覧するだけのビデオゲーム装置１４３、１５３、…は、閲覧したい戦闘区に対応したビデオゲーム装置群１４０、１５０、…に含まれる任意のビデオゲーム装置１４１、１４２、１５１、１５２、…とサーバ装置２００を介さずにピアツーピアで接続され、そこからゲームの進行状況に関する情報が送られてくるものとなる。
【００４０】
もっとも、図１のネットワークゲームシステムにおいてビデオゲーム装置１００同士をピアツーピアで接続するための制御は、サーバ装置２００が行うものとなっている。つまり、各ビデオゲーム装置１００からゲームに参加する、またはゲームを閲覧するためには、最初にサーバ装置２００に接続して、他のビデオゲーム装置１００とピアツーピアで情報を交換するために必要な情報を得なければならない。また、新たなビデオゲーム装置１００がゲームに参加する、またはゲームを閲覧する場合には、これと情報交換される既にゲームに参加しているビデオゲーム装置１００に必要な情報が通知されるものとなっている。
【００４１】
次に、ビデオゲーム装置１００及びサーバ装置２００の構成について説明する。図２は、図１のビデオゲーム装置１００の構成を示すブロック図である。図示するように、ビデオゲーム装置１００は、装置本体１０１を中心として構築される。この装置本体１０１は、その内部バス１１９に接続された制御部１０３、ＲＡＭ（Random Access Memory）１０５、ハードディスク・ドライブ（ＨＤＤ）１０７、サウンド処理部１０９、グラフィック処理部１１１、ＤＶＤ／ＣＤ−ＲＯＭドライブ１１３、通信インターフェイス１１５、及びインターフェイス部１１７を含む。
【００４２】
この装置本体１０１のサウンド処理部１０９は、スピーカーであるサウンド出力装置１２５に、グラフィック処理部１１１は、表示画面１２２を有する表示装置１２１に接続されている。ＤＶＤ／ＣＤ−ＲＯＭドライブ１１３には、記録媒体（本実施の形態では、ＤＶＤ−ＲＯＭまたはＣＤ−ＲＯＭ）１３１を装着し得る。通信インターフェイス１１５は、ネットワークに接続される。インターフェイス部１１７には、入力部（コントローラ）１６１とメモリーカード１６２とが接続されている。
【００４３】
制御部１０３は、ＣＰＵ（Central Processing Unit）やＲＯＭ（Read Only Memory）などを含み、ＨＤＤ１０７や記録媒体１３１上に格納されたプログラムを実行し、装置本体１０１の制御を行う。制御部１０３は、内部タイマを備えている。ＲＡＭ１０５は、制御部１０３のワークエリアである。ＨＤＤ１０７は、プログラムやデータを保存するための記憶領域である。サウンド処理部１０９は、制御部１０３により実行されているプログラムがサウンド出力を行うよう指示している場合に、その指示を解釈して、サウンド出力装置１２５にサウンド信号を出力する。
【００４４】
グラフィック処理部１１１は、制御部１０３から出力される描画命令に従って、フレームバッファ（フレームメモリ）１１２（図では、グラフィック処理部１１１の外側に描かれているが、グラフィック処理部１１１を構成するチップに含まれるＲＡＭ内に設けられる）に画像データを展開し、表示装置１２１の表示画面１２２上に画像を表示するビデオ信号を出力する。グラフィック処理部１１１から出力されるビデオ信号に含まれる画像の１フレーム時間は、例えば６０分の１秒である。
【００４５】
ＤＶＤ／ＣＤ−ＲＯＭドライブ１１３は、記録媒体１３１に対しプログラム及びデータの読み出しを行う。通信インターフェイス１１５は、ネットワークに接続され、他のコンピュータとの通信を行う。入力部１６１は、方向キー及び複数の操作ボタンを備える。方向キーは、入力の選択肢（上記した戦闘区など）から所望の選択肢を選んだり、プレイヤキャラクタの移動位置を選ぶために用いられる。操作ボタンは、方向キーによる選択を確定させるためのボタンを含む。
【００４６】
インターフェイス部１１７は、入力部１６１からの入力データをＲＡＭ１０５に出力し、制御部１０３がそれを解釈して演算処理を実施する。インターフェイス部１１７は、また、制御部１０３からの指示に基づいて、ＲＡＭ１０５に記憶されているゲームの進行状況を示すデータをメモリーカード１６２に保存させ、メモリーカード１６２に保存されている中断時のゲームのデータを読み出して、ＲＡＭ１０５に転送する。
【００４７】
ビデオゲーム装置１００でゲームを行うためのプログラム及びデータは、最初例えば記録媒体１３１に記憶されている。記録媒体１３１に記憶されているデータとしては、ゲーム空間（仮想３次元空間）に存在するオブジェクトを構成するためのグラフィックデータを含んでいる。記録媒体１３１に記憶されたプログラム及びデータは、実行時にＤＶＤ／ＣＤ−ＲＯＭドライブ１１３により読み出されて、ＲＡＭ１０５にロードされる。制御部１０３は、ＲＡＭ１０５にロードされたプログラム及びデータを処理し、描画命令をグラフィック処理部１１１に出力し、サウンド出力の指示をサウンド処理部１０９に出力する。制御部１０３が処理を行っている間の中間的なデータは、ＲＡＭ１０５に記憶される。
【００４８】
図３は、図１のサーバ装置２００の構成を示すブロック図である。図示するように、サーバ装置２００は、サーバ本体２０１を中心として構築される。サーバ本体２０１は、その内部バス２１９に接続された制御部２０３、ＲＡＭ２０５、ハード・ディスク・ドライブ（ＨＤＤ）２０７、ＤＶＤ／ＣＤ−ＲＯＭドライブ２１３、通信インターフェイス２１５を含む。ＤＶＤ／ＣＤ−ＲＯＭドライブ２１３には、記録媒体（ＤＶＤ−ＲＯＭまたはＣＤ−ＲＯＭ）２３１を装着し得る。
【００４９】
制御部２０３は、ＣＰＵ（Central Processing Unit）やＲＯＭ（Read Only Memory）などを含み、ＨＤＤ２０７や記録媒体２３１上に格納されたプログラムを実行し、サーバ装置２００の制御を行う。制御部２０３は、現在時刻を計時する内部タイマを備えている。ＲＡＭ２０５は、制御部２０３のワークエリアである。ＨＤＤ２０７は、プログラムやデータを保存するための記憶領域である。通信インターフェイス２１５は、ネットワーク３に接続され、ビデオゲーム装置１００のそれぞれとの通信を行う。
【００５０】
サーバ装置２００でネットワークゲームを行うためのプログラム及びデータは、最初例えば記録媒体２３１に記憶され、ここからＨＤＤ２０７にインストールされる。そして、このプログラム及びデータは実行時にＨＤＤ２０７から読み出されて、ＲＡＭ２０５にロードされる。制御部２０３は、ＲＡＭ２０５にロードされたプログラム及びデータを処理し、ビデオゲーム装置１００のそれぞれから送られてくるメッセージなどを元にネットワークゲームを進行させる。制御部２０３が処理を行っている間の中間的なデータは、ＲＡＭ２０５に記憶される。
【００５１】
次に、この実施の形態にかかるネットワークゲームを進行させるため、サーバ装置２００において管理されるデータについて説明する。図４は、この実施の形態にかかるネットワークゲームを実行させるためにサーバ装置２００において管理されるテーブル群を示す図である。このテーブル群のうちで、図４（ａ）は、このネットワークゲームのサービスを利用可能なビデオゲーム装置１００の接続情報を管理するための接続状況テーブルであり、図４（ｂ）は、ネットワークゲームの進行を管理するためのゲーム進行テーブルである。
【００５２】
図４（ａ）に示す接続状況テーブル３１０には、このネットワークゲームのサービスを現時点で利用しているかどうかに関わらず、利用することが可能なビデオゲーム装置１００毎に、ＩＤ３１１と、パスワード３１２と、ログイン日時３１３と、ログアウト日時３１４と、ＩＰアドレス３１５と、戦闘区区分３１６と、参加フラグ３１７と、閲覧先情報３１８とが登録される。
【００５３】
ＩＤ３１１は、ビデオゲーム装置１００（のプレイヤ）を一意に識別するための識別情報である。パスワード３１２は、このネットワークゲームのサービスを利用するための認証に用いられる。ログイン日時３１３は、当該ビデオゲーム装置１００（のプレイヤ）が、このネットワークゲームサービスを利用するためにサーバ装置２００にログインした日時を示す。各ビデオゲーム装置１００のプレイヤは、ログインの際に、ゲームの参加／閲覧の別と、参加／閲覧したい戦闘区を指定するものとなる。ゲームに参加する場合は、所属するチームも指定するものとなる。
【００５４】
ログアウト日時３１４は、当該ビデオゲーム装置１００（のプレイヤ）がログアウトした日時を示す。当該ビデオゲーム装置１００がフロントエンドサーバとなるビデオゲーム装置１４１、１５１、…として指定されていて一定の期間を越えて情報が受信されなければ、当該ビデオゲーム装置１００のサーバ装置２００とのデータリンクが設定不能であるものとして、強制的にログアウト処理が行われる。当該ビデオゲーム装置１００が他人の行っているゲームを閲覧するだけのビデオゲーム装置１４３、１５３、…であった場合、正式にログアウトすることなく閲覧を止めてしまうこともあり得、この場合にログイン日時３１３のみが登録され、ログアウト日時３１４が登録されないものとなるが、実用上の問題が生じることはない。
【００５５】
ＩＰアドレス３１５は、当該ビデオゲーム装置１００のネットワーク上におけるＩＰアドレスであり、サーバ装置２００とビデオゲーム装置１００との間、異なるビデオゲーム装置１００の間で情報を送受信するためのアドレスとして必要になるものである。戦闘区区分３１６は、当該ビデオゲーム装置１００がゲームに参加またはゲームを閲覧している戦闘区の区分を示すものである。当該ビデオゲーム装置１００がゲームに参加しているものである場合には、戦闘区区分３１６は、ビデオゲーム装置群１４０、１５０、…に対応したものとなる。
【００５６】
参加フラグ３１７は、当該ビデオゲーム装置１００（のプレイヤ）が他人のゲームを閲覧するだけのビデオゲーム装置１４３、１５３、…ではなく、ゲームに参加していてビデオゲーム装置群１４０、１５０、…を形成するビデオゲーム装置１４１、１４２、１５１、１５２、…である場合にセットされるフラグである。閲覧先情報３１８は、他人のゲームを閲覧するだけのビデオゲーム装置１４３、１５３、…である場合に、他人の行っているゲームを閲覧するためにビデオゲーム装置１４１、１４２、１５１、１５２、…のうちの何れに接続されているのかを示す情報である。
【００５７】
図４（ｂ）に示すゲーム進行テーブル３２０は、ビデオゲーム装置群１４０、１５０、…毎（戦闘区毎）のテーブル３２０Ａ、３２０Ｂ、…、３２０Ｘから構成されている。これらのテーブル３２０Ａ、３２０Ｂ、…、３２０Ｘに後述する情報が登録されるビデオゲーム装置１００は、ゲームに参加しているビデオゲーム装置１４１、１４２、１５１、１５２、…のみで、他人のゲームを閲覧しているだけのビデオゲーム装置１４３、１５３は含まれない。
【００５８】
各ビデオゲーム装置群１４０、１５０、…のゲーム進行テーブル３２０には、対応するビデオゲーム装置群１４０、１５０、…においてビデオゲーム装置１４１、１５１、…をフロントエンドサーバとして指定した日時、或いは指定した後にこれらから最後に情報を受信した日時３２１が登録される。また、各ビデオゲーム装置群１４０、１５０、…のゲーム進行テーブル３２０には、対応する戦闘区でのゲームに参加するビデオゲーム装置１００毎に、ＩＤ３２２と、フロントエンドフラグ３２３と、フロントエンドの指定日時３２４と、所属チーム３２５と、ゲームステータス３２６とが登録される。
【００５９】
ＩＤ３２２は、ビデオゲーム装置１００（のプレイヤ）を一意に識別するための識別情報である。フロントエンドフラグ３２３は、当該ビデオゲーム装置１００が現時点でフロントエンドサーバとなるビデオゲーム装置１４１、１５１、…として指定されている場合にセットされるフラグである。フロントエンドの指定日時３２４は、当該ビデオゲーム装置１００をフロントエンドとなるビデオゲーム装置１４１、１５１、…として指定したときの日時を示す。
【００６０】
所属チーム３２５は、当該ビデオゲーム装置１００（のプレイヤ）がゲームにおいて所属しているチームを示す。ゲームステータス３２６は、当該ビデオゲーム装置１００（のプレイヤ）によるゲームの進行状況に関する情報を示すもので、プレイヤキャラクタのマップ上における位置や各種パラメータの値などの情報を含む。
【００６１】
なお、ＩＤ３２２と所属チーム３２５は、当該ビデオゲーム装置１００のログインからログアウトまで同じ情報が登録されるが、フロントエンドフラグ３２３と指定日時３２４とは、サーバ装置２００の処理によって随時更新されるものとなっている。ゲームステータス３２６は、フロントエンドサーバとなるビデオゲーム装置１４１、１５１、…から送られてくるゲームの進行状況に関する情報に従って随時更新されるものとなっている。
【００６２】
次に、この実施の形態にかかるネットワークゲームの進行を概略的に説明する。図５、図６は、この実施の形態にかかるネットワークゲームの進行を模式的に示す図である。なお、ここで登場するビデオゲーム装置１００は、全てビデオゲーム装置群１４０に属する、またはビデオゲーム装置群１４０における他人のゲームを閲覧するものであるとして説明するものとする。
【００６３】
図５（ａ）に示すように、ゲームに参加していなかったビデオゲーム装置１００（Ａ）が新たにゲームに参加しようとする場合、プレイヤが参加／閲覧の別として参加を指定し、さらにゲームに参加する戦闘区と所属チームとを指定し、ＩＤ及びパスワードを入力して、ビデオゲーム装置１００（Ａ）からサーバ装置２００にログインを要求する。サーバ装置２００は、ログイン要求の際に送られてきたＩＤ及びパスワードを接続状況テーブル３１０に登録されているＩＤ３１１及びパスワード３１２と比較して、認証を行う。
【００６４】
認証の結果によりログインが受け付けられると、サーバ装置２００は、ビデオゲーム装置１００（Ａ）について接続状況テーブル３１０に登録されている参加フラグ３１７をセットし、また、指定された戦闘区のゲーム進行テーブル３２０に新たなレコードを作成し、当該ビデオゲーム装置１００（Ａ）のＩＤ３２２、所属チーム３２５、ゲームステータス３２６を登録する。
【００６５】
また、当該戦闘区のゲーム進行テーブル３２０においてフロントエンドフラグ３２３のセットされているビデオゲーム装置１４１（Ｂ）に、当該ビデオゲーム装置１００（Ａ）のＩＤ３１１及びＩＰアドレス３１５を通知するとともに、フロントエンドフラグ３２３のセットされているビデオゲーム装置１４１（Ｂ）のＩＤ３１１及びＩＰアドレス３１５を、当該ビデオゲーム装置１００（Ａ）に通知する。これにより、ビデオゲーム装置１００（Ａ）は、指定した戦闘区でゲームに参加できるビデオゲーム装置群１４０に属するビデオゲーム装置１４２（Ａ）となり、サーバ装置２００を介さずにビデオゲーム装置１４１（Ｂ）とビデオゲーム装置１４２（Ａ）との間で情報を送受信することができる。
【００６６】
その後、図５（ｂ）に示すように、ビデオゲーム装置群１４０に属するビデオゲーム装置１４１（Ｂ）とビデオゲーム装置１４２（Ａ）とは、サーバ装置２００を介することなくネットワークを介してピアツーピアでゲームに関する情報を送受信しながら、ゲームを進めるものとなる。より詳細に説明すると、ビデオゲーム装置１４２（Ａ）においてプレイヤが入力部１６１から入力した位置に基づくプレイヤキャラクタの移動位置に関する情報、ＡＩルーチンの実行に基づくプレイヤキャラクタの戦闘行動に関する情報が、フロントエンドサーバとなるビデオゲーム装置１４１（Ｂ）に集められる。
【００６７】
フロントエンドサーバとなるビデオゲーム装置１４１（Ｂ）は、さらにＡＩルーチンの実行によりノンプレイヤキャラクタの動作も決定し、プレイヤキャラクタ及びノンプレイヤキャラクタの動作に基づく各プレイヤキャラクタのパラメータの変化値を算出する。そして、ビデオゲーム装置１４２（Ａ）に対して、対応する戦闘区での各プレイヤキャラクタの動作（位置及び戦闘行動）に関する情報や、パラメータの変化値などの情報を送信する。
【００６８】
ビデオゲーム装置１４２（Ａ）は、フロントエンドサーバとなるビデオゲーム装置１４１（Ｂ）から送られてきた情報に従ってゲームの画像を生成し、表示画面１２２として表示させる。一方、フロントエンドサーバとなるビデオゲーム装置１４１（Ｂ）は、同じビデオゲーム装置群１４０に属するビデオゲーム装置１４２から送られてきた情報や自ら算出した情報に従ってゲームの画像を生成し、表示画面１２２として表示させる。
【００６９】
また、ビデオゲーム装置群１４０のうちでフロントエンドサーバとなるビデオゲーム装置１４１（Ｂ）だけは、ゲームの進行に必要な情報をネットワークを介して送受信するものとなる。より詳細に説明すると、フロントエンドサーバとなるビデオゲーム装置１４１（Ｂ）は、対応する戦闘区での各プレイヤキャラクタの位置やパラメータの変化値などを含むゲームステータスに関する情報をサーバ装置２００に送信する。サーバ装置２００は、フロントエンドサーバとなるビデオゲーム装置１４１（Ｂ）から受信したゲームステータスに関する情報に基づいて、ゲーム進行テーブル３２０に登録されているゲームステータス３２６を更新する。
【００７０】
サーバ装置２００は、また、他のビデオゲーム装置群１５０、…のゲームの進行状況がビデオゲーム装置群１４０でのゲームの進行に影響を及ぼすことがある場合など、そのゲームの進行を制御するために必要な情報をフロントエンドサーバとなるビデオゲーム装置１４１（Ｂ）に送信する。ビデオゲーム装置１４１（Ｂ）は、この情報が送られてきた場合には、これもビデオゲーム装置１４２（Ａ）に送信したり、この情報にも基づいてノンプレイヤキャラクタの動作や各プレイヤキャラクタのパラメータの変化値を算出したりするものとなる。
【００７１】
また、図５（ｃ）に示すように、サーバ装置２００は、現時点でフロントエンドサーバとなっているビデオゲーム装置１４１（Ｂ）についてゲーム進行テーブル３２０の指定日時３２４から所定時間を経過したかどうかを監視しており、所定時間を経過したものと判断すると、同じビデオゲーム装置群１４０に属する他のビデオゲーム装置１４２を新たにフロントエンドサーバとして指定するものとなる。
【００７２】
より詳細に説明すると、サーバ装置２００は、ゲーム進行テーブル３２０に登録されているがフロントエンドフラグ３２３のセットされていないビデオゲーム装置１４２のうちから何れかを所定の手法に従って選択する（ここでは、ビデオゲーム装置１４２（Ａ）が選択されたものとする）。
【００７３】
サーバ装置２００は、これまでフロントエンドサーバとして指定されていたビデオゲーム装置１４１（Ｂ）についてゲーム進行テーブル３２０に登録されているフロントエンドフラグ３２３をリセットするとともに、指定日時３２４を消去する。また、フロントエンドサーバの指定を解除するための指示をネットワークを介してビデオゲーム装置１４１（Ｂ）に送信する。フロントエンドサーバであったビデオゲーム装置１４１（Ｂ）は、この指示を受信すると、フロントエンドサーバではなくなり、ビデオゲーム装置群１４０においてフロントエンドサーバではないビデオゲーム装置１４２（Ｂ）となる。
【００７４】
サーバ装置２００は、また、新たに選択したビデオゲーム装置１４２（Ａ）についてゲーム進行テーブル３２０に登録されているフロントエンドフラグ３２３をセットするとともに、制御部２０３の内部タイマで計測されている現在日時を指定日時３２４として登録する。また、接続状況テーブル３１０に登録されているＩＰアドレス３１５を参照して、フロントエンドサーバに指定するための指示をビデオゲーム装置１４２（Ａ）に送信する。この指示には、ビデオゲーム装置群１４０に含まれる他の全てのビデオゲーム装置のＩＤ３１１及びＩＰアドレス３１５が含まれる。ビデオゲーム装置１４２（Ａ）は、この指示を受信すると、新たにフロントエンドサーバとなるビデオゲーム装置１４１（Ａ）となる。
【００７５】
その後、図５（ｄ）に示すように、ビデオゲーム装置群１４０に属するビデオゲーム装置１４１（Ａ）とビデオゲーム装置１４２（Ｂ）とは、サーバ装置２００を介することなくネットワークを介してピアツーピアでゲームに関する情報を送受信しながら、ゲームを進めるものとなる。また、ビデオゲーム装置群１４０のうちでフロントエンドサーバとなるビデオゲーム装置１４１（Ａ）だけは、ゲームの進行に必要な情報をネットワークを介して送受信するものとなる。ここでの処理は、フロントエンドサーバが入れ替わっている以外は、図５（ｂ）において説明したものと同じである。
【００７６】
図６（ａ）に示すように、ゲームを閲覧していなかったビデオゲーム装置１００が新たにゲームを閲覧しようとする場合、プレイヤが参加／閲覧の別として閲覧を指定し、さらにゲームを閲覧する戦闘区を指定し、ＩＤ及びパスワードを入力して、ビデオゲーム装置１００からサーバ装置２００にログインを要求する。サーバ装置２００は、ログイン要求の際に送られてきたＩＤ及びパスワードを接続状況テーブル３１０に登録されているＩＤ３１１及びパスワード３１２と比較して、認証を行う。
【００７７】
認証の結果によりログインが受け付けられると、サーバ装置２００は、戦闘区のゲーム進行テーブル３２０に登録されているビデオゲーム装置１４１、１４２から何れかを選択し、当該ビデオゲーム装置１００について接続状況テーブル３１０の閲覧先情報３１８に、選択したビデオゲーム装置１４１、１４２を特定可能な情報（ＩＤなど）を登録する。
【００７８】
また、当該戦闘区のゲーム進行テーブル３２０から選択されたビデオゲーム装置１４１、１４２に、当該ビデオゲーム装置１００のＩＤ３１１及びＩＰアドレス３１５を通知するとともに、選択されたビデオゲーム装置１４１、１４２のＩＤ３１１及びＩＰアドレス３１５を、当該ビデオゲーム装置１００に通知する。これにより、ビデオゲーム装置１００は、指定した戦闘区のゲームを閲覧できるビデオゲーム装置１４３となり、サーバ装置２００を介さずに選択されたビデオゲーム装置１４１、１４２から当該戦闘区でのゲームの進行状況に関する情報を受信することができるものとなる。ビデオゲーム装置１４３は、ビデオゲーム装置１４１、１４２から送られてきた情報に従ってゲームの画像を生成し、表示画面１２２として表示させる。
【００７９】
図６（ｂ）に示すように、フロントエンドサーバではないがゲームに参加しているビデオゲーム装置１４２からログアウト要求が受信されると、サーバ装置２００は、所定のログアウト処理を行うとともに、ログアウトが要求されたビデオゲーム装置１４２に関するレコードをゲーム進行テーブル３２０から削除するとともに、当該ビデオゲーム装置１４２のＩＤ３１１を、フロントエンドサーバとなっているビデオゲーム装置１４１に通知する。フロントエンドサーバとなるビデオゲーム装置１４１は、この通知がされたビデオゲーム装置１４２との情報交換を停止する。
【００８０】
また、ログアウトが要求されたビデオゲーム装置１４２を閲覧先情報３１８に設定しているビデオゲーム装置１４３がある場合には、サーバ装置２００は、同じビデオゲーム装置群１４０についてのゲーム進行テーブル３２０に登録されているビデオゲーム装置１４１、１４２から何れかを選択し、当該ビデオゲーム装置１００について接続状況テーブル３１０の閲覧先情報３１８に、選択したビデオゲーム装置１４１、１４２を特定可能な情報（ＩＤなど）を登録する。
【００８１】
また、当該戦闘区のゲーム進行テーブル３２０から選択されたビデオゲーム装置１４１、１４２に、当該ビデオゲーム装置１４３のＩＤ３１１及びＩＰアドレス３１５を通知するとともに、選択されたビデオゲーム装置１４１、１４２のＩＤ３１１及びＩＰアドレス３１５を、当該ビデオゲーム装置１００に通知する。これにより、ログアウトしたビデオゲーム装置１４２に接続してゲームを閲覧していたビデオゲーム装置１４３は、新たに選択されたビデオゲーム装置１４１、１４２に接続して指定した戦闘区のゲームを閲覧できるビデオゲーム装置１４３となる。
【００８２】
図６（ｃ）に示すように、現時点でフロントエンドサーバとして指定されているビデオゲーム装置１４１からログアウト要求が受信されると、サーバ装置２００は、所定のログアウト処理を行うとともに、ログアウトが要求されたビデオゲーム装置１４１に関するレコードをゲーム進行テーブル３２０から削除する。また、同じビデオゲーム装置群１４０に属する他のビデオゲーム装置１４２の中から何れかを新たなフロントエンドサーバとして選択する。
【００８３】
サーバ装置２００は、選択したビデオゲーム装置１４２について接続状況テーブル３１０に登録されているＩＰアドレス３１５を参照して、フロントエンドサーバに指定するための指示をビデオゲーム装置１４２に送信する。この指示には、ビデオゲーム装置群１４０に含まれる他の全てのビデオゲーム装置（ログアウト要求したものを除く）のＩＤ３１１及びＩＰアドレス３１５が含まれる。この指示を受信したビデオゲーム装置１４２は、新たにフロントエンドサーバとなるビデオゲーム装置１４１となる。
【００８４】
また、ログアウトが要求されたビデオゲーム装置１４１を閲覧先情報３１８に設定しているビデオゲーム装置１４３がある場合には、サーバ装置２００は、同じビデオゲーム装置群１４０についてのゲーム進行テーブル３２０に登録されているビデオゲーム装置１４１、１４２から何れかを選択し、当該ビデオゲーム装置１００について接続状況テーブル３１０の閲覧先情報３１８に、選択したビデオゲーム装置１４２を特定可能な情報（ＩＤなど）を登録する。
【００８５】
また、当該戦闘区のゲーム進行テーブル３２０から選択されたビデオゲーム装置１４１、１４２に、当該ビデオゲーム装置１４３のＩＤ３１１及びＩＰアドレス３１５を通知するとともに、選択されたビデオゲーム装置１４１、１４２のＩＤ３１１及びＩＰアドレス３１５を、当該ビデオゲーム装置１００に通知する。これにより、ログアウトしたビデオゲーム装置１４２に接続してゲームを閲覧していたビデオゲーム装置１４３は、新たに選択されたビデオゲーム装置１４１、１４２に接続して指定した戦闘区のゲームを閲覧できるビデオゲーム装置１４３となる。
【００８６】
図６（ｄ）に示すように、サーバ装置２００は、現時点でフロントエンドサーバとして指定されているビデオゲーム装置１４１から情報を受信する度に当該ビデオゲーム装置群１４０のゲーム進行テーブル３１０に登録されている最後に情報を受信した日時３２１を更新するとともに、登録されている日時３２１から所定時間を経過しても新たな情報が受信されていないかどうかを監視している。
【００８７】
サーバ装置２００は、登録されている日時３２１から所定時間を経過しても新たな情報が受信されていないときには、ビデオゲーム装置１４１との接続が切断されたものとして、ビデオゲーム装置１４１を強制的にログアウトさせる処理を行うとともに、当該ビデオゲーム装置１４１に関するレコードをゲーム進行テーブル３２０から削除する。また、同じビデオゲーム装置群１４０に属する他のビデオゲーム装置１４２の中から何れかを新たなフロントエンドサーバとして選択する。
【００８８】
サーバ装置２００は、選択したビデオゲーム装置１４２について接続状況テーブル３１０に登録されているＩＰアドレス３１５を参照して、フロントエンドサーバに指定するための指示をビデオゲーム装置１４２に送信する。この指示には、ビデオゲーム装置群１４０に含まれる他の全てのビデオゲーム装置のＩＤ３１１及びＩＰアドレス３１５が含まれる。この指示を受信したビデオゲーム装置１４２は、新たにフロントエンドサーバとなるビデオゲーム装置１４１となる。
【００８９】
また、ログアウトが要求されたビデオゲーム装置１４１を閲覧先情報３１８に設定しているビデオゲーム装置１４３がある場合には、サーバ装置２００は、同じビデオゲーム装置群１４０についてのゲーム進行テーブル３２０に登録されているビデオゲーム装置１４１、１４２から何れかを選択し、当該ビデオゲーム装置１００について接続状況テーブル３１０の閲覧先情報３１８に、選択したビデオゲーム装置１４２を特定可能な情報（ＩＤなど）を登録する。
【００９０】
また、当該戦闘区のゲーム進行テーブル３２０から選択されたビデオゲーム装置１４１、１４２に、当該ビデオゲーム装置１４３のＩＤ３１１及びＩＰアドレス３１５を通知するとともに、選択されたビデオゲーム装置１４１、１４２のＩＤ３１１及びＩＰアドレス３１５を、当該ビデオゲーム装置１００に通知する。これにより、ログアウトしたビデオゲーム装置１４２に接続してゲームを閲覧していたビデオゲーム装置１４３は、新たに選択されたビデオゲーム装置１４１、１４２に接続して指定した戦闘区のゲームを閲覧できるビデオゲーム装置１４３となる。
【００９１】
以下、この実施の形態にかかるネットワークシステムを構成するサーバ装置２００及びビデオゲーム装置１００において、それぞれ実行される処理について説明する。ビデオゲーム装置１００における処理は、ゲームに参加するビデオゲーム装置１４１、１４２、１５１、１５２、…である場合と、ゲームを閲覧するだけのビデオゲーム装置１４３、１５３、…である場合と異なるので、それぞれ別個に説明するものとする。
【００９２】
図７、図８は、サーバ装置２００において実行される処理を示すフローチャートである。サーバ装置２００の制御部２０３は、ネットワーク上の何れかのビデオゲーム装置１００から何らかの情報を受信したかどうかを判定している（ステップＳ１０１）。何れかのビデオゲーム装置１００から何らかの情報を受信していれば、制御部２０３は、受信した情報が何であるかを判定する（ステップＳ１０２）。
【００９３】
受信した情報が参加／閲覧の別として参加を指定したログイン要求であった場合には、制御部２０３は、ログイン要求とともに送られてきたＩＤ及びパスワードを接続状況テーブル３１０に登録されているＩＤ３１１及びパスワード３１２と比較して当該ビデオゲーム装置１００の認証を行う。認証が得られると、制御部２０３は、ログイン要求とともに送られてきたＩＤが示すビデオゲーム装置１００について、接続状況テーブル３１０のログイン日時３１３に現在日時を登録し、前回のログアウト時に登録されていたログアウト日時３１４を削除する。また、ログイン要求をしてきたビデオゲーム装置１００のＩＰアドレス３１５、戦闘区区分３１６を登録し、参加フラグ３１７をセットする。
【００９４】
さらに、制御部２０３は、ログイン要求において指定されていた戦闘区に対応したゲーム進行テーブル３２０に当該ビデオゲーム装置１００のレコードを作成し、ログイン要求とともにＩＤをＩＤ３２２として登録し、また、ログイン要求において指定されたチームを所属チーム３２５としてを登録する（ステップＳ１０３）。
【００９５】
次に、制御部２０３は、ログイン要求において指定されていた戦闘区に対応したゲーム進行テーブル３２０に、当該戦闘区でのゲームに参加している他のビデオゲーム装置１００に関する情報が登録されているかどうかを判定する（ステップＳ１０４）。当該戦闘区でのゲームに参加している他のビデオゲーム装置１００が未だ１つも登録されていなければ、制御部２０３は、ゲーム進行テーブル３２０においてログイン要求をしてきたビデオゲーム装置１００のフロントエンドフラグ３２３をセットし、指定日時３２４に現在日時を登録する（ステップＳ１０５）。制御部２０３は、さらに、当該ビデオゲーム装置１００に対してフロントエンドサーバに指定する旨を示す指示を送信する（ステップＳ１０６）。そして、ステップＳ１０１の処理に戻る。
【００９６】
当該戦闘区でのゲームに参加している他のビデオゲーム装置１００が登録されていれば、制御部２０３は、ログイン要求において指定されていた戦闘区に対応したゲーム進行テーブル３２０に登録されているビデオゲーム装置１００のうちで、フロントエンドフラグ３２３のセットされているビデオゲーム装置１００、すなわち現時点で当該戦闘区のビデオゲーム装置群においてフロントエンドサーバとして指定されているビデオゲーム装置１００を検索する（ステップＳ１０７）。
【００９７】
制御部２０３は、フロントエンドサーバとして指定されているビデオゲーム装置１００に、新たに当該戦闘区でのゲームに参加するビデオゲーム装置１００を特定可能な情報（ＩＤ３１１及びＩＰアドレス３１５を含む）を送信し（ステップＳ１０８）、新たに当該戦闘区でのゲームに参加するビデオゲーム装置１００に、フロントエンドサーバとして指定されているビデオゲーム装置１００を特定可能な情報（ＩＤ３１１及びＩＰアドレス３１５を含む）を送信する（ステップＳ１０９）。そして、ステップＳ１０１の処理に戻る。
【００９８】
受信した情報が参加／閲覧の別として閲覧を指定したログイン要求であった場合には、制御部２０３は、ログイン要求とともに送られてきたＩＤ及びパスワードを接続状況テーブル３１０に登録されているＩＤ３１１及びパスワード３１２と比較して当該ビデオゲーム装置１００の認証を行う。認証が得られると、制御部２０３は、ログイン要求とともに送られてきたＩＤが示すビデオゲーム装置１００について、接続状況テーブル３１０のログイン日時３１３に現在日時を登録し、前回のログアウト時に登録されていたログアウト日時３１４を削除する。また、ログイン要求をしてきたビデオゲーム装置１００のＩＰアドレス３１５を登録する（ステップＳ１１０）。
【００９９】
次に、制御部２０３は、ログイン要求において指定されていた戦闘区に対応したゲーム進行テーブル３２０に、当該戦闘区でのゲームに参加しているビデオゲーム装置１００に関する情報が登録されているかどうかを判定する（ステップＳ１１１）。当該戦闘区でのゲームに参加している他のビデオゲーム装置１００が未だ１つも登録されていなければ、そのままステップＳ１０１の処理に戻る。
【０１００】
当該戦闘区でのゲームに参加している他のビデオゲーム装置１００が登録されていれば、制御部２０３は、当該戦闘区に対応したゲーム進行テーブル３２０に登録されているビデオゲーム装置１００から何れかを閲覧先として選択し、選択したビデオゲーム１００を示す情報を、ログイン要求をしたビデオゲーム装置１００、すなわち新たにゲームを閲覧しようとするビデオゲーム装置１００の閲覧先情報３１８に登録する（ステップＳ１１２）。
【０１０１】
制御部２０３は、閲覧先として選択されたビデオゲーム装置１００に、新たに当該戦闘区でのゲームを閲覧するビデオゲーム装置１００を特定可能な情報（ＩＤ３１１及びＩＰアドレス３１５を含む）を送信し（ステップＳ１１３）、新たに当該戦闘区でのゲームを閲覧するビデオゲーム装置１００に、閲覧先として選択されたビデオゲーム装置１００を特定可能な情報（ＩＤ３１１及びＩＰアドレス３１５を含む）を送信する（ステップＳ１１４）。そして、ステップＳ１０１の処理に戻る。
【０１０２】
受信した要求がログアウト要求であった場合には、制御部２０３は、ログアウトを要求したビデオゲーム装置１００が現時点でフロントエンドサーバとして指定されている（すなわち、フロントエンドフラグ３２３がセットされている）かどうかを判定する（ステップＳ１１５）。
【０１０３】
フロントエンドサーバ１１５として指定されていれば、制御部２０３は、ログアウト要求をしたビデオゲーム装置１００と同じ戦闘区のゲーム進行テーブル３２０に登録されている他のビデオゲーム装置１００のうちから、何れかのビデオゲーム装置１００を新たにフロントエンドサーバとして選択し、選択したビデオゲーム装置１００についてゲーム進行テーブル３２０のフロントエンドフラグ３２３をセットするとともに、指定日時３２４に現在日時を登録する（ステップＳ１１６）。
【０１０４】
次に、制御部２０３は、新たにフロントエンドサーバとして指定されたビデオゲーム装置１００に対して、フロントエンドサーバに指定する旨を示す指示を送信するとともに、当該戦闘区でのゲームに参加している他の全てのビデオゲーム装置１００を特定可能な情報（ＩＤ３１１及びＩＰアドレス３１５を含む）を送信する（ステップＳ１１７）。また、当該戦闘区でのゲームに参加している他の全てのビデオゲーム装置１００に、新たにフロントエンドサーバとして指定されたビデオゲーム装置１００を特定可能な情報（ＩＤ３１１及びＩＰアドレス３１５を含む）を送信する（ステップＳ１１８）。そして、ステップＳ１２１の処理に進む。
【０１０５】
ログアウトを要求したビデオゲーム装置１００が現時点でフロントエンドサーバとして指定されていない場合には、制御部２０３は、ログアウト要求をしたビデオゲーム装置１００がフロントエンドサーバとして指定されていないゲームに参加するビデオゲーム装置１００であるかどうかを判定する（ステップＳ１１９）。ゲームに参加するビデオゲーム装置１００であった場合には、制御部２０３は、フロントエンドサーバとして指定されているビデオゲーム装置１００に、ログアウト要求をしたビデオゲーム装置１００を特定可能な情報を送信する（ステップＳ１２０）。そして、ステップＳ１２１の処理に進む。
【０１０６】
ステップＳ１２１では、制御部２０３は、ログアウト要求をしたビデオゲーム装置１００について接続状況テーブル３１０のログアウト日時３１４として現在日時を登録して、当該ビデオゲーム装置１００をログアウトさせる処理を行う。また、制御部２０３は、当該ログアウト要求をしたビデオゲーム装置１００のレコードを、ゲーム進行テーブル３２０から削除する。
【０１０７】
その後、制御部２０３は、ここでログアウトされたビデオゲーム装置１００を閲覧先情報３１８に登録している他のビデオゲーム装置１００があるかどうかを判定する（ステップＳ１２２）。ログアウトされたビデオゲーム装置１００を閲覧先情報３１８に登録している他のビデオゲーム装置１００がなければ、そのままステップＳ１０１の処理に戻る。
【０１０８】
ログアウトされたビデオゲーム装置１００を閲覧先情報３１８として登録している他のビデオゲーム装置１００があれば、制御部２０３は、ログアウトされたビデオゲーム１００が登録されていたのと同じゲーム進行テーブル３２０に他のビデオゲーム装置１００が登録されているか、すなわち該当する戦闘区でのゲームに参加しているビデオゲーム装置１００が未だ他にあるかどうかを判定する（ステップＳ１２３）。該当する戦闘区でのゲームに参加しているビデオゲーム装置１００がなければ、そのままステップＳ１０１の処理に戻る。
【０１０９】
該当する戦闘区でのゲームに参加しているビデオゲーム装置１００が未だ他にあれば、制御部２０３は、ログアウトされたビデオゲーム装置１００が登録されていたのと同じゲーム進行テーブル３２０に登録されているビデオゲーム装置１００から何れかを閲覧先として選択し、選択したビデオゲーム１００を示す情報を、ログアウトされたビデオゲーム装置１００を閲覧先としていたビデオゲーム装置１００の閲覧先情報３１８に新たに登録する（ステップＳ１２４）。
【０１１０】
制御部２０３は、閲覧先として選択されたビデオゲーム装置１００に、ログアウトされたビデオゲーム装置１００を閲覧先としていたビデオゲーム装置１００を特定可能な情報（ＩＤ３１１及びＩＰアドレス３１５を含む）を送信し（ステップＳ１２５）、ログアウトされたビデオゲーム装置１００を閲覧先としていたビデオゲーム装置１００に、閲覧先として選択されたビデオゲーム装置１００を特定可能な情報（ＩＤ３１１及びＩＰアドレス３１５を含む）を送信する（ステップＳ１２６）。そして、ステップＳ１０１の処理に戻る。
【０１１１】
ログアウト要求をしたビデオゲーム装置１００が、ゲームを閲覧するだけのビデオゲーム装置１００であった場合には、制御部２０３は、当該ログアウト要求をしたビデオゲーム装置１００の閲覧先情報３１８に登録されているビデオゲーム装置１００に、ログアウト要求をした、すなわちゲームの閲覧を停止するものとしたビデオゲーム装置１００を特定可能な情報を送信する（ステップＳ１２７）。さらに、制御部２０３は、ログアウト要求をしたビデオゲーム装置１００について接続状況テーブル３１０のログアウト日時３１４として現在日時を登録して、当該ビデオゲーム装置１００をログアウトさせる処理を行う（ステップＳ１２８）。
【０１１２】
受信した情報がフロントエンドサーバとして指定されたビデオゲーム装置１００から送られてきたゲーム情報であった場合には、制御部２０３は、当該ゲーム情報を送信したビデオゲーム装置１００が属するビデオゲーム装置群に対応したゲーム進行テーブル３２０の最終受信日時３２１を現在日時に更新する（ステップＳ１２９）。制御部２０３は、さらに受信したゲーム情報に従って、当該ゲーム情報を送信したビデオゲーム装置１００が属するビデオゲーム装置群に対応したゲーム進行テーブル３２０に登録されている各ビデオゲーム装置１００のゲームステータス３２６を更新する（ステップＳ１３０）。そして、ステップＳ１０１の処理に戻る。
【０１１３】
受信した情報がその他の情報であった場合には、制御部２０３は、受信した情報に応じてそれぞれ所定の処理を行う（ステップＳ１３１）。この処理は、本発明に直接的な関わりがあるものでもないため、詳細な説明を省略する。
【０１１４】
ステップＳ１０１において何れのビデオゲーム装置１００からも情報を受信していないと判定された場合には、制御部２０３は、戦闘区毎のゲーム進行テーブル３２０にフロントエンドフラグ３２３の設定されているビデオゲーム装置１００について登録されている各指定日時３２４から現在までの経過時間が所定時間となったものがあるかどうか、すなわちフロントエンドサーバに指定されてから所定時間の経過したビデオゲーム装置１００があるかどうかを判定する（ステップＳ１３２）。
【０１１５】
フロントエンドサーバに指定されてから所定時間の経過したビデオゲーム装置１００があれば、制御部２０３は、これと同じ戦闘区のゲーム進行テーブル３２０に登録されている他のビデオゲーム装置１００のうちから、何れかのビデオゲーム装置１００を新たにフロントエンドサーバとして選択し、選択したビデオゲーム装置１００についてゲーム進行テーブル３２０のフロントエンドフラグ３２３をセットするとともに、指定日時３２４に現在日時を登録する（ステップＳ１３３）。
【０１１６】
次に、制御部２０３は、新たにフロントエンドサーバとして指定されたビデオゲーム装置１００に対して、フロントエンドサーバに指定する旨を示す指示を送信するとともに、当該戦闘区でのゲームに参加している他の全てのビデオゲーム装置１００を特定可能な情報（ＩＤ３１１及びＩＰアドレス３１５を含む）を送信する（ステップＳ１３４）。また、制御部２０３は、これまでフロントエンドサーバとして指定されていたビデオゲーム装置１００に、フロントエンドサーバの指定を解除する旨の指示を送信する（ステップＳ１３５）。
【０１１７】
さらに、当該戦闘区でのゲームに参加している他の全てのビデオゲーム装置１００に、新たにフロントエンドサーバとして指定されたビデオゲーム装置１００を特定可能な情報（ＩＤ３１１及びＩＰアドレス３１５を含む）を送信する（ステップＳ１３６）。そして、ステップＳ１０１の処理に戻る。
【０１１８】
フロントエンドサーバに指定されてから所定時間の経過したビデオゲーム装置１００がなければ、制御部２０３は、戦闘区毎のゲーム進行テーブル３２０に登録されている最終受信日時３２１から現在までの経過時間が所定時間となったものがあるかどうか、すなわちフロントエンドサーバに指定しているビデオゲーム装置１００から最後に情報を受信してから所定時間を経過したかどうかを判定する（ステップＳ１３７）。
【０１１９】
フロントエンドサーバに指定しているビデオゲーム装置１００から最後に情報を受信してから所定時間を経過していれば、制御部２０３は、当該戦闘区において現時点までフロントエンドサーバとして指定されていたビデオゲーム装置１００を強制的にログアウトさせる処理を行う。具体的には、接続状況テーブル３１０における当該ビデオゲーム装置１００のログアウト日時３１４に現在日時を登録する（ステップＳ１３８）。
【０１２０】
次に、制御部２０３は、当該戦闘区のゲーム進行テーブル３２０に登録されている他のビデオゲーム装置１００のうちから、何れかのビデオゲーム装置１００を新たにフロントエンドサーバとして選択し、選択したビデオゲーム装置１００についてゲーム進行テーブル３２０のフロントエンドフラグ３２３をセットするとともに、指定日時３２４に現在日時を登録する（ステップＳ１３９）。
【０１２１】
次に、制御部２０３は、新たにフロントエンドサーバとして指定されたビデオゲーム装置１００に対して、フロントエンドサーバに指定する旨を示す指示を送信するとともに、当該戦闘区でのゲームに参加している他の全てのビデオゲーム装置１００を特定可能な情報（ＩＤ３１１及びＩＰアドレス３１５を含む）を送信する（ステップＳ１４０）。また、当該戦闘区でのゲームに参加している他の全てのビデオゲーム装置１００に、新たにフロントエンドサーバとして指定されたビデオゲーム装置１００を特定可能な情報（ＩＤ３１１及びＩＰアドレス３１５を含む）を送信する（ステップＳ１４１）。
【０１２２】
次に、制御部２０３は、ここで強制的にログアウトされたビデオゲーム装置１００を閲覧先情報３１８に登録している他のビデオゲーム装置１００があるかどうかを判定する（ステップＳ１４２）。強制的にログアウトされたビデオゲーム装置１００を閲覧先情報３１８に登録している他のビデオゲーム装置１００がなければ、そのままステップＳ１０１の処理に戻る。
【０１２３】
強制的にログアウトされたビデオゲーム装置１００を閲覧先情報３１８として登録している他のビデオゲーム装置１００があれば、制御部２０３は、ログアウトされたビデオゲーム１００が登録されていたのと同じゲーム進行テーブル３２０に他のビデオゲーム装置１００が登録されているか、すなわち該当する戦闘区でのゲームに参加しているビデオゲーム装置１００が未だ他にあるかどうかを判定する（ステップＳ１４３）。該当する戦闘区でのゲームに参加しているビデオゲーム装置１００がなければ、そのままステップＳ１０１の処理に戻る。
【０１２４】
該当する戦闘区でのゲームに参加しているビデオゲーム装置１００が未だ他にあれば、制御部２０３は、強制的にログアウトされたビデオゲーム装置１００が登録されていたのと同じゲーム進行テーブル３２０に登録されているビデオゲーム装置１００から何れかを閲覧先として選択し、選択したビデオゲーム１００を示す情報を、強制的にログアウトされたビデオゲーム装置１００を閲覧先としていたビデオゲーム装置１００の閲覧先情報３１８に新たに登録する（ステップＳ１４４）。
【０１２５】
制御部２０３は、閲覧先として選択されたビデオゲーム装置１００に、強制的にログアウトされたビデオゲーム装置１００を閲覧先としていたビデオゲーム装置１００を特定可能な情報（ＩＤ３１１及びＩＰアドレス３１５を含む）を送信し（ステップＳ１４５）、強制的にログアウトされたビデオゲーム装置１００を閲覧先としていたビデオゲーム装置１００に、閲覧先として選択されたビデオゲーム装置１００を特定可能な情報（ＩＤ３１１及びＩＰアドレス３１５を含む）を送信する（ステップＳ１４６）。そして、ステップＳ１０１の処理に戻る。
【０１２６】
フロントエンドサーバに指定しているビデオゲーム装置１００から最後に情報を受信してから所定時間を経過していなければ、制御部２０３は、各戦闘区におけるゲームの進行に影響を及ぼす何らかの事象が発生したかどうかを判定する（ステップＳ１４７）。この各戦闘区におけるゲームの進行に影響を及ぼす事象は、例えば、内部タイマによって計時している現在日時が所定の日時となったり、ステップＳ１３０で更新したゲームステータス３２６が所定の状態となること等により発生し得る。
【０１２７】
何れかの戦闘区におけるゲームの進行に影響を及ぼす何らかの事象が発生していれば、制御部２０３は、そのような事象の発生した戦闘区についてフロントエンドサーバとして指定されたビデオゲーム装置１００に、その影響に応じたゲーム制御情報を送信する（ステップＳ１４８）。そして、ステップＳ１０１の処理に戻る。何れの戦闘区においてもゲームの進行に影響を及ぼす事象が発生していなければ、そのままステップＳ１０１の処理に戻る。
【０１２８】
図９、図１０は、ゲームに参加するビデオゲーム装置１００（１４１、１４２、１５１、１５２、…）において実行される処理を示すフローチャートである。ビデオゲーム装置１００は、ゲームに参加するには参加／閲覧の別として参加を指定し、さらにゲームに参加する戦闘区と所属チームとを指定してサーバ装置２００にログインし、また、ゲームへの参加を停止するにはサーバ装置２００からログアウトする（強制的にログアウトされる場合を含む）必要があるが、ここでは、ログインの後、ログアウトする前までにおいて行われる処理について説明する。
【０１２９】
ゲームに参加するビデオゲーム装置１００の制御部１０３は、ステップＳ１０６、Ｓ１１７、Ｓ１３４またはＳ１４０でサーバ装置２００から送信されたフロントエンドサーバに指定する旨の指示を受信したかどうかを判定する（ステップＳ２０１）。
【０１３０】
フロントエンドサーバに指定する旨の指示を受信していなければ、制御部１０３は、ステップＳ１０９、Ｓ１１８、Ｓ１３６またはＳ１４１でサーバ装置２００から送信されたフロントエンドサーバとして指定されている他のビデオゲーム装置１００を特定可能な情報を受信したかどうかを判定する（ステップＳ２０２）。フロントエンドサーバとして指定されている他のビデオゲーム装置１００を特定可能な情報を受信した場合には、制御部１０３は、当該フロントエンドサーバに関する情報をＲＡＭ１０５に保存する（ステップＳ２０３）。そして、ステップＳ２０１の処理に戻る。
【０１３１】
フロントエンドサーバとして指定されている他のビデオゲーム装置１００を特定可能な情報を受信していなければ、制御部１０３は、ステップＳ１１３、Ｓ１２５またはＳ１４５でサーバ装置２００から送信されたゲームを閲覧するビデオゲーム装置１００を特定可能な情報を受信したかどうかを判定する（ステップＳ２０４）。ゲームを閲覧するビデオゲーム装置１００を特定可能な情報を受信した場合には、制御部１０３は、当該ゲームを閲覧するビデオゲーム装置１００に関する情報をＲＡＭ１０５に保存する（ステップＳ２０５）。そして、ステップＳ２０１の処理に戻る。
【０１３２】
ゲームを閲覧するビデオゲーム装置１００を特定可能な情報を受信していなければ、制御部１０３は、ステップＳ１２７でサーバ装置２００から送信されたゲームの閲覧を停止するものとしたビデオゲーム装置１００を特定可能な情報を受信したかどうかを判定する（ステップＳ２０６）。ゲームの閲覧を停止するものとしたビデオゲーム装置１００を特定可能な情報を受信していた場合には、制御部１０３は、ゲームを閲覧するものしてＲＡＭ１０５に保存されている当該ビデオゲーム装置１００に関する情報を消去する（ステップＳ２０７）。そして、ステップＳ２０１の処理に戻る。
【０１３３】
ゲームの閲覧を停止するものとしたビデオゲーム装置１００を特定可能な情報を受信していなければ、制御部１０３は、後述するステップＳ２３５においてフロントエンドサーバとして指定されている他のビデオゲーム装置１００から送信されたゲーム情報を受信したかどうかを判定する（ステップＳ２０８）。ゲーム情報を受信していれば、制御部１０３は、受信したゲーム情報に従って各プレイヤキャラクタ及びノンプレイヤキャラクタを動作させ、表示画面１２２に表示させる（ステップＳ２０９）。
【０１３４】
次に、制御部１０３は、ゲームを閲覧するだけのビデオゲーム装置１００に関する情報がＲＡＭ１０５に保存されているかどうかを判定する（ステップＳ２１０）。ゲームを閲覧するだけのビデオゲーム装置１００に関する情報が保存されていれば、制御部１０３は、当該情報が示す他のビデオゲーム装置１００にゲーム情報を送信する（ステップＳ２１１）。そして、ステップＳ２０１の処理に戻る。ゲームを閲覧するだけのビデオゲーム装置１００に関する情報が保存されていなければ、そのままステップＳ２０１の処理に戻る。
【０１３５】
フロントエンドサーバとして指定されているビデオゲーム装置１００からゲーム情報を受信していなければ、制御部１０３は、入力部１６１からプレイヤキャラクタの移動位置を指定する入力がされたかどうかを判定する（ステップＳ２１２）。プレイヤキャラクタの移動位置を指定する入力がされていれば、制御部１０３は、該入力された位置をＲＡＭ１０５に保存する（ステップＳ２１３）。そして、ステップＳ２１４の処理に進む。プレイヤキャラクタの移動位置を指定する入力がされていなければ、そのままステップＳ２１４の処理に進む。
【０１３６】
ステップＳ２１４では、制御部１０３は、プレイヤキャラクタの移動位置としてＲＡＭ１０５に保存されている位置とプレイヤキャラクタの現在のマップ上の位置とが同じであるかどうかを判定する。保存されている位置と現在の位置が異なれば、制御部１０３は、保存されている位置に向けて、プレイヤキャラクタを所定量だけ移動させる（ステップＳ２１５）。そして、ステップＳ２１６の処理に進む。保存されている位置と現在の位置が同じであるか、プレイヤキャラクタの移動位置そのものが保存されていなければ、そのままステップＳ２１６の処理に進む。
【０１３７】
ステップＳ２１６では、制御部１０３は、自分のプレイヤキャラクタの現在の位置、フロントエンドサーバとして指定されてる他のビデオゲーム装置１００から受信したゲーム情報により示される他のキャラクタ（他のプレイヤのプレイヤキャラクタ及びノンプレイヤキャラクタ）の位置に基づいて、プレイヤキャラクタがとるべき戦闘行動（何もしない場合もあり）を決定する。制御部１０３は、プレイヤキャラクタのマップ上の位置とプレイヤキャラクタの戦闘行動とを示す情報を、フロントエンドサーバとして指定されている他のビデオゲーム装置１００に送信する（ステップＳ２１７）。そして、ステップＳ２０１の処理に戻る。
【０１３８】
ステップＳ２０１でフロントエンドサーバに指定する旨の指示を受信していれば、制御部１０３は、当該指示とともにサーバ装置２００から送られてきた当該戦闘区でのゲームに参加している他の全てのビデオゲーム装置１００を特定可能な情報をＲＡＭ１０５に保存する（ステップＳ２１８）。次に、制御部１０３は、ステップＳ１３５でサーバ装置２００から送信されたフロントエンドサーバの指定を解除する旨の指示を受信したかどうかを判定する（ステップＳ２１９）。
【０１３９】
フロントエンドサーバの指定を解除する旨の指示を受信していなければ、制御部１０３は、ステップＳ１２０で同じビデオゲーム装置群に属する他のビデオゲーム装置１００から送信されたログアウト要求した（すなわち、ゲームの参加の停止を要求した）ビデオゲーム装置１００を特定可能な情報を受信したかどうかを判定する（ステップ２２０）。ゲームの参加の停止を要求したビデオゲーム装置１００を特定可能な情報を受信していれば、制御部１０３は、当該参加の停止を要求したビデオゲーム装置１００に関する情報をＲＡＭ１０５から消去する（ステップＳ２２１）。そして、ステップＳ２１９の処理に戻る。
【０１４０】
参加の停止を要求したビデオゲーム装置１００を特定可能な情報を受信していなければ、制御部１０３は、ステップＳ１１３、Ｓ１２５またはＳ１４５でサーバ装置２００から送信されたゲームを閲覧するビデオゲーム装置１００を特定可能な情報を受信したかどうかを判定する（ステップＳ２２２）。ゲームを閲覧するビデオゲーム装置１００を特定可能な情報を受信した場合には、制御部１０３は、当該ゲームを閲覧するビデオゲーム装置１００に関する情報をＲＡＭ１０５に保存する（ステップＳ２２３）。そして、ステップＳ２１９の処理に戻る。
【０１４１】
ゲームを閲覧するビデオゲーム装置１００を特定可能な情報を受信していなければ、制御部１０３は、ステップＳ１２７でサーバ装置２００から送信されたゲームの閲覧を停止するものとしたビデオゲーム装置１００を特定可能な情報を受信したかどうかを判定する（ステップＳ２２４）。ゲームの閲覧を停止するものとしたビデオゲーム装置１００を特定可能な情報を受信していた場合には、制御部１０３は、ゲームを閲覧するものしてＲＡＭ１０５に保存されている当該ビデオゲーム装置１００に関する情報を消去する（ステップＳ２２５）。そして、ステップＳ２１９の処理に戻る。
【０１４２】
ゲームの閲覧を停止するものとしたビデオゲーム装置１００を特定可能な情報を受信していなければ、制御部１０３は、ステップＳ１４８でサーバ装置２００から送信されたゲーム制御情報を受信したかどうかを判定する（ステップＳ２２６）。ゲーム制御情報を受信していれば、ステップＳ２３３の処理に進む。
【０１４３】
ゲーム制御情報を受信していなければ、制御部１０３は、ステップＳ２１７で同じビデオゲーム装置群に属する他のビデオゲーム装置１００から送信された当該プレイヤのプレイヤキャラクタのマップ上の位置とプレイヤキャラクタの戦闘行動とを示す情報を受信したかどうかを判定する（ステップＳ２２７）。当該プレイヤのプレイヤキャラクタのマップ上の位置とプレイヤキャラクタの戦闘行動とを示す情報を受信していれば、ステップＳ２３３の処理に進む。
【０１４４】
当該プレイヤのプレイヤキャラクタのマップ上の位置とプレイヤキャラクタの戦闘行動とを示す情報を受信していなければ、制御部１０３は、入力部１６１からプレイヤキャラクタの移動位置を指定する入力がされたかどうかを判定する（ステップＳ２２８）。プレイヤキャラクタの移動位置を指定する入力がされていれば、制御部１０３は、該入力された位置をＲＡＭ１０５に保存する（ステップＳ２２９）。そして、ステップＳ２３０の処理に進む。プレイヤキャラクタの移動位置を指定する入力がされていなければ、そのままステップＳ２３０の処理に進む。
【０１４５】
ステップＳ２３０では、制御部１０３は、プレイヤキャラクタの移動位置としてＲＡＭ１０５に保存されている位置とプレイヤキャラクタの現在のマップ上の位置とが同じであるかどうかを判定する。保存されている位置と現在の位置が異なれば、制御部１０３は、保存されている位置に向けて、プレイヤキャラクタを所定量だけ移動させる（ステップＳ２３１）。そして、ステップＳ２３２の処理に進む。保存されている位置と現在の位置が同じであるか、プレイヤキャラクタの移動位置そのものが保存されていなければ、そのままステップＳ２３２の処理に進む。
【０１４６】
ステップＳ２３２では、制御部１０３は、自分のプレイヤキャラクタの現在の位置、フロントエンドサーバとして指定されている他のビデオゲーム装置１００から受信したゲーム情報により示される他のキャラクタ（他のプレイヤのプレイヤキャラクタ及びノンプレイヤキャラクタ）の位置に基づいて、プレイヤキャラクタがとるべき戦闘行動（何もしない場合もあり）を決定する。そして、ステップＳ２３３の処理に進む。
【０１４７】
ステップＳ２３３では、制御部１０３は、入力部１６１からの入力に基づいて決定された自己のプレイヤキャラクタの位置と戦闘行動、他の各プレイヤのビデオゲーム装置１００から受信した情報が示すプレイヤキャラクタの位置と戦闘行動、及びサーバ装置２００から受信したゲーム制御情報に従って、ノンプレイヤキャラクタの動作を決定する。
【０１４８】
次に、制御部１０３は、入力部１６１からの入力に基づいて決定された自己のプレイヤキャラクタの位置と戦闘行動、他の各プレイヤのビデオゲーム装置１００から受信した情報が示すプレイヤキャラクタの位置と戦闘行動、並びにノンプレイヤキャラクタについて決定した動作を示すゲーム情報を、サーバ装置２００に送信する（ステップＳ２３４）。制御部１０３は、また、このゲーム情報を、同じビデオゲーム装置群に属する他のビデオゲーム装置１００にも送信する（ステップＳ２３５）。
【０１４９】
さらに、制御部１０３は、入力部１６１からの入力に基づいて決定された自己のプレイヤキャラクタの位置と戦闘行動、他の各プレイヤのビデオゲーム装置１００から受信した情報が示すプレイヤキャラクタの位置と戦闘行動、並びにノンプレイヤキャラクタについて決定した動作に従って各プレイヤキャラクタ及びノンプレイヤキャラクタを動作させ、表示画面１２２に表示させる（ステップＳ２３６）。
【０１５０】
その後、制御部１０３は、ゲームを閲覧するだけのビデオゲーム装置１００に関する情報がＲＡＭ１０５に保存されているかどうかを判定する（ステップＳ２３７）。ゲームを閲覧するだけのビデオゲーム装置１００に関する情報が保存されていれば、制御部１０３は、当該情報が示す他のビデオゲーム装置１００にゲーム情報を送信する（ステップＳ２３８）。そして、ステップＳ２１９の処理に戻る。ゲームを閲覧するだけのビデオゲーム装置１００に関する情報が保存されていなければ、そのままステップＳ２１９の処理に戻る。
【０１５１】
ステップＳ２１９でフロントエンドサーバの指定を解除する旨の指示を受信していれば、制御部１０３は、ステップＳ２１８でＲＡＭ１０５に保存した当該戦闘区でのゲームに参加している他の全てのビデオゲーム装置１００を特定可能な情報を消去する（ステップＳ２３９）。そして、ステップＳ２０２の処理に進むものとなる。
【０１５２】
一方、ゲームを閲覧するだけのビデオゲーム装置１００（１４３、１５３、…）では、参加／閲覧の別として閲覧を指定し、さらにゲームを閲覧する戦闘区を指定してサーバ装置２００にログインする。ゲームを閲覧するだけのビデオゲーム装置１００は、サーバ装置２００にログインすると、ステップＳ１２６で送信されたゲームを閲覧するために接続されるビデオゲーム装置１００（１４１、１４２、１５１、１５２、…）を特定可能な情報がサーバ装置２００から送られてくるので、これをＲＡＭ２０５などに登録しておく。
【０１５３】
ゲームを閲覧するだけのビデオゲーム装置１００は、ステップＳ２１０でゲームを閲覧するために接続されるビデオゲーム装置１００から送信されたゲーム情報を受信すると、受信したゲーム情報に従って各プレイヤキャラクタ及びノンプレイヤキャラクタを動作させ、表示画面１２２に表示させる。また、ゲームの閲覧を停止するときには、サーバ装置２００に対してログアウトを要求することができる。
【０１５４】
以上説明したように、この実施の形態にかかるネットワークゲームでは、複数のプレイヤが自己のビデオゲーム装置１００の入力部１６１を操作してゲームに参加し、サーバ装置２００においてゲームの全体の進行が管理されるものとなっている。より具体的には、サーバ装置２００は、ネットワークゲームのサービスを利用可能な各ビデオゲーム装置１００の接続状況を管理するための接続情報テーブル３１０と、現時点でゲームに参加している各ビデオゲーム装置１００におけるゲームの進行状況を管理するためのゲーム進行テーブル３２０を有していて、複数のプレイヤの参加によって進行するゲームの全体を一元的に管理するものとなっている。
【０１５５】
もっとも、サーバ装置２００は、ゲームに参加している各ビデオゲーム装置１００と直接的に情報を交換したり、ノンプレイヤキャラクタの動作を決定したりすることはない。ゲームは、戦闘区毎に進行されるものとなっているが、サーバ装置２００は、戦闘区毎に（ビデオゲーム装置群１４０、１５０、…毎に）、何れか１つのビデオゲーム装置をフロントエンドサーバとなるビデオゲーム装置１４１として指定するものとしている。
【０１５６】
各戦闘区におけるゲームを進行するための処理のうちでノンプレイヤキャラクタの動作の決定や、各プレイヤキャラクタのパラメータの変化値の算出は、戦闘区毎に設定されたビデオゲーム装置群１４０、１５０、…のうちでフロントエンドサーバとして指定されたビデオゲーム装置１４１、１５１、…が行うものとしている。また、ビデオゲーム装置群１４０、１５０、…に属するビデオゲーム装置１００の間でのゲームの進行に関する情報の送受信も、フロントエンドサーバとして指定されたビデオゲーム装置１４１が制御するものとしている。サーバ装置２００は、これらの処理を行う必要が全くない。このため、サーバ装置２００に多大な処理負荷をかけることなく、複数のプレイヤが各自のビデオゲーム装置１００から参加するネットワークゲームを実現することができるものとなる。
【０１５７】
また、サーバ装置２００は、各プレイヤによるゲームの進行状況を管理するためには、各々のビデオゲーム装置１００で行われているゲームの進行状況に関する情報を収集する必要があるが、このような情報をサーバ装置２００に送信するのも、ビデオゲーム装置群１４０、１５０、…のうちでフロントエンドサーバとして指定されたビデオゲーム装置１４１、１５１、…だけである。このため、ゲームの進行状況に関する情報を各ビデオゲーム装置１００から個別にサーバ装置２００に送信するよりも、通信トラフィックを軽減することができ、また、ネットワークやサーバ装置２００にかかる処理負荷を軽減することができる。
【０１５８】
また、フロントエンドサーバとして指定されたビデオゲーム装置１４１、１５１、…は、ノンプレイヤキャラクタの動作の決定や各プレイヤキャラクタのパラメータの変化値の算出、ビデオゲーム装置群１４０、１５０、…に属するビデオゲーム装置１００の間でのゲームの進行に関する情報の送受信の制御、サーバ装置２００へのゲームの進行状況に関する情報の送信の何れも行うものとしている。このため、サーバ装置２００は、ビデオゲーム装置群１４０、１５０、…に属するビデオゲーム装置１４０のうちから何れかを容易に指定することができる。
【０１５９】
さらに、ビデオゲーム装置群１４０、１５０、…に属する複数のビデオゲーム装置のうちでフロントエンドサーバとして指定されるビデオゲーム装置１４１は、所定時間毎に変更されるものとなっている。このため、ある時点でフロントエンドサーバとして指定されているビデオゲーム装置１４１に不正アクセスし、ゲームにおける不正行為を行った者がいたとしても、それとは別のビデオゲーム装置が新たにフロントエンドサーバとして指定されれば、そのような不正行為が無駄なものとなってしまう。このため、ゲームにおける不正行為がされるのを防止することができる。
【０１６０】
また、フロントエンドサーバとして指定されていたビデオゲーム装置１４１のプレイヤがゲームから離脱してしまい、フロントエンドサーバとして必要な処理が実行されなくなったことがあったとしても、それとは別のビデオゲーム装置が新たにフロントエンドサーバとして指定されれば、当該新たにフロントエンドサーバとして指定されたビデオゲーム装置１４１によってフロントエンドサーバとして指定されたビデオゲーム装置１４１、１５１、…は、ノンプレイヤキャラクタの動作の決定や各プレイヤキャラクタのパラメータの変化値の算出、ビデオゲーム装置群１４０、１５０、…に属するビデオゲーム装置１００の間でのゲームの進行に関する情報の送受信の制御、サーバ装置２００へのゲームの進行状況に関する情報の送信が行われるものとなる。
【０１６１】
このため、フロントエンドサーバとして指定されていたビデオゲーム装置１４１のプレイヤがゲームから離脱してしまっても、長期間に亘ってゲームの進行に障害が生じることはない。また、自己のビデオゲーム装置１００がフロントエンドサーバとして指定されてしまったことで、プレイヤがゲームに参加し続けることを事実上強いられてしまうということも起こらないので、各ビデオゲーム装置１００のプレイヤは、任意にゲームに参加／離脱することができるものとなる。
【０１６２】
また、サーバ装置２００は、ビデオゲーム装置群１４０、１５０、…毎に、フロントエンドサーバとなるビデオゲーム装置１４１、１５１、…から最後に情報を受信した（或いは、フロントエンドサーバとして指定した）日時３２１を管理しており、この日時３２１から一定期間を経過しても新たな情報を受信していなければ、現時点でフロントエンドサーバとして指定しているビデオゲーム装置１４１、１５１、…との接続が切断されたものと判断している。
【０１６３】
このような場合においてサーバ装置２００は、当該ビデオゲーム装置群１４０、１５０、…に属する他のビデオゲーム装置１４２、１５２、…のうちから任意のビデオゲーム装置を選択して新たなフロントエンドサーバとして指定するものとしている。そして、新たなフロントエンドサーバが指定されると、当該フロントエンドサーバに指定されたビデオゲーム装置１４１、１５１、…が直ちにゲームを進行させるために必要な処理を行うため、ゲームを進行させるための処理が行われない空白期間をさらに小さくすることができ、長期間に亘ってゲームの進行に障害が生じることを防ぐことができる。
【０１６４】
さらに、この実施の形態にかかるネットワークゲームでは、戦闘区毎に行われているゲームに積極的に参加したい訳ではないが、他のプレイヤが行っているゲームを閲覧したいという者がいる場合には、その者のビデオゲーム装置１４３、１５３、…をビデオゲーム装置群１４０、１５０、…に属する任意のビデオゲーム装置に１４１、１４２、１５１、１５２、…に接続させ、そこからゲームの進行情報に関する情報が送られてくるものとしている。
【０１６５】
このように他のプレイヤが行っているゲームを閲覧したい者がいる場合に、サーバ装置２００は、その者のビデオゲーム装置１４３、１５３、…にゲームの進行状況に関する情報を送信する処理からも解放されることとなるので、さらにサーバ装置２００の処理負荷を軽減することができる。特定の戦闘区においてゲームを閲覧したい者が多数いる場合であっても、それらの者のビデオゲーム装置１４３、１５３、…が接続されるビデオゲーム装置１４１、１４２、１５１、１５２、…を分散させることができるので、ゲームを閲覧だけさせるためにビデオゲーム装置群１４０、１５０、…に属する各ビデオゲーム装置１４１、１４２、１５１、１５２、…にかかる処理が大きくなりすぎてしまうことはない。
【０１６６】
本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形態様について説明する。
【０１６７】
上記の実施の形態では、サーバ装置２００は、ビデオゲーム装置群１４０、１５０、…毎にフロントエンドサーバとして指定するビデオゲーム装置１４１、１５１、…を所定時間毎に変更するものとしていた。もっとも、フロントエンドサーバの指定を変える時間間隔は、固定のものとするのではなく、個々のビデオゲーム装置１００にかかる処理負荷を考慮して変更するものとしてもよい。例えば、ビデオゲーム装置群１４０、１５０、…に属するビデオゲーム装置１４１、１４２、１５１、１５２、…の数に応じて、フロントエンドサーバとして指定するビデオゲーム装置１４１、１５１、…を変更するものとしてもよい。
【０１６８】
また、サーバ装置２００がビデオゲーム装置群１４０、１５０、…毎のフロントエンドサーバの指定を変える契機は、このような所定時間の到来というものに限るものではなく、例えば、当該戦闘区でのゲームにおいて所定のイベント（但し、上記の所定時間と同等の時間間隔で発生することが期待されるもの）が生じたこととしてもよい。また、新たなフロントエンドサーバの選択は、ゲーム進行テーブル３２０に登録された順番で行うものとしても、ランダムに決めるものとしてもよい。ビデオゲーム装置１００毎に処理能力に差があり、サーバ装置２００がその差を認識できるのであれば、その処理能力の違いに応じて重み付けをして決定するものとしてもよい。
【０１６９】
上記の実施の形態では、各プレイヤキャラクタは、対応するビデオゲーム装置１００の入力部１６１からの入力に従って移動し、対応するビデオゲーム装置１００で実行されるＡＩルーチンで戦闘行動が決められるものとなっていたが、戦闘区内のプレイヤキャラクタの動作の決定も、フロントエンドサーバに指定されたビデオゲーム装置１４１、１５１、…で集中して行うものとしてもよい。この場合、フロントエンドサーバ以外のビデオゲーム装置１４２、１５２、…は、プレイヤによって入力部１６１からどのような入力がされたかを示す情報をフロントエンドサーバとなるビデオゲーム装置１４１、１５１、…に送り、そこで決定された動作を示す情報を受け取るものとしてもよい。
【０１７０】
上記の実施の形態では、フロントエンドサーバに指定されたビデオゲーム装置１４１、１５１、…は、ノンプレイヤキャラクタの動作の決定、各プレイヤキャラクタのパラメータの変化値の算出、ビデオゲーム装置群１４０、１５０、…に属するビデオゲーム装置１００の間でのゲームの進行に関する情報の送受信、各々のビデオゲーム装置１００で行われているゲームの進行状況に関する情報のサーバ装置２００への送信の全てを、１台で制御するものとしていた。
【０１７１】
しかしながら、これらの複数種類の処理を、ビデオゲーム装置群１４０、１５０、…に属するビデオゲーム装置１４１、１４２、１５１、１５２、…のうちの２以上のビデオゲーム装置で分散して行うものとしてもよい。例えば、ノンプレイヤキャラクタの動作の決定、各プレイヤキャラクタのパラメータの変化値の算出は、第１のビデオゲーム装置が行うが、ビデオゲーム装置群１４０、１５０、…に属するビデオゲーム装置１００の間でのゲームの進行に関する情報の送受信や、各々のビデオゲーム装置１００で行われているゲームの進行状況に関する情報のサーバ装置２００への送信は、第２のビデオゲーム装置で行うものとしてもよい。サーバ装置２００は、これらの処理のうちでどの処理をどのビデオゲーム装置に行わせるかを、個別に指定するものとしてもよい。
【０１７２】
上記の実施の形態では、戦闘区毎のノンプレイヤキャラクタの動作の決定は、ビデオゲーム装置群１４０、１５０、…においてフロントエンドサーバとして指定されたビデオゲーム装置１４１、１５１、…が１台で行うものとしていた。これに対して、ビデオゲーム装置群１４０、１５０、…に属するビデオゲーム装置１００のうちの２台以上で分散して、ノンプレイヤキャラクタの動作を決定するものとしてもよい。２台以上に分散して行うものとする場合、サーバ装置２００は、どのノンプレイヤキャラクタの動作を決定させるかまでを決定するものとすることができる。
【０１７３】
この場合、戦闘区において登場するノンプレイヤキャラクタの数が非常に多く、ノンプレイヤキャラクタの動作の決定のための処理負荷が比較的大きなものであっても、２以上のビデオゲーム装置１００で分散して行えばよいので、１台のビデオゲーム装置１００にかかる処理負荷が過大にならないで済むようになる。
【０１７４】
上記の実施の形態では、他のプレイヤが行っているゲームを閲覧したい者のビデオゲーム装置１４３、１５３、…は、フロントエンドサーバに指定されているかどうかに関わらずに指定した戦闘区のビデオゲーム装置群１４０、１５０、…に属するビデオゲーム装置１４１、１４２、１５１、１５２、…に接続されるものとしていた。もっとも、フロントエンドサーバとして指定されたビデオゲーム装置１４１、１５１、…は、それ以外のビデオゲーム装置１４２、１５２、…よりも処理負荷が大きいので、ここにゲームを閲覧したい者のビデオゲーム装置１４３、１５３、…が接続されるとさらに処理負荷が大きくなってしまう。
【０１７５】
そこで、他のプレイヤが行っているゲームを閲覧したい者のビデオゲーム装置１４３、１５３、…は、フロントエンドサーバとして指定されていないビデオゲーム装置１４２、１５３、…だけに接続されるものとしてもよい。新たにフロントエンドサーバとなるビデオゲーム装置１４１、１５１、…を指定した場合には、サーバ装置２００は、これに接続されていたゲームを閲覧したい者のビデオゲーム装置１４３、１５３、…に対して、別のビデオゲーム装置１４２、１５２、…を指定して接続させるものとしてもよい。
【０１７６】
このようにビデオゲーム装置群１４０、１５０、…に属するビデオゲーム装置のうちでフロントエンドサーバとして指定されていないビデオゲーム装置１４２、１５２、…は、フロントエンドサーバとして指定されているビデオゲーム装置１４１、１５１、…に比べて処理負荷が軽いので、このようなビデオゲーム装置１４２、１５２、…にビデオゲーム装置１４３、１５３、…を接続させることによって、非常に多くの者に対してゲームを閲覧させることができるようになる。
【０１７７】
上記の実施の形態では、サーバ装置２００は、フロントエンドサーバとして指定したビデオゲーム装置１００からの情報の受信を監視しており、所定期間何らの情報も受信されていなければ、これを強制的にログアウトさせるものとしていた。しかし、フロントエンドサーバとして指定されていないものについては、このようなことが行われないので、ゲームへの参加や閲覧を止めていても、強制的にログアウトされることはなかった。
【０１７８】
そこで、フロントエンドサーバとして指定されているビデオゲーム装置１００以外にゲームに参加するビデオゲーム装置１００については、フロントエンドサーバとして指定されたビデオゲーム装置１００において情報の受信を監視するものとしてもよい。フロントエンドサーバとして指定されたビデオゲーム装置１００が一定期間以上、プレイヤキャラクタの位置と戦闘行動を示す情報を受信していないビデオゲーム装置１００があったならば、その旨をフロントエンドサーバとなるビデオゲーム装置１００からサーバ装置２００に通知し、強制的にログアウトさせるものとしてもよい。
【０１７９】
また、ゲームを閲覧するだけのビデオゲーム装置１００については、閲覧先とされているビデオゲーム装置１００が定期的に情報の送信を要求し、所定回数を超えて応答のなかったビデオゲーム装置１００をフロントエンドサーバを介してサーバ装置２００に通知するものとしてもよい。サーバ装置２００は、その通知に基づいて、ゲームを閲覧するだけのビデオゲーム装置１００も強制的にログアウトさせるものとすることができる。
【０１８０】
上記の実施の形態では、ゲームに参加するプレイヤがログイン時に戦闘区を決めると、以下、当該プレイヤのプレイヤキャラクタは、ログアウトするまで同じ戦闘区でゲームを行うことを前提として説明していた。もっとも、プレイヤキャラクタは、ゲーム中に戦闘区を移動できるものとしてもよい。例えば、各戦闘区のマップの周囲に、他の戦闘区のマップの一部を周辺領域として付加しておく。プレイヤがプレイヤキャラクタの移動位置として周辺領域を指定した場合には、当該プレイヤのビデオゲーム装置１００を指定した周辺領域内の位置が本来属する戦闘区におけるビデオゲーム装置群に移行させるものとしてもよい。
【０１８１】
具体的に説明すると、戦闘区Ａのマップ上に戦闘区Ｂのマップの一部が周辺領域として付加され、戦闘区Ｂのマップに戦闘区Ａのマップの一部が周辺領域として付加されているものとする。戦闘区Ａでのゲームに参加するプレイヤは、戦闘区Ｂのマップに周辺領域となっている範囲に自己のプレイヤキャラクタが存在するときに、戦闘区Ｂの範囲内の位置（戦闘区Ａのマップに周辺領域として付加されている領域）もプレイヤキャラクタの移動位置として指定することができるものとする。
【０１８２】
そのビデオゲーム装置１００がフロントエンドサーバとして指定されているものであれば、戦闘区Ｂの範囲内の位置がプレイヤキャラクタの移動位置として指定されたことを直接サーバ装置２００に通知し、フロントエンドサーバとして指定されているものでなければ、戦闘区Ｂの範囲内の位置がプレイヤキャラクタの移動位置として指定されたビデオゲーム装置１００に関する情報をサーバ装置２００に通知するものとすればよい。
【０１８３】
サーバ装置２００は、これらの通知がされると、対応するビデオゲーム装置１００について接続状況テーブル３１０に登録されている戦闘区区分３１６を書き換えるとともに、新たな戦闘区においてフロントエンドサーバとして指定されているビデオゲーム装置１００に、新たな戦闘区に移動してゲームに参加するビデオゲーム装置１００に関する情報を送信するものとすればよい。また、新たな戦闘区に移動してゲームに参加するビデオゲーム装置１００に対して、当該戦闘区において現時点で指定されているビデオゲーム装置１００に関する情報を送信するものとすればよい。
【０１８４】
さらに、新たな戦闘区に移動してゲームに参加しようとするビデオゲーム装置１００が、これまでの戦闘区でのゲームにおいてフロントエンドサーバとして指定されていたのであれば、これまでの戦闘区でゲームを行っている他のビデオゲーム装置１００を当該戦闘区における新たなフロントエンドサーバとして選択するものとすればよい。また、新たな戦闘区に移動してゲームに参加しようとするビデオゲーム装置１００を閲覧先としてゲームを閲覧していたビデオゲーム装置１００には、当該戦闘区のゲームに参加している他のビデオゲーム装置１００を新たな閲覧先として通知するものとすればよい。
【０１８５】
このような処理により、各ビデオゲーム装置１００のプレイヤは、戦闘区という区分を意識することなく、広いゲーム空間内で自由に自己のプレイヤキャラクタを移動させて、ゲームを行えるようになる。
【０１８６】
上記の実施の形態では、サーバ装置２００は、１台でネットワークゲームのサービスを利用可能な全てのビデオゲーム装置１００の接続状況を管理し、戦闘区毎（ビデオゲーム装置群１４０、１５０、…毎）のゲームの進行を管理するものとしていたが、複数のサーバ装置によってサーバ装置群を形成し、これらの処理を別個のサーバ装置に分散して行うものとしてもよい。ゲームの進行は、戦闘区毎に（ビデオゲーム装置群１４０、１５０、…毎に）別のサーバ装置を用いて制御するものとしてもよい。
【０１８７】
上記の実施の形態では、ゲームに参加するプレイヤは、戦闘区と所属チームとを指定し、後はプレイヤキャラクタの移動位置を自動的に指定していくだけでゲームが進行していくシミュレーションゲームを例として説明した。もっとも、本発明は、ロールプレイングゲーム等の他のジャンルのゲームに対しても適用することができる。また、プレイヤキャラクタのチーム同士で対戦するのではなく、プレイヤキャラクタ対ノンプレイヤキャラクタという形で対戦を行うゲームにも、本発明を適用することができる。
【０１８８】
上記の実施の形態では、ビデオゲームを実行するプラットフォームとなる装置としてゲーム専用機であるビデオゲーム装置１００を適用していた。これに対して、本発明は、ビデオゲーム装置１００と同様の構成要素を備え、ネットワーク接続機能を有するものであれば、汎用のパーソナルコンピュータなどをプラットフォームとして実現されるものとしてもよい。表示装置１２１及びサウンド出力装置１２５を装置本体１０１と同一の筐体内に納めた構成を有する携帯ゲーム機（アプリケーションの実行機能を有する携帯電話機を含む）を適用するものとしてもよい。
【０１８９】
記録媒体１３１としては、ＤＶＤ−ＲＯＭやＣＤ−ＲＯＭの代わりに半導体メモリーカードを適用することができる。このメモリーカードを挿入するためのカードスロットをＤＶＤ／ＣＤ−ＲＯＭドライブ１１３の代わりに設けることができる。汎用のパーソナルコンピュータの場合には、本発明に係るプログラム及びデータを記録媒体１３１に格納して提供するのではなく、ＨＤＤ１０７に予め格納して提供してもよい。本発明にかかるプログラム及びデータを格納して提供するための記録媒体は、ハードウェアの物理的形態及び流通形態に応じて任意のものを適用することができる。
【０１９０】
上記の実施の形態では、ビデオゲーム装置１００のプログラム及びデータは、記録媒体１３１に格納されて配布されるものとしていた。これに対して、これらのプログラム及びデータをネットワーク上に存在するサーバ装置が有する固定ディスク装置に格納しておき、装置本体１０１にネットワークを介して配信するものとしてもよい。ビデオゲーム装置１００において、通信インターフェイス１１５がサーバ装置から受信したプログラム及びデータは、ＨＤＤ１０７に保存し、実行時にＲＡＭ１０５にロードすることができる。サーバ装置２００のプログラム及びデータについても同様である。
【符号の説明】
【０１９１】
１００（１４１〜１４３、１５１〜１５３）  ビデオゲーム装置
１０１  ビデオゲーム本体
１０３  制御部
１０５  ＲＡＭ
１０７  ＨＤＤ
１０９  サウンド処理部
１１１  グラフィック処理部
１１２  フレームメモリ
１１３  ＤＶＤ／ＣＤ−ＲＯＭドライブ
１１５  通信インターフェイス
１１７  インターフェイス部
１１９  内部バス
１２１  表示装置
１２２  表示画面
１２５  サウンド出力装置
１３１  記録媒体
１４０、１５０  ビデオゲーム装置群
２００  サーバ装置
２０１  サーバ本体
２０３  制御部
２０５  ＲＡＭ
２０７  ＨＤＤ
２１３  ＤＶＤ／ＣＤ−ＲＯＭドライブ
２１５  通信インターフェイス
２３１  記録媒体
【図１】
2010029723.tif 000003
【図２】
2010029723.tif 000004
【図３】
2010029723.tif 000005
【図４】
2010029723.tif 000006
【図５】
2010029723.tif 000007
【図６】
2010029723.tif 000008
【図７】
2010029723.tif 000009
【図８】
2010029723.tif 000010
【図９】
2010029723.tif 000011
【図１０】
2010029723.tif 000012
【手続補正書】
【提出日】平成21年11月13日(2009.11.13)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
上記目的を達成するため、本発明の第１の観点にかかるネットワークゲームシステムは、サーバ装置と、各々が所定のネットワークを介して該サーバ装置に接続可能であると共に、前記サーバ装置を介することなく前記所定のネットワークを介して互いに接続可能な複数のクライアント装置から構成されるクライアント群とを備えるネットワークゲームシステムであって、前記サーバ装置は、前記複数のクライアント装置の各々のプレイヤが自己のプレイヤキャラクタを、第１フィールドと、該第１フィールドからの移動が可能な第２フィールドとが形成された仮想空間において移動させることで進行するネットワークゲームを提供し、前記クライアント群は、前記第１フィールドにプレイヤキャラクタを位置させているクライアント装置から構成される第１のクライアント群と、前記第２フィールドにプレイヤキャラクタを位置させているクライアント装置から構成される第２のクライアント群とを含み、前記サーバ装置は、前記複数のクライアント装置の各々が前記第１クライアント群と前記第２クライアント群の何れに属するかを示す情報を含む各クライアント装置の接続状況を管理する接続状況管理手段と、前記複数のクライアント装置の各々におけるゲームの進行状況を、前記第１、第２のクライアント群毎に管理するゲーム進行状況管理手段と、前記第１、第２のクライアント群の各々について、各クライアント群に属する複数のクライアント装置のうちの任意のクライアント装置を、ゲームを進行するための処理のうちの所定の処理を実行するための実行クライアントとして指定し、該実行クライアントの指定に関する情報を、該指定に関わるクライアント装置に前記所定のネットワークを介して通知する実行クライアント指定手段と、前記第１、第２のクライアント群の各々について、各クライアント群に属する複数のクライアント装置のうちの任意のクライアント装置を、当該クライアント群におけるゲームの進行に関する情報をやりとりするための管理クライアントとして指定し、該指定に関わるクライアント装置に前記所定のネットワークを介して通知する管理クライアント指定手段と、前記管理クライアント指定手段により指定した前記管理クライアントから前記第１、第２のクライアント群におけるそれぞれのゲーム進行情報を受信する対クライアント群受信手段と、前記対クライアント群受信手段により受信されたゲーム進行情報に基づいて、前記ゲーム進行状況管理手段によりクライアント群毎に管理されている前記複数のクライアント装置の各々におけるゲームの進行状況を更新するゲーム進行状況更新手段と、前記プレイヤキャラクタが前記第１フィールドから前記第２フィールドへ移動したクライアント装置に関する移動クライアント情報を含むゲーム進行情報を受信したときに、当該ゲーム進行情報に対応したクライアント装置に関する情報を、前記第２クライアント群について前記実行クライアント指定手段によって指定された実行クライアントに送信するクライアント情報送信手段とを備え、前記複数のクライアント装置は、それぞれ、プレイヤの操作により、前記プレイヤキャラクタの前記第１フィールドから前記第２フィールドへの移動を指示する入力を含むゲームを進行するための所定の入力を行う入力手段と、前記実行クライアント指定手段により前記実行クライアントとして指定されたときに、該実行クライアントの指定に対応するクライアント群における前記所定の処理を実行する所定処理実行手段と、前記第１、第２のクライアント群のうちの当該クライアント装置が属するクライアント群において、当該クライアント群に属する各クライアント装置についての前記入力手段からの入力に応じたゲーム入力情報と、前記所定処理実行手段による前記所定の処理の実行に応じたゲーム実行情報とに応じたクライアント群内ゲーム情報を、当該クライアント群に属する他のクライアント装置との間で前記所定のネットワークを介して互いに送受信するクライアント群内送受信手段と、前記管理クライアント指定手段により前記管理クライアントとして指定されたときに、該管理クライアントの指定に対応するクライアント群に属する各クライアント装置についての前記ゲーム入力情報と前記ゲーム実行情報とに応じた前記ゲーム進行情報を前記所定のネットワークを介して前記サーバ装置に送信する手段であって、前記プレイヤキャラクタの第１フィールドから前記第２フィールドへの移動を示すゲーム入力情報があるときは、当該プレイヤキャラクタが前記第１フィールドから前記第２フィールドへ移動したクライアント装置に関する移動クライアント情報を含むゲーム進行情報を送信する対サーバ装置送信手段とを備え、前記実行クライアント指定手段は、所定の期間毎に、前記クライアント群に属する複数のクライアント装置のうちで前記実行クライアントとして指定するクライアント装置を変更する期間指定手段と、前記第１クライアント群について前記実行クライアントとして指定しているクライアント装置に関する移動クライアント情報を受信したときに、該第１クライアント群に属する他のクライアント装置のうちから、新たな実行クライアントを指定する移動指定手段とを含み、前記管理クライアント指定手段は、前記第１クライアント群について前記管理クライアントとして指定しているクライアント装置に関する移動クライアント情報を受信したときに、該第１クライアント群に属する他のクライアント装置のうちから、新たな管理クライアントを指定する手段を含むことを特徴とする。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】削除
【補正の内容】
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
上記目的を達成するため、本発明の第２の観点にかかるプログラムは、他のコンピュータ装置を介することなく所定のネットワークを介して互いに接続可能な複数のクライアント装置から構成されるクライアント群に属する各クライアント装置と前記所定のネットワークを介して接続可能なコンピュータ装置を機能させるためのプログラムであって、前記コンピュータ装置は、前記複数のクライアント装置の各々のプレイヤが自己のプレイヤキャラクタを、第１フィールドと、該第１フィールドからの移動が可能な第２フィールドとが形成された仮想空間において移動させることで進行するネットワークゲームを提供し、前記クライアント群は、前記第１フィールドにプレイヤキャラクタを位置させているクライアント装置から構成される第１のクライアント群と、前記第２フィールドにプレイヤキャラクタを位置させているクライアント装置から構成される第２のクライアント群とを含み、前記プログラムは、前記複数のクライアント装置の各々が前記第１クライアント群と前記第２クライアント群の何れに属するかを示す情報を含む各クライアント装置の接続状況を管理する接続状況管理手段、前記複数のクライアント装置の各々におけるゲームの進行状況を、前記第１、第２のクライアント群毎に管理するゲーム進行状況管理手段、前記第１、第２のクライアント群の各々について、各クライアント群に属する複数のクライアント装置のうちの任意のクライアント装置を、ゲームを進行するための処理のうちの所定の処理を実行するための実行クライアントとして指定し、該実行クライアントの指定に関する情報を、該指定に関わるクライアント装置に前記所定のネットワークを介して通知する実行クライアント指定手段、前記第１、第２のクライアント群の各々について、各クライアント群に属する複数のクライアント装置のうちの任意のクライアント装置を、当該クライアント群におけるゲームの進行に関する情報をやりとりするための管理クライアントとして指定し、該指定に関わるクライアント装置に前記所定のネットワークを介して通知する管理クライアント指定手段、前記管理クライアント指定手段により指定した前記管理クライアントから前記第１、第２のクライアント群におけるそれぞれのゲーム進行情報を受信するゲーム進行情報受信手段、前記ゲーム進行情報受信手段により受信されたゲーム進行情報に基づいて、前記ゲーム進行状況管理手段によりクライアント群毎に管理されている前記複数のクライアント装置の各々におけるゲームの進行状況を更新するゲーム進行状況更新手段、及び、前記プレイヤキャラクタが前記第１フィールドから前記第２フィールドへ移動したクライアント装置に関する移動クライアント情報を含むゲーム進行情報を受信したときに、当該ゲーム進行情報に対応したクライアント装置に関する情報を、前記第２クライアント群について前記実行クライアント指定手段によって指定された実行クライアントに送信するクライアント情報送信手段として前記コンピュータ装置を機能させ、前記実行クライアント指定手段は、所定の期間毎に、前記クライアント群に属する複数のクライアント装置のうちで前記実行クライアントとして指定するクライアント装置を変更する期間指定手段と、前記第１クライアント群について前記実行クライアントとして指定しているクライアント装置に関する移動クライアント情報を受信したときに、該第１クライアント群に属する他のクライアント装置のうちから、新たな実行クライアントを指定する移動指定手段とを含み、前記管理クライアント指定手段は、前記第１クライアント群について前記管理クライアントとして指定しているクライアント装置に関する移動クライアント情報を受信したときに、該第１クライアント群に属する他のクライアント装置のうちから、新たな管理クライアントを指定する手段を含むことを特徴とする。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
上記第２の観点にかかるプログラムは、コンピュータ読み取り可能な記録媒体に記録して提供することができる。このコンピュータ読み取り可能な記録媒体は、上記コンピュータ装置に着脱可能に構成され、上記コンピュータ装置とは別個に提供される記録媒体としてもよい。このコンピュータ読み取り可能な記録媒体は、上記コンピュータ装置内に設けられ、上記コンピュータ装置と共に提供される固定ディスク装置などの記録媒体としてもよい。上記第２の観点にかかるプログラムは、ネットワーク上に存在するサーバ装置から、そのデータ信号を搬送波に重畳して、ネットワークを通じて上記コンピュータ装置に配信することもできる。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
また、上記第１の観点にかかるネットワークゲームシステムを構成するサーバ装置及びクライアント装置は、それぞれ単体でも本発明の範囲に含まれるものである。また、上記第２の観点にかかるプログラムにより実現される各手段を備えるコンピュータ装置も、本発明の範囲に含まれるものである。また、上記第１の観点にかかるネットワークシステムに含まれる各手段の実行する処理を各ステップの処理として実行する方法、並びに上記第２の観点にかかるプログラムに含まれる各手段の実行する処理を各ステップの処理として実行する方法も、本発明の範囲に含まれる。
【手続補正１０】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
サーバ装置と、各々が所定のネットワークを介して該サーバ装置に接続可能であると共に、前記サーバ装置を介することなく前記所定のネットワークを介して互いに接続可能な複数のクライアント装置から構成されるクライアント群とを備えるネットワークゲームシステムであって、
前記サーバ装置は、前記複数のクライアント装置の各々のプレイヤが自己のプレイヤキャラクタを、第１フィールドと、該第１フィールドからの移動が可能な第２フィールドとが形成された仮想空間において移動させることで進行するネットワークゲームを提供し、
前記クライアント群は、前記第１フィールドにプレイヤキャラクタを位置させているクライアント装置から構成される第１のクライアント群と、前記第２フィールドにプレイヤキャラクタを位置させているクライアント装置から構成される第２のクライアント群とを含み、
前記サーバ装置は、
前記複数のクライアント装置の各々が前記第１クライアント群と前記第２クライアント群の何れに属するかを示す情報を含む各クライアント装置の接続状況を管理する接続状況管理手段と、
前記複数のクライアント装置の各々におけるゲームの進行状況を、前記第１、第２のクライアント群毎に管理するゲーム進行状況管理手段と、
前記第１、第２のクライアント群の各々について、各クライアント群に属する複数のクライアント装置のうちの任意のクライアント装置を、ゲームを進行するための処理のうちの所定の処理を実行するための実行クライアントとして指定し、該実行クライアントの指定に関する情報を、該指定に関わるクライアント装置に前記所定のネットワークを介して通知する実行クライアント指定手段と、
前記第１、第２のクライアント群の各々について、各クライアント群に属する複数のクライアント装置のうちの任意のクライアント装置を、当該クライアント群におけるゲームの進行に関する情報をやりとりするための管理クライアントとして指定し、該指定に関わるクライアント装置に前記所定のネットワークを介して通知する管理クライアント指定手段と、
前記管理クライアント指定手段により指定した前記管理クライアントから前記第１、第２のクライアント群におけるそれぞれのゲーム進行情報を受信する対クライアント群受信手段と、
前記対クライアント群受信手段により受信されたゲーム進行情報に基づいて、前記ゲーム進行状況管理手段によりクライアント群毎に管理されている前記複数のクライアント装置の各々におけるゲームの進行状況を更新するゲーム進行状況更新手段と、
前記プレイヤキャラクタが前記第１フィールドから前記第２フィールドへ移動したクライアント装置に関する移動クライアント情報を含むゲーム進行情報を受信したときに、当該ゲーム進行情報に対応したクライアント装置に関する情報を、前記第２クライアント群について前記実行クライアント指定手段によって指定された実行クライアントに送信するクライアント情報送信手段とを備え、
前記複数のクライアント装置は、それぞれ、
プレイヤの操作により、前記プレイヤキャラクタの前記第１フィールドから前記第２フィールドへの移動を指示する入力を含むゲームを進行するための所定の入力を行う入力手段と、
前記実行クライアント指定手段により前記実行クライアントとして指定されたときに、該実行クライアントの指定に対応するクライアント群における前記所定の処理を実行する所定処理実行手段と、
前記第１、第２のクライアント群のうちの当該クライアント装置が属するクライアント群において、当該クライアント群に属する各クライアント装置についての前記入力手段からの入力に応じたゲーム入力情報と、前記所定処理実行手段による前記所定の処理の実行に応じたゲーム実行情報とに応じたクライアント群内ゲーム情報を、当該クライアント群に属する他のクライアント装置との間で前記所定のネットワークを介して互いに送受信するクライアント群内送受信手段と、
前記管理クライアント指定手段により前記管理クライアントとして指定されたときに、該管理クライアントの指定に対応するクライアント群に属する各クライアント装置についての前記ゲーム入力情報と前記ゲーム実行情報とに応じた前記ゲーム進行情報を前記所定のネットワークを介して前記サーバ装置に送信する手段であって、前記プレイヤキャラクタの第１フィールドから前記第２フィールドへの移動を示すゲーム入力情報があるときは、当該プレイヤキャラクタが前記第１フィールドから前記第２フィールドへ移動したクライアント装置に関する移動クライアント情報を含むゲーム進行情報を送信する対サーバ装置送信手段とを備え、
前記実行クライアント指定手段は、
所定の期間毎に、前記クライアント群に属する複数のクライアント装置のうちで前記実行クライアントとして指定するクライアント装置を変更する期間指定手段と、
前記第１クライアント群について前記実行クライアントとして指定しているクライアント装置に関する移動クライアント情報を受信したときに、該第１クライアント群に属する他のクライアント装置のうちから、新たな実行クライアントを指定する移動指定手段とを含み、
前記管理クライアント指定手段は、前記第１クライアント群について前記管理クライアントとして指定しているクライアント装置に関する移動クライアント情報を受信したときに、該第１クライアント群に属する他のクライアント装置のうちから、新たな管理クライアントを指定する手段を含む
ことを特徴とするネットワークゲームシステム。
【請求項２】
前記実行クライアント指定手段が前記実行クライアントとして指定するクライアント装置と、前記管理クライアント指定手段が前記管理クライアントとして指定するクライアント装置は、同一のクライアント装置である
ことを特徴とする請求項１に記載のネットワークゲームシステム。
【請求項３】
前記実行クライアント指定手段は、前記クライアント群に属する複数のクライアント装置のうちの２以上のクライアント装置を前記実行クライアントとして指定する複数指定手段を含む
ことを特徴とする請求項１または２に記載のネットワークゲームシステム。
【請求項４】
他のコンピュータ装置を介することなく所定のネットワークを介して互いに接続可能な複数のクライアント装置から構成されるクライアント群に属する各クライアント装置と前記所定のネットワークを介して接続可能なコンピュータ装置を機能させるためのプログラムであって、
前記コンピュータ装置は、前記複数のクライアント装置の各々のプレイヤが自己のプレイヤキャラクタを、第１フィールドと、該第１フィールドからの移動が可能な第２フィールドとが形成された仮想空間において移動させることで進行するネットワークゲームを提供し、
前記クライアント群は、前記第１フィールドにプレイヤキャラクタを位置させているクライアント装置から構成される第１のクライアント群と、前記第２フィールドにプレイヤキャラクタを位置させているクライアント装置から構成される第２のクライアント群とを含み、
前記プログラムは、
前記複数のクライアント装置の各々が前記第１クライアント群と前記第２クライアント群の何れに属するかを示す情報を含む各クライアント装置の接続状況を管理する接続状況管理手段、
前記複数のクライアント装置の各々におけるゲームの進行状況を、前記第１、第２のクライアント群毎に管理するゲーム進行状況管理手段、
前記第１、第２のクライアント群の各々について、各クライアント群に属する複数のクライアント装置のうちの任意のクライアント装置を、ゲームを進行するための処理のうちの所定の処理を実行するための実行クライアントとして指定し、該実行クライアントの指定に関する情報を、該指定に関わるクライアント装置に前記所定のネットワークを介して通知する実行クライアント指定手段、
前記第１、第２のクライアント群の各々について、各クライアント群に属する複数のクライアント装置のうちの任意のクライアント装置を、当該クライアント群におけるゲームの進行に関する情報をやりとりするための管理クライアントとして指定し、該指定に関わるクライアント装置に前記所定のネットワークを介して通知する管理クライアント指定手段、
前記管理クライアント指定手段により指定した前記管理クライアントから前記第１、第２のクライアント群におけるそれぞれのゲーム進行情報を受信するゲーム進行情報受信手段、
前記ゲーム進行情報受信手段により受信されたゲーム進行情報に基づいて、前記ゲーム進行状況管理手段によりクライアント群毎に管理されている前記複数のクライアント装置の各々におけるゲームの進行状況を更新するゲーム進行状況更新手段、及び、
前記プレイヤキャラクタが前記第１フィールドから前記第２フィールドへ移動したクライアント装置に関する移動クライアント情報を含むゲーム進行情報を受信したときに、当該ゲーム進行情報に対応したクライアント装置に関する情報を、前記第２クライアント群について前記実行クライアント指定手段によって指定された実行クライアントに送信するクライアント情報送信手段として前記コンピュータ装置を機能させ、
前記実行クライアント指定手段は、
所定の期間毎に、前記クライアント群に属する複数のクライアント装置のうちで前記実行クライアントとして指定するクライアント装置を変更する期間指定手段と、
前記第１クライアント群について前記実行クライアントとして指定しているクライアント装置に関する移動クライアント情報を受信したときに、該第１クライアント群に属する他のクライアント装置のうちから、新たな実行クライアントを指定する移動指定手段とを含み、
前記管理クライアント指定手段は、前記第１クライアント群について前記管理クライアントとして指定しているクライアント装置に関する移動クライアント情報を受信したときに、該第１クライアント群に属する他のクライアント装置のうちから、新たな管理クライアントを指定する手段を含む
ことを特徴とするプログラム。