A sample game project built with the Ignis Game Engine, demonstrating the engine's capabilities including 3D rendering, physics, audio, and scripting.
Please check out the main Ignis engine repository for more details: https://github.com/JamesLiu12/Ignis
- CMake 3.20 or higher
- C++20 compatible compiler
- Windows: Visual Studio 2022 or later (with C++ desktop development workload)
- macOS: Xcode Command Line Tools
- Ninja build system
- Windows: Visual Studio 2022 has Ninja by default, or install via Visual Studio Installer
- macOS:
brew install ninja
- Git for version control
- Homebrew for macOS only
# Clone the repository with submodules
git clone --recursive https://github.com/your-username/Ignis-Example-Project.git
cd Ignis-Example-Project
# Configure with preset
cmake --preset x64-debug
# or for Release build
cmake --preset x64-release
# Build (builds Editor, Runtime, and script module)
cmake --build --preset x64-debug
# or for Release build
cmake --build --preset x64-release# Install dependencies
brew install cmake ninja
# Clone the repository with submodules
git clone --recursive https://github.com/your-username/Ignis-Example-Project.git
cd Ignis-Example-Project
# Configure with preset
cmake --preset arm64-debug
# or for Release build
cmake --preset arm64-release
# Build (builds Editor, Runtime, and script module)
cmake --build --preset arm64-debug
# or for Release build
cmake --build --preset arm64-releaseAfter building, run the editor executable:
Windows:
# Debug build
out\build\x64-debug\Ignis\bin\Editor.exe
# Release build
out\build\x64-release\Ignis\bin\Editor.exemacOS:
# Debug build
out/build/arm64-debug/Ignis/bin/Editor
# Release build
out/build/arm64-release/Ignis/bin/EditorThe editor will open and load the example project file Ignis-Example-Project/IgnisExampleProject.igproj using the project menu tab → load project
- Open the project in the Editor
- If you modify scripts, Click "Project" → "Build Scripts" in the menu bar
- Click "Project" → "Export Game" in the menu bar
- The export process will:
- Validate that Runtime and script module are built
- Package all necessary files (executable, DLLs, assets, scripts)
- Create a distribution folder
The exported game will be located at:
Ignis-Example-Project/
└── Exports/
└── IgnisExampleProject_Distribution/
├── IgnisExampleProject.exe (Windows) or IgnisExampleProject (macOS)
├── Ignis.dll (Windows) or libIgnis.dylib (macOS)
├── Other dependency DLLs/dylibs
├── scripts/
│ └── IgnisExampleProject.dll (Windows) or libIgnisExampleProject.dylib (macOS)
├── assets/
│ ├── models/
│ ├── images/
│ ├── audio/
│ └── scenes/
└── IgnisExampleProject.igproj
Navigate to the export folder and run the executable:
Windows:
cd Exports\IgnisExampleProject_Distribution
IgnisExampleProject.exemacOS:
cd Exports/IgnisExampleProject_Distribution
./IgnisExampleProjectThe game will run as a standalone application without requiring the editor.
Ignis-Example-Project/
├── Ignis/ # Ignis engine (git submodule)
│ ├── Ignis/ # Core engine library
│ ├── Editor/ # Editor application
│ └── Runtime/ # Standalone runtime
├── assets/ # Project assets
│ ├── models/ # 3D models (FBX, OBJ)
│ ├── images/ # Textures and HDR environments
│ ├── audio/ # Sound effects and music
│ ├── fonts/ # Font files
│ ├── scenes/ # Scene files (.igscene)
│ ├── scripts/ # C++ script source files
│ └── TestAR.igar # Asset registry
├── bin/ # Script module output (DLL/dylib)
│ └── {Platform}/{Config}/
├── out/ # Build output directory
│ └── build/{preset}/
├── Exports/ # Exported game distributions
├── IgnisExampleProject.igproj # Project configuration file
└── CMakeLists.txt # Build configuration
- Edit Scripts and Create Game Contents - Modify C++ scripts in
assets/scripts/and ceate game content - Rebuild - Click Project → Build Scripts in menu tab if you create or modify scripts
- Test in Editor - Use plat mode in editor to test changes
- Export - Create standalone build for distribution
This example project is provided as-is for demonstration purposes. See the main Ignis engine repository for license information.
This is an example project for the Ignis Game Engine. For engine contributions, please see the main Ignis repository.