JP7714672B2 - クライアント-サーバネットワーキングのためのコントローラ状態管理 - Google Patents

クライアント-サーバネットワーキングのためのコントローラ状態管理

Info

Publication number
JP7714672B2
JP7714672B2 JP2023553751A JP2023553751A JP7714672B2 JP 7714672 B2 JP7714672 B2 JP 7714672B2 JP 2023553751 A JP2023553751 A JP 2023553751A JP 2023553751 A JP2023553751 A JP 2023553751A JP 7714672 B2 JP7714672 B2 JP 7714672B2
Authority
JP
Japan
Prior art keywords
action
state data
data
avatar
input
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
JP2023553751A
Other languages
English (en)
Other versions
JP2024512346A (ja
Inventor
ティミンズ,ルーク
ペン,グレゴリー
Original Assignee
バンジー, インコーポレイテッド
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 バンジー, インコーポレイテッド filed Critical バンジー, インコーポレイテッド
Publication of JP2024512346A publication Critical patent/JP2024512346A/ja
Application granted granted Critical
Publication of JP7714672B2 publication Critical patent/JP7714672B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input 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/2145Input 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
    • 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/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • 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/355Performing 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
    • 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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing 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
    • 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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing 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/426Processing 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
    • 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/60Generating 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/67Generating 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 adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

背景
[0001] コンピュータ及びビデオゲーム並びに汎用オペレーティングシステムによって使用されるような現代のコンピュータコントローラシステムは、オンラインゲームのためにクライアントマシンとサーバマシンとの間の要求内のコントローラデータをネットワーク化する様々な技法を採用する。米国特許第8,632,409号及び米国特許第8,823,701号に記載されているように、一人称視点のゲーム(例えばDESTINY及びDESTINY 2シリーズ)用のコンピュータ又はコンソール/サーバ通信について複雑なネットワーキングソリューションが存在する。しかし、コントローラデータのネットワーク化を実装することにおける固有の問題は、一人称視点とは対照的にアイソメトリックなゲームエンジンを検討するとき、及び計算力のより大きいシェアがクライアント側とは対照的にサーバ側である計算環境を検討するとき異なる。従って、シンクライアントゲーム及び多様な視点のゲームをサポートするための改善されたネットワーキング実装が求められている。
概要
[0002] コントローラと別の電子装置(例えばサーバ又はコンソール)との間の通信を促進するための技法を本明細書に示す。かかる技法では、ユーザ入力が受信されると、第1の1組の状態データが第1の通信チャネルを介してコントローラによって提供され得る。コントローラは、受信したユーザ入力に基づいてユーザの予測される意図を明らかにすることができる。ユーザの予測される意図に基づき、第2の1組の状態データが第2の通信チャネルを介してコントローラによって提供される。
[0003] 一実施形態では、ユーザ装置によって実行されるものとして方法が開示され、この方法は、コントローラ装置においてコントローラ装置のユーザからのタッチ入力を受信すること、受信したタッチ入力から生成される第1の1組の状態データを第1の通信チャネル上で第2の電子装置に提供すること、受信したタッチ入力に基づいてユーザの意図を明らかにすること、ユーザの意図に基づいて第2の1組の状態データを生成すること、及び受信したタッチ入力から生成される第2の1組の状態データを第1の通信チャネルと異なる第2の通信チャネル上で第2の電子装置に提供することを含む。
[0004] 一実施形態は、タッチスクリーンディスプレイと、プロセッサと、プロセッサによって実行されるとき、少なくともユーザ装置のユーザからのタッチ入力を受信すること、受信したタッチ入力から生成される第1の1組の状態データを第1の通信チャネル上で第2の電子装置に提供すること、受信したタッチ入力に基づいてユーザの意図を明らかにすること、ユーザの意図に基づいて第2の1組の状態データを生成すること、及び受信したタッチ入力から生成される第2の1組の状態データを第1の通信チャネルと異なる第2の通信チャネル上で第2の電子装置に提供することを計算装置に行わせる命令を含むメモリとを含む、計算システムを対象とする。
[0005] 一実施形態は、コントローラ装置においてコントローラ装置のユーザからのタッチ入力を受信すること、受信したタッチ入力から生成される第1の1組の状態データを第1の通信チャネル上で第2の電子装置に提供すること、受信したタッチ入力に基づいてユーザの意図を明らかにすること、ユーザの意図に基づいて第2の1組の状態データを生成すること、及び受信したタッチ入力から生成される第2の1組の状態データを第1の通信チャネルと異なる第2の通信チャネル上で第2の電子装置に提供することを含む行為を実行時に1つ又は複数の計算装置に集合的に行わせるコンピュータ実行可能命令を集合的に記憶する、非一時的コンピュータ可読媒体を対象とする。
[0006] 一実施形態は、アバタによって行われる第1のアクションに関係するユーザ装置のユーザからの入力をユーザ装置において受信し、受信した入力から生成される第1の1組の状態データを第1の通信チャネル上で第2の電子装置に提供し、受信した入力に基づいて第1のアクションと異なるアバタによって行われる第2のアクションに関係するユーザの意図を明らかにするための方法を対象とする。この方法は、ユーザの意図に基づいて、第1の1組の状態データと異なり、入手可能な全ての状態データよりも少ない状態データを含む第2の1組の状態データを生成すること、第2の1組の状態データを第1の通信チャネルと異なる第2の通信チャネル上で第2の電子装置に提供すること、並びに第1の及び第2の1組の状態データに基づいて第1のアクションと異なる修正済みアクションをアバタに行わせることを更に含み得る。ユーザの意図は、アバタによって行われている第1のアクションを妨げる中断、アバタによって行われる第1のアクションに対する修正、又はアバタによって行われる第1のアクションの後で行われる第2のアクションの何れかを含み得る。第1の1組の状態データは1組の所定のデータ値を含むことができ、第2の1組の状態データは受信された入力から推論され、第1の1組の状態データということを伝送するためにより少ない帯域幅を必要とし得る、ユーザの意図に基づいて選択される1組のデータ値を含むことができる。
[0007] 上記の内容は他の特徴及び実施形態と共に、以下の明細書、添付の特許請求の範囲、及び添付図面を参照するときより明らかになる。この特許が範囲として含む本発明の実施形態は、この概要ではなく添付の特許請求の範囲によって定められる。この概要は本発明の様々な態様の高度な概略であり、以下の詳細な説明の節の中で更に記載する概念の幾つかを紹介する。この概要は特許請求の範囲に記載する内容の重要な又は必須の特徴を識別することは意図せず、特許請求の範囲に記載する内容の範囲を決定するために分離して使用されることも意図しない。本内容は、この特許の全明細書、任意の又は全ての図面、及び各請求項の適切な部分を参照することによって理解すべきである。
図面の簡単な説明
[0008] 添付図面に関して詳細な説明を記載する。図中、参照番号の先頭の数字はその参照番号が初めて登場する図面を識別する。異なる図面内で同じ参照番号を使用することは同様の又は同一のアイテム又は特徴を示す。
[0009]本開示の様々な実施形態による、仮想コントローラが使用可能なサービス環境を示す単純化したシステム図である。 [0010]実施形態による、オンラインゲームのためにクライアントマシンとサーバマシンとの間でコントローラデータをネットワーク化するための手法を実装することができる、仮想コントローラを含む環境の説明のための例を示す。 [0011]実施形態による、仮想化された物理コントローラの実装をサポートする計算システムアーキテクチャの様々なコンポーネントを示すブロック図である。 [0012]実施形態による、タッチ入力を受信することに応答して修正済みアクションを実行するためのプロセスを示すブロック図を示す。 [0013]オンラインゲームのためにクライアントマシンとサーバマシンとの間でコントローラデータをネットワーク化するためのプロセスの一例を示すプロセスフロー図である。 [0014]実施形態による、電子装置間で状態データを伝えるためのプロセスフローの一例を示す流れ図を示す。
詳細な説明
[0015] 以下の説明では様々な実施形態を記載する。この説明では実施形態の完全な理解を与えるために特定の構成及び詳細を記載する。しかし、それらの特定の詳細なしに実施形態を実践できることも当業者に明らかになる。更に、記載する実施形態を不明瞭にしないためによく知られている特徴を省略し又は簡略化する場合がある。
[0016] 本明細書の実施形態は、コントローラ(例えば仮想コントローラ)と共に使用するための通信プロトコルを実装するための技法を対象とする。とりわけ本技法は、使用される帯域幅を最小限に抑えながらコントローラとサーバとの間で追加の状態データを伝達することを対象とする。かかる技法では、典型的な動きデータが第1の通信チャネル上で伝達される。加えて、次のユーザのアクションに最も関係する可能性が高い状態データを識別するためにユーザの「意図」がコントローラによって明らかにされる。予測される意図に基づき、コントローラは第2の通信チャネルを介してその意図に関係する1組の状態データを伝達することができる。
[0017] 従来のクライアント-サーバネットワーキングモデル(例えばTribes Networking Model(https://www.gamedevs.org/uploads/tribes-networking-model.pdf)に基づく公開済みのUnreal 3ネットワーキングの文献https://docs.unrealengine.com/udk/Three/NetworkingOverview.html参照)では、同期的なマルチプレーヤエクスペリエンスを一緒に経験したい1組の所与のマシンについて、「クライアント」マシンに伝送される正式な(authoritative)ネットワーク化された「状態」(例えばアバタの位置及び健康状態、ゲームのスコア等)を有する1つのマシン(「サーバ」)がある。
[0018] 「クライアント」マシンが自らの操作するアバタを(正式な更新済みの状態をマルチプレーヤエクスペリエンスで接続されている全てのクライアントに送信する)「サーバ」上で動かすには、「動き要求」がプレーヤの入力(例えばコントローラ及びボタンの状態)から構築され、「動き要求」はクライアントのマシン上で直ちに実行される(「クライアント側予測」と呼ばれ、入力を応答的だと感じさせるように自らがローカルに操作するアバタの状態をクライアントが非正式に変更することを可能にする)。
[0019] 「動き要求」の結果として生じる状態の一部は捕捉され(例えば動きが行われた後のアバタの終了位置)、「動き要求」と共に「サーバ」に伝送される。次いでサーバはアバタの正式な状態に対して「動き要求」を実行し、結果として生じる状態を比較する。結果として生じる状態がクライアントの送信内容と一致する場合、その動きが「許可」され、サーバが肯定応答を送信し、その動きが許可されない場合サーバはアバタの正式な状態を含む「訂正」をクライアントに送信する。
[0020] 本開示の実施形態は、従来のシステムに勝る幾つかの利点を提供する。とりわけ上記のネットワーキングモデルの多くの標準実装では、「動き要求」の状態は基本操作(例えば動き)を行うのに十分な「生の」アナログ入力状態を含むが、任意の高度な操作を行うのに十分な生データは概して欠いている。多くの事例において、クライアントとサーバとの間で伝達される状態データは実装される「ゲームエンジン」に基づいてしばしば制限される。実例として、Unreal Engine 4の実装はアバタの加速度ベクトルを含み、かかる加速度ベクトルはアナログサムスティックの状態から導出されるが、その加速度ベクトル以外の状態はしばしば失われる。本開示の実施形態は、帯域幅限界を守りながら追加の状態データを伝達する能力を提供する。
[0021] 多くのプラットフォームにわたるユーザに対してコントロールをアクセス可能にすることは、実装を複数のコントローラの種類に、カスタマイズ可能なコントローラに、更には仮想コントローラ(例えばコントローラに埋め込まれる又はコントローラを置換するタッチスクリーン装置)に容易に変換することができるように、典型的には任意の個別のコントローラから実装を分離することを含む。例えば物理的なボタンがない平面型画面上に実装されるゲームでは、プレーヤの意図はほぼ不定の範囲の潜在的入力に結び付けられ得る。一定のアバタのアクション及び動きをプレーヤの願望に対して応答的だと感じさせるために、例えば或る方向にどの程度強くジェスチャを行っているのかについてのプレーヤの入力(例えば自分のアバタの動きの方向と反対方向に素早くスワイプすること)は「意図」の観点から重要である。しかし、かかる情報を含む状態データはクライアント装置とサーバとの間の通信に含まれないことが多い。その場合、システムは完全な状態データを与えられた場合に可能であるやり方ではユーザ入力に対して正確に応答することができない。一部の事例では、サーバに伝送するために多岐にわたる異なる状態データがクライアントによって入手可能にされ得るが、送信可能なデータ量は帯域幅に基づいて制限される可能性がある。
[0022] 本開示の実施形態は、ユーザ入力に対する一層の応答性を可能にする追加の状態データをクライアントからサーバに提供できる点で従来のシステムよりも有利な場合がある。実例として、伝達される追加の状態データの一部の非限定的な例は、入力ベクトル、入力偏位、入力変化、又は他の任意の適切な状態データを含み得る。
[0023] 本開示では以下の用語を定義する。
[0024] 入力ベクトル-2Dベクトルに変換され、有損失のアナログ値を平滑化するために使用可能な内部及び外部「デッドゾーン」と共に処理される「生」の仮想ジョイスティック入力値。
[0025] 入力偏位-入力ベクトルの大きさ。
[0026] 入力変化-過去の入力を覚えておくことにより、入力の一定のパターン又は急変を時間と共に追跡することができる。例えばユーザ入力の素早い変化に基づいて「Uターン」が仮想コントローラ上で検出される場合、それ自体で入力として追跡可能な入力の変化のパラメータを計算するために第1の入力及び第2の入力を追跡し使用することができる。第1の入力と第2の入力との間の変化の方向及び大きさ等、入力変化は追加のベクトルとして記憶することができる。方向以外の入力変化のパターンも追跡することができる。例えば或るボタンを押すことと別のボタンを押すこととの間の素早い変化を追加の入力として追跡することができ、又は第2のボタン押しの挙動を過去に登録したボタン入力又はボタン入力のパターンに基づいて修正することができる。
[0027] 物理コントローラとは対照的に仮想コントローラは、その上に制御入力機構の少なくとも一部が仮想的にインスタンス化される任意の適切な電子装置であり得る。例えば仮想コントローラは、ボタン又は他の入力機構を提示するように構成されるタッチスクリーンディスプレイを含み得る。タッチスクリーンディスプレイ上でのユーザのタッチは仮想コントローラの使用中に検出され得る。検出されたユーザのタッチ位置が提示されたボタンの位置に対応する場合、そのボタンを活性化することができる。
[0028] 追加の状態を受信することは、知覚されるユーザの意図に基づいてサーバが動きアクションを調節することを可能にする。例えば「ユーザが出っ張りにつかまりたいか?」に関する判定を行うことができる。この種のユーザの意図を判定するための従来の手法はアバタの動きの方向又は向きのベクトルのようなデータを使用し得るが、かかる手法はとりわけ状態データが失われている場合にプレーヤの意図を読み間違えることがある。本開示の脈絡ベースの手法を使用し、実際の仮想ジョイスティックの状態(例えば「プレーヤがちょうど自分の親指を出っ張りに向けてスナップしたところだ」)を使用してプレーヤが自分のアバタに出っ張りをつかませたいことを推論し、プレーヤにとってより直感的、応答的、快適で寛大な操作スキームを生み出す。
[0029] 図1は、本開示の様々な実施形態による、仮想コントローラが使用可能なサービス環境100を示す単純化したシステム図である。サービス環境100は少なくとも1つのサーバ101を含み、少なくとも1つのサーバ101は、少なくとも1つのプロセッサ103及びサービス環境の動作を促進するための命令をソフトウェアとして記憶している非一時的メモリ105を含む。サーバ101は、典型的には個々のローカルユーザネットワーク131、141(例えば消費者又は商業ローカルエリアネットワーク、WIFIネットワーク等)と共に動作する任意の適切な数のユーザ所有クライアント装置133、143とネットワーク121(例えばインターネット又はローカルネットワーク)を介して接続される。
[0030] サーバ101は、サーバ101とクライアント装置133、143との間のネットワークをモニタする任意の適切な数の制御サービス111、例えば独自のプロセッサ113及びメモリ115を有するネットワーク接続計算システムに接続することもできる。一部の実施形態では、サーバ101が商業規模で動作している1つ又は複数のサーバ、例えばデータセンタ又はサーバファームであり得る。クライアント装置133、143は、これだけに限定されないが消費者のパーソナルコンピュータ、ビデオゲーム機、ローカル画面上で提示するためにサーバ101からのビデオコンテンツをストリームするように動作可能なシンクライアント装置、又はスマートフォン、タブレット等のモバイル装置を含み得る。クライアント装置133、143は任意の適切な数のコントローラ、例えばコントローラ135、137、145、147に接続し得る。
[0031] 各コントローラ(例えばコントローラ135)は、その個々のクライアント装置133と通信するための接続性ハードウェア及びプロトコルを有するハードウェア装置(例えばコンソール固有のコントローラ、横断的に対応したコントローラ、又は仮想コントローラ)であり得る。一部の実施形態によれば、コントローラ135はシンクライアント装置又はタッチスクリーン装置上で動作する仮想化されたコントローラ、例えばタッチスクリーンスマートフォン、タブレット、又はタッチ対応パネルを有するコンソール様のコントローラとすることができる。例えばクライアント装置133がシンクライアント装置又はモバイル装置である一部の更なる実施形態によれば、コントローラ135はクライアント装置に組み込まれる仮想化されたコントロールを有するタッチスクリーンであり得る。或いはクライアント装置133がシンクライアント装置でも、コントローラ135はクライアント装置と物理的に又は無線で接続するように構成されるハードウェアコントローラであり得る。一部の実施形態によれば、クライアント装置133及びサーバ101が同じハードウェア上で動作することができ、例えばクライアント装置がサーバ上の仮想インスタンスとして実行される。
[0032] 本明細書に記載の方法は、図1に記載したサービス環境100等のサービス環境と共にクライアント装置上で実装することができる。本方法は、画面上のアバタの向き及び動きの両方を操作する仮想コントローラの任意配置の脈絡で更に機能し得る。
[0033] 明瞭にするために、一定数のコンポーネントを図1に示す。但し、本開示の実施形態は各コンポーネントの複数を含み得ることが理解されよう。加えて本開示の一部の実施形態は、図1に示したコンポーネントの全てよりも少ない又は多いコンポーネントを含み得る。加えて、図1のコンポーネントは任意の適切な通信プロトコルを使用して任意の適切な通信媒体(インターネットを含む)によって通信し得る。
[0034] 図2は、実施形態による、オンラインゲームのためにクライアントマシンとサーバマシンとの間でコントローラデータをネットワーク化するための手法を実装することができる、仮想コントローラを含む環境200の説明のための例を示す。この手法の例を可能にするために任意の適切なサービス環境又はシステム、例えば図1のサービス環境100を使用することができる。
[0035] 様々な実施形態によれば、プレーヤによるコントローラの操縦によってプレーヤ入力を受信することができる(201)。クライアント装置はゲーム内のアバタの動き又はアクションをシミュレートし始めることができ、プレーヤ入力に応答して最終位置(即ち「動き」)等、その結果生じる情報を生成する(202)。応答的なアクションをシミュレートすることと共に、システムはプレーヤ入力及び/又は入力によって指定される、その結果生じる「動き」も保存する(203)。
[0036] 最初の動きの後に後続の動きを行うことができ、後続の動きも同じように反復的に保存される。サービスは入力の強度、例えば「送信時間」又は「send dT」をモニタし、強度が閾値未満の場合、サービスは入力のパラメータを変数、即ち保留中の動きとしてキャッシュに入れることができる(204)。後続の動きも閾値を下回った場合、保留中の動き変数を追加又は置き換えることができる。
[0037] 入力の強度が閾値を上回る場合、サービスは古い動きがメモリ内にあるかどうかをクエリし、ある場合、サーバによる受信(208)のために古い動きを伝送する(205)。古い動きがメモリ内にない場合、サービスは保留中の動きがメモリ内にあるかどうかをクエリする。ある場合、サービスはサーバによる受信(208)のために新たな動き及び保留中の動きの両方を送信する(206)。さもなければサービスは新たな動きをサーバに送信する(207)。
[0038] サーバによる動き命令の受信時(208)に、サーバ側のサービスがプレーヤ入力(201)を実行してプレーヤのゲーム内のアバタの正式な状態を明らかにし、その正式な状態を「動き」(即ちプレーヤ入力(201)の結果に関するクライアント生成情報(203))と比較する。正式な状態が動きと一致する場合(即ち動きが有効である場合)、サーバが「動き」を肯定応答し(209)、肯定応答の受信時にクライアント装置は最後に肯定応答された動きを保存し(211)、最後に肯定応答された動きに先行する動きをメモリから除去する(212)。
[0039] 正式な状態がゲーム内のアバタのクライアント生成状態と一致しない場合、サーバがクライアント生成状態に対する調節を計算し(210)、クライアント装置にその調節を伝達する(213)。次いでクライアント装置は、正式な状態とクライアント生成状態とが一致するように動きをリプレイする(214)。
[0040] 図3は、実施形態による、仮想化された物理コントローラの実装をサポートする計算システムアーキテクチャの様々なコンポーネントを示すブロック図である。このシステムアーキテクチャは、少なくとも1つのコントローラ302を含み得る。一部の実施形態では、コントローラ302が1つ又は複数のサーバ304と通信することができ、サーバ304は図1に関して記載したサーバ101の一例であり得る。一部の実施形態では、1つ又は複数のサーバ101がコントローラ302のためのバックエンドサポートを提供し得る。例えば一部の事例では、コントローラ302によって行われるものとして記載した処理の少なくとも一部がサーバ101によって代わりに実行され得る。一部の実施形態では、コントローラ302がクライアント装置306と通信することができる。クライアント装置306は、図1に関して上記で記載したクライアント装置133又は143の一例であり得る。一部の実施形態では、クライアント装置306が表示装置308と更に通信することができる。本明細書に記載のコンポーネントのそれぞれは、ネットワーク310上の接続によって通信することができる。
[0041] コントローラ302は、本明細書に記載の操作の少なくとも一部を実行するように構成され、ユーザがソフトウェアアプリケーションと対話することを可能にするように構成される任意の適切な計算装置を含み得る。一部の実施形態では、コントローラはタッチスクリーン機能を有するモバイル装置(例えばスマートフォン又はタブレット)であり得る。コントローラ302は、通信インタフェース312、1つ又は複数のプロセッサ314、メモリ316、及びハードウェア318を含み得る。通信インタフェース312は、コントローラ302が他のネットワーク化された装置との間でデータを送受信することを可能にする無線及び/又は有線の通信コンポーネントを含み得る。ハードウェア318は、追加のユーザインタフェース、データ通信、又はデータ記憶ハードウェアを含み得る。例えばユーザインタフェースは、少なくとも1つの出力装置320(例えばビジュアルディスプレイ、オーディオスピーカ、及び/又は触覚フィードバック装置)及び1つ又は複数のデータ入力装置322を含み得る。データ入力装置322は、これだけに限定されないがキーパッド、キーボード、マウス装置、ジェスチャを受け付けるタッチスクリーン、マイクロホン、音声又は言語認識装置、及び他の任意の適切な装置のうちの1つ又は複数の組み合わせを含み得る。
[0042] メモリ316は、コンピュータ記憶媒体等のコンピュータ可読媒体を使用して実装され得る。コンピュータ可読媒体は少なくとも2種類のコンピュータ可読媒体、即ちコンピュータ記憶媒体及び通信媒体を含む。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータ等の情報を記憶するための任意の方法又は技術によって実装される任意の適切な揮発性及び不揮発性の脱着可能及び脱着不能媒体を含む。コンピュータ記憶媒体は、これだけに限定されないがRAM、DRAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)又は他の光学記憶域、磁気カセット、磁気テープ、磁気ディスク記憶域又は他の磁気記憶装置、又は計算装置によるアクセスのための情報を記憶するために使用可能な他の任意の非伝送媒体を含む。対照的に、搬送波又は他の伝送機構等、通信媒体は変調データ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータを具体化し得る。
[0043] コントローラの1つ又は複数のプロセッサ314及びメモリ316は、1つ又は複数のソフトウェアモジュール及びデータストアを含む機能を実装することができる。かかるソフトウェアモジュールは、特定のタスクを実行し又は特定のデータ型を実装するためにプロセッサ314によって実行されるルーチン、プログラム命令、オブジェクト、及び/又はデータ構造を含み得る。より具体的には、メモリ316は、ユーザのあり得る意図を予測し、その後別の装置に提供される追加の状態データを識別するように構成されるモジュール(例えば状態選択モジュール324)を含み得る。
[0044] 加えてメモリ316は、様々なデータストアを含み得る。例えばメモリ316は、予測モデル326並びに過去のユーザ入力/アクションデータ(例えば使用データ328)を保つことができる。この例では、予測モデルは受信したユーザ入力をユーザのあり得る意図と相関させるように訓練されている訓練済みの機械学習モデルであり得る。一部の事例では、かかる予測モデルはユーザに関する過去のユーザ入力/アクションデータに基づいて訓練され得る。
[0045] 状態選択モジュール324は、プロセッサ314と共に、ユーザのあり得る意図を予測するように構成され得る。予測される意図に基づき、状態選択モジュール324は予測される意図に関連する追加の状態データ(例えばまだ提供されていない状態データ)を識別するように構成され得る。次いで状態選択モジュール324は、通信チャネルを介して追加の状態データを別の電子装置に伝達するように構成され得る。一部の事例では、これは初期状態データが提供されている既存の通信チャネルとは別の通信チャネルを作成することを含み得る。
[0046] サーバ304は、サーバ304に起因する操作の少なくとも一部を実行するように構成される任意の計算装置を含み得る。サーバ304は、1つ又は複数の汎用コンピュータ、専用サーバコンピュータ(例としてPC(パーソナルコンピュータ)サーバ、UNIX(登録商標)サーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウント式サーバ等を含む)、サーバファーム、サーバクラスタ、又は他の任意の適切な構成及び/又は組み合わせで構成され得る。サーバ304は、仮想オペレーティングシステムを実行する1つ又は複数の仮想マシン、又はコンピュータのための仮想記憶装置を保つために仮想化可能な論理記憶装置の1つ又は複数の柔軟なプール等、仮想化を伴う他の計算アーキテクチャを含み得る。例えばサーバ304は、クラウド内にホストされる仮想マシン又はソフトウェアコンテナ形式の仮想計算装置を含み得る。
[0047] サーバ304は、1つ又は複数のプロセッサ330及びメモリ332を含み得る。コントローラの1つ又は複数のプロセッサ330及びメモリ332は、1つ又は複数のソフトウェアモジュール及びデータストアを含む機能を実装することができる。かかるソフトウェアモジュールは、特定のタスクを実行し又は特定のデータ型を実装するためにプロセッサ330によって実行されるルーチン、プログラム命令、オブジェクト、及び/又はデータ構造を含み得る。より具体的には、メモリ332は、ゲーム状態データを追跡し、コントローラ302にゲーム状態データを提供するように構成されるゲームエンジン334を含み得る。
[0048] ゲームエンジン334は、1つ又は複数のプレーヤのアバタと仮想環境との間の対話を促進するように構成されるソフトウェア命令を含み得る。一部の事例では、ソフトウェア命令は、少なくとも入力システム336及びアクション管理モジュール338を含む幾つかの異なるコンポーネントで構成され得る。
[0049] 入力システム336は、コントローラから1組の所定の状態データを受信し、その1組の所定の状態データを行うためのコントローラに関連するアバタのアクション(例えば動き)に変換するように構成されるゲームエンジンのコンポーネントであり得る。一部の実施形態では、1組の所定の状態データがその上で伝送され得る第1のアクティブ通信チャネル340がコントローラ302とサーバ304との間で保たれ得る。
[0050] アクション管理モジュール338は、コントローラから追加の状態データを受信し、完了すべき1つ又は複数のアクションをその状態データに基づいて決定するように構成されるゲームエンジンのコンポーネントであり得る。追加の状態データは、第2の通信チャネル342を介してコントローラから受信され得る。一部の実施形態では、アクション管理モジュールは、入力サブシステム336によって実行されるように指示されるアクションを変える又は強化するように構成され得る。例えばアバタによって行われるアクションの種類(例えば動き、攻撃等)は入力サブシステムによって受信される1組の所定の状態データに基づいて決定され得るのに対し、そのアクションの程度又は量はアクション管理モジュール338によって受信される追加の状態データに基づいて決定され得る。
[0051] 実例として、入力サブシステムに提供される1組の所定の状態データが、アバタによって行われる動きに起因する入力ベクトルを含む例を検討されたい。この例では、追加の状態データは方向性のパッドに加えられる圧力の量、及び/又は対話の速度を示し得る。この例では、入力サブシステムによって示される動きが、動きの速さ又は速度に基づいて調節され得る。
[0052] クライアント装置306は、コントローラ302から入力を受信し、その入力に基づいてアクションを行うように構成される任意の適切な計算装置を含み得る。一部の実施形態では、クライアント装置はゲーム機等のゲームシステムとすることができ、かかるゲームシステムはソフトウェアアプリケーション(例えばコンピュータゲーム)内のアバタ又はキャラクタを操作するためにそのそれぞれが使用され得る入力を幾つかのコントローラから受信することができる。サーバ304内に含まれているものとして幾つかのコンポーネント(例えばゲームエンジン334)を記載するが、かかるコンポーネントは実際は代わりにクライアント装置に含まれてもよいことに留意すべきである。その場合、サーバに起因する機能がクライアント装置によって代わりに実行されてもよく、それらの事例ではクライアント装置がサーバの等価物になることを当業者なら理解されよう。
[0053] 図4は、実施形態による、タッチ入力を受信することに応答して修正済みアクションを実行するためのプロセスを示すブロック図を示す。プロセス400は、図3において上記で説明したシステムによって実行することができる。例えばこのプロセスの第1の部分はコントローラ(例えばコントローラ302)によって実行されてもよく、このプロセスの第2の部分はサーバ(例えばサーバ304)によって実行され得る。一部の事例では、コントローラは仮想物理コントローラが実装されているユーザ装置であり得る。
[0054] 402で、プロセス400はユーザからタッチ入力を受信することを含み得る。タッチ入力は、ボタン又は他の入力機構の選択を含み得る。一部の事例では、タッチ入力に関する程度又は量を検出することができる。例えばユーザのタッチの速度、圧力の量、及び/又は入力機構の中心からの距離を検出することができる。
[0055] 404で、プロセス400は1組の所定の状態データをサーバに提供することを含み得る。一部の実施形態では、1組の所定の状態データが第1の通信チャネル上でサーバに伝送され得る。例えば一部の事例では、1組の所定の状態データが方向を含む入力ベクトルを含み得る。
[0056] 406で、プロセス400はアバタによって行われるアクションの種類を決定することを含み得る。一部の事例では、アクションの種類は受信されるタッチ入力の種類に基づいてアバタによって行われる1組の利用可能なアクションから選択され得る。一部の事例では、アクションの種類は1組の所定の状態データに依存し得る。例えば1組の所定の状態データは、移動方向を示す入力ベクトルを含み得る。この例では、アクションの種類は指示された方向への動きとして識別され得る。
[0057] 408で、プロセス400はユーザのあり得る意図を予測することを含み得る。一部の事例では、受信されるユーザ入力に関連する要因(例えば程度又は量)に基づき、予測されるユーザのあり得る意図を明らかにすることができる。例えば幾つかの異なるユーザの意図のそれぞれは、様々な要因に関する値域に対応し得る。一部の実施形態では、ユーザのタッチ入力をユーザの意図と相関させるように訓練されている機械学習モデルに受信したタッチ入力を与えることによってユーザの意図を明らかにすることができる。一部の事例では、ユーザの意図はアクションの強化又は修正されたバージョンを行うことであり得る。一部の事例では、ユーザの意図は現在行われているアクションに続くその後のアクションを行うことであり得る。かかる事例では、その後のアクションは、受信されるユーザのタッチ入力をユーザが与えた後でそのアクションを行うユーザの傾向に基づいて予測することができる。
[0058] 410で、プロセス400はユーザの予測される意図に関係する追加の状態データを識別することを含み得る。例えばユーザの意図が或るアクションを行う意図だと判定される場合、このプロセスはその意図に関連するアクションに関係しているものとして示される1つ又は複数のデータ値を識別することを含み得る。データ値は、404でサーバに与えられない、受信されるタッチ入力から生成される状態データを表し得る。例えばユーザによって与えられるタッチ入力を検出すると、そのタッチ入力から様々な状態データを生成することができる。かかる状態データの一部の非限定的な例は、タッチ入力によって示される方向、タッチ入力の速度、タッチ入力にわたる速さの変化(例えばスワイプ内の減速又は加速)、タッチ入力にわたる方向の変化、又はタッチ入力に関連する他の任意の適切な要因を含み得る。
[0059] 412で、プロセス400は406で決定したアクションを修正することを含み得る。例えばプロセス400の406でアバタによって或る動きアクションが行われると決定される場合、412で、追加の受信した状態データに基づいてその動きアクションを修正することができる。例えば典型的な動きを行うと(例えば406で)決定すると、特殊な動きを代わりに行うべきであることを追加の状態データが代わりに示し得る。この例では、典型的な動きが行われる場合と同じ方向で行われながら、特殊な動きが典型的な動きを置換することができる。414で、プロセス400は修正済みアクションを実行することを含み得る。
[0060] 図5は、オンラインゲームのためにクライアントマシンとサーバマシンとの間でコントローラデータをネットワーク化するためのプロセス500の一例を示すプロセスフロー図である。プロセス500は、図1に関して記載したサービス環境100等のサービス環境又はシステムの制御下で実行され得る。
[0061] 様々な実施形態によれば、プロセス500は501で、ゲームクライアント装置上のコントローラをプレーヤが操縦することによる第1のプレーヤ入力を受信することを含む。次いで502で、ゲームシステムは典型的にはサーバと最初に同期することなしに、第1のプレーヤ入力に基づくゲーム内のアバタによる第1のアクションをシミュレートする。次いで503で、システムはコントローラを操縦することによる第2のプレーヤ入力を受信することができる。
[0062] 504で入力が既定の期間内に受信されると、506でシステムは第1の入力及び第2の入力に基づいて予測入力を生成することができる。この予測入力は、コントローラによって受信される生の入力値の素早い変化が入力のように追跡され、メモリ内に記憶される点で何れの個々の入力の結果とも異なる。次いで507で、システムは予測入力に基づくゲーム内のアバタによる第2のアクションをシミュレートすることができ、第2のアクションは第1の入力及び第2の入力を逐次的に実行することだけに基づいてシミュレートされるアクションと異なり得る。しかし504で第1の入力及び第2の入力が定められた期間内に受信されない場合、505でシステムは入力を別々に及び連続して処理することができる。
[0063] 図6は、実施形態による、電子装置間で状態データを伝えるためのプロセスフロー600の一例を示す流れ図を示す。プロセス600は、ユーザ入力に基づいて活性化データを生成するように構成される計算装置によって実行され得る。例えばプロセス600は、図3に関して上記で記載したコントローラ302等、ユーザとソフトウェアアプリケーションとの間の対話を促進することができるコントローラによって実行され得る。一部の実施形態では、かかるソフトウェアアプリケーションはユーザがプレーするビデオゲームであり、ビデオゲーム内のアバタを操作するためにコントローラが使用される。一部の事例では、コントローラがタッチスクリーンディスプレイを有する仮想コントローラである。
[0064] 602で、プロセス600はユーザからタッチ入力を受信することを含む。一部の実施形態では、タッチ入力はアバタによって行われるアクションに関係する。一部の実施形態では、タッチ入力はコントローラ上に実装される1つ又は複数の入力機構に関連する。
[0065] 604で、プロセス600は第1の1組の状態データを第1の通信チャネル上で第2の電子装置に提供することを含み、第1の1組の状態データは受信されるタッチ入力から生成される。一部の実施形態では、第1の1組の状態データが1組の所定のデータ値を含む。第2の電子装置は、サーバ計算装置又はゲーム機等の任意の適切な電子装置であり得る。
[0066] 606で、プロセス600は受信したタッチ入力に基づいてユーザの意図を明らかにすることを含む。一部の実施形態では、ユーザの意図はアバタによって行われるアクションに対する修正を含む。一部の実施形態では、ユーザの意図はアバタによって行われるアクションの後で行われる第2のアクションを含む。一部の実施形態では、ユーザの意図はユーザ装置のユーザに関する過去の使用データに基づいて明らかにされる。一部の事例では、ユーザの意図は訓練済みの機械学習モデルにタッチ入力を与えることによって明らかにされる。
[0067] 608で、プロセス600は明らかにしたユーザの意図に基づいて第2の1組の状態データを生成することを含む。一部の実施形態では、第2の1組の状態データはユーザの意図に基づいて選択される1組のデータ値を含む。一部の実施形態では、第2の1組の状態データは入力ベクトル、入力偏位、又は入力変化のうちの少なくとも1つの何らかの組み合わせを含む。
[0068] 610で、プロセス600は第1の通信チャネルと異なる第2の通信チャネル上で第2の電子装置に第2の1組の状態データを提供することを含む。一部の実施形態では、第2の1組の状態データはアバタによって行われるアクション又はアクションの修正を決定するために第2の電子装置によって使用される。
[0069] 本明細書に記載の方法は仮想コントローラ、即ち容易にカスタマイズされるコントローラボタンのレイアウトを提供するタッチスクリーン又はタッチスクリーン様の機能を使用するコントローラを対象とする。一部の実施形態によれば、タッチスクリーンは、ゲーム機、パーソナルコンピュータ、タブレット、スマートフォン、シンクライアント装置(例えば画面にプラグで接続されたUSB又はHDMI装置)等のゲーム装置とインタフェースする物理的な手持ち式コントローラの少なくとも一部である。一部の実施形態によれば、タッチスクリーンは、ゲーム機、パーソナルコンピュータ、タブレット、スマートフォン、シンクライアント装置(例えば画面にプラグで接続されたUSB又はHDMI装置)等のゲーム装置とインタフェースするコントローラの顕著な特徴である。一部の実施形態によれば、コントローラは、モバイル装置又はタブレットをゲーム機、パーソナルコンピュータ、シンクライアント装置(例えば画面にプラグで接続されたUSB又はHDMI装置)等のゲーム装置又は他の適切なゲーム装置に接続するイネーブリングソフトウェアと共にモバイル装置又はタブレットで構成される。一部の更なる実施形態によれば、タッチスクリーンがゲーム機、パーソナルコンピュータ、タブレット、又はスマートフォン等のゲーム装置のタッチ対応画面である。
[0070] 本明細書及び図面は制限的な意味ではなく例示的な意味で考えるべきである。但し、添付の特許請求の範囲に記載の本開示のより広範な趣旨及び範囲から逸脱することなしに様々な修正及び変更を加えることができることが明白になる。
[0071] 他の改変形態も本開示の趣旨に含まれる。従って開示した技法は様々な修正及び代替的構造に影響されやすいが、例示するその一定の実施形態が図示されており、上記で詳細に説明されている。但し、開示した特定の形式に本発明を限定することは意図せず、逆に意図は添付の特許請求の範囲の中で定める本発明の趣旨及び範囲に含まれる全ての修正、代替的構造、及び等価物を対象として含むことだと理解すべきである。
[0072] 開示した実施形態を記載する文脈における(とりわけ添付の特許請求の範囲の文脈における)「a」及び「an」及び「the」という用語並びに同様の指示対象の使用は、本明細書で別段の指示がない限り又は文脈によって明確に矛盾しない限り単数形及び複数形の両方を含むように解釈すべきである。「comprising(~を備える)」、「having(~を有する)」、「including(~を含む)」、及び「containing(~を包含する)」という用語は、別段の定めがない限り非制限的な用語(即ち「including, but not limited to(~を含むが、それだけに限定されない)」を意味する)として解釈すべきである。「connected(接続された)」という用語は、何らかの介在物がある場合でも部分的に又は完全に含まれる、付加される、又は結合されるものとして解釈すべきである。本明細書での値域の列挙は、本明細書で別段の指示がない限りその範囲内に収まる各々の別個の値に個々に言及する簡単な方法として役立つことを単に意図し、各々の別個の値は本明細書で個々に列挙されているかのように本明細書に組み込まれる。本明細書に記載する全ての方法は、本明細書で別段の指示がない限り或いは文脈によって明確に矛盾しない限り任意の適切な順序で実行することができる。本明細書で与える任意の及び全ての例又は例示的な言語(例えば「such as(~等)」)の使用は、別様に主張されない限り、単に本発明の実施形態をより十分に解明することを意図し、本発明の範囲を制限することはない。本発明を実践するために特許請求の範囲に記載されていない任意の要素が必須であることを示すものとして、本明細書の如何なる言語も解釈すべきではない。
[0073] 本発明を実行するための本発明者らに知られている最良の形態を含め、本開示の好ましい実施形態を本明細書に記載した。上記の説明を読んだとき、それらの好ましい実施形態の改変形態が当業者に明らかになり得る。本発明者らは当業者が必要に応じてかかる改変形態を用いることを予期し、本発明が本明細書に具体的に記載するのとは別様に実践されることを意図する。従って本発明は、適用される法律によって認められる、本明細書に添付した特許請求の範囲に列挙する内容の全ての修正及び等価物を含む。更に、本明細書で別段の指示がない限り或いは文脈によって明確に矛盾しない限り、そのあり得る全ての改変形態における上記の要素の如何なる組み合わせも本発明に包含される。
[0074] 以下、本発明の態様の理解を促進するために更なる実施例を記載する。
[0075] 実施例A.アバタによって行われる第1のアクションに関係するユーザ装置のユーザからの入力をユーザ装置において受信すること、
受信した入力から生成される第1の1組の状態データを第1の通信チャネル上で第2の電子装置に提供すること、
受信した入力に基づいて第1のアクションと異なるアバタによって行われる第2のアクションに関係するユーザの意図を明らかにすること、
ユーザの意図に基づいて、第1の1組の状態データと異なり、入手可能な全ての状態データよりも少ない状態データを含む第2の1組の状態データを生成すること、
第2の1組の状態データを第1の通信チャネルと異なる第2の通信チャネル上で第2の電子装置に提供すること、並びに
第1の及び第2の1組の状態データに基づいて第1のアクションと異なる修正済みアクションをアバタに行わせること
を含む、方法。
[0076] 実施例B.ユーザの意図が、第1のアクションがアバタによって行われることを妨げる中断を含む、先行する実施例に記載の方法。
[0077] 実施例C.ユーザの意図がアバタによって行われる第1のアクションに対する修正を含む、先行する実施例の何れか1つに記載の方法。
[0078] 実施例D.ユーザの意図が、アバタによって行われる第1のアクションの後で行われる第2のアクションを含む、先行する実施例の何れか1つに記載の方法。
[0079] 実施例E.第1の1組の状態データが1組の所定のデータ値を含む、先行する実施例の何れか1つに記載の方法。
[0080] 実施例F.第2の1組の状態データがユーザの意図に基づいて選択される1組のデータ値を含む、先行する実施例の何れか1つに記載の方法。
[0081] 実施例G.第2の1組の状態データが入力ベクトル、入力偏位、又は入力変化のうちの少なくとも1つの何らかの組み合わせを含む、先行する実施例の何れか1つに記載の方法。
[0082] 実施例H.ユーザの意図がユーザ装置のユーザに関する過去の使用データに基づいて明らかにされる、先行する実施例の何れか1つに記載の方法。
[0083] 実施例I.ユーザの意図が訓練済みの機械学習モデルに入力を与えることによって明らかにされる、先行する実施例の何れか1つに記載の方法。
[0084] 実施例J.プロセッサと、
プロセッサによって実行されるとき、少なくとも
アバタによって行われる第1のアクションに関係するユーザ装置のユーザからの入力をユーザ装置において受信すること、
受信した入力から生成される第1の1組の状態データを第1の通信チャネル上で第2の電子装置に提供すること、
受信した入力に基づいて第1のアクションと異なるアバタによって行われる第2のアクションに関係するユーザの意図を明らかにすること、
ユーザの意図に基づいて、第1の1組の状態データと異なり、入手可能な全ての状態データよりも少ない状態データを含む第2の1組の状態データを生成すること、
第2の1組の状態データを第1の通信チャネルと異なる第2の通信チャネル上で第2の電子装置に提供すること、並びに
第1の及び第2の1組の状態データに基づいて第1のアクションと異なる修正済みアクションをアバタに行わせること
をユーザ装置に行わせる命令を含むメモリと
を含む、ユーザ装置。
[0085] 実施例K.ユーザ装置がビデオゲーム内のアバタを操作するために使用されるコントローラを含む、先行する実施例に記載のユーザ装置。
[0086] 実施例L.コントローラがタッチスクリーンディスプレイを有する仮想コントローラを含む、先行する実施例の何れか1つに記載のユーザ装置。
[0087] 実施例M.入力がコントローラ上に実装される1つ又は複数の入力機構に関連する、先行する実施例の何れか1つに記載のユーザ装置。
[0088] 実施例N.第2の電子装置がゲーム機を含む、先行する実施例の何れか1つに記載のユーザ装置。
[0089] 実施例O.第2の電子装置がサーバ計算装置を含む、先行する実施例の何れか1つに記載のユーザ装置。
[0090] 実施例P.第2の1組の状態データは第1のアクションを行った後で第2のアクションをアバタに行わせるために第2の電子装置によって使用される、先行する実施例の何れか1つに記載のユーザ装置。
[0091] 実施例Q.第2の1組の状態データはアバタによって行われる第1のアクションを修正するために第2の電子装置によって使用される、先行する実施例の何れか1つに記載のユーザ装置。
[0092] 実施例R.アバタによって行われる第1のアクションに関係するユーザ装置のユーザからの入力をユーザ装置において受信すること、
受信した入力から生成される第1の1組の状態データを第1の通信チャネル上で第2の電子装置に提供すること、
受信した入力に基づいて第1のアクションと異なるアバタによって行われる第2のアクションに関係するユーザの意図を明らかにすること、
ユーザの意図に基づいて、第1の1組の状態データと異なり、入手可能な全ての状態データよりも少ない状態データを含む第2の1組の状態データを生成すること、
第2の1組の状態データを第1の通信チャネルと異なる第2の通信チャネル上で第2の電子装置に提供すること、並びに
第1の及び第2の1組の状態データに基づいて第1のアクションと異なる修正済みアクションをアバタに行わせること
を含む行為を実行時に1つ又は複数の計算装置に集合的に行わせるコンピュータ実行可能命令を集合的に記憶する、非一時的コンピュータ可読媒体。
[0093] 実施例S.ユーザの意図が、アバタによって行われている第1のアクションを妨げる中断、アバタによって行われる第1のアクションに対する修正、又はアバタによって行われる第1のアクションの後で行われる第2のアクションのうちの1つを含む、先行する実施例に記載の非一時的コンピュータ可読媒体。
[0094] 実施例T.第1の1組の状態データが1組の所定のデータ値を含み、第2の1組の状態データがユーザの意図に基づいて選択される1組のデータ値を含む、先行する実施例の何れか1つに記載の非一時的コンピュータ可読媒体。
結論
[0095] 本内容を特徴及び方法論的行為に固有の言語で記載してきたが、添付の特許請求の範囲で定めた内容は本明細書に記載した特定の特徴又は行為に必ずしも限定されないことを理解すべきである。むしろ、特定の特徴及び行為は特許請求の範囲を実装する例示的形式として開示した。

Claims (12)

  1. アバタによって行われる第1のアクションに関するゲームプレイ入力をユーザ装置において受信すること、
    前記受信した入力から生成される、1組の所定のデータ値を含む第1の1組の状態データを第1の通信チャネル上で計算装置に提供すること、
    前記第1のアクションと異なる前記アバタによって行われる第2のアクションに関係するアクションの意図を予測することであって、前記アクションの意図を予測することは、過去のゲームプレイのアクションデータに基づいて訓練された予測モデルに基づく、前記予測すること、
    前記第1の1組の状態データと異なり、入手可能な全ての状態データよりも少ない状態データを含む第2の1組の状態データであって、予測された前記アクションの意図に基づいて選択された1組のデータ値を含む前記第2の1組の状態データを生成すること、
    前記第2の1組の状態データを前記第1の通信チャネルと異なる第2の通信チャネル上で前記計算装置に提供すること、並びに
    前記第1の1組の状態データ及び予測された前記アクションの意図に基づいて選択された前記1組のデータ値に基づいて前記第1のアクションを修正すること
    を含む、アバタのアクションを修正する方法。
  2. 前記第1のアクションは、前記第1のアクションが前記アバタによって行われることを妨げる中断によって修正される、又は
    前記第1のアクションを修正することは、前記第1のアクションの後で第2のアクションを前記アバタに行わせることを含む、請求項1に記載の方法。
  3. 前記第2の1組の状態データが入力ベクトル、前記入力ベクトルの大きさ、又は入力変化のうちの少なくとも1つを含む、請求項1に記載の方法。
  4. 前記過去のゲームプレイのアクションデータは前記ユーザ装置のユーザに関連付けられている、又は
    前記予測モデルは、ゲームプレイ入力を前記アバタに対するゲームプレイアクションに相関させるように機械学習によって訓練される、請求項1に記載の方法。
  5. アバタによって行われる第1のアクションに関するゲームプレイ入力を受信するユーザインタフェースと、
    前記受信した入力から生成される、1組の所定のデータ値を含む第1の1組の状態データを第1の通信チャネル上で計算装置に提供する、通信ネットワークを介して通信する通信インターフェースと、
    メモリに格納された命令を実行するプロセッサとを含み、前記プロセッサは、
    前記第1のアクションと異なる前記アバタによって行われる第2のアクションに関係するアクションの意図を予測することであって、前記アクションの意図を予測することは、過去のゲームプレイのアクションデータに基づいて訓練された予測モデルに基づく、前記予測すること、
    前記第1の1組の状態データと異なり、入手可能な全ての状態データよりも少ない状態データを含む第2の1組の状態データであって、予測された前記アクションの意図に基づいて選択された1組のデータ値を含む前記第2の1組の状態データを生成すること、
    前記通信インターフェースを介して、前記第2の1組の状態データを前記第1の通信チャネルと異なる第2の通信チャネル上で前記計算装置に提供すること、並びに
    前記第1の1組の状態データ及び予測された前記アクションの意図に基づいて選択された前記1組のデータ値に基づいて前記第1のアクションを修正すること
    を含む命令を実行する、アバタのアクションを修正するユーザ装置。
  6. ビデオゲームのゲームプレイの間に前記アバタを操作するために使用されるコントローラをさらに含む、請求項5に記載のユーザ装置。
  7. 前記コントローラがタッチスクリーンディスプレイ内に提示される仮想コントローラを含む、請求項6に記載のユーザ装置。
  8. 前記ゲームプレイ入力が前記コントローラ上に実装される1つ又は複数の入力機構に関連する、請求項に記載のユーザ装置。
  9. 前記計算装置がゲーム機又はゲームサーバ計算装置を含む、請求項5に記載のユーザ装置。
  10. 前記第2の1組の状態データは、前記第1のアクションを行った後で前記第2のアクションを前記アバタに行わせるために前記計算装置によって使用される、又は
    前記第1のアクションは、前記第1のアクションが前記アバタによって行われることを妨げる中断によって修正される、請求項5に記載のユーザ装置。
  11. アバタによって行われる第1のアクションに関するゲームプレイ入力をユーザ装置において受信すること、
    前記受信した入力から生成される、1組の所定のデータ値を含む第1の1組の状態データを第1の通信チャネル上で計算装置に提供すること、
    前記第1のアクションと異なる前記アバタによって行われる第2のアクションに関係するアクションの意図を予測することであって、前記アクションの意図を予測することは、過去のゲームプレイのアクションデータに基づいて訓練された予測モデルに基づく、前記予測すること、
    前記第1の1組の状態データと異なり、入手可能な全ての状態データよりも少ない状態データを含む第2の1組の状態データであって、予測された前記アクションの意図に基づいて選択された1組のデータ値を含む前記第2の1組の状態データを生成すること、
    前記第2の1組の状態データを前記第1の通信チャネルと異なる第2の通信チャネル上で前記計算装置に提供すること、並びに
    前記第1の1組の状態データ及び予測された前記アクションの意図に基づいて選択された前記1組のデータ値に基づいて前記第1のアクションを修正すること
    を含む、アバタのアクションを修正する方法を実行時に1つ又は複数の計算装置に集合的に行わせるコンピュータ実行可能命令を集合的に記憶する、非一時的コンピュータ可読記録媒体。
  12. 前記第1のアクションを修正することは、前記アクションの意図に基づいて選択された前記1組のデータ値に基づく、前記アバタによって行われている前記第1のアクションを妨げる中断、又は前記第1のアクションの後で行われる第2のアクションのうちの1つ以上を含む、請求項11に記載の非一時的コンピュータ可読記録媒体。
JP2023553751A 2021-03-10 2022-03-09 クライアント-サーバネットワーキングのためのコントローラ状態管理 Active JP7714672B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163158965P 2021-03-10 2021-03-10
US63/158,965 2021-03-10
PCT/US2022/019651 WO2022192474A1 (en) 2021-03-10 2022-03-09 Controller state management for client-server networking

Publications (2)

Publication Number Publication Date
JP2024512346A JP2024512346A (ja) 2024-03-19
JP7714672B2 true JP7714672B2 (ja) 2025-07-29

Family

ID=83227060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023553751A Active JP7714672B2 (ja) 2021-03-10 2022-03-09 クライアント-サーバネットワーキングのためのコントローラ状態管理

Country Status (9)

Country Link
US (1) US20240173616A1 (ja)
EP (1) EP4291315A4 (ja)
JP (1) JP7714672B2 (ja)
CN (1) CN116981505A (ja)
AU (1) AU2022234766A1 (ja)
CA (1) CA3212951A1 (ja)
IL (1) IL305750A (ja)
MX (1) MX2023010556A (ja)
WO (1) WO2022192474A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019535156A (ja) 2016-08-22 2019-12-05 マジック リープ, インコーポレイテッドMagic Leap,Inc. 仮想現実、拡張現実、および複合現実システムおよび方法
WO2019245681A1 (en) 2018-06-20 2019-12-26 Valve Corporation Virtual reality hand gesture generation
WO2020252400A1 (en) 2019-06-14 2020-12-17 Fighter Base Publishing, Inc. Methods and system for artificial intelligence powered user interface

Family Cites Families (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7663607B2 (en) * 2004-05-06 2010-02-16 Apple Inc. Multipoint touchscreen
US20020193157A1 (en) * 2001-06-18 2002-12-19 Canon Kabushiki Kaisha Computer device for implementing a trading card game and control method therefor, program executed by computer device, controller, system, and game cards
JP2003024639A (ja) * 2001-07-18 2003-01-28 Konami Computer Entertainment Osaka:Kk ゲーム進行制御プログラム、ゲーム進行制御装置、ゲーム進行制御方法及びゲーム用サーバ装置
US7254775B2 (en) * 2001-10-03 2007-08-07 3M Innovative Properties Company Touch panel system and method for distinguishing multiple touch inputs
US11275405B2 (en) * 2005-03-04 2022-03-15 Apple Inc. Multi-functional hand-held device
US20040248650A1 (en) * 2003-03-25 2004-12-09 Colbert Savalas O. Programmable electronic game apparatus
US7411575B2 (en) * 2003-09-16 2008-08-12 Smart Technologies Ulc Gesture recognition method and touch system incorporating the same
US7309287B2 (en) * 2003-12-10 2007-12-18 Nintendo Co., Ltd. Game machine having display screen with touch panel
US20050227217A1 (en) * 2004-03-31 2005-10-13 Wilson Andrew D Template matching on interactive surface
JP5172334B2 (ja) * 2004-06-17 2013-03-27 アドレア エルエルシー タッチスクリーン上の2本指入力の使用
US7519223B2 (en) * 2004-06-28 2009-04-14 Microsoft Corporation Recognizing gestures and using gestures for interacting with software applications
JP4903371B2 (ja) * 2004-07-29 2012-03-28 任天堂株式会社 タッチパネルを用いたゲーム装置およびゲームプログラム
US7925996B2 (en) * 2004-11-18 2011-04-12 Microsoft Corporation Method and system for providing multiple input connecting user interface
JP2006314349A (ja) * 2005-05-10 2006-11-24 Nintendo Co Ltd ゲームプログラムおよびゲーム装置
US20070060335A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Action charging in a turn-based video game
WO2007127258A2 (en) * 2006-04-27 2007-11-08 Wms Gaming Inc. Wagering game with multi-point gesture sensing device
JP2008017935A (ja) * 2006-07-11 2008-01-31 Aruze Corp ゲーム装置およびゲーム装置の画像変化制御方法
WO2008066004A1 (en) * 2006-11-30 2008-06-05 Sega Corporation Position inputting apparatus
US7956847B2 (en) * 2007-01-05 2011-06-07 Apple Inc. Gestures for controlling, manipulating, and editing of media files using touch sensitive devices
WO2008095139A2 (en) * 2007-01-31 2008-08-07 Perceptive Pixel, Inc. Methods of interfacing with multi-point input devices and multi-point input systems employing interfacing techniques
JP5210547B2 (ja) * 2007-05-29 2013-06-12 任天堂株式会社 移動制御プログラムおよび移動制御装置
US7936341B2 (en) * 2007-05-30 2011-05-03 Microsoft Corporation Recognizing selection regions from multiple simultaneous inputs
EP2186237A4 (en) * 2007-08-24 2011-02-09 Tc Digital Games Llc SYSTEM AND METHOD FOR A MULTIPLE PLATFORM TRADING CARD GAME
US20090122018A1 (en) * 2007-11-12 2009-05-14 Leonid Vymenets User Interface for Touchscreen Device
US8556720B2 (en) * 2008-01-14 2013-10-15 Disney Enterprises, Inc. System and method for touchscreen video game combat
US8519965B2 (en) * 2008-04-23 2013-08-27 Motorola Mobility Llc Multi-touch detection panel with disambiguation of touch coordinates
US20090327975A1 (en) * 2008-06-27 2009-12-31 Stedman Roy W Multi-Touch Sorting Gesture
CN101661361A (zh) * 2008-08-27 2010-03-03 比亚迪股份有限公司 多点触摸检测系统
JP4605279B2 (ja) * 2008-09-12 2011-01-05 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US8683390B2 (en) * 2008-10-01 2014-03-25 Microsoft Corporation Manipulation of objects on multi-touch user interface
US20100162181A1 (en) * 2008-12-22 2010-06-24 Palm, Inc. Interpreting Gesture Input Including Introduction Or Removal Of A Point Of Contact While A Gesture Is In Progress
US9106696B2 (en) * 2009-04-15 2015-08-11 Wyse Technology L.L.C. Method and apparatus for portability of a remote session
US9354795B2 (en) * 2009-04-29 2016-05-31 Lenovo (Singapore) Pte. Ltd Refining manual input interpretation on touch surfaces
US20100285881A1 (en) * 2009-05-07 2010-11-11 Microsoft Corporation Touch gesturing on multi-player game space
US8739055B2 (en) * 2009-05-07 2014-05-27 Microsoft Corporation Correction of typographical errors on touch displays
US8269736B2 (en) * 2009-05-22 2012-09-18 Microsoft Corporation Drop target gestures
US20100321319A1 (en) * 2009-06-17 2010-12-23 Hefti Thierry Method for displaying and updating a view of a graphical scene in response to commands via a touch-sensitive device
US20110009195A1 (en) * 2009-07-08 2011-01-13 Gunjan Porwal Configurable representation of a virtual button on a game controller touch screen
US20110014983A1 (en) * 2009-07-14 2011-01-20 Sony Computer Entertainment America Inc. Method and apparatus for multi-touch game commands
KR101117481B1 (ko) * 2009-10-12 2012-03-07 라오넥스(주) 멀티터치 방식 입력제어 시스템
US8222507B1 (en) * 2009-11-04 2012-07-17 Smule, Inc. System and method for capture and rendering of performance on synthetic musical instrument
JP4910037B2 (ja) * 2009-11-27 2012-04-04 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム制御プログラム、及びゲーム制御方法
JP4932010B2 (ja) * 2010-01-06 2012-05-16 株式会社スクウェア・エニックス ユーザインタフェース処理装置、ユーザインタフェース処理方法、およびユーザインタフェース処理プログラム
US20110205169A1 (en) * 2010-02-24 2011-08-25 Primax Electronics Ltd. Multi-touch input apparatus and its interface method using hybrid resolution based touch data
JP5508122B2 (ja) * 2010-04-30 2014-05-28 株式会社ソニー・コンピュータエンタテインメント プログラム、情報入力装置、及びその制御方法
US8632409B2 (en) 2010-05-11 2014-01-21 Bungie, Llc Method and apparatus for online rendering of game files
KR101091335B1 (ko) * 2010-05-13 2011-12-07 (주)네오위즈게임즈 연주게임을 위한 방법, 장치 및 기록매체
US20120026100A1 (en) * 2010-07-30 2012-02-02 Migos Charles J Device, Method, and Graphical User Interface for Aligning and Distributing Objects
US9950256B2 (en) * 2010-08-05 2018-04-24 Nri R&D Patent Licensing, Llc High-dimensional touchpad game controller with multiple usage and networking modalities
KR101685982B1 (ko) * 2010-09-01 2016-12-13 엘지전자 주식회사 이동 단말기 및 이것의 3차원 디스플레이 제어 방법
JP5478439B2 (ja) * 2010-09-14 2014-04-23 任天堂株式会社 表示制御プログラム、表示制御システム、表示制御装置、表示制御方法
US9146674B2 (en) * 2010-11-23 2015-09-29 Sectra Ab GUI controls with movable touch-control objects for alternate interactions
US9411509B2 (en) * 2010-12-29 2016-08-09 Microsoft Technology Licensing, Llc Virtual controller for touch display
US20120179963A1 (en) * 2011-01-10 2012-07-12 Chiang Wen-Hsiang Multi-touch electronic device, graphic display interface thereof and object selection method of multi-touch display
US20120218203A1 (en) * 2011-02-10 2012-08-30 Kanki Noriyoshi Touch drawing display apparatus and operation method thereof, image display apparatus allowing touch-input, and controller for the display apparatus
CN103477304A (zh) * 2011-02-10 2013-12-25 三星电子株式会社 包含触摸屏显示器的便携式设备以及控制它的方法
US20120274585A1 (en) * 2011-03-16 2012-11-01 Xmg Studio, Inc. Systems and methods of multi-touch interaction with virtual objects
JP5855237B2 (ja) 2011-05-03 2016-02-09 バンジー, インコーポレイテッド 分散対話型シミュレーションにおけるオブジェクトの改善された表現のための装置および方法
JP5945100B2 (ja) * 2011-06-03 2016-07-05 任天堂株式会社 入力処理プログラム、入力処理装置、入力処理方法および入力処理システム
KR101864618B1 (ko) * 2011-09-06 2018-06-07 엘지전자 주식회사 이동 단말기 및 그것의 사용자 인터페이스 제공 방법
US8758119B1 (en) * 2011-10-20 2014-06-24 Zynga Inc. Asset transfers between interactive social games
KR20130052797A (ko) * 2011-11-14 2013-05-23 삼성전자주식회사 터치스크린을 이용한 어플리케이션 제어 방법 및 이를 지원하는 단말기
KR101888457B1 (ko) * 2011-11-16 2018-08-16 삼성전자주식회사 복수 개의 어플리케이션을 실행하는 터치스크린을 가지는 장치 및 그 제어 방법
US20130120258A1 (en) * 2011-11-16 2013-05-16 Daryl D. Maus Multi-touch input device
JP5460679B2 (ja) * 2011-11-28 2014-04-02 ソニー株式会社 情報処理装置、情報処理方法、およびコンテンツファイルのデータ構造
JP2013117885A (ja) * 2011-12-02 2013-06-13 Nintendo Co Ltd 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法
US20130154959A1 (en) * 2011-12-20 2013-06-20 Research In Motion Limited System and method for controlling an electronic device
US9524097B2 (en) * 2011-12-22 2016-12-20 International Business Machines Corporation Touchscreen gestures for selecting a graphical object
TW201327334A (zh) * 2011-12-28 2013-07-01 Fih Hong Kong Ltd 觸控式電子裝置及其觸控方法
US8806339B2 (en) * 2012-02-06 2014-08-12 Apple Inc. User interface control for media editing application
KR20130095970A (ko) * 2012-02-21 2013-08-29 삼성전자주식회사 터치 스크린을 구비하는 기기에서 객체를 제어하기 위한 장치 및 방법
US9575652B2 (en) * 2012-03-31 2017-02-21 Microsoft Technology Licensing, Llc Instantiable gesture objects
US8814674B2 (en) * 2012-05-24 2014-08-26 Supercell Oy Graphical user interface for a gaming system
GB2511668A (en) * 2012-04-12 2014-09-10 Supercell Oy System and method for controlling technical processes
US8954890B2 (en) * 2012-04-12 2015-02-10 Supercell Oy System, method and graphical user interface for controlling a game
US20130285924A1 (en) * 2012-04-26 2013-10-31 Research In Motion Limited Method and Apparatus Pertaining to the Interpretation of Touch-Based Actions
US9916396B2 (en) * 2012-05-11 2018-03-13 Google Llc Methods and systems for content-based search
JP5377709B2 (ja) * 2012-05-23 2013-12-25 株式会社スクウェア・エニックス 情報処理装置,情報処理方法,及びゲーム装置
KR101216307B1 (ko) * 2012-06-08 2012-12-28 (주)네오위즈게임즈 패턴 입력을 통한 캐릭터 조작 방법 및 장치
JP5450718B2 (ja) * 2012-06-11 2014-03-26 株式会社スクウェア・エニックス ゲーム装置及びゲームプログラム
JP5563633B2 (ja) * 2012-08-31 2014-07-30 株式会社スクウェア・エニックス ビデオゲーム処理装置、およびビデオゲーム処理プログラム
US9652797B2 (en) * 2013-01-18 2017-05-16 24/7 Customer, Inc. Intent prediction based recommendation system using data combined from multiple channels
JP6643776B2 (ja) * 2015-06-11 2020-02-12 株式会社バンダイナムコエンターテインメント 端末装置及びプログラム
CN104898953B (zh) * 2015-06-16 2016-10-26 深圳市腾讯计算机系统有限公司 基于触控屏的操控方法和装置
JP5906345B1 (ja) * 2015-08-05 2016-04-20 株式会社Cygames 操作履歴に基づいてタッチ対象を予測するプログラム、電子装置、システム及び制御方法
CN107479749B (zh) * 2017-08-08 2019-09-27 腾讯科技(成都)有限公司 基于触控屏的操控方法及装置、移动终端及可读存储介质
US11058948B1 (en) * 2017-08-18 2021-07-13 Amazon Technologies, Inc. Predictive modeling for multiplayer gaming
JP6418299B1 (ja) * 2017-09-15 2018-11-07 株式会社セガゲームス 情報処理装置及びプログラム
US10406439B1 (en) * 2018-02-20 2019-09-10 Janet Marie Broadway Method and system for facilitating generation of a virtual world including one or more objects and one or more agents based on a user intention
CN108379844B (zh) * 2018-03-30 2020-10-23 腾讯科技(深圳)有限公司 控制虚拟对象移动的方法、装置、电子装置及存储介质
KR102209750B1 (ko) * 2019-02-15 2021-01-29 주식회사 넥슨코리아 게임에서 사용자의 의도를 식별하기 위한 방법, 장치, 및 컴퓨터 프로그램
US11717748B2 (en) * 2019-11-19 2023-08-08 Valve Corporation Latency compensation using machine-learned prediction of user input
US11534681B2 (en) * 2020-10-29 2022-12-27 Google Llc Virtual console gaming controller
JP2024513669A (ja) * 2021-03-10 2024-03-27 バンジー, インコーポレイテッド 仮想ボタンチャージング

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019535156A (ja) 2016-08-22 2019-12-05 マジック リープ, インコーポレイテッドMagic Leap,Inc. 仮想現実、拡張現実、および複合現実システムおよび方法
WO2019245681A1 (en) 2018-06-20 2019-12-26 Valve Corporation Virtual reality hand gesture generation
WO2020252400A1 (en) 2019-06-14 2020-12-17 Fighter Base Publishing, Inc. Methods and system for artificial intelligence powered user interface

Also Published As

Publication number Publication date
EP4291315A1 (en) 2023-12-20
MX2023010556A (es) 2023-10-04
US20240173616A1 (en) 2024-05-30
CN116981505A (zh) 2023-10-31
JP2024512346A (ja) 2024-03-19
CA3212951A1 (en) 2022-09-15
WO2022192474A1 (en) 2022-09-15
AU2022234766A1 (en) 2023-10-05
EP4291315A4 (en) 2024-08-21
IL305750A (en) 2023-11-01

Similar Documents

Publication Publication Date Title
JP7651716B2 (ja) 仮想化物理的コントローラ
CN115427122A (zh) 虚拟控制台游戏控制器
US9968848B2 (en) Method and apparatus for adapting applications over multiple devices
JP7532679B2 (ja) 仮想自動照準設定
JP2025105663A (ja) 方法、ユーザデバイスおよび非一過性のコンピュータ読み取り可能な記憶媒体
JP2026062624A (ja) ハンドトラッキングを使用した仮想ボタンによるゲームコントローラ機能の拡張
KR102609293B1 (ko) 게임 동작 결정 장치 및 방법
JP7714672B2 (ja) クライアント-サーバネットワーキングのためのコントローラ状態管理
JP7689584B2 (ja) 状態ベースのアクティベーションの方法及びユーザデバイス
WO2025080482A1 (en) Cross-platform play with real-time augmentation for maintaining an even playing field between players
WO2018154327A1 (en) Computer interface system and method
KR102170825B1 (ko) 게임 제어 장치 및 방법
CN115624742B (zh) 一种控制方法、控制终端以及计算机程序产品
JP2025154252A (ja) コンピュータシステム、プログラム及び情報処理装置
WO2024050236A1 (en) Ai streamer with feedback to ai streamer based on spectators
GB2627469A (en) Dynamic content

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231024

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231024

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20240509

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20240510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241008

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20250108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250606

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250716

R150 Certificate of patent or registration of utility model

Ref document number: 7714672

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150