JP2008036323A - 通信装置、通信システムおよびプログラム - Google Patents

通信装置、通信システムおよびプログラム Download PDF

Info

Publication number
JP2008036323A
JP2008036323A JP2006217931A JP2006217931A JP2008036323A JP 2008036323 A JP2008036323 A JP 2008036323A JP 2006217931 A JP2006217931 A JP 2006217931A JP 2006217931 A JP2006217931 A JP 2006217931A JP 2008036323 A JP2008036323 A JP 2008036323A
Authority
JP
Japan
Prior art keywords
data
communication
parent
communication device
game
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.)
Granted
Application number
JP2006217931A
Other languages
English (en)
Other versions
JP4116050B2 (ja
Inventor
Masahiko Yatsuka
政彦 八束
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 JP2006217931A priority Critical patent/JP4116050B2/ja
Application filed by Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to KR1020097004871A priority patent/KR101065578B1/ko
Priority to PCT/JP2007/065408 priority patent/WO2008018436A1/ja
Priority to EP07792077A priority patent/EP2050486A4/en
Priority to US12/375,962 priority patent/US8224992B2/en
Priority to CN2007800298396A priority patent/CN101500671B/zh
Publication of JP2008036323A publication Critical patent/JP2008036323A/ja
Application granted granted Critical
Publication of JP4116050B2 publication Critical patent/JP4116050B2/ja
Priority to HK09108834.4A priority patent/HK1130721A1/xx
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • 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/34Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using peer-to-peer connections
    • 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/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • 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
    • 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/404Features 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 characterized by a local network connection
    • 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/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/408Peer to peer connection
    • 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/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/51Server architecture
    • A63F2300/513Server architecture server hierarchy, e.g. local, regional, national or dedicated for different tasks, e.g. authenticating, billing
    • 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/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction

Abstract

【課題】3つ以上の通信装置から1つを選択して親とすることによって、多人数参加型のゲームに代表される共同作業の進行に影響する通信の遅延を小さくする。
【解決手段】ゲームシステム100は、多数のゲーム装置10を有する。ゲーム装置10は3つ1組でグループを構成し、各グループでは、1つが仮親となり、2つが仮子となる。グループを構成する各ゲーム装置10は、自己を基点とした他のゲーム装置10に対する応答時間の和を示す測定データを生成する。そして、最小の和を示す測定データを生成したゲーム装置10が親となり、残りのゲーム装置10が子となる。子は親を介して他の子と通信する。
【選択図】図1

Description

本発明は、通信装置、通信システムおよびプログラムに関する。
複数のゲーム装置がネットワーク経由でデータを送受信することによって多人数参加型のゲームを進行させるゲームシステムが普及している。上記のゲームは、参加者が各自の役割を果たすことにより進行する。上記のゲームシステムの一種として、同一のゲームの参加者のゲーム装置のうち、1つのゲーム装置が親(サーバ端末)となり、残りのゲーム装置が子(クライアント端末)となり、データの送受信が主に親と子との間で行われるゲームシステムがある。
このゲームシステムでは、同一のゲームの参加者のゲーム装置間でゲームの状態が共有される。共有されるゲームの状態としては、例えば、スコアや仮想空間において参加者が操作するオブジェクトの位置が挙げられる。通常、共有されるゲームの状態は、親のゲーム装置により決定される。このため、入力された指示に対する応答は、子よりも親で迅速となる。そこで、参加者の役割に複数の種類(例えば主役/端役)があるゲームを進行させる場合に、役割の種類に基づいて親となるゲーム装置を決定することにより、ゲームの進行の円滑化を図る技術が提案されている(特許文献1)。この技術では、入力された指示に対して最も迅速に応答する必要のある役割(例えば主役)を果たす参加者のゲーム装置が親となる。
特表2000−511667号公報
しかし、特許文献1の技術は、参加者の役割に複数の種類があるゲームに適用した場合にのみ所期の効果を奏するものであり、この技術を他のゲームに適用しても所期の効果を得ることはできない。そもそも、この技術では、参加者のゲーム装置のうち、直接的に通信したときの伝送遅延が小さい2つのゲーム装置が子となり、これらのゲーム装置の各々と直接的に通信したときの伝送遅延がいずれも大きいゲーム装置が親となる虞がある。このようなゲーム装置が親となった場合、主に行われる親子間でのデータの送受信における伝送遅延が大きいため、ゲームの進行に関する通信の遅延が大きくなってしまう。これは、ゲームの進行の円滑化の阻害やゲームの進行の信頼度の低下につながる。
そこで、本発明は、3つ以上の通信装置から1つを選択して親とすることによって、多人数参加型のゲームに代表される共同作業の進行に影響する通信の遅延を小さくすることができる通信装置、通信システムおよびプログラムを提供する。
以下、本発明について説明する。なお、本発明の理解を容易にするために添付図面の参照符号を括弧書きにて付記するが、それにより本発明が図示の形態に限定されるものではない。
本発明は、3つ以上の通信装置(10,50,70)がなすグループであって前記3つ以上の通信装置(10,50,70)のうち1つが仮親となるグループを他の通信装置(10,50,70)とともになす通信装置(10,50,70)であって、ネットワーク(1,25)との間で信号を送受する通信インターフェイス(17)と、前記通信インターフェイス(17)を用いてデータを送受信する送受信部(11)と、当該通信装置(10,50,70)を基点とした他の通信装置(10,50,70)の各々に対する応答時間を当該通信装置(10,50,70)の応答時間としたとき、前記送受信部(11)を用いて当該通信装置(10,50,70)の応答時間を測定し、測定した応答時間の和を示す測定データを生成する測定データ生成部(11)と、当該通信装置(10,50,70)が仮親であるか否かに応じて動作する仮親依存部(11)とを有し、前記仮親依存部(11)は、当該通信装置(10,50,70)が仮親でない場合には、前記測定データを仮親である他の通信装置(10,50,70)へ送信し、仮親である他の通信装置(10,50,70)から親である1つの通信装置(10,50,70)を示す決定データを受信し、当該通信装置(10,50,70)が仮親である場合には、前記測定データを自データとする一方で他の通信装置(10,50,70)から測定データを受信し、全ての測定データのうち最小の値を示す唯一のデータが前記自データである場合には、当該通信装置(10,50,70)を示す前記決定データを他の通信装置(10,50,70)の各々へ送信し、全ての測定データのうち最小の値を示す唯一のデータが前記自データでない場合には、当該唯一のデータの送信元である他の通信装置(10,50,70)を示す前記決定データを他の通信装置(10,50,70)の各々へ送信し、前記送受信部(11)は、特定のデータを送信するときには、当該送信を、当該通信装置(10,50,70)が親である場合には直接的な通信により行い、当該通信装置(10,50,70)が親でない場合には親である通信装置(10,50,70)を介した間接的な通信により行う、ことを特徴とする通信装置(10,50,70)を提供する。
ここで、「仮親」とは、1つのグループをなす3つ以上の通信装置の1つであり、他の通信装置の各々から測定データを収集する通信装置である。また、「親」とは、1つのグループをなす3つ以上の通信装置の1つであり、他の通信装置間の間接的な通信の際にデータが経由する通信装置である。親でない通信装置が「子」である。また、「特定のデータ」とは、親でない通信装置間での送受信を親である通信装置を介した間接的な通信により行うことが定められたデータである。
上記の通信装置を用いてゲームシステムを構成すれば、同一のグループをなす3つ以上の通信装置のうち、応答時間の和が最小の通信装置が親となるから、子から親を経由して他の子へ渡されるべきデータの伝送遅延(累積値)が最短となる。また、子から親を経由して当該子へ渡されるべきデータの伝送遅延を同一のグループをなす複数の子について平均化して得られる時間も最短となる。つまり、上記の通信装置によれば、共同作業の進行に影響する通信の遅延を小さくすることができる。
上記の通信装置(10,50,70)において、プレイヤーの操作に応じた操作信号を出力する入力部(14)と、前記操作信号に基づいて前記特定のデータを生成する特定データ生成部(11)と、前記送受信部(11)が受信した特定のデータに基づいてゲームを進行させる制御部(11)と、を有するようにしてもよい。つまり、通信装置はゲーム装置であってもよい。この場合、進行する共同作業は、例えば、多人数参加型のゲームとなる。多人数参加型のゲームは、その進行に影響する通信の遅延が小さくなると、円滑に進行する。
また、本発明は、1つのグループをなす3つ以上の通信装置(10,50,70)を有し、前記グループをなす通信装置(10,50,70)のうち1つが仮親となり、前記3つ以上の通信装置(10,50,70)の各々について、当該通信装置(10,50,70)以外の全ての通信装置(10,50,70)を他の通信装置(10,50,70)とし、当該通信装置(10,50,70)を基点とした他の通信装置(10,50,70)の各々に対する応答時間を当該通信装置(10,50,70)の応答時間としたとき、前記3つ以上の通信装置(10,50,70)の各々は、ネットワーク(1,25)との間で信号を送受する通信インターフェイス(17)と、前記通信インターフェイス(17)を用いてデータを送受信する送受信部(11)と、前記送受信部(11)を用いて当該通信装置(10,50,70)の応答時間を測定し、測定した応答時間の和を示す測定データを生成する測定データ生成部(11)と、当該通信装置(10,50,70)が仮親であるか否かに応じて動作する仮親依存部(11)とを有し、前記仮親依存部(11)は、当該通信装置(10,50,70)が仮親でない場合には、前記測定データを仮親である他の通信装置(10,50,70)へ送信し、仮親である他の通信装置(10,50,70)から親である1つの通信装置(10,50,70)を示す決定データを受信し、当該通信装置(10,50,70)が仮親である場合には、前記測定データを自データとする一方で他の通信装置(10,50,70)から測定データを受信し、全ての測定データのうち最小の値を示す唯一のデータが前記自データである場合には、当該通信装置(10,50,70)を示す前記決定データを他の通信装置(10,50,70)の各々へ送信し、全ての測定データのうち最小の値を示す唯一のデータが前記自データでない場合には、当該唯一のデータの送信元である他の通信装置(10,50,70)を示す前記決定データを他の通信装置(10,50,70)の各々へ送信し、前記送受信部(11)は、特定のデータを送信するときには、当該送信を、当該通信装置(10,50,70)が親である場合には直接的な通信により行い、当該通信装置(10,50,70)が親でない場合には親である通信装置(10,50,70)を介した間接的な通信により行う、ことを特徴とする通信システム(100,300)を提供する。
このゲームシステムによれば、同一のグループをなす3つ以上の通信装置のうち、応答時間の和が最小の通信装置が親となるから、子から親を経由して他の子へ渡されるべきデータの伝送遅延(累積値)が最短となる。また、子から親を経由して当該子へ渡されるべきデータの伝送遅延を同一のグループをなす複数の子について平均化して得られる時間も最短となる。つまり、共同作業の進行に影響する通信の遅延を小さくすることができる。
また、本発明は、サーバ装置(60)と1つのグループをなす3つ以上の通信装置(10,50,70)とを有し、前記3つ以上の通信装置(10,50,70)の各々について、当該通信装置(10,50,70)以外の全ての通信装置(10,50,70)を他の通信装置(10,50,70)とし、当該通信装置(10,50,70)を基点とした他の通信装置(10,50,70)の各々に対する応答時間を当該通信装置(10,50,70)の応答時間としたとき、前記3つ以上の通信装置(10,50,70)の各々は、ネットワーク(1,25)との間で信号を送受する通信インターフェイス(17)と、前記通信インターフェイス(17)を用いてデータを送受信する送受信部(11)と、前記送受信部(11)を用いて当該通信装置(10,50,70)の応答時間を測定し、測定した応答時間の和を示す測定データを生成する測定データ生成部(11)と、前記測定データを前記サーバ装置(60)へ送信する測定データ送信部(11,17)と、前記サーバ装置(60)から親である1つの通信装置(10,50,70)を示す決定データを受信する決定データ受信部(11,17)とを有し、前記サーバ装置(60)は、前記3つ以上の通信装置(10,50,70)から前記測定データを受信し、受信した測定データのうち1つの測定データが最小の値を示す場合には、当該測定データの送信元である通信装置(10,50,70)を示す前記決定データを前記3つ以上の通信装置(10,50,70)の各々へ送信し、前記送受信部(11)は、特定のデータを送信するときには、当該送信を、当該通信装置(10,50,70)が親である場合には直接的な通信により行い、当該通信装置(10,50,70)が親でない場合には親である通信装置(10,50,70)を介した間接的な通信により行う、ことを特徴とする通信システム(200)を提供する。
このゲームシステムによれば、同一のグループをなす3つ以上の通信装置のうち、応答時間の和が最小の通信装置が親となるから、子から親を経由して他の子へ渡されるべきデータの伝送遅延(累積値)が最短となる。また、子から親を経由して当該子へ渡されるべきデータの伝送遅延を同一のグループをなす複数の子について平均化して得られる時間も最短となる。つまり、共同作業の進行に影響する通信の遅延を小さくすることができる。
上記の通信システム(100,200,300)において、前記3つ以上の通信装置(10,50,70)を含む4つ以上の通信装置(10,50,70)を有し、前記4つ以上の通信装置(10,50,70)の各々は前記グループに属することが可能である、ようにしてもよい。また、前記グループをなす通信装置(10,50,70)の各々は、プレイヤーの操作に応じた操作信号を出力する入力部(14)と、前記操作信号に基づいて前記特定のデータを生成する特定データ生成部(11)と、前記送受信部(11)が受信した特定のデータに基づいてゲームを進行させる制御部(11)と、を有するようにしてもよい。また、これらを組み合わせてもよい。
また、本発明は、3つ以上の通信装置(10,50,70)がなすグループであって前記3つ以上の通信装置(10,50,70)のうち1つが仮親となるグループを他の通信装置(10,50,70)とともになす通信装置(10,50,70)を、ネットワーク(1,25)との間で信号を送受する通信インターフェイス(17)と、前記通信インターフェイス(17)を用いてデータを送受信する送受信部(11)と、当該通信装置(10,50,70)を基点とした他の通信装置(10,50,70)の各々に対する応答時間を当該通信装置(10,50,70)の応答時間としたとき、前記送受信部(11)を用いて当該通信装置(10,50,70)の応答時間を測定し、測定した応答時間の和を示す測定データを生成する測定データ生成部(11)と、当該通信装置(10,50,70)が仮親であるか否かに応じて動作する仮親依存部(11)として機能させるプログラムであって、前記仮親依存部(11)は、当該通信装置(10,50,70)が仮親でない場合には、前記測定データを仮親である他の通信装置(10,50,70)へ送信し、仮親である他の通信装置(10,50,70)から親である1つの通信装置(10,50,70)を示す決定データを受信し、当該通信装置(10,50,70)が仮親である場合には、前記測定データを自データとする一方で他の通信装置(10,50,70)からデータを受信して他データとし、前記自データおよび前記他データのうち最小の値を示す唯一のデータが前記自データである場合には、当該通信装置(10,50,70)を示す前記決定データを他の通信装置(10,50,70)の各々へ送信し、前記自データおよび前記他データのうち最小の値を示す唯一のデータが前記他データのいずれか一つである場合には、当該一つの送信元である他の通信装置(10,50,70)を示す前記決定データを他の通信装置(10,50,70)の各々へ送信し、前記送受信部(11)は、特定のデータを送信するときには、当該送信を、当該通信装置(10,50,70)が親である場合には直接的な通信により行い、当該通信装置(10,50,70)が親でない場合には親である通信装置(10,50,70)を介した間接的な通信により行う、ことを特徴とするプログラム(181,431)を提供する。
このプログラムを実行する通信装置を用いてゲームシステムを構成すれば、同一のグループをなす3つ以上の通信装置のうち、応答時間の和が最小の通信装置が親となるから、子から親を経由して他の子へ渡されるべきデータの伝送遅延(累積値)が最短となる。また、子から親を経由して当該子へ渡されるべきデータの伝送遅延を同一のグループをなす複数の子について平均化して得られる時間も最短となる。つまり、上記のプログラムによれば、共同作業の進行に影響する通信の遅延を小さくすることができる。
本発明によれば、3つ以上の通信装置から1つを選択して親とすることによって、多人数参加型のゲームに代表される共同作業の進行に影響する通信の遅延を小さくすることができる。
本発明の好適な実施の形態について説明する。第1の実施の形態は、ゲーム装置のグループ化にマッチングサーバ装置が関与し、かつ、親の選択をゲーム装置が行うものである。第2の実施の形態は、ゲーム装置のグループ化をマッチングサーバ装置が行い、かつ、親の選択をマッチングサーバ装置が行うものである。第3の実施の形態は、ゲーム装置のグループ化をゲーム装置が行い、かつ、親の選択をゲーム装置が行うものである。
<第1の実施の形態>
図1は、本発明の第1の実施の形態に係るゲームシステム(通信システム)100の全体構成を示すブロック図である。ゲームシステム100は3人の参加者に戦車ゲームをプレイさせるためのシステムである。戦車ゲームでは、各参加者は、戦場である仮想空間において自己の戦車を操縦する。戦場は各参加者の陣を含み、各参加者は自陣の損害の少なさを競う。
ゲームシステム100において、マッチングサーバ装置40はルータ30を介して、インターネット1に接続されている。インターネット1には、店舗A、B、C、…を含む複数の店舗に各々設けられた複数のLAN(Local Area Network)25が、各店舗内のルータ20を介して接続されている。各ルータ20は、いずれも、インターネット1上に仮想的な専用網であるVPN(Virtual Private Network)を構築する機能を備えている。各店舗には複数のゲーム装置10が配置されている。各ゲーム装置10は、参加者に使用され、当該参加者が参加する戦車ゲームに参加し、当該戦車ゲームを当該参加者にプレイさせるものであり、LAN25を介して店舗内の他のゲーム装置10と通信可能である一方、LAN25、ルータ20およびVPNを介して、マッチングサーバ装置40や他の店舗のゲーム装置10と通信可能である。
図2は、ゲーム装置10に表示される画像の一例を示す図である。この図に示すように、ゲーム装置10には、当該ゲーム装置10が参加している戦車ゲームの状態を示す画像が表示される。具体的には、戦場の画像BFと、各陣の損害の比率を示す戦況インジケータINDが表示される。この比率は3つの陣の損害に基づいて決定される。各陣の損害には、当該陣の参加者の戦車が被った被害も含まれる。以上の説明から明らかなように、戦車ゲームの状態は、当該戦車ゲームに参加しているゲーム装置に共有されるものであり、1つの装置において一意に決定されるべきものである。
ここで、戦車ゲームの状態を特定のサーバ装置が決定する形態を想定する。この形態では、同時に行われる戦車ゲームの状態が特定のサーバ装置によって決定される。つまり、特定のサーバ装置に負荷が集中する。したがって、この形態は、多くの戦車ゲームが同時に行われる大規模なゲームシステムには向かない。そこで、本発明の各実施の形態では、戦車ゲームの状態を、当該戦車ゲームに参加している1つのゲーム装置10が決定する形態を採り、負荷を分散させている。以降、各戦車ゲームにおいて、当該戦車ゲームに参加するゲーム装置のうち、当該戦車ゲームの状態を決定する1つのゲーム装置を「親」、他の2つのゲーム装置をそれぞれ「子」と称する。本発明の各実施の形態において、親は子のみとデータを送受信し、子は主に親とデータを送受信する。
戦車ゲームの状態を当該戦車ゲームに参加する親が決定する形態では、1つの子において戦車ゲームの状態の決定に影響を与える特定のデータ(例えば後述の操作データ)が生成されると、当該特定のデータが親に渡され、親において当該特定のデータを用いた処理(例えば、戦車の位置や姿勢を特定する処理や、砲弾の位置を特定する処理、砲弾が戦車等の物体に命中したか否かの判定処理、各陣の損害を特定する処理)が行われて戦車ゲームの状態が決定され、この状態を示す状態データが各子に渡され、親および各子において、この状態を示す画像(当該特定のデータが反映された画像)が表示される。以降、各子において、特定のデータが生成されてから当該特定のデータが反映された画像が表示されるまでの時間を、当該子の反映遅延時間と称する。
各子の反映遅延時間は、当該子を基点とした親に対する応答時間よりも僅かに長い時間となる。「Aを基点としたBに対する応答時間」とは、AからBまでの信号の伝送遅延時間と、Bにおける処理遅延時間と、BからAまでの信号の伝送遅延時間との和である。このことから明らかなように、各子を基点とした親に対する応答時間は、各子と親との距離などの地理的な要因や、各子と親との間の通信路の信号伝送速度などのネットワーク構成上の要因に依存する。つまり、各子を基点とした親に対する応答時間、ひいては各子の反映遅延時間は、どのゲーム装置10を親とするかによって異なる。このことについて具体例を挙げて説明する。
図3は、親の割り当てと応答時間との関係を説明するための図である。この図では、第1のゲーム装置10(α)と第2のゲーム装置10(β)との間の伝送遅延時間が3、βと第3のゲーム装置10(γ)との間の通信遅延時間が4、γとαとの間の伝送遅延時間が9になっている。α、βおよびγの処理遅延時間はいずれも1である。ここで、αを親とし、βおよびγをそれぞれ子とすると、βを基準とした親に対する応答時間は3+1+3=7となり、γを基準とした親に対する応答時間は9+1+9=19となる。これに対して、βを親とし、αおよびγをそれぞれ子とすると、βを基準とした親に対する応答時間は3+1+3=7、γを基準とした親に対する応答時間は4+1+4=9となる。つまり、γを基準とした親に対する応答時間はαを親とした場合(19)よりもβを親とした場合(9)に短くなり、γの反映遅延時間はαを親とした場合よりもβを親とした場合に短くなる。
一方、前述したように、特定のデータには操作データが含まれるから、ある子を基準とした親に対する反映遅延時間が長い場合、当該子において、画像の表示が参加者の操作から大きく遅延してしまう。このような遅延が望ましくないことは、操作データ以外の特定のデータにもあてはまる。したがって、各子の反映遅延時間は短い方がよいことになる。また、各子の反映遅延時間は、当該子を基点とした親に対する応答時間よりも僅かに長い時間となる。よって、各子を基点とした親に対する応答時間は短い方がよいことになる。
まとめると、各子を基準とした親に対する応答時間は、短い方がよく、同一の戦車ゲームに参加するゲーム装置10のどれを親とするかに依存する。よって、同一の戦車ゲームに参加するゲーム装置10のどれを親とするかが重要となる。
ゲームシステム100では、戦車ゲームのプレイ前に、当該戦車ゲームの参加者を特定する必要がある。この作業を「マッチング」と称する。マッチングは、いずれか一つのゲーム装置10が戦車ゲームへの参加を表明して仮親となり、このゲーム装置10に対して他のゲーム装置10が仮子として参加を表明する、という手順で行われる。そして、仮親および仮子のいずれか1つが親となり、残りが子となって、戦車ゲームが開始される。
[ゲーム装置10]
図4は、ゲーム装置10の構成を示すブロック図である。この図に示すように、ゲーム装置10は、プロセッサ11、入力部14、表示部15、通信インターフェイス17、不揮発性メモリ18および書き換え可能メモリ19を有する。プロセッサ11は、例えば、一又は複数のCPU(Central Processing Unit)である。
入力部14は、複数の操作子を備え、操作子が操作されると、この操作に応じた操作信号をプロセッサ11に供給する。複数の操作子には、戦車の向きを変更するためのハンドル型の操作子や、後述の仮決定処理を開始させたり戦車に砲弾を発射させたりするためのボタン型の操作子、戦車を移動させるためのペダル型の操作子が含まれる。
表示部15は、画面151を有し、プロセッサ11から画像データが供給されると、当該画像データが表す画像を画面151に表示する。表示部15としては、モニタやビデオプロジェクタを用いることができる。ビデオプロジェクタを用いる場合には、画像が投射されるスクリーンが画面151に相当する。通信インターフェイス17は、LAN25との間で信号を送受するものであり、プロセッサ11とLAN25との間でデータを中継する。プロセッサ11は、通信インターフェイス17を用いて、他の装置との間でデータを送受信する。
不揮発性メモリ18は、例えばROM(Read Only Memory)であり、プログラム181およびサーバ装置データ182を記憶している。プログラム181は、プロセッサ11に実行されることによってゲーム装置10に後述の各種の処理(仮決定処理、仮親処理、仮子処理、親処理、子処理)を行わせる。以降の説明でプロセッサ11が行う処理はプログラム181を用いて行われる。サーバ装置データ182はマッチングサーバ装置40の通信アドレスを取得するために必要なデータである。
書き換え可能メモリ19は、例えばRAM(Random Access Memory)であり、その記憶領域には、参加者のデータを格納する参加者テーブルT4が確保される。参加者テーブルT4は参加者にそれぞれ対応する3つのレコードを有する。各レコードには、参加者のゲーム装置10の通信アドレスと当該ゲーム装置10の種別を示すフラグとが格納される。ゲーム装置10の種別としては、親、子、仮親および仮子がある。本実施の形態では、このフラグの値を、親を示す場合と仮親を示す場合とで等しくし、子を示す場合と仮子を示す場合とで等しくしているが、本実施の形態を変形し、他の形態としてもよい。また、書き換え可能メモリ19は、プロセッサ11が受信したデータの送信元の装置の通信アドレスの一時的な記憶や、画像BFおよび戦況インジケータINDの画像データの記憶、状態データの記憶にも用いられる。なお、不揮発性メモリ18または書き換え可能メモリ19は自己の通信アドレスを記憶する。
[マッチングサーバ装置40]
図5は、マッチングサーバ装置40の構成を示すブロック図である。この図に示すように、マッチングサーバ装置40は、プロセッサ41、通信インターフェイス42、不揮発性メモリ43および書き換え可能メモリ44を備える。プロセッサ41は、例えば、一又は複数のCPUである。通信インターフェイス42は、ルータ30との間で信号を送受するものであり、プロセッサ41とルータ30との間でデータを中継する。プロセッサ41は、通信インターフェイス42を用いて、他の装置との間でデータを送受信する。
不揮発性メモリ43は、例えばROMおよびハードディスクである。ROMはIPL(Initial Program Loader)を、ハードディスクはプログラム431を記憶している。プログラム431は、プロセッサ41に実行されることによって、マッチングサーバ装置40に後述のロビー処理を行わせる。以降の説明でプロセッサ41が行う処理はプログラム431を用いて行われる。また、不揮発性メモリ43はマッチングサーバ装置40の通信アドレスを記憶している。書き換え可能メモリ44は、例えばRAMであり、仮親となるゲーム装置10の通信アドレスを示すデータの並びである仮親リスト441を記憶する。マッチングサーバ装置40の電源投入時には、仮親リスト441は空となる。また、書き換え可能メモリ44は、プロセッサ41が受信したデータの送信元の装置の通信アドレスの一時的な記憶にも用いられる。
[ロビー処理]
図6は、マッチングサーバ装置40のプロセッサ41が行うロビー処理のフローチャートである。ロビー処理では、プロセッサ41は、ゲーム装置10からデータを受信するまで、ゲーム装置10からデータを受信したか否かを判定する処理(SA1)を繰り返し行う。データを受信し、この処理の判定結果が「YES」となると、プロセッサ41は、受信したデータが、仮親リストの返信を要求する仮親リスト返信要求であるか否かを判定する(SA2)。この判定結果が「YES」の場合、プロセッサ41は、仮親リスト441を書き換え可能メモリ44から読み出し、当該仮親リスト返信要求の送信元のゲーム装置10へ送信し(SA3)、処理をステップSA1に移行させる。
ステップSA2の判定結果が「NO」の場合、プロセッサ41は、受信したデータが、仮親としての登録を要求する仮親登録要求であるか否かを判定する(SA4)。この判定結果が「YES」の場合、プロセッサ41は、この仮親登録要求の送信元のゲーム装置10を仮親として登録する(SA5)。具体的には、当該ゲーム装置10の通信アドレスを仮親リスト441に追加する。以降、処理をステップSA1に移行する。
ステップSA4の判定結果が「NO」の場合、プロセッサ41は、受信したデータが、仮親としての登録の抹消を要求する登録抹消要求であるか否かを判定する(SA6)。この判定結果が「YES」の場合、プロセッサ41は、この登録抹消要求の送信元のゲーム装置10の仮親としての登録を抹消する(SA7)。具体的には、当該ゲーム装置10の通信アドレスを仮親リスト441から削除する。以降、処理をステップSA1に移行する。
[仮決定処理]
図7は、ゲーム装置10のプロセッサ11が行う仮決定処理のフローチャートである。仮決定処理では、プロセッサ11は、仮親リスト返信要求を送信する(SB1)。次にプロセッサ11は、マッチングサーバ装置40から仮親リスト441を受信するまで、マッチングサーバ装置40から仮親リスト441を受信したか否かを判定する処理(SB2)を繰り返し行う。仮親リスト441を受信し、この処理の判定結果が「YES」となると、プロセッサ11は、受信した仮親リスト441が空であるか否かを判定する(SB3)。この判定結果が「YES」の場合、プロセッサ11は、仮親登録要求をマッチングサーバ装置40へ送信し(SB4)、自己が仮親となるように参加者テーブルT4を生成する(SB5)。具体的には、書き換え可能メモリ19の記憶領域に参加者テーブルT4を確保し、参加者テーブルT4の1つのレコードに、自己の通信アドレスと仮親を示すフラグ(例えば値が1のフラグ)とを格納する。
一方、ステップSB3の判定結果が「NO」であれば、プロセッサ11は、仮親登録要求をマッチングサーバ装置40へ送信することなく、自己が仮子となるように参加者テーブルT4を生成する(SB6)。具体的には、書き換え可能メモリ19の記憶領域に参加者テーブルT4を確保し、参加者テーブルT4の1つのレコードに、自己の通信アドレスと仮子であることを示すフラグ(例えば値が0のフラグ)とを格納する一方、他の1つのレコードに、受信した仮親リスト441に格納されている通信アドレスと仮親を示すフラグ(例えば値が1のフラグ)とを格納する。
[仮親処理]
図8は、ゲーム装置10のプロセッサ11が行う仮親処理のフローチャートである。仮親処理は、参加者テーブルT4において仮親を示すフラグに対応付けて自己の通信アドレスが格納されている場合に、仮決定処理に続いて行われる。仮親処理では、プロセッサ11は、他のゲーム装置10から、戦車ゲームへの参加を要求する参加要求を受信するまで、他のゲーム装置10から参加要求を受信したか否かを判定する処理(SC1)を繰り返し行う。参加要求を受信し、この処理の判定結果が「YES」となると、プロセッサ11は、参加を許可する旨の許可通知を、当該参加要求の送信元のゲーム装置10へ送信し、当該ゲーム装置10が仮子となるように参加者テーブルT4を更新する(SC2)。具体的には、参加者テーブルT4の空いているレコードに、当該ゲーム装置10の通信アドレスと仮子であることを示すフラグとを格納する。
次にプロセッサ11は、参加者が3人か否かを判定する(SC3)。具体的には、参加者テーブルT4において通信アドレスおよびフラグが格納されたレコードの数が3つであるか否かを判定する。この判定結果が「NO」の場合、処理はステップSC1に移行する。この判定結果が「YES」の場合、プロセッサ11は、自己を除く参加者のゲーム装置10の各々へ、参加者の情報を共有させるための共有データを送信する(SC4)。共有データには、自己と当該共通データの送信先とを除く参加者のゲーム装置10の通信アドレスが含まれる。
次にプロセッサ11は、マッチングサーバ装置40へ仮親としての登録に対する登録抹消要求を送信し(SC5)、自己を除く参加者のゲーム装置10へ、マッチングの完了を知らせるマッチング完了通知を送信する(SC6)。次にプロセッサ11は当該ゲーム装置10の応答時間を測定する応答測定処理を行う(SC7)。詳しくは後述するが、応答測定処理では、当該ゲーム装置10以外の全ての参加者のゲーム装置10を他のゲーム装置と称し、当該ゲーム装置10を基点とした他のゲーム装置の各々に対する応答時間を当該ゲーム装置10の応答時間と称するとき、当該ゲーム通信装置10のプロセッサ11は、当該ゲーム装置10の応答時間を測定し、測定した応答時間の和を示す測定データ(自データ)を生成する。さらに、ステップSC7の応答測定処理では、他のゲーム装置の各々から測定結果を知らせる測定結果通知を受信する。測定結果通知は、応答時間の和を示す測定データ(他データ)を含む。すなわち、ステップSC7の応答測定処理は、応答時間を収集する処理でもある。
次にプロセッサ11は、応答測定処理の結果(測定データ)に基づいて、親を決定する決定処理を行う(SC8)。具体的には、取得した測定データのうち最小の値を示す唯一のデータが自データである場合には自己を親とし、取得した測定データのうち最小の値を示す唯一のデータが自データでない場合(他データである場合)には、当該唯一のデータの送信元であるゲーム装置10を親とする。次にプロセッサ11は、決定した親を示す決定通知を、自己を除く参加者のゲーム装置10へ送信し、当該結果に基づいて参加者テーブルT4を更新する(SC9)。具体的には、参加者テーブルT4に格納されたフラグのうち、親であるゲーム装置10の通信アドレスに対応するフラグを、親を示すフラグ(例えば値が1のフラグ)に更新し、他の通信アドレスに対応するフラグを、子を示すフラグ(例えば値が0のフラグ)に更新する。
[仮子処理]
図9は、ゲーム装置10のプロセッサ11が行う仮子処理のフローチャートである。仮子処理は、参加者テーブルT4において仮子を示すフラグに対応付けて自己の通信アドレスが格納されている場合に、仮決定処理に続いて行われる。仮子処理では、プロセッサ11は、仮決定処理において受信した仮親リスト441に格納されている通信アドレスのゲーム装置10(仮親)へ参加要求を送信する(SD1)。
次にプロセッサ11は、仮親から許可通知を受信するまで、仮親から許可通知を受信したか否かを判定する処理(SD2)を繰り返し行う。許可通知を受信し、この処理の判定結果が「YES」となると、プロセッサ11は、仮親から共有データを受信するまで、仮親から共有データを受信したか否かを判定する処理(SD3)を繰り返し行う。共有データを受信し、この処理の判定結果が「YES」となると、プロセッサ11は、受信した共有データに基づいて参加者テーブルT4を更新する(SD4)。具体的には、受信した共有データに含まれている通信アドレスと仮子を示すフラグを、参加者テーブルT4の空いているレコードに格納する。
ステップSD4を終えると、プロセッサ11は、仮親からマッチング完了通知を受信するまで、仮親からマッチング完了通知を受信したか否かを判定する処理(SD5)を繰り返し行う。マッチング完了通知を受信し、この処理の判定結果が「YES」となると、プロセッサ11は、ステップSC7と同様の応答測定処理を行う(SD6)。ただし、ステップSD6の応答測定処理では、他のゲーム装置から測定結果通知を受信するのではなく、生成した測定データを含む測定結果通知を仮親のゲーム装置10へ送信する。
次にプロセッサ11は、仮親から決定通知を受信するまで、仮親から決定通知を受信したか否かを判定する処理(SD7)を繰り返し行う。決定通知を受信し、この処理の判定結果が「YES」となると、プロセッサ11は、受信した決定通知に基づいて参加者テーブルT4を更新する(SD8)。具体的には、参加者テーブルT4に格納されているフラグのうち、決定通知が示すゲーム装置10の通信アドレスに対応するフラグを、親を示すフラグに更新する一方、当該通信アドレスに対応していないフラグを、子を示すフラグに更新する。
[親処理および子処理]
親処理および子処理は、いずれも、参加者に戦車ゲームを行わせる処理であり、参加者のゲーム装置10のうち親であるゲーム装置10のプロセッサ11が親処理を行い、子であるゲーム装置10の各々のプロセッサ11が子処理を行うことにより、これらのゲーム装置10の状態データが繰り返し更新されて当該戦車ゲームが進行する。
親処理を実行中のプロセッサ11は、入力部14から出力された操作信号に応じた操作データを生成し、この操作データと通信インターフェイス17を用いて受信した操作データとに基づいて戦車ゲームの状態を決定し、この状態を示す状態データを、通信インターフェイス17を用いて子であるゲーム装置10へ送信するとともに、書き換え可能メモリ19に記憶させる。この記憶は上書きである。また、親処理を実行中のプロセッサ11は、書き換え可能メモリ19に記憶されている状態データを用いて、画像BFおよび戦況インジケータINDの表示を行う。
子処理を実行中のプロセッサ11は、入力部14から出力された操作信号に応じた操作データを生成し、この操作データを、通信インターフェイス17を用いて親であるゲーム装置10へ送信する。また、子処理を実行中のプロセッサ11は、通信インターフェイス17を用いて受信した状態データを、書き換え可能メモリ19に記憶させる。この記憶は上書きである。また、子処理を実行中のプロセッサ11は、書き換え可能メモリ19に記憶されている状態データを用いて、画像BFおよび戦況インジケータINDの表示を行う。
[動作例]
図10〜図12は、ゲームシステム100の動作例を示すシーケンス図である。この動作例は、仮親リスト返信要求をマッチングサーバ装置40へ、まず店舗Aに配置されている一つのゲーム装置10(ゲーム装置10A)のプロセッサ11が送信し、次に店舗Bに配置されている一つのゲーム装置10(ゲーム装置10B)のプロセッサ11が送信し、次に店舗Cに配置されている一つのゲーム装置10(ゲーム装置10C)のプロセッサ11が送信し、戦車ゲームにおいてはゲーム装置10Bが親となる、というものである。以降、この動作例について詳細に説明する。なお、マッチングサーバ装置40のプロセッサ41は既にロビー処理を実行しているものとする。
図10に示すように、まず、ゲーム装置10Aのプロセッサ11が仮決定処理を開始し、仮親リスト返信要求をマッチングサーバ装置40へ送信する。この仮親リスト返信要求を受信したマッチングサーバ装置40のプロセッサ41は、書き換え可能メモリ44から仮親リスト441を読み出し、ゲーム装置10Aへ送信する。この仮親リスト441は空であるから、この仮親リスト441を受信したゲーム装置10Aのプロセッサ11は、仮親登録要求を送信し、参加者テーブルを生成して仮決定処理を終了し、次に仮親処理を開始する。こうして、戦車ゲームの3人の参加者のうち1人が決まる。この仮親登録要求を受信したマッチングサーバ装置40のプロセッサ41は、この仮親登録要求の送信元のゲーム装置10Aの通信アドレスを書き換え可能メモリ44に記憶されている仮親リスト441に追加する。
次に、ゲーム装置10Bのプロセッサ11が仮決定処理を開始し、仮親リスト返信要求をマッチングサーバ装置40へ送信する。この仮親リスト返信要求を受信したマッチングサーバ装置40のプロセッサ41は、書き換え可能メモリ44から仮親リスト441を読み出し、ゲーム装置10Bへ送信する。この仮親リスト441にはゲーム装置10Aの通信アドレスが含まれているから、この仮親リスト441を受信したゲーム装置10Bのプロセッサ11は、参加者テーブルを生成のうえ仮決定処理を終了し、次に仮子処理を開始する。
次に、ゲーム装置10Cのプロセッサ11が仮決定処理を開始し、仮親リスト返信要求をマッチングサーバ装置40へ送信する。この結果、ゲーム装置10Cについて、上述したゲーム装置10Bに関する動作と同様の動作が行われる。
一方、仮子処理を開始したゲーム装置10Bのプロセッサ11は、参加要求をゲーム装置10Aへ送信する。この送信は、仮決定処理にて受信済みの仮親リスト441に含まれている通信アドレスを用いて行われる。この参加要求を受信したゲーム装置10Aのプロセッサ11は、許可通知をゲーム装置10Bへ送信する。この許可通知を受信したゲーム装置10Bのプロセッサ11は、ゲーム装置10Aからの共通データ及びマッチング完了通知の受信を待つ。こうして、戦車ゲームの3人の参加者のうち2人が決まる。
また、仮子処理を開始したゲーム装置10Cのプロセッサ11は、参加要求をゲーム装置10Aへ送信する。この結果、ゲーム装置10Cについて、上述したゲーム装置10Bに関する動作と同様の動作が行われ、戦車ゲームの3人の参加者全員が決まる。
次に、ゲーム装置10Aのプロセッサ11は、ゲーム装置10Bの通信アドレスを含む共有データをゲーム装置10Cへ送信するとともに、ゲーム装置10Cの通信アドレスを含む共有データをゲーム装置10Bへ送信する。ゲーム装置10Bおよび10Cの各々では、プロセッサ11が共有データを受信し、受信した共有データに含まれている通信アドレスと仮子を示すフラグを、書き換え可能メモリ19に記憶されている参加者テーブルT4の空いているレコードに格納する。
上述した動作の結果、ゲーム装置10A〜10Cの参加者テーブルT4の内容は互いに同様となる。すなわち、各参加者テーブルT4は、ゲーム装置10Aの通信アドレスと仮親を示すフラグとを対応付けて格納し、ゲーム装置10Bの通信アドレスと仮子を示すフラグとを対応付けて格納し、ゲーム装置10Cの通信アドレスと仮子を示すフラグとを対応付けて格納した状態となっている。
次に、ゲーム装置10Aのプロセッサ11は、登録抹消要求をマッチングサーバ装置40へ送信する。この登録抹消要求を受信したマッチングサーバ装置40のプロセッサ41は、この登録抹消要求の送信元のゲーム装置10Aの通信アドレスを書き換え可能メモリ44内の仮親リスト441から削除する。次に、ゲーム装置10Aのプロセッサ11は、マッチング完了通知をゲーム装置10Bおよび10Cへ送信し、応答測定処理(SC7)を開始する。一方、このマッチング完了通知を受信したゲーム装置10Bおよび10Cの各プロセッサ11は、応答測定処理(SD6)を開始する。
以降の動作は図11に示す通りである。この図では、伝送遅延を考慮し、ゲーム装置間でのデータの伝送を示す矢印が斜めに描かれている。
ゲーム装置10Aのプロセッサ11は、応答速度の測定のための応答速度計測応答の返信を要求する応答速度計測要求をゲーム装置10Bへ送信する。この応答速度計測要求を受信したゲーム装置10Bのプロセッサ11は、応答速度計測応答をゲーム装置10Aへ送信する。この応答速度計測応答はゲーム装置10Aのプロセッサ11に受信される。この際、ゲーム装置10Aのプロセッサ11は、上記の応答速度計測要求を送信してから上記の応答速度計測応答を受信するまでの時間を、ゲーム装置10Aを基点としたゲーム装置10Bに対する応答時間(TAB)として計測する。この計測処理と同様の処理が、ゲーム装置10Cについても行われ、ゲーム装置10Aを基点としたゲーム装置10Cに対する応答時間(TAC)が計測される。すなわち、ゲーム装置10Aの応答時間が計測される。そして、ゲーム装置10Aのプロセッサ11は、ゲーム装置10Aの応答時間の和(TAB+TAC)を示す測定データを生成し、自データとして書き換え可能メモリ19に記憶させる。
ゲーム装置10Bでは、上述の計測処理と同様の処理により、ゲーム装置10Bを基点としたゲーム装置10Aに対する応答時間(TBA)と、ゲーム装置10Bを基点としたゲーム装置10Aに対する応答時間(TBC)が計測される。すなわち、ゲーム装置10Bの応答時間が計測される。そして、ゲーム装置10Bのプロセッサ11は、ゲーム装置10Bの応答時間の和(TBA+TBC)を示す測定データを生成し、この測定データを含む測定結果通知を仮親であるゲーム装置10Aへ送信する。この定結果通知はゲーム装置10Aのプロセッサ11に受信される。
ゲーム装置10Cでは、上述の計測処理と同様の処理により、ゲーム装置10Cを基点としたゲーム装置10Aに対する応答時間(TCA)と、ゲーム装置10Cを基点としたゲーム装置10Bに対する応答時間(TCB)が計測される。すなわち、ゲーム装置10Cの応答時間が計測される。そして、ゲーム装置10Cのプロセッサ11は、ゲーム装置10Cの応答時間の和(TCA+TCB)を示す測定データを生成し、この測定データを含む測定結果通知を仮親であるゲーム装置10Aへ送信する。この定結果通知はゲーム装置10Aのプロセッサ11に受信される。
こうして、応答測定処理が完了する。次にゲーム装置10Aのプロセッサ11は、決定処理を行う。すなわち、取得した測定データのうち最小の値を示す唯一の測定データが自データである場合にはゲーム装置10Aを親とし、自データでない場合には最小の値を示す唯一の測定データの送信元のゲーム装置10を親とする。この動作例では、最小の値を示す唯一の測定データは、ゲーム装置10Bから送信されてきた測定データであり、ゲーム装置10Bが親となる。したがって、ゲーム装置10Aのプロセッサ11は、書き換え可能メモリ19内の参加者テーブルT4に格納されたフラグのうち、親であるゲーム装置10Bの通信アドレスに対応するフラグを、親を示すフラグに更新し、他の通信アドレスに対応するフラグを、子を示すフラグに更新する。
次に、ゲーム装置10Aのプロセッサ11は、図12に示すように、親であるゲーム装置10Bの通信アドレスを含む決定通知を、ゲーム装置10Bおよび10Cへ送信する。次に、ゲーム装置10Aのプロセッサ11は仮親処理を終了し、ゲーム装置10Aの通信アドレスに対応付けて参加者テーブルT4に格納されているフラグに応じた処理(子処理)を開始する。一方、上記の決定通知を受信したゲーム装置10Bのプロセッサ11は、受信した決定通知に応じて書き換え可能メモリ19内の参加者テーブルT4を更新する。この更新の結果はゲーム装置10Aにおける更新の結果と同様となる。次に、ゲーム装置10Bのプロセッサ11は、仮子処理を終了し、ゲーム装置10Bの通信アドレスに対応付けて参加者テーブルT4に格納されているフラグに応じた処理(親処理)を開始する。これと同様のことが、ゲーム装置10Cでも行われる。ただし、ゲーム装置10Cのプロセッサ11が開始する処理は子処理となる。
以降、ゲーム装置10Bでは親処理が実行され、ゲーム装置10Aおよび10Cの各々では子処理が実行される。これにより、ゲームシステム100では、以下に例示する動作が繰り返し実行される。この例では、ゲーム装置10A〜10Cにおいて、入力部14から操作信号が出力されたとする。すると、子であるゲーム装置10Aおよび10Cの各プロセッサ11は、出力された操作信号に応じて操作データを生成し、この操作データを親であるゲーム装置10Bへ送信する。これらの操作データは、ゲーム装置10Bのプロセッサ11に受信される。つまり、操作データが親であるゲーム装置10Bに集約される。次にゲーム装置10Bのプロセッサ11は、集約された操作データに基づいて戦車ゲームの状態を決定し、この状態を示す状態データを、自己の書き換え可能メモリ19に記憶させる一方、ゲーム装置10Aおよび10Cへ送信する。これらの状態データは、ゲーム装置10Aおよび10Cのプロセッサ11により受信され、それぞれ書き換え可能メモリ19に記憶される。つまり、最新の状態を示す状態データがゲーム装置10A〜10Cに共有される。次に、ゲーム装置10A〜10Cの各プロセッサは、共有している状態データを用いて、画像BFおよび戦況インジケータINDの表示を行う。この結果、ゲーム装置10A〜10Cの表示部15の画面151に、最新の状態を示す画像が表示される。
[まとめ]
以上説明したように、ゲームシステム100によれば、応答時間の和が最小のゲーム装置10が親となるから、子から親を経由して他の子へ渡されるべきデータの伝送遅延(累積値)が最短となる。また、子から親を経由して当該子へ渡されるべきデータの伝送遅延を2つの子について平均化して得られる時間も最短となる。したがって、戦車ゲームの進行に影響する通信の遅延を小さくすることができる。なお、上述した実施の形態では、特定のデータの一種である操作データがそのまま親から子へ渡されることはないが、操作データを反映した状態データが親から子へ渡されるから、操作データは形式を変えつつ子から親を経由して他の子へ渡されるべきデータといえる。
<第2の実施の形態>
図13は、本発明の第2の実施の形態に係るゲームシステム200の全体構成を示すブロック図である。ゲームシステム200がゲームシステム100と異なる点は、ゲーム装置10に代えてゲーム装置50を有する点と、マッチングサーバ装置40に代えてマッチングサーバ装置60を有する点である。
[ゲーム装置50]
図14は、ゲーム装置50の構成を示すブロック図である。ゲーム装置50がゲーム装置10と異なる点は、不揮発性メモリ18に代えて不揮発性メモリ51を有する点である。不揮発性メモリ51は、例えばROMであり、プログラム511およびサーバ装置データ512を記憶している。プログラム511は、プロセッサ11に実行されることによってゲーム装置50に各種の処理(後述のクライアント処理、親処理、子処理)を行わせる。以降の説明でプロセッサ11が行う処理はプログラム511を用いて行われる。サーバ装置データ512はマッチングサーバ装置60の通信アドレスを取得するために必要なデータである。
[マッチングサーバ装置60]
図15は、マッチングサーバ装置60の構成を示すブロック図である。マッチングサーバ装置60がマッチングサーバ装置40と異なる点は、不揮発性メモリ43に代えて不揮発性メモリ61を有する点と、書き換え可能メモリ44に代えて書き換え可能メモリ62を有する点である。不揮発性メモリ61は、例えばROMおよびハードディスクである。ROMはIPLを、ハードディスクはプログラム611を記憶している。プログラム611は、プロセッサ41に実行されることによって、マッチングサーバ装置60に後述のサーバ処理を行わせる。以降の説明でプロセッサ41が行う処理はプログラム611を用いて行われる。また、不揮発性メモリ61はマッチングサーバ装置60の通信アドレスを記憶している。
書き換え可能メモリ62は、例えばRAMであり、その記憶領域には、いずれかのグループに属するゲーム装置50のデータを格納するグループテーブル621が確保される。グループテーブル621のレコード数は、マッチングサーバ装置40の電源投入時にはゼロであり、いずれかのグループに属するゲーム装置50が増える度に増える。各レコードには、いずれかのグループに属するゲーム装置50の通信アドレスと、当該ゲーム装置50が属するグループを識別するためのグループIDと、当該ゲーム装置50の応答時間の和を示す測定データとが格納される。また、書き換え可能メモリ62は、新たなゲーム装置50が属することになるグループのグループIDである最新ID622を記憶する。また、書き換え可能メモリ62は、プロセッサ41が受信したデータの送信元の装置の通信アドレスの一時的な記憶にも用いられる。
[サーバ処理]
図16は、マッチングサーバ装置60のプロセッサ41が行うサーバ処理のフローチャートである。サーバ処理では、プロセッサ41は、まず、初期化を行う(SE1)。具体的には、初期値を示す最新ID622を書き換え可能メモリ62に記憶させるとともに、グループテーブル621を書き換え可能メモリ62に確保する。次にプロセッサ41は、ゲーム装置50からデータを受信するまで、ゲーム装置50からデータを受信したか否かを判定する処理(SE2)を繰り返し行う。データを受信し、この処理の判定結果が「YES」となると、プロセッサ41は、受信したデータが参加要求であるか否かを判定する(SE3)。
ステップSE3の判定結果が「YES」の場合、プロセッサ41は、書き換え可能メモリ62内の最新ID622を用いて書き換え可能メモリ62内のグループテーブル621にレコードを追加する(SE4)。このレコードには、通信アドレスとして参加要求の送信元のゲーム装置50の通信アドレスが、グループIDとして最新ID622が格納される。次にプロセッサ41は、グループテーブル621を参照し、最新ID622のグループの参加者が3人であるか否かを判定する(SE5)。この判定結果が「NO」の場合、処理はステップSE2に移行する。
ステップSE5の判定結果が「YES」となると、プロセッサ41は、最新ID622のグループに属するゲーム装置50の各々へ、応答時間の測定を要求する測定要求を送信する(SE6)。各ゲーム装置50への測定要求には、当該ゲーム装置50と同一グループに属する当該ゲーム装置50以外の全てのゲーム装置50の通信アドレスが含まれている。次にプロセッサ41は、書き換え可能メモリ62内の最新ID622を更新する(SE7)。これにより、最新ID622は未使用のものとなる。以降、処理はステップSE2に移行する。
ステップSE3の判定結果が「NO」の場合、プロセッサ41は、受信したデータが測定結果通知であるか否かを判定する(SE8)。この判定結果が「NO」の場合、処理はステップSE2に移行する。ステップSE8の判定結果が「YES」の場合、プロセッサ41は、グループテーブル621のレコードのうち、受信した測定結果通知の送信元のゲーム装置50に対応するレコードを更新する(SE9)。次にプロセッサ41は、当該レコードのグループIDのグループについて測定を完了したか否かを判定する(SE10)。この判定は、グループテーブル621を参照し、当該レコードと同じグループIDのレコードの全てに測定データが格納されているか否かを調べることにより行われる。この判定結果が「NO」の場合、処理はステップSE2に戻る。
ステップSE10の判定結果が「YES」の場合、プロセッサ41は、グループテーブル621を参照し、測定を完了したグループについて、親を決定する決定処理を行う(SE11)。具体的には、当該グループに対応する全てのレコードに格納された測定データのうち最小の値を示す唯一のデータに対応するゲーム装置50を親とする。次にプロセッサ41は、決定した親を示す決定通知を、当該グループに属する全てのゲーム装置50へ送信する(SE12)。次にプロセッサ41は、当該グループに対応する全てのレコードをグループテーブル621から削除する。以降、処理はステップSE2に以降する。
[クライアント処理]
図17は、ゲーム装置50のプロセッサ11が行うクライアント処理のフローチャートである。クライアント処理では、プロセッサ11は、まず参加要求をマッチングサーバ装置60へ送信する(SF1)。次にプロセッサ11は、マッチングサーバ装置60から測定要求を受信するまで、マッチングサーバ装置60から測定要求を受信したか否かを判定する処理(SF2)を繰り返し行う。測定要求を受信し、この処理の判定結果が「YES」となると、プロセッサ11は、図9のステップSD6と同様の応答測定処理を行う(SF3)。ただし、ステップSF3の応答測定処理では、生成した測定データを含む測定結果通知の送信先は、仮親ではなく、マッチングサーバ装置60となる。
次にプロセッサ11は、マッチングサーバ装置60から決定通知を受信するまで、マッチングサーバ装置60から決定通知を受信したか否かを判定する処理(SF4)を繰り返し行う。決定通知を受信し、この処理の判定結果が「YES」となると、プロセッサ11は、受信した決定通知に基づいて参加者テーブルT4を生成する(SF5)。ここで生成される参加者テーブルT4は、図8のステップSC9や図9のステップSD8により得られる参加者テーブルT4と同等である。
[動作例]
図18は、ゲームシステム200の動作例を示すシーケンス図である。この動作例では、まず店舗Aに配置されている一つのゲーム装置50(ゲーム装置50A)のプロセッサ11がクライアント処理を開始し、参加要求をマッチングサーバ装置60へ送信する。次に店舗Bに配置されている一つのゲーム装置50(ゲーム装置50B)のプロセッサ11がクライアント処理を開始し、参加要求をマッチングサーバ装置60へ送信する。次に店舗Cに配置されている一つのゲーム装置50(ゲーム装置50C)のプロセッサ11がクライアント処理を開始し、参加要求をマッチングサーバ装置60へ送信する。
マッチングサーバ装置60のプロセッサ41は既にサーバ処理を実行しており、ゲーム装置50Cからの参加要求を受信すると、最新ID622のグループに属するゲーム装置50A〜50Cの各々へ、応答時間の測定を要求する測定要求を送信する。ゲーム装置50Aへの測定要求にはゲーム装置50Bおよび50Cの通信アドレスが含まれており、ゲーム装置50Bへの測定要求にはゲーム装置50Aおよび50Cの通信アドレスが含まれており、ゲーム装置50Cへの測定要求にはゲーム装置50Aおよび50Bの通信アドレスが含まれている。
測定要求を受信したゲーム装置50A〜50Cの各プロセッサ11は、それぞれ、応答測定処理を行う。応答測定処理の結果、ゲーム装置50A〜50Cの各々では、当該ゲーム装置50の応答時間の和を示す測定データが生成される。そして、ゲーム装置50A〜50Cの各プロセッサ11は、生成した測定データを含む測定結果通知をマッチングサーバ装置60へ送信する。これらの測定データを受信したマッチングサーバ装置60のプロセッサ41は、決定処理を行う。すなわち、受信した測定データのうち最小の値を示す唯一の測定データの送信元であるゲーム装置50(ここではゲーム装置50B)を親とする。次に、マッチングサーバ装置60のプロセッサ41は、親であるゲーム装置50Bの通信アドレスを含む決定通知を、ゲーム装置50A〜50Cへ送信する。
上記の決定通知を受信したゲーム装置50A〜50Cの各プロセッサ11は、受信した決定通知に基づいて参加者テーブルT4を生成し、クライアント処理を終了する。以降、ゲーム装置50Bのプロセッサ11は参加者テーブルT4を参照して親処理を開始する。一方、ゲーム装置50Aのプロセッサ11は参加者テーブルT4を参照して子処理を開始する。これと同様に、ゲーム装置50Cのプロセッサ11は参加者テーブルT4を参照して子処理を開始する。
以上の説明から明らかなように、ゲームシステム200によれば、ゲームシステム100と同様の効果を得ることができる。
<第3の実施の形態>
図19は、本発明の第3の実施の形態に係るゲームシステム300の全体構成を示すブロック図である。ゲームシステム300がゲームシステム100と異なる点は、一つの店舗Aに閉じたシステムである点である。このため、ゲームシステム300は、各々が店舗AのLANに接続された3つ以上のゲーム装置70のみを有する。
[ゲーム装置70]
図20は、ゲーム装置70の構成を示すブロック図である。ゲーム装置70がゲーム装置10と異なる点は、不揮発性メモリ18に代えて不揮発性メモリ71を有する点と、書き換え可能メモリ19に代えて書き換え可能メモリ72を有する点である。不揮発性メモリ71は、例えばROMおよびEEPROM(Electronically Erasable and Programmable ROM)であり、プログラム711および同報アドレスデータ712を記憶している。
プログラム711は、プロセッサ11に実行されることによってゲーム装置50に各種の処理(後述の仮決定処理、仮親応答処理、仮親処理、仮子処理、親処理、子処理)を行わせる。以降の説明でプロセッサ11が行う処理はプログラム711を用いて行われる。同報アドレスデータ712は、仮親であることを示す仮親応答の返信を要求する仮親応答要求の送信先のゲーム装置70の通信アドレスを含むデータであり、全てのゲーム装置70の通信アドレスを含んでいる。また、書き換え可能メモリ72は、プロセッサ11が受信したデータの送信元の装置の通信アドレスの一時的な記憶にも用いられる。
書き換え可能メモリ72は、例えばRAMであり、その記憶領域には、参加者のデータを格納する参加者テーブルT5が確保される。参加者テーブルT5は参加者にそれぞれ対応する3つのレコードを有する。各レコードには、参加者のゲーム装置70の通信アドレスと当該ゲーム装置70の種別(親/子)を示すフラグとが格納される。また、書き換え可能メモリ72は、自己が仮親として参加要求を待ち受けているか否かを示す仮親フラグ721を記憶する。仮親フラグ721の初期値は、自己が仮親として参加要求を待ち受けていないことを示す値(例えば0)である。また、書き換え可能メモリ72は、プロセッサ11が受信したデータの送信元の装置の通信アドレスの一時的な記憶にも用いられる。なお、不揮発性メモリ71または書き換え可能メモリ72は自己の通信アドレスを記憶する。
[仮決定処理]
図21は、ゲーム装置70のプロセッサ11が行う仮決定処理のフローチャートである。仮決定処理では、プロセッサ11は、同報アドレスデータ712を参照して、仮親応答要求を全てのゲーム装置70へ同報送信する(SG1)。次にプロセッサ11は、仮親応答を受信したか否かを判定し(SG2)、この判定結果が「NO」の場合には、仮親応答要求の同報送信からの経過時間が所定時間に達したか否かを判定し(SG3)、この判定結果が「NO」の場合には、処理をステップSG2に戻す。
ステップSG2の判定結果が「YES」となると、プロセッサ11は、自己の通信アドレスを格納した参加者テーブルT5を生成する一方、仮親フラグ721の値を、自己が仮親として参加要求を待ち受けていないことを示す値にする(SG4)。そして、仮決定処理を終了する。一方、ステップSG3の判定結果が「YES」となると、プロセッサ11は、自己の通信アドレスを格納した参加者テーブルT5を生成する一方、仮親フラグ721の値を、自己が仮親として参加要求を待ち受けていることを示す値(例えば1)にする(SG5)。そして、仮決定処理を終了する。
[仮親応答処理]
図22は、ゲーム装置70のプロセッサ11が行う仮親応答処理のフローチャートである。仮親応答処理では、プロセッサ11は、仮親応答要求を受信するまで、仮親応答要求を受信したか否かを判定する処理(SH1)を繰り返す。この処理の判定結果が「YES」となると、プロセッサ11は、仮親フラグ721の値が、仮親を示す値であるか否かを判定する(SH2)。この判定結果が「NO」であれば、処理はステップSH1に戻る。ステップSH2の判定結果が「YES」であれば、プロセッサ11は、受信した仮親応答要求の送信元であるゲーム装置70へ、仮親応答を送信する(SH3)。以降、処理はステップSH1に戻る。
[仮親処理および仮子処理]
図23は、ゲーム装置70のプロセッサ11が行う仮親処理のフローチャートである。この仮親処理が、図8の仮親処理と異なる点は、登録抹消通知を送信する処理(SC5)に代えて、仮親フラグ721の値を仮親として参加要求を待ち受けていないことを示す値とする処理(SJ1)を有する点である。仮子処理は、図9に示す通りである。以上の説明から明らかなように、本実施の形態において、ゲーム装置70が有する仮親フラグ721の値が仮親として参加要求を待ち受けていることを示す値となる期間(仮決定処理のステップSG5から仮親処理のステップSJ1まで)を除く期間にあっては、当該ゲーム装置70から仮親応答が送信されることはないから、当該ゲーム装置70へ参加要求が送信されることもない。よって、本実施の形態によれば、複数のグループが並存し得る環境下であっても、仮親応答および参加要求の無駄な送信を抑制することができる。
以上の説明から明らかなように、ゲームシステム300によれば、ゲームシステム100と同様の効果を得ることができる。
<変形例>
上述した各実施の形態では、親のゲーム装置が各陣の損害を特定するようにしたが、各ゲーム装置が自陣の損害を特定し、当該損害を示す損害データ(特定のデータ)を子のゲーム装置が親のゲーム装置へ送信するようにしてもよい。この場合、親から子へ3つの損害データを渡し、各子において損害の比率を特定するようにしてもよいし、親において損害の比率(戦車ゲームの状態)を決定し、これを示す状態データを各子に渡すようにしてもよい。前者の場合、損害データは子から親を経由して他の子へそのまま渡されるべきデータといえる。後者の場合、損害データを反映した状態データが親から子へ渡されるから、損害データは形式を変えつつ子から親を経由して他の子へ渡されるべきデータといえる。
上述した各実施の形態では、各応答時間の測定を1回の計測(送受信)で行うようにしたが、複数回の計測で行うようにしてもよい。この場合には、例えば、複数回の計測結果の平均値を測定結果とすることができるから、測定の精度が向上する。
上述した各実施の形態では、参加者の数を3人としたが、4人以上としてもよい。また、参加者の数が可変であってもよい。また、戦車ゲーム以外のゲームであってもよい。また、本発明は、多人数参加型の任意のゲームに適用可能である。また、本発明は、ゲーム以外の共同作業にも適用可能である。そのような共同作業としては、チャットを例示することができる。
本発明の第1の実施の形態に係るゲームシステム100の全体構成を示すブロック図である。 ゲームシステム100を構成するゲーム装置10に表示される画像の一例を示す図である。 親の割り当てと応答時間との関係を説明するための図である。 ゲーム装置10の構成を示すブロック図である。 ゲームシステム100を構成するマッチングサーバ装置40の構成を示すブロック図である。 マッチングサーバ装置40のプロセッサ41が行うロビー処理のフローチャートである。 ゲーム装置10のプロセッサ11が行う仮決定処理のフローチャートである。 ゲーム装置10のプロセッサ11が行う仮親処理のフローチャートである。 ゲーム装置10のプロセッサ11が行う仮子処理のフローチャートである。 ゲームシステム100の動作例を示すシーケンス図である。 ゲームシステム100の動作例を示すシーケンス図である。 ゲームシステム100の動作例を示すシーケンス図である。 本発明の第2の実施の形態に係るゲームシステム200の全体構成を示すブロック図である。 ゲームシステム200を構成するゲーム装置50の構成を示すブロック図である。 ゲームシステム200を構成するマッチングサーバ装置60の構成を示すブロック図である。 マッチングサーバ装置60のプロセッサ41が行うサーバ処理のフローチャートである。 ゲーム装置50のプロセッサ11が行うクライアント処理のフローチャートである。 ゲームシステム200の動作例を示すシーケンス図である。 本発明の第3の実施の形態に係るゲームシステム300の全体構成を示すブロック図である。 ゲームシステム300を構成するゲーム装置70の構成を示すブロック図である。 ゲーム装置70のプロセッサ11が行う仮決定処理のフローチャートである。 ゲーム装置70のプロセッサ11が行う仮親応答処理のフローチャートである。 ゲーム装置70のプロセッサ11が行う仮親処理のフローチャートである。
符号の説明
1 インターネット
10,50,70 ゲーム装置
100,200,300 ゲームシステム
11 プロセッサ
14 入力部
15 表示部
17 通信インターフェイス
18,51,71 不揮発性メモリ
181,431 プログラム
19,72 書き換え可能メモリ
25 LAN
40,60 マッチングサーバ装置

Claims (7)

  1. 3つ以上の通信装置がなすグループであって前記3つ以上の通信装置のうち1つが仮親となるグループを他の通信装置とともになす通信装置であって、
    ネットワークとの間で信号を送受する通信インターフェイスと、
    前記通信インターフェイスを用いてデータを送受信する送受信部と、
    当該通信装置を基点とした他の通信装置の各々に対する応答時間を当該通信装置の応答時間としたとき、前記送受信部を用いて当該通信装置の応答時間を測定し、測定した応答時間の和を示す測定データを生成する測定データ生成部と、
    当該通信装置が仮親であるか否かに応じて動作する仮親依存部とを有し、
    前記仮親依存部は、
    当該通信装置が仮親でない場合には、前記測定データを仮親である他の通信装置へ送信し、仮親である他の通信装置から親である1つの通信装置を示す決定データを受信し、
    当該通信装置が仮親である場合には、前記測定データを自データとする一方で他の通信装置から測定データを受信し、全ての測定データのうち最小の値を示す唯一のデータが前記自データである場合には、当該通信装置を示す前記決定データを他の通信装置の各々へ送信し、全ての測定データのうち最小の値を示す唯一のデータが前記自データでない場合には、当該唯一のデータの送信元である他の通信装置を示す前記決定データを他の通信装置の各々へ送信し、
    前記送受信部は、特定のデータを送信するときには、当該送信を、当該通信装置が親である場合には直接的な通信により行い、当該通信装置が親でない場合には親である通信装置を介した間接的な通信により行う、
    ことを特徴とする通信装置。
  2. プレイヤーの操作に応じた操作信号を出力する入力部と、
    前記操作信号に基づいて前記特定のデータを生成する特定データ生成部と、
    前記送受信部が受信した特定のデータに基づいてゲームを進行させる制御部と、
    を有することを特徴とする請求項1に記載の通信装置。
  3. 1つのグループをなす3つ以上の通信装置を有し、
    前記グループをなす通信装置のうち1つが仮親となり、
    前記3つ以上の通信装置の各々について、当該通信装置以外の全ての通信装置を他の通信装置とし、当該通信装置を基点とした他の通信装置の各々に対する応答時間を当該通信装置の応答時間としたとき、
    前記3つ以上の通信装置の各々は、
    ネットワークとの間で信号を送受する通信インターフェイスと、
    前記通信インターフェイスを用いてデータを送受信する送受信部と、
    前記送受信部を用いて当該通信装置の応答時間を測定し、測定した応答時間の和を示す測定データを生成する測定データ生成部と、
    当該通信装置が仮親であるか否かに応じて動作する仮親依存部とを有し、
    前記仮親依存部は、
    当該通信装置が仮親でない場合には、前記測定データを仮親である他の通信装置へ送信し、仮親である他の通信装置から親である1つの通信装置を示す決定データを受信し、
    当該通信装置が仮親である場合には、前記測定データを自データとする一方で他の通信装置から測定データを受信し、全ての測定データのうち最小の値を示す唯一のデータが前記自データである場合には、当該通信装置を示す前記決定データを他の通信装置の各々へ送信し、全ての測定データのうち最小の値を示す唯一のデータが前記自データでない場合には、当該唯一のデータの送信元である他の通信装置を示す前記決定データを他の通信装置の各々へ送信し、
    前記送受信部は、特定のデータを送信するときには、当該送信を、当該通信装置が親である場合には直接的な通信により行い、当該通信装置が親でない場合には親である通信装置を介した間接的な通信により行う、
    ことを特徴とする通信システム。
  4. サーバ装置と1つのグループをなす3つ以上の通信装置とを有し、
    前記3つ以上の通信装置の各々について、当該通信装置以外の全ての通信装置を他の通信装置とし、当該通信装置を基点とした他の通信装置の各々に対する応答時間を当該通信装置の応答時間としたとき、
    前記3つ以上の通信装置の各々は、
    ネットワークとの間で信号を送受する通信インターフェイスと、
    前記通信インターフェイスを用いてデータを送受信する送受信部と、
    前記送受信部を用いて当該通信装置の応答時間を測定し、測定した応答時間の和を示す測定データを生成する測定データ生成部と、
    前記測定データを前記サーバ装置へ送信する測定データ送信部と、
    前記サーバ装置から親である1つの通信装置を示す決定データを受信する決定データ受信部とを有し、
    前記サーバ装置は、前記3つ以上の通信装置から前記測定データを受信し、受信した測定データのうち1つの測定データが最小の値を示す場合には、当該測定データの送信元である通信装置を示す前記決定データを前記3つ以上の通信装置の各々へ送信し、
    前記送受信部は、特定のデータを送信するときには、当該送信を、当該通信装置が親である場合には直接的な通信により行い、当該通信装置が親でない場合には親である通信装置を介した間接的な通信により行う、
    ことを特徴とする通信システム。
  5. 前記3つ以上の通信装置を含む4つ以上の通信装置を有し、
    前記4つ以上の通信装置の各々は前記グループに属することが可能である、
    ことを特徴とする請求項3または4に記載の通信システム。
  6. 前記グループをなす通信装置の各々は、
    プレイヤーの操作に応じた操作信号を出力する入力部と、
    前記操作信号に基づいて前記特定のデータを生成する特定データ生成部と、
    前記送受信部が受信した特定のデータに基づいてゲームを進行させる制御部と、
    を有することを特徴とする請求項3ないし5のいずれか1項に記載の通信システム。
  7. 3つ以上の通信装置がなすグループであって前記3つ以上の通信装置のうち1つが仮親となるグループを他の通信装置とともになす通信装置を、
    ネットワークとの間で信号を送受する通信インターフェイスと、
    前記通信インターフェイスを用いてデータを送受信する送受信部と、
    当該通信装置を基点とした他の通信装置の各々に対する応答時間を当該通信装置の応答時間としたとき、前記送受信部を用いて当該通信装置の応答時間を測定し、測定した応答時間の和を示す測定データを生成する測定データ生成部と、
    当該通信装置が仮親であるか否かに応じて動作する仮親依存部として機能させるプログラムであって、
    前記仮親依存部は、
    当該通信装置が仮親でない場合には、前記測定データを仮親である他の通信装置へ送信し、仮親である他の通信装置から親である1つの通信装置を示す決定データを受信し、
    当該通信装置が仮親である場合には、前記測定データを自データとする一方で他の通信装置からデータを受信して他データとし、前記自データおよび前記他データのうち最小の値を示す唯一のデータが前記自データである場合には、当該通信装置を示す前記決定データを他の通信装置の各々へ送信し、前記自データおよび前記他データのうち最小の値を示す唯一のデータが前記他データのいずれか一つである場合には、当該一つの送信元である他の通信装置を示す前記決定データを他の通信装置の各々へ送信し、
    前記送受信部は、特定のデータを送信するときには、当該送信を、当該通信装置が親である場合には直接的な通信により行い、当該通信装置が親でない場合には親である通信装置を介した間接的な通信により行う、
    ことを特徴とするプログラム。
JP2006217931A 2006-08-10 2006-08-10 通信装置、通信システムおよびプログラム Active JP4116050B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2006217931A JP4116050B2 (ja) 2006-08-10 2006-08-10 通信装置、通信システムおよびプログラム
PCT/JP2007/065408 WO2008018436A1 (fr) 2006-08-10 2007-08-07 Dispositif de communication, système de communication et programme
EP07792077A EP2050486A4 (en) 2006-08-10 2007-08-07 COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND PROGRAM
US12/375,962 US8224992B2 (en) 2006-08-10 2007-08-07 Communication device, communication system therefor, and computer program therefor
KR1020097004871A KR101065578B1 (ko) 2006-08-10 2007-08-07 통신 장치, 통신 시스템 및 기록 매체
CN2007800298396A CN101500671B (zh) 2006-08-10 2007-08-07 通信设备、通信系统以及通信方法
HK09108834.4A HK1130721A1 (en) 2006-08-10 2009-09-25 Communication device, communication system, and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006217931A JP4116050B2 (ja) 2006-08-10 2006-08-10 通信装置、通信システムおよびプログラム

Publications (2)

Publication Number Publication Date
JP2008036323A true JP2008036323A (ja) 2008-02-21
JP4116050B2 JP4116050B2 (ja) 2008-07-09

Family

ID=39032966

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006217931A Active JP4116050B2 (ja) 2006-08-10 2006-08-10 通信装置、通信システムおよびプログラム

Country Status (7)

Country Link
US (1) US8224992B2 (ja)
EP (1) EP2050486A4 (ja)
JP (1) JP4116050B2 (ja)
KR (1) KR101065578B1 (ja)
CN (1) CN101500671B (ja)
HK (1) HK1130721A1 (ja)
WO (1) WO2008018436A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010064658A1 (ja) * 2008-12-02 2010-06-10 株式会社コナミデジタルエンタテインメント ゲームシステム
JP2013254491A (ja) * 2012-06-06 2013-12-19 Apple Inc ゲームネットワークアカウントに付加的な機能を与えるためのソーシャルネットワークアカウントの使用

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050202872A1 (en) * 2004-03-11 2005-09-15 Kari Niemela Game data and speech transfer to and from wireless portable game terminal
JP5306640B2 (ja) 2007-12-17 2013-10-02 明産株式会社 シートのたるみ評価方法および評価装置
KR101349814B1 (ko) * 2010-01-29 2014-01-08 에스케이플래닛 주식회사 다중 게임을 위한 호스트 단말 선정 방법
EP2722085A1 (en) * 2012-10-18 2014-04-23 Bigpoint Inc. Online game system, method, and computer-readable medium
JP6007075B2 (ja) * 2012-11-16 2016-10-12 任天堂株式会社 サービス提供システム、サービス提供方法、サーバシステムおよびサービス提供プログラム
US11238527B2 (en) * 2014-10-07 2022-02-01 Kashable Llc System and method of providing a benefit
JP6766495B2 (ja) * 2016-07-21 2020-10-14 富士通株式会社 プログラム、コンピュータ及び情報処理方法
CN107786557B (zh) * 2017-10-25 2021-04-16 Oppo广东移动通信有限公司 一种组队游戏加速方法及相关产品
WO2020067829A1 (en) * 2018-09-28 2020-04-02 Samsung Electronics Co., Ltd. Integrated access backhaul configuration

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5820463A (en) * 1996-02-06 1998-10-13 Bell Atlantic Network Services, Inc. Method and apparatus for multi-player gaming over a network
US5838909A (en) * 1996-05-23 1998-11-17 Sandcastle, Inc. Reducing latency when synchronizing access to a multi-user database over a network
US6038599A (en) * 1997-04-23 2000-03-14 Mpath Interactive, Inc. Latency server and matchmaker
US6012096A (en) * 1998-04-23 2000-01-04 Microsoft Corporation Method and system for peer-to-peer network latency measurement
JP2001198363A (ja) * 1999-09-14 2001-07-24 Sega Corp データ処理方法
WO2001057678A1 (fr) * 2000-02-02 2001-08-09 Nextech Corporation Procede de traitement destine a un systeme de reseau et un tel systeme
US6854012B1 (en) * 2000-03-16 2005-02-08 Sony Computer Entertainment America Inc. Data transmission protocol and visual display for a networked computer system
US6653545B2 (en) * 2002-03-01 2003-11-25 Ejamming, Inc. Method and apparatus for remote real time collaborative music performance
US7133927B2 (en) * 2002-04-29 2006-11-07 Lucent Technologies Inc. Method and apparatus for supporting real-time multi-user distributed applications
JP2003325982A (ja) * 2002-05-13 2003-11-18 Xside Corp ゲーム支援システム、ゲーム支援方法、ゲーム制御装置、ゲーム制御プログラム、データ処理装置およびデータ処理プログラム
US7016942B1 (en) * 2002-08-05 2006-03-21 Gary Odom Dynamic hosting
JP2004174091A (ja) 2002-11-28 2004-06-24 Nintendo Co Ltd 通信ゲームシステム
US7342896B2 (en) * 2003-03-03 2008-03-11 Sharp Laboratories Of America, Inc. Centralized network organization and topology discover in Ad-Hoc network with central controller
JP3632963B2 (ja) * 2003-05-29 2005-03-30 コナミ株式会社 ネットワーク対戦型端末装置、方法及びプログラム
JP4073885B2 (ja) * 2003-06-17 2008-04-09 任天堂株式会社 ゲームシステム、ゲーム装置およびゲームプログラム
JP4064355B2 (ja) * 2004-01-20 2008-03-19 任天堂株式会社 ゲームシステムおよびゲーム装置
JP3888558B2 (ja) * 2004-11-18 2007-03-07 任天堂株式会社 無線ネットワークシステムおよび無線通信プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010064658A1 (ja) * 2008-12-02 2010-06-10 株式会社コナミデジタルエンタテインメント ゲームシステム
JP2013254491A (ja) * 2012-06-06 2013-12-19 Apple Inc ゲームネットワークアカウントに付加的な機能を与えるためのソーシャルネットワークアカウントの使用
US9569750B2 (en) 2012-06-06 2017-02-14 Apple Inc. Utilizing a social network account to provide additional functionality to a gaming network account
US10143927B2 (en) 2012-06-06 2018-12-04 Apple Inc. Utilizing a social network account to provide additional functionality to a gaming network account

Also Published As

Publication number Publication date
WO2008018436A1 (fr) 2008-02-14
KR20090045321A (ko) 2009-05-07
CN101500671B (zh) 2012-05-30
US8224992B2 (en) 2012-07-17
JP4116050B2 (ja) 2008-07-09
US20100022309A1 (en) 2010-01-28
KR101065578B1 (ko) 2011-09-19
HK1130721A1 (en) 2010-01-08
EP2050486A1 (en) 2009-04-22
EP2050486A4 (en) 2010-03-31
CN101500671A (zh) 2009-08-05

Similar Documents

Publication Publication Date Title
JP4116050B2 (ja) 通信装置、通信システムおよびプログラム
TWI326610B (ja)
US20070298879A1 (en) Game Device
JP4807517B2 (ja) 情報処理装置、データ処理方法、プログラム、および記録媒体
JP5468247B2 (ja) ゲームシステム
JP2013059632A (ja) ゲーム端末、通信システム、コンピュータプログラムおよび情報記録媒体
JP2015134197A (ja) ビデオゲーム処理プログラム、及びビデオゲーム処理システム
US8137198B2 (en) Game system, method for controlling game system, game device therefor, and program therefor
JP6360691B2 (ja) ゲームシステム、情報処理装置、制御方法、及び記録媒体
EP2044988A1 (en) Game system, game terminal, and server device
JP5474391B2 (ja) プログラム、情報記憶媒体、ゲーム機、及びゲームシステム
JP2008229126A (ja) ゲームシステム、プログラム、及び情報記憶媒体
JP4242899B2 (ja) ゲーム端末およびプログラム
JP5258818B2 (ja) ゲームシステム及びゲーム機
JP4005614B2 (ja) ネットワークゲームシステム、ゲーム装置、ゲーム装置の制御方法及びプログラム
JP2009011534A (ja) ゲームシステム、プログラム、及び情報記憶媒体
JP2012125451A (ja) ゲームシステム、ゲームシステムの制御方法、プログラム及び情報記憶媒体
JP2008178486A (ja) 情報出力装置、ゲームシステム、プログラムおよび記録媒体
JP2009183585A (ja) 携帯ゲーム端末、ゲーム装置、ゲームシステム及びプログラム
US20210086078A1 (en) Internet of things based video game play
JP5848399B2 (ja) プログラム及びゲームシステム
JP2008167962A (ja) ゲーム端末、ゲームシステム、プログラムおよび記録媒体
JP2011234987A (ja) ゲーム装置、ゲームシステム、ゲーム制御方法、ならびに、プログラム
JP2008173366A (ja) ゲームシステム、サーバ装置およびプログラム
JP2014033724A (ja) マッチング装置、ゲームシステム、マッチング方法、マッチングプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080121

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: 20080415

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080416

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

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4116050

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: 20110425

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120425

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: 20130425

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: 20130425

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140425

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250