entity component system

Uses your system voice; voice and rate in settings.

Q17089065Snapshot

≈ 3 min read

Names in other languages

  • MagyarEntitás-komponens-rendszer
  • FrançaisEntité Composant Système
  • Englishentity component system
  • فارسیEntity-component-system
  • PolskiEntity–component–system
  • PortuguêsEntity-component-system
  • УкраїнськаEntity Component System
  • 日本語エンティティ・コンポーネント・システム

Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.

Entity component system (ECS) is a software architectural pattern. An ECS consists of entities composed of data components, along with systems that operate on those components. It is most associated with video game development for the representation of game world objects, and is often characterized by the use of structures of arrays to improve runtime performance. ECS prioritizes composition over inheritance. Every entity is defined not by a type hierarchy, but by the components associated with it. Systems act globally over all entities that have the required components. For example, a food system might iterate through every entity with a relevant component tracking hunger, and act on them to push them a little away from satiation at time intervals. Entities lacking the component like terrain or items would be naturally ignored by the food system. Due to an ambiguity in the English language, an interpretation of the name is that an ECS is a system comprising entities and components. In the 2002 talk at GDC, Scott Bilas compared a C++ object system and his new custom component system. This is consistent with a traditional use of system terms in general systems engineering with Common Lisp Object System and type system as examples. Although mostly found in video game development, the ECS can be useful in other domains, such as in robotics simulators like Gazebo.

Entity component system (ECS) is a software architectural pattern. An ECS consists of entities composed of data components, along with systems that operate on those components. It is most associated with video game development for the representation of game world objects, and is often characterized by the use of structures of arrays to improve runtime performance. ECS prioritizes composition over inheritance. Every entity is defined not by a type hierarchy, but by the components associated with it. Systems act globally over all entities that have the required components. For example, a food system might iterate through every entity with a relevant component tracking hunger, and act on them to push them a little away from satiation at time intervals. Entities lacking the component like terrain or items would be naturally ignored by the food system. Due to an ambiguity in the English language, an interpretation of the name is that an ECS is a system comprising entities and components. In the 2002 talk at GDC, Scott Bilas compared a C++ object system and his new custom component system. This is consistent with a traditional use of system terms in general systems engineering with Common Lisp Object System and type system as examples. Although mostly found in video game development, the ECS can be useful in other domains, such as in robotics simulators like Gazebo. ==Notes==

Text derived from https://en.wikipedia.org/w/index.php?oldid=1377768788 under CC BY-SA 4.0; modifications have been made.