It's a work in progress small game engine, usable like a C++ library.
- 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
- 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
Use the following command to build and run the executable target.
cmake -Bbuild
cmake --build build
./build/bin/pong
python .\scripts\amalgamate.py -c .\scripts\config.json -s .