(57)【要約】【課題】ビデオゲームのプレー可能な限定版を生成する方法を提供する。【解決手段】ビデオゲームの完全版のユーザのゲームプレーを記録する。ユーザの記録されたゲームプレーを分析して関心領域を判断する。判断された関心領域に基づいてビデオゲームのゲームプレーコンテキスト内で境界を画定する。画定された境界に基づいてビデオゲームの限定版を生成する。【選択図】図３
2020099729.tif 000002
【特許請求の範囲】
【請求項１】
ゲームプレー体験を共有する方法であって、
クラウドゲーミングシステムがビデオゲームを実行するステップであって、前記ビデオゲームを実行することは、前記ビデオゲームのゲーム状態を処理して前記ビデオゲームのゲームプレイを提供することを含む、ステップと、
ネットワーク上で前記ビデオゲームの前記ゲームプレイをストリーミングするステップであって、前記ビデオゲームの前記ゲームプレイは第１のユーザに対して定義される、ステップと、
前記ビデオゲームの前記ゲームプレイから対話的にプレイ可能な部分を共有する命令を受信するステップと、
前記命令に応答して、ソーシャルインターフェースを介して前記ビデオゲームの前記対話的にプレイ可能な部分を共有するステップであって、前記ソーシャルインターフェースは、第２のユーザによる前記対話的にプレイ可能な部分のゲームプレイに対するアクセスを可能にする、方法。
【請求項２】
前記対話的にプレイ可能な部分は、前記対話的にプレイ可能な部分が生成される前記ビデオゲームのゲームプレイにおける時間において前記ビデオゲームの前記ゲーム状態から定義されるゲーム設定状態をもつように構成される、請求項１に記載の方法。
【請求項３】
前記ビデオゲームの実行中に前記ビデオゲームの前記ゲーム状態を格納するステップと、
前記対話的にプレイ可能な部分の前記ゲーム設定状態を定義するために前記ビデオゲームの前記格納されたゲーム状態を読み出すステップとをさらに含む、請求項２に記載の方法。
【請求項４】
前記ビデオゲームの前記ゲーム状態は、前記ビデオゲームの実行状態を定義する変数を含む、請求項１に記載の方法。
【請求項５】
前記第２のユーザによる前記対話的にプレイ可能な部分の前記ゲームプレイは、前記対話的にプレイ可能な部分が生成される前記ビデオゲームの前記ゲームプレイ中の前記第１のユーザのゲームプレイ体験に実質的に類似する前記第２のユーザに対するゲームプレイ体験を提供する、請求項１に記載の方法。
【請求項６】
前記対話的にプレイ可能な部分は、前記対話的にプレイ可能な部分が生成される前記ビデオゲームの前記ゲームプレイのシーンと実質的に同じである前記ビデオゲームのシーンの前記第２のユーザによるゲームプレイを提供するように構成される、請求項１に記載の方法。
【請求項７】
前記対話的にプレイ可能な部分は、前記対話的にプレイ可能な部分が生成される前記ビデオゲームの前記ゲームプレイの空間的位置と実質的に同じである前記ビデオゲームの空間的位置の前記第２のユーザによるゲームプレイを提供するように構成される、請求項１に記載の方法。
【請求項８】
前記対話的にプレイ可能な部分は、前記対話的にプレイ可能な部分が生成される前記ビデオゲームの前記ゲームプレイの時間的位置と実質的に同じである前記ビデオゲームの時間的位置の前記第２のユーザによるゲームプレイを提供するように構成される、請求項１に記載の方法。
【請求項９】
前記ビデオゲームの前記ゲームプレイは、前記ビデオゲームの前記ゲーム状態からレンダリングされるゲームプレイビデオを含み、前記ゲームプレイビデオは、前記クラウドゲーミングシステムによって前記ネットワーク上で送信され、
前記ビデオゲームの前記ゲームプレイは、前記ゲームプレイビデオを用いて前記第１のユーザによる対話性から生成されるユーザ入力を含み、前記ユーザ入力は、前記クラウドゲーミングシステムによって前記ネットワーク上で受信され、前記ユーザ入力は、前記ビデオゲームの前記ゲーム状態の処理中に適用される、請求項１に記載の方法。
【請求項１０】
前記ソーシャルインターフェースを介して前記対話的にプレイ可能な部分を共有するステップは、前記ソーシャルインターフェースを介して前記第２のユーザが、前記対話的にプレイ可能な部分が生成される前記ビデオゲームの前記ゲームプレイを見ることを可能にすることを含む、請求項１に記載の方法。
【請求項１１】
ゲームプレー体験を共有する方法であって、
クラウドゲーミングシステムがビデオゲームを実行するステップであって、前記ビデオゲームを実行することは、前記ビデオゲームのゲーム状態を処理して前記ビデオゲームのゲームプレイを提供することを含む、ステップと、
前記ビデオゲームの実行中に前記ビデオゲームの前記ゲーム状態を格納するステップと、
ネットワーク上で前記ビデオゲームの前記ゲームプレイをストリーミングするステップであって、前記ビデオゲームの前記ゲームプレイは第１のユーザに対して定義される、ステップと、
前記ビデオゲームの前記ゲームプレイから対話的にプレイ可能な部分を共有する命令を受信するステップと、
前記命令に応答して、前記格納されたゲーム状態を用いて、ウェブサイトを介して前記ビデオゲームの前記対話的にプレイ可能な部分を共有するステップであって、前記ウェブサイトは、第２のユーザによる前記対話的にプレイ可能な部分のゲームプレイに対するアクセスを可能にする、方法。
【請求項１２】
前記対話的にプレイ可能な部分は、前記対話的にプレイ可能な部分が生成される前記ビデオゲームのゲームプレイにおける時間において前記ビデオゲームの前記ゲーム状態から定義されるゲーム設定状態をもつように構成される、請求項１に記載の方法。
【請求項１３】
前記ウェブサイトはウェブブラウザを介してアクセス可能である、請求項１１に記載の方法。
【請求項１４】
前記第２のユーザによる前記対話的にプレイ可能な部分の前記ゲームプレイは、前記対話的にプレイ可能な部分が生成される前記ビデオゲームの前記ゲームプレイ中の前記第１のユーザのゲームプレイ体験に実質的に類似する前記第２のユーザに対するゲームプレイ体験を提供する、請求項１に記載の方法。
【請求項１５】
前記対話的にプレイ可能な部分は、前記対話的にプレイ可能な部分が生成される前記ビデオゲームの前記ゲームプレイのシーンと実質的に同じである前記ビデオゲームのシーンの前記第２のユーザによるゲームプレイを提供するように構成される、請求項１に記載の方法。
【請求項１６】
ゲームプレー体験を共有する方法であって、
クラウドゲーミングシステムがビデオゲームを実行するステップであって、前記ビデオゲームを実行することは、前記ビデオゲームのゲーム状態を処理して前記ビデオゲームのゲームプレイを提供することを含む、ステップと、
ネットワーク上で前記ビデオゲームの前記ゲームプレイをストリーミングするステップであって、前記ビデオゲームの前記ゲームプレイは第１のユーザに対して定義される、ステップと、
前記ビデオゲームの前記ゲームプレイから複数の対話的にプレイ可能な部分を共有する命令を受信するステップと、
前記命令に応答して、ソーシャルインターフェースを介して前記ビデオゲームの前記複数の対話的にプレイ可能な部分を共有するステップであって、前記ソーシャルインターフェースは、第２のユーザによる前記複数の対話的にプレイ可能な部分のゲームプレイに対するアクセスを可能にする、方法。
【請求項１７】
前記複数の対話的にプレイ可能な部分を共有するステップは、前記複数の対話的にプレイ可能な部分を前記第２のユーザによるゲームプレイに対する複数部分のシーケンスに配置することを含む、請求項１６に記載の方法。
【請求項１８】
前記複数の対話的にプレイ可能な部分を共有するステップは、前記複数部分のシーケンスにおいて少なくとも１つの対話的にプレイ可能な部分の前または後に記録された素材を挿入する、請求項１７に記載の方法。
【請求項１９】
前記記録された素材は、前記第１のユーザの記録されたゲームプレイを含む、請求項１８に記載の方法。
【請求項２０】
所与の対話的にプレイ可能な部分は、前記所与の対話的にプレイ可能な部分が生成される前記ビデオゲームのゲームプレイにおける時間において前記ビデオゲームの前記ゲーム状態から定義されるゲーム設定状態をもつように構成される、請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、記録されたゲームプレーに基づく提案されたミニゲームの自動作成、記録されたゲームプレーに基づくクラウドゲーミングのためのマルチパートのミニゲームの作成、記録されたゲームプレーのソーシャルグラフへの共有、および第１のユーザのゲームプレーの第２のユーザによるリモートコントロールの方法とシステムに関するものである。
【背景技術】
【０００２】
ビデオゲーム産業は長年にわたり多くの変化を目にしてきた。計算能力の拡大につれ、ビデオゲームの開発者も同様にその計算能力の増大を利用するゲームソフトウェアを作り出してきた。その目的を達成するため、ビデオゲームの開発者は、極めて現実的なゲーム体験を生み出すために、洗練された操作と計算を採用したゲームをコード化してきている。
【０００３】
ゲーミングのプラットフォームの例としては、Ｓｏｎｙ  Ｐｌａｙｓｔａｔｉｏｎ（登録商標）、Ｓｏｎｙ  Ｐｌａｙｓｔａｔｉｏｎ  ２（登録商標）（ＰＳ２）、およびＳｏｎｙ  Ｐｌａｙｓｔａｔｉｏｎ  ３（登録商標）（ＰＳ３）が挙げられるが、これらはそれぞれゲームコンソールの形で販売されている。よく知られているように、このゲームコンソールはモニタ（通常はテレビジョン）に接続するように設計されており、手に持つコントローラでユーザとの相互作用が可能である。このゲームコンソールは、ＣＰＵ、集中的なグラフィックスの操作を処理するためのグラフィックスシンセサイザ、幾何学的変換を実行するためのベクトルユニットを含む特殊化された処理ハードウェア、およびその他の結合用ハードウェア、ファームウェアならびにソフトウェアを備えるように設計されている。ゲームコンソールはさらに、ローカルでゲームコンソールを介してプレーするためのコンパクトディスクを受け入れる、光学ディスクトレイを備えた設計となっている。オンラインのゲーミングも可能であり、そこでユーザは、インターネットを経由して他のユーザに対抗しまたは共同して対話的にプレーすることができる。ゲームの複雑さは継続的にプレーヤの好奇心をそそるので、ゲームおよびハードウェアの製造業者はより一層の対話性とコンピュータプログラムを実現するために技術革新を続けてきた。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
コンピュータゲーミング産業の中で成長しているトレンドは、ユーザとゲーミングシステムの間の相互作用を増大するゲームを開発することである。より豊かな相互作用の体験を達成する方法の一つは、プレーヤの動作を追跡し、その動作をゲームの入力として使用するために、ゲーミングシステムによって動きが追跡されるワイヤレスのゲームコントローラを使用することである。一般的に言うと、ジェスチャー入力とは、コンピューティングシステム、ビデオゲームコンソール、スマート家電などの電子機器に、プレーヤが行ってその電子機器によって捕捉された何らかのジェスチャーに反応させることを言う。
【０００５】
この産業で成長しているもう一つのトレンドは、クラウドベースのゲーミングシステムの開発に関係している。そのようなシステムは、ゲームアプリケーションを実行し、ユーザからの入力を受け取りかつ映像をディスプレイ上に表示するように構成されたローカルのシンクライアントと通信する、リモート処理サーバを含むことができる。
【０００６】
この発明の実施形態はそこに生まれたものである。
【課題を解決するための手段】
【０００７】
この発明の実施形態は、記録されたゲームプレーに基づく提案されたミニゲームの自動作成、記録されたゲームプレーに基づくクラウドゲーミングのためのマルチパートのミニゲームの作成、記録されたゲームプレーのソーシャルグラフへの共有、および第１のユーザのゲームプレーの第２のユーザによるリモートコントロールの方法とシステムを提供する。当然のことながら、本発明はコンピュータが読み取り可能な媒体の上で、プロセス、装置、システム、デバイスあるいは方法などによって、幾通りにも実現可能である。この発明のいくつかの実施形態を以下に述べる。
【０００８】
一実施形態において、プレー可能な限定版のビデオゲームを作成する、以下の方法動作を含み、その中でプロセッサにより実行される方法が提供される：ある完全版のビデオゲームのあるユーザによるゲームプレーの記録、興味の領域を判断するための、ユーザの記録されたゲームプレーの分析、判断された興味の領域に基づくビデオゲームのあるゲームプレーの文脈内での境界の定義、および定義された境界に基づくビデオゲームの限定版の作成。
【０００９】
別の実施形態において、プレー可能な限定版のビデオゲームを作成する、以下の方法動作を含み、その中でプロセッサにより実行される方法が提供される：完全版のビデオゲームのあるユーザによるゲームプレーの記録、一つまたはそれ以上の興味の領域を判断するための、ユーザの記録されたゲームプレーの分析、選択のための興味の領域それぞれの提示、選択された興味の領域を示す選択入力の受け取り、選択された興味の領域に関する、選択された興味の領域に基づくビデオゲームのゲームプレーの文脈内での境界の定義、および定義された境界に基づくビデオゲームの限定版の作成。
【００１０】
別の実施形態において、プレー可能な限定版のビデオゲームを作成する、以下の方法動作を含み、その中でプロセッサにより実行される方法が提供される：その中でユーザのゲームプレーの記録は一つまたはそれ以上のユーザの入力データあるいはゲーム状態データを含む、完全版のビデオゲームのあるユーザによるゲームプレーの記録、その中では興味の領域のそれぞれは一つまたはそれ以上のしきい値への対応に基づいて自動的に識別される、一つまたはそれ以上の興味の領域を判断するための、ユーザの記録されたゲームプレーの分析、選択のための興味の領域それぞれの提示、選択された興味の領域を示す選択入力の受け取り、選択された興味の領域に関する、選択された興味の領域に基づくビデオゲームのゲームプレーの文脈内での境界の定義、および定義された境界に基づくビデオゲームの限定版の作成。
【００１１】
一実施形態において、プレー可能な限定版のビデオゲームを作成する、以下の方法動作を含み、その中でプロセッサにより実行される方法が提供される：完全版のビデオゲームのあるユーザによるゲームプレーの記録、ユーザの記録されたゲームプレーの複数のユーザ定義部分の判定、ユーザ定義部分のそれぞれにつき、ユーザ定義部分に基づくビデオゲームのゲームプレー文脈内での境界の定義および定義された境界に基づくビデオゲームのプレー可能な部分の作成、ビデオゲームの限定版を定義するための、ビデオゲームのプレー可能な部分それぞれの連続的な配列。
【００１２】
別の実施形態において、ビデオゲームのプレー可能な限定版を作成するための、以下を含むプログラム命令を収めた、コンピュータで読み取り可能な有形の媒体が提供される：完全版のビデオゲームのあるユーザによるゲームプレーを記録するためのプログラム命令、ユーザの記録されたゲームプレーの複数のユーザ定義部分を判定するためのプログラム命令、ユーザ定義部分のそれぞれにつき、ユーザ定義部分に基づくビデオゲームのゲームプレー文脈内での境界の定義および定義された境界に基づくビデオゲームのプレー可能な部分の作成のためのプログラム命令、ビデオゲームの限定版を定義するためにビデオゲームのプレー可能な部分それぞれを連続的に配列するためのプログラム命令。
【００１３】
別の実施形態において、以下を含むシステムが提供される：少なくとも１台のサーバコンピューティング装置で、その少なくとも１台のサーバコンピューティング装置は、完全版のビデオゲームのあるユーザによるゲームプレーを記録するためのロジックを含む、ビデオゲームのプレー可能な限定版を作成するロジックを備えている、ユーザの記録されたゲームプレーの複数のユーザ定義部分を判定するためのロジック、ユーザ定義部分のそれぞれにつき、ユーザ定義部分に基づくビデオゲームのゲームプレー文脈内での境界の定義および定義された境界に基づくビデオゲームのプレー可能な部分の作成のためのロジック、ビデオゲームの限定版を定義するためにビデオゲームのプレー可能な部分それぞれを連続的に配列するためのロジック。
【００１４】
一実施形態において、その中ではプロセッサにより実行される以下の方法動作を含む、ソーシャルグラフに対し記録されたゲームプレーを共有する方法が提供される：あるゲームプレーのセッションのアクティブな状態中にあるユーザのゲームプレーの映像の記録、ゲームプレーのセッションのアクティブな状態中に共有操作を開始するためのコマンドの受け取り、そのコマンドの受け取りに対応して、ゲームプレーのセッションを一時停止の状態にして共有インターフェースの提供、その共有インターフェースを介して受け取る、記録された映像のユーザ定義選択を判定するための処理入力、ユーザのソーシャルグラフに対し記録された映像のユーザ定義選択の共有、ゲームプレーセッションのアクティブな状態の回復。
【００１５】
別の実施形態において、その中ではプロセッサにより実行される以下の方法動作を含む、ソーシャルグラフに対し記録されたゲームプレーを共有する方法が提供される：あるゲームプレーのセッションのアクティブな状態中にあるユーザのゲームプレーの映像の記録、ゲームプレーのセッションのアクティブな状態中に共有操作を開始するためのコマンドの受け取り、そのコマンドの受け取りに対応して、記録された映像のユーザ定義選択の判定、ユーザのソーシャルグラフに対し記録された映像のユーザ定義選択の共有。
【００１６】
別の実施形態において、ソーシャルグラフに対して記録されたゲームプレーを共有するために定義されたプログラム命令を収めた、コンピュータで読み取り可能な固定の媒体が提供される。そのプログラム命令は以下を含む：あるゲームプレーのセッションのアクティブな状態中にあるユーザのゲームプレーの映像を記録するためのプログラム命令、ゲームプレーのセッションのアクティブな状態中に共有操作を開始するためのコマンド受け取りのためのプログラム命令、そのコマンドの受け取りに対応して、記録された映像のユーザ定義選択を判定するためのプログラム命令、ユーザのソーシャルグラフに対し記録された映像のユーザ定義選択を共有するためのプログラム命令。
【００１７】
一実施形態において、その中では少なくとも１台のプロセッサで実行される、ユーザのゲームプレーをリモートコントロールするための以下の方法動作を含む方法が提供される：遠隔地の第２のユーザに対する第１のユーザのゲームプレーのライブ映像フィードの提供、第１のユーザのゲームプレーの第２のユーザに対する遷移制御リクエストの処理、第２のユーザによる第１のユーザのゲームプレーの制御開始。
【００１８】
別の実施形態において、その中では少なくとも１台のプロセッサで実行される、マルチプレーヤによるゲームプレーを提供するための以下の方法動作を含む方法が提供される：遠隔地の第２のユーザに対する第１のユーザのゲームプレーのライブ映像フィードの提供、第２のユーザが第１のユーザのゲームプレーセッションに加わろうとするリクエストの処理、第１のユーザのゲームプレーセッションにおける第２のユーザによるゲームプレーの開始。
【００１９】
別の実施形態において、ユーザのゲームプレーのリモートコントロールを提供するためのプログラム命令を収めた、コンピュータで読み取り可能な固定の媒体が提供される。そのプログラム命令は以下を含む：遠隔地の第２のユーザに対して第１のユーザのゲームプレーのライブ映像フィードを提供するためのプログラム命令、第１のユーザのゲームプレーの第２のユーザに対する遷移制御リクエストを処理するためのプログラム命令、第１のユーザのゲームプレーの第２のユーザによる制御を開始するためのプログラム命令。
【００２０】
本発明のその他の態様は、添付の図面に従った、本発明の原理を例示する以下の詳細な説明から明らかになる。
【図面の簡単な説明】
【００２１】
本発明は、添付図面と共に以下の説明を参照することによって、もっともよく理解することができる。
【００２２】
【図１Ａ】図１Ａは本発明の実施形態に従った、クラウドベースのビデオゲームをプレーしているユーザを示す。
【００２３】
【図１Ｂ】図１Ｂは、クラウドベースのビデオゲームに参加している、複数の地点の複数のユーザを示す。
【００２４】
【図２Ａ】図２Ａは、本発明の一実施形態に従った、クラウドゲーミングのためのシステムを示す。
【００２５】
【図２Ｂ】図２Ｂは、本発明の実施形態に従った、ゲーミングコンソールの種々の世代にまたがったゲームタイトルの蓄積を示す。
【００２６】
【図３】図３は、本発明の一実施形態に従った、ユーザに対するゲームデモを提供する方法を示す。
【００２７】
【図４Ａ】図４Ａは、本発明の一実施形態に従った、ビデオゲームの各部分の階層的組織を示す。
【００２８】
【図４Ｂ】図４Ｂは、本発明の一実施形態に従った、ミニゲームまたはゲームスライスを作成するための、ゲームプレーの時間線のある部分を選択するインターフェースを示す。
【００２９】
【図４Ｃ】図４Ｃは、本発明の一実施形態に従った、ミニゲームを作成するための、ゲームプレーの時間線のある部分を選択するインターフェースを示す。
【００３０】
【図５】図５は、本発明の一実施形態に従った、既存のクラウドベースのビデオゲームからミニゲームを作成する方法を実証する、一連のスクリーンショットを示す。
【００３１】
【図６】図６は、本発明の一実施形態に従った、ゲームスライスコードを作成するシステムを示す。
【００３２】
【図７Ａ】図７Ａは、本発明の一実施形態に従った、ビデオゲームのゲームスライスを作成するための仮想スペースの変更を示す。
【００３３】
【図７Ｂ】図７Ｂは、本発明の実施形態に従った、ゲームスライスを作成するためのシーングラフの変更を示す。
【００３４】
【図８】図８は、本発明の一実施形態に従った、ゲームスライスを作成するための方法を示す。
【００３５】
【図９】図９Ａは、本発明の一実施形態に従った、種々のゲーム。タイトルに関連したゲームスライスを閲覧するためのインターフェースを示す。
【００３６】
図９Ｂは、本発明の一実施形態に従った、ゲームスライス情報ページを示す。
【００３７】
【図１０】図１０は、本発明の一実施形態に従った、クラウドゲーミングソーシャルネットワーク内の友人のライブビューを含む、ユーザのアカウント情報のビューを示す。
【００３８】
【図１１】図１１は、本発明の一実施形態に従った、現在のユーザの友人のライブゲームプレーフィードを提示する方法を示す。
【００３９】
【図１２】図１２は、本発明の一実施形態に従った、クラウドゲーミングシステムおよびソーシャルネットワークを含むシステムを示す。
【００４０】
【図１３】図１３は、本発明の実施形態に従った、様々なゲーム状態変数の時間による変動を示すグラフである。
【００４１】
【図１４Ａ】図１４Ａは、本発明の一実施形態に従ったリニア型ビデオゲームのゲームスライスを作成するための方法を示す。
【００４２】
【図１４Ｂ】図１４Ｂは、本発明の一実施形態に従った、オープンワールド型ビデオゲームのゲームスライスを作成するための方法を示す。
【００４３】
【図１４Ｃ】図１４Ｃは、本発明の一実施形態に従った、スポーツビデオゲームのゲームスライスを作成するための方法を示す。
【００４４】
【図１５】図１５は、本発明の一実施形態に従った、マルチゲームスライスのゲームの構成を概念的に示す。
【００４５】
【図１６】図１６は、本発明の一実施形態に従った、マルチゲームスライスのミニゲームの作成を概念的に示す。
【００４６】
【図１７】図１７は、本発明の一実施形態に従った、ゲームプレー共有のためのインターフェースを示す。
【００４７】
【図１８】図１８は、本発明の一実施形態に従った、共有のために記録されたゲームプレービデオの一部を選択するための、インターフェース１８００を示す。
【００４８】
【図１９】図１９は、本発明の一実施形態に従った、あるユーザのゲームプレーのライブ映像ストリームを見るためのインターフェース１９００を示す。
【００４９】
【図２０】図２０は、本発明の一実施形態に従った、ビデオゲームに対話性を提供するために使用することのできるハードウェアおよびユーザインターフェースを示す。
【００５０】
【図２１】図２１は、本発明の一実施形態に従った、命令を処理するのに使用することができる追加のハードウェアを示す。
【００５１】
【図２２】図２２は、本発明の一実施形態に従った、シーンＡからシーンＥまでをそれぞれユーザＡからＥまでがインターネットを介してサーバ処理に接続されたゲームクライアント１１０２と対話している例を示す。
【００５２】
【図２３】図２３は、情報サービスプロバイダアーキテクチャの一実施形態を示す。
【発明を実施するための形態】
【００５３】
以下の実施形態は、記録されたゲームプレーに基づく提案されたミニゲームの自動作成、記録されたゲームプレーに基づくクラウドゲーミングのためのマルチパートのミニゲームの作成、記録されたゲームプレーのソーシャルグラフへの共有、および第１のユーザのゲームプレーの第２のユーザによるリモートコントロールの方法とシステムを説明する。
【００５４】
しかしながら当業者にとっては、これら具体的な詳細のいくつかあるいはすべてがなくても、本発明が実行可能であることは明らかであろう。その他の例では、本発明を不必要にあいまいにしないため、よく知られたプロセス操作については述べていない。
【００５５】
図１Ａは、あるユーザが本発明の実施形態に従ったクラウドベースのビデオゲームをプレーしているのを、示している。示されているように、ユーザＵ１はディスプレイ１００の上に表示されたクラウドベースのビデオゲームをプレーしている。クラウドベースのビデオゲームは主にリモートサーバ上で実行されるビデオゲームである。一実施形態においてサーバは、個別のサーバか、要求された処理を提供するために多数のサーバの仮想化が可能な、仮想マシンデータセンタ内で実行されているサーバを含むことができる。図示された実施形態において、クラウドゲーミングサーバ１０４はディスプレイ１００の上に表示されたビデオゲームを実行する。クライアント１０１はユーザの位置にいて入力を受け取って処理し、それらをクラウドゲーミングサーバ１０４に送信し、そのクラウドゲーミングサーバ１０４からビデオおよびオーディオデータを受け取る。クライアント１０１とクラウドゲーミングサーバ１０４はインターネットなどのネットワーク１０２を経由して通信する。他の実施形態において、クライアントはネットワークと通信してゲームプレーを表示するためのディスプレイへのアクセスを提供でき、対話を推進するためのユーザからの入力を可能にするものである限り、ポータブルであろうがなかろうが、ワイヤレスであろうがなかろうが、どんな装置でもよい。一実施形態において、クライアントはシンクライアントである。しかしながら他の実施形態においては、クライアントは一般用コンピュータ、特殊用途コンピュータ、ゲーミングコンソール、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、モバイルコンピューティング装置、ポータブルゲーミング装置、携帯電話、セットトップボックス、ストリーミングメディアインターフェース／装置、スマートテレビジョンまたはネットワークに接続されたディスプレイ、あるいは他のどのようなコンピューティング装置であっても、ここで定義されたクライアントの機能性を満たすように構成できるものであればよい。一実施形態において、クラウドゲーミングサーバはユーザに使用されているクライアント装置の種類を検出するように構成され、ユーザのクライアント装置にふさわしいクラウドゲーミング体験を提供する。例えば、映像設定、音声設定および他の種類の設定はユーザのクライアント装置に対して最適化できる。
【００５６】
種々の実施形態において、クライアントによって実行される処理の程度は、入力および出力の処理に関しては変動する可能性がある。しかしながら、概していえばビデオゲームの状態は、クラウドゲーミングサーバ１０４の上で実質的に維持され実行され、クライアントは主としてユーザ入力を受け取って通信し、かつ表示のためのビデオ／オーディオデータを受け取る。クライアント１０１は、ディスプレイ１００に接続され、ディスプレイ１００の上に表示するビデオデータを提供する、スタンドアローンの装置であってもよい。他の実施形態において、クライアントはディスプレイ１００の中に統合されていてもよい。一実施形態において、ディスプレイ１００はネットワークに接続されたディスプレイで、そのディスプレイのネットワーク接続性を利用するアプリケーションまたは「ａｐｐｓ」にプラットフォームオペレーティングシステムを提供する。そのような実施形態でのクライアントは、ディスプレイのオペレーティングシステムから提供されるプラットフォームの上で実行される、アプリケーションによって定義することができる。
【００５７】
図１Ｂは、クラウドベースのビデオゲームのゲームプレーに参加する、複数の地点の複数のユーザを示す。ユーザＵ１はディスプレイ１００に表示されるビデオゲームと対話する、第１の地点に示されている。ユーザＵ２およびＵ３は、ディスプレイ１０６に表示されるビデオゲームと対話する、第２の地点に示されている。ユーザＵ４は、はディスプレイ１０８に表示されるビデオゲームと対話する、第３の地点に示されている。ユーザＵ５、Ｕ６およびＵ７は、ディスプレイ１１０に表示されるビデオゲームと対話する、第４の地点に示されている。
【００５８】
第１、第２、第３および第４の地点のそれぞれには、種々のユーザからの入力を処理し、それらの各ディスプレイ上にクラウドベースのビデオゲームを表示するために、少なくとも１台のコンピューティング装置が備えられる。当然のことながら、そのコンピューティング装置はディスプレイに統合することもできれば、データの処理と保存のための少なくとも１台のプロセッサとメモリを備えている限り、パーソナルコンピュータ、セットトップボックス、ゲーミングコンソールのようなスタンドアローン装置、あるいは他のどんな種類の装置であってもよい。そのコンピューティング装置は上記に既に述べられたように、クライアントを実行または識別可能である。コンピューティング装置はネットワークに接続され、インターネット１０２のようなネットワークを経由してクラウドゲーミングサーバ１０４と通信する。
【００５９】
クラウドゲーミングサーバ１０４は、ユーザのプレーする種々のビデオゲームを実行し、時々刻々所定のビデオゲームのゲーム状態を定義し、ビデオデータ（画像データと音声データを含む）を特定の地点のコンピューティング装置に送信する。所定の地点のコンピューティング装置は、ビデオゲームをプレーしているユーザからの入力を処理し、クラウドゲーミングサーバに入力データを発信し、それは順にビデオゲームのゲーム状態に影響を及ぼす入力データを処理する。当然のことながら、このクラウドベースのゲーミングは、ネットワークを介してすべてのプレーヤがアクセス可能なリモートサーバでビデオゲームを実行することにより、異なった地点に位置するプレーヤからのマルチプレーヤのゲーミングを容易にする。このようにして、ビデオゲームの実行は、シングルプレーヤのいずれかのハードウェアやネットワーク接続には依存しなくなるが、それはそのプレーヤに対するユーザ経験に影響を及ぼす。
【００６０】
図２Ａは、本発明の一実施形態に従ったクラウドゲーミングのためのシステムを示す。示されているように、あるユーザ２００がクラウドベースのビデオゲームに入力を提供するために、コントローラ２０２を操作する。コントローラ２０２は、ボタン、ジョイスティック、タッチパッド、トラックボール、ならびに加速度計、磁力計およびジャイロスコープなどの動作検出ハードウェアなど、種々の入力装置のどのようなものでも含むことができる。一実施形態において、コントローラ２０２は、そのコントローラ２０２の位置を判定するために追跡可能なあらゆる被照明体を含むことができる。コントローラ２０２は、シンゲームクライアント２０４と無線で通信することができる。そのクライアント２０４は、クラウドゲーミングサービス２１０とネットワーク２０８を経由して通信する。クライアント２０４は、コントローラ２０２からのデータを処理し、クラウドゲーミングサービス２１０によって実行されているビデオゲームに送信される入力を作成する。さらにクライアント２０４は、クラウドゲーミングサービス２１０から、ディスプレイ２０６に表示するための映像データを受け取る。一実施形態において、クライアント２０４は受け取った映像データを処理し、映像ストリームをディスプレイ２０６に適合するフォーマットで提供することができる。一実施形態において、クライアント２０４は、コントローラ装置を追跡するためのカメラあるいはコントローラ装置上に位置する物体を含むことができる。既に述べたように、その物体は、カメラから取得された映像フレームの分析に基づく追跡を容易にするために、照明されていてもよい。
【００６１】
クラウドゲーミングサービス２１０は、その中でビデオゲームが実行できる環境を提供するためのリソースを含んでいる。概して言うとリソースは、ビデオゲームアプリケーションの実行を容易にするために利用可能な、プロセッサ、ストレージ装置およびネットワーキング機器など種々のコンピュータサーバハードウェアを含むことができる。図示された実施形態において、ビデオゲームライブラリ２１２は種々のビデオゲームタイトルを含む。ゲームタイトルのそれぞれは、実行可能なコードと、ビデオゲームを実体化するのに利用される関連データおよびアセットライブラリを定義する。ホスト２１４は、仮想マシン２１６を実体化するためのプラットフォームを定義する、単一のコンピューティング装置であってもよい。別の実施形態において、ホスト２１４それ自体が仮想化されたリソースプラットフォームでありえる。言い換えると、ホスト２１４は、１つまたは複数のサーバコンピューティング装置を運用することができ、そのサーバコンピューティング装置によって定義されたリソースの使用を操作し、その間に仮想マシン２１６を実体化することの可能な統一されたプラットフォームを提示する。
【００６２】
仮想マシン２１６のそれぞれは、オペレーティングシステムをサポートすることができ、その上でビデオゲームアプリケーション２１８が実行可能なリソース環境を定義する。一実施形態において、仮想マシンは、あるゲーミングコンソールのために開発されたゲームタイトルの実行をサポートするための仮想マシン上で作動するゲーミングコンソールに関連したオペレーティングシステムを備えた、そのゲーミングコンソールのハードウェアリソース環境をまねるように構成することができる。別の実施形態において、オペレーティングシステムは、基礎となる仮想マシンがあるゲーミングコンソールのハードウェアをまねるように構成されたか否かにかかわらず、そのゲーミングコンソールの固有のオペレーティングシステム環境をまねるように構成することができる。別の実施形態において、エミュレータのアプリケーションは仮想マシンのオペレーティングシステムの最上位で実行され、そのエミュレータはゲーミングコンソールのために設計されたビデオゲームをサポートするためにそのゲーミングコンソールの固有のオペレーティングシステム環境をまねるように構成される。当然のことながら、クラウドベースのゲーミングシステムの中では、種々の最新ならびに従来のゲーミングコンソールをまねることができる。このようにしてユーザは、異なったゲーミングコンソールからクラウドゲーミングシステムを介してゲームタイトルにアクセスすることができる。
【００６３】
ユーザ２００がある特定のビデオゲームタイトルをプレーするよう要求した時には、そのビデオゲームタイトルはライブラリ２１２から取り込まれる。もし適合する仮想マシンがすでに実体化されていないか使用可能でない場合には、新しい適合する仮想マシンがホスト２１４の上で実体化される。取り込まれたビデオゲームタイトルはそこで利用可能または新たに実体化された仮想マシン２１６の上でアプリケーション２１８として実行される。一実施形態において、これは必然的にそのビデオゲームタイトルに対する適切なプラットフォームの判定（例えばそのゲームの実行にどのゲーミングコンソールまたはオペレーティングシステムが必要か）と、そのビデオゲームタイトルの実行を適切な仮想マシン、例えばそのビデオゲームタイトルの実行が可能なエミュレータアプリケーションを備えているものへの割り当てを伴う。このビデオゲームの実行はゲームクライアント２０４に通信され、ユーザ２００に対話型ゲーミング体験を提供する。より具体的に言うと、ビデオゲームアプリケーション２１８の実行は、クライアント２０４からの入力データをネットワーク２０８経由で受け取る。アプリケーション２１８は、実行中のアプリケーションのゲーム状態を更新するためその入力データを処理する。ゲーム状態が変化するのに従って、アプリケーション２１８はディスプレイ２０６上に表示するビデオデータを出力してクライアント２０４に送る。さらにアプリケーション２１８は、ユーザに対する追加のフィードバックメカニズムを提供するために使用されるフィードバックデータを、クライアント２０４に対して出力することもできる。例としては、ユーザのコントローラ２０２は、ビデオゲームアプリケーションから出力されたフィードバックデータに基づいて起動される、触感振動フィードバックメカニズムを含むことができる。
【００６４】
一実施形態において、クラウドゲーミングシステムは、ユーザに関連したクライアント装置の種類と、クラウドベースのビデオゲームに入力を提供するためにユーザが利用可能なコントローラの種類を検出するように、構成されている。例えば一実施形態において、ユーザがクラウドゲーミングシステムにログインした時に、そのクラウドゲーミングシステムにアクセスしているクライアント装置の種類を指定するための、オプションが表示されることがある。一実施形態において、一連のクライアント装置のオプションが提示され、そこからユーザは彼らのクライアント装置に対応したものを選択することができる。またユーザには、ビデオゲームをプレーするために使用するコントローラ装置の種類を指定するためのオプションが提示されることもある。一実施形態において、一連のコントローラオプションが提示可能であり、そこからユーザは彼らのコントローラハードウェアに対応したコントローラの種類を選択することができる。他の実施形態において、クラウドゲーミングシステムは、クライアント装置の種類および／またはコントローラ装置の種類を、自動的に検出するように構成可能である。
【００６５】
例えば、ログイン時にクライアント装置は、それ自体ならびに接続されたコントローラ装置を識別する情報を、クラウドゲーミングサーバに送信することがある（例えばそのクラウドゲーミングサーバからの要求に応じて）。この情報に基づいて、クラウドゲーミングサーバは、ユーザのクライアント装置およびコントローラ装置に最適化されたゲーミング体験を提供するため、適切なビデオゲーム出力構成と入力パラメータ構成を判定することができる。一実施形態において、検出されたクライアント装置ならびに検出されたコントローラ装置に基づいてビデオゲームの構成と入力パラメータの構成を判定するために、参照テーブルが採用されている。
【００６６】
当然のことながら、あるビデオゲームは特定のプラットフォームおよび特定のコントローラ装置のために開発されていることがある。しかしながら、そのようなゲームがひとたびここで述べているようなクラウドゲーミングシステムを介して利用可能になった時には、ユーザは異なったコントローラ装置からアクセスする可能性がある。例えば、あるゲームはゲームコンソールとそれに付属するコントローラのために開発されたものであったが、ユーザはキーボードとマウスを使用するパーソナルコンピュータからそのゲームのクラウドベース版にアクセスする可能性がある。そのようなシナリオの中では、入力パラメータの構成は、ユーザにとって利用可能なコントローラ装置（この場合はキーボードとマウス）で作成可能な入力からのマッピングを、そのビデオゲームの実行のために許容できる入力として定義できる。
【００６７】
別の実施形態において、ユーザはクラウドゲーミングシステムにタブレットコンピューティング装置、タッチスクリーン型スマートフォン、あるいはその他のタッチスクリーン駆動の装置からアクセスすることができる。この場合、クライアント装置およびコントローラ装置は同じ装置に統合されており、入力は検出されたタッチスクリーン入力／ジェスチャーによって提供される。そのような装置のためには、入力パラメータの構成でビデオゲームのゲーム入力に対応する特定のタッチスクリーン入力を定義することができる。ゲーム入力をユーザが作成するためにタッチできるタッチスクリーン上の位置は、ゲーム進行中に例えば、ボタン、十字キー、あるいは他の種類の入力エレメントで表示または重ねて表示されることがある。特定の方向へのスワイプや特定のタッチ動作などのジェスチャーもまたゲーム入力として検出することができる。一実施形態において、タッチスクリーンの制御のための操作にユーザが慣れるために、例えばビデオゲームのゲームプレーを開始する前にタッチスクリーンを介してゲームプレーにどのようにして入力を提供するのかについてユーザに示すためのチュートリアルを提供することができる。
【００６８】
いくつかの実施形態において、クライアント装置はコントローラ装置のための接続ポイントとして働く。すなわち、そのコントローラ装置は、コントローラ装置からクライアント装置へ入力を発信するため、クライアント装置との無線または有線接続を介して通信する。クライアント装置は順にこれらの入力を処理し、次に入力データをネットワーク（例えばルータなどのローカルネットワーキング装置を介してアクセスされた）経由でクラウドゲーミングサーバに送信する。しかしながら他の実施形態においては、コントローラそれ自体がネットワーク接続された装置であることができ、それらの入力を最初にクライアント装置と通信することを必要とせず、クラウドゲーミングサーバに直接ネットワーク経由で通信する能力を備えている。例えば、コントローラはローカルネットワーキング装置（前記のルータなどのような）に接続され、クラウドゲーミングサーバとの間でデータを送信および受信する。したがって、クライアント装置はクラウドベースのビデオゲームから映像出力を受け取ってそれをローカルのディスプレイに表示することが必要であるにしても、コントローラが入力を、クライアント装置をバイパスしてネットワーク経由で直接クラウドゲーミングサーバに送信できるので、入力の遅延を縮小することができる。
【００６９】
一実施形態において、ある種の入力を直接コントローラからクラウドゲーミングサーバに送信し、他の種類の入力はクライアント装置を経由するように、ネットワーク接続されたコントローラおよびクライアント装置を構成することができる。例えば、検出がコントローラそれ自体の他の追加のハードウェアまたは処理に依存しない入力は、クライアント装置をバイパスして、ネットワーク経由で直接クラウドゲーミングサーバに送信できる。そのような入力にはボタン入力、ジョイスティック入力、組み込み型動作検出入力（加速度計、磁力計、ジャイロスコープなど）などが含まれる。しかしながら、追加のハードウェアを使用するかクライアント装置による処理が必要な入力は、クライアント装置によってクラウドゲーミングサーバに送信することができる。これらには、クラウドゲーミングサーバに送信される前にクライアント装置による処理を必要とする、捕捉された映像また音声が含まれる。さらに、コントローラの動作検出ハードウェアからの入力は、コントローラの動作と位置を検出するために捕捉された映像と併せてクライアント装置によって処理され、その後でクライアント装置からクラウドゲーミングサーバに通信される。当然のことながら、種々の実施形態に従ったコントローラ装置もまた、クライアント装置から、あるいは直接クラウドゲーミングサーバからデータ（例えばフィードバックデータ）を受け取る。
【００７０】
図２Ｂは、本発明の実施形態に従った、ゲーミングコンソールの種々の世代にわたるゲームタイトルの蓄積を概念的に示す。ビデオゲーミング産業においては、ビデオゲームは特定のビデオゲームコンソールのために開発されている。時間の経過とともに、特定のゲームコンソールに関するゲームタイトルのライブラリは蓄積される。例えば、示された図では、第１世代のコンソール２２０は、そのために開発されたゲームタイトルのコレクション２２８を持つ。第２世代のコンソール２２２は、そのために開発されたゲームタイトルのコレクション２３０を伴う。そして第３世代のコンソール２２４も示されているが、それはそのために開発されたゲームタイトルのコレクション２３２を持つ。他の実施形態において、クライアント２２６と共に使用するクラウドベースのゲームのために特に開発された、ゲームタイトルのコレクション２３４もある。さらに、インターネットゲームのような他の種類のゲームも開発し、ここに述べているようにクラウドゲーミングシステムを介して配布するために収集することができる。当然のことながら、異なる世代のゲーミングコンソールからのゲームタイトルは、クラウドゲーミングライブラリ２１２内に収集して統合することができる。示されたように、ライブラリ２１２は、第１世代のコンソール２２０のために開発された第１世代コンソールのライブラリ２３６を含む。同様にライブラリ２１２は、第２および第３世代のコンソールのためにそれぞれ開発されたビデオゲームを含む、第２世代コンソールのライブラリ２３８と第３世代コンソールのライブラリ２４０も含んでいる。クライアント２２６のために開発されたゲームおよびインターネットゲームなど他の種類のゲームも、ゲームライブラリ２１２に含むことができる。見て分かるとおり、種々の世代のゲーミングコンソールにわたる大量のゲームタイトルが、クラウドゲーミングライブラリを介して蓄積され、利用可能となる。既に述べたように、これらのゲームのそれぞれは、そのゲームが開発された所定のゲーミングコンソールに関連したオペレーティングシステムを模倣した、仮想マシンの上で実行可能である。このようにして、このクラウドベースのゲーミングシステムにアクセスしているユーザは、多くの異なるコンソールから容易にゲームにアクセスし、プレーすることができ、さらにインターネットゲームなど他のコンタクトからのゲームやそのクラウドベースのゲーミングシステムのために特に開発されたゲームにもアクセスしてプレーすることができる。
【００７１】
図３は、一実施形態に従い、ユーザにゲームのデモを提供する方法を示す。デモに使用可能な種々のゲームタイトルのビネットまたはアイコン３０２、３０４、３０６、３０８、３１０および３１２を提供するインターフェース３００が示されている。各アイコンは、それが代表するゲームを示すような画像を提供するように構成される。一実施形態において、ユーザが所定のアイコン上に移動した時に、そのアイコンが作動してそのビデオゲームを表わすアニメーションかビデオクリップを表示するか、そうでなければそのビデオゲームの内容に関する追加の情報を提供する。図示された実施形態において、ユーザはアイコン３０２に移動したのでそれがハイライトされ、ビデオゲームの一場面を表わすアクティブなアニメーションが表示される。ユーザがあるアイコンを選択すると、方法動作３１４にしたがってプレビュービデオが表示される。もしもユーザが方法動作３１６でもそのゲームを選択しつづければ、次に方法動作３１８でそのデモのゲームコードが立ち上がる。方法動作３２０で、ゲームデモはそのユーザによるゲームプレーに直ちに利用可能になる。当然のことながら、このゲームデモはクラウドベースなので、それはクラウドベースのシステム内であらかじめロードされているゲームデモの実体化によって、すぐに利用可能となる。ゲームデモが立ち上がると、あらかじめロードされていたゲームデモ実体化の実行が開始される。方法動作３２２では、ユーザがゲームデモ実行の続行を希望するのか、もしも利用可能であればそのビデオゲームの他のデモをプレーするのかを判定する。もしそうなら、方法は操作３２２に戻ってゲームデモの実行を継続するか、そのビデオゲームの新しいゲームデモを実行する。もしもそうでなければ、ユーザには方法動作３２４で、そのビデオゲームのミニ版を購入するオプションが提示される。さらに、方法動作３２６では、ユーザにはそのビデオゲームの完全版を購入するオプションを提示することができる。もしもユーザがゲームのミニ版か完全版の購入を選択した場合、次に方法動作３２８でその版のゲームがユーザのアカウントに追加される。当然のことながら、ゲームはクラウドベースのゲーミングシステムを介して利用可能になっているので、ユーザのアカウントに対するゲームの追加とは、ユーザのアカウントに単に特定のバージョンのゲームに関するアクセス権限を与えるだけである。その上一度購入すると、ユーザのゲームプレーのためにそのゲームは、特にそれがクラウドベースのシステム上であらかじめ実体化されている場合には、実際上クラウドベースのシステムから瞬時に利用可能となる。
【００７２】
図４Ａは、本発明のある実施形態に従った、ビデオゲームの種々の部分の階層的構造を示す。例として、あるビデオゲームは種々のセクション４００に構造化することができる。図示された実施形態において、設定セクション、導入セクション、種々のレベルのセクション、および終了セクションを含むことができる。ある所定のレベルはさらに種々のシーンに分割することができる。示されているように、レベル３のセクションは種々のシーン４０２に分割されている。ユーザが所定のシーンをプレーし終えると、ユーザのゲームプレーが記録された映像、および実行されたゲームアプリケーションの記録された入力データならびにゲーム状態を含む、そのシーンのゲームプレー時間線を記録することができる。図示された実施形態において、ゲームプレーの時間線４０４は、そのゲームのレベル３、シーン２におけるユーザのゲームプレーを表わす。本発明の実施形態に従って、ユーザはそこからミニゲームまたはゲームスライスを作成する、彼らの記録されたゲームプレーのいくつかの部分を選択することができる。例えば図示された実施形態において、ゲームプレーの時間線４０４には開始時刻Ｔ０と終了時刻Ｔｚがあり、ミニゲームを作成するために、ゲームプレーの時間線のうち時刻Ｔｘから時刻Ｔｙまでの部分が選択された。
【００７３】
図４Ｂは、本発明のある実施形態に従った、ミニゲームまたはゲームスライスを作成するための、ゲームプレーの時間線のある部分を選択するインターフェースを示す。図示された実施形態において、装置４１０のタッチスクリーン４１１にはインターフェース４１２が表示されている。一実施形態において、装置４１０はタブレットコンピューティング装置である。インターフェース４１２は、選択可能なゲームプレーの時間線４１４を含む。このゲームプレーの時間線４１４の拡大図４３０の中では、ある実施形態に従ったゲームプレーの時間線４１４は、調整可能なマーカ４１６および４１８を備えたフィルムストリップとして表わされていることが分かる。マーカ４１６はゲームプレーの時間線４１４に沿って選択された開始位置を指定し、マーカ４１８はゲームプレーの時間線の選択された終了位置を指定する。さらにマーカ４１９を、ゲームプレーの時間線４１４の中に開始マーカ４１６と終了マーカ４１８によって設けた部分の内部に置くことができる。使用を容易にするため、かつユーザに彼らのゲームプレーのどの部分が選択されたのかについて視覚的な理解を与えるため、ゲームプレーの時間線のマーカ４１６の置かれた位置に対応する開始フレーム４２０を表示することができる。この開始フレーム４２０は、開始マーカ４１６の置かれた時刻に対応する、記録されたゲームプレー映像の画像である。同様に、ゲームプレーの時間線のマーカ４１８の置かれた位置に対応する、終了フレーム４２４を表示することができる。同様にこの終了フレーム４２４は、終了マーカ４１８の置かれた時刻に対応する、記録されたゲームプレー映像の画像である。それに加えて代表フレーム４２２を、ゲームプレーの時間線に沿ってマーカ４１９の置かれた位置に対応させて表示することができる。この代表フレーム４２２は、ゲームプレーの時間線の選択された部分に基づき作成されるミニゲームの、代表的な画像として使用することができる。当然のことながら、図示された実施形態においてタッチスクリーン型インターフェースが提示され説明されているが、他の実施形態において、ミニゲーム作成のためにゲームプレーの部分を定義する始点および終了位置の選択には、他のさまざまの入力を利用することができる。例えば、入力はゲームコントローラ、キーボード、動作入力、音声入力、およびその他の種類の入力装置ならびにメカニズムを介して行うことが可能であり、それによって記録されたゲームプレー映像からの代表フレームの選択を伴った、ゲームプレーの一部分の選択が可能になる。
【００７４】
いくつかの実施形態において、この選択マーカはゲームプレーの時間線に沿って連続的に調整可能ではないこともあるが、その代わりにゲームプレーの時間線に沿って、あらかじめ定めた時点で止まるように構成することができる。例えばあらかじめ定めた時点を、ゲームプレーの時間線の中で発生する特定の事象に対応するように定義することができる。あらかじめ定めた時点に割り当てられる、所定のゲームプレーの時間線上の特定の事象は、ユーザのゲームプレーの分析に基づいて作成可能であり、そのビデオゲームのゲームプレーの固有のアーキテクチャに依存する。一実施形態において、あらかじめ定めた時点は、ビデオゲームによって定義された仮想世界の中の、キャラクタの地理的位置に基づいて割り当て可能である。例えば、あらかじめ定めた時点は、あるキャラクタがある地理的な場所から他の地理的な場所へ移動する、例えばあるシーンの現場から他のシーンの現場へ、ある都市から他の都市へ、構造物に入る、構造物の中の部屋に入る、乗り物に乗り込む、異なる種類の環境に入る、または他のあらゆる重要な地理的移行などの特定の時刻に割り当てることができる。別の実施形態において、あらかじめ定めた時点は、ビデオゲームの中でコントロールされたユーザの成長に基づいて割り当てることができる。例えばあらかじめ定めた時点は、ユーザにコントロールされたキャラクタあるいは存在が、任務を達成する、スキルを獲得する、ある物体を獲得する、レベルを通過する、あるいはそれ以外でビデオゲームのある部分を完了するか、そのビデオゲームの中で他のなんらかの重要な活動を実行するか達成する時点に、割り当てることができる。
【００７５】
図４Ｃは、本発明のある実施形態に従った、ミニゲームを作成するためにゲームプレーの時間線のある部分を選択する、インターフェースを示す。ゲームプレーの時間線４１４は、それに沿ってユーザが開始および終了マーカ４１６と４１８を設定することができ、それによってミニゲームを作成するゲームプレーの選択を指定する、時間線を示す。開始マーカ４１６の位置に対応する開始フレーム４１０と、終了マーカ４１８の位置に対応する終了フレーム４２４が示されている。当然のことながら、これらのフレームはユーザのゲームプレーの記録された映像から特定することができる。いくつかの候補フレーム４４０、４４２、４４４および４４６が提示され、ユーザはそこからミニゲームの代表フレームとして使用するものを選ぶことができる。候補フレームは様々な方法で判定することができる。例えば候補フレームは、ゲームプレーの時間線の選択された部分の小さな間隔ごとに提示される。この間隔は、候補フレームがゲームプレーの時間線に沿って一様に配列されるよう等しくすることも可能であるし、ゲームプレーの時間線に沿っていくつかのフレームがお互いに他よりもより近くなるよう、不均一にすることも可能である。一実施形態において、ゲームプレーの時間線の選択された部分のより早い部分では、ゲームプレーの時間線の選択された部分のより遅い部分と比べて、候補フレームがより高い密度で作成される。一実施形態において、ゲームプレーの時間線の選択された部分の早い領域と遅い領域の両方で、候補フレームが高い密度で作成されるが、ゲームプレーの時間線の選択された部分の中央部分では、候補フレームがより低い密度で作成される。
【００７６】
ユーザがミニゲームを作成するためにゲームプレーのある部分を選択した後、本発明の実施形態において、ゲームプレーの選択された部分に基づきプレー可能なミニゲームを作成する、システムおよび方法が提供される。より具体的に言うとそのミニゲームは、他のユーザが元のユーザがプレーしたのと本質的に同じ部分のビデオゲームを、おそらくは基本的に同じ条件とパラメータの下でプレーすることを可能にする。この意味で、そのミニゲームは元のユーザのゲームプレーの単なる再生ビデオ以上のものであり（元のユーザのゲームプレーのリプレービデオクリップはミニゲームと併せて提供されるが）、ユーザ自身のゲームプレーの選択に基づいて指定された、そのビデオゲームのプレー可能な部分そのものである。したがって二人目のユーザは元のユーザと同様のゲームプレーを体験することができる。
【００７７】
図５は、本発明のある実施形態に従った、既存のクラウドベースのビデオゲームからミニゲームを作成する方法を実証する、一連のスクリーンショットを示す。スクリーンショット５００はあるユーザのビデオゲームのプレーを示す。図示された実施形態において、ユーザはそのビデオゲームのレベル３をプレーしている。スクリーンショット５０２では、ユーザはそのビデオゲームのレベル３を完了した。レベルの完了時には、ユーザにそのレベルでのユーザのゲームプレーに基づいた、ゲームスライスまたはミニゲームを作成するオプションが提供される。ユーザがゲームスライスの作成を選んだ時には、スクリーンショット５０４でユーザには、ユーザの記録されたゲームプレーからゲームスライスの開始位置を選択するインターフェースが提供される。既に述べたように、ゲームプレーの時間線の表現は、ユーザがそれを用いてゲームスライスの開始位置を指定するために動かすことができる、調整可能なスライダと共に表示される。ユーザが開始位置を指定した後、スクリーンショット５０６では、ユーザにはそのゲームスライスの終了位置の選択を可能にするために構成されたインターフェースが提供される。ここでもう一度、調整可能なスライダがユーザによって移動され、そのインターフェースの中で表示されたゲームプレーの時間線に沿った終了位置を指定する。ユーザのゲームプレーの時間線から開始位置および終了位置が指定されると、他の箇所で述べたようにゲームスライスまたはミニゲームが作成される。スクリーンショット５０８でユーザには、新たに作成されたゲームスライスを他のユーザと共有するあるいは他のユーザにその新たに作成されたゲームスライスを知らせるためのオプション、同じゲームプレーの時間線から別のゲームスライスを作成するオプション、現在のビデオゲームのゲームプレーを継続するオプション、ユーザの既存のゲームスライスを閲覧するオプションなど、追加のオプションを提供することができる。もしもユーザが彼らの既存のゲームスライスの閲覧を選択すると、スクリーンショット５１０でユーザが以前に作成したゲームスライスを表示するインターフェースが示される。図示された実施形態において、ユーザは以前に作成されたゲームスライスの一つを選択し、そのゲームスライスの情報および統計をスクリーンショット５１２に示されているように見ることができる。所定のゲームスライスに関する情報および統計は、以下のいずれも含むことができる：ゲームスライスのタイトル、そのゲームスライスが作成された元となるビデオゲーム、そのゲームスライスが作成された日付、そのゲームスライスが他のユーザによってプレーされた回数、そのゲームスライスのプレーを実行したユーザによって完了されたゲームスライスの平均パーセンテージを示す完了率、他のユーザの残したコメントなど。
【００７８】
いま述べた実施形態において、ゲームスライスを作成するためのオプションは、そのビデオゲームのあるレベルの完了後にユーザに対し提示されるが、当然のことながら他の実施形態において、ユーザにとってゲームスライスを作成するための選択が定義可能な、ビデオゲームの記録されたゲームプレーが存在する限り、ユーザはそのビデオゲームの間あるいはそれ以外のいつでも、ゲームスライスを作成することができる。例えば、一実施形態において、ユーザに関係する種々のビデオゲームからの、記録された種々のゲームプレーへのアクセスを提供する、インターフェースを提供することができる。ユーザは特定のビデオゲームのゲームプレーを選択し、ここで述べた実施形態に従ったゲームスライスをそこから作成するための、記録されたゲームプレーのある部分を選択することによって、ゲームスライスを作成することができる。
【００７９】
図６は、本発明のある実施形態に従った、ゲームスライスコードを作成するシステムを示す。ここでは、既存の記録されたゲームプレーからのユーザの選択に基づいて作成された、ビデオゲームの分離してプレー可能な部分を定義するのに、ゲームスライスおよびミニゲームという用語が交換可能に使用されている。図示された実施形態において、ユーザのゲームプレー６００は、ユーザがビデオゲームの完全版と対話していることを、概念的に表わしている。主ゲームコード６０２は、ユーザによって表示されたビデオゲームの完全版を定義するために実行される。そのビデオゲームがプレーされる間に、それはビデオデータ、ゲーム状態データ、およびユーザ入力データを含む、種々の種類のゲーム出力を発生する。これらはそれによってユーザの記録されたゲームプレーを定義するために、記録可能である。図示された実施形態において画像ストリーム６０４は、ビデオゲームによるビデオデータの出力を概念的に表わす。ゲーム状態メタデータ６０６とユーザ入力データ６０８も示されている。このゲーム状態データ６０６は、実行中のビデオゲームのゲーム状態を、ゲームプレーの間時々刻々と定義するデータを含む。ゲーム状態データは、ビデオゲームの実行状態を定義するいかなる変数の値も含むことが可能である。ユーザ入力データは、ビデオゲームとの対話中に発生するユーザが開始したアクションを捕捉することによって作成したデータで、おそらくはコントローラ装置上の入力装置の起動、センサデータの（動作センサなど）検出、捕捉されたオーディオ入力などとして提供される。
【００８０】
既に述べたように、ユーザインターフェースは、ユーザの記録されたゲームプレーを図形的に示し、ゲームスライスを作成するためのユーザのゲームプレーのある部分の選択を容易にする。図示された実施形態において、ユーザは彼らの記録されたゲームプレーから選択６１０を定義した。ユーザの記録されたゲームプレーのこの選択は、ユーザのゲームプレーの選択された部分に基づく、限定的なゲームを定義するゲームスライスコード６２２を作成するために、ゲームスライス発生器によって使用される。ゲームスライス発生器６１２は、記録された選択６１０のゲーム状態を分析する、ゲーム状態アナライザ６１４を含む。記録された選択のゲーム状態の分析に基づいて、ゲームブレークポイントプロセッサが、そのゲームスライスの開始と終了を定義する適切なブレークポイントを判定する。ブレークポイントは、地理、時間、任務あるいは目標の達成、シーンの境界（物理的または時間的）、またはそれに関してビデオゲームのゲームプレーがゲームスライスの作成のために分割可能な他のいかなる側面に基づいても定義することができる。いくつかの図解的な実施形態の簡単な説明は、ブレークポイント判定のある種の可能性を際立たせるのに役立つ。
【００８１】
例えば、ある種のビデオゲームは、ある地理的シーンまたは場所から他のシーンまたは場所にキャラクタが移動できるような制御を伴う。ユーザのゲームプレーの選択された部分は、ある特定のシーンにおけるゲームプレーから作成するように判定することができる。そのような実施形態において、特定のシーンの境界はゲームスライスの地理的なブレークポイントを定義することができ、その他のシーンの除外を伴うようなシーンを選択することにより、必然的に他の近接または隣接のシーン、ならびにその特定のシーンに近接も隣接もしていないか、そうでなくてもより関係が少ないか無関係のシーンを除外することになる。当然のことながら、記録されたゲームプレーの選択６１０は複数のシーンからのゲームプレーを伴うことができ、その場合ゲームブレークポイントプロセッサ６１６は、記録されたゲームプレーの選択に使用される複数のシーンの境界にしたがって、ブレークポイントを定義するように構成することができる。
【００８２】
シーンは本来地理的かつ時間的の両方であることに、注目すべきである。すなわち、そのシーンはビデオゲームによって定義された仮想空間の中で地理的な領域を定義できるだけではなく、そのビデオゲームのより大きな文脈の中で、特定の時刻あるいは特定の年代上の時点に存在するよう構成することも可能である。そのようなシーンは、プレーヤが達成すべく定義された、目的または目標を持つことができる。したがって、ゲームのブレークポイントは、ビデオゲームにより定義されるように、年代記または他の時間的側面から定義することができる。
【００８３】
さらに、所定のシーンは、ゲームプレーの間のシーンの一部として、関連する物体または特徴を持つことができる。これらの物体または特徴は、その内容にしたがってさらにブレークポイントを定義するために分析可能である。例えば、シーンの中の物体はアセットライブラリのサブセットから取り込むことができ、その場合アセットライブラリのサブセットは、ゲームブレークポイントプロセッサ６１６によってゲームスライスのために定義可能であり、記録されたゲームプレー選択に関係したシーンに使用されていないアセットライブラリの中の他の物体を除外する。当然のことながら、所定のシーンの中の物体および特徴は、ビデオゲームの中で発生する事象に対応したそれらの変化を定義する関連メカニズムを伴う、ダイナミックな要素である可能性がある。例えば、ある物体は、それが損傷した時（例えば武器で打たれた）に判定して物体の概観を調製する、ダメージモデリングモジュールを持つことがある。あるいはある特徴とは、ゲームプレーの間の外観、作動およびユーザ入力への対応を定義する関連ロジックを備えている、シーンの中で使用可能とされた乗り物かもしれない。それらのようなロジックあるいはダメージモデリングはゲームスライスを作成するためのゲームブレークポイントをさらに定義することができる。
【００８４】
ビデオゲームの選択された部分を定義するかまたは他に用いられる、ビデオゲームの種々の側面は、ゲームブレークポイントを定義する基礎となりえる。いま述べている例はあくまで例として提供されており、制約条件ではない。当然のことながら他の実施形態において、ビデオゲームの他の側面が、ゲームスライスを作成するためのブレークポイントを定義する基礎を構成することができる。
【００８５】
一実施形態においてビデオゲームを、後続のシーンは先行するシーンをまず完了しない限り試すことができないというように、連続的に完了しなければならないような種々のシーンに組織することができる。各シーンは、そのいくつかはシーンを完了するために必要であり、そのいくつかはまたシーンの完了のオプションとなる、複数の目的または目標を含むことができる。目的には、シーンの中での開始位置からあらかじめ定められた終了位置までの移動、あらかじめ定められた長さの期間の生き残り、あらかじめ定められた数の敵の破壊、ある得点の獲得、特定の敵の撃破、あるいはそのゲームの中で定義可能な他のどのような活動も含むことができる。あるシーンは、それらの中でユーザが一度その完了点を達成すると、もしも何らかの理由でユーザのゲームプレー続行が不可能になった場合（例えばユーザがゲームをやめる、ユーザのゲームのキャラクタが死ぬか、ライフまたはヘルスを使い果たす、ユーザの乗り物が衝突するなど）、ユーザがそこに戻ることができるような、あらかじめ定められた種々の完了点を持つことがある。あらかじめ定められた完了点では、ビデオゲームはユーザの進捗を自動的に保存するか、ユーザにその進捗を保存するためのオプションを提示するように、構成することができる。
【００８６】
一実施形態において、ゲームブレークポイントプロセッサ６１６はあらかじめ定められた完了点にゲームブレークポイントを定義するように構成される。一実施形態において、これはユーザの記録されたゲームプレーの選択から選択された開始および終了位置に最も近い完了点を発見し、それらの最も近い完了点を、ゲームスライスのゲームブレークポイントを定義するために使用することによって達成される。他の実施形態において、ゲームスライスを作成するための開始ブレークポイントを定義するには、記録されたゲームプレー選択から選択された開始位置以前に発生する最も近い完了点が使用され、一方終了ブレークポイントを定義するには、記録されたゲームプレー選択から選択された終了位置以後に発生する最も近い完了点が使用される。さらに別の実施形態において、もしも完了点が、ユーザの記録されたゲームプレー選択の開始または終了位置からあらかじめ定められた半径（例えば以前か以後）の中に位置するなら、その完了点はゲームスライスに対応する開始または終了ゲームブレークポイントを定義するために使用される。もしもあらかじめ定められた半径の中に位置する完了点がなければ、記録された選択に対してユーザが選択した開始または終了位置に、より近く一致するゲームブレークポイントが定義される。別の実施形態において、開始および終了位置に対しあらかじめ定められたその半径は、ゲームブレークポイントを定義するために既存の完了点を使用するかどうかの判定の目的に対しては異なることがある。
【００８７】
既に述べたとおり、ゲームブレークポイントプロセッサ６１６は、ユーザの記録されたゲームプレー選択に基づいて、ビデオゲームの種々の側面に適用可能な適切なブレークポイントを判定する。プロセッサ６１６によって定義されたブレークポイントは、ユーザの記録されたゲームプレー選択に基づいて作成されるゲームスライスの限定された範囲を定義する働きをする。一実施形態において、ゲームスライス発生器６１２によって作成されたゲームスライスをプレーする時に、改善されたユーザ体験に寄与することのできるオーバレイを作成する、オーバレイプロセッサ６１７が提供される。例えば、一実施形態において、そのオーバレイプロセッサ６１７は、ゲームスライスの実際のゲームプレーに先立つゲームへの導入として提供可能な映像、ゲームプレーまたは追加情報を定義する、プリゲームスライスデータを定義する。プリゲームスライスデータの一例は、スライスとなったゲームプレーを開始したユーザに背景を提供できる、導入映像である。別の実施形態において、プリゲームスライスデータは、ゲームスライスに対する導入ゲームプレーを定義し、そのゲームスライスをプレーする時にユーザに役立つかまたは必要となる可能性のあるスキルを学ぶ機会を、ユーザに提供する。別の実施形態において、プリゲームスライスデータは、ユーザにそのゲームスライスについての情報を提供する、一つまたは一連の複数の情報画面または画像を定義することができる。そのような情報には、ユーザにとって有用かまたはそうでなくてもそのゲームスライスのユーザのプレー体験を改善する、コントローラ構成、物語の背景情報、目的または目標、地図、あるいは他のいかなる種類の情報も含まれる。
【００８８】
オーバレイプロセッサ６１７はまた、ポストゲームスライスデータを定義するように構成することができる。いくつかの実施形態において、このポストゲームスライスデータはゲームスライスのゲームプレーを完了した後に表示される映像または画像を定義することができる。例えば、ユーザがゲームスライスを完了した後には、祝福の映像が表示される。そのような映像はそのゲームスライスのユーザによるゲームプレーに基づいて、例えばユーザのゲームプレーに基づく情報または画像を表示することにより、カスタマイズすることができる。一実施形態において、ポストゲームスライスデータは、ゲームスライスの完了後にユーザのゲームプレーの記録された部分を再生する、プレーバックメカニズムを定義することができる。別の実施形態において、ポストゲームスライスデータは、そのゲームスライスでのユーザのゲームプレーについての統計を表示し、ユーザのゲームプレーの他のユーザやそのゲームスライスの元の作成者との比較を示すことができる。さらに別の実施形態において、ポストゲームスライスデータは、ゲームスライスの完了時にユーザに提示される、追加の対話要素を定義することができる。これらは、そのゲームスライスの元となっているビデオゲームの一部または全部を購入するオプション、そのビデオゲームに関する追加の情報源にリダイレクトするオプションなどを含んでいる。
【００８９】
いくつかの実施形態において、オーバレイプロセッサ６１７はゲームスライスの中にオーバレイされる要素を定義するように構成することができる。これらには、キャラクタ、物体、特性のカスタマイゼーションおよびその他のカスタマイゼーションオプションなどのような、ゲームスライスをプレーするユーザによってカスタマイズ可能な要素を含む。いくつかの実施形態において、このオーバレイプロセッサ６１７はあるゲームスライスに対して単純化された要素を定義するように構成することができ、それによってゲームスライスコードの複雑さと、ゲームスライスを実行するために必要なリソースを減らすことができる。例として、多くのビデオゲームはキャラクタ、乗り物、敵などのような人工知能（ＡＩ）体を含む。これらのＡＩ体は、完全なビデオゲームの中では、ビデオゲーム内で発生する事象に基づいたＡＩ体の反応と活動を定義する、人工知能モデルによって管理される。しかしながら範囲の限定されたゲームスライスにあっては、あるＡＩ体の活動は、完全なビデオゲームの中でそうであるような完全なモデリングよりはむしろ、ハードコード化された定義または単純化された外挿法を通じた、単純な定義でもよい。
【００９０】
例えば、もしも完全なビデオゲームの記録されたゲームプレー選択の中で、所定のＡＩキャラクタがそのゲームスライスの中では変化しそうにないＡＩモデルにしたがってある様子で動く場合には、そのゲームスライスのためのＡＩキャラクタの動きの近似を定義する方がより効率的である。そのような近似はそのゲームスライスコードの部分として含むべき完全なＡＩモデルを必要としないが、それでもそのゲームスライスをプレーするユーザには、そのＡＩキャラクタに関する体験としてはそのゲームスライスが作成された元のユーザのゲームプレーにおけるものと実質的に同等のものが提供される。ＡＩ体の活動の近似によって実現するリソース節減は、複数のＡＩ体が存在しユーザの記録されたゲームプレー選択と相互作用する場合には、一層重要である。それぞれのＡＩ体は、他のＡＩ体のＡＩモデルの出力に依存するＡＩモデルを持つことがある。しかしながら、ゲームプレーが記録された時には、これらのＡＩ体のそれぞれの活動は知られており、したがってそれらの制御変数の直接的コード化またはその活動の近似などの単純化されたメカニズムによって、それをゲームスライスの中で再生することが可能である。
【００９１】
引き続き図６を参照すると、ゲームスライスの初期状態を定義するために、ゲーム設定状態プロセッサ６１８が提供されている。ゲーム状態アナライザ６１４、ゲームブレークポイントプロセッサ６１６およびゲーム設定状態プロセッサ６１８の作動に基づき、コードアセンブリマネジャー６２０は、ゲームスライスコード６２２を定義するために、コードの種々の部分を集める。そのゲームスライスコード６２２が実行されると、ユーザのゲームプレー６２４はゲームスライスコードの実行状態を定義する入力を提供し、それはゲームスライスをユーザに表示するための映像データおよびフィードバックデータを含む、ゲームプレー出力を作成する。その映像データはプリゲームスライスオーバレイ映像６２２、ゲームスライスのゲームプレーの結果として得られるゲームスライス映像６２４、およびポストゲームスライスオーバレイ映像６２６を含むことができる。
【００９２】
当然のことながら、一実施形態において、ゲームスライスコード６２２は、そのゲームスライスを実行するのに必要なコードの部分すべてを含む、完全に自己充足的なものである。しかしながら他の実施形態において、ゲームスライスコード６２２は、完全なビデオゲームの主要なゲームコード内にある既存のコード部分についての参照または助言を取り入れることができる。さらに、ゲームスライスコード６２２は、完全なビデオゲームの主要なゲームコードに関するアセットライブラリ内の既存のアセットへの参照を含むか、それらを使用することができる。しかしながら他の実施形態において、新しいアセットライブラリがそのゲームスライスコードのために作成可能である。
【００９３】
図７Ａは、本発明のある実施形態に従った、ビデオゲームのゲームスライスを作成するための、仮想空間の変更を示す。マップ７００は、あるビデオゲームのシーンまたは地理的な一部を表わしている。示されたマップは２次元的表現で、そのビデオゲームの実際のゲームプレーの間に移動し体験する、３次元仮想空間を代表することができる。示されているように、マップ７００は領域７０２およびいくつかの通路７０４、７０６、７０８および７１０を示している。ビデオゲームの記録されたゲームプレーの中では、ユーザのキャラクタ７１２が領域７０２から通路７１０へ移動する。この記録された動きおよびそのビデオゲームのゲームプレーのその他の分析に基づき、ゲームスライスの作成には追加の通路７０４、７０６および７０８は不要と判定することができる。それらの通路は通路７１０と比べると誤った選択を表わしているか、ゲームスライスには無関係の領域に導くか、あるいはゲームスライスのプレーヤが通路をたどって元のユーザと同じゲームプレーを体験する能力を減少させる可能性がある。さらに、もしも通路７０４、７０６および７０８が導く領域がゲームスライスの中でサポートされていなければ、そのような通路を含むことはプレーヤをまごつかせるか、少なくとも質の悪いユーザ体験になる。したがって変更されたマップ７２０では、通路７１０と領域７０２は変更せずに残されるが、通路７０４、７０６および７０８はそのゲームスライスのなかのゲームプレーでは使用できなくする。こうして、あるユーザがマップ７２０で定義された地形を採用したゲームスライスをプレーする時、彼はその中では通路７０４、７０６および７０８を通過できないような仮想空間を経験することになる。その時ユーザは、元のユーザがしたように、通路７１０を通過し、したがって同様のゲームプレーを体験する可能性が高い。
【００９４】
当然のことながら、ゲームスライスまたはミニゲームのために定義された仮想空間の部分は、ユーザの記録されたゲームプレーに基づいて判定された境界によって定義することができる。その境界はより大きな仮想空間の小領域を定義し、その大きな仮想空間で利用可能な特徴の小部分を含む。いくつかの実施形態において、仮想空間の境界は、ユーザのゲームプレーによって定義された仮想空間の中の位置を判定し、そこでその仮想空間に関連したそれらの位置に最も近く、かつそれを取り囲むように配置された、あらかじめ定められた境界を判定することにより、判定することができる。例えば、ユーザのゲームプレーはユーザのビデオゲームのキャラクタが通過する経路を定義することができる。この経路は分析可能であり、仮想空間内のその経路の位置に基づいて、その経路を取り囲む領域を定義する、一組のあらかじめ定められた境界を選択することができる。いくつかの実施形態において、あらかじめ定められた境界は、例えばドア、窓、壁、部屋、廊下、塀、道、交差点、玄関など、本質的に仮想空間の部分を定義する、特定の特徴によって定義することができる。
【００９５】
図７Ｂは、本発明の実施形態に従った、ゲームスライスを作成するためのシーングラフの変更を示す。シーングラフ７３０は、あるビデオゲームの種々のシーンＡからＧまでの構造を概念的に示している。当然のことながら、ここで述べたシーンは本質的に地理的および／または時間的なものであり、それぞれはプレーヤがあるシーンから他のシーンへと進んでいくのに従ってビデオゲームの中でプレーできる、ステージ、レベル、セクション、地点、あるいはその他のあらゆる構造上の単位を表している。このシーングラフ７３０の中では、シーンＡからＧまでを表す種々のノードが示されている。示されているように、プレーヤはシーンＡからシーンＢに進むことができ、シーンＢからはシーンＤかＥのいずれかに進むことができる。プレーヤはまた、シーンＡからシーンＣに進み、シーンＣからシーンＦかＧのいずれかに進むこともできる。シーングラフ７３０は、完全なビデオゲームのシーンの構造を説明している。しかしながら、ゲームスライスを作成する目的に関して言うと、利用可能なすべてのシーンがそのゲームスライスに必要なわけではない。したがって、例としてはシーングラフ７３２があるゲームスライスのためのシーン構造を示す。示されているとおり、シーングラフ７３２はシーンＡ、Ｂ、ＣおよびＦを含むが、完全なビデオゲームのシーングラフ７３０に含まれている、それ以外のシーンは含まない。これによってユーザはシーンＡからシーンＢかＣのいずれかに進み、シーンＣからシーンＦに進むことができる。しかしながら、完全なビデオゲームのシーングラフ７３０のその他のシーンは、そのゲームスライスのゲームプレーには利用することができない。すでに述べたように、本発明の実施形態に従ったシステムは、ゲームスライスを作成する時にシーンの使用を制限するように構成することができる。そのようにしてゲームスライスは、そのゲームプレーの限定的な文脈と意図された目的に必要でないシーンを含むことはない。
【００９６】
図８は、本発明のある実施形態に従った、ゲームスライスを作成するための方法を示す。方法動作８００では、ユーザのゲームプレーの映像の記録とビデオゲームの入力データやゲーム状態データのようなビデオゲームデータを含む、あるビデオゲームのユーザのゲームプレーが記録される。方法動作８０２では、ゲームスライスを作成するための記録されたゲームプレーの選択に用いる、ユーザインターフェースが提供される。そのインターフェースは、記録されたゲームプレーから開始ならびに終了位置を定義する、ユーザ入力を受け取るためのメカニズムを定義する。例えば、記録されたゲームプレーをレビューするインターフェースを提供することができ、それによってユーザは、ゲームプレー映像上の移動またはその再生に基づいて、ゲームプレー映像の中で開始および終了位置を定義できる。方法動作８０４では、ゲームプレー映像のユーザが定義した選択が受信される。方法動作８０６では、受信されたゲームプレー映像のユーザが定義した選択に基づき、ビデオゲームのブレークポイントが特定される。一実施形態において、ビデオゲームに対しあらかじめ定められたブレークポイントがある。ゲームプレー映像のユーザが定義した選択に基づき、ユーザが定義した選択の開始および終了位置に最も近いゲームブレークポイントを、作成するゲームスライスのゲームブレークポイントとして選択することができる。方法動作８０８では、ゲームコードは、特定されたブレークポイントによって定義されたとおりに、スライス選択のために定義される。方法動作８１０では、ゲームの設定状態はそのスライス選択のために定義される。一実施形態において、このゲーム設定状態は、ユーザの記録されたゲームプレーの中に存在しているゲーム状態に基づいている。方法動作８１２ではゲームスライスコードが作成され、方法動作８１４ではそのゲームスライスコードがゲームスライスライブラリに保存され、ユーザのアカウントに関連付けられる。
【００９７】
一実施形態において、その方法に方法動作８１６を含むことができ、その中では提案されたゲームスライスの映像選択が、ユーザの記録されたゲームプレーの映像およびデータに基づいて作成される。提案されたユーザのゲームプレーの選択は、そのユーザの記録されたゲームプレーの分析に基づいて判定することができる。例えば、その中で高レベルの活動が行われる部分のゲームプレー（例えばあらかじめ定められたしきい値を積極的に超える）が検出されると、それはゲームスライスビデオの選択に提案される可能性がある。方法動作８１８では、ゲームスライス選択のための前記インターフェースは、提案されたゲームスライスビデオの選択をユーザに提供することができる。一実施形態において、提案されたゲームスライスビデオの選択のそれぞれを表わすスクリーンショットを、ユーザに提供することができる。方法動作８２０では、提案されたゲームスライスビデオの選択の一つの、ユーザによる選択が受け取られる。ユーザの選択に基づいて、そのゲームスライスコードを作成し、既に述べたように保存することができる。
【００９８】
図９Ａは、本発明の一実施形態に従って、多様なゲームタイトルと関連するゲームスライスをブラウズするためのインターフェースを示す。図示された実施形態において、インターフェースは、選択時、異なるゲームタイトルに対応する多様なページへのアクセスを提供するタブ９００、９０２、および９０４を含む一連のタブに編成される。図示された実施形態において、タブ９００が現在選択されており、したがって提示されているページは、特定のゲームタイトルＴ１のために作成されたゲームスライスについての情報を提供する。ゲームスライスリスティング９０４は、ゲームタイトルＴ１から作成された多様なゲームスライスを一覧表示する。一実施形態において、ゲームスライスリスティング９０４はゲームスライスを作成したユーザも識別する（例えば、ゲームスライスを作成したユーザのユーザ名を表示する）。一実施形態において、ゲームスライスリスティング９０４は、ゲームスライスリスティング９０４に一覧表示されるゲームスライスの内の異なるゲームスライスを強調表示するようにブラウズまたはナビゲートできる。図示された実施形態において、ユーザＡによって作成されたゲームスライスＡが現在強調表示されており、それによってゲームスライスＡに関連する詳細９０６が表示される。詳細９０６は、ゲームスライスに関連する多様な種類の情報、ゲームスライスが生成された係るレベルまたはステージ、ゲームスライスが作成された場所についてのより具体的な情報を提供するゲーム詳細、ゲームスライスを作成したユーザＡによるコメント、他者からのコメント数、ゲームスライスがプレーされた回数、またはゲームスライスのリスティングが強調表示されるときに提供できるゲームスライスについての任意の他のタイプの情報を含むことがある。
【００９９】
図９Ｂは、本発明の実施形態に係るゲームスライス情報ページを示す。ゲームスライス情報ページは、図９Ａに関して説明されたゲームスライスＡ用であり、ユーザが図９Ａに示されるようにゲームスライスＡのリスティングを選択するときに到達できる。続けて図９Ｂを参照すると、ゲームスライス情報ページは、ゲームスライスに関連する多様な種類の情報を提供する。ゲームスライスについての書誌情報（例えば、タイトル、ゲームスライスを作成したユーザのユーザ名、作成日等）に加えて、ゲームスライスのビデオ９１０が表示されてよい。一実施形態において、ビデオ９１０は、ゲームスライスを作成したオリジナルユーザの記録されたゲームプレービデオである。別の実施形態において、ビデオ９１０は、ゲームスライスで最高得点を達成したユーザまたは最近ゲームスライスをプレーしたユーザ等の他のユーザの記録されたゲームプレービデオであるだろう。一実施形態において、ビデオ９１０は、現在ゲームスライスをプレー中であるユーザのライブフィードであるだろう。他の実施形態において、ビデオの代わりにゲームスライスの代表的な画像が示されるだろう。
【０１００】
ゲームスライス情報ページは、ゲームスライスのゲームプレーを開始するための選択可能ボタン９１２をさらに含むことがある。また、ゲームスライス情報ページは、プレー回数、平均完了率等のゲームスライスについての多様な詳細および統計的な情報を取り上げることができる詳細部９１４を含むこともある。また、ゲームスライス情報ページは、ユーザによって残されたコメントを取り上げるコメント部９１６を含むこともある。ソートボタン９１８は、コメントを並べ替えるための多様なオプション（例えば、年代順、最も人気がある、格付けごと、カレントユーザに対する関係性（例えば、ソーシャルグラフのユーザの友人によるコメントに優先順位が付けられる）等）を選択するために提供できる。
【０１０１】
図１０は、本発明の一実施形態に従ってクラウドゲーミングソーシャルネットワークでの友人のライブビューを含むユーザのアカウント情報の図を示す。ライブラリ部１００２は、ユーザのライブラリの多様なゲームタイトルを表示する。これらは、ユーザが購入した、またはそれ以外の場合獲得したゲームタイトルであってよい。ゲームタイトルの表示は、タイトル情報に加えて代表的なグラフィックスの表示を含むことがある。ゲームが完全版のゲームタイトルであることもあるが、それぞれが完全版のゲームタイトルの一部であってよい、または完全版のゲームタイトルと比較するとなんらかの能力で制限されることがある限定版のミニ版である場合もあることが理解されるだろう。友人リスティング１００４は、クラウドゲーミングシステムに関連するソーシャルネットワークでのカレントユーザの友人（つまり、カレントユーザのソーシャルグラフの他のユーザ）を一覧表示する。ソーシャルネットワークは、クラウドゲーミングシステムにとって特定であるソーシャルネットワークであることもあれば、クラウドゲーミングシステムがユーザのソーシャルグラフについての情報を入手するために通信する相手である、クラウドゲーミングシステムとは別に存在する（サードパーティ）ソーシャルネットワークであってもよい。友人リスティング１００４は、各友人によって所有されるゲームを示し、友人のオンラインステータス（例えば、オンライン、オフライン、インアクティブ等）、友人の最後のログインおよびその持続時間、ユーザによってプレーされた最後のゲーム等を識別する等、ユーザの友人についての追加情報を含むことがある。
【０１０２】
一実施形態において、ライブアクティブユーザ部１００６が、現在オンラインであり、ビデオゲームをプレー中である場合がある友人のゲームプレーのライブビューを提供する。一実施形態において、各ユーザは、自分のライブゲームプレーを他のユーザによるライブ視聴に供するかどうかを設定するオプションを有する。係る実施形態において、ライブビューは、他のユーザが自分のライブゲームプレーを視聴可能にすることを許すように指定されたオプションを有するそれらのユーザだけから提示される。図示された実施形態において、ライブアクティブユーザ部１００６は友人Ｂのカレントゲームプレーのライブビュー１０１０だけではなく、友人Ａのカレントゲームプレーのライブビュー１００８も含む。一実施形態において、カレントユーザは、友人リスティング１００４の友人をナビゲートもしくはブラウズする、および／またはライブアクティブユーザセクション１００６で利用可能であるライブビューをブラウズすることができる。一実施形態において、ライブビューは、カレントユーザがそのライブビューにナビゲートするときに強調表示でき、他のライブビューとは異なるようにレンダリングし得る。例えば、ライブビューは、デフォルトで彩度を減じたカラースキームで表示されるが、強調表示時または選択時に完全に飽和したカラースキームで表示される可能性がある。また、ライブビューはより低い解像度、フレームレートまたはデフォルトによるサイズで表示されるが、選択時にはより高い解像度、フレームレートまたはサイズで表示される可能性もある。このようにして、ユーザが視聴することに関心があるライブビューを、同時にアクティブであることがある他のライブビューよりも高い忠実度で提示するために、ユーザの選択に基づいて特定のライブビューに帯域幅を割り当てることができる。ライブビューが単にビデオゲームの特定のゲームプレーではなく、メニューを通したナビゲーション等のクラウドゲーミングシステム上での友人の他の活動またはそのクラウドゲーミングセッションに関連する他のタイプの活動も表示し得ることが理解されるべきである。
【０１０３】
一実施形態において、ライブビューは、現在ビデオゲームのゲームプレーにアクティブに関与しているそれらのユーザだけが利用できる。言い換えると、所与のユーザのライブビューは、そのユーザがオフラインであるとき、またはオンラインであるがビデオゲームのゲームプレーにアクティブに関与していないときのどちらかでは利用できない。したがって、ユーザがクラウドゲーミングシステムでゲームプレー以外の他の活動を実行している（例えば、システムにログインしている間にクラウドゲーミングシステムのグラフィックインターフェースをナビゲートしている）とき、係る活動は、他者が視聴するライブフィードには供されない。別の実施形態において、ライブビューは、ゲームプレー以外の他の活動だけではなくユーザのゲームプレーも含む、クラウドゲーミングシステムにログインしているユーザの全活動を含むことがある。
【０１０４】
一実施形態において、所与のユーザのライブビューは、潜在的に機密に関わる情報または個人情報を他者による視聴にさらさないようにフィルタにかけることができる。例えば、クラウドゲーミングシステムがチャット機能をサポートすることがある。一部のユーザはチャットを誰もが参加できないままにしておきたいので、ライブビューを提示するときにチャットログを除外するオプションを提供できる。ゲームプレー以外の活動中だけではなくゲームプレー活動中にもチャット機能を実装することができ、これらの状況のどちらかまたは両方のライブビューからチャット機能をフィルタで除去し得ることが理解されるべきである。別の実施形態において、ビデオゲームの態様がライブビューからフィルタで除去される可能性がある。例えば、ユーザが特定のユーザ定義の設定値を、それらがゲームプレー中にそのユーザにアドバンテージを与えることがあるので秘密にしておきたいことがある。したがって、（例えば、ユーザがビデオゲームの設定値インターフェースにアクセスするときに）設定値に関連した活動に、ライブフィードの一部として表示されないというオプションを提供し得る。別の実施形態において、ライブビューは、個人情報の視聴を防ぐ（例えば、ユーザが個人情報ページにアクセスするとき、支払情報を入力するとき、パスワードを入力するとき等に視聴を防ぐ）ように構成できる。
【０１０５】
一実施形態において、インターフェースが一次ユーザに、現在オンラインである二次ユーザのゲーミングセッションに加わることを要求するオプションを提供する。例えば、一次ユーザが二次ユーザのライブゲームプレーフィードを視聴し、二次ユーザのゲームプレーに加わりたいことがある。一実施形態において、オプションが活性化されると、二次ユーザに、一次ユーザが彼らのセッションに加わりたい旨を二次ユーザに知らせる要求が送信される。二次ユーザが要求を受け入れる場合、次いでビデオゲームのマルチプレーヤモードが起動され、第１のユーザおよび第２のユーザによるマルチプレーヤゲームプレーを容易にする。別の実施形態において、２人または３人以上の二次ユーザがマルチプレーヤゲームプレーにすでに関与していることがある。係る実施形態において、一次ユーザはマルチプレーヤゲームプレーに加わる要求を送信できる。二次ユーザ（例えば、ゲームプレーセッションの指定されたホスト）の内の一人によって要求が受け入れられると、一次ユーザはビデオゲームのマルチプレーヤセッションに加わることができる。二次ユーザのライブゲームプレーフィードを示す上述のインターフェースが、二次ユーザのゲームプレーを見ることができるようになった後に二次ユーザのゲームプレーに加わる一次ユーザを促進することが理解されるべきである。
【０１０６】
一実施形態において、二次ユーザのゲームプレーに加わる要求を行うオプションは、一次ユーザによるビデオゲームの所有権ステータスの決定を前提としている。一次ユーザがビデオゲームを所有していない場合には、オプションが提示されないことがあるのに対して、一次ユーザが二次ユーザと同じビデオゲームを所有している場合には、二次ユーザのゲームプレーに加わる要求を行うオプションがインターフェースの一部として利用できる。一実施形態において、一次ユーザがビデオゲームの所有者ではないと決定されでも、一次ユーザは次いで、ゲームプレーの持続時間、利用可能なシーン／レベル／ステージ／等、カスタマイズオプション、能力、スキル、武器、キャラクタ、乗り物、または制限されることがあるビデオゲームの任意の他の態様等、能力は限られるが、マルチプレーヤモードで二次ユーザのゲームプレーに加わり得る。一実施形態において、ビデオゲームの限定版のゲームプレーに続いて、一次ユーザはビデオゲームを完全に購入するオプションを提供される。別の実施形態において、一次ユーザは、ビデオゲームの追加部分を購入するオプションを提供される。
【０１０７】
図１０を続けて参照すると、表示された情報はユーザの友人のゲーム履歴情報１０１２も含むことがある。ゲーム履歴情報１０１２は、最近プレーしたゲーム、ゲームプレーセッションの持続時間、ゲームプレーに関する統計等、所与の友人のゲームプレー履歴についての情報を提供できる。
【０１０８】
クラウドゲーミングインターフェースを提示するための多くの方法および構成が、本発明の多様な実施形態に従って可能であることが理解されるだろう。係る一実施形態において、一次ユーザのクラウドゲーミングインターフェースを提示する方法動作と、一次ユーザの友人である１人または複数の二次ユーザを決定する方法動作と、二次ユーザのそれぞれのカレントステータスを決定する方法動作であって、カレントステータスがオンラインまたはオフラインの内の１つである決定する方法動作と、少なくとも１人のオンライン二次ユーザに、一次ユーザのクラウドゲーミングインターフェースでのオンライン二次ユーザのカレントゲーミングセッションのライブフィードを提示する方法動作であって、ライブフィードが、一次ユーザがオンライン二次ユーザのカレントゲーミングセッションに加わるオプションを提供することを含む、提示する方法動作と、一次ユーザがオンライン二次ユーザのカレントゲーミングセッションに加わるオプションを活性化する要求を受け取ることに応えて、オンライン二次ユーザのカレントゲーミングセッションのマルチプレーヤモードを起動する方法動作であって、マルチプレーヤモードがオンライン二次ユーザのカレントゲーミングセッションで一次ユーザのゲームプレーを提供し、マルチプレーヤモードを起動することが、オンライン二次ユーザのカレントゲーミングセッションを定義する、ビデオゲームに関する一次ユーザの所有権ステータスを決定することを含み、一次ユーザがビデオゲームを所有すると決定されるとき、次いでマルチプレーヤモードがビデオゲームの完全版のゲームプレーを提供し、一次ユーザがビデオゲームを所有していないと決定されるとき、次いでマルチプレーヤモードがビデオゲームの限定版のゲームプレーを提供する、起動する方法動作を含む、クラウドゲーミングシステムのユーザのカレントゲーミングステータスを表示するための方法が提供される。
【０１０９】
一実施形態において、ビデオゲームの限定版は、ビデオゲームの完全版と比較して、利用可能なレベル、利用可能なシーン、利用可能な機能、制限時間、仮想空間、キャンペーン長、ライフの数、またはリプレーの回数の内の１つまたは複数での縮小を定める。
【０１１０】
一実施形態において、方法は、ビデオゲームが一次ユーザによって所有されていないときに、一次ユーザがビデオゲームの少なくとも一部を購入するオプションを提示する方法動作をさらに含む。
【０１１１】
一実施形態において、オンライン二次ユーザのライブフィードは第１の解像度で提示され、ライブフィードの選択が、第１の解像度よりも高い第２の解像度でのオンライン二次ユーザのライブフィードの提示をトリガする。
【０１１２】
一実施形態において、オンライン二次ユーザのライブフィードは彩度が減じられたカラーモードで提示され、ライブフィードの選択が、飽和カラーモードでのオンライン二次ユーザのライブフィードの提示をトリガする。
【０１１３】
一実施形態において、クラウドゲーミングインターフェースを提示することは、二次ユーザのそれぞれと関連するゲームタイトルのライブラリを提示することを含む。
【０１１４】
一実施形態において、１人または複数の二次ユーザを決定することは、一次ユーザと関連するソーシャルグラフにアクセスすることを含む。一実施形態において、ソーシャルグラフにアクセスすることは、ソーシャルネットワークのＡＰＩにアクセスすることを含む。
【０１１５】
一実施形態において、一次ユーザのクラウドゲーミングインターフェースを提示することは、優先順位で二次ユーザのそれぞれのリスティングを提示することを含み、優先順位は、カレントステータス、ログインの最新性、または一次ユーザとのゲームの共同所有の内の１つまたは複数に基づく。
【０１１６】
図１１は、本発明の一実施形態に従ってカレントユーザの友人のライブゲームプレーフィードを提示する方法を示す。方法動作１１００で、カレントユーザがクラウドゲーミングシステムにログオンする。方法動作１１０２で、カレントユーザの友人がカレントユーザのソーシャルグラフから識別される。上述されたように、カレントユーザのソーシャルグラフは、クラウドゲーミングシステムに特定であるソーシャルネットワークから、またはおそらくクラウドゲーミングシステムとは別に存在するソーシャルネットワークからである場合がある。方法動作１１０４で、ユーザの友人のライブラリ情報が取り出される。ユーザの友人のライブラリ情報は、ユーザの友人ライブラリのゲームタイトルを識別できる。方法動作１１０６で、カレントユーザの友人のカレントステータスが識別される。所与の友人のカレントステータスがオンラインである場合、次いで方法動作１１０８で、所与の友人が現在クラウドベースシステムでビデオゲームのゲームプレーに関与しているかどうかが決定される。関与している場合、次いで方法動作１１１２で、そのユーザのためのライブゲームプレーフィードが入手される。方法動作１１１０で、カレントユーザの友人は多様な要因または好みに基づいて表示のために優先順位を付けられる。方法動作１１１４で、カレントユーザの友人および彼らのステータス情報およびライフゲームプレーフィードが優先順位で提示される。一実施形態において、オンラインであるカレントユーザの友人は、現在オフラインである友人よりも優先される。一実施形態において、現在アクティブゲームプレーに関与している、カレントユーザの友人は、現在アクティブゲームプレーに関与していない友人よりも優先される。一実施形態において、利用可能なライブゲームプレーフィードを有する友人は他の友人よりも優先されてよい。一実施形態において、友人は、友人がクラウドゲーミングシステムにログインした最新性に基づいて優先順位を付けられてよい。別の実施形態において、友人は、ビデオゲームの共同所有に基づいて優先順位を付けられてよい。友人の優先順位付けの上記例は、制限としてではなく、単に例として提供される。他の実施形態において、カレントユーザの友人を、他の関連する要因に基づいた優先度に従って優先順位を付け、提示することができることが当業者によって理解されるだろう。
【０１１７】
図１２は、本発明の実施形態に係るクラウドゲーミングシステムおよびソーシャルネットワークを含むシステムを示す。クラウドゲーミングシステム１２００は、クラウドベースのあなたのゲームへのアクセスを提供する。クラウドゲーミングシステムは、ユーザによってプレーされてよい多様なゲームタイトルを含むゲームライブラリ１２０２を含む。ユーザデータ１２０４は、ユーザが所有するゲームタイトル、ユーザの任意の保存されたゲームプレー等の、ユーザアカウントと関連する多様な種類のデータを含む。図示された実施形態において、セッションＡ、セッションＢ、およびセッションＣを含む多様なゲームプレーセッションが概念的に示されている。セッションＡは、ディスプレイ１２０８でセッションＡのゲームプレーを視聴するユーザＡのゲームプレーを定義する。セッションＡのゲームプレーは、ユーザＡのディスプレイ１２０８にビュー１２１０としてレンダリングされる。同様に、セッションＢは、ビュー１２１４としてユーザＢの装置１２１２でレンダリングされる、ユーザＢのゲームプレーを定義する。図示された実施形態において、ユーザＢのセッションのビュー１２１４は、セッションＡのライブビューおよびセッションＣのライブビューを含む、他のユーザからのライブビューを含むインターフェースを示す。セッションＡおよびセッションＣからのゲームプレーが進行するにつれ、ユーザＢのビュー１２１４で表示されるように、ゲームプレービデオはセッションＡおよびＣから出力され、ユーザＢのセッションを介してストリーム化できる。ゲームプレービデオは、例えば帯域幅を保存するために解像度、サイズ、フレームレート、色飽和度等を引き下げる等、ユーザＢのセッションを介したストリーム化のために処理されてよい。
【０１１８】
図１２を続けて参照すると、ソーシャルネットワーク１２１６も示されている。ソーシャルネットワーク１２１６は、ユーザのソーシャルグラフ、職、写真、ビデオ、略歴等のデータを含むユーザデータ１２１８を含む。アプリ１２２０はソーシャルネットワークプラットホーム上で実行できる。グラフィックユーザインターフェース（ＧＵＩ）１２２２は、ソーシャルネットワークと対話するためのインターフェースを設定する。ＡＰＩ１２２４はソーシャルネットワークへのアクセスを容易にする。通知モジュール１２２６は、ソーシャルネットワークユーザの好みに従ってソーシャルネットワークユーザの通知を処理する。上述されたように、ユーザＢのビュー１２１４は、他のユーザのセッションからのライブフィードを含む。一実施形態において、ユーザＢの友人は、ユーザＢのソーシャルグラフのメンバを決定するためにソーシャルネットワーク１２１６のＡＰＩ１２２４へのアクセスに基づいて決定された。これらのメンバは、セッションＡおよびセッションＣからのフィードを含むユーザＢの友人からのライブゲームプレーフィードを提供するために、クラウドゲーミングシステムのユーザに対して相互参照された。
【０１１９】
一実施形態において、ユーザＡは、自分のゲームプレーセッションＡから自分のソーシャルグラフに共有することを選ぶ。ユーザＡのセッションＡは、ＡＰＩ１２２４を介して通信して、ソーシャルネットワーク１２１６の通知モジュール１２２６を起動して、ユーザＡのソーシャルグラフの友人に適切な通知を送る。ユーザＡのソーシャルグラフにいるソーシャルネットワークユーザ１２３０が装置１２２８を介してソーシャルネットワークにアクセスするとき、彼らはユーザＡのセッションについてユーザＡからのメッセージまたは投稿を見ることがある。セットアップされている場合、ユーザは、ユーザＡがソーシャルネットワーク上で何かを共有していることを示す電子メール等の通知を受け取る可能性がある。ユーザＡが、ビデオゲームでの成果、ビデオゲームをプレーする招待状、ビデオゲームについてのコメント、ユーザＡが作成したゲームスライスを視聴またはプレーする招待状、ユーザＡのゲームプレーのビデオクリップ等の多様なビデオゲーム関連活動について共有してよいことが理解されるべきである。
【０１２０】
図１３は、本発明の実施形態に従って経時的に多様なゲーム状態変数を示すグラフである。種々の実施形態において、特定のビデオゲームにとって固有となる多くの異なる種類のゲーム状態変数がある場合があることが理解されるべきである。図示された実施形態に関して示され、説明されているゲーム状態変数は、制限としてではなく、単に例として提供されている。ゲーム状態変数は、ユーザ入力によって設定される値だけではなく、ビデオゲームを実行することによって設定される値を含むこともある。図示された実施形態において、キャラクタまたは乗り物等のビデオゲームの仮想空間でのオブジェクトのＸ位置、Ｙ位置およびＺ位置を示す、図示される位置変数がある。カメラアングル変数は、ビデオゲームでの仮想カメラまたは仮想ビューの方向を示す。一実施形態において、カメラアングルは、アジマス基準に関して（例えば、水平面に沿って）測定されるアジマス成分、および（例えば垂直面に対する）傾斜基準に関して測定される傾斜成分によって定められる。示されているアクションＡ変数およびアクションＢ変数等のアクション変数は、ビデオゲーム内での多様なアクションの開始およびサステインを示す。所与のビデオゲームのアクションが、そのビデオゲームのコンテキストに特定となることが理解されるべきである。例として、アクションは、特定の戦略の開始、スキルの適用、強度または頻度等のそのレベルを上げること等の既存のアクションまたはビデオゲームの流れの中でユーザ入力によってトリガできる他のタイプのアクションもしくは活動を修正する修正機構のトリガを含むだろう。図１３を続けて参照すると、武器変数は、ビデオゲームにおける武器のトリガを示す。ヘルス変数は、例えばビデオゲームでのユーザのキャラクタの健康（ヘルス）のレベルを示す。ボタン変数は、例えばボタンが押下状態にあるのか、それとも解放ステートメントにあるのか等、コントローラ装置のボタンの状態を示す。図示された実施形態のジョイスティック状態変数は、中立位置に対するジョイスティックの移動の規模を示す。図示された実施形態に関して説明された上述のゲーム状態変数は単に例示的であり、多くの他のタイプのゲーム状態変数が経時的に追跡調査できることが当業者によって認識されるだろう。
【０１２１】
再び図６の実施形態を参照して、一実施形態において、ゲーム状態アナライザ６１４がユーザの記録されているゲームプレーのゲーム状態変数を分析するように構成できる。ユーザの記録されているゲームプレーの分析に基づいて、ユーザの記録されているゲームプレーの多様な関心領域が定義され、ゲームスライス生成元の考えられる選択としてユーザに提示できる。例えば、特定のゲーム状態変数の活動の高いレベルによって特徴付けられるゲームプレーの領域が、ユーザの記録されているゲームプレーの選択を定義する可能性がある。所与のゲーム状態変数の活動レベルが、強度のレベル、活性化の頻度、サステインの持続時間等の多様な要因に基づくことがあることが理解されるべきである。いくつかの実施形態において、ゲーム状態変数の分析はゲームプレーの領域の検索を伴うことがあり、例えば２つまたは３つ以上の変数が同時に高い活動レベルを有する等、２つまたは３つ以上の異なるゲーム状態変数の活動レベルが所定の方法で相互に関連付けられる。高い活動レベルは、所定の閾値に基づいて決定できる。
【０１２２】
種々の実施形態において、ユーザの記録されているゲームプレーの関心領域は、以下、つまり１つまたは複数のユーザ入力、ユーザ入力の速度、入力の頻度、入力のタイプの繰り返し、入力パターンの発生、組合せ入力（例えばコンボキー）、運動ベクトル、コントローラにかけられる圧力、ユーザの興奮（例えば、ユーザの取り込まれた画像または音声データに基づいて検出される）の内の任意の１つまたは複数の閾値検出に基づいて自動的に決定されてよい。
【０１２３】
図１４Ａは、本発明の実施形態に従ってリニアタイプのビデオゲームのゲームスライスを生成するための方法を示す。大まかに言うと、リニアビデオゲームは、プレーヤが直線コースに従ってビデオゲームを進むビデオゲームであり、ビデオゲームを進むために、プレーヤは後の目的に進むより先に前の目的を完了しなければならない。したがって、すべてのプレーヤはビデオゲームを進むために同じ順序で同じ目的を完了しなければならない。リニアビデオゲームでの目的は、ビデオゲームの時空に関するストーリー展開のコンテキストの中で時間的な場所だけではなく地理的な位置にも結び付けられてよい。方法動作１４００で、ビデオゲームのシーンが識別される。シーンは本来空間的と時間的の両方であり、その中で定義される多様な目的を有することがある。方法動作１４０２で、シーンの空間的な長さおよび時間的な長さが定義される。シーンの長さは、ユーザ入力に従って定義することができ、シーンに結び付けられた目的に基づいて定義されてもよい。方法動作１４０４で、特性を割り当てることができるシーン内のアイテム、キャラクタ、または任意の他のオブジェクトの初期設定が定められる。方法動作１４０６で、以前に定義された初期特性を有するシーンの識別された長さに対してゲームスライスが生成される。
【０１２４】
図１４Ｂは、本発明の実施形態に従ってオープンワールドタイプのビデオゲームのゲームスライスを生成するための方法を示す。オープンワールドビデオゲームは、ユーザが独自の選択順序で任意の数の目的を自由に追求してよいビデオゲームとして特徴付けることができる。また、オープンワールドタイプのビデオゲームは、通常、ユーザが１つまたは複数の仮想空間を意のままにナビゲートすることも許す。異なるレベルのビデオゲームまたは完全なビデオゲームに進むためには、目的の特定のセットの完了が必要とされることがあるが、ユーザは自由に異なる順序付けでこれらの目的を完了してよい。方法動作１４１０で、ビデオゲームの仮想世界の内の場所が識別される。方法動作１４１２で、仮想世界の限られた部分が定義される。仮想世界の限られた部分は、本明細書に説明されるように、記録されているゲームプレーの選択を定義するユーザ入力に基づいて定義できる。例えば、オープンワールドビデオゲームでのユーザのゲームプレーはゲームプレーの過程で多種多様の場所に及ぶことがある。ただし、ゲームスライスを生成するために、ユーザは、ビデオゲームの仮想世界の限られた地理的な領域内で発生するゲームプレーの部分を選択してよい。この限られた地理的な領域は、例えば仮想世界内でユーザによって制御されるキャラクタの場所を追跡調査し、そのキャラクタが存在することが判明したすべての場所を含む境界を画定する等、ユーザの記録されているゲームプレーのユーザによって選択された部分の分析に基づいて決定できる。方法動作１４１４で、ユーザの記録されているゲームプレーの選択から以前に決定された限られた地理的領域内で発見される多様なオブジェクト、キャラクタ、アイテム、乗り物、または任意の他のオブジェクトの初期特性が定められる。方法動作１４１６で、ゲームスライスは、オープンワールドの限られた地理的な領域および以前に定義された特性に基づいて生成される。
【０１２５】
図１４Ｃは、本発明の実施形態に従ってスポーツビデオゲームのゲームスライスを生成するための方法を示す。ゲームスライスは、ユーザの記録されているゲームプレーのユーザ定義の選択に基づいて生成できる。方法動作１４２０で、ユーザの記録されているゲームプレーの選択に基づいて設定値が識別される。例として、設定値は、コート、スタジアム、トラック、またはビデオゲームのスポーツイベントが発生することがある任意の他の場所設定の場所を定義できる。方法動作１４２２で、ユーザの記録されているゲームプレーの選択に基づいて期間が定義される。期間は、ゲームスライスが生成される時間的な部分を定め、記録されているゲームプレーのユーザの選択に基づいて定めることができる。スポーツビデオゲームの期間は、特別な規則またはスポーツの間の特定の期間に発生する活動の包含等、ビデオゲームスライスの特定の態様を決定してよい。方法動作１４２４で、ゲームスライスのプレーヤは、ユーザの記録されているゲームプレー選択に含まれるプレーヤに基づいて決定される。プレーヤは、ゲームプレー時に、実行するビデオゲームの人工知能（ＡＩ）キャラクタ制御論理によって制御されたＡＩキャラクタだけではなく、ユーザによって定義された１つまたは複数のキャラクタも含むことがある。本明細書の他の箇所に説明されたように、ＡＩキャラクタのアクションはいくつかの例では近似する可能性がある。他方、いくつかの実施形態においては、ＡＩキャラクタ制御論理は、ユーザの記録されているゲームプレー選択で定義されたようなパラメータでゲームスライスのために定義される。方法動作１４２６で、スポーツビデオゲームスライスの場所設定のためのシーン属性が定義される。例えば、これらは、天気、トラックまたはコースの状況等の属性、およびスポーツ設定の他の属性を含むことがある。方法動作１４２８で、ビデオゲームのゲームスライスが、上述のパラメータに基づいて生成される。
【０１２６】
図１５は、本発明の実施形態に係るマルチゲームスライスゲームの形成を概念的に示す。ビデオゲームは多様なレベルまたはステージに編成できる。図示された実施形態において、ビデオゲームの多様なレベルからのユーザのゲームプレーが示される。具体的には、ゲームプレー時系列１５０２およびゲームプレー時系列１５０６が、それぞれビデオゲームの第２のレベルおよび第３のレベルからのユーザのゲームプレーを表すのに対し、ゲームプレー時系列１５００は、ビデオゲームの第１のレベルからのユーザのゲームプレーを表す。本発明の実施形態に従って、ユーザはビデオゲームからの複数のゲームスライスを連結させて、より大きなマルチゲームスライスミニゲームを形成できる。図示された実施形態において、ユーザのゲームプレー時系列１５００からの選択１５０２が、第１のゲームスライス１５１４を定義するために活用される。２というユーザのゲームプレー時系列１５からの選択１５０４が、第２のゲームスライス１８１８を定義するために活用される。そしてユーザのゲームプレー時系列１５０６からの選択１５０８が、第３のチームスライス１５２２を定義するために活用される。第１のゲームスライス、第２のゲームスライス、および第３のゲームスライスは連続準に配列されて、ミニゲーム１５１０を定義する。こうする際に、ミニゲーム１５１０は、ビデオゲームの第１のレベル、第２のレベル、および第３のレベルのそれぞれからのゲームスライスを含む。このようにして、ミニゲーム１５１０をプレーするユーザは、ミニゲーム１５１０を通してプレーすることによってビデオゲームの複数のレベルの限られた部分を経験できる。これは、ユーザがビデオゲームの１つのレベルまたは１つのステージから１つの部分だけしかプレーできない従来のゲームデモよりも、ビデオゲームのより説得力のあるプレビューまたはデモを提供する上で役立つ場合がある。経験は、通常、単に単一のクリップだけではなく同じ映画の異なる部分からのクリップを提供する映画プレビューの経験に類似している。本発明の実施形態に従って、ユーザは、完全なビデオゲームの範囲のより優れた意味を提供し、ある部分から次の部分へ連続してゲームプレーを取り上げることのできる複数部分のゲームデモを楽しむことができる。
【０１２７】
一実施形態において、ユーザはゲームスライスの前または後にユーザ定義のビデオ、メッセージ、画像、または他のタイプの情報等の追加のデータを差し込むことができる。図示された実施形態において、ミニゲーム１５１０にプレーヤを紹介し、おそらくプレーヤを第１のゲームスライス１５１４にも紹介するためのイントロ１５１２が提供される。さらに、メッセージ１５１６が、第１のゲームスライス１５１４と第２のゲームスライス１５１８との間に挿入される。一方、別のメッセージ１５２０が、第２のゲームスライス１５１８と第３のゲームスライス１５２２との間に挿入される。一実施形態において、挿入されるデータは、ゲームスライスの生成元のオリジナルユーザのゲームプレーの記録されているゲームプレービデオを含むことがある。記録されているゲームプレーがゲームスライスをプレーする前に示される場合、ゲームスライスを開始するプレーヤはゲームプレーを始める前にゲームスライスおよびその目的をよりよく理解できるのに対し、ゲームスライスのゲームプレーの後に示され、プレーヤは、ゲームスライスのゲームプレーがオリジナルユーザのゲームプレーにどれほど比較されるかを理解できる。
【０１２８】
図１６は、本発明の実施形態に係るマルチゲームスライスミニゲームの生成を概念的に示す。図示された実施形態において、ゲームＡのユーザの記録されるゲームプレー時系列１６００が、ゲームＢのユーザの記録されるゲームプレー時系列１６０４およびゲームＣのユーザの記録されるゲームプレー時系列１６０８と共に示される。一実施形態において、ユーザは、異なるビデオゲームからのゲームスライスに基づいてマルチゲームスライスミニゲームを生成できる。図示された実施形態において、ユーザの記録されているゲームプレー１６０４からの選択１６０６がゲームスライス１６２０を定義するために活用され、ユーザの記録されているゲームプレー１６０８からの選択１６１０がゲームスライス１６２４を定義するために活用されるのに対し、ユーザの記録されているゲームプレー１６００の選択１６０２はゲームスライス１６１６を定義するために活用される。ゲームスライス１６１６、１６２０、および１６２４は、ミニゲーム１６１２を定義するために連続して配列される。任意選択で、ゲームスライスの前または後に追加のデータを挿入できる。図示された実施形態において、インタルード１６１８がゲームスライス１６１６とゲームスライス１６２０との間で定義され、別のインタルード１６２２がゲームスライス１６２０とゲームスライス１６２４との間で定義されるのに対し、イントロ１６１４はゲームスライス１６１６の前に挿入される。
【０１２９】
図示された実施形態において、ゲームスライスが異なるビデオゲームから採取されることが理解されるだろう。これは、ユーザに、異なるゲームタイトル、ジャンル、およびコンソールプラットホーム世代全体からのゲームスライスも混合する大きな柔軟性を与える。単に例として、ユーザは単独のビデオゲームシリーズのいくつかのゲームタイトルのそれぞれからのゲームスライスを有するミニゲームを作成する可能性がある。このようにして、ミニゲームのプレーヤは、連続ゲームプレー経験でビデオゲームシリーズの進化を経験し、理解することができる。
【０１３０】
本発明の実施形態は、クラウドベースゲーミングシステムに関して概して説明されてきた。しかしながら、本明細書に説明されたのと類似した概念および原理が、おそらくクラウドベースゲーミングシステムと連動して従来のコンソールベースのビデオシステムに適用できることが当業者によって理解されるべきである。例えば、ユーザはコンソールベースのビデオゲームをプレーし、ゲームプレー中に記録されるユーザのゲームプレー入力データおよびゲーム滞留メタデータを有することができる。ユーザのゲームプレー入力データおよびゲーム状態メタデータに基づいて、ビデオゲームの実際のゲームプレー出力を後に再生できる。したがって、記録されている入力データおよびゲーム状態メタデータは、説明されたように、ミニゲームの生成元のユーザのゲームプレーの部分の選択のためのインターフェースを提供するためにビデオゲームコードと併せて活用できる。ミニゲームコードはコンソールで生成し、クラウドシステムにアップロードし、他のユーザによるダウンロードに供することができる。別の実施形態において、ミニゲームコードは、ユーザゲームプレー入力データおよびゲーム状態メタデータの選択された部分を受け取った後にクラウドシステムによって生成される。クラウドシステムは、ユーザゲームプレー入力データおよびゲーム状態メタデータの選択された部分を処理して、クラウドシステムに記憶されるビデオゲームコードに基づいてミニゲームコードを生成する。ミニゲームは、いったん生成されると、ミニゲームの実行がクラウドベースシステムで起こるが、ミニゲームのコンソールベースのゲームプレーを促進するためにコンソール上での実行のために従来のコンソールベースのシステムへのダウンロードに供することもできるクラウドベースゲーミングに供することができる。このようにして、コンソールベースのビデオゲーミングシステムのユーザとクラウドベースのビデオゲーミングシステムのユーザの両方がミニゲームを作成し、プレーすることができる。
【０１３１】
本発明の実施形態は概して、ミニゲームまたはビデオゲームのプレー可能なユーザ定義部分に関して説明されてきた。しかしながら、本明細書で説明された原理の多くが、記録されているゲームプレー、スクリーンショット、およびアクティブゲームプレーのライブストリーミングを共有することを含む、記録されているゲームプレーの生成および共有にも容易に適用することが当業者によって理解されるだろう。いくつかの実施形態において、（例えば通知を受け取ったことに応えて）ミニゲームにアクセスを提供することは、ミニゲームの基礎となったオリジナルユーザのゲームプレーの記録されているビデオを提示することを含むことがある。さらに別の実施形態において、方法、システム、およびインターフェースが、ユーザのソーシャルグラフに対するユーザのゲームプレーの共有を促進するために意図される。
【０１３２】
一実施形態において、ゲームプレーを記憶するための方法が意図される。ゲームプレーは、所望されるゲームプレーと関連するデータのセットに関して標準的なファイル動作の形で提供されることがある、ユーザの要求に応えてゲームコンソールのオペレーティングシステムによって実行できる。要求は、ゲームに関連するアプリケーションから送信できる。ゲームプレーは、壁紙、テーマ、コード「アドオン」コンテンツ、または任意の他のタイプのゲームに関連するコンテンツを含む、例えばビデオコンテンツ、音声コンテンツ、および／または静止ビジュアルコンテンツを含むことがある。無料なのかそれとも有料なのか、完全なのかそれともトライアルなのか、および／または販売用なのかそれともレンタル用なのかに関わりなく、係るコンテンツをユーザまたは開発者が生成できることが意図される。
【０１３３】
ゲームプレーの部分はバッファに入れる、つまり一時的に記憶することができる。本明細書にさらに説明されるように、ゲームプレー内の以前のアクションについて、例えば、以前の１５秒、以前に完了したレベルを一時的に記憶できる。本明細書に使用される「部分」は、データの単一ビットもしくは単一バイト、または複数のビットもしくは複数のバイトの任意の関連付けられたグループもしくは任意のグループに分割できるゲームプレーの任意の部分に相当することがある。例えば、ゲームプレーの「部分」は、レベル、章、シーン、行為、キャラクタ、背景、テクスチャ、コース、アクション、歌、テーマ、持続時間、サイズ、ファイル、その部分、およびその組合せに相当してよい。さらに、ゲームプレーの部分は、ビデオゲームのスクリーンショットまたは所定の持続時間を含むことがある。
【０１３４】
一実施形態において、ゲームプレーの部分は、一次記憶装置または永久記憶装置のどちらかのゲームコンソールに局所的に記憶できる。代わりにまたはさらに、ゲームプレーの部分は、遠隔で記憶されるネットワーク上で送信できる。例えば、ゲームプレーの部分は、無線ネットワークまたは有線ネットワーク上で別の計算装置に、別のゲームコンソールに、またはリモートサーバに送信できる。係るリモートサーバはソーシャルメディアサーバを含んでよい。
【０１３５】
任意選択で、バッファから取り出されないゲームプレーの部分、または特定のゲーミング間隔（例えば、特定の持続時間、レベル、章、コース等）の外部のゲームプレーの部分はバッファから削除できる。この削除プロセスは、オペレーティングシステムでの標準的なファイル動作を使用して完了できる。
【０１３６】
ゲームプレーの部分は、記憶されているゲームプレーにアクセスできる多くのディスプレイ装置の内のどれかで表示できる。例えば、記憶されているゲームプレーは、ゲームプレーが取り込まれたゲームコンソールに接続されたテレビ受像機で表示できる。別の例では、記憶されているゲームプレーは、記憶されているゲームプレーが送信されたコンピュータで表示できる。記憶されているゲームプレーは、単独で、またはソーシャルメディアウェブサイト上等他の情報と併せて表示できる。
【０１３７】
一実施形態において、ゲームプレーの部分は、ゲームプレーをバッファに入れた、または取り込んだユーザ以外のユーザと関連する別のゲームコンソールによって表示される。本実施形態に従って、ゲームプレーの部分は、第１のユーザから第２のユーザへ投げられているボールを、第１のユーザの視点から示してよい。ゲームプレーの部分は、次いで第２のユーザのゲームコンソールに送信できる。したがって、第２のユーザは第１のユーザの視点からゲームプレーを視聴できる。また、第２のユーザは、第１のユーザによって投げられ、第２のユーザを捕えたボールを第２のユーザの視点から示す、記憶されているゲームプレーの部分を有することもある。本実施形態において、第２のユーザは、第１のユーザの視点と第２のユーザの視点の両方からゲームプレーを見直すことができる。さらに、第２のユーザによって記憶されるゲームプレーの部分は第１のユーザのゲームコンソールに送信することができ、したがって第１のユーザは２つの視点からゲームプレーを見直し得る。本実施形態は任意の数の視点を有する任意の数のユーザに適用可能であり、したがってゲームプレーは任意の数の異なる観点から見直すことができる。
【０１３８】
本明細書に説明されるようなゲームプレーの記憶、送信および／または表示に関して、ゲームプレーの部分は画像データまたはビデオデータとして記憶、送信および表示できることが意図される。ただし、別の実施形態において、ゲームプレーの部分は画像データまたはビデオデータを表すテレメトリまたはメタデータとして記憶し、送信することができ、表示する前にゲームコンソールまたは他の装置によって画像またはビデオとして作成し直すことができる。
【０１３９】
いくつかの実施形態において、ゲームプレーの部分は、実行されたゲームプレーと所定の関係を有する。例えば、ゲームプレーの部分は、ゲームプレーの前の１０秒等、現在実行中のゲームプレーの前の特定の量のゲームプレーに相当することがある。別の実施形態において、ゲームプレーの第１の部分はゲームプレーの第２の部分と所定の関係性を有する。例えば、ゲームプレーの第１の部分は、取込みボタンの選択の前のゲームプレーの１０秒等の、ゲームプレーの第２の部分の取込み要求を受け取る前の特定の量のゲームプレーに相当することがある。これらの実施形態のそれぞれにおいて、ユーザは自分の特定の好みに従って現在のゲームプレーの前にバッファに入れられたゲームプレーまたは要求されたゲームプレーの量を構成し、調整できる。
【０１４０】
他の実施形態において、バッファは「スマート」または「エラスティック」であり、したがってバッファは時間に関係なく変数に従ってゲームプレーを取り込む。係る一実施形態において、ゲームプレーの第１の部分はゲームプレーに関連するイベントと所定の関係性を有する。例えば、ゲームプレーの第１の部分は、高得点の到達、短時間での多数のポイントの収集、コントローラでのボタンの複数の選択、および他の珍しいイベント等の統計に現れた変則性を含むようにバッファに入れられてよい。係る統計に現れた変則性は、ある特定のゲームもしくはシーンについて、または一般的にすべてのゲームについてゲームプレー測定基準を平均的な測定基準に比較することによって決定できる。係る平均的な測定基準は、比較のために局所でまたは遠隔で記憶できる。例えば、ゲームコンソールはある特定のゲームについてグローバルな高得点を追跡調査し、ユーザがその高得点に近づき、超えるゲームプレーをバッファに入れることができる。別の例では、リモートサーバがある特定のゲームのグローバルな高得点を追跡調査することができ、ユーザがその高得点に近づき、超えるゲームプレーをバッファに入れるゲームコンソールにその情報を通信できる。
【０１４１】
別の例では、ゲームプレーの部分は、トロフィの獲得または他のランドマーク到達等の成果を含むようにバッファに入れることができる。係るトロフィまたはランドマークは、特定数の達成ポイント、特定の到達レベル等の任意のゴールまたはゲーミング成果を記念した。例えば、ゲームプレーは、レベル１０到達のため、１００，０００ポイント到達のため等のトロフィの授与を含むようにバッファに入れることができる。
【０１４２】
同様に、トロフィの実際の達成または統計に現れた変則性に加えてイベントの到達に向けた進行は、ゲームプレーの部分に含まれるようにバッファに入れることができる。例えば、スクリーンショットをレベル１から１０のそれぞれで撮り、レベル１０到達のトロフィの受取りを記念するためにフォトアルバムを作成できる。別の例、第１回から第５回までレースに勝利したユーザのビデオを撮影でき、トロフィは５回の勝利に授与される。
【０１４３】
このようにして、本発明の実施形態に従って、実行されたゲームの少なくとも一部はつねに実行中のバッファに保存できる。言い換えると、ゲームプレーの部分を共有する要求が受け取られるとき、以前のビデオを含むように前のゲームプレーの部分をすでに取り込むことができる。例えば、ユーザがレーシングゲームでゴールした後にゲームプレーの共有要求が受け取られる場合、バッファに入れられたゲームプレーはゴールしたユーザのビデオも含むことがある。言い換えると、ユーザは、ゲームプレー共有要求が行われる前に発生する瞬間を取り込むことができるだろう。
【０１４４】
図１７は、本発明の実施形態に従ってゲームプレーを共有するためのインターフェースを示す。図示されるように、インターフェース１７は、例えばユーザのソーシャルグラフのメンバ等のユーザの友人への共有を促進するために多様な選択可能なアイコンを含む。一実施形態において、インターフェース１７００はコントローラ装置の専用ボタンからアクセスできる。ゲームプレー中にボタンが押されるとき、ユーザが彼らのゲームプレーを共有できるようにするためにインターフェース１７００を提示できる。
【０１４５】
アイコン１７０２は、ユーザのゲームプレーからスクリーンショットのアップロードを開始するために選択できる。一実施形態において、アイコン１７０２の領域１７０４には、ユーザの最近のゲームプレーからの代表的なスクリーンショットが読み込まれ、それによって共有し得るスクリーンショットの小規模のプレビューを提供する。一実施形態において、アイコン１７０２の選択によって、ユーザがユーザのソーシャルグラフへの共有のためにユーザの記録されているゲームプレーから特定のスクリーンショットを選択するのを許す追加のスクリーンショット選択インターフェースへのアクセスが提供される。これは、ゲームプレーおよびその対応するスクリーンショット内の特定の時点を識別するために行き来するまたはナビゲートできる、ナビゲート可能なゲームプレー時系列の形をとることがある。
【０１４６】
アイコン１７０６は、ユーザのゲームプレーのビデオのアップロードを開始するために選択できる。アイコン１７０６の領域１７０８は、例えばユーザのゲームプレーの最後の５秒、最近の成果等のユーザの最近のゲームプレーからの代表的なビデオクリップを表示し、それによって他者と共有できるユーザのゲームプレーからのビデオクリップの小規模のプレビューを表示するように構成できる。
【０１４７】
アイコン１７１０は、ユーザのアクティブゲームプレーのライブビデオストリーミングを開始するために選択できる。一実施形態において、アイコン１７１０を選択すると、ユーザのゲームプレーのライブビデオストリーミングが開始される一方で、ユーザのゲームプレーの再開がトリガされる。別の実施形態において、アイコン１７１０を選択すると、ストリーミングビデオを誰と共有するのか、ゲームプレー中にユーザ自身を示すことを目的としたローカル画像取込み装置からビデオストリームを含むかどうか、コメントを有効にするかどうか等のストリーミングビデオ放送のための設定値を決定するためにインターフェースへのアクセスが提供される。
【０１４８】
ユーザがゲームプレー（例えば、選択されたスクリーンショット、ビデオ、またはライブゲームプレーストリーム）を１人または複数の特に選択された友人に、彼らのソーシャルグラフ全体に、またはソーシャルネットワークの任意の友人に共有し得ることが理解されるだろう。ソーシャルネットワークは、ビデオゲームが実行されるプラットフォームと関連するゲーミングソーシャルネットワーク、またはビデオゲームもしくはそのプラットフォームとは別に存在するサードパーティのソーシャルネットワークであることがある。ソーシャルネットワークは、ソーシャルネットワークとの接続を許すように設定されたＡＰＩを通してアクセスできる。ゲームプレーが共有されたユーザは、彼らに共有ゲームプレーを知らせる通知を受け取ってよい。係る通知は、ソーシャルニュースフィードへの投稿、ソーシャルネットワークを通じたプライベートメッセージ、ゲーム内通知、ｅ−メール、チャット通知等の形をとってよい。ソーシャルネットワークにゲームプレーを共有することは、共有するユーザのソーシャルグラフの一部である場合もあれば、ない場合もあるソーシャルネットワークのユーザの他のサブセットにゲームプレーを利用可能にすることを伴うことがある。例えば、所与のビデオゲームの場合、ゲームプレーは共有される、またはやはりそのビデオゲームを所有し、したがってビデオゲームの共有ゲームプレーへのアクセスが付与されるソーシャルネットワークの任意のユーザが利用できるようになることがある。係る共有ゲームプレーは、オンラインフォーラム、チャットルーム、またはビデオゲームのプレーヤだけが利用できる他のオンラインチャネルを通してアクセスされてよい。一実施形態において、ビデオゲームは、ソーシャルネットワーク上に専用ページまたはサイトを有することがある。共有ゲームプレーは、ビデオゲームのページまたはサイトにアクセスするユーザが利用できる。言うまでもなく、共有するユーザの観点から、ユーザが自分のゲームプレーが誰と、およびどのフォーラムと共有するのかを指定し、調整することを許すためにオプションを提供できることが理解されるだろう。
【０１４９】
図１８は、本発明の実施形態に従って共有のために記録されているゲームプレーの部分を選択するためのインターフェース１８００を示す。インターフェース１８００は、ユーザのゲームプレーからビデオの現在選択されている部分のプレビューをループ化するプレビュー領域１８０２を含む。スクリーンショット１８０４、１８０６、１８０８、１８１０、および１８１２は年代順に互いに隣接して配置されて、ゲームプレービデオのコンテンツを示すスクリーンショットの時系列を定義する。多様なスクリーンショット１８０４、１８０６、１８０８、１８１０、および１８１２は、ゲームプレービデオから規則正しい間隔で抽出される画像フレームである場合がある。スクリーンショット時系列は、現在表示されているコマに先行するまたは続く追加のコマを示すために右または左にスクロールできる。マーカ１８１４および１８１６は、現在選択されているビデオクリップ（またはセグメントもしくは部分）の開始点および終了点を示す。現在選択されているビデオクリップは、上述されたように、プレビュー領域１８０２で繰り返し再生できる。
【０１５０】
一実施形態において、ボタン１８１８および１８２０は、選択されたビデオ部分の持続時間をそれぞれ縮小するまたは増加するために選択できる。プレビュー部分１８２２は、現在選択されているビデオクリップの全画面プレビューの再生をトリガするために選択できる。トリミングオプション１８２４は、追加のビデオトリミング機能にアクセスするために選択できる。
【０１５１】
図１９は、本発明の実施形態に従ってユーザのゲームプレーのライブビデオストリームを視聴するためのインターフェース１９００を示す。参照１９０２で、彼らのゲームプレーをストリーミングしているユーザの名前および／またはエイリアスが示される。参照１９０４で、現在ライブビデオストリームを視聴しているユーザの数が示される。ユーザのゲームプレーのライブビデオストリームは、ビデオ表示領域１９０６に表示される。さらに、ゲームプレーがライブストリーミングされている実際のユーザのライブビデオを示すライブユーザビデオ１９０８を含むことができる。コマンドオプション１９１０は、視聴するユーザがビデオゲームに影響を及ぼすコマンドを発行する、またはストリーミングするユーザのゲームプレーの制御を奪取することさえ許すために選択できる。ゲーム内コマンドの発行またはユーザのゲームプレーの遠隔制御には、ゲームをプレーするユーザからの、視聴するユーザが係るアクションを実行するのを許す、事前に定義された、またはゲームプレーの時点で要求されるかのどちらかの許可が必要になることがある。
【０１５２】
オプション１９１２は、視聴するユーザがストリーミングするユーザのゲームプレーに加わることを許す。そして、オプション１９１４は、視聴するユーザが進行中のビデオゲームを購入できるようにする。
【０１５３】
さらに、インターフェースは、各コメントの時刻を示す、ライブビデオストリームを視聴するユーザからのコメントを表示するコメント部１９１６を含むことがある。コメント入力フィールド１９１８が、視聴するユーザが投稿されるコメントのためのテキストを入力するために提供される。そして、ライブストリーミングするユーザおよびライブビデオストリームを視聴する他者による視聴のコメントをアップロードするために送信ボタン１９２０が押される。
【０１５４】
本発明の実施形態は、専用のボタンを押すことから共有のための多様なインターフェースにアクセスすることに関して説明されてきたが、他の実施形態において、これらのインターフェースのいくつかまたはすべてが、ユーザソーシャルグラフへのゲームプレーの共有を促進することを必要とされないことがあることが理解されるだろう。例えば、一実施形態において、コントローラボタンは、押されたときにユーザゲームプレーのスクリーンショットを取り込むように構成できる。取り込まれたスクリーンショットは、次いで自動的にユーザソーシャルグラフにアップロードし、共有することができる。
【０１５５】
別の実施形態において、コントローラで特定のボタンを押すと、ゲームプレービデオの記録が開始される。特定のボタンが二度目に押されるとき、ゲームプレービデオの記録は停止され、ビデオクリップをユーザソーシャルグラフにアップロードし、共有することができる。一実施形態において、ユーザソーシャルグラフへのビデオクリップのアップロードおよび共有は、ビデオ記録動作の終了に続き自動的に行われてよい。ただし、別の実施形態において、特定のボタンが記録を停止するために二度目に押されるとき、ユーザが、ビデオのトリミング、ビデオの代表的なスクリーンショットの選択等の多様なオプションをカスタマイズし、ビデオを共有する特定のユーザを決定し、キャプションまたはタイトルを追加する等を許すためにインターフェースが提示される。ユーザによるカスタマイズの後、ビデオは他者と共有できる、またはそれ以外の場合、視聴に供することができる。
【０１５６】
一実施形態において、コントローラ上の特定のボタンは、ソーシャルネットワークでゲームプレービデオの所定の持続時間を共有するように構成できる。例えば、ユーザが、ボタン押下時、ゲームプレービデオの以前の１０秒がユーザソーシャルグラフに共有されることを指定する可能性がある。別の実施形態において、ボタン押下時、ゲームプレービデオの次の１０秒が記録され、ユーザソーシャルグラフに共有されることが指定されることがある。ビデオをトリミングするためのオプションおよび他のタイプのカスタマイズを実行するためのオプションが、記録されているゲームプレービデオに適用され得ることが理解されるべきである。さらに、ボタントリガに続く所定の持続時間の記録されているゲームプレービデオは、説明されたように以前にバッファに入れられたゲームプレービデオと結合できる。
【０１５７】
さらに別の実施形態において、コントローラ装置の特定のボタンは、ユーザのアクティブゲームプレーのライブビデオストリーミングを開始するように構成できる。ライブビデオストリーミングは、ユーザソーシャルグラフのメンバだけに、またはユーザソーシャルグラフの特定のサブセット等ユーザの他のより小さいグループまたはより大きなグループに、同じビデオゲームを所有するまたはそれ以外の場合同じビデオゲームに対するアクセスを有するすべてのユーザ、ゲーミングプラットホームの任意のユーザ等が利用できるように事前に定義できる。
【０１５８】
記録されたゲームプレーに基づくクラウドゲーミングのための、提案されたミニゲームの自動作成
【０１５９】
一実施形態において、ビデオゲームの完全版のユーザのゲームプレーを記録する方法動作と、関心領域を決定するためにユーザの記録されているゲームプレーを分析する方法動作と、決定された関心領域に基づいてビデオゲームのゲームプレーコンテキストの中で境界を画定する方法動作と、画定された境界に基づいてビデオゲームの限定版を生成する方法動作とを含み、方法がプロセッサによって実行される、ビデオゲームのプレー可能な限定版を生成するための方法が提供される。
【０１６０】
一実施形態において、ユーザのゲームプレーを記録することは、ユーザ入力データまたはゲーム状態データの内の１つまたは複数を記録することを含む。一実施形態において、ユーザの記録されているゲームプレーを分析することは、ユーザ入力データまたはゲーム状態データの活動のレベルを決定することを含み、関心領域は所定の閾値を超える活動のレベルを有する領域である。
【０１６１】
一実施形態において、ビデオゲームのゲームプレーコンテキスト内で境界を画定することは、ビデオゲームの仮想空間内で空間的な境界を画定することを含む。一実施形態において、ビデオゲームの仮想空間内の空間的な境界は、仮想空間の全体よりも少ない仮想空間の部分を画定し、仮想空間の部分は仮想空間の特長のサブセットを有する。
【０１６２】
一実施形態において、ビデオゲームのゲームプレーコンテキスト内で境界を画定することは、ビデオゲームの時間的なコンテキスト内で時間的な境界を画定することを含む。
【０１６３】
一実施形態において、境界を画定することは、ステージ、レベル、またはシーンの内の１つまたは複数の最も近い開始点または最も近い終了点を識別することを含む。
【０１６４】
一実施形態において、ユーザの記録されているゲームプレーを分析することは、ユーザの記録されているゲームプレーに基づいてユーザゲーム状態設定値を決定することを含み、ビデオゲームの限定版を生成することは、決定されたユーザゲーム状態設定値に基づいて初期のゲーム状態設定値を有するためにビデオゲームの限定版を定義することを含む。
【０１６５】
一実施形態において、関心領域は、１つまたは複数の閾値に対する一致に基づいて自動的に識別される。一実施形態において、該閾値の内の少なくとも１つが、ユーザ入力、ユーザ入力の速度、ユーザ入力の頻度、ユーザ入力の繰り返し、入力パターン、他のユーザとのゲームプレーコンテキストの共有、ソーシャルネットワーク上でのゲームプレーと関連付けられたコマンドの投稿、またはソーシャルネットワーク共有レベルに基づいたビデオゲームの分部の人気の内の１つまたは複数に関連付けられる。
【０１６６】
別の実施形態において、ビデオゲームの完全版のユーザのゲームプレーを記録する方法動作と、１つまたは複数の関心領域を決定するためにユーザの記録されているゲームプレーを分析する方法動作と、選択のために関心領域のそれぞれを提示する方法動作と、選択された関心領域を示す選択入力を受け取る方法動作と、選択された関心領域のために、選択された関心領域に基づいてビデオゲームのゲームプレーコンテキスト内で境界を画定する方法動作と、画定された境界に基づいてビデオゲームの限定版を生成する方法動作とを含み、方法がプロセッサによって実行される、ビデオゲームのプレー可能な限定版を生成するための方法が提供される。
【０１６７】
一実施形態において、ユーザのゲームプレーを記録することは、ユーザ入力データまたはゲーム状態データの内の１つまたは複数を記録することを含む。一実施形態において、ユーザの記録されているゲームプレーを分析することは、ユーザ入力データまたはゲーム状態データの活動のレベルを決定することを含み、各関心領域が所定の閾値を超える活動のレベルを有する領域である。
【０１６８】
一実施形態において、ユーザの記録されているゲームプレーを分析することは、ユーザの記録されているゲームプレーに基づいてユーザゲーム状態設定値を決定することを含み、ビデオゲームの限定版を生成することは、決定されたユーザゲーム状態設定値に基づいて初期のゲーム状態設定値を有するためにビデオゲームの限定版を定義することを含む。
【０１６９】
一実施形態において、各関心領域は、１つまたは複数の閾値に対する一致に基づいて自動的に識別される。
【０１７０】
別の実施形態において、ビデオゲームの完全版のユーザのゲームプレーを記録する方法動作であって、ユーザのゲームプレーを記録することが、ユーザ入力データまたはゲーム状態データの内の１つまたは複数を記録することを含む、記録する方法動作と、１つまたは複数の関心領域を決定するためにユーザの記録されているゲームプレーを分析する方法動作であって、各関心領域が１つまたは複数の閾値に対する一致に基づいて自動的に識別される、分析する方法動作と、選択のために関心領域のそれぞれを提示する方法動作と、選択された関心領域を示す選択入力を受け取る方法動作と、選択された関心領域のために、選択された関心領域に基づいてビデオゲームのゲームプレーコンテキスト内で境界を画定する方法動作と、画定された方法動作に基づいてビデオゲームの限定版を生成する方法動作とを含み、方法がプロセッサによって実行される、ビデオゲームのプレー可能な限定版を生成するための方法が提供される。
【０１７１】
一実施形態において、ビデオゲームのゲームプレーコンテキスト内の境界を画定する方法動作は、ビデオゲームの仮想空間内の空間境界を画定する方法動作を含み、ビデオゲームの仮想空間内の空間境界は、仮想空間の全体を下回る仮想空間の部分を画定し、仮想空間の部分は、仮想空間の特徴のサブセットを有する。
【０１７２】
一実施形態において、ビデオゲームのゲームプレーコンテキスト内の境界を画定する方法動作は、ビデオゲームの時間的コンテキスト内の時間的境界を画定する方法動作を含む。
【０１７３】
一実施形態において、境界を画定する方法動作は、段階、レベルまたはシーンの１つまたはそれ以上の最も近い開始位置または最も近い終了位置を識別する方法動作を含む。
【０１７４】
一実施形態において、上記の閾値の少なくとも１つは、ユーザ入力の速度、ユーザ入力の周波数、ユーザ入力の繰り返し、入力パターン、他のユーザとのゲームプレーコンテキストの共有、ソーシャルネットワーク上のゲームプレーに関連したコメントのポスティング、または、ソーシャルネットワーク共有レベルに基づいたビデオゲームの部分の人気の１つまたはそれ以上のユーザ入力に関連づけられる。
【０１７５】
記録されたゲームプレーに基づいた、クラウドゲームのマルチパートミニゲームの生成
【０１７６】
一実施形態において、ビデオゲームのプレー可能な限定版を生成する方法であって、以下の方法動作、すなわち、ビデオゲームの完全版のユーザのゲームプレーを記録する方法動作と、ユーザの記録されたゲームプレーの複数のユーザ定義の部分を判断する方法動作と、各々のユーザ定義の部分について、ビデオゲームのゲームプレーコンテキスト内の境界をユーザ定義の部分に基づいて画定して、ビデオゲームのプレー可能な部分を画定された境界に基づいて生成する方法動作と、ビデオゲームの限定版を画定するためにビデオゲームのプレー可能な部分の各々をシリーズで配置する方法動作とを含み、方法が、プロセッサにより実行される方法を提供する。
【０１７７】
ユーザの記録されたゲームプレーの各々のユーザ定義の部分を判断する方法動作は、ユーザの記録されたゲームプレー内のユーザ定義の開始位置およびユーザ定義の終了位置を受信する方法動作と、ユーザ定義の部分を受信ユーザ定義の開始位置およびユーザ定義の終了位置に基づいて判断する方法動作とを含む。
【０１７８】
一実施形態において、ユーザのゲームプレーを記録する方法動作は、ユーザ入力データまたはゲーム状態データの一方またはそれ以上を記録する方法動作を含む。一実施形態において、ビデオゲームのプレー可能な部分を生成する方法動作は、ゲーム状態データを分析してコード要素を識別する方法動作と、コード要素をアセンブルして、ビデオゲームのプレー可能な部分を画定する実行可能なコードを定義する方法動作とを含む。
【０１７９】
一実施形態において、ビデオゲームのゲームプレーコンテキスト内の境界を画定する方法動作は、ビデオゲームの仮想空間内の空間境界を画定する方法動作を含む。一実施形態において、ビデオゲームの仮想空間内の空間境界は、仮想空間の全体を下回る仮想空間の部分を画定し、仮想空間の部分は、仮想空間の特徴のサブセットを有する。
【０１８０】
一実施形態において、ビデオゲームのゲームプレーコンテキスト内の境界を画定する方法動作は、ビデオゲームの時間的コンテキスト内の時間的境界を画定する方法動作を含む。
【０１８１】
一実施形態において、この方法は、各々のユーザ定義の部分について、ユーザの記録されたゲームプレーを分析してユーザゲーム状態設定を判断する方法動作をさらに含み、ビデオゲームのプレー可能な部分を生成する方法動作は、初期ゲーム状態設定を判断されたユーザゲーム状態設定に基づいて有するようにビデオゲームのプレー可能な部分を画定する方法動作を含む。
【０１８２】
一実施形態において、境界を画定する方法動作は、段階、レベルまたはシーンの１つまたはそれ以上の最も近い開始位置または終了位置を識別する方法動作を含む。
【０１８３】
一実施形態において、この方法は、ユーザ定義のビデオを記録する方法動作をさらに含み、ビデオゲームのプレー可能な部分を配置する方法動作は、ビデオゲームのプレー可能な部分の１つに先行または続くシリーズ内の場所にてユーザ定義のビデオを配置する方法動作を含む。一実施形態において、ユーザ定義のビデオは、ユーザの記録されたゲームプレーのユーザ定義の部分の少なくとも１つからのビデオを含む。
【０１８４】
別の実施形態において、ビデオゲームのプレー可能な限定版を生成するプログラム命令が具現化された有形コンピュータ可読媒体であって、以下、すなわち、ビデオゲームの完全版のユーザのゲームプレーを記録するプログラム命令と、ユーザの記録されたゲームプレーの複数のユーザ定義の部分を判断するプログラム命令と、各々のユーザ定義の部分について、ビデオゲームのゲームプレーコンテキスト内の境界をユーザ定義の部分に基づいて画定して、ビデオゲームのプレー可能な部分を画定された境界に基づいて生成するプログラム命令と、ビデオゲームの限定版を画定するためにビデオゲームのプレー可能な部分の各々をシリーズで配置するプログラム命令とを含む有形コンピュータ可読媒体を提供する。
【０１８５】
一実施形態において、ユーザの記録されたゲームプレーの各々のユーザ定義の部分を判断する方法動作は、ユーザの記録されたゲームプレー内のユーザ定義の開始位置およびユーザ定義の終了位置を受信する方法動作と、ユーザ定義の部分を受信ユーザ定義の開始位置およびユーザ定義の終了位置に基づいて判断する方法動作とを含む。
【０１８６】
一実施形態において、ユーザのゲームプレーを記録する方法動作は、ユーザ入力データまたはゲーム状態データの一方またはそれ以上を記録する方法動作を含む。一実施形態において、ビデオゲームのプレー可能な部分を生成する方法動作は、ゲーム状態データを分析してコード要素を識別する方法動作と、コード要素をアセンブルして、ビデオゲームのプレー可能な部分を画定する実行可能なコードを定義する方法動作とを含む。
【０１８７】
一実施形態において、コンピュータ可読媒体は、各々のユーザ定義の部分について、ユーザの記録されたゲームプレーを分析してユーザゲーム状態設定を判断するプログラム命令をさらに含み、ビデオゲームのプレー可能な部分を生成する方法動作は、初期ゲーム状態設定を判断されたユーザゲーム状態設定に基づいて有するようにビデオゲームのプレー可能な部分を画定する方法動作を含む。
【０１８８】
別の実施形態において、以下、すなわち、ビデオゲームの完全版のユーザのゲームプレーを記録する論理回路を含む、ビデオゲームのプレー可能な限定版を生成する論理回路を有する少なくとも１つのサーバコンピューティングデバイスと、ユーザの記録されたゲームプレーの複数のユーザ定義の部分を判断する論理回路と、各々のユーザ定義の部分について、ビデオゲームのゲームプレーコンテキスト内の境界をユーザ定義の部分に基づいて画定して、ビデオゲームのプレー可能な部分を画定された境界に基づいて生成する論理回路と、ビデオゲームの限定版を画定するためにビデオゲームのプレー可能な部分の各々をシリーズで配置する論理回路とを含むシステムを提供する。
【０１８９】
一実施形態において、ユーザの記録されたゲームプレーの各々のユーザ定義の部分を判断する方法動作は、ユーザの記録されたゲームプレー内のユーザ定義の開始位置およびユーザ定義の終了位置を受信する方法動作と、ユーザ定義の部分を受信ユーザ定義の開始位置およびユーザ定義の終了位置に基づいて判断する方法動作とを含む。
【０１９０】
一実施形態において、ユーザのゲームプレーを記録する方法動作は、ユーザ入力データまたはゲーム状態データの一方またはそれ以上を記録する方法動作を含む。一実施形態において、ビデオゲームのプレー可能な部分を生成する方法動作は、ゲーム状態データを分析してコード要素を識別する方法動作と、コード要素をアセンブルして、ビデオゲームのプレー可能な部分を画定する実行可能なコードを定義する方法動作とを含む。
【０１９１】
一実施形態において、上記の論理回路は、各々のユーザ定義の部分について、ユーザの記録されたゲームプレーを分析してユーザゲーム状態設定を判断する論理回路をさらに含み、ビデオゲームのプレー可能な部分を生成する方法動作は、初期ゲーム状態設定を判断されたユーザゲーム状態設定に基づいて有するようにビデオゲームのプレー可能な部分を画定する方法動作を含む。
【０１９２】
ソーシャルグラフへの記録されたゲームプレーの分配
【０１９３】
一実施形態において、記録されたゲームプレーをソーシャルグラフに分配する方法であって、以下の方法動作、すなわち、ユーザのゲームプレーのビデオをゲームプレーセッションのアクティブ状態中に記録する方法動作と、分配作業を開始するコマンドをゲームプレーセッションのアクティブ状態中に受信する方法動作と、コマンドを受信することに応答して、ゲームプレーセッションの休止状態に入って、分配インターフェースを提示する方法動作と、分配インターフェースを介して受信された入力を処理して、記録されたビデオのユーザ定義の選択を判断する方法動作と、記録されたビデオのユーザ定義の選択をユーザのソーシャルグラフに分配する方法動作と、ゲームプレーセッションのアクティブ状態を再開する方法動作とを含み、方法が、プロセッサにより実行される方法を提供する。
【０１９４】
一実施形態において、ユーザのゲームプレーのビデオを記録する方法動作は、ビデオをバッファにゲームプレーセッションのアクティブ状態中に格納する方法動作を含む。
【０１９５】
一実施形態において、共有インターフェースを提示する方法動作は、ビデオの１つまたはそれ以上の部分をバッファから検索および提示する方法動作を含む。
【０１９６】
一実施形態において、共有インターフェースは、ユーザ定義の選択の持続時間を定義する持続時間セレクタを含む。
【０１９７】
一実施形態において、選択を分配する方法動作は、ユーザのソーシャルグラフを定義するソーシャルネットワークサービス上での利用可能性に向けて選択をアップロードする方法動作を含む。
【０１９８】
一実施形態において、選択をアップロードする方法動作は、選択を圧縮して圧縮された選択をアップロードする方法動作を含む。
【０１９９】
一実施形態において、選択を分配する方法動作は、通知をユーザのソーシャルグラフのメンバに生成する方法動作を含む。
【０２００】
一実施形態において、通知は、プライベートメッセージ、チャットメッセージ、ゲーム内の通知、ソーシャルニュースフィードへの掲載、電子メールの１つまたはそれ以上により定義される。
【０２０１】
一実施形態において、選択を分配する方法動作は、選択をユーザのプロファイルページ上で提示する方法動作を含む。
【０２０２】
一実施形態において、分配作業を開始するコマンドを受信する方法動作は、コントローラデバイス上のボタン押しから定義される。
【０２０３】
別の実施形態において、記録されたゲームプレーをソーシャルグラフに分配する方法であって、以下の方法動作、すなわち、ユーザのゲームプレーのビデオをゲームプレーセッションのアクティブ状態中に記録する方法動作と、分配作業を開始するコマンドをゲームプレーセッションのアクティブ状態中に受信する方法動作と、コマンドを受信することに応答して、記録されたビデオのユーザ定義の選択を判断する方法動作と、記録されたビデオのユーザ定義の選択をユーザのソーシャルグラフに分配する方法動作とを含み、方法が、プロセッサにより実行される方法を提供する。
【０２０４】
一実施形態において、ユーザのゲームプレーのビデオを記録する方法動作は、ビデオをバッファにゲームプレーセッションのアクティブ状態中に格納する方法動作を含む。
【０２０５】
一実施形態において、記録されたビデオのユーザ定義の選択を判断する方法動作は、ビデオをバッファから検索および提示する方法動作と、ビデオの部分を識別するユーザ入力を処理する方法動作とを含む。
【０２０６】
一実施形態において、選択を分配する方法動作は、ユーザのソーシャルグラフを定義するソーシャルネットワークサービス上での利用可能性に向けて選択をアップロードする方法動作を含む。
【０２０７】
一実施形態において、分配作業を開始するコマンドを受信する方法動作は、コントローラデバイス上のボタン押しから定義される。
【０２０８】
別の実施形態において、記録されたゲームプレーをソーシャルグラフに分配するプログラム命令が定義された固定コンピュータ可読媒体を提供する。プログラム命令としては、ユーザのゲームプレーのビデオをゲームプレーセッションのアクティブ状態中に記録するプログラム命令、分配作業を開始するコマンドをゲームプレーセッションのアクティブ状態中に受信するプログラム命令、コマンドを受信することに応答して、記録されたビデオのユーザ定義の選択を判断するプログラム命令、記録されたビデオのユーザ定義の選択をユーザのソーシャルグラフに分配するプログラム命令がある。
【０２０９】
一実施形態において、ユーザのゲームプレーのビデオを記録する方法動作は、ビデオをバッファにゲームプレーセッションのアクティブ状態中に格納する方法動作を含む。
【０２１０】
記録されたビデオのユーザ定義の選択を判断する方法動作は、ビデオをバッファから検索および提示する方法動作と、ビデオの部分を識別するユーザ入力を処理する方法動作とを含む。
【０２１１】
一実施形態において、選択を分配する方法動作は、ユーザのソーシャルグラフを定義するソーシャルネットワークサービス上での利用可能性に向けて選択をアップロードする方法動作を含む。
【０２１２】
分配作業を開始するコマンドを受信する方法動作は、コントローラデバイス上のボタン押しから定義される。
【０２１３】
ユーザによるゲームプレーの遠隔制御
【０２１４】
一実施形態において、ユーザのゲームプレーの遠隔制御を行う方法であって、以下の方法動作、すなわち、第１のユーザのゲームプレーのライブビデオフィードを第２のリモートユーザに提示する方法動作と、第１のユーザのゲームプレーの制御を第２のユーザに遷移する要求を処理する方法動作と、第１のユーザのゲームプレーの制御を第２のユーザにより開始する方法動作とを含み、方法が、少なくとも１つのプロセッサにより実行される方法を提供する。
【０２１５】
一実施形態において、第１のユーザのゲームプレーの制御を第２のユーザにより開始する方法動作は、第１のユーザのゲームプレーの制御を第１のユーザに関連した第１のコントローラデバイスにより非アクティブにする方法動作と、第１のユーザのゲームプレーの制御を第２のユーザに関連した第２のコントローラデバイスによりアクティブ化する方法動作とを含む。
【０２１６】
一実施形態において、第２のユーザによる第１のユーザのゲームプレーの制御は、入力コマンドを第２のコントローラデバイスから受信し、入力コマンドを適用して、第１のユーザのゲームプレーを定義する方法動作を含む。
【０２１７】
一実施形態において、ライブビデオフィードは、ソーシャルインターフェースを介して第２のユーザに提示され、ソーシャルインターフェースは、第２のユーザのソーシャルグラフへのアクセスを供給し、第１のユーザは、第２のユーザのソーシャルグラフのメンバと定義される。
【０２１８】
一実施形態において、ソーシャルインターフェースは、コメントを第１のユーザのゲームプレー中に掲示するコメントインターフェースを含む。
【０２１９】
一実施形態において、制御を遷移する要求を処理する方法動作は、第２のユーザによる第１のユーザのゲームプレーの制御が可能にする確認応答を第１のユーザから受信する方法動作を含む。
【０２２０】
一実施形態において、第１のユーザのゲームプレーのライブビデオフィードを第２のユーザに提示する方法動作は、ライブビデオフィードを非フルスクリーンフォーマットで提示する方法動作を含み、第１のユーザのゲームプレーの制御を第２のユーザにより開始する方法動作は、フルスクリーンフォーマットのライブビデオフィードの提示をトリガする方法動作を含む。
【０２２１】
別の実施形態において、マルチプレーヤゲームプレーを供給する方法であって、以下の方法動作、すなわち、第１のユーザのゲームプレーのライブビデオフィードを第２のリモートユーザに提示する方法動作と、第２のユーザが第１のユーザのゲームプレーセッションに仲間入りする要求を処理する方法動作と、ゲームプレーを第２のユーザにより第１のユーザのゲームプレーセッションにおいて開始する方法動作とを含み、方法が、少なくとも１つのプロセッサにより実行される方法を提供する。
【０２２２】
一実施形態において、ゲームプレーを第２のユーザにより第１のユーザのゲームプレーセッションにおいて開始する方法動作は、ビデオゲームのマルチプレーヤモードを開始する方法動作を含む。
【０２２３】
一実施形態において、ライブビデオフィードは、ソーシャルインターフェースを介して第２のユーザに提示され、ソーシャルインターフェースは、第２のユーザのソーシャルグラフへのアクセスを供給し、第１のユーザは、第２のユーザのソーシャルグラフのメンバと定義される。
【０２２４】
一実施形態において、ソーシャルインターフェースは、コメントを第１のユーザのゲームプレー中に掲示するコメントインターフェースを含む。
【０２２５】
一実施形態において、第１のユーザのゲームプレーセッションに仲間入りする要求を処理する方法動作は、第２のユーザによるゲームプレーの制御を第１のユーザのゲームプレーセッションにおいて可能にする確認応答を第１のユーザから受信する方法動作を含む。
【０２２６】
一実施形態において、第１のユーザのゲームプレーのライブビデオフィードを第２のユーザに提示する方法動作は、ライブビデオフィードを非フルスクリーンフォーマットで提示する方法動作を含み、ゲームプレーを第２のユーザにより第１のユーザのゲームプレーセッションにおいて開始する方法動作は、フルスクリーンフォーマットのライブビデオフィードの提示をトリガする方法動作を含む。
【０２２７】
別の実施形態において、第１のユーザのゲームプレーのライブビデオフィードを第２のリモートユーザに提示するプログラム命令と、第１のユーザのゲームプレーの制御を第２のユーザに遷移する要求を処理するプログラム命令と、第１のユーザのゲームプレーの制御を第２のユーザにより開始するプログラム命令とを含む、ユーザのゲームプレーの遠隔制御を行うプログラム命令が具現化された固定コンピュータ可読媒体を提供する。
【０２２８】
一実施形態において、第１のユーザのゲームプレーの制御を第２のユーザにより開始する方法動作は、第１のユーザのゲームプレーの制御を第１のユーザに関連した第１のコントローラデバイスにより非アクティブにする方法動作と、第１のユーザのゲームプレーの制御を第２のユーザに関連した第２のコントローラデバイスによりアクティブ化する方法動作とを含む。
【０２２９】
一実施形態において、第２のユーザによる第１のユーザのゲームプレーの制御は、入力コマンドを第２のコントローラデバイスから受信し、入力コマンドを適用して、第１のユーザのゲームプレーを定義する方法動作を含む。
【０２３０】
一実施形態において、ライブビデオフィードは、ソーシャルインターフェースを介して第２のユーザに提示され、ソーシャルインターフェースは、第２のユーザのソーシャルグラフへのアクセスを供給し、第１のユーザは、第２のユーザのソーシャルグラフのメンバと定義される。
【０２３１】
一実施形態において、ソーシャルインターフェースは、コメントを第１のユーザのゲームプレー中に掲示するコメントインターフェースを含む。
【０２３２】
一実施形態において、制御を遷移する要求を処理する方法動作は、第２のユーザによる第１のユーザのゲームプレーの制御を可能にする確認応答を第１のユーザから受信する方法動作を含む。
【０２３３】
一実施形態において、第１のユーザのゲームプレーのライブビデオフィードを第２のユーザに提示する方法動作は、ライブビデオフィードを非フルスクリーンフォーマットで提示する方法動作を含み、第１のユーザのゲームプレーの制御を第２のユーザにより開始する方法動作は、フルスクリーンフォーマットのライブビデオフィードの提示をトリガする方法動作を含む。
【０２３４】
図２０は、本発明の一実施形態による、ビデオゲームで対話性をもたらすために使用することができるハードウェアおよびユーザインターフェースを示す。図２０は、Ｓｏｎｙ（登録商標）  Ｐｌａｙｓｔａｔｉｏｎ  ３（登録商標）エンターテイメントデバイスのシステム全体アーキテクチャ、本発明の実施形態による、ベースコンピューティングデバイスにて実行されるコンピュータプログラムとコントロールデバイスをインターフェースするのに適合するとすることができるコンソールを概略的に示す。システムユニット２０００が供給され、様々な周辺デバイスが、システムユニット２０００に接続可能である。システムユニット２０００は、セルプロセッサ２０２８、Ｒａｍｂｕｓ（登録商標）動的ランダムアクセスメモリ（ＸＤＲＡＭ）ユニット２０２６、専用ビデオランダムアクセスメモリ（ＶＲＡＭ）ユニット２０３２を有するＲｅａｌｉｔｙ  Ｓｙｎｔｈｅｓｉｚｅｒグラフィクスユニット２０３０、および、Ｉ／Ｏブリッジ２０３４を含む。システムユニット２０００は、Ｉ／Ｏブリッジ２０３４を介してアクセス可能な、ディスク２０４０ａからの読み取り用のＢｌｕ  Ｒａｙ（登録商標）ディスクＢＤ―ＲＯＭ（登録商標）光ディスク読み取り装置２０４０、脱着自在のスロットインハードディスクドライブ（ＨＤＤ）２０３６も含む。随意的に、システムユニット２０００は、同様にＩ／Ｏブリッジ２０３４を介してアクセス可能であるコンパクトフラッシュ（登録商標）メモリカード、Ｍｅｍｏｒｙ  Ｓｔｉｃｋ（登録商標）メモリカードなどを読み取るメモリカード読み取り装置２０３８も含む。
【０２３５】
Ｉ／Ｏブリッジ２０３４は、６本のユニバーサルシリアルバス（ＵＳＢ）２．０ポート２０２４、ギガビットイーサネット（登録商標）ポート２０２２、ＩＥＥＥ８０２．１１ｂ／ｇ無線ネットワーク（Ｗｉ―Ｆｉ）ポート２０２０、および、最大７つまでのＢｌｕｅｔｏｏｔｈ（登録商標）接続部をサポートすることができるＢｌｕｅｔｏｏｔｈ（登録商標）無線リンクポート２０１８に接続される。
【０２３６】
作動時には、Ｉ／Ｏブリッジ２０３４は、１つまたはそれ以上のゲームコントローラ２００２〜２００３からのデータを含む、全ての無線データ、ＵＳＢデータ、およびイーサネット（登録商標）データを取り扱う。例えば、ユーザがゲームをプレーしているとき、Ｉ／Ｏブリッジ２０３４は、データをゲームコントローラ２００２〜２００３からＢｌｕｅｔｏｏｔｈ（登録商標）リンクを介して受信して、ゲームの現状を相応に更新するセルプロセッサ２０２８に導く。
【０２３７】
無線ＵＳＢおよびイーサネット（登録商標）ポートも、ゲームコントローラ２００２〜２００３に加えて、リモートコントロール２００４、キーボード２００６、マウス２００８、Ｓｏｎｙ  Ｐｌａｙｓｔａｔｉｏｎ  Ｐｏｒｔａｂｌｅ（登録商標）エンターテイメントデバイスなどのポータブルエンターテイメントデバイス２０１０、ＥｙｅＴｏｙ（登録商標）ビデオカメラなどのビデオカメラ２０１２、マイクヘッドホン２０１４、および、マイク２０１５など他の周辺デバイスに向けて接続性をもたらす。したがって、このような周辺デバイスは、原則的に無線でシステムユニット２０００に接続することができ、例えば、ポータブルのエンターテイメントデバイス２０１０は、Ｗｉ−Ｆｉアドホック接続を介して通信することができ、一方、マイクヘッドホン２０１４は、Ｂｌｕｅｔｏｏｔｈ（登録商標）リンクを介して通信することができる。
【０２３８】
これらのインターフェースの設置は、Ｐｌａｙｓｔａｔｉｏｎ  ３デバイスは、デジタルビデオテープレコーダ（ＤＶＲ）、セットトップボックス、デジタルカメラ、ポータブルメディアプレーヤ、ボイスオーバーＩＰ電話、移動体電話、プリンタおよびスキャナなどの他の周辺デバイスとも潜在的に適合することを意味する。
【０２３９】
さらに、旧来のメモリカード読み取り装置２０１６は、ＵＳＢポート２０２４を介してシステムユニットに接続することができ、これにより、Ｐｌａｙｓｔａｔｉｏｎ（登録商標）またはＰｌａｙｓｔａｔｉｏｎ  ２（登録商標）デバイスにより使用される種類のメモリカード２０４８の読み取りが可能である。
【０２４０】
ゲームコントローラ２００２〜２００３は、Ｂｌｕｅｔｏｏｔｈ（登録商標）リンクを介してシステムユニット２０００とワイヤレスで通信するように、または、ＵＳＢポートに接続されるように動作可能であり、その結果、ゲームコントローラ２００２〜２００３のバッテリを充電させる電力も供給される。ゲームコントローラ２００２〜２００３は、メモリ、プロセッサ、メモリカード読み取り装置、フラッシュメモリなどの常設メモリ、照明された球状セクション、ＬＥＤまたは赤外光などの発光体、超音波通信用マイクおよびスピーカ、アコースティックチャンバ、デジタルカメラ、内部クロック、ゲームコンソールに対向する球状セクションなどの認識可能な形状、および、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＷｉＦｉ（登録商標）などのプロトコルを使用する無線通信を含むこともできる。
【０２４１】
ゲームコントローラ２００２は、２本の手で使用されるように設計されたコントローラであり、ゲームコントローラ２００３は、取り付け具を有する片手用コントローラである。１つまたはそれ以上のアナログジョイスティックおよび従来の制御ボタンに加えて、ゲームコントローラは、３次元の場所判断の影響を受けやすい。その結果として、ゲームコントローラのユーザによるジェスチャーおよび動きは、従来のボタンまたはジョイスティックコマンドに加えてまたはその代わりにゲームへの入力として解釈される場合がある。随意的に、Ｐｌａｙｓｔａｔｉｏｎ（登録商標）ポータブルデバイスなどの他の無線でイネーブルされる周辺デバイスをコントローラとして使用することができる。Ｐｌａｙｓｔａｔｉｏｎ（登録商標）の場合、ポータブルデバイス、更なるゲームまたは制御の情報（例えば、制御命令またはライフの数）をデバイスの画面上で供給することができる。ダンスマット（図示せず）、ライトガン（図示せず）、ハンドル、および、ペダル（図示せず）、または、迅速に対応するクイズゲーム用の単一またはいくつかの大きいボタン（やはり図示せず）など注文専門のコントローラなど、他の代替または補助制御デバイスを使用することもできる。
【０２４２】
リモートコントロール２００４は、Ｂｌｕｅｔｏｏｔｈ（登録商標）リンクを介してシステムユニット２０００とワイヤレスで通信するようにも動作可能である。リモートコントロール７０４は、Ｂｌｕ  Ｒａｙ（商標）ディスクＢＤ−ＲＯＭ読み取り装置２０４０の動作、および、ディスクコンテンツのナビゲーションに適した制御を含む。
【０２４３】
Ｂｌｕ  Ｒａｙ（商標）ディスクＢＤ−ＲＯＭ読み取り装置２０４０は、従来の予め録画された、かつ、記録可能なＣＤおよびいわゆるスーパーオーディオＣＤに加えて、ＰｌａｙｓｔａｔｉｏｎおよびＰｌａｙｓｔａｔｉｏｎ  ２のデバイスと適合するＣＤ−ＲＯＭを読み取るように動作可能である。読み取り装置２０４０は、従来の予め録画されたかつ記録可能なＤＶＤに加えて、Ｐｌａｙｓｔａｔｉｏｎ  ２およびＰｌａｙｓｔａｔｉｏｎ  ３デバイスと適合するＤＶＤ−ＲＯＭを読み取るようにも動作可能である。読み取り装置２０４０は、さらに、Ｐｌａｙｓｔａｔｉｏｎ  ３デバイス、ならびに、従来の予め録画された、かつ、記録可能なＢｌｕ−Ｒａｙディスクと適合するＢＤ−ＲＯＭを読み取るように動作可能である。
【０２４４】
システムユニット２０００は、Ｒｅａｌｉｔｙ  Ｓｙｎｔｈｅｓｉｚｅｒグラフィクスユニット２０３０を介してＰｌａｙｓｔａｔｉｏｎ  ３デバイスにより生成または復号されたオーディオおよびビデオを、ディスプレイ２０４４および１つまたはそれ以上のスピーカ２０４６を有するモニタまたはテレビ受像機などのディスプレイおよびサウンド出力装置２０４２にオーディオおよびビデオコネクタを介して供給するように動作可能である。音声コネクタ２０５０は、従来のアナログおよびデジタル出力を含むことができ、一方、ビデオコネクタ２０５２は、コンポーネントビデオ、Ｓ−ビデオ、複合ビデオおよび１つまたはそれ以上の高精細度マルチメディアインターフェース（ＨＤＭＩ（登録商標））出力をさまざまに含むことができる。その結果として、ビデオ出力は、ＰＡＬまたはＮＴＳＣなどのフォーマット、または、７２０ｐ、１０８０ｉまたは１０８０ｐの高解像度とすることができる。
【０２４５】
オーディオ処理（生成、復号およびその他）は、セルプロセッサ２０２８により行われる。Ｐｌａｙｓｔａｔｉｏｎ  ３デバイスのオペレーティングシステムは、Ｄｏｌｂｙ（登録商標）５．１サラウンドサウンド、Ｄｏｌｂｙ（登録商標）シアタサラウンド（ＤＴＳ）およびＢｌｕ−Ｒａｙ（登録商標）ディスクからの７．１のサラウンドサウンドの復号をサポートする。
【０２４６】
この実施形態において、ビデオカメラ２０１２は、圧縮された映像データを層内画像ベースのＭＰＥＧ（動画専門家集団）規格などの妥当なフォーマットでシステムユニット２０００による復号に向けて送信することができるように、単一の電荷結合素子（ＣＣＤ）、ＬＥＤインジケータおよびハードウェアベースのリアルタイムのデータ圧縮および符号化装置を含む。カメラＬＥＤインジケータは、例えば、システムユニット２０００からの妥当な制御データに応答して照明して不向きな照明状態を表すように配置されている。ビデオカメラ２０１２の実施形態は、ＵＳＢ、Ｂｌｕｅｔｏｏｔｈ（登録商標）またはＷｉ−Ｆｉ通信ポートを介してシステムユニット７００にさまざまに接続することができる。ビデオカメラの実施形態は１つまたはそれ以上の関連のマイクを含むことができ、そのうえ、オーディオデータを送信することができる。ビデオカメラの実施形態において、ＣＣＤは、高解像度ビデオ捕捉に向けて適切な解像度を有することができる。使用時には、ビデオカメラにより捕捉された画像は、例えばゲーム内に組み込むか、または、ゲーム制御入力と解釈することができる。別の実施形態において、カメラは、赤外線の光の検出に適した赤外線カメラである。
【０２４７】
一般に、データ通信がシステムユニット２０００の通信ポートの１つを介してビデオカメラなどの周辺デバイスまたはリモートコントロールで失敗せずに行われるように、デバイスドライバなどのソフトウェアの妥当なピースが供給されるべきである。デバイスドライバ技術は、よく知られているのでここでは詳細に説明しないが、例外的に言い添えると、当業者は、デバイスドライバまたは類似のソフトウェアインターフェースが説明するこの実施形態において必要である場合があることを理解するであろう。
【０２４８】
図２１は、本発明の一実施形態による、命令を処理するために使用することができる更なるハードウェアを示す。セルプロセッサ２０２８は、４つの基本コンポーネント、すなわち、メモリコントローラ２１６０および二重バスインターフェースコントローラ２１７０Ａ、Ｂ）を含む外部入出力構造体、パワープロセシングエレメント２１５０という主プロセッサ、シナジスティックプロセシングエレメント（ＳＰＥ）２１１０Ａ〜Ｈという８台のコプロセッサ、および、エレメントインタコネクトバス２１８０という上記のコンポーネントを接続する円形データバスを含むアーキテクチャを有する。セルプロセッサの総浮動小数点性能は、Ｐｌａｙｓｔａｔｉｏｎ  ２のデバイスのエモーションエンジンの６．２ＧＦＬＯＰｓと比較して２１８ＧＦＬＯＰＳである。
【０２４９】
パワープロセシングエレメント（ＰＰＥ）２１５０は、３．２ＧＨｚの内部クロックと共に実行されている両方向同時スレッド化パワー５７０準拠のＰｏｗｅｒＰＣコア（ＰＰＵ）８５５に基づく。５１２ｋＢのレベル２（Ｌ２）キャッシュおよび３２ｋＢのレベル１（Ｌ１）キャッシュを含む。ＰＰＥ  ２１５０は３．２ＧＨｚにて２５．６ＧＦＬＯＰｓに変換されるクロックサイクル当たり８つの単一の位置作業が可能である。ＰＰＥ  ２１５０の主役割は、コンピュータの作業負荷の大部分を処理するシナジスティックプロセシングエレメント２１１０Ａ〜Ｈのコントローラの役目を果たすことである。作動時には、ＰＰＥ  ２１５０は、ジョブ待ち行列を維持し、シナジスティックプロセシングエレメント２１１０Ａ〜Ｈのジョブを予定して、それらの進捗をモニタする。その結果として、各シナジスティックプロセシングエレメント２１１０Ａ〜Ｈは、役割がジョブをフェッチし、実行して、ＰＰＥ  ２１５０と同期することであるカーネルを実行する。
【０２５０】
各シナジスティックプロセシングエレメント（ＳＰＥ）２１１０Ａ〜Ｈは、それぞれのシナジスティックプロセシングユニット（ＳＰＵ）２１２０Ａ〜Ｈを含み、それぞれのメモリフローコントローラ（ＭＦＣ）２１４０Ａ〜Ｈは、それぞれのダイナミックメモリアクセスコントローラ（ＤＭＡＣ）２１４２Ａ〜Ｈ、それぞれのメモリマネジメントユニット（ＭＭＵ）２１４４Ａ〜Ｈおよびバスインターフェース（図示せず）を含む。各ＳＰＵ  ２１２０Ａ〜Ｈは、３．２ＧＨｚにてクロックされ、かつ、原則的に４ＧＢまで拡張可能である２５６ｋＢローカルＲＡＭ  ２１３０Ａ〜Ｈを含むＲＩＳＣプロセッサである。各ＳＰＥは、単精度性能の理論的な２５．６ＧＦＬＯＰＳを与える。ＳＰＵは、単一クロックサイクルにおいて、４個の単精度浮動小数点メンバ、４個の３２ビット番号、８個の１６ビット整数、または、１６個の８ビット整数で動作することができる。同じクロックサイクルにおいて、メモリ動作を実行することもできる。ＳＰＵ  ２１２０Ａ〜Ｈは、システムメモリＸＤＲＡＭ２０２６に直にアクセスせず、ＳＰＵ  ２１２０Ａ〜Ｈにより形成された６４ビットアドレスは、ＤＭＡコントローラ２１４２Ａ〜Ｈにエレメントインタコネクトバス２１８０およびメモリコントローラ２１６０を介してメモリにアクセスするように指示するＭＦＣ  ２１４０Ａ〜Ｈに渡される。
【０２５１】
エレメントインタコネクトバス（ＥＩＢ）２１８０は、合計１２個の参加要素である上記のプロセッサ要素、すなわち、ＰＰＥ  ２１５０、メモリコントローラ２１６０、二重バスインターフェース２１７０Ａ，Ｂおよび８台のＳＰＥ  ２１１０Ａ〜Ｈを接続するセルプロセッサ２０２８の内部にある論理的に円形の通信バスである。参加要素は、同時に１クロックサイクルにつき８バイトの速度にてバスに読み書きすることができる。前述のように、各ＳＰＥ  ２１１０Ａ〜Ｈは、より長い読み込みまたは書込みシーケンスを予定するＤＭＡＣ  ２１４２Ａ〜Ｈを含む。ＥＩＢは、４つのチャンネル、すなわち、時計回りおよび逆時計回りの方向に各２つを含む。その結果として１２個の参加要素について、任意の２つの参加要素間で最長の段階的なデータフローは、妥当な方向に６つのステップである。したがって、１２個のスロットの理論ピーク瞬時ＥＩＢ帯域幅は、参加要素間の調停を介した完全な利用の場合にはクロック当たり９６Ｂである。これは、３．２ＧＨｚのクロック速度にて、３０７．２ＧＢ／ｓ（ギガバイト／秒）のピーク帯域幅を等しい。
【０２５２】
メモリコントローラ２１６０は、Ｒａｍｂｕｓ  Ｉｎｃｏｒｐｏｒａｔｅｄにより開発されたＸＤＲＡＭインターフェース２１６２を含む。メモリコントローラは、２５．６ＧＢ／ｓの理論ピーク帯域幅を有するＲａｍｂｕｓ  ＸＤＲＡＭ  ２０２６とインターフェースする。
【０２５３】
二重バスインターフェース２１７０Ａ、Ｂは、Ｒａｍｂｕｓ  ＦｌｅｘＩＯ（登録商標）システムインターフェース２１７２Ａ、Ｂを含む。インターフェースは、各々８ビット幅である１２個のチャンネルに編成され、５本のパスは、インバウンドであり、７本がアウトバウンドである。これにより、セルプロセッサとコントローラ２１７０Ａを介したＩ／Ｏブリッジ２０３４と、コントローラ２１７０Ｂを介したＲｅａｌｉｔｙ  Ｓｉｍｕｌａｔｏｒグラフィクスユニット２１３０間に６２．４ＧＢ／ｓ（３６．４ＧＢ／ｓアウトバウンド、２６ＧＢ／ｓインバウンド）の理論ピーク帯域幅が得られる。
【０２５４】
Ｒｅａｌｉｔｙ  Ｓｉｍｕｌａｔｏｒグラフィクスユニット２１３０にセルプロセッサ２１２８により送られたデータは、通常は、頂点を描く、表面模様を多角形に適用する、照明状態を指定するなどの一連のコマンドである表示リストを含むことになる。
【０２５５】
図２２は、本発明の一実施形態による、それぞれのユーザＡ〜ユーザＥがインターネットを介してサーバ処理に接続されているゲームクライアント２２０２と対話するシーンＡ〜シーンＥの例示的な図である。ゲームクライアントは、ユーザがインターネットを介してサーバアプリケーションおよび処理に接続することを可能にするデバイスである。ゲームクライアントは、ユーザが、ゲーム、動画、音楽および写真などであるがこれらに限定されないオンライン娯楽コンテンツにアクセスして再生することを可能にする。さらに、ゲームクライアントは、ＶＯＩＰ、テキストチャットプロトコルおよび電子メールなどのオンライン通信アプリケーションへのアクセスを提供することができる。
【０２５６】
ユーザは、コントローラを介してゲームクライアントと対話する。いくつかの実施形態において、コントローラは、ゲームクライアント専用のコントローラであり、一方、他の実施形態において、コントローラは、キーボードおよびマウスの組合せとすることができる。一実施形態において、ゲームクライアントは、モニタ／テレビおよび関連のオーディオ設備を介してマルチメディアの環境を作り出すためにオーディオおよびビデオ信号を出力することができる独立型デバイスである。例えば、ゲームクライアントは、シンクライアント、内部ＰＣＩ−ｅｘｐｒｅｓｓカード、外部ＰＣＩ−ｅｘｐｒｅｓｓデバイス、ＥｘｐｒｅｓｓＣａｒｄデバイス、内部、外部、または無線ＵＳＢデバイスまたはＦｉｒｅｗｉｒｅ（登録商標）デバイスなどとすることができるがこれらに限定されない。他の実施形態において、ゲームクライアントは、ＤＶＲ、Ｂｌｕ−Ｒａｙプレーヤ、ＤＶＤプレーヤまたはマルチチャンネル受信器などのテレビまたは他のマルチメディア装置と一体化されている。
【０２５７】
図２２のシーンＡ内で、ユーザＡは、ゲームクライアント２２０２Ａと対号されたコントローラ２２０６Ａを使用してモニタ２２０４Ａ上に表示されたクライアントアプリケーションと対話する。同様に、シーンＢ内で、ユーザＢは、ゲームクライアント２２０２Ｂと対号されたコントローラ２２０６Ｂを使用してモニタ２２０４Ｂ上に表示された別のクライアントアプリケーションと対話する。シーンＣは、クライアント２２０２Ｃからのゲームおよびゲームおよびバディリストを示すモニタを見たときのユーザＣの後ろからのビューを示す。図２２は１つのサーバ処理モジュールを示すが、一実施形態において、複数のサーバ処理モジュールが世界中にある。各サーバ処理モジュールは、ユーザセッション制御、共有／コミュニケーション論理回路、ユーザ地理的場所および負荷平衡処理サービスのためのサブモジュールを含む。さらに、サーバ処理モジュールは、ネットワーク処理および分散型ストレージを含む。
【０２５８】
ゲームクライアント２２０２がサーバに処理モジュールを接続するとき、ユーザセッション制御を使用してユーザを認証することができる。認証されたユーザは、関連の仮想化された分散型ストレージおよび仮想化されたネットワーク処理を有することができる。ユーザの仮想化された分散型ストレージの一部として格納することができる例示的な項目としては、ゲーム、ビデオおよび音楽などなどであるがこれらに限定されない購入されたメディアがある。さらに、分散型ストレージを使用して、複数のゲームに向けたゲーム状態、個々のゲームに向けたカスタマイズされた環境およびゲームクライアントに向けた一般環境を保存することができる。一実施形態において、サーバ処理のユーザ地理的場所モジュールは、ユーザおよびそれぞれのゲームクライアントの地理的場所を判断するために使用される。共有／コミュニケーション論理回路および負荷平衡処理サービスがユーザの地理的場所を使用して、地理的場所および複数のサーバ処理モジュールに対する処理要求に基づいてパフォーマンスを最適化することができる。一方または両方ネットワーク処理およびネットワークストレージを仮想化すれば、ゲームクライアントからの処理タスクを十分に活用されていないサーバ処理モジュールに動的に移すことができる。したがって、負荷平衡を使用して、ストレージからのリコールおよびサーバ処理モジュールとゲームクライアントと間のデータ送信に関連したレイテンシを最小限に抑えることができる。
【０２５９】
サーバ処理モジュールは、サーバアプリケーションＡおよびサーバアプリケーションＢのインスタンスを有する。サーバ処理モジュールは、サーバアプリケーションＸ１およびサーバアプリケーションＸ２により示されているように複数のサーバアプリケーションをサポートすることができる。一実施形態において、サーバ処理は、クラスタ内の複数のプロセッサがサーバアプリケーションを処理することを可能にするクラスタ計算アーキテクチャに基づく。別の実施形態において、異なる形式のマルチコンピュータ処理方式が、サーバアプリケーションを処理するために適用される。これにより、複数のクライアントアプリケーションおよび対応するサーバアプリケーションを実行するより多数のゲームクライアントに対応するためにサーバ処理を拡大縮小することができる。あるいは、サーバ処理は、より大変な図形処理またはゲーム、ビデオ圧縮、またはアプリケーション複雑性により必要とされる計算要求の増大に対応するために拡大縮小することができる。一実施形態において、サーバ処理モジュールは、サーバアプリケーションを介して大部分の処理を実行する。これにより、グラフィックプロセッサ、ＲＡＭおよび一般プロセッサなどの相対的に高価なコンポーネントを中央に場所を位置させることができ、ゲームクライアントの費用が低減される。処理されたサーバアプリケーションデータは、モニタ上で表示されるようにインターネットを介して対応するゲームクライアントに送り返される。
【０２６０】
シーンＣは、ゲームクライアントおよびサーバ処理モジュールにより実行することができる例示的なアプリケーションを示す。例えば、一実施形態において、ゲームクライアント２２０２Ｃは、ユーザＣが、ユーザＡ、ユーザＢ、ユーザＤおよびユーザＥを含むバディリスト２２２０を作成および表示することを可能にする。図示するように、シーンＣにおいて、ユーザＣは、それぞれのユーザのリアルタイムの画像またはアバターをモニタ２２０４Ｃ上で見ることができる。サーバ処理は、ゲームクライアント２２０２Ｃのそれぞれのアプリケーションを、かつ、ユーザＡ、ユーザＢ、ユーザＤおよびユーザＥのそれぞれのゲームクライアント２２０２と共に実行する。サーバ処理がゲームクライアントＢにより実行されているアプリケーションを認識しているので、ユーザＡのバディリストは、ユーザＢがどのゲームを再生しているかを示すことができる。さらに尚も、一実施形態において、ユーザＡは、ユーザＢから直にゲームビデオにおいて実際を表示することができる。これは、単に、ユーザＢの処理されたサーバアプリケーションデータを、ゲームクライアントＢに加えてゲームクライアントＡに送ることによりイネーブルされる。
【０２６１】
仲間からのビデオを表示することができることに加えて、コミュニケーションアプリケーションは、仲間間のリアルタイムの通信が可能にすることができる。先の実施例に適用されたように、これにより、ユーザＡは、ユーザＢのリアルタイムのビデオを観ながら励ましまたはヒントを供給することができる。一実施形態において、双方向リアルタイム音声通信が、クライアント／サーバアプリケーションを介して確立される。別の実施形態において、クライアント／サーバアプリケーションは、テキストチャットをイネーブルする。さらに別の実施形態において、クライアント／サーバアプリケーションは、仲間の画面上での表示に向けて音声をテキストにコンバートする。
【０２６２】
シーンＤおよびシーンＥは、それぞれゲームコンソール２２１０Ｄおよび２２１０Ｅと対話しているそれぞれのユーザＤおよびユーザＥを示す。各ゲームコンソール２２１０Ｄおよび２２１０Ｅは、サーバ処理モジュールに接続されてりおり、かつ、サーバ処理モジュールがゲームコンソールおよびゲームクライアントに向けてゲーム再生を調整するネットワークを示す。
【０２６３】
図２３は、インターネットサービスプロバイダアーキテクチャの実施形態を示す。情報サービスプロバイダ（ＩＳＰ）２３７０は、多くの情報サービスを地理的に分散および接続されたユーザ２３８２にネットワーク２３８６を介して配信する。ＩＳＰは、株価最新情報、または、電波媒体、ニュース、スポーツ、ゲームなどなどの様々なサービスなど１つの形式のサービスのみを配信することができる。さらに、各ＩＳＰにより提供されるサービスは動的である、すなわち、サービスは、任意の時点にて追加または削除することができる。したがって、特定の形式のサービスを特定の個人に供給するＩＳＰは、経時的に変わる可能性がある。例えば、ユーザには、本人が故郷に居ながらにしてユーザに近い場所にてＩＳＰにより対応することができ、かつ、ユーザには、異なる街に移動したときには異なるＩＳＰにより対応することができる。故郷のＩＳＰは、必要情報およびデータを新しいＩＳＰに転送することになり、ユーザ情報が新しい街までユーザに「付いて行き」、データがユーザに身近となり、かつ、アクセスしやすくなる。別の実施形態において、マスタとサーバの関係を、ユーザについて情報を管理するマスタＩＳＰとマスタＩＳＰの制御下にあるユーザと直接にインターフェースするサーバＩＳＰとの間で確立することができる。他の実施形態において、データは、ユーザに対応するのにより良好な場所のＩＳＰをこれらのサービスを配信するＩＳＰにするためにクライアントが世界中を移動するときに１つのＩＳＰから別のＩＳＰに転送される。
【０２６４】
ＩＳＰ  ２３７０は、コンピュータによるサービスをネットワークで顧客に供給するアプリケーションサービスプロバイダ（ＡＳＰ）２３７２を含む。ＡＳＰモデルを用いて提供されるソフトウェアは、時にはオンデマンドのソフトウェアまたはサービスとしてのソフトウェア（ＳａａＳ）とも呼ばれる。特定用途プログラムへのアクセスを提供する単純な形（顧客関係管理などの）は、ＨＴＴＰなどの標準プロトコルを使用することによるものである。アプリケーションソフトウェアは、売主のシステム上に常駐し、かつ、売主またはシンクライアントなどの他のリモートインターフェースにより供給された専用クライアントソフトウェアにより、ＨＴＭＬを使用してウェブブラウザを介してユーザによりアクセスされる。
【０２６５】
広い地理学上の領域にわたって配信されるサービスではクラウドコンピューティングが使用されることが多い。クラウドコンピューティングは、動的に拡張性のあり、かつ、頻繁に仮想化されるリソースがインターネットでサービスとして供給されるコンピューティングのスタイルである。ユーザは、ユーザをサポートする「クラウド」内の技術インフラストラクチャの専門家である必要がない。クラウドコンピューティングは、サービス（ＩａａＳ）、サービス（ＰａａＳ）としてのプラットフォームおよびサービスとしてのソフトウェア（ＳａａＳ）としてのインフラストラクチャなど、異なるサービスで分割することができる。クラウドコンピューティングサービスは、ウェブブラウザからアクセスされる共通のビジネスアプリケーションをオンラインで供給することが多く、一方、ソフトウェアおよびデータは、サーバ上に記憶されている。クラウドという用語は、インターネットがどのようにコンピュータネットワークの図中に示されるかに基づく、インターネットの暗喩であり、かつ、インターネットが隠す複雑なインフラストラクチャのための抽象概念である。
【０２６６】
さらに、ＩＳＰ  ２３７０は、ゲームクライアントによりシングルおよびマルチプレーヤビデオゲームを再生するのに使用されるゲーム処理サーバ（ＧＰＳ）２３７４を含む。インターネットで再生される大部分のビデオゲームは、ゲームサーバに接続を介して動作する。通常は、ゲームでは、プレーヤからデータを収集して他のプレーヤに配信する専用サーバアプリケーションを使用する。これは、ピアツーピア配置より効率的かつ有効であるが、別個のサーバがサーバアプリケーションを採用する必要がある。別の実施形態において、ＧＰＳは、プレーヤ間の通信を確立し、それぞれのゲームプレデバイスは、集中型ＧＰＳに依存することなく情報を交換する。
【０２６７】
専用ＧＰＳは、クライアントから独立して実行するサーバである。このようなサーバは、通常、データセンタ内に位置する専用ハードウェア上で実行されており、より多くの帯域幅および専用の処理電力が得られる。専用サーバは、大部分のＰＣを基本とするマルチプレーヤゲームに向けてゲームサーバを採用する好適な方法である。大規模に、マルチプレーヤオンラインゲームは、通常、ゲームのタイトルを所有するソフトウェア会社により採用される専用サーバで稼動しており、専用サーバは、コンテンツを制御および更新することができる。
【０２６８】
ブロードキャスト処理サーバ（ＢＰＳ）２３７６は、オーディオまたはビデオ信号を視聴者に配信する。非常に狭い範囲の視聴者へのブロードキャスティングは、時にはナローキャスティングと呼ばれる。ブロードキャスト配信の最終工程は、信号がとのようにして聴取者または視聴者に届くかであり、ラジオ局またはテレビ放送局の場合と同様に、無線でアンテナおよび受信器に来る場合があるか、または、ステーションを介して、または、直にネットワークから有線テレビまたは有線ラジオ（あるいは、「ワイヤレスケーブル」）を介して来る場合がある。インターネットも、特に信号および帯域幅が共有することを可能にするマルチキャスティングで無線またはＴＶを受信側にもたらすことができる。従来、ブロードキャストは、国レベルの放送または地域レベルの放送など地理的領域により区切られてきた。しかしながら、速いインターネットの普及で、ブロードキャストは、コンテンツが世界のほとんどどの国にも到達することができるので地理により定義されない。
【０２６９】
ストレージサービスプロバイダ（ＳＳＰ）２３７８は、コンピュータ記憶空間および関連した管理サービスを供給する。ＳＳＰは、定期的なバックアップおよびアーカイブ処理も提供する。サービスとして記憶領域を提供することにより、ユーザは必要に応じてより多くの記憶領域を順序づけることができる。別の主要な長所は、ＳＳＰはバックアップサービスを含み、ユーザーは、自分たちのコンピュータのハードドライブが故障したとしてもユーザは全ての自分のデータを失うことにはならないという点である。さらに、複数のＳＳＰはユーザデータの全体的または部分的コピーを有することができ、これにより、ユーザは、効率的に、かつ、自分の居場所またはデータにアクセスするために使用しているデバイスから独立してデータにアクセスすることができる。例えば、ユーザは、自宅のコンピュータで、ならびに、移動中である間に携帯電話で動きに個人ファイルにアクセスすることができる。
【０２７０】
通信プロバイダ３８０は、ユーザに接続性をもたらす。１種類の通信プロバイダは、インターネットへのアクセスを提供するインターネットサービスプロバイダ（ＩＳＰ）である。ＩＳＰは、ダイヤルアップ、ＤＳＬ、ケーブルモデム、無線または専用高速インタコネクトなど、インターネットプロトコルデータグラムを配信するのに妥当なデータ伝送技術を使用して顧客を接続する。通信プロバイダは、電子メール、インスタントメッセージングおよびＳＭＳテクスティングなど、メッセージ送信サービスを供給することもできる。別の形式の通信プロバイダは、インターネットに直接のバックボーンアクセスを供給することにより帯域幅またはネットワークアクセスを販売するネットワークサービスプロバイダ（ＮＳＰ）である。ネットワークサービスプロバイダは、高速インターネットアクセスなどを提供する電気通信会社、データキャリア、無線通信プロバイダ、インターネットサービスプロバイダ、ケーブルテレビ事業者から成る場合がある。
【０２７１】
データ交換２３８８は、ＩＳＰ  ２３７０の内側のいくつかのモジュールを相互接続して、ネットワーク２３８６を介してこれらのモジュールをユーザ２３８２に接続する。データ交換２３８８は、ＩＳＰ  ２３７０の全てのモジュールが近在する小さい領域を対象とする可能性があるか、または、異なるモジュールが地理的に分散されている広い地理的領域を対象とする可能性がある。例えば、データ交換２３８８は、データセンタの仕切内の高速ギガビットイーサネット（登録商標）（またはより高速）または大陸間の仮想地域網（ＶＬＡＮ）を含むことができる。
【０２７２】
ユーザ２３８２は、少なくともＣＰＵ、ディスプレイおよびＩ／Ｏを含むクライアントデバイス２３８４でリモートサービスにアクセスする。クライアントデバイスは、ＰＣ、携帯電話、ネットブック、ＰＤＡなどとすることができる。一実施形態において、ＩＳＰ  ２３７０は、クライアントにより使用されるデバイスの形式を認識して、採用された通信方法を調節する。他の場合において、クライアント装置は、アクセスＩＳＰ  ２３７０への、ｈｔｍｌなど標準通信方法を使用する。
【０２７３】
本発明の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースかまたはプログラム可能な家電、ミニコンピュータ、メインフレームコンピュータなどを含む様々なコンピュータシステム構成で実践することができる。本発明は、タスクが有線または無線ネットワークを介してリンクされる遠隔処理デバイスにより行われる分散型計算処理環境において実践することもできる。
【０２７４】
先の実施形態を念頭に置いて、本発明は、コンピュータシステム内に格納されたデータを伴う様々なコンピュータで実行される演算を採用することができることを理解されたい。これらの演算とは、物理的数量の物理的操作を必要とするものである。本発明の一部を成す本明細書で説明する演算のいずれも、有用な機械演算である。本発明は、これらの操作を行う装置または装置に関するものである。装置は、特に所要の目的のために作製することができるか、または、装置は、コンピュータ内に格納されたコンピュータプログラムにより選択的に起動させられるかまたは構成される汎用コンピュータとすることができる。特に、様々な汎用機械を本明細書の教示に従って書かれたコンピュータプログラムと共に使用することができるか、または、必要な操作を行うようにより特化した装置を作製したほうが便利であろう。
【０２７５】
本発明は、コンピュータ可読媒体上のコンピュータ可読コードとして実施することもできる。コンピュータ可読媒体は、その後にコンピュータシステムにより読み込むことができるデータを記憶することができる任意のデータ記憶装置である。コンピュータ可読媒体の例としては、ハードドライブ、ネットワーク接続ストレージ（ＮＡＳ）、読み取り専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープおよび他の光学および非光学データストレージデバイスがある。コンピュータ可読媒体は、コンピュータ可読コードが分散されて格納および実行されるようにネットワークを結合されたコンピュータシステムで配信されるコンピュータ可読有形媒体を含むことができる。
【０２７６】
方法動作を特定の順番で説明してきたが、他のハウスキーピング作業を作業間で行うことができるか、または、オーバレイ作業の処理が所望の方法で行われる限り、若干異なる時間にて行われるか、または、処理に関連した様々な間隔にて処理作業の発生を可能にするシステムにおいて配信することができるように作業を調整することができることを理解されたい。
【０２７７】
上述した本発明は明快な理解を目的としてある程度詳細に説明したが、特定の変更および改変を添付の特許請求の範囲の範囲内で実践することができることが明らかであろう。したがって、本実施形態は、例示的でありかつ制限的ではないとみなすべきであり、本発明は、本明細書に示す詳細に限定されず、添付の特許請求の範囲適用範囲および均等物内で改変することができる。
【図１Ａ】
2020099729.tif 000003
【図１Ｂ】
2020099729.tif 000004
【図２Ａ】
2020099729.tif 000005
【図２Ｂ】
2020099729.tif 000006
【図３】
2020099729.tif 000007
【図４Ａ】
2020099729.tif 000008
【図４Ｂ】
2020099729.tif 000009
【図４Ｃ】
2020099729.tif 000010
【図５】
2020099729.tif 000011
【図６】
2020099729.tif 000012
【図７Ａ】
2020099729.tif 000013
【図７Ｂ】
2020099729.tif 000014
【図８】
2020099729.tif 000015
【図９】
2020099729.tif 000016
【図１０】
2020099729.tif 000017
【図１１】
2020099729.tif 000018
【図１２】
2020099729.tif 000019
【図１３】
2020099729.tif 000020
【図１４Ａ】
2020099729.tif 000021
【図１４Ｂ】
2020099729.tif 000022
【図１４Ｃ】
2020099729.tif 000023
【図１５】
2020099729.tif 000024
【図１６】
2020099729.tif 000025
【図１７】
2020099729.tif 000026
【図１８】
2020099729.tif 000027
【図１９】
2020099729.tif 000028
【図２０】
2020099729.tif 000029
【図２１】
2020099729.tif 000030
【図２２】
2020099729.tif 000031
【図２３】
2020099729.tif 000032