Entity component system (ECS)


Topic | v1 | created by jjones |
Description

Entity–component–system (ECS) is an architectural pattern that is mostly used in game development. ECS follows the composition over inheritance principle that allows greater flexibility in defining entities where every object in a game's scene is an entity (e.g. enemies, bullets, vehicles, etc.). Every entity consists of one or more components which contains data or state. Therefore, the behavior of an entity can be changed at runtime by systems that add, remove or mutate components. This eliminates the ambiguity problems of deep and wide inheritance hierarchies that are difficult to understand, maintain and extend. Common ECS approaches are highly compatible and often combined with data-oriented design techniques.


Relations

is Software design pattern

In software engineering, a software design pattern is a general, reusable solution to a commonly occu...

uses Data-oriented design

In computing, data-oriented design is a program optimization approach motivated by efficient usage of...


Edit details Edit relations Attach new author Attach new topic Attach new resource
Resources

treated in Entities, components and systems

8.0 rating 2.0 level 8.0 clarity 1.0 background – 1 rating

What you need to know about ECS and game development

cons given in Component Graph System (CGS)

CGS is an alternative approach to ECS. It shares a lot in common with ECS and was derived from it. CG...