Skip to content

A game engine with an emphasis on real-time cutting-edge solutions

License

Notifications You must be signed in to change notification settings

The3dVehicleguy/SpartanEngine

 
 

Build Status Discord License

Overview

Spartan Engine is a research-focused game engine developed over 10+ years, designed for experimentation and pushing the boundaries of rendering and simulation. While it started as a personal learning project, it has evolved into an active community of 600+ members on Discord, including industry professionals sharing knowledge and exploring advanced technology.

DiscordXWikiIssues

The Plan

There's a vision taking shape - a destination that gives all this tech a purpose. Curious? Read the plan.

Worlds

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.

Forest

The most advanced and demanding world featuring 256 million procedurally generated grass blades (inspired by Ghost of Tsushima), spanning 64.1 km² covered in thousands of trees and rocks.

Other Worlds

Sponza 4K Subway

Sponza building from Dubrovnik, great for path tracing

Emissive materials and GI test
Minecraft Liminal Space

A classic Minecraft world

Shifts your frequency to a nearby reality
Showroom Car Playground

Car showroom - ideal for YouTubers/press as it doesn't use experimental tech

One of the most realistic out-of-the-box car simulations - featuring tire thermals, Pacejka physics, suspension dynamics, and full telemetry

Features

Rendering

Renderer

  • Cutting-edge Vulkan renderer with DirectX 12 backend (WIP)
  • Fully bindless design (materials, lights, samplers)
  • Universal HLSL shaders across both backends
  • 128-byte push constant buffer for fast CPU-to-GPU transfer
  • Tightly packed 10-byte instance format handling hundreds of millions of instances
  • On-the-fly GPU mip generation (FidelityFX SPD) and texture compression (FidelityFX Compressonator)
  • 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) and ambient occlusion (XeGTAO + visibility bitfield)
  • Ray-traced reflections
  • Ray-traced shadows
  • ReSTIR path-tracing
  • Fast shadow mapping with penumbra via shadow map atlas
  • Volumetric fog

Performance & Upscaling

  • Variable rate shading and dynamic resolution scaling
  • Upscaling: XeSS 2 & FSR 3
  • Temporal anti-aliasing
  • Custom breadcrumbs for GPU crash tracing

Camera & Post-Processing

  • Physically based camera with auto-exposure
  • Physical light units (lumens & kelvin)
  • Frustum & occlusion (Hi-Z) culling
  • Tonemappers: ACES, AgX, Gran Turismo 7 (default)
  • HDR10 output
  • FXAA, bloom, motion blur, depth of field, chromatic aberration

Car Simulation

  • Tires: Pacejka magic formula with combined slip, load sensitivity, temperature model, camber thrust, relaxation length, and multiple surface types (asphalt, concrete, wet, gravel, grass, ice)
  • Suspension: 7-ray contact patch per wheel, spring-damper with bump/rebound split, anti-roll bars, camber/toe alignment, bump steer
  • Drivetrain: Piecewise engine torque curve, 7-speed gearbox with auto/manual modes, rev-match on downshift, LSD with preload, turbo with wastegate, engine braking
  • Brakes: Thermal model with cold/optimal/fade zones, front/rear bias, ABS with configurable slip threshold
  • Aerodynamics: Drag with frontal/side area, front/rear downforce, ground effect, yaw-dependent drag and side force, pitch-dependent balance, rolling resistance
  • Steering: Ackermann geometry, high-speed reduction, non-linear response curve, self-aligning torque
  • Assists: ABS, traction control, handbrake lock
  • Input: Controllers with analog throttle/brake/steering, haptic feedback (tire slip, ABS, drifting)
  • Camera: GT7-inspired chase camera with speed-based dynamics and orbit controls
  • Debug: Raycast, suspension, and aero force visualization with telemetry logging
  • Physics: Runs at 200Hz for precise tire/suspension response

General

  • Input: Keyboard, mouse, controllers, steering wheels
  • Physics: Comprehensive PhysX integration
  • Profiling: CPU & GPU profiling tools
  • Data: XML support, thread pool, entity-component and event systems
  • File Formats: 10+ fonts, 30+ images, 40+ models

Getting Started

Building

One-click project generation - see the Building Guide for details.

Tutorials

Check out Game.cpp to understand how default worlds are loaded and set up - it's the best starting point for understanding the engine's structure.

Media

Podcast

Exploring the tech world and beyond, meeting the brightest minds across cutting-edge industries.

📺 Watch on YouTube
🎧 Listen on Spotify

Engine Trailer

Engine Trailer

Community & Support

Contributing

Contributors get access to exclusive perks designed to accelerate learning and skill development. See the Contributing Guide to get started.

Sponsorship

I cover the costs for Dropbox hosting to ensure library and asset bandwidth is available. If you enjoy running a single script and having everything download, compile, and work seamlessly, please consider sponsoring. Direct sponsorship is more helpful than Discord boosts since it goes directly into maintaining and improving the project.

Projects Using Spartan

  • 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 with professor Fotis Kokkoras.
  • Godot Engine - Integrates Spartan's TAA (see code)
  • Stalker Anomaly - Rendering addon using Spartan's source (ModDB)
  • Programming Book - Jesse Guerrero's beginner programming book features Spartan's code and community

Using code from Spartan or inspired by it? Reach out - I'd love to showcase your project!

License

MIT License - free to use with attribution.

About

A game engine with an emphasis on real-time cutting-edge solutions

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Languages

  • C++ 85.0%
  • C 8.7%
  • HLSL 6.0%
  • Python 0.2%
  • Lua 0.1%
  • Dockerfile 0.0%