1.2 KiB

Iridium Engine

A cross-platform game engine written in C++20 using modules.

"This isn't bleeding edge, it's hemorrhaging edge." - Zipdox


Here are some of the things I plan to implement in the engine:

  • Agnostic, cross platform, rendering backend (OpenGL, Vulkan)
  • ECS or ECF system?
  • Modding support
  • Steamworks integration
  • Cross-platform support (Windows, Linux, MacOS)
  • Cross-platform asset pipeline


Idk I got bored and wanted to make a c++ game engine that utilizes modules, as It seems modules don't get enough love.

The entire point is basically to learn more c++, but also to learn about modules and game engine development.

Build requirements

Compiler support for:

  • C++20
  • C++23 ranges
  • libc++

At the time of writing this, these compilers are known to work:

  • Visual Studio >=17.1
  • Clang >= 17 PLUS the corresponding version of clang-tools, which is required for clang-scandeps
  • CMake + Ninja
  • Vulkan headers: libvulkan-dev
  • OpenGL headers: libopengl-dev libglx-dev libgl-dev
  • Shaderc headers: libshaderc-dev
  • X11 headers: libx11-dev libxi-dev libxrandr-dev libxinerama-dev libxcursor-dev