(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-14
(45)【発行日】2022-01-25
(54)【発明の名称】電子ゲーム表示における、破壊の詳細における動的なレベル
(51)【国際特許分類】
A63F 13/52 20140101AFI20220118BHJP
A63F 13/77 20140101ALI20220118BHJP
G06T 17/20 20060101ALI20220118BHJP
【FI】
A63F13/52
A63F13/77
G06T17/20
(21)【出願番号】P 2020003893
(22)【出願日】2020-01-14
【審査請求日】2020-01-14
(32)【優先日】2019-01-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517084612
【氏名又は名称】スクウェア エニックス、リミテッド
【氏名又は名称原語表記】SQUARE ENIX,LTD.,
(74)【代理人】
【識別番号】100083138
【氏名又は名称】相田 伸二
(74)【代理人】
【識別番号】100189625
【氏名又は名称】鄭 元基
(74)【代理人】
【識別番号】100196139
【氏名又は名称】相田 京子
(72)【発明者】
【氏名】ティモシー ピーズ
【審査官】赤坂 祐樹
(56)【参考文献】
【文献】特開2001-224849(JP,A)
【文献】特開2004-159922(JP,A)
【文献】特開2014-199617(JP,A)
【文献】小片や粉煙の生成を伴う高速な破壊シミュレーション,Visual Computing/グラフィクスとCAD合同シンポジウム2008 学会予稿集,画像電子学会,2008年06月22日
【文献】グラフィックマニュアルの最適化,Unityマニュアル(online),2018年04月,https://docs.unity3d.com/ja/2018.4/Manual/OptimizingGraphicsPerformance.html,[2020年12月1日検索]
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98、9/24
G06T 17/20
(57)【特許請求の範囲】
【請求項1】
クライアント装置で、ゲームプレイセッションにおけるゲームオブジェクトの破壊に関する情報を受け付け、
クライアント装置で、パフォーマンスデータに基づいて前記ゲームオブジェクトの破壊の詳細レベルを決定し、前記破壊の詳細レベルは、二つ以上の破壊の詳細レベルのうちの一つであり、
前記クライアント装置で、以下の引き出し方法により、前記決定された破壊の詳細レベルに対応した破片を引き出し、該引き出し方法は、
各ゲームオブジェクトについて、前記クライアント装置で、前記決定された破壊の詳細レベルに対応した破片セットを決定し、前記各破片セットの各破片は、グラフィカルエレメントであり、各ゲームオブジェクトは二つ以上の破片セットと関連しており、各ゲームオブジェクトの各破片セットは、破壊の詳細における異なるレベルと対応しており、前記ゲームオブジェクトの他の破片セットとは破片の数又は構成が異なっており、
これにより前記クライアント装置で、前記決定された破片セットを引き出すものであり、
前記クライアント装置で、前記引き出された破片を用いて、前記ゲームプレイセッションでの前記ゲームオブジェクトの破壊をレンダリングする、
ことから構成される方法。
【請求項2】
請求項1記載の方法において、前記パフォーマンスデータは、フレームレート、ゲームプレイセッションでのアクティブな破片の数及び前記クライアント装置のメモリにロードされた破片総数のうち、少なくとも一つから構成されることを特徴とする。
【請求項3】
請求項1記載の方法において、パフォーマンスデータに基づいて前記ゲームオブジェクトの破壊の詳細レベルを決定することは、
クライアント装置により、前記パフォーマンスデータから引き出されるスコアを生成し、
クライアント装置により、破壊の詳細における異なるレベルにそれぞれ対応している一つ以上の閾値と前記スコアを比較して、破壊の詳細レベルを決定することを特徴とする。
【請求項4】
請求項
3の方法において、前記一つ以上の閾値は、前記クライアント装置のパフォーマンス能力に基づいていることを特徴とする。
【請求項5】
請求項1記載の方法において、
前記クライアント装置が、少なくとも一つの最近の予定されたゲーム動作に基づいた該クライアント装置のパフォーマンスを見積もる予測モデルを持っており、
該クライアント装置により、前記予測モデルに基づいて該クライアント装置のパフォーマンスを見積もり、
前記クライアント装置の見積もられたパフォーマンスに基づいて、前記ゲームオブジェクトの破壊の詳細レベルを決定することを特徴とする。
【請求項6】
プロセッサに動作を行わせるために、該プロセッサによって実行可能なコンピュータプログラム指令を格納するコンピュータ可読記録媒体であって、前記動作は、
クライアント装置で、ゲームプレイセッション内でのゲームオブジェクトの破壊に関する情報を受け取り、
該クライアント装置で、パフォーマンスデータに基づいて前記ゲームオブジェクトの破壊の詳細レベルを決定し、前記破壊の詳細レベルは、
二つ以上の破壊の詳細レベルのうちの一つであり、
前記クライアント装置で、
以下の引き出し方法により、前記決定された破壊の詳細レベル
に対応した破片を引き出し、該引き出し方法は、
各ゲームオブジェクトについて、前記クライアント装置で、前記決定された破壊の詳細レベルに対応した破片セットを決定し、前記各破片セットの各破片は、グラフィカルエレメントであり、各ゲームオブジェクトは二つ以上の破片セットと関連しており、各ゲームオブジェクトの各破片セットは、破壊の詳細における異なるレベルと対応しており、前記ゲームオブジェクトの他の破片セットとは破片の数又は構成が異なっており、
これにより前記クライアント装置で、前記決定された破片セットを引き出すものであり、
前記クライアント装置で、前記引き出された
破片を用いて、前記ゲームプレイセッションでの前記ゲームオブジェクトの破壊をレンダリングする、
ことからなる
ことを特徴とするコンピュータ可読記録媒体。
【請求項7】
請求項
6記載のコンピュータ可読記録媒体であって、前記パフォーマンスデータは、フレームレート、ゲームプレイセッションでのアクティブな破片の数及び前記クライアント装置のメモリにロードされた破片総数のうち、少なくとも一つから構成されることを特徴とする。
【請求項8】
請求項
6記載のコンピュータ可読記録媒体であって、パフォーマンスデータに基づいて前記ゲームオブジェクトの破壊の詳細レベルを決定することは、
クライアント装置により、前記パフォーマンスデータから引き出されるスコアを生成し、
クライアント装置により、破壊の詳細における異なるレベルにそれぞれ対応している一つ以上の閾値と前記スコアを比較して、破壊の詳細レベルを決定することを特徴とする。
【請求項9】
請求項
8記載のコンピュータ可読記録媒体であって、前記一つ以上の閾値は、前記クライアント装置のパフォーマンス能力に基づいていることを特徴とする。
【請求項10】
請求項
6記載のコンピュータ可読記録媒体であって、前記動作は、
前記クライアント装置に、少なくとも一つの最近の予定されたゲーム動作に基づいた該クライアント装置のパフォーマンスを見積もる予測モデルを持たせ、
該クライアント装置により、前記予測モデルに基づいて該クライアント装置のパフォーマンスを見積もり、
前記クライアント装置の見積もられたパフォーマンスに基づいて、前記ゲームオブジェクトの破壊の詳細レベルを決定することを特徴とする。
【請求項11】
コンピュータプログラム指令を実行することの出来るプロセッサ、及び、
プロセッサに動作を行わせるために、該プロセッサによって実行可能なコンピュータプログラム指令を格納するコンピュータ可読記録媒体を有し、前記動作は、
クライアント装置で、ゲームプレイセッション内でのゲームオブジェクトの破壊に関する情報を受け取り、
該クライアント装置で、パフォーマンスデータに基づいて前記ゲームオブジェクトの破壊の詳細レベルを決定し、前記破壊の詳細レベルは、
二つ以上の破壊の詳細レベルのうちの一つであり、
前記クライアント装置で、
以下の引き出し方法により、前記決定された破壊の詳細レベルに
対応した破片を引き出し、該引き出し方法は、
各ゲームオブジェクトについて、前記クライアント装置で、前記決定された破壊の詳細レベルに対応した破片セットを決定し、前記各破片セットの各破片は、グラフィカルエレメントであり、各ゲームオブジェクトは二つ以上の破片セットと関連しており、各ゲームオブジェクトの各破片セットは、破壊の詳細における異なるレベルと対応しており、前記ゲームオブジェクトの他の破片セットとは破片の数又は構成が異なっており、
これにより前記クライアント装置で、前記決定された破片セットを引き出すものであり、
前記クライアント装置で、前記引き出された
破片を用いて、前記ゲームプレイセッションでの前記ゲームオブジェクトの破壊をレンダリングする、
ことからなる、
システム。
【請求項12】
請求項
11記載のシステムにおいて、パフォーマンスデータに基づいて前記ゲームオブジェクトの破壊の詳細レベルを決定することは、
クライアント装置により、前記パフォーマンスデータから引き出されるスコアを生成し、
クライアント装置により、破壊の詳細における異なるレベルにそれぞれ対応している一つ以上の閾値と前記スコアを比較して、破壊の詳細レベルを決定することを特徴とする。
【請求項13】
請求項
12記載のシステムにおいて、前記一つ以上の閾値は、前記クライアント装置のパフォーマンス能力に基づいていることを特徴とする。
【請求項14】
請求項
11記載のシステムにおいて、前記動作は、更に、
前記クライアント装置に、少なくとも一つの最近の予定されたゲーム動作に基づいた該クライアント装置のパフォーマンスを見積もる予測モデルを持たせ、
該クライアント装置により、前記予測モデルに基づいて該クライアント装置のパフォーマンスを見積もり、
前記クライアント装置の見積もられたパフォーマンスに基づいて、前記ゲームオブジェクトの破壊の詳細レベルを決定することを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、全体的には電子ゲームに関わり、特に電子ゲームセションにおけるゲームオブジェクトのレンダリングに関する。
【0002】
多くの電子ゲームは、ゲームプレイのインスタンス(insatnce)である、 ゲームプレイセッションを提供する。ゲームプレイセッション中には、地形の特徴を表したグラフィカルエレメントなど、多くのゲームオブジェクトがレンダリングされる。しばしば、ゲームプレイセッション中に、ゲームプレイの過程でゲームオブジェクトが「破壊」されるが、それはガラス面の破壊など、ゲームプレイセッションでの一つ以上のゲームオブジェクトの破壊をレンダリングすることを含む。ゲームオブジェクトの破壊のレンダリングは、ランダムアクセスメモリやプロセッササイクルなどの多大な演算リソースを消費する。時としてゲームプレイ中の破壊は、ゲームプレイセッションに、電子ゲームを実行しているクライアント装置がその時点で供給できる以上の演算リソースの消費を求める。これは、低フレームレート、ラグ又は電子ゲームのクラッシュなど、多くの問題を生じさせる。こうした問題は、クライアント装置で電子ゲームをプレイするユーザにとって好ましくないゲームプレイ経験となる。
【発明の概要】
【0003】
実施例は、電子ゲームにおいて表示されたゲームオブジェクトにおける破壊の詳細の動的なレベルを提供することに関する。クライアント装置は、ゲームオブジェクトの破壊についての情報を受け取る。クライアント装置は、パフォーマンスデータに基づいてゲームオブジェクトの破壊の詳細レベルを決定する。破壊の詳細レベルは、破壊すべきゲームオブジェクトについての破片の数又は構成と対応する。クライアント装置は、決定された破壊の詳細レベルに基づいてゲームオブジェクトのグラフィックデータを引き出す。クライアント装置は、引き出されたグラフィックデータを使用してゲームオブジェクトの破壊をレンダリングする。
【0004】
いくつかの実施例では、破壊の詳細レベルは、二つ以上の破壊の詳細レベルから選択されており、破壊の詳細レベルのそれぞれは、破壊されるゲームオブジェクトの破片について、異なる数と構成を規定している。
【0005】
いくつかの実施例では、破壊の詳細における決定されたレベルに基づいたゲームオブジェクトのグラフィックデータを引き出すことは、クライアント装置が各ゲームオブジェクトについて、決定された破壊の詳細レベルに対応したゲームオブジェクトの破片セットを決定し、該決定された破片セットのグラフィックデータを引き出すことを含む。各ゲームオブジェクトは、二つ以上の破片セットと関連しており、各ゲームオブジェクトの各破片セットは、破壊の詳細における異なるレベルと対応しており、前記ゲームオブジェクトの他の破片セットとは破片の数又は構成が異なっている。
【0006】
いくつかの実施例では、パフォーマンスデータは、フレームレート、ゲームプレイセッションでのアクティブな破片の数及びクライアント装置のメモリにロードされた破片総数のうち、少なくとも一つから構成される。
【0007】
いくつかの実施例では、パフォーマンスデータに基づいてゲームオブジェクトの破壊の詳細レベルを決定することは、クライアント装置により、前記パフォーマンスデータから引き出されるスコアを生成し、
クライアント装置により、一つ以上の閾値とスコアを比較して、破壊の詳細レベルを決定することを含む。各閾値は、破壊の詳細における異なるレベルに対応している。いくつかの実施例では、一つ以上の閾値は、クライアント装置のパフォーマンス能力に基づいている。
【0008】
いくつかの実施例では、クライアント装置 が、少なくとも一つの最近の予定されたゲーム動作に基づいた該クライアント装置のパフォーマンスを見積もる予測モデルを持っている。クライアント装置により、予測モデルに基づいて該クライアント装置のパフォーマンスを見積もり、クライアント装置の見積もられたパフォーマンスに基づいて、ゲームオブジェクトの破壊の詳細レベルを決定する。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施例に基づく、クライアント装置のブロック図である。
【
図2】
図2は、実施例に基づく、
図1のクライアント装置のメモリ内のソフトウェアモジュールのブロック図。
【
図3】
図3は、実施例に基づく、
図1のクライアント装置のメモリ内のソフトウェアモジュールで使用されるグラフィックデータのブロック図。
【
図4A】
図4Aは、 実施例に基づく、同じゲームオブジェクトの破壊の詳細の異なるレベルでの破片を示す図。
【
図4B】
図4Bは、実施例に基づく、同じゲームオブジェクトの破壊の詳細の異なるレベルでの破片を示す図。
【
図4C】
図4Cは、実施例に基づく、同じゲームオブジェクトの破壊の詳細の異なるレベルでの破片を示す図。
【
図5】
図5は、実施例に基づく、ゲームオブジェクトにおける破壊の詳細の、動的なレベルを提供するプロセスを示すフローチャート。
【0010】
図面は、例示目的で本発明を開示する多様な実施例を描いている。当業者であるならば、そこに示された構造や方法の互換的な実施例を、ここ述べられた開示の、利益や原則から離れること無く、使用することが出来ることを、以下の記述から容易に思いつくことが出来るものである。
【発明を実施するための形態】
【0011】
以下の実施例の記述の中で、より徹底的な理解のために多くの詳細な説明がなされている。しかし、実施例は、一つ以上のこれらの特定の詳細に関わりなく、実行されてもよい。他の例では、周知の事項は、説明の複雑化を避けるために、その詳細を述べることはしていない。
【0012】
実施例は、ゲームプレイセッションにおいてゲームオブジェクトの破壊を表示することに関する。ゲームプレイセッションはクライアント装置における電子ゲームのゲームプレイのインスタンス 実際にプレイをする場面)である。ユーザは、ゲームプレイセッションにクライアント装置を介して参加してもよい。例えば、クライアント装置は、ユーザからゲームプレイセッション内で、 ゲームオブジェクトを破壊するなどの、ゲームプレイアクションを示す入力を受け付ける 。ゲームオブジェクトの破壊は、受け取ったユーザ入力以外の要素で開始されてもよい。例えば、ゲームオブジェクトは電子ゲームによって制御されるノンプレイヤキャラクタ(NPC)によるアクションや、電子ゲームのシナリオに基づくイベントに基づいて破壊されてもよい。
【0013】
ゲームオブジェクトは、表示及び/又はインタラクションに関してゲームセッションに含まれるデータオブジェクトである。例えば、一つのゲームオブジェクトはビルディングを表し、別のゲームオブジェクトは木を表してもよい。 レンダリングされるゲームオブジェクトは、ポリゴンメッシュを処理することでレンダリングしてもよい。
【0014】
ゲームオブジェクトは、ゲームオブジェクトが破壊可能か否かを示す、「破壊性」特性を有してもよい。このゲームオブジェクトの「破壊性」は、二値で表示してよもよい(例えば、“0”は、破壊不可であり、”1”は、破壊可能を示す)。破壊可能な特性を持ったゲームオブジェクトは、該ゲームオブジェクトを有するゲームプレイセッション内で該ゲームオブジェクトに対して破壊動作がなされると、破壊される。破壊不可の特性を持ったゲームオブジェクトは、該ゲームオブジェクトを有するゲームプレイセッション内で該ゲームオブジェクトに対して破壊動作がなされても、破壊されない。破壊可能なゲームオブジェクトは、該ゲームオブジェクト用の一つ以上の破壊の詳細レベルと、二者択一的又は追加的に関連付けられている。即ち、ゲームオブジェクトの破壊の詳細レベルの決定は、破壊特性によって示された破壊の詳細レベルに拘束される。こうして、あるゲームオブジェクトは、あるレベル以下の破壊の詳細 でレンダリングされ、また、二者択一的に、あるレベル以上の破壊の詳細でレンダリングされてもよい。破壊可能特性は、ゲームオブジェクトが常に あるレベルの破壊の詳細でレンダリングされるように示すために使用されても良い。
【0015】
ゲームプレイセッションでゲームオブジェクトの破壊に関する情報を受け取った後、クライアント装置は、該ゲームオブジェクトの破壊の詳細レベルを決定する。破壊の詳細レベルは、クライアント装置によって実行される際の電子ゲームのパフォーマンスデータを基にすることができ、破壊する際のゲームオブジェクトについて破片の数及び/又は構成を示してもよい。パフォーマンスデータは、フレームレート、ゲームプレイセッションでのアクティブな破片の数、及びクライアント装置内のメモリにロードされた破片の総数を含んでもよい。
【0016】
破片は、完全なゲームオブジェクトではなく、ゲームオブジェクトの一部を表すものである。例えば、建物を表すゲームオブジェクトは、組み合わされた破片セットと関連しており、それは該建物を表す直方体ポリゴンメッシュの形を取ってもよい。実施例では、ゲームオブジェクトの全てのポリゴンメッシュは、破壊の詳細における特定のレベル、例えば、破壊の詳細における最低レベル、において、一つの破片である。
【0017】
破壊の詳細レベルの異なりは、ゲームオブジェクトの破片の数及び/又は構成の差異に対応する。例えば、破壊の詳細の第1のレベルでは、ゲームオブジェクトは、第1の構成である破片の第1セットと関連しており、破壊の詳細の第2のレベルでは、ゲームオブジェクトは、第2の構成である破片の第2セットと関連している。破壊の詳細における第2のレベルは、破壊の詳細における第1のレベルよりもより細かくてもよく、破片の第2セットは、破片の第1セットより多くの破片を含んでおり、ゲームオブジェクトの破壊をレンダリングする際には、ゲームオブジェクトは、より多くの破片となって壊れるように見える。特定の例として、ゲームオブジェクトは、建物を、破片の第1セットでは1000個の破片で表示し、破片の第2セットでは100000個の破片で表示する。ゲームプレイセッション内でクライアント装置によりゲームオブジェクトの破壊を、破壊の詳細レベルによって、レンダリングする場合、建物は、1000個の破片か100000個の破片になって破壊表示される。後者の場合、明らかに視覚的にはよりリアルなものとなるが、より多くのコンピュータリソースを消費する。
【0018】
電子ゲームはパフォーマンスデータをモニターし、それでスコアを生成している。電子ゲームはそのスコアを使用して、破壊の詳細レベルを決定し、ゲームプレイセッションでの破壊のレンダリングに際して使用してもよい。破壊の詳細レベルは、クライアント装置での電子ゲームの実行によってパフォーマンスデータが動的に変化するたびに定期的に生成される、新しいスコアに基づいて定期的に変更される。それぞれの新しいスコアに基づいて、電子ゲームはゲームオブジェクトの破壊を、特定の破壊の詳細レベルでレンダリングするが、レンダリングは、パフォーマンスが閾値を下回らない限り、破壊の詳細における最も高いレベルが、各時間間隔で用いられる。
【0019】
他の利点の中でも、破壊の詳細レベルを動的に決定することは、電子ゲームの低いフレームレート、ラグ、又はクラッシュのようなパフォーマンスの問題を防止しながら、破壊の詳細におけるより高いレベルの表示を可能とすることである。この破壊の詳細レベルの動的な決定は、クライアント装置のパフォーマンスを改善し、ゲームにおけるユーザ体験を向上させる。
【0020】
実施例を、図を参照しつつ説明するが、同一又は機能的に近似した素子には同様な参照番号を付す。各参照番号の最も左の桁又は左の複数の桁は、該参照番号が最初に使用された図に対応している。
【0021】
図1は、実施例に基づいて、ここで述べる技術が実行されるクライアント装置のブロック図である。クライアント装置110は、指令を実行することができる装置であり、スタンドアロン装置又は(例えば、ネットワークに)接続された装置でもよく、ゲームシステム、パーソナルコンピュータ、モバイルフォン、タブレットなどの演算装置でもよい。クライアント装置110は、プロセッサ(CPU)112、グラフィック処理ユニット(GPU)114、主メモリ116、副メモリ118、ディスプレイコントローラ120、ユーザーインターフェース122、サウンドコントローラ124及びバス126を有している。他の実施例では、クライアント装置110は、追加的又は他のコンポーネントを有することができる。ここでは単一のクライアント装置110が示されるが、他の実施例では、個別的に又は協同的に指令を実行して、ここで述べる一つ以上の方法論を実行する、クライアント装置110の集合体なども含まれる。
【0022】
主メモリ116は、ここで述べる一つ以上の方法論又は機能を実現する指令(例えば、ソフトウェア)を格納する、機械可読媒体である。例えば、主メモリ116は、CPU112によって実行された際に、CPU112に
図5に詳細を述べた処理を実行させるようにする指令を格納する。指令はまた、該指令を実行中は、部分的に又は全部がCPU112及び/又はGPU114内に、例えば、キャッシュメモリ内に、駐留してもよい。
【0023】
単語「機械可読媒体」は、指令を格納することの出来る、単一媒体又は複数媒体(例えば、集中又は分散データベース又は関連するキャッシュ及びサーバー)を含むものである。単語「機械可読媒体」は、また、装置により実行される指令を格納することが出来、該装置にここで述べる一つ以上の方法論を実行させる全ての媒体を含むものである。単語「機械可読媒体」は、限定されないが、ソリッドステートメモリ、光学媒体及び磁気媒体の形でのデータ貯蔵を含むものである。
【0024】
副メモリ118は、主メモリ116とは離れたメモリである。主メモリ116と同様に、副メモリ118は、ここで述べる一つ以上の方法論又は機能を実行する指令(例えば、ソフトウエア)を格納する機械化可読媒体である。例えば、主メモリ116はクライアント装置110のハードディスクでもよく、副メモリ118は電子ゲームのゲームディスクでもよい。ある実施例では、主メモリ116は副メモリ118上に格納されたデータを使用するゲームシステム200を格納する。主メモリ116及び副メモリ118については、
図2を参照して詳細に述べる。
【0025】
CPU112は、主メモリ116及び/又は副メモリ118に格納された指令を実行するように構成された処理回路である。CPU112は、多様な命令セット(ISAs)を使用する汎用又は組み込みプロセッサとすることができる 。
図1では、単一CPUが示されているが、クライアント装置110はマルチプルCPU112も含む。マルチプロセッサシステムでは、各CPU112は、協働して同じISAを実行するが、必ずしも、そうでなくてもよい。
【0026】
GPU114は、グラフィカルイメージを効率的に処理するために特別に設計された処理回路である。GPU114は、CPU112からの指令に基づいてフレームバッファ(例えば、フレーム全体のピクセルデータを含んだもの)に表示されるオブジェクトをレンダリングすることができる 。GPU114は、グラフィック処理の一部又は全てを実行するグラフィックソフトウェアを実行する一つ以上のグラフィックプロセッサを含んでいてもよい。
【0027】
ディスプレイコントローラ120は、GPU114からのグラフィカルデータを使用したビデオ信号を生成する回路である。例えば、ディスプレイコントローラ120は、ディスプレイ装置(例えば、液晶ディスプレイ(LCD)及びプロジェクタ)を駆動する。こうして電子ゲームはディスプレイコントローラ120を介してイメージ又はビデオシーケンスとして表示される。
【0028】
サウンドコントローラ124は、クライアント装置110からの及び装置110からのオーディオ信号の入力及び出力を提供する回路である。ゲームオブジェクトの破壊の目的として、サウンドコントローラ124は破壊に伴ったオーディオ信号を提供する。
【0029】
ユーザーインターフェース122は、ユーザとクライアント装置110間の相互接続を可能とする、ハードウェア、ソフトウェア、ファームウェア又はそれらの組み合わせである。ユーザーインターフェース122は、英数字入力装置(例えば、キーボード)及びカーソル制御装置(例えば、マウス、トラックボール、ジョイスティック、モーションセンサー又は他の指示器具)である。例えば、ユーザはキーボード及びマウスを用いて、クライアント装置110によってレンダリングされたゲームオブジェクトを含んだゲームセッション内で、キャラクタの行動を制御する。ゲームプレイセッションには、その中でユーザのゲームキャラクターが動作するゲームオブジェクトをシミュレートしたりレンダリングしたりすることを含む。例えば、ユーザのゲームキャラクターは、ゲームプレイセッション中にゲームオブジェクトを破壊することも出来る。
【0030】
クライアント装置110は、ここで機能的に述べられたものを提供するコンピュータプログラムモジュールを実行する。ここで、単語「モジュール」は、特定の機能を提供するために使用されるコンピュータプログラム指令及び/又は他のロジックである。こうして、モジュールは、ハードウェア、ファームウェア及び/又はソフトウェア内で実行することが出来る。ある実施例では、実行可能なコンピュータプログラム指令により構成されたプログラムモジュールは、メモリにロードされ、CPU112又はGPU114によって実行される。例えば、
図5の処理についてのプログラム指令は主メモリ116及び/又は副メモリ118にロードされ、CPU112及びGPU114によって実行される。
【0031】
図2は、実施例に基づく、
図1のクライアント装置110のメモリ内のソフトウェアモジュールのブロック図である。特に、
図2では、クライアント装置110の主メモリ116及び副メモリ118内のソフトウェアを示す。主メモリ116は、他のモジュールのなかでも、ゲームシステム200及びオペレーティングシステム(「OS」)260を格納する。副メモリ118は、他のモジュールのなかでも、コンテンツソース270を格納してもよい。主メモリ116及び副メモリ118は、
図2に示した以外の他のモジュールも含むことが出来る。更に、他の実施例では、主メモリ116及び副メモリ118はそれぞれ、ここで他に格納されるとしたソフトウェアモジュールやデータを、格納することも出来る。
【0032】
ゲームシステム200は、破壊マネージャー230、物理システム235、音(サウンド)モジュール240、レベルマネージャー245、アニメーションシステム250及びグラフィックレンダリングモジュール255を有する。これらのモジュールはまとめて、ゲームシステム200の「ゲームエンジン」を構成する。電子ゲームは、少なくともゲームシステム200を有し、ある実施例では、副メモリ118に格納された追加的なデータを含むものである。
【0033】
ゲームシステム200は、処理212Aから202N(集合的に「処理212」と称する)を実行して、ゲームオブジェクトの破壊を含んだ電子ゲームのゲームプレイセッションを実行する。特に、ゲームシステム200は、処理212を実行して、ゲームのゲームプレイセッション内でゲームオブジェクトをインスタンス化し、ゲームプレイセッション内で多様なインスタンス化されたゲームオブジェクトをレンダリングする(例えば、特定の方向からのユーザのゲームキャラクター及びゲームオブジェクト又は、ゲームキャラクターから見たフィールド)。処理212は、あるイベント(例えば、ゲームプレイセッション内で生じる、ユーザとのインタラクション、時間切れ、トリガー)にもとづいて、多様なパラメータ(例えば、ゲームオブジェクトの状態やユーザーステータス)が変化する演算処理となる。
【0034】
ある処理212は、一つ以上のゲームオブジェクトと関連する。処理の例としては、ゲームオブジェクト、ゲームオブジェクトの部分、及び/又はゲームオブジェクトと他のゲームオブジェクトとの相互作用のレンダリング等である。特定の例としては、キャラクタが走ったり、液体が流れたり、矢が飛んだり、ドアが開いたり、砂の城が崩れたり等である。いくつか の処理212は比較的簡単であるが(例えば、ドアが開く)、他の処理は物理システム235のシミュレーションが必要となることがある (例えば、砂の城が崩れる)。処理212を実行する際には、ゲームシステム200は、アプリケーションプログラムインターフェース(APIs)を介してゲームエンジンの部品(例えば、物理システム235)と通信する。これらの処理212の少なくとも一つには、ゲームプレイセッションにおける破壊の詳細レベルを決定することが含まれる。
【0035】
レベルマネージャー245は、主メモリ116及び/又は副メモリ118から読みだして、ゲームオブジェクトを用いたゲームプレイセッションを生成し、維持する。ゲームシステム200の他のモジュールは、レベルマネージャー245から一つ以上のゲームオブジェクトを要求することが出来るが、レベルマネージャー245は要求を送るゲームシステム200のモジュールにゲームオブジェクトを送ることで該要求に応える。レベルマネージャー245は、ユーザーインターフェース122、ゲームシステム200の処理212及び/又は他のモジュールから、ゲームセッションに影響を与える可能性のある入力を受けることができる 。例えば、レベルマネージャー245へのゲームオブジェクトを破壊せよとの指令である。
【0036】
破壊マネージャー230は、ゲームプレイセッション内でゲームオブジェクトの破壊を動的に扱う。定期的に破壊マネージャー230は、ゲームプレイセッションのパフォーマンスデータに基づいてパフォーマンススコアを決定し、該スコアに基づいて、ゲームプレイセッション内のゲームオブジェクトの破壊に使用する破壊の詳細レベルを選択する。実施例では、破壊マネージャー230は、該パフォーマンススコアに基づいて、可能な限り最も高いレベルの破壊の詳細レベルを選択する。例えば、破壊の詳細における三つのレベルは、破壊の詳細における最低レベルと破壊の詳細における中間レベルの間の第1閾値及び破壊の詳細における中間レベルと破壊の詳細における高いレベルの間の第2閾値に対応している。第1及び第2閾値間のパフォーマンススコアでは、破壊マネージャー230は、破壊の詳細における低レベルよりも破壊の詳細における中間レベルを選択する。第2閾値以上のパフォーマンススコアでは、破壊マネージャー230は、破壊の詳細における低レベル又は中間レベルよりも破壊の詳細における高いレベルを使用する。両方とも、破壊マネージャー230は、追加的な制約に反応する。例えば、ゲームオブジェクトは破壊の詳細における中間レベルでのみレンダリングされると指示している、該ゲームオブジェクトの破壊可能な成分などである。
【0037】
破壊マネージャー230は、ここで参照された「パフォーマンスデータ」を反映した、一つ以上の指標に基づいたゲームプレイセッションでのパフォーマンススコアを決定する。パフォーマンスデータは、とりわけ以下の指標から演算され得る 。(i)クライアント装置の現在のフレームレートを示す第1の指標、(ii)ゲームプレイセッションにおけるアクティブな破片の数を示す第2の指標、(iii)クライアント装置110のメモリ、例えば、主メモリ116内の破片の総数を示す第3の指標である。ゲームプレイセッションにおけるアクティブな破片の数は、パフォーマンスデータが生成された際のゲームプレイセッションにおいてレンダリングされた破片の数であり、ゲームプレイ中にどれだけの数(もし、あれば)のオブジェクトがその時点で破壊されたかによって、変化する。反対に、クライアント装置110のメモリ内の破片の総数は、ゲームプレイセッションが開始された時点でセットされ、該ゲームプレイセッション中、静的に保持され得る 。
【0038】
パフォーマンススコアは、破壊マネージャー230により、それぞれの指標を重み付けし、該重み付けした指標を組み合わせて単一の値にすることで決定される。一つの実施例では、パフォーマンススコアは、式(1)で決定される。
【数1】
ここで、Frame Rateは、フレームレートであり、Shard Countは、ゲームプレイセッションでのアクティブな破片の数であり、Total Shardsは、クライアント装置110のメモリ内の破片の総数であり、w1からw3は、それぞれ第1から第3の重みである。他の実施例では、パフォーマンススコアを決定する際に、他の式を使用することも出来、これら三つの指標よりも多くても少なくてもよく、更にここで述べた指標とは異なる指標を使用することも出来る。
【0039】
実施例では、重みは、プリセット値である。他の実施例では、重みの一つ以上は、クライアント装置110の使用を基にしており、例えば、クライアント装置110の主メモリ116の容量である。例えば、w3 は、主メモリ116の容量の測定値と反比例しており、より大きなメモリ容量を持っていると、破片の総計が多くても、その影響を減らすことが出来る。 反対に、いくつかの実施例では、一つ以上の閾値がクライアント装置110の使用に基づくこととなってもよい。演算リソース(例えば、主メモリ116又はプロセッサスピード)が増加すると、閾値はより低くなる関係となる。
【0040】
パフォーマンススコアを決定した後、破壊マネージャー230は、パフォーマンススコアと一つ以上の閾値を比較し、該比較(例えば、パフォーマンススコアが、もしあれば、閾値を上回る)に基づいて、破壊の詳細レベルを選択する。破壊マネージャー230は、該パフォーマンススコアに基づいて許容される最も高いレベルの破壊の詳細を選択する。破壊の詳細レベルの選択の後、破壊マネージャー230は、ゲームシステム200に選択された破壊の詳細レベルでゲームオブジェクトの破壊をレンダリングするように指令する。ゲームシステム200は破壊マネージャー230が新しい破壊の詳細レベルを選択し、ゲームシステム200に破壊の詳細レベルを変更して、新たに選択された破壊の詳細レベルを使用するまで、そのまま動作する。破壊の詳細レベルがあるレベルから他のレベルに変更されると、ゲームシステム200は、直ちに全ての引き続く破壊レンダリングを、破壊の詳細におけるあるレベルから、他のレベルに変更するか、又は、あるレベルから、他のレベルに段階的な切り替えを行う。もしゲームシステム200が段階的な切り替えを行う場合、破壊マネージャー230はゲームオブジェクトの多様な部分集合を、特定の順番で示すことができる。それは、一度にゲームオブジェクトの一つの部分集合が、破壊の詳細における一つのレベルから他のレベルに切り替えられるといったものである。こうした方法では、切り替えは視覚的に不自然なものではなく、多くのゲームオブジェクトを同時に切り替えなくてすむので、どの時点でも演算リソースが少なくてすむ。
【0041】
実施例では、破壊マネージャー230はアクティブな破片の生成割合を追跡し、該追跡された割合に基づいて破壊の詳細レベルを調整する。アクティブな破片の生成割合は、一定時間、例えば、毎秒毎に、ゲームプレイセッションに加わるアクティブな破片の数に基づく。追跡された割合は、アクティブな破片生成の予測された割合に変えることも出来る。この場合、ゲームプレイセッションでの特定のゲームオブジェクト、特定のゲームプレイセッション内で差し迫ったゲームイベントなどを含んだもの、に基づいたものとすることができる。ある実施例では、追跡された割合が、閾値よりも大きな場合、破壊マネージャー230は、破壊の詳細レベルを1段階以上下げる。他の実施例では、追跡された割合は、パフォーマンススコアを決定する際に使用される重みを変えるために使用することも出来る。より高い追跡された割合は、低いスコアとなり、破壊の詳細における高レベルの可能性を低めることとなる。アクティブな破片生成について考慮することで、破壊マネージャー230は、ゲームシステム200で使用される演算リソースの切り替えに関してよりよい方向となり、パフォーマンスの問題を減少させることができる。
【0042】
実施例では、最近の及び/又はスケジュールされたゲーム処理212に基づいたクライアント装置110の見積もられたパフォーマンスに関する予測モデルを維持する。予測モデルを使用して、破壊マネージャー230はクライアント装置110の将来のパフォーマンス、例えば、スケジュールされた処理212の運転時間を見積もる。破壊マネージャー230は、予測モデルを使用して生成された見積りに基づいて、パフォーマンススコアを調整することが出来る。例えば、見積もりに基づいて、破壊マネージャー230は、一つ以上の重みや、パフォーマンススコアそれ自体、一つ以上の閾値又は破壊の詳細レベルを変更することが出来る。
【0043】
物理システム235はゲームセッションにおけるゲームオブジェクトをモデル化し、その動きをシミュレートする。処理212がゲームシステム200内で開始されると、物理システム235は処理212に関連してゲームオブジェクトの動きがどのように影響されるかをモデル化する。例えば、物理システム235は、丘を転がり落ちる岩をモデル化する。該アクション又はゲームオブジェクトにより、他のゲームオブジェクト及びアクションが、該アクション又はゲームオブジェクトと関連を持つようになる。例えば、投げられた岩が他のゲームオブジェクトをひっくり返すかもしれない。これが、ゲームオブジェクトが岩に当たることで新しい処理212のトリガーとなる。物理システム235は、ゲームセッション内のゲームオブジェクトの破壊の動きをモデル化しシミュレートする際に、破壊マネージャー230によって決定された破壊の詳細レベルを使用する。例えば、物理システム235は、破壊の詳細における決定されたレベルで、ゲームオブジェクトに関連した破片セットに基づくゲームオブジェクトをどのように破壊するかを決定する。
【0044】
アニメーションシステム250は、ゲームシステム200からの処理212に基づいて、ゲームプレイセッション内でのゲームオブジェクトの運動学的なアニメーションを行うモジュールである。例えば、処理212が、ロボットアームが動いていることを指定すると、アニメーションシステムはアームの動きを運動学的にアニメーションする。第2の例としては、処理212が、建物が爆発していることを指定すると、アニメーションシステムは、物理システム235によって決定されたように、該爆発の物理現象をアニメーションする。アニメーションシステム250は、特定のアニメーションタスクを実行する多数の特別のモジュールを持っていてもよい。実施例では、アニメーションシステム250は、ゲームプレイセッションでアニメーションがなされると、破壊の詳細レベルを考慮する。
【0045】
サウンドモジュール240は、ゲームプレイセッションで生じるアクションに対応した音を生成する。例えば、「建物」のゲームオブジェクトの破壊は、「爆発」音と対応することができる。アニメーションシステム250からのアニメーションデータ又はレベルマネージャー245からのゲームプレイセッション情報は、サウンドモジュール240へ送られ、サウンドモジュール240が音を生成することができる。サウンドモジュール240はサウンドデータをサウンドコントローラ124へ送る。
【0046】
グラフィックレンダリングモジュール255は、アニメーションシステム250及びレベルマネージャー245からのグラフィックをレンダリングし、ゲームプレイセッションの画像を生成する。例えば、グラフィックレンダリングモジュール255は、アニメーションシステム250からのシーンファイル及びレベルマネージャー245からのゲームオブジェクトを受け取る。グラフィックレンダリングモジュール255は、画像データをGPU114へ送り、例えば、クライアント装置110のディスプレイ又はクライアント装置110に接続されたディスプレイに、ディスプレイコントローラ120を介して、ディスプレイ上に画像をレンダリングする。
【0047】
OS260は、コンピュータハードウェア及びソフトウェアリソースを管理する。特に、OS260は、プログラムとコンピュータハードウェアとの間の仲介者として動作する。例えば、OS260は、ユーザーインターフェース122からの入力の認識及びディスプレイコントローラ120への出力を送るなど、ベーシックタスクを実行する。
【0048】
副メモリ118内のコンテンツソース270は、グラフィックデータ272、オーディオデータ274、イベントデータ276及びオブジェクトデータ278などを含む、多様なデータを含んでいる。実施例によれば、コンテンツソース270内のいくつか又は全てのデータは、代わりに主メモリ116内に格納され得る。コンテンツソース270は、レベルマネージャー245からデータ要求を受け取ると、データをレベルマネージャー245に送る。例えば、レベルマネージャー245が破壊マネージャー230からグラフィックデータに関する情報要求を受け取ると、レベルマネージャー245はコンテンツソース270から情報を要求し、コンテンツソース270は該情報をレベルマネージャー245へ送る。
【0049】
グラフィックデータ272は、例えばポリゴンメッシュ及び一つ以上の破片セットなどの、一つ以上のゲームオブジェクトに関するグラフィックデータである。
図3を参照して詳細に述べるが、各ゲームオブジェクトは、一つ以上の破片セットと関連しており、ゲームオブジェクトの各破片セットは破壊の詳細における異なるレベルと関連している。
【0050】
オーディオデータ274は、音、例えば、音の断片など、に関連したデータを含む。オーディオデータ274の各部分は、一つ以上のゲームオブジェクトに関連付けられ得る 。サウンドモジュール240は、オーディオデータ274を受け取り、それを使って、ゲームオブジェクトの破壊などの、ゲームプレイセッション内で生じるアクションに対応した音を生成する。
【0051】
イベントデータ276は、ゲームプレイセッション内で生じるゲームイベントを含む。各ゲームイベントは一つ以上のゲームオブジェクトに関する破壊処理と関連している。破壊処理は、ゲームプレイセッションでの関連するゲームイベントが生じることでトリガーとなり得る 。
【0052】
オブジェクトデータ278はゲームオブジェクトを有する。各ゲームオブジェクトは、実施例による多様な情報を含むことが出来る。これは、ポリゴンメッシュ及び一つ以上の破片セットを有するゲームオブジェクトに関連させるたに使用される識別子を有する。実施例では、オブジェクトデータ278は、グラフィックデータ272を含む。
【0053】
図3は、実施例による、
図1の装置のメモリ内のソフトウェアモジュールによって使用されるグラフィックデータ272のブロック図である。グラフィックデータ272は、ゲームオブジェクトに関する破片セットを定義する、破壊データ300を含む。各ゲームオブジェクトは、一つ以上の破片セットと関連しており、それぞれは異なる破壊の詳細レベルに対応している。実施例では、3段階の破壊の詳細レベルがある。破壊の詳細における第1レベル(「レベル1」)は、破壊の詳細における最も低いレベルで、最も少ない破片数であり、破壊の詳細における第2レベル(「レベル2」)は、破壊の詳細における中間のレベルで、破片数も中間の数であり、破壊の詳細における第3レベル(「レベル3」)は、破壊の詳細における最高のレベルで、破片数も最大数である。
【0054】
異なるゲームオブジェクトは、異なる数及び/又は構成の破片を持った異なる破片セットを有することができる。例えば、第1のゲームオブジェクト(オブジェクト1)及び第2のゲームオブジェクト(オブジェクト2)はそれぞれ3つの破片セットに関連している。各オブジェクトにおいて、レベル1データは、レベル1に対応した破片セットであり、レベル2データは、レベル2に対応した破片セットであり、レベル3データは、レベル3に対応した破片セットである。例えば、オブジェクト1のレベル1データは100の破片を有し 、またオブジェクト2のレベル1データは、110の破片を有する場合がある 。オブジェクト1のレベル2のデータと、オブジェク2のレベル2のデータは、共に1000の破片を有することができる が、異なる構成である。例えば、もしオブジェクト1が建物を表し、オブジェクト2が山を表している場合、オブジェクト1のレベル2データは、組み合わせると直方体となり、一方、オブジェク2のレベル2データは、組み合わせるとピラミッド形となり得る 。オブジェクト1のレベル3データは10000の破片を有し、またオブジェクト2のレベル3データは、10110の破片を有する。実施例では、破壊の詳細レベルが大きくなると、各破片は、より低い詳細レベルの破片の部分を表す。例えば、オブジェクト1のレベル3データの各破片は、オブジェクト1のレベル2データの破片の一部である。
【0055】
ゲームシステム200は、破片セットを動的に決定することは無く、破壊データ300内に含まれる予め作成された破片セットを使用する。ゲームシステム200がゲームプレイセッションを開始すると、ゲームシステム200はゲームプレイセッションにどのゲームオブジェクトが含まれるか、又は含まれうるかを決定し、例えばレベルマネージャー245が、それらを主メモリ116にロードする。実施例では、ゲームプレイセッションでのパフォーマンスデータ、特にメモリ保持された破片の総数、は、ゲームプレイセッションのために、主メモリ116内にロードされた破片の総数に基づいている。
【0056】
図3は、3つの異なる破壊の詳細レベルを使用することを述べたが、これは単に例示的なものである。3個以上の破壊の詳細レベル又は単に二つの破壊の詳細レベルもまた、使用することが出来る。
【0057】
図4Aから4Cは、実施例に基づく、同じゲームオブジェクトの異なる破壊の詳細レベルでの破片を示す。
図4Aは、オブジェクト410のレベル1でのゲームオブジェクトの破壊データ300を示す。このレベルでは、ゲームオブジェクトの破壊データ300-オブジェクト410の破片セット-は単一の破片420である。この破片420は、破壊されていないオブジェクト410を表すポリゴンメッシュであってもよく、オブジェクト410の破壊は、ゲームプレイセッションから破片420を除去することを伴ってもよい。例えば、クライアント装置が破片420のレンダリングを止めるなどである。
【0058】
図4Bは、オブジェクト410のレベル2でのゲームオブジェクトの破壊データ300を示す。このレベルでは、破壊データ300は、3個の破片を有し、各破片430は破片420の一部であり、一緒になって破片420によって図形的に表される全体オブジェクト410を表す。従って、レベル2のオブジェクト410の破壊によって、破片430をばらばらにすることができる。 例えば、ゲームプレイセッションでのオブジェクト410の破壊によって、それぞれが異なる位置に着陸するように三つの破片430にバラバラにしてもよい。
【0059】
図4Cは、オブジェクト410のレベル3でのゲームオブジェクトの破壊データを示す。このレベルでは、破壊データ300は、破片440A~Bを含む、21個の破片を有する。このレベルの各破片はレベル2の破片420の一部である。例えば、破片440A~Bは共に破片430Aの一部である。レベル3のオブジェクト410の破壊によって、レベル2の三つの破片よりも、より詳細に、また複雑な方法でバラバラな21個の破片となってもよい 。例えば、オブジェクト410が窓だった場合、その窓が石で割られたとすると、レベル2では、破壊は、石が窓を3個の破片に割る形としてもよいし 、また、レベル3では、破壊は、石が窓を21個の破片に粉々に割る形としてもよい 。
【0060】
図5は、実施例に基づいて、ここで述べた技術を実行する工程を示すフローチャートである。クライアント装置110は、ステップ502で、破壊に関するゲームオブジェクトの情報を受け取る。情報は、ゲームオブジェクトの一つのセット情報又は、クライアント装置110が、該クライアント装置110上で動作するゲームプレイセッション内での破壊をレンダリングすべきゲームオブジェクトの参照情報であってもよい。
【0061】
クライアント装置110は、ステップ504で、パフォーマンスデータに基づいてゲームオブジェクトの破壊の詳細レベルを決定する。破壊の詳細レベルは、ゲームオブジェクトを破壊する際の、破片の数又は構成に対応している。パフォーマンスデータは、クライアント装置110の演算パフォーマンスを追跡した指標である。破壊の詳細レベルは、更に 、実施例に応じて、クライアント装置のパフォーマンスを見積もる予測モデル又は、アクティブな破片生成速度に依存してもよい。
【0062】
クライアント装置110は、ステップ506で、決定された破壊の詳細レベルに基づいてゲームオブジェクトのグラフィックデータを引き出す。例えば、破壊すべき各ゲームオブジェクトについて、クライアント装置110は、破壊の詳細レベルに対応した破片セットを引き出す。破片セットは、クライアント装置110の主メモリ116及び/又は副メモリ118内に格納してもよい。
【0063】
クライアント装置110は、ステップ508で、引き出されたグラフィックデータを使ってゲームオブジェクトの破壊をレンダリングする。例えば、クライアント装置110は、ステップ508で、それぞれのゲームオブジェクトの破壊を、該ゲームオブジェクトについて引き出された破片セットに壊れてしまうようにレンダリングする。
【0064】
実施例では、破壊の詳細レベルは、二つ以上の破壊の詳細レベルの内の一つであり、各破壊の詳細における各レベルは、ゲームオブジェクトの破片の数や構成が異なった形で破壊される点を規定する。
【0065】
実施例では、決定された破壊の詳細レベルに基づくゲームオブジェクトのグラフィックデータの引き出しは、クライアント装置110が、各ゲームオブジェクトについて、決定された破壊の詳細レベルに対応したゲームオブジェクトの破片セットを決定して、該決定された破片セットのグラフィックデータを引き出すことを含む。各ゲームオブジェクトは、二つ以上の破片セットと関連しており、ゲームオブジェクトの各破片セットは異なる破壊の詳細レベルに対応しており、該ゲームオブジェクトの他の破片セットとは異なる数及び構成の破片を有する。
【0066】
実施例では、パフォーマンスデータは、フレームレート、ゲームプレイセッションでのアクティブな破片の数及びクライアント装置のメモリにロードされた破片の総数の内、少なくとも一つを含む。
【0067】
実施例では、パフォーマンスデータによるゲームオブジェクトの破壊の詳細レベルの決定は、クライアント装置110が該パフォーマンスデータから引き出されるスコアを生成し、一つ以上の閾値と比較して、該スコアに基づく破壊の詳細レベルを確認することを含む。各閾値は、破壊の詳細における異なるレベルと対応する。実施例では、一つ以上の閾値は、クライアント装置110のパフォーマンス能力に基づくものである。
【0068】
実施例では、クライアント装置110は、少なくとも一つの最近の及びスケジュールされたゲームオペレーションに基づいて、該クライアント装置のパフォーマンスを見積もる予測モデルを持っている。クライアント装置110は、予測モデルに基づいてクライアント装置のパフォーマンスを見積もり、またゲームオブジェクトの破壊の詳細レベルの決定を、該クライアント装置の見積もられたパフォーマンスに基づかせる。
【0069】
上述した実施例は、ゲームシステムを参照して主に説明したが、実施例は、地図アプリケーション又は配車アプリケーションなど、エンジニアリングソフトウェア、ナビゲーションソフトウェア及び教育ソフトウェアなどの他のアプリケーションに応用することが出来る。更に、実施例は、リサーチアプリケーションにも適用することができる。
【0070】
特定の実施例及び適用例が示され、述べられたが、発明はここで述べられた正確な構造及び構成に限られるものでは無く、当業者にとって自明な多様な変形、変更、変化が、ここでの開示の範囲及び精神から離れない限り、ここで述べられた方法及び装置の配置、運転及び詳細について可能である。