japsuu / KorpiEngine

Simple, modern, code-only C# game engine!
https://japsuu.github.io/KorpiEngine/
MIT License
20 stars 1 forks source link
csharp game-engine opengl unity
Korpi Engine banner
[![SonarCloud](https://sonarcloud.io/images/project_badges/sonarcloud-white.svg)](https://sonarcloud.io/summary/new_code?id=japsuu_KorpiEngine) [![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=japsuu_KorpiEngine&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=japsuu_KorpiEngine) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=japsuu_KorpiEngine&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=japsuu_KorpiEngine) [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=japsuu_KorpiEngine&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=japsuu_KorpiEngine) [![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=japsuu_KorpiEngine&metric=sqale_index)](https://sonarcloud.io/summary/new_code?id=japsuu_KorpiEngine) [![.github/workflows/documentation.yml](https://github.com/japsuu/KorpiEngine/actions/workflows/documentation.yml/badge.svg?branch=main)](https://github.com/japsuu/KorpiEngine/actions/workflows/documentation.yml) [![.github/workflows/build.yml](https://github.com/japsuu/KorpiEngine/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/japsuu/KorpiEngine/actions/workflows/build.yml) [![.github/workflows/test.yml](https://github.com/japsuu/KorpiEngine/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/japsuu/KorpiEngine/actions/workflows/test.yml)

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!


About The Project

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

Which types of games is Korpi Engine best suited for?

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

Which types of games is Korpi Engine NOT well-suited for?

Why the name "Korpi"?

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

Gallery

Sponza example scene @ ~5ms / frame Screenshot 2024-08-30 111435 Composite frame Screenshot 2024-08-30 111439 Albedo
Screenshot 2024-08-30 111443 Normal Screenshot 2024-08-30 111451 ObjectID
Screenshot 2024-08-30 111455 Depth Screenshot 2024-08-30 111500 Wireframe

Features / Roadmap

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


Documentation

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

Quick links:


Getting Started

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.


Contributing

Contributions are welcome!


Acknowledgments

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