(57)【要約】  ユーザがいくつかのパーツを選択して、マシンに組み立てることができるゲームにおいていくつかのコンポーネントパーツがユーザに提示される。コンポーネントパーツの一部または全部は、制御可能パラメータを有することができ、これらはゲームをプレイするために使用されるゲームコントローラ上のインプットにマッピングされる。
2010531711.tif 000002
【特許請求の範囲】
【請求項１】
エレメントのライブラリ（１０２）と、
ゲームアプリケーション（１０１）であって、
前記エレメントのライブラリをユーザに提供し、
前記ライブラリ（１０２）からの複数のエレメントのユーザ選択および配置を可能にしてマシンを作成し、
各エレメントの任意の制御可能パラメータをゲームコントローラ上のインプットにマッピングする
ように構成されたゲームアプリケーションと
を備えたことを特徴とするゲーム。
【請求項２】
前記ゲームアプリケーションは、マッピングをマッピングデータストア（１０３）にストアするようにさらに構成されたことを特徴とする請求項１に記載のゲーム。
【請求項３】
前記エレメントのライブラリは、各々のエレメント（３０２）について、少なくとも１つの関連する物理的パラメータ（３０４）を備えたことを特徴とする先行する請求項のいずれかに記載のゲーム。
【請求項４】
前記ゲームアプリケーションは、
ゲームコントローラから受け取ったインプットおよび複数のエレメントの各々と関連付けられた前記少なくとも１つの物理的パラメータに基づいて、実行時にマシンに対する少なくとも１つの力を計算するようにさらに構成されたことを特徴とする請求項３に記載のゲーム。
【請求項５】
前記ゲームアプリケーションは、
マシンの動きを定義するシミュレータに前記少なくとも１つの力を入力するようにさらに構成されたことを特徴とする請求項４に記載のゲーム。
【請求項６】
前記エレメントのライブラリは、各々のエレメント（３０２）について、少なくとも１つのコネクションポイント（３０１）を備えたことを特徴とする先行する請求項のいずれかに記載のゲーム。
【請求項７】
前記ゲームアプリケーションは、
エレメントを位置合わせするメカニズムを提供するようにさらに構成されたことを特徴とする請求項６に記載のゲーム。
【請求項８】
同一の制御可能パラメータは、ゲームコントローラ上の同じインプットにマッピングされたことを特徴とする先行する請求項のいずれかに記載のゲーム。
【請求項９】
マシンは、第１のサブマシンと第２のサブマシンとを備え、各エレメントのいずれかの制御可能パラメータをゲームコントローラ上のインプットにマッピングすることは、
第１のサブマシンにおける各エレメントの任意の制御可能パラメータを第１のゲームコントローラ上のインプットにマッピングし、
第２のサブマシンにおける各エレメントの任意の制御可能パラメータを第２のゲームコントローラ上のインプットにマッピングすることを備えたことを特徴とする先行する請求項のいずれかに記載のゲーム。
【請求項１０】
ゲームにおける方法であって、
エレメントのライブラリをユーザに提供すること（２０１）と、
前記ライブラリ（１０２）からの複数のエレメントのユーザ選択および配置を可能にして、マシンを作成すること（２０２）と、
各エレメントの任意の制御可能パラメータをゲームコントローラ上のインプットにマッピングすること（２０３）と、
を備えることを特徴とする方法。
【請求項１１】
マッピングをマッピングデータストアにストアすることをさらに備えることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記エレメントのライブラリは、各々のエレメントについて、少なくとも１つの関連する物理的パラメータを備え、前記方法は、
ゲームコントローラから受信したインプットおよび複数のエレメントの各々と関連付けられた少なくとも１つの物理的パラメータに基づいて、実行時にマシンに対する少なくとも１つの力を計算すること（２９４）をさらに備えたことを特徴とする請求項１０または１１に記載の方法。
【請求項１３】
前記方法は、マシンの動きを定義するシミュレータに前記少なくとも１つの力を入力すること（２０５）をさらに備えたことを特徴とする請求項１２に記載の方法。
【請求項１４】
各エレメントの任意の制御可能パラメータをゲームコントローラ上のインプットにマッピングすることは、
同一の制御可能パラメータをゲームコントローラ上の同じインプットにマッピングすることを備えることを特徴とする請求項１０乃至１３のいずれかに記載の方法。
【請求項１５】
前記マシンは、第１のサブマシンと第２のサブマシンとを備え、各エレメントの任意の制御可能パラメータをゲームコントローラ上のインプットにマッピングすることは、
第１のサブマシンにおける各エレメントの任意の制御可能パラメータを第１のゲームコントローラ上のインプットにマッピングし、
第２のサブマシンにおける各エレメントの任意の制御可能パラメータを第２のゲームコントローラ上のインプットにマッピングすることを備えることを特徴とする請求項１０乃至１４のいずれかに記載の方法。
【請求項１６】
前記エレメントのライブラリは、各々のエレメントについて、少なくとも１つのコネクションポイントを備え、前記方法は、
エレメントを位置づけるメカニズムを提供することをさらに備えることを特徴とする請求項１０乃至１５のいずれかに記載の方法。
【請求項１７】
ゲームにおける方法であって、
複数のマシンコンポーネントをゲーマに表示することと、
マシンを作成するために結合される少なくとも２つのマシンコンポーネントを前記複数のマシンコンポーネントから選択する第１のユーザインプットの受信を可能にすることと、
前記少なくとも２つのマシンコンポーネントの各々と関連付けられた任意の制御可能パラメータをユーザインプットデバイス上の少なくとも１つのコントロールにマッピングすることと、
を備えることを特徴とする方法。
【請求項１８】
前記第１のユーザインプットは、前記マシン内で前記少なくとも２つのマシンコンポーネントの相対的に位置づけに関する情報をさらに備えることを特徴とする請求項１７に記載のゲームにおける方法。
【請求項１９】
各マシンコンポーネントは、少なくとも１つの関連物理的パラメータを有し、前記方法は、
前記少なくとも１つのコントロールから第２のユーザインプットを受信すると、前記第２のユーザインプットに基づいて前記マシン上の少なくとも１つの力を計算することであって、前記制御可能パラメータは前記少なくとも２つのマシンコンポーネントの各々と関連付けられ、物理的パラメータは前記少なくとも２つのマシンコンポーネントの各々と関連付けられたことをさらに備えることを特徴とする請求項１７または１８に記載のゲームにおける方法。
【請求項２０】
前記マシンの動きパラメータを発生するように構成されたシミュレータに前記少なくとも１つの力を出力することをさらに備えることを特徴とする請求項１９に記載のゲームにおける方法。
【発明の詳細な説明】
【背景技術】
【０００１】
いくつかの現在のコンピュータゲームは、ユーザがスポイラ、ホイールなどのエレメントを変更することによってレーシングカーなどの乗物をカスタマイズすることを可能にしている。しかし、許容されるバリエーションの数は制限され、許容されるフィーチャ(feature)の各組み合わせの物理的パフォーマンスは事前に計算され、ゲームにハードコード化されている。これは、ユーザに実現可能に提供できる柔軟性を制限する。
【０００２】
子供向けであるいくつかの教育用ソフトウェアゲームが存在し、これらは、パーツの構築キットおよびドラッグアンドドロップ(drag and drop)インタフェースを提供することによってより大きい柔軟性を提供して、ユーザがパズルを解く複雑怪奇な仕掛け(Rube-Goldberg contraption)を構築することを可能にしている。
【発明の概要】
【０００３】
以下は、読者に基本的理解を提供する目的で開示の簡単な概要を提示する。この概要は、開示の網羅的なオーバービューではなく、本発明のキーとなる／重要なエレメントを特定するものでも、本発明の範囲を画定するものでもない。その唯一の目的は、本明細書に開示したいくつかの概念を、後に提示する詳細な説明の序論として簡単な形式で提示することである。
【０００４】
ユーザがいくつかのパーツを選択し、マシンに組み立てることができるゲームにおいていくつかのコンポーネントパーツがユーザに提示される。コンポーネントパーツの一部または全部は制御可能なパラメータを有することができ、これらはゲームをプレイするために使用されるゲームコントローラ上のインプットにマッピングされる。
【０００５】
付随的特徴の多くは、添付図面と関連して考慮される以下の詳細な説明の参照によってより良く理解されるのに伴って、より容易に理解されるであろう。
本説明は、添付の図面に照らして読まれる以下の詳細な説明からより良く理解されるであろう。
【図面の簡単な説明】
【０００６】
【図１】ユーザがマシンを作成するのを可能にするゲームの機能エレメントを示す概略図である。
【図２】ゲームアプリケーションのオペレーションを示す例示のフロー図である。
【図３】エレメントのライブラリにストアされたデータを示す概略図である。
【図４】例示のマシンを示す概略図である。
【図５】ゲーミングデバイスのネットワークを示す概略図である。
【図６】ゲーミングサーバのオペレーションの方法を示す例示のフロー図である。
【図７】本明細書に記載の方法の実施形態を実現することができる例示のコンピューティングベースのデバイスを示す図である。
【発明を実施するための形態】
【０００７】
添付図面において、類似のパーツは類似の参照符号を用いて示されている。
添付の図面と関連して以下に提供される詳細な説明は、本発明の例を説明したものであり、本発明の例を構築または利用できる唯一の形態を表したものではない。この説明は、例の機能および例を構築し、操作するためのステップのシーケンスを示しているが、同じまたは同等の機能およびシーケンスが異なる例で達成されることもできる。
【０００８】
図１は、ユーザが乗物、武器またはその他のタイプのマシンなどのマシンを、ユーザが選ぶ任意の方法でコンポーネントパーツのライブラリから作成することを可能にするゲームの機能エレメントを示す概略図である。これらのマシンはその後にゲームのプレイで使用することができ、これは単一のコンソール上であることも、ネットワークを介することもある（例えば、Ｘｂｏｘ  Ｌｉｖｅ（商標）などのシステムを使用して）。ゲームはゲームアプリケーション１０１を備え、エレメントのライブラリ１０２（これらのエレメントはコンポーネントまたはビルディングブロックと呼ばれることもある）、マッピングデータ１０３およびコントローラインタフェース１０４がゲームアプリケーションと関連付けられている。メタルパネル、モータ、ホイール、ステアリングエレメント、ロケットブースタなどのアイテムを備えることができるエレメントのライブラリ１０２内のエレメントの各々は、物理的パラメータ（質量、慣性モーメント、質量中心、摩擦、復原(restitution)、密度、硬さなどの１つまたは複数）およびエレメントが制御可能な場合には、いくつかの制御可能なパラメータ（ステアリング、スラスト(thrust)、スピード、点火制御など）が関連付けられたセットを有している。これらの制御可能なパラメータの各々は、ゲームコントローラ上のコントロール（インプットとも呼ばれる）にマッピングされており（例えば、ステアリング制御可能パラメータは左/右コントロールにマッピングされ、スラスト制御可能パラメータは前進/逆進コントロールにマッピングされ、点火制御はコントローラ上のボタンにマッピングされている、など）、そのマッピング関係はマッピングデータストア１０３にストアされている。使用される特定の物理的パラメータおよび制御可能パラメータは、特定のゲームに依存することが理解されよう。物理的パラメータ「復原(restitution)」は、あるオブジェクトが別のオブジェクトと衝突したときにそのオブジェクトに返されるエネルギーの量を表すために使用されている（例えば、よく弾むボールは高い値を有し、スチールのけた(steel girder)は低い値を有する）。
【０００９】
ゲームアプリケーション１０１のオペレーションは図２を参照して説明することができ、図２においてエレメントのライブラリ１０２からのエレメントがユーザに提供されている（ブロック２０１）。提供されるこれらのエレメントは、そのライブラリ内のエレメントのサブセットを備えることも、すべてのエレメントを備えることもあり、これらのエレメントはエレメントの表現をグラフィカルユーザインタフェース(ＧＵＩ)でユーザに提示することによって提供することができる。アプリケーションは、ユーザが提供された複数のエレメントを選択し、例えば、ＧＵＩのドラッグアンドドロップインタフェースを使用してそれらを配置してマシンを作成することを可能にする（ブロック２０２）。選択した複数のエレメントの制御可能パラメータ（またはフィーチャ）の各々は、マッピングデータ１０３に基づいてゲームコントローラ上のコントロールにマッピングされる（ブロック２０３）。結果としてのマシンはその後に引き続いてテストすることも、ゲームプレイで使用することも、および／または将来の使用のためにセーブすることもできる。このプロセスは構築したマシンを改善するために繰り返すことができる（図２の点線の矢印に示すように）。組み立てたマシンは、プロセスのどのステージでもストアすることができる（例えば、プロセスを通る途中または終了時に）。マシンが使用されるとき（テスト時またはゲームプレイで）、マシンに対する力は、制御可能パラメータがマッピングされているコントロールから受信したインプットに基づいて、および各エレメントについてストアされた物理的パラメータとエレメントの構成にも基づいてリアルタイムで計算される（ブロック２０４）。上述したように、物理的パラメータはエレメントのライブラリ１０２にストアしておくことも、別の場所にストアしておくこともできる。これらの力はその後に、マシンの動きを定義するリジッドボディ（剛性体）シミュレータにインプットすることができる（物理的パラメータの一部または全部と共に）。リジッドボディシミュレータは、それ与えられた力（ブロック２０４で計算されたもの）のほかに、付加的力（例えば、エレメントまたはマシンをひとつに接続したことに起因する）を計算することも、付加的力（例えば、重力、摩擦）を考慮に入れることもできる。リジッドボディシミュレータは、Ｈａｖｏｃ（商標）によって提供されるエンジンのような物理エンジン(physics engine)を備えることも、任意の他の方法で実現することもできる。
【００１０】
ゲームアプリケーション内では、コントロールモジュール（図１には図示していない）を使用して、組み立てられたマシンに対する力を計算することができる（ブロック２０４）。複数のコントロールモジュールを提供することができる（例えば、車などの特定のマシンタイプについての力の計算のために別のモジュールを提供することも、異なるフォースアプリケータ(force applicator)が同じリジッドボディに適用されることもある。）
【００１１】
図２の点線の矢印で示されるように、プロセスはいつでも繰り返すことができる。例えば、コンポーネントは、損傷したり、摩滅したり、消耗したり、アップグレード／改善したりされる能力を有することができる。この例においても、他の例においても、マシンは、例えば、マシンをひとつにする接続を通じて、その動作時になんらかの方法で別のマシンによる影響を受ける可能性がある。結果として一緒にされたマシンは、一人のゲーマによって制御されることも、二人以上のゲーマによって制御されることもある（詳細は以下の記載のとおり）。例えば、磁性フック(magnetic hook)を備えた「ヘリコプタ」リフティングマシンはそれ自体を別のマシンに接続して（磁性フックを通して）それを運ぶことがあり、この第２のマシンも第１のマシンのコントロール／方向／スピードに影響を及ぼすことになるスラスタ(thruster)を有することができる。これは、例えば、第２のマシン（第１のマシンによってフックされている）は、マルチプレイヤゲームにおけるコンピュータの人工知能（ＡＩ）または別のプレイヤによって制御されるいくつかのゲームアプリケーションで活用することができる。この第２の制御側エンティティの目的は、第２のマシンが「キャプチャ(captured)」または「フック(hooked)」されたとき第１のマシンのオペレーションを援助するか、妨害するかのどちらかであることがある。
【００１２】
ユーザ作成マシン（ブロック２０２で組み立てられた）は同じ制御可能パラメータ（例えば、各々が「スラスト」の制御可能パラメータを有する２つのロケットブースタ）を有するいくつかのエレメントを備えている場合、各エレメントのその制御可能パラメータは、ゲームコントローラ上の同じコントロールにマッピングすることができ、そのため、ユーザがそのコントロールを操作したとき、各エレメントはゲームプレイ内でスラストを提供することになる。エレメントの各々から提供された制御パラメータ（例えば、スラスト）の量は、エレメントおよびその制御可能パラメータに関連付けられたパラメータに依存することができる。例えば、２つの同じロケットのスラスタは、同じ量のスラストを提供し、同じコントロールに対し同一に応答することができるが、異なるサイズまたはタイプのスラスタ（例えば、ロケット、ジェット、イオン、プロペラなど）を接続すると、異なる量のパワー、異なるパワー曲線および／または同じコントロールに対する異なるレスポンスを提供することができる。しかるに、別の例では、マシンはいくつかのサブマシンを備えることができ、その各々は別個のゲーマによって操作することができる（例えば、乗物は第１のサブマシンを備えることがあるのに対し、その乗物に装着された武器は第２のサブマシンを備えることがある）。このような例では、各特定のサブマシンにおけるエレメントの制御可能パラメータは、異なるゲームコントローラ上のコントロールにマッピングすることができる（例えば、サブマシン１はゲームコントローラ上のコントロールにマッピングされ、サブマシン２はゲームマシン２上のコントロールにマッピングされるなど）。
【００１３】
公知のゲームとは異なり、上述した方法およびゲームは、組み立てたマシンのパフォーマンスに関する事前に計算されたパラメータを含んでいないが、その代わりに、各制御可能コンポーネントパーツの物理的パラメータが、これらの制御可能コンポーネントパーツの制御可能パラメータに関するインプットに加えて、マシンに対する制御力(control force)をリアルタイムで発生するために使用される。リアルタイムでの力の計算に備えて、いくつか初期計算は、マシンの組み立て時に行なうことができる。計算された力は、そのあと、マシンの結果としての動きを定義するために使用することができる。従って、エレメントは、ゲーム設計者によって定義された限られた数のオプションから選択するのではなく、ユーザの選択に応じて、どのようにも組み合わせることができる。
【００１４】
すべてのコンポーネントパーツ（またはエレメント）が少なくとも１つの物理的パラメータを有しているのに対し、すべてのコンポーネントパーツが制御可能パラメータを有しているわけではない（例えば、メタルパネルは制御可能パラメータを有していない）。一部のコンポーネントパーツは動くことができるのに対し（例えば、ホイール）、それでも、これらのコンポーネントパーツが制御可能パラメータを有していないことがあるのは、ユーザのコントロールの下で動くことができるモータまたは他のパワーソース（動力源）を必要とするからである（そうでない場合は、これらのコンポーネントパーツは、重力などの、他の加えられた力に基づいてのみ動くことになる）。
【００１５】
エレメントの各々は個々の目的を有することがあり、いくつかの例では、各エレメントは１つの制御可能パラメータだけを有することがある。例えば、モータは「スピード」の制御可能パラメータを有することができ、ロケットブースタは「スラスト」の制御可能パラメータを有することができるなどである。エレメントは限られた数の制御可能パラメータを有することができるのに対し（例えば、１つだけ）、組み立てられたマシンに加えられる力に関するこれらの制御可能パラメータの影響によって、組み立てられたマシンの動きの多くの側面に変化が生じることがある。例えば、ホイールまたは方向舵は方向を制御することができるかもしれないが、戦略的に配置された複数のスラスタが方向を制御するために使用することができるかもしれない。ホイールは、特定のコントロールの下で制動力を供給することができるかもしれないが、配備されたアンカー(anchor)もそうすることがある。
【００１６】
エレメントの各々と関連付けられた物理的パラメータは、実世界の同じエレメントの表現であることがあり、例えば、スチールパネルは、現実のスチールパネルに一致する質量や密度などの物理的パラメータを有することができる。しかし、多くのゲーム世界は、正確なニュートン力学(Newtonian Dynamics)をシミュレートしておらず、そのため、多くの例では、物理的パラメータまたは力が計算される（ブロック２０４において）仕方は、ゲームの特定の要件に従って調節することができる（例えば、パネルは実生活の同等のものに満たない質量パラメータを有することがあり、そのため、それから構築された戦争マシンは飛行または浮遊することができる）。
【００１７】
エレメントの各々は、エレメントが別のエレメントに接続することができる１つまたは複数の定義されたコネクションポイントを有することができる（例えば、ホイールは、ホイールのどちらかの側に車軸のコネクションポイントを１つ有することもあれば、２つ有することもある）。これらのコネクションポイント３０１の詳細は、図３の概略図に示すように、エレメントのライブラリ１０２にエレメント３０２と関連付けてストアすることができ、図３は、上で議論した制御可能パラメータ３０３および物理的パラメータ３０４も示している。
【００１８】
特定のエレメントの定義したコネクションポイントは、選択的とすることができ、各コンポーネント上の１または複数のロケーションで利用可能であることがある標準のコネクションポイントタイプを有し、任意のコンポーネント上の任意のコネクションポイントを他の任意のコンポーネント上の任意のコネクションポイントに接続させるのではなく、いくつかまたはすべてのコンポーネント上のコネクションポイントのいくつかまたはすべては、他のいくつかまたはすべてのコンポーネントまたは同じタイプのコンポーネント上のいくつかまたはすべてのコネクションポイントに接続しないことがある。このコネクションポイントの選択性は、特定のゲーム内のメカニズムで定義することができる。例えば、２つのコンポーネントだけからマシンを構築するためにステアリング可能ホイールをスラスタに直接に接続することが許されないことがあるが、ゲーマ(gamer)は標準のシャーシコンポーネント上の任意のコネクションポイントにホイールを接続し、同じシャーシコンポーネント上の任意の残りのコネクションポイントにスラスタを接続することができることもある。
【００１９】
選択したエレメントの組み立てを支援するために（ブロック２０２において）、ゲームアプリケーションは、エレメント（またはブロック）を位置合わせするためのメカニズムを提供することができる。いくつかのメカニズム例について、以下に説明する。
【００２０】
第１のメカニズム例では、３Ｄマトリックスのビジュアル指示がコネクションポイントを示すエレメントの周りに提供することができ、オブジェクトがユーザからのコントロールインプットに応答してあるコネクションポイントから別のコネクションポイントにジャンプすることができる。別の例では、あるポイントから別のポイントにジャンプする代わりに、オブジェクトはあるコネクションポイントにいる間、そのポイントで接続する要求を示すインプットを待ちながら、一時停止することができる。
【００２１】
別のメカニズム例では、ゲームアプリケーションは、ユーザが、定義したコネクションポイントとは別のポイントでエレメントを接続することを試みるとき、コネクションポイント間のシミュレートした磁気吸引力および対応するシミュレートした反発力を提供することができる（例えば、２つのエレメントがコネクションポイントでないポイントでひとつされた場合は、これらのエレメントは、ユーザによって解放されたとき、弾力で引き離されるように表示することができる）。
【００２２】
さらに別のメカニズム例では、２つのエレメントが結合のために正しい位置に位置合わせされるとき、他の任意の種類のビジュアルまたはオーディブル指示を提供することができる。あるいは、定義したコネクションポイントに対応していない位置で２つのエレメントがひとつにされたときアラートを提供することができる。
【００２３】
エレメントを位置合わせするのを支援するメカニズムの説明は個々のエレメントを結合することに関するが、これらのメカニズムは、部分的に完成したマシン、サブマシンおよび全体マシンなどの、エレメントのグループにも適用可能である。エレメントのグループに対するコネクションポイントはユーザ定義とすることも（例えば、ユーザは、その後に乗物に装着され、第２のゲーマによって操作されるときサブマシンとみなすことができる武器のコネクションポイントを定義することができる）、コネクションポイントがグループ内のエレメントの特定の組み合わせの結果としての効果とすることができる（例えば、既に使用されておらず、アクセス可能であるグループ内のエレメントに対するコネクションポイント）。別の例では、エレメントのグループに対するコネクションポイントは、個々のエレメントについて上述したのと同じ方法で選択的とすることができる。
【００２４】
図４は、ゲームアプリケーションおよび上述した方法を使用して作成することができるマシン４００の一例を示している。このマシンは、６つエレメントを備えている。すなわち、２つホイール４０１、モータ４０２、ステアリングエレメント４０３、パネル４０４およびシート４０５である。このマシンは、説明の便宜のためにのみ２Ｄマシンであり、このマシン（およびマシンが構成されるエレメント）は３次元とすることができることが理解されるであろう。これらのエレメントのうちの２つ（モータとステアリングエレメント）は制御可能パラメータ（スピードと方向）を有することができ、これらはゲームマシン上の２つの異なるインプットにマッピングすることができる（例えば、スピードは前進／後進コントロールにマッピングすることができ、方向は左／右コントロールにマッピングすることができる）。マシン４００に適用される力は、６つのエレメントの各々の物理的パラメータおよび制御可能パラメータがマッピングされているゲームマシン上のインプットからのインプット（例えば、前進／後進および左／右コントロールからの）に基づいてリアルタイムで計算することができる。これらの計算した力は、そのあとでマシンの動きを発生するために使用することができる。
【００２５】
ライブラリ１０２内のすべてのパラメータはゲーム開発者によって提供することができるが、いくつかの例では、追加のエレメントは他のゲーム開発者などのサードパーティによって提供することも、ゲーマによって発生することもある。これにより、ネットワーク接続のゲームプレイにおいて、ゲーマが異なるフィーチャセットを有する状況になる（すなわち、エレメントの異なるライブラリにより、他のゲーマがもっていないエレメントを使用してマシンを構築することができるという結果になる）。異なるフィーチャセットをもつゲーマが依然として一緒にプレイできるようにするためには、「Transfer of features between gaming devices」と題され、２００６年６月２０日に出願された同時継続の米国特許出願第11/425,258号に記載された方法を使用することができる。この方法は、図５と図６を参照して以下に説明され、米国特許出願第11/425,258号は引用によってその全体が本明細書に組み込まれる。
【００２６】
ゲーミングデバイスを１つに接続するこの方法は、以下に説明されており、異なるフィーチャセットをもつデバイス間でマルチパーティのゲームを可能にする。デバイスはいくつかのゲーミングデバイスからデータを受け取り、各ゲーミングデバイスがどのフィーチャを要求しているかを判定する。これらの要求されたフィーチャは、特定のデバイスに保持されていないが、他のデバイスの１または複数によって保持されているフィーチャである。各ゲーミングマシンによって要求される特定のフィーチャに関するコードがそのあとでゲーミングデバイスの各々に転送される。
【００２７】
図５は、ゲーミングデバイスのネットワーク５００を示す概略図である。ネットワークは、サーバ５０２（例えば、Ｘｂｏｘ  Ｌｉｖｅ（登録商標）サーバ）を介して一緒に接続された４つのゲーミングデバイス５０１（例えば、Ｘｂｏｘ３６０（商標））を備える。各ゲーミングデバイスはコンソール５０３、ディスプレイ５０４およびコントローラ５０５を備えている。コネクションはワイヤードまたはワイヤレス、直接または間接（例えば、インターネットを介して）にすることができる。ネットワークは、より多くのまたはより少ないデバイスを備えることができ、各デバイスは、異なるゲーマが異なるコントローラを使用して同じゲームをプレイする状態で１または複数のコントローラを接続することができることが理解されるであろう。サーバ５０２のオペレーションについて図６を参照して説明する。サーバはゲームに参加するゲーミングデバイス５０３の各々からのリクエストを受け取り（ステップ６０１）、これらのリクエストに応答して、サーバは問題のゲームに関するアトリビュート（属性）情報についてゲーミングデバイスの各々をポーリングする（ステップ６０２）。このアトリビュート情報は、ゲームのレベル、武器、アバター(avatar)およびその他のフィーチャのほかに、ライブラリ（例えば、図１に示すライブラリ１０２）内のエレメントの詳細を含むことができる。アトリビュート情報を受け取ったあと、サーバはデバイスの各々によって保持されたフィーチャセットの差異を判定し（ステップ６０３）、それらが共通のフィーチャセットをもつように要求されたフィーチャを各コンソールに転送する（ステップ６０４）。各ゲーミングデバイスが同じフィーチャセットを有すると、ゲームをスタートすることができる（図６には図示せず）。
【００２８】
別の例では、ゲーミングデバイス５０１は、どのゲーミングデバイスも支配的でないピアツーピアのシナリオにおいて中央サーバなしで動作することができる。各ゲーミングデバイスは標準のピアツーピア手法を使用して、複雑なパラレルネットワーキングメッシュにおいて相互間で通信し、フィーチャデータを転送することができる。この例示の実施形態では、第１のゲーミングデバイスはそのフィーチャセットのリストをコンパイルし、その後、このリストを分析する次のゲーミングデバイスにこのリストを送ることができ、どの追加フィーチャがそのゲーミングデバイスによって保持され、以前のゲーミングマシンのフィーチャのどれが保持されていないかをリストに注記する。このリストはゲーミングデバイスの各々に順次に送ることができ、各受信ゲーミングデバイスは上述したようにリストに注記する。すべてのゲーミングデバイスによって注記されると、リストは第１のゲーミングデバイスに戻される。この時点で、システム内の各ゲーミングデバイスは、どのフィーチャが他のゲーミングデバイスによって保持され、どのゲーミングデバイスが保持しているフィーチャデータを要求しているかを知ることになる。ゲーミングデバイスはその後に要求されたフィーチャデータを、それを必要とする他のゲーミングデバイスにストリームアウトすることができる。
【００２９】
このピアツーピアのシナリオにおける別の例では、各ゲーミングデバイスは、保持しているフィーチャのリストをネットワーク内の他のゲーミングデバイスの各々に送る。ネットワーク内の他のゲーミングデバイスの各々からリストを受け取ると、どのゲーミングデバイスも、保持するコードをどのゲーミングデバイスに送る必要があるかを判定することができる。このコードはその後に、これらのフィーチャを要求する他のゲーミングデバイスにストリームすることができる。あるいは、ゲーミングデバイスは、受け取ったリストを使用して、ネットワーク内の特定の他のゲーミングデバイスからのフィーチャデータをリクエストすることができる（それを最初にリクエストすることなくそれをそれらにストリームするのではなく）。フィーチャセットの差異に関するコードをそのあとでゲーミングデバイス間で転送できるように、フィーチャセットに関するデータをピアツーピアネットワーク内のゲーミングデバイス間で共有することができる方法はほかにも存在し得ることが理解されるであろう。
【００３０】
図７は、ゲームコンソールのようなコンピューティングおよび／またはエレクトロニックデバイスの任意の形態として実現することができ、上述した方法の実施形態が実現することができる例示のコンピューティングベースのデバイス７００の種々コンポーネントを示す図である。
【００３１】
コンピューティングベースのデバイス７００は、マイクロプロセッサ、コントローラまたは上述した方法を行うためにデバイスのオペレーションを制御するコンピューティング実行可能命令を処理するその他の適当なタイプのプロセッサとすることができる１または複数のプロセッサ７０１を備える。デバイスは、グラフィカルプロセッシングユニット（ＧＰＵ）７０２および／または物理プロセッサ（図７に図示せず）のように、専用のタスクを有するプロセッサをさらに備えることができる。
【００３２】
コンピュータ実行可能命令は、メモリ７０３など、任意のコンピュータ可読媒体を使用して提供することができる。メモリは、ランダムアクセスメモリ（ＲＡＭ）、磁気または光学ストレージデバイスなどの任意のタイプのディスクストレージデバイス、ハードディスクドライブ、またはＣＤやＤＶＤまたは他のディスクドライブのように、任意の適当なタイプとすることができる。フラッシュメモリ、ＥＰＲＯＭまたはＥＥＰＲＯＭを使用することもできる。
【００３３】
メモリは、オペレーティングシステム７０４を備えたプラットフォームソフトウェアをストアするように構成することができ、あるいは、他の任意の適当なプラットフォームソフトウェアがコンピューティングベースのデバイスに提供されてアプリケーションソフトウェア７０５がそのデバイス上で実行できるようにすることができる。メモリ７０３にストアされたアプリケーションソフトウェアは、上述したゲームアプリケーション１０１を含むことができる。リジッドボディシミュレータ（上述した）はゲームアプリケーション内に含まれることも、別個のアプリケーションソフトウェア（図７に図示せず）を備えることもできる。メモリは、エレメントのライブラリ１０２およびマッピングデータ１０３（これも上述した）をストアするために使用することもできる。コンピューティングベースデバイス７００は、１または複数のインプット、アウトプットおよびコントローラインタフェース１０４（またはユーザインプットとの他のインタフェース）およびネットワークインタフェース７０６などのインタフェースを備えることができる。
【００３４】
本例はゲームコンソールおよびネットワーク化されたゲーミングシステムにおいて実現されるものとして本明細書に説明され、例示されているが、記載の装置および方法は、限定ではなく、一例として提供されている。この分野の精通者ならば理解されるように、本例は種々の異なるタイプのコンピューティングシステムの用途に適している。これらの方法は、ゲームをプレイすることができる任意のデバイス上で実現することができ、デバイスはネットワーク化されても、スタンドアロンデバイスでもよい。
【００３５】
上記の説明は、組み立てたマシンの動きを計算された力から発生するためにリジッドボディシミュレータの使用に言及しているが、これは単なる例であり、マシンの動きを計算された力から発生するために適切な任意のシミュレーションツールを使用することもできる。他の例では、動きは、オブジェクトに対する力を最初に発生することなく直接に発生することができる（例えば、ブロック２０４と２０５の組み合わせにより）。
【００３６】
「コンピュータ」という用語は、ここでは、命令を実行することができる処理能力を有する任意のデバイスのことを指すために用いられている。この分野の精通者は、このような処理能力は多数の異なるデバイスに組み込まれており、従って、この「コンピュータ」の用語は、ＰＣ、サーバ、モバイル電話、パーソナルデジタルアシスタントおよび多くの他のデバイスが含まれることを認識するであろう。
【００３７】
本明細書に記載した方法は、記憶媒体上のマシン可読形態のソフトウェアによって行うことができる。このソフトウェアは、方法ステップが任意の適当な順序で、または同時に履行できるようにパラレルプロセッサまたはシリアルプロセッサ上での実行に適したものにすることができる。
【００３８】
これにより、ソフトウェアは価値があり、別個に取引可能な商品とすることができることが認められる。この中には、望みの機能を履行するために「ダム(dumb)」または標準のハードウェア上で稼動し、または制御するソフトウェアを包含することが意図されている。また、シリコンチップを設計したり、ユニバーサルプログラマブルチップを構成したりするために使用される、ＨＤＬ(hardware description language)ソフトウェアのように、ハードウェアの構成を「記述」または定義して、望みの機能を履行するソフトウェアを包含することも意図されている。
【００３９】
この分野の精通者は、プログラム命令をストアするために利用されるストレージデバイスは、ネットワークにまたがって分散することができることを認識するであろう。リモートコンピュータは、例えば、ソフトウェアとして記述されたプロセスの例をストアすることができる。ローカルまたは端末のコンピュータは、リモートコンピュータにアクセスし、ソフトウェアの一部または全部をダウンロードしてプログラムを稼動することができる。あるいは、ローカルコンピュータはソフトウェアの断片を必要時にダウンロードすることも、いくつかのソフトウェア命令をローカル端末で実行し、いくつかをリモートコンピュータ（またはコンピュータネットワーク）で実行することができる。また、この分野の精通者は、この分野の精通者に知られている従来の手法を利用することにより、ソフトウェア命令の一部が、ＤＳＰ、プログラマブルロジックアレイなどの専用の回路によって履行されることもあることを認識するであろう。
【００４０】
本明細書に示したどの範囲またはデバイスの値も、この分野の精通者に自明であるように、求める効果を失うことなく拡張または変更することができる。
【００４１】
上述した便益および利点はひとつの実施形態に関係することもあれば、複数の実施形態に関係することもあることが理解されるであろう。「ある」アイテムへの言及は、これらのアイテムの１つまたは複数のことを指していることがさらに理解されるであろう。
【００４２】
本明細書に説明した方法のステップは、任意の適切な順序でも、該当する場合には同時に履行することもできる。さらに、個々のブロックは、本明細書に記載した主題の精神および範囲から逸脱することなく、これらの方法の任意のものから削除することができる。上述した例のいずれの側面も、上述した他の例のいずれの側面と組み合わせて、求める効果を失うことなくさらなる例を形成することができる。
【００４３】
好適な実施形態の上記の説明は単なる例として与えられており、この分野の精通者により種々の変更を行なうことが可能であることが理解されるであろう。上記の明細、例およびデータは、本発明の例示の実施形態の構造および使用の完全な説明を提供する。本発明の種々の実施形態は、ある程度の特定性をもって説明し、または１または複数の個々の実施形態を参照して説明してきたが、この分野の精通者は、本発明の精神および範囲から逸脱することなく、開示した実施形態に数多くの変更を行なうことが可能であろう。
【図１】
2010531711.tif 000003
【図２】
2010531711.tif 000004
【図３】
2010531711.tif 000005
【図４】
2010531711.tif 000006
【図５】
2010531711.tif 000007
【図６】
2010531711.tif 000008
【図７】
2010531711.tif 000009
【国際調査報告】
2010531711.tif 000010
2010531711.tif 000011