Skip to content

KnockerPulsar/ecs

Repository files navigation

ECS

An ECS library implementation written with C++20.

Main menu preview

This library is an implementation of the ECS architecture pattern, with a twist. It has five main pillars.

  1. Entities: Collections of components
  2. Components: Carry data
  3. Systems: Manipulate data
  4. Resources: Allow passing arbitrary data between systems in one level, or even between different levels.
  5. 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.

How to build examples

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

More images of pong

Main game preview
Win screen preview

About

A humble ECS library implementation.

Topics

Resources

License

Stars

Watchers

Forks

Languages