This is a Minecraft clone that will be used for an education YouTube series. I will link the YouTube series here once I begin creating it.
Note: Currently this code only supports Windows and Linux (almost)
In order to build this, you must have git installed. Then you can create a new directory where you want to install this code and open a command prompt. Then run:
git clone --recursive https://github.com/codingminecraft/StreamMinecraftClone cd StreamMinecraftClone build.bat vs2019
This should create a Visual Studio solution file, and all you need to do is double click the solution file, then build and run the project within Visual Studio.
Linux (Ubuntu)In order to build this, you must have git and a few other dependencies installed. You cun run the following commands to ensure you have all the dependencies:
# Get the dependencies for libcurl sudo apt-get install libcurl4-gnutls-dev # Get the dependencies for freetype wget https://download.savannah.gnu.org/releases/freetype/freetype-2.10.4.tar.gz tar xvfz freetype-2.10.4.tar.gz cd freetype-2.10.4 ./configure --prefix=/usr/local/freetype/2_10_4 --enable-freetype-config make make install cd .. rm -rf ./freetype-2.10.4 rm ./freetype-2.10.4.tar.gz # Get dependencies for GLFW sudo apt-get install xorg-dev # Clone the repository and change into the directory git clone --recursive https://github.com/codingminecraft/StreamMinecraftClone # Compile and install GLFW cd StreamMinecraftClone/Minecraft/vendor/GLFW cmake . make sudo make install cd ../../../ # Finally build the project ./build.sh gmake2 make Minecraft
If you ever need to rebuild the project simply run these two commands:
./build.sh gmake2 make Minecraft config=release
Note: If you want to use a different build system, just run build.bat which will print out all available build systems.
This game is still very much in development, there are no official releases yet. However, bug reporting is still very helpful so I can keep track of everything. If you encounter any bugs please report them at the issues tab of the repository at: https://github.com/codingminecraft/StreamMinecraftClone.
This is a list of tasks that still need to be done.
Save chunks when they unload from the chunk radius
Make GUI stuff look pretty
Clean up the code in
- Make the application handle out of memory errors gracefully (Sort of done...)
- Either make it allocate more memory, or just de-prioritize the furthest chunks
Add block level lighting Add light sources
- Add multi-color lighting
Add proper transparency support
Add inventory management Add icons for blocks in the inventory Add indicators for number of blocks in a slot
Add crafting support
- Biome generation
- Ore generation
- Structure generation
- Add sounds
Add Command Line Parsing
- Add Multiplayer Support
- Support for different block types
- E.g stairs, slabs, door, beds, etc.
- 3D Rigged models and animations
- True survival mode
- Settings Menu
- Linux Fileystem doesn't like numbers