Appearance
We use EnTT as our Entity Component System.
ECS lets us build entities out of small, composable pieces. Instead of large inheritance hierarchies, we attach components to entities and operate on them based on what they have.
In practice, this means:
- we can query for entities that have specific components
- each component holds its own entity-local state
- behavior is driven by systems acting on sets of components
A good serious entry point is Stats, which is one of the most important gameplay components.
A good fun entry point is Color Override, which shows that not every component exists to hold grim combat math.