As of ~April 2020, I stopped working on this project for several reasons.
The way I created this was quite "over done" to the point it got hard to work out how to add new features, perhaps due to trying to be an engine rather than a game. However, I am interested in one day revisiting this concept, however perhaps in a different repository rather than this one.
Open source Minecraft-like voxel sandbox game with multiplayer support.
More information about the project can be found in the Open Builder Wiki
This was made mostly for a YouTube series which can be found here: Lets Code A Multiplayer Voxel Game
The easiest way to build is to use vcpkg and install dependencies through this:
vcpkg install sfml
vcpkg install imgui
vcpkg install glm
vcpkg integrate install
Then open the Visual Studio project file to build and run.
Install Vcpkg and other required packages using your distribution's package manager:
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
# These are required to build some packages
sudo apt install cmake make autoconf libtool pkg-config
# The following are required for SFML
sudo apt install libx11-dev xorg-dev freeglut3-dev libudev-dev
Ensure paths are set correctly:
export VCPKG_ROOT=/path/to/vcpkg
export PATH=$VCPKG_ROOT:$PATH
RECOMMENDED: Add the above lines to your .bashrc
or .zshrc
file:
echo 'export VCPKG_ROOT=/path/to/vcpkg' >> ~/.bashrc
echo 'export PATH=$VCPKG_ROOT:$PATH' >> ~/.bashrc
To build, at the root of the project:
vcpkg install # First time only
sh scripts/build.sh
To run, at the root of the project:
sh scripts/run.sh
To build and run in release mode, simply add the release
suffix:
sh scripts/build.sh release
sh scripts/run.sh release
A quick overview of the code and project structure can be found in the wiki article:
Please see main article here:
Terrain gen:
This project was heavily influenced by the following projects:
Another open source voxel sandbox game, one of the original ones. Also created using C++, and also has multiplayer support.
Open source multiplayer voxel sandbox game created using Java like the original minecraft.
Minecraft clone created by Fogleman in C.
D3PSI - Added GitHub actions, and created the install.sh file to automate the installation process on Linux systems
CalvinSpace - Created a lot of the textures for the blocks
Originally, this was going to be a Zombie game, but I got very bored of that very quickly, and so changed the project to be a voxel game instead.
As a result of this, the code was created for the zombie game, so when I decided to switch over, the code got messy very quickly.
To combat this, I did a massive refactor in just over 2 weeks, re-creating large parts of the project.
The before-refactor-project can be found here
The commit that adds the refactored code can be found here