Code Monkey home page Code Monkey logo

spartanengine's Introduction

Spartan Engine is more than an engine; it's a vibrant hub for learning and connection, a community. While centered around a research-focused game engine for real-time solutions, our core mission is to foster a unique, collaborative environment. Join us for exclusive perks like contributor recognition, networking opportunities with tech professionals, and valuable learning resources, including our active Discord community and insightful YouTube tutorials. Spartan Engine isn't just about code; it's about building a community like no other.

  • For occasional updates regarding the project's development, you can follow me on twitter.

  • For questions, suggestions, help and any kind of general discussion join the discord server.

  • For issues and anything directly related to the project, feel free to open an issue.

  • My AI replica is equipped with engine knowledge and my personality traits, click here here to get it to help you.

  • Please adhere to the MIT license You're free to copy the code, provided you include the original license.

Status

build_status Discord

Media

Video: Livestream of FSR 2 integration Video: A demonstration of the engine's capabilities (old)
Image1 Image2
Screenshot: Bistro Screenshot: Minecraft

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. These worlds are designed to offer a diverse and enjoyable experience.

Sponza Forest

The Sponza building, found in Dubrovnik, is showcased here with a true-to-life scale.

A height map-generated forest featuring water bodies amidst tens of thousands of trees and plants, all set in a walkable terrain.
Car Doom

A drivable car implemented with a highly realistic tire friction formula, simulation of gearbox, anti-roll bar, and more.

This is a simple scene with the soundtrack from E1M1

Features

Rendering

  • 128-byte push constant buffer for lightning fast CPU to GPU data transfer.
  • On the fly GPU-based mip generation - with only one dispatch.
  • Fully bindless design (materials, lights, even the samplers).
  • 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.
  • Advanced shadow features with penumbra and colored translucency.
  • Physical light units (intensity from lumens and color from kelvin).
  • Comprehensive debug rendering options.
  • Frustum & occlusion culling (software and hardware hybrid).
  • Physically based camera.
  • Volumetric fog.
  • Temporal anti-aliasing for smooth visuals.
  • Post-process effects like fxaa, bloom, motion-blur, depth of field, chromatic aberration etc.
  • AMD FidelityFX features like FSR 2, SPD, etc.

General

  • One-click project generation for easy setup.
  • Universal input support, including mouse, keyboard, and controllers (tested with a PS5 controller).
  • 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.

Wiki

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.

Interesting facts

  • 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 2015.

Use cases

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.

  • Godot uses Spartan's TAA, see here

spartanengine's People

Contributors

panosk92 avatar ikergalardi avatar nickelium avatar deg3x avatar pattakosn avatar apostolosbouz avatar ignaciomgarrido avatar jesseguerrero avatar nickpolyder avatar perkele1989 avatar panoskolyvakis avatar cyw94 avatar dehnda avatar michaelhinrichs avatar vilbeyli avatar yunstore avatar nexovec avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.