Voxel Engine

Mini Minecraft

Mini Minecraft

Year

'24

Client

Service

Games, Computer Graphics

A recreation of Minecraft using C++ and GLSL

© Voxel Engine

Process

I implemented player physics predominantly using gridmarching to check for blocks in order to determine where to destroy or create. In order to implement caves, I used a mix function to layer 3D perlin noise with 3D simplex noise to create tunnels. Additionally, I implemented the Day and Night cycle by adding my own palletes for sunrise, morning, midday, sunset, and night. I then created a const variable that represented 10,000 ticks, and this variable allowed me to create 5 different phases throughout the day. I based my sun movement off of each interval along with using sin and cos functions. Lastly, I created the post-processing shaders that appear on screen when the user is in lava or water by creating a switch case that would be activated when a boolean was true or false for lava or water respectively. I layered FBM functions along with 2D noise functions to create these effects.

Technical Details

For more in-depth technical details, my writeup can be found at this repo.

TLDR:

  • Developed a real-time GLSL sky shader that simulates a full day/night cycle with smooth transitions between sunrise, morning, midday, sunset, and night.

  • Implemented time-based color interpolation, dynamic sun positioning, and atmospheric gradients driven by a u_Time uniform.

  • Generated animated procedural clouds using Worley noise and mapped the sky using polar coordinate transformations for seamless skybox rendering.

  • Optimized for GPU real-time rendering in OpenGL by combining procedural noise, ray direction calculations, and shader-based lighting effects.


mirrored portal

Dissolution