Basics & Requirements

Korpi banner image

What is Korpi?

Korpi is a voxel* engine written in C#, that uses OpenGL as the rendering backend. I'm working on the engine to make it more stable and feature complete.

The long-term goal of this project is to eventually develop into its own game, with player-hosted servers and official modding support.

What is OpenGL?

OpenGL is a cross-platform graphics-rendering library, originally developed by Silicon Graphics (SGI), and now maintained by the Khronos group. OpenGL is used for everything from video games to CAD tools to web browsers to mobile phones.

What operating systems does Korpi run on?

Korpi runs on .NET 6.0, and has currently been only tested on Windows. However, it should be possible to run it on Linux and macOS as well, as long as the required dependencies are met.

If you'd like to help us test Korpi on other operating systems, please let us know!

Contributing

I (Japsu) appreciate your interest in contributing to the project! All contributions are welcome, and I'm happy to help anyone who wants to contribute!

Whether you're a developer, designer, or enthusiast, there are various ways you can contribute and help improve Korpi:

There is also a more detailed Contributing Guide available on GitHub.

How can I contribute to the source?

  1. Fork the Repository:

  2. Clone the Repository:

    • Clone the forked repository to your local machine.
      git clone https://github.com/your-username/Korpi.git
      
  3. Create a Branch:

    • Create a new branch for your contribution. Name the branch according to the type of contribution you are making.
    • Naming guide
      git checkout -b feature-your-feature
      
  4. Make Changes:

    • Implement the changes or new features in your branch.
    • Ensure your code follows the project's coding standards.
  5. Test Your Changes:

    • Test your changes thoroughly to make sure they work as expected.
    • If applicable, update or create tests to cover your code.
  6. Commit Your Changes:

    • Commit your changes with a clear and descriptive commit message.
      git commit -m "Add feature: your feature description"
      
  7. Push Changes:

    • Push your changes to your forked repository.
      git push origin feature-your-feature
      
  8. Create a Pull Request:

    • Open a pull request (PR) from your branch to the main repository's master branch.
    • Provide a detailed description of your changes in the pull request.
    • Reference any relevant issues in the description.
  9. Code Review:

    • Participate in the code review process, address any feedback, and make necessary changes.
  10. Merge:

  • Once your changes are approved, they will be merged into the main repository.

How can I contribute to the docs?

First of all, you should read the Contributing to source section above, as the process is very similar.

Second, please contact me (Japsu) on the Korpi Discord or open an issue before starting work on any documentation changes, to avoid duplicate work.

Once your issue has been approved, you can start working on your changes. When you're done, open a pull request (PR) from your branch to the main repository's master branch.

How can I report issues?

If you encounter any issues or have suggestions for improvements, please open an issue on the GitHub repository.

How can I help test Korpi?

If you'd like to help test Korpi, please contact me (Japsu) on the Korpi Discord or open an issue

Miscellaneous

Voxel engine vs korpi

Truth be told, this engine is not a "true" voxel engine. This engine uses voxel data representation but does not use voxel volume rendering techniques (like volume marching), but instead opts for traditional polygonal rendering. When referring to voxels, I mean blocks ;)