JP7377296B2 - インタラクティブなクラウドゲームのための方法、デバイス、およびシステム - Google Patents

インタラクティブなクラウドゲームのための方法、デバイス、およびシステム Download PDF

Info

Publication number
JP7377296B2
JP7377296B2 JP2022023740A JP2022023740A JP7377296B2 JP 7377296 B2 JP7377296 B2 JP 7377296B2 JP 2022023740 A JP2022023740 A JP 2022023740A JP 2022023740 A JP2022023740 A JP 2022023740A JP 7377296 B2 JP7377296 B2 JP 7377296B2
Authority
JP
Japan
Prior art keywords
game
electronic device
implementations
interface device
game controller
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
JP2022023740A
Other languages
English (en)
Other versions
JP2022091745A5 (ja
JP2022091745A (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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2022091745A publication Critical patent/JP2022091745A/ja
Publication of JP2022091745A5 publication Critical patent/JP2022091745A5/ja
Priority to JP2023184512A priority Critical patent/JP2024016099A/ja
Application granted granted Critical
Publication of JP7377296B2 publication Critical patent/JP7377296B2/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/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • A63F13/235Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console using a wireless connection, e.g. infrared or piconet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • 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/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • A63F13/323Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections between game devices with different hardware characteristics, e.g. hand-held game devices connectable to game consoles or arcade machines
    • 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/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • 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/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • 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/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/92Video game devices specially adapted to be hand-held while playing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • 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/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/402Communication between platforms, i.e. physical link to protocol
    • 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/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • 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/538Features 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 performing operations on behalf of the game client, e.g. rendering
    • 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/55Details of game data or player data management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Description

技術分野
本願は、全体的に、インタラクティブなクラウドゲームのためのデバイス、システム、および方法を含むコンピュータテクノロジーに関するが、これらに限定されない。
背景
ゲーム機は、ゲームおよびその他の娯楽に使われる一種のメディア表示装置である。ゲーム機が備えられた1つのスペースにユーザグループが集まり、ゲーム機を使ってストリーム配信される映画を楽しむことができる。ゲームアプリケーションの場合、ゲーム機は、通常は、プレイのためにゲーム機に同時に接続する複数のゲームコントローラ(たとえば、最大5つのゲームコントローラ)をサポートする。しかしながら、ユーザがゲーミングセッションを異なる場所(たとえば、家の中の異なる部屋または友人の家)に移動させようと決めた場合、これらのゲームコントローラおよびゲーム機を個々に電源を落としてセットアップし直さなければならない。さらには、ゲームは、プレイ出来るようになる前にコンソールのハードドライブ上にインストールする必要があるため、ユーザのゲームの選択肢は、いつも限られている。これに加えて、旧ゲーム機は、より新しいゲームが必要とする要求に応えられる処理能力がない可能性があり、ユーザは、ゲーム機を常にアップグレードしなければならない。このように、コンソールベースのゲームは、ユーザにとって面倒であり、時間が掛かり、費用がかかる。
したがって、ユーザが相当な時間や、コストを掛けることなく、難なく高品質のゲーム体験をできる必要がある。また、ユーザは、遊びたいゲームや、一緒にゲームで遊ぶ人の数を自由に選べるべきである。
概要
本明細書に記載の様々な実施態様は、効率のよい持ち運び可能なゲーム体験を可能にするゲームアプリケーションプラットフォームを提供することを対象とする。具体的には、ゲームを利用可能にするソフトウェアをホストするインターフェース装置(たとえば、Google Inc.によるCHROMECASTなどのハードウェアドングル)がクラウドゲームに使われる。インターフェース装置は、ゲームサーバとやり取りしてゲームにアクセスし、インターフェース装置と連結または一体化された表示装置(たとえば、テレビ)上に表示するゲームメディアコンテンツ(たとえば、オーディオおよび/またはビジュアルコンテンツ)をゲームサーバから(たとえば、リアルタイムで)ストリーム配信する。また、インターフェース装置は、ゲームコントローラ(複数可)および/またはオンラインゲームを利用可能にする電子機器(複数可)と同時に通信を行う。
本願のいくつかの実施態様によると、インスタントゲームプレーを提供するクラウド対応のゲームコントローラをゲームに使う。ゲームコントローラは、ローカルネットワーク(たとえば、Wifi)上でインターフェース装置と通信を行う。ゲームコントローラは、メッセージ(たとえば、ゲームセットアップコマンド)をインターフェース装置に送信する。ゲームプレー中、ゲームコントローラは、ゲーム入力をゲームサーバに直接送信する。したがって、ゲームコントローラは、ゲーム機を必要としない持ち運び可能なスタンドアロンデバイスとして動作し、ある場所から別の場所(たとえば、住居環境、寮、オフ
ィス内、または家と家との間など)への移動を簡単かつ便利にする。
いくつかの実施態様では、ゲームコントローラは、複数のプレーヤー認証情報および/または複数のネットワーク認証情報を格納する。ゲームコントローラは、多くの異なる場所においてマルチプレーヤーゲーム設定で使用できる。
これに加えて、いくつかの実施態様では、インターフェース装置は、複数のゲームコントローラおよび/または同じネットワーク上の複数の電子機器と同時に接続する(たとえば、ペアリングする)。
いくつかの実施態様では、ゲームコントローラは、ゲームコントローラのユーザと(たとえば、セットアップ処理時に)対応付けられるデバイスID(たとえば、ゲームコントローラID)および/または、クライアント証明書によって識別される。
いくつかの実施態様では、インターフェース装置は、デバイスIDおよび/またはクライアント証明書(たとえば、インターフェース装置のID)によって識別される。いくつかの実施態様では、ゲームコントローラは、通信可能に接続(たとえば、ペアリング)した各インターフェース装置の識別子を格納する。
いくつかの実施態様では、ゲームコントローラは、世帯で利用される。ゲームコントローラは、セットアップ(たとえば、準備処理)時に、世帯およびそのユーザ(たとえば、世帯の構成員)と対応付けられる。いくつかの実施態様では、クラウドゲームを利用可能にするアプリケーション(たとえば、GOOGLE Homeアプリ)を利用してゲームコントローラを準備する。いくつかの実施態様では、世帯およびそのユーザは、認証情報によって識別される。認証情報は、ゲームサーバを通して購入したゲームおよびその他の権利にアクセスできるようにするために検証される。
いくつかの実施態様では、ゲームコントローラは、プレーヤーから音声入力(たとえば、コマンド)を受信し、当該音声入力を処理および/または送信する。
いくつかの実施態様では、ゲームコントローラは、ゲームコントローラにプラグ接続されたヘッドセットを含む。オーディオ入力は、(たとえば、ヘッドセットを介して)ゲームコントローラに送られる。
このように、本明細書に開示のインターフェース装置、ゲームコントローラ、およびクラウドゲームサーバの様々な先端技術を組み合わせることによって、一箇所に集まったユーザによるゲームプレーから、異なる会場にいる複数のプレーヤー(たとえば、数百人または数千人)によるオンラインのインタラクティブゲームプレーにゲーム体験を広げることができる。さらには、ユーザは、クラウド-ゲームサービスおよび大量のクラウド管理されたコンテンツライブラリを含むリソース、ならびにリソースの描画、エンコーディング、およびストリーム配信へのアクセス権を有するので、ユーザは、もはや、ゲーム機のストレージおよび処理能力の束縛を受けない。
一態様では、いくつかの実施態様は、1つ以上のプロセッサと、当該1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを備えるインターフェース装置(たとえば、ゲームインターフェース装置)を含み、1つ以上のプログラムは、アプリケーション(たとえば、ゲームアプリケーションおよびストリーミングアプリケーション)を含む。インターフェース装置は、インターフェース装置とゲームコントローラとの間、および、インターフェース装置とインターフェース装置から遠く離れたゲームサーバとの間でメッセージおよびメディアストリームを受信ならびに/または送信するため
の通信モジュールを含む。インターフェース装置は、インターフェース装置に連結または一体化された表示装置の入力部にアプリケーションの出力を行うように構成される出力モジュールをさらに含む。アプリケーションは、ゲームコントローラが送信するメッセージの実質的にすべてに関連する出力をインターフェース装置が処理および表示する第1モード(たとえば、メニューモード)を実装するように構成される。アプリケーション(たとえば、ゲームアプリケーション)は、インターフェース装置がゲームコントローラからのメッセージの予め定義されたサブセットを処理および表示し、ゲームサーバが送信するゲームメディアストリーム(たとえば、ストリーミングアプリケーション)を表示する第2モード(たとえば、ゲームプレーモード)を実装するようにさらに構成される。いくつかの実施態様では、通信モジュールは、無線送信モジュール、通信バス、および有線接続のうち、1つ以上であり得る。いくつかの実施態様では、ゲームコントローラは、インターフェース装置に近接する。いくつかの実施態様では、出力モジュールは、インターフェース装置に連結または一体化された表示装置の入力ポートにアプリケーションの出力を行う(たとえば、送信する)ように構成される出力ポートを含む。いくつかの実施態様では、アプリケーションは、ゲームサーバが送信するゲームメディアストリームをデコードして表示装置に出力するようにさらに構成される。いくつかの実施態様では、ゲームメディアストリームは、リアルタイムで表示される。いくつかの実施態様では、ゲーミングセッションのゲームプレー状態を示すためのストリームが、ゲームサーバによって生成される。いくつかの実施態様では、第2モードで、インターフェース装置は、ゲームコントローラからのほとんどのコマンドを無視する(たとえば、ゲームコントローラ上のクイックメニュー押下ボタンからのコマンドのみが、インターフェース装置に送られる)。
別の態様では、いくつかの実施態様は、1つ以上のプロセッサと、当該1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを備えるゲームコントローラを含み、1つ以上のプログラムは、アプリケーションを含む。ゲームコントローラは、メッセージおよびメディアストリームを受信および/または送信するゲームコントローラとインターフェース装置との間、および、ゲームコントローラとゲームコントローラから遠く離れたゲームサーバとの間でメッセージおよびメディアストリームを受信ならびに/または送信するための通信モジュールを含む。アプリケーションは、ゲームコントローラがゲームセットアップコマンドをインターフェース装置に送信する第1モード(たとえば、メニューモード)を実装するように構成される。アプリケーションは、ゲームコントローラがゲームプレーコマンドをゲームサーバに送信し、ゲームセットアップコマンドの予め定義されたサブセットをインターフェース装置に送信する第2モード(たとえば、ゲームプレーモード)を実装するようにさらに構成される。いくつかの実施態様では、インターフェース装置は、ゲームコントローラに近接する。いくつかの実施態様では、ゲームコントローラおよびインターフェース装置は、同じローカルネットワーク上で接続され、ゲームコントローラは、同じローカルネットワーク上でゲームセットアップコマンドをインターフェース装置に送信する。いくつかの実施態様では、ゲームコントローラは、複数のユーザ認証情報、および複数のネットワーク認証情報を格納する。いくつかの実施態様では、通信モジュールは、無線送信モジュール、通信バス、および有線接続のうち、1つ以上であり得る。
一態様では、いくつかの実施態様は、ゲームシステムにおいて実行されるクラウドゲームのための方法を含む。ゲームシステムは、インターフェース装置と、ゲームコントローラと、インターフェース装置およびゲームコントローラから遠く離れたゲームサーバとを備える。インターフェース装置、ゲームコントローラ、およびゲームサーバの各々は、1つ以上のプロセッサと、当該1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを含む。この方法は、インターフェース装置において、(1)ゲームコントローラからゲームの選択を受け付けるステップと、(2)ゲームコントローラが送信するメッセージの実質的にすべてに関連する出力を、第1モード(たとえば、メニ
ューモード)でユーザの介入なしで自動的に処理および表示するステップと、(3)ゲームコントローラからのメッセージの予め定義されたサブセットを、第2モード(たとえば、ゲームプレーモード)でユーザの介入なしで自動的に処理および表示し、ゲームサーバが送信するゲームのゲームメディアストリームをリアルタイムで表示するステップとを含み、表示するステップは、インターフェース装置に連結または一体化された表示装置上で表示するステップを含む。また、方法は、ゲームコントローラにおいて、(4)第1モードで、コントローラコマンド(たとえば、ゲームセットアップコマンド)をインターフェース装置に送信するステップと、(5)第2モードで、ゲームプレーコマンドをゲームサーバに送信し、コントローラコマンドの予め定義されたサブセットをインターフェース装置に送信するステップとを含む。方法は、さらに、ゲームサーバにおいて、各ゲームについて、(6)ゲームコントローラからゲームプレーコマンドを受信するステップと、(7)受信したコマンドのうちの1つ以上のコマンドの各サブセットに従って、ゲームのコンテンツの各フレームを描画するステップと、(8)描画された各フレームを含んだゲームのゲームメディアストリームをインターフェース装置にリアルタイムで送信するステップとを含む。いくつかの実施態様では、ゲームコントローラは、インターフェース装置に近接する。
一態様では、いくつかの実施態様は、1つ以上のプロセッサと、当該1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを有する、表示装置(たとえば、テレビ)に連結または一体化された第1電子機器(たとえば、インターフェース装置)において実行されるゲーム方法を含む。この方法は、(1)クラウドゲーミングセッションを起動するための第1のユーザ入力(たとえば、ユーザは、ゲームコントローラ上のボタンを選択する)を第2電子機器(たとえば、ゲームコントローラ)から受信するステップと、第1のユーザ入力を受信することに応答して、(2A)ゲームサーバ上のゲームサービスに接続するステップと、(2B)ユーザに対応付けられたデフォルトのプレーヤーID(たとえば、IDは、プレーヤーまたは世帯のアカウントと対応付けられる)を、ユーザの介入なしで自動的に識別するステップと、(2C)デフォルトのプレーヤーIDを使用して、クラウドゲーミングセッションをゲームサーバと連動して起動するステップとを含む。いくつかの実施態様では、第1電子機器および第2電子機器は、互いに近接する。いくつかの実施態様では、第1電子機器および第2電子機器は、通信可能に接続される。いくつかの実施態様では、第1電子機器および第2電子機器は、共通ネットワーク(たとえば、有線またはWifi)上にある。いくつかの実施態様では、第2電子機器は、電源がオンになり、第1の(たとえば、デフォルトの)電子機器と自動的にペアリングしたあと、Wifiネットワークに自動的に接続する。いくつかの実施態様では、ゲームコントローラは、デフォルトゲーマー(たとえば、ユーザ)IDを格納する。
別の態様では、いくつかの実施態様は、1つ以上のプロセッサと、当該1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを有する、表示装置(たとえば、テレビ)に連結または一体化された第1電子機器(たとえば、インターフェース装置)において実行されるクラウドゲームのための方法を含む。この方法は、(1)受信クラウドゲーミングセッションを起動するための第1のユーザ入力(たとえば、ユーザは、ゲームコントローラ上のボタンを選択する)を第2電子機器(たとえば、ゲームコントローラ)から受信するステップを含み、第1のユーザ入力は、ゲームの選択を含み、ゲーム方法は、さらに、受信した入力に応答して、(2)ゲームサーバ上のゲームサービスに接続するステップと、(3)複数のプレーヤーID(たとえば、ユーザ/ゲーマー名および/またはプレーヤーを表すアバター)を含んだログイン画面を表示装置上にユーザの介入なしで自動的に表示するステップと、(4)複数のプレーヤーIDのうちの第1のプレーヤーIDの選択を第2電子機器から受け付けるステップと、(5)選択された第1のプレーヤーIDを使用してゲームサービスにログオンするステップと、(6)クラウドゲーミングセッションをゲームサーバと連動して起動し、ゲームプレーを開始するステッ
プとを含み、クラウドゲーミングセッションをゲームサーバと連動して起動し、ゲームプレーを開始するステップは、(6A)ゲームサーバからゲームのゲームメディアストリームを取得するステップと、(6B)ゲームサーバからゲームのゲームメディアストリームを取得するステップと、(6C)デコードされたゲームメディアストリームを表示装置に出力するステップとを含み、ゲームメディアストリームは、第2電子機器からゲームサーバに直接送信されるゲーム入力に応答して、ゲームサーバによって生成される。いくつかの実施態様では、第1電子機器および第2電子機器は、共通ネットワーク上にある。いくつかの実施態様では、第1電子機器および第2電子機器は、互いにに近接する。いくつかの実施態様では、方法は、選択された第1のプレーヤーIDを使ってゲームサービスにログオンする前に、ユーザに(たとえば、音声入力を使って、またはパスワードを入力して)IDを検証するよう要求するセキュリティモードを含む。いくつかの実施態様では、この方法は、少なくとも1つのプレーヤーIDを各々が格納する複数の第2電子機器を含む。
さらに別の態様では、いくつかの実施態様は、1つ以上のプロセッサと、当該1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを有する第2電子機器(たとえば、ゲームコントローラ)において実行されるクラウドゲームのための方法を含む。この方法は、(1)ゲーミングセッションを起動するための第1入力を複数の第1電子機器(たとえば、インターフェース装置)に送るステップを含み、第2電子機器は、第1電子機器の各々に通信可能に接続され、第1電子機器の各々は、各表示装置に連結または一体化され、方法は、さらに、第1入力に応答して、(2)第1電子機器のうちの第1の第1電子機器に、複数のプレーヤーIDを含むログイン画面を、ユーザの介入なしで自動的に第1の表示装置上に表示させるステップと、(3)第1電子機器のうちの第2の第1電子機器に、命令を含んだ通知を、ユーザの介入なしで自動的に第2の表示装置上に表示させるステップと、(4)第1電子機器のうちの第1の第1電子機器に第2入力を送るステップとを含み、第2入力は、複数のプレーヤーIDのうちの第1のプレーヤーIDの選択を含み、方法は、さらに、第2入力に応答して、(5)第1電子機器のうちの第1の第1電子機器上でゲーミングセッションを起動するステップを含む。いくつかの実施態様では、第1電子機器のうちの第1の第1電子機器および第2機器は、同じ敷地内のことなるエリアに位置する(たとえば、住居環境の居間と寝室)。いくつかの実施態様では、第2電子機器のうちの第1の第2電子機器は、デフォルトの第2電子機器である。いくつかの実施態様では、第2電子機器のうちの第1の第2電子機器は、直近に使われたデバイスである。いくつかの実施態様では、第1電子機器の各々、および第2電子機器は、共通ネットワーク上にある。
さらに別の態様では、いくつかの実施態様は、1つ以上のプロセッサと、当該1つ以上のプロセッサに連結されたメモリとを備えるコンピューティングシステムを備え、メモリは、1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを格納し、1つ以上のプログラムは、本明細書に記載の方法を実行するための命令を含む。
さらに別の態様では、いくつかの実施態様は、コンピューティングシステムの1つ以上のプロセッサによって実行される1つ以上のプログラムを格納する非一時的なコンピュータ読み取り可能な記憶媒体を含み、1つ以上のプログラムは、本明細書に記載の方法を実行するための命令を含む。
その他の実施の形態および利点は、本明細書の説明および図面に照らして、当業者には明らかであろう。
記載の様々な実施態様をより理解するために、下記の図面と連動して以下の実施態様の説明を参照する。図面全体を通して、同様の参照番号は、対応する部分を指す。
いくつかの実施態様に係る、例示的なゲーム環境である。 いくつかの実施態様に係る、別の例示的なゲーム環境である。 いくつかの実施態様に係る、さらに別の例示的なゲーム環境である。 いくつかの実施態様に係る、さらに別の例示的なゲーム環境である。 ゲームポータルユーザインターフェース(UI:User Interface)を起動するための例示的な動作シーケンスを示す図である。 ゲームセッションを起動するための例示的な動作シーケンスを示す図である。 いくつかの実施態様に係る、代表的なゲームコントローラを示すブロック図である。 いくつかの実施態様に係る、代表的なインターフェース装置を示すブロック図である。 いくつかの実施態様に係る、代表的なサーバシステムを示すブロック図である。 いくつかの実施態様に係る、図3のゲームコントローラをセットアップして準備するための例示的な処理を示す図である。 いくつかの実施態様に係る、図3のゲームコントローラをセットアップして準備するための例示的な処理を示す図である。 いくつかの実施態様に係る、図3のゲームコントローラをセットアップして準備するための例示的な処理を示す図である。 いくつかの実施態様に係る、ゲームコントローラとインターフェース装置とのやり取りの例を示す図である。 いくつかの実施態様に係る、ゲームコントローラとインターフェース装置とのやり取りの例を示す図である。 いくつかの実施態様に係る、ゲームコントローラとインターフェース装置とのやり取りの例を示す図である。 いくつかの実施態様に係る、ゲームコントローラとインターフェース装置とのやり取りの別の例を示す図である。 いくつかの実施態様に係る、ゲームコントローラとインターフェース装置とのやり取りの別の例を示す図である。 いくつかの実施態様に係る、2つのゲームコントローラとインターフェース装置とのやり取りの例を示す図である。 いくつかの実施態様に係る、2つのゲームコントローラとインターフェース装置とのやり取りの例を示す図である。 いくつかの実施態様に係る、2つのゲームコントローラとインターフェース装置とのやり取りの例を示す図である。 いくつかの実施態様に係る、2つのゲームコントローラとインターフェース装置とのやり取りの例を示す図である。 いくつかの実施態様に係る、2つのゲームコントローラとインターフェース装置とのやり取りの例を示す図である。 いくつかの実施態様に係る、2つのゲームコントローラとインターフェース装置とのやり取りの例を示す図である。 いくつかの実施態様に係る、ゲームコントローラ102と2つのインターフェース装置とのやり取りの例を示す図である。 いくつかの実施態様に係る、ゲームコントローラ102と2つのインターフェース装置とのやり取りの例を示す図である。 いくつかの実施態様に係る、ゲームコントローラ102と2つのインターフェース装置とのやり取りの別の例を示す図である。 いくつかの実施態様に係る、ゲームコントローラ102と2つのインターフェース装置とのやり取りの別の例を示す図である。 いくつかの実施態様に係る、ゲームコントローラ102と2つのインターフェース装置とのやり取りの別の例を示す図である。 いくつかの実施態様に係る、ゲームコントローラ102と2つのインターフェース装置とのやり取りの別の例を示す図である。 いくつかの実施態様に係る、クラウドゲームのための方法のフローチャート表現である。 いくつかの実施態様に係る、クラウドゲームのための方法のフローチャート表現である。 いくつかの実施態様に係る、クラウドゲームのための方法のフローチャート表現である。 いくつかの実施態様に係る、クラウドゲームのための方法の別のフローチャート表現である。 いくつかの実施態様に係る、クラウドゲームのための方法の別のフローチャート表現である。 いくつかの実施態様に係る、クラウドゲームのための方法の別のフローチャート表現である。 いくつかの実施態様に係る、クラウドゲームのための方法の別のフローチャート表現である。 いくつかの実施態様に係る、クラウドゲームのための方法の別のフローチャート表現である。 いくつかの実施態様に係る、クラウドゲームのための方法のさらに別のフローチャート表現である。 いくつかの実施態様に係る、クラウドゲームのための方法のさらに別のフローチャート表現である。
複数の図面全体を通して、同じ参照番号は、対応する部品を指す。
実施態様の説明
ここで、実施態様を詳細に説明し、その例を添付の図面に示す。以下の詳細な説明において、記載の様々な実施態様の十分な理解のため、多くの具体的な詳細を説明する。しかしながら、これらの具体的な詳細がなくても、記載の様々な実施態様を実施できることは、当業者であれば分かるであろう。その他の場合、周知の方法、プロシージャ、構成要素、およびネットワークについては、実施態様の態様を不必要に曖昧にしないよう、詳細に説明していない。
GoogleのCHROMECASTデバイスなど、ディスプレイインターフェース装置(ここでは、「インターフェース装置」、「ストリーミングデバイス」、または「キャスティングデバイス」と称する)を使って、連結されたディスプレイにローカルまたは遠隔のメディアソース(インターネットに接続されたメディアサービスまたはローカルなDVR(Digital Video Recorder)など)からメディアコンテンツをストリーム配信することができる。インターフェース装置は、連結されたディスプレイ上に、インターフェース装置に通信可能に連結されたユーザデバイス上で実行中のアプリケーションからキャストされたユーザインターフェースを表示することができる(たとえば、モバイル機器のユーザは、モバイル機器上で再生中のYOUTUBE(登録商標)映像を、連結されたCHROMECASTデバイスを介して大画面表示にキャストできる、または、ラップトップユーザは、大画面表示にCHROMECASTデバイスを介してCHROMEブラウザウィンドウをキャストできる)。これらのインターフェース装置の機能は、ゲームサーバからクラウドゲームのコンテンツを配信するよう、さらに拡張できる
。さらに、インターフェース装置は、ユーザ認証情報およびネットワーク認証情報を格納したクラウド対応のゲームコントローラと組み合わせて、効率のよい持ち運び可能なゲーム体験を作り出すことができる。
たとえば、ジュリアの自宅には、それぞれ居間のテレビと寝室のテレビに連結された2つのインターフェース装置がある。ジュリアは、クラウド対応のゲームコントローラを使って、居間のテレビでお気に入りのオンラインゲームをする。ゲーミングセッション中、母親の友人が訪ねてきて、母親と友人は、フットボールの試合を居間のテレビで観戦したいと考えている。ジュリアは、ゲームセッションを一旦停止させて、ゲームコントローラを寝室に持って行く。寝室にあるインターフェース装置が、(たとえば、オーディオおよび/またはその他のキューを使って)ジュリアおよびゲームコントローラの存在を寝室で検出し、寝室のテレビに切り替える。寝室のテレビでは、ジュリアが放置した一旦停止された状態のゲームを表示している画面が表示される。ジュリアは、画面の一旦停止を解除して、ゲームセッションを再開する。ジュリアは、ゲームコントローラを持って友人のブランドンを訪ねる。ブランドンの家では、ブランドンが自宅のWifiへの認証情報をジュリアに与える。ジュリアは、ゲームコントローラをブランドンのネットワークに接続して、ゲームコントローラをブランドンのインターフェース装置とペアリングする。ブランドンがジュリアのゲームセッションに参加して、2人はそれぞれのゲームコントローラを使ってゲームで遊ぶ。ジュリアが次回ブランドンを訪ねたとき、彼女のゲームコントローラは、ブランドンのネットワークに自動的に接続する。
図1Aは、いくつかの実施態様に係る、例示的なゲーム環境100である。ゲーム環境100は、ゲームコントローラ102と、1つ以上の電子機器104と、表示装置108に連結されたインターフェース装置106とをローカルネットワーク110上に備える。いくつかの実施態様では、ローカルネットワーク110は、有線(たとえば、Ethernet(登録商標))および/またはワイヤレス(たとえば、Wi-Fi)通信を使って1つ以上のデバイスとネットワーク接続する。たとえば、ローカルネットワーク110は、1つ以上のデバイスをローカルネットワーク110にネットワーク接続するルータ装置を含む。ローカルネットワーク110は、通信ネットワーク112(たとえば、ワイドエリアネットワーク、インターネット)に通信可能に連結されている。
ゲームコントローラ102とインターフェース装置106とは、通信可能に連結されている。ゲームコントローラ102とインターフェース装置106は、ローカルネットワーク110を通しておよび/または直接(たとえば、Bluetooth(登録商標)またはその他のワイヤレス通信を介して)互いに通信を行ってもよい。いくつかの実施態様では、ゲームコントローラ102とインターフェース装置106とは、互いにローカルである(たとえば、同じ部屋にある、同じ家にあるなど)。インターフェース装置106は、ビジュアルコンテンツおよび/または音声コンテンツを出力できる1つ以上の表示装置108に連結されている(たとえば、表示装置108は、テレビ、ディスプレイモニタ、タブレット端末、表示画面付きのコンピュータ/ラップトップ、音響システム、スピーカーなどを含む)。インターフェース装置106は、表示装置(複数可)108にコンテンツを出力するように構成される。
ゲームコントローラ102は、1つ以上のアプリケーションを含み、これらを実行できる。いくつかの実施態様では、ゲームコントローラ102は、インターフェース装置106と連動して動作するように構成される1つ以上のアプリケーションを含む。いくつかの実施態様では、アプリケーションは、インターフェース装置アプリケーションと、ゲームアプリケーションとを含む。インターフェース装置アプリケーションは、ゲームコントローラ102をインターフェース装置106とペアリングするため、およびインターフェース装置106を構成するために使われる。
いくつかの実施態様では、アプリケーションは、クラウドゲームのために使われるゲームアプリケーションを含む。ゲームアプリケーションは、メッセージ(たとえば、ゲームセットアップコマンド)をゲームコントローラ102からインターフェース装置106に送信するために、およびゲーミングセッション中にゲーム入力(たとえば、ゲームプレーコマンド)をゲームコントローラ102からゲームサーバ(たとえば、サーバシステム114)に送信するために使われる。いくつかの実施態様では、セットアップコマンドおよびゲームプレーコマンドは、ゲームコントローラ102のボタン、十字キー(複数可)、および/またはジョイスティック(複数可)の組合せを使って、インターフェース装置106のゲームアプリケーション、および/または、サーバシステム114に送信される。いくつかの実施態様では、セットアップコマンドおよびゲームプレーコマンドは、ゲームコントローラ102のユーザ(「ゲーマー」としても知られる)によって発行されてインターフェース装置106および/またはサーバシステム114に送信される音声コマンドである。
いくつかの実施態様では、ユーザは、ゲームコントローラ102上のボタン(たとえば、「スタート」または「ホーム」ボタン)を押下することによってゲームを開始できる。これにより、インターフェース装置106に信号が送られて、表示装置108上に表示されたゲームポータルユーザインターフェース(UI:User Interface)が起動する。次に、ユーザは、ゲームポータルUI上でゲームを選択して、(たとえば、別のボタンを押下することによって)ゲームの起動を開始できる。ゲームポータルUIを起動する処理およびゲーミングセッションを開始する処理については、図2でさらに詳細を説明する。
ゲーム環境100は、1つ以上の電子機器104(たとえば、104-1および/または104-2)を含む。電子機器104とインターフェース装置106は、通信可能に連結されている。電子機器104とインターフェース装置106は、ローカルネットワーク110を通して、および/または直接(たとえば、Bluetoothまたはその他のワイヤレス通信を介して)通信を行ってもよい。いくつかの実施態様では、電子機器104とインターフェース装置106とは、互いにローカルである(たとえば、同じ部屋にある、同じ家にあるなど)。
電子機器104は、1つ以上のアプリケーションを含み、これらを実行することができるデバイスである。いくつかの実施態様では、電子機器104は、スマートフォン、タブレットデバイス、ラップトップもしくはネットブックコンピュータ、デスクトップコンピュータ、またはマルチメディアデバイスである。
いくつかの実施態様では、電子機器104は、インターフェース装置106と連動して動作するように構成される1つ以上のアプリケーションを含む。いくつかの実施態様では、アプリケーションは、電子機器104をインターフェース装置106とペアリングするため、およびインターフェース装置106を構成するためのインターフェース装置アプリケーション(たとえば、インターフェース装置アプリケーション344、図3)を含む。また、アプリケーションは、関連するコンテンツをインターフェース装置106にキャストできる1つ以上のアプリケーションを含む。いくつかの実施態様では、アプリケーションは、データ/コンテンツをインターフェース装置106に直接送ることによって(たとえば、ローカルネットワーク110を介して)および/またはインターフェース装置106がデータ/コンテンツをストリーム配信または受信し得る遠隔地(たとえば、サーバシステムにおける場所へのUniversal Resource Locator(「URL」)またはその他のリンク)にインターフェース装置106を誘導することによってデータおよび/またはコンテンツをインターフェース装置106にキャストする。インタ
ーフェース装置106は、アプリケーションおよび/または遠隔地からデータ/コンテンツを受信し、受信したデータ/コンテンツに対応するビジュアルコンテンツおよび/または音声コンテンツを表示装置108に出力する。
いくつかの実施態様では、アプリケーションは、メッセージ(たとえば、ゲームセットアップコマンド)をインターフェース装置106に送信するための、およびゲーミングセッション中にゲーム入力(たとえば、ゲームプレーコマンド)を電子機器104からゲームサーバ(たとえば、サーバシステム114)に送信するためのゲームアプリケーション(たとえば、ゲームアプリケーション346、図3)を含む。いくつかの実施態様では、電子機器104と一体化された入力装置(たとえば、ラップトップコンピュータ104-2のキーボードおよび/またはマウス)を使って、セットアップコマンドおよびゲームプレーコマンドがインターフェース装置106および/またはサーバシステム114に送られる。
いくつかの実施態様では、アプリケーションは、1つ以上の標準化されたゲームコントローラ構成またはテンプレートなどを電子機器104上で実装するためのコントローラアプリケーションをさらに含む。標準化されたコントローラ構成の各々は、電子機器104上の入力装置および/またはセンサーをなんらかの方法で構成して仮想コントローラを実装する。使用される標準化されたコントローラ構成は、ゲームによって、および/または電子機器104の種類によって異なり得る。たとえば、電子機器104がタッチスクリーン付きモバイル機器(たとえば、104-1)である場合、タッチスクリーン上に表示されたタッチスクリーンを利用する仮想コントローラパッドを実装する標準化されたコントローラ構成が使われる。仮想コントローラパッドは、仮想ボタン、仮想十字キー、および/または仮想ジョイスティックを含んでもよい。別の例として、電子機器104が物理キーボード付きのラップトップまたはデスクトップコンピュータ(たとえば、104-2)である場合、物理キーボードのキーをコントローラの機能にマッピングする標準化されたコントローラ構成が使われてもよい。別の例として、センサー(たとえば、加速度計)を含む電子機器104上で、電子機器104の動きを入力として使うゲームのために、電子機器104を、タッチスクリーン上に表示された1つ以上の仮想ボタンを必要に応じて有するモーションコントローラに変える標準化されたコントローラ構成が使われる。
インターフェース装置106は、ゲームコントローラ102および/または電子機器104、ならびに表示装置108に通信可能に接続する。インターフェース装置106は、1つ以上のアプリケーションを含み、これらを実行することができる。いくつかの実施態様では、インターフェース装置106は、ゲームコントローラ102および/または電子機器104と連動して動作するように構成される1つ以上のアプリケーションを含む。
いくつかの実施態様では、1つ以上のアプリケーションは、ゲームコントローラ102および/または電子機器104からメッセージ(たとえば、セットアップコマンド)を受信して処理し、コマンドに関連する出力を表示装置108上に表示するためのゲームアプリケーションを含む。いくつかの実施態様では、ゲームアプリケーションは、さらに、ゲームサーバ(たとえば、サーバシステム114)が送信するゲームメディアストリームをリアルタイムで受信してデコードし、表示装置108に出力する。図4で後述するが、いくつかの実施態様では、インターフェース装置106は、セットアップコマンドおよびゲームメディアストリームを処理するための1つ以上のモジュール含む。
いくつかの実施態様では、インターフェース装置106は、キャスティングデバイス(たとえば、Google Inc.によるCHROMECAST)、ハードウェアドングル、ストリーミングデバイス、またはストリーム配信および/またはキャスト機能を含むデバイスである。
いくつかの実施態様では、インターフェース装置106の出力部は、表示装置108の入力部(たとえば、HDMI(登録商標)ポート、USBポートなど)に接続される。
ゲーム環境100では、ゲームコントローラ102、インターフェース装置106、および電子機器104は、通信ネットワーク(複数可)112を経由してサーバシステム114と認証システム125とに通信可能に連結される。いくつかの実施態様では、デバイスのうちの少なくともいくつか(たとえば、ゲームコントローラ102、電子機器104、インターフェース装置106、および表示装置108)は、ローカルネットワーク110に通信可能に連結され、ローカルネットワーク110は、通信ネットワーク(複数可)112に通信可能に連結される。いくつかの実施態様では、デバイス(たとえば、ゲームコントローラ102、電子機器104、インターフェース装置106、および表示装置108)は、(たとえば、ローカルネットワーク110または通信ネットワーク(複数可)112を経由せずに)互いに通信可能に連結される。いくつかの実施態様では、認証システム125は、サーバシステム114の一部である。
いくつかの実施態様では、インターフェース装置106の機能は、表示装置108と組み合わされる(すなわち、搭載または内蔵される)(図1Dも参照)。たとえば、いくつかの実施態様によると、表示装置108は、ゲームアプリケーションを含む1つ以上のアプリケーションをホストする処理モジュールを有するテレビディスプレイまたはコンピュータモニタである。別の例では、ディスプレイ108は、ゲームアプリケーションを含む1つ以上のアプリケーションをプロセッサがホストする、ラップトップまたはタブレット端末など、一体型ディスプレイを有するコンピューティングデバイスに対応付けられる。いくつかの実施態様では、表示装置108は、オンラインゲームを利用可能にする機能を含む1つ以上の機能をホストする。いくつかの実施態様では、インターフェース装置106の機能は、ゲームコントローラ102と表示装置108との間で分けられる(たとえば、分割される)。
いくつかの実施態様では、サーバシステム114は、インタラクティブなクラウドゲームプラットフォームであって、ゲームコンテンツおよび処理能力を提供する。いくつかの実施態様では、サーバシステム114は、いつでも、何十万ものユーザ(「ゲーマー」)に対応する。
サーバシステム114は、オンラインのインタラクティブゲームプラットフォームをホストし、クライアントデバイス(本明細書では、ゲームコントローラ102、電子機器104、およびインターフェース装置106は、まとめてサーバシステム114の「クライアントデバイス」と称する)が1つ以上のゲームアプリケーションをプレイすることをサポートする。具体的には、サーバシステム114は、クライアントデバイスに対応付けられた複数のユーザアカウントを含み、1つ以上のゲームアプリケーションに関連してクライアントデバイスのユーザを認証する。サーバシステム114は、クライアントデバイス102上のオンラインのインタラクティブゲームのシーンを描画したり、リフレッシュしたりする。クライアントデバイス102は、当該シーンに関連する対応するゲーミングセッションに参加する。いくつかの実施態様では、サーバシステム114は、クライアントデバイスの能力および/またはサーバシステム114とクライアントデバイスの各々との通信接続の質を評価してもよく、クライアントデバイス関連するゲーミングセッションの同期データストリームを適応的に生成する。これらの手段によって、サーバシステム114は、実質的に低レイテンシで、同時に2つ以上のクライアントデバイス上のオンラインのインタラクティブゲームの同期ゲーミングセッションを容易にするように構成される。
いくつかの実施態様では、サーバシステム114は、通信ネットワーク(複数可)11
2を介してゲームコントローラ102、インターフェース装置106、および電子機器104と直接インターフェース接続するフロントエンド116を含む。フロントエンド116は、要求(たとえば、ゲーミングセッションを開始する要求)を受け付け、この要求に応答して情報を送信する(たとえば、ゲームコンテンツを送る)。いくつかの実施態様では、フロントエンド116は、クライアントデバイスにデータ(たとえば、データベース更新)を送るように構成される。
いくつかの実施態様では、フロントエンド116は、受信した要求のサブセットをバックエンドリソース124に転送する。バックエンドリソース124は、要求データを取得する、および/または要求サービスを実行する。いくつかの実施態様では、バックエンドリソース124は、要求に従って、データ(たとえば、ゲーム状態データ)を格納および/またはアクセスしてもよい。
サーバシステム114は、メディアストリーミングサーバ120と直接通信を行うゲームサーバ118を含む。ゲームサーバ118は、ゲームコンテンツと、シームレスなゲームプレーを可能にするその他の機能(たとえば、処理能力)とを提供する。
いくつかの実施態様では、ゲームサーバ118は、クラウドゲームのハードウェアリソース(たとえば、GPUおよびエンコーダーリソース)を動的に割り当てて、最適なクラウドゲーム体験を提供する、個々のエンドユーザが利用可能なネットワーク帯域幅を監視および利用する。いくつかの実施態様では、ゲームサーバ118は、高解像度の映像/メディアストリームで高パフォーマンスかつリアルタイムのゲーミングセッションをサポートする層を含む、複数のパフォーマンス層を提供する。
いくつかの実施態様では、オンラインゲーミングセッションをプレイするユーザからのユーザコマンドに応答して、ゲームサーバ118は、動的に複数のフレームを生成する。ユーザコマンドの種類(たとえば、ジャンプする、銃を撃つ)に従って、ゲームサーバ118は、予想される応答レイテンシ(待ち時間)、実際の通信レイテンシおよび処理レイテンシ、ならびに実際の伝送レイテンシを判断する。フレームの数は、実際の伝送レイテンシおよび予め定義されたフレームレートに基づいて算出される。その結果、コマンドは、オンラインゲーミングセッションにおいて、コマンドの影響を反映したフレームセットを生成することによって実行される。予め定義されたフレームレートで送信されたときのフレームセットは、実際の伝送レイテンシに対応する伝送時間が掛かり、予想される応答レイテンシに対応する時間内にクライアントデバイス(たとえば、インターフェース装置106)において受信され得る。
いくつかの実施態様によると、ゲームサーバ118は、ゲームプレーの入力に応答して、ゲームプレー出力を描画する。いくつかの実施態様では、ゲームプレー中にユーザが感じる待ち時間を最小限に抑えるために、ゲームコントローラ102および電子機器104は、各々ゲームサーバ118と直接通信を行う。たとえば、ゲームサーバ118は、ゲームコントローラ102からゲームプレーコマンドを直接受信し、受信したコマンドに従ってゲームのコンテンツの各フレームを描画する。ゲームサーバ118は、描画されたフレームについての情報をメディアストリーミングサーバ120に送る。そして、メディアストリーミングサーバ120は、それぞれの描画されたフレームを含むゲームメディアストリームを、表示装置上で表示するためにインターフェース装置106にリアルタイムで送信する。
いくつかの実施態様では、ゲームサーバ118は、異なるサブスクリプションモデルをサポートする、ならびに/または、待ち時間がほとんどあるいは全くなしで1つ以上の実際のゲームストリームに対応する1つ以上の同時のリアルタイムゲームプレーおよび/も
しくはレビューメディアストリーム(たとえば、携帯アプリまたはブラウザベースのプログラムを介してオンライン/クラウドゲーミングセッションに参加しているユーザのクライアントデバイスに出力されるビデオストリーム)を提供するように構成される。いくつかの実施態様によると、ゲームサーバ118は、ゲームプレーの同期メディアストリームおよびレビュー映像を生成するように構成され、メディアストリーミングサーバ120には、同時ゲームプレーのレビュー映像が提供される。このようなレビュー映像は、YouTube(登録商標)などのメディアストリーミングサイトを介して、待ち時間がほとんどあるいは全くなしで1つ以上のユーザに提供される。いくつかの実施態様では、メディアストリーミングサーバ120は、さらに、1つ以上のメディアストリーミングサイトを管理する。
いくつかの実施態様では、サーバシステム114は、定期的にインターフェース装置106と通信を行い、プレーヤーがまだオンラインであるかどうかをチェックする。いくつかの実施態様では、ゲームサーバが(たとえば、インターフェース装置106および/またはゲームコントローラ102から)応答を受信しない場合、サーバシステム114は、プレーヤーに対応付けられたゲームキャラクターをスタンバイモードに設定するまたはこのキャラクターのゲームへの「接続を切る(kick)」コマンドを発行する。
いくつかの実施態様では、サーバシステム114は、ユーザおよびセッションデータを格納するためのデータベース122を含む。データベース122は、少なくとも、サーバシステム114上でホストされる1つ以上のゲームアプリケーションの各々(たとえば、ゲームアプリケーション348、図3)のユーザアカウントに関連するユーザ情報を格納する。ユーザ情報126として、ユーザアカウント情報(たとえば、ID(identification)およびパスワード)、会員種別、基本設定、活動履歴などが挙げられるが、これらに限定されない。いくつかの実施態様では、サーバシステム114は、ゲームコントローラ102を使用してプレイされたオンラインゲーミングセッションに関連するセッションデータを格納する。オンラインゲーミングセッションごとのセッションデータとして、フレームレート、描画仕様、通常のレイテンシ要件、GPU割り当て情報、エンコーダー割り当て情報、関連セッションのID、および最新のステータス情報などが挙げられるが、これらに限定されない。セッションデータは、ユーザ情報よりも頻繁にアクセスされる。いくつかの実施態様では、ユーザ情報およびセッションデータを格納するメモリは、それぞれ、フラッシュメモリおよびランダムアクセスメモリ(RAM)製である。
いくつかの実施態様では、サーバシステム114は、ゲームアプリケーションに関連するライブオンラインコミュニティをサポートする。ユーザ(たとえば、サービスの加入者)は、対応するゲームAPIプラットフォーム上のライブイベント、トーナメント、またはアクティビティに1日中に参加する。ライブイベント、トーナメント、またはアクティビティとして、他のユーザがプレイするライブゲーミングセッションを観覧すること、パブリックドメイン(たとえば、YouTube)に自身の成績を投稿すること、ライブチップおよび指導映像を得ることなどが挙げられる。たとえば、ユーザアクションに応答して、ゲームサーバ118は、2つ以上のライブストリームを提供する。ゲームプレイヤーの第1クライアントデバイスの第1のゲーミングセッション上の第1のゲームストリームを維持したまま、サーバシステム114は、(たとえば、加入者の)1つ以上のその他のクライアントデバイスに第2のライブレビューストリーム(たとえば、YOUTUBEストリーム)を同報通信する。第2のライブレビューストリームによって、ユーザは、閲覧者とゲーム体験を共有できるようになる。任意で、第2ライブストリームは、プレーヤーの第1クライアントデバイス(たとえば、表示装置108)の画面の再生である。サーバシステム114は、プレーヤーが第1のゲーミングセッションを解説するオーディオストリーム、または、プレーヤーが第1のゲーミングセッションをプレイおよび解説するビデ
オストリームを取得してもよい。オーディオストリームは、任意で、閲覧者用に第2のライブレビューストリームを再生しながら、閲覧者用に再生される。ビデオストリームは、任意で、第2のライブレビューストリームの埋め込みウィンドウで再生される。
ゲーム環境100は、認証サービス126と認証ストレージ128とを備える認証システム125をさらに含む。認証サービス126は、プロキシとして動作し、当事者および第三者の認証に関連する動作を処理するスタンドアロンサービスである。認証ストレージ128は、すべてのゲームコントローラ102のデバイスID、およびすべてのゲームコントローラ102の各々に対応付けられたリンクユーザについての情報を格納する。
いくつかの実施態様によると、ゲームコントローラ102は、(たとえば、一意の)デバイスID、およびクライアント証明書によって識別される。クライアント証明書は、ゲームコントローラによって、リモートサーバ(たとえば、サーバシステム114および/または認証システム125)に認証済みの要求を行うために使われる。さらには、いくつかの実施態様では、ゲームコントローラ102は、ゲームコントローラ102のすべてのユーザの認証情報を格納する。例として、ゲームコントローラ102は、ゲーム用に世帯の様々な構成員によって使われている可能性がある。したがって、ゲームコントローラ102は、ゲームコントローラ102を利用する世帯の構成員ごとに認証情報(たとえば、ユーザ名、ログイン認証情報、パスワード、認証チャレンジ/レスポンス)を格納する。このように、ゲームコントローラ102を、そのデバイスID、クライアント証明書、ユーザおよびユーザの認証情報にリンクさせる(対応付ける)ことができる。いくつかの実施態様では、ゲーミングセッションを開始する要求に応答して、ゲームコントローラは、デバイスIDについての情報、クライアント証明書、および/またはユーザ認証情報を、認証ストレージ128に格納された情報に対して認証サービス126によって検証するために送る。
いくつかの実施態様では、ゲーミングセッションをリンクする処理の一部として、サーバシステム114は、サーバ114システムと各クライアントデバイスとの間の通信接続の質にアクセスする。
いくつかの実施態様では、サーバシステム114は、クライアントデバイスとサーバシステム114との間のネットワークレイテンシを測定する。測定されたレイテンシが閾値を上回り、かつ低レイテンシ接続が利用可能である場合、サーバ114は、プレーヤークライアント104に低レイテンシ接続に変更するよう提案する、またはプレーヤークライアント104を低レイテンシ接続に変更するよう、プレーヤークライアント104のプレーヤーユーザに勧めることができる。たとえば、クライアントデバイスがセルラーワイヤレス接続(図示せず)上の電子機器104(たとえば、携帯電話)であり、かつローカルネットワーク110が利用可能である場合、サーバシステム114は、ローカルネットワーク110を経由して電子機器104を接続するよう提案できる。いくつかの実施態様では、レイテンシ閾値要件は、ゲーム間で異なる。たとえば、低レイテンシ接続で最高の体験ができるゲーム(たとえば、アクションゲーム)もあれば、レイテンシについてあまり要求しないゲーム(たとえば、オンラインのボードゲームまたはカードゲーム)もあり、サーバシステム114は、これらの異なる要件に鑑みて接続の推奨を行ってもよい。
いくつかの実施態様では、電子機器104がゲーミングセッションを開始する一部として、サーバシステム114が電子機器104と通信を行って電子機器104上で仮想コントローラを(たとえば、コントローラアプリケーションを利用して)セットアップする。いくつかの実施態様では、これには、電子機器104が仮想コントローラを実装するために必要なアプリケーションを有しているかどうか、および/または電子機器104とサーバ114との間の通信接続のレイテンシがゲームセッションに適切であるかどうかを(た
とえば、上述した能力/接続品質評価の一部として)含む、電子機器104がコントローラに必要なリソースを有しているかどうかをサーバシステム114が評価することが含まれる。電子機器104において利用可能なリソース、接続品質、およびゲームの要件によっては、コントローラの実装は、電子機器104において異なってもよい。
図1Bは、いくつかの実施態様に係る、別の例示的なゲーム環境130を示す図である。多くの態様において、ゲーム環境130は、ゲーム環境100と同様である。ゲーム環境130とゲーム環境100との主な違いは、ゲーム環境130がゲームコントローラ102と、表示装置108-1および108-2にそれぞれ連結された2つのインターフェース装置106-1および106-2とを備える点である。ゲームコントローラ102は、インターフェース装置106-1および106-2の各々と通信可能に連結される(たとえば、ペアリングする)。
いくつかの実施態様では、ゲームコントローラ102、インターフェース装置106-1および106-2、ならびに表示装置108-1および108-2は、ローカルネットワーク110を含むローカル環境(たとえば、住居環境、寮、オフィス環境など)に存在する。いくつかの実施態様では、インターフェース装置106-1、インターフェース装置106-2は、ローカル環境の異なるエリア(たとえば、異なる部屋)に位置する。
本願のいくつかの実施態様によると、サーバシステム114は、たとえば、第1のインターフェース装置106-1上で実行される第1のゲーミングセッションの第1ゲームストリームの一旦停止/中断し、第2のインターフェース装置106-2上の第1ゲームストリームを再スタートして第1のゲーミングセッションを継続するなど、ゲームコントローラ102のユーザが動き回ることを可能にするクラウドの機能を有効にする。また、サーバシステム114は、大規模スケールで複数のプレーヤーをサポートし、より豊富かつより永続的なクラウドベースの世界を提供する。サーバシステム114は、クラウドベースのシステムを利用して、同じユーザの異なるゲーミングセッションに関係するセッションデータ、または異なるユーザの異なるゲーミングセッションをデータベース122に格納する。したがって、住居環境を背景としたこの例を適用することによって、ゲームコントローラ102のユーザは、(たとえば、寝室にある)第1のインターフェース装置106-1を用いてゲームプレーを開始し、ゲーミングセッションを一旦停止させ、第2のインターフェース装置106-2が設けられた場所に(たとえば、居間)にゲームコントローラ102を持って行って居間でゲームプレーを再開することができる。
いくつかの実施態様では、ゲームコントローラ102は、ペアリングしたインターフェース装置106-1および106-2の各々の識別子を格納する。いくつかの実施態様では、ゲームコントローラ102は、インターフェース装置106のうちの1つを、ゲームコントローラ102のデフォルトのペアリングデバイスとして設定する。
いくつかの実施態様では、ゲームコントローラ102と各々が通信可能に連結された3つ以上のインターフェース装置106を含むようにゲーム環境130を拡大させることができる。
いくつかの実施態様では、ゲーム環境130は、各々が通信可能にインターフェース装置106の各々に連結された2つ以上のゲームコントローラ102(たとえば、102-1および102-2)を含む。
図1Cは、いくつかの実施態様に係る、さらに別の例示的なゲーム環境160を示す図である。多くの態様において、ゲーム環境160は、ゲーム環境100および130と同様である。ゲーム環境160とゲーム環境100および130との主な違いは、ゲーム環
境160が、第2ローカルネットワーク140上の第1ゲームコントローラ102-1および第1のインターフェース装置106-3ならびに第2ローカルネットワーク140上の第2ゲームコントローラ102-2および第2のインターフェース装置106-4を含む、2つのゲームコントローラと2つのインターフェース装置とを備える点である。インターフェース装置106-3および106-4の各々は、ビジュアルコンテンツおよび/または音声コンテンツを出力するそれぞれの表示装置108-3および108-4に連結される。ゲームコントローラ102とインターフェース装置106とからなる3つ以上のセットのそれぞれを各ローカルネットワーク上に含むようにゲーム環境160を広げることができることは、当業者に明らかであろう。
ゲーム環境160では、ゲームコントローラ102-1(およびインターフェース装置106-3)は、ゲームコントローラ102-2から遠く離れたところにある。つまり、ゲームコントローラ102-1のユーザは、ゲームコントローラ102-1のユーザと同じエリア(たとえば、同じ部屋または建造物)には位置しない。
いくつかの実施態様では、ゲームコントローラ102のゲーミングセッションは、任意で、それぞれのユーザに対応する別個の視点で同じゲームシーンをプレイするように同期している。
いくつかの実施態様によると、ゲームコントローラ102-1(インターフェース装置106-1)とゲームコントローラ102-2 1(インターフェース装置106-2)とが互いに遠く離れていても、各ゲームコントローラ102(インターフェース装置106)でゲームアプリケーションを実行するために起動することによってゲームを開始してもよい。いくつかの実施態様では、ゲームコントローラ102(インターフェース装置106)の各々について、ゲームアプリケーションは、オンラインゲーミングセッションをサーバシステム114と独立して確立する。2つ以上のゲームコントローラ102(インターフェース装置106)のオンラインゲーミングセッションは、互いに関連しており(たとえば、ゲームアプリケーションの同じゲームドメインでプレイされるため)、そのため、ゲームアプリケーションでゲームシーンを共有する。関連するオンラインゲーミングセッションは、互いに同期されており、各オンラインゲーミングセッションは、任意で、それぞれのゲームコントローラ102(インターフェース装置106)に対応する一意のプレーヤー視点で同じゲームシーンを表示する。そのため、各ゲームコントローラ102(インターフェース装置106)のユーザは、それぞれのゲームコントローラ102(インターフェース装置106)上でゲームをプレイし、その他のゲームコントローラ(複数可)102(インターフェース装置(複数可)106)上でのオンラインゲーミングセッションからの出力に影響を与えることができる。
あるいは、いくつかのその他の実施態様では、第1ゲームコントローラ102-1のゲームアプリケーションがオンラインゲーミングセッションを確立した後、1つ以上の第2ゲームコントローラ102-2は、オンラインゲーミングセッションに参加するよう招待メッセージによって招待され、たとえば、オンラインゲーミングセッションに参加するためのリンク(たとえば、URLアドレス)付きのメッセージが第2のインターフェース装置106-2の各々に送られる。いくつかの実施態様によると、第2ゲームコントローラ102-2がゲーミングセッションに参加したとき、サーバシステム114は、個々の第2ゲームコントローラ102-2に対して別個のゲーミングセッションを作成する。それぞれの第2クライアントの第2ゲームコントローラ102-2の別個のゲーミングセッションは、第1第2ゲームコントローラ102-1のゲーミングセッションと同期されて同じシーンを共有するが、それぞれの第2クライアントの第2ゲームコントローラ102-2に対応する一意のプレーヤー視点であり得る。第2ゲームコントローラ102-2の各々がゲーミングセッションに参加(より正確には、その関連ゲーミングセッションを開始
)した後、ユーザは、それぞれの第2ゲームコントローラ102-2上でゲームをプレイし、その他のゲームコントローラ102上で実行中のゲーミングセッションの出力に影響を与えることができる。
図1Dは、いくつかの実施態様に係る、さらに別の例示的なゲーム環境180を示す図であり、インターフェース装置106-3を介して1つ以上のゲームコントローラ102-1が表示装置108-3に連結されており、インターフェース装置106を必要とせずに、1つ以上のゲームコントローラ102-3が表示装置108-5に直接またはローカルエリアネットワーク170を介して連結されている。いくつかの実施態様では、インターフェース装置の機能の少なくともサブセットが表示装置108-5に搭載されている(すなわち、内蔵されている)。たとえば、図1Dに示すように、表示装置108-5は、ゲームコントローラ102-3と直接やり取りし、通信ネットワーク(複数可)112を経由してサーバシステム114および認証システム125と直接やり取りするように構成される。いくつかの実施態様では、表示装置108は、1つ以上のアプリケーションをホストする処理モジュールを有するテレビディスプレイまたはコンピュータモニタであり、当該1つ以上のアプリケーションは、ゲームアプリケーションと、インターフェース装置106の機能の少なくともサブセットまたはスーパーセットを提供する1つ以上のアプリケーションとを含み、1つ以上のコントローラ102-3のユーザがオンラインゲーミングセッションに参加することを可能にする。別の例では、ディスプレイ108-5は、ゲームアプリケーションとインターフェース装置106の機能の少なくともサブセットまたはスーパーセットを提供する1つ以上のアプリケーションとを含む1つ以上のアプリケーションをプロセッサがホストする、ラップトップまたはタブレット端末など、一体型ディスプレイを有するコンピューティングデバイスと対応付けられる。
いくつかの実施態様では、表示装置108-5とゲームコントローラ102-3との間の通信は、ローカルネットワーク170を経由した通信である。いくつかの実施態様では、表示装置108-5とゲームコントローラ102-3とは、(たとえば、ローカルネットワークまたは通信ネットワーク(複数可)112を経由せずに)通信可能に互いに連結されている。たとえば、ゲームコントローラ102-3は、有線接続またはワイヤレス接続(たとえば、Bluetooth、セルラー、ダイレクトWiFi、またはIEEE802.15.4接続)を介して表示装置108-5と直接通信を行うことができる。いくつかの実施態様では、ローカルネットワーク140およびローカルネットワーク170は、同じローカルネットワークである。これにより、2人以上のプレーヤーが同じ場所(たとえば、家または公共の場所)からゲームサーバ114に接続して同じまたは異なるゲームタイトルをプレイできるようになり、インターフェース装置106-3の有無に関わらず、それぞれの出力が各表示装置108-3、108-5上に表示される。
処理の流れ
様々なゲーム環境を説明してきたが、ここで、様々な処理の流れを説明する。
本願のいくつかの実施態様によると、ゲームコントローラは、インターフェース装置106に通信可能に接続(たとえば、ペアリング)されて電源が入る。ユーザは、ゲームコントローラ102上のボタン(たとえば、「スタート」または「ホーム」ボタン)を押下することによってゲームを開始することができる。これにより、インターフェース装置106に信号が送られて、表示装置108上に表示されるゲームポータルユーザインターフェース(UI)を起動する。次に、ユーザは、ゲームポータルUI上でゲームを選択し、(たとえば、別のボタンを押下することによって)ゲームの起動を開始することができる。
図2Aは、ゲームポータルユーザインターフェース(UI)を起動する例示的な動作シ
ーケンス200を示す図である。いくつかの実施態様では、動作200に記載の要素およびステップは、図1に示す要素およびフローに関係する。その他の実施態様も可能である。
いくつかの実施態様では、ゲームポータルUIは、インターフェース装置106(たとえば、ゲームポータルUIモジュール437、図4)上でホストされており、インターフェース装置106上でゲームアプリケーションを開始する時に起動される。ゲームポータルUIは、ユーザのプロフィール、購入したゲーム、およびその他の権利、ゲームカタログ、友達、メッセージなどへのアクセスを可能にする。
図2Aによって示すように、ゲームユーザインターフェース(UI)ポータルの起動は、ゲームコントローラ102と、インターフェース装置106と、サーバシステム114と、認証システム125との間の通信を含む。シーケンス200(またはメッセージフロー)は、ゲーム環境(たとえば、ゲーム環境(複数可)100、130、および/または160)において実行されてもよい。この環境は、非同期型であり、ノンブロッキングである。
ユーザは、ゲームコントローラ102上のボタン(たとえば、「スタート」ボタンまたは「ホーム」ボタン)を押下してインターフェース装置106(図示せず)上のゲームアプリケーションを開始する。ゲームコントローラ102は、内部ストレージから取り出したデフォルトインターフェース装置の識別子を使用して「キャストセッション開始」要求をインターフェース装置106上のゲームアプリケーションに送る(202)。送信が成功した場合、ゲームコントローラ102とインターフェース装置106との間でキャスト(ゲームペアリング)セッションが確立されて、インターフェース装置106上でゲームアプリケーションが起動される。
いくつかの実施態様では、インターフェース装置106は、接続されている表示装置108(たとえば、オンまたはオフ)の状態を判断し、表示装置108がオフの場合、オンにしてみる。いくつかの実施態様では、インターフェース装置106は、表示装置108上でCEC(Consumer Electronics Control)が有効になったという判断に従って、表示装置108をオンにしてみる。
ゲームコントローラ102は、認証トークンをインターフェース装置106に送る(204)。いくつかの実施態様では、認証トークンは、自己完結型であり、当事者間で情報をセキュアに送信する。いくつかの実施態様では、インターフェース装置106とペアリングすると、ゲームコントローラ102は、トークン(たとえば、JSON Web token(JWT))を取り出す。ゲームコントローラ102は、トークンをパースし、署名されたJWT、クライアント証明書-中間証明書チェーンを抽出し、署名されたJWT、その有効期限、クライアント証明書-中間証明書チェーンをインターフェース装置106上のゲームアプリケーションに送る。
ユーザは、第2ボタン(同じボタンであってもよく、異なるボタンであってもよい)をゲームコントローラ102上で押下することによってゲームポータルUIを起動する(206)。ゲームポータルUIは、インターフェース装置106に起動コマンドを送信する。
インターフェース装置106は、起動コマンドを受信して認証システム125にユーザ検証を要求する(208)。
いくつかの実施態様によると、起動コマンドは、インターフェース装置106のゲーム
アプリケーション(たとえば、ゲームアプリケーション436、図4)によって受信され、インターフェース制御モジュール(たとえば、インターフェース制御モジュール438、図4)に渡される。インターフェース制御モジュールは、受信した認証トークンとともに要求を認証サービス126に送り(ステップ204)、ゲーム(すなわち、サーバ)リソースへのアクセスを要求する。認証システム125は、ゲームコントローラ102のIDと、それにリンクされたユーザとを検証する(たとえば、IDを認証ストレージ128に格納された情報と照合させることによって)。
検証が成功した場合、認証システム125は、リンクユーザのアクセストークン(たとえば、OAUTHトークン)を取り出す(210)。インターフェース装置106は、アクセストークンとその有効期限を提供するゲームポータルUIを起動する(212)。
インターフェース装置106は、ポータルのランディングページのユーザ固有のコンテンツ(たとえば、ユーザのアバター、購入したゲーム、友達、メッセージなど)をサーバシステム114のフロントエンド116に要求し(214)、表示装置108上に表示する最適化された画像をバックエンドリソース124に要求する(214)。いくつかの実施態様では、要求ステップ(ステップ216)は、ゲームポータルモジュール(たとえば、ゲームポータルモジュール437、図4)によって実行される。
インターフェース装置106は、要求されたコンテンツを受信し(216)、要求されたコンテンツを表示する(218)。
いくつかの実施態様では、ゲームポータルUIが初めて起動されたとき、または再起動されたとき、インターフェース装置106は、デフォルトの第1モード(たとえば、「メニュー」モード)で動作する。第1モードでは、ゲームコントローラ102からのすべての入力は、ゲームコントローラ102およびインターフェース装置106が接続されるローカルな有線またはWifiネットワーク上でインターフェース装置106のゲームアプリケーションを経由してゲームポータルUIに送られる。
いくつかの実施態様では、ヘッドセットがゲームコントローラ102に接続(たとえば、プラグ接続)されている場合、ゲームコントローラは、「ヘッドセット接続済み」メッセージをインターフェース装置106に送る。インターフェース装置106は、ヘッドセット接続までゲームコントローラ102のデバイスIDを追跡する。ゲームポータルUIは、その他のユーザイベント(またはその他のフィードバック)の際に音声メッセージをゲームコントローラ102に送り返す。次に、このイベントがデコードされてゲームコントローラ102上で再生される。
図2Bは、いくつかの実施態様に係る、ゲームセッションを起動するための例示的な動作シーケンス220を示す図である。いくつかの実施態様では、動作220に記載の要素およびステップは、図1および図2Aに示す要素およびフローに関し得る。その他の実施態様も可能である。
図2Bに示すように、ゲームセッションの起動には、ゲームコントローラ102と、インターフェース装置106と、サーバシステム114との間の通信を必要とする。シーケンス220(またはメッセージフロー)は、ゲーム環境(たとえば、ゲーム環境(複数可)100、130、および/または160)において実行されてもよい。この環境は、非同期型であり、ノンブロッキングである。シーケンス220は、ゲームポータルUIが起動していると想定する(たとえば、図2Aの処理を用いて)。
ユーザは、ゲームコントローラ102を使ってゲームポータルUI上でゲームを選択し
(222)、ゲーム起動要求を開始する。
インターフェース装置106は、選択されたゲームのコンテンツIDを特定し(224)、ゲーム起動要求に応答してゲーミングセッションを開始する要求を発行する(226)。
いくつかの実施態様では、ゲーム起動要求(たとえば、コマンド)は、インターフェース装置106のゲームアプリケーション(たとえば、ゲームアプリケーション436、図4)によって受け付けられ、インターフェース制御モジュール(たとえば、インターフェース制御モジュール438、図4)に渡される。次に、インターフェース制御モジュールが当該要求をゲームポータルUIモジュール(たとえば、ゲームUIモジュール437、図4)に転送する。ゲームUIモジュールは、コマンドを処理して、選択されたゲームの「コンテンツID」を特定し、選択されたゲームのコンテンツIDをゲームポータルUIに送り返す。ゲームポータルUIモジュールは、インターフェース制御モジュール上でコールバックを呼び出し、次に、インターフェース制御モジュールがゲーミングセッションを開始するための要求を発行する。いくつかの実施態様では、インターフェース装置106内の通信は、標準化された通信プロトコル(たとえば、WebSocket)を利用して行われる。
インターフェース装置106は、選択されたゲームのコンテンツIDを使って(たとえば、インターフェース制御モジュール438を使って、図4)サーバシステム114にゲームコンテンツを要求する(228)。
サーバシステム114は、許可が適切であるかどうかをチェックし(230A)、ゲーミングセッションを割り当てて(230B)、ゲームを読み込む(230C)。
いくつかの実施態様では、インターフェース装置106は、サーバインターフェースモジュール(たとえば、サーバインターフェースモジュール440、図4)を使ってゲームサーバ114に要求を伝達する。サーバインターフェースモジュールは、サーバシステム114のフロントエンド116にゲームコンテンツを要求する。フロントエンド116は、許可が適切であるかどうかをチェックし、バックエンドリソース124と連係する。バックエンドリソース12は、ゲームサーバ118と通信を行う。ゲームサーバ118は、ゲーミングセッションを割り当ててゲームの起動を開始する。
サーバシステム114は、ゲーミングセッション情報(たとえば、セッションID、ゲームサーバ準備用IPアドレス、ポートなど)をインターフェース装置106に送る(232)。いくつかの実施態様では、サーバシステム114は、ゲーミングセッション情報をインターフェース装置106のサーバインターフェースモジュール(たとえば、サーバインターフェースモジュール440、図4)に送り、インターフェース装置106は、この情報を提供するインターフェース制御モジュール438上でコールバックを呼び出す。
ゲーミングセッション情報に応答して、インターフェース装置106は、サーバシステム114とのセッションペアリング要求を開始する(234)。サーバシステム114は、ゲームストリーミングおよびゲーム処理を(たとえば、ゲームサーバ118およびストリーミングサーバ120上で)開始し(236)、セッションペアリング応答で直ちに応答する(238)。
ゲームの読み込みが完了すると、サーバシステム114は、「ゲーム準備完了」メッセージをインターフェース装置106に発行し(240A)、インターフェース装置106は、ゲーム準備完了メッセージをゲームコントローラ102に渡す(240B)。
いくつかの実施態様では、ゲームの読み込みはゲームサーバ118によって行われる。ゲームの読み込みが完了すると、ゲームサーバ118は、クライアント接続を受け付ける準備をするようストリーミングサーバ120に通知し、ゲーム準備完了メッセージを発行する(この例では、「クライアント」は、ゲームコントローラ102およびインターフェース装置106の両方を指す)。
本願におけるいくつかの実施態様によると、ステップ240Aおよび240Bでサーバシステム114によって発行されるゲーム準備完了メッセージは、ストリーミングサーバ120とクライアントとの間(すなわち、ストリーミングサーバ120とインターフェース装置106との間、およびストリーミングサーバ120とゲームコントローラ102との間)で直接通信するための「ハンドシェイク」の提供を含む。いくつかの実施態様では、ハンドシェイク提供のフォーマットは、DTLS(Datagram Transport Layer Security)プロトコルメッセージのフォーマットである。いくつかの実施態様では、ハンドシェイクの提供は、ストリーミングサーバ120とクライアントとの間でハンドシェイクを行うために必要な値(たとえば、認証証明書のハッシュ値)を含む。
ハンドシェイクの提供を用いて、インターフェース装置106は、サーバシステム114(たとえば、ゲームサーバ118およびストリーミングサーバ120)との直リンクを確立する(242A)。同様に、ゲームコントローラ102は、サーバシステム114(すなわち、ゲームサーバ118およびストリーミングサーバ120)との直リンクを確立する(242B)。
サーバシステム114のストリーミングサーバ120は、ゲームオーディオ/ビデオストリームを、表示装置108上に表示するためにインターフェース装置106に送信する(244)。
ゲームコントローラ102は、ゲーム入力をゲームサーバ118に送る(246)。ゲームサーバ118は、ゲーム入力に基づいてフレームを描画してストリーミングサーバ118に送る。ストリーミングサーバ118は、表示装置108上で表示するためのゲームメディアストリームをインターフェース装置106に送信する。これに加えて、ゲームコントローラ102は、その他のメッセージをインターフェース装置106に送る(248A)。インターフェース装置106は、メッセージを処理し、メッセージのサブセットをゲームサーバ114に送る(248B)。
いくつかの実施態様では、ストリーミングサーバ120は、音声/映像を送るためのストリーム、および入力を受信してランブルおよびその他の情報を送り返すためのストリームという2つのストリームを含む。いくつかの実施態様では、ストリーミングサーバ120は、現在のオーディオ/ビデオ接続をデフォルトで有効にした状態で特定の接続チャネル上で音声を送るかどうかを示す新しい初期化メッセージをストリーム配信クライアント(たとえば、インターフェース装置106)から受信する。
いくつかの実施態様では、ストリーミングサーバ102に接続する前にゲームコントローラ102がヘッドセットを検出した場合(ステップ242Bにおいて)、ゲームコントローラ102は、ストリーミングサーバ120との接続が確立した直後にこのメッセージを伝達する。そうでない場合、ゲームコントローラ102は、プラグ接続されたヘッドセットを検出すると直ちにこのメッセージを送る。
いくつかの実施態様では、特定の接続チャネル上でヘッドセット接続メッセージを受信
することに従って、ストリーミングサーバ120は、特定の接続チャネル上での音声の送信を開始し、その他の接続上の音声を停止する。
いくつかの実施態様では、ゲームコントローラ102からヘッドセットが抜かれると、ゲームコントローラ102は、「音声停止」メッセージをストリーミングサーバ120に送り、ストリーミングサーバ120を再び切り替えさせて、オーディオ/ビデオ接続上で音声を送らせる。
いくつかの実施態様では、ゲームコントローラ102は、「クイックアクセス」ボタンを含む。「クイックアクセス」ボタンは、ゲームポータルUIにいるかゲームをプレイしているかに関わらず、ユーザがキー機能に利用できるようにする。
いくつかの実施態様では、インターフェース装置106(および対応するゲームコントローラ102)は、2つのモードで動作する。つまり、(1)ローカルネットワークですべてのゲームコントローラ入力がインターフェース装置106に送られる第1モード(たとえば、「メニュー」モード)、および(2)コントローラコマンドのサブセットがゲームコントローラ102によってインターフェース装置106に送られ、その他は遠隔のゲーム(たとえば、サーバシステム114)に送られる第2モード(たとえば、「ゲーム」モード)。いくつかの実施態様では、コントローラコマンドのサブセットは、「クイックアクセス」ボタンによってアクセスされるコマンド(または機能)を含む。
いくつかの実施態様では、インターフェース装置106は、ゲームポータルUIが初めて起動するときは、常に第1モードである。
アーキテクチャ
ここで、ゲームコントローラ102、インターフェース装置106、およびサーバシステム114の例示的なアーキテクチャを説明する。いくつかの実施態様では、アーキテクチャに記載の要素は、図1および図2の要素およびフローに関係する。
図3は、いくつかの実施態様に係る、動作シーケンス200および220におけるゲーム環境100、130、および160のゲームコントローラ102を示すブロック図である。ゲームコントローラ102は、通常、1つ以上のプロセッサ(複数可)(CPU)302と、1つ以上の通信インターフェース(複数可)304と、メモリ306と、これらの構成要素(チップセットと呼ばれる場合もある)を相互に接続するための1つ以上の通信バス308とを含む。ゲームコントローラ102は、マイクロフォン312(または音声コマンド入力部)、ボタン314、十字キー(複数可)315、およびジョイスティック(複数可)316など、ユーザ入力を容易にする1つ以上の入力装置(複数可)310を含む。いくつかの実施態様では、ゲームコントローラ102は、ジェスチャー認識機能をさらに含む。いくつかの実施態様では、ゲームコントローラ102の処理能力は、入力装置(複数可)310とインターフェース接続可能なスタンドアロンハードウェアコンポーネントに組み込まれている。
また、ゲームコントローラ102は、スピーカー(複数可)320、LED(複数可)322、および/または、任意で、ディスプレイ324を含む、オーディオ出力および/またはビジュアル出力を容易にする1つ以上の出力装置(複数可)318を含む。ゲームコントローラ102は、GPS(Global Positioning Satellite)またはその他の地理的位置受信機など、ゲームコントローラ102の位置を特定するための位置検出部334を含む。ゲームコントローラ102は、IRセンサーなど、インターフェース装置106の近さならびに/またはその他のゲームコントローラ102および/もしくは電子機器104の近さを判断するための近接検出部332をさらに含む
。また、ゲームコントローラ102は、入力として使われ得るゲームコントローラ102の動き、向き、およびその他のパラメータを検知するための1つ以上のセンサー(複数可)328(たとえば、加速度計、ジャイロスコープなど)を含んでもよい。いくつかの実施態様では、ゲームコントローラ102の処理能力は、出力装置(複数可)318とインターフェース接続可能なスタンドアロンハードウェアコンポーネントに組み込まれている。
いくつかの実施態様では、ゲームコントローラは、音声メッセージおよび/またはゲームのオーディオストリームを再生するヘッドセット326をオプションとして含む。
いくつかの実施態様では、ゲームコントローラ102は、1つ以上の通信ネットワークを有効にし、ゲームコントローラ102がその他のデバイス(たとえば、インターフェース装置106)と通信を行うことができるようにする無線機330を含む。いくつかの実施態様では、無線機330は、様々なカスタムまたは標準の無線プロトコル(たとえば、IEEE802.15.4、Wifi、ZigBee、6LoWPAN、Thread、Z-Wave、Bluetooth Smart、ISA100.5A、WirelessHART、MiWi Whispernet、Bluetooth low energyなど)、カスタムまたは標準の有線プロトコル(たとえば、Ethernet、HomePlugなど)、および/または、本明細書の出願日の時点で開発されていない通信プロトコルを含むその他の適した通信プロトコルのうちのいずれかを利用してデータ通信可能である。
メモリ306は、DRAM、SRAM、DDR RAMなどの高速ランダムアクセスメモリまたはその他のランダムアクセス固体記憶装置を含み、任意で、1つ以上の磁気ディスク記憶装置、1つ以上の光学ディスク記憶装置、1つ以上のフラッシュメモリデバイスなどの不揮発性メモリ、または1つ以上のその他の不揮発性固体記憶装置を含む。メモリ306は、任意で、1つ以上の処理装置202から遠く離れた1つ以上の記憶装置を含む。メモリ306、またはメモリ306内の不揮発性メモリは、非一時的なコンピュータ読み取り可能な記憶媒体を含む。いくつかの実施態様では、メモリ306、またはメモリ306の非一時的なコンピュータ読み取り可能な記憶媒体は、下記のプログラム、モジュール、およびデータ構造、またはそれらのサブセットもしくはスーパーセットを格納する:
●様々な基本のシステムサービスを処理するためのプロシージャ、およびハードウェア依存のタスクを実行するためのプロシージャを含むオペレーティングシステム336;
●1つ以上の通信インターフェース)304(有線またはワイヤレス)ならびにローカルネットワーク110、140および/または150、ならびに、インターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなど、1つ以上のネットワーク112を経由してゲームコントローラ102をその他のデバイス(たとえば、サーバシステム114、インターフェース装置106、および電子機器104)に接続するためのネットワーク通信モジュール338;
●1つ以上の出力装置318(たとえば、スピーカー、LED(複数可)など)を介してゲームコントローラ102において情報の表示を可能にするためのユーザインターフェースモジュール340(たとえば、オーディオコンテンツおよび/または映像コンテンツ、ならびに、任意で、アプリケーション、ウィジェット、テキストなどを提示するためのグラフィカルユーザインターフェース);
●1つ以上の入力装置(複数可)310のうちの1つから1つ以上のユーザ入力またはユーザ操作を検出し、検出された入力または操作を解釈するための入力処理モジュール342;
●インターフェース装置106に対応付けられたユーザアカウントへのログイン、インターフェース装置106がユーザアカウントと対応付けられている場合、インターフェース装置106の制御、および、インターフェース装置106に関連する設定ならびにデー
タの編集およびレビューを含む、インターフェース装置106とのやり取りのためのインターフェース装置アプリケーション344;
●様々なモードに対するモジュールを実装するように構成される、クラウドゲーム機能のためのゲームアプリケーション346;
●メニューモードでゲームコントローラ102とインターフェース装置106との間でメッセージ(たとえば、セットアップコマンド)を送信するためのコマンドモジュール348;
●ゲームプレーモードでゲームコントローラ102とサーバシステム114(たとえば、ストリーミングサーバ120)との間でゲームプレーコマンドを送信するためのストリーミングモジュール349;
●ゲームアプリケーション346にゲームプレー入力インターフェースを提供するためのコントローラモジュール350;
●ゲームコントローラ102とインターフェース装置(たとえば、インターフェース装置108)との間、およびゲームコントローラ102とゲームサーバ(たとえば、サーバシステム114)との間でメッセージおよびメディアストリームを受信および/または送信するための通信モジュール351;
●データ(たとえば、ユーザアカウント、ユーザ認証情報、モジュールおよびアプリケーションのアップデート、ならびにメモリ306にあるデータ)をサーバシステム114からダウンロードする、および/またはインターフェース装置106ならびにその他のコンテンツホストおよびプロバイダから渡された当該データをダウンロードするためのデータダウンロードモジュール352;および
●ゲームアプリケーション346およびその他のアプリケーション/モジュールと関連するデータを少なくとも格納するデバイスデータ354。デバイスデータ354は、以下を含む:
○共通のデバイス設定(たとえば、サービス層、デバイスの機種、ストレージ容量、処理能力、通信能力など)を含む、ゲームコントローラ102自体に関連する情報を格納するためのクライアントデバイス設定356;
○1つ以上のアカウントアクセス情報、およびインターフェース装置設定のための情報(たとえば、サービス層、デバイスの機種、ストレージ容量、処理能力、通信能力など)を含む、インターフェース装置アプリケーション344のユーザアカウントに関連する情報を格納するためのインターフェース装置設定358;
○ユーザが図4のゲームポータルUIモジュール437とやり取りするために設定されたメニューおよび/またはショートカットを格納するためのゲームアプリケーション設定360;
○ゲームアプリケーション346のコントローラモジュール350の構成に関連する情報を格納するためのゲームコントローラ構成(複数可)362;および
○ゲームコントローラ102、インターフェース装置106、その他のゲームコントローラ102および/または電子機器104の存在、近さ、または位置に関連する情報を含む位置/近接データ164;および
○ゲームコントローラIDおよびクライアント証明書、それぞれペアリングされたインターフェース装置のIDおよびクライアント証明書、1つ以上のローカルネットワーク認証情報(たとえば、Wifi認証情報)、ならびに、ログイン情報、ユーザ認証情報、認証情報を含むゲームコントローラ102にリンクされた1つ以上のユーザに関連する情報を格納し、任意で、ユーザの好み、ゲームプレーの履歴データ、およびその他のプレーヤーについての情報を格納するためのデバイス/ユーザデータ366。
●起動されたときに1つ以上の認証オプションを提示し、認証オプションに対する入力を受信するためのセキュリティモジュール368;
●マイクロフォン312によって受け付けられたオーディオ入力/コマンドを処理するための音声アシスタンスモジュール370。
いくつかの実施態様では、通信モジュール351は、無線送信モジュール、1つ以上の通信バス308などの通信バス、および有線接続のうち、1つ以上であり得る。
いくつかの実施態様では、コントローラモジュール350は、メモリ306に含まれるインターフェース装置アプリケーション334または別のアプリケーションの一部(たとえば、サブモジュール)である。いくつかのその他の実施態様では、コントローラモジュール350は、オペレーティングシステム336の一部である。いくつかの別の実施態様では、コントローラモジュール350は、別個のモジュールまたはアプリケーションである。
上記構成要素の各々は、前述の記憶装置のうちの1つ以上に格納されてもよく、上述の機能を実行するための命令セットに対応する。上記モジュールまたはプログラム(つまり、命令セット)は、別々のソフトウェアプログラム、プロシージャ、モジュール、またはデータ構造として実装される必要がないため、これらのモジュールの様々なサブセットは、様々な実施態様において組み合わされてもよく、並び替えられてもよい。いくつかの実施態様において、メモリ306は、任意で、上記モジュールおよびデータ構造のサブセットを格納する。さらに、メモリ306は、任意で、上述されていない追加のモジュールおよびデータ構造を格納する。
図4は、いくつかの実施態様に係る、動作シーケンス200および220におけるゲーム環境100、130、および160の例示的なインターフェース装置106を示すブロック図である。インターフェース装置106は、通常、1つ以上のプロセッサ(複数可)(CPU)402と、1つ以上の通信インターフェース(複数可)404と、メモリ406と、これらの構成要素(チップセットと呼ばれる場合もある)を相互に接続するための1つ以上の通信バス408とを備える。さらには、インターフェース装置106は、IRセンサーなど、ゲームコントローラ102、および/または電子機器104、および/またはその他のインターフェース装置の近さを判断するための近接/位置検出部410を含む。
さらには、いくつかの実施態様では、インターフェース装置106は、1つ以上の通信ネットワークを可能にし、インターフェース装置106がその他のデバイスと(たとえば、ゲームコントローラ102と)通信を行うことができるようにする無線機411を含む。いくつかの実施態様では、無線機411は、様々なカスタムまたは標準の無線プロトコル(たとえば、IEEE802.15.4、Wifi、ZigBee、6LoWPAN、Thread、Z-Wave、Bluetooth Smart、ISA100.5A、WirelessHART、MiWi Whispernet、Bluetooth low energyなど)、カスタムまたは標準の有線プロトコル(たとえば、Ethernet、HomePlugなど)、および/または、本明細書の出願日の時点で開発されていない通信プロトコルを含むその他の適した通信プロトコルのうちのいずれかを利用してデータ通信可能である。
また、これに加えて、インターフェース装置106は、マイクロフォン414を含む、ユーザの近さを検出するための1つ以上の入力装置(複数可)412と、インターフェース装置106に連結または一体化された1つ以上の出力装置(複数可)416(たとえば、表示装置(複数可)108)とを含む。
メモリ406は、DRAM、SRAM、DDR RAMなどの高速ランダムアクセスメモリまたはその他のランダムアクセス固体記憶装置を含み、任意で、1つ以上の磁気ディスク記憶装置、1つ以上の光学ディスク記憶装置、1つ以上のフラッシュメモリデバイス
などの不揮発性メモリ、または1つ以上のその他の不揮発性固体記憶装置を含む。メモリ406は、任意で、1つ以上のプロセッサ(複数可)402から遠く離れた1つ以上の記憶装置を含む。メモリ406、またはメモリ406内の不揮発性メモリは、非一時的なコンピュータ読み取り可能な記憶媒体を含む。いくつかの実施態様では、メモリ406、またはメモリ406の非一時的なコンピュータ読み取り可能な記憶媒体は、下記のプログラム、モジュール、およびデータ構造、またはそれらのサブセットもしくはスーパーセットを格納する:
●様々な基本のシステムサービスを処理するためのプロシージャ、およびハードウェア依存のタスクを実行するためのプロシージャを含むオペレーティングシステム418;
●1つ以上の通信インターフェース404(有線またはワイヤレス)と、インターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、ケーブルテレビシステム、衛星テレビシステム、IPTVシステムなど、1つ以上のネットワーク112とを経由してインターフェース装置106をその他のコンピュータまたはシステム(たとえば、サーバシステム114、ゲームコントローラ102、および電子機器104)に接続するためのネットワーク通信モジュール420;
●インターフェース装置106とゲームコントローラ(たとえば、ゲームコントローラ102)との間、およびインターフェース装置106とゲームサーバ(たとえば、サーバシステム114)との間でメッセージおよびメディアストリームを受信および/または送信するための通信モジュール421;
●1つ以上のコンテンツソース(たとえば、ゲームサーバ118およびストリーミングサーバ120)から受信したコンテンツ信号をデコードし、コンテンツをデコードされた信号に含めて、インターフェース装置106に連結または一体化された出力装置(複数可)416(たとえば、表示装置(複数可)108)に出力するためのコンテンツデコードモジュール422;
●近接/位置検出部410によって検出されるまたはサーバシステム114によって提供される近接関連の情報に基づいてゲームコントローラ102、および/または電子機器104、および/またはその他のインターフェース装置106の近さを判断するための近接/位置特定モジュール424;
●メディア表示を制御するためのディスプレイモジュール426;
●インターフェース装置のIDおよびクライアント証明書を格納し、以下を含むデータを少なくとも格納するインターフェース装置データ428:
○1つ以上のアカウントアクセス情報、およびデバイス設定のための情報(たとえば、サービス層、デバイスの機種、ストレージ容量、処理能力、通信能力など)を含む、インターフェース装置アプリケーションのユーザアカウントに関連する情報を格納するためのインターフェース装置設定430;および
○ゲームコントローラ102ならびに/または電子機器104およびインターフェース装置106の存在、近さ、または位置に関連する情報を含む、位置/近接データ432;および
○インターフェース装置が接続される1つ以上のローカルネットワークに関連する情報を含むネットワークデータ434;
●インターフェース装置106上のすべてのゲームコンポーネントのライフサイクルを制御し、ゲームコントローラ102からメッセージ(たとえば、コマンド)を受信し、ゲームコントローラ入力をサーバシステム114に渡すためのゲームアプリケーション436;
●ユーザコンテンツ(たとえば、プロフィール、アバター、購入したゲーム、ゲームカタログ、友達、メッセージ)および表示のための最適化された画像にアクセスし、ゲームプレー中にゲームコントローラ102から入力を受信するためのゲームUIモジュール437;
●ゲームアプリケーション436とゲームポータルUIモジュール437との間の通信の橋渡しを行い、ゲームの起動中にサーバシステム114とのセッションペアリング要求
を初期化するためのインターフェース制御モジュール438;
●サーバシステム114および認証システム125と通信を行うための、以下を含むサーバインターフェースモジュール440:
○ゲームポータルUIの起動中に認証システム125と通信を行ってゲームコントローラ102のリンクユーザを認証するための認証サブモジュール442;
○ゲーミングセッション情報(たとえば、セッションID、ゲームサーバ準備用IPアドレス、ポートなど)をサーバシステム114から受信し、この情報を提供するインターフェース制御モジュール438上でコールバックを呼び出すためのセッションサブモジュール444;および
○サーバシステム114のストリーミングサーバ120から送信されるゲームストリームを、ゲームプレー中にリアルタイムで受信して表示するためのストリーミングサブモジュール446。
いくつかの実施態様では、通信モジュール421は、無線送信モジュール、(たとえば、インターフェース機能がゲームコントローラにある場合)1つ以上の通信バス408などの通信バス、および有線接続のうちの、1つ以上であり得る。
いくつかの実施態様では、ゲームUIモジュール437、インターフェース制御モジュール438、およびサーバインターフェースモジュール440は、インターフェース装置106において、共有ライブラリとしてパッケージ化されており、アプリケーションが開始された時にゲームアプリケーション436によって動的に開かれる。
上記構成要素の各々は、前述の記憶装置のうちの1つ以上に格納されてもよく、上述の機能を実行するための命令セットに対応する。上記モジュールまたはプログラム(つまり、命令セット)は、別々のソフトウェアプログラム、プロシージャ、モジュール、またはデータ構造として実装される必要がないため、これらのモジュールの様々なサブセットは、様々な実施態様において組み合わされるまたは並び替えられてもよい。いくつかの実施態様において、メモリ406は、任意で、上記モジュールおよびデータ構造のサブセットを格納する。さらに、メモリ406は、任意で、上述されていない追加のモジュールおよびデータ構造を格納する。
図5は、いくつかの実施態様に係る、動作シーケンス200および220における、ゲーム環境100、130、および160のサーバシステム114における例示的なサーバを示すブロック図である。サーバシステム114は、通常、1つ以上の処理装置(たとえば、プロセッサ(複数可)502、GPU(複数可)510、およびエンコーダー512)と、1つ以上のネットワークインターフェース504と、メモリ506と、これらの構成要素(チップセットと呼ばれる場合もある)を相互に接続するための1つ以上の通信バス508とを備える。サーバシステム114は、任意で、キーボード、マウス、音声コマンド入力部もしくはマイクロフォン、タッチスクリーンディスプレイ、タッチ入力パッド、ジェスチャーキャプチャーカメラ、またはその他の入力ボタンもしくは制御部など、ユーザ入力を容易にする1つ以上の入力装置514を含んでもよい。さらには、サーバシステム114は、キーボードを補助するまたは置き換えるために、マイクロフォンおよび音声認識またはカメラおよびジェスチャー認識を使用してもよい。いくつかの実施態様では、サーバシステム114は、任意で、電子機器上にプリントされた図形シリーズコードの画像など、画像をキャプチャするための1つ以上のカメラ、スキャナ、または光センサー部を備える。また、サーバシステム114は、1つ以上のスピーカーおよび/または1つ以上の表示装置を含む、ユーザインターフェースの表示を可能にし、コンテンツを表示する1つ以上の出力装置516を備えてもよい。
メモリ506は、DRAM、SRAM、DDR RAMなどの高速ランダムアクセスメ
モリまたはその他のランダムアクセス固体記憶装置を含み、任意で、1つ以上の磁気ディスク記憶装置、1つ以上の光学ディスク記憶装置、1つ以上のフラッシュメモリデバイスなどの不揮発性メモリ、または1つ以上のその他の不揮発性固体記憶装置を含む。メモリ506は、任意で、1つ以上の処理装置から遠く離れた1つ以上の記憶装置を含む。メモリ506、またはメモリ506内の不揮発性メモリは、非一時的なコンピュータ読み取り可能な記憶媒体を含む。いくつかの実施態様では、メモリ506、またはメモリ506の非一時的なコンピュータ読み取り可能な記憶媒体は、下記のプログラム、モジュール、およびデータ構造、またはそれらのサブセットもしくはスーパーセットを格納する:
●様々な基本のシステムサービスを処理するためのプロシージャ、およびハードウェア依存のタスクを実行するためのプロシージャを含むオペレーティングシステム526;
●1つ以上のネットワークインターフェース504(有線またはワイヤレス)および、インターネット、その他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなど、1つ以上のネットワーク112を経由してサーバシステム114をその他のデバイス(たとえば、サーバシステム114における様々なサーバ、ゲームコントローラ102および/または電子機器104ならびにインターフェース装置106)に接続するためのネットワーク通信モジュール528;
●インターフェース装置106の表示装置108、ゲームコントローラ102、および/または電子機器104において情報の表示を可能にするためのユーザインターフェースモジュール530(たとえば、アプリケーション(複数可)、ウィジェット、ウェブサイトおよびそのウェブページ、ならびに/またはゲーム、オーディオコンテンツおよび/もしくは映像コンテンツ、テキストなどを提示するためのグラフィカルユーザインターフェース);
●インターフェース装置(複数可)106に関連するデバイスの準備、デバイス制御、およびユーザアカウント管理のためのサーバ側機能を提供するために実行されるメディアデバイスモジュール532(オプション);
●ゲームコントローラ102ならびに/または電子機器104およびメディアデバイス106のうちのいずれかの位置情報に基づいて、インターフェース装置106に対するゲームコントローラ102および/または電子機器104の近さを判断するための近接/位置特定モジュール534;
●ゲームコントローラ102および/または電子機器104のデバイス機能ならびにネットワーク機能を評価するためのデバイス/ネットワーク評価モジュール536。ゲームコントローラ102および/または電子機器104への接続のネットワーク帯域幅を評価することと、ゲームコントローラ102および/または電子機器104がゲームをプレイするために必要なモジュールまたはアプリケーションを有しているかどうかを評価することとを含むが、これらに限定されない。;
●ゲームコントローラ102、電子機器104、および/またはインターフェース装置106にデータ(たとえば、ゲームコントローラ構成456)、ソフトウェアアップデートなど)を提供するためのデータ送信モジュール538;
●ゲームコントローラ102および電子機器104に対応付けられたユーザアカウント、たとえば、ユーザアカウントによる1つ以上のオンラインのインタラクティブゲーム会員に加入することを管理し、加入者の要求をバックエンドリソース124およびゲームサーバ118に転送し、加入者のゲームプレー活動および関連する要求を監視するサービスを加入者に対して有効にするためのフロントエンドモジュール540;
●ゲームプレー中リアルタイムでゲームオーディオおよび/またはビデオストリームをインターフェース装置106に送信し、(たとえば、ヘッドセットからの)ストリームを管理し、1つ以上のストリーミングサイトを管理するためのメディアストリーミングサーバモジュール542;
●ゲームに関連するサーバ側機能(たとえば、ゲームアプリケーション346および436)を提供するためのゲームサーバモジュール544。サーバ側機能は、ゲームセッションのセットアップ、セッション状態データおよびその他のゲーム関連データの格納、ク
ライアントデバイス102および104からのゲームプレー入力の処理、ゲームプレー入力に応答したゲームプレー出力の描画、ならびにゲームプレーおよびレビュー映像のメディアストリームの同時生成などを含むが、これらに限定されない。;
●フロントエンド116が要求したサービスを実行する、および/または(たとえば、ゲームサーバ120およびストリーミングサーバ120からの)データにアクセスするためのバックエンドリソースモジュール542;
●データベース(複数可)122は、以下を含む:
○共通のデバイス設定(たとえば、サービス層、デバイスの機種、ストレージ容量、処理能力、通信能力など)を含む、ゲームコントローラ102および電子機器104に関連する情報を格納するためのクライアントデバイス設定550;
○1つ以上のアカウントアクセス情報およびデバイス設定についての情報(たとえば、サービス層、デバイスの機種、ストレージ容量、処理能力、通信能力など)を含む、メディアデバイスアプリケーション532のユーザアカウントに関連する情報を格納するためのメディアデバイス設定552(オプション);
○ゲームコントローラ102ならびに/または電子機器104およびインターフェース装置106の存在、近さ、または位置に関連する情報を含む、位置/近接データ554;
○様々なゲームのコントローラ構成を格納するためのゲームコントローラ構成556;
○サーバシステム114上でホストされる1つ以上のゲームアプリケーションの各々(たとえば、ゲームアプリケーション228、図2)のユーザアカウントに関連する情報を格納するためのユーザ情報558。ユーザ情報558は、たとえば、ユーザアカウント情報(たとえば、IDおよびパスワード)、ユーザプロフィール、購入したゲーム、会員種別、基本設定、ゲームカタログ、活動履歴、およびその他の権利を含む。;および
○ゲームセッション(たとえば、ゲーム状態データ、その他のゲーム関連データ)に関連するデータを格納するためのゲームセッションデータ560。ゲームセッションデータ560は、たとえば、第1ゲームセッションのゲームセッションデータ560-1および第2ゲームセッションのゲームセッションデータ560-2を含む。ゲームセッションごとのセッションデータ560は、フレームレート、描画仕様、通常のレイテンシ要件、GPU割り当て情報、エンコーダー割り当て情報、関連セッションのID、およびそれぞれのゲームセッションに関連する最新のステータス情報を含むが、これらに限定されない。
上述した要素の各々は、前述した記憶装置のうちの1つ以上に格納されてもよく、上述した機能を実行するための命令セットに対応する。上記モジュールまたはプログラム(すなわち、命令セット)は、別々のソフトウェアプログラム、プロシージャ、モジュール、またはデータ構造として実装される必要はないので、これらのモジュールの様々なサブセットを組み合わせたり、様々な実施態様に配置したりしてもよい。いくつかの実施態様では、メモリ506は、任意で、上述したモジュールおよびデータ構造のサブセットを格納する。さらには、メモリ506は、任意で、上述していない追加のモジュールおよびデータ構造を格納する。
いくつかの実施態様では、サーバシステム114は、プレーヤーがゲーマー友達とメッセージをやり取りできるようにするメッセージングアプリケーションをゲームポータルUIにおいて管理するためのメッセージモジュール(図示せず)をさらに含む。
これら原理に鑑みて、特定の実施態様について説明する。
実施態様
図6A~図6Cは、クラウドゲームのために新しいゲームコントローラ102を準備するための処理の例を示す図である。いくつかの実施態様では、新しいゲームコントローラ
102は、ゲームに使われる前にセットアップされる必要がある。いくつかの実施態様では、このセットアップは、クラウドゲームをサポートする添付のアプリケーション(たとえば、GOOGLE Home Application612)を実行中の携帯電話610を用いて、環境600(たとえば、自宅、寮、および/またはオフィス)において行われる。いくつかの実施態様では、セットアップ処理は、1つ以上のユーザをゲームコントローラ102に追加するステップと、ゲームコントローラ102を環境600における1つ以上のインターフェース装置にペアリングすることとを含む。
図6Aによって示すように、ゲームコントローラ102は、十字キー602(すなわち、十字キー315)、「アシスタント」ボタン606、「ホーム」ボタン608、ならびにゲームコントロールボタン604-1、604-2、604-3、および604-4(すなわち、ボタン312)を含む複数のボタンなどの入力コンポーネントを含むと図示されている。いくつかの実施態様では、ゲームコントローラ102は、ジョイスティック(すなわち、図示しないジョイスティック316)と、LED(たとえば、LED(複数可)322および/またはスピーカー(たとえば、スピーカー(複数可)320)(図示せず)など、出力装置(たとえば、出力装置(複数可)318)とをさらに含む。いくつかの実施態様では、入力コンポーネントおよび出力コンポーネントの数ならびに種類、およびそれらの配置は、異なり得る。いくつかの実施態様では、ゲームコントローラの形状および/もしくは大きさならびに/またはジオメトリは、図示するゲームコントローラ102とは異なる。
いくつかの実施態様では、1つ以上のボタンがゲームコントローラ102上の1つ以上のマイクロフォン(たとえば、マイクロフォン312)をアクティブする。これにより、オーディオ入力(たとえば、音声コマンド)が受信できるようになる。たとえば、ゲーマーは、アシスタントボタン606を押しながら「寝室のテレビでディビジョンをプレイする」と言うことができる。いくつかの実施態様では、ゲームコントローラ102は、(たとえば、音声アシスタンスモジュール370を用いて)コマンドをパースして、寝室のテレビに接続されたインターフェース装置とペアリングする。また、いくつかの実施態様では、インターフェース装置は、寝室のテレビをオンにする。テレビは、ゲーマーの直近のゲーミングセッションからそのままにされたゲーム「ディビジョン」から、一旦停止されたシーンを表示する。ゲーマーは、ボタンを押してシーンの一旦停止を解除し、ゲームコントローラ102と寝室のテレビとを使ってゲームプレーを再開する。
いくつかの実施態様では、ユーザは、新しいゲームコントローラ102のセットアップを、最初に電源を入れることによって(たとえば、ホームボタン608および/または電源ボタン(図示せず)を押下することによって)開始する。ゲームコントローラ102は、アプリケーションによって検出されるBluetooth/Wifiビーコンを発する。いくつかの実施態様では、電源を入れることに従って、アプリケーション612は、ユーザインターフェース660上に新しいデバイス(「ゲームコントローラ」)が見つかったことを示すメッセージ614と、当該新しいデバイスを設定するためのアフォーダンス615とを自動的に表示する。この例では、ユーザは、アフォーダンス615-1(はい」)を選択してセットアップ処理を続ける。
図6Bは、セットアップ処理を続けることに従って表示される例示的なユーザインターフェース670を示す図である。いくつかの実施態様では、ユーザは、名前616(たとえば、ユーザ名)、写真618、パスワード(図示せず)、および/または認証チャレンジ(複数可)(図示せず)を含むフィールドを入力するよう求められる。いくつかの実施態様では、ユーザは、キーボードディスプレイ620を利用して、および/またはアイコン621(たとえば、写真を撮影するためのアイコン621-1および/または写真をアップロードするためのアイコン621-2))をタップすることによって名前を入力する
いくつかの実施態様によると、図6Cによって示すように、アプリケーション612は、デフォルトのペアリングデバイスを設定するためのオプション622をユーザインターフェース680上にさらに表示する。オプション622は、ゲームコントローラ102とペアリング可能なデバイス(たとえば、インターフェース装置106)を表すアフォーダンス623を含む。オプション622は、ユーザにインターフェース装置106のうちの1つをゲームコンテンツを表示するためのデフォルトデバイスとして選択するよう求めるプロンプトをさらに含む。いくつかの実施態様では、デフォルトのペアリングデバイス(たとえば、デバイス623-2「居間」)が選択されてゲームコントローラ102がデフォルトで「居間」のインターフェース装置とペアリング接続されたあとにセットアップ処理が完了する。
いくつかの実施態様では、新しいゲームコントローラ102をセットアップには、携帯電話(たとえば、携帯電話610)または携帯電話上で実行中の付属のアプリケーション(たとえば、アプリケーション612)の利用を必要としない。むしろ、セットアップおよび出力装置の選択は、ゲームコントローラ102とインターフェース装置106との間で直接、または、ゲームコントローラ102と表示装置108との間で直接行われる。たとえば、いくつかの実施態様では、インターフェース装置106または表示装置108は、新しいゲームコントローラ102をセットアップして出力装置を選択させるために実行され得る添付のアプリケーションを含む。いくつかの実施態様では、ゲームコントローラ102は、ゲームコントローラ102(たとえば、ゲームコントローラ102は、セットアップ命令を表示するオプションのディスプレイ324を含む)をセットアップして出力装置を選択するために実行され得る添付のアプリケーションを含む。
いくつかの実施態様では、ゲームコントローラ102の電源が入った後、ユーザは、第2ボタンを押下することによって、および/またはゲームコントローラ102の電源を入れるために使われる同じボタンを再び押下することによってセットアップ処理を開始する。
いくつかの実施態様では、ゲームコントローラ102は、名前/ユーザ名、写真、パスワード、認証チャレンジ)を含むユーザの情報、およびデフォルトインターフェース装置106を含むその他のデフォルト設定を(たとえば、デバイス/ユーザデータ366に)格納する。
いくつかの実施態様では、ゲームコントローラは、ネットワーク認証情報(たとえば、Wifiネットワーク名および/またはパスワード)を(たとえば、デバイス/ユーザデータ366に)格納する。
いくつかの実施態様では、ゲームコントローラ102は、複数のユーザ(たとえば、世帯の様々な構成員)によって使われる。したがって、第1ユーザがセットアップを完了した後、アプリケーション612は、その他のユーザを追加するオプションをさらに表示する。ゲームコントローラ102は、ユーザごとの認証情報を格納する。
いくつかの実施態様では、ゲームコントローラ102は、ゲームコントローラ102上(たとえば、デバイス/ユーザデータ366)に格納されたデバイス識別子および/またはクライアント証明書を含む。したがって、ゲームコントローラ102は、各ユーザの認証情報をデバイス識別子および/またはクライアント証明書にリンクさせる。いくつかの実施態様では、(たとえば、図2Aで説明したように)ゲームポータルUIを起動する要求に従って、ゲームコントローラは、デバイス識別子および/またはクライアント証明書
の情報を、ユーザのIDとともに、認証システム125による検証のために認証システム125に送る。
いくつかの実施態様では、アプリケーション612は、ゲームコントローラ102の既存ユーザのプロフィールを編集および/または削除するオプションをさらに含む。
いくつかの実施態様では、ゲームコントローラがゲームコントローラ102に対応付けられているという環境600(たとえば、世帯、寮など)についての情報は、クラウド(たとえば、サーバシステム114および/または認証ストレージ128)に格納される。これに加えて、いくつかの実施態様では、クラウドは、ユーザごとに、ユーザ情報設定、表示設定、およびユーザに対応付けられたゲームコントローラ(複数可)を格納する。
図7~図11は、いくつかの実施態様に係る、ゲームコントローラ102およびインターフェース装置106の代表的な動作を示す図である。これらの例では、ゲームコントローラ102の準備は完了しており、インターフェース装置106に通信可能に接続されている(たとえば、ペアリングされている)と想定する。図7~図11は、表示装置108に連結されたインターフェース106を示す図である。いくつかの実施態様では、インターフェース装置106の機能は、表示装置108内に搭載(すなわち、組み込まれているおよび/または内蔵)されており、これに従って、表示装置108は、ゲームコントローラ102およびゲームサーバ(たとえば、サーバシステム114)と直接やり取りするように構成される。
図7A~図7Cは、いくつかの実施態様に係る、人が1人いる環境700における、図3のゲームコントローラ102と図4のインターフェース装置106との間の代表的なやり取りを示す図である。この例では、環境700は、住居環境(「ジュリアの自宅」)であり、ゲームコントローラ102は、デフォルトユーザ(「ジュリア」)にリンクされている。
ジュリアは、ゲームUIポータルを起動し、ゲームを選択することによってゲームを開始する(図2のUIの起動およびゲーム開始についての処理の流れを参照)。いくつかの実施態様では、最初、ゲームコントローラは、オフ/スタンバイモードであり、ジュリアは、ゲームコントローラ102の電源を入れる。ゲームコントローラ102は、電源が入った後、ジュリアの自宅のWifiネットワークに自動的に接続し、(たとえば、キャッシュから)世帯メタデータを取得する。ゲームコントローラ102は、自動的にインターフェース装置106(たとえば、「居間」)とペアリングし、インターフェース装置106は(たとえば、CECを利用して)、表示装置108を起動して正しい入力に切り替える。
図7Aは、ユーザプロフィール712(「ジュリア」)(たとえば、アバター、写真、および/または名前)、オンライン713の友達、ゲーム714および716(たとえば、購入したゲーム、新しいゲーム、最近プレイしたゲーム)、ならびにメニュー715など、特徴を含んだ例示的なゲームポータルUIを表示する表示画面710を示す図である。この例では、ジュリアは、ゲームコントローラ102の唯一のユーザであるため、自動的にデフォルトプレーヤーとしてログインする。
ジュリアは、ゲームポータルUI上でゲームを選択し、ゲームの起動を開始する。(ゲームの起動に際して生じる動作シーケンスの詳細は、図2Bで説明されている)。表示装置108上にゲームストリームが表示される。ジュリアは、ゲームをプレイする。
いくつかの実施態様では、表示装置108が電源オフ/スタンバイモードであるという
判断に従って、インターフェース装置106は、自動的に表示装置108の電源をオンにする。
いくつかの実施態様では、1つの入力の有効化(たとえば、1つのボタンの押下)によって、ゲームコントローラ102の電源をオンにするタスク、およびインターフェース装置106上でゲームアプリケーションを開始するタスクが実行される。いくつかの実施態様では、ゲームコントローラ102の電源がオンにされた後、ユーザは、第2入力を有効にして(たとえば、ボタンを再び押下するまたは第2ボタンの押下)、ゲームポータルUIを起動する。
いくつかの実施態様では、ゲームポータルUIは、特徴のサブセットおよび/または図7Aに図示しない追加の特徴を含む。いくつかの実施態様では、ゲームポータルUIの特徴のサブセットは、すべてのユーザ用にカスタマイズされている。いくつかの実施態様では、ゲームポータルUIによって、ゲームサーバがホストするすべてのゲームコンテンツの一覧をユーザが閲覧およびアクセスできるようになる。
いくつかの実施態様では、マイクロフォン312が受け付けて音声アシスタンスモジュール370が処理する音声入力/コマンド(たとえば、ユーザが「居間のテレビでレーシングカーを再生して」と言う)を用いて、ユーザは、ゲームの起動を開始する。
図7Bは、ゲーミングセッションのシャットダウン処理を示す図である。いくつかの実施態様では、シャットダウンを開始するために、ユーザは、ゲームコントローラ102上のボタン(たとえば、ホームボタン608)を押下する。これにより、終了コマンドがインターフェース装置106に送られる。画面720は、ゲーミングセッションの終了を確認するメッセージウィンドウ718を表示する。ユーザが「はい」を選択(721)すると、ゲームコントローラ102の電源が切れる(または、スリープモードに入る)。ユーザが「いいえ/戻る」を選択すると(722)、ゲーミングセッションが再開し、画面720からメッセージウィンドウ718が消える((図示せず)。
いくつかの実施態様では、ユーザがゲーミングセッションの終了を確認することに応答して、インターフェース装置106は、終了コマンドをサーバシステム114に送信する。サーバシステム114は、必要に応じて、ゲーム/状態をセーブする。図7Cによって示すように、ゲーミングセッションが終了し、ゲームアプリケーションが終了し、表示装置は、背景730を表示する。
いくつかの実施態様では、異なる方法でボタンを押下することによって、同じボタン(たとえば、ホームボタン608)を使って異なるメニューおよび機能にアクセスすることができる。たとえば、ホームボタン608の「短/通常」押しを使って、ゲームコントローラ102の電源を入れてゲームポータルUIの起動を開始し、ホームボタン608の「長」押しによって、メニューボタン(たとえば、クイックアクセスメニュー)を起動し、および/またはゲーミングセッションのシャットダウンを開始する。
また、いくつかの実施態様では、インターフェース装置106は、ゲーム用に使用されていない時に、その他の(ゲームではない)メディアコンテンツをストリーム配信するためのメディアストリーミングデバイスとして使用される。
図8A~図8Bは、いくつかの実施態様に係る、複数人の環境800における図3のゲームコントローラ102と図4のインターフェース装置106との代表的なやり取りを示す図である。この例では、複数人の環境800は、2人世帯であり、ゲームコントローラ102は、世帯の構成員である「ジュリア」と「ジャック」によって利用される。ゲーム
コントローラ102は、ジュリアとジャックについてのユーザ認証情報を格納する。いくつかの実施態様では、複数人の環境は、3人以上を含み、各人がゲームコントローラ102をオンラインゲームに利用する。
図8の例では、ジャックは、図2および図7で記載のステップを用いてゲームポータルUIを起動する。図8Aは、プレーヤーアカウント812(「ジュリア」)およびプレーヤーアカウント814(「Jackio」)のオプションを表示する画面810を示す図である。いくつかの実施態様では、画面810は、「ゲスト」プレーヤーアカウント816のオプションをさらに含む。この例では、ジャックは、プレーヤーアカウント814(「Jackio」)を選択する。
いくつかの実施態様では、ゲームアプリケーションは、(たとえば、セキュリティモジュール368を用いた)認証のための特徴をさらに含む。図8Bに示すように、ジャックがプレーヤーアカウント814(「Jackio」)を選択した後、画面830は、電話820-1、音声820-2、およびPIN820-3を含む複数の認証オプション820を含んだメッセージ818を表示する。電話オプション820-1が選択された場合、インターフェース装置106および/またはゲームコントローラ102は、ゲームコントローラ102近傍の電話のIDを検知し、当該電話から取得されたIDを使ってユーザを認証する。音声オプション820-2が選択された場合、画面は、ユーザに(たとえば、マイクロフォン312を使った)音声入力を要求するプロンプトを表示する(たとえば、ジャックは、アシスタントボタン606を押しながら「私はジャックです」と言う)。次に、音声入力を、ゲームコントローラ102上に(デバイスデータ354に)格納されたログイン認証情報と比較する。PINオプション820-3が選択された場合、ジャックは、ゲームコントローラ102上の十字キーおよび/またはボタンのうちの1つ以上を使って自身のPINを入力する。その後、当該PINがゲームコントローラ102上に格納されたログイン認証情報と比較される。いくつかの実施態様では、ユーザであるジャックが認証した後、ゲームコントローラ102は、ユーザであるジャック(図2Aのステップ204を参照)に対応する認証トークンをインターフェース装置102に送信し、ユーザであるジャックのアクセストークンを用いてゲームポータルUIが起動される。
いくつかの実施態様では、ゲームポータルUIは、起動したときにゲストアカウントオプション(たとえば、「ゲスト」プレーヤーアカウント816)を含む。いくつかの実施態様では、ゲストアカウントによって、ゲームコントローラ102上に認証情報が格納されていないゲストユーザがゲストユーザに関する情報を入力できるようになる。いくつかの実施態様では、ゲストアカウントは、ゲストユーザの限定的なアカウント権限および/または限定的なオプションを提供する(たとえば、ゲストユーザは、限られた数のゲームへのアクセス権を有し、ゲストユーザは、いずれのゲームも所有しておらず、ゲストユーザは、ゲームなどを購入することができない)。
図9A~図9Fは、いくつかの実施態様に係る、環境900における2つのゲームコントローラ102-1および102-2とインターフェース装置106との間の例示的なやりとりを示す図である。ゲームコントローラ102-1および102-2の各々は、インターフェース装置106と通信可能に接続(たとえば、ペアリング)される。
いくつかの実施態様では、ゲーミングセッションは、1つのローカル環境900で、2つのゲームコントローラを使って2人のプレーヤーによって同時に実行される。この例では、環境900は、2人の構成員であるジュリアとジャックがいる住居環境とし、各々が自身のゲームコントローラを持っている。第1コントローラ102-1は、ユーザ「Julia」にリンクされており、第2コントローラ102-2は、ユーザ「Jack」にリンクされている。ジュリアは、図2および図7で記載のステップを用いてゲームポータル
UIを起動する。
いくつかの実施態様では、ゲームコントローラ102およびインターフェース装置の各々は、各デバイスIDおよびクライアント証明書によって識別される。ゲームコントローラIDは、最終的に、ゲームアカウントとリンクされたユーザを識別し、インターフェース装置106上のすべてのユーザ固有のコンテンツを操作する。
いくつかの実施態様では、インターフェース装置106は、接続された(たとえば、ペアリングされた)すべてのゲームコントローラ102のゲームアプリケーション(ゲームアプリケーション436)のインスタンスを開始し、各ゲームコントローラをデバイスIDおよびクライアント証明書によって識別する。
図9Aは、プレーヤーアカウント912(「Julia」)と、プレーヤーアカウント914(「Jackio」)と、プレーヤーアカウント816(「Guest」)とを選択するオプションがある画面910を示す図である。ジュリアは、自身のゲームコントローラ102-1上の十字キー902および/またはボタン904、906、および/または908を使ってプレーヤーアカウント912(「Julia」)を選択する。いくつかの実施態様では、ジュリアは、図8Bに記載のステップを用いて自身のIDを認証するように求められる。いくつかの実施態様では、ジュリアが自分のアカウントを選択した(および認証処理を経た)後、ゲームコントローラ102-1は、ジュリアに対応する認証トークンをインターフェース装置106に送り、ジュリアのアクセストークンを使ってゲームポータルUIが起動される。
図9Bは、起動後のジュリアのゲームポータルUIを表示する画面950を示す図である。ゲームポータルUIの機能は、図7Aに記載されている。
図9Cでは、ジャックは、自身のゲームコントローラ102-2上のボタンを押下することによってジュリアのセッションにリンクする。いくつかの実施態様では、ジャックは、プレーヤーアカウント914(「Jackio」)を選択し、認証処理を経る。ゲームコントローラ102-2もインターフェース装置106とペアリング済みであると認識するので、インターフェース装置106は、ジュリアのゲームポータルUI960上に、ジュリアのコントローラ(すなわち、ゲームコントローラ102-1)へのリンクを要求する警告ウィンドウ928と、オプション930および932とを表示する。ジャックは、オプション930(「はい」)を選択すると、ジュリアのゲーミングセッションに参加する。ジャックは、オプション932(「いいえ」)を選択すると、ペアリングする装置に異なるインターフェース装置を選択してもよい(図示せず)。
いくつかの実施態様では、第2プレーヤーが第1プレーヤーのゲーミングセッションに参加した時、第1プレーヤーがゲーミングセッションの「ホスト」(または、プライマリユーザ)となり、第2プレーヤーが「ゲスト」(または、セカンダリユーザ)となる。サーバ(たとえば、ストリーミングサーバ102)は、ゲームメディアコンテンツを表示装置108にストリーム配信し、ゲームコントローラ102-1およびゲームコントローラ102-2から同時にゲーム入力を受信する。
いくつかの実施態様では、複数のゲームコントローラ102がインターフェース装置106に接続された時、ゲームポータルUIを操縦する際には、プライマリユーザのゲームコントローラ(すなわち、この例では、102-1)のみが使用される。プライマリユーザは、ゲームアプリケーションを起動するユーザであり、そのコンテンツがゲームポータルUIによって表示されている。
いくつかの実施態様では、ゲーミングセッションが開始するまで、ホストのみがゲームポータルUIを制御できる。いくつかの実施態様では、ゲーミングセッション中、コントローラ102-1および102-2の各々は、独立してサーバシステム114に入力を送り、ゲームコントローラ102-1および102-2の各々は、独立してインターフェース装置106と通信を行う。
図9Dおよび図9Eは、いくつかの実施態様に係る、マルチプレーヤーゲーミングセッションを終了する様子を示す図である。この例では、ゲストプレーヤー(すなわち、ジャック)は、ゲームコントローラ102-2上のボタンを押下することによって(たとえば、ホームボタン608の長押しによって)、ゲーミングセッションを終了する。ゲストプレーヤーの入力に応答して、画面970は、ゲストプレーヤーの終了を確認するメッセージ932を表示する。ジャックは、(たとえば、オプション934(「はい」を選択することによって)終了を確認した場合、ゲームコントローラ102-2の電源を切る。いくつかの実施態様では、ゲストプレーヤーが終了する一方で、ホットプレーヤーおよびその他のセカンダリユーザは、ゲーミングセッションを続ける。いくつかの実施態様では、ゲーミングセッションは、ホスト(すなわち、ジュリア)が接続されている限り続く。
ジャックがゲーミングセッションを終了して少し経った後、ホストプレーヤーであるジュリアは、ゲーミングセッションを終了しようと決める。彼女は、ゲームコントローラ上のボタンを押下して、ゲームの終了を開始する。ホストプレーヤーの入力に応答して、ホストプレーヤー(図示せず)の終了を確認するメッセージが画面上に表示される。いくつかの実施態様では、ゲーミングセッションを終了するというホストプレーヤーからの確認に従って、ゲームサーバ(たとえば、サーバシステム114)は、ゲーム/状態をセーブして、(たとえば、図7Bで記載のステップに従って)ゲームサービスを終了する。いくつかの実施態様によると、図9Eに示すように、インターフェース装置106は、ゲームサービスが終了した後に、背景表示980を表示装置108上に表示する。
いくつかの実施態様では、ホストプレーヤー/アカウントがゲーミングセッションを終了する、および/またはホストのゲームコントローラの電源が切られた時にのみ、ゲーミングセッションは、終了する。
図9Fは、いくつかの実施態様に係る、環境900における、ゲスト(「Brandon」)のゲームコントローラ102-3のセットアップ処理を示す図である。この例では、ブランドンは、ゲームコントローラ102-3を持ってジュリアとジャックの家を訪れる。家では、ブランドンは、携帯電話938上の添付のアプリケーション955(たとえば、Home Application612)上で、自身のゲームコントローラ「Brandon1」の接続が失われたというメッセージ952を受信する。また、メッセージ952は、オプション953および954を含む。いくつかの実施態様では、ブランドンは、アプリケーション955を利用して、ゲームコントローラ102-3を家のローカルネットワークに(たとえば、ジュリアとジャックの家のWifi接続に)接続する。いくつかの実施態様では、ブランドンは、さらにアプリケーション955を利用して、デフォルトのペアリングデバイス(たとえば、ジュリアとジャックの家にあるインターフェース装置106)を選択する。いくつかの実施態様では、デフォルトのペアリングデバイスを選択した後、ブランドンは、ゲームコントローラ102-3上のボタンを押下してインターフェース装置106とペアリングし、ゲームポータルUIを起動する。
図9Fは、アカウント940(「Belle」)およびアカウント942(「Brandon」)を含む、ブランドンのゲームコントローラ102-3にリンクされるアカウントを表示する画面990を示す図である。ブランドンは、自身のIDに対応するアカウント942(「Brandon」)を選択する。この例では、ゲームコントローラ102-
3が異なるWifiネットワークに接続されているので、ブランドンは、アカウント942(「Brandon」)に対応するPIN944を入力して自身のIDを検証する必要がある。PIN944が格納されたブランドンの認証情報と一致するというゲームコントローラ102-3からの判断に従って、ゲームコントローラは、ブランドンのためにゲームポータルUIを起動する処理に進む。いくつかの実施態様では、図9Bおよび図9Cに記載のステップを用いて、ジュリアは、自身のコントローラ102-1をブランドンのセッションにゲストとしてリンクさせることができる。
図10A~図10Bは、いくつかの実施態様に係る、環境1000におけるゲームコントローラ102と2つのインターフェース装置106-1および106-2とのやり取りの例を示す図である。インターフェース装置106-1および106-2は、それぞれ表示装置108-1および108-2に連結される。ゲームコントローラ102は、インターフェース装置106-1および106-2の各々と通信可能に接続(たとえば、ペアリング)される。
いくつかの実施態様では、インターフェース装置106-1および106-2は、環境1000の異なる場所に位置する。この例では、環境1000は、住居環境であり、インターフェース装置106-1および106-2は、それぞれ居間と寝室に位置する。インターフェース装置106-1(居間のテレビ)がゲームコントローラ102のデフォルトのペアリングデバイスであると想定する。よって、ゲームアプリケーションが開始されたとき、デフォルトの表示装置108-1は、ゲームコントローラ102に対応付けられたアカウント1002(「Julia」)および1004(「Jackio」)を含んだ画面1010を表示する。デフォルト以外のインターフェース装置(すなわち、寝室のテレビ108-2に連結されたインターフェース装置106-2)は、ゲームコントローラ102をインターフェース装置106-2にリンクさせるための命令を含むメッセージ1006付きの画面1002を表示する。
図10Bは、ゲームコントローラ102が、デフォルト設定に関わらず、インターフェース装置との近さに基づいてインターフェース装置と自動的にペアリングする別の実施態様を示す図である。ここでは、インターフェース装置106-1がデフォルトのペアリングデバイスであるが、ゲームコントローラ102がその近傍の1つ以上のインターフェース装置(複数可)(たとえば、106-1および106-2)を検出し、最も近接するインターフェース装置(すなわち、106-2)とペアリングする。
いくつかの実施態様では、ゲームコントローラ102は、無線機330を使って有効化された1つ以上の通信ネットワーク(たとえば、Whispernet、BLEおよび/またはWifi)を利用して、インターフェース装置106-1および106-2までの近さを検出し、ゲームコントローラ102により近接するインターフェース装置とペアリングする。たとえば、ゲームコントローラ102は、ゲームコントローラ102から送信される信号1012および1014(たとえば、Whispernet、BLEおよび/またはWifi)を利用して、インターフェース装置106-2よりもインターフェース装置106-1により近接していると判断する。この判断に従って、ゲームコントローラ102は、最も近くのデバイス(106-2)とペアリングする。
あるいは、いくつかの実施態様では、ゲームコントローラ102とそれぞれのインターフェース装置106との近さは、それぞれのインターフェース装置上の1つ以上のマイクロフォン(たとえば、マイクロフォン414)を使用してそれぞれのインターフェース装置によって判断される。たとえば、図10Bを参照すると、インターフェース装置106-2マイクロフォン414は、ユーザが歩いて部屋に入ったことを示すオーディオ入力を受信し、それに従って、インターフェース装置106-2がその存在およびペアリング接
続できることをゲームコントローラ102に明るみにする。
いくつかの実施態様では、図10Bに示すように、ゲームコントローラ102とペアリング接続することに応答して、インターフェース装置106-2は(たとえば、CECを利用して)、表示装置108-2を起動して、正しい入力に切り替える。さらには、インターフェース装置106-2は、ゲームコントローラ102にリンクされたアカウント1016(「Julia」)および1016(「Jackio」)を含んだ画面1040を表示する。デフォルトのインターフェース装置106-1は、ゲームコントローラ102とペアリング接続されない。これに従って、表示装置108-1は、真っ白な画面1030を表示する。
図11A~図11Dは、いくつかの実施態様に係る、ゲームプレー中にディスプレイを切り替えるための、ゲームコントローラ102と2つのインターフェース装置106-1および106-2との間のやり取りの別の例を示す図である。
この例では、ジャックがゲームコントローラ102を使って「レーシングカー」というゲームを居間でプレイしている。図11Aに示すように、居間のテレビ108-1は、ゲームの中からシーン1110を表示し、寝室のテレビ108-2は、真っ白な画面1120を表示している。
ジャックは、ゲームを寝室に移動しようと決める。図11Bに示すように、ジャックは、(たとえば、ゲームコントローラ102上のボタン314のうちの1つを押下することによって)居間のテレビ108-1上のゲームを一旦停止する。画面1110は、ゲームが一旦停止されたことを示すウィンドウ1106を表示する。いくつかの実施態様では、ジャックは、第2ボタンを押下して、異なる表示オプションを含むメニュー1104にアクセスする。この例では、ジャックは、オプション1104-1(「寝室のテレビ」)を選択する。いくつかの実施態様では、ジャックが異なる(すなわち、寝室の)ディスプレイを選択することに応答して、居間のテレビ108-1に接続されたインターフェース装置106-1がゲームサービスを終了し、表示装置108-1は、背景1130を表示する(図11Cを参照)。
図11Cは、ジャックがゲームコントローラ102を持って寝室に移動した様子を示す図である。いくつかの実施態様では、ゲームコントローラ102は、(たとえば、図10Bの実施態様に従って)最も近接するインターフェース装置106-2と自動的にペアリングする。ペアリングに応答して、インターフェース装置106-2は(たとえば、CECを利用して)、表示装置108-2を起動し、正しい入力に切り替える。画面1140によって示すように、ゲームサービスが起動し、一旦停止状態のゲームを再開する。ジャックは、ゲームの一旦停止を解除し、ゲームプレーを再開する。これらの動作のすべては、ユーザ側の中断を最低限に抑えて、容易かつシームレスに行われる。
あるいは、図11Dによって示すように、ユーザは、音声起動を利用して、ゲームプレーを環境1100内の異なる場所に移動させることができる。これの例では、ジャックは、ゲームコントローラ102を持って歩いて寝室に入った後、ゲームコントローラ102上のボタン(たとえば、アシスタンスボタン606)を押してもよい。当該ボタンは、ゲームコントローラ102上の1つ以上のマイクロフォン(たとえば、マイクロフォン312)を起動する。ジャックは、音声コマンド1118(「寝室のテレビでレーシングカーを再生して」)を発行する。いくつかの実施態様では、音声コマンドに応答して、ゲームコントローラ102は、(たとえば、音声アシスタンスモジュール370を用いて)当該コマンドをパースし、「寝室のテレビ」が表示オプションのうちの1つであると識別し、「寝室のテレビ」108-2に接続されたインターフェース装置106-2とペアリング
する。いくつかの実施態様では、この音声コマンドは、サーバシステム114において処理されるために(インターフェース装置106-2を介して)サーバシステム114に送信される。
これに加えて、様々な図および実施態様によって説明したように、ゲームコントローラ102、電子機器104、および/またはインターフェース装置106に通信可能に接続されたその他の電子機器を用いて、ユーザ、ネットワーク、および内部のデバイスについて分かる「環境グラフ」(たとえば、住居環境の場合、自宅グラフ)を作成することができる。いくつかの実施態様では、ゲームコントローラ102は、このグラフを使ってユーザ、デバイス、および接続可能なディスプレイを識別することができる。
図12A~図12Cは、いくつかの実施態様に係る、クラウドゲームのための方法1200のフローチャート表現である。方法1200は、1つ以上のプロセッサと、当該1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを有する第1電子機器(たとえば、図4のインターフェース装置106)において実施される。いくつかの実施態様では、方法1200は、(1)1つ以上のインターフェース装置106、(2)1つ以上のゲームコントローラ102、(3)1つ以上の電子機器104、(4)サーバシステム114など1つ以上のサーバシステム、または(5)それらの組合せによって実行される。いくつかの実施態様では、方法1200は、命令に準拠する。当該命令は、非一時的なコンピュータ読み取り可能な記憶媒体に格納され、ゲームコントローラ102の1つ以上のプロセッサ302など、デバイス/コンピューティングシステムの1つ以上のプロセッサ、および/またはインターフェース装置106の1つ以上のプロセッサ402、および/またはサーバシステム114の1つ以上のプロセッサ502によって実行される。便宜上、後述する具体的な動作は、表示装置108(たとえば、テレビ、コンピュータモニタ)に連結されるインターフェース装置106によって実行されると説明する。
インターフェース装置106は、第1電子機器に近接する第2電子機器から、クラウドゲーミングセッションを起動するための第1のユーザ入力を受信する(1202)。インターフェース装置106と第2電子機器とは、共通ネットワーク(たとえば、ローカルネットワーク110、140、および/または150)上で通信可能に接続されている。
いくつかの実施態様では、第2電子機器は、ゲームコントローラ(たとえば、ゲームコントローラ102)である(1204)。いくつかの実施態様では、第1のユーザ入力は、ゲームコントローラ102上のボタンの選択(たとえば、ボタン314のうちの1つ)を含む。
いくつかの実施態様では、最初、ゲームコントローラ102は、電源オフ/スタンバイモードであり、第1のユーザ入力によってゲームコントローラ102の電源がオンになる。いくつかの実施態様では、ゲームコントローラ102は、電源がオンになった後、ローカルネットワークに自動的に接続する(たとえば、Wifiネットワーク)。いくつかの実施態様では、ゲームコントローラは、ローカルネットワークに接続した後、自動的に(デフォルト)インターフェース装置106とペアリングする。
いくつかの実施態様では、インターフェース装置106は、キャスティングデバイスおよび/またはメディアストリーミングデバイスである。いくつかの実施態様では、インターフェース装置106は、ハードウェアドングルである。
いくつかの実施態様では、第2電子機器は、スマートフォン、タブレットデバイス、ラップトップ、およびコンピュータ(たとえば、図1の電子機器104)のうちの1つであ
る。いくつかの実施態様では、第2電子機器は、1つ以上の標準化されたゲームコントローラ構成を実装するための仮想コントローラアプリケーションを含む。
いくつかの実施態様では、表示装置108は、電源オフ状態である(1228)。この例では、第1のユーザ入力を受信することに応答して、インターフェース装置106は、表示装置の電源をオンにして(1230)、第1電子機器に連結された表示装置の入力ポート(たとえば、HDMIポート)をユーザの介入なしで自動的に選択する(1232)ことによって、(たとえば、Consumer Electronics Controlを利用して)インターフェース装置106の出力を表示装置108上に表示させる。
第1のユーザ入力を受信することに応答して、インターフェース装置106は、ゲームサーバ上のゲームサービスに接続する(1208)。いくつかの実施態様では、ゲームサービスに接続することは、ゲームポータルユーザインターフェースを起動することを含む。いくつかの実施態様では、ゲームポータルユーザインターフェースの起動は、図2Aで記載の処理に従って行われる。
インターフェース装置106は、ユーザに対応付けられたデフォルトのプレーヤーIDを、ユーザの介入なしで自動的に識別する(1210)。いくつかの実施態様では、デフォルトのプレーヤーIDは、第2電子機器のデフォルトユーザである。いくつかの実施態様では、第2電子機器は、(たとえば、図7のユーザが1人の世帯における)1人のユーザに対応付けられており、デフォルトのプレーヤーIDは、当該1人のユーザである。いくつかの実施態様では、第2電子機器は、2人以上のユーザに対応付けられており、デフォルトのプレーヤーIDは、セットアップ中(たとえば、図6に示す準備処理中)に設けられる。いくつかの実施態様では、デフォルトのプレーヤーIDは、第2電子機器上に格納される(たとえば、ゲームコントローラ102上に格納される)。
インターフェース装置106は、ゲームサーバと連動して、デフォルトのプレーヤーIDを用いてクラウドゲーミングセッションを起動する(1212)。いくつかの実施態様では、インターフェース装置106は、第2のユーザ入力(たとえば、ユーザがゲームコントローラ102上の第2ボタンを押下する)に応じてクラウドゲーミングセッションを起動する。
いくつかの実施態様では、ユーザ入力は、ゲームの選択を含む(1204)。いくつかの実施態様では、ゲームの選択は、ゲームコントローラ102上の1つ以上のボタン(たとえば、ボタン、314)、および/または十字キー(たとえば、十字キー(複数可)315)、および/またはジョイスティック(たとえば、ジョイスティック316)を使って行われる。いくつかの実施態様では、ゲームの選択は、第2電子機器上のキーボード、マウス、仮想ボタン、仮想十字キー、および/または仮想ジョイスティックのうちの1つ以上を使って行われる。
いくつかの実施態様では、ゲームの選択に従って、インターフェース装置106は、ゲームサーバ(たとえば、ゲームサーバシステム114)からゲームのゲームメディアストリームを取得し(1214)、ゲームメディアストリームをデコードし(1216)、デコードされたゲームメディアストリームを表示装置108に出力する(1218)。ここで、ゲームメディアストリームは、ゲーミングセッションを起動する(1212)時に第2電子機器からゲームサーバに直接送信されるゲーム入力に応答して、ゲームサーバによって生成される。いくつかの実施態様では、インターフェース装置106は、サーバインターフェースモジュール440を介して、および/または図2Bで説明した処理を利用して、ゲームのゲームメディアストリームを取得する。
いくつかの実施態様では、ゲーミングセッション中、インターフェース装置106は、セッションを終了するというユーザによる要求を第2電子機器から受け付ける(1220)。
いくつかの実施態様では、要求に応答して、インターフェース装置106は、終了要求を確認するメッセージを表示画面上に表示する。いくつかの実施態様では、インターフェース装置106は、終了要求を確認する第2入力を受信する。確認に従って、インターフェース装置106は、サーバシステム114に終了要求を送信し、サーバシステム114に、ゲームの状態を(たとえば、データベース(複数可)122に)セーブさせる。
いくつかの実施態様では、インターフェース装置106は、たとえば、(ゲームサーバ114から)クラウドゲーミングセッションをセーブしたという知らせを受信する(1222)。知らせに従って、インターフェース装置106は、ゲームサービスを終了し(1224)、表示装置108上にデフォルトの画面表示を表示する(1226)。(たとえば、図7Cの背景画面730)。いくつかの実施態様によると、インターフェース装置106は、終了要求を拒否する第2のユーザ入力を受信する(たとえば、ユーザは、図8Bのオプション722(「いいえ/戻る」)を選択する)。終了要求を拒否する第2のユーザ入力に従って、ゲームセッションが再開/継続する。
いくつかの実施態様では、インターフェース装置106は、第3電子機器からペアリング通知を受信する(1234)。いくつかの実施態様では、第3電子機器は、ゲームコントローラ102とは別個の第2ゲームコントローラ(たとえば、図9Fのゲームコントローラ102-3)である。
いくつかの実施態様では、ペアリング通知に従って、インターフェース装置106は、複数のプレーヤーIDを含むログイン画面を表示装置108上に表示する(1236)。プレーヤーIDの各々は、第3電子機器と対応付けられている(たとえば、リンクさせられている)。
いくつかの実施態様では、インターフェース装置106は、プレーヤーIDのうちの第1のプレーヤーIDの選択を第3電子機器から受信する(1238)。
いくつかの実施態様では、インターフェース装置106は、第1のプレーヤーIDに関連する画面を表示装置108上に表示する(1240)。いくつかの実施態様では、第3電子機器は、前記ローカルネットワークとは別個の第2ローカルネットワークに対応付けられている。この例では、第1のプレーヤーIDの選択は、(たとえば、図9Fに示すように)第1のプレーヤーIDに対応付けられたパスワードの入力要求を含み、第1のプレーヤーIDに関連する画面の表示は、当該パスワードが第3電子機器102-3に格納されたパスワードに一致するという判断に従って行われる。
いくつかの実施態様では、インターフェース装置106は、第2電子機器を第3電子機器とリンクさせる(1242)ことによって、第2電子機器と第3電子機器とに、選択されたゲームを一緒にプレイさせる。図9の例に示すように、ブランドンとジュリアは、第1電子機器(すなわち、インターフェース装置106)を用いたゲーミングセッションで一緒にプレイし、彼らのそれぞれのコントローラを介して別個のそれぞれのゲームコマンドを送る。
いくつかの実施態様では、第2電子機器は、ゲストデバイスであり、第3電子機器は、ゲーミングセッションのホストデバイスである(1244)。いくつかの実施態様では、複数のゲームコントローラ102がインターフェース装置106に接続された時、ゲーム
ポータルUIの操作には、プライマリユーザ(すなわち、ホストデバイスのユーザ)のゲームコントローラのみが使われる。いくつかの実施態様では、プライマリユーザ(すなわち、ホストデバイスのユーザ)は、ゲームアプリケーションを起動するユーザであって、ゲームポータルUIに自身のコンテンツが表示されているユーザである。
いくつかの実施態様によると、コンピューティングシステム(たとえば、インターフェース装置106)は、1つ以上のプロセッサと、当該1つ以上のプロセッサに連結されたメモリとを含む。メモリは、1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを格納し、1つ以上のプログラムは、上記方法および/または動作を実行するための命令を含む。
いくつかの実施態様によると、(たとえば、メモリ406内の)非一時的なコンピュータ読み取り可能な記憶媒体は、1つ以上のプログラムを格納し、当該1つ以上のプログラムは、コンピューティングシステムによって実行されるとシステムに上記方法および/または動作を実行させる命令を含む。
図13A~図13Eは、いくつかの実施態様に係る、クラウドゲームのための方法1300のフローチャート表現である。方法1300は、1つ以上のプロセッサと、当該1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを有する第1電子機器(たとえば、図4のインターフェース装置106)において実施される。いくつかの実施態様では、方法1200は、(1)1つ以上のインターフェース装置106、(2)1つ以上のゲームコントローラ102、(3)1つ以上の電子機器104、(4)サーバシステム114などの1つ以上のサーバシステム、または(5)それらの組合せ、によって実行される。いくつかの実施態様では、方法1300は、命令に準拠する。当該命令は、非一時的なコンピュータ読み取り可能な記憶媒体に格納され、ゲームコントローラ102の1つ以上のプロセッサ302など、デバイス/コンピューティングシステムの1つ以上のプロセッサ、および/またはインターフェース装置106の1つ以上のプロセッサ402、および/またはサーバシステム114の1つ以上のプロセッサ502によって実行される。便宜上、後述する具体的な動作は、表示装置108(たとえば、テレビ、コンピュータモニタ)に連結されるインターフェース装置106によって実行されると説明する。
インターフェース装置106は、クラウドゲーミングセッションを起動するための第1のユーザ入力を、第1電子機器に近接する第2電子機器から受信する(1302)。第1のユーザ入力は、ゲームの選択を含む。インターフェース装置106と第2電子機器とは、共通ネットワーク上で通信可能に接続されている。いくつかの実施態様では、第2電子機器は、ゲームコントローラ(たとえば、ゲームコントローラ102)である(1204)。いくつかの実施態様では、第1のユーザ入力は、ゲームコントローラ102上のボタンの選択(たとえば、ボタン314のうちの1つ)を含む。
インターフェース装置106は、第1のユーザ入力を受信することに応答して、ゲームサーバ上のゲームサービスに接続する(1306)。いくつかの実施態様では、ゲームサービスに接続することは、ゲームポータルユーザインターフェースを起動することを含む。いくつかの実施態様では、ゲームポータルユーザインターフェースを起動することは、図2Aで記載の処理に従って行われる。
インターフェース装置106は、複数のプレーヤーIDを含むログイン画面を、ユーザの介入なしで自動的に表示装置に表示する(1308)。いくつかの実施態様では、複数のプレーヤーIDの各々は、第2電子機器の各ユーザに対応する(1312)。いくつかの実施態様では、第2電子機器は、複数のプレーヤー(ユーザ)によって使われ、複数の
プレーヤーIDは、第2電子機器が対応付けられた(すなわち、リンクされた)複数のプレーヤーに対応する。いくつかの実施態様では、複数のプレーヤーIDは、各プレーヤー名(またはユーザ名)および/またはそれぞれのプレーヤーを視覚的に表現したもの(たとえば、写真、画像、および/またはプレーヤーのアバター)を含む。
いくつかの実施態様では、第2電子機器は、デバイスIDおよび/またはクライアント証明書によって識別される。いくつかの実施態様では、第2電子機器は、複数のプレーヤーIDにリンクされる。複数のプレーヤーIDは、各々、第2電子機器のユーザに対応する。いくつかの実施態様では、各プレーヤーIDは、デバイスIDおよび/またはクライアント証明書に対応付けられる(たとえば、リンクされる)。
インターフェース装置106は、複数のプレーヤーIDのうちの第1のプレーヤーIDの選択を第2電子機器から受信する(1310)。
いくつかの実施態様では、第2電子機器は、各プレーヤーIDに各々が対応する複数のユーザログイン認証情報を格納する(1304)。いくつかの実施態様では、ユーザログイン認証情報は、ゲームサーバ上(たとえば、サーバシステム114のデータベース(複数可)122)に同時に格納される。また、いくつかの実施態様では、第2電子機器は、複数のネットワークログイン認証情報を格納する。いくつかの実施態様では、格納されたネットワーク認証情報の各々は、第2電子機器が通信可能に接続された各ローカルネットワークに対応する。
いくつかの実施態様では、第1のプレーヤーID(ステップ1310を参照)の選択を受け付けた後、インターフェース装置106は、インターフェース装置106に近接する、ユーザに対応付けられた携帯電話、ユーザの音声入力、およびパスワード入力のうちの1つ以上を用いて、ユーザのIDを取得する(1314)。いくつかの実施態様では、ユーザのIDの取得は、第2電子機器上でセキュリティ機能(たとえば、ゲームコントローラ102のセキュリティモジュール368)が有効化することに応答して行われる。いくつかの実施態様では、インターフェース106は、近接/検出部410を用いて、携帯電話を利用しているユーザのIDを取得する。
いくつかの実施態様では、インターフェース装置106は、取得したユーザIDと(たとえば、図8Bで説明したような)複数の格納されたユーザログイン認証情報との一致を特定する(1316)。
いくつかの実施態様では、インターフェース装置106は、当該一致に基づいて第1のプレーヤーIDを選択する(1318)。
インターフェース装置106は、選択された第1のプレーヤーIDを使ってゲームサービスにログオンする(1320)。
インターフェース装置106は、ゲームサーバと連動してクラウドゲーミングセッションを起動し、ゲームプレーを開始する(1322)。
インターフェース装置106は、ゲームサーバ(たとえば、サーバシステム114)からゲームのゲームメディアストリームを取得する(1324)。
インターフェース装置106は、ゲームメディアストリームをデコードする(1326)。
インターフェース装置106は、デコードされたゲームメディアストリームを表示装置108に出力する(1328)。ゲームメディアストリームは、第2電子機器からゲームサーバに直接送信されたゲーム入力に応答してゲームサーバによって生成される。
いくつかの実施態様では、ゲーミングセッション中、インターフェース装置106は、共通ネットワークを介して第3電子機器をインターフェース装置106に通信可能に連結したという知らせを受信する(1330)。
いくつかの実施態様では、インターフェース装置106は、第3電子機器を第2電子機器とリンクさせる要求を含んだ第2のログイン画面を表示装置108上に表示する(1332)。図9の例を参照すると、ジュリアは、自身のゲームコントローラ102-1を使ってゲームポータルUIを起動し、ジャックは、自身のコントローラ102-2をジュリアのゲームセッションにリンクさせる要求を送る。ジュリアは、自身のゲームコントローラ102-1と自身のゲームセッションとをリンクさせるよう要求するメッセージ928を、自身のログイン画面960上で受信する。
いくつかの実施態様では、インターフェース装置106は、キャスティングデバイス(または、メディアストリーミングデバイス)であり、第2電子機器は、第1ゲームコントローラ(たとえば、図9のゲームコントローラ102-1)であり、第3電子機器は、第2ゲームコントローラ(たとえば、図9のゲームコントローラ102-2)である(1334)。
いくつかの実施態様では、第2電子機器は、ゲーミングセッションのホストであり、第3電子機器は、ゲーミングセッションのゲストである(1336)。
いくつかの実施態様では、インターフェース装置106は、要求に対する応答を第3電子機器から受信する(1337)。図9の例を再び参照すると、インターフェース装置は、第3電子機器を第2電子機器とリンクさせる要求に応答して、第3コントローラ(すなわち、ジャックのゲームコントローラ102-2)から応答を受信する。いくつかの実施態様では、応答が承認を示すという判断に従って(すなわち、ジャックがオプション935(「はい」)を選択する)、インターフェース装置106は、第3電子機器を第2電子機器とリンクさせる(1338)ことにより、第2電子機器と第3電子機器と、選択されたゲームを一緒にプレイさせる。いくつかの実施態様では、リンクに従って、第2電子機器および第3電子機器は、独立してそれぞれのゲーム入力をゲームサーバ(すなわち、サーバシステム114)に直接送信する。いくつかの実施態様では、リンクさせることに応じて、第2電子機器および第3電子機器は、独立して各コマンドサブセットをインターフェース装置106に直接送信する。いくつかの実施態様では、第2電子機器は、リンク処理の間、ゲームプレーを継続する。
いくつかの実施態様では、インターフェース装置106は、複数のインターフェース装置(すなわち、環境は、2つ以上のインターフェース装置を含む)のうちの第1のインターフェース装置106であり、第1電子機器の各々は、共通ネットワークを介して互いに通信可能に連結され、インターフェース装置の各々は、各表示装置に連結される(1339)。
いくつかの実施態様では、応答が拒否を示すという判断(すなわち、図9Cにおいて、ジャックは、オプション930(「いいえ」を選択する))(1340)に従って、インターフェース装置106は、共通ネットワーク上の複数のインターフェース装置を表示装置上に表示する(1342)。
いくつかの実施態様では、インターフェース装置106は、複数の第1電子機器のうちの第2の第1電子機器の選択を第3電子機器から受信する(1344)。図9Cの例に戻ると、ジャックは、オプション930(「いいえ」)を選択した場合、ペアリングするその他のインターフェース装置を画面から選択することができる。選択に従って、ジャックは、自身のゲームコントローラをインターフェース装置のうちの第2のインターフェース装置(たとえば、インターフェース装置106-2)とペアリングする。これにより、インターフェース装置106-2と連結された表示装置上に、選択されたゲームがストリーム配信される。ジャックのゲーム入力は、インターフェース装置106-2を用いて直接サーバシステム114に送信される。
いくつかの実施態様では、ゲームプレー中、インターフェース装置106は、ゲーミングセッションを終了する要求を第3電子機器から受け付ける(1346)。
いくつかの実施態様では、要求を受け付けることに従って、インターフェース装置106は、第3電子機器にゲーミングセッションを終了させる(1348)。終了させている間、第2電子機器からゲームサーバに直接送信されたゲーム入力に応答して第2電子機器からゲームサーバに直接送信されるゲーム入力に応答して、ゲームメディアストリームは、ゲームサーバによって生成され続ける。いくつかの実施態様では、終了させている間、第2電子機器は、ゲームプレーを継続する。いくつかの実施態様では、終了要求に応答して、表示装置108は、(たとえば、図9Dに示すような)終了要求の確認を要求するメッセージを表示すし、当該要求が確認されると、第3電子機器を終了させる。
いくつかの実施態様では、インターフェース装置106は、セッションを終了させるという第2要求を第2電子機器から受け付ける(1350)。
いくつかの実施態様では、受信した第2要求に従って、インターフェース装置106は、セッションをセーブしたという知らせをゲームサーバから受信する(1352)。
いくつかの実施態様では、インターフェース装置106は、ゲームサービスを終了する(1354)。
いくつかの実施態様では、第2電子機器は、ホストデバイスである。したがって、第2要求に応答して、サーバシステム114は、ゲームの状態をセーブして、ゲームサービスを終了する。
いくつかの実施態様では、インターフェース装置106は、ホストデバイスに対応付けられた第1プレーヤーアカウントがゲーミングセッションを終了したおよび/またはホストデバイスの電源が切られたと判断し、インターフェース装置106は、この判断に従ってゲームサービスを終了する(1356)。
いくつかの実施態様では、インターフェース装置106は、表示装置上にデフォルトの画面表示を表示する(1358)。いくつかの実施態様では、サーバシステム114がゲームサービスを終了した後、表示装置108は、デフォルトの背景画面(たとえば、図9Eの画面980)を表示する。
いくつかの実施態様によると、コンピューティングシステム(たとえば、インターフェース装置106)は、1つ以上のプロセッサ(たとえば、プロセッサ(複数可)402)と、1つ以上のプロセッサに連結されたメモリ(たとえば、メモリ406)とを備え、メモリは、1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを格納し、1つ以上のプログラムは、上記方法および/または動作を実行するための命
令を含む。
いくつかの実施態様によると、(たとえば、メモリ406内の)非一時的なコンピュータ読み取り可能な記憶媒体は、1つ以上のプログラムを格納する。1つ以上のプログラムは、コンピューティングシステムによって実行されるとシステムに上記方法および/または動作を実行させる命令を含む。
図14A~図14Bは、いくつかの実施態様に係る、クラウドゲームのための方法1400のフローチャート表現である。方法1400は、1つ以上のプロセッサと、当該1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを有する第2電子機器(たとえば、図3のゲームコントローラ102)において実施される。いくつかの実施態様では、方法1200は、(1)1つ以上のゲームコントローラ102、(2)1つ以上のインターフェース装置106、(3)1つ以上の電子機器104、(4)サーバシステム114など1つ以上のサーバシステム、または(5)それらの組合せ、によって実行される。いくつかの実施態様では、方法1400は、命令に準拠する。当該命令は、非一時的なコンピュータ読み取り可能な記憶媒体に格納され、ゲームコントローラ102の1つ以上のプロセッサ302など、デバイス/コンピューティングシステムの1つ以上のプロセッサ、および/またはインターフェース装置106の1つ以上のプロセッサ402、および/またはサーバシステム114の1つ以上のプロセッサ502によって実行される。便宜上、後述する具体的な動作は、ゲームコントローラ102によって実行されると説明する。
ゲームコントローラ102は、ゲーミングセッションを起動するための第1入力を複数の第1電子機器(たとえば、インターフェース装置106)に送る(1402)。ここで、第2電子機器は、第1電子機器の各々に共通ネットワーク上で通信可能に接続されており、第1電子機器の各々は、各表示装置に連結されている。
第1入力に応答して、ゲームコントローラ102は、第1電子機器のうちの第1の第1電子機器(たとえば、図10のインターフェース装置106-1)に、複数のプレーヤーIDを含むログイン画面を、ユーザの介入なしで自動的に第1の表示装置上に表示させる(1406)。
ゲームコントローラ102は、第1電子機器のうちの第2の第1電子機器に、命令を含んだ通知を、ユーザの介入なしで自動的に第2の表示装置上に表示させる(1414)。
ゲームコントローラ102は、第1電子機器のうちの第1の第1電子機器に第2入力を送る(1416)。第2入力は、複数のプレーヤーIDのうちの第1のプレーヤーIDの選択を含む。
第2入力に応答して、ゲームコントローラ102は、第1電子機器のうちの第1の第1電子機器上でゲーミングセッションを起動する(1418)。
図10Aの例など、いくつかの実施態様では、第1電子機器のうちの第1の第1電子機器(たとえば、インターフェース装置106-1)は、ゲームコントローラ102のデフォルトのペアリングデバイスである。この例によると、デフォルトの居間のディスプレイ108-1は、ゲームポータルUIを表示し、非デフォルトのディスプレイ(すなわち、寝室のテレビ108-2)は、メッセージ(たとえば、メッセージ1006)を、表示装置108-2にリンクする方法に関する命令とともに表示する。
いくつかの実施態様では、第1電子機器のうちの第1の第1電子機器は、直近のゲーミ
ングセッションに使われたデバイスである。
いくつかの実施態様では、第1電子機器の各々は、オーディオインターフェース(たとえば、インターフェース装置106のマイクロフォン414)を含む(1404)。ゲームコントローラ102は、第1電子機器の各々に、各オーディオインターフェースを介して第2電子機器のユーザからオーディオ入力を受信させる(1408)。受信したオーディオ入力に従って、ゲームコントローラ102は、第1電子機器のうちの第1の第1電子機器がゲームコントローラ102に最も近接すると判断する(1410)。判断に従って、ゲームコントローラ102は、判断に従って、第1電子機器のうちの第1の第1電子機器を第2電子機器とペアリングさせる(1412)。
いくつかの実施態様では、通信インターフェース(複数可)304および/または近接検出部334を用いて、ゲームコントローラ102は、第1電子機器のうちの第1の第1電子機器がゲームコントローラ102に最も近接していると判断する。いくつかの実施態様では、ゲームコントローラ102は、Whispernet、Bluetooth Low Energy(BLE)またはWifiを利用して、最も近いインターフェース装置を発見し、当該最も近いインターフェース装置とペアリングする。
いくつかの実施態様では、ゲームコントローラ102は、デフォルトのペアリングインターフェース装置を格納し、デフォルトのペアリングデバイスを無効にして最も近接するインターフェース装置とペアリングする。いくつかの実施態様では、当該ペアリングに従って、最も近いインターフェース装置は、連結された表示装置をオンにする。
いくつかの実施態様では、ゲームコントローラ102は、第1電子機器のうちの第1の第1電子機器に第3入力を送る(1420)。いくつかの実施態様では、第3入力は、ゲームを一旦停止させるためのコマンド(たとえば、要求)である。いくつかの実施態様では、第3入力は、ゲームポータルUI上のメニューにアクセスするためのコマンドである。
いくつかの実施態様では、第3入力に応答して、ゲームコントローラ102は、第1電子機器のうちの第1の第1電子機器に、複数の第1電子機器に連結された複数の表示装置を表示させる(1422)。いくつかの実施態様では、第3入力は、ゲームを一旦停止させる要求を含む。
いくつかの実施態様では、ゲームコントローラ102は、第1電子機器のうちの第1の第1電子機器に第4入力を送る(1424)。いくつかの実施態様では、第4入力は、第1電子機器のうちの第2の第1電子機器を選択するコマンドである。
いくつかの実施態様では、第4入力に応答して、ゲームコントローラ102は、第1電子機器のうちの第1機器に、ゲーミングセッションを一旦停止させる(1426)。
いくつかの実施態様では、ゲームコントローラ102は、第1電子機器のうちの第2の第1電子機器に、ゲーミングセッションの一旦停止を解除させる(1428)ことによって、一旦停止状態からゲーミングセッションを再開する。一旦停止させることと一旦停止を解除させることとは、第4入力に応答して、ユーザの介入なしで同時に実行される。いくつかの実施態様では、第1電子機器のうちの第1の第1電子機器および第2の第1電子機器は、ローカル環境の異なるエリア(たとえば、住居環境の異なる部屋)に位置し、一旦停止を解除させることは、ゲームコントローラ102および/またはユーザの近接検出に応答して行われる。
いくつかの実施態様によると、コンピューティングシステム(たとえば、ゲームコントローラ102)は、1つ以上のプロセッサと、当該1つ以上のプロセッサに連結されたメモリとを備え、メモリは、1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを格納し、1つ以上のプログラムは、上記方法および/または動作を実行するための命令を含む。
いくつかの実施態様によると、(たとえば、メモリ306内の)非一時的なコンピュータ読み取り可能な記憶媒体は、1つ以上のプログラムを格納し、当該1つ以上のプログラムは、コンピューティングシステムによって実行されるとシステムに上記方法および/または動作を実行させる命令を含む。
いくつかの実施態様では、サーバシステム206は、電子機器(複数可)のユーザのためのアラートおよび/または通知を生成するための通知モジュール(図示せず)を含む。たとえば、いくつかの実施態様では、ユーザの電子機器上のローカルに訂正データベース補正データベースが格納され、サーバシステム206は、補正データベースの最新バージョン(複数可)またはアップデート(複数可)をダウンロードするようユーザに知らせるための通知を生成してもよい。
様々な図面のうちのいくつかは、複数の論理ステージを特定の順序で例示したが、順序に左右されないステージを並び替えてもよく、その他のステージが組み合わされたり、分割されたりしてもよい。いくつかの並び替えやその他のグループ分けを具体的に述べたが、その他が当業者に明らかになるであろう。そのため、本明細書に提示した順序およびグループ分けは、別例の一覧ではない。また、ステージは、ハードウェア、ファームウェア、ソフトウェア、または任意のそれらの組合せで実現できることを認識されたい。
また、様々な構成要素を説明するために、用語「第1の」、「第2の」などは、いくつかの例で、本明細書において使用され得るが、これらの構成要素は、これらの用語によって限定されるべきではないと理解されたい。これらの用語は、1つの構成要素を別の構成要素と区別するために使われているにすぎない。たとえば、記載の様々な実施態様の範囲から逸脱することなく、第1のインターフェース装置を第2のインターフェース装置と称することができ、同様に、第2のインターフェース装置を第1のインターフェース装置と称することができる。第1のインターフェース装置および第2のインターフェース装置は、両方ともインターフェース装置であるが、同じ種類のインターフェース装置ではない。
本明細書における、記載の様々な実施態様の説明において使用される用語は、特定の実施態様を説明するためだけのものであり、限定ではない。記載の様々な実施態様の説明において使用される場合、単数形「a」、「an」、および「the」は、文脈が明らかに他を示さない限り、複数形も含まれる。本明細書において使用される用語「および/または(and/or)」は、関連する記載された項目のうちの1つ以上のいずれか、およびすべての考えられる組み合わせを指し、それらを包含すると理解されるであろう。用語「備える/含む(「includes」、「including」、「comprises」、および/または「comprising」は、本明細書において使用されるとき、記載の特徴、特性、ステップ、動作、構成要素、および/またはコンポ―ネントの存在を具体的に挙げるが、1つ以上のその他の特徴、特性、ステップ、動作、構成要素、コンポ―ネント、および/またはそれらの群の存在もしくは追加を排除しないと理解されるだろう。
本明細書において使用されるとき、用語「if(~の場合)」は、任意で、内容によっては、「when(~の時)」または「upon(~すると)」または「in response to determining(判断することに応答して)」または「in
response to detecting(検出することに応答して)」または「in accordance with a determination that(という判断に従って)」を意味すると解釈される。同様に、「if it is determined(判断された場合)」または「if [記載した条件またはイベント] is detected([記載した条件またはイベント]が検出された場合)」という表現は、任意で、内容によっては、「upon determining(判断すると)」または「in response to determining(判断することに応答して)」または「upon detecting [記載した条件またはイベント]( [記載した条件またはイベント]を検出すると)」または「in response to detecting [記載した条件またはイベント]([記載した条件またはイベント]を検出することに応答して)」または「in accordance with a determination that [記載した条件またはイベント] is detected([記載した条件またはイベント]が検出されたと判断することに従って)」を意味すると解釈される。
上記の説明では、説明の便宜上、具体的な実施態様を例に説明した。しかしながら、上記例示的説明は、網羅的であったり、開示された厳密な形態にクレームの範囲を限定したりすることを意図しない。上記教示に鑑みて、多くの変更例および変形例が可能である。考えられる特定の用途に適した様々な変更例を用いて当業者が実施態様を最大限に利用できるようにするために、実施態様は、クレームの基本原理およびその実際の適用を最もよく説明するために選択された。

Claims (9)

  1. ゲーム方法であって、
    1つ以上のプロセッサと、前記1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを有する、表示装置に連結または一体化された第1電子機器において、
    クラウドゲーミングセッションを起動するためのユーザ入力を第2電子機器から受信するステップと、
    前記ユーザ入力を受信することに応答して、
    ゲームサーバ上のゲームサービスに接続するステップと、
    前記第2電子機器のための予め登録された1つ以上のプレーヤーIDの中から、前記第2電子機器のデフォルトのプレーヤーIDを、前記ユーザの介入なしで自動的に識別するステップと、
    前記デフォルトのプレーヤーIDを使用して、前記クラウドゲーミングセッションを前記ゲームサーバと連動して起動するステップとを含み、
    前記第1電子機器と前記第2電子機器とは通信可能に接続されている、ゲーム方法。
  2. ゲーム方法であって、
    1つ以上のプロセッサと、前記1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを有する、表示装置に連結または一体化された第1電子機器において、
    クラウドゲーミングセッションを起動するためのユーザ入力を第2電子機器から受信するステップと、
    前記ユーザ入力を受信することに応答して、
    ゲームサーバ上のゲームサービスに接続するステップと、
    前記第2電子機器のための予め登録された1つ以上のプレーヤーIDの中から、前記第2電子機器のデフォルトのプレーヤーIDを、前記ユーザの介入なしで自動的に識別するステップと、
    前記デフォルトのプレーヤーIDを使用して、前記クラウドゲーミングセッションを前記ゲームサーバと連動して起動するステップとを含み、
    前記第1電子機器と前記第2電子機器とは通信可能に接続されており、
    前記ゲーム方法はさらに、
    前記第1電子機器において、第3電子機器からペアリング通知を受信したことに従って、
    前記第3電子機器に各々が対応付けられた複数のプレーヤーIDを含んだログイン画面を前記表示装置上に表示するステップと、
    前記プレーヤーIDのうちの第1のプレーヤーIDの選択を前記第3電子機器から受け付けるステップと、
    前記第1のプレーヤーIDに関連する画面を前記表示装置上に表示するステップと、
    前記第2電子機器を前記第3電子機器とリンクさせることによって、前記第2電子機器および前記第3電子機器に、選択された前記ゲームを一緒にプレイさせるステップとを含む、ゲーム方法。
  3. 前記第1電子機器は、ゲームインターフェース装置であり、前記第2電子機器は、ゲームコントローラである、請求項1または2に記載のゲーム方法。
  4. 前記表示装置は、電源オフ状態であり、前記方法は、
    前記ユーザ入力を受信することに応答して、
    前記表示装置の電源を入れるステップと、
    前記第1電子機器に連結される前記表示装置の入力ポートをユーザの介入なしで自動的に選択することによって前記第1電子機器の出力を前記表示装置上に表示させるステップとをさらに含む、請求項に記載のゲーム方法。
  5. 前記第1電子機器において、前記ユーザによる、前記クラウドゲーミングセッションを終了する要求を、前記第2電子機器から受信するステップと、
    前記第1電子機器において、前記要求を前記ゲームサーバに送信するステップと、
    前記第1電子機器において、前記要求に基づいて前記クラウドゲーミングセッションをセーブしたことの知らせを、前記ゲームサーバから受信するステップと、
    前記第1電子機器において、前記知らせを受信したことに応じて、前記ゲームサービスを終了するステップと、
    デフォルトの画面表示を前記表示装置上に表示するステップとをさらに含む、請求項に記載のゲーム方法。
  6. 前記ユーザ入力は、ゲームの選択を含み、前記第1電子機器において、前記クラウドゲーミングセッションを起動するステップは、
    選択された前記ゲームのゲームメディアストリームをゲームサーバから取得するステップと、
    前記ゲームメディアストリームをデコードするステップと、
    デコードされた前記ゲームメディアストリームを前記表示装置に出力するステップとをさらに含み、前記ゲームメディアストリームは、前記第2電子機器から前記ゲームサーバに直接送信されるゲーム入力に応答して、前記ゲームサーバによって生成される、請求項に記載のゲーム方法。
  7. 前記第2電子機器は、ゲストデバイスであり、前記第3電子機器は、前記クラウドゲーミングセッションのホストデバイスである、請求項に記載のゲーム方法。
  8. クラウドゲーミングのためのインターフェース装置であって、
    1つ以上のプロセッサと、
    前記1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリと、
    電子機器およびゲームサーバと通信するための通信装置と、
    前記1つ以上のプログラムのうちの少なくとも1つのプログラムの出力を、前記インターフェース装置に連結または一体化された表示装置の入力に提供するよう構成される出力装置とを備え、
    前記少なくとも1つのプログラムは、
    クラウドゲーミングセッションを起動するためのユーザ入力を前記電子機器から受信し、
    前記ユーザ入力を受信することに応答して、
    前記ゲームサーバ上のゲームサービスに接続し、
    前記電子機器のための予め登録された1つ以上のプレーヤーIDの中から、前記電子機器のデフォルトのプレーヤーIDを、前記ユーザの介入なしで自動的に識別し、
    前記デフォルトのプレーヤーIDを使用して、前記クラウドゲーミングセッションを前記ゲームサーバと連動して起動するよう構成される、インターフェース装置。
  9. クラウドゲーミングのためのインターフェース装置であって、
    1つ以上のプロセッサと、
    前記1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリと、
    電子機器およびゲームサーバと通信するための通信装置と、
    前記1つ以上のプログラムのうちの少なくとも1つのプログラムの出力を、前記インターフェース装置に連結または一体化された表示装置の入力に提供するよう構成される出力装置とを備え、
    前記少なくとも1つのプログラムは、
    クラウドゲーミングセッションを起動するためのユーザ入力を前記電子機器から受信し、
    前記ユーザ入力を受信することに応答して、
    前記ゲームサーバ上のゲームサービスに接続し、
    前記電子機器のための予め登録された1つ以上のプレーヤーIDの中から、前記電子機器のデフォルトのプレーヤーIDを、前記ユーザの介入なしで自動的に識別し、
    前記デフォルトのプレーヤーIDを使用して、前記クラウドゲーミングセッションを前記ゲームサーバと連動して起動し、
    他の電子機器からペアリング通知を受信したことに従って、
    前記他の電子機器に各々が対応付けられた複数のプレーヤーIDを含んだログイン画面を前記表示装置上に表示し、
    前記プレーヤーIDのうちの第1のプレーヤーIDの選択を前記他の電子機器から受け付け、
    前記第1のプレーヤーIDに関連する画面を前記表示装置上に表示させ、
    前記電子機器を前記他の電子機器とリンクさせることによって、前記電子機器および前記他の電子機器に、選択された前記ゲームを一緒にプレイさせるよう構成される、インターフェース装置。
JP2022023740A 2018-04-02 2022-02-18 インタラクティブなクラウドゲームのための方法、デバイス、およびシステム Active JP7377296B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023184512A JP2024016099A (ja) 2018-04-02 2023-10-27 インタラクティブなクラウドゲームのための方法、デバイス、およびシステム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862651542P 2018-04-02 2018-04-02
US62/651,542 2018-04-02
JP2020553620A JP7073526B2 (ja) 2018-04-02 2019-03-15 インタラクティブなクラウドゲームのための方法、デバイス、およびシステム
PCT/US2019/022472 WO2019194953A1 (en) 2018-04-02 2019-03-15 Methods, devices, and systems for interactive cloud gaming

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020553620A Division JP7073526B2 (ja) 2018-04-02 2019-03-15 インタラクティブなクラウドゲームのための方法、デバイス、およびシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023184512A Division JP2024016099A (ja) 2018-04-02 2023-10-27 インタラクティブなクラウドゲームのための方法、デバイス、およびシステム

Publications (3)

Publication Number Publication Date
JP2022091745A JP2022091745A (ja) 2022-06-21
JP2022091745A5 JP2022091745A5 (ja) 2023-07-31
JP7377296B2 true JP7377296B2 (ja) 2023-11-09

Family

ID=65952193

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2020553620A Active JP7073526B2 (ja) 2018-04-02 2019-03-15 インタラクティブなクラウドゲームのための方法、デバイス、およびシステム
JP2022023740A Active JP7377296B2 (ja) 2018-04-02 2022-02-18 インタラクティブなクラウドゲームのための方法、デバイス、およびシステム
JP2023184512A Pending JP2024016099A (ja) 2018-04-02 2023-10-27 インタラクティブなクラウドゲームのための方法、デバイス、およびシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020553620A Active JP7073526B2 (ja) 2018-04-02 2019-03-15 インタラクティブなクラウドゲームのための方法、デバイス、およびシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023184512A Pending JP2024016099A (ja) 2018-04-02 2023-10-27 インタラクティブなクラウドゲームのための方法、デバイス、およびシステム

Country Status (6)

Country Link
US (3) US10898812B2 (ja)
EP (1) EP3773953A1 (ja)
JP (3) JP7073526B2 (ja)
KR (2) KR20230017925A (ja)
CN (2) CN115253276A (ja)
WO (1) WO2019194953A1 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9795879B2 (en) * 2014-12-31 2017-10-24 Sony Interactive Entertainment America Llc Game state save, transfer and resume for cloud gaming
US10238965B2 (en) * 2016-04-28 2019-03-26 Sony Interactive Entertainment America Llc Cloud gaming device handover
US10456672B2 (en) 2016-05-19 2019-10-29 Google Llc Methods and systems for facilitating participation in a game session
US11310294B2 (en) 2016-10-31 2022-04-19 Microsoft Technology Licensing, Llc Companion devices for real-time collaboration in communication sessions
US11587570B2 (en) * 2017-09-25 2023-02-21 Technologies Ugo Inc. Interactive playground system with enhanced user interaction and computerized method for providing enhanced user interaction in a playground system
CN110678239B (zh) 2017-10-10 2024-02-09 谷歌有限责任公司 利用游戏元数据和量度的分布式基于样本的游戏剖析以及支持第三方内容的游戏api平台
US11140207B2 (en) 2017-12-21 2021-10-05 Google Llc Network impairment simulation framework for verification of real time interactive media streaming systems
WO2019182752A1 (en) 2018-03-22 2019-09-26 Google Llc Methods and systems for rendering and encoding content for online interactive gaming sessions
KR20230017925A (ko) * 2018-04-02 2023-02-06 구글 엘엘씨 대화형 클라우드 게임용 방법, 디바이스 및 시스템
US11872476B2 (en) 2018-04-02 2024-01-16 Google Llc Input device for an electronic system
US11077364B2 (en) 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
EP3701489B1 (en) 2018-04-10 2022-10-26 Google LLC Memory management in gaming rendering
SE1850664A1 (en) * 2018-06-01 2019-12-02 Telia Co Ab Methods and apparatuses for providing a service having a service profile
US10773156B2 (en) * 2018-11-05 2020-09-15 Sony Interactive Entertainment LLC Systems and methods for establishing direct communication between a server system and a video game controller
EP3807766B1 (en) 2018-11-16 2021-10-27 Google LLC Shadow tracking of real-time interactive simulations for complex system analysis
US11032340B2 (en) * 2019-04-04 2021-06-08 Sony Interactive Entertainment LLC Using camera on computer simulation controller
CN112383663B (zh) * 2019-05-08 2022-03-04 华为技术有限公司 一种显示的方法及设备
US10946272B2 (en) * 2019-07-26 2021-03-16 Arkade, Inc. PC blaster game console
US10893127B1 (en) 2019-07-26 2021-01-12 Arkade, Inc. System and method for communicating interactive data between heterogeneous devices
US10773157B1 (en) 2019-07-26 2020-09-15 Arkade, Inc. Interactive computing devices and accessories
US11304246B2 (en) 2019-11-01 2022-04-12 Microsoft Technology Licensing, Llc Proximity-based pairing and operation of user-specific companion devices
US11546391B2 (en) * 2019-11-01 2023-01-03 Microsoft Technology Licensing, Llc Teleconferencing interfaces and controls for paired user computing devices
US11256392B2 (en) 2019-11-01 2022-02-22 Microsoft Technology Licensing, Llc Unified interfaces for paired user computing devices
CN110798477B (zh) * 2019-11-06 2022-03-18 江苏视博云信息技术有限公司 数据传输方法、设备、管理平台及云游戏系统架构
US11260288B2 (en) 2019-12-31 2022-03-01 Dell Products L.P. Disassemblable information handling system game controller
US11013991B1 (en) 2019-12-31 2021-05-25 Dell Products L.P. Information handling system controller adaptive haptic feedback
US11338197B2 (en) 2019-12-31 2022-05-24 Dell Products L.P. Information handling system controller distributable hardware and logic management
US11260291B2 (en) * 2019-12-31 2022-03-01 Dell Products L.P. Information handling system and detachable game controller
US11097185B2 (en) 2019-12-31 2021-08-24 Dell Products L.P. Detachable information handling system game controller management
US11013987B1 (en) 2019-12-31 2021-05-25 Dell Products L.P. Information handling system controller scalable interface
US11331567B2 (en) 2019-12-31 2022-05-17 Dell Products L.P. Information handling system and game controller trigger
US11450147B2 (en) * 2020-01-06 2022-09-20 Kaia Health Software GmbH Evaluation data structure for evaluating a specific motion pattern and dashboard for setting up the evaluation data structure
CN111437610B (zh) * 2020-04-21 2023-11-17 西安万像电子科技有限公司 云游戏系统的处理方法、装置以及云端服务器
CN111510736A (zh) * 2020-04-24 2020-08-07 深圳云鹭科技有限公司 一种云游戏互动直播系统及互动直播方法
CN111782299A (zh) * 2020-07-03 2020-10-16 珠海金山网络游戏科技有限公司 一种游戏接入方法及装置
CN112245903B (zh) * 2020-10-26 2022-05-03 腾讯科技(深圳)有限公司 云应用中网络状态指示方法、操作系统、装置及存储介质
US11902339B1 (en) * 2020-12-10 2024-02-13 Amazon Technologies, Inc. Systems for transferring network application sessions
US11729479B2 (en) * 2020-12-31 2023-08-15 Sony Interactive Entertainment Inc. Methods and systems for dynamic summary queue generation and provision
KR20220101485A (ko) * 2021-01-11 2022-07-19 삼성전자주식회사 디스플레이 장치 및 그 동작방법
US11824940B1 (en) * 2021-02-04 2023-11-21 Amazon Technologies, Inc. Techniques for providing network applications
US11547932B2 (en) * 2021-05-25 2023-01-10 Microsoft Technology Licensing, Llc Companion device aided game controller pairing
US11641422B2 (en) * 2021-06-14 2023-05-02 Capital One Services, Llc Systems and methods for integrated third-party callbacks
US20220401834A1 (en) * 2021-06-22 2022-12-22 Sony Interactive Entertainment Inc. Pass-through device for cloud gaming and methods for processing
EP4337352A1 (en) * 2021-09-21 2024-03-20 Google Llc Game controller mobile bridge
JP7454003B2 (ja) * 2022-02-16 2024-03-21 任天堂株式会社 情報処理プログラム、情報処理システム、情報処理装置、および情報処理方法
US20230293986A1 (en) * 2022-03-17 2023-09-21 Bidstack Group PLC Server-side gaming method and system for the delivery of remotely-rendered content comprising impression content
WO2024005518A1 (ko) * 2022-06-28 2024-01-04 삼성전자 주식회사 디스플레이 장치 및 그 동작 방법
WO2024039053A1 (ko) * 2022-08-18 2024-02-22 삼성전자주식회사 복수의 기기로 프레임을 전송하는 전자 장치 및 이의 제어 방법
US11991242B1 (en) * 2022-12-14 2024-05-21 Dell Products L.P. Efficient distributed computing using edge computing devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003236251A (ja) 2002-02-15 2003-08-26 Aruze Corp キャラクタ管理システム
JP2014135049A (ja) 2012-12-21 2014-07-24 Sony Computer Entertainment America Llc クラウドベースのゲームスライス生成および即時再生との無摩擦ソーシャルシェアリング
US20170034234A1 (en) 2015-07-28 2017-02-02 Google Inc. Independent control of interactive streaming media
WO2018003161A1 (ja) 2016-06-28 2018-01-04 株式会社ソニー・インタラクティブエンタテインメント 利用状態判定装置、利用状態判定方法及びプログラム

Family Cites Families (131)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892897A (en) 1997-02-05 1999-04-06 Motorola, Inc. Method and apparatus for microprocessor debugging
US7548238B2 (en) 1997-07-02 2009-06-16 Nvidia Corporation Computer graphics shader systems and methods
US7774440B1 (en) 2001-07-25 2010-08-10 Scalable Network Technologies, Inc. Method and system for enhancing performance of a physical network under real-time control using simulation of a reference model
US7803052B2 (en) 2002-06-28 2010-09-28 Microsoft Corporation Discovery and distribution of game session information
GB2405599A (en) 2002-07-05 2005-03-09 Dominic Clancy System and method for playing an interactive game using a mobile device
JP3495032B1 (ja) 2002-07-24 2004-02-09 コナミ株式会社 ゲーム進行管理装置、ゲーム用サーバ装置、端末装置、ゲーム進行管理方法及びゲーム進行管理プログラム
US20040198403A1 (en) 2002-07-25 2004-10-07 Pedersen Claus Aagaard Gaming concept for wireless terminals
US9138644B2 (en) 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
US8661496B2 (en) 2002-12-10 2014-02-25 Ol2, Inc. System for combining a plurality of views of real-time streaming interactive video
JP2006509548A (ja) 2002-12-10 2006-03-23 ノキア コーポレイション 電子マルチプレイヤ用ゲームのプレイヤが不在の場合に前記ゲームを続行する方法および装置
US8549574B2 (en) 2002-12-10 2013-10-01 Ol2, Inc. Method of combining linear content and interactive content compressed together as streaming interactive video
US10664138B2 (en) 2003-03-14 2020-05-26 Comcast Cable Communications, Llc Providing supplemental content for a second screen experience
EP1652044A4 (en) 2003-07-15 2006-08-30 Wildtangent Inc LAUNCHING MULTI-USER SESSIONS, SYSTEM AND INVITATION METHOD THEREOF
US7966642B2 (en) 2003-09-15 2011-06-21 Nair Ajith N Resource-adaptive management of video storage
EP1668520A4 (en) 2003-09-19 2007-01-31 Wildtangent Inc COMPOSITE CONSUMPTION OF CONTENT INVENTING METHOD AND DEVICES
US7261798B2 (en) 2004-01-28 2007-08-28 Hamilton Sundstrand Corporation Assembly for maintaining compression for electrical contact of the active area of an electrochemical cell
US8241129B2 (en) 2005-06-20 2012-08-14 Microsoft Corporation Setting up on-line game sessions out of a game context
EP1948335A4 (en) 2005-10-11 2011-02-09 Thq Wireless Inc METHOD AND DEVICE FOR DETECTING DESIRED MULTIPLAYER GAMES FOR PLAYERS
KR20070082395A (ko) 2006-02-16 2007-08-21 엔에이치엔(주) 유알엘을 이용한 플래시 게임 초대 시스템 및 방법
EP1997085A4 (en) 2006-02-27 2011-04-27 Inc Createasoft SYSTEM AND METHOD FOR DYNAMICALLY CONTINUING MARKED ENTITIES AND PRESCRIBING THEIR STATE
US20070293319A1 (en) 2006-06-20 2007-12-20 Microsoft Corporation Transfer of Features Between Gaming Devices
CN101068258B (zh) * 2006-12-14 2011-09-21 腾讯科技(深圳)有限公司 一种电子游戏的控制方法及控制系统
US20080220878A1 (en) 2007-02-23 2008-09-11 Oliver Michaelis Method and Apparatus to Create or Join Gaming Sessions Based on Proximity
WO2008104221A1 (en) 2007-02-27 2008-09-04 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for use in multiplayer server-based gaming
KR101422005B1 (ko) 2007-07-04 2014-07-23 엘지전자 주식회사 디스펜서 및 이를 구비하는 냉장고
JP5468193B2 (ja) * 2007-08-06 2014-04-09 任天堂株式会社 コントローラカバー
US8235817B2 (en) 2009-02-12 2012-08-07 Sony Computer Entertainment America Llc Object based observation
US8979647B2 (en) * 2007-10-26 2015-03-17 Microsoft Technology Licensing, Llc Method of providing player status and ability to join games
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US9498714B2 (en) 2007-12-15 2016-11-22 Sony Interactive Entertainment America Llc Program mode switching
JP5075727B2 (ja) 2008-04-25 2012-11-21 株式会社日立製作所 ストリーム配信システム及び障害検知方法
US8200795B2 (en) 2008-06-05 2012-06-12 Sony Computer Entertainment Inc. Mobile phone game interface
US20100073712A1 (en) 2008-09-19 2010-03-25 Konica Minolta Systems Laboratory, Inc. Print job assignment method allowing user-prioritization
US9498711B2 (en) 2008-11-04 2016-11-22 Quado Media Inc. Multi-player, multi-screens, electronic gaming platform and system
WO2010093831A1 (en) 2009-02-11 2010-08-19 Social Gaming Network Apparatuses, methods and systems for an interactive proximity display tether with remote co-play
CN101887485A (zh) 2009-05-14 2010-11-17 灰熊(北京)科技有限公司 一种在棋牌游戏中实现稳妥的掉线重连的方法
US9723319B1 (en) 2009-06-01 2017-08-01 Sony Interactive Entertainment America Llc Differentiation for achieving buffered decoding and bufferless decoding
US20100317443A1 (en) * 2009-06-11 2010-12-16 Comcast Cable Communications, Llc Distributed Network Game System
US8621585B2 (en) 2009-06-16 2013-12-31 Z2Live, Inc. Invitation service for multi-device application sessions
US9155963B2 (en) 2009-11-25 2015-10-13 Disney Enterprises, Inc. Collaborative online ranking
US8352798B2 (en) 2009-12-10 2013-01-08 International Business Machines Corporation Failure detection and fencing in a computing system
CN102195935B (zh) 2010-03-03 2015-07-29 深圳市腾讯计算机系统有限公司 游戏托管系统及方法
US8619588B2 (en) 2010-04-07 2013-12-31 Avaya Inc. System and method for predicting video transmission quality through a network
US8591334B2 (en) 2010-06-03 2013-11-26 Ol2, Inc. Graphical user interface, system and method for implementing a game controller on a touch-screen device
EP2621594B1 (en) 2010-09-13 2016-08-10 Sony Computer Entertainment America LLC Dual mode program execution and loading
US8788243B2 (en) 2011-02-14 2014-07-22 Disney Enterprises, Inc. Performance metrics gathering from multiple video game platforms
US8814697B2 (en) 2011-04-19 2014-08-26 Sony Computer Entertainment America Llc Method and apparatus for use in preserving a game state
JP5076132B1 (ja) 2011-05-25 2012-11-21 株式会社スクウェア・エニックス・ホールディングス 描画制御装置、その制御方法、プログラム、記録媒体、描画サーバ、及び描画システム
US9412193B2 (en) 2011-06-01 2016-08-09 Apple Inc. Run-time optimized shader program
US20130017884A1 (en) 2011-07-13 2013-01-17 Igt Methods and apparatus for providing secure logon to a gaming machine using a mobile device
US8814956B2 (en) 2011-07-14 2014-08-26 Semiconductor Energy Laboratory Co., Ltd. Power storage device, electrode, and manufacturing method thereof
US9167260B2 (en) 2011-08-02 2015-10-20 Advanced Micro Devices, Inc. Apparatus and method for video processing
KR101817652B1 (ko) 2011-09-01 2018-02-22 삼성전자주식회사 게임 스트리밍 데이터 수신 방법 및 그를 위한 장치, 및 게임 스트리밍 데이터 제공 방법 및 그를 위한 서버
US9773344B2 (en) 2012-01-11 2017-09-26 Nvidia Corporation Graphics processor clock scaling based on idle time
EP2808066A4 (en) 2012-01-24 2016-11-02 Sony Interactive Entertainment Inc INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING SYSTEM
US20130221923A1 (en) 2012-02-23 2013-08-29 Whalen Furniture Manufacturing Inc. Universal charging system and battery pack for video game controllers
US10559123B2 (en) 2012-04-04 2020-02-11 Qualcomm Incorporated Patched shading in graphics processing
US20130274020A1 (en) 2012-04-11 2013-10-17 Meteor Entertainment, Inc. Computing platform for supporting massively multi-player online games
US9208642B2 (en) 2012-04-23 2015-12-08 Touchspin Gaming Ag Multiplayer slot machine gaming
US20140006517A1 (en) 2012-07-02 2014-01-02 WUPIMA, Inc. System and method for social invitations to facilitate playing and sharing of mobile application or mobile game on mobile device
KR101923113B1 (ko) 2012-07-12 2018-11-28 캠프모바일 주식회사 이동통신 단말기의 메시징 서비스를 이용한 초대정보 처리방법, 이를 수행하는 서비스 서버, 이동통신 단말기 및 컴퓨터로 판독 가능한 기록매체
US20140032670A1 (en) 2012-07-30 2014-01-30 Google Inc. Access control in communication environments
JP5563633B2 (ja) 2012-08-31 2014-07-30 株式会社スクウェア・エニックス ビデオゲーム処理装置、およびビデオゲーム処理プログラム
US8663004B1 (en) 2012-09-05 2014-03-04 Kabam, Inc. System and method for determining and acting on a user's value across different platforms
US20150009222A1 (en) 2012-11-28 2015-01-08 Nvidia Corporation Method and system for cloud based virtualized graphics processing for remote displays
EP2750032B1 (en) 2012-12-27 2020-04-29 Sony Computer Entertainment America LLC Methods and systems for generation and execution of miniapp of computer application served by cloud computing system
CN104737542B (zh) 2013-01-30 2018-09-25 英特尔公司 用于下一代视频的内容自适应熵编码
US11185783B2 (en) 2013-03-14 2021-11-30 Sony Interactive Entertainment Inc. Controller emulation for cloud gaming
US20140274384A1 (en) 2013-03-15 2014-09-18 Electronic Arts Inc. Delivering and consuming interactive video gaming content
US9628332B2 (en) 2013-05-20 2017-04-18 Microsoft Technology Licensing, Llc Resource allocation to game titles in a remote gaming environment
US9295915B2 (en) * 2013-05-20 2016-03-29 Microsoft Technology Licensing, Llc Game availability in a remote gaming environment
US9339733B2 (en) 2013-05-22 2016-05-17 Wesley John Boudville Barcode-based methods to enhance mobile multiplayer games
CA2886282C (en) 2013-05-23 2019-07-23 Stephan Georgiev Dynamic allocation of rendering resources in a cloud gaming system
US9675874B1 (en) 2013-07-18 2017-06-13 nWay, Inc. Multi-player gaming system
US20150087414A1 (en) 2013-09-26 2015-03-26 Cellco Partnership D/B/A Verizon Wireless Cloud gaming implemented using a mobile device and a display device
JP6292707B2 (ja) 2013-10-22 2018-03-14 任天堂株式会社 情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法
US9592446B2 (en) 2013-12-13 2017-03-14 DeNA Co., Ltd. Electronic game providing device and non-transitory computer-readable storage medium storing electronic game program
JP6310073B2 (ja) 2013-12-26 2018-04-11 株式会社スクウェア・エニックス・ホールディングス 描画システム、制御方法、及び記憶媒体
JP6376638B2 (ja) 2014-01-29 2018-08-22 株式会社コロプラ ゲームに関わるサーバコンピュータ及びゲームプログラム
WO2015115512A1 (ja) 2014-01-29 2015-08-06 独立行政法人産業技術総合研究所 シクロデキストリンの利用による抗がん活性が増強されたアシュワガンダ葉の水抽出物の調製方法、及びアシュワガンダ葉を含む医薬組成物
US9912562B2 (en) 2014-03-31 2018-03-06 Microsoft Technology Licensing, Llc Measuring latency in an interactive application
US20150297998A1 (en) 2014-04-16 2015-10-22 Microsoft Corporation Hyperlink initiation of game sessions
US9928565B2 (en) 2014-04-21 2018-03-27 Qualcomm Incorporated Flex rendering based on a render target in graphics processing
GB2525437B (en) 2014-04-25 2016-05-25 Cheng Uei Prec Ind Co Ltd Push-button structure
US9940686B2 (en) 2014-05-14 2018-04-10 Intel Corporation Exploiting frame to frame coherency in a sort-middle architecture
EP3155525A2 (en) 2014-06-13 2017-04-19 Convida Wireless, LLC Automated service profiling and orchestration
US9393486B2 (en) 2014-06-27 2016-07-19 Amazon Technologies, Inc. Character simulation and playback notification in game session replay
US20160005256A1 (en) 2014-07-04 2016-01-07 Trendy Entertainment Influence system and methods
US10021214B2 (en) 2014-07-22 2018-07-10 Microsoft Technology Licensing, Llc Synthetic transactions between communication endpoints
US9975044B2 (en) 2014-07-22 2018-05-22 Ngage SporTek Ltd. System and method for social gaming
US20170124812A1 (en) * 2014-12-12 2017-05-04 Synergy Blue, Llc Gaming and wagering techniques relating to skill-based gaming
US10909809B2 (en) * 2014-12-12 2021-02-02 Synergy Blue Llc Graphical user interface and computer processing techniques for facilitating user interaction with electronic gaming devices
US10255765B2 (en) * 2015-08-20 2019-04-09 Synergy Blue, Llc Gaming aspects relating to multiplayer/tournament hybrid arcade/wager-based games
CN104598292B (zh) 2014-12-15 2017-10-03 中山大学 一种应用于云游戏系统的自适应流适配和资源优化方法
US10007965B2 (en) 2014-12-16 2018-06-26 Intel Corporation Dynamic kernel modification for graphics processing units
US9396702B2 (en) 2014-12-23 2016-07-19 Sony Interactive Entertainment America Llc Latency tester
US20160279523A1 (en) 2015-03-25 2016-09-29 GAMEin30 Ltd. System and method for interactive gaming
US10130874B2 (en) 2015-05-01 2018-11-20 Microsoft Technology Licensing, Llc Removable controller accessory for a game controller
WO2016183253A1 (en) 2015-05-12 2016-11-17 Equinix, Inc. Programmable network platform for a cloud-based services exchange
US9609275B2 (en) 2015-07-08 2017-03-28 Google Inc. Single-stream transmission method for multi-user video conferencing
US9946593B2 (en) 2015-09-18 2018-04-17 Salesforce.Com, Inc. Recovery strategy for a stream processing system
EP3341098B1 (en) * 2015-09-30 2024-03-13 Sony Interactive Entertainment America LLC Multi-user demo streaming service for cloud gaming
WO2017058951A1 (en) * 2015-09-30 2017-04-06 Sony Interactive Entertainment America Llc Systems and methods for providing time-shifted intelligently synchronized game video
US20170097816A1 (en) 2015-10-01 2017-04-06 Motorola Mobility Llc Context-based applications for mobile devices
US10630773B2 (en) * 2015-11-12 2020-04-21 Nvidia Corporation System and method for network coupled cloud gaming
US20170185464A1 (en) 2015-12-29 2017-06-29 Ca, Inc. Detecting flapping in resource measurements
US20170246544A1 (en) 2016-02-26 2017-08-31 Microsoft Technology Licensing, Llc Video game streaming for spectating
CN105749551B (zh) 2016-02-26 2019-04-30 网易(杭州)网络有限公司 一种游戏托管方法、系统及终端
US10456672B2 (en) 2016-05-19 2019-10-29 Google Llc Methods and systems for facilitating participation in a game session
US10046236B2 (en) 2016-06-13 2018-08-14 Sony Interactive Entertainment America, LLC Browser-based cloud gaming
US11351468B2 (en) 2016-06-13 2022-06-07 Sony Interactive Entertainment LLC Generating challenges using a location based game play companion application
US10521879B2 (en) * 2016-07-05 2019-12-31 Ubitus, Inc. Overlaying multi-source media in VRAM
US10332296B2 (en) * 2016-07-05 2019-06-25 Ubitus Inc. Overlaying multi-source media in VRAM
CN106328855B (zh) 2016-11-29 2019-06-04 宁德时代新能源科技股份有限公司 电池组件及电池模组
US10722803B2 (en) 2017-02-15 2020-07-28 Roblox Corporation Integrated chat and game play platform
US20180250591A1 (en) 2017-03-02 2018-09-06 The Fast Mind, LLC Methods of circumventing platform restrictions in gaming
US10512846B2 (en) 2017-03-07 2019-12-24 Sony Interactive Entertainment LLC Emulating player behavior after player departure
CN110678239B (zh) 2017-10-10 2024-02-09 谷歌有限责任公司 利用游戏元数据和量度的分布式基于样本的游戏剖析以及支持第三方内容的游戏api平台
CN107670275B (zh) 2017-10-26 2020-10-13 广州市雷军游乐设备有限公司 游戏进程断线重连的方法和系统
US20190199722A1 (en) 2017-12-19 2019-06-27 Advanta Computer, LLC Systems and methods for networked computing
US10792576B2 (en) 2018-02-28 2020-10-06 Sony Interactive Entertainment LLC Player to spectator handoff and other spectator controls
WO2019182752A1 (en) 2018-03-22 2019-09-26 Google Llc Methods and systems for rendering and encoding content for online interactive gaming sessions
US10773168B2 (en) 2018-04-02 2020-09-15 Google Llc Temporary game control by user simulation following loss of active control
KR20230017925A (ko) * 2018-04-02 2023-02-06 구글 엘엘씨 대화형 클라우드 게임용 방법, 디바이스 및 시스템
WO2019195300A2 (en) 2018-04-02 2019-10-10 Google Llc Input device for an electronic system
US11077364B2 (en) 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
EP3701489B1 (en) 2018-04-10 2022-10-26 Google LLC Memory management in gaming rendering
US10950092B2 (en) * 2018-10-07 2021-03-16 Synergy Blue Llc Skillful multi-level games and gaming machines in which players are granted free play sessions
EP3807766B1 (en) 2018-11-16 2021-10-27 Google LLC Shadow tracking of real-time interactive simulations for complex system analysis
US11731043B2 (en) * 2019-11-19 2023-08-22 Sony Interactive Entertainment Inc. Adaptive graphics for cloud gaming
US11128636B1 (en) * 2020-05-13 2021-09-21 Science House LLC Systems, methods, and apparatus for enhanced headsets

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003236251A (ja) 2002-02-15 2003-08-26 Aruze Corp キャラクタ管理システム
JP2014135049A (ja) 2012-12-21 2014-07-24 Sony Computer Entertainment America Llc クラウドベースのゲームスライス生成および即時再生との無摩擦ソーシャルシェアリング
US20170034234A1 (en) 2015-07-28 2017-02-02 Google Inc. Independent control of interactive streaming media
WO2018003161A1 (ja) 2016-06-28 2018-01-04 株式会社ソニー・インタラクティブエンタテインメント 利用状態判定装置、利用状態判定方法及びプログラム

Also Published As

Publication number Publication date
CN112074330B (zh) 2022-07-08
KR20230017925A (ko) 2023-02-06
KR102493861B1 (ko) 2023-01-31
US20220347584A1 (en) 2022-11-03
WO2019194953A1 (en) 2019-10-10
JP7073526B2 (ja) 2022-05-23
US20190321732A1 (en) 2019-10-24
US11433311B2 (en) 2022-09-06
JP2022091745A (ja) 2022-06-21
EP3773953A1 (en) 2021-02-17
CN112074330A (zh) 2020-12-11
US20210113927A1 (en) 2021-04-22
JP2024016099A (ja) 2024-02-06
US10898812B2 (en) 2021-01-26
KR20200135866A (ko) 2020-12-03
CN115253276A (zh) 2022-11-01
JP2021511919A (ja) 2021-05-13

Similar Documents

Publication Publication Date Title
JP7377296B2 (ja) インタラクティブなクラウドゲームのための方法、デバイス、およびシステム
US11305186B2 (en) Methods and systems for facilitating participation in a game session
JP6695449B2 (ja) ブラウザベースのクラウドゲーム
CN109152955B (zh) 云游戏中的用户保存数据管理方法
JP2019514536A (ja) サーバによって実行される方法、クラウドゲームシステム、クライアントデバイス及びコンピュータ可読媒体
US11497990B2 (en) Crowd sourced cloud gaming using peer-to-peer streaming
WO2016202128A1 (zh) 一种消息共享方法及客户端、计算机存储介质
US20220131918A1 (en) Media content system for transferring a playback marker between network-connected playback devices
US20200338456A1 (en) Game mediation infrastructure for establishment of multiplayer gaming sessions
CN112402943A (zh) 加入或重放来自游戏广播的游戏实例
CN112295217A (zh) 设备加入方法、装置、电子设备及计算机可读介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220318

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230425

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20230721

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

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230927

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231027

R150 Certificate of patent or registration of utility model

Ref document number: 7377296

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150