florianvazelle / engine

A small data-driven game engine

Home Page:https://florianvazelle.github.io/engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

engine build

It's a work in progress small game engine, usable like a C++ library.

Features

RTTI

  • Compile-time hashing (with constexpr and CRC32)
  • Disabling default C++ RTTI (with -fno-rtti flags)

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 .

Dependencies

  • C++17 compiler :
    • Visual Studio 2016
    • GCC 7+ or Clang 8+
  • Git for cmake automatic dependencies
  • CMake for build system creation (>= 3.12)
  • Doxygen for generate documentation (>= 1.8, optional)

References

About

A small data-driven game engine

https://florianvazelle.github.io/engine


Languages

Language:C++ 86.1%Language:CMake 7.7%Language:Python 6.1%Language:Shell 0.0%