(57)【特許請求の範囲】
【請求項１】
システムは、
ゲームシステムを実装するように構成される１つ以上のコンピューティングデバイスを備え、
以前にプレイされたゲームセッションを備えるゲームレコードを記憶し、各ゲームセッションはゲームセッションのタイムラインに沿ってゲームユニバース内で行動する１つ以上のゲームキャラクタを含み、
１つ以上のクライアントデバイスのうち１つから選択入力を受信して、前記選択入力は再生のために記憶されたゲームレコードのうち１つを選択し、
前記選択されたゲームレコードにおいて少なくとも１つのクライアントデバイスに記録する際に、前記ゲームセッションの再生を開始し、
前記１つ以上のクライアントデバイスのうち１つにゲームクライアントインスタンスからのゲーム入力を受信し、前記ゲーム入力は、前記ゲームユニバース内の前記１つ以上のゲームキャラクタのうちの１つによるアクションを起こさせ、かつ、
前記ゲーム入力に対応して、前記選択されたゲームレコードにおいて記録された前記ゲームセッションのタイムラインから新しいゲームセッションのタイムラインを生成し、前記新しいゲームセッションのタイムラインの新しいゲームレコードを生成する
ように構成される、システム。
【請求項２】
前記選択されたゲームレコードに記録される際に、前記ゲームセッションのタイムラインから新しいゲームセッションのタイムラインを前記生成した後に、ゲームプレイは、少なくとも１つのゲームクライアントインスタンスから受信された追加のゲーム入力により、前記新しいゲームセッションのタイムラインに進む、請求項１に記載のシステム。
【請求項３】
所与のゲームセッションにおける少なくとも１つのゲームキャラクタは、クライアントデバイス上のゲームクライアントインスタンスにプレーヤの入力によって制御される、請求項１に記載のシステム。
【請求項４】
前記ゲームシステムはオンラインゲームを実装し、前記ゲームシステムを実装する前記１つ以上のコンピューティングデバイスはゲームプロバイダネットワーク上のデバイスであり、前記クライアントデバイス上の前記ゲームクライアントインスタンスは中間ネットワークを介して前記ゲームシステムにアクセスする、請求項１に記載のシステム。
【請求項５】
前記選択されたゲームレコードにおいて、前記少なくとも１つのクライアントデバイスに記録する際に、前記ゲームセッションを再生し、前記ゲームシステムはさらに、それぞれのクライアントデバイスに表示するために前記中間ネットワーク上で、前記少なくとも１つのゲームクライアントインスタンスに、前記ゲームユニバース及び前記レンダリングされたゲームユニバースのストリーム映像をレンダリングするように構成される、請求項４に記載のシステム。
【請求項６】
前記選択されたゲームレコードにおいて、前記少なくとも１つのクライアントデバイスに記録する際に、前記ゲームセッションを再生し、前記ゲームシステムはさらに、ゲームユニバースデータを前記少なくとも１つのゲームクライアントインスタンスに前記中間ネットワーク経由で送信するように構成され、少なくとも１つのゲームクライアントインスタンスは、前記受信されたゲームユニバースデータによって、前記それぞれのクライアントデバイスに前記ゲームユニバースをレンダリングし表示するように構成される、請求項４に記載のシステム。
【請求項７】
前記選択されたゲームレコードは、前記ゲームユニバースにおいて前記ゲームキャラクタの複数の異なる視点から記録された前記ゲームセッションの映像を含み、及び、前記選択されたゲームレコードにおいて記録される際の前記ゲームセッションの前記再生で、前記ゲームシステムは前記クライアントデバイスのそれぞれに、前記異なる視点のうち少なくとも２つから映像をストリーミングするように構成される、請求項１に記載のシステム。
【請求項８】
前記選択されたゲームレコードは、前記ゲームセッション用に、ゲームセッションメタデータを含み、及び、前記選択されたゲームレコードにおいて記録される際の前記ゲームセッションの前記再生で、前記ゲームシステムは、前記ゲームセッションメタデータから少なくとも２つのゲームユニバースの異なる視点をレンダリングし、前記クライアントデバイスのうちそれぞれに前記異なる視点から映像をストリーミングするように構成される、請求項１に記載のシステム。
【請求項９】
前記ゲームシステムはマルチプレーヤゲームを実装し、前記ゲームシステム上のゲームセッションは２つ以上のゲームキャラクタを含み、ゲームセッションにおける所与のゲームキャラクタは、２以上のプレーヤのうち１つに対応し、ゲームセッションにおける、２以上のゲームキャラクタのうち少なくとも１つは、クライアントデバイス上のゲームクライアントインスタンスにそれぞれのプレーヤの入力によって制御される、請求項１に記載のシステム。
【請求項１０】
１つ以上のコンピューティングデバイスに実装されたゲームシステムによって、以前にプレイされたゲームセッションの少なくとも一部をリプレイし、
前記リプレイ中の前記ゲームシステムによって、前記ゲームセッションがリプレイされているゲームクライアントから入力を受信し、前記入力は、リプレイされている前記ゲームセッションに含まれる１つ以上のゲームキャラクタのうちの１つによるアクションを示し、かつ、
前記入力に対応して、前記以前にプレイされたゲームセッションから新しいゲームセッションを生成し、前記新しいゲームセッションのタイムラインは前記以前にプレイされたゲームセッションのタイムラインから分かれること、
を含む方法。
【請求項１１】
前記以前にプレイされたゲームセッションから新しいゲームセッションのタイムラインを前記生成した後に、ゲームプレイは、少なくとも１つのゲームクライアントから受信された追加のゲーム入力により、前記新しいゲームセッションのタイムラインに進み、前記追加のゲーム入力は、前記新しいゲームセッションに含まれる少なくとも１つのゲームキャラクタによって追加のアクションを示す、請求項１０に記載の方法。
【請求項１２】
複数の記録されたゲームセッションに対応する複数のゲームレコードを記憶することをさらに含み、前記以前にプレイされたゲームセッションは、前記複数のゲームレコードのうち選択された１つからリプレイされる、請求項１０に記載の方法。
【請求項１３】
前記ゲームクライアントからの前記入力が、第１のプレーヤが前記ゲームクライアントを実装するクライアントデバイスを使用してリプレイされる前記ゲームセッションにおける前記それぞれのゲームキャラクタを制御することを示す、請求項１０に記載の方法。
【請求項１４】
別のゲームキャラクタの前記視点から前記新しいゲームセッションにおけるゲームプレイのビューを別のゲームクライアントへストリーミングし、前記別のゲームクライアントは、前記その他のゲームキャラクタを制御しないことをさらに含む、請求項１３に記載の方法。
【請求項１５】
前記リプレイは、複数のクライアントデバイス上の複数のゲームクライアントに、前記ゲームセッションの複数のビューのストリーミングを含み、前記ビューのうち少なくとも２つは、前記それぞれのクライアントデバイスに関連する異なるゲームキャラクタの視点にそれぞれ対応する、請求項１０に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータベースのゲームは、パーソナルコンピュータにインストールされ及び実行される、２以上のプレーヤがゲームセッションに同時に参加を可能にし得るマルチプレーヤゲームを可能にする技術を含むシングルプレーヤゲームプログラムから進化してきた。例えば、ゲームコンソールは、コンソールに接続された別のコントローラを介して、多数のプレーヤがゲームセッションに同時に参加を可能にするコンソールベースのマルチプレーヤゲームをホストし得る。別の例として、ネットワークベースのマルチプレーヤゲームは、オンラインゲームと称されるが、多数のプレーヤが、ネットワークに接続された消費者用デバイスからのゲームに同時に参加することが可能であり得る。ますます普及するブロードバンド接続の可用性及びこれらに限定されないが、パッド／タブレット端末やスマートフォンなどのモバイルコンピューティングデバイスを含む消費者用コンピューティングデバイスの可用性と能力を含むインターネット、ウェブベースのコンピューティング及びモバイルコンピューティングの進化は、マルチプレーヤオンラインゲームの継続的な進化と成長につながってきた。マルチプレーヤゲームは、比較的シンプルな２次元（２Ｄ）のカジュアルゲームから、ゲームセッションで２以上のプレーヤを伴い得る、より複雑な２Ｄのまたは３次元（３Ｄ）のアクションまたは戦略ゲームまで、世界を構築するマルチプレーヤゲームまで、永続的なオンラインの「世界」において何百または何千のプレーヤを同時にサポートし得る、多人数のマルチプレーヤオンラインロールプレイングゲーム（ＭＭＯＲＰＧ）などの、複雑な３Ｄの多人数のマルチプレーヤオンラインゲーム（ＭＭＯＧ）までの全てを含み得る。
【図面の簡単な説明】
【０００２】
【図１Ａ】少なくともいくつかの実施形態による、マルチプレーヤゲームシステムにおけるゲームセッション中のゲームレコードの記録及びプレーヤのプロフィールの更新を示す。
【図１Ｂ】少なくともいくつかの実施形態による、以前に記録されたゲームレコードの再生を開始するプレーヤを示す。
【図１Ｃ】少なくともいくつかの実施形態による、以前に記録されたゲームレコードを再生する間、プレーヤのキャラクタに進んでいるプレーヤを示す。
【図１Ｄ】少なくともいくつかの実施形態による、以前に記録されたゲームレコードをリプレイする間、それぞれのプレーヤのキャラクタに進んでいる別のプレーヤを示す。
【図２】少なくともいくつかの実施形態による、マルチプレーヤゲームシステムにおけるゲームセッション中のゲームレコードを記録し、及びプレーヤのプロフィールを更新するための方法の高レベルのフローチャートである。
【図３】少なくともいくつかの実施形態による、以前に記録されたゲームレコードのプレイ及びプレーヤが再生中にキャラクタの制御を引き継ぐ方法の高レベルのフローチャートである。
【図４Ａ】少なくともいくつかの実施形態による、ゲームが再生されていることをプレーヤに通知し、及び再生中にキャラクタ（単数または複数）の制御をプレーヤ（単数または複数）が引き継ぐ方法の高レベルのフローチャートである。
【図４Ｂ】少なくともいくつかの実施形態による、ゲームが再生されていることをプレーヤ（単数または複数）に通知し、及び再生中にキャラクタ（単数または複数）の制御をプレーヤ（単数または複数）が引き継ぐ代替的な方法の高レベルのフローチャートである。
【図５】少なくともいくつかの実施形態による、生成されたゲームレコードをその他のプレーヤにリプレイ用に提供する方法の高レベルのフローチャートである。
【図６Ａ】少なくともいくつかの実施形態による、例示的なゲームセッションのタイムラインのグラフ表示を提供する。
【図６Ｂ】少なくともいくつかの実施形態による、プレーヤがゲームセッションのリプレイにおけるキャラクタへ進んでいることに応答して、オリジナルのゲームセッションのタイムラインから新しいタイムラインのスポーンのグラフ表示を提供する。
【図７Ａ】少なくともいくつかの実施形態による、図６Ａの例示的なタイムラインに対応する例示的なオリジナルのゲームレコードからのゲームセッションのメタデータを示す。
【図７Ｂ】少なくともいくつかの実施形態による、図６Ｂの新しいタイムラインに対応する例示的な新しいゲームレコードからのゲームセッションのメタデータを示す。
【図８Ａ】少なくともいくつかの実施形態による、例示的なプレーヤのプロフィールを示す。
【図８Ｂ】少なくともいくつかの実施形態による、別の例示的なプレーヤのプロフィールを示す。
【図９Ａ】少なくともいくつかの実施形態による、例示的なゲームセッションツリーをグラフで示す。
【図９Ｂ】少なくともいくつかの実施形態による、ゲームセッションの例示的なリストを示す。
【図９Ｃ】少なくともいくつかの実施形態による、ゲームセッションの例示的なリストを示す。
【図１０】少なくともいくつかの実施形態による、ゲームレコードに記録された、以前にプレイされたゲームセッションについての追加情報（メタデータ）の実施例を示す。
【図１１】少なくともいくつかの実施形態による、例示的なゲームレコードを示す。
【図１２】少なくともいくつかの実施形態による、例示的なネットワークベースのゲーム環境を示す。
【図１３】少なくともいくつかの実施形態による、シックゲームクライアントを使用する例示的なネットワークベースのゲーム環境を示す。
【図１４】少なくともいくつかの実施形態による、ストリーミングサービスがレンダリングされたゲーム映像及び音声をシンゲームクライアントに提供するために用いられる、例示的なネットワークベースのゲーム環境を示す。
【図１５】少なくともいくつかの実施形態による、ストリーム管理サービスに影響を及ぼすゲーム環境の高レベルの図である。
【図１６Ａ】少なくともいくつかの実施形態による、例示的なピアーツーピアーのゲーム環境を示す。
【図１６Ｂ】少なくともいくつかの実施形態による、例示的なピアーツーピアーのゲーム環境を示す。
【図１７】いくつかの実施形態で使用され得る、例示的なコンピュータシステムを示すブロック図である。
【０００３】
実施形態は、いくつかの実施形態及び説明のための図のために一例として本明細書で記載されているものの、当業者は、実施形態は記載された実施形態または図面に限定されないことを理解するであろう。図面及び図面に対する詳細な説明は、開示された特定の形式の実施形態に限定することを意図せず、反対に添付の特許請求の範囲により規定されるように趣旨及び範囲内にある全ての修正、等価物及び代替物を網羅するものであると理解すべきである。本明細書で使用された見出しは、構成上の目的のためのみであり、明細書の範囲または特許請求の範囲を限定するために使用されることを意図したものではない。本願の全体を通じて使用されるとき、「ｍａｙ（してもよい）」という語は、義務の意味（即ち必須を意味する）ではなく、許可の意味で使用されている（即ち、あることを行う可能性を有することを意味する）。同様に、「ｉｎｃｌｕｄｅ（含む）」、「ｉｎｃｌｕｄｉｎｇ（含んでいる）」、「ｉｎｃｌｕｄｅｓ（含む）」は、含んでいることを意味するが、これらに限定されない。
【発明を実施するための形態】
【０００４】
マルチプレーヤゲームを含むが、これらに限定されないコンピュータベースのゲームのゲームセッションをリプレイするための、方法及び装置の様々な実施形態が、記載される。従来のマルチプレーヤゲームにより、所定の時点からプレーヤが記録されたゲームセッションの静的なリプレイを見ることができ、またはゲームを再開することができる（例えば、マルチレベルゲームのレベルの先頭から）。プレーヤが、例えば、マルチプレーヤゲームのようなゲームにおいて、以前にプレイしたゲームセッションの状態の連続記録を記憶することができるゲームの方法及び装置の実施形態が説明されている。それぞれの記憶されたゲームセッションは、参加したプレーヤのゲームキャラクタを含む、別のゲームユニバースまたはタイムラインとして表示し得る。また、プレーヤは、以前にプレイしたゲームセッションの記憶された状態情報にアクセスし、ゲームのリプレイを見てよい。しかしながら、リプレイが静的で、表示のみできる従来のゲームシステムと異なり、プレーヤは、ゲームの任意の時点でプレーヤのゲームのキャラクタに「入り」、キャラクタを制御し始めることができる。プレーヤがプレーヤのゲームキャラクタを引き継ぎ、ゲームを操作すると、新しいゲームユニバース及びタイムラインがオリジナルのゲームセッションからスポーンされる。ゲームセッションが新しいタイムライン上で進行すると、新しいユニバースがオリジナルのゲームセッションのユニバースから分かれる。ゲームセッションの僅かに異なる結果から大きく異なる結果までのどこでも、新しいタイムライン上のゲームプレイにおける小さな相違からでさえからも達成され得る。この新しいユニバース／タイムラインが記録と保存、リプレイされ、及び新しいユニバース／タイムラインがスポーンされることができる。同様に、オリジナルのユニバース／タイムラインが持続され、またリプレイされ、及びその他の異なるユニバース／タイムラインがスポーンされることができる。
【０００５】
少なくともいくつかの実施形態においては、ゲームセッションにおけるプレーヤのキャラクタを制御するとき、プレーヤの様々なアクションは、キャラクタとしてゲームに参加する際のプレーヤの実際に、ゲームプレイを反映またはモデル化するプレーヤのキャラクタ用のプロフィールを作るために（及び時間の経過とともに更新するために）監視され、使用され得る。少なくともいくつかの実施形態においては、ゲームは、プレーヤのプロフィールによるプレーヤのキャラクタのアクションを制御することによって、所与のプレーヤのゲームプレイのシミュレーションをすることができるロジック（例えば、人工知能（ＡＩ）エンジン）を含み得る。プレーヤは以前に記録されたゲームセッションへと進むとき、ゲーム中の１つ以上のその他のキャラクタのアクションは、その時点以降、少なくとも当初はキャラクタのプロフィールに基づいたゲームのロジックによって制御され得る。ゲームはオリジナルのユニバース／タイムラインから逸れると、シミュレートされたキャラクタは、プロフィールに記録された対応するプレーヤのライブでプレイしているキャラクタによるイベントに応答する。しかしながら、少なくともいくつかの実施形態においては、別のプレーヤは、ゲームのプレイ中、任意の時点でそれぞれのキャラクタに入り、制御することができる。
【０００６】
少なくともいくつかの実施形態においては、プレーヤが以前に記録されたゲームセッションをリプレイするとき、またはプレーヤがリプレイされている以前に記録されたゲームセッションへと進むときは、オリジナルのゲームセッションに参加した１以上のその他のプレーヤは、キャラクタが参加しているゲームセッションがリプレイされていると通知されてよく、セッション中に参加するよう招待されてよい。参加への招待は、例えば、ソーシャルメディア、テキストメッセージング、電子メール、電話等のような、１つ以上の通信チャネルを使用してリプレイを開始したプレーヤによって開始され得る。いくつかの実施形態では、ゲームユーザのインタフェースは、プレーヤが必要に応じて、１以上のその他のプレーヤにゲームのリプレイに参加するよう招待することを可能にする、「その他のプレーヤに通知する」というインタフェース要素を含み得る。いくつかの実施形態では、記憶されたゲームセッションのリプレイが別のプレーヤによって開始された場合及び／または別のプレーヤが、その他のプレーヤによってリプレイされている以前に記録されたゲームセッション中のキャラクタに「進む」場合、ゲームシステムは、１つ以上の通信チャネル（例えば、テキストメッセージ、警告メッセージ、電子メール等）を介して１以上の他のプレーヤに通知を生成して自動的に送信し得る。
【０００７】
実施形態は、多数のプレーヤが、ゲームのキャラクタを制御するオリジナルのゲームセッションを記録するために使用されてよく、オリジナルのゲームセッションは、次にリプレイされてよく、１以上のプレーヤが、ゲームセッションの任意の時点でキャラクタに進み及び制御して、その時点以降、ゲームセッション用に新しいユニバース／タイムラインを生成する。少なくともいくつかの実施形態においては、ゲームセッションは、ゲームセッションが再生されたときに、ゲームセッション中のプレーヤ／キャラクタの異なる視点が表示できるように、ゲームにおける各プレーヤ／キャラクタのそれぞれの立場によって記憶される。一旦、新しいユニバース／タイムラインがスポーンされると、対応するプレーヤによって制御されていない１以上のキャラクタは、その代わりに、（例えば、ゲームシステムのプレーヤシミュレーションまたは人工知能（ＡＩ）コンポーネントを介して）対応するプレーヤのプロフィールによってゲームロジックによって制御され得る。
【０００８】
少なくともいくつかの実施形態においては、ゲームセッションがゲームレコードからリプレイされているとき、ゲームセッションに参加した１以上のプレーヤは、ゲームセッションに実際に参加せずに、またはゲームセッション中のキャラクタを制御せずにそれぞれのクライアントデバイスを介してゲームセッションのリプレイを見ることを選択し得る。実際に参加せずにリプレイを見たり表示することは、「ゴースト」モードとしての参加またはゴーストと称され得る。少なくともいくつかの実施形態においては、ゲームシステムは、ゴーストモードで表示されることが可能なゲームに参加するキャラクタの１つ以上の立場または視点からゲームセッションを再生し得る。例えば、第１のプレーヤは、第１のプレーヤのキャラクタの立場に対応する視点からリプレイを見てよく、一方、第２のプレーヤは、第２のプレーヤのキャラクタの立場に対応する異なる視点からリプレイを表示してよい。少なくともいくつかの実施形態においては、プレーヤは、プレーヤに関連しないキャラクタの視点からゴーストモードでリプレイを表示することが可能であり得る。少なくともいくつかの実施形態においては、プレーヤは、第１人称の立場（すなわち、目を通して）または所与のキャラクタの第三者の立場（例えば、頭上または背後）からリプレイを見ることを選択し得る。一旦、プレーヤがゲームセッションにおけるキャラクタに進み、制御すると、プレーヤはもはやゴーストモードでのゲームセッションを表示していないことに留意されたい。しかしながら、１以上のその他のプレーヤは、実際に参加せずにゴーストモードでゲームを表示し続けることを選択してよく、または１以上のその他のプレーヤは、実際に参加せずにゴーストモードでゲームを表示するためにリプレイに参加してよい。
【０００９】
少なくともいくつかの実施形態においては、プレーヤは、プレーヤが実際にゲームのプレイの間、制御しているプレーヤのゲームキャラクタから「出る」ことが可能であり得る。少なくともいくつかの実施形態においては、プレーヤがゲームセッション中にキャラクタから出ることを選択する場合には、ゲームロジック（例えば、ゲームシステムのＡＩコンポーネント）は、プレーヤのゲームキャラクタの制御を引き継いでよい。
【００１０】
いくつかの実施形態では、オリジナルのゲームセッションは、ゲームセッションに参加している１つ以上のキャラクタ、またはすべてのキャラクタでさえ、対応するプレーヤのプロフィールによるゲームロジック（例えば、ゲームシステムのＡＩコンポーネント）によって少なくとも初期に制御されるところで開始されてよい。ゲームセッション中、ゲームにおいてキャラクタを有する１以上のプレーヤは、ゲームキャラクタに入り、引き継ぎ得る。
【００１１】
少なくともいくつかの実施形態においては、プレーヤ（例えば、特定のオンラインゲームで熟練し、知られたプレーヤ）は、プレーヤのゲームキャラクタを含むゲームセッションを記録することができ、記録されたゲームセッションをその他の人にリプレイ及び、オリジナルのプレーヤのコンピュータで制御されるキャラクタに対してゲームのプレイにおけるその他のキャラクタとして可能な参加者を提供する。プレーヤが、ゲームセッションに進み、キャラクタをそのように制御すると、新しいユニバース／タイムラインがスポーンされてよく、プレーヤは、記録されたゲームセッションに提供されるその他のプレーヤのプロフィールによるゲームロジックによって制御されるように、その他のプレーヤのキャラクタとともに参加し得る。これらの記録されたゲームセッションは、例えば、仮想通貨または本物の通貨と交換で、または無料で、オンラインで提供され得る。
【００１２】
実施形態は主に、２人以上のプレーヤがゲームセッションに参加して次にリプレイされることが可能なゲームレコードを生成するマルチプレーヤゲーム環境のゲームセッションでリプレイする文脈において本明細書に記載されているが、マルチプレーヤゲーム環境と同様に、シングルプレーヤゲーム環境においても適用されてよく、シングルプレーヤがプレイしゲームセッションにゲームレコードを生成することに注意すべきである。
【００１３】
図１Ａから図１Ｄは、少なくともいくつかの実施形態による、例示的なコンピュータベースのマルチプレーヤゲーム環境におけるマルチプレーヤのゲームセッションをリプレイするための方法及び装置をグラフで図示するブロック図である。少なくともいくつかの実施形態においては、マルチプレーヤゲーム環境は、マルチプレーヤゲームシステム１００及び１つ以上のクライアントデバイス１２０を含み得る。マルチプレーヤゲームシステム１００は、ゲームデータ及び情報を記憶し、マルチプレーヤゲームロジックを実行し、マルチプレーヤゲームのための実行環境として保存する。少なくともいくつかの実施形態においては、マルチプレーヤゲームシステム１００は、例えば、１つ以上のサーバデバイスのような、マルチプレーヤゲームロジックを実行する１つ以上のコンピューティングデバイスを含んでよく、ゲームデータ１６０を記憶する記憶デバイスを含むがこれらに限定されないその他のデバイスも含み得る。しかしながら、いくつかの実施形態では、ゲームシステム１００の機能及びコンポーネントは、１つ以上のクライアントデバイス１２０を少なくとも部分的に実装され得る。ゲームデータ１６０は、例えば、グラフィカルオブジェクト、パターン等のような、ゲーム環境／ユニバースを構築及びレンダリングするために、持続的かつグローバルなデータを記憶し得る。ゲームデータ１６０は、また、特定のプレーヤ１５０のために、ゲームシステム１００とともにプレーヤの登録情報、ゲームキャラクタ１５２の情報、クライアントデバイス１２０の情報、個人情報（例えば、名前、アカウント番号、連絡先など）、セキュリティ情報及び基本設定（例えば、通知設定）のようなプレーヤ情報を記憶してよいがこれに限定されない。少なくともいくつかの実施形態においては、ゲームデータ１６０は、また、プレーヤがゲームを行うグループを作ったり参加したりし得るゲームのためのグループ情報を記憶してよく、これはゲームグループと称され得る。ゲームデータ１６０は、また、以前にプレイしたゲームセッションからのデータをそれぞれ記憶するゲームレコード１３０、特定のゲームキャラクタとして、または２以上のゲームキャラクタとしての何れかで特定のプレーヤのゲームプレイをモデル化するプレーヤプロフィール１４０のような、その他のゲーム関連の情報を含み得る。マルチプレーヤゲームシステム１００において使用され得る例示的なコンピューティングデバイスは、図１７にて図示されている。
【００１４】
クライアントデバイス１２０は、様々な消費者用デバイスのいずれかであってもよく、デスクトップコンピュータシステム、ラップトップ／ノートブックコンピュータシステム、パッド／タブレット端末、スマートフォンデバイス、ゲームコンソール、携帯型ゲーム機及び装着型ゲームデバイスが含まれるが、これらに限定されない。装着型ゲームデバイスは、ゲーム用のメガネまたはゴーグル及び手首、腕またはその他の箇所で装着可能なゲーム用の「腕時計」を含み得るが、これらに限定されるものではない。したがって、クライアントデバイス１２０は、ゲーミングシステムとして構成される強力なデスクトップコンピュータから、スマートフォン、パッド／タブレット端末や装着型機器のような、「シン」のモバイルデバイスにまで及ぶ。各クライアントデバイス１２０は、デバイス１２０と互換性のあるオペレーティングシステム（ＯＳ）プラットフォームを実装し得る。クライアントデバイス１２０は、マルチプレーヤゲーム用の入力及び出力コンポーネント並びにクライアントソフトウェア（ゲームクライアント１２２）を含むことができるが、これらに限定されるものではなく、マルチプレーヤゲームを介して、それぞれのプレーヤ１５０は、マルチプレーヤゲームシステム１００によって現在実行されるマルチプレーヤゲームセッションに参加できる。特定のクライアントデバイス１２０上のゲームクライアント１２２は、特定のデバイス１２０の種類及びデバイス１２０のＯＳプラットフォームの構成と機能を支持するよう調整され得る。クライアントデバイス１２０として使用され得る例示的なコンピューティングデバイスは、図１７にて図示されている。
【００１５】
少なくともいくつかの実施形態においては、マルチプレーヤゲームシステム１００は、オンラインマルチプレーヤゲームを実行してよく、マルチプレーヤゲームシステム１００は、オンラインのマルチプレーヤゲームロジックを実装し、オンラインマルチプレーヤゲーム用の実行環境としての役割をするか提供するゲームプロバイダのネットワーク上の１つ以上のデバイスであるか、または含み得る。これらのオンラインマルチプレーヤゲームの環境では、ゲームクライアント１２０は、通常、マルチプレーヤゲームシステム１００から遠くはなれて配置され、中間ネットワークまたはインターネットのようなネットワークを通じて有線及び／または無線接続を介してゲームデバイス１００にアクセスする。さらに、クライアントデバイス１２０は、通常、オンラインマルチプレーヤゲームをプレイするために、入力機能及び出力機能の両方をそれぞれ有し得る。図１２は、マルチプレーヤオンラインゲーム用の実行環境としての役割をし得るプロバイダネットワークにホストされるゲームシステムを含む、例示的なネットワークベースのマルチプレーヤゲーム環境を示す。
【００１６】
しかしながら、いくつかの実施形態では、マルチプレーヤゲームシステム１００は、ゲームロジックをローカルで実行する１つ以上のデバイスとして、または１つ以上のデバイス上で少なくとも部分的に実装されてよく、したがって、例えば、コンソールにインストールされる（またはコンソールに挿入されたメディアから実行される）コンソールベースのマルチプレーヤゲーム用の実行環境としての役割をするゲームコンソールのような、マルチプレーヤゲームの少なくともいくつかの実行をローカルに提供する。これらのマルチプレーヤのゲーム環境においては、ゲームクライアント１２０は、通常、システム１００のローカルにあり、ローカルの有線接続または無線接続を介してシステム１００にアクセスする。さらに、これらのローカルのマルチプレーヤゲーム環境においては、マルチプレーヤゲーム（例えば、ゲームコンソール）をホストするデバイス（単数または複数）は、一般に、テレビまたはモニタのようなゲームグラフィックスを表示するための表示デバイスを含むか表示デバイスに接続されてよく、クライアントデバイス１２０は、通常、デバイスによってホストされたマルチプレーヤゲームをプレイするための制御／入力機能のみ提供し得る（例えば、クライアントデバイス１２０は、コンソールに接続された「ゲームコントローラ」であり得る）。
【００１７】
しかし、注意すべきなのは、ゲームコンソールのようなマルチプレーヤゲームシステム１００は、有線及び／または無線接続を介して、１つ以上のリモートネットワークサイト、サービスまたはデバイスに、例えば、ゲームデータ（例えば、以前にプレイしたゲームセッションをそれぞれ記憶するゲームレコード１３０）を記憶し検索するためのネットワークベースのストレージサービスに、更新、ゲームのダウンロード及びその他の情報を提供するゲームプロバイダのサーバに、またはマルチプレーヤのゲーム環境によりプレーヤ１５０がネットワークを介して多数の異なるマルチプレーヤゲームシステム１００のインスタンスからゲームセッションに参加するのを可能にする場合に、マルチプレーヤゲームをホストするマルチプレーヤゲームシステム１００の１つ以上のその他のインスタンスに、接続し得る。
【００１８】
いくつかの実施形態では、サーバのような１つ以上のデバイスがゲームシステムの機能のほとんどまたはすべてをホストするクライアントサーバモデルまたはそのバリエーションに従って実装するゲームシステムの代わりに、例えば図１６Ａ及び１６Ｂに示されているように、ゲームシステムは、分散サイトまたはピアーツーピアー型のアーキテクチャに従って実装されてもよい。例えば、ピアーツーピアーゲームシステムのアーキテクチャにおいては、図１Ａから図１Ｄに示されているゲームシステム１００のゲーム機能とコンポーネントの少なくともいくつかが、一括してゲームセッションを実行し、記録及びリプレイする、ピアーツーピアーの関係に参加する１つ以上のクライアントデバイス１２０に配布され得る。
【００１９】
図１Ａから図１Ｄにおいて、及び本明細書の何れかにおいて、「プレーヤ」という語は一般に、マルチプレーヤゲームに参加する、実際の人を意味するために使用され、「クライアント」（「クライアントデバイス」及び「ゲームクライアント」におけるような）という語は、一般に、プレーヤが、マルチプレーヤゲームを操作することを通じてマルチプレーヤゲームシステムへのハードウェア及び／またはソフトウェアインタフェースを意味するために使用され、及び「キャラクタ」や「ゲームキャラクタ」という語は、一般に、プレーヤがゲームセッション中のゲーム環境内のその他のゲームキャラクタ、その他のゲームエンティティ及びその他のオブジェクトを操作するためのクライアントデバイスでゲームクライアントを介して制御し得るプレーヤのゲームにおける存在または「アバター」を意味するために使用されることに留意されたい。注意すべきなのは、少なくともいくつかの実施形態においては、ゲームのキャラクタは、例えば、オリジナルのゲームセッションの間、または以前に記録されたゲームセッションのリプレイの間に、それぞれのプレーヤのプロフィールによるゲームシステムのＡＩコンポーネントのような、ゲームシステムによっても制御され得る。
【００２０】
本明細書に記載のマルチプレーヤゲーム環境に実装され得るマルチプレーヤゲームは、しっかりとスクリプト化されたゲームから、ゲームプレイに様々な量の乱雑さを導入するゲームにまで渡り得る。例えば、マルチプレーヤゲームは、プレーヤ１５０が（キャラクタ１５２を介して）いくつかのゴールを達成するか、いくつかの障害を克服しようとするゲームであってよく、プレーヤ１５０が克服しなければならない多数のレベルを含んでよい。例えば、マルチプレーヤゲームは、プレーヤ１５０が協力してゴールを達成するか障害を克服するゲームであってよく、または１以上のプレーヤ１５０が１以上のその他のプレーヤ１５０と競うゲームであってよく、チームまたは個人の何れでもよい。あるいは、マルチプレーヤゲームは、プレーヤ１５０が、任意の特定のゴールを念頭に置かずに、複雑なゲームユニバース１０４を受動的に探索し発見をし得るゲームまたはプレーヤ１５０がゲームユニバース１０４内の環境を能動的に変更する「世界構築」のマルチプレーヤゲームであってよい。マルチプレーヤゲームは、比較的シンプルな２次元（２Ｄ）のカジュアルゲームから、より複雑な２Ｄまたは３次元（３Ｄ）のアクションまたは戦略ゲームまで、永続的なオンラインの「世界」において何百または何千のプレーヤを同時にサポートし得る、多人数のマルチプレーヤオンラインロールプレイングゲーム（ＭＭＯＲＰＧ）などの、複雑な３Ｄの多人数のマルチプレーヤオンラインゲーム（ＭＭＯＧ）までの全てを含み得る。
【００２１】
ゲームセッションの記録
図２は、少なくともいくつかの実施形態による、マルチプレーヤゲームシステムにおけるゲームセッション中のゲームレコードの記録及びプレーヤのプロフィールを更新するための方法の高レベルのフローチャートである。２００で示されるように、新たなゲームセッションは、１以上のプレーヤから開始され得る。特定のゲームセッションには、ゲームシステムは、ゲームセッションのコンテキスト、キャラクタ及び環境を含むゲームユニバースを生成し得る。少なくともいくつかの実施形態においては、ゲームセッションに参加する各プレーヤは、ゲームにおいてキャラクタを引き継いでよく、また、クライアントデバイス上のゲームクライアントインスタンスを使用してゲームユニバースにおけるキャラクタを制御し得る。２０２で示されるように、ゲームセッション中にプレーヤのゲームプレイはゲームレコードに記録され得る。ゲームレコードは、記録されたゲームセッション中のゲームユニバースにて起こった特定の一連のイベントとの特定のタイムラインを表し得ることに留意すべきである。少なくともいくつかの実施形態においては、ゲームシステムは、各プレーヤキャラクタの視点からのゲームユニバースのビューをゲームレコードに記録し得る。図６Ａは、少なくともいくつかの実施形態による、ゲームセッションに対する例示的なオリジナルのタイムラインを示し、図７Ａは、例示的なゲームレコードからのゲームセッションのメタデータを示す。２０４で示されるように、少なくともいくつかの実施形態では、ゲームプレイの間、ゲームシステムはまた、ゲームセッションにおけるプレーヤのアクションにより各プレーヤに対するプレーヤプロフィールを更新し得る。２０６で示されるようにゲームレコードは、プレーヤ（単数または複数）が一旦、ゲームセッションにおいてプレイを完了すると記憶され得る。図７Ａは、少なくともいくつかの実施形態による、例示的なゲームレコードからのゲームセッションのメタデータを示す。図２の要素は、図１Ａを参照してより詳細に説明される。
【００２２】
図１Ａは、少なくともいくつかの実施形態による、マルチプレーヤゲームシステムにおけるゲームセッション中のゲームレコードの記録及びプレーヤのプロフィールの更新を示す。１以上のプレーヤ１５０は、それぞれのクライアントデバイス１２０を介してゲームシステム１００を操作し、ゲームセッションを開始し、進行するに従い、ゲームにおいてプレーヤのそれぞれのキャラクタ１５２を制御し得る。図１Ａは、非限定的例として、それぞれのクライアントデバイス１２０Ａ〜１２０Ｃ上のゲームクライアント１２２Ａ〜１２２Ｃを介して、それぞれのキャラクタ１５２Ａ〜１５２Ｃを制御する、３人のプレーヤ１５０Ａ〜１５Ｃを示す。少なくともいくつかの実施形態においては、ゲームシステム１００は、限定するものではないが、各プレーヤ１５０のプレーヤのゲームキャラクタ１５２の情報及びセキュリティ情報を含む各プレーヤ１５０に、プレーヤ情報を記憶し得る。プレーヤ１５０のセキュリティ情報（シンプルかつ非限定的な例として、パスワード）は、プレーヤ１５０を認証するため、及びゲームシステムへのプレーヤのアクセス及びゲームシステム１００におけるプレーヤのゲームキャラクタ（単数または複数）１５２やプレーヤ１５０が属し得るゲームグループ（単数または複数）のような、プレーヤのリソースへのアクセスを認証するために使用されることが可能な情報を含み得る。例えば、セキュリティ情報は、プレーヤ１５０がその他のプレーヤの許可なく別のプレーヤ１５０のキャラクタ１５２を制御することを防ぐために使用され得る。
【００２３】
特定のゲームセッション、ゲームシステム１００のゲームロジック／実行１０２は、ゲームセッションのコンテキスト、キャラクタ及び環境を含むゲームユニバース１０４を生成し得る。プレーヤ１５０は、クライアントデバイス１２０を介してこのユニバース１０４内のキャラクタ１５２を操作する。ゲームシステム１００は、それぞれのプレーヤのキャラクタ１５２の視点からゲームユニバース１０４のビューを、プレーヤのそれぞれのクライアントデバイス１２０上のゲームクライアント１２２を介してプレーヤ１５０へと生成し表示してよく、プレーヤの入力を受信し、プレーヤのそれぞれのクライアントデバイス１２０上のゲームクライアント１２２を介して、それぞれのプレーヤのそれぞれのキャラクタ１５２をプレーヤが操作することにより、ゲームユニバース１０４を操作し得る。
【００２４】
以下は、ゲームを実行する例示的な方法の概略的な説明であり、限定することを意図するものではない。通常、ゲームシステム１００のゲームロジック／実行１０２は、ゲームイベントループが、プレーヤの入力を監視し反応して、クライアントデバイス１２０によって制御されるようにキャラクタ１５２を介してゲームユニバース１０４の操作をするイベント駆動型アーキテクチャにより実行される。プレーヤの入力及びユニバース１０４の操作並びにゲームイベントループの繰り返しにおけるその他のゲーム要素（例えば、スクリプトイベント及び／またはランダムコンポーネント）に基づいて、ゲームセッションはゲームセッションタイムラインに沿って進行し、それに応じてゲームユニバース１０４は変更され更新される。例示的なゲームセッションのタイムラインのグラフ表示が、図６Ａに設けられている。
【００２５】
いくつかの実施形態では、ゲームイベントループの実行と同時に、ゲームシステム１００は、ユニバース１０４の現状に基づいて、ユニバース１０４の２Ｄまたは３Ｄ表示をレンダリングし、レンダリングに基づいて映像フレームレートにより映像及び音声を生成し、及び表示のためにクライアントデバイス１２０に映像及び音声出力を送信またはストリーミングする。対応するキャラクタ１５２の現在の視点またはユニバース１０４のビューにより、映像及び音声が生成され、それぞれのクライアントデバイス１２０に送信またはストリーミングされ得ることに留意されたい。ゲームクライアントは２Ｄまたは３Ｄレンダリングコンポーネントを実装し得ないため、これらのゲームクライアントは、「シン」ゲームクライアントと称され得る。図１４は、レンダリングされたゲーム映像及び音声をクライアントデバイス上のシンゲームクライアントに提供するために用いられる、例示的なネットワークベースのゲーム環境を示す。しかしながら、いくつかの実施形態では、実際のレンダリングの少なくとも一部は、２Ｄまたは３Ｄレンダリングコンポーネントを実装するクライアントデバイス１２０上の「シック」ゲームクライアント１２２によって実行され得る。これらの実装においては、図１４に示されたように、映像と音声に完全なゲームユニバース１０４のレンダリングを実行し、ディスプレイにクライアントデバイス１２０上の「シン」ゲームクライアントへ映像及び音声を送信するゲームシステム１００のかわりに、ゲームシステム１００は、シックゲームクライアント１２２が映像及び音声をレンダリングし表示できるクライアントデバイス１２０にユニバース１０４のデータをその代わりに送信し得る。図１３は、クライアントデバイス上のシックゲームクライアントを使用する例示的なネットワークベースのゲーム環境を示す。
【００２６】
ゲームシステム１００は、ゲームレコード１０６のコンポーネントを含み得る。ゲームセッション中、ゲームレコード１０６は、セッション用にゲームの情報をゲームレコード１３０に記録し得る。図１１は、少なくともいくつかの実施形態による、例示的なゲームレコードを示す。図７Ａは、図６Ａの例示的なタイムラインに対応する例示的なゲームレコードからのゲームセッションのメタデータを示す。ゲームセッションのメタデータとして記録されるゲーム情報は、ゲームユニバース１０４が初期化され、ゲームタイムラインが開始される初期のゲーム状態を含み得る。ゲームレコード１０６は、また、それぞれがゲームセッションが進行するにしたがい特定の時間で現在のゲーム状態を示すゲームレコード１３０において、定期的に、または不定期に入力を記録し得る。少なくともいくつかの実施形態においては、ゲームレコード１０６は、ゲームレコード１３０におけるゲームセッションに関する２以上のプレーヤのキャラクタ１５２の視点に対応する、メタデータを記録し得る。いくつかの実施形態では、ゲームレコード１０６は、ゲームセッションのメタデータの代わりに、またはゲームセッションのメタデータに加えて、ゲームレコード１３０におけるゲームセッションの映像を記録し得る。いくつかの実施形態では、ゲームレコード１０６は、ゲームレコード１３０におけるゲームセッションに関する、それぞれが異なるプレーヤのキャラクタ１５２の視点に対応する、２つ以上の異なる映像ストリームを記録し得る。いくつかの実施形態では、ゲームレコード１０６は、また、プレーヤプロフィール１４０のスナップショットをゲームセッション中またはゲームセッションの最後で、ゲームレコード１３０に記憶し得る。いくつかの実施形態では、ゲームレコード１０６はまた、例えば図１０に示されたように、ゲームレコード情報のような、それぞれのゲームセッションについての情報を含むゲームレコード情報をゲームレコード１３０に記憶し得る。
【００２７】
一旦、ゲームセッションが完了すると、完成されたゲームレコード１３０は、記憶されたゲームレコード１３２の収集に記憶され得る。少なくともいくつかの実施形態においては、プレーヤ１５０Ａ〜１５０Ｃは、マルチプレーヤゲームシステム１００のためのゲームグループのメンバになり得るか、またはゲームグループを形成もしくは参加し、及びゲームセッション用のレコード１３０はそのゲームグループに特有な収集に記憶され得る。少なくともいくつかの実施形態においては、ゲームクライアント１２２は、例えば、どちらのプレーヤ（単数または複数）１５０がゲームレコード１３０を記憶するために選択し、ゲームレコード１３０を記憶するために位置を選択し、ゲームレコード１３０に名前をつけ、そうでない場合には収集（単数または複数）に記憶されたゲームレコードを表示及び管理し得ることを介して、インタフェースを提供し得る。
【００２８】
少なくともいくつかの実施形態においては、ゲームレコードにゲームセッションの現在のゲーム状態を記録する頻度は、ゲームの種類と実際のゲームの実装に依存し得る。いくつかの実装においては、さらに、入力は、ゲームユニバース１０４における変更の検出に対応して記憶されるのみであり得る。しかしながら、入力は、一般に、ゲームユニバース１０４を再現し、ゲームレコードからゲームセッションをリプレイするのに少なくとも十分な速度で記録され得る。さらに、現在のゲーム状態として記録された情報の量及び種別は、また、ゲームと実際のゲームの実装の種類に依存し得る。例えば、プレーヤ１５０がスクリプトが書かれたパスをユニバース１０４を通して追従する、きちんとスクリプトが書かれたマルチプレーヤゲームは、記録される状態情報の量と同じ量を、かなりの量のランダム性を含むマルチプレーヤは必要としなくてよく、及び／またはプレーヤ１５０がユニバース１０４を探索する自由度をもっと与えることを可能にする。しかしながら、各入力は一般に、ゲームセッションを進行させるのに十分なゲーム状態の情報及びゲームのタイムライン上の以前の状態からゲームのタイムライン上の現在の状態までのリプレイ中のゲームユニバース１０４を含み得る。
【００２９】
ゲームシステム１００は、また、クライアントデバイス１２０からゲームユニバース１０４中のそれぞれのキャラクタ１５２を制御するときに、プレーヤ１５０の様々なアクションを監視し得るプレーヤ監視１０８のコンポーネントを含み得る。監視されたプレーヤ１５０のアクションは、プレーヤのゲームプレイをモデル化するそれぞれのプレーヤ１５０のためのプレーヤプロフィール１４０を作成し、時間の経過とともに更新するよう使用され得る。図８Ａ及び図８Ｂは、少なくともいくつかの実施形態による、プレーヤのプロフィール１４０を示す。図８Ａ及び図８Ｂに示された実施例は、限定することを意図していない。少なくともいくつかの実施形態においては、各プレーヤプロフィール１４０は、ゲームに参加するときに、プレーヤ１５０のアクションから決定されたそれぞれのプレーヤ１５０の１つ以上のゲームプレイ属性に対する値を記憶し得る。少なくともいくつかの実施形態においては、プロフィール１４０に記憶される少なくともいくつかの属性に対する値は、様々な統計技術によって決定され得る。一例ではあるが、プレーヤ監視１０８のコンポーネントは、プレーヤ１５０のゲームにおける特定のイベントに対する反応時間を監視して、プレーヤのプロフィール１４０におけるプレーヤの反応時間の実際の平均を示す値を保持し得る。
【００３０】
監視されるアクションの種類及び監視されたアクションから派生するゲームプレイの属性の種類及び数は、ゲームの種類に依存し得る。例えば、いくつかの実施形態によって、図８Ａは、格闘ゲームまたは「一人称シュータ」ゲームの例示的なプレーヤの属性を示す。本実施例では、格闘ゲームのために追跡されるプレーヤの属性は、闘うか、逃げるという傾向、武器の好み、反応時間、精度及び射法（例えば、選択的またはスプレー的）の１つ以上を含むがこれらに限られない。追跡される属性は、図８Ａに示されたような比較的少数及び比較的高いレベルであり得るか、またはより詳細に述べられ得ることに留意すべきである。例えば、そのプレーヤが闘うか、逃げるかという傾向、武器の好み、反応時間、精度及び射法のうち１つ以上のゲーム中の、様々な異なる状況や場面のために別に追跡され得ることが可能である。プレーヤ１５０がゲームシステム１００において多数のキャラクタ１５２を確立することも可能なゲームにおいては、２つ以上のキャラクタ１５２を使用するプレーヤのゲームプレイの属性は、プレーヤプロフィール１５０において包括的に追跡され記憶され得るか、または代替的に、プレーヤ１５０のゲームプレイの属性は、ゲームにおいてプレーヤのキャラクタ１５２のそれぞれに、別々に追跡され記憶され得る。
【００３１】
少なくともいくつかの実施形態においては、プレーヤ１５０のゲームプレイの属性は、２つ以上の異なるゲームに渡って追跡されてよく、または異なる種類のゲームに渡ってさえ追跡されてよく、プレーヤ１５０のために共通のプレーヤプロフィール１４０を構築するために使用され得る。図８Ｂは、２つ以上の異なるゲーム及び／またはゲームの種類の属性を含む例示的なプレーヤプロフィール１４０を示している。図示されているように、すべてではないが、ほとんどすべてのゲームやゲームの種類に共通であり、２つ以上の異なるゲームにわたって追跡され、一括してプレーヤのプロフィール１４０のグローバル属性の値を生成し調整するために使用される、１つ以上の属性（例えば、反応時間）は、グローバル属性であり得る。その他の属性は、ゲームやゲーム型の仕様品であり得る。本実施例では、ゲーム／ゲームタイプＢの例示的なゲームプレイの属性（Ｂ１，Ｂ２…）と同様に、戦闘ゲーム／ゲームタイプＡの例示的なゲームプレイの属性が示されている。ゲーム／ゲームタイプＢは、例えば、ドライビングまたはレーシングゲームか、またはゲームタイプであってよく、その属性（Ｂ１，Ｂ２…）は、ドライビング属性／基本設定であり得る。
【００３２】
ゲームセッションの再生及びゲームセッションのリプレイ時の新しいタイムラインのスポーン
図３は、少なくともいくつかの実施形態による、以前に記録されたゲームレコードの再生及びプレーヤが再生中にキャラクタの制御を行う方法の高レベルのフローチャートである。プレーヤは、リプレイされるゲームレコードを選択し得る。例えば、プレーヤがメンバである特定のゲームグループに属するゲームレコードの収集から選択し得る。ゲームレコードは、記録されたゲームセッション中のゲームユニバースにて起こった特定の一連のイベントとの特定のタイムラインを表し得ることに留意すべきである。３００に示すように、プレーヤは、選択されたゲームレコードから以前にプレイされたゲームセッションの再生を開始し得る。いくつかの実施形態では、ゲームシステムは、選択されたゲームレコードに記憶された情報からのゲームセッションのコンテキスト、キャラクタ及び環境が含むゲームユニバースを再生してよく、また、記録時にゲームセッションを再生し始めてよい（例えば、ゲームレコードによって示されたタイムラインに沿って進行する際にゲームユニバースの状態を生成しレンダリングする）。
【００３３】
例えば、プレーヤは、あたかもプレーヤがゲームセッションの映像を見ているかのように、クライアントデバイス上のプレーヤのゲームクライアントを介してゲームセッションの再生を見ることができる。いくつかの実施形態では、ゲームシステムは、クライアントデバイス上のプレーヤのキャラクタの視点からゲームセッションのリプレイを表示し得る。しかしながら、ゲームシステムは、プレーヤが再生中に任意のときにプレーヤのキャラクタに入り、制御するのを可能にし得る。それによってゲームユニバースにおいて新しいタイムラインをスポーンし得る。３０２で示すように、ゲームシステムは、プレーヤが再生中のゲームセッションにおけるプレーヤのキャラクタを制御したことを検出し得る。３０４で示されるように、応答して、ゲームシステムは、新しいゲームレコード及び選択されたゲームレコードとオリジナルのタイムラインからの新しいタイムラインをスポーンしてよく、新しいゲームセッション用のゲームの実行を開始し、新しいゲーム状態を新しいゲームレコードに記録し始める（新しいゲームレコードは、スポーンのイベントのときまでオリジナルのゲームレコードと同じであってもよいことに注意する）。図６Ｂは、オリジナルのタイムラインからのゲームセッション用の新しいタイムラインのスポーンの一実施例を示し、図７Ｂは、少なくともいくつかの実施形態による、図７Ａに示されるオリジナルのゲームレコードからスポーンされる、例示的な新しいゲームレコードからのゲームセッションのメタデータを示す。
【００３４】
３０６で示されるように、少なくともいくつかの実施形態においては、一旦、プレーヤがリプレイされているゲームセッションに入ると、ゲームシステムは、キャラクタに対応するプレーヤのプロフィールによるゲームセッションに含まれる１つ以上のその他のキャラクタのアクションをシミュレートし始めてよい。少なくともいくつかの実施形態においては、プレーヤが、３０２で示すように、ゲームレコードから再生中のゲームセッションにおけるキャラクタを制御したことを検出すると、スポーンされたイベントのオリジナルのゲームセッションにおける１つ以上のその他のキャラクタのアクションは、その時点以降、キャラクタに対応するプレーヤのプロフィールで記録されるプレーヤの属性により、少なくとも初めにゲームシステムのロジック（例えば、人工知能（ＡＩ）のロジック）によって制御される。
【００３５】
少なくともいくつかの実施形態においては、ゲームセッションはゲームレコードからリプレイされ、新しいタイムライン及び新しいゲームセッションがスポーンされる前または後のいずれかにおいて、オリジナルのゲームセッションに参加した１以上のプレーヤは、ゲームセッションに実際に参加せずに、またはゲームセッション中のキャラクタを制御せずに、「ゴーストモード」におけるそれぞれのクライアントデバイスを介してゲームセッションのリプレイを見ることを選択し得る。少なくともいくつかの実施形態においては、ゲームシステムは、各プレーヤがそれぞれのキャラクタの視点からリプレイを見ることができるように、ゲームセッションにおけるキャラクタ毎に異なる視点を再生し得る。いくつかの実施形態において、所望であれば、プレーヤは、その他のキャラクタの視点からリプレイを見ることができる。
【００３６】
上記は、３００で、ゲームシステムが、選択されたゲームレコードを記憶しそれぞれのゲームセッションを再生する情報からゲームユニバースを再生することを記載している。しかしながら、いくつかの実施形態では、ゲームレコードは、ゲームセッションの映像を含んでよく、ゲームレコードからのゲームセッションの再生は、ゲームレコード中に記録される際に映像を再生することを少なくとも初期に含み得る。いくつかの実施形態では、この映像は、異なる視点が必要に応じて再生中にそれぞれのプレーヤに提示されることが可能なように、それぞれが、ゲームセッションに関連する異なるプレーヤのキャラクタの視点に対応する２つ以上の異なる映像ストリームを含み得る。３０２と３０４では、一旦、スポーンされたイベントが検出され、新しいタイムライン及び新しいゲームセッションがスポーンされると、ゲームシステムは映像の再生を停止してよく、必要に応じて３０６にて示されるように、それぞれのプレーヤのプロフィール（単数または複数）によるゲームシステムによってシミュレートされた１つ以上のキャラクタのゲームプレイとともに、新しいゲームセッションのために通常のゲームの実行を開始してよい。
【００３７】
図３の要素は、図１Ｂ及び図１Ｃを参照してより詳細に説明される。
【００３８】
図１Ｂは、少なくともいくつかの実施形態による、以前に記録されたゲームレコードの再生を開始するプレーヤを示す。以前にプレイしたゲームセッション用のゲームレコード１３０は、記憶されたゲームレコード１３２の収集に記憶されてもよい。少なくともいくつかの実施形態においては、プレーヤは、ゲームシステム１００のゲームグループのメンバであってよく、ゲームグループにおけるメンバによってプレイされるゲームセッションのゲームレコードは、ゲームグループに特有な収集に記憶され得る。少なくともいくつかの実施形態においては、ゲームクライアント１２２は、プレーヤ（単数または複数）１５０が以前にプレイしたゲームレコード１３２の収集（単数または複数）に記憶されるゲームセッションのためのゲームレコードを選択し得るものを介したインタフェースを提供し得る。図１Ｂは、プレーヤ１５０Ｂが、クライアンデバイス１２０Ｂ上のゲームクライアント１２２Ｂを介して、リプレイのために、記憶されたゲームレコード１３２から特定のゲームレコード１３０Ａを選択したことを示す。
【００３９】
一旦、ゲームレコード１３０Ａがリプレイのために選択されると、ゲームシステム１００のゲームの再生１１０のコンポーネントは、ゲームシステム１００のゲームロジック／実行１０２を介してゲームレコード１３０Ａからの記録されたゲームセッションの再生を促進し得る。少なくともいくつかの実施形態においては、ゲームセッションの再生は、初期のゲームユニバース１０４の状態を再生し、ゲームレコードに記録された現在のゲーム状態にしたがって、ゲームのタイムラインに沿ってゲームユニバース１０４を発展させることを含み得る。例示的なゲームセッションのタイムラインのグラフ表示が、図６Ａに設けられている。図７Ａは、図６Ａの例示的なタイムラインに対応する例示的なゲームレコードからのゲームセッションのメタデータを示す。いくつかの実施形態では、ゲームセッションはゲームレコード１３０Ａから再生される際に、ゲームシステム１００は、ユニバース１０４の現状に基づいて、ユニバース１０４の２Ｄまたは３Ｄ表示をレンダリングし、レンダリングに基づいて映像フレームレートにより映像及び音声を生成し、及び表示のためにクライアントデバイス１２０Ｂに映像及び音声出力を送信する。しかしながら、いくつかの実施形態では、少なくともいくつかのレンダリングは、前述し、図１３に示されるように、シックゲームクライアント１２２Ｂによりクライアントデバイス１２０Ｂでその代わりに実行され得ることに留意されたい。
【００４０】
少なくともいくつかの実施形態においては、プレーヤ１５０Ｂは、あたかも静止映像であるかのように「ゴーストモード」で選択されたゲームレコード１３０Ａからゲームセッションのリプレイを単に見ることを選択し得る。少なくともいくつかの実施形態においては、ゲームシステム１００は、ゲームクライアント１２２Ｂを介して再生制御インタフェースをプレーヤ１５０Ｂへと提供し得る。そのため、プレーヤ１５０Ｂは、例えば、後へのジャンプ、前へのジャンプ、早送り再生、スロー再生のような、映像再生制御を介して、ゲームセッションの再生を制御することができる。
【００４１】
しかしながら、ゲームセッションの静的再生を可能とする代わりに、または、ゲームセッションの静的再生を可能とすることに加えて、ゲームシステム１００の実施形態及びゲームクライアント１２２は、プレーヤ１５０Ｂが、ゲームレコード１３０からゲームセッションのリプレイにおける任意の時点でプレーヤのゲームキャラクタ１５２Ｂに「入る」ことができ、クライアントデバイス１５０Ｂからキャラクタ１５２Ｂを制御し始める事が可能である。図１Ｃは、少なくともいくつかの実施形態による、以前に記録されたゲームレコード１３０Ａの再生中のプレーヤのキャラクタ１５２Ｂに進んでいるプレーヤ１５０Ｂを示す。ゲームシステム１００は、もしプレーヤ１５０Ｂが希望する場合には、プレーヤ１５０Ｂがゲームセッションのリプレイの間に、ゲームキャラクタ１５２Ｂのアクションに進み、制御することができるゲームクライアント１２２Ｂを介してインタフェースを提供し得る。
【００４２】
少なくともいくつかの実施形態においては、プレーヤ１５０Ｂが、プレーヤのゲームキャラクタ１５２Ｂを引き継ぎ、ゲームレコード１３０Ａに記憶されたゲームのタイムラインのある時点において、以前にプレイし記憶されたゲームセッションのユニバース１０４を操作すると、新しいタイムラインは、オリジナルのゲームセッションからスポーンされ得、新しいゲームレコード１３０Ｂはオリジナルのゲームレコード１３０Ａからスポーンされ得る。スポーンの時点からゲームレコード１０６は、新しいタイムライン用に新しいゲーム状態の情報をゲームレコード１３０Ｂに記録し始め得る。図６Ｂは、少なくともいくつかの実施形態による、新しいタイムラインをオリジナルのタイムラインからスポーンすることをグラフで示す。図７Ｂは、図６Ａの例示的な新しいタイムラインに対応する例示的な新しいゲームレコード１３０Ｂからのゲームセッションのメタデータを示す。
【００４３】
図６Ｂを図６Ａと、図７Ｂを図７Ａと比較することでわかるように、新しいタイムライン及び新しいゲームレコード１３０Ｂは、オリジナルのタイムラインとゲームレコード１３０Ａからスポーンイベントの時間までと同一であってよく、その後、新しいタイムライン及び対応するゲームレコード１３０Ｂはオリジナルから分かれる。例えば、図６Ａに示され、図７Ａのゲームレコード中のゲームセッションのメタデータとして記憶されるオリジナルのタイムライン上では、イベントＡ及びイベントＢは、プレーヤ１５０Ｂがキャラクタ１５２Ｂの制御を再開するタイムラインの時点より前のオリジナルのタイムラインで起こり、イベントＣ、イベントＤ及びイベントＥは、プレーヤ１５０Ｂがキャラクタ１５２Ｂの制御を再開するタイムラインの時点より後のオリジナルのタイムラインで起こる。図６Ｂに示され、及び図７Ｂに記録された新しいタイムライン上では、イベントＡ及びイベントＢが依然として起こり、イベントＣ（イベントＣ’として示される）が依然として起こるが、幾分異なっており、オリジナルのタイムライン上で起こったイベントＤ及びイベントＥは起こらず、オリジナルのタイムライン上で起こらなかったイベントＦ、イベントＧ及びイベントＨが起こる。
【００４４】
ゲーム及びゲームセッションのツリー
図１Ｃ、図６Ｂ及び図７Ｂにて示すように、新しいタイムラインは、ゲームセッションにおけるキャラクタ１５２Ｂの制御を行うプレーヤ１５０Ｂに対応して、ゲームレコード１３０Ａからリプレイされるオリジナルのゲームセッションからスポーンされてよく、新しいタイムラインに対する新しいゲームレコード１３０Ｂが作成され記憶され得る。それにより、オリジナルのゲームセッションは、再びオリジナルのゲームレコード１３０Ａからリプレイされてよく、別の新しいタイムライン及びゲームレコードがそこからスポーンされてよい。加えて、ゲームレコード１３０Ｂに記録されたゲームセッションは、リプレイされてよく、新しいタイムライン及びゲームレコードがそこからスポーンされてよい。したがって、オリジナルのゲームレコード中に記録されたオリジナルのゲームセッションは、複数回リプレイされてよく、新しいタイムライン及び新しいゲームレコードはオリジナルのゲームセッションからスポーンされる。加えて、新しいゲームレコードに記録されたゲームセッションがリプレイされてよく、新しいタイムライン及び新しいゲームレコードが同様にこれらのリプレイからスポーンされる。時間の経過とともに、ゲームセッションのツリーは、オリジナルまたはルートゲームセッションから生成されてよく、場合によって、ツリーの第１のレベルでオリジナルのゲームレコードからスポーンされた１つ以上のゲームセッション、第２のレベルでゲームセッションからスポーンされる１つ以上のゲームセッション等とともに生成されてよい。
【００４５】
本明細書にて記載されるゲームシステムの少なくともいくつかの実施形態は、プレーヤに、以前にプレイされたゲームセッションを記憶し、表示し、管理し、アクセスし、及びリプレイする方法を提供し得る。少なくともいくつかの実施形態においては、各ゲームセッションは、特定のゲームレコードに対応してよく、ゲームセッションが本明細書で記載されるようにリプレイされるのを可能にするフォーマット（単数または複数）において対応するゲームセッションを記録するデータのためのコンテナとして見られ得る。図１１は、少なくともいくつかの実施形態による、例示的なゲームレコードを示す。少なくともいくつかの実施形態においては、プレーヤは、ゲームシステムのためのゲームグループのメンバになり得るか、またはゲームグループを形成もしくは参加し、及びゲームグループのゲームセッションに対応するゲームレコードは、そのゲームグループに特有な収集に記憶され得る。少なくともいくつかの実施形態においては、上述したようなゲームセッションツリーにより、ゲームシステムはゲームセッションを整理、表示及びアクセスするための方法を提供し得る。
【００４６】
図９Ａは、少なくともいくつかの実施形態による、例示的なゲームセッション「ファミリー」ツリーをグラフで示す。ツリー内の各ゲームセッションは、ゲームレコードに対応し得ることに注意する。１以上のプレーヤは、ゲームレコードが生成され記憶されたオリジナルのゲームセッション９００（親ゲームセッションと考えられ得る）に参加させ得る。ある時点で、少なくとも１プレーヤは、オリジナルのゲームセッション９００のリプレイを開始してよく、リプレイされるオリジナルのタイムラインのある時点で、プレーヤはゲームにおいてキャラクタの制御を行ってよく、これにより、新しいゲームセッション９００Ａが記録され記憶される新しいタイムライン及び新しいゲームレコードをスポーンする。同様に、オリジナルのゲームセッション９００の後のリプレイの間、別の新しいゲームセッション９００Ｂは、オリジナルのゲームセッション９００からスポーンされ得る。続いて、スポーンされるゲームセッション９００Ａの後で、少なくとも１プレーヤはゲームレコードからゲームセッション９００Ａのリプレイを開始してよく、リプレイされるタイムラインのある時点で、プレーヤは、ゲーム内のキャラクタを制御してよく、これにより、新しいゲームセッション９００Ａ１が記録され記憶される新しいタイムライン及び新しいゲームレコードをスポーンする。同様に、ゲームセッション９００Ａの後のリプレイの間、別の新しいゲームセッション９００Ａ２は、ゲームセッション９００Ａからスポーンされ得る。これにより、多数の子セッションが親セッションからスポーンされてよく、追加の子孫セッションが子セッション（単数または複数）からスポーンされてよい。
【００４７】
少なくともいくつかの実施形態においては、ゲームシステムは、ゲームグループ内のプレーヤ（単数または複数）が、プレーヤ（単数または複数）が適切なアクセス権を有する、グラフ及び／またはテキストのリスト、表示またはグループのゲームセッションツリーの表示を介して、ゲームクライアントにユーザインタフェースを提供し得る。例えば、いくつかの実施形態では、図９Ａに示されているゲームセッションツリーのグラフ表示は、ゲームクライアントのインタフェースを介してクライアントデバイスに表示され得る。図９Ｂ及び図９Ｃは、少なくともいくつかの実施形態による、ゲームセッションのいくつかのその他の例示的なリスティングを示す。図９Ｂ及び９Ｃのリストは、例えば、図１Ａから図１Ｄに示されるように、プレーヤ１５０Ａ、１５０Ｂ及び１５０Ｃを含むゲームグループのようなゲームグループに関連付けられ得、ゲームグループのメンバによってプレイされてきた一部またはすべてのゲームセッションを列挙し得ることに注意する。また、さらに注意すべきことは、リストに示された各ゲームセッションは、特定のゲームレコードに対応し得ることである。
【００４８】
図９Ｂは、ゲームセッションが図９Ａに示されたツリー構造に対応する階層的なリストで示される例示的なゲームセッションのリストを示す。この例示的なゲームセッションのリストは、プレーヤ（単数または複数）が容易にファミリーツリーまたは、多数の子孫ゲームセッションがスポーンされた１つ以上の異なるオリジナルのゲームセッションの履歴を見ることを可能にする。例えば、図９Ａからの例示的なゲームセッションツリーは、＜ｏｒｉｇｉｎａｌ  ｇａｍｅ  ｓｅｓｓｉｏｎ  ９００＞として示され、オリジナルのゲームセッション９００及びその子孫（例えば、９００Ａ、９００Ａ１．．．９００Ｂ、９００Ｂ１．．．）からスポーンされたいくつかのゲームセッションを備え、＜ｏｒｉｇｉｎａｌ  ｇａｍｅ  ｓｅｓｓｉｏｎ９００＞の見出しの下に階層構造内に表示される。２つの追加のオリジナルのゲームセッション（９０１及び９０２）はまた、その子孫（もしあれば）とともにリストに示されている。
【００４９】
図９Ｃは、別の例示的なゲームセッションのリストを示し、ゲームセッションツリー（単数または複数）からのゲームセッションが、ゲームセッションを生成されまたはスポーンされたプレーヤ（単数または複数）の見出しの下に列挙される。このリストは、図９Ｂに示されたリストに追加または代替として提供され得る。本実施例では、図９Ｂに示された１１のゲームセッションがゲームセッションを作成またはスポーンされたプレーヤの下に一覧で示されている。例えば、＜ｏｒｉｇｉｎａｌ  ｇａｍｅ  ｓｅｓｓｉｏｎ９００＞は、プレーヤ１５０Ａのもとに列挙され、したがって、プレーヤ１５０Ａは、このゲームセッション９００を生じる。加えて＜ｇａｍｅ  ｓｅｓｓｉｏｎ９００Ａ１Ｂ＞、＜ｇａｍｅ  ｓｅｓｓｉｏｎ９００Ａ２＞及び＜ｇａｍｅ  ｓｅｓｓｉｏｎ９００Ｂ＞は、プレーヤ１５０Ａの下に列挙され、したがってプレーヤ１５０Ａはこれらのゲームセッションをスポーンする。プレーヤ１５０Ｂの下では、＜ｇａｍｅ  ｓｅｓｓｉｏｎ９００Ａ＞及び＜ｇａｍｅ  ｓｅｓｓｉｏｎ９００Ａ１Ａ＞が列挙され、したがってプレーヤ１５０Ｂはこれらのゲームセッションをスポーンする。加えて、＜ｏｒｉｇｉｎａｌ  ｇａｍｅ  ｓｅｓｓｉｏｎ９０１＞は、プレーヤ１５０Ｂのもとに列挙され、したがって、プレーヤ１５０Ｂは、このゲームセッションを生じる。
【００５０】
図９Ａから図９Ｃに示されるように、例示的なグラフィカル及び／またはテキストリスト、ビュー及び表示は、一例として示されており、限定を意図するものではないことに留意すべきである。ゲームセッション及びゲームセッションツリーは、それらの示される以外の様々なその他のフォーマットで列挙または表示されてよく、単にファミリーの階層もしくは所有者または２つ以上のプロパティの組み合わせ以外の１つ以上のその他のプロパティによってソートまたは構成され得る。例としては、ゲームセッションは、１つ以上の時間特性（例えば、作成日時、再生時間（持続時間）等）に基づいて構成またはソートされてよく、またはアルファベット順に列挙されてよい。
【００５１】
いくつかの実施形態では、ゲームシステムは、ゲームクライアントで１つ以上のユーザインタフェース要素を列挙または提供してよく、それを介してプレーヤ（単数または複数）が閲覧でき、列挙されたゲームセッションの追加情報は図９Ａから図９Ｃに示されている。例えば、いくつかの実施形態では、プレーヤは、リストのゲームセッションを右クリックし、ポップアップメニューから「より多くの情報を表示」、または類似のオプションを選択し得る。また、さらに注意すべきことは、リストに示された各ゲームセッションは、特定のゲームレコードに対応し得ることである。図１０は、少なくともいくつかの実施形態による、ゲームレコードにおいて記録された以前にプレイされたゲームセッションについての追加情報の実施例を示し、これは限定を意図するものではない。このゲームセッションについての追加情報は、対応するゲームレコードに記憶され、またはゲームレコードとともに記憶されてよく、ゲームレコード情報と称されてよい。図１０に示すように、ゲームレコード情報は、以下のものを１つ以上含むが、これらに限定されない。
・ ＜ｓｅｓｓｉｏｎ  ｔａｇ＞−このゲームセッションを独特に識別するタグ、名前または識別子。いくつかの実施形態では、セッションタグは、プレーヤによって特定され得る。しかしながら、いくつかの実施形態では、セッションタグは、自動的に生成され得る。
・ ＜ｏｗｎｅｒ／ｓｐａｗｎｅｄ  ｂｙ  ［ｐｌａｙｅｒ］＞−本ゲームセッションを作成またはスポーンするプレーヤ。
・ ＜ｄｅｓｃｒｉｐｔｉｏｎ＞−本ゲームセッションの記述。いくつかの実施形態では、プレーヤ（単数または複数）は、記述にコンテンツを加えるか変更し得る。
・ ＜ｄａｔｅ／ｔｉｍｅ＞−例えば、本ゲームセッションが始まったときを示す実際のワールドタイムスタンプ。
・ ＜ｐｌａｙ  ｔｉｍｅ＞−ゲームセッションの実際の世界持続時間。
・ ＜ｐｌａｙｅｒｓ  ｉｎ  ｓｅｓｓｉｏｎ  ［ｐｌａｙｅｒ  ｌｉｓｔ］＞−本ゲームセッションに（ゲームのキャラクタとして）参加したプレーヤのすべてのリスト。
・ ＜ｓｅｓｓｉｏｎ  ｒｅｓｕｌｔｓ＞−ゲームセッションの結果はゲームの種類によって変化し得る。例えば、一部のゲームでは、セッションの結果は、ゲームセッションにおいて正常に到達または達成したレベルまたはゴールを示し得る。いくつかの実施形態では、セッションの結果は、ゲームセッションで発生した重要なイベントの時系列のリストであってよいか、またはリストを含んでよい。
・ ＜ｓｅｓｓｉｏｎ  ｄａｔａ／ｓｔａｔｉｓｔｉｃｓ＞−データ及びゲームセッションの統計は、ゲームの種類によって異なり得る。例えば、いくつかの「シューティング」ゲームでは、データは発射される銃、打撃、殺傷を含んでもよく、調査によると、「殺傷」率または比を含むことができる。統計は、各プレーヤに対するプレーヤ及び／または個々の統計に対する集団統計を含み得る。
・ ＜ｓｐａｗｎｅｄ  ｆｒｏｍ  ｓｅｓｓｉｏｎ  ［ｓｅｓｓｉｏｎ  ｔａｇ］＞−もしあれば、本セッションがスポーンされた（すなわち、本セッションの親）ゲームセッションを識別する。
・ ＜ｓｐａｗｎｅｄ  ａｔ  ［ｇａｍｅ  ｕｎｉｖｅｒｓｅ  ｔｉｍｅｌｉｎｅ  ｐｏｉｎｔ］＞−本子セッションがスポーンされた親セッションにおける時点を識別する。
・ ＜ｓｐａｗｎｅｄ  ｓｅｓｓｉｏｎｓ  ［ｓｅｓｓｉｏｎ  ｔａｇ（ｓ）］＞−もしあれば、本セッションからスポーンされた１つ以上の子セッションを列挙する。
【００５２】
図９Ａから図９Ｃに示されているように、その他のフォームで、ゲームセッションを階層で組織、表示し、及び図１０に示されているように、ゲームセッションへの追加情報を表示すると、例えば、プレーヤがオリジナルのゲームセッションからプレイされるすべてのゲームセッションの情報を閲覧しすべてのゲームセッションを分析できる。例えば、プレーヤは、どちらのプレーヤ（単数または複数）がゲームのプレイで最大のアクティビティを生成したかを決定することができる。別の実施例としては、戦略を含み、機械が比較的に設定または固定されるゲームにおいては、ゲームセッションの階層表示により、プレーヤが階層の分岐を分析することによってゲームプレイへの最適な戦略を決定することができる。
【００５３】
図１１は、少なくともいくつかの実施形態による、例示的なゲームレコードを示し、これは限定することを意図しない。前述したようにゲームレコード１１００は、ゲームセッションが本明細書で記載されるようにリプレイされるのを可能にするフォーマット（単数または複数）において対応するゲームセッションを記録するデータのためのコンテナとして見られ得る。各ゲームレコード１１００は、記録されたゲームセッション中のゲームユニバースにて起こった特定の一連のイベントとの特定のタイムラインを表し得る。図１１に示すように、少なくともいくつかの実施形態では、ゲームレコード１１００は、ゲームレコード情報１１１０、プレーヤプロフィールのスナップショット１１２０、ゲームセッションメタデータ１１３０及びゲームセッション映像１１４０のうち１つ以上を含み得るが、これらに限定されない。
【００５４】
図１１に示すように、少なくともいくつかの実施形態において、ゲームレコード１１００は、例えば図１０に示されたように、ゲームレコード情報のような、それぞれのゲームセッションについての情報を含むゲームレコード情報１１１０を含み得る。
【００５５】
少なくともいくつかの実施形態においては、図７Ａ及び図７Ｂで示されたように、ゲームレコード１１００は、例えばゲームセッションメタデータのようなゲームセッションメタデータ１１３０を含み得る。少なくともいくつかの実施形態においては、ゲームセッションメタデータ１１３０は、ゲームユニバースが開始されゲームのタイムラインが開始される初期のゲーム状態及びゲームセッションが進行するにしたがい、特定の時間で、現在のゲームの状態をそれぞれ示す入力を含んでよく、それぞれのゲームクライアントを介してプレーヤに表示するために、ゲームセッションユニバースを再生するために使用され得る。少なくともいくつかの実施形態においては、ゲームセッションのメタデータ１１３０は、異なる視点が必要に応じて再生中にそれぞれのプレーヤに提示されることが可能なように、ゲームセッションに関連する２以上のプレーヤのキャラクタの視点に対応するメタデータを含み得る。いくつかの実施形態では、ゲームセッションの再生は、ゲームのレコード１１００からゲームセッションメタデータ１１３０に従って、スポーンイベントが、図１Ｂ、１Ｃ、６Ａ及び６Ｂに示すように、新しいタイムラインと新しいゲームセッションを生成するまで１以上のプレーヤのクライアントデバイス（単数または複数）にゲームセッションを再生することを含み得る。スポーンイベントの際に、ゲームシステムロジック／実行コンポーネントは、必要に応じてそれぞれのプレーヤのプロフィール（単数または複数）によるゲームシステムによってシミュレートされた１つ以上のキャラクタのゲームプレイとともに、新しいゲームセッションのために通常のゲームの実行を開始し得る。
【００５６】
いくつかの実施形態では、ゲームレコード１１００は、ゲームセッション映像１１４０を含み得る。いくつかの実施形態では、ゲームレコード１１００からのゲームセッションの再生は、ゲームレコード中に記録される際に映像１１４０を再生することを少なくとも初期に含み得る。いくつかの実施形態では、この映像１１４０は、異なる視点が必要に応じて再生中にそれぞれのプレーヤに提示されることが可能なように、それぞれが、ゲームセッションに関連する異なるプレーヤのキャラクタの視点に対応する２つ以上の異なる映像ストリームを含み得る。いくつかの実施形態では、ゲームセッションの再生は、図１Ｂ、１Ｃ、６Ａ及び６Ｂに示すように、スポーンイベントが新しいタイムラインと新しいゲームセッションを生成するまで１以上のプレーヤのクライアントデバイス（単数または複数）に映像１１４０を再生することを含み得る。スポーンイベントの際に、ゲームシステムロジック／実行コンポーネントは、必要に応じてそれぞれのプレーヤのプロフィール（単数または複数）によるゲームシステムによってシミュレートされた１つ以上のキャラクタのゲームプレイとともに、新しいゲームセッションのために通常のゲームの実行を開始する。
【００５７】
いくつかの実施形態では、ゲームレコード１１００は、記録されるゲームセッションの間または最後に、キャプチャされゲームレコード１１００に記憶され得る、１つ以上のプレーヤのプロフィールスナップショット１１２０を含み得る。各プレーヤのプロフィールスナップショット１１２０は、ゲームセッション時に、ゲームセッションに関連するそれぞれのプレーヤのプロフィールを記録してよい。例示的なプレーヤのプロフィールは図８Ａ及び図８Ｂに示されている。プレーヤのプロフィールスナップショット（単数または複数）１１２０は、例えば、図１Ｃ及び図６Ｂに示されているように、スポーンイベントが新しいタイムラインを生成したかゲームセッション中の１つ以上のそれぞれのキャラクタのプレイをシミュレートするために使用され得る。
【００５８】
いくつかの実施形態では、プレーヤがゲームセッションでキャラクタに進んで制御するとき、プレーヤは、ゲームセッションが最初にプレイされた時に、プレーヤのプロフィールのスナップショット１１２０に記録されているプレーヤのプロフィールから属性を引き継ぐ。プレーヤがゲームを操作すると、以前に記録されたプロフィールのプレーヤの属性は、プレーヤのゲームプレイにより更新され得る。あるいは、いくつかの実施形態では、プレーヤがゲームセッションでキャラクタに進んで制御するとき、プレーヤは、プレーヤのプロフィールのスナップショット１１２０からよりもむしろ、プレーヤの現在のプロフィールから属性を引き継ぐ。
【００５９】
いくつかの実施形態では、ゲームシステムは、１つ以上のインタフェースを提供してよく、プレーヤは、ゲームレコード１１００におけるスナップショット１１２０に記録された過去のゲームセッションのときのそれぞれのプレーヤのプロフィールを閲覧し得る。また、所望であれば、過去のゲームセッションのときのスナップショット１１２０に記録されたゲームプレイの属性を現在のプレーヤのプロフィールと比較し得る。
【００６０】
キャラクタのシミュレーション及び再生の通知
図４Ａは、少なくともいくつかの実施形態による、プレーヤにゲームが再生されていることをプレーヤに通知し、及びリプレイ中にキャラクタ（単数または複数）の制御をプレーヤ（単数または複数）が引き継ぐ方法の高レベルのフローチャートである。４００に示すように、プレーヤは、選択されたゲームレコードから以前にプレイされたゲームセッションの再生を開始し得る。ゲームシステムは、選択されたゲームレコードに記憶された情報からのゲームセッションのコンテキスト、キャラクタ及び環境が含まれるゲームユニバースを再生してよく、また、記録される際にゲームセッションを再生し始めてよい（例えば、ゲームレコードによって示されたタイムラインに沿って進行する際にゲームユニバースの状態を生成しレンダリングする）。プレーヤ（単数または複数）は、例えば１つ以上のクライアントデバイスを介してゲームセッションの再生を閲覧し得る。少なくともいくつかの実施形態においては、各プレーヤは、それぞれのキャラクタの視点からゴーストモードで再生を閲覧し得る。ゴーストモードでは、プレーヤは、彼らの性格を介して積極的に参加せずにゲームセッションのリプレイを閲覧する。
【００６１】
４０２で示されるように１以上のプレーヤは、ゲームセッションがゲームレコードから再生されていることを通知され得る。少なくともいくつかの実施形態においては、プレーヤ（単数または複数）は、リプレイが始まるとすぐに通知される。あるいは、図４Ｂにて示されているように、プレーヤ（単数または複数）は、少なくとも１つのその他のプレーヤがゲームユニバースにおけるキャラクタ（単数または複数）の制御を行わない限り、または制御をするまでは、ゲームセッションのリプレイを通知されなくてよい。少なくともいくつかの実施形態においては、通知の少なくともいくつかは、例えば、その他のプレーヤ（単数または複数）にテキストメッセージでゲームセッションのリプレイを開始したプレーヤによって開始され得る。あるいは、通知の少なくともいくつかは、特定のイベントを検出すると自動的にゲームシステムによって開始され得る。（例えば、選択されたゲームレコードからゲームセッションのリプレイの開始や、あるいはリプレイの間にプレーヤによってキャラクタを引き継ぐ）。ゲームシステムは、１つ以上の通信チャネル（例えば、テキストメッセージ、警告メッセージ、電子メール等）を使用するプレーヤに通知し得る。少なくともいくつかの実施形態においては、リプレイを通知される各プレーヤは、それぞれのキャラクタの視点からゴーストモードで再生を閲覧することを選択し得る。
【００６２】
４０４で示すように、ゲームシステムは、１以上のプレーヤが再生中のゲームセッションにおけるプレーヤのキャラクタを制御したことを検出することができる。４０６で示されるように、キャラクタ（単数または複数）の制御を行うプレーヤ（単数または複数）に対応して、ゲームシステムは、新しいゲームレコード及び選択されたゲームレコードとオリジナルのタイムラインからの新しいタイムラインを生成してよく、新しいゲームレコードに新しいゲーム状態を記録し始める。４０８で示されるように、少なくともいくつかの実施形態では、一旦、プレーヤ（単数または複数）がリプレイされそのためスポーンイベントを生じるゲームセッションに入ると、ゲームシステムは、キャラクタに対応するプレーヤのプロフィールによるゲームセッションに関する１つ以上のその他のキャラクタアクションをシミュレートし始めてよい。少なくともいくつかの実施形態では、その他のプレーヤは、それぞれのキャラクタの視点からゴーストモードで再生を閲覧することを選択してよく、あるいは新しいゲームセッションにおけるキャラクタに入り、制御を行うことを選択してよいことに留意すべきである。
【００６３】
図４Ｂは、少なくともいくつかの実施形態による、プレーヤにゲームが再生されていることをプレーヤ（単数または複数）に通知し、及びリプレイ中にキャラクタ（単数または複数）の制御をプレーヤ（単数または複数）が引き継ぐ代替的な方法の高レベルのフローチャートである。４２０に示すように、プレーヤは、選択されたゲームレコードから以前にプレイされたゲームセッションの再生を開始し得る。ゲームシステムは、選択されたゲームレコードに記憶された情報からのゲームセッションのコンテキスト、キャラクタ及び環境が含まれるゲームユニバースを再生し得る。また、記録される際にゲームセッションを再生し始めてよい（例えば、ゲームレコードによって示されたタイムラインに沿って進行する際にゲームユニバースの状態を生成しレンダリングする）。プレーヤ（単数または複数）は、例えば１つ以上のクライアントデバイスを介してゲームセッションの再生を閲覧し得る。少なくともいくつかの実施形態においては、プレーヤ（単数または複数）は、それぞれのキャラクタの視点からゴーストモードで再生を少なくとも初めに閲覧し得る。
【００６４】
４２２で示すように、ゲームシステムは、１以上のプレーヤが再生中のゲームセッションにおけるプレーヤのキャラクタを制御したことを検出することができる。４２４で示されるように、キャラクタ（単数または複数）の制御を行うプレーヤ（単数または複数）に対応して、ゲームシステムは、新しいゲームレコード及び選択されたゲームレコードとオリジナルのタイムラインからの新しいタイムラインを生成してよく、新しいゲームレコードに新しいゲーム状態を記録し始める。４２６で示されるように、少なくともいくつかの実施形態では、一旦、プレーヤ（単数または複数）がリプレイされそのためスポーンイベントを生じるゲームセッションに入ると、ゲームシステムは、キャラクタに対応するプレーヤのプロフィールによるゲームセッションに関する１つ以上のその他のキャラクタアクションをシミュレートし始めてよい。
【００６５】
４２８で示されるように、要素４２４でスポーンイベントを検出した後、１以上のプレーヤは、ゲームセッションがゲームレコードから再生されていることを通知され得る。少なくともいくつかの実施形態においては、通知は、ゲームセッションにおけるキャラクタの制御を行ったプレーヤによって開始され得る。あるいは、通知の少なくともいくつかは、ゲームセッションにおいて、少なくとも１プレーヤがキャラクタの制御を行うと、自動的にゲームシステムによって開始され得る。少なくともいくつかの実施形態においては、通知されたプレーヤは、それぞれのキャラクタの視点からゴーストモードで新しいゲームセッションを閲覧することを選択してよく、あるいは新しいゲームセッションにおけるキャラクタに入り、制御を行うことを選択してよい。
【００６６】
図４Ａから図４Ｂを参照すると、いくつかの実施形態では、ゲームセッションの再生の開始時に、及びゲームシステムの再生中の新しいゲームセッションのスポーン時に、通知が生成され得る。いくつかの実施形態では、ゲームシステムは、例えば、それぞれのクライアントデバイス上のゲームクライアントを解するプレーヤに提示されたインタフェースを介して、プレーヤが通知オプションを構成することを可能にし得る。例えば、ゲームシステムは、プレーヤがゲームセッションのリプレイの開始時に、及び／またはリプレイの間のゲームセッションのリプレイの開始時に、通知されることを望むか否かをプレーヤが指定することを可能にし得る。別の実施例としては、ゲームシステムは、プレーヤが例えば電子メールまたはテキストメッセージのような好ましい通知チャネルを指定し、構成することを可能にし得る。
【００６７】
図４Ａ及び図４Ｂの要素は、図１Ｂ、図１Ｃ及び図１Ｄを参照してより詳細に下記で説明される。
【００６８】
少なくともいくつかの実施形態においては、ゲームシステム１００は、プレーヤのプロフィール１４０によるプレーヤのキャラクタ１５２のアクションを制御することによって、ゲームセッションにおける所与のプレーヤ１５０のゲームプレイのシミュレーションをすることができるプレーヤシミュレーションロジック１１２（例えば、人工知能（ＡＩ）エンジン）を含み得る。次に、図１Ｃにて示すように、プレーヤ１５０Ｂが、ゲームレコード１３０Ａから再生される、以前に記録されたゲームセッションにおけるキャラクタ１５２Ｂに進むと、新しいタイムライン及び新しいゲームレコード１３０Ｂをスポーンし、ゲーム中の１つ以上のその他のキャラクタ１５２のアクションは、その時点以降、少なくとも当初は、プレーヤ１５０／キャラクタ１５２に対応するプレーヤプロフィール１４０に基づいたプレーヤシミュレーション１１２ロジックによって制御され得る。換言すると、スポーンイベント後は、ゲームにおけるキャラクタのアクションは以前の記録から再生されず、その代わりにゲームクライアント１２２を介して実際のプレーヤ１５０によって制御されるか、またはそれぞれのプレーヤのプロフィールによるプレーヤシミュレーション１１２ロジックによってシミュレーションされるかの何れかである。図１Ｃに示された実施例においては、ゲームセッションにプレーヤ１５０Ｂが入った後は、キャラクタ１５２Ｂは、ゲームクライアント１２２Ｂを介してプレーヤ１５０Ｂによって制御され、一方、キャラクタ１５２Ａ及び１５２Ｂのアクションは、対応するプレーヤ１５０（図１Ａに示されるようなプレーヤ１５０Ａ及び１５０Ｃ）のプロフィール１４０に示されるようなプレーヤの属性により、プレーヤのシミュレーション１１２ロジックによって制御される。ゲームプレイは、新しいタイムライン上のオリジナルのユニバース／タイムラインから分かれるため、シミュレートされたキャラクタ１５２Ａ及び１５２Ｂは、プロフィール１４０に記録された対応するプレーヤの実際に、ライブでプレイしているキャラクタ及び属性による新しいイベントに応答し得る。
【００６９】
少なくともいくつかの実施形態においては、一旦、ゲームセッションのリプレイが図１Ｂに図示されているように、プレーヤ１５０Ａによってゲームレコード１３０Ａから開始されると、１以上のその他のプレーヤ１５０（例えば、プレーヤ１５０Ａ及び１５０Ｃ）は、それぞれのクライアントデバイス１２０からリプレイにアクセスし、見てもよい。少なくともいくつかの実施形態においては、その他のプレーヤ１５０は、所望であれば、リプレイ中のある時点でそれぞれのキャラクタ１５２の制御を可能にされ得る。いくつかの実施形態では、その他のプレーヤ１５０は、再生を開始されるプレーヤ１５０Ｂがプレーヤのキャラクタ１５２Ｂに入り、制御し（またはその後）、それによって新しいタイムラインをスポーンする図１Ｃに示されるようなキャラクタ１５２を制御することができない。しかしながら、いくつかの実施形態では、その他のプレーヤ１５０は、ゲームセッションのリプレイが始まってすぐに、再生を開始したプレーヤ１５０Ｂがキャラクタ１５２Ｂを制御するか否かについて、キャラクタ１５２を制御することが可能であり得る。
【００７０】
図１Ｂから図１Ｃを参照すると、少なくともいくつかの実施形態では、プレーヤ１５０Ｂがゲームレコード１３０Ａから以前に記録されたゲームセッションをリプレイするとき、またあるいは、プレーヤ１５０Ｂがリプレイされている以前に記録されたゲームセッションへと進行するときは、オリジナルのゲームセッションに参加した１以上のその他のプレーヤ１５０（例えば、図１Ａのプレーヤ１５０Ａ及び１５０Ｃ）は、それぞれのゲームキャラクタ１５２が参加するゲームセッションがリプレイされていると通知されてよく、リプレイセッションに、したがって、図１Ｃに示されるようなオリジナルのタイムラインからスポーンされ得る新しいタイムラインに、参加するために招待されてよい。
【００７１】
少なくともいくつかの実施形態においては、リプレイされるゲームセッションへの参加の招待は、例えば、ソーシャルメディア、テキストメッセージング、電子メール、電話等のような、１以上の通信チャネルを使用してリプレイを開始したプレーヤ１５０Ｂによって開始され得る。いくつかの実施形態では、ゲームクライアント１２２は、所望であれば、プレーヤが必要に応じて、１以上のその他のプレーヤ１５０にゲームのリプレイに参加するよう招待することを可能にする、「その他のプレーヤ１５０に通知する」というインタフェース要素を含み得る。
【００７２】
いくつかの実施形態では、ゲームシステム１００は、ゲームセッションがプレーヤ１５０Ｂによってゲームレコード１３０Ａからリプレイされているときに検出し、オリジナルのゲームセッション（例えば、図１Ａのプレーヤ１５０Ａ及び１５０Ｃ）に参加したキャラクタ１５２を有する１以上のその他のプレーヤ１５０を決定し、及び自動的に１以上のその他のプレーヤ１５０に通知を生成し送信する通知コンポーネントを含み得る。この通知はその他のプレーヤ１５０を招待してリプレイを閲覧し、及び／またはその他のプレーヤ１５０を招待してリプレイされているゲームセッションにおけるプレーヤを制御する。いくつかの実施形態では、この通知は、プレーヤ１５０がプレーヤのクライアントデバイス１２０上のゲームセッションを選択して自動的に移動（またはオープン）し得る１つ以上のホットリンクを含んでよい。いくつかの実施形態では、ゲームセッションのリプレイが図１Ｂに図示されているように、プレーヤ１５０Ｂによってゲームレコード１３０Ａから開始されると、この通知は自動的に生成され、送信され得る。あるいは、いくつかの実施形態では、プレーヤ１５０Ｂがゲームセッションのキャラクタ１５２Ｂに進み制御し、その結果図１Ｃに図示されているように新しいタイムラインをスポーンさせると、この通知は自動的に生成され、送信され得る。少なくともいくつかの実施形態においては、特定のプレーヤ１５０にリプレイされるゲームセッションにおけるキャラクタ１５２をマッピングし、識別されたプレーヤ１５０にリプレイを通知するために、ゲームシステム１００は、ゲームデータ１６０にアクセスし、キャラクタ１５２をプレーヤ１５０にマッピングして、好ましい通知方法（例えば、テキストメッセージのための電話番号）、クライアントデバイス１２０の情報等のような、各プレーヤ１５０の情報を探してよい。
【００７３】
図１Ｄは、少なくともいくつかの実施形態による、以前に記録され、記憶されたゲームレコードからゲームセッションのリプレイする間、プレーヤのキャラクタ１５２Ａに進んでいる第２のプレーヤ１５０Ａを示す。プレーヤ１５０Ｂは、図１Ａに示されるように、ゲームレコード１３０Ａからゲームセッションの再生を開始した可能性があり、ゲームセッションにおけるゲームキャラクタ１５２Ｂにその後入り、制御した可能性があり、よって、図１Ｃに示されるように、新しいタイムライン及び新しいゲームレコード１３０Ｂをスポーンする。プレーヤ１５０Ａは、プレーヤ１５０Ｂから、またはゲームシステム１００の通知コンポーネントによって自動的に生成されるかの何れかによって、プレーヤ１５０Ａのキャラクタ１５２Ａに関連するゲームセッションのリプレイを検出する際に、リプレイの通知を受信した可能性がある。少なくともいくつかの実施形態においては、所望により、プレーヤ１５０Ａは、必要に応じて、プレーヤのキャラクタ１５２Ａを介して積極的に参加せずにリプレイをただ見ることを選択してよい。しかしながら、ゲームシステム１００は、もしプレーヤ１５０Ａが希望する場合には、プレーヤ１５０Ａがゲームセッションのリプレイの間に、ゲームキャラクタ１５２Ａのアクションに進み、制御することができるゲームクライアント１２２Ａを介してインタフェースを提供し得る。一旦、プレーヤ１５０Ａがキャラクタ１５２Ａを制御すると、プレーヤシミュレーション１１２のロジックは、もはや、キャラクタ１５２Ａ及びプレーヤ１５０Ａのプロフィール１４０によって、プレーヤ１５０Ａのゲームプレイをシミュレートしない。たとえプレーヤ１５０Ａは、ゲームクライアント１２２Ａを介してキャラクタ１５２Ａを制御し、プレーヤ１５０Ｂは、ゲームクライアント１２２Ｂを介してキャラクタ１５２Ｂを制御しても、キャラクタ１５２Ｃは、プレーヤ１５０Ｃに対応するプレーヤのプロフィール１４０に基づいて、プレーヤシミュレーション１１２のロジックによってゲームセッションで依然として制御され得ることに留意する。しかしながら、プレーヤ１５０Ｃは、必要なときにはキャラクタ１５２Ｃを制御することによって、いつでもゲームセッションに参加し得る。
【００７４】
図１Ｃ及び図１Ｄに示されていないが少なくともいくつかの実施形態では、一旦、１以上のプレーヤ１５０が、以前に記憶されたゲームレコード１３０Ａからリプレイされ、そのため新しいタイムライン及びゲームレコード１３０Ｂをスポーンされるゲームセッションに進むと、クライアントデバイス１２０からゲームユニバース１０４におけるそれぞれのキャラクタ１５２を実際に制御している（図１Ａに示されているような）ゲームシステム１００のプレーヤ監視１０８コンポーネントは、プレーヤ１５０の様々なアクションを監視し始めてよく、及び監視された処理に基づいてそれぞれのプレーヤ１５０のためにそれぞれのプレーヤプロフィール１４０を更新し得る。しかしながら、これらのプレーヤ１５０のゲームプレイは、プレーヤシミュレーション１１２のロジックによってシミュレートされ得るため、監視１０８コンポーネントは、監視せずに、ゲームのクライアント１２２を介してキャラクタ１５２の行動を現在制御していないプレーヤ１５０のプロフィール１４０を更新しなくてもよい。
【００７５】
図１Ａから図１Ｄに示されていないが、少なくともいくつかの実施形態では、プレーヤ１５０は、ゲームセッション（初期のゲームセッションまたはリプレイされているゲームセッションのいずれか）中にキャラクタ１５２から出ることを選択してよく、そのため、キャラクタの制御をプレーヤシミュレーション１１２のロジックに放棄し得る。
【００７６】
ゲームセッションの記録及び再生のバリエーション
図１Ａから図１Ｄは、主に、オリジナルでは１以上の人のプレーヤを含む、ゲームセッションの記録及びリプレイを対象とする。例えば、図１Ａにおいてプレーヤ１５０Ａからプレーヤ１５０Ｃは、ゲームレコード１３０に記録され、ゲームレコード１３２に記憶されるオリジナルのゲームに含まれる。しかしながら、図１Ａ及び図１Ｃからのプレーヤシミュレーション１１２を参照すると、少なくともいくつかの実施形態では、ゲームレコード１３０はゲームセッションを開始することによって生成され得る。１つ以上のキャラクタ１５２、またはすべてのキャラクタでさえ少なくとも最初にプレーヤプロフィール１４０によってプレーヤシミュレーション１１２のロジックによって制御される。例えば、プレーヤ１５０は、プレーヤ１５０が１つ以上のキャラクタ１５２に対し（または協働して）キャラクタを制御するオリジナルのゲームレコード１３０を生成するよう選択されてよく、キャラクタのアクションは、プレーヤプロフィール１４０によりゲームシステム１００によってシミュレートされる。別の実施例としては、プレーヤ１５０はオリジナルのゲームレコード１３０を生成するよう選択され得る。キャラクタ１５２のすべては、プレーヤのキャラクタ１５２を含めて、プレーヤのプロフィール１４０によってゲームシステム１００によってシミュレートされる。これらの生成されたゲームレコードは、図１Ｂ〜図１Ｄに示されているように、所望により、プレーヤ１５０がキャラクタ１５２に入った（または出た）状態で、記憶され、選択され、リプレイされることが可能である。
【００７７】
ゲームセッションのマーケティング
図１Ａから図４を参照して、本明細書に記載されたゲームセッションをリプレイするための方法及びデバイスの実施形態を実装するゲームシステムは、プレーヤがその他のプレーヤに、記録されたゲームセッションを提供または販売することを可能にし得る。少なくともいくつかの実施形態においては、プレーヤ（例えば、特定のオンラインゲームで熟練し、知られたプレーヤ）は、プレーヤのゲームキャラクタを含むゲームセッションを記憶することができ、また、リプレイのために記録されたゲームセッションを他の人に提供する。少なくともいくつかの実施形態においては、別のプレーヤから記録されたゲームセッションを取得するプレーヤは、ゲームにおけるキャラクタ（単数または複数）の制御を行い、オリジナルのプレーヤのキャラクタに対抗して（または協力的なゲームで）プレイすることによって、リプレイに参加することを選択し得る。少なくともいくつかの実施形態においては、プレーヤが、ゲームセッションに進行し、キャラクタを制御することができると、新しいユニバース／タイムラインがスポーンされてよく、プレーヤは、その他のプレーヤのプロフィールによるゲームロジックによって制御されるように、その他のプレーヤのキャラクタとともに参加し得る。その他のプレーヤのプロフィールは、記録されたゲームセッションを提供されてよく、またはそうでない場合には、入手またはアクセスされ得る。少なくともいくつかの実施形態においては、これらの記録されたゲームセッションは、オンライン（またはその他のチャネルを介して）、例えばゲーム開発会社のホームページを介して提供され得る。いくつかの実施形態では、ゲームセッションのリプレイは、報酬を提供し、仮想または現実の通貨と交換するために、あるいは場合によっては無料で提供され得る。あるいは、いくつかの実施形態では、ゲームレコードからゲームセッションのリプレイを提供する代わりに、または提供することに加え、ゲームレコード自体のコピーは、仮想または現実の通貨と交換で、あるいは場合によっては無料で取得され得る。
【００７８】
図５は、少なくともいくつかの実施形態による、生成されたゲームレコードをその他のプレーヤにリプレイ用に提供する方法の高レベルのフローチャートである。５００で示されるように、例えば、図１Ａ及び図２に示されているような方法により、１以上のプレーヤは、ゲームシステムを実装されたゲームの１つ以上のセッションをプレイし、１つ以上のゲームレコードを生成し記憶し得る。特定のゲームセッションには、ゲームシステムは、ゲームセッションのコンテキスト、キャラクタ及び環境を含むゲームユニバースを生成し得る。少なくともいくつかの実施形態においては、ゲームセッションに参加する各１以上のプレーヤは、ゲームにおいてキャラクタを引き継いでよく、また、クライアントデバイス上のゲームクライアントインスタンスを使用してゲームユニバースにおけるキャラクタを制御し得る。しかしながら、少なくともいくつかの実施形態においては、ゲームセッションにおけるキャラクタのうち少なくとも１つは、代わりにゲームシステムのロジック（例えば、人工知能（ＡＩ）のロジック）によって制御され得る。ゲームレコードは、記録されたゲームセッション中のゲームユニバースにて起こった特定の一連のイベントとの特定のタイムラインを表し得ることに留意すべきである。図６Ａは、少なくともいくつかの実施形態による、ゲームセッションに対する例示的なオリジナルのタイムラインを示し、図７Ａは、例示的なゲームレコードからのゲームセッションのメタデータを示す。図１１は、少なくともいくつかの実施形態による、例示的なゲームレコードを示す。
【００７９】
５０２で示されるように、５００で生成される１つ以上のゲームレコードまたはそのリプレイは、その他のプレーヤに供給、提供、共有または販売され得る。非限定実施例として、このゲームレコードは、ゲームのレコードまたは第三者のウェブサイトを生成したゲーム開発会社のウェブサイト、プレーヤ（単数または複数）のウェブサイトを介して、ダウンロードまたはリモートのネットワークサイトからのリプレイのために、オンラインで供給されてよい。少なくともいくつかの実施形態においては、このゲームレコードは、潜在的なクライアントがプレーヤのゲームセッションツリーのグラフィカル及び／またはテキストリストを閲覧可能なユーザインタフェースを介して供給され得る。例えば、いくつかの実施形態では、図９Ａ、図９Ｂ及び／または図９Ｃに示されるように、プレーヤまたはプレーヤのゲームセッション及び／またはゲームセッションツリー（単数または複数）のリストは、ウェブサイトまたはその他のチャネルを介して潜在的なクライアントに表示されてよく、ウェブサイトは、クライアント（単数または複数）が対応するゲームレコードからゲームセッションのうち所望のリプレイを選択し、購入するか、またはゲームレコード自体を選択及び購入するのを可能にするユーザインタフェース要素を含んでよい。別の実施例としては、ゲームレコードは、実店舗またはオンライン店舗でＣＤやＤＶＤのような物理メディアで販売されてよい。少なくともいくつかの実施形態においては、ゲームレコードまたはゲームレコード中のゲームセッションのリプレイは、仮想または現実の通貨と交換で供給されるか、場合によっては無料で供給され得る。少なくともいくつかの実施形態においては、１つ以上のゲームレコードは、ゲーム用のアドオンゲームのパッケージとして供給されてよく、またはゲームの購入時にゲームにバンドルされてよい。少なくともいくつかの実施形態においては、プレーヤ（単数または複数）が所望の際にゲームレコード（単数または複数）をリプレイするのを可能にする、特定のゲームレコードまたはレコードの権利を購入するかそうでない場合には取得し得る。あるいは、プレーヤ（単数または複数）は、所与のゲームレコード（単数または複数）を１度のリプレイ、または制限された回数リプレイする権利を購入するか取得してよい。別の方法として、いくつかの実施形態では、異なるゲームグループは、１つのゲームグループ内のプレーヤがその他のゲームグループによって記録されたゲームセッションをリプレイできるように、ゲームレコードをスワップまたはトレードすることを可能にし得る。
【００８０】
少なくともいくつかの実施形態においては、ゲームレコード（単数または複数）を記録したプレーヤ（単数または複数）に対するプレーヤのプロフィール（単数または複数）は、５０２で、その他のプレーヤに供給、提供、共有または販売されるゲームレコード（単数または複数）にバンドルされるか共に提供され得る。あるいは、プレーヤのプロフィール（単数または複数）は、ゲームレコード（単数または複数）に提供されなくてよいが、その代わりに、ゲームレコードのうち１つをリプレイするときに、プレーヤのプロフィール（単数または複数）が必要に応じて記憶される離れた場所（例えば、ウェブサイト）からアクセスされ得る。図８Ａ及び図８Ｂは、少なくともいくつかの実施形態による、別の例示的なプレーヤのプロフィールを示す。
【００８１】
５０４で示されるように、１以上のプレーヤがゲームレコードまたはレコードを取得してよく、あるいは、別の方法としては１回以上ゲームレコード（単数または複数）をリプレイする権利を取得してよい。一例ではあるが、プレーヤは、クライアントデバイスを介してウェブサイトにアクセスし、ゲームでよく知られているプレーヤによってプレイされるゲームセッションを記録する所望のゲームレコードを選択し、クライアントデバイス（または異なるクライアントデバイス）上のゲームクライアントの実装を介して、１回以上ゲームレコードに記憶された特定のゲームセッションをリプレイする権利を購入するか、または別の方法で取得し得る。ゲームセッションをリプレイする権利は、２以上のプレーヤにゲームのリプレイに参加することを可能にし得ることに留意すべきである。
【００８２】
５０６で示されるように、１以上のプレーヤは、次に取得した権利によって、取得したゲームレコード（単数または複数）から１回以上ゲームセッション（単数または複数）をリプレイし得る。少なくともいくつかの実施形態においては、プレーヤ（単数または複数）は、例えば、図１Ｂに図示されているように、オリジナルのゲームセッションの映像を見ているかのように、得られたゲームレコードからゲームセッションのリプレイを閲覧し得る。少なくともいくつかの実施形態においては、例えば、図１Ｃ、図１Ｄ及び図３に示されているように、ゲームにおけるキャラクタの制御を行い、オリジナルのプレーヤのキャラクタに対抗して（または協力的なゲームで）プレイすることによって、ゲームセッションのリプレイに参加することを選択し得る。少なくともいくつかの実施形態においては、一旦、プレーヤが、取得したゲームレコードからリプレイされるゲームセッションのゲームユニバースに入り対話をすると、ゲームシステムはプレーヤのプロフィール（単数または複数）によるゲームセッションを記録したオリジナルのプレーヤ（単数または複数）のプレイをシミュレートし始める。少なくともいくつかの実施形態においては、プレーヤ（単数または複数）が、キャラクタ（単数または複数）の制御をすることによって取得されたゲームレコードからリプレイされるゲームセッションに入った場合には、新しいタイムラインは、ユニバースでスポーンされ得る。プレーヤ（単数または複数）が、オリジナルのプレーヤのプロフィールによるゲームロジックによって制御されるように、オリジナルのプレーヤ（単数または複数）のキャラクタ（単数または複数）とともに参加してよく、新しいゲームレコードは、オリジナルのゲームレコードからスポーンされてよい。
【００８３】
少なくともいくつかの実施形態においては、プレーヤは、取得されたゲームレコードからスポーンされた新しいゲームレコードを記憶、リプレイ及び共有することが可能であり得る。しかしながら、少なくともいくつかの実施形態においては、取得されたゲームレコードからスポーンされた新しいゲームレコードを記憶、リプレイ及び／または共有することは、ゲームシステムによって、またはその他のエンティティによって制限または限定され、オリジナルのゲームレコードを生成し供給したプレーヤの権利を保護し得る。
【００８４】
ゲーム環境の実施例
図１Ａから図１１を参照して、例えば図１Ａから図１Ｄに示されているようなゲームシステム１００のような、本明細書に記載されたゲームセッションをリプレイするための方法及びデバイスを実装するゲームシステムの実施形態は、図１２に示されるような、サービスプロバイダのクライアントへのプロバイダネットワーク上の、仮想化リソース（例えば、仮想化コンピューティングリソース、仮想化ストレージリソース、仮想化データベース（ＤＢ）リソース等）を提供するサービスプロバイダのコンテキストで実装され得る。仮想化リソースインスタンスは、１つ以上のプロバイダネットワークサービス１５１０を介してプロビジョニングされてよく、例えば、ゲームプロバイダ１５９０のクライアントにサービスプロバイダのクライアントをレンタルされ、またはリースされ得る。プロバイダネットワーク１５００（例えば、コンピューティングリソース１５２４）上のリソースインスタンスの少なくとも一部は、多数のオペレーティングシステムをホストコンピュータ上で、すなわち、ホスト上の仮想マシン（ＶＭ）として、同時に実行することを可能にするハードウェア仮想化技術により実装され得る。
【００８５】
プロバイダネットワーク１５００は、サービス１５１０を経由して、プロバイダネットワーク１５００上のクライアントのプライベートネットワークとして、特定のクライアントにプロバイダネットワーク１５００の論理的に隔離されたセクションのプロビジョニングを可能にし得る。プロバイダネットワーク１５００上のクライアントのリソースインスタンスの少なくとも一部は、クライアントのプライベートネットワークでプロビジョニングされ得る。例えば、図１２においてゲームシステム１５２０は、１つ以上のサービス１５１０を介してプロバイダネットワーク１５００上でプロビジョニングされるゲームプロバイダ１５９０のプライベートネットワークとして、またはプライベートネットワークにおいて実装され得る。
【００８６】
プロバイダネットワーク１５００は、サービス１５１０を介して、リソースインスタンスの柔軟なプロビジョニングをクライアントに提供してよく、クライアントは、仮想化リソースインスタンスが、需要または使用の変化に対応して、プロバイダネットワーク１５００上のクライアント構成に自動的に追加されるか、または除去されることが可能である。それにより、プロバイダネットワーク１５００上のクライアントの実装を自動的に測定し、計算及び／または格納の必要性に対処する。例えば、１つ以上の追加のコンピューティングリソース１５２４は、ゲームシステム１５２０により実装されるゲームで、ゲームクライアント１５８０の参加の増加に対応して、自動的にゲームシステム１５２０に加えられてよく、もし使用が閾値を下回っている場合には、コンピューティングリソース１５２４は除去されることが可能である。
【００８７】
少なくともいくつかの実施形態においては、ゲームプロバイダ１５９０は、プロバイダネットワーク１５００のサービス１５１０のうちの１つ以上にアクセスしてよく、サービス１５１０へのアプリケーションプログラミングインタフェース（ＡＰＩ）を介して、プロバイダネットワーク１５００上のゲームシステム１５２０を構成し、ゲームシステム１５２０は、多数の仮想化リソースインスタンス（例えば、コンピューティングリソース１５２４、ストレージリソース１５３２、ＤＢリソース１５３４等）を含む。
【００８８】
仮想化サービス１５１２は、コンピューティングリソース１５２４をプロビジョニングするための１つ以上のハードウェア仮想化サービス、ストレージリソース１５３２をプロビジョニングするための１つ以上のストレージ仮想化サービス、及びＤＢリソース１５３４をプロビジョニングするための１つ以上のデータベース（ＤＢ）を含むが、これらに限定されない。いくつかの実装においては、ゲームプロバイダ１５９０は、それぞれのＡＰＩ経由で、これらの仮想化サービス１５１２のうち１つ以上にアクセスして、ゲームシステム１５２０において、それぞれのリソースインスタンスをプロビジョニング及び管理し得る。しかしながら、いくつかの実装においては、ゲームプロバイダ１５９０は、代わりに別のサービス（例えば、ゲームシステムサービス１５１４またはストリーミングサービス１５１６）にＡＰＩサービスを介してアクセスしてよく、その他のサービスは、ゲームプロバイダ１５９０のために１つ以上の仮想化サービス１５１２を操作してゲームシステム１５２０中のリソースインスタンスをプロビジョニングしてよい。
【００８９】
サービスプロバイダは、プロバイダネットワーク１５００のクライアントに、ゲームシステムサービス（単数または複数）１５１４を提供し得る。ゲームシステムサービス（単数または複数）１５１４は、ゲームプロバイダ１５９０が、プロバイダネットワーク１５００上のゲームシステム１５２０としてネットワークベースのゲームを実装するために活用する１つ以上のサービスを含み得る。上記のように、ゲームシステムサービス（単数または複数）１５１４は、仮想化サービス１５１２を活用して、ゲームシステム１５２０内の様々なリソースをプロビジョニングし得る。
【００９０】
いくつかの実施形態では、ゲームシステムサービス（単数または複数）１５１４は、バックエンドまたはプロバイダネットワーク１５００上のサーバ側のゲームコンポーネントを作成、導入及び管理をするためのゲームのバックエンドサービスを含み得る。少なくともいくつかの実施形態においては、ゲームのバックエンドサービスは、クライアントに対し、サーバ側のゲームロジックの導入、スケーリング、負荷分散、監視、バージョン管理並びに障害の検出及びリカバリを管理し得る。少なくともいくつかの実施形態においては、ゲームのバックエンドサービスは、サーバ側のゲームコンポーネントに対し、完全に管理されたバックエンドのコンテナを提供し得る。
【００９１】
いくつかの実施形態では、ゲームシステム（単数または複数）１５１４は、作成、導入及びネットワークベースのゲームを実行するためのゲームエンジンサービスを含み得るが、ゲームロジック／実行１５２２のコンポーネント及びゲームクライアント１５８０のコンポーネントを含むがこれらに限定されない。ゲームエンジンサービスは、２Ｄ及び／または３Ｄゲームエンジン用のコードを開発するための２Ｄ及び／または３Ｄのゲームエンジン及び統合開発環境（ＩＤＥ）を含むが、これらに限定されるものではない。ゲームエンジンサービスは、また、バックエンドのサーバ側のコンポーネントをプロビジョニングし管理するための、ゲームのバックエンドサービスを含むか、活用し得る。ゲームプロバイダ１５９０は、ゲームシステム１５１４のうち１つ以上を活用して、オンラインゲームを実装し、ゲームをホストするために、プロバイダネットワーク１５００上にゲームシステム１５２０をプロビジョニングし得る。少なくともいくつかの実施形態においては、ゲームエンジンサービスは、また、ゲームプロバイダ１５９０によって活用され、様々な種類のクライアントデバイス（例えば、タブレット、スマートフォン、デスクトップ／ノートブックコンピュータ等）上に、様々なオペレーティングシステム（ＯＳ）のプラットフォーム用のゲームクライアント１５８０を開発し構築し得る。
【００９２】
サービスプロバイダは、また、プロバイダネットワーク１５００のクライアントに、ストリーミングサービス１５１６を提供し得る。例えば、パーソナルコンピュータ、タブレット及び携帯電話のような、多くの消費者用デバイスは、ゲームのクライアントが実時間で処理及びレンダリングする際にデバイスの機能を制限するハードウェア及び／またはソフトウェアの制限を有する。少なくともいくつかの実施形態においては、ストリーミングサービス１５１６は、プロバイダネットワーク１５００上のゲームシステム１５２０によって実装される、リソースを大量に消費するゲームの出力がプロバイダネットワーク１５００上でレンダリングされ、プロバイダネットワーク１５００から、パーソナルコンピュータ、タブレット及び携帯電話のような消費者用デバイスに実装される「シン」ゲームボリュームへとストリーミングされるのを可能にし得る。少なくともいくつかの実施形態においては、各シンゲームクライアントは、クライアントデバイス１７５０上のストリーミングサービス１５１６により受信されたデータを受信し、処理するための図１４に示されたストリーミングサービスクライアントインタフェース１７２２を実装し得る。ストリーミングサービス１５１６を使用して、ゲームシステム１５２０は、計算処理ニーズとストレージニーズを処理し、クライアント１５８０が実装されているデバイスの種類を問わずに拡張することができる。図１４は、少なくともいくつかの実施形態による、ストリーミングサービス１５１６がレンダリングされたゲーム映像及び音声をシンゲームクライアントに提供するために用いられる、例示的なネットワークベースのゲーム環境を示す。
【００９３】
図１２に示すように、いくつかの実施形態では、サービスプロバイダは、また、プロバイダネットワーク１５００のクライアントに、ストリーミング管理サービス１５１８を提供し得る。ゲーム開発者は、ゲームシステム１５２０を実装して、ストリーム管理サービス１５１８を活用することができます。図１５は、少なくともいくつかの実施形態による、ストリーム管理サービス１５１８に影響を及ぼすゲーム環境の高レベルの図である。ストリーム管理サービス１５１８は、ゲーム開発者は、ＡＰＩ１８１８を介してストリーム管理サービス１５１８の１つ以上の機能を活用するゲームシステム１８００を実装し得るアプリケーションプログラミングインタフェース（ＡＰＩ）１８１８を含むツール及びインタフェースを提供し得る。少なくともいくつかの実施形態においては、ストリーム管理サービス１５１８は、大規模でストリーミングデータの実時間処理のための完全に管理されたサービスである。ゲーム開発者は、ＡＰＩの１８１８を介してストリーム管理サービス１５１８を利用して、実時間で多数のデータソースから１時間毎に大量のデータを収集して処理できる。このように、ゲームロジック／実行１８０２エンジンに係るゲームセッションを実行するときには、多数のデータソースからの情報を処理し、リアルタイムで実行できるストリーム管理サービスＡＰＩ１８１８によってゲーム開発者が簡単にゲームシステム１８００を構築、実装するのを可能にする。データソースは、プロバイダネットワーク及び／またはプロバイダネットワークに外部の光源を含み得る。例えば、プロバイダネットワークのソースは、ＤＢリソース１８３４、ストレージリソース１８３２及び／または計算リソースのような、その他のデータソース１８３６を含む。ストリーム管理サービスＡＰＩ１８１８は、クライアントデバイス（単数または複数）１８５０上のゲームクライアント（単数または複数）１８５２と同様に、プロバイダネットワーク上のＤＢリソース１８３４及び／またはストレージリソース１８３２のように、１つ以上のターゲットへのデータ送信（例えば、データストリーム）を可能にしてもよい。
【００９４】
図１２を参照すると、ゲームプロバイダ１５９０は、ゲームシステム１５２０としてオンラインゲームを開発／導入し、１５１０のうちの１つまたは複数のサービスを利用するゲームシステム１５２０を構成し、プロビジョニングし得る。１つ以上のコンピューティングリソース１５２４は、ゲームロジック／実行１５２２を実装するためにプロビジョニングされ構成され得る。いくつかの実施形態では、図１２に示すように、２つ以上のコンピューティングリソース１５２４は、ゲームロジック／実行１５２２を実装するために構成され得る。しかしながら、いくつかの実施形態では、ゲームロジック／実行１５２２（例えば、２Ｄまたは３Ｄゲームエンジンなど）のインスタンスが、１つ以上のコンピューティングリソース１５２４のインスタンスのそれぞれに実装され得る。例えば、いくつかの実装においては、ストレージリソース（単数または複数）１５３２に記憶されたゲームプロバイダのゲームエンジンのマシンイメージからスピンアップされる、各コンピューティングリソース１５２４のインスタンスは、仮想マシンインスタンスであってもよい。
【００９５】
ストレージリソース１５３２及び／またはＤＢリソース１５３４は、記憶、アクセス及びゲームデータを管理するために構成され、及びプロビジョニングされ得る。図１Ａから図１１に示されているように、ゲームレコードとプレーヤのプロフィールを含むがこれらに限定されない。ゲームシステムインタフェース（単数または複数）１５２６は、ゲームクライアント１５８０にゲームＩ／Ｏインタフェースやプロトコルを提供するように構成され得る。少なくともいくつかの実施形態においては、ゲームシステムインタフェース（単数または複数）１５２６は、以上に記載されたようにストリーミングサービス１５１６を含み、活用し得る。ゲームクライアント１５８０は、また、様々な種類のクライアントデバイス（例えば、タブレット、スマートフォン、デスクトップ／ノートブックコンピュータ等）上に、様々なオペレーティングシステム（ＯＳ）のプラットフォーム用に開発し構築し得る。ゲームクライアント１５８０は、図１４に示されるようなシックゲームクライアント及び／または図１３に示されているようなシンのゲームクライアントを含み得る。
【００９６】
一旦、ゲームシステム１５２０が確立されると、プレーヤは、１つ以上のチャネルを通じてゲームプロバイダ１５９０からゲームクライアント１５８０を得ることができる（例えば、様々なアプリケーションを取得しダウンロードするためのオンラインサイトのような、ゲームプロバイダ１５９０のウェブサイトから、または第三者のウェブサイトからゲームクライアントをダウンロードするゲームに限らず、モバイルデバイスに限定されない様々な種類の消費者用デバイスも含むがこれらに限定されない）。１以上のプレーヤは、次に、ゲームシステムインタフェース（単数または複数）１５２６を介してゲームシステム１５２０を操作することにより、図１Ａ及び図２に示されるようなゲームセッションに参加してよい。ゲームロジック／実行１５２２は、ゲームユニバースをゲームセッションのために構築、メンテナンス、及び更新し、プレーヤはクライアントデバイス上のゲームクライアント１５８０を使用してキャラクタを制御することにより、ゲームユニバースにおいて操作する。ゲームシステム１５２０は、ゲームレコードを作成し、ゲームセッションのためにゲームデータ１５３０に記憶し、ゲームシステム１５２０は、セッションにおけるプレーヤのゲームプレイによりプレーヤのプロフィールを更新する。
【００９７】
１以上のプレーヤは、次に、ゲームシステムインタフェース（単数または複数）１５２６を介してゲームシステム１５２０を操作することにより、図１Ｂから図１Ｄ及び図３に示されるようなゲームセッションに参加してよい。ゲームセッションがリプレイされるのを選択し、ゲームセッションのリプレイを閲覧し、ゲームセッションに進み、キャラクタ（単数または複数）を制御することが望まれる。少なくともいくつかの実施形態においては、ゲームシステム１５２０は、再生中、キャラクタの制御を行う少なくとも１プレーヤに対応して、新しいタイムライン及び新しいゲームレコードをスポーンする。少なくともいくつかの実施形態においては、例えば、図４Ａまたは図４Ｂも示されているように、ゲームシステム１５２０は、自動的に、以前にプレイしたゲームが記憶されたゲームレコードからリプレイされている１つ以上のプレーヤに通知し得る。
【００９８】
少なくともいくつかの実施形態においては、ゲームセッションのゲームレコードは、ゲームシステム１５２０を使用する１以上のプレーヤによって生成されてよく、ゲームレコードは、次に例えば図５に示されているように、リプレイのためにその他のプレーヤに提供され得る。非限定実施例として、このゲームレコードは、ゲームのレコードまたは第三者のウェブサイトを生成したゲームプロバイダ１５９０のウェブサイト、プレーヤ（単数または複数）のウェブサイトを介して、オンラインで供給されてよい。供給されるゲームレコードを取得するプレーヤは、次にゲームシステム１５２０を使用するゲームセッションをリプレイし得る。プレーヤは、オリジナルのゲームセッションの映像を見ているかのように、ゲームセッションの再生を見てよく、あるいは、別の方法としてはゲームにおけるキャラクタの制御を行い、オリジナルのプレーヤのキャラクタに対抗して（または協力的なゲームで）プレイすることによって、プレーヤ（単数または複数）は、ゲームセッションのリプレイに参加することを選択し得る。少なくともいくつかの実施形態においては、一旦、プレーヤが、取得したゲームレコードからリプレイされるゲームセッションのゲームユニバースに入り操作をすると、ゲームシステムはプレーヤのプロフィールによるゲームセッションを記録したオリジナルのプレーヤのプレイをシミュレートし始める。
【００９９】
図１３は、少なくともいくつかの実施形態による、シッククライアントを使用する例示的なネットワークベースのゲーム環境を示す。ゲームシステム１６００は、ゲームロジック／実行１６０２のコンポーネント、ゲーム出力からゲーム入力を受信してゲームクライアント１６５２へと送信するためのフロントエンドゲームシステムインタフェース（単数または複数）１６０４及びゲームデータ１６１０（本明細書に記載のゲームレコード及びプレーヤのプロフィールを含み得るがこれらに限定されない）を記憶し検索するためのバックエンドデータインタフェース（単数または複数）１６３０を含み得る。ゲームロジック／実行１６０２のコンポーネントは、ゲームセッションのコンテキスト、キャラクタ及び環境を含むゲームユニバースを生成し得る。プレーヤの入力及びゲームユニバースの操作並びにその他のゲーム要素（例えば、スクリプトイベント及び／またはランダムコンポーネント）に基づいて、ゲームセッションは、ゲームロジック／実行１６０２のコンポーネントによって、タイムラインに沿って進行し、それに応じてゲームユニバースは変更され更新される。
【０１００】
クライアントデバイス１６５０は、シックゲームクライアント１６５２を埋め込み得る。シックゲームクライアント１６５２は、２Ｄまたは３Ｄレンダリング１６０６のコンポーネントを実装し得る。ユニバースがタイムラインに沿って進行するにしたがい、２Ｄまたは３Ｄのゲームユニバースの完全なレンダリングを実行するゲームロジック／実行１６０２よりもむしろ、ゲームユニバースのデータは、定期的に、不定期にまたは連続的にゲームシステムインタフェース（単数または複数）１６０４を介してシックゲームクライアント１６５２に送信する。クライアントデバイス１６５０では、レンダリング１６０６のコンポーネント分は、受信されたゲームユニバースのデータにしたがい、２Ｄまたは３Ｄ表示またはゲームユニバースのビューをレンダリングし、表示し及び更新し得る。
【０１０１】
図１４は、少なくともいくつかの実施形態による、ストリーミングサービスがレンダリングされたゲーム映像及び音声をシンゲームクライアントに提供するために用いられる、例示的なネットワークベースのゲーム環境を示す。ゲームシステム１７００は、ゲームロジック／実行１７０２のコンポーネント、ゲームクライアント１７５２からゲーム入力を受信するためのフロントエンドゲームシステムインタフェース（単数または複数）１７０４及びゲームデータ１７１０(本明細書に記載のゲームレコード及びプレーヤのプロフィールを含み得るがこれらに限定されない)を記憶し検索するためのバックエンドデータインタフェース（単数または複数）１７３０を含み得る。ゲームシステム１７００は、さらに、２Ｄまたは３Ｄのレンダリング１７０６のコンポーネント及びストリーミングサービスインタフェース１７２０を含み得る。ストリーミングサービスインタフェース１７２０は、例えば、図１２に示されているように、ストリーミングサービス１５１６により実装され得る。図１４に戻ると、ゲームロジック／実行１７０２のコンポーネントは、ゲームセッションのコンテキスト、キャラクタ及び環境を含むゲームユニバースを生成し得る。プレーヤの入力及びゲームユニバースの操作並びにその他のゲーム要素（例えば、スクリプトイベント及び／またはランダムコンポーネント）に基づいて、ゲームセッションは、ゲームロジック／実行１７０２のコンポーネントによって、タイムラインに沿って進行し、それに応じてゲームユニバースは変更され更新される。
【０１０２】
図１３に示されているようにシックゲームクライアントを実装するかわりに、クライアントデバイス１７５０は、シックゲームクライアント１７５２を埋め込み得る。シンゲームクライアント１７５２は、ストリーミングサービスクライアントインタフェース１７２２を実装し得る。クライアントデバイス１７５０上の２Ｄまたは３Ｄのゲームユニバースのレンダリングを実行するよりもむしろ、ゲームシステム１７００のレンダリング１７０６のコンポーネントは、ユニバースがタイムラインに沿って進行するにしたがって、２Ｄもしくは３Ｄ表示またはゲームユニバースのビューをレンダリングし得る。ストリーミングサービスインタフェース１７２０は、ゲームユニバースのレンダリングから映像を生成し、映像及びそれに伴う音声をストリーミングサービスプロトコルによってシンゲームクライアント１７５２にストリーミングし得る。クライアントデバイス１７５０では、ストリーミングサービスクライアントインタフェース１７２２は、ストリーミング・サービス・インタフェース１７２０からのストリームを受信し、また、シンゲームクライアント１７５０は、映像をクライアントデバイス１７５０に表示する。
【０１０３】
本明細書に記載されたゲームシステムの実施形態は、１つ以上のデバイス（例えば、サーバデバイス）がゲームシステムの機能のほとんどまたはすべてをホストし、ゲームクライアント（「クライアント」）をホストする１つ以上のクライアントデバイスは、例えば、インターネットのような中間ネットワークを介して、ゲームセッションを再生するゲームシステム（「サーバ」）にアクセスするクライアントサーバモデルにより実装され得る。しかしながら、ゲームシステムの実施形態は、例えば、ピアーツーピアーモデルにより、その他のモデルにより実装され得る。
【０１０４】
図１６Ａ及び図１６Ｂは、少なくともいくつかの実施形態による、例示的なピアーツーピアーのゲーム環境を示す。ピアーツーピアーモデルでは、図１Ａから図１Ｄに示されているゲームシステム１００のゲーム機能とコンポーネントの少なくとも一部は、プレーヤデバイス１９２０上に実装される、１以上のゲームのピア１９２２間に分散され得る。デバイス１９２０は、デスクトップコンピュータシステム、ラップトップ／ノートブックコンピュータシステム、パッド／タブレット端末、スマートフォンデバイス、ゲームコンソール、携帯型ゲーム機及び装着型ゲームデバイスを含む様々な消費者用デバイスのうち何れかであり得るが、これらに限定されない。装着型ゲームデバイスは、ゲーム用のメガネまたはゴーグル及び手首、腕で装着可能なゲーム用の「腕時計」を含むことができるが、これらに限定されるものではない。ゲームのピア１９２２は、ピアーツーピアーの関係に参加してゲームセッションを実行してよく、各ゲームのピア１９２２は、図１Ａから図１Ｄに示されているように、例えば、ゲームロジック／実行１０２、ゲームレコード１０６、プレーヤ監視１０８、ゲーム再生１１０及びプレーヤシミュレーション１１２のような、ゲームシステム１００のゲームの機能及びコンポーネントのうち少なくとも一部を実装し得る。加えて、１つ以上のピアデバイス１９２０は、ゲームデータ１９６０を記憶し得る。
【０１０５】
いくつかの実施形態では、異なるゲームピア１９２２は、ゲーム機能の異なる部分及びゲームシステムのコンポーネントを実装し得る。例えば、いくつかの実施形態では、ゲームピア１９２２のうち１つがゲームレコードを実行してよく、一方、別のゲームピア１９２２は、プレーヤの監視を実行する。図１６Ａに示すように、いくつかの実施形態において、ピアーツーピアーモデルに参加している１つ以上のデバイス１９２０は、ゲームデータ１９６０のための記憶装置としての役割をし得る。ゲームデータ１９６０は、本明細書で記載されるように、ゲームレコード及びプレーヤのプロフィールを含むがこれらに限定されない。図１６Ｂに示すように、いくつかの実施形態において、ゲームデータ１９６０の少なくとも一部は、例えば、図１２に示されているようなサービスプロバイダネットワークのストレージ仮想化サービスを仕様して、１つ以上のリモートゲームデータストア１９８０に記憶され得る。
【０１０６】
例示的システム
少なくともいくつかの実施形態においては、本明細書に記載されるコンピュータベースのゲームにおけるゲームセッションをリプレイするための方法及び装置の一部またはすべてを実装するコンピュータデバイスは、図１７に示されたコンピュータシステム２０００のような、１つ以上のコンピュータがアクセス可能な媒体にアクセスすることを含むか、またはアクセスするよう構成された汎用コンピュータシステムを含み得る。図示された実施形態において、コンピュータシステム２０００は、入力／出力（Ｉ／Ｏ）インタフェース２０３０を介して、システムメモリ２０２０に接続された１つ以上のプロセッサ２０１０を含む。コンピュータシステム２０００は、さらに、Ｉ／Ｏインタフェース２０３０に連結されたネットワークインタフェース２０４０を含む。
【０１０７】
様々な実施形態では、コンピュータシステム２０００は、１つのプロセッサ２０１０を含む、単一プロセッサシステムまたは、いくつかのプロセッサ２０１０を含む、マルチプロセッサシステムであり得る（例えば、２、４、８または別の好適な数）。プロセッサ２０１０は、命令を実行可能な任意の好適なプロセッサであり得る。例えば、様々な実施形態では、プロセッサ２０１０は、ｘ８６、ＰｏｗｅｒＰＣ、ＳＰＡＲＣまたはＭＩＰＳ  ＩＳＡ、または任意のその他の好適なＩＳＡのような、任意の様々な命令セットアーキテクチャを実行する汎用または組込型プロセッサであり得る。マルチプロセッサシステムにおいては、プロセッサ２０１０のそれぞれは、一般に類似のＩＳＡを実装し得るが必ずしも必要ではない。
【０１０８】
システムメモリ２０２０は、プロセッサ（単数または複数）２０１０によってアクセス可能な命令及びデータを格納するよう構成され得る。様々な実施形態では、システムメモリ２０２０は、スタティックランダムアクセスメモリ（ＳＲＡＭ）、シンクロナスダイミックランダムアクセスメモリ（ＳＤＲＡＭ）、不揮発性／フラッシュタイプのメモリまたは任意のその他の種類のメモリの種類を使用して実装され得る。図示した実施形態では、１つ以上の所望の機能を実装する、プログラムの命令及びデータ（例えば、これらの方法、技術及び上述のデータがコンピュータベースのゲームにおけるゲームセッション）は、リプレイするために示され、コード２０２５及びデータ２０２６のように、システムメモリ２０２０内に記憶される。
【０１０９】
一実施形態では、Ｉ／Ｏインタフェース２０３０は、ネットワークインタフェース２０４０またはその他の周辺インタフェースを介することを含む、プロセッサ２０１０と、システムメモリ２０２０と、装置内の任意の周辺装置との間のＩ／Ｏトラフィックを調節するよう構成され得る。いくつかの実施形態では、Ｉ／Ｏインタフェース２０３０は、１つのコンポーネント（例えば、システムメモリ２０２０）からデータ信号を変換するために、任意の必要なプロトコル、タイミングまたはその他のデータ変換を別のコンポーネント（例えば、プロセッサ２０１０）によって使用するのに適したフォーマットに実行し得る。いくつかの実施形態では、Ｉ／Ｏインタフェース２０３０は、例えば、周辺構成要素相互接続装置（ＰＣＩ）バス規格の変形またはユニバーサルシリアルバス（ＵＳＢ）規格のような、様々な種類の周辺のバスを通して取り付けられる装置への支援を含み得る。いくつかの実施形態では、Ｉ／Ｏインタフェース２０３０の機能は、例えば、ノースブリッジ及びサウスブリッジのように、２つまたはそれ以上の分離したコンポーネントに分かれ得る。また、いくつかの実施形態では、システムメモリ２０２０へのインタフェースのような、いくつかの、またはすべてのＩ／Ｏインタフェース２０３０の機能は、プロセッサ２０１０に直接組み込まれ得る。
【０１１０】
ネットワークインタフェース２０４０は、例えば、図１から図１５Ｂに図示された他のコンピュータシステムまたは装置のような、ネットワークまたはネットワーク２０５０に取り付けられた、データがコンピューティングデバイス２０００とその他の装置２０６０との間で交換できるように構成され得る。様々な実施形態では、ネットワークインタフェース２０４０は、例えばイーサネット（登録商標）ネットワークの種類のような、任意の好適な有線または無線の一般的なデータネットワークを介して、通信を支援し得る。さらに、ネットワークインタフェース２０４０は、ファイバチャネルＳＡＮのようなストレージエリアネットワークを介して、または任意のその他の好適な種類のネットワーク及び／またはプロトコルを介して、アナログ音声ネットワークまたはデジタルファイバ通信ネットワークのような、電気通信／電話網を介した通信を支援し得る。
【０１１１】
いくつかの実施形態では、システムメモリ２０２０は、コンピュータベースのゲームにおけるゲームセッションをリプレイするための方法及び装置の実施形態を実装するために、図１から図１５Ｂのために上記に記載されたように、プログラムの命令及びデータを格納するよう構成された、コンピュータでアクセス可能な媒体の一実施形態であり得る。しかしながら、その他の実施形態では、プログラムの命令及び／またはデータが受信され、送信され、または異なる種類のコンピュータがアクセス可能な媒体に格納され得る。一般に、コンピュータがアクセス可能な媒体は、磁気または光学媒体のような、非一時的記憶媒体またはメモリ媒体を含み得る。例えば、Ｉ／Ｏインタフェース２０３０を介してコンピュータシステム２０００に接続されたディスクまたはＤＶＤ／ＣＤである。非一時的コンピュータアクセス可能な記憶媒体は、また、いくつかの実施形態において、システムメモリ２０２０または別の種類のメモリのように、コンピュータシステム２０００中に含まれてよい、ＲＡＭ（例えば、ＳＤＲＡＭ、ＤＤＲ、ＳＤＲＡＭ、ＲＤＲＡＭ、ＳＲＡＭ等）、ＲＯＭ等のような、任意の揮発性または不揮発性媒体を含み得る。さらに、コンピュータがアクセス可能な媒体は、ネットワークインタフェース２０４０を経由して実装され得るような、ネットワーク及び／または無線接続のような、電気信号、電磁波信号またはデジタル信号のような、通信媒体を経由して伝達される伝送媒体または信号を含み得る。
【０１１２】
上記の実施形態は、以下の条項の見地からより良く理解され得る。
１．システムは、
ゲームシステムを実装するように構成される１つ以上のコンピューティングデバイスを備え、前記ゲームシステムは、
以前にプレイされたゲームセッションを備えるゲームレコードを記憶し、各ゲームセッションはゲームセッションのタイムラインに沿ってゲームユニバース内で行動する１つ以上のゲームキャラクタを含み、
１つ以上のクライアントデバイスのうち１つから選択入力を受信して、前記選択入力は再生のために記憶されたゲームレコードのうち１つを選択し、
前記選択されたゲームレコードにおいて少なくとも１つのクライアントデバイスに記録される際に、前記ゲームセッションの再生を開始し、
前記１つ以上のクライアントデバイスのうち１つのゲームクライアントインスタンスからの入力を受信し、前記ゲーム入力は前記ゲームユニバース内の前記１つ以上のゲームキャラクタのうち１つによってアクションを起こさせ、かつ、
前記ゲーム入力に対応して、前記新しいゲームセッションのタイムラインに新しいゲームレコードを生成する際に、前記ゲームセッションのタイムラインから新しいゲームセッションのタイムラインをスポーンするように構成される、システム。
【０１１３】
２．前記選択されたゲームレコードに記録される際に、前記ゲームセッションのタイムラインから新しいゲームセッションのタイムラインを前記スポーンした後に、ゲームプレイは、少なくとも１つのゲームクライアントインスタンスから受信された追加のゲーム入力により、前記新しいゲームセッションのタイムラインに進む、条項１に記載のシステム。
【０１１４】
３．所与のゲームセッションにおける少なくとも１つのゲームキャラクタは、クライアントデバイス上のゲームクライアントインスタンスにプレーヤの入力によって制御される、条項１に記載のシステム。
【０１１５】
４．前記ゲームシステムはオンラインゲームを実装し、前記ゲームシステムを実装する前記１つ以上のコンピューティングデバイスはゲームプロバイダネットワーク上のデバイスであり、前記クライアントデバイス上の前記ゲームクライアントインスタンスは中間ネットワークを介して前記ゲームシステムにアクセスする、条項１に記載のシステム。
【０１１６】
５．前記選択されたゲームレコードにおいて、前記少なくとも１つのクライアントデバイスに記録する際に、前記ゲームセッションを再生し、前記ゲームシステムはさらに、それぞれのクライアントデバイスに表示するために前記中間ネットワークを介して、前記少なくとも１つのゲームクライアントインスタンスに、前記ゲームユニバース及び前記レンダリングされたゲームユニバースのストリーム映像をレンダリングするように構成される、条項４に記載のシステム。
【０１１７】
６．前記選択されたゲームレコードにおいて、前記少なくとも１つのクライアントデバイスに記録する際に、前記ゲームセッションを再生し、前記ゲームシステムはさらに、前記少なくとも１つのゲームクライアントインスタンスに前記中間ネットワーク経由でゲームユニバースのデータを送信するように構成され、少なくとも１つのゲームクライアントインスタンスは、前記受信されたゲームユニバースデータによって、前記それぞれのクライアントデバイスに前記ゲームユニバースをレンダリングし表示するように構成される、条項４に記載のシステム。
【０１１８】
７．前記選択されたゲームレコードは、前記ゲームユニバースにおいて複数の異なる観点から記録された前記ゲームセッションの映像を含み、及び、前記選択されたゲームレコードにおいて記録される際の前記ゲームセッションの前記再生で、前記ゲームシステムは前記クライアントデバイスのそれぞれに、前記異なる観点のうち少なくとも２つから前記映像をストリーミングするように構成される、条項１に記載のシステム。
【０１１９】
８．前記選択されたゲームレコードは、前記ゲームセッション用に、ゲームセッションメタデータを含み、及び、前記選択されたゲームレコードにおいて記録される際の前記ゲームセッションの再生で、前記ゲームシステムは、前記ゲームセッションメタデータから少なくとも２つの前記ゲームユニバースの異なる観点をレンダリングし、前記クライアントデバイスのうちそれぞれに前記異なる観点から映像をストリーミングするように構成される、条項１に記載のシステム。
【０１２０】
９．前記ゲームシステムはマルチプレーヤゲームを実装し、前記ゲームシステム上のゲームセッションは２つ以上のゲームキャラクタを含み、ゲームセッションにおける所与のゲームキャラクタは、２以上のプレーヤのうち１つに対応し、ゲームセッションにおける、２以上のゲームキャラクタのうち少なくとも１つは、クライアントデバイス上のゲームクライアントインスタンスにそれぞれのプレーヤの入力によって制御される、条項１に記載のシステム。
【０１２１】
１０．前記ゲームシステムを実装する前記１つ以上のコンピューティングデバイスは、前記１つ以上のクライアントデバイスのうち少なくとも１つを含む、条項１に記載のシステム。
【０１２２】
１１．１つ以上のコンピューティングデバイスに実装されたゲームシステムによって、以前にプレイされたゲームセッションの少なくとも一部をリプレイし、
前記リプレイ中の前記ゲームシステムによって、前記ゲームセッションがリプレイされているゲームクライアントから入力を受信し、前記入力は、リプレイされている前記ゲームセッションに含まれる１つ以上のゲームキャラクタのうち１つによってアクションを示し、かつ、
前記入力に対応して、前記以前にプレイされたゲームセッションから新しいゲームセッションをスポーンし、前記新しいゲームセッションのタイムラインは前記以前にプレイされたゲームセッションのタイムラインから分かれること、を含む方法。
【０１２３】
１２．前記以前にプレイされたゲームセッションから新しいゲームセッションをスポーンした後に、ゲームプレイは、少なくとも１つのゲームクライアントから受信された追加のゲーム入力により、前記新しいゲームセッションのタイムラインに進み、前記追加のゲーム入力は、前記新しいゲームセッションに含まれる少なくとも１つのゲームキャラクタによって追加のアクションを示す、条項１１に記載の方法。
【０１２４】
１３．所与のゲームセッションは、ゲームセッションのタイムラインに沿ってゲームユニバース内で行動する少なくとも１つのゲームキャラクタを含み、所与のゲームセッションにおける少なくとも１つのゲームキャラクタは、クライアントデバイス上のゲームクライアントインスタンスにプレーヤが入力することによって制御される、条項１１に記載の方法。
【０１２５】
１４．前記ゲームシステムは、マルチプレーヤゲームプレイを支持するように構成され、前記以前にプレイされたゲームセッションは２つ以上のゲームキャラクタを含み、ゲームセッションにおける所与のゲームキャラクタは、２以上のプレーヤのうち１つに対応し、前記以前にプレイされたゲームセッションにおける、２以上のゲームキャラクタのうち少なくとも１つは、クライアントデバイス上のゲームクライアントインスタンスにそれぞれのプレーヤの入力によって制御される、条項１１に記載の方法。
【０１２６】
１５．前記以前にプレイされたゲームセッションは、以前に記憶されたゲームレコードからリプレイされ、前記方法は、さらに、前記新しいゲームセッションのために新しいゲームレコードを生成し、記憶することを含む、条項１１に記載の方法。
【０１２７】
１６．複数の記録されたゲームセッションに対応する複数のゲームレコードを記憶することをさらに含み、前記以前にプレイされたゲームセッションは、複数のゲームレコードのうち選択された１つからリプレイされる、条項１１に記載の方法。
【０１２８】
１７．ゲームクライアントに、複数の記憶されたゲームレコードに対応して、以前に記録されたゲームセッションの階層リストを表示することをさらに含み、前記階層リストは、１つ以上のオリジナルのゲームセッションを示し、少なくとも１つのオリジナルのゲームセッションのために、１つ以上の子孫ゲームセッションが前記それぞれのオリジナルゲームセッションからスポーンされる、条項１１に記載の方法。
【０１２９】
１８．前記ゲームクライアントからの前記入力が、第１のプレーヤが前記ゲームクライアントを実装するクライアントデバイスを使用してリプレイされる前記ゲームセッションにおける前記それぞれのゲームキャラクタを制御することを示す、条項１１に記載の方法。
【０１３０】
１９．さらに、別のゲームクライアントから追加の入力を受信することをさらに含み、前記追加の入力は、第２のプレーヤが、前記別のゲームクライアントを実装するクライアントデバイスを使用する前記新しいゲームセッションにおける別のゲームキャラクタを制御することを示す、条項１８に記載の方法。
【０１３１】
２０．別のゲームキャラクタの前記観点から前記新しいゲームセッションにおけるゲームプレイのビューを別のゲームクライアントへストリーミングすることをさらに含み、前記別のゲームクライアントは、前記別のゲームキャラクタを制御しない、条項１８に記載の方法。
【０１３２】
２１．前記リプレイは、複数のクライアントデバイス上の複数のゲームクライアントに、ゲームセッションの複数のビューのストリーミングを含み、ビューのうち少なくとも２つは、前記それぞれのクライアントデバイスに関連する異なるゲームキャラクタの観点にそれぞれ対応する、条項１１に記載の方法。
【０１３３】
２２．ゲームシステムを実装するための、コンピュータで実行可能なプログラムインストラクションを記憶する、非一時的コンピュータにアクセス可能な記憶媒体であって、
１つ以上のゲームセッションを記録し記憶するゲームレコードであって、それぞれはゲームセッションのタイムラインに沿ってゲームユニバース内で行動する１つ以上のゲームキャラクタを含み、
前記ゲームレコードのうち選択された１つから、１つ以上のゲームクライアントにゲームセッションの少なくとも一部を再生し、
前記ゲームセッションの再生中、前記１つ以上のゲームクライアントのうち１つから入力を受信し、前記入力は、前記ゲームクライアントは再生されている前記ゲームセッションにおける前記１つ以上のゲームキャラクタのうち１つを制御していることを示し、
前記入力に対応して、再生されている前記ゲームセッションから新しいゲームセッションをスポーンし、前記新しいゲームセッションのタイムラインは、前記それぞれのゲームレコードに記録される際に、前記ゲームセッションのタイムラインから分かれるように構成される、を含む方法。
【０１３４】
２３．前記ゲームシステムはさらに、前記新しいゲームセッションのための新しいゲームレコードを生成し、記憶するよう構成される、条項２２に記載の非一時的コンピュータでアクセス可能な記憶媒体。
【０１３５】
２４．前記ゲームシステムはさらに、前記スポーンの後に、追加の入力を前記１以上のゲームクライアントのうち別の１つから受信するよう構成され、前記入力は、前記別のゲームクライアントは、前記新しいゲームセッションにおいて別のゲームキャラクタを制御することを示す、条項２２に記載の非一時的コンピュータでアクセス可能な記憶媒体。
【０１３６】
２５．前記ゲームシステムは、マルチプレーヤゲームプレイを支持するように構成され、再生されている前記ゲームセッションは、２つ以上のプレーヤのうち異なる１つに対応する２つ以上のゲームキャラクタを含む、条項２２に記載の非一時的コンピュータでアクセス可能な記憶媒体。
【０１３７】
２６．前記ゲームセッションにおける前記１つ以上のキャラクタは、１以上のプレーヤのうち異なる１人にそれぞれ対応して再生され、前記ゲームセッションが再生されている前記１つ以上のゲームクライアントは、前記１以上のプレーヤに関連する１つ以上のクライアントデバイス上で実装される、条項２２に記載の非一時的コンピュータでアクセス可能な記憶媒体。
【０１３８】
加えて、上記の実施形態は、以下の条項の見地からより良く理解され得る。
１．システムは、
ゲームシステムを実装するように構成される１つ以上のコンピューティングデバイスを備え、
１以上のオリジナルプレーヤによりプレイされる複数のゲームセッションを含む複数のゲームレコードを記憶し、それぞれのゲームセッションは、前記１つ以上のオリジナルプレーヤによって制御されるゲームユニバース内で行動する１つ以上のゲームキャラクタを含み、
インタフェースを介して、前記複数のその他のプレーヤに複数のゲームセッションを宣伝し、
前記インタフェースによりクライアントデバイスから入力を受信し、前記入力はその他のプレーヤのうち１人により前記複数のゲームセッションのうち１つの選択を示し、
前記入力に対応し、その他のプレーヤによって前記クライアントデバイスから前記複数のゲームレコードのうちそれぞれ１つへのアクセスを提供し、
前記それぞれのゲームレコードから前記選択されたゲームセッションのリプレイを開始する前記クライアントデバイスからの入力を受信し、かつ、
リプレイを開始する前記入力に対応して、１つ以上のクライアントデバイスに前記それぞれのゲームレコードにおいて記録される前記選択されたゲームセッションの再生を始めるよう構成される。
【０１３９】
２．前記ゲームセッションの再生中に、前記ゲームシステムは、さらに、前記１つ以上のゲームキャラクタの観点から前記１つ以上のクライアントデバイスに前記ゲームセッションのリプレイをストリーミングするように構成される、条項１に記載のシステム。
【０１４０】
３．ゲームシステムはさらに、前記１つ以上のクライアントデバイスのうち１つからゲーム入力を受信するよう構成され、前記ゲーム入力は、その他のプレーヤのうち１人が再生されている前記ゲームセッションの前記ゲームユニバース内でゲームキャラクタの制御をすることを示す、条項１に記載のシステム。
【０１４１】
４．前記ゲームシステムはさらに、前記ゲーム入力に応答して、
前記ゲームレコードに記録された前記ゲームセッションから新しいゲームセッションをスポーンし、
前記新しいゲームセッションのタイムラインは、前記ゲームレコードに記録される際に、前記以前にプレイしたゲームセッションのタイムラインから分かれ、かつ、
前記新しいゲームセッションに新しいゲームレコードを生成する、条項３に記載のシステム。
【０１４２】
５．再生されている前記ゲームセッションの前記ゲームユニバース内のゲームキャラクタの制御を行うその他のプレーヤに対応して、前記ゲームシステムはさらに、前記１つ以上のオリジナルのプレーヤのプレーヤプロフィールにより前記ゲームユニバース内で少なくとも１つのその他のゲームキャラクタのゲームプレイをシミュレートするよう構成され、各プレーヤのプロフィールは前記それぞれのオリジナルのプレーヤの１つ以上のゲームプレイの属性を示す、条項３に記載のシステム。
【０１４３】
６．前記複数のゲームセッションのうち１つの選択を示す前記入力は、その他のプレーヤによって前記選択されたゲームセッションを購入する入力を含む、条項１に記載のシステム。
【０１４４】
７．前記それぞれのゲームレコードから前記選択されたゲームセッションのリプレイを開始する前記入力は、前記それぞれのゲームレコードから前記選択されたゲームセッションのリプレイのための手数料の支払いをする入力を含む、条項１に記載のシステム。
【０１４５】
８．１つ以上のコンピューティングデバイスに実装されたインタフェースを介して、複数のプレーヤに以前にプレイされたゲームセッションを宣伝し、前記複数のゲームセッションは、１以上のオリジナルプレーヤによってプレイされ記録され、それぞれのゲームセッションは、１つ以上のオリジナルプレーヤによって制御されるゲームユニバース内で行動する１つ以上のゲームキャラクタを含み、
前記１つ以上のコンピューティングデバイスによって、前記インタフェースによりクライアントデバイスからの入力を受信し、前記入力は別のプレーヤによって前記複数のゲームセッションのうち１つ以上を選択し、かつ、
前記入力に応答して、その他のプレーヤによって前記選択されたゲームセッションのリプレイのために前記クライアントデバイスから前記複数のゲームレコードのうち１つ以上にそれぞれアクセスすることを含む、方法。
【０１４６】
９．それぞれのゲームレコードにおいて記録される際に１つ以上のクライアントデバイスに、前記選択されたゲームセッションのうち１つの少なくとも一部をさらに再生することを含む、条項８に記載の方法。
【０１４７】
１０．前記ゲームセッションは、前記インタフェースを介して前記ゲームセッションのリプレイのためにその他のプレーヤが手数料を支払うのに対応して、前記１つ以上のクライアントデバイスに再生する、条項９に記載の方法。
【０１４８】
１１．前記再生は、前記１つ以上のゲームキャラクタの観点から前記１つ以上のクライアントデバイスに前記ゲームセッションのリプレイをストリーミングすることを含む、条項９に記載の方法。
【０１４９】
１２．前記１つ以上のクライアントデバイスのうち１つからゲーム入力を受信することをさらに含み、前記ゲーム入力は、それぞれのプレーヤが再生されている前記ゲームセッションの前記ゲームユニバース内でゲームキャラクタの制御をする、条項９に記載の方法。
【０１５０】
１３．前記ゲーム入力に対応して、前記ゲームレコードに記録される際に、前記ゲームセッションから新しいゲームセッションをスポーンすることをさらに含み、前記新しいゲームセッションのタイムラインは、前記ゲームレコードに記録される際に、前記以前にプレイしたゲームセッションのタイムラインから分かれる、条項１２に記載の方法。
【０１５１】
１４．新しいゲームセッションのために新しいゲームレコードを生成することを含む、条項１３に記載の方法。
【０１５２】
１５．前記１つ以上のオリジナルのプレーヤのプレーヤプロフィールにより、前記再生の間、前記ゲームユニバース内で少なくとも１つのゲームキャラクタのゲームプレイをシミュレートすることを含み、各プレーヤのプロフィールは前記それぞれのオリジナルのプレーヤの１つ以上のゲームプレイの属性を示す、条項９に記載の方法。
【０１５３】
１６．前記複数のゲームセッションのうち１つ以上を選択する前記入力は、リプレイのために前記選択された１つ以上のゲームセッションを購入する入力を含む、条項８に記載の方法。
【０１５４】
１７．前記インタフェースを介して前記複数のゲームセッションを前記宣伝することは、手数料と引き換えにリプレイのために前記複数のゲームセッションを宣伝することを含む、条項８に記載の方法。
【０１５５】
１８．ゲームシステムを実装するための、コンピュータで実行可能なプログラムインストラクションを記憶する、非一時的コンピュータにアクセス可能な記憶媒体であって、
１つ以上のオリジナルのプレーヤによってプレイされるときに１つ以上のゲームセッションのためにゲームレコードを記録し記憶し、それぞれのゲームセッションは、前記１つ以上のオリジナルプレーヤによって制御されるゲームユニバース内で行動する１つ以上のゲームキャラクタを含み、
前記インタフェースを介して前記ゲームセッションを宣伝し、
前記インタフェースによりクライアントデバイスから入力を受信し、前記入力は別のプレーヤにより前記複数のゲームセッションのうち１つを選択し、かつ、
前記入力に応答して、その他のプレーヤによって選択されたゲームセッションのリプレイのために、前記クライアントデバイスにそれぞれの前記ゲームレコードのうち１つを提供するよう構成される。
【０１５６】
１９．条項１８に記載の、非一時的コンピュータでアクセス可能な記憶媒体であって、前記ゲームシステムはさらに、
前記それぞれのゲームレコードから前記選択されたゲームセッションのリプレイを開始する前記クライアントデバイスからの入力を受信し、かつ、
リプレイを開始する前記入力に対応して、１つ以上のクライアントデバイスに前記それぞれのゲームレコードに記録された前記ゲームセッションの再生を開始するよう構成される。
【０１５７】
２０．前記ゲームシステムはさらに、
前記１つ以上のクライアントデバイスのうち１つからゲーム入力を受信し、前記ゲーム入力は、その他のプレーヤのうち１人が再生されている前記ゲームセッションの前記ゲームユニバース内でゲームキャラクタの制御をし、かつ、
前記ゲーム入力に対応して、前記ゲームレコードにおいて記録され、前記新しいゲームセッションに新しいゲームレコードを生成する際に、前記ゲームセッションから新しいゲームセッションをスポーンするように構成される、条項１９に記載の、非一時的コンピュータでアクセス可能な記憶媒体。
【０１５８】
２１．前記ゲームシステムはさらに、前記再生中に、前記１つ以上のオリジナルのプレーヤのプレーヤプロフィールにより前記ゲームユニバース内で少なくとも１つのゲームキャラクタのゲームプレイをシミュレートするよう構成され、各プレーヤのプロフィールは前記それぞれのオリジナルのプレーヤの１つ以上のゲームプレイの属性を示す、条項１９に記載の、非一時的コンピュータでアクセス可能な記憶媒体。
【０１５９】
２２．前記複数のゲームセッションのうち１つを前記選択することは、前記それぞれのゲームレコードを購入する入力を含む、条項１８に記載の、非一時的コンピュータでアクセス可能な記憶媒体。
【０１６０】
加えて、上記の実施形態は、以下の条項の見地からより良く理解され得る。
１．システムであって、
ゲームシステムを実装するように構成される１つ以上のコンピューティングデバイスを備え、
ゲームユニバース内で行動する１つ以上のゲームキャラクタを含むゲームセッションを備えるゲームレコードを記憶し、前記ゲームキャラクタは複数のプレーヤのうち１つと関連し、
前記記憶されたゲームレコードにおいて少なくとも１つのクライアントデバイスに記録する際に、前記ゲームセッションの再生を開始し、かつ、
再生されている前記ゲームセッションに含まれる前記１つ以上のゲームキャラクタのうち少なくとも１つに、１つ以上の通信チャネルを介して前記それぞれのゲームキャラクタに関連するプレーヤに通知を送信し、前記通知は、前記ゲームセッションが再生されている前記プレーヤのゲームキャラクタを含むことを前記プレーヤに示すことを含む、システム。
【０１６１】
２．前記ゲームシステムはさらに、
１つ以上のクライアントデバイスのうち１つにゲームクライアントからの入力を受信し、前記入力は、プレーヤが再生されている前記ゲームセッションの前記ゲームユニバース内でそれぞれのゲームキャラクタの制御をし、かつ、
前記入力に対応して、前記ゲームレコードにおいて記録され、新しいゲームセッションのタイムラインに新しいゲームレコードを生成する際に、前記ゲームセッションから新しいゲームセッションのタイムラインをスポーンするように構成される、条項１に記載のシステム。
【０１６２】
３．前記ゲームシステムは前記スポーンの後に前記通知を送信するよう構成される、条項２に記載のシステム。
【０１６３】
４．前記スポーンの後に、前記ゲームシステムはさらに、前記ゲームキャラクタに関連する前記プレーヤのプレーヤプロフィールにより、前記ゲームユニバースにおいて少なくとも１つのゲームキャラクタのゲームプレイをシミュレートするよう構成され、各プレーヤのプロフィールは、前記それぞれのプレーヤの１つ以上のゲームプレイの属性を示す、条項２に記載のシステム。
【０１６４】
５．前記スポーンの後に、前記ゲームシステムはさらに、別のゲームクライアントから入力を受信するよう構成され、前記入力は、第２のプレーヤが前記ゲームシステムによってシミュレートされるゲームキャラクタの制御をする、条項４に記載のシステム。
【０１６５】
６．前記ゲームセッションの前記再生中、前記ゲームシステムはさらに、ゲームキャラクタの前記観点から、前記ゲームキャラクタに関連するプレーヤによって見るために、ゲームユニバースのビューをストリーミングするよう構成され、プレーヤは再生中、ゲームキャラクタの制御を行わない、条項１に記載のシステム。
【０１６６】
７．前記ゲームシステムはさらに、
前記複数のプレーヤのためにプレーヤのプロフィールを維持し、各プレーヤのプロフィールは、前記それぞれのプレーヤの１つ以上のゲームプレイの属性を示し、前記所与のゲームセッションの間、前記それぞれのプレーヤのゲームプレイにより、所与のゲームセッションに含まれるプレーヤにプレーヤのプロフィールが更新され、
前記ゲームセッションがプレイされるときに、ゲームセッションに含まれる各プレーヤのために前記プレーヤのプロフィールのスナップショットをキャプチャし、前記ゲームセッションが記録される前記ゲームレコードに前記プレーヤのプロフィールの前記スナップショットを記憶し、かつ、
前記所与のゲームレコードに記憶されたそれぞれのプレーヤのプロフィールのスナップショットにより、所与のゲームレコードからゲームセッションの再生中に前記ゲームユニバースにおいて少なくとも１つのゲームキャラクタのゲームプレイをシミュレートする、条項１に記載のシステム。
【０１６７】
８．１つ以上のコンピューティングデバイス上に実装されるゲームシステムによって、ゲームクライアントに以前にプレイされたゲームセッションの少なくとも一部を再生し、前記ゲームセッションは、ゲームユニバース内で行動する１つ以上のゲームキャラクタを含み、前記ゲームキャラクタは複数のプレーヤのうち１つと関連し、
１つ以上の通信チャネルを介して、前記ゲームセッションに含まれる１つ以上のゲームキャラクタに関連する１つ以上のプレーヤに通知を送信し、前記通知は前記ゲームキャラクタを含む前記以前にプレイされたゲームセッションがリプレイされていることを示し、かつ、
前記ゲームシステムによって、前記１以上のプレーヤのうち１人に関連するゲームクライアントからの入力を受信し、前記入力は前記それぞれのプレーヤが前記ゲームセッションの前記リプレイに参加していることを示すことを含む方法。
【０１６８】
９．前記入力は、前記それぞれのプレーヤが再生されている前記ゲームセッションの前記ゲームユニバース内でゲームキャラクタの制御をすることを示し、前記方法は、さらに、前記入力に対応して、前記以前にプレイされたゲームセッションから新しいゲームセッションをスポーンし、前記新しいゲームセッションのタイムラインは前記以前にプレイされたゲームセッションのタイムラインから分かれること、を含む条項８に記載の方法。
【０１６９】
１０．前記スポーン、シミュレートの後に、前記ゲームシステムによって、前記ゲームキャラクタに関連する前記プレーヤのプレーヤプロフィールにより、前記ゲームユニバースにおいて少なくとも１つのゲームキャラクタのゲームプレイを含み、各プレーヤのプロフィールは、それぞれのプレーヤの１つ以上のゲームプレイの属性を示す、条項８に記載の方法。
【０１７０】
１１．前記入力に対応して、前記ゲームキャラクタのうち１つの前記観点から、前記それぞれのプレーヤによって見るために、前記ゲームユニバースのビューをゲームクライアントにストリーミングする、条項８に記載の方法。
【０１７１】
１２．リプレイされている前記ゲームセッションにおけるゲームキャラクタに関連するプレーヤが通知されるべきであることをクライアントデバイスへの入力に対応して、前記通知を生成することを含む、条項８に記載の方法。
【０１７２】
１３．前記以前にプレイされたゲームセッションの前記リプレイを開始するクライアントデバイスへの入力に対応して前記通知を自動的に生成することをさらに含む、条項８に記載の方法。
【０１７３】
１４．複数の記録されたゲームセッションに対応する複数のゲームレコードを記憶することをさらに含み、前記以前にプレイされたゲームセッションは、前記複数のゲームレコードのうち選択された１つからリプレイされる、条項８に記載の方法。
【０１７４】
１５．前記ゲームシステムによって、前記複数のプレーヤのためにプレーヤのプロフィールを維持することを含み、各プレーヤのプロフィールは、前記それぞれのプレーヤの１つ以上のゲームプレイの属性を示し、所与のゲームセッションの間、前記それぞれのプレーヤのゲームプレイにより、前記所与のゲームセッションに含まれるプレーヤに前記プレーヤのプロフィールが更新される、条項８に記載の方法。
【０１７５】
１６．前記ゲームセッションがプレイされているときに、ゲームセッションに含まれる各プレーヤに対し前記プレーヤのプロフィールのスナップショットをキャプチャし、前記ゲームセッションのレコードを備える前記プレーヤのプロフィールの前記スナップショットを記憶することを含む、条項１５に記載の方法。
【０１７６】
１７．前記以前にプレイされたゲームセッションのレコードに記憶された前記プレーヤのプロフィールのそれぞれのスナップショットにより、前記以前にプレイしたゲームセッションの前記リプレイ中に少なくとも１つのゲームキャラクタのゲームプレイをシミュレートすることをさらに含む、条項１６に記載の方法。
【０１７７】
１８．ゲームシステムを実装するための、コンピュータで実行可能なプログラムインストラクションを記憶する、非一時的コンピュータにアクセス可能な記憶媒体であって、
１つ以上のゲームセッションを備えるゲームレコードを記憶し、それぞれはゲームセッションのタイムラインに沿ってゲームユニバース内で行動する１つ以上のゲームキャラクタを含み、
前記ゲームレコードのうち選択された１つからゲームセッションの少なくとも部分で再生され、
１つ以上の通信チャネルを介して、前記ゲームセッションに含まれる前記１つ以上のゲームキャラクタに関連する１つ以上のプレーヤに通知を送信し、前記通知は前記ゲームキャラクタを含む前記ゲームセッションが再生されていることを示し、かつ、
通知された前記１以上のプレーヤのうち１人に関連するゲームクライアントからの入力を受信し、前記入力はそれぞれのプレーヤが前記ゲームセッションの再生に参加していることを示すように構成される記憶媒体。
【０１７８】
１９．前記ゲームシステムはさらに、前記複数のプレーヤのためにプレーヤのプロフィールを維持し、
各プレーヤのプロフィールは、前記それぞれのプレーヤの１つ以上のゲームプレイの属性を示し、前記所与のゲームセッションの間、前記それぞれのプレーヤのゲームプレイにより、所与のゲームセッションに含まれるプレーヤに前記プレーヤのプロフィールが更新され、ゲームキャラクタに関連する前記プレーヤの前記プレーヤプロフィールにより、再生されている前記ゲームセッションにおける少なくとも１つのゲームキャラクタのゲームプレイをシミュレートするよう構成される、条項１８に記載の、非一時的コンピュータでアクセス可能な記憶媒体。
【０１７９】
２０．前記入力は、前記それぞれのプレーヤが再生されている前記ゲームセッションの前記ゲームユニバース内でゲームキャラクタの制御をすることを示し、前記ゲームシステムはさらに、前記入力に応答して、
再生されているゲームセッションから新しいゲームセッションをスポーンし、前記新しいゲームセッションのタイムラインは、前記それぞれのゲームレコードに記録される際に、前記ゲームセッションのタイムラインから分かれ、かつ、
前記新しいゲームセッションに新しいゲームレコードを生成し記憶する、条項１８に記載の、非一時的コンピュータでアクセス可能な記憶媒体。
【０１８０】
２１．前記ゲームセッションの再生中、前記ゲームシステムはさらに、前記ゲームセッションの複数のビューを複数のクライアントデバイス上の複数のゲームクライアントにストリーミングするよう構成され、前記ビューのうち少なくとも２つは、前記それぞれのクライアントデバイスに関連する異なるゲームキャラクタの観点に対応する、条項１８に記載の、非一時的コンピュータでアクセス可能な記憶媒体。
【０１８１】
結論
様々な実施形態は、さらに、コンピュータがアクセス可能な媒体についての前述の記載により実装される、受信し、送信し、または命令及び／またはデータを格納することを含み得る。一般に、コンピュータがアクセス可能な媒体は、磁気媒体または光媒体のような、記憶媒体またはメモリ媒体を含み得る。ネットワーク及び／または無線接続のような、通信媒体を経由して伝達される、伝送媒体または電気信号、電磁波信号またはデジタル信号のような信号と同様に、例えば、ＲＡＭ（例えば、ＳＤＲＡＭ、ＤＤＲ、ＲＤＲＡＭ、ＳＲＡＭ等），ＲＯＭ等のような、ディスクまたはＤＶＤ／ＣＤ−ＲＯＭ、揮発性媒体または不揮発性媒体が含み得る。
【０１８２】
図面に示され、本明細書で記載された、様々な方法は、例示的な方法の実施形態を表す。この方法はソフトウェア、ハードウェアまたはこれらの組み合わせにおいて実施され得る。方法の順序は変更されてよく、様々な要素が追加され、順序が変更され、組み合わされ、省略され、修正等され得る。
【０１８３】
様々な修正及び変更が、本開示の利益を有する当業者には明白であるため、成され得る。すべてのこのような修正及び変更を受け入れることを目的としており、したがって、上記の記載は制限を意味するよりもむしろ、例証としてみなされるべきである。
【図１Ａ】
0006398001.tif 000002
【図１Ｂ】
0006398001.tif 000003
【図１Ｃ】
0006398001.tif 000004
【図１Ｄ】
0006398001.tif 000005
【図２】
0006398001.tif 000006
【図３】
0006398001.tif 000007
【図４Ａ】
0006398001.tif 000008
【図４Ｂ】
0006398001.tif 000009
【図５】
0006398001.tif 000010
【図６Ａ】
0006398001.tif 000011
【図６Ｂ】
0006398001.tif 000012
【図７Ａ】
0006398001.tif 000013
【図７Ｂ】
0006398001.tif 000014
【図８Ａ】
0006398001.tif 000015
【図８Ｂ】
0006398001.tif 000016
【図９Ａ】
0006398001.tif 000017
【図９Ｂ】
0006398001.tif 000018
【図９Ｃ】
0006398001.tif 000019
【図１０】
0006398001.tif 000020
【図１１】
0006398001.tif 000021
【図１２】
0006398001.tif 000022
【図１３】
0006398001.tif 000023
【図１４】
0006398001.tif 000024
【図１５】
0006398001.tif 000025
【図１６Ａ】
0006398001.tif 000026
【図１６Ｂ】
0006398001.tif 000027
【図１７】
0006398001.tif 000028