Repository navigation
Home
Spark Engine is a free, open-source 3D game engine written in C++23. Originally designed for first-person shooters, Spark Engine is evolving into a general-purpose engine with a broad source inventory spanning FPS, RPG, MMO, open-world, and other genres. That inventory includes a multi-backend RHI (DirectX 11/12, Vulkan, OpenGL, Metal, NullRHI), rendering experiments, Jolt Physics, audio paths, scripting tools, an EnTT-based ECS architecture, an ImGui editor, world streaming, server architecture, and collaborative-editing prototypes. Presence in the source tree is not a support or release claim; non-profile breadth remains experimental unless the readiness contract says otherwise.
Release hardening in progress — SparkEngine is currently source-usable, but no versioned release has been published. The repository's readiness gates distinguish implemented features from verified release claims. The only declared profile is the blocked and uncertified
stable-v1Windows 11 x64/MSVC v143 + D3D11/Windows NullRHI + C++ module/SparkGameFPS slice, together with the required Windows editor and delivery-tool products enumerated in readiness.

SparkEditor default layout with the Spark Professional theme. Open more panels from the Window menu.
| Platform | Status | Compiler |
|---|---|---|
| Windows 11 x64 |
stable-v1 target — blocked/uncertified |
MSVC v143 (VS 2022) |
| Windows 10 x64 | Documented development path — outside stable-v1
|
MSVC development toolchains |
| Linux x64 | Experimental | GCC 13+, Clang 17+ |
| macOS 11+ | Experimental | Apple Clang with C++23 |
See System Requirements for minimum and recommended hardware per platform (CPU, RAM, GPU, VRAM), runtime resource footprint, and the build toggles that move the needle.
- Rendering — Multi-backend RHI source paths (DirectX 11/12, Vulkan, path-specific OpenGL development contexts, Metal, NullRHI) with forward, deferred, forward+, and clustered pipeline implementations via a declarative RenderGraph. PBR materials, cascaded shadow mapping, SSAO, SSR, volumetric lighting/fog, bloom, HDR tone mapping, TAA/FXAA/MSAA, IBL, GPU particles, decals, water rendering, sky atmosphere, and quality presets are implementation inventory, not blanket support claims. Global illumination, GPU-driven rendering, mesh shaders, virtual texturing, DXR ray tracing, Shader Graph, and FSR paths remain subject to their declared experimental boundaries.
- Physics — Jolt Physics with rigid bodies, 15 collision shape types, 12 constraint types, raycasting, overlap queries, physics materials, character controller, vehicle physics (wheeled/tracked/motorcycle), ragdoll, soft body/cloth, destruction/fracture, deterministic mode, and debug draw.
- Audio — The active factory selects XAudio2 on Windows, OpenAL on non-Windows hosts, then Null audio if neither backend initializes. Spatial-audio, mixer, and pooling code exists, but audio is outside the stable profile.
- Gameplay — ECS architecture (EnTT components and systems), FPS player controller, weapons, vehicles, inventory, quests, achievements, abilities/conditions, event response system, dialogue, destruction, replay, day/night cycle, weather, terrain with quadtree LOD, tween/coroutine systems, and accessibility (colorblind modes, subtitles, reduced motion).
- AI — Behavior trees, NavMesh A* pathfinding (Recast/Detour), perception system (vision/hearing/memory), steering behaviors (seek/flee/pursue/evade/flocking), tactical points (EQS-like), cover/formation system, AI budget limiter for 100+ agents, and AI director.
- Animation — Skeletal animation, state machines, multi-layer blending, IK (two-bone, look-at, FABRIK), root motion, retargeting, ragdoll blending, cloth simulation, cinematic sequencer, FBX/glTF import.
- Scripting — Experimental AngelScript integration includes hot reload, lifecycle callbacks, partial engine bindings, and client/server-oriented source paths. Visual scripting, Lua-related source paths, and the mod system are implementation inventory, not certified support.
- Networking — UDP client/server, entity replication, client-side prediction, lag compensation (hitbox rewinding), delta snapshots. HeroEngine-inspired MMO architecture with AreaServers, WorldServer, seamless entity migration, and dynamic load balancing.
-
Editor — ImGui-powered visual editor with 65
*Panel.hclasses in the source inventory; registration and default visibility are separate. It includes scene hierarchy, inspector, gizmos, Shader Graph, visual scripting, and other experimental tooling. Required command-backed world editing and undo coverage are inside the release profile but remain blocked; collaborative editing stays outside it.
There are no supported or versioned binary releases yet. Rolling nightly
artifacts may be published for development evaluation; they remain unsupported,
unversioned snapshots of a specific commit. Clone the canonical repository and
follow the Build Guide for the authoritative development path.
git clone --recurse-submodules https://github.com/Krilliac/SparkEngine.git
cd SparkEnginePick the path that matches your role:
| Role | Recommended reading order |
|---|---|
| New to SparkEngine | Getting Started → Quick-Start Tutorial → FAQ |
| Programmer | Getting Started → Architecture Overview → Creating a Game Module → Entity Component System |
| Artist / Designer | Getting Started → Quick-Start Tutorial → Editor Walkthrough → Artist Workflow Guide |
| Gameplay Designer | Making Your First Game → Gameplay Systems → Scripting with AngelScript |
| Multiplayer Developer | Multiplayer Quick Start → Networking → Dedicated Server |
| Optimizer / QA | Performance Tips → Configuration Reference → Profiler and Debugging |
| Upgrading | Migration Guide → Asset Migration |
wiki/_Sidebar.md is the canonical table of contents for all wiki pages and categories.
- Documentation portal
- Guides, Tutorials, and Samples
- Build Guide and Dependencies
- Browse full wiki index
- API Reference
- Documentation Index
SparkEngine enforces code quality automatically:
- clang-format — Enforced in CI on every PR (Microsoft-based style, Allman braces, 120-col, 4-space indent)
- clang-tidy — Static analysis for bugprone, modernize, performance, and readability checks
- Comprehensive unit tests — CTest suite covering all major subsystems (live counts in Project Statistics)
- 5 sanitizers — ASan, UBSan, LSan, TSan, MSan in CI
- Code coverage — lcov reports generated per CI run
See Contributing for the full pre-commit checklist.
SparkEngine is licensed under the Spark Open License — no royalties, no fees, anti-plagiarism protected.
| Metric | Count |
|---|---|
| Header files | 1005 |
| Struct declarations in 17 component headers | 79 |
| Engine System Classes | 75 |
*Panel.h class inventory |
64 |
Test-bearing .cpp/.mm files |
604 |
| Source-level test definitions | 7328 |
| Wiki pages | 201 |
Published from 2b03dc797148. Edit the canonical source in wiki/.
- Documentation
- Docs route
- Wiki index
- Guides
- Tutorials
- Samples
- Examples
- API Reference
- API route
- Reference
- Build Guide
- Dependencies
- FAQ
- Changelog
- Roadmap
- Contributing
- Code of Conduct
- Home
- FAQ
- Getting Started
- Quick-Start Tutorial
- Making Your First Game
- Making Your First Multiplayer Game
- Artist Workflow Guide
- Editor Walkthrough
- Migration Guide
- How SparkEngine Works
- Architecture Overview
- Engine Architecture Flowchart
- Creating a Game Module
- Game Modules (catalog)
- Entity Component System
- Rendering and Graphics
- Physics
- Cloth Simulation
- Audio
- Input System
- Camera System
- Scripting with AngelScript
- Visual Scripting
- AI and Navigation
- Animation
- 2D Systems
- Networking
- Dedicated Server
- Multiplayer Quick Start
- Area Server Architecture
- Scene Management
- Large World Support
- Collaborative Editing
- Coroutine System
- Event System
- Event Response System
- Job System
- UI System
- UI Layout Extensions
- Localization
- Dialogue System
- Destruction System
- Replay System
- Achievement System
- Loading System
- Mod System
- Content Delivery
- Tween System
- Memory Integrity
- Gameplay Systems
- Terrain and Procedural Generation
- Save System
- Persistence System
- Day Night Cycle and Weather
- Cinematic Sequencer
- Runtime Prefabs
- SparkEditor
- Editor Tutorials
- SparkConsole
- SparkDaemon
- Shader Pipeline
- Asset Pipeline
- Asset Validation
- Asset Migration
- Game Packaging
- Online Services
- DataTable System
- Loot and Crafting System
- CSG System
- Font System
- Timer Manager
- Movie Render Pipeline
- HLOD and World Partition
- Remote Debug System
- Selection Manager
- Asset Dependency Graph
- Editor Automation
- File Watcher
- Project Templates
- System Requirements
- VR Support
- Mobile Platform
- Accessibility
- Platform Input
- Platform Certification
- Cross-Compilation: Wine Testing
- RHI Abstraction Layer
- D3D11 Backend
- D3D12 Backend
- Vulkan Backend
- OpenGL Backend
- Metal Backend
- DXR Raytracing
- Hybrid Ray Tracing
- Upscaling (DLSS/FSR)
- Render Graph
- Shader Graph
- GPU Particles
- GPU-Driven Rendering
- Volumetric Fog
- Volumetric Clouds
- Global Illumination
- Virtual Texturing
- Water Rendering
- Clustered Lighting
- Material System
- Post-Processing
- Shadow System
- Particle System
- Decal System
- Sky and Atmosphere
- Foliage System
- Mesh Shaders
- Neural Rendering
- Configuration Reference
- Performance Tips
- Benchmark Framework
- Threading Model
- Fuzz Policy and Parser Security
- Memory Safety
- Memory Management Patterns
- Build System and CMake Modules
- Profiler and Debugging
- Performance Profiling Guide
- Telemetry System
- Crash Reporting
- Golden Image Testing
- Utilities
- Testing
- Fuzz Policy and Parser Security
- Codebase Statistics
- Codebase Health
- Error Handling Patterns
- Hot Reload Overview
- Troubleshooting
- Contributing
- Workflow Patterns
- Build Optimizations
- CI Reproducible Builds
- GitHub API and PR Checks
- Git Rebase Conflicts
- Clang-Format
- Code Quality Violations
- AI Bloat Pattern
- MinGW + Wine Cross-Compilation
- Live Editor Testing
- Engine & Renderer Landscape
- DuetOS Portability Catalog
- Five-Engine Analysis
- Eleven-Engine Analysis
- ThorVG / Unity Graphics Analysis
- Advanced Techniques Catalog
- Third-Party Library Evaluation
- Engine Viability Evaluation
- Engine Feature Recommendations
- Project Recommendations
- Mac Compatibility Analysis
- Codebase Observations
- Codebase Bloat Audit
- Test Suite Audit
- Documentation Coverage Audit
- ThirdParty Dependencies Audit
- Load Test Baseline
- Gameplay Systems Status
- SparkGame Module Status
- Stub and Abandoned Features
- Memory Integrity System
- Memory Safety Evaluation
- Hardware Acceleration Systems
- Jolt Physics Integration
- GPU/CPU Separation Plan
- Daemon Services Architecture
- Reflection & Polymorphism Refactoring Plan
- SparkBuild In-Tree
- Wine No-JobSystem Breakthrough
- Wine Role and Fallback Tiers