An ECS library implementation written with C++20.
This library is an implementation of the ECS architecture pattern, with a twist. It has five main pillars.
- Entities: Collections of components
- Components: Carry data
- Systems: Manipulate data
- Resources: Allow passing arbitrary data between systems in one level, or even between different levels.
- Levels: Containers for entities, components, and systems. Each level has its own resources container as well.
For a basic example on how to use the library, check out examples/basic
. For a more involved application, see examples/pong
.
Just go into the example's directory and run the following two commands:
cmake -B ./build
cmake --build ./build
Then you should find the binary of the example under ./build