成功の歴史を見てみましょう。コンポーネントベースのゲームオブジェクトシステムを使用して構築された人気のあるゲーム(およびゲームエンジン)はどれですか?各回答には以下を含める必要があります。
- ゲームタイトル(回答ごとに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からのデータ駆動型であり、エンティティベースのアーキテクチャを非常によく使用しています。