PATENTSCOPE will be unavailable a few hours for maintenance reason on Tuesday 19.11.2019 at 4:00 PM CET
Search International and National Patent Collections
Some content of this application is unavailable at the moment.
If this situation persists, please contact us atFeedback&Contact
1. (WO2007000990) GAME SYSTEM, CONTROL METHOD THEREOF, GAME DEVICE, AND PROGRAM
Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters
明 細書

ゲームシステム及びその制御方法、ゲーム装置、並びにプログラム 技術分野

[0001] 本発明は、中継装置を介して通信を行うゲームシステム及びその制御方法、ゲーム 装置、並びにプログラムに関する。

背景技術

[0002] 仮想空間内に配置された複数のキャラクタを複数のプレイヤーが各々操作するゲ ームを複数のゲーム装置の間で実行可能なゲームシステムがある。このシステムとし ては、特開 2003— 047774号公報に記載されているように、キャラクタの動作に基 づく全ての判定をゲーム装置以外の特定の装置(サーバ)が行い、各ゲーム装置で は表示する画像を特定の装置力の情報を受信した場合にのみ更新するものがある

発明の開示

発明が解決しょうとする課題

[0003] し力し、特開 2003— 047774号公報に記載のシステムでは、各ゲーム装置で実行 された全ての操作 (キャラクタの動作)に関わる情報 (以下、「ゲーム情報」、う)が特 定の装置に集約されて各種の判断に用いられた後に各ゲーム装置の画面に反映さ れるため、プレイヤーが自己のキャラクタであるプレイヤーキャラクタを操作してから当 該操作に応じた画像が自己のゲーム装置に表示されるまでの応答時間も通信遅延 により長くなつてしまう。このため、複数のプレイヤーが各プレイヤーキャラクタを操作 して仮想空間内を移動させて互いに撃ち合わせる射撃ゲームのように応答時間を極 めて短くする必要があるゲームの実行には適さない。このことは、いわゆるセンター Z ターミナル型のゲームシステムやマスター/スレーブ型のゲームシステム一般に当て はまる。

[0004] 応答時間を短くすることができるシステムとしては、各ゲーム装置が特定の装置を経 由せずに直接的かつ対等に(マスター Zスレーブの関係でなく)通信してゲームを進 行させるシステムが考えられる。このシステムには様々なノリエーシヨンが有り得る。 例えば、各ゲーム装置において、表示する画像を、特定の装置からのゲーム情報を 受信せずとも自己のプレイヤーの操作に応じて更新可能とすることも考えられる。し かし、いずれのノリエーシヨンにせよ、同一のゲームの実行に係る各ゲーム装置が他 の全てのゲーム装置と個々に通信しなければならず、特開 2003— 047774号公報 に記載されるような特定の装置のみと通信すればよいシステムに比較して通信に係 る処理が重くなつてしまう。この欠点は、特に、同一のゲームの実行に参加しているゲ ーム装置が多数の場合に深刻となる。

[0005] また、、ずれのバリエーションにせよ、ゲーム装置間の通信遅延はそれぞれ異なる のが普通であるため、各ゲーム装置においてゲームの進行に矛盾が生じ易い。例え ば、第 1〜第 4のゲーム装置の間でゲームを実行するシステムにおいて、第 1のゲー ム装置で第 1の事象が発生し、その後に第 2のゲーム装置で第 2の事象が発生したも のとする。あるゲーム装置での事象の発生を他のゲーム装置に伝えるのに要する時 間 (通信遅延時間)は送信先のゲーム装置によって異なるから、第 3のゲーム装置で は第 1の事象の発生を知って力も第 2の事象の発生を知るのに対し、第 4のゲーム装 置では第 2の事象の発生を知って力も第 1の事象の発生を知る、 t 、うことも起こりうる 。通常、各ゲーム装置では、事象の発生を知った順序に基づいてゲームを進行させ ようとするから、この順序がゲーム装置毎に異なることが多いと、ゲームの進行に矛盾 が生じ易くなる。

[0006] 本発明は上述した事情に鑑みてなされたものであり、仮想空間内に配置された複 数のキャラクタを複数のプレイヤーが各々操作するゲームを複数のゲーム装置の間 で実行可能なゲームシステムであって、ゲームの進行に矛盾が生じ難ぐ通信に係る 処理を重くすることなぐ応答時間を極めて短くする必要があるゲームを実行すること ができるゲームシステム及びその制御方法、ゲーム装置、並びにプログラムを提供す ることを目的とする。

課題を解決するための手段

[0007] 以下、本発明について説明する。なお、本発明の理解を容易にするために添付図 面の参照符号を括弧書きにて付記するが、それにより本発明が図示の形態に限定さ れるものではない。

[0008] 上述の課題を解決するために、本発明に係るゲームシステム(100)は、中継装置( A1)と複数のゲーム装置(5)とを備え、仮想空間内に配置された複数のキャラクタを 複数のプレイヤーが各々操作するゲームを所定数のグループ化されたゲーム装置( 5)の間で実行可能なゲームシステム(100)であって、前記複数のゲーム装置(5)の 各々は、通信を行う通信部(514)と、前記ゲームの画像を表示する表示部(52)と、 プレイヤーの操作に応じた操作信号 (Dl、 TG1、 OPl、 OP)を出力する操作信号出 カ咅 (56、 59、 543〜545)と、前記操作信号(Dl、 TG1、 OPl、 OP)に基づ、て当 該ゲーム装置(5)のプレイヤーが操作するキャラクタであるプレイヤーキャラクタの動 作を指定するゲーム情報を生成し、当該ゲーム情報と、前記通信部(514)を用いて グループィ匕された他のゲーム装置(5)である相手方ゲーム装置(5)から取得した、当 該相手方ゲーム装置(5)のプレイヤーが操作するキャラクタである相手方キャラクタ の動作を指定するゲーム情報とに基づいて、前記仮想空間における前記プレイヤー キャラクタの動作に応じた画像と前記相手方キャラクタの動作に応じた画像を前記表 示部(52)に表示させる処理部(511)と、前記通信部(514)を用いて前記処理部(5 11)で生成した前記プレイヤーキャラクタの前記ゲーム情報を前記中継装置 (A1)に 送信する送信部(511)とを備え、前記中継装置 (A1)は、前記グループ化されたゲ ーム装置(5)から受信した前記ゲーム情報を受信した順序で前記グループ化された ゲーム装置(5)の一部又は全部に送信することを特徴とする。

[0009] このゲームシステムでは、一つの仮想空間を複数のゲーム装置で共有し、各プレイ ヤーが個々のゲーム装置の入力部(56、 59、 543〜545)を操作することによって、 複数のキャラクタの各々が動作する。この場合、プレイヤーキャラクタの動作は、当該 ゲーム装置の操作信号出力部の操作信号に基づいて把握することができるが、相手 方キャラクタの動作は相手方ゲーム装置のゲーム情報を取得しなければ特定するこ とができない。また、複数のゲーム装置は異なる場所に設置されるから、ゲーム装置 間の通信遅延時間は互いに相違する。仮に、複数のゲーム装置の各々が、当該ゲ ーム装置のプレイヤーが操作するキャラクタの動作を指定するゲーム情報を他の全 てのゲーム装置に送信したとすると、通信遅延時間の相違により、ゲームの進行に矛 盾が生じることがある。本発明によれば、複数のゲーム装置は、中継装置にゲーム情 報を送信するので、中継装置にぉ、てゲーム情報の時系列を確定させることできる。 そして、中継装置は受信した順序でゲーム情報をグループ化されたゲーム装置に送 信するので、矛盾を回避することが可能となる。し力も、各キャラクタの動作は、それ が属するゲーム装置では直ちに画像に反映されるので、サーバ装置で全ての処理を 実行する場合と比較して、操作が画像に反映される時間を大幅に短縮することがで きる。

[0010] 上述したゲームシステム(100)において、前記ゲーム装置(5)からゲームへ参加す る旨の参加要求を受信すると、当該参加要求の送信元であるゲーム装置(5)を一つ のゲームに参加するゲーム装置(5)として前記所定数のゲーム装置(5)から成るグ ループにグループ化するグループ化部(11、 S2、 S8)と、グループ化したゲーム装 置(5)の中から一つのゲーム装置(5)を特定ゲーム装置 (A1)として特定する特定部 (11、 S5)とを有するサーバ装置(1)を備え、前記グループ化されたゲーム装置 (5) のうち前記特定ゲーム装置 (A1)として特定されたゲーム装置 (5)は、前記中継装置 (A1)として、前記グループ化されたゲーム装置(5)から受信した前記ゲーム情報を 受信した順序で前記グループ化されたゲーム装置(5)の一部又は全部に送信するこ とが好ましい。この発明によれば、中継装置の機能をグループィ匕されたゲーム装置の 一つに組み込むことができるので、特定の中継装置を無くすことができる。また、中継 装置は、単にゲーム情報を受信した順序で送信するだけでゲームの進行に係る判定 は実行して、な、ので、中継装置の機能を担うゲーム装置の処理負荷はさほど重く ならない。

[0011] また、上述したゲームシステム(100)において、前記中継装置 (A1)は、前記相手 方ゲーム装置 (5)から受信した前記ゲーム情報を受信した順序で前記グループ化さ れたゲーム装置 (5)から送信元のゲーム装置 (5)を除、たゲーム装置 (5)へ送信す ることが好ましい。送信元のゲーム装置は、ゲーム情報を有しているので、送信先か らこれを除くことによって、通信資源を削減することができる。

[0012] より具体的には、前記グループィ匕されたゲーム装置(5)のうち、前記特定ゲーム装 置 (A1)に指定されて、な、ゲーム装置の前記送信部(511)は、前記処理部(511) で生成された前記ゲーム情報を前記特定ゲーム装置 (A1)に前記通信部(514)を 用いて送信し、前記特定ゲーム装置 (Al)に指定されているゲーム装置 (Al)は、前 記通信部(514)を介して前記相手方ゲーム装置(5)力受信した前記ゲーム情報と 当該ゲーム装置(5)の前記処理部(511)力受信した前記ゲーム情報とを受信した 順序で処理し、前記相手方ゲーム装置(5)から受信した前記ゲーム情報を当該ゲー ム装置 (A1)の前記処理部(511)に送信し、当該ゲーム装置 (A1)の前記処理部(5 11)で生成した前記ゲーム情報を前記相手方ゲーム装置(5)に送信し、前記中継装 置 (A1)として機能する中継部をさらに備えることが好ましい。ここで、前記所定数の グループ化されたゲーム装置(5)は少なくとも三個のゲーム装置(5)で構成され、当 該三個のゲーム装置(5)のうち、一つは前記特定ゲーム装置 (A1)として指定され、 前記特定ゲーム装置 (A1)の中継部は、前記相手方ゲーム装置 (5)から受信した前 記ゲーム情報を前記相手方ゲーム装置(5)の一部又は全部に送信することが好まし い。さらには、前記中継部は、前記相手方ゲーム装置(5)から受信した前記ゲーム情 報を、前記相手方ゲーム装置 (5)から送信元のゲーム装置 (5)を除、たゲーム装置 (5)及び当該ゲーム装置 (A1)の前記処理部(511)に送信することが好ましい。送 信元のゲーム装置は、ゲーム情報を有しているので、送信先力これを除くことによ つて、通信資源を削減することができる。

また、上述したゲームシステム(100)において、前記処理部(511)は、当該ゲーム 装置(5)の前記処理部(511)で生成されたゲーム情報のみに基づ!/、て前記プレイ ヤーキャラクタの動作に応じた画像を前記表示部(52)に表示させる処理と、前記相 手方ゲーム装置(5)から取得したゲーム情報のみに基づ、て前記相手方キャラクタ の動作に応じた画像を前記表示部(52)に表示させる処理と、当該ゲーム装置(5)の 前記処理部(511)で生成されたゲーム情報及び前記相手方ゲーム装置(5)から取 得したゲーム情報に基づいて前記プレイヤーキャラクタの動作に応じた画像を前記 表示部(52)に表示させる処理とを実行することが好ましい。この発明において、「当 該ゲーム装置の前記処理部で生成されたゲーム情報のみに基づいて前記プレイヤ 一キャラクタの動作に応じた画像」は、例えば、プレイヤーキャラクタの移動に伴い視 点が変化する画像が該当する。また、「相手方ゲーム装置から取得したゲーム情報 のみに基づいて前記相手方キャラクタの動作に応じた画像」は、例えば、相手方キヤ ラクタが移動する画像が該当する。また、「当該ゲーム装置の前記処理部で生成され たゲーム情報及び前記相手方ゲーム装置から取得したゲーム情報に基づいて前記 プレイヤーキャラクタの動作に応じた画像」は、プレイヤーキャラクタの弾が相手方キ ャラクタに命中した画像や、相手方キャラクタが発射した弾がプレイヤーキャラクタに 命中したことを示す画像が該当する。このように、他のゲーム装置の動作と無関係な 動作に係る画像は単独のゲーム装置において画像が生成されて表示され、他のゲ ーム装置と関係する動作に係る画像は他のゲーム装置の動作と関連付けた画像が 生成されて表示されるので、処理部の処理量が減少し、キャラクタの動作が発生して から当該動作に対応する画像が表示されるまでの応答時間が短縮される。

また、上述したゲームシステム(100)にお、て、前記処理部(511)は、前記操作信 号 (Dl、 TG1、 OPl、 OP)に基づいて前記仮想空間内における前記プレイヤーキヤ ラクタの位置を示す位置情報を生成して管理する位置情報管理部(511、 SA2、 SA 3)と、前記仮想空間に設定した複数の基準位置と前記複数の基準位置の各々を指 定する指定情報とを対応付けて記憶する記憶部(512)と、前記プレイヤーキャラクタ の位置が前記基準位置を中心とする所定範囲を超えると、前記キャラクタの位置を隣 接する他の前記基準位置に移動させ、前記基準位置の間の移動が起こると、前記記 憶部 (512)を参照して移動先の前記基準位置に対応する前記指定情報を取得して 前記送信部(511)に供給する移動部(511、 SA6、 SA7)と、前記プレイヤーキャラ クタの位置を示す位置情報を生成し、当該位置情報によって指定される位置からの 視点の画像を前記表示部(52)に表示させる処理と、前記通信部(514)を用いて前 記相手方キャラクタの前記指定情報を前記ゲーム情報として受信すると、前記記憶 部 (512)を参照して当該指定情報の指定する前記基準位置に位置する前記相手方 キャラクタの画像を前記表示部(52)に表示させる処理とを実行する表示制御部(51 1、 SG1〜SG12)と、を備えることが好ましい。位置情報は、通常、仮想空間内の座 標で与えられる。キャラクタの少しの動きに対応して位置情報を送信すると、通信量 が大きくなる。し力しながら、この発明によれば、基準位置間の移動があった場合に 通信を行い、し力も、移動先の位置情報そのものを送信するのではなぐ指定情報を 送信するので、通信量を大幅に削減することができる。

[0015] 次に、本発明に係るゲーム装置(5)は、仮想空間内に配置された複数のキャラクタ を複数のプレイヤーが操作するゲームを当該ゲーム装置(5)が属するグループの他 のゲーム装置(5)である相手方ゲーム装置(5)との間で実行可能であり、前記グノレ ープに属するゲーム装置(5)のうち一つのゲーム装置(5)は特定ゲーム装置 (A1)と して指定されるゲーム装置(5)であって、通信を行う通信部(514)と、前記ゲームの 画像を表示する表示部(52)と、プレイヤーの操作に応じた操作信号 (Dl、 TG1、 O Pl、 OP)を出力する操作信号出力部(56、 59、 543〜545)と、前記操作信号 (D1 、 TG1、 OPl、 OP)に基づいて当該ゲーム装置(5)のプレイヤーが操作するキャラク タであるプレイヤーキャラクタの動作を指定するゲーム情報を生成し、前記ゲーム情 報と、前記相手方ゲーム装置(5)から取得した、当該相手方ゲーム装置(5)のプレイ ヤーが操作するキャラクタである相手方キャラクタの動作を指定するゲーム情報とに 基づいて、前記仮想空間における前記プレイヤーキャラクタの動作に応じた画像と前 記相手方キャラクタの動作に応じた画像を前記表示部(52)に表示させる処理部(51 1)と、当該ゲーム装置 (5)が特定ゲーム装置 (A1)に指定されていない場合、前記 通信部(514)を用いて前記処理部(511)で生成された前記ゲーム情報を前記特定 ゲーム装置 (A1)に送信する送信部(511)と、当該ゲーム装置 (5)が特定ゲーム装 置 (A1)に指定されている場合、前記通信部(514)を介して相手方ゲーム装置(5) から受信した前記ゲーム情報と当該ゲーム装置(5)の前記処理部(511)から受信し た前記ゲーム情報とを受信した順序で処理し、前記相手方ゲーム装置 (5)から受信 した前記ゲーム情報を相手方ゲーム装置(5)湘手方ゲーム装置が複数の場合には その一部又は全部)と当該ゲーム装置(5)の前記処理部(511)に送信し、当該ゲー ム装置(5)の前記処理部(511)で生成した前記ゲーム情報を前記相手方ゲーム装 置(5)に送信する中継部とを備える。

[0016] このゲーム装置は、一つの仮想空間を相手方ゲーム装置と共有し、各プレイヤー が個々のゲーム装置の入力部(56、 59、 543〜545)を操作することによって、複数 のキャラクタの各々を動作させる。仮に、グループィ匕されたゲーム装置の各々力当 該ゲーム装置のプレイヤーが操作するキャラクタの動作を指定するゲーム情報を他 の全てのゲーム装置に送信したとすると、通信遅延時間の相違により、ゲームの進行 に矛盾が生じることがある。本発明によれば、ゲーム装置は、特定ゲーム装置にゲー ム情報を送信するので、特定ゲーム装置にぉ、てゲーム情報の時系列を確定させる ことできる。そして、特定ゲーム装置の中継部は受信した順序でゲーム情報をグルー プ化されたゲーム装置に送信するので、矛盾を回避することが可能となる。し力も、各 キャラクタの動作は、それが属するゲーム装置では直ちに画像に反映されるので、サ ーバ装置で全ての処理を実行する場合と比較して、操作が画像に反映される時間を 大幅に短縮することができる。

次に、本発明に係るプログラムは、仮想空間内に配置された複数のキャラクタを複 数のプレイヤーが操作するゲームを当該ゲーム装置(5)が属するグループの相手方 ゲーム装置(5)との間で実行可能であり、前記グループに属するゲーム装置(5)のう ち一つのゲーム装置 (5)は特定ゲーム装置 (A1)として指定され、通信を行う通信部 (514)と、ゲームの画像を表示する表示部(52)と、プレイヤーの操作に応じた操作 信号 (D1、TG1、 OPl、 OP)を出力する操作信号出力部(56、 59、 543〜545)と、 プログラムを実行するプログラム実行部(511)とを備えたゲーム装置(5)に用いられ るものであって、前記プログラム実行部(511)に、前記操作信号 (Dl、 TG1、 ΟΡ1、 OP)に基づいて当該ゲーム装置(5)のプレイヤーが操作するキャラクタであるプレイ ヤーキャラクタの動作を指定するゲーム情報を生成する処理と、前記ゲーム情報及 び前記相手方ゲーム装置(5)から取得した、当該相手方キャラクタのプレイヤーが操 作するキャラクタである相手方キャラクタの動作を指定するゲーム情報とに基づいて、 前記仮想空間における前記プレイヤーキャラクタの動作に応じた画像と前記相手方 キャラクタの動作に応じた画像を前記表示部(52)に表示させる処理と、当該ゲーム 装置 (5)が特定ゲーム装置 (A1)に指定されて、なヽ場合、前記通信部(514)を用 V、て当該ゲーム装置 (5)で生成された前記ゲーム情報を前記特定ゲーム装置 (A1) に送信する処理と、当該ゲーム装置 (5)が特定ゲーム装置 (A1)に指定されて!、る 場合、前記通信部(514)を介して前記相手方ゲーム装置 (5)から受信した前記ゲー ム情報と当該ゲーム装置(5)の前記ゲーム情報とを発生した順序で処理し、前記相 手方ゲーム装置(5)力も受信した前記ゲーム情報をグループ化された相手方ゲーム 装置(5)湘手方ゲーム装置が複数の場合にはその一部又は全部)に送信し、当該

ゲーム装置(5)で生成した前記ゲーム情報を前記相手方ゲーム装置(5)に送信する 処理とを実行させることを特徴とする。

[0018] 本発明によれば、ゲーム装置のプログラム実行部は、プログラムを実行することによ り、特定ゲーム装置にゲーム情報を送信するので、特定ゲーム装置においてゲーム 情報の時系列を確定させることできる。そして、特定ゲーム装置は受信した順序でゲ ーム情報をグループ化されたゲーム装置に送信するので、矛盾を回避することが可 能となる。しかも、キャラクタの動作は、それが属するゲーム装置では直ちに画像に反 映されるので、サーバ装置で全ての処理を実行する場合と比較して、操作が画像に 反映される時間を大幅に短縮することができる。

[0019] 次に、本発明に係るゲームシステム(100)の制御方法は、中継装置 (A1)と複数の ゲーム装置(5)とを備え、前記複数のゲーム装置(5)の各々は、通信を行う通信部( 514)と、ゲームの画像を表示する表示部(52)と、プレイヤーの操作に応じた操作信 号(D1、TG1、 OPl、 OP)を出力する操作信号出力部(56、 59、 543〜545)とを有 し、仮想空間内に配置された複数のキャラクタを複数のプレイヤーが各々操作するゲ ームを所定数のグループィ匕されたゲーム装置(5)の間で実行可能なゲームシステム (100)を制御する方法であって、前記複数のゲーム装置(5)の各々において、前記 操作信号(Dl、 TG1、 OPl、 OP)に基づいてゲーム装置(5)のプレイヤーが操作す るキャラクタであるプレイヤーキャラクタの動作を指定するゲーム情報を生成するステ ップと、当該ゲーム情報と、前記通信部(514)を用いてグループィ匕された他のゲー ム装置(5)である相手方ゲーム装置(5)から取得した、当該相手方ゲーム装置(5)の プレイヤーが操作するキャラクタである相手方キャラクタの動作を指定するゲーム情 報とに基づいて、前記仮想空間における前記プレイヤーキャラクタの動作に応じた画 像と前記相手方キャラクタの動作に応じた画像を前記表示部(52)に表示させるステ ップと、前記通信部(514)を用いて生成した前記ゲーム情報を前記中継装置 (A1) に送信する送信するステップとを実行し、前記中継装置 (A1)は、前記グループ化さ れたゲーム装置(5)から受信した前記ゲーム情報を受信した順序で前記グループ化 されたゲーム装置(5)の一部又は全部に送信するステップを実行する、ことを特徴と する。

[0020] このゲームシステムの制御方法によれば、複数のゲーム装置は、中継装置にゲー ム情報を送信するので、中継装置にぉ、てゲーム情報の時系列を確定させることが できる。そして、中継装置は受信した順序でゲーム情報をグループ化されたゲーム装 置に送信するので、矛盾を回避することが可能となる。し力も、キャラクタの動作は、 それが属するゲーム装置では直ちに画像に反映されるので、サーバ装置で全ての処 理を実行する場合と比較して、操作が画像に反映される時間を大幅に短縮すること ができる。

発明の効果

[0021] 本発明によれば、ゲームの進行に矛盾が生じ難ぐ通信に係る処理を重くすること なぐ応答時間を極めて短くする必要があるゲームを実行することができる。

図面の簡単な説明

[0022] [図 1]本発明の一実施形態に係るゲームシステムの全体構成を示す図である。

[図 2]ゲームシステムを構成するゲーム装置の外観を示す斜視図である。

[図 3]ゲーム装置の構成を示すブロック図である。

[図 4]ゲーム装置における照準位置の特定方法を説明するための図である。

[図 5]ロビーサーバの構成を示す図である。

[図 6]ゲームシステムのグループ化処理における動作例を示すシーケンス図である。

[図 7]ゲーム装置、ゲームクライアント及びエコーサーバの関係を説明するための図 である。

[図 8]複数のゲーム装置がエコーサーバを介さずに対等に通信を行うシステムにおい てゲームの進行に生じる矛盾を説明するための図である。

[図 9]ゲーム装置の位置情報生成管理処理を示すフローチャートである。

[図 10]ゲーム装置のポイント間移動処理を示すフローチャートである。

[図 11]ゲーム装置の向き情報生成管理処理を示すフローチャートである。

[図 12]ゲーム装置の姿勢情報生成管理処理を示すフローチャートである。

[図 13]ゲーム装置の弾道情報生成管理処理を示すフローチャートである。

[図 14]ゲーム装置の命中判定処理を示すフローチャートである。

[図 15]ゲーム装置の画像生成処理を示すフローチャートである。

[図 16]ゲーム装置の画面の例を示す図である。

[図 17]ゲーム装置の画面の例を示す図である。

発明を実施するための最良の形態

[0023] [1.ゲームシステム]

図 1は、本発明の一実施形態に係るゲームシステム 100の全体構成を示す。 ゲームシステム 100は、複数のゲーム装置を備え、 3次元の仮想空間内に配置され た複数のキャラクタを複数のプレイヤーが各々操作して互いに撃ち合わせる射撃ゲ ーム(shooting game) ,いわゆる、多人数参カ卩型オンラインゲーム(multiplayer online game)を所定数のグループィ匕されたゲーム装置の間で実行可能である。

[0024] ゲームシステム 100はロビーサーバ(lobby server) 1を備えている。ロビーサーバ 1 は参加しょうとする複数のゲーム装置 5を所定数のゲーム装置にグループィ匕するた めのものであり、ルータ 2を介してインターネット 3に接続されている。また、インターネ ット 1には、複数の店舗 A、 B、…に各々設けられたルータ 4が接続されている。店舗 Aには複数のゲーム装置 Al、 A2、…が配置され、店舗 Bには Bl、 B2、…が配置さ れている。以降の説明では、各ゲーム装置を区別する必要がない場合には個々のゲ ーム装置を「ゲーム装置 5」と記す。各ゲーム装置 5は、ルータ 4を介してロビーサ一 バ 1及び対戦相手の他のゲーム装置である相手方ゲーム装置 5と通信可能である。 これらの通信を実現可能であるなら、インターネット 3に代えて他の通信網を用いるこ とも可能である。

[0025] [2.ゲーム装置]

[2- 1.外観]

図 2にゲーム装置 5の外観を示す。

ゲーム装置 5の筐体 51の上部には、垂直走査期間毎に長方形の画面を走査して ゲームの画像を表示する表示装置 52が設けられている。表示装置 52としては、例え ば、モニタ、あるいはスクリーンとビデオプロジェクタの組を用いることができる。ゲー ムの画像とは、当該ゲーム装置 5のプレイヤーが操作するキャラクタ(以下、「プレイヤ 一キャラクタ」という)の視点力も仮想空間内を見た画像である。なお、画面に表示さ れるキャラクタは相手方ゲーム装置 5のプレイヤーが操作するキャラクタである相手方 キャラクタに限られる。

[0026] 筐体 51の中央部には音響装置 53が設けられている。音響装置 53はアンプとスピ 一力一を有し、ゲーム中に生成された音を放出する。また、筐体 51の中央部には、 所定のコインが挿入されるコイン揷入口 541と、ゲームの開始操作の入力に用いられ るスタートボタン 542が設けられて!/、る。

[0027] また、筐体 51の中央部には、実際の銃に似た形状のガンユニット 56がケーブルを 介して接続されている。ガンユニット 56は当該ゲーム装置 5のプレイヤーがプレイヤ 一キャラクタに弹を発射させたり、当該プレイヤーキャラクタの向きや姿勢を変えたり するために操作するものであり、プレイヤーに操作されるトリガ 561、オプションボタン 562及び 563を有する。トリガ 561は弾の発射操作の入力に用いられる。オプション ボタン 562は注目キャラクタを切り替える操作の入力に用いられる。注目キャラクタと は、プレイヤーキャラクタが注目しているキャラクタであり、通常、注目キャラクタを切り 替えればプレイヤーキャラクタの向きが変わる。よって、プレイヤーキャラクタの視点 が変わるので、画面に表示される画像も変わる。オプションボタン 563はプレイヤーキ ャラクタの姿勢 (立位 Z座位)を変える操作の入力に用いられる。

[0028] 筐体 51の下部には台 57が設けられている。台 57は、射撃ゲームを行うプレイヤー に踏まれるものであり、プレイヤ一は台 57上に立った状態でゲームを行う。したがつ て、台 57はプレイヤーが画面を適切に見ることができるように、画面前方に配置され ている。また、台 57の上面は赤外光を反射し易くなつている。また、筐体 51の下部に おいて、台 57上の画面側にはフットペダル 546が設けられている。フットペダル 546 は、プレイヤーキャラクタを前進させる操作の入力に用いられる。

[0029] 筐体 51にはフレーム 58が支持棒 59によって支持されて固定されている。フレーム 58は画面手前に張り出しており、その前方の下面部が台 57上のプレイヤーを挟ん で台 57と対向するように配置されて、る。フレーム 58の下面部のうち台 57に対向す る部分には、台 57におけるプレイヤーの位置を検出するための位置センサ 543〜5 45が設置されている。画面に向かって、位置センサ 543は中央に、位置センサ 544 は左側に、位置センサ 545は右側に位置している。各位置センサは光学式センサで あり、鉛直方向下方へ赤外光を照射し、この光が台 57の上面で反射して鉛直方向下

方力も届いたら受光し、受光光のレベルを示す信号を出力する。また、位置センサ 5 43〜545は、それぞれの受光光の光路力所定の位置に立ったプレイヤーの背後、 左側、右側を通るように配置されている。位置センサ 543〜545の出力信号を用いれ ば、プレイヤーの体の傾きを検出することができる。詳しくは後述するが、プレイヤー が右側に体を傾けた場合には、プレイヤーキャラクタを右側に進ませる指示が入力さ れ、プレイヤーが左側に体を傾けた場合には、プレイヤーキャラクタを左側に進ませ る指示が入力される。

[0030] [2- 2.構成]

図 3は、ゲーム装置 5の構成を示すブロック図である。この図に示すように、ゲーム 装置 5は CPU511を有する。 CPU511には ROM512及び RAM513が接続されて いる。 CPU511は、 ROM512に記憶されたプログラム Pを実行し、 RAM 13を作業 領域として用いることによって、ゲーム装置 5の制御中枢として機能する。

[0031] また、 CPU511には表示装置 52が接続されている。 CPU511は、画像を生成し、 生成した画像に応じた画像信号を表示装置 52に供給することによって、当該画像を 表示装置 52の画面に表示させる。また、 CPU511は、後述するトリガ信号 TG1を検 出すると、強制的に輝度を最大とするレベル制御信号を生成して表示装置 52に供 給する。表示装置 52は、レベル制御信号を受けると、走査中の画素の輝度を強制的 に最大とする。

[0032] また、 CPU511には音響装置 53が接続されている。 CPU511は、音を表す音響 信号を生成し、生成した音響信号を音響装置 53に供給することによって、当該音を 音響装置 53から放出させる。また、 CPU511には通信インターフェース 514が接続 されて!/、る。 CPU511は通信インターフェース 514を介してロビーサーノ 1及び相手 方ゲーム装置 5と通信する。

[0033] また、 CPU511には入力装置 54が接続されている。入力装置 54は、コイン揷入口 541、スタートボタン 542、位置センサ 543〜545及びフットペダル 546を有し、コイン 挿入口 541に所定のコインが挿入されるとその旨を示す信号を出力し、スタートボタ ン 542が操作されるとその旨を示す信号を出力し、位置センサ 543〜545からの各 信号を出力し、フットペダル 546が踏まれている力否かを示す信号を出力する。 CP U31は入力装置 54からの信号を検知し、検知した信号の内容に応じた処理を行う。

[0034] 例えば、コイン揷入口 541に所定のコインが挿入された旨を示す信号を検知してか らスタートボタン 542が操作された旨を示す信号を検知すると、通信インターフェース 514を介して他のゲーム装置 5及びロビーサーバ 1と通信して所定数のゲーム装置 5 をグループ化する装置側グループ化処理を開始する。また例えば、位置センサ 543 〜545からの信号やフットペダル 546が踏まれているか否かを示す信号を検知して、 プレイヤーキャラクタの位置を計算する。つまり、位置センサ 543〜545及びフットべ ダル 546の各々は、プレイヤーキャラクタを動作させる指示を入力するために用いら れ、プレイヤーの操作に応じた信号 (操作信号)を出力する操作信号出力部として機 能する。

[0035] また、 CPU511にはガンユニット 56が接続されている。ガンユニット 56は、トリガ 56 1及びオプションボタン 562、 563の他に、トリガセンサ 564、オプションボタンセンサ 565、 566、及び光センサ 567を有する。トリガセンサ 564は、ガンユニット 30のトリガ 561が引き絞られたことを検出してトリガ信号 TG1を出力する。オプションボタンセン サ 565、 566は、それぞれ、対応するオプションボタン 562、 563が押し下げられたこ とを検出してオプション信号 ΟΡ1、 OP2を出力する。光センサ 567は、ガンユニット 5 6の銃身の内部に設けられ、銃口からの光を受光できるようになっており、受光レベル が所定の閾値未満力当該閾値以上に変化したことを検出して照準信号 D1を出力 する。 CPU511はガンユニット 56からの信号を検知し、検知した信号の内容に応じ た処理を行う。

[0036] 例えば、 CPU511は、オプション信号 OP1を検知すると注目キャラクタを切り替える 。つまり、プレイヤーキャラクタの向きを変える。また例えば、オプション信号 OP2を検 知するとプレイヤーキャラクタの姿勢を変化させる。つまり、プレイヤーキャラクタの姿 勢が立位であれば座位とし、座位であれば立位とする。また例えば、トリガ信号 TG1 を検出するとプレイヤーキャラクタに弹を発射させる。以上より明らかなように、ガンュ ニット 56は、プレイヤーキャラクタを動作させる指示を入力するために用いられ、プレ ィヤーの操作に応じた信号 (操作信号)を出力する操作信号出力部として機能する。

[0037] このゲームシステム 100では、弾がキャラクタに命中すると、このキャラクタが死ぬ。 つまり、弾の発射操作は、プレイヤーキャラクタが相手方ゲーム装置に属する相手方 キャラクタに対して攻撃的な作用を及ぼす可能性がある操作である。この操作がなさ れると、 CPU511はプレイヤーキャラクタに弹を発射させる力その際には、まず、後 述の弾道計算を行い、弾の弾道を示す弾道情報を生成する。弾道計算で必要な情 報の 1つとして照準位置がある。照準位置は、ガンユニット 56の銃身の中心線を画面 まで延長したときに当該中心線が通る画素の画面上での座標である。この照準位置 の特定方法について説明する。

[0038] [2- 3.照準位置の特定方法]

図 4は照準位置の特定方法を説明するための図である。この図に示すように、 CPU 511は、ある垂直走査期間 (V)においてトリガ信号 TG1を検知すると、次の垂直走 查期間 (V)の間、画像信号のみならずレベル制御信号をも表示装置 52に供給する 。したがって、この期間において、画面は白色 (最大輝度)で塗りつぶされていく。こ の過程で、ガンユニット 56の銃身の中心線 (すなわち、弾道)が通る画素を含む照準 領域も白色で塗りつぶされる。すると、銃身の内部にある光センサ 567の受光レベル が閾値以上に変化する。その結果、光センサ 567から照準信号 D1が出力され、 CP U511により検知される。 CPU511は、この照準信号 D1を検知すると、当該垂直走 查期間の開始時点からの経過時間 (T)に基づいて照準位置を特定する。なお、ガン ユニット 56は、上記照準領域が十分に狭くなるように設計されている。

[0039] [3. ロビーサーバ]

図 5に、ロビーサーバ 1の構成を示す。

ロビーサーバ 1は、ゲーム装置 5からの参加要求に応じてゲーム装置 5を所定数の ゲーム装置 5にグループ化するサーバ側グループ化処理を行うものであり、 CPU 11 、ハードディスク 12、 ROM13、通信インターフェース 14、及び RAM15を備える。 C PU11は、 ROM13からブートプログラムを読み出して実行し、さらにハードディスク 1 2から制御プログラムを実行することによってサーバ側グループィ匕処理を行う。 RAM 15は、 CPU 11の作業領域として機能し、そこには、エントリーリスト ELが記憶される 。エントリーリスト ELは、ゲーム装置 5の通信アドレスが登録されるものであり、初期状 態では空である。

[0040] [4.グループ化処理]

図 6は、ゲームシステム 100のグループ化処理における動作例を示すシーケンス図 である。この動作例は、 2台のゲーム装置 5をグループィ匕する場合のものである。ダル ープ化するゲーム装置 5の数を 2台としたのは、説明が繁雑になるのを避けるためで あり、実際には、より多くのゲーム装置 5 (例えば 4台のゲーム装置 5)がグループィ匕さ れる。図 6のゲーム装置は、プログラム Pにしたがって図 6に示される各種の処理を実 行する。

[0041] この動作例では、まず、店舗 Aのゲーム装置 A1にお!/、て、コイン挿入口 541に所 定のコインが挿入されて力スタートボタン 542が操作され、入力装置 54からこの旨 の信号が出力される。ゲーム装置 A1の CPU511は、この信号を検知すると、装置側 グループ化処理を開始する。具体的には、グループィ匕を要求する旨のエントリーリス ト要求をロビーサーバ 1へ送信する(Sl)。エントリーリスト要求は、エントリーリスト EL の返信を要請する要求でもある。ロビーサーバ 1の CPU11は、エントリーリスト要求を 受信すると、エントリーリスト ELを RAM15から読み出して返信する(S2)。この時点 では、グループ化を要求しているゲーム装置 5は他に存在しないため、返信されるェ ントリーリストは空である。

[0042] ゲーム装置 A1の CPU511は、エントリーリスト ELを受信すると、当該エントリーリス ト ELが空である力否かを判定する。当該エントリーリスト ELは空であるから、この判定 結果は肯定的となる。よって、 CPU511は、自己の通信アドレスを含み、この通信ァ ドレスをエントリーリスト ELに登録することを要求する旨の登録要求をロビーサーバ 1 へ送信する(S3)。ロビーサーバ 1の CPU11は、この登録要求を受信すると、 ACK ( 確認応答)を返信する一方(S4)、この登録要求に含まれてヽる通信アドレスを RAM 15に書き込むことによってエントリーリスト ELに登録する(S5)。一方、ゲーム装置 A1 の CPU511は、 ACKを受信すると、待ち状態となる(S6)。

[0043] この動作例では、次に、ゲーム装置 B1の CPU511がエントリーリスト要求をロビー サーバ 1に送信する(S7)。これに対して、ロビーサーバ 1の CPU11はエントリーリスト ELを RAM15から読み出して返信する(S8)。このエントリーリスト ELにはゲーム装 置 A1の通信アドレスが登録されて!、る力ら、このエントリーリスト ELを受信したゲーム 装置 Blの CPU511は、当該通信アドレスを参照してゲーム装置 A1に同一のグルー プに参カ卩したい旨の参カ卩要求を送信する(S9)。

[0044] ゲーム装置 A1の CPU511は、この参加要求を受信すると ACKを返信し(S 10)、 同一のグループに属するゲーム装置 5が所定数 (この例では 2)に達したことを確認し て、グループィ匕が完了したことを示すグループィ匕完了通知を自己と同一のグループ に属するゲーム装置 5、すなわちゲーム装置 B1へ送信する(Sl l)。ゲーム装置 Bl の CPU511は、このグループ化完了通知を受信すると、 ACKを返信する(S12)。こ うして、ゲーム装置 A1及び B1のグループ化が完了する(S13、 S14)。

[0045] 次に、ゲーム装置 A1の CPU511は、エントリーリスト ELから自己の通信アドレスを 削除することを要求する削除要求をロビーサーバ 1へ送信する(S15)。ロビーサーバ 1の CPU 11は、この削除要求を受信すると、 ACKを返信する一方(S 16)、エントリ 一リスト ELから当該通信アドレスを削除する(S17)。こうして、装置側グループ化処 理が終了する。

[0046] 上述したグループ化処理において、ロビーサーバ 1の CPU11はゲーム装置 Al、 B 1からエントリーリスト要求を受け取る(Sl、 S7) 0このエントリーリスト要求は、グルー プ化の前提となる要求であって、個別のゲーム装置 Al、 Blのプレイヤーがコンビュ ータと対戦するゲームを実行する場合には、送信されない。したがって、エントリーリ スト要求は、一つのゲームへ参加する旨の参カ卩要求として機能する。ここで、ロビー サーバ 1の CPU11は、エントリーリスト ELからゲーム装置 A501の通信アドレスを削 除するまでの期間(S5〜S17)、空のエントリーリスト EL、あるいは登録済みのェント リーリスト ELを送信することにより(S2、 S8)、所定数のゲーム装置 5を一つのゲーム に参加するゲーム装置 5としてグループィ匕するグループィ匕部として機能する。より正 確には、装置側グループ化処理の補助を行うグループ化処理部として機能する。ま た、 CPU11は、登録要求があるとエントリーリスト ELに通信アドレスを登録することに よって、グループ化したゲーム装置の中から一つのゲーム装置を特定ゲーム装置と して特定する特定部として機能する。上述した例においては、ゲーム装置 A501はェ ントリーリスト ELが空であると判定した結果、ロビーサーバ 1に対して自己の通信アド レスの登録要求を送信する。その結果、ロビーサーバ 1の CPU 11はゲーム装置 A50 1を特定ゲーム装置として特定する。

[0047] なお、所定数が 3以上の場合、同一のゲームへの参加を希望するゲーム装置 5が 所定数に達する前には、参加要求(S2)を受信したゲーム装置 5は、送信元ゲーム 装置 5に対してグループへの参加を許可する旨の許可通知を送信する。そして、許 可通知を送信したゲーム装置 5及び受信したゲーム装置 5は、共に、待ち状態となる 。つまり、グループ化完了通知(S11)は、同一のグループに属するゲーム装置 5が 所定数に達して初めて送信される。

[0048] [5.ゲーム処理及び中継処理]

[5- 1.概要]

以下、ゲーム装置 5はプログラム Pにしたがって動作する。

装置側グループィ匕処理を終えて同一のグループに属することとなった所定数のゲ ーム装置 5は、それぞれ、ゲーム処理を行うゲームクライアントを起動する。また、これ らのゲーム装置 5のうち、空のエントリーリスト ELを受け取った(すなわち、通信アドレ スをエントリーリスト ELに登録した)ゲーム装置 5は、中継処理を行うエコーサーバを 起動する。すなわち、所定数のゲーム装置 5のうちの 1つはゲームクライアント及びェ コーサーバ(特定ゲーム装置;上述した例においてはゲーム装置 A501)として機能 し、残りはゲームクライアントとしてのみ機能する。

[0049] ゲームクライアントは、自己の属するグループに係るエコーサーバとの間でゲーム 情報を送受信してゲームを進行させる。ゲーム情報とは、射撃ゲームにおいて発生し たゲームの進行に必要な情報であり、キャラクタの位置や視点、向き、姿勢等のキヤ ラクタの状態を示す状態情報や、キャラクタに弾が命中したか否かの判定 (以降、「命 中判定」とも!ヽぅ)の結果を示す結果情報、弾道情報を含む概念である。

[0050] エコーサーバは、自己のグループに属するゲームクライアントからのゲーム情報を 受信し、受信した順序で、自己のグループに属する全てのゲームクライアント (エコー サーバとして機能するゲーム装置 5も含む)へ送信する中継処理のみを行う。なお、 本実施形態を変形し、エコーサーバによるゲーム情報の送信先力当該ゲーム情報 の送信元を除くようにしてもょ、。

[0051] [5- 2.ゲームクライアントとエコーサーバの関係]

図 7はゲーム装置 5、ゲームクライアント及びエコーサーバの関係を説明するための 図である。この図に示す例では、ゲーム装置 Al、 A2、 B1及び B2がグループ化され て 、る。ゲームクライアント及びエコーサーバとして機能するのはゲーム装置 A1であ り、ゲーム装置 A2、 B1及び B2はそれぞれゲームクライアントとしてのみ機能し、ゲー ム装置 A1のみと通信する。したがって、ゲーム装置 A2、 B1及び B2は、ゲーム装置 A1の通信アドレスのみを管理すれば足りる。

[0052] ゲーム装置 5間の通信をより上位レイヤで捉えると、各ゲームクライアントとエコーサ ーバとが通信していることになる。したがって、ゲームクライアントとして機能するゲー ム装置 A1はエコーサーバとして機能する自己と通信することになる。この通信は、他 の通信と異なり、通信インターフェース 514を用いることなく行われ、ゲーム装置 A1 内で完結する。

[0053] また、ゲームクライアントは、自己に属するキャラクタについて命中判定を行う。この ように、キャラクタについての命中判定は当該キャラクタが属するゲーム装置 5 (撃た れた側のゲーム装置 5)にて行われるから、この判定の結果が複数のゲーム装置 5の 間で矛盾することはない。また、ゲームクライアントは、画面に表示する表示する画像 を自己のプレイヤーの操作に応じて即座に更新可能である。したがって、プレイヤー は自己の操作が仮想空間に与えた影響を十分に短い応答時間で視認することがで きる。

[0054] また、ゲームクライアント間の通信はエコーサーバを介して行われるから、ゲーム装 置 5間においてゲームの進行に矛盾が生じ難い。このことについて、エコーサーバを 用いないシステムと比較して説明する。エコーサーバを用いないシステムとしては、い わゆるセンター Zターミナル方式やマスター Zスレーブ方式のシステムと、複数のゲ ーム装置がエコーサーバを介さずに対等に通信を行うシステムが考えられる。しかし 、前者はセンターまたはマスターにおいてゲームの進行に係る全ての判定を行うもの であるから、極めて短い応答時間とする必要のある射撃ゲームには適用困難である。 よって、ここでは、後者を比較対象とする。

[0055] [5- 3.エコーサーバを用いる構成と用いない構成との対比]

図 8は複数のゲーム装置がエコーサーバを介さずに対等に通信を行うシステムに

おいてゲームの進行に生じる矛盾を説明するための図である。この図に示すシステ ムでは、ゲーム装置「A」、「B」、「C」及び「D」が直接的に通信する。また、ゲーム装 置「A」と「B」間の通信遅延時間を Tl、ゲーム装置「Β」と「D」間の通信遅延時間を T 2、ゲーム装置「C」と「D」間の通信遅延時間を T3、ゲーム装置「Α」と「C」間の通信 遅延時間を T4、ゲーム装置「Α」と「D」間の通信遅延時間を Τ5、そしてゲーム装置「 BJと「C」間の通信遅延時間を T6とする(ただし、 Tl < T2く T3く T4く T5く T6)。

[0056] このシステムにおいて、全てのゲーム装置で事象が同時に発生し、各ゲーム装置 が他のゲーム装置に事象の発生を通知したとする。この場合に、あるゲーム装置で の事象の発生が他のゲーム装置において検知されるまでに要する時間は図に示す 通りとなる。例えば、ゲーム装置「C」での事象の発生がゲーム装置「A」において検 知されるまでに要する時間は T4であり、ゲーム装置「B」において検知されるまでに 要する時間は T6である。また例えば、ゲーム装置「D」での事象の発生がゲーム装置 「A」において検知されるまでに要する時間は T5であり、ゲーム装置「B」において検 知されるまでに要する時間は T2である。

[0057] ここで、異なるゲーム装置において事象の発生が検知される順序に着目すると、ゲ ーム装置「A」ではゲーム装置「C」での事象の発生を検知した後にゲーム装置「D」 での事象の発生を検知することになり、ゲーム装置「B」ではゲーム装置「D」での事 象の発生を検知した後にゲーム装置「C」での事象の発生を検知することになる。つ まり、ゲーム装置「A」と「B」との間では、ゲーム装置「C」での事象の発生とゲーム装 置「D」での事象の発生が検知される順序が逆順になっており、一致しない。このよう なズレが、複数のゲーム装置の間でゲームの進行に矛盾が生じる原因となる。

[0058] これに対し、本実施形態では、ゲームクライアントからのゲーム情報は必ずエコーサ ーバへ送信され、エコーサーバは受信したゲーム情報を受信した順序で同一グルー プに属する全てのゲームクライアントへ送信する。例えば、ゲーム装置 A1及び B1が それぞれゲーム情報をエコーサーバへ送信した場合、エコーサーバは、これらのゲ ーム情報を受信した順序でゲーム装置 Al、 A2、 B1及び B2へ送信する。したがって 、ゲーム装置 A2におけるゲーム情報の受信順序とゲーム装置 B2におけるゲーム情 報の受信順序は必ず一致する。よって、ゲーム装置 5間においてゲームの進行に矛

盾が生じ難いのである。

[0059] [5-4.ゲームクライアントによる各種処理]

次に、ゲーム処理においてゲームクライアントが行う各種処理について具体的に説 明する。なお、以降の説明では、図 7に示すように、ゲーム装置 Al、 A2、 B1及び B2 がグループィ匕されており、ゲーム装置 A1がエコーサーバとして機能するものとする。 また、以下に述べる各種処理はゲーム装置 5の CPU511により並列に実行されるも のであり、ゲームクライアントもエコーサーバと並列に動作する。

[0060] [5— 4 1.位置情報生成管理処理]

図 9はプレイヤーキャラクタの位置を示す位置情報を生成して管理する位置情報生 成管理処理の流れを示すフローチャートである。位置情報生成管理処理では、まず 、ゲームクライアントは、プレイヤーキャラクタの基準ポイント及びオフセットの初期値 を設定する(SA1)。基準ポイントとは、仮想空間におけるキャラクタの移動の基準と なる点である。基準ポイントは仮想空間内に複数設定されており、 X、 Υ、 Ζの座標で 特定される。なお、仮想空間を X軸、 Υ軸及び Ζ軸に沿って格子状に分割したときの 各格子点を基準ポイントとして設定してもよい。具体的には、ゲーム装置 5の ROM5 12に、基準ポイント毎に当該基準ポイントの識別子 (例えば「Ρ001」)と当該基準ボイ ントの座標(基準位置)が対応付けて記憶されている。なお、 ROM512には、仮想空 間における物体の配置を示すマップ情報も記憶されて、る。

[0061] オフセットとは、基準ポイントの座標からの変移量を示すものであり、その初期値は いずれのゲームクライアントにおいても X軸、 Υ軸、 Ζ軸のすべての方向においてゼロ である。これに対して、キャラクタの基準ポイントの初期値はゲームクライアント毎に異 なっている。この初期値の定め方は任意であり、例えば、グループ化処理において定 めるようにしてもよい。

[0062] 次に、ゲームクライアントは、プレイヤーキャラクタの基準ポイント及びオフセットに基 づいて、プレイヤーキャラクタの位置を特定する(SA2)。キャラクタの位置は仮想空 間における座標で表され、当該キャラクタの基準ポイントの座標に当該キャラクタのォ フセットを加えることによって特定される。次に、特定した位置を示す位置情報を生成 し、この位置情報を RAM513上の所定領域に書き込むことによってプレイヤーキャラ クタの位置情報を更新する(SA3)。

[0063] 次に、ゲームクライアントは、プレイヤーキャラクタの位置を変化させるためのプレイ ヤーの操作に応じた信号を検知したカゝ否かを判定する(SA4)。この判定の結果が「 NO」の場合には、当該信号が出力されるまで当該判定を繰り返す。この判定の結果 力 S「YES」の場合には、当該信号に基づいてオフセットを更新する(SA5)。この更新 は、具体的には、以下に列挙するように行われる。

[0064] 位置センサ 543からの低い受光レベルを示す信号を検知した場合には、プレイヤ 一が体を後方に傾けていると判断し、プレイヤーキャラクタの位置が当該キャラクタの 後方に所定量だけ遷移するようにオフセットを更新する。また、位置センサ 544から の低、受光レベルを示す信号を検知した場合には、プレイヤーが体を左側に傾けて いると判断し、プレイヤーキャラクタの位置が当該キャラクタの左方向に所定量だけ 遷移するようにオフセットを更新する。また、位置センサ 545からの低い受光レベルを 示す信号を検知した場合には、プレイヤーが体を右側に傾けていると判断し、プレイ ヤーキャラクタの位置が当該キャラクタの右方向に所定量だけ遷移するようにオフセ ットを更新する。

[0065] 次に、ゲームクライアントは、オフセットが所定の閾値を超えたか否かを判定する(S A6)。この閾値は、プレイヤーキャラクタが基準ポイントの変更を伴わずに隣接する 基準ポイントまで移動することを防止するために設定されており、この閾値及び基準 ポイントは、キャラクタのオフセットが当該閾値を超えた場合には当該キャラクタの現 在の基準ポイントよりも当該キャラクタの近くに他の基準ポイントが必ず存在するよう に定められている。この判定の結果が「NO」の場合、ステップ SA2の処理に戻る。逆 に「YES」の場合、プレイヤーキャラクタの基準ポイントを変更するポイント間移動処 理を行う(ステップ SA7)。

[0066] [5-4- 2.ポイント間移動処理]

図 10はポイント間移動処理の流れを示すフローチャートである。

ポイント間移動処理では、ゲームクライアントは、まず、新たな基準ポイントを特定す る(SB1)。具体的には、プレイヤーキャラクタの基準ポイント及びオフセットに基づい て、プレイヤーキャラクタの位置を特定し、この位置に最も近い基準ポイントを新たな 基準ポイントとして特定する。次に、特定した基準ポイントをプレイヤーキャラクタの新 たな基準ポイントとし、オフセットを初期化する(SB2)。次に、自己の基準ポイントの 識別子をエコーサーバ (ゲーム装置 A1)へ送信する(SB3)。以降、図 9の位置情報 生成管理処理に戻り、さらにステップ SA2の処理に戻る。

[0067] ステップ SB3で送信された識別子はエコーサーバにより受信され、送信元のゲーム 装置 5の通信アドレスとともに、ゲーム情報として、同一グループに属する全てのゲー ムクライアント(ゲーム装置 Al、 A2、 B1及び B2)へ送信される。このゲーム情報は各 ゲームクライアントに受信される。そして、識別子の送信元であるゲームクライアントを 除く他のゲームクライアントは、受信したゲーム情報に含まれている識別子に応じた 基準ポイントの座標を示す位置情報を、当該ゲーム情報に含まれて、る通信アドレス を有するゲーム装置 5に属するキャラクタの位置情報として記憶する。

[0068] [5-4- 3.向き情報生成管理処理]

図 11はプレイヤーキャラクタの向きを示す向き情報を生成して管理する向き情報生 成管理処理の流れを示すフローチャートである。向き情報生成管理処理では、まず、 ゲームクライアントは、プレイヤーキャラクタの向き情報として初期値を設定する(SC1 ) o具体的には、この初期値をプレイヤーキャラクタの向き情報として RAM513に書 き込む。この初期値及びその定め方は任意である。

[0069] 次に、プレイヤーキャラクタの向きを変化させるためのプレイヤーの操作に応じた信 号を検知したか否力、具体的にはオプション信号 OP1を検知した力否かを判定する (SC2)。この判定の結果が「NO」の場合には、当該信号が出力されるまで当該判定 を繰り返す。この判定の結果が「YES」の場合には、当該信号に基づいて向き情報を 更新する(SC3)。以降、ステップ SC2に戻る。

[0070] 上記の更新では、以下に場合分けして示す処理を行う。

注目キャラクタが設定されて、な、場合には、相手方キャラクタの、ずれか 1つを注 目キャラクタとし、この注目キャラクタがプレイヤーキャラクタの正面に位置するように プレイヤーキャラクタの向き情報を更新する。

注目キャラクタが設定されて、る場合には、この注目キャラクタを除く相手方キャラク タから!/、ずれか 1つを選択して注目キャラクタとし、この注目キャラクタがプレイヤーキ ャラクタの正面に位置するようにプレイヤーキャラクタの向き情報を更新する。ただし、 注目キャラクタが設定されており、かつ相手方キャラクタの数が 1の場合には、上記の 選択を行われず、 1つしかな、相手方キャラクタを注目キャラクタとし、この注目キャラ クタがプレイヤーキャラクタの正面に位置するようにプレイヤーキャラクタの向き情報 を更新する。

[0071] [5 -4 -4.姿勢情報生成管理処理]

図 12はプレイヤーキャラクタの姿勢を示す姿勢情報を生成して管理する姿勢情報 生成管理処理の流れを示すフローチャートである。姿勢情報生成管理処理では、ま ず、ゲームクライアントは、プレイヤーキャラクタの姿勢情報として初期値を設定する( SD1)。具体的には、この初期値をプレイヤーキャラクタの姿勢情報として RAM513 に書き込む。この初期値として、本実施形態ではキャラクタが立っている状態を示す 値が予め定められて、るが、初期値及びその定め方として他のものを用いるようにし てもよい。

[0072] 次に、プレイヤーキャラクタの姿勢を変化させるためのプレイヤーの操作に応じた信 号を検知したか否力、具体的にはオプション信号 OP2を検知した力否かを判定する (SD2)。この判定の結果が「NO」の場合には、当該信号が出力されるまで当該判定 を繰り返す。この判定の結果が「YES」の場合には、当該信号に基づいて姿勢情報 を更新する(SD3)。以降、ステップ SD2に戻る。上記の更新では、具体的には、プレ ィヤーキャラクタの姿勢情報が立位を示すものの場合には座位を示すように当該姿 勢情報を更新し、座位を示すものの場合には、立位を示すように当該姿勢情報を更 新する。

[0073] [5 -4 - 5.仮想空間と画面との関係]

ここで、他の処理の説明に先立って、仮想空間と画面との関係について説明する。 画面に表示されるゲームの画像は、仮想空間内の物体を視点座標系 (viewpoint c oordinate system)の投影 it] (projection plane)に;! ¾千見投影、perspectively projected )して得られる。この投影面の仮想空間における配置は、プレイヤーキャラクタの視点 の位置と向きに応じて定まる。プレイヤーキャラクタの視点の位置はプレイヤーキャラ クタの位置、姿勢及び身長(または座高)から求めることができるから、プレイヤーキヤ

ラクタの位置、向き、姿勢及び身長 (または座高)が定まれば投影面の配置も定まるこ とになる。

[0074] また、投影面は長方形であり、その縦横比は画面の縦横比と一致する。また、投影 面は、その中心点でプレイヤーキャラクタの視点の位置から当該キャラクタの向きに 伸びる線と直交し、この交点と視点の位置との間の距離が所定の長さとなり、画面の 鉛直方向に延びる辺に対応する辺が当該キャラクタの位置と視点の位置とを結ぶ直 線に平行となるように配置される。上記の所定の長さは、キャラクタが視点の前方に 視線に沿って腕を伸ばしてガンユニットを構えたときに銃口が投影面の中心点に位 置するように定められて、る。

[0075] 仮想空間と画面は上述した関係にあるため、画面上の位置が定まれば投影面上の 位置が定まり、ひいては仮想空間における位置が定まる。以下に述べる処理は、この ような関係を利用して行われる。

[0076] [5-4-6.弾道情報生成処理]

図 13はプレイヤーキャラクタが発射した弾の弾道情報を生成して管理する弾道情 報生成管理処理の流れを示すフローチャートである。弾道情報生成管理処理では、 ゲームクライアントは、まず、プレイヤーキャラクタに弹を発射させるためのプレイヤー の操作に応じた信号を検知したか否か、具体的にはトリガ信号 TG1を検知したか否 かを判定する(SE1)。この判定の結果が「NO」の場合には、当該信号が出力される まで当該判定を繰り返す。この判定の結果が「YES」の場合には、プレイヤーキャラク タが弹を発射したと判断し、弾道計算を行う。

[0077] 弾道計算では、まず、発射された弾につ!、て照準位置を特定する(SE2)。照準位 置の特定方法は前述の通りである(図 4参照)。次に、当該弾の発射位置及び着弾 位置を特定する(SE3)。発射位置は弾が発射された仮想空間内の位置であり、投 影面の中心点の位置そのものである。投影面の配置は後述の画像生成処理におい て最新のものが求められるから、このステップでは、画像生成処理において求められ た最新の投影面の配置に基づいて当該投影面の中心点を求める。着弾位置は弾が 到達する仮想空間内の位置であり、このステップでは、上記の最新の投影面の配置 と照準位置とに基づいて着弾位置を求める。

[0078] 次に、発射位置及び着弾位置に基づヽて弹道情報を生成し、プレイヤーキャラクタ の弾道情報として RAM513に記憶させ (SE4)、弾道計算が終わる。生成される弹 道情報は、発射位置から直進して着弾位置を通る弾道を示す。なお、弾道情報の表 現形式は任意であり、例えば、経過時間のように時々刻々と過ぎ行く変量を引数とし た関数を示すものであってもよ、。

[0079] 次に、生成した弾道情報をエコーサーバ (ゲーム装置 A1)へ送信し (SE5)、弾道 情報が示す弾道が命中範囲内に達するキャラクタが存在するか否かを判定する(SE 6)。命中範囲はキャラクタの位置を中心とする所定範囲であり、命中範囲は相手方 キャラクタの位置情報に基づいて特定されうる。この判定結果が「NO」の場合、すな わち、 V、ずれのキャラクタの命中範囲にも弾道が達しな、場合にはステップ SE1に戻 る。逆に「丫£3」の場合、すなわち、弾道が命中範囲に達するキャラクタが存在する 場合には、該当するキャラクタを命中判定待ちキャラクタとする(SE7)。具体的には、 ゲームクライアントは、該当するキャラクタの位置情報に対応付けて不確定位置情報 を RAM513に書き込む。不確定位置情報は仮想空間内におヽて命中判定待ちキ ャラクタの位置(以下、「第 1の位置」という)とは別の位置(以下、「第 2の位置」という) を示す情報である。第 2の位置は、当該第 2の位置を命中範囲の中心点とした場合 に当該命中範囲を弾道が横切ることのな、位置 (すなわち、弾が命中しな、位置)で あって第 1の位置に最も近い位置である。以降、処理はステップ SE1に戻る。

[0080] ここで、命中判定待ちキャラクタは、弾が発射されてから当該弾がキャラクタに命中 した力否かが判明するまでの間、弾が当該キャラクタに命中した力否かが不確定とな る画像 (以下、「不確定画像」という)として表示される。不確定画像は、例えば、キャラ クタカ^揺れる」、「点滅する」、「ぼける」、「色が変わる (灰色になる)」など、弾を発射 したキャラクタのプレイヤーから命中判定待ちキャラクタを見た場合にキャラクタの現 状態が判断不能な画像である。これらの不確定画像の例のうち、本実施形態では、 キャラクタが「揺れる」場合を例にとって説明する。後述の「画像生成処理」において 詳細に説明するが、命中判定待ちキャラクタは、弾が発射された後に当該弾が所定 範囲 (揺れ開始範囲)に進入すると、当該キャラクタの揺動処理が開始され、弾が命 中した否力確定するまで不確定画像 (揺れる画像)として表示される。なお、ステップ

SE7にお、ては、弾道が命中範囲に達するキャラクタを命中判定待ちキャラクタとし て設定するのみで、不確定画像の表示 (揺動処理)は開始されない。

[0081] ステップ SE5で送信された弾道情報はエコーサーバにより受信され、送信元のゲ ーム装置 5の通信アドレスとともに、ゲーム情報として、同一グループに属する全ての ゲームクライアント(ゲーム装置 Al、 A2、 B1及び B2)へ送信される。このゲーム情報 は各ゲームクライアントに受信される。そして、相手方ゲームクライアントは、受信した ゲーム情報に含まれて、る弾道情報を、当該ゲーム情報に含まれて、る通信アドレ スによって特定されるゲーム装置 5に属するキャラクタの弾道情報として RAM513に 記憶させる。

[0082] ところで、上記ステップ SE6にお、て、弾道情報が示す弾道が命中範囲内に達す るキャラクタを即座に命中判定済みキャラクタであると判定してその旨(例えば、キャラ クタが倒れこんだ画像)を画面に表示することも考えられる。し力しながら、弾が命中 した力否力の命中判定処理 (後段にて説明)は、弾道情報を受信した相手方 (被弾 側)ゲームクライアントによって、発弹時点より後のタイミングで (少なくとも弾道情報が エコーサーバを介して相手方ゲームクライアントに到達するまでの通信遅延を含む時 間が経過した後に)実行される。このため、被弾側ゲームクライアントにおける命中判 定処理の結果が発弹側ゲームクライアントにおけるステップ SE6の判定結果と矛盾 する場合が起こり得る。そこで、本実施形態では、ステップ SE6の判定結果を確定し た判定結果として取り扱わない。代わりに、発弹側ゲームクライアントは、自己のプレ ィヤーにとって、弾がキャラクタに命中した力否かを表示された画像力も読み取るの は困難であるような不確定画像を表示して、被弾側ゲームクライアントにおける命中 判定処理の結果が得られるまで判定を保留する。

[0083] [5-4- 7.命中判定処理]

図 14は命中判定処理の流れを示すフローチャートである。命中判定処理では、ま ず、プレイヤーキャラクタの位置情報を用いて命中範囲を特定する(SF1)。命中範 囲はプレイヤーキャラクタの位置を中心とする所定範囲であり、命中判定の基準とな る。次に、直前に命中範囲を特定して力も未判定の弾道情報湘手方キャラクタが発 射した弾に関わる弾道情報)が RAM513に記憶されているか否かを判定する(SF2

) oこの判定結果が「NO」であれば、ステップ SF1に戻る。

[0084] ステップ SF2の判定結果が「YES」の場合、未判定の弾道情報の 1つを選択し(SF 3)、この弾道情報を用いて弾の位置を特定し (SF4)、当該弾が命中範囲内に位置 する力否かを判定する(SF5)。この判定結果が「NO」の場合、この弾がプレイヤーキ ャラクタに命中しないことが確定したか否かを判定する(SF6)。この判定は、例えば、 プレイヤーキャラクタの位置と弾の位置との距離が増大傾向にある力否かを調べるこ とにより行われる。

[0085] この判定の結果が「NO」の場合、すなわち、命中しないことが確定しない場合には ステップ SF2に戻り、「YES」の場合には、弾がプレイヤーキャラクタに命中しなかつ た場合の処理である被弾側外れ処理を行い(SF7)、その後にステップ SF2に戻る。 被弾側外れ処理では、当該弾がプレイヤーキャラクタに命中しな力つた旨の結果情 報をエコーサーバ (ゲーム装置 A1)へ送信し、当該弾道情報を RAM513から削除 する。

[0086] ステップ SF5の判定結果が「YES」の場合、プレイヤーキャラクタが被弾した場合の 処理である被弾処理を行う(SF8)。被弾処理では、被弾フラグをオンにし、当該弾道 情報に係る相手方キャラクタが発射した弾がプレイヤーキャラクタに命中した旨の結 果情報 (弾道情報及び被弾フラグ)をエコーサーバ (ゲーム装置 A1)に送信し、当該 弾道情報を RAM513から削除する。

[0087] なお、命中判定処理において送信された結果情報は、エコーサーバにより受信さ れ、送信元のゲーム装置 5の通信アドレスとともに、ゲーム情報として、同一グループ に属する全てのゲームクライアント(ゲーム装置 Al、 A2、 B1及び B2)へ送信される。 なお、 RAM513に記憶されている全ての弾道情報は、 RAM513に書き込まれてか ら所定の時間が経過すると削除される。これにより、例えば、仮想空間内の空に向け て発射された弾の弾道情報がいつまでも残る事態を回避することができる。

[0088] [5-4-8.画像生成処理]

図 15は画面に表示するゲームの画像を生成する画像生成処理の流れを示すフロ 一チャートである。画像生成処理では、まず、相手方キャラクタの位置情報及び被弾 フラグに初期値を設定する(SG1)。被弾フラグの初期値はオフであり、相手方キャラ クタの位置情報の初期値は相手方ゲーム装置 5の各々におけるプレイヤーキャラクタ の位置情報の初期値と矛盾しな、ように定められて、る。

[0089] 次に、プレイヤーキャラクタが発射した弾力命中判定待ちキャラクタの揺れ開始範 囲内に入った力否かを判定する(SG2)。揺れ開始範囲は、当該キャラクタを仮想空 間内で揺らす揺動処理を開始する力否かの基準となる仮想空間内の所定の範囲で あり、当該キャラクタの位置を中心として命中範囲を含んで広がる。この判定結果が「 NO」の場合にはステップ SG4へ進み、「YES」の場合には、揺動処理を開始し (SG 3)、その後にステップ SG4へ進む。

[0090] 図 16は、揺動処理において命中判定待ちキャラクタ 610が揺動する画像の一例を 示す図である。揺動処理では、図 16に示されるように、当該キャラクタの位置情報が 示す位置 (第 1の位置 610a)と当該キャラクタの不確定位置情報が示す位置 (第 2の 位置 610b)との間で当該キャラクタが揺れるように、画像生成処理において行われる 当該キャラクタの配置を制御する。

[0091] ステップ SG4では、プレイヤーキャラクタが発射した弾が命中判定待ちキャラクタに 命中しな力つた旨の結果情報を受信した力否かを判定する。具体的には、結果情報 のうち自己の弾道情報を含む情報の被弾フラグを参照して、被弾フラグがオフの場 合には「YES」と判定し、それ以外の場合 (つまり結果情報を受信しな力つた場合あ るいは受信しても被弾フラグがオンである場合)には「NO」と判定する。この結果情報 は、命中判定待ちキャラクタをプレイヤーキャラクタとするゲームクライアントからェコ 一サーバ経由でゲーム情報として渡されうる。この判定結果が「NO」の場合にはステ ップ SG6へ進み、「YES」の場合には、揺動処理を終了するとともに弾が相手方キヤ ラクタに命中しな力つた場合の処理である発射側外れ処理を開始し (SG5)、その後 にステップ SG6へ進む。

[0092] 図 17は、プレイヤーキャラクタが発射した弾が命中判定待ちキャラクタ 610に命中 しな力つた場合に表示される画像の一例を示す図である。図 17に示されるように、弹 650は命中判定待ちキャラクタ 610に命中せず当該キャラクタの頭上を通過している 。発射側外れ処理では、例えば、図 17に示すような画像をゲーム装置 5の画面に表 示するように、画像生成処理において行われる当該キャラクタの配置を制御する。 [0093] ステップ SG6では、弾がキャラクタに命中した旨の結果情報を受信した力否かを判 定する。具体的には、結果情報のうち自己の弾道情報を含む情報の被弾フラグを参 照して、被弾フラグがオンの場合には「YES」と判定し、それ以外の場合 (つまり結果 情報を受信しな力つた場合あるいは受信しても被弾フラグがオフである場合)には「N o」と判定する。この結果情報は、当該キャラクタをプレイヤーキャラクタとするゲーム クライアントからエコーサーバ経由で渡されうる。この判定結果が「NO」の場合にはス テツプ SG8へ進み、「YES」の場合には、揺動処理を終了するとともに弾が相手方キ ャラクタに命中した場合の処理である命中処理を開始し (SG7)、その後にステップ S G8へ進む。

[0094] 命中処理では、弾が命中したキャラクタが倒れるように、画像生成処理において行 われる当該キャラクタの配置を制御する。また、命中処理では、相手方キャラクタの全 てが倒れると、プレイヤーキャラクタが生き残つたことを示す画像を画面に表示し、ゲ ームを終了することを示す終了情報を送信し、ゲームクライアント (及びエコーサーバ )を終了させる。こうしてゲーム処理及び中継処理が終了する。

[0095] ステップ SG8では、画面に表示させるゲームの画像を生成する。この生成では、ま ず、プレイヤーキャラクタの位置情報、姿勢情報及び向き情報、相手方キャラクタの 位置情報、弾道情報、及びマップ情報に基づいて、相手方キャラクタ及び弾を仮想 空間内に配置する。この配置では、揺動処理による制御を優先する。次に、プレイヤ 一キャラクタの位置情報、姿勢情報、向き情報及び身長 (または座高)を用いて前述 の投影面の配置を特定し、この投影面に仮想空間内の物体を透視投影してゲーム の画像を得る。

[0096] ステップ SG8で得られた画像は、表示装置 52の画面に表示される。この際、揺動 処理により配置が制御されている相手方キャラクタが存在する場合には、当該相手 方キャラクタが揺れている画像(図 16に示されるような画像)が画面に表示されること になる。この例では、弹 650が着弾する前に、相手方キャラクタ 610が揺動範囲 600 ( 左端 600aと右端 600bとの間)の中で揺れる画像が表示される。この画像カも弹 650 が相手方キャラクタ 610に命中したか否かを読み取るのは困難であるから、プレイヤ 一は予断しなくなる。予断しないのであれば、予断と実際の判定結果との間に矛盾が 生じることもないから、弹 650が相手方キャラクタ 610に命中したことや命中しなかつ たことが後に判明しても、プレイヤーが覚える違和感は、予断と判定結果とが矛盾す る場合に比較して遥かに小さくなる。

[0097] 次に、プレイヤーキャラクタに係る被弾フラグがオンである力否かを判定する(SG9 )。この判定が「NO」の場合にはステップ SG2に戻り、「YES」の場合には、プレイヤ 一キャラクタが被弾した場合の処理である被弾表示処理を開始し (SG10)、その後 にステップ SG11へ進む。被弾表示処理では、プレイヤーキャラクタが被弾したことを 示す画像 (例えば、プレイヤーキャラクタが横たわった状態における視界に相当する 画像、全画面が真っ赤の画像)を所定の時間にわたって画面に表示する。

[0098] ステップ SGI 1では、終了情報を受信したか否かを判定し、この判定結果が「NO」 であればステップ SGI 1に戻る。すなわち、プレイヤーキャラクタが被弾した場合には 、終了情報を受信するまで待機する。ステップ S11の判定結果が「YES」であれば、 ゲームクライアント (及びエコーサーノ)を終了させる終了処理を行う(SG12)。こうし て、ゲーム処理及び中継処理が終了する。

[0099] [6.総括]

上述したように、ゲームシステム 100では、ゲームクライアントは、プレイヤーがガン ユニット 56を操作してプレイヤーキャラクタ力も相手方キャラクタに向けて弹を発射さ せると弾道情報を生成し、エコーサーバに送信する。また、エコーサーバから弾道情 報を受信すると、プレイヤーキャラクタの位置情報と受信した弾道情報に基づ!、て命 中か否かの判定結果を示す情報を生成する。また、相手方キャラクタに向けて弾を 発射するようにガンユニット 56が操作されると、この操作の信号を検知して力も相手 方ゲーム装置 5から結果情報を取得するまでの期間において、より詳しくは、この弾 が相手方キャラクタの揺れ開始範囲に入って力相手方ゲーム装置 5から結果情報 を取得するまでの期間において、他の相手方キャラクタに弾が命中したか否かが不 確定となる画像、具体的にはキャラクタが揺れる画像を表示装置 52に表示させる。

[0100] よって、本実施形態によれば、通信遅延に起因して生じる、画面では命中したよう に見えたのに実際には命中していな力つたという違和感 (矛盾)や、画面では命中し な力つたように見えたのに実際には命中して!/ヽたと!/、う違和感 (矛盾)を低減(回避) することができる。

[0101] また、本実施形態によれば、キャラクタの移動に関して複数のゲーム装置 5間で送 受信される情報は、基準ポイント間の移動があった場合にのみ送信される。したがつ て、キャラクタの少しの動きに対応して位置情報を送信する態様に比較して通信量を 大幅に削減することができる。また、送信されるのは基準ポイントの識別子のみである から、より一層、通信量を削減することができる。

[0102] また、本実施形態において、基準ポイントは相互に十分に離間するように設定され ている。したがって、プレイヤーキャラクタと相手方キャラクタとの間に、ある程度の距 離を確保し易い。よって、相手方キャラクタが揺れる画像が画面いっぱいに広がって プレイヤーに違和感を与える可能性を低く抑えることができる。なお、このような可能 性を低く抑える他の方法としては、プレイヤーキャラクタと相手方キャラクタとの距離に 応じて処理を分ける方法が挙げられる。すなわち、プレイヤーキャラクタと相手方キヤ ラクタとの距離が所定の距離以下であれば、当該相手方キャラクタについて揺動処 理を行わない、というものである。

[0103] また、前述したように、ゲームシステム 100では、ゲームクライアントは、プレイヤー がガンユニット 56を操作してプレイヤーキャラクタ力も相手方キャラクタに向けて弹を 発射させると弾道情報を生成し、エコーサーバに送信する。また、エコーサーバから 弾道情報を受信すると、プレイヤーキャラクタの位置情報と受信した弾道情報に基づ いて命中力否かの判定結果を示す情報を生成する。当該ゲーム装置 5がエコーサー バに指定されている場合、当該ゲーム装置 5で生成したゲーム情報と相手方ゲーム 装置から受信したゲーム情報を受信した順序で相手方ゲーム装置 5に送信する。

[0104] よって、本実施形態によれば、エコーサーバによってゲーム情報の時系列が確定さ れるから、通信遅延に起因して生じるゲームの進行上の矛盾を回避することができる 。また、プレイヤーキャラクタの動作は、それが属するゲーム装置 5では直ちに画面に 反映されるので、サーバ装置で全ての処理を実行する場合と比較して、操作が画像 に反映される時間を大幅に短縮することができる。

[0105] また、命中判定に代表される、ゲームの進行に係る各種の判定は、ゲームクライア ントによって行われる。したがって、ゲームの進行に係る各種の判定を中継装置が行 う態様に比べて、エコーサーバとして機能する装置に力かる負荷を低減することがで きる。このことは、相手方ゲーム装置と通信してゲームを行っている最中に当該通信 が途絶した場合に個々のゲーム装置において制約付きでありながらもシームレスに 当該ゲームを継続するシステムを構築し易いことをも意味する。

[0106] また、マスターとなるゲーム装置が固定されていないマスター Zスレーブ方式のゲ ームシステムでは、ゲーム装置のプログラムとして、マスター用のプログラムとスレー ブ用のプログラムを作成しなければならい。これに対して、本実施形態では、ゲーム 装置のプログラムとして作成すべきはプログラム Pのみである。つまり、ゲームシステム 100は、その開発が容易である。

[0107] また、上述したゲームシステム 100において、前記処理部 511は、当該ゲーム装置 5の前記処理部 511で生成されたゲーム情報のみに基づいて前記プレイヤーキャラ クタの動作に応じた画像を前記表示部 52に表示させる処理と、前記相手方ゲーム装 置 5から取得したゲーム情報のみに基づいて前記相手方キャラクタの動作に応じた 画像を前記表示部 52に表示させる処理と、当該ゲーム装置 5の前記処理部 511で 生成されたゲーム情報及び前記相手方ゲーム装置 5から取得したゲーム情報に基 づいて前記プレイヤーキャラクタの動作に応じた画像を前記表示部 52に表示させる 処理とを実行することが好ましい。この発明において、「当該ゲーム装置の前記処理 部で生成されたゲーム情報のみに基づいて前記プレイヤーキャラクタの動作に応じ た画像」は、例えば、プレイヤーキャラクタの移動に伴い視点が変化する画像が該当 する。また、「相手方ゲーム装置力も取得したゲーム情報のみに基づいて前記相手 方キャラクタの動作に応じた画像」は、例えば、相手方キャラクタが移動する画像が該 当する。また、「当該ゲーム装置の前記処理部で生成されたゲーム情報及び前記相 手方ゲーム装置から取得したゲーム情報に基づいて前記プレイヤーキャラクタの動 作に応じた画像」は、プレイヤーキャラクタの弾が相手方キャラクタに命中した画像や 、相手方キャラクタが発射した弾がプレイヤーキャラクタに命中したことを示す画像が 該当する。このように、他のゲーム装置の動作と無関係な動作に係る画像は単独の ゲーム装置において画像が生成されて表示され、他のゲーム装置と関係する動作に 係る画像は他のゲーム装置の動作と関連付けた画像が生成されて表示されるので、

処理部の処理量が減少し、キャラクタの動作が発生してから当該動作に対応する画 像が表示されるまでの応答時間が短縮される。

[0108] [7.変形例]

上述した実施形態では、ゲーム装置 5の通信アドレスをゲーム装置 5の識別子とし て用いているが、これを変形し、プレイヤーが所持するカードに固有の IDを書き込ん でおき、ゲーム装置がこのカードから IDを読み取って当該ゲーム装置の識別子とし て用いるようにしてもよい。

[0109] また、上述した実施形態では、ゲーム装置 5のグループ化にロビーサーバ 1及びェ ントリーリスト ELを用いている力これに限るものではない。例えば、予めグループ化 されて!/、る所定数のゲーム装置の間でゲームを行うゲームシステムとしてもよ!/、。

[0110] また、キャラクタの動作や、キャラクタを動作させるための操作を入力する手段は、 上述したものに限定されない。例えば、キャラクタを跳躍させるボタンをゲーム装置に 設け、このボタンが押されたらプレイヤーキャラクタを跳躍させるようにしてもょ、し、 加速度センサを設け、このセンサを用いてプレイヤーの動きの勢いを検出し、検出し た勢いに応じてプレイヤーキャラクタを動作させるようにしてもょ、。

[0111] また、上述した実施形態では、ゲーム装置 5をエコーサーバとして機能させている

1S これを変形し、ゲーム装置以外の装置をエコーサーバとして機能させてもよい。 例えば、図 1の店舎膚 A内のゲーム装置 5が参加するグループに係るエコーサーバとし て店舗 A内のルータ 4を機能させてもよい。さらに、このルータ 4において複数のェコ 一サーバを起動できるようにしてもよい。この態様では、例えば、ゲーム装置 A1及び B1が第 1のグループに参加し、ゲーム装置 A2及び B2が第 2のグループに参加して いるときに、店舗 Aのルータ 4を第 1のグループに係るェコ一サーバとして機能させる 一方、第 2のグループに係るエコーサーバとして機能させることができる。