IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー・インタラクティブエンタテインメント エルエルシーの特許一覧

特開2022-177062ゲームプレイコンパニオンアプリケーション
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022177062
(43)【公開日】2022-11-30
(54)【発明の名称】ゲームプレイコンパニオンアプリケーション
(51)【国際特許分類】
   A63F 13/85 20140101AFI20221122BHJP
   A63F 13/53 20140101ALI20221122BHJP
   A63F 13/5375 20140101ALI20221122BHJP
   A63F 13/55 20140101ALI20221122BHJP
   A63F 13/34 20140101ALI20221122BHJP
【FI】
A63F13/85
A63F13/53
A63F13/5375
A63F13/55
A63F13/34
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2022139282
(22)【出願日】2022-09-01
(62)【分割の表示】P 2020126581の分割
【原出願日】2017-06-08
(31)【優先権主張番号】62/365,202
(32)【優先日】2016-07-21
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/349,546
(32)【優先日】2016-06-13
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】15/476,597
(32)【優先日】2017-03-31
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】518187455
【氏名又は名称】ソニー・インタラクティブエンタテインメント エルエルシー
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】ベネデット、ウォーレン
(72)【発明者】
【氏名】ノス、ランドン
(72)【発明者】
【氏名】シェルワニ、アディル
(72)【発明者】
【氏名】楠本 晶彦
(72)【発明者】
【氏名】ハヤシダ、ニコル
(57)【要約】
【解決手段】ゲーム方法は、第1のユーザの第1のゲームプレイに関連して、ゲームアプリケーションの第1のインスタンスを実施するように構成された第1のユーザに関連付けられた第1のコンピューティングデバイスと第1の通信チャネルを確立することを含む。方法は、第1のユーザに関連付けられた第2のコンピューティングデバイスと第2のチャネルを確立することをさらに含む。方法は、ゲームアプリケーションをプレイする第1のユーザの第1のゲームプレイと第2のユーザの第2のゲームプレイとに関する情報を含むインタフェースを生成することをさらに含む。方法は、第1のユーザの第1のゲームプレイと同時に、表示のためにインタフェースと情報とを第2のチャネルを介して第2のコンピューティングデバイスに配信することをさらに含む。
【選択図】図22A
【特許請求の範囲】
【請求項1】
ゲームのための方法であって、
第1のユーザの第1のゲームプレイに対してビデオゲームの第1のインスタンスを実施して第1の複数の画像を生成することと、
第2のユーザの第2のゲームプレイに対して前記ビデオゲームの第2のインスタンスを実施し、前記第2のゲームプレイの第2の複数の画像を第2の通信チャネルを介して前記第2のユーザの第2のデバイスにストリーミングすることと、
前記第1のゲームプレイおよび前記第2のゲームプレイを前記第1のユーザの前記第1のゲームプレイによって生成されたシーンに並べることと、
前記第2のユーザの前記第2のゲームプレイに基づいて前記シーンにキャラクタを含む複数のオーバーレイ画像を生成することと、
前記複数のオーバーレイ画像を前記第1の複数の画像に並べることと、
前記第1の複数の画像に並べられた前記複数のオーバーレイ画像をオーバーレイして複数の結合された画像を生成することと、
前記複数の結合された画像を第1の通信チャネルを介して前記第1のユーザの第1のデバイスにストリーミングすることと、
を含む、方法。
【請求項2】
前記第2のゲームプレイを介して前記第2のユーザによって前記キャラクタを制御すること
をさらに含む、請求項1に記載の方法。
【請求項3】
前記第1のゲームプレイおよび前記第2のゲームプレイを並べることは、
前記第1のゲームプレイからのゲーム状態を用いて前記第2のゲームプレイにおいて前記シーンを生成し、前記第1のゲームプレイに前記第2のゲームプレイを並べること
を含む、請求項1に記載の方法。
【請求項4】
前記複数のオーバーレイ画像を生成することは、
前記第2の複数の画像をフィルタリングして前記キャラクタを抽出すること
を含む、請求項1に記載の方法。
【請求項5】
前記複数のオーバーレイ画像における前記キャラクタのアクションを用いて前記第1のユーザの前記第1のゲームプレイに影響を与えること
をさらに含む、請求項1に記載の方法。
【請求項6】
前記ビデオゲームはシングルプレイヤゲームである
請求項1に記載の方法。
【請求項7】
前記第1のユーザの前記第1のデバイスと前記第2のユーザの前記第2のデバイスの間で通信セッションを確立して前記第1のユーザと前記第2のユーザの間の通信を可能にすること
をさらに含む、請求項1に記載の方法。
【請求項8】
ゲームクラウドシステムにおけるゲームのためのコンピュータプログラムを格納する非一時的コンピュータ読み取り可能な媒体であって、
第1のユーザの第1のゲームプレイに対してビデオゲームの第1のインスタンスを実施して第1の複数の画像を生成するためのプログラム命令と、
第2のユーザの第2のゲームプレイに対して前記ビデオゲームの第2のインスタンスを実施し、前記第2のゲームプレイの第2の複数の画像を第2の通信チャネルを介して前記第2のユーザの第2のデバイスにストリーミングするためのプログラム命令と、
前記第1のゲームプレイおよび前記第2のゲームプレイを前記第1のユーザの前記第1のゲームプレイによって生成されたシーンに並べるためのプログラム命令と、
前記第2のユーザの前記第2のゲームプレイに基づいて前記シーンにキャラクタを含む複数のオーバーレイ画像を生成するためのプログラム命令と、
前記複数のオーバーレイ画像を前記第1の複数の画像に並べるためのプログラム命令と、
前記第1の複数の画像に並べられた前記複数のオーバーレイ画像をオーバーレイして複数の結合された画像を生成するためのプログラム命令と、
前記複数の結合された画像を第1の通信チャネルを介して前記第1のユーザの第1のデバイスにストリーミングするためのプログラム命令と、
を含む、コンピュータ読み取り可能な媒体。
【請求項9】
前記第2のゲームプレイを介して前記第2のユーザによって前記キャラクタを制御するためのプログラム命令
をさらに含む、請求項8に記載のコンピュータ読み取り可能な媒体。
【請求項10】
前記第1のゲームプレイおよび前記第2のゲームプレイを並べるためのプログラム命令は、
前記第1のゲームプレイからのゲーム状態を用いて前記第2のゲームプレイにおいて前記シーンを生成し、前記第1のゲームプレイに前記第2のゲームプレイを並べるためのプログラム命令
を含む、請求項8に記載のコンピュータ読み取り可能な媒体。
【請求項11】
前記複数のオーバーレイ画像を生成するためのプログラム命令は、
前記第2の複数の画像をフィルタリングして前記キャラクタを抽出するためのプログラム命令
を含む、請求項8に記載のコンピュータ読み取り可能な媒体。
【請求項12】
前記複数のオーバーレイ画像における前記キャラクタのアクションを用いて前記第1のユーザの前記第1のゲームプレイに影響を与えるためのプログラム命令
をさらに含む、請求項8に記載のコンピュータ読み取り可能な媒体。
【請求項13】
前記ビデオゲームはシングルプレイヤゲームである
請求項8に記載のコンピュータ読み取り可能な媒体。
【請求項14】
前記第1のユーザの前記第1のデバイスと前記第2のユーザの前記第2のデバイスの間で通信セッションを確立して前記第1のユーザと前記第2のユーザの間の通信を可能にするためのプログラム命令
をさらに含む、請求項8に記載のコンピュータ読み取り可能な媒体。
【請求項15】
コンピュータシステムであって、
プロセッサと、
前記プロセッサと結合され、命令を格納するメモリとを含み、
前記命令が前記コンピュータシステムによって実行される場合、前記コンピュータシステムにゲームのための方法を実行させ、前記方法は、
第1のユーザの第1のゲームプレイに対してビデオゲームの第1のインスタンスを実施して第1の複数の画像を生成することと、
第2のユーザの第2のゲームプレイに対して前記ビデオゲームの第2のインスタンスを実施し、前記第2のゲームプレイの第2の複数の画像を第2の通信チャネルを介して前記第2のユーザの第2のデバイスにストリーミングすることと、
前記第1のゲームプレイおよび前記第2のゲームプレイを前記第1のユーザの前記第1のゲームプレイによって生成されたシーンに並べることと、
前記第2のユーザの前記第2のゲームプレイに基づいて前記シーンにキャラクタを含む複数のオーバーレイ画像を生成することと、
前記複数のオーバーレイ画像を前記第1の複数の画像に並べることと、
前記第1の複数の画像に並べられた前記複数のオーバーレイ画像をオーバーレイして複数の結合された画像を生成することと、
前記複数の結合された画像を第1の通信チャネルを介して前記第1のユーザの第1のデバイスにストリーミングすることと、
を含む、コンピュータシステム。
【請求項16】
前記方法は、
前記第2のゲームプレイを介して前記第2のユーザによって前記キャラクタを制御すること
をさらに含み、
前記ビデオゲームはシングルプレイヤゲームである
請求項15に記載のコンピュータシステム。
【請求項17】
前記第1のゲームプレイおよび前記第2のゲームプレイを並べることは、
前記第1のゲームプレイからのゲーム状態を用いて前記第2のゲームプレイにおいて前記シーンを生成し、前記第1のゲームプレイに前記第2のゲームプレイを並べること
を含む、請求項15に記載のコンピュータシステム。
【請求項18】
前記複数のオーバーレイ画像を生成することは、
前記第2の複数の画像をフィルタリングして前記キャラクタを抽出すること
を含む、請求項15に記載のコンピュータシステム。
【請求項19】
前記方法は、
前記複数のオーバーレイ画像における前記キャラクタのアクションを用いて前記第1のユーザの前記第1のゲームプレイに影響を与えること
をさらに含む、請求項15に記載のコンピュータシステム。
【請求項20】
前記方法は、
前記第1のユーザの前記第1のデバイスと前記第2のユーザの前記第2のデバイスの間で通信セッションを確立して前記第1のユーザと前記第2のユーザの間の通信を可能にすること
をさらに含む、請求項15に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ビデオゲームに関する。特に、本開示は、ゲームアプリケーションのゲームプレイに関するゲーム情報を提供するコンパニオンアプリケーションを生成、実施する方法及びシステムを記載する。ゲーム情報は、ユーザのソーシャルネットワークに基づく。
【背景技術】
【0002】
クラウドベースのシステムは、コンピュータリソース(ハードウェア及びソフトウェア)を用いて、ネットワーク(例えば、インターネット)を通してサービスを配信する。ゲームの文脈においては、サービスによって、遠隔クライアントへのコンテンツのストリーミングを可能になり、ほとんどの処理がサーバで行われ、分配されてよい。遠隔クライアントで行われた入力は、クライアント側に専用のゲームハードウェアを必要とせずに、ビデオゲームの実行を駆動する。従って、クラウドベースのゲームは、ユーザにとっては、複雑なハードウェアの制限無しにより多くのビデオゲームタイトルにアクセスするのが容易になり、ゲーム供給者にとっては、一元化された場所からゲームコードを管理するのが容易になるので、人気が増している。
【0003】
ユーザが、異なる結果を与える複数のオプションを提示し得るビデオゲームのゲームプレイを進んでいくと、ゲームプレイをどの方向に進めるかの決定が難しい場合がある。例えば、ユーザは、ゲームプレイにおいて目に見えるほどの進展が無い方向を避けたい場合があるが、外部ソースを通して得られる事前の知識が無いと、ユーザは、まさに行き止まりになる方向を回避できない。場合によっては、ユーザは、ゲームのある部分で、ゲームプレイを進行させる適切な方向を発見するまでに、ビデオゲームが提示し得る可能な全ての方向をプレイする場合がある。ビデオゲームにおいて可能な全ての方向をプレイするのを回避することが望ましい。
【0004】
この文脈において、開示の実施形態が生じる。
【発明の概要】
【0005】
本開示の実施形態は、ビデオゲームの複数のユーザによるゲームプレイ中に様々なポイントで生成されるスナップショットを保存し、ビデオゲームのゲームプレイ中にユーザに表示可能なタイムラインを生成するシステム及び方法に関する。ここで、スナップショットは、選択したスナップショットに対応するポイントで始まる同じまたは他のユーザによるゲームプレイにジャンプするために使用される。本開示の他の実施形態は、特に、クラウドベースのゲームシステムで実行される時に、記憶されたゲームプレイのビデオ記録を介して、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイにユーザがジャンプすることを提供するシステム及び方法に関する。本開示のさらに別の実施形態は、ユーザのゲームプレイをサポートするコンパニオンアプリケーションを実施するシステム及び方法に関する。コンパニオンアプリケーションは、全員、同じゲームアプリケーションを同時にプレイしているユーザ及び他のプレイヤのゲームプレイに関する情報を提供する。本開示の幾つかの発明の実施形態を以下に記載する。
【0006】
一実施形態において、ゲーム世界をナビゲートする方法を開示する。方法は、複数のユーザに関連して実行されたビデオゲームの複数のインスタンスから生成された複数のスナップショットをキャプチャすることを含む。方法は、ビデオゲームをプレイする第1のユーザの第1のタイムラインを表示することをさらに含み、第1のタイムラインは、第1のユーザに関連して実行しているビデオゲームの第1のインスタンスの現在レンダリングされている画像に関連してビデオゲームを進めている少なくとも一人のユーザのスナップショット画像を含む。方法は、第1のユーザに関連付けられた複数の第1のスナップショット画像を複数の第1のサムネイルで第1のタイムラインに表示することも含み、複数の第1のスナップショットは、現在レンダリングされている画像と比べて、第1のユーザの過去の進行を示す少なくとも1つのレンダリングされた画像を含む。方法は、第2のユーザに関連付けられた複数の第2のスナップショットを複数の第2のサムネイルで表示することをさらに含み、複数の第2のスナップショットは、現在レンダリングされている画像の後のビデオゲームのポイントで、第2のユーザの進行を示す少なくとも1つのレンダリングされた画像を含む。
【0007】
他の実施形態において、ゲーム世界をナビゲートする方法を開示する。方法は、ビデオゲームをプレイする第1のユーザに関連して、ゲームクラウドシステムでビデオゲームの第1のインスタンスを実行することを含む。方法は、ビデオゲームの第1のインスタンスの実行に関連して生成された第1の複数のレンダリングされた画像の複数の第1のスナップショットをキャプチャすることを含み、第1のスナップショットは、それぞれ、ビデオゲームの進行の一意のポイントに関連付けられる。方法は、ビデオゲームをプレイしている第2のユーザに関連して、ビデオゲームの第2のインスタンスの実行に関連して生成された第2の複数のレンダリングされた画像の複数の第2のスナップショットをキャプチャすることをさらに含む。方法は、ビデオゲームをプレイする第1のユーザと第2のユーザの進行を示すタイムラインを表示することをさらに含み、タイムラインは、第1のインスタンスの実行から生成された現在レンダリングされている画像と同時に表示される。
【0008】
さらに別の実施形態において、ゲーム世界をナビゲートするように構成されたゲームクラウドシステムを開示する。ゲームクラウドシステムは、ビデオゲームをプレイする複数のユーザに関連してビデオゲームの複数のインスタンスを実行するように構成された複数の仮想ゲームエンジンを管理するように構成されたゲームサーバを含み、仮想ゲームエンジンは、複数のインスタンスの実行から生成されたレンダリングされた画像の複数のスナップショットをキャプチャするように構成され、対応するスナップショットは、対応するスナップショットから始まるビデオゲームのインスタンスの実行を可能にする。ゲームクラウドシステムは、複数のスナップショットを記憶するためのスナップショットデータストアを含む。ゲームクラウドシステムは、第1のユーザに関連してビデオゲームの第1のインスタンスを実行するように構成された第1の仮想ゲームエンジンを含み、第1の仮想ゲームエンジンは、ビデオゲームをプレイする第1のユーザの第1のタイムラインを生成するように構成され、第1のタイムラインは、第1のインスタンスの現在レンダリングされている画像と比べて、第1のユーザの過去の進行を示す少なくとも1つのレンダリングされた画像を含む複数の第1のスナップショット画像と、第2のユーザに関連付けられた複数の第2のスナップショットとを含み、複数の第2のスナップショットは、現在レンダリングされている画像の後のビデオゲームのポイントの第2のユーザの進行を示す少なくとも1つのレンダリングされた画像を含む。
【0009】
他の実施形態において、ゲーム世界をナビゲートする方法を開示する。方法は、ストリーミングゲームサービスを介してビデオゲームを実行することを含み、ビデオゲームは、ネットワークを通して通信しているユーザデバイスのディスプレイにレンダリングされ、ユーザデバイスは、第1のユーザに関連付けられている。方法は、ユーザデバイスのディスプレイに、ビデオゲームの複数のシーンを生成することを含み、シーンは、ビデオゲームの異なるパスを通って進行している。方法は、現在レンダリングされているシーンと共に表示するタイムラインを生成することを含み、タイムラインは、第1のユーザによるビデオゲームの進行に関連付けられたスナップショット画像を示す複数の第1のサムネイルを含み、タイムラインは、第2のユーザによるビデオゲームの今後の進行に関連付けられたスナップショット画像を示す複数の第2のサムネイルを含み、複数の第2のサムネイルで第1のサムネイルを選択することによって、第2のユーザに対してレンダリングされるビデオゲームの今後の状態にジャンプできる。
【0010】
一実施形態において、ゲーム方法を開示する。方法は、ゲームアプリケーションのプレイヤのゲームプレイのビデオ記録をユーザに関連付けられたクライアントデバイスにネットワークを介して配信することを含み、ビデオ記録は、プレイヤのゲームプレイの第1のポイントでキャプチャされたスナップショットに関連付けられている。方法は、ゲームプレイのジャンプポイントの選択をクライアントデバイスから受信することを含む。方法は、スナップショットに基づいてゲームアプリケーションのインスタンスを開始することを含み、インスタンスは、ジャンプゲームプレイをインスタンス化する。方法は、ゲームプレイを指示するために使用される入力コマンドのシーケンスにアクセスすることを含み、入力コマンドのシーケンスは、スナップショットに関連付けられている。方法は、クライアントデバイスでレンダリングするために、入力コマンドのシーケンスに基づいて、ゲームアプリケーションのインスタンスで複数の画像フレームを生成することを含む。複数の画像フレームは、第1のポイントからジャンプポイントまでプレイヤのゲームプレイを再生する。方法は、ジャンプポイントから始まるジャンプゲームプレイのゲームアプリケーションのインスタンスに関して、クライアントデバイスからの入力コマンドを処理することを含む。
【0011】
ゲームの他の方法を開示する。方法は、プレイヤのゲームプレイの第1のポイントでキャプチャされた開始スナップショットに基づいて、ゲームアプリケーションのインスタンスを開始することを含む。方法は、スナップショットに関連付けられ、ゲームプレイを指示するために使用される入力コマンドのシーケンスにアクセスすることを含む。方法は、ユーザのクライアントデバイスでレンダリングするために、入力コマンドのシーケンスに基づいて、ゲームアプリケーションのインスタンスで複数の画像フレームを生成することを含み、複数の画像フレームは、ゲームプレイのポイントからゲームプレイを再生する。方法は、複数の画像フレームの第1の画像フレームに対応するクライアントデバイスからジャンプゲームを開始する開始要求を受信することを含み、第1の画像フレームは、ゲームプレイのジャンプポイントに対応する。方法は、ジャンプポイントから始まるジャンプゲームプレイを実行するゲームアプリケーションのインスタンスで、クライアントデバイスからの入力コマンドを処理することを含む。
【0012】
他の実施形態において、ゲームをするように構成されたゲームクラウドシステムを開示する。ゲームクラウドシステムは、ゲームアプリケーションをプレイする複数のユーザに関連して、ゲームアプリケーションの複数のインスタンスを実行するように構成された複数の仮想ゲームエンジンを管理するように構成されたゲームサーバを含み、仮想ゲームエンジンは、複数のインスタンスの実行から生成されたレンダリングされた画像の複数のスナップショットをキャプチャするように、また、複数のスナップショットのそれぞれに関する情報をキャプチャするように構成され、対応するスナップショットに関する情報は、対応するスナップショットから始まるゲームアプリケーションのインスタンスの実行を可能にする。ゲームクラウドシステムは、複数のスナップショットを記憶するためのスナップショットデータストアと、情報を記憶するためのユーザデータストアとを含む。ゲームクラウドシステムは、仮想ゲームエンジンを含み、仮想ゲームエンジンは、ゲームアプリケーションのプレイヤのゲームプレイのビデオ記録を、ユーザに関連付けられたクライアントデバイスにネットワークを介して配信するように構成される。ビデオ記録は、プレイヤのゲームプレイの第1のポイントでキャプチャされたスナップショットに関連付けられている。仮想ゲームエンジンは、ゲームプレイのジャンプポイントの選択をクライアントデバイスから受信するように構成される。仮想ゲームエンジンは、スナップショットに基づいて、ゲームアプリケーションのインスタンスを開始するように構成され、インスタンスは、ジャンプゲームプレイをインスタンス化する。仮想ゲームエンジンは、ゲームプレイを指示するために使用される入力コマンドのシーケンスにアクセスするように構成され、入力コマンドは、スナップショットに関連付けられている。仮想ゲームエンジンは、クライアントデバイスでレンダリングするために、入力コマンドのシーケンスに基づいて、ゲームアプリケーションのインスタンスで複数の画像フレームを生成するように構成される。画像フレームは、第1のポイントからジャンプポイントまでゲームプレイを再生する。仮想ゲームエンジンは、ジャンプポイントから始まるジャンプゲームプレイを実行するゲームアプリケーションのインスタンスで、クライアントデバイスからの入力コマンドを処理するように構成される。
【0013】
さらに別の実施形態において、第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションの実施を含むゲーム方法を開示する。コンパニオンアプリケーションは、全員、同じゲームアプリケーションを同時にプレイしている複数のユーザのゲームプレイに関する情報を提供する。方法は、第1のユーザに関連付けられた第1のコンピューティングデバイスと第1の通信チャネルを確立することを含む。第1の通信チャネルは、第1のユーザの第1のゲームプレイに関連して、ゲームアプリケーションの第1のインスタンスを実施するように構成される。方法は、第1のユーザに関連付けられた第2のコンピューティングデバイスと第2のチャネルを確立することを含む。第1のチャネル及び第2のチャネルは、1つまたは複数の通信ネットワーク内に構成される。方法は、ゲームアプリケーションをプレイする第1のユーザの第1のゲームプレイと第2のユーザの第2のゲームプレイに関する情報を含むインタフェースを生成することを含む。インタフェースは、コンパニオンアプリケーションを実施する。方法は、第1のユーザの第1のゲームプレイと同時に表示するために、インタフェースと情報とを第2のチャネルを介して第2のコンピューティングデバイスに配信することを含む。
【0014】
他の実施形態においては、第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションを実施するゲームの他の方法を開示する。コンパニオンアプリケーションは、全員、同じゲームアプリケーションを同時にプレイしている複数のユーザのゲームプレイに関する情報を提供する。方法は、第1のユーザの第1のゲームプレイに関連して、ゲームアプリケーションの第1のインスタンスを確立することを含み、第1のインスタンスは、クラウドベースのゲームシステム内で実行可能である。方法は、第2のユーザの第2のゲームプレイに関連して、ゲームアプリケーションの第2のインスタンスを確立することを含み、第2のインスタンスは、クラウドベースのゲームシステム内で実行可能である。第1のインスタンス及び第2のインスタンス内で実行される両方のゲームプレイは、同時に生じている。方法は、第1のユーザと第2のユーザが友達関係を有し、両者ともゲームアプリケーションをプレイしていることを、第1のユーザと第2のユーザのユーザプロフィールに基づいて決定することを含む。方法は、第1のユーザに関連付けられた第1のコンピューティングデバイスと第1の通信チャネルを確立することを含み、第1の通信チャネルは、ゲームアプリケーションの第1のインスタンスを実施するように構成される。方法は、第1のユーザに関連付けられた第2のコンピューティングデバイスと第2のチャネルを確立することを含む。第1のチャネルと第2のチャネルは、1つまたは複数の通信ネットワーク内に構成される。方法は、ゲームアプリケーションをプレイしている第1のユーザの第1のゲームプレイと第2のユーザの第2のゲームプレイに関する情報を含むインタフェースを生成することを含む。インタフェースは、コンパニオンアプリケーションを実施する。方法は、第1のユーザの第1のゲームプレイと同時に表示するために、インタフェースと情報とを第2のチャネルを介して第2のコンピューティングデバイスに配信することを含む。
【0015】
他の実施形態においては、ゲームをするように構成されたゲームクラウドシステムを開示する。ゲームクラウドシステムは、ゲームアプリケーションをプレイする複数のユーザに関連して、ゲームアプリケーションの複数のインスタンスを実行するように構成された複数の仮想ゲームエンジンを管理するように構成されたゲームサーバを含み、仮想ゲームエンジンは、複数のインスタンスの実行から生成されたレンダリングされた画像の複数のスナップショットをキャプチャするように、また、複数のスナップショットのそれぞれに関する情報をキャプチャするように構成され、対応するスナップショットに関する情報は、対応するスナップショットから始まるゲームアプリケーションのインスタンスの実行を可能にする。ゲームクラウドシステムは、複数のスナップショットを記憶するためのスナップショットデータストアと、情報を記憶するためのユーザデータストアとを含む。ゲームクラウドシステムは、第1のユーザの第1のゲームプレイに関連して、ゲームアプリケーションの第1のインスタンスを確立、実行するように構成された第1の仮想ゲームエンジンを含む。ゲームクラウドシステムは、第2のユーザの第2のゲームプレイに関連して、ゲームアプリケーションの第2のインスタンスを確立、実行するように構成された第2の仮想ゲームエンジンを含む。ゲームクラウドシステムは、第1のユーザと第2のユーザが友達関係を有し、両者ともゲームアプリケーションをプレイしていると決定するように構成されたコンパニオンアプリケーション生成部を含み、決定は、第1のユーザと第2のユーザのユーザプロフィールに基づく。コンパニオンアプリケーション生成部は、第1のユーザに関連付けられた第1のコンピューティングデバイスと第1の通信チャネルを確立するようにさらに構成され、第1の通信チャネルは、ゲームアプリケーションの第1のインスタンスを実施するように構成される。コンパニオンアプリケーション生成部は、第1のユーザに関連付けられた第2のコンピューティングデバイスと第2のチャネルを確立するようにさらに構成される。第1のチャネル及び第2のチャネルは、1つまたは複数の通信ネットワーク内に構成される。コンパニオンアプリケーション生成部は、ゲームアプリケーションをプレイする第1のユーザの第1のゲームプレイと第2のユーザの第2のゲームプレイに関する情報を含むインタフェースを生成するようにさらに構成される。インタフェースは、コンパニオンアプリケーションを実施する。コンパニオンアプリケーション生成部は、インタフェースと上記情報とを、表示のために第2のチャネルを介して第2のコンピューティングデバイスに配信するようにさらに構成される。
【0016】
開示の他の態様は、添付の図面と合わせて、開示の原理を例を挙げて示す以下の詳細な記載から明らかとなろう。
【図面の簡単な説明】
【0017】
開示は、添付の図面と共に以下の記載を参照することによって最も良く理解されよう。
【0018】
図1】本開示の一実施形態による、クラウドゲームネットワークを介して実行される複数のユーザのビデオゲームのゲームプレイ中に生成されるスナップショットの保存に使用されるシステムの図である。
【0019】
図2】開示の実施形態による、ゲームクラウドシステム(GCS)に記憶されたビデオゲームへのアクセス及びプレイ、ゲームプレイに関連して生成されたスナップショットの記憶、スナップショットを介して記憶したゲームプレイのプレビュー、スナップショットを介したビデオゲームのナビゲート、及び、スナップショットを介した記憶されたゲームプレイへのジャンプを可能にするためのシステムダイアグラムを示す。
【0020】
図3A】本開示の一実施形態による、ユーザによるビデオゲームのゲームプレイ中に表示されるタイムラインの図である。タイムラインは、そのユーザのゲームプレイのスナップショット画像と、他のユーザのゲームプレイのスナップショット画像とを示す、
【0021】
図3B】本開示の一実施形態による、ユーザによるビデオゲームのゲームプレイ中に表示される1つまたは複数のタイムラインの図である。タイムラインは、一人または複数のユーザのビデオゲームのゲームプレイのスナップショット画像を示す。
【0022】
図4A】本開示の一実施形態による、少なくとも一人のユーザのビデオゲームのゲームプレイのスナップショット画像を示すタイムラインの図である。スナップショットの選択によって、スナップショット画像を拡大できる。
【0023】
図4B】本開示の一実施形態による、1つまたは複数のタイムラインの図で、各タイムラインは、少なくとも一人のユーザのビデオゲームのゲームプレイのスナップショット画像を示す。スナップショットの選択によって、スナップショット画像を拡大できる。
【0024】
図5A】本開示の一実施形態による、ビデオゲームのゲームプレイのノードグラフの図である。ノードグラフは、ユーザによるビデオゲームのゲームプレイ中、タイムラインと共に表示される。タイムラインは、ユーザのゲームプレイのスナップショット画像と、他のユーザのゲームプレイのスナップショット画像とを示す。
【0025】
図5B】本開示の一実施形態による、ビデオゲームで利用可能な全ての可能なパスを示すユニバーサルノードグラフまたはノードツリーの図である。
【0026】
図5C】本開示の一実施形態による、ビデオゲームのゲームプレイ中にキャプチャされたスナップショットに関連して生成されたノードの階層を示すノードグラフの図である。ノードグラフは、ユーザによるビデオゲームのゲームプレイ中にタイムラインと共に表示され、タイムラインは、ユーザのゲームプレイのスナップショット画像と、他のユーザのゲームプレイのスナップショット画像とを示す。
【0027】
図6A図6Aは、本開示の一実施形態による、選択したスナップショットノードの近くに線形に並んだスナップショットノードのクラスタの図である。スナップショットノードは、タイムラインまたはノードグラフを通して選択できる。
【0028】
図6B図6Bは、本開示の一実施形態による、選択したスナップショットノードの近くに非線形に並んだスナップショットノードのクラスタの図である。スナップショットノードは、タイムラインまたはノードグラフを通して選択できる。
【0029】
図6C-6F】図6C~6Fは、本開示の一実施形態による、選択したスナップショットノードの近くに並んだスナップショットノードのクラスタに対応するスナップショット画像の図である。
【0030】
図7】本開示の一実施形態による、ビデオゲームのゲームプレイ中にキャプチャされたスナップショットと、これらのスナップショットのそれぞれをスナップショットデータベースの1つまたは複数のマスターファイルに記憶することを示す図である。
【0031】
図8】本開示の一実施形態による、ビデオゲームのユーザのゲームプレイの複数のセグメントの図であり、そのユーザによる、別個のジャンプゲームプレイへの仲介ジャンプ(interceding jump)を含み、これは、同じまたは他のユーザによるビデオゲームの他のゲームプレイ中にキャプチャされたスナップショットに基づく。
【0032】
図9】本開示の一実施形態による、ゲーム世界をナビゲートする方法のステップを示すフロー図である。
【0033】
図10】本開示の一実施形態による、ビデオ記録を介したゲームプレイアクセスに使用されるシステムであって、プレイヤのゲームプレイ中にシステムによって生成、キャプチャされたスナップショットに基づいて、ユーザが、ゲームアプリケーションに参加している任意のプレイヤの記憶されたゲームプレイにジャンプすることを可能にするシステムのコンポーネントの図である。
【0034】
図11】本開示の一実施形態による、ゲーム方法、より詳細には、ゲームプレイ中に生成、キャプチャされたスナップショットに基づいて、ユーザが、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイにジャンプするのを可能にする方法のステップのフロー図である。スナップショットは、記憶されたゲームプレイのビデオ記録を通して選択可能である。
【0035】
図12A】本開示の一実施形態による、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイのビデオ記録の複数のビデオフレームの図である。幾つかのビデオフレームは、対応するスナップショットに関連付けられており、ビデオフレームを選択すると、ゲームアプリケーションのインスタンスをインスタンス化して、プレイヤのゲームプレイ中にキャプチャされた関連するスナップショットに基づいて、ジャンプゲームプレイを実行し、それによって、ジャンプゲームプレイは、要求したユーザによってプレイ可能になる。
【0036】
図12B】本開示の一実施形態による、ユーザによるゲームアプリケーションのゲームプレイ中に表示されるタイムラインの図である。タイムラインは、プレイヤによるゲームアプリケーションのゲームプレイのスナップショット画像を示し、タイムラインのスナップショット画像を選択すると、そのスナップショット画像に関連付けられたゲームプレイのポイントにほぼ対応するゲームプレイのビデオ記録が表示され、ビデオ記録のビデオフレームを選択すると、プレイヤのゲームプレイ中にキャプチャされたスナップショットに基づいて、ゲームアプリケーションのインスタンスをインスタンス化して、ジャンプゲームプレイを実行し、それによって、ジャンプゲームプレイがユーザによってプレイ可能になる。
【0037】
図13A】本開示の一実施形態による、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイを導くために前に使用された複数の入力コマンドの図である。入力コマンドの一部(例えば、シーケンス)を使用して、ジャンプゲームプレイの再生部分を実施する。
【0038】
図13B】本開示の一実施形態による、ジャンプゲームプレイのジャンプポイントに対応する画像フレームの図である。ジャンプゲームプレイは、自動的に実行されて、ゲームプレイを指示する保存した入力コマンドを用いてジャンプポイントまでプレイヤのゲームプレイを再生し、その後、ジャンプゲームプレイは、要求したユーザからの入力コマンドを処理することによって、ライブになる。
【0039】
図14】本開示の一実施形態による、ゲームアプリケーションに参加しているプレイヤのゲームプレイ中にキャプチャされたスナップショットに基づいてインスタンス化されるジャンプゲームプレイ中に提示される入力コマンドのシーケンスの図である。入力コマンドのシーケンスは、自動的に実行されて、プレイヤのゲームプレイをジャンプポイントまで再生し、その後、ジャンプゲームプレイは、要求したユーザからの入力コマンドを処理することによってライブになり、要求したユーザは、入力コマンドのシーケンスを模倣して、対応する画像フレームの元の対応するオブジェクトと共に提示されるゴーストオブジェクトに指示できる。
【0040】
図15A-15E】図15A図15Eは、本開示の一実施形態による、ゲームアプリケーションに参加しているプレイヤに関連付けられた記憶されたゲームプレイ中にキャプチャされたスナップショットに基づいてインスタンス化されたジャンプゲームプレイ中に、画像フレームのシーケンスを通して、記憶されたゲームプレイの保存した入力コマンドによって指示される対応するオブジェクトの動きを模倣するゴーストオブジェクトの図である。保存した入力コマンドが、自動的に実行されて、ジャンプポイントまでゲームプレイを再生し、その後、ジャンプゲームプレイは、要求したユーザの入力コマンドを処理することによって、ライブになる。
【0041】
図16】本開示の一実施形態による、ゲームアプリケーションに参加しているプレイヤに関連付けられた記憶されたゲームプレイ中にキャプチャされたスナップショットに基づいて、インスタンス化されたジャンプゲームプレイのジャンプポイントにプレイヤをガイドするのに使用される機能の図である。
【0042】
図17】本開示の一実施形態による、ゲーム方法、より詳細には、ゲームプレイ中に生成、キャプチャされたスナップショットに基づいて、ユーザが、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイにジャンプするのを可能にする方法のステップを示すフロー図である。
【0043】
図18】本開示の一実施形態による、ゲームクラウドシステム(GCS)内で実行される複数のユーザのゲームアプリケーションの同時ゲームプレイを可能にし、第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションを実施するシステム図であり、コンパニオンアプリケーションは、全員、同じゲームアプリケーションを同時にプレイしている第1のユーザを含む複数のユーザのゲームプレイに関する情報を提供する。
【0044】
図19】本開示の一実施形態による、第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションを生成、実施するために使用されるシステムのブロック図である。コンパニオンアプリケーションは、全員、同じゲームアプリケーションを同時にプレイしている第1のユーザを含む複数のユーザのゲームプレイに関する情報を提供する。
【0045】
図20】本開示の一実施形態による、第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションの実施を含むゲーム方法のステップを示すフロー図である。コンパニオンアプリケーションは、全員、同じゲームアプリケーションを同時にプレイしている複数のユーザのゲームプレイに関する情報を提供する。
【0046】
図21図21A~Cは、本開示の一実施形態による、ゲームアプリケーションを同時にプレイしている3人のユーザのゲームプレイの現在のシーンの図である。
【0047】
図22A】本開示の一実施形態による、ゲームアプリケーションをプレイする第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションインタフェースの図である。インタフェースは、ゲームアプリケーションのゲーム世界で、他のオブジェクトの位置に対する第1のユーザの位置を示すレーダマッピングを含み、オブジェクトは、第1のユーザと第2のユーザのゲームプレイで生成される。
【0048】
図22B】本開示の一実施形態による、ゲームアプリケーションに関連して、第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションインタフェースの図である。インタフェースは、ゲームアプリケーションを現在プレイしている友達のリストと、友達の各ゲームプレイに関連して、ゲームアプリケーションのゲーム世界で発見した友達の位置に対する第1のユーザの位置を示すレーダマッピングとを含む。
【0049】
図22C】本開示の一実施形態による、ゲームアプリケーションに関連して、第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションインタフェースの図である。インタフェースは、ゲームアプリケーションのゲーム世界内の第1のユーザの位置と、ゲーム世界内の第2のユーザの位置を指す方向ポインタとを示すレーダマッピングを含む。
【0050】
図22D】ゲームアプリケーションの第1のインスタンスの実行に関連して、第1のユーザのゲームプレイの現在のシーンを示す図である。現在のシーンは、ゲームアプリケーションのゲーム世界内で、オブジェクトへのガイドを提供する方向ポインタを含み、方向ポインタは、ゲームアプリケーションを同時にプレイしている第2のユーザのゲームプレイに基づき、及び/または、ゲームアプリケーションを同時にプレイしている第2のユーザによって制御可能であり、方向ポインタは、第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションインタフェースを通して生成される。
【0051】
図23】本開示の一実施形態による、ゲームアプリケーションをプレイする第1のユーザの現在のゲームプレイと、第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションインタフェースを含むサイドバーとを表示する分割画面の図である。インタフェースは、第1のユーザと第2のユーザのゲームアプリケーションのゲームプレイで生成されるゲーム世界の他のオブジェクトの位置に対する、ゲームアプリケーションのゲーム世界内の第1のユーザの位置を示すレーダマッピングを含む。
【0052】
図24】本開示の一実施形態による、第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションの実施を含むゲーム方法のステップを示すフロー図である。コンパニオンアプリケーションは、ゲームアプリケーションの複数のインスタンスによってクラウドベースのゲームシステム内で実行される同じゲームアプリケーションを全員、同時にプレイしている複数のユーザのゲームプレイに関する情報を提供する。
【0053】
図25】開示の実施形態による、ヘッドマウントディスプレイのコンポーネントを示す図である。
【0054】
図26】開示の様々な実施形態による、ゲームシステムのブロック図である。ゲームシステムは、1つまたは複数のクライアントにネットワークを介してビデオストリームを提供するように構成される。
【発明を実施するための形態】
【0055】
以下の詳細な記載は、説明を目的として多くの特定の詳細を含むが、以下の詳細への多くの変形及び修正は、本開示の範囲内にあることを当業者は理解されよう。従って、以下に記載の本開示の態様は、この記載に続く特許請求の範囲に対して一般性を失うことなく、また、制限を課すことなく、記載される。
【0056】
一般的に言うと、本開示の様々な実施形態は、特に、クラウドベースのゲームシステムで実行される時に、複数のユーザのビデオゲームのゲームプレイ中に生成されるスナップショットを保存し、ビデオゲームをナビゲートし、ビデオゲームをプレビューし、ビデオゲームの選択したポイントにジャンプして、他のユーザのゲームプレイを体験するシステム及び方法を記載する。スナップショットは、ビデオゲームをプレイしているユーザに対して、タイムラインに表示されてよい。タイムラインで選択したスナップショットは、選択したスナップショットに対応するビデオゲームのジャンプポイントで、ビデオゲームのインスタンスのインスタンス化を可能にするメタデータ及び/または情報を含む。ジャンプポイントで始まるビデオゲームのインスタンスは、要求したユーザが元のユーザと異なる場合でさえ、選択したスナップショットを以前に実行したゲームプレイで生成したる元のユーザに関連して実行される。本開示の実施形態は、以前は利用できなかった同じユーザまたは他のユーザのビデオゲームのインスタンスをロードし、実行する方法を提供する。このようにして、ユーザは、自分のゲームプレイを台無しにすることなしに、他のユーザのゲームプレイを能動的にプレビューできる。また、ユーザは、自分の現在のゲームプレイを台無しにすることなしに、自分の以前のゲームプレイを能動的にプレビューできる。この文脈で、本開示は生じる。
【0057】
従って、本開示の実施形態は、ゲームアプリケーションの追加の使用法を提供する。例えば、本開示の実施形態は、ゲームアプリケーションの以前のゲームプレイに基づいて、ユーザが、そのゲームアプリケーションの任意の部分にジャンプすることを提供する。例えば、ある実施形態においては、スナップショット画像(例えば、スクリーンショット)の選択を通して、対応するスナップショット情報にアクセスして、ゲームアプリケーションへのジャンプを可能にする。さらに別の実施形態は、ゲームアプリケーションの以前のゲームプレイのビデオ記録に基づいて、ユーザが、そのゲームアプリケーションの任意の部分にジャンプすることを提供する。例えば、ビデオ記録から(例えば、スナップショット画像に対応し得る)ビデオ画像の選択を通して、ビデオ画像(または、スナップショット画像)に関連付けられた対応するスナップショット情報にアクセスして、ゲームアプリケーションへのジャンプを可能にする。このようにして、ユーザは、楽しみのためにゲームアプリケーションのミニセクションを素早くプレイでき、または、ゲームアプリケーションの難しいセクションのナビゲートにどのように成功するかを発見できる。ユーザは、最初の起動シーケンスを使ってゲームアプリケーションをロードする必要なしに、ミニセクションにアクセスできる。さらに、ユーザは、関心のあるセクション(例えば、レベルボスまたはアルティメットボスと戦う)に到達するためにゲーム全体をプレイする必要が無く、すぐにゲームプレイするために関心のあるセクションに直接行くことができるので、気に入らなくなった前のアプリケーションが新しい関心を生み出す。さらに別の実施形態は、上記のことを達成し、且つ、(例えば、ユーザが最初に、一からゲームアプリケーションをロードする時)、初期化シーケンスを最初から実行する代わりに、ゲームサーバは、中間点、または、ジャンプポイントから直接始まるゲームアプリケーションを実行さえすればよいので、ゲームサーバのより良い利用を含む追加の利点及び長所を提供する。よって、選択したジャンプポイントからゲームを開始するのに必要なコードを直接アップロードすることによって、ゲームサーバは、初期化シーケンスをスキップし、また、ゲームアプリケーションのジャンプポイントにナビゲートするためのさらなる実行可能シーケンスもスキップする。
【0058】
様々な実施形態を上記のように大まかに理解して、実施形態の例の詳細を図面を参照して記載する。
【0059】
本明細書を通して、「ビデオゲーム」は、入力コマンドの実行を通して指示される任意の種類のインタラクティブなアプリケーションを表す。説明のみを目的として、インタラクティブなアプリケーションは、ゲーム、文書処理、ビデオ処理、ビデオゲーム処理等のアプリケーションを含む。さらに、ビデオゲームとゲームアプリケーションという語は相互に交換可能である。
【0060】
[スナップショットキャプチャとゲームプレイアクセス]
図1は、本開示の一実施形態による、クラウドゲームネットワークを介して実行される複数のユーザのビデオゲームのゲームプレイ中に生成されたスナップショットの保存、一人または複数のユーザのビデオゲームのゲームプレイのプレビュー、ビデオゲームのナビゲート、及び、同じユーザまたは他のユーザのゲームプレイを体験するためのビデオゲームの選択したポイントへのジャンプに使用されるシステムを示す。ある実施形態においては、クラウドゲームネットワークは、ホストマシンのハイパーバイザ上で実行する複数の仮想マシン(VM)を含んでよく、1つまたは複数の仮想マシンは、ホストのハイパーバイザで利用可能なハードウェアリソースを利用するゲームプロセッサモジュールを実行するように構成される。
【0061】
図に示すように、システム10は、複数のインタラクティブなビデオゲームへのアクセスを提供するゲームプロセッサモジュール210を実行するゲームサーバ205を含む。ゲームサーバ205は、クラウドで利用可能な任意の種類のサーバコンピューティングデバイスであってよく、1つまたは複数のホスト上で実行する1つまたは複数の仮想マシンとして構成されてよい。例えば、ゲームサーバ205は、ゲームプロセッサ210をサポートする仮想マシンを管理してよい。
【0062】
クライアントデバイス100は、インターネット等のネットワーク150を介してビデオゲームへのアクセスを要求するように、また、ゲームサーバ205によって実行され、ユーザ5に関連付けられたディスプレイデバイス12に配信されるビデオゲームのインスタンスをレンダリングするように構成される。例えば、ユーザ5は、ゲームプロセッサ210上で実行するビデオゲームのインスタンスとクライアントデバイス100を通してインタラクトしてよい。クライアントデバイス100は、ゲームコントローラ6、タブレットコンピュータ11、キーボード、ビデオカメラによってキャプチャされるジェスチャ、マウス、タッチパッド等、様々な種類の入力装置からの入力を受信してよい。クライアントデバイス100は、少なくともメモリとプロセッサモジュールとを有し、ネットワーク150を介してゲームサーバ205に接続できる任意の種類のコンピューティングデバイスであってよい。クライアントデバイス100の例には、パーソナルコンピュータ(PC)、ゲームコンソール、ホームシアターデバイス、汎用コンピュータ、モバイルコンピューティングデバイス、タブレット、電話、または、ゲームサーバ205とインタラクトして、ビデオゲームのインスタンスを実行できる任意の他の種類のコンピューティングデバイスが含まれる。
【0063】
クライアントデバイス100は、ゲームサーバ205が配信したレンダリングされた画像を受信するように、また、レンダリングされた画像をディスプレイ12に表示するように構成される。例えば、レンダリングされた画像は、ユーザ5に関連してゲームサーバ205のゲーム実行エンジン211で実行しているビデオゲームのインスタンスに関連付けられてよい。詳細には、クライアントデバイス100は、ユーザ5のゲームプレイに関連付けられたビデオゲームのインスタンスと、ゲームプレイを駆動するように使用される入力コマンド等を通してインタラクトするように構成される。
【0064】
さらに、クライアントデバイス100は、ビデオゲームをプレイしている時に、ゲームサーバ205とインタラクトして、ユーザ5のゲームプレイのスナップショットをキャプチャ、記憶するように構成される。さらに、クライアントデバイス100は、ユーザ5のゲームプレイのスナップショットと、同じビデオゲームをプレイする他のユーザの保存されたゲームプレイのスナップショットとを含むタイムラインを表示するようにゲームサーバ205とインタラクトするように構成される。各スナップショットは、選択したスナップショットに対応するビデオゲームのジャンプポイントの保存されたゲームプレイにユーザ5がジャンプするのを可能にし、一実施形態においては、保存されたゲームプレイは、ユーザ5とは異なる別のユーザに関連付けられてよい。
【0065】
より詳細には、ビデオゲームをプレイしている時に、ゲームサーバ205のゲームプロセッサ210は、ユーザ5のゲームプレイのスナップショットを生成するように構成される。他の仮想マシンに関連付けられたゲームサーバ205の他のゲームプロセッサは、他のユーザのゲームプレイに関連付けられたインスタンスを実行するように、また、これらのゲームプレイ中にスナップショットをキャプチャするように構成される。前述のように、ビデオゲームのインスタンスは、ユーザ5のゲームプレイに関連して、ゲーム実行エンジン211で実行している。
【0066】
スナップショット生成部212は、ユーザ5のゲームプレイから生成された複数のスナップショットをキャプチャするように構成される。各スナップショットは、対応するスナップショットと関連付けられたビデオゲームのポイントから始まるビデオゲームのインスタンスの実行を可能にする情報を提供する。スナップショットは、ユーザ5によるビデオゲームのゲームプレイ中に自動的に生成される。実施形態において、各スナップショットの部分部分は、独立して構成された関連データベース、または、データストア140の下に構成された関連データベースに記憶される。別の実施形態においては、スナップショットは、ユーザ5による命令を通して手動で生成されてよい。このようにして、任意のユーザが、対応するスナップショットの選択を通して、対応するスナップショットに関連付けられたビデオゲームのポイントで、ユーザ5のゲームプレイにジャンプしてよい。ゲームプロセッサ210は、対応するスナップショットに基づいて任意のユーザの保存されたゲームプレイにジャンプすることを可能にするために、データベース140の情報にアクセスするように構成される。すなわち、要求したユーザは、スナップショットを生成、保存した元のユーザのゲームプレイのキャラクタを用いて、選択したスナップショットに対応するジャンプポイントで、ビデオゲームのプレイを開始できる。
【0067】
詳細には、各スナップショットは、スナップショットに対応するビデオゲームのポイントで始まるビデオゲームのインスタンスの実行を可能にするメタデータ及び/または情報を含む。例えば、ユーザ5のゲームプレイにおいて、スナップショットは、レベルの中ほど等、ビデオゲームの進行の特定のポイントで生成されてよい。関連するスナップショット情報は、データベース140の1つまたは複数のデータベースに記憶される。特定のスナップショットに対応する各データベースの情報を関連付けるためにポインタを使用できる。このようにして、ユーザ5のゲームプレイを体験したい他のユーザは、ビデオゲームの関心のあるポイントに対応するスナップショットを選択してよい。
【0068】
スナップショットは、そのポイントでレンダリングされるシーンのスナップショット画像を含む。スナップショット画像は、スナップショット画像データベース146に記憶される。サムネイルの形でタイムラインに提示されるスナップショット画像は、ユーザのビデオゲームの進行の対応するポイントにおけるユーザのゲームプレイのビューを提供する。
【0069】
スナップショットは、そのポイントのゲームの状態を規定するゲーム状態データも含む。例えば、ゲーム状態データは、ゲームキャラクタ、ゲームオブジェクト、ゲームオブジェクト属性、ゲーム属性、ゲームオブジェクト状態、グラフィックオーバーレイ等を含んでよい。このようにして、ゲーム状態データは、ビデオゲームの対応するポイントに存在したゲーム環境の生成を可能にする。ゲーム状態データは、CPU状態、GPU状態、メモリ状態、レジスタ値、プログラムカウンタ値、プログラマブルDMA状態、DMAのバッファされたデータ、オーディオチップ状態、CD-ROM状態等、ゲームプレイのレンダリングに使用されるあらゆるデバイスの状態も含んでよい。ゲーム状態データは、そのポイントからビデオゲームを実行するために実行可能コードのどの部分をロードする必要があるかも識別し得る。よいゲーム状態データの全てをキャプチャ、記憶することが必要なわけではなく、実行可能コードがスナップショットに対応するポイントでゲームを開始するために十分なデータだけをキャプチャ、記憶するだけでよい。ゲーム状態データは、ゲーム状態データベース145に記憶される。
【0070】
スナップショットは、ユーザ保存データも含む。一般に、ユーザ保存データは、対応するユーザに合わせてビデオゲームをカスタマイズする情報を含む。これは、ユーザのキャラクタに関連付けられた情報を含み、それによって、ビデオゲームは、そのユーザに固有であってよいキャラクタ(例えば、形、見かけ、衣服、武器等)を用いてレンダリングされる。このようにして、ユーザ保存データは、対応するユーザのゲームプレイに合わせたキャラクタの生成を可能にする。キャラクタは、スナップショットに関連付けられたビデオゲームのポイントに対応する状態を有する。例えば、ユーザ保存データは、ゲームをする時ユーザ5が選択したゲーム難易度、ゲームレベル、キャラクタ属性、キャラクタ位置、残りの命の数、利用可能な命の合計数、武器、トロフィ、タイムカウンタ値等を含んでよい。ユーザ保存データは、例えば、ユーザ5を識別するユーザプロフィールデータも含んでよい。ユーザ保存データは、データベース141に記憶される。
【0071】
さらに、スナップショットは、人工知能(AI)モジュール215によって生成されるランダムシードデータも含む。ランダムシードデータは、元のゲームコードの一部でなくてもよく、オーバーレイに追加されて、ゲーム環境がよりリアルに見えるようにしてよい、及び/または、ユーザにとって魅力があるようにしてよい。すなわち、ランダムシードデータは、ユーザのゲームプレイの対応するポイントに存在するゲーム環境に追加の特徴を提供する。例えば、AIキャラクタが、ランダムに生成されて、オーバーレイに提供されてよい。AIキャラクタは、ゲームをプレイしているどのユーザにも関連付けられず、ゲーム環境に配置されてユーザの体験をより良くする。例示として、これらのAIキャラクタは、都市のシーンで通りをランダムに歩いてよい。さらに、他のオブジェクトが、生成されて、オーバーレイに提示されてよい。例えば、背景の雲や空中を飛んでいる鳥が生成されて、オーバーレイに提示されてよい。ランダムシードデータは、ランダムシードデータベース143に記憶される。
【0072】
このようにして、ユーザ5のゲームプレイを体験したい他のユーザは、ビデオゲームの関心のあるポイントに対応するスナップショットを選択してよい。例えば、タイムラインに提示されたスナップショット画像、または、ノードグラフのノードをユーザが選択すると、ゲームプロセッサ210のジャンプ実行エンジン216が、対応するスナップショットにアクセスし、スナップショットに基づいて、ビデオゲームの別のインスタンスをインスタンス化し、スナップショットに対応するビデオゲームのポイントで始まるビデオゲームを実行するのを可能にする。このようにして、スナップショットは、要求したユーザが、スナップショットに対応するポイントのユーザ5のゲームプレイにジャンプするのを可能にする。
【0073】
ゲームプロセッサ210は、ビデオゲームをプレイしているユーザ5のタイムラインを表示しているタイムライン生成部213を含む。タイムラインは、ビデオゲームを進んでいる少なくとも一人のユーザ(例えば、ユーザ5及び/または他のユーザ)のスナップショット画像を含み、スナップショット画像は、ユーザ5に関連して実行しているビデオゲームのインスタンスの現在レンダリングされている画像に関して提示される。各スナップショット画像は、ユーザ5によるビデオゲームの進行のある特定のポイントでキャプチャされた特定のスナップショットに対応する。例えば、ユーザ5のゲームプレイに関連して生成されたスナップショットとスナップショット画像とは、ユーザ5のゲームプレイに関連して実行しているビデオゲームのインスタンスの現在レンダリングされている画像の前に生じるビデオゲームのポイントに対応する。すなわち、ユーザ5は、前にビデオゲームのこれらのポイントをプレイしており、これらのポイントに対応する複数のスナップショットとスナップショット画像を生成している。
【0074】
さらに、第2のユーザのゲームプレイに関連して生成されたスナップショットとそれらに対応するスナップショット画像は、ユーザ5のゲームプレイの現在レンダリングされている画像の前または後に生じるビデオゲームのポイントに対応してよい。すなわち、第2のユーザは、ビデオゲームをプレイしている時、ユーザ5よりも前に進んでいる場合がある。よって、第2のユーザのゲームプレイに対応するスナップショットは、ユーザ5のゲームプレイに関連付けられた現在レンダリングされている画像の前のビデオゲームのポイントで生じてよい、または、現在レンダリングされている画像の後のポイントで生じてよい。タイムラインは、現在レンダリングされている画像の後で生じるビデオゲームのポイントに対応するスナップショット画像を含んでよい、及び/または、現在レンダリングされている画像の前に生じるビデオゲームのポイントに対応するスナップショット画像を含んでよい。
【0075】
一実施形態においては、タイムラインに提示されるスナップショットを使用して、ユーザ5は他のユーザのゲームプレイにアクセスしてよい。すなわち、タイムラインの選択したスナップショットの選択は、ユーザ5が、スナップショットに対応するポイントの他のユーザのゲームプレイにジャンプするのを可能にする。例えば、ジャンプゲーム実行エンジン216は、選択したスナップショットに対応するポイントでビデオゲームの実行を開始するために、スナップショット(例えば、メタデータ及び/または情報)を様々なデータベース(例えば、データベース140)から収集する。一実施形態においては、ユーザ5のゲームプレイは、他のユーザのゲームプレイにジャンプすることによって影響を受けない。
【0076】
別の実施形態においては、タイムラインに提示されるスナップショットが、ユーザ5によって使用されて、現在レンダリングされている画像の前に生じるユーザ自身のゲームプレイのあるポイントにアクセスしてよい。例えば、スナップショットは、ユーザ5のゲームプレイで生成されてよく、タイムラインに提示されてよい。ユーザ5によるスナップショットの選択は、選択したスナップショットに対応する以前のポイントでビデオゲームの実行を開始するために、実行エンジン216が、スナップショット(例えば、メタデータ及び/または情報)を様々なデータベース(例えば、データベース140)から収集するのを可能にする。このようにして、ユーザ5は、ビデオのある部分(例えば、前のレベル)に戻って再生してよい。一実施形態においては、ユーザ5の現在のゲームプレイは、同じユーザの以前のゲームプレイにジャンプすることによって影響を受けない。
【0077】
ゲームプロセッサ210は、ノードグラフ生成部214も含む。ユーザ5がビデオゲームを進むと、ゲームのパスが生成される。特に、ビデオゲームが複雑な場合、他のユーザが、ビデオゲームの異なるパスを生成する場合がある。パスは、ビデオゲームによって確立されるユニバーサル論理パスの一部であってよく、ユニバーサル論理パスは、ビデオゲームをプレイする時、任意のユーザが取り得る全てのパスを含む。よって、ユーザ5のゲームプレイに関連付けられたパスは、ユニバーサル論理パスのサブセットであってよく、ユーザ5のビデオゲームの進行を規定する。論理ノードは、ユニバーサル論理パスの様々なポイントに規定されてよい。例えば、例示すると、ノードは、ゲームの開始、レベルの開始、ゲームの終了、レベルの終了、選択肢の複数のパスの間でユーザが選択することを可能にする分岐点、ビデオゲームの重要なポイント等に構築されてよい。
【0078】
さらに、ノードは、ユーザ5のゲームプレイに関連付けられたパスの、または、より一般的に、任意のユーザのゲームプレイに関連付けられたパスの、様々なポイントに規定されてよい。例えば、ノードは、スナップショットに関連して規定されてよい。これらのノードは、定期的な間隔(例えば、毎分、5分、10分等)で規定されてよい。さらに、これらのノードは、ユーザによって手動で規定されてよい。例示すると、これらのノードも、ゲームの開始、レベルの開始、ゲームの終了、レベルの終了、選択肢の複数のパスの間でユーザが選択することを可能にする分岐点、ビデオゲームの重要なポイント等に構築されてよい。
【0079】
図2は、開示の実施形態による、ゲームクラウドシステム(GCS)201に記憶されたビデオゲームへのアクセスとプレイを可能にするシステムダイアグラム200を示す。一般的に言うと、ゲームクラウドシステムGCS201は、ネットワーク220を介して動作して複数のユーザをサポートするクラウドコンピューティングシステムであってよい。さらに、GCS201は、複数のユーザのビデオゲームのゲームプレイ中に生成されたスナップショットを保存するように構成され、スナップショットを使用して、要求したユーザのために、スナップショットに対応するビデオゲームのポイントで開始するビデオゲームのインスタンスを開始できる。さらに、GCS201は、スナップショットを使用して、ユーザが、ビデオゲームをナビゲートし、ビデオゲームの過去及び未来のシーンをプレビューするのを可能にする。さらに、スナップショットは、要求したユーザが、対応するスナップショットを通してビデオゲームの選択したポイントにジャンプして、他のユーザのゲームプレイを体験するのを可能にする。詳細には、システム200は、GCS201、1つまたは複数のソーシャルメディアプロバイダ240、及び、ユーザデバイス230を含み、それらは全て、ネットワーク220(例えば、インターネット)を介して接続されている。1つまたは複数のユーザデバイスは、ネットワーク220に接続されて、GCS201とソーシャルメディアプロバイダ240とによって提供されるサービスにアクセスしてよい。
【0080】
一実施形態においては、ゲームクラウドシステム201は、ゲームサーバ205、ビデオリコーダ271、タグプロセッサ273、ユーザプロフィールマネージャを含むアカウントマネージャ274、ゲーム選択エンジン275、ゲームセッションマネージャ285、ユーザアクセス論理回路280、ネットワークインタフェース290、及び、ソーシャルメディアマネージャ295を含む。GCS201は、ゲーム状態ストア、ランダムシードストア、ユーザ保存データストア、スナップショットストア等の複数のゲームストレージシステムをさらに含んでよく、それらは、一般的に、データストア140に記憶されてよい。他のゲームストレージシステムは、ゲームコードストア261、ゲーム記録ストア262、タグデータストア263、ビデオゲームデータストア264、及び、ゲームネットワークユーザストア265を含んでよい。一実施形態において、GCS201は、ゲームアプリケーション、サービス、ゲーム関連デジタルコンテンツ、並びに、システム、アプリケーション、ユーザ、及び、ソーシャルネットワーク間の相互接続性を提供できるシステムである。GCS201は、ユーザデバイス230及びソーシャルメディアプロバイダ240と、ネットワークインタフェース290を介してソーシャルメディアマネージャ295を通して通信してよい。ソーシャルメディアマネージャ295は、一人または複数の友達を関連付けるように構成されてよい。一実施形態においては、各ソーシャルメディアプロバイダ240は、ユーザのソーシャルネットワーク接続を示す少なくとも1つのソーシャルグラフ245を含む。
【0081】
ユーザU0は、GCS201によって提供されるサービスにゲームセッションマネージャ285を介してアクセスでき、ユーザU0は、図1のユーザ5を代表してよい。例えば、アカウントマネージャ274は、認証と、ユーザU0によるGCS201へのアクセスを可能にする。アカウントマネージャ274は、メンバーユーザの情報を記憶する。例えば、各メンバーユーザのユーザプロフィールは、アカウントマネージャ274によって管理されてよい。このようにして、メンバー情報は、認証目的で、アカウントマネージャ274によって使用できる。例えば、アカウントマネージャ274を使用して、メンバーユーザに関するユーザ情報を管理、更新してよい。さらに、メンバーユーザが所有するゲームタイトルが、アカウントマネージャ274によって管理されてよい。このようにして、データストア264に記憶されたビデオゲームは、これらのビデオゲームを所有する任意のメンバーユーザに利用可能にされる。
【0082】
一実施形態においては、ユーザ、例えば、ユーザU0は、ネットワーク220を介した接続を通して、ユーザデバイス230によってGCS201やソーシャルメディアプロバイダ240が提供するサービスにアクセスできる。ユーザデバイス230は、プロセッサとメモリを有する、有線または無線、ポータブルまたはポータブルでない任意の種類のデバイスを含み得る。一実施形態においては、ユーザデバイス230は、スマートフォン、タブレットコンピュータ、または、ポータブル形式の要素にタッチスクリーン能力を備えるハイブリッドの形態であってよい。例示的なデバイスの1つは、オペレーティングシステムを実行し、且つ、ネットワーク220を介して取得されてローカル携帯デバイス(例えば、スマートフォン、タブレット、ラップトップ、デスクトップ等)で実行され得る様々なアプリケーション(app)へのアクセスを備えた携帯電話デバイスを含み得る。
【0083】
ユーザデバイス230は、ディスプレイ232を含み、ディスプレイ232は、ユーザU0が入力コマンド236を送信し、GCS201やソーシャルメディアプロバイダ240から受信したデータ及び/または情報235を表示するためのインタフェースとして働く。ディスプレイ232は、タッチスクリーン、または、フラットパネルディスプレイ、ブラウン管(CRT)、もしくは、ディスプレイをレンダリングできる他のデバイスによって典型的に提供されるディスプレイとして構成できる。あるいは、ユーザデバイス230は、そのデバイスとは別個の、デスクトップコンピュータまたはラップトップコンピュータに類似した、ディスプレイ232を有し得る。
【0084】
一実施形態においては、ユーザデバイス230は、GCS201と通信して、ユーザU0がビデオゲームをプレイするのを可能にするように構成される。例えば、ユーザU0は、ビデオゲームデータストア264で利用可能なビデオゲームをゲーム選択エンジン275を介して(例えば、ゲームタイトル等によって)選択してよい。このようにして、選択したビデオゲームは、GCS201でゲームサーバ205によって、有効にされ、実行するためにロードされる。一実施形態においては、ゲームプレイは、主に、GCS201で実行され、それによって、ユーザデバイス230は、ゲームビデオフレーム235のストリームをGCS201から受信し、ゲームプレイを駆動するユーザ入力コマンド236が、GCS201に返信される。ストリーミングゲームプレイから受信されたビデオフレーム235は、ユーザデバイス230のディスプレイ232に示される。
【0085】
一実施形態においては、ユーザU0がプレイに利用可能なゲームタイトルを選んだ後、選んだゲームタイトルのゲームセッションが、ゲームセッションマネージャ285を通してユーザU0によって開始されてよい。ゲームセッションマネージャ285は、最初に、データストア140のゲーム状態ストアにアクセスして、(選択したゲームに関して)ユーザU0がプレイした最後のセッションの保存したゲーム状態があれば、そのゲーム状態を読み出し、その結果、ユーザU0は、以前のゲームプレイの終了ポイントからゲームプレイを再開できる。再開または開始のポイントが識別されると、ゲームセッションマネージャ285は、ゲームコードストア261から選んだゲームタイトルのゲームコードを実行するようにゲームプロセッサ210のゲーム実行エンジンに知らせてよい。ゲームセッションが開始された後、ゲームセッションマネージャ285は、ネットワークインタフェース290を介して、ユーザデバイス、例えば、ユーザデバイス230にゲームビデオフレーム235(すなわち、ストリーミングビデオデータ)を渡してよい。
【0086】
ゲームプレイ中、ゲームセッションマネージャ285は、ゲームプロセッサ210、記録エンジン271、及び、タグプロセッサ273と通信して、ゲームプレイまたはゲームプレイセッションの記録(例えば、ビデオ)を生成または保存してよい。一実施形態においては、ゲームプレイのビデオ記録は、ゲームプレイ中に入力または提供されたタグコンテンツと、他のゲーム関連メタデータとを含み得る。タグコンテンツも、スナップショットを介して保存されてよい。ゲームプレイのビデオ記録は、ゲームプレイに対応する任意のゲームメトリックと共に、ゲーム記録ストア262に保存されてよい。任意のタグコンテンツが、タグデータストア263に保存されてよい。
【0087】
ゲームプレイ中、ゲームセッションマネージャ285は、ゲームプロセッサ204と通信して、ユーザ入力コマンド236を配信及び取得してよく、ユーザ入力コマンド236は、ビデオゲームの対応するゲームプレイの結果に影響を与えるために使用される。ユーザU0によって入力された入力コマンド236は、ユーザデバイス230からGCS201のゲームセッションマネージャ285に送信されてよい。ゲームプレイを駆動するために使用される入力コマンドを含む入力コマンド236は、タグコンテンツ(例えば、テキスト、画像、ビデオ記録クリップ等)など、ユーザインタラクティブ入力を含んでよい。ゲーム入力コマンドと、任意のユーザプレイメトリック(どのくらいの時間ユーザがゲームをプレイしたか等)が、ゲームネットワークユーザストアに記憶されてよい。ビデオゲームに対してゲームプレイに関する選択情報を使用して、ユーザに利用可能であり得る複数の機能を有効にしてよい。
【0088】
特に、ゲームプレイがGCS201を介して実行される時、ゲームプレイは、GCS201で複数のユーザによって実行されるので、これらのゲームプレイから生成、記憶された情報は、任意の要求したユーザが他のユーザのゲームプレイを体験することを可能にする。詳細には、GCS201は、GCS201を通してビデオゲームをプレイするユーザのゲームプレイによって生成されたスナップショットを保存するように構成される。ユーザU0の場合、ユーザデバイスは、ゲームプレイ中、ユーザU0がビデオゲームを行うのを可能にするインタフェースを提供する。ユーザU0によるゲームプレイのスナップショットが生成され、GCS201に保存される。
【0089】
また、ユーザデバイス230は、ユーザU0がスナップショットを用いてビデオゲームをプレビューするのを可能にするインタフェースを提供するように構成される。例えば、一人または複数のユーザのゲームプレイのスナップショット画像を見ることによって、ユーザU0は、ビデオゲームの任意のポイントで、他のユーザがそのポイントを既にプレイしてスナップショットを生成している限り、ビデオゲームの1つまたは複数の部分をプレビューできる。さらに、以下により詳細に記載するように、タイムラインに提示されるスナップショット及び/またはスナップショット画像は、様々なポイントのビデオゲームのプレビューを、それらのポイントでビデオゲームを必ずしもプレイせずに、ユーザに提供し得る。例えば、スナップショット及び/またはスナップショット画像を見ることによって、タイムラインは、ビデオゲームの特定のポイント(単数または複数)においてビデオゲームが従う方向を示し得る。その方向が、行き止まりまたはユーザにとって望ましくない結果につながる場合、ユーザは、そのスナップショットに対応するこれらのポイントにつながるビデオゲームのパスを取るのを回避する選択をしてよい。他方、その方向が望ましい結果(例えば、略奪、面白い戦闘、または、インタラクション等)につながる場合、ユーザはそのスナップショットに対応するこれらのポイントにつながるビデオゲームのパスを取ることを選んでよい。さらに、ユーザデバイス230は、ユーザU0がビデオゲームをナビゲートするのを可能にするインタフェースを提供するように構成される。例えば、以下により詳細に記載するように、スナップショットを使用して、ビデオゲームを進む一人または複数のユーザが取ったパスを示すノードグラフを生成してよい。ユーザは、ノードグラフとインタフェースして、ノードグラフの選択したノードのスナップショット及び/またはスナップショット画像を表示してよく、これによって、ビデオゲームの様々なノードのビデオゲームのプレビューを、これらのポイントでビデオゲームを必ずしもプレイせずに、ユーザに提供する。ノードグラフの方向が、行き止まりまたはユーザにとって望ましくない結果につながる場合、ユーザは、そのノードに対応するこれらのポイントにつながるビデオゲームのノードパスを取るのを回避する選択をしてよい。他方、そのノードグラフの方向が望ましい結果につながる場合、ユーザは、そのノードに対応するこれらのポイントにつながるビデオゲームのノードパスを取ることを選んでよい。
【0090】
さらに、ユーザデバイス230は、ユーザU0または他のユーザのゲームプレイで生成されたスナップショットを用いてビデオゲームの選択したポイントへのジャンプを可能にするインタフェースを提供するように構成される。このようにして、ユーザU0は、任意の他のユーザのゲームプレイを体験できる、または、自分のゲームプレイを戻って、見直し及び/または再生できる。すなわち、要求したユーザは、対応するゲームプレイのスナップショットを介して、そのゲームで使用されたそのゲームプレイに対応するキャラクタを用いて、ビデオゲームをプレイする。
【0091】
図3図8について、ビデオゲームをプレイするユーザの文脈内で記載する。一般に、ビデオゲームは、ユーザ入力に応答する任意のインタラクティブゲームであってよい。説明のみを目的として、図3図8に関連して記載するビデオゲームは、キャラクタが世界を旅しながら、様々な障害物や挑戦に遭遇する冒険ゲームであってよい。キャラクタは、徒歩で、または、任意の機械的手段を用いてビデオゲームを旅してよい。さらに、キャラクタは、開始から終了に向かってビデオゲームを進む時、遅れにつながり得る1つまたは複数の挑戦に遭遇してよい。
【0092】
明細書を通して、図3図8の1つまたは複数のタイムラインにおける時刻の使用は、ビデオゲームの進行を示すことを意味しており、必ずしも、ユーザがビデオゲームをどれくらいの時間プレイしたかの測定値ではない。
【0093】
図3Aは、本開示の一実施形態による、ユーザによるビデオゲームのゲームプレイ中に表示されるタイムライン310aの図である。タイムラインは、そのユーザのゲームプレイのスナップショット画像と、他のユーザのゲームプレイのスナップショット画像とを示す。さらに、タイムライン310aは、一実施形態においては、GCS201のゲームサーバ205のゲームプロセッサ210のタイムライン生成部213によって生成される。タイムライン310aを使用して、そのユーザによる以前のゲームプレイと、一人または複数の他のユーザのゲームプレイとを素早くプレビューできる。
【0094】
ゲームプロセッサ210のゲーム実行エンジン211がビデオゲームのインスタンスをインスタンス化する間、ウインドウ350aとタイムライン310aが表示される。例えば、ウインドウ300が、特定のビデオゲームに関して、ユーザのゲームプレイ中にレンダリングされた画像305を示す。レンダリングされた画像は、ユーザのビデオゲームの進行の現在のポイントに関連付けられる。図に示すように、レンダリングされた画像305において、ゲームプレイでユーザを表すキャラクタ306が、オートバイに乗っている。キャラクタ306は、山岳地帯の道路をツーリングしており、落石307に遭遇した。ユーザのゲームプレイにおいて、キャラクタは、レンダリングされた画像305に示すように、短く尖った髪の男性が選択されている。このポイントで、ユーザは、ビデオゲームの進行にいら立つ場合があり、落石を回避する道を探りたい場合がある。例えば、ユーザが落石を通過するのを可能にする解決法を探るために、また、レンダリングされた画像305によって表されるユーザの現在の進行を超えたポイントのビデオゲームの未来の体験を探るために、ユーザが、他のユーザのゲームプレイをプレビューしたい場合がある。これらの他のゲームプレイの探検は、タイムライン310aによって、より具体的には、タイムライン310aに表示されるスナップショット画像と、それらに対応するスナップショットとを通して可能にされてよい。前述のように、スナップショットは、対応するスナップショットに関連付けられたビデオゲームのポイントから始まる対応するビデオゲームのインスタンスの実行を可能にする。詳細には、タイムラインに提示されるスナップショット画像またはノードグラフのノードをユーザがさらに選択することによって、ゲームプロセッサ210のジャンプ実行エンジン216が、対応するスナップショットにアクセスし、スナップショットに基づいてビデオゲームの別のインスタンスをインスタンス化し、スナップショットに対応するビデオゲームのポイントで始まるビデオゲームを実行するのを可能にする。
【0095】
タイムライン310aが、ウインドウ350aに表示される。一般に、一人または複数のユーザの1つまたは複数のゲームプレイのスナップショット画像を含む複数のタイムラインが、ウインドウ350aに表示されてよい。図3Aに示すように、ウインドウ350aは、1つのタイムライン310aを表示してよく、タイムライン310aは、ユーザによるゲームプレイのスナップショット画像と、他のユーザによるゲームプレイのスナップショット画像とを含む。スナップショット画像は、サムネイル及び/またはウインドウに提示され、ユーザのゲームプレイにおいてビデオゲームの現在レンダリングされている画像との関連で表示される。例えば、現在レンダリングされている画像305によって表されるビデオゲームのポイントの前に生じるスナップショット画像は、空白のサムネイル340cの左に表示されてよく、そのポイントの後に生じるスナップショット画像は、サムネイル340cの右に表示されてよい。ウインドウ350aは、図3Bに関連してさらに記載するように、一人または複数のユーザによるビデオゲームの1つまたは複数のゲームプレイのスナップショット画像を含む追加のタイムラインも表示してよい。タイムラインは、ビデオゲームの進行を示し、必ずしも、ユーザがビデオゲームをどれくらいの時間プレイしたかの測定値を示したものではない。
【0096】
詳細には、タイムライン310aは、ユーザによるゲームプレイのスナップショット画像を含む。例えば、ユーザによるゲームプレイ中にキャプチャされたスナップショットに対応する複数のスナップショット画像(例えば、画像340a、340b、...)が、タイムライン310aにサムネイル及び/またはウインドウで表示される。スナップショット画像を一緒に見ることによって、ユーザのゲームプレイの履歴がすぐに分かる。例えば、スナップショット画像340aは、キャラクタ306が、坂道または崖をオートバイでジャンプすることを示す。ゲームのこのポイントで、キャラクタ306は、スナップショット画像340aの上部左隅の2つの円が示すように、2つの可能な命を有する。その後、ユーザがビデオゲームを進むと、スナップショット画像340bは、(まだ、2つの可能な命を有する)キャラクタ306が、森をオートバイで通り、山に近付くのを示している。ウインドウ300に示される現在レンダリングされている画像305は、キャラクタ306が山に到達し、落石307に近付いたことを示す。このポイントで、キャラクタ306は、2つの可能な命を有する。
【0097】
レンダリングされた画像305が、現在、表示され、ユーザのビデオゲームの進行を表すので、ユーザによる以前のゲームプレイを表すスナップショット画像のみが表示される。これらのスナップショット画像は、典型的に、現在、表示されているレンダリングされた画像305によって表されるポイントの前に生じるゲームのポイントを表す。説明のみを目的として、キャラクタの可能な命の総数は、ユーザのビデオゲームの進行のおおまかな評価を表す。しかしながら、ユーザがビデオゲームをプレイする時、前に進んだり戻ったりするのが可能なビデオゲームもある。いずれの場合でも、一実施形態においては、以前レンダリングされた画像に対応するスナップショット画像のみが、タイムライン310aでユーザに表示されてよい。これらのスナップショット画像は、現在レンダリングされている画像305に関してタイムライン310aに表示され、現在の画像305は、空白のサムネイル340cによって表される。例えば、スナップショット画像は、空白のサムネイル340cの左に表示されてよい。さらに、ビデオゲームの第1のポイントでキャプチャされた第1のスナップショット画像をユーザがビデオゲームを一般的に進むと第1のポイントの後に来る第2のポイントで生じる第2のスナップショット画像の左に表示することによって、2つのスナップショット画像間の順序付けが行われてよい。他の実施態様においては、サムネイル340cに、レンダリングされた画像305をポピュレートして、タイムライン310aでユーザの現在の進行を示してよい。
【0098】
現在レンダリングされている画像305の前に生じるビデオゲームのポイントを表すスナップショット画像は、現在レンダリングされている画像305の後で生じるビデオゲームのポイント、すなわち、未来のポイントを表すスナップショット画像と区別されるように、表示される。一実施形態においては、スナップショット画像は、グレー表示されてよい。すなわち、現在レンダリングされている画像305の前に生じるポイントに対応するスナップショット画像は、ビデオゲームの進行において後に生じるポイントに対応するスナップショット画像より低い強度及び/または解像度で表示される。クロスハッチでスナップショット画像を示す、または、スナップショット画像をぼやけさせる等、他の実施形態もサポートされる。
【0099】
さらに、タイムライン310aは、他のユーザによるゲームプレイのスナップショット画像を含む。一実施形態においては、この他のユーザは、ソーシャルメディアマネージャ295を通して発見された友達であってよい。スナップショット画像は、ランダムなユーザ、または、ビデオゲームでスコアの高いユーザ等、関心の高いユーザのゲームプレイにも対応してよい。説明のみを目的として、図3図8に関連して提供される例において、これらの他のユーザは、第1の友達F1、第2の友達F2、第3の友達F3等、現在のユーザの友達と呼ばれる。第1の友達F1は、長い髪の女性として描かれるキャラクタ308をプレイしている。第2の友達F2は、髪がふさふさした男性として描かれるキャラクタ309をプレイしている。第3の友達F3は、禿げた男性として描かれるキャラクタ303をプレイしている。
【0100】
詳細には、タイムライン310aは、第2のユーザ(例えば、女性キャラクタ308をプレイしている友達F1)によるゲームプレイのスナップショット画像を含む。例えば、第2のユーザによるゲームプレイ中にキャプチャされたスナップショットに対応する複数のスナップショット画像(例えば、画像360d、360e、360f、...)が、タイムライン310aにサムネイル及び/またはウインドウで表示される。これらのスナップショット画像は、現在レンダリングされている画像305に関連して表示される。例えば、空白のサムネイル340cの右に表示されるスナップショット画像360d、360e、360fは、現在レンダリングされている画像305の後のビデオゲームのポイントで生じる。タイムライン310aには示していないが、現在レンダリングされている画像の近くまたは前のビデオゲームのポイントで生じるスナップショット画像(例えば、スナップショット画像360a、360b、360c)も任意選択で示されてよく、それらを、図3Bのウインドウ350bに表示されるタイムライン310bに関連してさらに記載する。
【0101】
スナップショット画像を一緒に見ると、現在レンダリングされている画像305の後に生じる未来のポイントの第2のユーザ(例えば、友達F1)のゲームプレイの履歴がすぐに分かる。例えば、スナップショット画像360dは、川の渡り方を考えている3つの可能な命を有するキャラクタ308を示す。ビデオゲームがさらに進むと、キャラクタ308は、4つの可能な命を有し、スナップショット画像360eで熊と戦っている。ビデオゲームがさらに進むと、キャラクタ308は、5つの可能な命を有し、スナップショット画像360fに、砂漠で車を運転しているのが示されている。
【0102】
一実施形態においては、タイムラインは、ユーザのビデオゲームの進行と、利用可能なスナップショット画像とに応じて修正されてよい。例えば、現在レンダリングされている画像305に関連して(例えば、ユーザまたは他のユーザの)遠過ぎる過去に生じたスナップショット画像は、表示されなくてもよく、未来に生じる(例えば、他のユーザの)スナップショット画像も表示されなくてよい。さらに、他のユーザが、変更及び/または置き換えられると、対応するスナップショット画像は、タイムラインで更新される。
【0103】
図3Bは、本開示の一実施形態による、ユーザによるビデオゲームのゲームプレイ中に表示される複数のタイムラインの図であり、タイムラインは、一人または複数のユーザのビデオゲームのゲームプレイのスナップショット画像を示す。タイムラインは、ウインドウ350bに表示される。一実施形態においては、ウインドウ350bが、ユーザのゲームプレイの現在レンダリングされている画像305と共に表示される。例えば、一実施形態においては、タイムライン310b、320、330が、ウインドウ350bに表示され、GCS201のゲームサーバ205のゲームプロセッサ210のタイムライン生成部213によって生成される。タイムラインを使用して、ユーザの以前のゲームプレイと、一人または複数の他のユーザ(例えば、友達、ランダムなユーザ、関心のあるユーザ等)のゲームプレイとを素早くプレビューできる。
【0104】
図に示すように、タイムライン310bは、図3Aに関して記載したように、ユーザによるゲームプレイのスナップショット画像(例えば、340a、340b、...)を含む。これらのスナップショット画像は、図3Bに示すようにサムネイルで表示されてよく、現在レンダリングされている画像305に関連して配置される。例えば、これらのスナップショット画像は、上記のように、現在レンダリングされている画像305の左に表示され、一般的に、第1のスナップショット画像が後に生じるスナップショット画像の左に来るように配置される。
【0105】
さらに、タイムライン310bは、第2のユーザ(例えば、女性のキャラクタ308をプレイしている第1の友達F1)によるゲームプレイ中にキャプチャされたスナップショットに対応する複数のスナップショット画像(360a、360b、360c、360d、360e、360f、...)を含む。これらのスナップショット画像は、上記のように、タイムライン310bにサムネイルで表示され、現在レンダリングされている画像305に関連して配置される。より詳細には、友達F1のゲームプレイに対応し、現在レンダリングされている画像の近くまたは前のビデオゲームのポイントで生じるスナップショット画像(例えば、スナップショット画像360a、360b、360c)も、ユーザのスナップショット画像(例えば、340a、340b、...)の下に任意選択で含まれてよい。現在レンダリングされている画像の前のビデオゲームの進行のポイントで生じるスナップショット画像(例えば、360a、360b、...)は、空白のサムネイル340cの左に配置されてよい。ゲームの進行を示すものとして、スナップショット画像360a~360cは、2つの可能な命を有するキャラクタを示す。スナップショット画像360cは、現在レンダリングされている画像305とビデオゲームの進行においてほぼ同じポイントで生じ、空白のサムネイル340cのほぼ下に配置される。例えば、スナップショット画像360cと現在レンダリングされている画像305は両方とも、対応するキャラクタを示し、キャラクタは、それぞれ、2つの可能な命を有する。さらに、上記のように、タイムライン310bのスナップショット画像は、一般的に、第1のスナップショット画像が後に生じるスナップショット画像の左に位置するように配置されてよい。矢印399は、第2のユーザである友達F1に関連付けられたスナップショット画像を結び付けてよい。
【0106】
一緒に見ると、スナップショット画像は、第1の友達F1のゲームプレイの履歴を素早く提供する。例えば、友達F1のキャラクタ308は、最初、スナップショット画像360aにおいて、市街地の通りでオートバイに乗っているのが示されている。その後、友達F1のビデオゲームの進行において、スナップショット画像360bは、(2つの可能な命を有する)キャラクタ308がオートバイに乗って森を走り、山に近付いているのを示す。ビデオゲームがさらに進むと、キャラクタ308は、スナップショット画像360cにおいて、山道でオートバイに乗っている。例えば、友達F1のキャラクタ308は、ユーザのキャラクタ306が現在、レンダリングされた画像305で遭遇している落石を回避している場合がある。その後、(3つの可能な命を有する)キャラクタ308が、スナップショット画像360dにおいて、川に近付いているのが示されている。さらに進むと、(4つの可能な命を有する)キャラクタ308は、スナップショット画像360eにおいて熊と戦っており、その後、(5つの可能な命を有する)キャラクタ308は、スナップショット画像360fにおいて砂漠で車を運転しているのが示されている。
【0107】
ウインドウ350bは、第2の友達F2等、他のユーザのゲームプレイに関連付けられた他のタイムライン320を示す。図に示すように、タイムライン320は、友達F2によるゲームプレイのスナップショット画像(370a、370b、370c、370d、370e...)を含む。一実施形態においては、これらのスナップショット画像は、サムネイルで表示されてよく、現在レンダリングされている画像305に関連して配置される。例えば、現在レンダリングされている画像の前のビデオゲームの進行のポイントで生じるスナップショット画像(例えば、370a、370b、...)は、空白のサムネイル340cのほぼ左に配置される。上記のように、これらのスナップショット画像は、表示するコンテンツをグレー表示することによって容易に識別し得る。スナップショット画像370cは、ビデオゲームの進行において現在レンダリングされている画像305とほぼ同じポイントで生じ、空白のサムネイル340cのほぼ下に位置する。現在レンダリングされている画像の後のビデオゲームの進行のポイントで生じるスナップショット画像(例えば、370d、370e、...)は、空白のサムネイル340cのほぼ右に配置される。さらに、上記のように、タイムライン320のスナップショット画像は、一般に、第1のスナップショット画像が後に生じるスナップショット画像の左に位置するように配置されてよい。
【0108】
一緒に見ると、スナップショット画像は、第2の友達F2のゲームプレイの履歴を素早く提供する。例えば、友達F2の(2つの可能な命を有する)キャラクタ309は、最初に、スナップショット画像370aにおいて、川を渡っているのが示されている。その後、友達F2のビデオゲームの進行において、スナップショット画像370bは、キャラクタ309が森を歩いて横切り、高い山脈に近付いているのを示す。さらに進むと、(2つの可能な命を有する)キャラクタ309は、スナップショット画像370cにおいて、偽の山の頂にいるのが示されている。さらにその後、(4つの可能な命を有する)キャラクタ309は、スナップショット画像370dにおいて、山の面をフリークライミングしているのが示されており、その後、スナップショット画像370eにおいて、ボートで湖を渡っているのが示されている。
【0109】
ウインドウ350bは、第3の友達F3等、他のユーザのゲームプレイに関連付けられた他のタイムライン330を示す。図に示すように、タイムライン330は、友達F3によるゲームプレイのスナップショット画像(380a、380b、380c、380d、380e、380f、...)を含む。一実施形態においては、これらのスナップショット画像は、サムネイルで表示されてよく、現在レンダリングされている画像305との関連で配置される。例えば、現在レンダリングされている画像の前のビデオゲームの進行のポイントで生じるスナップショット画像(例えば、380a、380b、...)は、空白のサムネイル340cのほぼ左に配置される。これらのスナップショット画像は、上記のように、表示されるコンテンツをグレー表示することによって容易に識別され得る。スナップショット画像380cは、ビデオゲームの進行において現在レンダリングされている画像305とほぼ同じポイントで生じ、空白のサムネイル340cのほぼ下に位置する。現在レンダリングされている画像の後のビデオゲームの進行のポイントで生じるスナップショット画像(例えば、380d、380e、380f、...)は、空白のサムネイル340cのほぼ右に配置される。さらに、上記のように、タイムライン320のスナップショット画像は、一般的に、第1のスナップショット画像が後に生じるスナップショット画像の左に位置するように、配置されてよい。
【0110】
一緒に見ると、スナップショット画像は、第3の友達F3のゲームプレイの履歴を素早く提供する。例えば、友達F3の(2つの可能な命を有するキャラクタ303)は、最初、スナップショット画像380aにおいて、森をオートバイで走っている。その後、友達F3がビデオゲームの進行において、スナップショット画像380bは、(2つの可能な命を有する)キャラクタ303が川を渡っているのを示す。さらに進むと、スナップショット画像380cにおいて、(3つの可能な命を有する)キャラクタ303が、滝をカヤックで下っているのが示されている。さらにその後、スナップショット画像380dにおいて、キャラクタ303が、モーターボートで湖を渡るのが示されており、次に、スナップショット画像380eで、キャラクタ303が、ボートをドックに入れるのが示されている。さらに進むと、スナップショット画像380fにおいて、(5つの可能な命を有する)キャラクタ303が、次の目的地に向かって航空機を飛ばしているのが示されている。
【0111】
異なるタイムラインと呼ばれているが、ウインドウの全てのタイムラインは、ビデオゲームをプレイするユーザに属する1つのタイムラインと呼ばれてよい。さらに、一実施形態においては、他のユーザに関連付けられたタイムライン(例えば、タイムライン320、330と、310の一部)は、新しいユーザのタイムラインで置き換えられてよい。このようにして、交代しているユーザのスナップショット画像が、ユーザに示されてよい。別の実施形態においては、より多くのタイムラインが示されてもよく、または、明瞭にするために、より少ない数のタイムラインが示されてもよい。
【0112】
さらに別の実施形態においては、ウインドウ350aまたは350bのタイムラインは、完全に異なるゲームまたはコンテンツに関連付けられたスナップショット画像を表示してよい。例えば、タイムラインは、他のビデオゲームをプレビューして試させるように、または、他のコンテンツを見るようにユーザを誘うために示されてよい。
【0113】
図4Aは、本開示の一実施形態による、ウインドウ350aに提示されたタイムライン310aの図である。タイムライン310aは、図3Aで最初に紹介したが、少なくとも一人のユーザのビデオゲームのゲームプレイのスナップショット画像を示し、スナップショットを選択することによって、スナップショット画像を拡大できる。上記のように、ウインドウ300は、ユーザによるビデオゲームのゲームプレイの現在レンダリングされている画像305を示す。タイムライン310aは、現在レンダリングされている画像305の前に生じるビデオゲームの進行のポイントで(キャラクタ306をプレイしている)ユーザによるゲームプレイのスナップショット画像(340a、340b、...)を含む。タイムライン310は、現在レンダリングされている画像305の後で生じるビデオゲームの進行のポイントで他のユーザ(例えば、キャラクタ308をプレイしている友達F1)によるゲームプレイのスナップショット画像(360d、360e、360f、...)も含む。
【0114】
より詳細には、スナップショット画像が、タイムライン310aにサムネイルを介して提示される。よって、サムネイルのサイズに応じて、レンダリングされた画像が、小さすぎてあまり詳細を示していない場合がある。ユーザは、拡大するためにスナップショットを選択してよい。例えば、一実施形態においては、ユーザは、スナップショット画像360eを提示するサムネイルの上にカーソル490aを合わせてよい。タッチスクリーンに表示されたスナップショット画像にタッチする等、拡大するスナップショット画像を選択する他の方法もサポートされる。ウインドウ410は、選択したサムネイルのほぼ同じエリアに生成、表示される。ウインドウ410は、レンダリングされたスナップショット画像360eを表示し、ウインドウ410は、スナップショット画像360eのより良いビューをユーザに提供するのに十分なサイズである。
【0115】
明瞭にするために、スナップショット画像360eを引き伸ばしたものが、ボックス420に提示される。しかしながら、一実施形態においては、ウインドウ410及び/またはスナップショット画像360eを更に選択することによって、ボックス420は、ウインドウ410に提示されているのよりさらに大きいスナップショット画像360eを示すウインドウとして表示されてよい。上記のように、スナップショット画像360eは、他のユーザ(例えば、女性のキャラクタ308をプレイする友達F1)のゲームプレイに関連付けられ、熊と遭遇するキャラクタ308を示す。タイムライン310aに提示されたスナップショット画像をスクロールし、拡大された画像を見ることによって、ユーザは、友達F1のゲームプレイをプレビューできる。このようにして、タイムライン310aに提示された選択したスナップショット画像及び/またはノードグラフのノード(以下に記載)のユーザによる更なる選択は、ゲームプロセッサ210のジャンプ実行エンジン216が、対応するスナップショットにアクセスし、スナップショットに基づいてビデオゲームの別のインスタンスをインスタンス化し、スナップショットに対応するビデオゲームのポイントで始まるビデオゲームを実行するのを可能にする。例えば、ユーザは、他のユーザ(例えば、友達F1)のゲームプレイを体験してよく、または、自分のゲームプレイを戻って、再体験及び/または再生してよい。
【0116】
図4Bは、本開示の一実施形態による、ウインドウ350bに提示された1つまたは複数のタイムラインの図であり、各タイムラインは、少なくとも一人のユーザのビデオゲームのゲームプレイのスナップショット画像を示し、スナップショットの選択によって、スナップショット画像の拡大図を有効にする。図4Bに示すタイムラインは、図3Bに関して前述したもので、タイムライン310b、320、330を含む。詳細には、タイムライン310bは、現在レンダリングされている画像305の前に生じるビデオゲームの進行のポイントでキャラクタ306をプレイするユーザによるゲームプレイのスナップショット画像を含む。タイムライン310bは、現在レンダリングされている画像305の前、ほぼ同時、及び、後に生じるビデオゲームの進行のポイントで、キャラクタ308をプレイする友達F1によるゲームプレイ中にキャプチャされたスナップショットに対応するスナップショット画像をさらに含む。一実施形態においては、スナップショット画像は、サムネイルで提示される。タイムライン320は、現在レンダリングされている画像305の前、ほぼ同時、及び、後に生じるビデオゲームの進行のポイントで、キャラクタ309をプレイする友達F2によるゲームプレイ中にキャプチャされたスナップショットに対応するスナップショット画像(370a、370b、370c、370d、370e...)を含む。タイムライン330は、現在レンダリングされている画像305の前、ほぼ同時、及び、後に生じるビデオゲームの進行のポイントでキャラクタ303をプレイする友達F3によるゲームプレイ中にキャプチャされたスナップショットに対応するスナップショット画像を含む。図4Bに示すように、タイムライン320のスナップショット画像とのインタラクションをさらに記載する、よって、タイムライン310b、330のスナップショット画像は、理解を容易にするためにラベルを付けていない。
【0117】
より詳細には、スナップショット画像は、タイムライン310b、320、330にサムネイルを介して提示される。よって、サムネイルのサイズに応じて、レンダリングされた画像が小さすぎてあまり詳細を示していない場合がある。ユーザは、タイムラインのいずれかのスナップショットを拡大のために選択してよい。図4Aは、ユーザに関連付けられたタイムラインのスナップショット画像の選択を示し、図4Bは、友達に対応するタイムラインの1つで拡大のためのスナップショット画像の選択を示す。例えば、一実施形態においては、ユーザは、タイムライン320のスナップショット画像370dを提示するサムネイルにカーソル490bを合わせてよい。タッチスクリーンに表示されたスナップショット画像にタッチする等、拡大するスナップショット画像を選択する他の方法もサポートされる。拡大されたウインドウ460が、選択したサムネイルとほぼ同じエリアに生成、表示される。ウインドウ460は、レンダリングされたスナップショット画像370dを表示し、ウインドウ460は、スナップショット画像370dのより良いビューをユーザに提供するのに十分な(例えば、対応するサムネイルより大きい)サイズである。
【0118】
明瞭さと理解しやすいように、スナップショット画像370dを引き伸ばしたものが、ボックス465に提示される。しかしながら、一実施形態においては、ウインドウ460及び/またはスナップショット画像370dの更なる選択を通して、ボックス465は、ウインドウ460に提示されるスナップショット画像よりさらに大きいスナップショット画像370dを示すウインドウとして表示されてよい。上記のように、スナップショット画像370dは、友達F2のゲームプレイに関連付けられ、キャラクタ309が、切り立った岩肌をフリークライミングしているのを示す。タイムライン320に提示されるスナップショット画像をスクロールして、拡大された画像を見ることによって、ユーザは、友達F2のゲームプレイをプレビューできる。このようにして、タイムライン320に提示される選択したスナップショット画像またはユーザによる対応するノードグラフのノード(以下にさらに詳細に記載)をユーザがさらに選択すると、ゲームプロセッサ210のジャンプ実行エンジン216が、対応するスナップショットにアクセスし、選択したスナップショットに基づいてビデオゲームの別のインスタンスをインスタンス化し、選択したスナップショットに対応するビデオゲームのポイントで開始するビデオゲームを実行するのを可能にする。
【0119】
図5Aは、ビデオゲームのゲームプレイのノードグラフ530の図であり、ノードグラフは、図3Bで最初に紹介したように、ユーザによるビデオゲームのゲームプレイ中、ウインドウ350bにタイムライン310b、320、330と共に表示される。詳細には、タイムライン310bは、ポイントでキャラクタ306をプレイするユーザのゲームプレイのスナップショット画像と、他のユーザ(例えば、キャラクタ308をプレイする友達F1)のゲームプレイのスナップショット画像とを示し、タイムライン320は、キャラクタ309をプレイする友達F2によるゲームプレイのスナップショット画像を示し、タイムライン330は、キャラクタ303をプレイする友達F3によるゲームプレイのスナップショット画像を示す。各タイムラインのスナップショット画像は、上記のように、(例えば、空白のサムネイル340cによって表される)現在レンダリングされている画像305と関連して提示される。ウインドウ300は、ユーザによるビデオゲームのゲームプレイの現在レンダリングされている画像305も示す。
【0120】
図5Aに示すように、スナップショット画像360eが、タイムライン310bにおいて、拡大のために(例えば、対応するサムネイルのインタラクションを通して)選択される。スナップショット画像360eは、現在レンダリングされている画像305の後(例えば、未来)に生じるゲームのポイントの友達F1のゲームプレイに関連付けられる。詳細には、一実施形態においては、ユーザは、タイムライン310bにおいて、スナップショット画像360eを提示するサムネイルにカーソル590aを合わせてよい。タッチスクリーンに表示されたスナップショット画像にタッチする等、拡大するスナップショット画像を選択する他の方法もサポートされる。ウインドウ410は、上記のように、拡大したスナップショット画像360eを示す。
【0121】
さらに、ノードグラフ530が、ウインドウ510に提示される。一実施形態においては、ノードグラフ530は、複数のノードを含み、複数のノードは、ユーザがビデオゲームを進むとキャラクタが選択し得る様々なパスに対応する。一実施形態においては、ノードグラフ530は、図5Bにさらに詳細に記載するように、ビデオゲームの全てのノードを示すユニバーサルグラフとして、ウインドウ510に提示されてよい。一実施形態においては、ノードグラフ530は、ユニバーサルグラフのノードのサブセットを含むように提示されてよく、サブセットは、図5Cに関連してさらに記載するように、特に関心のあるノードを示す。例えば、ノードのサブセットは、1つまたは複数のタイムラインに表示されたスナップショット画像に対応してよい。
【0122】
ウインドウ510は、右下の隅に示されているが、ウインドウ510は、ウインドウ300のどこに位置してもよいことは理解される。さらに、ウインドウ510は、見るのに適切な情報を提供するのに十分なサイズであってよい。さらなる選択によって、ウインドウ300内の拡大されたウインドウとして、または、全画面にウインドウ510を表示してよい。
【0123】
図に示すように、ノードグラフ530のノード572は、ユーザがタイムライン310aのスナップショット画像360eを拡大のために選択したことに応答して、(例えば、太字、拡大、色付き等)で自動的に強調表示されてよい。ノード572は、スナップショット画像360eの位置にほぼ対応し、スナップショット画像360eに関してビデオゲームのユニバースの文脈を与える。すなわち、ユーザは、スナップショット画像360eに関心があるので、タイムライン310bのスナップショット画像360eを選択することによって、スナップショット画像360eのより大きいビューを示すウインドウ410が提示され、ノード572が、ノードグラフ530で強調表示される。ノード572は、ユーザがノードグラフ530のノードを手動で選択することによって強調表示されてもよい。
【0124】
要約すると、ノードグラフ530は、自動的に、または、ユーザ要求に応答して、ウインドウ510に提示されてよく、ノードグラフ530は、タイムライン310aに提示されたスナップショット画像に対応するノードのサブセットを含む。さらに、ノード572は、提示、強調表示されてよく、ノード572は、スナップショット画像360eに対応するビデオゲームのゲームプレイのポイントの近似位置を示す。さらに、ノード572に対応するスナップショット画像360eが、ウインドウ520に提示されてよく、ウインドウ520は、ウインドウ410より大きく、スナップショット画像360eのさらに大きいビューを示してよい。
【0125】
このようにして、ユーザは、ビデオゲームの多次元ビューを提示される。例えば、ユーザは、自分のゲームプレイの現在のビューをレンダリングされた画像305を介して提示される。ビデオゲームの進行の様々なポイントにわたって他のユーザのゲームプレイの素早いプレビューを示す一人または複数のユーザの1つまたは複数のタイムラインと同時に、ユーザのゲームプレイも、(例えば、ユーザタイムラインのレンダリングされた画像305とスナップショット画像とを通して)提示される。スナップショット画像は、タイムラインのスナップショット画像に関連付けられたビデオゲームを通るパス、または、ビデオゲームの全ての可能なパスを示すノードグラフを提示されてよい。
【0126】
図5Bは、本開示の一実施形態による、ビデオゲームで利用できる全ての可能なパスを示すユニバーサルノードグラフ550またはノードツリーの図である。ユニバーサルノードグラフ550は、図5Aのウインドウ510に表示されてよい。例えば、ビデオゲームは、ノード551で示される開始ポイントと、ノード552で示される終了ポイントを含んでよい。1つの終了ポイントを示すが、一般的に、ユニバーサルノードグラフは、ビデオゲームを終了する1つまたは複数の選択肢を表す1つまたは複数の終了ポイントを有してよい。さらに、ビデオゲームは、対応するユニバーサルノードグラフに表される1つまたは複数の開始ポイントを有してよい。
【0127】
ユニバーサルノードグラフ550は、複数のノード(例えば、論理ノード)を含み、複数のノードは、ユーザがビデオゲームを進めると、キャラクタが選択し得る様々な論理パス(明細書で「パス」とも呼ばれる)を規定する。例えば、論理パス511は、ノード502と503との間に規定される。さらに、ユニバーサルノードグラフ550は、ノードのサブセットも含んでよい。例えば、ユニバーサルノードグラフ550のサブセットであるノードグラフ530は、図5Aのタイムライン310bに表示されるスナップショット画像に対応するノードとパスとを含む。ノードグラフ530は、図5Aのウインドウ510にも示される。
【0128】
複数の論理パスが、ノードからノードに線形にユニバーサルグラフ550を通って進むように構成されてよい。例えば、ユーザは、論理パス514と511に沿ってノード501と503との間をノードグラフ530を通って線形(例えば、ノード501からノード502、次に、ノード503)に移動する。すなわち、ノード501とノード503との間を横断する時、他の論理パスを取ることができない。
【0129】
さらに、複数の論理パスが、ノードからノードに非線形に進むように構成されてよい。例えば、ユーザは、論理パス511に沿ってノード503に到達する時、ノードグラフ550を非線形に移動する。詳細には、2つの選択肢が、ノード503で利用可能である。第1の選択肢では、キャラクタは、パス512を取ってよく、第2の選択肢では、キャラクタは、パス513を取ってよい。2つの異なるパスを取ることから異なる結果が生じ得る。
【0130】
ビデオゲームの進行は、一般的に、ユニバーサルタイムライン529によって規定されてよく、ユニバーサルタイムライン529は、開始ポイント551に関連付けられた時刻またはマーク521で始まり、終了ポイント552に関連付けられた時刻またはマーク522で終了する。タイムライン529における時刻の使用は、ビデオゲームの進行を示すためであり、必ずしも、ユーザがどれくらいの時間ビデオゲームをプレイしたかの測定値ではない。ユーザが、ユニバーサルノードグラフ530をノードからノードに移動すると、表示時刻またはマークが、タイムライン529に現れてよい。例えば、タイムライン529において、ノード501は、マーク523として表されてよく、ノード503は、マーク524として表されてよい。進行は、タイムライン529に沿って左から右に測定されてよい。例示として、ノード501は、ビデオゲームの進行においてノード503の前に生じる。よって、ノード501を表すマーク523は、ノード503を表すマーク524の左に表示される。さらに、上記のように、進行は、ユーザに関連付けられた様々なキャラクタ値を通して、タイムライン529とノードグラフ550に関連してさらに示されてよい。例えば、進行は、キャラクタが幾つの可能な命を利用可能かによって、または、キャラクタが何ポイントまたはどれだけのキャッシュを貯めているかによって測定されてよい。
【0131】
図5Cは、本開示の一実施形態による、図5Aで最初に紹介したノードグラフ530の拡大図で、ビデオゲームのゲームプレイ中にキャプチャされたスナップショットに関連して生成されたスナップショットノードの階層を示す。一実施形態においては、ノードグラフ530は、ユーザによるビデオゲームのゲームプレイ中、1つまたは複数のタイムライン(例えば、タイムライン310b、320、330)と共に表示される。例えば、ノードグラフ530は、図5Aのウインドウ510に表示されてよく、または、さらに大きいウインドウに表示されてよい。ウインドウ510に表示されたノードグラフ530の拡大図が、説明のために、図5Cに示される。ウインドウ350bの輪郭が、スナップショット画像と、ノードグラフ530の対応するスナップショットノードとを参照するために図5Cに提示される。
【0132】
詳細には、スナップショットノードは、スナップショットがキャプチャされたビデオゲームのゲームプレイのポイントに対応する。一般的に、スナップショットは、ユニバーサルノードグラフ550のノードでキャプチャされてよい。よって、スナップショットノードは、ユニバーサルノードグラフ550のノードと一致し得る。しかしながら、スナップショットがユニバーサルグラフの2つのノードの間(例えば、論理パスの真ん中)でキャプチャされた時等、スナップショットノードが、ユニバーサルグラフ550のノードと一致しない場合がある。例えば、スナップショットノード561は、ユニバーサルノードグラフ550の(ノード560と562に対応する)2つのノード間でキャプチャされてよい。
【0133】
ノードグラフ530は、対応するユーザのゲームプレイ中にキャラクタが取った様々な実際のパスを規定する複数のスナップショットノードを含む。例えば、パス579が、スナップショットノード560と561の間に規定される。パス579は、ユーザのゲームプレイと、友達F1のゲームプレイとで取られたことが示されている。ノードグラフ530は、一人または複数のユーザのゲームプレイで規定されるように、線形パス及び非線形パスのうちの一方または両方を示してよい。
【0134】
ノードグラフ530は、一実施形態においては、ウインドウ350に表示されるタイムライン310b、320、330のスナップショット画像に対応する。例えば、スナップショットノード562は、ユーザの現在レンダリングされている画像305を表すボックス340cに対応し、スナップショットノード507は、友達F1のスナップショット画像360eに対応し、スナップショットノード595は、友達F2のスナップショット画像370aに対応し、スナップショットノード565は、友達F3のスナップショット画像380dに対応する。このようにして、ユーザは、タイムラインのスナップショット画像と現在レンダリングされている画像とノードグラフ530のスナップショットノード等、関連するビデオゲームの少なくとも2つ以上のビューを提示される。現在レンダリングされている画像305(ノードグラフ530における画像305の位置と共に)と、他のスナップショット画像(ノードグラフ530におけるそのスナップショット画像の位置と共に)とを相互参照することによって、ユーザは、現在レンダリングされている画像に関連付けられたビデオゲームのポイントの近くでユーザがどのパスを利用可能かを理解できる。よって、ユーザは、ユニバーサルノードグラフ550とビデオゲームのノードグラフ530内でキャラクタ306の方向を定めることができる。そのようにして、ユーザは、ゲームの1つのポイントから次のポイントにナビゲートできる。一実施形態において、スナップショットノードが図5Cに示されているが、ノードグラフ530は、ユニバーサルノードグラフ550によって規定されるように、論理パスを規定するノードを含んでよい。
【0135】
より詳細には、キャラクタ306をプレイするユーザが取ったパスは、細かい解像度の点線Aによって示される。例えば、ユーザは、スナップショットノード560、561、562間を進んだ。スナップショットノード562から、ユーザのキャラクタ306は、スナップショットノード562からスナップショットノード563、564を通って上に進む第1のルートと、スナップショットノード565から569を通って(例えば、ノード565からノード566、ノード567、ノード568、ノード569に)スナップショットノード562から下に進む第2のルートを取った。友達F1のキャラクタ308が取ったパスは、実線Bによって示される。例えば、友達F1のキャラクタ308は、スナップショットノード560、561、562、565、570、571、572、573、574によって規定されるパスに沿って進んだ。また、友達F2のキャラクタ308が取ったパスは、粗い解像度の点線Cによって示される。例えば、友達F2のキャラクタ308は、スナップショットノード595、596、597、598、599、569によって規定されるパスに沿って進んだ。友達F3のキャラクタ303が取ったパスは、線Dによって示され、キャラクタ303が、スナップショットノード560、581、582、583、565、584、585、568によって規定されるパスに沿って進んだことを示す。
【0136】
ビデオゲームの進行において、ユーザは、現在レンダリングされている画像305に関連付けられたビデオゲームのポイントに対応するスナップショットノード562の後、または、未来に生じるパスを取ったが、スナップショットノード562に戻った。例えば、スナップショットノード562の後で取られた、スナップショットノード564で終了する第1のルートは、行き止まりに到達した場合がある。また、スナップショットノード562の後で取られた、ノード569で終了する第2のルートは、ユーザにとって満足のいくものでない場合がある。ユーザに関連付けられた現在レンダリングされている画像305の後で生じるスナップショットノードに対応するスナップショット画像は、タイムライン310bには示されていないが、他の実施形態では示されてよい。
【0137】
ユーザは、このエリアのビデオゲームのエキサイティングな部分(熊との遭遇)に関する噂を聞いているが、これまでの所、アクションの機会を失っているので、ゲーム進行においてノード562に戻る。ともかくもノード562を通ってエキサイティングな部分に到達するとユーザは考えている。本開示の実施形態は、他のユーザのゲームプレイをプレビューすることによってビデオゲームの代替のパスを発見し、ビデオゲームのエキサイティングな部分に到達するためにビデオゲームで取る可能なルートを提示する方法をユーザに提供する。例えば、ユーザは、キャラクタ308をプレイする友達F1のスナップショット画像をタイムライン310bでプレビューしてよく、スナップショット画像360eに対応するスナップショットノード507に関連して熊との遭遇が起こっていることを発見してよい。参照のために、スナップショット画像360eが、ボックス509に示される。タイムライン及び/またはノードグラフに提示されたスナップショット画像が紹介されなければ、ユーザは、関心のあるこれらのエリアをプレビュー及び/または発見するのは難しいであろう。
【0138】
詳細には、ユーザは、タイムライン310bのスナップショット画像を見てスナップショット画像360eを発見した場合がある、または、ノードグラフ530を探索することによってスナップショット画像360eを発見した場合がある。例えば、タグ507が、図5Cのノードグラフ530のスナップショットノード572の隣に示されており、それが、ユーザの注意をひいた可能性がある。ノードグラフ530のノード572とインタラクトすることによって、スナップショット画像360eのビューが、図5Aのウインドウ520等で、ユーザに提示されてよい。また、ノードグラフ530のスナップショットノード572を選択することによって、タイムライン310bの対応するスナップショット画像360eは、注意をひくために、強調表示(例えば、太字に)されてよい。このようにして、上記のように、ユーザは、対応するサムネイルの上にカーソルを合わせて、スナップショット画像360eの拡大バージョンを見てよい。他の実施態様においては、ノードグラフ530が、自身の主要なウインドウ(例えば、全画面、または、オーバーレイされたウインドウ300)に提示される場合、スナップショットノード572とのインタラクションによって、他のウインドウ(図示せず)にスナップショット画像360eを提示させてよい。
【0139】
友達F1のゲームプレイとノードグラフ530とをプレビューした後、ユーザは、スナップショット画像360eに対応するビデオゲーム、より詳細には、友達F1のゲームプレイをさらに探索したい場合がある。上記のように、本開示の実施形態は、ユーザが、友達F1のゲームプレイにジャンプするのを可能にする。詳細には、タイムライン310bまたはノードグラフ530を介してユーザがスナップショット画像360eをさらに選択すると、ゲームプロセッサ210のジャンプ実行エンジン216が、スナップショット画像360eに対応するスナップショットにアクセスし、スナップショットに基づいてビデオゲームの別のインスタンスをインスタンス化し、スナップショットとそのスナップショット画像360eとに対応するビデオゲームの(現在、ジャンプポイントとして識別されている)ポイントで始まるビデオゲームを実行するのを可能にする。このようにして、ユーザは、ノード507のビデオゲーム(熊に遭遇)を友達F1のゲームプレイを通して完全に体験してよい。すなわち、ユーザは、ジャンプノード572で友達F1のキャラクタ308にジャンプし、(スナップショット画像360eに対応する)ジャンプノード572に対応するビデオゲームのポイントで始まる友達F1のゲームプレイをインスタンス化したものをプレイする。よって、ユーザは、最もエキサイティングな部分のゲームプレイにジャンプできる。
【0140】
ユーザは、友達F1のゲームプレイを体験後、友達F1のゲームプレイによって以前キャプチャされた同じスナップショットノード572(熊に遭遇)にナビゲートしようと決めてよい。ノードグラフ530は、ユーザの現在の位置からスナップショットノード572に到達するために友達F1が取ったルートのビューを提供する。ユーザの現在の位置は、現在レンダリングされている画像305に関連付けられたノード562である。例えば、ノードグラフは、ノード562とスナップショットノード572との間の移動はスナップショットノード565と570を通ってなし得ることを示す。
【0141】
図6Aは、本開示の一実施形態による、選択したスナップショットノード(例えば、スナップショット画像360eに関連付けられたスナップショットノード572)と近い線形に並んだスナップショットノードのクラスタの図である。スナップショットノードは、タイムライン310aまたはノードグラフ530を通して選択できる。詳細には、タイムライン310aは、(空白のサムネイル340cによって表される)現在レンダリングされている画像305の前に生じるビデオゲームの進行のポイントでのユーザによるゲームプレイのスナップショット画像(340a、340b、...)を含む。タイムライン310aは、上記のように、友達F1のゲームプレイ中にキャプチャされたスナップショットに対応するスナップショット画像(360d、360e、360f、...)をさらに含む。さらに、各スナップショット画像は、ノードグラフ530に提示されるスナップショットノード等、スナップショットノードに対応する。
【0142】
タイムライン310aは、ユーザ及び友達F1のゲームプレイ中にキャプチャされた複数のスナップショットから選択したスナップショット画像を示してよい。友達F1のスナップショット及びスナップショット画像を使用して、粗い解像度と高い解像度とのスナップショット画像の提示を示す。説明を目的として、友達F1のゲームプレイ中、100枚のスナップショットがキャプチャされ、キャプチャされた順に1から100の番号を付けることができる。タイムライン310aは、キャプチャしたスナップショットに対応する全てのスナップショット画像を示す十分な場所が無い場合がある。よって、スナップショット画像のサブセットのみが、タイムライン310aに提示される。さらに、タイムライン310aに並べて提示したスナップショット画像は、連続的に及び/またはシーケンスでキャプチャされていない場合がある。例えば、図6Aのタイムライン310aに示すように、スナップショット画像360eは、キャプチャ順で50の番号が付けられ、そのすぐ右のスナップショット画像は、スナップショット画像360fで、番号は60である。よって、9枚のスナップショット画像が、スナップショット画像360eとスナップショット画像360fの間でキャプチャされているが、タイムライン310aには示されていない。
【0143】
一実施形態においては、より細かい解像度のスナップショット画像が、キャプチャしたスナップショットに基づいて、表示のために生成、提示されてよい。詳細には、画像360e等のスナップショット画像を、タイムライン310aを通して、または、ノードグラフ530を通してさらに選択すると、より高い解像度を有するスナップショット画像を提示できる。さらに、一実施形態においては、スナップショット画像は、ユーザ(例えば、友達F1)がゲームプレイ中に取ったパスを示すノードグラフ/ツリー構成で提示される。すなわち、各スナップショット画像は、ノードを表し、スナップショット画像が、ノードグラフ構成で提示される。例えば、ウインドウは、スナップショットノードに対応する画像によってスナップショットノードを表示してよく、スナップショットノードは、選択したスナップショット画像360eに対応するスナップショットの前及び/または後に連続的にキャプチャされる。スナップショット画像360eは、上記のように、友達F1のゲームプレイを開始するためにユーザが選択したジャンプポイントに対応する。ジャンプポイントとして選択する前または後に、ユーザは、スナップショット画像360eに関連付けられた様々なスナップショット画像を見たい場合がある。
【0144】
図6Aに示すように、スナップショット画像の線形の進行が、選択したスナップショット画像360eに関連して様々なサムネイルで提示される。スナップショット画像360eとそれに対応するスナップショットは、上記のように、ジャンプポイント(JP)とも呼ばれる。選択したスナップショット画像360eとJPは、キャプチャしたスナップショットの順で50の番号が付けられたスナップショットと関連付けられている。4つのスナップショット画像610、360e、615、620が示され、JPの前にキャプチャされた1枚のスナップショット(スナップショットJP-1)、JP、及び、JPの後にキャプチャされた2枚のスナップショット(スナップショットJP+1、JP+2)に対応することを、図6Aは示している。すなわち、スナップショット画像は、連続して番号が付けられたスナップショット49~52に対応する。例えば、スナップショット画像610(JP-1)、スナップショット画像360e(JP)、スナップショット画像615(JP+1)、及び、スナップショット画像620(JP+2)は、49~52と連続した順番である。このようにして、ユーザは、ノードグラフ構成のスナップショット画像360e近くの友達F1のゲームプレイのアクションをより高い解像度で見ることができる。
【0145】
図6Bは、本開示の一実施形態による、選択したスナップショットノード(例えば、スナップショット画像360eに対応するスナップショットノード572)の近くに非線形に並んだスナップショットノードのクラスタの図である。スナップショットノードは、図6Aに関連して前述したように、タイムライン310aまたはノードグラフ530を通して選択できる。図6Aは、スナップショット画像360eに対応するジャンプポイントJPの近くのビデオゲームの線形の進行を示し、図6Bは、JPの近くのビデオゲームの非線形の進行を示す。
【0146】
例えば、スナップショット画像は、友達F1がゲームプレイ中に取ったパスを示すノードグラフ/ツリー構成で提示される。すなわち、各スナップショット画像は、ノードを表し、スナップショット画像は、ノードグラフ構成で提示される。図6Bに示すように、スナップショット画像の非線形の進行は、順序番号50が付けられたJPとも呼ばれる選択したスナップショット画像360eに関連して様々なサムネイルで提示される。八枚のスナップショット画像が示される。詳細には、スナップショット画像605は、順番48が付いたスナップショットノードJP-2に対応する。また、スナップショット画像610は、順番49が付いたスナップショットノードJP-1に対応し、スナップショットノードJP-1は、非線形構成を示す決定ノードである。順序番号50A、50Bで表されるように、2つの選択が可能である。スナップショットノードJP-1から生じる選択の一方は、順番50Bのスナップショット画像613に向かう。スナップショットノードJP-1から生じる他の選択は、スナップショット画像360eと順序番号50Aに対応するスナップショットノードJPに向かう。このルートは、連続した番号のスナップショットJP+1(スナップショット画像615と順序番号51に関連)と、スナップショットJP+2(スナップショット画像620と順序番号52に関連)を通って続く。
【0147】
図6C図6Fは、本開示の一実施形態による、選択したスナップショットノードの近くに並び、図6A図6Bに関連して記載したスナップショットノードのクラスタに対応するスナップショット画像の図である。例えば、図6Cは、スナップショット画像610の図で、友達F1のゲームプレイで使用されるキャラクタ308が、最初に、熊が洞穴にいる時に熊に遭遇することを示す。スナップショット画像610は、順序番号49のスナップショットノードJP-1に対応する。図6Dは、スナップショット画像360e(スナップショットノードJPと順序番号50に関連)の図で、キャラクタ308が熊と近くで接していることを示す。キャラクタ308は、キャラクタ308が利用できる恐らく唯一のツール及び/または武器であるグルグル巻いたロープを手に持っているのが示されている。図6Eは、スナップショット画像615(スナップショットノードJP+1と順序番号51に関連)の図で、キャラクタ308が熊の各脚をロープを使って木に縛ることによって、熊を征服したのを示している。図6Fは、スナップショット画像620(スナップショットノードJP+2と順序番号52に関連)の図で、キャラクタ308が熊に勝利した成果を享受しており、武器と他の報奨品(例えば、硬貨、宝石等)を手に入れることができるのを示している。
【0148】
図7は、本開示の一実施形態による、ビデオゲームのゲームプレイ中にキャプチャされたスナップショットと、これらのスナップショットのそれぞれを、データストア750の別個のマスターファイルとして記憶することを示す。これらのマスターファイルは、この業界で典型的なように、ユーザがビデオゲームを進むにつれて自動的に消去されたり上書きされたりすることはない。このようにして、(例えば、タイムラインにおける)スナップショット画像とノードグラフを提示するために、また、同じまたは他のユーザのゲームプレイのジャンプポイントへのジャンプを可能にするために、各スナップショットに関する情報及びメタデータにいつでも容易にアクセスできる。
【0149】
例えば、複数のスナップショットが、特定のユーザのゲームプレイに関連してキャプチャされる。スナップショットは、キャプチャ順に連続して(すなわち、1~N)と番号付けされる。図7に示すように、少なくともスナップショット711(順番20)、スナップショット712(順番31)、スナップショット713(順番32)、及び、スナップショット714(順番33)がキャプチャされる。
【0150】
各スナップショットは、スナップショットに対応するビデオゲームのポイントで始まるビデオゲームのインスタンスをロード及び実行するのに十分な情報及び/またはメタデータを含む。例えば、各スナップショットは、上記のように、データベース145に記憶されたゲーム状態データ、データベース146に記憶されたスナップショット画像データ、データベース143に記憶されたランダムシードデータ、及び、データベース141に記憶されたユーザ保存データを少なくとも含む。一実施形態においては、メタデータは、2つの連続した順番のスナップショットで、及び、その間でビデオゲームのインスタンスを駆動するように使用される入力コマンドを含む。各スナップショットは、データストア750の対応するマスターファイルに記憶され、特定のスナップショットに対応するマスターファイルは、関連するアクセスに関して、これらのデータベースのそれぞれを指すポインタを含んでよい。図に示すように、スナップショット711は、マスターファイル751に記憶され、スナップショット712は、マスターファイル752に記憶され、スナップショット713は、マスターファイル753に記憶され、スナップショット714は、マスターファイル754に記憶される。
【0151】
図8は、本開示の一実施形態による、ユーザが、同じまたは他のユーザによるビデオゲームの他のゲームプレイ中にキャプチャされたスナップショットに基づいて、別個のジャンプゲームプレイに仲介ジャンプ(interceding jump)することを含む、ビデオゲームのユーザのゲームプレイの複数のセグメントの図である。例えば、図3図6に関連して前述したように、ウインドウ300に表示されている現在レンダリングされている画像305のキャラクタ306を用いてゲームをプレイしているユーザは、スナップショット画像360eによって規定されるジャンプポイント(JP)の(キャラクタ308を有する)友達F1のゲームプレイにジャンプすることを選択してよい。タイムライン310a及び/または310bは、スナップショット画像360eのプレビューをユーザに提供する。さらに、スナップショット画像360eは、上記のように、スナップショットノード572の対応する位置と(例えば、強調表示等を通して)関連付けることができるので、ノードグラフ530は、ビデオゲーム内のスナップショット画像に文脈を与える。友達F1のゲームプレイ及びキャラクタ308へのユーザによるジャンプの開始は、友達F1のゲームプレイ中にスナップショットノード572でキャプチャされたスナップショットに基づいて有効にされる。ジャンプの開始は、タイムライン310aまたは310bにおいてスナップショット画像360eをさらに選択することを通して、または、ノードグラフ530のノード572を選択することを通して、有効にされてよい。同じユーザまたは他のユーザのゲームプレイへのジャンプの開始をサポートすることは、任意の手段または方法(例えば、ジャンプ選択ウインドウ等)を通して達成されてよい。
【0152】
一実施形態においては、複数のスナップショットが、ジャンプゲームプレイにおいてキャプチャされる。さらに、ジャンプゲームプレイのビデオ記録は、キャプチャされてよく、後にアクセスするために記憶されてよい。このようにして、任意のユーザが、ジャンプゲームプレイの任意のスナップショットを介してジャンプゲームプレイをプレイしてよい。一実施形態においては、上記のように、ジャンプゲームプレイのスナップショット画像が、タイムラインに配置され、タイムラインを通して、ジャンプゲームプレイがインスタンス化されてよい。
【0153】
ビデオゲームとのユーザのインタラクションを、ユーザのゲームプレイ830のセグメントに関連して記載し得る。図に示すように、ユーザのゲームプレイ830は、第1のセグメント831と第2のセグメント832を含む。詳細には、ユーザのゲームプレイ830の第1のセグメント831は、ユーザとビデオゲームとの現在または最初のインタラクションを規定する。よって、図3Aの現在レンダリングされている画像305は、第1のセグメント831と関連付けられてよい。説明のために、スナップショットノードグラフ810は、図5Cに関連して前述したノードグラフ530の一部を示す。ユーザのゲームプレイ830の第1のセグメント831においてキャラクタ306が取ったルートが、点線811で示され、スナップショットノード560、561、562を含む。現在レンダリングされている画像305は、スナップショットノード562に関連付けられ、スナップショットノードグラフ810は、キャラクタ306がスナップショットノード562のさらに右の1つのパス812を通ってノード563、564に、また、第2のパス813を通ってノード565、566に行く(例えば、さらに進む)ことを示すが、説明と明瞭にすることを目的として、第1のセグメント831の終了を示す。キャラクタ306が取ったルートの(スナップショットノード562で終了する)この部分は、ノードグラフ820でも繰り返され、第1のセグメント831の終了までキャラクタ306を用いたユーザのゲームプレイを示す。
【0154】
スナップショットノード562において、上記のように、ユーザは、ビデオゲームの他のポイントを探索することを選んで、友達F1のゲームプレイへのジャンプを選択してよい(例えば、スナップショット画像360eをさらに選択)。友達F1のゲームプレイは、スナップショットノードグラフ810の太い実線899で示される。この時点で、ユーザのゲームプレイ830の第1のセグメント831は中断され、ユーザは、スナップショットノード572に対応するポイントで、友達F1のゲームプレイにジャンプする。説明のために、ジャンプゲームプレイは、キャラクタが熊と近くで関わっているポイントで始まる。詳細には、ユーザのゲームプレイ830を実行するビデオゲームのインスタンスが、中断され(例えば、第1のセグメント831が終了)、ジャンプポイント(スナップショットノード572)で始まる友達F1のジャンプゲームプレイを実行するビデオゲームのインスタンスが、スナップショットノード572でキャプチャされた対応するスナップショットに基づいてインスタンス化される。ノード572へのジャンプの表示は、曲がった矢印891で示される。ジャンプゲームプレイは、ジャンプセグメント840によって規定される。
【0155】
別の実施形態においては、ジャンプゲームプレイを開始する前に、ユーザのゲームプレイ830が、第1のセグメント831の終わりで保存、終了される。このようにして、ユーザは、将来、ビデオゲームに戻って、スナップショットノード562(例えば、第1のセグメント831の終わり)に対応するポイントから再開してよい。すなわち、ユーザは、中断したゲームを効率的に再開し得る。
【0156】
一実施形態においては、ユーザのゲームプレイ830を実行するビデオゲームのインスタンスは、ユーザがインタラクトするジャンプゲームプレイを実行するビデオゲームのインスタンスとは別個であり、ジャンプゲームプレイは、友達F1の元のゲームプレイに基づく。説明のために、スナップショットノードグラフ850は、ユーザがプレイしたジャンプゲームプレイのジャンプセグメント840のキャラクタ308が取ったルートを示し、ジャンプゲームプレイのキャラクタ308は、元々、友達F1のゲームプレイによって作成、規定されたものである。ジャンプゲームプレイで取ったルートは、太い点線896で示される。
【0157】
ノードグラフ850で示されたジャンプゲームプレイのキャラクタ308が取ったルートは、スナップショットノード572で開始し、ノード851、852、及び、終了ノード859に連続して続く。終了ノード859は、ジャンプゲームプレイを実行するビデオゲームのインスタンスの終了を示す。点線896で示されるジャンプゲームプレイのキャラクタ308が取った(ノード572、851、852、859を含む)ルートは、ノードグラフ810に示す友達F1のゲームプレイのキャラクタ308が取った(ノード572、573、574を含む)ルート897とは異なることに注意することは重要である。すなわち、ユーザは、ジャンプゲームプレイを指示する新しい入力コマンドを提供しているので、ユーザが実行するジャンプゲームプレイは、友達F1の以前に記憶されたゲームプレイとは異なる。例えば、ジャンプゲームプレイにおいて、ユーザが、このポイントのゲームを素早くプレビューして、自分のゲームプレイ830においてビデオゲームのこの部分をプレイするか否かを決定する場合があるので、熊との遭遇に成功しないということが生じ得る。他方、友達Flのゲームプレイは、熊との遭遇に成功したことを示してよい。
【0158】
一実施形態においては、ジャンプゲームプレイ中、スナップショットが、ジャンプセグメント840に示される各ノード(例えば、ノード572、851、852、859)でキャプチャされてよい。ジャンプゲームプレイとそれに関連付けられたスナップショットは、後にアクセスするために記憶されてよい。例えば、ユーザが、ユーザが作成し、ビデオゲームに関連付けられたジャンプゲームプレイを見直し、インスタンス化したい場合がある。他の実施形態においては、ユーザは、他のビデオゲームに関連付けられたジャンプゲームプレイを見直し、インスタンス化したい場合があり、ジャンプゲームプレイは、ユーザまたは他のユーザによって作成されたものである。
【0159】
ジャンプゲームプレイを実行後、ユーザのゲームプレイ830が再開されてよい。ユーザは、友達F1のゲームプレイをプレビューし終えて、ジャンプポイントに関連付けられたスナップショットノード572に自分のキャラクタ306を到達させたい場合がある。このようにして、ユーザのゲームプレイ830は、ジャンプポイントの方に向かうルートを含んでよく、そうすることによって、ユーザのゲームプレイのキャラクタは、同じように熊に遭遇する。
【0160】
スナップショットノードグラフ820は、今、再開されたユーザのゲームプレイ830のキャラクタが取るルートを示す。ゲームプレイ830の再開は、第2のセグメント832によって規定され、再開されたゲームプレイは、太い点線809で規定される。よって、ユーザによるゲームプレイ830全体は、第1のセグメント831(点線811)と第2のセグメント832(太い点線809)とによって示される。一実施形態においては、ゲームプレイ830の第2のセグメント832は、中断されたビデオゲームのインスタンスを続ける。別の実施形態においては、ゲームプレイ830の第2のセグメント832は、第1のセグメント831が終了しているので、スナップショット562に関連付けられたビデオゲームのポイントで始まるビデオゲームの新しいインスタンスで実行される。第2のセグメント832は、スナップショットノード562で始まり、スナップショットノード821、822、823、824、829に連続して続く。
【0161】
ノードグラフ820において、スナップショットノード823は、ジャンプポイントに関連付けられたスナップショットノード572にほぼ対応する。例えば、ユーザは、自分のゲームプレイ830で熊に遭遇したい。詳細には、ユーザのゲームプレイのスナップショットノード572へのナビゲーションは、スナップショットノードグラフ530及び/またはユニバーサルノードグラフ550を介してユーザによってなし得る。詳細には、ユーザは、スナップショットノードグラフ530を見直すことによって、他のユーザ(例えば、友達F1)が遭遇したスナップショットノード562とスナップショットノード572との間にある可能なパスを発見することができる。さらに、ユーザは、スナップショットノード562とスナップショットノード572との間にある一般的な論理パスを、ユニバーサルノードグラフ550を見直すことによって発見できる。このようにして、ユーザは、(例えば、ノード821、822を通って)スナップショットノード823にナビゲートでき、熊に遭遇できる。ノード821、822は、友達F1のゲームプレイ中に元々、キャプチャされたスナップショットノード565、570とほぼ並んでいるが、同一でなくてもよいことに注意することは重要である。
【0162】
スナップショットノード823、824、及び、829等は、第2のセグメント832でユーザのゲームプレイ830が取ったルートを示し、キャラクタ306は、熊と遭遇し、熊と接触している。スナップショットノード823で最初に熊と遭遇した後取った(ノード824、829等を含む)ルートは、ジャンプゲームの(例えば、ノード572、851、852、859)ルートと同じでなくてもよく、友達Flのゲームプレイのルート(例えば、ノード572、573、574)とも同じでなくてもよい。これは、ユーザのゲームプレイ830は、ビデオゲームを駆動するユーザ独自の入力コマンドを有するからである。
【0163】
ネットワークを介して通信するゲームサーバとクライアントデバイスの様々なモジュールの詳細な記載と共に、本開示の一実施形態による、ゲームネットワークを介して実行するビデオゲームのゲーム世界をナビゲートする方法を、図9のフロー図900に関連して記載する。フロー図900は、ネットワークを介してクライアントデバイスに表示される情報を生成するために、ゲームサーバで行われる動作のプロセスとデータフローを示す。
【0164】
方法は、動作910で始まり、複数のユーザに関連して実行されるビデオゲームの複数のインスタンスから生成される複数のスナップショットをキャプチャすることを含む。詳細には、ビデオゲームのインスタンスは、図1の1つまたは複数のゲームサーバ205の1つまたは複数のゲームプロセッサ210によって実行されている。ビデオゲームの各インスタンスが実行されると、1つまたは複数のスナップショットがキャプチャされ、スナップショットは、そのスナップショットに対応する上記ビデオゲームのポイントから始まるビデオゲームのインスタンスの実行を可能にする。
【0165】
詳細には、スナップショットは、対応するユーザのゲームプレイに関連して実行されるビデオゲームのインスタンスによって生成されるレンダリングされた画像を含むスナップショット画像を含む。レンダリングされた画像は、ビデオゲームのあるポイントに対応するビデオゲームのシーンを示し、そのポイントは、ビデオゲームにおけるユーザのゲームプレイの進行を示す。
【0166】
さらに、スナップショットは、上記ビデオゲームのポイントに対応する環境の生成を可能にするゲーム状態データも含む。すなわち、スナップショットに基づいて、対応するシーンと環境が生成され、キャラクタは、ユーザのゲームプレイを通して環境とインタラクトするように命令される。
【0167】
さらに、上記のように、スナップショットは、シーンと環境に追加の特徴を提供するランダムシードデータを含む。例えば、クラウド構成と1つまたは複数の一般的キャラクタの動きとは、ユーザのゲームプレイに関連付けられたシーンと環境に含めるために一意に生成されてよい。よって、クラウド構成と1つまたは複数の一般的キャラクタの動きとは、ビデオゲームの各インスタンスに合わせて異なってよい。
【0168】
また、スナップショットは、対応するユーザのゲームプレイのキャラクタの生成を可能にするユーザ保存データを含む。キャラクタは、スナップショットがキャプチャされたビデオゲームのポイントに対応する第1の状態を有する。例えば、第1の状態は、キャラクタの様子と種類、キャラクタが身に着けている衣服、キャラクタの達成レベル、キャラクタが使用できる武器、そのポイントでのキャラクタの命の状態等を規定する。
【0169】
動作920において、方法は、ビデオゲームをプレイする第1のユーザの第1のタイムラインの表示を生成することを含む。第1のタイムラインは、ビデオゲームを進む少なくとも一人のユーザ(第1のユーザ及び/または他のユーザ)のスナップショット画像を含む。タイムラインのスナップショット画像は、第1のユーザに関連して実行しているビデオゲームの第1のインスタンスの現在レンダリングされている画像に関連して表示される。各スナップショット画像は、対応するスナップショットを相互参照できる。現在レンダリングされている画像は、第1のユーザによるビデオゲームの進行の現在のポイントに関連付けられる。
【0170】
動作930において、方法は、第1のユーザに関連付けられた複数の第1のスナップショット画像を含む複数の第1のサムネイルを、第1のタイムラインに表示するために生成することを含む。すなわち、第1のサムネイルは、第1のユーザのビデオゲームの進行を示す。詳細には、複数の第1のスナップショットは、現在レンダリングされている画像と比べて、第1のユーザの過去の進行を示す少なくとも1つのレンダリングされた画像を含む。
【0171】
動作940において、方法は、第2のユーザに関連付けられた複数の第2のスナップショット画像を含む複数の第2のサムネイルを、第1のタイムラインに表示するために生成することを含む。すなわち、第2のサムネイルは、第2のユーザのビデオゲームの進行を示す。詳細には、複数の第2のスナップショット画像は、現在レンダリングされている画像の後のビデオゲームのポイントで第2のユーザの今後の進行を示す少なくとも1つのレンダリングされた画像を含む。
【0172】
他の実施態様においては、複数の第2のスナップショット画像は、第2のユーザの過去及び/または現在の進行を示す。例えば、第2のスナップショットは、第1のユーザのクライアントデバイスに表示するために生成された現在レンダリングされている画像の前のビデオゲームのポイントの第2のユーザの進行を示す少なくとも1つのレンダリングされた画像を含む。
【0173】
さらに別の実施形態においては、追加のタイムラインが、クライアントデバイスに表示するために生成されてよい。例えば、第3のユーザの第2のタイムラインが、表示のために生成される。第2のタイムラインは、第3のユーザの複数の第3のスナップショット画像を含む。第2のタイムラインは、第1のユーザのゲームプレイに関連付けられた現在レンダリングされている画像の前と後のビデオゲームの複数のポイントで、ビデオゲームのゲームプレイ中の第3のユーザの進行を示す複数のレンダリングされた画像を含む。
【0174】
上記のように、選択したスナップショット画像は、ゲームプロセッサ210のジャンプ実行エンジン216が、スナップショット画像に対応するスナップショットにアクセスし、スナップショットに基づいてビデオゲームの別のインスタンスをインスタンス化し、スナップショットに対応するビデオゲームの(今、ジャンプポイントとして識別された)ポイントから始まるビデオゲームを実行するのを可能にする。例えば、ゲームプロセッサ210は、第1のタイムラインの複数の第2のスナップショットから選択したスナップショット画像の第1のユーザの選択を受信する。選択したスナップショット画像は、第2のユーザのゲームプレイに関連付けられている。さらに、ゲームプロセッサは、第1のユーザのゲームプレイに関連して実行されるビデオゲームの第1のインスタンスの実行を、選択したスナップショット画像に関連付けられたビデオゲームのジャンプポイントにジャンプさせるように構成される。一実施態様において、ビデオゲームの第1のインスタンスは、中断及び/または終了され、ビデオゲームの別のインスタンスであるジャンプゲームが、選択したスナップショット画像のスナップショットに基づいてインスタンス化される。
【0175】
このようにして、第1のユーザは、第2のユーザのゲームプレイにジャンプできる。例えば、第1のユーザは、ジャンプゲームにおいて、第2のユーザのゲームプレイが使用するキャラクタに命令できる。選択したスナップショット画像の対応するスナップショットは、第2のユーザが保存したデータを含み、そのデータは、第2のユーザのゲームプレイが使用するキャラクタの生成を可能にし、ジャンプゲームにおいて第1のユーザのジャンプゲームプレイも使用される。第2のユーザが保存したデータと第2のキャラクタは、第2のユーザのゲームプレイから生じている。同様に、第1のユーザは、ジャンプゲームの実行中、ジャンプゲームプレイを作成する。
【0176】
第1のユーザがジャンプゲームを終えた後、ビデオゲームの第1のインスタンスが再開されてよい。すなわち、ジャンプゲームを実行するビデオゲームの第2のインスタンスを終了させ、第1のユーザのゲームプレイに関連付けられたビデオゲームの第1のインスタンスが再開される。このようにして、第1のユーザは、ビデオゲームの自分のゲームプレイを再開してよい。
【0177】
第1のユーザは、第1のユーザの以前のゲームプレイのスナップショット画像を選択してよい。例えば、ゲームプロセッサは、以前のゲームプレイに関連付けられた複数の第1のスナップショット画像の選択したスナップショット画像の選択を受信するように構成されてよい。ビデオゲームの第1のインスタンスの実行により、選択したスナップショット画像に関連付けられたビデオゲームのジャンプポイントにジャンプする。一実施態様において、ジャンプは、選択したスナップショット画像に対応するスナップショットに基づいて、ビデオゲームの別のインスタンスを通して有効にされる。他の実施態様においては、ジャンプは、ビデオゲームの第1のインスタンスを通して有効にされる。
【0178】
さらに、ノードグラフが、クライアントデバイスに表示するために生成されてよい。ノードグラフは、上記のように、タイムラインに表示されるスナップショット画像に対応する複数のスナップショットノードを含む。複数のスナップショットノードは、複数のパスを規定し、パスとノードは、第1のユーザと第2のユーザのゲームプレイに関連付けられる。ノードグラフの各ノードは、対応するスナップショットに関連付けられる。
【0179】
さらに、ノードグラフは、第1のユーザの同じユーザまたは他のユーザのゲームプレイへのジャンプを可能にし得る。例えば、ゲームプロセッサは、ノードグラフで選択したスナップショットノードの選択を受信するように構成されてよい。スナップショットノードは、対応するスナップショットに関連付けられる。選択したスナップショットノードに対応する選択したスナップショット画像が、任意選択で、クライアントデバイスに表示するために生成されてよい。詳細には、選択したスナップショットノード及び/または対応するスナップショット画像を選択することによって、第1のユーザのゲームプレイに関連して実行されているビデオゲームの第1のインスタンスの実行から選択したノードに関連付けられたビデオゲームのジャンプポイントにジャンプすることを可能にする。
【0180】
[ビデオ記録を介したゲームプレイアクセス]
一般的に言うと、本開示の様々な実施形態は、特に、クラウドベースのゲームシステムで実行されている時に、記憶されたゲームプレイのビデオ記録を介して、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイにユーザをジャンプさせるシステム及び方法を記載する。ビデオ記録は、元々ゲームプレイ中にキャプチャされた複数のスナップショットを含む、または、参照し、スナップショットは、スナップショットキャプチャに対応するポイントでゲームアプリケーションのインスタンスのインスタンス化を可能にするメタデータ及び/または情報を含む。スナップショットは、任意の要求したユーザが、そのユーザが記憶されたゲームプレイを生成したプレイヤでない場合でさえ、ゲームアプリケーションのインスタンスをインスタンス化及び指示するのを可能にする。ビデオ記録は、記憶されたゲームプレイの1つまたは複数のスナップショット画像を含むタイムラインを通して選択可能であってよく、各スナップショット画像は、スナップショットに対応し、スナップショット画像は、ゲームアプリケーションのプレイヤの進行の感覚を視聴者に与えるように表示される。タイムラインは、ユーザがゲームアプリケーションをプレイしている時、提示されてよく、それによって、他のプレイヤのゲームプレイをプレビューすることによってユーザのゲームプレイの可能性の感覚をユーザに与える。ビデオ記録のビデオフレームの選択によって、ジャンプポイントを識別する。選択したビデオフレームは、ジャンプゲームプレイのインスタンス化に使用される対応するスナップショットに関連付けられている。選択したビデオフレームは、スナップショットに対応してなくてもよく、1つまたは複数のスナップショットの場所に、それらの近くに、または、それらの間に位置してよい。ジャンプゲームプレイが、自動的に実行されて、以前使用された保存した入力コマンドを用いてプレイヤのゲームプレイをジャンプポイントに到達するまで再生し、その後、ジャンプゲームプレイは、要求したユーザにとってライブになる(すなわち、ジャンプゲームプレイは、ユーザ入力コマンドによって指示される)。
【0181】
ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイにビデオ記録を介してユーザをジャンプさせる本開示の実施形態は、上記の図1及び図2のシステム内で実施されてよい。
【0182】
図10は、本開示の一実施形態による、ビデオ記録を介したゲームプレイアクセスに使用されるシステムのコンポーネントを示す。システムは、プレイヤのゲームプレイ中にシステムによって生成、キャプチャされたスナップショットに基づいて、ゲームアプリケーションに参加している任意のプレイヤの記憶されたゲームプレイにユーザがジャンプするのを可能にする。例えば、ある実施形態においては、ビデオ記録を介したゲームプレイアクセスに使用されるコンポーネントは、図1で前述したように、ゲームサーバ205のゲームプロセッサ210内に含まれてよい。さらに、他の実施形態においては、ゲームサーバ205は、図2のゲームクラウドシステム(GCS)201内に含まれ、それによって、GCS201は、ビデオ記録を介したゲームプレイアクセスを提供するように構成可能である。
【0183】
詳細には、ゲームプロセッサ210は、ゲームアプリケーションに参加しているプレイヤの以前のゲームプレイ中にキャプチャされたスナップショットに基づいて、ゲームアプリケーションのインスタンスをインスタンス化するように構成された様々なコンポーネントを含む。ゲームプロセッサ210は、図1で前述したが、ゲーム実行エンジン211、スナップショット生成部212、タイムライン生成部213、ノードグラフ生成部214、AIオーバーレイモジュール215、及び、ジャンプゲーム実行エンジン216を含む。さらに、図10に示すように、ゲームプロセッサ210は、ビデオプレイヤ1010、再生エンジン1015、ジャンプゲーム入力マネージャ1020、再生開始ポイントセレクタ1025、ゴースティングエンジン1030、及び、ガイドエンジン1035をさらに含む。ゲームプロセッサ210の1つまたは複数のコンポーネントは、単独でまたは併用されて、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイに、記憶されたゲームプレイのビデオ記録を介してジャンプさせるように構成可能である。さらに、ゲームプロセッサ210の1つまたは複数のコンポーネントは、開示の他の実施形態において、GCS201等、クラウドベースのゲームシステム内でビデオ記録を介してゲームプレイへのアクセスを提供する。
【0184】
詳細には、図1のシステム10は、ゲームプロセッサモジュール210を実行するゲームサーバ205を含み、ゲームサーバ205は、複数のインタラクティブなビデオゲームまたはゲームアプリケーションへのアクセスを提供する。より詳細には、ゲームアプリケーションの記憶されたゲームプレイへのインタラクティブなアクセスをゲームプレイのビデオ記録を介して提供する。図1に示すように、クライアントデバイス100は、ジャンプゲームプレイの形態で、プレイヤの特定のゲームプレイへのアクセスを要求するように構成される。アクセスの要求は、プレイヤのゲームプレイのビデオ記録を介して行われてよく、それによって、ビデオ記録を通して含まれる及び/または参照される関連するスナップショットを使用して、ジャンプゲームプレイをインスタンス化する。詳細には、ゲームサーバ2015が、ゲームアプリケーションのインスタンスを実行して、スナップショットに基づいて、ジャンプゲームプレイをインスタンス化し、表示のためにクライアントデバイス100に配信するレンダリングされた画像を生成する。
【0185】
例えば、ビデオプレイヤ1010は、ゲームアプリケーションに参加しているプレイヤの選択されたゲームプレイのビデオ記録をプレイする時、複数のビデオフレームを生成するように構成される。ビデオプレイヤ1010は、独立して、または、ビデオリコーダ271と協働して、ゲームプレイの記録(例えば、ビデオ、オーディオ等)を、そのゲームプレイに対応する任意のゲームメトリックと共に、生成、保存、アクセス、及び/または、プレイしてよい。一実施形態においては、記憶されたゲームプレイのビデオ記録は、クライアントデバイス100で表示するためにレンダリングされるタイムラインによって提示される記憶されたゲームプレイの1つまたは複数のスナップショット画像を通して選択可能である。スナップショット画像は、ゲームアプリケーションのゲームプレイの進行を示すために提示される。すなわち、ゲームプレイ中にキャプチャされたスナップショット画像の1つを選択すると、記憶されたゲームプレイのビデオ記録の選択及び再生が行われる。ビデオ記録の画像フレームが、ネットワークを介して表示のためにクライアントデバイスに配信される。
【0186】
さらに、ビデオ記録は、ゲームプレイ中にキャプチャされた複数のスナップショットを含む、または、参照する。スナップショットは、スナップショットキャプチャに対応するゲームプレイのポイントで、ゲームアプリケーションのインスタンスのインスタンス化を可能にするメタデータ及び/または情報を含む。よって、ビデオ記録のジャンプポイントを(例えば、ビデオフレームによって)選択すると、ジャンプポイントで始まるジャンプゲームプレイのインスタンス化が行われる。詳細には、再生エンジン1015は、ゲームアプリケーションのインスタンスを作成、実行して、ジャンプゲームプレイをインスタンス化するように構成される。ゲームアプリケーションのインスタンスは、ジャンプポイントの選択を通して決定された関連するスナップショットに基づいて、インスタンス化される。ジャンプポイントは、関連するスナップショットに直接、対応してよい、または、ジャンプポイントは、関連するスナップショットの近く、もしくは、関連するスナップショットと他のスナップショットとの間に位置する。よって、関連するスナップショットを用いて、ジャンプゲームプレイをインスタンス化する。一実施態様においては、再生エンジン1015は、単独で、または、ジャンプゲーム実行エンジン216と協働して、記憶されたゲームプレイへのインタラクティブなアクセスを提供する。
【0187】
詳細には、再生開始ポイントセレクタ1025は、ジャンプゲームプレイの再生部分の開始ポイントを決定するように構成される。すなわち、ジャンプポイントの選択後、プレイヤのゲームプレイの実行に使用されるゲームアプリケーションのインスタンスを開始及び/またはインスタンス化するために、適切な関連する開始スナップショットが選択される。ジャンプポイントは、開始スナップショットがキャプチャされたゲームプレイのポイントに対応しなくてもよい。ジャンプゲームプレイの再生部分の間に、記憶されたゲームプレイが、開始スナップショットがキャプチャされたゲームプレイのポイントからジャンプポイントまで自動的に再生され、その後、ジャンプゲームプレイは、要求したユーザにとってライブになって、再生エンジン1015及び/またはジャンプゲーム実行エンジン216は、要求したユーザのクライアントデバイス100からの入力コマンドを処理する。
【0188】
詳細には、ジャンプゲームプレイの再生部分の間、ジャンプゲーム入力マネージャ1020は、ゲームアプリケーションのインスタンスによる実行に使用する複数の入力コマンドを決定し、それらの入力コマンドにアクセスする。複数の入力コマンドは、プレイヤのゲームプレイを指示するために以前に使用されたものである。複数の入力コマンドは、プレイヤのゲームプレイ中に生成された1つまたは複数のスナップショットに関連してキャプチャされ、(例えば、図1のデータストア140のデータベース1040)に記憶されている。例えば、スナップショットは、対応するスナップショットがキャプチャされたポイントまで、及び、ポイントを含み得るまでに使用した入力コマンドを記憶してよく、入力コマンドは、過去の最も近くのスナップショットに関連付けられたポイントに始まって、収集されてよい。すなわち、対応するスナップショットに対する記憶された入力コマンドは、前のスナップショットから対応するスナップショットにゲームプレイを進める。また、スナップショットは、対応するスナップショットがキャプチャされたポイント、及び/または、そのポイントの後、次の及び/または最も近いスナップショットと関連付けられたポイントで終了するまでに使用された入力コマンドを記憶してよい。すなわち、対応するスナップショットに関して記憶された入力コマンドは、対応するスナップショットから次のスナップショットにゲームプレイを進める。他の実施態様においては、スナップショットは、対応するスナップショットがキャプチャされたポイントの前、及び、後で使用された入力コマンドを記憶してよい。
【0189】
ネットワーク150を介して通信するゲームサーバ205とクライアントデバイス10との様々なモジュールの詳細な記載と共に、本開示の一実施形態によるゲーム方法をフロー図1100に関連して記載する。詳細には、フロー図1100は、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイに、ゲームプレイのビデオ記録を通して等、インタラクティブにアクセスする方法のステップを示す。より具体的には、フロー図1100の方法は、ゲームプレイ中に生成、キャプチャされたスナップショットに基づいて、記憶されたゲームプレイにユーザをジャンプさせる方法を開示する。スナップショットは、記憶されたゲームプレイのビデオ記録を通して選択可能である。フロー図1100は、ネットワーク150を介してクライアントデバイス200で表示される情報を生成する目的で、クラウドベースのゲームシステム201(例えば、GCS201)のゲームサーバ205側で行われる動作のプロセス及びデータフローを示す。
【0190】
方法の動作1110は、記憶されたゲームプレイのビデオ記録をユーザに関連付けられたクライアントデバイスにネットワークを介して配信することを含む。記憶されたゲームプレイは、ゲームアプリケーションに参加しているプレイヤのゲームプレイである。ユーザは、記憶されたゲームプレイを視聴するアクセスを得る。ゲームプレイは、ユーザ以外のプレイヤのゲームプレイであってもよく、ユーザであるプレイヤのゲームプレイであってもよい。
【0191】
一実施形態においては、ビデオ記録は、ゲームプレイの1つまたは複数のスナップショット画像を含むタイムラインを通して選択される。図1図9に関して前述したように、ゲームアプリケーションに参加している間、タイムラインは、ユーザのゲームプレイと同時に提示されてよい。すなわち、ユーザが、ゲームアプリケーションをプレイしている間、ユーザは、他のプレイヤのゲームプレイをそのゲームプレイのビデオ記録を通して、さらには、他のプレイヤの記憶されたゲームプレイとインタラクティブなアクセスを通して、プレビューしたい場合がある。また、ユーザは、ゲームアプリケーションをプレイしている間、ユーザの記憶されたゲームプレイのビデオ記録を通して、さらに、ユーザの記憶されたゲームプレイとインタラクティブなアクセスを通して、自分のゲームプレイを見直したい場合がある。すなわち、タイムラインのスナップショット画像は、対応するビデオ記録への関連付け及びアクセス、及び/または、ジャンプゲームプレイの形態で、記憶されたゲームプレイへのインタラクティブなアクセスを提供する。
【0192】
1120において、方法は、ビデオ記録を介したゲームプレイのジャンプポイントの選択をクライアントデバイスから受信することを含む。すなわち、ビデオ記録の選択したポイントは、要求したユーザが、プレイヤのゲームプレイに基づいたジャンプゲームプレイとインタラクティブなアクセスを開始したいジャンプポイントを規定する。言い換えると、要求したユーザは、プレイヤのゲームプレイにジャンプゲームプレイを介してインタラクティブにアクセスしたい。
【0193】
1130において、方法は、開始スナップショット等、スナップショットに基づいて、ゲームアプリケーションのインスタンスをインスタンス化及び/または開始することを含む。ゲームアプリケーションのインスタンスは、ジャンプゲームプレイをインスタンス化する。詳細には、ビデオ記録は、プレイヤのゲームプレイの第1のポイントでキャプチャされる開始スナップショットを含む、プレイヤのゲームプレイ中にキャプチャされた1つまたは複数のスナップショットに関連付けられている。スナップショットは、スナップショットキャプチャに対応するポイントでゲームアプリケーションのインスタンスのインスタンス化及び/または開始を可能にするメタデータ及び/または情報を含む。例えば、スナップショットは、プレイヤのゲームプレイに関連して実行されたゲームアプリケーションの第1のインスタンスによって生成されたレンダリングされた画像を含むスナップショット画像を含む。スナップショット画像は、プレイヤのゲームプレイのポイントに対応するビデオフレームに対応する。
【0194】
説明のために、開始スナップショットは、第1のスナップショット画像を含み、第1のスナップショット画像は、ビデオ記録の第1のビデオフレームに対応し、第1のビデオフレームは、ゲームプレイの第1のポイントにさらに対応する。スナップショットは、上記のように、ゲームプレイの第1のポイントに対応する環境の生成を可能にするゲーム状態データも含む。スナップショットは、上記のように、環境に追加の特徴を与えるランダムシードデータも含む。スナップショットは、上記プレイヤのゲームプレイのキャラクタの生成を可能にするユーザ保存データも含み、キャラクタは、ゲームプレイの第1のポイントに対応する第1の状態を有する。例えば、ユーザ保存データは、プレイヤが選択したゲーム難易度、ゲームレベル、キャラクタ属性、キャラクタ位置、残りの命の数、利用可能な命の総数、防御手段、トロフィ、タイムカウンタ値等を含んでよい。スナップショットは、入力コマンドのシーケンスうち少なくとも1つの入力コマンドも含み、スナップショットに関連付けられた入力コマンド(例えば、スナップショットにつながる、または、スナップショットから離れる)がキャプチャ、記憶される。
【0195】
よって、ゲームアプリケーションは、開始スナップショットのキャプチャに対応するポイントで開始され、プレイヤの記憶されたゲームプレイ(例えば、シーン、キャラクタ等)によって前に規定されたゲーム環境に基づく。例えば、開始スナップショットは、プレイヤのゲームプレイの第1のポイントでのゲームアプリケーションのインスタンスのインスタンス化及び/または開始を可能にする。
【0196】
一実施形態においては、上記のように、ジャンプポイントは、キャプチャしたスナップショットに対応してよく、キャプチャしたスナップショットを使用して、ジャンプゲームプレイをインスタンス化及び/または開始してよい。例えば、ジャンプポイントが、開始スナップショット(及び、第1のポイント)に直接、対応する時、開始スナップショットを使用して、ジャンプポイントで始まるジャンプゲームプレイをインスタンス化及び/または開始してよく、ジャンプゲームプレイは、要求したユーザからの入力コマンドの実行を通して直ぐに、要求したユーザにとってライブになる。
【0197】
別の実施形態においては、ジャンプポイントは、ジャンプゲームプレイをインスタンス化するのに使用されるスナップショットに対応しなくてもよい。すなわち、ジャンプゲームプレイは、開始スナップショットに基づいて、ゲームアプリケーションのインスタンスによってインスタンス化、実行されるが、ジャンプポイントは、プレイヤのゲームプレイの第1のポイントに直接、対応してなくてもよく、第1のポイントは、開始スナップショットに直接対応する。しかしながら、ジャンプポイントは、ジャンプゲームプレイをインスタンス化及び/または開始するのに使用される開始スナップショットと関連付けられ、それによって、ジャンプゲームプレイを使用して、ジャンプポイントに到達し得る。詳細には、ジャンプゲームプレイは、再生部分とライブ部分を含む。従って、ジャンプゲームプレイは、(例えば、記憶されたゲームプレイから保存した入力コマンドを用いて)再生部分を通して自動的に実行されてジャンプポイントに到達してよく、その後、ジャンプゲームプレイは、要求したユーザからの入力コマンドを実行することによって、要求したユーザにとってライブになる。
【0198】
具体的には、再生部分の間、動作1140において、方法は、開始スナップショット及び/またはジャンプポイントに関連付けられた複数の入力コマンド及び/または入力コマンドのシーケンスにアクセスすることを含む。入力コマンドは、プレイヤの記憶されたゲームプレイを指示するために前に使用されたものである。
【0199】
再生部分の間、入力コマンドは、ジャンプゲームプレイをインスタンス化するゲームアプリケーションのインスタンスによって実行されると、第1のポイントからジャンプポイントまでプレイヤのゲームプレイを再生する。具体的には、動作1150において、方法は、クライアントデバイスでレンダリングするために、入力コマンドのシーケンスに基づいて、ゲームアプリケーションのインスタンスで複数の画像フレームを生成することを含む。複数の画像フレームは、第1のポイントからジャンプポイントまで(ジャンプゲームプレイにおいて)プレイヤのゲームプレイを再生する。例えば、複数の画像フレームは、プレイヤのゲームプレイの第1のポイントの第1のビデオフレームに対応する第1の画像フレームと、ジャンプポイントの第2のビデオフレームに対応する第2の画像フレームとを含む。再生部分は、第1のポイントに対応する第1の画像フレームと、ジャンプポイントに対応する第2の画像フレームとの間の画像フレームを生成する。
【0200】
一実施形態においては、方法は、ジャンプゲームプレイの再生部分中に再生及び/または再現されるプレイヤのゲームプレイを早送りすることを含む。すなわち、入力コマンドのシーケンスは、ゲームアプリケーションのインスタンスにおいて順方向に実行され、入力コマンドは、記憶されたゲームプレイの元々の実行を指示するために連続して順序付けることができる。別の実施形態においては、方法は、ジャンプゲームプレイの再生部分中に再生及び/または再現されるプレイヤのゲームプレイを巻き戻しすることを含む。すなわち、入力コマンドのシーケンスは、ゲームアプリケーションのインスタンスにおいて逆の順で実行され、入力コマンドは、記憶されたゲームプレイの元の実行を指示する目的で連続して順序付けることができる。
【0201】
一実施形態においては、方法は、入力コマンドのシーケンスの実行をオーバークロックすることを含む。すなわち、ジャンプゲームプレイの再生部分は、速く再生されて、第1のポイントからジャンプポイントまでのゲームプレイは、早送りで表示され、第1のポイントからジャンプポイントまでのゲームプレイは、素早く巻き戻して表示される。これについては、図13Aに関連して以下にさらに記載する。
【0202】
再生部分の後、ジャンプゲームプレイは、ライブ部分に進む。具体的には、動作1160において、方法は、クライアントデバイスから受信され、ジャンプポイントから始まるゲームアプリケーションのインスタンスで実行される入力コマンドを処理することを含む。以前、ジャンプゲームプレイの再生部分中、クライアントデバイスから受信した入力コマンドは、ゲームアプリケーションのインスタンスによって処理されることを妨げられた。
【0203】
一実施形態においては、リアルタイムで能動的に生成、記憶されている現在のゲームプレイへのアクセスが提供される。詳細には、ビデオ記録の代わりに、ストリーミングライブビデオが、ネットワークを介してクライアントデバイスに配信される。すなわち、フロー図1100において、動作1110で配信されるコンテンツは、ゲームアプリケーションに参加しているプレイヤのライブゲームプレイのライブストリーミングビデオである。このようにして、ライブゲームプレイ中にキャプチャされたスナップショットは、ユーザが、ジャンプゲームプレイを介してライブゲームプレイを体験するのを可能にするように選択可能であってよい。すなわち、ユーザは、ストリーミングライブビデオのビデオフレームを介して、ライブゲームプレイ中にキャプチャされたスナップショットを選択して、ゲームアプリケーションのインスタンスを開始し、ジャンプゲームプレイを実行できる。
【0204】
図12Aは、本開示の一実施形態による、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイのビデオ記録1201の複数のビデオフレームの図である。ビデオ記録は、記憶されたゲームプレイへのインタラクティブなアクセスに使用される。一実施態様において、ビデオ記録1201は、図11の動作1120に記載のジャンプポイント1290の選択で、動作1130に記載のゲームアプリケーションのインスタンスを開始してジャンプゲームプレイをインスタンス化するために使用される。説明を目的として、ビデオ記録1201は、記録の長さを表すバーとビデオ記録1201内の各ビデオフレームの近似位置として示される。
【0205】
詳細には、ビデオ記録1201は、クライアントデバイスでレンダリングされる時、連続的に表示される複数のビデオフレームを含む。ビデオ記録1201は、ゲームアプリケーションに参加しているプレイヤのゲームプレイ中に生成されたもので、選択可能な長さであってよい。説明を目的として、ビデオ記録は、ナビゲーションバー1201に示す様々なポイントに位置する少なくともビデオフレーム1210~1214を含む。1つまたは複数の追加のビデオフレームが、図12Aに示すビデオフレームの任意の2つの間に配置されてよいことは理解される。
【0206】
さらに、各ビデオフレームは、プレイヤのゲームプレイ中にキャプチャされた少なくとも1つのスナップショットに関連付けることができる。説明を目的として、図12Aは、ビデオフレームとスナップショットとの間の密接な相関関係を示し、ビデオフレームが生成されたゲームプレイのポイントで、または、その近くでスナップショットがキャプチャされているので、ビデオフレーム1210~1214が示されている。特定のビデオフレームが、スナップショットに直接、対応しなくてもよいが、スナップショットに密接に関連付し得ることに注意することは重要である。例えば、ビデオフレームは、最も近いキャプチャしたスナップショットに関連付けられてよい。このようにして、ビデオフレーム/ビデオ記録とスナップショットとの間の関係は、関連付けによる選択を可能にする。例えば、スナップショットを選択することによって、スナップショットに関連するビデオフレーム及び/またはビデオ記録が分かる。また、ビデオ記録内のビデオフレームを選択することによって、ビデオフレームに関連するスナップショットが分かる。
【0207】
ビデオ記録1201は、キャプチャしたスナップショットSS-1と、そのスナップショット画像610とに密接に相関するビデオフレーム1210を含む。詳細には、ビデオフレーム1210とスナップショット画像610とは、キャラクタ308(女性の主人公)が最初に森にある洞穴の前をうろうろしている熊に出くわすゲームプレイのポイントを示す。さらに、ビデオ記録1201は、キャプチャしたスナップショットSS-2とそのスナップショット画像360eとに密接に相関するビデオフレーム1212を含む。詳細には、ビデオフレーム1212とスナップショット画像360eとは、キャラクタ308が、攻撃的な熊と積極的に関わっている、または、戦っているゲームプレイのポイントを示し、キャラクタ308は、武器として使用するグルグル巻いたロープを持っているのが示されている。ビデオ記録1201は、キャプチャしたスナップショットSS-3とそのスナップショット画像615と密接に相関するビデオフレーム1213を含む。詳細には、ビデオフレーム1213とスナップショット画像615とは、キャラクタ308が熊の征服に成功し、熊の脚をグルグル巻いたロープで縛ったゲームプレイのポイントを示す。さらに、ビデオ記録1201は、キャプチャしたスナップショットSS-4とそのスナップショット画像620と密接に相関するビデオフレーム1214を含む。詳細には、ビデオフレーム1214とスナップショット画像620とは、キャラクタが熊との戦いに勝った後、硬貨でいっぱいの宝箱と、後の戦いに使用できるライフルとを含む報奨を得たゲームプレイのポイントを示す。
【0208】
さらに、ビデオ記録1201は、ビデオフレーム1210(例えば、SS-1)とビデオフレーム1212(例えば、SS-2)との間に位置するビデオフレーム1211を含む。すなわち、ビデオフレーム1211は、2つのスナップショットSS-1とSS-2との間のプレイヤのゲームプレイのポイントに位置する。ビデオフレーム1211と、2つのスナップショットSS-1とSS-2のうちの少なくとも1つとの間には密接な関連付けを行うことができ、それによって、スナップショットSS-1またはSS-2のいずれかを使用して、プレイヤのゲームプレイへのインタラクティブなアクセスを提供できる。具体的には、本開示の実施形態は、スナップショット間ジャンプポイントとして、2つのスナップショットSS-1とSS-2との間に位置する(矢印によって示される)ビデオフレーム1211の選択と、スナップショットSS-1またはSS-2のいずれかを使用してジャンプゲームプレイを開始することを提供する。ジャンプゲームプレイは、再生部分とライブ部分とを含み、ジャンプゲームプレイが、再生部分を通して自動的に実行されて、(例えば、記憶されたゲームプレイから保存した入力コマンドを用いて)ジャンプポイントに到達してよく、その後、ジャンプゲームプレイは、ユーザからの入力コマンドを処理することによって、要求したユーザにとってライブになる。
【0209】
図12Bは、本開示の一実施形態による、ユーザによるゲームアプリケーションのゲームプレイ中に表示されるタイムライン310aの図であり、タイムライン310aとの受動的または能動的なインタラクションによって、プレイヤの記憶されたゲームプレイのビデオ記録が表示され、ビデオ記録とさらに受動的または能動的にインタラクションすると、プレイヤのゲームプレイとのインタラクティブなアクセスが提供される。一実施態様において、タイムライン310aは、図11の動作1110に記載されるようなビデオ記録の選択に、図11の動作1120に記載されるようにジャンプポイント1290の選択で、動作1130に記載されるようなゲームアプリケーションのインスタンスを開始してジャンプゲームプレイをインスタンス化するために使用される。
【0210】
上記のように、ウインドウ300は、ユーザによるゲームアプリケーションのゲームプレイの現在レンダリングされている画像305を示す。タイムライン310aは、現在レンダリングされている画像305の後で生じるゲームアプリケーションの進行のポイントでプレイヤ(例えば、キャラクタ308をプレイする友達F1)によるゲームプレイのスナップショット画像(例えば、360d、360e、360f、...)を含む。スナップショット画像は、例えば、サムネイルを介してタイムライン310aに提示されてよい。サムネイルを能動的または受動的に選択することによって、選択したサムネイルとほぼ同じエリアに生成、表示されるウインドウ410で示されるように、対応するスナップショット画像が拡大される。
【0211】
一実施形態においては、タイムライン310aとの能動的または受動的なインタラクションによって、プレイヤのゲームプレイのビデオ記録1201が選択される。詳細には、タイムライン310aのスナップショット画像360eを(例えば、カーソル490a)によって能動的または受動的にさらに選択すると、プレイヤのゲームプレイのビデオ記録1201が選択される。例えば、スナップショット画像360eの選択は、ウインドウ410を能動的または受動的に選択することを通してであってよい。一実施態様においては、ビデオ記録1201が、現在、表示されている画像305と同時にウインドウ1212に示されてよい。他の実施態様においては、ウインドウ1212は、全画面モードで等、ウインドウ300とは別に示されてよい。ビデオ記録1201は、選択したスナップショット画像360eに関連付けられたゲームプレイのポイントにほぼ対応する。例えば、ビデオ記録1201に示されたクリップは、キャラクタ308と熊との間のボス戦に焦点を当ててよく、キャラクタ308が最初に熊に出くわすビデオフレーム1210で始まり、キャラクタ308が、ボス熊との戦いに勝った後、戦利品を調べるビデオフレーム1214で終了する。よって、ビデオ記録1201は、ビデオフレーム1210でプレイを開始してよく、または、選択したスナップショット360eの近くのビデオフレーム等、ビデオ記録1201内の任意のビデオフレームでプレイを開始してよい。
【0212】
さらに、ウインドウ1212に示されるビデオ記録1201は、ナビゲーションバー1260によって示され、且つ、ナビゲーションバー1260を通して選択可能な任意のビデオフレームを表示してよい。例えば、可動ロケータ1265は、ビデオ記録1201内のビデオフレーム1211の近似位置を示す。また、可動ロケータ1265は、ビデオ記録1201内の任意のポイント及び/またはビデオフレームに向けられてよい。よって、ビデオ記録1201は、(例えば、前進、後退、速く、遅く)ビデオフレームをプレイしてよく、または、特定のビデオフレームで一時停止してよい。例えば、ビデオ記録1201全体を見た後、ユーザは、ロケータ1265をナビゲーションバー1260の適切な位置に動かすことによって、ビデオフレーム1211に戻ることを選択してよい。すなわち、ユーザは、ビデオ記録1201のコンテンツに関心を持ち、下記のように、プレイヤの記憶されたゲームプレイにインタラクティブにアクセスしたい。例示として、ユーザは、熊とのボス戦を体験したく、熊が攻撃的にキャラクタ308に近付いてきているビデオフレーム1211で戦闘を開始したい。
【0213】
詳細には、ビデオ記録の能動的または受動的なさらなる選択は、記憶されたゲームプレイへのインタラクティブなアクセスを提供する。より具体的には、ビデオ記録1201でビデオフレーム(例えば、フレーム1211)を能動的または受動的にさらに選択することによって、ジャンプポイント1290を規定し、ゲームアプリケーションのインスタンスをインスタンス化して、プレイヤのゲームプレイ中にキャプチャされた関連するスナップショット(例えば、SS-1またはSS-2)に基づいて、ジャンプゲームプレイを実行し、それによって、選択したジャンプポイント1290から始まるジャンプゲームプレイが要求したユーザによってプレイ可能になる。上記のように、ジャンプゲームプレイは、再生部分とライブ部分とを含み、ジャンプゲームプレイは、再生部分を通して(例えば、記憶されたゲームプレイからの保存した入力コマンドを用いて)自動的に実行されて、ジャンプポイント1290に到達してよく、その後、ジャンプゲームプレイは、ユーザからの入力コマンドを処理することによって、要求したユーザにとってライブになる。関連するスナップショット(例えば、SS-1またはSS-2)は、ビデオ記録1201内に対応するビデオフレームを有するとして示されているが、他の実施形態においては、関連するスナップショットは、ビデオ記録1201のビデオフレームに対応しなくてもよく、関連付けられなくてもよい。すなわち、関連するスナップショットは、ビデオ記録1201外であってよい。いずれにしても、関連するスナップショットは、ジャンプゲームプレイの記憶されたゲームプレイへのインタラクティブなアクセスを提供し、ジャンプポイント1290で始まるジャンプゲームプレイとのインタラクティブなプレイをユーザが開始するのを可能にする。
【0214】
図13Aは、本開示の一実施形態による、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイ1310を指示するために以前使用された複数の入力コマンド1330の図であり、入力コマンドの一部(例えば、シーケンス)を使用して、ジャンプゲームプレイの再生部分を実施する。詳細には、記憶されたゲームプレイ1310は、少なくともSS-1とSS-2を含む複数のスナップショットを含み、上記のように、スナップショットは、スナップショットキャプチャに対応するポイントのゲームアプリケーションのインスタンスのインスタンス化を可能にするメタデータ及び/または情報を含む。スナップショットSS-1とSS-2は、それらの近似位置に示され、近似位置は、プレイヤのゲームプレイ1310中のキャプチャポイントを規定する。
【0215】
さらに、記憶されたゲームプレイ1310は、複数の入力コマンド1330を含む。説明のみを目的として、これらの入力コマンドは、トグルスイッチ、左正面ボタン、右正面ボタン、記号(例えば、ボックス、三角形、十字等)または文字等によって規定される対応する上下左右または他の選択可能なコマンドを通して発せられる方向コマンドを含んでよい。これらの入力コマンドは、記憶されたゲームプレイ1310を指示するために以前使用されたものである。図に示すように、一実施形態においては、入力コマンドは、コマンド間に周期的な間隔を置いて、または、間隔無しに連続的に順序付けられてよい。他の実施形態においては、入力コマンドは、順序付けられなくてもよく、及び/または、連続していなくてもよい。例えば、複数の入力コマンドが、異なるコントローラを通して、同時に発せられて、複数のオブジェクトに指示する場合があり、この場合、順序は重要でないことがある。
【0216】
図13Aに示すように、ジャンプポイント1290は、ゲームプレイ1310の文脈内で規定される。例えば、ビデオフレーム(例えば、ビデオフレーム1211)の選択は、ゲームプレイ1310の文脈内と、新しくインスタンス化されたジャンプゲームプレイの文脈内との両方でジャンプポイント1290を規定する。例えば、ジャンプポイントは、SS-1とSS-2の間に規定されてよく、例として、ビデオ記録1201の対応するビデオフレーム1211を通して選択可能である。より詳細には、複数の入力コマンド1330は、SS-1とジャンプポイント1290との間で発せられた入力コマンドのシーケンス1335を含む。また、複数の入力コマンド1330は、ジャンプポイント1290とSS-2との間で発せられた入力コマンドのシーケンス1337を含む。これらのシーケンス1335と1337を使用して、ジャンプゲームプレイの再生部分を実施、記述する。これについて、以下にさらに記載する。追加の入力コマンドが、SS-1の前とSS-2の後の両方に示される。
【0217】
ビデオ記録、より具体的には、ビデオフレーム1211の能動的または受動的な選択によって、上記のように、SS-1またはSS-2等、関連するスナップショットを用いてジャンプゲームプレイがインスタンス化される。どのスナップショットを選択するかに応じて、ジャンプゲームプレイは、入力コマンドのシーケンスを通して前進してジャンプポイント1290に到達する、または、入力コマンドのシーケンスを通して巻き戻って、ジャンプポイント1290に到達する。
【0218】
ジャンプゲームプレイ1340は、SS-1がゲームアプリケーションのインスタンスを開始してジャンプゲームプレイ1340をインスタンス化するのに使用される関連するスナップショットであるとの決定を示す。図に示すように、ジャンプゲームプレイ1340は、セクションAによって規定される再生部分とセクションBによって規定されるライブ部分とを含む。セクションAの再生部分においては、ジャンプゲームプレイ1340は、記憶されたゲームプレイ1310からの保存した入力コマンド(例えば、入力コマンドのシーケンス1335)を用いて、SS-1とジャンプポイント1290との間のプレイヤのゲームプレイ1310を自動的に実行する。この場合、入力コマンドのシーケンス1335は、順方向に実行され、ジャンプポイント1290に到達する。一実施形態においては、シーケンス1335の実行は、オーバークロックされて素早くジャンプポイントに到達する。再生部分のジャンプポイント1290に到達後、セクションAの再生部分からセクションBによって示されるライブ部分への遷移が行われ、ジャンプゲームプレイ1340は、ユーザからの入力コマンドを処理してライブになり、ユーザは、ジャンプゲームプレイ1340にインタラクティブに指示している。
【0219】
ジャンプゲームプレイ1345は、SS-2が、ゲームアプリケーションのインスタンスを開始してジャンプゲームプレイ1345をインスタンス化するのに使用される関連するスナップショットであると決定することを示す。図に示すように、ジャンプゲームプレイ1345は、セクションCによって規定される再生部分と、セクションDによって規定されるライブ部分とを含む。セクションCの再生部分においては、ジャンプゲームプレイ1345は、記憶されたゲームプレイ1310から保存した入力コマンド(例えば、入力コマンドのシーケンス1337)を用いて、SS-2とジャンプポイント1290との間のプレイヤのゲームプレイ1310を自動的に実行する。この場合、入力コマンドのシーケンス1337は、逆向きに実行されてジャンプポイント1290に到達する。一実施形態においては、シーケンス1337の実行はオーバークロックされて、ジャンプポイントに素早く到達する。セクションCの再生部分のジャンプポイント1290に到達後、セクションCの再生部分からセクションDによって示されるライブ部分への遷移が行われ、ジャンプゲームプレイ1345は、ユーザからの入力コマンドを処理することによって、ライブになり、ユーザは、ジャンプゲームプレイ1345にインタラクティブに指示している。
【0220】
さらに別の実施形態においては、再生部分の間、ジャンプゲームプレイ1345が実行している時、追加または補助のコンテンツを別個のウインドウ(図示せず)に表示してよい。一実施形態においては、補助コンテンツは、再生部分に表示するために生成されている画像フレームにオーバーレイされてよい。例えば、補助コンテンツは、再生部分中にジャンプゲームプレイ1345が実行している時に示される広告を含んでよい。さらに、別の実施形態においては、補助コンテンツは、ユーザ入力に応答してよい。例えば、補助コンテンツは、他のジャンプゲームプレイであってよい。
【0221】
図13Bは、本開示の一実施形態による、ウインドウ1390に示されるジャンプゲームプレイの画像フレーム1311の図であり、ビデオ記録のビデオフレームの選択によって、ゲームアプリケーションのインスタンスをインスタンス化して、プレイヤのゲームプレイ中にキャプチャされた関連するスナップショットに基づいて、ジャンプゲームプレイを実行し、それによって、ジャンプゲームプレイは、要求したユーザによってプレイ可能になる。図に示すように、画像フレーム1311は、ビデオ記録1201のビデオフレーム1211に関連付けられたジャンプポイント1290にほぼ対応する。すなわち、画像フレーム1311は、熊が、向きを変え、キャラクタ308に向かって歩き、攻撃的に行動しているのを示す。よって、ユーザは、ジャンプゲームプレイのライブ部分で、画像フレーム1311からほぼ始まるウインドウ1390に示されるジャンプゲームプレイにインタラクティブに指示することができる。画像フレーム1311は、ジャンプポイント1290に大体、対応する。
【0222】
様々な実施形態において、ウインドウ1390は、ウインドウ300とは独立してよい、または、ウインドウ300と同時に示されてよい。ウインドウ300は、ゲームアプリケーションに参加しているユーザの現在のゲームプレイを示す。このようにして、ジャンプゲームプレイは、(例えば、ウインドウ1212によって示されるウインドウオーバーレイで)ユーザの現在のゲームプレイと同時に示されてよく、または、ジャンプゲームプレイは、全画面モード等で、独立して示されてよい。実施形態において、ユーザの現在のゲームプレイとジャンプゲームプレイとは、同じゲームアプリケーションであってもよく、異なるゲームアプリケーションであってもよい。
【0223】
一実施形態においては、ジャンプゲームプレイは、ビデオ記録に別個に記録、記憶される。さらに、複数のスナップショットが、ジャンプゲームプレイの実行中の任意のポイントで、ジャンプゲームプレイ中にキャプチャされてよい。例えば、スナップショットSS-00は、進行バー1395で示されるように、ライブジャンプゲームプレイでキャプチャされ、スナップショットSS-00の右に未来の/予測される進行が、点線で示される。このようにして、任意のユーザが、キャプチャしたスナップショットを通して、また、新しくインスタンス化された二次的なジャンプゲームプレイを通して、ジャンプゲームプレイを体験できる。詳細には、ジャンプゲームプレイ中にキャプチャされた選択したスナップショットを使用して、ゲームアプリケーションのインスタンスをインスタンス化して、主要なジャンプゲームプレイ中にキャプチャされた選択したスナップショットに基づいて、二次的なジャンプゲームプレイを実行できる。このようにして、ユーザは、同じユーザが作成した任意の以前のジャンプゲームプレイを体験でき、または、他のプレイヤの記憶されたジャンプゲームプレイを体験できてよい。
【0224】
図14は、本開示の一実施形態による、ゲームアプリケーションに参加しているプレイヤのゲームプレイ中にキャプチャされたスナップショットに基づいてインスタンス化されたジャンプゲームプレイ中に提示された入力コマンドのシーケンスの図である。入力コマンドのシーケンスを表示することによって、追加の機能をユーザに与えてよい。一実施形態においては、表示された入力コマンドのシーケンスは、ユーザをジャンプポイントにガイドするのを助けるガイド機能を提供してよい。別の実施形態においては、表示された入力コマンドのシーケンスは、ゴースティングのために使用されてよく、ユーザは、例えば、正確に同じタイミングで、入力コマンドのシーケンスの模倣を試みる。ユーザが元のゲームプレイをどれだけ近く模倣することができるかを示すランニングスコア1460が提供されてよい。
【0225】
図に示すように、ウインドウ1410は、画像フレーム1405を含む1つまたは複数の画像フレームによってジャンプゲームプレイを表示する。一実施形態においては、ジャンプゲームプレイの再生部分は、ウインドウ1410に表示される。例えば、オブジェクト1420は、ジャンプゲームプレイの再生部分の実行ファイルとして表示され、入力コマンドのシーケンス1450が、自動的に実行されて、ジャンプポイントまでプレイヤのゲームプレイを再生し、その後、ジャンプゲームプレイは、要求したユーザからの入力コマンドを処理することによってライブになる。オブジェクト1420は、元々、プレイヤのゲームプレイで生成されたものである。プレイヤのゲームプレイを指示するのに使用された入力コマンドのシーケンス1450も表示される。シーケンス1450は、順序付けられたシーケンスで提供されてよく、入力コマンドは、入力コマンドがクライアントデバイスによって生成された順序で提示される。例えば、シーケンス1450は、ジャンプゲームプレイの再生部分中に生成された複数の画像フレームのそれぞれにオーバーレイされる。進行バー1430上のロケータ1435は、画像フレーム1405に対応する現在の入力コマンド(例えば、下へ)を含む。一実施態様においては、入力コマンドのシーケンス1450が右から左、または、左から右にスクロールする時、ロケータ1435は、静止している。他の実施態様においては、ロケータ1435が、現在表示されている画像フレーム1405と対応する入力コマンドとの間の関係を示す限り、ロケータ1435も、入力コマンドのシーケンス1450との関連で移動する。トップダウン等でシーケンス1450を表示する等、他の実施態様もサポートされる。
【0226】
一実施形態においては、要求したユーザは、入力コマンドのシーケンスを模倣して、対応する画像フレームの元の対応するオブジェクトと共に提示されるゴーストオブジェクトに指示できる。詳細には、ゴーストオブジェクト1425は、複数の模倣された入力コマンド(図示せず)に応答する。ゴーストオブジェクト1425は、オブジェクト1420を示す画像フレーム1405にオーバーレイし、画像フレーム1405のオブジェクト1420にも他のオブジェクトにも干渉しないように提示されてよい。模倣されたコマンドが、ユーザのクライアントデバイスで生成され、入力コマンドのシーケンス1450に従おうとする。模倣されたコマンドが入力コマンドのシーケンス1450にどれだけ厳密に従うかに応じて、ゴーストオブジェクト1425の位置と動きが決まる。模倣されたコマンドがシーケンス1450に厳密に従えば従うほど、ゴーストオブジェクト1425とオブジェクト1420とのアライメントは近くなる。
【0227】
スコア1460は、コマンド、コマンドの順序、及び/または、コマンドのタイミング等において、模倣されたコマンドが入力コマンドのシーケンス1450にどのくらい厳密に従うかに基づいて生成されてよい。スコアは、画像フレーム1405にオーバーレイしてよい。説明のために、図15A図15Eは、ユーザが、入力コマンドのシーケンス1450に従って模倣したコマンドを提供する時、オブジェクト1420とゴーストオブジェクト1425との間の関係及び/またはアライメントを様々な画像フレームを通して示す。図に示すように、オブジェクト間のアライメントは画像フレームが進行すると、近くなってゆく。図15Aの画像フレーム1501は、(オブジェクト1420とゴーストオブジェクト1425との間の粗いアライメント(すなわち、近くに並んでいない)ことを示しており、図15Eの画像フレーム1505は、オブジェクト間のより細かいアライメント(すなわち、近くに並んでいる)を示している。
【0228】
別の実施形態においては、入力コマンドのシーケンス1450は、チュートリアルの形で提示される。すなわち、入力コマンドは、ゲームプレイの特定の部分の進み方をユーザに指導する。例えば、ジャンプゲームプレイ中、再生部分の制御は、元のゲームプレイを自動的に再生する代わりに、ユーザによって実際に指示されてよい。ゴーストオブジェクト1425は、チュートリアル中、図14に示されてもよく、示されなくてもよい。よって、再生部分中、クライアントデバイスからの入力コマンドを処理、使用して、少なくともオブジェクト1420を制御してよい。入力コマンドのシーケンスが表示され、ユーザをジャンプポイントに向かわせるのを助けてよい。さらに、ジャンプゲームプレイをジャンプポイントに進ませる試みにおいて、クライアントデバイスからの入力コマンドは、処理という点で制限されてよく、制限された入力コマンドは、ジャンプポイントへのパスに従わず、例えば、ジャンプポイントから、不可避的に逸れてよい。よって、入力コマンドは、ユーザを(例えば、入力コマンドのシーケンスを通して)ジャンプゲームプレイをジャンプポイントに進めるガイドとして提供されてよい。
【0229】
図16は、本開示の一実施形態による、ゲームアプリケーションに参加しているプレイヤに関連付けられた記憶されたゲームプレイ中にキャプチャされたスナップショットに基づいてインスタンス化されたジャンプゲームプレイのジャンプポイントにプレイヤをガイドするために使用される機能の図である。図に示すように、入力コマンドのシーケンス1620が、表示されてよく、入力コマンドのシーケンス1620は、実行されると、ジャンプポイントにつながる方向にキャラクタ308をガイドするのを助ける。例えば、画像フレーム1610は、ビデオフレーム1211(キャラクタ308の方に向きを変えて、キャラクタ308の方に歩いてくる攻撃的な熊)と関連付けられたジャンプポイント1290の前に生じるスナップショット画像360dに緊密に対応する。ユーザは、キャラクタ308が森を通って歩いている時等、(洞穴の前の熊を示す)ビデオフレーム1210に対応するSS-1の前に生じるポイントで、ジャンプゲームプレイの開始を選択してよい。ガイド機能は、記憶されたゲームプレイでプレイヤが使用した入力コマンドのシーケンス1620を表示することによって、キャラクタ308がジャンプポイント1290に行くのを助ける。さらに、矢印1630(視覚的支援)等の支援を提示して、キャラクタ308に右の方向(例えば、川を渡る)を示すのを助けてよい。
【0230】
図17は、本開示の一実施形態による、ゲーム方法、より詳細には、ゲームプレイ中に生成、キャプチャされたスナップショットに基づいて、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイにユーザがジャンプするのを可能にする方法のステップを示すフロー図1700である。フロー図1700は、ネットワーク150を介して通信しているゲームサーバ205とクライアントデバイス10との様々なモジュールによって実施されてよい。詳細には、フロー図1700は、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイにインタラクティブなアクセスを提供する方法のステップを示す。より具体的には、フロー図1100の方法は、ゲームプレイ中に生成、キャプチャされたスナップショットに基づいて、記憶されたゲームプレイにユーザをジャンプさせる方法を開示する。フロー図1100は、クライアントデバイス200にネットワーク150を介して表示される情報を生成する目的で、クラウドベースのゲームシステム201(例えば、GCS201)のゲームサーバ205側で行われる動作のプロセスとデータフローを示す。
【0231】
動作1710において、方法は、プレイヤのゲームプレイの第1のポイントでキャプチャされた開始スナップショットに基づいて、ゲームアプリケーションのインスタンスを開始することを含む。ゲームアプリケーションのインスタンスは、ジャンプゲームプレイをインスタンス化する。開始スナップショットは、開始スナップショットがゲームプレイでキャプチャされた場所に対応するポイントでゲームアプリケーションのインスタンスのインスタンス化及び/または開始を可能にするメタデータ及び/または情報を含む。
【0232】
開始スナップショットは、ゲームプレイのビデオ記録を通して選択可能であってよい。一実施態様においては、ビデオ記録は、ライブストリーミングビデオなので、記憶されたゲームプレイは、リアルタイムでも同時に記憶されているライブゲームプレイと考えられる。ビデオ記録のビデオフレームは、プレイヤのゲームプレイの第1のポイントでキャプチャされた開始スナップショットを含む、プレイヤのゲームプレイ中に生成、キャプチャされた1つまたは複数のスナップショットに関連付けることができる。例えば、スナップショットは、プレイヤのゲームプレイと関連して実行されるゲームアプリケーションの第1のインスタンスによって生成されるレンダリングされた画像を含むスナップショット画像を含む。スナップショット画像は、プレイヤのゲームプレイのポイントに対応するビデオフレームに対応し、スナップショット画像を使用して、そのポイントで始まるジャンプゲームプレイを開始してよい。
【0233】
動作1720において、方法は、開始スナップショットに関連付けられた入力コマンドのシーケンスにアクセスすることを含み、入力コマンドのシーケンスは、プレイヤの記憶されたゲームプレイを指示するために以前使用されたものである。
【0234】
動作1730において、方法は、ユーザのクライアントデバイスでレンダリングするために、入力コマンドのシーケンスに基づいて、ゲームアプリケーションのインスタンスで複数の画像フレームを生成することを含む。詳細には、複数の画像フレームは、ゲームプレイの第1のポイントからゲームプレイを再生する。このポイントで、ジャンプゲームプレイの再生部分が実行している。一実施形態においては、再生部分は、ジャンプポイントに到達するまで実行され、ジャンプポイントは、ビデオ記録のビデオフレームの能動的または受動的な選択によって規定できる。
【0235】
別の実施形態においては、ジャンプポイントは、再生部分中に能動的に規定される。詳細には、動作1740において、方法は、複数の画像フレームの選択した画像フレームでジャンプゲームプレイのライブ部分を始める開始要求を受信することを含む。例えば、複数の画像フレームが、再生部分中、表示されているので、第1の画像フレームとの能動的または受動的なインタラクションによって、ライブ部分を始める開始要求を提供し、その後、ジャンプゲームプレイは、ユーザのクライアントデバイスからの入力コマンドの処理を通して、ユーザにとってライブになる。さらに、再生部分が非アクティブ化されて、シーケンスの実行されなかった残りの入力コマンドが、ジャンプゲームプレイを開始するゲームアプリケーションのインスタンスで実行されないようにブロックされる。このようにして、ジャンプポイントは、再生部分中、選択可能であってよく、それによって、(ビデオ記録のビデオフレームを介して選択された)以前規定されたジャンプポイントは、再生部分中、再規定されてよい。例えば、ユーザは、ジャンプゲームプレイ内で能動的なインタラクションの開始を強く望む場合がある。他の実施態様においては、ジャンプポイントは、ジャンプゲームプレイの再生部分とのインタラクションを通して最初に規定されてよい。
【0236】
[コンパニオンアプリケーション]
一般的に言うと、本開示の様々な実施形態は、第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションの実施を含むゲームを提供するシステム及び方法を記載する。コンパニオンアプリケーションは、全員、同じゲームアプリケーションをシングルプレイヤモードまたはマルチプレイヤモードで同時にプレイしている複数のユーザのゲームプレイに関する情報を提供する。提供された情報は、第1のユーザのゲーム環境の文脈内で関連性があるように、ユーザの現在のゲームプレイに同期される。このようにして、ナビゲーション支援を、ゲームアプリケーションのゲーム世界内の1つまたは複数のキャラクタの位置を示すコンパニオンアプリケーションインタフェース内で提供することができ、キャラクタは、ユーザのゲームプレイ内でインスタンス化される。例えば、ゲームアプリケーション内のオブジェクトの位置を第1のユーザにガイドするナビゲーション支援(例えば、ポインタ)は、インタフェースに設けることができる。オブジェクトは、第1のユーザの友達のゲームプレイ内でインスタンス化されたキャラクタ、ゲーム世界またはゲームユニバース内の関心をひくポイント、ボス、関心をひくゲーム特徴等であってよい。例えば、インタフェースは、ゲームアプリケーションを同時にプレイしている他のユーザの他のキャラクタの位置に対する、第1のユーザの第1のキャラクタの位置を提供してよい。コンパニオンアプリケーションは、第1のユーザが目標を達成するのを助けるコーチングも提供してよく、コーチングは、第2のユーザのゲームプレイに基づいてよい、または、コーチングは、第2のユーザによって直接与えられてよい。例えば、コーチングは、ゲームアプリケーション内の目標またはタスク(例えば、ボスを打ち負かす)を一般的にまたは直接助けるコントローラ入力を示してよい。
【0237】
従って、本開示の実施形態は、ゲームアプリケーションの追加の使用法を提供する。実施形態は、(例えば、対応するコンパニオンアプリケーションインタフェースを通して各ユーザに対して)複数のゲームプレイに関する情報を提供してユーザ間で循環させることによって、気に入らなくなった古いゲームアプリケーションが新しい命を得るのを可能にすることを含む、利点及び長所を提供する。これは、元々、シングルプレイヤ体験のために開発されたゲームアプリケーションのマルチプレイヤ体験を可能にする。例えば、第2のユーザは、第1のユーザに対して、目標を達成する(例えば、ゲームアプリケーションの難しいセクションをクリアする)ために、もしくは、第1のユーザをゲーム世界の面白い部分に連れて行くために、コンパニオンアプリケーションを通して役に立つ情報を提供でき、または、二人のユーザがゲームアプリケーションを同時にプレイしてマルチプレイヤゲーム体験を作成している間、両方のユーザ間の通信を可能にする道を提供できる。このようにして、あるユーザが他のユーザのゲームプレイに参加する新しい形式のマルチプレイヤゲーム体験を可能にする。例えば、各ユーザは、他のユーザのゲームプレイに(例えば、励まし、腕前、反省、祝福、嘲り等)のコメント(例えば、テキスト、オーディオ等)をしてよい。また、第2のプレイヤは、ゲームプレイにキャラクタオーバーレイを挿入することによって、第1のユーザのゲームプレイに直接、参加してよく、第2のユーザは、第1のユーザのゲームプレイに関連付けられたゲーム環境内に挿入したキャラクタを直接、制御する。さらに別の実施形態は、上記成果を提供し、且つ、(例えば、第1のユーザの)シングルゲーム世界内で、ゲームクラウドシステム(GCS)で個々に実行される複数のユーザのゲームプレイを統合することを含む追加の利点及び長所を提供する。本開示のさらに別の実施形態は、上記成果を提供し、且つ、ゲームアプリケーションのゲームプレイ内でユーザにより良いユーザ体験を提供することを含むさらなる利点と長所を提供する。例えば、ユーザは、ゲームアプリケーションの困難なセクションに苦闘する必要はなく、コンパニオンアプリケーションを介して、他のユーザの助け(例えば、ステップバイステップのコマンド指示、成功したゲームプレイのビデオ記録等)を求めてよい、または、ゲームアプリケーションの関心のあるセクションを、それらのセクションをランダムに発見する必要なく、(例えば、他のユーザからの情報を通して)直接、発見し得る。また、全員、シングルゲームアプリケーションを同時に、おそらくは単独でプレイしている複数のユーザのゲームプレイを統合する新しい方法で、ユーザは、新しいまたは古いゲームアプリケーションをプレイできる。
【0238】
全員、ゲームアプリケーションを同時にプレイしている複数のユーザのゲームプレイに関する情報を含むユーザのゲームプレイをサポートするコンパニオンアプリケーションの実施を提供する本開示の実施形態は、前述の図1及び図2のシステム内で実施されてよい。
【0239】
図18は、本開示の一実施形態による、ゲームクラウドシステム(GCS)内で実行される複数のユーザのためのゲームアプリケーションの同時ゲームプレイを可能にし、且つ、第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションを実施するシステム図を示し、コンパニオンアプリケーション(「コンパニオンインタフェース」または「コンパニオンアプリケーションインタフェース」とも呼ばれる)は、第1のユーザを含む複数のユーザのゲームプレイに関する情報を提供する。情報は、クラウドソーシング環境において同じゲームアプリケーションをプレイする複数のユーザの現在及び/または過去のゲームプレイに基づいてよく、情報は、複数のゲームプレイの観察及び/または分析を通して決定されてよい。一実施形態においては、コンパニオンインタフェースで提供される情報は、同じゲームアプリケーションを同時にプレイしているユーザのゲームプレイに関連してよく(例えば、情報は、ゲームアプリケーションを同時にプレイしているユーザの友達のゲームプレイに関連しており、情報は、友達間のリアルタイムのインタラクションを提供する)、情報は、ユーザのゲームプレイを進める、または、ユーザ体験をより良くする。別の実施形態においては、第1のユーザは、単独でゲームアプリケーションをプレイしており、第1のユーザのゲームプレイを進める助けになるコンパニオンインタフェースを通して、または、ユーザ体験をより良くするために、情報を受信している。
【0240】
図18に示すように、複数のユーザが、GCS1800に記憶及び/またはGCS1800で実行される複数のゲームアプリケーション(例えば、ビデオゲーム)(例えば、Gl、G2...Gn)にアクセスできる。詳細には、ユーザ1~3は、それぞれ、ネットワーク1820を通してGCS1800にアクセスする。例えば、ユーザ1は、クライアントデバイス1815を介してネットワーク1820を通してGCS1800にアクセスする。クライアントデバイスは、シンクライアント(ゲームアプリケーションをGCSで実行する場合)、または、ゲームアプリケーションの部分的または全体的な実行(例えば、ローカルな実行)を可能にするゲームコンソール等、GCS1800へのネットワーク機能を提供するように構成された少なくともメモリとプロセッサモジュールを有する任意の種類のコンピューティングデバイスであってよい。一実施態様においては、クライアントデバイス1815は、ネットワーク1820を介してゲームアプリケーションへのアクセスを要求するように、また、GCS1800によって実行され、ユーザ1のディスプレイデバイス1813に配信されるゲームアプリケーションのインスタンスをレンダリングするように構成される。クライアントデバイス1815は、ゲームコントローラ1812、タブレットコンピュータ1811、キーボード、ビデオカメラによってキャプチャされるジェスチャ、マウス、タッチパッド等、ゲームアプリケーションのインスタンスにコマンドを提供する様々な種類の入力装置からの入力を受信してよい。第2のコンピューティングデバイス1811(例えば、タブレットコンピュータ等)は、ユーザ1にコンパニオンアプリケーションインタフェースへのアクセスを提供し、コンパニオンアプリケーションインタフェースは、全員、同じゲームアプリケーションを同時にプレイしている複数のユーザのゲームプレイに関する追加の情報によって、ユーザ1のゲームプレイをサポートする。ユーザ2とユーザ3は、クライアントデバイス、入力装置、及び、二次コンピューティングデバイスの類似の構成を有し、ユーザ2は、クライアントデバイス1817に関連付けられ、ユーザ3は、クライアントデバイス1819に関連付けられている。
【0241】
より詳細には、ユーザ1~3は、それぞれ、GCS1800を実行している特定のゲームアプリケーション(「G1」と指定)の対応するインスタンスにアクセスする。このようにして、ユーザ1~3は、必ずしもマルチプレイヤゲーム環境を通してではなく、ゲームアプリケーションGlを同時にプレイしている。例えば、ユーザ1~3は、それぞれ、シングルプレイヤモードでゲームアプリケーションGlをプレイしていてよいが、コンパニオンアプリケーションインタフェースを通して、ゲームプレイ情報を他のユーザに提供してよい。図に示すように、ユーザ1は、世界地図1801に示すように、地理的にアメリカ合衆国の西部におり、ユーザ2は、地理的にオーストラリアにおり、ユーザ3は、日本にいる。
【0242】
一実施形態においては、GCS1800は、異なる、及び/または、より詳細な構成を通して、図2のGCS201と類似の機能を提供する。一般的に言うと、GCS1800は、ネットワーク1820を介して動作して複数のユーザをサポートするクラウドコンピューティングシステムであってよい。GCS1800は、GCS1800によって提供されるサービスの配信を制御するゲームサーバゲートウェイ1830と、1つまたは複数のデータセンタ(例えば、米国ロスアンゼルスにあるデータセンタ1831、米国サンフランシスコにあるデータセンタ1832、日本にあるデータセンタ1832)と、データセンタをサポートするゲームサーバ(例えば、複数のゲームサーバ1841が、L.A.のデータセンタ1831をサポートし、複数のゲームサーバ1843が、サンフランシスコのデータセンタ1832をサポートし、複数のゲームサーバ1845が日本のデータセンタ1833をサポートする)と、を含む。複数のゲームサーバ1841、1843、1845は、図1及び図2で最初に紹介したゲームサーバ205と同様に構成されてよい。詳細には、ゲームサーバゲートウェイ1830は、どのデータセンタに、また、できれば、どのデータセンタのどのゲームサーバ(GS)が、対応するユーザからのサービスの要求を処理すべきかを決定できる。例えば、ゲートウェイ1830は、要求したユーザにバックエンドゲームサーバのサポートをどのように割り当てるかを決定するために、他のパラメータに加えて、サービスの質(QoS)、要求したユーザに供給または契約される帯域幅、要求したユーザの地理的位置、ユーザをサポートするデータセンタの地理的位置、及び/または、要求されたゲームアプリケーション(すなわち、あるゲームサーバが、要求された特定のゲームアプリケーションを処理するために予め構成または予めロードされる)を考慮してよい。この情報の一部は、データベース1835に記憶されたユーザプロフィールを介してアクセスされてよく、ユーザプロフィールは、契約されたQoS、帯域幅サポート、ユーザの地理的位置等に関する情報を含んでよい。図に示すように、ゲートウェイ1830は、L.A.データセンタ1831のゲームサーバ1842にユーザ1を割り当て、サンフランシスコのデータセンタ1832のゲームサーバ1844にユーザ2を割り当て、日本のデータセンタ1833のゲームサーバ1846にユーザ3を割り当てる。一実施態様において、ゲートウェイ1830は、特定のデータセンタにユーザを割り当て、データセンタは、対応するゲームサーバへの要求の配信を処理する。
【0243】
図に示すように、ゲームサーバゲートウェイ1830は、ユーザ1~3のユーザプロフィールに、データベース1835からアクセスして、現在プレイしているゲームアプリケーション、マッチングのための友達リスト等、コンパニオンアプリケーション機能を提供するのに必要な追加の情報を決定してよい。例えば、ユーザ1のユーザプロフィール1839は、ユーザ1がメインディスプレイと第2画面をアクティベートしており、第2画面は、コンパニオンアプリケーションインタフェースを表示するように構成されていることを示してよい。これについて、以下にさらに記載する。また、ユーザ1にとって有用で、且つ、コンパニオンアプリケーションインタフェースを通して提供される友達のゲームプレイの情報にアクセスする目的で、ユーザプロフィールデータベース1835は、対応するユーザのユーザプロフィールの友達リストにポピュレートするソーシャルネットワークデータベース1850等の他のデータベースからの情報を含んでよい。
【0244】
図19は、本開示の一実施形態による、第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションを生成、実施するのに使用されるシステムのブロック図を示し、コンパニオンアプリケーションは、第1のユーザを含む複数のユーザのゲームプレイに関する情報を提供する。情報は、同じゲームアプリケーションをプレイする複数のユーザの現在及び/または過去のゲームプレイに基づいてよい。このようにして、クラウドソースのコンテンツが、ゲームプレイ中に発見されてよく、そのコンテンツは、同じゲームアプリケーションをプレイする他のプレイヤに役立ってよく、または、より良いユーザ体験をこれら他のプレイヤに提供し得る。例えば、ある実施形態においては、コンパニオンアプリケーションの実施に使用されるコンポーネントは、図1で前述したように、ゲームサーバ205のゲームプロセッサ210内に含まれてもよく、または、ゲームサーバ205内でコンパニオンアプリケーションを提供するように構成された別個のプロセッサ内に含まれてもよい。さらに、ゲームサーバ205は、図2のゲームクラウドシステム(GCS)201内に含まれ、それによって、GCS201は、第1のユーザがゲームアプリケーションをプレイしている間、コンパニオンアプリケーション機能を第1のユーザに提供するように構成される。別の実施形態においては、コンパニオンアプリケーションの実施に使用されるコンポーネントは、ユーザにとってローカルなゲームプロセッサ内に含まれてよい。
【0245】
詳細には、ゲームプロセッサ210は、ゲームアプリケーションのインスタンスをインスタンス化するように構成された様々なコンポーネントを含む。ある実施形態においては、ゲームアプリケーションのインスタンスは、ジャンプゲームプレイとしてインスタンス化され、ゲームアプリケーションをプレイしている、または、ゲームアプリケーションに参加しているプレイヤの以前のゲームプレイ中にキャプチャされた(例えば、タイムラインまたはビデオ記録を介してアクセスされる)スナップショットに基づいている。図1で前述したように、ゲームプロセッサ210は、ゲーム実行エンジン211、スナップショット生成部212、タイムライン生成部213、ノードグラフ生成部214、AIオーバーレイモジュール215、及び、ジャンプゲーム実行エンジン216を含む。さらに、ゲームプロセッサ210は、ビデオプレイヤ1010、再生エンジン1015、ジャンプゲーム入力マネージャ1020、再生開始ポイントセレクタ1025等、図10で前述した追加の構成要素を含んでよい。簡潔且つ明瞭にするために、前述したコンポーネントの全てを図19に示してはいない。さらに、図19に示すように、ゲームプロセッサ210は、コンパニオンアプリケーション生成部1940とレーダ情報生成部1950をさらに含み、これらは両方とも、コンパニオンアプリケーション機能を提供するのに用いられる。ゲームプロセッサ210の1つまたは複数のコンポーネントは、単独で、または、組み合わせて、第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションを実施するように構成可能で、コンパニオンアプリケーションは、シングルプレイヤモードまたはマルチプレイヤモードのいずれかで同じゲームアプリケーションをプレイする複数のユーザのゲームプレイに関する情報を含む。
【0246】
詳細には、ゲームサーバ205は、複数のインタラクティブなビデオゲームまたはゲームアプリケーションへのアクセスを提供するゲームプロセッサモジュール210を含む。例えば、ゲームプロセッサモジュール210は、(例えば、図2のゲーム実行エンジン211で)ゲームアプリケーションのインスタンスを実行するように、また、第1のユーザのクライアントデバイスに表示するレンダリングされる画像を配信するように構成されてよく、レンダリングされる画像は、第1のユーザのゲームプレイに関連して、第1のユーザの対応するクライアントデバイスの入力コマンドに応答する。
【0247】
さらに、ゲームサーバ205は、第1のユーザのゲームプレイをサポートする機能を提供するコンパニオンアプリケーションを実施するように構成可能である。例えば、コンパニオンアプリケーション生成部1940は、友達ガイドモジュール1920、友達マッチングモジュール1910、指示モジュール1930、通信セッションマネージャ1925、コーチングモジュール1915、友達オブジェクトオーバーレイモジュール1935、及び、レーダ情報生成部1950を含む。コンパニオンアプリケーションは、第1のユーザが、ゲームアプリケーションをプレイしている間、第1のユーザのゲームプレイに一般的に役に立つ情報にアクセスするのを可能にするインタフェースを提供する。情報は、第1のユーザと、第1のユーザの友達等、他のユーザのゲームプレイに基づく。情報は、ナビゲーションポインタ、関心をひくゲーム特徴とその位置、命令、コーチング、レーダマッピングインタフェース、スナップショット情報やジャンプゲームプレイインスタンス化等の他の機能へのアクセスを含んでよい。
【0248】
詳細には、友達マッチングエンジン1910は、(例えば、ソーシャルネットワークのプロフィール情報にアクセスすることによって)ユーザプロフィールデータベース1940内に含まれる情報に部分的に基づいて、第1のユーザの友達を発見するように、また、第1のユーザと同時に現在ゲームアプリケーションをプレイしている友達グループとユーザをマッチングするように構成される。通信セッションマネージャ1925は、コンパニオンアプリケーションを配信、サポートする通信チャネルを確立するように構成され、コンパニオンアプリケーションは、第1のユーザのゲームプレイ中に生成されたレンダリングされた画像を表示、その画像とインタラクトするために使用される主要デバイスとは異なる二次デバイスに表示されてよい。
【0249】
コンパニオンアプリケーション生成部1940は、レーダ情報生成部1950を含む。レーダ情報生成部1950は、ゲームアプリケーションのゲーム世界内の関心をひく様々なオブジェクトを第1のユーザに示すレーダマッピングを生成するように構成される。詳細には、オブジェクト生成部1952は、第1のユーザ及び他のユーザのゲームプレイに関連付けられたオブジェクトを作成し、第1のユーザのレーダマッピングに配置するように構成される。これらのオブジェクトは、第1のユーザのゲームプレイに関連付けられたキャラクタと、第1のユーザの友達のゲームプレイに関連付けられた他のキャラクタとの位置を含む。このようにして、第1のユーザは、第1のユーザの友達が現在使用しているゲーム世界のエリアにナビゲートすることができ、それによって、両者は、何らかの形式のマルチプレイヤゲームに参加し得る。また、レーダ情報生成部は、レーダマッピング内のゲーム世界の少なくとも一部の輪郭を作成、統合するように構成された世界輪郭生成部1951を含む。さらに、レーダ情報生成部は、ゲーム世界内の第1のユーザの向きをレーダマッピングを介して示すように構成された方向付けモジュール1953を含む。
【0250】
コンパニオンアプリケーション生成部1940は、指示モジュール1930も含む。指示モジュール1930は、ゲームアプリケーションの困難であり得るセクションで第1のユーザに情報を与える、または、第1のユーザを支援する指示を表示するために生成するように構成される。例えば、指示モジュール1930は、目標の達成の仕方、または、タスクの完成の仕方等に関する指示を提供してよい。指示は、コンパニオンアプリケーションインタフェースを通して、第1のユーザからの支援の要求に応答して生成されてよく、他のユーザのゲームプレイに基づいてよい。同様に、コーチングモジュールは、第1のユーザを支援するコーチング情報を表示するように構成され、または、他のユーザから送られるライブのコーチングを含んでよく、コーチングは、他のユーザのゲームプレイに基づいてよい。コーチングは、第1のユーザからの支援の要求に応答して生成されてよい。さらに、コンパニオンアプリケーション生成部1940は、第1のユーザの友達によって制御される友達ガイドモジュールを含む。例えば、方向オブジェクトは、第1のユーザのキャラクタがゲーム世界で取る適切な方向を示してよく、方向オブジェクトは、友達によって制御される。ガイドモジュール1920の説明を目的として、友達は、ボスがいるゲーム世界のエリアを第1のユーザがナビゲートするのを支援してよい。さらに、コンパニオンアプリケーション生成部1940は、友達オブジェクトオーバーレイモジュール1935を含んでよい。友達オブジェクトオーバーレイモジュール1935は、第1のユーザの友達のキャラクタを第1のユーザのゲームプレイに関連付けられたレンダリングされた画像にオーバーレイ及び/または挿入するように構成される。このようにして、第1のユーザと友達は、おそらく、シングルプレイヤモードのみをサポートするように元々は設計されたゲームアプリケーションに、マルチプレイヤゲームモードで参加してよい。
【0251】
ゲームサーバ205の様々なモジュールの詳細な記載と共に、本開示の一実施形態による、第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションの実施を含むゲーム方法をフロー図2000に関連して記載する。詳細には、フロー図2000は、第1のユーザと、第1のユーザの友達等、一人または複数のユーザのゲームプレイに関する関連情報を提供する方法のステップを示し、ゲームプレイは、特定のゲームアプリケーションに関連して同時に生じている。一般的に、情報は、全てゲームアプリケーションのゲーム世界内の、エリア、関心をひくポイント、目標またはタスクを完了するのに有用な情報等、第1のユーザがゲームアプリケーションを理解するのを支援する。他の情報は、友達のゲームプレイのキャラクタの位置を第1のユーザが見つけるのを支援してよく、それによって、第1のユーザは、コンパニオンアプリケーションを介して他のユーザとインタラクティブなゲームセッション(例えば、コーチング、通信、キャラクタオーバーレイ等)に参加している。
【0252】
方法の動作2010は、第1のユーザの第1のゲームプレイに関連して、ゲームアプリケーションの第1のインスタンスを実施するように構成された第1のユーザに関連付けられた第1のコンピューティングデバイスと第1の通信チャネルを確立することを含む。通信チャネルは、例えば、インターネット等のネットワークを通して実施され、第1のユーザのクライアントデバイスに表示するために、ゲームクラウドシステムのゲームサーバで実行されるゲームアプリケーションのインスタンスによって生成されるレンダリングされた画像を配信するように構成される。通信チャネルは、ゲームアプリケーションのインスタンスの実行を指示するために、クライアントデバイスからの入力コマンドをゲームサーバに送り返すようにも構成される。このようにして、ゲームアプリケーションと関連して、第1のユーザのゲームプレイは、有効にされる。
【0253】
方法の動作2020は、第1のユーザに関連付けられた第2のコンピューティングデバイスと第2のチャネルを確立することを含む。第2のチャネルは、第1のチャネル(例えば、インターネット)を確立するために使用されるのと同じネットワーク内に構成されてよい、または、異なるネットワーク(例えば、携帯電話ネットワーク)内に構成されてよい。例えば、第2のチャネルは、ビデオ機能及びオーディオ機能を有するタブレットコンピュータとの通信支援を提供してよい。ゲームサーバは、第1のユーザに関連付けられたゲームアプリケーションのインスタンスの実行と、第2のチャネルを通して配信される情報及び/またはデータを制御するように構成されるので、第1のユーザのゲームプレイは、第2のチャネルを介して実施される機能によって強化されてよい。例えば、図19の通信セッションマネージャ1925は、第2のチャネルを確立、維持するように構成されてよい。
【0254】
方法の動作2030は、第1のユーザの第1のゲームプレイと第2のユーザの第2のゲームプレイとに関連する情報を含むインタフェースを生成することを含み、第1のユーザと第2のユーザは、同時にゲームアプリケーションをプレイしている。他の実施形態においては、情報は、第1のユーザ以外の複数のユーザのゲームプレイに関連する。インタフェースは、第1のユーザの現在のゲームプレイに関連する現在の情報を提供する。このようにして、インタフェースは、他の複数のユーザのゲームプレイに基づいた情報を第1のユーザのゲームプレイに接続できる。
【0255】
動作2040において、方法は、インタフェースと情報とを第2のチャネルを介して表示のために第2のコンピューティングデバイスに配信することを含む。より詳細には、インタフェースは、第1のユーザの第1のゲームプレイと同時に配信され、それによって、インタフェースを通して提供された情報が第1のゲームプレイをサポートする。例えば、情報は、第1のユーザがゲームアプリケーションを進むのを助ける役立つ情報(例えば、視覚的キュー、テキスト指示、ナビゲーションキュー等の形で)を含んでよい。
【0256】
複数のユーザのゲームプレイは、クラウドソースのコンテンツを提供し、クラウドソースから、情報を決定及び/または観察できる。情報は、元になるユーザのゲームプレイを進める支援を提供し、及び/または、より良いユーザ体験を提供する。一つの使用例においては、情報は、ゲームアプリケーションを同時にプレイしている複数の友達等、ゲームアプリケーションを同時にプレイし、各コンパニオンインタフェースを通して互いにインタラクトしている複数の関連するユーザのゲームプレイに基づいている。すなわち、コンパニオンインタフェースは、ユーザ間のリアルタイムインタラクションを提供する。他の使用例においては、情報は、複数のユーザの現在及び/または過去のゲームプレイに基づいており、ユーザは、対応するコンパニオンインタフェースを通して情報を受信する第1のユーザに関連していても関連していなくてもよい。例えば、第1のユーザは、単独でまたは一人でゲームアプリケーションをプレイしてよい。単独の場合、情報(例えば、支援、コーチング等)は、記録されたビデオ画像及び/またはテキストコンテンツの形式で配信されてよい。この情報は、リアルタイムで生成されなくてもよく、ゲーム開発者に関連付けられた(例えば、ゲームメーカー、コンソールメーカー等が採用した)人によって生成されてよく、その人の役割は、各コンパニオンインタフェースを通して伝えられる、ユーザの利益になる情報を生成することである。さらに、第三者(営利ベース、非営利ベース等)が、ゲームをする人々の利益になる情報を生成してよい。さらに、情報は、第1のユーザの友達によって、そのプレイヤまたはグループの友達の利益のためだけに生成されてよい。また、情報は、(例えば、クラウドソースの)ゲームインタフェースをプレイしている他の関連する、及び/または、関連のないユーザによって生成されてよい。
【0257】
上記のように、ユーザが生成したコンテンツ(例えば、コンパニオンインタフェースに提示される情報)は、第1のユーザの友達によって、または、ゲームコミュニティの誰か他の人によって生成される。クラウドソースコンテンツは、任意の数の方法で、コンパニオンインタフェースを通して第1のユーザに公表されてよい。例えば、表示される情報は、人気要素を通して決定されてよく、それによって、(例えば、視聴数に基づいて)最も人気のある情報が、コンパニオンインタフェースで公表される。別の実施形態においては、表示される情報は、投票によって決定されてよい(例えば、ユーザは、サムズアップ/サムズダウンのメッセージを通して等情報に対するフィードバックを提供できてよい)。一実施形態においては、表示される情報は、レビュースコア(すなわち、情報の視聴者によって提供される星格付け)を通して決定されてよい。さらに別の実施形態においては、表示される情報は、コンパニオンインタフェースに提供される情報を提供する人の体験(例えば、コンテンツを生成しているユーザがゲームアプリケーションをプレイした時間数)に基づいてフィルタリングされてよい。他の実施形態においては、表示される情報は、規定されたグループ(例えば、第1のユーザと友達関係)によってフィルタリングされてよい。よって、コンパニオンインタフェースで提供される情報は、ゲームアプリケーションをプレイするユーザのコミュニティによって生成されるクラウドソースコンテンツの膨大な領域からフィルタリングできる。このようにして、表示される情報は、ユーザにとってより価値があり、より有益である。
【0258】
一実施形態においては、コンパニオンインタフェースの表示に利用可能なクラウドソースコンテンツは、対応するユーザ(例えば、第1のユーザ)によってフィルタリングされる。例えば、どの種類の情報をコンパニオンインタフェースに表示するかをユーザが選択できるようにするスライドバーが、(例えば、対応するコンパニオンインタフェースで)ユーザに提示されてよい。一実施形態においては、スライドバーを使用して、ユーザのペルソナを規定してよく、情報は、そのペルソナに応じて対応するコンパニオンインタフェースに表示される。説明のために、ゲームのエキスパートであるユーザは、対応するコンパニオンインタフェースに表示される情報に、おそらく極端なフィルタを使用し、それによって、情報はほとんど表示されない、または、全く表示されない。他方、比較的ゲーム経験のない、ゲームアプリケーションのプレイが下手である、及び/または、プレイする時間が限られた(例えば、素早く、ゲームアプリケーションを終えたい、または、とても忙しい)ユーザは、おそらく、軽いフィルタを使用して、関連情報をできるだけ多く、対応するコンパニオンインタフェースに表示する。
【0259】
クラウドソースコンテンツをフィルタリングする目的のためにどのようにユーザを規定し得るかを示す様々な例示のペルソナは、純粋主義者(Purist)、ハードコアゲーマー(Hardcore Gamer)、完全主義者(Completionist)、社交的ゲーマー(Social One)、カジュアルゲーマー(Casual One)、及び、熱心で下手なゲーマ(Earnest Terribad)を含むが、これらに限らない。純粋主義者は、ゲーム攻略本/ガイドを好まないことがあり、元のゲーム/ストーリーに対するいかなる変更にも敏感で、常に、特定の発行者/フランチャイズ/ジャンルのゲームだけをプレイする。純粋主義者は、ゲームアプリケーションのプレイによってのみ開錠できるが、ゲームの結果/筋には関係がないこともある報奨品(例えば、ゲーム発行者/開発者によって提供されるイースターエッグ)を欲しがる/必要とする。ハードコアゲーマーは、全てのプラットフォームの全てのゲームをプレイし、(純粋主義者とは異なり)ガイド/攻略本を使用することが全く嫌ではでない場合もあり、ゲームアプリケーションの全てを完了すること無しに信頼性のために最後までプレイしたく(例えば、単に終了したい)、且つ、ゲームアプリケーションをどれだけ素早く終了できるかを最適にする情報を求める。ハードコアゲーマーは、セクションのスキップを可能にする近道、または、セクションの最後に素早く到達する方法に関するヒントを明らかにするビデオ攻略本及び/またはプロのアドバイスまたはチャットを欲しがる。完全主義者は、タイプによってさらに規定されてよく、タイプは、次のタイプを含むが、これらに限定されない。すなわち、アイテムタイプは、ゲームアプリケーションのあらゆるアイテムまたは最良のアイテムを得る必要があり、探求タイプは、可能なあらゆる探求/ストーリーを終了する必要があり(例えば、伝承主義者(lore-ist))、探検タイプは、全てのイースターエッグを知って探す必要があり、クラスタイプは、異なる組立/クラス(例えば、容易なレベル、難しいレベル等)のゲームを再生する。完全主義者は、可能な限り開発者によって規定された達成システムを望む(例えば、開発者/発行者は、アプリケーション固有の達成を提供する)。社交的ゲーマーは、友達がゲームをしているので、ゲームアプリケーションにプレイまたはトライし、ゲームアプリケーションをプレイしている友達とのソーシャルインタラクション(例えば、チャット)の方に関心があり、ギルド/クランに関心があり、且つ、通常、フォーラムで積極的である。社交的ゲーマーは、一人または複数の友達とのマルチプレイヤ体験(例えば、コンパニオンインタフェースを通して促進される協調マルチプレイヤ体験)で強化され得るシングルプレイヤゲームを望み、メッセージング機能(例えば、メッセージプラットフォーム)を好み、友達リストを利用し、ゲーム内チャットを実施する。カジュアルゲーマーは、ゲームアプリケーションをプレイすることを楽しみ、コンテンツのほとんどを体験したいだけで(例えば、ゲームアプリケーションを終了するか否かは気にしない)、楽しみのためにプレイする(例えば、楽しくなければ、ゲームアプリケーションを止める)。カジュアルゲーマーは、ゲームアプリケーションを素早く終えるために攻略本/ガイドを使用する可能性が高く、できるだけ多くの情報が欲しいので、ネタバレは気にしない。熱心で下手なゲーマーは、一般的にゲームアプリケーションのプレイが実に下手であるが、真にゲームをプレイすることを楽しんでおり、他の人がゲームアプリケーションをプレイするのを見て楽しむことが多く、ゲームアプリケーションで次にすることに関して多くの援助/助け/アドバイスを必要とする傾向があり、ゲームアプリケーションをプレイするのに必要な様々なビルド/技術(例えば、プレイの仕方)を熱心で下手なゲーマーに指導する(例えば、指示を与える)友達からの助けを歓迎する。
【0260】
一実施形態においては、コンパニオンインタフェースで特定の情報を見た後、その情報に対するフィードバックを与えることができるインタフェースをユーザは提供されてよい。例えば、インタフェースは、数字による格付け(例えば、5のうちの4)、星格付け(5のうち星三つ)、または、二値による格付けシステム(例えば、(サムズアップ/サムズダウン)等、格付けシステムを実施してよい。この格付け情報は、上記のように、他のユーザに提示されるクラウドソースコンテンツのフィルタリングに使用されてよい。
【0261】
一実施形態においては、他のユーザは、第1のユーザの友達を含む。例えば、方法は、第1のユーザの第1のユーザプロフィールにアクセスすることを含んでよい。第1のユーザプロフィールは、第1のユーザに関する情報を含み、また、第1のユーザが現在プレイしているゲームアプリケーションと、第1のユーザの友達と、コンパニオンアプリケーションが有効にされているか否か、コンパニオンアプリケーションインタフェースを対応するユーザに対してどのように表示するか等を含んでよい。第1のユーザプロフィールにアクセスして、ゲームアプリケーションを同時にプレイしている複数の第1のユーザの友達を決定してよい。ユーザの友達は、1つまたは複数のソーシャルネットワーク(例えば、ソーシャルメディアプロバイダ240)のユーザのプロフィールにアクセス、相互参照することによって部分的に決定されて、図18のゲームクラウドシステムGCS1800のユーザのネットワークの(例えば、友達の関連付けを用いて)ユーザプロフィールを強化してよい。さらに、GCS1800は、ゲームアプリケーションの複数のインスタンスのインスタンス化と実行をサポートするので、対応するユーザが分かり、データベース1850に記憶されたユーザプロフィール内に記憶される。このようにして、ゲームアプリケーションを現在、同様にプレイしている第1のユーザの友達を決定できる。例えば、ユーザ2(第1のユーザの友達)のユーザプロフィールにアクセスして、ユーザ2も現在ゲームアプリケーションをプレイしているか否かを決定してよい。
【0262】
例えば、図21A図21Cは、本開示の実施形態による、第1のユーザ (例えば、ユーザ1)と第1のユーザの二人の友達(例えば、ユーザ2とユーザ3)とのゲームプレイを示す。図に示すように、ユーザ1に関連付けられたローカルゲームシステムは、少なくとも図18に関して前述したように、対応する第1の通信チャネルを介してゲームクラウドシステム(GCS)でゲームアプリケーションのインスタンスとして実行されるようにユーザ1のゲームプレイをサポートするクライアントデバイス2015、ディスプレイ2013、及び、コントローラ2012を含む。第2のデバイス(例えば、タブレット)2011は、対応する第2の通信チャネルを介してコンパニオンインタフェースを提供し、GCSによってサポートされる。同様に、ユーザ2に関して、ローカルゲームシステムは、少なくとも図18に関して前述したように、対応する第1の通信チャネルを介してGCSでゲームアプリケーションのインスタンスとして実行されるようにユーザ2のゲームプレイをサポートするクライアントデバイス2105、ディスプレイ2103、及び、コントローラ2102を含む。第2のデバイス(例えば、タブレット)2101は、対応する第2の通信チャネルを介してコンパニオンインタフェースを提供し、GCSによってサポートされる。同様に、ユーザ3に関して、ローカルゲームシステムは、少なくとも図18に関して前述したように、対応する第1の通信チャネルを介してGCSでゲームアプリケーションのインスタンスとして実行されるようにユーザ3のゲームプレイをサポートするクライアントデバイス2125、ディスプレイ2123、及び、コントローラ2122を含む。第2のデバイス(例えば、タブレット)2121は、対応する第2の通信チャネルを介してコンパニオンインタフェースを提供し、GCSによってサポートされる。
【0263】
三人のユーザ1~3は全て、SONY Computer Entertainment(SCE)発行の「ゴッド・オブ・ウォー(God of War)」シリーズ(ストーリーは、神話の神の世界で困難に陥る戦士クレイトスを中心に展開する。クレイトスは、最初、軍神アレスに操られて、自分の妻と娘を殺す)のゲーム版のうちの1つ等、同時に同じゲームアプリケーションGlをプレイしている。例えば、図21A図21Cは、本開示の一実施形態による、対応するディスプレイに示されるユーザ1~3のゲームプレイの現在のシーンを示し、ゲームプレイは、ゲームアプリケーションの進行のレベルが異なっていることを示している。詳細には、図21Aは、ディスプレイ2013のウインドウ2017にユーザ1(例えば、第1のユーザ)のゲームプレイを示し、ステージングエリアまたはプラットフォームにいるクレイトスを示す。図21Bは、ユーザ2(例えば、第2のユーザ、第1のユーザの第1の友達とも呼ばれる)のゲームプレイをディスプレイ2103のウインドウ2107に示し、クレイトスは、神ゼウスと向かい合っており、ゼウスは、アレスがクレイトスの手で亡くなった後、新しい軍神となったクレイトスの死を企てている。図21Cは、ディスプレイ2123のウインドウ2127にユーザ3のゲームプレイを示しており、クレイトスは戦っている。
【0264】
ユーザ1~3は、シングルプレイヤモードまたはマルチプレイヤモードでプレイしてよい。さらに、第1のユーザ(例えば、ユーザ1)は、第1のユーザのゲームプレイの利益のために、ユーザ1~3の全てのゲームプレイからの情報の収集と配信を可能にするコンパニオンアプリケーションを有効にした。また、コンパニオンアプリケーションは、第1のユーザのゲームプレイの利益になる情報を配信するため、第1のユーザと一人または複数の他のユーザとの間の通信を含んでよく、それによって、第1のユーザのゲームプレイを中心とした何らかの形態のマルチプレイヤ参加を可能にする(例えば、第1のユーザのゲームプレイに関して支援を提供する)。
【0265】
さらに、コンパニオンインタフェースは、コンテンツを一人または複数の友達と共有するために、第1のユーザによって使用されてよい。ゲームアプリケーションをプレイしている第1のユーザの友達は、発見可能で、分かっており、友達の位置は、ゲーム環境内で分かっているので、コンパニオンインタフェースは、一人または複数の友達との情報の共有をユーザに提案、及び/または、ユーザが共有するのを可能にするように構成されてよい。例えば、「あなたの友達のGaryがゴッド・オブ・ウォーの同じレベルをちょうど今プレイしています。このビデオ(例えば、チュートリアル、第1のユーザのゲームプレイ等)を彼と共有して、彼を助けたいですか?」等のメッセージが、第1のユーザに提示されてよい。
【0266】
図22A図22Dは、コンパニオンアプリケーションインタフェースの様々な実施形態を示す。例えば、図22Aは、レーダマッピングを示し、図22Bは、第1のユーザ(例えば、ユーザ1)の友達をゲームプレイに示し、図22Cは、ボスを倒すのを助けるために提供される指示を示し、図22Dは、第1のユーザにナビゲーション支援を提供するガイド機能を示す。
【0267】
より詳細には、図22Aは、図18図21A図21Cで紹介された第1のユーザ等、ゲームアプリケーションをプレイしている第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションインタフェース2200Aを示す。インタフェース2200Aは、本開示の一実施形態による、ゲームアプリケーションのゲーム世界の他のオブジェクトの位置に対する、第1のユーザ(例えば、ユーザ1)のゲームプレイに関連付けられた第1のキャラクタの位置を示すレーダマッピング2210Aを含み、オブジェクトは、第1のユーザ(例えば、ユーザ1)と第2のユーザ(例えば、ユーザ1の友達)のゲームプレイで生成される。図に示すように、ユーザ1の第1のキャラクタは、同心円によって表されるレーダマッピング2210Aの中心2205に位置する。中心2205は、第1のキャラクタの位置を表すために拡大され、黒くされてよい。さらに、関心をひく複数のオブジェクトが、レーダマッピング2210Aの複数の位置に示される。例えば、ユーザ2のキャラクタオブジェクトの位置2207は、中心2205の北側にあり、ボスキャラクタの位置2204は、中心2205の北側であるが、ユーザ2のキャラクタオブジェクトより近くにあり、関心をひくポイント(POI)の位置2206は、中心2205のほぼ東側にあり、他のPOIの位置2203は、中心2205のほぼ南側にあり、ユーザ3のキャラクタオブジェクトの位置2202は、中心2205のほぼ南西にある。図22Aに示すオブジェクトは、説明のためだけに提供されており、実施形態において、他のオブジェクト(タスクを達成する位置)が、インタフェース2200Aに提供されてよい。
【0268】
一実施形態においては、レーダマッピング2210Aは、一般的なもので、レーダマッピングを通して提供されるゲーム世界の他のオブジェクトに対して、ユーザ1に関連付けられた第1のキャラクタがどこにいるかの素早い参照を提供するが、ゲーム世界の直接的な参照(例えば、ゲーム世界の特徴またはランドマーク)を有する必要はない。すなわち、レーダマッピング2210Aは、図22Aに示す中心2205の第1のユーザの第1のキャラクタの位置と複数のオブジェクトの位置との間の複数の方向関係を提供する。レーダマッピングは、(例えば、ゲーム世界の小さい部分またはより大きい部分を含むように)任意の範囲にスケーリングできる。
【0269】
別の実施形態においては、レーダマッピング2210Aは、レーダマッピング2210Aにオーバーレイまたは重ね合わせてよい世界輪郭2201によって表されるように、ゲーム世界の参照を備える。このようにして、第1のユーザは、レーダマッピング2210Aを世界輪郭2201と組み合わせて使用することによって、自分のキャラクタと他の関連するオブジェクトとをゲーム世界に配置できる。
【0270】
一実施形態においては、ユーザ1のゲームプレイに関連付けられた第1のキャラクタを表すオブジェクトは、方向オブジェクトである。すなわち、方向オブジェクトは、ゲーム世界内の第1のキャラクタの視点の一般的な向きを示す。例えば、中心2205の拡大円は、拡大円から視点の方向に延びる矢印を用いる等、視点の方向を示すように強化されてよい。別の実施形態においては、レーダマッピング2210Aは、第1のキャラクタの視点を用いて回転されてよい。
【0271】
図22Aに示すように、サイドバー2209は、コンパニオンアプリケーションによって提供される追加の機能及びその機能に関する情報へのナビゲーションまたはアクセスを提供する。サイドバー2209は、インタラクティブブロックを含み、インタラクティブブロックは、(例えば、クリックによって)選択されると、ユーザ1によるこれらの機能へのアクセスが提供される。実施形態において、インタラクティブブロックは、任意の形態の選択可能なアイコンまたは手段によって有効にされてよい。例えば、ブロック2211は、ゲームアプリケーションを現在プレイしている友達のリストへのアクセスを「FRIENDS」機能を介してユーザ1に提供し、ブロック2212は、第1のユーザが訪れるべきゲーム世界内の必要な位置に関する情報へのアクセスをユーザ1に提供し、ブロック2213は、ブロック2291によって提供されるボスに関する情報等、ゲーム世界内の関心を引くゲーム特徴に関する情報へのアクセスを提供し、ブロック2214は、友達またはエキスパートの記憶したゲームプレイの部分を含む友達またはエキスパートによるコーチングビデオ、または、友達またはエキスパートの指示ガイドを提供するビデオ記録に関する情報へのアクセスを提供し、ブロック2215は、友達のコーチングビデオへのアクセスを提供し、ブロック2216は、エキスパートのコーチングビデオへのアクセスを提供し、ブロック2217は、友達またはエキスパートによるコーチング指示に関する情報(例えば、指示の直接の通信、または、以前記録されたゲームプレイに基づいた指示)へのアクセスを提供し、ブロック2218は、友達からのコーチング指示へのアクセスを提供し、ブロック2219は、エキスパートからのコーチング指示へのアクセスを提供し、ブロック2220は、友達によって制御される誘導に関する情報へのアクセスを提供する。これらの機能の追加の詳細を図22B図22C図22Dに関連して、以下に記載する。
【0272】
図22Bは、本開示の一実施形態による、ゲームアプリケーションに関連して、第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションインタフェース2200Bを示す。例えば、図22Aのブロック2211の「FRIENDS」機能を選択した後、インタフェース2200Bが、第2の通信チャネルを介してユーザに提示され、ユーザ1(例えば、第1のユーザ)の友達リストと、それらのユーザそれぞれに関する情報とを含む。
【0273】
例えば、ユーザ2は、友達であり、ユーザ2の関連情報2230は、ユーザ2が現在、ゲームアプリケーションGlをプレイしていること、ユーザ2が地理的にオーストラリアにいること、また、ユーザ2のゲームプレイが、図21Bのウインドウ2107に示すように対応するキャラクタがゼウスに会っていることを示すことの表示を含む。追加の機能へのアクセスも、インタフェース2200Bに備えられてよい。例えば、一実施形態においては、インタラクティブアイコン2231が、ユーザ1のキャラクタが、ユーザ2のゲームプレイに参加することを可能にする。別の実施形態においては、アイコン2231を選択することによって、ユーザ1は、ユーザ2をユーザ1のゲームプレイに参加するように招待している。さらに、インタラクティブアイコン2232は、ユーザ2のゲームプレイのタイムラインを、例えば、インタフェース2200B内に示すことを可能にする。このようにして、ユーザ1は、タイムラインで特定のスナップショット画像を選択して、上記のように、ユーザ2のゲームプレイ中にキャプチャされた対応するスナップショットに基づいて、ジャンプゲームプレイを開始できる。
【0274】
また、ユーザ3は、友達(ユーザ1の第1の友達とも呼ばれる)であり、ユーザ3の関連情報2235は、ユーザ3が現在ゲームアプリケーションGlをプレイしていること、ユーザ3は、地理的に日本にいること、また、ユーザ3のゲームプレイは、図21Cのウインドウ2127に示すように、対応するキャラクタが戦闘中であることを示すことの表示を含む。追加の機能へのアクセスも、インタフェース2200Bに備えられてよい。例えば、一実施形態においては、インタラクティブアイコン2236が、ユーザ1のキャラクタがユーザ3のゲームプレイに参加するのを可能にする。別の実施形態においては、アイコン2236を選択することによって、ユーザ1は、ユーザ3をユーザ1のゲームプレイに参加するように招待している。また、アイコン2238を選択することによって、ユーザ1は、ユーザ3との通信セッションを確立している。
【0275】
さらに、インタラクティブアイコン2237は、ユーザ3のゲームプレイのタイムラインを、例えば、インタフェース2200B内に示すのを可能にする。このようにして、ユーザ1は、タイムラインの特定のスナップショット画像を選択して、上記のように、ユーザ3のゲームプレイ中にキャプチャされた対応するスナップショットに基づいて、ジャンプゲームプレイを開始できる。例えば、タイムラインは、ユーザ3のゲームプレイに関連付けられた複数のスナップショット画像を含む複数のサムネイルを含み、複数のスナップショット画像は、複数のスナップショットに対応し、第1のスナップショットは、第1のスナップショットがキャプチャされたゲームアプリケーションのポイントから始まるゲームアプリケーション(例えば、ジャンプゲームプレイ)のインスタンスの実行を可能にする。詳細には、ジャンプゲームプレイは、ユーザ1によるタイムラインの第1のスナップショット画像の選択を受信し、ユーザ1の第1のスナップショットに基づいて、ゲームアプリケーションの他のインスタンスを開始することに応答して、インスタンス化されてよい。ジャンプゲームプレイは、第1の通信チャネルまたは第2の通信チャネルを介して(例えば、コンパニオンインタフェースを通して)実施されてよい。
【0276】
さらに、ウインドウ2239のレーダマッピング2210Bが、インタフェース2200Bに示される(例えば、上部右側の隅に位置する)。レーダマッピング2210Bは、図22Aのレーダマッピング2210Aのフィルタリングされたバージョンで、ユーザ2とユーザ3等、友達に関する情報を示す。例えば、レーダマッピング2210Bは、友達の各ゲームプレイに関連して、ゲームアプリケーションのゲーム世界で発見された友達の位置に対するユーザ1の位置を示す。すなわち、ユーザ1のゲームプレイに関連付けられたキャラクタの位置(例えば、中心2205)が、他のユーザのキャラクタを表すオブジェクトに関連して示される。例えば、ユーザ2のキャラクタオブジェクトの位置2207は、中心2205の北側にあり、ユーザ3のキャラクタオブジェクトの位置2202は、中心2205の南西側にある。さらに、様々なユーザに関連付けられたキャラクタの位置が、上記のように、ゲーム世界の輪郭2201に対してさらに参照されてよい。
【0277】
図22Cは、本開示の一実施形態による、ゲームアプリケーションに関連して、第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションインタフェース2200Cを示す。詳細には、インタフェース2200Cの線2258の左側の部分2259は、ゲームアプリケーションのゲーム世界内のユーザ1(例えば、第1のユーザ)の位置を示すレーダマッピング2210Cと、ゲーム世界内の第2のユーザ(例えば、ユーザ3)の位置を指す方向ポインタ2251とを含む。例えば、インタフェース2200Cは、関心をひくゲーム特徴へのアクセスを提供するブロック2213等、図22Aの1つまたは複数のインタラクティブブロックの選択に応答して、生成されてよい。図に示すように、ユーザ1は、レーダマッピング2210Cの中心2252に位置する。レーダマッピング2210Cは、ボスの位置2253、ユーザ3のゲームプレイに関連付けられたキャラクタを指す方向ポインタ2251等、図22Aのレーダマッピング2210Aの関心をひく特徴に関する情報のみを含むバージョンであってよい。
【0278】
さらに、コンパニオンアプリケーションインタフェース2200Cは、ボス(例えば、図22Aのボス2204)を倒す等、タスクの完了の仕方に支援を提供する。支援は、友達(例えば、ユーザ3)にコーチング指示を要求するブロック2218を選択することによって、または、上記のようにブロック2291を選択することによって、有効にされてよい。応答して、情報の指示機能が生成され、指示機能は、目的を達成するためにユーザ1が実施できるコマンドのリストを含む。指示機能は、必ずしもユーザ3からの直接の入力である必要はなく、ユーザ3のゲームプレイにさらに基づいてよい。詳細には、指示シーケンス2265(例えば、右ボタン、左ボタン、Aボタン等)が、インタフェース2200Cの線2258の右側のセクション2269に提供される。指示シーケンス2265は、目的達成に(例えば、ボスを倒す)助けを求めるユーザ1の第1のコンピューティングデバイスからの要求を受信することに応答して、生成されてよい。
【0279】
さらに、支援は、以前に記憶されたゲームプレイのビデオ記録の形態で提供されてよい。例えば、支援は、友達(例えば、ユーザ3)のコーチングビデオを要求するブロック2215の選択を通して、または、上記のようにブロック2291の選択を通して、有効にされてよい。応答して、情報のコーチング機能が、生成される。コーチング機能は、ユーザ3のゲームプレイに基づいて、以前の目的達成を示すビデオ記録またはビデオクリップを含む。別の実施形態においては、コーチングビデオは、ゲームアプリケーションのある一定の部分へのアプローチの仕方に関する友達またはエキスパートが準備した指示ビデオであってよい。
【0280】
さらに、ビデオ記録は、上記のようにジャンプゲームまたはジャンプゲームプレイの開始を可能にするように構成されてよい。例えば、ジャンプゲームは、ユーザ1の第1のコンピューティングデバイスから、ビデオ記録に基づいて、ユーザ3のゲームプレイのジャンプポイントの選択を受信することに応答して、開始されてよい。ゲームアプリケーションの他のインスタンスは、ビデオ記録で参照したスナップショットに基づいて開始され、スナップショットは、ユーザ3のゲームプレイ中にキャプチャされたものである。
【0281】
さらに、コンパニオンインタフェース2200Cは、ユーザ3等他のユーザとの通信セッションの形式で、支援を提供してよい。例えば、通信セッションは、図22Bのインタラクティブアイコン2238の選択によって有効にされてよい及び/または確立されてよい。具体的には、ウインドウ2250は、通信チャネルを介してユーザ3のライブメディアストリームを表示してよい。例えば、ウインドウ2250は、インタフェース2200C内に組み込まれてよい。ライブメディアストリームは、ユーザ3のストリーミングビデオ、及び/または、ユーザ3のストリーミングオーディオを含んでよい。さらに、方向ポインタ2251は、ユーザ1とユーザ3との間の通信セッションを確立することに応答して、生成されてよい。このようにして、ユーザ1は、ユーザ3が体験しているゲーム世界の位置に素早くナビゲートし得る。例えば、ユーザ3は、ゲームアプリケーションのエキサイティングな部分にいて、ユーザ1は、自分のゲームプレイで同じ体験をしたい。ユーザ1は、その位置まで旅をするので、ユーザ1とユーザ3との間の通信は、旅体験を強化してよい。例えば、ユーザ3は、ユーザ1がゲームアプリケーションで何を予測すべきかに関する役に立つヒントを提供してよい、または、ユーザ3は、ユーザ1とたわいない会話をしてよい。
【0282】
図22Dは、本開示の一実施形態による、ゲームアプリケーションの第1のインスタンスの実行に関連して、ユーザ1のゲームプレイの現在のシーン2270を示し、現在のシーン2270は、ゲームアプリケーションのゲーム世界内のガイドをオブジェクトに提供する方向ポインタ2275を含む。方向ポインタは、インタフェース2200Aで図22Aのブロック2220を選択することに応答して、生成されてよく、ユーザ1は、友達(例えば、ユーザ3)からのガイドを求めている。例えば、ユーザ1は、図21Aに関して前述した現在のシーン2270のステージエリアまたはプラットフォームからどの方向に進むべきかを知りたい。よって、制御可能なガイドアイコン(例えば、方向矢印)が、ユーザ1のディスプレイ2013のウインドウ2290に表示するために、第1のゲームプレイに対して生成された現在のシーン2270に挿入またはオーバーレイされてよい。例えば、方向ポインタは、第1のオブジェクト(例えば、第2のユーザのゲームプレイに関連付けられたキャラクタの位置)、または、コンパニオンアプリケーションインタフェースを介して選択可能な表示オブジェクト(representational object)(例えば、タスクパフォーマンスの位置)の方向を指す。一実施形態においては、さらに、方向ポインタは、ユーザ3のゲームプレイに基づき、オブジェクトは、ゲームプレイの特定の位置に存在することが分かっている。別の実施形態においては、方向ポインタ2275は、ユーザ3によって制御可能である。具体的には、コマンド指示が、ユーザ3(第2のユーザとも呼ばれる)のコンピューティングデバイス(例えば、クライアントデバイス2125)から第1の通信チャネルを介して受信される。コマンド指示は、現在のシーン2270内の方向ポインタ2275を方向付ける。方向ポインタ2275は、ユーザ1のゲームプレイに対してゲームアプリケーションのインスタンスを実行するバックエンドゲームクラウドシステムによって、ゲームアプリケーションへのオーバーレイとして生成されてよい。
【0283】
図23には、ゲームアプリケーションをプレイするユーザ1(第1のユーザとも呼ばれる)の現在のゲームプレイを示す第1画面2320と、ユーザ1のゲームプレイをサポートするコンパニオンアプリケーションインタフェースを含むサイドバーまたは第2画面2325との分割画面2300が表示されている。すなわち、ユーザ1によってアクセス可能な第2のコンピューティングデバイスに表示するために第2の通信チャネルを通してコンパニオンアプリケーションインタフェースを提供するのではなく、ユーザ1のゲームプレイの表示と共にインタフェースを提供する。すなわち、コンパニオンアプリケーションインタフェースは、第1の通信チャネルを介してユーザ1のコンピューティングデバイスに配信され、例えば、分割画面2300のサイドパネルに表示される。詳細には、分割画面2300の第1の部分2320は、ユーザ1(例えば、第1のユーザ)のゲームプレイから取った現在のシーン2270を示し、クレイトスが、ステージプラットフォームまたはエリアにいて、現在のシー2270は、ユーザ1に関連して、図21Aで紹介したシーンと一致する。分割画面2300の第1の部分2320は、線2315の左側に位置するように示される。
【0284】
図22Aで最初に紹介したコンパニオンアプリケーションインタフェースは、分割画面2300の第2の部分2325に提供され、第2の部分2325は、線2315の右側に位置する。コンパニオンアプリケーションは、レーダマッピング2210Aを含み、レーダマッピング2210Aは、ユーザ1と、ユーザ1の少なくとも一人の友達(例えば、第2のユーザとも呼ばれるユーザ3)とのゲームアプリケーションのゲームプレイで生成されるゲーム世界内の他のオブジェクトの位置に対するゲームアプリケーションのゲーム世界内のユーザ1の位置を示す。さらに、第2の部分2325に示されるコンパニオンアプリケーションインタフェースは、図22Aに関して前述したコンパニオンアプリケーションによって提供される追加の機能または追加の機能に関する情報へのナビゲーションを提供するサイドバー2209を含む。
【0285】
ネットワークを介して通信するゲームサーバとユーザのクライアントデバイスとの様々なモジュールの詳細な記載と共に、本開示の一実施形態による、第1のユーザのゲームプレイをサポートするコンパニオンアプリケーションの実施を含むゲーム方法を、図24のフロー図2400に関連して記載する。コンパニオンアプリケーションは、全員、ゲームアプリケーションの複数のインスタンスによってクラウドベースのゲームシステム内で実行される同じゲームアプリケーションを同時にプレイしている複数のユーザのゲームプレイに関する情報を提供する。フロー図2400は、ユーザのクライアントデバイスにネットワークを介して表示される情報を生成する目的で、ゲームサーバ側で行われる動作のプロセス及びデータフローを示す。
【0286】
動作2410において、方法は、第1のユーザの第1のゲームプレイに関連して、ゲームアプリケーションの第1のインスタンスを確立することを含む。例えば、前述したゲームクラウドシステム(GCS)内で動作するゲームサーバが、第1のゲームプレイに関連して、第1のインスタンスをインスタンス化、実行して、第1のユーザのクライアントデバイスに表示するレンダリングされた画像を生成するように構成される。
【0287】
動作2420において、方法は、第2のユーザの第2のゲームプレイに関連して、ゲームアプリケーションの第2のインスタンスを確立することを含む。第2のユーザは、第1のユーザの友達である。例えば、GCSの同じまたは他のゲームサーバは、第2のゲームプレイに関連して、ゲームアプリケーションの第2のインスタンスをインスタンス化、実行して、第2のユーザのクライアントデバイスに表示するレンダリングされた画像を生成するように構成される。
【0288】
よって、GCSは、第1のユーザと第2のユーザのゲームプレイに関連して、ゲームアプリケーションの両方のインスタンスを実施、サポートできる。ゲームクラウドシステムが、ゲームアプリケーションの第1のインスタンスと第2のインスタンスの実行を制御するので、第1のユーザと第2のユーザの両方のゲームプレイ内で生成されるデータ及び情報は、第1のユーザのゲームプレイを支援するために第1のユーザに通信されてよい。さらに、第1のユーザと第2のユーザの両方のゲームプレイ内で生成されたデータ及び情報は、第1のユーザのゲームプレイに統合されて、第1のユーザのゲームプレイへのマルチプレイヤ参加を提供してよい。同様に、データ及び情報は、第2のユーザのゲームプレイを支援するように、且つ、第2のユーザのゲームプレイへのマルチプレイヤ参加を提供するように使用されてよい。よって、データ及び情報を使用して、いずれかのユーザのゲームプレイをサポートしてよいが、簡潔で明瞭にするために、第1のユーザのゲームプレイをサポートするという文脈内でデータ及び情報の使用及び実施を記載する。
【0289】
動作2430において、方法は、第1のユーザと第2のユーザが友達関係を有し、両方のユーザが、ゲームアプリケーションを同時にプレイしていると決定することを含む。詳細には、ゲームクラウドシステムは、第1のユーザと第2のユーザのゲームプレイに関連して、ゲームアプリケーションのインスタンスを実行するので、第1のユーザと第2のユーザのゲームクラウドシステム内のユーザプロフィールが、ユーザ間の友達関係を決定するのに必要なデータを提供し得る。例えば、ユーザプロフィールは、対応するユーザに関する情報を含み、どのゲームアプリケーションが現在プレイされているかと、友達リストと、コンパニオンアプリケーションが有効にされているか否か等を含んでよい。詳細には、ゲームアプリケーションの第1のインスタンスと第2のインスタンスがインスタンス化されているので、第1のユーザと第2のユーザのユーザプロフィールが更新されて、第1のユーザと第2のユーザが現在、ゲームアプリケーションをプレイしていることを示す。さらに、ゲームクラウドシステム内のユーザプロフィールは、特定のユーザの友達リストにポピュレートする等のために、他のソーシャルネットワークを通して生成されたプロフィールからの情報で強化されてよい。このようにして、ゲームクラウドシステムのユーザプロフィールの友達リストは、絶えず、更新される。よって、両方のユーザプロフィールにアクセスし、ゲームクラウドシステムのプロフィールを相互参照することによって、第1のユーザと第2のユーザが友達であり、ゲームアプリケーションをプレイ中であると決定することが可能である。
【0290】
動作2440において、方法は、第1のユーザに関連付けられた第1のコンピューティングデバイスと第1の通信チャネルを確立することを含み、第1の通信チャネルは、ゲームアプリケーションの第1のインスタンスを実施するように構成される。詳細には、通信チャネルは、インターネット等のネットワークを通して実施され、ゲームクラウドシステムのゲームサーバで生成されるレンダリングされた画像を表示のために第1のユーザのクライアントデバイスに配信するように構成される。さらに、通信チャネルは、ゲームアプリケーションの第1のインスタンスの実行を指示して、第1のユーザのゲームプレイを可能にするために、クライアントデバイスからゲームサーバに入力コマンドを返信するように構成される。
【0291】
動作2450において、方法は、第1のユーザに関連付けられた第2のコンピューティングデバイスと第2のチャネルを確立することを含む。同じまたは異なるネットワークが、第2のチャネルを確立するために構成されてよい。例えば、第2のチャネルは、インターネットの代わりに、モバイルネットワークを介して実施されて、タブレットコンピュータに通信サポートを提供してよい。例えば、図19の通信セッションマネージャ1925が、第2のチャネルを確立、維持するように構成されてよい。第1のユーザと第2のユーザのゲームプレイに基づく情報及び/またはデータは、第2のチャネルを通して配信されて、以下に記載するように、第1のユーザのゲームプレイを強化してよい。
【0292】
動作2460において、方法は、第1のユーザの第1のゲームプレイと第2のユーザの第2のゲームプレイに関する情報を含むインタフェースを生成することを含む。情報は、第1のユーザの一人または複数の友達等、複数のユーザのゲームプレイにも関連してよい。このようにして、インタフェースは、複数のゲームプレイに基づく情報を第1のユーザのゲームプレイに接続でき、それによって、複数のユーザ(例えば、友達)のゲームプレイは、第1のユーザのゲームプレイにリンクされる。上記のように、インタフェースは、レーダマッピングを含んでよく、レーダマッピングは、第1のユーザのゲームプレイに関連付けられた第1のキャラクタと、レーダマッピングの複数の位置にある第1のユーザが関心を持つ複数のオブジェクトとを示す情報を含む。さらに、レーダマッピングは、第1のキャラクタの位置と複数のオブジェクトの位置との間の複数の方向関係を提供し、オブジェクトは、第2のユーザのゲームプレイに関連付けられたキャラクタ、ボス、関心をひくポイント等を含んでよい。インタフェースは、図22Aに示される情報または機能等(例えば、友達、関心をひく位置、関心をひくゲーム特徴、コーチングビデオ、コーチング指示、友達のガイダンス等)他の情報もしくは機能を含んでよく、及び/または、他の情報または機能にアクセスしてよい。
【0293】
動作2470において、方法は、インタフェースと情報を第2のチャネルを介して第1のユーザのゲームプレイと同時に表示するために第2のコンピューティングデバイスに配信することを含む。このようにして、インタフェースは、第1のユーザのゲームプレイをサポートする。詳細には、情報は、第1のユーザのゲームプレイに関連する現在の情報を提供する。説明を目的として、情報及び/またはデータは、第1のユーザがゲームアプリケーションのゲーム世界を理解するのを支援する。情報及び/またはデータは、ゲーム世界のエリアの記述、関心をひくポイント等を提供する。情報及び/またはデータは、第1のユーザがタスクまたは目標を達成する、または、第2のユーザや第1のユーザの他の友達のゲームプレイのキャラクタの位置を知るのを支援してよい。このようにして、第1のユーザと第1のユーザの友達とのゲームプレイをリンクしてよい。例えば、第1のユーザは、第2のチャネルを通して第2のコンピューティングデバイスに配信されるコンパニオンアプリケーションを介して第2のユーザとのインタラクティブなゲームセッションに参加できる。第1のユーザのゲームプレイをサポートするインタラクティブなゲームセッションは、第2のユーザからのコーチング、第2のユーザとの通信、第1のユーザのゲームプレイ内のキャラクタインタラクションのために第1のユーザのゲームプレイへの(第2のユーザと関連付けられた)キャラクタのオーバーレイ、第2のユーザからの、もしくは、第2のゲームプレイに基づいた視覚的キュー、第2のユーザからの、もしくは、第2のゲームプレイに基づいたテキスト指示、第2のユーザからの、もしくは、第2のゲームプレイに基づいたナビゲーションキュー等を含んでよいが、これらに限らない。
【0294】
複数のユーザのゲームプレイに関する情報を含むユーザのゲームプレイをサポートするコンパニオンアプリケーションの実施態様を示すために、具体的な実施形態を記載したが、これらは、例として記載したもので、制限のためではない。本開示を読んだ当業者は、本開示の趣旨及び範囲に該当する追加の実施形態を実現するであろう。
【0295】
広範な地理的エリアに亘って配信される、現在の実施形態のゲームへのアクセスを提供する等のアクセスサービスは、クラウドコンピューティングの使用が多いことに注意されたい。クラウドコンピューティングは、動的にスケーリングでき、仮想化されることが多いリソースを、インターネットを介したサービスとして提供するコンピューティングスタイルである。ユーザは、ユーザをサポートする「クラウド」の技術的インフラのエキスパートである必要はない。クラウドコンピューティングは、IaaS(Infrastructure as a Service)、PaaS(Platform as a Service)、及び、SaaS(Software as a Service)等の異なるサービスに分割できる。クラウドコンピューティングサービスは、ビデオゲーム等の通常のアプリケーションをウェブブラウザからアクセスするオンラインで提供することが多く、ソフトウェアとデータは、クラウドのサーバに記憶される。クラウドという語は、インターネットがどのようにコンピュータネットワーク図に描かれるかと、インターネットが隠す複雑なインフラの抽象化とに基づいて、インターネットのメタファーとして使用さる。
【0296】
ゲーム処理サーバ(GPS)(または、簡単に、「ゲームサーバ」)は、シングル及びマルチプレイヤビデオゲームをプレイするゲームクライアントによって使用される。インターネットを介してプレイされる大抵のビデオゲームは、ゲームサーバへの接続を介して動作する。典型的には、ゲームは、専用サーバアプリケーションを使用し、専用サーバアプリケーションは、プレイヤからデータを集め、データを他のプレイヤに配信する。これは、ピアツーピア配置よりも効率的で有効であるが、サーバアプリケーションをホストする別個のサーバを必要とする。別の実施形態においては、GPSは、プレイヤと、プレイヤの各ゲームプレイデバイスとの間の通信を確立して、集中型GPSに依存すること無しに、情報を交換する。
【0297】
専用GPSは、クライアントから独立して実行するサーバである。このようなサーバは、通常、データセンタにある専用ハードウェアで実行され、より多くの帯域幅と専用処理能力を提供する。専用サーバは、PCベースの大抵のマルチプレイヤゲームにとって、ゲームサーバをホストする好ましい方法である。多人数同時参加型オンラインゲームは、ゲームタイトルを所有するソフトウェア会社によって通常、ホストされる専用サーバで実行し、専用サーバが、コンテンツを制御、更新するのを可能にする。
【0298】
ユーザは、遠隔サービスにクライアントデバイスを用いてアクセスする。クライアントデバイスは、少なくともCPU、ディスプレイ、及び、入出力装置を含む。クライアントデバイスは、PC、携帯電話、ネットブック、PDA等であってよい。一実施形態においては、ゲームサーバで実行しているネットワークは、クライアントが使用するデバイスの種類を認識し、採用する通信方法を調整する。他の場合には、クライアントデバイスは、html等の標準的な通信方法を使用して、インターネットを介してゲームサーバのアプリケーションにアクセスする。
【0299】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースもしくはプログラマブル家電、ミニコンピュータ、メインフレームコンピュータ等を含む様々なコンピュータシステム構成で実践されてよい。開示は、タスクが、有線または無線のネットワークを通してリンクされる遠隔処理デバイスで行われる分散コンピューティング環境でも実践できる。
【0300】
所与のビデオゲームは、特定のプラットフォームと特定の関連するコントローラデバイス用に開発されてよいことは理解されたい。しかしながら、このようなゲームが、本明細書で提示したゲームクラウドシステムを介して利用できるようにされる時、ユーザは、異なるコントローラデバイスを用いてビデオゲームにアクセスしてよい。例えば、ゲームは、ゲームコンソールとゲームコンソールに関連するコントローラ用に開発される場合があるが、ユーザは、キーボードとマウスを利用してパーソナルコンピュータからゲームのクラウドベース版にアクセスしてよい。このようなシナリオにおいて、入力パラメータ構成は、ユーザの利用可能なコントローラデバイス(この場合、キーボードとマウス)によって生成できる入力から、ビデオゲームの実行で許容できる入力へのマッピングを規定できる。
【0301】
別の例においては、ユーザは、タブレットコンピューティングデバイス、タッチスクリーンスマートフォン、または、他のタッチスクリーン駆動デバイスを介して、クラウドゲームシステムにアクセスしてよい。この場合、クライアントデバイスとコントローラデバイスは、検出されたタッチスクリーン入力/ジェスチャによって入力が提供される同じデバイスに一体化されてよい。このようなデバイスに関して、入力パラメータ構成は、ビデオゲームのゲーム入力に対応する特定のタッチスクリーン入力を規定してよい。例えば、ボタン、方向パッド、または、他の種類の入力要素が、ビデオゲームを実行中に表示、オーバーレイされて、ユーザがタッチして入力を生成できるタッチスクリーン上の位置を示してよい。特定の方向のスワイプ等のジェスチャ、または、特定のタッチ動作も、ゲーム入力として検出されてよい。一実施形態においては、例えば、ビデオゲームのゲームプレイを開始する前に、ユーザをタッチスクリーン上のコントロールの操作に慣れさせるように、タッチスクリーンを介したゲームプレイへの入力の仕方を示すチュートリアルをユーザに提供できる。
【0302】
ある実施形態においては、クライアントデバイスは、コントローラデバイスの接続点として働く。すなわち、コントローラデバイスは、クライアントデバイスと無線または有線の接続を介して通信して、コントローラデバイスからの入力をクライアントデバイスに送信する。クライアントデバイスは、次に、これらの入力を処理して、(例えば、ルータ等のローカルネットワークデバイスを介してアクセスされる)ネットワークを介して入力データをクラウドゲームサーバに送信してよい。しかしながら、他の実施形態においては、コントローラ自体が、ネットワークデバイスであってよく、入力を最初にクライアントデバイスに通信する必要なしに、このような入力をネットワークを介して直接クラウドゲームサーバに通信する能力を備える。例えば、コントローラは、ローカルネットワークデバイス(上記ルータ等)に接続して、クラウドゲームサーバにデータを送信、及び、クラウドゲームサーバからのデータを受信してよい。従って、クライアントデバイスが、クラウドベースのビデオゲームからのビデオ出力を受信して、ローカルディスプレイにレンダリングする必要がある場合でさえ、コントローラが、クライアントデバイスを迂回して、ネットワークを介して入力を直接、クラウドゲームサーバに送信できることによって、入力待ち時間を低減できる。
【0303】
一実施形態においては、ネットワーク化されたコントローラとクライアントデバイスは、一定の種類の入力をコントローラからクラウドゲームサーバに直接送信するように、また、他の種類の入力をクライアントデバイスを介して送信するように構成できる。例えば、検出がコントローラ自体以外の追加のハードウェアや処理に依存しない入力は、クライアントデバイスを迂回して、コントローラからネットワークを介して直接クラウドゲームサーバに送信できる。このような入力は、ボタン入力、ジョイスティック入力、埋め込み動作検出入力(例えば、加速度計、磁力計、ジャイロスコープ)等を含んでよい。しかしながら、追加のハードウェアを利用する入力、または、クライアントデバイスによる処理を必要とする入力は、クライアントデバイスによってクラウドゲームサーバに送信できる。これらは、クラウドゲームサーバに送信する前にクライアントデバイスによって処理し得るゲーム環境からキャプチャされたビデオやオーディオを含んでよい。さらに、コントローラの動作検出ハードウェアからの入力は、キャプチャされたビデオと共に、クライアントデバイスによって処理されて、コントローラの位置及び動きを検出してよく、位置及び動きは、次に、クライアントデバイスによってクラウドゲームサーバに通信できる。様々な実施形態によるコントローラデバイスは、クライアントデバイスから、または、直接、クラウドゲームサーバからデータ(例えば、フィードバックデータ)も受信してよいことは理解されたい。
【0304】
本明細書に記載の実施形態は、任意の種類のクライアントデバイスによって実行されてよいことは理解されたい。ある実施形態においては、クライアントデバイスは、ヘッドマウントディスプレイ(HMD)である。
【0305】
開示の実施形態による、ヘッドマウントディスプレイ2550のコンポーネントの図である図25を示す。ヘッドマウントディスプレイ2550は、プログラム命令を実行するプロセッサ2500を含む。メモリ2502は、記憶目的で備えられ、揮発性及び不揮発性の両方のメモリを含んでよい。ユーザが視聴し得る視覚インタフェースを提供するディスプレイ2504が含まれる。バッテリ2506は、ヘッドマウントディスプレイ2550の電源として備えられる。動作検出モジュール2508は、磁力計2510、加速度計2512、及び、ジャイロスコープ2514等、様々な種類の動作検知ハードウェアのいずれかを含んでよい。
【0306】
加速度計は、加速度及び重力によって引き起こされる反力を測定する装置である。異なる方向の加速度の大きさ及び方向を検出する単軸または多軸のモデルが、入手可能である。加速度計を使用して、傾き、振動、及び、衝撃を検知する。一実施形態においては、3つの加速度計2512を使用して、重力の方向を提供し、重力の方向は、2つの角度(世界空間のピッチと世界空間のロール)に絶対参照を与える。
【0307】
磁力計は、ヘッドマウントディスプレイ付近の磁場の強さと方向を測定する。一実施形態においては、3つの磁力計2510は、ヘッドマウントディスプレイ内で使用されて、世界空間のヨー角の絶対参照を確保する。一実施形態においては、磁力計は、±80マイクロテスラである地球の磁場に亘るように設計される。磁力計は、金属の影響を受け、実際のヨーに単調なヨー測定値を提供する。磁場は、環境内の金属によって歪む場合があり、これは、ヨー測定値に歪みを生じる。必要に応じて、この歪みは、ジャイロスコープまたはカメラ等の他のセンサからの情報を用いて較正できる。一実施形態においては、加速度計2512は、磁力計2510と共に使用されて、ヘッドマウントディスプレイ2550の傾きとアジマスを取得する。
【0308】
ジャイロスコープは、角運動量の原理に基づいて、向きを測定または維持する装置である。一実施形態において、3つのジャイロスコープ2514は、慣性感知に基づいて、各軸(x、y、z)に対する動きの情報を提供する。ジャイロスコープは、速い回転の検出を助ける。しかしながら、ジャイロスコープは、絶対参照の存在がないと時間と共にドリフトし得る。これは、ジャイロスコープを定期的なリセットを必要とし、リセットは、オブジェクトの視覚追跡、加速度計、磁力計等に基づいた位置/向きの決定等、他の利用可能な情報を用いて行うことができる。
【0309】
カメラ2516は、現実の環境の画像及び画像ストリームをキャプチャするために備えられる。後ろ向き(ユーザが、ヘッドマウントディスプレイ2550のディスプレイを見ている時、ユーザから離れる方向)のカメラと、前向き(ユーザが、ヘッドマウントディスプレイ2550のディスプレイを見ている時、ユーザに向かう方向)のカメラとを含む、複数のカメラがヘッドマウントディスプレイ2550に含まれてよい。さらに、デプスカメラ2518が、現実環境のオブジェクトの奥行情報を検知するために、ヘッドマウントディスプレイ2550に含まれてよい。
【0310】
一実施形態においては、HMDの前面に一体化されたカメラを使用して、安全性に関する警告を行ってよい。例えば、ユーザが。壁またはオブジェクトに近付いている場合、ユーザに警告してよい。一実施形態においては、使用法は、部屋にある物理的オブジェクトの輪郭が提供されて、物理的オブジェクトの存在をユーザに警告してよい。輪郭は、例えば、仮想環境へのオーバーレイであってよい。ある実施形態においては、HMDのユーザは、例えば、床にオーバーレイされた基準マーカに対するビューを提供されてよい。例えば、マーカは、ユーザがゲームをプレイしている部屋の中心はどこかの基準をユーザに提供してよい。これは、例えば、部屋の壁や他のオブジェクトに衝突しないためにユーザはどこに動くべきかの視覚情報をユーザに提供し得る。ユーザが、HMDを着用して、HMDを用いてゲームをプレイ、または、コンテンツをナビゲートする時、ユーザにさらに安全性を提供するために、触覚警告、及び/またはオーディオ警告もユーザに提供できる。
【0311】
ヘッドマウントディスプレイ2550は、オーディオ出力を提供するスピーカ2520を含む。また、マイクロフォン2522が、周辺環境からの音、ユーザが行った会話等を含む、現実環境からのオーディオをキャプチャするために含まれてよい。ヘッドマウントディスプレイ2550は、触覚フィードバックをユーザに提供する触覚フィードバックモジュール2524を含む。一実施形態においては、触覚フィードバックモジュール2524は、触覚フィードバックをユーザに提供するように、ヘッドマウントディスプレイ2550に動き及び/または振動を生じさせることができる。
【0312】
LED2526が、ヘッドマウントディスプレイ2550の状態の視覚インジケータとして備えられる。例えば、LEDは、バッテリレベル、電源オン等を示してよい。ヘッドマウントディスプレイ2550が、メモリカードに情報を書き込み、メモリカードから情報を読み取るのを可能にするカードリーダ2528が備えられる。USBインタフェース2530が、周辺装置の接続、または、他のポータブルデバイス、コンピュータ等、他の装置への接続を可能にするインタフェースの一例として含まれる。ヘッドマウントディスプレイ2550の様々な実施形態において、様々な種類のインタフェースのいずれかが、ヘッドマウントディスプレイ2550接続性をより良くできるように含まれてよい。
【0313】
WiFi(登録商標)モジュール2532が、無線ネットワーク技術を介したインターネットへの接続を可能にするために含まれる。また、ヘッドマウントディスプレイ2550は、他のデバイスへの無線接続を可能にするBluetooth(登録商標)モジュール2534を含む。通信リンク2536も、他のデバイスへの接続のために含まれてよい。一実施形態においては、通信リンク2536は、無線通信に赤外線伝送を利用する。他の実施形態においては、通信リンク2536は、他のデバイスとの通信のために様々な無線または有線の伝送プロトコルのいずれかを利用してよい。
【0314】
入力ボタン/センサ2538は、入力インタフェースをユーザに提供するために含まれる。ボタン、タッチパッド、ジョイスティック、トラックボール等、様々な種類の入力インタフェースのいずれかが含まれてよい。超音波通信モジュール2540が、超音波技術を用いて他の装置との通信を促進するために、ヘッドマウントディスプレイ2550に含まれてよい。
【0315】
バイオセンサ2542が、ユーザから生理学的データの検出を可能にするために含まれる。一実施形態においては、バイオセンサ2542は、ユーザの皮膚を通してユーザの生体電気信号を検出するための1つまたは複数のドライ電極を含む。
【0316】
ヘッドマウントディスプレイ2550の上記コンポーネントは、ヘッドマウントディスプレイ2550に含まれ得る単に例示のコンポーネントとして記載した。開示の様々な実施形態において、ヘッドマウントディスプレイ2550は、様々な上記コンポーネントの幾つかを含んでもよく、含まなくてもよい。ヘッドマウントディスプレイ2550の実施形態は、本明細書に記載した本開示の態様を容易にする目的で、当分野で既知の、本明細書には記載していない他のコンポーネントをさらに含んでよい。
【0317】
開示の様々な実施形態において、上記ハンドヘルドデバイスは、ディスプレイに表示されたインタラクティブなアプリケーションと共に利用して、様々なインタラクティブ機能を提供してよいことを当業者は理解されよう。本明細書に記載の例示の実施形態は、制限のためではなく、例示のためのみに提供している。
【0318】
図26は、開示の様々な実施形態による、ゲームシステム2600のブロック図である。ゲームシステム2600は、ネットワーク2615を介して1つまたは複数のクライアント2610にビデオストリームを提供するように構成される。ゲームシステム2600は、典型的には、ビデオサーバシステム2620とオプションのゲームサーバ2625とを含む。ビデオサーバシステム2620は、ビデオストリームを1つまたは複数のクライアント2610に、最低限のサービスの質で提供するように構成される。例えば、ビデオサーバシステム2620は、ビデオゲームの状態、または、ビデオゲーム内の視点を変更するゲームコマンドを受信し、この状態の変化を反映する更新されたビデオストリームを最小限の遅延時間でクライアント2610に提供してよい。ビデオサーバシステム2620は、今後、規定されるフォーマットを含む広範な代替ビデオフォーマットで、ビデオストリームを提供するように構成されてよい。さらに、ビデオストリームは、広範なフレームレートで、ユーザに提示するように構成されたビデオフレームを含んでよい。典型的なフレームレートは、毎秒30フレーム、毎秒60フレーム、及び、毎秒2620フレームである。しかし、より多いまたは少ないフレームレートが、開示の代替実施形態に含まれる。
【0319】
本明細書で、それぞれ、2610A、2610B等と呼ばれるクライアント2610は、ヘッドマウントディスプレイ、端末、パーソナルコンピュータ、ゲームコンソール、タブレットコンピュータ、電話、セットトップボックス、キオスク、無線デバイス、デジタルパッド、スタンドアロンデバイス、ハンドヘルドゲームプレイデバイス等を含んでよい。典型的に、クライアント2610は、符号化された(すなわち、圧縮された)ビデオストリームを受信するように、ビデオストリームを復号するように、また、結果として生じるビデオをユーザ、例えば、ゲームのプレイヤに提示するように構成される。符号化されたビデオストリームを受信及び/または復号するプロセスは、典型的に、個々のビデオフレームをクライアントの受信バッファに記憶することを含む。ビデオストリームは、クライアント2610に一体化されたディスプレイで、または、モニタもしくはテレビ等の別個の装置で、ユーザに提示されてよい。クライアント2610は、複数のゲームプレイヤをサポートするように任意選択で構成される。例えば、ゲームコンソールは、2人、3人、4人、または、それより多い同時にプレイしているプレイヤをサポートするように構成されてよい。これらのプレイヤは、それぞれ、別個のビデオストリームを受信してよく、1つのビデオストリームは、各プレイヤに対して特に生成された、例えば、各プレイヤの視点に基づいて生成されたフレームの領域を含み得る。クライアント2610は、任意選択で、地理的に分散している。ゲームシステム2600に含まれるクライアントの数は、1つもしくは2つから何千、何万、または、それ以上まで大きく異なってよい。本明細書では、「ゲームプレイヤ」という語はゲームをプレイする人を指して用いられ、「ゲームプレイデバイス」という語は、ゲームのプレイに使用されるデバイスを指して使用される。ある実施形態においては、ゲームプレイデバイスは、協働してユーザにゲーム体験を配信する複数のコンピューティングデバイスを指してよい。例えば、ゲームコンソールとHMDは、ビデオサーバシステム2620と協働して、HMDを通して視聴されるゲームを配信してよい。一実施形態においては、ゲームコンソールは、ビデオサーバシステム2620からビデオストリームを受信し、ゲームコンソールは、ビデオストリーム、または、ビデオストリームへの更新をレンダリングのためにHMDに転送する。
【0320】
クライアント2610は、ネットワーク2615を介してビデオストリームを受信するように構成される。ネットワーク2615は、電話ネットワーク、インターネット、無線ネットワーク、電力線ネットワーク、ローカルエリアネットワーク、広域ネットワーク、プライベートネットワーク等を含む、任意の種類の通信ネットワークであってよい。典型的な実施形態においては、ビデオストリームは、TCP/IPまたはUDP/IP等の標準的なプロトコルを介して通信される。あるいは、ビデオストリームは、自社規格を介して通信される。
【0321】
クライアント2610の典型的な例は、プロセッサ、不揮発メモリ、ディスプレイ、復号論理回路、ネットワーク通信機能、及び、入力装置を含むパーソナルコンピュータである。復号論理回路は、ハードウェア、ファームウェア、及び/または、コンピュータ可読媒体に記憶されたソフトウェアを含んでよい。ビデオストリームを復号(及び符号化)するシステムは、当分野では周知であり、使用する特定の符号化スキームによって異なる。
【0322】
クライアント2610は、受信したビデオを修正するように構成されたシステムをさらに含んでよいが、含まなくてもよい。例えば、クライアントは、さらにレンダリングを行うように、あるビデオ画像を他のビデオ画像にオーバーレイするように、ビデオ画像をクロップするように等、構成されてよい。例えば、クライアント2610は、Iフレーム、Pフレーム、及び、Bフレーム等、様々な種類のビデオフレームを受信するように、これらのフレームをユーザに表示する画像に処理するように構成されてよい。ある実施形態においては、クライアント2610のメンバーは、さらに、レンダリング、シェーディング、3Dへの変換等の操作をビデオストリームに行うように構成される。クライアント2610のメンバーは、任意選択で複数のオーディオストリームまたはビデオストリームを受信するように構成される。クライアント2610の入力装置は、例えば、片手ゲームコントローラ、両手ゲームコントローラ、ジェスチャ認識システム、視線認識システム、音声認識システム、キーボード、ジョイスティック、ポインティングデバイス、力フィードバックデバイス、動作及び/または位置検知デバイス、マウス、タッチスクリーン、神経インタフェース、カメラ、今後、開発される入力装置等を含んでよい。
【0323】
クライアント2610によって受信されるビデオストリーム(及び、任意選択で、オーディオストリーム)は、ビデオサーバシステム2620によって、生成、提供される。本明細書の他の箇所でさらに記載するように、このビデオストリームは、ビデオフレームを含む(また、オーディオストリームは、オーディオフレームを含む)。ビデオフレームは、ユーザに表示される画像に意味のある寄与をするように構成される(例えば、ビデオフレームは、適切なデータ構造の画素情報を含む)。本明細書においては、「ビデオフレーム」という語はユーザに示す画像に寄与するように、例えば、画像を生じさせるように構成された情報を主に含むフレームを指して使用される。「ビデオフレーム」に関する本明細書の教示のほとんどは、「オーディオフレーム」にも適用できる。
【0324】
クライアント2610は、典型的にユーザから入力を受信するように構成される。これらの入力は、ビデオゲームの状態を変更するように、または、他の形でゲームプレイに影響を与えるように構成されたゲームコマンドを含んでよい。ゲームコマンドは、入力装置を用いて受信できる、及び/または、クライアント2610で実行するコンピューティング命令によって自動的に生成されてよい。受信したゲームコマンドは、クライアント2610からネットワーク2615を介してビデオサーバシステム2620及び/またはゲームサーバ2625に通信される。例えば、ある実施形態においては、ゲームコマンドは、ビデオサーバシステム2620を介してゲームサーバ2625に通信される。ある実施形態においては、ゲームコマンドの別個のコピーが、クライアント2610から、ゲームサーバ2625とビデオサーバシステム2620とに通信される。ゲームコマンドの通信は、任意選択でコマンドのアイデンティティに依存する。ゲームコマンドは、任意選択で、クライアント2610Aにオーディオストリームまたはビデオストリームを提供するのに使用されるのとは異なるルートまたは通信チャネルを通って、クライアント2610Aから通信される。
【0325】
ゲームサーバ2625は、任意選択でビデオサーバシステム2620とは異なるエンティティによって運営される。例えば、ゲームサーバ2625は、マルチプレイヤゲームの発行者によって運営されてよい。この例においては、ビデオサーバシステム2620は任意選択でゲームサーバ2625によってクライアントとして見られ、任意選択で、ゲームサーバ2625の視点から先行技術のゲームエンジンを実行する先行技術のクライアントに見えるように構成される。ビデオサーバシステム2620とゲームサーバ2625との間の通信は、任意選択で、ネットワーク2615を介して生じる。よって、ゲームサーバ2625は、ゲーム状態情報を複数のクライアントに送信する先行技術のマルチプレイヤゲームサーバであってよく、その1つが、ゲームサーバシステム2620である。ビデオサーバシステム2620は、ゲームサーバ2625の複数のインスタンスと同時に通信するように構成されてよい。例えば、ビデオサーバシステム2620は、複数の異なるビデオゲームを異なるユーザに提供するように構成できる。これらの異なるビデオゲームは、それぞれ、異なるゲームサーバ2625によってサポートされてよく、及び/または、異なるエンティティによって発行されてよい。ある実施形態においては、ビデオサーバシステム2620の幾つかの地理的に分散したインスタンスが、ゲームビデオを複数の異なるユーザに提供するように構成される。ビデオサーバシステム2620のこれらのインスタンスのそれぞれは、ゲームサーバ2625の同じインスタンスと通信してよい。ビデオサーバシステム2620と1つまたは複数のゲームサーバ2625との間の通信は、任意選択で、専用通信チャネルを介して生じる。例えば、ビデオサーバシステム2620は、これらの2つのシステムの間の通信に専用の高帯域のチャネルを介してゲームサーバ2625に接続されてよい。
【0326】
ビデオサーバシステム2620は、少なくともビデオソース2630、入出力装置2645、プロセッサ2650、及び、非一時的ストレージ2655を含む。ビデオサーバシステム2620は、1つのコンピューティングデバイスを含んでもよく、または、複数のコンピューティングデバイス間に分散されてもよい。これらのコンピューティングデバイスは、任意選択でローカルエリアネットワーク等の通信システムを介して接続される。
【0327】
ビデオソース2630は、ビデオストリーム、例えば、ストリーミングビデオ、または、動画を形成する一連のビデオフレームを提供するように構成される。ある実施形態においては、ビデオソース2630は、ビデオゲームエンジンとレンダリング論理回路を含む。ビデオゲームエンジンは、プレイヤからゲームコマンドを受信するように、また、受信したコマンドに基づいて、ビデオゲームの状態のコピーを維持するように構成される。このゲーム状態は、ゲーム環境のオブジェクトの位置と、典型的に、視点とを含む。ゲーム状態は、オブジェクトの特性、画像、色、及び/または、テクスチャも含んでよい。
【0328】
ゲーム状態は、典型的には、ゲーム規則と、移動(move)、回転(turn)、攻撃(attack)、~にフォーカス設定(set focus to)、インタラクト(interact)、使用(use)等のゲームコマンドと、に基づいて維持されてよい。ゲームエンジンの一部は、任意選択で、ゲームサーバ2625内に置かれる。ゲームサーバ2625は、地理的に分散したクライアントを用いて、複数のプレイヤから受信したゲームコマンドに基づいて、ゲームの状態のコピーを維持してよい。これらの場合、ゲーム状態は、ゲームサーバ2625によってビデオソース2630に提供され、そこで、ゲーム状態のコピーが記憶され、レンダリングが行われる。ゲームサーバ2625は、クライアント2610からネットワーク2615を介して直接ゲームコマンドを受信してよい、及び/または、ビデオサーバシステム2620を介してゲームコマンドを受信してよい。
【0329】
ビデオソース2630は、レンダリング論理回路、例えば、ハードウェア、ファームウェア、及び/または、ストレージ2655等のコンピュータ可読媒体に記憶されたソフトウェアを典型的に含む。このレンダリング論理回路は、ゲーム状態に基づいてビデオストリームのビデオフレームを作成するように構成される。レンダリング論理回路の全てまたは一部は、任意選択で、グラフィックス処理ユニット(GPU)内に配置される。レンダリング論理回路は、典型的には、ゲーム状態及び視点に基づいて、オブジェクト間の三次元空間関係を決定するように、及び/または、適切なテクスチャ等を適用するように、構成された処理段階を含む。レンダリング論理回路は、未加工のビデオを生成し、未加工のビデオは、通常、クライアント2610に通信する前に符号化される。例えば、未加工のビデオは、Adobe Flash(登録商標)規格、.wav、H.264、H.263、On2、VP6、VC-1、WMA、Huffyuv、Lagarith、MPG-x、Xvid、FFmpeg、x264、VP6-8、リアルビデオ、mp3等に従って、符号化してよい。符号化プロセスによって、ビデオストリームを生成し、ビデオストリームは、遠隔装置上のデコーダに送るために任意選択でパッケージ化される。ビデオストリームは、フレームサイズ及びフレームレートによって特徴付けられる。任意の他のフレームサイズを使用してよいが、典型的なフレームサイズは、800x600、1280x720(例えば、720p)、1024x768を含む。フレームレートは、秒あたりのビデオフレーム数である。ビデオストリームは、異なる種類のビデオフレームを含んでよい。例えば、H.264規格は、「P」フレームと「I」フレームを含む。Iフレームは、ディスプレイデバイス上の全てのマクロブロック/画素をリフレッシュする情報を含み、Pフレームは、そのサブセットをリフレッシュする情報を含む。Pフレームは、典型的に、Iフレームよりデータサイズが小さい。本明細書においては、「フレームサイズ」という語はフレーム内の画素数を指し、「フレームデータサイズ」という語は、フレームを記憶するのに必要なバイト数を指す。
【0330】
代替実施形態においては、ビデオソース2630は、カメラ等のビデオ記録装置を含む。このカメラを用いて、コンピュータゲームのビデオストリームに含むことができる遅延ビデオまたはライブビデオを生成してよい。結果として生じるビデオストリームは、任意選択で、レンダリングされた画像と、静止カメラまたはビデオカメラを用いて記録された画像との両方を含む。ビデオソース2630は、ビデオストリームに含むために以前記録されたビデオを記憶するように構成された記憶装置も備えてよい。ビデオソース2630は、オブジェクト、例えば、人、の動作と位置を検出するように構成された動作または位置検知装置と、検出された動作及び/または位置に基づいて、ゲーム状態を決定、または、ビデオを生成するように構成された論理回路も含んでよい。
【0331】
ビデオソース2630は、任意選択で、他のビデオ上に配置するように構成されたオーバーレイを提供するように構成される。例えば、これらのオーバーレイは、コマンドインタフェース、ログイン命令、ゲームプレイヤへのメッセージ、他のゲームプレイヤの画像、他のゲームプレイヤのビデオフィード(例えば、ウェブカムビデオ)を含んでよい。タッチスクリーンインタフェースまたは視線検出インタフェースを含むクライアント2610Aの実施形態においては、オーバーレイは、仮想のキーボード、ジョイスティック、タッチパッド等を含んでよい。オーバーレイの一例においては、プレイヤの音声がオーディオストリーム上にオーバーレイされる。ビデオソース2630は、任意選択で、1つまたは複数のオーディオソースをさらに含む。
【0332】
ビデオサーバシステム2620が複数のプレイヤからの入力に基づいてゲーム状態を維持するように構成される実施形態においては、各プレイヤは、ビューの位置及び方向を含む異なる視点を有し得る。ビデオソース2630は、各プレイヤに、各プレイヤの視点に基づいて別個のビデオストリームを提供するように任意選択で構成される。さらに、ビデオソース2630は、異なるフレームサイズ、フレームデータサイズ、及び/または、符号化を各クライアント2610に提供するように構成されてよい。ビデオソース2630は、任意選択で、3Dビデオを提供するように構成される。
【0333】
入出力装置2645は、ビデオ、コマンド、情報の要求、ゲーム状態、視線情報、デバイスの動き、デバイスの位置、ユーザの動作、クライアントID、プレイヤID、ゲームコマンド、セキュリティ情報、音声等の情報をビデオサーバシステム2620が送信及び/または受信するように構成される。入出力装置2645は、典型的には、ネットワークカードまたはモデム等の通信ハードウェアを含む。入出力装置2645は、ゲームサーバ2625、ネットワーク2615、及び/または、クライアント2610と通信するように構成される。
【0334】
プロセッサ2650は、本明細書に記載のビデオサーバシステム2620の様々なコンポーネント内に含まれる論理回路、例えば、ソフトウェア、を実行するように構成される。例えば、プロセッサ2650は、ビデオソース2630、ゲームサーバ2625、及び/または、クライアントクオリファイア(Client Qualifier)2660の機能を行うために、ソフトウェア命令でプログラムされてよい。ビデオサーバシステム2620は、任意選択で、プロセッサ2650の複数のインスタンスを含む。プロセッサ2650も、ビデオサーバシステム2620が受信したコマンドを実行するために、または、本明細書に記載のゲームシステム2600の様々な要素の動作を調整するために、ソフトウェア命令でプログラムされてよい。プロセッサ2650は、1つまたは複数のハードウェア装置を含んでよい。プロセッサ2650は電子プロセッサである。
【0335】
ストレージ2655は、非一時的なアナログ及び/またはデジタル記憶装置を含む。例えば、ストレージ2655は、ビデオフレームを記憶するように構成されたアナログ記憶装置を含んでよい。ストレージ2655は、コンピュータ可読デジタルストレージ、例えば、ハードドライブ、光学式ドライブ、または、ソリッドステートストレージを含んでよい。ストレージ2615は、(例えば、適切なデータ構造またはファイルシステムによって)ビデオフレーム、疑似フレーム(artificial frame)、ビデオフレーム及び疑似フレームの両方を含むビデオストリーム、オーディオフレーム、オーディオストリーム等を記憶するように構成される。ストレージ2655は、任意選択で、複数のデバイスに分散される。ある実施形態においては、ストレージ2655は、本明細書の他の箇所に記載のビデオソース2630のソフトウェアコンポーネントを記憶するように構成される。これらのコンポーネントは、必要時にすぐにプロビジョニングできるフォーマットで記憶されてよい。
【0336】
ビデオサーバシステム2620は、任意選択で、クライアントクオリファイア2660をさらに含む。クライアントクオリファイア2660は、クライアント2610A、2610B等のクライアントの能力を遠隔で判定するように構成される。これらの能力は、クライアント2610A自体の能力と、クライアント2610Aとビデオサーバシステム2620との間の1つまたは複数の通信チャネルの能力との両方を含み得る。例えば、クライアントクオリファイア2660は、ネットワーク2615を介して通信チャネルをテストするように構成されてよい。
【0337】
クライアントクオリファイア2660は、クライアント2610Aの能力を手動または自動で判定(例えば、発見)することができる。手動の判定は、クライアント2610Aのユーザと通信することと、能力を提供するようにユーザに依頼することと、を含む。例えば、ある実施形態においては、クライアントクオリファイア2660は、クライアント2610Aのブラウザ内に、画像、テキスト等を表示するように構成される。一実施形態においては、クライアント2610Aは、ブラウザを含むHMDである。別の実施形態においては、クライアント2610Aは、ブラウザを有するゲームコンソールであり、ブラウザは、HMDに表示されてよい。表示されたオブジェクトは、クライアント2610Aのオペレーティングシステム、プロセッサ、ビデオデコーダの種類、ネットワーク接続の種類、ディスプレイ解像度等の情報をユーザが入力することを要求する。ユーザが入力した情報は、クライアントクオリファイア2660に返信される。
【0338】
自動判定は、例えば、クライアント2610A上でエージェントの実行により、及び/または、テストビデオをクライアント2610Aに送信することにより、行われてよい。エージェントは、ウェブページに埋め込まれた、または、アドオンとしてインストールされたJAVA(登録商標)スクリプト等のコンピュータ命令を含んでよい。エージェントは、任意選択で、クライアントクオリファイア2660によって提供される。様々な実施形態において、エージェントは、クライアント2610Aの処理能力、クライアント2610Aの復号及び表示能力、クライアント2610Aとビデオサーバシステム2620との間の通信チャネルの遅延時間信頼性と帯域幅、クライアント2610Aのディスプレイの種類、クライアント2610Aに存在するファイヤフォール、クライアント2610Aのハードウェア、クライアント2610A上で実行されるソフトウェア、クライアント2610A内のレジストリエントリ等を見つけることができる。
【0339】
クライアントクオリファイア2660は、ハードウェア、ファームウェア、及び/または、コンピュータ可読媒体に記憶されたソフトウェアを含む。クライアントクオリファイア2660は、任意選択で、ビデオサーバシステム2620の1つまたは複数の他の要素とは別個のコンピューティングデバイスに配置される。例えば、ある実施形態においては、クライアントクオリファイア2660は、クライアント2610と、ビデオサーバシステム2620の複数のインスタンスとの間の通信チャネルの特性を判定するように構成される。これらの実施形態においては、クライアントクオリファイアによって発見された情報を用いて、クライアント2610の1つにストリーミングビデオを配信するのに最も適しているのはビデオサーバシステム2620のどのインスタンスかを決定することができる。
【0340】
本明細書に記載の様々な実施形態を組み合わせ、アセンブルして、本明細書に開示の様々な特徴を用いた特定の実施態様にしてよいことは理解されたい。従って、記載の例は、単に可能な例の一部であり、様々な要素を組み合わせて、より多くの実施態様を規定することによって可能になる様々な実施態様を制限するものではない。ある例においては、ある実施態様は、開示した、または、同等の実施態様の趣旨を逸脱することなく、より少ない要素を含んでよい。
【0341】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラマブルな家電、ミニコンピュータ、メインフレームコンピュータ等を含む様々なコンピュータシステム構成で実践されてよい。本開示の実施形態は、有線または無線ネットワークを介してリンクされる遠隔処理デバイスによってタスクを行う分散コンピュータ環境で実践することもできる。
【0342】
上記実施形態に留意して、本開示の実施形態は、コンピュータシステムに記憶されたデータを伴う様々なコンピュータで実施される動作を採用することができることは理解されたい。これらの動作は、物理量の物理的操作を必要とする動作である。本開示の実施形態の一部を形成する本明細書に記載の動作はいずれも、有用な機械動作である。開示の実施形態は、これらの動作を行うデバイスまたは装置にも関する。装置は、必要な目的のために特に構築することができる。または、装置は、コンピュータに記憶されたコンピュータプログラムによって選択的に起動または構成される汎用コンピュータであってよい。詳細には、様々な汎用機械が、本明細書の教示に従って書かれたコンピュータプログラムと共に用いることができる、または、要求された動作を行うためにより専門化した装置を構築するとより便利であろう。
【0343】
開示は、コンピュータ可読媒体上で、コンピュータ可読コードとして具体化することもできる。コンピュータ可読媒体は、データを記憶することができる任意のデータ記憶装置で、そのデータは、後にコンピュータシステムによって読み取ることができる。コンピュータ可読媒体の例には、ハードドライブ、ネットワーク接続型ストレージ(NAS)、リードオンリメモリ、ランダムアクセスメモリ、CD-ROM、CD-R、CD-RW、磁気テープ、及び、他の光学データ記憶装置や非光学式のデータ記憶装置が含まれる。コンピュータ可読媒体は、コンピュータ可読コードが分散して記憶、実行されるように、ネットワーク接続されたコンピュータシステムを介して分散されたコンピュータ可読有形媒体を含むことができる。
【0344】
方法の動作を特定の順で記載したが、オーバーレイ動作の処理が所望のように行われる限り、他のハウスキーピング動作を動作と動作の間に行ってよく、動作は、少し時間を違えて生じるように調整されてよく、または、動作は、処理に関連付けられた様々な間隔で処理動作が行われるのを可能にするシステムに分散されてよいことは理解されたい。
【0345】
上記開示は理解しやすいように詳細に記載したが、請求項の範囲内で一定の変更及び修正を行ってよいことは明らかである。従って、本実施形態は、説明のためのもので、制限ではないとみなすべきであり、且つ、本開示の実施形態は、本明細書に記載の詳細に制限されず、添付の請求項の範囲及び同等物の範囲内で修正されてよい。
図1
図2
図3A
図3B
図4A
図4B
図5A
図5B
図5C
図6A
図6B
図6C
図6D
図6E
図6F
図7
図8
図9
図10
図11
図12A
図12B
図13A
図13B
図14
図15A
図15B
図15C
図15D
図15E
図16
図17
図18
図19
図20
図21A
図21B
図21C
図22A
図22B
図22C
図22D
図23
図24
図25
図26