Skip to content
On this page

Entity Component System (ECS)

Conception

L’Entity Component System (ECS) est un modèle de programmation principalement utilisé dans le développement de jeux vidéo.
Il vise à séparer les données (ce qu’une entité est) de la logique (ce qu’elle fait), en trois parties principales.


Fonctionnement

🔹 Entities (Entités)

Ce sont les objets de base du système, généralement représentés par un identifiant unique (ID).
Elles ne contiennent ni données ni logique : elles servent simplement de lien entre plusieurs composants.

🔹 Components (Composants)

Ce sont des conteneurs de données pures.
Chaque composant décrit une caractéristique spécifique d’une entité :
par exemple :

  • PositionComponent → coordonnées de l’entité,
  • HealthComponent → points de vie,
  • VelocityComponent → vitesse de déplacement, etc.

Les composants ne contiennent aucune logique.

🔹 Systems (Systèmes)

Ce sont les algorithmes qui opèrent sur des ensembles d’entités possédant certains composants.
Chaque système applique une logique spécifique, par exemple :

  • un système de rendu dessine toutes les entités ayant un RenderComponent,
  • un système de physique met à jour les positions selon les vitesses,
  • un système de collisions gère les interactions entre entités.

Avantages du modèle ECS

  • Composition plutôt qu’héritage : les entités sont assemblées à partir de composants simples et réutilisables.
  • Performance accrue : les données sont mieux organisées en mémoire (meille