- Low-level programming
- Modern C++ language features
- Independent motivation
- Fully custom Vulkan renderer, including scene/resource description, shader framework, and GPU memory management
- Extensible data-oriented entity-component-system architecture designed around type safety, cache optimization, and low-overhead processing
- Simple, customizable binary serialization API for arbitrary resource data types
- C++ (engine, ECS architecture)
- Vulkan (rendering)
- GLSL (shaders)
rnjin is an ongoing independent research project, exploring modern rendering with the Vulkan API and contemporary techniques in game engine architecture, such as entity-component-system architectures and data-oriented design.
The project's main design pillars include elegance, which is achieved through extensive use of modern C++ features such as template metaprogramming, and efficiency, using the language's low-level capabilities
to optimize data layout and minimize overhead without sacrificing safety.