Mini Minecraft

Mini Minecraft is a project created by MineCraft Gang that features a recreation of the popular sandbox game Minecraft. For this project, I was in charge of rendering, texturing, and animating the terrain, coding player movement as well as player-environment interaction, creating the day-night cycle, and changing the skybox for weather phenomenon.

Rendering Procedurally Generated Terrain

Mini Minecraft features an infinitely spanning, procedurally generated open world that the player can explore at their leisure. Mini Minecraft’s overworld consists of four main biomes - mountains, leafy hills, grasslands, and deserts - that are generated and blended together with numerous noise functions. In the underworld spans a network of cave systems. I was in charge of rendering and texturing the terrain using fragment and vertex shaders in the OpenGL library.

Day-Night Cycle

Mini Minecraft features a day-night cycle with transitions between times of day. I created the day night cycle by first creating a “skybox”, which in fact is a graphical plane rendered at a depth buffer lower than the terrain, and then adding a sun that changes the color of the pixels surrounding it. The position of the sun is updated as the day passes. A mixture of a noise function and a linear interpolation between colors is used to blend the colors present during any time of day.

Weather Cycle and Post-Processing

Mini Minecraft has a weather system that rains or snows depending on the player’s location and altitude. It also has post-process shaders for when the player is submerged in a transparent liquid. The change in skybox as well as the animation of the water and lava was done by me. The weather particles were created by spawning several transparent “billboards” in front of the player, then moving a texture across them whenever a weather phenomenon was happening. The water and lava effect was created through a Worley noise function that displaced each pixel on the screen based on time.

Check out the promotional video for Mini Minecraft or go to the Github through the Download link below!

Previous
Previous

VR Shooting Gallery

Next
Next

Metroidvania