(57)【要約】  本発明の実施形態は、ビデオゲームプレビューを提供する。ビデオゲームプレビューは、ゲームサービスに関連付けられたゲームクライアント上またはゲームサーバ上で実行することができる。現行のプレビュー体験は、プレビュー体験を定義する中央プレビューファイルにクライアントまたはサーバをアクセスさせることによって維持される。プレビューは、環境に応じて、ゲームサービスによってまたはゲームクライアント上に提供可能である。一実施形態において、プレビュー用のゲームコードがクライアント上にローカルに存在する場合、クライアントはプレビューを提供する。ビデオゲームコードがゲームクライアントでローカルに使用できない場合、プレビューがゲームサービスによって生成されてゲームクライアントにストリーミングされるか、または、クライアントがプレビューを生成できるようにするためにコードがゲームクライアントにダウンロードされる。
2016515856.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイスによって実行された場合、ビデオゲームプレビューを提供する方法を実行する、具体化されたコンピュータ実行可能命令を有する１つまたは複数のコンピュータ記憶媒体であって、前記方法は、
ビデオゲームタイトルに関するプレビューを開始するための要求を受信すること、
前記プレビューがゲームクライアント上またはゲームサーバ上のいずれで生成されるかを決定すること、
前記プレビュー中に、フルビデオゲームタイトルのいずれの機能が使用可能であるかを定義する制約セットにアクセスすること、および、
前記制約セットによって制限される全機能型ビデオゲームに関するゲームコードを実行することによって、ユーザへの出力用に前記プレビューを生成すること、
を含む、媒体。
【請求項２】
前記方法が、前記プレビューを生成するために必要なコードが前記ゲームクライアント上で使用可能であるかどうかを決定することをさらに含む、請求項１に記載の媒体。
【請求項３】
前記方法が、前記プレビューを生成するために必要な前記コードが前記ゲームクライアント上で使用可能でないものと決定すると、前記ゲームクライアントと前記ゲームサーバとの間のネットワーク接続が最低のサービス品質を上回るかどうかを決定することをさらに含む、請求項２に記載の媒体。
【請求項４】
前記方法が、前記ゲームクライアントと前記ゲームサーバとの間の前記ネットワーク接続が前記最低のサービス品質を上回るものと決定すると、前記プレビューを前記ゲームサーバ上で実行すること、および前記プレビューを前記ゲームクライアントにストリーミングすることをさらに含む、請求項３に記載の媒体。
【請求項５】
前記方法が、前記ゲームクライアントと前記ゲームサーバとの間の前記ネットワーク接続が前記最低のサービス品質を上回らないものと決定すると、前記コードを前記ゲームクライアントにダウンロードすることをさらに含む、請求項３に記載の媒体。
【請求項６】
前記制約セットが前記ゲームサーバ上に記憶される、請求項１に記載の媒体。
【請求項７】
ゲームサービスで、ゲームタイトルをプレビューするための要求を受信すること、
前記ゲームタイトルに関するゲームコードとの組み合わせでゲームプレビューを生成するために使用される前記ゲームタイトルに関する制約セットを取り出すこと、および、
前記制約セットを要求者に通信すること、
を含む、ビデオゲームプレビューを提供する方法。
【請求項８】
前記要求がゲームクライアントから受信され、前記制約セットが前記ゲームサービスによって記憶される、請求項７に記載の方法。
【請求項９】
前記ゲームプレビューに関する前記制約セットを更新するための命令を受信すること、および、前記命令に従って前記制約セットを更新することをさらに含む、請求項８に記載の方法。
【請求項１０】
前記ゲームコードが、前記ゲームタイトルのフルバージョンを生成するように動作可能であり、前記制約セットが、前記ゲームタイトルの前記フルバージョンのすべてには満たない機能を復号する復号鍵を含む、請求項７に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
プレーヤは、ゲームのフルバージョンを購入する前にゲームのプレビューを希望する場合がある。店に行ってゲームまたは制限付きゲームをプレイすることで、ゲームをプレビューできる場合がある。ゲーム開発者は、ゲームコードを作成することによって、正規のゲームの一部ではない完全に別のプレビュー体験を作成することができる。たとえばプレビューは、実際のゲームプレイの一部ではない特別なレベルの可能性もある。この別個のプレビュー体験は、ダウンロードによってプレーヤに与えることもできる。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
本概要は、以下の詳細な説明でさらに説明する、簡略化された形の概念の選択を導入するために提供される。本概要は、請求される主題の主要な特徴または本質的特徴を識別することを意図しておらず、請求される主題の範囲を決定する際の補助として切り離して使用されることも意図していない。
【課題を解決するための手段】
【０００３】
本発明の実施形態は、ビデオゲームプレビューを提供する。ビデオゲームプレビューは、ゲームサービスに関連付けられたゲームクライアント上またはゲームサーバ上で実行することができる。いずれの場合も、ユーザは最新の同様のプレビュー体験を受け取る。現行のプレビュー体験は、プレビュー体験を定義する中央プレビューファイルにクライアントまたはサーバをアクセスさせることによって維持される。プレビューファイルは、ゲーム機能を実行可能にするゲームコードとは別個である。同じゲームコードを使用して、ゲームのフルバージョンおよびゲームのプレビューバージョンを作成することができる。
【０００４】
前述のように、プレビューは、環境に応じて、ゲームサービスによってまたはゲームクライアント上に提供可能である。一実施形態において、プレビュープロセスは、プレビューを実行すべきかどうかを決定することによって開始される。プレビュー用のゲームコードがクライアント上にローカルに存在する場合、プレビューファイルはゲームサービスからダウンロードまたはアクセスされ、プレビューを提供するために使用される。ビデオゲームコードがゲームクライアントでローカルに使用できない場合、プレビューはゲームサービスによって生成されてゲームクライアントにストリーミングされるか、または、ゲームクライアントがプレビューを生成できるようにするためにクライアントに通信される。プレビューは、ゲームサービスとゲームクライアントとの間のネットワーク接続の品質が指定されたしきい値を満たす場合に、ゲームサービスによって生成される。
【０００５】
プレビューは、ゲームクライアント上またはゲームサーバ上のいずれかで実行することに加え、プレビュー中に累積された成績の進捗をユーザが保存できるようにする。ユーザは、ゲームのフルバージョンを購入した場合、進捗を保持し、ユーザが中止した場所から再開することが可能な場合がある。一実施形態において、ユーザは、ゲームを購入した場合にのみ自分の成績を保持できる。
【０００６】
本発明の実施形態を、添付の図面を参照しながら以下で詳細に説明する。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態を実装するのに適した例示のコンピューティング環境のブロック図である。
【図２】本発明の実施形態に従った、オンラインゲーミング環境の図である。
【図３】本発明の実施形態に従った、ゲームプレビュー環境の図である。
【図４】本発明の実施形態に従った、ゲームプレビュー環境内での３つの異なるプレビューシナリオを示す図である。
【図５】本発明の実施形態に従った、ゲーミングサーバからゲーミングクライアントへのゲームプレイの移行を容易にする、ゲーミング環境内での通信を示すシーケンス図である。
【図６】本発明の実施形態に従った、クライアントゲーミングデバイスからサーバ配置ゲーミングサービスへのゲームの移行中に、ゲーミング環境内で発生する通信を示すシーケンス図である。
【図７】本発明の実施形態に従った、ビデオゲームプレビューを提供する方法を示すフローチャートである。
【図８】本発明の実施形態に従った、ビデオゲームプレビューを提供する方法を示すフローチャートである。
【図９】本発明の実施形態に従った、ビデオゲームプレビューを提供する方法を示すフローチャートである。
【発明を実施するための形態】
【０００８】
本発明の実施形態の主題は、本明細書において、法廷要件を満たすために特異性と共に説明される。しかしながら説明自体は、本特許の範囲を限定することは意図されていない。むしろ発明者等は、請求される主題が、他の現在または将来の技術に関連して、異なるステップまたは本書で説明されるステップと同様のステップの組み合わせを含むように、他の方法でも具体化可能であることを企図している。さらに「ステップ」および／または「ブロック」という用語は、本明細書では、使用される方法の異なる要素を含意するために使用可能であるが、この用語は、個々のステップの順序が明示的に記載されていない限り、および記載されている場合を除き、本明細書で開示された様々なステップ内またはステップ間の任意の特定の順序を示唆するものと解釈されるべきではない。
【０００９】
本発明の実施形態は、ビデオゲームプレビューを提供する。ビデオゲームプレビューは、ゲームサービスに関連付けられたゲームクライアント上またはゲームサーバ上で実行可能である。いずれの場合も、ユーザは最新の同様のプレビュー体験を受け取る。現行のプレビュー体験は、プレビュー体験を定義する中央プレビューファイルにクライアントまたはサーバをアクセスさせることによって維持される。
【００１０】
プレビューファイルは、ゲーム機能を実行可能にするゲームコードとは別個である。同じゲームコードを使用して、ゲームのフルバージョンおよびゲームのプレビューバージョンを作成することができる。プレビューを生成するデバイスは、プレビューファイルを使用して、プレビュー中にフルゲームのいずれの部分にアクセス可能であるかを決定する。一実施形態において、プレビューファイルは、フルゲームコードを部分的のみに復号するプレビュー復号鍵を含む。購入時、フルゲームに即時アクセスできるように、全復号鍵を提供することができる。
【００１１】
一実施形態において、中央データストアは、異なるゲームタイトルのためのプレビューファイルの集合を維持する。プレビューを生成するために、プレビューファイルにリアルタイムでアクセスする。ビデオゲームタイトルのための中央プレビューファイルを維持することで、プレビューファイルを定期的に更新することができる。たとえばユーザが、１人のユーザのみにアクセスできるプレビューに積極的に応答しない場合、複数プレーヤのプレビューシナリオを可能にするようにプレビューパラメータを変更することができる。プレビューパラメータはゲームサービスによって維持されるため、ゲームクライアント上でまたはゲームサーバによって、同じプレビューが提供される。
【００１２】
前述のように、プレビューは環境に応じて、ゲームサービスによってまたはゲームクライアント上で提供可能である。一実施形態において、プレビュープロセスは、どこでプレビューを実行すべきかを決定することによって開始される。決定の一部として、ビデオゲームを実行可能なコードがローカルに存在するかどうかを決定するために、ゲームクライアントがローカルに使用可能なローカルメモリまたはファイルが評価される。ゲームコードがローカルに存在する場合、プレビューはローカルに生成される。プレビューをローカルに生成するために、中央データストアからプレビューファイルがダウンロードされ、ローカルゲームコードと組み合わせてプレビューを提供するために使用される。プレビューファイルは、ゲームコードを部分的に復号することができる。
【００１３】
ビデオゲームコードがゲームクライアントでローカルに使用できない場合、プレビューがゲームサービスによって生成されてゲームクライアントにストリーミングされるか、または、クライアントがプレビューを生成できるようにするためにゲームクライアントにコードがダウンロードされる。プレビューは、ゲームサービスとゲームクライアントとの間のネットワーク接続の品質が指定のしきい値を満たす場合、ゲームサービスによって生成される。初期に、ゲームクライアントとゲームサーバとの間の接続の特徴が評価される。サービスの品質（「ＱＯＳ」）がしきい値を超える場合、プレビューはゲームクライアントにストリーミングされる。しきい値は、ネットワークＱＯＳがしきい値を超える待ち時間を生成するポイントとして確立することができる。一実施形態において、待ち時間しきい値は６０ミリ秒である。待ち時間しきい値はゲームによって異なる可能性がある。ゲームサービスまたはプレビューマネージャは、各ゲームが受け入れ可能な待ち時間しきい値の記録を記憶することができる。
【００１４】
ＱＯＳがしきい値を下回った場合、ビデオゲームコードがクライアントにダウンロードされる。ダウンロードされると、クライアントはゲームサービスからのプレビューファイルにアクセスし、プレビューを作成するために必要なゲームの部分を復号する。復号鍵と組み合わせてプレビューを作成するために使用される同じコードを使用して、全復号鍵を使用するゲームのフルバージョンを実行することができる。このように、同じコードが異なる復号鍵を使用してプレビューとフルゲームの両方を提供することができる。
【００１５】
ゲームクライアント上またはゲームサーバ上のいずれかで実行することに加えて、プレビューは、ユーザが進捗を保存し、プレビュー中に累積された成績を獲得できるようにする。ユーザは、ゲームのフルバージョンを購入した場合、自分の進捗を保持し、ユーザが中止した場所から再開することが可能である。一実施形態において、ユーザは、ゲームを購入した場合にのみ自分の成績を保持できる。
【００１６】
以上、本発明の実施形態の概要について簡単に説明してきたが、次に、本発明の実施形態を実装する際に使用するのに適した例示の動作環境について説明する。
【００１７】
例示の動作環境
図面を全体として、特に最初に図１を参照すると、本発明の実施形態を実装するための例示の動作環境が示され、全体としてコンピューティングデバイス１００と指定されている。コンピューティングデバイス１００は好適なコンピューティング環境の単なる一例であり、本発明の使用範囲または機能性に関するいかなる制限をも示唆することは意図されていない。コンピューティングデバイス１００は、図示された構成要素のうちのいずれか１つまたはそれらの組み合わせに関するいかなる依存性または要件をも有するものと解釈されるべきではない。
【００１８】
本発明は、携帯情報端末または他のハンドヘルドデバイスなどのコンピュータまたは他のマシンによって実行される、プログラム構成要素などのコンピュータ実行可能命令を含む、コンピュータコードまたはマシン使用可能命令との一般的な関連において、説明することができる。一般に、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含むプログラム構成要素は、特定のタスクを実行するかまたは特定の抽象データ型を実装するコードを指す。本発明の実施形態は、ハンドヘルドデバイス、家庭用電子機器、汎用コンピュータ、特定用途向けコンピューティングデバイスなどを含む、様々なシステム構成で実施可能である。本発明の実施形態は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散コンピューティング環境でも実施可能である。
【００１９】
さらに図１を参照すると、コンピューティングデバイス１００は、メモリ１１２、１つまたは複数のプロセッサ１１４、１つまたは複数のプレゼンテーション構成要素１１６、入力／出力（I/O）ポート１１８、Ｉ／Ｏ構成要素１２０、および例示の電源１２２というデバイスを、直接または間接的に結合するバス１１０を含む。バス１１０は、（アドレスバス、データバス、またはそれらの組み合わせなどの）１つまたは複数のバスであってよい。図１の様々なブロックは、明確にするために線で示されているが、実際には、様々な構成要素の線引きはそれほど明確ではなく、隠喩的に言えば、より正確には線はグレーかつ曖昧である。たとえば、ディスプレイデバイスなどのプレゼンテーション構成要素は、Ｉ／Ｏ構成要素１２０とみなすことができる。さらに、プロセッサはメモリを有する。本願の発明者等は、こうしたことが当技術分野の性質であることを理解し、図１が本発明の１つまたは複数の実施形態に関連して使用可能な例示のコンピューティングデバイスの単なる例であることを繰り返し述べている。「ワークステーション」、「サーバ」、「ラップトップ」、「ハンドヘルドデバイス」などは、すべてが図１の範囲内で企図され、「コンピュータ」または「コンピューティングデバイス」と呼ばれるため、カテゴリ間で区別されない。
【００２０】
コンピューティングデバイス１００は、典型的には、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピューティングデバイス１００によるアクセスが可能であり、揮発性および不揮発性の媒体、取り外し可能および取り外し不可の媒体の、両方を含む、任意の使用可能媒体とすることができる。例を挙げると、コンピュータ可読媒体はコンピュータ記憶媒体および通信媒体を含むことができるが、これらに限定されない。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実装される、揮発性および不揮発性、取り外し可能および取り外し不可の、両方の媒体を含む。
【００２１】
コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、または他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（DVD）、または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気記憶デバイスを含む。コンピュータ記憶媒体は、伝搬データ信号を含まない。
【００２２】
通信媒体は、典型的には、搬送波または他の移送機構などの変調データ信号内に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを具体化し、任意の情報送達媒体を含む。「変調データ信号」という用語は、信号内に情報を符号化するような様式で、その特徴のうちの１つまたは複数を設定または変更した信号を意味する。例を挙げると、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに、音波、ＲＦ、赤外線、および他の無線媒体などの、無線媒体を含むが、これらに限定されない。上記のいずれかの組み合わせは、コンピュータ可読媒体の範囲内にも含まれるものとする。
【００２３】
メモリ１１２は、揮発性および／または不揮発性のメモリの形のコンピュータ記憶媒体を含む。メモリ１１２は、取り外し可能、取り外し不可、またはそれらの組み合わせとすることができる。例示のメモリは、ソリッドステートメモリ、ハードドライブ、光ディスクドライブなどを含む。コンピューティングデバイス１００は、バス１１０、メモリ１１２、またはＩ／Ｏ構成要素１２０などの、様々なエンティティからデータを読み取る、１つまたは複数のプロセッサ１１４を含む。プレゼンテーション構成要素１１６は、ユーザまたは他のデバイスにデータ指示を提示する。例示のプレゼンテーション構成要素１１６は、ディスプレイデバイス、スピーカ、印刷構成要素、振動構成要素などを含む。Ｉ／Ｏポート１１８は、そのうちのいくつかが埋め込み可能なＩ／Ｏ構成要素１２０を含む他のデバイスに、コンピューティングデバイス１００をローカルに結合させることができる。例示のＩ／Ｏ構成要素１２０は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送用パラボラアンテナ、スキャナ、プリンタ、無線デバイスなどを含む。
【００２４】
例示のオンラインゲーミング環境
次に図２に進むと、本発明の実施形態に従ったオンラインゲーミング環境２００が示されている。ゲームプレビューを環境２００内に提供することができる。オンラインゲーミング環境２００は、ネットワーク２２０を介してゲームサービス２３０に接続された、様々なゲームクライアントを含む。例示のゲームクライアントは、ゲームコンソール２１０、タブレット２１２、およびパーソナルコンピュータ２１４を含む。スマートフォンなどの他のゲームクライアントも使用可能である。ゲームコンソール２１０は、通信可能に結合された１つまたは複数のゲームコントローラを有することができる。一実施形態において、タブレット２１２は、ゲームコンソール２１０またはパーソナルコンピュータ２１４に対する入力デバイスとして働くことができる。別の実施形態において、タブレット２１２はスタンドアロン型ゲームクライアントである。ネットワーク２２０は、インターネットなどのワイドエリアネットワークとすることができる。
【００２５】
ゲームサービス２３０は、互いに通信可能に結合された複数のコンピューティングデバイスを含む。一実施形態において、ゲームサービス２３０は１つまたは複数のサーバファームを使用して実装される。サーバファームは、世界中の都市を含む様々な地理的領域にわたって広げることができる。このシナリオでは、ゲームクライアントは最も近いサーバファームに接続可能である。本発明の実施形態は、このセットアップに限定されない。
【００２６】
ゲームサービス２３０は、ゲームサービス２３０によって提供されるコンピューティングデバイス内でゲームを実行させることができる。ゲームサービスとゲームクライアントとの間の通信セッションが入力トラフィックをゲームサービス２３０へと搬送し、レンダリングされたゲームイメージを戻す。この実施形態において、ゲームサービスの一部であるコンピューティングデバイスが、様々なゲームクライアントに関連付けられた入力デバイスによって生成される制御ストリームを使用して、ビデオゲームコードを実行する。レンダリングされたビデオゲームは、その後ネットワークを介してゲームクライアントに通信され、ここでレンダリングされたゲームが表示用に出力される。
【００２７】
ゲームサービスは、同様にプレビューを提供することができる。制御入力がクライアントによって提供され、ゲームコードがサーバによって実行された後、レンダリングされたゲームイメージがクライアントに通信される。クライアントは、以下で説明するように、プレビューファイルを使用してプレビューを生成することもできる。
【００２８】
ゲーム移行のための例示のゲームクライアントおよびゲームサービス
次に図３に進むと、本発明の実施形態に従った、例示のゲームプレビュー環境３００が示されている。ゲームプレビュー環境３００は、ネットワーク３３０を介してゲームサーバ３４０に通信可能に結合されるように示されたゲームクライアント３１０を含む。一実施形態において、ネットワークはインターネットとすることができる。ゲームクライアント３１０は、第１のゲーム入力デバイス３１２、第２のゲーム入力デバイス３１４、およびディスプレイ３１６に接続される。例示のゲーム入力デバイスは、ゲームパッド、キーボード、マウス、タッチパッド、タッチスクリーン、音声コマンドを受信するためのマイクロフォン、デプスカメラ、ビデオカメラ、キーボード、およびトラックボールを含む。本発明の実施形態は、これらの入力デバイスに限定されない。ディスプレイデバイス３１６は、ビデオゲームコンテンツを表示することができる。たとえば、ディスプレイ３１６はテレビジョンまたはコンピュータスクリーンとすることができる。別の実施形態において、ディスプレイ３１６はゲームクライアント３１０と一体化したタッチスクリーンである。
【００２９】
ゲームクライアント３１０は、ビデオゲームを実行できるコンピューティングデバイスである。ゲームクライアント３１０は、タブレットまたはラップトップコンピュータとすることができる。別の実施形態において、ゲームクライアント３１０はゲームコンソールであり、ディスプレイ３１６はゲームコンソールに通信可能に結合されたリモートディスプレイである。ゲームクライアント３１０は、動作環境３２０、ゲーム移行構成要素３２１、ゲーム実行環境３２２、ゲームデータストア３２４、ゲームサービスクライアント３２６、ゲームプレビュー構成要素３２７、およびプレーヤプロファイルデータストア３２８を含む。
【００３０】
動作環境３２０は、ハードウェアを管理し、ゲームクライアント３１０上で実行するアプリケーションにサービスを提供する、オペレーティングシステムによって提供可能である。動作環境は、ゲーム移行の一部として、異なるアプリケーションにクライアントリソースを割り振ることができる。たとえば動作環境は、ゲームプレイがゲームクライアント３１０に移行されるとディスプレイの制御を、ゲーム実行環境３２２に与えることができる。
【００３１】
ゲーム移行構成要素３２１は、クライアント３１０によって実行されるゲーム移行機能を管理する。ゲーム移行構成要素３２１は、クライアント３１０からゲームサーバ３４０へのゲームプレイの移行を開始することができる。ゲーム移行構成要素３２１は、ゲームサーバ３４０からクライアント３１０へのゲームプレイの移行に参加することもできる。ゲーム移行構成要素３２１は、ゲームサーバ３４０へのゲームセッションの移行を要求するためにゲームサーバ３４０上で実行しているゲームサービスと通信することができる。要求は、要求が関連付けられた特定のゲーム、ならびに、ゲーム実行環境３２２内で実行している場合は現在のゲームの状態を含むことができる。ゲームプレイは、サーバからの命令の受信またはトリガイベントの検出に応答して、移行することができる。ゲーム移行構成要素３２１は、トリガイベントを検出することができる。
【００３２】
いくつかのトリガイベントが可能である。部分的にダウンロードされたゲームの終わりに達することが、ゲームの次の部分がクライアント上でのプレイに利用できるまでプレイをサーバ３４０へ移動させるトリガである、といういくつかのシナリオが存在する。１つのシナリオでは、ユーザは、ユーザが１から３のレベルまでプレイできるようにするブロックなどのブロック単位で、ゲームの第１の部分をダウンロードする。ユーザがレベル３の終わりに近づき、次のブロックがダウンロードされていないと、トリガイベントを認識することができる。レベル３の終わりに達したときに、ユーザがサーバ上でレベル４をプレイできるようにするために、ゲーム移行が発生することになる。
【００３３】
別の実施形態では、ゲーム購入イベントがトリガである。ゲームのプレビュー部分が終了し、ゲームの残りの部分が第１にダウンロードされていない場合、ゲームのフルバージョンを購入すると当時に、ゲームプレイはゲームクライアント３１０からサーバ３４０へと移行することができる。別のシナリオでは、ゲームコンソールに完全にダウンロードされているゲームであっても、サーバによってのみ提供されるゲーム体験またはレベルを有する場合がある。たとえばゲームは、非常に大きく、サーバ上でのみ使用可能な最終レベルを有する場合がある。
【００３４】
ゲーム実行環境３２２は、ゲームまたはゲームプレビューのインスタンスを実行するために必要な、クライアント３１０上のゲーミングリソースを含む。ゲーム実行環境３２２は、コンピューティングおよびビデオ処理と共にアクティブメモリを含む。ゲーム実行環境３２２はゲーミングコントロールを受信し、そのプログラミングに従ってゲームを操作および進捗させる。一実施形態において、ゲーム実行環境３２２は、ディスプレイ３１６に通信されるレンダリングされたビデオストリームを出力する。
【００３５】
ゲームデータストア３２４は、ダウンロードされたゲーム、ゲームプレビュー、および部分的にダウンロードされたゲームを記憶する。ゲームは、プレイ可能ブロック単位でダウンロードすることができる。たとえば第１のプレイ可能ブロックは、プレーヤが第１のレベルをプレイ可能にすることができる。ゲームまたはプレビューをクライアント３１０上でプレイするために、ゲームデータストア３２４からゲーム実行環境３２２に関連付けられたアクティブメモリ内に、ゲームをロードする必要がある。
【００３６】
ゲームサービスクライアント３２６は、サーバ３４０上で実行しているゲームサービスから受信したレンダリングされたビデオゲームイメージを表示する、クライアントアプリケーションである。ゲームサービスクライアント３２６は、ゲーム入力を処理し、これを、サーバ３４０に通信される容易にアップロード可能な形式に変更することもできる。ゲームサービスクライアント３２６は、サーバ３４０から受信したレンダリングされたビデオゲームイメージを、ディスプレイ３１６用に最適化されたサイズにスケーリングすることもできる。
【００３７】
ゲームプレビュー構成要素３２７は、ゲームプレビューに関するクライアント側機能を容易にする。たとえば、プレビュー構成要素３２７は、プレビューマネージャ３４１からプレビューファイルを取り出すことができる。プレビュー構成要素３２７は、プレビュー満了に関するデジタル権管理を強化することができる。
【００３８】
プレーヤプロファイルデータストア３２８は、個々のゲームに関するプレーヤプロファイル情報を記憶する。プレーヤプロファイル情報は、プレビューを含む個々のゲームに関するツームストーンまたはゲーム保存データを保存することもできる。このプレーヤプロファイルデータまたはゲーム進捗データは、ゲーム移行プロセスおよびゲームプレビュープロセスの一部として、前方や後方へ通信することができる。たとえば、ゲームがサーバ３４０からゲームクライアント３１０へ移行される場合、ゲーム保存ファイルまたはツームストーンをゲームクライアント３１０に通信することができる。ゲーム保存ファイルおよびツームストーンの両方が、ゲームの進捗を記録する。次いで、ゲーム実行環境３２２は、サーバ上でプレーヤが中止した場所からゲームを開始するために、ゲーム保存データを読み取る。ゲームプレイがクライアントからサーバへ移行する場合、ゲーム保存データおよびプレーヤプロファイル情報がゲームクライアント３１０からサーバ３４０へアップロードされるという、反対のシナリオも可能である。
【００３９】
プレーヤプロファイルデータストア３２８は、ゲームプレビュー用にゲーム進捗を保存することができる。これによってユーザは、中止した場所でプレビューセッションを続行することができる。加えて、ゲームのフルバージョンを購入した場合、これに進捗を適用させることができる。したがってプレーヤは、プレビューのプレイに費やした時間を基に、何らかのプレーヤの強さまたは成績から開始することができる。いくつかのゲームサービスによって、プレーヤは、ゲームをプレイしながらポイントまたは成績を獲得することもできる。これらのポイントは、個々のタイトルまたは複数のタイトルにわたって、プレーヤの総合ランキングに入れることができる。加えてポイントは、ディスカウントの受信、またはある機能へのアクセス権の提供に使用することができる。一実施形態において、成績は、プレビュー購入時にのみプレーヤに与えられる。
【００４０】
ゲームサーバ３４０は、プレビューマネージャ３４１、接続マネージャ３４２、プレーヤプロファイルデータストア３４４、ゲーム移行マネージャ３４６、ゲーム実行環境３４８、ゲームデータストア３５０、ゲームマネージャ３５２、およびゲームプロモーションマネージャ３５４を含む。ゲームサーバ３４０は単一ボックスとして示されているが、多数のマシンを含むサーバファーム、またはいくつかのサーバファームとすることが可能である。
【００４１】
プレビューマネージャ３４１は、プレビュー体験を定義するプレビューファイルを、生成、記憶、および配布する。プレビューファイルは、ゲームサーバ３４０内で内部的に、またはゲームクライアント３１０へ外部的に、配布することができる。加えてプレビューマネージャ３４１は、開発者または他者がプレビューファイルを生成または修正できるようにするインターフェースを提供することができる。プレビューマネージャの機能については、図４を参照しながらより詳細に説明する。
【００４２】
接続マネージャ３４２は、クライアント３１０とサーバ３４０との間の接続を構築する。接続マネージャ３４２は、サーバ３４０によって提供されるゲームサービスへのアクセスをユーザが許可されることを保証するために、様々な認証機構を提供することもできる。接続マネージャ３４２は、接続内で使用可能な帯域幅を分析し、ゲームプレイの質が低下しないことを保証するために、ゲームプレイ中にゲームのダウンロードを抑制することもできる。
【００４３】
プレーヤプロファイルデータストア３４４は、プレーヤ情報を構築および記憶するために、接続マネージャ３４２と共に働くことができる。プレーヤプロファイルの一部は、プレーヤの名前、住所、およびクレジットカード情報などの、人口統計および金融の情報、あるいは、ゲームサービスによって提供されるゲームおよび体験に対しての支払いまたはそれらの購入のための他の機構を含むことができる。
【００４４】
加えて、プレーヤプロファイルデータストア３４４は、個々のゲーム内でのプレーヤの進捗を記憶することができる。プレーヤがゲームまたはゲームプレビューを進めるにつれて、プレーヤのゲームレベルに対するスコアおよびアクセスを記憶することができる。さらに、プレーヤプロファイルデータストア３４４は、言語選択などの個々のプレーヤ選択に関する情報を記憶することができる。プレーヤのゲームクライアントおよびネットワーク接続の速度に関する情報を、ゲーミング体験を最適化するために記憶および使用することもできる。たとえば一実施形態において、地理的に近接するサーバファームがビジーな場合、より待ち時間の長いインターネット接続を備えるプレーヤが近接するサーバファームに優先的に接続され、より待ち時間の短い接続を備えるプレーヤがさらに遠いサーバファームに接続される可能性がある。このように、追加の待ち時間を処理することが可能な最良のネットワーク接続を備えるプレーヤは、その位置によって追加の待ち時間を生成するサーバファームに接続される。
【００４５】
プレーヤプロファイルデータストア３４４は、個々のプレーヤに関する利用履歴を記憶することもできる。ゲームの購入、ゲームのサンプリング、またはゲームの購入を要求しないゲームサービスを介したゲームのプレイの、プレーヤの履歴を、記憶することができる。個々のプレーヤが関心を示すゲームを示唆するために、利用情報を分析することができる。一実施形態において、購入履歴は、ゲームサービスを介して購入されないゲームを含むことができる。たとえば購入履歴は、小売店で購入したゲームからキーを入力するプレーヤによって増補される場合がある。いくつかの実施形態において、プレーヤは、自分のゲームクライアント３１０上、およびそれらがもはや自分のゲームクライアントでない場合はゲームサービスを介する、両方のゲームへのアクセス権を有することができる。
【００４６】
ゲーム移行マネージャ３４６は、サーバ３４０からクライアント３１０へのゲームプレイの移行を管理し、クライアント３１０からサーバ３４０へのゲームプレイの移行を助けることができる。ゲーム移行構成要素３２１の場合と同様に、ゲーム移行マネージャ３４６はトリガイベントを検出し、これに応答してゲーム移行を開始することができる。前述のトリガイベントに加えて、現在サーバ３４０上で実行されているゲームに関するコードを含むゲームブロックの正常なダウンロードは、サーバ３４０からクライアント３１０へのゲーム移行を開始できるトリガイベントである。たとえばユーザは、サーバ上で実行している第１のゲームをプレビューすることができる。ゲーム移行マネージャ３４６（または他の構成要素）は、ゲームの第１の部分をプレビューするために必要なデータのブロックをクライアントに通信する。このデータのブロックが正常にダウンロードされると、サーバ３４０からクライアント３１０へプレビューを移行するための命令を送信することができる。ゲームプレビューが正常に移行されると、サーバ上でゲームをプレイするために以前に使用された帯域幅は、ゲームプレビューの残り部分をクライアント３１０にダウンロードするため、または異なるゲームのダウンロードを開始するために、専用化することができる。
【００４７】
ゲーム実行環境３４８は、ゲームのインスタンスを実行するために必要なゲーミングリソースを含む。これらは、ゲームマネージャ３５２および他の構成要素によって管理される前述のリソースである。ゲーム実行環境３４８は、コンピューティングおよびビデオ処理と共に、アクティブメモリを含む。ゲーム実行環境３４８は、Ｉ／Ｏチャネルを介してゲーミングコントロールを受信し、そのプログラミングに従ってゲームを操作および進行させる。一実施形態において、ゲーム実行環境３４８は、ゲームクライアントに通信されるレンダリングされたビデオストリームを出力する。他の実施形態では、ゲーム実行環境３４８は、ゲーミングビデオをレンダリングするためにゲーミングクライアント上のローカルオブジェクトと組み合わせることが可能な、ゲームジオメトリまたは他の表現を出力する。
【００４８】
ゲームデータストア３５０は、使用可能なゲームを記憶する。ゲームはデータストアから取り出し、アクティブメモリを介して起動することができる。ゲームデータストア３５０は、受動または２次メモリとして説明することができる。一般に、ゲームはゲームデータストア３５０からプレイすることはできない。しかしながらいくつかの実施形態では、２次メモリを仮想メモリとして使用することが可能であり、この場合、ゲームデータストア３５０の一部がアクティブメモリとして働くこともできる。これは、アクティブメモリが必ずしも特定のハードウェア構成要素によって定義されず、ゲームを実行するためにメモリ内のオブジェクトを積極的に操作しアクセスする、ゲームリソースの能力によって定義されることを示す。
【００４９】
ゲームマネージャ３５２は、アクティブなゲームおよびプレビューへのプレーヤの接続を管理する。一実施形態において、ゲームサービスを介して使用可能な各ゲームに対する個別のゲームマネージャが存在する。単一のゲームを例に挙げると、ゲームマネージャはプレーヤを要求されたゲーム内にドロップする。ゲームマネージャ３５２は、アクティブなゲームも管理する。一実施形態において、プレーヤはゲームマネージャ３５２を介してゲームに接続することができる。言い換えれば、ゲームマネージャ３５２は、個々のゲームインスタンス間の通信および接続に対するゲートキーパーとして機能することができる。プレーヤがゲームからドロップアウトする場合、プレーヤの進捗を取り出して、プレーヤプロファイルデータストア３４４内のプレーヤのプロファイルに保存するための命令を、ゲームマネージャに送ることができる。プレーヤがゲームからドロップアウトすると、ゲームマネージャ３５２によってゲームをシャットダウンすることができる。
【００５０】
ゲームプロモーションマネージャ３５４は、プレビューファイルと組み合わせてプレビューを生成するために使用可能なゲームのブロックを、ゲームクライアント３１０に先制的にダウンロードする。ゲームブロックは、フルゲームの第１の部分または特別に設計されたデモとすることができる。いずれの場合も、ゲームプロモーションマネージャ３５４は、プレーヤの見込みあるゲームへの関心を識別し、ゲームクライアント３１０にダウンロードするために関連するゲームを選択することができる。ダウンロードされると、ゲームプレビューをプレイできることをユーザに通知することができる。ゲームプレイ中にゲームを購入するオプションをユーザに与えることが可能であり、これは移行のためのトリガイベントであり得る。購入されると、ゲームの残りの部分をダウンロードし、必要であれば、ダウンロードの実行中にユーザをゲームのフルサーババージョンに移行させることが可能である。
【００５１】
次に図４に進むと、本発明の実施形態に従った、プレビュー機能を備えるリモートゲーミング環境４００が示されている。環境４００は、ゲームコンソール４１０、４１２、および４１４を含む。ゲームコンソールはネットワーク４２０を介してゲームサービス４３０に接続される。ゲームサービス４３０は、図３を参照しながら前述したゲームサーバ３４０と同様とすることができる。同様に、ゲームコンソールは、図２および３を参照しながら前述したゲームコンソールと同様とすることができる。
【００５２】
ゲームサービス４３０は、プレビューファイルデータストア４３２を含む。４つの異なるゲームについて４つの異なるプレビューファイルが示されている。一実施形態において、各ゲームタイトルはそれ自体のプレビューファイルを有する。プレビューファイルはゲームＡプレビューファイル４３３、ゲームＢ用のプレビューファイル４３４、ゲームＣ用のプレビューファイル４３６、およびゲームＤ用のプレビューファイル４３８を含む。図示されていないが、各ゲームは、特定のプロファイルに適合するユーザを合致させるために生成される、複数のプレビューファイルを有することができる。たとえば、第１のプレビューファイルはプレイをウィザードアバターに限定し、第２のプレビューファイルはプリンセス戦士に限定することができる。プレーヤが最も関心を示す可能性のあるキャラクターを実行可能にするプレビューファイルを使用して、プレーヤに対するプレビューを生成することができる。プレーヤはプレビューシナリオを選択することも可能であるが、選択すると、選択されたアバターに限定されることになる。
【００５３】
ゲームサービス４３０は、プレビューマネージャ４４０、ゲームデータストア４４２、およびゲーム実行環境４４６も含む。プレビューマネージャ４４０は、前述のプレビューマネージャ３４１および後で説明する方法９００と同様とすることができる。すなわちプレビューマネージャ４４０は、プレビューファイルを管理すること、および、プレーヤのプレビュー体験を容易にすることに関する他のタスクを実行することに対して、責務を負う。たとえばプレビューマネージャ４４０は、プレビューがサーバまたはクライアントによって生成されるべきであるかどうかを判別することができる。
【００５４】
ゲームデータストア４４２は、図３を参照しながら前述したゲームデータストア３５０と同様とすることができる。ゲームデータストア４４２は、ゲームサービス４３０上で使用可能なビデオゲームタイトルに関する実行可能コードのコピーを記憶する。ゲームインスタンスがゲーム実行環境４４６内で実行されるため、個々のタイトルに関するビデオゲームコードには、ゲームデータストア４４２からアクセスすることができる。ゲーム実行環境４４６は、前述のゲーム実行環境３４８と同様とすることができる。ゲーム実行環境４４６は、ゲームサービスによって実行され、ある環境内のゲームクライアントにストリーミングされる、ゲームプレビューを生成する。
【００５５】
ゲームプレビューを生成するために、ゲーム実行環境４４６は、要求されたビデオゲームタイトルに関するゲームコードをゲームデータストア４４２から取り出す。この場合、ゲームＣに関するビデオゲームコード４５２は、ゲームデータストア４４２からゲーム実行環境４４６に通信されるように示されている。ゲームコード４５２はアクティブメモリ内にロードされ、ゲーム実行環境４４６に通信されるプレビューファイル４５０と組み合わせて、プレビュー体験を作成するために実行および使用することができる。プレビューファイル４５０は、ビデオゲームタイトルＣにも関する。前述のように、プレビューファイル４５０は、ビデオゲームコードを部分的にロック解除する復号鍵とすることができる。ビデオゲームの異なる態様をロック解除して、プレビュー体験を作成することができる。一般に、全体には満たないビデオゲームがロック解除される。代替として、ビデオゲームは完全にロック解除されるが期間が限定され、この場合、プレビューファイルは指定期間後に満了する復号鍵を含むことができる。
【００５６】
前述のように、プレビューは少なくとも３つの異なる方法で提供可能である。３つの異なる例示のプレビューシナリオは、ゲームコンソールを用いて図示されている。プレビューマネージャ４４０または前述のゲームプレビュー構成要素３４７は、実装するシナリオを選択することができる。
【００５７】
一実施形態において、プレビューはゲームクライアント上で実行する。ゲームプレビューを実行させるために、クライアントはゲームコードにアクセスする必要がある。ゲームコンソール４１０は、ゲームＡ用のコード４１１と共に示されている。ゲームコード４１１は、ゲームＡのフルバージョンを実行するために必要な全ゲームコードとすることができる。代替として、コード４１１はゲームコードの第１のチャンクとすることができる。コード４１１は、プレーヤが関心を持つ可能性のあるゲームに関するゲームコードを先制的にダウンロードするプレビュー管理プログラムの一部として、予めダウンロードしておくことができる。フルゲームコードをダウンロードすることによって、購入した場合、プレーヤはクライアント上のゲームに即時アクセスすることができる。
【００５８】
初期にダウンロードされたときに、ゲームコード４１１を暗号化することが可能であり、プレーヤがゲームコンソール４１０上でゲームを体験するために復号鍵が使用される。図を見ればわかるように、プレビューファイル４５０はゲームコンソール４１０に通信される。プレビューファイル４５０は、ゲームコード４１１と組み合わせてプレビュー体験を作成することが可能な復号コードを含むことができる。プレビューファイル４５０はプレビュー中に、ビデオゲームタイトルの全体には満たない機能を使用可能にする。同じプレビューファイルのコピーが、クライアントおよびサーバ生成の両方のプレビューで使用されることに留意されたい。
【００５９】
第２のプレビューシナリオが、ゲームコンソール４１２によって示されている。第２のシナリオでは、ゲームプレビューはレンダリングされたイメージパケット４６０としてゲームコンソール４１２にストリーミングされる。レンダリングされたイメージパケット４６０は、ゲーム実行環境４４６内で生成される。図示されていないが、ゲームコンソール４１２からの制御データは、ゲームプレビューが実行しているゲームサービス４３０に通信される。本発明の実施形態は、ネットワーク接続がサービス品質のしきい値を超えたときに、ゲームプレビューをストリーミングする。サービス品質は、異なるゲームの異なるポイントで設定可能である。ＱＯＳを決定するときに、接続のいくつかの特徴を測定することができる。例示の特徴は、ドロップされるパケットレート、ジッター、ビットレート、Ｗｉ−Ｆｉ信号強度、および待ち時間を含む。異なるゲームが、ＱＯＳに対する異なる感度レベルを有する。異なるゲームが異なるＱＯＳしきい値を有し、異なるＱＯＳ特徴またはＱＯＳ特徴の組み合わせを使用してしきい値を定義することができる。たとえばサービス品質しきい値は、接続が加える待ち時間が、プレビュー体験を明らかに低下させるほどには満たない場合にのみ、プレビューがストリーミングされるように設定することができる。待ち時間しきい値は、各ゲームについて異なることが可能である。
【００６０】
第３のプレビューシナリオはゲームコンソール４１４上に示されており、ゲームまたはゲームの一部を、プレビューファイル４５０と組み合わせて実行されるゲームコンソール４１４にダウンロードすることである。プレビューファイル４５０は、部分復号鍵として機能するプレビュー復号鍵を含むことができる。ビデオゲームを購入すると、フルゲームプレイ用の同じゲームコードをロック解除するために、全復号鍵が使用される。
【００６１】
プレビューマネージャ４４０は、プレビューファイルの更新も容易にすることができる。開発者または他の認可エンティティは、プレビュー性能を向上させるためにプレビューファイルを更新することによって、必要に応じてプレビューシナリオを変更することができる。たとえば、プレーヤがプレビューをプレイした後にゲームを購入しない場合、更新することができる。
【００６２】
プレビューファイルは多くの異なるプレビューシナリオを提供することができる。一実施形態において、プレビューシナリオは時間ベースである。たとえば復号鍵は、２時間、８時間、２４時間、または他の時間だけ働き、その後、ユーザはプレビューを使用できなくなることが可能である。このシナリオでは、時間ベースのプレビューが進行している間、ユーザは他のすべてのゲーム機能を使用することができる。
【００６３】
別のプレビューシナリオは、プレーヤをあるレベルに制限する。各レベルについて、ユーザは、そのレベルで使用可能な他のすべてのゲーム機能を使用することができる。本発明の実施形態は、「レベル」という用語をゲーム環境として定義する。レベルは、「レベル」を有するゲーム内の特定のレベルに適用可能であるが、マップ、トラック、フィールド、都市、または、アクセスをゲームの一部のみに制限する他のシナリオにも適用可能である。
【００６４】
別の実施形態において、アバター限定プレビューが提供される。これによって、プレーヤは、限定数のアバターの観点からゲームをプレイすることができる。一実施形態において、ユーザがプレイ可能なアバターは、特定ユーザの認識される関心に対して特別に選択される。代替の実施形態において、プレーヤはいずれのアバターが復号されるかを選択できるが、プレビュー中のこの選択に縛られる。さらに他の代替では、プレーヤはアバターを限定回数切り替えることができるが、フルゲーム中に使用可能なすべてのアバターに自由にアクセスすることはできない。本発明の実施形態において、アバターは、ゲームプレイ中にユーザによって制御されるキャラクター、チーム、車、または船とすることができる。
【００６５】
一実施形態において、プレビュー体験は敵対者ベースである。敵対者ベースのプレビュー体験によって、ユーザは、ゲーム中にユーザによって制御されないが、ユーザによって制御されるアバターが対話する、限定数のキャラクター、チーム、キャラクタークラス、車、船、または他の敵対者に対してプレイすることができる。
【００６６】
ミッションベースのプレビュー体験によって、ユーザは、世界中のあるミッションのみを完了することができる。ミッション内で、ユーザは、ミッションに関連付けられたすべてのアバターおよびアイテムにアクセスし、ミッションに関連付けられたすべての敵対者と競争することができる。
【００６７】
別の実施形態において、プレビューシナリオはターンベースである。ターンベースのシナリオはターンベースのゲームで価値があり、ユーザはＸ回のターンについてプレイすることができる。プレビューの更新の一部として、プレビュー体験を調整するためにターンの数を修正することができる。
【００６８】
別の実施形態において、プレビュー体験はゲームベースである。これによってプレーヤは、プレビュー体験を終了する前にＸ個のゲームをプレイすることができる。ゲームは、プレーヤが死んで最初からやり直さなければならないときに、終了することができる。これによってプレーヤは、ゲーム内である数の命を有効に有することができる。いくつかのゲームでは、プレビュー中にゲームを完了できる場合があるが、目標はより高いスコアを獲得することであり、ユーザは、プレビューパラメータファイルによって決定されたＸ回数だけゲームをプレイすることができる場合がある。たとえばユーザは、プレイを続行したい場合はゲームを購入するように強制されるまで、指定回数だけカードゲームをプレイすることができる。
【００６９】
ゲームタイプベースのシナリオは、プレビュー中にプレイ可能なプレーヤ数を制限する。たとえばプレビュー中、ゲームタイプは単数プレーヤに限定され、ゲームのフルバージョンは複数プレーヤのシナリオに対応することが可能である。実施形態がプレビューを複数プレーヤのプレイに限定し、ゲームのフルバージョン中に単数プレーヤも使用可能であるという、反対のシナリオも真である。
【００７０】
別のプレビューシナリオはアイテムベースシナリオである。アイテムベースのプレビューは、あるアイテムへのアクセスのみを可能にする。例示のアイテムは武器、薬、通信装置、鎧、タイヤ、または他のゲームアイテムとすることができる。
【００７１】
入力ベースのプレビューは、限定数のコントローラタイプのみを使用することができる。たとえばプレビューシナリオはゲームパッドに限定され、ゲームのフルバージョンはビデオカメラまたは他の入力も使用可能である。
【００７２】
上記で列挙した様々なシナリオの混合およびマッチングを含む、他のゲームプレビューシナリオも可能である。たとえばプレビューシナリオは、アバターベース、アイテムベース、およびミッションベースとすることができる。このプレビューシナリオは、あるアイテムのみを使用しながら、アバターのサブセットの使用を特定のミッション用に限定する。前述の様々なプレビューシナリオの他の組み合わせが可能である。たとえば、ほぼすべてのプレビューシナリオを、アバター、アイテム、ミッション、またはその他に限定することに加え、時間ベースとすることも可能である。
【００７３】
ゲーム移行
次に図５に進むと、本発明の実施形態に従った、ゲーミングサーバからゲーミングクライアントへのゲームプレイの移行を容易にするゲーミング環境５００内の通信を示す、シーケンス図が示されている。クライアント上で初期に生成されたゲームプレビューをゲームサービスに移行するか、またはその逆が可能である。同様に、ゲームサービス上で開始されたゲームプレビューを、ゲームクライアントにシームレスに移行することが可能である。加えて、プレビュー中またはプレビュー後の購入は、デバイス間でプレイを移行するためのトリガとすることができる。
【００７４】
ゲーミング環境５００は、おそらくゲームクライアント３１０と同様であるゲーミングクライアント上で動作する構成要素、ならびに、ゲームサーバ３４０と同様であり得るゲームサーバ上で動作する構成要素を含む。
【００７５】
ゲームクライアント上に配置される構成要素は、ゲームコントローラ５１０、クライアントディスプレイ５１２、ゲームサービスクライアントアプリケーション５１４、クライアント移行構成要素５１６、クライアントゲームストア５１８、およびクライアントゲーミング環境５２０を含む。ゲーミングサービス上に配置される構成要素は、ゲームサービスゲーミング環境５２２、ゲームサービス移行構成要素５２４、ゲームサービスデータストア５２６、およびゲームサービスプレーヤプロファイルデータストア５２８を含む。クライアントおよびゲーミングサービスは、どちらも、簡潔にするために図５には示されていない追加の構成要素を含むことができる。
【００７６】
初期に、ゲームコントローラ５１０からの制御入力５３０は、クライアントデバイス上で実行しているゲームサービスクライアントアプリケーション５１４に通信される。例示の制御入力は、音声入力、ジョイスティックの動き、ボタン選択、タッチスクリーンデータ、ジャイロスコープデータ、加速度計データ、ビデオイメージ、および３次元深さクラウドデータを含む。制御入力５３０は、ゲームサービスサーバ上で実行するゲームサービスゲーミング環境５２２によって使用可能な形に、事前処理することができる５３２。いくつかの実施形態では事前処理は不要であり、この場合、生の入力信号を通信することができる。事前処理された制御信号５３４は、ゲームサービスクライアントアプリケーション５１４からゲームサービスゲーミング環境５２２へと通信され、ここでゲームオブジェクトを操作するために使用される５３６。制御入力５３４に応答して新しいゲームイメージ５３８がレンダリングされ、ゲームサービスクライアントアプリケーション５１４に通信される。レンダリングされたゲームイメージ５３８は、必要であれば、クライアントディスプレイ５１２に適したサイズにスケーリングされる５４０。スケーリングされたビデオイメージ５４２は、ユーザに対する表示のためにクライアントディスプレイ５１２に通信される。スケーリングされたビデオイメージ５４２は、オーディオデータも含むことができる。
【００７７】
ゲーム状態情報５４６が生成され５４４、次いで、ゲーミングサービスプレーヤプロファイルデータストア５２８に通信される。ユーザがゲーム内のある地点に戻れるように、ゲーム状態は定期的に保存される。他の構成要素は、イベントをトリガするためにゲーム状態情報を監視することも可能である。
【００７８】
ステップ５５０で、移行トリガとは異なるダウンロードトリガが検出される。ダウンロードトリガは、進行中のゲーミングセッションでプレイされているゲームの残りを購入するという、ユーザの決定とすることができる。たとえばユーザは、プロモーションまたはデモの一部としてダウンロードされたゲームの第１のブロックのプレイを開始することができる。別の実施形態において、ユーザは以前にゲームを購入したが、次のゲームブロックをダウンロードするために使用可能な帯域幅は有していなかった。ダウンロードイベント５５０は、ダウンロードの可用性を提供するために、ユーザの帯域幅または帯域幅使用率における変化を検出することが可能である。別のトリガは異なるデバイスの使用である。たとえばユーザは、ゲームをローカルにレンダリングまたは実行することができないか、あるいはゲームを記憶するために使用可能なローカルメモリを有さない、簡易なクライアントまたは他のデバイスを使用してゲームを購入することができる。ユーザがゲームをローカルに実行することが可能なクライアントからゲームサービスにログインした場合、ゲームをダウンロードすることができる。
【００７９】
ダウンロード要求または命令５５２は、ゲームサービス移行構成要素５２４からゲームデータストア５２６へ通信される。ゲームデータストアは、ダウンロードされる次のゲームブロックを準備し５５４、ゲームブロック５５６をクライアントゲームストア５１８にダウンロードする。クライアントゲームストア５１８はゲームブロック５５６を保存する５５８。シーケンス図に示されたゲームブロック５５６および他のメッセージは、単一メッセージとして示されているが、実際には経時的に発生する一連のメッセージとすることができる。たとえばいくつかの状況では、ゲームブロック５５６をクライアントゲームストア５１８にダウンロードするためには、ユーザの接続において使用可能な帯域幅に応じて、２０分または３０分を要する場合がある。保存されると、ゲームブロックの使用準備ができたことを示す通知５６０がクライアント移行構成要素５１６に送信される。ステップ５６２で、ダウンロード完了メッセージ５６４が生成され、ゲームサービス移行構成要素５２４に通信される。
【００８０】
ステップ５６６で、ゲーム移行トリガが検出される。この場合、クライアントデバイスへのゲームブロックの完全なダウンロードが、トリガイベントを続行させる。トリガを検出すると５６６、移行に必要な情報が集められる。この場合、ゲーム状態情報に関する要求５６８が生成され、ゲーミングサービスのプレーヤプロファイルデータストア５２８に通信される。ゲーム状態が取り出され５７０、現在のプレーヤの進捗および他のゲームパラメータを記述しているゲーム状態メッセージ５７１がクライアント移行構成要素５１６に通信される。ゲーム状態情報を使用してゲーム移行メッセージ５７３が生成され５７２、クライアント移行構成要素５１６またはクライアントデバイス上の他の構成要素に通信される。ゲーム移行メッセージは、サーバ上で中止した場所でクライアント上でのゲームプレイを開始するために必要な情報を、クライアントデバイスに提供する。
【００８１】
状態情報および移行命令を受信すると、クライアント移行構成要素５１６はステップ５７４で、クライアント側からのゲーム移行プロセスを開始する。レンダリングされたビデオゲームイメージを以前に受信しているゲームサービスクライアントアプリケーション５１４上でアクティビティを終了するメッセージ５７６が通信される。終了は即時でなくてもよい。クライアントゲーミング環境５２０が進行中のゲームをアクティブメモリ内にロードし、引継ぎの準備ができると、ゲームサービスクライアントアプリケーション５１４が終了される５７７。終了は、ゲーミングサービスアプリケーションが閉じるか、または単に最小化されることを示すことができる。いずれの場合も、ゲームサービスクライアントアプリケーション５１４は、終了されるとゲームサーバから受信した情報を処理または表示することに、アクティブに関与していない。
【００８２】
起動メッセージ５７８が、クライアント側のゲーミング環境５２０にも送信される。起動メッセージ５７８に応答して、ゲームの起動５８０が開始される。起動５８０の一部として、クライアントゲーミング環境５２０はクライアントゲームストア５１８にゲームコードを要求する５８２。ゲームコードが準備され５８４、クライアントゲーミング環境５２０に返信される５８６。次いで、ゲーミングデータがアクティブメモリ内にロードされ５８８、ゲームプレイ用に準備される。以前に受信したゲーム状態情報を使用して、ユーザが要求したポイントでゲームが設定される。一実施形態では、ゲーミング環境５２０は、起動されプレイの準備ができたゲームを有し、ゲームプレイはゲーミングサーバ上で続行され、レンダリングされたイメージがゲームサービスクライアントアプリケーション５１４を介して表示される。ゲーム内でレベル切り替えなどの遷移ポイントに達すると、ゲームプレイはゲームサービスクライアントアプリケーション５１４からクライアントゲーミング環境５２０へと遷移する。
【００８３】
遷移すると、ゲーム制御データ５９０はクライアントゲーミング環境５２０に通信され、ここでゲームオブジェクトが操作され５９２、新しいビデオゲームイメージがレンダリングされる。新しいビデオゲームイメージ５９４はクライアントディスプレイ５１２に通信され、ここでユーザに表示される。
【００８４】
次に図６に進むと、本発明の実施形態に従った、クライアントゲーミングデバイスからサーバ配置ゲーミングサービスへのゲームの移行中にゲーミング環境６００内で発生する通信を示す、シーケンス図が示される。ゲーミング環境６００は、おそらくゲームクライアント３１０と同様であるゲーミングクライアント上で動作する構成要素、ならびに、ゲームサーバ３４０と同様であり得るゲームサーバ上で動作する構成要素を含む。ゲームクライアント上に配置される構成要素は、ゲームコントローラ６１０、クライアントディスプレイ６１２、ゲームサービスクライアントアプリケーション６１４、クライアント移行構成要素６１６、およびクライアントゲーミング環境６１８を含む。ゲーミングサービス上に配置される構成要素は、ゲームサービスゲーミング環境６２０、ゲームサービス移行構成要素６２２、およびゲームサービスデータストア６２４を含む。クライアントおよびゲーミングサービスは、どちらも、簡潔にするために図６には示されていない追加の構成要素を含むことができる。
【００８５】
初期に、ユーザは、クライアントのゲーミング環境６１８内で実行しているゲームをプレイしている。ゲーミング信号６３０が、ゲームコントローラ６１０からクライアントゲーミング環境６１８に通信され、ここで信号６３０に応答してゲームオブジェクトが操作され、ビデオゲームがレンダリングされる６３２。レンダリングされたビデオゲームイメージ６３４はディスプレイデバイス６１２に通信され、ここでユーザに対して表示される。
【００８６】
ステップ６３６で、クライアントゲーミング環境６１８は、ゲーム状態更新メッセージ６３８をクライアント移行構成要素６１６に通信する。ゲーム状態更新メッセージ６３８は、ゲーム内でのユーザの現在の進捗、ならびにユーザによって作成される他の命令または要求を記述することができる。たとえばユーザは、新しいレベルに対するメニュー要求を入力することができる。他の例では、ユーザは、ローカルプレイに使用できないアバターまたはチームを選択する。
【００８７】
ステップ６４０で、クライアント移行構成要素６１６はゲーム状態メッセージ６３８を分析し、トリガイベントが発生したことを決定する。たとえばユーザは、新しいレベルを要求するか、または、まだゲームクライアントにダウンロードされていない新しいレベルにアクセスするゲーム内のポイントに到達することができる。このポイントで、クライアント移行構成要素６１６は、移行プロセスを開始するために一連の通信を生成する。
【００８８】
トリガを検出すると、クライアント移行構成要素６１６は、ゲームサービス移行構成要素６２２に移行要求６４２を通信する。これによって第１に、ゲームサービスとの通信セッションがすでにアクティブでない場合、このセッションを強制的にオープンすることができる。通信セッションをオープンするプロセスは図６に示されておらず、ゲーム移行要求を受け入れるためにゲーミングサービスに対して要求可能な認証プロセスまたは他のプロセスも示されていない。
【００８９】
ゲームサービス移行構成要素６２２は、ステップ６５０で、６４２での移行要求を分析する。要求はリソース可用性について分析することができる。たとえばゲームサービス移行構成要素６２２は、特定レベルのゲームインスタンスが使用可能であるかどうか、またはユーザが使用可能にできるかどうかを判別するために、使用可能リソースを照会することができる。ゲームサービス移行構成要素は、要求されたゲームレベルに適切なアクセスをユーザが有することを保証するために、他の構成要素を照会することもできる。図には示されていないが、ゲームサービス移行構成要素６２２は、必要であれば追加の情報についてクライアント側の移行構成要素６１６に照会することができる。
【００９０】
トリガイベントを検出するとクライアント移行構成要素６１６によって発行されるゲーム通信に戻ると、ステップ６４０で、クライアント移行構成要素６１６は、ゲームサービスクライアントアプリケーション６１４に起動要求６４４を送信することができる。起動要求６４４は、ゲームサービスクライアントアプリケーション６１４をオープンさせ、レンダリングされたビデオゲームを受信するための準備をさせる。加えて、クライアント移行構成要素６１６は、ゲーム実行の終了を命じる終了メッセージ６４６をクライアントゲーミング環境６１８に送信し、ゲーミングサービスサーバへの移行を保留する。
【００９１】
移行要求６４２の受信に応答して、ゲームサービス移行構成要素６２２は起動メッセージ６５２をゲームサービスゲーミング環境６２０に通信する。起動メッセージ６５２に応答して、ゲームサービスゲーミング環境６２０は、ユーザによって要求されたゲーム内のポイントで、要求されたゲームのインスタンスを起動する。ゲームサービスゲーミング環境６２０は、起動メッセージ６５２内でプレーヤプロファイルおよびゲーム状態情報を受信することができる。この情報は、移行要求６４２内で、または図６のシーケンス図には示されていない別のメッセージを介して、通信することができる。
【００９２】
起動６５４の一部として、ゲームサービスゲーミング環境６２０は、ゲームデータ要求６５６をゲームデータストア６２４に送信することができる。これに応答して、ゲームデータパッケージが準備され６５８、ゲームサービスゲーミング環境６２０に通信される６６０。ステップ６６２で、ゲームサービスゲーミング環境６２０はゲームデータをアクティブメモリ内にロードし、ゲームサービスクライアントアプリケーション６１４またはゲームクライアントに関連付けられた他の構成要素から、Ｉ／Ｏ接続およびデータを受信するように準備する。
【００９３】
起動されると、ゲームサービスゲーミング環境６２０は、レンダリングされたビデオゲームのイメージをゲームサービスクライアントアプリケーション６１４に送信する。レンダリングされたイメージは、メッセージ６６４として示されている。受信すると、ゲームサービスクライアントアプリケーション６１４は、イメージをクライアントディスプレイ６１２に通信することができる。ビデオの一部としてオーディオを通信することも可能である。本願全体を通じて、ビデオゲームに関するイメージデータが生成される場合、オーディオデータも生成され、いずれの通信にも含めることができる。
【００９４】
ゲームコントローラ６１０から受信したゲーム制御データは、ゲームサービスクライアントアプリケーション６１４に通信される。制御データ６６７はステップ６６８で、ゲームサービスゲーミング環境６２０によって処理されることになる、容易にアップロード可能な形式に事前処理される。事前処理されたゲームコントロール６７０は、ゲームサービス環境６２０に通信される。ゲームオブジェクトは、ステップ６７２で、コントロール６７０に応答して操作される。新しいレンダリングされたゲームイメージ６７４は、次いで、ゲームサービスクライアントアプリケーション６１４に返信され、ステップ６７６で、クライアントディスプレイ６１２用にスケーリングすることができる。適切にスケーリングされると、レンダリングされたイメージはクライアントディスプレイ６１２に通信され６７８、ユーザに表示される。
【００９５】
次に図７に進むと、本発明の実施形態に従った、ビデオゲームプレビューを提供する方法７００が示されている。ステップ７１０で、ゲームタイトルに関するプレビューを開始するための要求が受信される。要求は、ゲームサービスまたはゲームクライアントによって受信可能である。ステップ７２０で、ゲームサービスまたはゲームクライアントのいずれかが、プレビューをゲームクライアント上またはゲームサーバ上で実行すべきであるかどうかを決定する。決定ステップ７２０の一部として、ゲームクライアント上でプレビューを実行するためのゲームコードが探索される。ゲームコードが存在するかまたはローカルで使用可能な場合、プレビューはゲームクライアント上で実行される。ゲームコードがクライアント上で使用可能でない場合、ゲームプレビューがゲームサービスによって生成され、ゲームクライアントにストリーミングされるべきであるかどうかが決定される。
【００９６】
ゲームプレビューをゲームクライアントにストリーミングすべきであるかどうかを決定するために、ゲームサービスとクライアントとの間の接続に関するサービス品質（「ＱＯＳ」）が評価される。ＱＯＳが要求されたゲームタイトルに関するしきい値を超える場合、ゲームプレビューはゲームサービス上で生成され、ゲームクライアントにストリーミングされる。ＱＯＳがしきい値を下回る場合、ビデオゲームプレビューの実行に必要なコードが、ゲームサービスからゲームクライアントに通信される。
【００９７】
ステップ７３０で、プレビュー中にフルビデオゲームタイトルのいずれの機能が使用可能であるかを定義する制約セットにアクセスする。制約セットは、中央ゲームサーバ上に記憶することができる。別の実施形態では、制約はゲームコード自体に埋め込まれる。プレビューの実行を希望するすべてのゲームクライアントは、制約のコピーにアクセスすることができる。同様に、ゲームサービスがプレビューを生成し、これをユーザにストリーミングする場合、ゲームサービスは制約にアクセスすることができる。
【００９８】
プレビューがクライアント上で実行している場合、制約は第１にゲームサーバに通信することができる。制約セットは、すべてには満たないゲーム機能を復号する復号鍵の形を取ることができる。プレビューを生成するために使用される実際のゲームコードは、全機能型ゲーム体験を生成することが可能なゲームコードのフルバージョンとすることができる。ゲームサービスによってプレビューが生成された場合、プレビューファイルストレージから取り出すことによって制約セットにアクセスすることができる。別の実施形態において、制約セットは復号鍵ではなく、プレビュー体験の中でフルゲームのいずれの機能を使用可能とすべきであるかを説明する。
【００９９】
ステップ７４０で、制約セットによって制限されるフルビデオゲームタイトルをユーザが体験できるようにするプレビューが、ユーザへの出力用に生成される。前述のように、プレビューは、プレビューを生成するために復号されるフルゲームコードの一部を実行することによって生成可能である。ステップ７２０で予め決定されたように、プレビューは、ゲームクライアント上またはゲームサーバ上のいずれかで生成可能である。
【０１００】
次に図８に進むと、本発明の実施形態に従った、ビデオゲームプレビューを提供する方法８００が示されている。ステップ８１０で、ゲームタイトルをプレビューするための要求がゲームサービスで受信される。ステップ８２０で、ゲームコードと組み合わせてゲームプレビューを生成するために使用されるゲームタイトルに関する制約セットが取り出される。一実施形態において、異なるシナリオを生成するために、単一のゲームタイトルを異なる制約セットに関連付けることができる。たとえばプレーヤのゲーム選択を使用して、プレーヤの選択に合わせて調整されたプレビューを選択することができる。プレビューは、制約セットを変更することによって調整可能である。
【０１０１】
ステップ８３０で、制約セットが要求者に通信（送信）される。要求者は、ゲームクライアント、または、プレビューを生成するために準備されているゲームサービス上の実行環境とすることができる。前述のように、制約は、いくつかの方法のうちの１つで制限されるゲームプレビューを作成することができる。たとえば制約セットは、ゲームのアバター、レベル、アイテム、プレイ回数、プレイ期間、および他の特徴を制限することができる。機能からフルゲームを制限するための様々な方法を制約セット内で組み合わせて、一意のプレビュー体験を作成することができる。
【０１０２】
次に図９に進むと、本発明の実施形態に従った、ビデオゲームプレビューを提供する方法９００が示されている。ステップ９１０で、プレビュー復号鍵が生成される。プレビュー復号鍵は、全体には満たないビデオゲームタイトルへの、制約されたアクセスを提供することによって、ビデオゲームタイトルに関するプレビュー体験を定義する。アクセスは、ゲームの特徴の一部のみを復号するプレビュー復号鍵を使用することによって、制約可能である。ゲームコードは、全復号鍵を用いて復号および実行された場合、ビデオゲームタイトルへの制約付きアクセスを提供する。プレビュー復号鍵を用いて復号および実行された場合、コードは、プレビュー体験を形成するゲームへの制約付きアクセスを提供する。
【０１０３】
生成されると、プレビュー復号鍵はプレビュー体験を向上させるために修正することができる。複数のプレビュー復号鍵を、個々のタイトル用に生成することができる。プレビュー復号鍵は、クライアントデバイスがプレビュー体験の生成を開始すると、リアルタイムで要求側クライアントデバイスに通信することができる。プレビュー復号鍵は、プレビュー体験の終了時にクライアントから削除することができる。ユーザが同じタイトルのプレビューの再開を希望する場合、新しいプレビュー復号鍵のクライアントへの通信が必要となる可能性がある。
【０１０４】
プレビュー復号鍵の使用は、ユーザごとに追跡することができる。ユーザが特定ゲームのプレビューを体験できる回数を制限することが可能である。加えて、ユーザのゲームに対する関心は、ユーザのプレビューアクティビティを評価することによって確認することができる。このユーザの関心を使用して、ユーザに関するゲームプロファイルを作成することができる。ゲームプロファイルを使用して、ゲームに関する広告を表示するか、または追加のゲームプレビューを提案することができる。すべてのユーザからのプレビューに対する関心の総計も追跡することができる。
【０１０５】
以上、本発明の実施形態について、制約的ではなく例示的に説明してきた。ある特徴および下位組み合わせは実用本位であり、他の特徴および下位組み合わせを参照せずに使用可能であることを理解されよう。これは特許請求の範囲によって企図され、その範囲内にある。
【図１】
2016515856.tif 000003
【図２】
2016515856.tif 000004
【図３】
2016515856.tif 000005
【図４】
2016515856.tif 000006
【図５】
2016515856.tif 000007
【図６】
2016515856.tif 000008
【図７】
2016515856.tif 000009
【図８】
2016515856.tif 000010
【図９】
2016515856.tif 000011
【手続補正書】
【提出日】平成26年11月20日(2014.11.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ゲームサービスで、ゲームタイトルをプレビューするための要求を受信すること、
前記ゲームタイトルに関するゲームコードとの組み合わせでゲームプレビューを生成するために使用される前記ゲームタイトルに関する制約セットを取り出すこと、
前記制約セットを要求者に通信すること、
を含み、
前記要求がゲームクライアントから受信され、前記制約セットが前記ゲームサービスによって記憶され、
前記方法が前記ゲームプレビューに関する前記制約セットを更新するための命令を受信すること、および、前記命令に従って前記制約セットを更新することをさらに含む、ビデオゲームプレビューを提供する方法。
【請求項２】
前記ゲームコードが、前記ゲームタイトルのフルバージョンを生成するように動作可能であり、前記制約セットが、前記ゲームタイトルの前記フルバージョンのすべてには満たない機能を復号する復号鍵を含む、請求項１に記載の方法。
【国際調査報告】
2016515856.tif 000012
2016515856.tif 000013
2016515856.tif 000014
2016515856.tif 000015
2016515856.tif 000016
2016515856.tif 000017