Skip to content

Latest commit

 

History

History
38 lines (33 loc) · 2.08 KB

features.md

File metadata and controls

38 lines (33 loc) · 2.08 KB
layout title permalink
features
Features
/features/

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