✨ Cross-platform 2D/3D Game Engine in modern C++
Modular, OpenGL-powered engine for scalable games with ECS, physics, and rendering pipelines.
LibYetzirah is a high-performance 2D and 3D game engine written in modern C++, designed for building scalable, real-time applications.
It combines a modular architecture with OpenGL 3.3+, a custom Entity Component System (ECS), and optional physics/scripting layers.
Suitable for everything from top-down 2D games to 3D environments, simulations, and hybrid projects.
- 📦 Unified 2D/3D rendering pipeline (OpenGL 3.3+)
- 🧩 Custom ECS framework
- 🖼️ Texture & mesh management
- 🎮 Input abstraction (mouse, keyboard, gamepad)
- 🎙️ Audio system via SDL_mixer
- 🔄 Scene graph and transformation system
- 🧲 Physics integration (2D & 3D via Box2D / Bullet)
- 🧠 Lua scripting (optional)
- 🛠️ In-engine debug tools and editor stubs (WIP)
- C++17 or later
- CMake 3.15+
- SDL2
- OpenGL 3.3+
- GLM (math library)
- SDL_image, SDL_mixer, SDL_ttf
- Optional: ImGui, Bullet Physics, Lua
- Clone the repository
git clone https://github.com/your-org/libyetzirah.git
cd libyetzirah- Configure and build
mkdir build && cd build
cmake ..
cmake --build .- Run a demo
./libyetzirah-demosrc/
├── core/ → Engine loop, config, time
├── renderer/ → OpenGL renderer, shaders, buffers
├── ecs/ → Entity Component System
├── input/ → Input manager
├── audio/ → Audio handling
├── physics/ → Physics abstraction (Box2D / Bullet)
├── scripting/ → Lua integration (optional)
├── scene/ → Scene and hierarchy system
examples/ → Demos in 2D and 3D
include/ → Public headers
This project is released under the MIT License.
© Gaming Innovators — Empowering scalable 2D/3D game development with modern C++.
- OpenGL
- SDL2
- GLM
- Box2D / Bullet
- Lua
- ImGui