Additional features
- Fully C++11 compliant codebase
- High precision monotonic timers
- Atomic counters
- Thread pool creation, synchronization and affinity assignment
- Basic math library for vectors, 4x4 matrices and quaternions
- Logging system with multiple levels, and console or file output
- GLFW 3, SDL 2, or Qt 5 backends for window and input on PC
- Nuklear GUI integration for fully skinnable user interfaces
- FileSystem API to query or manipulate paths, files, and directories
- Custom memory allocators (linear, stack, pool, free list)
- Joystick support with hot swap and SDL 2 gamepad mappings
- Android asset files support
- Google Test based unit tests with coverage checked with Gcovr
- Microbenchmarked with the Google Benchmark support library
- Doxygen based documentation with Graphviz class diagrams
- Periodically checked with Cppcheck and Valgrind
- Periodically linted with clang-format (previously with Artistic Style and Uncrustify)
Long-term roadmap
- Create a multi-threaded job system and expose it to the user API
- Add a data oriented ECS system to parallelize entity updates
- Create a cross-platform game editor with Dear ImGui
- Abstract the rendering API and add a Vulkan backend implementation
- Add a collision detection and response system or integrate Box2D
- Separate game, input and audio update in different threads
- Add some sort of space partioning for scene culling
- Add a 2D skeletal animation system