JP2005040629A - ネットワーク対戦型ゲームシステム、方法、装置及びプログラム - Google Patents

ネットワーク対戦型ゲームシステム、方法、装置及びプログラム Download PDF

Info

Publication number
JP2005040629A
JP2005040629A JP2004303061A JP2004303061A JP2005040629A JP 2005040629 A JP2005040629 A JP 2005040629A JP 2004303061 A JP2004303061 A JP 2004303061A JP 2004303061 A JP2004303061 A JP 2004303061A JP 2005040629 A JP2005040629 A JP 2005040629A
Authority
JP
Japan
Prior art keywords
master
game
terminal device
terminal
network
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.)
Pending
Application number
JP2004303061A
Other languages
English (en)
Other versions
JP2005040629A5 (ja
Inventor
Ryuhei Hirota
竜平 廣田
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 Group Corp
Original Assignee
Konami Corp
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
Application filed by Konami Corp filed Critical Konami Corp
Priority to JP2004303061A priority Critical patent/JP2005040629A/ja
Publication of JP2005040629A publication Critical patent/JP2005040629A/ja
Publication of JP2005040629A5 publication Critical patent/JP2005040629A5/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 ゲームの種類を問わず、ネットワーク対戦型のゲームを実現する。
【解決手段】 各端末装置A,B,Cは、センターサーバ100から個人データを受信後、自分自身が最初のゲーム進行単位でマスタ端末になるかを、マスタ決定ルールに基づいてそれぞれに判断する。この例では、端末装置Aが最初のマスタ端末になる。最初のマスタ端末決定後、端末装置Aをマスタとし、端末装置B,Cをクライアントとしてゲームを開始する(#1,#2)。マスタ端末Aは、最初のゲーム進行単位が終了すると、次のマスタ端末を決定する。端末端末Aは、次のマスタ端末の指定、例えばIPアドレスを記述した切替通知を端末装置B,Cに送信する(#3)。さらに、端末装置Aは、ゲームの続行に必要なデータであるゲームデータを、次のマスタ端末、この例では端末装置Bに送信する(#4)。ゲームデータには、全ての端末装置200の個人データも含まれている。
【選択図】 図3

Description

本発明は、ネットワークを介して接続された端末装置同士が対戦するゲームに関する。なかでも、アクション性の高いゲーム、すなわちプレイヤの操作に対する画面出力や音声出力の応答速度がゲームの進行に大きく影響するゲームに関する。
インターネットなどのネットワークを介して複数のプレイヤが対戦できるようになっているゲームとして、麻雀ゲームや一部のロールプレイングゲームを挙げることができる。ネットワーク対戦型ゲームでは、プレイヤが操作する端末装置のいずれかがマスタとなり、他の端末装置はクライアントとなるのが通常である。マスタ端末はゲームの進行を管理し、クライアント端末はゲームの進行状況を出力する。
より詳しくは、マスタ端末は、1)プレイヤによる指示入力を受け付け、2)プレイヤによりクライアント端末へ入力されたデータを各クライアント端末から受信し、3)マスタ端末における指示入力及びクライアント端末からの指示入力に基づいてゲームの進行を管理し、4)ゲームの進行状況に基づいて自端末で画面出力や音声出力を制御し、5)ゲームの進行状況を示す出力データを各クライアント端末に送信する。一方、クライアント端末は、1)プレイヤの指示入力を受け付け、2)プレイヤにより入力されたデータをマスタ端末に送信し、3)出力データをマスタ端末から受信し、4)受信した出力データに基づいて画面出力や音声出力を制御する。
麻雀ゲームのようなテーブルゲーム、一部のロールプレイングゲームなどにおいてはネットワーク対戦が実現されている。しかし、シューティングゲーム・レーシングゲーム・球技ゲームなどのアクションゲーム、リアルタイムシミュレーションゲーム、ウォーゲームなどでは、未だにネットワーク対戦が実現されていない。これは、アクションゲームなどではプレイヤの操作がリアルタイムにゲームに反映されることが望まれる反面、ネットワーク対戦ではマスタ端末とクライアント端末とでゲームの応答性に差があることが分かっているからである。
すなわち、プレイヤの操作結果が画面表示や音声出力に反映されるまでの応答時間が、マスタ端末とクライアント端末とで異なると予想される。なぜなら、クライアント端末は、ネットワークを介してマスタ端末からフレームデータや音声データ等の出力データを受信しなければ、画面の更新や音声出力をすることができない。しかし、マスタ端末からクライアント端末へ出力データを送信する過程では、様々な理由によりネットワーク遅延やパケットロスが発生する。
ネットワーク遅延は、麻雀ゲームなどでは問題にならない。これは、麻雀ゲームなどでは、プレイヤの操作に対する画面出力や音声出力の応答性がゲーム結果に与える影響は、アクションゲームなどにおける影響に比して小さいからである。また、パケットロスが生じても、麻雀ゲームなどでは画面変化や音声変化が少ないため、パケットロスのゲームにおける影響が小さくてすむ。
しかし、上記アクション性の高いゲームでは、ネットワーク遅延やパケットロスは、マスタ端末のプレイヤに対しクライアント端末のプレイヤの不利を招く。そのため、これらのゲームでのネットワーク対戦を阻む要因となっている。なぜなら、アクション性の高いゲームにおいては、クライアント端末における画面出力や音声出力のネットワーク遅延は、マスタ端末に比較して顕著であり、ゲームの勝敗に影響してしまう。また、ゲーム空間内のオブジェクトの動きが重要なゲームにおいてパケットロスが発生すれば、画面表示が乱れ、クライアント端末のプレイヤに違和感を与えてしまい、さらにはゲームの勝敗に影響する場合がある。このような問題の一方で、社会のネットワーク化が進むにつれ、様々なゲームにおいてネットワーク対戦の実現が期待されている。
本発明は、ゲームの種類を問わず、ネットワーク対戦型のゲームを実現することを目的とする。
また本発明は、ゲームの種類を問わず、ネットワーク対戦型ゲームのマスタ端末とクライアント端末との応答性の差がプレイヤのゲーム環境に及ぼす影響を解決することを目的とする。
前記課題を解決するために、本願発明1は、ネットワークを介して接続される端末装置を含み、いずれかの端末装置がゲームの進行を管理するマスタになりその他の端末装置がクライアントとなるネットワーク対戦型ゲームシステムを提供する。このシステムでは、
・マスタの端末装置及びクライアントの端末装置に前記ネットワークを介してデータを送受信させることにより、複数のゲーム進行単位を含んでなるゲームを実行し、
・1ゲーム進行単位の開始に先立ち、開始されようとしているゲーム進行単位でのマスタを決定し、
・前記ゲームの途中である1ゲーム進行単位の終了後、マスタである端末装置を切り替え、
・マスタである端末は、マスタの切替中はクライアントの端末装置からのデータを受け付けない。
このゲームシステムはゲームの途中でマスタ端末を切り替える。切り替わるタイミングは、ゲーム進行単位の終了後である。マスタの切替中は、マスタ端末はクライアントの端末装置における指示入力のデータや、自端末装置における指示入力を受け付けない。
ここで、ゲームは複数のゲーム進行単位を含んで構成されている。ゲーム進行単位とは、例えば、サッカーゲームにおける前半と後半、野球ゲームにおける各回の裏と表、テニスゲームにおける各ゲーム、ボクシングゲームにおける1ラウンドを挙げることができる。また例えば、ゲームの進行上端末装置がプレイヤからの入力データを受け付けない時間帯と時間帯との間をゲーム進行単位とすることもできる。サッカーゲームを例に挙げれば、前半と後半との間のハーフタイム、ファウル発生などの場合にマスタは入力データを受け付けないこととする。そして、そのような事態が生じるたびにゲーム進行単位を終了させ、マスタを切り替えることができる。上述のようなゲームの進行上区切りとなるタイミングでゲーム進行単位が区切られると、ゲーム処理とマスタの切替処理との相乗効果を得ることができ好ましい。
また例えば、ゲームの進行とは独立に、ゲームにおける所定時間長さをゲーム進行単位としても良い。つまり、所定時間Tの間を1ゲーム進行単位とし、T時間毎にマスタを切り替えることもできる。
本発明は、アクション性の高いゲームを行うゲームシステムに適用すると好適である。すなわち、プレイヤの操作に対する応答性がゲームの勝敗に大きく影響するゲームに、本発明は好適に用いられる。なぜなら、マスタ端末ではプレイヤの指示入力に対する応答が早いので、プレイヤは有利にゲームを進めることができる。ゲーム中にマスタ端末を次々に切り替えることにより、勝負上有利な機会を全ての端末装置に与える。そのため、アクション性の高いゲームにおいてプレイヤが有利にゲームを進めることができる機会を、各プレイヤが実質的に均等に享受することができる。
発明2は、前記発明1において、マスタである端末装置から次のマスタになる端末装置へ前記ゲームの続行に必要なデータであるゲームデータを送信し、マスタである端末は、少なくとも前記ゲームデータの送信中はクライアントの端末装置からのデータを受け付けないネットワーク対戦型ゲームシステムを提供する。
マスタとなる端末装置が次々にゲームデータを引き継ぐことにより、マスタ端末が変わっても、ゲームシステム全体としてゲームを実行することができる。
発明3は、前記発明1において、マスタである端末装置はクライアントである端末装置にゲーム進行単位の終了を通知し、前記通知を受信したクライアントである端末装置は、前記マスタである端末装置へのデータの送信を休止する、ネットワーク対戦型ゲームシステムを提供する。
ゲーム進行単位の終了後にマスタ端末からクライアント端末への無駄なデータの送信を休止することにより、ネットワーク負荷を軽減すると共に、マスタ端末の処理の負荷を軽減することができる。
発明4は、前記発明1において、前記ゲームの進行上の区切りにおいてマスタである端末装置を切り替えるネットワーク対戦型ゲームシステムを提供する。
例えば、サッカーゲームにおけるハーフタイムやファウルの発生時、野球ゲームにおける裏と表の切替時などに端末装置を切り替えることにより、ゲーム処理とマスタの切替処理との相乗効果を得ることができ好ましい。
本発明の別の態様として、前記ゲームデータの送信に先立ち、次のマスタに決定した端末装置の指定を含む切替通知を、現在のマスタである端末装置から少なくとも次のマスタに決定した端末装置へ、前記ネットワークを介して送信するネットワーク対戦型ゲームシステムが挙げられる。
切替通知を次のマスタ端末に送信することにより、次のマスタ端末はゲーム進行単位の終了と、次のゲーム進行単位で自分がマスタになることを知ることができる。マスタ端末から他の全ての端末装置に切替通知を送信すれば、受信した端末装置は、ゲーム進行単位の終了と、次のゲーム進行単位でどの端末装置がマスタになるのかと、を知ることができる。
本発明の別の態様として、前記ゲームデータを受信してマスタとなった端末装置からクライアントの端末装置へ、次のゲーム進行単位の開始による前記ゲームの再開を通知する再開通知を、前記ネットワークを介して送信する再開通知手段をさらに備えるネットワーク対戦型ゲームシステムが挙げられる。
クライアントの端末は、再開通知を受信することにより、次のゲーム進行単位の開始、すなわちゲームの再開を認識することができる。
発明5は、前記発明1において、前記端末装置のそれぞれが前記ゲーム中にマスタとなった時間長さの累積値であるマスタ経験時間を記憶し、いずれかの端末装置がマスタとなる毎にマスタとなった時間の長さを計測し、計測値を前記端末装置のマスタ経験時間に加算し、各端末装置の最新のマスタ経験時間に基づいて、マスタ経験時間が最も少ない端末装置を、開始されようとしているゲーム進行単位でのマスタに決定する、ネットワーク対戦型ゲームシステムを提供する。
マスタを決定する方法の1つとして、マスタ経験時間が最も少ない端末装置を次のマスタとすることが挙げられる。各端末装置のマスタ経験時間を平均化し、マスタとなる機会を各端末装置に実質的に均等に付与することができる。
発明6は、前記発明1において、前記端末装置のそれぞれが前記ゲーム中にマスタとなったゲーム進行単位数の総数であるマスタ経験単位数を記憶し、いずれかの端末装置がマスタとなる毎に前記端末装置のマスタ経験単位数を増加させ、各端末装置の最新のマスタ経験単位数に基づいて、マスタ経験単位数が最も少ない端末装置を開始されようとしているゲーム進行単位でのマスタに決定するネットワーク対戦型ゲームシステムを提供する。
マスタを決定する方法の1つとして、マスタ経験単位数が最も少ない端末装置を次のマスタとしてもよい。各端末装置に均等にマスタ経験単位数を割り振ることで、マスタとなる機会を各端末装置に実質的に均等に付与することができる。
発明7は、前記発明1において、前記端末装置のそれぞれがマスタであるか否かを各端末装置を操作するプレイヤに通知する、ネットワーク対戦型ゲームシステムを提供する。
例えば、端末装置に接続されたモニタやスピーカから、マスタである旨またはクライアントである旨の出力表示や音声出力がなされる。これにより、プレイヤは、マスタであればより攻撃的にプレイをし、クライアントであれば守備に徹するなど、役割に応じたゲーム戦略を立てることができる。
発明8は、ネットワークを介して接続される端末装置間で、いずれかの端末装置がゲームの進行を管理するマスタになりその他の端末装置がクライアントとなってゲームを行うネットワーク対戦型ゲーム方法を提供する。この方法は下記のステップを含む。
・マスタの端末装置及びクライアントの端末装置が、前記ネットワークを介してデータを送受信することにより、複数のゲーム進行単位を含んでなるゲームを実行するゲーム実行ステップ、
・1ゲーム進行単位の開始に先立ち、マスタである端末装置または前記端末装置のそれぞれが、開始されようとしているゲーム進行単位でのマスタを決定するマスタ決定ステップ、
・前記ゲームの途中である1ゲーム進行単位の終了後、マスタである端末装置がマスタを切り替える切替ステップ、
・マスタである端末が、マスタの切替中はクライアントの端末装置からのデータを受け付けない制限ステップ。
この方法は、発明1のネットワーク対戦型ゲームシステムに適用され、発明1と同様の作用効果を奏する。
発明9は、ネットワークを介して他の端末装置と接続される端末装置を提供する。この装置は、下記の手段を備える。
・自分及び他の端末装置のいずれかがゲームの進行を管理するマスタとなりその他の端末装置がクライアントとなり、自分以外の他の端末装置との間で前記ネットワークを介してデータを送受信することにより、複数のゲーム進行単位を含んでなるゲームを実行するゲーム実行手段、
・最初のゲーム進行単位の開始に先立ちマスタとなる端末装置を決定し、かつあるゲーム進行単位でマスタである場合、次のゲーム進行単位でのマスタを決定するマスタ決定手段、
・あるゲーム単位でマスタである場合、そのゲーム進行単位の終了後、マスタである端末装置を切り替える切替手段、
・マスタの切替中は、クライアントの端末装置からのデータを受け付けない制限手段。
この端末装置は、前記発明1のネットワーク対戦型ゲームシステムに含まれ、発明1と同様の作用効果を奏する。
発明10は、ネットワークを介して他の端末装置と接続される端末装置としてコンピュータを機能させる端末プログラムを提供する。このプログラムは、下記の手段として前記コンピュータを機能させる。
・自分及び他の端末装置のいずれかがゲームの進行を管理するマスタとなりその他の端末装置がクライアントとなり、自分以外の他の端末装置との間で前記ネットワークを介してデータを送受信することにより、複数のゲーム進行単位を含んでなるゲームを実行するゲーム実行手段、
・最初のゲーム進行単位の開始に先立ちマスタとなる端末装置を決定し、かつあるゲーム進行単位でマスタである場合、次のゲーム進行単位でのマスタを決定するマスタ決定手段、
・あるゲーム単位でマスタである場合、そのゲーム進行単位の終了後、マスタである端末装置を切り替える切替手段、
・マスタの切替中は、クライアントの端末装置からのデータを受け付けない制限手段。
このプログラムは、コンピュータを前記発明9の端末装置として機能させる。発明9と同様の作用効果を有する。
発明11は、ネットワークを介して接続される端末装置が実行するネットワーク対戦型ゲーム方法を提供する。この方法は、下記のステップを含む。
・自分及び他の端末装置のいずれかがゲームの進行を管理するマスタとなりその他の端末がクライアントとなり、自分以外の他の端末装置との間で前記ネットワークを介してデータを送受信することにより、複数のゲーム進行単位を含んでなるゲームを実行するゲーム実行ステップ、
・最初のゲーム進行単位の開始に先立ちマスタとなる端末装置を決定し、かつあるゲーム進行単位でマスタである場合、次のゲーム進行単位でのマスタを決定するマスタ決定ステップ、
・あるゲーム単位でマスタである場合、そのゲーム進行単位の終了後、マスタである端末装置を切り替える切替ステップ、
・マスタの切替中は、クライアントの端末装置からのデータを受け付けない制限ステップ。
この方法は、発明9の端末装置が実行し、発明9と同様の作用効果を有する。
発明12は、ネットワークを介して接続される端末装置を含むネットワーク対戦型ゲームシステムを提供する。このシステムは、
・前記端末装置のうちいずれかの端末装置がゲームの進行を管理するマスタとなりその他の端末装置がクライアントとなって前記ネットワークを介してゲームを実行し、
・前記端末装置のそれぞれがマスタまたはクライアントを経験する毎に更新される各端末装置の経験値に基づいて、ゲームの開始前にいずれの端末装置がマスタになるかを決定する。
このシステムでは1ゲーム中にマスタが切り替わることはない。しかし、ゲームの開始前に、経験値に基づいて、マスタの経験が最も少ない端末装置をマスタに決定する。これにより、あるネットワーク対戦型ゲームを好むプレイヤという集団においては、マスタとなる機会を各プレイヤに概ね均等に付与することができる。
発明13は、前記発明12において、
・前記経験値を記憶し、
・マスタになる端末装置の決定に応じ、前記記憶されている各端末装置の経験値を更新する、
ネットワーク対戦型ゲームシステムを提供する。
記憶しておいた経験値を更新し、更新した経験値を再び記憶することにより、最新の経験値に基づいてマスタを決定することができる。記憶手段とは、各端末装置のメモリ領域や、取り外し可能な記録媒体、端末装置とネットワークを介して接続可能なコンピュータのメモリ領域などである。
具体的には、各端末装置は、自分自身の経験値をROMなどに記憶することができる。また各端末装置は、磁気カードなどの記録媒体に記録された経験値を読み取り、RAMなどに一時的に記憶しても良い。さらに、各端末装置の経験値をROMなどに記憶しておくセンターサーバを設けることもできる。その場合には、各端末装置は、センターサーバ100から経験値を取得し、RAMなどに一時的に記憶しても良い。各端末装置は、共通のルールに基づいてマスタになる端末装置を各自決定する。逆に、センターサーバがマスタとなる端末装置を決定することも可能である。
発明14は、前記発明12において、マスタになる端末装置の決定に応じて前記端末装置の経験値に所定の値を加算し、前記端末装置の最新の経験値を決定する、ネットワーク対戦型ゲームシステムを提供する。
一例として、経験値演算手段は、マスタになった端末装置の経験値には1点を加算し、その他の端末装置の経験値には−1点を加算する。経験値の大小に基づいてマスタになる端末装置を決定することができる。
発明15は、前記発明12において、前記経験値は、ゲームを行ったゲーム回数及びマスタになった回数を含むネットワーク対戦型ゲームシステムを提供する。このシステムは、前記端末装置のそれぞれについてゲーム回数に対するマスタになった回数の割合を演算することによりマスタになる端末を決定する。
別の例として、あるゲームでマスタになった端末装置についてはゲーム回数及びマスタ回数がインクリメントされ、それ以外の端末装置についてはゲーム回数がインクリメントされる。次回にゲームを開始する場合には、最新のゲーム回数及びマスタ回数から求めた(マスタ割合)=(マスタ回数)/(ゲーム回数)に基づいて、最もマスタ割合の低い端末装置がマスタとなる。
発明16は、ネットワークを介して接続される端末装置間でゲームを行うネットワーク対戦型ゲーム方法を提供する。この方法は下記のステップを含む。
・前記端末装置のうちいずれかの端末装置がゲームの進行を管理するマスタとなりその他の端末装置がクライアントとなって前記ネットワークを介してゲームを実行するためのゲーム実行ステップ、
・前記端末装置のそれぞれがマスタを経験する毎に更新される各端末装置の経験値に基づいて、いずれの端末装置がマスタになるかをゲームの開始前に決定するマスタ決定ステップ。
この方法は、発明12のゲームシステムが実行し、発明12と同様の作用効果を奏する。
本発明を用いれば、ネットワーク対戦型ゲームのマスタ端末とクライアント端末との応答性の差がプレイヤのゲーム環境に及ぼす影響を軽減することができる。
<第1実施形態例>
[構成]
図1は、本発明の第1実施形態例に係るゲームシステムの概略構成を示す説明図である。
このゲームシステムは、センターサーバ100と、複数の端末装置200a,bとを含んで構成される。端末装置200a,bは、インターネットなどのネットワーク300を介し、センターサーバ100に接続される。
センターサーバ100は、プレイヤ毎の個人データを記憶し、端末装置200からの要求に応じて個人データを要求元に送信する。センターサーバ100は、下記の要素(a)〜(e)を備えている。
(a)CPU101:ROM103に格納されている制御プログラムを読み出し、実行する。
(b)RAM102:個人データなどを一時的に記憶する。
(c)ROM103:制御プログラムや個人データなどを記憶する。
(d)ネットワーク通信部104:ネットワーク300を介し、端末装置200とデータの送受信を行う。
(e)データ蓄積部105:端末装置200から送信されてくる個人データなどを蓄積する。
端末装置200は、センターサーバ100から取得した個人データに基づいて、他の端末装置200とネットワーク300を介し、ゲームを行う。図2は、端末装置200の構成を示す。端末装置200は、下記(a)〜(m)の要素を有している。
(a)CPU201:ROM203に記憶されている制御プログラムを実行する。
(b)RAM202:各種変数やパラメータなどを一時的に記憶する。
(c)ROM203:制御プログラムや各種パラメータなどを記憶する。
(d)ネットワーク通信部204:ネットワークを介し、センターサーバ100や他の端末装置200とデータ送受信を行う。
(e)モニタ206:ゲーム画像を表示する。
(f)描画処理部205:モニタ206に表示する画像データを生成する。
(g)スピーカ208:ゲーム実行中やデモ画面表示中のサウンドを出力する。
(h)音声再生部207:スピーカ208に発音させるためのサウンドデータを生成する。
(i)入力操作部211:ジョイスティックや操作ボタンなどから構成されプレイヤの指示入力を受け付ける。
(j)カードリーダ・ライタ212:挿入される磁気カードに対してデータの読取・書込処理を実行する。
(k)コイン受付部213:挿入されるコインによるクレジットを受け付ける。
(l)外部機器制御部210:操作部カードリーダ・ライタ212及びコイン受付部213などの外部機器を制御する。
(m)外部入出力制御部209:カードリーダ・ライタ212及びコイン受付部213などの外部機器に対する制御信号を生成する。また、外部機器からの検出信号を受信してCPU201に送出する。
上記のように構成された端末装置200では、次のようにしてゲームが行われる。プレイヤは、端末装置200において自己の所有する磁気カードをカードリーダ・ライタ212に挿入し、コイン受付部213にコインを投入する。端末装置200は、カードリーダ・ライタ212に挿入された磁気カードからプレイヤを識別するプレイヤIDを読み取り、センターサーバ100のデータ蓄積部105に格納されている個人データをダウンロードする。その後、端末装置200は、自己のネットワークアドレスをセンターサーバ100に送信し、対戦相手のネットワークアドレスを取得する。いずれの端末装置200がマスタとなるかを決定後、マスタ端末にクライアント端末の個人データを送信する。マスタ端末は、ゲームに参加する全ての端末装置200(以下、単に全ての端末装置200という)の個人データに基づいてゲームを開始する。ゲーム開始からゲーム終了までの間、全ての端末装置200がマスタ端末となる機会を享受するように、基本的にはゲーム進行単位が終了するとマスタ端末が切り替わる。
[マスタの切替]
(1)切替の流れ
図3は、ゲーム中にマスタ端末が切り替わることを示す説明図である。説明を容易にするために3つの端末装置A,B,Cが対戦する場合を例にとり、説明する。対戦する端末装置の数は、2つ以上であればいくつでもかまわない。
各端末装置A,B,Cは、センターサーバ100から個人データを受信後、自分自身が最初のゲーム進行単位でマスタ端末になるかを、マスタ決定ルールに基づいてそれぞれに判断する。この例では、端末装置Aが最初のマスタ端末になる。最初のマスタ端末決定後、端末装置Aをマスタとし、端末装置B,Cをクライアントとしてゲームを開始する(#1,#2)。なお、ゲームの開始に先立ち、クライアント端末B,Cは、自己の個人データをマスタ端末Aに送信する。個人データは、プレイヤが繰り返しゲームを行う時に用いるデータを含む。サッカーゲームを例に取れば、チーム名、選手名、過去の戦績などが個人データの一例としてあげられる。
マスタ端末Aは、最初のゲーム進行単位が終了すると、次のマスタ端末を決定する。次のマスタ端末はマスタ決定ルールに基づいて決定される。端末端末Aは、次のマスタ端末の指定、例えばIPアドレスを記述した切替通知を端末装置B,Cに送信する(#3)。切替通知は、通信の確実性が担保される通信プロトコル、TCP/IPなどを用いて送信される。この例では、切替通知は、ゲーム進行単位の終了通知と次のマスタ端末の指定通知とを兼ねているが、両通知を別々に送信しても良い。さらに、端末装置Aは、ゲームの続行に必要なデータであるゲームデータを、次のマスタ端末、この例では端末装置Bに送信する(#4)。ゲームデータには、全ての端末装置200の個人データも含まれている。ゲームデータを送信中は、マスタである端末装置Aは、他の端末装置B,Cからのデータを受信しても、そのデータを無視する。ネットワーク負荷やマスタ端末の負荷を軽減するために、ゲーム進行単位の終了後は、クライアント端末B,Cからマスタ端末Aへのプレイヤからの指示入力の送信を休止することが好ましい。
端末装置Bは、切替通知に基づいて次のゲーム進行単位で自分がマスタ端末になることを知る。また端末装置Cは、切替通知に基づいて次のゲーム進行単位で自分がクライアント端末になることを知る。端末装置Bは、ゲームデータを受信すると、クライアントである他の端末装置A,Cにゲームの再開通知を送信する(#5)。再開通知は、通信の確実性が担保される通信プロトコル、TCP/IPなどを用いて送信される。ついで、端末装置Bはマスタとして、端末装置A,Cはクライアントとして、それぞれゲームを再開し、2番目のゲーム進行単位におけるゲームを続行する(#6,#7,#8)。
2番目のゲーム進行単位が終了すると、再度マスタ端末が切り替わる。マスタであった端末装置Bは、ゲーム進行単位が終了すると次のマスタ端末を決定し、そのIPアドレスなど記述した切替通知を端末装置A,Cに送信する(#9)。さらに、端末装置Bは、ゲームの続行に必要なデータであるゲームデータを、次のマスタ端末、この例では端末装置Cに送信する(#10)。
端末装置Cは、切替通知に基づいて次のゲーム進行単位で自分がマスタ端末になることを知る。端末装置Cは、ゲームデータを受信すると、クライアントである他の端末装置A,Bにゲームの再開通知を送信する(#11)。ついで、端末装置Cはマスタとして、端末装置A,Bはクライアントとして、それぞれゲームを再開し、3番目のゲーム進行単位におけるゲームを続行する(#12,#13)。
このように、ゲームの開始からゲームの終了までに、端末装置A,B,Cのそれぞれが必ずマスタ端末として動作するよう、マスタ端末を切り替える。マスタの切替は、ゲームの開始から終了までのゲーム中に、少なくとも各端末装置が一度はマスタ端末となるように行われる。また各端末装置は、各端末装置が1回ずつマスタとなった後もゲームが終了していない場合、再度マスタとなっても良い。その場合に各端末装置がマスタを割り当てる順序は、最初の一巡の順序と同じであっても異なっていても良い。
(2)ゲーム進行単位
1つのゲームはその開始から終了までの間に、複数のゲーム進行単位を含んでいる。ゲームの進行上、各端末装置がプレイヤからの指示入力を受け付けないタイミングでマスタが切り替わるようにゲーム進行単位を設定すると、ゲーム処理とマスタの切替処理との相乗効果を得ることができ好ましい。ゲーム進行単位の設定内容は、各端末装置200に共通であり、端末装置200に記憶されていても良いし、そうでなくても良い。例えばROM203などにゲーム進行単位の設定内容を記憶しておき、ROM203から読み出したゲーム進行単位の設定内容を所定の作業メモリ領域に書き込み、必要に応じてそこから読み出して演算に使用しても良い。また、ネットワークを介してゲーム進行単位の設定内容をセンターサーバ100からダウンロードし、ダウンロードしたデータを所定の作業メモリ領域に書き込んでおき、必要に応じてそこから読み出して演算に使用しても良い。また、ゲーム進行単位の設定内容は、端末装置200が実行するプログラムに組み込まれており、プログラムがROM203から読み出されることにより読み出されても良い。
図4(A)は、ゲームの進行上、各端末装置がプレイヤからの指示入力を受け付けないタイミングでマスタが切り替わるように設定されたゲーム進行単位の一例を示す。ここではサッカーゲームにおけるゲーム進行単位の設定例を示し、前半及び後半がそれぞれ1ゲーム進行単位となっている。延長戦がある場合には各延長戦が1ゲーム進行単位となる。このようなゲーム進行単位を他のゲームに適用した例として、野球ゲームにおける各回の裏と表、テニスゲームにおける各ゲーム、ボクシングゲームにおける各ラウンドを挙げることができる。さらにサッカーゲームを例に挙げれば、ファウル発生時及びハーフタイムにプレイヤからの指示入力を受け付けないこととし、それらのタイミングとタイミングとの間を、1ゲーム進行単位とすることもできる。もちろん、ゲームの進行とは独立に、所定の長さの時間Tによりゲームを区切り、各一区切りを1ゲーム進行単位としても良い。ゲーム進行単位はこの例に限定されないし、同じゲームでも様々なゲーム進行単位の設定が可能である。
マスタ端末は基本的にゲーム進行単位毎に切り替わる。1ゲーム進行単位が前半及び後半であれば、前半と後半とでマスタ端末が切り替わる。1ゲーム進行単位が所定長さの時間Tであれば、時間T毎にマスタ端末が切り替わる。1ゲーム進行単位がプレイヤからの指示入力を受け付けない時間帯である自動進行時間帯で区切られるのであれば、自動進行時間帯がくるたびにマスタ端末が切り替わる。但し、後述するように、複数のゲーム進行単位に渡り同じ端末装置がマスタ端末となる場合もある(後述する第2実施形態例参照)。
(3)マスタ決定ルール
図4(B)は、ゲーム進行単位の開始前にいずれの端末装置がマスタ端末となるかを決定するためのマスタ決定ルールの一例を示す説明図である。マスタ決定ルールは、各端末装置200に共通であり、端末装置200に記憶されていても良いしそうでなくても良い。例えばROM203などにマスタ決定ルールを記憶しておき、ROM203から読み出したマスタ決定ルールを所定の作業メモリ領域に書き込み、必要に応じてそこから読み出して演算に使用しても良い。また、ネットワークを介してマスタ決定ルールをセンターサーバ100からダウンロードし、ダウンロードしたデータを所定の作業メモリ領域に書き込んでおき、必要に応じてそこから読み出して演算に使用しても良い。また、マスタ決定ルールは、端末装置200が実行するプログラムに組み込まれており、プログラムが読み出されることにより読み出されても良い。
マスタ決定ルールの内容は任意である。この例では、各端末装置200は、IPアドレスが大きい順に順次マスタとなり(条件1)、マスタが切り替わるのはゲーム進行単位が終了するタイミングであり毎にマスタが切り替わり(条件2)、各端末装置200が1回ずつマスタになってもゲームが終了しない場合には各端末装置200は再度マスタになることができる(条件3)。もちろん、マスタ決定ルールは、この例に限定されない。
図5は、図4(A)のゲーム進行単位の設定及び同図(B)のマスタ決定ルールの一適用例を示す。説明を容易にするために、サッカーゲームを端末装置A、端末装置Bが行うとする。IPアドレスは、端末装置Aが端末装置Bよりも大きいとする。条件1に従い、最初のゲーム進行単位「前半」では、端末装置Aがマスタとなる。条件2に従い、「前半」が終了するとマスタが切り替わる。端末装置Aの次にIPアドレスが大きいのは端末装置Bなので、条件1に従い「後半」では端末装置Bがマスタとなる。条件2に従い、「後半」が終了するとマスタが切り替わる。マスタの役割がゲームに参加している全ての端末装置A,Bを一巡した後は、条件3に従い各端末装置A,Bは再度マスタになることができる。しかし、条件1により、次のゲーム進行単位「延長戦1」でマスタとなるのは端末装置Aである。このように、ゲーム進行単位の設定及びマスタ決定ルールに従い、ゲーム中にマスタ端末が切り替わる。
(4)入力データ、出力データ、ゲームデータ
図6(A)は、クライアント端末からマスタ端末に送信される入力データの一例を示す。説明を容易にするため、以下ではサッカーゲームを例にとり説明する。入力データは、クライアント端末におけるプレイヤの指示入力の内容を示すデータである。各クライアント端末は、指示入力が発生する度に、マスタ端末に入力データを送信する。この図では、「上下左右いずれのレバーが入力されたか」、「5つあるボタンのいずれが入力されたか」、を表す入力データを示している。
図6(B)は、マスタ端末からクライアント端末に送信される出力データの一例を示す。出力データは、クライアント端末においてゲーム画面を表示するためのフレームデータやサウンドを出力するための音声データである。マスタ端末は、データの種類に応じた時間感覚で、各種の出力データをクライアント端末に送信する。例えばフレームデータであれば1/60(sec)毎に送信する。
図6(C)は、マスタ端末が切り替わるときに次のマスタ端末に送信されるゲームデータの一例である。ゲームデータは、ゲームの履歴を含み、ゲームの続行に必要なデータである。例えば、選手の残り体力、各選手のイエローカード及びレッドカードの枚数、今までのシュート本数、今までのファウル本数、得点、チーム名、選手データなどが挙げられる。ゲームデータは、通信の確実性が担保される通信プロトコル、TCP/IPなどを用いて送信される。
[端末装置の処理]
次に、端末装置200が行う処理について、より詳細に説明する。説明を容易にするために、以下では前記図4に示したゲーム設定及びマスタ決定ルールに基づく処理を説明する。
(1)メインルーチン
図7は、端末装置200のCPU201が行うメインルーチンの流れの一例を示すフローチャートである。端末装置200は、自分がマスタであればマスタ処理によりゲームを実行し、自分がクライアントであればクライアント処理によりゲームを実行する。
ステップS1:CPU201は、カードリーダ・ライタ212が読み込んだプレイヤIDを取得する。
ステップS2:CPU201は、プレイヤIDをセンターサーバ100に送信し、プレイヤIDに応じた個人データをダウンロードする。
ステップS3:CPU201は、対戦相手決定処理を実行し、ネットワーク300を介して対戦する対戦相手の端末装置のIPアドレスを取得する。
ステップS4:CPU201は、対戦相手と自分のIPアドレスを比較する。
ステップS5:CPU201は、比較結果に基づき、最初のゲーム進行単位でマスタになるかどうかを決定する(マスタ決定手段)。
ステップS6:CPU201は、実行されようとしてるゲーム進行単位でマスタになる場合にはマスタ処理を行う(ゲーム実行手段)。この処理では、CPU201は、1ゲーム進行単位においてマスタとしてゲームを実行し、1ゲーム進行単位が終了すると、次のマスタを決定して切替通知を送信するか、またはゲーム終了通知を送信する。
ステップS7、S8:CPU201は、マスタを切り替えるのか否か、すなわちゲーム進行単位の終了なのか、それともゲーム終了なのかを判断する(S7)。マスタを切り替える場合(S7)、次のゲーム進行単位でのマスタ端末に、ゲームデータを送信する(切替手段)(S8)。ゲームデータの送信中は、クライアント端末からの指示データを受信しても無視する(制限手段)。
ステップS9:ついで、CPU201は、次のゲーム進行単位でのマスタ端末からのゲーム再開通知を待機し、これを受信するとステップS10に移行する。すなわち、クライアントとして次のゲーム進行単位におけるゲームを実行する。
ステップS10:CPU201は、ゲーム開始前にクライアントになると決定した場合(S5)、またはゲーム進行単位終了後に次のマスタに指定されなかった場合(後述するS12)、クライアント処理によりゲームを実行する(ゲーム実行手段)。すなわち、入力データをマスタ端末に送信し、マスタ端末から受信する出力データに基づいて出力を制御する処理を行う。
ステップS11:CPU201は、マスタ端末から切替通知を受信した場合、ステップS12に移行する。ゲーム終了通知を受信した場合、ステップS15に移行する。
ステップS12:CPU201は、切替通知に基づき、次のゲーム進行単位でマスタになるか否かを判断し、マスタになる場合はステップS13に移行する(マスタ決定手段)。クライアントになる場合は前述のステップS9に移行し、再開通知を待ってクライアント処理を実行する(S9,S10)。
ステップS13、S14:CPU201は、切替通知で次のマスタに指定された場合、前のマスタ端末からゲームデータを受信し(S13)、他の端末装置にゲーム再開通知を送信する(再開通知手段)(S14)。その後、前記ステップS6に戻り、マスタ処理を実行する(S6)。
ステップS15:CPU201は、ゲームが終了する場合、ゲーム結果の表示、個人データのアップロードなどを行い、処理を終了する。
(2)対戦相手決定処理
図8は、前記メインルーチンのステップS3において実行される対戦相手決定処理の流れの一例を示すフローチャートである。この処理では、CPU201は、ネットワーク対戦する相手端末装置のIPアドレスを、センターサーバ100を介して取得する。
ステップS31:CPU201は、自分自身のIPアドレスをセンターサーバ100に送信し、センターサーバ100のRAM202に記憶されている募集リストへのIPアドレスの登録を要求する。
ステップS32〜S33:CPU201は、他の端末装置200から対戦要求を受信したか否かを判断し(S32)、まだであればセンターサーバ100から募集リストを取得する(S33)。対戦要求を受信していれば、後述するステップS40に移行する。
ステップS34〜S35:CPU201は、募集リストに、自分のアドレス以外のIPアドレスが登録されているかどうかを判断し(S34)、“Yes”と判断するといずれかのIPアドレスを選択する(S35)。
ステップS36:CPU201は、選択したIPアドレスに対し、対戦要求コマンドが記述された対戦要求パケットを送信する。
ステップS37〜S39:CPU201は、送信した対戦要求パケットに対する返答パケットの受信を待機し(S37)、対戦OKの応答を受信すると(S38)、自分のIPアドレスを募集リストから抹消するようセンターサーバ100に要求する(S39)。対戦が拒否された場合(S38)、再び前記ステップS32に戻り、前述の処理を繰り返す。
ステップS40:CPU201は、IPアドレスを募集リストに登録した後に対戦要求を受信した場合(S32)、対戦OKの返答パケットを要求元に送信し(S40)、自分自身のIPアドレスを募集リストから抹消してもらう(S39)。
(3)マスタ処理
図9は、前記メインルーチンのステップS6でCPU201が実行するマスタ処理の流れの一例を示すフローチャートである。この処理では、CPU201は、マスタとしてゲーム進行単位が終了するまでゲームを実行する。
ステップS61:CPU201は、自端末におけるプレイヤの指示入力か、またはクライアント端末からの入力データの受信を待機し、いずれかがあるとステップS62に移行する。
ステップS62:CPU201は、入力データを選手などキャラクタのアクションに変換する。
ステップS63:CPU201は、自端末の描画処理部205や音声再生部207に出力データを送出し、出力を制御する。
ステップS64:CPU201は、出力データをクライアント端末にネットワーク300を介して送信する。
ステップS65〜S67:CPU201は、ゲーム進行単位の設定に基づいて、ゲーム進行単位が終了するか否かを判断する(S65)。ゲーム進行単位が終了する場合(S65)、CPU201は、マスタ決定ルールに基づいて次のゲーム進行単位でのマスタ端末を決定する(マスタ決定手段)(S66)。ついで、CPU201は、次のマスタ端末のIPアドレスなどを含む切替通知を、他の全ての端末装置200に送信する(切替手段)(S67)。
ステップS68〜S69:CPU201は、ゲーム進行単位の終了であると共に、ゲームが終了するか否かを判断し、“Yes”と判断するとゲーム終了通知を他の全ての端末装置200に送信する(S69)。ゲーム終了通知には、クライアント端末がゲームの終了処理を行うために必要なデータが含まれている。ゲームが終了しないと判断すると、再びステップS61に戻り、前述の処理をゲーム進行単位の終了まで繰り返す。
(4)クライアント処理
図10は、前記メインルーチンのステップS10でCPU201が実行するクライアント処理の流れの一例を示すフローチャートである。この処理では、CPU201は、クライアントとしてゲームを実行する。
ステップS101〜S102:CPU201は、プレイヤからの指示入力を待機し(S101)、指示入力がある度に入力データをマスタ端末に送信する(S102)。
ステップS103:CPU201は、マスタ端末から切替通知またはゲーム終了通知を受信したかどうかを判断し、受信した場合はメインルーチンに戻る。
ステップS104〜S105:CPU201は、マスタ端末からの出力データの受信を待機し(S104)、受信した出力データを描画処理部205や音声制裁西部207に送出して画面出力や音声出力を制御する(S105)。
[センターサーバの処理]
図11は、センターサーバ100が行う処理の流れの一例を示すフローチャートである。センターサーバ100のCPU101は、個人データを端末装置200に送信する処理(S111〜S113)、募集リストへの登録(S114〜S116)、募集リストからの抹消(S117〜S118)を行う。
ステップS111〜S113:CPU101は、いずれかの端末装置200からの個人データの要求を受信すると(S111)、ROM103から要求された個人データを読み出し(S112)、要求元に送信する(S113)。個人データは、プレイヤIDと対応付けられてROM103に記憶されている。
ステップS114〜S116:CPU101は、いずれかの端末装置200から募集リストへのIPアドレスの登録要求を受信すると(S114)、募集リストへその端末のIPアドレスを登録し(S115)、募集リストを要求元に送信する(S116)。
ステップS117〜S118:CPU101は、いずれかの端末装置200から募集リストからのIPアドレスの抹消要求を受信すると(S117)、募集リストから該当IPアドレスを削除する(S118)。募集リストにはまだ対戦相手が未定の端末装置のIPアドレスだけを掲載しておくために、対戦相手が決まった端末装置のIPアドレスを募集リストから削除するのである。
ステップS119:CPU101は、例えばセンターサーバ100の電源がオフになるまで、前述の処理を繰り返す。
[第1実施形態例の効果]
ゲーム進行単位毎にマスタを切り替えることにより、ゲームに参加する端末装置のプレイヤは実質的に均等にマスタとなる機会を享受する。従って、アクション性の高いゲームをネットワーク対戦により行う場合でも、マスタ端末とクライアント端末とのゲームの応答性の差に起因して、あるプレイヤが有利になったり不利になったりすることを防止することができる。その結果、アクション性の高いゲームのネットワーク対戦におけるプレイヤ間での不公平感をなくし、この種のゲームのネットワーク対戦を現実化することができる。
<第2実施形態例>
ゲーム進行単位毎にマスタ端末が切り替わらず、同一の端末装置200が続けてマスタ端末となる場合について説明する。ゲームシステムおよび端末装置200の構成は、前記図1及び図2に示したとおりである。
図12(A)は、第2実施形態例に係るゲーム進行単位の設定内容の一例を示す説明図である。この例では、プレイヤの指示入力を受け付けない時間に挟まれた時間帯を1ゲーム進行単位としている。サッカーゲームを例に挙げれば、ファウルが発生して所定時間の間やハーフタイムの間などは、プレイヤからの指示入力を受け付けない。このような時間帯により挟まれる時間帯を、1ゲーム進行単位とすることができる。そして、プレイヤからの指示入力を受け付けない時間帯に、ゲームデータの送受信を行い、マスタを切り替える。
図12(B)は、第2実施形態例に係るマスタ決定ルールの一例を示す説明図である。このルールによれば、全ての端末装置がIPアドレス順に1度ずつマスタになり(条件1,2)、その後はゲーム進行単位終了時にマスタ経験時間が一番少ない端末装置が次のマスタとなる(条件3)。マスタ経験時間とは、マスタとなった述べ時間であり、マスタ端末のRAM202などに一時的に記憶され(時間記憶手段)、ゲームデータの一部として次のマスタ端末に送信される。
図13は、図12(A)のゲーム進行単位の設定及び同図(B)のマスタ決定ルールの一適用例である。説明を容易にするため、端末装置A,B,Cが対戦し、IPアドレスの大小関係は(端末装置A)>(端末装置B)>(端末装置C)であるとする。
最初は、端末装置A,B,CはIPアドレスが大きい順にマスタ端末となる(同図(A)〜(D))。但し、各端末装置がマスタとなっている時間はまちまちである。一巡すると、その時点でもっともマスタ経験時間が少ない端末装置B(5秒)が次のゲーム進行単位でのマスタとなる(同図(E))。この例では、端末装置Bはマスタ端末に2回なってもなお、そのマスタ経験時間(7秒)が端末装置A(10秒)及び端末装置C(15秒)に比して少ないため、続けてマスタ端末となる(同図(F))。このように、マスタ経験時間に基づいて次のマスタ端末を決定することにより、各端末装置がマスタを経験する時間を平均化し、各端末装置の公平性をいっそう担保することができる。
図14は、図12(B)のマスタ決定ルールに対応するゲームデータの一例を示す説明図である。第1実施形態例におけるゲームデータに加えてさらに、各端末装置のマスタ経験時間をゲームデータに含め、新たにマスタとなる端末装置に送信する必要がある。
図15は、図12(B)のマスタ決定ルールに対応するマスタ処理の流れの一例を示すフローチャートである。この処理では、CPU201は、マスタとしてゲーム進行単位が終了するまでゲームを実行する。
ステップS151:CPU201は、タイマをスタートさせ、これから開始しようとするゲーム進行単位において自端末がマスタとなっている時間の測定を始める(時間演算手段)。
ステップS152:CPU201は、自端末におけるプレイヤの指示入力か、またはクライアント端末からの入力データの受信を待機し、いずれかがあるとステップS153に移行する。
ステップS153:CPU201は、入力データを選手などキャラクタのアクションに変換する。
ステップS154:CPU201は、自端末の描画処理部205や音声再生部207に出力データを送出し、出力を制御する。
ステップS155:CPU201は、出力データをクライアント端末にネットワーク300を介して送信する。
ステップS156:CPU201は、ゲーム進行単位の設定を参照し、ゲーム進行単位が終了するか否かを判断する。ゲーム進行単位が終了する場合(S156)、タイマをストップし(S157)、今までのマスタ経験時間に測定した時間を加算することにより、自端末の最新のマスタ経験時間を演算する(時間演算手段)(S158)。
ステップS159:ついで、CPU201は、マスタ決定ルールに基づいて、次のゲーム進行単位でのマスタ端末を決定する(S159)。つまり、ゲームに参加している全端末装置200のうち、マスタ経験時間が最も少ない端末装置を次のマスタ端末とする。
ステップS160:CPU201は、自端末が続けてマスタ端末になるのか否かを判断し、“Yes”と判断するとステップS151に戻り、マスタ端末として次のゲーム進行単位におけるゲームを続行する。“No”と判断すると、次のマスタ端末のIPアドレスなどを含む切替通知を、他の端末装置200に送信する(S161)。
ステップS162〜S163:CPU201は、ゲーム進行単位の終了であると共に、ゲームが終了するか否かを判断し、“Yes”と判断するとゲーム終了通知を他の全ての端末装置200に送信する(S162)。“No”と判断すると、再びステップS151に戻り、前述の処理をゲーム進行単位の終了まで繰り返す。
なお、端末装置200が行う処理の流れは、マスタ処理を除き、第1実施形態と同様である。
[第2実施形態の効果]
マスタ経験時間が平均化するように次のマスタ端末を決定するので、対戦する端末装置の公平性がさらに担保される。
<第3実施形態例>
前記第1及び第2実施形態では、ゲーム中にマスタを切り替えることにより、1ゲームにおいて各端末装置にマスタになる機会を公平に付与している。しかし、前記図1に示すゲームシステムにおいて、プレイヤが何度もゲームに挑戦する場合、ゲーム中にマスタを切り替えず、その代わりに各端末装置が各ゲームでマスタになる機会とクライアントになる機会とのバランスが概ね平等となるようにしてもよい。
各ゲームでのマスタの決定方法として、例えば次の方法が挙げられる。端末装置A,B,Cがゲームを開始しようとしている場合、各端末装置が今までにマスタとなった回数(マスタ回数という)とクライアントになった回数(クライアント回数という)とに基づいて、いずれの端末装置がマスタになるかを決めることができる。より具体的には、端末装置CPU201は、自端末装置のマスタ経験値を、マスタになった場合は+1を加算し、クライアントになった場合は−1を加算することにより演算する。マスタ経験値の初期値はゼロとする。1対1のゲームであれば、端末装置のマスタ経験値がゼロに近いほど、マスタになった回数とクライアントになった回数とがバランスしていることを示す。そして、ゲームの開始前に対戦相手のマスタ経験値をセンターサーバ100または対戦相手から取得し、マスタ経験値が最も少ない端末装置をマスタに決定する。マスタ経験値は、個人データに含めることができ、磁気カードに記録しておいても良いし、センターサーバ100のROM103などに記録しておいても良い。センターサーバ100によりマスタを決定することも可能である。
別のマスタ決定方法としては、各端末装置が今までに行ったゲームにおいてマスタになった割合に基づいてマスタを決定する方法が挙げられる。例えば、各端末装置がゲームを行った総回数であるゲーム回数とマスタになった回数であるマスタ回数とをマスタ経験値として用いる。端末装置のCPU201は、自端末装置及び対戦相手のマスタ経験値に基づいてゲームに参加する端末装置の割合を次式により演算し、マスタ割合が最も低い端末装置をマスタに決定する。1対1のゲームであればマスタ割合が0.5に近いほどマスタになった回数とクライアントになった回数とがバランスしていることを示す。
(マスタ割合)=(マスタ回数)/(ゲーム回数)
[端末装置の処理]
以下に、端末装置の処理について、端末装置がマスタを決定する場合を例に取り説明する。説明を容易にするために、端末装置200が互いのマスタ経験値を送受信し、各端末装置200がマスタとなる端末装置を決定する場合を例に取る。センターサーバ100の処理は前記図11と同様である。
(1)メインルーチン
図16は、端末装置200においてマスタを決定する場合の、CPU201が行うメインルーチンの流れの一例を示すフローチャートである。CPU201は、ゲームの開始前にマスタになる端末装置を決定し、決定後は自端末がマスタかクライアントかに応じた処理を行う。
ステップS201〜S203:前記第1実施形態例のメインルーチンにおけるステップS1〜S3と同様の処理を行う。すなわち、CPU201は、カードリーダ・ライタ212に記録されたプレイヤIDに基づいて、センターサーバ100から個人データをダウンロードし、対戦相手の端末装置のIPアドレスを取得する。対戦相手を決定する処理は、前記第1実施形態例と同様である(図8参照)。
ステップS204:CPU201は、例えば対戦相手の端末装置200から相手のマスタ経験値を受信し、対戦する端末装置全てのマスタ経験値を比較する。
ステップS205:CPU201は、比較結果に基づき、自端末装置がマスタになるかどうかを決定する。
ステップS206、S207:CPU201は、実行しようとしているゲームでマスタになる場合にはマスタ処理を行う(ゲーム実行手段)(S206)。逆にクライアントになる場合はクライアント処理を行う(ゲーム実行手段)(S207)。
ステップS208:CPU201は、自端末のマスタ経験値を更新する。
ステップS209:CPU201は、ゲーム結果の表示、マスタ経験値を含む個人データのアップロードなどを行い、処理を終了する。
(2)マスタ処理
図17は、前記メインルーチンのステップS206でCPU201が実行するマスタ処理の流れの一例を示すフローチャートである。この処理では、CPU201は、マスタとしてゲームを実行する。
ステップS211:CPU201は、自端末におけるプレイヤの指示入力か、またはクライアント端末からの入力データの受信を待機し、いずれかがあるとステップS212に移行する。
ステップS212:CPU201は、入力データを選手などキャラクタのアクションに変換する。
ステップS213:CPU201は、自端末の描画処理部205や音声再生部207に出力データを送出し、出力を制御する。
ステップS214:CPU201は、出力データをクライアント端末にネットワーク300を介して送信する。
ステップS215〜S216:CPU201は、ゲームの終了か否かを判断する(S215)。ゲームが終了する場合(S215)、CPU201は、ゲームの終了を示す通知を、他の全ての端末装置200に送信する(S216)。
(3)クライアント処理
図18は、前記メインルーチンのステップS207でCPU201が実行するクライアント処理の流れの一例を示すフローチャートである。この処理では、CPU201は、クライアントとしてゲームを実行する。
ステップS221〜S222:CPU201は、プレイヤからの指示入力を待機し(S221)、指示入力がある度に入力データをマスタ端末に送信する(S222)。
ステップS223〜S224:CPU201は、マスタ端末からの出力データの受信を待機し(S223)、受信した出力データを描画処理部205や音声制裁西部207に送出して画面出力や音声出力を制御する(S224)。
ステップS225:CPU201は、マスタ端末からゲーム終了通知を受信するまで上記の処理を繰り返し、ゲーム終了通知を受信するとメインルーチンに戻る。
[第3実施形態の効果]
各端末装置が何回かゲームを行う場合は、それぞれの端末装置がマスタになる機会が実質的に均等なので、マスタ端末とクライアント端末とにおけるゲームの応答性の差がゲームの勝敗の確率に及ぼす影響を実質的に解消することができる。従って、どのようなゲームであっても、プレイヤが公平にネットワーク対戦型ゲームを楽しむことができる。
<その他の実施形態例>
(A)前記第1実施形態例のようにプレイヤの個人データをセンターサーバ100に記憶させるのではなく、プレイヤの磁気カードに記憶させることもできる。その場合、センターサーバ100は、対戦相手を探すための募集リストの更新と送信を行えばよい。
(B)次のマスタ端末の指定を含む切替通知を、次のゲーム進行単位でマスタとなる端末装置にだけ送信する様にすることもできる。前記第1実施形態例では、切替通知は、次のマスタ端末の指定通知と、ゲーム進行単位の終了通知とを兼ねている。しかし、次のマスタ端末通知をそのマスタ端末にのみ送信し、ゲーム進行単位の終了は別の通知によりその他の端末に通知することも可能である。例えば、次のマスタ端末からその他の端末装置に送信される再開通知により、前のゲーム進行単位の終了と次のゲーム進行単位の開始の両方を通知することができる。
(C)マスタ端末は、クライアント端末にゲーム進行単位の終了を通知することが好ましい。そして前記通知を受信したクライアント端末は、前記マスタ端末へのデータの送信を休止するとよい。ゲーム進行単位の終了後にマスタ端末からクライアント端末への無駄なデータの送信を休止することにより、ネットワーク負荷を軽減すると共に、マスタ端末の処理の負荷を軽減することができるからである。
(D)前記第2実施形態においては、マスタ経験時間に基づいてマスタを決定したが、マスタ経験時間に代えてマスタ経験単位数を用いても良い。ここで、マスタ経験単位数とは、ある端末装置200が1ゲーム中でマスタになったゲーム進行単位の数である。マスタ経験単位数を用いる場合、端末装置がマスタになると、マスタ経験単位数に“1”を加算する(単位演算手段)。
(E)第3実施形態において、センターサーバ100が各端末装置のマスタ経験値に基づいてマスタとなる端末装置を決定することも可能である。例えば、センターサーバ100が個人データの一部としてマスタ経験値を記憶している場合を考える。まず、センターサーバ100は、募集リストに登録されたIPアドレスに基づいて、対戦する端末装置200の組み合わせを知る。次いでセンターサーバ100は、対戦する端末装置200それぞれのマスタ経験値を読み出し、その値に基づいてマスタ端末を決定する。その後、センターサーバ100は、対戦する端末装置200へ、マスタ端末を指定する通知を送信する。これにより、各端末装置200は、どの端末装置をマスタとしてゲームを行うかを知ることができる。
(F)前述の実施形態において、端末装置200は、自分自身がマスタであるかクライアントであるかを、各端末装置を操作するプレイヤに通知する役割通知手段を有していても良い。例えば、端末装置200に接続されたモニタやスピーカから、マスタである旨またはクライアントである旨の出力表示や音声出力を行う。これにより、プレイヤは、マスタであれば攻撃に集中し、クライアントであれば守備に徹するなど、役割に応じたゲーム戦略を立てることができる。
(G)前述の実施形態は、適宜組み合わせて実施することができる。
(H)前述の方法をコンピュータ上で実行するためのプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明に含まれる。ここで記録媒体としては、コンピュータが読み書き可能なフレキシブルディスク、ハードディスク、半導体メモリ、CD−ROM、DVD、光磁気ディスク(MO)、その他のものが挙げられる。
第1実施形態例に係るゲームシステムの概略構成を示す説明図。 端末装置200の構成を示す説明図。 ゲーム中にマスタ端末が切り替わることを示す説明図。 (A)ゲーム進行単位の設定内容の一例を示す説明図。(B)マスタ決定ルールの一例を示す説明図。 (A)ゲーム進行単位の設定例。(B)マスタ決定ルールの一適用例。 (A)クライアント端末からマスタ端末に送信される入力データの一例。(B)マスタ端末からクライアント端末に送信される出力データの一例。(C)マスタ端末が切り替わるときに次のマスタ端末に送信されるゲームデータの一例。 端末装置200が行うメインルーチンの流れの一例を示すフローチャート。 対戦相手決定処理の流れの一例を示すフローチャート。 マスタ処理の流れの一例を示すフローチャート。 クライアント処理の流れの一例を示すフローチャート。 センターサーバ100が行う処理の流れの一例を示すフローチャート。 (A)第2実施形態例に係るゲーム進行単位の設定内容の一例を示す説明図。(B)第2実施形態例に係るマスタ決定ルールの一例を示す説明図。 (A)ゲーム進行単位の設定例。(B)マスタ決定ルールの一適用例。 図12(B)のマスタ決定ルールに対応するゲームデータの一例を示す説明図。 図12(B)のマスタ決定ルールに対応するマスタ処理の流れの一例を示すフローチャート。 端末装置200が行うメインルーチンの流れの一例を示すフローチャート(第3実施形態)。 マスタ処理の流れの一例を示すフローチャート(第3実施形態)。 クライアント処理の流れの一例を示すフローチャート(第3実施形態)。
符号の説明
100:センターサーバ
200:端末装置
300:ネットワーク

Claims (16)

  1. ネットワークを介して接続される端末装置を含み、いずれかの端末装置がゲームの進行を管理するマスタになりその他の端末装置がクライアントとなるネットワーク対戦型ゲームシステムであって、
    マスタの端末装置及びクライアントの端末装置に前記ネットワークを介してデータを送受信させることにより、複数のゲーム進行単位を含んでなるゲームを実行し、
    1ゲーム進行単位の開始に先立ち、開始されようとしているゲーム進行単位でのマスタを決定し、
    前記ゲームの途中である1ゲーム進行単位の終了後、マスタである端末装置を切り替え、
    マスタである端末は、マスタの切替中はクライアントの端末装置からのデータを受け付けない、
    ネットワーク対戦型ゲームシステム。
  2. マスタである端末装置から次のマスタになる端末装置へ、前記ゲームの続行に必要なデータであるゲームデータを送信し、
    マスタである端末は、少なくとも前記ゲームデータの送信中はクライアントの端末装置からのデータを受け付けない、
    請求項1に記載のネットワーク対戦型ゲームシステム。
  3. マスタである端末装置は、クライアントである端末装置にゲーム進行単位の終了を通知し、
    前記通知を受信したクライアントである端末装置は、前記マスタである端末装置へのデータの送信を休止する、
    請求項1に記載のネットワーク対戦型ゲームシステム。
  4. 前記ゲームの進行上、端末装置がプレイヤの入力を受け付けないタイミングでマスタである端末装置を切り替える、請求項1に記載のネットワーク対戦型ゲームシステム。
  5. 前記端末装置のそれぞれが前記ゲーム中にマスタとなった時間長さの累積値であるマスタ経験時間を記憶し、
    いずれかの端末装置がマスタとなる毎にマスタとなった時間の長さを計測し、計測値を前記端末装置のマスタ経験時間に加算し、
    各端末装置の最新のマスタ経験時間に基づいて、マスタ経験時間が最も少ない端末装置を、開始されようとしているゲーム進行単位でのマスタに決定する、
    請求項1に記載のネットワーク対戦型ゲームシステム。
  6. 前記端末装置のそれぞれが前記ゲーム中にマスタとなったゲーム進行単位数の総数であるマスタ経験単位数を記憶し、
    いずれかの端末装置がマスタとなる毎に、前記端末装置のマスタ経験単位数を増加させ、
    各端末装置の最新のマスタ経験単位数に基づいて、マスタ経験単位数が最も少ない端末装置を、開始されようとしているゲーム進行単位でのマスタに決定する、
    請求項1に記載のネットワーク対戦型ゲームシステム。
  7. 前記端末装置のそれぞれがマスタであるか否かを、各端末装置を操作するプレイヤに通知する、請求項1に記載のネットワーク対戦型ゲームシステム。
  8. ネットワークを介して接続される端末装置間で、いずれかの端末装置がゲームの進行を管理するマスタになりその他の端末装置がクライアントとなってゲームを行うネットワーク対戦型ゲーム方法であって、
    マスタの端末装置及びクライアントの端末装置が、前記ネットワークを介してデータを送受信することにより、複数のゲーム進行単位を含んでなるゲームを実行するゲーム実行ステップと、
    1ゲーム進行単位の開始に先立ち、マスタである端末装置または前記端末装置のそれぞれが、開始されようとしているゲーム進行単位でのマスタを決定するマスタ決定ステップと、
    前記ゲームの途中である1ゲーム進行単位の終了後、マスタである端末装置がマスタを切り替える切替ステップと、
    マスタである端末が、マスタの切替中はクライアントの端末装置からのデータを受け付けない制限ステップと、
    を含むネットワーク対戦型ゲーム方法。
  9. ネットワークを介して他の端末装置と接続される端末装置であって、
    自分及び他の端末装置のいずれかがゲームの進行を管理するマスタとなりその他の端末装置がクライアントとなり、自分以外の他の端末装置との間で前記ネットワークを介してデータを送受信することにより、複数のゲーム進行単位を含んでなるゲームを実行するゲーム実行手段と、
    最初のゲーム進行単位の開始に先立ちマスタとなる端末装置を決定し、かつあるゲーム進行単位でマスタである場合、次のゲーム進行単位でのマスタを決定するマスタ決定手段と、
    あるゲーム単位でマスタである場合、そのゲーム進行単位の終了後、マスタである端末装置を切り替える切替手段と、
    マスタの切替中は、クライアントの端末装置からのデータを受け付けない制限手段と、
    を備える端末装置。
  10. ネットワークを介して他の端末装置と接続される端末装置としてコンピュータを機能させる端末プログラムであって、
    自分及び他の端末装置のいずれかがゲームの進行を管理するマスタとなりその他の端末装置がクライアントとなり、自分以外の他の端末装置との間で前記ネットワークを介してデータを送受信することにより、複数のゲーム進行単位を含んでなるゲームを実行するゲーム実行手段、
    最初のゲーム進行単位の開始に先立ちマスタとなる端末装置を決定し、かつあるゲーム進行単位でマスタである場合、次のゲーム進行単位でのマスタを決定するマスタ決定手段、
    あるゲーム単位でマスタである場合、そのゲーム進行単位の終了後、マスタである端末装置を切り替える切替手段、及び
    マスタの切替中は、クライアントの端末装置からのデータを受け付けない制限手段、
    として前記コンピュータを機能させる端末プログラム。
  11. ネットワークを介して接続される端末装置が実行するネットワーク対戦型ゲーム方法であって、
    自分及び他の端末装置のいずれかがゲームの進行を管理するマスタとなりその他の端末がクライアントとなり、自分以外の他の端末装置との間で前記ネットワークを介してデータを送受信することにより、複数のゲーム進行単位を含んでなるゲームを実行するゲーム実行ステップと、
    最初のゲーム進行単位の開始に先立ちマスタとなる端末装置を決定し、かつあるゲーム進行単位でマスタである場合、次のゲーム進行単位でのマスタを決定するマスタ決定ステップと、
    あるゲーム単位でマスタである場合、そのゲーム進行単位の終了後、マスタである端末装置を切り替える切替ステップと、
    マスタの切替中は、クライアントの端末装置からのデータを受け付けない制限ステップと、
    を含むネットワーク対戦型ゲーム方法。
  12. ネットワークを介して接続される端末装置を含むネットワーク対戦型ゲームシステムであって、
    前記端末装置のうちいずれかの端末装置がゲームの進行を管理するマスタとなりその他の端末装置がクライアントとなって前記ネットワークを介してゲームを実行し、
    前記端末装置のそれぞれがマスタまたはクライアントを経験する毎に更新される各端末装置の経験値に基づいて、ゲームの開始前にいずれの端末装置がマスタになるかを決定する、
    ネットワーク対戦型ゲームシステム。
  13. 前記経験値を記憶し、
    マスタになる端末装置の決定に応じ、前記記憶されている各端末装置の経験値を更新する、
    請求項12に記載のネットワーク対戦型ゲームシステム。
  14. マスタになる端末装置の決定に応じて前記端末装置の経験値に所定の値を加算し、前記端末装置の最新の経験値を決定する、請求項12に記載のネットワーク対戦型ゲームシステム。
  15. 前記経験値は、ゲームを行ったゲーム回数及びマスタになった回数を含み、
    前記端末装置のそれぞれについてゲーム回数に対するマスタになった回数の割合を演算することによりマスタになる端末を決定する、請求項12に記載のネットワーク対戦型ゲームシステム。
  16. ネットワークを介して接続される端末装置間でゲームを行うネットワーク対戦型ゲーム方法であって、
    前記端末装置のうちいずれかの端末装置がゲームの進行を管理するマスタとなりその他の端末装置がクライアントとなって前記ネットワークを介してゲームを実行するゲーム実行ステップと、
    前記端末装置のそれぞれがマスタを経験する毎に更新される各端末装置の経験値に基づいて、いずれの端末装置がマスタになるかをゲームの開始前に決定するマスタ決定ステップと、
    を含むネットワーク対戦型ゲーム方法。
JP2004303061A 2004-10-18 2004-10-18 ネットワーク対戦型ゲームシステム、方法、装置及びプログラム Pending JP2005040629A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004303061A JP2005040629A (ja) 2004-10-18 2004-10-18 ネットワーク対戦型ゲームシステム、方法、装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004303061A JP2005040629A (ja) 2004-10-18 2004-10-18 ネットワーク対戦型ゲームシステム、方法、装置及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003152067A Division JP3632963B2 (ja) 2003-05-29 2003-05-29 ネットワーク対戦型端末装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2005040629A true JP2005040629A (ja) 2005-02-17
JP2005040629A5 JP2005040629A5 (ja) 2006-08-10

Family

ID=34270370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004303061A Pending JP2005040629A (ja) 2004-10-18 2004-10-18 ネットワーク対戦型ゲームシステム、方法、装置及びプログラム

Country Status (1)

Country Link
JP (1) JP2005040629A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2012114519A1 (ja) * 2011-02-25 2014-07-07 株式会社日立製作所 計算機システム及び計算機の制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2012114519A1 (ja) * 2011-02-25 2014-07-07 株式会社日立製作所 計算機システム及び計算機の制御方法

Similar Documents

Publication Publication Date Title
JP3632963B2 (ja) ネットワーク対戦型端末装置、方法及びプログラム
US11103791B2 (en) Automatic movement of player character in network game
JP3708537B1 (ja) ゲーム方法およびゲームシステム
KR20200119185A (ko) 스트리밍 플레이어들과의 온라인 게임에 대한 매치메이킹
JP2001334069A (ja) 他プレイヤによる自キャラクタ成長システム
JP3417936B2 (ja) ネットゲーム用サーバ装置、ネットゲーム管理方法及びネットゲーム管理プログラム
JP6675692B2 (ja) ゲームシステム、ゲーム端末、及びプログラム
TW201029713A (en) Game device, game processing method, information storage medium, and program
JP2017080296A (ja) プログラム、ゲームシステム及びサーバ装置
JP6813620B2 (ja) コンピュータプログラム、およびコンピュータ装置
JP6405479B1 (ja) ゲームシステム、ゲーム端末、及びプログラム
JP2005040629A (ja) ネットワーク対戦型ゲームシステム、方法、装置及びプログラム
JP2005040629A5 (ja)
KR100994019B1 (ko) 통신망을 이용한 마작 게임 서비스 방법
JP7157344B2 (ja) ゲームプログラムおよびゲームシステム
JP7098811B1 (ja) 情報処理装置、ゲームプログラム、情報処理方法
JP2017164563A (ja) プログラム、ゲームシステム及びサーバ装置
JP2024064894A (ja) 情報処理装置、情報処理方法、およびプログラム
JP2023138645A (ja) サーバシステム、ゲームシステム、ゲーム提供方法及びプログラム
JP2022125598A (ja) ゲームシステム及びプログラム
JP2024057424A (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2023048275A (ja) ゲームシステム、サーバ装置、プログラム及びゲーム提供方法
JP2019141563A (ja) ゲームシステム、ゲーム端末、及びプログラム
JP2019141266A (ja) ゲームシステム、ゲーム制御装置、及びプログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20060427

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060523

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20070911

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080122