engine <img src="https://img.shields.io/github/workflow/status/florianvazelle/engine/build/main?label=Windows%20%7CC2A0Linux&logo=github" alt="build"/>
It's a work in progress small game engine, usable like a C++ library.
Features
- No allocation during game loop (Object pooling)
- Custom run-time type identification
- Data-driven oriented design with Entity, Component and System
- Multithreading system with Thread Pool
- Basic SIMD operations
- Event System
RTTI
ECS
- Entity type is just an alias of
uint32_t
- Using of Factory Design to allocate Component in Pools
- We can
GetEntitiesWithTags
to retrieve entities with certain components
Building
Build and run the standalone target
Use the following command to build and run the executable target.
cmake -Bbuild cmake --build build ./build/bin/pong
Build single include
python .\scripts\amalgamate.py -c .\scripts\config.json -s .