JP6748281B1 - サーバ、処理システム、処理方法及びプログラム - Google Patents
サーバ、処理システム、処理方法及びプログラム Download PDFInfo
- Publication number
- JP6748281B1 JP6748281B1 JP2019222683A JP2019222683A JP6748281B1 JP 6748281 B1 JP6748281 B1 JP 6748281B1 JP 2019222683 A JP2019222683 A JP 2019222683A JP 2019222683 A JP2019222683 A JP 2019222683A JP 6748281 B1 JP6748281 B1 JP 6748281B1
- Authority
- JP
- Japan
- Prior art keywords
- timing
- unit
- data
- player
- estimation result
- 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
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/358—Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/214—Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
- A63F13/2145—Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/355—Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
- A63F13/426—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/44—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/69—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/094—Adversarial learning
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/58—Controlling game characters or game objects based on the game progress by computing conditions of game characters, e.g. stamina, strength, motivation or energy level
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Probability & Statistics with Applications (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
直接又はサーバを介して互いにデータ通信する複数のプレイヤ端末各々のコンピュータを、
複数の操作対象オブジェクト各々に対応した状態値を記憶する記憶部、
プレイヤ入力を受付ける受付部、
あるタイミングに対応して複数の前記プレイヤ端末各々が受付けたプレイヤ入力の内容を示すタイミング毎情報からその後のタイミングに対応した前記タイミング毎情報の推定結果を生成する推定モデルと、第1のタイミングに対応した前記タイミング毎情報とに基づき、前記第1のタイミングより後の第2のタイミングに対応した前記推定結果を生成する推定部、
前記第2のタイミングに対応して前記受付部が受付けたプレイヤ入力の内容と、前記推定結果で示される前記第2のタイミングに対応したプレイヤ入力の推定内容とが一致するか判断する判断部、
前記判断部の判断結果が不一致である場合、前記受付部が受付けたプレイヤ入力の内容を示す訂正情報を外部装置に送信する訂正情報送信部、
他の前記プレイヤ端末が送信した前記訂正情報を取得する訂正情報取得部、
前記訂正情報に基づき前記推定結果を補正する補正部、及び、
前記推定結果に基づき前記操作対象オブジェクトの前記状態値を更新する更新部、
として機能させるプログラムが提供される。
所定時間毎の複数のタイミング各々に対応して複数のプレイヤ端末各々のタッチパネルで検出されたスクリーン座標上のタッチ位置を示すデータポイント群を、操作対象オブジェクト各々の位置に対応付けてマッピングしたワールド座標系の状態を示す行列データを前記所定時間毎に生成し、前記行列データを時間軸に沿って格納したテンソルデータを生成するテンソルデータ生成部と、
前記テンソルデータから、第Nのタイミングに対応した前記行列データと、第Nのタイミングの後のタイミングに対応した前記行列データとを対応付けた学習データを取り出す学習データ生成部と、
前記学習データに基づく機械学習により、あるタイミングに対応した前記行列データからその後のタイミングに対応した前記行列データの推定結果を生成する推定モデルを生成する推定モデル生成部と、
を有するサーバが提供される。
直接又はサーバを介して互いにデータ通信する複数のプレイヤ端末各々のコンピュータが、
複数の操作対象オブジェクト各々に対応した状態値を記憶し、
プレイヤ入力を受付け、
あるタイミングに対応して複数の前記プレイヤ端末各々が受付けたプレイヤ入力の内容を示すタイミング毎情報からその後のタイミングに対応した前記タイミング毎情報の推定結果を生成する推定モデルと、第1のタイミングに対応した前記タイミング毎情報とに基づき、前記第1のタイミングより後の第2のタイミングに対応した前記推定結果を生成し、
前記第2のタイミングに対応して受付けたプレイヤ入力の内容と、前記推定結果で示される前記第2のタイミングに対応したプレイヤ入力の推定内容とが一致するか判断し、
判断結果が不一致である場合、受付けたプレイヤ入力の内容を示す訂正情報を外部装置に送信し、
他の前記プレイヤ端末が送信した前記訂正情報を取得し、
前記訂正情報に基づき前記推定結果を補正し、
前記推定結果に基づき前記操作対象オブジェクトの前記状態値を更新する処理方法が提供される。
複数のプレイヤ端末と、サーバとを有し、
前記プレイヤ端末は、
複数の操作対象オブジェクト各々に対応した状態値を記憶する記憶部と、
プレイヤ入力を受付ける受付部と、
あるタイミングに対応して複数の前記プレイヤ端末各々が受付けたプレイヤ入力の内容を示すタイミング毎情報からその後のタイミングに対応した前記タイミング毎情報の推定結果を生成する推定モデルと、第1のタイミングに対応した前記タイミング毎情報とに基づき、前記第1のタイミングより後の第2のタイミングに対応した前記推定結果を生成する推定部と、
前記第2のタイミングに対応して前記受付部が受付けたプレイヤ入力の内容と、前記推定結果で示される前記第2のタイミングに対応したプレイヤ入力の推定内容とが一致するか判断する判断部と、
前記判断部の判断結果が不一致である場合、前記受付部が受付けたプレイヤ入力の内容を示す訂正情報を外部装置に送信する訂正情報送信部と、
他の前記プレイヤ端末が送信した前記訂正情報を取得する訂正情報取得部と、
前記訂正情報に基づき前記推定結果を補正する補正部と、
前記推定結果に基づき前記操作対象オブジェクトの前記状態値を更新する更新部と、
を有し、
前記サーバは、前記プレイヤ端末から前記訂正情報を受信すると、受信した前記訂正情報を他の前記プレイヤ端末に送信する送信部を有する処理システムが提供される。
まず、本実施形態のゲームシステムの概要を説明する。図1に示すように、本実施形態のゲームシステムは、複数のプレイヤ端末10と、サーバ20とを有する。プレイヤ端末10とサーバ20とは、通信ネットワーク30を介して互いに繋がっている。プレイヤ端末10は、各プレイヤが操作する端末であり、例えば、スマートフォン、タブレット端末、携帯電話、パーソナルコンピュータ等が例示されるが、これらに限定されない。複数のプレイヤ端末10は、直接又はサーバ20を介して互いにデータ通信することができる。本実施形態のゲームシステムは、例えばMMOに好適である。
次に、プレイヤ端末10及びサーバ20のハードウエア構成を説明する。
まず、プレイヤ端末10のハードウエア構成を説明する。図2は、プレイヤ端末10のハードウエア構成を例示するブロック図である。図2に示すように、プレイヤ端末10は、プロセッサ1A、メモリ2A、入出力インターフェイス3A、周辺回路4A、バス5A、タッチパネル6A、通信部7Aなどを有する。周辺回路4Aには、様々なモジュールが含まれる。なお、周辺回路4Aを有さなくてもよい。
次に、サーバ20のハードウエア構成を説明する。図3は、サーバ20のハードウエア構成を例示するブロック図である。図3に示すように、サーバ20は、プロセッサ1A、メモリ2A、入出力インターフェイス3A、周辺回路4A、バス5Aなどを有する。周辺回路4Aには、様々なモジュールが含まれる。なお、周辺回路4Aを有さなくてもよい。
次に、プレイヤ端末10及びサーバ20の機能構成を説明する。ここでは、「プレイヤ入力を推定する推定モデルの生成」、及び、「当該推定モデルを用いたゲームの制御」に分けて、プレイヤ端末10及びサーバ20各々の機能構成を説明する。
推定モデルの生成は、サーバ20により実現される。以下、推定モデルの生成処理を詳細に説明する。なお、以下で説明する学習データの生成処理、及び、学習データに基づく推定モデルの生成処理は、例えばゲーム開発時にゲーム開発者の作業により実現される。そして、当該推定モデルは、ゲーム運用中にプレイヤから入力されるデータに基づき更新されてもよい。すなわち、実際にゲームを運用している時にプレイヤから入力されるデータを蓄積し、当該蓄積したデータから学習データを生成し、当該学習データに基づき新たな推定モデルを生成し、更新してもよい。図4に、サーバ20の機能ブロック図の一例を示す。図示するように、サーバ20は、記憶部21と、テンソルデータ生成部22と、学習データ生成部23と、推定モデル生成部24と、送信部25とを有する。
・「(処理2)プレイヤ端末10毎、かつ、フレーム毎に生成したワールドフレーム行列Mを同じフレームのもの同士で合成し、タイミング毎行列データを生成」
・「(処理3)タイミング毎行列データを時間軸に沿って格納し、テンソルデータを生成」
var cameraForward = Vector3.Scale(mainCamera.forward, new Vector3(1, 0, 1)).normalized;
なお、Vector3.Scale(mainCamera.forward, new Vector3(1, 0, 1))はY座標に0をかけておく。
var move = transform.InverseTransformDirection(movingTo.z * cameraForward + movingTo.x * new Vector3(cameraForward.z, 0, -1 * cameraForward.x));
なお、new Vector3(cameraForward.z, 0, -1 * cameraForward.x) は cameraForward をxz平面上で-90度回転させ、上方向への指の操作がワールド座標の奥方向への操作に対応するようにする。
図11に、プレイヤ端末10の機能ブロック図の一例を示す。図示するように、プレイヤ端末10は、記憶部11と、受付部12と、推定部13と、判断部14と、訂正情報送信部15と、訂正情報取得部16と、補正部17と、更新部18とを有する。
次に、変形例を説明する。タイミング毎行列データは、プレイヤ入力の内容及び操作対象オブジェクトのゲーム空間内の位置に加えて、プレイヤ入力の内容に影響し得るその他の情報を示してもよい。例えば、タイミング毎行列データは、操作対象オブジェクトの種類や状態(ヒットポイント、レベル、攻撃力、防御力等)等の特性、非操作対象オブジェクト(コンピュータが行動を制御するキャラクタ、山、海、建物等の移動の妨げとなる障害物等)のゲーム空間内の位置、非操作対象オブジェクトの種類や状態(ヒットポイント、レベル、攻撃力、防御力等)等の特性等をさらに示してもよい。タイミング毎行列データの成分pq、rの値により、これらの情報を示すことができる。
次に、本実施形態の作用効果を説明する。各プレイヤ端末10が受付けた入力内容のすべてを他のプレイヤ端末10に送信する方式の場合、例えば30FPSを実現するためには「30Hz(1秒間に30往復)」のUDPパケットを送受信する必要がある。これに対し、各プレイヤ端末10が受付けた入力内容の内予測がはずれたもののみを他のプレイヤ端末10に送信する本実施形態の方式の場合、例えば30FPSを実現するためには「30Hz以下」のUDPパケットを送受信すればよい。予測が100%外れた場合に30Hzとなり、予測が少しでも当たれば30FPS未満となる。なお、予測が100%外れ続けることは稀であり、ほとんどあり得ない。このような本実施形態のゲームシステムによれば、高効率・低遅延でパケットロスに強いマルチプレイ通信方式が実現される。
1. 直接又はサーバを介して互いにデータ通信する複数のプレイヤ端末各々のコンピュータを、
複数の操作対象オブジェクト各々に対応した状態値を記憶する記憶部、
プレイヤ入力を受付ける受付部、
あるタイミングに対応して複数の前記プレイヤ端末各々が受付けたプレイヤ入力の内容を示すタイミング毎情報からその後のタイミングに対応した前記タイミング毎情報の推定結果を生成する推定モデルと、第1のタイミングに対応した前記タイミング毎情報とに基づき、前記第1のタイミングより後の第2のタイミングに対応した前記推定結果を生成する推定部、
前記第2のタイミングに対応して前記受付部が受付けたプレイヤ入力の内容と、前記推定結果で示される前記第2のタイミングに対応したプレイヤ入力の推定内容とが一致するか判断する判断部、
前記判断部の判断結果が不一致である場合、前記受付部が受付けたプレイヤ入力の内容を示す訂正情報を外部装置に送信する訂正情報送信部、
他の前記プレイヤ端末が送信した前記訂正情報を取得する訂正情報取得部、
前記訂正情報に基づき前記推定結果を補正する補正部、及び、
前記推定結果に基づき前記操作対象オブジェクトの前記状態値を更新する更新部、
として機能させるプログラム。
2. 1に記載のプログラムにおいて、
前記更新部は、前記補正部により前記推定結果が補正された場合、補正後の前記推定結果又は前記訂正情報に基づき前記操作対象オブジェクトの前記状態値を更新するプログラム。
3. 1又は2に記載のプログラムにおいて、
前記推定部は、
前記補正部により前記推定結果が補正された場合、補正後の前記推定結果と前記推定モデルとに基づき新たな前記推定結果を生成し、
前記補正部により前記推定結果が補正されなかった場合、補正されなかった前記推定結果と前記推定モデルとに基づき新たな前記推定結果を生成するプログラム。
4. 1から3のいずれかに記載のプログラムにおいて、
前記タイミング毎情報は、
行及び列がゲーム空間のワールド座標系におけるx軸及びy軸に対応し、第q行目かつ第r列目の成分の値で前記ワールド座標系における座標(xq,yr)の状態を示す行列データで、前記ゲーム空間における前記操作対象オブジェクト各々の位置及び前記操作対象オブジェクト各々に対応してなされたプレイヤ入力の内容を示すプログラム。
5. 4に記載のプログラムにおいて、
前記行列データは、前記操作対象オブジェクト各々に対応してなされたプレイヤ入力の内容として、前記プレイヤ端末のタッチパネルで検出されたスクリーン座標上のデータポイント群を示すプログラム。
6. 4に記載のプログラムにおいて、
前記行列データは、前記操作対象オブジェクト各々に対応してなされたプレイヤ入力の内容として、前記プレイヤ端末のタッチパネルで検出されたスクリーン座標上のデータポイント群から算出されるベクトルをエンコードした情報を示すプログラム。
7. 4から6のいずれかに記載のプログラムにおいて、
前記行列データは、前記操作対象オブジェクト各々に対応してなされたプレイヤ入力の内容を示す情報を、前記操作対象オブジェクト各々の位置に対応付けてマッピングした前記ワールド座標系の状態を示すプログラム。
8. 4から7のいずれかに記載のプログラムにおいて、
前記推定モデルは、
前記行列データを時間軸に沿って格納したテンソルデータから取り出された第Nのタイミングに対応した前記行列データと、第Nのタイミングの後のタイミングに対応した前記行列データとを対応付けた学習データに基づく機械学習で生成されるプログラム。
9. 8に記載のプログラムにおいて、
前記推定モデルは、
前記行列データを時間軸に沿って格納したテンソルデータから取り出された第Nのタイミングに対応した前記行列データと、第(N+1)のタイミングに対応した前記行列データ乃至第(N+K)のタイミング(Kは2以上の整数)に対応した前記行列データ各々とを対応付けた学習データに基づく機械学習で生成されているプログラム。
10. 1から9のいずれかに記載のプログラムにおいて、
前記タイミング毎情報は、プレイヤ入力の内容に加えて、ゲーム空間における前記操作対象オブジェクトの位置、前記ゲーム空間における非操作対象オブジェクトの位置、前記操作対象オブジェクトの特性、及び、前記非操作対象オブジェクトの特性の中の少なくとも1つをさらに示すプログラム。
11. 1から10のいずれかに記載のプログラムにおいて、
複数の前記プレイヤ端末各々で実現された前記推定部は、同一の前記推定モデルに基づき前記推定結果を生成するプログラム。
12. 所定時間毎の複数のタイミング各々に対応して複数のプレイヤ端末各々のタッチパネルで検出されたスクリーン座標上のタッチ位置を示すデータポイント群を、操作対象オブジェクト各々の位置に対応付けてマッピングしたワールド座標系の状態を示す行列データを前記所定時間毎に生成し、前記行列データを時間軸に沿って格納したテンソルデータを生成するテンソルデータ生成部と、
前記テンソルデータから、第Nのタイミングに対応した前記行列データと、第Nのタイミングの後のタイミングに対応した前記行列データとを対応付けた学習データを取り出す学習データ生成部と、
前記学習データに基づく機械学習により、あるタイミングに対応した前記行列データからその後のタイミングに対応した前記行列データの推定結果を生成する推定モデルを生成する推定モデル生成部と、
を有するサーバ。
13. 12に記載のサーバにおいて、
前記学習データ生成部は、前記テンソルデータから、第Nのタイミングに対応した前記行列データと、第(N+1)のタイミングに対応した前記行列データ乃至第(N+K)のタイミング(Kは2以上の整数)に対応した前記行列データ各々とを対応付けた学習データを取り出すサーバ。
14. 12又は13に記載のサーバにおいて、
前記テンソルデータ生成部は、前記データポイント群に代えて、前記データポイント群から算出されるベクトルをエンコードしたエンコード情報を、前記操作対象オブジェクト各々の位置に対応付けてマッピングしたワールド座標系の状態を示す行列データを前記所定時間毎に生成し、前記行列データを時間軸に沿って格納したテンソルデータを生成するサーバ。
15. 直接又はサーバを介して互いにデータ通信する複数のプレイヤ端末各々のコンピュータが、
複数の操作対象オブジェクト各々に対応した状態値を記憶し、
プレイヤ入力を受付け、
あるタイミングに対応して複数の前記プレイヤ端末各々が受付けたプレイヤ入力の内容を示すタイミング毎情報からその後のタイミングに対応した前記タイミング毎情報の推定結果を生成する推定モデルと、第1のタイミングに対応した前記タイミング毎情報とに基づき、前記第1のタイミングより後の第2のタイミングに対応した前記推定結果を生成し、
前記第2のタイミングに対応して受付けたプレイヤ入力の内容と、前記推定結果で示される前記第2のタイミングに対応したプレイヤ入力の推定内容とが一致するか判断し、
判断結果が不一致である場合、受付けたプレイヤ入力の内容を示す訂正情報を外部装置に送信し、
他の前記プレイヤ端末が送信した前記訂正情報を取得し、
前記訂正情報に基づき前記推定結果を補正し、
前記推定結果に基づき前記操作対象オブジェクトの前記状態値を更新する処理方法。
16. 複数のプレイヤ端末と、サーバとを有し、
前記プレイヤ端末は、
複数の操作対象オブジェクト各々に対応した状態値を記憶する記憶部と、
プレイヤ入力を受付ける受付部と、
あるタイミングに対応して複数の前記プレイヤ端末各々が受付けたプレイヤ入力の内容を示すタイミング毎情報からその後のタイミングに対応した前記タイミング毎情報の推定結果を生成する推定モデルと、第1のタイミングに対応した前記タイミング毎情報とに基づき、前記第1のタイミングより後の第2のタイミングに対応した前記推定結果を生成する推定部と、
前記第2のタイミングに対応して前記受付部が受付けたプレイヤ入力の内容と、前記推定結果で示される前記第2のタイミングに対応したプレイヤ入力の推定内容とが一致するか判断する判断部と、
前記判断部の判断結果が不一致である場合、前記受付部が受付けたプレイヤ入力の内容を示す訂正情報を外部装置に送信する訂正情報送信部と、
他の前記プレイヤ端末が送信した前記訂正情報を取得する訂正情報取得部と、
前記訂正情報に基づき前記推定結果を補正する補正部と、
前記推定結果に基づき前記操作対象オブジェクトの前記状態値を更新する更新部と、
を有し、
前記サーバは、前記プレイヤ端末から前記訂正情報を受信すると、受信した前記訂正情報を他の前記プレイヤ端末に送信する送信部を有する処理システム。
17. 16に記載の処理システムにおいて、
前記サーバは、
所定時間毎の複数のタイミング各々に対応して複数のプレイヤ端末各々のタッチパネルで検出されたスクリーン座標上のタッチ位置を示すデータポイント群を、前記操作対象オブジェクト各々の位置に対応付けてマッピングしたワールド座標系の状態を示す行列データを前記所定時間毎に生成し、前記行列データを時間軸に沿って格納したテンソルデータを生成するテンソルデータ生成部と、
前記テンソルデータから、第Nのタイミングに対応した前記行列データと、第Nのタイミングの直後の第(N+1)のタイミングに対応した前記行列データとを対応付けた学習データを取り出す学習データ生成部と、
前記学習データに基づく機械学習により、あるタイミングに対応した前記行列データからその後のタイミングに対応した前記行列データの推定結果を生成する推定モデルを生成する推定モデル生成部と、
をさらに有し、
前記送信部は、同一の前記推定モデルを複数の前記プレイヤ端末に送信する処理システム。
2A メモリ
3A 入出力I/F
4A 周辺回路
5A バス
6A タッチパネル
7A 通信部
10 プレイヤ端末
11 記憶部
12 受付部
13 推定部
14 判断部
15 訂正情報送信部
16 訂正情報取得部
17 補正部
18 更新部
20 サーバ
21 記憶部
22 テンソルデータ生成部
23 学習データ生成部
24 推定モデル生成部
25 送信部
30 通信ネットワーク
Claims (17)
- 直接又はサーバを介して互いにデータ通信する複数のプレイヤ端末各々のコンピュータを、
複数の操作対象オブジェクト各々に対応した状態値を記憶する記憶部、
プレイヤ入力を受付ける受付部、
あるタイミングに対応して複数の前記プレイヤ端末各々が受付けたプレイヤ入力の内容を示すタイミング毎情報からその後のタイミングに対応した前記タイミング毎情報の推定結果を生成する推定モデルと、第1のタイミングに対応した前記タイミング毎情報とに基づき、前記第1のタイミングより後の第2のタイミングに対応した前記推定結果を生成する推定部、
前記第2のタイミングに対応して前記受付部が受付けたプレイヤ入力の内容と、前記推定結果で示される前記第2のタイミングに対応したプレイヤ入力の推定内容とが一致するか判断する判断部、
前記判断部の判断結果が不一致である場合、前記受付部が受付けたプレイヤ入力の内容を示す訂正情報を外部装置に送信する訂正情報送信部、
他の前記プレイヤ端末が送信した前記訂正情報を取得する訂正情報取得部、
前記訂正情報に基づき前記推定結果を補正する補正部、及び、
前記推定結果に基づき前記操作対象オブジェクトの前記状態値を更新する更新部、
として機能させるプログラム。 - 請求項1に記載のプログラムにおいて、
前記更新部は、前記補正部により前記推定結果が補正された場合、補正後の前記推定結果又は前記訂正情報に基づき前記操作対象オブジェクトの前記状態値を更新するプログラム。 - 請求項1又は2に記載のプログラムにおいて、
前記推定部は、
前記補正部により前記推定結果が補正された場合、補正後の前記推定結果と前記推定モデルとに基づき新たな前記推定結果を生成し、
前記補正部により前記推定結果が補正されなかった場合、補正されなかった前記推定結果と前記推定モデルとに基づき新たな前記推定結果を生成するプログラム。 - 請求項1から3のいずれか1項に記載のプログラムにおいて、
前記タイミング毎情報は、
行及び列がゲーム空間のワールド座標系におけるx軸及びy軸に対応し、第q行目かつ第r列目の成分の値で前記ワールド座標系における座標(xq,yr)の状態を示す行列データで、前記ゲーム空間における前記操作対象オブジェクト各々の位置及び前記操作対象オブジェクト各々に対応してなされたプレイヤ入力の内容を示すプログラム。 - 請求項4に記載のプログラムにおいて、
前記行列データは、前記操作対象オブジェクト各々に対応してなされたプレイヤ入力の内容として、前記プレイヤ端末のタッチパネルで検出されたスクリーン座標上のデータポイント群を示すプログラム。 - 請求項4に記載のプログラムにおいて、
前記行列データは、前記操作対象オブジェクト各々に対応してなされたプレイヤ入力の内容として、前記プレイヤ端末のタッチパネルで検出されたスクリーン座標上のデータポイント群から算出されるベクトルをエンコードした情報を示すプログラム。 - 請求項4から6のいずれか1項に記載のプログラムにおいて、
前記行列データは、前記操作対象オブジェクト各々に対応してなされたプレイヤ入力の内容を示す情報を、前記操作対象オブジェクト各々の位置に対応付けてマッピングした前記ワールド座標系の状態を示すプログラム。 - 請求項4から7のいずれか1項に記載のプログラムにおいて、
前記推定モデルは、
前記行列データを時間軸に沿って格納したテンソルデータから取り出された第Nのタイミングに対応した前記行列データと、第Nのタイミングの後のタイミングに対応した前記行列データとを対応付けた学習データに基づく機械学習で生成されるプログラム。 - 請求項8に記載のプログラムにおいて、
前記推定モデルは、
前記行列データを時間軸に沿って格納したテンソルデータから取り出された第Nのタイミングに対応した前記行列データと、第(N+1)のタイミングに対応した前記行列データ乃至第(N+K)のタイミング(Kは2以上の整数)に対応した前記行列データ各々とを対応付けた学習データに基づく機械学習で生成されているプログラム。 - 請求項1から9のいずれか1項に記載のプログラムにおいて、
前記タイミング毎情報は、プレイヤ入力の内容に加えて、ゲーム空間における前記操作対象オブジェクトの位置、前記ゲーム空間における非操作対象オブジェクトの位置、前記操作対象オブジェクトの特性、及び、前記非操作対象オブジェクトの特性の中の少なくとも1つをさらに示すプログラム。 - 請求項1から10のいずれか1項に記載のプログラムにおいて、
複数の前記プレイヤ端末各々で実現された前記推定部は、同一の前記推定モデルに基づき前記推定結果を生成するプログラム。 - 所定時間毎の複数のタイミング各々に対応して複数のプレイヤ端末各々のタッチパネルで検出されたスクリーン座標上のタッチ位置を示すデータポイント群を、操作対象オブジェクト各々の位置に対応付けてマッピングしたワールド座標系の状態を示す行列データを前記所定時間毎に生成し、前記行列データを時間軸に沿って格納したテンソルデータを生成するテンソルデータ生成部と、
前記テンソルデータから、第Nのタイミングに対応した前記行列データと、第Nのタイミングの後のタイミングに対応した前記行列データとを対応付けた学習データを取り出す学習データ生成部と、
前記学習データに基づく機械学習により、あるタイミングに対応した前記行列データからその後のタイミングに対応した前記行列データの推定結果を生成する推定モデルを生成する推定モデル生成部と、
を有するサーバ。 - 請求項12に記載のサーバにおいて、
前記学習データ生成部は、前記テンソルデータから、第Nのタイミングに対応した前記行列データと、第(N+1)のタイミングに対応した前記行列データ乃至第(N+K)のタイミング(Kは2以上の整数)に対応した前記行列データ各々とを対応付けた学習データを取り出すサーバ。 - 請求項12又は13に記載のサーバにおいて、
前記テンソルデータ生成部は、前記データポイント群に代えて、前記データポイント群から算出されるベクトルをエンコードしたエンコード情報を、前記操作対象オブジェクト各々の位置に対応付けてマッピングしたワールド座標系の状態を示す行列データを前記所定時間毎に生成し、前記行列データを時間軸に沿って格納したテンソルデータを生成するサーバ。 - 直接又はサーバを介して互いにデータ通信する複数のプレイヤ端末各々のコンピュータが、
複数の操作対象オブジェクト各々に対応した状態値を記憶し、
プレイヤ入力を受付け、
あるタイミングに対応して複数の前記プレイヤ端末各々が受付けたプレイヤ入力の内容を示すタイミング毎情報からその後のタイミングに対応した前記タイミング毎情報の推定結果を生成する推定モデルと、第1のタイミングに対応した前記タイミング毎情報とに基づき、前記第1のタイミングより後の第2のタイミングに対応した前記推定結果を生成し、
前記第2のタイミングに対応して受付けたプレイヤ入力の内容と、前記推定結果で示される前記第2のタイミングに対応したプレイヤ入力の推定内容とが一致するか判断し、
判断結果が不一致である場合、受付けたプレイヤ入力の内容を示す訂正情報を外部装置に送信し、
他の前記プレイヤ端末が送信した前記訂正情報を取得し、
前記訂正情報に基づき前記推定結果を補正し、
前記推定結果に基づき前記操作対象オブジェクトの前記状態値を更新する処理方法。 - 複数のプレイヤ端末と、サーバとを有し、
前記プレイヤ端末は、
複数の操作対象オブジェクト各々に対応した状態値を記憶する記憶部と、
プレイヤ入力を受付ける受付部と、
あるタイミングに対応して複数の前記プレイヤ端末各々が受付けたプレイヤ入力の内容を示すタイミング毎情報からその後のタイミングに対応した前記タイミング毎情報の推定結果を生成する推定モデルと、第1のタイミングに対応した前記タイミング毎情報とに基づき、前記第1のタイミングより後の第2のタイミングに対応した前記推定結果を生成する推定部と、
前記第2のタイミングに対応して前記受付部が受付けたプレイヤ入力の内容と、前記推定結果で示される前記第2のタイミングに対応したプレイヤ入力の推定内容とが一致するか判断する判断部と、
前記判断部の判断結果が不一致である場合、前記受付部が受付けたプレイヤ入力の内容を示す訂正情報を外部装置に送信する訂正情報送信部と、
他の前記プレイヤ端末が送信した前記訂正情報を取得する訂正情報取得部と、
前記訂正情報に基づき前記推定結果を補正する補正部と、
前記推定結果に基づき前記操作対象オブジェクトの前記状態値を更新する更新部と、
を有し、
前記サーバは、前記プレイヤ端末から前記訂正情報を受信すると、受信した前記訂正情報を他の前記プレイヤ端末に送信する送信部を有する処理システム。 - 請求項16に記載の処理システムにおいて、
前記サーバは、
所定時間毎の複数のタイミング各々に対応して複数のプレイヤ端末各々のタッチパネルで検出されたスクリーン座標上のタッチ位置を示すデータポイント群を、前記操作対象オブジェクト各々の位置に対応付けてマッピングしたワールド座標系の状態を示す行列データを前記所定時間毎に生成し、前記行列データを時間軸に沿って格納したテンソルデータを生成するテンソルデータ生成部と、
前記テンソルデータから、第Nのタイミングに対応した前記行列データと、第Nのタイミングの直後の第(N+1)のタイミングに対応した前記行列データとを対応付けた学習データを取り出す学習データ生成部と、
前記学習データに基づく機械学習により、あるタイミングに対応した前記行列データからその後のタイミングに対応した前記行列データの推定結果を生成する推定モデルを生成する推定モデル生成部と、
をさらに有し、
前記送信部は、同一の前記推定モデルを複数の前記プレイヤ端末に送信する処理システム。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019222683A JP6748281B1 (ja) | 2019-12-10 | 2019-12-10 | サーバ、処理システム、処理方法及びプログラム |
| CN202080085574.7A CN114845789B (zh) | 2019-12-10 | 2020-12-07 | 服务器、处理系统、处理方法和程序 |
| PCT/JP2020/045411 WO2021117660A1 (ja) | 2019-12-10 | 2020-12-07 | サーバ、処理システム、処理方法及びプログラム |
| US17/836,324 US12257498B2 (en) | 2019-12-10 | 2022-06-09 | Server, processing system, processing method, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019222683A JP6748281B1 (ja) | 2019-12-10 | 2019-12-10 | サーバ、処理システム、処理方法及びプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP6748281B1 true JP6748281B1 (ja) | 2020-08-26 |
| JP2021090601A JP2021090601A (ja) | 2021-06-17 |
Family
ID=72146247
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019222683A Active JP6748281B1 (ja) | 2019-12-10 | 2019-12-10 | サーバ、処理システム、処理方法及びプログラム |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US12257498B2 (ja) |
| JP (1) | JP6748281B1 (ja) |
| CN (1) | CN114845789B (ja) |
| WO (1) | WO2021117660A1 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112657181A (zh) * | 2020-12-21 | 2021-04-16 | 北京像素软件科技股份有限公司 | 状态同步方法和装置 |
| JP7021382B1 (ja) | 2021-04-19 | 2022-02-16 | 株式会社Cygames | ユーザが選択するアクションを予測するための学習済みモデルを生成するための方法等 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1998014898A2 (en) * | 1996-10-01 | 1998-04-09 | Philips Electronics N.V. | Latency effect in multi-player video game reduced by surrogate agent |
| US8142289B2 (en) * | 2006-06-30 | 2012-03-27 | Sony Computer Entertainment America Llc | Dead reckoning in a gaming environment |
| US20100325255A1 (en) * | 2007-04-05 | 2010-12-23 | Gene Cheung | Data transmission system and method |
| JP2013127683A (ja) * | 2011-12-16 | 2013-06-27 | Namco Bandai Games Inc | プログラム、情報記憶媒体、端末、サーバ及びネットワークシステム |
| CN104081321A (zh) * | 2012-02-01 | 2014-10-01 | 约瑟夫·米兹腊希 | 改善在线游戏的预测的方法与系统 |
| JP5784260B1 (ja) * | 2015-06-16 | 2015-09-24 | 株式会社Cygames | 情報処理プログラムおよび情報処理方法 |
| JP5906345B1 (ja) * | 2015-08-05 | 2016-04-20 | 株式会社Cygames | 操作履歴に基づいてタッチ対象を予測するプログラム、電子装置、システム及び制御方法 |
| US10552752B2 (en) * | 2015-11-02 | 2020-02-04 | Microsoft Technology Licensing, Llc | Predictive controller for applications |
| JP6438612B1 (ja) * | 2018-03-20 | 2018-12-19 | 株式会社Cygames | ゲームプログラムを検査するためのシステム、方法、プログラム、機械学習支援装置、及びデータ構造 |
| JP6389581B1 (ja) * | 2018-05-16 | 2018-09-12 | 株式会社Cygames | プログラム、電子装置、及び方法 |
| US11717748B2 (en) * | 2019-11-19 | 2023-08-08 | Valve Corporation | Latency compensation using machine-learned prediction of user input |
-
2019
- 2019-12-10 JP JP2019222683A patent/JP6748281B1/ja active Active
-
2020
- 2020-12-07 CN CN202080085574.7A patent/CN114845789B/zh active Active
- 2020-12-07 WO PCT/JP2020/045411 patent/WO2021117660A1/ja not_active Ceased
-
2022
- 2022-06-09 US US17/836,324 patent/US12257498B2/en active Active
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112657181A (zh) * | 2020-12-21 | 2021-04-16 | 北京像素软件科技股份有限公司 | 状态同步方法和装置 |
| JP7021382B1 (ja) | 2021-04-19 | 2022-02-16 | 株式会社Cygames | ユーザが選択するアクションを予測するための学習済みモデルを生成するための方法等 |
| WO2022224932A1 (ja) * | 2021-04-19 | 2022-10-27 | 株式会社Cygames | ユーザが選択するアクションを予測するための学習済みモデルを生成するための方法等 |
| JP2022164964A (ja) * | 2021-04-19 | 2022-10-31 | 株式会社Cygames | ユーザが選択するアクションを予測するための学習済みモデルを生成するための方法等 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2021117660A1 (ja) | 2021-06-17 |
| CN114845789B (zh) | 2025-05-06 |
| US20220297001A1 (en) | 2022-09-22 |
| JP2021090601A (ja) | 2021-06-17 |
| CN114845789A (zh) | 2022-08-02 |
| US12257498B2 (en) | 2025-03-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3760287B1 (en) | Method and device for generating video frames | |
| CN111985640B (zh) | 一种基于强化学习的模型训练方法以及相关装置 | |
| US11446582B2 (en) | System and method for streaming game sessions to third party gaming consoles | |
| JP7258400B2 (ja) | ビデオデータ処理方法、ビデオデータ処理装置、コンピュータ機器、及びコンピュータプログラム | |
| KR102050934B1 (ko) | 정보 처리 방법, 단말, 및 컴퓨터 저장 매체 | |
| JP2022554069A (ja) | データ処理方法、装置、コンピュータデバイスおよびコンピュータプログラム | |
| KR101171409B1 (ko) | 정보 처리 장치, 데이터 처리 방법, 및 기록매체 | |
| JP2023504609A (ja) | ハイブリッドストリーミング | |
| US9433863B2 (en) | Video processing using concurrent outcome simulation threads | |
| KR20230053719A (ko) | 멀티플레이어 게임에서 장거리 객체의 타겟팅 개선 | |
| JP6748281B1 (ja) | サーバ、処理システム、処理方法及びプログラム | |
| JP7564378B2 (ja) | ニューラルネットワークを使用したビデオからのロバストな顔面アニメーション | |
| EP4200639B1 (en) | Rf scene generation simulation with external maritime surface | |
| US10338879B2 (en) | Synchronization object determining method, apparatus, and system | |
| WO2022262489A1 (zh) | 虚拟枪械的射击显示方法、装置、计算机设备及存储介质 | |
| KR20250075731A (ko) | 가상 환경에서 사운드의 분산 처리 | |
| CN112206515A (zh) | 游戏物体状态切换方法、装置、设备及存储介质 | |
| CN114288662B (zh) | Npc的行为控制方法、装置及电子设备 | |
| US20250036254A1 (en) | Message display in virtual environment | |
| CN113559500B (zh) | 动作数据的生成方法、装置、电子设备及存储介质 | |
| HK40068931A (en) | Server, processing system, processing method, and program | |
| EP4420752A1 (en) | Apparatus, systems and methods for animation data | |
| CN114344895B (zh) | 画面显示方法、装置、设备及计算机可读存储介质 | |
| HK40068931B (zh) | 服务器、处理系统、处理方法和程序 | |
| CN118265561A (zh) | 用于虚拟环境的模型训练方法、介质、电子设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200327 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200327 |
|
| A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200612 |
|
| 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: 20200707 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200806 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6748281 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 |