This is our final project for COS426. We created a simplified version of the popular game Minecraft, entirely using ThreeJS, employing many of the features that Minecraft is known for. We implemented procedural generation of terrain using Perlin noise, dynamic loading, and unloading of chunks to improve performance, mesh instancing to decrease render calls, physics for player and block interactions, and the ability to add and remove blocks of various textures. We also created a simple UI that allows the player to cycle through the materials they have available and a crosshair for placing blocks.
Check out the live demo on our GitHub pages website: Minecraft at Home!
Use WASD to move around the environment and space to jump, left click to break blocks, right click to place blocks, and the scroll wheel for the hotbar or the numbers 0-9.
Video: Youtube Video
Write-up: Write-up PDF