(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-13
(45)【発行日】2022-05-23
(54)【発明の名称】インタラクティブなクラウドゲームのための方法、デバイス、およびシステム
(51)【国際特許分類】
A63F 13/23 20140101AFI20220516BHJP
A63F 13/352 20140101ALI20220516BHJP
A63F 13/323 20140101ALI20220516BHJP
【FI】
A63F13/23
A63F13/352
A63F13/323
(21)【出願番号】P 2020553620
(86)(22)【出願日】2019-03-15
(86)【国際出願番号】 US2019022472
(87)【国際公開番号】W WO2019194953
(87)【国際公開日】2019-10-10
【審査請求日】2021-02-22
(32)【優先日】2018-04-02
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
【前置審査】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】ジムリング,ドブ
(72)【発明者】
【氏名】エンダース,トーマス
(72)【発明者】
【氏名】ロジャース,マシュー
(72)【発明者】
【氏名】ソマダー,グルダス
(72)【発明者】
【氏名】ピ,ジェイソン
【審査官】宮本 昭彦
(56)【参考文献】
【文献】特開2014-135049(JP,A)
【文献】米国特許出願公開第2017/0034234(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00 - 13/98
(57)【特許請求の範囲】
【請求項1】
クラウドゲームのためのインターフェース装置であって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを備え、前記1つ以上のプログラムは、アプリケーションを含み、前記インターフェース装置は、さらに、
前記インターフェース装置とゲームコントローラとの間、および、
前記インターフェース装置と前記インターフェース装置から遠く離れたゲームサーバとの間でメッセージおよびメディアストリームを受信ならびに送信するための通信装置と、
前記インターフェース装置に連結または一体化された表示装置の入力部に前記アプリケーションの出力を行うように構成される出力装置とを備え、
前記アプリケーションは、
前記ゲームコントローラが送信するメッセージのすべてに関連する出力を前記インターフェース装置が処理および表示する第1モードを実装し
、
前記インターフェース装置が前記ゲームコントローラからのメッセージの予め定義されたサブセットを処理および表示し、
前記ゲームコントローラからゲームプレーコマンドを受信する前記ゲームサーバが送信するゲームメディアストリームを表示する第2モードを実装し、
前記ゲームコントローラから、少なくとも1人のユーザのプレーヤーIDに対応する1または複数のユーザログイン認証情報を受信するように構成され、
前記第1モードにおいて前記ゲームコントローラが送信するメッセージは、ゲームセットアップコマンドを含み、
前記ゲームコントローラからのメッセージの予め定義されたサブセットは、前記ゲームセットアップコマンドのサブセットを含む、インターフェース装置。
【請求項2】
クラウドゲームのためのインターフェース装置であって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを備え、前記1つ以上のプログラムは、アプリケーションを含み、前記インターフェース装置は、さらに、
前記インターフェース装置とゲームコントローラとの間、および、
前記インターフェース装置と前記インターフェース装置から遠く離れたゲームサーバとの間でメッセージおよびメディアストリームを受信ならびに送信するための通信装置と、
前記インターフェース装置に連結または一体化された表示装置の入力部に前記アプリケーションの出力を行うように構成される出力装置とを備え、
前記アプリケーションは、
前記ゲームコントローラが送信するメッセージのすべてに関連する出力を前記インターフェース装置が処理および表示する第1モードを実装し、
前記インターフェース装置が前記ゲームコントローラからのメッセージの予め定義されたサブセットを処理および表示し、
前記ゲームコントローラからゲームプレーコマンドを受信する前記ゲームサーバが送信するゲームメディアストリームを表示する第2モードを実装し、
前記ゲームコントローラから、ゲーミングセッションに使用される少なくとも1つのネットワークに対応する1または複数のネットワーク認証情報を受信するように構成され、
前記第1モードにおいて前記ゲームコントローラが送信するメッセージは、ゲームセットアップコマンドを含み、
前記ゲームコントローラからのメッセージの予め定義されたサブセットは、前記ゲームセットアップコマンドのサブセットを含む、インターフェース装置。
【請求項3】
前記アプリケーションは、前記ゲームサーバが送信する前記ゲームメディアストリームをデコードして前記表示装置に出力するようにさらに構成される、請求項1または2に記載のインターフェース装置。
【請求項4】
前記出力装置は、前記インターフェース装置に連結された前記表示装置の入力部に前記アプリケーションの出力を送信するように構成される出力ポートを含む、請求項1~3のいずれかに記載のインターフェース装置。
【請求項5】
前記インターフェース装置は、前記ゲームコントローラに割り当てられた一意の識別子を用いて、前記ゲームコントローラが送信する前記メッセージを識別する、請求項1~4のいずれかに記載のインターフェース装置。
【請求項6】
前記第1モードは、
セッションを確立させる第1要求を前記ゲームコントローラから受け付けることと、
前記1または複数のユーザログイン認証情報を前記ゲームコントローラから受信することと、
前記1または複数のユーザログイン認証情報に対応する許可をサーバから取り出すことと、
前記許可に従って、前記少なくとも1人のユーザに固有のコンテンツを取り出すこととをさらに含む、請求項1に記載のインターフェース装置。
【請求項7】
前記少なくとも1人のユーザに固有のコンテンツは、ゲーム中の前記ユーザを表すアバターを含む、請求項6に記載のインターフェース装置。
【請求項8】
前記インターフェース装置および前記ゲームコントローラは、共通ネットワーク上で通信可能に接続される、請求項1~7のいずれかに記載のインターフェース装置。
【請求項9】
前記ゲームメディアストリームは、オーディオストリームを含み、前記オーディオストリームは、前記ゲームコントローラに対応付けられた表示装置上に表示するために、前記ゲームサーバによって前記ゲームコントローラのオーディオ入力部に送信される、請求項1~8のいずれかに記載のインターフェース装置。
【請求項10】
ゲームコントローラであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを備え、前記1つ以上のプログラムは、アプリケーションを含み、前記ゲームコントローラは、さらに、
前記ゲームコントローラとインターフェース装置との間、および、
前記ゲームコントローラと前記ゲームコントローラから遠く離れたゲームサーバとの間でメッセージおよびメディアストリームを受信ならびに送信するための通信装置を備え、
前記アプリケーションは、
前記ゲームコントローラがゲームセットアップコマンドを前記インターフェース装置に送信する第1モードと、
前記ゲームコントローラがゲームプレーコマンドを前記ゲームサーバに送信し、前記ゲームセットアップコマンドの予め定義されたサブセットを前記インターフェース装置に送信する第2モードとを実装するように構成され、
前記ゲームコントローラは、少なくとも一人のユーザのプレーヤーIDに対応する1または複数のユーザログイン認証情報を格納する、ゲームコントローラ。
【請求項11】
ゲームコントローラであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを備え、前記1つ以上のプログラムは、アプリケーションを含み、前記ゲームコントローラは、さらに、
前記ゲームコントローラとインターフェース装置との間、および、
前記ゲームコントローラと前記ゲームコントローラから遠く離れたゲームサーバとの間でメッセージおよびメディアストリームを受信ならびに送信するための通信装置を備え、
前記アプリケーションは、
前記ゲームコントローラがゲームセットアップコマンドを前記インターフェース装置に送信する第1モードと、
前記ゲームコントローラがゲームプレーコマンドを前記ゲームサーバに送信し、前記ゲームセットアップコマンドの予め定義されたサブセットを前記インターフェース装置に送信する第2モードとを実装するように構成され、
前記ゲームコントローラは、ゲーミングセッションのために前記ゲームコントローラが使われる少なくとも1つのネットワークに対応する1または複数のネットワーク認証情報を格納する、ゲームコントローラ。
【請求項12】
前記ゲームコントローラは、前記ゲームコントローラ上のボタンおよび/またはジョイスティックを用いて、前記ゲームセットアップコマンドおよび前記ゲームプレーコマンドを入力する、請求項10または11に記載のゲームコントローラ。
【請求項13】
ゲームメディアストリームは、オーディオストリームを含み、前記ゲームコントローラは、前記オーディオストリームを受信および表示するためのオーディオデバイスをさらに含む、請求項10~12のいずれかに記載のゲームコントローラ。
【請求項14】
ゲームシステムにおいて実行される方法であって、前記ゲームシステムは、
インターフェース装置と、
ゲームコントローラと、
前記インターフェース装置および前記ゲームコントローラから遠く離れたゲームサーバとを備え、
前記インターフェース装置、前記ゲームコントローラ、および前記ゲームサーバの各々は、1つ以上のプロセッサと、前記1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを含み、
前記ゲームコントローラは、少なくとも一人のユーザのプレーヤーIDに対応する1または複数のユーザログイン認証情報を格納し、
前記方法は、
前記インターフェース装置において、
前記ゲームコントローラからゲームの選択を受け付けるステップと、
前記ゲームコントローラが送信するメッセージのすべてに関連する出力を、第1モードでユーザの介入なしで自動的に処理および表示するステップと、
前記ゲームコントローラからのメッセージの予め定義されたサブセットを、第2モードでユーザの介入なしで自動的に処理および表示し、
前記ゲームコントローラからゲームプレーコマンドを受信する前記ゲームサーバが送信する前記ゲームのゲームメディアストリームをリアルタイムで表示するステップとを含み、
前記表示するステップは、前記インターフェース装置に連結または一体化された表示装置上で表示するステップを含み、
前記第1モードにおいて前記ゲームコントローラが送信するメッセージは、ゲームセットアップコマンドを含み、
前記ゲームコントローラからのメッセージの予め定義されたサブセットは、前記ゲームセットアップコマンドのサブセットを含み、
前記ゲームコントローラにおいて、
前記第1モードで、前記メッセージに含まれる
前記ゲームセットアップコマンドを前記インターフェース装置に送信するステップと、
前記第2モードで、前記メッセージに含まれるゲームプレーコマンドを前記ゲームサーバに送信し、前記メッセージに含まれる前記
ゲームセットアップコマンドの予め定義されたサブセットを前記インターフェース装置に送信するステップとを含み、
前記ゲームサーバにおいて、各ゲームについて、
前記ゲームコントローラから前記ゲームプレーコマンドを受信するステップと、
1つ以上の受信した前記ゲームプレーコマンドの各サブセットに従って、前記ゲームのコンテンツの各フレームを描画するステップと、
描画された各フレームを含んだ前記ゲームのゲームメディアストリームを前記インターフェース装置にリアルタイムで送信するステップとを含
む、方法。
【請求項15】
ゲームシステムにおいて実行される方法であって、前記ゲームシステムは、
インターフェース装置と、
ゲームコントローラと、
前記インターフェース装置および前記ゲームコントローラから遠く離れたゲームサーバとを備え、
前記インターフェース装置、前記ゲームコントローラ、および前記ゲームサーバの各々は、1つ以上のプロセッサと、前記1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを含み、
前記ゲームコントローラは、ゲーミングセッションのために前記ゲームコントローラが使われる少なくとも1つのネットワークに対応する1または複数のネットワーク認証情報を格納し、
前記方法は、
前記インターフェース装置において、
前記ゲームコントローラからゲームの選択を受け付けるステップと、
前記ゲームコントローラが送信するメッセージのすべてに関連する出力を、第1モードでユーザの介入なしで自動的に処理および表示するステップと、
前記ゲームコントローラからのメッセージの予め定義されたサブセットを、第2モードでユーザの介入なしで自動的に処理および表示し、
前記ゲームコントローラからゲームプレーコマンドを受信する前記ゲームサーバが送信する前記ゲームのゲームメディアストリームをリアルタイムで表示するステップとを含み、
前記表示するステップは、前記インターフェース装置に連結または一体化された表示装置上で表示するステップを含み、
前記第1モードにおいて前記ゲームコントローラが送信するメッセージは、ゲームセットアップコマンドを含み、
前記ゲームコントローラからのメッセージの予め定義されたサブセットは、前記ゲームセットアップコマンドのサブセットを含み、
前記ゲームコントローラにおいて、
前記第1モードで、前記メッセージに含まれる
前記ゲームセットアップコマンドを前記インターフェース装置に送信するステップと、
前記第2モードで、前記メッセージに含まれるゲームプレーコマンドを前記ゲームサーバに送信し、前記メッセージに含まれる前記
ゲームセットアップコマンドの予め定義されたサブセットを前記インターフェース装置に送信するステップとを含み、
前記ゲームサーバにおいて、各ゲームについて、
前記ゲームコントローラから前記ゲームプレーコマンドを受信するステップと、
1つ以上の受信した前記ゲームプレーコマンドの各サブセットに従って、前記ゲームのコンテンツの各フレームを描画するステップと、
描画された各フレームを含んだ前記ゲームのゲームメディアストリームを前記インターフェース装置にリアルタイムで送信するステップとを含
む、方法。
【請求項16】
前記ゲームサーバは、前記ゲームプレーコマンドを受信するためと、前記ゲームメディアストリームを送信するために別個のポートを使う、請求項14または15に記載の方法。
【請求項17】
前記ゲームコントローラには、一意の識別子が割り当てられ、前記ゲームサーバは、前記一意の識別子に基づいて、前記受信したゲームプレーコマンドを前記ゲームコントローラと対応付ける、請求項14~16のいずれかに記載の方法。
【請求項18】
前記ゲームコントローラには、一意の識別子が割り当てられ、前記インターフェース装置は、前記一意の識別子に基づいて、前記ゲームコントローラが送信する前記メッセージを識別する、請求項14~16のいずれかに記載の方法。
【請求項19】
前記インターフェース装置および前記ゲームコントローラは、共通ネットワーク上で通信可能に接続される、請求項14~18のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本願は、全体的に、インタラクティブなクラウドゲームのためのデバイス、システム、および方法を含むコンピュータテクノロジーに関するが、これらに限定されない。
【背景技術】
【0002】
背景
ゲーム機は、ゲームおよびその他の娯楽に使われる一種のメディア表示装置である。ゲーム機が備えられた1つのスペースにユーザグループが集まり、ゲーム機を使ってストリーム配信される映画を楽しむことができる。ゲームアプリケーションの場合、ゲーム機は、通常は、プレイのためにゲーム機に同時に接続する複数のゲームコントローラ(たとえば、最大5つのゲームコントローラ)をサポートする。しかしながら、ユーザがゲーミングセッションを異なる場所(たとえば、家の中の異なる部屋または友人の家)に移動させようと決めた場合、これらのゲームコントローラおよびゲーム機を個々に電源を落としてセットアップし直さなければならない。さらには、ゲームは、プレイ出来るようになる前にコンソールのハードドライブ上にインストールする必要があるため、ユーザのゲームの選択肢は、いつも限られている。これに加えて、旧ゲーム機は、より新しいゲームが必要とする要求に応えられる処理能力がない可能性があり、ユーザは、ゲーム機を常にアップグレードしなければならない。このように、コンソールベースのゲームは、ユーザにとって面倒であり、時間が掛かり、費用がかかる。
【0003】
したがって、ユーザが相当な時間や、コストを掛けることなく、難なく高品質のゲーム体験をできる必要がある。また、ユーザは、遊びたいゲームや、一緒にゲームで遊ぶ人の数を自由に選べるべきである。
【発明の概要】
【課題を解決するための手段】
【0004】
概要
本明細書に記載の様々な実施態様は、効率のよい持ち運び可能なゲーム体験を可能にするゲームアプリケーションプラットフォームを提供することを対象とする。具体的には、ゲームを利用可能にするソフトウェアをホストするインターフェース装置(たとえば、Google Inc.によるCHROMECASTなどのハードウェアドングル)がクラウドゲームに使われる。インターフェース装置は、ゲームサーバとやり取りしてゲームにアクセスし、インターフェース装置と連結または一体化された表示装置(たとえば、テレビ)上に表示するゲームメディアコンテンツ(たとえば、オーディオおよび/またはビジュアルコンテンツ)をゲームサーバから(たとえば、リアルタイムで)ストリーム配信する。また、インターフェース装置は、ゲームコントローラ(複数可)および/またはオンラインゲームを利用可能にする電子機器(複数可)と同時に通信を行う。
【0005】
本願のいくつかの実施態様によると、インスタントゲームプレーを提供するクラウド対応のゲームコントローラをゲームに使う。ゲームコントローラは、ローカルネットワーク(たとえば、Wifi)上でインターフェース装置と通信を行う。ゲームコントローラは、メッセージ(たとえば、ゲームセットアップコマンド)をインターフェース装置に送信する。ゲームプレー中、ゲームコントローラは、ゲーム入力をゲームサーバに直接送信する。したがって、ゲームコントローラは、ゲーム機を必要としない持ち運び可能なスタンドアロンデバイスとして動作し、ある場所から別の場所(たとえば、住居環境、寮、オフィス内、または家と家との間など)への移動を簡単かつ便利にする。
【0006】
いくつかの実施態様では、ゲームコントローラは、複数のプレーヤー認証情報および/または複数のネットワーク認証情報を格納する。ゲームコントローラは、多くの異なる場所においてマルチプレーヤーゲーム設定で使用できる。
【0007】
これに加えて、いくつかの実施態様では、インターフェース装置は、複数のゲームコントローラおよび/または同じネットワーク上の複数の電子機器と同時に接続する(たとえば、ペアリングする)。
【0008】
いくつかの実施態様では、ゲームコントローラは、ゲームコントローラのユーザと(たとえば、セットアップ処理時に)対応付けられるデバイスID(たとえば、ゲームコントローラID)および/または、クライアント証明書によって識別される。
【0009】
いくつかの実施態様では、インターフェース装置は、デバイスIDおよび/またはクライアント証明書(たとえば、インターフェース装置のID)によって識別される。いくつかの実施態様では、ゲームコントローラは、通信可能に接続(たとえば、ペアリング)した各インターフェース装置の識別子を格納する。
【0010】
いくつかの実施態様では、ゲームコントローラは、世帯で利用される。ゲームコントローラは、セットアップ(たとえば、準備処理)時に、世帯およびそのユーザ(たとえば、世帯の構成員)と対応付けられる。いくつかの実施態様では、クラウドゲームを利用可能にするアプリケーション(たとえば、GOOGLE Homeアプリ)を利用してゲームコントローラを準備する。いくつかの実施態様では、世帯およびそのユーザは、認証情報によって識別される。認証情報は、ゲームサーバを通して購入したゲームおよびその他の権利にアクセスできるようにするために検証される。
【0011】
いくつかの実施態様では、ゲームコントローラは、プレーヤーから音声入力(たとえば、コマンド)を受信し、当該音声入力を処理および/または送信する。
【0012】
いくつかの実施態様では、ゲームコントローラは、ゲームコントローラにプラグ接続されたヘッドセットを含む。オーディオ入力は、(たとえば、ヘッドセットを介して)ゲームコントローラに送られる。
【0013】
このように、本明細書に開示のインターフェース装置、ゲームコントローラ、およびクラウドゲームサーバの様々な先端技術を組み合わせることによって、一箇所に集まったユーザによるゲームプレーから、異なる会場にいる複数のプレーヤー(たとえば、数百人または数千人)によるオンラインのインタラクティブゲームプレーにゲーム体験を広げることができる。さらには、ユーザは、クラウド-ゲームサービスおよび大量のクラウド管理されたコンテンツライブラリを含むリソース、ならびにリソースの描画、エンコーディング、およびストリーム配信へのアクセス権を有するので、ユーザは、もはや、ゲーム機のストレージおよび処理能力の束縛を受けない。
【0014】
一態様では、いくつかの実施態様は、1つ以上のプロセッサと、当該1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを備えるインターフェース装置(たとえば、ゲームインターフェース装置)を含み、1つ以上のプログラムは、アプリケーション(たとえば、ゲームアプリケーションおよびストリーミングアプリケーション)を含む。インターフェース装置は、インターフェース装置とゲームコントローラとの間、および、インターフェース装置とインターフェース装置から遠く離れたゲームサーバとの間でメッセージおよびメディアストリームを受信ならびに/または送信するための通信モジュールを含む。インターフェース装置は、インターフェース装置に連結または一体化された表示装置の入力部にアプリケーションの出力を行うように構成される出力モジュールをさらに含む。アプリケーションは、ゲームコントローラが送信するメッセージの実質的にすべてに関連する出力をインターフェース装置が処理および表示する第1モード(たとえば、メニューモード)を実装するように構成される。アプリケーション(たとえば、ゲームアプリケーション)は、インターフェース装置がゲームコントローラからのメッセージの予め定義されたサブセットを処理および表示し、ゲームサーバが送信するゲームメディアストリーム(たとえば、ストリーミングアプリケーション)を表示する第2モード(たとえば、ゲームプレーモード)を実装するようにさらに構成される。いくつかの実施態様では、通信モジュールは、無線送信モジュール、通信バス、および有線接続のうち、1つ以上であり得る。いくつかの実施態様では、ゲームコントローラは、インターフェース装置に近接する。いくつかの実施態様では、出力モジュールは、インターフェース装置に連結または一体化された表示装置の入力ポートにアプリケーションの出力を行う(たとえば、送信する)ように構成される出力ポートを含む。いくつかの実施態様では、アプリケーションは、ゲームサーバが送信するゲームメディアストリームをデコードして表示装置に出力するようにさらに構成される。いくつかの実施態様では、ゲームメディアストリームは、リアルタイムで表示される。いくつかの実施態様では、ゲーミングセッションのゲームプレー状態を示すためのストリームが、ゲームサーバによって生成される。いくつかの実施態様では、第2モードで、インターフェース装置は、ゲームコントローラからのほとんどのコマンドを無視する(たとえば、ゲームコントローラ上のクイックメニュー押下ボタンからのコマンドのみが、インターフェース装置に送られる)。
【0015】
別の態様では、いくつかの実施態様は、1つ以上のプロセッサと、当該1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを備えるゲームコントローラを含み、1つ以上のプログラムは、アプリケーションを含む。ゲームコントローラは、メッセージおよびメディアストリームを受信および/または送信するゲームコントローラとインターフェース装置との間、および、ゲームコントローラとゲームコントローラから遠く離れたゲームサーバとの間でメッセージおよびメディアストリームを受信ならびに/または送信するための通信モジュールを含む。アプリケーションは、ゲームコントローラがゲームセットアップコマンドをインターフェース装置に送信する第1モード(たとえば、メニューモード)を実装するように構成される。アプリケーションは、ゲームコントローラがゲームプレーコマンドをゲームサーバに送信し、ゲームセットアップコマンドの予め定義されたサブセットをインターフェース装置に送信する第2モード(たとえば、ゲームプレーモード)を実装するようにさらに構成される。いくつかの実施態様では、インターフェース装置は、ゲームコントローラに近接する。いくつかの実施態様では、ゲームコントローラおよびインターフェース装置は、同じローカルネットワーク上で接続され、ゲームコントローラは、同じローカルネットワーク上でゲームセットアップコマンドをインターフェース装置に送信する。いくつかの実施態様では、ゲームコントローラは、複数のユーザ認証情報、および複数のネットワーク認証情報を格納する。いくつかの実施態様では、通信モジュールは、無線送信モジュール、通信バス、および有線接続のうち、1つ以上であり得る。
【0016】
一態様では、いくつかの実施態様は、ゲームシステムにおいて実行されるクラウドゲームのための方法を含む。ゲームシステムは、インターフェース装置と、ゲームコントローラと、インターフェース装置およびゲームコントローラから遠く離れたゲームサーバとを備える。インターフェース装置、ゲームコントローラ、およびゲームサーバの各々は、1つ以上のプロセッサと、当該1つ以上のプロセッサによって実行される1つ以上のプログラムを格納したメモリとを含む。この方法は、インターフェース装置において、(1)ゲームコントローラからゲームの選択を受け付けるステップと、(2)ゲームコントローラが送信するメッセージの実質的にすべてに関連する出力を、第1モード(たとえば、メニューモード)でユーザの介入なしで自動的に処理および表示するステップと、(3)ゲームコントローラからのメッセージの予め定義されたサブセットを、第2モード(たとえば、ゲームプレーモード)でユーザの介入なしで自動的に処理および表示し、ゲームサーバが送信するゲームのゲームメディアストリームをリアルタイムで表示するステップとを含み、表示するステップは、インターフェース装置に連結または一体化された表示装置上で表示するステップを含む。また、方法は、ゲームコントローラにおいて、(4)第1モードで、コントローラコマンド(たとえば、ゲームセットアップコマンド)をインターフェース装置に送信するステップと、(5)第2モードで、ゲームプレーコマンドをゲームサーバに送信し、コントローラコマンドの予め定義されたサブセットをインターフェース装置に送信するステップとを含む。方法は、さらに、ゲームサーバにおいて、各ゲームについて、(6)ゲームコントローラからゲームプレーコマンドを受信するステップと、(7)受信したコマンドのうちの1つ以上のコマンドの各サブセットに従って、ゲームのコンテンツの各フレームを描画するステップと、(8)描画された各フレームを含んだゲームのゲームメディアストリームをインターフェース装置にリアルタイムで送信するステップとを含む。いくつかの実施態様では、ゲームコントローラは、インターフェース装置に近接する。
【0017】
一態様では、いくつかの実施態様は、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を格納する。
【0018】
別の態様では、いくつかの実施態様は、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電子機器を含む。
【0019】
さらに別の態様では、いくつかの実施態様は、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電子機器は、共通ネットワーク上にある。
【0020】
さらに別の態様では、いくつかの実施態様は、1つ以上のプロセッサと、当該1つ以上のプロセッサに連結されたメモリとを備えるコンピューティングシステムを備え、メモリは、1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを格納し、1つ以上のプログラムは、本明細書に記載の方法を実行するための命令を含む。
【0021】
さらに別の態様では、いくつかの実施態様は、コンピューティングシステムの1つ以上のプロセッサによって実行される1つ以上のプログラムを格納する非一時的なコンピュータ読み取り可能な記憶媒体を含み、1つ以上のプログラムは、本明細書に記載の方法を実行するための命令を含む。
【0022】
その他の実施の形態および利点は、本明細書の説明および図面に照らして、当業者には明らかであろう。
【0023】
記載の様々な実施態様をより理解するために、下記の図面と連動して以下の実施態様の説明を参照する。図面全体を通して、同様の参照番号は、対応する部分を指す。
【図面の簡単な説明】
【0024】
【
図1A】いくつかの実施態様に係る、例示的なゲーム環境である。
【
図1B】いくつかの実施態様に係る、別の例示的なゲーム環境である。
【
図1C】いくつかの実施態様に係る、さらに別の例示的なゲーム環境である。
【
図1D】いくつかの実施態様に係る、さらに別の例示的なゲーム環境である。
【
図2A】ゲームポータルユーザインターフェース(UI:User Interface)を起動するための例示的な動作シーケンスを示す図である。
【
図2B】ゲームセッションを起動するための例示的な動作シーケンスを示す図である。
【
図3】いくつかの実施態様に係る、代表的なゲームコントローラを示すブロック図である。
【
図4】いくつかの実施態様に係る、代表的なインターフェース装置を示すブロック図である。
【
図5】いくつかの実施態様に係る、代表的なサーバシステムを示すブロック図である。
【
図6A】いくつかの実施態様に係る、
図3のゲームコントローラをセットアップして準備するための例示的な処理を示す図である。
【
図6B】いくつかの実施態様に係る、
図3のゲームコントローラをセットアップして準備するための例示的な処理を示す図である。
【
図6C】いくつかの実施態様に係る、
図3のゲームコントローラをセットアップして準備するための例示的な処理を示す図である。
【
図7A】いくつかの実施態様に係る、ゲームコントローラとインターフェース装置とのやり取りの例を示す図である。
【
図7B】いくつかの実施態様に係る、ゲームコントローラとインターフェース装置とのやり取りの例を示す図である。
【
図7C】いくつかの実施態様に係る、ゲームコントローラとインターフェース装置とのやり取りの例を示す図である。
【
図8A】いくつかの実施態様に係る、ゲームコントローラとインターフェース装置とのやり取りの別の例を示す図である。
【
図8B】いくつかの実施態様に係る、ゲームコントローラとインターフェース装置とのやり取りの別の例を示す図である。
【
図9A】いくつかの実施態様に係る、2つのゲームコントローラとインターフェース装置とのやり取りの例を示す図である。
【
図9B】いくつかの実施態様に係る、2つのゲームコントローラとインターフェース装置とのやり取りの例を示す図である。
【
図9C】いくつかの実施態様に係る、2つのゲームコントローラとインターフェース装置とのやり取りの例を示す図である。
【
図9D】いくつかの実施態様に係る、2つのゲームコントローラとインターフェース装置とのやり取りの例を示す図である。
【
図9E】いくつかの実施態様に係る、2つのゲームコントローラとインターフェース装置とのやり取りの例を示す図である。
【
図9F】いくつかの実施態様に係る、2つのゲームコントローラとインターフェース装置とのやり取りの例を示す図である。
【
図10A】いくつかの実施態様に係る、ゲームコントローラ102と2つのインターフェース装置とのやり取りの例を示す図である。
【
図10B】いくつかの実施態様に係る、ゲームコントローラ102と2つのインターフェース装置とのやり取りの例を示す図である。
【
図11A】いくつかの実施態様に係る、ゲームコントローラ102と2つのインターフェース装置とのやり取りの別の例を示す図である。
【
図11B】いくつかの実施態様に係る、ゲームコントローラ102と2つのインターフェース装置とのやり取りの別の例を示す図である。
【
図11C】いくつかの実施態様に係る、ゲームコントローラ102と2つのインターフェース装置とのやり取りの別の例を示す図である。
【
図11D】いくつかの実施態様に係る、ゲームコントローラ102と2つのインターフェース装置とのやり取りの別の例を示す図である。
【
図12A】いくつかの実施態様に係る、クラウドゲームのための方法のフローチャート表現である。
【
図12B】いくつかの実施態様に係る、クラウドゲームのための方法のフローチャート表現である。
【
図12C】いくつかの実施態様に係る、クラウドゲームのための方法のフローチャート表現である。
【
図13A】いくつかの実施態様に係る、クラウドゲームのための方法の別のフローチャート表現である。
【
図13B】いくつかの実施態様に係る、クラウドゲームのための方法の別のフローチャート表現である。
【
図13C】いくつかの実施態様に係る、クラウドゲームのための方法の別のフローチャート表現である。
【
図13D】いくつかの実施態様に係る、クラウドゲームのための方法の別のフローチャート表現である。
【
図13E】いくつかの実施態様に係る、クラウドゲームのための方法の別のフローチャート表現である。
【
図14A】いくつかの実施態様に係る、クラウドゲームのための方法のさらに別のフローチャート表現である。
【
図14B】いくつかの実施態様に係る、クラウドゲームのための方法のさらに別のフローチャート表現である。
【発明を実施するための形態】
【0025】
複数の図面全体を通して、同じ参照番号は、対応する部品を指す。
実施態様の説明
ここで、実施態様を詳細に説明し、その例を添付の図面に示す。以下の詳細な説明において、記載の様々な実施態様の十分な理解のため、多くの具体的な詳細を説明する。しかしながら、これらの具体的な詳細がなくても、記載の様々な実施態様を実施できることは、当業者であれば分かるであろう。その他の場合、周知の方法、プロシージャ、構成要素、およびネットワークについては、実施態様の態様を不必要に曖昧にしないよう、詳細に説明していない。
【0026】
GoogleのCHROMECASTデバイスなど、ディスプレイインターフェース装置(ここでは、「インターフェース装置」、「ストリーミングデバイス」、または「キャスティングデバイス」と称する)を使って、連結されたディスプレイにローカルまたは遠隔のメディアソース(インターネットに接続されたメディアサービスまたはローカルなDVR(Digital Video Recorder)など)からメディアコンテンツをストリーム配信することができる。インターフェース装置は、連結されたディスプレイ上に、インターフェース装置に通信可能に連結されたユーザデバイス上で実行中のアプリケーションからキャストされたユーザインターフェースを表示することができる(たとえば、モバイル機器のユーザは、モバイル機器上で再生中のYOUTUBE(登録商標)映像を、連結されたCHROMECASTデバイスを介して大画面表示にキャストできる、または、ラップトップユーザは、大画面表示にCHROMECASTデバイスを介してCHROMEブラウザウィンドウをキャストできる)。これらのインターフェース装置の機能は、ゲームサーバからクラウドゲームのコンテンツを配信するよう、さらに拡張できる。さらに、インターフェース装置は、ユーザ認証情報およびネットワーク認証情報を格納したクラウド対応のゲームコントローラと組み合わせて、効率のよい持ち運び可能なゲーム体験を作り出すことができる。
【0027】
たとえば、ジュリアの自宅には、それぞれ居間のテレビと寝室のテレビに連結された2つのインターフェース装置がある。ジュリアは、クラウド対応のゲームコントローラを使って、居間のテレビでお気に入りのオンラインゲームをする。ゲーミングセッション中、母親の友人が訪ねてきて、母親と友人は、フットボールの試合を居間のテレビで観戦したいと考えている。ジュリアは、ゲームセッションを一旦停止させて、ゲームコントローラを寝室に持って行く。寝室にあるインターフェース装置が、(たとえば、オーディオおよび/またはその他のキューを使って)ジュリアおよびゲームコントローラの存在を寝室で検出し、寝室のテレビに切り替える。寝室のテレビでは、ジュリアが放置した一旦停止された状態のゲームを表示している画面が表示される。ジュリアは、画面の一旦停止を解除して、ゲームセッションを再開する。ジュリアは、ゲームコントローラを持って友人のブランドンを訪ねる。ブランドンの家では、ブランドンが自宅のWifiへの認証情報をジュリアに与える。ジュリアは、ゲームコントローラをブランドンのネットワークに接続して、ゲームコントローラをブランドンのインターフェース装置とペアリングする。ブランドンがジュリアのゲームセッションに参加して、2人はそれぞれのゲームコントローラを使ってゲームで遊ぶ。ジュリアが次回ブランドンを訪ねたとき、彼女のゲームコントローラは、ブランドンのネットワークに自動的に接続する。
【0028】
図1Aは、いくつかの実施態様に係る、例示的なゲーム環境100である。ゲーム環境100は、ゲームコントローラ102と、1つ以上の電子機器104と、表示装置108に連結されたインターフェース装置106とをローカルネットワーク110上に備える。いくつかの実施態様では、ローカルネットワーク110は、有線(たとえば、Ethernet(登録商標))および/またはワイヤレス(たとえば、Wi-Fi)通信を使って1つ以上のデバイスとネットワーク接続する。たとえば、ローカルネットワーク110は、1つ以上のデバイスをローカルネットワーク110にネットワーク接続するルータ装置を含む。ローカルネットワーク110は、通信ネットワーク112(たとえば、ワイドエリアネットワーク、インターネット)に通信可能に連結されている。
【0029】
ゲームコントローラ102とインターフェース装置106とは、通信可能に連結されている。ゲームコントローラ102とインターフェース装置106は、ローカルネットワーク110を通しておよび/または直接(たとえば、Bluetooth(登録商標)またはその他のワイヤレス通信を介して)互いに通信を行ってもよい。いくつかの実施態様では、ゲームコントローラ102とインターフェース装置106とは、互いにローカルである(たとえば、同じ部屋にある、同じ家にあるなど)。インターフェース装置106は、ビジュアルコンテンツおよび/または音声コンテンツを出力できる1つ以上の表示装置108に連結されている(たとえば、表示装置108は、テレビ、ディスプレイモニタ、タブレット端末、表示画面付きのコンピュータ/ラップトップ、音響システム、スピーカーなどを含む)。インターフェース装置106は、表示装置(複数可)108にコンテンツを出力するように構成される。
【0030】
ゲームコントローラ102は、1つ以上のアプリケーションを含み、これらを実行できる。いくつかの実施態様では、ゲームコントローラ102は、インターフェース装置106と連動して動作するように構成される1つ以上のアプリケーションを含む。いくつかの実施態様では、アプリケーションは、インターフェース装置アプリケーションと、ゲームアプリケーションとを含む。インターフェース装置アプリケーションは、ゲームコントローラ102をインターフェース装置106とペアリングするため、およびインターフェース装置106を構成するために使われる。
【0031】
いくつかの実施態様では、アプリケーションは、クラウドゲームのために使われるゲームアプリケーションを含む。ゲームアプリケーションは、メッセージ(たとえば、ゲームセットアップコマンド)をゲームコントローラ102からインターフェース装置106に送信するために、およびゲーミングセッション中にゲーム入力(たとえば、ゲームプレーコマンド)をゲームコントローラ102からゲームサーバ(たとえば、サーバシステム114)に送信するために使われる。いくつかの実施態様では、セットアップコマンドおよびゲームプレーコマンドは、ゲームコントローラ102のボタン、十字キー(複数可)、および/またはジョイスティック(複数可)の組合せを使って、インターフェース装置106のゲームアプリケーション、および/または、サーバシステム114に送信される。いくつかの実施態様では、セットアップコマンドおよびゲームプレーコマンドは、ゲームコントローラ102のユーザ(「ゲーマー」としても知られる)によって発行されてインターフェース装置106および/またはサーバシステム114に送信される音声コマンドである。
【0032】
いくつかの実施態様では、ユーザは、ゲームコントローラ102上のボタン(たとえば、「スタート」または「ホーム」ボタン)を押下することによってゲームを開始できる。これにより、インターフェース装置106に信号が送られて、表示装置108上に表示されたゲームポータルユーザインターフェース(UI:User Interface)が起動する。次に、ユーザは、ゲームポータルUI上でゲームを選択して、(たとえば、別のボタンを押下することによって)ゲームの起動を開始できる。ゲームポータルUIを起動する処理およびゲーミングセッションを開始する処理については、
図2でさらに詳細を説明する。
【0033】
ゲーム環境100は、1つ以上の電子機器104(たとえば、104-1および/または104-2)を含む。電子機器104とインターフェース装置106は、通信可能に連結されている。電子機器104とインターフェース装置106は、ローカルネットワーク110を通して、および/または直接(たとえば、Bluetoothまたはその他のワイヤレス通信を介して)通信を行ってもよい。いくつかの実施態様では、電子機器104とインターフェース装置106とは、互いにローカルである(たとえば、同じ部屋にある、同じ家にあるなど)。
【0034】
電子機器104は、1つ以上のアプリケーションを含み、これらを実行することができるデバイスである。いくつかの実施態様では、電子機器104は、スマートフォン、タブレットデバイス、ラップトップもしくはネットブックコンピュータ、デスクトップコンピュータ、またはマルチメディアデバイスである。
【0035】
いくつかの実施態様では、電子機器104は、インターフェース装置106と連動して動作するように構成される1つ以上のアプリケーションを含む。いくつかの実施態様では、アプリケーションは、電子機器104をインターフェース装置106とペアリングするため、およびインターフェース装置106を構成するためのインターフェース装置アプリケーション(たとえば、インターフェース装置アプリケーション344、
図3)を含む。また、アプリケーションは、関連するコンテンツをインターフェース装置106にキャストできる1つ以上のアプリケーションを含む。いくつかの実施態様では、アプリケーションは、データ/コンテンツをインターフェース装置106に直接送ることによって(たとえば、ローカルネットワーク110を介して)および/またはインターフェース装置106がデータ/コンテンツをストリーム配信または受信し得る遠隔地(たとえば、サーバシステムにおける場所へのUniversal Resource Locator(「URL」)またはその他のリンク)にインターフェース装置106を誘導することによってデータおよび/またはコンテンツをインターフェース装置106にキャストする。インターフェース装置106は、アプリケーションおよび/または遠隔地からデータ/コンテンツを受信し、受信したデータ/コンテンツに対応するビジュアルコンテンツおよび/または音声コンテンツを表示装置108に出力する。
【0036】
いくつかの実施態様では、アプリケーションは、メッセージ(たとえば、ゲームセットアップコマンド)をインターフェース装置106に送信するための、およびゲーミングセッション中にゲーム入力(たとえば、ゲームプレーコマンド)を電子機器104からゲームサーバ(たとえば、サーバシステム114)に送信するためのゲームアプリケーション(たとえば、ゲームアプリケーション346、
図3)を含む。いくつかの実施態様では、電子機器104と一体化された入力装置(たとえば、ラップトップコンピュータ104-2のキーボードおよび/またはマウス)を使って、セットアップコマンドおよびゲームプレーコマンドがインターフェース装置106および/またはサーバシステム114に送られる。
【0037】
いくつかの実施態様では、アプリケーションは、1つ以上の標準化されたゲームコントローラ構成またはテンプレートなどを電子機器104上で実装するためのコントローラアプリケーションをさらに含む。標準化されたコントローラ構成の各々は、電子機器104上の入力装置および/またはセンサーをなんらかの方法で構成して仮想コントローラを実装する。使用される標準化されたコントローラ構成は、ゲームによって、および/または電子機器104の種類によって異なり得る。たとえば、電子機器104がタッチスクリーン付きモバイル機器(たとえば、104-1)である場合、タッチスクリーン上に表示されたタッチスクリーンを利用する仮想コントローラパッドを実装する標準化されたコントローラ構成が使われる。仮想コントローラパッドは、仮想ボタン、仮想十字キー、および/または仮想ジョイスティックを含んでもよい。別の例として、電子機器104が物理キーボード付きのラップトップまたはデスクトップコンピュータ(たとえば、104-2)である場合、物理キーボードのキーをコントローラの機能にマッピングする標準化されたコントローラ構成が使われてもよい。別の例として、センサー(たとえば、加速度計)を含む電子機器104上で、電子機器104の動きを入力として使うゲームのために、電子機器104を、タッチスクリーン上に表示された1つ以上の仮想ボタンを必要に応じて有するモーションコントローラに変える標準化されたコントローラ構成が使われる。
【0038】
インターフェース装置106は、ゲームコントローラ102および/または電子機器104、ならびに表示装置108に通信可能に接続する。インターフェース装置106は、1つ以上のアプリケーションを含み、これらを実行することができる。いくつかの実施態様では、インターフェース装置106は、ゲームコントローラ102および/または電子機器104と連動して動作するように構成される1つ以上のアプリケーションを含む。
【0039】
いくつかの実施態様では、1つ以上のアプリケーションは、ゲームコントローラ102および/または電子機器104からメッセージ(たとえば、セットアップコマンド)を受信して処理し、コマンドに関連する出力を表示装置108上に表示するためのゲームアプリケーションを含む。いくつかの実施態様では、ゲームアプリケーションは、さらに、ゲームサーバ(たとえば、サーバシステム114)が送信するゲームメディアストリームをリアルタイムで受信してデコードし、表示装置108に出力する。
図4で後述するが、いくつかの実施態様では、インターフェース装置106は、セットアップコマンドおよびゲームメディアストリームを処理するための1つ以上のモジュール含む。
【0040】
いくつかの実施態様では、インターフェース装置106は、キャスティングデバイス(たとえば、Google Inc.によるCHROMECAST)、ハードウェアドングル、ストリーミングデバイス、またはストリーム配信および/またはキャスト機能を含むデバイスである。
【0041】
いくつかの実施態様では、インターフェース装置106の出力部は、表示装置108の入力部(たとえば、HDMI(登録商標)ポート、USBポートなど)に接続される。
【0042】
ゲーム環境100では、ゲームコントローラ102、インターフェース装置106、および電子機器104は、通信ネットワーク(複数可)112を経由してサーバシステム114と認証システム125とに通信可能に連結される。いくつかの実施態様では、デバイスのうちの少なくともいくつか(たとえば、ゲームコントローラ102、電子機器104、インターフェース装置106、および表示装置108)は、ローカルネットワーク110に通信可能に連結され、ローカルネットワーク110は、通信ネットワーク(複数可)112に通信可能に連結される。いくつかの実施態様では、デバイス(たとえば、ゲームコントローラ102、電子機器104、インターフェース装置106、および表示装置108)は、(たとえば、ローカルネットワーク110または通信ネットワーク(複数可)112を経由せずに)互いに通信可能に連結される。いくつかの実施態様では、認証システム125は、サーバシステム114の一部である。
【0043】
いくつかの実施態様では、インターフェース装置106の機能は、表示装置108と組み合わされる(すなわち、搭載または内蔵される)(
図1Dも参照)。たとえば、いくつかの実施態様によると、表示装置108は、ゲームアプリケーションを含む1つ以上のアプリケーションをホストする処理モジュールを有するテレビディスプレイまたはコンピュータモニタである。別の例では、ディスプレイ108は、ゲームアプリケーションを含む1つ以上のアプリケーションをプロセッサがホストする、ラップトップまたはタブレット端末など、一体型ディスプレイを有するコンピューティングデバイスに対応付けられる。いくつかの実施態様では、表示装置108は、オンラインゲームを利用可能にする機能を含む1つ以上の機能をホストする。いくつかの実施態様では、インターフェース装置106の機能は、ゲームコントローラ102と表示装置108との間で分けられる(たとえば、分割される)。
【0044】
いくつかの実施態様では、サーバシステム114は、インタラクティブなクラウドゲームプラットフォームであって、ゲームコンテンツおよび処理能力を提供する。いくつかの実施態様では、サーバシステム114は、いつでも、何十万ものユーザ(「ゲーマー」)に対応する。
【0045】
サーバシステム114は、オンラインのインタラクティブゲームプラットフォームをホストし、クライアントデバイス(本明細書では、ゲームコントローラ102、電子機器104、およびインターフェース装置106は、まとめてサーバシステム114の「クライアントデバイス」と称する)が1つ以上のゲームアプリケーションをプレイすることをサポートする。具体的には、サーバシステム114は、クライアントデバイスに対応付けられた複数のユーザアカウントを含み、1つ以上のゲームアプリケーションに関連してクライアントデバイスのユーザを認証する。サーバシステム114は、クライアントデバイス102上のオンラインのインタラクティブゲームのシーンを描画したり、リフレッシュしたりする。クライアントデバイス102は、当該シーンに関連する対応するゲーミングセッションに参加する。いくつかの実施態様では、サーバシステム114は、クライアントデバイスの能力および/またはサーバシステム114とクライアントデバイスの各々との通信接続の質を評価してもよく、クライアントデバイス関連するゲーミングセッションの同期データストリームを適応的に生成する。これらの手段によって、サーバシステム114は、実質的に低レイテンシで、同時に2つ以上のクライアントデバイス上のオンラインのインタラクティブゲームの同期ゲーミングセッションを容易にするように構成される。
【0046】
いくつかの実施態様では、サーバシステム114は、通信ネットワーク(複数可)112を介してゲームコントローラ102、インターフェース装置106、および電子機器104と直接インターフェース接続するフロントエンド116を含む。フロントエンド116は、要求(たとえば、ゲーミングセッションを開始する要求)を受け付け、この要求に応答して情報を送信する(たとえば、ゲームコンテンツを送る)。いくつかの実施態様では、フロントエンド116は、クライアントデバイスにデータ(たとえば、データベース更新)を送るように構成される。
【0047】
いくつかの実施態様では、フロントエンド116は、受信した要求のサブセットをバックエンドリソース124に転送する。バックエンドリソース124は、要求データを取得する、および/または要求サービスを実行する。いくつかの実施態様では、バックエンドリソース124は、要求に従って、データ(たとえば、ゲーム状態データ)を格納および/またはアクセスしてもよい。
【0048】
サーバシステム114は、メディアストリーミングサーバ120と直接通信を行うゲームサーバ118を含む。ゲームサーバ118は、ゲームコンテンツと、シームレスなゲームプレーを可能にするその他の機能(たとえば、処理能力)とを提供する。
【0049】
いくつかの実施態様では、ゲームサーバ118は、クラウドゲームのハードウェアリソース(たとえば、GPUおよびエンコーダーリソース)を動的に割り当てて、最適なクラウドゲーム体験を提供する、個々のエンドユーザが利用可能なネットワーク帯域幅を監視および利用する。いくつかの実施態様では、ゲームサーバ118は、高解像度の映像/メディアストリームで高パフォーマンスかつリアルタイムのゲーミングセッションをサポートする層を含む、複数のパフォーマンス層を提供する。
【0050】
いくつかの実施態様では、オンラインゲーミングセッションをプレイするユーザからのユーザコマンドに応答して、ゲームサーバ118は、動的に複数のフレームを生成する。ユーザコマンドの種類(たとえば、ジャンプする、銃を撃つ)に従って、ゲームサーバ118は、予想される応答レイテンシ(待ち時間)、実際の通信レイテンシおよび処理レイテンシ、ならびに実際の伝送レイテンシを判断する。フレームの数は、実際の伝送レイテンシおよび予め定義されたフレームレートに基づいて算出される。その結果、コマンドは、オンラインゲーミングセッションにおいて、コマンドの影響を反映したフレームセットを生成することによって実行される。予め定義されたフレームレートで送信されたときのフレームセットは、実際の伝送レイテンシに対応する伝送時間が掛かり、予想される応答レイテンシに対応する時間内にクライアントデバイス(たとえば、インターフェース装置106)において受信され得る。
【0051】
いくつかの実施態様によると、ゲームサーバ118は、ゲームプレーの入力に応答して、ゲームプレー出力を描画する。いくつかの実施態様では、ゲームプレー中にユーザが感じる待ち時間を最小限に抑えるために、ゲームコントローラ102および電子機器104は、各々ゲームサーバ118と直接通信を行う。たとえば、ゲームサーバ118は、ゲームコントローラ102からゲームプレーコマンドを直接受信し、受信したコマンドに従ってゲームのコンテンツの各フレームを描画する。ゲームサーバ118は、描画されたフレームについての情報をメディアストリーミングサーバ120に送る。そして、メディアストリーミングサーバ120は、それぞれの描画されたフレームを含むゲームメディアストリームを、表示装置上で表示するためにインターフェース装置106にリアルタイムで送信する。
【0052】
いくつかの実施態様では、ゲームサーバ118は、異なるサブスクリプションモデルをサポートする、ならびに/または、待ち時間がほとんどあるいは全くなしで1つ以上の実際のゲームストリームに対応する1つ以上の同時のリアルタイムゲームプレーおよび/もしくはレビューメディアストリーム(たとえば、携帯アプリまたはブラウザベースのプログラムを介してオンライン/クラウドゲーミングセッションに参加しているユーザのクライアントデバイスに出力されるビデオストリーム)を提供するように構成される。いくつかの実施態様によると、ゲームサーバ118は、ゲームプレーの同期メディアストリームおよびレビュー映像を生成するように構成され、メディアストリーミングサーバ120には、同時ゲームプレーのレビュー映像が提供される。このようなレビュー映像は、YouTube(登録商標)などのメディアストリーミングサイトを介して、待ち時間がほとんどあるいは全くなしで1つ以上のユーザに提供される。いくつかの実施態様では、メディアストリーミングサーバ120は、さらに、1つ以上のメディアストリーミングサイトを管理する。
【0053】
いくつかの実施態様では、サーバシステム114は、定期的にインターフェース装置106と通信を行い、プレーヤーがまだオンラインであるかどうかをチェックする。いくつかの実施態様では、ゲームサーバが(たとえば、インターフェース装置106および/またはゲームコントローラ102から)応答を受信しない場合、サーバシステム114は、プレーヤーに対応付けられたゲームキャラクターをスタンバイモードに設定するまたはこのキャラクターのゲームへの「接続を切る(kick)」コマンドを発行する。
【0054】
いくつかの実施態様では、サーバシステム114は、ユーザおよびセッションデータを格納するためのデータベース122を含む。データベース122は、少なくとも、サーバシステム114上でホストされる1つ以上のゲームアプリケーションの各々(たとえば、ゲームアプリケーション348、
図3)のユーザアカウントに関連するユーザ情報を格納する。ユーザ情報126として、ユーザアカウント情報(たとえば、ID(identification)およびパスワード)、会員種別、基本設定、活動履歴などが挙げられるが、これらに限定されない。いくつかの実施態様では、サーバシステム114は、ゲームコントローラ102を使用してプレイされたオンラインゲーミングセッションに関連するセッションデータを格納する。オンラインゲーミングセッションごとのセッションデータとして、フレームレート、描画仕様、通常のレイテンシ要件、GPU割り当て情報、エンコーダー割り当て情報、関連セッションのID、および最新のステータス情報などが挙げられるが、これらに限定されない。セッションデータは、ユーザ情報よりも頻繁にアクセスされる。いくつかの実施態様では、ユーザ情報およびセッションデータを格納するメモリは、それぞれ、フラッシュメモリおよびランダムアクセスメモリ(RAM)製である。
【0055】
いくつかの実施態様では、サーバシステム114は、ゲームアプリケーションに関連するライブオンラインコミュニティをサポートする。ユーザ(たとえば、サービスの加入者)は、対応するゲームAPIプラットフォーム上のライブイベント、トーナメント、またはアクティビティに1日中に参加する。ライブイベント、トーナメント、またはアクティビティとして、他のユーザがプレイするライブゲーミングセッションを観覧すること、パブリックドメイン(たとえば、YouTube)に自身の成績を投稿すること、ライブチップおよび指導映像を得ることなどが挙げられる。たとえば、ユーザアクションに応答して、ゲームサーバ118は、2つ以上のライブストリームを提供する。ゲームプレイヤーの第1クライアントデバイスの第1のゲーミングセッション上の第1のゲームストリームを維持したまま、サーバシステム114は、(たとえば、加入者の)1つ以上のその他のクライアントデバイスに第2のライブレビューストリーム(たとえば、YOUTUBEストリーム)を同報通信する。第2のライブレビューストリームによって、ユーザは、閲覧者とゲーム体験を共有できるようになる。任意で、第2ライブストリームは、プレーヤーの第1クライアントデバイス(たとえば、表示装置108)の画面の再生である。サーバシステム114は、プレーヤーが第1のゲーミングセッションを解説するオーディオストリーム、または、プレーヤーが第1のゲーミングセッションをプレイおよび解説するビデオストリームを取得してもよい。オーディオストリームは、任意で、閲覧者用に第2のライブレビューストリームを再生しながら、閲覧者用に再生される。ビデオストリームは、任意で、第2のライブレビューストリームの埋め込みウィンドウで再生される。
【0056】
ゲーム環境100は、認証サービス126と認証ストレージ128とを備える認証システム125をさらに含む。認証サービス126は、プロキシとして動作し、当事者および第三者の認証に関連する動作を処理するスタンドアロンサービスである。認証ストレージ128は、すべてのゲームコントローラ102のデバイスID、およびすべてのゲームコントローラ102の各々に対応付けられたリンクユーザについての情報を格納する。
【0057】
いくつかの実施態様によると、ゲームコントローラ102は、(たとえば、一意の)デバイスID、およびクライアント証明書によって識別される。クライアント証明書は、ゲームコントローラによって、リモートサーバ(たとえば、サーバシステム114および/または認証システム125)に認証済みの要求を行うために使われる。さらには、いくつかの実施態様では、ゲームコントローラ102は、ゲームコントローラ102のすべてのユーザの認証情報を格納する。例として、ゲームコントローラ102は、ゲーム用に世帯の様々な構成員によって使われている可能性がある。したがって、ゲームコントローラ102は、ゲームコントローラ102を利用する世帯の構成員ごとに認証情報(たとえば、ユーザ名、ログイン認証情報、パスワード、認証チャレンジ/レスポンス)を格納する。このように、ゲームコントローラ102を、そのデバイスID、クライアント証明書、ユーザおよびユーザの認証情報にリンクさせる(対応付ける)ことができる。いくつかの実施態様では、ゲーミングセッションを開始する要求に応答して、ゲームコントローラは、デバイスIDについての情報、クライアント証明書、および/またはユーザ認証情報を、認証ストレージ128に格納された情報に対して認証サービス126によって検証するために送る。
【0058】
いくつかの実施態様では、ゲーミングセッションをリンクする処理の一部として、サーバシステム114は、サーバ114システムと各クライアントデバイスとの間の通信接続の質にアクセスする。
【0059】
いくつかの実施態様では、サーバシステム114は、クライアントデバイスとサーバシステム114との間のネットワークレイテンシを測定する。測定されたレイテンシが閾値を上回り、かつ低レイテンシ接続が利用可能である場合、サーバ114は、プレーヤークライアント104に低レイテンシ接続に変更するよう提案する、またはプレーヤークライアント104を低レイテンシ接続に変更するよう、プレーヤークライアント104のプレーヤーユーザに勧めることができる。たとえば、クライアントデバイスがセルラーワイヤレス接続(図示せず)上の電子機器104(たとえば、携帯電話)であり、かつローカルネットワーク110が利用可能である場合、サーバシステム114は、ローカルネットワーク110を経由して電子機器104を接続するよう提案できる。いくつかの実施態様では、レイテンシ閾値要件は、ゲーム間で異なる。たとえば、低レイテンシ接続で最高の体験ができるゲーム(たとえば、アクションゲーム)もあれば、レイテンシについてあまり要求しないゲーム(たとえば、オンラインのボードゲームまたはカードゲーム)もあり、サーバシステム114は、これらの異なる要件に鑑みて接続の推奨を行ってもよい。
【0060】
いくつかの実施態様では、電子機器104がゲーミングセッションを開始する一部として、サーバシステム114が電子機器104と通信を行って電子機器104上で仮想コントローラを(たとえば、コントローラアプリケーションを利用して)セットアップする。いくつかの実施態様では、これには、電子機器104が仮想コントローラを実装するために必要なアプリケーションを有しているかどうか、および/または電子機器104とサーバ114との間の通信接続のレイテンシがゲームセッションに適切であるかどうかを(たとえば、上述した能力/接続品質評価の一部として)含む、電子機器104がコントローラに必要なリソースを有しているかどうかをサーバシステム114が評価することが含まれる。電子機器104において利用可能なリソース、接続品質、およびゲームの要件によっては、コントローラの実装は、電子機器104において異なってもよい。
【0061】
図1Bは、いくつかの実施態様に係る、別の例示的なゲーム環境130を示す図である。多くの態様において、ゲーム環境130は、ゲーム環境100と同様である。ゲーム環境130とゲーム環境100との主な違いは、ゲーム環境130がゲームコントローラ102と、表示装置108-1および108-2にそれぞれ連結された2つのインターフェース装置106-1および106-2とを備える点である。ゲームコントローラ102は、インターフェース装置106-1および106-2の各々と通信可能に連結される(たとえば、ペアリングする)。
【0062】
いくつかの実施態様では、ゲームコントローラ102、インターフェース装置106-1および106-2、ならびに表示装置108-1および108-2は、ローカルネットワーク110を含むローカル環境(たとえば、住居環境、寮、オフィス環境など)に存在する。いくつかの実施態様では、インターフェース装置106-1、インターフェース装置106-2は、ローカル環境の異なるエリア(たとえば、異なる部屋)に位置する。
【0063】
本願のいくつかの実施態様によると、サーバシステム114は、たとえば、第1のインターフェース装置106-1上で実行される第1のゲーミングセッションの第1ゲームストリームの一旦停止/中断し、第2のインターフェース装置106-2上の第1ゲームストリームを再スタートして第1のゲーミングセッションを継続するなど、ゲームコントローラ102のユーザが動き回ることを可能にするクラウドの機能を有効にする。また、サーバシステム114は、大規模スケールで複数のプレーヤーをサポートし、より豊富かつより永続的なクラウドベースの世界を提供する。サーバシステム114は、クラウドベースのシステムを利用して、同じユーザの異なるゲーミングセッションに関係するセッションデータ、または異なるユーザの異なるゲーミングセッションをデータベース122に格納する。したがって、住居環境を背景としたこの例を適用することによって、ゲームコントローラ102のユーザは、(たとえば、寝室にある)第1のインターフェース装置106-1を用いてゲームプレーを開始し、ゲーミングセッションを一旦停止させ、第2のインターフェース装置106-2が設けられた場所に(たとえば、居間)にゲームコントローラ102を持って行って居間でゲームプレーを再開することができる。
【0064】
いくつかの実施態様では、ゲームコントローラ102は、ペアリングしたインターフェース装置106-1および106-2の各々の識別子を格納する。いくつかの実施態様では、ゲームコントローラ102は、インターフェース装置106のうちの1つを、ゲームコントローラ102のデフォルトのペアリングデバイスとして設定する。
【0065】
いくつかの実施態様では、ゲームコントローラ102と各々が通信可能に連結された3つ以上のインターフェース装置106を含むようにゲーム環境130を拡大させることができる。
【0066】
いくつかの実施態様では、ゲーム環境130は、各々が通信可能にインターフェース装置106の各々に連結された2つ以上のゲームコントローラ102(たとえば、102-1および102-2)を含む。
【0067】
図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を広げることができることは、当業者に明らかであろう。
【0068】
ゲーム環境160では、ゲームコントローラ102-1(およびインターフェース装置106-3)は、ゲームコントローラ102-2から遠く離れたところにある。つまり、ゲームコントローラ102-1のユーザは、ゲームコントローラ102-1のユーザと同じエリア(たとえば、同じ部屋または建造物)には位置しない。
【0069】
いくつかの実施態様では、ゲームコントローラ102のゲーミングセッションは、任意で、それぞれのユーザに対応する別個の視点で同じゲームシーンをプレイするように同期している。
【0070】
いくつかの実施態様によると、ゲームコントローラ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)上でのオンラインゲーミングセッションからの出力に影響を与えることができる。
【0071】
あるいは、いくつかのその他の実施態様では、第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上で実行中のゲーミングセッションの出力に影響を与えることができる。
【0072】
図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つ以上のアプリケーションをプロセッサがホストする、ラップトップまたはタブレット端末など、一体型ディスプレイを有するコンピューティングデバイスと対応付けられる。
【0073】
いくつかの実施態様では、表示装置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上に表示される。
【0074】
処理の流れ
様々なゲーム環境を説明してきたが、ここで、様々な処理の流れを説明する。
【0075】
本願のいくつかの実施態様によると、ゲームコントローラは、インターフェース装置106に通信可能に接続(たとえば、ペアリング)されて電源が入る。ユーザは、ゲームコントローラ102上のボタン(たとえば、「スタート」または「ホーム」ボタン)を押下することによってゲームを開始することができる。これにより、インターフェース装置106に信号が送られて、表示装置108上に表示されるゲームポータルユーザインターフェース(UI)を起動する。次に、ユーザは、ゲームポータルUI上でゲームを選択し、(たとえば、別のボタンを押下することによって)ゲームの起動を開始することができる。
【0076】
図2Aは、ゲームポータルユーザインターフェース(UI)を起動する例示的な動作シーケンス200を示す図である。いくつかの実施態様では、動作200に記載の要素およびステップは、
図1に示す要素およびフローに関係する。その他の実施態様も可能である。
【0077】
いくつかの実施態様では、ゲームポータルUIは、インターフェース装置106(たとえば、ゲームポータルUIモジュール437、
図4)上でホストされており、インターフェース装置106上でゲームアプリケーションを開始する時に起動される。ゲームポータルUIは、ユーザのプロフィール、購入したゲーム、およびその他の権利、ゲームカタログ、友達、メッセージなどへのアクセスを可能にする。
【0078】
図2Aによって示すように、ゲームユーザインターフェース(UI)ポータルの起動は、ゲームコントローラ102と、インターフェース装置106と、サーバシステム114と、認証システム125との間の通信を含む。シーケンス200(またはメッセージフロー)は、ゲーム環境(たとえば、ゲーム環境(複数可)100、130、および/または160)において実行されてもよい。この環境は、非同期型であり、ノンブロッキングである。
【0079】
ユーザは、ゲームコントローラ102上のボタン(たとえば、「スタート」ボタンまたは「ホーム」ボタン)を押下してインターフェース装置106(図示せず)上のゲームアプリケーションを開始する。ゲームコントローラ102は、内部ストレージから取り出したデフォルトインターフェース装置の識別子を使用して「キャストセッション開始」要求をインターフェース装置106上のゲームアプリケーションに送る(202)。送信が成功した場合、ゲームコントローラ102とインターフェース装置106との間でキャスト(ゲームペアリング)セッションが確立されて、インターフェース装置106上でゲームアプリケーションが起動される。
【0080】
いくつかの実施態様では、インターフェース装置106は、接続されている表示装置108(たとえば、オンまたはオフ)の状態を判断し、表示装置108がオフの場合、オンにしてみる。いくつかの実施態様では、インターフェース装置106は、表示装置108上でCEC(Consumer Electronics Control)が有効になったという判断に従って、表示装置108をオンにしてみる。
【0081】
ゲームコントローラ102は、認証トークンをインターフェース装置106に送る(204)。いくつかの実施態様では、認証トークンは、自己完結型であり、当事者間で情報をセキュアに送信する。いくつかの実施態様では、インターフェース装置106とペアリングすると、ゲームコントローラ102は、トークン(たとえば、JSON Web token(JWT))を取り出す。ゲームコントローラ102は、トークンをパースし、署名されたJWT、クライアント証明書-中間証明書チェーンを抽出し、署名されたJWT、その有効期限、クライアント証明書-中間証明書チェーンをインターフェース装置106上のゲームアプリケーションに送る。
【0082】
ユーザは、第2ボタン(同じボタンであってもよく、異なるボタンであってもよい)をゲームコントローラ102上で押下することによってゲームポータルUIを起動する(206)。ゲームポータルUIは、インターフェース装置106に起動コマンドを送信する。
【0083】
インターフェース装置106は、起動コマンドを受信して認証システム125にユーザ検証を要求する(208)。
【0084】
いくつかの実施態様によると、起動コマンドは、インターフェース装置106のゲームアプリケーション(たとえば、ゲームアプリケーション436、
図4)によって受信され、インターフェース制御モジュール(たとえば、インターフェース制御モジュール438、
図4)に渡される。インターフェース制御モジュールは、受信した認証トークンとともに要求を認証サービス126に送り(ステップ204)、ゲーム(すなわち、サーバ)リソースへのアクセスを要求する。認証システム125は、ゲームコントローラ102のIDと、それにリンクされたユーザとを検証する(たとえば、IDを認証ストレージ128に格納された情報と照合させることによって)。
【0085】
検証が成功した場合、認証システム125は、リンクユーザのアクセストークン(たとえば、OAUTHトークン)を取り出す(210)。インターフェース装置106は、アクセストークンとその有効期限を提供するゲームポータルUIを起動する(212)。
【0086】
インターフェース装置106は、ポータルのランディングページのユーザ固有のコンテンツ(たとえば、ユーザのアバター、購入したゲーム、友達、メッセージなど)をサーバシステム114のフロントエンド116に要求し(214)、表示装置108上に表示する最適化された画像をバックエンドリソース124に要求する(214)。いくつかの実施態様では、要求ステップ(ステップ216)は、ゲームポータルモジュール(たとえば、ゲームポータルモジュール437、
図4)によって実行される。
【0087】
インターフェース装置106は、要求されたコンテンツを受信し(216)、要求されたコンテンツを表示する(218)。
【0088】
いくつかの実施態様では、ゲームポータルUIが初めて起動されたとき、または再起動されたとき、インターフェース装置106は、デフォルトの第1モード(たとえば、「メニュー」モード)で動作する。第1モードでは、ゲームコントローラ102からのすべての入力は、ゲームコントローラ102およびインターフェース装置106が接続されるローカルな有線またはWifiネットワーク上でインターフェース装置106のゲームアプリケーションを経由してゲームポータルUIに送られる。
【0089】
いくつかの実施態様では、ヘッドセットがゲームコントローラ102に接続(たとえば、プラグ接続)されている場合、ゲームコントローラは、「ヘッドセット接続済み」メッセージをインターフェース装置106に送る。インターフェース装置106は、ヘッドセット接続までゲームコントローラ102のデバイスIDを追跡する。ゲームポータルUIは、その他のユーザイベント(またはその他のフィードバック)の際に音声メッセージをゲームコントローラ102に送り返す。次に、このイベントがデコードされてゲームコントローラ102上で再生される。
【0090】
図2Bは、いくつかの実施態様に係る、ゲームセッションを起動するための例示的な動作シーケンス220を示す図である。いくつかの実施態様では、動作220に記載の要素およびステップは、
図1および
図2Aに示す要素およびフローに関し得る。その他の実施態様も可能である。
【0091】
図2Bに示すように、ゲームセッションの起動には、ゲームコントローラ102と、インターフェース装置106と、サーバシステム114との間の通信を必要とする。シーケンス220(またはメッセージフロー)は、ゲーム環境(たとえば、ゲーム環境(複数可)100、130、および/または160)において実行されてもよい。この環境は、非同期型であり、ノンブロッキングである。シーケンス220は、ゲームポータルUIが起動していると想定する(たとえば、
図2Aの処理を用いて)。
【0092】
ユーザは、ゲームコントローラ102を使ってゲームポータルUI上でゲームを選択し(222)、ゲーム起動要求を開始する。
【0093】
インターフェース装置106は、選択されたゲームのコンテンツIDを特定し(224)、ゲーム起動要求に応答してゲーミングセッションを開始する要求を発行する(226)。
【0094】
いくつかの実施態様では、ゲーム起動要求(たとえば、コマンド)は、インターフェース装置106のゲームアプリケーション(たとえば、ゲームアプリケーション436、
図4)によって受け付けられ、インターフェース制御モジュール(たとえば、インターフェース制御モジュール438、
図4)に渡される。次に、インターフェース制御モジュールが当該要求をゲームポータルUIモジュール(たとえば、ゲームUIモジュール437、
図4)に転送する。ゲームUIモジュールは、コマンドを処理して、選択されたゲームの「コンテンツID」を特定し、選択されたゲームのコンテンツIDをゲームポータルUIに送り返す。ゲームポータルUIモジュールは、インターフェース制御モジュール上でコールバックを呼び出し、次に、インターフェース制御モジュールがゲーミングセッションを開始するための要求を発行する。いくつかの実施態様では、インターフェース装置106内の通信は、標準化された通信プロトコル(たとえば、WebSocket)を利用して行われる。
【0095】
インターフェース装置106は、選択されたゲームのコンテンツIDを使って(たとえば、インターフェース制御モジュール438を使って、
図4)サーバシステム114にゲームコンテンツを要求する(228)。
【0096】
サーバシステム114は、許可が適切であるかどうかをチェックし(230A)、ゲーミングセッションを割り当てて(230B)、ゲームを読み込む(230C)。
【0097】
いくつかの実施態様では、インターフェース装置106は、サーバインターフェースモジュール(たとえば、サーバインターフェースモジュール440、
図4)を使ってゲームサーバ114に要求を伝達する。サーバインターフェースモジュールは、サーバシステム114のフロントエンド116にゲームコンテンツを要求する。フロントエンド116は、許可が適切であるかどうかをチェックし、バックエンドリソース124と連係する。バックエンドリソース12は、ゲームサーバ118と通信を行う。ゲームサーバ118は、ゲーミングセッションを割り当ててゲームの起動を開始する。
【0098】
サーバシステム114は、ゲーミングセッション情報(たとえば、セッションID、ゲームサーバ準備用IPアドレス、ポートなど)をインターフェース装置106に送る(232)。いくつかの実施態様では、サーバシステム114は、ゲーミングセッション情報をインターフェース装置106のサーバインターフェースモジュール(たとえば、サーバインターフェースモジュール440、
図4)に送り、インターフェース装置106は、この情報を提供するインターフェース制御モジュール438上でコールバックを呼び出す。
【0099】
ゲーミングセッション情報に応答して、インターフェース装置106は、サーバシステム114とのセッションペアリング要求を開始する(234)。サーバシステム114は、ゲームストリーミングおよびゲーム処理を(たとえば、ゲームサーバ118およびストリーミングサーバ120上で)開始し(236)、セッションペアリング応答で直ちに応答する(238)。
【0100】
ゲームの読み込みが完了すると、サーバシステム114は、「ゲーム準備完了」メッセージをインターフェース装置106に発行し(240A)、インターフェース装置106は、ゲーム準備完了メッセージをゲームコントローラ102に渡す(240B)。
【0101】
いくつかの実施態様では、ゲームの読み込みはゲームサーバ118によって行われる。ゲームの読み込みが完了すると、ゲームサーバ118は、クライアント接続を受け付ける準備をするようストリーミングサーバ120に通知し、ゲーム準備完了メッセージを発行する(この例では、「クライアント」は、ゲームコントローラ102およびインターフェース装置106の両方を指す)。
【0102】
本願におけるいくつかの実施態様によると、ステップ240Aおよび240Bでサーバシステム114によって発行されるゲーム準備完了メッセージは、ストリーミングサーバ120とクライアントとの間(すなわち、ストリーミングサーバ120とインターフェース装置106との間、およびストリーミングサーバ120とゲームコントローラ102との間)で直接通信するための「ハンドシェイク」の提供を含む。いくつかの実施態様では、ハンドシェイク提供のフォーマットは、DTLS(Datagram Transport Layer Security)プロトコルメッセージのフォーマットである。いくつかの実施態様では、ハンドシェイクの提供は、ストリーミングサーバ120とクライアントとの間でハンドシェイクを行うために必要な値(たとえば、認証証明書のハッシュ値)を含む。
【0103】
ハンドシェイクの提供を用いて、インターフェース装置106は、サーバシステム114(たとえば、ゲームサーバ118およびストリーミングサーバ120)との直リンクを確立する(242A)。同様に、ゲームコントローラ102は、サーバシステム114(すなわち、ゲームサーバ118およびストリーミングサーバ120)との直リンクを確立する(242B)。
【0104】
サーバシステム114のストリーミングサーバ120は、ゲームオーディオ/ビデオストリームを、表示装置108上に表示するためにインターフェース装置106に送信する(244)。
【0105】
ゲームコントローラ102は、ゲーム入力をゲームサーバ118に送る(246)。ゲームサーバ118は、ゲーム入力に基づいてフレームを描画してストリーミングサーバ118に送る。ストリーミングサーバ118は、表示装置108上で表示するためのゲームメディアストリームをインターフェース装置106に送信する。これに加えて、ゲームコントローラ102は、その他のメッセージをインターフェース装置106に送る(248A)。インターフェース装置106は、メッセージを処理し、メッセージのサブセットをゲームサーバ114に送る(248B)。
【0106】
いくつかの実施態様では、ストリーミングサーバ120は、音声/映像を送るためのストリーム、および入力を受信してランブルおよびその他の情報を送り返すためのストリームという2つのストリームを含む。いくつかの実施態様では、ストリーミングサーバ120は、現在のオーディオ/ビデオ接続をデフォルトで有効にした状態で特定の接続チャネル上で音声を送るかどうかを示す新しい初期化メッセージをストリーム配信クライアント(たとえば、インターフェース装置106)から受信する。
【0107】
いくつかの実施態様では、ストリーミングサーバ102に接続する前にゲームコントローラ102がヘッドセットを検出した場合(ステップ242Bにおいて)、ゲームコントローラ102は、ストリーミングサーバ120との接続が確立した直後にこのメッセージを伝達する。そうでない場合、ゲームコントローラ102は、プラグ接続されたヘッドセットを検出すると直ちにこのメッセージを送る。
【0108】
いくつかの実施態様では、特定の接続チャネル上でヘッドセット接続メッセージを受信することに従って、ストリーミングサーバ120は、特定の接続チャネル上での音声の送信を開始し、その他の接続上の音声を停止する。
【0109】
いくつかの実施態様では、ゲームコントローラ102からヘッドセットが抜かれると、ゲームコントローラ102は、「音声停止」メッセージをストリーミングサーバ120に送り、ストリーミングサーバ120を再び切り替えさせて、オーディオ/ビデオ接続上で音声を送らせる。
【0110】
いくつかの実施態様では、ゲームコントローラ102は、「クイックアクセス」ボタンを含む。「クイックアクセス」ボタンは、ゲームポータルUIにいるかゲームをプレイしているかに関わらず、ユーザがキー機能に利用できるようにする。
【0111】
いくつかの実施態様では、インターフェース装置106(および対応するゲームコントローラ102)は、2つのモードで動作する。つまり、(1)ローカルネットワークですべてのゲームコントローラ入力がインターフェース装置106に送られる第1モード(たとえば、「メニュー」モード)、および(2)コントローラコマンドのサブセットがゲームコントローラ102によってインターフェース装置106に送られ、その他は遠隔のゲーム(たとえば、サーバシステム114)に送られる第2モード(たとえば、「ゲーム」モード)。いくつかの実施態様では、コントローラコマンドのサブセットは、「クイックアクセス」ボタンによってアクセスされるコマンド(または機能)を含む。
【0112】
いくつかの実施態様では、インターフェース装置106は、ゲームポータルUIが初めて起動するときは、常に第1モードである。
【0113】
アーキテクチャ
ここで、ゲームコントローラ102、インターフェース装置106、およびサーバシステム114の例示的なアーキテクチャを説明する。いくつかの実施態様では、アーキテクチャに記載の要素は、
図1および
図2の要素およびフローに関係する。
【0114】
図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とインターフェース接続可能なスタンドアロンハードウェアコンポーネントに組み込まれている。
【0115】
また、ゲームコントローラ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とインターフェース接続可能なスタンドアロンハードウェアコンポーネントに組み込まれている。
【0116】
いくつかの実施態様では、ゲームコントローラは、音声メッセージおよび/またはゲームのオーディオストリームを再生するヘッドセット326をオプションとして含む。
【0117】
いくつかの実施態様では、ゲームコントローラ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など)、および/または、本明細書の出願日の時点で開発されていない通信プロトコルを含むその他の適した通信プロトコルのうちのいずれかを利用してデータ通信可能である。
【0118】
メモリ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。
【0119】
●起動されたときに1つ以上の認証オプションを提示し、認証オプションに対する入力を受信するためのセキュリティモジュール368;
●マイクロフォン312によって受け付けられたオーディオ入力/コマンドを処理するための音声アシスタンスモジュール370。
【0120】
いくつかの実施態様では、通信モジュール351は、無線送信モジュール、1つ以上の通信バス308などの通信バス、および有線接続のうち、1つ以上であり得る。
【0121】
いくつかの実施態様では、コントローラモジュール350は、メモリ306に含まれるインターフェース装置アプリケーション334または別のアプリケーションの一部(たとえば、サブモジュール)である。いくつかのその他の実施態様では、コントローラモジュール350は、オペレーティングシステム336の一部である。いくつかの別の実施態様では、コントローラモジュール350は、別個のモジュールまたはアプリケーションである。
【0122】
上記構成要素の各々は、前述の記憶装置のうちの1つ以上に格納されてもよく、上述の機能を実行するための命令セットに対応する。上記モジュールまたはプログラム(つまり、命令セット)は、別々のソフトウェアプログラム、プロシージャ、モジュール、またはデータ構造として実装される必要がないため、これらのモジュールの様々なサブセットは、様々な実施態様において組み合わされてもよく、並び替えられてもよい。いくつかの実施態様において、メモリ306は、任意で、上記モジュールおよびデータ構造のサブセットを格納する。さらに、メモリ306は、任意で、上述されていない追加のモジュールおよびデータ構造を格納する。
【0123】
図4は、いくつかの実施態様に係る、動作シーケンス200および220におけるゲーム環境100、130、および160の例示的なインターフェース装置106を示すブロック図である。インターフェース装置106は、通常、1つ以上のプロセッサ(複数可)(CPU)402と、1つ以上の通信インターフェース(複数可)404と、メモリ406と、これらの構成要素(チップセットと呼ばれる場合もある)を相互に接続するための1つ以上の通信バス408とを備える。さらには、インターフェース装置106は、IRセンサーなど、ゲームコントローラ102、および/または電子機器104、および/またはその他のインターフェース装置の近さを判断するための近接/位置検出部410を含む。
【0124】
さらには、いくつかの実施態様では、インターフェース装置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など)、および/または、本明細書の出願日の時点で開発されていない通信プロトコルを含むその他の適した通信プロトコルのうちのいずれかを利用してデータ通信可能である。
【0125】
また、これに加えて、インターフェース装置106は、マイクロフォン414を含む、ユーザの近さを検出するための1つ以上の入力装置(複数可)412と、インターフェース装置106に連結または一体化された1つ以上の出力装置(複数可)416(たとえば、表示装置(複数可)108)とを含む。
【0126】
メモリ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。
【0127】
いくつかの実施態様では、通信モジュール421は、無線送信モジュール、(たとえば、インターフェース機能がゲームコントローラにある場合)1つ以上の通信バス408などの通信バス、および有線接続のうちの、1つ以上であり得る。
【0128】
いくつかの実施態様では、ゲームUIモジュール437、インターフェース制御モジュール438、およびサーバインターフェースモジュール440は、インターフェース装置106において、共有ライブラリとしてパッケージ化されており、アプリケーションが開始された時にゲームアプリケーション436によって動的に開かれる。
【0129】
上記構成要素の各々は、前述の記憶装置のうちの1つ以上に格納されてもよく、上述の機能を実行するための命令セットに対応する。上記モジュールまたはプログラム(つまり、命令セット)は、別々のソフトウェアプログラム、プロシージャ、モジュール、またはデータ構造として実装される必要がないため、これらのモジュールの様々なサブセットは、様々な実施態様において組み合わされるまたは並び替えられてもよい。いくつかの実施態様において、メモリ406は、任意で、上記モジュールおよびデータ構造のサブセットを格納する。さらに、メモリ406は、任意で、上述されていない追加のモジュールおよびデータ構造を格納する。
【0130】
図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を備えてもよい。
【0131】
メモリ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、およびそれぞれのゲームセッションに関連する最新のステータス情報を含むが、これらに限定されない。
【0132】
上述した要素の各々は、前述した記憶装置のうちの1つ以上に格納されてもよく、上述した機能を実行するための命令セットに対応する。上記モジュールまたはプログラム(すなわち、命令セット)は、別々のソフトウェアプログラム、プロシージャ、モジュール、またはデータ構造として実装される必要はないので、これらのモジュールの様々なサブセットを組み合わせたり、様々な実施態様に配置したりしてもよい。いくつかの実施態様では、メモリ506は、任意で、上述したモジュールおよびデータ構造のサブセットを格納する。さらには、メモリ506は、任意で、上述していない追加のモジュールおよびデータ構造を格納する。
【0133】
いくつかの実施態様では、サーバシステム114は、プレーヤーがゲーマー友達とメッセージをやり取りできるようにするメッセージングアプリケーションをゲームポータルUIにおいて管理するためのメッセージモジュール(図示せず)をさらに含む。
【0134】
これら原理に鑑みて、特定の実施態様について説明する。
実施態様
図6A~
図6Cは、クラウドゲームのために新しいゲームコントローラ102を準備するための処理の例を示す図である。いくつかの実施態様では、新しいゲームコントローラ102は、ゲームに使われる前にセットアップされる必要がある。いくつかの実施態様では、このセットアップは、クラウドゲームをサポートする添付のアプリケーション(たとえば、GOOGLE Home Application612)を実行中の携帯電話610を用いて、環境600(たとえば、自宅、寮、および/またはオフィス)において行われる。いくつかの実施態様では、セットアップ処理は、1つ以上のユーザをゲームコントローラ102に追加するステップと、ゲームコントローラ102を環境600における1つ以上のインターフェース装置にペアリングすることとを含む。
【0135】
図6Aによって示すように、ゲームコントローラ102は、十字キー602(すなわち、十字キー315)、「アシスタント」ボタン606、「ホーム」ボタン608、ならびにゲームコントロールボタン604-1、604-2、604-3、および604-4(すなわち、ボタン312)を含む複数のボタンなどの入力コンポーネントを含むと図示されている。いくつかの実施態様では、ゲームコントローラ102は、ジョイスティック(すなわち、図示しないジョイスティック316)と、LED(たとえば、LED(複数可)322および/またはスピーカー(たとえば、スピーカー(複数可)320)(図示せず)など、出力装置(たとえば、出力装置(複数可)318)とをさらに含む。いくつかの実施態様では、入力コンポーネントおよび出力コンポーネントの数ならびに種類、およびそれらの配置は、異なり得る。いくつかの実施態様では、ゲームコントローラの形状および/もしくは大きさならびに/またはジオメトリは、図示するゲームコントローラ102とは異なる。
【0136】
いくつかの実施態様では、1つ以上のボタンがゲームコントローラ102上の1つ以上のマイクロフォン(たとえば、マイクロフォン312)をアクティブする。これにより、オーディオ入力(たとえば、音声コマンド)が受信できるようになる。たとえば、ゲーマーは、アシスタントボタン606を押しながら「寝室のテレビでディビジョンをプレイする」と言うことができる。いくつかの実施態様では、ゲームコントローラ102は、(たとえば、音声アシスタンスモジュール370を用いて)コマンドをパースして、寝室のテレビに接続されたインターフェース装置とペアリングする。また、いくつかの実施態様では、インターフェース装置は、寝室のテレビをオンにする。テレビは、ゲーマーの直近のゲーミングセッションからそのままにされたゲーム「ディビジョン」から、一旦停止されたシーンを表示する。ゲーマーは、ボタンを押してシーンの一旦停止を解除し、ゲームコントローラ102と寝室のテレビとを使ってゲームプレーを再開する。
【0137】
いくつかの実施態様では、ユーザは、新しいゲームコントローラ102のセットアップを、最初に電源を入れることによって(たとえば、ホームボタン608および/または電源ボタン(図示せず)を押下することによって)開始する。ゲームコントローラ102は、アプリケーションによって検出されるBluetooth/Wifiビーコンを発する。いくつかの実施態様では、電源を入れることに従って、アプリケーション612は、ユーザインターフェース660上に新しいデバイス(「ゲームコントローラ」)が見つかったことを示すメッセージ614と、当該新しいデバイスを設定するためのアフォーダンス615とを自動的に表示する。この例では、ユーザは、アフォーダンス615-1(はい」)を選択してセットアップ処理を続ける。
【0138】
図6Bは、セットアップ処理を続けることに従って表示される例示的なユーザインターフェース670を示す図である。いくつかの実施態様では、ユーザは、名前616(たとえば、ユーザ名)、写真618、パスワード(図示せず)、および/または認証チャレンジ(複数可)(図示せず)を含むフィールドを入力するよう求められる。いくつかの実施態様では、ユーザは、キーボードディスプレイ620を利用して、および/またはアイコン621(たとえば、写真を撮影するためのアイコン621-1および/または写真をアップロードするためのアイコン621-2))をタップすることによって名前を入力する。
【0139】
いくつかの実施態様によると、
図6Cによって示すように、アプリケーション612は、デフォルトのペアリングデバイスを設定するためのオプション622をユーザインターフェース680上にさらに表示する。オプション622は、ゲームコントローラ102とペアリング可能なデバイス(たとえば、インターフェース装置106)を表すアフォーダンス623を含む。オプション622は、ユーザにインターフェース装置106のうちの1つをゲームコンテンツを表示するためのデフォルトデバイスとして選択するよう求めるプロンプトをさらに含む。いくつかの実施態様では、デフォルトのペアリングデバイス(たとえば、デバイス623-2「居間」)が選択されてゲームコントローラ102がデフォルトで「居間」のインターフェース装置とペアリング接続されたあとにセットアップ処理が完了する。
【0140】
いくつかの実施態様では、新しいゲームコントローラ102をセットアップには、携帯電話(たとえば、携帯電話610)または携帯電話上で実行中の付属のアプリケーション(たとえば、アプリケーション612)の利用を必要としない。むしろ、セットアップおよび出力装置の選択は、ゲームコントローラ102とインターフェース装置106との間で直接、または、ゲームコントローラ102と表示装置108との間で直接行われる。たとえば、いくつかの実施態様では、インターフェース装置106または表示装置108は、新しいゲームコントローラ102をセットアップして出力装置を選択させるために実行され得る添付のアプリケーションを含む。いくつかの実施態様では、ゲームコントローラ102は、ゲームコントローラ102(たとえば、ゲームコントローラ102は、セットアップ命令を表示するオプションのディスプレイ324を含む)をセットアップして出力装置を選択するために実行され得る添付のアプリケーションを含む。
【0141】
いくつかの実施態様では、ゲームコントローラ102の電源が入った後、ユーザは、第2ボタンを押下することによって、および/またはゲームコントローラ102の電源を入れるために使われる同じボタンを再び押下することによってセットアップ処理を開始する。
【0142】
いくつかの実施態様では、ゲームコントローラ102は、名前/ユーザ名、写真、パスワード、認証チャレンジ)を含むユーザの情報、およびデフォルトインターフェース装置106を含むその他のデフォルト設定を(たとえば、デバイス/ユーザデータ366に)格納する。
【0143】
いくつかの実施態様では、ゲームコントローラは、ネットワーク認証情報(たとえば、Wifiネットワーク名および/またはパスワード)を(たとえば、デバイス/ユーザデータ366に)格納する。
【0144】
いくつかの実施態様では、ゲームコントローラ102は、複数のユーザ(たとえば、世帯の様々な構成員)によって使われる。したがって、第1ユーザがセットアップを完了した後、アプリケーション612は、その他のユーザを追加するオプションをさらに表示する。ゲームコントローラ102は、ユーザごとの認証情報を格納する。
【0145】
いくつかの実施態様では、ゲームコントローラ102は、ゲームコントローラ102上(たとえば、デバイス/ユーザデータ366)に格納されたデバイス識別子および/またはクライアント証明書を含む。したがって、ゲームコントローラ102は、各ユーザの認証情報をデバイス識別子および/またはクライアント証明書にリンクさせる。いくつかの実施態様では、(たとえば、
図2Aで説明したように)ゲームポータルUIを起動する要求に従って、ゲームコントローラは、デバイス識別子および/またはクライアント証明書の情報を、ユーザのIDとともに、認証システム125による検証のために認証システム125に送る。
【0146】
いくつかの実施態様では、アプリケーション612は、ゲームコントローラ102の既存ユーザのプロフィールを編集および/または削除するオプションをさらに含む。
【0147】
いくつかの実施態様では、ゲームコントローラがゲームコントローラ102に対応付けられているという環境600(たとえば、世帯、寮など)についての情報は、クラウド(たとえば、サーバシステム114および/または認証ストレージ128)に格納される。これに加えて、いくつかの実施態様では、クラウドは、ユーザごとに、ユーザ情報設定、表示設定、およびユーザに対応付けられたゲームコントローラ(複数可)を格納する。
【0148】
図7~
図11は、いくつかの実施態様に係る、ゲームコントローラ102およびインターフェース装置106の代表的な動作を示す図である。これらの例では、ゲームコントローラ102の準備は完了しており、インターフェース装置106に通信可能に接続されている(たとえば、ペアリングされている)と想定する。
図7~
図11は、表示装置108に連結されたインターフェース106を示す図である。いくつかの実施態様では、インターフェース装置106の機能は、表示装置108内に搭載(すなわち、組み込まれているおよび/または内蔵)されており、これに従って、表示装置108は、ゲームコントローラ102およびゲームサーバ(たとえば、サーバシステム114)と直接やり取りするように構成される。
【0149】
図7A~
図7Cは、いくつかの実施態様に係る、人が1人いる環境700における、
図3のゲームコントローラ102と
図4のインターフェース装置106との間の代表的なやり取りを示す図である。この例では、環境700は、住居環境(「ジュリアの自宅」)であり、ゲームコントローラ102は、デフォルトユーザ(「ジュリア」)にリンクされている。
【0150】
ジュリアは、ゲームUIポータルを起動し、ゲームを選択することによってゲームを開始する(
図2のUIの起動およびゲーム開始についての処理の流れを参照)。いくつかの実施態様では、最初、ゲームコントローラは、オフ/スタンバイモードであり、ジュリアは、ゲームコントローラ102の電源を入れる。ゲームコントローラ102は、電源が入った後、ジュリアの自宅のWifiネットワークに自動的に接続し、(たとえば、キャッシュから)世帯メタデータを取得する。ゲームコントローラ102は、自動的にインターフェース装置106(たとえば、「居間」)とペアリングし、インターフェース装置106は(たとえば、CECを利用して)、表示装置108を起動して正しい入力に切り替える。
【0151】
図7Aは、ユーザプロフィール712(「ジュリア」)(たとえば、アバター、写真、および/または名前)、オンライン713の友達、ゲーム714および716(たとえば、購入したゲーム、新しいゲーム、最近プレイしたゲーム)、ならびにメニュー715など、特徴を含んだ例示的なゲームポータルUIを表示する表示画面710を示す図である。この例では、ジュリアは、ゲームコントローラ102の唯一のユーザであるため、自動的にデフォルトプレーヤーとしてログインする。
【0152】
ジュリアは、ゲームポータルUI上でゲームを選択し、ゲームの起動を開始する。(ゲームの起動に際して生じる動作シーケンスの詳細は、
図2Bで説明されている)。表示装置108上にゲームストリームが表示される。ジュリアは、ゲームをプレイする。
【0153】
いくつかの実施態様では、表示装置108が電源オフ/スタンバイモードであるという判断に従って、インターフェース装置106は、自動的に表示装置108の電源をオンにする。
【0154】
いくつかの実施態様では、1つの入力の有効化(たとえば、1つのボタンの押下)によって、ゲームコントローラ102の電源をオンにするタスク、およびインターフェース装置106上でゲームアプリケーションを開始するタスクが実行される。いくつかの実施態様では、ゲームコントローラ102の電源がオンにされた後、ユーザは、第2入力を有効にして(たとえば、ボタンを再び押下するまたは第2ボタンの押下)、ゲームポータルUIを起動する。
【0155】
いくつかの実施態様では、ゲームポータルUIは、特徴のサブセットおよび/または
図7Aに図示しない追加の特徴を含む。いくつかの実施態様では、ゲームポータルUIの特徴のサブセットは、すべてのユーザ用にカスタマイズされている。いくつかの実施態様では、ゲームポータルUIによって、ゲームサーバがホストするすべてのゲームコンテンツの一覧をユーザが閲覧およびアクセスできるようになる。
【0156】
いくつかの実施態様では、マイクロフォン312が受け付けて音声アシスタンスモジュール370が処理する音声入力/コマンド(たとえば、ユーザが「居間のテレビでレーシングカーを再生して」と言う)を用いて、ユーザは、ゲームの起動を開始する。
【0157】
図7Bは、ゲーミングセッションのシャットダウン処理を示す図である。いくつかの実施態様では、シャットダウンを開始するために、ユーザは、ゲームコントローラ102上のボタン(たとえば、ホームボタン608)を押下する。これにより、終了コマンドがインターフェース装置106に送られる。画面720は、ゲーミングセッションの終了を確認するメッセージウィンドウ718を表示する。ユーザが「はい」を選択(721)すると、ゲームコントローラ102の電源が切れる(または、スリープモードに入る)。ユーザが「いいえ/戻る」を選択すると(722)、ゲーミングセッションが再開し、画面720からメッセージウィンドウ718が消える((図示せず)。
【0158】
いくつかの実施態様では、ユーザがゲーミングセッションの終了を確認することに応答して、インターフェース装置106は、終了コマンドをサーバシステム114に送信する。サーバシステム114は、必要に応じて、ゲーム/状態をセーブする。
図7Cによって示すように、ゲーミングセッションが終了し、ゲームアプリケーションが終了し、表示装置は、背景730を表示する。
【0159】
いくつかの実施態様では、異なる方法でボタンを押下することによって、同じボタン(たとえば、ホームボタン608)を使って異なるメニューおよび機能にアクセスすることができる。たとえば、ホームボタン608の「短/通常」押しを使って、ゲームコントローラ102の電源を入れてゲームポータルUIの起動を開始し、ホームボタン608の「長」押しによって、メニューボタン(たとえば、クイックアクセスメニュー)を起動し、および/またはゲーミングセッションのシャットダウンを開始する。
【0160】
また、いくつかの実施態様では、インターフェース装置106は、ゲーム用に使用されていない時に、その他の(ゲームではない)メディアコンテンツをストリーム配信するためのメディアストリーミングデバイスとして使用される。
【0161】
図8A~
図8Bは、いくつかの実施態様に係る、複数人の環境800における
図3のゲームコントローラ102と
図4のインターフェース装置106との代表的なやり取りを示す図である。この例では、複数人の環境800は、2人世帯であり、ゲームコントローラ102は、世帯の構成員である「ジュリア」と「ジャック」によって利用される。ゲームコントローラ102は、ジュリアとジャックについてのユーザ認証情報を格納する。いくつかの実施態様では、複数人の環境は、3人以上を含み、各人がゲームコントローラ102をオンラインゲームに利用する。
【0162】
図8の例では、ジャックは、
図2および
図7で記載のステップを用いてゲームポータルUIを起動する。
図8Aは、プレーヤーアカウント812(「ジュリア」)およびプレーヤーアカウント814(「Jackio」)のオプションを表示する画面810を示す図である。いくつかの実施態様では、画面810は、「ゲスト」プレーヤーアカウント816のオプションをさらに含む。この例では、ジャックは、プレーヤーアカウント814(「Jackio」)を選択する。
【0163】
いくつかの実施態様では、ゲームアプリケーションは、(たとえば、セキュリティモジュール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が起動される。
【0164】
いくつかの実施態様では、ゲームポータルUIは、起動したときにゲストアカウントオプション(たとえば、「ゲスト」プレーヤーアカウント816)を含む。いくつかの実施態様では、ゲストアカウントによって、ゲームコントローラ102上に認証情報が格納されていないゲストユーザがゲストユーザに関する情報を入力できるようになる。いくつかの実施態様では、ゲストアカウントは、ゲストユーザの限定的なアカウント権限および/または限定的なオプションを提供する(たとえば、ゲストユーザは、限られた数のゲームへのアクセス権を有し、ゲストユーザは、いずれのゲームも所有しておらず、ゲストユーザは、ゲームなどを購入することができない)。
【0165】
図9A~
図9Fは、いくつかの実施態様に係る、環境900における2つのゲームコントローラ102-1および102-2とインターフェース装置106との間の例示的なやりとりを示す図である。ゲームコントローラ102-1および102-2の各々は、インターフェース装置106と通信可能に接続(たとえば、ペアリング)される。
【0166】
いくつかの実施態様では、ゲーミングセッションは、1つのローカル環境900で、2つのゲームコントローラを使って2人のプレーヤーによって同時に実行される。この例では、環境900は、2人の構成員であるジュリアとジャックがいる住居環境とし、各々が自身のゲームコントローラを持っている。第1コントローラ102-1は、ユーザ「Julia」にリンクされており、第2コントローラ102-2は、ユーザ「Jack」にリンクされている。ジュリアは、
図2および
図7で記載のステップを用いてゲームポータルUIを起動する。
【0167】
いくつかの実施態様では、ゲームコントローラ102およびインターフェース装置の各々は、各デバイスIDおよびクライアント証明書によって識別される。ゲームコントローラIDは、最終的に、ゲームアカウントとリンクされたユーザを識別し、インターフェース装置106上のすべてのユーザ固有のコンテンツを操作する。
【0168】
いくつかの実施態様では、インターフェース装置106は、接続された(たとえば、ペアリングされた)すべてのゲームコントローラ102のゲームアプリケーション(ゲームアプリケーション436)のインスタンスを開始し、各ゲームコントローラをデバイスIDおよびクライアント証明書によって識別する。
【0169】
図9Aは、プレーヤーアカウント912(「Julia」)と、プレーヤーアカウント914(「Jackio」)と、プレーヤーアカウント816(「Guest」)とを選択するオプションがある画面910を示す図である。ジュリアは、自身のゲームコントローラ102-1上の十字キー902および/またはボタン904、906、および/または908を使ってプレーヤーアカウント912(「Julia」)を選択する。いくつかの実施態様では、ジュリアは、
図8Bに記載のステップを用いて自身のIDを認証するように求められる。いくつかの実施態様では、ジュリアが自分のアカウントを選択した(および認証処理を経た)後、ゲームコントローラ102-1は、ジュリアに対応する認証トークンをインターフェース装置106に送り、ジュリアのアクセストークンを使ってゲームポータルUIが起動される。
【0170】
図9Bは、起動後のジュリアのゲームポータルUIを表示する画面950を示す図である。ゲームポータルUIの機能は、
図7Aに記載されている。
【0171】
図9Cでは、ジャックは、自身のゲームコントローラ102-2上のボタンを押下することによってジュリアのセッションにリンクする。いくつかの実施態様では、ジャックは、プレーヤーアカウント914(「Jackio」)を選択し、認証処理を経る。ゲームコントローラ102-2もインターフェース装置106とペアリング済みであると認識するので、インターフェース装置106は、ジュリアのゲームポータルUI960上に、ジュリアのコントローラ(すなわち、ゲームコントローラ102-1)へのリンクを要求する警告ウィンドウ928と、オプション930および932とを表示する。ジャックは、オプション930(「はい」)を選択すると、ジュリアのゲーミングセッションに参加する。ジャックは、オプション932(「いいえ」)を選択すると、ペアリングする装置に異なるインターフェース装置を選択してもよい(図示せず)。
【0172】
いくつかの実施態様では、第2プレーヤーが第1プレーヤーのゲーミングセッションに参加した時、第1プレーヤーがゲーミングセッションの「ホスト」(または、プライマリユーザ)となり、第2プレーヤーが「ゲスト」(または、セカンダリユーザ)となる。サーバ(たとえば、ストリーミングサーバ102)は、ゲームメディアコンテンツを表示装置108にストリーム配信し、ゲームコントローラ102-1およびゲームコントローラ102-2から同時にゲーム入力を受信する。
【0173】
いくつかの実施態様では、複数のゲームコントローラ102がインターフェース装置106に接続された時、ゲームポータルUIを操縦する際には、プライマリユーザのゲームコントローラ(すなわち、この例では、102-1)のみが使用される。プライマリユーザは、ゲームアプリケーションを起動するユーザであり、そのコンテンツがゲームポータルUIによって表示されている。
【0174】
いくつかの実施態様では、ゲーミングセッションが開始するまで、ホストのみがゲームポータルUIを制御できる。いくつかの実施態様では、ゲーミングセッション中、コントローラ102-1および102-2の各々は、独立してサーバシステム114に入力を送り、ゲームコントローラ102-1および102-2の各々は、独立してインターフェース装置106と通信を行う。
【0175】
図9Dおよび
図9Eは、いくつかの実施態様に係る、マルチプレーヤーゲーミングセッションを終了する様子を示す図である。この例では、ゲストプレーヤー(すなわち、ジャック)は、ゲームコントローラ102-2上のボタンを押下することによって(たとえば、ホームボタン608の長押しによって)、ゲーミングセッションを終了する。ゲストプレーヤーの入力に応答して、画面970は、ゲストプレーヤーの終了を確認するメッセージ932を表示する。ジャックは、(たとえば、オプション934(「はい」を選択することによって)終了を確認した場合、ゲームコントローラ102-2の電源を切る。いくつかの実施態様では、ゲストプレーヤーが終了する一方で、ホットプレーヤーおよびその他のセカンダリユーザは、ゲーミングセッションを続ける。いくつかの実施態様では、ゲーミングセッションは、ホスト(すなわち、ジュリア)が接続されている限り続く。
【0176】
ジャックがゲーミングセッションを終了して少し経った後、ホストプレーヤーであるジュリアは、ゲーミングセッションを終了しようと決める。彼女は、ゲームコントローラ上のボタンを押下して、ゲームの終了を開始する。ホストプレーヤーの入力に応答して、ホストプレーヤー(図示せず)の終了を確認するメッセージが画面上に表示される。いくつかの実施態様では、ゲーミングセッションを終了するというホストプレーヤーからの確認に従って、ゲームサーバ(たとえば、サーバシステム114)は、ゲーム/状態をセーブして、(たとえば、
図7Bで記載のステップに従って)ゲームサービスを終了する。いくつかの実施態様によると、
図9Eに示すように、インターフェース装置106は、ゲームサービスが終了した後に、背景表示980を表示装置108上に表示する。
【0177】
いくつかの実施態様では、ホストプレーヤー/アカウントがゲーミングセッションを終了する、および/またはホストのゲームコントローラの電源が切られた時にのみ、ゲーミングセッションは、終了する。
【0178】
図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を起動する。
【0179】
図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をブランドンのセッションにゲストとしてリンクさせることができる。
【0180】
図10A~
図10Bは、いくつかの実施態様に係る、環境1000におけるゲームコントローラ102と2つのインターフェース装置106-1および106-2とのやり取りの例を示す図である。インターフェース装置106-1および106-2は、それぞれ表示装置108-1および108-2に連結される。ゲームコントローラ102は、インターフェース装置106-1および106-2の各々と通信可能に接続(たとえば、ペアリング)される。
【0181】
いくつかの実施態様では、インターフェース装置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を表示する。
【0182】
図10Bは、ゲームコントローラ102が、デフォルト設定に関わらず、インターフェース装置との近さに基づいてインターフェース装置と自動的にペアリングする別の実施態様を示す図である。ここでは、インターフェース装置106-1がデフォルトのペアリングデバイスであるが、ゲームコントローラ102がその近傍の1つ以上のインターフェース装置(複数可)(たとえば、106-1および106-2)を検出し、最も近接するインターフェース装置(すなわち、106-2)とペアリングする。
【0183】
いくつかの実施態様では、ゲームコントローラ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)とペアリングする。
【0184】
あるいは、いくつかの実施態様では、ゲームコントローラ102とそれぞれのインターフェース装置106との近さは、それぞれのインターフェース装置上の1つ以上のマイクロフォン(たとえば、マイクロフォン414)を使用してそれぞれのインターフェース装置によって判断される。たとえば、
図10Bを参照すると、インターフェース装置106-2マイクロフォン414は、ユーザが歩いて部屋に入ったことを示すオーディオ入力を受信し、それに従って、インターフェース装置106-2がその存在およびペアリング接続できることをゲームコントローラ102に明るみにする。
【0185】
いくつかの実施態様では、
図10Bに示すように、ゲームコントローラ102とペアリング接続することに応答して、インターフェース装置106-2は(たとえば、CECを利用して)、表示装置108-2を起動して、正しい入力に切り替える。さらには、インターフェース装置106-2は、ゲームコントローラ102にリンクされたアカウント1016(「Julia」)および1016(「Jackio」)を含んだ画面1040を表示する。デフォルトのインターフェース装置106-1は、ゲームコントローラ102とペアリング接続されない。これに従って、表示装置108-1は、真っ白な画面1030を表示する。
【0186】
図11A~
図11Dは、いくつかの実施態様に係る、ゲームプレー中にディスプレイを切り替えるための、ゲームコントローラ102と2つのインターフェース装置106-1および106-2との間のやり取りの別の例を示す図である。
【0187】
この例では、ジャックがゲームコントローラ102を使って「レーシングカー」というゲームを居間でプレイしている。
図11Aに示すように、居間のテレビ108-1は、ゲームの中からシーン1110を表示し、寝室のテレビ108-2は、真っ白な画面1120を表示している。
【0188】
ジャックは、ゲームを寝室に移動しようと決める。
図11Bに示すように、ジャックは、(たとえば、ゲームコントローラ102上のボタン314のうちの1つを押下することによって)居間のテレビ108-1上のゲームを一旦停止する。画面1110は、ゲームが一旦停止されたことを示すウィンドウ1106を表示する。いくつかの実施態様では、ジャックは、第2ボタンを押下して、異なる表示オプションを含むメニュー1104にアクセスする。この例では、ジャックは、オプション1104-1(「寝室のテレビ」)を選択する。いくつかの実施態様では、ジャックが異なる(すなわち、寝室の)ディスプレイを選択することに応答して、居間のテレビ108-1に接続されたインターフェース装置106-1がゲームサービスを終了し、表示装置108-1は、背景1130を表示する(
図11Cを参照)。
【0189】
図11Cは、ジャックがゲームコントローラ102を持って寝室に移動した様子を示す図である。いくつかの実施態様では、ゲームコントローラ102は、(たとえば、
図10Bの実施態様に従って)最も近接するインターフェース装置106-2と自動的にペアリングする。ペアリングに応答して、インターフェース装置106-2は(たとえば、CECを利用して)、表示装置108-2を起動し、正しい入力に切り替える。画面1140によって示すように、ゲームサービスが起動し、一旦停止状態のゲームを再開する。ジャックは、ゲームの一旦停止を解除し、ゲームプレーを再開する。これらの動作のすべては、ユーザ側の中断を最低限に抑えて、容易かつシームレスに行われる。
【0190】
あるいは、
図11Dによって示すように、ユーザは、音声起動を利用して、ゲームプレーを環境1100内の異なる場所に移動させることができる。これの例では、ジャックは、ゲームコントローラ102を持って歩いて寝室に入った後、ゲームコントローラ102上のボタン(たとえば、アシスタンスボタン606)を押してもよい。当該ボタンは、ゲームコントローラ102上の1つ以上のマイクロフォン(たとえば、マイクロフォン312)を起動する。ジャックは、音声コマンド1118(「寝室のテレビでレーシングカーを再生して」)を発行する。いくつかの実施態様では、音声コマンドに応答して、ゲームコントローラ102は、(たとえば、音声アシスタンスモジュール370を用いて)当該コマンドをパースし、「寝室のテレビ」が表示オプションのうちの1つであると識別し、「寝室のテレビ」108-2に接続されたインターフェース装置106-2とペアリングする。いくつかの実施態様では、この音声コマンドは、サーバシステム114において処理されるために(インターフェース装置106-2を介して)サーバシステム114に送信される。
【0191】
これに加えて、様々な図および実施態様によって説明したように、ゲームコントローラ102、電子機器104、および/またはインターフェース装置106に通信可能に接続されたその他の電子機器を用いて、ユーザ、ネットワーク、および内部のデバイスについて分かる「環境グラフ」(たとえば、住居環境の場合、自宅グラフ)を作成することができる。いくつかの実施態様では、ゲームコントローラ102は、このグラフを使ってユーザ、デバイス、および接続可能なディスプレイを識別することができる。
【0192】
図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によって実行されると説明する。
【0193】
インターフェース装置106は、第1電子機器に近接する第2電子機器から、クラウドゲーミングセッションを起動するための第1のユーザ入力を受信する(1202)。インターフェース装置106と第2電子機器とは、共通ネットワーク(たとえば、ローカルネットワーク110、140、および/または150)上で通信可能に接続されている。
【0194】
いくつかの実施態様では、第2電子機器は、ゲームコントローラ(たとえば、ゲームコントローラ102)である(1204)。いくつかの実施態様では、第1のユーザ入力は、ゲームコントローラ102上のボタンの選択(たとえば、ボタン314のうちの1つ)を含む。
【0195】
いくつかの実施態様では、最初、ゲームコントローラ102は、電源オフ/スタンバイモードであり、第1のユーザ入力によってゲームコントローラ102の電源がオンになる。いくつかの実施態様では、ゲームコントローラ102は、電源がオンになった後、ローカルネットワークに自動的に接続する(たとえば、Wifiネットワーク)。いくつかの実施態様では、ゲームコントローラは、ローカルネットワークに接続した後、自動的に(デフォルト)インターフェース装置106とペアリングする。
【0196】
いくつかの実施態様では、インターフェース装置106は、キャスティングデバイスおよび/またはメディアストリーミングデバイスである。いくつかの実施態様では、インターフェース装置106は、ハードウェアドングルである。
【0197】
いくつかの実施態様では、第2電子機器は、スマートフォン、タブレットデバイス、ラップトップ、およびコンピュータ(たとえば、
図1の電子機器104)のうちの1つである。いくつかの実施態様では、第2電子機器は、1つ以上の標準化されたゲームコントローラ構成を実装するための仮想コントローラアプリケーションを含む。
【0198】
いくつかの実施態様では、表示装置108は、電源オフ状態である(1228)。この例では、第1のユーザ入力を受信することに応答して、インターフェース装置106は、表示装置の電源をオンにして(1230)、第1電子機器に連結された表示装置の入力ポート(たとえば、HDMIポート)をユーザの介入なしで自動的に選択する(1232)ことによって、(たとえば、Consumer Electronics Controlを利用して)インターフェース装置106の出力を表示装置108上に表示させる。
【0199】
第1のユーザ入力を受信することに応答して、インターフェース装置106は、ゲームサーバ上のゲームサービスに接続する(1208)。いくつかの実施態様では、ゲームサービスに接続することは、ゲームポータルユーザインターフェースを起動することを含む。いくつかの実施態様では、ゲームポータルユーザインターフェースの起動は、
図2Aで記載の処理に従って行われる。
【0200】
インターフェース装置106は、ユーザに対応付けられたデフォルトのプレーヤーIDを、ユーザの介入なしで自動的に識別する(1210)。いくつかの実施態様では、デフォルトのプレーヤーIDは、第2電子機器のデフォルトユーザである。いくつかの実施態様では、第2電子機器は、(たとえば、
図7のユーザが1人の世帯における)1人のユーザに対応付けられており、デフォルトのプレーヤーIDは、当該1人のユーザである。いくつかの実施態様では、第2電子機器は、2人以上のユーザに対応付けられており、デフォルトのプレーヤーIDは、セットアップ中(たとえば、
図6に示す準備処理中)に設けられる。いくつかの実施態様では、デフォルトのプレーヤーIDは、第2電子機器上に格納される(たとえば、ゲームコントローラ102上に格納される)。
【0201】
インターフェース装置106は、ゲームサーバと連動して、デフォルトのプレーヤーIDを用いてクラウドゲーミングセッションを起動する(1212)。いくつかの実施態様では、インターフェース装置106は、第2のユーザ入力(たとえば、ユーザがゲームコントローラ102上の第2ボタンを押下する)に応じてクラウドゲーミングセッションを起動する。
【0202】
いくつかの実施態様では、ユーザ入力は、ゲームの選択を含む(1204)。いくつかの実施態様では、ゲームの選択は、ゲームコントローラ102上の1つ以上のボタン(たとえば、ボタン、314)、および/または十字キー(たとえば、十字キー(複数可)315)、および/またはジョイスティック(たとえば、ジョイスティック316)を使って行われる。いくつかの実施態様では、ゲームの選択は、第2電子機器上のキーボード、マウス、仮想ボタン、仮想十字キー、および/または仮想ジョイスティックのうちの1つ以上を使って行われる。
【0203】
いくつかの実施態様では、ゲームの選択に従って、インターフェース装置106は、ゲームサーバ(たとえば、ゲームサーバシステム114)からゲームのゲームメディアストリームを取得し(1214)、ゲームメディアストリームをデコードし(1216)、デコードされたゲームメディアストリームを表示装置108に出力する(1218)。ここで、ゲームメディアストリームは、ゲーミングセッションを起動する(1212)時に第2電子機器からゲームサーバに直接送信されるゲーム入力に応答して、ゲームサーバによって生成される。いくつかの実施態様では、インターフェース装置106は、サーバインターフェースモジュール440を介して、および/または
図2Bで説明した処理を利用して、ゲームのゲームメディアストリームを取得する。
【0204】
いくつかの実施態様では、ゲーミングセッション中、インターフェース装置106は、セッションを終了するというユーザによる要求を第2電子機器から受け付ける(1220)。
【0205】
いくつかの実施態様では、要求に応答して、インターフェース装置106は、終了要求を確認するメッセージを表示画面上に表示する。いくつかの実施態様では、インターフェース装置106は、終了要求を確認する第2入力を受信する。確認に従って、インターフェース装置106は、サーバシステム114に終了要求を送信し、サーバシステム114に、ゲームの状態を(たとえば、データベース(複数可)122に)セーブさせる。
【0206】
いくつかの実施態様では、インターフェース装置106は、たとえば、(ゲームサーバ114から)クラウドゲーミングセッションをセーブするという指示を受信する(1222)。指示に従って、インターフェース装置106は、ゲームサービスを終了し(1224)、表示装置108上にデフォルトの画面表示を表示する(1226)。(たとえば、
図7Cの背景画面730)。いくつかの実施態様によると、インターフェース装置106は、終了要求を拒否する第2のユーザ入力を受信する(たとえば、ユーザは、
図8Bのオプション722(「いいえ/戻る」)を選択する)。終了要求を拒否する第2のユーザ入力に従って、ゲームセッションが再開/継続する。
【0207】
いくつかの実施態様では、インターフェース装置106は、第3電子機器からペアリング通知を受信する(1234)。いくつかの実施態様では、第3電子機器は、ゲームコントローラ102とは別個の第2ゲームコントローラ(たとえば、
図9Fのゲームコントローラ102-3)である。
【0208】
いくつかの実施態様では、ペアリング通知に従って、インターフェース装置106は、複数のプレーヤーIDを含むログイン画面を表示装置108上に表示する(1236)。プレーヤーIDの各々は、第3電子機器と対応付けられている(たとえば、リンクさせられている)。
【0209】
いくつかの実施態様では、インターフェース装置106は、プレーヤーIDのうちの第1のプレーヤーIDの選択を第3電子機器から受信する(1238)。
【0210】
いくつかの実施態様では、インターフェース装置106は、第1のプレーヤーIDに関連する画面を表示装置108上に表示する(1240)。いくつかの実施態様では、第3電子機器は、前記ローカルネットワークとは別個の第2ローカルネットワークに対応付けられている。この例では、第1のプレーヤーIDの選択は、(たとえば、
図9Fに示すように)第1のプレーヤーIDに対応付けられたパスワードの入力要求を含み、第1のプレーヤーIDに関連する画面の表示は、当該パスワードが第3電子機器102-3に格納されたパスワードに一致するという判断に従って行われる。
【0211】
いくつかの実施態様では、インターフェース装置106は、第2電子機器を第3電子機器とリンクさせる(1242)ことによって、第2電子機器と第3電子機器とに、選択されたゲームを一緒にプレイさせる。
図9の例に示すように、ブランドンとジュリアは、第1電子機器(すなわち、インターフェース装置106)を用いたゲーミングセッションで一緒にプレイし、彼らのそれぞれのコントローラを介して別個のそれぞれのゲームコマンドを送る。
【0212】
いくつかの実施態様では、第2電子機器は、ゲストデバイスであり、第3電子機器は、ゲーミングセッションのホストデバイスである(1244)。いくつかの実施態様では、複数のゲームコントローラ102がインターフェース装置106に接続された時、ゲームポータルUIの操作には、プライマリユーザ(すなわち、ホストデバイスのユーザ)のゲームコントローラのみが使われる。いくつかの実施態様では、プライマリユーザ(すなわち、ホストデバイスのユーザ)は、ゲームアプリケーションを起動するユーザであって、ゲームポータルUIに自身のコンテンツが表示されているユーザである。
【0213】
いくつかの実施態様によると、コンピューティングシステム(たとえば、インターフェース装置106)は、1つ以上のプロセッサと、当該1つ以上のプロセッサに連結されたメモリとを含む。メモリは、1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを格納し、1つ以上のプログラムは、上記方法および/または動作を実行するための命令を含む。
【0214】
いくつかの実施態様によると、(たとえば、メモリ406内の)非一時的なコンピュータ読み取り可能な記憶媒体は、1つ以上のプログラムを格納し、当該1つ以上のプログラムは、コンピューティングシステムによって実行されるとシステムに上記方法および/または動作を実行させる命令を含む。
【0215】
図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によって実行されると説明する。
【0216】
インターフェース装置106は、クラウドゲーミングセッションを起動するための第1のユーザ入力を、第1電子機器に近接する第2電子機器から受信する(1302)。第1のユーザ入力は、ゲームの選択を含む。インターフェース装置106と第2電子機器とは、共通ネットワーク上で通信可能に接続されている。いくつかの実施態様では、第2電子機器は、ゲームコントローラ(たとえば、ゲームコントローラ102)である(1204)。いくつかの実施態様では、第1のユーザ入力は、ゲームコントローラ102上のボタンの選択(たとえば、ボタン314のうちの1つ)を含む。
【0217】
インターフェース装置106は、第1のユーザ入力を受信することに応答して、ゲームサーバ上のゲームサービスに接続する(1306)。いくつかの実施態様では、ゲームサービスに接続することは、ゲームポータルユーザインターフェースを起動することを含む。いくつかの実施態様では、ゲームポータルユーザインターフェースを起動することは、
図2Aで記載の処理に従って行われる。
【0218】
インターフェース装置106は、複数のプレーヤーIDを含むログイン画面を、ユーザの介入なしで自動的に表示装置に表示する(1308)。いくつかの実施態様では、複数のプレーヤーIDの各々は、第2電子機器の各ユーザに対応する(1312)。いくつかの実施態様では、第2電子機器は、複数のプレーヤー(ユーザ)によって使われ、複数のプレーヤーIDは、第2電子機器が対応付けられた(すなわち、リンクされた)複数のプレーヤーに対応する。いくつかの実施態様では、複数のプレーヤーIDは、各プレーヤー名(またはユーザ名)および/またはそれぞれのプレーヤーを視覚的に表現したもの(たとえば、写真、画像、および/またはプレーヤーのアバター)を含む。
【0219】
いくつかの実施態様では、第2電子機器は、デバイスIDおよび/またはクライアント証明書によって識別される。いくつかの実施態様では、第2電子機器は、複数のプレーヤーIDにリンクされる。複数のプレーヤーIDは、各々、第2電子機器のユーザに対応する。いくつかの実施態様では、各プレーヤーIDは、デバイスIDおよび/またはクライアント証明書に対応付けられる(たとえば、リンクされる)。
【0220】
インターフェース装置106は、複数のプレーヤーIDのうちの第1のプレーヤーIDの選択を第2電子機器から受信する(1310)。
【0221】
いくつかの実施態様では、第2電子機器は、各プレーヤーIDに各々が対応する複数のユーザログイン認証情報を格納する(1304)。いくつかの実施態様では、ユーザログイン認証情報は、ゲームサーバ上(たとえば、サーバシステム114のデータベース(複数可)122)に同時に格納される。また、いくつかの実施態様では、第2電子機器は、複数のネットワークログイン認証情報を格納する。いくつかの実施態様では、格納されたネットワーク認証情報の各々は、第2電子機器が通信可能に接続された各ローカルネットワークに対応する。
【0222】
いくつかの実施態様では、第1のプレーヤーID(ステップ1310を参照)の選択を受け付けた後、インターフェース装置106は、インターフェース装置106に近接する、ユーザに対応付けられた携帯電話、ユーザの音声入力、およびパスワード入力のうちの1つ以上を用いて、ユーザのIDを取得する(1314)。いくつかの実施態様では、ユーザのIDの取得は、第2電子機器上でセキュリティ機能(たとえば、ゲームコントローラ102のセキュリティモジュール368)が有効化することに応答して行われる。いくつかの実施態様では、インターフェース106は、近接/検出部410を用いて、携帯電話を利用しているユーザのIDを取得する。
【0223】
いくつかの実施態様では、インターフェース装置106は、取得したユーザIDと(たとえば、
図8Bで説明したような)複数の格納されたユーザログイン認証情報との一致を特定する(1316)。
【0224】
いくつかの実施態様では、インターフェース装置106は、当該一致に基づいて第1のプレーヤーIDを選択する(1318)。
【0225】
インターフェース装置106は、選択された第1のプレーヤーIDを使ってゲームサービスにログオンする(1320)。
【0226】
インターフェース装置106は、ゲームサーバと連動してクラウドゲーミングセッションを起動し、ゲームプレーを開始する(1322)。
【0227】
インターフェース装置106は、ゲームサーバ(たとえば、サーバシステム114)からゲームのゲームメディアストリームを取得する(1324)。
【0228】
インターフェース装置106は、ゲームメディアストリームをデコードする(1326)。
【0229】
インターフェース装置106は、デコードされたゲームメディアストリームを表示装置108に出力する(1328)。ゲームメディアストリームは、第2電子機器からゲームサーバに直接送信されたゲーム入力に応答してゲームサーバによって生成される。
【0230】
いくつかの実施態様では、ゲーミングセッション中、インターフェース装置106は、共通ネットワークを介して第3電子機器をインターフェース装置106に通信可能に連結させるという指示を受信する(1330)。
【0231】
いくつかの実施態様では、インターフェース装置106は、第3電子機器を第2電子機器とリンクさせる要求を含んだ第2のログイン画面を表示装置108上に表示する(1332)。
図9の例を参照すると、ジュリアは、自身のゲームコントローラ102-1を使ってゲームポータルUIを起動し、ジャックは、自身のコントローラ102-2をジュリアのゲームセッションにリンクさせる要求を送る。ジュリアは、自身のゲームコントローラ102-1と自身のゲームセッションとをリンクさせるよう要求するメッセージ928を、自身のログイン画面960上で受信する。
【0232】
いくつかの実施態様では、インターフェース装置106は、キャスティングデバイス(または、メディアストリーミングデバイス)であり、第2電子機器は、第1ゲームコントローラ(たとえば、
図9のゲームコントローラ102-1)であり、第3電子機器は、第2ゲームコントローラ(たとえば、
図9のゲームコントローラ102-2)である(1334)。
【0233】
いくつかの実施態様では、第2電子機器は、ゲーミングセッションのホストであり、第3電子機器は、ゲーミングセッションのゲストである(1336)。
【0234】
いくつかの実施態様では、インターフェース装置106は、要求に対する応答を第3電子機器から受信する(1337)。
図9の例を再び参照すると、インターフェース装置は、第3電子機器を第2電子機器とリンクさせる要求に応答して、第3コントローラ(すなわち、ジャックのゲームコントローラ102-2)から応答を受信する。いくつかの実施態様では、応答が承認を示すという判断に従って(すなわち、ジャックがオプション935(「はい」)を選択する)、インターフェース装置106は、第3電子機器を第2電子機器とリンクさせる(1338)ことにより、第2電子機器と第3電子機器と、選択されたゲームを一緒にプレイさせる。いくつかの実施態様では、リンクに従って、第2電子機器および第3電子機器は、独立してそれぞれのゲーム入力をゲームサーバ(すなわち、サーバシステム114)に直接送信する。いくつかの実施態様では、リンクさせることに応じて、第2電子機器および第3電子機器は、独立して各コマンドサブセットをインターフェース装置106に直接送信する。いくつかの実施態様では、第2電子機器は、リンク処理の間、ゲームプレーを継続する。
【0235】
いくつかの実施態様では、インターフェース装置106は、複数のインターフェース装置(すなわち、環境は、2つ以上のインターフェース装置を含む)のうちの第1のインターフェース装置106であり、第1電子機器の各々は、共通ネットワークを介して互いに通信可能に連結され、インターフェース装置の各々は、各表示装置に連結される(1339)。
【0236】
いくつかの実施態様では、応答が拒否を示すという判断(すなわち、
図9Cにおいて、ジャックは、オプション930(「いいえ」を選択する))(1340)に従って、インターフェース装置106は、共通ネットワーク上の複数のインターフェース装置を表示装置上に表示する(1342)。
【0237】
いくつかの実施態様では、インターフェース装置106は、複数の第1電子機器のうちの第2の第1電子機器の選択を第3電子機器から受信する(1344)。
図9Cの例に戻ると、ジャックは、オプション930(「いいえ」)を選択した場合、ペアリングするその他のインターフェース装置を画面から選択することができる。選択に従って、ジャックは、自身のゲームコントローラをインターフェース装置のうちの第2のインターフェース装置(たとえば、インターフェース装置106-2)とペアリングする。これにより、インターフェース装置106-2と連結された表示装置上に、選択されたゲームがストリーム配信される。ジャックのゲーム入力は、インターフェース装置106-2を用いて直接サーバシステム114に送信される。
【0238】
いくつかの実施態様では、ゲームプレー中、インターフェース装置106は、ゲーミングセッションを終了する要求を第3電子機器から受け付ける(1346)。
【0239】
いくつかの実施態様では、要求を受け付けることに従って、インターフェース装置106は、第3電子機器にゲーミングセッションを終了させる(1348)。終了させている間、第2電子機器からゲームサーバに直接送信されたゲーム入力に応答して第2電子機器からゲームサーバに直接送信されるゲーム入力に応答して、ゲームメディアストリームは、ゲームサーバによって生成され続ける。いくつかの実施態様では、終了させている間、第2電子機器は、ゲームプレーを継続する。いくつかの実施態様では、終了要求に応答して、表示装置108は、(たとえば、
図9Dに示すような)終了要求の確認を要求するメッセージを表示すし、当該要求が確認されると、第3電子機器を終了させる。
【0240】
いくつかの実施態様では、インターフェース装置106は、セッションを終了させるという第2要求を第2電子機器から受け付ける(1350)。
【0241】
いくつかの実施態様では、受信した第2要求に従って、インターフェース装置106は、セッションをセーブするという指示をゲームサーバから受信する(1352)。
【0242】
いくつかの実施態様では、インターフェース装置106は、ゲームサービスを終了する(1354)。
【0243】
いくつかの実施態様では、第2電子機器は、ホストデバイスである。したがって、第2要求に応答して、サーバシステム114は、ゲームの状態をセーブして、ゲームサービスを終了する。
【0244】
いくつかの実施態様では、インターフェース装置106は、ホストデバイスに対応付けられた第1プレーヤーアカウントがゲーミングセッションを終了したおよび/またはホストデバイスの電源が切られたと判断し、インターフェース装置106は、この判断に従ってゲームサービスを終了する(1356)。
【0245】
いくつかの実施態様では、インターフェース装置106は、表示装置上にデフォルトの画面表示を表示する(1358)。いくつかの実施態様では、サーバシステム114がゲームサービスを終了した後、表示装置108は、デフォルトの背景画面(たとえば、
図9Eの画面980)を表示する。
【0246】
いくつかの実施態様によると、コンピューティングシステム(たとえば、インターフェース装置106)は、1つ以上のプロセッサ(たとえば、プロセッサ(複数可)402)と、1つ以上のプロセッサに連結されたメモリ(たとえば、メモリ406)とを備え、メモリは、1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを格納し、1つ以上のプログラムは、上記方法および/または動作を実行するための命令を含む。
【0247】
いくつかの実施態様によると、(たとえば、メモリ406内の)非一時的なコンピュータ読み取り可能な記憶媒体は、1つ以上のプログラムを格納する。1つ以上のプログラムは、コンピューティングシステムによって実行されるとシステムに上記方法および/または動作を実行させる命令を含む。
【0248】
図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によって実行されると説明する。
【0249】
ゲームコントローラ102は、ゲーミングセッションを起動するための第1入力を複数の第1電子機器(たとえば、インターフェース装置106)に送る(1402)。ここで、第2電子機器は、第1電子機器の各々に共通ネットワーク上で通信可能に接続されており、第1電子機器の各々は、各表示装置に連結されている。
【0250】
第1入力に応答して、ゲームコントローラ102は、第1電子機器のうちの第1の第1電子機器(たとえば、
図10のインターフェース装置106-1)に、複数のプレーヤーIDを含むログイン画面を、ユーザの介入なしで自動的に第1の表示装置上に表示させる(1406)。
【0251】
ゲームコントローラ102は、第1電子機器のうちの第2の第1電子機器に、命令を含んだ通知を、ユーザの介入なしで自動的に第2の表示装置上に表示させる(1414)。
【0252】
ゲームコントローラ102は、第1電子機器のうちの第1の第1電子機器に第2入力を送る(1416)。第2入力は、複数のプレーヤーIDのうちの第1のプレーヤーIDの選択を含む。
【0253】
第2入力に応答して、ゲームコントローラ102は、第1電子機器のうちの第1の第1電子機器上でゲーミングセッションを起動する(1418)。
【0254】
図10Aの例など、いくつかの実施態様では、第1電子機器のうちの第1の第1電子機器(たとえば、インターフェース装置106-1)は、ゲームコントローラ102のデフォルトのペアリングデバイスである。この例によると、デフォルトの居間のディスプレイ108-1は、ゲームポータルUIを表示し、非デフォルトのディスプレイ(すなわち、寝室のテレビ108-2)は、メッセージ(たとえば、メッセージ1006)を、表示装置108-2にリンクする方法に関する命令とともに表示する。
【0255】
いくつかの実施態様では、第1電子機器のうちの第1の第1電子機器は、直近のゲーミングセッションに使われたデバイスである。
【0256】
いくつかの実施態様では、第1電子機器の各々は、オーディオインターフェース(たとえば、インターフェース装置106のマイクロフォン414)を含む(1404)。ゲームコントローラ102は、第1電子機器の各々に、各オーディオインターフェースを介して第2電子機器のユーザからオーディオ入力を受信させる(1408)。受信したオーディオ入力に従って、ゲームコントローラ102は、第1電子機器のうちの第1の第1電子機器がゲームコントローラ102に最も近接すると判断する(1410)。判断に従って、ゲームコントローラ102は、判断に従って、第1電子機器のうちの第1の第1電子機器を第2電子機器とペアリングさせる(1412)。
【0257】
いくつかの実施態様では、通信インターフェース(複数可)304および/または近接検出部334を用いて、ゲームコントローラ102は、第1電子機器のうちの第1の第1電子機器がゲームコントローラ102に最も近接していると判断する。いくつかの実施態様では、ゲームコントローラ102は、Whispernet、Bluetooth Low Energy(BLE)またはWifiを利用して、最も近いインターフェース装置を発見し、当該最も近いインターフェース装置とペアリングする。
【0258】
いくつかの実施態様では、ゲームコントローラ102は、デフォルトのペアリングインターフェース装置を格納し、デフォルトのペアリングデバイスを無効にして最も近接するインターフェース装置とペアリングする。いくつかの実施態様では、当該ペアリングに従って、最も近いインターフェース装置は、連結された表示装置をオンにする。
【0259】
いくつかの実施態様では、ゲームコントローラ102は、第1電子機器のうちの第1の第1電子機器に第3入力を送る(1420)。いくつかの実施態様では、第3入力は、ゲームを一旦停止させるためのコマンド(たとえば、要求)である。いくつかの実施態様では、第3入力は、ゲームポータルUI上のメニューにアクセスするためのコマンドである。
【0260】
いくつかの実施態様では、第3入力に応答して、ゲームコントローラ102は、第1電子機器のうちの第1の第1電子機器に、複数の第1電子機器に連結された複数の表示装置を表示させる(1422)。いくつかの実施態様では、第3入力は、ゲームを一旦停止させる要求を含む。
【0261】
いくつかの実施態様では、ゲームコントローラ102は、第1電子機器のうちの第1の第1電子機器に第4入力を送る(1424)。いくつかの実施態様では、第4入力は、第1電子機器のうちの第2の第1電子機器を選択するコマンドである。
【0262】
いくつかの実施態様では、第4入力に応答して、ゲームコントローラ102は、第1電子機器のうちの第1機器に、ゲーミングセッションを一旦停止させる(1426)。
【0263】
いくつかの実施態様では、ゲームコントローラ102は、第1電子機器のうちの第2の第1電子機器に、ゲーミングセッションの一旦停止を解除させる(1428)ことによって、一旦停止状態からゲーミングセッションを再開する。一旦停止させることと一旦停止を解除させることとは、第4入力に応答して、ユーザの介入なしで同時に実行される。いくつかの実施態様では、第1電子機器のうちの第1の第1電子機器および第2の第1電子機器は、ローカル環境の異なるエリア(たとえば、住居環境の異なる部屋)に位置し、一旦停止を解除させることは、ゲームコントローラ102および/またはユーザの近接検出に応答して行われる。
【0264】
いくつかの実施態様によると、コンピューティングシステム(たとえば、ゲームコントローラ102)は、1つ以上のプロセッサと、当該1つ以上のプロセッサに連結されたメモリとを備え、メモリは、1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを格納し、1つ以上のプログラムは、上記方法および/または動作を実行するための命令を含む。
【0265】
いくつかの実施態様によると、(たとえば、メモリ306内の)非一時的なコンピュータ読み取り可能な記憶媒体は、1つ以上のプログラムを格納し、当該1つ以上のプログラムは、コンピューティングシステムによって実行されるとシステムに上記方法および/または動作を実行させる命令を含む。
【0266】
いくつかの実施態様では、サーバシステム206は、電子機器(複数可)のユーザのためのアラートおよび/または通知を生成するための通知モジュール(図示せず)を含む。たとえば、いくつかの実施態様では、ユーザの電子機器上のローカルに訂正データベース補正データベースが格納され、サーバシステム206は、補正データベースの最新バージョン(複数可)またはアップデート(複数可)をダウンロードするようユーザに知らせるための通知を生成してもよい。
【0267】
様々な図面のうちのいくつかは、複数の論理ステージを特定の順序で例示したが、順序に左右されないステージを並び替えてもよく、その他のステージが組み合わされたり、分割されたりしてもよい。いくつかの並び替えやその他のグループ分けを具体的に述べたが、その他が当業者に明らかになるであろう。そのため、本明細書に提示した順序およびグループ分けは、別例の一覧ではない。また、ステージは、ハードウェア、ファームウェア、ソフトウェア、または任意のそれらの組合せで実現できることを認識されたい。
【0268】
また、様々な構成要素を説明するために、用語「第1の」、「第2の」などは、いくつかの例で、本明細書において使用され得るが、これらの構成要素は、これらの用語によって限定されるべきではないと理解されたい。これらの用語は、1つの構成要素を別の構成要素と区別するために使われているにすぎない。たとえば、記載の様々な実施態様の範囲から逸脱することなく、第1のインターフェース装置を第2のインターフェース装置と称することができ、同様に、第2のインターフェース装置を第1のインターフェース装置と称することができる。第1のインターフェース装置および第2のインターフェース装置は、両方ともインターフェース装置であるが、同じ種類のインターフェース装置ではない。
【0269】
本明細書における、記載の様々な実施態様の説明において使用される用語は、特定の実施態様を説明するためだけのものであり、限定ではない。記載の様々な実施態様の説明において使用される場合、単数形「a」、「an」、および「the」は、文脈が明らかに他を示さない限り、複数形も含まれる。本明細書において使用される用語「および/または(and/or)」は、関連する記載された項目のうちの1つ以上のいずれか、およびすべての考えられる組み合わせを指し、それらを包含すると理解されるであろう。用語「備える/含む(「includes」、「including」、「comprises」、および/または「comprising」は、本明細書において使用されるとき、記載の特徴、特性、ステップ、動作、構成要素、および/またはコンポ―ネントの存在を具体的に挙げるが、1つ以上のその他の特徴、特性、ステップ、動作、構成要素、コンポ―ネント、および/またはそれらの群の存在もしくは追加を排除しないと理解されるだろう。
【0270】
本明細書において使用されるとき、用語「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([記載した条件またはイベント]が検出されたと判断することに従って)」を意味すると解釈される。
【0271】
上記の説明では、説明の便宜上、具体的な実施態様を例に説明した。しかしながら、上記例示的説明は、網羅的であったり、開示された厳密な形態にクレームの範囲を限定したりすることを意図しない。上記教示に鑑みて、多くの変更例および変形例が可能である。考えられる特定の用途に適した様々な変更例を用いて当業者が実施態様を最大限に利用できるようにするために、実施態様は、クレームの基本原理およびその実際の適用を最もよく説明するために選択された。