(57)【要約】      （修正有）【課題】電子ゲームにおいて表示されたゲームオブジェクトにおける破壊の詳細の動的なレベルを提供することが可能な方法を提供する。【解決手段】クライアント装置はパフォーマンスデータに基づいてゲームオブジェクトの破壊の詳細レベルを決定する。破壊の詳細レベルは、破壊すべきゲームオブジェクトについての破片４２０の数及び構成に対応している。クライアント装置は、決定された破壊の詳細レベルに基づいてゲームオブジェクトのグラフィックデータを引き出し、引き出されたグラフィックデータを用いて、ゲームプレイセッションでのゲームオブジェクトの破壊をレンダリングする。【選択図】図４Ａ
2020110596.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置で、ゲームプレイセッションにおけるゲームオブジェクトの破壊に関する情報を受け付け、 
該クライアント装置で、パフォーマンスデータに基づいて前記ゲームオブジェクトの破壊の詳細レベル を決定し、前記破壊の詳細レベルは、破壊すべき前記ゲームオブジェクトについての破片の数及び構成に対応しており、
前記クライアント装置で、前記決定された破壊の詳細レベルに基づいて前記ゲームオブジェクトのグラフィックデータを引き出し、
前記クライアント装置で、前記引き出されたグラフィックデータを用いて、前記ゲームプレイセッションでの前記ゲームオブジェクトの破壊をレンダリングする、
ことから構成される方法。
【請求項２】
請求項１記載の方法において、前記破壊の詳細レベルは、二つ以上の破壊の詳細レベルのうちの一つであり、破壊の詳細レベルのそれぞれは、破壊されるゲームオブジェクトの破片について、異なる数と構成を規定していることを特徴とする。
【請求項３】
請求項１記載の方法において、前記決定された破壊の詳細るレベルに基づいて前記ゲームオブジェクトのグラフィックデータを引き出すことは、
前記クライアント装置で、各ゲームオブジェクトについて、前記決定された破壊の詳細レベルに対応した前記ゲームオブジェクトの破片セットを決定し、
前記クライアント装置で、該決定された破片セットのグラフィックデータを引き出すことからなり、
ここで各ゲームオブジェクトは、二つ以上の破片セットと関連しており、各ゲームオブジェクトの各破片セットは、破壊の詳細における異なるレベルと対応しており、前記ゲームオブジェクトの他の破片セットとは破片の数又は構成が異なっている、ことを特徴とする。
【請求項４】
請求項１記載の方法において、前記パフォーマンスデータは、フレームレート、ゲームプレイセッションでのアクティブな破片の数及び前記クライアント装置のメモリにロードされた破片総数のうち、少なくとも一つから構成されることを特徴とする。
【請求項５】
請求項１記載の方法において、パフォーマンスデータに基づいて前記ゲームオブジェクトの破壊の詳細レベルを決定することは、
クライアント装置により、前記パフォーマンスデータから引き出されるスコアを生成し、
クライアント装置により、破壊の詳細における異なるレベルにそれぞれ対応している一つ以上の閾値と前記スコアを比較して、破壊の詳細レベルを決定することを特徴とする。
【請求項６】
請求項５の方法において、前記一つ以上の閾値は、前記クライアント装置のパフォーマンス能力に基づいていることを特徴とする。
【請求項７】
請求項１記載の方法において、
前記クライアント装置が、少なくとも一つの最近の予定されたゲーム動作に基づいた該クライアント装置のパフォーマンスを見積もる予測モデルを持っており、
該クライアント装置により、前記予測モデルに基づいて該クライアント装置のパフォーマンスを見積もり、
前記クライアント装置の見積もられたパフォーマンスに基づいて、前記ゲームオブジェクトの破壊の詳細レベルを決定することを特徴とする。
【請求項８】
プロセッサに動作を行わせるために、該プロセッサによって実行可能なコンピュータプログラム指令を格納するコンピュータ可読記録媒体であって、          前記動作は、
クライアント装置で、ゲームプレイセッション内でのゲームオブジェクトの破壊に関する情報を受け取り、
該クライアント装置で、パフォーマンスデータに基づいて前記ゲームオブジェクトの破壊の詳細レベルを決定し、前記破壊の詳細レベルは、破壊すべき前記ゲームオブジェクトについての破片の数及び構成に対応しており、
前記クライアント装置で、前記決定された破壊の詳細レベルに基づいて前記ゲームオブジェクトのグラフィックデータを引き出し、
前記クライアント装置で、前記引き出されたグラフィックデータを用いて、前記ゲームプレイセッションでの前記ゲームオブジェクトの破壊をレンダリングする、
ことからなる。
【請求項９】
請求項８記載のコンピュータ可読記録媒体であって、前記破壊の詳細レベルは、二つ以上の破壊の詳細レベルのうちの一つであり、破壊の詳細レベルのそれぞれは、破壊されるゲームオブジェクトの破片について、異なる数と構成を規定していることを特徴とする。
【請求項１０】
請求項８記載のコンピュータ可読記録媒体であって、前記決定された破壊の詳細レベルに基づいて前記ゲームオブジェクトのグラフィックデータを引き出すことは、
前記クライアント装置で、各ゲームオブジェクトについて、前記決定された破壊の詳細レベルに対応した前記ゲームオブジェクトの破片セットを決定し、
前記クライアント装置で、該決定された破片セットのグラフィックデータを引き出すことからなり、
ここで各ゲームオブジェクトは、二つ以上の破片セットと関連しており、各ゲームオブジェクトの各破片セットは、破壊の詳細における異なるレベルと対応しており、前記ゲームオブジェクトの他の破片セットとは破片の数又は構成が異なっている、ことを特徴とする。
【請求項１１】
請求項８記載のコンピュータ可読記録媒体であって、前記パフォーマンスデータは、フレームレート、ゲームプレイセッションでのアクティブな破片の数及び前記クライアント装置のメモリにロードされた破片総数のうち、少なくとも一つから構成されることを特徴とする。
【請求項１２】
請求項８記載のコンピュータ可読記録媒体であって、パフォーマンスデータに基づいて前記ゲームオブジェクトの破壊の詳細レベルを決定することは、
クライアント装置により、前記パフォーマンスデータから引き出されるスコアを生成し、
クライアント装置により、破壊の詳細における異なるレベルにそれぞれ対応している一つ以上の閾値と前記スコアを比較して、破壊の詳細レベルを決定することを特徴とする。
【請求項１３】
請求項１２記載のコンピュータ可読記録媒体であって、前記一つ以上の閾値は、前記クライアント装置のパフォーマンス能力に基づいていることを特徴とする。
【請求項１４】
請求項８記載のコンピュータ可読記録媒体であって、前記動作は、
前記クライアント装置に、少なくとも一つの最近の予定されたゲーム動作に基づいた該クライアント装置のパフォーマンスを見積もる予測モデルを持たせ、
該クライアント装置により、前記予測モデルに基づいて該クライアント装置のパフォーマンスを見積もり、
前記クライアント装置の見積もられたパフォーマンスに基づいて、前記ゲームオブジェクトの破壊の詳細レベルを決定することを特徴とする。
【請求項１５】
コンピュータプログラム指令を実行することの出来るプロセッサ、及び、
プロセッサに動作を行わせるために、該プロセッサによって実行可能なコンピュータプログラム指令を格納するコンピュータ可読記録媒体を有し、前記動作は、
クライアント装置で、ゲームプレイセッション内でのゲームオブジェクトの破壊に関する情報を受け取り、
該クライアント装置で、パフォーマンスデータに基づいて前記ゲームオブジェクトの破壊の詳細レベルを決定し、前記破壊の詳細レベルは、破壊すべき前記ゲームオブジェクトについての破片の数及び構成に対応しており、
前記クライアント装置で、前記決定された破壊の詳細レベルに基づいて前記ゲームオブジェクトのグラフィックデータを引き出し、
前記クライアント装置で、前記引き出されたグラフィックデータを用いて、前記ゲームプレイセッションでの前記ゲームオブジェクトの破壊をレンダリングする、
ことからなる、
システム。
【請求項１６】
請求項１５記載のシステムにおいて、前記破壊の詳細レベルは、二つ以上の破壊の詳細レベルのうちの一つであり、破壊の詳細レベルのそれぞれは、破壊されるゲームオブジェクトの破片について、異なる数と構成を規定していることを特徴とする。
【請求項１７】
請求項１５記載のシステムにおいて、前記決定された破壊の詳細レベルに基づいて前記ゲームオブジェクトのグラフィックデータを引き出すことは、
前記クライアント装置で、各ゲームオブジェクトについて、前記決定された破壊の詳細レベルに対応した前記ゲームオブジェクトの破片セットを決定し、
前記クライアント装置で、該決定された破片セットのグラフィックデータを引き出すことからなり、
ここで各ゲームオブジェクトは、二つ以上の破片セットと関連しており、各ゲームオブジェクトの各破片セットは、破壊の詳細における異なるレベルと対応しており、前記ゲームオブジェクトの他の破片セットとは破片の数又は構成が異なっている、ことを特徴とする。
【請求項１８】
請求項１５記載のシステムにおいて、パフォーマンスデータに基づいて前記ゲームオブジェクトの破壊の詳細レベルを決定することは、
クライアント装置により、前記パフォーマンスデータから引き出されるスコアを生成し、
クライアント装置により、破壊の詳細における異なるレベルにそれぞれ対応している一つ以上の閾値と前記スコアを比較して、破壊の詳細レベルを決定することを特徴とする。
【請求項１９】
請求項１８記載のシステムにおいて、前記一つ以上の閾値は、前記クライアント装置のパフォーマンス能力に基づいていることを特徴とする。
【請求項２０】
請求項１５記載のシステムにおいて、前記動作は、更に、
前記クライアント装置に、少なくとも一つの最近の予定されたゲーム動作に基づいた該クライアント装置のパフォーマンスを見積もる予測モデルを持たせ、
該クライアント装置により、前記予測モデルに基づいて該クライアント装置のパフォーマンスを見積もり、
前記クライアント装置の見積もられたパフォーマンスに基づいて、前記ゲームオブジェクトの破壊の詳細レベルを決定することを特徴とする。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、全体的には電子ゲームに関わり、特に電子ゲームセションにおけるゲームオブジェクトのレンダリングに関する。
【０００２】
多くの電子ゲームは、ゲームプレイのインスタンス（insatnce）である、 ゲームプレイセッションを提供する。ゲームプレイセッション中には、地形の特徴を表したグラフィカルエレメントなど、多くのゲームオブジェクトがレンダリングされる。しばしば、ゲームプレイセッション中に、ゲームプレイの過程でゲームオブジェクトが「破壊」されるが、それはガラス面の破壊など、ゲームプレイセッションでの一つ以上のゲームオブジェクトの破壊をレンダリングすることを含む。ゲームオブジェクトの破壊のレンダリングは、ランダムアクセスメモリやプロセッササイクルなどの多大な演算リソースを消費する。時としてゲームプレイ中の破壊は、ゲームプレイセッションに、電子ゲームを実行しているクライアント装置がその時点で供給できる以上の演算リソースの消費を求める。これは、低フレームレート、ラグ又は電子ゲームのクラッシュなど、多くの問題を生じさせる。こうした問題は、クライアント装置で電子ゲームをプレイするユーザにとって好ましくないゲームプレイ経験となる。
【発明の概要】
【０００３】
実施例は、電子ゲームにおいて表示されたゲームオブジェクトにおける破壊の詳細の動的なレベルを提供することに関する。クライアント装置は、ゲームオブジェクトの破壊についての情報を受け取る。クライアント装置は、パフォーマンスデータに基づいてゲームオブジェクトの破壊の詳細レベルを決定する。破壊の詳細レベルは、破壊すべきゲームオブジェクトについての破片の数又は構成と対応する。クライアント装置は、決定された破壊の詳細レベルに基づいてゲームオブジェクトのグラフィックデータを引き出す。クライアント装置は、引き出されたグラフィックデータを使用してゲームオブジェクトの破壊をレンダリングする。
【０００４】
いくつかの実施例では、破壊の詳細レベルは、二つ以上の破壊の詳細レベルから選択されており、破壊の詳細レベルのそれぞれは、破壊されるゲームオブジェクトの破片について、異なる数と構成を規定している。
【０００５】
いくつかの実施例では、破壊の詳細における決定されたレベルに基づいたゲームオブジェクトのグラフィックデータを引き出すことは、クライアント装置が各ゲームオブジェクトについて、決定された破壊の詳細レベルに対応したゲームオブジェクトの破片セットを決定し、該決定された破片セットのグラフィックデータを引き出すことを含む。各ゲームオブジェクトは、二つ以上の破片セットと関連しており、各ゲームオブジェクトの各破片セットは、破壊の詳細における異なるレベルと対応しており、前記ゲームオブジェクトの他の破片セットとは破片の数又は構成が異なっている。
【０００６】
いくつかの実施例では、パフォーマンスデータは、フレームレート、ゲームプレイセッションでのアクティブな破片の数及びクライアント装置のメモリにロードされた破片総数のうち、少なくとも一つから構成される。
【０００７】
いくつかの実施例では、パフォーマンスデータに基づいてゲームオブジェクトの破壊の詳細レベルを決定することは、クライアント装置により、前記パフォーマンスデータから引き出されるスコアを生成し、
クライアント装置により、一つ以上の閾値とスコアを比較して、破壊の詳細レベルを決定することを含む。各閾値は、破壊の詳細における異なるレベルに対応している。いくつかの実施例では、一つ以上の閾値は、クライアント装置のパフォーマンス能力に基づいている。
【０００８】
いくつかの実施例では、クライアント装置 が、少なくとも一つの最近の予定されたゲーム動作に基づいた該クライアント装置のパフォーマンスを見積もる予測モデルを持っている。クライアント装置により、予測モデルに基づいて該クライアント装置のパフォーマンスを見積もり、クライアント装置の見積もられたパフォーマンスに基づいて、ゲームオブジェクトの破壊の詳細レベルを決定する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例に基づく、クライアント装置のブロック図である。
【図２】図２は、実施例に基づく、図１のクライアント装置のメモリ内のソフトウェアモジュールのブロック図。
【図３】図３は、実施例に基づく、図１のクライアント装置のメモリ内のソフトウェアモジュールで使用されるグラフィックデータのブロック図。
【図４Ａ】図４Ａは、 実施例に基づく、同じゲームオブジェクトの破壊の詳細の異なるレベルでの破片を示す図。
【図４Ｂ】図４Ｂは、実施例に基づく、同じゲームオブジェクトの破壊の詳細の異なるレベルでの破片を示す図。
【図４Ｃ】図４Ｃは、実施例に基づく、同じゲームオブジェクトの破壊の詳細の異なるレベルでの破片を示す図。
【図５】図５は、実施例に基づく、ゲームオブジェクトにおける破壊の詳細の、動的なレベルを提供するプロセスを示すフローチャート。
【００１０】
図面は、例示目的で本発明を開示する多様な実施例を描いている。当業者であるならば、そこに示された構造や方法の互換的な実施例を、ここ述べられた開示の、利益や原則から離れること無く、使用することが出来ることを、以下の記述から容易に思いつくことが出来るものである。
【発明を実施するための形態】
【００１１】
以下の実施例の記述の中で、より徹底的な理解のために多くの詳細な説明がなされている。しかし、実施例は、一つ以上のこれらの特定の詳細に関わりなく、実行されてもよい。他の例では、周知の事項は、説明の複雑化を避けるために、その詳細を述べることはしていない。
【００１２】
実施例は、ゲームプレイセッションにおいてゲームオブジェクトの破壊を表示することに関する。ゲームプレイセッションはクライアント装置における電子ゲームのゲームプレイのインスタンス 実際にプレイをする場面）である。ユーザは、ゲームプレイセッションにクライアント装置を介して参加してもよい。例えば、クライアント装置は、ユーザからゲームプレイセッション内で、 ゲームオブジェクトを破壊するなどの、ゲームプレイアクションを示す入力を受け付ける 。ゲームオブジェクトの破壊は、受け取ったユーザ入力以外の要素で開始されてもよい。例えば、ゲームオブジェクトは電子ゲームによって制御されるノンプレイヤキャラクタ（ＮＰＣ）によるアクションや、電子ゲームのシナリオに基づくイベントに基づいて破壊されてもよい。
【００１３】
ゲームオブジェクトは、表示及び／又はインタラクションに関してゲームセッションに含まれるデータオブジェクトである。例えば、一つのゲームオブジェクトはビルディングを表し、別のゲームオブジェクトは木を表してもよい。 レンダリングされるゲームオブジェクトは、ポリゴンメッシュを処理することでレンダリングしてもよい。
【００１４】
ゲームオブジェクトは、ゲームオブジェクトが破壊可能か否かを示す、「破壊性」特性を有してもよい。このゲームオブジェクトの「破壊性」は、二値で表示してよもよい（例えば、“０”は、破壊不可であり、”１”は、破壊可能を示す）。破壊可能な特性を持ったゲームオブジェクトは、該ゲームオブジェクトを有するゲームプレイセッション内で該ゲームオブジェクトに対して破壊動作がなされると、破壊される。破壊不可の特性を持ったゲームオブジェクトは、該ゲームオブジェクトを有するゲームプレイセッション内で該ゲームオブジェクトに対して破壊動作がなされても、破壊されない。破壊可能なゲームオブジェクトは、該ゲームオブジェクト用の一つ以上の破壊の詳細レベルと、二者択一的又は追加的に関連付けられている。即ち、ゲームオブジェクトの破壊の詳細レベルの決定は、破壊特性によって示された破壊の詳細レベルに拘束される。こうして、あるゲームオブジェクトは、あるレベル以下の破壊の詳細 でレンダリングされ、また、二者択一的に、あるレベル以上の破壊の詳細でレンダリングされてもよい。破壊可能特性は、ゲームオブジェクトが常に あるレベルの破壊の詳細でレンダリングされるように示すために使用されても良い。
【００１５】
ゲームプレイセッションでゲームオブジェクトの破壊に関する情報を受け取った後、クライアント装置は、該ゲームオブジェクトの破壊の詳細レベルを決定する。破壊の詳細レベルは、クライアント装置によって実行される際の電子ゲームのパフォーマンスデータを基にすることができ、破壊する際のゲームオブジェクトについて破片の数及び／又は構成を示してもよい。パフォーマンスデータは、フレームレート、ゲームプレイセッションでのアクティブな破片の数、及びクライアント装置内のメモリにロードされた破片の総数を含んでもよい。
【００１６】
破片は、完全なゲームオブジェクトではなく、ゲームオブジェクトの一部を表すものである。例えば、建物を表すゲームオブジェクトは、組み合わされた破片セットと関連しており、それは該建物を表す直方体ポリゴンメッシュの形を取ってもよい。実施例では、ゲームオブジェクトの全てのポリゴンメッシュは、破壊の詳細における特定のレベル、例えば、破壊の詳細における最低レベル、において、一つの破片である。
【００１７】
破壊の詳細レベルの異なりは、ゲームオブジェクトの破片の数及び／又は構成の差異に対応する。例えば、破壊の詳細の第１のレベルでは、ゲームオブジェクトは、第１の構成である破片の第１セットと関連しており、破壊の詳細の第２のレベルでは、ゲームオブジェクトは、第２の構成である破片の第２セットと関連している。破壊の詳細における第２のレベルは、破壊の詳細における第１のレベルよりもより細かくてもよく、破片の第２セットは、破片の第１セットより多くの破片を含んでおり、ゲームオブジェクトの破壊をレンダリングする際には、ゲームオブジェクトは、より多くの破片となって壊れるように見える。特定の例として、ゲームオブジェクトは、建物を、破片の第１セットでは１０００個の破片で表示し、破片の第２セットでは１０００００個の破片で表示する。ゲームプレイセッション内でクライアント装置によりゲームオブジェクトの破壊を、破壊の詳細レベルによって、レンダリングする場合、建物は、１０００個の破片か１０００００個の破片になって破壊表示される。後者の場合、明らかに視覚的にはよりリアルなものとなるが、より多くのコンピュータリソースを消費する。
【００１８】
電子ゲームはパフォーマンスデータをモニターし、それでスコアを生成している。電子ゲームはそのスコアを使用して、破壊の詳細レベルを決定し、ゲームプレイセッションでの破壊のレンダリングに際して使用してもよい。破壊の詳細レベルは、クライアント装置での電子ゲームの実行によってパフォーマンスデータが動的に変化するたびに定期的に生成される、新しいスコアに基づいて定期的に変更される。それぞれの新しいスコアに基づいて、電子ゲームはゲームオブジェクトの破壊を、特定の破壊の詳細レベルでレンダリングするが、レンダリングは、パフォーマンスが閾値を下回らない限り、破壊の詳細における最も高いレベルが、各時間間隔で用いられる。
【００１９】
他の利点の中でも、破壊の詳細レベルを動的に決定することは、電子ゲームの低いフレームレート、ラグ、又はクラッシュのようなパフォーマンスの問題を防止しながら、破壊の詳細におけるより高いレベルの表示を可能とすることである。この破壊の詳細レベルの動的な決定は、クライアント装置のパフォーマンスを改善し、ゲームにおけるユーザ体験を向上させる。
【００２０】
実施例を、図を参照しつつ説明するが、同一又は機能的に近似した素子には同様な参照番号を付す。各参照番号の最も左の桁又は左の複数の桁は、該参照番号が最初に使用された図に対応している。
【００２１】
図１は、実施例に基づいて、ここで述べる技術が実行されるクライアント装置のブロック図である。クライアント装置１１０は、指令を実行することができる装置であり、スタンドアロン装置又は（例えば、ネットワークに）接続された装置でもよく、ゲームシステム、パーソナルコンピュータ、モバイルフォン、タブレットなどの演算装置でもよい。クライアント装置１１０は、プロセッサ（ＣＰＵ）１１２、グラフィック処理ユニット（ＧＰＵ）１１４、主メモリ１１６、副メモリ１１８、ディスプレイコントローラ１２０、ユーザーインターフェース１２２、サウンドコントローラ１２４及びバス１２６を有している。他の実施例では、クライアント装置１１０は、追加的又は他のコンポーネントを有することができる。ここでは単一のクライアント装置１１０が示されるが、他の実施例では、個別的に又は協同的に指令を実行して、ここで述べる一つ以上の方法論を実行する、クライアント装置１１０の集合体なども含まれる。
【００２２】
主メモリ１１６は、ここで述べる一つ以上の方法論又は機能を実現する指令（例えば、ソフトウェア）を格納する、機械可読媒体である。例えば、主メモリ１１６は、ＣＰＵ１１２によって実行された際に、ＣＰＵ１１２に図５に詳細を述べた処理を実行させるようにする指令を格納する。指令はまた、該指令を実行中は、部分的に又は全部がＣＰＵ１１２及び／又はＧＰＵ１１４内に、例えば、キャッシュメモリ内に、駐留してもよい。
【００２３】
単語「機械可読媒体」は、指令を格納することの出来る、単一媒体又は複数媒体（例えば、集中又は分散データベース又は関連するキャッシュ及びサーバー）を含むものである。単語「機械可読媒体」は、また、装置により実行される指令を格納することが出来、該装置にここで述べる一つ以上の方法論を実行させる全ての媒体を含むものである。単語「機械可読媒体」は、限定されないが、ソリッドステートメモリ、光学媒体及び磁気媒体の形でのデータ貯蔵を含むものである。
【００２４】
副メモリ１１８は、主メモリ１１６とは離れたメモリである。主メモリ１１６と同様に、副メモリ１１８は、ここで述べる一つ以上の方法論又は機能を実行する指令（例えば、ソフトウエア）を格納する機械化可読媒体である。例えば、主メモリ１１６はクライアント装置１１０のハードディスクでもよく、副メモリ１１８は電子ゲームのゲームディスクでもよい。ある実施例では、主メモリ１１６は副メモリ１１８上に格納されたデータを使用するゲームシステム２００を格納する。主メモリ１１６及び副メモリ１１８については、図２を参照して詳細に述べる。
【００２５】
ＣＰＵ１１２は、主メモリ１１６及び／又は副メモリ１１８に格納された指令を実行するように構成された処理回路である。ＣＰＵ１１２は、多様な命令セット（ＩＳＡｓ）を使用する汎用又は組み込みプロセッサとすることができる 。図１では、単一ＣＰＵが示されているが、クライアント装置１１０はマルチプルＣＰＵ１１２も含む。マルチプロセッサシステムでは、各ＣＰＵ１１２は、協働して同じＩＳＡを実行するが、必ずしも、そうでなくてもよい。
【００２６】
ＧＰＵ１１４は、グラフィカルイメージを効率的に処理するために特別に設計された処理回路である。ＧＰＵ１１４は、ＣＰＵ１１２からの指令に基づいてフレームバッファ（例えば、フレーム全体のピクセルデータを含んだもの）に表示されるオブジェクトをレンダリングすることができる 。ＧＰＵ１１４は、グラフィック処理の一部又は全てを実行するグラフィックソフトウェアを実行する一つ以上のグラフィックプロセッサを含んでいてもよい。
【００２７】
ディスプレイコントローラ１２０は、ＧＰＵ１１４からのグラフィカルデータを使用したビデオ信号を生成する回路である。例えば、ディスプレイコントローラ１２０は、ディスプレイ装置（例えば、液晶ディスプレイ（ＬＣＤ）及びプロジェクタ）を駆動する。こうして電子ゲームはディスプレイコントローラ１２０を介してイメージ又はビデオシーケンスとして表示される。
【００２８】
サウンドコントローラ１２４は、クライアント装置１１０からの及び装置１１０からのオーディオ信号の入力及び出力を提供する回路である。ゲームオブジェクトの破壊の目的として、サウンドコントローラ１２４は破壊に伴ったオーディオ信号を提供する。
【００２９】
ユーザーインターフェース１２２は、ユーザとクライアント装置１１０間の相互接続を可能とする、ハードウェア、ソフトウェア、ファームウェア又はそれらの組み合わせである。ユーザーインターフェース１２２は、英数字入力装置（例えば、キーボード）及びカーソル制御装置（例えば、マウス、トラックボール、ジョイスティック、モーションセンサー又は他の指示器具）である。例えば、ユーザはキーボード及びマウスを用いて、クライアント装置１１０によってレンダリングされたゲームオブジェクトを含んだゲームセッション内で、キャラクタの行動を制御する。ゲームプレイセッションには、その中でユーザのゲームキャラクターが動作するゲームオブジェクトをシミュレートしたりレンダリングしたりすることを含む。例えば、ユーザのゲームキャラクターは、ゲームプレイセッション中にゲームオブジェクトを破壊することも出来る。
【００３０】
クライアント装置１１０は、ここで機能的に述べられたものを提供するコンピュータプログラムモジュールを実行する。ここで、単語「モジュール」は、特定の機能を提供するために使用されるコンピュータプログラム指令及び／又は他のロジックである。こうして、モジュールは、ハードウェア、ファームウェア及び／又はソフトウェア内で実行することが出来る。ある実施例では、実行可能なコンピュータプログラム指令により構成されたプログラムモジュールは、メモリにロードされ、ＣＰＵ１１２又はＧＰＵ１１４によって実行される。例えば、図５の処理についてのプログラム指令は主メモリ１１６及び／又は副メモリ１１８にロードされ、ＣＰＵ１１２及びＧＰＵ１１４によって実行される。
【００３１】
図２は、実施例に基づく、図１のクライアント装置１１０のメモリ内のソフトウェアモジュールのブロック図である。特に、図２では、クライアント装置１１０の主メモリ１１６及び副メモリ１１８内のソフトウェアを示す。主メモリ１１６は、他のモジュールのなかでも、ゲームシステム２００及びオペレーティングシステム（「ＯＳ」）２６０を格納する。副メモリ１１８は、他のモジュールのなかでも、コンテンツソース２７０を格納してもよい。主メモリ１１６及び副メモリ１１８は、図２に示した以外の他のモジュールも含むことが出来る。更に、他の実施例では、主メモリ１１６及び副メモリ１１８はそれぞれ、ここで他に格納されるとしたソフトウェアモジュールやデータを、格納することも出来る。
【００３２】
ゲームシステム２００は、破壊マネージャー２３０、物理システム２３５、音（サウンド）モジュール２４０、レベルマネージャー２４５、アニメーションシステム２５０及びグラフィックレンダリングモジュール２５５を有する。これらのモジュールはまとめて、ゲームシステム２００の「ゲームエンジン」を構成する。電子ゲームは、少なくともゲームシステム２００を有し、ある実施例では、副メモリ１１８に格納された追加的なデータを含むものである。
【００３３】
ゲームシステム２００は、処理２１２Ａから２０２Ｎ（集合的に「処理２１２」と称する）を実行して、ゲームオブジェクトの破壊を含んだ電子ゲームのゲームプレイセッションを実行する。特に、ゲームシステム２００は、処理２１２を実行して、ゲームのゲームプレイセッション内でゲームオブジェクトをインスタンス化し、ゲームプレイセッション内で多様なインスタンス化されたゲームオブジェクトをレンダリングする（例えば、特定の方向からのユーザのゲームキャラクター及びゲームオブジェクト又は、ゲームキャラクターから見たフィールド）。処理２１２は、あるイベント（例えば、ゲームプレイセッション内で生じる、ユーザとのインタラクション、時間切れ、トリガー）にもとづいて、多様なパラメータ（例えば、ゲームオブジェクトの状態やユーザーステータス）が変化する演算処理となる。
【００３４】
ある処理２１２は、一つ以上のゲームオブジェクトと関連する。処理の例としては、ゲームオブジェクト、ゲームオブジェクトの部分、及び／又はゲームオブジェクトと他のゲームオブジェクトとの相互作用のレンダリング等である。特定の例としては、キャラクタが走ったり、液体が流れたり、矢が飛んだり、ドアが開いたり、砂の城が崩れたり等である。いくつか の処理２１２は比較的簡単であるが（例えば、ドアが開く）、他の処理は物理システム２３５のシミュレーションが必要となることがある （例えば、砂の城が崩れる）。処理２１２を実行する際には、ゲームシステム２００は、アプリケーションプログラムインターフェース（ＡＰＩｓ）を介してゲームエンジンの部品（例えば、物理システム２３５）と通信する。これらの処理２１２の少なくとも一つには、ゲームプレイセッションにおける破壊の詳細レベルを決定することが含まれる。
【００３５】
レベルマネージャー２４５は、主メモリ１１６及び／又は副メモリ１１８から読みだして、ゲームオブジェクトを用いたゲームプレイセッションを生成し、維持する。ゲームシステム２００の他のモジュールは、レベルマネージャー２４５から一つ以上のゲームオブジェクトを要求することが出来るが、レベルマネージャー２４５は要求を送るゲームシステム２００のモジュールにゲームオブジェクトを送ることで該要求に応える。レベルマネージャー２４５は、ユーザーインターフェース１２２、ゲームシステム２００の処理２１２及び／又は他のモジュールから、ゲームセッションに影響を与える可能性のある入力を受けることができる 。例えば、レベルマネージャー２４５へのゲームオブジェクトを破壊せよとの指令である。
【００３６】
破壊マネージャー２３０は、ゲームプレイセッション内でゲームオブジェクトの破壊を動的に扱う。定期的に破壊マネージャー２３０は、ゲームプレイセッションのパフォーマンスデータに基づいてパフォーマンススコアを決定し、該スコアに基づいて、ゲームプレイセッション内のゲームオブジェクトの破壊に使用する破壊の詳細レベルを選択する。実施例では、破壊マネージャー２３０は、該パフォーマンススコアに基づいて、可能な限り最も高いレベルの破壊の詳細レベルを選択する。例えば、破壊の詳細における三つのレベルは、破壊の詳細における最低レベルと破壊の詳細における中間レベルの間の第１閾値及び破壊の詳細における中間レベルと破壊の詳細における高いレベルの間の第２閾値に対応している。第１及び第２閾値間のパフォーマンススコアでは、破壊マネージャー２３０は、破壊の詳細における低レベルよりも破壊の詳細における中間レベルを選択する。第２閾値以上のパフォーマンススコアでは、破壊マネージャー２３０は、破壊の詳細における低レベル又は中間レベルよりも破壊の詳細における高いレベルを使用する。両方とも、破壊マネージャー２３０は、追加的な制約に反応する。例えば、ゲームオブジェクトは破壊の詳細における中間レベルでのみレンダリングされると指示している、該ゲームオブジェクトの破壊可能な成分などである。
【００３７】
破壊マネージャー２３０は、ここで参照された「パフォーマンスデータ」を反映した、一つ以上の指標に基づいたゲームプレイセッションでのパフォーマンススコアを決定する。パフォーマンスデータは、とりわけ以下の指標から演算され得る 。（ｉ）クライアント装置の現在のフレームレートを示す第１の指標、（ｉｉ）ゲームプレイセッションにおけるアクティブな破片の数を示す第２の指標、（ｉｉｉ）クライアント装置１１０のメモリ、例えば、主メモリ１１６内の破片の総数を示す第３の指標である。ゲームプレイセッションにおけるアクティブな破片の数は、パフォーマンスデータが生成された際のゲームプレイセッションにおいてレンダリングされた破片の数であり、ゲームプレイ中にどれだけの数（もし、あれば）のオブジェクトがその時点で破壊されたかによって、変化する。反対に、クライアント装置１１０のメモリ内の破片の総数は、ゲームプレイセッションが開始された時点でセットされ、該ゲームプレイセッション中、静的に保持され得る 。
【００３８】
パフォーマンススコアは、破壊マネージャー２３０により、それぞれの指標を重み付けし、該重み付けした指標を組み合わせて単一の値にすることで決定される。一つの実施例では、パフォーマンススコアは、式（１）で決定される。
【数１】
2020110596.tif 000003
ここで、Frame Rateは、フレームレートであり、Shard Countは、ゲームプレイセッションでのアクティブな破片の数であり、Total Shardsは、クライアント装置１１０のメモリ内の破片の総数であり、ｗ１からｗ３は、それぞれ第１から第３の重みである。他の実施例では、パフォーマンススコアを決定する際に、他の式を使用することも出来、これら三つの指標よりも多くても少なくてもよく、更にここで述べた指標とは異なる指標を使用することも出来る。
【００３９】
実施例では、重みは、プリセット値である。他の実施例では、重みの一つ以上は、クライアント装置１１０の使用を基にしており、例えば、クライアント装置１１０の主メモリ１１６の容量である。例えば、ｗ３ は、主メモリ１１６の容量の測定値と反比例しており、より大きなメモリ容量を持っていると、破片の総計が多くても、その影響を減らすことが出来る。 反対に、いくつかの実施例では、一つ以上の閾値がクライアント装置１１０の使用に基づくこととなってもよい。演算リソース（例えば、主メモリ１１６又はプロセッサスピード）が増加すると、閾値はより低くなる関係となる。
【００４０】
パフォーマンススコアを決定した後、破壊マネージャー２３０は、パフォーマンススコアと一つ以上の閾値を比較し、該比較（例えば、パフォーマンススコアが、もしあれば、閾値を上回る）に基づいて、破壊の詳細レベルを選択する。破壊マネージャー２３０は、該パフォーマンススコアに基づいて許容される最も高いレベルの破壊の詳細を選択する。破壊の詳細レベルの選択の後、破壊マネージャー２３０は、ゲームシステム２００に選択された破壊の詳細レベルでゲームオブジェクトの破壊をレンダリングするように指令する。ゲームシステム２００は破壊マネージャー２３０が新しい破壊の詳細レベルを選択し、ゲームシステム２００に破壊の詳細レベルを変更して、新たに選択された破壊の詳細レベルを使用するまで、そのまま動作する。破壊の詳細レベルがあるレベルから他のレベルに変更されると、ゲームシステム２００は、直ちに全ての引き続く破壊レンダリングを、破壊の詳細におけるあるレベルから、他のレベルに変更するか、又は、あるレベルから、他のレベルに段階的な切り替えを行う。もしゲームシステム２００が段階的な切り替えを行う場合、破壊マネージャー２３０はゲームオブジェクトの多様な部分集合を、特定の順番で示すことができる。それは、一度にゲームオブジェクトの一つの部分集合が、破壊の詳細における一つのレベルから他のレベルに切り替えられるといったものである。こうした方法では、切り替えは視覚的に不自然なものではなく、多くのゲームオブジェクトを同時に切り替えなくてすむので、どの時点でも演算リソースが少なくてすむ。
【００４１】
実施例では、破壊マネージャー２３０はアクティブな破片の生成割合を追跡し、該追跡された割合に基づいて破壊の詳細レベルを調整する。アクティブな破片の生成割合は、一定時間、例えば、毎秒毎に、ゲームプレイセッションに加わるアクティブな破片の数に基づく。追跡された割合は、アクティブな破片生成の予測された割合に変えることも出来る。この場合、ゲームプレイセッションでの特定のゲームオブジェクト、特定のゲームプレイセッション内で差し迫ったゲームイベントなどを含んだもの、に基づいたものとすることができる。ある実施例では、追跡された割合が、閾値よりも大きな場合、破壊マネージャー２３０は、破壊の詳細レベルを１段階以上下げる。他の実施例では、追跡された割合は、パフォーマンススコアを決定する際に使用される重みを変えるために使用することも出来る。より高い追跡された割合は、低いスコアとなり、破壊の詳細における高レベルの可能性を低めることとなる。アクティブな破片生成について考慮することで、破壊マネージャー２３０は、ゲームシステム２００で使用される演算リソースの切り替えに関してよりよい方向となり、パフォーマンスの問題を減少させることができる。
【００４２】
実施例では、最近の及び／又はスケジュールされたゲーム処理２１２に基づいたクライアント装置１１０の見積もられたパフォーマンスに関する予測モデルを維持する。予測モデルを使用して、破壊マネージャー２３０はクライアント装置１１０の将来のパフォーマンス、例えば、スケジュールされた処理２１２の運転時間を見積もる。破壊マネージャー２３０は、予測モデルを使用して生成された見積りに基づいて、パフォーマンススコアを調整することが出来る。例えば、見積もりに基づいて、破壊マネージャー２３０は、一つ以上の重みや、パフォーマンススコアそれ自体、一つ以上の閾値又は破壊の詳細レベルを変更することが出来る。
【００４３】
物理システム２３５はゲームセッションにおけるゲームオブジェクトをモデル化し、その動きをシミュレートする。処理２１２がゲームシステム２００内で開始されると、物理システム２３５は処理２１２に関連してゲームオブジェクトの動きがどのように影響されるかをモデル化する。例えば、物理システム２３５は、丘を転がり落ちる岩をモデル化する。該アクション又はゲームオブジェクトにより、他のゲームオブジェクト及びアクションが、該アクション又はゲームオブジェクトと関連を持つようになる。例えば、投げられた岩が他のゲームオブジェクトをひっくり返すかもしれない。これが、ゲームオブジェクトが岩に当たることで新しい処理２１２のトリガーとなる。物理システム２３５は、ゲームセッション内のゲームオブジェクトの破壊の動きをモデル化しシミュレートする際に、破壊マネージャー２３０によって決定された破壊の詳細レベルを使用する。例えば、物理システム２３５は、破壊の詳細における決定されたレベルで、ゲームオブジェクトに関連した破片セットに基づくゲームオブジェクトをどのように破壊するかを決定する。
【００４４】
アニメーションシステム２５０は、ゲームシステム２００からの処理２１２に基づいて、ゲームプレイセッション内でのゲームオブジェクトの運動学的なアニメーションを行うモジュールである。例えば、処理２１２が、ロボットアームが動いていることを指定すると、アニメーションシステムはアームの動きを運動学的にアニメーションする。第２の例としては、処理２１２が、建物が爆発していることを指定すると、アニメーションシステムは、物理システム２３５によって決定されたように、該爆発の物理現象をアニメーションする。アニメーションシステム２５０は、特定のアニメーションタスクを実行する多数の特別のモジュールを持っていてもよい。実施例では、アニメーションシステム２５０は、ゲームプレイセッションでアニメーションがなされると、破壊の詳細レベルを考慮する。
【００４５】
サウンドモジュール２４０は、ゲームプレイセッションで生じるアクションに対応した音を生成する。例えば、「建物」のゲームオブジェクトの破壊は、「爆発」音と対応することができる。アニメーションシステム２５０からのアニメーションデータ又はレベルマネージャー２４５からのゲームプレイセッション情報は、サウンドモジュール２４０へ送られ、サウンドモジュール２４０が音を生成することができる。サウンドモジュール２４０はサウンドデータをサウンドコントローラ１２４へ送る。
【００４６】
グラフィックレンダリングモジュール２５５は、アニメーションシステム２５０及びレベルマネージャー２４５からのグラフィックをレンダリングし、ゲームプレイセッションの画像を生成する。例えば、グラフィックレンダリングモジュール２５５は、アニメーションシステム２５０からのシーンファイル及びレベルマネージャー２４５からのゲームオブジェクトを受け取る。グラフィックレンダリングモジュール２５５は、画像データをＧＰＵ１１４へ送り、例えば、クライアント装置１１０のディスプレイ又はクライアント装置１１０に接続されたディスプレイに、ディスプレイコントローラ１２０を介して、ディスプレイ上に画像をレンダリングする。
【００４７】
ＯＳ２６０は、コンピュータハードウェア及びソフトウェアリソースを管理する。特に、ＯＳ２６０は、プログラムとコンピュータハードウェアとの間の仲介者として動作する。例えば、ＯＳ２６０は、ユーザーインターフェース１２２からの入力の認識及びディスプレイコントローラ１２０への出力を送るなど、ベーシックタスクを実行する。
【００４８】
副メモリ１１８内のコンテンツソース２７０は、グラフィックデータ２７２、オーディオデータ２７４、イベントデータ２７６及びオブジェクトデータ２７８などを含む、多様なデータを含んでいる。実施例によれば、コンテンツソース２７０内のいくつか又は全てのデータは、代わりに主メモリ１１６内に格納され得る。コンテンツソース２７０は、レベルマネージャー２４５からデータ要求を受け取ると、データをレベルマネージャー２４５に送る。例えば、レベルマネージャー２４５が破壊マネージャー２３０からグラフィックデータに関する情報要求を受け取ると、レベルマネージャー２４５はコンテンツソース２７０から情報を要求し、コンテンツソース２７０は該情報をレベルマネージャー２４５へ送る。
【００４９】
グラフィックデータ２７２は、例えばポリゴンメッシュ及び一つ以上の破片セットなどの、一つ以上のゲームオブジェクトに関するグラフィックデータである。図３を参照して詳細に述べるが、各ゲームオブジェクトは、一つ以上の破片セットと関連しており、ゲームオブジェクトの各破片セットは破壊の詳細における異なるレベルと関連している。
【００５０】
オーディオデータ２７４は、音、例えば、音の断片など、に関連したデータを含む。オーディオデータ２７４の各部分は、一つ以上のゲームオブジェクトに関連付けられ得る 。サウンドモジュール２４０は、オーディオデータ２７４を受け取り、それを使って、ゲームオブジェクトの破壊などの、ゲームプレイセッション内で生じるアクションに対応した音を生成する。
【００５１】
イベントデータ２７６は、ゲームプレイセッション内で生じるゲームイベントを含む。各ゲームイベントは一つ以上のゲームオブジェクトに関する破壊処理と関連している。破壊処理は、ゲームプレイセッションでの関連するゲームイベントが生じることでトリガーとなり得る 。
【００５２】
オブジェクトデータ２７８はゲームオブジェクトを有する。各ゲームオブジェクトは、実施例による多様な情報を含むことが出来る。これは、ポリゴンメッシュ及び一つ以上の破片セットを有するゲームオブジェクトに関連させるたに使用される識別子を有する。実施例では、オブジェクトデータ２７８は、グラフィックデータ２７２を含む。
【００５３】
図３は、実施例による、図１の装置のメモリ内のソフトウェアモジュールによって使用されるグラフィックデータ２７２のブロック図である。グラフィックデータ２７２は、ゲームオブジェクトに関する破片セットを定義する、破壊データ３００を含む。各ゲームオブジェクトは、一つ以上の破片セットと関連しており、それぞれは異なる破壊の詳細レベルに対応している。実施例では、３段階の破壊の詳細レベルがある。破壊の詳細における第１レベル（「レベル１」）は、破壊の詳細における最も低いレベルで、最も少ない破片数であり、破壊の詳細における第２レベル（「レベル２」）は、破壊の詳細における中間のレベルで、破片数も中間の数であり、破壊の詳細における第３レベル（「レベル３」）は、破壊の詳細における最高のレベルで、破片数も最大数である。
【００５４】
異なるゲームオブジェクトは、異なる数及び／又は構成の破片を持った異なる破片セットを有することができる。例えば、第１のゲームオブジェクト（オブジェクト１）及び第２のゲームオブジェクト（オブジェクト２）はそれぞれ３つの破片セットに関連している。各オブジェクトにおいて、レベル１データは、レベル１に対応した破片セットであり、レベル２データは、レベル２に対応した破片セットであり、レベル３データは、レベル３に対応した破片セットである。例えば、オブジェクト１のレベル１データは１００の破片を有し 、またオブジェクト２のレベル１データは、１１０の破片を有する場合がある 。オブジェクト１のレベル２のデータと、オブジェク２のレベル２のデータは、共に１０００の破片を有することができる が、異なる構成である。例えば、もしオブジェクト１が建物を表し、オブジェクト２が山を表している場合、オブジェクト１のレベル２データは、組み合わせると直方体となり、一方、オブジェク２のレベル２データは、組み合わせるとピラミッド形となり得る 。オブジェクト１のレベル３データは１００００の破片を有し、またオブジェクト２のレベル３データは、１０１１０の破片を有する。実施例では、破壊の詳細レベルが大きくなると、各破片は、より低い詳細レベルの破片の部分を表す。例えば、オブジェクト１のレベル３データの各破片は、オブジェクト１のレベル２データの破片の一部である。
【００５５】
ゲームシステム２００は、破片セットを動的に決定することは無く、破壊データ３００内に含まれる予め作成された破片セットを使用する。ゲームシステム２００がゲームプレイセッションを開始すると、ゲームシステム２００はゲームプレイセッションにどのゲームオブジェクトが含まれるか、又は含まれうるかを決定し、例えばレベルマネージャー２４５が、それらを主メモリ１１６にロードする。実施例では、ゲームプレイセッションでのパフォーマンスデータ、特にメモリ保持された破片の総数、は、ゲームプレイセッションのために、主メモリ１１６内にロードされた破片の総数に基づいている。
【００５６】
図３は、３つの異なる破壊の詳細レベルを使用することを述べたが、これは単に例示的なものである。３個以上の破壊の詳細レベル又は単に二つの破壊の詳細レベルもまた、使用することが出来る。
【００５７】
図４Ａから４Ｃは、実施例に基づく、同じゲームオブジェクトの異なる破壊の詳細レベルでの破片を示す。図４Ａは、オブジェクト４１０のレベル１でのゲームオブジェクトの破壊データ３００を示す。このレベルでは、ゲームオブジェクトの破壊データ３００−オブジェクト４１０の破片セット−は単一の破片４２０である。この破片４２０は、破壊されていないオブジェクト４１０を表すポリゴンメッシュであってもよく、オブジェクト４１０の破壊は、ゲームプレイセッションから破片４２０を除去することを伴ってもよい。例えば、クライアント装置が破片４２０のレンダリングを止めるなどである。
【００５８】
図４Ｂは、オブジェクト４１０のレベル２でのゲームオブジェクトの破壊データ３００を示す。このレベルでは、破壊データ３００は、３個の破片を有し、各破片４３０は破片４２０の一部であり、一緒になって破片４２０によって図形的に表される全体オブジェクト４１０を表す。従って、レベル２のオブジェクト４１０の破壊によって、破片430をばらばらにすることができる。 例えば、ゲームプレイセッションでのオブジェクト４１０の破壊によって、それぞれが異なる位置に着陸するように三つの破片４３０にバラバラにしてもよい。
【００５９】
図４Ｃは、オブジェクト４１０のレベル３でのゲームオブジェクトの破壊データを示す。このレベルでは、破壊データ３００は、破片４４０Ａ〜Ｂを含む、２１個の破片を有する。このレベルの各破片はレベル２の破片４２０の一部である。例えば、破片４４０Ａ〜Ｂは共に破片４３０Ａの一部である。レベル３のオブジェクト４１０の破壊によって、レベル２の三つの破片よりも、より詳細に、また複雑な方法でバラバラな21個の破片となってもよい 。例えば、オブジェクト４１０が窓だった場合、その窓が石で割られたとすると、レベル２では、破壊は、石が窓を３個の破片に割る形としてもよいし 、また、レベル３では、破壊は、石が窓を２１個の破片に粉々に割る形としてもよい 。
【００６０】
図５は、実施例に基づいて、ここで述べた技術を実行する工程を示すフローチャートである。クライアント装置１１０は、ステップ５０２で、破壊に関するゲームオブジェクトの情報を受け取る。情報は、ゲームオブジェクトの一つのセット情報又は、クライアント装置１１０が、該クライアント装置１１０上で動作するゲームプレイセッション内での破壊をレンダリングすべきゲームオブジェクトの参照情報であってもよい。
【００６１】
クライアント装置１１０は、ステップ５０４で、パフォーマンスデータに基づいてゲームオブジェクトの破壊の詳細レベルを決定する。破壊の詳細レベルは、ゲームオブジェクトを破壊する際の、破片の数又は構成に対応している。パフォーマンスデータは、クライアント装置１１０の演算パフォーマンスを追跡した指標である。破壊の詳細レベルは、更に 、実施例に応じて、クライアント装置のパフォーマンスを見積もる予測モデル又は、アクティブな破片生成速度に依存してもよい。
【００６２】
クライアント装置１１０は、ステップ５０６で、決定された破壊の詳細レベルに基づいてゲームオブジェクトのグラフィックデータを引き出す。例えば、破壊すべき各ゲームオブジェクトについて、クライアント装置１１０は、破壊の詳細レベルに対応した破片セットを引き出す。破片セットは、クライアント装置１１０の主メモリ１１６及び／又は副メモリ１１８内に格納してもよい。
【００６３】
クライアント装置１１０は、ステップ５０８で、引き出されたグラフィックデータを使ってゲームオブジェクトの破壊をレンダリングする。例えば、クライアント装置１１０は、ステップ５０８で、それぞれのゲームオブジェクトの破壊を、該ゲームオブジェクトについて引き出された破片セットに壊れてしまうようにレンダリングする。
【００６４】
実施例では、破壊の詳細レベルは、二つ以上の破壊の詳細レベルの内の一つであり、各破壊の詳細における各レベルは、ゲームオブジェクトの破片の数や構成が異なった形で破壊される点を規定する。
【００６５】
実施例では、決定された破壊の詳細レベルに基づくゲームオブジェクトのグラフィックデータの引き出しは、クライアント装置１１０が、各ゲームオブジェクトについて、決定された破壊の詳細レベルに対応したゲームオブジェクトの破片セットを決定して、該決定された破片セットのグラフィックデータを引き出すことを含む。各ゲームオブジェクトは、二つ以上の破片セットと関連しており、ゲームオブジェクトの各破片セットは異なる破壊の詳細レベルに対応しており、該ゲームオブジェクトの他の破片セットとは異なる数及び構成の破片を有する。
【００６６】
実施例では、パフォーマンスデータは、フレームレート、ゲームプレイセッションでのアクティブな破片の数及びクライアント装置のメモリにロードされた破片の総数の内、少なくとも一つを含む。
【００６７】
実施例では、パフォーマンスデータによるゲームオブジェクトの破壊の詳細レベルの決定は、クライアント装置１１０が該パフォーマンスデータから引き出されるスコアを生成し、一つ以上の閾値と比較して、該スコアに基づく破壊の詳細レベルを確認することを含む。各閾値は、破壊の詳細における異なるレベルと対応する。実施例では、一つ以上の閾値は、クライアント装置１１０のパフォーマンス能力に基づくものである。
【００６８】
実施例では、クライアント装置１１０は、少なくとも一つの最近の及びスケジュールされたゲームオペレーションに基づいて、該クライアント装置のパフォーマンスを見積もる予測モデルを持っている。クライアント装置１１０は、予測モデルに基づいてクライアント装置のパフォーマンスを見積もり、またゲームオブジェクトの破壊の詳細レベルの決定を、該クライアント装置の見積もられたパフォーマンスに基づかせる。
【００６９】
上述した実施例は、ゲームシステムを参照して主に説明したが、実施例は、地図アプリケーション又は配車アプリケーションなど、エンジニアリングソフトウェア、ナビゲーションソフトウェア及び教育ソフトウェアなどの他のアプリケーションに応用することが出来る。更に、実施例は、リサーチアプリケーションにも適用することができる。
【００７０】
特定の実施例及び適用例が示され、述べられたが、発明はここで述べられた正確な構造及び構成に限られるものでは無く、当業者にとって自明な多様な変形、変更、変化が、ここでの開示の範囲及び精神から離れない限り、ここで述べられた方法及び装置の配置、運転及び詳細について可能である。
【図１】
2020110596.tif 000004
【図２】
2020110596.tif 000005
【図３】
2020110596.tif 000006
【図４Ａ】
2020110596.tif 000007
【図４Ｂ】
2020110596.tif 000008
【図４Ｃ】
2020110596.tif 000009
【図５】
2020110596.tif 000010