Home

Awesome

<img src="docs/media/banner.png" width="100%" alt="Korpi Engine banner"> <div align="center">

SonarCloud

Lines of Code Maintainability Rating Security Rating Technical Debt

.github/workflows/documentation.yml .github/workflows/build.yml .github/workflows/test.yml

</div>

An open-source, MIT-licensed 3D game engine written in pure C# and .NET 8. The engine uses a 64-bit (double) coordinate system on the CPU and camera-relative rendering on the GPU, to achieve large world support.

[!WARNING] The engine is still under development and is not yet feature-complete!

[!IMPORTANT] Only the MAIN branch is reserved for releases. All other branches might contain broken features!


<p align="center">About The Project</p>

The goal of this project is to provide a viable alternative to other game engines for programmers, and other people who prefer working directly with code.

Korpi Engine does NOT aim to:

Korpi Engine DOES aim to

<p align="center">Which types of games is Korpi Engine best suited for?</p>

An example of such a game could be a Minecraft-like voxel game, or a deep-space exploration game.

<p align="center">Which types of games is Korpi Engine NOT well-suited for?</p>

<p align="center">Why the name "Korpi"?</p>

The name "Korpi" is Finnish and means "wilderness" or "forest". It was chosen to reflect the engine's focus on large, open-world games.

<p align="center">Gallery</p>

Sponza example scene @ ~5ms / frame

Screenshot 2024-08-30 111435 Composite frameScreenshot 2024-08-30 111439 Albedo
Screenshot 2024-08-30 111443 NormalScreenshot 2024-08-30 111451 ObjectID
Screenshot 2024-08-30 111455 DepthScreenshot 2024-08-30 111500 Wireframe

<p align="center">Features / Roadmap</p>

A non-exhaustive list of currently implemented engine features. Updated every once in a while.


<p align="center">Documentation</p>

The official documentation is hosted on GitHub Pages and is automatically updated with every commit to the main branch.

Quick links:


<p align="center">Getting Started</p>

Check out the Getting Started guide in the documentation.

It will help you get the engine up and running on your machine, and guide you through building and running the example project.


<p align="center">Contributing</p>

Contributions are welcome!


<p align="center">Acknowledgments</p>

Portions of code or ideas are derived from the following sources: