ECS(Entity Component System)は、ゲーム開発における継承階層の破綻から生まれた実務的アーキテクチャである。初期の問題意識は、主人公、敵、弾、アイテム、状態異常、AI、描画、物理といった性質をクラス継承で分類すると、例外的な存在や複合的な役割を持つ対象を扱いにくくなる点にあった。ECSはこの問題に対し、Entityを固有ID、Componentを性質や状態を表すデータ、Systemをそれらへ作用する処理として分離する。ここで重要なのは、ゲーム内の対象が「何者であるか」ではなく、「いま何を持っているか」によって振る舞いが決まることである。したがってECSの出自は、まず集合論的形式化やキャッシュ効率の理論ではなく、composition over inheritanceを徹底するゲーム実務の知恵にある。後にUnity DOTS、Bevy、FlecsなどのArchetype ECSでは、この設計がデータ指向、並行処理、形式的意味論へ発展した。ECSは、オブジェクトの本質を固定せず、部品の組み合わせとして一時的な役割を発生させる方法論である。
関連キーワード
ECS、Entity Component System、Entity System、Adam Martin、Scott Bilas、Dungeon Siege、MMOG、Composition over Inheritance、Component-Based Architecture、GameObject、Unity、Unity DOTS、Entity as ID、Component as Data、System as Behavior、継承階層の破綻、データと処理の分離、Archetype ECS、Bevy、Flecs、EnTT、Data-Oriented Design。