SparkEngine
A free, open-source C++23 3D game engine for FPS and beyond — DirectX 12, Vulkan, Jolt Physics, ECS, ImGui editor, AngelScript scripting
A C++23 game engine for shooters and beyond
SparkEngine is a free open-source 3D engine with a render hardware interface abstraction, EnTT based ECS, Jolt Physics, AngelScript scripting, and an ImGui editor.
Rendering and physics features
SparkEngine is a C++23 open source 3D game engine with a full render hardware interface abstraction, so the same engine code drives several graphics backends. The README lists six backends through one shared RHI: DirectX 11 as the stable primary Windows backend, DirectX 12 as experimental with mesh shaders, DXR ray tracing, and variable rate shading, Vulkan 1.4 as experimental on Linux and Windows, OpenGL 4.6 as an experimental fallback, Metal as experimental and in progress on macOS, and NullRHI as a stable headless path through llvmpipe. Render features are extensive: physically based materials, global illumination through DDGI and adaptive probe volumes and hybrid ray tracing, forward, deferred, and clustered render paths, cascaded shadow maps, GPU driven rendering with compute frustum culling and indirect draw, virtual texturing, mesh shaders, DXR 1.1, FSR upscaling, and a 35 node Shader Graph. Post processing covers bloom, HDR tone mapping with several operators, temporal and fast approximate anti aliasing, multisample anti aliasing, depth of field, motion blur, volumetric fog, lens flares, and light shafts. Physics comes from Jolt and includes rigid bodies in static, kinematic, and dynamic forms, 15 collision shapes, 12 constraint types, raycasting, shape casting, wheeled and tracked vehicles, ragdolls, cloth, soft bodies, and destruction, with a deterministic mode for replays and multiplayer. That combination is what lets the engine target more than first person shooters despite its origins.
Scripting, AI, and networking
Game logic in SparkEngine can be written several ways. AngelScript offers hot reload through a file watcher with state preservation, full engine API bindings, per file module isolation, and separate client and server contexts. A visual scripting system provides 60 node types across 8 categories and compiles to AngelScript with no runtime overhead, and the Shader Graph produces HLSL with live preview. Lua bindings are also provided for engine 5.3 and newer. The AI and navigation layer includes behavior trees with a blackboard, Recast and Detour NavMesh with dynamic obstacles, an environment query system for tactical point queries, steering behaviors such as seek, flee, pursue, and flock, perception through vision cones and hearing and threat memory, cover detection, formation movement, group coordination, and an AI budget limiter that supports more than 100 simultaneous agents. Networking is built on UDP with entity replication, dirty property tracking, client side prediction, server reconciliation, and lag compensation through hitbox rewinding with a one second history, plus unreliable, reliable, and reliable ordered message channels and delta snapshot compression with network statistics. For massive scales the architecture offers an AreaServer and WorldServer split with entity migration across server instances, per area session management, and load balancing. These systems are documented as present in the engine rather than planned, which is notable for a project at this star count.
Editor and game templates
The editor is ImGui based and ships with 59 dockable panels, including scene hierarchy, inspector, asset browser, game viewport, gizmos, node graphs, animation timeline, material editor, visual script editor, terrain editor, weapon editor, profiler, AI debugger, physics debug overlay, cinematic sequencer, dialogue editor, and many more. It supports collaborative multi user editing with node locking and presence, full undo and redo, play mode editing, and a plugin system. Ten prebuilt game module templates load as dynamic libraries at runtime and build against the installed SDK independently of the engine: FPS with weapons, damage, HUD, ammo, and crosshair; RPG with dialogue trees, quests, inventory, and abilities; MMO with area servers, player sessions, and entity migration; Action RPG; RTS; Racing; Platformer; Battle Royale; Open World; and Visual Script. Quality assurance is taken seriously, with 6,447 unit tests across 548 files covering core utilities, ECS, physics, AI, animation, networking, gameplay, graphics, editor, and more than 50 other subsystems, plus sanitizer jobs for address, undefined behavior, leak, thread, and memory sanitizers. The project is published under the Spark Open License 1.0, which asks for no royalties or fees and permits commercial use, modification, and redistribution. At the time of writing the repository showed 27 stars.
Editorial conclusion
SparkEngine is implemented in C++ and published under the Spark Open License 1.0, with 27 stars on GitHub at its last update on 2026-08-24.
Community notes