成功の歴史を見てみましょう。コンポーネントベースのゲームオブジェクトシステムを使用して構築された人気のあるゲーム(およびゲームエンジン)はどれですか?各回答には以下を含める必要があります。
- ゲームタイトル(回答ごとに1つ)
- 著者/会社
- 年
- 開発時間(オプション)
- 事後分析へのリンク(オプション)
- docs / sourceコードへのリンク(オプション)
成功の歴史を見てみましょう。コンポーネントベースのゲームオブジェクトシステムを使用して構築された人気のあるゲーム(およびゲームエンジン)はどれですか?各回答には以下を含める必要があります。
回答:
Dungeon Siege by Gas Powered Games
Scott Bilasさんは、Dungeon Siegeに関する多くの情報をリリースしました。これには、コンポーネントベースのシステムなどが含まれていました。
Dungeon Siegeは2002年にリリースされました。
レジスタンス1-2(おそらく3)(2006-2008)insomniac Games
Terrance Cohenは、これらのゲームをGDCカナダ2010の高性能ゲームプレイトークのための彼のA Dynamic Component Architectureにリストしています。
これが最近のラチェット&クランクゲームに適用されたかどうかはわかりません。
Unity3Dはデフォルトでコンポーネントベースのシステムを使用します。テキストファイルと依存性注入からゲームエンティティを作成するのに最適です。
function createEnemy() {
   // extract AI type for enemy
   // definition is a custom structure holding parameters to create the enemy
   var aitypename = definition.ai;
   // AIType can be an interface or abstract class
   // you can create a component from a string or from a type
   var ai : AIType = this.gameObject.AddComponent(aitypename);
   ai.setup(definition.ai_settings);
   // set rule for enemy when it is destroyed
   this.gameObject.AddComponent(definition.when_destoryed); 
}これらのコンポーネントは次のようになります
class AI_Scout extends AIType
{
  // called per update-frame on the game-object with this script
  public function Update() {
    // run Scout AI here
   }
}
class Spawn_Ammo_On_Destroyed extends When_Destroyed
{
   // automatically called by the engine when the game object this script is attached to is
   // destroyed
   public function OnDestroyed() {
    // spawn ammo
    }
}Tony Hawk Pro Skater 3
 
開発者:Neversoft 
年:2001 
時間:約2年
Post Mortem:Evolve Your Hierarchy(おそらく最もリンクされたコンポーネントベースの記事)
私の知る限り、私が見た中で最高のプロジェクトはバーガーエンジンです。jstはコードをダウンロードして、それらがどの程度実装されているかを確認します。全体はxmlからのデータ駆動型であり、エンティティベースのアーキテクチャを非常によく使用しています。