top of page
sm1.png

Simple Miner

Exploration of endless, voxel-based open worlds through multi-threaded generation, allowing for mining and construction. This project aimed to create a Minecraft-like procedural world generation within a tailored game engine, developed across three phases to include voxel tile infrastructure, multithreaded job system support, and specialized world generation jobs.

sm2_edited_edited.jpg

Overview:

Genre: Multi-threaded generation

Team Size: Solo Project

Date: May 2023 - July 2023

Technology: Custom Engine (C++)

Biomes, caves, templates and tree placements by Perlin Noise, etc.

Multithreaded World Generation

              To ensure seamless transitions at chunk boundaries for features such as trees, generation based on Perlin Noise was executed over areas much larger than the chunks themselves. However, this approach made environment generation too resource-intensive, affecting draw distance and frame rate negatively. To address this, a basic job system was introduced, environment generation was made thread-safe, and multiple job threads were dedicated to generating chunks each frame to improve performance.

Key Features

  • Optimized Rendering

    • Indexed Drawing​

    • Hidden Surface Removal

    • Mesh Rebuilding by Requiement

  •  Block Raycasting with Debug Render

  • Multithreading for active loading or destory world chunks

  • Biomes, caves, templates and tree placements by Perlin Noise

  • Block iterator for finding neighbors quickly

  • Thunderstorm effect and day-night switch by time-based global illumination

  • Blocks placement and destruction

  • Glow stones illumination

bottom of page