Minecraft From The Start

  • Java
  • OpenGL
  • Rendering
  • Git

Repository

If you want to check out the code for this project click this link.


Introduction

This was a class project in which we were required to build a simpler version of Minecraft from scratch using the OpenGL library in Java. As you can see in the video below, the group and I implemented terrain generation, block rendering, gameplay mechanics, and lights.



Description

This project was completed in a group of three people. We each tackled the same problems so we could each learn about the OpenGl library and Java and how to render a 3D game using this library. My main contributions for this project were the gameplay mechanics and terrain generation.

The "gravity" implementation described in the video is done by creating a downward acceleration to mimic the gravity we experience on Earth. By keeping this downward acceleration constant, we were able to achieve the correct "feeling" of jumping by simply changing the velocity of the player when it presses the space key to an upward velocity. This way, the play experiences faster movement when leaving the ground and returning to the ground at the end of the jump.

The terrain generation was the most complicated aspect of this project. We decided to use the Perlin Noise as our terrain generation function to create smoother inclines and declines in terrain. While we diced to replicate the Plains biome on the oringal game, meaning that most elevations and declines were smooth, a change in our Perlin Noise function would create different terrain generations that could be used to create different biomes.