AmberEngine is a personal 3D game engine written in C++ with Lua as its scripting language.
It is based on Overload and follows its architecture, while diverging where it aims for a simpler or improved design:
- Plugin-free UI module: widgets expose events directly instead of Overload's plugin system, and widget containers are draw-safe (widgets can be created, removed or transferred while the UI is drawing)
- Hierarchy quality of life improvements: drag and drop in-between reordering with insertion preview, actor creation menu directly from the Hierarchy panel
- Layout management
- GLM as the mathematics library
...
- Lua scripting
- Scene editor with play mode
- Windows game building
- Physically-Based Rendering (PBR)
- Custom shaders support
- Material editor
- Asset browser
- Rigidbody physics
- 3D audio
- Profiling tools
AmberEngine is divided into 11 modules: 9 libraries and 2 applications.
AmberDebug: Logging and assertionsAmberTools: File system, events, clock, and moreAmberMaths: Mathematics, built around GLMAmberAudio: Audio engine, built around irrKlangAmberPhysics: Physics engine, built around Bullet3AmberRendering: OpenGL rendering engineAmberWindowing: Windowing and inputs, built around GLFWAmberUI: Widget-based UI, built around ImGuiAmberCore: Component-based scene system, scripting, and resource management
AmberEditor: The editor for building your gameAmberGame: A data-driven executable for any game built with AmberEngine
- GLEW (OpenGL functions loader)
- GLFW (Windowing and inputs)
- GLM (Mathematics)
- Assimp (3D models loader)
- Bullet3 (Physics)
- irrKlang (Audio)
- Lua + sol2 (Scripting)
- ImGui (GUI)
- tinyxml2 (Serialization)
- stb_image (Images loader)
- Premake5 (Project generation)
- Windows 10 or newer
- Visual Studio 2022 or newer
- GPU supporting OpenGL 4.3
git clone https://github.com/maxbrundev/AmberEngine
cd AmberEngine
.\GenerateProject.bat # Generate project files for Visual Studio 2022
.\Sources\Amber\Amber.sln # Open the solution in Visual StudioAmberEngine uses Premake5 to generate project files. To generate them, execute GenerateProject.bat located at the root of the repository. By default, GenerateProject.bat generates project files for Visual Studio 2022, selecting the latest installed MSVC toolset and Windows SDK automatically so the solution opens without any retargeting prompt. If you want to use another version of Visual Studio (vs2019, vs2017...) or another IDE (c.f. https://github.com/premake/premake-core/), you can execute GenerateProject.bat from the command line with an argument (ex: .\GenerateProject.bat vs2019).
AmberEngine is licenced under an MIT Licence.

