RodEngine is a custom C++ game engine I'm building from scratch. It's based on some part of The Cherno's game engine series, which serves as the foundation for learning and early development. Now I expand the engine with my own architecture, features, and tools.
RodEngine is in early development. Expect rapid changes, incomplete systems, and experimental features.
- Windows
- MSVC (should be fine in other compilers, but hasnt been tested)
- Git
- Python 3.13+
- CMake 3.30+
This project uses Git submodules, so it is recommended to clone with:
git clone --recursive <repo_url>If you already cloned the repository without submodules:
git submodule update --init --recursiveThe project requires additional dependency setup for shaderc.
Navigate starting from project root direcotry forwards to:
cd RodEngine/vendor/shaderc/utilsRun the sync script:
python git-sync-depsMake sure you have Python 3.x installed.
Go back to the root directory and run:
cmake -S . -B buildcmake --build build- Failing to initialize submodules will result in build errors.
- Running
git-sync-depsis required — skipping it may cause missingshadercdependencies.
- Platform: Windows
- Language: C++
- Build System: CMake
- Rendering: OpenGL
- Windowing & Input: GLFW (with minor changes for no windows titlebar support)
- Math Library: GLM
- GUI: ImGui, ImGuizmo
- ECS Library: entt
- Logging: spdlog
- Image Loading: stb_image
- Shader Compilation: Shaderc
- High-performance 3D rendering with support for meshes, models, materials, and textures
- Physically-Based Rendering (PBR) pipeline with real-time lighting and shadows
- Support for multiple rendering APIs (OpenGL, Vulkan, DirectX, Metal)
- Efficient batching, frustum culling, and draw call optimization
- Post-processing effects: bloom, HDR, motion blur, and SSAO
- Built-in 3D scene editor with drag-and-drop functionality
- Visual UI editor for interfaces, menus, and HUDs
- Real-time preview and live editing of scenes and assets
- Asset management for models, textures, shaders, animations, and audio
- Cross-platform support: Windows, Linux, macOS
- 3D spatial audio engine with sound positioning
- Sound effects and music management with mixing, layering, and attenuation
- C# scripting support with hot-reload capability
- Easy-to-use API for engine features and gameplay logic
- 3D physics engine with rigid bodies, colliders, and joints
- Collision detection, resolution, and physics simulation
Special thanks to The Cherno for the incredible game engine tutorial series, which helped start project.
