JP5602963B1 - ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム - Google Patents

ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム Download PDF

Info

Publication number
JP5602963B1
JP5602963B1 JP2014015580A JP2014015580A JP5602963B1 JP 5602963 B1 JP5602963 B1 JP 5602963B1 JP 2014015580 A JP2014015580 A JP 2014015580A JP 2014015580 A JP2014015580 A JP 2014015580A JP 5602963 B1 JP5602963 B1 JP 5602963B1
Authority
JP
Japan
Prior art keywords
game
user terminal
delay time
storage unit
progress
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
JP2014015580A
Other languages
English (en)
Other versions
JP2015139648A (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.)
GREE Inc
Original Assignee
GREE Inc
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 GREE Inc filed Critical GREE Inc
Priority to JP2014015580A priority Critical patent/JP5602963B1/ja
Application granted granted Critical
Publication of JP5602963B1 publication Critical patent/JP5602963B1/ja
Priority to US14/607,764 priority patent/US10105598B2/en
Publication of JP2015139648A publication Critical patent/JP2015139648A/ja
Priority to US16/133,292 priority patent/US10322341B2/en
Priority to US16/417,200 priority patent/US10549192B2/en
Priority to US16/734,207 priority patent/US20200139242A1/en
Priority to US17/110,281 priority patent/US11628359B2/en
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/45Controlling the progress of the video game
    • A63F13/48Starting a game, e.g. activating a game device or waiting for other players to join a multiplayer session
    • 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
    • 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
    • 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/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • 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
    • 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
    • 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/535Features 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 monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】通信状態が異なる複数のコンピュータ端末において同期してゲームを行なうためのゲーム管理プログラム、ゲーム管理方法及びゲーム管理システムを提供する。
【解決手段】ユーザ端末10は、継続的に、レイテンシを測定し、管理サーバ20に送信する。管理サーバ20の制御部21は、レイテンシを取得し、記録する。ゲーム開始時処理では、制御部21は、レイテンシの最大値を特定し、最大値より大きいオフセットを決定し、各ユーザ端末10に通知する。そして、管理サーバ20の制御部21は、ゲームを開始する。また、オフセットを受信したユーザ端末10は、スタート時間が経過した場合、ゲームを開始する。また、ユーザ端末10における操作に基づいて、操作要求を取得した管理サーバ20の制御部21は、レイテンシに基づいて指定ステップを決定し、ユーザ端末10に対して通知する。
【選択図】図1

Description

本発明は、通信状態が異なる複数のコンピュータ端末において、ゲーム進行を同期させるためのゲーム管理プログラム、ゲーム管理方法及びゲーム管理システムに関する。
今日、スマートフォン等のコンピュータ端末を利用するユーザに対して、各種オンラインゲーム等のアプリケーションソフトが提供されている。このようなコンピュータ端末は、インターネットなどのネットワークを介して、他のコンピュータ端末と接続することにより、互いに離れているプレイヤとゲームの対戦を楽しむことができる。
しかしながら、通信ネットワークを介して接続する複数のコンピュータ端末間に通信遅延が生じる場合がある。そこで、各コンピュータ端末間で、データがほぼ同時に処理されるデータ処理方法が検討されている(例えば、特許文献1参照)。この文献に記載されたサーバ装置は、通信遅延を有するネットワークを介してコンピュータゲームの対戦が行なわれる場合、ゲーム開始前に、コンピュータ端末間の遅延時間を求める。そして、この遅延時間に基づいて、各コンピュータ端末がカウントする時間の同期を取る。そして、ゲーム進行中は、操作データ信号は、その発生から予め測定したコンピュータ端末間の遅延時間のうち最も長い遅延時間経過後に処理される。これにより、複数のコンピュータ端末において、同時に操作データ信号を処理する。
特開2007−260410号公報(第1頁、図1)
しかしながら、ゲーム中にクライアント端末の通信状況が変わる場合がある。この場合には、ゲーム進行の同期に支障が生じる可能性がある。
本発明は、上述した問題に鑑みてなされたものであり、その目的は、通信状態が異なる複数のコンピュータ端末において同期してゲームを行なうためのゲーム管理プログラム、ゲーム管理方法及びゲーム管理システムを提供することにある。
(1)上記課題を解決するゲーム管理システムは、複数のユーザ端末に接続され、ゲーム進行を管理する制御部と、前記ユーザ端末における遅延時間を記録する記憶部とを備えたゲーム管理システムを用いる。そして、ゲーム管理プログラムにより、前記制御部を、グループでゲームを行なう各ユーザ端末における遅延時間を、継続的に取得して前記記憶部に記録し、前記ゲーム管理システム及び前記各ユーザ端末におけるゲーム進行を同期させるために、前記記憶部に記録された遅延時間の最大値に基づいて、各ユーザ端末に対して、猶予時間を含めたゲーム進行の同期指示を送信する手段し、前記ユーザ端末から取得して前記記憶部に記録されている最新の遅延時間と、クライアント異常を判定するための第1の閾値とを比較し、前記遅延時間が前記第1の閾値内にあることを条件として前記ユーザ端末からのリクエストを実行する手段として機能させる。これにより、ユーザ端末と
の通信状況が変わっても、同期させることができる。
)上記ゲーム管理システムは、更に、ゲーム種別に対応して、リクエスト実行の可否を判定するための閾値を記憶する。そして、ゲーム管理プログラムにより、前記制御部を、更に、ゲームを行なうゲーム種別に基づいて、前記第1の閾値を決定する手段として機能させることが好ましい。これにより、ゲーム種別に応じた同期状況(同期の厳格性)を考慮して、リクエストに対応することができる。
)上記ゲーム管理プログラムにおいて、前記制御部を、更に、前記記憶部に記録された遅延時間の分散状況を算出し、前記分散状況に基づいて、前記第1の閾値を決定する手段として機能させることが好ましい。これにより、遅延時間の分散状況に応じて、効率的にゲーム進行を図ることができる。
)上記ゲーム管理プログラムにおいて、前記制御部を、更に、グループでゲームを行なうゲーム参加人数を算出し、前記ゲーム参加人数に基づいて、前記第1の閾値を決定する手段として機能させることが好ましい。これにより、ゲーム参加人数の多少に応じて、効率的にゲーム進行を図ることができる。
(5)上記課題を解決するゲーム管理システムは、複数のユーザ端末に接続され、ゲーム進行を管理する制御部と、前記ユーザ端末における遅延時間を記録する記憶部とを備える。そして、ゲーム管理プログラムにおいて、前記制御部を、グループでゲームを行なう各ユーザ端末における遅延時間を、継続的に取得して前記記憶部に記録し、前記ゲーム管理システム及び前記各ユーザ端末におけるゲーム進行を同期させるために、前記記憶部に記録された遅延時間の最大値に基づいて、各ユーザ端末に対して、猶予時間を含めたゲーム進行の同期指示を送信し、前記ユーザ端末におけるゲーム進行状況を取得し、前記ゲーム管理システムにおけるゲーム進行状況と前記各ユーザ端末におけるゲーム進行状況とを、前記各ユーザ端末について、前記記憶部に記録されている最新の遅延時間に基づいて比較し、前記ゲーム進行状況の差分が、遅延ステップ数に関する第2の閾値を超えた場合に
、前記各ユーザ端末に対して、前記ゲーム管理システムにおけるゲーム進行と同期させる同期指示を送信する手段として機能させる。これにより、特定のユーザ端末と通信障害が生じた場合にも、他のユーザ端末への影響を抑制することができる。
)上記ゲーム管理プログラムにおいて、前記制御部を、更に、ゲーム参加希望者のクライアントから遅延時間を取得し、前記記憶部に記録し、前記記憶部に記録されている最新の遅延時間に基づいて、同一ゲームを行なうグループを決定する手段として機能させることが好ましい。これにより、遅延時間のばらつきを抑制し、効率的にゲーム進行の同期を図ることができる。
本発明によれば、通信状態が異なる複数のコンピュータ端末において、ゲーム進行を同期させることができる。
本実施形態のシステム概略図。 本実施形態の処理手順の説明図。 本実施形態の処理手順の説明図。 本実施形態の処理手順の説明図。 本実施形態のタイミングチャート。 本実施形態のタイミングチャート。 他の実施形態の処理手順の説明図。 他の実施形態の処理手順の説明図。 他の実施形態の処理手順の説明図。
以下、ゲーム管理方法の一実施形態を図1〜図6に従って説明する。本実施形態は、複数のユーザ端末(クライアント)に対して、同期して進行するゲームコンテンツ(ロールプレイゲーム)を提供する場合を想定する。このゲーム進行は、時間経過とともにインクリメント(増加)されるステップ数により管理される。
図1に示すように、本実施形態では、インターネット等のネットワークを介して接続された複数のユーザ端末10、管理サーバ20(ゲーム管理システム)を用いる。
ユーザ端末10は、ゲームを行なうユーザが利用するコンピュータ端末(スマートフォン等の情報処理端末)である。ユーザ端末10は、通信部、入力部や出力部(タッチパネルディスプレイ等)を備える。更に、ユーザ端末10は、CPU、RAM及びROM等からなる制御部(遅延処理部11、ゲーム処理部12)を備える。
遅延処理部11は、継続的に、管理サーバ20との接続状態についてレイテンシ(データ転送等を要求してから、その結果が返送されるまでの遅延時間)を計測し、管理サーバ20に送信する。本実施形態では、継続的な計測として、定期的な計測を行なう場合を想定するが、計測の時間間隔として、「不定期」や「連続的」を用いることが可能である。更に、このゲーム処理部12は、管理サーバ20に送信したレイテンシに関するデータを保持する。
ゲーム処理部12は、ゲームを行なうためのアプリケーションにより機能し、ゲーム進行を管理する。また、ゲーム処理部12は、ユーザの操作によるリクエストを管理サーバ20に送信したり、管理サーバ20から取得した指示に基づいてイベントを実行したりする。
管理サーバ20は、各ユーザ端末10に対して、各種ゲームコンテンツを提供するサーバコンピュータである。
この管理サーバ20は、CPU、RAM及びROM等からなる制御部21、ユーザ情報記憶部22、接続状況記憶部23、ゲーム情報記憶部24を備える。制御部21は、管理プログラムを実行することにより、ユーザ管理部211、遅延管理部212、ゲーム管理部213、進行管理部214として機能する。
ユーザ管理部211は、ゲームを利用するユーザを管理する処理を実行する。
遅延管理部212は、各ユーザ端末10との接続状況を管理する処理を実行する。具体的には、各ユーザ端末10からレイテンシ情報を取得し、接続状態を判定する。更に、遅延管理部212は、レイテンシが大きく、ゲーム進行上の支障があるユーザ端末10(クライアント異常)を判定するための閾値に関するデータを保持している。
ゲーム管理部213は、各ユーザ端末10におけるゲーム進行を管理する処理を実行する。本実施形態では、ゲーム管理部213は、各ユーザ端末10に対するゲーム開始や、ユーザ端末10におけるリクエストの取得、ゲーム進行において生じたイベントの通知等を行なう。ここでは、ゲーム開始からの経過時間(ステップ数)に基づいて、ゲーム進行を管理する。具体的には、ステップ数に基づいて、各クライアントのユーザ端末10、管理サーバ20のゲーム進行を同期させる。また、ゲーム管理部213は、管理サーバ20におけるゲーム進行と矛盾するリクエストをユーザ端末10から取得した場合には、不正行為として対応する。
進行管理部214は、管理サーバ20において、ゲーム進行を管理する処理を実行する。この進行管理部214は、この管理サーバ20におけるゲーム進行と、各ユーザ端末10におけるゲーム進行との同期を行なう。
ユーザ情報記憶部22には、ゲームを利用するユーザに関するユーザ情報が記録されている。このユーザ情報には、ユーザが登録された場合に記録される。ユーザ情報には、クライアントID、属性に関するデータが含まれる。
クライアントIDデータ領域は、各ユーザを特定するための識別子に関するデータが記録されている。
属性データ領域には、このユーザの属性に関するデータが記録されている。この属性には、例えばユーザが属するグループやスキル、所有するアイテムに関する情報が含まれる。
接続状況記憶部23には、ユーザ端末10との接続状況を管理するための接続管理情報が記録される。この接続管理情報は、ユーザ端末10が管理サーバ20に接続した場合に登録される。接続管理情報には、グループID、クライアントID、レイテンシ、ステータスに関するデータが含まれる。
グループID領域には、同期してゲームを行なっているグループを特定するための識別子に関するデータが記録される。
クライアントIDデータ領域には、このグループでゲームを行なっている各ユーザ端末10(クライアント)を特定するための識別子に関するデータが記録される。
レイテンシデータ領域には、各クライアント(ユーザ端末10)との接続状況(ここでは、レイテンシ)に関するデータが記録される。
ステータスデータ領域には、各クライアントから取得したリクエストの有効性を判定するための情報が記録される。本実施形態では、レイテンシが閾値より大きいクライアントに対しては、このデータ領域に異常フラグを記録する。異常フラグが記録されているクライアントのユーザ端末10からのリクエストは無効とする。
ゲーム情報記憶部24には、ゲームの進行状況に関するゲーム管理情報が記録される。このゲーム管理情報は、ゲームを行なう場合に登録され、ゲーム中に更新される。ゲーム管理情報には、グループID、クライアントID、利用ゲーム、進捗状況に関するデータが含まれる。
グループID領域には、各ユーザが属しているグループを特定するための識別子に関するデータが記録される。
クライアントIDデータ領域には、このグループでゲームを行なっている各ユーザ端末10を特定するための識別子に関するデータが記録される。
利用ゲームデータ領域には、このグループが利用しているゲームを特定するための識別子に関するデータが記録される。
進捗状況データ領域には、このゲームの進捗状況に関するデータが記録される。本実施形態では、ゲームの進行をカウントしたステップ数に対して、各クライアントにおけるイベント(例えば、オブジェクトの配置等の操作等)が記録される。
以下、上記システム用いて、クライアントA〜Cのユーザ端末10が、一つのグループとしてゲームを行なう場合のゲーム管理方法を説明する。
(レイテンシ管理処理)
まず、図2、図5を用いて、レイテンシ管理処理を説明する。レイテンシ管理処理では、ゲーム開始前から終了まで、各クライアントのレイテンシを管理する。
まず、ユーザ端末10は、定期的に、レイテンシ測定処理を実行する(ステップS1−1)。具体的には、ユーザ端末10の遅延処理部11は、管理サーバ20に対して、定期的にPingを送信する。Pingを受信した管理サーバ20は、Pingに対する応答を返信する。そして、遅延処理部11は、Ping送信から返信までの所要時間に基づいて、ネットワークレイテンシ(遅延時間)を測定する。そして、遅延処理部11は、測定してレイテンシを保持する。図5では、クライアントA〜Cが、それぞれ時刻t11〜t13において、レイテンシを測定するためのPingを送信する。
次に、ユーザ端末10は、レイテンシ送信処理を実行する(ステップS1−2)。具体的には、ユーザ端末10の遅延処理部11は、管理サーバ20に対して、レイテンシ情報を送信する。このレイテンシ情報には、ユーザ端末10を特定する情報や、このユーザ端末10において測定したレイテンシに関する情報を含める。図5では、クライアントA〜Cが、それぞれ時刻t21〜t23において、レイテンシ情報を送信する。そして、ユーザ端末10は、次の測定タイミングで、レイテンシ測定処理(ステップS1−1)以降の処理を繰り返す。
次に、管理サーバ20の制御部21は、レイテンシの取得処理を実行する(ステップS2−1)。具体的には、制御部21の遅延管理部212は、ユーザ端末10によって送信されたレイテンシ情報を取得する。
次に、管理サーバ20の制御部21は、レイテンシの記録処理を実行する(ステップS2−2)。具体的には、制御部21の遅延管理部212は、接続状況記憶部23において、ユーザ端末10のクライアントIDに関連付けてレイテンシを記録する。ここで、初めてレイテンシを取得した場合には、遅延管理部212は、グループID,クライアントIDに関連づけて、レイテンシを記録した接続状況管理情報を生成し、接続状況記憶部23に登録する。一方、既に、このユーザ端末10についての接続状況管理情報が接続状況記憶部23に登録されている場合には、遅延管理部212は、この接続状況管理情報に最新のレイテンシを更新記録する。
次に、管理サーバ20の制御部21は、クライアント異常かどうかについての判定処理を実行する(ステップS2−3)。具体的には、制御部21の遅延管理部212は、ユーザ端末10から取得したレイテンシと閾値とを比較する。レイテンシが閾値より大きい場合には、クライアント異常と判定する。
クライアント異常でないと判定した場合(ステップS2−3において「NO」の場合)、管理サーバ20の制御部21は、レイテンシ管理処理を終了する。
一方、クライアント異常と判定した場合(ステップS2−3において「YES」の場合)、管理サーバ20の制御部21は、リクエスト無効化処理を実行する(ステップS2−4)。具体的には、制御部21の遅延管理部212は、接続状況記憶部23の接続状況管理情報に、ステータスとして異常フラグを記録し、レイテンシ管理処理を終了する。そして、ゲーム進行中において、ゲーム管理部213は、異常フラグが記録されたユーザ端末10からのリクエストを無視する。
(ゲーム開始時処理)
次に、図3、図5を用いて、ゲーム開始時処理を説明する。この処理は、ユーザ端末10からゲームスタート要求を受信した場合(ゲーム開始時)に実行される。
ここでは、まず、管理サーバ20の制御部21は、レイテンシの最大値の特定処理を実行する(ステップS3−1)。具体的には、制御部21のゲーム管理部213は、接続状況記憶部23から、同じグループIDが記録された接続状況管理情報を取得して、同じグループに属するユーザ端末10のレイテンシを特定する。この場合、異常フラグが記録されているレイテンシを無視する。そして、ゲーム管理部213は、特定したレイテンシの中で最大値を特定する。本実施形態では、クライアントA〜Cのレイテンシは、それぞれ「50ms」,「30ms」,「200ms」の場合を想定する。この場合、レイテンシの最大値は「200ms」となる。
次に、管理サーバ20の制御部21は、最大値より大きいオフセットの決定処理を実行する(ステップS3−2)。具体的には、制御部21のゲーム管理部213は、レイテンシの最大値より大きいオフセット(猶予時間)を特定する。ここでは、最大値に対して所定値(例えば1.5)を乗算した値をオフセットとして決定する。具体的には、最大値(200ms)に対して、オフセットとして「300ms(=200*1.5)」が算出される。なお、オフセットの算出は、ゲーム管理部213に予め保持させた算出方法であれば、上述の定数倍に限定されるものではない。
次に、管理サーバ20の制御部21は、オフセットの通知処理を実行する(ステップS3−3)。具体的には、制御部21のゲーム管理部213は、スタート時間情報をユーザ端末10に送信する。このスタート時間情報には、決定したオフセットに関する情報を含める。
次に、管理サーバ20の制御部21は、ゲーム開始処理を実行する(ステップS3−4)。具体的には、制御部21の進行管理部214は、オフセット経過後に、管理サーバ20におけるゲームを開始する。図5では、オフセット経過後の時刻t40において、ゲームを開始する。そして、進行管理部214は、一定時間毎にステップ数をインクリメントすることにより、ゲームを進行させる。
一方、オフセットを受信したユーザ端末10は、スタート待機処理を実行する(ステップS4−1)。具体的には、ユーザ端末10のゲーム処理部12は、管理サーバ20から取得したオフセットから、遅延処理部11が保持しているレイテンシを差し引いて、ゲームのスタート時間を算出する。例えば、クライアントA〜Cにおいては、それぞれ250ms〔=300−50〕、270ms〔=300−30〕、100ms〔=300−200〕がスタート時間となる。そして、ゲーム処理部12は、このスタート時間を待機する。
そして、スタート時間が経過した場合、ユーザ端末10は、ゲーム開始処理を実行する(ステップS4−2)。具体的には、ユーザ端末10のゲーム処理部12は、ゲームを開始する。図5では、オフセット経過後の時刻t40において、クライアントA〜Cはゲームを開始する。そして、各ユーザ端末10のゲーム処理部12は、一定時間毎にステップ数をインクリメントすることにより、ゲームを進行させる。
(リクエスト対応処理)
次に、図4を用いて、リクエスト対応処理を説明する。ここでは、クライアントAのユーザ端末10からリクエストを取得した場合を想定する。
まず、ユーザ端末10は、操作要求処理を実行する(ステップS5−1)。具体的には、ユーザ端末10のゲーム処理部12は、ユーザによる操作に基づいて、イベントを特定する。ここでは、イベントとして、オブジェクトの配置を想定する。この場合、クライアントAのゲーム処理部12は、クライアントAにおけるレイテンシを考慮したステップ数を算出する。ここでは、クライアントAにおける操作時のステップ数(ローカルステップ数)に対して、レイテンシをステップ単位時間で除算した値を加算した値(サーバステップ数)を算出する。そして、ゲーム処理部12は、管理サーバ20に対して、オブジェクト配置のリクエストを送信する。このリクエストには、オブジェクトの種類、配置位置、サーバステップ数に関するデータを含める。図6では、クライアントAが、時刻t51において、オブジェクト配置のリクエストを送信する。
次に、ユーザ端末10は、イベントまでの時間差の擬装処理を実行する(ステップS5−2)。具体的には、ユーザ端末10のゲーム処理部12は、イベント準備中(オブジェクトの配置の準備中)を示すアニメーション等を出力する。
リクエストを取得した管理サーバ20の制御部21は、操作の検知処理を実行する(ステップS6−1)。具体的には、制御部21のゲーム管理部213は、クライアントAのユーザ端末10から、操作(オブジェクトの配置)についてのリクエストを取得する。
次に、管理サーバ20の制御部21は、レイテンシの最大値の特定処理を実行する(ステップS6−2)。具体的には、制御部21のゲーム管理部213は、接続状況記憶部23において、同じグループIDが記録された接続状況管理情報を取得して、レイテンシの最大値を特定する。
次に、管理サーバ20の制御部21は、レイテンシに基づいて指定ステップの決定処理を実行する(ステップS6−3)。具体的には、制御部21のゲーム管理部213は、レイテンシの最大値に対してマージンを加算したイベント実施時刻を算出する。そして、ゲーム管理部213は、イベント実施時刻をステップ単位時間で除算して、オブジェクトの配置を実施するステップ数を算出する。
次に、管理サーバ20の制御部21は、指定ステップの通知処理を実行する(ステップS6−4)。具体的には、制御部21のゲーム管理部213は、クライアントA〜Cのユーザ端末10に対して、イベント通知を行なう。このイベント通知には、イベント内容(クライアントAにおけるオブジェクトの配置)、指定ステップ数に関するデータを含める。図6では、管理サーバ20が、時刻t60において、イベント実施の指定ステップを通知する。
次に、管理サーバ20の制御部21は、イベント待機処理を実行する(ステップS6−5)。具体的には、制御部21の進行管理部214は、指定ステップになるまで、イベントを待機する。
次に、管理サーバ20の制御部21は、イベント実施処理を実行する(ステップS6−6)。具体的には、制御部21の進行管理部214は、指定ステップにおいて、管理サーバ20のゲーム進行において、イベント(オブジェクトの配置)をゲーム情報記憶部24に記録する。図6では、進行管理部214は、時刻t70において、オブジェクトの配置を実施する。
イベント通知を受信したユーザ端末10は、イベント待機処理を実行する(ステップS5−3)。具体的には、ユーザ端末10のゲーム処理部12は、管理サーバ20から指定ステップになるまで、イベントを待機する。
次に、ユーザ端末10は、イベント実施処理を実行する(ステップS5−4)。具体的には、指定ステップが到来した場合、ユーザ端末10のゲーム処理部12は、擬装を終了し、オブジェクトの配置を実施する。
また、クライアントB、クライアントCのユーザ端末10においても、ステップS5−3、S5−4と同様に、イベント待機処理(ステップS7−1)、イベント実施処理(ステップS7−2)を実行する。図6では、時刻t70において、クライアントA〜Cは、オブジェクトの配置を実施する。
上記実施形態によれば、以下のような効果を得ることができる。
(1)上記実施形態では、ユーザ端末10は、レイテンシ測定処理(ステップS1−1)、レイテンシ送信処理(ステップS1−2)を実行する。管理サーバ20の制御部21は、レイテンシの取得処理(ステップS2−1)、レイテンシの記録処理を実行する(ステップS2−2)。これにより、管理サーバ20において、各クライアントにおける遅延状況を把握することができる。特に、この処理が定期的に実行されるため、サーバ・クライアント間の通信状況の変化にも対応することができる。
(2)上記実施形態では、進行管理部214は、管理サーバ20において、ゲーム進行を管理する処理を実行する。この進行管理部214は、管理サーバ20におけるゲーム進行と、各ユーザ端末10におけるゲーム進行との同期を行なう。また、ゲーム管理部213は、管理サーバ20におけるゲーム進行と矛盾するリクエストをユーザ端末10から取得した場合には、不正行為として対応する。これにより、管理サーバ20においてゲーム進行を管理しているので、各クライアントでの不正行為を監視することができる。更に、ユーザ端末10との通信障害が生じても、障害から復帰した場合、ゲームを継続することができる。
(3)上記実施形態では、クライアント異常と判定した場合(ステップS2−3において「YES」の場合)、管理サーバ20の制御部21は、リクエスト無効化処理を実行する(ステップS2−4)。これにより、ゲーム進行において、遅延が大きいクライアントの影響を抑制することができる。
(4)上記実施形態では、管理サーバ20の制御部21は、レイテンシの最大値の特定処理(ステップS3−1)、最大値より大きいオフセットの決定処理(ステップS3−2)、オフセットの通知処理(ステップS3−3)を実行する。これにより、遅延が大きいクライアントにおいても、同時期にゲームを開始することができる。そして、各クライアントのユーザ端末10、管理サーバ20において、ゲーム進行の同期を図ることができる。
(5)上記実施形態では、ユーザ端末10は、操作要求処理を実行する(ステップS5−1)。この場合、ユーザ端末10のゲーム処理部12は、クライアントAにおけるレイテンシを考慮したステップ数を算出する。これにより、管理サーバ20のゲーム進行におけるステップ数を特定して、リクエストを行なうことができる。
更に、ユーザ端末10は、イベントまでの時間差の擬装処理を実行する(ステップS5−2)。これにより、クライアントにおける操作(オブジェクトの配置操作)からイベント実施(オブジェクトの配置)までの時間を確保することができる。
(6)上記実施形態では、管理サーバ20の制御部21は、レイテンシの最大値の特定処理(ステップS6−2)、レイテンシに基づいて指定ステップの決定処理(ステップS6−3)、指定ステップの通知処理(ステップS6−4)を実行する。これにより、ゲームを行なっているグループの中に、遅延が大きいクライアントが含まれている場合にも、同時期にイベントを実行することができる。
なお、上記実施形態は以下のように変更してもよい。
・上記実施形態では、管理サーバ20の制御部21は、レイテンシに基づいて指定ステップの決定処理を実行する(ステップS6−3)。ここで、レイテンシが大きい場合、他のユーザ端末10における後続ステップでの操作に関するリクエストが、管理サーバ20に先着することがある。この状況を考慮して、指定ステップを決定するようにしてもよい。
図7を用いて、この場合のリクエスト対応処理を説明する。
この場合、管理サーバ20の制御部21は、ステップS6−1、S6−2と同様に、操作の検知処理(ステップS8−1)、レイテンシの最大値の特定処理(ステップS8−2)を実行する。
次に、管理サーバ20の制御部21は、前後ステップの反転があるかどうかについての判定処理を実行する(ステップS8−3)。具体的には、制御部21のゲーム管理部213は、リクエストに含まれるステップ数に基づいて、先に到着している後続ステップのリクエストがあるかどうかを確認する。先着リクエストに含まれるステップ数が、後着リクエストに含まれるステップ数が大きい場合には、前後ステップの反転があると判定する。
前後ステップの反転がないと判定した場合(ステップS8−3において「NO」の場合)、管理サーバ20の制御部21は、ステップS6−3と同様に、レイテンシに基づいて指定ステップの決定処理を実行する(ステップS8−4)。
一方、前後ステップの反転があると判定した場合(ステップS8−3において「YES」の場合)、管理サーバ20の制御部21は、先着リクエストに基づいて指定ステップの決定処理を実行する(ステップS8−5)。具体的には、制御部21のゲーム管理部213は、先着リクエストにおける指定ステップよりも後のステップを指定する。ここでは、レイテンシの最大値に対してマージンを加算したイベント実施時刻を算出する。そして、ゲーム管理部213は、イベント実施時刻をステップ単位時間で除算して、イベント(オブジェクトの配置)を実施するステップ数を算出する。ここで、ゲーム管理部213は、算出したステップ数が先着リクエストにおける指定ステップよりも大きいかどうかを確認する。先着リクエストにおける指定ステップよりも小さい場合には、ゲーム管理部213は、先着リクエストにおける指定ステップに対して、レイテンシの最大値及びマージンに対応するステップ数を加算したステップ数を指定ステップ数として特定する。
次に、管理サーバ20の制御部21は、ステップS6−4〜S6−6と同様に、指定ステップの通知処理(ステップS8−6)〜イベント実施処理(ステップS8−8)を実行する。
これにより、レイテンシの違いにより、後続ステップ数におけるリクエストが先着した場合にも、リクエストの到着順番で対応することができる。なお、後着リクエストに対応した場合、ゲーム進行上、不都合が生じる場合には、後着リクエストを無視することも可能である。
・上記実施形態では、ユーザ端末10との接続状況を管理するための接続管理情報が記録される。接続管理情報には、グループID、クライアントID、レイテンシ、ステータスに関するデータが記録される。そして、各クライアントのレイテンシの最大値を用いて、ゲーム開始時刻や指定ステップを決定する。同期のために用いるレイテンシは、最大値に限定されるものではない。例えば、クライアント毎に、レイテンシ履歴を記録し、所定期間のレイテンシの平均値を用いるようにしてもよい。この場合には、平均値の最大値を用いて、同期を行なう。
また、変動幅を一定値以下に抑えたような値を算出するようにしてもよい。この場合には、レイテンシ履歴に基づいて、統計的にレイテンシが含まれる値を用いる。例えば、レイテンシの平均値に対して標準偏差を加算した偏差値を用いる。この偏差値の最大値により、同期を行なう。
・上記実施形態では、ユーザ端末10は、レイテンシ測定処理を実行する(ステップS1−1)。そして、ユーザ端末10は、レイテンシ送信処理を実行する(ステップS1−2)。これに代えて、管理サーバ20において、レイテンシを測定するようにしてもよい。この場合には、制御部21の遅延管理部212が、各クライアントのユーザ端末10に対して、Pingを送信して、レイテンシを計測する。そして、遅延管理部212は、各クライアントのユーザ端末10に対して、それぞれのレイテンシを送信する。
・上記実施形態では、定期的にPingを送信することにより、レイテンシ測定処理を実行する(ステップS1−1)。レイテンシ測定のタイミングはこれに限定されるものではない。ここで、レイテンシ測定間隔を、ゲーム種類によって、変更してもよい。この場合には、遅延管理部212に、ゲーム種類に対応させて、レイテンシ測定間隔を記録したタイミング情報を保持させておく。そして、遅延管理部212は、利用するゲーム種類に対応したレイテンシ測定間隔を特定し、このレイテンシ測定間隔を用いて、レイテンシ測定処理を実行する。ゲーム種別によっては、ゲーム進行における同期の意義は異なる。例えば、厳格に同期が必要なゲームもあれば、同期の必要性が緩やかなゲームもある。そこで、ゲーム種別に応じた同期状況(同期の厳格性)を考慮して、リクエストに対応することができる。
更に、ゲームの画面に応じて、レイテンシ測定間隔を変更するようにしてもよい。この場合には、ゲーム進行のステップ数に関連付けて、レイテンシ測定間隔を記録しておく。
また、レイテンシ測定間隔を、レイテンシの分散状況によって変更してもよい。この場合には、遅延管理部212に、同じグループに属するユーザ端末10のレイテンシの履歴を特定し、レイテンシの分布を算出する。そして、レイテンシの変化が少ない場合(変化幅が基準値以下の場合)には、レイテンシ測定間隔を大きくする。一方、レイテンシの変化が大きい場合(変化幅が基準値を超えている場合)には、レイテンシ測定間隔を小さくする。これにより、レイテンシの分散状況に応じて、レイテンシ評価の処理負担と正確性とのバランスを考慮して、ゲーム進行を図ることができる。
また、レイテンシ測定間隔を、グループへの参加人数によって変更してもよい。この場合には、遅延管理部212に、参加人数に対応させて、レイテンシ測定間隔を記録したタイミング情報を保持させておく。そして、遅延管理部212は、利用するゲーム種類に対応したレイテンシ測定間隔を特定し、このレイテンシ測定間隔を用いて、レイテンシ測定処理を実行する。これにより、ゲーム参加人数の多少に応じて、効率的にゲーム進行を図ることができる。
・上記実施形態では、クライアント異常と判定した場合(ステップS2−3において「YES」の場合)、管理サーバ20の制御部21は、リクエスト無効化処理を実行する(ステップS2−4)。クライアント異常を判定するための閾値を変更可能としてもよい。この場合には、ここで、閾値をゲーム種類によって変更してもよい。この場合には、ゲーム管理部213に、ゲーム種類に対応させて、閾値を記録した閾値情報を保持させておく。そして、ゲーム管理部213は、利用するゲーム種類に対応した閾値を特定し、この閾値を用いて、リクエスト無効化処理を実行する。ゲーム種別によっては、ゲーム進行における同期の意義は異なるが、ゲーム種別に応じた同期状況(同期の厳格性)を考慮して、リクエストに対応することができる。
更に、ゲームの画面に応じて、閾値を変更するようにしてもよい。この場合には、ゲーム進行のステップ数に関連付けて、閾値を記録しておく。
また、閾値を、レイテンシの分散状況によって変更してもよい。この場合には、ゲーム管理部213に、同じグループに属するユーザ端末10のレイテンシの履歴を特定し、レイテンシの分布を算出する。そして、レイテンシの変化が少ない場合(変化幅が基準値以下の場合)には、閾値を大きくする。一方、レイテンシの変化が大きい場合(変化幅が基準値を超えている場合)には、閾値を小さくする。これにより、レイテンシの分散状況に応じてレイテンシの許容範囲を変更して、ゲーム進行を図ることができる。
また、閾値を、グループにおけるゲーム参加人数によって変更してもよい。この場合には、ゲーム管理部213に、参加人数に対応させて、閾値を記録したタイミング情報を保持させておく。そして、ゲーム管理部213は、利用するゲーム種類に対応した閾値を特定し、この閾値を用いて、リクエスト無効化処理を実行する。この場合、ゲーム参加人数が多い場合には、閾値を上げて、許容範囲を広げる。これにより、ゲーム参加人数の多少に応じて、効率的にゲーム進行を図ることができる。
・上記実施形態では、ユーザ端末10は、ゲーム開始処理を実行する(ステップS4−2)。ここでは、ゲームに参加する各クライアントのユーザ端末10において、同時期にゲームを開始し、ゲーム進行のステップ数の同期を行なう。ここで、ゲーム進行途中で、ステップ数の同期を図るようにしてもよい。この場合には、管理サーバ20において、途中調整処理を実行する。この場合には、ゲーム管理部213に、同期の要否を判定するための閾値(遅延ステップ数)に関するデータを保持させておく。
図8を用いて、途中調整処理を説明する。
ここでは、まず、ユーザ端末10は、定期的に、ステップ数の送信処理を実行する(ステップS9−1)。具体的には、ユーザ端末10のゲーム処理部12は、管理サーバ20に対して、定期的に現在ステップ数を送信する。
この場合、管理サーバ20の制御部21は、ステップ数の取得処理を実行する(ステップS9−2)。具体的には、制御部21のゲーム管理部213は、各クライアントのユーザ端末10から、定期的に現在ステップ数を取得する。
次に、管理サーバ20の制御部21は、レイテンシに基づいてステップ数の補正処理を実行する(ステップS9−3)。具体的には、制御部21のゲーム管理部213は、現在ステップ数を取得したユーザ端末10におけるレイテンシを、接続状況記憶部23から取得する。次に、ゲーム管理部213は、レイテンシをステップ単位時間で除算した値を加算した値(遅延ステップ数)を算出する。そして、ゲーム管理部213は、現在ステップ数に遅延ステップ数を加算したローカルステップ数を算出する。
次に、管理サーバ20の制御部21は、差分が閾値以上かどうかについての判定処理を実行する(ステップS9−4)。具体的には、制御部21のゲーム管理部213は、ユーザ端末10から取得した現在ステップ数を取得したときのサーバステップ数と、ローカルステップ数との差分を算出する。そして、ゲーム管理部213は、差分と閾値とを比較する。
差分が閾値より小さいと判定した場合(ステップS9−4において「NO」の場合)、管理サーバ20の制御部21は、途中調整処理を終了する。
一方、差分が閾値以上と判定した場合(ステップS9−4において「YES」の場合)、管理サーバ20の制御部21は、レイテンシに基づいて現在ステップ数の補正処理を実行する(ステップS9−5)。具体的には、制御部21のゲーム管理部213は、現在のサーバステップ数に対して、遅延ステップ数を加算した修正ステップ数を算出する。
次に、管理サーバ20の制御部21は、同期指示処理を実行する(ステップS9−6)。具体的には、制御部21のゲーム管理部213は、同期指示を、ステップ数を取得したユーザ端末10に対して送信する。この同期指示には、修正ステップ数に関するデータを含める。
そして、同期指示を取得したユーザ端末10は、同期処理を実行する(ステップS9−7)。具体的には、ユーザ端末10のゲーム処理部12は、ゲーム進行を、管理サーバ20から取得した修正ステップ数までスキップする。これにより、管理サーバ20におけるゲーム進行と、クライアントにおけるゲーム進行とにズレが生じている場合にも、両者の同期を図ることができる。
・上記実施形態では、クライアントA〜Cのユーザ端末10が一つのグループとしてゲームを行なう場合を想定した。ここで、レイテンシを考慮してグループを生成するようにしてもよい。ここでは、レイテンシが所定範囲内に含まれるクライアントをまとめたグループを構成するグループ化処理を行なう。
図9を用いて、グループ化処理を説明する。
ここでは、まず、管理サーバ20の制御部21は、参加希望者のレイテンシの取得処理を実行する(ステップS10−1)。具体的には、制御部21のゲーム管理部213は、ゲーム参加希望のクライアントのレイテンシを、ユーザ端末10から取得する。
次に、管理サーバ20の制御部21は、レイテンシの近いクライアントでグループ作成処理を実行する(ステップS10−2)。具体的には、制御部21のゲーム管理部213は、取得したレイテンシが所定範囲内に含まれるクライアントを特定する。そして、ゲーム管理部213は、特定したクライアントをゲーム情報記憶部24に、グループとして登録する。
次に、管理サーバ20の制御部21は、図3に示すゲーム開始時処理を実行する(ステップS10−3)。
これにより、レイテンシの違いが少ないクライアントによりゲームを行なうことができるので、ゲーム進行の同期が容易となる。
なお、ここで、ユーザの属性(ゲームスキルやレベル等)を考慮して、グループ作成を行なってもよい。この場合には、管理サーバ20の制御部21は、ユーザ情報記憶部22に記録された属性に基づいて、共通するユーザ(グループ候補)を特定する。そして、管理サーバ20の制御部21は、グループ候補のユーザにおいて、グループ化処理を実行し、レイテンシの近いクライアントでグループ作成を行なう。
10…ユーザ端末、11…遅延処理部、12…ゲーム処理部、20…管理サーバ、21…制御部、211…ユーザ管理部、212…遅延管理部、213…ゲーム管理部、214…進行管理部、22…ユーザ情報記憶部、23…接続状況記憶部、24…ゲーム情報記憶部。

Claims (10)

  1. 複数のユーザ端末に接続され、ゲーム進行を管理する制御部と、
    前記ユーザ端末における遅延時間を記録する記憶部とを備えたゲーム管理システムを用いて、ゲームを管理するプログラムであって、
    前記制御部を、
    グループでゲームを行なう各ユーザ端末における遅延時間を、継続的に取得して前記記憶部に記録し、
    前記ゲーム管理システム及び前記各ユーザ端末におけるゲーム進行を同期させるために、前記記憶部に記録された遅延時間の最大値に基づいて、各ユーザ端末に対して、猶予時間を含めたゲーム進行の同期指示を送信し、
    前記ユーザ端末から取得して前記記憶部に記録されている最新の遅延時間と、クライアント異常を判定するための第1の閾値とを比較し、
    前記遅延時間が前記第1の閾値内にあることを条件として前記ユーザ端末からのリクエストを実行する手段
    として機能させることを特徴とするゲーム管理プログラム。
  2. 前記ゲーム管理システムは、ゲーム種別に対応して、リクエスト実行の可否を判定するための閾値を記憶し、
    前記制御部を、更に、ゲームを行なうゲーム種別に基づいて、前記第1の閾値を決定する手段として機能させることを特徴とする請求項1に記載のゲーム管理プログラム。
  3. 前記制御部を、更に、前記記憶部に記録された遅延時間の分散状況を算出し、
    前記分散状況に基づいて、前記第1の閾値を決定する手段として機能させることを特徴とする請求項又はに記載のゲーム管理プログラム。
  4. 前記制御部を、更に、グループでゲームを行なうゲーム参加人数を算出し、
    前記ゲーム参加人数に基づいて、前記第1の閾値を決定する手段として機能させることを特徴とする請求項の何れか1項に記載のゲーム管理プログラム。
  5. 複数のユーザ端末に接続され、ゲーム進行を管理する制御部と、
    前記ユーザ端末における遅延時間を記録する記憶部とを備えたゲーム管理システムを用いて、ゲームを管理するプログラムであって、
    前記制御部を、
    グループでゲームを行なう各ユーザ端末における遅延時間を、継続的に取得して前記記憶部に記録し、
    前記ゲーム管理システム及び前記各ユーザ端末におけるゲーム進行を同期させるために、前記記憶部に記録された遅延時間の最大値に基づいて、各ユーザ端末に対して、猶予時間を含めたゲーム進行の同期指示を送信し、
    前記ユーザ端末におけるゲーム進行状況を取得し、
    前記ゲーム管理システムにおけるゲーム進行状況と前記各ユーザ端末におけるゲーム進行状況とを、前記各ユーザ端末について、前記記憶部に記録されている最新の遅延時間に基づいて比較し、
    前記ゲーム進行状況の差分が、遅延ステップ数に関する第2の閾値を超えた場合に、前記各ユーザ端末に対して、前記ゲーム管理システムにおけるゲーム進行と同期させる同期指示を送信する手段として機能させることを特徴とするゲーム管理プログラム。
  6. 前記制御部を、更に、ゲーム参加希望者のクライアントから遅延時間を取得し、前記記憶部に記録し、
    前記記憶部に記録されている最新の遅延時間に基づいて、同一ゲームを行なうグループを決定する手段として機能させることを特徴とする請求項1〜の何れか1項に記載のゲーム管理プログラム。
  7. 複数のユーザ端末に接続され、ゲーム進行を管理する制御部と、
    前記ユーザ端末における遅延時間を記録する記憶部とを備えたゲーム管理システムを用いて、ゲームを管理する方法であって、
    前記制御部が、
    グループでゲームを行なう各ユーザ端末における遅延時間を、継続的に取得して前記記憶部に記録し、
    前記ゲーム管理システム及び前記各ユーザ端末におけるゲーム進行を同期させるために、前記記憶部に記録された遅延時間の最大値に基づいて、各ユーザ端末に対して、猶予時間を含めたゲーム進行の同期指示を送信し、
    前記ユーザ端末から取得して前記記憶部に記録されている最新の遅延時間と、クライアント異常を判定するための第1の閾値とを比較し、
    前記遅延時間が前記第1の閾値内にあることを条件として前記ユーザ端末からのリクエストを実行することを特徴とするゲーム管理方法。
  8. 複数のユーザ端末に接続され、ゲーム進行を管理する制御部と、
    前記ユーザ端末における遅延時間を記録する記憶部とを備えたゲーム管理システムを用いて、ゲームを管理する方法であって、
    前記制御部が、
    グループでゲームを行なう各ユーザ端末における遅延時間を、継続的に取得して前記記憶部に記録し、
    前記ゲーム管理システム及び前記各ユーザ端末におけるゲーム進行を同期させるために、前記記憶部に記録された遅延時間の最大値に基づいて、各ユーザ端末に対して、猶予時間を含めたゲーム進行の同期指示を送信し、
    前記ユーザ端末におけるゲーム進行状況を取得し、
    前記ゲーム管理システムにおけるゲーム進行状況と前記各ユーザ端末におけるゲーム進行状況とを、前記各ユーザ端末について、前記記憶部に記録されている最新の遅延時間に基づいて比較し、
    前記ゲーム進行状況の差分が、遅延ステップ数に関する第2の閾値を超えた場合に、前記各ユーザ端末に対して、前記ゲーム管理システムにおけるゲーム進行と同期させる同期指示を送信することを特徴とするゲーム管理方法。
  9. 複数のユーザ端末に接続され、ゲーム進行を管理する制御部と、
    前記ユーザ端末における遅延時間を記録する記憶部とを備えたゲーム管理システムであって、
    前記制御部が、
    グループでゲームを行なう各ユーザ端末における遅延時間を、継続的に取得して前記記憶部に記録し、
    前記ゲーム管理システム及び前記各ユーザ端末におけるゲーム進行を同期させるために、前記記憶部に記録された遅延時間の最大値に基づいて、各ユーザ端末に対して、猶予時間を含めたゲーム進行の同期指示を送信し、
    前記ユーザ端末から取得して前記記憶部に記録されている最新の遅延時間と、クライアント異常を判定するための第1の閾値とを比較し、
    前記遅延時間が前記第1の閾値内にあることを条件として前記ユーザ端末からのリクエストを実行することを特徴とするゲーム管理システム。
  10. 複数のユーザ端末に接続され、ゲーム進行を管理する制御部と、
    前記ユーザ端末における遅延時間を記録する記憶部とを備えたゲーム管理システムであって、
    前記制御部が、
    グループでゲームを行なう各ユーザ端末における遅延時間を、継続的に取得して前記記憶部に記録し、
    前記ゲーム管理システム及び前記各ユーザ端末におけるゲーム進行を同期させるために、前記記憶部に記録された遅延時間の最大値に基づいて、各ユーザ端末に対して、猶予時間を含めたゲーム進行の同期指示を送信し、
    前記ユーザ端末におけるゲーム進行状況を取得し、
    前記ゲーム管理システムにおけるゲーム進行状況と前記各ユーザ端末におけるゲーム進行状況とを、前記各ユーザ端末について、前記記憶部に記録されている最新の遅延時間に基づいて比較し、
    前記ゲーム進行状況の差分が、遅延ステップ数に関する第2の閾値を超えた場合に、前記各ユーザ端末に対して、前記ゲーム管理システムにおけるゲーム進行と同期させる同期指示を送信することを特徴とするゲーム管理システム。
JP2014015580A 2014-01-30 2014-01-30 ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム Active JP5602963B1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2014015580A JP5602963B1 (ja) 2014-01-30 2014-01-30 ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム
US14/607,764 US10105598B2 (en) 2014-01-30 2015-01-28 Game management method, game management system, and game management program for synchronizing game progress at a plurality of devices in different communication states
US16/133,292 US10322341B2 (en) 2014-01-30 2018-09-17 Game management method, game management system, and game management program for synchronizing game progress at a plurality of devices in different communication states
US16/417,200 US10549192B2 (en) 2014-01-30 2019-05-20 Game management method, game management system, and game management program for synchronizing game progress at a plurality of devices in different communication states
US16/734,207 US20200139242A1 (en) 2014-01-30 2020-01-03 Game management method, game management system, and game management program for synchronizing game progress at a plurality of devices in different communication states
US17/110,281 US11628359B2 (en) 2014-01-30 2020-12-02 Game management method, game management system, and game management program for synchronizing game progress at a plurality of devices in different communication states

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014015580A JP5602963B1 (ja) 2014-01-30 2014-01-30 ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014167478A Division JP5719470B1 (ja) 2014-08-20 2014-08-20 ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム

Publications (2)

Publication Number Publication Date
JP5602963B1 true JP5602963B1 (ja) 2014-10-08
JP2015139648A JP2015139648A (ja) 2015-08-03

Family

ID=51840418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014015580A Active JP5602963B1 (ja) 2014-01-30 2014-01-30 ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム

Country Status (2)

Country Link
US (5) US10105598B2 (ja)
JP (1) JP5602963B1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5719470B1 (ja) * 2014-08-20 2015-05-20 グリー株式会社 ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム
JP2015144841A (ja) * 2015-03-19 2015-08-13 グリー株式会社 ゲーム管理方法及びゲーム管理システム
US10105598B2 (en) 2014-01-30 2018-10-23 Gree, Inc. Game management method, game management system, and game management program for synchronizing game progress at a plurality of devices in different communication states
CN112843677A (zh) * 2021-02-08 2021-05-28 脸萌有限公司 一种系统延时确定方法、装置、设备和存储介质

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9849389B2 (en) * 2012-10-03 2017-12-26 Gree, Inc. Method of synchronizing online game, and server device
WO2017083829A1 (en) 2015-11-13 2017-05-18 Pyrotechnics Management, Inc. Time code controlled logic device
GB2545181A (en) * 2015-12-07 2017-06-14 Fujitsu Ltd Synchronisation device, method, program and system
US11311799B2 (en) 2017-05-19 2022-04-26 Audioplay Australia Pty Ltd Role-play synchronisation system
US10722788B2 (en) * 2017-10-25 2020-07-28 Allied Esports International, Inc. Systems and methods for managing latency in networked competitive multiplayer gaming
JP7403211B2 (ja) * 2018-05-22 2023-12-22 住友化学株式会社 屈曲可能な光学積層体及びその製造方法
JP2020062106A (ja) * 2018-10-15 2020-04-23 株式会社コロプラ ゲームプログラム、方法、および情報処理装置
JP7135831B2 (ja) 2018-12-20 2022-09-13 富士通株式会社 分析プログラム、および分析装置
US11207594B2 (en) * 2019-03-29 2021-12-28 Electronic Arts Inc. State stream game engine
CN111628905B (zh) * 2020-04-30 2022-05-31 苏州幻塔网络科技有限公司 数据包的抓取方法、装置及设备
CN111617487B (zh) * 2020-05-22 2021-03-16 腾讯科技(深圳)有限公司 游戏应用中的帐号接入方法和装置、存储介质及电子设备
US11207593B1 (en) * 2020-05-29 2021-12-28 Electronic Arts Inc. Scalable state synchronization for distributed game servers
US10999172B1 (en) * 2020-07-31 2021-05-04 Arkade, Inc. Systems and methods for latency-aware social networking

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004523326A (ja) * 2001-03-29 2004-08-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ マルチプレイヤー型ゲームのネットワーク・レーテンシー補償
JP2007260410A (ja) * 1999-09-14 2007-10-11 Sega Corp データ処理方法
JP4275136B2 (ja) * 2003-07-23 2009-06-10 株式会社ソニー・コンピュータエンタテインメント 通信装置、ゲームシステムおよび接続確立方法
JP2010134800A (ja) * 2008-12-05 2010-06-17 Sony Computer Entertainment Inc シミュレーションシステム

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS562963B2 (ja) 1973-08-20 1981-01-22
AU4158496A (en) * 1994-11-14 1996-06-06 Catapult Entertainment, Inc. Method and apparatus for synchronizing the execution of multiple video game systems in a networked environment
US6025801A (en) * 1996-10-01 2000-02-15 Philips Electronics North America Corporation Video game with local updates mitigates latency effects in wide area network
US6042477A (en) * 1996-12-12 2000-03-28 Addink; Dale H. Method of and system for minimizing the effects of time latency in multiplayer electronic games played on interconnected computers
US5899810A (en) * 1997-01-24 1999-05-04 Kaon Interactive Corporation Distributed game architecture to overcome system latency
US6361440B1 (en) * 1999-02-04 2002-03-26 Namco Ltd. Game system, game machine, game data distribution machine, network system and information storage medium
JP2001198363A (ja) * 1999-09-14 2001-07-24 Sega Corp データ処理方法
US7244181B2 (en) * 2000-11-14 2007-07-17 Netamin Communication Corp. Multi-player game employing dynamic re-sequencing
KR20050012596A (ko) * 2003-07-26 2005-02-02 (주)이진공작 클라이언트 시스템의 동작 동기화 장치와 방법 및 이를이용한 통신망을 통한 상호 작용 시스템 및 게임방법
WO2005022397A1 (en) * 2003-08-28 2005-03-10 Trihedron Co., Ltd. Method of data synchronization in multiplayer network games
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
WO2006043473A1 (ja) * 2004-10-21 2006-04-27 Mediaseek Inc. 同期通信方法および同期通信装置
US20060135258A1 (en) * 2004-12-17 2006-06-22 Nokia Corporation System, network entity, client and method for facilitating fairness in a multiplayer game
US8149530B1 (en) * 2006-04-12 2012-04-03 Winview, Inc. Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming
JP5005210B2 (ja) * 2005-11-11 2012-08-22 任天堂株式会社 ネットワークゲームシステム、ネットワークゲームプログラムおよびネットワーク構築方法
US9089771B2 (en) * 2006-02-17 2015-07-28 Alcatel Lucent Method and apparatus for synchronizing assets across distributed systems
US9554061B1 (en) * 2006-12-15 2017-01-24 Proctor Consulting LLP Smart hub
JP5745204B2 (ja) * 2008-07-28 2015-07-08 株式会社バンダイナムコエンターテインメント プログラム、情報記憶媒体及びゲーム機
US8678929B1 (en) * 2008-08-01 2014-03-25 Electronics Arts Inc. Client-side prediction of a local game object to reduce apparent network lag of multiplayer simulations
JP4718622B2 (ja) * 2009-03-24 2011-07-06 株式会社スクウェア・エニックス ゲーム装置、ゲームの進行方法、ゲームプログラム及び記録媒体
US20120165100A1 (en) * 2010-12-23 2012-06-28 Alcatel-Lucent Canada Inc. Crowd mobile synchronization
KR101650646B1 (ko) * 2012-04-27 2016-08-23 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 측정된 네트워크 지연에 기초한 가상 머신 스위칭
US9849389B2 (en) * 2012-10-03 2017-12-26 Gree, Inc. Method of synchronizing online game, and server device
US9674267B2 (en) * 2013-01-29 2017-06-06 Sony Interactive Entertainment America, LLC Methods and apparatus for hiding latency in network multiplayer games
KR102096300B1 (ko) * 2013-06-12 2020-04-02 주식회사 소니 인터랙티브 엔터테인먼트 출력 데이터 제공 서버 및 출력 데이터 제공 방법
JP5602963B1 (ja) 2014-01-30 2014-10-08 グリー株式会社 ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007260410A (ja) * 1999-09-14 2007-10-11 Sega Corp データ処理方法
JP2004523326A (ja) * 2001-03-29 2004-08-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ マルチプレイヤー型ゲームのネットワーク・レーテンシー補償
JP4275136B2 (ja) * 2003-07-23 2009-06-10 株式会社ソニー・コンピュータエンタテインメント 通信装置、ゲームシステムおよび接続確立方法
JP2010134800A (ja) * 2008-12-05 2010-06-17 Sony Computer Entertainment Inc シミュレーションシステム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10105598B2 (en) 2014-01-30 2018-10-23 Gree, Inc. Game management method, game management system, and game management program for synchronizing game progress at a plurality of devices in different communication states
US10322341B2 (en) 2014-01-30 2019-06-18 Gree, Inc. Game management method, game management system, and game management program for synchronizing game progress at a plurality of devices in different communication states
US10549192B2 (en) 2014-01-30 2020-02-04 Gree, Inc. Game management method, game management system, and game management program for synchronizing game progress at a plurality of devices in different communication states
US11628359B2 (en) 2014-01-30 2023-04-18 Gree, Inc. Game management method, game management system, and game management program for synchronizing game progress at a plurality of devices in different communication states
JP5719470B1 (ja) * 2014-08-20 2015-05-20 グリー株式会社 ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム
JP2015139699A (ja) * 2014-08-20 2015-08-03 グリー株式会社 ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム
JP2015144841A (ja) * 2015-03-19 2015-08-13 グリー株式会社 ゲーム管理方法及びゲーム管理システム
CN112843677A (zh) * 2021-02-08 2021-05-28 脸萌有限公司 一种系统延时确定方法、装置、设备和存储介质
CN112843677B (zh) * 2021-02-08 2023-07-11 脸萌有限公司 一种系统延时确定方法、装置、设备和存储介质

Also Published As

Publication number Publication date
US20190270009A1 (en) 2019-09-05
US20200139242A1 (en) 2020-05-07
US20210086074A1 (en) 2021-03-25
US10549192B2 (en) 2020-02-04
US10105598B2 (en) 2018-10-23
US20190022527A1 (en) 2019-01-24
US20150209670A1 (en) 2015-07-30
US11628359B2 (en) 2023-04-18
JP2015139648A (ja) 2015-08-03
US10322341B2 (en) 2019-06-18

Similar Documents

Publication Publication Date Title
JP5602963B1 (ja) ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム
EP3226134A1 (en) A method and system for scaling resources, and a computer program product
WO2017166713A1 (zh) 服务请求处理方法及装置
CN112642143B (zh) 一种实现信息同步的方法、装置、存储介质和电子设备
CN107404540B (zh) 数据的同步方法及装置
CN105812255B (zh) 回源线路的选择方法及装置
JP5909588B2 (ja) ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム
JP5815901B2 (ja) ゲーム管理方法及びゲーム管理システム
JP5719470B1 (ja) ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム
US9609068B2 (en) Session management system, session management apparatus, and non-transitory computer readable medium
KR101571374B1 (ko) 정보 관리 방법 및 장치
CN104519069A (zh) 一种拦截资源请求的方法和装置
JP2015075942A (ja) 情報処理システム、情報処理装置、シミュレーション装置、情報処理方法、シミュレーション方法及びプログラム
CN111494938B (zh) 测速方法、装置、存储介质及电子装置
US11263112B2 (en) Method and apparatus for evaluating quality of software running environment of device
CN105471674A (zh) 测试服务器性能的方法及系统
Tang et al. Update scheduling for improving consistency in distributed virtual environments
CN113094272B (zh) 应用测试方法、装置、电子设备和计算机可读介质
CN110766322B (zh) 一种基于大数据的vr旅游产品评价方法
CN114328750A (zh) 一种将业务数据同步ods层的方法及装置
CN109150644A (zh) 一种对服务器进行健康检测的方法及装置
CN107943674B (zh) 任务进度确定方法及装置、计算机设备及存储介质
US8161002B2 (en) System, method, and computer readable media for replicating virtual universe objects
JP2019169805A5 (ja)
US20240320600A1 (en) Simulation device, system, and method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140704

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140820

R150 Certificate of patent or registration of utility model

Ref document number: 5602963

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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