Spartan is a game engine that started as a hobby project and evolved into something bigger. The goal is to target high-end machines and deliver advanced graphical capabilities at high frame rates with minimum input latency. Then wrap all that in a nice editor.
The project is at an early development stage and there is a lot experimentation going on, regarding what works best. However a lot of effort is being put into building and maintaining a clean, modern and overall high quality architecture, an architecture that will ensure continuous development over the years. This means that while you shouldn't expect to make games with it yet, you might find it to be a helpful study resource.
For more updates regarding the project's development, you can me on twitter.
License: Embracing the open source ethos and respecting the MIT license is greatly appreciated. This means that you can copy all the code you want as long as you include a copy of the original license.
Platform | API | Status | Quality | Binaries | 👍 |
---|---|---|---|---|---|
Download | |||||
WIP | WIP | WIP | WIP |
- 10+ font file formats support (FreeType)
- 20+ audio file formats support (FMOD)
- 30+ image file formats support (FreeImage)
- 40+ model file formats support (Assimp)
- XML files
- Keyboard
- Mouse
- Xbox controller
- Bloom (Based on a study of Resident Evil 2's RE Engine)
- Shadows (Cascaded shadow mapping with smooth, clean and stable shadows)
- Custom mip chain generation (Higher texture fidelity using Lanczos3 scaling)
- Debug rendering (Transform gizmo, scene grid, bounding boxes, colliders, raycasts, g-buffer visualization etc)
- Deferred rendering
- DirectX 11 backend
- Lights (Directional, point and spot lights)
- Font Rendering
- Frustum culling
- Per-Pixel motion blur
- Physically based rendering
- Post-process effects (Tone-Mapping, FXAA, Sharpening, Dithering, Chromatic aberration etc.)
- SSAO (Screen space ambient occlusion)
- SSR (Screen space reflections)
- SSS (Screen space shadows)
- TAA (Temporal anti-aliasing based on Uncharted 4)
- Constraints
- Rigid bodies
- Colliders
- Entity-component system
- Event system
- Easy to build (Single click project generation which includes editor and runtime)
- Thread pool
- Engine rendered platform agnostic editor
- Profiling (CPU & GPU)
- C/C++ (Using AngelScript)
- Windows 10 and a modern/dedicated GPU (The target is high-end machines, old setups or mobile devices are not officially supported)
Feature | Completion | Notes |
---|---|---|
Volumetric Lighting | 100% | - |
Screen space contact shadows | 100% | - |
Parallax Mapping | 100% | - |
Shader Editor | 100% | Real-time shader editing tool. |
Shadows | 90% | Enable point & spot light shadows. |
Vulkan | 60% | Don't port it, re-architect the engine instead. |
- C# scripting (Replace AngelScript).
- Ray traced shadows.
- Ray traced reflections.
- DirectX 12.
- Skeletal Animation.
- Eye Adaptation.
- Depth-of-field (Based on Doom approach).
- Subsurface Scattering.
- Atmospheric Scattering.
- Dynamic resolution scaling.
- Global Illumination.
- Export on Windows.
- UI components.
- Make editor more stylish.
- Compiling - A guide on how to compile from source.
- Contributing - Guidelines on how to contribute.
- Licensed under the MIT license, see LICENSE.txt for details.