Spartan Engine is a highly capable one-man game engine, designed for research, experimentation, and pushing the boundaries of rendering and simulation. The engine is particularly suited for industry professionals exploring advanced workflows rather than users focused solely on game creation.
Originally developed as a personal learning project, Spartan Engine has grown into a community that fosters collaboration and experimentation. Its Discord community of over 600 members, including seasoned professionals, provides an active space for knowledge-sharing and networking (jobs channel).
Contributors can access a range of perks designed to accelerate learning, skill development, and experimentation. Ambitious contributors are supported directly to maximize their growth and contribution potential.
Spartan Engine now serves a broader purpose: enabling others to explore, experiment, and push the boundaries of what’s possible in game and rendering technology.
-
For occasional updates regarding the project's development, you can follow me on X.
-
For a community like no other, join our group of 600+ members on discord.
-
For issues and anything directly related to the project, feel free to open an issue.
-
Please adhere to the MIT license. You're free to copy the code, provided you include the original license.
Upon launching the engine, you'll be greeted with a selection of default worlds to load. Each world is physics-enabled, allowing you to walk around, pick objects using your mouse, and even drive a car. These worlds are designed to offer a diverse and enjoyable experience
Forest
The Forest is the most advanced and demanding world. It features 64 million procedurally generated grass blades, fully simulated and inspired by Ghost of Tsushima. The world spans 64.1 km², covered in thousands trees and rocks.
Some of the other worlds
Sponza 4K | Subway |
---|---|
![]() The Sponza building, found in Dubrovnik, is showcased here with a true-to-life scale. |
![]() Emissive materials and GI test |
Minecraft | Liminal Space |
---|---|
![]() A good old minecraft world |
![]() Shifts your frequency to a nearby reality |
Showroom |
---|
![]() Car Showroom - Ideal for YouTubers/Press as it doesn't use experimental tech |
- Renderer
- Cutting-edge Vulkan renderer
- 128-byte push constant buffer across passes for lightning-fast CPU-to-GPU data transfer
- On-the-fly single-dispatch GPU-based mip generation for render targets (FidelityFX SPD)
- On-the-fly compression and mip generation for material textures (FidelityFX Compressonator)
- Vulkan (main) and DirectX 12 (wip) backends with universal HLSL shaders
- Fully bindless design (materials, lights, samplers)
- Unified deferred rendering with transparency (BSDF with same render path)
- Lighting & Shadows
- Atmospheric scattering, real-time filtering, IBL with bent normals
- Screen-space shadows (from Days Gone)
- Screen-space ambient occlusion (XeGTAO + visibility bitfield)
- Screen-space reflections (FidelityFX SSSR)
- Fast shadow mapping with penumbra, supporting dozens of lights via a shadow map atlas
- Volumetric fog
- Performance & Upscaling
- Variable rate shading
- Upscaling: XeSS 2 & FSR 3
- Dynamic resolution scaling
- Temporal anti-aliasing
- Breadcrumbs for tracing GPU crashes on AMD (FidelityFX Breadcrumbs)
- Camera & Environment
- Physically based camera
- Auto-exposure
- Physical light units (lumens & kelvin)
- Frustum & occlusion (Hi-Z) culling
- Post-processing
- Tonemappers: ACES, AgX, others
- HDR10 output
- Post-processing effects: FXAA, bloom, motion blur, depth of field, chromatic aberration
- Project & Input
- One-click project generation
- Keyboard, mouse, controllers, steering wheels
- Physics & Profiling
- Comprehensive physics features (PhysX)
- CPU & GPU profiling
- Data & Systems
- XML support
- Thread pool for any workload
- Entity-component and event systems
- File support
- 10+ font formats, 30+ image formats, 40+ model formats
The wiki can answer most of your questions, here are some of it's contents:
While the engine is designed primarily for experienced game developers to experiment, there are resources available for those who prefer a more guided approach.
To get started, take a look at Game.cpp. This file contains all the logic for loading and setting up the default worlds within the engine, and it's a great place to understand the core structure of the engine.
![]() |
Join me as I explore the tech world and beyond, meeting the brightest minds across cutting-edge industries and uncovering their stories. |
I cover the costs for Dropbox hosting to ensure library and assets bandwidth is available. If you enjoy the ease of running a single script and having everything download, compile and work seamlessly, please consider sponsoring to help keep it that way. Sponsoring directly is much more helpful than boosting the Discord server since boosts only benefit Discord, not the project. Your support goes directly into maintaining and improving everything.
- This engine started as a personal learning project and a way to enhance my portfolio while I was a university student. I also used it for my thesis at my university.
- Contributing to this project comes with great perks! Learn more about the benefits here.
- Godot integrates Spartan’s TAA. See it in action here.
- Stalker Anomaly features an addon that enhances rendering using Spartan's source. Check it out here.
- Jesse Guerrero, a contributor, wrote a book on beginner programming, featuring Spartan's code, its Discord community, and leadership.
Are you utilizing any code from Spartan Engine, or has it inspired aspects of your work? If yes, reach out to me, I'd love to showcase your project.