GithubHelp home page GithubHelp logo

thearchiver / streamminecraftclone Goto Github PK

View Code? Open in Web Editor NEW

This project forked from codingminecraft/streamminecraftclone

0.0 0.0 0.0 93.46 MB

A Minecraft Clone developed live on stream at twitch.tv/gameswthgabe

License: GNU General Public License v3.0

Shell 0.21% C++ 95.38% C 0.10% Lua 1.27% GLSL 2.84% Batchfile 0.20%

streamminecraftclone's Introduction

Minecraft Clone

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.

To Build

Note: Currently this code only supports Windows and Linux (almost)

Windows

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.

Bug Reporting

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.

TODOs

This is a list of tasks that still need to be done.

Most Important


  • Save chunks when they unload from the chunk radius
  • Make GUI stuff look pretty
  • Clean up the code in ChunkManager.cpp
  • 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
  • Cubemaps
  • Day/Night cycle
  • Biome generation
    • Ore generation
    • Structure generation
    • Tree generation
  • Water/Lava
  • Fullscreen support
  • Add sounds
  • Add Command Line Parsing
  • Add Multiplayer Support

Less Important


  • Support for different block types
    • E.g stairs, slabs, door, beds, etc.
  • 3D Rigged models and animations
  • Mobs
  • True survival mode
  • Settings Menu

Bugs


  • Linux Fileystem doesn't like numbers

streamminecraftclone's People

Contributors

codingminecraft avatar ambrosiogabe avatar samcz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.