/basic-voxel-engine

A Minecraft-like voxel engine, written in C++.

Primary LanguageC++Apache License 2.0Apache-2.0

basic-voxel-engine Build status Total alerts Language grade: C/C++

A Minecraft-like voxel engine, written in C++. To use the library on its own without the application, include this repository as a submodule in your project, add it to your build via CMake's add_subdirectory(), and link against the basic-voxel-engine target.

Project Structure

  • src: core C++ BVE code and assets
  • BasicVoxelEngine: core C# scripting library
  • BasicVoxelEngine.Content: C# BVE content (blocks, etc.)
  • vendor: submodule dependencies

Dependencies

Submodule dependencies can be synced by running git submodule update --init --recursive. The following projects, however, need to be installed manually:

* On Arch Linux, the mono package is outdated. Install mono-git from the AUR and mono-msbuild from the Community repository instead.

Installing Vulkan

On Windows, MacOS X, and Ubuntu, run this Python script to install Vulkan. Otherwise, install Vulkan from here.

Building

This project uses CMake. To configure, run:

cd path/to/repo/basic-voxel-engine
cmake . -B build $(python3 scripts/cmake_options.py)

To change the graphics API in use, tack on a definition for BVE_GRAPHICS_API with the value being your preferred graphics API. Please do note that OpenGL is generally considered deprecated, and because of this, textures don't exactly work. If you absolutely need to use OpenGL, open an issue and I will work on it.