Feg Craft
This project is my first proper experience with multi-threaded applications in C++. The secondary thread is used for terrain and mesh generation. So that the main thread can focus on rendering the scene. Feel free to check out the video or devlogs below.
Project background
Where do I start? When I began this project late 2018 I had just finished playing a modded Minecraft world for what seemed like days. Naturally after playing a game for that long you start to wonder how things work, I had schemed before but never put in the time to properly research it. I found some great information on the topic from some of Notch's old blogs and from various articles on game dev websites. But the one thing that gave me the most inspiration to properly try and re-create this was this video by Hopson.

After watching this (Which I 100% recommend you do), I immediately wanted to get started but I knew that I would have to do at least some planning first. I set up the basic OpenGL rendering code (i.e. Shader, Mesh and Camera Classes) and booted up OneNote. I mainly thought about terrain and mesh generation (as this was all I had implemented until recently). Before long, I had a several chunks of blocks with varying meshes and textures being rendered. This is the only video I could find of this stage and as you can see, it's pretty basic.

And that's pretty much how it stayed until around August in 2019 as other deadlines were more pressing during that time. The reason for picking it back up again was because I wanted to attempt to make the world theoretically infinite, add different biomes, generate caves and test my new-found knowledge of threading. Not to mention to cull the crippling boredom of being at home all summer. You can find out about these newer features in the devlogs below.
Related Posts
Links
01 - Github Repo - (N/A)
02 - 1920x1080 Release Build - (Link)
Future Plans
This project has a lot of potential, but there are some major issues to do with threads quitting for seemingly no reason in release builds. These problems have caused me to lose interest in the project, because if I want it to run consistently, it has to be run in debug mode.
Meta
Language languageUsed = C++;
std::string dateCreated = "18/08/19";
bool inDevelopment = false;

Library librariesUsed[] = {
    OpenGL, GLFW, GLEW 
};

std::string credits[] = {
    "Fergus Griggs - Programming"
};
Comments