A voxel game written in a custom engine.
Currently only tested on Windows using MSVC, MinGW-GCC, and MinGW-Clang.
Required Dependencies
- CMake tested with version 3.28.1
- Vulkan SDK tested with version 1.3.268.0
- glslangValidator (This should be callable from
PATH
and should come with Vulkan SDK)
git clone https://github.com/orosmatthew/voxelverse
cd voxelverse
# You can also specify Debug or RelWithDebInfo for CMAKE_BUILD_TYPE
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
Depending on your build tool, the voxelverse.exe
will be located somewhere in the build/
directory. Note that
the res/
directory must be in the current-working-directory (cwd) of the executable. So if you want to distribute the
executable, you must have the executable within the same directory of res/
.
|- voxelverse/
| |- res/
| | |- bin/
| | |- atlas.png
| | |- ...
| |- voxelverse.exe
- Custom Vulkan abstraction (MVE - Mini Vulkan Engine
/lib/mve
) - Custom math library (
/lib/mve/math
) - Vulkan graphics API
- LevelDB for save files
- GLFW for windowing
- Fast Noise Lite for world generation
- Cereal for serialization
- FreeType for font rendering
- lz4 for save file compression
- spdlog for logging
- BS::thread_pool for multithreading
- stb_image.h for image loading
- Vulkan Memory Allocator for Vulkan memory allocations
- SpirV-Reflect for shader reflection
MIT license. Details in LICENSE.txt