[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6360691B2 - ゲームシステム、情報処理装置、制御方法、及び記録媒体 - Google Patents

ゲームシステム、情報処理装置、制御方法、及び記録媒体 Download PDF

Info

Publication number
JP6360691B2
JP6360691B2 JP2014045522A JP2014045522A JP6360691B2 JP 6360691 B2 JP6360691 B2 JP 6360691B2 JP 2014045522 A JP2014045522 A JP 2014045522A JP 2014045522 A JP2014045522 A JP 2014045522A JP 6360691 B2 JP6360691 B2 JP 6360691B2
Authority
JP
Japan
Prior art keywords
action
game
electronic device
action command
command
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
JP2014045522A
Other languages
English (en)
Other versions
JP2015167737A (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.)
Square Enix Co Ltd
Original Assignee
Square Enix 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
Application filed by Square Enix Co Ltd filed Critical Square Enix Co Ltd
Priority to JP2014045522A priority Critical patent/JP6360691B2/ja
Priority to US14/620,574 priority patent/US9789397B2/en
Publication of JP2015167737A publication Critical patent/JP2015167737A/ja
Application granted granted Critical
Publication of JP6360691B2 publication Critical patent/JP6360691B2/ja
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/31Communication aspects specific to video games, e.g. between several handheld game devices at close range
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、ゲームシステム、情報処理装置、制御方法、及び記録媒体に関し、特に装置間の通信を利用する電子ゲームに関する。
家庭用ゲーム機やPC等、所定の記録媒体に記録されたゲームプログラムを実行するゲーム装置の中には、他のゲーム装置との間で通信を行って取得した情報を提供するゲームに反映するものがある。このようなゲーム装置間の通信は、有線無線を問わず、様々な手法により行われている。
ゲーム装置間の通信に限らず、データの送受信には伝送経路に応じた遅延が生じる。即ち、一方の装置から送信されたデータは、通信に要する所定の時間が経過した後に、データの全体が他方の装置において受信が完了する。データ送受信における遅延時間は送信するデータ量に応じて増減するため、遅延時間を低減するためのデータ構成や送受信の方法には様々な技術が提案されている。
また、ゲームコンテンツの中には、受信するデータの遅延の有無に依らず、ゲーム画面を所定の間隔で更新しなければならないものもある。このようなゲームコンテンツでは、更新間隔で規定される時間内に他のゲーム装置からデータが受信されない場合には、過去に受信したデータから受信されるであろうデータを推測し、推測結果に基づいてゲームへの反映処理を行うこともある(特許文献1)。
特許第5357752号公報
特許文献1のように推測に基づいてゲームへの反映処理を行うゲームコンテンツでは、例えば反映処理後に受信したデータとの整合をとるための補間処理が実行され、遅延の補償が行われる。また、遅延したデータの補償による実際のデータとのずれが蓄積していくと処理が破綻することもあるため、所定のタイミングでずれをリセットし、補間を行わずに受信したデータを使用したゲームへの反映処理を行うこともある。
しかしながら、このような補間処理やずれ量のリセット等が行われた場合、次のような問題が生じうる。例えば携帯用ゲーム装置を使用する複数のプレイヤが、実空間において互いの画面を確認できるような位置関係に存在する場合、各ゲーム装置において独立して補間処理やずれ量のリセット等が行われる状況を考える。このとき、例えばカーレースゲーム等において各プレイヤの操作する車の順位がゲーム装置間で異なる現象、あるいはずれ量のリセットによって、これまで存在しなかった場所に他のプレイヤの車が突然現れる等の現象が生じうる。このようなゲーム装置間での不整合は、プレイヤの興趣を低減する可能性があった。
本発明の少なくとも一つの実施形態は、上述の問題点に鑑みてなされたものであり、ゲーム装置間で生じる遅延を許容した好適なゲーム体験を実現するゲームシステム、情報処理装置、制御方法、及び記録媒体を提供することを目的とする。
前述の目的を達成するために、本発明の少なくとも1つの実施形態に係るゲームシステムは、複数の電子機器においてなされた行動命令により進行するゲームを実行するゲームシステムであって、第1の電子機器において第1の行動命令がなされた場合に、該第1の電子機器において行動命令がなされたことを該第1の電子機器と異なる第2の電子機器に通知する通知手段と、第1の行動命令による行動がゲームに反映されるまでの第1の時間を設定する設定手段と、第1の行動命令に基づく時間から第1の時間が経過した後に、第1の行動命令による行動を第2の電子機器において実行されるゲームに反映する反映手段と、を有する。
このような構成により本発明の少なくとも1つの実施形態によれば、ゲーム装置間で生じる遅延を許容した好適なゲーム体験を実現することが可能となる。
本発明の実施形態に係るゲームコンソール100の機能構成を示したブロック図 本発明の実施形態に係る対戦ゲームの概要を説明するための図 本発明の実施形態1に係るゲームコンソール100において実行される行動管理処理を例示したフローチャート 本発明の実施形態1に係るゲームコンソール100において実行される行動処理(自機)を例示したフローチャート 本発明の実施形態1に係るゲームコンソール100において実行される行動処理(他機)を例示したフローチャート 本発明の実施形態に係る対戦ゲームで管理される各種パラメータテーブルの構成を示した図 本発明の実施形態2に係るゲームシステムのシステム構成を示した図 本発明の実施形態2に係るサーバ800の機能構成を示したブロック図 本発明の実施形態2に係るサーバ800において実行される行動管理処理を例示したフローチャート 本発明の実施形態2に係るサーバ800において実行される行動処理(全体)を例示したフローチャート 本発明の変形例1に係るゲームシステムのシステム構成を示した図 本発明の変形例2に係るサーバ800の機能構成を示したブロック図
[実施形態1]
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、ゲームシステムの一例としての、接続された複数のゲームコンソール100間で通信を行いながら進行するゲームを実行するシステムに、本発明を適用した例を説明する。しかし、本発明は、複数の電子機器においてなされた行動命令により進行するゲームを実行することが可能な任意の機器及びシステムに適用可能である。
《ゲームコンソール100の構成》
図1は、本発明の実施形態に係るゲームシステムを構成するゲームコンソール100の機能構成を示すブロック図である。
CPU101は、ゲームコンソール100が有する各ブロックの動作を制御する。CPU101は、例えばROM102や記録媒体105に記録された各ブロックの動作プログラムを読み出し、RAM103に展開して実行することにより各ブロックの動作を制御する。
ROM102は、電気的に書き換え可能な不揮発性メモリである。ROM102は、ゲームコンソール100が有する各ブロックの動作プログラムや、各ブロックの動作において必要なパラメータ等を記録する。またRAM103は、揮発性メモリである。RAM103は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等を一時的に記録する格納領域としても用いられる。
描画部104は、例えばGPU等のゲームに係るゲーム画面を描画する描画装置である。描画部104は、CPU101からの描画命令を受信し、不図示のGPUメモリに展開された描画オブジェクトに係るデータを命令に従って処理することで、ビデオメモリ上にゲーム画面を描画する。
記録媒体105は、例えばHDDやゲームプログラムを格納したディスク等の、ゲームコンソール100に着脱可能に接続される記録装置である。記録媒体105は、ゲームコンソール100が有する各ブロックの動作プログラムだけでなく、ゲーム画面の描画に必要となる描画オブジェクトに係るデータ等を格納している。
操作入力部106は、コントローラやキーボード等の、ゲームコンソール100が有する各種ユーザインタフェースである。操作入力部106は、操作入力がなされたことを検出すると、対応する制御信号をCPU101に出力する。
通信部107は、ゲームコンソール100が有する外部機器との通信に係る通信インタフェースである。本実施形態では、ゲームコンソール100は他のゲームコンソール100と無線通信により接続し、ゲーム実行中に通信を行い、必要なデータの送受信を行う。本実施形態ではゲームコンソール100は無線通信により他のゲームコンソール100との通信を行うものとして説明するが、通信部107の通信方式は無線通信に限られるものではなく、有線で直接接続される方式が用いられてもよい。
表示部108は、例えばLCD等の表示装置である。表示部108は、ゲームコンソール100と一体となって構成されるものであってもよいし、ゲームコンソール100に着脱可能に接続される外部の表示装置であってもよい。表示部108は、ゲームコンソール100において生成されたゲーム画面を表示する。
《ゲームにおいて生じる遅延》
ここで、ゲームにおいてプレイヤの操作によりなされた行動命令に対して発生する遅延の要素を説明する。本実施形態では、ゲームシステムにおいて実行されるゲームは、フィールド上へのキャラクタ等のユニットの配置や、配置したユニットに対する行動命令を行いながら進行する、所謂リアルタイムストラテジー(RTS)ゲームであるものとして説明する。しかしながら、本発明の実施はこのようなRTSゲームに限られないことは容易に理解されよう。
RTSゲームは、ターン制のゲームとは異なりプレイヤが操作を行わない時間も常にゲームが進行するため、各プレイヤは自身の使用するユニットの生成及び配置、該ユニットの移動、アイテム収集、フィールド探索、あるいは対戦相手のプレイヤへの攻撃等の行動命令を順次行っていく必要がある。またプレイヤは、相手プレイヤが起こした行動に反応してリアルタイムに対応策を講じる、あるいは相手プレイヤの起こしうる行動を予測して事前に回避行動の準備を進める等をリアルタイムに考えて行動命令を行う必要がある。
RTSゲームではフィールド上にユニットが多数配置され、各プレイヤが1つのユニットを自身の操作にリアルタイムに追従させて行動させることは現実的でないため、通常、ユニットへの行動命令は行動の最終到達目標や中間到達目標を定義することにより行われる。即ち、行動命令が与えられた場合、対象のユニットが到達目標に至るまでにとる行動は、該命令に応じた所定の演算により、あるいはAIプログラムとして設けられた所定の行動パターンの情報に従って生成され、操作に応じて瞬時に生成されるものではない。換言すれば、所定の行動命令がなされた場合には設定された到達目標に至るまでの間にとる行動を順次決定するための演算がユニットごとに必要になる。また、最終到達目標が地形変形や建造物破壊等、フィールドや相手キャラクタのユニットにダメージ等の影響を及ぼす効果や物理演算等を含んだ描画エフェクトを伴うものである場合、最終到達目標への到達に対応する時点での状況に応じて、これらの効果に係る演算もさらに行う必要がある。つまり、RTSゲームではリアルタイムにゲーム状況が進行するため、最終到達目標に係る行動を実行する際には、命令を行った時点とゲーム状況が異なっている可能性が高い。このため、例えば該目標に到達する時点でのゲームパラメータを取得し、発生させる行動に係る効果等の演算を行う、あるいは既に行っていた演算結果をゲームパラメータによって補正する処理を行う必要がある。従って、到達目標に至るまでの移動等の中間行動の生成に係り順次行われる処理や、行動による効果や描画エフェクトの発生に係り行われる処理は、選択された行動によって演算量が変化する。即ち、なされた行動命令に応じた処理が行われてゲームに反映されるまでには、演算量に応じた遅延(発動遅延)が発生しうる。またこのような発動遅延は、機器で単位時間に行うことができる演算量(処理リソース)が有限であることを考慮すると、フィールド上に多数のユニットが配置されている場合等では、その全てについて行動に係る処理を行われることになるため、ユニット数に応じて発動遅延は増加しうる。
さらに、本実施形態のように2つのゲームコンソール100が通信接続して対戦ゲームを行う場合、各プレイヤによりなされた操作入力は該プレイヤの使用するゲームコンソール100において入力評価等の処理がなされることで、入力に対応する行動命令が特定される。特定された行動命令は、該処理を行ったゲームコンソール100において管理されるゲームパラメータにまず反映され、反映後のゲームパラメータが対戦相手のゲームコンソール100に対して送信されることになる。従って、操作入力がなされてから他方のゲームコンソール100に該操作入力に係るパラメータ変更がなされるまでは、操作入力がなされたゲームコンソール100における処理、ゲームコンソール100間におけるパラメータの送受信、及び対戦相手のゲームコンソール100におけるゲームパラメータへの反映処理に係る時間が遅延(以下、通信遅延とする)することになる。このとき、特にゲームコンソール100間の通信状況によって、処理結果の送受信に係る遅延量は前後することになる。通信状況には、例えばゲームコンソール100間の伝送距離、通信を行う環境における障害物の配置や、単にパケット損失による不受信等が含まれる。また処理結果の送受信に係る遅延量は、処理結果に係る情報のデータ量によって受信完了までの時間が前後するため、物理演算等のエフェクト関係の処理結果を伝送する場合は当然その分遅延量が多くなる。
なお、本実施形態のRTSゲームでは、操作入力のデータを互いに送受信し、それぞれのゲームコンソール100において独立して操作入力の評価を行ってゲームパラメータへの反映を行う方式を用いないものとする。これは、各ゲームコンソール100において複数台分の操作入力を処理することで演算量が増加することや、独立して処理することで例えば受信タイミングの差等により各機器において生じる演算結果の不一致が生じることに起因する。しかしながら、本発明の実施はこれに限られるものではなく、特定された操作入力に対応する行動命令の情報が対戦相手のゲームコンソール100に送信されて、該ゲームコンソール100においてゲームパラメータへの反映処理がなされてもよい。
また、一般的なゲームコンソール用に提供されるゲームアプリケーションは、ゲームコンソール間に基本性能の差異がないため、両者におけるゲームパラメータの反映や操作入力の評価に要する処理時間に差はない。しかしながら、例えばPC等、プレイヤによって性能が異なる機器が使用される場合には処理能力の違いにより、機器間で操作入力の結果が反映されるまでの時間に差が生じる、即ち一方の機器から見れば他方の機器に結果が反映されるまでに、より多くの遅延(以下、性能遅延とする)が生じうる。
本実施形態では、これらゲームにおいて生じる遅延のうち、少なくとも発動遅延及び通信遅延を許容して、プレイヤの興趣を持続させる方法について説明する。
《ゲーム概要》
次に、本実施形態のRTSゲームの概要について、図2を用いて説明する。以下の説明では、簡単のためRTSゲームが2つのゲームコンソール100間での対戦ゲームとして実行されるものとして説明する。
本実施形態のRTSゲームでは、対戦する各ゲームコンソール100のプレイヤには、図2(a)に示されるようにゲームフィールド(以下、単にフィールド)上の異なる位置がホーム位置(本拠地)として割り当てられる。該本拠地は、ゲーム中移動しないものとする。各プレイヤは、フィールド上に自身の支配下にあるユニットを配置し、各ユニットに行動命令を与えることで、対応する行動をユニットに実行させることができる。本RTSゲームは、対戦相手のユニットあるいは本拠地にダメージを与え、最終的に本拠地に定められた耐久力を先にゼロとしたプレイヤがゲームの勝者となるものとする。
ここで、各プレイヤがフィールド上のユニットに対して行動命令を与えた際に、該行動命令に係る行動がゲームに反映されるまでの処理の概要を示す。本実施形態のRTSゲームでは、フィールド上の各プレイヤの本拠地の距離を、ゲームコンソール100間の所定の単位データの伝送に係る通信遅延量に基づいて決定する。即ち、計測したゲームコンソール100間の該通信遅延量が多いほど、両者の間にはフィールド上における隔たりが生じるものとして表現する。該隔たりは、フィールド上の実際の距離としてゲームに反映されてもよいし、フィールドの広さは予め定められた広さと変わらないまま、ユニットの進行速度や進行難易度を変更することによりゲームに反映されてもよい。本実施形態のRTSゲームでは、通信遅延量に基づいてフィールド上におけるプレイヤ間の本拠地の隔たりを規定するものとして説明するが、このような変更は必須ではない。プレイヤ間の本拠地の隔たりは、予め定められたルールに基づいて設定されてもよいし、固定値であってもよいし、ランダムに設定されるものであってもよい。
本実施形態のRTSゲームでは、ある行動に係る行動命令がなされた場合、行動の発動までに要する時間は、行動の発動地点、行動を行うユニットの現在位置、及び行動に係る演算量の全てを考慮して決定される。例えば図2(b)に示されるように、プレイヤ1が現在、地点PunitAに配置されている自身のユニットUAに対して、プレイヤ1の本拠地Pbase1から遠く、プレイヤ2の本拠地Pbase2に近い地点PactAを発動地点とする行動に係る行動命令を行ったとする。このとき、行動の発動までに要する時間、即ち実際に演算処理が完了し、行動が発動したことを通知するまでに要する時間は、
1.本拠地からユニットUAへの命令伝達に要する時間(本拠地Pbase1と地点PunitAとの距離に比例)
2.ユニットUAが地点PunitAから発動地点PactAまでの移動に要する時間(ユニットに定められた移動速度VunitAと地点PunitAから発動地点PactAまでの距離との積に比例)
3.予め定められた行動の発動に要する時間(ユニットUAに定められた遂行能力AunitAと行動に係る演算量に応じて予め定められた時間Tneedとの積に比例)
の例えば総和として決定されるものとする。また、行動が発動してからその効果がゲーム画面に反映されるまでの時間は、
4.発動地点PactAから各プレイヤの本拠地への効果の伝搬に要する時間(発動地点PactAと各プレイヤの本拠地Pbase1、Pbase2との距離に比例)
として決定されるものとする。
つまり、本実施形態のRTSゲームでは、各プレイヤは自身の本拠地から遠く、かつ相手プレイヤの本拠地に近い地点で行動を発動させようとする場合には、本拠地からの発動地点までの距離に応じた時間を待機する必要がある。また発動させる行動が、中間行動生成及びエフェクト生成等に係る処理に多くの演算量を必要とするような行動である場合は、各プレイヤは、発動までの時間さらに待機する必要がある。さらに、行動が発動することによる効果の伝搬も発動地点と本拠地との距離に応じて意図的に遅延される。
また反対に例えば図2(c)に示されるように、プレイヤ1が現在、地点PunitBに配置されている自身のユニットUBに対して、プレイヤ1の本拠地Pbase1から近く、プレイヤ2の本拠地Pbase2から遠い地点PactBを発動地点とする行動Bに係る行動命令を行ったとする。このとき、行動Bの発動までに要する時間は図2(b)の例で行動の発動までに要する時間よりは短く、効果が伝搬されるまでの時間も同様に短くなる。
即ち、本実施形態のRTSゲームでは、単位データの通信遅延量によってゲーム上のプレイヤ間の距離を規定し、さらに演算量の多い処理によって発生しうる発動遅延やエフェクト等の処理結果の伝送量が多いことによる通信遅延を考慮して、予め行動の発動までに要する時間を規定することで、通信を介した対戦ゲームにおける遅延による不整合や処理の破綻の発生を回避する。また行動の発動による効果も距離に応じて通知されるように制御するため、波及的に伝搬されるように演出できる。つまり、このように行動の発動や伝搬に予め遅延をもたせてその間に演算を完了させておくようにすることで、上述の発動遅延や通信遅延のゲームへの影響を、プレイヤの興趣を低減させない範囲で回避することができる。
《行動管理処理》
以下、本実施形態のゲームシステムにおいて実現される上述の対戦ゲームに係る行動管理処理について図3のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、各ゲームコンソール100のCPU101が、例えば記録媒体105に記憶されているゲームアプリケーションに係るプログラムを読み出し、RAM103に展開して実行することにより実現することができる。
本行動管理処理は、例えば複数のゲームコンソール100の各々において、ゲームアプリケーションが提供する対戦ゲームの実行指示がなされ、対戦ゲームに参加するゲームコンソール100が確定した際に開始され、フレーム単位で繰り返し実行されるものとして説明する。また、本実施形態では簡単のため、同一の性能を有する2つのゲームコンソール100間で対戦ゲームが行われるものとして説明する。また以下の説明において、フローチャートはいずれか一方のゲームコンソール100のCPU101が行うものとして説明するが、本フローチャートは対戦ゲームに参加するゲームコンソール100の各々のCPU101が実行するものであってよい。なお、対戦ゲームの開始時に参加する全てのゲームコンソール100において、同期してゲーム開始からの経過時間の測定を開始するものとする。
S301で、CPU101は、ゲームコンソール100間の通信状況によって生じる通信遅延量を取得する。例えばCPU101は、対戦相手のゲームコンソール100に対してレスポンス要求を送信し、送信してから該要求に応じて返送されるレスポンスを受信するまでに要した時間を通信遅延量としてRAM103に格納する。
S302で、CPU101は、フィールドにおけるプレイヤ間の本拠地の距離を通信遅延量に基づいて規定する。通信遅延量の取得及び本拠地間の距離の変更は、対戦ゲームの開始時にのみ行われるものであってもよいし、通信状況の変化に動的に対応するよう、所定のフレーム間隔で行われるものであってもよい。
S302の処理の後、CPU101は、自身のゲームコンソール100において新たになされた行動命令に係る操作入力に対応する処理を行うS303の行動処理(自機)と、他のゲームコンソール100において新たになされた行動命令に係る操作入力に対応する処理を行うS304の行動処理(他機)とを並行実行する。
〈行動処理(自機)〉
ここで、行動管理処理のS303においてCPU101が実行する行動処理(自機)の詳細について図4のフローチャートを用いて説明する。
S401で、CPU101は、行動命令に係る操作入力がなされたか否かを判断する。本実施形態の対戦ゲームでは、CPU101は、行動命令に係る操作入力がなされたと判断した場合は処理をS402に移し、なされていないと判断した場合は処理をS406に移す。
S402で、CPU101は、操作入力に対応する行動命令を解釈し、行動命令がなされたことを示す情報、行動命令がなされた経過時間、行動命令に係る行動Xが発動する座標の情報を通信部107に伝送し、行動Xの識別情報(行動識別情報)に関連付けて対戦相手のゲームコンソール100に対して送信させる。またCPU101は、自身のRAM103にもこれらの情報を格納する。
本実施形態の対戦ゲームでは、行動命令がなされた場合、行動の種類は特定せず、発動座標におけるいずれか行動に係る行動命令がなされたことを対戦相手に通知する。該通知は、ゲームコンソール100において実行されるゲームに反映され、通知メッセージとして該ゲームコンソール100のプレイヤに提示される。これは、後述するように行動の発動をゲーム内で遅延に応じて調整することに伴う不公平性をなくすためである。また、このように事前にいずれかの行動が発動することを通知することで、対戦相手のプレイヤは起こりうる行動を予測して行動を起こすことができる。このとき、通知された行動の発動までに要する時間よりも、予測して起こした行動の発動までに要する時間が短ければ、プレイヤは通知された行動が発動した際には影響を低減することができる可能性がある。また、通知された行動の発動地点がフィールド上で自身の本拠地に近ければ、プレイヤは地理的に優位に立つため、予防策を講じるための時間をより得ることができる。
S403で、CPU101は、行動Xが発動するまでの時間を算出する。まずCPU101は、記録媒体105に格納されている各種パラメータテーブルを参照して、命令対象のユニットの移動速度、遂行能力、発動所要時間の情報を取得する。そしてCPU101は、これらのパラメータと行動Xの発動座標と命令対象のユニットの現在座標とに基づいて、発動するまでの時間を算出する。本実施形態の対戦ゲームでは、例えば図6(a)に示されるように、プレイヤがゲーム内で操作可能なユニットの各々について、耐久力等の基本的なパラメータ(基本パラメータ)に加えて、移動速度、命令可能な行動及びその行動の遂行能力を定めたユニットパラメータテーブルが記録媒体105に格納されている。また、図6(b)に示されるように、対戦ゲームで設けられている行動のそれぞれには、行動により生じる影響を示す影響パラメータに加えて、エフェクト処理を含む行動発動に係る演算に要する時間よりも長い時間を発動所要時間として定めた行動パラメータテーブルが記録媒体105に格納されている。各行動の発動所要時間は、該行動の発動に係る演算に要する時間に比例して定められている。CPU101はこれらのテーブルを参照して上述のパラメータを取得し、発動するまでの時間Tactを例えば
act=RootLength(Punit−Pbase)
+RootLength(Pact−Punit)/Vunit+Aunit×Tneed
として算出する。ここで、RootLength()は地形を考慮した2地点間の距離を算出する関数、Pbaseは本拠地座標、Punitはユニットの現在座標、Pactは行動発動座標、Vunitはユニットの移動速度、Aunitはユニットの行動Xに係る遂行能力(>1)、Tneedは行動Xの発動所要時間である。
S404で、CPU101は、行動Xが発動した際に、その効果が各プレイヤに通知されるまでの時間、即ち行動Xの結果が各ゲームコンソール100で実行されているゲームに反映されるまでの時間(効果の伝搬に要する時間)を算出する。ゲームに反映されるまでの時間Tnotifyは、例えば行動Xの演算結果のデータ量Dact、行動Xの発動座標と各ゲームコンソール100のプレイヤに割り当てられた本拠地座標との距離、及び変換係数Kとに基づいて、
notify=Dact×RootLength(Pact−Pbase)×K
として算出する。ここで、変換係数Kは、行動管理処理のS302において通信遅延量からプレイヤ間の本拠地の距離を規定するために使用される変換係数の逆数である。
なお、本実施形態の対戦ゲームでは、行動命令に係る行動が発動するまでの時間及び行動の結果がゲームに反映されるまでの時間を上述の二式によって算出するものとして説明するが、本発明の実施はこれに限られるものではない。本発明の実施において行動が発動するまでの時間は、通信遅延による不整合を公平化するために、命令をしたプレイヤの本拠地から発動地点が遠いほど、また行動に係る処理の演算量が多いほど、発動遅延に係る遅延量や通信遅延量を超えて発動を遅らせるようにするものであればよい。また行動の結果がゲームに反映されるまでの時間は、後述のように該行動の演算を行う装置からの通信遅延量と演算結果のデータ量とを考慮して決定するものであればよい。
S405で、CPU101は、行動Xの発動座標に本拠地が最も近いプレイヤのゲームコンソール100に、行動Xに係る演算処理を割り当てる。ここで演算処理を割り当てるゲームコンソール100(対象コンソール)が自身のゲームコンソール100とは異なる場合、CPU101は、S403において算出した行動が発動するまでの時間の情報と、S404において算出した結果がゲームに反映されるまでの時間の情報とを通信部107に伝送し、行動Xの行動識別情報に関連付けて対象コンソールに送信させる。また対象コンソールが自身のゲームコンソール100である場合、CPU101は同様の情報をRAM103に保持する。
S406で、CPU101は、S405における行動Xに係る演算処理の割り当てが自身であったか否かを判断する。CPU101は、行動Xに係る演算処理の割り当てが自身であったと判断した場合は処理をS407に移し、自身ではないと判断した場合は本行動処理(自機)を完了する。
S407で、CPU101は、行動Xの発動タイミング及び各ゲームコンソール100で実行されているゲームへの反映タイミングを算出し、例えばRAM103に格納されているタイミングテーブルに行動識別情報に関連付けて追加する。行動の発動タイミングは、RAM103に格納されている同一の行動識別情報に関連付けられた「行動命令がなされた経過時間」に「行動が発動するまでの時間」を加算することで得られる。また各ゲームコンソール100で実行されているゲームへの反映タイミングは、さらに「ゲームに反映されるまでの時間」を加算することで得られる。
S408で、CPU101は、行動Xに係る演算処理を開始する。なお、ここで開始した演算処理がS407において算出した行動の発動タイミングまでに完了するように、S403における算出式は規定されているものとする。また例えば、ゲームコンソール100に割り当てられている演算処理が多い等、処理遅延を発生しうる状況にある場合、CPU101は、処理量に応じてタイミングテーブルに追加されているタイミングを適宜延長するようにしてもよい。この場合、延長後のタイミングは対戦相手のゲームコンソール100にも各行動識別情報に関連付けて通知されるものとする。
〈行動処理(他機)〉
次に、行動管理処理のS304において実行する行動処理(他機)の詳細について図5のフローチャートを用いて説明する。
S501で、CPU101は、対戦相手のゲームコンソール100から行動命令がなされたことを示す情報を受信したか否かを判断する。CPU101は、行動命令がなされたことを示す情報を受信したと判断した場合は処理をS502に移し、受信していないと判断した場合は処理をS503に移す。
S502で、CPU101は、受信した行動命令がなされたことを示す情報をRAM103に格納し、該情報に含まれる発動座標の情報を読み出し、該座標に対戦相手によりいずれかの行動命令がなされたことをゲーム画面に通知する情報として設定する。
S503で、CPU101は、自身が行動に係る演算処理を新たに割り当てられたか否かを判断する。本ステップでCPU101は、対戦相手のゲームコンソール100から演算処理の割り当てに係る情報を受信した場合に、割り当てられたものと判断する。CPU101は、演算処理を新たに割り当てられたと判断した場合は処理をS504に移し、割り当てられていないと判断した場合は本行動処理(他機)を完了する。
S504で、CPU101は、新たに割り当てられた演算処理に係る行動について、その発動タイミング及び各ゲームコンソール100で実行されているゲームへの反映タイミングを算出し、例えばRAM103に格納されているタイミングテーブルに行動識別情報に関連付けて追加する。行動の発動タイミングや各ゲームコンソール100で実行されているゲームへの反映タイミングは、行動処理(自機)のS407のように算出すればよい。
S505で、CPU101は、新たに割り当てられた演算処理を開始する。なお、ここで開始した演算処理がS504において算出した行動の発動タイミングまでに完了するように、行動処理(自機)のS403における算出式は規定されているものとする。また例えば、ゲームコンソール100に割り当てられている演算処理が多い等、処理遅延を発生しうる状況にある場合、CPU101は行動処理(自機)と同様に、処理量に応じてタイミングテーブルに追加されているタイミングを適宜延長するようにしてもよい。この場合、延長後のタイミングは対戦相手のゲームコンソール100にも各行動識別情報に関連付けて通知されるものとする。
このように自機及び他機に係る行動処理を並行して実行した後、CPU101は行動管理処理のS305で、タイミングテーブルに発動タイミングあるいは反映タイミングに至った行動が存在するか否かを判断し、存在する場合はS306で発動したことの通知、ゲームパラメータへの反映処理を実行し、本フレームに係る行動管理処理を完了する。なお、行動に係る演算結果は、演算完了次第、少なくとも反映タイミングに至るまでには、他方のゲームコンソール100に送信されているものとする。またCPU101は、タイミングテーブルに発動タイミングあるいは反映タイミングに至った行動が存在しない場合は本フレームに係る行動管理処理を完了する。
以上説明したように、本実施形態のゲームシステムは、ゲーム装置間で生じる遅延を許容した好適なゲーム体験を実現することができる。本実施形態のゲームシステムは、複数の電子機器においてなされた行動命令により進行するゲームを実行する。ゲームシステムは、第1の電子機器において第1の行動命令がなされた場合に、該第1の電子機器において行動命令がなされたことを該第1の電子機器と異なる第2の電子機器に通知する。また第1の行動命令による行動がゲームに反映されるまでの第1の時間を設定し、第1の行動命令に基づく時間から第1の時間が経過した後に、第1の行動命令による行動を第2の電子機器において実行されるゲームに反映する。
このようにすることで本実施形態のゲームシステムでは、プレイヤによりなされた行動命令に対して、ゲーム内で発生しうる遅延を考慮して行動の発動時期を調整することで、演算や通信による遅延の影響を排除あるいは低減した対戦ゲームを実現することができる。
[実施形態2]
上述した実施形態1では、ゲームコンソール100間で直接無線接続して対戦ゲームを実現する方法について説明した。本実施形態のゲームシステムでは、図7に示されるように各プレイヤが使用するゲームコンソール100が、ネットワーク700を介してサーバ800に接続することで対戦ゲームを実現する例について説明する。
本実施形態のゲームシステムでは、サーバ800が中央サーバとしての役割を担い、対戦ゲームにおけるゲームパラメータの管理を集中して行う。本実施形態のゲームシステムでは、サーバ800は各プレイヤの操作する機器においてなされた行動命令の情報を取得し、行動に係る演算処理を実行してフィールド全体に係るゲームパラメータを更新して各機器に送信する。プレイヤの操作する機器(ゲームコンソール100)は、受信したゲームパラメータの情報に基づいて自身の機器で管理しているゲームパラメータを更新し、該パラメータに基づいて描画処理を行ってゲーム画面を生成する。
また本実施形態では、各プレイヤが演算能力が異なるゲームコンソール100を使用して対戦ゲームに参加する場合の処理についても説明する。
《サーバ800の構成》
図8は、実施形態2に係るゲームシステムにおいて中央サーバとして機能するサーバ800の機能構成を示したブロック図である。
サーバCPU801は、サーバ800が有する各ブロックの動作を制御する。サーバCPU801は、例えばサーバROM802やサーバ記録媒体804に記録された各ブロックの動作プログラムを読み出し、サーバRAM803に展開して実行することにより各ブロックの動作を制御する。
サーバROM802は、電気的に書き換え可能な不揮発性メモリである。サーバROM802は、サーバ800が有する各ブロックの動作プログラムや、各ブロックの動作において必要なパラメータ等を記録する。またサーバRAM803は、揮発性メモリである。サーバRAM803は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等を一時的に記録する格納領域としても用いられる。
サーバ記録媒体804は、例えばHDD等の、サーバ800に着脱可能に接続される記録装置である。サーバ記録媒体804は、サーバ800が有する各ブロックの動作プログラムだけでなく、演算に必要な各種パラメータ等を記録している。
サーバ通信部805は、サーバ800が有する外部機器との通信に係る通信インタフェースである。本実施形態では、サーバ800はネットワーク700を介してクライアント機器である各ゲームコンソール100と接続し、ゲーム実行中に通信を行い、必要なデータの送受信を行う。
《行動管理処理》
次に、このような構成を有する本実施形態のサーバ800において実行される、上述の対戦ゲームに係る行動管理処理について、図9のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、サーバCPU801が、例えばサーバ記録媒体804に記録されている対戦ゲームに係る管理用アプリケーションに係るプログラムを読み出し、サーバRAM803に展開して実行することにより実現することができる。
本行動管理処理は、例えばサーバ800に接続している複数の機器が参加する対戦ゲームの実行が決定し、ゲームに係る処理が開始されたことに同期して開始され、フレーム単位で繰り返し実行されるものとして説明する。なお、対戦ゲームの開始時にサーバ800から送信された同期信号を受けて、ゲームに参加する全てのゲームコンソール100においてゲーム開始からの経過時間の測定が開始されるものとする。
S901で、サーバCPU801は、対戦ゲームに参加するゲームコンソール100の各々について、通信状況によって生じる通信遅延量を取得する。例えばサーバCPU801は、各ゲームコンソール100に対してレスポンス要求を送信し、送信してから該要求に応じて返送されるレスポンスを受信するまでに要した時間を通信遅延量としてサーバRAM803に格納する。またサーバCPU801は、この他、各ゲームコンソール100から、該ゲームコンソール100との通信におけるデータ送信レート(以下、単に送信レート)と、該ゲームコンソール100においてゲームパラメータの更新を開始してから更新後のパラメータに係るゲーム画面が生成されて表示部108に提示されるまでに要する時間(反映必要時間)の情報とを取得する。取得した情報は、例えばプレイヤの識別情報であるプレイヤIDに関連付けてサーバRAM803に格納される。
S902で、サーバCPU801は、フィールドにおけるプレイヤ間の本拠地の距離を通信遅延量に基づいて規定する。このとき、参加するゲームコンソール100のプレイヤがそれぞれ異なるグループに属するものとして対戦ゲームが進行する、即ち各プレイヤがそれぞれ本拠地を有する独立のグループを操作する場合は、各ゲームコンソール100との通信遅延量に基づいてプレイヤ間の本拠地の距離が規定される。また複数のプレイヤが1つのグループに属するものとして対戦ゲームが進行する、即ち複数のプレイヤで構成されるグループの各々に対して1つの本拠地が設けられる場合は、各グループに属するプレイヤが使用するゲームコンソール100のうち、最も大きい通信遅延量に基づいてグループ間の本拠地の距離が規定される。
S903で、サーバCPU801は、ゲームコンソール100において新たになされた行動命令に係る操作入力に対応する処理を行う行動処理(全体)を実行する。
〈行動処理(全体)〉
ここで、本実施形態の行動管理処理のS902においてサーバCPU801が実行する行動処理(全体)の詳細について図10のフローチャートを用いて説明する。
S1001で、サーバCPU801は、新たになされた行動命令に係る情報を受信したか否かを判断する。本実施形態の対戦ゲームでは、各ゲームコンソール100のCPU101は、行動命令に係る操作入力がなされたと判断した場合は操作入力に対応する行動命令を解釈し、
・行動命令の対象であるユニットを示す情報
・なされた行動命令を示す情報
・行動命令がなされた経過時間
・行動命令に係る行動Xが発動する座標の情報
を取得する。そしてCPU101は、該情報を通信部107に伝送し、新たになされた行動命令に係る情報としてサーバ800に送信する。サーバCPU801は、このようにして送信された新たになされた行動命令に係る情報を受信したと判断した場合は処理をS1002に移し、受信していないと判断した場合は本行動処理(全体)を完了する。
S1002で、サーバCPU801は、受信した新たになされた行動命令に係る情報に行動識別情報を割り当て、これらを関連付けてサーバRAM803に格納する。またサーバCPU801は、受信した情報に基づいて、行動命令がなされたことを示す情報、行動命令がなされた経過時間、行動Xが発動する座標の情報を生成してサーバ通信部805に伝送し、行動識別情報を関連付けて対戦ゲームに参加する全ゲームコンソール100、あるいは行動命令がなされたゲームコンソール100以外のゲームコンソール100に対して送信させる。
S1003で、サーバCPU801は、行動Xが発動するまでの時間を算出する。まずサーバCPU801は、サーバ記録媒体804に格納されている各種パラメータテーブルを参照して、命令対象のユニットの移動速度、遂行能力、発動所要時間の情報を取得する。そしてCPU101は、これらのパラメータと行動Xの発動座標と命令対象のユニットの現在座標とに基づいて、発動するまでの時間を算出する。行動Xが発動するまでの時間は、例えば実施形態1の行動処理(自機)のS403で示した計算式により算出されてよい。
S1004で、サーバCPU801は、行動Xが発動した際に、その効果が各プレイヤに通知されるまでの時間、即ち行動Xの結果が各ゲームコンソール100で実行されているゲームに反映されるまでの時間を算出する。本実施形態では対戦ゲームに参加するゲームコンソール100は、各々異なる演算能力を有しているため、本ステップにおいてサーバCPU801は、例えば実施形態1の行動処理(自機)のS404で示した計算式により算出した値を、演算能力に応じて補正する。サーバCPU801は、例えば本実施形態の行動管理処理のS901において各ゲームコンソール100から取得した、該ゲームコンソール100に係る送信レートと反映必要時間の情報に基づいて算出した値を補正し、該ゲームコンソール100で実行されているゲームに反映されるまでの時間とする。
S1005で、サーバCPU801は、新たになされた行動命令に係る行動Xについて、その発動タイミング及び各ゲームコンソール100で実行されているゲームへの反映タイミングを算出し、例えばサーバRAM803に格納されているタイミングテーブルに行動識別情報に関連付けて追加する。
S1006で、サーバCPU801は、行動Xに係る演算処理を開始する。
このようにサーバ800に接続しているゲームコンソール100の全体についての行動処理を実行した後、サーバCPU801は行動管理処理のS904で、実行している行動に係る演算処理の中に実行が完了した演算処理が存在するか否かを判断する。サーバCPU801は、実行が完了した演算処理が存在すると判断した場合は処理をS905に移し、存在しないと判断した場合は本行動管理処理を完了する。
S905で、サーバCPU801は、完了した演算処理に対応する行動識別情報が関連付けられた、各ゲームコンソール100における発動タイミング及び反映タイミングの情報をタイミングテーブルから読み出す。そしてサーバCPU801は、該演算処理の演算結果に読み出したタイミングの情報を関連付けて、対戦ゲームに参加するゲームコンソール100の各々にサーバ通信部805を介して送信させ、本行動管理処理を完了する。このようにサーバ800において生成された演算結果の情報は各ゲームコンソール100に伝送され、それぞれのCPU101が、装置における経過時間が関連付けられたタイミングと一致した際に、行動が発動したことの通知あるいはゲームパラメータへの反映処理を実行すればよい。
このようにすることで、ネットワーク700上のサーバ800を介した場合であっても、対戦ゲームにおいて発生しうる演算や通信による遅延の影響を排除あるいは低減した対戦ゲームを実現することができる。
[変形例1]
上述した実施形態2では、各ゲームコンソール100がネットワーク700上の1つのサーバ800に接続し、対戦ゲームを行う例について説明したが、本発明の実施はこのようなシステム構成に限られるものではない。例えば図11に示されるように、各ゲームコンソール100は、例えばゲームコンソール100から最も近い地域に配置されたサーバ800に接続し、該サーバを介して他のサーバ800に接続したゲームコンソール100との間で対戦ゲームが可能なようにゲームシステムが構成されてもよい。このような場合、各ゲームコンソール100と該ゲームコンソール100が接続するサーバ800との通信遅延だけでなく、サーバ800間における通信遅延も考慮する必要がある。また、地域ごとにトラヒックに差が生じるため、トラヒックも考慮して発動タイミングや反映タイミングの算出方法を異ならせてもよい。
本変形例のようなゲームシステムでは実施形態1と同様に、行動に係る演算処理の実行は、命令がなされた行動の発動地点に近い本拠地が割り当てられたゲームコンソール100が接続しているサーバ800に割り当てるものとしてよい。あるいは、接続端末数、トラヒック、処理能力等を考慮して決定したサーバ800に割り当てるようにしてもよい。
また実施形態2や本変形例のゲームシステムのように、サーバ800にゲームコンソール100を接続させて対戦ゲームを行う場合、プレイヤにとって、固定のサーバ800との通信遅延量は、複数回のゲームプレイによって体感的に理解しうるものである。一方で、本変形例のように異なる地域に存在する複数のサーバ800を経由して対戦ゲームが実現される場合、対戦相手の決定によって初めて定まる他の地域のサーバ800と接続しているサーバ800との通信遅延量は、プレイヤにとって未知数と言える。このため、本変形例のゲームシステムでは、各プレイヤが対戦相手のプレイヤやグループを選択する、あるいは他のプレイヤから対戦を申し込まれた場合に、該プレイヤの使用する端末が接続しているサーバ800と、自身のゲームコンソール100が接続しているサーバ800との通信遅延量を対戦ゲームの開始前に通知し、プレイヤがより戦略を立てやすいようにしてもよい。また、このような各サーバ間の通信遅延量の情報は、ゲームコンソール100がサーバ800に接続している間、定期的にゲームコンソール100に送信されるように構成してもよい。
また通信遅延量は、伝送経路の長さに比例して変化するものでもあるため、ゲームに反映させる通信遅延量を、通信するサーバ800の各々が存在する地域の地理的な距離に応じて擬似的に規定するものとしてもよい。即ち、対戦ゲームにおいてA国のサーバ800に接続するゲームコンソール100のプレイヤと、B国のサーバ800に接続するゲームコンソール100のプレイヤとが対戦する場合、ゲームのフィールド上の本拠地間の距離はA国とB国との距離に対応させて簡易的に規定してもよい。ゲームへの反映にあたっては、各国のサーバ800間で生じる通信遅延量の平均値とその地理的な距離を考慮し、遅延による破綻が生じないように予め変換係数を規定しておけばよい。このようにすることで、プレイヤはいずれの国のサーバ800に接続しているゲームコンソール100のプレイヤと対戦ゲームを行う場合であってもゲームプレイを繰り返すことで、接続先の地域が判明すれば、発動タイミングや反映タイミングを予測して戦略をたてることができる。
[変形例2]
また上述した実施形態及び変形例では、ゲームパラメータへの更新がなされた後に各ゲームコンソール100がゲーム画面を生成して表示部108に表示するものとして説明したが、本発明の実施はこのような態様に限られるものではない。例えば、所謂クラウド型のゲームシステムのように、サーバ側でゲーム画面の描画を行って生成するような構成であっても本発明は適用可能である。
《サーバ800の構成》
サーバ側でゲーム画面の描画を行う場合、サーバ800の構成は図12に示されるように図6に示したサーバ800の構成の他に、さらにサーバ描画部1201及びサーバ符号化部1202を有していればよい。
サーバ描画部1201は、例えばGPU等のゲームに係るゲーム画面を描画する描画装置である。サーバ描画部1201は、サーバCPU801からの描画命令を受信し、不図示のGPUメモリに展開された描画オブジェクトに係るデータを命令に従って処理することで、ビデオメモリ上にゲーム画面を描画する。ゲーム画面は、各ゲームコンソール100から送信された視点情報に従って各々描画される。
サーバ符号化部1202は、サーバ描画部1201により描画されたゲーム画面を符号化し、動画データを生成する。サーバ符号化部1202により生成された動画データは、サーバ通信部805に伝送され、ストリーミング形式の動画データとして対応するゲームコンソール100に送信される。
なお、この場合、ゲームコンソール100においてなされた操作入力は、ゲームコンソール100において解析された後に対応する行動命令の情報としてサーバ800に送信される構成であってもよいし、操作入力のデータがサーバ800に送信され、サーバCPU801が解析を行って対応する行動命令の情報を生成する構成であってもよい。
このような構成を有するサーバ800では、ゲーム画面描画に係るゲームパラメータへの更新、及びゲーム画面の生成をサーバ800で行うため、各ゲームコンソール100における処理による遅延は、動画データの復号に係る処理のみを考慮すればよい。
[その他の実施形態]
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係るゲームシステムは、1以上のコンピュータを該ゲームシステムの各構成要素として機能させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供/配布することができる。

Claims (10)

  1. 複数の電子機器においてなされた行動命令により進行するゲームを実行するゲームシステムであって、
    第1の電子機器において第1の行動命令がなされた場合に、該第1の電子機器において行動命令がなされたことを該第1の電子機器と異なる第2の電子機器に通知する通知手段と、
    前記第1の行動命令による行動が前記ゲームに反映されるまでの第1の時間を設定する設定手段と、
    前記第1の行動命令に基づく時間から前記第1の時間が経過した後に、前記第1の行動命令による行動を前記第2の電子機器において実行される前記ゲームに反映する反映手段と、
    を有し、
    前記通知手段は、前記第1の行動命令がなされた後に前記第2の電子機器において第2の行動命令がなされた場合に、前記第2の電子機器において行動命令がなされたことを前記第1の電子機器に通知し、
    前記設定手段は、前記第2の行動命令による行動が前記ゲームに反映されるまでの第2の時間を設定し、
    前記反映手段は、前記第2の行動命令がなされてから前記第2の時間が経過した後に前記第1の行動命令がなされてから前記第1の時間が経過する場合に、前記第1の行動命令による行動の効果を前記第2の行動命令による行動の効果で低減して前記ゲームに反映するゲームシステム。
  2. 前記第1の電子機器と前記第2の電子機器との間において発生するデータ送信の遅延量を取得する取得手段をさらに有し、
    前記設定手段は、前記取得手段により取得された前記遅延量に基づいて前記第1の時間を決定する請求項1に記載のゲームシステム。
  3. 前記遅延量は、前記第1の電子機器と前記第2の電子機器との地理的な位置関係に応じて決定される請求項2に記載のゲームシステム。
  4. 前記ゲームの実行に係る演算を行う演算手段をさらに有し、
    前記演算手段は、前記第1の行動命令に基づく時間から前記第1の時間が経過するまでの間に、前記第1の行動命令による行動を前記ゲームに反映するための演算を行う請求項1乃至3のいずれか1項に記載のゲームシステム。
  5. 前記設定手段は、該行動を前記ゲームに反映するための演算量に基づいて前記第1の時間を決定する請求項4に記載のゲームシステム。
  6. 前記設定手段は、前記第1の行動命令による行動について予め定められている時間に基づいて前記第1の時間を決定する請求項1乃至5のいずれか1項に記載のゲームシステム。
  7. 複数の電子機器においてなされた行動命令により進行するゲームに係る処理を実行する情報処理装置であって、
    第1の電子機器において第1の行動命令がなされた場合に、該第1の電子機器において行動命令がなされたことを該第1の電子機器と異なる第2の電子機器に通知する通知手段と、
    前記第1の行動命令による行動を前記ゲームに反映するまでの第1の時間を設定する設定手段と、
    前記第1の行動命令に基づく時間から前記第1の時間が経過した後に、前記第1の行動命令による行動を前記ゲームに反映する反映手段と、
    を有し、
    前記通知手段は、前記第1の行動命令がなされた後に前記第2の電子機器において第2の行動命令がなされた場合に、前記第2の電子機器において行動命令がなされたことを前記第1の電子機器に通知し、
    前記設定手段は、前記第2の行動命令による行動が前記ゲームに反映されるまでの第2の時間を設定し、
    前記反映手段は、前記第2の行動命令がなされてから前記第2の時間が経過した後に前記第1の行動命令がなされてから前記第1の時間が経過する場合に、前記第1の行動命令による行動の効果を前記第2の行動命令による行動の効果で低減して前記ゲームに反映する情報処理装置。
  8. 前記反映手段による反映がなされた後の前記ゲームに係るゲーム画面を生成して、前記第1の電子機器及び前記第2の電子機器に送信する送信手段をさらに有する請求項に記載の情報処理装置。
  9. 複数の電子機器においてなされた行動命令により進行するゲームに係る処理を実行する情報処理装置の制御方法であって、
    第1の電子機器において第1の行動命令がなされた場合に、該第1の電子機器において行動命令がなされたことを該第1の電子機器と異なる第2の電子機器に通知する通知工程と、
    前記第1の行動命令による行動を前記ゲームに反映するまでの第1の時間を設定する設定工程と、
    前記第1の行動命令に基づく時間から前記第1の時間が経過した後に、前記第1の行動命令による行動を前記ゲームに反映する反映工程と、
    を有し、
    前記通知工程において、前記第1の行動命令がなされた後に前記第2の電子機器において第2の行動命令がなされた場合に、前記第2の電子機器において行動命令がなされたことが前記第1の電子機器に通知され、
    前記設定工程において、前記第2の行動命令による行動が前記ゲームに反映されるまでの第2の時間が設定され、
    前記反映工程において、前記第2の行動命令がなされてから前記第2の時間が経過した後に前記第1の行動命令がなされてから前記第1の時間が経過する場合に、前記第1の行動命令による行動の効果が前記第2の行動命令による行動の効果で低減されて前記ゲームに反映される情報処理装置の制御方法。
  10. 複数の電子機器においてなされた行動命令により進行するゲームに係る処理を実行するためのプログラムであって、
    1以上のコンピュータに、
    第1の電子機器において第1の行動命令がなされた場合に、該第1の電子機器において行動命令がなされたことを該第1の電子機器と異なる第2の電子機器に通知する通知工程と、
    前記第1の行動命令による行動を前記ゲームに反映するまでの第1の時間を設定する設定工程と、
    前記第1の行動命令に基づく時間から前記第1の時間が経過した後に、前記第1の行動命令による行動を前記ゲームに反映する反映工程と、
    を実行させ
    前記通知工程において、前記第1の行動命令がなされた後に前記第2の電子機器において第2の行動命令がなされた場合に、前記第2の電子機器において行動命令がなされたことが前記第1の電子機器に通知され、
    前記設定工程において、前記第2の行動命令による行動が前記ゲームに反映されるまでの第2の時間が設定され、
    前記反映工程において、前記第2の行動命令がなされてから前記第2の時間が経過した後に前記第1の行動命令がなされてから前記第1の時間が経過する場合に、前記第1の行動命令による行動の効果が前記第2の行動命令による行動の効果で低減されて前記ゲームに反映されるプログラムを記録したコンピュータが読み取り可能な記録媒体。
JP2014045522A 2014-03-07 2014-03-07 ゲームシステム、情報処理装置、制御方法、及び記録媒体 Active JP6360691B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014045522A JP6360691B2 (ja) 2014-03-07 2014-03-07 ゲームシステム、情報処理装置、制御方法、及び記録媒体
US14/620,574 US9789397B2 (en) 2014-03-07 2015-02-12 Game system, information processing apparatus, control method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014045522A JP6360691B2 (ja) 2014-03-07 2014-03-07 ゲームシステム、情報処理装置、制御方法、及び記録媒体

Publications (2)

Publication Number Publication Date
JP2015167737A JP2015167737A (ja) 2015-09-28
JP6360691B2 true JP6360691B2 (ja) 2018-07-18

Family

ID=54016385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014045522A Active JP6360691B2 (ja) 2014-03-07 2014-03-07 ゲームシステム、情報処理装置、制御方法、及び記録媒体

Country Status (2)

Country Link
US (1) US9789397B2 (ja)
JP (1) JP6360691B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101745808B1 (ko) * 2015-12-31 2017-06-28 엔에이치엔엔터테인먼트 주식회사 서버측 로직의 모듈화를 위한 모듈 처리 방법 및 시스템
EP3207967A1 (en) * 2016-02-22 2017-08-23 Nintendo Co., Ltd. Information processing apparatus, information processing system, information processing method, and information processing program
US10924525B2 (en) * 2018-10-01 2021-02-16 Microsoft Technology Licensing, Llc Inducing higher input latency in multiplayer programs
JP2020086721A (ja) * 2018-11-20 2020-06-04 ソニー株式会社 情報処理装置、情報処理方法、プログラム
CN110393919B (zh) * 2019-07-29 2023-04-07 杭州绝地科技股份有限公司 游戏活动的自动配置方法、装置、存储介质及移动终端
CN111555938B (zh) * 2020-04-28 2021-06-15 腾讯科技(深圳)有限公司 一种信息处理的方法以及相关装置
JP7248720B2 (ja) * 2021-02-16 2023-03-29 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3454100B2 (ja) * 1997-08-21 2003-10-06 ヤマハ株式会社 演奏パラメータ表示装置
JP3953224B2 (ja) * 1999-03-12 2007-08-08 株式会社バンダイナムコゲームス ゲームシステム、ゲーム装置、画像再生装置および情報記憶媒体
JP4624531B2 (ja) * 2000-09-18 2011-02-02 株式会社バンダイナムコゲームス ゲーム装置および情報記憶媒体
JP2005006913A (ja) * 2003-06-19 2005-01-13 Namco Ltd ゲーム装置、ゲーム制御プログラムおよびそのプログラムが記録された記録媒体
JP3995257B2 (ja) * 2005-10-04 2007-10-24 任天堂株式会社 通信ゲームプログラムおよび通信ゲームシステム
JP2007215781A (ja) * 2006-02-16 2007-08-30 Sega Corp 通信ゲームシステム、ゲーム制御プログラムおよび記憶媒体
US20100325255A1 (en) 2007-04-05 2010-12-23 Gene Cheung Data transmission system and method
US9302185B2 (en) * 2012-06-14 2016-04-05 Disney Enterprises, Inc. Decision streams for synchronizing visual script language processing between networked computers
US9860386B2 (en) * 2013-01-22 2018-01-02 Unify Gmbh & Co. Kg Communication apparatus and method
US9717991B2 (en) * 2013-03-06 2017-08-01 Empire Technology Development Llc Quality of experience reverse control for electronic games
KR20150026069A (ko) * 2013-08-30 2015-03-11 삼성전자주식회사 컨텐츠 재생 방법 및 그 방법을 처리하는 전자 장치

Also Published As

Publication number Publication date
US9789397B2 (en) 2017-10-17
JP2015167737A (ja) 2015-09-28
US20150251090A1 (en) 2015-09-10

Similar Documents

Publication Publication Date Title
JP6360691B2 (ja) ゲームシステム、情報処理装置、制御方法、及び記録媒体
US11498006B2 (en) Dynamic game difficulty modification via swipe input parater change
US11103791B2 (en) Automatic movement of player character in network game
KR102577365B1 (ko) 플레이어의 경쟁형 게임플레이 참여 장려
US10471354B2 (en) Game system, game controlling method, and game controlling program
US20140274370A1 (en) Highly Interactive Online Multiplayer Video Games
JP5676676B2 (ja) ビデオゲーム処理装置、及びビデオゲーム処理プログラム
JP2015134197A (ja) ビデオゲーム処理プログラム、及びビデオゲーム処理システム
WO2017214341A1 (en) An artificial intelligence controller that procedurally tailors itself to an application
WO2014061071A1 (ja) ビデオゲーム処理装置、およびビデオゲーム処理プログラム
KR20200119185A (ko) 스트리밍 플레이어들과의 온라인 게임에 대한 매치메이킹
CN113993600A (zh) 延迟消除
JP6163529B2 (ja) プログラム、ゲームシステム及びサーバ装置
JP7277096B2 (ja) プログラム、ゲーム装置、サーバ装置及びゲーム提供方法
JP7516138B2 (ja) ゲームシステム、サーバ装置及びプログラム
US11298617B2 (en) Game program, game processing method, and information processing device
US11439914B2 (en) Game program and game system
US10272334B2 (en) Program and system
JP7547148B2 (ja) プログラム、サーバ装置及びゲームシステム
JP2015200929A (ja) 情報処理システム、情報処理装置、サーバ、情報処理プログラム、および情報処理方法
JP7332521B2 (ja) サーバシステム、ゲームシステム及びプログラム
WO2019043743A1 (ja) プログラム、及びシステム
JP2017164563A (ja) プログラム、ゲームシステム及びサーバ装置
JP2023028794A (ja) ゲームシステム、サーバ装置及びプログラム
KR101171709B1 (ko) 온라인 게임에서의 순위 정보를 제공하는 방법 및 서버

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180625

R150 Certificate of patent or registration of utility model

Ref document number: 6360691

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