A game engine with a fully bindless, GPU-driven renderer featuring real-time path-traced global illumination, hardware ray tracing, and a physics simulation running at 200Hz, built over 12+ years of R&D
3,134
stars
7,871
commits
C++
primary language
Sep 10, 2026
updated
A personal R&D engine, not a commercial product. No roadmap promises, no support queue, no compromises on the vision.
Spartan started as a university project. Ten years of nights and weekends later, its rendering technology runs in Godot Engine and S.T.A.L.K.E.R. Anomaly, ships in a published programming book, and anchors a community of 600+ engineers on Discord.
This is what a codebase looks like when a single person owns every line for a decade: no legacy committees, no half-migrated architectures, no "we'll fix it in the next version." One philosophy applied without compromise: favor real-time over baked, dynamic over static, modern over safe. Every system here exists to serve that.
There is a destination that gives all this tech a purpose. Curious? Read the plan →
Launch the engine and choose from a selection of default worlds. Nothing is a canned demo—every world is physics-enabled. Walk around, pick up objects with your mouse, or take a car for a spin.
![]() | ![]() |
![]() | ![]() |
The renderer is built around one principle: the GPU owns the data. Every resource (geometry, materials, textures, lights, transforms, AABBs) lives in persistent, globally accessible buffers. No per-draw descriptor updates, no per-draw resource binding, no CPU-side draw loops.
DrawIndexedIndirectCount per passA full vehicle dynamics simulation running inside the PhysX fixed-timestep loop. Not a gameplay approximation—the kind of model you'd expect from a dedicated racing sim, embedded in a general-purpose engine.
| System | Details |
|---|---|
| Tires | Pacejka MF 5.2 with combined slip, thermal model, pressure, wear, multiple surfaces |
| Suspension | Convex hull sweep contact, spring-damper, anti-roll bars, bump stops, bump steer, camber/toe |
| Weight transfer | Geometric + elastic lateral split via roll center heights and roll stiffness |
| Drivetrain | Engine torque curve, turbo, 7-speed gearbox, rev-match, open/locked/LSD differentials, RWD/FWD/AWD |
| Brakes | Thermal model with fade, front/rear bias, slip-threshold ABS |
| Aerodynamics | Drag, front/rear downforce, ground effect, DRS, rolling resistance |
| Steering | Ackermann geometry, high-speed reduction, self-aligning torque |
| Assists | ABS, traction control, handbrake |
| Integration | Semi-implicit Euler with consolidated net-torque per wheel |
| Input | Controllers and steering wheels with haptic feedback |
| Camera | GT7-inspired chase camera with speed-based dynamics |
| System | Details |
|---|---|
| Particles | GPU-driven with compute emission and simulation, depth-buffer collision, soft blending |
| Animation | Full skeletal animation: keyframed clips, crossfade blending, four-bone skinning, and two-bone inverse kinematics with ground-aware foot planting |
| Physics | PhysX with rigid bodies, character kinematics, and vehicle dynamics |
| Scripting | Lua 5.4 via Sol2 with full engine API and lifecycle callbacks |
| Audio | 3D positional audio, streaming, reverb, procedural synthesis via SDL3 |
| Input | Keyboard, mouse, controllers, and steering wheels with haptic feedback |
| Entity system | Component-based with transform hierarchies, prefabs, and XML serialization |
| Procedural roads | Catmull-Rom spline roads with extruded profiles, terrain conforming, instanced prop placement, and path followers |
| Cinematics | Camera cut sequencer with entity tracking, spline-driven movement, and exact cut timing |
| Threading | Hardware-aware thread pool with parallel loops and nested parallelism detection |
| VR (WIP) | OpenXR with multiview single-pass stereo (Vulkan and DirectX 12) |
| Profiling | Nsight/RGP-style timeline with separate graphics and async compute lanes, RenderDoc integration, GPU/CPU memory fragmentation map |
| Asset import | 40+ model formats (Assimp), 30+ image formats (FreeImage), 10+ font formats (FreeType) |
| Editor | ImGui-based with hierarchy, asset browser, inspector, script and shader editors, gizmos, profiler, memory fragmentation viewer |
One-click project generation—see the Building Guide for details.
Start with Engine.cpp, it is the engine entry and the best place to learn the startup path. For gameplay scripting, check out the Lua Scripting Guide, it covers the full API, lifecycle callbacks, and examples.
![]() |
Exploring the tech world and beyond Meeting the brightest minds across cutting-edge industries. 📺 Watch on YouTube 🎧 Listen on Spotify |
Contributors get access to exclusive perks designed to accelerate learning and skill development.
I cover the Dropbox hosting that makes the one-click setup work. If Spartan has taught you something, or if you just want to fuel another decade of this, sponsorship goes directly into keeping the lights on and the project moving.
| Project | Description |
|---|---|
| Godot Engine | Integrates Spartan's TAA (view source) |
| S.T.A.L.K.E.R. Anomaly | Rendering addon using Spartan's source (ModDB) |
| Programming Book | Jesse Guerrero's beginner programming book features Spartan's code and community |
| University Thesis | Originally created as a portfolio piece while studying at the University of Thessaly with Professor Fotis Kokkoras |
Using code from Spartan? Reach out, I'd love to showcase your project!
MIT License, free to use with attribution.
C++
81.2%
HLSL
6.8%
JavaScript
5.5%
C
5.2%
A game engine with a fully bindless, GPU-driven renderer featuring real-time path-traced global illumination, hardware ray tracing, and a physics simulation running at 200Hz, built over 12+ years of R&D
3,134
stars
7,871
commits
C++
primary language
Sep 10, 2026
updated
A personal R&D engine, not a commercial product. No roadmap promises, no support queue, no compromises on the vision.
Spartan started as a university project. Ten years of nights and weekends later, its rendering technology runs in Godot Engine and S.T.A.L.K.E.R. Anomaly, ships in a published programming book, and anchors a community of 600+ engineers on Discord.
This is what a codebase looks like when a single person owns every line for a decade: no legacy committees, no half-migrated architectures, no "we'll fix it in the next version." One philosophy applied without compromise: favor real-time over baked, dynamic over static, modern over safe. Every system here exists to serve that.
There is a destination that gives all this tech a purpose. Curious? Read the plan →
Launch the engine and choose from a selection of default worlds. Nothing is a canned demo—every world is physics-enabled. Walk around, pick up objects with your mouse, or take a car for a spin.
![]() | ![]() |
![]() | ![]() |
The renderer is built around one principle: the GPU owns the data. Every resource (geometry, materials, textures, lights, transforms, AABBs) lives in persistent, globally accessible buffers. No per-draw descriptor updates, no per-draw resource binding, no CPU-side draw loops.
DrawIndexedIndirectCount per passA full vehicle dynamics simulation running inside the PhysX fixed-timestep loop. Not a gameplay approximation—the kind of model you'd expect from a dedicated racing sim, embedded in a general-purpose engine.
| System | Details |
|---|---|
| Tires | Pacejka MF 5.2 with combined slip, thermal model, pressure, wear, multiple surfaces |
| Suspension | Convex hull sweep contact, spring-damper, anti-roll bars, bump stops, bump steer, camber/toe |
| Weight transfer | Geometric + elastic lateral split via roll center heights and roll stiffness |
| Drivetrain | Engine torque curve, turbo, 7-speed gearbox, rev-match, open/locked/LSD differentials, RWD/FWD/AWD |
| Brakes | Thermal model with fade, front/rear bias, slip-threshold ABS |
| Aerodynamics | Drag, front/rear downforce, ground effect, DRS, rolling resistance |
| Steering | Ackermann geometry, high-speed reduction, self-aligning torque |
| Assists | ABS, traction control, handbrake |
| Integration | Semi-implicit Euler with consolidated net-torque per wheel |
| Input | Controllers and steering wheels with haptic feedback |
| Camera | GT7-inspired chase camera with speed-based dynamics |
| System | Details |
|---|---|
| Particles | GPU-driven with compute emission and simulation, depth-buffer collision, soft blending |
| Animation | Full skeletal animation: keyframed clips, crossfade blending, four-bone skinning, and two-bone inverse kinematics with ground-aware foot planting |
| Physics | PhysX with rigid bodies, character kinematics, and vehicle dynamics |
| Scripting | Lua 5.4 via Sol2 with full engine API and lifecycle callbacks |
| Audio | 3D positional audio, streaming, reverb, procedural synthesis via SDL3 |
| Input | Keyboard, mouse, controllers, and steering wheels with haptic feedback |
| Entity system | Component-based with transform hierarchies, prefabs, and XML serialization |
| Procedural roads | Catmull-Rom spline roads with extruded profiles, terrain conforming, instanced prop placement, and path followers |
| Cinematics | Camera cut sequencer with entity tracking, spline-driven movement, and exact cut timing |
| Threading | Hardware-aware thread pool with parallel loops and nested parallelism detection |
| VR (WIP) | OpenXR with multiview single-pass stereo (Vulkan and DirectX 12) |
| Profiling | Nsight/RGP-style timeline with separate graphics and async compute lanes, RenderDoc integration, GPU/CPU memory fragmentation map |
| Asset import | 40+ model formats (Assimp), 30+ image formats (FreeImage), 10+ font formats (FreeType) |
| Editor | ImGui-based with hierarchy, asset browser, inspector, script and shader editors, gizmos, profiler, memory fragmentation viewer |
One-click project generation—see the Building Guide for details.
Start with Engine.cpp, it is the engine entry and the best place to learn the startup path. For gameplay scripting, check out the Lua Scripting Guide, it covers the full API, lifecycle callbacks, and examples.
![]() |
Exploring the tech world and beyond Meeting the brightest minds across cutting-edge industries. 📺 Watch on YouTube 🎧 Listen on Spotify |
Contributors get access to exclusive perks designed to accelerate learning and skill development.
I cover the Dropbox hosting that makes the one-click setup work. If Spartan has taught you something, or if you just want to fuel another decade of this, sponsorship goes directly into keeping the lights on and the project moving.
| Project | Description |
|---|---|
| Godot Engine | Integrates Spartan's TAA (view source) |
| S.T.A.L.K.E.R. Anomaly | Rendering addon using Spartan's source (ModDB) |
| Programming Book | Jesse Guerrero's beginner programming book features Spartan's code and community |
| University Thesis | Originally created as a portfolio piece while studying at the University of Thessaly with Professor Fotis Kokkoras |
Using code from Spartan? Reach out, I'd love to showcase your project!
MIT License, free to use with attribution.
C++
81.2%
HLSL
6.8%
JavaScript
5.5%
C
5.2%