Lessico IT › Programmazione › Entity Component System

Entity Component System

Programmazione Svenska → Aggiornato: 2026-10-05

Un'architettura in cui gli oggetti sono semplici ID, i dati stanno nei componenti e tutta la logica risiede in sistemi che scorrono quei componenti.

Il pattern nasce dal fallimento delle gerarchie di ereditarietà nel reggere la scala dei videogiochi. Quando esistono un FlyingEnemy e un SwimmingEnemy e serve qualcosa che faccia entrambe le cose, l'albero delle classi diventa ingestibile. L'ECS lo rovescia: un'entità è solo un intero, un componente come Position o Health è puro dato, e un sistema chiede «tutte le entità con Position e Velocity» e le aggiorna in blocco. Thief e Dungeon Siege diffusero l'idea tra il 1998 e il 2002.

Il vantaggio prestazionale deriva dal layout di memoria. I componenti sono in array contigui, quindi un sistema che aggiorna diecimila posizioni scorre direttamente nella cache invece di inseguire oggetti sparsi: lo stesso ragionamento del data-oriented design. DOTS di Unity e Bevy in Rust ne sono implementazioni moderne. Il prezzo è la leggibilità: non esiste una classe da aprire che descriva che cosa sia un nemico.

← Torna al lessico