Pomdog is an experimental game engine written in C++23 or later, developed as a hobby. It is open source and distributed under the MIT License.
Feedback, issues, and pull requests are always welcome! If you find a bug or have a suggestion, feel free to open an issue on GitHub.
| Platform | Status |
|---|---|
| Windows 11 and later | |
| macOS 11.0 and later | |
| Linux (Ubuntu 24.04 and Arch Linux) | |
| Emscripten / WebAssembly |
For more details on supported backends (Direct3D, Metal, Vulkan, OpenGL, etc.), see Architecture.
- If you'd like to make games using Pomdog, check out Getting Started.
- If you'd like to work on the engine itself, see Developing Pomdog Game Engine.
For everything else, browse the full documentation.
-
Clone the repository and initialize submodules:
git clone https://github.com/mogemimi/pomdog.git cd pomdog git submodule update --init --recursive -
Run the bootstrap script to set up the asset pipeline tools:
./tools/script/bootstrap.sh
-
Build assets for the example applications:
./tools/script/assetbuild.sh
The examples require pre-built assets (shaders, fonts, etc.) to run. For details on the asset pipeline, see Asset Pipeline and Runtime.
-
Generate project files and build:
# Windows (Visual Studio 2026) cmake -Bbuild/windows -H. -G "Visual Studio 18" cmake --build build/windows --config Debug # macOS (Xcode) cmake -Bbuild/macos -H. -G Xcode -DCMAKE_XCODE_GENERATE_SCHEME=ON xcodebuild -project build/macos/pomdog.xcodeproj -configuration Debug # Linux (Ninja) cmake -Bbuild/linux -H. -G Ninja -DCMAKE_BUILD_TYPE=Debug ninja -C build/linux # Emscripten / WebAssembly (emsdk + Ninja) cmake -Bbuild/emscripten_debug -H. -G Ninja -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_TOOLCHAIN_FILE=$EMSDK/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake ninja -C build/emscripten_debug
For more details, see Running the Tests and Shipping.