GridVids
Sign in with YouTube

I made an EVEN BETTER Minecraft

SimonDev Mar 1, 2021 12:00
Create an account to hide videos, mark them watched, or save them to Don't Miss.
Don't Miss
Create an account to hide videos, mark them watched, or save them to Don't Miss.
Mark watched
Create an account to hide videos, mark them watched, or save them to Don't Miss.
Hide
Open in popup Open on YouTube
Share video

Share video

Copy the GridVids link or iframe code.

Video link
Iframe code
Iframe content

I tried to make Minecraft even better than I did before. 🛒 Recommended books (on Amazon): https://www.amazon.com/hz/wishlist/ls/1IMV0IR3QIZMQ?type=wishlist&tag=simondev01-20&sort=priority&viewType=grid ❤️ Support me on Patreon: https://www.patreon.com/simondevyt 🌍 My Gamedev Courses: https://simondev.teachable.com/ Disclaimer: Commission is earned from qualifying purchases on Amazon links. Follow me on: Twitter: https://twitter.com/iced_coffee_dev Instagram: https://www.instagram.com/beer_and_code/ Github: https://github.com/simondevyoutube/ Here I tried to code Minecraft using JavaScript and Three.js, completely from scratch, to try to fix the problems from the previous implementation. The goal was to try to improve on the previous version, was was mostly a start project to learn JavaScript and three.js. In the previous implementation, I used instancing to get around draw call limits and complexity around merging geometry, but this time I just bit the bullet and did the actual work. I move from there by integrating chunking in the world, followed by multithreading using Chrome's module workers extension, which dramatically improved performance. I investigated various ways to texture, wrote custom shaders to atlas all the textures together in a simple way using texture arrays. From there I moved on to using perlin noise for a full, infinite procedural world. Standard perlin noise works great for basic rolling hills, but you need to do operations on it like looping for fractal brownian motion in order to get that detail and different environments. That gives us a procedural world, from there we covered how to procedurally create foliage using signed distance functions and l-systems, which was covered in a previous tutorial. Finally, we went ahead and used layers of perlin noise to create biomes and different areas in the world, as you see in the video. Source will is available on github, or will be when I clean it up. If it's not there by the time this is posted, look for an announcement from me either on my community posts or twitter for when the source is available. Various resources: Music: www.bensound.com Inigo Quilez's site is THE reference for stuff like SDF's: https://www.iquilezles.org/www/articles/distfunctions/distfunctions.htm Demo was a horribly modified version of: https://www.shadertoy.com/view/lt3BW2 Model from: https://sketchfab.com/3d-models/minecraft-diamond-pickaxe-b1bc7d6a3db246d5b47449ae2b2706fd AO: https://0fps.net/2013/07/03/ambient-occlusion-for-minecraft-like-worlds/
Science & Technology
#simondev #game development #programming tutorial #minecraft implementation #three.js #webgl #coding minecraft #i made minecraft