Simple Miner
August 2025 - December 2025
Multi-threaded C++
Simple Miner is a Minecraft-like voxel sandbox game. It supports different biomes, feature generation (trees), and colored light propagation with vertex smoothing. I wanted to explore 3D chunk generation in particular, as I was always curious why Minecraft did not simply generate infinitely up and down in addition to horizontally. While I was broadly successful, 3D chunk generation adds additional challenge when generating terrain (especially “stamps” like trees or other structures) and managing sky light.
To keep track of the lowest level still in sunlight despite chunks generating infinitely upwards, I implemented a concurrent 2D tiling structure alongside the 3D chunks that I call a map. Maps keep track of the sky-level dynamically, and also allow me to reduce the number of times I need to generate 2D-only values with Perlin noise (e.g. biome, humidity, etc.). While this does save some time on generation for chunks above and below, the additional overhead required to support sky light infinitely up and down leads to a noticeable hit in performance compared to 2D tiling chunk versions.
I developed a set of debug and profiling tools during development using Dear ImGui to help me identify the slowest processes, implement targeted optimizations, and test new generation and physics features.