(57)【特許請求の範囲】
【請求項１】
主サーバ装置と、該主サーバ装置に通信回線を介して接続されるとともにゲームの表示画面を表示する表示装置を有する複数のクライアント装置とを備え、各々のクライアント装置のプレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを共通のフィールドで移動させてゲームを進行させるとともに、当該フィールドと異なるマップに移行することなく何れか１以上のプレイヤキャラクタを敵キャラクタとバトルさせるオンラインゲームを提供するオンラインゲームシステムであって、
前記主サーバ装置と前記複数のクライアント装置の各々に通信回線を介して接続可能に構成されるとともに、前記オンラインゲームのうちの前記バトルを制御するバトルサーバ装置をさらに備え、
前記バトルは、該バトルの開始前まで前記フィールドに存在していなかった敵キャラクタが一時的に登場するものであり、
前記複数のクライアント装置の各々は、
前記プレイヤキャラクタにより前記バトルが行われていないときに、プレイヤ操作に応じた情報を前記主サーバ装置に送信するとともに、該主サーバ装置から受信したバトル外ゲーム情報に応じたゲーム画面を前記表示装置に表示させるバトル外画面表示手段と、
前記プレイヤキャラクタにより前記バトルが行われているときに、プレイヤ操作に応じた情報を前記バトルサーバ装置に送信するとともに、該バトルサーバ装置から受信したバトル情報に応じたゲーム画面を前記表示装置に表示させるバトル画面表示手段とを備え、
前記主サーバ装置は、
前記複数のキャラクタ各々の前記フィールドにおける位置を管理する通常キャラクタ位置管理手段と、
前記バトルを行っていないプレイヤキャラクタに対応するクライアント装置から受信した前記プレイヤ操作に応じた情報に基づいて前記通常キャラクタ位置管理手段で管理されている位置を更新するバトル外ゲーム更新手段と、
前記通常キャラクタ位置管理手段を参照して、前記フィールド上に存在する各キャラクタの位置を示すバトル外ゲーム情報を生成し、該生成したバトル外ゲーム情報を少なくとも前記バトルを行っていないプレイヤキャラクタに対応したクライアント装置に送信するバトル外ゲーム情報送信手段とを備え、
前記バトルサーバ装置は、
前記バトルの開始前までに前記フィールドに存在していたキャラクタのうちの当該バトルを行うキャラクタと、当該バトルで追加された敵キャラクタとを含む複数のキャラクタ各々に関する前記フィールド上における位置を含む状態を管理するバトル管理手段と、
前記クライアント装置から受信した前記プレイヤ操作に応じた情報に基づいて前記バトル管理手段により管理されている状態を更新するバトル実行手段と、
前記バトル管理手段により管理されている各キャラクタの状態に応じて前記バトル情報を生成し、該生成したバトル情報を前記クライアント装置に送信するバトル情報送信手段とを備える
ことを特徴とするオンラインゲームシステム。
【請求項２】
前記バトルサーバ装置は、前記バトル管理手段を参照して、前記バトルを行っている全てのキャラクタの位置を含むバトル位置情報を生成し、該生成したバトル位置情報を前記主サーバ装置に送信するバトル位置情報送信手段をさらに備え、
前記主サーバ装置は、
前記バトルサーバ装置により現時点で実行されているバトルに登場している敵キャラクタの前記フィールドにおける位置を管理する拡張キャラクタ位置管理手段と、
前記バトルサーバ装置において前記バトルが実行されているときに、前記バトル位置情報送信手段から受信したバトル位置情報に基づいて、前記通常キャラクタ位置管理手段で管理されている各々のキャラクタの前記フィールドにおける位置と前記拡張キャラクタ位置管理手段で管理されている敵キャラクタの前記フィールドにおける位置とを更新するバトル更新手段とをさらに備え、
前記バトル外ゲーム情報送信手段は、前記拡張キャラクタ位置管理手段も参照して、前記バトルサーバ装置により現時点で実行されているバトルに登場している敵キャラクタを含む前記フィールド上に存在する各キャラクタの位置を示すバトル外ゲーム情報を生成する
ことを特徴とする請求項１に記載のオンラインゲームシステム。
【請求項３】
前記主サーバ装置は、前記複数のクライアント装置の何れかに対応したプレイヤキャラクタについて前記バトルを行う所定の条件が成立したときに、該バトルの開始前まで前記フィールドに存在していなかったノンプレイヤキャラクタを当該バトルで一時的に登場する敵キャラクタとして追加することを決定し、該追加することを決定した敵キャラクタに関する情報を前記バトルサーバ装置に通知する追加キャラクタ決定手段をさらに備える
ことを特徴とする請求項１または２に記載のオンラインゲームシステム。
【請求項４】
前記バトルサーバ装置は、前記複数のクライアント装置の何れかと接続されて前記バトルが開始することとなるときに、該バトルの開始前まで前記フィールドに存在していなかったノンプレイヤキャラクタを当該バトルで一時的に登場する敵キャラクタとして追加することを決定する追加キャラクタ決定手段をさらに備える
ことを特徴とする請求項１または２に記載のオンラインゲームシステム。
【請求項５】
前記追加キャラクタ決定手段は、前記バトルに追加する敵キャラクタの種類および／または数を決定する
ことを特徴とする請求項３または４に記載のオンラインゲームシステム。
【請求項６】
前記追加キャラクタ決定手段は、前記バトルへの追加が決定された敵キャラクタを当該バトルで登場させるタイミングを決定する追加タイミング決定手段を含み、
前記バトル実行手段は、前記追加タイミング決定手段により決定されたタイミングで、前記バトルへの追加が決定された敵キャラクタを当該バトルに登場させる
ことを特徴とする請求項３乃至５のいずれか１項に記載のオンラインゲームシステム。
【請求項７】
前記複数のクライアント装置の各々は、
当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタが前記バトルを行う所定の条件が成立したときに、該バトルを行うべく前記バトルサーバ装置に接続する第１のバトルサーバ接続手段と、
当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタについて他の何れかのプレイヤキャラクタが現時点で行っているバトルへの参加条件が成立したときに、該バトルに当該プレイヤキャラクタを参加させるべく前記バトルサーバ装置に接続する第２のバトルサーバ接続手段とをさらに備え、
前記バトルは、当該バトルに新たなプレイヤキャラクタが参加するときに、該新たなプレイヤキャラクタの参加まで前記フィールドに存在していなかったノンプレイヤキャラクタが当該バトルで一時的に登場する敵キャラクタとしてさらに追加される
ことを特徴とする請求項１乃至６のいずれか１項に記載のオンラインゲームシステム。
【請求項８】
前記バトル外ゲーム情報送信手段は、前記複数のクライアント装置の各々で前記表示装置に表示される表示画面を複数の所定数だけ生成する時間間隔に応じた長期時間間隔で、少なくとも前記バトルを行っていないプレイヤキャラクタに対応したクライアント装置に対して前記バトル外ゲーム情報を送信し、
前記バトル情報送信手段は、前記長期時間間隔よりも短い短期時間間隔で、前記クライアント装置に対して前記バトル情報を送信し、
前記バトル外画面表示手段は、前記バトル外ゲーム情報を受信してからの前記長期時間間隔に応じた期間において、前回バトル外ゲーム情報に応じた表示画面より後から今回のバトル外ゲーム情報に応じた表示画面よりも前までを補完する補間画面を順次生成し、該生成した補間画面から前記バトル外ゲーム情報に応じた表示画面まで順次前記表示装置に表示させ、
前記バトル画面表示手段は、受信したバトル情報に応じた表示画面を前記表示装置に表示させる
ことを特徴とする請求項１乃至７のいずれか１項に記載のオンラインゲームシステム。
【請求項９】
主サーバ装置と該主サーバ装置に通信回線を介して接続される複数のクライアント装置の各々に通信回線を介して接続可能に構成されるとともに、各々のクライアント装置のプレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを共通のフィールドで移動させることで前記主サーバ装置により進行されるオンラインゲームのうち、当該オンラインゲームの進行過程において行われるバトルを制御するバトルサーバ装置であって、
前記バトルは、前記主サーバ装置と前記複数のクライアント装置とによって進行されているオンラインゲームにおけるフィールドと異なるマップに移行することなく何れか１以上のプレイヤキャラクタが敵キャラクタとバトルするものであるとともに、該バトルの開始前まで前記フィールドに存在していなかった敵キャラクタが一時的に登場するものであり、
前記バトルサーバ装置は、
前記バトルの開始前までに前記フィールドに存在していたキャラクタのうちの当該バトルを行うキャラクタと、当該バトルで追加された敵キャラクタとを含む複数のキャラクタ各々に関する前記フィールド上における位置を含む状態を管理するバトル管理手段と、
前記クライアント装置のプレイヤにより操作されるプレイヤキャラクタに対して入力された指令に応じた情報を受信し、該受信した指令に応じた情報に基づいて前記バトル管理手段により管理されている各キャラクタの前記フィールド上における位置を含む状態を更新するバトル実行手段と、
前記バトル管理手段により管理されている各キャラクタの状態に応じて前記バトル情報を生成し、該生成したバトル情報を前記クライアント装置に送信するバトル情報送信手段とを備える
ことを特徴とするバトルサーバ装置。
【請求項１０】
主サーバ装置と該主サーバ装置に通信回線を介して接続される複数のクライアント装置の各々に通信回線を介して接続可能に構成されるとともに、各々のクライアント装置のプレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを共通のフィールドで移動させることで前記主サーバ装置により進行されるオンラインゲームのうち、当該オンラインゲームの進行過程において行われるバトルを制御するコンピュータ装置を機能させるためのプログラムであって、
前記バトルは、前記主サーバ装置と前記複数のクライアント装置とによって進行されているオンラインゲームにおけるフィールドと異なるマップに移行することなく何れか１以上のプレイヤキャラクタが敵キャラクタとバトルするものであるとともに、該バトルの開始前まで前記フィールドに存在していなかった敵キャラクタが一時的に登場するものであり、
前記プログラムは、
前記バトルの開始前までに前記フィールドに存在していたキャラクタのうちの当該バトルを行うキャラクタと、当該バトルで追加された敵キャラクタとを含む複数のキャラクタ各々に関する前記フィールド上における位置を含む状態を管理するバトル管理手段、
前記クライアント装置のプレイヤにより操作されるプレイヤキャラクタに対して入力された指令に応じた情報を受信し、該受信した指令に応じた情報に基づいて前記バトル管理手段により管理されている各キャラクタの前記フィールド上における位置を含む状態を更新するバトル実行手段、及び、
前記バトル管理手段により管理されている各キャラクタの状態に応じて前記バトル情報を生成し、該生成したバトル情報を前記クライアント装置に送信するバトル情報送信手段
として前記コンピュータ装置を機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプレイヤが参加してゲームが進行するオンラインゲームに関し、特に
バトルを進行過程で実行するゲームに関するものである。
【背景技術】
【０００２】
近年のネットワーク技術の進歩に伴い、複数のプレイヤが参加してゲームが進行するオンラインゲーム（ネットワークゲーム）が盛んに行われるようになってきている。オンラインゲームを行うためのシステムは、オンラインゲームを運営する者が管理するサーバ装置と、このサーバ装置にインターネットなどのネットワークを介して接続可能な各プレイヤのクライアント装置とから構成されるものとなっている。
【０００３】
上記のオンラインゲームのうちのＲＰＧ（Role Playing Game）では、同時に多数のプレイヤが参加することで、そのプレイヤキャラクタ同士で、敵キャラクタとのバトルを協力して行わせたり、或いはプレイヤ同士がプレイヤキャラクタにバトルを行わせたりして進行していくものとなっている。特に最近では、より多くのプレイヤの参加を可能としたＭＭＯＲＰＧ（Massively Multiplayer Online RPG）も行われるようになってきている。
【０００４】
このように、同時に多数のプレイヤが参加するオンラインゲームでは、共有される仮想空間（フィールド）において、同時に多数のプレイヤキャラクタが存在し、そのフィールドにおいてバトルが行われるものであるが、当該フィールドを移動中のプレイヤキャラクタに対応するクライアント装置の表示装置に表示されるフィールドにおいて、そのバトルが行われている旨のマークを表示させるもの（例えば、特許文献１参照）や、バトルを行っている他のプレイヤキャラクタの移動を停止させ、そこでバトル中であることを表示させるもの（例えば、特許文献２参照）がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２３９２１６号公報（段落００３８等）
【特許文献２】特開２００２−２４８２７１号公報（段落００５０、００５１等）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
もっとも、特許文献１、２では、バトル中ではないプレイヤキャラクタを操作するクライアント装置の表示画面に表示されるフィールドにおいて、バトルが行われている旨の表示だけを示し、実際のバトル自体は、バトル専用のフィールドで行うものであった。バトル中ではないプレイヤキャラクタにかかるプレイヤにとっては、その結果さえゲームに反映されれば、バトルが如何に進行されるかは全く関係ない。従って、バトルは、ゲームの一部でありながら、別個のゲームとして捉えてもよいものと言うことができる。
【０００７】
そのようなバトルを異なるゲームであると捉えることができるならば、単純に、このオンラインゲームにおいてバトルに係る処理を、オンラインゲーム全体の進行に係る処理から分散して行うことも問題なく行える。バトルの処理が他の装置に分散されるなら、その進行中のバトルにのみ登場するキャラクタを追加させたところで、ゲーム全体の進行に係る処理を行うサーバ装置にかかる負荷が増えてしまうこともない。
【０００８】
しかしながら、このようなバトルを全てのプレイヤキャラクタが移動しているフィールドにおいてシームレスに行うのであれば、当該フィールドにおいて各プレイヤキャラクタが移動する処理とは異なるゲームとして捉えることもできないものとなる。そこで、バトルにのみ特有のキャラクタ、すなわち当該バトルに参加していないプレイヤにとっては無関係なキャラクタを追加させることも考えると、オンラインゲーム全体の進行の処理の負荷を増大させるものとなってしまう。
【０００９】
本発明は、バトルでのキャラクタの追加によって、オンラインゲーム全体の進行を管理するサーバ装置に多大な負荷をかけることがないオンラインゲームシステム等を提供することを目的とする。
【課題を解決するための手段】
【００１０】
非限定的な観点によると、本発明にかかるオンラインゲームシステムは、主サーバ装置と、該主サーバ装置に通信回線を介して接続されるとともにゲームの表示画面を表示する表示装置を有する複数のクライアント装置とを備え、各々のクライアント装置のプレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを共通のフィールドで移動させてゲームを進行させるとともに、当該フィールドと異なるマップに移行することなく何れか１以上のプレイヤキャラクタを敵キャラクタとバトルさせるオンラインゲームを提供するオンラインゲームシステムであって、前記主サーバ装置と前記複数のクライアント装置の各々に通信回線を介して接続可能に構成されるとともに、前記オンラインゲームのうちの前記バトルを制御するバトルサーバ装置をさらに備え、前記バトルは、該バトルの開始前まで前記フィールドに存在していなかった敵キャラクタが一時的に登場するものであり、前記複数のクライアント装置の各々は、前記プレイヤキャラクタにより前記バトルが行われていないときに、プレイヤ操作に応じた情報を前記主サーバ装置に送信するとともに、該主サーバ装置から受信したバトル外ゲーム情報に応じたゲーム画面を前記表示装置に表示させるバトル外画面表示手段と、前記プレイヤキャラクタにより前記バトルが行われているときに、プレイヤ操作に応じた情報を前記バトルサーバ装置に送信するとともに、該バトルサーバ装置から受信したバトル情報に応じたゲーム画面を前記表示装置に表示させるバトル画面表示手段とを備え、前記主サーバ装置は、前記複数のキャラクタ各々の前記フィールドにおける位置を管理する通常キャラクタ位置管理手段と、前記バトルを行っていないプレイヤキャラクタに対応するクライアント装置から受信した前記プレイヤ操作に応じた情報に基づいて前記通常キャラクタ位置管理手段で管理されている位置を更新するバトル外ゲーム更新手段と、前記通常キャラクタ位置管理手段を参照して、前記フィールド上に存在する各キャラクタの位置を示すバトル外ゲーム情報を生成し、該生成したバトル外ゲーム情報を少なくとも前記バトルを行っていないプレイヤキャラクタに対応したクライアント装置に送信するバトル外ゲーム情報送信手段とを備え、前記バトルサーバ装置は、前記バトルの開始前までに前記フィールドに存在していたキャラクタのうちの当該バトルを行うキャラクタと、当該バトルで追加された敵キャラクタとを含む複数のキャラクタ各々に関する前記フィールド上における位置を含む状態を管理するバトル管理手段と、前記クライアント装置から受信した前記プレイヤ操作に応じた情報に基づいて前記バトル管理手段により管理されている状態を更新するバトル実行手段と、前記バトル管理手段により管理されている各キャラクタの状態に応じて前記バトル情報を生成し、該生成したバトル情報を前記クライアント装置に送信するバトル情報送信手段とを備えることを特徴とする。
【００３３】
非限定的な観点によると、本発明にかかるバトルサーバ装置は、主サーバ装置と該主サーバ装置に通信回線を介して接続される複数のクライアント装置の各々に通信回線を介して接続可能に構成されるとともに、各々のクライアント装置のプレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを共通のフィールドで移動させることで前記主サーバ装置により進行されるオンラインゲームのうち、当該オンラインゲームの進行過程において行われるバトルを制御するバトルサーバ装置であって、前記バトルは、前記主サーバ装置と前記複数のクライアント装置とによって進行されているオンラインゲームにおけるフィールドと異なるマップに移行することなく何れか１以上のプレイヤキャラクタが敵キャラクタとバトルするものであるとともに、該バトルの開始前まで前記フィールドに存在していなかった敵キャラクタが一時的に登場するものであり、前記バトルサーバ装置は、前記バトルの開始前までに前記フィールドに存在していたキャラクタのうちの当該バトルを行うキャラクタと、当該バトルで追加された敵キャラクタとを含む複数のキャラクタ各々に関する前記フィールド上における位置を含む状態を管理するバトル管理手段と、前記クライアント装置のプレイヤにより操作されるプレイヤキャラクタに対して入力された指令に応じた情報を受信し、該受信した指令に応じた情報に基づいて前記バトル管理手段により管理されている各キャラクタの前記フィールド上における位置を含む状態を更新するバトル実行手段と、前記バトル管理手段により管理されている各キャラクタの状態に応じて前記バトル情報を生成し、該生成したバトル情報を前記クライアント装置に送信するバトル情報送信手段とを備えることを特徴とする。
【００３４】
非限定的な観点によると、本発明にかかるプログラムは、主サーバ装置と該主サーバ装置に通信回線を介して接続される複数のクライアント装置の各々に通信回線を介して接続可能に構成されるとともに、各々のクライアント装置のプレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを共通のフィールドで移動させることで前記主サーバ装置により進行されるオンラインゲームのうち、当該オンラインゲームの進行過程において行われるバトルを制御するコンピュータ装置を機能させるためのプログラムであって、前記バトルは、前記主サーバ装置と前記複数のクライアント装置とによって進行されているオンラインゲームにおけるフィールドと異なるマップに移行することなく何れか１以上のプレイヤキャラクタが敵キャラクタとバトルするものであるとともに、該バトルの開始前まで前記フィールドに存在していなかった敵キャラクタが一時的に登場するものであり、前記プログラムは、前記バトルの開始前までに前記フィールドに存在していたキャラクタのうちの当該バトルを行うキャラクタと、当該バトルで追加された敵キャラクタとを含む複数のキャラクタ各々に関する前記フィールド上における位置を含む状態を管理するバトル管理手段、前記クライアント装置のプレイヤにより操作されるプレイヤキャラクタに対して入力された指令に応じた情報を受信し、該受信した指令に応じた情報に基づいて前記バトル管理手段により管理されている各キャラクタの前記フィールド上における位置を含む状態を更新するバトル実行手段、及び、前記バトル管理手段により管理されている各キャラクタの状態に応じて前記バトル情報を生成し、該生成したバトル情報を前記クライアント装置に送信するバトル情報送信手段として前記コンピュータ装置を機能させることを特徴とする。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施の形態にかかるオンラインゲームシステムの構成を示すブロック図である。
【図２】図１のビデオゲーム装置の構成を示すブロック図である。
【図３】図１のゾーンサーバ装置、バトルサーバ装置の構成を示すブロック図である。
【図４】本発明の実施の形態にかかるオンラインゲームにおけるフィールドの構成を示す図である。
【図５】本発明の実施の形態にかかるオンラインゲームにおけるバトルについての表示画面の例を示す図である。
【図６】図１、図３のゾーンサーバ装置において管理されるテーブルを示す図である。
【図７】図１、図３のバトルサーバ装置において管理されるテーブル群を示す図である。
【図８】図１、図２のビデオゲーム装置において記憶されるデータの構成を示す図である。
【図９】本発明の実施の形態にかかるオンラインゲームの進行、及びそれに係るデータの流れを模式的に示す図である。
【図１０】本発明の実施の形態にかかるオンラインゲームの進行、特にバトルにおけるプレイヤキャラクタの追加に係るゲームの進行、及びそれに係るデータの流れを模式的に示す図である。
【図１１】本発明の実施の形態にかかるオンラインゲームのデータの流れ、頻度、及びフォーマットを模式的に示す図である。
【図１２】図１、図３のゾーンサーバ装置において実行される処理を示すフローチャートである。
【図１３】図１、図３のバトルサーバ装置において実行される処理を示すフローチャートである。
【図１４】図１、図２のビデオゲーム装置において実行される処理を示すフローチャートである。
【発明を実施するための形態】
【００３６】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【００３７】
この実施の形態にかかるオンラインゲームは、同時に当該オンラインゲームに参加する複数のプレイヤが、仮想空間としてのフィールドにおいて、自己のプレイヤキャラクタを移動させながら、当該プレイヤキャラクタにそのフィールドに存在する敵キャラクタとの戦闘（バトル）を行わせることで進行するＭＭＯＲＰＧである。
【００３８】
図１は、この実施の形態にかかるオンラインゲームが行われるネットワークシステムの全体構成を示すブロック図である。図示するように、このネットワークシステムは、複数のビデオゲーム装置１００がインターネット１５１を介してサーバ群２５０に接続されて構成される。
【００３９】
サーバ群２５０は、ＬＡＮ（Local Area Network）２５１を介して互いに接続されたゾーンサーバ装置２００、２台のバトルサーバ装置３００、及び通常においてこの実施の形態にかかるオンラインゲーム以外に係る処理を行うサーバ装置であるゲーム外サーバ装置３５０を含み、これらがインターネット１５１を介してビデオゲーム装置１００に接続される。
【００４０】
ゾーンサーバ装置２００は、フィールドにおける全てのプレイヤキャラクタ、並びに敵キャラクタの位置、及び外見などに係る情報を管理するものである。そして、ゾーンサーバ装置２００からビデオゲーム装置１００に送信される情報は、主にビデオゲーム装置１００の表示装置に表示されるフィールド上におけるキャラクタの外観的な情報に係るものである。
【００４１】
バトルサーバ装置３００は、プレイヤキャラクタと敵キャラクタとのバトルの開始によって、１のバトルにつき１のバトルサーバプロセスを起動する。そのバトルサーバプロセスは１または複数のプレイヤキャラクタ、及び複数の敵キャラクタから成るバトルの構成単位としてのバトルグループ（後述する）毎にバトルの進行、並びにそれに係るプレイヤキャラクタ、及び敵キャラクタの情報（位置、外見及びその他のパラメータ等）を管理し、処理するものである。
【００４２】
そして、バトルサーバ装置３００からビデオゲーム装置１００に送信される情報は、ビデオゲーム装置１００で操作されるプレイヤキャラクタのバトルの進行にかかる情報であり、フィールド上におけるキャラクタの外観的な情報だけではなく、バトルの進行内容（パラメータの増減等）に係る情報が含まれるものとなる。
【００４３】
以下において、バトルサーバ装置に関して、バトルサーバ、或いはバトルサーバプロセスというときは、ハードウェア資源それ自体を指すものでなく、機能としてのプロセスのことを指し、バトルサーバ装置というときは、ハードウェア資源それ自体を指すものとして説明する。
【００４４】
さらに、サーバ群２５０には、ゲーム外サーバ装置３５０が含まれる。このゲーム外サーバ装置３５０は、通常、この実施の形態にかかるオンラインゲーム以外の処理として、例えばＣＧ（Computer Graphics）を生成する処理などを行っており、バトルサーバ装置３００が最低限備える情報（後述する、エリア毎の敵キャラクタ組合せテーブル等）については、予め記憶されている。
【００４５】
そして、バトルサーバ装置３００において、起動可能な最大数までのバトルサーバプロセスが起動された場合に、予備のバトルサーバ装置３００として用いられるものとなる。以下、ゲーム外サーバ装置３５０に関して、特に区別しないときは、バトルサーバ装置３００と同等のものとして扱うものとする。
【００４６】
次に、ビデオゲーム装置１００、ゾーンサーバ装置２００及びバトルサーバ装置３００の構成について説明する。図２は、図１のビデオゲーム装置１００の構成を示すブロック図である。図示するように、ビデオゲーム装置１００は、ビデオゲーム本体１０１を中心として構築される。このビデオゲーム本体１０１は、その内部バス１１９に接続された制御部１０３、ＲＡＭ（Random Access Memory）１０５、ハードディスク・ドライブ（ＨＤＤ）１０７、サウンド処理部１０９、グラフィック処理部１１１、ＤＶＤ／ＣＤ−ＲＯＭドライブ１１３、通信インターフェイス１１５、及びインターフェイス部１１７を含む。
【００４７】
このビデオゲーム本体１０１のサウンド処理部１０９は、スピーカーであるサウンド出力装置１２５に、グラフィック処理部１１１は、表示画面１２２を有する表示装置１２１に接続されている。ＤＶＤ／ＣＤ−ＲＯＭドライブ１１３には、記録媒体（本実施の形態では、ＤＶＤ−ＲＯＭまたはＣＤ−ＲＯＭ）１３１を装着し得る。通信インターフェイス１１５は、ネットワーク１５１に接続される。インターフェイス部１１７には、入力部（コントローラ）１６１とメモリーカード１６２とが接続されている。
【００４８】
制御部１０３は、ＣＰＵ（Central Processing Unit）やＲＯＭ（Read Only Memory）などを含み、ＨＤＤ１０７や記録媒体１３１上に格納されたプログラムを実行し、ビデオゲーム本体１０１の制御を行う。制御部１０３は、内部タイマを備えている。ＲＡＭ１０５は、制御部１０３のワークエリアである。ＨＤＤ１０７は、プログラムやデータを保存するための記憶領域である。サウンド処理部１０９は、制御部１０３により実行されているプログラムがサウンド出力を行うよう指示している場合に、その指示を解釈して、サウンド出力装置１２５にサウンド信号を出力する。
【００４９】
グラフィック処理部１１１は、制御部１０３から出力される描画命令に従って、フレームバッファ（フレームメモリ）１１２（図では、グラフィック処理部１１１の外側に描かれているが、グラフィック処理部１１１を構成するチップに含まれるＲＡＭ内に設けられる）に画像データを展開し、表示装置１２１の表示画面１２２上に画像を表示するビデオ信号を出力する。グラフィック処理部１１１から出力されるビデオ信号に含まれる画像の１フレーム時間は、例えば３０分の１秒である。
【００５０】
ＤＶＤ／ＣＤ−ＲＯＭドライブ１１３は、記録媒体１３１に対しプログラム及びデータの読み出しを行う。通信インターフェイス１１５は、ネットワーク１５１に接続され、他のコンピュータとの通信を行う。入力部１６１は、方向キー及び複数の操作ボタンを備える。方向キーは、フィールドで自己のプレイヤキャラクタを移動させるために用いられる。操作ボタンは、後述する敵キャラクタへの攻撃、魔法の実行をプレイヤキャラクタにさせるために用いられるボタンを含む。
【００５１】
インターフェイス部１１７は、入力部１６１からの入力データをＲＡＭ１０５に出力し、制御部１０３がそれを解釈して演算処理を実施する。インターフェイス部１１７は、また、制御部１０３からの指示に基づいて、ＲＡＭ１０５に記憶されているゲームの進行状況を示すデータをメモリーカード１６２に保存させ、メモリーカード１６２に保存されている中断時のゲームのデータを読み出して、ＲＡＭ１０５に転送する。
【００５２】
ビデオゲーム装置１００でゲームを行うためのプログラム及びデータは、最初例えば記録媒体１３１に記憶されている。記録媒体１３１に記憶されているデータとしては、ゲーム空間に存在するフィールドを構成するためのグラフィックデータを含んでいる。記録媒体１３１に記憶されたプログラム及びデータは、実行時にＤＶＤ／ＣＤ−ＲＯＭドライブ１１３により読み出されて、ＲＡＭ１０５にロードされる。制御部１０３は、ＲＡＭ１０５にロードされたプログラム及びデータを処理し、描画命令をグラフィック処理部１１１に出力し、サウンド出力の指示をサウンド処理部１０９に出力する。制御部１０３が処理を行っている間の中間的なデータは、ＲＡＭ１０５に記憶される。
【００５３】
図３は、図１のゾーンサーバ装置２００、バトルサーバ装置３００、及びゲーム外サーバ装置３５０の構成を示すブロック図である。図示するように、ゾーンサーバ装置２００、及びバトルサーバ装置３００は、サーバ本体２０１を中心として構築される。サーバ本体２０１は、その内部バス２１９に接続された制御部２０３、ＲＡＭ２０５、ハード・ディスク・ドライブ（ＨＤＤ）２０７、ＤＶＤ／ＣＤ−ＲＯＭドライブ２１３、通信インターフェイス２１５を含む。ＤＶＤ／ＣＤ−ＲＯＭドライブ２１３には、記録媒体（ＤＶＤ−ＲＯＭまたはＣＤ−ＲＯＭ）２３１を装着し得る。
【００５４】
制御部２０３は、ＣＰＵ（Central Processing Unit）やＲＯＭ（Read Only Memory）などを含み、ＨＤＤ２０７や記録媒体２３１上に格納されたプログラムを実行し、ゾーンサーバ装置２００、及びバトルサーバ装置３００の制御を行う。制御部２０３は、現在時刻を計時する内部タイマを備えている。ＲＡＭ２０５は、制御部２０３のワークエリアである。ＨＤＤ２０７は、プログラムやデータを保存するための記憶領域である。通信インターフェイス２１５は、ネットワーク１５１に接続され、ビデオゲーム装置１００のそれぞれとの通信を行い、また、ローカルエリアネットワーク（ＬＡＮ）にも接続され、ゾーンサーバ装置２００、及びバトルサーバ装置３００は相互に通信を行う。
【００５５】
ゾーンサーバ装置２００、及びバトルサーバ装置３００でオンラインゲームを行うためのプログラム及びデータは、最初例えば記録媒体２３１に記憶され、ここからＨＤＤ２０７にインストールされる。
【００５６】
また、この記録媒体２３１に記憶されるデータは、ゾーンサーバ装置２００のものと、バトルサーバ装置３００のものとで異なり、ゾーンサーバ装置２００の記録媒体２３１に記憶されるデータには、フィールドを構成するための形状のデータ、及びグラフィックデータは含まれておらず、後述するフィールドの範囲、およびマス目に関するデータが含まれる。一方、バトルサーバ装置３００の記録媒体２３１に記憶されるデータには、フィールドの形状のデータは含まれるが、マス目に関するデータは含まれていない（全く同じデータを用意しておいてもよい）。
【００５７】
そして、このプログラム及びデータは実行時にＨＤＤ２０７から読み出されて、ＲＡＭ２０５にロードされる。制御部２０３は、ＲＡＭ２０５にロードされたプログラム及びデータを処理し、ビデオゲーム装置１００のそれぞれから送られてくる情報などを元にオンラインゲームを進行させる。制御部２０３が処理を行っている間の中間的なデータは、ＲＡＭ２０５に記憶される。
【００５８】
次にこの実施の形態にかかるオンラインゲームのフィールド構成について説明する。図４はこの実施の形態にかかるオンラインゲームのフィールド構成を示すものである。フィールド４００には、複数のプレイヤキャラクタ４０１、及び敵キャラクタ４０２が存在しており、そのフィールド４００上においてバトルも行われるものとなっている。
【００５９】
このフィールド４００内であれば、プレイヤは各自のプレイヤキャラクタ４０１を自由に移動させることができ、全てのプレイキャラクタ４０１、及び敵キャラクタ４０２のフィールド４００における位置の情報はゾーンサーバ装置２００で管理されるものとなっている。
【００６０】
また、ゾーンサーバ装置２００は、このフィールド４００に対するマス目４１０の情報を保持している。このマス目４１０は、表示装置１２１の表示画面１２２に表示させるための、当該ビデオゲーム装置１００で操作されるプレイキャラクタ４０１の各々の周辺のフィールド４００の情報（以下、「周辺情報」とする）を特定するために用いられる。
【００６１】
このマス目４１０によって、周辺情報は、当該プレイヤキャラクタ４０１の存在するマス目４１０及びその周囲８つのマス目４１０の範囲に存在する、他のビデオゲーム装置１００によって操作されるプレイヤキャラクタ４０１（他のプレイヤキャラクタ）、並びに敵キャラクタ４０２の位置及び外見に係る情報に特定され、ゾーンサーバ装置２００から当該ビデオゲーム装置１００に送信されるものとなる。
【００６２】
さらに、フィールド４００は、エリア境界４１１によって複数のエリア４１２（図４においては３からなるエリア４１２）に分割されており、そのエリア４１２毎に存在する敵キャラクタ４０２に係るバトルにおいて、エリア４１２毎に当該バトルに参加する敵キャラクタ４０２の組合せが異なるものとなっている（エリア４１２毎に組み合わされる敵キャラクタの種類については後述する）。
【００６３】
バトルはフィールド４００に存在する敵キャラクタ４０２に対して、プレイヤキャラクタ４０１が最初の一撃を与えることによって開始されるものとなるが、バトルの開始に先立ち、バトルサーバ装置３００において当該バトルを進行させるためのバトルサーバプロセスが生成される。バトルはフィールド４００で行われるものとなり、表示画面１２２ではシームレスに展開するものとなる。バトルが開始されると、フィールド４００に存在していた敵キャラクタ４０２以外に新たな敵キャラクタ４０２がバトルに参加するものとなり、それらとプレイヤキャラクタ４０１（他のプレイヤキャラクタ４０１も追加されることがある）と（以下、これらをまとめて「バトルグループ」とする）によってバトルが進行するものとなる。
【００６４】
バトルが開始されても、フィールド４００上の当該バトルに係るプレイヤキャラクタ４０１、及び敵キャラクタ４０２の位置、及び外見に係る情報は、引き続きゾーンサーバ装置２００によって管理されるものの、バトルの進行はバトルサーバ装置３００におけるバトルサーバプロセスで管理されるようになる。
【００６５】
次に、バトルサーバ装置３００のバトルサーバプロセスで管理される、バトルの進行について説明する。バトルは、フィールド４００上において、プレイヤキャラクタ４０１の敵キャラクタ４０２に対する最初の攻撃で開始されるものとなる。このようにバトルが開始される際に、このバトルに参加する敵キャラクタ４０２（バトル開始前においてフィールド４００に存在した敵キャラクタ４０２とは異なる敵キャラクタ）の組合せが決定される。
【００６６】
バトルには、他のプレイヤキャラクタ４０１も参加することがあり、当該バトルに参加している敵キャラクタ４０２、或いはプレイヤキャラクタ４０１の何れか一方が全て倒される（キャラクタのパラメータとしてのＨＰ（ヒットポイント）が０となる状態）と、バトルが終了するものとなる。
【００６７】
図５（ａ）〜（ｊ）は、この実施の形態にかかるオンラインゲームにおけるバトルについての表示画面１２２の例を示す図である。ここで展開されるバトルは、複数のプレイヤキャラクタ４０１、及び複数の敵キャラクタ４０２で進行するものであり、それぞれ異なる符号によって区別するものとする。
【００６８】
図５（ａ）に示すように、フィールド４００上に存在する敵キャラクタ４０２−１の近辺を移動中のプレイヤキャラクタ４０１−１が、図５（ｂ）に示すように、バトル開始の意志の表明として、敵キャラクタ４０２−１に対して最初の攻撃（以下、「バトル意志行動」とする）をすると、バトルが開始されるものとなる。
【００６９】
バトルが開始されるに先立ち、まずはバトルサーバ装置３００にバトルサーバプロセスが生成され、このバトル意志行動後のそのバトルに係る処理はすべてバトルサーバプロセスで管理されるものとなる。まずバトルを開始する際に、敵キャラクタ４０２−１の存在するフィールド４００上のエリア４１２の位置から、当該バトルに参加させる敵キャラクタ４０２の組合せ、及び組み合わされた敵キャラクタ４０２の出現タイミングを決定する。このバトルにおいては、バトル開始直後に敵キャラクタ４０２−２が出現し、敵キャラクタ４０２−２が倒された後、敵キャラクタ４０２−３が出現するものとする。
【００７０】
バトルが開始されると、図５（ｃ）に示すように、敵キャラクタ４０２の組合せとして決定されたもののうち、１体の敵キャラクタ４０２−２が出現する。バトルは進み、図５（ｄ）において、その敵キャラクタ４０２−２がプレイヤキャラクタ４０１−１によって、攻撃され倒されると、続いて、図５（ｅ）に示すように構成敵キャラクタとして決定された残りの敵キャラクタ４０２−３が出現する。
【００７１】
図５（ｆ）では、敵キャラクタ４０２−１、及び４０２−３とプレイヤキャラクタ４０１−１によってバトルが続けられているが、図５（ｇ）に示すように当該バトルを行っているプレイヤキャラクタ４０１−１、及び敵キャラクタ４０２−１、４０２−３の近辺を移動中のプレイヤキャラクタ４０１−２は、プレイヤキャラクタ４０１−１に対して回復させる魔法を使うこと（キャラクタパラメータとしてのＨＰを増加させる行動）（これも、「バトル意志行動」として定義する）によって、そのプレイヤキャラクタ４０１−１を操作するビデオゲーム装置１００は当該バトルを進行しているバトルサーバプロセスとの通信を確立し、当該バトルに参加するものとなる。
【００７２】
図５（ｈ）では、新たに参加することになったプレイヤキャラクタ４０１−２とプレイヤキャラクタ４０１−１とによって、敵キャラクタ４０２−１、４０２−３とのバトルが進み、最終的に図５（ｉ）に示すように、全ての敵キャラクタ４０２を倒すことによってバトルが終了するものとなる。
【００７３】
バトルの終了後は、図５（ｊ）に示すように、倒された敵キャラクタ４０２はフィールド４００上において表示されないものとなり、再び、ゾーンサーバ装置２００による位置の管理の下、プレイヤキャラクタ４０１−１、４０１−２は、バトル終了直後のそれぞれのフィールド４００上の位置からフィールド４００を移動できるようになる。このように、表示画面１２２において、バトルはフィールド４００上で、シームレスに展開するものとなっている。
【００７４】
なお、このようなバトルを行っていないプレイヤキャラクタ４０１を操作するビデオゲーム装置１００の表示画面１２２によって、バトル中のプレイヤキャラクタ４０１、及び敵キャラクタ４０２を確認することができるものとなっている。このために、ゾーンサーバ装置、バトルサーバ装置等で行う処理については後述する。
【００７５】
次に、この実施の形態にかかるオンラインゲームを進行させるため、ゾーンサーバ装置２００、及びバトルサーバ装置３００において管理されるデータ、並びにビデオゲーム装置１００において記憶されるデータについて説明する。図６は、この実施の形態にかかるオンラインゲームを実行させるためにゾーンサーバ装置２００において管理されるテーブルを示す図である。
【００７６】
図６（ａ）は、フィールド４００におけるキャラクタの位置、及び外見等にかかる情報を管理するためのフィールドキャラクタテーブル６００であり、図６（ｂ）は、複数のバトルサーバ装置３００のそれぞれにおけるバトルサーバプロセスの起動数を管理するためのプロセス起動管理テーブル６１０である。
【００７７】
図６（ａ）に示すフィールドキャラクタテーブル６００には、フィールド４００上に存在する全てのキャラクタ毎にＩＤ６０１と、送信先ＩＰアドレス６０２（プレイヤキャラクタのみ）と、名前／種類情報６０３と、形態情報６０４と、位置情報６０５と、パラメータＡ情報６０６と、パラメータＢ情報６０７と、参加バトルサーバプロセス情報６０８とが記憶される。
【００７８】
ＩＤ６０１は、プレイヤキャラクタ４０１、及び敵キャラクタ４０２を一意に識別するための識別情報である。送信先ＩＰアドレス６０２は、プレイヤキャラクタ４０１を操作するビデオゲーム装置１００に対して、そのプレイヤキャラクタ４０１についてのフィールドの周辺情報を送信するために用いられるビデオゲーム装置１００のＩＰアドレスが記憶されている。
【００７９】
名前／種類情報６０３は、プレイヤキャラクタ４０１に関してはその名前を表示画面１２２に表示するため、敵キャラクタ４０２に関してはその種類を特定し、表示画面１２２に表示するための情報として用いられる。形態情報６０４は、プレイヤキャラクタ４０１及び敵キャラクタ４０２のフィールド４００上での外見（中でも服装、体格、顔貌等）を表すために用いられる情報である。位置情報６０５は、プレイヤキャラクタ４０１及び敵キャラクタ４０２のフィールド４００上での位置を示す。
【００８０】
パラメータＡ情報６０６は、バトル中、または移動中において刻々と変化し得るものとして、プレイヤキャラクタ４０１、及び敵キャラクタ４０２の外観として表示画面１２２に現れるパラメータに関する情報である。例えば、敵からの通常とは異なる攻撃によってなる毒状態（キャラクタのＨＰが一定時間毎に微減する状態）が、プレイヤキャラクタ４０１、及び敵キャラクタ４０２の外観として表示画面１２２に現れるものとするなら、それ等がパラメータＡ情報６０６に該当する。
【００８１】
一方、パラメータＢ情報６０７は、バトル中、または移動中において刻々と変化するものではないが、プレイヤキャラクタ４０１及び敵キャラクタ４０２の外観として表示画面１２２に現れるパラメータに関する情報であり、例えば、体格や筋力といったものがこれに該当する。具体的には、パラメータＢ情報６０７としての、体格や筋力の数値が高ければ、表示画面１２２に表示するフィールド上でのプレイヤキャラクタ４０１、及び敵キャラクタ４０２が、それらの数値が低いものよりも大きく表示されることになる。
【００８２】
さらに、パラメータに関する情報として、図６（ａ）に示すフィールドキャラクタテーブル６００において特に管理はしないが（プレイヤキャラクタに送信する情報ではなく、ただ保持しておくだけのものでもよい）、プレイヤキャラクタ４０１、及び敵キャラクタ４０２の外観として現れないパラメータに関する、パラメータＣ情報、及びパラメータＤ情報がある（後述するバトルキャラクタテーブルでは管理される）。パラメータＣ情報は、バトル中、または移動中において刻々と変化するものであり、例えば、キャラクタのＨＰ、或いはＭＰ（マジックポイント、魔法を使う度に減少する）といったものがある。
【００８３】
一方、パラメータＤ情報は、バトル中、または移動中において刻々と変化するものでない、例えば、攻撃力、或いは防御力といった、攻撃、魔法等の行動の結果として表れるダメージ（ＨＰの減少）量を計算する上で用いるパラメータに関するものである。
【００８４】
つまり、パラメータＡ、Ｂは外観として表示画面１２２に現れるものであるため、外観に係る情報を各ビデオゲーム装置に送信するゾーンサーバ装置２００は、これらの情報を保持するものである。対して、パラメータＣ、Ｄは外観として表示画面１２２に現れないものであるが、これらの情報は、バトルのダメージ量を求める上で必要な情報であり、後述する、バトルキャラクタテーブルに保持するものとなる。
【００８５】
参加バトルサーバプロセス情報６０８は、プレイヤキャラクタ４０１、及び敵キャラクタ４０２がバトル中であれば、当該バトルに係るバトルサーバプロセスの識別情報が記憶されるものとなっており、バトル中でなければ、何の情報も記憶されていない状態（ＮＵＬＬ）となっている。
【００８６】
これらの情報は、全て後述するビデオゲーム装置１００、及びバトルサーバ装置３００から送信される情報を基に登録、更新されるものであり、移動中においては、定期的（例えば、０．５秒毎）にビデオゲーム装置１００から送信される位置、及び形態に係る情報において、形態情報６０４、位置情報６０５、パラメータＡ情報６０６、及びパラメータＢ情報６０７がそれぞれ更新されるものとなる。
【００８７】
一方、ゾーンサーバ装置２００は、フィールドキャラクタテーブル６００に登録された全てのプレイヤキャラクタ４０１を操作するビデオゲーム装置１００に対して、前記した当該プレイヤキャラクタ４０１の周辺情報として特定される、プレイヤキャラクタ４０１、及び敵キャラクタ４０２のＩＤ６０１、名前／種類情報６０３、形態情報６０４、位置情報６０５、パラメータＡ情報６０６、パラメータＢ情報６０７、及び参加バトルサーバプロセス情報６０８を、定期的（例えば、１．０秒毎）に送信する。
【００８８】
続いて、図６（ｂ）に示すバトルサーバプロセスの起動数を管理するためのプロセス起動管理テーブル６１０には、装置情報６１１と、プロセス数６１２とが記憶されている。
【００８９】
装置情報６１１は、２台のバトルサーバ装置３００、及びゲーム外サーバ装置３５０のそれぞれを特定する情報が登録されており、プロセス数６１２には、バトルサーバ装置３００、及びゲーム外サーバ装置３５０が同時に起動しているサーバプロセスの数を記憶している。
【００９０】
プロセス数６１２では、バトルサーバ装置３００及びゲーム外サーバ装置３５０から送信された情報を基に、それぞれのバトルサーバ装置３００、及びゲーム外サーバ装置３５０において、バトルサーバプロセスの数を１のバトルサーバプロセスの起動により１増加させ、１のバトルサーバプロセスの終了によって１減少させる。
【００９１】
なお、バトルの実行に際し、当該バトルの進行を管理するバトルサーバプロセスを２つのバトルサーバ装置３００のうちどちらで起動するかについては、バトルサーバプロセスの起動数が少ないバトルサーバ装置を優先的に選択して起動させるようにする。
【００９２】
また、すでに２台のバトルサーバ装置３００で所定の起動可能な最大数までのバトルサーバプロセスが起動しているときにおいて、さらに新たなバトルが実行されるときは、ゲーム外サーバ装置３５０に、そこで実行しているこの実施の形態にかかるオンラインゲーム以外の処理を中断させて、当該バトルに係るバトルサーバプロセスを起動させ、バトルサーバ装置３００と同様の処理を行わせるものとする。
【００９３】
図７は、この実施の形態にかかるオンラインゲームを実行させるためにバトルサーバ装置３００において管理されるテーブルを示す図である。図７（ａ）は、フィールド４００におけるエリア４１２毎の敵キャラクタ組合せテーブル７００であり、図７（ｂ）は、バトルサーバプロセス毎に進行されるバトルにおけるプレイヤキャラクタ４０１、及び敵キャラクタ４０２の情報を管理するためのバトルキャラクタテーブル７１０である。
【００９４】
図７（ａ）に示すエリア４１２毎の敵キャラクタ組合せテーブル７００は、それぞれのバトルサーバ装置において記憶されており、そのバトルサーバ装置で起動される複数のバトルサーバプロセスにおいて共有されるものとなっている。そして、エリア４１２毎の敵キャラクタ組合せテーブル７００には、エリア４１２情報７０１と、構成敵キャラクタ７０２が記憶されている。バトルにおける敵キャラクタ４０２の組合せは、エリア４１２毎に異なるものであり、また、その敵キャラクタ４０２の合計数も異なっている。
【００９５】
プレイヤキャラクタ４０１による、フィールド４００上に存在する敵キャラクタ４０２にバトル意志行動を行うと、その敵キャラクタ４０２が存在するエリア４１２がエリア情報７０１として特定され、そのエリア４１２に応じて、追加される敵キャラクタ４０２の種類が特定される。そのようにして特定された敵キャラクタ４０２は、プレイヤキャラクタ４０１、及びフィールドに存在していた敵キャラクタ４０２とともに、バトルキャラクタテーブル７１０に登録されるものとなる。
【００９６】
図７（ｂ）に示すバトルキャラクタテーブル７１０には、バトルサーバプロセス毎に管理されるバトルに参加するプレイヤキャラクタ４０１、及び敵キャラクタ４０２のＩＤ７１１と、送信先ＩＰアドレス７１２と、名前／種類情報７１３と、形態情報７１４と、位置情報７１５と、パラメータＡ情報７１６と、パラメータＢ情報７１７と、パラメータＣ情報７１８と、パラメータＤ情報７１９と、追加待ちフラグ７２０が管理されている。
【００９７】
ＩＤ７１１は、前記したゾーンサーバ装置２００で管理されるプレイヤキャラクタ４０１（バトルの途中で参加するプレイヤキャラクタ４０１も同様）、及び敵キャラクタ４０２のＩＤ６０１と同じものが登録されるものとなる。また、バトルによって、新たに追加することになる敵キャラクタ４０２に対しては、バトルサーバプロセスによって送信されるバトル周辺情報（後述する）に基づいて、図６（ａ）に示すフィールドキャラクタテーブル６００で管理されるＩＤ６０１においても一意のＩＤ７１１が設定・登録されるものとなる。
【００９８】
送信先ＩＰアドレス７１２は、プレイヤキャラクタ４０１に関しては、そのプレイヤキャラクタ４０１についてのバトルの進行情報を送信するために、当該プレイヤキャラクタ４０１を操作するビデオゲーム装置１００のＩＰアドレスが記憶されている。また、敵キャラクタ４０２に関しては、その敵キャラクタ４０２についての位置、外見の情報を送信するために、ゾーンサーバ装置のＩＰアドレスが記憶されている。
【００９９】
名前／種類情報７１３、形態情報７１４については、プレイヤキャラクタ４０１、及び敵キャラクタ４０２（当該バトルで新たに参加する敵キャラクタ４０２を除く）のものは、図６（ａ）に示すフィールドキャラクタテーブル６００で管理される名前／種類情報６０３、及び形態情報６０４と同様のものが登録される。また、当該バトルで新たに参加する敵キャラクタ４０２の名前／種類情報７１３は、追加が決定された敵キャラクタ４０２の種類が登録され、形態情報７１４は、当該敵キャラクタ４０２に固有の形態情報７１４が登録されるものとなる。
【０１００】
位置情報７１５については、初めてバトルキャラクタテーブル７１０に登録されるときは、プレイヤキャラクタ４０１、及び敵キャラクタ４０２（当該バトルで新たに参加する敵キャラクタ４０２を除く）のものは、図６（ａ）に示すフィールドキャラクタテーブル６００で管理される位置情報６０５のものが登録される。また、当該バトルで新たに参加する敵キャラクタ４０２の位置情報７１５については、当該プレイヤキャラクタ４０１の近辺の所定の位置（例えば、プレイヤキャラクタ４０１の位置に対して、Ｘ軸方向に＋２、Ｙ軸方向に＋２の位置など）が登録される。
【０１０１】
パラメータＡ情報７１６、パラメータＢ情報７１７については、初めてバトルキャラクタテーブル７１０に登録されるときは、プレイヤキャラクタ４０１に関しては、後述するビデオゲーム装置１００に記憶されているものと同様の情報が登録される。
【０１０２】
また、敵キャラクタ４０２（当該バトルで新たに参加する敵キャラクタ４０２を除く）に関しては、図６（ａ）に示すフィールドキャラクタテーブル６００で管理されるパラメータＡ情報６０６、パラメータＢ情報６０７と同様の内容の情報が登録される。さらに、当該バトルで新たに参加する敵キャラクタ４０２のパラメータＡ情報７１６、パラメータＢ情報７１７については、当該敵キャラクタ４０２に固有のパラメータＡ情報７１６、パラメータＢ情報７１７が登録されるものとなる。
【０１０３】
パラメータＣ情報７１８、及びパラメータＤ情報７１９については、初めてバトルキャラクタテーブル７１０に登録されるときは、プレイヤキャラクタ４０１のものは、後述するビデオゲーム装置１００に記憶されているものと同様の情報が登録される。一方、敵キャラクタ４０２のパラメータＣ情報７１８、及びパラメータＤ情報７１９については、当該敵キャラクタ４０２に固有のパラメータＣ情報７１８、パラメータＤ情報７１９が登録されるものとなる。
【０１０４】
追加待ちフラグ７２０については、バトルにおいて、追加が決定され、バトルキャラクタテーブル７１０に登録された敵キャラクタ４０２が、当該バトルにおいて実際にフィールド４００に追加されるタイミングを計るためのものである。つまり、追加待ちフラグ７２０が１から０となったとき、当該追加待ちフラグ７２０の設定された敵キャラクタ４０２をフィールド４００に追加する。
【０１０５】
例えば、図５に示すバトルの展開では、バトルの開始直後からフィールド４００に追加される敵キャラクタ４０２−２については、バトルキャラクタテーブル７１０に登録されたときから、追加待ちフラグ７２０には０が設定されている。一方、敵キャラクタ４０２−２が倒されることで出現する、追加敵キャラクタ４０２−３には、バトル開始直後で追加待ちフラグ７２０に１が登録されており、敵キャラクタ４０２−２が倒されると、当該追加待ちフラグ７２０が０になる。このタイミングで、フィールド４００に当該追加敵キャラクタ４０２−３が追加されるものとなる。
【０１０６】
また、このような敵キャラクタ４０２の追加される順番は、敵キャラクタ組合せテーブル７００の左端の構成敵キャラクタ７０２に記憶される種類の敵キャラクタ４０２から順に行われるものであり、バトルキャラクタテーブル７１０への登録もその順番でレコードが生成されるもの（ＩＤ７１１の昇順）となる。
【０１０７】
これらバトルキャラクタテーブルに登録されるプレイヤキャラクタ４０１、及び敵キャラクタ４０２の、位置情報７１５と、パラメータＡ情報７１６と、パラメータＢ情報７１７と、パラメータＣ情報７１８と、パラメータＤ情報７１９とに関しては、バトルが終了するまで、バトルキャラクタテーブル７１０に登録されるビデオゲーム装置１００から送信される入力情報と、当該バトルキャラクタテーブル７１０を管理するバトルサーバプロセスのゲーム進行に係る処理とに従って更新されるものとなる。このようにして更新されたこれらの情報は、３０分の１秒毎に当該ビデオゲーム装置１００に送信されるものとなる。
【０１０８】
一方、ゾーンサーバ装置２００に対しては、バトルサーバプロセスによって、バトルキャラクタテーブル７１０に登録されたプレイヤキャラクタ４０１、及び敵キャラクタ４０２（追加待ちフラグ７２０が１となっている敵キャラクタ４０２（バトルキャラクタテーブル７１０に登録はされているが、フィールド４００上に追加されていない敵キャラクタ４０２）を除く）の位置情報７１５と、パラメータＡ情報７１６と、パラメータＢ情報７１７とがバトル周辺情報として、バトル終了まで、例えば０．５秒のタイミングで送信されるものとなる。
【０１０９】
図８は、ビデオゲーム装置１００において記憶されるデータの構成を示す図である。ここには、ＩＤ８０１と、名前情報８０２と、形態情報８０３と、位置情報８０４と、パラメータＡ情報８０５と、パラメータＢ情報８０６と、パラメータＣ情報８０７と、パラメータＤ情報８０８と、ゾーンサーバ装置識別情報８０９と、バトルサーバプロセス識別情報８１０とが記憶される。
【０１１０】
ＩＤ８０１は、このＩＤ８０１が記憶されるビデオゲーム装置１００で操作するプレイヤキャラクタ４０１に固有のものであり、前記ＩＤ６０１、及びＩＤ７１１として記憶されるものと同じものである。このＩＤ８０１とＩＤ６０１、及びＩＤ７１１とによって、フィールド４００上で移動中、或いはバトル中のプレイヤキャラクタ４０１と、それを操作する当該ビデオゲーム装置１００とが一意的に特定されるものとなる。
【０１１１】
名前情報８０２、形態情報８０３は、前記した図６（ａ）のキャラクタ外観テーブル、或いは図７（ｂ）のバトルキャラクタテーブル７１０において記憶されるものと同じ内容の情報であり、名前情報８０２は当該ビデオゲーム装置１００で操作されるプレイヤキャラクタ４０１の名前に係る情報を記憶しており、形態情報８０３は当該ビデオゲーム装置１００で操作されるプレイヤキャラクタ４０１の形態に係る情報を記憶している。
【０１１２】
位置情報８０４は、当該ビデオゲーム装置１００で操作されるプレイヤキャラクタ４０１のフィールド４００上での位置を記憶するものであり、プレイヤキャラクタ４０１がフィールド４００を移動中である場合においては、プレイヤの入力部１６１の移動操作がされることにより、更新されるものとなる。
【０１１３】
一方、バトル中においては、プレイヤの移動操作によって、それを入力情報としてバトルサーバ装置３００に送信し、それを基にバトルの進行の処理を実行して得られたバトル進行情報をビデオゲーム装置１００で受信する。このようにして得られたバトル進行情報によって、バトル中の位置情報８０４は更新されるものとなる。
【０１１４】
パラメータＡ情報８０５、パラメータＢ情報８０６、パラメータＣ情報８０７、及びパラメータＤ情報８０８については、前記した図６（ａ）のキャラクタ外観テーブル、或いは図７（ｂ）のバトルキャラクタテーブル７１０に記憶されるものと同じ内容の情報である。プレイヤキャラクタ４０１がフィールド４００を移動中である場合にあっては、パラメータＡ情報８０５、及びパラメータＢ情報８０６（外観として表示画面１２２に現れるもの）に関しては、ＩＤ８０１、名前情報８０２、形態情報８０３、及び位置情報８０４と併せて、定期的（０．５秒毎）にゾーンサーバ装置２００に送信されるものとなる。
【０１１５】
一方、バトル中である場合には、前記したバトルサーバ装置３００から送信されたバトル進行情報によって、パラメータＡ情報８０５、パラメータＢ情報８０６、パラメータＣ情報８０７、及びパラメータＤ情報８０８が更新されるものとなる。
【０１１６】
ゾーンサーバ装置識別情報８０９は、これを記憶するビデオゲーム装置１００との通信を行っているゾーンサーバ装置２００のＩＰアドレス等の情報を記憶するものである。バトルサーバプロセス識別情報８１０は、これを記憶するビデオゲーム装置１００との通信を確立しているバトルサーバプロセスのバトルサーバ装置３００のＩＰアドレス、及びそのバトルサーバ装置で起動される１のバトルサーバプロセスを特定するための情報を記憶するためのものであり、バトル中ではない場合では、ＮＵＬＬとなっている。
【０１１７】
さらに、後述する表示画面１２２に表示するための画像の生成において用いる、ゾーンサーバ装置２００、バトルサーバ装置３００から送信される情報を一時的に記憶させるためのバッファ領域が、それぞれの情報毎に確保される。ゾーンサーバ装置２００から送信される周辺情報については、後述する遅延表示処理のために２の周辺情報が記憶できるだけの記憶領域が確保され、バトルサーバ装置３００から送信されるバトル周辺情報については、リアルタイムで画像を生成するので、１のバトル周辺情報が記憶できるだけの記憶領域が確保される。
【０１１８】
次に、この実施の形態にかかるオンラインゲームの進行、及びデータの流れについて説明する。図９、図１０は、このオンラインゲームの進行、及びデータの流れを模式的に示すものである。図９において示すオンラインゲームの進行は、プレイヤキャラクタ４０１が、敵キャラクタ４０２の複数存在するフィールド４００上を移動し、当該フィールド４００上に存在する１体の敵キャラクタ４０２に対しバトル意志行動をすることによって当該敵キャラクタ４０２とのバトルが行われ、当該バトルが終了するまでの進行を表したものである。
【０１１９】
図９（ａ）に示すように、移動中である複数のプレイヤキャラクタ４０１のそれぞれは、そのプレイヤキャラクタ４０１が操作されるビデオゲーム装置１００と、ゾーンサーバ装置２００とで、データの送受信を行っている。ビデオゲーム装置１００からは、ＩＤ８０１、名前情報８０２、形態情報８０３、位置情報８０４、パラメータＡ情報８０５、及びパラメータＢ情報８０６（これらをまとめて、「外見・位置情報」とする）が、ゾーンサーバ装置２００に送信されるものとなっている。
【０１２０】
一方、ゾーンサーバ装置２００からは、各ビデオゲーム装置１００に対して、当該ビデオゲーム装置１００で操作されるプレイヤキャラクタ４０１の周辺情報として特定される他のプレイヤキャラクタ４０１、及び敵キャラクタ４０２に係るＩＤ６０１、名前情報６０３、形態情報６０４、位置情報６０５、パラメータＡ情報６０６、パラメータＢ情報６０７、及びバトルサーバ情報６０８が送信されるものとなっている。
【０１２１】
また、これらのデータを各装置に送信するタイミングとしては、ビデオゲーム装置１００から送信される外見・位置情報が、例えば、０．５秒毎のタイミングで送信され、ゾーンサーバ装置２００から送信される周辺情報が、例えば、１．０秒毎のタイミングで送信されるものとなっている。
【０１２２】
続いて、移動中のプレイヤキャラクタ４０１のうちの１のプレイヤキャラクタ４０１が敵キャラクタ４０２に対してバトル意志行動を行うと、プレイヤキャラクタ４０１、敵キャラクタ４０２の位置・パラメータの管理をバトルサーバ装置３００に移行させ、バトルの進行をさせるため、図９（ｂ）に示すように、バトルの開始に先立って、ビデオゲーム装置１００と、ゾーンサーバ装置２００と、バトルサーバ装置３００とが互いにデータの送受信を行うものとなっている。
【０１２３】
まず、第１段階目に、バトルが実行されるまでは、当該バトルを行うことになるプレイヤキャラクタ４０１を操作するビデオゲーム装置１００から、ゾーンサーバ装置２００に対して、バトルを行う敵キャラクタ４０２を特定した情報とともに、バトルを行う旨を示した情報（以下、「バトル意志情報」とする）を送信するものとなる。
【０１２４】
続いて、第２段階目に、バトル意志情報を受信したゾーンサーバ装置２００は、それを基にバトルを実行するためのバトルサーバプロセスを生成・起動するためのバトルサーバ装置３００を選択し、当該選択したバトルサーバ装置３００に対して、バトルサーバプロセスを生成・起動を指示する旨の情報とともに、当該バトル意志行動を行ったプレイヤキャラクタ４０１、及びそれに対する敵キャラクタ４０２に係る情報（以下、「プロセス生成指示情報」とする）を送信する。
【０１２５】
ここで、プロセス生成指示情報として、併せて送信されるプレイヤキャラクタ４０１に係る情報とは、当該プレイヤキャラクタ４０１のＩＤ６０１や、当該プレイヤキャラクタ４０１を操作するビデオゲーム装置１００の送信先ＩＰアドレス６０２であり、敵キャラクタ４０２に係る情報とは、当該敵キャラクタ４０２のＩＤ６０１、名前・種類情報６０３、形態情報６０４、位置情報６０５、パラメータＡ情報６０６、及びパラメータＢ情報６０７である。
【０１２６】
そして、第３段階目に、プロセス生成指示情報を受信したバトルサーバ装置３００は、新たなバトルサーバプロセスを生成・起動し、その後速やかに、当該バトルサーバプロセスを特定するための情報（以下、「ＢＳＶ特定情報」とする）をゾーンサーバ装置２００に送信する。
【０１２７】
第４段階目に、ＢＳＶ特定情報を受信したゾーンサーバ装置２００は、すぐに、そのバトルサーバプロセスにおいて実行されるバトルに参加するプレイヤキャラクタ４０１を操作するビデオゲーム装置１００に対して、当該受信したＢＳＶ特定情報を転送する。
【０１２８】
第５段階目に、ＢＳＶ特定情報を受信したビデオゲーム装置１００は、それを基に、バトル意志行動を行ったことによってバトルの処理が行われるバトルサーバプロセスが生成・起動されたバトルサーバ装置３００に対して、当該バトルサーバプロセスと通信を確立するための接続を要求する旨の情報とともに、当該ビデオゲーム装置１００で操作されるプレイヤキャラクタ４０１に係る情報（以下、「接続要求情報」とする）を送信する。
【０１２９】
ここで、接続要求情報として、併せて送信されるプレイヤキャラクタ４０１に係る情報とは、該プレイヤキャラクタ４０１のＩＤ８０１、名前情報８０２、形態情報８０３、位置情報８０４、パラメータＡ情報８０５、パラメータＢ情報８０６、パラメータＣ情報８０７、及びパラメータＤ情報８０８である。
【０１３０】
接続要求情報が受信されると、バトルサーバ装置３００のバトルサーバプロセスは、ビデオゲーム装置１００との通信を確立し、バトルが開始され、終了まで当該バトルの進行の全てを制御するものとなる。バトルが開始されると、図９（ｃ）に示すように、ビデオゲーム装置１００からバトルサーバ装置３００に対しては、ビデオゲーム装置１００によってプレイヤキャラクタ４０１を操作するプレイヤの入力部１６１の入力操作に関する情報（以下、「入力情報」とする）を送信する。
【０１３１】
一方、バトルサーバ装置３００からは、ビデオゲーム装置１００に対して、バトル進行の処理の結果に係る情報（以下、「バトル進行情報」とする）を送信し、ゾーンサーバ装置２００に対しては、バトル周辺情報として、当該バトルに参加する、プレイヤキャラクタ４０１、及び敵キャラクタ４０２のＩＤ７１１、名前／種類情報７１３、形態情報７１４、位置情報７１５、パラメータＡ情報７１６、及びパラメータＢ情報７１７を送信する。
【０１３２】
また、これらのデータを各装置に送信するタイミングとしては、バトルサーバ装置３００から送信されるバトル進行情報は、例えば、３０分の１秒毎のタイミングで送信され、それを受信したビデオゲーム装置１００は、プレイヤの入力操作が検出されれば、それを入力情報としてすぐに送信するものとなっている。一方、バトルサーバ装置３００から送信されるバトル周辺情報は、例えば、０．５秒毎のタイミングで送信されるものとなっている。
【０１３３】
なお、バトル中において、ビデオゲーム装置１００から、ゾーンサーバ装置２００に対しては何のデータも送信されないものとなっているが、ゾーンサーバ装置２００からビデオゲーム装置１００に対しては、定期的（１．０秒毎）に周辺情報が送信されるものとなっている。
【０１３４】
但し、バトル中においてゾーンサーバ装置２００からの周辺情報の送信について、ビデオゲーム装置１００では、後述する表示画面１２２に表示される画像の生成処理にそれを用いるものではなく、エラーにより、バトルサーバ装置３００との通信がバトル中に切断され、緊急的にゾーンサーバ装置２００との通信を確立するために行われているものである。
【０１３５】
バトルにおいて全ての敵キャラクタ４０２が倒されると、当該バトルが終了し、図９（ｄ）に示すように、バトルサーバ装置３００から、ビデオゲーム装置１００、及びゾーンサーバ装置２００に対して、当該バトルが終了したことを示す旨の情報（以下、「バトル終了情報」とする）が送信される。
【０１３６】
このバトル終了情報によって、ビデオゲーム装置１００、及びゾーンサーバ装置２００においてバトルの終了にかかる処理が実行され、図９（ａ）に示すようにビデオゲーム装置１００とゾーンサーバ装置２００とのデータの送受信が再開される。バトルサーバ装置３００においては、バトル終了情報の送信後、バトルサーバプロセスを終了する。
【０１３７】
続いて、図１０において示すオンラインゲームの進行は、バトル中において、当該バトルに参加していない他のプレイヤキャラクタ４０１がバトル意志行動をすることで、当該バトルに参加し、当該バトルが行われている途中までの進行を表したものである。
【０１３８】
図９（ｃ）に示すように移動中のプレイヤキャラクタ４０１のうちの１のプレイヤキャラクタ４０１が、フィールド４００上において当該プレイヤキャラクタ４０１の近辺のバトルに対してバトル意志行動（図５に示した例では、バトル中のプレイヤキャラクタ４０１−１に対する回復魔法の実行）を行うと、図１０（ａ）に示すように、当該バトルの参加に先立って、ビデオゲーム装置１００は、ゾーンサーバ装置２００、及びバトルサーバ装置３００とデータの送受信を行うものとなっている。
【０１３９】
バトルに参加するまでには、まず第１段階目に、当該バトルに参加させるプレイヤキャラクタ４０１を操作するビデオゲーム装置１００から、ゾーンサーバ装置２００に対して、バトル意志情報として、バトル意志行動を行った他のプレイヤキャラクタ４０１、或いは敵キャラクタ４０２を特定する情報（図５に示した例では、プレイヤキャラクタ４０１−１）とともに、バトルを行う旨を示した情報を送信するものとなる。
【０１４０】
続いて第２段階目に、バトル意志情報を受信したゾーンサーバ装置２００は、それを基に、特定したプレイヤキャラクタ４０１、或いは敵キャラクタ４０２が参加しているバトルを実行しているバトルサーバプロセスを特定し、ＢＳＶ特定情報として、バトル意志情報を送信したビデオゲーム装置１００に対して送信する。
【０１４１】
第３段階目に、ＢＳＶ特定情報を受信したビデオゲーム装置１００は、それを基に、バトル意志行動を行ったことによって参加するバトルの処理が行われるバトルサーバプロセスが実行されるバトルサーバ装置３００に対して、当該バトルサーバプロセスと通信を確立するための接続を要求する旨の情報とともに、当該ビデオゲーム装置１００で操作されるプレイヤキャラクタ４０１に係る情報を、接続要求情報として送信する。
【０１４２】
接続要求情報が受信され、バトルサーバ装置３００のバトルサーバプロセスは、ビデオゲーム装置１００との通信を確立し、当該ビデオゲーム装置１００で操作されるプレイヤキャラクタ４０１がバトルに参加することができるようになる。
【０１４３】
このように、新たなプレイヤキャラクタ４０１がバトルに参加すると、図１０（ｂ）に示すように、当該プレイヤキャラクタ４０１を操作するビデオゲーム装置１００からバトルサーバ装置３００に対しては、入力情報を送信するし、バトルサーバ装置３００からは、当該ビデオゲーム装置１００に対して、バトル進行情報の送信を開始する。
【０１４４】
次に、ビデオゲーム装置１００に対するデータ送信の頻度とそのデータのフォーマットについて説明する。前記したように、ビデオゲーム装置１００には、移動中において（バトル中においても）ゾーンサーバ装置２００から周辺情報が送信され、バトル中においては、バトルサーバプロセスによってバトルサーバ装置３００からバトル進行情報が送信される。
【０１４５】
図１１は、そのようなゾーンサーバ装置２００、及びバトルサーバ装置３００からビデオゲーム装置１００に対して送信されるデータに関して、その送信頻度と、データのフォーマットとを模式的に示したものである。図１１に示すように、周辺情報に含まれる、プレイヤキャラクタ４０１、及び敵キャラクタ４０２の情報について、それらの識別情報としてのＩＤ等を除いて、ゾーンサーバ装置２００から送信されるデータのフォーマットは、形態、位置、パラメータＡ、及びパラメータＢの情報から構成される。
【０１４６】
一方、バトル進行情報として、バトルに参加するプレイヤキャラクタ４０１、及び敵キャラクタ４０２の情報について、それらの識別情報としてのＩＤ等を除いて、バトルサーバ装置３００から送信されるデータのフォーマットは、形態、位置、パラメータＡ、パラメータＢ、パラメータＣ、及びパラメータＤの情報から構成される。
【０１４７】
このように、ゾーンサーバ装置２００から送信されるデータと、バトルサーバプロセスによるバトルサーバ装置３００から送信されるデータとにおいては、外観として現れないパラメータＣ、及びパラメータＤが含まれるか否かにおいて異なるものとなっている。つまり、１のビデオゲーム装置１００に対して送信される周辺情報、或いはバトル進行情報に含まれるプレイヤキャラクタ４０１、及び敵キャラクタの数が同じであれば、バトルサーバプロセスによるデータ送信の方が一度に送信するデータ量が大きくなるものとなる。
【０１４８】
また、図１１に示すように、ゾーンサーバ装置２００からの周辺情報の送信頻度が１．０秒毎であるのに対して、バトルサーバプロセスにより送信されるバトル進行情報の送信頻度は３０分の１秒毎である。
【０１４９】
このようにビデオゲーム装置１００に対して送信される、周辺情報、或いはバトル進行情報は、ビデオゲーム装置１００の表示装置１２１の表示画面１２２に表示するための、画像を生成するために用いられるものとなる。この画像の１フレーム時間は、上記したように３０分の１秒であり、バトルサーバプロセスにより送信されるバトル進行情報は３０分の１秒毎に送信されることから、バトル中において、表示画面１２２に表示される画像は、ほぼリアルタイムで生成され、表示されるものとなる。
【０１５０】
一方、移動中において、ビデオゲーム装置１００で操作されるプレイヤキャラクタ４０１の画像は、１フレーム時間毎に処理され、表示画面１２２に表示される画像がリアルタイムで生成され、表示されるものとなるが、ゾーンサーバ装置２００から送信される周辺情報は、１．０秒毎に送信されるものとなっており、画像の１フレーム時間と比べて大きくずれている。そのため、移動中においては、表示画面１２２に表示するための画像の生成には、遅延表示処理を行うものとしている。
【０１５１】
この遅延表示処理では、まず、ゾーンサーバ装置２００から送信された周辺情報は、その送られてきた順番に周辺情報記憶バッファ（例えば、ＲＡＭ１０５）に順次記憶されるものとなる。そして、これらゾーンサーバ装置２００から送信され、ビデオゲーム装置１００において受信・記憶された周辺情報のうち、リアルタイムで生成されるプレイヤキャラクタ４０１の画像に対して、１．０秒前に受信した周辺情報を基に画像を生成する。
【０１５２】
つまり、ビデオゲーム装置１００では、周辺情報を受信するタイミング（ゾーンサーバ装置２００から送信されるタイミング）である１．０秒の遅延時間で、周辺情報によって生成された画像が表示画面１２２に表示されるものとなる。
【０１５３】
また、１．０秒間隔での画像生成であるため、その１．０秒毎のタイミングにおいて、表示画面１２２に表示される画像の生成に用いられた周辺情報（以下、「過去の周辺情報」とする）と、そのタイミングで受信した周辺情報（以下、「現在の周辺情報」とする）との間のタイミングの周辺情報は受信されない。
【０１５４】
このため、過去の周辺情報、及び現在の周辺情報から、その間の変化が滑らかになるように、その間の周辺情報の変化を３０分の１秒毎の等間隔に分割して補間し、その３０分の１秒毎に分割された周辺情報を基に、表示画面１２２に表示される画像を生成する。
【０１５５】
以下、この実施の形態にかかるネットワークシステムを構成するゾーンサーバ装置２００、バトルサーバ装置３００、及びビデオゲーム装置１００において、それぞれ実行される処理について説明する。
【０１５６】
図１２は、ゾーンサーバ装置２００において実行される処理を示すフローチャートである。ゾーンサーバ装置２００の制御部２０３は、何れかのバトルサーバ装置３００、或いはビデオゲーム装置１００から何らかの情報を受信したかどうかを判定する（ステップＳ１０１）。何らかの情報を受信していれば、ゾーンサーバ装置２００の制御部２０３は、受信した情報が何であるかを判定する（ステップＳ１０２）。
【０１５７】
受信した情報が、ビデオゲーム装置１００から送信された外見・位置情報であった場合には、ゾーンサーバ装置２００の制御部２０３は、当該ビデオゲーム装置１００で操作されるプレイヤキャラクタ４０１のフィールドキャラクタテーブル６００におけるレコードを、その受信した内容で更新する（ステップＳ１０３）。そして、ステップＳ１０１の処理に戻る。
【０１５８】
ステップＳ１０２において、受信した情報がビデオゲーム装置１００から送信されたバトル意志情報であった場合には、ゾーンサーバ装置２００の制御部２０３は、当該受信した情報に含まれるバトル意志行動を行った他のプレイヤキャラクタ４０１、または敵キャラクタ４０２のバトルサーバプロセス情報６０８に、バトルサーバプロセスを特定する情報が登録されているか否かの判定を行う（ステップＳ１０４）。
【０１５９】
バトルサーバプロセスを特定する情報が登録されていなければ（バトルサーバプロセス情報６０８がＮＵＬＬであれば）、ゾーンサーバ装置２００の制御部２０３は、バトルサーバプロセスを生成・起動するためのバトルサーバ装置３００を選択・決定（ステップＳ１０５）し、当該バトルサーバ装置３００に対して、プロセス生成指示情報を送信する（ステップＳ１０６）。そして、ステップＳ１０１の処理に戻る。
【０１６０】
バトルサーバプロセスを特定する情報が登録されていれば、ゾーンサーバ装置２００の制御部２０３は、ＢＳＶ特定情報を、当該ビデオゲーム装置１００に対して送信する（ステップＳ１０７）。また、ステップＳ１０２において、受信した情報がバトルサーバプロセスによりバトルサーバ装置３００から送信されたＢＳＶ特定情報であった場合は、当該バトルサーバプロセスに参加している（当該バトルサーバプロセスを特定する情報がバトルサーバプロセス情報６０８に登録されている）ビデオゲーム装置１００に対して、ＢＳＶ特定情報を送信する。ステップＳ１０７の処理を終えれば、制御はステップＳ１０１の処理へと戻る。
【０１６１】
ステップＳ１０２において、受信した情報がバトルサーバプロセスによりバトルサーバ装置３００から送信されたバトル終了情報であった場合には、ゾーンサーバ装置２００の制御部２０３は、フィールドキャラクタテーブル６００のバトルサーバプロセス情報６０８において、当該バトルサーバプロセスを特定する情報が登録されている敵キャラクタ４０２のレコードを削除する（ステップＳ１０８）。
【０１６２】
続いて、ゾーンサーバ装置２００の制御部２０３は、フィールドキャラクタテーブル６００における、送信されたバトル終了情報に係るバトルに参加していたプレイヤキャラクタ４０１に登録された、バトルサーバプロセス情報６０８の内容を消去する（ステップＳ１０９）。そして、ステップＳ１０１の処理に戻る。
【０１６３】
ステップＳ１０２において、受信した情報がバトルサーバプロセスによりバトルサーバ装置３００から送信されたバトル周辺情報であった場合には、ゾーンサーバ装置２００の制御部２０３は、フィールドキャラクタテーブル６００のバトルサーバプロセス情報６０８において、当該バトルサーバプロセスを特定する情報が登録されているプレイヤキャラクタ４０１、及び敵キャラクタ４０２のレコードを、当該受信した情報の内容で更新する（ステップＳ１１０）。
【０１６４】
また、そこにフィールドキャラクタテーブル６００には存在しない新たな敵キャラクタ４０２の情報が含まれていれば、当該新たな敵キャラクタ４０２のテーブルを追加する。ステップＳ１１０の処理を終えれば、制御はステップＳ１０１の処理へと戻る。
【０１６５】
ステップ１０１において、何れの情報も受信していないと判定されれば、ゾーンサーバ装置２００の制御部２０３は、ゾーンサーバ装置２００における処理の開始から、或いは、以前の１．０秒経過のときから、１．０秒が経過したかどうか判定する（ステップＳ１１１）。１．０秒経過していないと判定すれば、制御はステップＳ１０１の処理へと戻る。
【０１６６】
ステップＳ１１１において、１．０秒経過したと判定されれば、ゾーンサーバ装置２００の制御部２０３は、フィールドキャラクタテーブル６００に登録されている全てのプレイヤキャラクタ４０１を操作するビデオゲーム装置１００に、当該プレイヤキャラクタ４０１に応じた周辺情報を送信する（ステップＳ１１２）。そして、ステップＳ１０１の処理に戻る。
【０１６７】
図１３（ａ）は、バトルサーバ装置３００において実行されるプロセス生成処理を示すフローチャートである。バトルサーバ装置３００の制御部２０３は、ゾーンサーバ装置２００から送信されたプロセス生成指示情報を受信したか否かを判定する（ステップＳ２０１）。
【０１６８】
プロセス生成指示情報を受信すれば、バトルサーバ装置３００の制御部２０３は、バトルサーバプロセスを生成・起動し（ステップＳ２０２）、ＢＳＶ特定情報をゾーンサーバ装置２００に送信する（ステップＳ２０３）。そして、ステップＳ２０１の処理に戻る。ステップＳ２０１において、プロセス生成指示情報を受信するまでは、ステップＳ２０１の処理を繰り返す。
【０１６９】
続いて、図１３（ｂ）は、バトルサーバ装置３００において実行されるバトルサーバプロセス処理を示すフローチャートである。まず、バトルサーバ装置３００の制御部２０３は、プロセス生成指示情報に含まれる敵キャラクタ４０２の存在するエリア４１２についての情報を基に、敵キャラクタ組合せテーブル７００から、当該バトルサーバプロセスで実行されるバトルの初期において参加させる敵キャラクタ４０２の組合せを決定し、当該バトルに参加するプレイヤキャラクタ４０１とともに、それらをバトルキャラクタテーブル７１０に登録する（ステップＳ２１１）。
【０１７０】
続いて、バトルサーバ装置３００の制御部２０３は、ビデオゲーム装置１００からの接続要求情報を受信した否かを判定する（ステップＳ２１２）。接続要求情報を受信したと判定されれば、バトルサーバ装置３００の制御部２０３は、当該接続要求情報を送信したビデオゲーム装置１００と通信を確立し、当該接続要求情報に含まれるプレイヤキャラクタ４０１に係る情報の内容によって、バトルキャラクタテーブル７１０に含まれる当該プレイヤキャラクタ４０１のテーブルを更新する（ステップＳ２１３）。
【０１７１】
また、ステップＳ２１２において、受信したと判定された接続要求情報に含まれるプレイヤキャラクタ４０１に係る情報が、バトルキャラクタテーブル７１０になかった場合は、新たに、プレイヤキャラクタ４０１がバトルに参加する場合であるため、当該プレイヤキャラクタ４０１のレコードを当該バトルキャラクタテーブル７１０に追加する。ステップＳ２１３における処理が終了すると、制御はステップＳ２１２の処理に戻る。  
【０１７２】
一方、ステップＳ２１２において、接続要求情報を受信していないと判定されれば、バトルサーバ装置３００の制御部２０３は、バトルサーバプロセスの起動から、或いは以前の３０分の１秒経過のときから、３０分の１秒が経過したどうか判定する（ステップＳ２１４）。３０分の１秒が経過していないと判定された場合は、ステップＳ２１２の処理に戻る。
【０１７３】
ステップＳ２１４において、３０分の１秒が経過したと判定された場合は、バトルに参加するビデオゲーム装置１００から送信された入力情報の内容をチェックする（ステップＳ２１５）。続いて、バトルサーバ装置３００の制御部２０３は、その入力情報の内容に基づいたバトル進行処理を行う（ステップＳ２１６）。
【０１７４】
このバトル進行処理において、敵キャラクタ４０２が倒されたときは、追加されることが決定され、バトルキャラクタテーブル７１０に登録されている敵キャラクタ４０２について、追加待ちフラグ７０２が１となっているものがあれば、当該バトルキャラクタテーブル７１０に登録されるＩＤ７１１の昇順に、当該追加待ちフラグ７０２を０に更新し、バトルに参加させる。
【０１７５】
続いて、バトルサーバ装置３００の制御部２０３は、バトル進行処理の結果、全ての敵キャラクタが倒されたことによって、バトルが終了したか否かを判定する（ステップＳ２１７）。バトルが終了していないと判定された場合には、バトルサーバ装置３００の制御部２０３は、ゲーム進行情報を、バトルに参加する全てのプレイヤキャラクタ４０１を操作するビデオゲーム装置１００に対して送信する（ステップＳ２１８）。そして、ステップＳ２１２の処理に戻る。
【０１７６】
ステップＳ２１７において、バトルが終了したと判定された場合には、バトルサーバ装置３００の制御部２０３は、バトル終了情報を、ゾーンサーバ装置２００、及びバトルに参加する全てのプレイヤキャラクタ４０１を操作するビデオゲーム装置１００に対して送信して（ステップＳ２１９）、バトルサーバプロセスを終了する。
【０１７７】
図１４は、ビデオゲーム装置１００において実行される処理を示すフローチャートである。ビデオゲーム装置１００の制御部１０３は、当該ビデオゲーム装置１００に記憶されるバトルサーバプロセス識別情報８１０にバトルサーバプロセスを特定するための情報が記憶されているか否かによって、当該ビデオゲーム装置１００で操作するプレイヤキャラクタ４０１がバトル中か否かを判定する（ステップＳ３０１）。
【０１７８】
バトル中でないと判定された場合には、制御部１０３は、何らかの情報を受信したかどうかを判定する（ステップＳ３０２）。何の情報も受信しなかったと判定された場合には、制御部１０３は、ビデオゲーム装置１００における処理の開始、或いは以前の３０分の１秒経過のときから３０分の１秒が経過したか否かを判定する（ステップＳ３０３）。
【０１７９】
３０分の１秒が経過したと判定された場合には、制御部１０３は、プレイヤによる入力部１６１の操作によって、入力操作が検出されたか否かを判定する（ステップＳ３０４）。入力操作が検出されたと判定された場合には、制御部１０３は、当該入力操作がプレイヤキャラクタ４０１にバトル意志行動を行わせるための入力操作であるか否かを判定する（ステップＳ３０５）。
【０１８０】
また、ステップＳ３０５において、入力操作がバトル意志行動を行わせるための入力操  作であると判定された場合には、制御部１０３は、ステップＳ３０７の処理を行う前に、ゾーンサーバ装置２００に対して、バトル意志情報を送信する（ステップＳ３０６）。
【０１８１】
バトル意志行動を行わせるための入力操作でないと判定された後、或いはステップＳ３０６においてバトル意志情報を送信した後、制御部１０３は、入力操作に応じて、ビデオゲーム装置１００に記憶される形態情報８０３、位置情報８０４、パラメータＡ情報８０５、パラメータＢ情報８０６、パラメータＣ情報８０７、或いはパラメータＤ情報を更新する（ステップＳ３０７）。
【０１８２】
ステップＳ３０４において、入力操作が検出されなかったと判定された場合に、又はステップＳ３０７の処理に続いて、制御部１０３は、周辺情報記憶バッファに記憶された現在周辺情報、及び過去周辺情報、並びにビデオゲーム装置１００に記憶される形態情報８０３、位置情報８０４、パラメータＡ情報８０５、及びパラメータＢ情報８０６を基に、表示画面１２２に表示する画像の生成処理を行う（ステップＳ３０８）。
【０１８３】
ステップＳ３０３において、３０分の１秒が経過していないと判定された場合に、又はステップＳ３０８の処理に続いて、制御部１０３は、ビデオゲーム装置１００における処理の開始、或いは以前の０．５秒経過のときから０．５秒が経過したか否かを判定する（ステップＳ３０９）。０．５秒が経過していないと判定された場合には、制御はステップＳ３０１の処理に戻る。
【０１８４】
０．５秒が経過したと判定された場合には、制御部１０３は、ゾーンサーバ装置２００に対して外見・位置情報を送信する（ステップＳ３１０）。そして、ステップＳ３０１の処理に戻る。
【０１８５】
ステップＳ３０２において、何らかの情報が受信されたと判定された場合には、制御部１０３は、さらにその受信した情報が何であるかを判定する（ステップＳ３１２）。
【０１８６】
受信した情報が、ゾーンサーバ装置２００から送信されたＢＳＶ特定情報であった場合には、制御部１０３は、バトルサーバプロセス特定情報８１０を当該ＢＳＶ特定情報に含まれるバトルサーバプロセスに係る情報で更新し（ステップＳ３１３）、当該バトルサーバプロセスが起動されているバトルサーバ装置３００に対して、接続要求情報を送信し（ステップＳ３１４）、ビデオゲーム装置１００と当該バトルサーバプロセスは通信を確立する。そして、ステップＳ３０１の処理に戻る。
【０１８７】
受信した情報が、ゾーンサーバ装置２００から送信された周辺情報であった場合には、制御部１０３は、周辺情報記憶バッファのうち、現在の周辺情報を記憶させる周辺情報記憶バッファに、当該周辺情報を順次記憶する（ステップＳ３１５）。そして、ステップＳ３０１の処理に戻る。
【０１８８】
また、ステップＳ３０１において、バトル中であると判定された場合には、制御部１０３は、バトルサーバプロセスによりバトルサーバ装置３００から送信されたバトル終了情報を受信したか否かを判定する（ステップＳ３２１）。バトル終了情報を受信していないと判定された場合には、制御部１０３は、バトルサーバプロセスによりバトルサーバ装置３００からバトル進行情報を受信したか否かを判定する（ステップＳ３２２）。
【０１８９】
バトル進行情報を受信したと判定された場合には、制御部１０３は、当該バトル進行情報を基に表示画面１２２に表示される画像の生成処理を行う（ステップＳ３２３）。続いて、制御部１０３は、プレイヤによる入力部１６１の操作によって、入力操作が検出されたか否かを判定する（ステップＳ３２４）。
【０１９０】
入力操作が検出されたと判定されれば、制御部１０３は、その入力操作についての入力情報を、このバトルサーバプロセスが起動されているバトルサーバ装置３００に対して送信する（ステップＳ３２５）。そして、ステップＳ３０１の処理に戻る。
【０１９１】
ステップＳ３２１において、バトル終了情報を受信したと判定された場合には、制御部１０３は、ビデオゲーム装置１００に記憶される、バトルサーバプロセス特定情報８１０を消去（ＮＵＬＬで更新）し（ステップＳ３２６）、ステップＳ３０１の処理に戻る。また、ステップＳ３２２において、バトル進行情報を受信していないと判定された場合、またはステップＳ３２４において、入力操作が検出されていないと判定された場合には、制御はステップＳ３０１の処理に戻る。
【０１９２】
以上説明したように、この実施の形態にかかるオンラインゲームシステムは、ゾーンサーバ装置２００を含むサーバ群２５０と、これらにネットワーク１５１を介して接続される複数のビデオゲーム装置１００とを備え、ここで提供されるオンラインゲームは、各々のビデオゲーム装置１００のプレイヤにより操作されるプレイヤキャラクタ４０１を含む複数のキャラクタを共通のフィールド４００で動作させてゲームを進行させる。
【０１９３】
このゲームの進行過程では、何れか１以上のプレイヤキャラクタ４０１をノンプレイヤキャラクタである敵キャラクタ４０２と闘わせるバトルが実行される。このバトルにおいては、当該バトルに参加するプレイヤキャラクタ４０１、および敵キャラクタ４０２のパラメータを３０分の１秒毎にリアルタイムで更新させながら進めるため、その処理負荷は大きいものとなる。
【０１９４】
このバトルは、当該バトルの開始前にプレイヤキャラクタ４０１を移動させていたフィールド４００とは異なる仮想空間に移動することなく同じフィールド４００上で行われるが、一般にバトル中はバトルを行っていないときに比べてプレイヤキャラクタ４０１及び敵キャラクタ４０２の動作や、パラメータの変化が大きいため、バトルを行うための処理負荷は、バトル以外のゲームを行うための処理負荷に比べて非常に大きいものとなる。
【０１９５】
さらに、このオンラインゲームシステムでは、バトルの開始までフィールド４００に存在していなかった敵キャラクタ４０２が、当該バトルで一時的に登場する敵キャラクタ４０２として追加されることがある。このようなバトルの開始により、敵キャラクタ４０２を追加するものとした場合、その追加した敵キャラクタの分だけ処理負荷がさらに増し、バトルを実行するために必要な処理負荷が極めて大きくなってしまう。予想される最大の処理負荷に対してオンラインゲームに参加できるプレイヤの数やゲームの内容を絞り込むと、ゲームの面白みが半減してしまう虞がある。
【０１９６】
ここで、この実施の形態にかかるオンラインゲームシステムでは、複数のビデオゲーム装置１００の各々にネットワーク１５１を介して接続可能に構成されるサーバ群２５０に、ゾーンサーバ装置２００の他にバトルサーバ装置３００を備えており、処理負荷の大きいバトルの実行は、このバトルサーバ装置３００で実行されるバトルサーバプロセスによって制御されるものとなる。
【０１９７】
このため、処理負荷が大きいバトルの実行をゾーンサーバ装置２００が制御する必要がなくなり、ゾーンサーバ装置２００にかかる処理負荷が大きくなりすぎない。これにより、提供されるオンラインゲームに参加できるプレイヤの数やプレイできるゲームの内容が、敵キャラクタ４０２の追加があるバトルの実行によってあまり制限されないようにすることができる。
【０１９８】
また、バトルで３０分の１秒毎に更新されるプレイヤキャラクタ４０１、及び敵キャラクタ４０２のパラメータをゾーンサーバ装置２００で管理しなくてよいため、ゾーンサーバ装置２００にかかる処理負荷がさらに小さくなる。これにより、提供されるオンラインゲームに参加できるプレイヤの数やプレイできるゲームの内容に対しての制限を小さくすることができる。
【０１９９】
ところで、ゾーンサーバ装置は、フィールド４００において動作している複数のプレイヤキャラクタ４０１、敵キャラクタ４０２の各々の状態を管理するが、バトルサーバ装置３００は、バトルを行っているプレイヤキャラクタ４０１、及び敵キャラクタ４０２の状態を管理し、ここで管理されている状態には、バトルで３０分の１秒毎に更新されるパラメータも管理される。
【０２００】
しかしながら、バトルを行うプレイヤキャラクタ４０１とバトルを行わないプレイヤキャラクタ４０１とが存在する場合には、バトルを完全に切り分けてバトルサーバ装置３００に実行させてしまうと、バトルサーバ装置３００で実行されるバトルサーバプロセスの制御下にないバトルを行わないプレイヤキャラクタ４０１を操作するプレイヤは、自己のビデオゲーム装置１００の表示画面１２２では、当該バトルの進行が全く分からなくなってしまうことになる。
【０２０１】
これに対して、この実施の形態にかかるオンラインゲームシステムにおいては、バトルサーバプロセスにおいて管理されているプレイヤキャラクタ４０１、及び敵キャラクタ４０２の状態と、バトルサーバプロセスにおいて処理されたバトルの進行処理の結果とに応じて生成されたバトル周辺情報が当該バトルサーバプロセスを実行するバトルサーバ装置３００からゾーンサーバ装置２００に送信され、ゾーンサーバ装置２００で管理する各キャラクタの状態は、このバトル周辺情報によっても更新される（つまり、バトルの進行が反映されている）。
【０２０２】
そして、バトルを行っていないプレイヤキャラクタ４０１に対応したビデオゲーム装置１００には、バトルの進行処理の結果が反映された周辺情報が送信され、これに基づいてゲームの表示画像が生成される。このため、各ビデオゲーム装置のプレイヤは、自分のプレイヤキャラクタ４０１をバトルに参加させていなくても、他のプレイヤのプレイヤキャラクタ４０１により行われているバトルの進行を、ビデオゲーム装置１００の表示画面１２２で確認することができるものとなる。
【０２０３】
また、各ビデオゲーム装置１００に対して、ゾーンサーバ装置２００は周辺情報を１．０秒の間隔で送信し、一方、バトル行うプレイヤキャラクタ４０１に対応したビデオゲーム装置１００に対しては、当該バトルのバトルサーバプロセスを実行しているバトルサーバ装置３００は、そこで管理するプレイヤキャラクタ４０１、及び敵キャラクタ４０２の状態と、バトルサーバプロセスにおいて処理されたバトルの進行処理の結果とに応じて生成するバトル進行情報をするものである。
【０２０４】
このため、バトルの進行を制御していないゾーンサーバ装置２００は、バトルの進行を制御するバトルサーバプロセスを実行するバトルサーバ装置３００よりも長い時間間隔で周辺情報を送信すればよいため、周辺情報の送信のための処理負荷を小さくすることができるものとなる。提供されるオンラインゲームに参加できるプレイヤの数やプレイできるゲームの内容に対しての制限をさらに小さくすることができる。
【０２０５】
そして、ビデオゲーム装置１００では、ゾーンサーバ装置２００から１．０秒毎に送信された周辺情報のうち、過去の周辺情報、及び現在の周辺情報から、その間の周辺情報の変化を３０分の１秒毎の等間隔に分割して補間し、その３０分の１秒毎に分割された周辺情報を基に、表示画面１２２に表示される画像を生成する。
【０２０６】
こうすることで、ビデオゲーム装置１００では、周辺情報の受信間隔に応じて補間画面を生成し、順次、表示画面１２２に表示させていくため、バトル以外のゲームの表示画像も滑らかに変化して表示されるようにすることができる。
【０２０７】
また、バトルサーバ装置３００で実行されるバトルサーバプロセスは、バトル毎に、当該バトルを行っている各プレイヤキャラクタ４０１、敵キャラクタ４０２の状態（フィールド４００上の位置だけではなく、バトルの実行に必要なパラメータなどを含む）を管理しているが、これを参照して当該バトルを行っている全てのプレイヤキャラクタ４０１、及び敵キャラクタ４０２の位置を含むバトル周辺情報を生成し、ゾーンサーバ装置２００に送信するものとしている。
【０２０８】
一方、ゾーンサーバ装置２００は、フィールド４００を移動している複数のプレイヤキャラクタ４０１の各々の位置をフィールドキャラクタテーブル６００で管理するだけではなく、バトルだけに登場している敵キャラクタ４０２のフィールド４００における位置も当該フィールドキャラクタテーブル６００で管理するものとしている。これによって管理される各キャラクタの位置は、バトルサーバ装置３００から送信されるバトル周辺情報に基づいて更新される。
【０２０９】
ゾーンサーバ装置２００は、バトルを行っていないプレイヤキャラクタ４０１に対応したビデオゲーム装置１００に周辺情報を送信し、これにより生成されるゲームの表示画像を表示装置１２１の表示画面１２２に表示させるものとしているが、周辺情報には、当該ビデオゲーム装置１００のプレイヤキャラクタ４０１が行っていないバトルにのみ登場している敵キャラクタ４０２の位置も含まれている。
【０２１０】
つまり、自己のプレイヤキャラクタ４０１にバトルを行わせていないプレイヤも、他のプレイヤキャラクタ４０１が敵キャラクタ４０２と行っているバトルを表示画面１２２において見ることができ、さらに、当該バトルでのみ追加された敵キャラクタ４０２も見ることができる。
【０２１１】
また、プレイヤキャラクタ４０１に設定されたパラメータには、パラメータＡ〜Ｄの４種類があり、それらのうち、パラメータＣ、Ｄは、ビデオゲーム装置１００の表示画面１２２において、当該プレイヤキャラクタ４０１の外見に違いの現れないパラメータとして定められている。
【０２１２】
そして、バトルサーバ装置３００からビデオゲーム装置１００に対して送信されるバトル進行情報には、パラメータＡ、Ｂにかかる情報に加え、パラメータＣ、Ｄにかかる情報も送信されるが、ゾーンサーバ装置２００からビデオゲーム装置１００に対して送信される周辺情報には、パラメータＣ、Ｄにかかる情報が含まれない。
【０２１３】
これにより、ゾーンサーバ装置２００から送信する周辺情報の情報量を抑えることができ、周辺情報の送信のための処理負荷を小さくすることができるものとなる。一方で、パラメータＣ、Ｄにかかる情報を含まない周辺情報を受信するのは、バトルを行っていないプレイヤキャラクタ４０１のビデオゲーム装置１００であるため、パラメータＣ、Ｄの値が如何になっていようとも、当該プレイヤキャラクタ４０１のゲームの進行への影響は生じない。
【０２１４】
その一方で、バトルサーバ装置３００からゾーンサーバ装置２００に対して、パラメータＣ、Ｄにかかる情報を含まないバトル周辺情報が送信され、バトルの進行処理の結果によって、ゾーンサーバ装置２００で管理される各キャラクタの状態が送信されるので、それによって生成し、送信される周辺情報により、バトル以外の進行だけでなく、バトルの進行をもビデオゲーム装置１００の表示画面１２２において確認することには問題が生じないものとなる。
【０２１５】
ここで、バトルにおいてのみ追加された敵キャラクタ４０２は、バトルを行うキャラクタであるので、ゾーンサーバ装置２００ではなく、バトルサーバ装置３００に動作を制御させるものである。このため、オンラインゲームの全体として存在する敵キャラクタ４０２の数を多くしても、ゾーンサーバ装置２００が直接的に動作を制御しなくてはならない敵キャラクタ４０２の数を抑えることができるので、ゾーンサーバ装置２００の処理負荷を抑えることができるものとなる。
【０２１６】
また、バトルで追加される敵キャラクタ４０２は、フィールド４００のどのエリアにおいて敵キャラクタ４０２とバトルを行うかで、当該追加される敵キャラクタ４０２の種類および／または数が決定されるものである。
【０２１７】
この場合、エリア毎に行われるバトルにおいて、追加する敵キャラクタ４０２の種類および／または数が異なることとなるため、バトルのバリエーションが増え、同じプレイヤがバトルを行う回数を重ねるに従ってバトルの面白みが下がってきてしまうのを防ぐことができる。
【０２１８】
また、追加の敵キャラクタ４０２は、バトルの開始時で出現してくるだけではなく、バトルの開始後のタイミングで登場してくることもあるため、バトルのバリエーションが増え、同じプレイヤがバトルを行う回数を重ねるに従って、バトルの面白みが下がって来てしまうのを防ぐことができる。
【０２１９】
本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形態様について説明する。
【０２２０】
上記の実施の形態では、実行中のバトルに参加するための、バトル意志行動は、バトル中のプレイヤキャラクタ４０２に対しての回復魔法の実行であったが、バトル意志行動は敵キャラクタ４０２に対する攻撃を行うことによって行ってもよく、また、当該バトルを行っている敵キャラクタ４０２に接近すること等によって行ってもよい。
【０２２１】
また、バトルの開始に当たって行うバトル意志行動も、フィールド４００に存在する敵キャラクタ４０２に対する攻撃だけに限るものではなく、当該敵キャラクタ４０２に接近することや、所定の行動（例えば、敵キャラクタ４０２の近辺にあるアイテムを拾う等）によるものでもよい。また、バトルが開始された場所に移動するだけでもよい（このとき、追加されるてきキャラクタは、バトル開始の際に決定された敵キャラクタ４０２の組合せのみ）。
【０２２２】
上記の実施の形態では、バトルの開始の際に決定される敵キャラクタ４０２の組合せは、バトルが終了するまで変化するものではなかったが、さらにバトル途中に敵キャラクタ４０２を追加させるようにしてもよい。このようなバトル開始前に決定された組合せに対する、バトル中における敵キャラクタ４０２のさらなる追加は、当該バトル中において移動中のプレイヤキャラクタ４０１が参加したときに行うようにしてもよい。
【０２２３】
これによって、通常では３体の敵キャラクタ４０２でしか組み合わされないエリア４１２について、４、５体といった敵キャラクタ４０２を追加させることができ、プレイヤに意外性を与えることができるようになり、また、敵キャラクタ４０２の数に対して圧倒的にプレイヤキャラクタ４０１の数が多くなり、相対的にバトルの難易度が酷く低下してしまうという事態を防ぐことができるものとなる。
【０２２４】
上記の実施の形態では、バトルの開始の際に決定される敵キャラクタ４０２の組合せは、エリア４１２毎に予め決まっているものであったが、これを複数の種類の敵キャラクタ４０２の中から、組合せおよび／または数がランダムで決定させるようにしてもよい。
【０２２５】
これは、例えば、予め定められた最小数から最大数までの範囲でランダムにバトルに追加する敵キャラクタ４０２の数を決定し、２以上の敵キャラクタを追加すること決定した場合には、当該追加することを決定した２以上の敵キャラクタ４０２の各々について種類を決定するものとすること等である。また、所定の規則に従った種類及び数の敵キャラクタ４０２を追加することを決定ものとしてもよい。これによって、常にプレイヤにとっては、敵キャラクタ４０２の組合せが読めなくなるため、ゲームの興趣が増すものとなる。
【０２２６】
上記の実施の形態では、バトルの開始の際に、組合せが決定された敵キャラクタ４０２の出現のタイミングは、初めの１体はバトルの開始直後であり、２体目は１体の敵キャラクタ４０２が倒された後のタイミングで出現するものであった。もっとも、これに限らず、このような敵キャラクタ４０２の出現のタイミングは、バトル開始からの経過時間によって出現させること、或いはまとめて一度に出現させることにしてもよい。
【０２２７】
また、２体目は１体の敵キャラクタ４０２が倒されたタイミングではなく、２体の敵キャラクタ４０２（初め、フィールドに存在した敵キャラクタ４０２と追加された１体目の敵キャラクタ４０２）が倒されたタイミング、新たに、当該バトルに参加するプレイヤキャラクタ４０１が参加したタイミングであってもよい。これは、３体以上の敵キャラクタ４０２が追加される場合でも同様である。
【０２２８】
上記の実施の形態では、バトルの開始の際に、エリア４１２毎に敵キャラクタ４０２の組合せが決定され、その敵キャラクタ４０２は、種類に応じて固有の形態情報、パラメータ情報を持つものとしたが、同じ種類の敵キャラクタ４０２でも、これらの形態情報、或いはパラメータ情報において、複数の異なるパターンを用意しておいてもよい。
【０２２９】
例えば、バトルの開始の際に、エリア４１２毎に決定される敵キャラクタ４０２の組合せとともに、その決定された種類の敵キャラクタ４０２について、形態情報、或いはパラメータ情報を複数の異なるパターンからランダムで選択する、或いはランダムに得られた数値を抽出し、それを所定の演算式に当てはめてパラメータ情報を変えるようにする等である。
【０２３０】
これによって、以前と同じエリア４１２で行われたバトルであって、以前と同じ組合せの敵キャラクタとバトルを行うことになっても、毎回異なる外見、或いはパラメータの敵キャラクタとバトルを行うことができるので、敵キャラクタ４０２に多様性が増すものとなり、一層興趣が得られるようになる。
【０２３１】
上記の実施の形態では、すでに組合せが決定された敵キャラクタ４０２をバトル中にフィールド４００に追加するとき、その位置を、プレイヤキャラクタ４０１の近辺にするものとしたが、これに限らず、敵キャラクタ４０２の追加される位置を、プレイヤキャラクタ４０１と、まだ倒されていない敵キャラクタ４０２の位置から定めるものとしてもよい。
【０２３２】
これによって、たとえば、敵キャラクタ４０２の追加する位置を、プレイヤキャラクタ４０１を挟み撃ちにできるような位置に定めることもできるようになり、プレイヤに意外性を与え、ゲームの興趣が一層増すものとなる。
【０２３３】
上記の実施の形態では、バトルに参加していない移動中のプレイヤキャラクタ４０１を操作するビデオゲーム装置１００の表示画面１２２には、バトル中のキャラクタの表示はゾーンサーバ装置２００から送信される周辺情報から得られる表示に限られていた。
【０２３４】
これに対して、移動中のプレイヤキャラクタ４０１であっても、バトルを行っているキャラクタの付近に存在する場合であれば、当該プレイヤキャラクタ４０１を操作するビデオゲーム装置１００の表示画面１２２には、より詳細なバトル中のキャラクタの表示を行えるように、当該バトルの進行処理を行っているバトルサーバプロセスにより、当該ビデオゲーム装置１００に対して、バトル進行情報を送信するようにしてもよい。
【０２３５】
これによって、移動中のプレイヤキャラクタ４０１を操作するビデオゲーム装置１００の表示画面１２２には、当該プレイヤキャラクタ４０１にとってフィールドの遠くで行われているバトルに比べて、より近くのバトルは詳細に表示されるようになり、当該ビデオゲーム装置１００のプレイヤはゲームに対してより臨場感を得られるようになり、ビデオゲームとしての興趣が得られるものとなる。
【０２３６】
上記の実施の形態では特に記載はしなかったが、通常、ビデオゲームにおいてキャラクタが魔法を実行する場合には、表示画面１２２においてその実行した魔法の種類に応じて様々な特殊表示を施すものであり、同じ種別の魔法（種別としては、火炎、雷など）であっても、より強力な威力のものであれば、それに応じて、そのような特殊表示をより大きく、或いは激しく表示させるようにするものである。
【０２３７】
このように特殊表示を異ならせることを上記実施の形態のバトルでも行うことにより、当該バトルに参加しているプレイヤキャラクタ４０１の実行した魔法の威力の違いを、当該プレイヤキャラクタ４０１を操作するビデオゲーム装置１００のプレイヤは表示画面１２２を通して認識できるものである。
【０２３８】
同様に、バトルに参加していない移動中のプレイヤキャラクタ４０１を操作するビデオゲーム装置１００のプレイヤの表示画面１２２に、同じ特殊表示を行うことができるが、これに限らず、当該特殊表示を異ならせずに、実行した魔法（魔法に限らず、口から火を噴くなどの特技でもよい）の種別につき、すべて同じ特殊表示を行うような簡易な表示を行うようにしてもよい。
【０２３９】
つまり、バトルを行っているプレイヤキャラクタ４０１を操作するビデオゲーム装置１００の表示画面１２２については、その表示画像の生成、ゲームの進行がリアルタイムで実行されるものであるため、魔法による特殊表示は、その魔法の威力によって異ならせるものとする。
【０２４０】
一方で、バトルを行っていない他のプレイヤキャラクタ４０１を操作するビデオゲーム装置１００の表示画面１２２については、当該他のプレイヤキャラクタ４０１のフィールド４００の移動以外の表示画像は、１．０秒毎に送信される周辺情報を基に、遅延表示処理によって生成されるものであり、バトル中の処理に比べて情報量は少ないものである。
【０２４１】
そのため、そのような場合に表示画面１２２を通して視認されるバトルであって、魔法による特殊表示を行うものについては、魔法が同じ種別のものであれば、その魔法の特殊表示に係る情報を統一したものを周辺情報に含ませて、当該バトルを行っていない他のプレイヤキャラクタ４０１を操作するビデオゲーム装置１００に送信するようにする。
【０２４２】
これは、当該バトルに係る処理を実行するバトルサーバプロセスによって送信されるバトル周辺情報において、同じ種別の魔法を統一した特殊表示として含ませるようにしてもよいものである。このようにするこことで、ビデオゲーム装置１００の表示画面１２２に特殊表示を表示する場合において、ゾーンサーバ装置２００の受信するバトル周辺情報、ゾーンサーバ装置２００から送信する周辺情報をより少なくすることができ、ゾーンサーバ装置２００への負担を少なくすることができるようになる。
【０２４３】
上記の実施の形態では、どのバトルサーバ装置３００でバトルサーバプロセスを生成・起動させるかは、ゾーンサーバ装置２００の管理するプロセス起動管理テーブル６１０において、バトルサーバ装置３００のバトルサーバプロセスの起動数で管理されるものとしていた。
【０２４４】
もっとも、本発明はこれに限らず、バトルサーバプロセスがバトルサーバ装置３００にかける負荷の情報を当該バトルサーバプロセスから送信されるバトル周辺情報の情報量から求める負荷によって、新たにバトルサーバプロセスを生成・起動するバトルサーバ装置３００を選択するようにしてもよい。
【０２４５】
または、バトルサーバプロセスから、特別に負荷量を求めた情報として負荷の情報を得る  ものとし、その負荷によって、新たにバトルサーバプロセスを生成・起動するバトルサーバ装置３００を選択するようにしてもよい。
【０２４６】
これによって、バトルサーバプロセスの起動数からだけでは見えてこない流動的なバトル進行の処理負荷によって、バトルサーバプロセスの生成・起動を管理することができ、バトルサーバプロセスを生成・起動させる、より効率的なバトルサーバ装置３００の選択が可能となる。
【０２４７】
上記の実施の形態では、バトルに参加させる敵キャラクタ４０２の組合せは、バトル開始の際に、ゾーンサーバ装置２００からバトルサーバ装置３００に対して送信された、プロセス生成指示情報に含まれる敵キャラクタ４０２の存在するエリア４１２についての情報を基に、当該バトルサーバ装置３００が決定するものとしていた。本発明はこれに限らず、バトル開始の際に決定される当該バトルに参加させる敵キャラクタ４０２の組合せを、当該ゾーンサーバ装置２００が決定するようにしてもよい。
【０２４８】
この場合に、バトルに参加する敵キャラクタ４０２の組合せを決定する際に参照される敵キャラクタ組合せテーブル７００が、ゾーンサーバ装置２００において記憶されるものとしてもよい。このとき、バトルに参加する敵キャラクタ４０２の組合せがゾーンサーバ装置２００で決定されるので、プロセス生成指示情報には、敵キャラクタ４０２の存在するエリア４１２についての情報は含ませず、プレイヤキャラクタ４０１と、敵キャラクタ４０２と、バトルに参加させる敵キャラクタ４０２とに係る情報（各々のキャラクタ毎にゾーンサーバ装置２００で管理されているＩＤ、種類等の情報）をバトルサーバ装置３００に送信する。
【０２４９】
上記の実施の形態では、ゾーンサーバ装置２００で管理するフィールド４００上に複数のエリア４１２が存在していたが、このエリア４１２毎にゾーンサーバ装置２００を設けて、複数のゾーンサーバ装置２００でエリア４１２毎の管理を行うようにしてもよい。
【０２５０】
このとき、プレイヤキャラクタ４０１がエリア４１２間を移動すると、移動元のエリア４１２を管理するゾーンサーバ装置２００（以下、「移動元ゾーンサーバ装置２００Ａ」とする）から、移動先のエリア４１２を管理するゾーンサーバ装置２００（以下、「移動先ゾーンサーバ装置２００Ｂ」とする）を特定する情報を当該プレイヤキャラクタ４０１を操作するビデオゲーム装置１００へと送信し、当該ビデオゲーム装置１００を特定する情報を移動先ゾーンサーバ装置２００Ｂへと送信する。
【０２５１】
当該ビデオゲーム装置１００は、移動先ゾーンサーバ装置２００Ａを特定する情報を基に、当該移動先ゾーンサーバ装置２００Ａとの通信を確立する。このようにして、エリア４１２間の移動で、プレイヤキャラクタ４０１の外見・位置の管理を移動元ゾーンサーバ装置２００Ａから移動先ゾーンサーバ装置２００Ｂへと移行させる。
【０２５２】
上記の実施の形態では、バトルが終了すれば、ビデオゲーム装置１００に対して、バトルサーバ装置３００から３０分の１秒毎に送信されるバトル進行情報の送信は終わり、ゾーンサーバ装置２００から１．０秒毎に送信される周辺情報を受信し始めるものである。このため、バトル終了まで行われてきた、リアルタイムの画像の生成処理から、バトル終了後には、遅延表示処理によって画像の生成が行われるようになる。
【０２５３】
そこで、バトルサーバ装置３００から３０分の１秒毎に送信されてきたバトル進行情報を、バトル終了情報に限って、バトル終了の判定から１．０秒後に送信するようにして、周辺情報の遅延表示処理のタイミングに合わせるようにしてもよい。これによって、表示画面１２２に表示される、バトル終了までのリアルタイムの画像展開と、周辺情報の遅延表示処理の遅延した画像展開とが緩衝され、プレイヤにバトル終了直後の表示画面１２２の画像展開の違和感を減少させることができるようになる。
【０２５４】
上記の実施の形態では、ゾーンサーバ装置２００から送信される周辺情報の送信タイミングは、１．０秒毎となっていたが、それよりも長い間隔の送信タイミングで送信されるものであってもよい。また、これをバトルサーバプロセスによりバトルサーバ装置３００から送信されるバトル進行情報を送信するタイミングと同様に、３０分の１秒毎のタイミングで送信するようにしてもよい。
【０２５５】
これによって、ビデオゲーム装置１００の表示装置１２１の表示画面１２２における、１フレーム時間とのタイミングのズレは解消されるものとなり、当該ビデオゲーム装置１００で操作されるプレイヤキャラクタ４０１の外見・位置のリアルタイムの変化に併せて周辺情報に係る画像も生成できるようになる。
【０２５６】
また、バトルサーバ装置３００から送信されるバトル周辺情報の送信タイミングは、０．５秒毎となっていたが、これをビデオゲーム装置１００へとバトル進行情報を送信するタイミングである３０分の１秒毎の送信タイミングで送るようにしてもよい。また、このようなゾーンサーバ装置２００から送信される周辺情報、バトルサーバ装置３００から送信されるバトル進行情報、及びバトル周辺情報の送信タイミングは等間隔でなくてもよい。また、ビデオゲーム装置１００からデータが送信されるタイミングも等間隔でなくてもよく、例えば、プレイヤからの入力があったときのみ送信されるものであってもよい。
【０２５７】
上記の実施の形態では、各々のビデオゲーム装置１００に、ゾーンサーバ装置２００から周辺情報が送信されるタイミングは１．０秒毎であるのに対し、バトルサーバ装置３００からバトル進行情報が送信されるタイミングは３０分の１秒毎であった。そのため、ビデオゲーム装置１００では、ゾーンサーバ装置２００から送信される周辺情報を基に遅延表示処理を行い、バトルサーバ装置３００から送信されるバトル進行情報をもとにリアルタイムで表示画面１２２に表示する画像の表示処理を行うものであった。
【０２５８】
本発明では、バトルサーバ装置３００からバトル進行情報が送信される頻度は、ゾーンサーバ装置２００から周辺情報が送信される頻度よりも多いものであり、かつバトル進行のリアルタイム性を妨げない程度のものであれば、これに限るものではない。また、バトルサーバ装置３００からバトル進行情報が送信される頻度によっては、表示画面１２２に表示する動画像に対して、プレイヤが違和感を感じさせないために、当該プレイヤのビデオゲーム装置１００において、移動中の表示処理として行っていた遅延表示処理を、バトル中の表示処理においても同様に行うようにしてもよい。
【０２５９】
上記の実施の形態では、プレイヤキャラクタ４０１は、バトルにおいて敵キャラクタ４０２を相手としてバトルを行い、倒すものとしていたが、これに加え、またはこれに代えて、プレイヤキャラクタ４０１同士のバトルを行うようにしてもよい。この場合、バトルを開始することになる複数のプレイヤキャラクタ４０１を操作するビデオゲーム装置１００に対して、図９（ｄ）の第４段階目において、ゾーンサーバ装置２００からビデオゲーム装置１００に対して送信するＢＳＶ特定情報を、当該ビデオゲーム装置１００に対して転送する。
【０２６０】
上記の実施の形態にかかるオンラインゲームでは、プレイヤキャラクタ４０１がフィールド４００上を移動して、敵キャラクタ４０２とバトルを行うものであったが、フィールド４００において、プレイヤから、他のプレイヤキャラクタ４０１が特定のイベントを行っている姿を見ることができるような態様であって、当該イベントについてリアルタイムで表示画面１２２の表示画像を生成し、キャラクタのパラメータを更新するものであるようなイベントをバトルの代わりに行ってもよい。そのようなイベントとしては、例えば、レース（車、馬など）やスポーツ（サッカー、野球など）であってもよい。
【０２６１】
上記の実施の形態では、プレイヤキャラクタ４０１、及び敵キャラクタ４０２はフィールドを移動する人型、動物型のキャラクタとして説明するものであるが、これに限るものではなく、これらに加えて、またはこれに代えて飛行機や戦車といった乗り物が移動、或いはバトルするものであってもよい。
【０２６２】
上記の実施の形態では、オンラインゲームとしてＭＭＯＲＰＧに限定して説明してきたが、これは、フィールドの移動、およびバトルのようなイベントといった状況の変化が伴うようなオンラインゲームであれば、多数のプレイヤが参加できるようなシミュレーションゲームであってもよい。
【０２６３】
上記の実施の形態では、ビデオゲームを実行するプラットフォームとなる装置としてゲーム専用機であるビデオゲーム装置１００を適用していた。これに対して、本発明は、ビデオゲーム装置１００と同様の構成要素を備え、ネットワーク接続機能を有するものであれば、汎用のパーソナルコンピュータなどをプラットフォームとして実現されるものとしてもよい。表示装置１２１及びサウンド出力装置１２５をビデオゲーム本体１０１と同一の筐体内に納めた構成を有する携帯ゲーム機（アプリケーションの実行機能を有する携帯電話機を含む）を適用するものとしてもよい。
【０２６４】
記録媒体１３１としては、ＤＶＤ−ＲＯＭやＣＤ−ＲＯＭの代わりに半導体メモリーカードを適用することができる。このメモリーカードを挿入するためのカードスロットをＤＶＤ／ＣＤ−ＲＯＭドライブ１１３の代わりに設けることができる。汎用のパーソナルコンピュータの場合には、本発明に係るプログラム及びデータを記録媒体１３１に格納して提供するのではなく、ＨＤＤ１０７に予め格納して提供してもよい。本発明にかかるプログラム及びデータを格納して提供するための記録媒体は、ハードウェアの物理的形態及び流通形態に応じて任意のものを適用することができる。
【０２６５】
上記の実施の形態では、ビデオゲーム装置１００のプログラム及びデータは、記録媒体１３１に格納されて配布されるものとしていた。これに対して、これらのプログラム及びデータをネットワーク上に存在するサーバ装置が有する固定ディスク装置に格納しておき、ビデオゲーム本体１０１にネットワークを介して配信するものとしてもよい。ビデオゲーム装置１００において、通信インターフェイス１１５がサーバ装置から受信したプログラム及びデータは、ＨＤＤ１０７に保存し、実行時にＲＡＭ１０５にロードすることができる。ゾーンサーバ装置２００、及びバトルサーバ装置３００のプログラム及びデータについても同様である。
【０２６６】
上記の実施の形態では、ゾーンサーバ装置２００、２台のバトルサーバ装置３００、及びゲーム外サーバ装置３５０をサーバ群２５０としている、これらの距離関係について特に述べていないが、これらは互いに遠隔地（同じ建物に存在しない、又は異なる地域、国に存在する等）に存在させるようにしてもよい。
【０２６７】
また、ビデオゲーム装置１００について、バトルサーバプロセスを管理できるだけの十分の処理能力であれば、バトルサーバ装置３００の代わりに当該ビデオゲーム装置１００において、当該ビデオゲーム装置１００で操作されるプレイヤキャラクタ４０１のバトルに係るバトルサーバプロセスを管理するようにしてもよい。
［付記］
［１］  本発明は、バトルでのキャラクタの追加によって、オンラインゲーム全体の進行を管理するサーバ装置に多大な負荷をかけることがないオンラインゲームシステム等を提供することを目的とする。
［２］  上記目的を達成するため、本発明の第１の観点にかかるオンラインゲームシステムは、主サーバ装置と、該主サーバ装置に通信回線を介して接続されるとともにゲームの表示画面を表示する表示装置を有する複数のクライアント装置とを備え、各々のクライアント装置のプレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを共通のフィールドで移動させてゲームを進行させるとともに、当該フィールドと異なるマップに移行することなく何れか１以上のプレイヤキャラクタがノンプレイヤキャラクタである敵キャラクタと闘わせるバトルをゲームの進行過程において行うオンラインゲームを提供するオンラインゲームシステムであって、前記主サーバ装置と前記複数のクライアント装置の各々に通信回線を介して接続可能に構成されるとともに、前記オンラインゲームのうちの前記バトルを制御するバトルサーバ装置をさらに備え、前記バトルは、該バトルの開始前まで前記フィールドに存在していなかったノンプレイヤキャラクタが当該バトルで一時的に登場する敵キャラクタとして追加されるものであり、前記複数のクライアント装置の各々は、当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタに対する前記フィールド上での移動を含む指令を入力する指令入力手段と、当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタにより前記バトルが行われていないときに、前記指令入力手段から入力された指令に応じた情報を前記主サーバ装置に送信するとともに、該主サーバ装置から定期的に送信されるバトル外ゲーム情報を受信し、該受信したバトル外ゲーム情報に基づいてゲームの表示画面を生成して前記表示装置に表示させるバトル外画面表示手段と、当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタが前記バトルを行う所定の条件が成立したときに、該バトルを行うべく前記バトルサーバ装置に接続するバトルサーバ接続手段と、前記バトルサーバ接続手段により前記バトルサーバ装置に接続されて当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタにより前記バトルが行われているときに、前記指令入力手段から入力された指令に応じた情報を前記バトルサーバ装置に送信するとともに、該バトルサーバ装置から定期的に送信されるバトル情報を受信し、該受信したバトル情報に基づいてゲームの表示画面を生成して前記表示装置に表示させるバトル画面表示手段とを備え、前記主サーバ装置は、前記バトルのみに登場し得る敵キャラクタ以外の前記フィールドを移動する前記複数のキャラクタの各々についての該フィールドにおける位置を、各々のキャラクタが前記バトルを行っているかどうかに関わらずに管理する通常キャラクタ位置管理手段と、前記バトルを行っていないプレイヤキャラクタに対応するクライアント装置から送信された前記指令入力手段から入力された指令に応じた情報を受信し、該受信した指令に応じた情報に応じて前記通常キャラクタ位置管理手段で管理されている各プレイヤキャラクタの位置を更新するバトル外ゲーム更新手段と、前記通常キャラクタ位置管理手段を定期的に参照して、前記フィールド上に存在する各キャラクタの位置を示すバトル外ゲーム情報を生成し、該生���したバトル外ゲーム情報を少なくとも前記バトルを行っていないプレイヤキャラクタに対応したクライアント装置に送信するバトル外ゲーム情報送信手段とを備え、前記バトルサーバ装置は、前記バトルの開始前までに前記フィールドに存在していたキャラクタのうちの当該バトルを行うキャラクタと、当該バトルで追加された敵キャラクタの双方を含む各キャラクタに関する前記フィールド上における位置を含む状態を管理するバトル管理手段と、前記バトルサーバ接続手段により接続されているクライアント装置から送信された前記指令入力手段から入力された指令に応じた情報を受信し、該受信した指令に応じた情報に基づいて前記バトルを行うプレイヤキャラクタと敵キャラクタとを闘わせた結果により前記バトル管理手段により管理されている各キャラクタの前記フィールド上における位置を含む状態を更新するバトル実行手段と、前記バトル管理手段により管理されている各キャラクタの状態と前記バトル実行手段によりプレイヤキャラクタと敵キャラクタとを闘わせた結果とに応じて前記バトル情報を生成し、該生成したバトル情報を前記バトルサーバ接続手段により接続されているクライアント装置に送信するバトル情報送信手段とを備えることを特徴とする。
［３］  上記オンラインゲームシステムは、主サーバ装置と、該主サーバ装置に通信回線を介して接続される複数のクライアント装置とを備え、ここで提供されるオンラインゲームは、各々のクライアント装置のプレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを共通のフィールドで動作させてゲームを進行させる。また、このゲームの進行過程では、何れか１以上のプレイヤキャラクタをノンプレイヤキャラクタである敵キャラクタと闘わせるバトルが実行される。
［４］  このバトルは、当該バトルの開始前にプレイヤキャラクタを移動させていたフィールドとは異なるマップに移行することなく同じフィールド上で行われるが、一般にバトル中はバトル外に比べてキャラクタの動作やパラメータの変化が大きいため、バトルを行うための処理負荷は、バトル以外のゲームを行うための処理負荷に比べて非常に大きいものとなる。
［５］  さらに、上記オンラインゲームシステムでは、バトルの開始までフィールドに存在していなかったノンプレイヤキャラクタが当該バトルで一時的に登場する敵キャラクタとして追加されることがある。このようにバトルの開始により敵キャラクタとして新たなノンプレイヤキャラクタを追加するものとした場合、その追加した敵キャラクタの分だけ処理負荷がさらに増し、バトルを実行するために必要な処理負荷が極めて大きくなってしまう。予想される最大の処理負荷に対してオンラインゲームに参加できるプレイヤの数やゲームの内容を絞り込むと、ゲームの面白みが半減してしまう虞がある。
［６］  ここで、上記オンラインゲームシステムでは、主サーバ装置と複数のクライアント装置の各々に通信回線を介して接続可能に構成される副サーバ装置も備えており、処理負荷の大きいバトルの実行は、この副サーバ装置によって制御されるものとなる。このため、処理負荷が大きいバトルの実行を主サーバ装置が制御する必要がなくなり、主サーバ装置にかかる処理負荷が大きくなりすぎない。これにより、提供されるオンラインゲームに参加できるプレイヤの数やプレイできるゲームの内容が、敵キャラクタの追加があるバトルの実行によってあまり制限されないようにすることができる。
［７］  上記オンラインゲームシステムにおいて、前記バトルサーバ装置は、前記バトル管理手段を定期的に参照して、前記バトルを行っている全てのキャラクタの位置を含むバトル位置情報を生成し、該生成したバトル位置情報を前記主サーバ装置に送信するバトル位置情報送信手段をさらに備え、前記主サーバ装置は、前記バトルサーバ装置により現時点で実行されているバトルに登場している敵キャラクタの前記フィールドにおける位置を管理する拡張キャラクタ位置管理手段と、前記バトルサーバ装置において前記バトルが実行されているときに、前記バトル位置情報送信手段から送信された前記バトル位置情報を受信し、該受信したバトル位置情報に基づいて、前記通常キャラクタ位置管理手段で管理されている各々のキャラクタの前記フィールドにおける位置と前記拡張キャラクタ位置管理手段で管理されている敵キャラクタの前記フィールドにおける位置とを更新するバトル更新手段とをさらに備え、前記バトル外ゲーム情報送信手段は、前記拡張キャラクタ位置管理手段も定期的に参照して、前記バトルサーバ装置により現時点で実行されているバトルに登場している敵キャラクタを含む前記フィールド上に存在する各キャラクタの位置を示すバトル外ゲーム情報を生成するものとしてもよい。
［８］  副サーバ装置は、バトルを行っている各キャラクタの状態（フィールド上の位置だけではなく、バトルの実行に必要なパラメータなどを含む）を管理しているが、これを参照してバトルを行っている全てのキャラクタの位置を含むバトル位置情報を生成し、主サーバ装置に送信するものとしている。一方、主サーバ装置は、フィールドを移動している複数のキャラクタの各々の位置を通常キャラクタ位置管理手段で管理するだけではなく、バトルだけに登場している敵キャラクタのフィールドにおける位置も拡張キャラクタ位置管理手段で管理するものとしている。これらで管理される各キャラクタの位置は、副サーバ装置からのバトル位置情報に基づいて更新される。
［９］  主サーバ装置は、バトルを行っていないプレイヤキャラクタに対応したクライアント装置にバトル外ゲーム情報を送信し、これにより生成されるゲームの表示画面を表示装置に表示させるものとしているが、バトル外ゲーム情報には、当該クライアント装置のプレイヤキャラクタが行っていないバトルにのみ登場している敵キャラクタの位置も含まれている。つまり、自己のプレイヤキャラクタにバトルを行わせていないプレイヤも、他のプレイヤキャラクタが敵キャラクタと行っているバトルを見ることができ、さらに当該バトルでのみ追加されたキャラクタも見ることができる。
［１０］  これにより、各クライアント装置のプレイヤは、自分のプレイヤキャラクタをバトルに参加させていなくても、他のプレイヤのプレイヤキャラクタにより行われているバトルの進行をゲームの表示画面で確認することができるものとなる。従って、副サーバ装置の制御下にないバトルを行わないプレイヤキャラクタを操作するプレイヤが、バトルを行っている他のプレイヤキャラクタの位置を見失ってしまったり、自己は直接には参加していないもののゲームの一部であるバトルで何が行われているか全く分からないということになってしまうことを防ぐことができる。
［１１］  上記オンラインゲームシステムにおいて、前記主サーバ装置は、前記複数のクライアント装置の何れかに対応したプレイヤキャラクタについて前記バトルを行う所定の条件が成立したときに、該バトルの開始前まで前記フィールドに存在していなかったノンプレイヤキャラクタを当該バトルで一時的に登場する敵キャラクタとして追加することを決定し、該追加することを決定した敵キャラクタに関する情報を前記バトルサーバ装置に通知する追加キャラクタ決定手段をさらに備えるようにしてもよい。
［１２］  上記オンラインゲームシステムにおいて、前記バトルサーバ装置は、前記複数のクライアント装置の何れかが前記バトルサーバ接続手段により接続されて前記バトルが開始することとなるときに、該バトルの開始前まで前記フィールドに存在していなかったノンプレイヤキャラクタを当該バトルで一時的に登場する敵キャラクタとして追加することを決定する追加キャラクタ決定手段をさらに備えるようにしてもよい。
［１３］  上記オンラインゲームシステムにおいて、前記追加キャラクタ決定手段は、前記バトルに追加する敵キャラクタの種類および／または数を決定するものとしてもよい。
［１４］  この場合、バトル毎に当該バトルに追加する敵キャラクタの種類および／または数が異なることとなるため、バトルのバリエーションが増え、同じプレイヤがバトルを行う回数を重ねるに従ってバトルの面白みが下がってきてしまうのを防ぐことができる。
［１５］  この場合において、前記追加キャラクタ決定手段は、前記バトルに追加可能な敵キャラクタのうちから任意に敵キャラクタを選択して当該バトルに参加する敵キャラクタとして決定する任意追加決定手段と、前記バトルに追加可能な敵キャラクタのうちから所定の規則に従って敵キャラクタを選択して当該バトルに参加する敵キャラクタとして決定する規則追加決定手段と、前記任意追加決定手段の決定により敵キャラクタを追加させるか前記規則追加決定手段の決定により敵キャラクタを追加させるかを決定する追加手法決定手段を含むものとすることができる。
［１６］  ここで、前記任意追加決定手段は、予め定められた最小数から最大数までの範囲内でランダムに当該バトルに追加する敵キャラクタの数を決定し、２以上の敵キャラクタを追加することを決定した場合には、該追加することを決定した２以上の敵キャラクタの各々について種類を決定するものとすることができる。また、前記規則追加決定手段は、前記所定の規則に従った種類及び数の敵キャラクタを追加することを決定するものとすることができる。
［１７］  上記オンラインゲームシステムにおいて、前記追加キャラクタ決定手段は、前記バトルへの追加が決定された敵キャラクタを当該バトルで登場させるタイミングを決定する追加タイミング決定手段を含み、前記バトル実行手段は、前記追加タイミング決定手段により決定されたタイミングで、前記バトルへの追加が決定された敵キャラクタを当該バトルに登場させる（前記拡張キャラクタ位置管理手段を備える場合には、さらに該拡張キャラクタ位置管理手段に管理させる）ものとしてもよい。
［１８］  この場合、追加の敵キャラクタは、バトルの開始時で登場してくるだけではなく、バトルの開始後も様々なタイミングで登場してくることとなるため、バトルのバリエーションが増え、同じプレイヤがバトルを行う回数を重ねるに従ってバトルの面白みが下がってきてしまうのを防ぐことができる。
［１９］  ここで、前記追加タイミング決定手段は、前記バトルへの追加が決定された敵キャラクタが複数存在する場合には、該複数の敵キャラクタ毎に当該バトルに追加するタイミングを決定するものとすることができる。また、前記追加タイミング決定手段は、前記バトルへの追加が決定された敵キャラクタを追加するタイミングとして、当該バトルが開始されたタイミングを決定することも、当該バトルが開始されたタイミングよりも後のタイミングを決定することもできる。後者の場合は、当該バトルの開始からの経過時間を敵キャラクタを追加するタイミングとして決定するものとしても、当該バトルの進行状況が所定の状況（例えば、先に登場していた敵キャラクタが倒された）となったタイミングを敵キャラクタを追加するタイミングとして決定するものとしてもよい。
［２０］  上記オンラインゲームシステムにおいて、前記複数のクライアント装置の各々は、当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタについて他の何れかのプレイヤキャラクタが現時点で行っているバトルへの参加条件が成立したときに、該バトルに当該プレイヤキャラクタを参加させるべく前記バトルサーバ装置に接続する第２のバトルサーバ接続手段をさらに備え、前記バトルは、当該バトルに新たなプレイヤキャラクタが参加するときに、該新たなプレイヤキャラクタの参加まで前記フィールドに存在していなかったノンプレイヤキャラクタが当該バトルで一時的に登場する敵キャラクタとしてさらに追加されるものとすることができる。
［２１］  ここでは、あるプレイヤキャラクタが既に行っているバトルに、他のプレイヤキャラクタが後から参加することができるものとなるが、他のプレイヤキャラクタが参加して敵キャラクタと闘うプレイヤキャラクタの数が増えると、ここでも追加して登場する敵キャラクタが決定されるものとなる。これにより、敵キャラクタの数に対して圧倒的にプレイヤキャラクタの数が多くなって相対的にバトルの難易度が酷く低下してしまうという事態を防ぐことができるものとなる。
［２２］  上記オンラインゲームシステムにおいて、前記バトル外ゲーム情報送信手段は、前記複数のクライアント装置の各々で前記表示装置に表示される表示画面を複数の所定数だけ生成する時間間隔に応じた長期時間間隔で、少なくとも前記バトルを行っていないプレイヤキャラクタに対応したクライアント装置に対して前記バトル外ゲーム情報を送信し、前記バトル情報送信手段は、前記長期時間間隔よりも短い短期時間間隔で、前記バトルサーバ接続手段により接続されているクライアント装置に対して前記バトル情報を送信し、前記バトル外画面表示手段は、前記バトル外ゲーム情報を受信してからの前記長期時間間隔に応じた期間において、前回バトル外ゲーム情報に応じた表示画面より後から今回のバトル外ゲーム情報に応じた表示画面よりも前までを補完する補間画面を順次生成し、該生成した補間画面から前記バトル外ゲーム情報に応じた表示画面まで順次前記表示装置に表示させ、前記バトル画面表示手段は、前記バトル情報を受信して該受信したバトル情報に応じた表示画面を生成し、該生成した表示画面を前記表示装置に表示させるものとしてもよい。
［２３］  この場合、バトル以外のゲームの実行を制御する主サーバ装置は、バトルの実行を制御する副サーバ装置よりも長い時間間隔でバトル外ゲーム情報を送信すればよいため、バトル外ゲーム情報の送信のための処理負荷を小さくすることができるものとなる。提供されるオンラインゲームに参加できるプレイヤの数やプレイできるゲームの内容に対しての制限をさらに小さくすることができる。一方、クライアント装置では、バトル外ゲーム情報の受信間隔に応じて補間画面を生成し、順位表示装置に表示させていくため、バトル以外のゲームの表示画面も滑らかに変化して表示されるようにすることができる。
［２４］  なお、前記バトル情報送信手段は、前記バトルサーバ接続手段により接続されているクライアント装置に対しては前記短期時間間隔で前記バトル情報を送信するが、前記バトル位置情報送信手段は、前記主サーバ装置に対しては前記短期時間間隔よりも長い時間間隔（前記長期時間間隔としてもよい）で前記バトル位置情報を送信するものとすることができる。もっとも、前記バトル位置情報送信手段は、前記主サーバ装置に対しても前記短期時間間隔で前記バトル位置情報を送信するものとしてもよい。
【符号の説明】
【０２６８】
１００ ビデオゲーム装置
１０１ ビデオゲーム本体
１０３ 制御部
１０５ ＲＡＭ
１０７ ＨＤＤ
１０９ サウンド処理部
１１１ グラフィック処理部
１１２ フレームメモリ
１１３ ＤＶＤ／ＣＤ−ＲＯＭドライブ
１１５ 通信インターフェイス
１１７ インターフェイス部
１１９ 内部バス
１２１ 表示装置
１２２ 表示画面
１２５ サウンド出力装置
１３１ 記録媒体
２００ ゾーンサーバ装置
２０１ サーバ本体
２０３ 制御部
２０５ ＲＡＭ
２０７ ＨＤＤ
２１３ ＤＶＤ／ＣＤ−ＲＯＭドライブ
２１５ 通信インターフェイス
２３１ 記録媒体
２５０ サーバ群
３００ バトルサーバ装置
３５０ ゲーム外サーバ装置
【図１】
0005620545.tif 000002
【図２】
0005620545.tif 000003
【図３】
0005620545.tif 000004
【図４】
0005620545.tif 000005
【図５】
0005620545.tif 000006
【図６】
0005620545.tif 000007
【図７】
0005620545.tif 000008
【図８】
0005620545.tif 000009
【図９】
0005620545.tif 000010
【図１０】
0005620545.tif 000011
【図１１】
0005620545.tif 000012
【図１２】
0005620545.tif 000013
【図１３】
0005620545.tif 000014
【図１４】
0005620545.tif 000015