(58)【調査した分野】(Int.Cl.,DB名)
所与のゲームセッションにおける少なくとも1つのゲームキャラクタは、クライアントデバイス上のゲームクライアントインスタンスにプレーヤの入力によって制御される、請求項1に記載のシステム。
前記ゲームシステムはオンラインゲームを実装し、前記ゲームシステムを実装する前記1つ以上のコンピューティングデバイスはゲームプロバイダネットワーク上のデバイスであり、前記クライアントデバイス上の前記ゲームクライアントインスタンスは中間ネットワークを介して前記ゲームシステムにアクセスする、請求項1に記載のシステム。
前記選択されたゲームレコードにおいて、前記少なくとも1つのクライアントデバイスに記録する際に、前記ゲームセッションを再生し、前記ゲームシステムはさらに、それぞれのクライアントデバイスに表示するために前記中間ネットワーク上で、前記少なくとも1つのゲームクライアントインスタンスに、前記ゲームユニバース及び前記レンダリングされたゲームユニバースのストリーム映像をレンダリングするように構成される、請求項4に記載のシステム。
前記選択されたゲームレコードにおいて、前記少なくとも1つのクライアントデバイスに記録する際に、前記ゲームセッションを再生し、前記ゲームシステムはさらに、ゲームユニバースデータを前記少なくとも1つのゲームクライアントインスタンスに前記中間ネットワーク経由で送信するように構成され、少なくとも1つのゲームクライアントインスタンスは、前記受信されたゲームユニバースデータによって、前記それぞれのクライアントデバイスに前記ゲームユニバースをレンダリングし表示するように構成される、請求項4に記載のシステム。
前記選択されたゲームレコードは、前記ゲームセッション用に、ゲームセッションメタデータを含み、及び、前記選択されたゲームレコードにおいて記録される際の前記ゲームセッションの前記再生で、前記ゲームシステムは、前記ゲームセッションメタデータから少なくとも2つのゲームユニバースの異なる視点をレンダリングし、前記クライアントデバイスのうちそれぞれに前記異なる視点から映像をストリーミングするように構成される、請求項1に記載のシステム。
前記ゲームシステムはマルチプレーヤゲームを実装し、前記ゲームシステム上のゲームセッションは2つ以上のゲームキャラクタを含み、ゲームセッションにおける所与のゲームキャラクタは、2以上のプレーヤのうち1つに対応し、ゲームセッションにおける、2以上のゲームキャラクタのうち少なくとも1つは、クライアントデバイス上のゲームクライアントインスタンスにそれぞれのプレーヤの入力によって制御される、請求項1に記載のシステム。
複数の記録されたゲームセッションに対応する複数のゲームレコードを記憶することをさらに含み、前記以前にプレイされたゲームセッションは、前記複数のゲームレコードのうち選択された1つからリプレイされる、請求項10に記載の方法。
前記ゲームクライアントからの前記入力が、第1のプレーヤが前記ゲームクライアントを実装するクライアントデバイスを使用してリプレイされる前記ゲームセッションにおける前記それぞれのゲームキャラクタを制御することを示す、請求項10に記載の方法。
前記リプレイは、複数のクライアントデバイス上の複数のゲームクライアントに、前記ゲームセッションの複数のビューのストリーミングを含み、前記ビューのうち少なくとも2つは、前記それぞれのクライアントデバイスに関連する異なるゲームキャラクタの視点にそれぞれ対応する、請求項10に記載の方法。
【発明を実施するための形態】
【0004】
マルチプレーヤゲームを含むが、これらに限定されないコンピュータベースのゲームのゲームセッションをリプレイするための、方法及び装置の様々な実施形態が、記載される。従来のマルチプレーヤゲームにより、所定の時点からプレーヤが記録されたゲームセッションの静的なリプレイを見ることができ、またはゲームを再開することができる(例えば、マルチレベルゲームのレベルの先頭から)。プレーヤが、例えば、マルチプレーヤゲームのようなゲームにおいて、以前にプレイしたゲームセッションの状態の連続記録を記憶することができるゲームの方法及び装置の実施形態が説明されている。それぞれの記憶されたゲームセッションは、参加したプレーヤのゲームキャラクタを含む、別のゲームユニバースまたはタイムラインとして表示し得る。また、プレーヤは、以前にプレイしたゲームセッションの記憶された状態情報にアクセスし、ゲームのリプレイを見てよい。しかしながら、リプレイが静的で、表示のみできる従来のゲームシステムと異なり、プレーヤは、ゲームの任意の時点でプレーヤのゲームのキャラクタに「入り」、キャラクタを制御し始めることができる。プレーヤがプレーヤのゲームキャラクタを引き継ぎ、ゲームを操作すると、新しいゲームユニバース及びタイムラインがオリジナルのゲームセッションからスポーンされる。ゲームセッションが新しいタイムライン上で進行すると、新しいユニバースがオリジナルのゲームセッションのユニバースから分かれる。ゲームセッションの僅かに異なる結果から大きく異なる結果までのどこでも、新しいタイムライン上のゲームプレイにおける小さな相違からでさえからも達成され得る。この新しいユニバース/タイムラインが記録と保存、リプレイされ、及び新しいユニバース/タイムラインがスポーンされることができる。同様に、オリジナルのユニバース/タイムラインが持続され、またリプレイされ、及びその他の異なるユニバース/タイムラインがスポーンされることができる。
【0005】
少なくともいくつかの実施形態においては、ゲームセッションにおけるプレーヤのキャラクタを制御するとき、プレーヤの様々なアクションは、キャラクタとしてゲームに参加する際のプレーヤの実際に、ゲームプレイを反映またはモデル化するプレーヤのキャラクタ用のプロフィールを作るために(及び時間の経過とともに更新するために)監視され、使用され得る。少なくともいくつかの実施形態においては、ゲームは、プレーヤのプロフィールによるプレーヤのキャラクタのアクションを制御することによって、所与のプレーヤのゲームプレイのシミュレーションをすることができるロジック(例えば、人工知能(AI)エンジン)を含み得る。プレーヤは以前に記録されたゲームセッションへと進むとき、ゲーム中の1つ以上のその他のキャラクタのアクションは、その時点以降、少なくとも当初はキャラクタのプロフィールに基づいたゲームのロジックによって制御され得る。ゲームはオリジナルのユニバース/タイムラインから逸れると、シミュレートされたキャラクタは、プロフィールに記録された対応するプレーヤのライブでプレイしているキャラクタによるイベントに応答する。しかしながら、少なくともいくつかの実施形態においては、別のプレーヤは、ゲームのプレイ中、任意の時点でそれぞれのキャラクタに入り、制御することができる。
【0006】
少なくともいくつかの実施形態においては、プレーヤが以前に記録されたゲームセッションをリプレイするとき、またはプレーヤがリプレイされている以前に記録されたゲームセッションへと進むときは、オリジナルのゲームセッションに参加した1以上のその他のプレーヤは、キャラクタが参加しているゲームセッションがリプレイされていると通知されてよく、セッション中に参加するよう招待されてよい。参加への招待は、例えば、ソーシャルメディア、テキストメッセージング、電子メール、電話等のような、1つ以上の通信チャネルを使用してリプレイを開始したプレーヤによって開始され得る。いくつかの実施形態では、ゲームユーザのインタフェースは、プレーヤが必要に応じて、1以上のその他のプレーヤにゲームのリプレイに参加するよう招待することを可能にする、「その他のプレーヤに通知する」というインタフェース要素を含み得る。いくつかの実施形態では、記憶されたゲームセッションのリプレイが別のプレーヤによって開始された場合及び/または別のプレーヤが、その他のプレーヤによってリプレイされている以前に記録されたゲームセッション中のキャラクタに「進む」場合、ゲームシステムは、1つ以上の通信チャネル(例えば、テキストメッセージ、警告メッセージ、電子メール等)を介して1以上の他のプレーヤに通知を生成して自動的に送信し得る。
【0007】
実施形態は、多数のプレーヤが、ゲームのキャラクタを制御するオリジナルのゲームセッションを記録するために使用されてよく、オリジナルのゲームセッションは、次にリプレイされてよく、1以上のプレーヤが、ゲームセッションの任意の時点でキャラクタに進み及び制御して、その時点以降、ゲームセッション用に新しいユニバース/タイムラインを生成する。少なくともいくつかの実施形態においては、ゲームセッションは、ゲームセッションが再生されたときに、ゲームセッション中のプレーヤ/キャラクタの異なる
視点が表示できるように、ゲームにおける各プレーヤ/キャラクタのそれぞれの立場によって記憶される。一旦、新しいユニバース/タイムラインがスポーンされると、対応するプレーヤによって制御されていない1以上のキャラクタは、その代わりに、(例えば、ゲームシステムのプレーヤシミュレーションまたは人工知能(AI)コンポーネントを介して)対応するプレーヤのプロフィールによってゲームロジックによって制御され得る。
【0008】
少なくともいくつかの実施形態においては、ゲームセッションがゲームレコードからリプレイされているとき、ゲームセッションに参加した1以上のプレーヤは、ゲームセッションに実際に参加せずに、またはゲームセッション中のキャラクタを制御せずにそれぞれのクライアントデバイスを介してゲームセッションのリプレイを見ることを選択し得る。実際に参加せずにリプレイを見たり表示することは、「ゴースト」モードとしての参加またはゴーストと称され得る。少なくともいくつかの実施形態においては、ゲームシステムは、ゴーストモードで表示されることが可能なゲームに参加するキャラクタの1つ以上の立場または
視点からゲームセッションを再生し得る。例えば、第1のプレーヤは、第1のプレーヤのキャラクタの立場に対応する
視点からリプレイを見てよく、一方、第2のプレーヤは、第2のプレーヤのキャラクタの立場に対応する異なる
視点からリプレイを表示してよい。少なくともいくつかの実施形態においては、プレーヤは、プレーヤに関連しないキャラクタの
視点からゴーストモードでリプレイを表示することが可能であり得る。少なくともいくつかの実施形態においては、プレーヤは、第1人称の立場(すなわち、目を通して)または所与のキャラクタの第三者の立場(例えば、頭上または背後)からリプレイを見ることを選択し得る。一旦、プレーヤがゲームセッションにおけるキャラクタに進み、制御すると、プレーヤはもはやゴーストモードでのゲームセッションを表示していないことに留意されたい。しかしながら、1以上のその他のプレーヤは、実際に参加せずにゴーストモードでゲームを表示し続けることを選択してよく、または1以上のその他のプレーヤは、実際に参加せずにゴーストモードでゲームを表示するためにリプレイに参加してよい。
【0009】
少なくともいくつかの実施形態においては、プレーヤは、プレーヤが実際にゲームのプレイの間、制御しているプレーヤのゲームキャラクタから「出る」ことが可能であり得る。少なくともいくつかの実施形態においては、プレーヤがゲームセッション中にキャラクタから出ることを選択する場合には、ゲームロジック(例えば、ゲームシステムのAIコンポーネント)は、プレーヤのゲームキャラクタの制御を引き継いでよい。
【0010】
いくつかの実施形態では、オリジナルのゲームセッションは、ゲームセッションに参加している1つ以上のキャラクタ、またはすべてのキャラクタでさえ、対応するプレーヤのプロフィールによるゲームロジック(例えば、ゲームシステムのAIコンポーネント)によって少なくとも初期に制御されるところで開始されてよい。ゲームセッション中、ゲームにおいてキャラクタを有する1以上のプレーヤは、ゲームキャラクタに入り、引き継ぎ得る。
【0011】
少なくともいくつかの実施形態においては、プレーヤ(例えば、特定のオンラインゲームで熟練し、知られたプレーヤ)は、プレーヤのゲームキャラクタを含むゲームセッションを記録することができ、記録されたゲームセッションをその他の人にリプレイ及び、オリジナルのプレーヤのコンピュータで制御されるキャラクタに対してゲームのプレイにおけるその他のキャラクタとして可能な参加者を提供する。プレーヤが、ゲームセッションに進み、キャラクタをそのように制御すると、新しいユニバース/タイムラインがスポーンされてよく、プレーヤは、記録されたゲームセッションに提供されるその他のプレーヤのプロフィールによるゲームロジックによって制御されるように、その他のプレーヤのキャラクタとともに参加し得る。これらの記録されたゲームセッションは、例えば、仮想通貨または本物の通貨と交換で、または無料で、オンラインで提供され得る。
【0012】
実施形態は主に、2人以上のプレーヤがゲームセッションに参加して次にリプレイされることが可能なゲームレコードを生成するマルチプレーヤゲーム環境のゲームセッションでリプレイする文脈において本明細書に記載されているが、マルチプレーヤゲーム環境と同様に、シングルプレーヤゲーム環境においても適用されてよく、シングルプレーヤがプレイしゲームセッションにゲームレコードを生成することに注意すべきである。
【0013】
図1Aから
図1Dは、少なくともいくつかの実施形態による、例示的なコンピュータベースのマルチプレーヤゲーム環境におけるマルチプレーヤのゲームセッションをリプレイするための方法及び装置をグラフで図示するブロック図である。少なくともいくつかの実施形態においては、マルチプレーヤゲーム環境は、マルチプレーヤゲームシステム100及び1つ以上のクライアントデバイス120を含み得る。マルチプレーヤゲームシステム100は、ゲームデータ及び情報を記憶し、マルチプレーヤゲームロジックを実行し、マルチプレーヤゲームのための実行環境として保存する。少なくともいくつかの実施形態においては、マルチプレーヤゲームシステム100は、例えば、1つ以上のサーバデバイスのような、マルチプレーヤゲームロジックを実行する1つ以上のコンピューティングデバイスを含んでよく、ゲームデータ160を記憶する記憶デバイスを含むがこれらに限定されないその他のデバイスも含み得る。しかしながら、いくつかの実施形態では、ゲームシステム100の機能及びコンポーネントは、1つ以上のクライアントデバイス120を少なくとも部分的に実装され得る。ゲームデータ160は、例えば、グラフィカルオブジェクト、パターン等のような、ゲーム環境/ユニバースを構築及びレンダリングするために、持続的かつグローバルなデータを記憶し得る。ゲームデータ160は、また、特定のプレーヤ150のために、ゲームシステム100とともにプレーヤの登録情報、ゲームキャラクタ152の情報、クライアントデバイス120の情報、個人情報(例えば、名前、アカウント番号、連絡先など)、セキュリティ情報及び基本設定(例えば、通知設定)のようなプレーヤ情報を記憶してよいがこれに限定されない。少なくともいくつかの実施形態においては、ゲームデータ160は、また、プレーヤがゲームを行うグループを作ったり参加したりし得るゲームのためのグループ情報を記憶してよく、これはゲームグループと称され得る。ゲームデータ160は、また、以前にプレイしたゲームセッションからのデータをそれぞれ記憶するゲームレコード130、特定のゲームキャラクタとして、または2以上のゲームキャラクタとしての何れかで特定のプレーヤのゲームプレイをモデル化するプレーヤプロフィール140のような、その他のゲーム関連の情報を含み得る。マルチプレーヤゲームシステム100において使用され得る例示的なコンピューティングデバイスは、
図17にて図示されている。
【0014】
クライアントデバイス120は、様々な消費者用デバイスのいずれかであってもよく、デスクトップコンピュータシステム、ラップトップ/ノートブックコンピュータシステム、パッド/タブレット端末、スマートフォンデバイス、ゲームコンソール、携帯型ゲーム機及び装着型ゲームデバイスが含まれるが、これらに限定されない。装着型ゲームデバイスは、ゲーム用のメガネまたはゴーグル及び手首、腕またはその他の箇所で装着可能なゲーム用の「腕時計」を含み得るが、これらに限定されるものではない。したがって、クライアントデバイス120は、ゲーミングシステムとして構成される強力なデスクトップコンピュータから、スマートフォン、パッド/タブレット端末や装着型機器のような、「シン」のモバイルデバイスにまで及ぶ。各クライアントデバイス120は、デバイス120と互換性のあるオペレーティングシステム(OS)プラットフォームを実装し得る。クライアントデバイス120は、マルチプレーヤゲーム用の入力及び出力コンポーネント並びにクライアントソフトウェア(ゲームクライアント122)を含むことができるが、これらに限定されるものではなく、マルチプレーヤゲームを介して、それぞれのプレーヤ150は、マルチプレーヤゲームシステム100によって現在実行されるマルチプレーヤゲームセッションに参加できる。特定のクライアントデバイス120上のゲームクライアント122は、特定のデバイス120の種類及びデバイス120のOSプラットフォームの構成と機能を支持するよう調整され得る。クライアントデバイス120として使用され得る例示的なコンピューティングデバイスは、
図17にて図示されている。
【0015】
少なくともいくつかの実施形態においては、マルチプレーヤゲームシステム100は、オンラインマルチプレーヤゲームを実行してよく、マルチプレーヤゲームシステム100は、オンラインのマルチプレーヤゲームロジックを実装し、オンラインマルチプレーヤゲーム用の実行環境としての役割をするか提供するゲームプロバイダのネットワーク上の1つ以上のデバイスであるか、または含み得る。これらのオンラインマルチプレーヤゲームの環境では、ゲームクライアント120は、通常、マルチプレーヤゲームシステム100から遠くはなれて配置され、中間ネットワークまたはインターネットのようなネットワークを通じて有線及び/または無線接続を介してゲームデバイス100にアクセスする。さらに、クライアントデバイス120は、通常、オンラインマルチプレーヤゲームをプレイするために、入力機能及び出力機能の両方をそれぞれ有し得る。
図12は、マルチプレーヤオンラインゲーム用の実行環境としての役割をし得るプロバイダネットワークにホストされるゲームシステムを含む、例示的なネットワークベースのマルチプレーヤゲーム環境を示す。
【0016】
しかしながら、いくつかの実施形態では、マルチプレーヤゲームシステム100は、ゲームロジックをローカルで実行する1つ以上のデバイスとして、または1つ以上のデバイス上で少なくとも部分的に実装されてよく、したがって、例えば、コンソールにインストールされる(またはコンソールに挿入されたメディアから実行される)コンソールベースのマルチプレーヤゲーム用の実行環境としての役割をするゲームコンソールのような、マルチプレーヤゲームの少なくともいくつかの実行をローカルに提供する。これらのマルチプレーヤのゲーム環境においては、ゲームクライアント120は、通常、システム100のローカルにあり、ローカルの有線接続または無線接続を介してシステム100にアクセスする。さらに、これらのローカルのマルチプレーヤゲーム環境においては、マルチプレーヤゲーム(例えば、ゲームコンソール)をホストするデバイス(単数または複数)は、一般に、テレビまたはモニタのようなゲームグラフィックスを表示するための表示デバイスを含むか表示デバイスに接続されてよく、クライアントデバイス120は、通常、デバイスによってホストされたマルチプレーヤゲームをプレイするための制御/入力機能のみ提供し得る(例えば、クライアントデバイス120は、コンソールに接続された「ゲームコントローラ」であり得る)。
【0017】
しかし、注意すべきなのは、ゲームコンソールのようなマルチプレーヤゲームシステム100は、有線及び/または無線接続を介して、1つ以上のリモートネットワークサイト、サービスまたはデバイスに、例えば、ゲームデータ(例えば、以前にプレイしたゲームセッションをそれぞれ記憶するゲームレコード130)を記憶し検索するためのネットワークベースのストレージサービスに、更新、ゲームのダウンロード及びその他の情報を提供するゲームプロバイダのサーバに、またはマルチプレーヤのゲーム環境によりプレーヤ150がネットワークを介して多数の異なるマルチプレーヤゲームシステム100のインスタンスからゲームセッションに参加するのを可能にする場合に、マルチプレーヤゲームをホストするマルチプレーヤゲームシステム100の1つ以上のその他のインスタンスに、接続し得る。
【0018】
いくつかの実施形態では、サーバのような1つ以上のデバイスがゲームシステムの機能のほとんどまたはすべてをホストするクライアントサーバモデルまたはそのバリエーションに従って実装するゲームシステムの代わりに、例えば
図16A及び16Bに示されているように、ゲームシステムは、分散サイトまたはピアーツーピアー型のアーキテクチャに従って実装されてもよい。例えば、ピアーツーピアーゲームシステムのアーキテクチャにおいては、
図1Aから
図1Dに示されているゲームシステム100のゲーム機能とコンポーネントの少なくともいくつかが、一括してゲームセッションを実行し、記録及びリプレイする、ピアーツーピアーの関係に参加する1つ以上のクライアントデバイス120に配布され得る。
【0019】
図1Aから
図1Dにおいて、及び本明細書の何れかにおいて、「プレーヤ」という語は一般に、マルチプレーヤゲームに参加する、実際の人を意味するために使用され、「クライアント」(「クライアントデバイス」及び「ゲームクライアント」におけるような)という語は、一般に、プレーヤが、マルチプレーヤゲームを操作することを通じてマルチプレーヤゲームシステムへのハードウェア及び/またはソフトウェアインタフェースを意味するために使用され、及び「キャラクタ」や「ゲームキャラクタ」という語は、一般に、プレーヤがゲームセッション中のゲーム環境内のその他のゲームキャラクタ、その他のゲームエンティティ及びその他のオブジェクトを操作するためのクライアントデバイスでゲームクライアントを介して制御し得るプレーヤのゲームにおける存在または「アバター」を意味するために使用されることに留意されたい。注意すべきなのは、少なくともいくつかの実施形態においては、ゲームのキャラクタは、例えば、オリジナルのゲームセッションの間、または以前に記録されたゲームセッションのリプレイの間に、それぞれのプレーヤのプロフィールによるゲームシステムのAIコンポーネントのような、ゲームシステムによっても制御され得る。
【0020】
本明細書に記載のマルチプレーヤゲーム環境に実装され得るマルチプレーヤゲームは、しっかりとスクリプト化されたゲームから、ゲームプレイに様々な量の乱雑さを導入するゲームにまで渡り得る。例えば、マルチプレーヤゲームは、プレーヤ150が(キャラクタ152を介して)いくつかのゴールを達成するか、いくつかの障害を克服しようとするゲームであってよく、プレーヤ150が克服しなければならない多数のレベルを含んでよい。例えば、マルチプレーヤゲームは、プレーヤ150が協力してゴールを達成するか障害を克服するゲームであってよく、または1以上のプレーヤ150が1以上のその他のプレーヤ150と競うゲームであってよく、チームまたは個人の何れでもよい。あるいは、マルチプレーヤゲームは、プレーヤ150が、任意の特定のゴールを念頭に置かずに、複雑なゲームユニバース104を受動的に探索し発見をし得るゲームまたはプレーヤ150がゲームユニバース104内の環境を能動的に変更する「世界構築」のマルチプレーヤゲームであってよい。マルチプレーヤゲームは、比較的シンプルな2次元(2D)のカジュアルゲームから、より複雑な2Dまたは3次元(3D)のアクションまたは戦略ゲームまで、永続的なオンラインの「世界」において何百または何千のプレーヤを同時にサポートし得る、多人数のマルチプレーヤオンラインロールプレイングゲーム(MMORPG)などの、複雑な3Dの多人数のマルチプレーヤオンラインゲーム(MMOG)までの全てを含み得る。
【0021】
ゲームセッションの記録
図2は、少なくともいくつかの実施形態による、マルチプレーヤゲームシステムにおけるゲームセッション中のゲームレコードの記録及びプレーヤのプロフィールを更新するための方法の高レベルのフローチャートである。200で示されるように、新たなゲームセッションは、1以上のプレーヤから開始され得る。特定のゲームセッションには、ゲームシステムは、ゲームセッションのコンテキスト、キャラクタ及び環境を含むゲームユニバースを生成し得る。少なくともいくつかの実施形態においては、ゲームセッションに参加する各プレーヤは、ゲームにおいてキャラクタを引き継いでよく、また、クライアントデバイス上のゲームクライアントインスタンスを使用してゲームユニバースにおけるキャラクタを制御し得る。202で示されるように、ゲームセッション中にプレーヤのゲームプレイはゲームレコードに記録され得る。ゲームレコードは、記録されたゲームセッション中のゲームユニバースにて起こった特定の一連のイベントとの特定のタイムラインを表し得ることに留意すべきである。少なくともいくつかの実施形態においては、ゲームシステムは、各プレーヤキャラクタの
視点からのゲームユニバースのビューをゲームレコードに記録し得る。
図6Aは、少なくともいくつかの実施形態による、ゲームセッションに対する例示的なオリジナルのタイムラインを示し、
図7Aは、例示的なゲームレコードからのゲームセッションのメタデータを示す。204で示されるように、少なくともいくつかの実施形態では、ゲームプレイの間、ゲームシステムはまた、ゲームセッションにおけるプレーヤのアクションにより各プレーヤに対するプレーヤプロフィールを更新し得る。206で示されるようにゲームレコードは、プレーヤ(単数または複数)が一旦、ゲームセッションにおいてプレイを完了すると記憶され得る。
図7Aは、少なくともいくつかの実施形態による、例示的なゲームレコードからのゲームセッションのメタデータを示す。
図2の要素は、
図1Aを参照してより詳細に説明される。
【0022】
図1Aは、少なくともいくつかの実施形態による、マルチプレーヤゲームシステムにおけるゲームセッション中のゲームレコードの記録及びプレーヤのプロフィールの更新を示す。1以上のプレーヤ150は、それぞれのクライアントデバイス120を介してゲームシステム100を操作し、ゲームセッションを開始し、進行するに従い、ゲームにおいてプレーヤのそれぞれのキャラクタ152を制御し得る。
図1Aは、非限定的例として、それぞれのクライアントデバイス120A〜120C上のゲームクライアント122A〜122Cを介して、それぞれのキャラクタ152A〜152Cを制御する、3人のプレーヤ150A〜15Cを示す。少なくともいくつかの実施形態においては、ゲームシステム100は、限定するものではないが、各プレーヤ150のプレーヤのゲームキャラクタ152の情報及びセキュリティ情報を含む各プレーヤ150に、プレーヤ情報を記憶し得る。プレーヤ150のセキュリティ情報(シンプルかつ非限定的な例として、パスワード)は、プレーヤ150を認証するため、及びゲームシステムへのプレーヤのアクセス及びゲームシステム100におけるプレーヤのゲームキャラクタ(単数または複数)152やプレーヤ150が属し得るゲームグループ(単数または複数)のような、プレーヤのリソースへのアクセスを認証するために使用されることが可能な情報を含み得る。例えば、セキュリティ情報は、プレーヤ150がその他のプレーヤの許可なく別のプレーヤ150のキャラクタ152を制御することを防ぐために使用され得る。
【0023】
特定のゲームセッション、ゲームシステム100のゲームロジック/実行102は、ゲームセッションのコンテキスト、キャラクタ及び環境を含むゲームユニバース104を生成し得る。プレーヤ150は、クライアントデバイス120を介してこのユニバース104内のキャラクタ152を操作する。ゲームシステム100は、それぞれのプレーヤのキャラクタ152の
視点からゲームユニバース104のビューを、プレーヤのそれぞれのクライアントデバイス120上のゲームクライアント122を介してプレーヤ150へと生成し表示してよく、プレーヤの入力を受信し、プレーヤのそれぞれのクライアントデバイス120上のゲームクライアント122を介して、それぞれのプレーヤのそれぞれのキャラクタ152をプレーヤが操作することにより、ゲームユニバース104を操作し得る。
【0024】
以下は、ゲームを実行する例示的な方法の概略的な説明であり、限定することを意図するものではない。通常、ゲームシステム100のゲームロジック/実行102は、ゲームイベントループが、プレーヤの入力を監視し反応して、クライアントデバイス120によって制御されるようにキャラクタ152を介してゲームユニバース104の操作をするイベント駆動型アーキテクチャにより実行される。プレーヤの入力及びユニバース104の操作並びにゲームイベントループの繰り返しにおけるその他のゲーム要素(例えば、スクリプトイベント及び/またはランダムコンポーネント)に基づいて、ゲームセッションはゲームセッションタイムラインに沿って進行し、それに応じてゲームユニバース104は変更され更新される。例示的なゲームセッションのタイムラインのグラフ表示が、
図6Aに設けられている。
【0025】
いくつかの実施形態では、ゲームイベントループの実行と同時に、ゲームシステム100は、ユニバース104の現状に基づいて、ユニバース104の2Dまたは3D表示をレンダリングし、レンダリングに基づいて映像フレームレートにより映像及び音声を生成し、及び表示のためにクライアントデバイス120に映像及び音声出力を送信またはストリーミングする。対応するキャラクタ152の現在の
視点またはユニバース104のビューにより、映像及び音声が生成され、それぞれのクライアントデバイス120に送信またはストリーミングされ得ることに留意されたい。ゲームクライアントは2Dまたは3Dレンダリングコンポーネントを実装し得ないため、これらのゲームクライアントは、「シン」ゲームクライアントと称され得る。
図14は、レンダリングされたゲーム映像及び音声をクライアントデバイス上のシンゲームクライアントに提供するために用いられる、例示的なネットワークベースのゲーム環境を示す。しかしながら、いくつかの実施形態では、実際のレンダリングの少なくとも一部は、2Dまたは3Dレンダリングコンポーネントを実装するクライアントデバイス120上の「シック」ゲームクライアント122によって実行され得る。これらの実装においては、
図14に示されたように、映像と音声に完全なゲームユニバース104のレンダリングを実行し、ディスプレイにクライアントデバイス120上の「シン」ゲームクライアントへ映像及び音声を送信するゲームシステム100のかわりに、ゲームシステム100は、シックゲームクライアント122が映像及び音声をレンダリングし表示できるクライアントデバイス120にユニバース104のデータをその代わりに送信し得る。
図13は、クライアントデバイス上のシックゲームクライアントを使用する例示的なネットワークベースのゲーム環境を示す。
【0026】
ゲームシステム100は、ゲームレコード106のコンポーネントを含み得る。ゲームセッション中、ゲームレコード106は、セッション用にゲームの情報をゲームレコード130に記録し得る。
図11は、少なくともいくつかの実施形態による、例示的なゲームレコードを示す。
図7Aは、
図6Aの例示的なタイムラインに対応する例示的なゲームレコードからのゲームセッションのメタデータを示す。ゲームセッションのメタデータとして記録されるゲーム情報は、ゲームユニバース104が初期化され、ゲームタイムラインが開始される初期のゲーム状態を含み得る。ゲームレコード106は、また、それぞれがゲームセッションが進行するにしたがい特定の時間で現在のゲーム状態を示すゲームレコード130において、定期的に、または不定期に入力を記録し得る。少なくともいくつかの実施形態においては、ゲームレコード106は、ゲームレコード130におけるゲームセッションに関する2以上のプレーヤのキャラクタ152の
視点に対応する、メタデータを記録し得る。いくつかの実施形態では、ゲームレコード106は、ゲームセッションのメタデータの代わりに、またはゲームセッションのメタデータに加えて、ゲームレコード130におけるゲームセッションの映像を記録し得る。いくつかの実施形態では、ゲームレコード106は、ゲームレコード130におけるゲームセッションに関する、それぞれが異なるプレーヤのキャラクタ152の
視点に対応する、2つ以上の異なる映像ストリームを記録し得る。いくつかの実施形態では、ゲームレコード106は、また、プレーヤプロフィール140のスナップショットをゲームセッション中またはゲームセッションの最後で、ゲームレコード130に記憶し得る。いくつかの実施形態では、ゲームレコード106はまた、例えば
図10に示されたように、ゲームレコード情報のような、それぞれのゲームセッションについての情報を含むゲームレコード情報をゲームレコード130に記憶し得る。
【0027】
一旦、ゲームセッションが完了すると、完成されたゲームレコード130は、記憶されたゲームレコード132の収集に記憶され得る。少なくともいくつかの実施形態においては、プレーヤ150A〜150Cは、マルチプレーヤゲームシステム100のためのゲームグループのメンバになり得るか、またはゲームグループを形成もしくは参加し、及びゲームセッション用のレコード130はそのゲームグループに特有な収集に記憶され得る。少なくともいくつかの実施形態においては、ゲームクライアント122は、例えば、どちらのプレーヤ(単数または複数)150がゲームレコード130を記憶するために選択し、ゲームレコード130を記憶するために位置を選択し、ゲームレコード130に名前をつけ、そうでない場合には収集(単数または複数)に記憶されたゲームレコードを表示及び管理し得ることを介して、インタフェースを提供し得る。
【0028】
少なくともいくつかの実施形態においては、ゲームレコードにゲームセッションの現在のゲーム状態を記録する頻度は、ゲームの種類と実際のゲームの実装に依存し得る。いくつかの実装においては、さらに、入力は、ゲームユニバース104における変更の検出に対応して記憶されるのみであり得る。しかしながら、入力は、一般に、ゲームユニバース104を再現し、ゲームレコードからゲームセッションをリプレイするのに少なくとも十分な速度で記録され得る。さらに、現在のゲーム状態として記録された情報の量及び種別は、また、ゲームと実際のゲームの実装の種類に依存し得る。例えば、プレーヤ150がスクリプトが書かれたパスをユニバース104を通して追従する、きちんとスクリプトが書かれたマルチプレーヤゲームは、記録される状態情報の量と同じ量を、かなりの量のランダム性を含むマルチプレーヤは必要としなくてよく、及び/またはプレーヤ150がユニバース104を探索する自由度をもっと与えることを可能にする。しかしながら、各入力は一般に、ゲームセッションを進行させるのに十分なゲーム状態の情報及びゲームのタイムライン上の以前の状態からゲームのタイムライン上の現在の状態までのリプレイ中のゲームユニバース104を含み得る。
【0029】
ゲームシステム100は、また、クライアントデバイス120からゲームユニバース104中のそれぞれのキャラクタ152を制御するときに、プレーヤ150の様々なアクションを監視し得るプレーヤ監視108のコンポーネントを含み得る。監視されたプレーヤ150のアクションは、プレーヤのゲームプレイをモデル化するそれぞれのプレーヤ150のためのプレーヤプロフィール140を作成し、時間の経過とともに更新するよう使用され得る。
図8A及び
図8Bは、少なくともいくつかの実施形態による、プレーヤのプロフィール140を示す。
図8A及び
図8Bに示された実施例は、限定することを意図していない。少なくともいくつかの実施形態においては、各プレーヤプロフィール140は、ゲームに参加するときに、プレーヤ150のアクションから決定されたそれぞれのプレーヤ150の1つ以上のゲームプレイ属性に対する値を記憶し得る。少なくともいくつかの実施形態においては、プロフィール140に記憶される少なくともいくつかの属性に対する値は、様々な統計技術によって決定され得る。一例ではあるが、プレーヤ監視108のコンポーネントは、プレーヤ150のゲームにおける特定のイベントに対する反応時間を監視して、プレーヤのプロフィール140におけるプレーヤの反応時間の実際の平均を示す値を保持し得る。
【0030】
監視されるアクションの種類及び監視されたアクションから派生するゲームプレイの属性の種類及び数は、ゲームの種類に依存し得る。例えば、いくつかの実施形態によって、
図8Aは、格闘ゲームまたは「一人称シュータ」ゲームの例示的なプレーヤの属性を示す。本実施例では、格闘ゲームのために追跡されるプレーヤの属性は、闘うか、逃げるという傾向、武器の好み、反応時間、精度及び射法(例えば、選択的またはスプレー的)の1つ以上を含むがこれらに限られない。追跡される属性は、
図8Aに示されたような比較的少数及び比較的高いレベルであり得るか、またはより詳細に述べられ得ることに留意すべきである。例えば、そのプレーヤが闘うか、逃げるかという傾向、武器の好み、反応時間、精度及び射法のうち1つ以上のゲーム中の、様々な異なる状況や場面のために別に追跡され得ることが可能である。プレーヤ150がゲームシステム100において多数のキャラクタ152を確立することも可能なゲームにおいては、2つ以上のキャラクタ152を使用するプレーヤのゲームプレイの属性は、プレーヤプロフィール150において包括的に追跡され記憶され得るか、または代替的に、プレーヤ150のゲームプレイの属性は、ゲームにおいてプレーヤのキャラクタ152のそれぞれに、別々に追跡され記憶され得る。
【0031】
少なくともいくつかの実施形態においては、プレーヤ150のゲームプレイの属性は、2つ以上の異なるゲームに渡って追跡されてよく、または異なる種類のゲームに渡ってさえ追跡されてよく、プレーヤ150のために共通のプレーヤプロフィール140を構築するために使用され得る。
図8Bは、2つ以上の異なるゲーム及び/またはゲームの種類の属性を含む例示的なプレーヤプロフィール140を示している。図示されているように、すべてではないが、ほとんどすべてのゲームやゲームの種類に共通であり、2つ以上の異なるゲームにわたって追跡され、一括してプレーヤのプロフィール140のグローバル属性の値を生成し調整するために使用される、1つ以上の属性(例えば、反応時間)は、グローバル属性であり得る。その他の属性は、ゲームやゲーム型の仕様品であり得る。本実施例では、ゲーム/ゲームタイプBの例示的なゲームプレイの属性(B1,B2…)と同様に、戦闘ゲーム/ゲームタイプAの例示的なゲームプレイの属性が示されている。ゲーム/ゲームタイプBは、例えば、ドライビングまたはレーシングゲームか、またはゲームタイプであってよく、その属性(B1,B2…)は、ドライビング属性/基本設定であり得る。
【0032】
ゲームセッションの再生及びゲームセッションのリプレイ時の新しいタイムラインのスポーン
図3は、少なくともいくつかの実施形態による、以前に記録されたゲームレコードの再生及びプレーヤが再生中にキャラクタの制御を行う方法の高レベルのフローチャートである。プレーヤは、リプレイされるゲームレコードを選択し得る。例えば、プレーヤがメンバである特定のゲームグループに属するゲームレコードの収集から選択し得る。ゲームレコードは、記録されたゲームセッション中のゲームユニバースにて起こった特定の一連のイベントとの特定のタイムラインを表し得ることに留意すべきである。300に示すように、プレーヤは、選択されたゲームレコードから以前にプレイされたゲームセッションの再生を開始し得る。いくつかの実施形態では、ゲームシステムは、選択されたゲームレコードに記憶された情報からのゲームセッションのコンテキスト、キャラクタ及び環境が含むゲームユニバースを再生してよく、また、記録時にゲームセッションを再生し始めてよい(例えば、ゲームレコードによって示されたタイムラインに沿って進行する際にゲームユニバースの状態を生成しレンダリングする)。
【0033】
例えば、プレーヤは、あたかもプレーヤがゲームセッションの映像を見ているかのように、クライアントデバイス上のプレーヤのゲームクライアントを介してゲームセッションの再生を見ることができる。いくつかの実施形態では、ゲームシステムは、クライアントデバイス上のプレーヤのキャラクタの
視点からゲームセッションのリプレイを表示し得る。しかしながら、ゲームシステムは、プレーヤが再生中に任意のときにプレーヤのキャラクタに入り、制御するのを可能にし得る。それによってゲームユニバースにおいて新しいタイムラインをスポーンし得る。302で示すように、ゲームシステムは、プレーヤが再生中のゲームセッションにおけるプレーヤのキャラクタを制御したことを検出し得る。304で示されるように、応答して、ゲームシステムは、新しいゲームレコード及び選択されたゲームレコードとオリジナルのタイムラインからの新しいタイムラインをスポーンしてよく、新しいゲームセッション用のゲームの実行を開始し、新しいゲーム状態を新しいゲームレコードに記録し始める(新しいゲームレコードは、スポーンのイベントのときまでオリジナルのゲームレコードと同じであってもよいことに注意する)。
図6Bは、オリジナルのタイムラインからのゲームセッション用の新しいタイムラインのスポーンの一実施例を示し、
図7Bは、少なくともいくつかの実施形態による、
図7Aに示されるオリジナルのゲームレコードからスポーンされる、例示的な新しいゲームレコードからのゲームセッションのメタデータを示す。
【0034】
306で示されるように、少なくともいくつかの実施形態においては、一旦、プレーヤがリプレイされているゲームセッションに入ると、ゲームシステムは、キャラクタに対応するプレーヤのプロフィールによるゲームセッションに含まれる1つ以上のその他のキャラクタのアクションをシミュレートし始めてよい。少なくともいくつかの実施形態においては、プレーヤが、302で示すように、ゲームレコードから再生中のゲームセッションにおけるキャラクタを制御したことを検出すると、スポーンされたイベントのオリジナルのゲームセッションにおける1つ以上のその他のキャラクタのアクションは、その時点以降、キャラクタに対応するプレーヤのプロフィールで記録されるプレーヤの属性により、少なくとも初めにゲームシステムのロジック(例えば、人工知能(AI)のロジック)によって制御される。
【0035】
少なくともいくつかの実施形態においては、ゲームセッションはゲームレコードからリプレイされ、新しいタイムライン及び新しいゲームセッションがスポーンされる前または後のいずれかにおいて、オリジナルのゲームセッションに参加した1以上のプレーヤは、ゲームセッションに実際に参加せずに、またはゲームセッション中のキャラクタを制御せずに、「ゴーストモード」におけるそれぞれのクライアントデバイスを介してゲームセッションのリプレイを見ることを選択し得る。少なくともいくつかの実施形態においては、ゲームシステムは、各プレーヤがそれぞれのキャラクタの
視点からリプレイを見ることができるように、ゲームセッションにおけるキャラクタ毎に異なる
視点を再生し得る。いくつかの実施形態において、所望であれば、プレーヤは、その他のキャラクタの
視点からリプレイを見ることができる。
【0036】
上記は、300で、ゲームシステムが、選択されたゲームレコードを記憶しそれぞれのゲームセッションを再生する情報からゲームユニバースを再生することを記載している。しかしながら、いくつかの実施形態では、ゲームレコードは、ゲームセッションの映像を含んでよく、ゲームレコードからのゲームセッションの再生は、ゲームレコード中に記録される際に映像を再生することを少なくとも初期に含み得る。いくつかの実施形態では、この映像は、異なる
視点が必要に応じて再生中にそれぞれのプレーヤに提示されることが可能なように、それぞれが、ゲームセッションに関連する異なるプレーヤのキャラクタの
視点に対応する2つ以上の異なる映像ストリームを含み得る。302と304では、一旦、スポーンされたイベントが検出され、新しいタイムライン及び新しいゲームセッションがスポーンされると、ゲームシステムは映像の再生を停止してよく、必要に応じて306にて示されるように、それぞれのプレーヤのプロフィール(単数または複数)によるゲームシステムによってシミュレートされた1つ以上のキャラクタのゲームプレイとともに、新しいゲームセッションのために通常のゲームの実行を開始してよい。
【0038】
図1Bは、少なくともいくつかの実施形態による、以前に記録されたゲームレコードの再生を開始するプレーヤを示す。以前にプレイしたゲームセッション用のゲームレコード130は、記憶されたゲームレコード132の収集に記憶されてもよい。少なくともいくつかの実施形態においては、プレーヤは、ゲームシステム100のゲームグループのメンバであってよく、ゲームグループにおけるメンバによってプレイされるゲームセッションのゲームレコードは、ゲームグループに特有な収集に記憶され得る。少なくともいくつかの実施形態においては、ゲームクライアント122は、プレーヤ(単数または複数)150が以前にプレイしたゲームレコード132の収集(単数または複数)に記憶されるゲームセッションのためのゲームレコードを選択し得るものを介したインタフェースを提供し得る。
図1Bは、プレーヤ150Bが、クライアンデバイス120B上のゲームクライアント122Bを介して、リプレイのために、記憶されたゲームレコード132から特定のゲームレコード130Aを選択したことを示す。
【0039】
一旦、ゲームレコード130Aがリプレイのために選択されると、ゲームシステム100のゲームの再生110のコンポーネントは、ゲームシステム100のゲームロジック/実行102を介してゲームレコード130Aからの記録されたゲームセッションの再生を促進し得る。少なくともいくつかの実施形態においては、ゲームセッションの再生は、初期のゲームユニバース104の状態を再生し、ゲームレコードに記録された現在のゲーム状態にしたがって、ゲームのタイムラインに沿ってゲームユニバース104を発展させることを含み得る。例示的なゲームセッションのタイムラインのグラフ表示が、
図6Aに設けられている。
図7Aは、
図6Aの例示的なタイムラインに対応する例示的なゲームレコードからのゲームセッションのメタデータを示す。いくつかの実施形態では、ゲームセッションはゲームレコード130Aから再生される際に、ゲームシステム100は、ユニバース104の現状に基づいて、ユニバース104の2Dまたは3D表示をレンダリングし、レンダリングに基づいて映像フレームレートにより映像及び音声を生成し、及び表示のためにクライアントデバイス120Bに映像及び音声出力を送信する。しかしながら、いくつかの実施形態では、少なくともいくつかのレンダリングは、前述し、
図13に示されるように、シックゲームクライアント122Bによりクライアントデバイス120Bでその代わりに実行され得ることに留意されたい。
【0040】
少なくともいくつかの実施形態においては、プレーヤ150Bは、あたかも静止映像であるかのように「ゴーストモード」で選択されたゲームレコード130Aからゲームセッションのリプレイを単に見ることを選択し得る。少なくともいくつかの実施形態においては、ゲームシステム100は、ゲームクライアント122Bを介して再生制御インタフェースをプレーヤ150Bへと提供し得る。そのため、プレーヤ150Bは、例えば、後へのジャンプ、前へのジャンプ、早送り再生、スロー再生のような、映像再生制御を介して、ゲームセッションの再生を制御することができる。
【0041】
しかしながら、ゲームセッションの静的再生を可能とする代わりに、または、ゲームセッションの静的再生を可能とすることに加えて、ゲームシステム100の実施形態及びゲームクライアント122は、プレーヤ150Bが、ゲームレコード130からゲームセッションのリプレイにおける任意の時点でプレーヤのゲームキャラクタ152Bに「入る」ことができ、クライアントデバイス150Bからキャラクタ152Bを制御し始める事が可能である。
図1Cは、少なくともいくつかの実施形態による、以前に記録されたゲームレコード130Aの再生中のプレーヤのキャラクタ152Bに進んでいるプレーヤ150Bを示す。ゲームシステム100は、もしプレーヤ150Bが希望する場合には、プレーヤ150Bがゲームセッションのリプレイの間に、ゲームキャラクタ152Bのアクションに進み、制御することができるゲームクライアント122Bを介してインタフェースを提供し得る。
【0042】
少なくともいくつかの実施形態においては、プレーヤ150Bが、プレーヤのゲームキャラクタ152Bを引き継ぎ、ゲームレコード130Aに記憶されたゲームのタイムラインのある時点において、以前にプレイし記憶されたゲームセッションのユニバース104を操作すると、新しいタイムラインは、オリジナルのゲームセッションからスポーンされ得、新しいゲームレコード130Bはオリジナルのゲームレコード130Aからスポーンされ得る。スポーンの時点からゲームレコード106は、新しいタイムライン用に新しいゲーム状態の情報をゲームレコード130Bに記録し始め得る。
図6Bは、少なくともいくつかの実施形態による、新しいタイムラインをオリジナルのタイムラインからスポーンすることをグラフで示す。
図7Bは、
図6Aの例示的な新しいタイムラインに対応する例示的な新しいゲームレコード130Bからのゲームセッションのメタデータを示す。
【0043】
図6Bを
図6Aと、
図7Bを
図7Aと比較することでわかるように、新しいタイムライン及び新しいゲームレコード130Bは、オリジナルのタイムラインとゲームレコード130Aからスポーンイベントの時間までと同一であってよく、その後、新しいタイムライン及び対応するゲームレコード130Bはオリジナルから分かれる。例えば、
図6Aに示され、
図7Aのゲームレコード中のゲームセッションのメタデータとして記憶されるオリジナルのタイムライン上では、イベントA及びイベントBは、プレーヤ150Bがキャラクタ152Bの制御を再開するタイムラインの時点より前のオリジナルのタイムラインで起こり、イベントC、イベントD及びイベントEは、プレーヤ150Bがキャラクタ152Bの制御を再開するタイムラインの時点より後のオリジナルのタイムラインで起こる。
図6Bに示され、及び
図7Bに記録された新しいタイムライン上では、イベントA及びイベントBが依然として起こり、イベントC(イベントC’として示される)が依然として起こるが、幾分異なっており、オリジナルのタイムライン上で起こったイベントD及びイベントEは起こらず、オリジナルのタイムライン上で起こらなかったイベントF、イベントG及びイベントHが起こる。
【0044】
ゲーム及びゲームセッションのツリー
図1C、
図6B及び
図7Bにて示すように、新しいタイムラインは、ゲームセッションにおけるキャラクタ152Bの制御を行うプレーヤ150Bに対応して、ゲームレコード130Aからリプレイされるオリジナルのゲームセッションからスポーンされてよく、新しいタイムラインに対する新しいゲームレコード130Bが作成され記憶され得る。それにより、オリジナルのゲームセッションは、再びオリジナルのゲームレコード130Aからリプレイされてよく、別の新しいタイムライン及びゲームレコードがそこからスポーンされてよい。加えて、ゲームレコード130Bに記録されたゲームセッションは、リプレイされてよく、新しいタイムライン及びゲームレコードがそこからスポーンされてよい。したがって、オリジナルのゲームレコード中に記録されたオリジナルのゲームセッションは、複数回リプレイされてよく、新しいタイムライン及び新しいゲームレコードはオリジナルのゲームセッションからスポーンされる。加えて、新しいゲームレコードに記録されたゲームセッションがリプレイされてよく、新しいタイムライン及び新しいゲームレコードが同様にこれらのリプレイからスポーンされる。時間の経過とともに、ゲームセッションのツリーは、オリジナルまたはルートゲームセッションから生成されてよく、場合によって、ツリーの第1のレベルでオリジナルのゲームレコードからスポーンされた1つ以上のゲームセッション、第2のレベルでゲームセッションからスポーンされる1つ以上のゲームセッション等とともに生成されてよい。
【0045】
本明細書にて記載されるゲームシステムの少なくともいくつかの実施形態は、プレーヤに、以前にプレイされたゲームセッションを記憶し、表示し、管理し、アクセスし、及びリプレイする方法を提供し得る。少なくともいくつかの実施形態においては、各ゲームセッションは、特定のゲームレコードに対応してよく、ゲームセッションが本明細書で記載されるようにリプレイされるのを可能にするフォーマット(単数または複数)において対応するゲームセッションを記録するデータのためのコンテナとして見られ得る。
図11は、少なくともいくつかの実施形態による、例示的なゲームレコードを示す。少なくともいくつかの実施形態においては、プレーヤは、ゲームシステムのためのゲームグループのメンバになり得るか、またはゲームグループを形成もしくは参加し、及びゲームグループのゲームセッションに対応するゲームレコードは、そのゲームグループに特有な収集に記憶され得る。少なくともいくつかの実施形態においては、上述したようなゲームセッションツリーにより、ゲームシステムはゲームセッションを整理、表示及びアクセスするための方法を提供し得る。
【0046】
図9Aは、少なくともいくつかの実施形態による、例示的なゲームセッション「ファミリー」ツリーをグラフで示す。ツリー内の各ゲームセッションは、ゲームレコードに対応し得ることに注意する。1以上のプレーヤは、ゲームレコードが生成され記憶されたオリジナルのゲームセッション900(親ゲームセッションと考えられ得る)に参加させ得る。ある時点で、少なくとも1プレーヤは、オリジナルのゲームセッション900のリプレイを開始してよく、リプレイされるオリジナルのタイムラインのある時点で、プレーヤはゲームにおいてキャラクタの制御を行ってよく、これにより、新しいゲームセッション900Aが記録され記憶される新しいタイムライン及び新しいゲームレコードをスポーンする。同様に、オリジナルのゲームセッション900の後のリプレイの間、別の新しいゲームセッション900Bは、オリジナルのゲームセッション900からスポーンされ得る。続いて、スポーンされるゲームセッション900Aの後で、少なくとも1プレーヤはゲームレコードからゲームセッション900Aのリプレイを開始してよく、リプレイされるタイムラインのある時点で、プレーヤは、ゲーム内のキャラクタを制御してよく、これにより、新しいゲームセッション900A1が記録され記憶される新しいタイムライン及び新しいゲームレコードをスポーンする。同様に、ゲームセッション900Aの後のリプレイの間、別の新しいゲームセッション900A2は、ゲームセッション900Aからスポーンされ得る。これにより、多数の子セッションが親セッションからスポーンされてよく、追加の子孫セッションが子セッション(単数または複数)からスポーンされてよい。
【0047】
少なくともいくつかの実施形態においては、ゲームシステムは、ゲームグループ内のプレーヤ(単数または複数)が、プレーヤ(単数または複数)が適切なアクセス権を有する、グラフ及び/またはテキストのリスト、表示またはグループのゲームセッションツリーの表示を介して、ゲームクライアントにユーザインタフェースを提供し得る。例えば、いくつかの実施形態では、
図9Aに示されているゲームセッションツリーのグラフ表示は、ゲームクライアントのインタフェースを介してクライアントデバイスに表示され得る。
図9B及び
図9Cは、少なくともいくつかの実施形態による、ゲームセッションのいくつかのその他の例示的なリスティングを示す。
図9B及び9Cのリストは、例えば、
図1Aから
図1Dに示されるように、プレーヤ150A、150B及び150Cを含むゲームグループのようなゲームグループに関連付けられ得、ゲームグループのメンバによってプレイされてきた一部またはすべてのゲームセッションを列挙し得ることに注意する。また、さらに注意すべきことは、リストに示された各ゲームセッションは、特定のゲームレコードに対応し得ることである。
【0048】
図9Bは、ゲームセッションが
図9Aに示されたツリー構造に対応する階層的なリストで示される例示的なゲームセッションのリストを示す。この例示的なゲームセッションのリストは、プレーヤ(単数または複数)が容易にファミリーツリーまたは、多数の子孫ゲームセッションがスポーンされた1つ以上の異なるオリジナルのゲームセッションの履歴を見ることを可能にする。例えば、
図9Aからの例示的なゲームセッションツリーは、<original game session 900>として示され、オリジナルのゲームセッション900及びその子孫(例えば、900A、900A1...900B、900B1...)からスポーンされたいくつかのゲームセッションを備え、<original game session900>の見出しの下に階層構造内に表示される。2つの追加のオリジナルのゲームセッション(901及び902)はまた、その子孫(もしあれば)とともにリストに示されている。
【0049】
図9Cは、別の例示的なゲームセッションのリストを示し、ゲームセッションツリー(単数または複数)からのゲームセッションが、ゲームセッションを生成されまたはスポーンされたプレーヤ(単数または複数)の見出しの下に列挙される。このリストは、
図9Bに示されたリストに追加または代替として提供され得る。本実施例では、
図9Bに示された11のゲームセッションがゲームセッションを作成またはスポーンされたプレーヤの下に一覧で示されている。例えば、<original game session900>は、プレーヤ150Aのもとに列挙され、したがって、プレーヤ150Aは、このゲームセッション900を生じる。加えて<game session900A1B>、<game session900A2>及び<game session900B>は、プレーヤ150Aの下に列挙され、したがってプレーヤ150Aはこれらのゲームセッションをスポーンする。プレーヤ150Bの下では、<game session900A>及び<game session900A1A>が列挙され、したがってプレーヤ150Bはこれらのゲームセッションをスポーンする。加えて、<original game session901>は、プレーヤ150Bのもとに列挙され、したがって、プレーヤ150Bは、このゲームセッションを生じる。
【0050】
図9Aから
図9Cに示されるように、例示的なグラフィカル及び/またはテキストリスト、ビュー及び表示は、一例として示されており、限定を意図するものではないことに留意すべきである。ゲームセッション及びゲームセッションツリーは、それらの示される以外の様々なその他のフォーマットで列挙または表示されてよく、単にファミリーの階層もしくは所有者または2つ以上のプロパティの組み合わせ以外の1つ以上のその他のプロパティによってソートまたは構成され得る。例としては、ゲームセッションは、1つ以上の時間特性(例えば、作成日時、再生時間(持続時間)等)に基づいて構成またはソートされてよく、またはアルファベット順に列挙されてよい。
【0051】
いくつかの実施形態では、ゲームシステムは、ゲームクライアントで1つ以上のユーザインタフェース要素を列挙または提供してよく、それを介してプレーヤ(単数または複数)が閲覧でき、列挙されたゲームセッションの追加情報は
図9Aから
図9Cに示されている。例えば、いくつかの実施形態では、プレーヤは、リストのゲームセッションを右クリックし、ポップアップメニューから「より多くの情報を表示」、または類似のオプションを選択し得る。また、さらに注意すべきことは、リストに示された各ゲームセッションは、特定のゲームレコードに対応し得ることである。
図10は、少なくともいくつかの実施形態による、ゲームレコードにおいて記録された以前にプレイされたゲームセッションについての追加情報の実施例を示し、これは限定を意図するものではない。このゲームセッションについての追加情報は、対応するゲームレコードに記憶され、またはゲームレコードとともに記憶されてよく、ゲームレコード情報と称されてよい。
図10に示すように、ゲームレコード情報は、以下のものを1つ以上含むが、これらに限定されない。
・ <session tag>−このゲームセッションを独特に識別するタグ、名前または識別子。いくつかの実施形態では、セッションタグは、プレーヤによって特定され得る。しかしながら、いくつかの実施形態では、セッションタグは、自動的に生成され得る。
・ <owner/spawned by [player]>−本ゲームセッションを作成またはスポーンするプレーヤ。
・ <description>−本ゲームセッションの記述。いくつかの実施形態では、プレーヤ(単数または複数)は、記述にコンテンツを加えるか変更し得る。
・ <date/time>−例えば、本ゲームセッションが始まったときを示す実際のワールドタイムスタンプ。
・ <play time>−ゲームセッションの実際の世界持続時間。
・ <players in session [player list]>−本ゲームセッションに(ゲームのキャラクタとして)参加したプレーヤのすべてのリスト。
・ <session results>−ゲームセッションの結果はゲームの種類によって変化し得る。例えば、一部のゲームでは、セッションの結果は、ゲームセッションにおいて正常に到達または達成したレベルまたはゴールを示し得る。いくつかの実施形態では、セッションの結果は、ゲームセッションで発生した重要なイベントの時系列のリストであってよいか、またはリストを含んでよい。
・ <session data/statistics>−データ及びゲームセッションの統計は、ゲームの種類によって異なり得る。例えば、いくつかの「シューティング」ゲームでは、データは発射される銃、打撃、殺傷を含んでもよく、調査によると、「殺傷」率または比を含むことができる。統計は、各プレーヤに対するプレーヤ及び/または個々の統計に対する集団統計を含み得る。
・ <spawned from session [session tag]>−もしあれば、本セッションがスポーンされた(すなわち、本セッションの親)ゲームセッションを識別する。
・ <spawned at [game universe timeline point]>−本子セッションがスポーンされた親セッションにおける時点を識別する。
・ <spawned sessions [session tag(s)]>−もしあれば、本セッションからスポーンされた1つ以上の子セッションを列挙する。
【0052】
図9Aから
図9Cに示されているように、その他のフォームで、ゲームセッションを階層で組織、表示し、及び
図10に示されているように、ゲームセッションへの追加情報を表示すると、例えば、プレーヤがオリジナルのゲームセッションからプレイされるすべてのゲームセッションの情報を閲覧しすべてのゲームセッションを分析できる。例えば、プレーヤは、どちらのプレーヤ(単数または複数)がゲームのプレイで最大のアクティビティを生成したかを決定することができる。別の実施例としては、戦略を含み、機械が比較的に設定または固定されるゲームにおいては、ゲームセッションの階層表示により、プレーヤが階層の分岐を分析することによってゲームプレイへの最適な戦略を決定することができる。
【0053】
図11は、少なくともいくつかの実施形態による、例示的なゲームレコードを示し、これは限定することを意図しない。前述したようにゲームレコード1100は、ゲームセッションが本明細書で記載されるようにリプレイされるのを可能にするフォーマット(単数または複数)において対応するゲームセッションを記録するデータのためのコンテナとして見られ得る。各ゲームレコード1100は、記録されたゲームセッション中のゲームユニバースにて起こった特定の一連のイベントとの特定のタイムラインを表し得る。
図11に示すように、少なくともいくつかの実施形態では、ゲームレコード1100は、ゲームレコード情報1110、プレーヤプロフィールのスナップショット1120、ゲームセッションメタデータ1130及びゲームセッション映像1140のうち1つ以上を含み得るが、これらに限定されない。
【0054】
図11に示すように、少なくともいくつかの実施形態において、ゲームレコード1100は、例えば
図10に示されたように、ゲームレコード情報のような、それぞれのゲームセッションについての情報を含むゲームレコード情報1110を含み得る。
【0055】
少なくともいくつかの実施形態においては、
図7A及び
図7Bで示されたように、ゲームレコード1100は、例えばゲームセッションメタデータのようなゲームセッションメタデータ1130を含み得る。少なくともいくつかの実施形態においては、ゲームセッションメタデータ1130は、ゲームユニバースが開始されゲームのタイムラインが開始される初期のゲーム状態及びゲームセッションが進行するにしたがい、特定の時間で、現在のゲームの状態をそれぞれ示す入力を含んでよく、それぞれのゲームクライアントを介してプレーヤに表示するために、ゲームセッションユニバースを再生するために使用され得る。少なくともいくつかの実施形態においては、ゲームセッションのメタデータ1130は、異なる
視点が必要に応じて再生中にそれぞれのプレーヤに提示されることが可能なように、ゲームセッションに関連する2以上のプレーヤのキャラクタの
視点に対応するメタデータを含み得る。いくつかの実施形態では、ゲームセッションの再生は、ゲームのレコード1100からゲームセッションメタデータ1130に従って、スポーンイベントが、
図1B、1C、6A及び6Bに示すように、新しいタイムラインと新しいゲームセッションを生成するまで1以上のプレーヤのクライアントデバイス(単数または複数)にゲームセッションを再生することを含み得る。スポーンイベントの際に、ゲームシステムロジック/実行コンポーネントは、必要に応じてそれぞれのプレーヤのプロフィール(単数または複数)によるゲームシステムによってシミュレートされた1つ以上のキャラクタのゲームプレイとともに、新しいゲームセッションのために通常のゲームの実行を開始し得る。
【0056】
いくつかの実施形態では、ゲームレコード1100は、ゲームセッション映像1140を含み得る。いくつかの実施形態では、ゲームレコード1100からのゲームセッションの再生は、ゲームレコード中に記録される際に映像1140を再生することを少なくとも初期に含み得る。いくつかの実施形態では、この映像1140は、異なる
視点が必要に応じて再生中にそれぞれのプレーヤに提示されることが可能なように、それぞれが、ゲームセッションに関連する異なるプレーヤのキャラクタの
視点に対応する2つ以上の異なる映像ストリームを含み得る。いくつかの実施形態では、ゲームセッションの再生は、
図1B、1C、6A及び6Bに示すように、スポーンイベントが新しいタイムラインと新しいゲームセッションを生成するまで1以上のプレーヤのクライアントデバイス(単数または複数)に映像1140を再生することを含み得る。スポーンイベントの際に、ゲームシステムロジック/実行コンポーネントは、必要に応じてそれぞれのプレーヤのプロフィール(単数または複数)によるゲームシステムによってシミュレートされた1つ以上のキャラクタのゲームプレイとともに、新しいゲームセッションのために通常のゲームの実行を開始する。
【0057】
いくつかの実施形態では、ゲームレコード1100は、記録されるゲームセッションの間または最後に、キャプチャされゲームレコード1100に記憶され得る、1つ以上のプレーヤのプロフィールスナップショット1120を含み得る。各プレーヤのプロフィールスナップショット1120は、ゲームセッション時に、ゲームセッションに関連するそれぞれのプレーヤのプロフィールを記録してよい。例示的なプレーヤのプロフィールは
図8A及び
図8Bに示されている。プレーヤのプロフィールスナップショット(単数または複数)1120は、例えば、
図1C及び
図6Bに示されているように、スポーンイベントが新しいタイムラインを生成したかゲームセッション中の1つ以上のそれぞれのキャラクタのプレイをシミュレートするために使用され得る。
【0058】
いくつかの実施形態では、プレーヤがゲームセッションでキャラクタに進んで制御するとき、プレーヤは、ゲームセッションが最初にプレイされた時に、プレーヤのプロフィールのスナップショット1120に記録されているプレーヤのプロフィールから属性を引き継ぐ。プレーヤがゲームを操作すると、以前に記録されたプロフィールのプレーヤの属性は、プレーヤのゲームプレイにより更新され得る。あるいは、いくつかの実施形態では、プレーヤがゲームセッションでキャラクタに進んで制御するとき、プレーヤは、プレーヤのプロフィールのスナップショット1120からよりもむしろ、プレーヤの現在のプロフィールから属性を引き継ぐ。
【0059】
いくつかの実施形態では、ゲームシステムは、1つ以上のインタフェースを提供してよく、プレーヤは、ゲームレコード1100におけるスナップショット1120に記録された過去のゲームセッションのときのそれぞれのプレーヤのプロフィールを閲覧し得る。また、所望であれば、過去のゲームセッションのときのスナップショット1120に記録されたゲームプレイの属性を現在のプレーヤのプロフィールと比較し得る。
【0060】
キャラクタのシミュレーション及び再生の通知
図4Aは、少なくともいくつかの実施形態による、プレーヤにゲームが再生されていることをプレーヤに通知し、及びリプレイ中にキャラクタ(単数または複数)の制御をプレーヤ(単数または複数)が引き継ぐ方法の高レベルのフローチャートである。400に示すように、プレーヤは、選択されたゲームレコードから以前にプレイされたゲームセッションの再生を開始し得る。ゲームシステムは、選択されたゲームレコードに記憶された情報からのゲームセッションのコンテキスト、キャラクタ及び環境が含まれるゲームユニバースを再生してよく、また、記録される際にゲームセッションを再生し始めてよい(例えば、ゲームレコードによって示されたタイムラインに沿って進行する際にゲームユニバースの状態を生成しレンダリングする)。プレーヤ(単数または複数)は、例えば1つ以上のクライアントデバイスを介してゲームセッションの再生を閲覧し得る。少なくともいくつかの実施形態においては、各プレーヤは、それぞれのキャラクタの
視点からゴーストモードで再生を閲覧し得る。ゴーストモードでは、プレーヤは、彼らの性格を介して積極的に参加せずにゲームセッションのリプレイを閲覧する。
【0061】
402で示されるように1以上のプレーヤは、ゲームセッションがゲームレコードから再生されていることを通知され得る。少なくともいくつかの実施形態においては、プレーヤ(単数または複数)は、リプレイが始まるとすぐに通知される。あるいは、
図4Bにて示されているように、プレーヤ(単数または複数)は、少なくとも1つのその他のプレーヤがゲームユニバースにおけるキャラクタ(単数または複数)の制御を行わない限り、または制御をするまでは、ゲームセッションのリプレイを通知されなくてよい。少なくともいくつかの実施形態においては、通知の少なくともいくつかは、例えば、その他のプレーヤ(単数または複数)にテキストメッセージでゲームセッションのリプレイを開始したプレーヤによって開始され得る。あるいは、通知の少なくともいくつかは、特定のイベントを検出すると自動的にゲームシステムによって開始され得る。(例えば、選択されたゲームレコードからゲームセッションのリプレイの開始や、あるいはリプレイの間にプレーヤによってキャラクタを引き継ぐ)。ゲームシステムは、1つ以上の通信チャネル(例えば、テキストメッセージ、警告メッセージ、電子メール等)を使用するプレーヤに通知し得る。少なくともいくつかの実施形態においては、リプレイを通知される各プレーヤは、それぞれのキャラクタの
視点からゴーストモードで再生を閲覧することを選択し得る。
【0062】
404で示すように、ゲームシステムは、1以上のプレーヤが再生中のゲームセッションにおけるプレーヤのキャラクタを制御したことを検出することができる。406で示されるように、キャラクタ(単数または複数)の制御を行うプレーヤ(単数または複数)に対応して、ゲームシステムは、新しいゲームレコード及び選択されたゲームレコードとオリジナルのタイムラインからの新しいタイムラインを生成してよく、新しいゲームレコードに新しいゲーム状態を記録し始める。408で示されるように、少なくともいくつかの実施形態では、一旦、プレーヤ(単数または複数)がリプレイされそのためスポーンイベントを生じるゲームセッションに入ると、ゲームシステムは、キャラクタに対応するプレーヤのプロフィールによるゲームセッションに関する1つ以上のその他のキャラクタアクションをシミュレートし始めてよい。少なくともいくつかの実施形態では、その他のプレーヤは、それぞれのキャラクタの
視点からゴーストモードで再生を閲覧することを選択してよく、あるいは新しいゲームセッションにおけるキャラクタに入り、制御を行うことを選択してよいことに留意すべきである。
【0063】
図4Bは、少なくともいくつかの実施形態による、プレーヤにゲームが再生されていることをプレーヤ(単数または複数)に通知し、及びリプレイ中にキャラクタ(単数または複数)の制御をプレーヤ(単数または複数)が引き継ぐ代替的な方法の高レベルのフローチャートである。420に示すように、プレーヤは、選択されたゲームレコードから以前にプレイされたゲームセッションの再生を開始し得る。ゲームシステムは、選択されたゲームレコードに記憶された情報からのゲームセッションのコンテキスト、キャラクタ及び環境が含まれるゲームユニバースを再生し得る。また、記録される際にゲームセッションを再生し始めてよい(例えば、ゲームレコードによって示されたタイムラインに沿って進行する際にゲームユニバースの状態を生成しレンダリングする)。プレーヤ(単数または複数)は、例えば1つ以上のクライアントデバイスを介してゲームセッションの再生を閲覧し得る。少なくともいくつかの実施形態においては、プレーヤ(単数または複数)は、それぞれのキャラクタの
視点からゴーストモードで再生を少なくとも初めに閲覧し得る。
【0064】
422で示すように、ゲームシステムは、1以上のプレーヤが再生中のゲームセッションにおけるプレーヤのキャラクタを制御したことを検出することができる。424で示されるように、キャラクタ(単数または複数)の制御を行うプレーヤ(単数または複数)に対応して、ゲームシステムは、新しいゲームレコード及び選択されたゲームレコードとオリジナルのタイムラインからの新しいタイムラインを生成してよく、新しいゲームレコードに新しいゲーム状態を記録し始める。426で示されるように、少なくともいくつかの実施形態では、一旦、プレーヤ(単数または複数)がリプレイされそのためスポーンイベントを生じるゲームセッションに入ると、ゲームシステムは、キャラクタに対応するプレーヤのプロフィールによるゲームセッションに関する1つ以上のその他のキャラクタアクションをシミュレートし始めてよい。
【0065】
428で示されるように、要素424でスポーンイベントを検出した後、1以上のプレーヤは、ゲームセッションがゲームレコードから再生されていることを通知され得る。少なくともいくつかの実施形態においては、通知は、ゲームセッションにおけるキャラクタの制御を行ったプレーヤによって開始され得る。あるいは、通知の少なくともいくつかは、ゲームセッションにおいて、少なくとも1プレーヤがキャラクタの制御を行うと、自動的にゲームシステムによって開始され得る。少なくともいくつかの実施形態においては、通知されたプレーヤは、それぞれのキャラクタの
視点からゴーストモードで新しいゲームセッションを閲覧することを選択してよく、あるいは新しいゲームセッションにおけるキャラクタに入り、制御を行うことを選択してよい。
【0066】
図4Aから
図4Bを参照すると、いくつかの実施形態では、ゲームセッションの再生の開始時に、及びゲームシステムの再生中の新しいゲームセッションのスポーン時に、通知が生成され得る。いくつかの実施形態では、ゲームシステムは、例えば、それぞれのクライアントデバイス上のゲームクライアントを解するプレーヤに提示されたインタフェースを介して、プレーヤが通知オプションを構成することを可能にし得る。例えば、ゲームシステムは、プレーヤがゲームセッションのリプレイの開始時に、及び/またはリプレイの間のゲームセッションのリプレイの開始時に、通知されることを望むか否かをプレーヤが指定することを可能にし得る。別の実施例としては、ゲームシステムは、プレーヤが例えば電子メールまたはテキストメッセージのような好ましい通知チャネルを指定し、構成することを可能にし得る。
【0068】
少なくともいくつかの実施形態においては、ゲームシステム100は、プレーヤのプロフィール140によるプレーヤのキャラクタ152のアクションを制御することによって、ゲームセッションにおける所与のプレーヤ150のゲームプレイのシミュレーションをすることができるプレーヤシミュレーションロジック112(例えば、人工知能(AI)エンジン)を含み得る。次に、
図1Cにて示すように、プレーヤ150Bが、ゲームレコード130Aから再生される、以前に記録されたゲームセッションにおけるキャラクタ152Bに進むと、新しいタイムライン及び新しいゲームレコード130Bをスポーンし、ゲーム中の1つ以上のその他のキャラクタ152のアクションは、その時点以降、少なくとも当初は、プレーヤ150/キャラクタ152に対応するプレーヤプロフィール140に基づいたプレーヤシミュレーション112ロジックによって制御され得る。換言すると、スポーンイベント後は、ゲームにおけるキャラクタのアクションは以前の記録から再生されず、その代わりにゲームクライアント122を介して実際のプレーヤ150によって制御されるか、またはそれぞれのプレーヤのプロフィールによるプレーヤシミュレーション112ロジックによってシミュレーションされるかの何れかである。
図1Cに示された実施例においては、ゲームセッションにプレーヤ150Bが入った後は、キャラクタ152Bは、ゲームクライアント122Bを介してプレーヤ150Bによって制御され、一方、キャラクタ152A及び152Bのアクションは、対応するプレーヤ150(
図1Aに示されるようなプレーヤ150A及び150C)のプロフィール140に示されるようなプレーヤの属性により、プレーヤのシミュレーション112ロジックによって制御される。ゲームプレイは、新しいタイムライン上のオリジナルのユニバース/タイムラインから分かれるため、シミュレートされたキャラクタ152A及び152Bは、プロフィール140に記録された対応するプレーヤの実際に、ライブでプレイしているキャラクタ及び属性による新しいイベントに応答し得る。
【0069】
少なくともいくつかの実施形態においては、一旦、ゲームセッションのリプレイが
図1Bに図示されているように、プレーヤ150Aによってゲームレコード130Aから開始されると、1以上のその他のプレーヤ150(例えば、プレーヤ150A及び150C)は、それぞれのクライアントデバイス120からリプレイにアクセスし、見てもよい。少なくともいくつかの実施形態においては、その他のプレーヤ150は、所望であれば、リプレイ中のある時点でそれぞれのキャラクタ152の制御を可能にされ得る。いくつかの実施形態では、その他のプレーヤ150は、再生を開始されるプレーヤ150Bがプレーヤのキャラクタ152Bに入り、制御し(またはその後)、それによって新しいタイムラインをスポーンする
図1Cに示されるようなキャラクタ152を制御することができない。しかしながら、いくつかの実施形態では、その他のプレーヤ150は、ゲームセッションのリプレイが始まってすぐに、再生を開始したプレーヤ150Bがキャラクタ152Bを制御するか否かについて、キャラクタ152を制御することが可能であり得る。
【0070】
図1Bから
図1Cを参照すると、少なくともいくつかの実施形態では、プレーヤ150Bがゲームレコード130Aから以前に記録されたゲームセッションをリプレイするとき、またあるいは、プレーヤ150Bがリプレイされている以前に記録されたゲームセッションへと進行するときは、オリジナルのゲームセッションに参加した1以上のその他のプレーヤ150(例えば、
図1Aのプレーヤ150A及び150C)は、それぞれのゲームキャラクタ152が参加するゲームセッションがリプレイされていると通知されてよく、リプレイセッションに、したがって、
図1Cに示されるようなオリジナルのタイムラインからスポーンされ得る新しいタイムラインに、参加するために招待されてよい。
【0071】
少なくともいくつかの実施形態においては、リプレイされるゲームセッションへの参加の招待は、例えば、ソーシャルメディア、テキストメッセージング、電子メール、電話等のような、1以上の通信チャネルを使用してリプレイを開始したプレーヤ150Bによって開始され得る。いくつかの実施形態では、ゲームクライアント122は、所望であれば、プレーヤが必要に応じて、1以上のその他のプレーヤ150にゲームのリプレイに参加するよう招待することを可能にする、「その他のプレーヤ150に通知する」というインタフェース要素を含み得る。
【0072】
いくつかの実施形態では、ゲームシステム100は、ゲームセッションがプレーヤ150Bによってゲームレコード130Aからリプレイされているときに検出し、オリジナルのゲームセッション(例えば、
図1Aのプレーヤ150A及び150C)に参加したキャラクタ152を有する1以上のその他のプレーヤ150を決定し、及び自動的に1以上のその他のプレーヤ150に通知を生成し送信する通知コンポーネントを含み得る。この通知はその他のプレーヤ150を招待してリプレイを閲覧し、及び/またはその他のプレーヤ150を招待してリプレイされているゲームセッションにおけるプレーヤを制御する。いくつかの実施形態では、この通知は、プレーヤ150がプレーヤのクライアントデバイス120上のゲームセッションを選択して自動的に移動(またはオープン)し得る1つ以上のホットリンクを含んでよい。いくつかの実施形態では、ゲームセッションのリプレイが
図1Bに図示されているように、プレーヤ150Bによってゲームレコード130Aから開始されると、この通知は自動的に生成され、送信され得る。あるいは、いくつかの実施形態では、プレーヤ150Bがゲームセッションのキャラクタ152Bに進み制御し、その結果
図1Cに図示されているように新しいタイムラインをスポーンさせると、この通知は自動的に生成され、送信され得る。少なくともいくつかの実施形態においては、特定のプレーヤ150にリプレイされるゲームセッションにおけるキャラクタ152をマッピングし、識別されたプレーヤ150にリプレイを通知するために、ゲームシステム100は、ゲームデータ160にアクセスし、キャラクタ152をプレーヤ150にマッピングして、好ましい通知方法(例えば、テキストメッセージのための電話番号)、クライアントデバイス120の情報等のような、各プレーヤ150の情報を探してよい。
【0073】
図1Dは、少なくともいくつかの実施形態による、以前に記録され、記憶されたゲームレコードからゲームセッションのリプレイする間、プレーヤのキャラクタ152Aに進んでいる第2のプレーヤ150Aを示す。プレーヤ150Bは、
図1Aに示されるように、ゲームレコード130Aからゲームセッションの再生を開始した可能性があり、ゲームセッションにおけるゲームキャラクタ152Bにその後入り、制御した可能性があり、よって、
図1Cに示されるように、新しいタイムライン及び新しいゲームレコード130Bをスポーンする。プレーヤ150Aは、プレーヤ150Bから、またはゲームシステム100の通知コンポーネントによって自動的に生成されるかの何れかによって、プレーヤ150Aのキャラクタ152Aに関連するゲームセッションのリプレイを検出する際に、リプレイの通知を受信した可能性がある。少なくともいくつかの実施形態においては、所望により、プレーヤ150Aは、必要に応じて、プレーヤのキャラクタ152Aを介して積極的に参加せずにリプレイをただ見ることを選択してよい。しかしながら、ゲームシステム100は、もしプレーヤ150Aが希望する場合には、プレーヤ150Aがゲームセッションのリプレイの間に、ゲームキャラクタ152Aのアクションに進み、制御することができるゲームクライアント122Aを介してインタフェースを提供し得る。一旦、プレーヤ150Aがキャラクタ152Aを制御すると、プレーヤシミュレーション112のロジックは、もはや、キャラクタ152A及びプレーヤ150Aのプロフィール140によって、プレーヤ150Aのゲームプレイをシミュレートしない。たとえプレーヤ150Aは、ゲームクライアント122Aを介してキャラクタ152Aを制御し、プレーヤ150Bは、ゲームクライアント122Bを介してキャラクタ152Bを制御しても、キャラクタ152Cは、プレーヤ150Cに対応するプレーヤのプロフィール140に基づいて、プレーヤシミュレーション112のロジックによってゲームセッションで依然として制御され得ることに留意する。しかしながら、プレーヤ150Cは、必要なときにはキャラクタ152Cを制御することによって、いつでもゲームセッションに参加し得る。
【0074】
図1C及び
図1Dに示されていないが少なくともいくつかの実施形態では、一旦、1以上のプレーヤ150が、以前に記憶されたゲームレコード130Aからリプレイされ、そのため新しいタイムライン及びゲームレコード130Bをスポーンされるゲームセッションに進むと、クライアントデバイス120からゲームユニバース104におけるそれぞれのキャラクタ152を実際に制御している(
図1Aに示されているような)ゲームシステム100のプレーヤ監視108コンポーネントは、プレーヤ150の様々なアクションを監視し始めてよく、及び監視された処理に基づいてそれぞれのプレーヤ150のためにそれぞれのプレーヤプロフィール140を更新し得る。しかしながら、これらのプレーヤ150のゲームプレイは、プレーヤシミュレーション112のロジックによってシミュレートされ得るため、監視108コンポーネントは、監視せずに、ゲームのクライアント122を介してキャラクタ152の行動を現在制御していないプレーヤ150のプロフィール140を更新しなくてもよい。
【0075】
図1Aから
図1Dに示されていないが、少なくともいくつかの実施形態では、プレーヤ150は、ゲームセッション(初期のゲームセッションまたはリプレイされているゲームセッションのいずれか)中にキャラクタ152から出ることを選択してよく、そのため、キャラクタの制御をプレーヤシミュレーション112のロジックに放棄し得る。
【0076】
ゲームセッションの記録及び再生のバリエーション
図1Aから
図1Dは、主に、オリジナルでは1以上の人のプレーヤを含む、ゲームセッションの記録及びリプレイを対象とする。例えば、
図1Aにおいてプレーヤ150Aからプレーヤ150Cは、ゲームレコード130に記録され、ゲームレコード132に記憶されるオリジナルのゲームに含まれる。しかしながら、
図1A及び
図1Cからのプレーヤシミュレーション112を参照すると、少なくともいくつかの実施形態では、ゲームレコード130はゲームセッションを開始することによって生成され得る。1つ以上のキャラクタ152、またはすべてのキャラクタでさえ少なくとも最初にプレーヤプロフィール140によってプレーヤシミュレーション112のロジックによって制御される。例えば、プレーヤ150は、プレーヤ150が1つ以上のキャラクタ152に対し(または協働して)キャラクタを制御するオリジナルのゲームレコード130を生成するよう選択されてよく、キャラクタのアクションは、プレーヤプロフィール140によりゲームシステム100によってシミュレートされる。別の実施例としては、プレーヤ150はオリジナルのゲームレコード130を生成するよう選択され得る。キャラクタ152のすべては、プレーヤのキャラクタ152を含めて、プレーヤのプロフィール140によってゲームシステム100によってシミュレートされる。これらの生成されたゲームレコードは、
図1B〜
図1Dに示されているように、所望により、プレーヤ150がキャラクタ152に入った(または出た)状態で、記憶され、選択され、リプレイされることが可能である。
【0077】
ゲームセッションのマーケティング
図1Aから
図4を参照して、本明細書に記載されたゲームセッションをリプレイするための方法及びデバイスの実施形態を実装するゲームシステムは、プレーヤがその他のプレーヤに、記録されたゲームセッションを提供または販売することを可能にし得る。少なくともいくつかの実施形態においては、プレーヤ(例えば、特定のオンラインゲームで熟練し、知られたプレーヤ)は、プレーヤのゲームキャラクタを含むゲームセッションを記憶することができ、また、リプレイのために記録されたゲームセッションを他の人に提供する。少なくともいくつかの実施形態においては、別のプレーヤから記録されたゲームセッションを取得するプレーヤは、ゲームにおけるキャラクタ(単数または複数)の制御を行い、オリジナルのプレーヤのキャラクタに対抗して(または協力的なゲームで)プレイすることによって、リプレイに参加することを選択し得る。少なくともいくつかの実施形態においては、プレーヤが、ゲームセッションに進行し、キャラクタを制御することができると、新しいユニバース/タイムラインがスポーンされてよく、プレーヤは、その他のプレーヤのプロフィールによるゲームロジックによって制御されるように、その他のプレーヤのキャラクタとともに参加し得る。その他のプレーヤのプロフィールは、記録されたゲームセッションを提供されてよく、またはそうでない場合には、入手またはアクセスされ得る。少なくともいくつかの実施形態においては、これらの記録されたゲームセッションは、オンライン(またはその他のチャネルを介して)、例えばゲーム開発会社のホームページを介して提供され得る。いくつかの実施形態では、ゲームセッションのリプレイは、報酬を提供し、仮想または現実の通貨と交換するために、あるいは場合によっては無料で提供され得る。あるいは、いくつかの実施形態では、ゲームレコードからゲームセッションのリプレイを提供する代わりに、または提供することに加え、ゲームレコード自体のコピーは、仮想または現実の通貨と交換で、あるいは場合によっては無料で取得され得る。
【0078】
図5は、少なくともいくつかの実施形態による、生成されたゲームレコードをその他のプレーヤにリプレイ用に提供する方法の高レベルのフローチャートである。500で示されるように、例えば、
図1A及び
図2に示されているような方法により、1以上のプレーヤは、ゲームシステムを実装されたゲームの1つ以上のセッションをプレイし、1つ以上のゲームレコードを生成し記憶し得る。特定のゲームセッションには、ゲームシステムは、ゲームセッションのコンテキスト、キャラクタ及び環境を含むゲームユニバースを生成し得る。少なくともいくつかの実施形態においては、ゲームセッションに参加する各1以上のプレーヤは、ゲームにおいてキャラクタを引き継いでよく、また、クライアントデバイス上のゲームクライアントインスタンスを使用してゲームユニバースにおけるキャラクタを制御し得る。しかしながら、少なくともいくつかの実施形態においては、ゲームセッションにおけるキャラクタのうち少なくとも1つは、代わりにゲームシステムのロジック(例えば、人工知能(AI)のロジック)によって制御され得る。ゲームレコードは、記録されたゲームセッション中のゲームユニバースにて起こった特定の一連のイベントとの特定のタイムラインを表し得ることに留意すべきである。
図6Aは、少なくともいくつかの実施形態による、ゲームセッションに対する例示的なオリジナルのタイムラインを示し、
図7Aは、例示的なゲームレコードからのゲームセッションのメタデータを示す。
図11は、少なくともいくつかの実施形態による、例示的なゲームレコードを示す。
【0079】
502で示されるように、500で生成される1つ以上のゲームレコードまたはそのリプレイは、その他のプレーヤに供給、提供、共有または販売され得る。非限定実施例として、このゲームレコードは、ゲームのレコードまたは第三者のウェブサイトを生成したゲーム開発会社のウェブサイト、プレーヤ(単数または複数)のウェブサイトを介して、ダウンロードまたはリモートのネットワークサイトからのリプレイのために、オンラインで供給されてよい。少なくともいくつかの実施形態においては、このゲームレコードは、潜在的なクライアントがプレーヤのゲームセッションツリーのグラフィカル及び/またはテキストリストを閲覧可能なユーザインタフェースを介して供給され得る。例えば、いくつかの実施形態では、
図9A、
図9B及び/または
図9Cに示されるように、プレーヤまたはプレーヤのゲームセッション及び/またはゲームセッションツリー(単数または複数)のリストは、ウェブサイトまたはその他のチャネルを介して潜在的なクライアントに表示されてよく、ウェブサイトは、クライアント(単数または複数)が対応するゲームレコードからゲームセッションのうち所望のリプレイを選択し、購入するか、またはゲームレコード自体を選択及び購入するのを可能にするユーザインタフェース要素を含んでよい。別の実施例としては、ゲームレコードは、実店舗またはオンライン店舗でCDやDVDのような物理メディアで販売されてよい。少なくともいくつかの実施形態においては、ゲームレコードまたはゲームレコード中のゲームセッションのリプレイは、仮想または現実の通貨と交換で供給されるか、場合によっては無料で供給され得る。少なくともいくつかの実施形態においては、1つ以上のゲームレコードは、ゲーム用のアドオンゲームのパッケージとして供給されてよく、またはゲームの購入時にゲームにバンドルされてよい。少なくともいくつかの実施形態においては、プレーヤ(単数または複数)が所望の際にゲームレコード(単数または複数)をリプレイするのを可能にする、特定のゲームレコードまたはレコードの権利を購入するかそうでない場合には取得し得る。あるいは、プレーヤ(単数または複数)は、所与のゲームレコード(単数または複数)を1度のリプレイ、または制限された回数リプレイする権利を購入するか取得してよい。別の方法として、いくつかの実施形態では、異なるゲームグループは、1つのゲームグループ内のプレーヤがその他のゲームグループによって記録されたゲームセッションをリプレイできるように、ゲームレコードをスワップまたはトレードすることを可能にし得る。
【0080】
少なくともいくつかの実施形態においては、ゲームレコード(単数または複数)を記録したプレーヤ(単数または複数)に対するプレーヤのプロフィール(単数または複数)は、502で、その他のプレーヤに供給、提供、共有または販売されるゲームレコード(単数または複数)にバンドルされるか共に提供され得る。あるいは、プレーヤのプロフィール(単数または複数)は、ゲームレコード(単数または複数)に提供されなくてよいが、その代わりに、ゲームレコードのうち1つをリプレイするときに、プレーヤのプロフィール(単数または複数)が必要に応じて記憶される離れた場所(例えば、ウェブサイト)からアクセスされ得る。
図8A及び
図8Bは、少なくともいくつかの実施形態による、別の例示的なプレーヤのプロフィールを示す。
【0081】
504で示されるように、1以上のプレーヤがゲームレコードまたはレコードを取得してよく、あるいは、別の方法としては1回以上ゲームレコード(単数または複数)をリプレイする権利を取得してよい。一例ではあるが、プレーヤは、クライアントデバイスを介してウェブサイトにアクセスし、ゲームでよく知られているプレーヤによってプレイされるゲームセッションを記録する所望のゲームレコードを選択し、クライアントデバイス(または異なるクライアントデバイス)上のゲームクライアントの実装を介して、1回以上ゲームレコードに記憶された特定のゲームセッションをリプレイする権利を購入するか、または別の方法で取得し得る。ゲームセッションをリプレイする権利は、2以上のプレーヤにゲームのリプレイに参加することを可能にし得ることに留意すべきである。
【0082】
506で示されるように、1以上のプレーヤは、次に取得した権利によって、取得したゲームレコード(単数または複数)から1回以上ゲームセッション(単数または複数)をリプレイし得る。少なくともいくつかの実施形態においては、プレーヤ(単数または複数)は、例えば、
図1Bに図示されているように、オリジナルのゲームセッションの映像を見ているかのように、得られたゲームレコードからゲームセッションのリプレイを閲覧し得る。少なくともいくつかの実施形態においては、例えば、
図1C、
図1D及び
図3に示されているように、ゲームにおけるキャラクタの制御を行い、オリジナルのプレーヤのキャラクタに対抗して(または協力的なゲームで)プレイすることによって、ゲームセッションのリプレイに参加することを選択し得る。少なくともいくつかの実施形態においては、一旦、プレーヤが、取得したゲームレコードからリプレイされるゲームセッションのゲームユニバースに入り対話をすると、ゲームシステムはプレーヤのプロフィール(単数または複数)によるゲームセッションを記録したオリジナルのプレーヤ(単数または複数)のプレイをシミュレートし始める。少なくともいくつかの実施形態においては、プレーヤ(単数または複数)が、キャラクタ(単数または複数)の制御をすることによって取得されたゲームレコードからリプレイされるゲームセッションに入った場合には、新しいタイムラインは、ユニバースでスポーンされ得る。プレーヤ(単数または複数)が、オリジナルのプレーヤのプロフィールによるゲームロジックによって制御されるように、オリジナルのプレーヤ(単数または複数)のキャラクタ(単数または複数)とともに参加してよく、新しいゲームレコードは、オリジナルのゲームレコードからスポーンされてよい。
【0083】
少なくともいくつかの実施形態においては、プレーヤは、取得されたゲームレコードからスポーンされた新しいゲームレコードを記憶、リプレイ及び共有することが可能であり得る。しかしながら、少なくともいくつかの実施形態においては、取得されたゲームレコードからスポーンされた新しいゲームレコードを記憶、リプレイ及び/または共有することは、ゲームシステムによって、またはその他のエンティティによって制限または限定され、オリジナルのゲームレコードを生成し供給したプレーヤの権利を保護し得る。
【0084】
ゲーム環境の実施例
図1Aから
図11を参照して、例えば
図1Aから
図1Dに示されているようなゲームシステム100のような、本明細書に記載されたゲームセッションをリプレイするための方法及びデバイスを実装するゲームシステムの実施形態は、
図12に示されるような、サービスプロバイダのクライアントへのプロバイダネットワーク上の、仮想化リソース(例えば、仮想化コンピューティングリソース、仮想化ストレージリソース、仮想化データベース(DB)リソース等)を提供するサービスプロバイダのコンテキストで実装され得る。仮想化リソースインスタンスは、1つ以上のプロバイダネットワークサービス1510を介してプロビジョニングされてよく、例えば、ゲームプロバイダ1590のクライアントにサービスプロバイダのクライアントをレンタルされ、またはリースされ得る。プロバイダネットワーク1500(例えば、コンピューティングリソース1524)上のリソースインスタンスの少なくとも一部は、多数のオペレーティングシステムをホストコンピュータ上で、すなわち、ホスト上の仮想マシン(VM)として、同時に実行することを可能にするハードウェア仮想化技術により実装され得る。
【0085】
プロバイダネットワーク1500は、サービス1510を経由して、プロバイダネットワーク1500上のクライアントのプライベートネットワークとして、特定のクライアントにプロバイダネットワーク1500の論理的に隔離されたセクションのプロビジョニングを可能にし得る。プロバイダネットワーク1500上のクライアントのリソースインスタンスの少なくとも一部は、クライアントのプライベートネットワークでプロビジョニングされ得る。例えば、
図12においてゲームシステム1520は、1つ以上のサービス1510を介してプロバイダネットワーク1500上でプロビジョニングされるゲームプロバイダ1590のプライベートネットワークとして、またはプライベートネットワークにおいて実装され得る。
【0086】
プロバイダネットワーク1500は、サービス1510を介して、リソースインスタンスの柔軟なプロビジョニングをクライアントに提供してよく、クライアントは、仮想化リソースインスタンスが、需要または使用の変化に対応して、プロバイダネットワーク1500上のクライアント構成に自動的に追加されるか、または除去されることが可能である。それにより、プロバイダネットワーク1500上のクライアントの実装を自動的に測定し、計算及び/または格納の必要性に対処する。例えば、1つ以上の追加のコンピューティングリソース1524は、ゲームシステム1520により実装されるゲームで、ゲームクライアント1580の参加の増加に対応して、自動的にゲームシステム1520に加えられてよく、もし使用が閾値を下回っている場合には、コンピューティングリソース1524は除去されることが可能である。
【0087】
少なくともいくつかの実施形態においては、ゲームプロバイダ1590は、プロバイダネットワーク1500のサービス1510のうちの1つ以上にアクセスしてよく、サービス1510へのアプリケーションプログラミングインタフェース(API)を介して、プロバイダネットワーク1500上のゲームシステム1520を構成し、ゲームシステム1520は、多数の仮想化リソースインスタンス(例えば、コンピューティングリソース1524、ストレージリソース1532、DBリソース1534等)を含む。
【0088】
仮想化サービス1512は、コンピューティングリソース1524をプロビジョニングするための1つ以上のハードウェア仮想化サービス、ストレージリソース1532をプロビジョニングするための1つ以上のストレージ仮想化サービス、及びDBリソース1534をプロビジョニングするための1つ以上のデータベース(DB)を含むが、これらに限定されない。いくつかの実装においては、ゲームプロバイダ1590は、それぞれのAPI経由で、これらの仮想化サービス1512のうち1つ以上にアクセスして、ゲームシステム1520において、それぞれのリソースインスタンスをプロビジョニング及び管理し得る。しかしながら、いくつかの実装においては、ゲームプロバイダ1590は、代わりに別のサービス(例えば、ゲームシステムサービス1514またはストリーミングサービス1516)にAPIサービスを介してアクセスしてよく、その他のサービスは、ゲームプロバイダ1590のために1つ以上の仮想化サービス1512を操作してゲームシステム1520中のリソースインスタンスをプロビジョニングしてよい。
【0089】
サービスプロバイダは、プロバイダネットワーク1500のクライアントに、ゲームシステムサービス(単数または複数)1514を提供し得る。ゲームシステムサービス(単数または複数)1514は、ゲームプロバイダ1590が、プロバイダネットワーク1500上のゲームシステム1520としてネットワークベースのゲームを実装するために活用する1つ以上のサービスを含み得る。上記のように、ゲームシステムサービス(単数または複数)1514は、仮想化サービス1512を活用して、ゲームシステム1520内の様々なリソースをプロビジョニングし得る。
【0090】
いくつかの実施形態では、ゲームシステムサービス(単数または複数)1514は、バックエンドまたはプロバイダネットワーク1500上のサーバ側のゲームコンポーネントを作成、導入及び管理をするためのゲームのバックエンドサービスを含み得る。少なくともいくつかの実施形態においては、ゲームのバックエンドサービスは、クライアントに対し、サーバ側のゲームロジックの導入、スケーリング、負荷分散、監視、バージョン管理並びに障害の検出及びリカバリを管理し得る。少なくともいくつかの実施形態においては、ゲームのバックエンドサービスは、サーバ側のゲームコンポーネントに対し、完全に管理されたバックエンドのコンテナを提供し得る。
【0091】
いくつかの実施形態では、ゲームシステム(単数または複数)1514は、作成、導入及びネットワークベースのゲームを実行するためのゲームエンジンサービスを含み得るが、ゲームロジック/実行1522のコンポーネント及びゲームクライアント1580のコンポーネントを含むがこれらに限定されない。ゲームエンジンサービスは、2D及び/または3Dゲームエンジン用のコードを開発するための2D及び/または3Dのゲームエンジン及び統合開発環境(IDE)を含むが、これらに限定されるものではない。ゲームエンジンサービスは、また、バックエンドのサーバ側のコンポーネントをプロビジョニングし管理するための、ゲームのバックエンドサービスを含むか、活用し得る。ゲームプロバイダ1590は、ゲームシステム1514のうち1つ以上を活用して、オンラインゲームを実装し、ゲームをホストするために、プロバイダネットワーク1500上にゲームシステム1520をプロビジョニングし得る。少なくともいくつかの実施形態においては、ゲームエンジンサービスは、また、ゲームプロバイダ1590によって活用され、様々な種類のクライアントデバイス(例えば、タブレット、スマートフォン、デスクトップ/ノートブックコンピュータ等)上に、様々なオペレーティングシステム(OS)のプラットフォーム用のゲームクライアント1580を開発し構築し得る。
【0092】
サービスプロバイダは、また、プロバイダネットワーク1500のクライアントに、ストリーミングサービス1516を提供し得る。例えば、パーソナルコンピュータ、タブレット及び携帯電話のような、多くの消費者用デバイスは、ゲームのクライアントが実時間で処理及びレンダリングする際にデバイスの機能を制限するハードウェア及び/またはソフトウェアの制限を有する。少なくともいくつかの実施形態においては、ストリーミングサービス1516は、プロバイダネットワーク1500上のゲームシステム1520によって実装される、リソースを大量に消費するゲームの出力がプロバイダネットワーク1500上でレンダリングされ、プロバイダネットワーク1500から、パーソナルコンピュータ、タブレット及び携帯電話のような消費者用デバイスに実装される「シン」ゲームボリュームへとストリーミングされるのを可能にし得る。少なくともいくつかの実施形態においては、各シンゲームクライアントは、クライアントデバイス1750上のストリーミングサービス1516により受信されたデータを受信し、処理するための
図14に示されたストリーミングサービスクライアントインタフェース1722を実装し得る。ストリーミングサービス1516を使用して、ゲームシステム1520は、計算処理ニーズとストレージニーズを処理し、クライアント1580が実装されているデバイスの種類を問わずに拡張することができる。
図14は、少なくともいくつかの実施形態による、ストリーミングサービス1516がレンダリングされたゲーム映像及び音声をシンゲームクライアントに提供するために用いられる、例示的なネットワークベースのゲーム環境を示す。
【0093】
図12に示すように、いくつかの実施形態では、サービスプロバイダは、また、プロバイダネットワーク1500のクライアントに、ストリーミング管理サービス1518を提供し得る。ゲーム開発者は、ゲームシステム1520を実装して、ストリーム管理サービス1518を活用することができます。
図15は、少なくともいくつかの実施形態による、ストリーム管理サービス1518に影響を及ぼすゲーム環境の高レベルの図である。ストリーム管理サービス1518は、ゲーム開発者は、API1818を介してストリーム管理サービス1518の1つ以上の機能を活用するゲームシステム1800を実装し得るアプリケーションプログラミングインタフェース(API)1818を含むツール及びインタフェースを提供し得る。少なくともいくつかの実施形態においては、ストリーム管理サービス1518は、大規模でストリーミングデータの実時間処理のための完全に管理されたサービスである。ゲーム開発者は、APIの1818を介してストリーム管理サービス1518を利用して、実時間で多数のデータソースから1時間毎に大量のデータを収集して処理できる。このように、ゲームロジック/実行1802エンジンに係るゲームセッションを実行するときには、多数のデータソースからの情報を処理し、リアルタイムで実行できるストリーム管理サービスAPI1818によってゲーム開発者が簡単にゲームシステム1800を構築、実装するのを可能にする。データソースは、プロバイダネットワーク及び/またはプロバイダネットワークに外部の光源を含み得る。例えば、プロバイダネットワークのソースは、DBリソース1834、ストレージリソース1832及び/または計算リソースのような、その他のデータソース1836を含む。ストリーム管理サービスAPI1818は、クライアントデバイス(単数または複数)1850上のゲームクライアント(単数または複数)1852と同様に、プロバイダネットワーク上のDBリソース1834及び/またはストレージリソース1832のように、1つ以上のターゲットへのデータ送信(例えば、データストリーム)を可能にしてもよい。
【0094】
図12を参照すると、ゲームプロバイダ1590は、ゲームシステム1520としてオンラインゲームを開発/導入し、1510のうちの1つまたは複数のサービスを利用するゲームシステム1520を構成し、プロビジョニングし得る。1つ以上のコンピューティングリソース1524は、ゲームロジック/実行1522を実装するためにプロビジョニングされ構成され得る。いくつかの実施形態では、
図12に示すように、2つ以上のコンピューティングリソース1524は、ゲームロジック/実行1522を実装するために構成され得る。しかしながら、いくつかの実施形態では、ゲームロジック/実行1522(例えば、2Dまたは3Dゲームエンジンなど)のインスタンスが、1つ以上のコンピューティングリソース1524のインスタンスのそれぞれに実装され得る。例えば、いくつかの実装においては、ストレージリソース(単数または複数)1532に記憶されたゲームプロバイダのゲームエンジンのマシンイメージからスピンアップされる、各コンピューティングリソース1524のインスタンスは、仮想マシンインスタンスであってもよい。
【0095】
ストレージリソース1532及び/またはDBリソース1534は、記憶、アクセス及びゲームデータを管理するために構成され、及びプロビジョニングされ得る。
図1Aから
図11に示されているように、ゲームレコードとプレーヤのプロフィールを含むがこれらに限定されない。ゲームシステムインタフェース(単数または複数)1526は、ゲームクライアント1580にゲームI/Oインタフェースやプロトコルを提供するように構成され得る。少なくともいくつかの実施形態においては、ゲームシステムインタフェース(単数または複数)1526は、以上に記載されたようにストリーミングサービス1516を含み、活用し得る。ゲームクライアント1580は、また、様々な種類のクライアントデバイス(例えば、タブレット、スマートフォン、デスクトップ/ノートブックコンピュータ等)上に、様々なオペレーティングシステム(OS)のプラットフォーム用に開発し構築し得る。ゲームクライアント1580は、
図14に示されるようなシックゲームクライアント及び/または
図13に示されているようなシンのゲームクライアントを含み得る。
【0096】
一旦、ゲームシステム1520が確立されると、プレーヤは、1つ以上のチャネルを通じてゲームプロバイダ1590からゲームクライアント1580を得ることができる(例えば、様々なアプリケーションを取得しダウンロードするためのオンラインサイトのような、ゲームプロバイダ1590のウェブサイトから、または第三者のウェブサイトからゲームクライアントをダウンロードするゲームに限らず、モバイルデバイスに限定されない様々な種類の消費者用デバイスも含むがこれらに限定されない)。1以上のプレーヤは、次に、ゲームシステムインタフェース(単数または複数)1526を介してゲームシステム1520を操作することにより、
図1A及び
図2に示されるようなゲームセッションに参加してよい。ゲームロジック/実行1522は、ゲームユニバースをゲームセッションのために構築、メンテナンス、及び更新し、プレーヤはクライアントデバイス上のゲームクライアント1580を使用してキャラクタを制御することにより、ゲームユニバースにおいて操作する。ゲームシステム1520は、ゲームレコードを作成し、ゲームセッションのためにゲームデータ1530に記憶し、ゲームシステム1520は、セッションにおけるプレーヤのゲームプレイによりプレーヤのプロフィールを更新する。
【0097】
1以上のプレーヤは、次に、ゲームシステムインタフェース(単数または複数)1526を介してゲームシステム1520を操作することにより、
図1Bから
図1D及び
図3に示されるようなゲームセッションに参加してよい。ゲームセッションがリプレイされるのを選択し、ゲームセッションのリプレイを閲覧し、ゲームセッションに進み、キャラクタ(単数または複数)を制御することが望まれる。少なくともいくつかの実施形態においては、ゲームシステム1520は、再生中、キャラクタの制御を行う少なくとも1プレーヤに対応して、新しいタイムライン及び新しいゲームレコードをスポーンする。少なくともいくつかの実施形態においては、例えば、
図4Aまたは
図4Bも示されているように、ゲームシステム1520は、自動的に、以前にプレイしたゲームが記憶されたゲームレコードからリプレイされている1つ以上のプレーヤに通知し得る。
【0098】
少なくともいくつかの実施形態においては、ゲームセッションのゲームレコードは、ゲームシステム1520を使用する1以上のプレーヤによって生成されてよく、ゲームレコードは、次に例えば
図5に示されているように、リプレイのためにその他のプレーヤに提供され得る。非限定実施例として、このゲームレコードは、ゲームのレコードまたは第三者のウェブサイトを生成したゲームプロバイダ1590のウェブサイト、プレーヤ(単数または複数)のウェブサイトを介して、オンラインで供給されてよい。供給されるゲームレコードを取得するプレーヤは、次にゲームシステム1520を使用するゲームセッションをリプレイし得る。プレーヤは、オリジナルのゲームセッションの映像を見ているかのように、ゲームセッションの再生を見てよく、あるいは、別の方法としてはゲームにおけるキャラクタの制御を行い、オリジナルのプレーヤのキャラクタに対抗して(または協力的なゲームで)プレイすることによって、プレーヤ(単数または複数)は、ゲームセッションのリプレイに参加することを選択し得る。少なくともいくつかの実施形態においては、一旦、プレーヤが、取得したゲームレコードからリプレイされるゲームセッションのゲームユニバースに入り操作をすると、ゲームシステムはプレーヤのプロフィールによるゲームセッションを記録したオリジナルのプレーヤのプレイをシミュレートし始める。
【0099】
図13は、少なくともいくつかの実施形態による、シッククライアントを使用する例示的なネットワークベースのゲーム環境を示す。ゲームシステム1600は、ゲームロジック/実行1602のコンポーネント、ゲーム出力からゲーム入力を受信してゲームクライアント1652へと送信するためのフロントエンドゲームシステムインタフェース(単数または複数)1604及びゲームデータ1610(本明細書に記載のゲームレコード及びプレーヤのプロフィールを含み得るがこれらに限定されない)を記憶し検索するためのバックエンドデータインタフェース(単数または複数)1630を含み得る。ゲームロジック/実行1602のコンポーネントは、ゲームセッションのコンテキスト、キャラクタ及び環境を含むゲームユニバースを生成し得る。プレーヤの入力及びゲームユニバースの操作並びにその他のゲーム要素(例えば、スクリプトイベント及び/またはランダムコンポーネント)に基づいて、ゲームセッションは、ゲームロジック/実行1602のコンポーネントによって、タイムラインに沿って進行し、それに応じてゲームユニバースは変更され更新される。
【0100】
クライアントデバイス1650は、シックゲームクライアント1652を埋め込み得る。シックゲームクライアント1652は、2Dまたは3Dレンダリング1606のコンポーネントを実装し得る。ユニバースがタイムラインに沿って進行するにしたがい、2Dまたは3Dのゲームユニバースの完全なレンダリングを実行するゲームロジック/実行1602よりもむしろ、ゲームユニバースのデータは、定期的に、不定期にまたは連続的にゲームシステムインタフェース(単数または複数)1604を介してシックゲームクライアント1652に送信する。クライアントデバイス1650では、レンダリング1606のコンポーネント分は、受信されたゲームユニバースのデータにしたがい、2Dまたは3D表示またはゲームユニバースのビューをレンダリングし、表示し及び更新し得る。
【0101】
図14は、少なくともいくつかの実施形態による、ストリーミングサービスがレンダリングされたゲーム映像及び音声をシンゲームクライアントに提供するために用いられる、例示的なネットワークベースのゲーム環境を示す。ゲームシステム1700は、ゲームロジック/実行1702のコンポーネント、ゲームクライアント1752からゲーム入力を受信するためのフロントエンドゲームシステムインタフェース(単数または複数)1704及びゲームデータ1710(本明細書に記載のゲームレコード及びプレーヤのプロフィールを含み得るがこれらに限定されない)を記憶し検索するためのバックエンドデータインタフェース(単数または複数)1730を含み得る。ゲームシステム1700は、さらに、2Dまたは3Dのレンダリング1706のコンポーネント及びストリーミングサービスインタフェース1720を含み得る。ストリーミングサービスインタフェース1720は、例えば、
図12に示されているように、ストリーミングサービス1516により実装され得る。
図14に戻ると、ゲームロジック/実行1702のコンポーネントは、ゲームセッションのコンテキスト、キャラクタ及び環境を含むゲームユニバースを生成し得る。プレーヤの入力及びゲームユニバースの操作並びにその他のゲーム要素(例えば、スクリプトイベント及び/またはランダムコンポーネント)に基づいて、ゲームセッションは、ゲームロジック/実行1702のコンポーネントによって、タイムラインに沿って進行し、それに応じてゲームユニバースは変更され更新される。
【0102】
図13に示されているようにシックゲームクライアントを実装するかわりに、クライアントデバイス1750は、シックゲームクライアント1752を埋め込み得る。シンゲームクライアント1752は、ストリーミングサービスクライアントインタフェース1722を実装し得る。クライアントデバイス1750上の2Dまたは3Dのゲームユニバースのレンダリングを実行するよりもむしろ、ゲームシステム1700のレンダリング1706のコンポーネントは、ユニバースがタイムラインに沿って進行するにしたがって、2Dもしくは3D表示またはゲームユニバースのビューをレンダリングし得る。ストリーミングサービスインタフェース1720は、ゲームユニバースのレンダリングから映像を生成し、映像及びそれに伴う音声をストリーミングサービスプロトコルによってシンゲームクライアント1752にストリーミングし得る。クライアントデバイス1750では、ストリーミングサービスクライアントインタフェース1722は、ストリーミング・サービス・インタフェース1720からのストリームを受信し、また、シンゲームクライアント1750は、映像をクライアントデバイス1750に表示する。
【0103】
本明細書に記載されたゲームシステムの実施形態は、1つ以上のデバイス(例えば、サーバデバイス)がゲームシステムの機能のほとんどまたはすべてをホストし、ゲームクライアント(「クライアント」)をホストする1つ以上のクライアントデバイスは、例えば、インターネットのような中間ネットワークを介して、ゲームセッションを再生するゲームシステム(「サーバ」)にアクセスするクライアントサーバモデルにより実装され得る。しかしながら、ゲームシステムの実施形態は、例えば、ピアーツーピアーモデルにより、その他のモデルにより実装され得る。
【0104】
図16A及び
図16Bは、少なくともいくつかの実施形態による、例示的なピアーツーピアーのゲーム環境を示す。ピアーツーピアーモデルでは、
図1Aから
図1Dに示されているゲームシステム100のゲーム機能とコンポーネントの少なくとも一部は、プレーヤデバイス1920上に実装される、1以上のゲームのピア1922間に分散され得る。デバイス1920は、デスクトップコンピュータシステム、ラップトップ/ノートブックコンピュータシステム、パッド/タブレット端末、スマートフォンデバイス、ゲームコンソール、携帯型ゲーム機及び装着型ゲームデバイスを含む様々な消費者用デバイスのうち何れかであり得るが、これらに限定されない。装着型ゲームデバイスは、ゲーム用のメガネまたはゴーグル及び手首、腕で装着可能なゲーム用の「腕時計」を含むことができるが、これらに限定されるものではない。ゲームのピア1922は、ピアーツーピアーの関係に参加してゲームセッションを実行してよく、各ゲームのピア1922は、
図1Aから
図1Dに示されているように、例えば、ゲームロジック/実行102、ゲームレコード106、プレーヤ監視108、ゲーム再生110及びプレーヤシミュレーション112のような、ゲームシステム100のゲームの機能及びコンポーネントのうち少なくとも一部を実装し得る。加えて、1つ以上のピアデバイス1920は、ゲームデータ1960を記憶し得る。
【0105】
いくつかの実施形態では、異なるゲームピア1922は、ゲーム機能の異なる部分及びゲームシステムのコンポーネントを実装し得る。例えば、いくつかの実施形態では、ゲームピア1922のうち1つがゲームレコードを実行してよく、一方、別のゲームピア1922は、プレーヤの監視を実行する。
図16Aに示すように、いくつかの実施形態において、ピアーツーピアーモデルに参加している1つ以上のデバイス1920は、ゲームデータ1960のための記憶装置としての役割をし得る。ゲームデータ1960は、本明細書で記載されるように、ゲームレコード及びプレーヤのプロフィールを含むがこれらに限定されない。
図16Bに示すように、いくつかの実施形態において、ゲームデータ1960の少なくとも一部は、例えば、
図12に示されているようなサービスプロバイダネットワークのストレージ仮想化サービスを仕様して、1つ以上のリモートゲームデータストア1980に記憶され得る。
【0106】
例示的システム
少なくともいくつかの実施形態においては、本明細書に記載されるコンピュータベースのゲームにおけるゲームセッションをリプレイするための方法及び装置の一部またはすべてを実装するコンピュータデバイスは、
図17に示されたコンピュータシステム2000のような、1つ以上のコンピュータがアクセス可能な媒体にアクセスすることを含むか、またはアクセスするよう構成された汎用コンピュータシステムを含み得る。図示された実施形態において、コンピュータシステム2000は、入力/出力(I/O)インタフェース2030を介して、システムメモリ2020に接続された1つ以上のプロセッサ2010を含む。コンピュータシステム2000は、さらに、I/Oインタフェース2030に連結されたネットワークインタフェース2040を含む。
【0107】
様々な実施形態では、コンピュータシステム2000は、1つのプロセッサ2010を含む、単一プロセッサシステムまたは、いくつかのプロセッサ2010を含む、マルチプロセッサシステムであり得る(例えば、2、4、8または別の好適な数)。プロセッサ2010は、命令を実行可能な任意の好適なプロセッサであり得る。例えば、様々な実施形態では、プロセッサ2010は、x86、PowerPC、SPARCまたはMIPS ISA、または任意のその他の好適なISAのような、任意の様々な命令セットアーキテクチャを実行する汎用または組込型プロセッサであり得る。マルチプロセッサシステムにおいては、プロセッサ2010のそれぞれは、一般に類似のISAを実装し得るが必ずしも必要ではない。
【0108】
システムメモリ2020は、プロセッサ(単数または複数)2010によってアクセス可能な命令及びデータを格納するよう構成され得る。様々な実施形態では、システムメモリ2020は、スタティックランダムアクセスメモリ(SRAM)、シンクロナスダイミックランダムアクセスメモリ(SDRAM)、不揮発性/フラッシュタイプのメモリまたは任意のその他の種類のメモリの種類を使用して実装され得る。図示した実施形態では、1つ以上の所望の機能を実装する、プログラムの命令及びデータ(例えば、これらの方法、技術及び上述のデータがコンピュータベースのゲームにおけるゲームセッション)は、リプレイするために示され、コード2025及びデータ2026のように、システムメモリ2020内に記憶される。
【0109】
一実施形態では、I/Oインタフェース2030は、ネットワークインタフェース2040またはその他の周辺インタフェースを介することを含む、プロセッサ2010と、システムメモリ2020と、装置内の任意の周辺装置との間のI/Oトラフィックを調節するよう構成され得る。いくつかの実施形態では、I/Oインタフェース2030は、1つのコンポーネント(例えば、システムメモリ2020)からデータ信号を変換するために、任意の必要なプロトコル、タイミングまたはその他のデータ変換を別のコンポーネント(例えば、プロセッサ2010)によって使用するのに適したフォーマットに実行し得る。いくつかの実施形態では、I/Oインタフェース2030は、例えば、周辺構成要素相互接続装置(PCI)バス規格の変形またはユニバーサルシリアルバス(USB)規格のような、様々な種類の周辺のバスを通して取り付けられる装置への支援を含み得る。いくつかの実施形態では、I/Oインタフェース2030の機能は、例えば、ノースブリッジ及びサウスブリッジのように、2つまたはそれ以上の分離したコンポーネントに分かれ得る。また、いくつかの実施形態では、システムメモリ2020へのインタフェースのような、いくつかの、またはすべてのI/Oインタフェース2030の機能は、プロセッサ2010に直接組み込まれ得る。
【0110】
ネットワークインタフェース2040は、例えば、
図1から
図15Bに図示された他のコンピュータシステムまたは装置のような、ネットワークまたはネットワーク2050に取り付けられた、データがコンピューティングデバイス2000とその他の装置2060との間で交換できるように構成され得る。様々な実施形態では、ネットワークインタフェース2040は、例えばイーサネット(登録商標)ネットワークの種類のような、任意の好適な有線または無線の一般的なデータネットワークを介して、通信を支援し得る。さらに、ネットワークインタフェース2040は、ファイバチャネルSANのようなストレージエリアネットワークを介して、または任意のその他の好適な種類のネットワーク及び/またはプロトコルを介して、アナログ音声ネットワークまたはデジタルファイバ通信ネットワークのような、電気通信/電話網を介した通信を支援し得る。
【0111】
いくつかの実施形態では、システムメモリ2020は、コンピュータベースのゲームにおけるゲームセッションをリプレイするための方法及び装置の実施形態を実装するために、
図1から
図15Bのために上記に記載されたように、プログラムの命令及びデータを格納するよう構成された、コンピュータでアクセス可能な媒体の一実施形態であり得る。しかしながら、その他の実施形態では、プログラムの命令及び/またはデータが受信され、送信され、または異なる種類のコンピュータがアクセス可能な媒体に格納され得る。一般に、コンピュータがアクセス可能な媒体は、磁気または光学媒体のような、非一時的記憶媒体またはメモリ媒体を含み得る。例えば、I/Oインタフェース2030を介してコンピュータシステム2000に接続されたディスクまたはDVD/CDである。非一時的コンピュータアクセス可能な記憶媒体は、また、いくつかの実施形態において、システムメモリ2020または別の種類のメモリのように、コンピュータシステム2000中に含まれてよい、RAM(例えば、SDRAM、DDR、SDRAM、RDRAM、SRAM等)、ROM等のような、任意の揮発性または不揮発性媒体を含み得る。さらに、コンピュータがアクセス可能な媒体は、ネットワークインタフェース2040を経由して実装され得るような、ネットワーク及び/または無線接続のような、電気信号、電磁波信号またはデジタル信号のような、通信媒体を経由して伝達される伝送媒体または信号を含み得る。
【0112】
上記の実施形態は、以下の条項の見地からより良く理解され得る。
1.システムは、
ゲームシステムを実装するように構成される1つ以上のコンピューティングデバイスを備え、前記ゲームシステムは、
以前にプレイされたゲームセッションを備えるゲームレコードを記憶し、各ゲームセッションはゲームセッションのタイムラインに沿ってゲームユニバース内で行動する1つ以上のゲームキャラクタを含み、
1つ以上のクライアントデバイスのうち1つから選択入力を受信して、前記選択入力は再生のために記憶されたゲームレコードのうち1つを選択し、
前記選択されたゲームレコードにおいて少なくとも1つのクライアントデバイスに記録される際に、前記ゲームセッションの再生を開始し、
前記1つ以上のクライアントデバイスのうち1つのゲームクライアントインスタンスからの入力を受信し、前記ゲーム入力は前記ゲームユニバース内の前記1つ以上のゲームキャラクタのうち1つによってアクションを起こさせ、かつ、
前記ゲーム入力に対応して、前記新しいゲームセッションのタイムラインに新しいゲームレコードを生成する際に、前記ゲームセッションのタイムラインから新しいゲームセッションのタイムラインをスポーンするように構成される、システム。
【0113】
2.前記選択されたゲームレコードに記録される際に、前記ゲームセッションのタイムラインから新しいゲームセッションのタイムラインを前記スポーンした後に、ゲームプレイは、少なくとも1つのゲームクライアントインスタンスから受信された追加のゲーム入力により、前記新しいゲームセッションのタイムラインに進む、条項1に記載のシステム。
【0114】
3.所与のゲームセッションにおける少なくとも1つのゲームキャラクタは、クライアントデバイス上のゲームクライアントインスタンスにプレーヤの入力によって制御される、条項1に記載のシステム。
【0115】
4.前記ゲームシステムはオンラインゲームを実装し、前記ゲームシステムを実装する前記1つ以上のコンピューティングデバイスはゲームプロバイダネットワーク上のデバイスであり、前記クライアントデバイス上の前記ゲームクライアントインスタンスは中間ネットワークを介して前記ゲームシステムにアクセスする、条項1に記載のシステム。
【0116】
5.前記選択されたゲームレコードにおいて、前記少なくとも1つのクライアントデバイスに記録する際に、前記ゲームセッションを再生し、前記ゲームシステムはさらに、それぞれのクライアントデバイスに表示するために前記中間ネットワークを介して、前記少なくとも1つのゲームクライアントインスタンスに、前記ゲームユニバース及び前記レンダリングされたゲームユニバースのストリーム映像をレンダリングするように構成される、条項4に記載のシステム。
【0117】
6.前記選択されたゲームレコードにおいて、前記少なくとも1つのクライアントデバイスに記録する際に、前記ゲームセッションを再生し、前記ゲームシステムはさらに、前記少なくとも1つのゲームクライアントインスタンスに前記中間ネットワーク経由でゲームユニバースのデータを送信するように構成され、少なくとも1つのゲームクライアントインスタンスは、前記受信されたゲームユニバースデータによって、前記それぞれのクライアントデバイスに前記ゲームユニバースをレンダリングし表示するように構成される、条項4に記載のシステム。
【0118】
7.前記選択されたゲームレコードは、前記ゲームユニバースにおいて複数の異なる観点から記録された前記ゲームセッションの映像を含み、及び、前記選択されたゲームレコードにおいて記録される際の前記ゲームセッションの前記再生で、前記ゲームシステムは前記クライアントデバイスのそれぞれに、前記異なる観点のうち少なくとも2つから前記映像をストリーミングするように構成される、条項1に記載のシステム。
【0119】
8.前記選択されたゲームレコードは、前記ゲームセッション用に、ゲームセッションメタデータを含み、及び、前記選択されたゲームレコードにおいて記録される際の前記ゲームセッションの再生で、前記ゲームシステムは、前記ゲームセッションメタデータから少なくとも2つの前記ゲームユニバースの異なる観点をレンダリングし、前記クライアントデバイスのうちそれぞれに前記異なる観点から映像をストリーミングするように構成される、条項1に記載のシステム。
【0120】
9.前記ゲームシステムはマルチプレーヤゲームを実装し、前記ゲームシステム上のゲームセッションは2つ以上のゲームキャラクタを含み、ゲームセッションにおける所与のゲームキャラクタは、2以上のプレーヤのうち1つに対応し、ゲームセッションにおける、2以上のゲームキャラクタのうち少なくとも1つは、クライアントデバイス上のゲームクライアントインスタンスにそれぞれのプレーヤの入力によって制御される、条項1に記載のシステム。
【0121】
10.前記ゲームシステムを実装する前記1つ以上のコンピューティングデバイスは、前記1つ以上のクライアントデバイスのうち少なくとも1つを含む、条項1に記載のシステム。
【0122】
11.1つ以上のコンピューティングデバイスに実装されたゲームシステムによって、以前にプレイされたゲームセッションの少なくとも一部をリプレイし、
前記リプレイ中の前記ゲームシステムによって、前記ゲームセッションがリプレイされているゲームクライアントから入力を受信し、前記入力は、リプレイされている前記ゲームセッションに含まれる1つ以上のゲームキャラクタのうち1つによってアクションを示し、かつ、
前記入力に対応して、前記以前にプレイされたゲームセッションから新しいゲームセッションをスポーンし、前記新しいゲームセッションのタイムラインは前記以前にプレイされたゲームセッションのタイムラインから分かれること、を含む方法。
【0123】
12.前記以前にプレイされたゲームセッションから新しいゲームセッションをスポーンした後に、ゲームプレイは、少なくとも1つのゲームクライアントから受信された追加のゲーム入力により、前記新しいゲームセッションのタイムラインに進み、前記追加のゲーム入力は、前記新しいゲームセッションに含まれる少なくとも1つのゲームキャラクタによって追加のアクションを示す、条項11に記載の方法。
【0124】
13.所与のゲームセッションは、ゲームセッションのタイムラインに沿ってゲームユニバース内で行動する少なくとも1つのゲームキャラクタを含み、所与のゲームセッションにおける少なくとも1つのゲームキャラクタは、クライアントデバイス上のゲームクライアントインスタンスにプレーヤが入力することによって制御される、条項11に記載の方法。
【0125】
14.前記ゲームシステムは、マルチプレーヤゲームプレイを支持するように構成され、前記以前にプレイされたゲームセッションは2つ以上のゲームキャラクタを含み、ゲームセッションにおける所与のゲームキャラクタは、2以上のプレーヤのうち1つに対応し、前記以前にプレイされたゲームセッションにおける、2以上のゲームキャラクタのうち少なくとも1つは、クライアントデバイス上のゲームクライアントインスタンスにそれぞれのプレーヤの入力によって制御される、条項11に記載の方法。
【0126】
15.前記以前にプレイされたゲームセッションは、以前に記憶されたゲームレコードからリプレイされ、前記方法は、さらに、前記新しいゲームセッションのために新しいゲームレコードを生成し、記憶することを含む、条項11に記載の方法。
【0127】
16.複数の記録されたゲームセッションに対応する複数のゲームレコードを記憶することをさらに含み、前記以前にプレイされたゲームセッションは、複数のゲームレコードのうち選択された1つからリプレイされる、条項11に記載の方法。
【0128】
17.ゲームクライアントに、複数の記憶されたゲームレコードに対応して、以前に記録されたゲームセッションの階層リストを表示することをさらに含み、前記階層リストは、1つ以上のオリジナルのゲームセッションを示し、少なくとも1つのオリジナルのゲームセッションのために、1つ以上の子孫ゲームセッションが前記それぞれのオリジナルゲームセッションからスポーンされる、条項11に記載の方法。
【0129】
18.前記ゲームクライアントからの前記入力が、第1のプレーヤが前記ゲームクライアントを実装するクライアントデバイスを使用してリプレイされる前記ゲームセッションにおける前記それぞれのゲームキャラクタを制御することを示す、条項11に記載の方法。
【0130】
19.さらに、別のゲームクライアントから追加の入力を受信することをさらに含み、前記追加の入力は、第2のプレーヤが、前記別のゲームクライアントを実装するクライアントデバイスを使用する前記新しいゲームセッションにおける別のゲームキャラクタを制御することを示す、条項18に記載の方法。
【0131】
20.別のゲームキャラクタの前記観点から前記新しいゲームセッションにおけるゲームプレイのビューを別のゲームクライアントへストリーミングすることをさらに含み、前記別のゲームクライアントは、前記別のゲームキャラクタを制御しない、条項18に記載の方法。
【0132】
21.前記リプレイは、複数のクライアントデバイス上の複数のゲームクライアントに、ゲームセッションの複数のビューのストリーミングを含み、ビューのうち少なくとも2つは、前記それぞれのクライアントデバイスに関連する異なるゲームキャラクタの観点にそれぞれ対応する、条項11に記載の方法。
【0133】
22.ゲームシステムを実装するための、コンピュータで実行可能なプログラムインストラクションを記憶する、非一時的コンピュータにアクセス可能な記憶媒体であって、
1つ以上のゲームセッションを記録し記憶するゲームレコードであって、それぞれはゲームセッションのタイムラインに沿ってゲームユニバース内で行動する1つ以上のゲームキャラクタを含み、
前記ゲームレコードのうち選択された1つから、1つ以上のゲームクライアントにゲームセッションの少なくとも一部を再生し、
前記ゲームセッションの再生中、前記1つ以上のゲームクライアントのうち1つから入力を受信し、前記入力は、前記ゲームクライアントは再生されている前記ゲームセッションにおける前記1つ以上のゲームキャラクタのうち1つを制御していることを示し、
前記入力に対応して、再生されている前記ゲームセッションから新しいゲームセッションをスポーンし、前記新しいゲームセッションのタイムラインは、前記それぞれのゲームレコードに記録される際に、前記ゲームセッションのタイムラインから分かれるように構成される、を含む方法。
【0134】
23.前記ゲームシステムはさらに、前記新しいゲームセッションのための新しいゲームレコードを生成し、記憶するよう構成される、条項22に記載の非一時的コンピュータでアクセス可能な記憶媒体。
【0135】
24.前記ゲームシステムはさらに、前記スポーンの後に、追加の入力を前記1以上のゲームクライアントのうち別の1つから受信するよう構成され、前記入力は、前記別のゲームクライアントは、前記新しいゲームセッションにおいて別のゲームキャラクタを制御することを示す、条項22に記載の非一時的コンピュータでアクセス可能な記憶媒体。
【0136】
25.前記ゲームシステムは、マルチプレーヤゲームプレイを支持するように構成され、再生されている前記ゲームセッションは、2つ以上のプレーヤのうち異なる1つに対応する2つ以上のゲームキャラクタを含む、条項22に記載の非一時的コンピュータでアクセス可能な記憶媒体。
【0137】
26.前記ゲームセッションにおける前記1つ以上のキャラクタは、1以上のプレーヤのうち異なる1人にそれぞれ対応して再生され、前記ゲームセッションが再生されている前記1つ以上のゲームクライアントは、前記1以上のプレーヤに関連する1つ以上のクライアントデバイス上で実装される、条項22に記載の非一時的コンピュータでアクセス可能な記憶媒体。
【0138】
加えて、上記の実施形態は、以下の条項の見地からより良く理解され得る。
1.システムは、
ゲームシステムを実装するように構成される1つ以上のコンピューティングデバイスを備え、
1以上のオリジナルプレーヤによりプレイされる複数のゲームセッションを含む複数のゲームレコードを記憶し、それぞれのゲームセッションは、前記1つ以上のオリジナルプレーヤによって制御されるゲームユニバース内で行動する1つ以上のゲームキャラクタを含み、
インタフェースを介して、前記複数のその他のプレーヤに複数のゲームセッションを宣伝し、
前記インタフェースによりクライアントデバイスから入力を受信し、前記入力はその他のプレーヤのうち1人により前記複数のゲームセッションのうち1つの選択を示し、
前記入力に対応し、その他のプレーヤによって前記クライアントデバイスから前記複数のゲームレコードのうちそれぞれ1つへのアクセスを提供し、
前記それぞれのゲームレコードから前記選択されたゲームセッションのリプレイを開始する前記クライアントデバイスからの入力を受信し、かつ、
リプレイを開始する前記入力に対応して、1つ以上のクライアントデバイスに前記それぞれのゲームレコードにおいて記録される前記選択されたゲームセッションの再生を始めるよう構成される。
【0139】
2.前記ゲームセッションの再生中に、前記ゲームシステムは、さらに、前記1つ以上のゲームキャラクタの観点から前記1つ以上のクライアントデバイスに前記ゲームセッションのリプレイをストリーミングするように構成される、条項1に記載のシステム。
【0140】
3.ゲームシステムはさらに、前記1つ以上のクライアントデバイスのうち1つからゲーム入力を受信するよう構成され、前記ゲーム入力は、その他のプレーヤのうち1人が再生されている前記ゲームセッションの前記ゲームユニバース内でゲームキャラクタの制御をすることを示す、条項1に記載のシステム。
【0141】
4.前記ゲームシステムはさらに、前記ゲーム入力に応答して、
前記ゲームレコードに記録された前記ゲームセッションから新しいゲームセッションをスポーンし、
前記新しいゲームセッションのタイムラインは、前記ゲームレコードに記録される際に、前記以前にプレイしたゲームセッションのタイムラインから分かれ、かつ、
前記新しいゲームセッションに新しいゲームレコードを生成する、条項3に記載のシステム。
【0142】
5.再生されている前記ゲームセッションの前記ゲームユニバース内のゲームキャラクタの制御を行うその他のプレーヤに対応して、前記ゲームシステムはさらに、前記1つ以上のオリジナルのプレーヤのプレーヤプロフィールにより前記ゲームユニバース内で少なくとも1つのその他のゲームキャラクタのゲームプレイをシミュレートするよう構成され、各プレーヤのプロフィールは前記それぞれのオリジナルのプレーヤの1つ以上のゲームプレイの属性を示す、条項3に記載のシステム。
【0143】
6.前記複数のゲームセッションのうち1つの選択を示す前記入力は、その他のプレーヤによって前記選択されたゲームセッションを購入する入力を含む、条項1に記載のシステム。
【0144】
7.前記それぞれのゲームレコードから前記選択されたゲームセッションのリプレイを開始する前記入力は、前記それぞれのゲームレコードから前記選択されたゲームセッションのリプレイのための手数料の支払いをする入力を含む、条項1に記載のシステム。
【0145】
8.1つ以上のコンピューティングデバイスに実装されたインタフェースを介して、複数のプレーヤに以前にプレイされたゲームセッションを宣伝し、前記複数のゲームセッションは、1以上のオリジナルプレーヤによってプレイされ記録され、それぞれのゲームセッションは、1つ以上のオリジナルプレーヤによって制御されるゲームユニバース内で行動する1つ以上のゲームキャラクタを含み、
前記1つ以上のコンピューティングデバイスによって、前記インタフェースによりクライアントデバイスからの入力を受信し、前記入力は別のプレーヤによって前記複数のゲームセッションのうち1つ以上を選択し、かつ、
前記入力に応答して、その他のプレーヤによって前記選択されたゲームセッションのリプレイのために前記クライアントデバイスから前記複数のゲームレコードのうち1つ以上にそれぞれアクセスすることを含む、方法。
【0146】
9.それぞれのゲームレコードにおいて記録される際に1つ以上のクライアントデバイスに、前記選択されたゲームセッションのうち1つの少なくとも一部をさらに再生することを含む、条項8に記載の方法。
【0147】
10.前記ゲームセッションは、前記インタフェースを介して前記ゲームセッションのリプレイのためにその他のプレーヤが手数料を支払うのに対応して、前記1つ以上のクライアントデバイスに再生する、条項9に記載の方法。
【0148】
11.前記再生は、前記1つ以上のゲームキャラクタの観点から前記1つ以上のクライアントデバイスに前記ゲームセッションのリプレイをストリーミングすることを含む、条項9に記載の方法。
【0149】
12.前記1つ以上のクライアントデバイスのうち1つからゲーム入力を受信することをさらに含み、前記ゲーム入力は、それぞれのプレーヤが再生されている前記ゲームセッションの前記ゲームユニバース内でゲームキャラクタの制御をする、条項9に記載の方法。
【0150】
13.前記ゲーム入力に対応して、前記ゲームレコードに記録される際に、前記ゲームセッションから新しいゲームセッションをスポーンすることをさらに含み、前記新しいゲームセッションのタイムラインは、前記ゲームレコードに記録される際に、前記以前にプレイしたゲームセッションのタイムラインから分かれる、条項12に記載の方法。
【0151】
14.新しいゲームセッションのために新しいゲームレコードを生成することを含む、条項13に記載の方法。
【0152】
15.前記1つ以上のオリジナルのプレーヤのプレーヤプロフィールにより、前記再生の間、前記ゲームユニバース内で少なくとも1つのゲームキャラクタのゲームプレイをシミュレートすることを含み、各プレーヤのプロフィールは前記それぞれのオリジナルのプレーヤの1つ以上のゲームプレイの属性を示す、条項9に記載の方法。
【0153】
16.前記複数のゲームセッションのうち1つ以上を選択する前記入力は、リプレイのために前記選択された1つ以上のゲームセッションを購入する入力を含む、条項8に記載の方法。
【0154】
17.前記インタフェースを介して前記複数のゲームセッションを前記宣伝することは、手数料と引き換えにリプレイのために前記複数のゲームセッションを宣伝することを含む、条項8に記載の方法。
【0155】
18.ゲームシステムを実装するための、コンピュータで実行可能なプログラムインストラクションを記憶する、非一時的コンピュータにアクセス可能な記憶媒体であって、
1つ以上のオリジナルのプレーヤによってプレイされるときに1つ以上のゲームセッションのためにゲームレコードを記録し記憶し、それぞれのゲームセッションは、前記1つ以上のオリジナルプレーヤによって制御されるゲームユニバース内で行動する1つ以上のゲームキャラクタを含み、
前記インタフェースを介して前記ゲームセッションを宣伝し、
前記インタフェースによりクライアントデバイスから入力を受信し、前記入力は別のプレーヤにより前記複数のゲームセッションのうち1つを選択し、かつ、
前記入力に応答して、その他のプレーヤによって選択されたゲームセッションのリプレイのために、前記クライアントデバイスにそれぞれの前記ゲームレコードのうち1つを提供するよう構成される。
【0156】
19.条項18に記載の、非一時的コンピュータでアクセス可能な記憶媒体であって、前記ゲームシステムはさらに、
前記それぞれのゲームレコードから前記選択されたゲームセッションのリプレイを開始する前記クライアントデバイスからの入力を受信し、かつ、
リプレイを開始する前記入力に対応して、1つ以上のクライアントデバイスに前記それぞれのゲームレコードに記録された前記ゲームセッションの再生を開始するよう構成される。
【0157】
20.前記ゲームシステムはさらに、
前記1つ以上のクライアントデバイスのうち1つからゲーム入力を受信し、前記ゲーム入力は、その他のプレーヤのうち1人が再生されている前記ゲームセッションの前記ゲームユニバース内でゲームキャラクタの制御をし、かつ、
前記ゲーム入力に対応して、前記ゲームレコードにおいて記録され、前記新しいゲームセッションに新しいゲームレコードを生成する際に、前記ゲームセッションから新しいゲームセッションをスポーンするように構成される、条項19に記載の、非一時的コンピュータでアクセス可能な記憶媒体。
【0158】
21.前記ゲームシステムはさらに、前記再生中に、前記1つ以上のオリジナルのプレーヤのプレーヤプロフィールにより前記ゲームユニバース内で少なくとも1つのゲームキャラクタのゲームプレイをシミュレートするよう構成され、各プレーヤのプロフィールは前記それぞれのオリジナルのプレーヤの1つ以上のゲームプレイの属性を示す、条項19に記載の、非一時的コンピュータでアクセス可能な記憶媒体。
【0159】
22.前記複数のゲームセッションのうち1つを前記選択することは、前記それぞれのゲームレコードを購入する入力を含む、条項18に記載の、非一時的コンピュータでアクセス可能な記憶媒体。
【0160】
加えて、上記の実施形態は、以下の条項の見地からより良く理解され得る。
1.システムであって、
ゲームシステムを実装するように構成される1つ以上のコンピューティングデバイスを備え、
ゲームユニバース内で行動する1つ以上のゲームキャラクタを含むゲームセッションを備えるゲームレコードを記憶し、前記ゲームキャラクタは複数のプレーヤのうち1つと関連し、
前記記憶されたゲームレコードにおいて少なくとも1つのクライアントデバイスに記録する際に、前記ゲームセッションの再生を開始し、かつ、
再生されている前記ゲームセッションに含まれる前記1つ以上のゲームキャラクタのうち少なくとも1つに、1つ以上の通信チャネルを介して前記それぞれのゲームキャラクタに関連するプレーヤに通知を送信し、前記通知は、前記ゲームセッションが再生されている前記プレーヤのゲームキャラクタを含むことを前記プレーヤに示すことを含む、システム。
【0161】
2.前記ゲームシステムはさらに、
1つ以上のクライアントデバイスのうち1つにゲームクライアントからの入力を受信し、前記入力は、プレーヤが再生されている前記ゲームセッションの前記ゲームユニバース内でそれぞれのゲームキャラクタの制御をし、かつ、
前記入力に対応して、前記ゲームレコードにおいて記録され、新しいゲームセッションのタイムラインに新しいゲームレコードを生成する際に、前記ゲームセッションから新しいゲームセッションのタイムラインをスポーンするように構成される、条項1に記載のシステム。
【0162】
3.前記ゲームシステムは前記スポーンの後に前記通知を送信するよう構成される、条項2に記載のシステム。
【0163】
4.前記スポーンの後に、前記ゲームシステムはさらに、前記ゲームキャラクタに関連する前記プレーヤのプレーヤプロフィールにより、前記ゲームユニバースにおいて少なくとも1つのゲームキャラクタのゲームプレイをシミュレートするよう構成され、各プレーヤのプロフィールは、前記それぞれのプレーヤの1つ以上のゲームプレイの属性を示す、条項2に記載のシステム。
【0164】
5.前記スポーンの後に、前記ゲームシステムはさらに、別のゲームクライアントから入力を受信するよう構成され、前記入力は、第2のプレーヤが前記ゲームシステムによってシミュレートされるゲームキャラクタの制御をする、条項4に記載のシステム。
【0165】
6.前記ゲームセッションの前記再生中、前記ゲームシステムはさらに、ゲームキャラクタの前記観点から、前記ゲームキャラクタに関連するプレーヤによって見るために、ゲームユニバースのビューをストリーミングするよう構成され、プレーヤは再生中、ゲームキャラクタの制御を行わない、条項1に記載のシステム。
【0166】
7.前記ゲームシステムはさらに、
前記複数のプレーヤのためにプレーヤのプロフィールを維持し、各プレーヤのプロフィールは、前記それぞれのプレーヤの1つ以上のゲームプレイの属性を示し、前記所与のゲームセッションの間、前記それぞれのプレーヤのゲームプレイにより、所与のゲームセッションに含まれるプレーヤにプレーヤのプロフィールが更新され、
前記ゲームセッションがプレイされるときに、ゲームセッションに含まれる各プレーヤのために前記プレーヤのプロフィールのスナップショットをキャプチャし、前記ゲームセッションが記録される前記ゲームレコードに前記プレーヤのプロフィールの前記スナップショットを記憶し、かつ、
前記所与のゲームレコードに記憶されたそれぞれのプレーヤのプロフィールのスナップショットにより、所与のゲームレコードからゲームセッションの再生中に前記ゲームユニバースにおいて少なくとも1つのゲームキャラクタのゲームプレイをシミュレートする、条項1に記載のシステム。
【0167】
8.1つ以上のコンピューティングデバイス上に実装されるゲームシステムによって、ゲームクライアントに以前にプレイされたゲームセッションの少なくとも一部を再生し、前記ゲームセッションは、ゲームユニバース内で行動する1つ以上のゲームキャラクタを含み、前記ゲームキャラクタは複数のプレーヤのうち1つと関連し、
1つ以上の通信チャネルを介して、前記ゲームセッションに含まれる1つ以上のゲームキャラクタに関連する1つ以上のプレーヤに通知を送信し、前記通知は前記ゲームキャラクタを含む前記以前にプレイされたゲームセッションがリプレイされていることを示し、かつ、
前記ゲームシステムによって、前記1以上のプレーヤのうち1人に関連するゲームクライアントからの入力を受信し、前記入力は前記それぞれのプレーヤが前記ゲームセッションの前記リプレイに参加していることを示すことを含む方法。
【0168】
9.前記入力は、前記それぞれのプレーヤが再生されている前記ゲームセッションの前記ゲームユニバース内でゲームキャラクタの制御をすることを示し、前記方法は、さらに、前記入力に対応して、前記以前にプレイされたゲームセッションから新しいゲームセッションをスポーンし、前記新しいゲームセッションのタイムラインは前記以前にプレイされたゲームセッションのタイムラインから分かれること、を含む条項8に記載の方法。
【0169】
10.前記スポーン、シミュレートの後に、前記ゲームシステムによって、前記ゲームキャラクタに関連する前記プレーヤのプレーヤプロフィールにより、前記ゲームユニバースにおいて少なくとも1つのゲームキャラクタのゲームプレイを含み、各プレーヤのプロフィールは、それぞれのプレーヤの1つ以上のゲームプレイの属性を示す、条項8に記載の方法。
【0170】
11.前記入力に対応して、前記ゲームキャラクタのうち1つの前記観点から、前記それぞれのプレーヤによって見るために、前記ゲームユニバースのビューをゲームクライアントにストリーミングする、条項8に記載の方法。
【0171】
12.リプレイされている前記ゲームセッションにおけるゲームキャラクタに関連するプレーヤが通知されるべきであることをクライアントデバイスへの入力に対応して、前記通知を生成することを含む、条項8に記載の方法。
【0172】
13.前記以前にプレイされたゲームセッションの前記リプレイを開始するクライアントデバイスへの入力に対応して前記通知を自動的に生成することをさらに含む、条項8に記載の方法。
【0173】
14.複数の記録されたゲームセッションに対応する複数のゲームレコードを記憶することをさらに含み、前記以前にプレイされたゲームセッションは、前記複数のゲームレコードのうち選択された1つからリプレイされる、条項8に記載の方法。
【0174】
15.前記ゲームシステムによって、前記複数のプレーヤのためにプレーヤのプロフィールを維持することを含み、各プレーヤのプロフィールは、前記それぞれのプレーヤの1つ以上のゲームプレイの属性を示し、所与のゲームセッションの間、前記それぞれのプレーヤのゲームプレイにより、前記所与のゲームセッションに含まれるプレーヤに前記プレーヤのプロフィールが更新される、条項8に記載の方法。
【0175】
16.前記ゲームセッションがプレイされているときに、ゲームセッションに含まれる各プレーヤに対し前記プレーヤのプロフィールのスナップショットをキャプチャし、前記ゲームセッションのレコードを備える前記プレーヤのプロフィールの前記スナップショットを記憶することを含む、条項15に記載の方法。
【0176】
17.前記以前にプレイされたゲームセッションのレコードに記憶された前記プレーヤのプロフィールのそれぞれのスナップショットにより、前記以前にプレイしたゲームセッションの前記リプレイ中に少なくとも1つのゲームキャラクタのゲームプレイをシミュレートすることをさらに含む、条項16に記載の方法。
【0177】
18.ゲームシステムを実装するための、コンピュータで実行可能なプログラムインストラクションを記憶する、非一時的コンピュータにアクセス可能な記憶媒体であって、
1つ以上のゲームセッションを備えるゲームレコードを記憶し、それぞれはゲームセッションのタイムラインに沿ってゲームユニバース内で行動する1つ以上のゲームキャラクタを含み、
前記ゲームレコードのうち選択された1つからゲームセッションの少なくとも部分で再生され、
1つ以上の通信チャネルを介して、前記ゲームセッションに含まれる前記1つ以上のゲームキャラクタに関連する1つ以上のプレーヤに通知を送信し、前記通知は前記ゲームキャラクタを含む前記ゲームセッションが再生されていることを示し、かつ、
通知された前記1以上のプレーヤのうち1人に関連するゲームクライアントからの入力を受信し、前記入力はそれぞれのプレーヤが前記ゲームセッションの再生に参加していることを示すように構成される記憶媒体。
【0178】
19.前記ゲームシステムはさらに、前記複数のプレーヤのためにプレーヤのプロフィールを維持し、
各プレーヤのプロフィールは、前記それぞれのプレーヤの1つ以上のゲームプレイの属性を示し、前記所与のゲームセッションの間、前記それぞれのプレーヤのゲームプレイにより、所与のゲームセッションに含まれるプレーヤに前記プレーヤのプロフィールが更新され、ゲームキャラクタに関連する前記プレーヤの前記プレーヤプロフィールにより、再生されている前記ゲームセッションにおける少なくとも1つのゲームキャラクタのゲームプレイをシミュレートするよう構成される、条項18に記載の、非一時的コンピュータでアクセス可能な記憶媒体。
【0179】
20.前記入力は、前記それぞれのプレーヤが再生されている前記ゲームセッションの前記ゲームユニバース内でゲームキャラクタの制御をすることを示し、前記ゲームシステムはさらに、前記入力に応答して、
再生されているゲームセッションから新しいゲームセッションをスポーンし、前記新しいゲームセッションのタイムラインは、前記それぞれのゲームレコードに記録される際に、前記ゲームセッションのタイムラインから分かれ、かつ、
前記新しいゲームセッションに新しいゲームレコードを生成し記憶する、条項18に記載の、非一時的コンピュータでアクセス可能な記憶媒体。
【0180】
21.前記ゲームセッションの再生中、前記ゲームシステムはさらに、前記ゲームセッションの複数のビューを複数のクライアントデバイス上の複数のゲームクライアントにストリーミングするよう構成され、前記ビューのうち少なくとも2つは、前記それぞれのクライアントデバイスに関連する異なるゲームキャラクタの観点に対応する、条項18に記載の、非一時的コンピュータでアクセス可能な記憶媒体。
【0181】
結論
様々な実施形態は、さらに、コンピュータがアクセス可能な媒体についての前述の記載により実装される、受信し、送信し、または命令及び/またはデータを格納することを含み得る。一般に、コンピュータがアクセス可能な媒体は、磁気媒体または光媒体のような、記憶媒体またはメモリ媒体を含み得る。ネットワーク及び/または無線接続のような、通信媒体を経由して伝達される、伝送媒体または電気信号、電磁波信号またはデジタル信号のような信号と同様に、例えば、RAM(例えば、SDRAM、DDR、RDRAM、SRAM等),ROM等のような、ディスクまたはDVD/CD−ROM、揮発性媒体または不揮発性媒体が含み得る。
【0182】
図面に示され、本明細書で記載された、様々な方法は、例示的な方法の実施形態を表す。この方法はソフトウェア、ハードウェアまたはこれらの組み合わせにおいて実施され得る。方法の順序は変更されてよく、様々な要素が追加され、順序が変更され、組み合わされ、省略され、修正等され得る。
【0183】
様々な修正及び変更が、本開示の利益を有する当業者には明白であるため、成され得る。すべてのこのような修正及び変更を受け入れることを目的としており、したがって、上記の記載は制限を意味するよりもむしろ、例証としてみなされるべきである。