Spartan Engine is a research-focused game engine designed for real-time solutions, it's not intended for game development. Initially created to enrich my portfolio, I've achieved what I wanted from it and now aim to give back to the community. This engine is now a hub for learning, with the mission of collaboration and connection. It offers exclusive perks like contributor recognition, networking opportunities with tech professionals, and learning resources, including an active Discord community and insightful YouTube videos. Beyond just coding, Spartan is about building a uniquely supportive community.
-
For occasional updates regarding the project's development, you can follow me on X.
-
For a community like no other, join our group of 390+ members on discord.
-
For issues and anything directly related to the project, feel free to open an issue.
-
My AI replica is always around, click here for live assistance.
-
Please adhere to the MIT license. You're free to copy the code, provided you include the original license.
Video: Livestream of FSR 2 integration | Video: A demonstration of the engine's capabilities (old) |
---|---|
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
- Cutting edge Vulkan renderer.
- 128-byte push constant buffer for lightning fast CPU to GPU data transfer.
- On the fly single dispatch GPU-based mip generation for render targets.
- On the fly compression and mip generation for material textures.
- Fully bindless design (materials, lights, even the samplers).
- Fast dual paraboloid point lights.
- Vulkan (main) and DirectX 12 (wip) backends with universal HLSL shaders.
- Unified deferred rendering with transparency (BSDF with same render path).
- Atmospheric scattering, real-time filtering and image-based lighting.
- Screen space shadows from Bend Studio's Days Gone.
- Screen space global illumination & reflections.
- Variable rate shading.
- Dynamic resolution scaling.
- Advanced shadow features with penumbra and colored translucency.
- Physical light units (intensity from lumens and color from kelvin).
- Frustum & occlusion culling (software and hardware hybrid).
- Physically based camera.
- Volumetric fog.
- Temporal anti-aliasing.
- HDR10 output.
- Post-process effects like fxaa, bloom, motion-blur, depth of field, chromatic aberration etc.
- AMD FidelityFX features like FSR 2, SPD, CAS, Compressonator etc.
- Comprehensive debug rendering options.
- One-click project generation for easy setup.
- Universal input support, keyboard & mouse, controllers (tested a PS5 controller) and steering wheels.
- Comprehensive physics features.
- CPU & GPU profiling.
- XML support for data handling.
- Thread pool that can consume any workload.
- Entity-component, event systems and most things you'll expect to find in a modern engine.
- Wide file format support: 10+ for fonts, 20+ for audio, 30+ for images, and 40+ for models.
The wiki can answer most of your questions, here are some of it's contents:
Questions can also be answered by my AI replica, Panos.
- It's one of the most complete, oldest, yet still active, one man game engines out there.
- It's one of the most rewarding projects in terms of the perks you receive should you become a contributor, more here.
- This engine started as a way to enrich my portfolio while I was a university student, circa 2014.
Are you utilizing any components from the Spartan Engine, or has it inspired aspects of your work? If yes, then reach out to me, I'd love to showcase your project.