JP4086862B2 - ゲームシステム及びその制御方法、ゲーム装置、並びにプログラム - Google Patents

ゲームシステム及びその制御方法、ゲーム装置、並びにプログラム Download PDF

Info

Publication number
JP4086862B2
JP4086862B2 JP2005188175A JP2005188175A JP4086862B2 JP 4086862 B2 JP4086862 B2 JP 4086862B2 JP 2005188175 A JP2005188175 A JP 2005188175A JP 2005188175 A JP2005188175 A JP 2005188175A JP 4086862 B2 JP4086862 B2 JP 4086862B2
Authority
JP
Japan
Prior art keywords
game
character
information
devices
game device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005188175A
Other languages
English (en)
Other versions
JP2007006954A (ja
Inventor
伸浩 小野寺
新太郎 大里
肇 和久田
晋平 牧野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP2005188175A priority Critical patent/JP4086862B2/ja
Application filed by Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to PCT/JP2006/312785 priority patent/WO2007000990A1/ja
Priority to US11/994,194 priority patent/US8137198B2/en
Priority to EP06767402A priority patent/EP1908504A4/en
Priority to KR1020087002247A priority patent/KR100978727B1/ko
Priority to CN2006800238193A priority patent/CN101213002B/zh
Publication of JP2007006954A publication Critical patent/JP2007006954A/ja
Application granted granted Critical
Publication of JP4086862B2 publication Critical patent/JP4086862B2/ja
Priority to HK08110902.8A priority patent/HK1119412A1/xx
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • A63F13/10
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/837Shooting of targets
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/24Electric games; Games using electronic circuits not otherwise provided for
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/402Communication between platforms, i.e. physical link to protocol
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8076Shooting

Description

本発明は、中継装置を介して通信を行うゲームシステム及びその制御方法、ゲーム装置、並びにプログラムに関する。
仮想空間内に配置された複数のキャラクタを複数のプレイヤーが各々操作するゲームを複数のゲーム装置の間で実行可能なゲームシステムがある。このシステムとしては、特許文献1に記載されているように、キャラクタの動作に基づく全ての判定をゲーム装置以外の特定の装置(サーバ)が行い、各ゲーム装置では表示する画像を特定の装置からの情報を受信した場合にのみ更新するものがある。
特開2003−047774号公報
しかし、特許文献1に記載のシステムでは、全ての操作が特定の装置に集約されて各種の判断に用いられてから各ゲーム装置の画面に反映されるため、プレイヤーが自己のキャラクタを操作してから当該操作に応じた画像が自己のゲーム装置に表示されるまでの応答時間も通信遅延により長くなってしまう。このため、複数のプレイヤーが各々のキャラクタを操作して仮想空間内を移動させて互いに撃ち合わせる射的ゲームのように応答時間を極めて短くする必要があるゲームの実行には適さない。このことは、いわゆるセンター/ターミナル型のゲームシステムやマスター/スレーブ型のゲームシステム一般に当てはまる。
応答時間を短くすることができるシステムとしては、各ゲーム装置が特定の装置を経由せずに直接的かつ対等に通信してゲームを進行させるシステムが考えられる。このシステムには様々なバリエーションが有り得る。例えば、各ゲーム装置において、表示する画像を、特定の装置からの情報を受信せずとも自己のプレイヤーの操作に応じて更新可能とすることも考えられる。しかし、いずれのバリエーションにせよ、同一のゲームの実行に係る各ゲーム装置が他の全てのゲーム装置と個々に通信しなければならず、特定の装置のみと通信すればよいシステム(特許文献1)に比較して通信に係る処理が重くなってしまう。この欠点は、特に、同一のゲームの実行に係るゲーム装置が多数の場合に深刻となる。
また、いずれのバリエーションにせよ、ゲーム装置間の通信遅延はそれぞれ異なるのが普通であるため、各ゲーム装置においてゲームの進行に矛盾が生じ易い。例えば、第1〜第4のゲーム装置の間でゲームを実行するシステムにおいて、第1のゲーム装置で第1の事象が発生し、その後に第2のゲーム装置で第2の事象が発生したものとする。あるゲーム装置での事象の発生を他のゲーム装置に伝えるのに要する時間(通信遅延時間)は他のゲーム装置毎に異なるから、第3のゲーム装置では第1の事象の発生を知ってから第2の事象の発生を知るのに対し、第4のゲーム装置では第2の事象の発生を知ってから第1の事象の発生を知る、ということも起こりうる。通常、各ゲーム装置では、事象の発生を知った順序に基づいてゲームを進行させようとするから、この順序がゲーム装置毎に異なることがと多いと、ゲームの進行に矛盾が生じ易くなる。
本発明は上述した事情に鑑みてなされたものであり、仮想空間内に配置された複数のキャラクタを複数のプレイヤーが各々操作するゲームを複数のゲーム装置の間で実行可能なゲームシステムであって、ゲームの進行に矛盾が生じ難く、通信に係る処理を重くすることなく、応答時間を極めて短くする必要があるゲームを実行することができるゲームシステム及びその制御方法、ゲーム装置、並びにプログラムを提供することを目的とする。
以下、本発明について説明する。なお、本発明の理解を容易にするために添付図面の参照符号を括弧書きにて付記するが、それにより本発明が図示の形態に限定されるものではない。
上述の課題を解決するために、本発明に係るゲームシステム(100)は、複数のゲーム装置(5)と、前記ゲーム装置(5)からゲームへ参加する旨の参加要求を受信して、所定数のゲーム装置(5)を一つのゲームに参加するゲーム装置としてグループ化し、前記所定数のゲーム装置(5)のうち一つのゲーム装置(A1)を特定ゲーム装置として特定するサーバ装置(1)とを備え、仮想空間内に配置された複数のキャラクタを複数のプレイヤーが各々操作するゲームを前記所定数のゲーム装置(5)の間で実行可能なゲームシステム(100)であって、前記複数のゲーム装置(5)の各々は、通信を行う通信手段(514)と、ゲームの画像を表示する表示手段(52)と、プレイヤーの操作に応じた操作信号(D1、TG1、OP1、OP)を出力する入力手段(56、59、543〜545)と、当該ゲーム装置(5)が前記所定数のゲーム装置(5)に属する場合には、前記入力手段(56、59、543〜545)から自己のキャラクタを動作させる操作信号(D1、TG1、OP1、OP)が出力されると当該操作信号(D1、TG1、OP1、OP)に基づいて自己のキャラクタの動作を指定するゲーム情報を生成する一方、生成した最新のゲーム情報及び記憶された最新のゲーム情報に基づいて前記仮想空間における前記自己のキャラクタと他のキャラクタの動作に応じた画像を生成して前記表示手段(52)に表示させる処理を繰り返し行う処理手段(511)と、当該ゲーム装置(5)が、前記所定数のゲーム装置(5)に属しており、前記特定ゲーム装置でない場合には、前記特定ゲーム装置から前記通信手段(514)を用いて取得したゲーム情報を記憶し、前記処理手段(511)に生成されたゲーム情報を前記特定ゲーム装置へ前記通信手段(514)を用いて送信し、前記特定ゲーム装置である場合には、当該所定数のゲーム装置(5)のうち当該ゲーム装置(A1)を除いた他のゲーム装置(5)から前記通信手段(514)を用いて取得したゲーム情報と、当該ゲーム装置(A1)の前記処理手段(511)を用いて取得したゲーム情報とを、取得した順序で、前記他のゲーム装置(5)の一部又は全部へ前記通信手段(514)を用いて送信するとともに記憶する送信手段(511、513)とを備えることを特徴とする。
このゲームシステムでは、一つの仮想空間を複数のゲーム装置で共有し、各プレイヤーが個々のゲーム装置の入力手段を操作することによって、複数のキャラクタの各々が動作する。この場合、自己のキャラクタの動作は、当該ゲーム装置の入力手段の操作信号に基づいて把握することができるが、他のキャラクタの動作は他のゲーム装置のゲーム情報を取得しなければ特定することができない。また、所定数のゲーム装置は異なる場所に設置されるから、ゲーム装置間の通信遅延時間は互いに相違する。仮に、所定数のゲーム装置の各々が、自己のキャラクタの動作を指定するゲーム情報を他の全てのゲーム装置に送信したとすると、通信遅延時間の相違により、ゲームの進行に矛盾が生じることがある。本発明によれば、所定数のゲーム装置のうち特定ゲーム装置を除いた他のゲーム装置は、特定ゲーム装置にゲーム情報を送信するので、特定ゲーム装置においてゲーム情報の時系列を確定させることできる。そして、特定ゲーム装置は取得した順序でゲーム情報を他のゲーム装置に送信するので、矛盾を回避することが可能となる。しかも、自己のキャラクタの動作は、それが属するゲーム装置では直ちに(ゲーム装置間の通信を要することなく)画像に反映されるので、サーバ装置で全ての処理を実行する場合と比較して、操作が画像に反映される時間を大幅に短縮することができる。
また、この発明によれば、特定ゲーム装置以外の中継装置を備える必要がない。また、ゲームの進行に係る各種の判定は、各ゲーム装置によって行われるから、ゲームの進行に係る各種の判定を特定ゲーム装置が行う態様に比べて、特定ゲーム装置にかかる負荷を低減することができる。
また、上述したゲームシステム(100)において、前記複数のゲーム装置(5)の各々の送信手段511、513)は、当該ゲーム装置(5)が、前記特定ゲーム装置である場合には、前記他のゲーム装置(5)から取得したゲーム情報を、取得した順序で、前記他のゲーム装置(5)から送信元のゲーム装置(5)を除いたゲーム装置(5)へ送信することが好ましい。送信元のゲーム装置は、ゲーム情報を有しているので、送信先からこれを除くことによって、通信資源を削減することができる。
また、上述したゲームシステム(100)において、前記処理手段(511)は、前記操作信号(D1、TG1、OP1、OP)に基づいて前記仮想空間内における前記自己のキャラクタの位置を示す位置情報を生成して管理する位置情報管理手段(511、SA2、SA3)と、前記仮想空間に設定した複数の基準位置と前記複数の基準位置の各々を指定する指定情報とを対応付けて記憶する記憶手段(512)と、前記自己のキャラクタの位置が前記基準位置を中心とする所定範囲を超えると、前記キャラクタの位置を隣接する他の前記基準位置に移動させ、前記基準位置の間の移動が起こると、前記記憶手段(512)を参照して移動先の前記基準位置に対応する前記指定情報を取得して前記送信手段(511)に供給する移動手段(511、SA6、SA7)と、前記自己のキャラクタの位置を示す位置情報を生成し、当該位置情報によって指定される位置からの視点の画像を前記表示手段(52)に表示させる処理と、前記通信手段(514)を用いて前記他のキャラクタの前記指定情報を前記ゲーム情報として受信すると、前記記憶手段(512)を参照して当該指定情報の指定する前記基準位置に位置する前記他のキャラクタの画像を前記表示手段(52)に表示させる処理とを実行する表示制御手段(511、SG1〜SG12)と、を備えることが好ましい。位置情報は、通常、仮想空間内の座標で与えられる。キャラクタの少しの動きに対応して位置情報を送信すると、通信量が大きくなる。しかしながら、この発明によれば、基準位置間の移動があった場合に通信を行い、しかも、移動先の位置情報そのものを送信するのではなく、指定情報を送信するので、通信量を大幅に削減することができる。
次に、本発明に係るゲーム装置(5)は、複数のゲーム装置(5)と、前記ゲーム装置(5)からゲームへ参加する旨の参加要求を受信して、所定数のゲーム装置(5)を一つのゲームに参加するゲーム装置(5)としてグループ化し、前記所定数のゲーム装置(5)のうち一つのゲーム装置(A1)を特定ゲーム装置として特定するサーバ装置(1)とを備え、仮想空間内に配置された複数のキャラクタを複数のプレイヤーが各々操作するゲームを前記所定数のゲーム装置(5)の間で実行可能なゲームシステム(100)を構成するゲーム装置(5)であって、通信を行う通信手段(514)と、ゲームの画像を表示する表示手段(52)と、プレイヤーの操作に応じた操作信号(D1、TG1、OP1、OP)を出力する入力手段(56、59、543〜545)と、当該ゲーム装置(5)が前記所定数のゲーム装置(5)に属する場合には、前記入力手段(56、59、543〜545)から自己のキャラクタを動作させる操作信号(D1、TG1、OP1、OP)が出力されると当該操作信号(D1、TG1、OP1、OP)に基づいて自己のキャラクタの動作を指定するゲーム情報を生成する一方、生成した最新のゲーム情報及び記憶された最新のゲーム情報に基づいて前記仮想空間における前記自己のキャラクタと他のキャラクタの動作に応じた画像を生成して前記表示手段(52)に表示させる処理を繰り返し行う処理手段(511)と、当該ゲーム装置(5)が、前記所定数のゲーム装置(5)に属しており、前記特定ゲーム装置でない場合には、前記特定ゲーム装置から前記通信手段(514)を用いて取得したゲーム情報を記憶し、前記処理手段(511)に生成されたゲーム情報を前記特定ゲーム装置へ前記通信手段(514)を用いて送信し、前記特定ゲーム装置である場合には、当該所定数のゲーム装置(5)のうち当該ゲーム装置(A1)を除いた他のゲーム装置(5)から前記通信手段(514)を用いて取得したゲーム情報と、当該ゲーム装置(A1)の前記処理手段(511)を用いて取得したゲーム情報とを、取得した順序で、前記他のゲーム装置(5)の一部又は全部へ前記通信手段(514)を用いて送信するとともに記憶する送信手段(511、513)とを備える
本発明によれば、ゲーム装置は、当該ゲーム装置が特定ゲーム装置でない場合には、特定ゲーム装置にゲーム情報を送信するので、特定ゲーム装置においてゲーム情報の時系列を確定させることできる。そして、特定ゲーム装置は取得した順序でゲーム情報を他のゲーム装置に送信するので、矛盾を回避することが可能となる。しかも、自己のキャラクタの動作は、それが属するゲーム装置では直ちに画像に反映されるので、サーバ装置で全ての処理を実行する場合と比較して、操作が画像に反映される時間を大幅に短縮することができる。
次に、本発明に係るプログラムは、複数のゲーム装置(5)と、前記ゲーム装置(5)からゲームへ参加する旨の参加要求を受信して、所定数のゲーム装置(5)を一つのゲームに参加するゲーム装置(5)としてグループ化し、前記所定数のゲーム装置(5)のうち一つのゲーム装置(A1)を特定ゲーム装置として特定するサーバ装置(1)とを備え、仮想空間内に配置された複数のキャラクタを複数のプレイヤーが各々操作するゲームを前記所定数のゲーム装置(5)の間で実行可能なゲームシステム(100)を構成し、通信を行う通信手段(514)と、ゲームの画像を表示する表示手段(52)と、プレイヤーの操作に応じた操作信号(D1、TG1、OP1、OP)を出力する入力手段(56、59、543〜545)とを備えたゲーム装置(5)を、当該ゲーム装置(5)が前記所定数のゲーム装置(5)に属する場合には、前記入力手段(56、59、543〜545)から自己のキャラクタを動作させる操作信号(D1、TG1、OP1、OP)が出力されると当該操作信号(D1、TG1、OP1、OP)に基づいて自己のキャラクタの動作を指定するゲーム情報を生成する一方、生成した最新のゲーム情報及び記憶された最新のゲーム情報に基づいて前記仮想空間における前記自己のキャラクタと他のキャラクタの動作に応じた画像を生成して前記表示手段(52)に表示させる処理を繰り返し行う処理手段(511)と、当該ゲーム装置(5)が、前記所定数のゲーム装置(5)に属しており、前記特定ゲーム装置でない場合には、前記特定ゲーム装置から前記通信手段(514)を用いて取得したゲーム情報を記憶し、前記処理手段(511)に生成されたゲーム情報を前記特定ゲーム装置へ前記通信手段(514)を用いて送信し、前記特定ゲーム装置である場合には、当該所定数のゲーム装置(5)のうち当該ゲーム装置(A1)を除いた他のゲーム装置(5)から前記通信手段(514)を用いて取得したゲーム情報と、当該ゲーム装置(A1)の前記処理手段(511)を用いて取得したゲーム情報とを、取得した順序で、前記他のゲーム装置(5)の一部又は全部へ前記通信手段(514)を用いて送信するとともに記憶する送信手段として機能させることを特徴とする。
本発明によれば、ゲーム装置は、プログラムを実行することにより、当該ゲーム装置が特定ゲーム装置でない場合には、特定ゲーム装置にゲーム情報を送信するので、特定ゲーム装置においてゲーム情報の時系列を確定させることできる。そして、特定ゲーム装置は取得した順序でゲーム情報を他のゲーム装置に送信するので、矛盾を回避することが可能となる。しかも、自己のキャラクタの動作は、それが属するゲーム装置では直ちに画像に反映されるので、サーバ装置で全ての処理を実行する場合と比較して、操作が画像に反映される時間を大幅に短縮することができる。
次に、本発明に係るゲームシステム(100)の制御方法は、複数のゲーム装置(5)と、前記ゲーム装置(5)からゲームへ参加する旨の参加要求を受信して、所定数のゲーム装置(5)を一つのゲームに参加するゲーム装置としてグループ化し、前記所定数のゲーム装置(5)のうち一つのゲーム装置(A1)を特定ゲーム装置として特定するサーバ装置(1)とを備え、前記複数のゲーム装置(5)の各々は、通信を行う通信手段(514)と、ゲームの画像を表示する表示手段(52)と、プレイヤーの操作に応じた操作信号(D1、TG1、OP1、OP)を出力する入力手段(56、59、543〜545)とを有し、仮想空間内に配置された複数のキャラクタを複数のプレイヤーが各々操作するゲームを前記所定数のグループ化されたゲーム装置(5)の間で実行可能なゲームシステム(100)を制御する方法であって、前記所定数のゲーム装置(5)の各々において、前記入力手段(56、59、543〜545)から自己のキャラクタを動作させる操作信号(D1、TG1、OP1、OP)が出力されると当該操作信号(D1、TG1、OP1、OP)に基づいて自己のキャラクタの動作を指定するゲーム情報を生成する一方、生成した最新のゲーム情報及び記憶された最新のゲーム情報に基づいて前記仮想空間における前記自己のキャラクタと他のキャラクタの動作に応じた画像を生成して前記表示手段(52)に表示させる処理を繰り返し行うステップと、当該ゲーム装置(5)が前記特定ゲーム装置でない場合には、前記特定ゲーム装置から前記通信手段(514)を用いて取得したゲーム情報を記憶し、生成されたゲーム情報を前記特定ゲーム装置へ前記通信手段(514)を用いて送信し、前記特定ゲーム装置である場合には、当該所定数のゲーム装置(5)のうち当該ゲーム装置(A1)を除いた他のゲーム装置(5)から前記通信手段(514)を用いて取得したゲーム情報と、当該ゲーム装置(A1)の前記処理手段(511)を用いて取得したゲーム情報とを、取得した順序で、前記他のゲーム装置(5)の一部又は全部へ前記通信手段(514)を用いて送信するとともに記憶するステップを実行する、ことを特徴とする。
このゲームシステムの制御方法によれば、所定数のゲーム装置のうち特定ゲーム装置を除いた他のゲーム装置は、特定ゲーム装置にゲーム情報を送信するので、特定ゲーム装置においてゲーム情報の時系列を確定させることできる。そして、特定ゲーム装置は取得した順序でゲーム情報を他のゲーム装置に送信するので、矛盾を回避することが可能となる。しかも、自己のキャラクタの動作は、それが属するゲーム装置では直ちに画像に反映されるので、サーバ装置で全ての処理を実行する場合と比較して、操作が画像に反映される時間を大幅に短縮することができる。
本発明によれば、ゲームの進行に矛盾が生じ難く、通信に係る処理を重くすることなく、応答時間を極めて短くする必要があるゲームを実行することができる。
[1.ゲームシステム]
図1は、本発明の一実施形態に係るゲームシステム100の全体構成を示す。
ゲームシステム100は、複数のゲーム装置を備え、3次元の仮想空間内に配置された複数のキャラクタを複数のプレイヤーが各々操作して互いに撃ち合わせる射的ゲームを所定数のグループ化されたゲーム装置の間で実行可能である。
ゲームシステム100はロビーサーバ1を備えている。ロビーサーバ1は所定数のゲーム装置をグループ化するためのものであり、ルータ2を介してインターネット3に接続されている。また、インターネット1には、複数の店舗A、B、…に各々設けられたルータ4、4、…が接続されている。各店舗A、B、…には複数のゲーム装置A1、A2、…、B1、B2、…が配置されている。以降の説明では、各ゲーム装置を区別する必要がない場合には個々のゲーム装置を「ゲーム装置5」と記す。各ゲーム装置5は、ルータ4を介してロビーサーバ1および他のゲーム装置5と通信可能である。これらの通信を実現可能であるなら、インターネット3に代えて他の通信網を用いることも可能である。
[2.ゲーム装置]
[2−1.外観]
図2にゲーム装置5の外観を示す。
ゲーム装置5の筺体51の上部には、垂直走査期間毎に長方形の画面を走査してゲームの画像を表示する表示装置52が設けられている。表示装置52としては、例えば、モニタ、あるいはスクリーンとビデオプロジェクタの組を用いることができる。ゲームの画像とは、当該ゲーム装置5のプレイヤーのキャラクタ、すなわち自己のキャラクタの視点から仮想空間内を見た画像である。なお、画面に表示されるキャラクタは他のキャラクタに限られる。
筺体51の中央部には音響装置53が設けられている。音響装置53はアンプとスピーカーを有し、ゲーム中に生成された音を放出する。また、筺体51の中央部には、所定のコインが挿入されるコイン挿入口541と、ゲームの開始操作の入力に用いられるスタートボタン542が設けられている。
また、筺体51の中央部には、銃に似た形状のガンユニット56がケーブルを介して接続されている。ガンユニット56は当該ゲーム装置5のプレイヤーが自己のキャラクタに弾を発射させたり、当該キャラクタの向きや姿勢を変えたりするために操作するものであり、プレイヤーに操作されるトリガ561、オプションボタン562および563を有する。トリガ561は弾の発射操作の入力に用いられる。オプションボタン562は注目キャラクタを切り替える操作の入力に用いられる。注目キャラクタとは、当該プレイヤーのキャラクタが注目しているキャラクタであり、通常、注目キャラクタを切り替えれば当該プレイヤーのキャラクタの向きが変わり、画面に表示される画像も変わる。オプションボタン563は当該プレイヤーの姿勢(立位/座位)を変える操作の入力に用いられる。
筐体51の下部には台57が設けられている。台57は、射的ゲームを行うプレイヤーに踏まれるものであり、プレイヤーは台57上に立った状態でゲームを行う。したがって、台57はプレイヤーが画面を適切に見ることができるように、画面前方に配置されている。また、台57の上面は赤外光を反射し易くなっている。また、筐体51の下部において、台57上の画面側にはフットペダル546が設けられている。フットペダル546は、当該プレイヤーのキャラクタを前進させる操作の入力に用いられる。
筐体51にはフレーム58が固定されている。フレーム58はその上部において画面手前に張り出しており、その水平な上端は台57上のプレイヤーを挟んで台57と対向するように配置されている。フレーム58の上端には、台57におけるプレイヤーの位置を検出するための位置センサ543〜545が設置されている。画面に向かって、位置センサ543は中央に、位置センサ544は左側に、位置センサ545は右側に位置している。各位置センサは光学式センサであり、鉛直方向下方へ赤外光を照射し、この光が台57の上面で反射して鉛直方向下方から届いたら受光し、受光光のレベルを示す信号を出力する。また、位置センサ543〜545は、それぞれの受光光の光路が、所定の位置に立ったプレイヤーの背後、左側、右側を通るように配置されている。位置センサ543〜545の出力信号を用いれば、プレイヤーの体の傾きを検出することができる。詳しくは後述するが、プレイヤーが右側に体を傾けた場合には、自己のキャラクタを右側に進ませる指示が入力され、プレイヤーが左側に体を傾けた場合には、自己のキャラクタを左側に進ませる指示が入力される。
[2−2.電気的構成]
図3は、ゲーム装置5の電気的構成を示すブロック図である。この図に示すように、ゲーム装置5はCPU511を有する。CPU511にはROM512及びRAM513が接続されている。CPU511は、ROM512に記憶されたプログラムPを実行し、RAM13を作業領域として用いることによって、ゲーム装置5の制御中枢として機能する。
また、CPU511には表示装置52が接続されている。CPU511は、画像を生成し、生成した画像に応じた画像信号を表示装置52に供給することによって、当該画像を表示装置52の画面に表示させる。また、CPU511は、必要に応じて、強制的に輝度を最大とするレベル制御信号を生成して表示装置52に供給する。表示装置52は、レベル制御信号を受けると、走査中の画素の輝度を強制的に最大とする。
また、CPU511には音響装置53が接続されている。CPU511は、音を表す音響信号を生成し、生成した音響信号を音響装置53に供給することによって、当該音を音響装置53から放出させる。また、CPU511には通信インターフェース514が接続されている。CPU511は通信インターフェース514を介してロビーサーバ1および他のゲーム装置5と通信する。
また、CPU511には入力装置54が接続されている。入力装置54は、コイン挿入口541、スタートボタン542、位置センサ543〜545およびフットペダル546を有し、コイン挿入口541に所定のコインが挿入されるとその旨を示す信号を出力し、スタートボタン542が操作されるとその旨を示す信号を出力し、位置センサ543〜545からの各信号を出力し、フットペダル546が踏まれているか否かを示す信号を出力する。CPU31は入力装置54からの信号を検知し、検知した信号の内容に応じた処理を行う。
例えば、コイン挿入口541に所定のコインが挿入された旨を示す信号を検知してからスタートボタン542が操作された旨を示す信号を検知すると、通信インターフェース514を介して他のゲーム装置5およびロビーサーバ1と通信して所定数のゲーム装置5をグループ化する装置側グループ化処理を開始する。また例えば、位置センサ543〜545からの信号やフットペダル546が踏まれているか否かを示す信号を検知して、自己のキャラクタの位置を計算する。つまり、位置センサ543〜545およびフットペダル546の各々は、自己のキャラクタを動作させる指示を入力するために用いられ、プレイヤーの操作に応じた信号(操作信号)を出力する入力手段として機能する。
また、CPU511にはガンユニット56が接続されている。ガンユニット56は、トリガ561およびオプションボタン562、563の他に、トリガセンサ564、オプションボタンセンサ565、566、および光センサ567を有する。トリガセンサ564は、ガンユニット30のトリガ561が引き絞られたことを検出してトリガ信号TG1を出力する。オプションボタンセンサ565、566は、それぞれ、対応するオプションボタン562、563が押し下げられたことを検出してオプション信号OP1、OP2を出力する。光センサ567は、ガンユニット56の銃身の内部に設けられ、銃口からの光を受光できるようになっており、受光レベルが所定の閾値未満から当該閾値以上に変化したことを検出して照準信号D1を出力する。CPU511はガンユニット56からの信号を検知し、検知した信号の内容に応じた処理を行う。
例えば、オプション信号OP1を検知すると注目キャラクタを切り替える。つまり、自己のキャラクタの向きを変える。また例えば、オプション信号OP2を検知すると自己のキャラクタの姿勢を変化させる。つまり、自己のキャラクタの姿勢が立位であれば座位とし、座位であれば立位とする。また例えば、トリガ信号TG1を検出すると当該キャラクタに弾を発射させる。以上より明らかなように、ガンユニット56は、自己のキャラクタを動作させる指示を入力するために用いられ、プレイヤーの操作に応じた信号(操作信号)を出力する入力手段として機能する。
このゲームシステム100では、弾がキャラクタに命中すると、このキャラクタが死ぬ。つまり、弾の発射操作は、自己のキャラクタが他のゲーム装置に属する他のキャラクタに対して攻撃的な作用を及ぼす可能性がある操作である。この操作がなされると、CPU511は自己のキャラクタに弾を発射させるが、その際には、まず、後述の弾道計算を行い、弾の弾道を示す弾道情報を生成する。弾道計算で必要な情報の1つとして照準位置がある。照準位置は、ガンユニット56の銃身の中心線を画面まで延長したときに当該中心線が通る画素の画面上での座標である。この照準位置の特定方法について説明する。
[2−3.照準位置の特定方法]
図4は照準位置の特定方法を説明するための図である。この図に示すように、CPU511は、ある垂直走査期間(V)においてトリガ信号TG1を検知すると、次の垂直走査期間(V)の間、画像信号のみならずレベル制御信号をも表示装置52に供給する。したがって、この期間において、画面は白色(最大輝度)で塗りつぶされていく。この過程で、ガンユニット56の銃身の中心線が通る画素を含む領域も白色で塗りつぶされる。すると、光センサ567から照準信号D1が出力され、CPU511により検知される。CPU511は、この照準信号D1を検知すると、当該垂直走査期間の開始時点からの経過時間(T)に基づいて照準位置を特定する。なお、ガンユニット56は、上記の領域が十分に狭くなるように設計されている。
[3.ロビーサーバ]
図5に、ロビーサーバ1の電気的構成を示す。
ロビーサーバ1は、ゲーム装置5からの要求に応じて所定数のゲーム装置5をグループ化するサーバ側グループ化処理を行うものであり、CPU11、ハードディスク12、ROM13、通信インターフェース14、およびRAM15を備える。CPU11は、ROM13からブートプログラムを読み出して実行し、さらにハードディスク12から制御プログラムを実行することによってサーバ側グループ化処理を行う。RAM15は、CPU11の作業領域として機能し、そこには、エントリーリストELが記憶される。エントリーリストELは、ゲーム装置5の通信アドレスが登録されるものであり、初期状態では空である。
[4.グループ化処理]
図6は、ゲームシステム100のグループ化処理における動作例を示すシーケンス図である。この動作例は、2台のゲーム装置5をグループ化する場合のものである。グループ化するゲーム装置5の数を2台としたのは、説明が繁雑になるのを避けるためであり、実際には、より多くのゲーム装置5(例えば4台のゲーム装置5)がグループ化される。
この動作例では、まず、店舗Aのゲーム装置A1において、コイン挿入口541に所定のコインが挿入されてからスタートボタン542が操作され、入力装置54からこの旨の信号が出力される。ゲーム装置A1のCPU511は、この信号を検知すると、装置側グループ化処理を開始する。具体的には、グループ化を要求する旨のエントリーリスト要求をロビーサーバ1へ送信する(S1)。エントリーリスト要求は、エントリーリストELの返信を要請する要求でもある。ロビーサーバ1のCPU11は、エントリーリスト要求を受信すると、エントリーリストELをRAM15から読み出して返信する(S2)。この時点では、グループ化を要求している他のゲーム装置5は存在しないため、返信されるエントリーリストは空である。
ゲーム装置A1のCPU511は、エントリーリストELを受信すると、当該エントリーリストELが空であるか否かを判定する。当該エントリーリストELは空であるから、この判定結果は肯定的となる。よって、CPU511は、自己の通信アドレスを含み、この通信アドレスをエントリーリストELに登録することを要求する旨の登録要求をロビーサーバ1へ送信する(S3)。ロビーサーバ1のCPU11は、この登録要求を受信すると、ACK(確認応答)を返信する一方(S4)、この登録要求に含まれている通信アドレスをRAM15に書き込むことによってエントリーリストELに登録する(S5)。一方、ゲーム装置A1のCPU511は、ACKを受信すると、待ち状態となる(S6)。
この動作例では、次に、ゲーム装置B1のCPU511がエントリーリスト要求をロビーサーバ1に送信する(S7)。これに、対して、ロビーサーバ1のCPU11はエントリーリストELをRAM15から読み出して返信する(S8)。このエントリーリストELにはゲーム装置A1の通信アドレスが登録されているから、このエントリーリストELを受信したゲーム装置B1のCPU511は、当該通信アドレスを参照してゲーム装置A1に同一のグループに参加したい旨の参加要求を送信する(S9)。
ゲーム装置A1のCPU511は、この参加要求を受信するとACKを返信し(S10)、同一のグループに属するゲーム装置5が所定数(この例では2)に達したことを確認して、グループ化が完了したことを示すグループ化完了通知を自己と同一のグループに属するゲーム装置5、すなわちゲーム装置B1へ送信する(S11)。ゲーム装置B1のCPU511は、このグループ化完了通知を受信すると、ACKを返信する(S12)。こうして、ゲーム装置A1およびB1のグループ化が完了する(S13、S14)。
次に、ゲーム装置A1のCPU511は、エントリーリストELから自己の通信アドレスを削除することを要求する削除要求をロビーサーバ1へ送信する(S15)。ロビーサーバ1のCPU11は、この削除要求を受信すると、ACKを返信する一方(S16)、エントリーリストELから当該通信アドレスを削除する(S17)。こうして、装置側グループ化処理が終了する。
上述したグループ化処理において、サーバ装置1のCPU11はゲーム装置A1、B1からエントリーリスト要求を受け取る(S1、S7)。このエントリーリスト要求は、グループ化の前提となる要求であって、個別のゲーム装置A1、B1で単独のゲームを実行する場合には、送信されない。したがって、エントリーリスト要求は、一つのゲームへ参加する旨の参加要求として機能する。ここで、サーバ装置1のCPU11は、エントリーリストを削除するまでの期間(S5〜S17)、空のエントリーリスト、あるいは登録済みのエントリーリストを送信することにより(S2、S8)、所定数のゲーム装置5を一つのゲームに参加するゲーム装置5としてグループ化するグループ化手段として機能する。また、CPU11は、登録要求があるとエントリーリストに通信アドレスを登録することによって、グループ化したゲーム装置の中から一つのゲーム装置を特定ゲーム装置として特定する特定手段として機能する。
なお、所定数が3以上の場合には、参加要求を受信しても同一のグループに属するゲーム装置5が所定数に達しないことがある。この際には、グループ化完了通知ではなく、グループへの参加を許可する旨の許可通知が送信される。許可通知を送信したゲーム装置5および受信したゲーム装置5は、共に、待ち状態となる。つまり、グループ化完了通知は、同一のグループに属するゲーム装置5が所定数に達して初めて送信される。
[5.ゲーム処理および中継処理]
[5−1.概要]
装置側グループ化処理を終えて同一のグループに属することとなった所定数のゲーム装置5は、それぞれ、ゲーム処理を行うゲームクライアントを起動する。また、これらのゲーム装置5のうち、通信アドレスをエントリーリストELに登録したゲーム装置5は、中継処理を行うエコーサーバを起動する。すなわち、これらのゲーム装置5のうちの1つはゲームクライアントおよびエコーサーバとして機能し、残りはゲームクライアントとして機能する。
ゲームクライアントは、自己の属するグループに係るエコーサーバとの間でゲーム情報を送受信してゲームを進行させる。ゲーム情報とは、射的ゲームにおいて発生したゲームの進行に必要な情報であり、キャラクタの位置や視点、向き、姿勢等のキャラクタの状態を示す状態情報や、キャラクタに弾が命中したか否かの判定(以降、「命中判定」ともいう)の結果を示す結果情報、弾道情報を含む概念である。
エコーサーバは、自己のグループに属するゲームクライアントからのゲーム情報を受信し、受信した順序で、自己のグループに属する全てのゲームクライアントへ送信する中継処理のみを行う。なお、本実施形態を変形し、エコーサーバによるゲーム情報の送信先から当該ゲーム情報の送信元を除くようにしてもよい。
[5−2.関係]
図7はゲーム装置5、ゲームクライアントおよびエコーサーバの関係を説明するための図である。この図に示す例では、ゲーム装置A1、A2、B1およびB2がグループ化されている。エコーサーバとして機能するのはゲーム装置A1であり、ゲーム装置A2、B1およびB2はそれぞれゲーム装置A1のみと通信する。したがって、ゲーム装置A2、B1およびB2は、ゲーム装置A1の通信アドレスのみを管理すれば足りる。
ゲーム装置5間の通信をより上位レイヤで捉えると、各ゲームクライアントとエコーサーバとが通信していることになる。したがって、ゲームクライアントとして機能するゲーム装置A1はエコーサーバとして機能する自己と通信することになる。この通信は、他の通信と異なり、通信インターフェース514を用いることなく行われ、ゲーム装置A1内で完結する。
また、ゲームクライアントは、自己に属するキャラクタについて命中判定を行う。このように、キャラクタについての命中判定は当該キャラクタが属するゲーム装置5(撃たれた側のゲーム装置5)にて行われるから、この判定の結果が複数のゲーム装置5の間で矛盾することはない。また、ゲームクライアントは、画面に表示する表示する画像を自己のプレイヤーの操作に応じて直ちに更新可能である。したがって、プレイヤーは自己の操作が仮想空間に与えた影響を十分に短い応答時間で視認することができる。
また、ゲームクライアント間の通信はエコーサーバを介して行われるから、ゲーム装置5間においてゲームの進行に矛盾が生じ難い。このことについて、エコーサーバを用いないシステムと比較して説明する。エコーサーバを用いないシステムとしては、いわゆるセンター/ターミナル方式やマスター/スレーブ方式のシステムと、複数のゲーム装置がエコーサーバを介さずに対等に通信を行うシステムが考えられる。しかし、前者はセンターまたはマスターにおいてゲームの進行に係る全ての判定を行うものであるから、極めて短い応答時間とする必要のある射的ゲームには適用困難である。よって、ここでは、後者を比較対象とする。
[5−3.対比]
図8は複数のゲーム装置がエコーサーバを介さずに対等に通信を行うシステムにおいてゲームの進行に生じる矛盾を説明するための図である。この図に示すシステムでは、A、B、CおよびDのゲーム装置が直接的に通信する。また、AとB間の通信遅延時間をT1、BとD間の通信遅延時間をT2、CとD間の通信遅延時間をT3、AとC間の通信遅延時間をT4、AとD間の通信遅延時間をT5、そしてBとC間の通信遅延時間をT6とすると、T1<T2<T3<T4<T5<T6である。
このシステムにおいて、全てのゲーム装置で事象が同時に発生し、各ゲーム装置が他のゲーム装置に事象の発生を通知したとする。この場合に、あるゲーム装置での事象の発生が他のゲーム装置において検知されるまでに要する時間は図に示す通りとなる。例えば、Cでの事象の発生がAにおいて検知されるまでに要する時間はT4であり、Bにおいて検知されるまでに要する時間はT6である。また例えば、Dでの事象の発生がAにおいて検知されるまでに要する時間はT5であり、Bにおいて検知されるまでに要する時間はT2である。
ここで、検知順序に着目すると、AではCでの事象の発生を検知した後にDでの事象の発生を検知することになり、BではDでの事象の発生を検知した後にCでの事象の発生を検知することになる。つまり、AとBとの間では、Cでの事象の発生とDでの事象の発生の検知順序が逆順になっており、一致しない。このようなズレが、複数のゲーム装置の間でゲームの進行に矛盾が生じる原因となる。
これに対し、本実施形態では、ゲームクライアントからのゲーム情報は必ずエコーサーバへ送信され、エコーサーバは受信したゲーム情報を受信した順序で同一グループに属する全てのゲームクライアントへ送信する。例えば、ゲーム装置A1およびB1がそれぞれゲーム情報をエコーサーバへ送信した場合、エコーサーバは、これらのゲーム情報を受信した順序でゲーム装置A1、A2、B1およびB2へ送信する。したがって、ゲーム装置A2におけるゲーム情報の受信順序とゲーム装置B2におけるゲーム情報の受信順序は必ず一致する。よって、ゲーム装置5間においてゲームの進行に矛盾が生じ難いのである。
[5−4.ゲームクライアントによる各種処理]
次に、ゲーム処理においてゲームクライアントが行う各種処理について具体的に説明する。なお、以降の説明では、図7に示すように、ゲーム装置A1、A2、B1およびB2がグループ化されており、ゲーム装置A1がエコーサーバとして機能するものとする。また、以下に述べる各種処理はゲーム装置5のCPU511により並列に実行されるものであり、ゲームクライアントもエコーサーバと並列に動作する。
[5−4−1.位置情報生成管理処理]
図9は自己のキャラクタの位置を示す位置情報を生成して管理する位置情報生成管理処理の流れを示すフローチャートである。位置情報生成管理処理では、まず、自己のキャラクタの基準ポイントおよびオフセットとして初期値を設定する(SA1)。基準ポイントとは、仮想空間におけるキャラクタの移動の基準となる点である。基準ポイントは仮想空間内に複数設定されており、X、Y、Zの座標で特定される。なお、仮想空間をX軸、Y軸およびZ軸に沿って格子状に分割したときの各格子点を基準ポイントとして設定してもよい。具体的には、ゲーム装置5のROM512に、基準ポイント毎に当該基準ポイントの識別子(例えば「P001」)と当該基準ポイントの座標(基準位置)が対応付けて記憶されている。なお、ROM512には、仮想空間における物体の配置を示すマップ情報も記憶されている。
オフセットとは、基準ポイントの座標からの変移量を示すものであり、その初期値はX軸、Y軸、Z軸のいずれの方向においてもゼロである。これに対して、自己のキャラクタの基準ポイントの初期値はゲームクライアント毎に異なっている。この初期値の定め方は任意であり、例えば、グループ化処理において定めるようにしてもよい。
次に、自己のキャラクタの基準ポイントおよびオフセットに基づいて、自己のキャラクタの位置を特定する(SA2)。キャラクタの位置は仮想空間における座標で表され、当該キャラクタの基準ポイントの座標に当該キャラクタのオフセットを加えることによって特定される。次に、特定した位置を示す位置情報を生成し、この位置情報をRAM513上の所定領域に書き込むことによって自己のキャラクタの位置情報を更新する(SA3)。
次に、自己のキャラクタの位置を変化させるためのプレイヤーの操作に応じた信号を検知したか否かを判定する(SA4)。この判定の結果が「NO」の場合には、当該信号が出力されるまで当該判定を繰り返す。この判定の結果が「YES」の場合には、当該信号に基づいてオフセットを更新する(SA5)。この更新は、具体的には、以下に列挙するように行われる。
位置センサ543からの低い受光レベルを示す信号を検知した場合には、自己のプレイヤーが体を後方に傾けていると判断し、自己のキャラクタの位置が当該キャラクタの後方に所定量だけ遷移するようにオフセットを更新する。また、位置センサ544からの低い受光レベルを示す信号を検知した場合には、自己のプレイヤーが体を左側に傾けていると判断し、自己のキャラクタの位置が当該キャラクタの左方向に所定量だけ遷移するようにオフセットを更新する。また、位置センサ545からの低い受光レベルを示す信号を検知した場合には、自己のプレイヤーが体を右側に傾けていると判断し、自己のキャラクタの位置が当該キャラクタの右方向に所定量だけ遷移するようにオフセットを更新する。
次に、オフセットが所定の閾値を超えたか否かを判定する(SA6)。この閾値は、自己のキャラクタが基準ポイントの変更を伴わずに隣接する基準ポイントまで移動することを防止するために設定されており、この閾値および基準ポイントは、キャラクタのオフセットが当該閾値を超えた場合には当該キャラクタの基準ポイントよりも当該キャラクタの近くに他の基準ポイントが必ず存在するように定められている。この判定の結果が「NO」の場合、ステップSA2の処理に戻る。逆に「YES」の場合、自己のキャラクタの基準ポイントを変更するポイント間移動処理を行う。
[5−4−2.ポイント間移動処理]
図10はポイント間移動処理の流れを示すフローチャートである。
ポイント間移動処理では、まず、新たな基準ポイントを特定する(SB1)。具体的には、自己のキャラクタの基準ポイントおよびオフセットに基づいて、自己のキャラクタの位置を特定し、この位置に最も近い基準ポイントを新たな基準ポイントとして特定する。次に、特定した基準ポイントを自己のキャラクタの基準ポイントとし、オフセットを初期化する(SB2)。次に、自己の基準ポイントの識別子をエコーサーバ(ゲーム装置A1)へ送信する(SB3)。以降、図9の位置情報生成管理処理に戻り、さらにステップSA2の処理に戻る。
ステップSB3で送信された識別子はエコーサーバにより受信され、送信元のゲーム装置5の通信アドレスとともに、ゲーム情報として、同一グループに属する全てのゲームクライアント(ゲーム装置A1、A2、B1およびB2)へ送信される。このゲーム情報は各ゲームクライアントに受信される。そして、他のゲームクライアントは、受信したゲーム情報に含まれている識別子に応じた基準ポイントの座標を示す位置情報を、当該ゲーム情報に含まれている通信アドレスを有するゲーム装置5に属するキャラクタの位置情報として記憶する。
[5−4−3.向き情報生成管理処理]
図11は自己のキャラクタの向きを示す向き情報を生成して管理する向き情報生成管理処理の流れを示すフローチャートである。向き情報生成管理処理では、まず、自己のキャラクタの向き情報として初期値を設定する(SC1)。具体的には、この初期値を自己のキャラクタの向き情報としてRAM513に書き込む。この初期値およびその定め方は任意である。
次に、自己のキャラクタの向きを変化させるためのプレイヤーの操作に応じた信号を検知したか否か、具体的にはオプション信号OP1を検知したか否かを判定する(SC2)。この判定の結果が「NO」の場合には、当該信号が出力されるまで当該判定を繰り返す。この判定の結果が「YES」の場合には、当該信号に基づいて向き情報を更新する(SC3)。以降、ステップSC2に戻る。
上記の更新では、以下に場合分けして示す処理を行う。
注目キャラクタが設定されていない場合には、他のキャラクタのいずれか1つを注目キャラクタとし、この注目キャラクタが自己のキャラクタの正面に位置するように自己のキャラクタの向き情報を更新する。
注目キャラクタが設定されている場合には、この注目キャラクタを除く他のキャラクタからいずれか1つを選択して注目キャラクタとし、この注目キャラクタが自己のキャラクタの正面に位置するように自己のキャラクタの向き情報を更新する。ただし、注目キャラクタが設定されており、かつ他のキャラクタの数が1の場合には、上記の選択を行われず、この注目キャラクタが自己のキャラクタの正面に位置するように自己のキャラクタの向き情報を更新する。
[5−4−4.姿勢情報生成管理処理]
図12は自己のキャラクタの姿勢を示す姿勢情報を生成して管理する姿勢情報生成管理処理の流れを示すフローチャートである。姿勢情報生成管理処理では、まず、自己のキャラクタの姿勢情報として初期値を設定する(SD1)。具体的には、この初期値を自己のキャラクタの姿勢情報としてRAM513に書き込む。この初期値として、本実施形態ではキャラクタが立っている状態を示す値が予め定められているが、初期値およびその定め方として他のものを用いるようにしてもよい。
次に、自己のキャラクタの姿勢を変化させるためのプレイヤーの操作に応じた信号を検知したか否か、具体的にはオプション信号OP2を検知したか否かを判定する(SD2)。この判定の結果が「NO」の場合には、当該信号が出力されるまで当該判定を繰り返す。この判定の結果が「YES」の場合には、当該信号に基づいて姿勢情報を更新する(SD3)。以降、ステップSD2に戻る。上記の更新では、具体的には、自己のキャラクタの姿勢情報が立位を示すものの場合には座位を示すように当該姿勢情報を更新し、座位を示すものの場合には、立位を示すように当該姿勢情報を更新する。
[5−4−5.仮想空間と画面との関係]
ここで、他の処理の説明に先立って、仮想空間と画面との関係について説明する。
画面に表示されるゲームの画像は、仮想空間内の物体を視点座標系の投影面に透視投影して得られる。この投影面の仮想空間における配置は、自己のキャラクタの視点の位置と向きに応じて定まる。自己のキャラクタの視点の位置は自己のキャラクタの位置、姿勢および身長(または座高)から求めることができるから、自己のキャラクタの位置、向き、姿勢および身長(または座高)が定まれば投影面の配置も定まることになる。
また、投影面は長方形であり、その縦横比は画面の縦横比と一致する。また、投影面は、その中心点で自己のキャラクタの視点の位置から当該キャラクタの向きに伸びる線と直交し、この交点と視点の位置との間の距離が所定の長さとなり、画面の鉛直方向に延びる辺に対応する辺が当該キャラクタの位置と視点の位置とを結ぶ直線に平行となるように配置される。上記の所定の長さは、キャラクタが視点の前方に視線に沿って腕を伸ばしてガンユニットを構えたときに銃口が投影面の中心点に位置するように定められている。
仮想空間と画面は上述した関係にあるため、画面上の位置が定まれば投影面上の位置が定まり、ひいては仮想空間における位置が定まる。以下に述べる処理は、このような関係を利用して行われる。
[5−4−6.弾道情報生成処理]
図13は自己のキャラクタが発射した弾の弾道情報を生成して管理する弾道情報生成管理処理の流れを示すフローチャートである。弾道情報生成管理処理では、まず、自己のキャラクタに弾を発射させるためのプレイヤーの操作に応じた信号を検知したか否か、具体的にはトリガ信号TG1を検知したか否かを判定する(SE1)。この判定の結果が「NO」の場合には、当該信号が出力されるまで当該判定を繰り返す。この判定の結果が「YES」の場合には、自己のキャラクタが弾を発射したと判断し、弾道計算を行う。
弾道計算では、まず、当該弾について照準位置を特定する(SE2)。照準位置の特定方法は前述の通りである(図4参照)。次に、当該弾の発射位置および着弾位置を特定する(SE3)。発射位置は弾が発射された仮想空間内の位置であり、投影面の中心点の位置そのものである。投影面の配置は後述の画像生成処理において最新のものが求められるから、このステップでは、画像生成処理において求められた最新の投影面の配置に基づいて当該投影面の中心点を求める。着弾位置は弾が到達する仮想空間内の位置であり、このステップでは、上記の最新の投影面の配置と照準位置とに基づいて着弾位置を求める。
次に、発射位置および着弾位置に基づいて弾道情報を生成し、自己のキャラクタの弾道情報としてRAM513に記憶させる(SE4)。生成される弾道情報は、発射位置から直進して着弾位置を通る弾道を示す。こうして弾道計算が終わる。なお、弾道情報の表現形式は任意であり、例えば、経過時間のように時々刻々と過ぎ行く変量を引数とした関数を示すものであってもよい。
次に、生成した弾道情報をエコーサーバ(ゲーム装置A1)へ送信し(SE5)、弾道情報が示す弾道が命中範囲内に達するキャラクタが存在するか否かを判定する(SE6)。この判定結果が「NO」の場合にはステップSE1に戻る。逆に「YES」の場合には、該当するキャラクタを揺れるキャラクタとする(SE7)。具体的には、該当するキャラクタの位置情報に対応付けて不確定位置情報をRAM513に書き込む。不確定位置情報は仮想空間内の位置を示す情報であり、命中範囲の中心点とした場合に当該命中範囲を当該弾道が横切ることのない位置であって当該キャラクタの位置に最も近い位置を示す。以降、処理はステップSE1に戻る。
なお、ステップSE5で送信された弾道情報はエコーサーバにより受信され、送信元のゲーム装置5の通信アドレスとともに、ゲーム情報として、同一グループに属する全てのゲームクライアント(ゲーム装置A1、A2、B1およびB2)へ送信される。このゲーム情報は各ゲームクライアントに受信される。そして、他のゲームクライアントは、受信したゲーム情報に含まれている弾道情報を、当該ゲーム情報に含まれている通信アドレスのゲーム装置5に属するキャラクタの弾道情報としてRAM513に記憶させる。
[5−4−7.命中判定処理]
図14は命中判定処理の流れを示すフローチャートである。命中判定処理では、まず、自己のキャラクタの位置情報を用いて命中範囲を特定する(SF1)。命中範囲は自己のキャラクタの位置を中心とする所定範囲であり、命中判定の基準となる。次に、直前に命中範囲を特定してから未使用の弾情報がRAM513に記憶されているか否かを判定する(SF2)。この判定結果が「NO」であれば、ステップSF1に戻る。
ステップSF2の判定結果が「YES」の場合、未使用の弾道情報の1つを選択し(SF3)、この弾道情報を用いて弾の位置を特定し(SF4)、当該弾が命中範囲内に位置するか否かを判定する(SF5)。この判定結果が「NO」の場合、この弾が自己のキャラクタに命中しないことが確定したか否かを判定する(SF6)。この判定は、例えば、自己のキャラクタの位置と弾の位置との距離が増大傾向にあるか否かを調べることにより行われる。
この判定の結果が「NO」の場合にはステップSF2に戻り、「YES」の場合には、弾が自己のキャラクタに命中しなかった場合の処理である外れ処理を行い(SF7)、その後にステップSF2に戻る。外れ処理では、当該弾が自己のキャラクタに命中しなかった旨の結果情報をエコーサーバ(ゲーム装置A1)へ送信し、当該弾情報をRAM513から削除する。
ステップSF5の判定結果が「YES」の場合、自己のキャラクタが被弾した場合の処理である被弾処理を行う(SF8)。被弾処理では、被弾フラグをオンにし、当該弾道情報に係る他のキャラクタが発射した弾が自己のキャラクタに命中した旨の結果情報をエコーサーバ(ゲーム装置A1)送信し、当該弾道情報をRAM513から削除する。
なお、命中判定処理において送信された結果情報は、エコーサーバにより受信され、送信元のゲーム装置5の通信アドレスとともに、ゲーム情報として、同一グループに属する全てのゲームクライアント(ゲーム装置A1、A2、B1およびB2)へ送信される。なお、RAM513に記憶されている全ての弾道情報は、RAM513に書き込まれてから所定の時間が経過すると削除される。これにより、例えば、仮想空間内の空に向けて発射された弾の弾道情報がいつまでも残る事態を回避することができる。
[5−4−8.画像生成処理]
図15は画面に表示するゲームの画像を生成する画像生成処理の流れを示すフローチャートである。画像生成処理では、まず、他のキャラクタの位置情報および被弾フラグに初期値を設定する(SG1)。被弾フラグの初期値はオフであり、他のキャラクタの位置情報の初期値は他のゲーム装置5における自己のキャラクタの位置情報の初期値と矛盾しないように定められている。
次に、自己のキャラクタが発射した弾が、揺れるキャラクタの揺れ開始範囲内に入ったか否かを判定する(SG2)。揺れ開始範囲は、当該キャラクタを仮想空間内で揺らす揺動処理を開始するか否かの基準となる仮想空間内の所定の範囲であり、当該キャラクタの位置を中心として命中範囲を含んで広がる。この判定結果が「NO」の場合にはステップSG4へ進み、「YES」の場合には、揺動処理を開始し(SG3)、その後にステップSG4へ進む。
揺動処理では、当該キャラクタの位置情報が示す位置と当該キャラクタの不確定位置情報が示す位置との間で当該キャラクタが揺れるように、画像生成処理において行われる当該キャラクタの配置を制御する。
ステップSG4では、自己のキャラクタが発射した弾が揺れているキャラクタに命中しなかった旨の結果情報を受信したか否かを判定する。この結果情報は、揺れているキャラクタを自己のキャラクタとするゲームクライアントからエコーサーバ経由で渡されうる。この判定結果が「NO」の場合にはステップSG6へ進み、「YES」の場合には、揺動処理を終了し(SG5)、その後にステップSG4へ進む。
ステップSG6では、弾がキャラクタに命中した旨の結果情報を受信したか否かを判定する。この結果情報は、当該キャラクタを自己のキャラクタとするゲームクライアントからエコーサーバ経由で渡されうる。この判定結果が「NO」の場合にはステップSG8へ進み、「YES」の場合には、弾が他のキャラクタに命中した場合の処理である命中処理を開始し(SG7)、その後にステップSG8へ進む。
命中処理では、弾が命中したキャラクタが倒れるように、画像生成処理において行われる当該キャラクタの配置を制御する。また、命中処理では、他のキャラクタの全てが倒れると、自己のキャラクタが生き残ったことを示す画像を画面に表示し、ゲームを終了することを示す終了情報を送信し、ゲームクライアント(およびエコーサーバ)を終了させる。こうしてゲーム処理および中継処理が終了する。
ステップSG8では、画面に表示させるゲームの画像を生成する。この生成では、まず、自己のキャラクタの位置情報、姿勢情報および向き情報、他のキャラクタの位置情報、弾道情報、およびマップ情報に基づいて、キャラクタおよび弾を仮想空間内に配置する。この配置では、揺動処理による制御を優先する。次に、自己のキャラクタの位置情報、姿勢情報、向き情報および身長(または座高)を用いて前述の投影面の配置を特定し、この投影面に仮想空間内の物体を透視投影してゲームの画像を得る。
ステップSG8で得られた画像は、表示装置52の画面に表示される。この際、揺動処理により配置が制御されている他のキャラクタが存在する場合には、当該他のキャラクタが揺れている画像が画面に表示されることになる。図16に他のキャラクタが揺れる画面の例を示す。この例では、弾650が着弾する前に、他のキャラクタ610が所定範囲600の中で揺れる画像が表示される。この画像から弾650が他のキャラクタ610に命中したか否かを読み取るのは困難であるから、プレイヤーは予断しなくなる。予断しないのであれば、予断と実際の判定結果との間に矛盾が生じることもないから、弾650が他のキャラクタ610に命中したことや命中しなかったことが後に判明しても、プレイヤーが覚える違和感は、予断と判定結果とが矛盾する場合に比較して遥かに小さくなる。
次に、被弾フラグがオンであるか否かを判定する(SG9)。この判定が「NO」の場合にはステップSG2に戻り、「YES」の場合には、自己のキャラクタが被弾した場合の処理である被弾表示処理を開始し(SG10)、その後にステップSG11へ進む。被弾表示処理では、自己のキャラクタが被弾したことを示す画像を所定の時間にわたって画面に表示する。一方、被弾しなかった場合には、例えば、図16の下部に示すように着弾が他のキャラクタからはずれる位置となるように画像を表示する。
ステップSG11では、終了情報を受信したか否かを判定し、この判定結果が「NO」であればステップSG11に戻る。すなわち、自己のキャラクタが被弾した場合には、終了情報を受信するまで待機する。ステップS11の判定結果が「YES」であれば、ゲームクライアント(およびエコーサーバ)を終了させる終了処理を行う(SG12)。こうして、ゲーム処理および中継処理が終了する。
[6.総括]
上述したように、ゲームシステム100では、ゲームクライアントは、プレイヤーがガンユニット56を操作して自己のキャラクタから他のキャラクタに向けて弾を発射させると弾道情報を生成し、エコーサーバに送信する。また、エコーサーバから弾道情報を受信すると、自己のキャラクタの位置情報と受信した弾道情報に基づいて命中か否かの判定結果を示す情報を生成する。また、他のキャラクタに向けて弾を発射するようにガンユニット56が操作されると、この操作の信号を検知してから他のゲーム装置5から結果情報を取得するまでの期間において、より詳しくは、この弾が他のキャラクタの揺れ開始範囲に入ってから他のゲーム装置5から結果情報を取得するまでの期間において、他のキャラクタに弾が命中したか否かが不確定となる画像、具体的にはキャラクタが揺れる画像を表示装置52に表示させる。
よって、本実施形態によれば、通信遅延に起因して生じる、画面では命中したように見えたのに実際には命中していなかったという違和感(矛盾)や、画面では命中しなかったように見えたのに実際には命中していたという違和感(矛盾)を低減(回避)することができる。
また、本実施形態によれば、キャラクタの移動に関して複数のゲーム装置5間で送受信される情報は、基準ポイント間の移動があった場合にのみ送信される。したがって、キャラクタの少しの動きに対応して位置情報を送信する態様に比較して通信量を大幅に削減することができる。また、送信されるのは基準ポイントの識別子のみであるから、より一層、通信量を削減することができる。
また、本実施形態において、基準ポイントは相互に十分に離間するように設定されている。したがって、自己のキャラクタと他のキャラクタとの間に、ある程度の距離を確保し易い。よって、他のキャラクタが揺れる画像が画面いっぱいに広がってプレイヤーに違和感を与える可能性を低く抑えることができる。なお、このような可能性を低く抑える他の方法としては、自己のキャラクタと他のキャラクタとの距離に応じて処理を分ける方法が挙げられる。すなわち、自己のキャラクタと他のキャラクタとの距離が所定の距離以下であれば、当該他のキャラクタについて揺動処理を行わない、というものである。
また、前述したように、ゲームシステム100では、ゲームクライアントは、プレイヤーがガンユニット56を操作して自己のキャラクタから他のキャラクタに向けて弾を発射させると弾道情報を生成し、エコーサーバに送信する。また、エコーサーバから弾道情報を受信すると、自己のキャラクタの位置情報と受信した弾道情報に基づいて命中か否かの判定結果を示す情報を生成する。当該ゲーム装置5がエコーサーバに指定されている場合、当該ゲーム装置5で生成したゲーム情報と他のゲーム装置から受信したゲーム情報を受信した順序で他のゲーム装置5に送信する。
よって、本実施形態によれば、エコーサーバによってゲーム情報の時系列が確定されるから、通信遅延に起因して生じるゲームの進行上の矛盾を回避することができる。また、自己のキャラクタの動作は、それが属するゲーム装置5では直ちに画面に反映されるので、サーバ装置で全ての処理を実行する場合と比較して、操作が画像に反映される時間を大幅に短縮することができる。
また、命中判定に代表される、ゲームの進行に係る各種の判定は、ゲームクライアントによって行われる。したがって、ゲームの進行に係る各種の判定を中継装置が行う態様に比べて、エコーサーバとして機能する装置にかかる負荷を低減することができる。このことは、他のゲーム装置と通信してゲームを行っている最中に当該通信が途絶した場合に個々のゲーム装置において制約付きでありながらもシームレスに当該ゲームを継続するシステムを構築し易いことをも意味する。
また、マスターとなるゲーム装置が固定されていないマスター/スレーブ方式のゲームシステムでは、ゲーム装置のプログラムとして、マスター用のプログラムとスレーブ用のプログラムを作成しなければならい。これに対して、本実施形態では、ゲーム装置のプログラムとして作成すべきはプログラムPのみである。つまり、ゲームシステム100は、その開発が容易である。
[7.変形例]
上述した実施形態では、ゲーム装置5の通信アドレスをゲーム装置5の識別子として用いているが、これを変形し、プレイヤーが所持するカードに固有のIDを書き込んでおき、ゲーム装置がこのカードからIDを読み取って当該ゲーム装置の識別子として用いるようにしてもよい。
また、上述した実施形態では、ゲーム装置5のグループ化にロビーサーバ1およびエントリーリストELを用いているが、これに限るものではない。例えば、予めグループ化されている所定数のゲーム装置の間でゲームを行うゲームシステムとしてもよい。
また、キャラクタの動作や、キャラクタを動作させるための操作を入力する手段は、上述したものに限定されない。例えば、キャラクタを跳躍させるボタンをゲーム装置に設け、このボタンが押されたら自己のキャラクタを跳躍させるようにしてもよいし、加速度センサを設け、このセンサを用いてプレイヤーの動きの勢いを検出し、検出した勢いに応じて自己のキャラクタを動作させるようにしてもよい。
また、上述した実施形態では、ゲーム装置5をエコーサーバとして機能させているが、これを変形し、ゲーム装置以外の装置をエコーサーバとして機能させてもよい。例えば、図1の店舗A内のゲーム装置5が参加するグループに係るエコーサーバとして店舗A内のルータ4を機能させてもよい。さらに、このルータ4において複数のエコーサーバを起動できるようにしてもよい。この態様では、例えば、ゲーム装置A1およびB1が第1のグループに参加し、ゲーム装置A2およびB2が第2のグループに参加しているときに、店舗Aのルータ4を第1のグループに係るエコーサーバとして機能させる一方、第2のグループに係るエコーサーバとして機能させることができる。
本発明の一実施形態に係るゲームシステム100の全体構成を示す図である。 ゲームシステム100を構成するゲーム装置5の外観を示す斜視図である。 ゲーム装置5の電気的構成を示すブロック図である。 ゲーム装置5における照準位置の特定方法を説明するための図である。 ロビーサーバ1の電気的構成を示す図である。 ゲームシステム100のグループ化処理における動作例を示すシーケンス図である。 ゲーム装置5、ゲームクライアントおよびエコーサーバの関係を説明するための図である。 複数のゲーム装置がエコーサーバを介さずに対等に通信を行うシステムにおいてゲームの進行に生じる矛盾を説明するための図である。 ゲーム装置5の位置情報生成管理処理を示すフローチャートである。 ゲーム装置5のポイント間移動処理を示すフローチャートである。 ゲーム装置5の向き情報生成管理処理を示すフローチャートである。 ゲーム装置5の姿勢情報生成管理処理を示すフローチャートである。 ゲーム装置5の弾道情報生成管理処理を示すフローチャートである。 ゲーム装置5の命中判定処理を示すフローチャートである。 ゲーム装置5の画像生成処理を示すフローチャートである。 ゲーム装置5の画面の例を示す図である。
符号の説明
1 ロビーサーバ
100 ゲームシステム
2,4 ルータ、
5,A1,A2,B1,B2 ゲーム装置
511 CPU
512 ROM
513 RAM
514 通信インターフェース
53 表示装置
543 位置センサ
544 位置センサ
545 位置センサ
546 フットペダル
56 ガンユニット
561 トリガ
562 オプションボタン
563 オプションボタン
564 トリガセンサ
565 オプションボタンセンサ
566 オプションボタンセンサ
567 光センサ
P プログラム

Claims (6)

  1. 複数のゲーム装置と、前記ゲーム装置からゲームへ参加する旨の参加要求を受信して、所定数のゲーム装置を一つのゲームに参加するゲーム装置としてグループ化し、前記所定数のゲーム装置のうち一つのゲーム装置を特定ゲーム装置として特定するサーバ装置とを備え、仮想空間内に配置された複数のキャラクタを複数のプレイヤーが各々操作するゲームを前記所定数のゲーム装置の間で実行可能なゲームシステムであって、
    前記複数のゲーム装置の各々は、
    通信を行う通信手段と、
    ゲームの画像を表示する表示手段と、
    プレイヤーの操作に応じた操作信号を出力する入力手段と、
    当該ゲーム装置が前記所定数のゲーム装置に属する場合には、前記入力手段から自己のキャラクタを動作させる操作信号が出力されると当該操作信号に基づいて自己のキャラクタの動作を指定するゲーム情報を生成する一方、生成した最新のゲーム情報及び記憶された最新のゲーム情報に基づいて前記仮想空間における前記自己のキャラクタと他のキャラクタの動作に応じた画像を生成して前記表示手段に表示させる処理を繰り返し行う処理手段と、
    当該ゲーム装置が、前記所定数のゲーム装置に属しており、前記特定ゲーム装置でない場合には、前記特定ゲーム装置から前記通信手段を用いて取得したゲーム情報を記憶し、前記処理手段に生成されたゲーム情報を前記特定ゲーム装置へ前記通信手段を用いて送信し、前記特定ゲーム装置である場合には、当該所定数のゲーム装置のうち当該ゲーム装置を除いた他のゲーム装置から前記通信手段を用いて取得したゲーム情報と、当該ゲーム装置の前記処理手段に生成されたゲーム情報とを、取得した順序で、前記他のゲーム装置の一部又は全部へ前記通信手段を用いて送信するとともに記憶する送信手段とを備える、
    ことを特徴とするゲームシステム。
  2. 前記複数のゲーム装置の各々の前記送信手段は、当該ゲーム装置が、前記特定ゲーム装置である場合には、前記他のゲーム装置から取得したゲーム情報を、取得した順序で、前記他のゲーム装置から送信元のゲーム装置を除いたゲーム装置へ送信することを特徴とする請求項1に記載のゲームシステム。
  3. 前記処理手段は、
    前記操作信号に基づいて前記仮想空間内における前記自己のキャラクタの位置を示す位置情報を生成して管理する位置情報管理手段と、
    前記仮想空間に設定した複数の基準位置と前記複数の基準位置の各々を指定する指定情報とを対応付けて記憶する記憶手段と、
    前記自己のキャラクタの位置が前記基準位置を中心とする所定範囲を超えると、前記キャラクタの位置を隣接する他の前記基準位置に移動させ、前記基準位置の間の移動が起こると、前記記憶手段を参照して移動先の前記基準位置に対応する前記指定情報を取得して前記送信手段に供給する移動手段と、
    前記自己のキャラクタの位置を示す位置情報を生成し、当該位置情報によって指定される位置からの視点の画像を前記表示手段に表示させる処理と、前記通信手段を用いて前記他のキャラクタの前記指定情報を前記ゲーム情報として受信すると、前記記憶手段を参照して当該指定情報の指定する前記基準位置に位置する前記他のキャラクタの画像を前記表示手段に表示させる処理とを実行する表示制御手段と、
    を備えることを特徴とする請求項1または2に記載のゲームシステム。
  4. 複数のゲーム装置と、前記ゲーム装置からゲームへ参加する旨の参加要求を受信して、所定数のゲーム装置を一つのゲームに参加するゲーム装置としてグループ化し、前記所定数のゲーム装置のうち一つのゲーム装置を特定ゲーム装置として特定するサーバ装置とを備え、仮想空間内に配置された複数のキャラクタを複数のプレイヤーが各々操作するゲームを前記所定数のゲーム装置の間で実行可能なゲームシステムを構成する前記ゲーム装置であって、
    通信を行う通信手段と、
    ゲームの画像を表示する表示手段と、
    プレイヤーの操作に応じた操作信号を出力する入力手段と、
    当該ゲーム装置が前記所定数のゲーム装置に属する場合には、前記入力手段から自己のキャラクタを動作させる操作信号が出力されると当該操作信号に基づいて自己のキャラクタの動作を指定するゲーム情報を生成する一方、生成した最新のゲーム情報及び記憶された最新のゲーム情報に基づいて前記仮想空間における前記自己のキャラクタと他のキャラクタの動作に応じた画像を生成して前記表示手段に表示させる処理を繰り返し行う処理手段と、
    当該ゲーム装置が、前記所定数のゲーム装置に属しており、前記特定ゲーム装置でない場合には、前記特定ゲーム装置から前記通信手段を用いて取得したゲーム情報を記憶し、前記処理手段に生成されたゲーム情報を前記特定ゲーム装置へ前記通信手段を用いて送信し、前記特定ゲーム装置である場合には、当該所定数のゲーム装置のうち当該ゲーム装置を除いた他のゲーム装置から前記通信手段を用いて取得したゲーム情報と、当該ゲーム装置の前記処理手段に生成されたゲーム情報とを、取得した順序で、前記他のゲーム装置の一部又は全部へ前記通信手段を用いて送信するとともに記憶する送信手段とを備える、
    ことを特徴とするゲーム装置。
  5. 複数のゲーム装置と、前記ゲーム装置からゲームへ参加する旨の参加要求を受信して、所定数のゲーム装置を一つのゲームに参加するゲーム装置としてグループ化し、前記所定数のゲーム装置のうち一つのゲーム装置を特定ゲーム装置として特定するサーバ装置とを備え、仮想空間内に配置された複数のキャラクタを複数のプレイヤーが各々操作するゲームを前記所定数のゲーム装置の間で実行可能なゲームシステムを構成し、通信を行う通信手段と、ゲームの画像を表示する表示手段と、プレイヤーの操作に応じた操作信号を出力する入力手段とを備えたゲーム装置を、
    当該ゲーム装置が前記所定数のゲーム装置に属する場合には、前記入力手段から自己のキャラクタを動作させる操作信号が出力されると当該操作信号に基づいて自己のキャラクタの動作を指定するゲーム情報を生成する一方、生成した最新のゲーム情報及び記憶された最新のゲーム情報に基づいて前記仮想空間における前記自己のキャラクタと他のキャラクタの動作に応じた画像を生成して前記表示手段に表示させる処理を繰り返し行う処理手段と、
    当該ゲーム装置が、前記所定数のゲーム装置に属しており、前記特定ゲーム装置でない場合には、前記特定ゲーム装置から前記通信手段を用いて取得したゲーム情報を記憶し、前記処理手段に生成されたゲーム情報を前記特定ゲーム装置へ前記通信手段を用いて送信し、前記特定ゲーム装置である場合には、当該所定数のゲーム装置のうち当該ゲーム装置を除いた他のゲーム装置から前記通信手段を用いて取得したゲーム情報と、当該ゲーム装置の前記処理手段に生成されたゲーム情報とを、取得した順序で、前記他のゲーム装置の一部又は全部へ前記通信手段を用いて送信するとともに記憶する送信手段
    として機能させるためのプログラム。
  6. 複数のゲーム装置と、前記ゲーム装置からゲームへ参加する旨の参加要求を受信して、所定数のゲーム装置を一つのゲームに参加するゲーム装置としてグループ化し、前記所定数のゲーム装置のうち一つのゲーム装置を特定ゲーム装置として特定するサーバ装置とを備え、前記複数のゲーム装置の各々は、通信を行う通信手段と、ゲームの画像を表示する表示手段と、プレイヤーの操作に応じた操作信号を出力する入力手段とを有し、仮想空間内に配置された複数のキャラクタを複数のプレイヤーが各々操作するゲームを前記所定数のゲーム装置の間で実行可能なゲームシステムの制御方法であって、
    前記所定数のゲーム装置の各々において、
    前記入力手段から自己のキャラクタを動作させる操作信号が出力されると当該操作信号に基づいて自己のキャラクタの動作を指定するゲーム情報を生成する一方、生成した最新のゲーム情報及び記憶された最新のゲーム情報に基づいて前記仮想空間における前記自己のキャラクタと他のキャラクタの動作に応じた画像を生成して前記表示手段に表示させる処理を繰り返し行うステップと、
    当該ゲーム装置が前記特定ゲーム装置でない場合には、前記特定ゲーム装置から前記通信手段を用いて取得したゲーム情報を記憶し、生成されたゲーム情報を前記特定ゲーム装置へ前記通信手段を用いて送信し、前記特定ゲーム装置である場合には、当該所定数のゲーム装置のうち当該ゲーム装置を除いた他のゲーム装置から前記通信手段を用いて取得したゲーム情報と、当該ゲーム装置の前記処理手段に生成されたゲーム情報とを、取得した順序で、前記他のゲーム装置の一部又は全部へ前記通信手段を用いて送信するとともに記憶するステップとを実行する、
    ことを特徴とするゲームシステムの制御方法。
JP2005188175A 2005-06-28 2005-06-28 ゲームシステム及びその制御方法、ゲーム装置、並びにプログラム Active JP4086862B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2005188175A JP4086862B2 (ja) 2005-06-28 2005-06-28 ゲームシステム及びその制御方法、ゲーム装置、並びにプログラム
US11/994,194 US8137198B2 (en) 2005-06-28 2006-06-27 Game system, method for controlling game system, game device therefor, and program therefor
EP06767402A EP1908504A4 (en) 2005-06-28 2006-06-27 GAME SYSTEM AND ITS CONTROL METHOD, GAME DEVICE AND PROGRAM
KR1020087002247A KR100978727B1 (ko) 2005-06-28 2006-06-27 게임 시스템 및 그 제어 방법, 게임 장치 및 기록 매체
PCT/JP2006/312785 WO2007000990A1 (ja) 2005-06-28 2006-06-27 ゲームシステム及びその制御方法、ゲーム装置、並びにプログラム
CN2006800238193A CN101213002B (zh) 2005-06-28 2006-06-27 游戏系统、控制游戏系统的方法、及其游戏装置
HK08110902.8A HK1119412A1 (en) 2005-06-28 2008-09-30 Game system, control method thereof, game device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005188175A JP4086862B2 (ja) 2005-06-28 2005-06-28 ゲームシステム及びその制御方法、ゲーム装置、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2007006954A JP2007006954A (ja) 2007-01-18
JP4086862B2 true JP4086862B2 (ja) 2008-05-14

Family

ID=37595240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005188175A Active JP4086862B2 (ja) 2005-06-28 2005-06-28 ゲームシステム及びその制御方法、ゲーム装置、並びにプログラム

Country Status (7)

Country Link
US (1) US8137198B2 (ja)
EP (1) EP1908504A4 (ja)
JP (1) JP4086862B2 (ja)
KR (1) KR100978727B1 (ja)
CN (1) CN101213002B (ja)
HK (1) HK1119412A1 (ja)
WO (1) WO2007000990A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8998828B2 (en) 2009-07-09 2015-04-07 Nike, Inc. Visualization testing and/or training
JP5254906B2 (ja) * 2009-08-27 2013-08-07 京セラ株式会社 電子機器
US20110151955A1 (en) * 2009-12-23 2011-06-23 Exent Technologies, Ltd. Multi-player augmented reality combat
JP2015192753A (ja) * 2014-03-31 2015-11-05 株式会社バンダイナムコエンターテインメント ゲーム装置及びプログラム
JP6944812B2 (ja) * 2017-05-24 2021-10-06 任天堂株式会社 情報処理システム、情報処理装置、情報処理プログラム、および、ゲーム処理方法
CN108043032A (zh) * 2017-12-29 2018-05-18 武汉艺术先生数码科技有限公司 基于ar的射击游戏系统
JP6473252B1 (ja) * 2018-02-27 2019-02-20 株式会社ドワンゴ ゲーム実行装置およびゲームプログラム
CN110166825B (zh) * 2018-11-15 2021-11-12 腾讯科技(深圳)有限公司 视频数据处理方法及装置、视频播放方法及装置
US11642589B2 (en) 2020-07-23 2023-05-09 Microsoft Technology Licensing, Llc Virtual-projectile delivery in an expansive environment
CN111773682B (zh) * 2020-08-04 2023-11-17 网易(杭州)网络有限公司 射击方向的提示方法、装置、电子设备和存储介质
CN112138374B (zh) * 2020-10-15 2023-03-28 腾讯科技(深圳)有限公司 虚拟对象属性值控制方法、计算机设备及存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09244984A (ja) 1996-03-08 1997-09-19 Nippon Telegr & Teleph Corp <Ntt> イベント順序補正方法
JP3747449B2 (ja) 1996-07-25 2006-02-22 株式会社セガ ゲームの処理方法、ゲーム装置、画像処理装置及び画像処理方法並びに記録媒体
JP3476689B2 (ja) 1998-10-02 2003-12-10 株式会社ネクステック ネットワークシステム
TW575447B (en) 2000-02-02 2004-02-11 Nextech Corp Network system processing method and network system
JP2001344372A (ja) * 2000-03-30 2001-12-14 Sega Corp オンライン組織化方法
JP4624531B2 (ja) 2000-09-18 2011-02-02 株式会社バンダイナムコゲームス ゲーム装置および情報記憶媒体
JP4092678B2 (ja) * 2000-12-01 2008-05-28 アイシン・エィ・ダブリュ株式会社 地図表示装置およびプログラム
US6907447B1 (en) * 2001-04-30 2005-06-14 Microsoft Corporation Method and apparatus for providing an instant message notification
JP4889887B2 (ja) 2001-08-06 2012-03-07 任天堂株式会社 通信麻雀ゲームシステム
JP2003053041A (ja) 2001-08-09 2003-02-25 Aruze Corp ネットカジノシステム及び当該システムのゲーム制御方法、当該方法が実行可能なプログラムを記憶した記憶媒体並びにサーバ
JP3998466B2 (ja) * 2001-12-13 2007-10-24 株式会社スクウェア・エニックス ネットワークゲームシステムおよびネットワークゲーム処理方法
JP3574106B2 (ja) 2001-12-14 2004-10-06 株式会社スクウェア・エニックス ネットワークゲームシステム、ゲームサーバ装置、ビデオゲーム装置、ネットワークゲームにおけるメッセージの送信方法及び表示制御方法、プログラム、並びに記録媒体
JP3732168B2 (ja) * 2001-12-18 2006-01-05 株式会社ソニー・コンピュータエンタテインメント 仮想世界におけるオブジェクトの表示装置、表示システム及び表示方法、ならびにそれらを利用可能な仮想世界における地価及び広告料の設定方法
JP2003281554A (ja) * 2002-03-22 2003-10-03 Yamaha Corp 描画装置及び方法
JP3977162B2 (ja) 2002-06-21 2007-09-19 株式会社バンダイナムコゲームス キャラクタ情報管理装置、プログラム及び情報記憶媒体
JP2004105671A (ja) * 2002-09-16 2004-04-08 Genki Kk 空間位置共有システム、データ共有システム、ネットワークゲームシステム及びネットワークゲーム用クライアント
JP3890591B2 (ja) 2002-10-11 2007-03-07 株式会社セガ ゲームシステム、ゲームシステムの制御方法及びゲーム機
JP2004136009A (ja) * 2002-10-21 2004-05-13 Nintendo Co Ltd 無線通信ゲームシステム
JP2004237003A (ja) 2003-02-10 2004-08-26 Namco Ltd ゲーム装置、ゲーム制御サーバ、ゲーム制御プログラムおよびそのプログラムが記録された記録媒体
WO2004075091A1 (en) * 2003-02-24 2004-09-02 Jon Labrie Massively multiplayer game method and system
JP3632963B2 (ja) * 2003-05-29 2005-03-30 コナミ株式会社 ネットワーク対戦型端末装置、方法及びプログラム
JP2005006913A (ja) * 2003-06-19 2005-01-13 Namco Ltd ゲーム装置、ゲーム制御プログラムおよびそのプログラムが記録された記録媒体
US7584248B2 (en) * 2004-02-27 2009-09-01 Alcatel-Lucent Usa Inc. Apparatus and method for fair message exchanges in distributed multi-player games
US7803054B1 (en) * 2004-03-31 2010-09-28 Microsoft Corporation Multi-vehicle cross-network coordination
US8241129B2 (en) * 2005-06-20 2012-08-14 Microsoft Corporation Setting up on-line game sessions out of a game context

Also Published As

Publication number Publication date
HK1119412A1 (en) 2009-03-06
JP2007006954A (ja) 2007-01-18
CN101213002A (zh) 2008-07-02
KR20080027370A (ko) 2008-03-26
WO2007000990A1 (ja) 2007-01-04
EP1908504A4 (en) 2009-07-29
US8137198B2 (en) 2012-03-20
CN101213002B (zh) 2011-05-04
US20090209336A1 (en) 2009-08-20
KR100978727B1 (ko) 2010-08-30
EP1908504A1 (en) 2008-04-09

Similar Documents

Publication Publication Date Title
JP4086862B2 (ja) ゲームシステム及びその制御方法、ゲーム装置、並びにプログラム
EP1585063B1 (en) Image generation device, image display method and program product
AU724033B2 (en) Video game system and video game memory medium
JP3602519B2 (ja) ビデオゲーム装置、画像処理方法及びプログラム
JPH08155140A (ja) ビデオゲーム装置及びその画像合成方法
JP4861699B2 (ja) ネットワークゲームシステム、ネットワークゲームシステムの制御方法、ゲーム装置、ゲーム装置の制御方法及びプログラム
KR101366444B1 (ko) 실시간 상호 연동 가능한 가상 사격 시스템
JPWO2015159561A1 (ja) 情報処理装置、情報処理システム、および情報処理方法
JP2011206442A (ja) ゲームシステム、プログラム及び情報記憶媒体
JP5184801B2 (ja) プログラム及びサーバ
JPH10333834A (ja) 情報記憶媒体及び画像生成装置
JP4047874B2 (ja) ゲームシステム及びその制御方法、ゲーム装置、並びにプログラム
JP4054037B2 (ja) シューティング型ゲーム機
KR101259067B1 (ko) 사격 게임 지원 시스템 및 방법
JP6178066B2 (ja) 情報処理装置、情報処理方法、プログラム及び情報記憶媒体
JP2007007064A (ja) ネットワークゲームシステム、ゲーム装置、ゲーム装置の制御方法及びプログラム
JP4412714B2 (ja) 配置情報検出システム、ゲームシステム、プログラム、情報記憶媒体及び配置情報検出システムの制御方法
JP2012020017A (ja) ゲームシステム、その制御方法及び、コンピュータプログラム
JP2022059453A (ja) ゲーム制御方法、プログラム、サーバ及び通信装置
JP4563267B2 (ja) ネットワークゲームシステム、ネットワークゲーム制御方法、ゲーム装置、ゲーム制御方法及びプログラム
JP4420933B2 (ja) 情報記憶媒体及び画像生成装置
JP2020110453A (ja) ゲームプログラム、方法、および情報処理装置
JP2006068267A (ja) ゲーム装置、ゲーム装置の制御方法及びプログラム
JP4861706B2 (ja) ネットワークゲームシステム、ネットワークゲームシステムの制御方法、ゲーム装置、ゲーム装置の制御方法及びプログラム
JP2005322143A (ja) プログラム、情報記憶媒体及び画像生成システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071022

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080121

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080219

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4086862

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110228

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120229

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130228

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140228

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250