|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ ー : [ちょうおん] (n) long vowel mark (usually only used in katakana)
エンティティ・コンポーネント・システム(、ECS)とは、主にゲーム開発で使用されているソフトウェアアーキテクチャパターンである。ECSは継承よりコンポジションの原則に従うことで、より柔軟にエンティティを定義することを可能にする。エンティティとは、ゲームのシーンの中のすべての実体であるオブジェクトのことである(例えば、敵、銃弾、乗り物など)。すべてのエンティティは、付加的な振る舞いや機能を追加するものである1つ以上のコンポーネントから構成される。したがって、エンティティの振る舞いは、実行時にコンポーネントを追加あるいは削除することで変更可能である。これは、深く幅広い継承階層を除去し、その理解・保守・拡張が難しくなりあいまいになるという問題を取り除く。ECSの一般的なアプローチはデータ指向設計の手法と高い互換性を持ち、よく組み合わせられる。 == 歴史 == 1998年のゲーム Thief: The Dark Project は、公に知られているECSを使った最古のゲームである。 ただし、技術的詳細の公開は他よりもずっと行われていない。 2002年のゲーム ダンジョン・シージ は、初めてECSの実装について明快に説明したものの1つである。同年のGDCにおいて、Scott Bilasが講演を行った記録がある。 Bilasの講演はコンポジションのためのデータベースの今日の標準的な概念となっている、「データ駆動」スキーマについて明確に言及した。それは単なるプロパティでなく、「自己充足」のアイテムとしてのコンポーネントなどである。 2007年、Operation Flashpoint: Dragon Rising の開発に携わっているチームが、ECSの設計の実験を行った。Bilas(ダンジョン・シージ)と、Adam Martinが後に書いた詳細なECSの解説に触発された。Martinの解説は中心的な用語と概念の定義を含んでいる。 特に、Martinのブログは「システム」がファースト・クラスの要素であるとし、「エンティティをIDとして扱う」、「コンポーネントを生のデータとする」、ならびに「コードはシステムに置かれる(コンポーネントやエンティティでなく)」との考えを普及させた。 2008年から2010年にかけて、人気という点で巨大な成長を遂げたUnity ゲームエンジンは、エンティティとコンポーネントを異なる手法で使用し、その手法は有名になり、広く使用された。しかし、Unityは彼らの手法について公式に説明しておらず、「ECS」という単語は、通常は但し書きがない限り2002年のBilasの手法を意味すると仮定される。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「エンティティ・コンポーネント・システム」の詳細全文を読む スポンサード リンク
|