以下の実施形態は、ビデオゲームチャレンジの第三者ビューを作成し、再生し、提供するための方法、コンピュータプログラム、及び装置を説明する。ただし、本開示は、これらの具体的詳細の一部または全てを用いずに実施することができることは、当業者にとって明らかであろう。他の例では、本開示を不必要に不明瞭にしないために、周知のプロセス操作を詳細には記載しない。
シングルプレイヤーゲーム、またはシングルプレイヤーモードを有するゲームは、ビデオゲーム市場の大部分を占める。多くのシングルプレイヤーゲームは、プレイすることが魅力的で楽しいが、競争面が不十分である。例えば、シングルプレイヤーゲームの多くのプレイヤーは、ゲームにおけるスキルを、他のプレイヤーと比較したいか、または他のプレイヤーに対して評価したいと望む場合がある。他の例では、ビデオゲーム空間内の多くの人々は、自分のお気に入りのシングルプレイヤーゲームのプレイヤー間の直接対決チャレンジを観戦したいと望む場合がある。さらに他の例では、直接対決試合に特に適していない、ある特定のゲームを、競争形式に統合されるが、精通したシングルプレイヤーフォーマットでプレイされることができるチャレンジにすることに需要がある。これは、ビデオゲームプレイヤーが長年にわたって親しんできた、今でもかなりのプレイヤー層を含む古い「レガシー」ゲームに当てはまるかもしれない。シングルプレイヤーゲーム、またはシングルプレイヤーモードのゲームから、競争(例えば、直接対決)形式のゲームプレイを作成する機会がある。また、シングルプレイヤーゲームについて競争形式でお気に入りのプレイヤーが他のプレイヤーと対戦するのを観衆が観ることを可能にする機会もある。そしてまた、エレクトロニックスポーツ(eスポーツ)が人気を博し続けるにつれて、シングルプレイヤーゲームアクションをeスポーツが構成する競争の舞台に引き上げる機会がある。
eスポーツの多くが同期してプレイされる、すなわち、プレイヤーが同時にゲームをプレイするが、ここで意図されるある特定の実施形態は、eスポーツについてのチャレンジの非同期プレイを可能にする。非同期チャレンジは、異なる時間にゲームセグメントをプレイするプレイヤーを含むことができる。ただし、チャレンジゲームが観覧する観客、及びeスポーツのコンテキストで見守られるときに、非同期プレイを視聴者に同期して見えるようにする。
チャレンジゲームは、プレイヤーによって、またはチャレンジゲームが行われるビデオゲームの発行元によって作成され得る。チャレンジゲームを作成することにより、ビデオゲームのゲームセグメントまたは一部分は、チャレンジゲームであると識別される。ゲームセグメントは、プレイされるときに、ビデオゲームの通常の実行中に存在するようなゲームルール及びパラメータに従って実行される。例えば、ゲームセグメントをプレイすることに関連するいずれかのゲームプレイメトリックは、ビデオゲームのルール及びパラメータに従って計算される。
ただし、チャレンジゲームは、本明細書ではチャレンジゲームルールと称される、制約、制限、及びハンディキャップの形式での独自のルールセットを用いて定義され得る。チャレンジゲームルールは、ビデオゲーム自体によって定義されるルールまたはパラメータを必ずしも変更しないが、チャレンジゲームの実行中に適用され施行されるルールである。例えば、魔法の使用に対するペナルティを評価することをチャレンジゲームルールの1つが規定する場合、そのようなルールは、ゲームセグメント自体に必ずしも存在しないが、プレイヤーはそれを認識している可能性がある。その後、プレイヤーは、魔法を使用する場合、ゲームセグメントのプレイ中にペナルティの評価を経験しないことができる。その結果、プレイヤーのゲームプレイメトリックは、ペナルティによって影響されない。ただし、チャレンジゲームの実行中にペナルティが適用される場合がある。チャレンジゲームの実行中にペナルティが適用されるときに、プレイヤーのゲームプレイメトリックは、修正され、観客インタフェース中の観客に表示される。一実施形態では、プレイヤーは、チャレンジゲームが終了するまで、ペナルティまたは修正されたゲームプレイメトリックに気付かない場合がある。いくつかの実施形態では、プレイヤーは、ペナルティまたは他の新しいルールが適用されることに気付いているかもしれないが、この適用は、観客がサイドバイサイドチャレンジを観るときに行われる。
例えば、プレイヤーは、本来のゲームルールの下で100ポイントのスコアを獲得することができるが、チャレンジ中にゲームプレイを観客に示すときに、同じゲームプレイは、36ポイントのスコアしか獲得しない。プレイヤーは、修正されたルールの下でチャレンジが表示されている、これらの修正されたルールに気付くかもしれないし、気付かないかもしれないが、その結果は、示されたチャレンジの中で両方のプレイが、修正されたルールに従って修正される、またはペナルティを与えられる、またはリワードを与えられることである。本明細書に記載されるように、異なるもしくは同じ調整を受けたプレイ結果、または重み付けされたプレイ結果、またはレートを変更されたプレイ結果、修正されたプレイ結果を各プレイヤーが得ることも可能である。
他の実施形態では、ゲームセグメントのゲームプレイ中にチャレンジゲームルールを適用して施行するように、チャレンジゲームルールをゲームセグメント自体にプログラムすることができる。その結果、プレイヤーのゲームプレイに関連するゲームプレイメトリックは、ゲームセグメント内で進行中に修正され得る。例えば、これらの実施形態では、ペナルティは、ゲームセグメントの実行中に適用されることができ、プレイヤーは、プレイ中にそのようなペナルティに気付くようになることができる。
図1は、チャレンジゲームサーバ100、及びさまざまな参加者とのその接続性の概略図を示す。例えば、プレイヤーデバイス102a~102dは、インターネットを含むことができるネットワークを介してチャレンジゲームサーバ100に接続される。プレイヤーデバイス102a~102dは、ゲームアプリケーションを実行することができる任意のデバイスを含むことができる。例えば、プレイヤーデバイス102a~102dは、ラップトップ及びデスクトップコンピュータなどのパーソナルコンピュータ、タブレット、携帯電話、ヘッドマウントディスプレイ(HMD)などの仮想現実デバイス、ゲームコンソールなどを含むことができる。いくつかの実施形態では、プレイヤーデバイス102a~102dは、PlayStation(登録商標)4及びPlayStation(登録商標)3のコンソール、ならびにPlayStation(登録商標)Vitaなどのゲームコンソールを含むことができ、これらすべては、Sony(登録商標)Corporationによって製造されている。
プレイヤーデバイス102a~102dは、プレイヤーデバイス102a~102dのそれぞれに関連付けられたプレイヤーが、チャレンジゲームセッションのためにビデオゲームとインタラクトすることを可能にする。いくつかの実施形態では、各プレイヤーは、ビデオゲームを別々に(例えば、マルチプレイヤーモードではなく)プレイするため、プレイヤーデバイス102a~102dのそれぞれは、ビデオゲームの1つのインスタンスに関連付けられ、この1つのインスタンスは、ビデオゲームのその他のインスタンスのそれぞれから独立している。いくつかの実施形態では、ビデオゲームの各インスタンスは、それぞれのプレイヤーデバイス102a~102d上で主に実行され得る。さまざまな実施形態では、それぞれのビデオゲームインスタンスは、チャレンジゲームサーバ100上で実行され得る。さまざまな実施形態では、ビデオゲームのインスタンスは、チャレンジゲームサーバ100から独立しているゲームサーバ上で実行され得る。さまざまな実施形態では、ビデオゲームのインスタンスは、プレイヤーデバイス102a~102d、チャレンジゲームサーバ100、及び1つ以上のゲームサーバの組み合わせで実行され得る。
また、図1は、例えばインターネットを介して、チャレンジゲームサーバ100と通信する複数の観客デバイス104a~104dを示す。観客デバイス104a~104dは、観客デバイス104a~104dに関連付けられたそれぞれの観客が、チャレンジゲームセッションが発生したときに、または後でチャレンジゲームセッションを観ることを可能にする。観客デバイス104a~104dは、ビデオコンテンツを表示することができる任意のデバイスを含むことができる。例えば、観客デバイス104a~104dは、プレイヤーデバイス102a~102dとして使用可能である、ラップトップコンピュータ、デスクトップコンピュータ、タブレット、携帯電話、HMDなどの仮想現実デバイス、PlayStation(登録商標)3、PlayStation(登録商標)4などのゲームコンソール、ならびにPlayStation(登録商標)Vita及び他のものなどのポータブルコンソールを含むデバイスのいずれかを備えることができる。さらに、観客デバイス102a~102dは、テレビ、スマートアシスタント、及び表示機能を有するパーソナルロボットをも含むことができる。
図2は、共通ゲームセグメントの第一プレイヤーのプレイ、及び第二プレイヤーのプレイに基づいて、チャレンジゲームサーバ100によってチャレンジゲームを実行するシステムの概念図である。いくつかの実施形態では、チャレンジゲームは、プレイ可能であるシングルプレイヤーゲームの所定のゲームセグメントに関連付けられる。チャレンジゲームは、チャレンジゲームサーバ100上で実行されることができ、ゲームセグメントは、第一及び第二プレイヤーのプレイヤーデバイス200及び202上で実行される。他の実施形態では、ゲームセグメントは、チャレンジゲームサーバ100上でリモートゲームサービスとして実行されることができ、第一及び第二プレイヤーは、それぞれプレイヤーデバイス200及び202を介してリモートゲームサービスとインタラクトする。
プレイヤーがゲームセグメントをプレイすることによってチャレンジゲームをプレイすることから、チャレンジゲームが、ある意味ではメタゲームであることができると想定される。したがって、チャレンジゲームの実行は、ゲームセグメントをプレイするプレイヤーに依存する。ただし、チャレンジゲームは、プレイヤーがプレイする個々のゲームセグメントのゲーム状態及びゲームプレイメトリックに基づくが、これらのゲーム状態及びゲームプレイメトリックとは異なる、ゲーム状態及びゲームプレイメトリックを含む。図3及び図4では、ゲームセグメントデータを使用してチャレンジゲームデータを生成する方法に関するさらなる詳細が提供される。
所与のチャレンジゲームについてのゲームセグメントが、シングルプレイヤーゲームのセグメントをプレイしている間にある特定の変数について制御するようにタイムボックス化された、及び/またはパラメータ化された、シングルプレイヤーゲームのプレイ可能なセグメントであり得るように意図されている。ゲームセグメントは、例えば、シングルプレイヤーゲームから抽出され、開始点及び終了点、ならびにタイムボックスによって制限され得る。
一例として、シングルプレイヤーゲームがドラゴンなどのさまざまな敵を含むファンタジービデオゲームであると仮定する。ゲームセグメントは、ファンタジービデオゲームから抽出され、ドラゴンを倒す目的または終了点を含むファンタジービデオゲームの約2分のセグメントを含むことができる。ゲームセグメントは、ゲームアセット、プレイされるキャラクター、キャラクターの能力及びツール、キャラクターの体力などのようなゲーム変数についてパラメータ化され得る。例えば、ファンタジーゲームのゲームセグメントは、アーマースーツ、メイジであるキャラクター、弓矢を含む能力及びツール、ならびに800の体力ポイントであるキャラクターの体力を含むゲームアセットのセットを定義するようにパラメータ化され得る。
さらに、チャレンジゲームは、ゲームセグメント内で、ある特定のゲーム内アクションを実行することに対するペナルティを指定される場合もある。例えば、魔法を使用することに対して指定されたペナルティがあり、プレイヤーが魔法を使用した場合に、そのプレイヤーはチャレンジゲーム内でペナルティを受ける場合がある。いくつかの実施形態では、ペナルティは、チャレンジゲーム内で適用される(例えば、チャレンジゲームサーバ上でのチャレンジゲームの実行中に適用される)が、必ずしもゲームセグメント内で適用されない(例えば、プレイヤーデバイス上でのゲームセグメントの実行中に適用されない)場合がある。その結果、プレイヤーは、チャレンジゲームセグメントをプレイしている間、ペナルティを知らされない場合があるが、プレイヤーはチャレンジゲーム結果の表示を介して後で知ることができる。他の実施形態では、ペナルティは、チャレンジゲーム及びゲームセグメントの両方の実行中に適用され得る。
他の実施形態では、チャレンジゲームに制限及びハンディキャップを指定することもできる。ゲーム内アクションを実行することに対するペナルティと比較して、いくつかの実施形態では、あるゲームアクションがゲームセグメント内でプレイヤーによって実行されるのを防ぐ制限が意図される。例えば、ゲームセグメント内でドラゴンと戦うことができるガーディアンフォースの味方を召喚することを防ぐという制限をチャレンジゲームに指定することができる。プレイヤーがガーディアンフォースを召喚するゲームアクションを実行しようとするときに、ゲームセグメントは、その特定のゲームアクションを無視するように定義され得る。したがって、競争的でないチャレンジゲームをレンダリングすることができる、さまざまなプレイモードについて制御する制限が意図される。さらに、両方のプレイヤーに適用する制限が意図される。
第二プレイヤーではなく、第一プレイヤーにハンディキャップを与えることによってより競争的なチャレンジゲームを作成することができるハンディキャップをチャレンジゲームに指定することもまた意図される。その結果、ファンタジービデオゲームにおいて第一プレイヤーが第二プレイヤーよりも一般的に優れている場合でも、第一プレイヤー及び第二プレイヤーは、より対等なプレイフィールド上でチャレンジゲームに参加することができる。一般に、2人のプレイヤーのうちの1人に適用するハンディキャップが意図されるが、異なるプレイヤーは、異なる方法でハンディキャップを与えられることができる。この目的を達成するために、多くのタイプのハンディキャップが意図される。一部のハンディキャップは、プレイヤーの体力、エネルギー、スタミナ、マナ、アーマー、またはシールドを減少させる。ハンディキャップのタイプに応じて、チャレンジゲームサーバ100にチャレンジゲーム実行ロジックによって実装されることができるハンディキャップもあれば、プレイヤーデバイス200及び202によって実装されることができるハンディキャップもある。
さまざまな実施形態によれば、ゲームセグメントは、保存されたデータファイルとして具現化され、プレイヤーデバイス200及び202、または他の箇所に実行され得る。他の実施形態では、ゲームセグメントは、ゲームを開始する方法(例えば、開始するポイント、使用するキャラクター、及びキャラクターが有する特徴または他のパラメータ)に関するゲーム実行ロジックを指令するように、起動時にゲームによって処理されるコンフィグレーションデータまたはブートパラメータに従って実装され得る。
他の実施形態では、ゲームセグメントは、チャレンジゲームサーバ100上で、またはリモートゲームサーバ(図示せず)上で実行され得る。いくつかの実施形態では、チャレンジゲームは、第一及び第二プレイヤーによって同期してプレイされ得る。例えば、両方のプレイヤーは、リアルタイムの対戦のために、同時に、または同様の時間にゲームセグメントをプレイし始めることができる。他の実施形態では、チャレンジゲームサーバ100は、チャレンジゲームについて非同期対戦をも可能にする。例えば、2人のプレイヤーは、異なる時間にゲームセグメントをプレイすることができる。第一プレイヤー及び第二プレイヤーが異なる時間にゲームセグメントをプレイするときに、それらのゲームセグメントが観客デバイス212の観客インタフェース220内にライブでプレイされているかのように見えるように、チャレンジゲームについてのそれらのゲームセグメントを同時に処理する。例えば、ゲームセグメントが非同期でプレイされるかどうかにかかわらず、プレイされたゲームセグメントのビデオストリーム214及び216は、チャレンジゲームグラフィックス218であるように、同期して表示される。
図2に示される実施形態では、チャレンジゲームサーバ100は、ユニバーサルデータシステム204、ビデオストリーム処理モジュール206、及び観客ストリーミングインタフェースモジュール208を含む。ユニバーサルデータシステム204は、とりわけ、第一及び第二プレイヤーデバイス200及び202によって生成されているようなテレメトリデータを処理した後に、このテレメトリデータを使用して、チャレンジゲームについて修正されたゲームメトリックまたはゲーム状態を生成する。さらに、ユニバーサルデータシステム204は、チャレンジゲームについて修正されたゲームメトリックまたはゲーム状態に基づいて、チャレンジゲーム中にそれぞれのプレイヤーの進行状況を決定することができる。例えば、いくつかの実施形態では、テレメトリデータは、プレイヤーがゲームセグメントでどのように行っているか、またはプレイヤーがゲームセグメントの目的を完了することにどの程度近いかを示す。
ビデオストリーム処理モジュール206は、第一及び第二プレイヤーのそれぞれのビデオデータを、処理して観客ストリーミングインタフェースモジュール208に配信するために取得する。プレイヤーの一方または両方が以前のある時点でゲームセグメントを完了したときに、ビデオデータ及びゲームデータは、以前にプレイされたゲームセグメントを格納するデータベース210から取得され得る。いくつかの実施形態では、ビデオストリーム処理モジュール206は、観客ストリーミングインタフェース208についての第一及び第二プレイヤーのビデオデータに圧縮及び/またはスケーリング機能を実行することができる。さらに、これらの、そして他の実施形態では、ビデオストリーム処理モジュール206は、観客ストリーミングインタフェース208についてのビデオストリーム上にグラフィックスをさらにオーバーレイすることができる。観客ストリーミングインタフェースモジュール208は、チャレンジゲームがリアルタイムまたはほぼリアルタイムで実行されているときにチャレンジゲームを表示する観客インタフェース220を観客に生成する。
インターネットなどのネットワークを介してチャレンジゲームサーバ100と通信している観客デバイス212を示す。第一プレイヤーに関連する第一ビデオ214、第二プレイヤーに関連する第二ビデオ216、及び両方のプレイヤーに関連するチャレンジゲームグラフィックス218を含む観客インタフェース220を表示する観客デバイス212を示す。上述されるように、チャレンジゲームサーバ100は、第一及び第二プレイヤーがゲームセグメントを同期してプレイしていない場合でも、第一及び第二ビデオ214及び216を同期して提供する。その結果、チャレンジ観客インタフェース220が開始されるときに、第一ビデオ214及び第二ビデオ216の両方を同時に開始させる。
チャレンジゲームグラフィックス218は、チャレンジゲームに関して第一及び第二プレイヤーの進行状況のさまざまなインジケータを、それぞれのゲームセグメントで行われている通りに含むことが意図される。例えば、チャレンジゲームグラフィックスは、プレイヤーについて修正されたゲームプレイメトリックの表現を含むことができる。その結果、チャレンジゲームグラフィックスは、チャレンジゲームについて処理されるような両方のプレイヤーのゲームセグメントについての、進行状況、体力、能力、エネルギー、ポイント、スコア、違反したペナルティ、敵及び関心のあるポイントへの近接度、ハンディキャップ、制約、ならびに他のパラメータというグラフィカルまたはテキスト表現を含むことができる。
図3は、第一及び第二プレイヤーによってプレイされる場合のゲームセグメントと、これらのゲームセグメントによって定義されるチャレンジゲームとの間のある特定の関係の概略図を示す。例えば、第一プレイヤーによってプレイされる場合のゲームセグメント302、及び第二プレイヤーによってプレイされる場合のゲームセグメント304が示される。ゲームセグメント302が第一プレイヤーによってプレイされるときに、ゲーム状態306及びゲームプレイメトリック308が結果として示される。同様に、ゲームセグメント304が第二プレイヤーによってプレイされるときに、ゲーム状態310及びゲームプレイメトリック312が結果として示される。
ゲーム状態306及び310は、任意の所与の時点でプレイされている場合のゲームセグメントの状態を説明する。ゲーム状態306及び310は、チャレンジゲームのゲーム状態314をリアルタイムで生成するためにチャレンジゲーム実行ロジック300によって使用され、このゲーム状態314は、任意の所与の時点でのチャレンジゲームの状態を、同じ対応する時間でのゲーム状態306及び310に応じて反映する。例えば、2分5秒の時点でのチャレンジゲームのゲーム状態314は、2分5秒の時点でのゲーム状態306及び310の両方に依存する。さらに、チャレンジゲーム実行ロジック300は、ゲーム状態306及び310に適用されるチャレンジゲームルールに基づいてチャレンジゲームのゲーム状態314を生成することが意図される。チャレンジゲーム実行ロジック300は、例えば、ゲーム状態306の2分5秒での状態をゲーム状態310のその状態と比較して、ペナルティ、ハンディキャップなどによって定義される1セットのチャレンジゲームルールに従って2分5秒でのチャレンジゲームのゲーム状態を生成することができる。
ゲームプレイメトリック308及び312は、ゲームセグメントをプレイする第一及び第二プレイヤーから得られ、プレイヤーがゲームセグメント内でどのように行っているかに関連するさまざまなメトリックを説明する。ゲームプレイメトリック308及び312は、それがゲーム内のプレイヤーの進行状況に関連するので、プレイヤーが通常見ることを期待するデータを含むことができる。例えば、ゲームプレイメトリック308及び312は、プレイヤーの体力、能力、違反したペナルティ、敵及びさまざまな関心のあるポイントへの近接度、ハンディキャップ、制約または制限などに関連するデータを含むことができる。第一プレイヤーについてのゲームプレイメトリック308から修正されたゲームプレイメトリック308’を生成し、ゲームプレイメトリック312から修正されたゲームプレイメトリック312’を生成するチャレンジゲーム実行ロジック300を示す。
チャレンジゲーム実行ロジック300は、ペナルティ、ハンディキャップなどによって定義されるチャレンジゲームについての1セットのルールに基づいて、ゲームプレイメトリック308及び312から修正されたゲームプレイメトリック308’及び312’を生成することが意図される。したがって、特定のチャレンジゲーム及びそのルールに応じて、プレイヤーがゲームセグメントをプレイするときにプレイヤーが見るゲームプレイメトリック308及び312は、観客に表示される修正されたゲームプレイメトリック308’及び312’とは異なることができる。例えば、魔法を使用することについてチャレンジゲームに関連するペナルティがあると仮定する。ゲームセグメント内での魔法の使用は、この実施形態では必ずしも制限されないが、そのような使用は、魔法を使用するプレイヤーにペナルティが課される原因となる。この例によれば、ペナルティは、プレイヤーが敵から受けるダメージの量を30秒間、2倍にスケーリングすることができる。第一プレイヤーが偶然魔法を使用した場合、チャレンジゲーム実行ロジック300は、ペナルティ、及び受けるダメージ量のスケーリングを実施することができ、ゲームプレイメトリック308によって反映される体力とは異なる体力を反映する、修正されたゲームプレイメトリック308’をもたらす。
図4は、第一及び第二プレイヤーがそれぞれ第一及び第二プレイヤーデバイス200及び202上でゲームセグメントをプレイするときに、第一プレイヤーと第二プレイヤーとの間のチャレンジゲームのビューを観客デバイス212に提供するためのチャレンジゲームサーバ100及びある特定の関連コンポーネントの概念図を示す。第一プレイヤーが第一プレイヤーデバイス200上でチャレンジゲームについてのゲームセグメントをプレイするときに、結果として、第一テレメトリデータストリーム402及び第一ビデオ406が生成される。同様に、第二プレイヤーが第二プレイヤーデバイス202上でゲームセグメントをプレイするときに、結果として、第二テレメトリデータストリーム404及び第二ビデオ408が生成される。ユニバーサルデータシステム204にルーティングされる第一及び第二テレメトリデータストリーム402及び404を示す。
ユニバーサルデータシステム400は、観客デバイス212上への表示用に生のテレメトリデータからチャレンジゲームについて意味のあるデータを生成するために、第一及び第二テレメトリデータストリーム402及び404を処理して操作するように機能する。例えば、第一及び第二テレメトリデータストリーム402及び404がプレイヤーによって行われるゲーム入力及びアクションに関連するデータ、プレイヤーと敵と関心のあるポイントとの間の仮想距離測定値、ならびにゲームセグメントがプレイされているときにこのゲームセグメントの状態に関連する他の測定値を含むことが意図される。テレメトリ処理モジュール400は、チャレンジゲーム実行ロジック300が操作することができる情報(ゲームプレイメトリック、及びゲームセグメントのゲーム状態など)にテレメトリデータを処理するように構成される。
ドラゴンを倒す目的を有するファンタジービデオゲームの例を続けると、第一及び第二テレメトリデータストリーム402及び404は、例えば、両方のプレイヤーとドラゴンとの間のそれぞれのゲームセグメント内の距離に関連するデータ、及び両方のプレイヤーの体力に関連するデータを含むことができる。テレメトリ処理モジュール400によるそのような処理の結果として、第一及び第二プレイヤーによってプレイされるときのゲームセグメントについてのゲーム状態は、チャレンジゲーム実行ロジック300によってさらに処理するために近似され得る。例えば、テレメトリ処理モジュール400は、第一及び第二テレメトリデータストリーム402及び404から、第一プレイヤーとドラゴンとの間の距離、及び第二プレイヤーとドラゴンとの間の距離を、それらのそれぞれのゲームセグメントのゲームセッション中に(例えば、リアルタイムまたはほぼリアルタイムに)決定するように動作可能であることができる。同様に、第一及び第二テレメトリデータストリーム402及び404のテレメトリ処理モジュール400によるそのような処理の結果として、第一及び第二プレイヤーのゲームプレイメトリックを決定することができる。テレメトリ処理モジュール400が第一及び第二テレメトリデータストリーム402及び404をリアルタイムまたはほぼリアルタイムに処理することが意図される。
図4に示される実施形態によれば、チャレンジゲーム実行ロジック300は、チャレンジゲームルールに従って、テレメトリ処理モジュール400によって生成されるデータを処理して変換する。例えば、テレメトリ処理モジュール400がゲームセグメントのゲーム状態を生成するときに、チャレンジゲーム実行ロジック300は、ゲームセグメントのゲーム状態に基づいて、チャレンジゲームのゲーム状態410を生成することができる。ゲームセグメントのゲーム状態が両方のプレイヤーとドラゴンとの間の距離に関連するデータを含む場合、チャレンジゲームのゲーム状態410は、第一または第二プレイヤーが他方のプレイヤーよりもドラゴンにどの程度近いかに関連する状態情報を含むことができる。さらに、チャレンジゲーム実行ロジック300は、テレメトリ処理モジュール400によって決定されるようなゲームプレイメトリックを、修正されたゲームプレイメトリック412に変換するように構成される。例えば、テレメトリ処理モジュール400によって生成されるようなゲームプレイメトリックが両方のプレイヤーの体力のインジケーションを有する場合に、チャレンジゲーム実行ロジック300は、チャレンジゲーム実行ロジック300によって実装されるチャレンジゲームルールのために、異なる体力のどちらかのプレイヤーを示すことができる。ファンタジーゲームの例を続けると、チャレンジゲームルールが魔法を使用することに対するペナルティを含み、第一プレイヤーが偶然魔法を使用した場合、チャレンジゲーム実行ロジック300は、修正されたゲームプレイメトリック412に反映されるように第一プレイヤーの体力にペナルティを適用するように動作可能である。チャレンジゲームのゲーム状態410及び修正されたゲームプレイメトリック412がリアルタイムまたはほぼリアルタイムにチャレンジゲーム実行ロジック300によって生成されることが意図される。
図4に示される実施形態によれば、チャレンジゲーム実行ロジック300によって生成されるときのチャレンジゲームのゲーム状態410及び修正されたゲームプレイメトリック412を、チャレンジゲームグラフィックスエンジン414が使用して、チャレンジゲームグラフィックス416を生成する。チャレンジゲームグラフィックス416は、第一プレイヤー及び第二プレイヤーがゲームセグメントをプレイするときに、これらのプレイヤーの進行状況のさまざまなインジケータを含むことが意図される。例えば、チャレンジゲームグラフィックスエンジン414は、チャレンジゲームのゲーム状態410を使用して、どちらのプレイヤーがドラゴン、または関心のあるポイント、またはさらに他方のプレイヤーに対してどの程度近いかをグラフィカルに表現するように構成される近接度インジケータバーを生成することができる。さらに、チャレンジゲームグラフィックスエンジン414は、修正されたゲームプレイメトリック412を使用して、両方のプレイヤーについてのさまざまなメトリックのグラフィカル表現を生成することができる。
いくつかの実施形態では、チャレンジゲームグラフィックスエンジン414がどちらかのプレイヤーのゲームセグメントのプレイに特有のゲームプレイメトリックを、修正されたゲームプレイメトリックと置換することができることが意図される。魔法を使用することに対するペナルティを有するファンタジーゲームの例を続け、第一プレイヤーが魔法を使用したと仮定すると、ゲームセグメントに特有である第一プレイヤーの体力は、例えば1000であることができる。しかしながら、チャレンジゲーム実行ロジック300が、修正されたゲームプレイメトリック412を生成するときにペナルティを適用する場合、第一プレイヤーの体力は、チャレンジゲーム内で、かつチャレンジゲームルールの下では、わずか600であることができる。チャレンジゲームグラフィックスエンジン414は、そのように示すように動作可能である。一実施形態では、チャレンジゲームグラフィックスエンジン414は、第一プレイヤーの600の体力を反映する体力バーを生成して、観客インタフェース220内の第一及び第二ビデオ406及び408の外側の、ある位置でチャレンジゲームグラフィックス416内に表示することができる。そのような一実施形態では、第一ビデオ406は、第一プレイヤーの本来の体力を1000と表示することができ、チャレンジゲームグラフィックス416は、体力を600と表示することができる。別の実施形態では、チャレンジゲームグラフィックスエンジン414または観客ストリーミングモジュール208またはビデオストリーム処理モジュール206は、第一プレイヤーの本来1000の体力を、観客インタフェース220についての第一ビデオ406内で600の体力に置換することができる。
図4に示される実施形態によれば、第一及び第二ビデオ406及び408は、処理のためにビデオストリーム処理モジュール206にルーティングされる。いくつかの実施形態によれば、第一及び第二ビデオ406及び408は両方とも、第一及び第二プレイヤーがゲームセグメントをプレイするときに、それぞれ第一及び第二プレイヤーデバイス200及び202によってマルチキャストされるストリーミングビデオである。他の実施形態では、第一及び第二ビデオ406及び408の一方または両方は、ストリーミングではなく、代わりに、格納されているようなゲームセグメントの以前のプレイからのデータベース210などのストレージから取得される。いずれの場合も、第一及び第二ビデオ406及び408を、観客インタフェース220内で同期して再生させる。チャレンジゲームサーバ300は、観客が観るための観客インタフェース220を提供するために、観客デバイス212と通信していることが示される。
図5は、1人以上の観客への表示のためのチャレンジゲームを実行する方法の全体的な流れを示す。操作500では、この方法は、例えば、チャレンジゲームサーバにおいて、第一プレイヤーと第二プレイヤーとの間のチャレンジゲームを表示するリクエストを受信することを含む。このリクエストは、観客デバイス上でチャレンジゲームの試合を観たいと望む観客から発信されていることができる。観客は、インタフェースを介してビューに利用可能であるチャレンジゲームアレイへのアクセスを与えられることができ、このチャレンジゲームアレイは、ウェブブラウザ、またはコンピュータ、モバイルデバイス、タブレット、PlayStation(登録商標)のようなコンソールシステム、PSVR(登録商標)のような仮想現実システムなどの上で実行される他のアプリケーションを介してアクセス可能である。
操作502では、この方法は、第一及び第二プレイヤーがゲームの所定のセグメントをプレイするときに生成される第一及び第二ビデオを取得することを提供する。上述されるように、所定のセグメントは、開始点及び終了点によって定義され、タイムボックスによっても定義されることができる、フルレングスのビデオゲームのセグメントであることができる。いくつかの実施形態では、第一及び第二ビデオは、第一及び第二プレイヤーによってプレイされている所定のセグメントのライブストリームである。これは、同期チャレンジゲームと称され得る。他の状況では、チャレンジゲームは、非同期プレイをもサポートすることができる。例えば、いくつかの実施形態では、第一ビデオは、第一プレイヤーの第一プレイヤーデバイスによってマルチキャストされるライブビデオフィードであることができ、第二ビデオは、第二プレイヤーによって所定のセグメントの以前のゲームセッションから格納されたビデオファイルであることができる。さらに他の実施形態では、第一及び第二ビデオの両方は、第一及び第二プレイヤーによってプレイされた以前のゲームセッションからのものであることができ、第一及び第二ビデオはストレージから取得される。
図5に示される方法の実施形態の操作504は、チャレンジゲームを実行するように機能する。いくつかの実施形態によれば、チャレンジゲームは、チャレンジゲームサーバによって実行可能な保存されたデータファイルである。チャレンジゲームを作成するさまざまな態様は、図6~図8を参照してさらに詳細に説明される。チャレンジゲームを実行する機能の1つは、観客が第一プレイヤー及び第二プレイヤーのゲームアクションを同期して観ることができるように、第一ビデオ及び第二ビデオを観客インタフェース中にサイドバイサイド構成で表示することである。その結果、第一及び第二プレイヤーの両方が、指定されたルールの下でチャレンジゲームによって定義される目的を達成しようとするときに、観客は、第一プレイヤー及び第二プレイヤーの両方のゲームプレイの同時ビューを提供される。
操作506では、この方法は、第一プレイヤーによってプレイされるゲームの所定のセグメントに関連する第一テレメトリデータ、及び第二プレイヤーによってプレイされるゲームの所定のセグメントに関連する第二テレメトリデータにアクセスすることを含む。テレメトリデータは、第一及び第二プレイヤーによって入力されたゲームアクション、ならびにゲーム内の第一及び第二プレイヤーと他のオブジェクトとの間の距離などのゲーム状態関連情報の測定値に関連するデータと、ゲームプレイに関連する他の本来の、または元のメトリックとを含む。次に、操作506でアクセスされたテレメトリデータは、操作508で処理される。例えば、操作508は、チャレンジゲームによって定義されるルールに基づいて、テレメトリデータに含まれるゲームプレイメトリックから修正されたゲームプレイメトリックを生成することを含む。
図5に示される実施形態によれば、操作510は、所定のゲームセグメントがプレイされたときに生成されたゲーム状態(例えば、本来の、または元のメトリック)を、第一及び第二ビデオについて修正されたゲームプレイメトリックと置換するように機能する。一例では、操作510は、修正された第一及び第二ビデオを制作するために、第一及び第二ビデオに現れる本来の、または元のメトリック上に、修正されたゲームプレイメトリックをオーバーレイすることができる。他の実施形態では、修正されたゲームプレイメトリックは、第一及び第二ビデオを埋め込むために、領域の外側にあるエリア内に表示され得る。いずれの場合も、修正されたゲームプレイメトリックは、所定のゲームセグメントをプレイする第一及び第二プレイヤーに関連して表示され、リアルタイムまたはほぼリアルタイムで更新される。修正されたゲームプレイメトリックは、チャレンジゲームに関して両方のプレイヤーによって行われる進行状況を示す。例えば、修正されたゲームプレイメトリックは、いずれかのプレイヤーが所定のチャレンジゲームセグメントについての目的を完了するのにどの程度近いかを示すプログレスバーを生成するために使用可能であるデータを含むことができる。
操作512では、この方法は、チャレンジゲームについての進行状況を表示するために、修正されたゲームプレイメトリックに基づいて、グラフィカル要素をレンダリングし、このリクエストに対して、観客インタフェースを提供することを含む。観客インタフェースは、少なくとも第一ビデオ、第二ビデオ、及びチャレンジゲームについての進行状況を表示するためのグラフィカル要素を含むことが意図される。グラフィカル要素が修正されたゲームプレイメトリックのグラフィカル表現を含むことが意図される。例えば、グラフィカル要素は、プレイヤーの体力、能力、敵への近接度、ハンディキャップ、制約、ペナルティなどを含む、所定のゲームセグメントに関していずれかのプレイヤーによって行われる進行状況のさまざまなインジケータを含むことができる。したがって、観客インタフェースが観客デバイスに提供されるときに、観客は、各プレイヤーのゲームプレイの一人称視点と、グラフィカル要素によって提供されたそれらの進行状況の追加ビューとの両方が与えられる。
図2、図4、及び図11に示される実施形態などのいくつかの実施形態では、観客インタフェースは、第一プレイヤーのビデオストリーム及び第二プレイヤーのビデオストリームのサイドバイサイド表示を含む。他の実施形態では、観客インタフェースは、第一プレイヤーのビデオストリーム及び第二プレイヤーのビデオストリームの両方からのアクションを、これら2つの間にインターカットすることによって表示する1つのビデオストリームを含むことができる。2つのビデオストリーム間のインターカットは、一実施形態による、それぞれのビデオストリームで起こっている興味深い事柄に基づいて、アルゴリズムで決定され、実施され得る。他の例では、インターカットは、判断に基づいて2つのビデオストリーム間でトグルするプロデューサまたはコントローラによって手動で実行され得る。
図6は、第二プレイヤーデバイス202上でプレイする第二プレイヤーにチャレンジゲームを作成することを、第一プレイヤーデバイス200の第一プレイヤーが可能にすることに関連する場合のチャレンジゲームサーバ100の概念図を示す。第一プレイヤーは、ビデオゲームでゲームセッションを完了するときに、ゲームセッション中に完了したビデオゲームのセグメントに基づいてチャレンジゲームを作成したいと望む場合がある。第一プレイヤーがそうすることを可能にするチャレンジゲームサーバ100が想定される。いくつかの実施形態では、第一プレイヤーは、誰でも参加することができるパブリックチャレンジゲームを作成したい場合がある。他の実施形態では、第一プレイヤーは、第二プレイヤーを含む1人以上のプレイヤーに選択的に挑戦したい場合がある。いずれの場合も、チャレンジゲームサーバのチャレンジゲームコンストラクタ600は、第一プレイヤーがチャレンジゲーム構築インタフェース602を介して他のプレイヤーに挑戦するためにチャレンジゲームのコンテンツを定義することを可能にする。チャレンジゲーム構築インタフェース602は、データベース210を介して第一プレイヤーによって以前にプレイされたゲームセッションへのアクセスを有することができる。
図6に示される実施形態によれば、チャレンジゲーム構築インタフェース602は、ゲームセッションの完了時にグラフィカルユーザインタフェース(GUI)を第一プレイヤーデバイス200に通信し、第一プレイヤーは、チャレンジゲームのためにプレイされるゲームセグメントのさまざまなパラメータ及びルールを定義することができる。例えば、第一プレイヤーは、チャレンジゲームに関連付けられる、開始点、終了点、目的、制限時間、キャラクターの能力、ならびに1つ以上の制限、ペナルティ、及びハンディキャップを定義することができる。また、チャレンジゲーム構築インタフェース602は、第一プレイヤーが挑戦したいと望む1人以上のプレイヤーを第一プレイヤーが指定することを可能にすることが意図される。
図6に示される実施形態によれば、チャレンジゲームアセンブラ604は、チャレンジゲーム構築インタフェース602を介して定義されるように、ゲームセグメント、チャレンジゲームルール及びパラメータ、ならびに挑戦される1人以上のプレイヤーを含むチャレンジゲームをアセンブルするように構成される。チャレンジゲームアセンブラ604は、ゲームセグメントが作成されるビデオゲームを含む、さまざまなゲームタイトル610へのアクセスを有することができる。次に、チャレンジゲームアセンブラ604は、チャレンジゲームコンフィグレーションデータ608を生成することができ、このチャレンジゲームコンフィグレーションデータは、挑戦される1人以上のプレイヤーに通信されるため、1人以上のプレイヤーは、ゲームセグメントをプレイしてチャレンジゲームに参加することができる。一実施形態では、チャレンジマッチメーカー606は、挑戦される1人以上のプレイヤー、及び任意の追加のプレイヤーと、チャレンジゲームに関する情報を通信するように構成される。また、チャレンジマッチメーカー606は、後続のプレイのために1人以上のプレイヤーのデバイスに、チャレンジゲームコンフィグレーションデータ608を配信するように構成され得る。
図7は、第一プレイヤーデバイス200の第一プレイヤーが以前にプレイしたゲームセッションに基づいたチャレンジゲームの作成を可能にすることに関連する場合のチャレンジゲームサーバ100の追加の図を示す。図示される例では、第一プレイヤーは、レースゲームのセッションを完了し、ビデオゲームセッションのセグメントについて第二プレイヤーに挑戦したいと望む。例えば、第一プレイヤーは、特に挑戦しているレースゲームのセグメントで個人記録を達成することができた。第一プレイヤーは、そのセグメントに基づいてチャレンジゲームを作成し、このチャレンジゲームについてのビデオゲームの類似の、または同じセグメントを第二プレイヤーにプレイさせることができる。
図7に示される実施形態では、チャレンジゲームコンストラクタ600のチャレンジゲーム構築インタフェース602は、第一プレイヤーの前のゲームセッションに関連する保存されたゲームセッション700にアクセスする。チャレンジゲーム構築インタフェース602は、保存されたゲームセッションビューア702を介して、保存されたゲームセッション700を第一プレイヤーに再生モードで提示することができる。第一プレイヤーは、保存されたゲームセッションビューア702を介して保存されたゲームセッション702に関連するビデオを観ながら、スライダー708を使用して保存されたゲームセッション700を通してスクラブすることができる。そうすることで、第一プレイヤーは、プレイする第二プレイヤーについてのゲームセグメント714の開始点710及び終了点712であることを望む、これらの点を保存されたゲームセッション700内で識別することができる。ゲームセグメント714が約5秒以下から約1時間以上、または約30秒から約30分、または約1分から約10分の持続時間にわたることができることが意図される。
図7に示される実施形態によれば、チャレンジゲーム構築インタフェース602は、第一プレイヤーがチャレンジゲームについてのプレイヤー選択704を指定すること、ならびにチャレンジゲームについての制限、ペナルティ、及びハンディキャップ706を定義することをさらに可能にする。示されていないが、他のパラメータもまた、チャレンジゲーム構築インタフェース602とインタラクトするときに第一プレイヤーによって指定され得る。
さまざまな実施形態では、チャレンジゲームアセンブラ604は、第一プレイヤーから受信するさまざまな入力に基づいてチャレンジゲームを作成することができる。例えば、チャレンジゲームアセンブラ604は、開始点710及び終了点712の選択に基づいて、またゲームタイトル610からのデータに基づいて、第二プレイヤーによってプレイされるゲームセグメント714を生成することが意図される。また、ゲームセグメント714がプレイされたゲームセッション700の選択されたセグメントをミラーリングするように、ゲームセグメント714は、保存されたゲームセッション700に関連するある特定のゲームパラメータを反映するゲームパラメータ726によって生成される。例えば、ゲームパラメータ726は、第一プレイヤーがゲームセッション中のレースに出たのと同じ車をゲームセグメント714に指定することができる。チャレンジゲームアセンブラ604は、いくつかの実施形態に従って、保存されたゲームセッション700からデータを読み出すことによって、ゲームパラメータ714を割り当てることができる。プレイ可能なゲームセグメント714を作成することに加えて、チャレンジゲームアセンブラ604は、チャレンジゲーム構築インタフェース602を介して入力された制限716、ペナルティ718、及びハンディキャップ720をもチャレンジゲームに割り当てることが意図される。
チャレンジゲームアセンブラ604は、プレイする第二プレイヤーについてのゲームセグメント714、及びチャレンジゲームに関連するデータを含む、チャレンジゲームコンフィグレーションデータ608を出力することが示される。第二プレイヤーがチャレンジゲームに参加するための招待を受諾する場合に、ゲームセグメント714は、第二プレイヤーの第二デバイス202に配信され、この招待はマッチメーカー606の招待ジェネレータ722によって生成される。また、マッチメーカー606は、1人以上の追加のプレイヤーがチャレンジに参加することができるように、挑戦される追加のプレイヤー724に招待を配信することができる。チャレンジゲームコンフィグレーションデータ608は、チャレンジゲームマネージャ701にも配信され、このチャレンジゲームマネージャ701は、ゲームセグメント714をプレイしている第二プレイヤーと同期してチャレンジゲームを実行することが意図される。
いくつかの実施形態では、第二プレイヤーがチャレンジゲームについてのゲームセグメント714をプレイするときに、そのプレイは、ゲームセッションの第一プレイヤーのプレイと非同期であることができる。しかしながら、他の実施形態では、第一プレイヤー及び第二プレイヤーの両方がチャレンジゲームについてのゲームセグメント714を同期してプレイするように、第一プレイヤーは、ゲームセグメント714を再びプレイすることができる。
図8は、第一プレイヤーが以前にプレイしたゲームセッションに基づいてチャレンジゲームを作成することを可能にする方法の全体的な流れを示す。この方法は、第一プレイヤーが完了したシングルプレイヤーゲームのゲームセッションからチャレンジゲームを作成するリクエストを第一プレイヤーのデバイスから受信する(例えば、チャレンジゲームサーバ100で)ための操作800を含む。ゲームセッションは、チャレンジゲームを作成することをリクエストする直前に完了することができた、または以前にプレイされたゲームセッションであることができる。いずれの場合も、操作802は、第一プレイヤーが完了したゲームセッションを取得するように機能し、ゲームセッションは、ゲームセグメントを定義するために使用可能なゲームセッションについてのゲーム状態データを含む。
次に、図8に示される方法の実施形態によれば、方法は、操作804に流れ、この操作804は、完了したゲームセッションに基づいてチャレンジゲームを作成するためにチャレンジゲーム構築インタフェースを第一プレイヤーのデバイスに提供するように機能する。チャレンジゲーム構築インタフェースは、図7に示されるものと同様であることができる。チャレンジゲーム構築インタフェースは、プレイ可能なゲームセグメントを第二プレイヤーに作成するために完了したゲームセッションのセグメントの選択を第一プレイヤーが行うことを可能にする。いくつかの実施形態では、セグメントの選択は、ゲームセッション全体を含むことができるが、他の実施形態では、この選択は、完了したゲームセッションのサブセットのみを含むことができる。第一プレイヤーがチャレンジゲームを作成することを望む1つより多いセグメントを、完了したゲームセッションが含む場合、ある特定の実施形態は、第一プレイヤーがゲームセッションから複数のセグメントを選択し、これらのセグメントからチャレンジゲームを作成することを可能にすることができる。
操作806では、チャレンジゲーム構築インタフェースを介して、挑戦される第二プレイヤーの選択を受信する。第一プレイヤーは、挑戦される他のプレイヤーをいくつでも指定することができる、またはチャレンジを一般に公開させることができ、任意のプレイヤーがチャレンジゲームに参加し、それぞれのチャレンジゲームの中で第一プレイヤーと直接対決することができる。次に、この方法は、操作808に流れ、この操作808は、ゲームセッションのセグメントの選択に関連するデータに基づいて、チャレンジゲームアセンブラによってチャレンジゲームをアセンブルするように機能する。このようなデータがゲームセッションから抽出される開始点、終了点、及びゲームパラメータを含むことが意図される。さらに、操作810では、チャレンジゲームアセンブラは、第二プレイヤーがチャレンジゲームをプレイすることを可能にするチャレンジゲームについて、保存されたデータファイル、またはコンフィグレーションファイル、またはブートパラメータファイルを作成する。特に、チャレンジゲーム用に保存されたデータファイルは、少なくとも、第二プレイヤーがプレイするゲームセグメントを実行するためのデータと、チャレンジゲームを実行するためのデータとを含む。ゲームセグメントは、さまざまな実施形態に従って、第二プレイヤーのデバイス上で実行されることができ、またはチャレンジゲームサーバ上で実行されることができ、チャレンジゲームは、チャレンジゲームサーバで実行される。
図8に示される方法は、操作812に進み、この操作812は、マッチメーカーによって、挑戦されている選択された1人以上のプレイヤーに招待を送信するように機能する。この招待の受諾に応答して、チャレンジゲーム用に保存されたデータファイル、または少なくとも、チャレンジゲームのゲームセグメントの実行に関連するデータは、挑戦されている1人以上のプレイヤーのそれぞれのデバイスに送信される。
図8に示される方法に関連する一実施形態によれば、方法は、チャレンジゲームを作成するリクエストを第一プレイヤーのデバイスから受信するための操作を含む。この方法は、第一プレイヤーがチャレンジゲームの実行中に適用されるチャレンジゲームルールを事前定義することを可能にするインタフェースを、第一プレイヤーのデバイスに提供する操作を与え、このインタフェースは、第一プレイヤーがチャレンジゲームについてのセグメントとしてプレイされるビデオゲームのセグメントの選択を行うことをさらに可能にする。この方法は、事前定義されたチャレンジゲームルールに基づいて、またビデオゲームのセグメントの選択に基づいてチャレンジゲームを作成すること、及び第二プレイヤーがゲームセグメントをプレイすることを可能にするためにチャレンジゲームを送信することをさらに含み、本来のゲームプレイメトリックは、第二プレイヤーがゲームセグメントをプレイするときに生成される。この方法は、第二プレイヤーがゲームセグメントをプレイしている間にチャレンジゲームを実行するための操作をさらに含み、チャレンジゲームを実行することは、事前定義されたチャレンジゲームルールを適用し、第二プレイヤーの本来のゲームプレイメトリックを修正し、修正されたゲームプレイメトリックを第二プレイヤーに生成することを含む。チャレンジゲームが実行されるときに、修正されたゲームプレイメトリックを表示するための観客ビューが生成される。
関連した方法の実施形態では、修正されたゲームプレイメトリックを第二プレイヤーに生成するためにチャレンジゲームを実行することは、第二プレイヤーの本来のゲームプレイメトリックを示す、第二プレイヤーによってプレイされたゲームセグメントに関連するテレメトリデータを処理することを含む。さらに、この方法は、修正されたゲームプレイメトリックを第二プレイヤーに生成するために、事前定義されたチャレンジゲームルールに従って、第二プレイヤーの本来のゲームプレイメトリックを変換することを含む。これらの実施形態及び他の実施形態では、第二プレイヤーについて修正されたゲームプレイメトリックが第二プレイヤーの本来のゲームプレイメトリックの代わりに表示されるように、第二プレイヤーについての本来のゲームプレイメトリックは、観客ビューでは第二プレイヤーの本来のゲームプレイメトリックを置換するように構成される。これらの実施形態及び他の実施形態では、チャレンジゲームを実行することは、事前定義されたチャレンジゲームルールを適用して、ゲームセグメントをプレイした第一プレイヤーに関連する本来のゲームプレイメトリックを修正し、修正されたゲームプレイメトリックを第一プレイヤーに生成するようにさらに構成される。これらの実施形態及び他の実施形態では、修正されたゲームプレイメトリックを第一プレイヤーに生成するためにチャレンジゲームを実行することは、第一プレイヤーによってプレイされたゲームセグメントに関連するテレメトリデータまたはゲーム状態データを処理するための操作を含み、テレメトリまたはゲーム状態データが第一プレイヤーの本来のゲームプレイメトリックを示し、そして修正されたゲームプレイメトリックを第一プレイヤーに生成するために、事前定義されたチャレンジゲームルールに従って、第一プレイヤーの本来のゲームプレイメトリックを変換するための操作を含む。これらの実施形態及び他の実施形態では、第一プレイヤーについて修正されたゲームプレイメトリックが第一プレイヤーの本来のゲームプレイメトリックの代わりに表示されるように、第一プレイヤーについて修正されたゲームプレイメトリックは、観客ビューでは第一プレイヤーの本来のゲームプレイメトリックを置換するように構成される。これらの実施形態及び他の実施形態では、第二プレイヤーがチャレンジゲームについてのゲームセグメントをプレイするとき、第二プレイヤーの本来のゲームプレイメトリックは、修正されたゲームプレイメトリックの表示なしで第二プレイヤーに表示されるように構成される。これらの実施形態及び他の実施形態では、事前定義されたチャレンジゲームルールは、制限、制約、ペナルティ、ハンディキャップ、及びリワードのうちの1つ以上を含む。
図9は、チャレンジゲームが同期で、または非同期でプレイされ、観客によってリアルタイムで、または非ライブビューとして観られることができるさまざまな実施形態の概念図を示す。第一実施形態では、チャレンジゲームは、第一及び第二プレイヤーによって同期してプレイされ、観客ビュー900中にライブで表示される。例えば、プレイヤー1のゲームセグメント902、及びプレイヤー2のゲームセグメント904は、時間軸に沿ってほぼ同時に開始し、チャレンジゲームが完了するのとほぼ同時に並行して進むことが示される。観客ビュー900は、プレイヤー1のゲームセグメント902及びプレイヤー2のゲームセグメント904をそれらの開始から終了まで含むことが示される。
別の実施形態では、チャレンジゲームをプレイする非同期モードは、観客ビュー906についてのチャレンジゲームのライブビューとともに示される。プレイヤー1のゲームセグメント908は、プレイヤー2のゲームセグメント910よりも早い期間に行われることが示される。第二プレイヤーがプレイヤー2のゲームセグメント910を開始するときに、過去にプレイされたプレイヤー1のゲームセグメント908は、ライブ観客ビュー906内でプレイヤー1のゲームセグメントリプレイ908’として再実行される。その結果、観客ビュー906は、第一及び第二プレイヤーがゲームセグメントを同期してプレイしているかのように見えるように、プレイヤー2のゲームセグメント910の横にプレイヤー1のゲームセグメントリプレイ908’を同期して表示する。
図9の別の実施形態では、非ライブの観客ビュー912に表示される同期または非同期のチャレンジゲームが提供される。プレイヤー1のゲームセグメント914及びプレイヤー2のゲームセグメント916は、チャレンジゲームの観客ビュー912の前に発生することが示される。プレイヤー1のゲームセグメント914、及びプレイヤー2のゲームセグメント916の両方は、観客ビュー912において、それぞれプレイヤー1のゲームセグメントリプレイ914’、及びプレイヤー2のゲームセグメントリプレイ916’として再放送される。その結果、観客ビュー912を有する観客は、第一及び第二プレイヤーが同期してリアルタイムでゲームセグメントをプレイしているかのようにチャレンジゲームを観ることができる。
図10は、15秒後に開始されようとしているプレイヤーlandongn1002とプレイヤーwmbenedetto1004との間のチャレンジゲームについてのステージングエリアの観客ビュー1000の一実施形態を示す。観客ビュー1000は、ドラゴンを倒すという目的1006、ゲームセグメントをタイムボックス化する制限時間1008、魔法を使用してはならないことを指定する制限1010、開始点1012、及び両方のプレイヤーがプレイするキャラクター1014を含む、プレイされるゲームセグメントのインジケーションを含むことが示される。示されていないが、ペナルティ、能力、制限などを含む、追加のゲームパラメータ及びチャレンジゲームルールのインジケーションもステージングエリアに表示され得る。また、ステージングエリアは、チャレンジゲーム中で観戦する予定のいずれかのフレンドのインジケーション、及び総観客数を含むことができる観客情報1018を表示することが示される。観客は、ウォッチマッチボタン1016を選択することにより、チャレンジゲームを観ることを決定することができる。
図11は、観客ビュー1000を介して観客が観ることができるように進行中のチャレンジゲームを示す。観客ビュー1000は、第一プレイヤービデオ214、及び第二プレイヤービデオ216、及びチャレンジゲームグラフィックス218を含むことが示される。第一プレイヤービデオ214及び第二プレイヤービデオ216は、同期して表示され、ゲームセグメントがプレイヤーlandongn1002及びプレイヤーwmbenedetto1004によってプレイされているため、ゲームセグメントの実行からマルチキャストされる。ゲームセグメントがプレイされている場合、チャレンジゲームグラフィックス218は、例えば図2~図4に示される方法で、チャレンジゲームサーバによって生成されている。チャレンジゲームグラフィックス218は、第一及び第二プレイヤーのための全体的なプログレスインジケータ1100及び1106をそれぞれ含み、これらのプログレスインジケータは、プレイヤーがゲームセグメントの目的1006を完了するのにどの程度近いかを一般に示す。例えば、全体的なプログレスインジケータ1100及び1106は、それぞれ第一及び第二プレイヤーについての進行の程度を表すプログレスバー1102及び1108を各含む。図示される例では、プログレスバー1102及び1008の相対的な塗りつぶしによって示されるように、プレイヤーlandongn1002は、プレイヤーwmbenedetto1004よりもゲームセグメントの中でより多く進行したように見える。さらに、全体的なプログレスインジケータ1100及び1106は、敵のドラゴンの体力インジケータ1104及び1110を含む。その上、図11から、ドラゴンの体力インジケータ1104及び1110が徐々に塗りつぶされることによって示されるように、プレイヤーlandongn1002がプレイヤーwmbenedetto1004よりも多くのダメージをドラゴンに与えていることがわかる。
さらに、チャレンジゲームグラフィックス218は、各プレイヤーがゲームセグメント内でどのように行っているかについてより詳細を伝えるゲームプレイメトリックインジケータを含むことが示される。例えば、体力インジケータ1106、スタミナインジケータ1108、及び魔法インジケータ1110は、プレイヤーlandongn1002に関連付けられていることが示され、体力インジケータ1112、スタミナインジケータ1114、及び魔法インジケータ1116は、プレイヤーwmbenedetto1004に関連付けられていることが示される。図示される例では、プレイヤーlandongn1106は、約80%の残存体力、及び約50%のスタミナを有し、プレイヤーwmbenedetto1004は、約40%の残存体力、及び約50%のスタミナを有する。魔法インジケータ1110及び1116に関して、プレイヤーlandongn1110は、例えば彼らがいかなる魔法も使用していないことを意味する、満杯の魔法バーを有することが示される。対照的に、プレイヤーwmbenedetto1004は、許可されているがペナルティを課される魔法の使用の50%を彼らが使用したことを意味する、半分の魔法バーを有することが示される。プレイヤーwmbenedetto1004は、魔法を使用したことにより、プレイヤーwmbenedetto1004がダメージを受けることにどの程度影響されやすいかを、魔法を使用することに対するペナルティの1つが高めることができることから、なぜ彼らの体力が非常に低いのかを説明することができる。例えば、プレイヤーが受けるダメージの量は、ペナルティとしてプレイヤーが使用する魔法の量に応じてスケーリングされ得る。
また、チャレンジゲームサーバは、観客とチャレンジゲームとの間のインタラクションレベルを有効にすることが意図される。図11に示される実施形態では、観客は、どのプレイヤーがチャレンジゲームに勝つと信じるかについて投票することができる。オプション1120及び1124は、どちらかのプレイヤーに投票する方法について観客に指令するチャレンジゲームグラフィックス218内のインジケータである。チャレンジゲームグラフィックス218に示されるようなコホート1118及び1122は、どの観客がどのプレイヤーにすでに投票したかを表す。投票に加えて、観客が仮想通貨または実際の通貨を賭けることをもチャレンジゲームサーバが可能にすることができることが意図される。他の実施形態では、チャレンジゲームグラフィックスは、観客について、互いにインタラクトするためのチャットボックスをも含むことができる。
チャレンジゲームグラフィックス218のいくつかは、第一プレイヤービデオ214及び第二プレイヤービデオ216の外側の位置で観客ビュー1000に現れることが示されるが、チャレンジゲームグラフィックス218は、第一プレイヤービデオ214及び第二プレイヤービデオ216内に現れることもまた意図される。例えば、進行状況のさまざまなインジケータを第一プレイヤービデオ214、及び第二プレイヤービデオ218上にオーバーレイすることもまたできる。
図12は、プレイされているゲームセグメントについてのテレメトリまたはゲーム状態データ1200を処理して、ゲームセグメント中の代表的な4点でチャレンジゲームグラフィックス218a~218dへの変更を生成する方法の概念図を示す。テレメトリまたはゲーム状態データ1200は、ゲームセグメントのプレイ中に発生する可能性のある相対的な順序でのイベントシーケンスのタイムラインとして示される。
チャレンジゲームグラフィックス218aでは、プレイヤーlandongn1002は、プログレスインジケータ1102aによってゲームの目的の約半分を完了したこと、及びドラゴンの体力インジケータ1104aによってドラゴンの体力を約30%まで減少させたことが示される。プログレスインジケータ1102aがドラゴンの体力に関する1つより多い入力を含むことができることに留意する。例えば、ゲームセグメントによって定義されることができる追加または補足の目的または目標の完了、プレイヤーのドラゴンへの近接度、さまざまなゲームプレイメトリックなどのような、プログレスインジケータ1102aの計算に入れる追加の変数があることができる。さらに、プレイヤーlandongn1002は、体力インジケータ1106aによって約80%の残存体力を有すること、スタミナインジケータ1108aによって約70%の残存スタミナを有すること、及び魔法インジケータ1110aによって魔法を使用していないことが示される。
図12に示されるテレメトリまたはゲーム状態データ1200によれば、チャレンジゲームグラフィックス218aの時間と、チャレンジゲームグラフィックス218bの時間との間に、50スタミナの使用、ドラゴンへの近接度の50ユニットまでの増加、魔法の1回の使用、ドラゴンに300のダメージを与えること、ドラゴンによるプレイヤーの攻撃、100のダメージを受けることを含む、複数のイベントが発生する。チャレンジサーバによって、例えば、テレメトリ処理モジュール400及び/またはチャレンジゲーム実行ロジック300によって、テレメトリまたはゲーム状態データ1200のイベントを処理し、修正されたゲームプレイメトリック、及びチャレンジゲームのゲーム状態を生成した後に、これらを使用して、チャレンジゲームグラフィックス218aへの変更を生成する。
例えば、ゲームセグメント中の次に示される点で、チャレンジゲームグラフィックス218bは、テレメトリまたはゲーム状態データ1200のイベントシーケンスに応答して、ゲームプレイメトリック、及びチャレンジゲームのゲーム状態に、ある特定の変更を反映する。チャレンジゲームグラフィックス218bでは、例えば、プログレスインジケータ1102bは、プレイヤーlandongn1002がドラゴンへの近接度を50ユニットまで増加させたこと、及びドラゴンにダメージを与えたことなどを反映して、このプレイヤーがゲームセグメントの約80%を完了したことを示す。ドラゴンがプレイヤーの魔法の使用から300のダメージを受けたことに応答して、ドラゴンについての体力インジケータ1104bは、約70%無効にされることが示される。ただし、プレイヤーが魔法を使用したため、ダメージを受けるそれらのサセプティビリティは2倍にスケーリングされることが示される。したがって、ドラゴンがプレイヤーを攻撃することによって、プレイヤーに100のダメージを与えるときに、プレイヤーの体力は、100ではなく200まで減少することができる。体力インジケータ1106bは、受けているスケーリングされたダメージを考慮してプレイヤーの体力を反映するが、スタミナインジケータ1108bは、スタミナの消費を反映し、魔法インジケータ1110bは、魔法の使用を反映する。
チャレンジゲームグラフィックス218bの時間と、チャレンジゲームグラフィックス218cの時間との間に、次の、ドラゴンからの近接度が100ユニットまで減少すること、ドラゴンに対して照準を合わせた攻撃のミス、ドラゴンに対して照準を合わせた攻撃のヒット、ドラゴンに200のダメージを与えること、100のスタミナの使用、ドラゴンによる攻撃、及び100のダメージを受けること、というイベントが発生することが示される。ここで、プレイヤーが魔法の使用を控えるのに十分な時間が経過する場合、図12に示されるように、ダメージを受けるプレイヤーのサセプティビリティは、スケーリングされて正常に戻ることができる。したがって、ドラゴンがプレイヤーに100のダメージを与えるときに、プレイヤーは、ヘルスインジケータ1106cによって反映されるように、100のダメージを受ける。プレイヤーがドラゴンにさらにダメージを与えたことから、プログレスインジケータ1102cは、約80%にあることが示され、ドラゴンについての体力インジケータ1104cは、約80%無効にされていることを示す。
チャレンジゲームグラフィックス218cの時間と、チャレンジゲームグラフィックス218dの時間との間に、次の、200スタミナの使用、ドラゴンへの近接度における200ユニットの増加、ドラゴンへの近接攻撃の3回の成功、ドラゴンに400のダメージを与えること、及びドラゴンの打倒という最終イベントシーケンスが発生することが示される。この最終イベントシーケンスの結果として、プログレスインジケータ1102dは、完全に塗りつぶされていることが示され、プレイヤーがゲームセグメントの目的を完了したことを示す。ドラゴンについてのヘルスインジケータ1104dもまた、完全にいっぱいになっている(フル状態になっている)ことが示され、ドラゴンの体力がゼロに減少したことを示す。この場合、チャレンジゲームは、テレメトリ及びデータストリーム1200を介して、ドラゴンがプレイヤーlandongn1002によって倒されたことを検出することができ、その結果、プレイヤーlandongn1002が勝者であることを宣言するために、チャレンジゲームを終了することができる。
図13は、本開示のさまざまな実施形態の態様を実行するために使用されることができる例示的なデバイス1300のコンポーネントを示す。例えば、図13は、一実施形態による、プレイヤーによるプレイのためにチャレンジゲーム、またはこのチャレンジゲームを表示するための観客インタフェースを提供するなど、ユーザのサポートにサービスを提供するデバイスを実装するのに適している例示的なハードウェアシステムを示す。このブロック図は、デバイス1300を示し、このデバイス1300は、本開示の一実施形態を実施するのに適している、パーソナルコンピュータ、ビデオゲーム機、パーソナルデジタルアシスタント、または他のデジタルデバイスを組み込むことができる、またはこれらであることができる。デバイス1300は、ソフトウェアアプリケーションと任意選択でオペレーティングシステムとを実行する中央処理装置(CPU)1302を含む。CPU1302は、1つ以上の同種または異種の処理コアから構成され得る。例えば、CPU1302は、1つ以上の処理コアを有する1つ以上の汎用マイクロプロセッサである。さらに実施形態は、例えばチャレンジゲームのゲーム操作を処理する、高度並列及び計算集約的アプリケーションに特に適合される、マイクロプロセッサアーキテクチャを有する1つ以上のCPUを使用して実装され得る。デバイス1300は、ゲームセグメントをプレイするプレイヤーに対し(例えばゲーム機として)ローカライズ可能であり、またはプレイヤーからリモートとすることができる(例えばバックエンドサーバプロセッサ)。
メモリ1304は、CPU1302による使用のためにアプリケーション及びデータを格納する。ストレージ1306は、アプリケーション及びデータ用の不揮発性ストレージ及び他のコンピュータ可読媒体を提供し、ストレージ1306には、固定ディスクドライブ、取り外し可能ディスクドライブ、フラッシュメモリデバイス、及びCD‐ROM、DVD‐ROM、Blu‐ray(登録商標)、HD‐DVD、もしくは他の光学記憶デバイス、並びに信号伝送及び記憶媒体が含まれ得る。ユーザ入力デバイス1308は、1人以上のユーザからのユーザ入力をデバイス1300に通信し、ユーザ入力デバイス1308の例には、キーボード、マウス、ジョイスティック、タッチパッド、タッチスクリーン、スチルレコーダ/カメラもしくはビデオレコーダ/カメラ、ジェスチャを認識する追跡デバイス、及び/またはマイクロフォンが挙げられ得る。ネットワークインタフェース1314は、デバイス1300が電子通信ネットワークを介して他のコンピュータシステムと通信することを可能にし、ローカルエリアネットワーク、及びインターネットなどの広域ネットワーク経由で有線または無線通信を含むことができる。音声プロセッサ1312は、CPU1302、メモリ1304、及び/またはストレージ1306により提供される命令及び/またはデータから、アナログまたはデジタルの音声出力を生成するように適合される。CPU1302、メモリ1304、データストレージ1306、ユーザ入力デバイス1308、ネットワークインタフェース1310、及びオーディオプロセッサ1312を含むデバイス1300のコンポーネントは、1つ以上のデータバス1322を介して接続される。
さらに、グラフィックスサブシステム1320は、データバス1322、及びデバイス1300のコンポーネントと接続されている。グラフィックスサブシステム1320は、グラフィックスプロセッシングユニット(GPU)1316、及びグラフィックスメモリ1318を含む。グラフィックスメモリ1318は、出力画像の各画素についての画素データを格納するために使用されるディスプレイメモリ(例えばフレームバッファ)を含む。グラフィックスメモリ1318は、GPU1308と同じデバイスに統合される、別個のデバイスとしてGPU1316と接続される、及び/またはメモリ1304内に実装され得る。画素データは、CPU1302から直接にグラフィックスメモリ1318に提供され得る。あるいは、CPU1302は、所望の出力画像を画定するデータ及び/または命令をGPU1316に提供し、それらのデータ及び/または命令から、GPU1316は、1つ以上の出力画像の画素データを生成する。所望の出力画像を画定するデータ及び/または命令は、メモリ1304及び/またはグラフィックスメモリ1318に格納され得る。一実施形態では、GPU1316は、シーンについての、ジオメトリ、照明、シェーディング、質感、モーション(あるいは動き)、及び/またはカメラのパラメータを定義する命令及びデータから、出力画像についての画素データを生成するために3Dレンダリング機能を含む。さらに、GPU1316は、シェーダプログラムを実行することができる1つ以上のプログラム可能な実行ユニットを含み得る。
グラフィックスサブシステム1314は、ディスプレイデバイス1310上に表示される画像についての画素データをグラフィックスメモリ1318から定期的に出力する。ディスプレイデバイス1310は、デバイス1300からの信号に応答して視覚情報を表示することができる任意のデバイスであることができ、CRT、LCD、プラズマ、及びOLEDディスプレイを含む。デバイス1300は、ディスプレイデバイス1310に、例えばアナログ信号またはデジタル信号を提供することができる。
プレイ及び表示のために提供するチャレンジゲームを実証するために特定の実施形態が提供されてきたが、これらは、限定としてではなく、例として説明されている。本開示を読んだ当業者は、本開示の趣旨及び範囲に含まれる追加の実施形態を実現するであろう。
現在の実施形態のゲームへのアクセス提供など、広範囲な地域にわたり配信されるアクセスサービスは、多くの場合、クラウドコンピューティングを使用することに留意されたい。クラウドコンピューティングは、動的に拡張縮小可能で多くの場合仮想化されたリソースがインターネットを介したサービスとして提供される、コンピューティング様式である。ユーザは、ユーザをサポートする「クラウド」の技術的インフラストラクチャのエキスパートである必要はない。クラウドコンピューティングは、Infrastructure as a Service(IaaS)、Platform as a Service(PaaS)、及びSoftware as a Service(SaaS)などの異なるサービスに分類することができる。クラウドコンピューティングサービスは、多くの場合、ビデオゲームなどの共通のアプリケーションを、ウェブブラウザからアクセスするオンラインで提供するが、ソフトウェア及びデータは、クラウド内のサーバに格納される。クラウドという用語は、コンピュータネットワーク図におけるインターネットの描かれ方に基づいたインターネットの隠喩として使われ、複雑なインフラストラクチャを隠し持つことの抽象的概念である。
いくつかの実施形態では、チャレンジゲームサーバ(または、単にゲームサーバ)は、チャレンジゲームプレイヤーによって使用され得る。インターネット経由でプレイされる大抵のビデオゲームは、ゲームサーバへの接続を介して動作する。通常、ゲームは、プレイヤーからデータを収集し、収集したデータを他のプレイヤーに配信する専用サーバアプリケーションを使用する。ユーザは、少なくともCPU、ディスプレイ及びI/Oを含むクライアントデバイスによって、リモートサービスにアクセスする。クライアントデバイスは、PC、携帯電話、ネットブック、PDAなどであることができる。一実施形態では、ゲームサーバ上で実行するネットワークは、クライアントが使用するデバイスの種類を認識し、採用される通信方法を調整する。他の場合では、クライアントデバイスは、HTMLなどの標準的な通信方法を使用して、インターネットを介してゲームサーバ上のアプリケーションにアクセスする。
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサを用いる家庭用電化製品またはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含む様々なコンピュータシステム構成を用いて実施することができる。本開示はまた、有線ベースネットワークまたは無線ネットワークを介してリンクされたリモート処理デバイスによりタスクが行われる分散型コンピューティング環境においても、実施することができる。
所与のビデオゲームまたはゲームアプリケーションが特定のプラットフォーム、及び特定の関連したコントローラデバイスのために開発されることができることを理解されたい。しかしながら、本明細書に提示されるようなゲームクラウドシステムを介してこのようなゲームを利用可能にするときに、ユーザは、別のコントローラデバイスによってビデオゲームにアクセスしていてよい。例えば、ゲームは、ゲームコンソール及びその関連したコントローラのために開発された可能性があるが、ユーザは、キーボード及びマウスを利用するパーソナルコンピュータからゲームのクラウドベースのバージョンにアクセスしていてよい。このようなシナリオにおいて、入力パラメータ構成は、ユーザの利用可能なコントローラデバイス(この場合、キーボード及びマウス)により生成されることが可能である入力から、ビデオゲームの実行のために許容可能である入力へのマッピングを定義することが可能である。
別の例では、ユーザは、タブレットコンピューティングデバイス、タッチスクリーンスマートフォン、または他のタッチスクリーン駆動型デバイスを介してクラウドゲームシステムにアクセスすることができる。この場合、クライアントデバイス及びコントローラデバイスは、入力が検出されたタッチスクリーンの入力/ジェスチャとして提供されながら、同一のデバイス内に合わせて一体化される。このようなデバイスについて、入力パラメータコンフィグレーションは、ビデオゲームについてのゲーム入力に対応する特定のタッチスクリーン入力を定義することができる。例えば、ボタン、十字キー、または他のタイプの入力素子は、ビデオゲームの実行中に表示され、またはオーバーレイされ、ユーザがゲーム入力を生成するためにタッチすることが可能であるタッチスクリーン上の位置を示すことができる。特定の方向でのスワイプなどのジェスチャ、または特定のタッチモーションもゲーム入力として検出され得る。一実施形態では、例えば、ビデオゲームのゲームプレイを開始する前に、タッチスクリーン上での制御の操作へユーザを慣れさせるために、ゲームプレイ用のタッチスクリーンを介して入力を提供する方法を示す、チュートリアルをユーザへ提供することが可能である。
いくつかの実施形態では、クライアントデバイスは、コントローラデバイスの接続ポイントとして機能する。すなわち、コントローラデバイスは、無線または有線接続を介してクライアントデバイスと通信し、コントローラデバイスからクライアントデバイスに入力を送信する。クライアントデバイスは、これらの入力を順に処理し、その後ネットワーク(例えば、ルータなどのローカルネットワークデバイスを介してアクセスされる)を介してクラウドゲームサーバへ入力データを送信することができる。しかしながら、他の実施形態では、コントローラ自体は、ネットワークを介してクラウドゲームサーバへ直接に入力を通信する能力を有し、これらのような入力を最初にクライアントデバイスを通して通信する必要がなく、ネットワーク化されたデバイスであることが可能である。例えば、コントローラは、ローカルネットワークデバイス(前述のルータなど)に接続し、クラウドゲームサーバへデータを送信し、このクラウドゲームサーバからデータを受信することができる。したがって、クライアントデバイスは、クラウドベースのビデオゲームからビデオ出力を受信し、それをローカルディスプレイ上にレンダリングするために依然として必要とされる場合もあるが、コントローラがクラウドゲームサーバへネットワーク経由で直接に入力を送信することを可能にし、クライアントデバイスをバイパスすることにより、入力レイテンシを低減することが可能である。
一実施形態では、ネットワーク化されたコントローラ及びクライアントデバイスは、ある特定のタイプの入力をコントローラからクラウドゲームサーバへ直接に、また他のタイプの入力をクライアントデバイスを介して送信するように構成されることが可能である。例えば、検出がコントローラ自体から離れた任意の追加のハードウェアまたは処理に依存しない入力は、コントローラからクラウドゲームサーバへネットワークを介して直接に送信され、クライアントデバイスをバイパスすることが可能である。これらのような入力は、ボタン入力、ジョイスティック入力、埋め込み型モーション検出入力(例えば、加速度計、磁力計、ジャイロスコープ)などを含むことができる。しかしながら、追加のハードウェアを利用する、またはクライアントデバイスによる処理を必要とする入力は、クライアントデバイスによりクラウドゲームサーバに送信されることが可能である。これらは、クラウドゲームサーバに送信する前に、クライアントデバイスにより処理されることができるゲーム環境から捕捉されたビデオまたはオーディオを含むことができる。加えて、コントローラのモーション検出ハードウェアからの入力は、捕捉されたビデオと併せてクライアントデバイスにより処理され、コントローラの位置及びモーションを検出することができ、その後、クライアントデバイスによりクラウドゲームサーバに通信される。さまざまな実施形態に従いコントローラデバイスもクライアントデバイスから、またはクラウドゲームサーバから直接にデータ(例えば、フィードバックデータ)を受信することができることを理解されたい。
本明細書に記載される実施形態がいずれかのタイプのクライアントデバイス上で実行されることができることを理解されたい。いくつかの実施形態では、チャレンジゲームをプレイすること、チャレンジゲームを作成すること、またはチャレンジゲームを表示することのうちの1つのためのクライアントデバイスは、ヘッドマウントディスプレイ(HMD)である。図14は、本開示の一実施形態による、ヘッドマウントディスプレイ1401のコンポーネントを図示する図を示す。HMD1401は、ゲームセグメントをプレイするための、またはチャレンジゲームを観客として観るためのインタフェースを表示するように構成され得る。
ヘッドマウントディスプレイ1401は、プログラム命令を実行するプロセッサ1400を含む。メモリ1402は、格納目的で提供され、揮発性メモリ及び不揮発性メモリの両方を含むことができる。ユーザが見ることができる視覚インタフェースを提供するディスプレイ1404が含まれる。ヘッドマウントディスプレイ1401についての電源として、バッテリ1406が提供される。モーション検出モジュール1408は、磁力計1410、加速度計1412、及びジャイロスコープ1414などの、さまざまな種類のモーションセンシティブハードウェアのうちのいずれかを含むことができる。
加速度計は、加速度及び重力誘起反力を測定するデバイスである。単軸及び多軸モデルは、異なる方向における加速度の大きさ及び方向を検出するために利用可能である。加速度計を使用して、傾き、振動、及び衝撃を感知する。一実施形態では、3つの加速度計1412を使用して重力の方向が提供され、これにより、2つの角度(世界空間ピッチ及び世界空間ロール)の絶対基準が与えられる。
磁力計は、ヘッドマウントディスプレイ付近の磁場の強度及び方向を測定する。一実施形態では、3つの磁力計1410は、ヘッドマウントディスプレイ内で使用され、ワールド空間ヨー角度についての絶対基準を保証する。一実施形態では、磁力計は、±80マイクロステラの地磁場範囲を有するように設計される。磁気計は金属の影響を受け、実際のヨーに対して単調なヨー測定を提供する。磁場は環境内の金属により歪むことがあり、これによりヨー測定に歪みが生じる。必要に応じて、この歪みは、ジャイロスコープまたはカメラなどの他のセンサからの情報を用いて、較正することができる。一実施形態では、加速度計1412を磁力計1410と共に使用して、ヘッドマウントディスプレイ1401の傾斜角及び方位が取得される。
ジャイロスコープは、角運動量の原理に基づいて、向きを測定し、または向きを維持するためのデバイスである。一実施形態では、3つのジャイロスコープ1414は、慣性感知に基づいて、それぞれの軸(x、y、及びz)を横切る動きあるいは移動に関する情報を提供する。ジャイロスコープは、高速回転の検出に役立つ。ただし、ジャイロスコープは、絶対基準が存在しないと、経時的にドリフトする場合がある。これには、定期的にジャイロスコープをリセットする必要があり、これは、オブジェクトの視覚追跡、加速度計、磁力計などに基づく位置/向きの判定など、他の入手可能な情報を使用して行うことができる。
実環境の画像及び画像ストリームを取り込むためにカメラ1416が提供される。後向きのカメラ(ユーザがヘッドマウントディスプレイ1401のディスプレイを見ているときに、ユーザから離れる方向に向けられる)及び前向きのカメラ(ユーザがヘッドマウントディスプレイ1401のディスプレイを見ているときに、ユーザに向けられる)を含む、1つより多いカメラをヘッドマウントディスプレイ1401に含むことができる。さらに、実環境内のオブジェクトの奥行き情報を感知するために、デプスカメラ1418がヘッドマウントディスプレイ1401に含まれることができる。
一実施形態では、HMDの前面に統合されたカメラを使用して、安全に関する警告が提供され得る。例えば、ユーザが壁またはオブジェクトに接近している場合、ユーザに警告が与えられ得る。一実施形態では、この使用は、室内の物理的オブジェクトの輪郭図によって提供され、それらの存在をユーザに警告することができる。輪郭は、たとえば、仮想環境内のオーバーレイであってもよい。いくつかの実施形態では、HMDユーザは、床などにオーバーレイされる、基準マーカーへのビューが提供され得る。例えば、マーカーは、ユーザがゲームをプレイしている部屋のどこが中心であるかの基準をユーザに提供することができる。これは、例えば、ユーザが部屋の中で壁または他のオブジェクトに衝突することを回避するためにどこに動くべきかの視覚情報をユーザに提供することができる。また、ユーザがHMDを装着し、HMDを用いてゲームをプレイする、またはコンテンツをナビゲートするときに、さらなる安全性を提供するために、触覚警告及び/または音声警告をユーザに提供することができる。
ヘッドマウントディスプレイ1401は、音声出力を提供するスピーカ1420を含む。また、周囲環境からの音、ユーザによる発言などを含む実環境からの音声を取り込むために、マイクロフォン1422が含まれ得る。ヘッドマウントディスプレイ1401は、ユーザに触覚フィードバックを提供する触覚フィードバックモジュール1424を含む。一実施形態では、触覚フィードバックモジュール1424は、触覚フィードバックをユーザに提供するために、ヘッドマウントディスプレイ1401の動き及び/または振動を引き起こすことが可能である。
LED1426は、ヘッドマウントディスプレイ1401の状態の視覚的インジケータとして提供される。例えば、LEDは、バッテリレベル、電源オンなどを示し得る。ヘッドマウントディスプレイ1401がメモリカードからの情報を読み出し、メモリカードに情報を書き込むことを可能にするために、カードリーダ1428が提供される。周辺デバイスの接続、または他のポータブルデバイス、コンピュータなどの他のデバイスへの接続を可能にするインタフェースの一例として、USBインタフェース1430が含まれる。ヘッドマウントディスプレイ1401のさまざまな実施形態では、ヘッドマウントディスプレイ1401のより良い接続性を可能にするために、さまざまな種類のインタフェースのいずれかが含まれ得る。
無線ネットワーク技術を介してインターネットへの接続を可能にするために、Wi-Fiモジュール1432が含まれる。また、ヘッドマウントディスプレイ1401は、他のデバイスへの無線接続を可能にするために、ブルートゥース(登録商標)モジュール1434を含む。他のデバイスへの接続のために、通信リンク1436も含まれ得る。一実施形態では、通信リンク1436は、無線通信に赤外線伝送を利用する。他の実施形態では、通信リンク1436は、他のデバイスと通信するために、さまざまな無線または有線伝送プロトコルのいずれかを利用することができる。
ユーザに入力インタフェースを提供するために、入力ボタン/センサ1438が含まれる。ボタン、タッチパッド、ジョイスティック、トラックボールなどのさまざまな種類の入力インタフェースのうちのいずれかが含まれることができる。超音波技術を介した他のデバイスとの通信を促進するために、超音波通信モジュール1440は、ヘッドマウントディスプレイ1401に含まれることができる。
ユーザからの生理学的データの検出を可能にするために、バイオセンサ1442が含まれる。一実施形態では、バイオセンサ1442は、ユーザの皮膚を通してユーザの生体電気信号を検出するために、1つ以上の乾電極を含む。
3次元の物理的環境に配置されたエミッタ(例えば赤外線基地局)からの信号に応答するために、フォトセンサ1444が含まれる。ゲーム機は、フォトセンサ1444及びエミッタからの情報を分析して、ヘッドマウントディスプレイ1401に関連する位置及び配向情報を特定する。
さらに、視線追跡システム1446が含まれ、これは、ユーザの視線追跡を可能にするように構成される。例えば、システム1446は、ユーザの目の画像をキャプチャする視線追跡カメラを含むことができ、その後、キャプチャされた画像は、ユーザの視線方向を決定するために分析される。一実施形態では、ユーザの視線方向に関する情報を利用して、ビデオレンダリングに影響することができる。例えば、中心窩レンダリングによるより詳細な高解像度、中心窩領域に表示されるパーティクルシステム効果の高解像度、中心窩領域の外側に表示されるパーティクルシステム効果の低解像度、またはユーザが見ている領域のより高速な更新を提供することにより、視線方向の映像レンダリングは、優先され得るまたは強調され得る。
ヘッドマウントディスプレイ1401の前述の構成要素は、ヘッドマウントディスプレイ1401に含まれ得る単なる例示的な構成要素として説明されている。本開示のさまざまな実施形態では、ヘッドマウントディスプレイ1401は、上記の様々な構成要素の一部を含んでもよいし、または含まなくてもよい。ヘッドマウントディスプレイ1401の実施形態は、本明細書に記載されている本開示の態様を容易にするために、本明細書には記載されていないが、当技術分野で知られている、他の構成要素を追加的に含んでもよい。
当業者であれば、本開示のさまざまな実施形態において、前述のヘッドマウントデバイスがさまざまなインタラクティブ機能を提供するためにディスプレイ上に表示されるインタラクティブアプリケーションと併せて利用されることができることを理解するであろう。本明細書で説明される例示的な実施形態は、限定としてではなく、単に実施例として提供される。
本明細書に定義されるさまざまな実施形態が本明細書に開示されるさまざまな特徴を使用して特定の実施態様に組み合わされる、または組み立てられることができることを理解するであろう。したがって、提供される実施例は、さまざまな要素を組み合わせて、さらに多くの実施態様を定義することにより可能であるさまざまな実施態様に限定されず、いくつかの可能な実施例であるに過ぎない。いくつかの例では、いくつかの実施態様は、開示された、または均等な実施態様の趣旨から逸脱することなく、より少ない要素を含むことができる。
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサを用いる家庭用電化製品またはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含む様々なコンピュータシステム構成を用いて実施することができる。本開示の実施形態はまた、有線ベースまたは無線ネットワークを通ってリンクされる、遠隔処理デバイスによりタスクが実施される、分散型コンピューティング環境で実践されることが可能である。
方法動作は特定の順序で説明されたが、修正されたゲーム状態を生成するためにテレメトリ及びゲーム状態データの処理が所望の方法で実行される限り、他のハウスキーピング操作が動作の間に実行されることができる、または動作が、わずかに異なる時間に生じるように調整されることができる、若しくは処理に関連するさまざまな間隔で処理動作の発生を可能にするシステムに分散することができることを理解されたい。
また、1つ以上の実施形態は、コンピュータ可読媒体上のコンピュータ可読コードとしても具現化され得る。コンピュータ可読媒体は、データを記憶することができ、その後コンピュータシステムによって読み取ることができる任意のデータ記憶デバイスである。コンピュータ可読媒体の例には、ハードドライブ、ネットワーク接続ストレージ(NAS)、読み取り専用メモリ、ランダムアクセスメモリ、CD-ROM、CD-R、CD-RW、磁気テープ、ならびに他の光学式及び非光学式データ記憶デバイスが含まれる。コンピュータ可読媒体は、コンピュータ可読コードが分散方式で格納され、実行されるように、ネットワーク結合コンピュータシステム上に分散されるコンピュータ可読有形媒体を含むことができる。
前述の実施形態は、理解を明確にするためにある程度詳細に説明されたが、添付の特許請求の範囲内で特定の変更及び修正を実施できることは明らかであろう。したがって、本実施形態は例示的であって限定的ではないと見なされるべきであり、本実施形態は本明細書に記載された詳細に限定されるものではなく、添付の特許請求の範囲及び均等物の範囲内で修正され得る。